function xa(r,i){var e=typeof Symbol!="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(!e){if(Array.isArray(r)||(e=In(r))||i){e&&(r=e);var t=0,n=function(){};return{s:n,n:function(){return t>=r.length?{done:!0}:{done:!1,value:r[t++]}},e:function(u){throw u},f:n}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,o=!1;return{s:function(){e=e.call(r)},n:function(){var u=e.next();return s=u.done,u},e:function(u){o=!0,a=u},f:function(){try{s||e.return==null||e.return()}finally{if(o)throw a}}}}function ln(r){var i=typeof Map=="function"?new Map:void 0;return ln=function(t){if(t===null||!Ia(t))return t;if(typeof t!="function")throw new TypeError("Super expression must either be null or a function");if(i!==void 0){if(i.has(t))return i.get(t);i.set(t,n)}function n(){return Ma(t,arguments,tt(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),nt(n,t)},ln(r)}function Ma(r,i,e){if(xn())return Reflect.construct.apply(null,arguments);var t=[null];t.push.apply(t,i);var n=new(r.bind.apply(r,t));return e&&nt(n,e.prototype),n}function Ia(r){try{return Function.toString.call(r).indexOf("[native code]")!==-1}catch(i){return typeof r=="function"}}function O(r,i,e){return i=tt(i),Ra(r,xn()?Reflect.construct(i,e||[],tt(r).constructor):i.apply(r,e))}function Ra(r,i){if(i&&(I(i)=="object"||typeof i=="function"))return i;if(i!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return $e(r)}function $e(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function xn(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(i){}return(xn=function(){return!!r})()}function tt(r){return tt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(i){return i.__proto__||Object.getPrototypeOf(i)},tt(r)}function P(r,i){if(typeof i!="function"&&i!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(i&&i.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),i&&nt(r,i)}function nt(r,i){return nt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},nt(r,i)}function Mn(r,i){return Pa(r)||Oa(r,i)||In(r,i)||La()}function La(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Oa(r,i){var e=r==null?null:typeof Symbol!="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(e!=null){var t,n,a,s,o=[],l=!0,u=!1;try{if(a=(e=e.call(r)).next,i!==0)for(;!(l=(t=a.call(e)).done)&&(o.push(t.value),o.length!==i);l=!0);}catch(c){u=!0,n=c}finally{try{if(!l&&e.return!=null&&(s=e.return(),Object(s)!==s))return}finally{if(u)throw n}}return o}}function Pa(r){if(Array.isArray(r))return r}function f(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */f=function(){return i};var r,i={},e=Object.prototype,t=e.hasOwnProperty,n=Object.defineProperty||function(T,E,C){T[E]=C.value},a=typeof Symbol=="function"?Symbol:{},s=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function u(T,E,C){return Object.defineProperty(T,E,{value:C,enumerable:!0,configurable:!0,writable:!0}),T[E]}try{u({},"")}catch(T){u=function(C,R,D){return C[R]=D}}function c(T,E,C,R){var D=E&&E.prototype instanceof S?E:S,N=Object.create(D.prototype),$=new G(R||[]);return n(N,"_invoke",{value:Z(T,C,$)}),N}function d(T,E,C){try{return{type:"normal",arg:T.call(E,C)}}catch(R){return{type:"throw",arg:R}}}i.wrap=c;var h="suspendedStart",p="suspendedYield",m="executing",v="completed",b={};function S(){}function _(){}function M(){}var A={};u(A,s,function(){return this});var w=Object.getPrototypeOf,F=w&&w(w(ye([])));F&&F!==e&&t.call(F,s)&&(A=F);var Y=M.prototype=S.prototype=Object.create(A);function B(T){["next","throw","return"].forEach(function(E){u(T,E,function(C){return this._invoke(E,C)})})}function ee(T,E){function C(D,N,$,K){var ie=d(T[D],T,N);if(ie.type!=="throw"){var we=ie.arg,be=we.value;return be&&I(be)=="object"&&t.call(be,"__await")?E.resolve(be.__await).then(function(Ce){C("next",Ce,$,K)},function(Ce){C("throw",Ce,$,K)}):E.resolve(be).then(function(Ce){we.value=Ce,$(we)},function(Ce){return C("throw",Ce,$,K)})}K(ie.arg)}var R;n(this,"_invoke",{value:function(N,$){function K(){return new E(function(ie,we){C(N,$,ie,we)})}return R=R?R.then(K,K):K()}})}function Z(T,E,C){var R=h;return function(D,N){if(R===m)throw Error("Generator is already running");if(R===v){if(D==="throw")throw N;return{value:r,done:!0}}for(C.method=D,C.arg=N;;){var $=C.delegate;if($){var K=he($,C);if(K){if(K===b)continue;return K}}if(C.method==="next")C.sent=C._sent=C.arg;else if(C.method==="throw"){if(R===h)throw R=v,C.arg;C.dispatchException(C.arg)}else C.method==="return"&&C.abrupt("return",C.arg);R=m;var ie=d(T,E,C);if(ie.type==="normal"){if(R=C.done?v:p,ie.arg===b)continue;return{value:ie.arg,done:C.done}}ie.type==="throw"&&(R=v,C.method="throw",C.arg=ie.arg)}}}function he(T,E){var C=E.method,R=T.iterator[C];if(R===r)return E.delegate=null,C==="throw"&&T.iterator.return&&(E.method="return",E.arg=r,he(T,E),E.method==="throw")||C!=="return"&&(E.method="throw",E.arg=new TypeError("The iterator does not provide a '"+C+"' method")),b;var D=d(R,T.iterator,E.arg);if(D.type==="throw")return E.method="throw",E.arg=D.arg,E.delegate=null,b;var N=D.arg;return N?N.done?(E[T.resultName]=N.value,E.next=T.nextLoc,E.method!=="return"&&(E.method="next",E.arg=r),E.delegate=null,b):N:(E.method="throw",E.arg=new TypeError("iterator result is not an object"),E.delegate=null,b)}function z(T){var E={tryLoc:T[0]};1 in T&&(E.catchLoc=T[1]),2 in T&&(E.finallyLoc=T[2],E.afterLoc=T[3]),this.tryEntries.push(E)}function te(T){var E=T.completion||{};E.type="normal",delete E.arg,T.completion=E}function G(T){this.tryEntries=[{tryLoc:"root"}],T.forEach(z,this),this.reset(!0)}function ye(T){if(T||T===""){var E=T[s];if(E)return E.call(T);if(typeof T.next=="function")return T;if(!isNaN(T.length)){var C=-1,R=function D(){for(;++C=0;--D){var N=this.tryEntries[D],$=N.completion;if(N.tryLoc==="root")return R("end");if(N.tryLoc<=this.prev){var K=t.call(N,"catchLoc"),ie=t.call(N,"finallyLoc");if(K&&ie){if(this.prev=0;--R){var D=this.tryEntries[R];if(D.tryLoc<=this.prev&&t.call(D,"finallyLoc")&&this.prev=0;--C){var R=this.tryEntries[C];if(R.finallyLoc===E)return this.complete(R.completion,R.afterLoc),te(R),b}},catch:function(E){for(var C=this.tryEntries.length-1;C>=0;--C){var R=this.tryEntries[C];if(R.tryLoc===E){var D=R.completion;if(D.type==="throw"){var N=D.arg;te(R)}return N}}throw Error("illegal catch attempt")},delegateYield:function(E,C,R){return this.delegate={iterator:ye(E),resultName:C,nextLoc:R},this.method==="next"&&(this.arg=r),b}},i}function Gn(r,i,e,t,n,a,s){try{var o=r[a](s),l=o.value}catch(u){return void e(u)}o.done?i(l):Promise.resolve(l).then(t,n)}function k(r){return function(){var i=this,e=arguments;return new Promise(function(t,n){var a=r.apply(i,e);function s(l){Gn(a,t,n,s,o,"next",l)}function o(l){Gn(a,t,n,s,o,"throw",l)}s(void 0)})}}function It(r){return Fa(r)||Da(r)||In(r)||Na()}function Na(){throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function In(r,i){if(r){if(typeof r=="string")return un(r,i);var e={}.toString.call(r).slice(8,-1);return e==="Object"&&r.constructor&&(e=r.constructor.name),e==="Map"||e==="Set"?Array.from(r):e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?un(r,i):void 0}}function Da(r){if(typeof Symbol!="undefined"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function Fa(r){if(Array.isArray(r))return un(r)}function un(r,i){(i==null||i>r.length)&&(i=r.length);for(var e=0,t=Array(i);e=e&&!r.PERMITTED_KEYS.has(t.key)&&!r.isKeyCombinationPermitted(t)&&t.preventDefault()}},{key:"isKeyCombinationPermitted",value:function(e){return e.key==="a"?e.ctrlKey||e.metaKey:!1}},{key:"onInput",value:function(e,t,n){var a=n.target,s=a.textContent||"";e!==void 0&&s.length>e&&(a.textContent=s.substring(0,e),Rn.focusEndOfInput(a)),t==null||t()}}])}();Fr.PERMITTED_KEYS=new Set([ne.BACKSPACE,ne.DELETE,ne.ARROW_RIGHT,ne.ARROW_LEFT,ne.ARROW_DOWN,ne.ARROW_UP,ne.META,ne.CONTROL,ne.ENTER]);var Ha=Fr,qa=function(){function r(){g(this,r)}return y(r,null,[{key:"sanitizePastedTextContent",value:function(e){var t,n;e.preventDefault();var a=(t=e.clipboardData)==null?void 0:t.getData("text/plain");a&&((n=document.execCommand)==null||n.call(document,"insertText",!1,a))}}])}(),Br=function(){function r(i,e,t){var n=this;g(this,r);var a,s,o=r.processConfig(e,i.textInput);this.elementRef=r.createContainerElement((a=o==null?void 0:o.styles)==null?void 0:a.container),this._config=o,this.inputElementRef=this.createInputElement(),this.elementRef.appendChild(this.inputElementRef),i.setPlaceholderText=this.setPlaceholderText.bind(this),i.setPlaceholderText(((s=this._config.placeholder)==null?void 0:s.text)||"Ask me anything!"),setTimeout(function(){Ha.add(n.inputElementRef,t,n._config.characterLimit,i._validationHandler)})}return y(r,[{key:"clear",value:function(){var e,t=window.scrollY;this.inputElementRef.classList.contains("text-input-disabled")||(Object.assign(this.inputElementRef.style,(e=this._config.placeholder)==null?void 0:e.style),this.inputElementRef.textContent="",Rn.focusEndOfInput(this.inputElementRef)),We.IS_CHROMIUM&&window.scrollTo({top:t})}},{key:"createInputElement",value:function(){var e,t,n,a,s=document.createElement("div");return s.id=r.TEXT_INPUT_ID,s.classList.add("text-input-styling"),We.IS_CHROMIUM&&r.preventAutomaticScrollUpOnNewLine(s),typeof this._config.disabled=="boolean"&&this._config.disabled===!0?(s.contentEditable="false",s.classList.add("text-input-disabled")):(s.contentEditable="true",this.addEventListeners(s)),Object.assign(s.style,(e=this._config.styles)==null?void 0:e.text),Object.assign(s.style,(t=this._config.placeholder)==null?void 0:t.style),(a=(n=this._config.placeholder)==null?void 0:n.style)!=null&&a.color||s.setAttribute("textcolor",""),s}},{key:"removePlaceholderStyle",value:function(){var e,t,n,a;!this.inputElementRef.classList.contains("text-input-disabled")&&(e=this._config.placeholder)!=null&&e.style&&(re.unsetStyle(this.inputElementRef,(t=this._config.placeholder)==null?void 0:t.style),Object.assign(this.inputElementRef.style,(a=(n=this._config)==null?void 0:n.styles)==null?void 0:a.text))}},{key:"addEventListeners",value:function(e){var t=this,n,a;(n=this._config.styles)!=null&&n.focus&&(e.onfocus=function(){var s;return Object.assign(t.elementRef.style,(s=t._config.styles)==null?void 0:s.focus)},e.onblur=this.onBlur.bind(this,this._config.styles.focus,(a=this._config.styles)==null?void 0:a.container)),e.addEventListener("keydown",this.onKeydown.bind(this)),e.addEventListener("input",this.onInput.bind(this)),e.addEventListener("paste",qa.sanitizePastedTextContent)}},{key:"onBlur",value:function(e,t){re.unsetStyle(this.elementRef,e),t&&Object.assign(this.elementRef.style,t)}},{key:"onKeydown",value:function(e){var t;e.key===ne.ENTER&&!e.ctrlKey&&!e.shiftKey&&(e.preventDefault(),(t=this.submit)==null||t.call(this))}},{key:"onInput",value:function(){var e;this.isTextInputEmpty()?Object.assign(this.inputElementRef.style,(e=this._config.placeholder)==null?void 0:e.style):this.removePlaceholderStyle()}},{key:"setPlaceholderText",value:function(e){this.inputElementRef.setAttribute("deep-chat-placeholder-text",e)}},{key:"isTextInputEmpty",value:function(){return this.inputElementRef.textContent===""}}],[{key:"processConfig",value:function(e,t){var n,a,s,o,l;return(n=t)!==null&&n!==void 0||(t={}),(a=t.disabled)!==null&&a!==void 0||(t.disabled=e.isTextInputDisabled),(s=t.placeholder)!==null&&s!==void 0||(t.placeholder={}),(o=(l=t.placeholder).text)!==null&&o!==void 0||(l.text=e.textInputPlaceholderText),t}},{key:"createContainerElement",value:function(e){var t=document.createElement("div");return t.id="text-input-container",Object.assign(t.style,e),t}},{key:"preventAutomaticScrollUpOnNewLine",value:function(e){var t;e.addEventListener("keydown",function(){t=window.scrollY}),e.addEventListener("input",function(){t!==window.scrollY&&window.scrollTo({top:t})})}}])}();Br.TEXT_INPUT_ID="text-input";var Ur=Br,Rn=function(){function r(){g(this,r)}return y(r,null,[{key:"focusEndOfInput",value:function(e){var t=document.createRange();t.selectNodeContents(e),t.collapse(!1);var n=window.getSelection();n==null||n.removeAllRanges(),n==null||n.addRange(t)}},{key:"focusFromParentElement",value:function(e){var t=e.querySelector("#".concat(Ur.TEXT_INPUT_ID));t&&(We.IS_SAFARI&&t.focus(),r.focusEndOfInput(t))}}])}();function Kn(r){return r.charAt(0).toUpperCase()+r.slice(1)}function za(r){return r&&JSON.stringify(r)}function Ln(r,i,e,t){var n=` `.concat(Kn(i)," message: ").concat(JSON.stringify(r),` `),a=e?"".concat(Kn(i)," message after interceptor: ").concat(za(t),` `):"";return n+a}function Va(r,i,e,t){return"".concat(Ln(r,i,e,t),"Make sure the ").concat(i,` message is using the Response format: https://deepchat.dev/docs/connect/#Response You can also augment it using the responseInterceptor property: https://deepchat.dev/docs/interceptors#responseInterceptor`)}function Ga(r,i,e){var t="response";return"".concat(Ln(r,t,i,e),"Make sure the ").concat(t,' message is using the {text: string} format, e.g: {text: "Model Response"}')}function $a(r,i){var e="request";return"".concat(Ln(r,e,i),"Make sure the ").concat(e,' message is using the {body: {text: string}} format, e.g: {body: {text: "Model Response"}}')}var Jn=`Make sure the events are using {text: string} or {html: string} format. You can also augment them using the responseInterceptor property: https://deepchat.dev/docs/interceptors#responseInterceptor`,J={INVALID_KEY:"Invalid API Key",CONNECTION_FAILED:"Failed to connect",INVALID_RESPONSE:Va,INVALID_MODEL_REQUEST:$a,INVALID_MODEL_RESPONSE:Ga,INVALID_STREAM_EVENT:Jn,INVALID_STREAM_EVENT_MIX:"Cannot mix {text: string} and {html: string} responses.",NO_VALID_STREAM_EVENTS_SENT:`No valid stream events were sent. `.concat(Jn)},jr=function(){function r(){g(this,r)}return y(r,null,[{key:"addElements",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a=s-r.CODE_SNIPPET_GENERATION_JUMP}},{key:"cloneElement",value:function(e){var t=e.cloneNode(!0);return e.parentNode.replaceChild(t,e),t}},{key:"scrollToBottom",value:function(e){e.scrollTop=e.scrollHeight}},{key:"scrollToTop",value:function(e){e.scrollTop=0}}])}();jr.CODE_SNIPPET_GENERATION_JUMP=.5;var de=jr,Hr=function(){function r(){g(this,r)}return y(r,null,[{key:"speak",value:function(e,t){if(window.SpeechSynthesisUtterance){var n=new SpeechSynthesisUtterance(e);Object.assign(n,t),speechSynthesis.speak(n)}}},{key:"processConfig",value:function(e,t){var n={};setTimeout(function(){if(I(e)=="object"&&(e.lang&&(n.lang=e.lang),e.pitch&&(n.pitch=e.pitch),e.rate&&(n.rate=e.rate),e.volume&&(n.volume=e.volume),e.voiceName)){var a=window.speechSynthesis.getVoices().find(function(s){var o;return s.name.toLocaleLowerCase()===((o=e.voiceName)==null?void 0:o.toLocaleLowerCase())});a&&(n.voice=a)}t(n)},r.LOAD_VOICES_MS)}}])}();Hr.LOAD_VOICES_MS=200;var yt=Hr,dn=function(){function r(){g(this,r)}return y(r,null,[{key:"colorToHex",value:function(e){var t=document.createElement("div");return t.style.color=e,document.body.appendChild(t),"#".concat(window.getComputedStyle(t).color.match(/\d+/g).map(function(n){return parseInt(n).toString(16).padStart(2,"0")}).join(""))}},{key:"setDots",value:function(e,t){var n,a,s,o;if((o=(s=(a=(n=t==null?void 0:t.loading)==null?void 0:n.message)==null?void 0:a.styles)==null?void 0:s.bubble)!=null&&o.color){var l=r.colorToHex(t.loading.message.styles.bubble.color);e.style.setProperty("--loading-message-color",l),e.style.setProperty("--loading-message-color-fade","".concat(l,"33"))}else e.style.setProperty("--loading-message-color","#848484"),e.style.setProperty("--loading-message-color-fade","#55555533")}},{key:"setRing",value:function(e,t){var n=t||{},a=n.color,s=n.width,o=n.height,l=n.margin,u=n.border;if(a){var c=r.colorToHex(a);e.style.setProperty("--loading-history-color",c)}else e.style.setProperty("--loading-history-color","#dbdbdb");e.style.setProperty("--loading-history-height",o||"57px"),e.style.setProperty("--loading-history-width",s||"57px"),e.style.setProperty("--loading-history-margin",l||"7px"),e.style.setProperty("--loading-history-border",u||"6px solid")}}])}();dn.BUBBLE_CLASS="deep-chat-loading-message-bubble",dn.DOTS_CONTAINER_CLASS="deep-chat-loading-message-dots-container";var Ie=dn,hn=function(){function r(){g(this,r)}return y(r,null,[{key:"setElementProps",value:function(e,t,n,a){var s;n!=="loading"&&(e.applyCustomStyles(t,a,!0,(s=e.messageStyles)==null?void 0:s[n]),t.bubbleElement.classList.add(r.FILE_BUBBLE_CLASS))}},{key:"addMessage",value:function(e,t,n,a,s){r.setElementProps(e,t,n,a),s||(e.elementRef.appendChild(t.outerContainer),e.elementRef.scrollTop=e.elementRef.scrollHeight)}},{key:"wrapInLink",value:function(e,t,n){var a=document.createElement("a");return a.href=t,a.download=n||r.DEFAULT_FILE_NAME,a.target="_blank",a.appendChild(e),a}},{key:"isNonLinkableDataUrl",value:function(e,t){return!t.startsWith("data")||e==="image"?!1:e==="any"&&t.startsWith("data:text/javascript")||!t.startsWith("data:image")&&!t.startsWith("data:application")}},{key:"processContent",value:function(e,t,n,a){return!n||r.isNonLinkableDataUrl(e,n)?t:r.wrapInLink(t,n,a)}},{key:"waitToLoadThenScroll",value:function(e){setTimeout(function(){e.scrollTop=e.scrollHeight},60)}},{key:"scrollDownOnImageLoad",value:function(e,t){if(e.startsWith("data"))r.waitToLoadThenScroll(t);else try{fetch(e,{mode:"no-cors"}).catch(function(){}).finally(function(){r.waitToLoadThenScroll(t)})}catch(n){t.scrollTop=t.scrollHeight}}},{key:"reAddFileRefToObject",value:function(e,t){var n;(n=e.files)==null||n.forEach(function(a,s){var o;a.ref&&(o=t.message.files)!=null&&o[s]&&(t.message.files[s].ref=a.ref)})}},{key:"removeFileRef",value:function(e){var t=V({},e);return delete t.ref,t}},{key:"isAudioFile",value:function(e){var t=/\.(mp3|ogg|wav|aac|webm|4a)$/i,n=e.type,a=e.src;return n==="audio"||(a==null?void 0:a.startsWith("data:audio"))||a&&t.test(a)}},{key:"isImageFile",value:function(e){var t=e.type,n=e.src;return t==="image"||(n==null?void 0:n.startsWith("data:image"))||n&&r.isImageFileExtension(n)}},{key:"isImageFileExtension",value:function(e){return/\.(jpg|jpeg|png|gif|bmp)$/i.test(e)}}])}();hn.DEFAULT_FILE_NAME="file",hn.FILE_BUBBLE_CLASS="file-message";var se=hn,le=function(){function r(){g(this,r)}return y(r,null,[{key:"checkForContainerStyles",value:function(e,t){var n=e.containerStyle;n&&(Object.assign(t.style,n),console.error("The containerStyle property is deprecated since version 1.3.14."),console.error("Please change to using the style property instead: https://deepchat.dev/docs/styles#style"))}},{key:"handleResponseProperty",value:function(e){return console.error("The {result: ....} response object type is deprecated since version 1.3.0."),console.error("Please change to using the new response object: https://deepchat.dev/docs/connect#Response"),e.result}},{key:"processHistory",value:function(e){var t=e.initialMessages;if(t)return console.error("The initialMessages property is deprecated since version 2.0.0."),console.error("Please change to using the history property instead: https://deepchat.dev/docs/messages/#history"),t}},{key:"processHistoryFile",value:function(e){var t=e.file;t&&(console.error("The file property in MessageContent is deprecated since version 1.3.17."),console.error("Please change to using the files array property: https://deepchat.dev/docs/messages/#MessageContent"),e.files=[t])}},{key:"processValidateInput",value:function(e){var t=e.validateMessageBeforeSending;if(t)return console.error("The validateMessageBeforeSending property is deprecated since version 1.3.24."),console.error("Please change to using validateInput: https://deepchat.dev/docs/interceptors#validateInput"),t}},{key:"processSubmitUserMessage",value:function(e){return console.error("The submitUserMessage(text: string) argument string type is deprecated since version 1.4.4."),console.error("Please change to using the new argument type: https://deepchat.dev/docs/methods#submitUserMessage"),{text:e}}},{key:"flagHTMLUpdateClass",value:function(e){var t;(t=e.children[0])!=null&&t.classList.contains("deep-chat-update-message")&&(console.error('The "deep-chat-update-message" html class is deprecated since version 1.4.4.'),console.error("Please change to using {..., overwrite: true} object: https://deepchat.dev/docs/connect#Response"))}},{key:"processConnect",value:function(e){var t=e;t.request&&(t.connect?Object.assign(t.connect,t.request):t.connect=t.request,console.error("The request property is deprecated since version 2.0.0."),console.error("Please see the connect object: https://deepchat.dev/docs/connect#connect-1"))}},{key:"checkForStream",value:function(e){var t=e.stream;if(t)return console.error("The stream property has been moved to the connect object in version 2.0.0."),console.error("Please see the connect object: https://deepchat.dev/docs/connect#connect-1"),t}},{key:"fireOnNewMessage",value:function(e,t){var n,a=e;a.onNewMessage&&(console.error("The onNewMessage event has been deprecated since version 2.0.0."),console.error("Please see the onMessage event: https://deepchat.dev/docs/events#onMessage"),(n=a.onNewMessage)==null||n.call(a,t)),e.dispatchEvent(new CustomEvent("new-message",{detail:t}))}},{key:"processFileConfigConnect",value:function(e){var t=e;t.request&&(console.error("The request property in file configuration is deprecated since version 2.0.0."),console.error("Please use the connect property instead: https://deepchat.dev/docs/files"),t.connect||(t.connect=t.request))}},{key:"processMessageStyles",value:function(e){if(e){var t=structuredClone(e),n=t.loading;return n&&(n.outerContainer||n.innerContainer||n.bubble||n.media)&&(console.error("The loading message styles are defined using LoadingMessageStyles interface since version 2.1.0."),console.error("Check it out here: https://deepchat.dev/docs/messages/styles#LoadingMessageStyles"),t.loading={message:{styles:n}}),t}}},{key:"processDemo",value:function(e){return typeof e=="boolean"||e.displayLoadingBubble&&(console.error("The demo displayLoadingBubble property is deprecated since version 2.1.0."),console.error("Please use displayLoading instead: https://deepchat.dev/docs/demo#demo"),e.displayLoading={message:!0}),e}}])}(),qr=function(){function r(){g(this,r)}return y(r,null,[{key:"mouseUp",value:function(e,t){re.unsetAllCSSMouseStates(e,t),Object.assign(e.style,t.default),Object.assign(e.style,t.hover)}},{key:"mouseDown",value:function(e,t){Object.assign(e.style,t.click)}},{key:"mouseLeave",value:function(e,t){re.unsetAllCSSMouseStates(e,t),Object.assign(e.style,t.default)}},{key:"mouseEnter",value:function(e,t){Object.assign(e.style,t.hover)}},{key:"add",value:function(e,t){e.addEventListener("mouseenter",r.mouseEnter.bind(this,e,t)),e.addEventListener("mouseleave",r.mouseLeave.bind(this,e,t)),e.addEventListener("mousedown",r.mouseDown.bind(this,e,t)),e.addEventListener("mouseup",r.mouseUp.bind(this,e,t))}}])}(),Wa="deep-chat-temporary-message",Ka="deep-chat-suggestion-button",pn={"deep-chat-button":{styles:{default:{backgroundColor:"white",padding:"5px",paddingLeft:"7px",paddingRight:"7px",border:"1px solid #c2c2c2",borderRadius:"6px",cursor:"pointer"},hover:{backgroundColor:"#fafafa"},click:{backgroundColor:"#f1f1f1"}}}},Yn=Object.keys(pn),rt=function(){function r(){g(this,r)}return y(r,null,[{key:"applySuggestionEvent",value:function(e,t){setTimeout(function(){t.addEventListener("click",function(){var n,a;(a=e.submitUserMessage)==null||a.call(e,{text:((n=t.textContent)==null?void 0:n.trim())||""})})})}},{key:"isElementTemporary",value:function(e){var t;return e?(t=e.bubbleElement.children[0])==null?void 0:t.classList.contains(Wa):!1}},{key:"doesElementContainDeepChatClass",value:function(e){return Yn.find(function(t){return e.classList.contains(t)})}},{key:"applyEvents",value:function(e,t){var n=pn[t].events;Object.keys(n||[]).forEach(function(a){e.addEventListener(a,n==null?void 0:n[a])})}},{key:"getProcessedStyles",value:function(e,t,n){var a=Array.from(t.classList).reduce(function(u,c){var d,h=(d=e[c])==null?void 0:d.styles;return h&&e[c].styles&&u.push(h),u},[]),s=pn[n].styles;if(s){var o=JSON.parse(JSON.stringify(s));o.default&&re.overwriteDefaultWithAlreadyApplied(o,t),a.unshift(o)}var l=re.mergeStatefulStyles(a);return re.processStateful(l,{},{})}},{key:"applyDeepChatUtilities",value:function(e,t,n){Yn.forEach(function(s){var o=n.getElementsByClassName(s);Array.from(o||[]).forEach(function(l){var u=r.getProcessedStyles(t,l,s);Ke.applyStylesToElement(l,u),r.applyEvents(l,s)})});var a=n.getElementsByClassName(Ka);Array.from(a).forEach(function(s){return r.applySuggestionEvent(e,s)})}}])}(),Ke=function(){function r(){g(this,r)}return y(r,null,[{key:"applyStylesToElement",value:function(e,t){var n=re.processStateful(t,{},{});qr.add(e,n),Object.assign(e.style,n.default)}},{key:"applyEventsToElement",value:function(e,t){Object.keys(t).forEach(function(n){var a=t[n];a&&e.addEventListener(n,a)})}},{key:"applyClassUtilitiesToElement",value:function(e,t){var n=t.events,a=t.styles;n&&r.applyEventsToElement(e,n),a&&!rt.doesElementContainDeepChatClass(e)&&r.applyStylesToElement(e,a)}},{key:"applyCustomClassUtilities",value:function(e,t){Object.keys(e).forEach(function(n){var a=t.getElementsByClassName(n);Array.from(a).forEach(function(s){e[n]&&r.applyClassUtilitiesToElement(s,e[n])})})}},{key:"apply",value:function(e,t){rt.applyDeepChatUtilities(e,e.htmlClassUtilities,t),r.applyCustomClassUtilities(e.htmlClassUtilities,t)}},{key:"traverseNodes",value:function(e,t){e.nodeType===Node.ELEMENT_NODE&&t.push(e.outerHTML),e.childNodes.forEach(function(n){r.traverseNodes(n,t)})}},{key:"splitHTML",value:function(e){var t=new DOMParser().parseFromString(e,"text/html"),n=[];return t.body.childNodes.forEach(function(a){r.traverseNodes(a,n)}),n}}])}(),zr=function(){function r(){g(this,r)}return y(r,null,[{key:"addElement",value:function(e,t){e.elementRef.appendChild(t),e.elementRef.scrollTop=e.elementRef.scrollHeight}},{key:"createElements",value:function(e,t,n,a){var s=e.createMessageElementsOnOrientation("",n,a);return s.bubbleElement.classList.add(r.HTML_BUBBLE_CLASS),s.bubbleElement.innerHTML=t,s}},{key:"overwriteElements",value:function(e,t,n){n.bubbleElement.innerHTML=t,Ke.apply(e,n.outerContainer),le.flagHTMLUpdateClass(n.bubbleElement)}},{key:"overwrite",value:function(e,t,n,a){var s=e.messageToElements,o=L.overwriteMessage(s,a,t,n,"html",r.HTML_BUBBLE_CLASS);return o&&r.overwriteElements(e,t,o),o}},{key:"create",value:function(e,t,n){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,s,o=r.createElements(e,t,n,a);return L.fillEmptyMessageElement(o.bubbleElement,t),Ke.apply(e,o.outerContainer),le.flagHTMLUpdateClass(o.bubbleElement),e.applyCustomStyles(o,n,!1,(s=e.messageStyles)==null?void 0:s.html),o}},{key:"add",value:function(e,t,n,a,s){var o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1;if(s!=null&&s.status){var l=this.overwrite(e,t,n,a);if(l)return l;s.status=!1}var u=r.create(e,t,n,o);return o||r.addElement(e,u.outerContainer),u}}])}();zr.HTML_BUBBLE_CLASS="html-message";var ke=zr,ft;function Vr(r){return ft=ft||document.createElement("textarea"),ft.innerHTML="&"+r+";",ft.value}var Ja=Object.prototype.hasOwnProperty;function Ya(r,i){return r?Ja.call(r,i):!1}function Gr(r){var i=[].slice.call(arguments,1);return i.forEach(function(e){if(e){if(I(e)!="object")throw new TypeError(e+"must be object");Object.keys(e).forEach(function(t){r[t]=e[t]})}}),r}var Za=/\\([\\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g;function at(r){return r.indexOf("\\")<0?r:r.replace(Za,"$1")}function $r(r){return!(r>=55296&&r<=57343||r>=64976&&r<=65007||(r&65535)===65535||(r&65535)===65534||r>=0&&r<=8||r===11||r>=14&&r<=31||r>=127&&r<=159||r>1114111)}function fn(r){if(r>65535){r-=65536;var i=55296+(r>>10),e=56320+(r&1023);return String.fromCharCode(i,e)}return String.fromCharCode(r)}var Xa=/&([a-z#][a-z0-9]{1,31});/gi,Qa=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i;function ei(r,i){var e=0,t=Vr(i);return i!==t?t:i.charCodeAt(0)===35&&Qa.test(i)&&(e=i[1].toLowerCase()==="x"?parseInt(i.slice(2),16):parseInt(i.slice(1),10),$r(e))?fn(e):r}function Pe(r){return r.indexOf("&")<0?r:r.replace(Xa,ei)}var ti=/[&<>"]/,ni=/[&<>"]/g,ri={"&":"&","<":"<",">":">",'"':"""};function ai(r){return ri[r]}function oe(r){return ti.test(r)?r.replace(ni,ai):r}var x={};x.blockquote_open=function(){return`
`};x.blockquote_close=function(r,i){return"
"+De(r,i)};x.code=function(r,i){return r[i].block?"
"+oe(r[i].content)+"
"+De(r,i):""+oe(r[i].content)+""};x.fence=function(r,i,e,t,n){var a=r[i],s="",o=e.langPrefix,l="",u,c,d;if(a.params){if(u=a.params.split(/\s+/g),c=u.join(" "),Ya(n.rules.fence_custom,u[0]))return n.rules.fence_custom[u[0]](r,i,e,t,n);l=oe(Pe(at(c))),s=' class="'+o+l+'"'}return e.highlight?d=e.highlight.apply(e.highlight,[a.content].concat(u))||oe(a.content):d=oe(a.content),"
"+d+"
"+De(r,i)};x.fence_custom={};x.heading_open=function(r,i){return""};x.heading_close=function(r,i){return" `};x.hr=function(r,i,e){return(e.xhtmlOut?"
":"
")+De(r,i)};x.bullet_list_open=function(){return`
    `};x.bullet_list_close=function(r,i){return"
"+De(r,i)};x.list_item_open=function(){return"
  • "};x.list_item_close=function(){return`
  • `};x.ordered_list_open=function(r,i){var e=r[i],t=e.order>1?' start="'+e.order+'"':"";return" `};x.ordered_list_close=function(r,i){return""+De(r,i)};x.paragraph_open=function(r,i){return r[i].tight?"":"

    "};x.paragraph_close=function(r,i){var e=!(r[i].tight&&i&&r[i-1].type==="inline"&&!r[i-1].content);return(r[i].tight?"":"

    ")+(e?De(r,i):"")};x.link_open=function(r,i,e){var t=r[i].title?' title="'+oe(Pe(r[i].title))+'"':"",n=e.linkTarget?' target="'+e.linkTarget+'"':"";return'"};x.link_close=function(){return""};x.image=function(r,i,e){var t=' src="'+oe(r[i].src)+'"',n=r[i].title?' title="'+oe(Pe(r[i].title))+'"':"",a=' alt="'+(r[i].alt?oe(Pe(at(r[i].alt))):"")+'"',s=e.xhtmlOut?" /":"";return""};x.table_open=function(){return` `};x.table_close=function(){return`
    `};x.thead_open=function(){return` `};x.thead_close=function(){return` `};x.tbody_open=function(){return` `};x.tbody_close=function(){return` `};x.tr_open=function(){return""};x.tr_close=function(){return` `};x.th_open=function(r,i){var e=r[i];return""};x.th_close=function(){return""};x.td_open=function(r,i){var e=r[i];return""};x.td_close=function(){return""};x.strong_open=function(){return""};x.strong_close=function(){return""};x.em_open=function(){return""};x.em_close=function(){return""};x.del_open=function(){return""};x.del_close=function(){return""};x.ins_open=function(){return""};x.ins_close=function(){return""};x.mark_open=function(){return""};x.mark_close=function(){return""};x.sub=function(r,i){return""+oe(r[i].content)+""};x.sup=function(r,i){return""+oe(r[i].content)+""};x.hardbreak=function(r,i,e){return e.xhtmlOut?`
    `:`
    `};x.softbreak=function(r,i,e){return e.breaks?e.xhtmlOut?`
    `:`
    `:` `};x.text=function(r,i){return oe(r[i].content)};x.htmlblock=function(r,i){return r[i].content};x.htmltag=function(r,i){return r[i].content};x.abbr_open=function(r,i){return''};x.abbr_close=function(){return""};x.footnote_ref=function(r,i){var e=Number(r[i].id+1).toString(),t="fnref"+e;return r[i].subId>0&&(t+=":"+r[i].subId),'['+e+"]"};x.footnote_block_open=function(r,i,e){var t=e.xhtmlOut?`
    `:`
    `;return t+`
      `};x.footnote_block_close=function(){return`
    `};x.footnote_open=function(r,i){var e=Number(r[i].id+1).toString();return'
  • '};x.footnote_close=function(){return`
  • `};x.footnote_anchor=function(r,i){var e=Number(r[i].id+1).toString(),t="fnref"+e;return r[i].subId>0&&(t+=":"+r[i].subId),' '};x.dl_open=function(){return`
    `};x.dt_open=function(){return"
    "};x.dd_open=function(){return"
    "};x.dl_close=function(){return`
    `};x.dt_close=function(){return` `};x.dd_close=function(){return` `};function Wr(r,i){return++i>=r.length-2?i:r[i].type==="paragraph_open"&&r[i].tight&&r[i+1].type==="inline"&&r[i+1].content.length===0&&r[i+2].type==="paragraph_close"&&r[i+2].tight?Wr(r,i+2):i}var De=x.getBreak=function(r,i){return i=Wr(r,i),i"u"&&(t.abbreviations[":"+l]=u),s)}function oi(r){var i=r.tokens,e,t,n,a;if(!r.inlineMode){for(e=1,t=i.length-1;e1)||e===41&&(t--,t<0))break;i++}return a===i||(n=at(r.src.slice(a,i)),!r.parser.validateLink(n))?!1:(r.linkContent=n,r.pos=i,!0)}function Jr(r,i){var e,t=i,n=r.posMax,a=r.src.charCodeAt(i);if(a!==34&&a!==39&&a!==40)return!1;for(i++,a===40&&(a=41);i"u"&&(t.references[h]={title:d,href:c}),s)}function ui(r){var i=r.tokens,e,t,n,a;if(r.env.references=r.env.references||{},!r.inlineMode){for(e=1,t=i.length-1;e0?s[i].count:1,t=0;t=0;i--)if(a=n[i],a.type==="text"){for(l=0,s=a.content,c.lastIndex=0,u=a.level,o=[];d=c.exec(s);)c.lastIndex>l&&o.push({type:"text",content:s.slice(l,d.index+d[1].length),level:u}),o.push({type:"abbr_open",title:r.env.abbreviations[":"+d[2]],level:u++}),o.push({type:"text",content:d[2],level:u}),o.push({type:"abbr_close",level:--u}),l=c.lastIndex-d[3].length;o.length&&(l=0;a--)if(r.tokens[a].type==="inline")for(n=r.tokens[a].children,i=n.length-1;i>=0;i--)e=n[i],e.type==="text"&&(t=e.content,t=vi(t),pi.test(t)&&(t=t.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---([^-]|$)/mg,"$1—$2").replace(/(^|\s)--(\s|$)/mg,"$1–$2").replace(/(^|[^-\s])--([^-\s]|$)/mg,"$1–$2")),e.content=t)}}var yi=/['"]/,Xn=/['"]/g,bi=/[-\s()\[\]]/,Qn="’";function er(r,i){return i<0||i>=r.length?!1:!bi.test(r[i])}function ze(r,i,e){return r.substr(0,i)+e+r.substr(i+1)}function ki(r){var i,e,t,n,a,s,o,l,u,c,d,h,p,m,v,b,S;if(r.options.typographer){for(S=[],v=r.tokens.length-1;v>=0;v--)if(r.tokens[v].type==="inline"){for(b=r.tokens[v].children,S.length=0,i=0;i=0&&!(S[p].level<=o);p--);S.length=p+1,t=e.content,a=0,s=t.length;e:for(;a=0&&(c=S[p],!(S[p].level=this.eMarks[r]};Be.prototype.skipEmptyLines=function(r){for(var i=this.lineMax;re;)if(i!==this.src.charCodeAt(--r))return r+1;return r};Be.prototype.getLines=function(r,i,e,t){var n,a,s,o,l,u=r;if(r>=i)return"";if(u+1===i)return a=this.bMarks[u]+Math.min(this.tShift[u],e),s=t?this.eMarks[u]+1:this.eMarks[u],this.src.slice(a,s);for(o=new Array(i-r),n=0;ue&&(l=e),l<0&&(l=0),a=this.bMarks[u]+l,u+1=4){t++,n=t;continue}break}return r.line=t,r.tokens.push({type:"code",content:r.getLines(i,n,4+r.blkIndent,!0),block:!0,lines:[i,r.line],level:r.level}),!0}function _i(r,i,e,t){var n,a,s,o,l,u=!1,c=r.bMarks[i]+r.tShift[i],d=r.eMarks[i];if(c+3>d||(n=r.src.charCodeAt(c),n!==126&&n!==96)||(l=c,c=r.skipChars(c,n),a=c-l,a<3)||(s=r.src.slice(c,d).trim(),s.indexOf("`")>=0))return!1;if(t)return!0;for(o=i;o++,!(o>=e||(c=l=r.bMarks[o]+r.tShift[o],d=r.eMarks[o],c=4)&&(c=r.skipChars(c,n),!(c-lb||r.src.charCodeAt(v++)!==62||r.level>=r.options.maxNesting)return!1;if(t)return!0;for(r.src.charCodeAt(v)===32&&v++,l=r.blkIndent,r.blkIndent=0,o=[r.bMarks[i]],r.bMarks[i]=v,v=v=b,s=[r.tShift[i]],r.tShift[i]=v-r.bMarks[i],d=r.parser.ruler.getRules("blockquote"),n=i+1;n=b));n++){if(r.src.charCodeAt(v++)===62){r.src.charCodeAt(v)===32&&v++,o.push(r.bMarks[n]),r.bMarks[n]=v,v=v=b,s.push(r.tShift[n]),r.tShift[n]=v-r.bMarks[n];continue}if(a)break;for(m=!1,h=0,p=d.length;hl||(n=r.src.charCodeAt(o++),n!==42&&n!==45&&n!==95))return!1;for(a=1;o=n||(e=r.src.charCodeAt(t++),e!==42&&e!==45&&e!==43)||t=n||(e=r.src.charCodeAt(t++),e<48||e>57))return-1;for(;;){if(t>=n)return-1;if(e=r.src.charCodeAt(t++),!(e>=48&&e<=57)){if(e===41||e===46)break;return-1}}return t=0)b=!0;else if((d=tr(r,i))>=0)b=!1;else return!1;if(r.level>=r.options.maxNesting)return!1;if(v=r.src.charCodeAt(d-1),t)return!0;for(_=r.tokens.length,b?(c=r.bMarks[i]+r.tShift[i],m=Number(r.src.substr(c,d-c-1)),r.tokens.push({type:"ordered_list_open",order:m,lines:A=[i,0],level:r.level++})):r.tokens.push({type:"bullet_list_open",lines:A=[i,0],level:r.level++}),n=i,M=!1,Y=r.parser.ruler.getRules("list");n=h?p=1:p=S-d,p>4&&(p=1),p<1&&(p=1),a=d-r.bMarks[n]+p,r.tokens.push({type:"list_item_open",lines:w=[i,0],level:r.level++}),o=r.blkIndent,l=r.tight,s=r.tShift[i],u=r.parentType,r.tShift[i]=S-r.bMarks[i],r.blkIndent=a,r.tight=!0,r.parentType="list",r.parser.tokenize(r,i,e,!0),(!r.tight||M)&&(F=!1),M=r.line-i>1&&r.isEmpty(r.line-1),r.blkIndent=o,r.tShift[i]=s,r.tight=l,r.parentType=u,r.tokens.push({type:"list_item_close",level:--r.level}),n=i=r.line,w[1]=n,S=r.bMarks[i],!(n>=e||r.isEmpty(n)||r.tShift[n]c||r.src.charCodeAt(u)!==91||r.src.charCodeAt(u+1)!==94||r.level>=r.options.maxNesting)return!1;for(o=u+2;o=c||r.src.charCodeAt(++o)!==58?!1:(t||(o++,r.env.footnotes||(r.env.footnotes={}),r.env.footnotes.refs||(r.env.footnotes.refs={}),l=r.src.slice(u+2,o-2),r.env.footnotes.refs[":"+l]=-1,r.tokens.push({type:"footnote_reference_open",label:l,level:r.level++}),n=r.bMarks[i],a=r.tShift[i],s=r.parentType,r.tShift[i]=r.skipSpaces(o)-o,r.bMarks[i]=o,r.blkIndent+=4,r.parentType="footnote",r.tShift[i]=l||(n=r.src.charCodeAt(o),n!==35||o>=l))return!1;for(a=1,n=r.src.charCodeAt(++o);n===35&&o6||oo&&r.src.charCodeAt(s-1)===32&&(l=s),r.line=i+1,r.tokens.push({type:"heading_open",hLevel:a,lines:[i,r.line],level:r.level}),o=e||r.tShift[s]3||(n=r.bMarks[s]+r.tShift[s],a=r.eMarks[s],n>=a)||(t=r.src.charCodeAt(n),t!==45&&t!==61)||(n=r.skipChars(n,t),n=r.skipSpaces(n),n]/,Ri=/^<\/([a-zA-Z]{1,15})[\s>]/;function Li(r){var i=r|32;return i>=97&&i<=122}function Oi(r,i,e,t){var n,a,s,o=r.bMarks[i],l=r.eMarks[i],u=r.tShift[i];if(o+=u,!r.options.html||u>3||o+2>=l||r.src.charCodeAt(o)!==60)return!1;if(n=r.src.charCodeAt(o+1),n===33||n===63){if(t)return!0}else if(n===47||Li(n)){if(n===47){if(a=r.src.slice(o,l).match(Ri),!a)return!1}else if(a=r.src.slice(o,l).match(Ii),!a)return!1;if(Xr[a[1].toLowerCase()]!==!0)return!1;if(t)return!0}else return!1;for(s=i+1;se||(l=i+1,r.tShift[l]=r.eMarks[l])||(n=r.src.charCodeAt(s),n!==124&&n!==45&&n!==58)||(a=Zt(r,i+1),!/^[-:| ]+$/.test(a))||(u=a.split("|"),u<=2))return!1;for(d=[],o=0;o=a||(t=r.src.charCodeAt(n++),t!==126&&t!==58)||(e=r.skipSpaces(n),n===e)||e>=a?-1:e}function Ni(r,i){var e,t,n=r.level+2;for(e=i+2,t=r.tokens.length-2;e=0;if(c=i+1,r.isEmpty(c)&&++c>e||r.tShift[c]=r.options.maxNesting)return!1;u=r.tokens.length,r.tokens.push({type:"dl_open",lines:l=[i,0],level:r.level++}),s=i,a=c;e:for(;;){for(S=!0,b=!1,r.tokens.push({type:"dt_open",lines:[s,s],level:r.level++}),r.tokens.push({type:"inline",content:r.getLines(s,s+1,r.blkIndent,!1).trim(),level:r.level+1,lines:[s,s],children:[]}),r.tokens.push({type:"dt_close",level:--r.level});;){if(r.tokens.push({type:"dd_open",lines:o=[c,0],level:r.level++}),v=r.tight,h=r.ddIndent,d=r.blkIndent,m=r.tShift[a],p=r.parentType,r.blkIndent=r.ddIndent=r.tShift[a]+2,r.tShift[a]=n-r.bMarks[a],r.tight=!0,r.parentType="deflist",r.parser.tokenize(r,a,e,!0),(!r.tight||b)&&(S=!1),b=r.line-a>1&&r.isEmpty(r.line-1),r.tShift[a]=m,r.tight=v,r.parentType=p,r.blkIndent=d,r.ddIndent=h,r.tokens.push({type:"dd_close",level:--r.level}),o[1]=c=r.line,c>=e||r.tShift[c]=e||(s=c,r.isEmpty(s))||r.tShift[s]=e)||(r.isEmpty(a)&&a++,a>=e)||r.tShift[a]3)){for(n=!1,a=0,s=l.length;a=e||r.tShift[a]=0&&(r=r.replace(Bi,function(o,l){var u;return r.charCodeAt(l)===10?(a=l+1,s=0,o):(u=" ".slice((l-a-s)%4),s=l-a+1,u)})),n=new Be(r,this,i,e,t),this.tokenize(n,n.line,n.lineMax)};function Hi(r){switch(r){case 10:case 92:case 96:case 42:case 95:case 94:case 91:case 93:case 33:case 38:case 60:case 62:case 123:case 125:case 36:case 37:case 64:case 126:case 43:case 61:case 58:return!0;default:return!1}}function qi(r,i){for(var e=r.pos;e=0&&r.pending.charCodeAt(e)===32)if(e>=1&&r.pending.charCodeAt(e-1)===32){for(var a=e-2;a>=0;a--)if(r.pending.charCodeAt(a)!==32){r.pending=r.pending.substring(0,a+1);break}r.push({type:"hardbreak",level:r.level})}else r.pending=r.pending.slice(0,-1),r.push({type:"softbreak",level:r.level});else r.push({type:"softbreak",level:r.level});for(n++;n?@[]^_`{|}~-".split("").forEach(function(r){Nn[r.charCodeAt(0)]=1});function Vi(r,i){var e,t=r.pos,n=r.posMax;if(r.src.charCodeAt(t)!==92)return!1;if(t++,t=a||r.src.charCodeAt(s+1)!==126||r.level>=r.options.maxNesting||(o=s>0?r.src.charCodeAt(s-1):-1,l=r.src.charCodeAt(s+2),o===126)||l===126||l===32||l===10)return!1;for(t=s+2;ts+3)return r.pos+=t-s,i||(r.pending+=r.src.slice(s,t)),!0;for(r.pos=s+2,n=1;r.pos+1=a||r.src.charCodeAt(s+1)!==43||r.level>=r.options.maxNesting||(o=s>0?r.src.charCodeAt(s-1):-1,l=r.src.charCodeAt(s+2),o===43)||l===43||l===32||l===10)return!1;for(t=s+2;t=a||r.src.charCodeAt(s+1)!==61||r.level>=r.options.maxNesting||(o=s>0?r.src.charCodeAt(s-1):-1,l=r.src.charCodeAt(s+2),o===61)||l===61||l===32||l===10)return!1;for(t=s+2;t=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122}function ir(r,i){var e=i,t,n,a,s=!0,o=!0,l=r.posMax,u=r.src.charCodeAt(i);for(t=i>0?r.src.charCodeAt(i-1):-1;e=l&&(s=!1),a=e-i,a>=4?s=o=!1:(n=e=r.options.maxNesting)return!1;for(r.pos=c+e,o=[e];r.pos?@[\]^_`{|}~-])/g;function Zi(r,i){var e,t,n=r.posMax,a=r.pos;if(r.src.charCodeAt(a)!==126||i||a+2>=n||r.level>=r.options.maxNesting)return!1;for(r.pos=a+1;r.pos?@[\]^_`{|}~-])/g;function Qi(r,i){var e,t,n=r.posMax,a=r.pos;if(r.src.charCodeAt(a)!==94||i||a+2>=n||r.level>=r.options.maxNesting)return!1;for(r.pos=a+1;r.pos=r.options.maxNesting||(e=p+1,t=it(r,p),t<0))return!1;if(o=t+1,o=h)return!1;for(p=o,Kr(r,o)?(a=r.linkContent,o=r.pos):a="",p=o;o=h||r.src.charCodeAt(o)!==41)return r.pos=d,!1;o++}else{if(r.linkLevel>0)return!1;for(;o=0?n=r.src.slice(p,o++):o=p-1),n||(I(n)>"u"&&(o=t+1),n=r.src.slice(e,t)),l=r.env.references[Yr(n)],!l)return r.pos=d,!1;a=l.href,s=l.title}return i||(r.pos=e,r.posMax=t,c?r.push({type:"image",src:a,title:s,alt:r.src.substr(e,t-e),level:r.level}):(r.push({type:"link_open",href:a,title:s,level:r.level++}),r.linkLevel++,r.parser.tokenize(r),r.linkLevel--,r.push({type:"link_close",level:--r.level}))),r.pos=o,r.posMax=h,!0}function ts(r,i){var e,t,n,a,s=r.posMax,o=r.pos;return o+2>=s||r.src.charCodeAt(o)!==94||r.src.charCodeAt(o+1)!==91||r.level>=r.options.maxNesting||(e=o+2,t=it(r,o+1),t<0)?!1:(i||(r.env.footnotes||(r.env.footnotes={}),r.env.footnotes.list||(r.env.footnotes.list=[]),n=r.env.footnotes.list.length,r.pos=e,r.posMax=t,r.push({type:"footnote_ref",id:n,level:r.level}),r.linkLevel++,a=r.tokens.length,r.parser.tokenize(r),r.env.footnotes.list[n]={tokens:r.tokens.splice(a)},r.linkLevel--),r.pos=t+1,r.posMax=s,!0)}function ns(r,i){var e,t,n,a,s=r.posMax,o=r.pos;if(o+3>s||!r.env.footnotes||!r.env.footnotes.refs||r.src.charCodeAt(o)!==91||r.src.charCodeAt(o+1)!==94||r.level>=r.options.maxNesting)return!1;for(t=o+2;t=s||(t++,e=r.src.slice(o+2,t-1),I(r.env.footnotes.refs[":"+e])>"u")?!1:(i||(r.env.footnotes.list||(r.env.footnotes.list=[]),r.env.footnotes.refs[":"+e]<0?(n=r.env.footnotes.list.length,r.env.footnotes.list[n]={label:e,count:0},r.env.footnotes.refs[":"+e]=n):n=r.env.footnotes.refs[":"+e],a=r.env.footnotes.list[n].count,r.env.footnotes.list[n].count++,r.push({type:"footnote_ref",id:n,subId:a,level:r.level})),r.pos=t,r.posMax=s,!0)}var rs=["coap","doi","javascript","aaa","aaas","about","acap","cap","cid","crid","data","dav","dict","dns","file","ftp","geo","go","gopher","h323","http","https","iax","icap","im","imap","info","ipp","iris","iris.beep","iris.xpc","iris.xpcs","iris.lwz","ldap","mailto","mid","msrp","msrps","mtqp","mupdate","news","nfs","ni","nih","nntp","opaquelocktoken","pop","pres","rtsp","service","session","shttp","sieve","sip","sips","sms","snmp","soap.beep","soap.beeps","tag","tel","telnet","tftp","thismessage","tn3270","tip","tv","urn","vemmi","ws","wss","xcon","xcon-userid","xmlrpc.beep","xmlrpc.beeps","xmpp","z39.50r","z39.50s","adiumxtra","afp","afs","aim","apt","attachment","aw","beshare","bitcoin","bolo","callto","chrome","chrome-extension","com-eventbrite-attendee","content","cvs","dlna-playsingle","dlna-playcontainer","dtn","dvb","ed2k","facetime","feed","finger","fish","gg","git","gizmoproject","gtalk","hcp","icon","ipn","irc","irc6","ircs","itms","jar","jms","keyparc","lastfm","ldaps","magnet","maps","market","message","mms","ms-help","msnim","mumble","mvn","notes","oid","palm","paparazzi","platform","proxy","psyc","query","res","resource","rmi","rsync","rtmp","secondlife","sftp","sgn","skype","smb","soldat","spotify","ssh","steam","svn","teamspeak","things","udp","unreal","ut2004","ventrilo","view-source","webcal","wtai","wyciwyg","xfire","xri","ymsgr"],as=/^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,is=/^<([a-zA-Z.\-]{1,25}):([^<>\x00-\x20]*)>/;function ss(r,i){var e,t,n,a,s,o=r.pos;return r.src.charCodeAt(o)!==60||(e=r.src.slice(o),e.indexOf(">")<0)?!1:(t=e.match(is),t?rs.indexOf(t[1].toLowerCase())<0||(a=t[0].slice(1,-1),s=mn(a),!r.parser.validateLink(a))?!1:(i||(r.push({type:"link_open",href:s,level:r.level}),r.push({type:"text",content:a,level:r.level+1}),r.push({type:"link_close",level:r.level})),r.pos+=t[0].length,!0):(n=e.match(as),n?(a=n[0].slice(1,-1),s=mn("mailto:"+a),r.parser.validateLink(s)?(i||(r.push({type:"link_open",href:s,level:r.level}),r.push({type:"text",content:a,level:r.level+1}),r.push({type:"link_close",level:r.level})),r.pos+=n[0].length,!0):!1):!1))}function Rt(r,i){return r=r.source,i=i||"",function e(t,n){return t?(n=n.source||n,r=r.replace(t,n),e):new RegExp(r,i)}}var os=/[a-zA-Z_:][a-zA-Z0-9:._-]*/,ls=/[^"'=<>`\x00-\x20]+/,us=/'[^']*'/,cs=/"[^"]*"/,ds=Rt(/(?:unquoted|single_quoted|double_quoted)/)("unquoted",ls)("single_quoted",us)("double_quoted",cs)(),hs=Rt(/(?:\s+attr_name(?:\s*=\s*attr_value)?)/)("attr_name",os)("attr_value",ds)(),ps=Rt(/<[A-Za-z][A-Za-z0-9]*attribute*\s*\/?>/)("attribute",hs)(),fs=/<\/[A-Za-z][A-Za-z0-9]*\s*>/,ms=/|/,vs=/<[?].*?[?]>/,gs=/]*>/,ys=//,bs=Rt(/^(?:open_tag|close_tag|comment|processing|declaration|cdata)/)("open_tag",ps)("close_tag",fs)("comment",ms)("processing",vs)("declaration",gs)("cdata",ys)();function ks(r){var i=r|32;return i>=97&&i<=122}function Ss(r,i){var e,t,n,a=r.pos;return!r.options.html||(n=r.posMax,r.src.charCodeAt(a)!==60||a+2>=n)||(e=r.src.charCodeAt(a+1),e!==33&&e!==63&&e!==47&&!ks(e))||(t=r.src.slice(a).match(bs),!t)?!1:(i||r.push({type:"htmltag",content:r.src.slice(a,a+t[0].length),level:r.level}),r.pos+=t[0].length,!0)}var _s=/^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,Es=/^&([a-z][a-z0-9]{1,31});/i;function ws(r,i){var e,t,n,a=r.pos,s=r.posMax;if(r.src.charCodeAt(a)!==38)return!1;if(a+10){r.pos=a;return}for(n=0;n=t)break;continue}r.pending+=r.src[r.pos++]}r.pending&&r.pushPending()};Lt.prototype.parse=function(r,i,e,t){var n=new Fe(r,this,i,e,t);this.tokenize(n)};function Cs(r){var i=["vbscript","javascript","file","data"],e=r.trim().toLowerCase();return e=Pe(e),!(e.indexOf(":")!==-1&&i.indexOf(e.split(":")[0])!==-1)}var Ts={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkTarget:"",typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["block","inline","references","replacements","smartquotes","references","abbr2","footnote_tail"]},block:{rules:["blockquote","code","fences","footnote","heading","hr","htmlblock","lheading","list","paragraph","table"]},inline:{rules:["autolink","backticks","del","emphasis","entity","escape","footnote_ref","htmltag","links","newline","text"]}}},As={options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkTarget:"",typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{},block:{},inline:{}}},xs={options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkTarget:"",typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["block","inline","references","abbr2"]},block:{rules:["blockquote","code","fences","heading","hr","htmlblock","lheading","list","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","htmltag","links","newline","text"]}}},Ms={default:Ts,full:As,commonmark:xs};function Qr(r,i,e){this.src=i,this.env=e,this.options=r.options,this.tokens=[],this.inlineMode=!1,this.inline=r.inline,this.block=r.block,this.renderer=r.renderer,this.typographer=r.typographer}function ge(r,i){typeof r!="string"&&(i=r,r="default"),i&&i.linkify!=null&&console.warn(`linkify option is removed. Use linkify plugin instead: import Remarkable from 'remarkable'; import linkify from 'remarkable/linkify'; new Remarkable().use(linkify) `),this.inline=new Lt,this.block=new Pn,this.core=new Zr,this.renderer=new On,this.ruler=new ce,this.options={},this.configure(Ms[r]),this.set(i||{})}ge.prototype.set=function(r){Gr(this.options,r)};ge.prototype.configure=function(r){var i=this;if(!r)throw new Error("Wrong `remarkable` preset, check name/content");r.options&&i.set(r.options),r.components&&Object.keys(r.components).forEach(function(e){r.components[e].rules&&i[e].ruler.enable(r.components[e].rules,!0)})};ge.prototype.use=function(r,i){return r(this,i),this};ge.prototype.parse=function(r,i){var e=new Qr(this,r,i);return this.core.process(e),e.tokens};ge.prototype.render=function(r,i){return i=i||{},this.renderer.render(this.parse(r,i),this.options,i)};ge.prototype.parseInline=function(r,i){var e=new Qr(this,r,i);return e.inlineMode=!0,this.core.process(e),e.tokens};ge.prototype.renderInline=function(r,i){return i=i||{},this.renderer.render(this.parseInline(r,i),this.options,i)};var ea=function(){function r(){g(this,r)}return y(r,null,[{key:"instantiate",value:function(e){if(e)return new ge(V(V({},r.DEFAULT_PROPERTIES),e));if(window.hljs){var t=window.hljs;return new ge({highlight:function(a,s){if(s&&t.getLanguage(s))try{return t.highlight(s,a).value}catch(o){console.error("failed to setup the highlight dependency")}try{return t.highlightAuto(a).value}catch(o){console.error("failed to automatically highlight messages")}return""},html:!1,xhtmlOut:!1,breaks:!0,langPrefix:"language-",linkTarget:"_blank",typographer:!0})}else return new ge(r.DEFAULT_PROPERTIES)}},{key:"createNew",value:function(e){var t=r.instantiate(e);return t.inline.validateLink=function(){return!0},t}}])}();ea.DEFAULT_PROPERTIES={breaks:!0,linkTarget:"_blank"};var vn=ea,bt=function(){function r(){g(this,r)}return y(r,null,[{key:"applyCustomStylesToElements",value:function(e,t,n){if(n&&(Object.assign(e.outerContainer.style,n.outerContainer),Object.assign(e.innerContainer.style,n.innerContainer),Object.assign(e.bubbleElement.style,n.bubble),t)){var a=e.bubbleElement.children[0],s=a.tagName.toLocaleLowerCase()!=="a"?a:a.children[0];Object.assign(s.style,n.media)}}},{key:"applySideStyles",value:function(e,t,n,a){a&&(r.applyCustomStylesToElements(e,n,a.shared),t===L.USER_ROLE?r.applyCustomStylesToElements(e,n,a.user):(r.applyCustomStylesToElements(e,n,a.ai),r.applyCustomStylesToElements(e,n,a[t])))}},{key:"isElementsStyles",value:function(e){return!!(e.outerContainer||e.innerContainer||e.bubble||e.media)}},{key:"applyCustomStyles",value:function(e,t,n,a,s){var o;s&&e.default!==s?r.isElementsStyles(s)?(r.applyCustomStylesToElements(t,a,(o=e.default)==null?void 0:o.shared),r.applyCustomStylesToElements(t,a,s)):(r.applySideStyles(t,n,a,e.default),r.applySideStyles(t,n,a,s)):r.applySideStyles(t,n,a,e.default)}},{key:"extractParticularSharedStyles",value:function(e,t){if(t!=null&&t.shared){var n=t.shared,a={outerContainer:{},innerContainer:{},bubble:{},media:{}};return e.forEach(function(s){var o,l,u,c;a.outerContainer[s]=((o=n.outerContainer)==null?void 0:o[s])||"",a.innerContainer[s]=((l=n.innerContainer)==null?void 0:l[s])||"",a.bubble[s]=((u=n.bubble)==null?void 0:u[s])||"",a.media[s]=((c=n.media)==null?void 0:c[s])||""}),a}}}])}(),At=function(){function r(){g(this,r)}return y(r,null,[{key:"onMessage",value:function(e,t,n){var a,s=JSON.parse(JSON.stringify({message:t,isHistory:n,isInitial:n}));se.reAddFileRefToObject(t,s),(a=e.onMessage)==null||a.call(e,s),e.dispatchEvent(new CustomEvent("message",{detail:s})),le.fireOnNewMessage(e,s)}},{key:"onClearMessages",value:function(e){var t;(t=e.onClearMessages)==null||t.call(e),e.dispatchEvent(new CustomEvent("clear-messages"))}},{key:"onRender",value:function(e){var t;(t=e.onComponentRender)==null||t.call(e,e),e.dispatchEvent(new CustomEvent("render",{detail:e}))}},{key:"onError",value:function(e,t){var n;(n=e.onError)==null||n.call(e,t),e.dispatchEvent(new CustomEvent("error",{detail:t}))}}])}(),kt=function(){function r(){g(this,r)}return y(r,null,[{key:"generateLoadingRingElement",value:function(){var e=document.createElement("div");return e.classList.add("loading-history"),e.appendChild(document.createElement("div")),e.appendChild(document.createElement("div")),e.appendChild(document.createElement("div")),e.appendChild(document.createElement("div")),e}},{key:"apply",value:function(e,t,n){Ie.setRing(t.bubbleElement,n==null?void 0:n.bubble),n!=null&&n.bubble&&(n=JSON.parse(JSON.stringify(n)),delete n.bubble),e.applyCustomStyles(t,"history",!1,n)}},{key:"addLoadHistoryMessage",value:function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a,s,o,l,u,c,d,h;e.bubbleElement.classList.add(r.CLASS);var p=n?r.FULL_VIEW_CLASS:r.SMALL_CLASS;e.outerContainer.classList.add(p);var m=n?(l=(o=(s=(a=t.messageStyles)==null?void 0:a.loading)==null?void 0:s.history)==null?void 0:o.full)==null?void 0:l.styles:(h=(d=(c=(u=t.messageStyles)==null?void 0:u.loading)==null?void 0:c.history)==null?void 0:d.small)==null?void 0:h.styles;r.apply(t,e,m),t.elementRef.prepend(e.outerContainer)}},{key:"createDefaultElements",value:function(e){var t=e.createMessageElements("",L.AI_ROLE),n=t.bubbleElement,a=r.generateLoadingRingElement();return n.appendChild(a),t}},{key:"addMessage",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n,a,s,o,l=(o=(s=(a=(n=e.messageStyles)==null?void 0:n.loading)==null?void 0:a.history)==null?void 0:s.full)==null?void 0:o.html,u=l?ke.createElements(e,l,L.AI_ROLE,!0):r.createDefaultElements(e);return r.addLoadHistoryMessage(u,e,t),u}},{key:"tryChangeViewToSmall",value:function(e,t){var n,a,s,o,l,u,c,d;if(t!=null&&t.outerContainer.classList.contains(r.FULL_VIEW_CLASS)){t.outerContainer.classList.replace(r.FULL_VIEW_CLASS,r.SMALL_CLASS);var h=(o=(s=(a=(n=e.messageStyles)==null?void 0:n.loading)==null?void 0:a.history)==null?void 0:s.small)==null?void 0:o.styles;h&&r.apply(e,t,h);var p=(d=(c=(u=(l=e.messageStyles)==null?void 0:l.loading)==null?void 0:u.history)==null?void 0:c.small)==null?void 0:d.html;return p&&(t.bubbleElement.innerHTML=p),!0}return!1}},{key:"changeFullViewToSmall",value:function(e){var t=e.messageElementRefs[e.messageElementRefs.length-1];r.tryChangeViewToSmall(e,t)||r.tryChangeViewToSmall(e,e.messageElementRefs[0])}}])}();kt.CLASS="loading-history-message",kt.FULL_VIEW_CLASS="loading-history-message-full-view",kt.SMALL_CLASS="loading-history-message-small";var Re=kt,gn=function(){function r(i){var e=this;g(this,r),this.messageElementRefs=[],this.htmlClassUtilities={},this.messageToElements=[],this.elementRef=r.createContainerElement(),this.messageStyles=le.processMessageStyles(i.messageStyles),this._remarkable=vn.createNew(i.remarkable),this._avatars=i.avatars,this._names=i.names,this._onMessage=At.onMessage.bind(this,i),i.htmlClassUtilities&&(this.htmlClassUtilities=i.htmlClassUtilities),setTimeout(function(){e.submitUserMessage=i.submitUserMessage})}return y(r,[{key:"addNewTextMessage",value:function(e,t,n){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(n!=null&&n.status){var s=this.overwriteText(t,e,this.messageElementRefs);if(s)return s;n.status=!1}var o=a?this.createAndPrependNewMessageElement(e,t,a):this.createAndAppendNewMessageElement(e,t);return o.bubbleElement.classList.add(r.TEXT_BUBBLE_CLASS),this.applyCustomStyles(o,t,!1),L.fillEmptyMessageElement(o.bubbleElement,e),o}},{key:"overwriteText",value:function(e,t,n){var a=L.overwriteMessage(this.messageToElements,n,t,e,"text",r.TEXT_BUBBLE_CLASS);return a&&this.renderText(a.bubbleElement,t),a}},{key:"createAndAppendNewMessageElement",value:function(e,t){var n=this,a=this.createNewMessageElement(e,t);return this.elementRef.appendChild(a.outerContainer),setTimeout(function(){return de.scrollToBottom(n.elementRef)}),a}},{key:"createAndPrependNewMessageElement",value:function(e,t,n){var a,s=this.createNewMessageElement(e,t,n);if(n&&(a=this.elementRef.firstChild)!=null&&a.classList.contains(r.INTRO_CLASS)){this.elementRef.firstChild.insertAdjacentElement("afterend",s.outerContainer);var o=this.messageElementRefs[0];this.messageElementRefs[0]=this.messageElementRefs[1],this.messageElementRefs[1]=o}else this.elementRef.insertBefore(s.outerContainer,this.elementRef.firstChild);return s}},{key:"createMessageElementsOnOrientation",value:function(e,t,n){return n?this.createAndPrependNewMessageElement(e,t,!0):this.createNewMessageElement(e,t)}},{key:"createNewMessageElement",value:function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,a;(a=this._introPanel)==null||a.hide();var s=this.messageElementRefs[this.messageElementRefs.length-1];return Re.changeFullViewToSmall(this),r.isTemporaryElement(s)&&(this.revealRoleElementsIfTempRemoved(s,t),s.outerContainer.remove(),this.messageElementRefs.pop()),this.createMessageElements(e,t,n)}},{key:"revealRoleElementsIfTempRemoved",value:function(e,t){if((this._avatars||this._names)&&rt.isElementTemporary(e)){var n=this.messageElementRefs[this.messageElementRefs.length-2];n&&this.messageToElements.length>0&&!e.bubbleElement.classList.contains(L.getRoleClass(t))&&L.revealRoleElements(n.innerContainer,this._avatars,this._names)}}},{key:"createElements",value:function(e,t){var n=r.createBaseElements(t),a=n.outerContainer,s=n.innerContainer,o=n.bubbleElement;return a.appendChild(s),this.addInnerContainerElements(o,e,t),n}},{key:"createMessageElements",value:function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,a=this.createElements(e,t);return L.updateRefArr(this.messageElementRefs,a,n),L.classifyMessages(t,this.messageElementRefs),a}},{key:"addInnerContainerElements",value:function(e,t,n){var a;return((a=this.messageToElements[this.messageToElements.length-1])==null?void 0:a[0].role)===n&&!this.isLastMessageError()&&L.hideRoleElements(this.messageElementRefs,!!this._avatars,!!this._names),e.classList.add("message-bubble",L.getRoleClass(n),n===L.USER_ROLE?"user-message-text":"ai-message-text"),this.renderText(e,t),L.addRoleElements(e,n,this._avatars,this._names),{bubbleElement:e}}},{key:"applyCustomStyles",value:function(e,t,n,a){e&&this.messageStyles&&bt.applyCustomStyles(this.messageStyles,e,t,n,a)}},{key:"removeMessage",value:function(e){e.outerContainer.remove();var t=this.messageElementRefs.findIndex(function(n){return n===e});this.messageElementRefs.splice(t,1)}},{key:"removeLastMessage",value:function(){this.messageElementRefs[this.messageElementRefs.length-1].outerContainer.remove(),this.messageElementRefs.pop()}},{key:"isLastMessageError",value:function(){var e;return(e=L.getLastMessageBubbleElement(this.elementRef))==null?void 0:e.classList.contains("error-message-text")}},{key:"sendClientUpdate",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n;(n=this._onMessage)==null||n.call(this,e,t)}},{key:"renderText",value:function(e,t){e.innerHTML=this._remarkable.render(t),e.innerText.trim().length===0&&(e.innerText=t)}},{key:"refreshTextMessages",value:function(e){var t=this;this._remarkable=vn.createNew(e),this.messageToElements.forEach(function(n){n[1].text&&n[0].text&&t.renderText(n[1].text.bubbleElement,n[0].text)})}}],[{key:"createContainerElement",value:function(){var e=document.createElement("div");return e.id="messages",e}},{key:"isTemporaryElement",value:function(e){return r.isLoadingMessage(e)||rt.isElementTemporary(e)}},{key:"createBaseElements",value:function(e){var t=document.createElement("div"),n=document.createElement("div");n.classList.add("inner-message-container"),t.appendChild(n),t.classList.add("outer-message-container"),t.classList.add(L.buildRoleContainerClass(e));var a=document.createElement("div");return a.classList.add("message-bubble"),n.appendChild(a),{outerContainer:t,innerContainer:n,bubbleElement:a}}},{key:"createMessageContent",value:function(e){var t=e.text,n=e.files,a=e.html,s=e._sessionId,o=e.role,l={role:o||L.AI_ROLE};return t&&(l.text=t),n&&(l.files=n),a&&(l.html=a),!t&&!n&&!a&&(l.text=""),s&&(l._sessionId=s),l}},{key:"isLoadingMessage",value:function(e){return e==null?void 0:e.bubbleElement.classList.contains(Ie.BUBBLE_CLASS)}}])}();gn.TEXT_BUBBLE_CLASS="text-message",gn.INTRO_CLASS="deep-chat-intro";var Le=gn,Is="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='iso-8859-1'?%3e%3csvg%20fill='%23000000'%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%2032%2032'%20xml:space='preserve'%3e%3cpath%20d='M23,30.36H9c-2.404,0-4.36-1.956-4.36-4.36V15c0-2.404,1.956-4.36,4.36-4.36h3.659%20c0.167-1.566,1.415-2.813,2.981-2.981V5.333c-1.131-0.174-2-1.154-2-2.333c0-1.301,1.059-2.36,2.36-2.36%20c1.302,0,2.36,1.059,2.36,2.36c0,1.179-0.869,2.159-2,2.333V7.66c1.566,0.167,2.814,1.415,2.981,2.981H23%20c2.404,0,4.36,1.956,4.36,4.36v11C27.36,28.404,25.404,30.36,23,30.36z%20M9,11.36c-2.007,0-3.64,1.633-3.64,3.64v11%20c0,2.007,1.633,3.64,3.64,3.64h14c2.007,0,3.64-1.633,3.64-3.64V15c0-2.007-1.633-3.64-3.64-3.64H9z%20M13.384,10.64h5.231%20C18.439,9.354,17.334,8.36,16,8.36C14.667,8.36,13.561,9.354,13.384,10.64z%20M16,1.36c-0.904,0-1.64,0.736-1.64,1.64%20S15.096,4.64,16,4.64c0.904,0,1.64-0.736,1.64-1.64S16.904,1.36,16,1.36z%20M20,27.36h-8c-1.301,0-2.36-1.059-2.36-2.36%20s1.059-2.36,2.36-2.36h8c1.302,0,2.36,1.059,2.36,2.36S21.302,27.36,20,27.36z%20M12,23.36c-0.904,0-1.64,0.735-1.64,1.64%20s0.736,1.64,1.64,1.64h8c0.904,0,1.64-0.735,1.64-1.64s-0.735-1.64-1.64-1.64H12z%20M31,23.86h-2c-0.199,0-0.36-0.161-0.36-0.36V15%20c0-0.199,0.161-0.36,0.36-0.36h2c0.199,0,0.36,0.161,0.36,0.36v8.5C31.36,23.699,31.199,23.86,31,23.86z%20M29.36,23.14h1.279v-7.78%20H29.36V23.14z%20M3,23.86H1c-0.199,0-0.36-0.161-0.36-0.36V15c0-0.199,0.161-0.36,0.36-0.36h2c0.199,0,0.36,0.161,0.36,0.36v8.5%20C3.36,23.699,3.199,23.86,3,23.86z%20M1.36,23.14h1.28v-7.78H1.36V23.14z%20M20,20.36c-1.302,0-2.36-1.059-2.36-2.36%20s1.059-2.36,2.36-2.36s2.36,1.059,2.36,2.36C22.36,19.302,21.302,20.36,20,20.36z%20M20,16.36c-0.904,0-1.64,0.736-1.64,1.64%20s0.735,1.64,1.64,1.64s1.64-0.735,1.64-1.64S20.904,16.36,20,16.36z%20M12,20.36c-1.301,0-2.36-1.059-2.36-2.36s1.059-2.36,2.36-2.36%20s2.36,1.059,2.36,2.36C14.36,19.302,13.301,20.36,12,20.36z%20M12,16.36c-0.904,0-1.64,0.736-1.64,1.64s0.736,1.64,1.64,1.64%20s1.64-0.735,1.64-1.64S12.904,16.36,12,16.36z'/%3e%3crect%20style='fill:none;'%20width='32'%20height='32'/%3e%3c/svg%3e",Rs="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6CAMAAAC/MqoPAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADNQTFRF////9vX18vLy/Pz86enp4+Li2tnZ1tbWzczM+fn57Ozs4N/f09LS0M/P5uXl7+/v3dzcwtncCAAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAAEgAAABIAEbJaz4AAAZNSURBVHja7d3bdtsqEABQYABZSLH9/3+ZpnUsIcF5iOM6PfElNoMHMfPQdq3GmL0GkLhEUqLaUExnOtOZznSmM53pTGc605nOdKYznelMZzrTmV4LXSqllKyJDkob26xWq8Zae/iH0QoWTm9d1xur4WuypQJtTd+5dqn0VjcxzNO5/57mEBvdLo8Oron6aseWOjYOFkVvjQs3DmgyONMuht52EfztP+4hdu0i6LCO808/M8c1lE/fuPGej41uUzgdtoO/75N+2ELJ9I3b3//hPXbiMenm3pR/Jt4USgcLBIp4Bh10gqKVhvLo0klCxeSky96nKcj3siw6pJIL4XsoiQ7apyvMY/V3HHrSRioLopvEhSpTCn2TPEuwKYMOIX0tAxRBf/Hpa+lfSqBv9gi1FPsNfTrMAiVmIE/vJhz61FGnQxRIEYE4vfNYdN8Rp6MlHaHotHTn8ejekaZPAjEmyvQWdZFTtYTpXqCGJ0zvcek9Yfoel76nS0ffv1NMp1ca+pkgyfRCGind4L7OWWc605l+cxjsyhqy9AGbPpClc1/nvl5VX0c/3Alk6RU3+Am7shNZ+h6bvidLr7jBB+zKBrL0irOOudmIUDzTmf5gIP+iEuXtRuTVaEmY/oZLfyNMrzjryPc0gerMTdpVg0tvjJUU6bLPcGOoUv46SLL6Wi8yhLf06C7TUyekI0efRaaYqdFltkeNpPumRPSMDxgBYvSM035FrKAmH72hRW99PrpvSdEHkTEGUvSsK3yKVDkuJ92RohcZaehzzirPpOg+J92Tolfc4Cumx5xVXpGiZ34+ICX6W84qv5GiR5NPbiIpOv6BCoSvSkTX+eiaGP092zINvBOj4x8mSf9FqejvNo/cvpOji19ZbmviL0GPLsYMFzgzCor0+Bv/ePDvSJKOb9dJ5UlnbnEHiHgzv6cdTpJOWuc/u3FEucLDOL75xGtBiefrcwgoC9NDSH/jkH6pAuXmBqPQ9HSUPVdZBH1GGOrMXAQdYxcKZfxAoK+KKBKFLosoEoX+u4giUehz8jlcnAuhp78I46yDYNAd+QLR6K+pr+yvxdBTHyVDubQh0UfSxaHSd0lbvNkVRE87JGOtc+PQd2QLQ6fHhJkKsSh6yg13tO08JPprsgrrXWH0dJd2vH1MLPprot4eXoujpzrdhngiD40ek2y92lggPcnWa8qN1Yz0BFuvZhRl0uOfR0v4Ewuli/Bg4Qr3lArqGdndQ3UPO1EunXYwnelMZzrTmc50pjOd6UxnOtOZznSmM53pTGf6kuj6oedFKV0s3fX6sX1S3bsi6a4PD7+/YAqYeBw6pIB/4qEgOqxdSPbGiim4NRRCbzs3Jj0L4UfXtQXQVRfn5IdA/Bw7RZzurEV6EtdsLeGXkIPuA+K1UoVeA0l62zmN/LqfSSft9KkepmoRuvi3nd5uKNFB9zbbXEANqdr941XO0NJx2v2jdJenpf+/3bvn0ts16ph+sd6hX7dPo2+2cZzE02Ia43bzDHqr+2Evnhz74ZHU30ffbKOeng1/NPV30Ns1gYQnSP2P6e65Pfxc6h02XZqXQCjhJ6kPL6bFo4NrGvAU4UII4SE2P1vQuZkuOxckVfehisF1MjUddN/MZBN+kvq5uf0O/xa66gyNS9ktMWlz44rO1Z8C19i5FPdHzPamXn+F3hryPfxMr78+4F+kq22kO6Rf6fUQt+puuustyWv4rbG3l/duztFB96GYoe1cTBdXMr+nw9qVM6ZfxOvzezff0nXi/ZOndvrR6Zvpm0c3h6nhdb+5iS7tsIim/qXZD9+97/Jf+rpZ5BET1ayv0GUzLhEuhBBjIy/RdVPgndutIRt9nt7p5cKFEEJ3Z+jQFDZL+XnMDXxHB73gxn5s9Kc3d3/pFciFkN/QTSXHJpX5l66gDrkQoP6hL3xsPw39la4qOiV8tH78XeSbue6N9mvWa6J/ybpc1CT1Wnh5Qq9meP8IOKH3ddH7E/ri1iYux/SXDrXR4UiPdck/wUpU+FtPf6/orja6O9KL3l56LOvVxe5Ib2qjN0d6Vbex4ghWlU3bPqI90If66MNng680FNpbJijH6kCvaF3uMzQ3+IrpFerV4Y9dffQdN3im10ivbuImhD3Qq5u4HdZkua8znelMZ/pS4z9CPVKkxowNxgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNy0wMy0yN1QxNTo0NToxNSswMDowMN1xSg4AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTctMDMtMjdUMTU6NDU6MTUrMDA6MDCsLPKyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAABJRU5ErkJggg==",ta=function(){function r(){g(this,r)}return y(r,null,[{key:"hide",value:function(e){var t;(t=e.getElementsByClassName(r.CONTAINER_CLASS)[0].style).visibility||(t.visibility="hidden")}},{key:"reveal",value:function(e){e.getElementsByClassName(r.CONTAINER_CLASS)[0].style.visibility=""}},{key:"applyCustomStylesToElements",value:function(e,t,n){Object.assign(e.style,n.container),Object.assign(t.style,n.avatar)}},{key:"applyCustomStyles",value:function(e,t,n,a){var s,o,l,u;if((s=n.default)!=null&&s.styles&&r.applyCustomStylesToElements(e,t,n.default.styles),a===L.USER_ROLE)(o=n.user)!=null&&o.styles&&r.applyCustomStylesToElements(e,t,n.user.styles);else{(l=n.ai)!=null&&l.styles&&r.applyCustomStylesToElements(e,t,n.ai.styles);var c=(u=n[a])==null?void 0:u.styles;c&&r.applyCustomStylesToElements(e,t,c)}}},{key:"createAvatar",value:function(e,t){var n,a,s,o,l,u=document.createElement("img");e===L.USER_ROLE?u.src=((n=t==null?void 0:t.user)==null?void 0:n.src)||((a=t==null?void 0:t.default)==null?void 0:a.src)||Rs:u.src=((s=t==null?void 0:t[e])==null?void 0:s.src)||((o=t==null?void 0:t.ai)==null?void 0:o.src)||((l=t==null?void 0:t.default)==null?void 0:l.src)||Is,u.classList.add("avatar"),u.alt="".concat(e," avatar");var c=document.createElement("div");return c.classList.add(r.CONTAINER_CLASS),c.appendChild(u),t&&r.applyCustomStyles(c,u,t,e),c}},{key:"getPosition",value:function(e,t){var n,a,s,o,l,u,c,d,h,p=(l=(o=t==null?void 0:t[e])==null?void 0:o.styles)==null?void 0:l.position;return e!==L.USER_ROLE&&((n=p)!==null&&n!==void 0||(p=(c=(u=t==null?void 0:t.ai)==null?void 0:u.styles)==null?void 0:c.position)),(a=p)!==null&&a!==void 0||(p=(h=(d=t==null?void 0:t.default)==null?void 0:d.styles)==null?void 0:h.position),(s=p)!==null&&s!==void 0||(p=e===L.USER_ROLE?"right":"left"),p}},{key:"add",value:function(e,t,n){var a=typeof n=="boolean"?void 0:n,s=r.createAvatar(t,a),o=r.getPosition(t,a);s.classList.add(o==="left"?"left-item-position":"right-item-position"),e.insertAdjacentElement(o==="left"?"beforebegin":"afterend",s)}}])}();ta.CONTAINER_CLASS="avatar-container";var Qt=ta,na=function(){function r(){g(this,r)}return y(r,null,[{key:"hide",value:function(e){var t;(t=e.getElementsByClassName(r.NAME_CLASS)[0].style).visibility||(t.visibility="hidden")}},{key:"reveal",value:function(e){e.getElementsByClassName(r.NAME_CLASS)[0].style.visibility=""}},{key:"getPosition",value:function(e,t){var n,a,s,o,l,u,c=(o=t==null?void 0:t[e])==null?void 0:o.position;return e!==L.USER_ROLE&&((n=c)!==null&&n!==void 0||(c=(l=t==null?void 0:t.ai)==null?void 0:l.position)),(a=c)!==null&&a!==void 0||(c=(u=t==null?void 0:t.default)==null?void 0:u.position),(s=c)!==null&&s!==void 0||(c=e===L.USER_ROLE?"right":"left"),c}},{key:"applyStyle",value:function(e,t,n){var a,s,o,l;Object.assign(e.style,(a=n.default)==null?void 0:a.style),t===L.USER_ROLE?Object.assign(e.style,(s=n.user)==null?void 0:s.style):(Object.assign(e.style,(o=n.ai)==null?void 0:o.style),Object.assign(e.style,(l=n[t])==null?void 0:l.style))}},{key:"getNameText",value:function(e,t){var n,a,s,o,l,u;return e===L.USER_ROLE?((n=t.user)==null?void 0:n.text)||((a=t.default)==null?void 0:a.text)||"User":e===L.AI_ROLE?((s=t.ai)==null?void 0:s.text)||((o=t.default)==null?void 0:o.text)||"AI":((l=t[e])==null?void 0:l.text)||((u=t.default)==null?void 0:u.text)||e}},{key:"createName",value:function(e,t){var n=document.createElement("div");return n.classList.add(r.NAME_CLASS),n.textContent=r.getNameText(e,t),r.applyStyle(n,e,t),n}},{key:"add",value:function(e,t,n){var a=typeof n=="boolean"?{}:n,s=r.createName(t,a),o=r.getPosition(t,a);s.classList.add(o==="left"?"left-item-position":"right-item-position"),e.insertAdjacentElement(o==="left"?"beforebegin":"afterend",s)}}])}();na.NAME_CLASS="name";var en=na,Me=function(){function r(){g(this,r)}return y(r,null,[{key:"getLastElementsByClass",value:function(e,t,n){for(var a=function(){var u=e[o];if(u.bubbleElement.classList.contains(t[0])&&!t.slice(1).find(function(c){return!u.bubbleElement.classList.contains(c)}))if(n){if(!n.find(function(c){return u.bubbleElement.classList.contains(c)}))return{v:u}}else return{v:u}},s,o=e.length-1;o>=0;o-=1)if(s=a(),s)return s.v}},{key:"getLastMessage",value:function(e,t,n){for(var a=e.length-1;a>=0;a-=1)if(e[a][0].role===t)if(n){if(e[a][0][n])return e[a][0]}else return e[a][0]}},{key:"getLastTextToElement",value:function(e,t){for(var n=e.length-1;n>=0;n-=1)if(e[n][0]===t)return e[n]}},{key:"overwriteMessage",value:function(e,t,n,a,s,o){var l=r.getLastElementsByClass(t,[r.getRoleClass(a),o],[Ie.BUBBLE_CLASS]),u=r.getLastMessage(e,a,s);return u&&(u[s]=n),l}},{key:"getRoleClass",value:function(e){return"".concat(e,"-message")}},{key:"fillEmptyMessageElement",value:function(e,t){t.trim().length===0&&(e.classList.add(r.EMPTY_MESSAGE_CLASS),e.innerHTML='
    .
    ')}},{key:"unfillEmptyMessageElement",value:function(e,t){e.classList.contains(r.EMPTY_MESSAGE_CLASS)&&t.trim().length>0&&e.replaceChildren()}},{key:"getLastMessageBubbleElement",value:function(e){var t,n,a;return Array.from(((a=(n=(t=r.getLastMessageElement(e))==null?void 0:t.children)==null?void 0:n[0])==null?void 0:a.children)||[]).find(function(s){return s.classList.contains("message-bubble")})}},{key:"getLastMessageElement",value:function(e){return e.children[e.children.length-1]}},{key:"addRoleElements",value:function(e,t,n,a){n&&Qt.add(e,t,n),a&&en.add(e,t,a)}},{key:"hideRoleElements",value:function(e,t,n){var a=e[e.length-1].innerContainer;t&&Qt.hide(a),n&&en.hide(a)}},{key:"revealRoleElements",value:function(e,t,n){t&&Qt.reveal(e),n&&en.reveal(e)}},{key:"updateRefArr",value:function(e,t,n){n?e.unshift(t):e.push(t)}},{key:"buildRoleContainerClass",value:function(e){return"deep-chat-".concat(e,"-container")}},{key:"addNewPositionClasses",value:function(e,t){var n;e.outerContainer.classList.remove(r.POSITION_TOP_MESSAGE_CLASS,r.POSITION_MIDDLE_MESSAGE_CLASS,r.POSITION_BOTTOM_MESSAGE_CLASS),(n=e.outerContainer.classList).add.apply(n,It(t))}},{key:"getNumberOfElements",value:function(e){var t=0;return e.text!==void 0&&(t+=1),e.html!==void 0&&(t+=1),e.files&&(t+=e.files.length),t}},{key:"filterdMessageElements",value:function(e,t){return e.filter(function(n){return n.bubbleElement.classList.contains(t)})}},{key:"findMessageElements",value:function(e,t){return e.find(function(n){return n.bubbleElement.classList.contains(t)})}},{key:"generateMessageBodyElements",value:function(e,t){var n={};return e.text&&(n.text=r.findMessageElements(t,Le.TEXT_BUBBLE_CLASS)),e.html&&(n.html=r.findMessageElements(t,ke.HTML_BUBBLE_CLASS)),e.files&&(n.files=r.filterdMessageElements(t,se.FILE_BUBBLE_CLASS)),n}},{key:"generateMessageBody",value:function(e,t){var n=r.getNumberOfElements(e),a=t.slice(t.length-n);return r.generateMessageBodyElements(e,a)}},{key:"classifyMessages",value:function(e,t){var n=r.buildRoleContainerClass(e);t.forEach(function(a,s){var o=a.outerContainer.classList.contains(n),l=t[s-1],u=t[s+1],c=l==null?void 0:l.outerContainer.classList.contains(n),d=u==null?void 0:u.outerContainer.classList.contains(n);o&&(!c&&d?r.addNewPositionClasses(a,[r.POSITION_TOP_MESSAGE_CLASS]):c&&d?r.addNewPositionClasses(a,[r.POSITION_MIDDLE_MESSAGE_CLASS]):c&&!d?r.addNewPositionClasses(a,[r.POSITION_BOTTOM_MESSAGE_CLASS]):!c&&!d&&r.addNewPositionClasses(a,[r.POSITION_TOP_MESSAGE_CLASS,r.POSITION_BOTTOM_MESSAGE_CLASS]))})}}])}();Me.AI_ROLE="ai",Me.USER_ROLE="user",Me.EMPTY_MESSAGE_CLASS="empty-message",Me.POSITION_TOP_MESSAGE_CLASS="deep-chat-top-message",Me.POSITION_MIDDLE_MESSAGE_CLASS="deep-chat-middle-message",Me.POSITION_BOTTOM_MESSAGE_CLASS="deep-chat-bottom-message";var L=Me,ra=function(){function r(i){g(this,r),this._fileAdded=!1,this._streamType="",this._hasStreamEnded=!1,this._messages=i}return y(r,[{key:"upsertStreamedMessage",value:function(e){var t;if(!this._hasStreamEnded){if((e==null?void 0:e.text)===void 0&&(e==null?void 0:e.html)===void 0)return console.error(J.INVALID_STREAM_EVENT);var n=(e==null?void 0:e.text)||(e==null?void 0:e.html)||"",a=de.isScrollbarAtBottomOfElement(this._messages.elementRef),s=(e==null?void 0:e.text)!==void 0?"text":"html";if(!this._elements&&!this._message)this.setInitialState(s,n,e==null?void 0:e.role);else{if(this._streamType!==s)return console.error(J.INVALID_STREAM_EVENT_MIX);this.updateBasedOnType(n,s,(t=this._elements)==null?void 0:t.bubbleElement,e==null?void 0:e.overwrite)}a&&de.scrollToBottom(this._messages.elementRef)}}},{key:"setInitialState",value:function(e,t,n){var a;this._streamType=e,(a=n)!==null&&a!==void 0||(n=L.AI_ROLE),this._elements=e==="text"?this._messages.addNewTextMessage(t,n):ke.add(this._messages,t,n,this._messages.messageElementRefs),this._elements.bubbleElement.classList.add(r.MESSAGE_CLASS),this._activeMessageRole=n,this._message=Tt({role:this._activeMessageRole},e,t),this._messages.messageToElements.push([this._message,Tt({},e,this._elements)])}},{key:"updateBasedOnType",value:function(e,t,n){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;L.unfillEmptyMessageElement(n,e),(t==="text"?this.updateText:this.updateHTML).bind(this)(e,n,a)}},{key:"updateText",value:function(e,t,n){this._message&&(this._message.text=n?e:this._message.text+e,this._messages.renderText(t,this._message.text))}},{key:"updateHTML",value:function(e,t,n){if(this._message)if(n)this._message.html=e,t.innerHTML=e;else{var a=document.createElement("span");a.innerHTML=e,t.appendChild(a),this._message.html=(t==null?void 0:t.innerHTML)||""}}},{key:"finaliseStreamedMessage",value:function(){var e;if(!(this._endStreamAfterOperation||!this._message)&&!(this._fileAdded&&!this._elements)){if(!this._elements)throw Error(J.NO_VALID_STREAM_EVENTS_SENT);(e=this._elements.bubbleElement)!=null&&e.classList.contains(r.MESSAGE_CLASS)&&(this._streamType==="text"?this._messages.textToSpeech&&yt.speak(this._message.text||"",this._messages.textToSpeech):this._streamType==="html"&&this._elements&&Ke.apply(this._messages,this._elements.outerContainer),this._elements.bubbleElement.classList.remove(r.MESSAGE_CLASS),this._message&&this._messages.sendClientUpdate(Le.createMessageContent(this._message),!1),this._hasStreamEnded=!0)}}},{key:"markFileAdded",value:function(){this._fileAdded=!0}},{key:"newMessage",value:function(){this.finaliseStreamedMessage(),this._elements=void 0,delete this._message,this._fileAdded=!1,this._hasStreamEnded=!1,this._activeMessageRole=void 0}},{key:"endStreamAfterFileDownloaded",value:function(){var i=k(f().mark(function t(n,a){var s,o,l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return this._endStreamAfterOperation=!0,d.next=3,a();case 3:o=d.sent,l=o.text,u=o.files,l&&this.updateBasedOnType(l,"text",(s=this._elements)==null?void 0:s.bubbleElement,!0),this._endStreamAfterOperation=!1,this.finaliseStreamedMessage(),u&&n.addNewMessage({files:u});case 7:case"end":return d.stop()}},t,this)}));function e(t,n){return i.apply(this,arguments)}return e}()}])}();ra.MESSAGE_CLASS="streamed-message";var Se=ra,aa=function(){function r(){g(this,r)}return y(r,null,[{key:"tempRemoveContentHeader",value:function(){var i=k(f().mark(function t(n,a,s){var o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(n!=null&&n.headers){c.next=2;break}throw new Error("Request settings have not been set up");case 2:return o=n.headers[r.CONTENT_TYPE],delete n.headers[r.CONTENT_TYPE],c.prev=4,c.next=7,a(s);case 7:l=c.sent,c.next=13;break;case 10:throw c.prev=10,c.t0=c.catch(4),n.headers[r.CONTENT_TYPE]=o,c.t0;case 13:return c.abrupt("return",(n.headers[r.CONTENT_TYPE]=o,l));case 14:case"end":return c.stop()}},t,null,[[4,10]])}));function e(t,n,a){return i.apply(this,arguments)}return e}()},{key:"displayError",value:function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"Service error, please try again.";if(console.error(t),I(t)=="object")return t instanceof Error?e.addNewErrorMessage("service",t.message):Array.isArray(t)||typeof t.error=="string"?e.addNewErrorMessage("service",t):Object.keys(t).length===0?e.addNewErrorMessage("service",n):e.addNewErrorMessage("service",JSON.stringify(t));e.addNewErrorMessage("service",t)}},{key:"fetch",value:function(i){function e(t,n,a,s){return i.apply(this,arguments)}return e.toString=function(){return i.toString()},e}(function(i,e,t,n){var a,s,o={method:((a=i.connectSettings)==null?void 0:a.method)||"POST",headers:e};return o.method!=="GET"&&(o.body=t?JSON.stringify(n):n),i.connectSettings.credentials&&(o.credentials=i.connectSettings.credentials),fetch(((s=i.connectSettings)==null?void 0:s.url)||i.url||"",o)})},{key:"processResponseByType",value:function(e){var t=e.headers.get("content-type");return t!=null&&t.includes("application/json")?e.json():t!=null&&t.includes("text/plain")||!t?e:e.blob()}},{key:"processRequestInterceptor",value:function(){var i=k(f().mark(function t(n,a){var s,o,l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return d.next=2,(s=n.requestInterceptor)==null?void 0:s.call(n,a);case 2:if(d.t0=d.sent,d.t0){d.next=5;break}d.t0=a;case 5:return o=d.t0,l=o,u=o,d.abrupt("return",{body:l.body,headers:l.headers,error:u.error});case 9:case"end":return d.stop()}},t)}));function e(t,n){return i.apply(this,arguments)}return e}()},{key:"validateResponseFormat",value:function(e){return e&&I(e)=="object"&&(typeof e.error=="string"||typeof e.text=="string"||typeof e.html=="string"||Array.isArray(e.files))}},{key:"onInterceptorError",value:function(e,t,n){e.addNewErrorMessage("service",t),n==null||n()}}])}();aa.CONTENT_TYPE="Content-Type";var j=aa;function Ls(r,i){return yn.apply(this,arguments)}function yn(){return yn=k(f().mark(function r(i,e){var t,n;return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:t=i.getReader();case 1:return s.next=3,t.read();case 3:if((n=s.sent).done){s.next=7;break}e(n.value);case 5:s.next=1;break;case 7:case"end":return s.stop()}},r)})),yn.apply(this,arguments)}function Os(r){var i,e,t,n=!1;return function(a){i===void 0?(i=a,e=0,t=-1):i=Ns(i,a);for(var s=i.length,o=0;e0){var o=n.decode(a.subarray(0,s)),l=s+(a[s+1]===32?2:1),u=n.decode(a.subarray(l));switch(o){case"data":t.data=t.data?t.data+` `+u:u;break;case"event":t.event=u;break;case"id":r(t.id=u);break;case"retry":var c=parseInt(u,10);isNaN(c)||i(t.retry=c);break}}}}function Ns(r,i){var e=new Uint8Array(r.length+i.length);return e.set(r),e.set(i,r.length),e}function sr(){return{data:"",event:"",id:"",retry:void 0}}var Ds=function(i,e){var t={};for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.indexOf(n)<0&&(t[n]=i[n]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,n=Object.getOwnPropertySymbols(i);a3&&Z[3]!==void 0?Z[3]:!0,l=Z.length>4&&Z[4]!==void 0?Z[4]:!1,v={body:a,headers:(u=n.connectSettings)==null?void 0:u.headers},z.next=5,j.processRequestInterceptor(n.deepChat,v);case 5:if(b=z.sent,S=b.body,_=b.headers,M=b.error,A=n.streamHandlers,w=A.onOpen,F=A.onClose,Y=A.abortStream,!M){z.next=15;break}return z.abrupt("return",j.onInterceptorError(s,M,F));case 15:if(!((c=n.connectSettings)!=null&&c.handler)){z.next=17;break}return z.abrupt("return",Dn.stream(n,S,s));case 17:if(((d=n.connectSettings)==null?void 0:d.url)!==_e.URL){z.next=19;break}return z.abrupt("return",_e.requestStream(s,n.streamHandlers));case 19:return B=new Se(s),ee=j.fetch.bind(this,n,_,o),z.abrupt("return",(Bs(((h=n.connectSettings)==null?void 0:h.url)||n.url||"",{method:((p=n.connectSettings)==null?void 0:p.method)||"POST",headers:_,credentials:(m=n.connectSettings)==null?void 0:m.credentials,body:o?JSON.stringify(S):S,openWhenHidden:!0,onopen:function(G){return k(f().mark(function ye(){return f().wrap(function(E){for(;;)switch(E.prev=E.next){case 0:if(!G.ok){E.next=2;break}return E.abrupt("return",w());case 2:return E.next=4,j.processResponseByType(G);case 4:throw E.sent;case 5:case"end":return E.stop()}},ye)}))()},onmessage:function(G){return k(f().mark(function ye(){var T,E,C,R,D;return f().wrap(function($){for(;;)switch($.prev=$.next){case 0:if(JSON.stringify(G.data)===JSON.stringify("[DONE]")){$.next=9;break}try{R=JSON.parse(G.data)}catch(K){R={}}return $.next=4,(E=(T=n.deepChat).responseInterceptor)==null?void 0:E.call(T,R);case 4:if($.t0=$.sent,$.t0){$.next=7;break}$.t0=R;case 7:D=$.t0,(C=n.extractResultData)==null||C.call(n,D,ee,S).then(function(K){n.asyncCallInProgress&&K&&K.text!==""?(r.simulate(s,n.streamHandlers,K),F(),n.asyncCallInProgress=!1):r.upsertWFiles(s,B.upsertStreamedMessage.bind(B),B,K)}).catch(function(K){return j.displayError(s,K)});case 9:case"end":return $.stop()}},ye)}))()},onerror:function(G){throw F(),G},onclose:function(){if(!n.asyncCallInProgress)try{B.finaliseStreamedMessage(),F()}catch(G){if(!l)throw G}},signal:Y.signal}).catch(function(te){var G;s.isLastMessageError()||(G=n.extractResultData)==null||G.call(n,te).then(function(){j.displayError(s,te)}).catch(function(ye){j.displayError(s,ye)})}),B));case 21:case"end":return z.stop()}},t,this)}));function e(t,n,a){return i.apply(this,arguments)}return e}()},{key:"simulate",value:function(e,t,n){var a=t;if(n.files&&e.addNewMessage(V({sendUpdate:!1,ignoreText:!0},n),!1),n.text){t.onOpen();var s=n.text.split("");r.populateMessages(s,new Se(e),a,"text")}if(n.html){t.onOpen();var o=Ke.splitHTML(n.html);o.length===0&&(o=n.html.split("")),r.populateMessages(o,new Se(e),a,"html")}}},{key:"populateMessages",value:function(e,t,n,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,o=e[s];if(o){t.upsertStreamedMessage(Tt({},a,o));var l=setTimeout(function(){r.populateMessages(e,t,n,a,s+1)},n.simulationInterim||6);n.abortStream.abort=function(){r.abort(l,t,n.onClose)}}else t.finaliseStreamedMessage(),n.onClose()}},{key:"isSimulation",value:function(e){return I(e)=="object"&&!!e.simulation}},{key:"isSimulatable",value:function(e,t){return r.isSimulation(e)&&t&&(t.text||t.html)}},{key:"abort",value:function(e,t,n){clearTimeout(e),t.finaliseStreamedMessage(),n()}},{key:"upsertWFiles",value:function(e,t,n,a){if(a!=null&&a.text||a!=null&&a.html){var s,o=t(a);(s=n)!==null&&s!==void 0||(n=o||void 0)}a!=null&&a.files&&(e.addNewMessage({files:a.files}),n==null||n.markFileAdded())}}])}(),ia=function(){function r(){g(this,r)}return y(r,null,[{key:"generateResponse",value:function(e){var t=e[e.length-1][0];if(t.files&&t.files.length>0){if(t.files.length>1)return"These are interesting files!";var n=t.files[0];return n.src&&n.src.startsWith("data:image/gif")?"That is a nice gif!":n.type==="image"?"That is a nice image!":n.type==="audio"?"I like the sound of that!":"That is an interesting file!"}if(t.text){if(t.text.charAt(t.text.length-1)==="?")return"I'm sorry but I can't answer that question...";if(t.text.includes("updog"))return"What's updog?"}return"Hi there! This is a demo response!"}},{key:"getCustomResponse",value:function(e,t){return typeof e=="function"?e(t):e}},{key:"getResponse",value:function(e){var t=e.customDemoResponse,n=e.messageToElements;return t?r.getCustomResponse(t,n[n.length-1][0]):{text:r.generateResponse(n)}}},{key:"request",value:function(e,t){var n=r.getResponse(t);setTimeout(k(f().mark(function a(){var s,o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:return c.next=2,(o=(s=e.deepChat).responseInterceptor)==null?void 0:o.call(s,n);case 2:if(c.t0=c.sent,c.t0){c.next=5;break}c.t0=n;case 5:l=c.t0,l.error?(t.addNewErrorMessage("service",l.error),e.completionsHandlers.onFinish()):X.isSimulatable(e.stream,l)?X.simulate(t,e.streamHandlers,l):(t.addNewMessage(l),e.completionsHandlers.onFinish());case 7:case"end":return c.stop()}},a)})),400)}},{key:"requestStream",value:function(e,t){setTimeout(function(){var n=r.getResponse(e);X.simulate(e,t,n)},400)}}])}();ia.URL="deep-chat-demo";var _e=ia,st=function(){function r(){g(this,r)}return y(r,null,[{key:"setup",value:function(e){e.connectSettings.url!==_e.URL&&(e.permittedErrorPrefixes=["Connection error","Error in server message"],e.websocket="pending")}},{key:"isElementPresentInDOM",value:function(e){return e.getRootNode({composed:!0})instanceof Document}},{key:"createConnection",value:function(e,t){if(r.isElementPresentInDOM(e.deepChat)){var n=e.connectSettings.websocket;if(n){if(e.connectSettings.handler)return Dn.websocket(e,t);try{var a=typeof n!="boolean"?n:void 0,s=new WebSocket(e.connectSettings.url||"",a);e.websocket=s,e.websocket.onopen=function(){var o,l;t.removeError(),e.websocket&&I(e.websocket)=="object"&&r.assignListeners(e,s,t),(l=(o=e.deepChat)._validationHandler)==null||l.call(o)},e.websocket.onerror=function(o){console.error(o),r.retryConnection(e,t)}}catch(o){console.error(o),r.retryConnection(e,t)}}}}},{key:"retryConnection",value:function(e,t){var n,a;(a=(n=e.deepChat)._validationHandler)==null||a.call(n),r.isElementPresentInDOM(e.deepChat)&&(e.websocket="pending",t.isLastMessageError()||t.addNewErrorMessage("service","Connection error"),setTimeout(function(){r.createConnection(e,t)},5e3))}},{key:"assignListeners",value:function(e,t,n){var a=this,s={};t.onmessage=function(){var o=k(f().mark(function l(u){var c,d,h,p,m,v,b;return f().wrap(function(_){for(;;)switch(_.prev=_.next){case 0:if(!e.extractResultData){_.next=20;break}return _.prev=1,h=JSON.parse(u.data),_.next=5,(d=(c=e.deepChat).responseInterceptor)==null?void 0:d.call(c,h);case 5:if(_.t0=_.sent,_.t0){_.next=8;break}_.t0=h;case 8:return p=_.t0,_.next=11,e.extractResultData(p);case 11:if(m=_.sent,!(!m||I(m)!="object")){_.next=14;break}throw Error(J.INVALID_RESPONSE(h,"server",!!e.deepChat.responseInterceptor,p));case 14:X.isSimulation(e.stream)?(v=r.stream.bind(a,e,n,s),b=s[h.role||L.AI_ROLE],X.upsertWFiles(n,v,b,m)):n.addNewMessage(m),_.next=20;break;case 17:_.prev=17,_.t1=_.catch(1),j.displayError(n,_.t1,"Error in server message");case 20:case"end":return _.stop()}},l,null,[[1,17]])}));return function(l){return o.apply(this,arguments)}}(),t.onclose=function(){console.error("Connection closed"),n.isLastMessageError()||n.addNewErrorMessage("service","Connection error"),e.stream&&e.streamHandlers.abortStream.abort(),r.createConnection(e,n)}}},{key:"sendWebsocket",value:function(){var i=k(f().mark(function t(n,a,s){var o,l,u,c,d,h,p,m,v,b=arguments;return f().wrap(function(_){for(;;)switch(_.prev=_.next){case 0:if(o=b.length>3&&b[3]!==void 0?b[3]:!0,c=n.websocket,!(!c||c==="pending")){_.next=4;break}return _.abrupt("return");case 4:return d={body:a,headers:(l=n.connectSettings)==null?void 0:l.headers},_.next=7,j.processRequestInterceptor(n.deepChat,d);case 7:if(h=_.sent,p=h.body,m=h.error,!m){_.next=12;break}return _.abrupt("return",s.addNewErrorMessage("service",m));case 12:if(r.isWebSocket(c)){_.next=14;break}return _.abrupt("return",c.newUserMessage.listener(p));case 14:if(v=o?JSON.stringify(p):p,((u=n.connectSettings)==null?void 0:u.url)!==_e.URL){_.next=17;break}return _.abrupt("return",_e.request(n,s));case 17:c.readyState===void 0||c.readyState!==c.OPEN?(console.error("Connection is not open"),s.isLastMessageError()||s.addNewErrorMessage("service","Connection error")):(c.send(JSON.stringify(v)),n.completionsHandlers.onFinish());case 18:case"end":return _.stop()}},t)}));function e(t,n,a){return i.apply(this,arguments)}return e}()},{key:"canSendMessage",value:function(e){return e?e==="pending"?!1:r.isWebSocket(e)?e.readyState!==void 0&&e.readyState===e.OPEN:e.isOpen:!0}},{key:"isWebSocket",value:function(e){return e.send!==void 0}},{key:"stream",value:function(e,t,n,a){if(a){var s=e.stream.simulation;if(typeof s=="string"){var o,l=a.role||L.AI_ROLE,u=n[l];a.text===s||a.html===s?(u==null||u.finaliseStreamedMessage(),delete n[l]):((o=n[l])!==null&&o!==void 0||(n[l]=new Se(t)),n[l].upsertStreamedMessage(a))}else X.simulate(t,e.streamHandlers,a)}}}])}(),Dn=function(){function r(){g(this,r)}return y(r,null,[{key:"request",value:function(){var i=k(f().mark(function t(n,a,s){var o,l,u,c,d;return f().wrap(function(p){for(;;)switch(p.prev=p.next){case 0:u=!0,c=function(){var m=k(f().mark(function v(b){var S,_,M;return f().wrap(function(w){for(;;)switch(w.prev=w.next){case 0:if(u){w.next=2;break}return w.abrupt("return");case 2:return u=!1,w.next=5,(_=(S=n.deepChat).responseInterceptor)==null?void 0:_.call(S,b);case 5:if(w.t0=w.sent,w.t0){w.next=8;break}w.t0=b;case 8:M=w.t0,j.validateResponseFormat(M)?typeof M.error=="string"?(console.error(M.error),s.addNewErrorMessage("service",M.error),n.completionsHandlers.onFinish()):X.isSimulatable(n.stream,M)?X.simulate(s,n.streamHandlers,M):(s.addNewMessage(M),n.completionsHandlers.onFinish()):(console.error(J.INVALID_RESPONSE(b,"server",!!n.deepChat.responseInterceptor,M)),s.addNewErrorMessage("service","Error in server message"),n.completionsHandlers.onFinish());case 10:case"end":return w.stop()}},v)}));return function(b){return m.apply(this,arguments)}}(),d=r.generateOptionalSignals(),(l=(o=n.connectSettings).handler)==null||l.call(o,a,V(V({},d),{},{onResponse:c}));case 3:case"end":return p.stop()}},t)}));function e(t,n,a){return i.apply(this,arguments)}return e}()},{key:"attemptToFinaliseStream",value:function(e,t){try{var n=t.messageElementRefs[t.messageElementRefs.length-1];Le.isLoadingMessage(n)?t.removeLastMessage():e.finaliseStreamedMessage()}catch(a){console.error(a),t.addNewErrorMessage("service",a)}}},{key:"stream",value:function(e,t,n){var a,s,o=!0,l=!1,u=new Se(n),c=function(){l||!o||(e.streamHandlers.onOpen(),l=!0)},d=function(){o&&(r.attemptToFinaliseStream(u,n),e.streamHandlers.onClose(),o=!1)},h=function(){var m=k(f().mark(function v(b){var S,_,M;return f().wrap(function(w){for(;;)switch(w.prev=w.next){case 0:if(o){w.next=2;break}return w.abrupt("return");case 2:return w.next=4,(_=(S=e.deepChat).responseInterceptor)==null?void 0:_.call(S,b);case 4:if(w.t0=w.sent,w.t0){w.next=7;break}w.t0=b;case 7:M=w.t0,j.validateResponseFormat(M)?M.error?(console.error(M.error),u.finaliseStreamedMessage(),n.addNewErrorMessage("service",M.error),e.streamHandlers.onClose(),o=!1):X.upsertWFiles(n,u.upsertStreamedMessage.bind(u),u,M):console.error(J.INVALID_RESPONSE(b,"server",!!e.deepChat.responseInterceptor,M));case 9:case"end":return w.stop()}},v)}));return function(b){return m.apply(this,arguments)}}();e.streamHandlers.abortStream.abort=function(){r.attemptToFinaliseStream(u,n),e.streamHandlers.onClose(),o=!1};var p=r.generateOptionalSignals();(s=(a=e.connectSettings).handler)==null||s.call(a,t,V(V({},p),{},{onOpen:c,onResponse:h,onClose:d,stopClicked:e.streamHandlers.stopClicked}))}},{key:"websocket",value:function(e,t){var n=this,a,s,o={isOpen:!1,newUserMessage:{listener:function(){}},roleToStream:{}};e.websocket=o;var l=function(){t.removeError(),o.isOpen=!0},u=function(){o.isOpen=!1},c=function(){var h=k(f().mark(function p(m){var v,b,S,_,M;return f().wrap(function(w){for(;;)switch(w.prev=w.next){case 0:if(o.isOpen){w.next=2;break}return w.abrupt("return");case 2:return w.next=4,(b=(v=e.deepChat).responseInterceptor)==null?void 0:b.call(v,m);case 4:if(w.t0=w.sent,w.t0){w.next=7;break}w.t0=m;case 7:S=w.t0,j.validateResponseFormat(S)?typeof S.error=="string"?(console.error(S.error),t.isLastMessageError()||t.addNewErrorMessage("service",S.error)):X.isSimulation(e.stream)?(_=st.stream.bind(n,e,t,o.roleToStream),M=o.roleToStream[m.role||L.AI_ROLE],X.upsertWFiles(t,_,M,m)):t.addNewMessage(S):(console.error(J.INVALID_RESPONSE(m,"server",!!e.deepChat.responseInterceptor,S)),t.addNewErrorMessage("service","Error in server message"));case 9:case"end":return w.stop()}},p)}));return function(m){return h.apply(this,arguments)}}(),d=r.generateOptionalSignals();(s=(a=e.connectSettings).handler)==null||s.call(a,void 0,V(V({},d),{},{onOpen:l,onResponse:c,onClose:u,newUserMessage:o.newUserMessage}))}},{key:"generateOptionalSignals",value:function(){return{onClose:function(){},onOpen:function(){},stopClicked:{listener:function(){}},newUserMessage:{listener:function(){}}}}}])}(),W=function(){function r(){g(this,r)}return y(r,null,[{key:"request",value:function(){var i=k(f().mark(function t(n,a,s){var o,l,u,c,d,h,p,m,v,b,S,_,M=arguments;return f().wrap(function(w){for(;;)switch(w.prev=w.next){case 0:return o=M.length>3&&M[3]!==void 0?M[3]:!0,d={body:a,headers:(l=n.connectSettings)==null?void 0:l.headers},w.next=4,j.processRequestInterceptor(n.deepChat,d);case 4:if(h=w.sent,p=h.body,m=h.headers,v=h.error,b=n.completionsHandlers.onFinish,!v){w.next=11;break}return w.abrupt("return",j.onInterceptorError(s,v,b));case 11:if(!((u=n.connectSettings)!=null&&u.handler)){w.next=13;break}return w.abrupt("return",Dn.request(n,p,s));case 13:if(((c=n.connectSettings)==null?void 0:c.url)!==_e.URL){w.next=15;break}return w.abrupt("return",_e.request(n,s));case 15:S=!0,_=j.fetch.bind(this,n,m,o),_(p).then(function(F){return S=!!F.ok,F}).then(function(F){return j.processResponseByType(F)}).then(function(){var F=k(f().mark(function Y(B){var ee,Z,he,z;return f().wrap(function(G){for(;;)switch(G.prev=G.next){case 0:if(n.extractResultData){G.next=2;break}return G.abrupt("return");case 2:return G.next=4,(Z=(ee=n.deepChat).responseInterceptor)==null?void 0:Z.call(ee,B);case 4:if(G.t0=G.sent,G.t0){G.next=7;break}G.t0=B;case 7:return he=G.t0,G.next=10,n.extractResultData(he,_,p);case 10:if(z=G.sent,S){G.next=13;break}throw B;case 13:if(!(!z||I(z)!="object")){G.next=15;break}throw Error(J.INVALID_RESPONSE(B,"response",!!n.deepChat.responseInterceptor,he));case 15:z.makingAnotherRequest||(X.isSimulatable(n.stream,z)?X.simulate(s,n.streamHandlers,z):(s.addNewMessage(z),b()));case 16:case"end":return G.stop()}},Y)}));return function(Y){return F.apply(this,arguments)}}()).catch(function(F){j.displayError(s,F),b()});case 18:case"end":return w.stop()}},t,this)}));function e(t,n,a){return i.apply(this,arguments)}return e}()},{key:"executePollRequest",value:function(e,t,n,a){var s=e.completionsHandlers.onFinish;fetch(t,n).then(function(o){return o.json()}).then(function(){var o=k(f().mark(function l(u){var c,d,h;return f().wrap(function(m){for(;;)switch(m.prev=m.next){case 0:if(e.extractPollResultData){m.next=2;break}return m.abrupt("return");case 2:return m.t0=e,m.next=5,(d=(c=e.deepChat).responseInterceptor)==null?void 0:d.call(c,u);case 5:if(m.t1=m.sent,m.t1){m.next=8;break}m.t1=u;case 8:return m.t2=m.t1,m.next=11,m.t0.extractPollResultData.call(m.t0,m.t2);case 11:h=m.sent,h.timeoutMS?setTimeout(function(){r.executePollRequest(e,t,n,a)},h.timeoutMS):X.isSimulatable(e.stream,h)?X.simulate(a,e.streamHandlers,h):(a.addNewMessage(h),s());case 13:case"end":return m.stop()}},l)}));return function(l){return o.apply(this,arguments)}}()).catch(function(o){j.displayError(a,o),s()})}},{key:"poll",value:function(){var i=k(f().mark(function t(n,a,s){var o,l,u,c,d,h,p,m,v,b,S,_,M,A=arguments;return f().wrap(function(F){for(;;)switch(F.prev=F.next){case 0:return o=A.length>3&&A[3]!==void 0?A[3]:!0,d={body:a,headers:(l=n.connectSettings)==null?void 0:l.headers},F.next=4,j.processRequestInterceptor(n.deepChat,d);case 4:if(h=F.sent,p=h.body,m=h.headers,v=h.error,!v){F.next=10;break}return F.abrupt("return",j.onInterceptorError(s,v));case 10:b=((u=n.connectSettings)==null?void 0:u.url)||n.url||"",S=((c=n.connectSettings)==null?void 0:c.method)||"POST",_=o?JSON.stringify(p):p,M={method:S,body:_,headers:m},n.connectSettings.credentials&&(M.credentials=n.connectSettings.credentials),r.executePollRequest(n,b,M,s);case 12:case"end":return F.stop()}},t)}));function e(t,n,a){return i.apply(this,arguments)}return e}()},{key:"verifyKey",value:function(e,t,n,a,s,o,l,u,c){if(e==="")return o(J.INVALID_KEY);l(),fetch(t,{method:a,headers:n,body:c||null}).then(function(d){return j.processResponseByType(d)}).then(function(d){u(d,e,s,o)}).catch(function(d){o(J.CONNECTION_FAILED),console.error(d)})}}])}(),sa=function(){function r(i,e,t){g(this,r),this._isLoading=!1,this._isPaginationComplete=!1,this._index=0,this._messages=e,t.fetchHistory&&this.fetchHistory(t.fetchHistory),i.loadHistory&&this.setupLoadHistoryOnScroll(i.loadHistory),this.setupInitialHistory(i)}return y(r,[{key:"fetchHistory",value:function(){var i=k(f().mark(function t(n){var a=this,s,o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return s=Re.addMessage(this._messages),u.next=3,n();case 3:o=u.sent,this._messages.removeMessage(s),o.forEach(function(c){return a._messages.addAnyMessage(c,!0)}),setTimeout(function(){return de.scrollToBottom(a._messages.elementRef)},0);case 5:case"end":return u.stop()}},t,this)}));function e(t){return i.apply(this,arguments)}return e}()},{key:"processLoadedHistory",value:function(e){var t=this,n,a=this._messages,s=a.messageElementRefs,o=a.messageToElements,l=a.elementRef,u=(n=s.find(function(d){return!d.outerContainer.classList.contains(Le.INTRO_CLASS)}))==null?void 0:n.outerContainer,c=l.scrollTop;e==null||e.reverse().map(function(d){var h=t._messages.addAnyMessage(V(V({},d),{},{sendUpdate:!0}),!0,!0);if(h){var p=L.generateMessageBody(h,s);o.unshift([h,p])}return h}).filter(function(d){return!!d}).reverse().forEach(function(d){return t._messages.sendClientUpdate(d,!0)}),u&&(l.scrollTop=c+u.offsetTop-40)}},{key:"populateMessages",value:function(e,t){this._messages.removeMessage(e),this._isPaginationComplete=t.findIndex(function(a){return!a})<0;var n=t.filter(function(a){return!!a});this.processLoadedHistory(n)}},{key:"setupLoadHistoryOnScroll",value:function(){var i=k(f().mark(function t(n){var a=this;return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:this._messages.elementRef.onscroll=k(f().mark(function l(){var u,c;return f().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:if(!(!a._isLoading&&!a._isPaginationComplete&&a._messages.elementRef.scrollTop===0)){h.next=13;break}return a._isLoading=!0,u=Re.addMessage(a._messages,!1),h.prev=3,h.next=6,n(a._index++);case 6:c=h.sent,a.populateMessages(u,c),a._isLoading=!1,h.next=13;break;case 10:h.prev=10,h.t0=h.catch(3),a._messages.removeMessage(u),a._isPaginationComplete=!0,a._messages.addNewErrorMessage("service",r.FAILED_ERROR_MESSAGE,!0),console.error(h.t0);case 13:case"end":return h.stop()}},l,null,[[3,10]])}));case 1:case"end":return o.stop()}},t,this)}));function e(t){return i.apply(this,arguments)}return e}()},{key:"populateInitialHistory",value:function(e){var t=this;e.forEach(function(n){le.processHistoryFile(n),t._messages.addNewMessage(n,!0)})}},{key:"loadInitialHistory",value:function(){var i=k(f().mark(function t(n){var a=this,s,o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:return this._isLoading=!0,s=Re.addMessage(this._messages),c.prev=2,c.next=5,n(this._index++);case 5:o=c.sent,l=this._messages.elementRef.scrollTop,this.populateMessages(s,o),l===0&&setTimeout(function(){return de.scrollToBottom(a._messages.elementRef)},0),c.next=13;break;case 10:c.prev=10,c.t0=c.catch(2),this._messages.removeMessage(s),this._isPaginationComplete=!0,this._messages.addNewErrorMessage("service",r.FAILED_ERROR_MESSAGE,!0),console.error(c.t0);case 13:this._isLoading=!1;case 14:case"end":return c.stop()}},t,this,[[2,10]])}));function e(t){return i.apply(this,arguments)}return e}()},{key:"setupInitialHistory",value:function(){var i=k(f().mark(function t(n){var a;return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:n.loadHistory&&this.loadInitialHistory(n.loadHistory),a=n.history||le.processHistory(n),a&&(this.populateInitialHistory(a),this._index+=1);case 3:case"end":return o.stop()}},t,this)}));function e(t){return i.apply(this,arguments)}return e}()}],[{key:"addErrorPrefix",value:function(e){var t;(t=e.permittedErrorPrefixes)!==null&&t!==void 0||(e.permittedErrorPrefixes=[]),e.permittedErrorPrefixes.push(r.FAILED_ERROR_MESSAGE)}}])}();sa.FAILED_ERROR_MESSAGE="Failed to load history";var Fn=sa,Bn=function(){function r(){g(this,r)}return y(r,null,[{key:"getCharacterLimitMessages",value:function(e,t){var n;if(t===-1)return e;var a=0,s=e.length-1;for(s;s>=0;s-=1){var o=(n=e[s])==null?void 0:n.text;if(o!==void 0&&(a+=o.length,a>t)){e[s].text=o.substring(0,o.length-(a-t));break}}return e.slice(Math.max(s,0))}},{key:"getMaxMessages",value:function(e,t){return e.slice(Math.max(e.length-t,0))}},{key:"processMessages",value:function(e,t,n){return t!==void 0?t>0&&(e=r.getMaxMessages(e,t)):e=[e[e.length-1]],e=JSON.parse(JSON.stringify(e)),n===void 0?e:r.getCharacterLimitMessages(e,n)}}])}(),js=function(){function r(){g(this,r)}return y(r,null,[{key:"parseConfig",value:function(e,t,n,a){var s,o={files:t};if(I(a)=="object"){le.processFileConfigConnect(a);var l=a.files,u=a.connect,c=a.button;l&&(l.infoModal&&(o.files.infoModal=l.infoModal,(s=l.infoModal)!=null&&s.textMarkDown&&(o.infoModalTextMarkUp=n.render(l.infoModal.textMarkDown))),l.acceptedFormats&&(o.files.acceptedFormats=l.acceptedFormats),l.maxNumberOfFiles&&(o.files.maxNumberOfFiles=l.maxNumberOfFiles)),o.button=c,u&&(u.headers||u.method||u.url||u.credentials||e.headers||e.method||e.url||e.credentials)&&(o.connect={url:(u==null?void 0:u.url)||e.url,method:(u==null?void 0:u.method)||e.method,headers:(u==null?void 0:u.headers)||e.headers,credentials:(u==null?void 0:u.credentials)||e.credentials})}return o}},{key:"processMixedFiles",value:function(e,t,n){if(n){var a={acceptedFormats:""};e.fileTypes.mixedFiles=r.parseConfig(e.connectSettings,a,t,n)}}},{key:"processMicrophone",value:function(e,t,n,a){var s,o,l,u,c,d,h,p,m=V({acceptedFormats:"audio/*"},((l=e.fileTypes.audio)==null?void 0:l.files)||{});n&&(navigator.mediaDevices.getUserMedia!==void 0?(e.recordAudio=r.parseConfig(e.connectSettings,m,t,n),I(n)=="object"&&n.files&&((s=(u=e.recordAudio).files)!==null&&s!==void 0||(u.files={}),e.recordAudio.files.format=(c=n.files)==null?void 0:c.format,e.recordAudio.files.maxDurationSeconds=(d=n.files)==null?void 0:d.maxDurationSeconds,(h=e.fileTypes.audio)!=null&&h.files&&((o=(p=e.fileTypes.audio.files).maxNumberOfFiles)!==null&&o!==void 0||(p.maxNumberOfFiles=n.files.maxNumberOfFiles)))):a||(e.fileTypes.audio=r.parseConfig(e.connectSettings,m,t,n)))}},{key:"processAudioConfig",value:function(e,t,n,a){if(!(!n&&!a)){var s=V({acceptedFormats:"audio/*"},(a==null?void 0:a.files)||{});e.fileTypes.audio=r.parseConfig(e.connectSettings,s,t,n)}}},{key:"processGifConfig",value:function(e,t,n,a){if(!(!n&&!a)){var s=V({acceptedFormats:"image/gif"},(a==null?void 0:a.files)||{});e.fileTypes.gifs=r.parseConfig(e.connectSettings,s,t,n)}}},{key:"processCamera",value:function(e,t,n,a){var s,o,l,u,c,d=V({acceptedFormats:"image/*"},((o=e.fileTypes.images)==null?void 0:o.files)||{});n&&(navigator.mediaDevices.getUserMedia!==void 0?(e.camera=r.parseConfig(e.connectSettings,d,t,n),I(n)=="object"&&(e.camera.modalContainerStyle=n.modalContainerStyle,n.files&&((s=(l=e.camera).files)!==null&&s!==void 0||(l.files={}),e.camera.files.format=(u=n.files)==null?void 0:u.format,e.camera.files.dimensions=(c=n.files)==null?void 0:c.dimensions))):a||(e.fileTypes.images=r.parseConfig(e.connectSettings,d,t,n)))}},{key:"processImagesConfig",value:function(e,t,n,a){if(!(!n&&!a)){var s=V({acceptedFormats:"image/*"},(a==null?void 0:a.files)||{});e.fileTypes.images=r.parseConfig(e.connectSettings,s,t,n)}}},{key:"populateDefaultFileIO",value:function(e,t){var n,a,s,o,l;e&&((n=e.files)!==null&&n!==void 0||(e.files={}),(a=(o=e.files).acceptedFormats)!==null&&a!==void 0||(o.acceptedFormats=t),(s=(l=e.files).maxNumberOfFiles)!==null&&s!==void 0||(l.maxNumberOfFiles=1))}},{key:"set",value:function(e,t,n){r.populateDefaultFileIO(n==null?void 0:n.audio,".4a,.mp3,.webm,.mp4,.mpga,.wav,.mpeg,.m4a"),r.populateDefaultFileIO(n==null?void 0:n.images,".png,.jpg");var a=vn.createNew(e.remarkable);r.processImagesConfig(t,a,e.images,n==null?void 0:n.images),r.processCamera(t,a,e.camera,e.images),r.processGifConfig(t,a,e.gifs,n==null?void 0:n.gifs),r.processAudioConfig(t,a,e.audio,n==null?void 0:n.audio),r.processMicrophone(t,a,e.microphone,e.audio),r.processMixedFiles(t,a,e.mixedFiles)}}])}(),xt=function(){function r(i,e,t){var n;g(this,r);var a,s,o,l,u;this.rawBody={},this.validateKeyProperty=!1,this.canSendMessage=r.canSendMessage,this.connectSettings={},this.fileTypes={},this.completionsHandlers={},this.streamHandlers={},this.deepChat=i,this.demo=t,Object.assign(this.rawBody,(a=i.connect)==null?void 0:a.additionalBodyProps),this.totalMessagesMaxCharLength=(s=i==null?void 0:i.requestBodyLimits)==null?void 0:s.totalMessagesMaxCharLength,this.maxMessages=(o=i==null?void 0:i.requestBodyLimits)==null?void 0:o.maxMessages,js.set(i,this,e),i.connect&&(this.connectSettings=i.connect),this.demo&&((n=(l=this.connectSettings).url)!==null&&n!==void 0||(l.url=_e.URL)),this.connectSettings.websocket&&st.setup(this),this.stream=((u=this.deepChat.connect)==null?void 0:u.stream)||le.checkForStream(this.deepChat),i.loadHistory&&Fn.addErrorPrefix(this)}return y(r,[{key:"verifyKey",value:function(e,t){}},{key:"getServiceIOByType",value:function(e){if(e.type.startsWith("audio")&&this.fileTypes.audio)return this.fileTypes.audio;if(e.type.startsWith("image")){if(this.fileTypes.gifs&&e.type.endsWith("/gif"))return this.fileTypes.gifs;if(this.fileTypes.images)return this.fileTypes.images;if(this.camera)return this.camera}return this.fileTypes.mixedFiles}},{key:"request",value:function(){var i=k(f().mark(function t(n,a){var s,o=arguments;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return s=o.length>2&&o[2]!==void 0?o[2]:!0,u.abrupt("return",this.stream&&!X.isSimulation(this.stream)?X.request(this,n,a,s):W.request(this,n,a,s));case 2:case"end":return u.stop()}},t,this)}));function e(t,n){return i.apply(this,arguments)}return e}()},{key:"callAPIWithText",value:function(){var i=k(f().mark(function t(n,a){var s,o,l,u,c,d,h,p;return f().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:return h=V({messages:a},this.rawBody),p=!1,(l=this.connectSettings.headers)!=null&&l["Content-Type"]||((s=(u=this.connectSettings).headers)!==null&&s!==void 0||(u.headers={}),(o=(c=this.connectSettings.headers)["Content-Type"])!==null&&o!==void 0||(c["Content-Type"]="application/json"),p=!0),v.next=5,this.request(h,n);case 5:p&&((d=this.connectSettings.headers)==null||delete d["Content-Type"]);case 6:case"end":return v.stop()}},t,this)}));function e(t,n){return i.apply(this,arguments)}return e}()},{key:"callApiWithFiles",value:function(){var i=k(f().mark(function t(n,a,s){var o,l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return o=r.createCustomFormDataBody(this.rawBody,a,s),l=this.connectSettings,u=this.getServiceIOByType(s[0]),this.connectSettings=(u==null?void 0:u.connect)||this.connectSettings,d.next=4,this.request(o,n,!1);case 4:this.connectSettings=l;case 5:case"end":return d.stop()}},t,this)}));function e(t,n,a){return i.apply(this,arguments)}return e}()},{key:"callServiceAPI",value:function(){var i=k(f().mark(function t(n,a,s){return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:s?this.callApiWithFiles(n,a,s):this.callAPIWithText(n,a);case 1:case"end":return l.stop()}},t,this)}));function e(t,n,a){return i.apply(this,arguments)}return e}()},{key:"callAPI",value:function(){var i=k(f().mark(function t(n,a){var s,o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.connectSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:s=Bn.processMessages(a.messageToElements.map(function(c){var d=Mn(c,1),h=d[0];return h}),this.maxMessages,this.totalMessagesMaxCharLength),this.connectSettings.websocket?(o=V({messages:s},this.rawBody),st.sendWebsocket(this,o,a,!1)):this.callServiceAPI(a,s,n.files);case 4:case"end":return u.stop()}},t,this)}));function e(t,n){return i.apply(this,arguments)}return e}()},{key:"extractResultData",value:function(){var i=k(f().mark(function t(n){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!n.error){s.next=2;break}throw n.error;case 2:if(!n.result){s.next=4;break}return s.abrupt("return",le.handleResponseProperty(n));case 4:if(!j.validateResponseFormat(n)){s.next=6;break}return s.abrupt("return",n);case 6:case"end":return s.stop()}},t)}));function e(t){return i.apply(this,arguments)}return e}()},{key:"isDirectConnection",value:function(){return!1}},{key:"isWebModel",value:function(){return!1}}],[{key:"canSendMessage",value:function(e,t,n){return n?!0:!!(e&&e.trim()!=="")||!!(t&&t.length>0)}},{key:"createCustomFormDataBody",value:function(e,t,n){var a=new FormData;n.forEach(function(l){return a.append("files",l)}),Object.keys(e).forEach(function(l){return a.append(l,String(e[l]))});var s=0;t.slice(0,t.length-1).forEach(function(l){a.append("message".concat(s+=1),JSON.stringify(l))});var o=t[t.length-1];return o.text&&(delete o.files,a.append("message".concat(s+=1),JSON.stringify(o))),a}}])}(),ae=function(r){function i(e,t,n,a,s){var o;g(this,i);var l;return o=O(this,i,[e,s]),o.insertKeyPlaceholderText="API Key",o.keyHelpUrl="",Object.assign(o.rawBody,(l=e.connect)==null?void 0:l.additionalBodyProps),o.keyVerificationDetails=t,o.buildHeadersFunc=n,a&&o.setApiKeyProperties(a),o.connectSettings=o.buildConnectSettings(o.key||"",e.connect),o}return P(i,r),y(i,[{key:"setApiKeyProperties",value:function(t){this.key=t.key,t.validateKeyProperty&&(this.validateKeyProperty=t.validateKeyProperty)}},{key:"buildConnectSettings",value:function(t,n){var a,s=n!=null?n:{};return(a=s.headers)!==null&&a!==void 0||(s.headers={}),Object.assign(s.headers,this.buildHeadersFunc(t)),s}},{key:"keyAuthenticated",value:function(t,n){this.connectSettings=this.buildConnectSettings(n,this.connectSettings),this.key=n,t()}},{key:"verifyKey",value:function(t,n){var a=this.keyVerificationDetails,s=a.url,o=a.method,l=a.handleVerificationResult,u=a.createHeaders,c=a.body,d=(u==null?void 0:u(t))||this.buildHeadersFunc(t);W.verifyKey(t,s,d,o,this.keyAuthenticated.bind(this,n.onSuccess),n.onFail,n.onLoad,l,c)}},{key:"isDirectConnection",value:function(){return!0}}])}(xt),Hs=function(){function r(){g(this,r)}return y(r,null,[{key:"waitForPropertiesToBeUpdatedBeforeRender",value:function(e){e._propUpdated_=!1,setTimeout(function(){e._propUpdated_?r.waitForPropertiesToBeUpdatedBeforeRender(e):(e._waitingToRender_=!1,e.onRender())})}},{key:"attemptRender",value:function(e){e._propUpdated_=!0,e._waitingToRender_||(e._waitingToRender_=!0,r.waitForPropertiesToBeUpdatedBeforeRender(e))}}])}(),kn=function(r){function i(){var e;return g(this,i),e=O(this,i),e._waitingToRender_=!1,e._propUpdated_=!1,Object.keys(i._attributeToProperty_).forEach(function(t){var n=i._attributeToProperty_[t];e.constructPropertyAccessors(n),e.hasOwnProperty(t)||e.constructPropertyAccessors(n,t)}),e}return P(i,r),y(i,[{key:"constructPropertyAccessors",value:function(t,n){var a;Object.defineProperty(this,n||t,{get:function(){return a},set:function(o){a=o,n?this[t]=o:Hs.attemptRender(this)}})}},{key:"attributeChangedCallback",value:function(t,n,a){if(n!==a){var s=i._attributes_[t](a),o=i._attributeToProperty_[t];this[o]=s}}},{key:"onRender",value:function(){}}],[{key:"observedAttributes",get:function(){return Object.keys(i._attributes_)||[]}}])}(ln(HTMLElement));kn._attributes_={},kn._attributeToProperty_={};var qs=kn,zs=` `,Vs=` `,ue=function(){function r(){g(this,r)}return y(r,null,[{key:"createSVGElement",value:function(e){return new DOMParser().parseFromString(e,"image/svg+xml").documentElement}}])}(),oa=function(){function r(){g(this,r)}return y(r,null,[{key:"changeVisibility",value:function(e,t,n,a){a.target.id===r.VISIBLE_ICON_ID?(t.style.display="none",n.style.display="block",e.type="password"):(t.style.display="block",n.style.display="none",e.type="text")}},{key:"createIconElement",value:function(e,t){var n=ue.createSVGElement(e);return n.id=t,n.classList.add("visibility-icon"),n}},{key:"create",value:function(e){var t=document.createElement("div");t.id="visibility-icon-container";var n=r.createIconElement(Vs,r.VISIBLE_ICON_ID);n.style.display="none",t.appendChild(n);var a=r.createIconElement(zs,"not-visible-icon");return t.appendChild(a),t.onclick=r.changeVisibility.bind(this,e,n,a),t}}])}();oa.VISIBLE_ICON_ID="visible-icon";var Gs=oa,$s=function(){function r(){g(this,r)}return y(r,null,[{key:"createCautionText",value:function(){var e=document.createElement("a");return e.classList.add("insert-key-input-help-text"),e.innerText="Please exercise CAUTION when inserting your API key outside of deepchat.dev or localhost!!",e}},{key:"createHelpLink",value:function(e){var t=document.createElement("a");return t.classList.add("insert-key-input-help-text"),t.href=e,t.innerText="Find more info here",t.target="_blank",t}},{key:"createFailText",value:function(){var e=document.createElement("div");return e.id="insert-key-input-invalid-text",e.style.display="none",e}},{key:"createHelpTextContainer",value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=document.createElement("div");n.id="insert-key-help-text-container";var a=document.createElement("div");a.id="insert-key-help-text-contents";var s=r.createFailText();if(a.appendChild(s),e){var o=r.createHelpLink(e);a.appendChild(o)}if(t===!0){var l=r.createCautionText();a.appendChild(l)}return n.appendChild(a),{helpTextContainerElement:n,failTextElement:s}}},{key:"onFail",value:function(e,t,n,a){e.classList.replace("insert-key-input-valid","insert-key-input-invalid"),n.innerText=a,n.style.display="block",t.innerText="Start",e.classList.remove("loading")}},{key:"onLoad",value:function(e,t){e.classList.add("loading"),t.innerHTML='
    '}},{key:"verifyKey",value:function(e,t,n){var a=e.value.trim();n.verifyKey(a,t)}},{key:"addVerificationEvents",value:function(e,t,n,a,s){var o={onSuccess:a,onFail:r.onFail.bind(this,e,t,n),onLoad:r.onLoad.bind(this,e,t)},l=r.verifyKey.bind(this,e,o,s);t.onclick=l,e.onkeydown=function(u){!e.classList.contains("loading")&&u.key===ne.ENTER&&l()}}},{key:"createStartButton",value:function(){var e=document.createElement("div");return e.id="start-button",e.innerText="Start",e}},{key:"onInputFocus",value:function(e){e.target.classList.replace("insert-key-input-invalid","insert-key-input-valid")}},{key:"createInput",value:function(e){var t=document.createElement("div");t.id="insert-key-input-container";var n=document.createElement("input");return n.id="insert-key-input",n.placeholder=e||"API Key",n.type="password",n.classList.add("insert-key-input-valid"),n.onfocus=r.onInputFocus,t.appendChild(n),t}},{key:"createContents",value:function(e,t){var n,a=document.createElement("div");a.id="insert-key-contents";var s=r.createInput(t.insertKeyPlaceholderText),o=s.children[0],l=Gs.create(o);s.appendChild(l),a.appendChild(s);var u=r.createStartButton(),c=r.createHelpTextContainer(t.keyHelpUrl,(n=t.deepChat._insertKeyViewStyles)==null?void 0:n.displayCautionText),d=c.helpTextContainerElement,h=c.failTextElement;return a.appendChild(u),a.appendChild(d),r.addVerificationEvents(o,u,h,e,t),a}},{key:"createElements",value:function(e,t){var n=document.createElement("div");n.id="insert-key-view";var a=r.createContents(e,t);return n.appendChild(a),n}},{key:"render",value:function(e,t,n){var a=r.createElements(t,n);e.replaceChildren(a)}}])}(),Ze=function(){function r(){g(this,r)}return y(r,null,[{key:"enableButtons",value:function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;window.webLLM?(e&&(e.disabled=!1),t&&(t.disabled=!1)):n0&&e(c.files)}),d&&(d.onclick=function(){return c.click()}),(u||d)&&r.enableButtons(u,d)}),(t==null?void 0:t.initialHtml)||`
    Download or upload a web model that will run entirely on your browser:
    `).concat(a?"":' '),`
    `)}},{key:"exportFile",value:function(e){for(var t=document.createElement("a"),n=4,a=function(l){setTimeout(function(){for(var u=l*n,c=u;c Model loaded successfully and has been cached for future requests. `.concat(a?"":'
    '),` `)}}])}();Ze.DOWNLOAD_BUTTON_CLASS="deep-chat-download-button",Ze.UPLOAD_BUTTON_CLASS="deep-chat-upload-button",Ze.FILE_INPUT_CLASS="deep-chat-file-input",Ze.EXPORT_BUTTON_CLASS="deep-chat-export-button";var lr=Ze,ur={model_list:[{model_url:"https://huggingface.co/mlc-ai/Llama-2-7b-chat-hf-q4f32_1-MLC/resolve/main/",local_id:"Llama-2-7b-chat-hf-q4f32_1",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-7b-chat-hf/Llama-2-7b-chat-hf-q4f32_1-ctx4k_cs1k-webgpu.wasm",vram_required_MB:9109.03,low_resource_required:!1},{model_url:"https://huggingface.co/mlc-ai/Llama-2-7b-chat-hf-q4f16_1-MLC/resolve/main/",local_id:"Llama-2-7b-chat-hf-q4f16_1",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-7b-chat-hf/Llama-2-7b-chat-hf-q4f16_1-ctx4k_cs1k-webgpu.wasm",vram_required_MB:6749.02,low_resource_required:!1,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/Llama-2-7b-chat-hf-q4f16_1-MLC/resolve/main/",local_id:"Llama-2-7b-chat-hf-q4f16_1-1k",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-7b-chat-hf/Llama-2-7b-chat-hf-q4f16_1-ctx1k-webgpu.wasm",vram_required_MB:4618.52,low_resource_required:!1,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/Llama-2-13b-chat-hf-q4f16_1-MLC/resolve/main/",local_id:"Llama-2-13b-chat-hf-q4f16_1",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-13b-chat-hf/Llama-2-13b-chat-hf-q4f16_1-ctx4k_cs1k-webgpu.wasm",vram_required_MB:11814.09,low_resource_required:!1,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/Llama-2-70b-chat-hf-q4f16_1-MLC/resolve/main/",local_id:"Llama-2-70b-chat-hf-q4f16_1",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-70b-chat-hf/Llama-2-70b-chat-hf-q4f16_1-ctx4k_cs1k-webgpu.wasm",vram_required_MB:43729.05,low_resource_required:!1,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f16_1-MLC/resolve/main/",local_id:"RedPajama-INCITE-Chat-3B-v1-q4f16_1",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f16_1-ctx2k-webgpu.wasm",vram_required_MB:2972.09,low_resource_required:!1,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f32_1-MLC/resolve/main/",local_id:"RedPajama-INCITE-Chat-3B-v1-q4f32_1",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f32_1-ctx2k-webgpu.wasm",vram_required_MB:3928.09,low_resource_required:!1},{model_url:"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f16_1-MLC/resolve/main/",local_id:"RedPajama-INCITE-Chat-3B-v1-q4f16_1-1k",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f16_1-ctx1k-webgpu.wasm",vram_required_MB:2041.09,low_resource_required:!0,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f32_1-MLC/resolve/main/",local_id:"RedPajama-INCITE-Chat-3B-v1-q4f32_1-1k",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f32_1-ctx1k-webgpu.wasm",vram_required_MB:2558.09,low_resource_required:!0},{model_url:"https://huggingface.co/mlc-ai/WizardMath-7B-V1.1-q4f16_1-MLC/resolve/main/",local_id:"WizardMath-7B-V1.1-q4f16_1",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm",vram_required_MB:6079.02,low_resource_required:!1,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/Mistral-7B-Instruct-v0.2-q4f16_1-MLC/resolve/main/",local_id:"Mistral-7B-Instruct-v0.2-q4f16_1",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm",vram_required_MB:6079.02,low_resource_required:!1,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/OpenHermes-2.5-Mistral-7B-q4f16_1-MLC/resolve/main/",local_id:"OpenHermes-2.5-Mistral-7B-q4f16_1",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm",vram_required_MB:6079.02,low_resource_required:!1,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/NeuralHermes-2.5-Mistral-7B-q4f16_1-MLC/resolve/main/",local_id:"NeuralHermes-2.5-Mistral-7B-q4f16_1",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm",vram_required_MB:6079.02,low_resource_required:!1,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q0f16-MLC/resolve/main/",local_id:"TinyLlama-1.1B-Chat-v0.4-q0f16",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q0f16-ctx2k-webgpu.wasm",vram_required_MB:5063.52,low_resource_required:!1,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q0f32-MLC/resolve/main/",local_id:"TinyLlama-1.1B-Chat-v0.4-q0f32",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q0f32-ctx2k-webgpu.wasm",vram_required_MB:5394.53,low_resource_required:!1},{model_url:"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q4f16_1-MLC/resolve/main/",local_id:"TinyLlama-1.1B-Chat-v0.4-q4f16_1-1k",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q4f16_1-ctx1k-webgpu.wasm",vram_required_MB:899.11,low_resource_required:!0,required_features:["shader-f16"]},{model_url:"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q4f32_1-MLC/resolve/main/",local_id:"TinyLlama-1.1B-Chat-v0.4-q4f32_1-1k",model_lib_url:"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q4f32_1-ctx1k-webgpu.wasm",vram_required_MB:992.11,low_resource_required:!0}],use_web_worker:!0},Ge=function(r){function i(e){var t;g(this,i);var n,a;return t=O(this,i,[e]),t._isModelLoaded=!1,t._isModelLoading=!1,t._loadOnFirstMessage=!1,t._webModel={},t.permittedErrorPrefixes=[i.MULTIPLE_MODELS_ERROR,i.WEB_LLM_NOT_FOUND_ERROR,i.GENERIC_ERROR],t._conversationHistory=[],I(e.webModel)=="object"&&(t._webModel=e.webModel),(n=t._webModel.load)!=null&&n.clearCache&&i.clearAllCache(),t.findModelInWindow(e),t.canSendMessage=t.canSubmit.bind($e(t)),t._chatEl=(a=e.shadowRoot)==null?void 0:a.children[0],e.history&&i.setUpHistory(t._conversationHistory,e.history),t}return P(i,r),y(i,[{key:"setUpMessages",value:function(t){var n=this;this._messages=t,this._removeIntro=function(){t.removeIntroductoryMessage(),n._removeIntro=void 0}}},{key:"findModelInWindow",value:function(t){var n=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s;window.webLLM?this.configureInit(this.shouldAddIntroMessage(t.introMessage)):a>i.MODULE_SEARCH_LIMIT_S?((s=this._messages)==null||s.addNewErrorMessage("service",i.WEB_LLM_NOT_FOUND_ERROR),console.error("The deep-chat-web-llm module has not been attached to the window object. Please see the following guide:"),console.error("https://deepchat.dev/examples/externalModules")):setTimeout(function(){return n.findModelInWindow(t,a+1)},1e3)}},{key:"shouldAddIntroMessage",value:function(t){var n;return!t&&this._webModel&&((n=this._webModel.introMessage)==null?void 0:n.displayed)!==!1}},{key:"scrollToTop",value:function(t){var n=this,a;((a=this._webModel.introMessage)==null?void 0:a.autoScroll)!==!1&&setTimeout(function(){var s,o;(s=n._messages)!=null&&s.elementRef&&de.scrollToTop((o=n._messages)==null?void 0:o.elementRef)},t)}},{key:"getIntroMessage",value:function(t){if(!(!this.shouldAddIntroMessage(t)||!this._chatEl)){var n=lr.setUpInitial(this.init.bind(this),this._webModel.introMessage,this._chatEl,!!this._webModel.worker);return this.scrollToTop(1),{role:L.AI_ROLE,html:n,sendUpdate:!1}}}},{key:"configureInit",value:function(){var e=k(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(s=this._webModel.load,!s){l.next=8;break}if(!s.onInit){l.next=5;break}return this.init(),l.abrupt("return");case 5:if(!s.onMessage){l.next=8;break}return this._loadOnFirstMessage=!0,l.abrupt("return");case 8:a||this.init();case 9:case"end":return l.stop()}},n,this)}));function t(n){return e.apply(this,arguments)}return t}()},{key:"init",value:function(){var e=k(f().mark(function n(a){var s,o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if((s=this._messages)==null||s.removeError(),o=this.attemptToCreateChat(),u.t0=o,!u.t0){u.next=6;break}return u.next=6,this.loadModel(o,a);case 6:case"end":return u.stop()}},n,this)}));function t(n){return e.apply(this,arguments)}return t}()},{key:"attemptToCreateChat",value:function(){var t;if(i.chat){(t=this._messages)==null||t.addNewErrorMessage("service",i.MULTIPLE_MODELS_ERROR),console.error(i.MULTIPLE_MODELS_ERROR);return}if(!(this._isModelLoaded||this._isModelLoading)){var n=this._webModel.worker;return ur.use_web_worker&&n?new window.webLLM.ChatWorkerClient(n):new window.webLLM.ChatModule}}},{key:"getConfig",value:function(){var t,n=i.DEFAULT_MODEL;this._webModel.model&&(n=this._webModel.model);var a=JSON.parse(JSON.stringify(ur));if(this._webModel.urls){var s=a.model_list.find(function(o){return o.local_id=n});s&&(this._webModel.urls.model&&(s.model_url=this._webModel.urls.model),this._webModel.urls.wasm&&(s.model_lib_url=this._webModel.urls.wasm))}return(t=this._webModel.load)!=null&&t.skipCache&&(a.use_cache=!1),{model:n,appConfig:a}}},{key:"loadModel",value:function(){var e=k(f().mark(function n(a,s){var o=this,l,u,c,d,h,p,m,v,b,S,_,M,A,w,F;return f().wrap(function(B){for(;;)switch(B.prev=B.next){case 0:return this.scrollToTop(),i.chat=a,this._isModelLoading=!0,v=((l=this._webModel.introMessage)==null?void 0:l.displayed)===!1,b=function(Z){var he;(he=o._messages)==null||he.addNewMessage({html:"
    ".concat(Z.text,"
    "),overwrite:!0,sendUpdate:!1}),v&&(setTimeout(function(){var z;return de.scrollToBottom((z=o._messages)==null?void 0:z.elementRef)}),v=!1)},i.chat.setInitProgressCallback(b),B.prev=4,_=this.getConfig(),M=_.model,A=_.appConfig,w={},this._webModel.instruction&&(w.conv_config={system:this._webModel.instruction}),this._conversationHistory.length>0&&(w.conversation_history=this._conversationHistory),B.next=10,i.chat.reload(M,w,A,s);case 10:S=B.sent,B.next=16;break;case 13:return B.prev=13,B.t0=B.catch(4),B.abrupt("return",this.unloadChat(B.t0));case 16:(c=(u=this.deepChat)._validationHandler)==null||c.call(u),(d=this._webModel.introMessage)!=null&&d.removeAfterLoad?this._webModel.introMessage.displayed===!1?(p=this._messages)==null||p.removeLastMessage():(m=this._removeIntro)==null||m.call(this):(F=lr.setUpAfterLoad(S,this._webModel.introMessage,this._chatEl,!!this._webModel.worker),(h=this._messages)==null||h.addNewMessage({html:F,overwrite:!0,sendUpdate:!1})),this._isModelLoaded=!0,this._isModelLoading=!1;case 18:case"end":return B.stop()}},n,this,[[4,13]])}));function t(n,a){return e.apply(this,arguments)}return t}()},{key:"unloadChat",value:function(){var e=k(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if((s=this._messages)==null||s.addNewErrorMessage("service",i.GENERIC_ERROR),console.error(a),this._isModelLoaded=!1,this._isModelLoading=!1,l.t0=i.chat,!l.t0){l.next=9;break}return l.next=8,i.chat.unload();case 8:i.chat=void 0;case 9:case"end":return l.stop()}},n,this)}));function t(n){return e.apply(this,arguments)}return t}()},{key:"immediateResp",value:function(){var e=k(f().mark(function n(a,s,o){var l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return d.next=2,o.generate(s,void 0,0);case 2:return d.t0=d.sent,l={text:d.t0},d.next=6,i.processResponse(this.deepChat,a,l);case 6:u=d.sent,u&&a.addNewMessage(u),this.completionsHandlers.onFinish();case 8:case"end":return d.stop()}},n,this)}));function t(n,a,s){return e.apply(this,arguments)}return t}()},{key:"streamResp",value:function(){var e=k(f().mark(function n(a,s,o){var l=this,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return this.streamHandlers.abortStream.abort=function(){o.interruptGenerate()},this.streamHandlers.onOpen(),u=new Se(a),d.next=4,o.generate(s,function(){var h=k(f().mark(function p(m,v){var b;return f().wrap(function(_){for(;;)switch(_.prev=_.next){case 0:return _.next=2,i.processResponse(l.deepChat,a,{text:v});case 2:b=_.sent,b&&u.upsertStreamedMessage({text:b.text,overwrite:!0});case 4:case"end":return _.stop()}},p)}));return function(p,m){return h.apply(this,arguments)}}());case 4:u.finaliseStreamedMessage(),this.streamHandlers.onClose();case 6:case"end":return d.stop()}},n,this)}));function t(n,a,s){return e.apply(this,arguments)}return t}()},{key:"generateRespByType",value:function(){var e=k(f().mark(function n(a,s,o,l){var u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if(d.prev=0,!o){d.next=6;break}return d.next=4,this.streamResp(a,s,l);case 4:d.next=8;break;case 6:return d.next=8,this.immediateResp(a,s,l);case 8:d.next=13;break;case 10:d.prev=10,d.t0=d.catch(0),(u=this._messages)==null||u.addNewErrorMessage("service"),console.log(d.t0);case 13:case"end":return d.stop()}},n,this,[[0,10]])}));function t(n,a,s,o){return e.apply(this,arguments)}return t}()},{key:"generateResp",value:function(){var e=k(f().mark(function n(a,s,o){var l,u,c,d,h,p,m;return f().wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return l=s[s.length-1].text,b.next=3,j.processRequestInterceptor(this.deepChat,{body:{text:l}});case 3:u=b.sent,c=u.body,d=u.error,h=!!this.stream;try{d?(j.displayError(a,new Error(d)),(h?this.streamHandlers.onClose:this.completionsHandlers.onFinish)()):!c||!c.text?(p=J.INVALID_MODEL_REQUEST({body:c},!1),console.error(p),m=h?this.streamHandlers.onClose:this.completionsHandlers.onFinish,j.onInterceptorError(a,p,m)):this.generateRespByType(a,c.text,!!this.stream,o)}catch(S){this.unloadChat(S)}case 8:case"end":return b.stop()}},n,this)}));function t(n,a,s){return e.apply(this,arguments)}return t}()},{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s){var o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(this._isModelLoaded){c.next=7;break}if(!this._loadOnFirstMessage){c.next=6;break}return c.next=4,this.init();case 4:c.next=7;break;case 6:return c.abrupt("return");case 7:!i.chat||this._isModelLoading||((o=this._webModel.introMessage)!=null&&o.removeAfterMessage&&((l=this._removeIntro)==null||l.call(this)),a.addLoadingMessage(),this.generateResp(a,s,i.chat));case 8:case"end":return c.stop()}},n,this)}));function t(n,a){return e.apply(this,arguments)}return t}()},{key:"canSubmit",value:function(t){return!(t!=null&&t.trim())||this._isModelLoading?!1:this._loadOnFirstMessage?!0:!!this._isModelLoaded}},{key:"isWebModel",value:function(){return!0}}],[{key:"setUpHistory",value:function(t,n){n.forEach(function(a,s){if(a.role===L.USER_ROLE&&a.text){var o=n[s+1];o!=null&&o.text&&o.role!==L.USER_ROLE&&t.push([a.text,o.text])}})}},{key:"processResponse",value:function(){var e=k(f().mark(function n(a,s,o){var l,u,c;return f().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:return h.next=2,(l=a.responseInterceptor)==null?void 0:l.call(a,o);case 2:if(h.t0=h.sent,h.t0){h.next=5;break}h.t0=o;case 5:if(u=h.t0,!u.error){h.next=11;break}return j.displayError(s,new Error(u.error)),h.abrupt("return");case 11:if(!(!u||!u.text)){h.next=15;break}return c=J.INVALID_MODEL_RESPONSE(o,!!a.responseInterceptor,u),j.displayError(s,new Error(c)),h.abrupt("return");case 15:return h.abrupt("return",u);case 16:case"end":return h.stop()}},n)}));function t(n,a,s){return e.apply(this,arguments)}return t}()},{key:"clearAllCache",value:function(){i.clearCache("webllm/model"),i.clearCache("webllm/wasm")}},{key:"clearCache",value:function(t){caches.open(t).then(function(n){n.keys().then(function(a){a.forEach(function(s){n.delete(s)})})})}}])}(xt);Ge.GENERIC_ERROR="Error, please check the [troubleshooting](https://deepchat.dev/docs/webModel#troubleshooting) section of documentation for help.",Ge.MULTIPLE_MODELS_ERROR="Cannot run multiple web models",Ge.WEB_LLM_NOT_FOUND_ERROR="WebLLM module not found",Ge.DEFAULT_MODEL="Llama-2-7b-chat-hf-q4f32_1",Ge.MODULE_SEARCH_LIMIT_S=5;var Un=Ge,cr=function(){function r(){g(this,r)}return y(r,null,[{key:"buildHeaders",value:function(e){return{Authorization:"Bearer ".concat(e),"Content-Type":"application/json"}}},{key:"handleVerificationResult",value:function(e,t,n,a){var s=e;Array.isArray(s.error)&&s.error[0]==="Error in `parameters`: field required"?n(t):a(J.INVALID_KEY)}},{key:"buildKeyVerificationDetails",value:function(){return{url:"https://api-inference.huggingface.co/models/gpt2",method:"POST",handleVerificationResult:r.handleVerificationResult}}}])}(),la=function(r){function i(e,t,n,a,s,o){var l;return g(this,i),l=O(this,i,[e,cr.buildKeyVerificationDetails(),cr.buildHeaders,s,o]),l.insertKeyPlaceholderText="Hugging Face Token",l.keyHelpUrl="https://huggingface.co/settings/tokens",l.introPanelMarkUp=`
    Hugging Face

    First message may take an extented amount of time to complete as the model needs to be initialized.

    `,l.permittedErrorPrefixes=["Authorization header"],l.url="".concat(i.URL_PREFIX).concat(n),l.textInputPlaceholderText=t,I(a)=="object"&&(a.model&&(l.url="".concat(i.URL_PREFIX).concat(a.model)),a.options&&(l.rawBody.options=a.options),a.parameters&&(l.rawBody.parameters=a.parameters)),l}return P(i,r),y(i,[{key:"preprocessBody",value:function(t,n,a){var s,o=JSON.parse(JSON.stringify(t)),l=n[n.length-1].text;if(l)return(s=o.options)!==null&&s!==void 0||(o.options={}),o.options.wait_for_model=!0,V({inputs:l},o)}},{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s,o){var l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(this.connectSettings){c.next=2;break}throw new Error("Request settings have not been set up");case 2:l=this.preprocessBody(this.rawBody,s,o),W.request(this,l,a);case 4:case"end":return c.stop()}},n,this)}));function t(n,a,s){return e.apply(this,arguments)}return t}()}])}(ae);la.URL_PREFIX="https://api-inference.huggingface.co/models/";var Ue=la,jn=function(r){function i(e,t,n,a,s,o){var l;return g(this,i),l=O(this,i,[e,t,n,a,s,o]),l.isTextInputDisabled=!0,l.canSendMessage=i.canSendFile,l}return P(i,r),y(i,[{key:"preprocessBody",value:function(t,n,a){return a[0]}},{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s,o){return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.connectSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:if(o!=null&&o[0]){u.next=4;break}throw new Error("No file was added");case 4:W.poll(this,o[0],a,!1);case 5:case"end":return u.stop()}},n,this)}));function t(n,a,s){return e.apply(this,arguments)}return t}()}],[{key:"canSendFile",value:function(t,n){return!!(n!=null&&n[0])}}])}(Ue),Ws=function(r){function i(e){g(this,i);var t,n,a,s=(n=(t=e.directConnection)==null?void 0:t.huggingFace)==null?void 0:n.audioClassification,o=(a=e.directConnection)==null?void 0:a.huggingFace;return O(this,i,[e,"Attach an audio file","ehcalabres/wav2vec2-lg-xlsr-en-speech-emotion-recognition",s,o,{audio:{}}])}return P(i,r),y(i,[{key:"extractPollResultData",value:function(){var e=k(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(!a.estimated_time){l.next=2;break}return l.abrupt("return",{timeoutMS:(a.estimated_time+1)*1e3});case 2:if(!a.error){l.next=4;break}throw a.error;case 4:return l.abrupt("return",{text:((s=a[0])==null?void 0:s.label)||""});case 5:case"end":return l.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}])}(jn),Ks=function(r){function i(e){g(this,i);var t,n,a,s=(n=(t=e.directConnection)==null?void 0:t.huggingFace)==null?void 0:n.imageClassification,o=(a=e.directConnection)==null?void 0:a.huggingFace;return O(this,i,[e,"Attach an image file","google/vit-base-patch16-224",s,o,{images:{}}])}return P(i,r),y(i,[{key:"extractPollResultData",value:function(){var e=k(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(!a.estimated_time){l.next=2;break}return l.abrupt("return",{timeoutMS:(a.estimated_time+1)*1e3});case 2:if(!a.error){l.next=4;break}throw a.error;case 4:return l.abrupt("return",{text:((s=a[0])==null?void 0:s.label)||""});case 5:case"end":return l.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}])}(jn),ot="data:image/png;base64,",Ee=function(){function r(){g(this,r)}return y(r,null,[{key:"buildHeaders",value:function(e){return{Authorization:"Bearer ".concat(e),"Content-Type":"application/json"}}},{key:"handleVerificationResult",value:function(e,t,n,a){e.message?a(J.INVALID_KEY):n(t)}},{key:"buildKeyVerificationDetails",value:function(){return{url:"https://api.stability.ai/v1/engines/list",method:"GET",handleVerificationResult:r.handleVerificationResult}}}])}(),Ot=function(r){function i(e,t,n,a,s){var o;return g(this,i),o=O(this,i,[e,t,n,a,s]),o.insertKeyPlaceholderText="Stability AI API Key",o.keyHelpUrl="https://platform.stability.ai/docs/getting-started/authentication",o.permittedErrorPrefixes=["Incorrect","invalid_"],o}return P(i,r),y(i)}(ae),Js=function(r){function i(e){var t;g(this,i);var n,a=JSON.parse(JSON.stringify(e.directConnection)),s=a==null?void 0:a.stabilityAI,o={images:{files:{acceptedFormats:".png",maxNumberOfFiles:1}}};t=O(this,i,[e,Ee.buildKeyVerificationDetails(),Ee.buildHeaders,s,o]),t.url="https://api.stability.ai/v1/generation/esrgan-v1-x2plus/image-to-image/upscale",t.textInputPlaceholderText="Describe image changes",t.introPanelMarkUp=`
    Stability AI
    Image to Image Upscale

    Upload an image to generate a new one with higher resolution.

    Click here for more info.

    `;var l=(n=a==null?void 0:a.stabilityAI)==null?void 0:n.imageToImageUpscale;return I(l)=="object"&&(l.engine_id&&(t.url="https://api.stability.ai/v1/generation/".concat(l.engine_id,"/image-to-image/upscale")),i.cleanConfig(l),Object.assign(t.rawBody,l)),t.canSendMessage=i.canSendFileMessage,t}return P(i,r),y(i,[{key:"createFormDataBody",value:function(t,n){var a=new FormData;return a.append("image",n),Object.keys(t).forEach(function(s){a.append(s,String(t[s]))}),a}},{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s,o){var l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(this.connectSettings){c.next=2;break}throw new Error("Request settings have not been set up");case 2:if(o){c.next=4;break}throw new Error("Image was not found");case 4:l=this.createFormDataBody(this.rawBody,o[0]),j.tempRemoveContentHeader(this.connectSettings,W.request.bind(this,this,l,a),!1);case 6:case"end":return c.stop()}},n,this)}));function t(n,a,s){return e.apply(this,arguments)}return t}()},{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.message){o.next=2;break}throw a.message;case 2:return o.abrupt("return",{files:a.artifacts.map(function(l){return{src:"".concat(ot).concat(l.base64),type:"image"}})});case 3:case"end":return o.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}],[{key:"cleanConfig",value:function(t){delete t.engine_id}},{key:"canSendFileMessage",value:function(t,n){return!!(n!=null&&n[0])}}])}(Ot),Ys=function(r){function i(e){var t;g(this,i);var n,a=JSON.parse(JSON.stringify(e.directConnection)),s=a==null?void 0:a.stabilityAI,o={images:{files:{acceptedFormats:".png",maxNumberOfFiles:2}}};t=O(this,i,[e,Ee.buildKeyVerificationDetails(),Ee.buildHeaders,s,o]),t.url="https://api.stability.ai/v1/generation/stable-diffusion-xl-1024-v1-0/image-to-image/masking",t._maskSource="MASK_IMAGE_WHITE",t.textInputPlaceholderText="Describe image changes",t.introPanelMarkUp=`
    Stability AI
    Image to Image Masking

    Upload an image, its mask image to create a new one based on the changes you have described for the mask area.

    Click here for more info.

    `;var l=(n=a==null?void 0:a.stabilityAI)==null?void 0:n.imageToImageMasking;return I(l)=="object"&&(l.engine_id&&(t.url="https://api.stability.ai/v1/generation/".concat(l.engine_id,"/image-to-image/masking")),l.weight!==void 0&&l.weight!==null&&(t._imageWeight=l.weight),l.mask_source!==void 0&&l.mask_source!==null&&(t._maskSource=l.mask_source),i.cleanConfig(l),Object.assign(t.rawBody,l)),t.canSendMessage=i.canSendFileTextMessage,t}return P(i,r),y(i,[{key:"createFormDataBody",value:function(t,n,a,s){var o=new FormData;return o.append("init_image",n),o.append("mask_source",String(this._maskSource)),o.append("mask_image",a),s&&s!==""&&o.append("text_prompts[0][text]",s),this._imageWeight!==void 0&&this._imageWeight!==null&&o.append("text_prompts[0][weight]",String(this._imageWeight)),Object.keys(t).forEach(function(l){o.append(l,String(t[l]))}),o.get("weight")===void 0&&o.append("weight",String(1)),o}},{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s,o){var l,u,c,d;return f().wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if(this.connectSettings){p.next=2;break}throw new Error("Request settings have not been set up");case 2:if(!(!o||!o[0]||!o[1])){p.next=4;break}throw new Error("Image was not found");case 4:c=(u=(l=s[s.length-1])==null?void 0:l.text)==null?void 0:u.trim(),d=this.createFormDataBody(this.rawBody,o[0],o[1],c),j.tempRemoveContentHeader(this.connectSettings,W.request.bind(this,this,d,a),!1);case 6:case"end":return p.stop()}},n,this)}));function t(n,a,s){return e.apply(this,arguments)}return t}()},{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.message){o.next=2;break}throw a.message;case 2:return o.abrupt("return",{files:a.artifacts.map(function(l){return{src:"".concat(ot).concat(l.base64),type:"image"}})});case 3:case"end":return o.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}],[{key:"cleanConfig",value:function(t){delete t.engine_id,delete t.weight}},{key:"canSendFileTextMessage",value:function(t,n){return!!(n!=null&&n[0])&&!!(t&&t.trim()!=="")}}])}(Ot),Zs=function(r){function i(e){g(this,i);var t,n,a,s=(n=(t=e.directConnection)==null?void 0:t.huggingFace)==null?void 0:n.audioSpeechRecognition,o=(a=e.directConnection)==null?void 0:a.huggingFace;return O(this,i,[e,"Attach an audio file","facebook/wav2vec2-large-960h-lv60-self",s,o,{audio:{}}])}return P(i,r),y(i,[{key:"extractPollResultData",value:function(){var e=k(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.estimated_time){o.next=2;break}return o.abrupt("return",{timeoutMS:(a.estimated_time+1)*1e3});case 2:if(!a.error){o.next=4;break}throw a.error;case 4:return o.abrupt("return",{text:a.text||""});case 5:case"end":return o.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}])}(jn),Xs=function(r){function i(e){g(this,i);var t,n,a,s=(n=(t=e.directConnection)==null?void 0:t.huggingFace)==null?void 0:n.textGeneration,o=(a=e.directConnection)==null?void 0:a.huggingFace;return O(this,i,[e,"Once upon a time","gpt2",s,o])}return P(i,r),y(i,[{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(!a.error){l.next=2;break}throw a.error;case 2:return l.abrupt("return",{text:((s=a[0])==null?void 0:s.generated_text)||""});case 3:case"end":return l.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}])}(Ue),Qs=function(r){function i(e){var t;g(this,i);var n,a,s,o=(a=(n=e.directConnection)==null?void 0:n.huggingFace)==null?void 0:a.questionAnswer,l=(s=e.directConnection)==null?void 0:s.huggingFace;return t=O(this,i,[e,"Ask a question","bert-large-uncased-whole-word-masking-finetuned-squad",o,l]),t.permittedErrorPrefixes=["Authorization header","Error in"],t.context=o.context,t}return P(i,r),y(i,[{key:"preprocessBody",value:function(t,n){var a=n[n.length-1].text;if(a)return{inputs:{question:a,context:this.context,options:{wait_for_model:!0}}}}},{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.error){o.next=2;break}throw a.error;case 2:return o.abrupt("return",{text:a.answer||""});case 3:case"end":return o.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}])}(Ue),eo=function(r){function i(e){g(this,i);var t,n,a,s=(n=(t=e.directConnection)==null?void 0:t.huggingFace)==null?void 0:n.summarization,o=(a=e.directConnection)==null?void 0:a.huggingFace;return O(this,i,[e,"Insert text to summarize","facebook/bart-large-cnn",s,o])}return P(i,r),y(i,[{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(!a.error){l.next=2;break}throw a.error;case 2:return l.abrupt("return",{text:((s=a[0])==null?void 0:s.summary_text)||""});case 3:case"end":return l.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}])}(Ue),to=function(r){function i(e){var t,n;g(this,i);var a,s,o,l=(s=(a=e.directConnection)==null?void 0:a.huggingFace)==null?void 0:s.conversation,u=(o=e.directConnection)==null?void 0:o.huggingFace;return n=O(this,i,[e,"Ask me anything!","facebook/blenderbot-400M-distill",l,u]),(t=n.maxMessages)!==null&&t!==void 0||(n.maxMessages=-1),n}return P(i,r),y(i,[{key:"processMessages",value:function(t){var n=t.filter(function(u){return u.text}),a=n[n.length-1].text,s=n.slice(0,n.length-1);if(a){var o=s.filter(function(u){return u.role==="user"}).map(function(u){return u.text}),l=s.filter(function(u){return u.role==="ai"}).map(function(u){return u.text});return{past_user_inputs:o,generated_responses:l,mostRecentMessageText:a}}}},{key:"preprocessBody",value:function(t,n){var a,s=JSON.parse(JSON.stringify(t)),o=this.processMessages(n);if(o)return(a=s.options)!==null&&a!==void 0||(s.options={}),s.options.wait_for_model=!0,V({inputs:{past_user_inputs:o.past_user_inputs,generated_responses:o.generated_responses,text:o.mostRecentMessageText}},s)}},{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.error){o.next=2;break}throw a.error;case 2:return o.abrupt("return",{text:a.generated_text||""});case 3:case"end":return o.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}])}(Ue),no=function(r){function i(e){var t;g(this,i);var n,a=JSON.parse(JSON.stringify(e.directConnection)),s=a.stabilityAI,o={images:{files:{acceptedFormats:".png",maxNumberOfFiles:1}}};t=O(this,i,[e,Ee.buildKeyVerificationDetails(),Ee.buildHeaders,s,o]),t.url="https://api.stability.ai/v1/generation/stable-diffusion-v1-6/image-to-image",t.textInputPlaceholderText="Describe image changes",t.introPanelMarkUp=`
    Stability AI: Image to Image

    Upload an image to create a new one with the changes you have described.

    Click here for more info.

    `;var l=(n=a.stabilityAI)==null?void 0:n.imageToImage;return I(l)=="object"&&(l.engine_id&&(t.url="https://api.stability.ai/v1/generation/".concat(l.engine_id,"/text-to-image")),l.weight!==void 0&&l.weight!==null&&(t._imageWeight=l.weight),i.cleanConfig(l),Object.assign(t.rawBody,l)),t.canSendMessage=i.canSendFileTextMessage,t}return P(i,r),y(i,[{key:"createFormDataBody",value:function(t,n,a){var s=new FormData;return s.append("init_image",n),a&&a!==""&&s.append("text_prompts[0][text]",a),this._imageWeight!==void 0&&this._imageWeight!==null&&s.append("text_prompts[0][weight]",String(this._imageWeight)),Object.keys(t).forEach(function(o){s.append(o,String(t[o]))}),s.get("weight")===void 0&&s.append("weight",String(1)),s}},{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s,o){var l,u,c,d;return f().wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if(this.connectSettings){p.next=2;break}throw new Error("Request settings have not been set up");case 2:if(o){p.next=4;break}throw new Error("Image was not found");case 4:c=(u=(l=s[s.length-1])==null?void 0:l.text)==null?void 0:u.trim(),d=this.createFormDataBody(this.rawBody,o[0],c),j.tempRemoveContentHeader(this.connectSettings,W.request.bind(this,this,d,a),!1);case 6:case"end":return p.stop()}},n,this)}));function t(n,a,s){return e.apply(this,arguments)}return t}()},{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.message){o.next=2;break}throw a.message;case 2:return o.abrupt("return",{files:a.artifacts.map(function(l){return{src:"".concat(ot).concat(l.base64),type:"image"}})});case 3:case"end":return o.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}],[{key:"cleanConfig",value:function(t){delete t.engine_id,delete t.weight}},{key:"canSendFileTextMessage",value:function(t,n){return!!(n!=null&&n[0])&&!!(t&&t.trim()!=="")}}])}(Ot),ro=function(r){function i(e){g(this,i);var t,n,a,s=(n=(t=e.directConnection)==null?void 0:t.huggingFace)==null?void 0:n.translation,o=(a=e.directConnection)==null?void 0:a.huggingFace;return O(this,i,[e,"Insert text to translate","Helsinki-NLP/opus-tatoeba-en-ja",s,o])}return P(i,r),y(i,[{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(!a.error){l.next=2;break}throw a.error;case 2:return l.abrupt("return",{text:((s=a[0])==null?void 0:s.translation_text)||""});case 3:case"end":return l.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}])}(Ue),ao=function(r){function i(e){var t;g(this,i);var n,a=JSON.parse(JSON.stringify(e.directConnection)),s=a.stabilityAI;t=O(this,i,[e,Ee.buildKeyVerificationDetails(),Ee.buildHeaders,s]),t.url="https://api.stability.ai/v1/generation/stable-diffusion-v1-6/text-to-image",t.textInputPlaceholderText="Describe an image",t.introPanelMarkUp=`
    Stability AI: Text to Image

    Insert text to generate an image.

    Click here for more info.

    `;var o=(n=a.stabilityAI)==null?void 0:n.textToImage;return I(o)=="object"&&(o.engine_id&&(t.url="https://api.stability.ai/v1/generation/".concat(o.engine_id,"/text-to-image")),o.weight!==void 0&&o.weight!==null&&(t._imageWeight=o.weight),i.cleanConfig(o),Object.assign(t.rawBody,o)),t.canSendMessage=i.canSendTextMessage,t}return P(i,r),y(i,[{key:"preprocessBody",value:function(t,n){var a=JSON.parse(JSON.stringify(t)),s={text:n};return this._imageWeight&&(s.weight=this._imageWeight),a.text_prompts=[s],a}},{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s){var o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.connectSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:o=this.preprocessBody(this.rawBody,s[s.length-1].text),W.request(this,o,a);case 4:case"end":return u.stop()}},n,this)}));function t(n,a){return e.apply(this,arguments)}return t}()},{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.message){o.next=2;break}throw a.message;case 2:return o.abrupt("return",{files:a.artifacts.map(function(l){return{src:"".concat(ot).concat(l.base64),type:"image"}})});case 3:case"end":return o.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}],[{key:"cleanConfig",value:function(t){delete t.engine_id,delete t.weight}},{key:"canSendTextMessage",value:function(t){return!!(t&&t.trim()!=="")}}])}(Ot),io=function(r){function i(e){var t;g(this,i);var n,a,s,o=(a=(n=e.directConnection)==null?void 0:n.huggingFace)==null?void 0:a.fillMask,l=(s=e.directConnection)==null?void 0:s.huggingFace;return t=O(this,i,[e,"The goal of life is [MASK].","bert-base-uncased",o,l]),t.introPanelMarkUp=`
    Hugging Face

    Insert a sentence with the word [MASK] and the model will try to fill it for you. E.g. I want [MASK].

    First message may take an extented amount of time to complete as the model needs to be initialized.

    `,t.permittedErrorPrefixes=["Authorization header","No mask_token"],t}return P(i,r),y(i,[{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(!a.error){l.next=2;break}throw a.error;case 2:return l.abrupt("return",{text:((s=a[0])==null?void 0:s.sequence)||""});case 3:case"end":return l.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}])}(Ue),ua=function(){function r(){g(this,r)}return y(r,null,[{key:"buildHeaders",value:function(e){return{Authorization:"Bearer ".concat(e),"Content-Type":"application/json"}}},{key:"handleVerificationResult",value:function(e,t,n,a){var s=e;s.error?s.error.code==="invalid_api_key"?a(J.INVALID_KEY):a(J.CONNECTION_FAILED):n(t)}},{key:"buildKeyVerificationDetails",value:function(){return{url:"https://api.openai.com/v1/models",method:"GET",handleVerificationResult:r.handleVerificationResult}}},{key:"directFetch",value:function(){var i=k(f().mark(function t(n,a,s){var o,l,u=arguments;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return o=u.length>3&&u[3]!==void 0?u[3]:!0,n.connectSettings.method=s,d.next=4,j.fetch(n,n.connectSettings.headers,o,a).then(function(h){return j.processResponseByType(h)});case 4:if(l=d.sent,!l.error){d.next=7;break}throw l.error.message;case 7:return d.abrupt("return",l);case 8:case"end":return d.stop()}},t)}));function e(t,n,a){return i.apply(this,arguments)}return e}()}])}();ua.FUNCTION_TOOL_RESP_ERROR="Response object must either be {response: string}[] for each individual function or {text: string} for a direct response, see https://deepchat.dev/docs/directConnection/OpenAI#FunctionHandler.";var Q=ua,Sn=function(){function r(){g(this,r)}return y(r,null,[{key:"storeFiles",value:function(){var i=k(f().mark(function t(n,a,s,o){var l,u,c,d;return f().wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if(l=n.connectSettings.headers,l){p.next=3;break}return p.abrupt("return");case 3:return n.url=o,u=l[j.CONTENT_TYPE],delete l[j.CONTENT_TYPE],c=s.map(function(){var m=k(f().mark(function v(b){var S;return f().wrap(function(M){for(;;)switch(M.prev=M.next){case 0:return S=new FormData,M.abrupt("return",(S.append("purpose","assistants"),S.append("file",b),new Promise(function(A){A(Q.directFetch(n,S,"POST",!1))})));case 2:case"end":return M.stop()}},v)}));return function(v){return m.apply(this,arguments)}}()),p.prev=7,p.next=10,Promise.all(c);case 10:return d=p.sent.map(function(m){return{id:m.id,name:m.filename}}),p.abrupt("return",(l[j.CONTENT_TYPE]=u,d));case 14:throw p.prev=14,p.t0=p.catch(7),l[j.CONTENT_TYPE]=u,j.displayError(a,p.t0),n.completionsHandlers.onFinish(),p.t0;case 17:case"end":return p.stop()}},t,null,[[7,14]])}));function e(t,n,a,s){return i.apply(this,arguments)}return e}()},{key:"getType",value:function(e,t){var n=e[t].path;return!n||n.endsWith("png")?"image":"any"}},{key:"getFiles",value:function(){var i=k(f().mark(function t(n,a,s,o){var l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return l=a.map(function(h){var p=h.fileId;return n.url="".concat(s).concat(p).concat(o),new Promise(function(m){m(Q.directFetch(n,void 0,"GET",!1))})}),d.next=3,Promise.all(l);case 3:return u=d.sent.map(function(h,p){return new Promise(function(m){var v=new FileReader;v.readAsDataURL(h),v.onload=function(b){m({src:b.target.result,name:a[p].name,type:r.getType(a,p)})}})}),d.next=6,Promise.all(u);case 6:return d.abrupt("return",d.sent);case 7:case"end":return d.stop()}},t)}));function e(t,n,a,s){return i.apply(this,arguments)}return e}()},{key:"getFileName",value:function(e){var t=e.split("/");return t[t.length-1]}},{key:"getFilesAndNewText",value:function(){var i=k(f().mark(function t(n,a,s,o,l){var u,c,d,h,p;return f().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:if(h=s.getFilesPrefix,p=s.getFilesPostfix,v.t0=a.length>0,!v.t0){v.next=7;break}return v.next=5,r.getFiles(n,a,h,p);case 5:d=v.sent,(u=l==null?void 0:l.text)!=null&&u.value&&d.forEach(function(b,S){var _;if(b.src){var M=a[S].path;(_=l==null?void 0:l.text)!=null&&_.value&&M&&(l.text.value=l.text.value.replace(M,b.src))}});case 7:return v.abrupt("return",(c=l==null?void 0:l.text)!=null&&c.value?{text:l.text.value,role:o}:{files:d,role:o});case 8:case"end":return v.stop()}},t)}));function e(t,n,a,s,o){return i.apply(this,arguments)}return e}()},{key:"getFileDetails",value:function(e,t){var n,a=[];return(n=t==null?void 0:t.text)!=null&&n.value&&e.content.forEach(function(s){var o,l;(l=(o=s.text)==null?void 0:o.annotations)==null||l.forEach(function(u){var c;u.text&&u.text.startsWith("sandbox:")&&(c=u.file_path)!=null&&c.file_id&&a.push({path:u.text,fileId:u.file_path.file_id,name:r.getFileName(u.text)})})}),t!=null&&t.image_file&&a.push({fileId:t.image_file.file_id}),a}},{key:"getFilesAndText",value:function(){var i=k(f().mark(function t(n,a,s,o){var l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:return l=r.getFileDetails(a,o),c.next=3,r.getFilesAndNewText(n,l,s,a.role,o);case 3:return c.abrupt("return",c.sent);case 4:case"end":return c.stop()}},t)}));function e(t,n,a,s){return i.apply(this,arguments)}return e}()},{key:"parseResult",value:function(e,t){var n=[];if(t)n=e.data;else for(var a=0;a0){var o=this.filesToolType;if(typeof this.filesToolType=="function"){var l=this.filesToolType(n.map(function(c){var d=c.name;return d}));l==="code_interpreter"||l==="file_search"||l==="images"?o=l:(console.error('Tool type "'.concat(l,'" is not valid')),console.error('Expected "code_interpreter" or "file_search" or "images". Going to default to "images"'))}if(o==="file_search")return i.processAttachmentsMessage(s,n,"file_search");if(o==="code_interpreter")return i.processAttachmentsMessage(s,n,"code_interpreter");if(n.find(function(c){var d=c.name;return!se.isImageFileExtension(d)}))console.error("The uploaded files contained a non-image file"),console.error('Make sure only images can be uploaded or define a "code_interpreter" or "file_search" value in the "files_tool_type" property'),console.warn('Make sure your existing assistant supports these "tools" or specify them in the "new_assistant" property');else{var u=i.processImageMessage(s,n);if(u)return u}}return{content:s.text||"",role:"user"}}},{key:"createNewThreadMessages",value:function(t,n,a){var s=JSON.parse(JSON.stringify(t)),o=this.processMessage(n,a);return s.thread={messages:[o]},s}},{key:"callService",value:function(t,n,a){if(this.messages=t,this.sessionId){this.url="".concat(this.urlSegments.threadsPrefix,"/").concat(this.sessionId,"/messages").concat(this.urlSegments.createMessagePostfix);var s=this.processMessage(n,a);W.request(this,s,t)}else{this.url="".concat(this.urlSegments.threadsPrefix,"/runs").concat(this.urlSegments.threadsPosfix);var o=this.createNewThreadMessages(this.rawBody,n,a);this.isSSEStream?this.createStreamRun(o):W.request(this,o,t)}}},{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s,o){var l,u,c;return f().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:if(this.waitingForStreamResponse=!1,!!this.connectSettings){h.next=2;break}throw new Error("Request settings have not been set up");case 2:if(!((l=(u=this.rawBody).assistant_id)!==null&&l!==void 0)){h.next=6;break}h.next=12;break;case 6:if(h.t0=this.config.assistant_id,h.t0){h.next=11;break}return h.next=10,this.createNewAssistant();case 10:h.t0=h.sent;case 11:u.assistant_id=h.t0;case 12:if(this.searchedForThreadId||this.searchPreviousMessagesForThreadId(a.messageToElements),!o){h.next=19;break}return h.next=16,Te.storeFiles(this,a,o,this.urlSegments.storeFiles);case 16:h.t1=h.sent,h.next=20;break;case 19:h.t1=void 0;case 20:c=h.t1,this.connectSettings.method="POST",this.callService(a,s,c);case 22:case"end":return h.stop()}},n,this)}));function t(n,a,s){return e.apply(this,arguments)}return t}()},{key:"createNewAssistant",value:function(){var e=k(f().mark(function n(){var a;return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:return o.prev=0,this.url=this.urlSegments.newAssistantUrl,o.next=4,Q.directFetch(this,JSON.parse(JSON.stringify(this.newAssistantDetails)),"POST");case 4:return a=o.sent,o.abrupt("return",(this.config.assistant_id=a.id,this.config.assistant_id));case 8:o.prev=8,o.t0=o.catch(0),console.error(o.t0),console.error("Failed to create a new assistant");case 11:case"end":return o.stop()}},n,this,[[0,8]])}));function t(){return e.apply(this,arguments)}return t}()},{key:"searchPreviousMessagesForThreadId",value:function(t){var n=t.find(function(a){var s=Mn(a,1),o=s[0];return o._sessionId});n&&(this.sessionId=n[0]._sessionId),this.searchedForThreadId=!0}},{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){var s,o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(!(this.waitingForStreamResponse||this.isSSEStream&&this.sessionId)){c.next=4;break}return c.next=3,this.handleStream(a);case 3:return c.abrupt("return",c.sent);case 4:if(!a.error){c.next=6;break}throw a.error.message.startsWith(Te.FILES_WITH_TEXT_ERROR)?Error("Please send text with your file(s)"):a.error.message;case 6:return c.next=8,this.assignThreadAndRun(a);case 8:return o="".concat(this.urlSegments.threadsPrefix,"/").concat(this.sessionId,"/runs/").concat(this.run_id).concat(this.urlSegments.threadsPosfix),l={method:"GET",headers:(s=this.connectSettings)==null?void 0:s.headers},c.abrupt("return",(W.executePollRequest(this,o,l,this.messages),{makingAnotherRequest:!0}));case 10:case"end":return c.stop()}},n,this)}));function t(n){return e.apply(this,arguments)}return t}()},{key:"assignThreadAndRun",value:function(){var e=k(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(!this.sessionId){l.next=8;break}return this.url="".concat(this.urlSegments.threadsPrefix,"/").concat(this.sessionId,"/runs").concat(this.urlSegments.threadsPosfix),l.next=4,Q.directFetch(this,JSON.parse(JSON.stringify(this.rawBody)),"POST");case 4:s=l.sent,this.run_id=s.id,l.next=9;break;case 8:this.sessionId=a.thread_id,this.run_id=a.id,this.messages&&this.messages.messageToElements.length>0&&(this.messages.messageToElements[this.messages.messageToElements.length-1][0]._sessionId=this.sessionId);case 9:case"end":return l.stop()}},n,this)}));function t(n){return e.apply(this,arguments)}return t}()},{key:"getThreadMessages",value:function(){var e=k(f().mark(function n(a){var s,o,l,u,c=arguments;return f().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:return s=c.length>1&&c[1]!==void 0?c[1]:!1,this.url="".concat(this.urlSegments.threadsPrefix,"/").concat(a,"/messages?").concat(this.urlSegments.listMessagesPostfix),h.next=4,Q.directFetch(this,{},"GET");case 4:if(u=h.sent,h.t0=!s&&this.deepChat.responseInterceptor,!h.t0){h.next=10;break}return h.next=9,(l=(o=this.deepChat).responseInterceptor)==null?void 0:l.call(o,u);case 9:u=h.sent;case 10:return h.abrupt("return",Te.processAPIMessages(this,u,s,this.urlSegments));case 11:case"end":return h.stop()}},n,this)}));function t(n){return e.apply(this,arguments)}return t}()},{key:"extractPollResultData",value:function(){var e=k(f().mark(function n(a){var s=this,o,l,u,c,d,h,p,m;return f().wrap(function(b){for(;;)switch(b.prev=b.next){case 0:if(l=a.status,u=a.required_action,!(l==="queued"||l==="in_progress")){b.next=3;break}return b.abrupt("return",{timeoutMS:i.POLLING_TIMEOUT_MS});case 3:if(!(l==="completed"&&this.messages)){b.next=11;break}return b.next=6,this.getThreadMessages(a.thread_id);case 6:return c=b.sent,d=c.shift(),h=d.text,p=d.files,b.abrupt("return",(setTimeout(function(){c.forEach(function(S){return s.deepChat.addMessage(S)})}),{text:h,_sessionId:this.sessionId,files:p}));case 11:if(m=(o=u==null?void 0:u.submit_tool_outputs)==null?void 0:o.tool_calls,!(l==="requires_action"&&m)){b.next=16;break}return b.next=15,this.handleTools(m);case 15:return b.abrupt("return",b.sent);case 16:throw Error("Thread run status: ".concat(l));case 17:case"end":return b.stop()}},n,this)}));function t(n){return e.apply(this,arguments)}return t}()},{key:"handleTools",value:function(){var e=k(f().mark(function n(a){var s,o,l,u,c,d;return f().wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if(this.functionHandler){p.next=2;break}throw Error("Please define the `function_handler` property inside the [openAI](https://deepchat.dev/docs/directConnection/openAI#Assistant) object.");case 2:return s=a.map(function(m){return{name:m.function.name,arguments:m.function.arguments}}),p.next=5,this.functionHandler(s);case 5:if(o=p.sent,!(!Array.isArray(o)||a.length!==o.length)){p.next=8;break}throw Error(Te.FUNCTION_TOOL_RESP_ERROR);case 8:return p.next=10,Promise.all(o);case 10:if(l=p.sent,!l.find(function(m){return typeof m!="string"})){p.next=13;break}throw Error(Te.FUNCTION_TOOL_RESP_ERROR);case 13:if(u=l.map(function(m,v){return{tool_call_id:a[v].id,output:m}}),c="".concat(this.urlSegments.threadsPrefix,"/").concat(this.sessionId),d="/runs/".concat(this.run_id,"/submit_tool_outputs").concat(this.urlSegments.threadsPosfix),this.url="".concat(c).concat(d),!this.isSSEStream){p.next=20;break}return p.next=18,this.createStreamRun({tool_outputs:u});case 18:p.next=22;break;case 20:return p.next=22,Q.directFetch(this,{tool_outputs:u},"POST");case 22:return p.abrupt("return",{timeoutMS:i.POLLING_TIMEOUT_MS});case 23:case"end":return p.stop()}},n,this)}));function t(n){return e.apply(this,arguments)}return t}()},{key:"handleStream",value:function(){var e=k(f().mark(function n(a){var s,o,l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if(l=(o=(s=a.required_action)==null?void 0:s.submit_tool_outputs)==null?void 0:o.tool_calls,!(a.status==="requires_action"&&l)){d.next=6;break}return this.run_id=a.id,d.next=5,this.handleTools(l);case 5:return d.abrupt("return",d.sent);case 6:if(!this.waitingForStreamResponse){d.next=8;break}return d.abrupt("return",this.parseStreamResult(a));case 8:return this.isSSEStream&&this.sessionId&&(this.url="".concat(this.urlSegments.threadsPrefix,"/").concat(this.sessionId,"/runs").concat(this.urlSegments.threadsPosfix),u=JSON.parse(JSON.stringify(this.rawBody)),this.createStreamRun(u)),d.abrupt("return",{makingAnotherRequest:!0});case 10:case"end":return d.stop()}},n,this)}));function t(n){return e.apply(this,arguments)}return t}()},{key:"parseStreamResult",value:function(){var e=k(f().mark(function n(a){var s,o,l,u,c,d,h,p,m,v;return f().wrap(function(S){for(;;)switch(S.prev=S.next){case 0:if(!(a.content&&a.content.length>0&&this.messages)){S.next=5;break}if(d=a.content.find(function(_){return _.text}),!((s=d==null?void 0:d.text)!=null&&s.annotations&&d.text.annotations.length>0)){S.next=5;break}return h=a.content.find(function(_){return!!_.text})||a.content[0],p=Te.getFilesAndText.bind(this,this,{role:"assistant",content:a.content},this.urlSegments,h),S.abrupt("return",((o=this.messageStream)==null||o.endStreamAfterFileDownloaded(this.messages,p),{text:""}));case 5:if(!((l=a.delta)!=null&&l.content)){S.next=14;break}if(!(a.delta.content.length>1)){S.next=13;break}if(m=a.delta.content.find(function(_){return _.text}),!((u=m==null?void 0:m.text)!=null&&u.annotations&&m.text.annotations.length===0)){S.next=13;break}return S.next=11,Te.processStreamMessages(this,a.delta.content,this.urlSegments);case 11:return v=S.sent,S.abrupt("return",{text:v[0].text,files:v[1].files});case 13:return S.abrupt("return",{text:(c=a.delta.content[0].text)==null?void 0:c.value});case 14:return S.abrupt("return",(!this.sessionId&&a.thread_id&&(this.sessionId=a.thread_id),{makingAnotherRequest:!0}));case 15:case"end":return S.stop()}},n,this)}));function t(n){return e.apply(this,arguments)}return t}()},{key:"createStreamRun",value:function(){var e=k(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:return a.stream=!0,this.waitingForStreamResponse=!0,o.next=4,X.request(this,a,this.messages,!0,!0);case 4:this.messageStream=o.sent;case 5:case"end":return o.stop()}},n,this)}));function t(n){return e.apply(this,arguments)}return t}()}],[{key:"processImageMessage",value:function(t,n){var a=n==null?void 0:n.filter(function(s){return se.isImageFileExtension(s.name)}).map(function(s){return{type:"image_file",image_file:{file_id:s.id}}});if(a&&a.length>0)return t.text&&t.text.length>0&&a.push({type:"text",text:t.text}),{content:a,role:"user"}}},{key:"processAttachmentsMessage",value:function(t,n,a){return{attachments:n.map(function(s){return{tools:[{type:a}],file_id:s.id}}),content:[{type:"text",text:t.text}],role:"user"}}}])}(ae);ca.POLLING_TIMEOUT_MS=800;var da=ca,ha=function(r){function i(e){var t,n,a;g(this,i);var s,o,l,u,c,d=JSON.parse(JSON.stringify(e.directConnection)),h=d.openAI,p=(s=d.openAI)==null?void 0:s.assistant;if(a=O(this,i,[e,p,i.URL_SEGMENTS,Q.buildKeyVerificationDetails(),Q.buildHeaders,h]),(t=(o=a.connectSettings).headers)!==null&&t!==void 0||(o.headers={}),(n=(l=a.connectSettings.headers)["OpenAI-Beta"])!==null&&n!==void 0||(l["OpenAI-Beta"]="assistants=v2"),a.shouldFetchHistory&&a.sessionId&&(a.fetchHistory=a.fetchHistoryFunc.bind($e(a))),I(p)=="object"){var m=(c=(u=e.directConnection)==null?void 0:u.openAI)==null?void 0:c.assistant,v=m.function_handler,b=m.files_tool_type;v&&(a.functionHandler=v),b&&(a.filesToolType=b)}return a}return P(i,r),y(i)}(da);ha.URL_SEGMENTS={threadsPrefix:"https://api.openai.com/v1/threads",threadsPosfix:"",newAssistantUrl:"https://api.openai.com/v1/assistants",createMessagePostfix:"",listMessagesPostfix:"order=desc",storeFiles:"https://api.openai.com/v1/files",getFilesPrefix:"https://api.openai.com/v1/files/",getFilesPostfix:"/content"};var so=ha,dr=function(){function r(){g(this,r)}return y(r,null,[{key:"buildHeaders",value:function(e){return{Authorization:"Bearer ".concat(e),"Content-Type":"application/json",accept:"application/json"}}},{key:"handleVerificationResult",value:function(e,t,n,a){var s;(s=e.message)!=null&&s.includes("invalid request: prompt must be at least 1 token long")?n(t):a(J.INVALID_KEY)}},{key:"buildKeyVerificationDetails",value:function(){return{url:"https://api.cohere.ai/v1/generate",method:"POST",handleVerificationResult:r.handleVerificationResult,body:JSON.stringify({prompt:""})}}}])}(),Hn=function(r){function i(e,t,n,a,s){var o;return g(this,i),o=O(this,i,[e,dr.buildKeyVerificationDetails(),dr.buildHeaders,s]),o.insertKeyPlaceholderText="Cohere API Key",o.keyHelpUrl="https://dashboard.cohere.ai/api-keys",o.permittedErrorPrefixes=["invalid"],o.url=t,o.textInputPlaceholderText=n,a&&I(a)=="object"&&Object.assign(o.rawBody,a),o}return P(i,r),y(i)}(ae),oo=function(r){function i(e){g(this,i);var t,n,a,s=(n=(t=e.directConnection)==null?void 0:t.cohere)==null?void 0:n.textGeneration,o=(a=e.directConnection)==null?void 0:a.cohere;return O(this,i,[e,"https://api.cohere.ai/v1/generate","Once upon a time",s,o])}return P(i,r),y(i,[{key:"preprocessBody",value:function(t,n){var a=JSON.parse(JSON.stringify(t)),s=n[n.length-1].text;if(s)return V({prompt:s},a)}},{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s){var o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.connectSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:o=this.preprocessBody(this.rawBody,s),W.request(this,o,a);case 4:case"end":return u.stop()}},n,this)}));function t(n,a){return e.apply(this,arguments)}return t}()},{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(!a.message){l.next=2;break}throw a.message;case 2:return l.abrupt("return",{text:((s=a.generations)==null?void 0:s[0].text)||""});case 3:case"end":return l.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}])}(Hn),pa=function(){function r(){g(this,r)}return y(r,null,[{key:"buildHeaders",value:function(e){return{"api-key":e,"Content-Type":"application/json"}}},{key:"buildKeyVerificationDetails",value:function(e){return{url:"".concat(e.endpoint,"/openai/models?api-version=").concat(e.version),method:"GET",handleVerificationResult:Q.handleVerificationResult}}},{key:"validateURLDetails",value:function(e){var t=e.endpoint,n=e.version,a=e.deploymentId;return t&&n&&a}}])}();pa.URL_DETAILS_ERROR_MESSAGE="Please define the Azure URL Details. [More Information](https://deepchat.dev/docs/directConnection/Azure)";var ve=pa,_n=function(r){function i(e){var t,n;g(this,i);var a,s,o,l,u,c,d,h,p=JSON.parse(JSON.stringify(e.directConnection)),m=p.azure,v=(a=p.azure)==null?void 0:a.openAI,b=(v==null?void 0:v.urlDetails)||{},S="".concat((s=v==null?void 0:v.urlDetails)==null?void 0:s.endpoint,"/openai/"),_="?api-version=".concat((o=v==null?void 0:v.urlDetails)==null?void 0:o.version),M={threadsPrefix:"".concat(S).concat(i.THREAD_RESOURCE),threadsPosfix:_,newAssistantUrl:"".concat(S).concat(i.NEW_ASSISTANT_RESOURCE).concat(_),createMessagePostfix:_,listMessagesPostfix:"order=desc&api-version=".concat((l=v==null?void 0:v.urlDetails)==null?void 0:l.version),storeFiles:"".concat(S,"files").concat(_),getFilesPrefix:"".concat(S,"files/"),getFilesPostfix:"/content".concat(_)};if(n=O(this,i,[e,v==null?void 0:v.assistant,M,ve.buildKeyVerificationDetails(b),ve.buildHeaders,m]),n.permittedErrorPrefixes=[ve.URL_DETAILS_ERROR_MESSAGE],n.insertKeyPlaceholderText="Azure OpenAI API Key",n.keyHelpUrl="https://learn.microsoft.com/en-us/answers/questions/1193991/how-to-get-the-value-of-openai-api-key",n.isTextInputDisabled=!1,I(v==null?void 0:v.assistant)=="object"){var A=(d=(c=(u=e.directConnection)==null?void 0:u.azure)==null?void 0:c.openAI)==null?void 0:d.assistant,w=A.function_handler,F=A.files_tool_type;w&&(n.functionHandler=w),F&&(n.filesToolType=F)}return ve.validateURLDetails(b)?(t=(h=n.connectSettings).headers)!==null&&t!==void 0||(h.headers={}):(n.isTextInputDisabled=!0,n.canSendMessage=function(){return!1},setTimeout(function(){e.addMessage({error:ve.URL_DETAILS_ERROR_MESSAGE})})),n}return P(i,r),y(i)}(da);_n.THREAD_RESOURCE="threads",_n.NEW_ASSISTANT_RESOURCE="assistants";var lo=_n,uo=function(r){function i(e){g(this,i);var t,n,a,s=(n=(t=e.directConnection)==null?void 0:t.cohere)==null?void 0:n.summarization,o=(a=e.directConnection)==null?void 0:a.cohere;return O(this,i,[e,"https://api.cohere.ai/v1/summarize","Insert text to summarize",s,o])}return P(i,r),y(i,[{key:"preprocessBody",value:function(t,n){var a=JSON.parse(JSON.stringify(t)),s=n[n.length-1].text;if(s)return V({text:s},a)}},{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s){var o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.connectSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:o=this.preprocessBody(this.rawBody,s),W.request(this,o,a);case 4:case"end":return u.stop()}},n,this)}));function t(n,a){return e.apply(this,arguments)}return t}()},{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.message){o.next=2;break}throw a.message;case 2:return o.abrupt("return",{text:a.summary||""});case 3:case"end":return o.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}])}(Hn),En=function(r){function i(e){var t,n,a;g(this,i);var s,o,l,u=JSON.parse(JSON.stringify(e.directConnection)),c=u==null?void 0:u.openAI;a=O(this,i,[e,Q.buildKeyVerificationDetails(),Q.buildHeaders,c]),a.insertKeyPlaceholderText="OpenAI API Key",a.keyHelpUrl="https://platform.openai.com/account/api-keys",a.url="https://api.openai.com/v1/audio/speech",a.permittedErrorPrefixes=["Invalid"],a.introPanelMarkUp=`
    OpenAI : Text To Speech

    Generate an audio file based on your text input.

    Click here for more information.

    `;var d=(s=u==null?void 0:u.openAI)==null?void 0:s.textToSpeech;return I(d)=="object"&&Object.assign(a.rawBody,d),(t=(o=a.rawBody).model)!==null&&t!==void 0||(o.model=i.DEFAULT_MODEL),(n=(l=a.rawBody).voice)!==null&&n!==void 0||(l.voice=i.DEFAULT_VOIDE),a.textInputPlaceholderText="Insert text to generate audio",a.rawBody.response_format="mp3",a}return P(i,r),y(i,[{key:"preprocessBody",value:function(t,n){var a,s,o=JSON.parse(JSON.stringify(t)),l=(s=(a=n[n.length-1])==null?void 0:a.text)==null?void 0:s.trim();return l&&l!==""&&(o.input=l),o}},{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s){var o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if((o=this.connectSettings)!=null&&o.headers){c.next=2;break}throw new Error("Request settings have not been set up");case 2:this.url=this.connectSettings.url||this.url,l=this.preprocessBody(this.rawBody,s),W.request(this,l,a);case 5:case"end":return c.stop()}},n,this)}));function t(n,a){return e.apply(this,arguments)}return t}()},{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!(a instanceof Blob)){o.next=2;break}return o.abrupt("return",new Promise(function(l){var u=new FileReader;u.readAsDataURL(a),u.onload=function(c){l({files:[{src:c.target.result,type:"audio"}]})}}));case 2:if(!a.error){o.next=4;break}throw a.error.message;case 4:return o.abrupt("return",{error:"error"});case 5:case"end":return o.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}])}(ae);En.DEFAULT_MODEL="tts-1",En.DEFAULT_VOIDE="alloy";var co=En,St=function(r){function i(e){var t,n;g(this,i);var a,s,o=JSON.parse(JSON.stringify(e.directConnection)),l=o==null?void 0:o.openAI;n=O(this,i,[e,Q.buildKeyVerificationDetails(),Q.buildHeaders,l,{audio:{}}]),n.insertKeyPlaceholderText="OpenAI API Key",n.keyHelpUrl="https://platform.openai.com/account/api-keys",n.introPanelMarkUp=`
    OpenAI : Speech To Text

    Upload an audio file to transcribe it into text. You can optionally provide text to guide the audio processing.

    Click here for more info.

    `,n.url="",n.permittedErrorPrefixes=["Invalid"],n.textInputPlaceholderText="Upload an audio file",n._service_url=i.AUDIO_TRANSCRIPTIONS_URL;var u=(a=o==null?void 0:o.openAI)==null?void 0:a.audio;return I(u)=="object"&&(n.processConfig(u),i.cleanConfig(u),Object.assign(n.rawBody,u)),(t=(s=n.rawBody).model)!==null&&t!==void 0||(s.model=i.DEFAULT_MODEL),n.rawBody.response_format="json",n.canSendMessage=i.canSendFileMessage,n}return P(i,r),y(i,[{key:"processConfig",value:function(t){t!=null&&t.type&&t.type==="translation"&&(this._service_url=i.AUDIO_TRANSLATIONS_URL,delete t.language)}},{key:"preprocessBody",value:function(t,n){var a,s,o=JSON.parse(JSON.stringify(t)),l=(s=(a=n[n.length-1])==null?void 0:a.text)==null?void 0:s.trim();return l&&l!==""&&(o.prompt=l),o}},{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s,o){var l,u,c;return f().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:if((l=this.connectSettings)!=null&&l.headers){h.next=2;break}throw new Error("Request settings have not been set up");case 2:if(o!=null&&o[0]){h.next=4;break}throw new Error("No file was added");case 4:this.url=this.connectSettings.url||this._service_url,u=this.preprocessBody(this.rawBody,s),c=i.createFormDataBody(u,o[0]),j.tempRemoveContentHeader(this.connectSettings,W.request.bind(this,this,c,a),!1);case 7:case"end":return h.stop()}},n,this)}));function t(n,a,s){return e.apply(this,arguments)}return t}()},{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.error){o.next=2;break}throw a.error.message;case 2:return o.abrupt("return",{text:a.text});case 3:case"end":return o.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}],[{key:"canSendFileMessage",value:function(t,n){return!!(n!=null&&n[0])}},{key:"cleanConfig",value:function(t){delete t.type}},{key:"createFormDataBody",value:function(t,n){var a=new FormData;return a.append("file",n),Object.keys(t).forEach(function(s){a.append(s,String(t[s]))}),a}}])}(ae);St.AUDIO_TRANSCRIPTIONS_URL="https://api.openai.com/v1/audio/transcriptions",St.AUDIO_TRANSLATIONS_URL="https://api.openai.com/v1/audio/translations",St.DEFAULT_MODEL="whisper-1";var ho=St,Ne=function(){function r(){g(this,r)}return y(r,null,[{key:"buildTextToSpeechHeaders",value:function(e,t){return{"Ocp-Apim-Subscription-Key":t,"Content-Type":"application/ssml+xml","X-Microsoft-OutputFormat":e}}},{key:"buildSpeechToTextHeaders",value:function(e){return{"Ocp-Apim-Subscription-Key":e,Accept:"application/json"}}},{key:"handleSpeechVerificationResult",value:function(e,t,n,a){e.error?a(J.INVALID_KEY):n(t)}},{key:"buildSpeechKeyVerificationDetails",value:function(e){return{url:"https://".concat(e,".api.cognitive.microsoft.com/sts/v1.0/issuetoken"),method:"POST",createHeaders:function(n){return{"Ocp-Apim-Subscription-Key":"".concat(n)}},handleVerificationResult:r.handleSpeechVerificationResult}}},{key:"buildSummarizationHeader",value:function(e){return{"Ocp-Apim-Subscription-Key":e,"Content-Type":"application/json"}}},{key:"handleLanguageVerificationResult",value:function(e,t,n,a){var s;((s=e.error)==null?void 0:s.code)==="401"?a(J.INVALID_KEY):n(t)}},{key:"buildLanguageKeyVerificationDetails",value:function(e){return{url:"".concat(e,"/language/analyze-text/jobs?api-version=2022-10-01-preview"),method:"POST",createHeaders:function(n){return{"Ocp-Apim-Subscription-Key":"".concat(n)}},handleVerificationResult:r.handleLanguageVerificationResult}}},{key:"handleTranslationVerificationResult",value:function(e,t,n,a){e.json().then(function(s){!Array.isArray(s)&&s.error.code===401e3?a(J.INVALID_KEY):n(t)})}},{key:"buildTranslationKeyVerificationDetails",value:function(e){return{url:"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es",method:"POST",createHeaders:function(n){return r.buildTranslationHeaders(e,n)},handleVerificationResult:r.handleTranslationVerificationResult}}},{key:"buildTranslationHeaders",value:function(e,t){var n={"Ocp-Apim-Subscription-Key":t,"Content-Type":"application/json"};return e&&(n["Ocp-Apim-Subscription-Region"]=e),n}}])}(),po=function(r){function i(e,t,n,a,s){var o;return g(this,i),o=O(this,i,[e,Ne.buildLanguageKeyVerificationDetails(n),t,a,s]),o.insertKeyPlaceholderText="Azure Language Subscription Key",o.keyHelpUrl="https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal",o.permittedErrorPrefixes=["Access"],o}return P(i,r),y(i)}(ae),fa=function(r){function i(e){var t,n;g(this,i);var a,s,o,l,u=(s=(a=e.directConnection)==null?void 0:a.azure)==null?void 0:s.summarization,c=(o=e.directConnection)==null?void 0:o.azure;return n=O(this,i,[e,Ne.buildSummarizationHeader,u.endpoint,c]),n.permittedErrorPrefixes=[i.ENDPOINT_ERROR_MESSAGE],n.url="",n.textInputPlaceholderText="Insert text to summarize",n.isTextInputDisabled=!1,u.endpoint?((t=(l=n.rawBody).language)!==null&&t!==void 0||(l.language="en"),Object.assign(n.rawBody,u),n.url="".concat(u.endpoint,"/language/analyze-text/jobs?api-version=2022-10-01-preview")):(n.isTextInputDisabled=!0,n.canSendMessage=function(){return!1},setTimeout(function(){e.addMessage({error:i.ENDPOINT_ERROR_MESSAGE})})),n}return P(i,r),y(i,[{key:"preprocessBody",value:function(t,n){var a=n[n.length-1].text;if(a)return{analysisInput:{documents:[{id:"1",language:t.language,text:a}]},tasks:[{kind:"ExtractiveSummarization"}]}}},{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s){var o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.connectSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:o=this.preprocessBody(this.rawBody,s),W.request(this,o,a),this.messages=a;case 4:case"end":return u.stop()}},n,this)}));function t(n,a){return e.apply(this,arguments)}return t}()},{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){var s,o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(!a.error){c.next=2;break}throw a.error.message;case 2:return this.messages&&this.completionsHandlers&&(o=a.headers.get("operation-location"),l={method:"GET",headers:(s=this.connectSettings)==null?void 0:s.headers},W.executePollRequest(this,o,l,this.messages)),c.abrupt("return",{makingAnotherRequest:!0});case 4:case"end":return c.stop()}},n,this)}));function t(n){return e.apply(this,arguments)}return t}()},{key:"extractPollResultData",value:function(){var e=k(f().mark(function n(a){var s,o,l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if(!a.error){d.next=2;break}throw a.error;case 2:if(a.status!=="running"){d.next=4;break}return d.abrupt("return",{timeoutMS:2e3});case 4:if(!(a.errors.length>0)){d.next=6;break}throw a.errors[0];case 6:if(!(a.tasks.items[0].results.errors.length>0)){d.next=8;break}throw a.tasks.items[0].results.errors[0];case 8:s="",o=xa(a.tasks.items[0].results.documents[0].sentences);try{for(o.s();!(l=o.n()).done;)u=l.value,s+=u.text}catch(h){o.e(h)}finally{o.f()}return d.abrupt("return",{text:s||""});case 12:case"end":return d.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}])}(po);fa.ENDPOINT_ERROR_MESSAGE="Please define the azure endpoint. [More Information](https://deepchat.dev/docs/directConnection/Azure#Summarization)";var fo=fa,tn=function(){function r(){g(this,r)}return y(r,null,[{key:"poll",value:function(){var i=k(f().mark(function t(n,a){var s,o,l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return s={authorization:n,"content-type":"application/json"},d.t0="https://api.assemblyai.com/v2/transcript/",d.next=4,fetch("https://api.assemblyai.com/v2/transcript",{method:"POST",body:JSON.stringify({audio_url:a}),headers:s});case 4:return d.next=6,d.sent.json();case 6:d.t1=d.sent.id,o=d.t0.concat.call(d.t0,d.t1);case 8:if(l){d.next=24;break}return d.next=11,fetch(o,{headers:s});case 11:return d.next=13,d.sent.json();case 13:if(u=d.sent,u.status!=="completed"){d.next=18;break}l=u,d.next=22;break;case 18:if(u.status!=="error"){d.next=20;break}throw new Error("Transcription failed: ".concat(u.error));case 20:return d.next=22,new Promise(function(h){return setTimeout(h,3e3)});case 22:d.next=8;break;case 24:return d.abrupt("return",l);case 25:case"end":return d.stop()}},t)}));function e(t,n){return i.apply(this,arguments)}return e}()},{key:"buildHeaders",value:function(e){return{Authorization:e,"Content-Type":"application/octet-stream"}}},{key:"handleVerificationResult",value:function(e,t,n,a){var s=e;s.error?s.error.code==="invalid_api_key"?a(J.INVALID_KEY):a(J.CONNECTION_FAILED):n(t)}},{key:"buildKeyVerificationDetails",value:function(){return{url:"https://api.assemblyai.com/v2/upload",method:"POST",handleVerificationResult:r.handleVerificationResult}}}])}(),mo=function(r){function i(e){var t;g(this,i);var n,a=(n=e.directConnection)==null?void 0:n.assemblyAI;return t=O(this,i,[e,tn.buildKeyVerificationDetails(),tn.buildHeaders,a,{audio:{}}]),t.insertKeyPlaceholderText="AssemblyAI API Key",t.keyHelpUrl="https://www.assemblyai.com/app/account",t.introPanelMarkUp=`
    AssemblyAI Audio

    Upload an audio file to transcribe it into text.

    Click here for more info.

    `,t.url="https://api.assemblyai.com/v2/upload",t.isTextInputDisabled=!0,t.textInputPlaceholderText="Upload an audio file",t.permittedErrorPrefixes=["Authentication","Invalid"],t.canSendMessage=i.canFileSendMessage,t}return P(i,r),y(i,[{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s,o){var l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if((l=this.connectSettings)!=null&&l.headers){c.next=2;break}throw new Error("Request settings have not been set up");case 2:if(o!=null&&o[0]){c.next=4;break}throw new Error("No file was added");case 4:W.request(this,o[0],a,!1);case 5:case"end":return c.stop()}},n,this)}));function t(n,a,s){return e.apply(this,arguments)}return t}()},{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){var s,o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(!a.error){c.next=2;break}throw a.error;case 2:return l=(o=(s=this.connectSettings)==null?void 0:s.headers)==null?void 0:o.Authorization,c.next=5,tn.poll(l,a.upload_url);case 5:return c.t0=c.sent.text,c.abrupt("return",{text:c.t0});case 7:case"end":return c.stop()}},n,this)}));function t(n){return e.apply(this,arguments)}return t}()}],[{key:"canFileSendMessage",value:function(t,n){return!!(n!=null&&n[0])}}])}(ae),ma=function(r){function i(e,t,n,a,s){var o;return g(this,i),o=O(this,i,[e,Ne.buildSpeechKeyVerificationDetails(n),t,a,s]),o.insertKeyPlaceholderText="Azure Speech Subscription Key",o.keyHelpUrl="https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal",o}return P(i,r),y(i)}(ae),wn=function(r){function i(e){var t,n,a,s;g(this,i);var o,l,u,c,d,h,p=(l=(o=e.directConnection)==null?void 0:o.azure)==null?void 0:l.textToSpeech,m=(u=e.directConnection)==null?void 0:u.azure;return s=O(this,i,[e,Ne.buildTextToSpeechHeaders.bind({},(p==null?void 0:p.outputFormat)||"audio-16khz-128kbitrate-mono-mp3"),p.region,m]),s.permittedErrorPrefixes=[i.REGION_ERROR_MESSAGE],s.introPanelMarkUp=`
    Azure Text To Speech

    Insert text to synthesize it to audio.

    Click here for more info.

    `),s.isTextInputDisabled=!1,s.url="",p.region?(Object.assign(s.rawBody,p),(t=(c=s.rawBody).lang)!==null&&t!==void 0||(c.lang="en-US"),(n=(d=s.rawBody).name)!==null&&n!==void 0||(d.name="en-US-JennyNeural"),(a=(h=s.rawBody).gender)!==null&&a!==void 0||(h.gender="Female"),s.url="https://".concat(p.region,".tts.speech.microsoft.com/cognitiveservices/v1")):(s.isTextInputDisabled=!0,s.canSendMessage=function(){return!1},setTimeout(function(){e.addMessage({error:i.REGION_ERROR_MESSAGE})})),s}return P(i,r),y(i,[{key:"preprocessBody",value:function(t,n){var a=n[n.length-1].text;if(a)return" `).concat(a,` `)}},{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s){var o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.connectSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:o=this.preprocessBody(this.rawBody,s),W.request(this,o,a,!1);case 4:case"end":return u.stop()}},n,this)}));function t(n,a){return e.apply(this,arguments)}return t}()},{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:return o.abrupt("return",new Promise(function(l){var u=new FileReader;u.readAsDataURL(a),u.onload=function(c){l({files:[{src:c.target.result,type:"audio"}]})}}));case 1:case"end":return o.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}])}(ma);wn.HELP_LINK="https://learn.microsoft.com/en-GB/azure/cognitive-services/speech-service/get-started-text-to-speech?tabs=windows%2Cterminal&pivots=programming-language-rest",wn.REGION_ERROR_MESSAGE="Please define a region config property. [More Information](https://deepchat.dev/docs/directConnection/Azure#TextToSpeech)";var vo=wn,Cn=function(r){function i(e){var t;g(this,i);var n,a,s,o=(a=(n=e.directConnection)==null?void 0:n.azure)==null?void 0:a.speechToText,l=(s=e.directConnection)==null?void 0:s.azure,u={audio:{files:{acceptedFormats:".wav,.ogg"}}};if(t=O(this,i,[e,Ne.buildSpeechToTextHeaders,o.region,l,u]),t.permittedErrorPrefixes=[i.REGION_ERROR_MESSAGE],t.introPanelMarkUp=`
    Azure Speech To Text

    Upload a .wav or .ogg audio file to transcribe it into text.

    Click here for more info.

    `),t.url="",t.isTextInputDisabled=!0,t.textInputPlaceholderText="Upload an audio file",!o.region)t.isTextInputDisabled=!0,t.canSendMessage=function(){return!1},setTimeout(function(){e.addMessage({error:i.REGION_ERROR_MESSAGE})});else{t.canSendMessage=i.canFileSendMessage;var c=o.lang||"en-US";t.url="https://".concat(o.region,".stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=").concat(c,"&format=detailed"),t.recordAudio=void 0}return t}return P(i,r),y(i,[{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s,o){var l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if((l=this.connectSettings)!=null&&l.headers){d.next=2;break}throw new Error("Request settings have not been set up");case 2:if(o!=null&&o[0]){d.next=4;break}throw new Error("No file was added");case 4:(u=this.connectSettings)!=null&&u.headers&&(this.connectSettings.headers["Content-Type"]=o[0].name.toLocaleLowerCase().endsWith(".wav")?"audio/wav; codecs=audio/pcm; samplerate=16000":"audio/ogg; codecs=opus"),W.request(this,o[0],a,!1);case 5:case"end":return d.stop()}},n,this)}));function t(n,a,s){return e.apply(this,arguments)}return t}()},{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.error){o.next=2;break}throw a.error;case 2:return o.abrupt("return",{text:a.DisplayText||""});case 3:case"end":return o.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}],[{key:"canFileSendMessage",value:function(t,n){return!!(n!=null&&n[0])}}])}(ma);Cn.HELP_LINK="https://learn.microsoft.com/en-GB/azure/cognitive-services/speech-service/get-started-text-to-speech?tabs=windows%2Cterminal&pivots=programming-language-rest",Cn.REGION_ERROR_MESSAGE="Please define a region config property. [More Information](https://deepchat.dev/docs/directConnection/Azure#SpeechToText)";var go=Cn,yo=function(r){function i(e){var t;g(this,i);var n,a,s,o=(a=(n=e.directConnection)==null?void 0:n.azure)==null?void 0:a.translation,l=(s=e.directConnection)==null?void 0:s.azure;return t=O(this,i,[e,Ne.buildTranslationKeyVerificationDetails(o.region),Ne.buildTranslationHeaders.bind({},o==null?void 0:o.region),l]),t.insertKeyPlaceholderText="Azure Translate Subscription Key",t.keyHelpUrl="https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal",t.url="",t.url="https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=".concat(o.language||"es"),t}return P(i,r),y(i,[{key:"preprocessBody",value:function(t){var n=t[t.length-1].text;if(n)return[{Text:n}]}},{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s){var o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.connectSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:o=this.preprocessBody(s),W.request(this,o,a);case 4:case"end":return u.stop()}},n,this)}));function t(n,a){return e.apply(this,arguments)}return t}()},{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(!Array.isArray(a)){l.next=2;break}return l.abrupt("return",{text:((s=a[0].translations)==null?void 0:s[0].text)||""});case 2:throw a.error;case 3:case"end":return l.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}])}(ae),va=function(r){function i(e,t,n,a,s){var o,l,u;g(this,i);var c,d,h,p,m=JSON.parse(JSON.stringify(e.directConnection)),v=t||Q.buildKeyVerificationDetails(),b=n||Q.buildHeaders,S=a||m.openAI;u=O(this,i,[e,v,b,S]),u.insertKeyPlaceholderText="OpenAI API Key",u.keyHelpUrl="https://platform.openai.com/account/api-keys",u.url="https://api.openai.com/v1/chat/completions",u.permittedErrorPrefixes=["Incorrect"],u.asyncCallInProgress=!1,u._systemMessage=i.generateSystemMessage("You are a helpful assistant.");var _=s||((c=m.openAI)==null?void 0:c.chat);if(I(_)=="object"){_.system_prompt&&(u._systemMessage=i.generateSystemMessage(_.system_prompt));var M=(h=(d=e.directConnection)==null?void 0:d.openAI)==null?void 0:h.chat,A=M.function_handler;A&&(u._functionHandler=A),u.cleanConfig(_),Object.assign(u.rawBody,_)}return(o=u.maxMessages)!==null&&o!==void 0||(u.maxMessages=-1),(l=(p=u.rawBody).model)!==null&&l!==void 0||(p.model="gpt-4o"),u}return P(i,r),y(i,[{key:"cleanConfig",value:function(t){delete t.system_prompt,delete t.function_handler}},{key:"preprocessBody",value:function(t,n){var a,s=JSON.parse(JSON.stringify(t)),o=Bn.getCharacterLimitMessages(n,this.totalMessagesMaxCharLength?this.totalMessagesMaxCharLength-this._systemMessage.content.length:-1).map(function(l){return{content:i.getContent(l),role:l.role===L.USER_ROLE?"user":"assistant"}});return n.find(function(l){return l.files&&l.files.length>0})&&((a=s.max_tokens)!==null&&a!==void 0||(s.max_tokens=300)),s.messages=[this._systemMessage].concat(It(o)),s}},{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s){var o,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(this.connectSettings){c.next=2;break}throw new Error("Request settings have not been set up");case 2:o=this.preprocessBody(this.rawBody,s),l=this.stream,l&&(I(l)!="object"||!l.simulation)||o.stream?(o.stream=!0,X.request(this,o,a)):W.request(this,o,a);case 4:case"end":return c.stop()}},n,this)}));function t(n,a){return e.apply(this,arguments)}return t}()},{key:"extractResultData",value:function(){var e=k(f().mark(function n(a,s,o){var l,u,c,d;return f().wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if(!a.error){p.next=2;break}throw a.error.message;case 2:return p.abrupt("return",(u=(l=a.choices)==null?void 0:l[0])!=null&&u.delta?this.extractStreamResult(a.choices[0],s,o):(d=(c=a.choices)==null?void 0:c[0])!=null&&d.message?a.choices[0].message.tool_calls?this.handleTools(a.choices[0].message,s,o):{text:a.choices[0].message.content}:{text:""});case 3:case"end":return p.stop()}},n,this)}));function t(n,a,s){return e.apply(this,arguments)}return t}()},{key:"extractStreamResult",value:function(){var e=k(f().mark(function n(a,s,o){var l=this,u,c,d;return f().wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if(u=a.delta,c=a.finish_reason,c!=="tool_calls"){p.next=7;break}return this.asyncCallInProgress=!0,d={tool_calls:this._streamToolCalls},p.abrupt("return",(this._streamToolCalls=void 0,this.handleTools(d,s,o)));case 7:u!=null&&u.tool_calls&&(this._streamToolCalls?u.tool_calls.forEach(function(m,v){l._streamToolCalls&&(l._streamToolCalls[v].function.arguments+=m.function.arguments)}):this._streamToolCalls=u.tool_calls);case 8:return p.abrupt("return",{text:(u==null?void 0:u.content)||""});case 9:case"end":return p.stop()}},n,this)}));function t(n,a,s){return e.apply(this,arguments)}return t}()},{key:"handleTools",value:function(){var e=k(f().mark(function n(a,s,o){var l,u,c,d,h,p,m,v,b,S,_;return f().wrap(function(A){for(;;)switch(A.prev=A.next){case 0:if(!(!a.tool_calls||!s||!o||!this._functionHandler)){A.next=2;break}throw Error("Please define the `function_handler` property inside the [openAI](https://deepchat.dev/docs/directConnection/openAI#Chat) object.");case 2:return p=JSON.parse(JSON.stringify(o)),m=a.tool_calls.map(function(w){return{name:w.function.name,arguments:w.function.arguments}}),A.next=6,(l=this._functionHandler)==null?void 0:l.call(this,m);case 6:if(v=A.sent,Array.isArray(v)){A.next=17;break}if(!v.text){A.next=16;break}return b={text:v.text},A.next=12,(c=(u=this.deepChat).responseInterceptor)==null?void 0:c.call(u,b);case 12:if(A.t0=A.sent,A.t0){A.next=15;break}A.t0=b;case 15:return A.abrupt("return",A.t0);case 16:throw Error(Q.FUNCTION_TOOL_RESP_ERROR);case 17:return A.next=19,Promise.all(v);case 19:if(S=A.sent,p.messages.push({tool_calls:a.tool_calls,role:"assistant",content:null}),!(!S.find(function(w){var F=w.response;return typeof F!="string"})&&m.length===S.length)){A.next=40;break}return S.forEach(function(w,F){var Y,B=(Y=a.tool_calls)==null?void 0:Y[F];p==null||p.messages.push({role:"tool",tool_call_id:B==null?void 0:B.id,name:B==null?void 0:B.function.name,content:w.response})}),delete p.tools,delete p.tool_choice,delete p.stream,A.prev=22,A.next=25,s==null?void 0:s(p).then(function(w){return j.processResponseByType(w)});case 25:return _=A.sent,A.next=28,(h=(d=this.deepChat).responseInterceptor)==null?void 0:h.call(d,_);case 28:if(A.t1=A.sent,A.t1){A.next=31;break}A.t1=_;case 31:if(_=A.t1,!_.error){A.next=34;break}throw _.error.message;case 34:return A.abrupt("return",{text:_.choices[0].message.content||""});case 37:throw A.prev=37,A.t2=A.catch(22),this.asyncCallInProgress=!1,A.t2;case 40:throw Error(Q.FUNCTION_TOOL_RESP_ERROR);case 41:case"end":return A.stop()}},n,this,[[22,37]])}));function t(n,a,s){return e.apply(this,arguments)}return t}()}],[{key:"generateSystemMessage",value:function(t){return{role:"system",content:t}}},{key:"getContent",value:function(t){if(t.files&&t.files.length>0){var n=t.files.map(function(a){return{type:"image_url",image_url:{url:a.src}}});return t.text&&t.text.trim().length>0&&n.unshift({type:"text",text:t.text}),n}return t.text}}])}(ae),bo=function(r){function i(e){var t;g(this,i);var n,a,s,o,l,u,c,d=JSON.parse(JSON.stringify(e.directConnection)),h=d.azure,p=((a=(n=d.azure)==null?void 0:n.openAI)==null?void 0:a.urlDetails)||{},m=(o=(s=d.azure)==null?void 0:s.openAI)==null?void 0:o.chat;if(t=O(this,i,[e,ve.buildKeyVerificationDetails(p),ve.buildHeaders,h,m]),t.permittedErrorPrefixes=[ve.URL_DETAILS_ERROR_MESSAGE],t.isTextInputDisabled=!1,I(m)=="object"){var v=(c=(u=(l=e.directConnection)==null?void 0:l.azure)==null?void 0:u.openAI)==null?void 0:c.chat,b=v.function_handler;b&&(t._functionHandler=b)}return ve.validateURLDetails(p)?t.url=i.buildURL(p):(t.isTextInputDisabled=!0,t.canSendMessage=function(){return!1},setTimeout(function(){e.addMessage({error:ve.URL_DETAILS_ERROR_MESSAGE})})),t}return P(i,r),y(i,null,[{key:"buildURL",value:function(t){var n=t.endpoint,a=t.deploymentId,s=t.version;return"".concat(n,"/openai/deployments/").concat(a,"/completions?api-version=").concat(s)}}])}(va),_t=function(r){function i(e){var t;g(this,i);var n,a=e.directConnection,s=a==null?void 0:a.openAI,o={images:{files:{acceptedFormats:".png",maxNumberOfFiles:2}}};t=O(this,i,[e,Q.buildKeyVerificationDetails(),Q.buildHeaders,s,o]),t.insertKeyPlaceholderText="OpenAI API Key",t.keyHelpUrl="https://platform.openai.com/account/api-keys",t.introPanelMarkUp=`
    OpenAI DALL·E

    Insert text to generate an image.

    Upload 1 PNG image to generate its variation and optionally insert text to specify the change.

    Upload 2 PNG images where the second is a copy of the first with a transparent area where the edit should take place and text to specify the edit.

    Click here for more info.

    `,t.url="",t.permittedErrorPrefixes=["Incorrect","Invalid input image"];var l=(n=a==null?void 0:a.openAI)==null?void 0:n.images;if(t.camera){var u=I(l)=="object"&&l.size?Number.parseInt(l.size):1024;t.camera.files={dimensions:{width:u,height:u}}}return I(l)=="object"&&Object.assign(t.rawBody,l),t.canSendMessage=i.canFileSendMessage,t}return P(i,r),y(i,[{key:"preprocessBody",value:function(t,n){var a=JSON.parse(JSON.stringify(t));return n&&n!==""&&(a.prompt=n),a}},{key:"callApiWithImage",value:function(t,n,a){var s,o,l,u=(o=(s=n[n.length-1])==null?void 0:s.text)==null?void 0:o.trim();if(a[1]||u&&u!==""){this.url=i.IMAGE_EDIT_URL;var c=this.preprocessBody(this.rawBody,u);l=i.createFormDataBody(c,a[0],a[1])}else this.url=i.IMAGE_VARIATIONS_URL,l=i.createFormDataBody(this.rawBody,a[0]);j.tempRemoveContentHeader(this.connectSettings,W.request.bind(this,this,l,t),!1)}},{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s,o){var l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if((l=this.connectSettings)!=null&&l.headers){d.next=2;break}throw new Error("Request settings have not been set up");case 2:if(!(o!=null&&o[0])){d.next=6;break}this.callApiWithImage(a,s,o),d.next=11;break;case 6:if(this.connectSettings){d.next=8;break}throw new Error("Request settings have not been set up");case 8:this.url=i.IMAGE_GENERATION_URL,u=this.preprocessBody(this.rawBody,s[s.length-1].text),W.request(this,u,a);case 11:case"end":return d.stop()}},n,this)}));function t(n,a,s){return e.apply(this,arguments)}return t}()},{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.error){o.next=2;break}throw a.error.message;case 2:return o.abrupt("return",{files:a.data.map(function(l){return l.url?{src:l.url,type:"image"}:{src:"".concat(ot).concat(l.b64_json),type:"image"}})});case 3:case"end":return o.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}],[{key:"canFileSendMessage",value:function(t,n){return!!(n!=null&&n[0])||!!(t&&t.trim()!=="")}},{key:"createFormDataBody",value:function(t,n,a){var s=new FormData;return s.append("image",n),a&&s.append("mask",a),Object.keys(t).forEach(function(o){s.append(o,String(t[o]))}),s}}])}(ae);_t.IMAGE_GENERATION_URL="https://api.openai.com/v1/images/generations",_t.IMAGE_VARIATIONS_URL="https://api.openai.com/v1/images/variations",_t.IMAGE_EDIT_URL="https://api.openai.com/v1/images/edits";var ko=_t,So=function(r){function i(e){var t,n;g(this,i);var a,s=JSON.parse(JSON.stringify(e.directConnection)),o=(a=s.cohere)==null?void 0:a.chat,l=s.cohere;return n=O(this,i,[e,"https://api.cohere.ai/v1/chat","Ask me anything!",o,l]),I(o)=="object"&&Object.assign(n.rawBody,o),(t=n.maxMessages)!==null&&t!==void 0||(n.maxMessages=-1),n}return P(i,r),y(i,[{key:"preprocessBody",value:function(t,n){var a=JSON.parse(JSON.stringify(t)),s=n.filter(function(o){return o.text});return a.query=s[s.length-1].text,a.chat_history=s.slice(0,s.length-1).map(function(o){return{text:o.text,user_name:o.role==="ai"?"CHATBOT":"USER"}}),a}},{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s){var o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.connectSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:o=this.preprocessBody(this.rawBody,s),W.request(this,o,a);case 4:case"end":return u.stop()}},n,this)}));function t(n,a){return e.apply(this,arguments)}return t}()},{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.message){o.next=2;break}throw a.message;case 2:return o.abrupt("return",{text:a.text});case 3:case"end":return o.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}])}(Hn),hr=function(){function r(){g(this,r)}return y(r,null,[{key:"buildHeaders",value:function(e){return{Authorization:"Bearer ".concat(e),"Content-Type":"application/json",accept:"application/json"}}},{key:"handleVerificationResult",value:function(e,t,n,a){var s;(s=e.message)!=null&&s.includes("invalid request: prompt must be at least 1 token long")?n(t):a(J.INVALID_KEY)}},{key:"buildKeyVerificationDetails",value:function(){return{url:"https://api.mistral.ai/v1/models",method:"GET",handleVerificationResult:r.handleVerificationResult}}}])}(),_o=function(r){function i(e){var t,n,a;g(this,i);var s,o=JSON.parse(JSON.stringify(e.directConnection)).mistral;return a=O(this,i,[e,hr.buildKeyVerificationDetails(),hr.buildHeaders,o]),a.insertKeyPlaceholderText="Mistral API Key",a.keyHelpUrl="https://console.mistral.ai/api-keys/",a.url="https://api.mistral.ai/v1/chat/completions",a.permittedErrorPrefixes=["invalid"],o&&(a.cleanConfig(o),Object.assign(a.rawBody,o)),(t=a.maxMessages)!==null&&t!==void 0||(a.maxMessages=-1),(n=(s=a.rawBody).model)!==null&&n!==void 0||(s.model="open-mistral-7b"),a}return P(i,r),y(i,[{key:"cleanConfig",value:function(t){delete t.key}},{key:"preprocessBody",value:function(t,n){var a=JSON.parse(JSON.stringify(t)),s=n.filter(function(o){return o.text});return a.messages=s.slice(0,s.length-1).map(function(o){return{text:o.text,user_name:o.role==="ai"?"system":"user"}}),a}},{key:"callServiceAPI",value:function(){var e=k(f().mark(function n(a,s){var o;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.connectSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:o=this.preprocessBody(this.rawBody,s),W.request(this,o,a);case 4:case"end":return u.stop()}},n,this)}));function t(n,a){return e.apply(this,arguments)}return t}()},{key:"extractResultData",value:function(){var e=k(f().mark(function n(a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.message){o.next=2;break}throw a.message;case 2:return o.abrupt("return",{text:a.text});case 3:case"end":return o.stop()}},n)}));function t(n){return e.apply(this,arguments)}return t}()}])}(ae),Eo=function(){function r(){g(this,r)}return y(r,null,[{key:"create",value:function(e){var t=e.directConnection,n=e.connect,a=e.demo,s=e.webModel;if(s)return new Un(e);if(t){if(t.openAI)return t.openAI.images?new ko(e):t.openAI.speechToText?new ho(e):t.openAI.textToSpeech?new co(e):t.openAI.assistant?new so(e):new va(e);if(t.assemblyAI)return new mo(e);if(t.cohere)return t.cohere.textGeneration?new oo(e):t.cohere.summarization?new uo(e):new So(e);if(t.huggingFace)return t.huggingFace.textGeneration?new Xs(e):t.huggingFace.summarization?new eo(e):t.huggingFace.translation?new ro(e):t.huggingFace.fillMask?new io(e):t.huggingFace.questionAnswer?new Qs(e):t.huggingFace.audioSpeechRecognition?new Zs(e):t.huggingFace.audioClassification?new Ws(e):t.huggingFace.imageClassification?new Ks(e):new to(e);if(t.azure){if(t.azure.openAI){if(t.azure.openAI.chat)return new bo(e);if(t.azure.openAI.assistant)return new lo(e)}if(t.azure.speechToText)return new go(e);if(t.azure.textToSpeech)return new vo(e);if(t.azure.summarization)return new fo(e);if(t.azure.translation)return new yo(e)}if(t.stabilityAI)return t.stabilityAI.imageToImage?new no(e):t.stabilityAI.imageToImageUpscale?new Js(e):t.stabilityAI.imageToImageMasking?new Ys(e):new ao(e);if(t.mistral)return new _o(e)}return n&&(!a||!n.stream)?new xt(e):new xt(e,void 0,a||!0)}}])}(),ga=y(function r(){g(this,r)});ga.attibutes={string:function(i){return i},number:function(i){return parseFloat(i)},boolean:function(i){return i==="true"},object:function(i){return JSON.parse(i)},array:function(i){return JSON.parse(i)},function:function(i){return new Function("return ".concat(i))()}};var wo=ga;function H(r){return function(i,e){Object.defineProperty(i,e,{});var t=i.constructor,n=e.toLocaleLowerCase();t._attributes_[n]=wo.attibutes[r],t._attributeToProperty_[n]=e}}var Co=function(){function r(i,e,t){g(this,r),this._isDisplayed=!1,i?(this._elementRef=this.createIntroPanelWithChild(i,t),this._isDisplayed=!0):e&&(this._elementRef=this.createInternalIntroPanel(e,t),this._isDisplayed=!0)}return y(r,[{key:"createIntroPanelWithChild",value:function(e,t){var n=r.createIntroPanel(t);return e.style.display==="none"&&(e.style.display="block"),n.appendChild(e),n}},{key:"createInternalIntroPanel",value:function(e,t){var n=r.createIntroPanel(t);return n.id="internal-intro-panel",n.innerHTML=e,n}},{key:"hide",value:function(){this._isDisplayed&&this._elementRef&&(this._elementRef.style.display="none",this._isDisplayed=!1)}},{key:"display",value:function(){!this._isDisplayed&&this._elementRef&&(this._elementRef.style.display="",this._isDisplayed=!0)}}],[{key:"createIntroPanel",value:function(e){var t=document.createElement("div");return t.classList.add("intro-panel"),Object.assign(t.style,e),t}}])}(),To=` `,Et=function(){function r(){g(this,r)}return y(r,null,[{key:"createImage",value:function(e,t,n){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,s=new Image;return s.src=e.src,!n&&a&&se.scrollDownOnImageLoad(s.src,t),se.processContent("image",s,s.src,e.name)}},{key:"createImageMessage",value:function(e,t,n,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=r.createImage(t,e.elementRef,a,s),l=e.createNewMessageElement("",n);return l.bubbleElement.appendChild(o),l.bubbleElement.classList.add(r.IMAGE_BUBBLE_CLASS),{type:"image",elements:l}}},{key:"createAudioElement",value:function(e,t){var n=document.createElement("audio");return n.src=e.src,n.classList.add("audio-player"),n.controls=!0,We.IS_SAFARI&&(n.classList.add("audio-player-safari"),n.classList.add(t===L.USER_ROLE?"audio-player-safari-right":"audio-player-safari-left")),n}},{key:"createNewAudioMessage",value:function(e,t,n,a){var s=r.createAudioElement(t,n),o=e.createMessageElementsOnOrientation("",n,a);return o.bubbleElement.appendChild(s),o.bubbleElement.classList.add(r.AUDIO_BUBBLE_CLASS),{type:"audio",elements:o}}},{key:"createAnyFile",value:function(e){var t=document.createElement("div");t.classList.add("any-file-message-contents");var n=document.createElement("div");n.classList.add("any-file-message-icon-container");var a=ue.createSVGElement(To);a.classList.add("any-file-message-icon"),n.appendChild(a);var s=document.createElement("div");return s.classList.add("any-file-message-text"),s.textContent=e.name||se.DEFAULT_FILE_NAME,t.appendChild(n),t.appendChild(s),se.processContent("any",t,e.src,s.textContent)}},{key:"createNewAnyFileMessage",value:function(e,t,n,a){var s=e.createMessageElementsOnOrientation("",n,a),o=r.createAnyFile(t);return s.bubbleElement.classList.add(r.ANY_FILE_BUBBLE_CLASS),s.bubbleElement.appendChild(o),{type:"file",elements:s}}},{key:"createMessages",value:function(e,t,n){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return t.map(function(o){return o.ref&&(o=se.removeFileRef(o)),se.isAudioFile(o)?r.createNewAudioMessage(e,o,n,a):se.isImageFile(o)?r.createImageMessage(e,o,n,a,s):r.createNewAnyFileMessage(e,o,n,a)})}},{key:"addMessages",value:function(e,t,n,a){r.createMessages(e,t,n,a).forEach(function(s){var o=s.type,l=s.elements;se.addMessage(e,l,o,n,a)})}}])}();Et.IMAGE_BUBBLE_CLASS="image-message",Et.AUDIO_BUBBLE_CLASS="audio-message",Et.ANY_FILE_BUBBLE_CLASS="any-file-message";var ya=Et,Ao=function(){function r(){g(this,r)}return y(r,null,[{key:"removeElements",value:function(e,t){if(t){var n=e.findIndex(function(a){return a===t});e.splice(n,1),t==null||t.outerContainer.remove()}}},{key:"removeFilesMessages",value:function(e,t){var n;(n=t[1].files)==null||n.forEach(function(a){r.removeElements(e.messageElementRefs,a)}),delete t[0].files,delete t[1].files}},{key:"removeTextHTMLMessage",value:function(e,t,n){var a=t[1][n];r.removeElements(e.messageElementRefs,a),delete t[0][n],delete t[1][n]}},{key:"updateHTMLMessage",value:function(e,t,n){var a,s;if(t[1].html)ke.overwriteElements(e,n,t[1].html);else{var o=ke.create(e,n,t[0].role),l=((s=t[1].files)==null?void 0:s[((a=t[1].files)==null?void 0:a.length)-1])||t[1].text;e.elementRef.insertBefore(o.outerContainer,l.outerContainer.nextSibling),e.messageElementRefs.splice(e.messageElementRefs.length-1,1);var u=e.messageElementRefs.findIndex(function(c){return c===l});e.messageElementRefs.splice(u+1,0,o),t[1].html=o}t[0].html=n}},{key:"updateFileMessages",value:function(e,t,n){var a,s,o=t[0].role,l=ya.createMessages(e,n,o),u=t[1].html,c=((s=t[1].files)==null?void 0:s[((a=t[1].files)==null?void 0:a.length)-1])||t[1].text,d=u||c,h=e.messageElementRefs.findIndex(function(m){return m===d});c&&(h+=1);var p=(u==null?void 0:u.outerContainer)||(c==null?void 0:c.outerContainer.nextSibling);l.forEach(function(m,v){var b=m.type,S=m.elements;se.setElementProps(e,S,b,o),e.elementRef.insertBefore(S.outerContainer,p),e.messageElementRefs.splice(e.messageElementRefs.length-1,1),e.messageElementRefs.splice(h+v,0,S)}),r.removeFilesMessages(e,t),t[1].files=l.map(function(m){var v=m.elements;return v}),t[0].files=n}},{key:"updateTextMessage",value:function(e,t,n){var a;if(t[1].text)e.renderText(t[1].text.bubbleElement,n);else{var s=e.createElements(n,t[0].role),o=((a=t[1].files)==null?void 0:a[0])||t[1].html;e.elementRef.insertBefore(s.outerContainer,o.outerContainer);var l=e.messageElementRefs.findIndex(function(u){return u===o});e.messageElementRefs.splice(l,0,s),t[1].text=s}t[0].text=n}},{key:"isElementActive",value:function(e){var t,n;return Tn.isActiveElement((t=e.text)==null?void 0:t.bubbleElement.classList)||Tn.isActiveElement((n=e.html)==null?void 0:n.bubbleElement.classList)}},{key:"update",value:function(e,t,n){var a=e.messageToElements[n];if(a){if(r.isElementActive(a[1]))return console.error("Cannot update a message that is being streamed");t.text&&r.updateTextMessage(e,a,t.text),t.html&&r.updateHTMLMessage(e,a,t.html),t.files?r.updateFileMessages(e,a,t.files):r.removeFilesMessages(e,a),!t.text&&a[1].text&&r.removeTextHTMLMessage(e,a,"text"),!t.html&&a[1].html&&r.removeTextHTMLMessage(e,a,"html")}else console.error("Message index not found. Please use the `getMessages` method to find the correct index")}}])}(),xo=function(){function r(){g(this,r)}return y(r,null,[{key:"getText",value:function(e,t){var n;if(!e.directConnection&&!e.connect&&!e.webModel&&!e.demo)return`Connect to any API using the [connect](https://deepchat.dev/docs/connect#connect-1) property or a popular service via [directConnection](https://deepchat.dev/docs/directConnection/#directConnection). Host AI entirely on your browser via a [webModel](https://deepchat.dev/docs/webModel). To get started checkout the [Start](https://deepchat.dev/start) page and live code [examples](https://deepchat.dev/examples/frameworks). To remove this message set the [demo](https://deepchat.dev/docs/demo#demo) property to true.`;if(e.directConnection){if(!t.isDirectConnection())return`Please define a valid service inside the [directConnection](https://deepchat.dev/docs/directConnection/#directConnection) object.`;var a=(n=e.directConnection.openAI)==null?void 0:n.chat;if(I(a)=="object"&&a.tools&&!a.function_handler)return"Please define the `function_handler` property inside the openAI [chat](https://deepchat.dev/docs/directConnection/openAI#Chat) object."}else if(e.connect&&!e.connect.url&&!e.connect.handler)return e.demo?e.connect.stream?null:"When [demo](https://deepchat.dev/docs/demo) mode is enabled - the [connect](https://deepchat.dev/docs/connect#connect-1) object can only accept the [stream](https://deepchat.dev/docs/connect#Stream) property.":"Please define a `url` or a `handler` property inside the [connect](https://deepchat.dev/docs/connect#connect-1) object.";return null}}])}(),Tn=function(r){function i(e,t,n){var a;g(this,i);var s,o;a=O(this,i,[e]);var l=t.permittedErrorPrefixes,u=t.introPanelMarkUp,c=t.demo;return a._errorMessageOverrides=(s=e.errorMessages)==null?void 0:s.overrides,a._onClearMessages=At.onClearMessages.bind(a,e),a._onError=At.onError.bind(a,e),a._displayLoadingMessage=i.getDisplayLoadingMessage(e,t),a._permittedErrorPrefixes=l,a.addSetupMessageIfNeeded(e,t)||a.populateIntroPanel(n,u,e.introPanelStyle),a.addIntroductoryMessages(e,t),new Fn(e,a,t),a._displayServiceErrorMessages=(o=e.errorMessages)==null?void 0:o.displayServiceErrorMessages,e.getMessages=function(){return JSON.parse(JSON.stringify(a.messageToElements.map(function(d){var h=Mn(d,1),p=h[0];return p})))},e.clearMessages=a.clearMessages.bind(a,t),e.refreshMessages=a.refreshTextMessages.bind(a,e.remarkable),e.scrollToBottom=de.scrollToBottom.bind(a,a.elementRef),e.addMessage=function(d,h){a.addAnyMessage(V(V({},d),{},{sendUpdate:!!h}),!h)},e.updateMessage=function(d,h){return Ao.update(a,d,h)},t.isWebModel()&&t.setUpMessages(a),c&&a.prepareDemo(le.processDemo(c)),e.textToSpeech&&yt.processConfig(e.textToSpeech,function(d){a.textToSpeech=d}),a}return P(i,r),y(i,[{key:"prepareDemo",value:function(t){var n;if(I(t)=="object"){if(t.displayLoading){var a=t.displayLoading.history;a!=null&&a.small&&Re.addMessage(this,!1),a!=null&&a.full&&Re.addMessage(this)}t.displayErrors&&(t.displayErrors.default&&this.addNewErrorMessage("",""),t.displayErrors.service&&this.addNewErrorMessage("service",""),t.displayErrors.speechToText&&this.addNewErrorMessage("speechToText","")),(n=t.displayLoading)!=null&&n.message&&this.addLoadingMessage(),t.response&&(this.customDemoResponse=t.response)}}},{key:"addSetupMessageIfNeeded",value:function(t,n){var a=xo.getText(t,n);if(a){var s=this.createAndAppendNewMessageElement(a,L.AI_ROLE);this.applyCustomStyles(s,L.AI_ROLE,!1)}return!!a}},{key:"addIntroductoryMessages",value:function(t,n){var a,s=this;t!=null&&t.shadowRoot&&(this._introMessage=t.introMessage);var o=this._introMessage;n!=null&&n.isWebModel()&&((a=o)!==null&&a!==void 0||(o=n.getIntroMessage(o))),o&&(Array.isArray(o)?o.forEach(function(l,u){u!==0&&L.hideRoleElements(s.messageElementRefs,!!s._avatars,!!s._names),s.addIntroductoryMessage(l)}):this.addIntroductoryMessage(o))}},{key:"addIntroductoryMessage",value:function(t){var n,a;t!=null&&t.text?a=this.createAndAppendNewMessageElement(t.text,L.AI_ROLE):t!=null&&t.html&&(a=ke.add(this,t.html,L.AI_ROLE,this.messageElementRefs)),a&&(this.applyCustomStyles(a,L.AI_ROLE,!1,(n=this.messageStyles)==null?void 0:n.intro),a.outerContainer.classList.add(Le.INTRO_CLASS))}},{key:"removeIntroductoryMessage",value:function(){var t=this.messageElementRefs[0];t.outerContainer.classList.contains(Le.INTRO_CLASS)&&(t.outerContainer.remove(),this.messageElementRefs.shift())}},{key:"addAnyMessage",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return t.error?this.addNewErrorMessage("service",t.error):this.addNewMessage(t,n,a)}},{key:"addNewMessage",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,s=i.createMessageContent(t),o={status:t.overwrite};if(!t.ignoreText&&s.text!==void 0&&t.text!==null&&(this.addNewTextMessage(s.text,s.role,o,a),!n&&this.textToSpeech&&s.role!==L.USER_ROLE&&yt.speak(s.text,this.textToSpeech)),s.files&&Array.isArray(s.files)&&ya.addMessages(this,s.files,s.role,a),s.html!==void 0&&s.html!==null){var l=ke.add(this,s.html,s.role,this.messageElementRefs,o,a);rt.isElementTemporary(l)&&delete s.html}return this.isValidMessageContent(s)&&!a&&this.updateStateOnMessage(s,t.overwrite,t.sendUpdate,n),s}},{key:"isValidMessageContent",value:function(t){return t.text||t.html||t.files&&t.files.length>0}},{key:"updateStateOnMessage",value:function(t,n){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!n){var o=L.generateMessageBody(t,this.messageElementRefs);this.messageToElements.push([t,o])}a&&this.sendClientUpdate(t,s)}},{key:"removeMessageOnError",value:function(){var t=this.messageElementRefs[this.messageElementRefs.length-1],n=t==null?void 0:t.bubbleElement;(n!=null&&n.classList.contains(Se.MESSAGE_CLASS)&&n.textContent===""||i.isTemporaryElement(t))&&this.removeLastMessage()}},{key:"addNewErrorMessage",value:function(t,n){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,s,o,l,u,c;this.removeMessageOnError();var d=this.getPermittedMessage(n)||((s=this._errorMessageOverrides)==null?void 0:s[t])||((o=this._errorMessageOverrides)==null?void 0:o.default)||"Error, please try again.",h=this.createMessageElementsOnOrientation(d,"error",a);L.hideRoleElements(this.messageElementRefs,!!this._avatars,!!this._names);var p=h.bubbleElement,m=h.outerContainer;p.classList.add("error-message-text"),this.renderText(p,d);var v=bt.extractParticularSharedStyles(["fontSize","fontFamily"],(l=this.messageStyles)==null?void 0:l.default);bt.applyCustomStylesToElements(h,!1,v),bt.applyCustomStylesToElements(h,!1,(u=this.messageStyles)==null?void 0:u.error),a||this.elementRef.appendChild(m),this.textToSpeech&&yt.speak(d,this.textToSpeech),(c=this._onError)==null||c.call(this,d)}},{key:"getPermittedMessage",value:function(t){if(t)for(var n=i.extractErrorMessages(t),a=0;a0&&e.classList.add("text-input-inner-left-adjustment"),t["inside-right"].length>0&&e.classList.add("text-input-inner-right-adjustment")}},{key:"adjustForOutsideButton",value:function(e,t,n){n["outside-right"].length===0&&n["outside-left"].length>0?(e[0].classList.add(r.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS),t.classList.add(r.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS)):n["outside-left"].length===0&&n["outside-right"].length>0&&(e[3].classList.add(r.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS),t.classList.add(r.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS))}},{key:"adjustOutsideSubmit",value:function(e,t,n){if(!(n["inside-left"].length>0||n["inside-right"].length>0)){if(n["outside-right"].length===0&&n["outside-left"].length>0)return e[0].classList.add(r.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS),t.classList.add(r.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS),n["outside-left"].map(function(a){return a.button.elementRef.classList.add("submit-button-enlarged")});if(n["outside-left"].length===0&&n["outside-right"].length>0)return e[3].classList.add(r.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS),t.classList.add(r.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS),n["outside-right"].map(function(a){return a.button.elementRef.classList.add("submit-button-enlarged")})}}},{key:"set",value:function(e,t,n,a){r.adjustOutsideSubmit(t,n,a)||r.adjustForOutsideButton(t,n,a),r.adjustInputPadding(e,a)}}])}();Xe.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS="text-input-container-left-adjustment",Xe.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS="text-input-container-right-adjustment",Xe.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS="text-input-container-left-small-adjustment",Xe.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS="text-input-container-right-small-adjustment";var Mo=Xe,Mt=function(){function r(){g(this,r)}return y(r,null,[{key:"create",value:function(){return Array.from({length:4}).map(function(e,t){var n=document.createElement("div");return n.classList.add("input-button-container"),(t===0||t===3)&&n.classList.add("outer-button-container"),(t===1||t===2)&&n.classList.add("inner-button-container"),n})}},{key:"add",value:function(e,t){e.insertBefore(t[1],e.firstChild),e.insertBefore(t[0],e.firstChild),e.appendChild(t[2]),e.appendChild(t[3])}},{key:"getContainerIndex",value:function(e){return e==="outside-left"?0:e==="inside-left"?1:e==="inside-right"?2:3}},{key:"addButton",value:function(e,t,n){t.classList.add(n);var a=r.getContainerIndex(n);e[a].appendChild(t),a===3&&t.classList.add("outside-right")}}])}(),pr=["camera","gifs","images","audio","mixedFiles","submit","microphone"],Oe=function(){function r(){g(this,r)}return y(r,null,[{key:"createTextElement",value:function(e){var t=document.createElement("div");return t.classList.add("text-button"),t.innerText=e,t}},{key:"createElement",value:function(e,t){return t?r.createTextElement(e):ue.createSVGElement(e)}},{key:"createCustomElement",value:function(e,t){var n,a,s,o,l=t==null?void 0:t[e];if((n=l==null?void 0:l.svg)!=null&&n.content)return r.createElement((a=l==null?void 0:l.svg)==null?void 0:a.content,!1);if((s=l==null?void 0:l.text)!=null&&s.content)return r.createElement((o=l==null?void 0:l.text)==null?void 0:o.content,!0)}},{key:"processElement",value:function(e,t){t!=null&&t.classList.contains("text-button")||e.classList.add("input-button-svg")}},{key:"createSpecificStateElement",value:function(e,t,n){var a;return n&&(a=r.createCustomElement(t,n)),r.processElement(e,a),a}},{key:"createInnerElement",value:function(e,t,n,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1,o,l;return s&&!((l=(o=a==null?void 0:a[n])==null?void 0:o.svg)!=null&&l.content)?t:r.createSpecificStateElement(e,n,a)||t}}])}(),Io=` `,Ae=function(){function r(){g(this,r)}return y(r,null,[{key:"unsetAllCSS",value:function(e,t){var n,a;t.container&&re.unsetAllCSSMouseStates(e,t.container),(n=t.svg)!=null&&n.styles&&re.unsetAllCSSMouseStates(e.children[0],t.svg.styles),(a=t.text)!=null&&a.styles&&re.unsetAllCSSMouseStates(e.children[0],t.text.styles)}},{key:"unsetActionCSS",value:function(e,t){var n,a;t.container&&re.unsetActivityCSSMouseStates(e,t.container),(n=t.svg)!=null&&n.styles&&re.unsetActivityCSSMouseStates(e.children[0],t.svg.styles),(a=t.text)!=null&&a.styles&&re.unsetActivityCSSMouseStates(e.children[0],t.text.styles)}},{key:"setElementsCSS",value:function(e,t,n){var a,s,o,l,u;Object.assign(e.style,(a=t.container)==null?void 0:a[n]),Object.assign(e.children[0].style,(o=(s=t.svg)==null?void 0:s.styles)==null?void 0:o[n]),Object.assign(e.children[0].style,(u=(l=t.text)==null?void 0:l.styles)==null?void 0:u[n])}},{key:"setElementCssUpToState",value:function(e,t,n){r.setElementsCSS(e,t,"default"),n!=="default"&&(r.setElementsCSS(e,t,"hover"),n!=="hover"&&r.setElementsCSS(e,t,"click"))}}])}(),lt=function(){function r(i,e,t,n){g(this,r),this._mouseState={state:"default"},this.elementRef=i,this._customStyles=t,this.position=e,this.dropupText=n}return y(r,[{key:"buttonMouseLeave",value:function(e){this._mouseState.state="default",e&&(Ae.unsetAllCSS(this.elementRef,e),Ae.setElementsCSS(this.elementRef,e,"default"))}},{key:"buttonMouseEnter",value:function(e){this._mouseState.state="hover",e&&Ae.setElementsCSS(this.elementRef,e,"hover")}},{key:"buttonMouseUp",value:function(e){e&&Ae.unsetActionCSS(this.elementRef,e),this.buttonMouseEnter(e)}},{key:"buttonMouseDown",value:function(e){this._mouseState.state="click",e&&Ae.setElementsCSS(this.elementRef,e,"click")}},{key:"setEvents",value:function(e){this.elementRef.onmousedown=this.buttonMouseDown.bind(this,e),this.elementRef.onmouseup=this.buttonMouseUp.bind(this,e),this.elementRef.onmouseenter=this.buttonMouseEnter.bind(this,e),this.elementRef.onmouseleave=this.buttonMouseLeave.bind(this,e)}},{key:"unsetCustomStateStyles",value:function(e){if(this._customStyles)for(var t=0;t3&&arguments[3]!==void 0?arguments[3]:!1,s=a?e:e[n?"nextSibling":"previousSibling"];s?(e.dispatchEvent(new MouseEvent("mouseleave")),s.dispatchEvent(new MouseEvent("mouseenter"))):(e.dispatchEvent(new MouseEvent("mouseleave")),r.focusItemWhenOnEdge(t,n))}}])}(),Ro=function(){function r(){g(this,r)}return y(r,null,[{key:"addItemEvents",value:function(e,t,n,a){qr.add(t,a),t.addEventListener("click",function(){n.click()}),t.addEventListener("mouseenter",function(s){e.highlightedItem=s.target}),t.addEventListener("mouseleave",function(){e.highlightedItem=void 0})}},{key:"createItemText",value:function(e,t){var n=document.createElement("div");return Object.assign(n.style,t),n.classList.add("dropup-menu-item-text"),n.textContent=e||"File",n}},{key:"createItemIcon",value:function(e,t){var n=document.createElement("div");return Object.assign(n.style,t),n.classList.add("dropup-menu-item-icon"),n.appendChild(e.children[0]),n}},{key:"populateItem",value:function(e,t,n,a){var s=e.children[0];s.classList.contains("text-button")?t.appendChild(r.createItemText(s.textContent,a==null?void 0:a.text)):(t.appendChild(r.createItemIcon(e,a==null?void 0:a.iconContainer)),t.appendChild(r.createItemText(n,a==null?void 0:a.text)))}},{key:"createItem",value:function(e,t,n){var a,s=t.elementRef,o=t.dropupText,l=document.createElement("div");Object.assign(l.style,(a=n==null?void 0:n.item)==null?void 0:a.default),r.populateItem(s,l,o,n),l.classList.add("dropup-menu-item");var u=re.processStateful((n==null?void 0:n.item)||{},{backgroundColor:"#f3f3f3"},{backgroundColor:"#ebebeb"});return r.addItemEvents(e,l,s,u),l}}])}(),Lo=function(){function r(i,e){var t=this;g(this,r);var n;this._isOpen=!0,this._styles=e,this.elementRef=r.createElement((n=this._styles)==null?void 0:n.container),this.close(),setTimeout(function(){return t.addWindowEvents(i)})}return y(r,[{key:"open",value:function(){this.elementRef.style.display="block",this._isOpen=!0}},{key:"close",value:function(){this._isOpen&&(this.elementRef.style.display="none",this._isOpen=!1)}},{key:"toggle",value:function(){this._isOpen?this.close():this.open()}},{key:"addItem",value:function(e){var t=Ro.createItem(this,e,this._styles);this.elementRef.appendChild(t)}},{key:"addWindowEvents",value:function(e){this.clickEvent=this.windowClick.bind(this,e),window.addEventListener("click",this.clickEvent),this.keyDownEvent=this.windowKeyDown.bind(this,e),window.addEventListener("keydown",this.keyDownEvent)}},{key:"windowClick",value:function(e,t){var n;!e.isConnected&&this.clickEvent?window.removeEventListener("click",this.clickEvent):e.parentElement!==((n=t.target.shadowRoot)==null?void 0:n.children[0])&&this.close()}},{key:"windowKeyDown",value:function(e,t){var n,a,s;!e.isConnected&&this.keyDownEvent?window.removeEventListener("keydown",this.keyDownEvent):this._isOpen&&(t.key===ne.ESCAPE?(this.close(),(n=this.highlightedItem)==null||n.dispatchEvent(new MouseEvent("mouseleave"))):t.key===ne.ENTER?((a=this.highlightedItem)==null||a.click(),(s=this.highlightedItem)==null||s.dispatchEvent(new MouseEvent("mouseleave"))):t.key===ne.ARROW_DOWN?fr.focusSiblingItem(this.highlightedItem||this.elementRef.children[this.elementRef.children.length-1],this.elementRef,!0):t.key===ne.ARROW_UP&&fr.focusSiblingItem(this.highlightedItem||this.elementRef.children[0],this.elementRef,!1))}}],[{key:"createElement",value:function(e){var t=document.createElement("div");return t.id="dropup-menu",Object.assign(t.style,e),t}}])}(),mr=function(r){function i(e,t){var n;g(this,i);var a;n=O(this,i,[i.createButtonElement(),void 0,{styles:(a=t==null?void 0:t.button)==null?void 0:a.styles}]);var s=n.createInnerElements(n._customStyles);return n._menu=new Lo(e,t==null?void 0:t.menu),n.addClickEvent(),n.buttonContainer=i.createButtonContainer(),n.elementRef.appendChild(s.styles),n.buttonContainer.appendChild(n.elementRef),n.elementRef.classList.add("dropup-icon","upload-file-button"),n.elementRef.children[0].id="dropup-icon",n.buttonContainer.appendChild(n._menu.elementRef),n.reapplyStateStyle("styles"),n.addContainerEvents(e),n}return P(i,r),y(i,[{key:"createInnerElements",value:function(t){return{styles:this.createInnerElement(i.createSVGIconElement(),"styles",t)}}},{key:"createInnerElement",value:function(t,n,a){return Oe.createSpecificStateElement(this.elementRef,n,a)||t}},{key:"addClickEvent",value:function(){this.elementRef.onclick=this._menu.toggle.bind(this._menu)}},{key:"addItem",value:function(t){this._menu.addItem(t)}},{key:"addContainerEvents",value:function(t){var n=this;t.addEventListener("click",function(a){a.target.classList.contains("dropup-icon")||n._menu.close()})}}],[{key:"createButtonElement",value:function(){var t=document.createElement("div");return t.classList.add("input-button"),t}},{key:"createSVGIconElement",value:function(){return ue.createSVGElement(Io)}},{key:"createButtonContainer",value:function(){var t=document.createElement("div");return t.id="dropup-container",t}},{key:"getPosition",value:function(t,n){var a,s;return(a=n==null?void 0:n.button)!=null&&a.position?(s=n==null?void 0:n.button)==null?void 0:s.position:t["outside-left"].length>0&&t["outside-right"].length===0?"outside-right":"outside-left"}}])}(lt),Oo=function(){function r(){g(this,r)}return y(r,null,[{key:"addToDropup",value:function(e,t,n,a){var s=new mr(n,a);pr.forEach(function(l){var u=t["dropup-menu"].findIndex(function(d){return d.buttonType===l}),c=t["dropup-menu"][u];c&&(s.addItem(c.button),t["dropup-menu"].splice(u,1))});var o=mr.getPosition(t,a);Mt.addButton(e,s.buttonContainer,o),t[o].push({})}},{key:"addToSideContainer",value:function(e,t){["inside-left","inside-right","outside-left","outside-right"].forEach(function(n){var a=n;t[a].forEach(function(s){Mt.addButton(e,s.button.elementRef,a)})})}},{key:"setPosition",value:function(e,t,n){var a=V(V({},e[t]),{},{buttonType:t});n.push(a),delete e[t]}},{key:"createPositionsObj",value:function(){return{"dropup-menu":[],"outside-left":[],"inside-left":[],"inside-right":[],"outside-right":[]}}},{key:"generatePositions",value:function(e){var t=r.createPositionsObj();Object.keys(e).forEach(function(a){var s,o=(s=e[a])==null?void 0:s.button.position;o&&r.setPosition(e,a,t[o])}),t["inside-right"].length===0&&e.submit&&r.setPosition(e,"submit",t["inside-right"]),t["outside-right"].length===0&&(e.submit?r.setPosition(e,"submit",t["outside-right"]):e.microphone?r.setPosition(e,"microphone",t["outside-right"]):e.camera&&r.setPosition(e,"camera",t["outside-right"])),e.submit&&r.setPosition(e,"submit",t["outside-left"].length===0?t["outside-left"]:t["inside-right"]),e.microphone&&r.setPosition(e,"microphone",t["outside-left"].length===0?t["outside-left"]:t["inside-right"]);var n=Object.keys(e);return n.length>1||t["dropup-menu"].length>0?pr.forEach(function(a){e[a]&&t["dropup-menu"].push(V(V({},e[a]),{},{buttonType:a}))}):n.length===1&&r.setPosition(e,n[0],t["outside-right"].length===0?t["outside-right"]:t["outside-left"]),t}},{key:"addButtons",value:function(e,t,n,a){var s=r.generatePositions(t);return r.addToSideContainer(e,s),s["dropup-menu"].length>0&&r.addToDropup(e,s,n,a),s}}])}(),Po=` file `,No=` `,Do=` `,Fo=` `,Bo={images:{id:"upload-images-icon",svgString:No,dropupText:"Image"},gifs:{id:"upload-gifs-icon",svgString:Fo,dropupText:"GIF"},audio:{id:"upload-audio-icon",svgString:Do,dropupText:"Audio"},mixedFiles:{id:"upload-mixed-files-icon",svgString:Po,dropupText:"File"}},Uo=` `,fe=function(){function r(){g(this,r)}return y(r,null,[{key:"addAttributes",value:function(e){e.role="button",e.setAttribute("tabindex","0")}},{key:"addAriaBusy",value:function(e){e.setAttribute("aria-busy","true")}},{key:"removeAriaBusy",value:function(e){e.removeAttribute("aria-busy")}},{key:"addAriaDisabled",value:function(e){e.setAttribute("aria-disabled","true")}},{key:"removeAriaDisabled",value:function(e){e.removeAttribute("aria-disabled")}},{key:"removeAriaAttributes",value:function(e){r.removeAriaBusy(e),r.removeAriaDisabled(e)}}])}(),ba=function(r){function i(e){var t;return g(this,i),(e==null?void 0:e.position)==="dropup-menu"&&(e.position="outside-right"),t=O(this,i,[i.createMicrophoneElement(),e==null?void 0:e.position,e]),t.isActive=!1,t._innerElements=t.createInnerElements(t._customStyles),t.changeToDefault(),t}return P(i,r),y(i,[{key:"createInnerElements",value:function(t){var n=i.createSVGIconElement();return{default:this.createInnerElement(n,"default",t),active:this.createInnerElement(n,"active",t),unsupported:this.createInnerElement(n,"unsupported",t),commandMode:this.createInnerElement(n,"commandMode",t)}}},{key:"createInnerElement",value:function(t,n,a){return Oe.createSpecificStateElement(this.elementRef,n,a)||t}},{key:"changeToActive",value:function(){this.elementRef.replaceChildren(this._innerElements.active),this.toggleIconFilter("active"),this.reapplyStateStyle("active",["default","commandMode"]),this.isActive=!0}},{key:"changeToDefault",value:function(){this.elementRef.replaceChildren(this._innerElements.default),this.toggleIconFilter("default"),this.reapplyStateStyle("default",["active","commandMode"]),this.isActive=!1}},{key:"changeToCommandMode",value:function(){this.elementRef.replaceChildren(this._innerElements.unsupported),this.toggleIconFilter("command"),this.reapplyStateStyle("commandMode",["active"])}},{key:"changeToUnsupported",value:function(){this.elementRef.replaceChildren(this._innerElements.unsupported),this.elementRef.classList.add("unsupported-microphone"),this.reapplyStateStyle("unsupported",["active"])}},{key:"toggleIconFilter",value:function(t){var n=this.elementRef.children[0];if(n.tagName.toLocaleLowerCase()==="svg")switch(t){case"default":n.classList.remove("active-microphone-icon","command-microphone-icon"),n.classList.add("default-microphone-icon");break;case"active":n.classList.remove("default-microphone-icon","command-microphone-icon"),n.classList.add("active-microphone-icon");break;case"command":n.classList.remove("active-microphone-icon","default-microphone-icon"),n.classList.add("command-microphone-icon");break}}}],[{key:"createMicrophoneElement",value:function(){var t=document.createElement("div");return t.id="microphone-button",t.classList.add("input-button"),fe.addAttributes(t),t}},{key:"createSVGIconElement",value:function(){var t=ue.createSVGElement(Uo);return t.id="microphone-icon",t}}])}(lt),ka={},Pt={},Nt={},ut={},je={};Object.defineProperty(je,"__esModule",{value:!0});je.Text=void 0;var Dt=function(){function r(){g(this,r)}return y(r,null,[{key:"capitalize",value:function(e){return e.replace(r.FIRST_CHAR_REGEX,function(t){return t.toUpperCase()})}},{key:"lineBreak",value:function(e){return e.replace(r.DOUBLE_LINE,"

    ").replace(r.ONE_LINE,"
    ")}},{key:"isCharDefined",value:function(e){return e!==void 0&&e!==" "&&e!==" "&&e!==` `&&e!==""}},{key:"breakupIntoWordsArr",value:function(e){return e.split(/(\W+)/)}}])}();je.Text=Dt;Dt.FIRST_CHAR_REGEX=/\S/;Dt.DOUBLE_LINE=/\n\n/g;Dt.ONE_LINE=/\n/g;Object.defineProperty(ut,"__esModule",{value:!0});ut.Translate=void 0;var jo=je,Ho=function(){function r(){g(this,r)}return y(r,null,[{key:"translate",value:function(e,t){for(var n=jo.Text.breakupIntoWordsArr(e),a=0;ae.clientHeight||e.scrollWidth>e.clientWidth}},{key:"isRequired",value:function(e,t){return e&&r.isElementOverflown(t)}}])}();ht.AutoScroll=Vo;var He={};Object.defineProperty(He,"__esModule",{value:!0});He.Elements=void 0;var Go=function(){function r(){g(this,r)}return y(r,null,[{key:"isPrimitiveElement",value:function(e){return e.tagName==="INPUT"||e.tagName==="TEXTAREA"}},{key:"createInterimSpan",value:function(){var e=document.createElement("span");return e.style.color="grey",e.style.pointerEvents="none",e}},{key:"createGenericSpan",value:function(){var e=document.createElement("span");return e.style.pointerEvents="none",e}},{key:"appendSpans",value:function(e,t){if(e.spansPopulated=!0,e.insertInCursorLocation&&document.activeElement===t){var n=window.getSelection();if(n!=null&&n.focusNode){var a=n.getRangeAt(0);a.insertNode(e.scrollingSpan),a.insertNode(e.interimSpan),a.insertNode(e.finalSpan),a.collapse(!1),n.removeAllRanges(),n.addRange(a);return}}t.appendChild(e.finalSpan),t.appendChild(e.interimSpan),t.appendChild(e.scrollingSpan)}},{key:"applyCustomColors",value:function(e,t){t.interim&&(e.interimSpan.style.color=t.interim),t.final&&(e.finalSpan.style.color=t.final)}},{key:"isInsideShadowDOM",value:function(e){return e.getRootNode()instanceof ShadowRoot}}])}();He.Elements=Go;var qe={};Object.defineProperty(qe,"__esModule",{value:!0});qe.Cursor=void 0;var $o=function(){function r(){g(this,r)}return y(r,null,[{key:"setOffsetForGeneric",value:function(e,t){for(var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=0,s=0;s0){var l=r.setOffsetForGeneric(o,t,n);if(l===-1)return-1;n+=l}else if(o.textContent!==null){if(n+o.textContent.length>t){var u=document.createRange();u.setStart(o,t-n),u.collapse(!0);var c=window.getSelection();return c==null||c.removeAllRanges(),c==null||c.addRange(u),e.focus(),-1}n+=o.textContent.length,a+=o.textContent.length}}return a}},{key:"focusEndOfGeneric",value:function(e){var t=document.createRange();t.selectNodeContents(e),t.collapse(!1);var n=window.getSelection();n&&(n.removeAllRanges(),n.addRange(t))}},{key:"setOffsetForSafariGeneric",value:function(e,t){var n=window.getSelection();if(n){var a=r.getGenericElementCursorOffset(e,n,!0);console.log(a),setTimeout(function(){},100),r.setOffsetForGeneric(e,a+t)}}},{key:"setOffsetForPrimitive",value:function(e,t,n){n&&e.blur(),e.setSelectionRange(t,t),e.focus()}},{key:"getGenericElementCursorOffset",value:function(e,t,n){var a=0;if(t.rangeCount>0){var s=t.getRangeAt(0),o=s.cloneRange();o.selectNodeContents(e),n?o.setEnd(s.startContainer,s.startOffset):o.setEnd(s.endContainer,s.endOffset),a=o.toString().length}return a}}])}();qe.Cursor=$o;Object.defineProperty(dt,"__esModule",{value:!0});dt.CommandUtils=void 0;var gr=ht,Wo=He,Ko=Je,yr=qe,br=je,Jo=function(){function r(){g(this,r)}return y(r,null,[{key:"processCommand",value:function(e,t){return(!t||!t.caseSensitive)&&(e=e.toLowerCase()),(t==null?void 0:t.substrings)===!1?br.Text.breakupIntoWordsArr(e):e}},{key:"process",value:function(e){var t;return((t=e.settings)===null||t===void 0?void 0:t.caseSensitive)===!0?e:Object.keys(e).reduce(function(n,a){var s=e[a];return n[a]=typeof s=="string"?r.processCommand(s,e.settings):s,n},{})}},{key:"toggleCommandModeOn",value:function(e){var t;e.isWaitingForCommand=!0,(t=e.onCommandModeTrigger)===null||t===void 0||t.call(e,!0)}},{key:"toggleCommandModeOff",value:function(e){var t;e.isWaitingForCommand&&((t=e.onCommandModeTrigger)===null||t===void 0||t.call(e,!1),e.isWaitingForCommand=!1)}},{key:"setText",value:function(e,t,n,a){r.toggleCommandModeOff(e),Wo.Elements.isPrimitiveElement(a)?(a.value=n,e.isTargetInShadow||yr.Cursor.setOffsetForPrimitive(a,n.length,!0),Ko.Browser.IS_SAFARI()&&e.autoScroll&&gr.AutoScroll.scrollSafariPrimitiveToEnd(a)):(a.textContent=n,e.isTargetInShadow||yr.Cursor.focusEndOfGeneric(a),setTimeout(function(){return gr.AutoScroll.scrollGeneric(e,a)})),e.resetRecording(t)}},{key:"checkIfMatchesSubstring",value:function(e,t){return t.includes(e)}},{key:"checkIfMatchesWord",value:function(e,t,n){for(var a=e,s=n.length-1;s>=0;s-=1){for(var o=s,l=a.length-1;n[o]===a[l]&&l>=0;)o-=1,l-=1;if(l<0)return!0}return!1}},{key:"execCommand",value:function(e,t,n,a,s){var o,l,u,c=e.commands;if(!(!c||!a||!n)){var d=((o=c.settings)===null||o===void 0?void 0:o.caseSensitive)===!0?t:t.toLowerCase(),h=br.Text.breakupIntoWordsArr(d),p=((l=c.settings)===null||l===void 0?void 0:l.substrings)===!1?r.checkIfMatchesWord:r.checkIfMatchesSubstring;if(c.commandMode&&p(c.commandMode,d,h))return e.setInterimColorToFinal(),setTimeout(function(){return r.toggleCommandModeOn(e)}),{doNotProcessTranscription:!1};if(!(c.commandMode&&!e.isWaitingForCommand)){if(c.stop&&p(c.stop,d,h))return r.toggleCommandModeOff(e),setTimeout(function(){return e.stop()}),{doNotProcessTranscription:!1};if(c.pause&&p(c.pause,d,h))return r.toggleCommandModeOff(e),e.setInterimColorToFinal(),setTimeout(function(){var m;e.isPaused=!0,(m=e.onPauseTrigger)===null||m===void 0||m.call(e,!0)}),{doNotProcessTranscription:!1};if(c.resume&&p(c.resume,d,h))return e.isPaused=!1,(u=e.onPauseTrigger)===null||u===void 0||u.call(e,!1),r.toggleCommandModeOff(e),e.resetRecording(n),{doNotProcessTranscription:!0};if(c.reset&&p(c.reset,d,h))return s!==void 0&&r.setText(e,n,s,a),{doNotProcessTranscription:!0};if(c.removeAllText&&p(c.removeAllText,d,h))return r.setText(e,n,"",a),{doNotProcessTranscription:!0}}}}}])}();dt.CommandUtils=Jo;var Ut={};Object.defineProperty(Ut,"__esModule",{value:!0});Ut.Highlight=void 0;var Yo=He,Ye=qe,Zo=function(){function r(){g(this,r)}return y(r,null,[{key:"setStateForPrimitive",value:function(e,t){var n,a;t.selectionStart!==null&&(n=t.selectionStart),t.selectionEnd!==null&&(a=t.selectionEnd),e.isHighlighted=n!==a}},{key:"setStateForGeneric",value:function(e,t){var n=window.getSelection();if(n!=null&&n.focusNode){var a=Ye.Cursor.getGenericElementCursorOffset(t,n,!0),s=Ye.Cursor.getGenericElementCursorOffset(t,n,!1);e.isHighlighted=a!==s}}},{key:"setState",value:function(e,t){document.activeElement===t&&(Yo.Elements.isPrimitiveElement(t)?r.setStateForPrimitive(e,t):r.setStateForGeneric(e,t))}},{key:"removeForGeneric",value:function(e,t){var n=window.getSelection();if(n){var a=Ye.Cursor.getGenericElementCursorOffset(t,n,!0);n.deleteFromDocument(),Ye.Cursor.setOffsetForGeneric(t,a),e.isHighlighted=!1}}},{key:"removeForPrimitive",value:function(e,t){var n=t.selectionStart,a=t.selectionEnd,s=t.value;if(n&&a){var o=s.substring(0,n)+s.substring(a);t.value=o,Ye.Cursor.setOffsetForPrimitive(t,n,e.autoScroll)}e.isHighlighted=!1}}])}();Ut.Highlight=Zo;var jt={};Object.defineProperty(jt,"__esModule",{value:!0});jt.Padding=void 0;var Xo=He,kr=qe,Ve=je,Qo=function(){function r(){g(this,r)}return y(r,null,[{key:"setStateForPrimitiveElement",value:function(e,t){if(document.activeElement===t&&t.selectionStart!==null){var n=t.selectionStart,a=t.value[n-1],s=t.selectionEnd===null?n:t.selectionEnd,o=t.value[s];Ve.Text.isCharDefined(a)&&(e.startPadding=" ",e.numberOfSpacesBeforeNewText=1),Ve.Text.isCharDefined(o)&&(e.endPadding=" ",e.numberOfSpacesAfterNewText=1),e.isCursorAtEnd=t.value.length===s;return}var l=t.value[t.value.length-1];Ve.Text.isCharDefined(l)&&(e.startPadding=" ",e.numberOfSpacesBeforeNewText=1),e.isCursorAtEnd=!0}},{key:"setStateForGenericElement",value:function(e,t){var n,a,s;if(document.activeElement===t){var o=window.getSelection();if(o!=null&&o.focusNode){var l=kr.Cursor.getGenericElementCursorOffset(t,o,!0),u=(n=t.textContent)===null||n===void 0?void 0:n[l-1],c=kr.Cursor.getGenericElementCursorOffset(t,o,!1),d=(a=t.textContent)===null||a===void 0?void 0:a[c];Ve.Text.isCharDefined(u)&&(e.startPadding=" "),Ve.Text.isCharDefined(d)&&(e.endPadding=" "),e.isCursorAtEnd=((s=t.textContent)===null||s===void 0?void 0:s.length)===c;return}}var h=t.innerText.charAt(t.innerText.length-1);Ve.Text.isCharDefined(h)&&(e.startPadding=" "),e.isCursorAtEnd=!0}},{key:"setState",value:function(e,t){Xo.Elements.isPrimitiveElement(t)?r.setStateForPrimitiveElement(e,t):r.setStateForGenericElement(e,t)}},{key:"adjustStateAfterRecodingPrimitiveElement",value:function(e,t){if(e.primitiveTextRecorded=!0,e.insertInCursorLocation&&document.activeElement===t&&(t.selectionEnd!==null&&(e.endPadding=e.endPadding+t.value.slice(t.selectionEnd)),t.selectionStart!==null)){e.startPadding=t.value.slice(0,t.selectionStart)+e.startPadding;return}e.startPadding=t.value+e.startPadding}},{key:"adjustSateForNoTextPrimitiveElement",value:function(e){e.numberOfSpacesBeforeNewText===1&&(e.startPadding=e.startPadding.substring(0,e.startPadding.length-1),e.numberOfSpacesBeforeNewText=0),e.numberOfSpacesAfterNewText===1&&(e.endPadding=e.endPadding.substring(1),e.numberOfSpacesAfterNewText=0)}}])}();jt.Padding=Qo;Object.defineProperty(ct,"__esModule",{value:!0});ct.Speech=void 0;var Sr=Ft,el=Bt,_r=dt,gt=ht,nn=Ut,me=He,rn=jt,Er=Je,wr=qe,an=je,tl=function(){function r(){g(this,r),this.finalTranscript="",this.interimSpan=me.Elements.createInterimSpan(),this.finalSpan=me.Elements.createGenericSpan(),this.scrollingSpan=me.Elements.createGenericSpan(),this.isCursorAtEnd=!1,this.spansPopulated=!1,this.startPadding="",this.endPadding="",this.numberOfSpacesBeforeNewText=0,this.numberOfSpacesAfterNewText=0,this.isHighlighted=!1,this.primitiveTextRecorded=!1,this.recognizing=!1,this._displayInterimResults=!0,this.insertInCursorLocation=!0,this.autoScroll=!0,this.isRestarting=!1,this.isPaused=!1,this.isWaitingForCommand=!1,this.isTargetInShadow=!1,this.cannotBeStopped=!1,this.resetState()}return y(r,[{key:"prepareBeforeStart",value:function(e){var t,n;if(e!=null&&e.element)if(Sr.EventListeners.add(this,e),Array.isArray(e.element)){var a=e.element.find(function(s){return s===document.activeElement})||e.element[0];if(!a)return;this.prepare(a)}else this.prepare(e.element);(e==null?void 0:e.displayInterimResults)!==void 0&&(this._displayInterimResults=e.displayInterimResults),e!=null&&e.textColor&&(this._finalTextColor=(t=e==null?void 0:e.textColor)===null||t===void 0?void 0:t.final,me.Elements.applyCustomColors(this,e.textColor)),(e==null?void 0:e.insertInCursorLocation)!==void 0&&(this.insertInCursorLocation=e.insertInCursorLocation),(e==null?void 0:e.autoScroll)!==void 0&&(this.autoScroll=e.autoScroll),this._onResult=e==null?void 0:e.onResult,this._onPreResult=e==null?void 0:e.onPreResult,this._onStart=e==null?void 0:e.onStart,this._onStop=e==null?void 0:e.onStop,this._onError=e==null?void 0:e.onError,this.onCommandModeTrigger=e==null?void 0:e.onCommandModeTrigger,this.onPauseTrigger=e==null?void 0:e.onPauseTrigger,this._options=e,!((n=this._options)===null||n===void 0)&&n.commands&&(this.commands=_r.CommandUtils.process(this._options.commands))}},{key:"prepare",value:function(e){rn.Padding.setState(this,e),nn.Highlight.setState(this,e),this.isTargetInShadow=me.Elements.isInsideShadowDOM(e),me.Elements.isPrimitiveElement(e)?(this._primitiveElement=e,this._originalText=this._primitiveElement.value):(this._genericElement=e,this._originalText=this._genericElement.textContent)}},{key:"resetRecording",value:function(e){this.isRestarting=!0,this.stop(!0),this.resetState(!0),this.start(e,!0)}},{key:"updateElements",value:function(e,t,n){var a,s=an.Text.capitalize(t);if(!(this.finalTranscript===s&&e==="")){el.PreResultUtils.process(this,n,e==="",this._onPreResult,this._options)&&(e="",n="");var o=this.commands&&_r.CommandUtils.execCommand(this,n,this._options,this._primitiveElement||this._genericElement,this._originalText);if(o){if(o.doNotProcessTranscription)return;e="",n=""}if(!(this.isPaused||this.isWaitingForCommand)){(a=this._onResult)===null||a===void 0||a.call(this,n,e===""),this.finalTranscript=s,this._displayInterimResults||(e="");var l=this.finalTranscript===""&&e==="";this._primitiveElement?this.updatePrimitiveElement(this._primitiveElement,e,l):this._genericElement&&this.updateGenericElement(this._genericElement,e,l)}}}},{key:"updatePrimitiveElement",value:function(e,t,n){this.isHighlighted&&nn.Highlight.removeForPrimitive(this,e),this.primitiveTextRecorded||rn.Padding.adjustStateAfterRecodingPrimitiveElement(this,e),n&&rn.Padding.adjustSateForNoTextPrimitiveElement(this);var a=this.startPadding+this.finalTranscript+t;if(e.value=a+this.endPadding,!this.isTargetInShadow){var s=a.length+this.numberOfSpacesAfterNewText;wr.Cursor.setOffsetForPrimitive(e,s,this.autoScroll)}this.autoScroll&&Er.Browser.IS_SAFARI()&&this.isCursorAtEnd&>.AutoScroll.scrollSafariPrimitiveToEnd(e)}},{key:"updateGenericElement",value:function(e,t,n){this.isHighlighted&&nn.Highlight.removeForGeneric(this,e),this.spansPopulated||me.Elements.appendSpans(this,e);var a=(n?"":this.startPadding)+an.Text.lineBreak(this.finalTranscript);this.finalSpan.innerHTML=a;var s=gt.AutoScroll.isRequired(this.autoScroll,e);gt.AutoScroll.changeStateIfNeeded(this,s);var o=an.Text.lineBreak(t)+(n?"":this.endPadding);this.interimSpan.innerHTML=o,Er.Browser.IS_SAFARI()&&this.insertInCursorLocation&&wr.Cursor.setOffsetForSafariGeneric(e,a.length+o.length),s&>.AutoScroll.scrollGeneric(this,e),n&&(this.scrollingSpan.innerHTML="")}},{key:"finalise",value:function(e){this._genericElement&&(e?(this.finalSpan=me.Elements.createGenericSpan(),this.setInterimColorToFinal(),this.interimSpan=me.Elements.createInterimSpan(),this.scrollingSpan=me.Elements.createGenericSpan()):this._genericElement.textContent=this._genericElement.textContent,this.spansPopulated=!1),Sr.EventListeners.remove(this)}},{key:"setInterimColorToFinal",value:function(){this.interimSpan.style.color=this._finalTextColor||"black"}},{key:"resetState",value:function(e){this._primitiveElement=void 0,this._genericElement=void 0,this.finalTranscript="",this.finalSpan.innerHTML="",this.interimSpan.innerHTML="",this.scrollingSpan.innerHTML="",this.startPadding="",this.endPadding="",this.isHighlighted=!1,this.primitiveTextRecorded=!1,this.numberOfSpacesBeforeNewText=0,this.numberOfSpacesAfterNewText=0,e||(this.stopTimeout=void 0)}},{key:"setStateOnStart",value:function(){var e;this.recognizing=!0,this.isRestarting?this.isRestarting=!1:(e=this._onStart)===null||e===void 0||e.call(this)}},{key:"setStateOnStop",value:function(){var e;this.recognizing=!1,this.isRestarting||(e=this._onStop)===null||e===void 0||e.call(this)}},{key:"setStateOnError",value:function(e){var t;(t=this._onError)===null||t===void 0||t.call(this,e),this.recognizing=!1}}])}();ct.Speech=tl;Object.defineProperty(Pt,"__esModule",{value:!0});Pt.WebSpeech=void 0;var Cr=Nt,Tr=Je,nl=ct,rl=function(r){function i(){return g(this,i),O(this,i)}return P(i,r),y(i,[{key:"start",value:function(t){var n;this._extractText===void 0&&(this._extractText=Tr.Browser.IS_SAFARI()?Cr.WebSpeechTranscript.extractSafari:Cr.WebSpeechTranscript.extract),this.validate()&&(this.prepareBeforeStart(t),this.instantiateService(t),(n=this._service)===null||n===void 0||n.start(),this._translations=t==null?void 0:t.translations)}},{key:"validate",value:function(){return i.getAPI()?!0:(this.error("Speech Recognition is unsupported"),!1)}},{key:"instantiateService",value:function(t){var n,a,s=i.getAPI();this._service=new s,this._service.continuous=!0,this._service.interimResults=(n=t==null?void 0:t.displayInterimResults)!==null&&n!==void 0?n:!0,this._service.lang=((a=t==null?void 0:t.language)===null||a===void 0?void 0:a.trim())||"en-US",this.setEvents()}},{key:"setEvents",value:function(){var t=this;this._service&&(this._service.onstart=function(){t.setStateOnStart()},this._service.onerror=function(n){Tr.Browser.IS_SAFARI()&&n.message==="Another request is started"||n.error==="aborted"&&t.isRestarting||n.error!=="no-speech"&&t.error(n.message||n.error)},this._service.onaudioend=function(){t.setStateOnStop()},this._service.onend=function(){t._stopping=!1},this._service.onresult=function(n){if(I(n.results)>"u"&&t._service)t._service.onend=null,t._service.stop();else if(t._extractText&&!t._stopping){var a=t._extractText(n,t.finalTranscript,t._translations),s=a.interimTranscript,o=a.finalTranscript,l=a.newText;t.updateElements(s,o,l)}})}},{key:"stop",value:function(t){var n;this._stopping=!0,(n=this._service)===null||n===void 0||n.stop(),this.finalise(t)}},{key:"error",value:function(t){console.error(t),this.setStateOnError(t),this.stop()}}],[{key:"getAPI",value:function(){return window.webkitSpeechRecognition||window.SpeechRecognition}}])}(nl.Speech);Pt.WebSpeech=rl;var Ht={};Object.defineProperty(Ht,"__esModule",{value:!0});Ht.GlobalState=void 0;var _a=function(){function r(){g(this,r)}return y(r,null,[{key:"doubleClickDetector",value:function(){return r.doubleClickPending?!0:(r.doubleClickPending=!0,setTimeout(function(){r.doubleClickPending=!1},300),!1)}}])}();Ht.GlobalState=_a;_a.doubleClickPending=!1;var qt={},zt={};Object.defineProperty(zt,"__esModule",{value:!0});zt.PreventConnectionStop=void 0;var al=function(){function r(){g(this,r)}return y(r,null,[{key:"applyPrevention",value:function(e){clearTimeout(e._manualConnectionStopPrevention),e.cannotBeStopped=!0,e._manualConnectionStopPrevention=setTimeout(function(){e.cannotBeStopped=!1},800)}},{key:"clearPrevention",value:function(e){clearTimeout(e._manualConnectionStopPrevention),e.cannotBeStopped=!1}}])}();zt.PreventConnectionStop=al;var Vt={},Gt={};Object.defineProperty(Gt,"__esModule",{value:!0});Gt.README_URL=void 0;Gt.README_URL="https://github.com/OvidijusParsiunas/speech-to-element";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.AzureSpeechConfig=void 0;var sn=Gt,il=function(){function r(){g(this,r)}return y(r,null,[{key:"validateOptions",value:function(e,t){return t?!t.subscriptionKey&&!t.token&&!t.retrieveToken?(e("Please define a 'subscriptionKey', 'token' or 'retrieveToken' property - more info: ".concat(sn.README_URL)),!1):t.region?!0:(e("Please define a 'region' property - more info: ".concat(sn.README_URL)),!1):(e("Please provide subscription details - more info: ".concat(sn.README_URL)),!1)}},{key:"getNewSpeechConfig",value:function(){var i=k(f().mark(function t(n,a){return f().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!a.region){o.next=2;break}return o.abrupt("return",a.subscriptionKey?n.fromSubscription(a.subscriptionKey.trim(),a.region.trim()):a.token?n.fromAuthorizationToken(a.token.trim(),a.region.trim()):a.retrieveToken?a.retrieveToken().then(function(l){return a.region?n.fromAuthorizationToken((l==null?void 0:l.trim())||"",a.region.trim()):null}).catch(function(l){return console.error(l),null}):null);case 2:case"end":return o.stop()}},t)}));function e(t,n){return i.apply(this,arguments)}return e}()},{key:"process",value:function(e,t){t.language&&(e.speechRecognitionLanguage=t.language.trim())}},{key:"get",value:function(){var i=k(f().mark(function t(n,a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:return l.next=2,r.getNewSpeechConfig(n,a);case 2:return s=l.sent,l.abrupt("return",(s&&r.process(s,a),s));case 4:case"end":return l.stop()}},t)}));function e(t,n){return i.apply(this,arguments)}return e}()}])}();Vt.AzureSpeechConfig=il;var $t={};Object.defineProperty($t,"__esModule",{value:!0});$t.StopTimeout=void 0;var Ea=function(){function r(){g(this,r)}return y(r,null,[{key:"set",value:function(e){e.stopTimeout=setTimeout(function(){return e.stop()},e.stopTimeoutMS)}},{key:"reset",value:function(e,t){e.stopTimeoutMS=t||r.DEFAULT_MS,e.stopTimeout&&clearTimeout(e.stopTimeout),r.set(e)}}])}();$t.StopTimeout=Ea;Ea.DEFAULT_MS=2e4;var Wt={};Object.defineProperty(Wt,"__esModule",{value:!0});Wt.AzureTranscript=void 0;var sl=ut,ol=function(){function r(){g(this,r)}return y(r,null,[{key:"extract",value:function(e,t,n,a){return a&&(e=sl.Translate.translate(e,a)),n?{interimTranscript:"",finalTranscript:t+e,newText:e}:{interimTranscript:e,finalTranscript:t,newText:e}}}])}();Wt.AzureTranscript=ol;Object.defineProperty(qt,"__esModule",{value:!0});qt.Azure=void 0;var Ar=zt,xr=Vt,on=$t,Mr=Wt,ll=ct,ul=function(r){function i(){var e;return g(this,i),e=O(this,i,arguments),e._newTextPadding="",e}return P(i,r),y(i,[{key:"start",value:function(t,n){this._newTextPadding="",this.stopTimeout===void 0&&on.StopTimeout.reset(this,t==null?void 0:t.stopAfterSilenceMs),this.prepareBeforeStart(t),this.startAsync(t),n||Ar.PreventConnectionStop.applyPrevention(this)}},{key:"startAsync",value:function(){var e=k(f().mark(function n(a){var s;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(l.t0=this.validate(a),!l.t0){l.next=6;break}return l.next=4,this.instantiateService(a);case 4:this._translations=a==null?void 0:a.translations,(s=this._service)===null||s===void 0||s.startContinuousRecognitionAsync(function(){},this.error);case 6:case"end":return l.stop()}},n,this)}));function t(n){return e.apply(this,arguments)}return t}()},{key:"validate",value:function(t){return i.getAPI()?xr.AzureSpeechConfig.validateOptions(this.error.bind(this),t):(this.moduleNotFound(),!1)}},{key:"instantiateService",value:function(){var e=k(f().mark(function n(a){var s,o,l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return s=i.getAPI(),o=s.AudioConfig.fromDefaultMicrophoneInput(),d.next=4,xr.AzureSpeechConfig.get(s.SpeechConfig,a);case 4:l=d.sent,l?(u=new s.SpeechRecognizer(l,o),this.setEvents(u),this._service=u,a.retrieveToken&&this.retrieveTokenInterval(a.retrieveToken)):this.error("Unable to contact Azure server");case 6:case"end":return d.stop()}},n,this)}));function t(n){return e.apply(this,arguments)}return t}()},{key:"setEvents",value:function(t){t.recognizing=this.onRecognizing.bind(this),t.recognized=this.onRecognized.bind(this),t.sessionStarted=this.onSessionStarted.bind(this),t.canceled=this.onCanceled.bind(this),t.sessionStopped=this.onSessionStopped.bind(this)}},{key:"onRecognizing",value:function(t,n){if(!this._stopping){var a=Mr.AzureTranscript.extract(this._newTextPadding+n.result.text,this.finalTranscript,!1,this._translations),s=a.interimTranscript,o=a.finalTranscript,l=a.newText;on.StopTimeout.reset(this,this.stopTimeoutMS),this.updateElements(s,o,l)}}},{key:"onRecognized",value:function(t,n){var a=n.result;switch(a.reason){case window.SpeechSDK.ResultReason.Canceled:break;case window.SpeechSDK.ResultReason.RecognizedSpeech:if(a.text&&!this._stopping){var s=Mr.AzureTranscript.extract(this._newTextPadding+a.text,this.finalTranscript,!0,this._translations),o=s.interimTranscript,l=s.finalTranscript,u=s.newText;on.StopTimeout.reset(this,this.stopTimeoutMS),this.updateElements(o,l,u),l!==""&&(this._newTextPadding=" ")}break}}},{key:"onCanceled",value:function(t,n){n.reason===window.SpeechSDK.CancellationReason.Error&&this.error(n.errorDetails)}},{key:"onSessionStarted",value:function(){Ar.PreventConnectionStop.clearPrevention(this),this.setStateOnStart()}},{key:"onSessionStopped",value:function(){this._retrieveTokenInterval||clearInterval(this._retrieveTokenInterval),this._stopping=!1,this.setStateOnStop()}},{key:"retrieveTokenInterval",value:function(t){var n=this;this._retrieveTokenInterval=setInterval(function(){t==null||t().then(function(a){n._service&&(n._service.authorizationToken=(a==null?void 0:a.trim())||"")}).catch(function(a){n.error(a)})},1e4)}},{key:"stop",value:function(t){var n;!t&&this._retrieveTokenInterval&&clearInterval(this._retrieveTokenInterval),this._stopping=!0,(n=this._service)===null||n===void 0||n.stopContinuousRecognitionAsync(),this.finalise(t)}},{key:"moduleNotFound",value:function(){console.error("speech recognition module not found:"),console.error(`please install the 'microsoft-cognitiveservices-speech-sdk' npm package or add a script tag: