n8n-editor-ui
Version:
Workflow Editor UI for n8n
2 lines • 10.4 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(["./vue.runtime.esm-bundler-legacy-BW6xDdqj.js","./core-legacy-VD8c7QJ-.js","./src-legacy-B67uuxhB.js","./users.store-legacy-azRUgFdP.js","./constants-legacy-2_ytuuS3.js","./useRootStore-legacy-CC08el-l.js","./settings.store-legacy-I6rZOvfF.js"],(function(e,t){var a,s,n,i,o,r,u,l,d,c,v,p,f,g,y,m,h,w,x,k,b,A,_,S,I;return{setters:[function(e){a=e.Ft,s=e.S,n=e.gt},function(e){i=e.at},function(e){o=e.ct},function(e){r=e.Wn,e.Xa,u=e.at,l=e.fr,d=e.it,c=e.kt,v=e.oa,p=e.r,f=e.ra,g=e.s,y=e.si,m=e.st,h=e.t},function(e){w=e.Eo,x=e.Xo},function(e){k=e.T,b=e.h,A=e.t},function(e){_=e.An,S=e.t}],execute:function(){try{t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},(N=(new t.Error).stack)&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[N]="486de5c3-ed2d-4e1f-9b3d-b5aa10fca15d",t._sentryDebugIdIdentifier="sentry-dbid-486de5c3-ed2d-4e1f-9b3d-b5aa10fca15d")}catch(t){}var t,N;I=["code-diff","text","block"],e("t",k(_.ASSISTANT,(()=>{const e=S(),k=A(),_=r(),N=a([]),T=h(),E=p(),C=g(),D=s((()=>C.workflowId?v(f(C.workflowId)):void 0)),R=o(),q=a(),V=a(null),P=i(),U=l(),M=m(),{suggestions:F,applyCodeDiff:j,undoCodeDiff:B}=c({chatMessages:N,getTargetNodeName:()=>H.value.node.name,getSessionId:()=>W.value}),O=a(),H=a(),W=a(),L=a(void 0),X=a(),$=a(),z=a("not_executed"),Y=a(),G=a(),J=a(!0),K=a(!0),Q=s((()=>N.value.filter((e=>"assistant"===e.role)))),Z=s((()=>N.value.filter((e=>"user"===e.role)))),ee=s((()=>{const e=Q.value[Q.value.length-1],t="event"===e?.type&&"end-session"===e?.eventName;return!(void 0!==W.value)||t})),te=s((()=>e.isAiAssistantEnabled)),ae=s((()=>x.includes(R.name)&&!C.activeNode())),se=s((()=>N.value.filter((e=>I.includes(e.type)&&"assistant"===e.role&&!e.read)).length)),ne=s((()=>!_.isOpen&&!ae.value&&te.value&&x.includes(R.name))),ie=s((()=>y(["rbac"],{rbac:{scope:"aiAssistant:manage"}}))),oe=s((()=>e.settings.ai.allowSendingParameterValues));function re(e){N.value=[],W.value=void 0,H.value=void 0,$.value=void 0,L.value=void 0,F.value={},z.value="not_executed",O.value=void 0,G.value=void 0,X.value=e}function ue(e,t){const a=_.isOpen&&"assistant"===_.activeMode,s=[...N.value].filter((e=>!(e.id===t&&"assistant"===e.role)));Y.value=void 0,(e??[]).forEach((e=>{"message"===e.type?s.push({id:t,type:"text",role:"assistant",content:e.text,quickReplies:e.quickReplies,codeSnippet:e.codeSnippet,read:a}):"code-diff"===e.type?s.push({id:t,role:"assistant",type:"code-diff",description:e.description,codeDiff:e.codeDiff,suggestionId:e.suggestionId,quickReplies:e.quickReplies,read:a}):"summary"===e.type?s.push({id:t,type:"block",role:"assistant",title:e.title,content:e.content,quickReplies:e.quickReplies,read:a}):"event"===e.type?s.push({id:t,type:"event",role:"assistant",eventName:e.eventName,read:!0}):"agent-suggestion"===e.type?s.push({id:t,type:"block",role:"assistant",title:e.title,content:e.text,quickReplies:e.quickReplies,read:a}):"intermediate-step"===e.type&&(Y.value=e.text)})),N.value=s}function le(e){const t=e.node.name;return"error"===G.value&&C.activeExecutionId===L.value&&t===H.value?.node.name}function de(){q.value=!1,V.value&&(V.value.abort(),V.value=null)}function ce(e){Y.value=e}function ve(e,t){N.value.push({id:t,role:"user",type:"text",content:e,read:!0})}function pe(e,t,a){b(e instanceof Error),de(),Y.value=void 0,"AbortError"!==e.name&&function(e,t,a){N.value.push({id:t,role:"assistant",type:"error",content:e,read:!0,retry:a})}(P.baseText("aiAssistant.serviceError.message",{interpolate:{message:e.message}}),t,a)}function fe(e,t){if(e.sessionId&&!W.value)W.value=e.sessionId,U.track("Assistant session started",{chat_session_id:W.value,task:G.value,node_type:H.value?.node.type,credential_type:O.value?.name}),1===Z.value.length&&"support"===G.value&&xe(Z.value[0].content,!1);else if(W.value!==e.sessionId)return;ue(e.messages,t)}function ge(){return`${Math.floor(1e8*Math.random())}`}function ye(e){de(),J.value=!1,K.value=!1,$.value=N.value.find((t=>t.id===e&&!t.read&&"assistant"===t.role&&I.includes(t.type))),setTimeout((()=>{$.value?.id===e&&($.value=void 0)}),4e3)}async function me(e){if("error"===G.value)return{aiUsageSettings:{allowSendingParameterValues:oe.value}};const t=R.name,a=C.activeNode(),s=a?await M.processNodeForAssistant(a,["position","parameters.notice"],{excludeParameterValues:!oe.value}):null,n=E.activeModals.includes("editCredential")?d().getCredentialTypeByName(E.activeCredentialType??""):void 0,i=C.workflowExecutionData?.data?.resultData,o=Boolean(i?.runData?.hasOwnProperty(a?.name??"")),r=i?.error&&"node"in i.error&&i.error.node?.name===a?.name?i.error:void 0,u=o?{status:r?"error":"success",error:r?M.simplifyErrorForAssistant(r):void 0}:void 0;return{aiUsageSettings:{allowSendingParameterValues:oe.value},currentView:{name:t,description:M.getCurrentViewDescription(t)},activeNodeInfo:{node:s??void 0,nodeIssues:o?void 0:a?.issues,executionStatus:u,nodeInputData:e?.nodeInputData,referencedNodes:e?.schemas},activeCredentials:n?{name:n?.name,displayName:n?.displayName,authType:e?.authType?.name}:void 0,currentWorkflow:J.value?await M.simplifyWorkflowForAssistant(C.workflow,{excludeParameterValues:!oe.value}):void 0,executionData:K.value&&i?M.simplifyResultData(i,{removeParameterValues:!oe.value}):void 0}}async function he(e,t,a){re(e),G.value=a?"credentials":"support";const s=C.activeNode(),n=M.getNodeInfoForAssistant(e,s,{excludeParameterValues:!oe.value}),i="support"===G.value?await me(n):{aiUsageSettings:{allowSendingParameterValues:oe.value}};n.authType&&"credentials"===G.value&&(t+=` I am using ${n.authType.name}.`);const o=ge();O.value=a,ve(t,o),ce(P.baseText("aiAssistant.thinkingSteps.thinking")),q.value=!0;let r={role:"user",type:"init-support-chat",user:{firstName:T.currentUser?.firstName??""},context:i,question:t};a&&(r={...r,type:"init-cred-help",credentialType:{name:a.name,displayName:a.displayName}}),V.value&&V.value.abort(),V.value=new AbortController,u(k.restApiContext,{payload:r},(e=>fe(e,o)),(()=>ye(o)),(s=>pe(s,o,(async()=>await he(e,t,a)))),V.value.signal)}async function we(e,t){if(ee.value||q.value)return;b(W.value);const a=ge();ce(P.baseText("aiAssistant.thinkingSteps.thinking")),q.value=!0,V.value&&V.value.abort(),V.value=new AbortController,u(k.restApiContext,{payload:{role:"user",type:"event",eventName:e,error:t},sessionId:W.value},(e=>fe(e,a)),(()=>ye(a)),(s=>pe(s,a,(async()=>await we(e,t)))),V.value.signal)}function xe(e,t){W.value&&U.track("User sent message in Assistant",{message:e,is_quick_reply:t,chat_session_id:W.value,message_number:Z.value.length,task:G.value,allow_sending_parameter_values:oe.value})}function ke({source:e,task:t,has_existing_session:a}){const s=0===(D.value?.allNodes??[]).length?"empty":"existing_workflow";U.track("User opened assistant",{source:e,task:t,has_existing_session:a,instance_id:k.instanceId,workflow_id:C.workflowId,canvas_status:s,node_type:H.value?.node?.type,error:H.value?.error,chat_session_id:W.value})}return n(R,(()=>{const e=C.workflowId;W.value&&X.value&&X.value!==e&&re(e)})),n((()=>E.stateIsDirty),(()=>{J.value=!0})),n((()=>C.workflowExecutionResultDataLastUpdate),(()=>{K.value=!0}),{immediate:!0}),{isAssistantEnabled:te,hideAssistantFloatingButton:ae,chatMessages:N,unreadCount:se,streaming:q,currentSessionId:W,lastUnread:$,isSessionEnded:ee,isFloatingButtonShown:ne,canManageAISettings:ie,onNodeExecution:async function(e){H.value&&e.nodeName===H.value.node.name&&"success"!==z.value&&(e.data.error&&"error"!==z.value?(await we("node-execution-errored",e.data.error),z.value="error",U.track("User executed node after assistant suggestion",{task:G.value,chat_session_id:W.value,success:!1})):"success"===e.data.executionStatus&&["error","not_executed"].includes(z.value)&&(await we("node-execution-succeeded"),z.value="success",U.track("User executed node after assistant suggestion",{task:G.value,chat_session_id:W.value,success:!0})))},trackUserOpenedAssistant:ke,isNodeErrorActive:le,initErrorHelper:async function e(t,a){const s=ge();if(H.value&&le(a))return;re(t),G.value="error",H.value=a,X.value=t,C.activeExecutionId&&(L.value=C.activeExecutionId);const{authType:n,nodeInputData:i,schemas:o}=M.getNodeInfoForAssistant(t,a.node,{excludeParameterValues:!oe.value});ce(P.baseText("aiAssistant.thinkingSteps.analyzingError")),q.value=!0;const r={role:"user",type:"init-error-helper",user:{firstName:T.currentUser?.firstName??""},error:a.error,node:await M.processNodeForAssistant(a.node,["position","parameters.notice"],{excludeParameterValues:!oe.value}),nodeInputData:i,executionSchema:o,authType:n,context:{aiUsageSettings:{allowSendingParameterValues:oe.value}}};V.value&&V.value.abort(),V.value=new AbortController,u(k.restApiContext,{payload:r},(e=>fe(e,s)),(()=>ye(s)),(n=>pe(n,s,(async()=>await e(t,a)))),V.value.signal)},initSupportChat:he,sendMessage:async function e(a,s){if(ee.value||q.value)return;const n=ge(),i=async()=>{N.value=N.value.filter((e=>e.id!==n)),await e(a,s)};try{ve(s.text,n),ce(P.baseText("aiAssistant.thinkingSteps.thinking")),q.value=!0,b(W.value),"new-suggestion"===s.quickReplyType&&"not_executed"!==z.value&&(z.value="not_executed");const e=C.activeNode(),t=await me(M.getNodeInfoForAssistant(a,e,{excludeParameterValues:!oe.value}));V.value&&V.value.abort(),V.value=new AbortController,u(k.restApiContext,{payload:{id:w(),role:"user",type:"message",text:s.text,quickReplyType:s.quickReplyType,context:t},sessionId:W.value},(e=>fe(e,n)),(()=>ye(n)),(e=>pe(e,n,i)),V.value.signal),xe(s.text,!!s.quickReplyType)}catch(t){pe(t,n,i)}},applyCodeDiff:j,undoCodeDiff:B,resetAssistantChat:re,addAssistantMessages:ue,assistantThinkingMessage:Y,chatSessionError:H,chatSessionTask:G,initCredHelp:async function(e,t){const a=!!W.value;await he(e,P.baseText("aiAssistant.builder.credentialHelpMessage",{interpolate:{credentialName:t.displayName}}),t),ke({source:"credential",task:"credentials",has_existing_session:a})},isCredTypeActive:function(e){return"credentials"===G.value&&e.name===O.value?.name},handleServiceError:pe,abortStreaming:function(){de()}}})))}}}));
//# sourceMappingURL=assistant.store-legacy-DDWm4tY4.js.map