@n8n/chat 0.59.0 → 0.59.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat.bundle.es.js +1 -1
- package/dist/chat.bundle.umd.js +1 -1
- package/dist/chat.es.js +1 -1
- package/dist/chat.umd.js +1 -1
- package/dist/style.css +1 -1
- package/package.json +2 -2
package/dist/chat.bundle.es.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var jy = Object.defineProperty;
|
|
2
2
|
var Vy = (e, t, n) => t in e ? jy(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
|
|
3
3
|
var Ts = (e, t, n) => Vy(e, typeof t != "symbol" ? t + "" : t, n);
|
|
4
|
-
/*! Package version @n8n/chat@0.59.
|
|
4
|
+
/*! Package version @n8n/chat@0.59.1 */
|
|
5
5
|
/**
|
|
6
6
|
* @vue/shared v3.5.13
|
|
7
7
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
package/dist/chat.bundle.umd.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(vt,qt){typeof exports=="object"&&typeof module<"u"?qt(exports):typeof define=="function"&&define.amd?define(["exports"],qt):(vt=typeof globalThis<"u"?globalThis:vt||self,qt(vt.N8nChat={}))})(this,(function(vt){"use strict";var HN=Object.defineProperty;var jN=(vt,qt,Ue)=>qt in vt?HN(vt,qt,{enumerable:!0,configurable:!0,writable:!0,value:Ue}):vt[qt]=Ue;var pa=(vt,qt,Ue)=>jN(vt,typeof qt!="symbol"?qt+"":qt,Ue);/*! Package version @n8n/chat@0.59.
|
|
1
|
+
(function(vt,qt){typeof exports=="object"&&typeof module<"u"?qt(exports):typeof define=="function"&&define.amd?define(["exports"],qt):(vt=typeof globalThis<"u"?globalThis:vt||self,qt(vt.N8nChat={}))})(this,(function(vt){"use strict";var HN=Object.defineProperty;var jN=(vt,qt,Ue)=>qt in vt?HN(vt,qt,{enumerable:!0,configurable:!0,writable:!0,value:Ue}):vt[qt]=Ue;var pa=(vt,qt,Ue)=>jN(vt,typeof qt!="symbol"?qt+"":qt,Ue);/*! Package version @n8n/chat@0.59.1 *//**
|
|
2
2
|
* @vue/shared v3.5.13
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
package/dist/chat.es.js
CHANGED
|
@@ -2,7 +2,7 @@ var bv = Object.defineProperty;
|
|
|
2
2
|
var yv = (e, t, n) => t in e ? bv(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
|
|
3
3
|
var bo = (e, t, n) => yv(e, typeof t != "symbol" ? t + "" : t, n);
|
|
4
4
|
import { nextTick as Me, ref as D, computed as I, createElementBlock as C, openBlock as b, createElementVNode as p, renderSlot as ae, inject as Le, isRef as Sp, defineComponent as Z, createVNode as he, withCtx as J, createTextVNode as mr, toDisplayString as ke, unref as _, createCommentVNode as te, getCurrentScope as Ep, onScopeDispose as Ap, readonly as $p, createBlock as Y, withModifiers as tt, onMounted as je, onUnmounted as Mp, normalizeStyle as Ue, withDirectives as rt, withKeys as ft, vModelText as Ip, Fragment as He, renderList as ot, onBeforeUnmount as Ft, getCurrentInstance as lt, watch as ue, warn as wv, shallowRef as mn, onBeforeMount as kv, provide as St, mergeProps as We, toRef as Bt, useAttrs as ao, useSlots as Tp, normalizeClass as H, resolveDynamicComponent as ht, vShow as Qt, Transition as er, reactive as zn, onUpdated as xv, cloneVNode as Cv, Text as Lp, Comment as Sv, Teleport as Ev, onDeactivated as Av, watchEffect as Kc, toRaw as Vo, toRefs as ss, triggerRef as Rr, resolveComponent as $n, resolveDirective as Xc, createSlots as Kr, h as Rt, normalizeProps as Xr, createStaticVNode as Dn, useCssModule as is, pushScopeId as $v, popScopeId as Mv, guardReactiveProps as Op, mergeDefaults as Rp, createApp as Iv } from "vue";
|
|
5
|
-
/*! Package version @n8n/chat@0.59.
|
|
5
|
+
/*! Package version @n8n/chat@0.59.1 */
|
|
6
6
|
const Pr = {
|
|
7
7
|
webhookUrl: "http://localhost:5678",
|
|
8
8
|
webhookConfig: {
|
package/dist/chat.umd.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(Ae,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],n):(Ae=typeof globalThis<"u"?globalThis:Ae||self,n(Ae.N8nChat={},Ae.Vue))})(this,(function(Ae,n){"use strict";var SR=Object.defineProperty;var BR=(Ae,n,Bt)=>n in Ae?SR(Ae,n,{enumerable:!0,configurable:!0,writable:!0,value:Bt}):Ae[n]=Bt;var qr=(Ae,n,Bt)=>BR(Ae,typeof n!="symbol"?n+"":n,Bt);/*! Package version @n8n/chat@0.59.
|
|
1
|
+
(function(Ae,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],n):(Ae=typeof globalThis<"u"?globalThis:Ae||self,n(Ae.N8nChat={},Ae.Vue))})(this,(function(Ae,n){"use strict";var SR=Object.defineProperty;var BR=(Ae,n,Bt)=>n in Ae?SR(Ae,n,{enumerable:!0,configurable:!0,writable:!0,value:Bt}):Ae[n]=Bt;var qr=(Ae,n,Bt)=>BR(Ae,typeof n!="symbol"?n+"":n,Bt);/*! Package version @n8n/chat@0.59.1 */const Bt={webhookUrl:"http://localhost:5678",webhookConfig:{method:"POST",headers:{}},target:"#n8n-chat",mode:"window",loadPreviousSession:!0,chatInputKey:"chatInput",chatSessionKey:"sessionId",defaultLanguage:"en",showWelcomeScreen:!1,initialMessages:["Hi there! 👋","My name is Nathan. How can I assist you today?"],i18n:{en:{title:"Hi there! 👋",subtitle:"Start a chat. We're here to help you 24/7.",footer:"",getStarted:"New Conversation",inputPlaceholder:"Type your question..",closeButtonTooltip:"Close chat"}},theme:{},enableStreaming:!1},e1="#n8n-chat",Jc="n8n-chat/sessionId",Qc="Chat",el="ChatOptions";for(var Ve=[],Dr=0;Dr<256;++Dr)Ve.push((Dr+256).toString(16).slice(1));function t1(e,t=0){return(Ve[e[t+0]]+Ve[e[t+1]]+Ve[e[t+2]]+Ve[e[t+3]]+"-"+Ve[e[t+4]]+Ve[e[t+5]]+"-"+Ve[e[t+6]]+Ve[e[t+7]]+"-"+Ve[e[t+8]]+Ve[e[t+9]]+"-"+Ve[e[t+10]]+Ve[e[t+11]]+Ve[e[t+12]]+Ve[e[t+13]]+Ve[e[t+14]]+Ve[e[t+15]]).toLowerCase()}var No,n1=new Uint8Array(16);function o1(){if(!No&&(No=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!No))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return No(n1)}var r1=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const tl={randomUUID:r1};function an(e,t,o){if(tl.randomUUID&&!e)return tl.randomUUID();e=e||{};var r=e.random||(e.rng||o1)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,t1(r)}async function s1(){return""}async function Pr(...e){var i,c;const t=await s1(),o=(i=e[1])==null?void 0:i.body,r={...t?{authorization:`Bearer ${t}`}:{},...(c=e[1])==null?void 0:c.headers};o instanceof FormData?delete r["Content-Type"]:r["Content-Type"]="application/json";const a=await fetch(e[0],{...e[1],mode:"cors",cache:"no-cache",headers:r});let s;try{s=await a.clone().json()}catch{s=await a.text()}return s}async function nl(e,t={},o={}){let r=e;return Object.keys(t).length>0&&(r=`${r}?${new URLSearchParams(t).toString()}`),await Pr(r,{...o,method:"GET"})}async function ol(e,t={},o={}){return await Pr(e,{...o,method:"POST",body:JSON.stringify(t)})}async function a1(e,t={},o=[],r={}){const a=new FormData;for(const s in t){const i=t[s];typeof i=="object"&&i!==null?a.append(s,JSON.stringify(i)):a.append(s,i)}for(const s of o)a.append("files",s);return await Pr(e,{...r,method:"POST",body:a})}async function i1(e,t){var r,a;return await(((r=t.webhookConfig)==null?void 0:r.method)==="POST"?ol:nl)(`${t.webhookUrl}`,{action:"loadPreviousSession",[t.chatSessionKey]:e,...t.metadata?{metadata:t.metadata}:{}},{headers:(a=t.webhookConfig)==null?void 0:a.headers})}async function c1(e,t,o,r){var s,i,c;return t.length>0?await a1(`${r.webhookUrl}`,{action:"sendMessage",[r.chatSessionKey]:o,[r.chatInputKey]:e,...r.metadata?{metadata:r.metadata}:{}},t,{headers:(s=r.webhookConfig)==null?void 0:s.headers}):await(((i=r.webhookConfig)==null?void 0:i.method)==="POST"?ol:nl)(`${r.webhookUrl}`,{action:"sendMessage",[r.chatSessionKey]:o,[r.chatInputKey]:e,...r.metadata?{metadata:r.metadata}:{}},{headers:(c=r.webhookConfig)==null?void 0:c.headers})}function l1(){let e="";const t=new TextDecoder;return new TransformStream({transform(o,r){e+=t.decode(o,{stream:!0});const a=e.split(`
|
|
2
2
|
`);e=a.pop()??"";for(const s of a)if(s.trim())try{const i=JSON.parse(s);r.enqueue(i)}catch{r.enqueue({type:"item",content:s})}},flush(o){if(e.trim())try{const r=JSON.parse(e);o.enqueue(r)}catch{o.enqueue({type:"item",content:e})}}})}async function u1(e,t,o,r,a){var l,d;const s=await(t.length>0?d1(e,t,o,r):f1(e,o,r));if(!s.ok){const f=await s.text();throw console.error("HTTP error response:",s.status,f),new Error(`Error while sending message. Error: ${f}`)}if(!s.body)throw new Error("Response body is not readable");const i=s.body.pipeThrough(l1()).getReader();let c=!1;try{for(;;){const{done:f,value:u}=await i.read();if(f)break;const g=((l=u.metadata)==null?void 0:l.nodeId)||"unknown",p=(d=u.metadata)==null?void 0:d.runIndex;switch(u.type){case"begin":a.onBeginMessage(g,p);break;case"item":c=!0,a.onChunk(u.content??"",g,p);break;case"end":a.onEndMessage(g,p);break;case"error":c=!0,a.onChunk(`Error: ${u.content??"Unknown error"}`,g,p),a.onEndMessage(g,p);break}}}finally{i.releaseLock()}return{hasReceivedChunks:c}}async function d1(e,t,o,r){var s;const a=new FormData;a.append("action","sendMessage"),a.append(r.chatSessionKey,o),a.append(r.chatInputKey,e),r.metadata&&a.append("metadata",JSON.stringify(r.metadata));for(const i of t)a.append("files",i);return await fetch(r.webhookUrl,{method:"POST",headers:{Accept:"text/plain",...(s=r.webhookConfig)==null?void 0:s.headers},body:a})}async function f1(e,t,o){var a;const r={action:"sendMessage",[o.chatSessionKey]:t,[o.chatInputKey]:e,...o.metadata?{metadata:o.metadata}:{}};return await fetch(o.webhookUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/plain",...(a=o.webhookConfig)==null?void 0:a.headers},body:JSON.stringify(r)})}function p1(){const e=new Map;function t(a,s){const i=e.get(a);i&&i.splice(i.indexOf(s)>>>0,1)}function o(a,s){let i=e.get(a);return i?i.push(s):i=[s],e.set(a,i),()=>t(a,s)}function r(a,s){const i=e.get(a);i&&i.slice().forEach(async c=>{await c(s)})}return{on:o,off:t,emit:r}}function h1(e){if(!document.querySelector(e)){const o=document.createElement("div");e.startsWith("#")&&(o.id=e.replace("#","")),e.startsWith(".")&&o.classList.add(e.replace(".","")),document.body.appendChild(o)}}function m1(e,t,o,r){const a=new URL(e).origin,s=a.startsWith("https")?"wss":"ws";return`${a.replace(/^https?/,s)}/chat?sessionId=${o}&executionId=${t}&isPublic=true`}const Ge=p1();class g1{constructor(){qr(this,"nodeRuns",new Map);qr(this,"runOrder",[]);qr(this,"activeRuns",new Set)}getRunKey(t,o){return o!==void 0?`${t}-${o}`:t}initializeRun(t,o){const r=this.getRunKey(t,o);if(!this.nodeRuns.has(r)){const a=xn();return this.nodeRuns.set(r,{content:"",isComplete:!1,message:a}),this.runOrder.push(r),a}return this.nodeRuns.get(r).message}registerRunStart(t,o){const r=this.getRunKey(t,o);this.activeRuns.add(r)}addRunToActive(t,o){const r=this.getRunKey(t,o);return this.activeRuns.add(r),this.initializeRun(t,o)}removeRunFromActive(t,o){const r=this.getRunKey(t,o);this.activeRuns.delete(r);const a=this.nodeRuns.get(r);a&&(a.isComplete=!0)}addChunkToRun(t,o,r){const a=this.getRunKey(t,r),s=this.nodeRuns.get(a);if(s){s.content+=o;const i={...s.message,text:s.content};return s.message=i,i}return null}getRunMessage(t,o){const r=this.getRunKey(t,o),a=this.nodeRuns.get(r);return(a==null?void 0:a.message)??null}areAllRunsComplete(){return Array.from(this.nodeRuns.values()).every(t=>t.isComplete)}getRunCount(){return this.runOrder.length}getActiveRunCount(){return this.activeRuns.size}getAllMessages(){return this.runOrder.map(t=>{var o;return(o=this.nodeRuns.get(t))==null?void 0:o.message}).filter(t=>t!==void 0)}reset(){this.nodeRuns.clear(),this.runOrder=[],this.activeRuns.clear()}}function xn(e){return{id:e??an(),type:"text",text:"",sender:"bot"}}function rl(e,t,o){const r=e.findIndex(a=>a.id===t);if(r===-1)throw new Error(`Can't update message. No message with id ${t} found`);e[r]=o}function _1(e,t,o,r,a,s){try{if(e==="")return;if(t){let i=o.getRunMessage(t,s);i||(i=o.addRunToActive(t,s),a.value.push(i));const c=o.addChunkToRun(t,e,s);c&&rl(a.value,c.id,c)}else{r.value||(r.value=xn(),a.value.push(r.value));const i={...r.value,text:r.value.text+e};rl(a.value,r.value.id,i),r.value=i}n.nextTick(()=>{Ge.emit("scrollToBottom")})}catch(i){console.error("Error handling stream chunk:",i)}}function b1(e,t,o){try{t.registerRunStart(e,o)}catch(r){console.error("Error handling node start:",r)}}function k1(e,t,o){try{t.removeRunFromActive(e,o)}catch(r){console.error("Error handling node complete:",r)}}function w1(e,t=[]){return{id:an(),text:e,sender:"user",files:t}}function y1(e){let t=e.output??e.text??e.message??"";if(t===""&&Object.keys(e).length>0)try{t=JSON.stringify(e,null,2)}catch{}return t}function C1(e){const{receivedMessage:t,messages:o}=e;t.value&&o.value.some(a=>a.sender==="bot"&&"text"in a&&a.text.trim().length>0)||(t.value=xn(),o.value.push(t.value)),t.value.text="[No response received. This could happen if streaming is enabled in the trigger but disabled in agent node(s)]"}function E1(e){const{error:t,receivedMessage:o,messages:r}=e;o.value??(o.value=xn()),o.value.text="Error: Failed to receive response",r.value.includes(o.value)||r.value.push(o.value),console.error("Chat API error:",t)}async function x1(e){const{text:t,files:o,sessionId:r,options:a,messages:s,receivedMessage:i,streamingManager:c}=e,l={onChunk:(f,u,g)=>{_1(f,u,c,i,s,g)},onBeginMessage:(f,u)=>{b1(f,c,u)},onEndMessage:(f,u)=>{k1(f,c,u)}},{hasReceivedChunks:d}=await u1(t,o,r,a,l);d||C1({receivedMessage:i,messages:s})}async function v1(e){const{text:t,files:o,sessionId:r,options:a}=e,s=await c1(t,o,r,a);if(s!=null&&s.executionStarted)return{response:s};const i=xn();return i.text=y1(s),{botMessage:i}}const S1={install(e,t){e.provide(el,t);const o=n.ref([]),r=n.ref(null),a=n.ref(!1),s=n.computed(()=>(t.initialMessages??[]).map(f=>({id:an(),text:f,sender:"bot"})));async function i(f,u=[]){var m;const g=w1(f,u);o.value.push(g),a.value=!0,n.nextTick(()=>{Ge.emit("scrollToBottom")});const p=n.ref(null),_=new g1;try{if(t!=null&&t.enableStreaming)await x1({text:f,files:u,sessionId:r.value,options:t,messages:o,receivedMessage:p,streamingManager:_});else{const b=await v1({text:f,files:u,sessionId:r.value,options:t});if((m=b.response)!=null&&m.executionStarted)return a.value=!1,b.response;b.botMessage&&(p.value=b.botMessage,o.value.push(b.botMessage))}}catch(b){E1({error:b,receivedMessage:p,messages:o})}finally{a.value=!1}return n.nextTick(()=>{Ge.emit("scrollToBottom")}),null}async function c(){if(!t.loadPreviousSession)return;const f=localStorage.getItem(Jc)??an(),u=await i1(f,t);return o.value=((u==null?void 0:u.data)||[]).map((g,p)=>({id:`${p}`,text:g.kwargs.content,sender:g.id.includes("HumanMessage")?"user":"bot"})),o.value.length&&(r.value=f),f}async function l(){r.value=an(),localStorage.setItem(Jc,r.value)}const d={initialMessages:s,messages:o,currentSessionId:r,waitingForResponse:a,loadPreviousSession:c,startNewSession:l,sendMessage:i};e.provide(Qc,d),e.config.globalProperties.$chat=d}};var vn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Sn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Fr,sl;function B1(){if(sl)return Fr;sl=1;function e(E){return E instanceof Map?E.clear=E.delete=E.set=function(){throw new Error("map is read-only")}:E instanceof Set&&(E.add=E.clear=E.delete=function(){throw new Error("set is read-only")}),Object.freeze(E),Object.getOwnPropertyNames(E).forEach(N=>{const R=E[N],Y=typeof R;(Y==="object"||Y==="function")&&!Object.isFrozen(R)&&e(R)}),E}class t{constructor(N){N.data===void 0&&(N.data={}),this.data=N.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function o(E){return E.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function r(E,...N){const R=Object.create(null);for(const Y in E)R[Y]=E[Y];return N.forEach(function(Y){for(const ue in Y)R[ue]=Y[ue]}),R}const a="</span>",s=E=>!!E.scope,i=(E,{prefix:N})=>{if(E.startsWith("language:"))return E.replace("language:","language-");if(E.includes(".")){const R=E.split(".");return[`${N}${R.shift()}`,...R.map((Y,ue)=>`${Y}${"_".repeat(ue+1)}`)].join(" ")}return`${N}${E}`};class c{constructor(N,R){this.buffer="",this.classPrefix=R.classPrefix,N.walk(this)}addText(N){this.buffer+=o(N)}openNode(N){if(!s(N))return;const R=i(N.scope,{prefix:this.classPrefix});this.span(R)}closeNode(N){s(N)&&(this.buffer+=a)}value(){return this.buffer}span(N){this.buffer+=`<span class="${N}">`}}const l=(E={})=>{const N={children:[]};return Object.assign(N,E),N};class d{constructor(){this.rootNode=l(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(N){this.top.children.push(N)}openNode(N){const R=l({scope:N});this.add(R),this.stack.push(R)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(N){return this.constructor._walk(N,this.rootNode)}static _walk(N,R){return typeof R=="string"?N.addText(R):R.children&&(N.openNode(R),R.children.forEach(Y=>this._walk(N,Y)),N.closeNode(R)),N}static _collapse(N){typeof N!="string"&&N.children&&(N.children.every(R=>typeof R=="string")?N.children=[N.children.join("")]:N.children.forEach(R=>{d._collapse(R)}))}}class f extends d{constructor(N){super(),this.options=N}addText(N){N!==""&&this.add(N)}startScope(N){this.openNode(N)}endScope(){this.closeNode()}__addSublanguage(N,R){const Y=N.root;R&&(Y.scope=`language:${R}`),this.add(Y)}toHTML(){return new c(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function u(E){return E?typeof E=="string"?E:E.source:null}function g(E){return m("(?=",E,")")}function p(E){return m("(?:",E,")*")}function _(E){return m("(?:",E,")?")}function m(...E){return E.map(R=>u(R)).join("")}function b(E){const N=E[E.length-1];return typeof N=="object"&&N.constructor===Object?(E.splice(E.length-1,1),N):{}}function h(...E){return"("+(b(E).capture?"":"?:")+E.map(Y=>u(Y)).join("|")+")"}function k(E){return new RegExp(E.toString()+"|").exec("").length-1}function w(E,N){const R=E&&E.exec(N);return R&&R.index===0}const y=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function x(E,{joinWith:N}){let R=0;return E.map(Y=>{R+=1;const ue=R;let me=u(Y),K="";for(;me.length>0;){const U=y.exec(me);if(!U){K+=me;break}K+=me.substring(0,U.index),me=me.substring(U.index+U[0].length),U[0][0]==="\\"&&U[1]?K+="\\"+String(Number(U[1])+ue):(K+=U[0],U[0]==="("&&R++)}return K}).map(Y=>`(${Y})`).join(N)}const C=/\b\B/,v="[a-zA-Z]\\w*",S="[a-zA-Z_]\\w*",T="\\b\\d+(\\.\\d+)?",$="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",M="\\b(0b[01]+)",V="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",X=(E={})=>{const N=/^#![ ]*\//;return E.binary&&(E.begin=m(N,/.*\b/,E.binary,/\b.*/)),r({scope:"meta",begin:N,end:/$/,relevance:0,"on:begin":(R,Y)=>{R.index!==0&&Y.ignoreMatch()}},E)},I={begin:"\\\\[\\s\\S]",relevance:0},H={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[I]},L={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[I]},z={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},O=function(E,N,R={}){const Y=r({scope:"comment",begin:E,end:N,contains:[]},R);Y.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const ue=h("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return Y.contains.push({begin:m(/[ ]+/,"(",ue,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),Y},P=O("//","$"),B=O("/\\*","\\*/"),D=O("#","$"),q={scope:"number",begin:T,relevance:0},W={scope:"number",begin:$,relevance:0},Q={scope:"number",begin:M,relevance:0},re={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[I,{begin:/\[/,end:/\]/,relevance:0,contains:[I]}]},ce={scope:"title",begin:v,relevance:0},we={scope:"title",begin:S,relevance:0},_e={begin:"\\.\\s*"+S,relevance:0};var Z=Object.freeze({__proto__:null,APOS_STRING_MODE:H,BACKSLASH_ESCAPE:I,BINARY_NUMBER_MODE:Q,BINARY_NUMBER_RE:M,COMMENT:O,C_BLOCK_COMMENT_MODE:B,C_LINE_COMMENT_MODE:P,C_NUMBER_MODE:W,C_NUMBER_RE:$,END_SAME_AS_BEGIN:function(E){return Object.assign(E,{"on:begin":(N,R)=>{R.data._beginMatch=N[1]},"on:end":(N,R)=>{R.data._beginMatch!==N[1]&&R.ignoreMatch()}})},HASH_COMMENT_MODE:D,IDENT_RE:v,MATCH_NOTHING_RE:C,METHOD_GUARD:_e,NUMBER_MODE:q,NUMBER_RE:T,PHRASAL_WORDS_MODE:z,QUOTE_STRING_MODE:L,REGEXP_MODE:re,RE_STARTERS_RE:V,SHEBANG:X,TITLE_MODE:ce,UNDERSCORE_IDENT_RE:S,UNDERSCORE_TITLE_MODE:we});function te(E,N){E.input[E.index-1]==="."&&N.ignoreMatch()}function de(E,N){E.className!==void 0&&(E.scope=E.className,delete E.className)}function ye(E,N){N&&E.beginKeywords&&(E.begin="\\b("+E.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",E.__beforeBegin=te,E.keywords=E.keywords||E.beginKeywords,delete E.beginKeywords,E.relevance===void 0&&(E.relevance=0))}function Ne(E,N){Array.isArray(E.illegal)&&(E.illegal=h(...E.illegal))}function Ie(E,N){if(E.match){if(E.begin||E.end)throw new Error("begin & end are not supported with match");E.begin=E.match,delete E.match}}function qe(E,N){E.relevance===void 0&&(E.relevance=1)}const Mt=(E,N)=>{if(!E.beforeMatch)return;if(E.starts)throw new Error("beforeMatch cannot be used with starts");const R=Object.assign({},E);Object.keys(E).forEach(Y=>{delete E[Y]}),E.keywords=R.keywords,E.begin=m(R.beforeMatch,g(R.begin)),E.starts={relevance:0,contains:[Object.assign(R,{endsParent:!0})]},E.relevance=0,delete R.beforeMatch},ot=["of","and","for","in","not","or","if","then","parent","list","value"],Et="keyword";function He(E,N,R=Et){const Y=Object.create(null);return typeof E=="string"?ue(R,E.split(" ")):Array.isArray(E)?ue(R,E):Object.keys(E).forEach(function(me){Object.assign(Y,He(E[me],N,me))}),Y;function ue(me,K){N&&(K=K.map(U=>U.toLowerCase())),K.forEach(function(U){const oe=U.split("|");Y[oe[0]]=[me,ht(oe[0],oe[1])]})}}function ht(E,N){return N?Number(N):rt(E)?0:1}function rt(E){return ot.includes(E.toLowerCase())}const xt={},Oe=E=>{console.error(E)},F=(E,...N)=>{console.log(`WARN: ${E}`,...N)},ne=(E,N)=>{xt[`${E}/${N}`]||(console.log(`Deprecated as of ${E}. ${N}`),xt[`${E}/${N}`]=!0)},Ce=new Error;function Me(E,N,{key:R}){let Y=0;const ue=E[R],me={},K={};for(let U=1;U<=N.length;U++)K[U+Y]=ue[U],me[U+Y]=!0,Y+=k(N[U-1]);E[R]=K,E[R]._emit=me,E[R]._multi=!0}function vt(E){if(Array.isArray(E.begin)){if(E.skip||E.excludeBegin||E.returnBegin)throw Oe("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Ce;if(typeof E.beginScope!="object"||E.beginScope===null)throw Oe("beginScope must be object"),Ce;Me(E,E.begin,{key:"beginScope"}),E.begin=x(E.begin,{joinWith:""})}}function kn(E){if(Array.isArray(E.end)){if(E.skip||E.excludeEnd||E.returnEnd)throw Oe("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Ce;if(typeof E.endScope!="object"||E.endScope===null)throw Oe("endScope must be object"),Ce;Me(E,E.end,{key:"endScope"}),E.end=x(E.end,{joinWith:""})}}function wn(E){E.scope&&typeof E.scope=="object"&&E.scope!==null&&(E.beginScope=E.scope,delete E.scope)}function Gn(E){wn(E),typeof E.beginScope=="string"&&(E.beginScope={_wrap:E.beginScope}),typeof E.endScope=="string"&&(E.endScope={_wrap:E.endScope}),vt(E),kn(E)}function vo(E){function N(K,U){return new RegExp(u(K),"m"+(E.case_insensitive?"i":"")+(E.unicodeRegex?"u":"")+(U?"g":""))}class R{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(U,oe){oe.position=this.position++,this.matchIndexes[this.matchAt]=oe,this.regexes.push([oe,U]),this.matchAt+=k(U)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const U=this.regexes.map(oe=>oe[1]);this.matcherRe=N(x(U,{joinWith:"|"}),!0),this.lastIndex=0}exec(U){this.matcherRe.lastIndex=this.lastIndex;const oe=this.matcherRe.exec(U);if(!oe)return null;const Le=oe.findIndex((st,Gc)=>Gc>0&&st!==void 0),ge=this.matchIndexes[Le];return oe.splice(0,Le),Object.assign(oe,ge)}}class Y{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(U){if(this.multiRegexes[U])return this.multiRegexes[U];const oe=new R;return this.rules.slice(U).forEach(([Le,ge])=>oe.addRule(Le,ge)),oe.compile(),this.multiRegexes[U]=oe,oe}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(U,oe){this.rules.push([U,oe]),oe.type==="begin"&&this.count++}exec(U){const oe=this.getMatcher(this.regexIndex);oe.lastIndex=this.lastIndex;let Le=oe.exec(U);if(this.resumingScanAtSamePosition()&&!(Le&&Le.index===this.lastIndex)){const ge=this.getMatcher(0);ge.lastIndex=this.lastIndex+1,Le=ge.exec(U)}return Le&&(this.regexIndex+=Le.position+1,this.regexIndex===this.count&&this.considerAll()),Le}}function ue(K){const U=new Y;return K.contains.forEach(oe=>U.addRule(oe.begin,{rule:oe,type:"begin"})),K.terminatorEnd&&U.addRule(K.terminatorEnd,{type:"end"}),K.illegal&&U.addRule(K.illegal,{type:"illegal"}),U}function me(K,U){const oe=K;if(K.isCompiled)return oe;[de,Ie,Gn,Mt].forEach(ge=>ge(K,U)),E.compilerExtensions.forEach(ge=>ge(K,U)),K.__beforeBegin=null,[ye,Ne,qe].forEach(ge=>ge(K,U)),K.isCompiled=!0;let Le=null;return typeof K.keywords=="object"&&K.keywords.$pattern&&(K.keywords=Object.assign({},K.keywords),Le=K.keywords.$pattern,delete K.keywords.$pattern),Le=Le||/\w+/,K.keywords&&(K.keywords=He(K.keywords,E.case_insensitive)),oe.keywordPatternRe=N(Le,!0),U&&(K.begin||(K.begin=/\B|\b/),oe.beginRe=N(oe.begin),!K.end&&!K.endsWithParent&&(K.end=/\B|\b/),K.end&&(oe.endRe=N(oe.end)),oe.terminatorEnd=u(oe.end)||"",K.endsWithParent&&U.terminatorEnd&&(oe.terminatorEnd+=(K.end?"|":"")+U.terminatorEnd)),K.illegal&&(oe.illegalRe=N(K.illegal)),K.contains||(K.contains=[]),K.contains=[].concat(...K.contains.map(function(ge){return Zn(ge==="self"?K:ge)})),K.contains.forEach(function(ge){me(ge,oe)}),K.starts&&me(K.starts,U),oe.matcher=ue(oe),oe}if(E.compilerExtensions||(E.compilerExtensions=[]),E.contains&&E.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return E.classNameAliases=r(E.classNameAliases||{}),me(E)}function Gt(E){return E?E.endsWithParent||Gt(E.starts):!1}function Zn(E){return E.variants&&!E.cachedVariants&&(E.cachedVariants=E.variants.map(function(N){return r(E,{variants:null},N)})),E.cachedVariants?E.cachedVariants:Gt(E)?r(E,{starts:E.starts?r(E.starts):null}):Object.isFrozen(E)?r(E):E}var So="11.11.1";class yn extends Error{constructor(N,R){super(N),this.name="HTMLInjectionError",this.html=R}}const on=o,Kn=r,Cn=Symbol("nomatch"),Bo=7,Wn=function(E){const N=Object.create(null),R=Object.create(null),Y=[];let ue=!0;const me="Could not find the language '{}', did you forget to load/include a language module?",K={disableAutodetect:!0,name:"Plain text",contains:[]};let U={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:f};function oe(j){return U.noHighlightRe.test(j)}function Le(j){let ee=j.className+" ";ee+=j.parentNode?j.parentNode.className:"";const fe=U.languageDetectRe.exec(ee);if(fe){const xe=rn(fe[1]);return xe||(F(me.replace("{}",fe[1])),F("Falling back to no-highlight mode for this block.",j)),xe?fe[1]:"no-highlight"}return ee.split(/\s+/).find(xe=>oe(xe)||rn(xe))}function ge(j,ee,fe){let xe="",Re="";typeof ee=="object"?(xe=j,fe=ee.ignoreIllegals,Re=ee.language):(ne("10.7.0","highlight(lang, code, ...args) has been deprecated."),ne("10.7.0",`Please use highlight(code, options) instead.
|
|
3
3
|
https://github.com/highlightjs/highlight.js/issues/2277`),Re=j,xe=ee),fe===void 0&&(fe=!0);const St={code:xe,language:Re};Rr("before:highlight",St);const sn=St.result?St.result:st(St.language,St.code,fe);return sn.code=St.code,Rr("after:highlight",sn),sn}function st(j,ee,fe,xe){const Re=Object.create(null);function St(G,J){return G.keywords[J]}function sn(){if(!se.keywords){De.addText(ve);return}let G=0;se.keywordPatternRe.lastIndex=0;let J=se.keywordPatternRe.exec(ve),ie="";for(;J;){ie+=ve.substring(G,J.index);const Ee=Lt.case_insensitive?J[0].toLowerCase():J[0],Ue=St(se,Ee);if(Ue){const[Zt,xR]=Ue;if(De.addText(ie),ie="",Re[Ee]=(Re[Ee]||0)+1,Re[Ee]<=Bo&&(zr+=xR),Zt.startsWith("_"))ie+=J[0];else{const vR=Lt.classNameAliases[Zt]||Zt;It(J[0],vR)}}else ie+=J[0];G=se.keywordPatternRe.lastIndex,J=se.keywordPatternRe.exec(ve)}ie+=ve.substring(G),De.addText(ie)}function Or(){if(ve==="")return;let G=null;if(typeof se.subLanguage=="string"){if(!N[se.subLanguage]){De.addText(ve);return}G=st(se.subLanguage,ve,!0,Qg[se.subLanguage]),Qg[se.subLanguage]=G._top}else G=Zc(ve,se.subLanguage.length?se.subLanguage:null);se.relevance>0&&(zr+=G.relevance),De.__addSublanguage(G._emitter,G.language)}function at(){se.subLanguage!=null?Or():sn(),ve=""}function It(G,J){G!==""&&(De.startScope(J),De.addText(G),De.endScope())}function Wg(G,J){let ie=1;const Ee=J.length-1;for(;ie<=Ee;){if(!G._emit[ie]){ie++;continue}const Ue=Lt.classNameAliases[G[ie]]||G[ie],Zt=J[ie];Ue?It(Zt,Ue):(ve=Zt,sn(),ve=""),ie++}}function Xg(G,J){return G.scope&&typeof G.scope=="string"&&De.openNode(Lt.classNameAliases[G.scope]||G.scope),G.beginScope&&(G.beginScope._wrap?(It(ve,Lt.classNameAliases[G.beginScope._wrap]||G.beginScope._wrap),ve=""):G.beginScope._multi&&(Wg(G.beginScope,J),ve="")),se=Object.create(G,{parent:{value:se}}),se}function Yg(G,J,ie){let Ee=w(G.endRe,ie);if(Ee){if(G["on:end"]){const Ue=new t(G);G["on:end"](J,Ue),Ue.isMatchIgnored&&(Ee=!1)}if(Ee){for(;G.endsParent&&G.parent;)G=G.parent;return G}}if(G.endsWithParent)return Yg(G.parent,J,ie)}function kR(G){return se.matcher.regexIndex===0?(ve+=G[0],1):(Yc=!0,0)}function wR(G){const J=G[0],ie=G.rule,Ee=new t(ie),Ue=[ie.__beforeBegin,ie["on:begin"]];for(const Zt of Ue)if(Zt&&(Zt(G,Ee),Ee.isMatchIgnored))return kR(J);return ie.skip?ve+=J:(ie.excludeBegin&&(ve+=J),at(),!ie.returnBegin&&!ie.excludeBegin&&(ve=J)),Xg(ie,G),ie.returnBegin?0:J.length}function yR(G){const J=G[0],ie=ee.substring(G.index),Ee=Yg(se,G,ie);if(!Ee)return Cn;const Ue=se;se.endScope&&se.endScope._wrap?(at(),It(J,se.endScope._wrap)):se.endScope&&se.endScope._multi?(at(),Wg(se.endScope,G)):Ue.skip?ve+=J:(Ue.returnEnd||Ue.excludeEnd||(ve+=J),at(),Ue.excludeEnd&&(ve=J));do se.scope&&De.closeNode(),!se.skip&&!se.subLanguage&&(zr+=se.relevance),se=se.parent;while(se!==Ee.parent);return Ee.starts&&Xg(Ee.starts,G),Ue.returnEnd?0:J.length}function CR(){const G=[];for(let J=se;J!==Lt;J=J.parent)J.scope&&G.unshift(J.scope);G.forEach(J=>De.openNode(J))}let Vr={};function Jg(G,J){const ie=J&&J[0];if(ve+=G,ie==null)return at(),0;if(Vr.type==="begin"&&J.type==="end"&&Vr.index===J.index&&ie===""){if(ve+=ee.slice(J.index,J.index+1),!ue){const Ee=new Error(`0 width match regex (${j})`);throw Ee.languageName=j,Ee.badRule=Vr.rule,Ee}return 1}if(Vr=J,J.type==="begin")return wR(J);if(J.type==="illegal"&&!fe){const Ee=new Error('Illegal lexeme "'+ie+'" for mode "'+(se.scope||"<unnamed>")+'"');throw Ee.mode=se,Ee}else if(J.type==="end"){const Ee=yR(J);if(Ee!==Cn)return Ee}if(J.type==="illegal"&&ie==="")return ve+=`
|
|
4
4
|
`,1;if(Xc>1e5&&Xc>J.index*3)throw new Error("potential infinite loop, way more iterations than matches");return ve+=ie,ie.length}const Lt=rn(j);if(!Lt)throw Oe(me.replace("{}",j)),new Error('Unknown language: "'+j+'"');const ER=vo(Lt);let Wc="",se=xe||ER;const Qg={},De=new U.__emitter(U);CR();let ve="",zr=0,En=0,Xc=0,Yc=!1;try{if(Lt.__emitTokens)Lt.__emitTokens(ee,De);else{for(se.matcher.considerAll();;){Xc++,Yc?Yc=!1:se.matcher.considerAll(),se.matcher.lastIndex=En;const G=se.matcher.exec(ee);if(!G)break;const J=ee.substring(En,G.index),ie=Jg(J,G);En=G.index+ie}Jg(ee.substring(En))}return De.finalize(),Wc=De.toHTML(),{language:j,value:Wc,relevance:zr,illegal:!1,_emitter:De,_top:se}}catch(G){if(G.message&&G.message.includes("Illegal"))return{language:j,value:on(ee),illegal:!0,relevance:0,_illegalBy:{message:G.message,index:En,context:ee.slice(En-100,En+100),mode:G.mode,resultSoFar:Wc},_emitter:De};if(ue)return{language:j,value:on(ee),illegal:!1,relevance:0,errorRaised:G,_emitter:De,_top:se};throw G}}function Gc(j){const ee={value:on(j),illegal:!1,relevance:0,_top:K,_emitter:new U.__emitter(U)};return ee._emitter.addText(j),ee}function Zc(j,ee){ee=ee||U.languages||Object.keys(N);const fe=Gc(j),xe=ee.filter(rn).filter(Kg).map(at=>st(at,j,!1));xe.unshift(fe);const Re=xe.sort((at,It)=>{if(at.relevance!==It.relevance)return It.relevance-at.relevance;if(at.language&&It.language){if(rn(at.language).supersetOf===It.language)return 1;if(rn(It.language).supersetOf===at.language)return-1}return 0}),[St,sn]=Re,Or=St;return Or.secondBest=sn,Or}function cR(j,ee,fe){const xe=ee&&R[ee]||fe;j.classList.add("hljs"),j.classList.add(`language-${xe}`)}function Kc(j){let ee=null;const fe=Le(j);if(oe(fe))return;if(Rr("before:highlightElement",{el:j,language:fe}),j.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",j);return}if(j.children.length>0&&(U.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(j)),U.throwUnescapedHTML))throw new yn("One of your code blocks includes unescaped HTML.",j.innerHTML);ee=j;const xe=ee.textContent,Re=fe?ge(xe,{language:fe,ignoreIllegals:!0}):Zc(xe);j.innerHTML=Re.value,j.dataset.highlighted="yes",cR(j,fe,Re.language),j.result={language:Re.language,re:Re.relevance,relevance:Re.relevance},Re.secondBest&&(j.secondBest={language:Re.secondBest.language,relevance:Re.secondBest.relevance}),Rr("after:highlightElement",{el:j,result:Re,text:xe})}function lR(j){U=Kn(U,j)}const uR=()=>{Lr(),ne("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function dR(){Lr(),ne("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let Gg=!1;function Lr(){function j(){Lr()}if(document.readyState==="loading"){Gg||window.addEventListener("DOMContentLoaded",j,!1),Gg=!0;return}document.querySelectorAll(U.cssSelector).forEach(Kc)}function fR(j,ee){let fe=null;try{fe=ee(E)}catch(xe){if(Oe("Language definition for '{}' could not be registered.".replace("{}",j)),ue)Oe(xe);else throw xe;fe=K}fe.name||(fe.name=j),N[j]=fe,fe.rawDefinition=ee.bind(null,E),fe.aliases&&Zg(fe.aliases,{languageName:j})}function pR(j){delete N[j];for(const ee of Object.keys(R))R[ee]===j&&delete R[ee]}function hR(){return Object.keys(N)}function rn(j){return j=(j||"").toLowerCase(),N[j]||N[R[j]]}function Zg(j,{languageName:ee}){typeof j=="string"&&(j=[j]),j.forEach(fe=>{R[fe.toLowerCase()]=ee})}function Kg(j){const ee=rn(j);return ee&&!ee.disableAutodetect}function mR(j){j["before:highlightBlock"]&&!j["before:highlightElement"]&&(j["before:highlightElement"]=ee=>{j["before:highlightBlock"](Object.assign({block:ee.el},ee))}),j["after:highlightBlock"]&&!j["after:highlightElement"]&&(j["after:highlightElement"]=ee=>{j["after:highlightBlock"](Object.assign({block:ee.el},ee))})}function gR(j){mR(j),Y.push(j)}function _R(j){const ee=Y.indexOf(j);ee!==-1&&Y.splice(ee,1)}function Rr(j,ee){const fe=j;Y.forEach(function(xe){xe[fe]&&xe[fe](ee)})}function bR(j){return ne("10.7.0","highlightBlock will be removed entirely in v12.0"),ne("10.7.0","Please use highlightElement now."),Kc(j)}Object.assign(E,{highlight:ge,highlightAuto:Zc,highlightAll:Lr,highlightElement:Kc,highlightBlock:bR,configure:lR,initHighlighting:uR,initHighlightingOnLoad:dR,registerLanguage:fR,unregisterLanguage:pR,listLanguages:hR,getLanguage:rn,registerAliases:Zg,autoDetection:Kg,inherit:Kn,addPlugin:gR,removePlugin:_R}),E.debugMode=function(){ue=!1},E.safeMode=function(){ue=!0},E.versionString=So,E.regex={concat:m,lookahead:g,either:h,optional:_,anyNumberOfTimes:p};for(const j in Z)typeof Z[j]=="object"&&e(Z[j]);return Object.assign(E,Z),E},A=Wn({});return A.newInstance=()=>Wn({}),Fr=A,A.HighlightJS=A,A.default=A,Fr}var N1=B1();const Rt=Sn(N1),al="[A-Za-z$_][0-9A-Za-z$_]*",A1=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],$1=["true","false","null","undefined","NaN","Infinity"],il=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],cl=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],ll=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],T1=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],M1=[].concat(ll,il,cl);function ul(e){const t=e.regex,o=(O,{after:P})=>{const B="</"+O[0].slice(1);return O.input.indexOf(B,P)!==-1},r=al,a={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,i={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(O,P)=>{const B=O[0].length+O.index,D=O.input[B];if(D==="<"||D===","){P.ignoreMatch();return}D===">"&&(o(O,{after:B})||P.ignoreMatch());let q;const W=O.input.substring(B);if(q=W.match(/^\s*=/)){P.ignoreMatch();return}if((q=W.match(/^\s+extends\s+/))&&q.index===0){P.ignoreMatch();return}}},c={$pattern:al,keyword:A1,literal:$1,built_in:M1,"variable.language":T1},l="[0-9](_?[0-9])*",d=`\\.(${l})`,f="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",u={className:"number",variants:[{begin:`(\\b(${f})((${d})|\\.)?|(${d}))[eE][+-]?(${l})\\b`},{begin:`\\b(${f})\\b((${d})\\b|\\.)?|(${d})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},g={className:"subst",begin:"\\$\\{",end:"\\}",keywords:c,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,g],subLanguage:"xml"}},_={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,g],subLanguage:"css"}},m={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,g],subLanguage:"graphql"}},b={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,g]},k={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},w=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,_,m,b,{match:/\$\d+/},u];g.contains=w.concat({begin:/\{/,end:/\}/,keywords:c,contains:["self"].concat(w)});const y=[].concat(k,g.contains),x=y.concat([{begin:/(\s*)\(/,end:/\)/,keywords:c,contains:["self"].concat(y)}]),C={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:c,contains:x},v={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},S={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...il,...cl]}},T={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},$={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[C],illegal:/%/},M={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function V(O){return t.concat("(?!",O.join("|"),")")}const X={match:t.concat(/\b/,V([...ll,"super","import"].map(O=>`${O}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},I={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},H={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},C]},L="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",z={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(L)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[C]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:c,exports:{PARAMS_CONTAINS:x,CLASS_REFERENCE:S},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),T,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,_,m,b,k,{match:/\$\d+/},u,S,{scope:"attr",match:r+t.lookahead(":"),relevance:0},z,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[k,e.REGEXP_MODE,{className:"function",begin:L,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:c,contains:x}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:a.begin,end:a.end},{match:s},{begin:i.begin,"on:begin":i.isTrulyOpeningTag,end:i.end}],subLanguage:"xml",contains:[{begin:i.begin,end:i.end,skip:!0,contains:["self"]}]}]},$,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[C,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},I,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[C]},X,M,v,H,{match:/\$[(.]/}]}}function dl(e){const t=e.regex,o=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,a={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},i=e.inherit(s,{begin:/\(/,end:/\)/}),c=e.inherit(e.APOS_STRING_MODE,{className:"string"}),l=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),d={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:r,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[a]},{begin:/'/,end:/'/,contains:[a]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[s,l,c,i,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[s,i,l,c]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[d],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[d],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(/</,t.lookahead(t.concat(o,t.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:o,relevance:0,starts:d}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(o,/>/))),contains:[{className:"name",begin:o,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}const I1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function L1(e,t){return n.openBlock(),n.createElementBlock("svg",I1,t[0]||(t[0]=[n.createElementVNode("path",{fill:"currentColor",d:"M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12z"},null,-1)]))}const R1={name:"mdi-close",render:L1},it=(e,t)=>{const o=e.__vccOpts||e;for(const[r,a]of t)o[r]=a;return o},O1={},V1={class:"chat-button"};function z1(e,t){return n.openBlock(),n.createElementBlock("button",V1,[n.renderSlot(e.$slots,"default")])}const q1=it(O1,[["render",z1]]);function jr(){return n.inject(Qc)}function Xn(){return{options:n.inject(el)}}function Ao(){const{options:e}=Xn(),t=(e==null?void 0:e.defaultLanguage)??"en";function o(a){var i,c;const s=(c=(i=e==null?void 0:e.i18n)==null?void 0:i[t])==null?void 0:c[a];return n.isRef(s)?s.value:s??a}function r(a){var s,i;return!!((i=(s=e==null?void 0:e.i18n)==null?void 0:s[t])!=null&&i[a])}return{t:o,te:r}}const D1={class:"chat-get-started"},P1=n.defineComponent({__name:"GetStarted",setup(e){const{t}=Ao();return(o,r)=>(n.openBlock(),n.createElementBlock("div",D1,[n.createVNode(q1,{onClick:r[0]||(r[0]=a=>o.$emit("click:button"))},{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(t)("getStarted")),1)]),_:1})]))}}),F1={},j1={class:"chat-powered-by"};function H1(e,t){return n.openBlock(),n.createElementBlock("div",j1,t[0]||(t[0]=[n.createTextVNode(" Powered by "),n.createElementVNode("a",{href:"https://n8n.io?utm_source=n8n-external&utm_medium=widget-powered-by"},"n8n",-1)]))}const U1=it(F1,[["render",H1]]),G1={class:"chat-get-started-footer"},Z1={key:0},K1=n.defineComponent({__name:"GetStartedFooter",setup(e){const{t,te:o}=Ao();return(r,a)=>(n.openBlock(),n.createElementBlock("div",G1,[n.unref(o)("footer")?(n.openBlock(),n.createElementBlock("div",Z1,n.toDisplayString(n.unref(t)("footer")),1)):n.createCommentVNode("",!0),n.createVNode(U1)]))}});function W1(e){return n.getCurrentScope()?(n.onScopeDispose(e),!0):!1}function X1(){const e=new Set,t=a=>{e.delete(a)};return{on:a=>{e.add(a);const s=()=>t(a);return W1(s),{off:s}},off:t,trigger:(...a)=>Promise.all(Array.from(e).map(s=>s(...a)))}}const Y1=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const J1=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Q1=Y1?window.document:void 0,e_={multiple:!0,accept:"*",reset:!1,directory:!1};function t_(e={}){const{document:t=Q1}=e,o=n.ref(null),{on:r,trigger:a}=X1();let s;t&&(s=t.createElement("input"),s.type="file",s.onchange=l=>{const d=l.target;o.value=d.files,a(o.value)});const i=()=>{o.value=null,s&&s.value&&(s.value="",a(null))},c=l=>{if(!s)return;const d={...e_,...e,...l};s.multiple=d.multiple,s.accept=d.accept,s.webkitdirectory=d.directory,J1(d,"capture")&&(s.capture=d.capture),d.reset&&i(),s.click()};return{files:n.readonly(o),open:c,reset:i,onChange:r}}const n_={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function o_(e,t){return n.openBlock(),n.createElementBlock("svg",n_,t[0]||(t[0]=[n.createElementVNode("path",{fill:"currentColor",d:"M16.5 6v11.5a4 4 0 0 1-4 4a4 4 0 0 1-4-4V5A2.5 2.5 0 0 1 11 2.5A2.5 2.5 0 0 1 13.5 5v10.5a1 1 0 0 1-1 1a1 1 0 0 1-1-1V6H10v9.5a2.5 2.5 0 0 0 2.5 2.5a2.5 2.5 0 0 0 2.5-2.5V5a4 4 0 0 0-4-4a4 4 0 0 0-4 4v12.5a5.5 5.5 0 0 0 5.5 5.5a5.5 5.5 0 0 0 5.5-5.5V6z"},null,-1)]))}const r_={name:"mdi-paperclip",render:o_},s_={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function a_(e,t){return n.openBlock(),n.createElementBlock("svg",s_,t[0]||(t[0]=[n.createElementVNode("path",{fill:"currentColor",d:"m2 21l21-9L2 3v7l15 2l-15 2z"},null,-1)]))}const i_={name:"mdi-send",render:a_},c_={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function l_(e,t){return n.openBlock(),n.createElementBlock("svg",c_,t[0]||(t[0]=[n.createElementVNode("path",{fill:"currentColor",d:"M20 6.91L17.09 4L12 9.09L6.91 4L4 6.91L9.09 12L4 17.09L6.91 20L12 14.91L17.09 20L20 17.09L14.91 12z"},null,-1)]))}const u_={name:"mdi-closeThick",render:l_},d_={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function f_(e,t){return n.openBlock(),n.createElementBlock("svg",d_,t[0]||(t[0]=[n.createElementVNode("path",{fill:"currentColor",d:"M13 9h5.5L13 3.5zM6 2h8l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4c0-1.11.89-2 2-2m0 18h12v-8l-4 4l-2-2zM8 9a2 2 0 0 0-2 2a2 2 0 0 0 2 2a2 2 0 0 0 2-2a2 2 0 0 0-2-2"},null,-1)]))}const p_={name:"mdi-fileImage",render:f_},h_={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function m_(e,t){return n.openBlock(),n.createElementBlock("svg",h_,t[0]||(t[0]=[n.createElementVNode("path",{fill:"currentColor",d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8zm-1 11h-2v5a2 2 0 0 1-2 2a2 2 0 0 1-2-2a2 2 0 0 1 2-2c.4 0 .7.1 1 .3V11h3zm0-4V3.5L18.5 9z"},null,-1)]))}const g_={name:"mdi-fileMusic",render:m_},__={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function b_(e,t){return n.openBlock(),n.createElementBlock("svg",__,t[0]||(t[0]=[n.createElementVNode("path",{fill:"currentColor",d:"M13 9h5.5L13 3.5zM6 2h8l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4c0-1.11.89-2 2-2m9 16v-2H6v2zm3-4v-2H6v2z"},null,-1)]))}const fl={name:"mdi-fileText",render:b_},k_={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function w_(e,t){return n.openBlock(),n.createElementBlock("svg",k_,t[0]||(t[0]=[n.createElementVNode("path",{fill:"currentColor",d:"M13 9h5.5L13 3.5zM6 2h8l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4c0-1.11.89-2 2-2m11 17v-6l-3 2.2V13H7v6h7v-2.2z"},null,-1)]))}const y_={name:"mdi-fileVideo",render:w_},C_={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function E_(e,t){return n.openBlock(),n.createElementBlock("svg",C_,t[0]||(t[0]=[n.createElementVNode("path",{fill:"currentColor",d:"M14 3v2h3.59l-9.83 9.83l1.41 1.41L19 6.41V10h2V3m-2 16H5V5h7V3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7h-2z"},null,-1)]))}const x_={name:"mdi-openInNew",render:E_},v_={class:"chat-file-name"},pl=it(n.defineComponent({__name:"ChatFile",props:{file:{},isRemovable:{type:Boolean},isPreviewable:{type:Boolean}},emits:["remove"],setup(e,{emit:t}){const o=e,r=t,a={document:fl,audio:g_,image:p_,video:y_},s=n.computed(()=>{var d;const l=(d=o.file)==null?void 0:d.type.split("/")[0];return a[l]||fl});function i(){o.isPreviewable&&window.open(URL.createObjectURL(o.file))}function c(){r("remove",o.file)}return(l,d)=>(n.openBlock(),n.createElementBlock("div",{class:"chat-file",onClick:i},[n.createVNode(n.unref(s)),n.createElementVNode("p",v_,n.toDisplayString(l.file.name),1),l.isRemovable?(n.openBlock(),n.createElementBlock("span",{key:0,class:"chat-file-delete",onClick:n.withModifiers(c,["stop"])},[n.createVNode(n.unref(u_))])):l.isPreviewable?(n.openBlock(),n.createBlock(n.unref(x_),{key:1,class:"chat-file-preview"})):n.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-e0d57af7"]]),S_={class:"chat-inputs"},B_={key:0,class:"chat-input-left-panel"},N_=["disabled","placeholder"],A_={class:"chat-inputs-controls"},$_=["disabled"],T_=["disabled"],M_={key:0,class:"chat-files"},I_=it(n.defineComponent({__name:"Input",props:{placeholder:{default:"inputPlaceholder"}},emits:["arrowKeyDown","escapeKeyDown"],setup(e,{emit:t}){const o=e,{t:r}=Ao(),a=t,{options:s}=Xn(),i=jr(),{waitingForResponse:c}=i,l=n.ref(null),d=n.ref(null),f=n.ref(""),u=n.ref(!1),g=n.ref(null),p=n.ref(!1),_=n.computed(()=>{var B;return p.value?!1:f.value===""||n.unref(c)||((B=s.disabled)==null?void 0:B.value)===!0}),m=n.computed(()=>{var B;return((B=s.disabled)==null?void 0:B.value)===!0}),b=n.computed(()=>{var B;return h.value&&n.unref(c)&&!((B=s.disabled)!=null&&B.value)}),h=n.computed(()=>n.unref(s.allowFileUploads)===!0),k=n.computed(()=>n.unref(s.allowedFilesMimeTypes)),w=n.computed(()=>({"--controls-count":h.value?2:1})),{open:y,reset:x,onChange:C}=t_({multiple:!0,reset:!1});C(B=>{if(!B)return;const D=new DataTransfer;if(l.value)for(let q=0;q<l.value.length;q++)D.items.add(l.value[q]);for(let q=0;q<B.length;q++)D.items.add(B[q]);l.value=D.files}),n.onMounted(()=>{Ge.on("focusInput",S),Ge.on("blurInput",v),Ge.on("setInputValue",T),d.value&&(g.value=new ResizeObserver(B=>{for(const D of B)D.target===d.value&&P()}),g.value.observe(d.value))}),n.onUnmounted(()=>{Ge.off("focusInput",S),Ge.off("blurInput",v),Ge.off("setInputValue",T),g.value&&(g.value.disconnect(),g.value=null)});function v(){d.value&&d.value.blur()}function S(){d.value&&d.value.focus()}function T(B){f.value=B,S()}function $(){if(l.value){const B=Array.from(l.value);return x(),l.value=null,B}return[]}function M(B){if(s.webhookUrl&&i.currentSessionId.value)try{const D=m1(s.webhookUrl,B,i.currentSessionId.value,!0);i.ws=new WebSocket(D),i.ws.onmessage=q=>{var Q;if(q.data==="n8n|heartbeat"){(Q=i.ws)==null||Q.send("n8n|heartbeat-ack");return}if(q.data==="n8n|continue"){p.value=!1,i.waitingForResponse.value=!0;return}const W={id:an(),text:q.data,sender:"bot"};i.messages.value.push(W),p.value=!0,i.waitingForResponse.value=!1},i.ws.onclose=()=>{i.ws=null,p.value=!1,i.waitingForResponse.value=!1}}catch(D){console.error("Error setting up websocket connection",D)}}async function V(B){if(!B||B.length===0)return[];const D=B.map(async q=>new Promise((W,Q)=>{const re=new FileReader;re.onload=()=>W({name:q.name,type:q.type,data:re.result}),re.onerror=()=>{var ce;return Q(new Error(`Error reading file: ${((ce=re.error)==null?void 0:ce.message)??"Unknown error"}`))},re.readAsDataURL(q)}));return await Promise.all(D)}async function X(B,D){const q={id:an(),text:D,sender:"user",files:l.value?$():void 0};i.messages.value.push(q),B.send(JSON.stringify({sessionId:i.currentSessionId.value,action:"sendMessage",chatInput:D,files:await V(q.files)})),i.waitingForResponse.value=!0,p.value=!1}async function I(B){if(B.preventDefault(),_.value)return;const D=f.value;if(f.value="",u.value=!0,i.ws&&p.value){await X(i.ws,D);return}const q=await i.sendMessage(D,$());q!=null&&q.executionId&&M(q.executionId),u.value=!1}async function H(B){B.shiftKey||B.isComposing||(await I(B),P())}function L(B){if(!l.value)return;const D=new DataTransfer;for(let q=0;q<l.value.length;q++){const W=l.value[q];B.name!==W.name&&D.items.add(W)}x(),l.value=D.files}function z(B){B.key==="ArrowUp"||B.key==="ArrowDown"?(B.preventDefault(),a("arrowKeyDown",{key:B.key,currentInputValue:f.value})):B.key==="Escape"&&(B.preventDefault(),a("escapeKeyDown",{currentInputValue:f.value}))}function O(){b.value||y({accept:n.unref(k)})}function P(){const B=d.value;if(!B)return;B.style.height="var(--chat--textarea--height)";const D=Math.min(B.scrollHeight,480);B.style.height=`${D}px`}return(B,D)=>{var q;return n.openBlock(),n.createElementBlock("div",{class:"chat-input",style:n.normalizeStyle(w.value),onKeydown:n.withModifiers(z,["stop"])},[n.createElementVNode("div",S_,[B.$slots.leftPanel?(n.openBlock(),n.createElementBlock("div",B_,[n.renderSlot(B.$slots,"leftPanel",{},void 0,!0)])):n.createCommentVNode("",!0),n.withDirectives(n.createElementVNode("textarea",{ref_key:"chatTextArea",ref:d,"onUpdate:modelValue":D[0]||(D[0]=W=>f.value=W),"data-test-id":"chat-input",disabled:m.value,placeholder:n.unref(r)(o.placeholder),onKeydown:n.withKeys(H,["enter"]),onInput:P,onMousedown:P,onFocus:P},null,40,N_),[[n.vModelText,f.value]]),n.createElementVNode("div",A_,[h.value?(n.openBlock(),n.createElementBlock("button",{key:0,disabled:b.value,class:"chat-input-file-button","data-test-id":"chat-attach-file-button",onClick:O},[n.createVNode(n.unref(r_),{height:"24",width:"24"})],8,$_)):n.createCommentVNode("",!0),n.createElementVNode("button",{disabled:_.value,class:"chat-input-send-button",onClick:I},[n.createVNode(n.unref(i_),{height:"24",width:"24"})],8,T_)])]),(q=l.value)!=null&&q.length&&(!u.value||p.value)?(n.openBlock(),n.createElementBlock("div",M_,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(l.value,W=>(n.openBlock(),n.createBlock(pl,{key:W.name,file:W,"is-removable":!0,"is-previewable":!0,onRemove:L},null,8,["file"]))),128))])):n.createCommentVNode("",!0)],36)}}}),[["__scopeId","data-v-040531b3"]]),L_={class:"chat-layout"},R_={key:0,class:"chat-header"},O_={key:2,class:"chat-footer"},V_=n.defineComponent({__name:"Layout",setup(e){const t=n.ref(null);function o(){const r=t.value;r&&(r.scrollTop=r.scrollHeight)}return n.onMounted(()=>{Ge.on("scrollToBottom",o),window.addEventListener("resize",o)}),n.onBeforeUnmount(()=>{Ge.off("scrollToBottom",o),window.removeEventListener("resize",o)}),(r,a)=>(n.openBlock(),n.createElementBlock("main",L_,[r.$slots.header?(n.openBlock(),n.createElementBlock("div",R_,[n.renderSlot(r.$slots,"header")])):n.createCommentVNode("",!0),r.$slots.default?(n.openBlock(),n.createElementBlock("div",{key:1,ref_key:"chatBodyRef",ref:t,class:"chat-body"},[n.renderSlot(r.$slots,"default")],512)):n.createCommentVNode("",!0),r.$slots.footer?(n.openBlock(),n.createElementBlock("div",O_,[n.renderSlot(r.$slots,"footer")])):n.createCommentVNode("",!0)]))}}),z_=/(%|)\{([0-9a-zA-Z_]+)\}/g;function q_(){const e=(o,r)=>r in o;function t(o,...r){if(typeof o=="function")return o(r);const a=o;let s=r;return r.length===1&&typeof r[0]=="object"&&(s=r[0]),s!=null&&s.hasOwnProperty||(s={}),a.replace(z_,(i,c,l,d)=>{let f;return a[d-1]==="{"&&a[d+i.length]==="}"?`${l}`:(f=e(s,l)?`${s[l]}`:null,f??"")})}return t}const D_={"generic.retry":"Retry","generic.cancel":"Cancel","generic.ignore":"Ignore","generic.ignoreAll":"Ignore all","generic.moreInfo":"More info","nds.auth.roles.owner":"Owner","nds.userInfo.you":"(you)","nds.userSelect.selectUser":"Select User","nds.userSelect.noMatchingUsers":"No matching users","notice.showMore":"Show more","notice.showLess":"Show less","formInput.validator.fieldRequired":"This field is required","formInput.validator.minCharactersRequired":"Must be at least {minimum} characters","formInput.validator.maxCharactersRequired":"Must be at most {maximum} characters","formInput.validator.oneNumbersRequired":e=>`Must have at least ${e.minimum} number${e.minimum>1?"s":""}`,"formInput.validator.validEmailRequired":"Must be a valid email","formInput.validator.uppercaseCharsRequired":e=>`Must have at least ${e.minimum} uppercase character${e.minimum>1?"s":""}`,"formInput.validator.defaultPasswordRequirements":"8+ characters, at least 1 number and 1 capital letter","sticky.markdownHint":'You can style with <a href="https://docs.n8n.io/workflows/sticky-notes/" target="_blank">Markdown</a>',"tags.showMore":e=>`+${e} more`,"datatable.pageSize":"Page size","codeDiff.couldNotReplace":"Could not replace code","codeDiff.codeReplaced":"Code replaced","codeDiff.replaceMyCode":"Replace my code","codeDiff.replacing":"Replacing...","codeDiff.undo":"Undo","betaTag.beta":"beta","askAssistantButton.askAssistant":"Ask Assistant","assistantChat.builder.name":"AI Builder","assistantChat.builder.generatingFinalWorkflow":"Generating final workflow...","assistantChat.builder.configuredNodes":"Configured nodes","assistantChat.builder.thumbsUp":"Helpful","assistantChat.builder.thumbsDown":"Not helpful","assistantChat.builder.feedbackPlaceholder":"What went wrong?","assistantChat.builder.success":"Thank you for your feedback!","assistantChat.builder.submit":"Submit feedback","assistantChat.builder.workflowGenerated1":"Your workflow was created successfully!","assistantChat.builder.workflowGenerated2":"Fix any missing credentials before testing it.","assistantChat.builder.configuringNodes":"Configuring nodes...","assistantChat.builder.selectedNodes":"Selected workflow nodes","assistantChat.builder.selectingNodes":"Selecting nodes...","assistantChat.builder.generatedNodes":"Generated workflow nodes","assistantChat.builder.toolRunning":"Tool still running","assistantChat.builder.toolError":"Some tool calls have failed. Agent will retry these.","assistantChat.errorParsingMarkdown":"Error parsing markdown content","assistantChat.aiAssistantLabel":"AI Assistant","assistantChat.aiAssistantName":"Assistant","assistantChat.sessionEndMessage.1":"This Assistant session has ended. To start a new session with the Assistant, click an","assistantChat.sessionEndMessage.2":"button in n8n","assistantChat.you":"You","assistantChat.quickRepliesTitle":"Quick reply 👇","assistantChat.placeholder.1":()=>"I can answer most questions about building workflows in n8n.","assistantChat.placeholder.2":"For specific tasks, you’ll see the","assistantChat.placeholder.3":"button in the UI.","assistantChat.placeholder.4":"How can I help?","assistantChat.inputPlaceholder":"Enter your response...","assistantChat.copy":"Copy","assistantChat.copied":"Copied","assistantChat.characterLimit":"You've reached the {limit} character limit","aiAssistant.builder.canvas.thinking":"Working...","inlineAskAssistantButton.asked":"Asked","iconPicker.button.defaultToolTip":"Choose icon","iconPicker.tabs.icons":"Icons","iconPicker.tabs.emojis":"Emojis","selectableList.addDefault":"+ Add a","auth.changePassword.passwordsMustMatchError":"Passwords must match","tableControlsButton.display":"Display","tableControlsButton.shown":"Shown","tableControlsButton.hidden":"Hidden","promptInput.creditsInfo":"<b>{remaining}/{total}</b> monthly credits left","promptInput.getMore":"Get more","promptInput.askAdminToUpgrade":"Ask your admin to upgrade the instance to get more credits","promptInput.characterLimitReached":"You've reached the {limit} character limit","promptInput.remainingCredits":"Remaining builder AI credits: <b>{count}</b>","promptInput.monthlyCredits":"Monthly credits: <b>{count}</b>","promptInput.creditsRenew":"Credits renew on: <b>{date}</b>","promptInput.creditsExpire":"Unused credits expire {date}"},P_=q_();let hl=D_;const F_=function(e,t){return hl[e]!==void 0?P_(hl[e],...t?[t]:[]):""},Ot=(e,t,{checkForDefaultPrevented:o=!0}={})=>a=>{const s=e==null?void 0:e(a);if(o===!1||!s)return t==null?void 0:t(a)};var ml;const Pe=typeof window<"u",j_=e=>typeof e=="string",gl=()=>{},_l=Pe&&((ml=window==null?void 0:window.navigator)==null?void 0:ml.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function bl(e){return typeof e=="function"?e():n.unref(e)}function H_(e){return e}function Hr(e){return n.getCurrentScope()?(n.onScopeDispose(e),!0):!1}function U_(e,t=!0){n.getCurrentInstance()?n.onMounted(e):t?e():n.nextTick(e)}function Kt(e){var t;const o=bl(e);return(t=o==null?void 0:o.$el)!=null?t:o}const Ur=Pe?window:void 0;function cn(...e){let t,o,r,a;if(j_(e[0])||Array.isArray(e[0])?([o,r,a]=e,t=Ur):[t,o,r,a]=e,!t)return gl;Array.isArray(o)||(o=[o]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(f=>f()),s.length=0},c=(f,u,g,p)=>(f.addEventListener(u,g,p),()=>f.removeEventListener(u,g,p)),l=n.watch(()=>[Kt(t),bl(a)],([f,u])=>{i(),f&&s.push(...o.flatMap(g=>r.map(p=>c(f,g,p,u))))},{immediate:!0,flush:"post"}),d=()=>{l(),i()};return Hr(d),d}let kl=!1;function G_(e,t,o={}){const{window:r=Ur,ignore:a=[],capture:s=!0,detectIframe:i=!1}=o;if(!r)return;_l&&!kl&&(kl=!0,Array.from(r.document.body.children).forEach(g=>g.addEventListener("click",gl)));let c=!0;const l=g=>a.some(p=>{if(typeof p=="string")return Array.from(r.document.querySelectorAll(p)).some(_=>_===g.target||g.composedPath().includes(_));{const _=Kt(p);return _&&(g.target===_||g.composedPath().includes(_))}}),f=[cn(r,"click",g=>{const p=Kt(e);if(!(!p||p===g.target||g.composedPath().includes(p))){if(g.detail===0&&(c=!l(g)),!c){c=!0;return}t(g)}},{passive:!0,capture:s}),cn(r,"pointerdown",g=>{const p=Kt(e);p&&(c=!g.composedPath().includes(p)&&!l(g))},{passive:!0}),i&&cn(r,"blur",g=>{var p;const _=Kt(e);((p=r.document.activeElement)==null?void 0:p.tagName)==="IFRAME"&&!(_!=null&&_.contains(r.document.activeElement))&&t(g)})].filter(Boolean);return()=>f.forEach(g=>g())}function Z_(e,t=!1){const o=n.ref(),r=()=>o.value=!!e();return r(),U_(r,t),o}const wl=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},yl="__vueuse_ssr_handlers__";wl[yl]=wl[yl]||{};var Cl=Object.getOwnPropertySymbols,K_=Object.prototype.hasOwnProperty,W_=Object.prototype.propertyIsEnumerable,X_=(e,t)=>{var o={};for(var r in e)K_.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(e!=null&&Cl)for(var r of Cl(e))t.indexOf(r)<0&&W_.call(e,r)&&(o[r]=e[r]);return o};function $o(e,t,o={}){const r=o,{window:a=Ur}=r,s=X_(r,["window"]);let i;const c=Z_(()=>a&&"ResizeObserver"in a),l=()=>{i&&(i.disconnect(),i=void 0)},d=n.watch(()=>Kt(e),u=>{l(),c.value&&a&&u&&(i=new ResizeObserver(t),i.observe(u,s))},{immediate:!0,flush:"post"}),f=()=>{l(),d()};return Hr(f),{isSupported:c,stop:f}}var El;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(El||(El={}));var Y_=Object.defineProperty,xl=Object.getOwnPropertySymbols,J_=Object.prototype.hasOwnProperty,Q_=Object.prototype.propertyIsEnumerable,vl=(e,t,o)=>t in e?Y_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,eb=(e,t)=>{for(var o in t||(t={}))J_.call(t,o)&&vl(e,o,t[o]);if(xl)for(var o of xl(t))Q_.call(t,o)&&vl(e,o,t[o]);return e};eb({linear:H_},{easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]});const tb=()=>Pe&&/firefox/i.test(window.navigator.userAgent),Gr=e=>{let t,o;return e.type==="touchend"?(o=e.changedTouches[0].clientY,t=e.changedTouches[0].clientX):e.type.startsWith("touch")?(o=e.touches[0].clientY,t=e.touches[0].clientX):(o=e.clientY,t=e.clientX),{clientX:t,clientY:o}};/**
|
package/dist/style.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! Package version @n8n/chat@0.59.
|
|
1
|
+
/*! Package version @n8n/chat@0.59.1 */
|
|
2
2
|
@charset "UTF-8";:root{--chat--color-primary: #e74266;--chat--color-primary-shade-50: #db4061;--chat--color-primary-shade-100: #cf3c5c;--chat--color-secondary: #20b69e;--chat--color-secondary-shade-50: #1ca08a;--chat--color-white: #fff;--chat--color-light: #f2f4f8;--chat--color-light-shade-50: #e6e9f1;--chat--color-light-shade-100: #c2c5cc;--chat--color-medium: #d2d4d9;--chat--color-dark: #101330;--chat--color-disabled: #d2d4d9;--chat--color-typing: #404040;--chat--spacing: 1rem;--chat--border-radius: .25rem;--chat--transition-duration: .15s;--chat--font-family: ( -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif );--chat--window--width: 400px;--chat--window--height: 600px;--chat--window--bottom: var(--chat--spacing);--chat--window--right: var(--chat--spacing);--chat--window--z-index: 9999;--chat--window--border: 1px solid var(--chat--color-light-shade-50);--chat--window--border-radius: var(--chat--border-radius);--chat--window--margin-bottom: var(--chat--spacing);--chat--header-height: auto;--chat--header--padding: var(--chat--spacing);--chat--header--background: var(--chat--color-dark);--chat--header--color: var(--chat--color-light);--chat--header--border-top: none;--chat--header--border-bottom: none;--chat--header--border-left: none;--chat--header--border-right: none;--chat--heading--font-size: 2em;--chat--subtitle--font-size: inherit;--chat--subtitle--line-height: 1.8;--chat--message--font-size: 1rem;--chat--message--padding: var(--chat--spacing);--chat--message--border-radius: var(--chat--border-radius);--chat--message-line-height: 1.5;--chat--message--margin-bottom: calc(var(--chat--spacing) * 1);--chat--message--bot--background: var(--chat--color-white);--chat--message--bot--color: var(--chat--color-dark);--chat--message--bot--border: none;--chat--message--user--background: var(--chat--color-secondary);--chat--message--user--color: var(--chat--color-white);--chat--message--user--border: none;--chat--message--pre--background: rgba(0, 0, 0, .05);--chat--messages-list--padding: var(--chat--spacing);--chat--toggle--size: 64px;--chat--toggle--width: var(--chat--toggle--size);--chat--toggle--height: var(--chat--toggle--size);--chat--toggle--border-radius: 50%;--chat--toggle--background: var(--chat--color-primary);--chat--toggle--hover--background: var(--chat--color-primary-shade-50);--chat--toggle--active--background: var(--chat--color-primary-shade-100);--chat--toggle--color: var(--chat--color-white);--chat--textarea--height: 50px;--chat--textarea--max-height: 30rem;--chat--input--font-size: inherit;--chat--input--border: 0;--chat--input--border-radius: 0;--chat--input--padding: .8rem;--chat--input--background: var(--chat--color-white);--chat--input--text-color: initial;--chat--input--line-height: 1.5;--chat--input--placeholder--font-size: var(--chat--input--font-size);--chat--input--border-active: 0;--chat--input--left--panel--width: 2rem;--chat--button--color: var(--chat--color-light);--chat--button--background: var(--chat--color-primary);--chat--button--padding: calc(var(--chat--spacing) * 1 / 2) var(--chat--spacing);--chat--button--border-radius: var(--chat--border-radius);--chat--button--hover--color: var(--chat--color-light);--chat--button--hover--background: var(--chat--color-primary-shade-50);--chat--close--button--color-hover: var(--chat--color-primary);--chat--input--send--button--background: var(--chat--color-white);--chat--input--send--button--color: var(--chat--color-secondary);--chat--input--send--button--background-hover: var(--chat--color-primary-shade-50);--chat--input--send--button--color-hover: var(--chat--color-secondary-shade-50);--chat--input--file--button--background: var(--chat--color-white);--chat--input--file--button--color: var(--chat--color-secondary);--chat--input--file--button--background-hover: var(--chat--input--file--button--background);--chat--input--file--button--color-hover: var(--chat--color-secondary-shade-50);--chat--files-spacing: .25rem;--chat--body--background: var(--chat--color-light);--chat--footer--background: var(--chat--color-light);--chat--footer--color: var(--chat--color-dark)}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
|
|
3
3
|
Theme: GitHub
|
|
4
4
|
Description: Light theme as seen on github.com
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@n8n/chat",
|
|
3
|
-
"version": "0.59.
|
|
3
|
+
"version": "0.59.1",
|
|
4
4
|
"types": "./dist/index.d.ts",
|
|
5
5
|
"main": "./dist/chat.umd.js",
|
|
6
6
|
"module": "./dist/chat.es.js",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"uuid": "10.0.0",
|
|
33
33
|
"vue": "^3.5.13",
|
|
34
34
|
"vue-markdown-render": "^2.2.1",
|
|
35
|
-
"@n8n/design-system": "1.101.
|
|
35
|
+
"@n8n/design-system": "1.101.1"
|
|
36
36
|
},
|
|
37
37
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
38
38
|
"homepage": "https://n8n.io",
|