n8n-editor-ui
Version:
Workflow Editor UI for n8n
2 lines • 31.2 kB
JavaScript
!function(){try{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{}).SENTRY_RELEASE={id:"n8n@2.16.1"}}catch(e){}}(),System.register(["./chunk-legacy-Dz3fjYb5.js","./vue.runtime.esm-bundler-legacy-BW6xDdqj.js","./core-legacy-VD8c7QJ-.js","./src-legacy-B67uuxhB.js","./_plugin-vue_export-helper-legacy-DFdC_I5Z.js","./users.store-legacy-azRUgFdP.js","./constants-legacy-2_ytuuS3.js","./useRootStore-legacy-CC08el-l.js","./useClipboard-legacy-DnQV92ly.js","./TimeAgo-legacy-IE1NFqmw.js","./router-legacy-lf4zTKLR.js","./mcp.constants-legacy-Dn0Xumlo.js","./useMcp-legacy-DF8FdS2L.js","./mcp.store-legacy-CshstdbT.js","./WorkflowLocation-legacy-8nKpIyAa.js"],(function(e,t){var a,n,o,l,s,i,r,c,p,d,u,_,m,g,b,v,f,y,h,w,x,k,T,j,$,C,A,M,z,P,E,S,U,D,O,B,K,W,R,V,L,I,F,N,J,q,H,Q,X,Y,G,Z,ee,te,ae,ne,oe,le,se,ie,re,ce,pe,de,ue,_e,me,ge,be,ve,fe,ye,he,we,xe,ke,Te,je,$e,Ce,Ae,Me,ze,Pe,Ee,Se,Ue,De,Oe,Be;return{setters:[function(e){e.o},function(e){a=e.$,n=e.A,o=e.C,l=e.E,s=e.Ft,i=e.N,r=e.O,c=e.S,p=e.Sn,d=e.T,u=e.Wt,_=e.X,m=e._n,g=e.bt,b=e.gt,v=e.it,f=e.j,y=e.p,h=e.w,w=e.yt},function(e){x=e.at},function(e){k=e.At,T=e.Di,j=e.E,$=e.F,C=e.G,A=e.It,M=e.J,z=e.Ji,P=e.N,E=e.Pi,S=e.Qi,U=e.R,D=e.U,O=e.Xi,B=e.Zi,K=e._,W=e.ji,R=e.jt,V=e.tt},function(e){L=e.t},function(e){I=e.Pn,F=e.Rt,N=e.fr,J=e.r,q=e.t},function(e){H=e.As,Q=e.Bo,X=e.Qo},function(e){Y=e.t},function(e){G=e.t},function(e){Z=e.t},function(e){ee=e.t},function(e){te=e.i,ae=e.n,ne=e.r},function(e){oe=e.t},function(e){le=e.t},function(e){se=e.t}],execute:function(){(ie=document.createElement("style")).textContent="._container_pmfp4_125{gap:var(--spacing--lg);flex-direction:column;display:flex}._container_pmfp4_125 button{margin-bottom:var(--spacing--2xs)}._docs-link_pmfp4_134{text-decoration:underline}._main-toggle-container_6ezoc_125{align-items:center;gap:var(--spacing--2xs);display:flex}._main-toggle_6ezoc_125{flex-shrink:0;justify-content:flex-end;align-items:center;display:flex}._container_heprf_125{gap:var(--spacing--4xs);flex-direction:column;display:flex}._label-wrapper_heprf_131{align-items:center;gap:var(--spacing--4xs);display:flex}._label-wrapper_heprf_131 ._info-tip_heprf_136{visibility:hidden;cursor:pointer;padding-top:1px}._label-wrapper_heprf_131 ._info-tip_heprf_136 .n8n-info-tip{display:flex}._label-wrapper_heprf_131:hover ._info-tip_heprf_136 span{visibility:visible}._label_heprf_131{font-size:var(--font-size--sm);color:var(--color--text--shade-1)}._parameter-value_heprf_153{font-size:var(--font-size--2xs);color:var(--color--text);justify-content:space-between;align-items:stretch;gap:var(--spacing--2xs);border:var(--border);border-radius:var(--radius);display:flex;overflow:hidden}._parameter-value--loading_heprf_164{gap:0}._parameter-value_heprf_153 ._input-wrapper_heprf_167{flex:1;align-items:center;min-width:0;display:flex}._parameter-value_heprf_153 ._input-wrapper_heprf_167 .n8n-input__wrapper{--input--border--shadow:0 0 0 0 transparent;--input--border--shadow--hover:0 0 0 0 transparent;--input--border--shadow--focus:0 0 0 0 transparent}._parameter-value_heprf_153 ._input-wrapper_heprf_167 .n8n-input__wrapper:focus-within{outline:none}._parameter-value_heprf_153 .n8n-input{flex:1;align-items:center}._parameter-value_heprf_153 .n8n-input input{font-family:monospace;font-size:var(--font-size--2xs);color:var(--color--text);min-height:var(--spacing--md);height:var(--spacing--md);border:none}._parameter-value_heprf_153 ._parameter-skeleton_heprf_193 div{height:calc(var(--spacing--xl) - 2 * var(--border-width));border-radius:0 0 var(--radius) var(--radius);margin:0}._parameter-value_heprf_153 button{box-shadow:none;border:none;border-radius:0}._parameter-value_heprf_153 button:hover{border-color:inherit;box-shadow:none}._parameter-value_heprf_153 button:active{box-shadow:none}._parameter-value_heprf_153 button+button{border-left:var(--border)}@media screen and (max-width:820px){._parameter-value_heprf_153{word-wrap:break-word;margin-top:var(--spacing--2xs)}}._copy-button-wrapper_heprf_220{border-left:var(--border);align-items:center;display:flex}._copy-button_heprf_220{border:none;border-radius:0}._container_x8qjm_125,._container_1jg97_125{flex-direction:column;display:flex}._loading-container_1jg97_130{gap:var(--spacing--xs);flex-direction:column;display:flex}._url-skeleton_1jg97_136 div{width:100%;min-height:40px}._code-skeleton_1jg97_141 div{width:100%;min-height:350px}._parameters-container_1jg97_146{padding-top:var(--spacing--sm);flex-direction:column;display:flex}._json-container_1jg97_152{margin-top:var(--spacing--sm);flex-grow:1;position:relative}._json-container_1jg97_152 ._label_1jg97_157{font-size:var(--font-size--sm);color:var(--color--text--shade-1);margin-bottom:var(--spacing--4xs);display:inline-flex}._json-container_1jg97_152 .n8n-markdown{width:100%}._json-container_1jg97_152 code{font-size:var(--font-size--2xs);tab-size:1;border:var(--border);border-radius:var(--radius);color:var(--color--text)!important;padding:var(--spacing--2xs)!important;background:0 0!important}._json-container_1jg97_152:hover ._copy-json-button_1jg97_175{display:flex}._copy-json-button_1jg97_175{top:var(--spacing--lg);right:var(--spacing--3xs);border:none;outline:none;display:none;position:absolute}._copy-json-button_1jg97_175:hover{background:0 0;border:none;outline:none}._popper_7glv7_125{margin-right:var(--spacing--sm)}._popper-content_7glv7_129{padding:var(--spacing--xs);gap:var(--spacing--sm);flex-direction:column;display:flex}._container_gl7pe_125{gap:var(--spacing--md);padding-top:var(--spacing--5xs);align-items:baseline;display:flex}._container_gl7pe_125 a{font-size:var(--font-size--2xs);margin-right:calc(-1 * var(--spacing--2xs))}._workflow-table-container_12b5m_125 .table-pagination{display:none}._header_12b5m_129{justify-content:space-between;align-items:center;display:flex}._workflow-table_12b5m_125 tr:last-child{border-bottom:none!important}._empty-state_12b5m_139{justify-content:center;align-items:center;gap:var(--spacing--sm);padding:var(--spacing--lg) 0;flex-direction:column;min-height:250px;display:flex}._workflow-cell_12b5m_149{padding:var(--spacing--2xs) 0;min-width:0;display:flex;overflow:hidden}._location-cell_12b5m_156{padding:var(--spacing--2xs) 0}._description-cell_12b5m_160{-webkit-line-clamp:3;line-clamp:3;color:var(--color--text);padding:var(--spacing--2xs) 0;cursor:pointer;-webkit-box-orient:vertical;display:-webkit-inline-box;overflow:hidden}._description-cell_12b5m_160:hover span{color:var(--color--text--shade-1)}._description-cell_12b5m_160 span{align-items:center;display:flex}._description-popper_12b5m_178{min-width:300px}._table-link_12b5m_182{color:var(--color--text)}._truncate_12b5m_186{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}._header_2opcl_125{justify-content:space-between;align-items:center;display:flex}._empty-state_2opcl_131{justify-content:center;align-items:center;gap:var(--spacing--sm);padding:var(--spacing--lg) 0;flex-direction:column;min-height:250px;display:flex}._container_np9hn_125{flex-direction:column;display:flex}._main-header_np9hn_130{margin-bottom:var(--spacing--xl);justify-content:space-between;display:flex}@media (max-width:820px){._main-header_np9hn_130{align-items:flex-start;gap:var(--spacing--2xs);flex-direction:column}}._headings_np9hn_143{flex-direction:column;min-height:60px;display:flex}._heading-row_np9hn_149{align-items:center;gap:var(--spacing--2xs);margin-bottom:var(--spacing--5xs);display:flex}._tabs-header_np9hn_156{justify-content:space-between;align-items:center;display:flex}._actions_np9hn_162{gap:var(--spacing--2xs);display:flex}\n/*$vite$:1*/",document.head.appendChild(ie);try{t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},(Ke=(new t.Error).stack)&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[Ke]="0ee666c5-eec0-45ed-bc5f-bc22e8f5e054",t._sentryDebugIdIdentifier="sentry-dbid-0ee666c5-eec0-45ed-bc5f-bc22e8f5e054")}catch(t){}var t,Ke;re={key:0},ce={key:1},pe=["href"],de=i({__name:"MCPEmptyState",props:{disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},emits:["turnOnMcp"],setup(e,{emit:t}){const s=e,i=t,r=x();return(e,t)=>(a(),l("div",{class:m(e.$style.container),"data-test-id":"mcp-empty-state-container"},[f(u(E),{icon:{type:"icon",value:"mcp"},heading:u(r).baseText("settings.mcp.actionBox.heading"),description:u(r).baseText("settings.mcp.description"),"button-text":u(r).baseText("settings.mcp.actionBox.button.label"),"button-disabled":s.disabled||s.loading,"button-variant":"solid","data-test-id":"enable-mcp-access-button","onClick:button":t[0]||(t[0]=e=>i("turnOnMcp"))},{disabledButtonTooltip:w((()=>[s.loading?(a(),l("span",re,p(u(r).baseText("generic.loading"))+"...",1)):s.disabled?(a(),l("span",ce,p(u(r).baseText("settings.mcp.toggle.disabled.tooltip")),1)):d("",!0)])),additionalContent:w((()=>[f(u(O),{color:"text-light",size:"small"},{default:w((()=>[n(p(u(r).baseText("settings.mcp.emptyState.docs.part1"))+" ",1),o("a",{href:u(ne),class:m(e.$style["docs-link"]),target:"_blank",rel:"noopener noreferrer"},p(u(r).baseText("generic.learnMore").toLowerCase()),11,pe)])),_:1})])),_:1},8,["heading","description","button-text","button-disabled"])],2))}}),ue=L(de,[["__cssModules",{$style:{container:"_container_pmfp4_125","docs-link":"_docs-link_pmfp4_134"}}]]),_e=i({__name:"McpAccessToggle",props:{modelValue:{type:Boolean},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},emits:["disableMcpAccess"],setup(e,{emit:t}){const s=e,i=t,r=x(),c=()=>{i("disableMcpAccess")};return(t,i)=>(a(),l("div",{class:m(t.$style["main-toggle-container"])},[o("div",{class:m(t.$style["main-toggle-info"])},[f(u(O),{bold:!0,color:e.modelValue?"success":"text-light",size:"small"},{default:w((()=>[n(p(e.modelValue?u(r).baseText("settings.mcp.header.toggle.enabled"):u(r).baseText("settings.mcp.header.toggle.disabled")),1)])),_:1},8,["color"])],2),o("div",{class:m(t.$style["main-toggle"]),"data-test-id":"mcp-toggle-container"},[f(u(T),{content:u(r).baseText("settings.mcp.toggle.disabled.tooltip"),disabled:!s.disabled,placement:"top"},{default:w((()=>[f(u(A),{size:"large","data-test-id":"mcp-access-toggle","model-value":s.modelValue,disabled:s.disabled,loading:s.loading,"onUpdate:modelValue":c},null,8,["model-value","disabled","loading"])])),_:1},8,["content","disabled"])],2)],2))}}),me=L(_e,[["__cssModules",{$style:{"main-toggle-container":"_main-toggle-container_6ezoc_125","main-toggle":"_main-toggle_6ezoc_125"}}]]),ge=["for"],be=["id"],ve=i({__name:"ConnectionParameter",props:{id:{},label:{},value:{},valueLoading:{type:Boolean,default:!1},infoTip:{default:void 0},allowCopy:{type:Boolean,default:!0}},emits:["copy"],setup(e,{emit:t}){const{copy:s,copied:i,isSupported:r}=G(),c=x(),_=e,g=t;return(e,t)=>(a(),l("div",{class:m(e.$style.container)},[o("div",{class:m(e.$style["label-wrapper"])},[o("label",{class:m(e.$style.label),for:`connection-parameter-${_.id}`},p(_.label),11,ge),_.infoTip?(a(),l("div",{key:0,class:m(e.$style["info-tip"])},[f(u(M),{type:"tooltip",size:"small",enterable:!1},{default:w((()=>[n(p(_.infoTip),1)])),_:1})],2)):d("",!0)],2),o("div",{id:`connection-parameter-${_.id}`,class:m({[e.$style["parameter-value"]]:!0,[e.$style["parameter-value--loading"]]:_.valueLoading}),"data-test-id":"connection-parameter-value"},[o("div",{class:m(e.$style["input-wrapper"])},[_.valueLoading?(a(),h(u(R),{key:0,loading:_.valueLoading,variant:"h1",class:m(e.$style["parameter-skeleton"])},null,8,["loading","class"])):(a(),h(u(W),{key:1,modelValue:_.value,"onUpdate:modelValue":t[0]||(t[0]=e=>_.value=e),type:"text",readonly:!0},null,8,["modelValue"]))],2),o("div",{class:m(e.$style["copy-button-wrapper"])},[v(e.$slots,"customActions"),f(u(T),{disabled:!u(r),content:u(i)?u(c).baseText("generic.copied"):u(c).baseText("generic.copy"),"show-after":u(100),placement:"bottom"},{default:w((()=>[_.allowCopy&&u(r)?(a(),h(u(B),{key:0,variant:"subtle",iconOnly:"",icon:u(i)?"check":"copy",class:m(e.$style["copy-button"]),disabled:_.valueLoading,onClick:t[1]||(t[1]=e=>(async e=>{await s(e),g("copy",e)})(_.value))},null,8,["icon","class","disabled"])):d("",!0)])),_:1},8,["disabled","content","show-after"])],2)],10,be)],2))}}),fe=L(ve,[["__cssModules",{$style:{container:"_container_heprf_125","label-wrapper":"_label-wrapper_heprf_131","info-tip":"_info-tip_heprf_136",label:"_label_heprf_131","parameter-value":"_parameter-value_heprf_153","parameter-value--loading":"_parameter-value--loading_heprf_164","input-wrapper":"_input-wrapper_heprf_167","parameter-skeleton":"_parameter-skeleton_heprf_193","copy-button-wrapper":"_copy-button-wrapper_heprf_220","copy-button":"_copy-button_heprf_220"}}]]),ye=L(i({__name:"MCPOAuthPopoverTab",props:{serverUrl:{}},emits:["copy"],setup(e,{emit:t}){const n=e,o=t,s=x(),i=e=>{o("copy",e)};return(e,t)=>(a(),l("div",{class:m(e.$style.container),"data-test-id":"mcp-oauth-popover-tab"},[f(fe,{id:"oauth-server-url",label:u(s).baseText("settings.mcp.connectPopover.serverUrl"),value:n.serverUrl,onCopy:i},null,8,["label","value"])],2))}}),[["__cssModules",{$style:{container:"_container_x8qjm_125"}}]]),he=L(i({__name:"MCPAccessTokenPopoverTab",props:{serverUrl:{}},emits:["copy"],setup(e,{emit:t}){const i=e,r=t,g=x(),b=I(),v=le(),y=s(!0),k=s(!1),j=c((()=>v.currentUserMCPKey)),{copy:$,copied:A,isSupported:M}=G(),z=c((()=>`\n{\n "mcpServers": {\n "n8n-mcp": {\n "type": "http",\n "url": "${i.serverUrl}",\n "headers": {\n "Authorization": "Bearer ${S.value}"\n }\n }\n }\n}\n`)),P=c((()=>j.value?.apiKey?.includes("******")??!1)),E=c((()=>`\`\`\`json${z.value}\`\`\``)),S=c((()=>k.value?`<${g.baseText("generic.loading")}...>`:P.value?"<YOUR_ACCESS_TOKEN_HERE>":j.value?.apiKey)),D=async()=>{try{k.value=!0,await v.generateNewApiKey()}catch(e){b.showError(e,g.baseText("settings.mcp.error.rotating.apiKey"))}finally{setTimeout((()=>{k.value=!1}),200)}},O=async()=>{await $(z.value),r("copy","mcpJson",z.value)},K=e=>{r("copy","serverUrl",e)},W=()=>{j.value?.apiKey&&r("copy","accessToken",j.value.apiKey)};return _((async()=>{j.value?y.value=!1:await(async()=>{try{y.value=!0,await v.getOrCreateApiKey()}catch(e){b.showError(e,g.baseText("settings.mcp.error.fetching.apiKey"))}finally{setTimeout((()=>{y.value=!1}),200)}})()})),(e,t)=>(a(),l("div",{class:m(e.$style.container),"data-test-id":"mcp-access-token-popover-tab"},[f(fe,{id:"oauth-server-url",label:u(g).baseText("settings.mcp.connectPopover.serverUrl"),value:i.serverUrl,onCopy:K},null,8,["label","value"]),y.value?(a(),l("div",{key:0,class:m(e.$style["loading-container"])},[f(u(R),{loading:y.value,variant:"h1",class:m(e.$style["url-skeleton"])},null,8,["loading","class"]),f(u(R),{loading:y.value,variant:"button",class:m(e.$style["code-skeleton"])},null,8,["loading","class"])],2)):j.value?.apiKey?(a(),l("div",{key:1,class:m(e.$style["parameters-container"])},[f(fe,{id:"access-token",value:j.value.apiKey,"value-loading":k.value,label:u(g).baseText("settings.mcp.connectPopover.tab.accessToken"),"info-tip":u(g).baseText("settings.mcp.instructions.apiKey.tip"),"allow-copy":!P.value,onCopy:W},{customActions:w((()=>[f(u(T),{content:u(g).baseText("settings.mcp.instructions.rotateKey.tooltip"),"show-after":u(100)},{default:w((()=>[f(u(B),{variant:"subtle",iconOnly:"",icon:"refresh-cw",disabled:k.value,onClick:D},null,8,["disabled"])])),_:1},8,["content","show-after"])])),_:1},8,["value","value-loading","label","info-tip","allow-copy"]),P.value?d("",!0):(a(),h(u(U),{key:0},{default:w((()=>[n(p(u(g).baseText("settings.mcp.access.token.notice")),1)])),_:1})),o("div",{class:m(e.$style["json-container"]),"data-test-id":"mcp-access-token-json"},[o("label",{class:m(e.$style.label),for:"mcp-json"},p(u(g).baseText("settings.mcp.connectPopover.jsonConfig")),3),f(u(C),{id:"mcp-json",content:E.value},null,8,["content"]),f(u(T),{disabled:!u(M),content:u(A)?u(g).baseText("generic.copied"):u(g).baseText("generic.copy"),"show-after":u(100)},{default:w((()=>[!u(M)||y.value||k.value?d("",!0):(a(),h(u(B),{key:0,variant:"subtle",iconOnly:"",icon:u(A)?"check":"copy",class:m(e.$style["copy-json-button"]),"data-test-id":"mcp-json-copy-button",onClick:O},null,8,["icon","class"]))])),_:1},8,["disabled","content","show-after"])],2)],2)):d("",!0)],2))}}),[["__cssModules",{$style:{container:"_container_1jg97_125","loading-container":"_loading-container_1jg97_130","url-skeleton":"_url-skeleton_1jg97_136","code-skeleton":"_code-skeleton_1jg97_141","parameters-container":"_parameters-container_1jg97_146","json-container":"_json-container_1jg97_152",label:"_label_1jg97_157","copy-json-button":"_copy-json-button_1jg97_175"}}]]),we=i({__name:"McpConnectPopover",props:{disabled:{type:Boolean}},setup(e){const t=x(),i=N(),r=Y(),c=le(),_=e,g="accessToken",v="oauth",y=s([{value:v,label:t.baseText("settings.mcp.connectPopover.tab.oauth")},{value:g,label:t.baseText("settings.mcp.connectPopover.tab.accessToken")}]),k=s(`${r.urlBaseEditor}${te}`),T=s(y.value[0].value),j=e=>{e?c.openConnectPopover():(c.closeConnectPopover(),c.resetCurrentUserMCPKey())},C=e=>{T.value=e},A=e=>{M({item:{serverUrl:"server-url",accessToken:"access-token",mcpJson:"mcp-json"}[e],source:"token-tab"})},M=e=>{i.track("User copied MCP connection parameter",{parameter:e.item,source:e.source})};return b((()=>_.disabled),(e=>{e||c.openConnectPopover()})),(s,i)=>(a(),l("div",null,[f(u($),{id:"mcp-connect-popover",open:u(c).connectPopoverOpen,"content-class":s.$style.popper,"show-arrow":!1,width:`${u(460)}px`,"onUpdate:open":j},{trigger:w((()=>[f(u(B),{variant:"subtle","data-test-id":"mcp-connect-popover-trigger-button",disabled:e.disabled},{default:w((()=>[n(p(u(t).baseText("settings.mcp.connectPopover.triggerLabel")),1)])),_:1},8,["disabled"])])),content:w((()=>[o("div",{class:m(s.$style["popper-content"]),"data-test-id":"mcp-connect-popover-content"},[o("header",null,[f(u(P),{"data-test-id":"mcp-connect-popover-tabs","model-value":T.value,options:y.value,"onUpdate:modelValue":C},null,8,["model-value","options"])]),o("main",null,[T.value===v?(a(),h(ye,{key:0,"server-url":k.value,onCopy:i[0]||(i[0]=e=>M({item:"server-url",source:"oauth-tab"}))},null,8,["server-url"])):T.value===g?(a(),h(he,{key:1,"server-url":k.value,onCopy:A},null,8,["server-url"])):d("",!0)])],2)])),_:1},8,["open","content-class","width"])]))}}),xe=L(we,[["__cssModules",{$style:{popper:"_popper_7glv7_125","popper-content":"_popper-content_7glv7_129"}}]]),ke=i({__name:"MCPHeaderActions",props:{toggleDisabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},accessEnabled:{type:Boolean}},emits:["disableMcpAccess"],setup(e,{emit:t}){const n=e,o=t;return(t,s)=>(a(),l("div",{class:m(t.$style.container),"data-test-id":"mcp-header-actions"},[f(me,{"model-value":e.accessEnabled,disabled:n.toggleDisabled,loading:n.loading,class:m(t.$style["mcp-access-toggle"]),onDisableMcpAccess:s[0]||(s[0]=e=>o("disableMcpAccess"))},null,8,["model-value","disabled","loading","class"]),f(xe,{disabled:!e.accessEnabled},null,8,["disabled"])],2))}}),Te=L(ke,[["__cssModules",{$style:{container:"_container_gl7pe_125"}}]]),je={key:0},$e={key:1,class:"mt-s mb-xl"},Ce=["onClick"],Ae={key:0},Me={key:1},ze=i({__name:"WorkflowsTable",props:{workflows:{},loading:{type:Boolean}},emits:["removeMcpAccess","connectWorkflows","updateDescription"],setup(e,{emit:t}){const i=e,c=t,d=x(),_=s([{title:d.baseText("settings.mcp.workflows.table.column.name"),key:"workflow",width:150,disableSort:!0,value(){}},{title:d.baseText("settings.mcp.workflows.table.column.location"),key:"location",width:200,disableSort:!0,value(){}},{title:d.baseText("generic.description"),key:"description",width:350,disableSort:!0,value(){}},{title:"",key:"actions",align:"end",width:50,disableSort:!0,value(){}}]),g=e=>{const t=Q(e.scopes);return[{label:d.baseText("settings.mcp.workflows.table.action.removeMCPAccess"),value:"removeFromMCP",disabled:!t.workflow.update},{label:d.baseText("settings.mcp.workflows.table.action.updateDescription"),value:"updateDescription",disabled:!t.workflow.update}]},b=()=>{c("connectWorkflows")};return(e,t)=>(a(),l("div",{class:m(e.$style["workflow-table-container"])},[i.loading?(a(),l("div",je,[f(u(R),{loading:i.loading,variant:"h1",class:"mb-l"},null,8,["loading"]),f(u(R),{loading:i.loading,variant:"p",rows:5,"shrink-last":!1},null,8,["loading"])])):(a(),l("div",$e,[f(u(K),{class:m(e.$style["workflow-table"]),"data-test-id":"mcp-workflow-table",headers:_.value,items:i.workflows,"items-length":i.workflows.length},r({"item.workflow":w((({item:t})=>[o("div",{class:m(e.$style["workflow-cell"]),"data-test-id":"mcp-workflow-cell"},[f(u(V),{"data-test-id":"mcp-workflow-name-link","new-window":!0,to:u(ee).resolve({name:u(X).WORKFLOW,params:{name:t.id}}).fullPath,theme:"text",class:m([e.$style["table-link"],e.$style.truncate])},{default:w((()=>[f(u(O),{class:m(e.$style.truncate),"data-test-id":"mcp-workflow-name"},{default:w((()=>[n(p(t.name),1)])),_:2},1032,["class"])])),_:2},1032,["to","class"])],2)])),"item.location":w((({item:t})=>[o("div",{class:m(e.$style["location-cell"]),"data-test-id":"mcp-workflow-location-cell"},[f(se,{"workflow-id":t.id,"home-project":t.homeProject,"parent-folder":t.parentFolder,"as-links":!0},null,8,["workflow-id","home-project","parent-folder"])],2)])),"item.description":w((({item:t})=>[f(u(T),{content:t.description||u(d).baseText("settings.mcp.workflows.table.column.description.emptyTooltip"),"show-after":u(100),"popper-class":e.$style["description-popper"]},{default:w((()=>[o("div",{"data-test-id":"mcp-workflow-description-cell",class:m(e.$style["description-cell"]),onClick:e=>c("updateDescription",t)},[t.description?(a(),l("span",Ae,[f(u(O),{"data-test-id":"mcp-workflow-description"},{default:w((()=>[n(p(t.description),1)])),_:2},1024)])):(a(),l("span",Me,[f(u(S),{icon:"triangle-alert",size:14,color:"warning",class:"mr-2xs"}),f(u(O),{"data-test-id":"mcp-workflow-description-empty"},{default:w((()=>[n(p(u(d).baseText("settings.mcp.workflows.table.column.description.emptyContent")),1)])),_:1})]))],10,Ce)])),_:2},1032,["content","show-after","popper-class"])])),"item.actions":w((({item:t})=>[f(u(k),{class:m(e.$style["action-toggle"]),"data-test-id":"mcp-workflow-action-toggle",placement:"bottom",actions:g(t),theme:"dark",onAction:e=>((e,t)=>{switch(e){case"removeFromMCP":c("removeMcpAccess",t);break;case"updateDescription":c("updateDescription",t)}})(e,t)},null,8,["class","actions","onAction"])])),_:2},[0===i.workflows.length?{name:"cover",fn:w((()=>[o("div",{class:m(e.$style["empty-state"])},[f(u(O),{"data-test-id":"mcp-workflow-table-empty-state",size:"large",color:"text-base"},{default:w((()=>[n(p(u(d).baseText("settings.mcp.workflows.table.empty.title")),1)])),_:1}),f(u(O),{"data-test-id":"mcp-workflow-table-empty-state-description",size:"small",color:"text-base"},{default:w((()=>[n(p(u(d).baseText("settings.mcp.workflows.table.empty.description")),1)])),_:1}),f(u(B),{variant:"solid","data-test-id":"mcp-workflow-table-empty-state-button",label:u(d).baseText("settings.mcp.connectWorkflows"),onClick:b},null,8,["label"])],2)])),key:"0"}:void 0]),1032,["class","headers","items","items-length"])]))],2))}}),Pe=L(ze,[["__cssModules",{$style:{"workflow-table-container":"_workflow-table-container_12b5m_125",header:"_header_12b5m_129","workflow-table":"_workflow-table_12b5m_125","empty-state":"_empty-state_12b5m_139","workflow-cell":"_workflow-cell_12b5m_149","location-cell":"_location-cell_12b5m_156","description-cell":"_description-cell_12b5m_160","description-popper":"_description-popper_12b5m_178","table-link":"_table-link_12b5m_182",truncate:"_truncate_12b5m_186"}}]]),Ee={"data-test-id":"oauth-clients-table"},Se={key:0},Ue={key:1,class:"mt-s mb-xl"},De=i({__name:"OAuthClientsTable",props:{clients:{},loading:{type:Boolean}},emits:["revokeClient"],setup(e,{emit:t}){const i=x(),c=le(),d=e,_=t,g=s([{title:i.baseText("settings.mcp.oAuthClients.table.clientName"),key:"name",width:250,disableSort:!0,value(){}},{title:i.baseText("settings.mcp.oAuthClients.table.connectedAt"),key:"createdAt",width:250,disableSort:!0,value(){}},{title:"",key:"actions",align:"end",width:50,disableSort:!0,value(){}}]),b=s([{label:i.baseText("settings.mcp.oAuthClients.table.action.revokeAccess"),value:"revokeClient"}]);return(e,t)=>(a(),l("div",Ee,[d.loading?(a(),l("div",Se,[f(u(R),{loading:d.loading,variant:"h1",class:"mb-l"},null,8,["loading"]),f(u(R),{loading:d.loading,variant:"p",rows:5,"shrink-last":!1},null,8,["loading"])])):(a(),l("div",Ue,[f(u(K),{"data-test-id":"oauth-clients-data-table",headers:g.value,items:d.clients,"items-length":d.clients.length},r({"item.name":w((({item:e})=>[f(u(O),{"data-test-id":"mcp-client-name",color:"text-base"},{default:w((()=>[n(p(e.name),1)])),_:2},1024)])),"item.createdAt":w((({item:e})=>[f(u(O),{"data-test-id":"mcp-client-created-at",color:"text-base"},{default:w((()=>[f(Z,{date:String(e.createdAt)},null,8,["date"])])),_:2},1024)])),"item.actions":w((({item:e})=>[f(u(k),{"data-test-id":"mcp-oauth-client-action-toggle",placement:"bottom",actions:b.value,theme:"dark",onAction:t=>((e,t)=>{"revokeClient"===e&&_("revokeClient",t)})(t,e)},null,8,["actions","onAction"])])),_:2},[0===d.clients.length?{name:"cover",fn:w((()=>[o("div",{class:m(e.$style["empty-state"])},[f(u(O),{"data-test-id":"mcp-workflow-table-empty-state",size:"large",color:"text-base"},{default:w((()=>[n(p(u(i).baseText("settings.mcp.oauth.table.empty.title")),1)])),_:1}),f(u(O),{"data-test-id":"mcp-workflow-table-empty-state-description",size:"small",color:"text-base"},{default:w((()=>[n(p(u(i).baseText("settings.mcp.oauth.table.empty.description")),1)])),_:1}),f(u(B),{variant:"solid","data-test-id":"mcp-oauth-create-client-button",onClick:t[0]||(t[0]=e=>u(c).openConnectPopover())},{default:w((()=>[n(p(u(i).baseText("settings.mcp.oauth.table.empty.button")),1)])),_:1})],2)])),key:"0"}:void 0]),1032,["headers","items","items-length"])]))]))}}),Oe=L(De,[["__cssModules",{$style:{header:"_header_2opcl_125","empty-state":"_empty-state_2opcl_131"}}]]),Be={"data-test-id":"mcp-settings-description"},e("default",L(i({__name:"SettingsMCPView",setup(e){const t=x(),i=I(),r=F(),b=oe(),v=N(),k=le(),$=q(),C=J(),A=s(!1),M=s("workflows"),P=s([{label:t.baseText("settings.mcp.tabs.workflows"),value:"workflows"},{label:t.baseText("settings.mcp.tabs.oauth"),value:"oauth"}]),E=s(!1),S=s([]),U=s(!1),K=s([]),W=c((()=>$.isInstanceOwner)),R=c((()=>$.isAdmin)),L=c((()=>W.value||R.value)),Q=c((()=>"workflows"===M.value&&S.value.length>0)),X=async e=>{M.value=e,"workflows"===e&&0===S.value.length?await te():"oauth"===e&&0===K.value.length&&(await ie(),v.track("User clicked connected clients tab"))},Y=async e=>{try{A.value=!0,await k.setMcpAccessEnabled(e)?(await te(),await ie()):E.value=!1,b.trackUserToggledMcpAccess(e)}catch(a){i.showError(a,t.baseText("settings.mcp.toggle.error"))}finally{A.value=!1,E.value=!1}},G=async(e,a)=>{try{await k.toggleWorkflowMcpAccess(e,a),a?await te():S.value=S.value.filter((t=>t.id!==e))}catch(n){throw i.showError(n,t.baseText("workflowSettings.toggleMCP.error.title")),n}},Z=e=>{C.openModalWithData({name:H,data:{workflowId:e.id,workflowDescription:e.description??"",onSave:t=>{const a=S.value.findIndex((t=>t.id===e.id));-1!==a&&(S.value[a]={...S.value[a],description:t??void 0})}}})},ee=async()=>{"workflows"===M.value?await te():"oauth"===M.value&&await ie()},te=async()=>{E.value=!0;try{S.value=await k.fetchWorkflowsAvailableForMCP(1,200)}catch(e){i.showError(e,t.baseText("workflows.list.error.fetching"))}finally{setTimeout((()=>{E.value=!1}),200)}},se=async()=>{await te()},ie=async()=>{try{U.value=!0,K.value=await k.getAllOAuthClients()}catch(e){i.showError(e,t.baseText("settings.mcp.error.fetching.oAuthClients"))}finally{setTimeout((()=>{U.value=!1}),200)}},re=async e=>{try{await k.removeOAuthClient(e.id),K.value=K.value.filter((t=>t.id!==e.id)),i.showMessage({type:"success",title:t.baseText("settings.mcp.oAuthClients.revoke.success.title"),message:t.baseText("settings.mcp.oAuthClients.revoke.success.message",{interpolate:{name:e.name}})})}catch(a){i.showError(a,t.baseText("settings.mcp.oAuthClients.revoke.error"))}},ce=()=>{C.openModalWithData({name:ae,data:{onEnableMcpAccess:async e=>{await G(e,!0)}}}),v.track("User clicked connect workflows from mcp settings")};return _((async()=>{r.set(t.baseText("settings.mcp")),k.mcpAccessEnabled&&await te()})),(e,s)=>(a(),l("div",{class:m(e.$style.container)},[o("header",{class:m(e.$style["main-header"]),"data-test-id":"mcp-settings-header"},[o("div",{class:m(e.$style.headings)},[o("div",{class:m(e.$style["heading-row"])},[f(u(z),{size:"2xlarge"},{default:w((()=>[n(p(u(t).baseText("settings.mcp")),1)])),_:1}),f(u(T),{content:u(t).baseText("settings.mcp.preview.tooltip")},{default:w((()=>[f(u(D),{size:"medium"})])),_:1},8,["content"])],2),g(o("div",Be,[f(u(O),{size:"small",color:"text-light"},{default:w((()=>[n(p(u(t).baseText("settings.mcp.description"))+". ",1)])),_:1}),f(u(V),{href:u(ne),target:"_blank",rel:"noopener noreferrer",size:"small","data-test-id":"mcp-docs-link"},{default:w((()=>[n(p(u(t).baseText("generic.learnMore")),1)])),_:1},8,["href"])],512),[[y,u(k).mcpAccessEnabled]])],2),f(Te,{"access-enabled":u(k).mcpAccessEnabled,"toggle-disabled":!L.value,loading:A.value,onDisableMcpAccess:s[0]||(s[0]=e=>Y(!u(k).mcpAccessEnabled))},null,8,["access-enabled","toggle-disabled","loading"])],2),u(k).mcpAccessEnabled?d("",!0):(a(),h(ue,{key:0,disabled:!L.value,loading:A.value,onTurnOnMcp:s[1]||(s[1]=e=>Y(!0))},null,8,["disabled","loading"])),u(k).mcpAccessEnabled?(a(),l("div",{key:1,class:m(e.$style.container),"data-test-id":"mcp-enabled-section"},[o("header",{class:m(e.$style["tabs-header"])},[f(u(j),{"model-value":M.value,options:P.value,"onUpdate:modelValue":X},null,8,["model-value","options"]),o("div",{class:m(e.$style.actions)},[Q.value?(a(),h(u(B),{key:0,variant:"solid",label:u(t).baseText("settings.mcp.connectWorkflows"),"data-test-id":"mcp-connect-workflows-header-button",size:"small",onClick:ce},null,8,["label"])):d("",!0),f(u(T),{content:u(t).baseText("settings.mcp.refresh.tooltip")},{default:w((()=>[f(u(B),{variant:"subtle",iconOnly:"","data-test-id":"mcp-workflows-refresh-button",size:"small",icon:"refresh-cw",onClick:ee})])),_:1},8,["content"])],2)],2),o("main",null,["workflows"===M.value?(a(),h(Pe,{key:0,"data-test-id":"mcp-workflow-table",workflows:S.value,loading:E.value,onRemoveMcpAccess:s[2]||(s[2]=e=>G(e.id,!1)),onConnectWorkflows:ce,onUpdateDescription:Z,onRefresh:se},null,8,["workflows","loading"])):"oauth"===M.value?(a(),h(Oe,{key:1,"data-test-id":"mcp-oauth-clients-table",clients:K.value,loading:U.value,onRevokeClient:re,onRefresh:ee},null,8,["clients","loading"])):d("",!0)])],2)):d("",!0)],2))}}),[["__cssModules",{$style:{container:"_container_np9hn_125","main-header":"_main-header_np9hn_130",headings:"_headings_np9hn_143","heading-row":"_heading-row_np9hn_149","tabs-header":"_tabs-header_np9hn_156",actions:"_actions_np9hn_162"}}]]))}}}));
//# sourceMappingURL=SettingsMCPView-legacy-B5NjpK_6.js.map