Model loaded successfully and has been cached for future requests.
`.concat(a?"":' Export '),`
`)}}]),e}();ut.DOWNLOAD_BUTTON_CLASS="deep-chat-download-button";ut.UPLOAD_BUTTON_CLASS="deep-chat-upload-button";ut.FILE_INPUT_CLASS="deep-chat-file-input";ut.EXPORT_BUTTON_CLASS="deep-chat-export-button";var Cr=ut,Mr={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},Je=function(e){P(i,e);function i(t){var n;g(this,i);var r,a;return n=O(this,i,[t]),n._isModelLoaded=!1,n._isModelLoading=!1,n._loadOnFirstMessage=!1,n._webModel={},n.permittedErrorPrefixes=[i.MULTIPLE_MODELS_ERROR,i.WEB_LLM_NOT_FOUND_ERROR,i.GENERIC_ERROR],n._conversationHistory=[],R(t.webModel)=="object"&&(n._webModel=t.webModel),(r=n._webModel.load)!=null&&r.clearCache&&i.clearAllCache(),n.findModelInWindow(t),n.canSendMessage=n.canSubmit.bind(de(n)),n._chatEl=(a=t.shadowRoot)==null?void 0:a.children[0],t.initialMessages&&i.setUpHistory(n._conversationHistory,t.initialMessages),n}return y(i,[{key:"setUpMessages",value:function(n){var r=this;this._messages=n,this._removeIntro=function(){n.removeIntroductoryMessage(),r._removeIntro=void 0}}},{key:"findModelInWindow",value:function(n){var r=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,o;window.webLLM?this.configureInit(this.shouldAddInitialMessage(n.introMessage)):a>i.MODULE_SEARCH_LIMIT_S?((o=this._messages)==null||o.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 r.findModelInWindow(n,a+1)},1e3)}},{key:"shouldAddInitialMessage",value:function(n){var r;return!n&&this._webModel&&((r=this._webModel.introMessage)==null?void 0:r.displayed)!==!1}},{key:"scrollToTop",value:function(n){var r=this,a;((a=this._webModel.introMessage)==null?void 0:a.autoScroll)!==!1&&setTimeout(function(){var o,s;(o=r._messages)!=null&&o.elementRef&&he.scrollToTop((s=r._messages)==null?void 0:s.elementRef)},n)}},{key:"getIntroMessage",value:function(n){if(!(!this.shouldAddInitialMessage(n)||!this._chatEl)){var r=Cr.setUpInitial(this.init.bind(this),this._webModel.introMessage,this._chatEl,!!this._webModel.worker);return this.scrollToTop(1),{role:F.AI_ROLE,html:r,sendUpdate:!1}}}},{key:"configureInit",value:function(){var t=k(f().mark(function r(a){var o;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(o=this._webModel.load,!o){l.next=8;break}if(!o.onInit){l.next=5;break}return this.init(),l.abrupt("return");case 5:if(!o.onMessage){l.next=8;break}return this._loadOnFirstMessage=!0,l.abrupt("return");case 8:a||this.init();case 9:case"end":return l.stop()}},r,this)}));function n(r){return t.apply(this,arguments)}return n}()},{key:"init",value:function(){var t=k(f().mark(function r(a){var o,s;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if((o=this._messages)==null||o.removeError(),s=this.attemptToCreateChat(),u.t0=s,!u.t0){u.next=6;break}return u.next=6,this.loadModel(s,a);case 6:case"end":return u.stop()}},r,this)}));function n(r){return t.apply(this,arguments)}return n}()},{key:"attemptToCreateChat",value:function(){var n;if(i.chat){(n=this._messages)==null||n.addNewErrorMessage("service",i.MULTIPLE_MODELS_ERROR),console.error(i.MULTIPLE_MODELS_ERROR);return}if(!(this._isModelLoaded||this._isModelLoading)){var r=this._webModel.worker;return Mr.use_web_worker&&r?new window.webLLM.ChatWorkerClient(r):new window.webLLM.ChatModule}}},{key:"getConfig",value:function(){var n,r=i.DEFAULT_MODEL;this._webModel.model&&(r=this._webModel.model);var a=JSON.parse(JSON.stringify(Mr));if(this._webModel.urls){var o=a.model_list.find(function(s){return s.local_id=r});o&&(this._webModel.urls.model&&(o.model_url=this._webModel.urls.model),this._webModel.urls.wasm&&(o.model_lib_url=this._webModel.urls.wasm))}return(n=this._webModel.load)!=null&&n.skipCache&&(a.use_cache=!1),{model:r,appConfig:a}}},{key:"loadModel",value:function(){var t=k(f().mark(function r(a,o){var s=this,l,u,c,d,h,p,v,m,b,w,_,x,N,M,j;return f().wrap(function(H){for(;;)switch(H.prev=H.next){case 0:return this.scrollToTop(),i.chat=a,this._isModelLoading=!0,m=((l=this._webModel.introMessage)==null?void 0:l.displayed)===!1,b=function(te){var X;(X=s._messages)==null||X.addNewMessage({html:"".concat(te.text,"
"),overwrite:!0,sendUpdate:!1}),m&&(setTimeout(function(){var $;return he.scrollToBottom(($=s._messages)==null?void 0:$.elementRef)}),m=!1)},i.chat.setInitProgressCallback(b),H.prev=4,_=this.getConfig(),x=_.model,N=_.appConfig,M={},this._webModel.instruction&&(M.conv_config={system:this._webModel.instruction}),this._conversationHistory.length>0&&(M.conversation_history=this._conversationHistory),H.next=10,i.chat.reload(x,M,N,o);case 10:w=H.sent,H.next=16;break;case 13:return H.prev=13,H.t0=H.catch(4),H.abrupt("return",this.unloadChat(H.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():(v=this._removeIntro)==null||v.call(this):(j=Cr.setUpAfterLoad(w,this._webModel.introMessage,this._chatEl,!!this._webModel.worker),(h=this._messages)==null||h.addNewMessage({html:j,overwrite:!0,sendUpdate:!1})),this._isModelLoaded=!0,this._isModelLoading=!1;case 18:case"end":return H.stop()}},r,this,[[4,13]])}));function n(r,a){return t.apply(this,arguments)}return n}()},{key:"unloadChat",value:function(){var t=k(f().mark(function r(a){var o;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if((o=this._messages)==null||o.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()}},r,this)}));function n(r){return t.apply(this,arguments)}return n}()},{key:"immediateResp",value:function(){var t=k(f().mark(function r(a,o,s){var l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return d.next=2,s.generate(o,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()}},r,this)}));function n(r,a,o){return t.apply(this,arguments)}return n}()},{key:"streamResp",value:function(){var t=k(f().mark(function r(a,o,s){var l=this,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return this.streamHandlers.abortStream.abort=function(){s.interruptGenerate()},this.streamHandlers.onOpen(),u=new Pe(a),d.next=4,s.generate(o,function(){var h=k(f().mark(function p(v,m){var b;return f().wrap(function(_){for(;;)switch(_.prev=_.next){case 0:return _.next=2,i.processResponse(l.deepChat,a,{text:m});case 2:b=_.sent,b&&u.upsertStreamedMessage({text:b.text,overwrite:!0});case 4:case"end":return _.stop()}},p)}));return function(p,v){return h.apply(this,arguments)}}());case 4:u.finaliseStreamedMessage(),this.streamHandlers.onClose();case 6:case"end":return d.stop()}},r,this)}));function n(r,a,o){return t.apply(this,arguments)}return n}()},{key:"generateRespByType",value:function(){var t=k(f().mark(function r(a,o,s,l){var u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if(d.prev=0,!s){d.next=6;break}return d.next=4,this.streamResp(a,o,l);case 4:d.next=8;break;case 6:return d.next=8,this.immediateResp(a,o,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()}},r,this,[[0,10]])}));function n(r,a,o,s){return t.apply(this,arguments)}return n}()},{key:"generateResp",value:function(){var t=k(f().mark(function r(a,o,s){var l,u,c,d,h,p,v;return f().wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return l=o[o.length-1].text,b.next=3,B.processRequestInterceptor(this.deepChat,{body:{text:l}});case 3:u=b.sent,c=u.body,d=u.error,h=!!this.deepChat.stream;try{d?(B.displayError(a,new Error(d)),(h?this.streamHandlers.onClose:this.completionsHandlers.onFinish)()):!c||!c.text?(p=ee.INVALID_MODEL_REQUEST({body:c},!1),console.error(p),v=h?this.streamHandlers.onClose:this.completionsHandlers.onFinish,B.onInterceptorError(a,p,v)):this.generateRespByType(a,c.text,!!this.deepChat.stream,s)}catch(w){this.unloadChat(w)}case 8:case"end":return b.stop()}},r,this)}));function n(r,a,o){return t.apply(this,arguments)}return n}()},{key:"callServiceAPI",value:function(){var t=k(f().mark(function r(a,o){var s,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||((s=this._webModel.introMessage)!=null&&s.removeAfterMessage&&((l=this._removeIntro)==null||l.call(this)),a.addLoadingMessage(),this.generateResp(a,o,i.chat));case 8:case"end":return c.stop()}},r,this)}));function n(r,a){return t.apply(this,arguments)}return n}()},{key:"canSubmit",value:function(n){return!(n!=null&&n.trim())||this._isModelLoading?!1:this._loadOnFirstMessage?!0:!!this._isModelLoaded}},{key:"isWebModel",value:function(){return!0}}],[{key:"setUpHistory",value:function(n,r){r.forEach(function(a,o){if(a.role===F.USER_ROLE&&a.text){var s=r[o+1];s!=null&&s.text&&s.role!==F.USER_ROLE&&n.push([a.text,s.text])}})}},{key:"processResponse",value:function(){var t=k(f().mark(function r(a,o,s){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,s);case 2:if(h.t0=h.sent,h.t0){h.next=5;break}h.t0=s;case 5:if(u=h.t0,!u.error){h.next=11;break}return B.displayError(o,new Error(u.error)),h.abrupt("return");case 11:if(!(!u||!u.text)){h.next=15;break}return c=ee.INVALID_MODEL_RESPONSE(s,!!a.responseInterceptor,u),B.displayError(o,new Error(c)),h.abrupt("return");case 15:return h.abrupt("return",u);case 16:case"end":return h.stop()}},r)}));function n(r,a,o){return t.apply(this,arguments)}return n}()},{key:"clearAllCache",value:function(){i.clearCache("webllm/model"),i.clearCache("webllm/wasm")}},{key:"clearCache",value:function(n){caches.open(n).then(function(r){r.keys().then(function(a){a.forEach(function(o){r.delete(o)})})})}}]),i}(At);Je.GENERIC_ERROR="Error, please check the [troubleshooting](https://deepchat.dev/docs/webModel#troubleshooting) section of documentation for help.";Je.MULTIPLE_MODELS_ERROR="Cannot run multiple web models";Je.WEB_LLM_NOT_FOUND_ERROR="WebLLM module not found";Je.DEFAULT_MODEL="Llama-2-7b-chat-hf-q4f32_1";Je.MODULE_SEARCH_LIMIT_S=5;var Vn=Je,Ar=function(){function e(){g(this,e)}return y(e,null,[{key:"buildHeaders",value:function(t){return{Authorization:"Bearer ".concat(t),"Content-Type":"application/json"}}},{key:"handleVerificationResult",value:function(t,n,r,a){var o=t;Array.isArray(o.error)&&o.error[0]==="Error in `parameters`: field required"?r(n):a(ee.INVALID_KEY)}},{key:"buildKeyVerificationDetails",value:function(){return{url:"https://api-inference.huggingface.co/models/gpt2",method:"POST",handleVerificationResult:e.handleVerificationResult}}}]),e}(),Bi=function(e){P(i,e);function i(t,n,r,a,o,s){var l;return g(this,i),l=O(this,i,[t,Ar.buildKeyVerificationDetails(),Ar.buildHeaders,o,s]),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(r),l.textInputPlaceholderText=n,R(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 y(i,[{key:"preprocessBody",value:function(n,r,a){var o,s=JSON.parse(JSON.stringify(n)),l=r[r.length-1].text;if(l)return(o=s.options)!==null&&o!==void 0||(s.options={}),s.options.wait_for_model=!0,V({inputs:l},s)}},{key:"callServiceAPI",value:function(){var t=k(f().mark(function r(a,o,s){var l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(this.requestSettings){c.next=2;break}throw new Error("Request settings have not been set up");case 2:l=this.preprocessBody(this.rawBody,o,s),J.request(this,l,a);case 4:case"end":return c.stop()}},r,this)}));function n(r,a,o){return t.apply(this,arguments)}return n}()}]),i}(ce);Bi.URL_PREFIX="https://api-inference.huggingface.co/models/";var Ue=Bi,$n=function(e){P(i,e);function i(t,n,r,a,o,s){var l;return g(this,i),l=O(this,i,[t,n,r,a,o,s]),l.isTextInputDisabled=!0,l.canSendMessage=i.canSendFile,l}return y(i,[{key:"preprocessBody",value:function(n,r,a){return a[0]}},{key:"callServiceAPI",value:function(){var t=k(f().mark(function r(a,o,s){return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.requestSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:if(s!=null&&s[0]){u.next=4;break}throw new Error("No file was added");case 4:J.poll(this,s[0],a,!1);case 5:case"end":return u.stop()}},r,this)}));function n(r,a,o){return t.apply(this,arguments)}return n}()}],[{key:"canSendFile",value:function(n,r){return!!(r!=null&&r[0])}}]),i}(Ue),cu=function(e){P(i,e);function i(t){g(this,i);var n,r,a,o=(r=(n=t.directConnection)==null?void 0:n.huggingFace)==null?void 0:r.audioClassification,s=(a=t.directConnection)==null?void 0:a.huggingFace;return O(this,i,[t,"Attach an audio file","ehcalabres/wav2vec2-lg-xlsr-en-speech-emotion-recognition",o,s,{audio:{}}])}return y(i,[{key:"extractPollResultData",value:function(){var t=k(f().mark(function r(a){var o;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:((o=a[0])==null?void 0:o.label)||""});case 5:case"end":return l.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}]),i}($n),du=function(e){P(i,e);function i(t){g(this,i);var n,r,a,o=(r=(n=t.directConnection)==null?void 0:n.huggingFace)==null?void 0:r.imageClassification,s=(a=t.directConnection)==null?void 0:a.huggingFace;return O(this,i,[t,"Attach an image file","google/vit-base-patch16-224",o,s,{images:{}}])}return y(i,[{key:"extractPollResultData",value:function(){var t=k(f().mark(function r(a){var o;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:((o=a[0])==null?void 0:o.label)||""});case 5:case"end":return l.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}]),i}($n),ct="data:image/png;base64,",xe=function(){function e(){g(this,e)}return y(e,null,[{key:"buildHeaders",value:function(t){return{Authorization:"Bearer ".concat(t),"Content-Type":"application/json"}}},{key:"handleVerificationResult",value:function(t,n,r,a){t.message?a(ee.INVALID_KEY):r(n)}},{key:"buildKeyVerificationDetails",value:function(){return{url:"https://api.stability.ai/v1/engines/list",method:"GET",handleVerificationResult:e.handleVerificationResult}}}]),e}(),Dt=function(e){P(i,e);function i(t,n,r,a,o){var s;return g(this,i),s=O(this,i,[t,n,r,a,o]),s.insertKeyPlaceholderText="Stability AI API Key",s.keyHelpUrl="https://platform.stability.ai/docs/getting-started/authentication",s.permittedErrorPrefixes=["Incorrect","invalid_"],s}return y(i)}(ce),hu=function(e){P(i,e);function i(t){var n;g(this,i);var r,a=JSON.parse(JSON.stringify(t.directConnection)),o=a==null?void 0:a.stabilityAI,s={images:{files:{acceptedFormats:".png",maxNumberOfFiles:1}}};n=O(this,i,[t,xe.buildKeyVerificationDetails(),xe.buildHeaders,o,s]),n.url="https://api.stability.ai/v1/generation/esrgan-v1-x2plus/image-to-image/upscale",n.textInputPlaceholderText="Describe image changes",n.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=(r=a==null?void 0:a.stabilityAI)==null?void 0:r.imageToImageUpscale;return R(l)=="object"&&(l.engine_id&&(n.url="https://api.stability.ai/v1/generation/".concat(l.engine_id,"/image-to-image/upscale")),i.cleanConfig(l),Object.assign(n.rawBody,l)),n.canSendMessage=i.canSendFileMessage,n}return y(i,[{key:"createFormDataBody",value:function(n,r){var a=new FormData;return a.append("image",r),Object.keys(n).forEach(function(o){a.append(o,String(n[o]))}),a}},{key:"callServiceAPI",value:function(){var t=k(f().mark(function r(a,o,s){var l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(this.requestSettings){c.next=2;break}throw new Error("Request settings have not been set up");case 2:if(s){c.next=4;break}throw new Error("Image was not found");case 4:l=this.createFormDataBody(this.rawBody,s[0]),B.tempRemoveContentHeader(this.requestSettings,J.request.bind(this,this,l,a),!1);case 6:case"end":return c.stop()}},r,this)}));function n(r,a,o){return t.apply(this,arguments)}return n}()},{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!a.message){s.next=2;break}throw a.message;case 2:return s.abrupt("return",{files:a.artifacts.map(function(l){return{src:"".concat(ct).concat(l.base64),type:"image"}})});case 3:case"end":return s.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}],[{key:"cleanConfig",value:function(n){delete n.engine_id}},{key:"canSendFileMessage",value:function(n,r){return!!(r!=null&&r[0])}}]),i}(Dt),pu=function(e){P(i,e);function i(t){var n;g(this,i);var r,a=JSON.parse(JSON.stringify(t.directConnection)),o=a==null?void 0:a.stabilityAI,s={images:{files:{acceptedFormats:".png",maxNumberOfFiles:2}}};n=O(this,i,[t,xe.buildKeyVerificationDetails(),xe.buildHeaders,o,s]),n.url="https://api.stability.ai/v1/generation/stable-diffusion-xl-1024-v1-0/image-to-image/masking",n._maskSource="MASK_IMAGE_WHITE",n.textInputPlaceholderText="Describe image changes",n.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=(r=a==null?void 0:a.stabilityAI)==null?void 0:r.imageToImageMasking;return R(l)=="object"&&(l.engine_id&&(n.url="https://api.stability.ai/v1/generation/".concat(l.engine_id,"/image-to-image/masking")),l.weight!==void 0&&l.weight!==null&&(n._imageWeight=l.weight),l.mask_source!==void 0&&l.mask_source!==null&&(n._maskSource=l.mask_source),i.cleanConfig(l),Object.assign(n.rawBody,l)),n.canSendMessage=i.canSendFileTextMessage,n}return y(i,[{key:"createFormDataBody",value:function(n,r,a,o){var s=new FormData;return s.append("init_image",r),s.append("mask_source",String(this._maskSource)),s.append("mask_image",a),o&&o!==""&&s.append("text_prompts[0][text]",o),this._imageWeight!==void 0&&this._imageWeight!==null&&s.append("text_prompts[0][weight]",String(this._imageWeight)),Object.keys(n).forEach(function(l){s.append(l,String(n[l]))}),s.get("weight")===void 0&&s.append("weight",String(1)),s}},{key:"callServiceAPI",value:function(){var t=k(f().mark(function r(a,o,s){var l,u,c,d;return f().wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if(this.requestSettings){p.next=2;break}throw new Error("Request settings have not been set up");case 2:if(!(!s||!s[0]||!s[1])){p.next=4;break}throw new Error("Image was not found");case 4:c=(u=(l=o[o.length-1])==null?void 0:l.text)==null?void 0:u.trim(),d=this.createFormDataBody(this.rawBody,s[0],s[1],c),B.tempRemoveContentHeader(this.requestSettings,J.request.bind(this,this,d,a),!1);case 6:case"end":return p.stop()}},r,this)}));function n(r,a,o){return t.apply(this,arguments)}return n}()},{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!a.message){s.next=2;break}throw a.message;case 2:return s.abrupt("return",{files:a.artifacts.map(function(l){return{src:"".concat(ct).concat(l.base64),type:"image"}})});case 3:case"end":return s.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}],[{key:"cleanConfig",value:function(n){delete n.engine_id,delete n.weight}},{key:"canSendFileTextMessage",value:function(n,r){return!!(r!=null&&r[0])&&!!(n&&n.trim()!=="")}}]),i}(Dt),fu=function(e){P(i,e);function i(t){g(this,i);var n,r,a,o=(r=(n=t.directConnection)==null?void 0:n.huggingFace)==null?void 0:r.audioSpeechRecognition,s=(a=t.directConnection)==null?void 0:a.huggingFace;return O(this,i,[t,"Attach an audio file","facebook/wav2vec2-large-960h-lv60-self",o,s,{audio:{}}])}return y(i,[{key:"extractPollResultData",value:function(){var t=k(f().mark(function r(a){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!a.estimated_time){s.next=2;break}return s.abrupt("return",{timeoutMS:(a.estimated_time+1)*1e3});case 2:if(!a.error){s.next=4;break}throw a.error;case 4:return s.abrupt("return",{text:a.text||""});case 5:case"end":return s.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}]),i}($n),vu=function(e){P(i,e);function i(t){g(this,i);var n,r,a,o=(r=(n=t.directConnection)==null?void 0:n.huggingFace)==null?void 0:r.textGeneration,s=(a=t.directConnection)==null?void 0:a.huggingFace;return O(this,i,[t,"Once upon a time","gpt2",o,s])}return y(i,[{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!a.error){s.next=2;break}throw a.error;case 2:return s.abrupt("return",{text:a[0].generated_text||""});case 3:case"end":return s.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}]),i}(Ue),mu=function(e){P(i,e);function i(t){var n;g(this,i);var r,a,o,s=(a=(r=t.directConnection)==null?void 0:r.huggingFace)==null?void 0:a.questionAnswer,l=(o=t.directConnection)==null?void 0:o.huggingFace;return n=O(this,i,[t,"Ask a question","bert-large-uncased-whole-word-masking-finetuned-squad",s,l]),n.permittedErrorPrefixes=["Authorization header","Error in"],n.context=s.context,n}return y(i,[{key:"preprocessBody",value:function(n,r){var a=r[r.length-1].text;if(a)return{inputs:{question:a,context:this.context,options:{wait_for_model:!0}}}}},{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!a.error){s.next=2;break}throw a.error;case 2:return s.abrupt("return",{text:a.answer||""});case 3:case"end":return s.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}]),i}(Ue),gu=function(e){P(i,e);function i(t){g(this,i);var n,r,a,o=(r=(n=t.directConnection)==null?void 0:n.huggingFace)==null?void 0:r.summarization,s=(a=t.directConnection)==null?void 0:a.huggingFace;return O(this,i,[t,"Insert text to summarize","facebook/bart-large-cnn",o,s])}return y(i,[{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!a.error){s.next=2;break}throw a.error;case 2:return s.abrupt("return",{text:a[0].summary_text||""});case 3:case"end":return s.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}]),i}(Ue),yu=function(e){P(i,e);function i(t){var n,r;g(this,i);var a,o,s,l=(o=(a=t.directConnection)==null?void 0:a.huggingFace)==null?void 0:o.conversation,u=(s=t.directConnection)==null?void 0:s.huggingFace;return r=O(this,i,[t,"Ask me anything!","facebook/blenderbot-400M-distill",l,u]),(n=r.maxMessages)!==null&&n!==void 0||(r.maxMessages=-1),r}return y(i,[{key:"processMessages",value:function(n){var r=n.filter(function(u){return u.text}),a=r[r.length-1].text,o=r.slice(0,r.length-1);if(a){var s=o.filter(function(u){return u.role==="user"}).map(function(u){return u.text}),l=o.filter(function(u){return u.role==="ai"}).map(function(u){return u.text});return{past_user_inputs:s,generated_responses:l,mostRecentMessageText:a}}}},{key:"preprocessBody",value:function(n,r){var a,o=JSON.parse(JSON.stringify(n)),s=this.processMessages(r);if(s)return(a=o.options)!==null&&a!==void 0||(o.options={}),o.options.wait_for_model=!0,V({inputs:{past_user_inputs:s.past_user_inputs,generated_responses:s.generated_responses,text:s.mostRecentMessageText}},o)}},{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!a.error){s.next=2;break}throw a.error;case 2:return s.abrupt("return",{text:a.generated_text||""});case 3:case"end":return s.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}]),i}(Ue),bu=function(e){P(i,e);function i(t){var n;g(this,i);var r,a=JSON.parse(JSON.stringify(t.directConnection)),o=a.stabilityAI,s={images:{files:{acceptedFormats:".png",maxNumberOfFiles:1}}};n=O(this,i,[t,xe.buildKeyVerificationDetails(),xe.buildHeaders,o,s]),n.url="https://api.stability.ai/v1/generation/stable-diffusion-v1-6/image-to-image",n.textInputPlaceholderText="Describe image changes",n.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=(r=a.stabilityAI)==null?void 0:r.imageToImage;return R(l)=="object"&&(l.engine_id&&(n.url="https://api.stability.ai/v1/generation/".concat(l.engine_id,"/text-to-image")),l.weight!==void 0&&l.weight!==null&&(n._imageWeight=l.weight),i.cleanConfig(l),Object.assign(n.rawBody,l)),n.canSendMessage=i.canSendFileTextMessage,n}return y(i,[{key:"createFormDataBody",value:function(n,r,a){var o=new FormData;return o.append("init_image",r),a&&a!==""&&o.append("text_prompts[0][text]",a),this._imageWeight!==void 0&&this._imageWeight!==null&&o.append("text_prompts[0][weight]",String(this._imageWeight)),Object.keys(n).forEach(function(s){o.append(s,String(n[s]))}),o.get("weight")===void 0&&o.append("weight",String(1)),o}},{key:"callServiceAPI",value:function(){var t=k(f().mark(function r(a,o,s){var l,u,c,d;return f().wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if(this.requestSettings){p.next=2;break}throw new Error("Request settings have not been set up");case 2:if(s){p.next=4;break}throw new Error("Image was not found");case 4:c=(u=(l=o[o.length-1])==null?void 0:l.text)==null?void 0:u.trim(),d=this.createFormDataBody(this.rawBody,s[0],c),B.tempRemoveContentHeader(this.requestSettings,J.request.bind(this,this,d,a),!1);case 6:case"end":return p.stop()}},r,this)}));function n(r,a,o){return t.apply(this,arguments)}return n}()},{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!a.message){s.next=2;break}throw a.message;case 2:return s.abrupt("return",{files:a.artifacts.map(function(l){return{src:"".concat(ct).concat(l.base64),type:"image"}})});case 3:case"end":return s.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}],[{key:"cleanConfig",value:function(n){delete n.engine_id,delete n.weight}},{key:"canSendFileTextMessage",value:function(n,r){return!!(r!=null&&r[0])&&!!(n&&n.trim()!=="")}}]),i}(Dt),ku=function(e){P(i,e);function i(t){g(this,i);var n,r,a,o=(r=(n=t.directConnection)==null?void 0:n.huggingFace)==null?void 0:r.translation,s=(a=t.directConnection)==null?void 0:a.huggingFace;return O(this,i,[t,"Insert text to translate","Helsinki-NLP/opus-tatoeba-en-ja",o,s])}return y(i,[{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!a.error){s.next=2;break}throw a.error;case 2:return s.abrupt("return",{text:a[0].translation_text||""});case 3:case"end":return s.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}]),i}(Ue),_u=function(e){P(i,e);function i(t){var n;g(this,i);var r,a=JSON.parse(JSON.stringify(t.directConnection)),o=a.stabilityAI;n=O(this,i,[t,xe.buildKeyVerificationDetails(),xe.buildHeaders,o]),n.url="https://api.stability.ai/v1/generation/stable-diffusion-v1-6/text-to-image",n.textInputPlaceholderText="Describe an image",n.introPanelMarkUp=`
Stability AI: Text to Image
Insert text to generate an image.
Click here for more info.
`;var s=(r=a.stabilityAI)==null?void 0:r.textToImage;return R(s)=="object"&&(s.engine_id&&(n.url="https://api.stability.ai/v1/generation/".concat(s.engine_id,"/text-to-image")),s.weight!==void 0&&s.weight!==null&&(n._imageWeight=s.weight),i.cleanConfig(s),Object.assign(n.rawBody,s)),n.canSendMessage=i.canSendTextMessage,n}return y(i,[{key:"preprocessBody",value:function(n,r){var a=JSON.parse(JSON.stringify(n)),o={text:r};return this._imageWeight&&(o.weight=this._imageWeight),a.text_prompts=[o],a}},{key:"callServiceAPI",value:function(){var t=k(f().mark(function r(a,o){var s;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.requestSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:s=this.preprocessBody(this.rawBody,o[o.length-1].text),J.request(this,s,a);case 4:case"end":return u.stop()}},r,this)}));function n(r,a){return t.apply(this,arguments)}return n}()},{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!a.message){s.next=2;break}throw a.message;case 2:return s.abrupt("return",{files:a.artifacts.map(function(l){return{src:"".concat(ct).concat(l.base64),type:"image"}})});case 3:case"end":return s.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}],[{key:"cleanConfig",value:function(n){delete n.engine_id,delete n.weight}},{key:"canSendTextMessage",value:function(n){return!!(n&&n.trim()!=="")}}]),i}(Dt),wu=function(e){P(i,e);function i(t){var n;g(this,i);var r,a,o,s=(a=(r=t.directConnection)==null?void 0:r.huggingFace)==null?void 0:a.fillMask,l=(o=t.directConnection)==null?void 0:o.huggingFace;return n=O(this,i,[t,"The goal of life is [MASK].","bert-base-uncased",s,l]),n.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.
`,n.permittedErrorPrefixes=["Authorization header","No mask_token"],n}return y(i,[{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!a.error){s.next=2;break}throw a.error;case 2:return s.abrupt("return",{text:a[0].sequence||""});case 3:case"end":return s.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}]),i}(Ue),Tr=function(){function e(){g(this,e)}return y(e,null,[{key:"buildHeaders",value:function(t){return{Authorization:"Bearer ".concat(t),"Content-Type":"application/json",accept:"application/json"}}},{key:"handleVerificationResult",value:function(t,n,r,a){var o;(o=t.message)!=null&&o.includes("invalid request: prompt must be at least 1 token long")?r(n):a(ee.INVALID_KEY)}},{key:"buildKeyVerificationDetails",value:function(){return{url:"https://api.cohere.ai/v1/generate",method:"POST",handleVerificationResult:e.handleVerificationResult,body:JSON.stringify({prompt:""})}}}]),e}(),Gn=function(e){P(i,e);function i(t,n,r,a,o){var s;return g(this,i),s=O(this,i,[t,Tr.buildKeyVerificationDetails(),Tr.buildHeaders,o]),s.insertKeyPlaceholderText="Cohere API Key",s.keyHelpUrl="https://dashboard.cohere.ai/api-keys",s.permittedErrorPrefixes=["invalid"],s.url=n,s.textInputPlaceholderText=r,a&&R(a)=="object"&&Object.assign(s.rawBody,a),s}return y(i)}(ce),Su=function(e){P(i,e);function i(t){g(this,i);var n,r,a,o=(r=(n=t.directConnection)==null?void 0:n.cohere)==null?void 0:r.textGeneration,s=(a=t.directConnection)==null?void 0:a.cohere;return O(this,i,[t,"https://api.cohere.ai/v1/generate","Once upon a time",o,s])}return y(i,[{key:"preprocessBody",value:function(n,r){var a=JSON.parse(JSON.stringify(n)),o=r[r.length-1].text;if(o)return V({prompt:o},a)}},{key:"callServiceAPI",value:function(){var t=k(f().mark(function r(a,o){var s;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.requestSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:s=this.preprocessBody(this.rawBody,o),J.request(this,s,a);case 4:case"end":return u.stop()}},r,this)}));function n(r,a){return t.apply(this,arguments)}return n}()},{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){var o;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:((o=a.generations)==null?void 0:o[0].text)||""});case 3:case"end":return l.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}]),i}(Gn),xu=function(e){P(i,e);function i(t){g(this,i);var n,r,a,o=(r=(n=t.directConnection)==null?void 0:n.cohere)==null?void 0:r.summarization,s=(a=t.directConnection)==null?void 0:a.cohere;return O(this,i,[t,"https://api.cohere.ai/v1/summarize","Insert text to summarize",o,s])}return y(i,[{key:"preprocessBody",value:function(n,r){var a=JSON.parse(JSON.stringify(n)),o=r[r.length-1].text;if(o)return V({text:o},a)}},{key:"callServiceAPI",value:function(){var t=k(f().mark(function r(a,o){var s;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.requestSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:s=this.preprocessBody(this.rawBody,o),J.request(this,s,a);case 4:case"end":return u.stop()}},r,this)}));function n(r,a){return t.apply(this,arguments)}return n}()},{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!a.message){s.next=2;break}throw a.message;case 2:return s.abrupt("return",{text:a.summary||""});case 3:case"end":return s.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}]),i}(Gn),ae=function(){function e(){g(this,e)}return y(e,null,[{key:"buildHeaders",value:function(t){return{Authorization:"Bearer ".concat(t),"Content-Type":"application/json"}}},{key:"handleVerificationResult",value:function(t,n,r,a){var o=t;o.error?o.error.code==="invalid_api_key"?a(ee.INVALID_KEY):a(ee.CONNECTION_FAILED):r(n)}},{key:"buildKeyVerificationDetails",value:function(){return{url:"https://api.openai.com/v1/models",method:"GET",handleVerificationResult:e.handleVerificationResult}}},{key:"directFetch",value:function(){var i=k(f().mark(function n(r,a,o){var s,l,u=arguments;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return s=u.length>3&&u[3]!==void 0?u[3]:!0,r.requestSettings.method=o,d.next=4,B.fetch(r,r.requestSettings.headers,s,a).then(function(h){return B.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()}},n)}));function t(n,r,a){return i.apply(this,arguments)}return t}()}]),e}(),Wn=function(e){P(i,e);function i(t){var n,r,a;g(this,i);var o,s,l,u=JSON.parse(JSON.stringify(t.directConnection)),c=u==null?void 0:u.openAI;a=O(this,i,[t,ae.buildKeyVerificationDetails(),ae.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=(o=u==null?void 0:u.openAI)==null?void 0:o.textToSpeech;return R(d)=="object"&&Object.assign(a.rawBody,d),(n=(s=a.rawBody).model)!==null&&n!==void 0||(s.model=i.DEFAULT_MODEL),(r=(l=a.rawBody).voice)!==null&&r!==void 0||(l.voice=i.DEFAULT_VOIDE),a.textInputPlaceholderText="Insert text to generate audio",a.rawBody.response_format="mp3",a}return y(i,[{key:"preprocessBody",value:function(n,r){var a,o,s=JSON.parse(JSON.stringify(n)),l=(o=(a=r[r.length-1])==null?void 0:a.text)==null?void 0:o.trim();return l&&l!==""&&(s.input=l),s}},{key:"callServiceAPI",value:function(){var t=k(f().mark(function r(a,o){var s,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if((s=this.requestSettings)!=null&&s.headers){c.next=2;break}throw new Error("Request settings have not been set up");case 2:this.url=this.requestSettings.url||this.url,l=this.preprocessBody(this.rawBody,o),J.request(this,l,a);case 5:case"end":return c.stop()}},r,this)}));function n(r,a){return t.apply(this,arguments)}return n}()},{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!(a instanceof Blob)){s.next=2;break}return s.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){s.next=4;break}throw a.error.message;case 4:return s.abrupt("return",{error:"error"});case 5:case"end":return s.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}]),i}(ce);Wn.DEFAULT_MODEL="tts-1";Wn.DEFAULT_VOIDE="alloy";var Eu=Wn,Ft=function(e){P(i,e);function i(t){var n,r;g(this,i);var a,o,s=JSON.parse(JSON.stringify(t.directConnection)),l=s==null?void 0:s.openAI;r=O(this,i,[t,ae.buildKeyVerificationDetails(),ae.buildHeaders,l,{audio:{}}]),r.insertKeyPlaceholderText="OpenAI API Key",r.keyHelpUrl="https://platform.openai.com/account/api-keys",r.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.
`,r.url="",r.permittedErrorPrefixes=["Invalid"],r.textInputPlaceholderText="Upload an audio file",r._service_url=i.AUDIO_TRANSCRIPTIONS_URL;var u=(a=s==null?void 0:s.openAI)==null?void 0:a.audio;return R(u)=="object"&&(r.processConfig(u),i.cleanConfig(u),Object.assign(r.rawBody,u)),(n=(o=r.rawBody).model)!==null&&n!==void 0||(o.model=i.DEFAULT_MODEL),r.rawBody.response_format="json",r.canSendMessage=i.canSendFileMessage,r}return y(i,[{key:"processConfig",value:function(n){n!=null&&n.type&&n.type==="translation"&&(this._service_url=i.AUDIO_TRANSLATIONS_URL,delete n.language)}},{key:"preprocessBody",value:function(n,r){var a,o,s=JSON.parse(JSON.stringify(n)),l=(o=(a=r[r.length-1])==null?void 0:a.text)==null?void 0:o.trim();return l&&l!==""&&(s.prompt=l),s}},{key:"callServiceAPI",value:function(){var t=k(f().mark(function r(a,o,s){var l,u,c;return f().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:if((l=this.requestSettings)!=null&&l.headers){h.next=2;break}throw new Error("Request settings have not been set up");case 2:if(s!=null&&s[0]){h.next=4;break}throw new Error("No file was added");case 4:this.url=this.requestSettings.url||this._service_url,u=this.preprocessBody(this.rawBody,o),c=i.createFormDataBody(u,s[0]),B.tempRemoveContentHeader(this.requestSettings,J.request.bind(this,this,c,a),!1);case 7:case"end":return h.stop()}},r,this)}));function n(r,a,o){return t.apply(this,arguments)}return n}()},{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!a.error){s.next=2;break}throw a.error.message;case 2:return s.abrupt("return",{text:a.text});case 3:case"end":return s.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}],[{key:"canSendFileMessage",value:function(n,r){return!!(r!=null&&r[0])}},{key:"cleanConfig",value:function(n){delete n.type}},{key:"createFormDataBody",value:function(n,r){var a=new FormData;return a.append("file",r),Object.keys(n).forEach(function(o){a.append(o,String(n[o]))}),a}}]),i}(ce);Ft.AUDIO_TRANSCRIPTIONS_URL="https://api.openai.com/v1/audio/transcriptions";Ft.AUDIO_TRANSLATIONS_URL="https://api.openai.com/v1/audio/translations";Ft.DEFAULT_MODEL="whisper-1";var Cu=Ft,Ne=function(){function e(){g(this,e)}return y(e,null,[{key:"buildTextToSpeechHeaders",value:function(t,n){return{"Ocp-Apim-Subscription-Key":n,"Content-Type":"application/ssml+xml","X-Microsoft-OutputFormat":t}}},{key:"buildSpeechToTextHeaders",value:function(t){return{"Ocp-Apim-Subscription-Key":t,Accept:"application/json"}}},{key:"handleSpeechVerificationResult",value:function(t,n,r,a){t.error?a(ee.INVALID_KEY):r(n)}},{key:"buildSpeechKeyVerificationDetails",value:function(t){return{url:"https://".concat(t,".api.cognitive.microsoft.com/sts/v1.0/issuetoken"),method:"POST",createHeaders:function(r){return{"Ocp-Apim-Subscription-Key":"".concat(r)}},handleVerificationResult:e.handleSpeechVerificationResult}}},{key:"buildSummarizationHeader",value:function(t){return{"Ocp-Apim-Subscription-Key":t,"Content-Type":"application/json"}}},{key:"handleLanguageVerificationResult",value:function(t,n,r,a){var o;((o=t.error)==null?void 0:o.code)==="401"?a(ee.INVALID_KEY):r(n)}},{key:"buildLanguageKeyVerificationDetails",value:function(t){return{url:"".concat(t,"/language/analyze-text/jobs?api-version=2022-10-01-preview"),method:"POST",createHeaders:function(r){return{"Ocp-Apim-Subscription-Key":"".concat(r)}},handleVerificationResult:e.handleLanguageVerificationResult}}},{key:"handleTranslationVerificationResult",value:function(t,n,r,a){t.json().then(function(o){!Array.isArray(o)&&o.error.code===401e3?a(ee.INVALID_KEY):r(n)})}},{key:"buildTranslationKeyVerificationDetails",value:function(t){return{url:"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es",method:"POST",createHeaders:function(r){return e.buildTranslationHeaders(t,r)},handleVerificationResult:e.handleTranslationVerificationResult}}},{key:"buildTranslationHeaders",value:function(t,n){var r={"Ocp-Apim-Subscription-Key":n,"Content-Type":"application/json"};return t&&(r["Ocp-Apim-Subscription-Region"]=t),r}}]),e}(),Mu=function(e){P(i,e);function i(t,n,r,a,o){var s;return g(this,i),s=O(this,i,[t,Ne.buildLanguageKeyVerificationDetails(r),n,a,o]),s.insertKeyPlaceholderText="Azure Language Subscription Key",s.keyHelpUrl="https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal",s.permittedErrorPrefixes=["Access"],s}return y(i)}(ce),Au=function(e){P(i,e);function i(t){var n,r;g(this,i);var a,o,s,l,u=(o=(a=t.directConnection)==null?void 0:a.azure)==null?void 0:o.summarization,c=(s=t.directConnection)==null?void 0:s.azure;return r=O(this,i,[t,Ne.buildSummarizationHeader,u.endpoint,c]),r.url="",r.textInputPlaceholderText="Insert text to summarize",(n=(l=r.rawBody).language)!==null&&n!==void 0||(l.language="en"),Object.assign(r.rawBody,u),r.url="".concat(u.endpoint,"/language/analyze-text/jobs?api-version=2022-10-01-preview"),r}return y(i,[{key:"preprocessBody",value:function(n,r){var a=r[r.length-1].text;if(a)return{analysisInput:{documents:[{id:"1",language:n.language,text:a}]},tasks:[{kind:"ExtractiveSummarization"}]}}},{key:"callServiceAPI",value:function(){var t=k(f().mark(function r(a,o){var s;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.requestSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:s=this.preprocessBody(this.rawBody,o),J.request(this,s,a),this.messages=a;case 4:case"end":return u.stop()}},r,this)}));function n(r,a){return t.apply(this,arguments)}return n}()},{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){var o,s,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&&(s=a.headers.get("operation-location"),l={method:"GET",headers:(o=this.requestSettings)==null?void 0:o.headers},J.executePollRequest(this,s,l,this.messages)),c.abrupt("return",{makingAnotherRequest:!0});case 4:case"end":return c.stop()}},r,this)}));function n(r){return t.apply(this,arguments)}return n}()},{key:"extractPollResultData",value:function(){var t=k(f().mark(function r(a){var o,s,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:o="",s=Zo(a.tasks.items[0].results.documents[0].sentences);try{for(s.s();!(l=s.n()).done;)u=l.value,o+=u.text}catch(h){s.e(h)}finally{s.f()}return d.abrupt("return",{text:o||""});case 12:case"end":return d.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}]),i}(Mu),dn=function(){function e(){g(this,e)}return y(e,null,[{key:"poll",value:function(){var i=k(f().mark(function n(r,a){var o,s,l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return o={authorization:r,"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:o});case 4:return d.next=6,d.sent.json();case 6:d.t1=d.sent.id,s=d.t0.concat.call(d.t0,d.t1);case 8:if(l){d.next=24;break}return d.next=11,fetch(s,{headers:o});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()}},n)}));function t(n,r){return i.apply(this,arguments)}return t}()},{key:"buildHeaders",value:function(t){return{Authorization:t,"Content-Type":"application/octet-stream"}}},{key:"handleVerificationResult",value:function(t,n,r,a){var o=t;o.error?o.error.code==="invalid_api_key"?a(ee.INVALID_KEY):a(ee.CONNECTION_FAILED):r(n)}},{key:"buildKeyVerificationDetails",value:function(){return{url:"https://api.assemblyai.com/v2/upload",method:"POST",handleVerificationResult:e.handleVerificationResult}}}]),e}(),Tu=function(e){P(i,e);function i(t){var n;g(this,i);var r,a=(r=t.directConnection)==null?void 0:r.assemblyAI;return n=O(this,i,[t,dn.buildKeyVerificationDetails(),dn.buildHeaders,a,{audio:{}}]),n.insertKeyPlaceholderText="AssemblyAI API Key",n.keyHelpUrl="https://www.assemblyai.com/app/account",n.introPanelMarkUp=`
AssemblyAI Audio
Upload an audio file to transcribe it into text.
Click here for more info.
`,n.url="https://api.assemblyai.com/v2/upload",n.isTextInputDisabled=!0,n.textInputPlaceholderText="Upload an audio file",n.permittedErrorPrefixes=["Authentication","Invalid"],n.canSendMessage=i.canFileSendMessage,n}return y(i,[{key:"callServiceAPI",value:function(){var t=k(f().mark(function r(a,o,s){var l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if((l=this.requestSettings)!=null&&l.headers){c.next=2;break}throw new Error("Request settings have not been set up");case 2:if(s!=null&&s[0]){c.next=4;break}throw new Error("No file was added");case 4:J.request(this,s[0],a,!1);case 5:case"end":return c.stop()}},r,this)}));function n(r,a,o){return t.apply(this,arguments)}return n}()},{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){var o,s,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=(s=(o=this.requestSettings)==null?void 0:o.headers)==null?void 0:s.Authorization,c.next=5,dn.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()}},r,this)}));function n(r){return t.apply(this,arguments)}return n}()}],[{key:"canFileSendMessage",value:function(n,r){return!!(r!=null&&r[0])}}]),i}(ce),qi=function(e){P(i,e);function i(t,n,r,a,o){var s;return g(this,i),s=O(this,i,[t,Ne.buildSpeechKeyVerificationDetails(r),n,a,o]),s.insertKeyPlaceholderText="Azure Speech Subscription Key",s.keyHelpUrl="https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal",s}return y(i)}(ce),zi=function(e){P(i,e);function i(t){var n,r,a,o;g(this,i);var s,l,u,c,d,h,p=(l=(s=t.directConnection)==null?void 0:s.azure)==null?void 0:l.textToSpeech,v=(u=t.directConnection)==null?void 0:u.azure;return o=O(this,i,[t,Ne.buildTextToSpeechHeaders.bind({},(p==null?void 0:p.outputFormat)||"audio-16khz-128kbitrate-mono-mp3"),p.region,v]),o.introPanelMarkUp=`
Azure Text To Speech
Insert text to synthesize it to audio.
Click here for more info.
`),o.url="",Object.assign(o.rawBody,p),(n=(c=o.rawBody).lang)!==null&&n!==void 0||(c.lang="en-US"),(r=(d=o.rawBody).name)!==null&&r!==void 0||(d.name="en-US-JennyNeural"),(a=(h=o.rawBody).gender)!==null&&a!==void 0||(h.gender="Female"),o.url="https://".concat(p.region,".tts.speech.microsoft.com/cognitiveservices/v1"),o}return y(i,[{key:"preprocessBody",value:function(n,r){var a=r[r.length-1].text;if(a)return"
`).concat(a,`
`)}},{key:"callServiceAPI",value:function(){var t=k(f().mark(function r(a,o){var s;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.requestSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:s=this.preprocessBody(this.rawBody,o),J.request(this,s,a,!1);case 4:case"end":return u.stop()}},r,this)}));function n(r,a){return t.apply(this,arguments)}return n}()},{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:return s.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 s.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}]),i}(qi);zi.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";var Iu=zi,Ui=function(e){P(i,e);function i(t){var n;g(this,i);var r,a,o,s=(a=(r=t.directConnection)==null?void 0:r.azure)==null?void 0:a.speechToText,l=(o=t.directConnection)==null?void 0:o.azure,u={audio:{files:{acceptedFormats:".wav,.ogg"}}};n=O(this,i,[t,Ne.buildSpeechToTextHeaders,s.region,l,u]),n.introPanelMarkUp=`
Azure Speech To Text
Upload a .wav or .ogg audio file to transcribe it into text.
Click here for more info.
`),n.url="",n.isTextInputDisabled=!0,n.textInputPlaceholderText="Upload an audio file",n.canSendMessage=i.canFileSendMessage;var c=s.lang||"en-US";return n.url="https://".concat(s.region,".stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=").concat(c,"&format=detailed"),n.recordAudio=void 0,n}return y(i,[{key:"callServiceAPI",value:function(){var t=k(f().mark(function r(a,o,s){var l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if((l=this.requestSettings)!=null&&l.headers){d.next=2;break}throw new Error("Request settings have not been set up");case 2:if(s!=null&&s[0]){d.next=4;break}throw new Error("No file was added");case 4:(u=this.requestSettings)!=null&&u.headers&&(this.requestSettings.headers["Content-Type"]=s[0].name.toLocaleLowerCase().endsWith(".wav")?"audio/wav; codecs=audio/pcm; samplerate=16000":"audio/ogg; codecs=opus"),J.request(this,s[0],a,!1);case 5:case"end":return d.stop()}},r,this)}));function n(r,a,o){return t.apply(this,arguments)}return n}()},{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!a.error){s.next=2;break}throw a.error;case 2:return s.abrupt("return",{text:a.DisplayText||""});case 3:case"end":return s.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}],[{key:"canFileSendMessage",value:function(n,r){return!!(r!=null&&r[0])}}]),i}(qi);Ui.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";var Lu=Ui,Ru=function(e){P(i,e);function i(t){var n;g(this,i);var r,a,o,s=(a=(r=t.directConnection)==null?void 0:r.azure)==null?void 0:a.translation,l=(o=t.directConnection)==null?void 0:o.azure;return n=O(this,i,[t,Ne.buildTranslationKeyVerificationDetails(s.region),Ne.buildTranslationHeaders.bind({},s==null?void 0:s.region),l]),n.insertKeyPlaceholderText="Azure Translate Subscription Key",n.keyHelpUrl="https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal",n.url="",n.url="https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=".concat(s.language||"es"),n}return y(i,[{key:"preprocessBody",value:function(n){var r=n[n.length-1].text;if(r)return[{Text:r}]}},{key:"callServiceAPI",value:function(){var t=k(f().mark(function r(a,o){var s;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.requestSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:s=this.preprocessBody(o),J.request(this,s,a);case 4:case"end":return u.stop()}},r,this)}));function n(r,a){return t.apply(this,arguments)}return n}()},{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){var o;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:((o=a[0].translations)==null?void 0:o[0].text)||""});case 2:throw a.error;case 3:case"end":return l.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}]),i}(ce),Ir=function(){function e(){g(this,e)}return y(e,null,[{key:"storeFiles",value:function(){var i=k(f().mark(function n(r,a,o){var s,l,u,c;return f().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:if(s=r.requestSettings.headers,s){h.next=3;break}return h.abrupt("return");case 3:return r.url="https://api.openai.com/v1/files",l=s[B.CONTENT_TYPE],delete s[B.CONTENT_TYPE],u=o.map(function(){var p=k(f().mark(function v(m){var b;return f().wrap(function(_){for(;;)switch(_.prev=_.next){case 0:return b=new FormData,_.abrupt("return",(b.append("purpose","assistants"),b.append("file",m),new Promise(function(x){x(ae.directFetch(r,b,"POST",!1))})));case 2:case"end":return _.stop()}},v)}));return function(v){return p.apply(this,arguments)}}()),h.prev=7,h.next=10,Promise.all(u);case 10:return c=h.sent.map(function(p){return p.id}),h.abrupt("return",(s[B.CONTENT_TYPE]=l,c));case 14:throw h.prev=14,h.t0=h.catch(7),s[B.CONTENT_TYPE]=l,B.displayError(a,h.t0),r.completionsHandlers.onFinish(),h.t0;case 17:case"end":return h.stop()}},n,null,[[7,14]])}));function t(n,r,a){return i.apply(this,arguments)}return t}()},{key:"getType",value:function(t,n){var r=t[n].path;return!r||r.endsWith("png")?"image":"any"}},{key:"getFiles",value:function(){var i=k(f().mark(function n(r,a){var o,s;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return o=a.map(function(c){var d=c.fileId;return r.url="https://api.openai.com/v1/files/".concat(d,"/content"),new Promise(function(h){h(ae.directFetch(r,void 0,"GET",!1))})}),u.next=3,Promise.all(o);case 3:return s=u.sent.map(function(c,d){return new Promise(function(h){var p=new FileReader;p.readAsDataURL(c),p.onload=function(v){h({src:v.target.result,name:a[d].name,type:e.getType(a,d)})}})}),u.next=6,Promise.all(s);case 6:return u.abrupt("return",u.sent);case 7:case"end":return u.stop()}},n)}));function t(n,r){return i.apply(this,arguments)}return t}()},{key:"getFileName",value:function(t){var n=t.split("/");return n[n.length-1]}},{key:"getFileDetails",value:function(t,n){var r,a=[];return(r=n==null?void 0:n.text)!=null&&r.value&&t.content.forEach(function(o){var s,l;(l=(s=o.text)==null?void 0:s.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:e.getFileName(u.text)})})}),n!=null&&n.image_file&&a.push({fileId:n.image_file.file_id}),a}},{key:"getFilesAndNewText",value:function(){var i=k(f().mark(function n(r,a,o,s){var l,u,c;return f().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:if(h.t0=a.length>0,!h.t0){h.next=6;break}return h.next=4,e.getFiles(r,a);case 4:c=h.sent,(l=s==null?void 0:s.text)!=null&&l.value&&c.forEach(function(p,v){var m;if(p.src){var b=a[v].path;(m=s==null?void 0:s.text)!=null&&m.value&&b&&(s.text.value=s.text.value.replace(b,p.src))}});case 6:return h.abrupt("return",{files:c,text:(u=s==null?void 0:s.text)==null?void 0:u.value,role:o});case 7:case"end":return h.stop()}},n)}));function t(n,r,a,o){return i.apply(this,arguments)}return t}()},{key:"getFilesAndText",value:function(){var i=k(f().mark(function n(r,a,o){var s;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return s=e.getFileDetails(a,o),u.next=3,e.getFilesAndNewText(r,s,a.role,o);case 3:return u.abrupt("return",u.sent);case 4:case"end":return u.stop()}},n)}));function t(n,r,a){return i.apply(this,arguments)}return t}()}]),e}(),jt=function(e){P(i,e);function i(t){var n,r,a;g(this,i);var o,s,l,u,c,d,h=JSON.parse(JSON.stringify(t.directConnection)),p=h.openAI;a=O(this,i,[t,ae.buildKeyVerificationDetails(),ae.buildHeaders,p]),a.insertKeyPlaceholderText="OpenAI API Key",a.keyHelpUrl="https://platform.openai.com/account/api-keys",a.url="",a.permittedErrorPrefixes=["Incorrect"],a.searchedForThreadId=!1,a.config={},a.newAssistantDetails={model:"gpt-4"},a.shouldFetchHistory=!1;var v=(o=h.openAI)==null?void 0:o.assistant;if(R(v)=="object"){a.config=v;var m=a.config,b=m.new_assistant,w=m.thread_id,_=m.load_thread_history;Object.assign(a.newAssistantDetails,b),w&&(a.sessionId=w),_&&(a.shouldFetchHistory=!0);var x=(l=(s=t.directConnection)==null?void 0:s.openAI)==null?void 0:l.assistant,N=x.function_handler;N&&(a._functionHandler=N)}else(u=h.openAI)!=null&&u.assistant&&(h.openAI.assistant=v);return(n=(c=a.requestSettings).headers)!==null&&n!==void 0||(c.headers={}),(r=(d=a.requestSettings.headers)["OpenAI-Beta"])!==null&&r!==void 0||(d["OpenAI-Beta"]="assistants=v1"),a.maxMessages=1,a.shouldFetchHistory&&a.sessionId&&(a.fetchHistory=a.fetchHistoryFunc.bind(de(a))),a}return y(i,[{key:"fetchHistoryFunc",value:function(){var t=k(f().mark(function r(){var a=this,o;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:return setTimeout(function(){return a.deepChat.disableSubmitButton()},2),l.prev=1,l.next=4,this.getThreadMessages(this.sessionId,!0);case 4:return o=l.sent,l.abrupt("return",(this.deepChat.disableSubmitButton(!1),o.reverse()));case 8:return l.prev=8,l.t0=l.catch(1),l.abrupt("return",[{error:"failed to fetch thread history"}]);case 11:case"end":return l.stop()}},r,this,[[1,8]])}));function n(){return t.apply(this,arguments)}return n}()},{key:"processMessage",value:function(n,r){var a=this.totalMessagesMaxCharLength||-1;return{content:Un.getCharacterLimitMessages(n,a)[0].text||"",role:"user",file_ids:r}}},{key:"createNewThreadMessages",value:function(n,r,a){var o=JSON.parse(JSON.stringify(n)),s=this.processMessage(r,a);return o.thread={messages:[s]},o}},{key:"callService",value:function(n,r,a){if(this.sessionId){this.url="".concat(i.THREAD_PREFIX,"/").concat(this.sessionId,"/messages");var o=this.processMessage(r,a);J.request(this,o,n)}else{this.url="".concat(i.THREAD_PREFIX,"/runs");var s=this.createNewThreadMessages(this.rawBody,r,a);J.request(this,s,n)}this.messages=n}},{key:"callServiceAPI",value:function(){var t=k(f().mark(function r(a,o,s){var l,u,c;return f().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:if(this.requestSettings){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.messages),!s){h.next=19;break}return h.next=16,Ir.storeFiles(this,a,s);case 16:h.t1=h.sent,h.next=20;break;case 19:h.t1=void 0;case 20:c=h.t1,this.requestSettings.method="POST",this.callService(a,o,c);case 22:case"end":return h.stop()}},r,this)}));function n(r,a,o){return t.apply(this,arguments)}return n}()},{key:"createNewAssistant",value:function(){var t=k(f().mark(function r(){var a;return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:return s.prev=0,this.url=i.NEW_ASSISTANT_URL,s.next=4,ae.directFetch(this,JSON.parse(JSON.stringify(this.newAssistantDetails)),"POST");case 4:return a=s.sent,s.abrupt("return",(this.config.assistant_id=a.id,this.config.assistant_id));case 8:s.prev=8,s.t0=s.catch(0),console.error(s.t0),console.error("Failed to create a new assistant");case 11:case"end":return s.stop()}},r,this,[[0,8]])}));function n(){return t.apply(this,arguments)}return n}()},{key:"searchPreviousMessagesForThreadId",value:function(n){var r=n.find(function(a){return a._sessionId});r&&(this.sessionId=r._sessionId),this.searchedForThreadId=!0}},{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){var o,s,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 c.next=4,this.assignThreadAndRun(a);case 4:return s="".concat(i.THREAD_PREFIX,"/").concat(this.sessionId,"/runs/").concat(this.run_id),l={method:"GET",headers:(o=this.requestSettings)==null?void 0:o.headers},c.abrupt("return",(J.executePollRequest(this,s,l,this.messages),{makingAnotherRequest:!0}));case 6:case"end":return c.stop()}},r,this)}));function n(r){return t.apply(this,arguments)}return n}()},{key:"assignThreadAndRun",value:function(){var t=k(f().mark(function r(a){var o;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(!this.sessionId){l.next=8;break}return this.url="".concat(i.THREAD_PREFIX,"/").concat(this.sessionId,"/runs"),l.next=4,ae.directFetch(this,JSON.parse(JSON.stringify(this.rawBody)),"POST");case 4:o=l.sent,this.run_id=o.id,l.next=9;break;case 8:this.sessionId=a.thread_id,this.run_id=a.id,this.messages&&(this.messages.messages[this.messages.messages.length-1]._sessionId=this.sessionId);case 9:case"end":return l.stop()}},r,this)}));function n(r){return t.apply(this,arguments)}return n}()},{key:"getThreadMessages",value:function(){var t=k(f().mark(function r(a){var o=this,s,l,u,c,d,h=arguments;return f().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:return s=h.length>1&&h[1]!==void 0?h[1]:!1,this.url="".concat(i.THREAD_PREFIX,"/").concat(a,"/messages"),v.next=4,ae.directFetch(this,{},"GET");case 4:if(c=v.sent,v.t0=!s&&this.deepChat.responseInterceptor,!v.t0){v.next=10;break}return v.next=9,(u=(l=this.deepChat).responseInterceptor)==null?void 0:u.call(l,c);case 9:c=v.sent;case 10:return d=(s?c.data:[c.data[0]]).map(function(){var m=k(f().mark(function b(w){var _;return f().wrap(function(N){for(;;)switch(N.prev=N.next){case 0:return _=w.content.find(function(M){return!!M.text||!!M.image_file}),N.next=3,Ir.getFilesAndText(o,w,_);case 3:return N.abrupt("return",N.sent);case 4:case"end":return N.stop()}},b)}));return function(b){return m.apply(this,arguments)}}()),v.abrupt("return",Promise.all(d));case 12:case"end":return v.stop()}},r,this)}));function n(r){return t.apply(this,arguments)}return n}()},{key:"extractPollResultData",value:function(){var t=k(f().mark(function r(a){var o,s,l,u,c,d,h,p,v,m,b;return f().wrap(function(_){for(;;)switch(_.prev=_.next){case 0:if(u=a.status,c=a.required_action,!(u==="queued"||u==="in_progress")){_.next=3;break}return _.abrupt("return",{timeoutMS:i.POLLING_TIMEOUT_MS});case 3:if(!(u==="completed"&&this.messages)){_.next=11;break}return _.next=6,this.getThreadMessages(a.thread_id);case 6:return d=_.sent,h=d[0],p=h.text,v=h.files,_.abrupt("return",{text:p,_sessionId:this.sessionId,files:v});case 11:if(m=(o=c==null?void 0:c.submit_tool_outputs)==null?void 0:o.tool_calls,!(u==="requires_action"&&m)){_.next=22;break}return _.next=15,this.handleTools(m);case 15:return b=_.sent,_.next=18,(l=(s=this.deepChat).responseInterceptor)==null?void 0:l.call(s,b);case 18:if(_.t0=_.sent,_.t0){_.next=21;break}_.t0=b;case 21:return _.abrupt("return",_.t0);case 22:throw Error("Thread run status: ".concat(u));case 23:case"end":return _.stop()}},r,this)}));function n(r){return t.apply(this,arguments)}return n}()},{key:"handleTools",value:function(){var t=k(f().mark(function r(a){var o,s,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(this._functionHandler){c.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 o=a.map(function(d){return{name:d.function.name,arguments:d.function.arguments}}),c.next=5,this._functionHandler(o);case 5:if(s=c.sent,!(!Array.isArray(s)||s.find(function(d){return typeof d!="string"})||a.length!==s.length)){c.next=8;break}throw Error("Response must contain an array of strings for each individual function/tool_call, see https://deepchat.dev/docs/directConnection/OpenAI/#assistant-functions.");case 8:return l=s.map(function(d,h){return{tool_call_id:a[h].id,output:d}}),this.url="".concat(i.THREAD_PREFIX,"/").concat(this.sessionId,"/runs/").concat(this.run_id,"/submit_tool_outputs"),c.next=12,ae.directFetch(this,{tool_outputs:l},"POST");case 12:return c.abrupt("return",{timeoutMS:i.POLLING_TIMEOUT_MS});case 13:case"end":return c.stop()}},r,this)}));function n(r){return t.apply(this,arguments)}return n}()}]),i}(ce);jt.THREAD_PREFIX="https://api.openai.com/v1/threads";jt.NEW_ASSISTANT_URL="https://api.openai.com/v1/assistants";jt.POLLING_TIMEOUT_MS=800;var Ou=jt,Bt=function(e){P(i,e);function i(t){var n;g(this,i);var r,a=t.directConnection,o=a==null?void 0:a.openAI,s={images:{files:{acceptedFormats:".png",maxNumberOfFiles:2}}};n=O(this,i,[t,ae.buildKeyVerificationDetails(),ae.buildHeaders,o,s]),n.insertKeyPlaceholderText="OpenAI API Key",n.keyHelpUrl="https://platform.openai.com/account/api-keys",n.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.
`,n.url="",n.permittedErrorPrefixes=["Incorrect","Invalid input image"];var l=(r=a==null?void 0:a.openAI)==null?void 0:r.images;if(n.camera){var u=R(l)=="object"&&l.size?Number.parseInt(l.size):1024;n.camera.files={dimensions:{width:u,height:u}}}return R(l)=="object"&&Object.assign(n.rawBody,l),n.canSendMessage=i.canFileSendMessage,n}return y(i,[{key:"preprocessBody",value:function(n,r){var a=JSON.parse(JSON.stringify(n));return r&&r!==""&&(a.prompt=r),a}},{key:"callApiWithImage",value:function(n,r,a){var o,s,l,u=(s=(o=r[r.length-1])==null?void 0:o.text)==null?void 0:s.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]);B.tempRemoveContentHeader(this.requestSettings,J.request.bind(this,this,l,n),!1)}},{key:"callServiceAPI",value:function(){var t=k(f().mark(function r(a,o,s){var l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if((l=this.requestSettings)!=null&&l.headers){d.next=2;break}throw new Error("Request settings have not been set up");case 2:if(!(s!=null&&s[0])){d.next=6;break}this.callApiWithImage(a,o,s),d.next=11;break;case 6:if(this.requestSettings){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,o[o.length-1].text),J.request(this,u,a);case 11:case"end":return d.stop()}},r,this)}));function n(r,a,o){return t.apply(this,arguments)}return n}()},{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!a.error){s.next=2;break}throw a.error.message;case 2:return s.abrupt("return",{files:a.data.map(function(l){return l.url?{src:l.url,type:"image"}:{src:"".concat(ct).concat(l.b64_json),type:"image"}})});case 3:case"end":return s.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}],[{key:"canFileSendMessage",value:function(n,r){return!!(r!=null&&r[0])||!!(n&&n.trim()!=="")}},{key:"createFormDataBody",value:function(n,r,a){var o=new FormData;return o.append("image",r),a&&o.append("mask",a),Object.keys(n).forEach(function(s){o.append(s,String(n[s]))}),o}}]),i}(ce);Bt.IMAGE_GENERATION_URL="https://api.openai.com/v1/images/generations";Bt.IMAGE_VARIATIONS_URL="https://api.openai.com/v1/images/variations";Bt.IMAGE_EDIT_URL="https://api.openai.com/v1/images/edits";var Pu=Bt,Nu=function(e){P(i,e);function i(t){var n,r,a;g(this,i);var o,s,l,u,c=JSON.parse(JSON.stringify(t.directConnection)),d=c.openAI;a=O(this,i,[t,ae.buildKeyVerificationDetails(),ae.buildHeaders,d]),a.insertKeyPlaceholderText="OpenAI API Key",a.keyHelpUrl="https://platform.openai.com/account/api-keys",a.url="https://api.openai.com/v1/chat/completions",a.permittedErrorPrefixes=["Incorrect"],a.asyncCallInProgress=!1,a._systemMessage=i.generateSystemMessage("You are a helpful assistant.");var h=(o=c.openAI)==null?void 0:o.chat;if(R(h)=="object"){h.system_prompt&&(a._systemMessage=i.generateSystemMessage(h.system_prompt));var p=(l=(s=t.directConnection)==null?void 0:s.openAI)==null?void 0:l.chat,v=p.function_handler;v&&(a._functionHandler=v),a.cleanConfig(h),Object.assign(a.rawBody,h)}return(n=a.maxMessages)!==null&&n!==void 0||(a.maxMessages=-1),(r=(u=a.rawBody).model)!==null&&r!==void 0||(u.model="gpt-3.5-turbo"),a}return y(i,[{key:"cleanConfig",value:function(n){delete n.system_prompt,delete n.function_handler}},{key:"preprocessBody",value:function(n,r){var a,o=JSON.parse(JSON.stringify(n)),s=Un.getCharacterLimitMessages(r,this.totalMessagesMaxCharLength?this.totalMessagesMaxCharLength-this._systemMessage.content.length:-1).map(function(l){return{content:i.getContent(l),role:l.role===F.USER_ROLE?"user":"assistant"}});return r.find(function(l){return l.files&&l.files.length>0})&&((a=o.max_tokens)!==null&&a!==void 0||(o.max_tokens=300)),o.messages=[this._systemMessage].concat(di(s)),o}},{key:"callServiceAPI",value:function(){var t=k(f().mark(function r(a,o){var s,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(this.requestSettings){c.next=2;break}throw new Error("Request settings have not been set up");case 2:s=this.preprocessBody(this.rawBody,o),l=this.deepChat.stream,l&&(R(l)!="object"||!l.simulation)||s.stream?(s.stream=!0,re.request(this,s,a)):J.request(this,s,a);case 4:case"end":return c.stop()}},r,this)}));function n(r,a){return t.apply(this,arguments)}return n}()},{key:"extractResultData",value:function(){var t=k(f().mark(function r(a,o,s){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],o,s):(d=(c=a.choices)==null?void 0:c[0])!=null&&d.message?a.choices[0].message.tool_calls?this.handleTools(a.choices[0].message,o,s):{text:a.choices[0].message.content}:{text:""});case 3:case"end":return p.stop()}},r,this)}));function n(r,a,o){return t.apply(this,arguments)}return n}()},{key:"extractStreamResult",value:function(){var t=k(f().mark(function r(a,o,s){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,o,s)));case 7:u!=null&&u.tool_calls&&(this._streamToolCalls?u.tool_calls.forEach(function(v,m){l._streamToolCalls&&(l._streamToolCalls[m].function.arguments+=v.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()}},r,this)}));function n(r,a,o){return t.apply(this,arguments)}return n}()},{key:"handleTools",value:function(){var t=k(f().mark(function r(a,o,s){var l,u,c,d,h,p,v,m,b,w;return f().wrap(function(x){for(;;)switch(x.prev=x.next){case 0:if(!(!a.tool_calls||!o||!s||!this._functionHandler)){x.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(s)),v=a.tool_calls.map(function(N){return{name:N.function.name,arguments:N.function.arguments}}),x.next=6,(l=this._functionHandler)==null?void 0:l.call(this,v);case 6:if(m=x.sent,!m.text){x.next=15;break}return b={text:m.text},x.next=11,(c=(u=this.deepChat).responseInterceptor)==null?void 0:c.call(u,b);case 11:if(x.t0=x.sent,x.t0){x.next=14;break}x.t0=b;case 14:return x.abrupt("return",x.t0);case 15:if(p.messages.push({tool_calls:a.tool_calls,role:"assistant",content:null}),!(Array.isArray(m)&&!m.find(function(N){return typeof N!="string"})||v.length===m.length)){x.next=35;break}return m.forEach(function(N,M){var j,G=(j=a.tool_calls)==null?void 0:j[M];p==null||p.messages.push({role:"tool",tool_call_id:G==null?void 0:G.id,name:G==null?void 0:G.function.name,content:N.response})}),delete p.tools,delete p.tool_choice,delete p.stream,x.prev=17,x.next=20,o==null?void 0:o(p).then(function(N){return B.processResponseByType(N)});case 20:return w=x.sent,x.next=23,(h=(d=this.deepChat).responseInterceptor)==null?void 0:h.call(d,w);case 23:if(x.t1=x.sent,x.t1){x.next=26;break}x.t1=w;case 26:if(w=x.t1,!w.error){x.next=29;break}throw w.error.message;case 29:return x.abrupt("return",{text:w.choices[0].message.content||""});case 32:throw x.prev=32,x.t2=x.catch(17),this.asyncCallInProgress=!1,x.t2;case 35:throw 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.");case 36:case"end":return x.stop()}},r,this,[[17,32]])}));function n(r,a,o){return t.apply(this,arguments)}return n}()}],[{key:"generateSystemMessage",value:function(n){return{role:"system",content:n}}},{key:"getContent",value:function(n){if(n.files&&n.files.length>0){var r=n.files.map(function(a){return{type:"image_url",image_url:{url:a.src}}});return n.text&&n.text.trim().length>0&&r.unshift({type:"text",text:n.text}),r}return n.text}}]),i}(ce),Du=function(e){P(i,e);function i(t){var n,r;g(this,i);var a,o=JSON.parse(JSON.stringify(t.directConnection)),s=(a=o.cohere)==null?void 0:a.chat,l=o.cohere;return r=O(this,i,[t,"https://api.cohere.ai/v1/chat","Ask me anything!",s,l]),R(s)=="object"&&Object.assign(r.rawBody,s),(n=r.maxMessages)!==null&&n!==void 0||(r.maxMessages=-1),r}return y(i,[{key:"preprocessBody",value:function(n,r){var a=JSON.parse(JSON.stringify(n)),o=r.filter(function(s){return s.text});return a.query=o[o.length-1].text,a.chat_history=o.slice(0,o.length-1).map(function(s){return{text:s.text,user_name:s.role==="ai"?"CHATBOT":"USER"}}),a}},{key:"callServiceAPI",value:function(){var t=k(f().mark(function r(a,o){var s;return f().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.requestSettings){u.next=2;break}throw new Error("Request settings have not been set up");case 2:s=this.preprocessBody(this.rawBody,o),J.request(this,s,a);case 4:case"end":return u.stop()}},r,this)}));function n(r,a){return t.apply(this,arguments)}return n}()},{key:"extractResultData",value:function(){var t=k(f().mark(function r(a){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!a.message){s.next=2;break}throw a.message;case 2:return s.abrupt("return",{text:a.text});case 3:case"end":return s.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()}]),i}(Gn),Fu=function(){function e(){g(this,e)}return y(e,null,[{key:"create",value:function(t){var n=t.directConnection,r=t.request,a=t.demo,o=t.webModel;if(o)return new Vn(t);if(n){if(n.openAI)return n.openAI.images?new Pu(t):n.openAI.speechToText?new Cu(t):n.openAI.textToSpeech?new Eu(t):n.openAI.assistant?new Ou(t):new Nu(t);if(n.assemblyAI)return new Tu(t);if(n.cohere)return n.cohere.textGeneration?new Su(t):n.cohere.summarization?new xu(t):new Du(t);if(n.huggingFace)return n.huggingFace.textGeneration?new vu(t):n.huggingFace.summarization?new gu(t):n.huggingFace.translation?new ku(t):n.huggingFace.fillMask?new wu(t):n.huggingFace.questionAnswer?new mu(t):n.huggingFace.audioSpeechRecognition?new fu(t):n.huggingFace.audioClassification?new cu(t):n.huggingFace.imageClassification?new du(t):new yu(t);if(n.azure){if(n.azure.speechToText)return new Lu(t);if(n.azure.textToSpeech)return new Iu(t);if(n.azure.summarization)return new Au(t);if(n.azure.translation)return new Ru(t)}if(n.stabilityAI)return n.stabilityAI.imageToImage?new bu(t):n.stabilityAI.imageToImageUpscale?new hu(t):n.stabilityAI.imageToImageMasking?new pu(t):new _u(t)}return r?new At(t):new At(t,void 0,a||!0)}}]),e}(),Hi=function(){function e(){g(this,e)}return y(e,null,[{key:"appendStyleSheetToHead",value:function(){var t=document.getElementsByTagName("head")[0];if(!Array.from(t.getElementsByTagName("link")).some(function(r){return r.getAttribute("href")===e.FONT_URL})){var n=document.createElement("link");n.rel="stylesheet",n.href=e.FONT_URL,t.appendChild(n)}}}]),e}();Hi.FONT_URL="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap";var ju=Hi,Vi=y(function e(){g(this,e)});Vi.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))()}};function z(e){return function(i,t){Object.defineProperty(i,t,{});var n=i.constructor,r=t.toLocaleLowerCase();n._attributes_[r]=Vi.attibutes[e],n._attributeToProperty_[r]=t}}var Bu=function(){function e(){g(this,e)}return y(e,null,[{key:"colorToHex",value:function(t){var n=document.createElement("div");return n.style.color=t,document.body.appendChild(n),"#".concat(window.getComputedStyle(n).color.match(/\d+/g).map(function(r){return parseInt(r).toString(16).padStart(2,"0")}).join(""))}},{key:"set",value:function(t,n){var r,a,o,s;if((a=(r=n==null?void 0:n.loading)==null?void 0:r.bubble)!=null&&a.color){var l=e.colorToHex((s=(o=n==null?void 0:n.loading)==null?void 0:o.bubble)==null?void 0:s.color);t.style.setProperty("--message-dots-color",l),t.style.setProperty("--message-dots-color-fade","".concat(l,"33"))}else t.style.setProperty("--message-dots-color","#848484"),t.style.setProperty("--message-dots-color-fade","#55555533")}}]),e}(),qu=function(){function e(i,t,n){g(this,e),this._isDisplayed=!1,i?(this._elementRef=this.createIntroPanelWithChild(i,n),this._isDisplayed=!0):t&&(this._elementRef=this.createInternalIntroPanel(t,n),this._isDisplayed=!0)}return y(e,[{key:"createIntroPanelWithChild",value:function(t,n){var r=e.createIntroPanel(n);return t.style.display==="none"&&(t.style.display="block"),r.appendChild(t),r}},{key:"createInternalIntroPanel",value:function(t,n){var r=e.createIntroPanel(n);return r.id="internal-intro-panel",r.innerHTML=t,r}},{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(t){var n=document.createElement("div");return n.classList.add("intro-panel"),Object.assign(n.style,t),n}}]),e}(),zu=function(){function e(){g(this,e)}return y(e,null,[{key:"getText",value:function(t,n){var r;if(!t.directConnection&&!t.request&&!t.webModel&&!t.demo)return`Connect to any API using the [request](https://deepchat.dev/docs/connect#Request)
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(t.directConnection){if(!n.isDirectConnection())return`Please define a valid service inside
the [directConnection](https://deepchat.dev/docs/directConnection/#directConnection) object.`;var a=(r=t.directConnection.openAI)==null?void 0:r.chat;if(R(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(t.request&&!t.request.url&&!t.request.handler)return"Please define a `url` or a `handler` property inside the [request](https://deepchat.dev/docs/connect#Request) object.";return null}}]),e}(),Uu=`
`,Hu=function(){function e(){g(this,e)}return y(e,null,[{key:"createImage",value:function(t,n){var r=new Image;return r.src=t.src,ye.scrollDownOnImageLoad(r.src,n),ye.processContent("image",r,r.src,t.name)}},{key:"addNewImageMessage",value:function(){var i=k(f().mark(function n(r,a,o){var s,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:s=e.createImage(a,r.elementRef),l=r.createNewMessageElement("",o),l.bubbleElement.appendChild(s),l.bubbleElement.classList.add("image-message"),ye.addMessage(r,l,"image",o);case 2:case"end":return c.stop()}},n)}));function t(n,r,a){return i.apply(this,arguments)}return t}()},{key:"createAudioElement",value:function(t,n){var r=document.createElement("audio");return r.src=t.src,r.classList.add("audio-player"),r.controls=!0,we.IS_SAFARI&&(r.classList.add("audio-player-safari"),r.classList.add(n===F.USER_ROLE?"audio-player-safari-right":"audio-player-safari-left")),r}},{key:"addNewAudioMessage",value:function(t,n,r){var a=e.createAudioElement(n,r),o=t.createNewMessageElement("",r);o.bubbleElement.appendChild(a),o.bubbleElement.classList.add("audio-message"),ye.addMessage(t,o,"audio",r)}},{key:"createAnyFile",value:function(t){var n=document.createElement("div");n.classList.add("any-file-message-contents");var r=document.createElement("div");r.classList.add("any-file-message-icon-container");var a=pe.createSVGElement(Uu);a.classList.add("any-file-message-icon"),r.appendChild(a);var o=document.createElement("div");return o.classList.add("any-file-message-text"),o.textContent=t.name||ye.DEFAULT_FILE_NAME,n.appendChild(r),n.appendChild(o),ye.processContent("any",n,t.src,o.textContent)}},{key:"addNewAnyFileMessage",value:function(t,n,r){var a=t.createNewMessageElement("",r),o=e.createAnyFile(n);a.bubbleElement.classList.add("any-file-message-bubble"),a.bubbleElement.appendChild(o),ye.addMessage(t,a,"file",r)}},{key:"addMessages",value:function(t,n,r){n.forEach(function(a){var o,s;a.ref&&(a=ye.removeFileRef(a)),a.type==="audio"||(o=a.src)!=null&&o.startsWith("data:audio")?e.addNewAudioMessage(t,a,r):a.type==="image"||(s=a.src)!=null&&s.startsWith("data:image")?e.addNewImageMessage(t,a,r):e.addNewAnyFileMessage(t,a,r)})}}]),e}(),Vu=function(e){P(i,e);function i(t,n,r){var a;g(this,i);var o,s;a=O(this,i,[t]);var l=n.permittedErrorPrefixes,u=n.introPanelMarkUp,c=n.demo;return a._errorMessageOverrides=(o=t.errorMessages)==null?void 0:o.overrides,a._onClearMessages=Mt.onClearMessages.bind(de(a),t),a._onError=Mt.onError.bind(de(a),t),a._displayLoadingMessage=i.getDisplayLoadingMessage(t,n),a._permittedErrorPrefixes=l,a.addSetupMessageIfNeeded(t,n)||a.populateIntroPanel(r,u,t.introPanelStyle),a.addIntroductoryMessage(t,n),t.initialMessages&&a.populateInitialMessages(t.initialMessages),a._displayServiceErrorMessages=(s=t.errorMessages)==null?void 0:s.displayServiceErrorMessages,t.getMessages=function(){return JSON.parse(JSON.stringify(a.messages))},t.clearMessages=a.clearMessages.bind(de(a),n),t.refreshMessages=a.refreshTextMessages.bind(de(a)),t.scrollToBottom=he.scrollToBottom.bind(de(a),a.elementRef),t._addMessage=function(d,h){a.addNewMessage(V(V({},d),{},{sendUpdate:!!h}),!h)},n.isWebModel()&&n.setUpMessages(de(a)),c&&a.prepareDemo(c),t.textToSpeech&&xt.processConfig(t.textToSpeech,function(d){a.textToSpeech=d}),n.fetchHistory&&a.fetchHistory(n.fetchHistory),a}return y(i,[{key:"prepareDemo",value:function(n){R(n)=="object"&&(n.response&&(this.customDemoResponse=n.response),n.displayErrors&&(n.displayErrors.default&&this.addNewErrorMessage("",""),n.displayErrors.service&&this.addNewErrorMessage("service",""),n.displayErrors.speechToText&&this.addNewErrorMessage("speechToText","")),n.displayLoadingBubble&&this.addLoadingMessage())}},{key:"addSetupMessageIfNeeded",value:function(n,r){var a=zu.getText(n,r);if(a){var o=this.createAndAppendNewMessageElement(a,F.AI_ROLE);this.applyCustomStyles(o,F.AI_ROLE,!1)}return!!a}},{key:"addIntroductoryMessage",value:function(n,r){var a,o;n!=null&&n.shadowRoot&&(this._introMessage=n.introMessage);var s=this._introMessage;if(r!=null&&r.isWebModel()&&((a=s)!==null&&a!==void 0||(s=r.getIntroMessage(s))),s){var l;s!=null&&s.text?l=this.createAndAppendNewMessageElement(s.text,F.AI_ROLE):s!=null&&s.html&&(l=xn.add(this,s.html,F.AI_ROLE,this.messageElementRefs)),l&&(this.applyCustomStyles(l,F.AI_ROLE,!1,(o=this.messageStyles)==null?void 0:o.intro),l.outerContainer.classList.add("deep-chat-intro"))}}},{key:"removeIntroductoryMessage",value:function(){var n=this.messageElementRefs[0];n.outerContainer.classList.contains("deep-chat-intro")&&(n.outerContainer.remove(),this.messageElementRefs.shift())}},{key:"populateInitialMessages",value:function(n){var r=this;n.forEach(function(a){Re.processInitialMessageFile(a),r.addNewMessage(a,!0)}),setTimeout(function(){return he.scrollToBottom(r.elementRef)},0)}},{key:"fetchHistory",value:function(){var t=k(f().mark(function r(a){var o=this;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:return l.next=2,a();case 2:l.sent.forEach(function(u){u.error?o.addNewErrorMessage("service",u.error):o.addNewMessage(u,!0)}),setTimeout(function(){return he.scrollToBottom(o.elementRef)},0);case 4:case"end":return l.stop()}},r)}));function n(r){return t.apply(this,arguments)}return n}()},{key:"addNewMessage",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=i.createMessageContent(n),o={status:n.overwrite};if(!n.ignoreText&&a.text!==void 0&&n.text!==null&&(this.addNewTextMessage(a.text,a.role,o),!r&&this.textToSpeech&&a.role!==F.USER_ROLE&&xt.speak(a.text,this.textToSpeech)),a.files&&Array.isArray(a.files)&&Hu.addMessages(this,a.files,a.role),a.html!==void 0&&a.html!==null){var s=xn.add(this,a.html,a.role,this.messageElementRefs,o);Ct.isElementTemporary(s)&&delete a.html}this.isValidMessageContent(a)&&this.updateStateOnMessage(a,n.overwrite,n.sendUpdate,r)}},{key:"isValidMessageContent",value:function(n){return n.text||n.html||n.files&&n.files.length>0}},{key:"updateStateOnMessage",value:function(n,r){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;r||this.messages.push(n),a&&this.sendClientUpdate(n,o)}},{key:"removeMessageOnError",value:function(){var n=this.messageElementRefs[this.messageElementRefs.length-1],r=n==null?void 0:n.bubbleElement;(r!=null&&r.classList.contains(Pe.MESSAGE_CLASS)&&r.textContent===""||i.isTemporaryElement(n))&&this.removeLastMessage()}},{key:"addNewErrorMessage",value:function(n,r){var a,o,s,l,u;this.removeMessageOnError();var c=i.createBaseElements(),d=c.outerContainer,h=c.bubbleElement;h.classList.add("error-message-text");var p=this.getPermittedMessage(r)||((a=this._errorMessageOverrides)==null?void 0:a[n])||((o=this._errorMessageOverrides)==null?void 0:o.default)||"Error, please try again.";this.renderText(h,p);var v=Et.extractParticularSharedStyles(["fontSize","fontFamily"],(s=this.messageStyles)==null?void 0:s.default);Et.applyCustomStylesToElements(c,!1,v),Et.applyCustomStylesToElements(c,!1,(l=this.messageStyles)==null?void 0:l.error),this.elementRef.appendChild(d),he.scrollToBottom(this.elementRef),this.textToSpeech&&xt.speak(p,this.textToSpeech),(u=this._onError)==null||u.call(this,p)}},{key:"getPermittedMessage",value:function(n){if(n){if(this._displayServiceErrorMessages)return n;if(typeof n=="string"&&this._permittedErrorPrefixes){var r=i.checkPermittedErrorPrefixes(this._permittedErrorPrefixes,n);if(r)return r}else if(Array.isArray(n)&&this._permittedErrorPrefixes)for(var a=0;a0&&t.classList.add("text-input-inner-left-adjustment"),n["inside-right"].length>0&&t.classList.add("text-input-inner-right-adjustment")}},{key:"adjustForOutsideButton",value:function(t,n,r){r["outside-right"].length===0&&r["outside-left"].length>0?(t[0].classList.add(e.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS),n.classList.add(e.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS)):r["outside-left"].length===0&&r["outside-right"].length>0&&(t[3].classList.add(e.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS),n.classList.add(e.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS))}},{key:"adjustOutsideSubmit",value:function(t,n,r){if(!(r["inside-left"].length>0||r["inside-right"].length>0)){if(r["outside-right"].length===0&&r["outside-left"].length>0)return t[0].classList.add(e.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS),n.classList.add(e.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS),r["outside-left"].map(function(a){return a.button.elementRef.classList.add("submit-button-enlarged")});if(r["outside-left"].length===0&&r["outside-right"].length>0)return t[3].classList.add(e.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS),n.classList.add(e.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS),r["outside-right"].map(function(a){return a.button.elementRef.classList.add("submit-button-enlarged")})}}},{key:"set",value:function(t,n,r,a){e.adjustOutsideSubmit(n,r,a)||e.adjustForOutsideButton(n,r,a),e.adjustInputPadding(t,a)}}]),e}();dt.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS="text-input-container-left-adjustment";dt.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS="text-input-container-right-adjustment";dt.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS="text-input-container-left-small-adjustment";dt.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS="text-input-container-right-small-adjustment";var $u=dt,Tt=function(){function e(){g(this,e)}return y(e,null,[{key:"create",value:function(){return Array.from({length:4}).map(function(t,n){var r=document.createElement("div");return r.classList.add("input-button-container"),(n===0||n===3)&&r.classList.add("outer-button-container"),(n===1||n===2)&&r.classList.add("inner-button-container"),r})}},{key:"add",value:function(t,n){t.insertBefore(n[1],t.firstChild),t.insertBefore(n[0],t.firstChild),t.appendChild(n[2]),t.appendChild(n[3])}},{key:"getContainerIndex",value:function(t){return t==="outside-left"?0:t==="inside-left"?1:t==="inside-right"?2:3}},{key:"addButton",value:function(t,n,r){n.classList.add(r);var a=e.getContainerIndex(r);t[a].appendChild(n),a===3&&n.classList.add("outside-right")}}]),e}(),Lr=["camera","gifs","images","audio","mixedFiles","submit","microphone"],Ye=function(){function e(){g(this,e)}return y(e,null,[{key:"createTextElement",value:function(t){var n=document.createElement("div");return n.classList.add("text-button"),n.innerText=t,n}},{key:"createElement",value:function(t,n){return n?e.createTextElement(t):pe.createSVGElement(t)}},{key:"createCustomElement",value:function(t,n){var r,a,o,s,l=n==null?void 0:n[t];if((r=l==null?void 0:l.text)!=null&&r.content)return e.createElement((a=l==null?void 0:l.text)==null?void 0:a.content,!0);if((o=l==null?void 0:l.svg)!=null&&o.content)return e.createElement((s=l==null?void 0:l.svg)==null?void 0:s.content,!1)}},{key:"processElement",value:function(t,n){n!=null&&n.classList.contains("text-button")||t.classList.add("input-button-svg")}},{key:"createSpecificStateElement",value:function(t,n,r){var a;return r&&(a=e.createCustomElement(n,r)),e.processElement(t,a),a}},{key:"create",value:function(t,n,r){var a={};if(!r)return e.processElement(t),a;var o=e.createSpecificStateElement(t,n[0],r);a[n[0]]=o;var s=o;return n.slice(1).forEach(function(l){s=e.createCustomElement(l,r)||s,a[l]=s}),a}}]),e}(),Gu=`
`,Te=function(){function e(){g(this,e)}return y(e,null,[{key:"unsetAllCSS",value:function(t,n){var r,a;n.container&&ie.unsetAllCSSMouseStates(t,n.container),(r=n.svg)!=null&&r.styles&&ie.unsetAllCSSMouseStates(t.children[0],n.svg.styles),(a=n.text)!=null&&a.styles&&ie.unsetAllCSSMouseStates(t.children[0],n.text.styles)}},{key:"unsetActionCSS",value:function(t,n){var r,a;n.container&&ie.unsetActivityCSSMouseStates(t,n.container),(r=n.svg)!=null&&r.styles&&ie.unsetActivityCSSMouseStates(t.children[0],n.svg.styles),(a=n.text)!=null&&a.styles&&ie.unsetActivityCSSMouseStates(t.children[0],n.text.styles)}},{key:"setElementsCSS",value:function(t,n,r){var a,o,s,l,u;Object.assign(t.style,(a=n.container)==null?void 0:a[r]),Object.assign(t.children[0].style,(s=(o=n.svg)==null?void 0:o.styles)==null?void 0:s[r]),Object.assign(t.children[0].style,(u=(l=n.text)==null?void 0:l.styles)==null?void 0:u[r])}},{key:"setElementCssUpToState",value:function(t,n,r){e.setElementsCSS(t,n,"default"),r!=="default"&&(e.setElementsCSS(t,n,"hover"),r!=="hover"&&e.setElementsCSS(t,n,"click"))}}]),e}(),ht=function(){function e(i,t,n,r){g(this,e),this._mouseState={state:"default"},this.elementRef=i,this._customStyles=n,this.position=t,this.dropupText=r}return y(e,[{key:"buttonMouseLeave",value:function(t){this._mouseState.state="default",t&&(Te.unsetAllCSS(this.elementRef,t),Te.setElementsCSS(this.elementRef,t,"default"))}},{key:"buttonMouseEnter",value:function(t){this._mouseState.state="hover",t&&Te.setElementsCSS(this.elementRef,t,"hover")}},{key:"buttonMouseUp",value:function(t){t&&Te.unsetActionCSS(this.elementRef,t),this.buttonMouseEnter(t)}},{key:"buttonMouseDown",value:function(t){this._mouseState.state="click",t&&Te.setElementsCSS(this.elementRef,t,"click")}},{key:"setEvents",value:function(t){this.elementRef.onmousedown=this.buttonMouseDown.bind(this,t),this.elementRef.onmouseup=this.buttonMouseUp.bind(this,t),this.elementRef.onmouseenter=this.buttonMouseEnter.bind(this,t),this.elementRef.onmouseleave=this.buttonMouseLeave.bind(this,t)}},{key:"unsetCustomStateStyles",value:function(t){if(this._customStyles)for(var n=0;n3&&arguments[3]!==void 0?arguments[3]:!1,o=a?t:t[r?"nextSibling":"previousSibling"];o?(t.dispatchEvent(new MouseEvent("mouseleave")),o.dispatchEvent(new MouseEvent("mouseenter"))):(t.dispatchEvent(new MouseEvent("mouseleave")),e.focusItemWhenOnEdge(n,r))}}]),e}(),Wu=function(){function e(){g(this,e)}return y(e,null,[{key:"addItemEvents",value:function(t,n,r,a){Si.add(n,a),n.addEventListener("click",function(){r.click()}),n.addEventListener("mouseenter",function(o){t.highlightedItem=o.target}),n.addEventListener("mouseleave",function(){t.highlightedItem=void 0})}},{key:"createItemText",value:function(t,n){var r=document.createElement("div");return Object.assign(r.style,n),r.classList.add("dropup-menu-item-text"),r.textContent=t||"File",r}},{key:"createItemIcon",value:function(t,n){var r=document.createElement("div");return Object.assign(r.style,n),r.classList.add("dropup-menu-item-icon"),r.appendChild(t.children[0]),r}},{key:"populateItem",value:function(t,n,r,a){var o=t.children[0];o.classList.contains("text-button")?n.appendChild(e.createItemText(o.textContent,a==null?void 0:a.text)):(n.appendChild(e.createItemIcon(t,a==null?void 0:a.iconContainer)),n.appendChild(e.createItemText(r,a==null?void 0:a.text)))}},{key:"createItem",value:function(t,n,r){var a,o=n.elementRef,s=n.dropupText,l=document.createElement("div");Object.assign(l.style,(a=r==null?void 0:r.item)==null?void 0:a.default),e.populateItem(o,l,s,r),l.classList.add("dropup-menu-item");var u=ie.processStateful((r==null?void 0:r.item)||{},{backgroundColor:"#f3f3f3"},{backgroundColor:"#ebebeb"});return e.addItemEvents(t,l,o,u),l}}]),e}(),Ku=function(){function e(i,t){var n=this;g(this,e);var r;this._isOpen=!0,this._styles=t,this.elementRef=e.createElement((r=this._styles)==null?void 0:r.container),this.close(),setTimeout(function(){return n.addWindowEvents(i)})}return y(e,[{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(t){var n=Wu.createItem(this,t,this._styles);this.elementRef.appendChild(n)}},{key:"addWindowEvents",value:function(t){this.clickEvent=this.windowClick.bind(this,t),window.addEventListener("click",this.clickEvent),this.keyDownEvent=this.windowKeyDown.bind(this,t),window.addEventListener("keydown",this.keyDownEvent)}},{key:"windowClick",value:function(t,n){var r;!t.isConnected&&this.clickEvent?window.removeEventListener("click",this.clickEvent):t.parentElement!==((r=n.target.shadowRoot)==null?void 0:r.children[0])&&this.close()}},{key:"windowKeyDown",value:function(t,n){var r,a,o;!t.isConnected&&this.keyDownEvent?window.removeEventListener("keydown",this.keyDownEvent):this._isOpen&&(n.key===ne.ESCAPE?(this.close(),(r=this.highlightedItem)==null||r.dispatchEvent(new MouseEvent("mouseleave"))):n.key===ne.ENTER?((a=this.highlightedItem)==null||a.click(),(o=this.highlightedItem)==null||o.dispatchEvent(new MouseEvent("mouseleave"))):n.key===ne.ARROW_DOWN?Rr.focusSiblingItem(this.highlightedItem||this.elementRef.children[this.elementRef.children.length-1],this.elementRef,!0):n.key===ne.ARROW_UP&&Rr.focusSiblingItem(this.highlightedItem||this.elementRef.children[0],this.elementRef,!1))}}],[{key:"createElement",value:function(t){var n=document.createElement("div");return n.id="dropup-menu",Object.assign(n.style,t),n}}]),e}(),Or=function(e){P(i,e);function i(t,n){var r;g(this,i);var a;r=O(this,i,[i.createButtonElement(),void 0,{styles:(a=n==null?void 0:n.button)==null?void 0:a.styles}]);var o=r.createInnerElements(r._customStyles);return r._menu=new Ku(t,n==null?void 0:n.menu),r.addClickEvent(),r.buttonContainer=i.createButtonContainer(),r.elementRef.appendChild(o.styles),r.buttonContainer.appendChild(r.elementRef),r.elementRef.classList.add("dropup-icon","upload-file-button"),r.elementRef.children[0].id="dropup-icon",r.buttonContainer.appendChild(r._menu.elementRef),r.reapplyStateStyle("styles"),r.addContainerEvents(t),r}return y(i,[{key:"createInnerElements",value:function(n){return{styles:this.createInnerElement(i.createSVGIconElement(),"styles",n)}}},{key:"createInnerElement",value:function(n,r,a){return Ye.createSpecificStateElement(this.elementRef,r,a)||n}},{key:"addClickEvent",value:function(){this.elementRef.onclick=this._menu.toggle.bind(this._menu)}},{key:"addItem",value:function(n){this._menu.addItem(n)}},{key:"addContainerEvents",value:function(n){var r=this;n.addEventListener("click",function(a){a.target.classList.contains("dropup-icon")||r._menu.close()})}}],[{key:"createButtonElement",value:function(){var n=document.createElement("div");return n.classList.add("input-button"),n}},{key:"createSVGIconElement",value:function(){return pe.createSVGElement(Gu)}},{key:"createButtonContainer",value:function(){var n=document.createElement("div");return n.id="dropup-container",n}},{key:"getPosition",value:function(n,r){var a,o;return(a=r==null?void 0:r.button)!=null&&a.position?(o=r==null?void 0:r.button)==null?void 0:o.position:n["outside-left"].length>0&&n["outside-right"].length===0?"outside-right":"outside-left"}}]),i}(ht),Yu=function(){function e(){g(this,e)}return y(e,null,[{key:"addToDropup",value:function(t,n,r,a){var o=new Or(r,a);Lr.forEach(function(l){var u=n["dropup-menu"].findIndex(function(d){return d.buttonType===l}),c=n["dropup-menu"][u];c&&(o.addItem(c.button),n["dropup-menu"].splice(u,1))});var s=Or.getPosition(n,a);Tt.addButton(t,o.buttonContainer,s),n[s].push({})}},{key:"addToSideContainer",value:function(t,n){["inside-left","inside-right","outside-left","outside-right"].forEach(function(r){var a=r;n[a].forEach(function(o){Tt.addButton(t,o.button.elementRef,a)})})}},{key:"setPosition",value:function(t,n,r){var a=V(V({},t[n]),{},{buttonType:n});r.push(a),delete t[n]}},{key:"createPositionsObj",value:function(){return{"dropup-menu":[],"outside-left":[],"inside-left":[],"inside-right":[],"outside-right":[]}}},{key:"generatePositions",value:function(t){var n=e.createPositionsObj();Object.keys(t).forEach(function(a){var o,s=(o=t[a])==null?void 0:o.button.position;s&&e.setPosition(t,a,n[s])}),n["inside-right"].length===0&&t.submit&&e.setPosition(t,"submit",n["inside-right"]),n["outside-right"].length===0&&(t.submit?e.setPosition(t,"submit",n["outside-right"]):t.microphone?e.setPosition(t,"microphone",n["outside-right"]):t.camera&&e.setPosition(t,"camera",n["outside-right"])),t.submit&&e.setPosition(t,"submit",n["outside-left"].length===0?n["outside-left"]:n["inside-right"]),t.microphone&&e.setPosition(t,"microphone",n["outside-left"].length===0?n["outside-left"]:n["inside-right"]);var r=Object.keys(t);return r.length>1||n["dropup-menu"].length>0?Lr.forEach(function(a){t[a]&&n["dropup-menu"].push(V(V({},t[a]),{},{buttonType:a}))}):r.length===1&&e.setPosition(t,r[0],n["outside-right"].length===0?n["outside-right"]:n["outside-left"]),n}},{key:"addButtons",value:function(t,n,r,a){var o=e.generatePositions(n);return e.addToSideContainer(t,o),o["dropup-menu"].length>0&&e.addToDropup(t,o,r,a),o}}]),e}(),Ju=`
file
`,Zu=`
`,Xu=`
`,Qu=`
`,ec={images:{id:"upload-images-icon",svgString:Zu,dropupText:"Image"},gifs:{id:"upload-gifs-icon",svgString:Qu,dropupText:"GIF"},audio:{id:"upload-audio-icon",svgString:Xu,dropupText:"Audio"},mixedFiles:{id:"upload-mixed-files-icon",svgString:Ju,dropupText:"File"}},Kn=function(){function e(i,t,n,r){var a=this;g(this,e),this._attachments=[],this._fileCountLimit=99,this._acceptedFormat="",t.maxNumberOfFiles&&(this._fileCountLimit=t.maxNumberOfFiles),this._toggleContainerDisplay=n,this._fileAttachmentsContainerRef=r,t.acceptedFormats&&(this._acceptedFormat=t.acceptedFormats),setTimeout(function(){a._validationHandler=i._validationHandler})}return y(e,[{key:"attemptAddFile",value:function(t,n){return e.isFileTypeValid(t,this._acceptedFormat)?(this.addAttachmentBasedOnType(t,n,!0),!0):!1}},{key:"addAttachmentBasedOnType",value:function(t,n,r){var a=e.getTypeFromBlob(t);if(a==="image"){var o=e.createImageAttachment(n);this.addFileAttachment(t,"image",o,r)}else if(a==="audio"){var s=In.createAudioAttachment(n);this.addFileAttachment(t,"audio",s,r)}else{var l=e.createAnyFileAttachment(t.name);this.addFileAttachment(t,"any",l,r)}}},{key:"addFileAttachment",value:function(t,n,r,a){var o,s=e.createContainer(r);if(this._attachments.length>=this._fileCountLimit){var l=this._attachments[this._attachments.length-1].removeButton;l==null||l.click();var u=this._fileAttachmentsContainerRef.children;this._fileAttachmentsContainerRef.insertBefore(s,u[0])}else this._fileAttachmentsContainerRef.appendChild(s);var c={file:t,attachmentContainerElement:s,fileType:n};return a&&(c.removeButton=this.createRemoveAttachmentButton(c),s.appendChild(c.removeButton)),this._toggleContainerDisplay(!0),this._attachments.push(c),this._fileAttachmentsContainerRef.scrollTop=this._fileAttachmentsContainerRef.scrollHeight,(o=this._validationHandler)==null||o.call(this),c}},{key:"createRemoveAttachmentButton",value:function(t){var n=document.createElement("div");n.classList.add("remove-file-attachment-button"),n.onclick=this.removeAttachment.bind(this,t);var r=document.createElement("div");return r.classList.add("x-icon"),r.innerText="×",n.appendChild(r),n}},{key:"removeAttachment",value:function(t){var n,r=this._attachments.findIndex(function(o){return o===t}),a=this._attachments[r].attachmentContainerElement;this._attachments.splice(r,1),In.stopAttachmentPlayback(a),a.remove(),this._toggleContainerDisplay(!1),(n=this._validationHandler)==null||n.call(this)}},{key:"getFiles",value:function(){return Array.from(this._attachments).map(function(t){return{file:t.file,type:t.fileType}})}},{key:"removeAllAttachments",value:function(){this._attachments.forEach(function(t){setTimeout(function(){var n;return(n=t.removeButton)==null?void 0:n.click()})})}}],[{key:"isFileTypeValid",value:function(t,n){if(n==="")return!0;for(var r=n.split(","),a=0;a
play
`,Pr=`
stop
`,$i=function(e){P(i,e);function i(t,n,r,a){return g(this,i),O(this,i,[t,n,r,a])}return y(i,[{key:"createTimer",value:function(n,r){var a=this,o=0,s=r!==void 0&&r0?t:void 0}},{key:"completePlaceholders",value:function(){var i=k(f().mark(function n(){return f().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,Promise.all(this._fileAttachmentsTypes.map(function(){var o=k(f().mark(function s(l){var u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return d.abrupt("return",(u=l.stopPlaceholderCallback)==null?void 0:u.call(l));case 1:case"end":return d.stop()}},s)}));return function(s){return o.apply(this,arguments)}}()));case 2:case"end":return a.stop()}},n,this)}));function t(){return i.apply(this,arguments)}return t}()},{key:"addFilesToAnyType",value:function(t){e.addFilesToType(t,this._fileAttachmentsTypes)}},{key:"removeAllFiles",value:function(){this._fileAttachmentsTypes.forEach(function(t){return t.removeAllAttachments()}),this.elementRef.replaceChildren(),this.toggleContainerDisplay(!1)}},{key:"getNumberOfTypes",value:function(){return this._fileAttachmentsTypes.length}}],[{key:"addFilesToType",value:function(t,n){t.forEach(function(r){var a=new FileReader;a.readAsDataURL(r),a.onload=function(o){for(var s=0;s0}}]),e}(),ic=function(){function e(){g(this,e)}return y(e,null,[{key:"validate",value:function(t,n,r,a,o){var s=t(r,a,o);return s?n.changeToSubmitIcon():n.changeToDisabledIcon(),s}},{key:"useValidationFunc",value:function(){var i=k(f().mark(function n(r,a,o,s){var l,u,c,d;return f().wrap(function(p){for(;;)switch(p.prev=p.next){case 0:return l=a.inputElementRef,u=l.classList.contains("text-input-placeholder")?"":l.textContent,p.next=3,o.completePlaceholders();case 3:return c=o.getAllFileData(),d=c==null?void 0:c.map(function(v){return v.file}),p.abrupt("return",e.validate(r,s,u,d));case 5:case"end":return p.stop()}},n)}));function t(n,r,a,o){return i.apply(this,arguments)}return t}()},{key:"useValidationFuncProgrammatic",value:function(){var i=k(f().mark(function n(r,a,o){var s,l;return f().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:return l=(s=a.files)==null?void 0:s.map(function(d){return d.file}),c.abrupt("return",e.validate(r,o,a.text,l,!0));case 2:case"end":return c.stop()}},n)}));function t(n,r,a){return i.apply(this,arguments)}return t}()},{key:"validateWebsocket",value:function(t,n){return t.websocket&&!lt.canSendMessage(t.websocket)?(n.changeToDisabledIcon(),!1):!0}},{key:"attach",value:function(t,n,r,a,o){var s=t.validateInput||Re.processValidateInput(t);t._validationHandler=function(){var l=k(f().mark(function u(c){var d;return f().wrap(function(p){for(;;)switch(p.prev=p.next){case 0:if(!(o.status.loadingActive||o.status.requestInProgress||n.isSubmitProgrammaticallyDisabled===!0||!e.validateWebsocket(n,o))){p.next=2;break}return p.abrupt("return",!1);case 2:return d=s||n.canSendMessage,p.abrupt("return",d?c?e.useValidationFuncProgrammatic(d,c,o):e.useValidationFunc(d,r,a,o):null);case 4:case"end":return p.stop()}},u)}));return function(u){return l.apply(this,arguments)}}()}}]),e}(),ac=`
`,Wi=function(e){P(i,e);function i(t){var n;return g(this,i),(t==null?void 0:t.position)==="dropup-menu"&&(t.position="outside-right"),n=O(this,i,[i.createMicrophoneElement(),t==null?void 0:t.position,t]),n.isActive=!1,n._innerElements=n.createInnerElements(n._customStyles),n.changeToDefault(),n}return y(i,[{key:"createInnerElements",value:function(n){var r=i.createSVGIconElement();return{default:this.createInnerElement(r,"default",n),active:this.createInnerElement(r,"active",n),unsupported:this.createInnerElement(r,"unsupported",n),commandMode:this.createInnerElement(r,"commandMode",n)}}},{key:"createInnerElement",value:function(n,r,a){return Ye.createSpecificStateElement(this.elementRef,r,a)||n}},{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(n){var r=this.elementRef.children[0];if(r.tagName.toLocaleLowerCase()==="svg")switch(n){case"default":r.classList.remove("active-microphone-icon","command-microphone-icon"),r.classList.add("default-microphone-icon");break;case"active":r.classList.remove("default-microphone-icon","command-microphone-icon"),r.classList.add("active-microphone-icon");break;case"command":r.classList.remove("active-microphone-icon","default-microphone-icon"),r.classList.add("command-microphone-icon");break}}}],[{key:"createMicrophoneElement",value:function(){var n=document.createElement("div");return n.id="microphone-button",n.classList.add("input-button"),n}},{key:"createSVGIconElement",value:function(){var n=pe.createSVGElement(ac);return n.id="microphone-icon",n}}]),i}(ht),Ki={},qt={},zt={},pt={},He={};Object.defineProperty(He,"__esModule",{value:!0});He.Text=void 0;var Ut=function(){function e(){g(this,e)}return y(e,null,[{key:"capitalize",value:function(t){return t.replace(e.FIRST_CHAR_REGEX,function(n){return n.toUpperCase()})}},{key:"lineBreak",value:function(t){return t.replace(e.DOUBLE_LINE,"
").replace(e.ONE_LINE," ")}},{key:"isCharDefined",value:function(t){return t!==void 0&&t!==" "&&t!==" "&&t!==`
`&&t!==""}},{key:"breakupIntoWordsArr",value:function(t){return t.split(/(\W+)/)}}]),e}();He.Text=Ut;Ut.FIRST_CHAR_REGEX=/\S/;Ut.DOUBLE_LINE=/\n\n/g;Ut.ONE_LINE=/\n/g;Object.defineProperty(pt,"__esModule",{value:!0});pt.Translate=void 0;var oc=He,sc=function(){function e(){g(this,e)}return y(e,null,[{key:"translate",value:function(t,n){for(var r=oc.Text.breakupIntoWordsArr(t),a=0;at.clientHeight||t.scrollWidth>t.clientWidth}},{key:"isRequired",value:function(t,n){return t&&e.isElementOverflown(n)}}]),e}();mt.AutoScroll=cc;var Ve={};Object.defineProperty(Ve,"__esModule",{value:!0});Ve.Elements=void 0;var dc=function(){function e(){g(this,e)}return y(e,null,[{key:"isPrimitiveElement",value:function(t){return t.tagName==="INPUT"||t.tagName==="TEXTAREA"}},{key:"createInterimSpan",value:function(){var t=document.createElement("span");return t.style.color="grey",t.style.pointerEvents="none",t}},{key:"createGenericSpan",value:function(){var t=document.createElement("span");return t.style.pointerEvents="none",t}},{key:"appendSpans",value:function(t,n){if(t.spansPopulated=!0,t.insertInCursorLocation&&document.activeElement===n){var r=window.getSelection();if(r!=null&&r.focusNode){var a=r.getRangeAt(0);a.insertNode(t.scrollingSpan),a.insertNode(t.interimSpan),a.insertNode(t.finalSpan),a.collapse(!1),r.removeAllRanges(),r.addRange(a);return}}n.appendChild(t.finalSpan),n.appendChild(t.interimSpan),n.appendChild(t.scrollingSpan)}},{key:"applyCustomColors",value:function(t,n){n.interim&&(t.interimSpan.style.color=n.interim),n.final&&(t.finalSpan.style.color=n.final)}},{key:"isInsideShadowDOM",value:function(t){return t.getRootNode()instanceof ShadowRoot}}]),e}();Ve.Elements=dc;var $e={};Object.defineProperty($e,"__esModule",{value:!0});$e.Cursor=void 0;var hc=function(){function e(){g(this,e)}return y(e,null,[{key:"setOffsetForGeneric",value:function(t,n){for(var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=0,o=0;o0){var l=e.setOffsetForGeneric(s,n,r);if(l===-1)return-1;r+=l}else if(s.textContent!==null){if(r+s.textContent.length>n){var u=document.createRange();u.setStart(s,n-r),u.collapse(!0);var c=window.getSelection();return c==null||c.removeAllRanges(),c==null||c.addRange(u),t.focus(),-1}r+=s.textContent.length,a+=s.textContent.length}}return a}},{key:"focusEndOfGeneric",value:function(t){var n=document.createRange();n.selectNodeContents(t),n.collapse(!1);var r=window.getSelection();r&&(r.removeAllRanges(),r.addRange(n))}},{key:"setOffsetForSafariGeneric",value:function(t,n){var r=window.getSelection();if(r){var a=e.getGenericElementCursorOffset(t,r,!0);console.log(a),setTimeout(function(){},100),e.setOffsetForGeneric(t,a+n)}}},{key:"setOffsetForPrimitive",value:function(t,n,r){r&&t.blur(),t.setSelectionRange(n,n),t.focus()}},{key:"getGenericElementCursorOffset",value:function(t,n,r){var a=0;if(n.rangeCount>0){var o=n.getRangeAt(0),s=o.cloneRange();s.selectNodeContents(t),r?s.setEnd(o.startContainer,o.startOffset):s.setEnd(o.endContainer,o.endOffset),a=s.toString().length}return a}}]),e}();$e.Cursor=hc;Object.defineProperty(vt,"__esModule",{value:!0});vt.CommandUtils=void 0;var Fr=mt,pc=Ve,fc=Ze,jr=$e,Br=He,vc=function(){function e(){g(this,e)}return y(e,null,[{key:"processCommand",value:function(t,n){return(!n||!n.caseSensitive)&&(t=t.toLowerCase()),(n==null?void 0:n.substrings)===!1?Br.Text.breakupIntoWordsArr(t):t}},{key:"process",value:function(t){var n;return((n=t.settings)===null||n===void 0?void 0:n.caseSensitive)===!0?t:Object.keys(t).reduce(function(r,a){var o=t[a];return r[a]=typeof o=="string"?e.processCommand(o,t.settings):o,r},{})}},{key:"toggleCommandModeOn",value:function(t){var n;t.isWaitingForCommand=!0,(n=t.onCommandModeTrigger)===null||n===void 0||n.call(t,!0)}},{key:"toggleCommandModeOff",value:function(t){var n;t.isWaitingForCommand&&((n=t.onCommandModeTrigger)===null||n===void 0||n.call(t,!1),t.isWaitingForCommand=!1)}},{key:"setText",value:function(t,n,r,a){e.toggleCommandModeOff(t),pc.Elements.isPrimitiveElement(a)?(a.value=r,t.isTargetInShadow||jr.Cursor.setOffsetForPrimitive(a,r.length,!0),fc.Browser.IS_SAFARI()&&t.autoScroll&&Fr.AutoScroll.scrollSafariPrimitiveToEnd(a)):(a.textContent=r,t.isTargetInShadow||jr.Cursor.focusEndOfGeneric(a),setTimeout(function(){return Fr.AutoScroll.scrollGeneric(t,a)})),t.resetRecording(n)}},{key:"checkIfMatchesSubstring",value:function(t,n){return n.includes(t)}},{key:"checkIfMatchesWord",value:function(t,n,r){for(var a=t,o=r.length-1;o>=0;o-=1){for(var s=o,l=a.length-1;r[s]===a[l]&&l>=0;)s-=1,l-=1;if(l<0)return!0}return!1}},{key:"execCommand",value:function(t,n,r,a,o){var s,l,u,c=t.commands;if(!(!c||!a||!r)){var d=((s=c.settings)===null||s===void 0?void 0:s.caseSensitive)===!0?n:n.toLowerCase(),h=Br.Text.breakupIntoWordsArr(d),p=((l=c.settings)===null||l===void 0?void 0:l.substrings)===!1?e.checkIfMatchesWord:e.checkIfMatchesSubstring;if(c.commandMode&&p(c.commandMode,d,h))return t.setInterimColorToFinal(),setTimeout(function(){return e.toggleCommandModeOn(t)}),{doNotProcessTranscription:!1};if(!(c.commandMode&&!t.isWaitingForCommand)){if(c.stop&&p(c.stop,d,h))return e.toggleCommandModeOff(t),setTimeout(function(){return t.stop()}),{doNotProcessTranscription:!1};if(c.pause&&p(c.pause,d,h))return e.toggleCommandModeOff(t),t.setInterimColorToFinal(),setTimeout(function(){var v;t.isPaused=!0,(v=t.onPauseTrigger)===null||v===void 0||v.call(t,!0)}),{doNotProcessTranscription:!1};if(c.resume&&p(c.resume,d,h))return t.isPaused=!1,(u=t.onPauseTrigger)===null||u===void 0||u.call(t,!1),e.toggleCommandModeOff(t),t.resetRecording(r),{doNotProcessTranscription:!0};if(c.reset&&p(c.reset,d,h))return o!==void 0&&e.setText(t,r,o,a),{doNotProcessTranscription:!0};if(c.removeAllText&&p(c.removeAllText,d,h))return e.setText(t,r,"",a),{doNotProcessTranscription:!0}}}}}]),e}();vt.CommandUtils=vc;var $t={};Object.defineProperty($t,"__esModule",{value:!0});$t.Highlight=void 0;var mc=Ve,Xe=$e,gc=function(){function e(){g(this,e)}return y(e,null,[{key:"setStateForPrimitive",value:function(t,n){var r,a;n.selectionStart!==null&&(r=n.selectionStart),n.selectionEnd!==null&&(a=n.selectionEnd),t.isHighlighted=r!==a}},{key:"setStateForGeneric",value:function(t,n){var r=window.getSelection();if(r!=null&&r.focusNode){var a=Xe.Cursor.getGenericElementCursorOffset(n,r,!0),o=Xe.Cursor.getGenericElementCursorOffset(n,r,!1);t.isHighlighted=a!==o}}},{key:"setState",value:function(t,n){document.activeElement===n&&(mc.Elements.isPrimitiveElement(n)?e.setStateForPrimitive(t,n):e.setStateForGeneric(t,n))}},{key:"removeForGeneric",value:function(t,n){var r=window.getSelection();if(r){var a=Xe.Cursor.getGenericElementCursorOffset(n,r,!0);r.deleteFromDocument(),Xe.Cursor.setOffsetForGeneric(n,a),t.isHighlighted=!1}}},{key:"removeForPrimitive",value:function(t,n){var r=n.selectionStart,a=n.selectionEnd,o=n.value;if(r&&a){var s=o.substring(0,r)+o.substring(a);n.value=s,Xe.Cursor.setOffsetForPrimitive(n,r,t.autoScroll)}t.isHighlighted=!1}}]),e}();$t.Highlight=gc;var Gt={};Object.defineProperty(Gt,"__esModule",{value:!0});Gt.Padding=void 0;var yc=Ve,qr=$e,Ke=He,bc=function(){function e(){g(this,e)}return y(e,null,[{key:"setStateForPrimitiveElement",value:function(t,n){if(document.activeElement===n&&n.selectionStart!==null){var r=n.selectionStart,a=n.value[r-1],o=n.selectionEnd===null?r:n.selectionEnd,s=n.value[o];Ke.Text.isCharDefined(a)&&(t.startPadding=" ",t.numberOfSpacesBeforeNewText=1),Ke.Text.isCharDefined(s)&&(t.endPadding=" ",t.numberOfSpacesAfterNewText=1),t.isCursorAtEnd=n.value.length===o;return}var l=n.value[n.value.length-1];Ke.Text.isCharDefined(l)&&(t.startPadding=" ",t.numberOfSpacesBeforeNewText=1),t.isCursorAtEnd=!0}},{key:"setStateForGenericElement",value:function(t,n){var r,a,o;if(document.activeElement===n){var s=window.getSelection();if(s!=null&&s.focusNode){var l=qr.Cursor.getGenericElementCursorOffset(n,s,!0),u=(r=n.textContent)===null||r===void 0?void 0:r[l-1],c=qr.Cursor.getGenericElementCursorOffset(n,s,!1),d=(a=n.textContent)===null||a===void 0?void 0:a[c];Ke.Text.isCharDefined(u)&&(t.startPadding=" "),Ke.Text.isCharDefined(d)&&(t.endPadding=" "),t.isCursorAtEnd=((o=n.textContent)===null||o===void 0?void 0:o.length)===c;return}}var h=n.innerText.charAt(n.innerText.length-1);Ke.Text.isCharDefined(h)&&(t.startPadding=" "),t.isCursorAtEnd=!0}},{key:"setState",value:function(t,n){yc.Elements.isPrimitiveElement(n)?e.setStateForPrimitiveElement(t,n):e.setStateForGenericElement(t,n)}},{key:"adjustStateAfterRecodingPrimitiveElement",value:function(t,n){if(t.primitiveTextRecorded=!0,t.insertInCursorLocation&&document.activeElement===n&&(n.selectionEnd!==null&&(t.endPadding=t.endPadding+n.value.slice(n.selectionEnd)),n.selectionStart!==null)){t.startPadding=n.value.slice(0,n.selectionStart)+t.startPadding;return}t.startPadding=n.value+t.startPadding}},{key:"adjustSateForNoTextPrimitiveElement",value:function(t){t.numberOfSpacesBeforeNewText===1&&(t.startPadding=t.startPadding.substring(0,t.startPadding.length-1),t.numberOfSpacesBeforeNewText=0),t.numberOfSpacesAfterNewText===1&&(t.endPadding=t.endPadding.substring(1),t.numberOfSpacesAfterNewText=0)}}]),e}();Gt.Padding=bc;Object.defineProperty(ft,"__esModule",{value:!0});ft.Speech=void 0;var zr=Ht,kc=Vt,Ur=vt,St=mt,hn=$t,ge=Ve,pn=Gt,Hr=Ze,Vr=$e,fn=He,_c=function(){function e(){g(this,e),this.finalTranscript="",this.interimSpan=ge.Elements.createInterimSpan(),this.finalSpan=ge.Elements.createGenericSpan(),this.scrollingSpan=ge.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(e,[{key:"prepareBeforeStart",value:function(t){var n,r;if(t!=null&&t.element)if(zr.EventListeners.add(this,t),Array.isArray(t.element)){var a=t.element.find(function(o){return o===document.activeElement})||t.element[0];if(!a)return;this.prepare(a)}else this.prepare(t.element);(t==null?void 0:t.displayInterimResults)!==void 0&&(this._displayInterimResults=t.displayInterimResults),t!=null&&t.textColor&&(this._finalTextColor=(n=t==null?void 0:t.textColor)===null||n===void 0?void 0:n.final,ge.Elements.applyCustomColors(this,t.textColor)),(t==null?void 0:t.insertInCursorLocation)!==void 0&&(this.insertInCursorLocation=t.insertInCursorLocation),(t==null?void 0:t.autoScroll)!==void 0&&(this.autoScroll=t.autoScroll),this._onResult=t==null?void 0:t.onResult,this._onPreResult=t==null?void 0:t.onPreResult,this._onStart=t==null?void 0:t.onStart,this._onStop=t==null?void 0:t.onStop,this._onError=t==null?void 0:t.onError,this.onCommandModeTrigger=t==null?void 0:t.onCommandModeTrigger,this.onPauseTrigger=t==null?void 0:t.onPauseTrigger,this._options=t,!((r=this._options)===null||r===void 0)&&r.commands&&(this.commands=Ur.CommandUtils.process(this._options.commands))}},{key:"prepare",value:function(t){pn.Padding.setState(this,t),hn.Highlight.setState(this,t),this.isTargetInShadow=ge.Elements.isInsideShadowDOM(t),ge.Elements.isPrimitiveElement(t)?(this._primitiveElement=t,this._originalText=this._primitiveElement.value):(this._genericElement=t,this._originalText=this._genericElement.textContent)}},{key:"resetRecording",value:function(t){this.isRestarting=!0,this.stop(!0),this.resetState(!0),this.start(t,!0)}},{key:"updateElements",value:function(t,n,r){var a,o=fn.Text.capitalize(n);if(!(this.finalTranscript===o&&t==="")){kc.PreResultUtils.process(this,r,t==="",this._onPreResult,this._options)&&(t="",r="");var s=this.commands&&Ur.CommandUtils.execCommand(this,r,this._options,this._primitiveElement||this._genericElement,this._originalText);if(s){if(s.doNotProcessTranscription)return;t="",r=""}if(!(this.isPaused||this.isWaitingForCommand)){(a=this._onResult)===null||a===void 0||a.call(this,r,t===""),this.finalTranscript=o,this._displayInterimResults||(t="");var l=this.finalTranscript===""&&t==="";this._primitiveElement?this.updatePrimitiveElement(this._primitiveElement,t,l):this._genericElement&&this.updateGenericElement(this._genericElement,t,l)}}}},{key:"updatePrimitiveElement",value:function(t,n,r){this.isHighlighted&&hn.Highlight.removeForPrimitive(this,t),this.primitiveTextRecorded||pn.Padding.adjustStateAfterRecodingPrimitiveElement(this,t),r&&pn.Padding.adjustSateForNoTextPrimitiveElement(this);var a=this.startPadding+this.finalTranscript+n;if(t.value=a+this.endPadding,!this.isTargetInShadow){var o=a.length+this.numberOfSpacesAfterNewText;Vr.Cursor.setOffsetForPrimitive(t,o,this.autoScroll)}this.autoScroll&&Hr.Browser.IS_SAFARI()&&this.isCursorAtEnd&&St.AutoScroll.scrollSafariPrimitiveToEnd(t)}},{key:"updateGenericElement",value:function(t,n,r){this.isHighlighted&&hn.Highlight.removeForGeneric(this,t),this.spansPopulated||ge.Elements.appendSpans(this,t);var a=(r?"":this.startPadding)+fn.Text.lineBreak(this.finalTranscript);this.finalSpan.innerHTML=a;var o=St.AutoScroll.isRequired(this.autoScroll,t);St.AutoScroll.changeStateIfNeeded(this,o);var s=fn.Text.lineBreak(n)+(r?"":this.endPadding);this.interimSpan.innerHTML=s,Hr.Browser.IS_SAFARI()&&this.insertInCursorLocation&&Vr.Cursor.setOffsetForSafariGeneric(t,a.length+s.length),o&&St.AutoScroll.scrollGeneric(this,t),r&&(this.scrollingSpan.innerHTML="")}},{key:"finalise",value:function(t){this._genericElement&&(t?(this.finalSpan=ge.Elements.createGenericSpan(),this.setInterimColorToFinal(),this.interimSpan=ge.Elements.createInterimSpan(),this.scrollingSpan=ge.Elements.createGenericSpan()):this._genericElement.textContent=this._genericElement.textContent,this.spansPopulated=!1),zr.EventListeners.remove(this)}},{key:"setInterimColorToFinal",value:function(){this.interimSpan.style.color=this._finalTextColor||"black"}},{key:"resetState",value:function(t){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,t||(this.stopTimeout=void 0)}},{key:"setStateOnStart",value:function(){var t;this.recognizing=!0,this.isRestarting?this.isRestarting=!1:(t=this._onStart)===null||t===void 0||t.call(this)}},{key:"setStateOnStop",value:function(){var t;this.recognizing=!1,this.isRestarting||(t=this._onStop)===null||t===void 0||t.call(this)}},{key:"setStateOnError",value:function(t){var n;(n=this._onError)===null||n===void 0||n.call(this,t),this.recognizing=!1}}]),e}();ft.Speech=_c;Object.defineProperty(qt,"__esModule",{value:!0});qt.WebSpeech=void 0;var $r=zt,Gr=Ze,wc=ft,Sc=function(e){P(i,e);function i(){return g(this,i),O(this,i)}return y(i,[{key:"start",value:function(n){var r;this._extractText===void 0&&(this._extractText=Gr.Browser.IS_SAFARI()?$r.WebSpeechTranscript.extractSafari:$r.WebSpeechTranscript.extract),this.validate()&&(this.prepareBeforeStart(n),this.instantiateService(n),(r=this._service)===null||r===void 0||r.start(),this._translations=n==null?void 0:n.translations)}},{key:"validate",value:function(){return i.getAPI()?!0:(this.error("Speech Recognition is unsupported"),!1)}},{key:"instantiateService",value:function(n){var r,a,o=i.getAPI();this._service=new o,this._service.continuous=!0,this._service.interimResults=(r=n==null?void 0:n.displayInterimResults)!==null&&r!==void 0?r:!0,this._service.lang=((a=n==null?void 0:n.language)===null||a===void 0?void 0:a.trim())||"en-US",this.setEvents()}},{key:"setEvents",value:function(){var n=this;this._service&&(this._service.onstart=function(){n.setStateOnStart()},this._service.onerror=function(r){Gr.Browser.IS_SAFARI()&&r.message==="Another request is started"||r.error==="aborted"&&n.isRestarting||r.error!=="no-speech"&&n.error(r.message||r.error)},this._service.onaudioend=function(){n.setStateOnStop()},this._service.onend=function(){n._stopping=!1},this._service.onresult=function(r){if(R(r.results)>"u"&&n._service)n._service.onend=null,n._service.stop();else if(n._extractText&&!n._stopping){var a=n._extractText(r,n.finalTranscript,n._translations),o=a.interimTranscript,s=a.finalTranscript,l=a.newText;n.updateElements(o,s,l)}})}},{key:"stop",value:function(n){var r;this._stopping=!0,(r=this._service)===null||r===void 0||r.stop(),this.finalise(n)}},{key:"error",value:function(n){console.error(n),this.setStateOnError(n),this.stop()}}],[{key:"getAPI",value:function(){return window.webkitSpeechRecognition||window.SpeechRecognition}}]),i}(wc.Speech);qt.WebSpeech=Sc;var Wt={};Object.defineProperty(Wt,"__esModule",{value:!0});Wt.GlobalState=void 0;var Ji=function(){function e(){g(this,e)}return y(e,null,[{key:"doubleClickDetector",value:function(){return e.doubleClickPending?!0:(e.doubleClickPending=!0,setTimeout(function(){e.doubleClickPending=!1},300),!1)}}]),e}();Wt.GlobalState=Ji;Ji.doubleClickPending=!1;var Kt={},Yt={};Object.defineProperty(Yt,"__esModule",{value:!0});Yt.PreventConnectionStop=void 0;var xc=function(){function e(){g(this,e)}return y(e,null,[{key:"applyPrevention",value:function(t){clearTimeout(t._manualConnectionStopPrevention),t.cannotBeStopped=!0,t._manualConnectionStopPrevention=setTimeout(function(){t.cannotBeStopped=!1},800)}},{key:"clearPrevention",value:function(t){clearTimeout(t._manualConnectionStopPrevention),t.cannotBeStopped=!1}}]),e}();Yt.PreventConnectionStop=xc;var Jt={},Zt={};Object.defineProperty(Zt,"__esModule",{value:!0});Zt.README_URL=void 0;Zt.README_URL="https://github.com/OvidijusParsiunas/speech-to-element";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.AzureSpeechConfig=void 0;var vn=Zt,Ec=function(){function e(){g(this,e)}return y(e,null,[{key:"validateOptions",value:function(t,n){return n?!n.subscriptionKey&&!n.token&&!n.retrieveToken?(t("Please define a 'subscriptionKey', 'token' or 'retrieveToken' property - more info: ".concat(vn.README_URL)),!1):n.region?!0:(t("Please define a 'region' property - more info: ".concat(vn.README_URL)),!1):(t("Please provide subscription details - more info: ".concat(vn.README_URL)),!1)}},{key:"getNewSpeechConfig",value:function(){var i=k(f().mark(function n(r,a){return f().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!a.region){s.next=2;break}return s.abrupt("return",a.subscriptionKey?r.fromSubscription(a.subscriptionKey.trim(),a.region.trim()):a.token?r.fromAuthorizationToken(a.token.trim(),a.region.trim()):a.retrieveToken?a.retrieveToken().then(function(l){return a.region?r.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 s.stop()}},n)}));function t(n,r){return i.apply(this,arguments)}return t}()},{key:"process",value:function(t,n){n.language&&(t.speechRecognitionLanguage=n.language.trim())}},{key:"get",value:function(){var i=k(f().mark(function n(r,a){var o;return f().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:return l.next=2,e.getNewSpeechConfig(r,a);case 2:return o=l.sent,l.abrupt("return",(o&&e.process(o,a),o));case 4:case"end":return l.stop()}},n)}));function t(n,r){return i.apply(this,arguments)}return t}()}]),e}();Jt.AzureSpeechConfig=Ec;var Xt={};Object.defineProperty(Xt,"__esModule",{value:!0});Xt.StopTimeout=void 0;var Zi=function(){function e(){g(this,e)}return y(e,null,[{key:"set",value:function(t){t.stopTimeout=setTimeout(function(){return t.stop()},t.stopTimeoutMS)}},{key:"reset",value:function(t,n){t.stopTimeoutMS=n||e.DEFAULT_MS,t.stopTimeout&&clearTimeout(t.stopTimeout),e.set(t)}}]),e}();Xt.StopTimeout=Zi;Zi.DEFAULT_MS=2e4;var Qt={};Object.defineProperty(Qt,"__esModule",{value:!0});Qt.AzureTranscript=void 0;var Cc=pt,Mc=function(){function e(){g(this,e)}return y(e,null,[{key:"extract",value:function(t,n,r,a){return a&&(t=Cc.Translate.translate(t,a)),r?{interimTranscript:"",finalTranscript:n+t,newText:t}:{interimTranscript:t,finalTranscript:n,newText:t}}}]),e}();Qt.AzureTranscript=Mc;Object.defineProperty(Kt,"__esModule",{value:!0});Kt.Azure=void 0;var Wr=Yt,Kr=Jt,mn=Xt,Yr=Qt,Ac=ft,Tc=function(e){P(i,e);function i(){var t;return g(this,i),t=O(this,i,arguments),t._newTextPadding="",t}return y(i,[{key:"start",value:function(n,r){this._newTextPadding="",this.stopTimeout===void 0&&mn.StopTimeout.reset(this,n==null?void 0:n.stopAfterSilenceMs),this.prepareBeforeStart(n),this.startAsync(n),r||Wr.PreventConnectionStop.applyPrevention(this)}},{key:"startAsync",value:function(){var t=k(f().mark(function r(a){var o;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,(o=this._service)===null||o===void 0||o.startContinuousRecognitionAsync(function(){},this.error);case 6:case"end":return l.stop()}},r,this)}));function n(r){return t.apply(this,arguments)}return n}()},{key:"validate",value:function(n){return i.getAPI()?Kr.AzureSpeechConfig.validateOptions(this.error.bind(this),n):(this.moduleNotFound(),!1)}},{key:"instantiateService",value:function(){var t=k(f().mark(function r(a){var o,s,l,u;return f().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return o=i.getAPI(),s=o.AudioConfig.fromDefaultMicrophoneInput(),d.next=4,Kr.AzureSpeechConfig.get(o.SpeechConfig,a);case 4:l=d.sent,l?(u=new o.SpeechRecognizer(l,s),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()}},r,this)}));function n(r){return t.apply(this,arguments)}return n}()},{key:"setEvents",value:function(n){n.recognizing=this.onRecognizing.bind(this),n.recognized=this.onRecognized.bind(this),n.sessionStarted=this.onSessionStarted.bind(this),n.canceled=this.onCanceled.bind(this),n.sessionStopped=this.onSessionStopped.bind(this)}},{key:"onRecognizing",value:function(n,r){if(!this._stopping){var a=Yr.AzureTranscript.extract(this._newTextPadding+r.result.text,this.finalTranscript,!1,this._translations),o=a.interimTranscript,s=a.finalTranscript,l=a.newText;mn.StopTimeout.reset(this,this.stopTimeoutMS),this.updateElements(o,s,l)}}},{key:"onRecognized",value:function(n,r){var a=r.result;switch(a.reason){case window.SpeechSDK.ResultReason.Canceled:break;case window.SpeechSDK.ResultReason.RecognizedSpeech:if(a.text&&!this._stopping){var o=Yr.AzureTranscript.extract(this._newTextPadding+a.text,this.finalTranscript,!0,this._translations),s=o.interimTranscript,l=o.finalTranscript,u=o.newText;mn.StopTimeout.reset(this,this.stopTimeoutMS),this.updateElements(s,l,u),l!==""&&(this._newTextPadding=" ")}break}}},{key:"onCanceled",value:function(n,r){r.reason===window.SpeechSDK.CancellationReason.Error&&this.error(r.errorDetails)}},{key:"onSessionStarted",value:function(){Wr.PreventConnectionStop.clearPrevention(this),this.setStateOnStart()}},{key:"onSessionStopped",value:function(){this._retrieveTokenInterval||clearInterval(this._retrieveTokenInterval),this._stopping=!1,this.setStateOnStop()}},{key:"retrieveTokenInterval",value:function(n){var r=this;this._retrieveTokenInterval=setInterval(function(){n==null||n().then(function(a){r._service&&(r._service.authorizationToken=(a==null?void 0:a.trim())||"")}).catch(function(a){r.error(a)})},1e4)}},{key:"stop",value:function(n){var r;!n&&this._retrieveTokenInterval&&clearInterval(this._retrieveTokenInterval),this._stopping=!0,(r=this._service)===null||r===void 0||r.stopContinuousRecognitionAsync(),this.finalise(n)}},{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: