n8n-editor-ui
Version:
Workflow Editor UI for n8n
4 lines (3 loc) • 24.1 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.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]=`d3416932-ff04-4151-b99a-393e1fe153ac`,e._sentryDebugIdIdentifier=`sentry-dbid-d3416932-ff04-4151-b99a-393e1fe153ac`)})()}catch{}import{Ft as e,S as t}from"./vue.runtime.esm-bundler-C3C09Zii.js";import{at as n}from"./core-Bz5WjPxS.js";import{Pn as r,fr as i,it as a,s as o}from"./users.store-xP93bV7X.js";import{$r as s,A as c,Eo as l,Fa as u,Ki as d,Kr as f,Pt as p,Qc as m,Xr as h,Zr as g,ei as ee,qr as te}from"./constants-DuQbSl-q.js";import{T as _,a as ne,c as v,r as y,t as re}from"./useRootStore-XEREVjMN.js";import{t as ie}from"./settings.store-CAFiYCMH.js";import{t as ae}from"./retry-yGXnVxaZ.js";import{T as oe,a as se,i as ce,n as le,o as ue,r as de,t as fe,u as b,y as pe}from"./fileUtils-D6dhtxVJ.js";var me=async(e,t)=>await v(e,`POST`,`/chat/models`,t);async function he(e,t){return await v(e,`POST`,`/chat/conversations/send`,t)}async function ge(e,t,n){return await v(e,`POST`,`/chat/conversations/manual/${t}/send`,n)}async function _e(e,t){return await v(e,`POST`,`/chat/conversations/${t.sessionId}/messages/${t.editId}/edit`,t.payload)}async function ve(e,t){return await v(e,`POST`,`/chat/conversations/manual/${t.workflowId}/${t.sessionId}/messages/${t.editId}/edit`,t.payload)}async function ye(e,t){return await v(e,`POST`,`/chat/conversations/${t.sessionId}/messages/${t.retryId}/regenerate`,t.payload)}async function be(e,t){return await v(e,`POST`,`/chat/conversations/manual/${t.workflowId}/${t.sessionId}/messages/${t.retryId}/regenerate`,t.payload)}async function xe(e,t,n){return await v(e,`POST`,`/chat/conversations/${t}/reconnect${n===void 0?``:`?lastSequence=${n}`}`,{})}var Se=async(e,t,n)=>{await v(e,`POST`,`/chat/conversations/${t}/messages/${n}/stop`)},Ce=async(e,t,n,r)=>{let i=new URLSearchParams;return i.append(`limit`,t.toString()),n&&i.append(`cursor`,n),r&&i.append(`type`,r),await v(e,`GET`,`/chat/conversations?${i.toString()}`)},x=async(e,t,n)=>await v(e,`PATCH`,`/chat/conversations/${t}`,n),we=async(e,t,n)=>await x(e,t,{title:n}),Te=async(e,t)=>{await v(e,`DELETE`,`/chat/conversations/${t}`)},Ee=async(e,t)=>await v(e,`GET`,`/chat/conversations/${t}`),S=async(e,t)=>await v(e,`GET`,`/chat/agents/${t}`),De=async(e,t)=>await v(e,`POST`,`/chat/agents`,t),Oe=async(e,t,n)=>await v(e,`POST`,`/chat/agents/${t}`,n),ke=async(e,t)=>{await v(e,`DELETE`,`/chat/agents/${t}`)},Ae=async(e,t,n)=>{let r=new FormData;for(let e of n)r.append(`files`,e);return await v(e,`POST`,`/chat/agents/${t}/files`,r)},je=async(e,t,n)=>{await v(e,`DELETE`,`/chat/agents/${t}/files/${encodeURIComponent(n)}`)},Me=async e=>(await v(e,`GET`,`/chat/settings`)).providers,Ne=async(e,t)=>(await v(e,`GET`,`/chat/settings/`+t)).settings,Pe=async(e,t)=>await v(e,`POST`,`/chat/settings`,{payload:t}),C=async(e,t)=>{await v(e,`PUT`,`/chat/semantic-search`,t)};function w(e,t,n,r){return`${e.baseUrl}/chat/conversations/${t}/messages/${n}/attachments/${r}`}async function T(e,t){return await v(e,`GET`,`/workflows/${t}/execution-status?authSource=cookie`)}async function E(e,t,n){return await v(e,`POST`,`/credentials/${t}/authorize?resolverId=${encodeURIComponent(n)}&authSource=cookie`)}async function D(e,t,n){await v(e,`DELETE`,`/credentials/${t}/revoke?resolverId=${encodeURIComponent(n)}&authSource=cookie`)}var Fe=async e=>await v(e,`GET`,`/chat/tools`),Ie=async(e,t)=>await v(e,`POST`,`/chat/tools`,{definition:t}),O=async(e,t,n)=>await v(e,`PATCH`,`/chat/tools/${t}`,n),Le=async(e,t)=>{await v(e,`DELETE`,`/chat/tools/${t}`)};function k(e,t){let n=[...e],r=t;if(n.length>0){let e=n[n.length-1];(e.type===`hidden`||(e.type===`artifact-create`||e.type===`artifact-edit`)&&e.isIncomplete)&&(r=e.content+t,n.pop())}let i=F(r);if(i)return n.push(i),n;let a=0,o=/<command:artifact-create>/g,s=/<command:artifact-edit>/g;for(;a<r.length;){o.lastIndex=a,s.lastIndex=a;let e=o.exec(r),t=s.exec(r),i=null,c=null;if(e&&t?e.index<t.index?(i=e,c=`create`):(i=t,c=`edit`):e?(i=e,c=`create`):t&&(i=t,c=`edit`),!i||!c){let e=r.slice(a);if(e){let{text:t,hiddenPrefix:r}=j(e);t&&A(n,t),r&&n.push({type:`hidden`,content:r})}break}i.index>a&&A(n,r.slice(a,i.index));let l=i.index,u=r.slice(l);if(c===`create`){let e=M(u);n.push(e.item),a=l+e.consumed}else{let e=N(u);n.push(e.item),a=l+e.consumed}}return n}function A(e,t){if(t!==``){if(e.length>0){let n=e[e.length-1];if(n.type===`text`){e[e.length-1]={type:`text`,content:n.content+t};return}}e.push({type:`text`,content:t})}}function j(e){let t=[`<command:artifact-create>`,`<command:artifact-edit>`];for(let n=1;n<=Math.min(e.length,30);n++){let r=e.slice(-n);for(let i of t)if(i.startsWith(r))return{text:e.slice(0,-n),hiddenPrefix:r}}return{text:e,hiddenPrefix:``}}function M(e){let t=e.indexOf(`</command:artifact-create>`),n=t===-1,r=n?e:e.slice(0,t+26);return{item:{type:`artifact-create`,content:r,command:{title:P(r,`title`)??``,type:P(r,`type`)??``,content:P(r,`content`)??``},isIncomplete:n},consumed:r.length}}function N(e){let t=e.indexOf(`</command:artifact-edit>`),n=t===-1,r=n?e:e.slice(0,t+24);return{item:{type:`artifact-edit`,content:r,command:{title:P(r,`title`)??``,oldString:P(r,`oldString`)??``,newString:P(r,`newString`)??``,replaceAll:(P(r,`replaceAll`)??`false`).toLowerCase()===`true`},isIncomplete:n},consumed:r.length}}function P(e,t){let n=`<${t}>`,r=`</${t}>`,i=e.indexOf(n);if(i===-1)return null;let a=i+n.length,o=e.indexOf(r,a);if(o===-1){let t=e.slice(a);for(let e=1;e<r.length;e++){let n=r.slice(0,e);if(t.endsWith(n)){t=t.slice(0,-e);break}}return t.length>0?t:null}return e.slice(a,o)}function F(e){if(!e.startsWith(`{`))return null;try{let t=JSON.parse(e),n=g.safeParse(t);if(n.success)return{type:`with-buttons`,content:n.data.text,buttons:n.data.buttons,blockUserInput:n.data.blockUserInput}}catch{}return null}function I(e){let t=[];for(let n of e)if(n.type===`artifact-create`){if(!n.command.title)continue;t.push({title:n.command.title,type:n.command.type,content:n.command.content})}else if(n.type===`artifact-edit`){let e=t.find(e=>e.title===n.command.title);e&&(n.command.replaceAll?e.content=e.content.split(n.command.oldString).join(n.command.newString):e.content=e.content.replace(n.command.oldString,n.command.newString))}return t}var L={openai:{name:`@n8n/n8n-nodes-langchain.embeddingsOpenAi`,version:1.2},google:{name:`@n8n/n8n-nodes-langchain.embeddingsGoogleGemini`,version:1},azureOpenAi:{name:`@n8n/n8n-nodes-langchain.embeddingsAzureOpenAi`,version:1},azureEntraId:{name:`@n8n/n8n-nodes-langchain.embeddingsAzureOpenAi`,version:1},ollama:{name:`@n8n/n8n-nodes-langchain.embeddingsOllama`,version:1},awsBedrock:{name:`@n8n/n8n-nodes-langchain.embeddingsAwsBedrock`,version:1},cohere:{name:`@n8n/n8n-nodes-langchain.embeddingsCohere`,version:1},mistralCloud:{name:`@n8n/n8n-nodes-langchain.embeddingsMistralCloud`,version:1}},R={embeddingModel:{credentialId:null,provider:h.options.filter(e=>e in L)[0]},vectorStore:{credentialId:null,provider:s.options[0]}},z=_(y.CHAT_HUB,()=>{let s=re(),h=ie(),g=a(),_=r(),v=i(),y=n(),C=e(null),w=null,T=e({}),E=e({byId:{},ids:null,hasMore:!1,nextCursor:null,lastFetchedType:void 0}),D=e(!1),A=e(),j=e(!1),M=e(null),N=e([]),P=e(!1),F=e(new Map),I=e=>F.value.get(e),L=e=>{let t=I(e);return t?le(e,t,A.value):[]};function z(e){F.value.has(e)||F.value.set(e,{messages:{},activeMessageChain:[]});let t=F.value.get(e);if(!t)throw Error(`Conversation for session ID ${e} not found`);return t}function B(e){let t=I(e);if(!t||t.activeMessageChain.length===0)return null;let n=t.activeMessageChain[t.activeMessageChain.length-1];return t.messages[n]??null}function Re(e){return A.value?.sessionId===e}function V(e,t){let n=[];if(!t)return n;let r=t;for(;;){let t=e[r].responses;if(t.length===0)break;r=t[t.length-1]}let i=r,a=new Set;for(;i&&!a.has(i);)n.unshift(i),a.add(i),i=e[i]?.previousMessageId??null;return n}function ze(e){let t={};for(let n of e)t[n.id]={...n,responses:[],alternatives:[]};for(let e of Object.values(t))e.previousMessageId&&t[e.previousMessageId]&&t[e.previousMessageId].responses.push(e.id),e.retryOfMessageId&&t[e.retryOfMessageId]&&t[e.retryOfMessageId].alternatives.push(e.id),e.revisionOfMessageId&&t[e.revisionOfMessageId]&&t[e.revisionOfMessageId].alternatives.push(e.id);let n=(e,n)=>{let r=t[e],i=t[n];return r.createdAt===i.createdAt?r.id<i.id?-1:1:r.createdAt<i.createdAt?-1:1};for(let e of Object.values(t)){if(e.alternatives.includes(e.id)||e.alternatives.push(e.id),e.retryOfMessageId&&t[e.retryOfMessageId]){e.alternatives.push(e.retryOfMessageId);for(let n of t[e.retryOfMessageId].alternatives)n!==e.id&&!e.alternatives.includes(n)&&e.alternatives.push(n)}if(e.revisionOfMessageId&&t[e.revisionOfMessageId]){e.alternatives.push(e.revisionOfMessageId);for(let n of t[e.revisionOfMessageId].alternatives)n!==e.id&&!e.alternatives.includes(n)&&e.alternatives.push(n)}e.responses.sort(n),e.alternatives.sort(n)}return t}function H(e,t){let n=z(e);return n.messages[t.id]=t,n.messages=ze(Object.values(n.messages)),n.activeMessageChain=V(n.messages,t.id),t}function Be(e,t,n){let r=z(e).messages[t];if(!r)throw Error(`Message with ID ${t} not found in session ${e}`);r.content=[{type:`text`,content:n}]}function Ve(e,t,n){let r=z(e).messages[t];if(!r)throw Error(`Message with ID ${t} not found in session ${e}`);r.content=k(r.content,n)}function U(e,t,n,r){let i=z(e).messages[t];if(!i)throw Error(`Message with ID ${t} not found in session ${e}`);i.status=n,r&&(i.content=r),i.updatedAt=new Date().toISOString()}async function He(){let e=await Fe(s.restApiContext);return N.value=e,P.value=!0,e}async function Ue(e){let t=await Ie(s.restApiContext,e);return N.value=[...N.value,t],t}async function We(e,t){let n=await O(s.restApiContext,e,{definition:t});return N.value=N.value.map(t=>t.definition.id===e?n:t),n}async function Ge(e,t){let n=await O(s.restApiContext,e,{enabled:t});return N.value=N.value.map(t=>t.definition.id===e?n:t),n}async function Ke(e){await Le(s.restApiContext,e),N.value=N.value.filter(t=>t.definition.id!==e)}async function W(e,t={}){return w??=me(s.restApiContext,{credentials:e}).finally(()=>{w=null}),[C.value]=await Promise.all([w,new Promise(e=>setTimeout(e,t.minLoadingTime??0))]),C.value}async function G(e,t={}){if(!D.value&&(t.type!==void 0&&t.type!==E.value.lastFetchedType&&(e=!0),!(!e&&E.value&&!E.value.hasMore&&(E.value.ids??[]).length>0))){e||(D.value=!0);try{let n=e?void 0:E.value?.nextCursor??void 0,[r]=await Promise.all([Ce(s.restApiContext,18,n,t.type),new Promise(e=>setTimeout(e,t.minLoadingTime??0))]);(e||E.value.ids===null)&&(E.value.ids=[]),E.value.hasMore=r.hasMore,E.value.nextCursor=r.nextCursor,E.value.lastFetchedType=t.type;for(let e of r.data){E.value.ids.push(e.id);let t=E.value.byId[e.id];E.value.byId[e.id]={...e,toolIds:t?.toolIds??e.toolIds}}}finally{D.value=!1}}}async function qe(e={}){E.value?.hasMore&&!D.value&&await G(!1,e)}async function Je(e){let{conversation:t,session:n}=await Ee(s.restApiContext,e),r=ze(Object.values(t.messages)),i=V(r,Object.values(r).sort((e,t)=>e.createdAt<t.createdAt?-1:1).pop()?.id??null);F.value.set(e,{messages:r,activeMessageChain:i}),E.value.byId[e]=n}async function K(e){let t=E.value.byId[e];t?.type!==`manual`&&((!t||t.title===`New Chat`)&&await ae(async()=>{try{return(await Ee(s.restApiContext,e)).session.title!==`New Chat`}catch{return!1}},2e3,10),await G(!0))}function Ye(e,t){return z(e).messages[t]||H(e,ce(e,t,A.value))}function Xe(e,t){let n={413:y.baseText(`chatHub.error.payloadTooLarge`),400:t??y.baseText(`chatHub.error.badRequest`),403:y.baseText(`chatHub.error.forbidden`),500:t?y.baseText(`chatHub.error.serverErrorWithReason`,{interpolate:{error:t}}):y.baseText(`chatHub.error.serverError`)};return e&&n[e]||t||y.baseText(`chatHub.error.unknown`)}async function q(e){if(!A.value)return;let t=e instanceof ne?Error(Xe(e.httpStatusCode,e.message)):e instanceof Error&&e.message.includes(`Failed to fetch`)?Error(y.baseText(`chatHub.error.noConnection`)):e;_.showError(t,y.baseText(`chatHub.error.sendMessageFailed`));let{sessionId:n}=A.value;A.value=void 0,await K(n)}function J(e){if(e.provider!==`n8n`)return!1;let t=o();if(t.workflowId!==e.workflowId)return!1;let n=t.allNodes.find(e=>e.type===p);return n?n.parameters?.availableInChat===!0:!1}function Y(){let e=o();e.workflowExecutionData={id:c,finished:!1,mode:`manual`,status:`running`,createdAt:new Date,startedAt:new Date,stoppedAt:void 0,workflowId:e.workflowId,data:d({resultData:{runData:{}}}),workflowData:e.workflow},e.private.setActiveExecutionId(null)}async function Ze(e,t,n,r,i=[]){let a=l(),o=z(e),c=o.activeMessageChain.length?o.activeMessageChain[o.activeMessageChain.length-1]:null,u=(await Promise.all(i.map(fe))).map(e=>({fileName:e.fileName??`unnamed file`,mimeType:e.mimeType,data:e.data}));A.value={promptPreviousMessageId:c,promptId:a,promptText:t,sessionId:e,retryOfMessageId:null,revisionOfMessageId:null,attachments:u,agent:n};let d=J(n.model),f=d?`manual`:`production`,p=d?`canvas`:`chat_hub`;v.track(`User sent chat hub message`,{...b(n.model),is_custom:n.model.provider===`custom-agent`,chat_session_id:e,mode:f,source:p});let m={model:n.model,messageId:a,sessionId:e,message:t,credentials:r,previousMessageId:c,attachments:u,agentName:n.name,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone};try{if(E.value.byId[e]||(E.value.byId[e]=ue(A.value,N.value.filter(e=>e.enabled).map(e=>e.definition.id),d),E.value.ids??=[],E.value.ids.unshift(e)),d){Y();let{workflowId:r}=n.model;await ge(s.restApiContext,r,{messageId:a,sessionId:e,message:t,previousMessageId:c,attachments:u,agentName:n.name,timeZone:m.timeZone})}else await he(s.restApiContext,m)}catch(e){await q(e)}}async function Qe(e,t,n,r,i,a=[],o=[]){let c=l(),u=z(e).messages[t],d=u?.previousMessageId??null,f=await Promise.all(o.map(fe)),p={model:r.model,messageId:c,message:n,credentials:i,newAttachments:f.map(e=>({fileName:e.fileName??`unnamed file`,mimeType:e.mimeType,data:e.data})),keepAttachmentIndices:a,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone};u?.type===`ai`&&Be(e,t,n),A.value={promptPreviousMessageId:d,promptId:c,promptText:n,sessionId:e,agent:r,retryOfMessageId:null,revisionOfMessageId:t,attachments:[...a.flatMap(e=>{let t=u?.attachments[e];return t?[{fileName:t.fileName??`unnamed file`,mimeType:t.mimeType??`application/octet-stream`,data:``}]:[]}),...f]};let m=J(r.model),h=m?`manual`:`production`,g=m?`canvas`:`chat_hub`;v.track(`User edited chat hub message`,{...b(r.model),is_custom:r.model.provider===`custom-agent`,chat_session_id:e,chat_message_id:t,mode:h,source:g});try{m?(Y(),await ve(s.restApiContext,{workflowId:r.model.workflowId,sessionId:e,editId:t,payload:{messageId:p.messageId,message:p.message,newAttachments:p.newAttachments,keepAttachmentIndices:p.keepAttachmentIndices,timeZone:p.timeZone}})):await _e(s.restApiContext,{sessionId:e,editId:t,payload:p})}catch(e){await q(e)}}async function $e(e,t,n,r){let i=z(e).messages[t]?.previousMessageId??null,a={model:n.model,credentials:r,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone};if(!i)throw Error(`No previous message to base regeneration on`);A.value={promptPreviousMessageId:i,promptId:t,promptText:``,sessionId:e,agent:n,retryOfMessageId:t,revisionOfMessageId:null,attachments:[]};let o=J(n.model),c=o?`manual`:`production`,l=o?`canvas`:`chat_hub`;v.track(`User regenerated chat hub message`,{...b(n.model),is_custom:n.model.provider===`custom-agent`,chat_session_id:e,chat_message_id:t,mode:c,source:l});try{o?(Y(),await be(s.restApiContext,{workflowId:n.model.workflowId,sessionId:e,retryId:t,payload:{timeZone:a.timeZone}})):await ye(s.restApiContext,{sessionId:e,retryId:t,payload:a})}catch(e){await q(e)}}async function et(e){let t=B(e);t&&t.status===`running`&&(U(e,t.id,`cancelled`),await Se(s.restApiContext,e,t.id),A.value?.sessionId===e&&(A.value=void 0,await K(e)))}function X(e,t){let n=E.value.byId[e];n&&(E.value.byId[e]={...n,...t})}async function tt(e,t){let n=T.value[e];if(!n)throw Error(`Custom agent with ID ${e} not found`);let r=n.toolIds??[],i=r.includes(t)?r.filter(e=>e!==t):[...r,t];T.value[e]={...n,toolIds:i},await Oe(s.restApiContext,e,{toolIds:i})}async function nt(e,t){let n=E.value?.byId[e];if(!n)throw Error(`Session with ID ${e} not found`);let r=n.toolIds??[],i=r.includes(t)?r.filter(e=>e!==t):[...r,t];X(e,(await x(s.restApiContext,e,{toolIds:i})).session)}async function rt(e,t){X(e,(await we(s.restApiContext,e,t)).session)}async function it(e,t,n){X(e,(await x(s.restApiContext,e,{agent:{model:t,name:n}})).session)}async function at(e){await Te(s.restApiContext,e),delete E.value.byId[e],E.value.ids=E.value.ids?.filter(t=>t!==e)??null}function ot(e,t){let n=I(e);if(!n?.messages[t])throw Error(`Message with ID ${t} not found in session ${e}`);n.activeMessageChain=V(n.messages,t)}async function st(e){let t=await S(s.restApiContext,e);T.value[e]=t}function ct(e){return C.value?.[`custom-agent`].models.find(t=>`agentId`in t&&t.agentId===e)}async function lt(e,t){let n=de(t,(h.moduleSettings[`chat-hub`]?.agentUploadMaxSizeMb??20)*1024*1024),r;for(let t of n)r=await Ae(s.restApiContext,e,t);return r}async function ut(e,t,n){let r=await De(s.restApiContext,e);t.length>0&&(r=await lt(r.id,t));let i=C.value?.[r.provider]?.models.find(e=>e.name===r.model),a=r.suggestedPrompts.filter(e=>e.text.trim().length>0),o={model:{provider:`custom-agent`,agentId:r.id},name:r.name,description:r.description??null,icon:r.icon,createdAt:r.createdAt,updatedAt:r.updatedAt,metadata:i?.metadata??{capabilities:{functionCalling:!1},allowFileUploads:!1,allowedFilesMimeTypes:``,available:!0},groupName:null,groupIcon:null,...a.length>0?{suggestedPrompts:a}:{}};return C.value?.[`custom-agent`].models.push(o),T.value[r.id]=r,await W(n),v.track(`User created agent`,{...b(e)}),o}async function dt(e,t,n,r,i){await Oe(s.restApiContext,e,t);for(let t of r)await je(s.restApiContext,e,t);n.length>0&&await lt(e,n);let a=await S(s.restApiContext,e);if(C.value?.[`custom-agent`]){let t=a.suggestedPrompts.filter(e=>e.text.trim().length>0);C.value[`custom-agent`].models=C.value[`custom-agent`].models.map(n=>`agentId`in n&&n.agentId===e?{...n,name:a.name,...t.length>0?{suggestedPrompts:t}:{suggestedPrompts:void 0}}:n)}return T.value[e]=a,await W(i),a}async function ft(e,t){await ke(s.restApiContext,e),C.value?.[`custom-agent`]&&(C.value[`custom-agent`].models=C.value[`custom-agent`].models.filter(t=>!(`agentId`in t)||t.agentId!==e)),delete T.value[e],await W(t)}function Z(e,t){return C.value?.[e.provider]?.models.find(t=>pe(t,e))||se(e,t)}async function pt(){try{j.value=!0,M.value=await Me(s.restApiContext)}finally{j.value=!1}return M.value}async function mt(e){let t=await Ne(s.restApiContext,e);return M.value&&(M.value[e]=u(t)),t}async function ht(e){e.enabled||(e.allowedModels=[]);let t=await Pe(s.restApiContext,e);return M.value&&(M.value[e.provider]=u(t)),t}function gt(e){let{sessionId:t,messageId:n,previousMessageId:r,retryOfMessageId:i}=e;A.value?.sessionId===t&&(A.value.messageId=n,A.value.promptPreviousMessageId=r,A.value.retryOfMessageId=i);let a=I(t);if(a?.messages[n])return;r&&a?.messages[r]?.status===`waiting`&&U(t,r,`success`);let o=ce(t,n,A.value?.sessionId===t?A.value:void 0);o.previousMessageId=r,o.retryOfMessageId=i,H(t,o)}function _t(e){let{sessionId:t,messageId:n,content:r}=e;I(t)?.messages[n]||Ye(t,n),Ve(t,n,r)}function vt(e){let{sessionId:t,messageId:n,status:r}=e;U(t,n,r)}function yt(e){let{sessionId:t,messageId:n,error:r}=e,i=Ye(t,n);i.content?i.content=k(i.content,`
`+r):i.content=[{type:`text`,content:r}],i.status=`error`,U(t,n,`error`,i.content)}function bt(e){let{sessionId:t}=e;if(A.value?.sessionId===t)return;let n=E.value.byId[t];if(!n)return;let r=oe(n);r&&(A.value={promptPreviousMessageId:null,promptId:``,promptText:``,sessionId:t,retryOfMessageId:null,revisionOfMessageId:null,attachments:[],agent:Z(r,{name:n.agentName,icon:n.agentIcon})})}function xt(e){let{sessionId:t,status:n}=e;if(A.value?.sessionId===t){let e=A.value.sessionId;if(A.value.messageId){let e=I(t)?.messages[A.value.messageId];e&&e.status===`running`&&U(t,A.value.messageId,n)}A.value=void 0,n===`error`&&_.showError(Error(`Execution failed`),y.baseText(`chatHub.error.unknown`)),K(e)}}async function St(e,t){try{let n=await xe(s.restApiContext,e,t);if(n.pendingChunks&&n.pendingChunks.length>0)for(let t of n.pendingChunks)n.currentMessageId&&Ve(e,n.currentMessageId,t.content);return n}catch{return null}}function Ct(e){let t=F.value.get(e.sessionId);if(!t||t.messages[e.messageId])return;let n={id:e.messageId,sessionId:e.sessionId,type:`human`,name:`User`,content:[{type:`text`,content:e.content}],previousMessageId:e.previousMessageId,retryOfMessageId:null,revisionOfMessageId:null,status:`success`,attachments:e.attachments.map(e=>({fileName:e.fileName,mimeType:e.mimeType})),provider:null,model:null,workflowId:null,agentId:null,executionId:null,createdAt:new Date(e.timestamp).toISOString(),updatedAt:new Date(e.timestamp).toISOString(),responses:[],alternatives:[]};H(e.sessionId,n)}function wt(e){let t=F.value.get(e.sessionId);if(!t||t.messages[e.messageId])return;let n=t.messages[e.revisionOfMessageId],r={id:e.messageId,sessionId:e.sessionId,type:`human`,name:n?.name??`User`,content:[{type:`text`,content:e.content}],previousMessageId:n?.previousMessageId??null,retryOfMessageId:null,revisionOfMessageId:e.revisionOfMessageId,status:`success`,attachments:e.attachments.map(e=>({fileName:e.fileName,mimeType:e.mimeType})),provider:n?.provider??null,model:n?.model??null,workflowId:n?.workflowId??null,agentId:n?.agentId??null,executionId:null,createdAt:new Date(e.timestamp).toISOString(),updatedAt:new Date(e.timestamp).toISOString(),responses:[],alternatives:[]};H(e.sessionId,r)}let Q=t(()=>{let e=h.isEnterpriseFeatureEnabled[m.Sharing],t=h.moduleSettings[`chat-hub`]?.semanticSearch??R,n=t?.vectorStore.credentialId??``,r=g.getCredentialById(n);if(!n)return`unspecified`;if(!r||r?.type!==te[t.vectorStore.provider])return`notFound`;if(e&&!r.isGlobal)return`notShared`}),$=t(()=>{let e=h.isEnterpriseFeatureEnabled[m.Sharing],t=h.moduleSettings[`chat-hub`]?.semanticSearch??R,n=t?.embeddingModel.credentialId??``,r=g.getCredentialById(n);if(!n)return`unspecified`;if(!r||r?.type!==f[t.embeddingModel.provider])return`notFound`;if(e&&!r.isGlobal)return`notShared`}),Tt=t(()=>({isReadyForCurrentUser:(!Q.value||Q.value===`notShared`)&&(!$.value||$.value===`notShared`),vectorStoreIssue:Q.value,embeddingIssue:$.value}));return{agents:t(()=>C.value??ee),agentsReady:t(()=>C.value!==null),customAgents:T,getAgent:Z,fetchAgents:W,getCustomAgent:ct,fetchCustomAgent:st,createCustomAgent:ut,updateCustomAgent:dt,deleteCustomAgent:ft,configuredTools:N,configuredToolsLoaded:P,fetchConfiguredTools:He,addConfiguredTool:Ue,updateConfiguredTool:We,toggleToolEnabled:Ge,removeConfiguredTool:Ke,sessions:E,sessionsReady:t(()=>E.value.ids!==null),sessionsLoading:t(()=>D.value),fetchSessions:G,fetchMoreSessions:qe,renameSession:rt,updateSessionModel:it,deleteSession:at,toggleSessionTool:nt,toggleCustomAgentTool:tt,conversationsBySession:F,getConversation:I,fetchMessages:Je,getActiveMessages:L,switchAlternative:ot,lastMessage:B,streaming:A,isResponding:Re,sendMessage:Ze,editMessage:Qe,regenerateMessage:$e,stopStreamingMessage:et,settings:M,settingsLoading:j,fetchAllChatSettings:pt,fetchProviderSettings:mt,updateProviderSettings:ht,semanticSearchReadiness:Tt,handleWebSocketExecutionBegin:bt,handleWebSocketExecutionEnd:xt,handleWebSocketStreamBegin:gt,handleWebSocketStreamChunk:_t,handleWebSocketStreamEnd:vt,handleWebSocketStreamError:yt,handleHumanMessageCreated:Ct,handleMessageEdited:wt,reconnectToStream:St}});export{E as a,me as c,C as d,I as i,T as l,R as n,w as o,L as r,S as s,z as t,D as u};
//# sourceMappingURL=chat.store-mz4IZJ73.js.map