UNPKG

n8n-editor-ui

Version:

Workflow Editor UI for n8n

2 lines 14.9 kB
(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.16.1`}}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]=`10ea8cf4-ce06-4fc7-963f-5a5be34a3183`,e._sentryDebugIdIdentifier=`sentry-dbid-10ea8cf4-ce06-4fc7-963f-5a5be34a3183`)})()}catch{}import{$ as e,A as t,C as n,E as r,Ft as i,N as a,S as o,Sn as s,T as c,Wt as l,X as u,_ as d,_n as f,gt as p,j as m,rt as h,w as g,yt as _}from"./vue.runtime.esm-bundler-C3C09Zii.js";import{at as v}from"./core-Bz5WjPxS.js";import{At as y,Di as b,Ji as x,Pi as S,Qi as C,Xi as w,Zi as T,_ as E,_t as D,jt as O,vt as k}from"./src-XqE2yCpG.js";import{t as A}from"./_plugin-vue_export-helper-CIL7EULb.js";import{Ln as j,Pn as M,Rt as N,fr as P,hr as F,it as I,r as L,t as R}from"./users.store-xP93bV7X.js";import{$r as z,Fa as B,Kr as V,Mc as H,Xr as ee,qr as te}from"./constants-DuQbSl-q.js";import{D as ne,t as re}from"./useRootStore-XEREVjMN.js";import{t as U}from"./settings.store-CAFiYCMH.js";import{t as W}from"./CredentialIcon-BVAlIa2j.js";import{t as G}from"./TimeAgo-D3e2Vl9V.js";import{g as ie,h as K,o as q}from"./constants-BVzsnVB6.js";import{t as J}from"./CredentialPicker-BSrpObuf.js";import{d as Y,n as X,r as ae,t as Z}from"./chat.store-mz4IZJ73.js";var Q={key:0},oe={key:1},$=4,se=A(a({__name:`ChatProvidersTable`,props:{settings:{},loading:{type:Boolean},disabled:{type:Boolean}},emits:[`editProvider`,`refresh`],setup(a,{emit:u}){let d=a,p=u,h=v(),C=i([{title:h.baseText(`settings.chatHub.providers.table.provider`),key:`provider`,width:120,disableSort:!0,value(){}},{title:h.baseText(`settings.chatHub.providers.table.models`),key:`models`,width:300,disableSort:!0,value(){}},{title:h.baseText(`settings.chatHub.providers.table.updatedAt`),key:`updatedAt`,disableSort:!0,width:80,value(){}},{title:``,key:`actions`,align:`end`,width:50,disableSort:!0,value(){}}]),D=o(()=>[{label:h.baseText(`settings.chatHub.providers.table.action.editProvider`),value:`editProvider`,disabled:d.disabled}]),k=o(()=>d.settings?Object.values(d.settings):[]),A=e=>e.enabled?e.allowedModels.length===0?h.baseText(`settings.chatHub.providers.table.models.allModels`):e.allowedModels.length>$?e.allowedModels.slice(0,$).map(e=>e.displayName).join(`, `)+h.baseText(`settings.chatHub.providers.table.models.more`,{interpolate:{count:e.allowedModels.length-$}}):e.allowedModels.map(e=>e.displayName).join(`, `):h.baseText(`settings.chatHub.providers.table.models.disabled`),j=(e,t)=>{switch(e){case`editProvider`:p(`editProvider`,t);break;default:break}};return(i,a)=>(e(),r(`div`,{class:f(i.$style.tableContainer)},[d.loading?(e(),r(`div`,Q,[m(l(O),{loading:d.loading,variant:`h1`,class:f(i.$style.header)},null,8,[`loading`,`class`]),m(l(O),{loading:d.loading,variant:`p`,rows:5,"shrink-last":!1},null,8,[`loading`])])):(e(),r(`div`,oe,[n(`div`,{class:f(i.$style.header)},[m(l(x),{size:`medium`,bold:!0},{default:_(()=>[t(s(l(h).baseText(`settings.chatHub.providers.table.title`)),1)]),_:1}),n(`div`,{class:f(i.$style.actions)},[m(l(b),{content:l(h).baseText(`settings.chatHub.providers.table.refresh.tooltip`)},{default:_(()=>[m(l(T),{variant:`subtle`,iconOnly:``,size:`small`,icon:`refresh-cw`,"aria-label":l(h).baseText(`generic.refresh`),onClick:a[0]||=e=>i.$emit(`refresh`)},null,8,[`aria-label`])]),_:1},8,[`content`])],2)],2),d.settings?(e(),g(l(E),{key:1,class:f(i.$style.chatProvidersTable),headers:C.value,items:k.value,"items-length":k.value.length},{"item.provider":_(({item:r})=>[n(`div`,{class:f(i.$style.providerCell)},[r.provider in l(V)?(e(),g(W,{key:0,"credential-type-name":l(V)[r.provider],size:16,class:f(i.$style.menuIcon)},null,8,[`credential-type-name`,`class`])):c(``,!0),m(l(w),{bold:``},{default:_(()=>[t(s(l(K)[r.provider]),1)]),_:2},1024)],2)]),"item.models":_(({item:n})=>[n.allowedModels?.length&&n.allowedModels?.length>$?(e(),g(l(b),{key:0,content:n.allowedModels?.map(e=>e.displayName).join(`, `)},{default:_(()=>[m(l(w),{color:n.enabled?`text-base`:`primary`},{default:_(()=>[t(s(A(n)),1)]),_:2},1032,[`color`])]),_:2},1032,[`content`])):(e(),g(l(w),{key:1,color:n.enabled?`text-base`:`primary`},{default:_(()=>[t(s(A(n)),1)]),_:2},1032,[`color`]))]),"item.updatedAt":_(({item:r})=>[n(`span`,null,[r.updatedAt?(e(),g(G,{key:0,date:r.updatedAt},null,8,[`date`])):(e(),g(l(w),{key:1},{default:_(()=>[...a[1]||=[t(`-`,-1)]]),_:1}))])]),"item.actions":_(({item:e})=>[m(l(y),{placement:`bottom`,actions:D.value,theme:`dark`,onAction:t=>j(t,e)},null,8,[`actions`,`onAction`])]),_:2},1032,[`class`,`headers`,`items`,`items-length`])):(e(),g(l(S),{key:0,heading:l(h).baseText(`settings.chatHub.providers.table.empty.title`),description:l(h).baseText(`settings.chatHub.providers.table.empty.description`)},null,8,[`heading`,`description`]))]))],2))}}),[[`__cssModules`,{$style:{tableContainer:`_tableContainer_1v1de_125`,actions:`_actions_1v1de_129`,header:`_header_1v1de_135`,chatProvidersTable:`_chatProvidersTable_1v1de_142`,menuIcon:`_menuIcon_1v1de_146`,providerCell:`_providerCell_1v1de_150`}}]]),ce=A(a({__name:`ChatSemanticSearchSettings`,setup(a){let c=v(),u=j(),y=re(),S=Z(),T=M(),E=P(),O=U(),{semanticSearchReadiness:A}=ne(S),N=i(B(X));function F(e){let t=!!e.vectorStore.credentialId,n=!!e.embeddingModel.credentialId;E.track(`User updated semantic search settings`,{vector_store_provider:e.vectorStore.provider,embedding_provider:e.embeddingModel.provider,vector_store_credential_entered:t,embedding_credential_entered:n,vector_store_credential_shared:t&&A.value.vectorStoreIssue!==`notShared`,embedding_credential_shared:n&&A.value.embeddingIssue!==`notShared`})}let I=o(()=>{let e=N.value.vectorStore.provider;return e?te[e]:void 0}),L=o(()=>ee.options.filter(e=>e in ae)),R=o(()=>{let e=A.value.vectorStoreIssue;return e?e===`unspecified`||e===`notFound`?c.baseText(`settings.chatHub.vectorStore.missing`):c.baseText(`settings.chatHub.vectorStore.notShared`):``}),H=o(()=>{let e=A.value.embeddingIssue;return e?e===`unspecified`||e===`notFound`?c.baseText(`settings.chatHub.embeddingModel.missing`):c.baseText(`settings.chatHub.embeddingModel.notShared`):``});async function W(e){if(e===N.value.vectorStore.provider||N.value.vectorStore.credentialId&&await u.confirm(c.baseText(`settings.chatHub.vectorStore.changeProvider.confirm.message`),c.baseText(`settings.chatHub.vectorStore.changeProvider.confirm.title`),{confirmButtonText:c.baseText(`settings.chatHub.vectorStore.changeProvider.confirm.button`),cancelButtonText:c.baseText(`generic.cancel`),type:`warning`})!==`confirm`)return;let t={...N.value,vectorStore:{provider:e,credentialId:null}};try{await Y(y.restApiContext,t),await O.getModuleSettings(),F(t),T.showMessage({type:`success`,title:c.baseText(`settings.chatHub.semanticSearch.save.success`)})}catch(e){T.showError(e,c.baseText(`settings.chatHub.vectorStore.save.error`))}}async function G(e){if(e===N.value.vectorStore.credentialId)return;let t={...N.value,vectorStore:{...N.value.vectorStore,credentialId:e}};try{await Y(y.restApiContext,t),await O.getModuleSettings(),F(t),T.showMessage({type:`success`,title:c.baseText(`settings.chatHub.semanticSearch.save.success`)})}catch(e){T.showError(e,c.baseText(`settings.chatHub.vectorStore.save.error`))}}async function q(e){if(e===N.value.embeddingModel.provider||N.value.embeddingModel.credentialId&&await u.confirm(c.baseText(`settings.chatHub.embeddingModel.changeProvider.confirm.message`),c.baseText(`settings.chatHub.embeddingModel.changeProvider.confirm.title`),{confirmButtonText:c.baseText(`settings.chatHub.embeddingModel.changeProvider.confirm.button`),cancelButtonText:c.baseText(`generic.cancel`),type:`warning`})!==`confirm`)return;let t={...N.value,embeddingModel:{provider:e,credentialId:null}};try{await Y(y.restApiContext,t),await O.getModuleSettings(),F(t),T.showMessage({type:`success`,title:c.baseText(`settings.chatHub.semanticSearch.save.success`)})}catch(e){T.showError(e,c.baseText(`settings.chatHub.embeddingModel.save.error`))}}async function Q(e){if(e===N.value.embeddingModel.credentialId)return;let t={...N.value,embeddingModel:{...N.value.embeddingModel,credentialId:e}};try{await Y(y.restApiContext,t),await O.getModuleSettings(),F(t),T.showMessage({type:`success`,title:c.baseText(`settings.chatHub.semanticSearch.save.success`)})}catch(e){T.showError(e,c.baseText(`settings.chatHub.embeddingModel.save.error`))}}return p(()=>O.moduleSettings[`chat-hub`]?.semanticSearch,e=>{N.value=e??B(X)},{immediate:!0}),(i,a)=>(e(),r(`div`,{class:f(i.$style.section)},[m(l(x),{size:`medium`,bold:!0,class:f(i.$style.sectionTitle)},{default:_(()=>[t(s(l(c).baseText(`settings.chatHub.semanticSearch.title`)),1)]),_:1},8,[`class`]),n(`div`,{class:f(i.$style.semanticSearchCard)},[n(`div`,{class:f(i.$style.semanticSearchRow)},[n(`div`,{class:f(i.$style.rowInfo)},[n(`div`,{class:f(i.$style.rowLabelRow)},[m(l(w),{bold:!0,tag:`span`,class:f(i.$style.rowLabel)},{default:_(()=>[t(s(l(c).baseText(`settings.chatHub.vectorStore.title`)),1)]),_:1},8,[`class`]),l(A).vectorStoreIssue?(e(),g(l(b),{key:0,content:R.value},{default:_(()=>[m(l(C),{icon:`triangle-alert`,class:f(i.$style.iconWarning),size:`large`},null,8,[`class`])]),_:1},8,[`content`])):(e(),g(l(C),{key:1,icon:`check`,class:f(i.$style.iconReady),size:`large`},null,8,[`class`]))],2),m(l(w),{color:`text-light`,size:`small`,tag:`span`,class:f(i.$style.rowDescription)},{default:_(()=>[t(s(l(c).baseText(`settings.chatHub.vectorStore.description`)),1)]),_:1},8,[`class`])],2),n(`div`,{class:f(i.$style.rowControls)},[n(`div`,{class:f(i.$style.labeledControl)},[m(l(w),{size:`small`,color:`text-light`,tag:`span`,class:f(i.$style.controlLabel)},{default:_(()=>[t(s(l(c).baseText(`settings.chatHub.label.provider`)),1)]),_:1},8,[`class`]),m(l(D),{"model-value":N.value.vectorStore.provider??l(z).options[0],size:`small`,"onUpdate:modelValue":W},{default:_(()=>[(e(!0),r(d,null,h(l(z).options,t=>(e(),g(l(k),{key:t,value:t,label:l(ie)[t]},null,8,[`value`,`label`]))),128))]),_:1},8,[`model-value`])],2),n(`div`,{class:f(i.$style.labeledControl)},[m(l(w),{size:`small`,color:`text-light`,tag:`span`,class:f(i.$style.controlLabel)},{default:_(()=>[t(s(l(c).baseText(`settings.chatHub.label.credential`)),1)]),_:1},8,[`class`]),m(J,{class:f(i.$style.credentialPicker),"app-name":``,"credential-type":I.value??``,"selected-credential-id":N.value.vectorStore.credentialId,"create-button-variant":`subtle`,onCredentialSelected:G,onCredentialDeleted:a[0]||=e=>G(null)},null,8,[`class`,`credential-type`,`selected-credential-id`])],2)],2)],2),n(`div`,{class:f([i.$style.semanticSearchRow,i.$style.semanticSearchRowBordered])},[n(`div`,{class:f(i.$style.rowInfo)},[n(`div`,{class:f(i.$style.rowLabelRow)},[m(l(w),{bold:!0,tag:`span`,class:f(i.$style.rowLabel)},{default:_(()=>[t(s(l(c).baseText(`settings.chatHub.embeddingModel.title`)),1)]),_:1},8,[`class`]),l(A).embeddingIssue?(e(),g(l(b),{key:0,content:H.value},{default:_(()=>[m(l(C),{icon:`triangle-alert`,class:f(i.$style.iconWarning),size:`large`},null,8,[`class`])]),_:1},8,[`content`])):(e(),g(l(C),{key:1,icon:`check`,class:f(i.$style.iconReady),size:`large`},null,8,[`class`]))],2),m(l(w),{color:`text-light`,size:`small`,tag:`span`,class:f(i.$style.rowDescription)},{default:_(()=>[t(s(l(c).baseText(`settings.chatHub.embeddingModel.description`)),1)]),_:1},8,[`class`])],2),n(`div`,{class:f(i.$style.rowControls)},[n(`div`,{class:f(i.$style.labeledControl)},[m(l(w),{size:`small`,color:`text-light`,tag:`span`,class:f(i.$style.controlLabel)},{default:_(()=>[t(s(l(c).baseText(`settings.chatHub.label.provider`)),1)]),_:1},8,[`class`]),m(l(D),{"model-value":N.value.embeddingModel.provider??L.value[0],size:`small`,class:f(i.$style.typeSelect),"onUpdate:modelValue":q},{default:_(()=>[(e(!0),r(d,null,h(L.value,t=>(e(),g(l(k),{key:t,value:t,label:l(K)[t]},null,8,[`value`,`label`]))),128))]),_:1},8,[`model-value`,`class`])],2),n(`div`,{class:f(i.$style.labeledControl)},[m(l(w),{size:`small`,color:`text-light`,tag:`span`,class:f(i.$style.controlLabel)},{default:_(()=>[t(s(l(c).baseText(`settings.chatHub.label.credential`)),1)]),_:1},8,[`class`]),m(J,{class:f(i.$style.credentialPicker),"app-name":``,"credential-type":N.value.embeddingModel.provider?l(V)[N.value.embeddingModel.provider]:``,"selected-credential-id":N.value.embeddingModel.credentialId,"create-button-variant":`subtle`,onCredentialSelected:Q,onCredentialDeleted:a[1]||=e=>Q(null)},null,8,[`class`,`credential-type`,`selected-credential-id`])],2)],2)],2)],2)],2))}}),[[`__cssModules`,{$style:{section:`_section_7hu11_125`,sectionTitle:`_sectionTitle_7hu11_131`,semanticSearchCard:`_semanticSearchCard_7hu11_135`,semanticSearchRow:`_semanticSearchRow_7hu11_141`,semanticSearchRowBordered:`_semanticSearchRowBordered_7hu11_148`,rowInfo:`_rowInfo_7hu11_152`,rowLabelRow:`_rowLabelRow_7hu11_159`,rowLabel:`_rowLabel_7hu11_159`,rowDescription:`_rowDescription_7hu11_169`,rowControls:`_rowControls_7hu11_173`,labeledControl:`_labeledControl_7hu11_180`,controlLabel:`_controlLabel_7hu11_186`,credentialPicker:`_credentialPicker_7hu11_190`,iconReady:`_iconReady_7hu11_194`,iconWarning:`_iconWarning_7hu11_198`}}]]),le=A(a({__name:`SettingsChatHubView`,setup(n){let i=v(),a=F(),d=o(()=>a.isVariantEnabled(H.name,H.variant)),p=M(),h=N(),y=Z(),b=R(),S=U(),C=I(),w=L(),T=P(),E=o(()=>b.isInstanceOwner),D=o(()=>b.isAdmin),O=o(()=>!E.value&&!D.value),k=async()=>{try{await y.fetchAllChatSettings()}catch(e){p.showError(e,i.baseText(`settings.chatHub.providers.fetching.error`))}};function A(e){w.openModalWithData({name:q,data:{provider:e.provider,disabled:O.value,onNewCredential:e=>{let t=V[e];T.track(`User opened Credential modal`,{credential_type:t,source:`chat_hub_settings`,new_credential:!0,workflow_id:null}),w.openNewCredential(t)},onConfirm:async e=>{try{await y.updateProviderSettings(e),p.showMessage({title:i.baseText(`settings.chatHub.providers.updated.success`),type:`success`}),await S.getModuleSettings()}catch(e){p.showError(e,i.baseText(`settings.chatHub.providers.updated.error`))}},onCancel:()=>{}}})}async function j(){await k()}return u(async()=>{h.set(i.baseText(`settings.chatHub`)),S.isChatFeatureEnabled&&await Promise.all([k(),C.fetchAllCredentials(),C.fetchCredentialTypes(!1)])}),(n,a)=>(e(),r(`div`,{class:f(n.$style.container)},[m(l(x),{size:`2xlarge`},{default:_(()=>[t(s(l(i).baseText(`settings.chatHub`)),1)]),_:1}),m(se,{"data-test-id":`chat-providers-table`,settings:l(y).settings,loading:l(y).settingsLoading,disabled:O.value,onEditProvider:A,onRefresh:j},null,8,[`settings`,`loading`,`disabled`]),d.value?(e(),g(ce,{key:0})):c(``,!0)],2))}}),[[`__cssModules`,{$style:{container:`_container_4yxsr_125`}}]]);export{le as default}; //# sourceMappingURL=SettingsChatHubView-D2dD2t9f.js.map