@hivegpt/hiveai-angular 0.0.537 → 0.0.538

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/cdk/overlay"),require("@angular/cdk/portal"),require("@angular/common/http"),require("@angular/core"),require("@angular/platform-browser"),require("rxjs"),require("rxjs/operators"),require("ngx-socket-io"),require("@angular/forms"),require("microsoft-cognitiveservices-speech-sdk"),require("marked"),require("@daily-co/daily-js"),require("@angular/common"),require("@angular/material/icon"),require("@angular/material/sidenav"),require("ngx-quill")):"function"==typeof define&&define.amd?define("@hivegpt/hiveai-angular",["exports","@angular/cdk/overlay","@angular/cdk/portal","@angular/common/http","@angular/core","@angular/platform-browser","rxjs","rxjs/operators","ngx-socket-io","@angular/forms","microsoft-cognitiveservices-speech-sdk","marked","@daily-co/daily-js","@angular/common","@angular/material/icon","@angular/material/sidenav","ngx-quill"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).hivegpt=e.hivegpt||{},e.hivegpt["hiveai-angular"]={}),e.ng.cdk.overlay,e.ng.cdk.portal,e.ng.common.http,e.ng.core,e.ng.platformBrowser,e.rxjs,e.rxjs.operators,e.ngxSocketIo,e.ng.forms,e.SpeechSDK,e.marked,e.Daily,e.ng.common,e.ng.material.icon,e.ng.material.sidenav,e.ngxQuill)}(this,(function(e,t,n,i,o,a,s,r,c,l,d,p,u,h,g,m,f){"use strict";function v(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function b(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var y=b(i),x=b(o),w=b(d),k=b(p),S=v(u),C=function(e,t){return C=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},C(e,t)};function I(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}C(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function T(e,t,n,i){return new(n||(n=Promise))((function(o,a){function s(e){try{c(i.next(e))}catch(e){a(e)}}function r(e){try{c(i.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,r)}c((i=i.apply(e,t||[])).next())}))}function A(e,t){var n,i,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=r(0),s.throw=r(1),s.return=r(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function r(r){return function(c){return function(r){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,r[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return a.label++,{value:r[1],done:!1};case 5:a.label++,i=r[1],r=[0];continue;case 7:r=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==r[0]&&2!==r[0])){a=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]<o[3])){a.label=r[1];break}if(6===r[0]&&a.label<o[1]){a.label=o[1],o=r;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(r);break}o[2]&&a.ops.pop(),a.trys.pop();continue}r=t.call(e,a)}catch(e){r=[6,e],i=0}finally{n=o=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,c])}}}Object.create;function M(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],i=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function _(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,o,a=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(i=a.next()).done;)s.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s}function E(e,t,n){if(n||2===arguments.length)for(var i,o=0,a=t.length;o<a;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))}Object.create;"function"==typeof SuppressedError&&SuppressedError;var L=function(){function e(){this.eventId=null,this.translationsData=[{Key:"Copy",DefaultValue:"Copy",Translations:{en:"Copy",fr:"Copier",it:"Copia",es:"Copiar",de:"Kopieren","pt-br":"Copiar",ar:"نسخ",zh:"复制",ru:"Копировать"}},{Key:"May I assist you with anything else",DefaultValue:"Great. May I assist you with anything else?",Translations:{en:"Great. May I assist you with anything else?",fr:"Parfait. Puis-je vous aider avec autre chose ?",it:"Perfetto. Posso aiutarti con qualcos'altro?",es:"Genial. ¿Puedo ayudarte con algo más?",de:"Super. Kann ich Ihnen noch bei etwas anderem helfen?","pt-br":"Ótimo. Posso ajudar com mais alguma coisa?",ar:"رائع. هل يمكنني مساعدتك في أي شيء آخر؟",zh:"太好了。还有什么我可以帮您的吗?",ru:"Отлично. Могу ли я помочь вам с чем-то ещё?"}},{Key:"We are sorry we've not been able to answer your question",DefaultValue:'We are sorry we\'ve not been able to answer your question. However, our dedicated support team is happy to help. Please <a href="mailto:support@social27.com">click here</a> and a human agent will assist you as soon as possible.',Translations:{en:'We are sorry we\'ve not been able to answer your question. However, our dedicated support team is happy to help. Please <a href="mailto:support@social27.com">click here</a> and a human agent will assist you as soon as possible.',fr:'Nous sommes désolés de ne pas avoir pu répondre à votre question. Cependant, notre équipe d\'assistance se fera un plaisir de vous aider. Veuillez <a href="mailto:support@social27.com">cliquer ici</a> et un agent humain vous assistera dès que possible.',it:'Ci dispiace di non essere riusciti a rispondere alla tua domanda. Tuttavia, il nostro team di supporto dedicato sarà lieto di aiutarti. Ti preghiamo di <a href="mailto:support@social27.com">fare clic qui</a> e un operatore umano ti assisterà al più presto.',es:'Lamentamos no haber podido responder a tu pregunta. Sin embargo, nuestro equipo de soporte estará encantado de ayudarte. Por favor, <a href="mailto:support@social27.com">haz clic aquí</a> y un agente humano te asistirá lo antes posible.',de:'Es tut uns leid, dass wir Ihre Frage nicht beantworten konnten. Unser engagiertes Support-Team hilft Ihnen jedoch gerne weiter. Bitte <a href="mailto:support@social27.com">klicken Sie hier</a>, und ein menschlicher Mitarbeiter wird Ihnen so bald wie möglich helfen.',"pt-br":'Lamentamos não ter conseguido responder à sua pergunta. No entanto, nossa equipe de suporte dedicada ficará feliz em ajudar. Por favor, <a href="mailto:support@social27.com">clique aqui</a> e um agente humano o ajudará o mais rápido possível.',ar:'نأسف لعدم تمكننا من الإجابة على سؤالك. ومع ذلك، يسعد فريق الدعم المخصص لدينا بمساعدتك. يرجى <a href="mailto:support@social27.com">النقر هنا</a> وسيساعدك أحد الوكلاء البشريين في أقرب وقت ممكن.',zh:'很抱歉我们未能回答您的问题。不过,我们的专属支持团队很乐意为您提供帮助。请<a href="mailto:support@social27.com">点击这里</a>,人工客服将尽快为您提供协助。',ru:'К сожалению, мы не смогли ответить на ваш вопрос. Однако наша служба поддержки с радостью вам поможет. Пожалуйста, <a href="mailto:support@social27.com">нажмите здесь</a>, и наш оператор свяжется с вами как можно скорее.'}},{Key:"Ask anything",DefaultValue:"Ask anything",Translations:{en:"Ask anything",fr:"Demandez ce que vous voulez",it:"Chiedi qualsiasi cosa",es:"Pregunta lo que quieras",de:"Frag alles","pt-br":"Pergunte qualquer coisa",ar:"اسأل أي شيء",zh:"随便问",ru:"Спросите что угодно"}},{Key:"Assistant",DefaultValue:"Assistant",Translations:{en:"Assistant",fr:"Assistant",it:"Assistente",es:"Asistente",de:"Assistent","pt-br":"Assistente",ar:"مساعد",zh:"助手",ru:"Ассистент"}},{Key:"Your personal or company information is kept private and secure within this chat.",DefaultValue:"Your personal or company information is kept private and secure within this chat.",Translations:{en:"Your personal or company information is kept private and secure within this chat.",fr:"Vos informations personnelles ou celles de votre entreprise sont conservées privées et sécurisées dans cette conversation.",it:"Le tue informazioni personali o aziendali sono mantenute private e sicure all'interno di questa chat.",es:"Tu información personal o de la empresa se mantiene privada y segura dentro de este chat.",de:"Ihre persönlichen oder geschäftlichen Informationen bleiben in diesem Chat privat und sicher.","pt-br":"Suas informações pessoais ou da empresa são mantidas privadas e seguras dentro deste chat.",ar:"تظل معلوماتك الشخصية أو معلومات شركتك خاصة وآمنة داخل هذه المحادثة.",zh:"您的个人或公司信息在此聊天中保持私密和安全。",ru:"Ваша личная или корпоративная информация остается конфиденциальной и защищенной в этом чате."}},{Key:"Send message",DefaultValue:"Send message",Translations:{en:"Send message",fr:"Envoyer un message",it:"Invia messaggio",es:"Enviar mensaje",de:"Nachricht senden","pt-br":"Enviar mensagem",ar:"إرسال رسالة",zh:"发送消息",ru:"Отправить сообщение"}},{Key:"Platform GPT",DefaultValue:"Platform GPT",Translations:{en:"Platform GPT",fr:"Plateforme GPT",it:"Piattaforma GPT",es:"Plataforma GPT",de:"Plattform GPT","pt-br":"Plataforma GPT",ar:"منصة GPT",zh:"平台 GPT",ru:"Платформа GPT"}},{Key:"New Chat",DefaultValue:"New Chat",Translations:{en:"New Chat",fr:"Nouvelle conversation",it:"Nuova chat",es:"Nuevo chat",de:"Neuer Chat","pt-br":"Novo chat",ar:"محادثة جديدة",zh:"新聊天",ru:"Новый чат"}},{Key:"You",DefaultValue:"You",Translations:{en:"You",fr:"Vous",it:"Tu",es:"Tú",de:"Du","pt-br":"Você",ar:"أنت",zh:"您",ru:"Вы"}},{Key:"Write your message",DefaultValue:"Write your message",Translations:{en:"Write your message",fr:"Écrivez votre message",it:"Scrivi il tuo messaggio",es:"Escribe tu mensaje",de:"Schreiben Sie Ihre Nachricht","pt-br":"Escreva sua mensagem",ar:"اكتب رسالتك",zh:"写下您的消息",ru:"Напишите ваше сообщение"}},{Key:"Send",DefaultValue:"Send",Translations:{en:"Send",fr:"Envoyer",it:"Invia",es:"Enviar",de:"Senden","pt-br":"Enviar",ar:"إرسال",zh:"发送",ru:"Отправить"}},{Key:"Call Interface",DefaultValue:"Call Interface",Translations:{en:"Call Interface",fr:"Interface d'appel",it:"Interfaccia chiamata",es:"Interfaz de llamada",de:"Anrufoberfläche","pt-br":"Interface de chamada",ar:"واجهة الاتصال",zh:"呼叫界面",ru:"Интерфейс звонка"}},{Key:"Close",DefaultValue:"Close",Translations:{en:"Close",fr:"Fermer",it:"Chiudi",es:"Cerrar",de:"Schließen","pt-br":"Fechar",ar:"إغلاق",zh:"关闭",ru:"Закрыть"}}]}return e.prototype.setEventId=function(e){this.eventId=e},e.prototype.getTranslation=function(e){console.log("eventId",this.eventId);var t=(localStorage.getItem("defaultLanguage-"+this.eventId)||"en").replace(/^"|"$/g,""),n=this.translationsData.find((function(t){return t.Key===e}));return n&&(n.Translations[t]||n.DefaultValue)||e},e.prototype.getLang=function(e){var t="defaultLanguage"+(e?"-"+e:"");return localStorage.getItem(t)||"en"},e}();L.ɵprov=x.ɵɵdefineInjectable({factory:function(){return new L},token:L,providedIn:"root"}),L.decorators=[{type:o.Injectable,args:[{providedIn:"root"}]}];var D=function(e){var t=e.getHours()%12,n=e.getMinutes();return 0===t&&(t=12),(t<10?"0"+t:t)+":"+(n<10?"0"+n:n)+" "+(e.getHours()<12?"AM":"PM")},j=function(e){var t=new Date;if(e){var n={hour12:!0,hour:"numeric",minute:"numeric",timeZone:e};return t.toLocaleString("en-US",n)}return D(t)},F=function(e,t){var n=new Date(t+"Z"),i={hour12:!0,hour:"numeric",minute:"numeric"};return e&&e.trim()&&(i.timeZone=e.trim()),n.toLocaleString("en-US",i)},U={USERS_API:"https://es-user.social27.com/api",BASE_URL:"https://agent-api.hivegpt.ai",AGENTS_API:"https://hive-ai.social27.com/api",API_KEY:"82595783-dc9c-4513-8204-709818d51be3",SocketUrl:"https://notif-v2-ws.social27.com/"},z={USERS_API:"https://pre-user.social27.com/api",BASE_URL:"https://pre-agent-api.hivegpt.ai",AGENTS_API:"https://hive-pre-ai.social27.com/api",API_KEY:"66d59244c50b8fb597a101t1",SocketUrl:"https://notif-ws-staging.social27.com/"},P=function(){function e(){this.conversationStorageKeyPrefix="conversationKey_",this.sessionStorageKeyPrefix="sessionKey_",this.userSpecificNotification=new s.Subject}return e.prototype.generateKey=function(){return Math.floor((new Date).getTime()/1e3).toString(16)+"xxxxxxxxxxxxxxxx".replace(/[x]/g,(function(){return Math.floor(16*Math.random()).toString(16)}))},e.prototype.getKey=function(e,t){void 0===t&&(t=!1);var n=""+this.conversationStorageKeyPrefix+e,i=localStorage.getItem(n);return i&&!t||(i=this.generateKey(),localStorage.setItem(n,i)),i},e.prototype.getSessionKey=function(e,t){void 0===t&&(t=!1);var n=""+this.sessionStorageKeyPrefix+e,i=localStorage.getItem(n);return i&&!t||(i=this.generateKey(),localStorage.setItem(n,i)),i},e.prototype.sendValidatedUserData=function(e){this.userSpecificNotification.next(e)},e.prototype.getUserSpecificNotification=function(){return this.userSpecificNotification.asObservable()},e}();P.ɵprov=x.ɵɵdefineInjectable({factory:function(){return new P},token:P,providedIn:"root"}),P.decorators=[{type:o.Injectable,args:[{providedIn:"root"}]}],P.ctorParameters=function(){return[]};var O=function(e){function t(){var t=e.call(this,B)||this;return t.on("connect",(function(){console.log("Socket connected")})),t.on("disconnect",(function(){console.warn("Socket disconnected")})),t.on("connect_error",(function(e){console.error("Socket connection error:",e)})),t}return I(t,e),t}(c.Socket);O.ɵprov=x.ɵɵdefineInjectable({factory:function(){return new O},token:O,providedIn:"root"}),O.decorators=[{type:o.Injectable,args:[{providedIn:"root"}]}],O.ctorParameters=function(){return[]};var B={url:U.SocketUrl,options:{transports:["websocket","polling"],reconnection:!0,autoConnect:!0,upgrade:!0,reconnectionDelay:1e3,reconnectionDelayMax:5e3,reconnectionAttempts:1/0}},R=function(){function e(e,t){this.conversationService=e,this.notificationSocket=t,this.isCommonSocketInitialized=!1,this.isUserSpecificSocketInitialized=!1,this.isUserSpecificEventReleased=!0,this.messageQueue=[],this.releaseInterval=1e3,this.intervalSetup=!1,this.startReleasingMessages()}return e.prototype.isSocketInitialized=function(e){return e?this.isCommonSocketInitialized:this.isUserSpecificSocketInitialized&&!this.isUserSpecificEventReleased},e.prototype.disconnectSocketConnection=function(){this.notificationSocket.disconnect()},e.prototype.connectSocketConnection=function(){this.notificationSocket.connect()},e.prototype.registerUserSpecificHiveSocket=function(e,t,n){var i=this,o="Hive_AI_Notifs_"+e+"_"+t,a="Hive_AI_Notifs_"+n;this.notificationSocket.emit("joinData",{groupId:o}),this.notificationSocket.emit("joinData",{groupId:a}),this.notificationSocket.fromEvent("commonNotification").subscribe((function(e){var t,n,o,a,s,r,c;console.log("[Socket Chat] Received commonNotification",{hasOtherFields:!!(null===(t=null==e?void 0:e.m)||void 0===t?void 0:t.OtherFields),messageId:null===(o=null===(n=null==e?void 0:e.m)||void 0===n?void 0:n.OtherFields)||void 0===o?void 0:o.message_id,hasAnswer:!!(null===(s=null===(a=null==e?void 0:e.m)||void 0===a?void 0:a.OtherFields)||void 0===s?void 0:s.answer),isWorkflow:!!(null===(c=null===(r=null==e?void 0:e.m)||void 0===r?void 0:r.OtherFields)||void 0===c?void 0:c.workflow_id),raw:e}),i.conversationService.sendValidatedUserData(e)}),(function(e){console.error("Error receiving commonNotification:",e)}))},e.prototype.startReleasingMessages=function(){var e=this;this.intervalSetup||(setInterval((function(){if(e.messageQueue.length>0){var t=e.messageQueue.shift();console.log("Releasing message from queue:",t)}}),this.releaseInterval),this.intervalSetup=!0)},e}();R.ɵprov=x.ɵɵdefineInjectable({factory:function(){return new R(x.ɵɵinject(P),x.ɵɵinject(O))},token:R,providedIn:"root"}),R.decorators=[{type:o.Injectable,args:[{providedIn:"root"}]}],R.ctorParameters=function(){return[{type:P},{type:O}]};var V=function(){function e(e){this.http=e,this.eventDescription=new s.Subject,this.bot_api="https://agent-api.hivegpt.ai/"}return e.prototype.fetchSpeechAuthorizationToken=function(e,t,n){var o=new i.HttpHeaders({"Content-Type":"application/json","x-api-key":t,"hive-bot-id":e,"domain-authority":n}),a=""+(this.bot_api+"speech/issue_token");return this.http.get(a,{headers:o}).pipe(r.map((function(e){return e.token})))},e.prototype.getWorkflowsByOrgId=function(e){var t=this.bot_api+"workflows"+"?org_id="+e;return this.http.get(t).pipe(r.map((function(e){return e})))},e.prototype.getWorkflowExecutionById=function(e){var t=this.bot_api+"workflows/execution/"+e;return this.http.get(t).pipe(r.map((function(e){return e})))},e}();V.ɵprov=x.ɵɵdefineInjectable({factory:function(){return new V(x.ɵɵinject(y.HttpClient))},token:V,providedIn:"root"}),V.decorators=[{type:o.Injectable,args:[{providedIn:"root"}]}],V.ctorParameters=function(){return[{type:i.HttpClient}]};var N=function(){function e(){this.audioContext=null,this.analyserNode=null,this.dataArray=null,this.animationFrameId=null,this.isRunning=!1,this.audioLevelsSubject=new s.BehaviorSubject([]),this.isUserSpeakingSubject=new s.BehaviorSubject(!1),this.noiseFloor=0,this.noiseFloorSamples=[],this.NOISE_FLOOR_SAMPLE_COUNT=30,this.SPEAKING_THRESHOLD_MULTIPLIER=2.5,this.WAVEFORM_BAR_COUNT=40,this.audioLevels$=this.audioLevelsSubject.asObservable(),this.isUserSpeaking$=this.isUserSpeakingSubject.asObservable()}return e.prototype.start=function(e){this.isRunning&&this.stop();try{this.audioContext=new(window.AudioContext||window.webkitAudioContext);var t=this.audioContext.createMediaStreamSource(e);this.analyserNode=this.audioContext.createAnalyser(),this.analyserNode.fftSize=2048,this.analyserNode.smoothingTimeConstant=.8;var n=this.analyserNode.frequencyBinCount;this.dataArray=new Uint8Array(n),t.connect(this.analyserNode),this.isRunning=!0,this.noiseFloorSamples=[],this.noiseFloor=0,this.analyze()}catch(e){console.error("Error starting audio analyzer:",e),this.stop()}},e.prototype.stop=function(){this.isRunning=!1,null!==this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null),this.analyserNode&&(this.analyserNode.disconnect(),this.analyserNode=null),this.audioContext&&"closed"!==this.audioContext.state&&(this.audioContext.close().catch(console.error),this.audioContext=null),this.dataArray=null,this.audioLevelsSubject.next([]),this.isUserSpeakingSubject.next(!1)},e.prototype.analyze=function(){var e=this;if(this.isRunning&&this.analyserNode&&this.dataArray){this.analyserNode.getByteTimeDomainData(this.dataArray);var t=this.calculateRMS(this.dataArray);if(this.noiseFloorSamples.length<this.NOISE_FLOOR_SAMPLE_COUNT){if(this.noiseFloorSamples.push(t),this.noiseFloorSamples.length===this.NOISE_FLOOR_SAMPLE_COUNT){var n=this.noiseFloorSamples.reduce((function(e,t){return e+t}),0);this.noiseFloor=n/this.NOISE_FLOOR_SAMPLE_COUNT}}else this.noiseFloor=.99*this.noiseFloor+.01*t;var i=t>this.noiseFloor*this.SPEAKING_THRESHOLD_MULTIPLIER;this.isUserSpeakingSubject.next(i);var o=this.generateWaveformBars(this.dataArray);this.audioLevelsSubject.next(o),this.animationFrameId=requestAnimationFrame((function(){return e.analyze()}))}},e.prototype.calculateRMS=function(e){for(var t=0,n=0;n<e.length;n++){var i=(e[n]-128)/128;t+=i*i}return Math.sqrt(t/e.length)},e.prototype.generateWaveformBars=function(e){for(var t=[],n=Math.floor(e.length/this.WAVEFORM_BAR_COUNT),i=0;i<this.WAVEFORM_BAR_COUNT;i++){var o=e[i*n],a=100*Math.abs((o-128)/128);t.push(Math.min(100,Math.max(0,a)))}return t},e}();N.ɵprov=x.ɵɵdefineInjectable({factory:function(){return new N},token:N,providedIn:"root"}),N.decorators=[{type:o.Injectable,args:[{providedIn:"root"}]}];var W=function(){function e(){this.ws=null,this.roomCreatedSubject=new s.Subject,this.userTranscriptSubject=new s.Subject,this.botTranscriptSubject=new s.Subject,this.roomCreated$=this.roomCreatedSubject.asObservable(),this.userTranscript$=this.userTranscriptSubject.asObservable(),this.botTranscript$=this.botTranscriptSubject.asObservable()}return e.prototype.connect=function(e){var t,n=this;if((null===(t=this.ws)||void 0===t?void 0:t.readyState)!==WebSocket.OPEN){this.ws&&(this.ws.close(),this.ws=null);try{this.ws=new WebSocket(e),this.ws.onmessage=function(e){var t;try{var i=JSON.parse(e.data);if("room_created"===(null==i?void 0:i.type)){var o=null!==(t=i.room_url)&&void 0!==t?t:i.roomUrl;"string"==typeof o&&n.roomCreatedSubject.next(o)}else"user_transcript"===(null==i?void 0:i.type)&&"string"==typeof i.text?n.userTranscriptSubject.next({text:i.text,final:!0===i.final}):"bot_transcript"===(null==i?void 0:i.type)&&"string"==typeof i.text&&n.botTranscriptSubject.next(i.text)}catch(e){}},this.ws.onerror=function(){n.disconnect()},this.ws.onclose=function(){n.ws=null}}catch(e){throw console.error("WebSocketVoiceClient: connect failed",e),this.ws=null,e}}},e.prototype.disconnect=function(){this.ws&&(this.ws.close(),this.ws=null)},Object.defineProperty(e.prototype,"isConnected",{get:function(){var e;return(null===(e=this.ws)||void 0===e?void 0:e.readyState)===WebSocket.OPEN},enumerable:!1,configurable:!0}),e}();W.ɵprov=x.ɵɵdefineInjectable({factory:function(){return new W},token:W,providedIn:"root"}),W.decorators=[{type:o.Injectable,args:[{providedIn:"root"}]}];var H=function(){function e(e){this.ngZone=e,this.callObject=null,this.localStream=null,this.localSessionId=null,this.remoteAudioElement=null,this.remoteAudioContext=null,this.remoteSpeakingRAF=null,this.speakingSubject=new s.BehaviorSubject(!1),this.userSpeakingSubject=new s.BehaviorSubject(!1),this.micMutedSubject=new s.BehaviorSubject(!1),this.localStreamSubject=new s.BehaviorSubject(null),this.speaking$=this.speakingSubject.asObservable(),this.userSpeaking$=this.userSpeakingSubject.asObservable(),this.micMuted$=this.micMutedSubject.asObservable(),this.localStream$=this.localStreamSubject.asObservable()}return e.prototype.connect=function(e,t){return T(this,void 0,void 0,(function(){var n,i,o,a,s,r;return A(this,(function(c){switch(c.label){case 0:return this.callObject?[4,this.disconnect()]:[3,2];case 1:c.sent(),c.label=2;case 2:return c.trys.push([2,5,,6]),[4,navigator.mediaDevices.getUserMedia({audio:!0})];case 3:if(n=c.sent(),!(i=n.getAudioTracks()[0]))throw n.getTracks().forEach((function(e){return e.stop()})),new Error("No audio track");return this.localStream=n,this.localStreamSubject.next(n),o=S.default.createCallObject({videoSource:!1,audioSource:i}),this.callObject=o,this.setupEventHandlers(o),a={url:e},"string"==typeof t&&""!==t.trim()&&(a.token=t),[4,o.join(a)];case 4:return c.sent(),console.log("[VoiceDebug] Room connected (Daily join complete) — "+(new Date).toISOString()),(null==(s=o.participants())?void 0:s.local)&&(this.localSessionId=s.local.session_id),this.micMutedSubject.next(!o.localAudio()),[3,6];case 5:throw r=c.sent(),this.cleanup(),r;case 6:return[2]}}))}))},e.prototype.setupEventHandlers=function(e){var t=this;e.on("active-speaker-change",(function(e){t.ngZone.run((function(){var n,i=null===(n=null==e?void 0:e.activeSpeaker)||void 0===n?void 0:n.peerId;if(i&&t.localSessionId){var o=i===t.localSessionId;t.userSpeakingSubject.next(o)}else t.userSpeakingSubject.next(!1)}))})),e.on("track-started",(function(e){t.ngZone.run((function(){var n,i,o,a,s=null==e?void 0:e.participant,r=null!==(n=null==e?void 0:e.type)&&void 0!==n?n:null===(i=null==e?void 0:e.track)||void 0===i?void 0:i.kind,c=null==e?void 0:e.track;if(s&&!s.local&&"audio"===r){console.log("[VoiceDebug] Got audio track from backend (track-started) — readyState="+(null==c?void 0:c.readyState)+", muted="+(null==c?void 0:c.muted)+" — "+(new Date).toISOString());var l=null!=c?c:null===(a=null===(o=s.tracks)||void 0===o?void 0:o.audio)||void 0===a?void 0:a.track;l&&"object"==typeof l&&(t.playRemoteTrack(l),t.monitorRemoteAudio(l))}}))})),e.on("track-stopped",(function(e){t.ngZone.run((function(){var n,i,o=null==e?void 0:e.participant,a=null!==(n=null==e?void 0:e.type)&&void 0!==n?n:null===(i=null==e?void 0:e.track)||void 0===i?void 0:i.kind;o&&!o.local&&"audio"===a&&(t.stopRemoteAudioMonitor(),t.stopRemoteAudio())}))})),e.on("left-meeting",(function(){t.ngZone.run((function(){return t.cleanup()}))})),e.on("error",(function(e){t.ngZone.run((function(){var n;console.error("DailyVoiceClient: Daily error",null!==(n=null==e?void 0:e.errorMsg)&&void 0!==n?n:e),t.cleanup()}))}))},e.prototype.playRemoteTrack=function(e){this.stopRemoteAudio();try{console.log("[VoiceDebug] playRemoteTrack called — track.readyState="+e.readyState+", track.muted="+e.muted+" — "+(new Date).toISOString()),e.onunmute=function(){console.log("[VoiceDebug] Remote audio track UNMUTED (audio data arriving) — "+(new Date).toISOString())};var t=new MediaStream([e]),n=new Audio;n.autoplay=!0,n.srcObject=t,this.remoteAudioElement=n,n.onplaying=function(){console.log("[VoiceDebug] Audio element PLAYING (browser started playback) — "+(new Date).toISOString())};var i=!0;n.ontimeupdate=function(){i&&(i=!1,console.log("[VoiceDebug] Audio element first TIMEUPDATE (actual audio output) — "+(new Date).toISOString()))};var o=n.play();o&&"function"==typeof o.then&&o.then((function(){console.log("[VoiceDebug] audio.play() resolved — "+(new Date).toISOString())})).catch((function(e){console.warn("DailyVoiceClient: remote audio play failed (may need user gesture)",e)}))}catch(e){console.warn("DailyVoiceClient: failed to create remote audio element",e)}},e.prototype.monitorRemoteAudio=function(e){var t=this;this.stopRemoteAudioMonitor();try{var n=new AudioContext,i=n.createMediaStreamSource(new MediaStream([e])),o=n.createAnalyser();o.fftSize=256,i.connect(o),this.remoteAudioContext=n;var a=new Uint8Array(o.frequencyBinCount),s=0,r=!1,c=function(){if(t.remoteAudioContext){o.getByteFrequencyData(a);for(var e=0,n=0;n<a.length;n++)e+=a[n];var i=e/a.length,l=Date.now();i>5?(s=l,r||(r=!0,console.log("[VoiceDebug] Bot audio energy detected (speaking=true) — avg="+i.toFixed(1)+" — "+(new Date).toISOString()),t.ngZone.run((function(){t.userSpeakingSubject.next(!1),t.speakingSubject.next(!0)})))):r&&l-s>1500&&(r=!1,console.log("[VoiceDebug] Bot audio silence detected (speaking=false) — "+(new Date).toISOString()),t.ngZone.run((function(){return t.speakingSubject.next(!1)}))),t.remoteSpeakingRAF=requestAnimationFrame(c)}};this.remoteSpeakingRAF=requestAnimationFrame(c)}catch(e){console.warn("DailyVoiceClient: failed to create remote audio monitor",e)}},e.prototype.stopRemoteAudioMonitor=function(){this.remoteSpeakingRAF&&(cancelAnimationFrame(this.remoteSpeakingRAF),this.remoteSpeakingRAF=null),this.remoteAudioContext&&(this.remoteAudioContext.close().catch((function(){})),this.remoteAudioContext=null)},e.prototype.stopRemoteAudio=function(){if(this.remoteAudioElement){try{this.remoteAudioElement.pause(),this.remoteAudioElement.srcObject=null}catch(e){}this.remoteAudioElement=null}},e.prototype.setMuted=function(e){this.callObject&&(this.callObject.setLocalAudio(!e),this.micMutedSubject.next(e))},e.prototype.disconnect=function(){return T(this,void 0,void 0,(function(){return A(this,(function(e){switch(e.label){case 0:if(!this.callObject)return this.cleanup(),[2];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,this.callObject.leave()];case 2:return e.sent(),[3,4];case 3:return e.sent(),[3,4];case 4:return this.cleanup(),[2]}}))}))},e.prototype.cleanup=function(){this.stopRemoteAudioMonitor(),this.stopRemoteAudio(),this.callObject&&(this.callObject.destroy().catch((function(){})),this.callObject=null),this.localStream&&(this.localStream.getTracks().forEach((function(e){return e.stop()})),this.localStream=null),this.localSessionId=null,this.speakingSubject.next(!1),this.userSpeakingSubject.next(!1),this.localStreamSubject.next(null)},e}();H.ɵprov=x.ɵɵdefineInjectable({factory:function(){return new H(x.ɵɵinject(x.NgZone))},token:H,providedIn:"root"}),H.decorators=[{type:o.Injectable,args:[{providedIn:"root"}]}],H.ctorParameters=function(){return[{type:o.NgZone}]};var K=function(){function e(e,t,n){var i=this;this.audioAnalyzer=e,this.wsClient=t,this.dailyClient=n,this.callStateSubject=new s.BehaviorSubject("idle"),this.statusTextSubject=new s.BehaviorSubject(""),this.durationSubject=new s.BehaviorSubject("00:00"),this.isMicMutedSubject=new s.BehaviorSubject(!1),this.isUserSpeakingSubject=new s.BehaviorSubject(!1),this.audioLevelsSubject=new s.BehaviorSubject([]),this.userTranscriptSubject=new s.Subject,this.botTranscriptSubject=new s.Subject,this.callStartTime=0,this.durationInterval=null,this.subscriptions=new s.Subscription,this.destroy$=new s.Subject,this.callState$=this.callStateSubject.asObservable(),this.statusText$=this.statusTextSubject.asObservable(),this.duration$=this.durationSubject.asObservable(),this.isMicMuted$=this.isMicMutedSubject.asObservable(),this.isUserSpeaking$=this.isUserSpeakingSubject.asObservable(),this.audioLevels$=this.audioLevelsSubject.asObservable(),this.userTranscript$=this.userTranscriptSubject.asObservable(),this.botTranscript$=this.botTranscriptSubject.asObservable(),this.subscriptions.add(this.audioAnalyzer.audioLevels$.subscribe((function(e){return i.audioLevelsSubject.next(e)})))}return e.prototype.ngOnDestroy=function(){this.destroy$.next(),this.subscriptions.unsubscribe(),this.disconnect()},e.prototype.resetToIdle=function(){"idle"!==this.callStateSubject.value&&(this.stopDurationTimer(),this.audioAnalyzer.stop(),this.wsClient.disconnect(),this.dailyClient.disconnect(),this.callStateSubject.next("idle"),this.statusTextSubject.next(""),this.durationSubject.next("0:00"))},e.prototype.connect=function(e,t,n,i,o,a,s,c){return T(this,void 0,void 0,(function(){var l,d,p,u,h,g=this;return A(this,(function(m){switch(m.label){case 0:if("idle"!==this.callStateSubject.value)return console.warn("Call already in progress"),[2];m.label=1;case 1:return m.trys.push([1,4,,6]),this.callStateSubject.next("connecting"),this.statusTextSubject.next("Connecting..."),l=e.replace(/\/$/,""),[4,fetch(l+"/ai/ask-voice",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer "+t,"domain-authority":c,eventtoken:a,eventurl:s,"hive-bot-id":n,"x-api-key":o,"ngrok-skip-browser-warning":"true"},body:JSON.stringify({bot_id:n,conversation_id:i,voice:"alloy"})})];case 2:if(!(d=m.sent()).ok)throw new Error("HTTP "+d.status);return[4,d.json()];case 3:if(p=m.sent(),!(u=null==p?void 0:p.rn_ws_url)||"string"!=typeof u)throw new Error("No ws_url in response");return this.wsClient.roomCreated$.pipe(r.take(1),r.takeUntil(this.destroy$)).subscribe((function(e){return T(g,void 0,void 0,(function(){var t;return A(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,4]),[4,this.onRoomCreated(e)];case 1:return n.sent(),[3,4];case 2:return t=n.sent(),console.error("Daily join failed:",t),this.callStateSubject.next("ended"),this.statusTextSubject.next("Connection failed"),[4,this.disconnect()];case 3:throw n.sent(),t;case 4:return[2]}}))}))})),this.subscriptions.add(this.wsClient.userTranscript$.pipe(r.takeUntil(this.destroy$)).subscribe((function(e){return g.userTranscriptSubject.next(e)}))),this.subscriptions.add(this.wsClient.botTranscript$.pipe(r.takeUntil(this.destroy$)).subscribe((function(e){return g.botTranscriptSubject.next(e)}))),this.wsClient.connect(u),[3,6];case 4:return h=m.sent(),console.error("Error connecting voice agent:",h),this.callStateSubject.next("ended"),[4,this.disconnect()];case 5:throw m.sent(),this.statusTextSubject.next("Connection failed"),h;case 6:return[2]}}))}))},e.prototype.onRoomCreated=function(e){return T(this,void 0,void 0,(function(){var t=this;return A(this,(function(n){switch(n.label){case 0:return[4,this.dailyClient.connect(e)];case 1:return n.sent(),this.dailyClient.localStream$.pipe(r.filter((function(e){return null!=e})),r.take(1)).subscribe((function(e){t.audioAnalyzer.start(e)})),this.subscriptions.add(this.dailyClient.userSpeaking$.subscribe((function(e){return t.isUserSpeakingSubject.next(e)}))),this.subscriptions.add(s.combineLatest([this.dailyClient.speaking$,this.dailyClient.userSpeaking$]).subscribe((function(e){var n=_(e,2),i=n[0],o=n[1],a=t.callStateSubject.value;if("connecting"!==a||i)return"connecting"===a&&i?(t.callStartTime=Date.now(),t.startDurationTimer(),void t.callStateSubject.next("talking")):void(o?t.callStateSubject.next("listening"):i?t.callStateSubject.next("talking"):"talking"!==a&&"listening"!==a||t.callStateSubject.next("connected"))}))),this.subscriptions.add(this.dailyClient.micMuted$.subscribe((function(e){return t.isMicMutedSubject.next(e)}))),this.statusTextSubject.next("Connecting..."),[2]}}))}))},e.prototype.disconnect=function(){return T(this,void 0,void 0,(function(){return A(this,(function(e){switch(e.label){case 0:return this.stopDurationTimer(),this.audioAnalyzer.stop(),[4,this.dailyClient.disconnect()];case 1:return e.sent(),this.wsClient.disconnect(),this.callStateSubject.next("ended"),this.statusTextSubject.next("Call Ended"),[2]}}))}))},e.prototype.toggleMic=function(){var e=this.isMicMutedSubject.value;this.dailyClient.setMuted(!e)},e.prototype.startDurationTimer=function(){var e=this,t=function(){if(e.callStartTime>0){var t=Math.floor((Date.now()-e.callStartTime)/1e3),n=Math.floor(t/60),i=t%60;e.durationSubject.next(n+":"+String(i).padStart(2,"0"))}};t(),this.durationInterval=setInterval(t,1e3)},e.prototype.stopDurationTimer=function(){this.durationInterval&&(clearInterval(this.durationInterval),this.durationInterval=null)},e}();K.ɵprov=x.ɵɵdefineInjectable({factory:function(){return new K(x.ɵɵinject(N),x.ɵɵinject(W),x.ɵɵinject(H))},token:K,providedIn:"root"}),K.decorators=[{type:o.Injectable,args:[{providedIn:"root"}]}],K.ctorParameters=function(){return[{type:N},{type:W},{type:H}]};var q,G=new o.InjectionToken("VOICE_MODAL_CONFIG"),Z=new o.InjectionToken("VOICE_MODAL_CLOSE_CALLBACK"),$=function(){function e(e,t,n){this.voiceAgentService=e,this.audioAnalyzer=t,this.injector=n,this.close=new o.EventEmitter,this.apiKey="",this.eventToken="",this.eventUrl="",this.domainAuthority="prod-lite",this.agentName="AI Assistant",this.agentRole="AI Agent Specialist",this.injectedConfig=null,this.onCloseCallback=null,this.displayAvatarUrl="https://www.jotform.com/uploads/mehmetkarakasli/form_files/1564593667676a8e85f23758.86945537_icon.png",this.callState="idle",this.statusText="",this.duration="00:00",this.isMicMuted=!1,this.isUserSpeaking=!1,this.audioLevels=[],this.isSpeaking=!1,this.hasLeftConnectedOnce=!1,this.subscriptions=[],this.isConnecting=!1}return e.prototype.ngOnInit=function(){var e,t,n,i,o,a,s=this;this.injectedConfig=this.injector.get(G,null),this.onCloseCallback=this.injector.get(Z,null),this.injectedConfig&&(this.apiUrl=this.injectedConfig.apiUrl,this.token=this.injectedConfig.token,this.botId=this.injectedConfig.botId,this.conversationId=this.injectedConfig.conversationId,this.apiKey=null!==(e=this.injectedConfig.apiKey)&&void 0!==e?e:"",this.eventToken=null!==(t=this.injectedConfig.eventToken)&&void 0!==t?t:"",this.eventUrl=null!==(n=this.injectedConfig.eventUrl)&&void 0!==n?n:"",this.domainAuthority=null!==(i=this.injectedConfig.domainAuthority)&&void 0!==i?i:"prod-lite",this.agentName=null!==(o=this.injectedConfig.agentName)&&void 0!==o?o:this.agentName,this.agentRole=null!==(a=this.injectedConfig.agentRole)&&void 0!==a?a:this.agentRole,this.agentAvatar=this.injectedConfig.agentAvatar),this.subscriptions.push(this.voiceAgentService.callState$.subscribe((function(e){s.callState=e,s.isSpeaking="talking"===e,"listening"!==e&&"talking"!==e||(s.hasLeftConnectedOnce=!0),"idle"!==e&&"ended"!==e||(s.hasLeftConnectedOnce=!1)}))),this.subscriptions.push(this.voiceAgentService.statusText$.subscribe((function(e){s.statusText=e}))),this.subscriptions.push(this.voiceAgentService.duration$.subscribe((function(e){s.duration=e}))),this.subscriptions.push(this.voiceAgentService.isMicMuted$.subscribe((function(e){s.isMicMuted=e}))),this.subscriptions.push(this.voiceAgentService.isUserSpeaking$.subscribe((function(e){s.isUserSpeaking=e}))),this.subscriptions.push(this.voiceAgentService.audioLevels$.subscribe((function(e){s.audioLevels=e}))),this.voiceAgentService.resetToIdle(),this.startCall()},e.prototype.ngOnDestroy=function(){this.subscriptions.forEach((function(e){return e.unsubscribe()})),this.disconnect()},e.prototype.startCall=function(){return T(this,void 0,void 0,(function(){var e;return A(this,(function(t){switch(t.label){case 0:if(this.isConnecting||"idle"!==this.callState&&"ended"!==this.callState)return[2];this.isConnecting=!0,t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,this.voiceAgentService.connect(this.apiUrl,this.token,this.botId,this.conversationId,this.apiKey,this.eventToken,this.eventUrl,this.domainAuthority)];case 2:return t.sent(),[3,5];case 3:return e=t.sent(),console.error("Failed to connect voice agent:",e),[3,5];case 4:return this.isConnecting=!1,[7];case 5:return[2]}}))}))},e.prototype.disconnect=function(){return T(this,void 0,void 0,(function(){return A(this,(function(e){switch(e.label){case 0:return[4,this.voiceAgentService.disconnect()];case 1:return e.sent(),[2]}}))}))},e.prototype.toggleMic=function(){this.voiceAgentService.toggleMic()},e.prototype.getWaveformHeight=function(e){return 3+Math.min(100,Math.max(0,null!=e?e:0))/100*17},Object.defineProperty(e.prototype,"statusLabel",{get:function(){return"connecting"===this.callState?this.statusText||"Connecting...":"talking"===this.callState?"Talking...":"listening"===this.callState?"Listening":"connected"===this.callState?this.hasLeftConnectedOnce?"Talking...":"Connected":this.statusText||""},enumerable:!1,configurable:!0}),e.prototype.callAgain=function(){this.voiceAgentService.resetToIdle(),this.startCall()},e.prototype.backToChat=function(){this.endCall()},e.prototype.hangUp=function(){this.disconnect()},e.prototype.endCall=function(){var e;this.disconnect(),null===(e=this.onCloseCallback)||void 0===e||e.call(this),this.close.emit()},e}();$.decorators=[{type:o.Component,args:[{selector:"hivegpt-voice-agent-modal",template:'<div class="voice-agent-modal-overlay" (click)="endCall()">\n <div\n class="voice-container voice-agent-modal"\n (click)="$event.stopPropagation()"\n >\n \x3c!-- Header --\x3e\n <div class="header">\n <div class="header-left">\n <div class="header-icon">\n <svg\n width="16"\n height="16"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M12 1C8.13 1 5 4.13 5 8V14C5 17.87 8.13 21 12 21C15.87 21 19 17.87 19 14V8C19 4.13 15.87 1 12 1Z"\n fill="currentColor"\n />\n <path\n d="M12 23C10.34 23 9 21.66 9 20H15C15 21.66 13.66 23 12 23Z"\n fill="currentColor"\n />\n </svg>\n </div>\n <span class="header-title">Voice</span>\n </div>\n <button\n class="close-button"\n (click)="endCall()"\n type="button"\n aria-label="Close"\n >\n <svg\n width="24"\n height="24"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M18 6L6 18M6 6L18 18"\n stroke="currentColor"\n stroke-width="2"\n stroke-linecap="round"\n />\n </svg>\n </button>\n </div>\n\n \x3c!-- Avatar Section with glow --\x3e\n <div class="avatar-section">\n <div class="avatar-glow"></div>\n <div class="avatar-wrapper" [class.speaking]="isSpeaking">\n <img class="avatar-image" [src]="displayAvatarUrl" alt="Nia" />\n </div>\n </div>\n\n \x3c!-- Agent Info: Nia + Collaboration Manager AI Agent Specialist --\x3e\n <div class="agent-info">\n <div class="agent-name">\n Nia\n <span class="ai-badge">AI</span>\n </div>\n <p class="agent-role">COP30 AI Agent </p>\n </div>\n\n \x3c!-- Start Call (when idle only) --\x3e\n <div *ngIf="callState === \'idle\'" class="start-call-section">\n <p *ngIf="statusText === \'Connection failed\'" class="error-message">\n {{ statusText }}\n </p>\n <button\n class="start-call-button"\n type="button"\n [disabled]="isConnecting"\n (click)="startCall()"\n >\n <span *ngIf="isConnecting">Connecting...</span>\n <span *ngIf="!isConnecting && statusText === \'Connection failed\'"\n >Retry</span\n >\n <span *ngIf="!isConnecting && statusText !== \'Connection failed\'"\n >Start Call</span\n >\n </button>\n </div>\n\n \x3c!-- Call Ended: status + Call Again / Back to Chat --\x3e\n <div *ngIf="callState === \'ended\'" class="call-ended-section">\n <p class="call-ended-status">\n <span class="status-text">Call Ended</span>\n <span class="status-timer">{{ duration }}</span>\n </p>\n <div class="call-ended-controls">\n <button\n class="action-btn"\n type="button"\n (click)="callAgain()"\n title="Call Again"\n >\n <svg\n width="18"\n height="18"\n viewBox="0 0 24 24"\n fill="none"\n stroke="currentColor"\n stroke-width="2"\n stroke-linecap="round"\n stroke-linejoin="round"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" />\n <path d="M3 3v5h5" />\n </svg>\n Call Again\n </button>\n <button\n class="action-btn"\n type="button"\n (click)="backToChat()"\n title="Back to Chat"\n >\n <svg\n width="18"\n height="18"\n viewBox="0 0 24 24"\n fill="none"\n stroke="currentColor"\n stroke-width="2"\n stroke-linecap="round"\n stroke-linejoin="round"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" />\n </svg>\n Back to Chat\n </button>\n </div>\n </div>\n\n \x3c!-- Status (when connecting or in-call: Talking... / Listening / Connected + timer) --\x3e\n <div\n class="status-indicator status-inline"\n *ngIf="callState !== \'idle\' && callState !== \'ended\'"\n >\n <div *ngIf="callState === \'connecting\'" class="status-connecting">\n <svg\n class="spinner"\n width="24"\n height="24"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <circle\n cx="12"\n cy="12"\n r="10"\n stroke="currentColor"\n stroke-width="2"\n stroke-linecap="round"\n stroke-dasharray="31.416"\n stroke-dashoffset="31.416"\n >\n <animate\n attributeName="stroke-dasharray"\n dur="2s"\n values="0 31.416;15.708 15.708;0 31.416;0 31.416"\n repeatCount="indefinite"\n />\n <animate\n attributeName="stroke-dashoffset"\n dur="2s"\n values="0;-15.708;-31.416;-31.416"\n repeatCount="indefinite"\n />\n </circle>\n </svg>\n <span class="status-text">{{ statusText }}</span>\n </div>\n <div\n *ngIf="callState !== \'connecting\'"\n class="status-connected status-inline-row"\n >\n <span class="status-text">{{ statusLabel }}</span>\n <span class="status-timer">{{ duration }}</span>\n </div>\n </div>\n\n \x3c!-- Waveform --\x3e\n <div\n *ngIf="callState === \'listening\' && isUserSpeaking"\n class="waveform-container"\n >\n <div class="waveform-bars">\n <div\n *ngFor="let level of audioLevels; let i = index"\n class="waveform-bar"\n [style.height.px]="getWaveformHeight(level)"\n ></div>\n </div>\n </div>\n\n \x3c!-- Call Controls (when connected) --\x3e\n <div\n class="controls"\n *ngIf="\n callState === \'connected\' ||\n callState === \'listening\' ||\n callState === \'talking\'\n "\n >\n <div\n style="\n display: flex;\n align-items: center;\n gap: 2px;\n flex-direction: column;\n "\n >\n <button\n class="control-btn mic-btn"\n [class.muted]="isMicMuted"\n (click)="toggleMic()"\n type="button"\n [title]="isMicMuted ? \'Unmute\' : \'Mute\'"\n >\n \x3c!-- Microphone icon (unmuted) --\x3e\n <svg\n *ngIf="!isMicMuted"\n width="24"\n height="24"\n viewBox="-5 0 32 32"\n xmlns="http://www.w3.org/2000/svg"\n fill="currentColor"\n >\n <g transform="translate(-105, -307)">\n <path\n d="M111,314 C111,311.238 113.239,309 116,309 C118.761,309 121,311.238 121,314 L121,324 C121,326.762 118.761,329 116,329 C113.239,329 111,326.762 111,324 L111,314 L111,314 Z M116,331 C119.866,331 123,327.866 123,324 L123,314 C123,310.134 119.866,307 116,307 C112.134,307 109,310.134 109,314 L109,324 C109,327.866 112.134,331 116,331 L116,331 Z M127,326 L125,326 C124.089,330.007 120.282,333 116,333 C111.718,333 107.911,330.007 107,326 L105,326 C105.883,330.799 110.063,334.51 115,334.955 L115,337 L114,337 C113.448,337 113,337.448 113,338 C113,338.553 113.448,339 114,339 L118,339 C118.552,339 119,338.553 119,338 C119,337.448 118.552,337 118,337 L117,337 L117,334.955 C121.937,334.51 126.117,330.799 127,326 L127,326 Z"\n />\n </g>\n </svg>\n \x3c!-- Microphone icon (muted) --\x3e\n <svg\n *ngIf="isMicMuted"\n width="24"\n height="24"\n viewBox="-5 0 32 32"\n xmlns="http://www.w3.org/2000/svg"\n fill="currentColor"\n >\n <g transform="translate(-105, -307)">\n <path\n d="M111,314 C111,311.238 113.239,309 116,309 C118.761,309 121,311.238 121,314 L121,324 C121,326.762 118.761,329 116,329 C113.239,329 111,326.762 111,324 L111,314 L111,314 Z M116,331 C119.866,331 123,327.866 123,324 L123,314 C123,310.134 119.866,307 116,307 C112.134,307 109,310.134 109,314 L109,324 C109,327.866 112.134,331 116,331 L116,331 Z M127,326 L125,326 C124.089,330.007 120.282,333 116,333 C111.718,333 107.911,330.007 107,326 L105,326 C105.883,330.799 110.063,334.51 115,334.955 L115,337 L114,337 C113.448,337 113,337.448 113,338 C113,338.553 113.448,339 114,339 L118,339 C118.552,339 119,338.553 119,338 C119,337.448 118.552,337 118,337 L117,337 L117,334.955 C121.937,334.51 126.117,330.799 127,326 L127,326 Z"\n />\n </g>\n <path\n d="M2 2 L30 30"\n stroke="currentColor"\n stroke-width="2"\n stroke-linecap="round"\n />\n </svg>\n </button>\n <span class="control-label">Mute</span>\n </div>\n\n <div\n style="\n display: flex;\n align-items: center;\n gap: 2px;\n flex-direction: column;\n "\n >\n <button\n class="control-btn end-call-btn"\n (click)="hangUp()"\n type="button"\n title="End Call"\n >\n <svg\n width="24"\n height="24"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M18 6L6 18M6 6L18 18"\n stroke="currentColor"\n stroke-width="2"\n stroke-linecap="round"\n />\n </svg>\n </button>\n <span class="control-label">End Call</span>\n </div>\n </div>\n </div>\n</div>\n',styles:[":host{display:block}.voice-agent-modal-overlay{align-items:flex-end;backdrop-filter:blur(4px);background:rgba(0,0,0,.5);bottom:0;display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:flex-end;left:0;padding:24px;position:fixed;right:0;top:0;z-index:99999}.voice-container.voice-agent-modal{align-items:center;animation:modalEnter .3s ease-out;background:#fff;border-radius:30px;box-shadow:0 10px 40px rgba(0,0,0,.1);display:flex;flex-direction:column;max-width:440px;min-height:600px;padding:30px;position:relative;text-align:center;width:100%}@keyframes modalEnter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.header{justify-content:space-between;margin-bottom:5px;width:100%}.header,.header-left{align-items:center;display:flex}.header-left{gap:8px}.header-icon{align-items:center;background:#0f172a;border-radius:50%;color:#fff;display:flex;height:28px;justify-content:center;width:28px}.header-title{color:#0f172a;font-size:18px;font-weight:500}.close-button{align-items:center;background:none;border:none;color:#0f172a;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:color .2s}.close-button:hover{color:#475569}.avatar-section{margin-bottom:24px;position:relative}.avatar-wrapper{align-items:center;background:#0ea5a4;background:linear-gradient(135deg,#ccfbf1,#0ea5a4);border-radius:50%;display:flex;height:180px;justify-content:center;padding:6px;position:relative;width:180px}.avatar-image{-o-object-fit:cover;border:4px solid #fff;border-radius:50%;height:100%;object-fit:cover;width:100%}.avatar-glow{background:radial-gradient(circle,rgba(14,165,164,.2) 0,transparent 70%);height:240px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:240px;z-index:-1}.avatar-wrapper.speaking{animation:avatarPulse 2s ease-in-out infinite}@keyframes avatarPulse{0%,to{box-shadow:0 0 0 0 rgba(14,165,164,.4)}50%{box-shadow:0 0 0 15px rgba(14,165,164,0)}}.agent-info{margin-bottom:40px}.agent-name{align-items:center;color:#0f172a;display:flex;font-size:24px;font-weight:700;gap:8px;justify-content:center;margin-bottom:8px}.ai-badge{background:#0ea5a4;border-radius:6px;color:#fff;font-size:10px;font-weight:700;padding:2px 6px}.agent-role{color:#0f172a;font-size:16px;font-weight:500;margin:0}.start-call-section{align-items:center;display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.error-message{color:#dc2626;font-size:14px;margin:0}.start-call-button{background:#0ea5a4;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 32px;transition:background .2s}.start-call-button:hover:not(:disabled){background:#0d9488}.start-call-button:disabled{cursor:not-allowed!important;opacity:.7}.status-indicator{justify-content:center;margin-bottom:10px}.status-connecting,.status-indicator{align-items:center;display:flex;gap:12px}.spinner{animation:spin 1s linear infinite;color:#0ea5a4}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.status-text{font-weight:400}.status-text,.status-timer{color:#0f172a;font-size:16px}.status-timer{font-weight:500}.status-connected{align-items:center;display:flex;flex-direction:column;gap:4px}.status-inline .status-inline-row{align-items:center;flex-direction:row;gap:8px}.call-ended-section{align-items:center;display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.call-ended-status{align-items:center;color:#0f172a;display:flex;font-size:16px;gap:8px;justify-content:center;margin:0}.call-ended-status .status-text{font-weight:400}.call-ended-status .status-timer{font-weight:500}.call-ended-controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.action-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:24px;color:#0f172a;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 24px;transition:background .2s ease}.action-btn:hover{background:#f8fafc}.waveform-container{margin-bottom:10px;padding:0 20px}.waveform-bars,.waveform-container{align-items:center;display:flex;gap:3px;height:60px;justify-content:center}.waveform-bar{background:linear-gradient(180deg,#94a3b8,#64748b);border-radius:2px;box-shadow:0 0 3px rgba(100,116,139,.2);max-height:20px;min-height:3px;transition:height .15s ease-in-out;width:3px}.waveform-bar:nth-child(2n){background:linear-gradient(180deg,#cbd5e1,#94a3b8)}.waveform-bar:nth-child(3n){background:linear-gradient(180deg,#64748b,#475569)}.controls{gap:24px;width:100%}.control-btn,.controls{align-items:center;display:flex;justify-content:center}.control-btn{border:none;border-radius:50%;cursor:pointer;flex-direction:column;gap:4px;height:60px;transition:transform .2s ease;width:60px}.control-btn:hover{transform:scale(1.05)}.control-btn:active{transform:scale(.95)}.control-label{color:#0f172a;font-size:12px;font-weight:500}.mic-btn{background:#e2e8f0}.mic-btn,.mic-btn .control-label{color:#475569}.mic-btn.muted{background:#e2e8f0;color:#475569}.end-call-btn{background:#ef4444;color:#fff}.end-call-btn .control-label{color:#fff}.end-call-btn:hover{background:#dc2626}"]}]}],$.ctorParameters=function(){return[{type:K},{type:N},{type:o.Injector}]},$.propDecorators={close:[{type:o.Output}],apiUrl:[{type:o.Input}],token:[{type:o.Input}],botId:[{type:o.Input}],conversationId:[{type:o.Input}],apiKey:[{type:o.Input}],eventToken:[{type:o.Input}],eventUrl:[{type:o.Input}],domainAuthority:[{type:o.Input}],agentName:[{type:o.Input}],agentRole:[{type:o.Input}],agentAvatar:[{type:o.Input}]},e.eClassificationType=void 0,(q=e.eClassificationType||(e.eClassificationType={})).Live="6040dce57615f0770af14256",q.OnDemand="6040dce57615f0770af14257",q.Breakout="6040dce57615f0770af14258";var Y=function(){function t(e,t,n,i,a,s,r,c,l,d,p,u,h,g){var m=this;this.fb=e,this.botService=t,this.cdr=n,this.http=i,this.sanitizer=a,this.elementRef=s,this.renderer=r,this.socketService=c,this.conversationService=l,this.translationService=d,this.voiceAgentService=p,this.overlay=u,this.viewContainerRef=h,this.injector=g,this.bodyOverflowClass="body-overflow-hidden",this.isCollapsedTrue=!1,this.copilotName="HiveXGPT",this.displayAvatarUrl="https://www.jotform.com/uploads/mehmetkarakasli/form_files/1564593667676a8e85f23758.86945537_icon.png",this.connectionsList=[],this.pendingSentRequestUserIds=[],this.isConnectionsEnabled=!0,this.isUnEvent=!1,this.feedbackEvent=new o.EventEmitter,this.onCloseEvent=new o.EventEmitter,this.openPage=new o.EventEmitter,this.sessionActions=new o.EventEmitter,this.sessionActionBlocked=new o.EventEmitter,this.closeBot=new o.EventEmitter,this.connectWithUser=new o.EventEmitter,this.scheduleMeeting=new o.EventEmitter,this.refreshToken=new o.EventEmitter,this.openSupport=new o.EventEmitter,this.autogenKey="Autogen_eDJTtEU-NB0RtIpzq1w",this.addToMyAgendaAction="add_to_my_agenda",this.myUpcomingSessionAction="my_upcomming_session",this.connectOrFollowAction="connect_or_follow",this.aiResponse="",this.chatLog=[],this.decoder=new TextDecoder,this.feedbackDone=!1,this.greetingMsg="",this.hasBackdropValue=!1,this.input="",this.listenerAdded=!1,this.loading=!1,this.mode="over",this.quickPrompts=[],this.thumbsDownMsgIndex=0,this.userName="",this.showStartAgain=!1,this.isIOSDevice=!1,this.showFeedBackIconsIndex=null,this.temperature=1,this.speakers={},this.requestedSpeakerIds=new Set,this.conSessionKey="",this.currentWorkflowActionProgress=0,this.currentWorkflowAction="",this.recognizedText="",this.authorizationToken="",this.region="westeurope",this.isVoiceModalOpen=!1,this.voiceModalOverlayRef=null,this.voiceTranscriptSubscriptions=[],this.domainAuthorityValue="prod-lite",this.chatSocketInitialized=!1,this.SESSION_CARDS_INITIAL=6,this.ATTENDEE_CARDS_INITIAL=9,this.SPEAKER_CARDS_INITIAL=9,this.expandedSessionCardIds={},this.expandedAttendeeCardIds={},this.expandedSpeakerCardIds={},this.expandedAttendeeDescriptionIds={},this.attendeeVideoPlayingIds={},this.attendeeVideoMutedIds={},this.isChatingWithAi=!1,this.readAllChunks=function(e){var t=e.getReader(),n=[];return t.closed.catch((function(e){e&&console.error("Error reading stream: ",e),m.isChatingWithAi=!1,m.scrollToBottom()})),new ReadableStream({start:function(e){return m.pump(e,t,n)}})},this.currentMessageForEditor="",this.currentIndexForEditor=-1,this.isDropdownOpen=!1,this.selectedAgents=[],this.allSelected=!1,this.isDocInEditMode=!1,this.isContentLoaded=!1,this.isCollapsed=!1,this.isCollapsedForGraph=!1,this.isCollapsedForFGraph=!1,this.dateTime={now:(new Date).toISOString()},this.currentSourcesList=[],this.isShowEditorButton=!0,this.isDrawerOpen=!0,this.voiceModalConversationId="",this.chatMain=new o.ElementRef(null)}return t.prototype.getTranslation=function(e){return this.translationService.getTranslation(e)},t.prototype.getLoadingTime=function(){return j(this.timezone)},t.prototype.getUserIdInitials=function(){var e=(this.firstName||"").trim(),t=(this.lastName||"").trim();return e&&t?(e[0]+t[0]).toUpperCase():e?e.slice(0,2).toUpperCase():t?t.slice(0,2).toUpperCase():"U"},t.prototype.getAttendeeInitials=function(e){if(!e||"string"!=typeof e)return"?";var t=e.trim().split(/\s+/).filter(Boolean);return t.length>=2?(t[0][0]+t[t.length-1][0]).toUpperCase():1===t.length?t[0].slice(0,2).toUpperCase():"?"},t.prototype.ngOnChanges=function(e){e.eventId&&e.eventId.currentValue&&this.translationService.setEventId(e.eventId.currentValue),e.s27Token&&e.s27Token.currentValue!=e.s27Token.previousValue&&(this.s27Token=e.s27Token.currentValue,console.log("isFetchDataFor: ",this.isFetchDataFor),console.log("msg: ",this.msg),console.log("chat: ",this.chat),this.is401&&(this.isFetchDataFor?this.fetchDataFor(this.msg,this.chat):this.fetchData(this.msg))),e.orgId&&e.orgId.currentValue!=e.orgId.previousValue&&(this.chatSocketInitialized=!1),e.baseUrl&&this.environment&&this.applyBaseUrlOverride()},t.prototype.applyBaseUrlOverride=function(){var e=this.isDev?z:U;if(this.baseUrl&&"string"==typeof this.baseUrl){var t=this.baseUrl.trim().replace(/\/+$/,"");if(t)return void(this.environment=Object.assign(Object.assign({},e),{BASE_URL:t}))}this.environment=e},t.prototype.ngOnInit=function(){var e=this;this.eventId&&this.translationService.setEventId(this.eventId),this.applyBaseUrlOverride();var t=window.location.hostname;t.includes("pre-app.social27.com")?this.domainAuthorityValue="pre-prod-lite":t.includes("app.social27.com")?this.domainAuthorityValue="prod-lite":t.includes("hivegpt.io")&&(this.domainAuthorityValue="hivegpt"),this.changeTemperature(this.temperature),this.fetchBotConfig().subscribe((function(t){e.cdr.markForCheck(),e.fetchChatHistory().subscribe((function(t){e.loading=!1,e.mapChatHistory(t),e.cdr.markForCheck()}),(function(e){console.error("Error fetching chat history:",e)}))}),(function(e){console.error("Error fetching chat history:",e)})),this.cdr.markForCheck(),this.botService.fetchSpeechAuthorizationToken(this.botId,this.apiKey,this.domainAuthorityValue).subscribe((function(t){e.authorizationToken=t,e.initializeSpeechRecognizer(t)}))},t.prototype.ensureChatSocket=function(){!this.chatSocketInitialized&&this.orgId&&(this.chatSocketInitialized=!0,this.initializeSocket())},t.prototype.initializeSocket=function(){var e=this;try{this.socketService.disconnectSocketConnection()}catch(e){}setTimeout((function(){e.socketService.connectSocketConnection(),setTimeout((function(){console.log("YES INIT");var t=e.conversationService.getKey(e.botId);e.socketService.registerUserSpecificHiveSocket(e.botId,t,e.orgId),setTimeout((function(){e.listenSockets()}),300)}),200)}),300)},t.prototype.stripHtml=function(e){var t,n;return e&&"string"==typeof e?(null!==(n=null===(t=(new DOMParser).parseFromString(e,"text/html").body)||void 0===t?void 0:t.textContent)&&void 0!==n?n:"").replace(/\s+/g," ").trim():""},t.prototype.getAttendeeDescription=function(e){var t,n,i,o=null!==(i=null!==(n=null!==(t=null==e?void 0:e.description)&&void 0!==t?t:null==e?void 0:e.interests)&&void 0!==n?n:null==e?void 0:e.jobTitle)&&void 0!==i?i:"",a="string"==typeof o?o.trim():String(null!=o?o:"").trim();return a&&/<[a-z][\s\S]*>/i.test(a)?this.stripHtml(a):a},t.prototype.shouldShowAttendeeReadMore=function(e){return this.getAttendeeDescription(e).length>90},t.prototype.getAttendeeDescKey=function(e,t){var n,i,o=null==e?void 0:e._id,a=null!==(i=null!==(n=null==t?void 0:t.id)&&void 0!==n?n:null==t?void 0:t._id)&&void 0!==i?i:null==t?void 0:t.userId;return o&&a?o+":"+a:null},t.prototype.isAttendeeDescriptionExpanded=function(e,t){var n=this.getAttendeeDescKey(e,t);return!!n&&!!this.expandedAttendeeDescriptionIds[n]},t.prototype.toggleAttendeeDescription=function(e,t,n){var i,o;null===(o=null==n?void 0:n.stopPropagation)||void 0===o||o.call(n);var a=this.getAttendeeDescKey(e,t);if(a){var s=!this.expandedAttendeeDescriptionIds[a];this.expandedAttendeeDescriptionIds=Object.assign(Object.assign({},this.expandedAttendeeDescriptionIds),((i={})[a]=s,i)),this.cdr.markForCheck()}},t.prototype.getAttendeeVideoUrl=function(e){var t,n=null===(t=null==e?void 0:e.userVideosModel)||void 0===t?void 0:t.url;return"string"==typeof n?n.trim():""},t.prototype.getAttendeeVideoPoster=function(e){var t,n=null===(t=null==e?void 0:e.userVideosModel)||void 0===t?void 0:t.thumbnail;return"string"==typeof n?n.trim():""},t.prototype.getAttendeeMediaKey=function(e,t){var n,i,o=null==e?void 0:e._id,a=null!==(i=null!==(n=null==t?void 0:t.id)&&void 0!==n?n:null==t?void 0:t._id)&&void 0!==i?i:null==t?void 0:t.userId;return o&&a?o+":"+a:null},t.prototype.isAttendeeVideoMuted=function(e,t){var n=this.getAttendeeMediaKey(e,t);return!n||!1!==this.attendeeVideoMutedIds[n]},t.prototype.isAttendeeVideoPlaying=function(e,t){var n=this.getAttendeeMediaKey(e,t);return!!n&&!!this.attendeeVideoPlayingIds[n]},t.prototype.toggleAttendeeVideoMute=function(e,t,n,i){var o,a;null===(a=null==i?void 0:i.stopPropagation)||void 0===a||a.call(i);var s=this.getAttendeeMediaKey(e,t);if(s){var r=!this.isAttendeeVideoMuted(e,t);this.attendeeVideoMutedIds=Object.assign(Object.assign({},this.attendeeVideoMutedIds),((o={})[s]=r,o)),n&&(n.muted=r,r||null!=n.volume&&0!==n.volume||(n.volume=1)),this.cdr.markForCheck()}},t.prototype.toggleAttendeeVideoPlay=function(e,t,n,i){var o,a,s=this;null===(a=null==i?void 0:i.stopPropagation)||void 0===a||a.call(i);var r=this.getAttendeeMediaKey(e,t);if(r){var c=!this.isAttendeeVideoPlaying(e,t);if(this.attendeeVideoPlayingIds=Object.assign(Object.assign({},this.attendeeVideoPlayingIds),((o={})[r]=c,o)),n)try{if(c){var l=n.play();l&&"function"==typeof l.catch&&l.catch((function(){var e;s.attendeeVideoPlayingIds=Object.assign(Object.assign({},s.attendeeVideoPlayingIds),((e={})[r]=!1,e)),s.cdr.markForCheck()}))}else n.pause()}catch(e){}this.cdr.markForCheck()}},t.prototype.onAttendeeVideoPlayState=function(e,t,n){var i,o=this.getAttendeeMediaKey(e,t);o&&this.attendeeVideoPlayingIds[o]!==n&&(this.attendeeVideoPlayingIds=Object.assign(Object.assign({},this.attendeeVideoPlayingIds),((i={})[o]=n,i)),this.cdr.markForCheck())},t.prototype.formatSessionWhen=function(e,t){var n=t?{timeZone:t}:{};if(!e)return"";if("object"==typeof e&&(null==e?void 0:e.start)&&(null==e?void 0:e.end))try{var i=new Date(e.start),o=new Date(e.end);return i.toLocaleDateString("en-US",Object.assign({month:"short",day:"numeric",year:"numeric"},n))+" | "+i.toLocaleTimeString("en-US",Object.assign({hour:"2-digit",minute:"2-digit",hour12:!1},n))+" - "+o.toLocaleTimeString("en-US",Object.assign({hour:"2-digit",minute:"2-digit",hour12:!1},n))}catch(e){return""}if("string"!=typeof e)return"";var a=e.match(/Start:\s*(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})/),s=e.match(/End:\s*(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})/);if(!a||!s)return e;try{var r=a[1],c=s[1];i=new Date(r.replace(" ","T")+"Z"),o=new Date(c.replace(" ","T")+"Z");return i.toLocaleDateString("en-US",Object.assign({month:"short",day:"numeric",year:"numeric"},n))+" | "+i.toLocaleTimeString("en-US",Object.assign({hour:"2-digit",minute:"2-digit",hour12:!1},n))+" - "+o.toLocaleTimeString("en-US",Object.assign({hour:"2-digit",minute:"2-digit",hour12:!1},n))}catch(t){return e}},t.prototype.getSessionDateBadge=function(e,t){if(!e)return{day:"",month:""};try{var n=null;if("object"==typeof e&&(null==e?void 0:e.start))n=new Date(e.start);else if("string"==typeof e){var i=e.match(/Start:\s*(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})/);i&&(n=new Date(i[1].replace(" ","T")+"Z"))}if(!n||isNaN(n.getTime()))return{day:"",month:""};var o=t?{timeZone:t}:{};try{return{day:n.toLocaleDateString("en-US",Object.assign({day:"numeric"},o)),month:n.toLocaleDateString("en-US",Object.assign({month:"short"},o))}}catch(e){return{day:n.toLocaleDateString("en-US",{day:"numeric"}),month:n.toLocaleDateString("en-US",{month:"short"})}}}catch(e){return{day:"",month:""}}},t.prototype.formatSessionTimeRange=function(e,t){if(!e)return"";try{var n=null,i=null;if("object"==typeof e&&(null==e?void 0:e.start)&&(null==e?void 0:e.end))n=new Date(e.start),i=new Date(e.end);else if("string"==typeof e){var o=e.match(/Start:\s*(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})/),a=e.match(/End:\s*(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})/);o&&(n=new Date(o[1].replace(" ","T")+"Z")),a&&(i=new Date(a[1].replace(" ","T")+"Z"))}if(!n||isNaN(n.getTime()))return"";var s=t?{timeZone:t}:{};try{var r=n.toLocaleTimeString("en-US",Object.assign({hour:"numeric",minute:"2-digit",hour12:!0},s));return(c=i&&!isNaN(i.getTime())?i.toLocaleTimeString("en-US",Object.assign({hour:"numeric",minute:"2-digit",hour12:!0},s)):"")?r+" - "+c:r}catch(e){var c;r=n.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0});return(c=i&&!isNaN(i.getTime())?i.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0}):"")?r+" - "+c:r}}catch(e){return""}},t.prototype.getTimezoneAbbreviation=function(e){var t;if(!e||!String(e).trim())return"";var n=String(e).trim();if(n.startsWith("(UTC")||n.startsWith("(utc")){var i=this.constructor.WINDOWS_TZ_ABBR_MAP,o=Object.keys(i).find((function(e){return e.toLowerCase()===n.toLowerCase()}));if(o)return i[o]}var a=this.constructor.TZ_ABBR_MAP,s=a[n];if(!s){var r=n.toLowerCase(),c=Object.entries(a).find((function(e){return _(e,1)[0].toLowerCase()===r}));c&&(s=c[1])}if(s)return s;try{var l=new Intl.DateTimeFormat("en-US",{timeZone:n,timeZoneName:"short"}).formatToParts(new Date).find((function(e){return"timeZoneName"===e.type})),d=(null!==(t=null==l?void 0:l.value)&&void 0!==t?t:"").trim();return d&&/^GMT[+-]\d/.test(d)?"":d}catch(e){return""}},t.prototype.getStatusTextFromSessionRoles=function(e){if(!Array.isArray(e)||0===e.length)return this.getTranslation("You can join this meeting")||"You can join this meeting";var t=e[0];return"string"==typeof t?String(t).replace(/^\s*-\s*/,"").trim():t&&"object"==typeof t&&t.description?String(t.description).trim():this.getTranslation("You can join this meeting")||"You can join this meeting"},t.prototype.mapSessionsToCardData=function(e){var t=this;if(!Array.isArray(e))return[];var n=this.timezone&&String(this.timezone).trim()?String(this.timezone).trim():void 0;return e.map((function(e){var i,o,a,s,r,c,l,d,p,u,h,g,m=null!==(o=null!==(i=e.dateTimeRange)&&void 0!==i?i:e.actualDateTimeRange)&&void 0!==o?o:"",f=t.formatSessionWhen(m,n),v=Array.isArray(e.sessionRoles)&&e.sessionRoles.some((function(e){var t=e&&"object"==typeof e&&e.sessionRoleName?String(e.sessionRoleName).trim().toLowerCase():String(null!=e?e:"").trim().toLowerCase();return"join"===t||"watch"===t}))?t.getStatusTextFromSessionRoles(e.sessionRoles):"",b=null!=e.timeZone?"object"==typeof e.timeZone?null!==(s=null!==(a=e.timeZone.id)&&void 0!==a?a:e.timeZone.name)&&void 0!==s?s:"":String(e.timeZone):"",y=(n||b||"").trim(),x=y?t.getTimezoneAbbreviation(y):"",w=f||("object"==typeof m?"":String(m)),k=x?(w+" ("+x+")").trim():w,S=t.getSessionDateBadge(m,y),C=t.formatSessionTimeRange(m,y),I=String(null!==(c=null!==(r=e.description)&&void 0!==r?r:e.abstract)&&void 0!==c?c:"").trim(),T=String(null!==(p=null!==(d=null!==(l=e.sessionType)&&void 0!==l?l:e.type)&&void 0!==d?d:e.meetingType)&&void 0!==p?p:"").trim(),A=t.isUnEvent?t.getTranslation("Meeting type")||"Meeting type":t.getTranslation("Session type")||"Session type",M=x||y||"";!C&&y&&(C=t.getTranslation("Not specified")||"Not specified");var _=M?(C+" ("+M+")").trim():C;return{title:String(null!==(u=e.title)&&void 0!==u?u:"").trim(),organizer:String(null!==(h=e.organizer)&&void 0!==h?h:"").trim(),room:String(null!==(g=e.roomName)&&void 0!==g?g:"").trim(),when:k,timeRange:C,timeRangeWithTz:C?_:M||"",dateDay:S.day,dateMonth:S.month,description:I,timeZone:y,timeZoneDisplay:M,meetingType:T,sessionTypeLabel:A,statusText:v,session:e}}))},t.prototype.collectSpeakerIdsFromSessionCards=function(e){var t,n,i,o,a;if(!Array.isArray(e))return[];var s=[];try{for(var r=M(e),c=r.next();!c.done;c=r.next()){var l=c.value,d=null===(a=null==l?void 0:l.session)||void 0===a?void 0:a.speakers;if(Array.isArray(d))try{for(var p=(i=void 0,M(d)),u=p.next();!u.done;u=p.next()){var h=u.value,g=String(null!=h?h:"").trim();g&&s.push(g)}}catch(e){i={error:e}}finally{try{u&&!u.done&&(o=p.return)&&o.call(p)}finally{if(i)throw i.error}}}}catch(e){t={error:e}}finally{try{c&&!c.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}return Array.from(new Set(s))},t.prototype.attachSpeakersToSessionCards=function(e){var t,n,i,o=this;if(Array.isArray(e))try{for(var a=M(e),s=a.next();!s.done;s=a.next()){var r=s.value,c=(Array.isArray(null===(i=null==r?void 0:r.session)||void 0===i?void 0:i.speakers)?r.session.speakers.map((function(e){return String(null!=e?e:"").trim()})).filter(Boolean):[]).map((function(e){return o.speakers[e]})).filter(Boolean);r.speakersList=c,(null==r?void 0:r.session)&&"object"==typeof r.session&&(r.session.speakersList=c)}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}},t.prototype.ensureSpeakersForSessionCards=function(e){var t=this,n=this.collectSpeakerIdsFromSessionCards(e);if(0!==n.length){var i=n.filter((function(e){return!t.speakers[e]&&!t.requestedSpeakerIds.has(e)}));0!==i.length?(i.forEach((function(e){return t.requestedSpeakerIds.add(e)})),this.getSpeakersByStaffIds(i).subscribe({next:function(){t.attachSpeakersToSessionCards(e),t.cdr.markForCheck()},error:function(){t.attachSpeakersToSessionCards(e),t.cdr.markForCheck()}})):this.attachSpeakersToSessionCards(e)}},t.prototype.getSpeakerPhotoUrl=function(e){if(!e)return null;var t=[e.photo,e.photoPath,e.avatarUrl,e.profileImageUrl,e.profileImage,e.profilePicture,e.imageUrl,e.image].find((function(e){return null!=e&&""!==String(e).trim()}));return t?String(t).trim():null},t.prototype.hasSessionCardSpeakers=function(e){var t,n,i=(null==e?void 0:e.speakersList)||(null===(t=null==e?void 0:e.session)||void 0===t?void 0:t.speakersList);if(Array.isArray(i)&&i.length>0)return!0;var o=null===(n=null==e?void 0:e.session)||void 0===n?void 0:n.speakers;return Array.isArray(o)&&o.length>0},t.prototype.getSpeakerDisplayName=function(e){return e?null!=e.name&&""!==String(e.name).trim()?String(e.name).trim():((null!=e.firstName?String(e.firstName).trim():"")+" "+(null!=e.lastName?String(e.lastName).trim():"")).trim():""},t.prototype.getSpeakerInitials=function(e){var t=this.getSpeakerDisplayName(e);if(t)return this.getAttendeeInitials(t);var n=null!=(null==e?void 0:e.id)?String(e.id):"";return n?n.slice(0,2).toUpperCase():"?"},t.prototype.mapAttendeesToCardData=function(e){return Array.isArray(e)?e.map((function(e){var t,n,i,o,a,s,r;return{name:String(null!==(t=e.name)&&void 0!==t?t:"").trim(),company:null!=e.company&&""!==String(e.company).trim()?String(e.company).trim():null,jobTitle:null!=e.jobTitle&&""!==String(e.jobTitle).trim()?String(e.jobTitle).trim():null,photo:null!=e.photo&&""!==String(e.photo).trim()?String(e.photo).trim():null,id:null!==(a=null!==(o=null!==(i=null!==(n=e.id)&&void 0!==n?n:e.userId)&&void 0!==i?i:e._id)&&void 0!==o?o:e.attendeeId)&&void 0!==a?a:void 0,interests:null!=e.interests&&""!==String(e.interests).trim()?String(e.interests).trim():null,description:null!=e.description&&""!==String(e.description).trim()?String(e.description).trim():null,userVideosModel:e.userVideosModel?{url:null!=(null===(s=e.userVideosModel)||void 0===s?void 0:s.url)&&""!==String(e.userVideosModel.url).trim()?String(e.userVideosModel.url).trim():null,thumbnail:null!=(null===(r=e.userVideosModel)||void 0===r?void 0:r.thumbnail)&&""!==String(e.userVideosModel.thumbnail).trim()?String(e.userVideosModel.thumbnail).trim():null}:null}})):[]},t.prototype.mapSpeakersToCardData=function(e){var t=this;return Array.isArray(e)?e.map((function(e){var n,i,o,a,s,r,c,l=null!=e.description&&""!==String(e.description).trim()?String(e.description).trim():null,d=l?/<[a-z][\s\S]*>/i.test(l)?t.stripHtml(l):l:null,p=null!==(n=e.title)&&void 0!==n?n:e.jobTitle,u=null!=p&&""!==String(p).trim()?String(p).trim():null;return{name:t.getSpeakerDisplayName(e),company:null!=e.company&&""!==String(e.company).trim()?String(e.company).trim():null,jobTitle:u,photo:t.getSpeakerPhotoUrl(e),id:null!==(s=null!==(a=null!==(o=null!==(i=e.id)&&void 0!==i?i:e.userId)&&void 0!==o?o:e._id)&&void 0!==a?a:e.speakerId)&&void 0!==s?s:void 0,interests:null!=e.interests&&""!==String(e.interests).trim()?String(e.interests).trim():null,description:d,userVideosModel:e.userVideosModel?{url:null!=(null===(r=e.userVideosModel)||void 0===r?void 0:r.url)&&""!==String(e.userVideosModel.url).trim()?String(e.userVideosModel.url).trim():null,thumbnail:null!=(null===(c=e.userVideosModel)||void 0===c?void 0:c.thumbnail)&&""!==String(e.userVideosModel.thumbnail).trim()?String(e.userVideosModel.thumbnail).trim():null}:null}})):[]},t.prototype.parseSessionContentV2=function(e){if(!e||"string"!=typeof e)return[];for(var t=[],n=e.split(/\n\d+\.\s+/),i=0;i<n.length;i++){var o=n[i].trim();if(o){var a=o.split(/\n/).map((function(e){return e.trim()})).filter(Boolean),s=a[0]||"";if(s&&!/^Found\s+\d+\s+sessions/i.test(s)){for(var r="",c="",l="",d="",p=1;p<a.length;p++){var u=a[p],h=u.match(/Time:\s*(.+)/i);if(h){var g=(r=h[1].trim()).match(/TimeZone:\s*([^,\n]+)/i);g&&(d=g[1].trim())}var m=u.match(/Room:\s*(.+)/i);m&&(c=m[1].trim());var f=u.match(/Type:\s*(.+)/i);f&&(l=f[1].trim());var v=u.match(/TimeZone:\s*(.+)/i);v&&!d&&(d=v[1].trim())}t.push({title:s,roomName:c||void 0,dateTimeRange:r||void 0,sessionType:l||void 0,timeZone:d||void 0,sessionRoles:[]})}}}return t},t.prototype.getVisibleSessionCards=function(e){var t,n=null!==(t=null==e?void 0:e.sessionCards)&&void 0!==t?t:[],i=n.length,o=this.expandedSessionCardIds[null==e?void 0:e._id];return i>this.SESSION_CARDS_INITIAL&&!o?n.slice(0,this.SESSION_CARDS_INITIAL):n},t.prototype.getVisibleAttendeeCards=function(e){var t,n=null!==(t=null==e?void 0:e.attendeeCards)&&void 0!==t?t:[],i=n.length,o=this.expandedAttendeeCardIds[null==e?void 0:e._id];return i>this.ATTENDEE_CARDS_INITIAL&&!o?n.slice(0,this.ATTENDEE_CARDS_INITIAL):n},t.prototype.getVisibleSpeakerCards=function(e){var t,n=null!==(t=null==e?void 0:e.speakerCards)&&void 0!==t?t:[],i=n.length,o=this.expandedSpeakerCardIds[null==e?void 0:e._id];return i>this.SPEAKER_CARDS_INITIAL&&!o?n.slice(0,this.SPEAKER_CARDS_INITIAL):n},t.prototype.expandSessionCards=function(e){var t;(null==e?void 0:e._id)&&(this.expandedSessionCardIds=Object.assign(Object.assign({},this.expandedSessionCardIds),((t={})[e._id]=!0,t)),this.cdr.markForCheck())},t.prototype.expandAttendeeCards=function(e){var t;(null==e?void 0:e._id)&&(this.expandedAttendeeCardIds=Object.assign(Object.assign({},this.expandedAttendeeCardIds),((t={})[e._id]=!0,t)),this.cdr.markForCheck())},t.prototype.expandSpeakerCards=function(e){var t;(null==e?void 0:e._id)&&(this.expandedSpeakerCardIds=Object.assign(Object.assign({},this.expandedSpeakerCardIds),((t={})[e._id]=!0,t)),this.cdr.markForCheck())},t.prototype.getSessionTypeLabel=function(){return this.isUnEvent?this.getTranslation("Meeting type")||"Meeting type":this.getTranslation("Session type")||"Session type"},t.prototype.getSessionRoleButtons=function(e){var t,n,i;if(!1===this.isUnEvent&&(null==e?void 0:e.session))return[{action:"join",label:this.getTranslation("Watch")||"Watch"}];var o=null===(i=null==e?void 0:e.session)||void 0===i?void 0:i.sessionRoles;if(!Array.isArray(o)||0===o.length)return[];var a=[];try{for(var s=M(o),r=s.next();!r.done;r=s.next()){var c=r.value,l="object"==typeof c&&null!=c&&c.sessionRoleName?String(c.sessionRoleName).trim().toLowerCase():String(c).trim().toLowerCase();if("join"===l||"watch"===l){var d="join"===l?this.getTranslation("Join")||"Join":this.getTranslation("Watch")||"Watch";a.push({action:l,label:d})}}}catch(e){t={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}return a},t.prototype.isSessionOndemand=function(t){var n,i,o=null!==(i=null===(n=null==t?void 0:t.session)||void 0===n?void 0:n.classificationId)&&void 0!==i?i:null==t?void 0:t.classificationId;return null!=o&&""!==o&&String(o)===e.eClassificationType.OnDemand},t.prototype.canPerformSessionAction=function(e){if(!(null==e?void 0:e.session))return!1;var t=e.session;return!!this.isSessionOndemand(e)||!!t.isButtonActivated},t.prototype.getMeetingDelayMinutes=function(e){var t,n,i=null==e?void 0:e.session;if(i){var o=null===(t=i.dateTimeRange)||void 0===t?void 0:t.start,a=null===(n=i.actualDateTimeRange)||void 0===n?void 0:n.start;if(o&&a)try{var s=new Date(o).getTime()-new Date(a).getTime();return Math.floor(s/6e4)}catch(e){return}}},t.prototype.isMeetingDelayed=function(e){var t,n=this.getMeetingDelayMinutes(e);return!(null==n||n<=0)&&(!this.isSessionOndemand(e)&&!(null===(t=null==e?void 0:e.session)||void 0===t?void 0:t.isButtonActivated))},t.prototype.onSessionCardAction=function(e,t){if(null==e?void 0:e.session)if(!1!==this.isUnEvent)if(this.canPerformSessionAction(e))this.sessionActions.emit({type:"session",action:t.action,session:e.session,sessionCard:e});else{var n=this.getTranslation("You can join/watch at the starting time")||"You can join/watch at the starting time";this.sessionActionBlocked.emit(n)}else this.sessionActions.emit({type:"session",action:t.action,session:e.session,sessionCard:e})},t.prototype.listenSockets=function(){var e=this;this.eventSubscription&&this.eventSubscription.unsubscribe(),console.log("Listen Socket"),this.eventSubscription=this.conversationService.getUserSpecificNotification().subscribe((function(t){var n,i,o,a,s,r,c,l,d,p,u,h,g,m,f,v,b,y,x,w,k,S,C,I,T,A;if(console.log("[Socket Chat] listenSockets received",{hasOtherFields:!!(null===(n=null==t?void 0:t.m)||void 0===n?void 0:n.OtherFields),messageId:null===(o=null===(i=null==t?void 0:t.m)||void 0===i?void 0:i.OtherFields)||void 0===o?void 0:o.message_id,hasAnswer:!!(null===(s=null===(a=null==t?void 0:t.m)||void 0===a?void 0:a.OtherFields)||void 0===s?void 0:s.answer)}),null===(c=null===(r=null==t?void 0:t.m)||void 0===r?void 0:r.OtherFields)||void 0===c?void 0:c.workflow_id){console.log("[Socket Chat] Workflow progress update",null===(l=null==t?void 0:t.m)||void 0===l?void 0:l.OtherFields);var M=null===(d=null==t?void 0:t.m)||void 0===d?void 0:d.OtherFields,_=M.percentage,E=M.output,L=M.action_name,D=M.current_action_name,U=M.workflow_execution_id,z=M.time_stamp;e.currentWorkflowActionProgress=_,e.currentWorkflowAction=L;var P=e.workflowExecutionDetails.Actions.findIndex((function(e){return e.Name==D}));-1!==P?(e.workflowExecutionDetails.Actions[P].Output=E,e.workflowExecutionDetails.Actions[P].InsertTimeStamp=F(e.timezone,z)):console.error("Action with name "+L+" not found"),e.currentWorkflowExecutionDetails=e.workflowExecutionDetails,100==e.currentWorkflowActionProgress&&(e.chatLog[e.chatLog.length-1].WorkflowExecutionId=U,e.isChatingWithAi=!1,e.executingWorkflow=!1,e.focusOnTextarea()),e.cdr.detectChanges()}else if(null===(p=null==t?void 0:t.m)||void 0===p?void 0:p.OtherFields){var O=t.m.OtherFields,B=O.serializable_to_return;if("get_event_sessions"===(null==B?void 0:B.tool_name)||"get_event_sessions_v2"===(null==B?void 0:B.tool_name)||"get_sessions_by_interest"===(null==B?void 0:B.tool_name)||"get_sessions_by_track"===(null==B?void 0:B.tool_name)){var R=null===(g=null===(h=null===(u=null==B?void 0:B.tool_result)||void 0===u?void 0:u.messages)||void 0===h?void 0:h[0])||void 0===g?void 0:g.content,V=null!=O.answer?String(O.answer).trim():"",N=!1;if(R&&"string"==typeof R){var W=[];try{W=null!==(m=null==($=JSON.parse(R))?void 0:$.sessions)&&void 0!==m?m:[]}catch(t){W=e.parseSessionContentV2(R)}var H=e.mapSessionsToCardData(W);if(e.ensureSpeakersForSessionCards(H),H.length>0){var K=B.message_id||"session_cards_"+Date.now(),q={_id:K,type:"session_cards",message:V?e.processMessageForDisplay(V):"",time:j(e.timezone),sessionCards:H};(J=e.chatLog.findIndex((function(e){return e._id===K})))>=0?e.chatLog[J]=q:e.chatLog.push(q),e.showFeedBackIconsIndex=e.chatLog.length-1,e.isChatingWithAi=!1,e.scrollToBottom(),N=!0}}if(N)return void e.cdr.markForCheck()}if("get_event_attendees"===(null==B?void 0:B.tool_name)){R=null===(b=null===(v=null===(f=null==B?void 0:B.tool_result)||void 0===f?void 0:f.messages)||void 0===v?void 0:v[0])||void 0===b?void 0:b.content,V=null!=O.answer?String(O.answer).trim():"",N=!1;if(R)try{var G=null!==(y=null==($=JSON.parse(R))?void 0:$.attendees)&&void 0!==y?y:[];if((H=e.mapAttendeesToCardData(G)).length>0){var Z=B.message_id||"attendee_cards_"+Date.now();q={_id:Z,type:"attendee_cards",message:V?e.processMessageForDisplay(V):"",time:j(e.timezone),attendeeCards:H};(J=e.chatLog.findIndex((function(e){return e._id===Z})))>=0?e.chatLog[J]=q:e.chatLog.push(q),e.showFeedBackIconsIndex=e.chatLog.length-1,N=!0}}catch(e){console.error("[Socket Chat] Error parsing get_event_attendees content:",e)}if(N)return e.isChatingWithAi=!1,e.scrollToBottom(),void e.cdr.markForCheck()}if("get_event_speakers"===(null==B?void 0:B.tool_name)){R=null===(k=null===(w=null===(x=null==B?void 0:B.tool_result)||void 0===x?void 0:x.messages)||void 0===w?void 0:w[0])||void 0===k?void 0:k.content,V=null!=O.answer?String(O.answer).trim():"",N=!1;if(R)try{var $,Y=null!==(C=null!==(S=null==($=JSON.parse(R))?void 0:$.speakers)&&void 0!==S?S:null==$?void 0:$.speaker)&&void 0!==C?C:[];if((H=e.mapSpeakersToCardData(Y)).length>0){var J,X=B.message_id||"speaker_cards_"+Date.now();q={_id:X,type:"speaker_cards",message:V?e.processMessageForDisplay(V):"",time:j(e.timezone),speakerCards:H};(J=e.chatLog.findIndex((function(e){return e._id===X})))>=0?e.chatLog[J]=q:e.chatLog.push(q),e.showFeedBackIconsIndex=e.chatLog.length-1,N=!0}}catch(e){console.error("[Socket Chat] Error parsing get_event_speakers content:",e)}if(N)return e.isChatingWithAi=!1,e.scrollToBottom(),void e.cdr.markForCheck()}if("get_event_details"===(null==B?void 0:B.tool_name))return e.isChatingWithAi=!1,void e.cdr.markForCheck();var Q=O.conversation_id,ee=O.bot_id,te=O.message_id,ne=O.answer,ie=O.web_results,oe=O.search_results,ae=O.graphs,se=O.execution_graphs,re=O.suggestions;console.log("[Socket Chat] Processing OtherFields",{message_id:te,conversation_id:Q,bot_id:ee,hasAnswer:!!ne,answerLength:null==ne?void 0:ne.length,webResultsCount:null!==(I=null==ie?void 0:ie.length)&&void 0!==I?I:0,searchResultsCount:null!==(T=null==oe?void 0:oe.length)&&void 0!==T?T:0});var ce=e.chatLog.find((function(e){return e._id==te}));ce?console.log("[Socket Chat] Updating existing message",{message_id:te}):(console.log("[Socket Chat] New AI message from socket",{message_id:te,chatLogLength:e.chatLog.length}),ce={_id:te,type:"ai",time:j(e.timezone)},e.chatLog.push(ce),e.showFeedBackIconsIndex=e.chatLog.length-1,e.cdr.detectChanges()),oe&&Array.isArray(oe)&&(console.log("[Socket Chat] search_results",oe),ce.searchTerms=oe,e.cdr.detectChanges()),ie&&Array.isArray(ie)&&(console.log("[Socket Chat] web_results",null==ie?void 0:ie.length,ie),ce.sourcesList=ie,ce.displayedSources=null==ie?void 0:ie.slice(0,3),ce.remainingSources=null==ie?void 0:ie.slice(3),e.cdr.detectChanges()),ne&&(e.isChatingWithAi=!1,console.log("[Socket Chat] Received answer, updating message",{message_id:te,answerLength:null==ne?void 0:ne.length,answerPreview:null===(A=null==ne?void 0:ne.substring)||void 0===A?void 0:A.call(ne,0,100)}),ce.message=e.processMessageForDisplay(ne),e.cdr.detectChanges(),e.scrollToBottom(),e.focusOnTextarea()),ae&&Array.isArray(ae)&&(console.log("[Socket Chat] graphs",null==ae?void 0:ae.length,ae),ce.graphs=ae,e.cdr.detectChanges()),se&&Array.isArray(se)&&(console.log("[Socket Chat] execution_graphs",null==se?void 0:se.length,se),ce.executionGraphs=se,e.cdr.detectChanges()),re&&Array.isArray(re)&&(console.log("[Socket Chat] suggestions",null==re?void 0:re.length,re),ce.relatedListItems=re,e.cdr.detectChanges())}else console.warn("OtherFields is missing in the response")}),(function(t){e.eventSubscription.unsubscribe(),console.error("Error in fetching data from socket",t)}))},t.prototype.initializeSocketAndListen=function(){},t.prototype.handleEvent=function(e,t){t},t.prototype.ngOnDestroy=function(){this.eventSubscription&&this.eventSubscription.unsubscribe(),this.voiceTranscriptSubscriptions.forEach((function(e){return e.unsubscribe()})),this.socketService.disconnectSocketConnection()},t.prototype.changeTemperature=function(e){if(!this.loading){this.temperature=e;var t=document.querySelector(".hivegpt-chat-bot-wrapper");switch(null==t||t.classList.remove("creative","balanced","precise"),e){case 0:null==t||t.classList.add("creative");break;case 1:null==t||t.classList.add("balanced");break;case 2:null==t||t.classList.add("precise")}}},t.prototype.onStartAgain=function(){this.loading||(this.showStartAgain=!1,this.chatLog=[],this.chatLog.push({type:"ai",message:this.greetingMsg,time:j(this.timezone)}),this.archieveMessages().subscribe())},t.prototype.archieveMessages=function(){var e=new i.HttpHeaders({"Content-Type":"application/json","x-api-key":this.apiKey,"hive-bot-id":this.botId,"domain-authority":this.domainAuthorityValue}),t=this.environment.BASE_URL+"/bot/clear-history/"+this.botId+"/"+this.userId;return this.http.post(t,{headers:e}).pipe(r.switchMap((function(e){return s.of(e)})),r.catchError((function(e){return s.of(null)})))},t.prototype.triggerSupport=function(){this.openSupport.emit()},t.prototype.fetchBotConfig=function(){var e=this;this.loading=!0;var t=new i.HttpHeaders({"x-api-key":this.apiKey,"hive-bot-id":this.botId,"domain-authority":this.domainAuthorityValue}),n=this.environment.BASE_URL+"/bots?bot_id="+this.botId;return this.http.get(n,{headers:t}).pipe(r.switchMap((function(t){var n;return e.botName=e.getTranslation(t.Name),e.botIcon=t.Icon,e.botSkills=null==t?void 0:t.Skills,e.greetingMsg=t.Greeting?e.processMessageForDisplay(t.Greeting):"",e.thumbsDownMessages=(null===(n=null==t?void 0:t.NegativeResponses)||void 0===n?void 0:n.length)?t.NegativeResponses:[e.getTranslation("We are sorry we've not been able to answer your question")],e.quickPrompts=t.QuickPrompts,e.cdr.markForCheck(),e.loading=!1,s.of(t)})),r.catchError((function(t){return console.error("Error fetching chatbot config: ",t),e.loading=!1,s.of(null)})))},t.prototype.fetchChatHistory=function(){this.loading=!0,this.conversationKey=this.conversationService.getKey(this.botId,!1),this.conSessionKey=this.conversationService.getSessionKey(this.botId,!1);var e=this.environment.BASE_URL+"/conversations/"+this.conversationKey+"?session_id="+this.conSessionKey,t=new i.HttpHeaders({accept:"application/json","x-api-key":this.apiKey,"hive-bot-id":this.botId,"domain-authority":this.domainAuthorityValue});return this.http.get(e,{headers:t}).pipe(r.catchError(this.handleError("fetchConversation")))},t.prototype.handleError=function(e,t){return void 0===e&&(e="operation"),function(n){return console.error(e+" failed: "+n.message),s.of(t)}},t.prototype.pushAiMessageFromHistory=function(e){var t=e.WebLinks||[],n=(e.WebLinks||[]).slice(0,3),i=(e.WebLinks||[]).slice(3);this.chatLog.push({type:"ai",message:this.processMessageForDisplay(e.Text),executionGraphs:e.ExecutionGraphs,graphs:e.Graphs,searchTerms:e.SearchTerms,sourcesList:t,displayedSources:n,remainingSources:i,time:F(this.timezone,e.InsertTimestamp),copied:!1,isCollapsedTrue:!1,_id:e._id}),this.showFeedBackIconsIndex=this.chatLog.length-1},t.prototype.mapChatHistory=function(e){var t,n=this;this.chatLog.push({type:"ai",message:this.greetingMsg,time:j(this.timezone)}),e&&(null===(t=null==e?void 0:e.Messages)||void 0===t?void 0:t.length)&&(null==e||e.Messages.forEach((function(e){var t,i,o,a,s,r,c,l,d,p,u,h,g,m,f,v,b;if("user"==e.Type&&n.chatLog.push({type:"user",message:n.processMessageForDisplay(e.Text),time:F(n.timezone,e.InsertTimestamp),copied:!1,isCollapsedTrue:!1,WorkflowExecutionId:e.WorkflowExecutionId,_id:e._id}),"ai"==e.Type){var y=null===(t=e.toolresults)||void 0===t?void 0:t.tool_name;if(("get_event_sessions"===y||"get_event_sessions_v2"===y||"get_sessions_by_interest"===y||"get_sessions_by_track"===y)&&(null===(s=null===(a=null===(o=null===(i=e.toolresults)||void 0===i?void 0:i.tool_result)||void 0===o?void 0:o.messages)||void 0===a?void 0:a[0])||void 0===s?void 0:s.content)){var x=e.toolresults.tool_result.messages[0].content,w=[];try{w=null!==(r=null==(C=JSON.parse(x))?void 0:C.sessions)&&void 0!==r?r:[]}catch(e){w=n.parseSessionContentV2(x)}var k=n.mapSessionsToCardData(w);n.ensureSpeakersForSessionCards(k),k.length>0?(n.chatLog.push({_id:e._id,type:"session_cards",message:e.Text?n.processMessageForDisplay(e.Text):"",time:F(n.timezone,e.InsertTimestamp),sessionCards:k}),n.showFeedBackIconsIndex=n.chatLog.length-1):n.pushAiMessageFromHistory(e)}else if("get_event_attendees"===y&&(null===(p=null===(d=null===(l=null===(c=e.toolresults)||void 0===c?void 0:c.tool_result)||void 0===l?void 0:l.messages)||void 0===d?void 0:d[0])||void 0===p?void 0:p.content)){x=e.toolresults.tool_result.messages[0].content;try{var S=null!==(u=null==(C=JSON.parse(x))?void 0:C.attendees)&&void 0!==u?u:[];(k=n.mapAttendeesToCardData(S)).length>0?(n.chatLog.push({_id:e._id,type:"attendee_cards",message:e.Text?n.processMessageForDisplay(e.Text):"",time:F(n.timezone,e.InsertTimestamp),attendeeCards:k}),n.showFeedBackIconsIndex=n.chatLog.length-1):n.pushAiMessageFromHistory(e)}catch(t){n.pushAiMessageFromHistory(e)}}else if("get_event_speakers"===y&&(null===(f=null===(m=null===(g=null===(h=e.toolresults)||void 0===h?void 0:h.tool_result)||void 0===g?void 0:g.messages)||void 0===m?void 0:m[0])||void 0===f?void 0:f.content)){x=e.toolresults.tool_result.messages[0].content;try{var C,I=null!==(b=null!==(v=null==(C=JSON.parse(x))?void 0:C.speakers)&&void 0!==v?v:null==C?void 0:C.speaker)&&void 0!==b?b:[];(k=n.mapSpeakersToCardData(I)).length>0?(n.chatLog.push({_id:e._id,type:"speaker_cards",message:e.Text?n.processMessageForDisplay(e.Text):"",time:F(n.timezone,e.InsertTimestamp),speakerCards:k}),n.showFeedBackIconsIndex=n.chatLog.length-1):n.pushAiMessageFromHistory(e)}catch(t){n.pushAiMessageFromHistory(e)}}else n.pushAiMessageFromHistory(e)}})),this.showStartAgain=!0),this.scrollToBottom(),this.cdr.markForCheck()},t.prototype.processMessage=function(e){if(!(e&&(null==e?void 0:e.length)>0))return"";e=e.trim();var t=/\[([^[]+)]\(([^)]+)\)/g,n=/(?<!href=")\bhttps?:\/\/\S+(?<![.,])/gi;if(t.test(e)){var i=e.replace(t,'<a href="$2" target="_blank">$1</a>');return this.sanitizeHtml(i)}if(n.test(e)){i=e.replace(n,'<a href="$&" target="_blank">$&</a>');return this.sanitizeHtml(i)}return e=(e=(e=e.replace(/(?:\r\n|\r|\n)/g,"<br>")).replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>")).replace(/^(#{1,6})\s+(.*)$/gm,(function(e,t,n){var i=t.length;return"<h"+i+">"+n+"</h"+i+">"})),this.cdr.markForCheck(),this.sanitizeHtml(e)},t.prototype.ngAfterViewChecked=function(){var e=this;this.elementRef.nativeElement.querySelectorAll(".feedback-link").forEach((function(t){t.addEventListener("click",e.onFeedbackClick.bind(e,"zendesk"))}))},t.prototype.sanitizeHtml=function(e){return this.sanitizer.bypassSecurityTrustHtml(e)},t.prototype.onFeedbackClick=function(e){this.feedbackEvent.emit(e)},t.prototype.onClose=function(){this.renderer.removeClass(document.body,this.bodyOverflowClass),this.onCloseEvent.emit()},t.prototype.sendMessageWithTile=function(e){this.input=e,this.fetchData(),this.scrollToBottom()},t.prototype.fetchData=function(e){var t;if(void 0===e&&(e=null),this.input=e||(null===(t=this.input)||void 0===t?void 0:t.trim()),this.msg=this.input,this.input&&!this.loading){this.ensureChatSocket(),this.chatLog.push({type:"user",message:this.processMessageForDisplay(this.input),time:j(this.timezone),copied:!1,isCollapsedTrue:!1});try{var n=this.myInput.nativeElement;n.style.height="hidden",n.style.height="62px"}catch(e){}this.cdr.markForCheck(),this.aiResponse="",this.isChatingWithAi=!0,this.makeAskRequest(this.input,this.agents,this.conversationKey)}},t.prototype.fetchDataFor=function(e,t){var n=null==e?void 0:e.trim();if(n&&!this.loading){this.ensureChatSocket();try{t.relatedListItems=[],this.cdr.detectChanges()}catch(e){}this.scrollToBottom(),this.chatLog.push({type:"user",message:this.processMessageForDisplay(n),time:j(this.timezone),copied:!1,isCollapsedTrue:!1}),this.cdr.markForCheck(),this.aiResponse="",this.isChatingWithAi=!0,this.makeAskRequest(n,this.agents,this.conversationKey,e,t)}},t.prototype.fetchSmallTalk=function(){var e=this;this.loading=!0,this.cdr.markForCheck();var t=this.environment.BASE_URL+"/bot/small-talk/"+this.botId+"/"+this.userId;this.http.get(t,{headers:{"x-api-key":this.apiKey,"hive-bot-id":this.botId,"domain-authority":this.domainAuthorityValue}}).pipe(r.catchError((function(e){return console.error("Error while fetching small talk:",e),s.of(null)}))).subscribe((function(t){e.loading=!1,e.cdr.markForCheck(),t&&t&&t.smallTalk&&(e.chatLog.push({type:"ai",message:e.processMessage(t.smallTalk),time:j(e.timezone),isFeedbackMsg:!0}),e.showFeedBackIconsIndex=e.chatLog.length-2,e.cdr.markForCheck())}))},t.prototype.pump=function(e,t,n){var i=this;t.read().then((function(o){var a,s,r,c,l=o.done,d=o.value,p=i.chatLog[i.chatLog.length-1];if(l)return p.message=i.processMessageForDisplay(p.message),i.chatLog.pop(),i.chatLog.push(p),(null==n?void 0:n.length)&&i.chatLog.push({type:"suggestions",suggestions:n}),e.close(),i.isChatingWithAi=!1,i.cdr.markForCheck(),void(i.showStartAgain=!0);var u=i.decoder.decode(d,{stream:!0});if(i.aiResponse+=u,"ai"===p.type){var h=i.aiResponse.match(/<sug>(.*?)<\/sug>/g);h&&h.forEach((function(e){i.aiResponse=i.aiResponse.replace(e,""),n.push(null==e?void 0:e.replace(/<\/?sug>/g,""))})),p.message=i.aiResponse,i.cdr.markForCheck()}else{i.isChatingWithAi=!1;var g=void 0;try{console.log("parsing json "),g=JSON.parse(JSON.parse(i.aiResponse))}catch(e){try{console.log("parsing json 2"),g=JSON.parse(i.aiResponse)}catch(e){}}if(console.log("parsing json done"),g&&(null===(a=null==g?void 0:g.section_id)||void 0===a?void 0:a.length)>0){if("company_search"!=g.section_id&&"user_search"!=g.section_id&&"industry_company_search"!=g.section_id||(i.fetchMyConnections().subscribe(),i.fetchPendingRequests().subscribe()),g.section_id==i.myUpcomingSessionAction){var m=[];null===(s=g.content)||void 0===s||s.forEach((function(e){m=E(E([],_(m)),_(e.speakers))})),(null==m?void 0:m.length)>0&&i.getSpeakersByStaffIds(m).subscribe()}if(g.section_id==i.addToMyAgendaAction&&(null===(r=g.content)||void 0===r?void 0:r.length)>0&&i.openPage.next({sectionId:g.section_id,sessionIds:g.content}),g.section_id==i.connectOrFollowAction){var f=null===(c=g.content)||void 0===c?void 0:c.length;f>1?i.openPage.next({sectionId:"open_networking_drawer",search:g.content}):1==f&&i.openPage.next({sectionId:g.section_id,connetUserIds:[g.content[0].userId]})}"true"==g.is_open_page&&(i.openPage.next({sectionId:g.section_id,search:g.content}),i.isMobileBrowser()&&(g.message+='\n\n<a id="closeBotNow">Click Here</a> to see results.')),i.chatLog.push({type:"ai",message:g.message,action:g,time:j(i.timezone)}),i.isMobileBrowser()&&setTimeout((function(){i.addCloseBotClickEvent()}),500),i.aiResponse=""}else i.chatLog.push({type:"ai",message:i.aiResponse,time:j(i.timezone)});i.showFeedBackIconsIndex=i.chatLog.length-1,i.cdr.markForCheck()}i.scrollToBottom(),e.enqueue(d),i.pump(e,t,n)}))},t.prototype.submitFeedback=function(e,t){var n=this;console.log(t),this.feedbackDone=!0,this.showFeedBackIconsIndex=null;var i=this.conversationService.getKey(this.botId),o=this.environment.AGENTS_API+"/Conversation/coPilot/"+this.botId+"/conversation/"+i+"/helpful-response";fetch(o,{method:"POST",headers:{"Content-Type":"application/json",apiKey:"Conversation_WIz/qAm+EEmfOkFaUA/weA==","hive-bot-id":this.botId,"domain-authority":this.domainAuthorityValue},body:JSON.stringify({messageId:t._id,isHelpful:e})}).then((function(){if(e)return n.chatLog.push({type:"ai",message:n.thumbsUpMessage||n.getTranslation("May I assist you with anything else"),time:j(n.timezone),isFeedbackMsg:!0}),n.scrollToBottom(),n.cdr.markForCheck(),n.feedbackDone=!1,void(n.showFeedBackIconsIndex=null);n.chatLog.push({type:"ai",message:n.processMessage(n.thumbsDownMessages[n.thumbsDownMsgIndex]),time:j(n.timezone),isFeedbackMsg:!0}),n.thumbsDownMsgIndex=(n.thumbsDownMsgIndex+1)%n.thumbsDownMessages.length,n.scrollToBottom(),n.cdr.markForCheck(),setTimeout((function(){var e=document.getElementById("supportLink88");e&&e.addEventListener("click",n.triggerSupport.bind(n))}),200),n.feedbackDone=!1,n.showFeedBackIconsIndex=null}))},t.prototype.handleKeydown=function(e){"Enter"!==e.key||e.shiftKey||(e.preventDefault(),this.handleSubmit(e))},t.prototype.handleSubmit=function(e){this.fetchData(),this.scrollToBottom()},Object.defineProperty(t.prototype,"lastAiMessageIndex",{get:function(){for(var e,t=this.chatLog.length-1;t>=0;t--)if("ai"===(null===(e=this.chatLog[t])||void 0===e?void 0:e.type))return t;return-1},enumerable:!1,configurable:!0}),t.prototype.handleUpClick=function(e){this.feedbackDone||(this.submitFeedback(!0,this.chatLog[e]),this.chatLog[e].liked=!this.chatLog[e].liked,this.chatLog[e].unliked&&(this.chatLog[e].unliked=!this.chatLog[e].unliked),this.cdr.markForCheck())},t.prototype.handleDownClick=function(e){this.feedbackDone||(this.submitFeedback(!1,this.chatLog[e]),this.chatLog[e].unliked=!this.chatLog[e].unliked,this.chatLog[e].liked&&(this.chatLog[e].liked=!this.chatLog[e].liked))},t.prototype.copyText=function(e,t){var n=this,i=document.getElementById(e),o=document.createElement("textarea");o.value=i.innerText,document.body.appendChild(o),o.select(),document.execCommand("copy"),document.body.removeChild(o),this.chatLog[t].copied=!0,this.cdr.detectChanges(),setTimeout((function(){n.chatLog[t].copied=!1,n.cdr.detectChanges()}),2e3)},t.prototype.handleCopyClick=function(e){this.chatLog[e].message,this.copyText("messageText_"+e,e)},t.prototype.sanitizeHTML=function(e){var t=(new DOMParser).parseFromString(e,"text/html"),n=document.createDocumentFragment();Array.from(t.body.childNodes).forEach((function(e){n.appendChild(e.cloneNode(!0))}));var i=document.createElement("div");return i.appendChild(n),i.querySelectorAll("script").forEach((function(e){return e.remove()})),i.innerHTML},t.prototype.handleEditorClick=function(e){var t=this;-1==this.currentIndexForEditor?(this.currentIndexForEditor=e,this.currentMessageForEditor=this.sanitizeHTML(this.chatLog[e].message),this.currentMessageForEditor=this.currentMessageForEditor.replace(""),this.cdr.detectChanges()):this.currentIndexForEditor==e?(this.currentMessageForEditor+=this.sanitizeHTML(this.chatLog[e].message),this.currentMessageForEditor=this.currentMessageForEditor.replace(""),this.cdr.detectChanges()):(this.currentIndexForEditor=e,this.currentMessageForEditor=this.sanitizeHTML(this.chatLog[e].message),this.currentMessageForEditor=this.currentMessageForEditor.replace(""),this.cdr.detectChanges()),this.chatLog[e].isEditor=!0,this.cdr.detectChanges(),setTimeout((function(){t.chatLog[e].isEditor=!1,t.cdr.detectChanges()}),2e3),this.editorsDrawer.open();var n=document.getElementById("botcloseplaygroundbutton");n&&(n.style.display="none"),this.cdr.detectChanges()},t.prototype.scrollToBottom=function(){var e=this,t=0,n=setInterval((function(){e.chatMain.nativeElement.scrollTop=e.chatMain.nativeElement.scrollHeight,t++>5&&clearInterval(n)}),5)},t.prototype.focusOnTextarea=function(){var e=this;setTimeout((function(){e.myInput&&e.myInput.nativeElement&&e.myInput.nativeElement.focus()}),100)},t.prototype.handleAction=function(e){console.info("incoming action from the chatbot AI"),console.info(e),null==e||e.content},t.prototype.ngAfterViewInit=function(){var e=this;this.drawer.opened&&this.setBodyOverflow(),this.drawer.openedChange.subscribe((function(t){t?e.setBodyOverflow():e.removeBodyOverflow()})),this.drawer.openedChange.subscribe((function(t){t&&setTimeout((function(){e.myInput&&e.myInput.nativeElement&&e.myInput.nativeElement.focus()}))}))},t.prototype.setBodyOverflow=function(){this.renderer.addClass(document.body,this.bodyOverflowClass)},t.prototype.removeBodyOverflow=function(){this.renderer.removeClass(document.body,this.bodyOverflowClass)},t.prototype.getSpeakersByStaffIds=function(e){var t=this,n=this.environment.USERS_API+"/events/"+this.eventId+"/users/get-by-staff-ids",o=Array.from(new Set((e||[]).map((function(e){return String(null!=e?e:"").trim()})).filter(Boolean)));if(0===o.length)return s.of(null);var a=new i.HttpHeaders({"Content-Type":"application/json",apiKey:this.autogenKey});return this.http.post(n,o,{headers:a}).pipe(r.tap((function(e){Array.isArray(e)&&e.length>0&&(e.forEach((function(e){var n,i=String(null!==(n=null==e?void 0:e.id)&&void 0!==n?n:"").trim();i&&(t.speakers[i]=e)})),t.cdr.markForCheck())})),r.catchError((function(e){return console.error("Error fetching speakers:",e),s.of(null)})))},t.prototype.performSessionAction=function(e,t){this.sessionActions.next({sessionId:e,action:t})},t.prototype.addCloseBotClickEvent=function(){var e=this,t=this.elementRef.nativeElement.querySelector("#closeBotNow");t&&this.renderer.listen(t,"click",(function(){e.closeBot.next()}))},t.prototype.isMobileBrowser=function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},t.prototype.connectToUser=function(e){var t=this;this.connectWithUser.emit({connect:!this.canDisconnect(e),userId:e}),setTimeout((function(){t.fetchMyConnections().subscribe((function(e){t.cdr.markForCheck()})),t.fetchPendingRequests().subscribe((function(e){t.cdr.markForCheck()}))}),500)},t.prototype.scheduleMeetingWithUser=function(e){this.scheduleMeeting.emit(e)},t.prototype.checkPendingSentRequest=function(e){var t;if(null==e||""===e)return!1;var n=(null===(t=this.pendingSentRequestUserIds)||void 0===t?void 0:t.length)?this.pendingSentRequestUserIds:this.pendingRequests;return!!(null==n?void 0:n.find((function(t){return t==e})))},t.prototype.canFollowUser=function(e){var t=null==e?void 0:e.id;return null!=t&&""!==t&&(!this.canUnfollowUser(e)&&!this.checkPendingSentRequest(t))},t.prototype.canUnfollowUser=function(e){var t,n=null==e?void 0:e.id;if(null==n||""===n)return!1;var i=(null===(t=this.connectionsList)||void 0===t?void 0:t.length)?this.connectionsList:this.myConnections;return!!(null==i?void 0:i.find((function(e){var t;return(null!==(t=e.userId)&&void 0!==t?t:e.id)==n})))},t.prototype.canConnect=function(e){return!(this.canDisconnect(e)||this.pendingRequests.find((function(t){return t==e})))},t.prototype.canDisconnect=function(e){return this.myConnections.find((function(t){return t.userId==e}))},t.prototype.fetchPendingRequests=function(){var e=this,t=new i.HttpHeaders({"Content-Type":"application/json",apiKey:this.autogenKey});return this.http.get(this.environment.USERS_API+"/events/"+this.eventId+"/connection-requests/autogen/pending-sent-requests?userId="+this.userId,{headers:t}).pipe(r.switchMap((function(t){return e.pendingRequests=t,e.cdr.markForCheck(),s.of(t)})),r.catchError((function(e){return console.error("Error fetching pending requests: ",e),s.of(null)})))},t.prototype.fetchMyConnections=function(){var e=this,t=new i.HttpHeaders({"Content-Type":"application/json",apiKey:this.autogenKey});return this.http.get(this.environment.USERS_API+"/events/"+this.eventId+"/users-connections/autogen?userId="+this.userId,{headers:t}).pipe(r.switchMap((function(t){return e.myConnections=t,e.cdr.markForCheck(),s.of(t)})),r.catchError((function(e){return console.error("Error fetching pending requests: ",e),s.of(null)})))},t.prototype.toggleDropdown=function(){this.agents||this.fetchAgents(),this.isDropdownOpen=!this.isDropdownOpen,this.cdr.detectChanges()},t.prototype.onSelectAll=function(e){var t;null===(t=this.agents)||void 0===t||t.forEach((function(e){return e.selected=!1})),this.cdr.detectChanges()},t.prototype.onAgentChange=function(e){var t=this.agents.filter((function(t){return t.id==e.id}));t&&t.length>0&&(t[0].selected=!t[0].selected,this.cdr.detectChanges()),this.cdr.detectChanges()},t.prototype.areAllSelected=function(){var e;return null===(e=this.agents)||void 0===e?void 0:e.every((function(e){return!e.selected}))},t.prototype.getDropdownHeaderText=function(){var e,t=null===(e=this.agents)||void 0===e?void 0:e.filter((function(e){return e.selected}));return t?t&&0===(null==t?void 0:t.length)?"All Agents":(null==t?void 0:t.length)>1?(null==t?void 0:t.length)+" Agents Selected":(null==t?void 0:t.length)+" Agent Selected":"All Agents"},t.prototype.fetchAgents_http=function(){var e=this;this.loading=!0;var t=this.environment.AGENTS_API+"/CoPilot/"+this.botId+"/active-agents",n=new i.HttpHeaders({"Content-Type":"application/json"});return this.http.post(t,{},{headers:n}).pipe(r.switchMap((function(t){return t&&(e.agents=t.map((function(e){return Object.assign(Object.assign({},e),{selected:!1})}))),e.cdr.markForCheck(),s.of(t)})),r.catchError((function(e){return console.error("Error fetching chatbot config: ",e),s.of(null)})))},t.prototype.fetchContent_http=function(){var e=this;this.isDocInEditMode=!1,this.isContentLoaded=!1,console.log("API call function"),this.loading=!0;var t=this.conversationService.getKey(this.botId);this.conversationId=t;var n=this.environment.AGENTS_API+"/ConversationDocuments?conversationId="+t+"&botId="+this.botId,o=new i.HttpHeaders({"Content-Type":"application/json",apiKey:"WIz/qAm+EEmfOkFaUA/weA==","domain-authority":this.domainAuthorityValue});return this.http.get(n,{headers:o}).pipe(r.switchMap((function(t){return t&&(e.isDocInEditMode=!0,e.documentContent=t,console.log("Get API callled success"),e.isContentLoaded=!0,console.log(t)),e.cdr.markForCheck(),s.of(t)})),r.catchError((function(t){return console.error("Error fetching chatbot config DJ: ",t),e.isDocInEditMode=!1,e.isContentLoaded=!0,404==(null==t?void 0:t.status)&&(console.log("dash"),e.isDocInEditMode=!1,e.isContentLoaded=!0),s.of(null)})))},t.prototype.fetchAgents=function(){this.fetchAgents_http().subscribe()},t.prototype.fetchEditorContent=function(){this.fetchContent_http().subscribe()},t.prototype.processMessageForDisplay=function(e){try{var t=new k.Renderer;t.link=function(e,t,n){return'<a href="'+e+'" title="'+(t||"")+'" target="_blank">'+n+"</a>"};var n=k.parse(e,{renderer:t});return this.sanitizer.bypassSecurityTrustHtml(n)}catch(e){return console.error("Error processing markdown:",e),""}},t.prototype.prepareHtml=function(e){var t=this;if(!(e&&e.length>0))return console.error("Input Markdown is null or empty"),"";var n=e.replace(/^(#{1,6})\s+(.*)$/gm,(function(e,t,n){var i=t.length;return 3===i?"<h3><strong>"+n+"</strong></h3>":4===i?"<h4><strong>"+n+"</strong></h4>":"<strong>"+n+"</strong>"}));return n=(n=(n=(n=(n=(n=(n=n.replace(/```(\w+)?\n([\s\S]*?)```/g,(function(e,n,i){var o=t.escapeHtml(i),a=n||"plaintext";return'\n <div class="code-container">\n <button id="copy-button" class="copy-button" (click)="copyToClipboard(\'`'+o+"`')\">"+t.getTranslation("Copy")+'</button>\n <pre class="code_block diff"><code class="language-'+a+'">'+o+"</code></pre>\n </div>"}))).replace(/`([^`]+)`/g,"<code>$1</code>")).replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>")).replace(/^\d+\.\s+(.*)$/gm,"<li>$1</li>")).replace(/^\-\s+(.*)$/gm,"<li>$1</li>")).replace(/\[([^\]]+)]\(([^)]+)\)/g,'<a href="$2" target="_blank">$1</a>')).replace(/(?:\r\n|\r|\n)/g,"<br>")},t.prototype.escapeHtml=function(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")},t.prototype.copyToClipboard=function(e){navigator.clipboard.writeText(e).then((function(){alert("Code copied to clipboard!")}),(function(e){console.error("Could not copy text: ",e)}))},t.prototype.toggleCollapse=function(){this.isCollapsed=!this.isCollapsed,this.cdr.detectChanges()},t.prototype.toggleCollapseGraph=function(){this.isCollapsedForGraph=!this.isCollapsedForGraph,this.cdr.detectChanges()},t.prototype.toggleCollapseFGraph=function(){this.isCollapsedForFGraph=!this.isCollapsedForFGraph,this.cdr.detectChanges()},t.prototype.getDomainName=function(e){try{return new URL(e).hostname.replace(/^www\./,"")}catch(e){return"unknown"}},t.prototype.getFaviconUrl=function(e){return"https://www.google.com/s2/favicons?sz=128&domain="+this.getDomainName(e)},t.prototype.onCardClick=function(e){this.currentSourcesList=e,this.cdr.detectChanges(),this.sourcesDrawer.open();var t=document.getElementById("botcloseplaygroundbutton");t&&(t.style.display="none")},t.prototype.openOuterEditor=function(){this.fetchEditorContent(),this.editorsDrawer.open(),this.isDrawerOpen=!0,this.isShowEditorButton=!1,this.cdr.detectChanges();var e=document.getElementById("botcloseplaygroundbutton");e&&(e.style.display="none")},t.prototype.onCloseEditor=function(){this.editorsDrawer.close(),this.isDrawerOpen=!1,this.isShowEditorButton=!0,this.cdr.detectChanges(),this.onDrawerClosed()},t.prototype.onCloseSource=function(){this.sourcesDrawer.close(),this.isDrawerOpen=!1,this.cdr.detectChanges(),this.onDrawerClosed()},t.prototype.onDrawerClosed=function(){var e=this;setTimeout((function(){e.isDrawerOpen=!0,e.cdr.detectChanges();var t=document.getElementById("botcloseplaygroundbutton");t&&(t.style.display="block")}),800)},t.prototype.toggleDrawer=function(e){this.isDrawerOpen=e,this.cdr.detectChanges(),this.updateButtonVisibility()},t.prototype.updateButtonVisibility=function(){var e=document.getElementById("botcloseplaygroundbutton");e&&(e.style.display=this.isDrawerOpen?"block":"none")},t.prototype.openLinkInNewTab=function(e){window.open(e,"_blank")},t.prototype.adjustTextareaHeight=function(e){try{"Enter"!==e.key||e.shiftKey||e.preventDefault()}catch(e){}var t=e.target;t.style.height="auto",t.style.height=t.scrollHeight+"px",t.scrollHeight>150?(t.style.height="150px",t.style.overflowY="auto"):t.style.overflowY="hidden"},t.prototype.toggleWorkflows=function(e){var t=this;void 0===e&&(e=null),this.checkForCop29BotId()||this.botService.getWorkflowsByOrgId(this.orgId).subscribe((function(n){t.orgWorkflows=n,t.isWorkflowOpen=null==e?!t.isWorkflowOpen:e,t.isWorkflowOpen||(t.selectedWorkflow=null,t.openWorkflowInput=!1),t.cdr.detectChanges()}))},t.prototype.initializeForm=function(){var e,t,n={};(null===(t=null===(e=this.selectedWorkflow)||void 0===e?void 0:e.Trigger)||void 0===t?void 0:t.InputSchema)&&this.selectedWorkflow.Trigger.InputSchema.forEach((function(e){n[e.InputId]=[e.Value||"",e.Required?l.Validators.required:null]})),this.workflowForm=this.fb.group(n)},t.prototype.onWorkflowSelected=function(e){this.selectedWorkflow=e,this.initializeForm(),this.isWorkflowOpen=!1,this.openWorkflowInput=!0},t.prototype.onWorkflowSubmit=function(){document.getElementById("botAllChat");if(this.workflowForm.valid){console.log(this.workflowForm.value);var e=this.prepareHtml(this.generateMarkdown(this.selectedWorkflow.Name,this.workflowForm.value));try{this.chatLog[this.chatLog.length-1].showWorkflowExecutionLoader=!1,this.chatLog[this.chatLog.length-2].showWorkflowExecutionLoader=!1}catch(e){}this.chatLog.push({type:"user",message:e,time:j(this.timezone),copied:!1,isCollapsedTrue:!1,showWorkflowExecutionLoader:!0}),console.log(e),this.currentWorkflowActionProgress=0,this.currentWorkflowAction="Executing "+this.selectedWorkflow.Actions[0].Name,this.isChatingWithAi=!0,this.executingWorkflow=!0,this.workflowExecutionDetails={Actions:this.selectedWorkflow.Actions,Inputs:this.workflowForm.value,workflowInputs:this.workflowForm.value,WorkflowName:this.selectedWorkflow.Name},this.currentWorkflowExecutionDetails=this.workflowExecutionDetails,this.scrollToBottom(),this.cdr.detectChanges(),this.makeAskRequest(e,this.agents,this.conversationKey,"",null,this.selectedWorkflow._id,this.workflowForm.value)}},t.prototype.makeAskRequest=function(e,t,n,i,o,a,s){var r,c=this,l=this.environment.BASE_URL+"/ai/ask",d={user_question:e,user_id:this.userId,bot_id:this.botId,message_id:this.conversationService.generateKey(),session_id:this.conSessionKey,agents:null!==(r=null==t?void 0:t.filter((function(e){return e.selected})).map((function(e){return e.id})))&&void 0!==r?r:[],conversation_id:n,first_name:this.firstName,last_name:this.lastName};a&&(d.workflow_id=a,d.workflow_inputs=s);var p={"Content-Type":"application/json",Authorization:"Bearer "+this.s27Token,"x-api-key":this.apiKey,"hive-bot-id":this.botId,"domain-authority":this.domainAuthorityValue,eventUrl:this.eventUrl,eventToken:this.eventToken};this.workspaceToken&&(p.workspaceToken=this.workspaceToken),fetch(l,{method:"POST",headers:p,body:JSON.stringify(d)}).then((function(e){return 401===e.status||403===e.status?(c.is401=!0,c.refreshToken.emit(),i&&o&&(c.msg=i,c.chat=o,c.isFetchDataFor=!0)):c.is401=!1,e.json()})).then((function(e){console.log(e)})).catch((function(e){console.error("Error: ",e),c.isChatingWithAi=!1})),this.input="",this.selectedWorkflow=null,this.openWorkflowInput=!1,this.isWorkflowOpen=!1,this.scrollToBottom(),this.cdr.markForCheck()},t.prototype.makeAskRequestold=function(e,t,n,o,a,s,r){var c,l=this,d=this.environment.BASE_URL+"/ai/ask",p={user_question:e,user_id:this.userId,bot_id:this.botId,message_id:this.conversationService.generateKey(),agents:null!==(c=null==t?void 0:t.filter((function(e){return e.selected})).map((function(e){return e.id})))&&void 0!==c?c:[],conversation_id:n,first_name:this.firstName,last_name:this.lastName};s&&(p.workflow_id=s,p.workflow_inputs=r);var u=new i.HttpHeaders({"Content-Type":"application/json","x-api-key":this.apiKey,"hive-bot-id":this.botId,"domain-authority":this.domainAuthorityValue});this.http.post(d,p,{headers:u}).subscribe({next:function(e){console.log(e)},error:function(e){console.error("Error: ",e),l.isChatingWithAi=!1}}),this.input="",this.selectedWorkflow=null,this.openWorkflowInput=!1,this.isWorkflowOpen=!1,this.scrollToBottom(),this.cdr.markForCheck()},t.prototype.generateMarkdown=function(e,t){var n,i,o,a,s="## "+e+"\n",r=function(e,t){a=(null===(o=c.selectedWorkflow.Trigger.InputSchema.find((function(t){return t.InputId===e})))||void 0===o?void 0:o.Label)||e,s+="- **"+a+"**: "+t+"\n"},c=this;try{for(var l=M(Object.entries(t)),d=l.next();!d.done;d=l.next()){var p=_(d.value,2);r(p[0],p[1])}}catch(e){n={error:e}}finally{try{d&&!d.done&&(i=l.return)&&i.call(l)}finally{if(n)throw n.error}}return s},t.prototype.showWorkflowHistoryDetails=function(e){var t=this;if(!e)return this.workflowExecutionDetails=this.currentWorkflowExecutionDetails,this.showWorkflowExecutionDetails=!0,void this.cdr.detectChanges();this.botService.getWorkflowExecutionById(e).subscribe((function(e){e&&e.Actions&&Array.isArray(e.Actions)&&(e.Actions=e.Actions.map((function(e){return e.InsertTimeStamp&&(e.InsertTimeStamp=F(t.timezone,e.InsertTimeStamp)),e}))),e.InsertTimeStamp=F(t.timezone,e.InsertTimeStamp),t.workflowExecutionDetails=e,t.showWorkflowExecutionDetails=!0,t.cdr.detectChanges()}))},t.prototype.closeModal=function(){this.showWorkflowExecutionDetails=!1},t.prototype.objectToArray=function(e){return Object.keys(e).map((function(t){return{key:t,value:e[t]}}))},t.prototype.startNewConversation=function(){var e=this;this.conversationKey=this.conversationService.getKey(this.botId,!0),this.chatLog=[this.chatLog[0]],this.isChatingWithAi=!1,this.chatSocketInitialized=!1,setTimeout((function(){e.ensureChatSocket()}),200),this.scrollToBottom(),this.cdr.detectChanges()},t.prototype.initializeSpeechRecognizer=function(e){var t=this;this.speechConfig=w.SpeechConfig.fromAuthorizationToken(e,this.region);var n=w.AudioConfig.fromDefaultMicrophoneInput();this.recognizer=new w.SpeechRecognizer(this.speechConfig,n),this.recognizer.recognizing=function(e,n){n.result.reason===w.ResultReason.RecognizingSpeech&&(t.input=n.result.text,console.log("Recognizing: "+n.result.text),t.cdr.markForCheck())},this.recognizer.recognized=function(e,n){n.result.reason===w.ResultReason.RecognizedSpeech&&(t.input=n.result.text,console.log("Recognized: "+n.result.text),t.toggleRecording(),t.cdr.markForCheck())},this.recognizer.canceled=function(e,t){console.error("Canceled: ",t.errorDetails)},this.recognizer.sessionStopped=function(e,n){console.log("Session stopped."),t.recognizer.stopContinuousRecognitionAsync(),t.fetchData()}},t.prototype.toggleRecording=function(){this.isRecording=!this.isRecording,this.isRecording?this.startRecognition():this.stopRecognition()},t.prototype.startRecognition=function(){this.recognizer.startContinuousRecognitionAsync()},t.prototype.stopRecognition=function(){this.recognizer.stopContinuousRecognitionAsync()},t.prototype.checkForCop29BotId=function(){return"66fa3f276c5d71e2717bfea8"==this.botId||"671633545652dd78efec848d"==this.botId},t.prototype.getLatestTime=function(e){return e||(new Date).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})},t.prototype.openVoiceModal=function(){var e,t,i,a,s,r,c,l,d,p,u=this,h=null!==(t=null!==(e=this.conversationKey)&&void 0!==e?e:this.conversationService.getKey(this.botId,!1))&&void 0!==t?t:"";this.voiceModalConversationId=h,this.setupVoiceTranscripts(),this.voiceModalOverlayRef&&(this.voiceModalOverlayRef.detach(),this.voiceModalOverlayRef.dispose(),this.voiceModalOverlayRef=null);var g={apiUrl:null!==(a=null===(i=this.environment)||void 0===i?void 0:i.BASE_URL)&&void 0!==a?a:"",token:null!==(s=this.s27Token)&&void 0!==s?s:"",botId:null!==(r=this.botId)&&void 0!==r?r:"",conversationId:h,apiKey:null!==(c=this.apiKey)&&void 0!==c?c:"",eventToken:null!==(l=this.eventToken)&&void 0!==l?l:"",eventUrl:null!==(d=this.eventUrl)&&void 0!==d?d:"",domainAuthority:null!==(p=this.domainAuthorityValue)&&void 0!==p?p:"prod-lite",agentName:this.botName||"AI Assistant",agentRole:this.botSkills||"AI Agent Specialist",agentAvatar:this.botIcon},m=o.Injector.create([{provide:G,useValue:g},{provide:Z,useValue:function(){u.voiceModalOverlayRef&&(u.voiceModalOverlayRef.detach(),u.voiceModalOverlayRef.dispose(),u.voiceModalOverlayRef=null),u.closeVoiceModal()}}],this.injector),f=this.overlay.create({hasBackdrop:!1,scrollStrategy:this.overlay.scrollStrategies.block(),positionStrategy:this.overlay.position().global().bottom("0").right("0").left("0").top("0")}),v=new n.ComponentPortal($,this.viewContainerRef,m);f.attach(v),this.voiceModalOverlayRef=f,this.cdr.markForCheck()},t.prototype.closeVoiceModal=function(){var e=this;this.voiceModalOverlayRef&&(this.voiceModalOverlayRef.detach(),this.voiceModalOverlayRef.dispose(),this.voiceModalOverlayRef=null),this.isVoiceModalOpen=!1,this.voiceAgentService.disconnect(),this.cdr.markForCheck(),this.chatLog=[],this.fetchChatHistory().subscribe((function(t){e.loading=!1,e.mapChatHistory(t),e.cdr.markForCheck()}),(function(t){e.loading=!1,e.cdr.markForCheck(),console.error("Error fetching chat history after voice modal close:",t),0===e.chatLog.length&&e.greetingMsg&&e.mapChatHistory({Messages:[]})}))},t.prototype.setupVoiceTranscripts=function(){var e=this;this.voiceTranscriptSubscriptions.forEach((function(e){return e.unsubscribe()})),this.voiceTranscriptSubscriptions=[];var t=this.voiceAgentService.userTranscript$.subscribe((function(t){t.final&&t.text.trim()&&(e.chatLog.push({type:"user",message:e.processMessageForDisplay(t.text),time:j(e.timezone),copied:!1,isCollapsedTrue:!1}),e.cdr.markForCheck(),e.scrollToBottom())})),n=this.voiceAgentService.botTranscript$.subscribe((function(t){if(t&&t.trim()){var n=e.chatLog[e.chatLog.length-1];n&&"ai"===n.type?n.message=e.processMessageForDisplay(t):(e.chatLog.push({type:"ai",message:e.processMessageForDisplay(t),time:j(e.timezone),copied:!1,isCollapsedTrue:!1}),e.showFeedBackIconsIndex=e.chatLog.length-1),e.cdr.markForCheck(),e.scrollToBottom()}}));this.voiceTranscriptSubscriptions.push(t,n)},t}();Y.TZ_ABBR_MAP={"Pacific/Kiritimati":"LINT","Pacific/Apia":"SST","Pacific/Tongatapu":"TST","Etc/GMT-13":"UTC","Pacific/Chatham":"CHADT","Asia/Kamchatka":"ANAT","Pacific/Fiji":"FJT","Etc/GMT-12":"U","Pacific/Auckland":"NZST","Pacific/Guadalcanal":"CPST","Asia/Sakhalin":"SAKT","Pacific/Norfolk":"NFT","Asia/Magadan":"MAGT","Asia/Srednekolymsk":"SRET","Pacific/Bougainville":"BST","Australia/Lord_Howe":"LHST","Asia/Vladivostok":"VLAT","Australia/Hobart":"AEST","Pacific/Port_Moresby":"ChST","Australia/Sydney":"AEST","Australia/Brisbane":"AWST","Australia/Darwin":"ACST","Australia/Adelaide":"ACST","Asia/Yakutsk":"YAKT","Asia/Seoul":"KST","Asia/Pyongyang":"KST","Asia/Tokyo":"TST","Asia/Chita":"YAKT","Australia/Eucla":"ACWST","Asia/Ulaanbaatar":"FST","Asia/Taipei":"ULAT","Australia/Perth":"AWST","Asia/Singapore":"SNST","Asia/Irkutsk":"IRKT","Asia/Shanghai":"CST","Asia/Tomsk":"MSD","Asia/Novosibirsk":"NOVT","Asia/Krasnoyarsk":"KRAT","Asia/Hovd":"SAST","Asia/Barnaul":"MSK","Asia/Bangkok":"THA","Asia/Yangon":"MYST","Asia/Omsk":"OMST","Asia/Dhaka":"BST","Asia/Almaty":"NCAST","Asia/Kathmandu":"NPT","Asia/Colombo":"SLT","Asia/Kolkata":"IST","Asia/Calcutta":"IST","Asia/Qyzylorda":"CAST","Asia/Karachi":"PKT","Asia/Yekaterinburg":"YEKT","Asia/Tashkent":"WAST","Asia/Kabul":"AFT","Asia/Yerevan":"AMT","Europe/Volgograd":"VST","Asia/Tbilisi":"GET","Europe/Saratov":"SLT","Indian/Mauritius":"MUT","Europe/Samara":"SAMT","Asia/Baku":"AZT","Europe/Astrakhan":"SAMT","Asia/Dubai":"ARBST","Asia/Tehran":"IDT","Africa/Nairobi":"EAST","Europe/Moscow":"MSK","Europe/Minsk":"MSK","Asia/Riyadh":"AST","Europe/Istanbul":"TDT","Asia/Baghdad":"AST","Africa/Windhoek":"NST","Africa/Tripoli":"LST","Africa/Khartoum":"EAST","Europe/Kaliningrad":"KST","Asia/Jerusalem":"JDT","Europe/Kiev":"EEDT","Africa/Johannesburg":"SAST","Asia/Hebron":"EET","Asia/Damascus":"SDT","Europe/Chisinau":"GDT","Africa/Cairo":"EST","Asia/Beirut":"MEDT","Europe/Bucharest":"GDT","Asia/Amman":"JST","Africa/Lagos":"ECT","Europe/Warsaw":"CEDT","Africa/Casablanca":"MDT","Europe/Paris":"CEST","Europe/Budapest":"CEDT","Europe/Berlin":"WEDT","Africa/Sao_Tome":"GST","Atlantic/Reykjavik":"GST","Europe/London":"GDT","Etc/UTC":"UTC","Atlantic/Azores":"ADT","Atlantic/Cape_Verde":"CVST","Etc/GMT+2":"MST","America/Araguaina":"SEST","America/Sao_Paulo":"ESAST","America/Cayenne":"SEST","America/Argentina/Buenos_Aires":"AST","America/Nuuk":"WGT","America/Montevideo":"MST","America/Punta_Arenas":"CLST","America/Miquelon":"PMST","America/Bahia":"BST","America/St_Johns":"NST","America/Asuncion":"PRST","America/Halifax":"AST","America/Caracas":"VST","America/Cuiaba":"CBST","America/La_Paz":"SAWST","America/Santiago":"PSST","America/Bogota":"SPST","America/Cancun":"EST","America/New_York":"ET","America/Port-au-Prince":"EDT","America/Havana":"EDT","America/Indiana/Indianapolis":"EST","America/Grand_Turk":"EST","America/Guatemala":"CAST","America/Chicago":"CT","Pacific/Easter":"EAST","America/Mexico_City":"CST","America/Regina":"CCST","America/Phoenix":"MT","America/Chihuahua":"MDT","America/Denver":"MT","America/Whitehorse":"YST","America/Tijuana":"PST","Etc/GMT+8":"UTC-08","America/Los_Angeles":"PT","America/Anchorage":"AK","Etc/GMT+9":"UTC-09","Pacific/Marquesas":"MST","America/Adak":"HST","Pacific/Honolulu":"HAST","Etc/GMT+11":"UTC-11","Etc/GMT+12":"BIT"},Y.WINDOWS_TZ_ABBR_MAP={"(UTC-03:00) Brasilia":"BRT","(UTC-03:00) Buenos Aires":"ART","(UTC+05:30) India":"IST","(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi":"IST","(UTC+00:00) Dublin, Edinburgh, London":"GMT","(UTC+00:00) Monrovia, Reykjavik":"GMT","(UTC+01:00) Amsterdam, Berlin, Rome, Stockholm":"CET","(UTC+01:00) Brussels, Copenhagen, Madrid, Paris":"CET","(UTC+02:00) Athens, Istanbul, Minsk":"EET","(UTC+02:00) Cairo":"EET","(UTC+02:00) Jerusalem":"IST","(UTC+03:00) Moscow, St. Petersburg":"MSK","(UTC+03:00) Nairobi":"EAT","(UTC+04:00) Dubai":"GST","(UTC+05:00) Islamabad, Karachi":"PKT","(UTC+05:45) Kathmandu":"NPT","(UTC+06:00) Dhaka":"BST","(UTC+06:30) Yangon (Rangoon)":"MMT","(UTC+07:00) Bangkok, Hanoi, Jakarta":"ICT","(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi":"CST","(UTC+08:00) Kuala Lumpur, Singapore":"SGT","(UTC+09:00) Osaka, Sapporo, Tokyo":"JST","(UTC+09:30) Adelaide":"ACST","(UTC+10:00) Brisbane":"AEST","(UTC+10:00) Canberra, Melbourne, Sydney":"AEST","(UTC+12:00) Auckland, Wellington":"NZST","(UTC-05:00) Eastern Time (US & Canada)":"ET","(UTC-06:00) Central Time (US & Canada)":"CT","(UTC-07:00) Mountain Time (US & Canada)":"MT","(UTC-08:00) Pacific Time (US & Canada)":"PT"},Y.decorators=[{type:o.Component,args:[{selector:"hivegpt-chat-drawer-package",template:'<button\n *ngIf="isShowEditorButton && !checkForCop29BotId()"\n (click)="openOuterEditor()"\n class="fixed-btn"\n>\n <span style="font-size: 12px" class="material-icons notranslate">\n create\n </span>\n Editor\n</button>\n\n<button\n *ngIf="!isShowEditorButton"\n (click)="onCloseEditor()"\n class="fixed-btn-close"\n>\n <span style="font-size: 12px" class="material-icons notranslate">\n close\n </span>\n {{ getTranslation("Close") }}\n</button>\n\n<mat-drawer-container\n class="hivegpt-chat-bot-wrapper"\n [ngClass]="{ \'mat-drawer-container-has-open\': isDrawerOpen }"\n [class.ios-device]="isIOSDevice"\n [hasBackdrop]="hasBackdropValue"\n>\n <mat-drawer\n class="drawer"\n #drawer\n [position]="\'start\'"\n [mode]="\'over\'"\n opened="true"\n [class.full-width-drawer]="fullView"\n [style.background]="\n \'linear-gradient(\' + (bgGradient ? bgGradient.join(\', \') : \'\') + \')\'\n "\n >\n <mat-drawer-content>\n <div class="chat-main">\n \x3c!-- <div class="chat-header">\n <h2> --\x3e\n \x3c!-- {{eventName}} --\x3e\n \x3c!-- </h2> --\x3e\n \x3c!-- <button class="closeIcon" (click)="onClose()">\n <span class="material-symbols-outlined">\n close\n </span>\n </button> --\x3e\n \x3c!-- </div> --\x3e\n\n <div class="innerChat" #chatMain>\n <div (click)="startNewConversation()" class="new-conversationbutton">\n {{ getTranslation("New Chat") }}\n <span\n ><svg\n xmlns="http://www.w3.org/2000/svg"\n width="14.061"\n height="14.261"\n viewBox="0 0 14.061 14.261"\n >\n <path\n id="Path_164"\n data-name="Path 164"\n d="M10.146,5.075H4.531A1.544,1.544,0,0,0,3,6.631v7.262A1.544,1.544,0,0,0,4.531,15.45h7.146a1.544,1.544,0,0,0,1.531-1.556V8.187m-7.146,4.15L15.25,3m0,0H11.677M15.25,3V6.631"\n transform="translate(-2.25 -1.939)"\n fill="none"\n stroke="#06f"\n stroke-linecap="round"\n stroke-linejoin="round"\n stroke-width="1.5"\n />\n </svg>\n </span>\n </div>\n <div class="bot-sticky-header-chat">\n <div class="title_chat">\n <h2>\n <p>\n {{ getTranslation(botName) }}\n \x3c!-- <svg\n *ngIf="!checkForCop29BotId()"\n xmlns="http://www.w3.org/2000/svg"\n width="31.499"\n height="31.501"\n viewBox="0 0 31.499 31.501"\n >\n <path\n id="Icon_ion-shield-checkmark"\n data-name="Icon ion-shield-checkmark"\n d="M33.685,7.83a1.125,1.125,0,0,0-.925-1.036,49.227,49.227,0,0,1-14.3-4.444,1.125,1.125,0,0,0-.927,0A49.226,49.226,0,0,1,3.24,6.794,1.125,1.125,0,0,0,2.315,7.83a27.621,27.621,0,0,0,1.718,11.9A24.572,24.572,0,0,0,9.07,27.641a25.712,25.712,0,0,0,8.513,6.028,1.125,1.125,0,0,0,.844,0,25.712,25.712,0,0,0,8.513-6.028,24.572,24.572,0,0,0,5.027-7.911,27.621,27.621,0,0,0,1.718-11.9Zm-9.211,5.281-7.791,9a1.125,1.125,0,0,1-.8.389h-.046a1.125,1.125,0,0,1-.788-.322L11.587,18.79a1.125,1.125,0,1,1,1.575-1.607l2.6,2.552,7.01-8.1a1.125,1.125,0,0,1,1.7,1.472Z"\n transform="translate(-2.25 -2.25)"\n fill="#06f"\n />\n </svg> --\x3e\n </p>\n <span *ngIf="!checkForCop29BotId()">\n <p class="small-title">\n {{ getTranslation("AI-powered")\n }}<span>{{ getTranslation("copilot") }}</span>\n </p>\n </span>\n </h2>\n </div>\n <div class="chatType" style="display: none">\n <h4 class="labelChat">Choose a conversation style</h4>\n <ul>\n <li (click)="changeTemperature(0)">\n <button [ngClass]="{ active: temperature === 0 }">\n <span class="top-section-title"> More Creative </span>\n </button>\n </li>\n <li (click)="changeTemperature(1)" class="fdssfd">\n <button [ngClass]="{ active: temperature === 1 }">\n <span class="top-section-title"> More Balanced </span>\n </button>\n </li>\n <li (click)="changeTemperature(2)">\n <button [ngClass]="{ active: temperature === 2 }">\n <span class="top-section-title"> More Precise </span>\n </button>\n </li>\n </ul>\n </div>\n </div>\n \x3c!-- chattype --\x3e\n <div\n id="botAllChat"\n class="chat"\n [ngClass]="{\n botUser: chat?.type === \'user\',\n botAi: chat?.type !== \'user\',\n }"\n *ngFor="let chat of chatLog; let i = index"\n >\n <div class="chat-box" *ngIf="!(i === 0 && botSkills)">\n <div class="message">\n <div\n class="time-cta"\n [ngClass]="{\n \'time-cta din\': showFeedBackIconsIndex === i,\n \'time-cta\': showFeedBackIconsIndex != i,\n }"\n >\n <div\n class="Icon_TimeSTamp"\n *ngIf="chat?.type === \'ai\' && !(i === 0 && botSkills)"\n >\n <div class="chat-avatar">\n <img\n *ngIf="displayAvatarUrl || botIcon"\n [src]="displayAvatarUrl || botIcon"\n alt="Assistant"\n class="chat-avatar-img"\n />\n <span\n *ngIf="!(displayAvatarUrl || botIcon)"\n class="chat-avatar-initials chat-avatar-initials-assistant"\n >A</span\n >\n </div>\n <div\n class="dateTime"\n [style.color]="dateTimeColor ? \'\' : \'\'"\n >\n <span style="color: #000 !important;">{{ getTranslation("Assistant") }}</span>\n {{ chat?.time }}\n </div>\n </div>\n\n <div\n class="Icon_TimeSTamp"\n *ngIf="\n chat?.type === \'session_cards\' ||\n chat?.type === \'attendee_cards\'\n "\n >\n <div class="chat-avatar">\n <img\n *ngIf="displayAvatarUrl || botIcon"\n [src]="displayAvatarUrl || botIcon"\n alt="Assistant"\n class="chat-avatar-img"\n />\n <span\n *ngIf="!(displayAvatarUrl || botIcon)"\n class="chat-avatar-initials chat-avatar-initials-assistant"\n >A</span\n >\n </div>\n <div\n class="dateTime"\n [style.color]="dateTimeColor ? \'\' : \'\'"\n >\n <span>{{ getTranslation("Assistant") }}</span>\n {{ chat?.time }}\n </div>\n </div>\n\n <div class="Icon_TimeSTamp" *ngIf="chat?.type === \'user\'">\n <div class="user-Box">\n <div class="dateTime">\n <span>{{ getTranslation("You") }}</span>\n {{ chat?.time }}\n </div>\n <div class="chat-avatar">\n <img\n *ngIf="userAvatarUrl"\n [src]="userAvatarUrl"\n alt="You"\n class="chat-avatar-img"\n />\n <span\n *ngIf="!userAvatarUrl"\n class="chat-avatar-initials chat-avatar-initials-user"\n >{{ getUserIdInitials() }}</span\n >\n </div>\n </div>\n <div class="bards">\n <div\n class="bars"\n *ngIf="\n chat?.WorkflowExecutionId ||\n chat?.showWorkflowExecutionLoader\n "\n >\n <button\n class="icon-button"\n (click)="\n showWorkflowHistoryDetails(chat.WorkflowExecutionId)\n "\n >\n <i class="fas fa-bars"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n <div\n class="researchingCard"\n *ngIf="\n (chat?.searchTerms && chat?.searchTerms.length > 0) ||\n (chat?.sourcesList && chat?.sourcesList?.length > 0)\n "\n >\n <div\n class="card-header d-flex align-items-center"\n (click)="toggleCollapse()"\n >\n <span class="icon"\n ><i class="bx bx-plus-circle bx-sm"></i\n ></span>\n <span class="ml-2"\n >Researching\n <i\n id="toggleIcon"\n class="toggle-icon ml-2 fa"\n [ngClass]="{\n \'fa-chevron-down\': isCollapsed,\n \'fa-chevron-up\': !isCollapsed,\n }"\n ></i\n ></span>\n </div>\n <div\n *ngIf="chat?.searchTerms && chat?.searchTerms.length > 0"\n [ngClass]="{ collapse: isCollapsed }"\n >\n <ul class="list-group list-group-flush uptList">\n <li\n *ngFor="let term of chat?.searchTerms"\n class="list-group-item"\n >\n Searching for\n <strong>{{ term }}</strong>\n </li>\n </ul>\n\n <h5\n class="mt-2"\n *ngIf="chat?.sourcesList && chat?.sourcesList.length > 0"\n >\n <i class="bx bx-unite"></i> Sources\n </h5>\n <div\n class="sources-container"\n *ngIf="chat?.sourcesList && chat?.sourcesList.length > 0"\n >\n <div\n class="source-card"\n *ngFor="\n let source of chat?.displayedSources;\n let i = index\n "\n >\n <div>\n <div class="source-title">{{ source.title }}</div>\n <div class="source-url">\n <img\n class="relative block"\n [src]="getFaviconUrl(source.link)"\n [alt]="getDomainName(source.link) + \' favicon\'"\n />\n {{ getDomainName(source.link) }}\n </div>\n <div class="popup">\n <div\n class="source-url"\n (click)="openLinkInNewTab(source.link)"\n >\n <img\n class="relative block"\n [src]="getFaviconUrl(source.link)"\n [alt]="getDomainName(source.link) + \' favicon\'"\n />\n {{ getDomainName(source.link) }}\n </div>\n <h5 (click)="openLinkInNewTab(source.link)">\n {{ source.title }}\n </h5>\n <p (click)="openLinkInNewTab(source.link)">\n {{ source.desc }}\n </p>\n </div>\n </div>\n </div>\n <ng-container\n *ngIf="\n chat?.remainingSources &&\n chat?.remainingSources.length > 0\n "\n >\n <div\n class="source-card"\n (click)="onCardClick(chat?.sourcesList)"\n >\n <div>\n <div class="source-title">\n <img\n *ngFor="\n let source of chat?.remainingSources;\n let i = index\n "\n class="relative block"\n [src]="getFaviconUrl(source.link)"\n [alt]="getDomainName(source.link) + \' favicon\'"\n />\n </div>\n <div class="source-url">\n View {{ chat?.remainingSources.length }} more\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n\n \x3c!-- Session cards (from get_event_sessions tool, same as React Native) --\x3e\n <div\n class="session-cards-section"\n *ngIf="\n chat?.type === \'session_cards\' &&\n chat?.sessionCards?.length > 0\n "\n >\n <div\n *ngIf="chat?.message"\n class="card-message-bubble"\n [ngStyle]="{ background: bgBubbleAi || \'#fff\' }"\n >\n <p\n class="SearchTitle ai card-message-text"\n [innerHTML]="chat?.message"\n ></p>\n </div>\n <div class="session-cards-container">\n <div\n *ngFor="\n let session of getVisibleSessionCards(chat);\n let idx = index\n "\n class="session-card-item"\n [class.session-card-item-ondemand]="isSessionOndemand(session)"\n >\n \x3c!-- OnDemand design: pill, Available Anytime, title, description --\x3e\n <ng-container *ngIf="isSessionOndemand(session)">\n <span class="session-card-ondemand-badge">{{ getTranslation(\'ON DEMAND\') || \'ON DEMAND\' }}</span>\n <div class="session-card-ondemand-available">{{ getTranslation(\'Available Anytime\') || \'Available Anytime\' }}</div>\n <div class="session-card-title session-card-ondemand-title">{{ session.title }}</div>\n <div\n class="session-card-description session-card-ondemand-desc"\n *ngIf="session.description"\n >\n {{ session.description }}\n </div>\n <div\n class="session-card-actions-row"\n *ngIf="session.session && getSessionRoleButtons(session).length > 0"\n >\n <div class="speakers-UIcard"></div>\n <div class="session-card-actions">\n <button\n *ngFor="let role of getSessionRoleButtons(session)"\n type="button"\n class="btn session-card-btn"\n [class.session-card-btn-primary]="role.action === \'join\'"\n [class.session-card-btn-secondary]="role.action === \'watch\'"\n [class.session-card-btn-disabled]="isUnEvent && !canPerformSessionAction(session)"\n [attr.aria-disabled]="isUnEvent && !canPerformSessionAction(session)"\n [disabled]="!canPerformSessionAction(session)"\n (click)="onSessionCardAction(session, role)"\n >\n {{ role.label }}\n </button>\n </div>\n </div>\n </ng-container>\n \x3c!-- Default (Live/Breakout) design: date badge, room/time, title, meta, description, actions --\x3e\n <ng-container *ngIf="!isSessionOndemand(session)">\n <div class="session-card-header">\n <div class="session-card-date-badge">\n <ng-container *ngIf="session.dateDay || session.dateMonth">\n <span class="session-card-date-day">{{\n session.dateDay\n }}</span>\n <span class="session-card-date-month">{{\n session.dateMonth\n }}</span>\n </ng-container>\n <span\n *ngIf="!session.dateDay && !session.dateMonth"\n class="session-card-date-na"\n >{{ getTranslation(\'N/A\') || \'N/A\' }}</span>\n </div>\n <div class="session-card-room-time">\n <div\n class="session-card-room"\n *ngIf="session.room"\n >\n {{ session.room }}\n </div>\n <div\n class="session-card-time"\n *ngIf="session.timeRangeWithTz || session.timeRange"\n >\n {{ session.timeRangeWithTz || session.timeRange }}\n </div>\n </div>\n </div>\n <div class="session-card-title">{{ session.title }}</div>\n <div\n class="session-card-meta"\n *ngIf="(session.organizer && session.organizer.length) || (session.meetingType && session.meetingType.length)"\n >\n <div class="session-card-meta-row" *ngIf="session.organizer && session.organizer.length">\n <span class="session-card-meta-label">{{\n (getTranslation("Organizer") || "Organizer") + ":"\n }}</span>\n <span class="session-card-meta-value">{{ session.organizer }}</span>\n </div>\n \x3c!-- <div class="session-card-meta-row" *ngIf="session.timeZoneDisplay">\n <span class="session-card-meta-label">{{\n getTranslation("Time zone") || "Time zone"\n }}</span>\n <span class="session-card-meta-value">{{ session.timeZoneDisplay }}</span>\n </div> --\x3e\n <div class="session-card-meta-row" *ngIf="session.meetingType && session.meetingType.length">\n <span class="session-card-meta-label">{{\n getSessionTypeLabel() + ":"\n }}</span>\n <span class="session-card-meta-value">{{ session.meetingType }}</span>\n </div>\n </div>\n <div\n class="session-card-description"\n *ngIf="session.description"\n >\n {{ session.description }}\n </div>\n <div\n class="session-card-status"\n *ngIf="\n (session.statusText && session.statusText.length) &&\n getSessionRoleButtons(session).length > 0\n "\n >\n <span class="session-card-status-bullet"></span>\n {{ session.statusText }}\n </div>\n \x3c!-- <div\n class="session-card-when-disable"\n *ngIf="\n session.session?.sessionRoles?.length > 0 &&\n !isSessionOndemand(session) &&\n !session.session?.isExpire &&\n !canPerformSessionAction(session)\n "\n >\n {{ getTranslation("You can join/watch at the starting time") || "You can join/watch at the starting time" }}\n </div> --\x3e\n \x3c!-- <div\n class="session-card-meeting-delayed"\n *ngIf="isMeetingDelayed(session)"\n >\n {{ getTranslation("Meeting Delayed") || "Meeting Delayed" }} +\n {{ getMeetingDelayMinutes(session) }}\n {{ getTranslation("minutes") || "minutes" }}\n </div> --\x3e\n <div\n class="session-card-actions-row"\n *ngIf="\n session.session &&\n (getSessionRoleButtons(session).length > 0 || hasSessionCardSpeakers(session))\n "\n >\n <div class="speakers-UIcard">\n <ng-container\n *ngIf="\n (session?.speakersList || session?.session?.speakersList || []).length\n as _speakerCount\n "\n >\n <ng-container\n *ngFor="\n let sp of (session?.speakersList || session?.session?.speakersList || []);\n let i = index\n "\n >\n <ng-container *ngIf="i < 3">\n <div class="speaker" *ngIf="getSpeakerPhotoUrl(sp); else speakerInitials">\n <img\n [src]="getSpeakerPhotoUrl(sp)!"\n [alt]="getSpeakerDisplayName(sp) || \'Speaker\'"\n />\n </div>\n <ng-template #speakerInitials>\n <div class="speaker initials">\n {{ getSpeakerInitials(sp) }}\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n <div class="speaker initials" *ngIf="_speakerCount > 3">\n +{{ _speakerCount - 3 }}\n </div>\n </ng-container>\n </div>\n <div class="session-card-actions">\n <button\n *ngFor="let role of getSessionRoleButtons(session)"\n type="button"\n class="btn session-card-btn"\n [class.session-card-btn-primary]="\n role.action === \'join\'\n "\n [class.session-card-btn-secondary]="\n role.action === \'watch\'\n "\n [class.session-card-btn-disabled]="isUnEvent && !canPerformSessionAction(session)"\n [attr.aria-disabled]="isUnEvent && !canPerformSessionAction(session)"\n [disabled]="!canPerformSessionAction(session)"\n (click)="onSessionCardAction(session, role)"\n >\n {{ role.label }}\n </button>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n <button\n *ngIf="\n (chat?.sessionCards?.length || 0) >\n SESSION_CARDS_INITIAL &&\n !expandedSessionCardIds[chat?._id]\n "\n type="button"\n class="show-more-cards-btn"\n (click)="expandSessionCards(chat)"\n >\n Show\n {{\n (chat?.sessionCards?.length || 0) - SESSION_CARDS_INITIAL\n }}\n more\n {{\n (chat?.sessionCards?.length || 0) -\n SESSION_CARDS_INITIAL ===\n 1\n ? getTranslation("session") || "session"\n : getTranslation("sessions") || "sessions"\n }}\n </button>\n </div>\n\n \x3c!-- Attendee cards (from get_event_attendees tool, same as React Native) --\x3e\n <div\n class="attendee-cards-section"\n *ngIf="\n chat?.type === \'attendee_cards\' &&\n chat?.attendeeCards?.length > 0\n "\n >\n <div\n *ngIf="chat?.message"\n class="card-message-bubble"\n [ngStyle]="{ background: bgBubbleAi || \'#fff\' }"\n >\n <p\n class="SearchTitle ai card-message-text"\n [innerHTML]="chat?.message"\n ></p>\n </div>\n <div class="attendee-cards-container">\n <div\n *ngFor="\n let attendee of getVisibleAttendeeCards(chat);\n let idx = index\n "\n class="attendee-card-item"\n >\n <div\n class="attendee-card"\n [class.attendee-card-has-video]="!!getAttendeeVideoUrl(attendee)"\n [style.background-image]="\n !getAttendeeVideoUrl(attendee) && attendee.photo\n ? \'url(\' + attendee.photo + \')\'\n : null\n "\n >\n <ng-container *ngIf="getAttendeeVideoUrl(attendee)">\n <video\n #attendeeVideo\n class="attendee-card-video"\n [attr.poster]="getAttendeeVideoPoster(attendee) || null"\n [muted]="isAttendeeVideoMuted(chat, attendee)"\n playsinline\n preload="metadata"\n (play)="onAttendeeVideoPlayState(chat, attendee, true)"\n (pause)="onAttendeeVideoPlayState(chat, attendee, false)"\n (ended)="onAttendeeVideoPlayState(chat, attendee, false)"\n (click)="toggleAttendeeVideoPlay(chat, attendee, attendeeVideo, $event)"\n >\n <source\n [attr.src]="getAttendeeVideoUrl(attendee)"\n type="video/webm"\n />\n </video>\n\n <button\n type="button"\n class="attendee-card-mute-btn"\n (click)="toggleAttendeeVideoMute(chat, attendee, attendeeVideo, $event)"\n [attr.title]="\n isAttendeeVideoMuted(chat, attendee)\n ? (getTranslation(\'Unmute\') || \'Unmute\')\n : (getTranslation(\'Mute\') || \'Mute\')\n "\n [attr.aria-label]="\n isAttendeeVideoMuted(chat, attendee)\n ? (getTranslation(\'Unmute\') || \'Unmute\')\n : (getTranslation(\'Mute\') || \'Mute\')\n "\n >\n <span class="material-icons notranslate">\n {{\n isAttendeeVideoMuted(chat, attendee)\n ? "volume_off"\n : "volume_up"\n }}\n </span>\n </button>\n\n <button\n type="button"\n class="attendee-card-play-btn"\n (click)="toggleAttendeeVideoPlay(chat, attendee, attendeeVideo, $event)"\n [attr.title]="\n isAttendeeVideoPlaying(chat, attendee)\n ? (getTranslation(\'Pause\') || \'Pause\')\n : (getTranslation(\'Play\') || \'Play\')\n "\n [attr.aria-label]="\n isAttendeeVideoPlaying(chat, attendee)\n ? (getTranslation(\'Pause\') || \'Pause\')\n : (getTranslation(\'Play\') || \'Play\')\n "\n >\n <span class="material-icons notranslate">\n {{\n isAttendeeVideoPlaying(chat, attendee)\n ? "pause"\n : "play_arrow"\n }}\n </span>\n </button>\n </ng-container>\n\n <div\n class="attendee-card-initials"\n *ngIf="!getAttendeeVideoUrl(attendee) && !attendee.photo"\n >\n {{ getAttendeeInitials(attendee.name) }}\n </div>\n <div class="attendee-overlay"></div>\n <div class="attendee-content">\n <div class="attendee-name">{{ attendee.name }}</div>\n <div\n class="attendee-company"\n *ngIf="attendee.company"\n >\n {{ attendee.company }}\n </div>\n <div\n class="attendee-desc"\n [class.attendee-desc-collapsed]="!isAttendeeDescriptionExpanded(chat, attendee)"\n [class.attendee-desc-expanded]="isAttendeeDescriptionExpanded(chat, attendee)"\n *ngIf="getAttendeeDescription(attendee)"\n >\n {{ getAttendeeDescription(attendee) }}\n </div>\n \n <div class="attendee-buttons">\n <ng-container\n *ngIf="\n attendee.id !== userId &&\n isConnectionsEnabled &&\n checkPendingSentRequest(attendee.id)\n "\n >\n <button\n type="button"\n class="btn attendee-card-btn attendee-card-btn-request-sent"\n disabled\n [attr.title]="\n getTranslation(\'Request Sent\') || \'Request Sent\'\n "\n >\n {{\n getTranslation("Request Sent") || "Request Sent"\n }}\n </button>\n </ng-container>\n <ng-container\n *ngIf="\n attendee.id !== userId &&\n isConnectionsEnabled &&\n canFollowUser(attendee)\n "\n >\n <button\n type="button"\n class="btn attendee-card-btn attendee-card-btn-connect"\n [attr.title]="\n getTranslation(\'Connect\') || \'Connect\'\n "\n (click)="\n attendee.id &&\n connectWithUser.emit({\n userId: attendee.id,\n connect: true,\n })\n "\n >\n {{ getTranslation("Connect") || "Connect" }}\n </button>\n </ng-container>\n <ng-container\n *ngIf="\n attendee.id !== userId &&\n isConnectionsEnabled &&\n canUnfollowUser(attendee)\n "\n >\n <button\n type="button"\n class="btn attendee-card-btn attendee-card-btn-disconnect"\n [attr.title]="\n getTranslation(\'Disconnect\') || \'Disconnect\'\n "\n (click)="\n attendee.id &&\n connectWithUser.emit({\n userId: attendee.id,\n disconnect: true,\n })\n "\n >\n {{\n getTranslation("Disconnect") || "Disconnect"\n }}\n </button>\n </ng-container>\n <button\n type="button"\n class="btn attendee-card-btn attendee-card-btn-view-profile"\n [disabled]="!attendee.id"\n [attr.title]="\n !attendee.id\n ? getTranslation(\'Profile not available\') ||\n \'Profile not available\'\n : (getTranslation(\'View Profile\') || \'View Profile\')\n "\n (click)="\n attendee.id &&\n connectWithUser.emit({\n userId: attendee.id,\n viewProfile: true,\n })\n "\n >\n {{ getTranslation("View Profile") || "View Profile" }}\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <button\n *ngIf="\n (chat?.attendeeCards?.length || 0) >\n ATTENDEE_CARDS_INITIAL &&\n !expandedAttendeeCardIds[chat?._id]\n "\n type="button"\n class="show-more-cards-btn"\n (click)="expandAttendeeCards(chat)"\n >\n Show\n {{\n (chat?.attendeeCards?.length || 0) -\n ATTENDEE_CARDS_INITIAL\n }}\n more\n {{\n (chat?.attendeeCards?.length || 0) -\n ATTENDEE_CARDS_INITIAL ===\n 1\n ? getTranslation("attendee") || "attendee"\n : getTranslation("attendees") || "attendees"\n }}\n </button>\n </div>\n\n \x3c!-- Speaker cards (from get_event_speakers tool, same layout/behavior as attendee cards) --\x3e\n <div\n class="speaker-cards-section"\n *ngIf="\n chat?.type === \'speaker_cards\' &&\n chat?.speakerCards?.length > 0\n "\n >\n <div\n *ngIf="chat?.message"\n class="card-message-bubble"\n [ngStyle]="{ background: bgBubbleAi || \'#fff\' }"\n >\n <p\n class="SearchTitle ai card-message-text"\n [innerHTML]="chat?.message"\n ></p>\n </div>\n <div class="attendee-cards-container">\n <div\n *ngFor="\n let speaker of getVisibleSpeakerCards(chat);\n let idx = index\n "\n class="attendee-card-item"\n >\n <div\n class="attendee-card"\n [class.attendee-card-has-video]="!!getAttendeeVideoUrl(speaker)"\n [style.background-image]="\n !getAttendeeVideoUrl(speaker) && speaker.photo\n ? \'url(\' + speaker.photo + \')\'\n : null\n "\n >\n <ng-container *ngIf="getAttendeeVideoUrl(speaker)">\n <video\n #speakerVideo\n class="attendee-card-video"\n [attr.poster]="getAttendeeVideoPoster(speaker) || null"\n [muted]="isAttendeeVideoMuted(chat, speaker)"\n playsinline\n preload="metadata"\n (play)="onAttendeeVideoPlayState(chat, speaker, true)"\n (pause)="onAttendeeVideoPlayState(chat, speaker, false)"\n (ended)="onAttendeeVideoPlayState(chat, speaker, false)"\n (click)="toggleAttendeeVideoPlay(chat, speaker, speakerVideo, $event)"\n >\n <source\n [attr.src]="getAttendeeVideoUrl(speaker)"\n type="video/webm"\n />\n </video>\n\n <button\n type="button"\n class="attendee-card-mute-btn"\n (click)="toggleAttendeeVideoMute(chat, speaker, speakerVideo, $event)"\n [attr.title]="\n isAttendeeVideoMuted(chat, speaker)\n ? (getTranslation(\'Unmute\') || \'Unmute\')\n : (getTranslation(\'Mute\') || \'Mute\')\n "\n [attr.aria-label]="\n isAttendeeVideoMuted(chat, speaker)\n ? (getTranslation(\'Unmute\') || \'Unmute\')\n : (getTranslation(\'Mute\') || \'Mute\')\n "\n >\n <span class="material-icons notranslate">\n {{\n isAttendeeVideoMuted(chat, speaker)\n ? "volume_off"\n : "volume_up"\n }}\n </span>\n </button>\n\n <button\n type="button"\n class="attendee-card-play-btn"\n (click)="toggleAttendeeVideoPlay(chat, speaker, speakerVideo, $event)"\n [attr.title]="\n isAttendeeVideoPlaying(chat, speaker)\n ? (getTranslation(\'Pause\') || \'Pause\')\n : (getTranslation(\'Play\') || \'Play\')\n "\n [attr.aria-label]="\n isAttendeeVideoPlaying(chat, speaker)\n ? (getTranslation(\'Pause\') || \'Pause\')\n : (getTranslation(\'Play\') || \'Play\')\n "\n >\n <span class="material-icons notranslate">\n {{\n isAttendeeVideoPlaying(chat, speaker)\n ? "pause"\n : "play_arrow"\n }}\n </span>\n </button>\n </ng-container>\n\n <div\n class="attendee-card-initials"\n *ngIf="!getAttendeeVideoUrl(speaker) && !speaker.photo"\n >\n {{ getAttendeeInitials(speaker.name) }}\n </div>\n <div class="attendee-overlay"></div>\n <div class="attendee-content">\n <div class="attendee-name">{{ speaker.name }}</div>\n <div\n class="attendee-company"\n *ngIf="speaker.jobTitle"\n >\n {{ speaker.jobTitle }}\n </div>\n <div\n class="attendee-company"\n *ngIf="speaker.company"\n >\n {{ speaker.company }}\n </div>\n <div\n class="attendee-desc"\n [class.attendee-desc-collapsed]="!isAttendeeDescriptionExpanded(chat, speaker)"\n [class.attendee-desc-expanded]="isAttendeeDescriptionExpanded(chat, speaker)"\n *ngIf="getAttendeeDescription(speaker)"\n >\n {{ getAttendeeDescription(speaker) }}\n </div>\n <button\n *ngIf="shouldShowAttendeeReadMore(speaker)"\n type="button"\n class="attendee-read-more"\n (click)="toggleAttendeeDescription(chat, speaker, $event)"\n >\n {{ isAttendeeDescriptionExpanded(chat, speaker) ? (getTranslation(\'Read less\') || \'Read less\') : (getTranslation(\'Read more\') || \'Read more\') }}\n </button>\n\n <div class="attendee-buttons">\n <ng-container\n *ngIf="\n speaker.id !== userId &&\n isConnectionsEnabled &&\n checkPendingSentRequest(speaker.id)\n "\n >\n <button\n type="button"\n class="btn attendee-card-btn attendee-card-btn-request-sent"\n disabled\n [attr.title]="\n getTranslation(\'Request Sent\') || \'Request Sent\'\n "\n >\n {{\n getTranslation(\'Request Sent\') || \'Request Sent\'\n }}\n </button>\n </ng-container>\n <ng-container\n *ngIf="\n speaker.id !== userId &&\n isConnectionsEnabled &&\n canFollowUser(speaker)\n "\n >\n <button\n type="button"\n class="btn attendee-card-btn attendee-card-btn-connect"\n [attr.title]="\n getTranslation(\'Connect\') || \'Connect\'\n "\n (click)="\n speaker.id &&\n connectWithUser.emit({\n userId: speaker.id,\n connect: true\n })\n "\n >\n {{ getTranslation(\'Connect\') || \'Connect\' }}\n </button>\n </ng-container>\n <ng-container\n *ngIf="\n speaker.id !== userId &&\n isConnectionsEnabled &&\n canUnfollowUser(speaker)\n "\n >\n <button\n type="button"\n class="btn attendee-card-btn attendee-card-btn-disconnect"\n [attr.title]="\n getTranslation(\'Disconnect\') || \'Disconnect\'\n "\n (click)="\n speaker.id &&\n connectWithUser.emit({\n userId: speaker.id,\n disconnect: true\n })\n "\n >\n {{ getTranslation(\'Disconnect\') || \'Disconnect\' }}\n </button>\n </ng-container>\n <button\n type="button"\n class="btn attendee-card-btn attendee-card-btn-view-profile"\n [disabled]="!speaker.id"\n [attr.title]="\n !speaker.id\n ? getTranslation(\'Profile not available\') ||\n \'Profile not available\'\n : (getTranslation(\'View Profile\') || \'View Profile\')\n "\n (click)="\n speaker.id &&\n connectWithUser.emit({\n userId: speaker.id,\n viewProfile: true\n })\n "\n >\n {{\n getTranslation(\'View Profile\') || \'View Profile\'\n }}\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <button\n *ngIf="\n (chat?.speakerCards?.length || 0) >\n SPEAKER_CARDS_INITIAL &&\n !expandedSpeakerCardIds[chat?._id]\n "\n type="button"\n class="show-more-cards-btn"\n (click)="expandSpeakerCards(chat)"\n >\n Show\n {{\n (chat?.speakerCards?.length || 0) -\n SPEAKER_CARDS_INITIAL\n }}\n more\n {{\n (chat?.speakerCards?.length || 0) -\n SPEAKER_CARDS_INITIAL ===\n 1\n ? getTranslation(\'speaker\') || \'speaker\'\n : getTranslation(\'speakers\') || \'speakers\'\n }}\n </button>\n </div>\n\n <div\n class="chat-bubble-wrap"\n *ngIf="\n (chat?.type === \'ai\' || chat?.type === \'user\') &&\n !(i === 0 && botSkills)\n "\n [ngStyle]="{\n background:\n chat?.type === \'ai\'\n ? bgBubbleAi || \'#fff\'\n : chat?.type === \'user\'\n ? bgBubbleUser || \'#183988\'\n : \'transparent\',\n color:\n chat?.type === \'ai\'\n ? \'#000 !important\'\n : \'#fff !important\',\n }"\n >\n <div id="messageText_{{ i }}" class="chat-bubble-content">\n <div\n *ngIf="chat?.type === \'ai\' || chat?.type === \'user\'"\n [ngClass]="{\n \'SearchTitle ai\': chat?.type === \'ai\',\n \'SearchTitle user\': chat?.type === \'user\',\n }"\n [ngStyle]="{\n background: \'transparent\',\n color:\n chat?.type === \'ai\' && messageTextColorAi\n ? messageTextColorAi\n : chat?.type === \'user\'\n ? messageTextColorUser || \'#fff\'\n : \'defaultColor\',\n }"\n [innerHTML]="chat?.message"\n ></div>\n </div>\n </div>\n\n <div\n class="progress-container"\n *ngIf="chat?.showWorkflowExecutionLoader"\n >\n <div class="circular-loader">\n <div\n class="loader-spinner"\n *ngIf="currentWorkflowActionProgress < 100"\n [ngStyle]="{\n transform: \'rotate(\' + percentage * 3.6 + \'deg)\',\n }"\n ></div>\n <div\n class="checkmark"\n *ngIf="currentWorkflowActionProgress == 100"\n >\n <svg viewBox="0 0 52 52">\n <circle\n class="checkmark-circle"\n cx="26"\n cy="26"\n r="25"\n fill="none"\n />\n <path\n class="checkmark-check"\n fill="none"\n d="M14 27l7 7 16-16"\n />\n </svg>\n </div>\n\n <div\n class="loader-text"\n *ngIf="currentWorkflowActionProgress < 100"\n >\n {{ currentWorkflowActionProgress }}%\n </div>\n </div>\n <div class="loader-label">{{ currentWorkflowAction }}...</div>\n </div>\n\n <div\n class="exicution mt-2"\n *ngIf="\n chat?.type === \'ai\' &&\n chat?.graphs &&\n chat?.graphs.length > 0\n "\n >\n <h5 *ngIf="chat?.type === \'ai\'">\n <i class="bx bx-network-chart"></i> Graphs\n <i\n (click)="toggleCollapseFGraph()"\n class="toggle-icon ml-2 fa"\n [ngClass]="{\n \'fas fa-chevron-down\': isCollapsedForFGraph,\n \'fas fa-chevron-up\': !isCollapsedForFGraph,\n }"\n ></i>\n </h5>\n <img\n *ngFor="let image of chat?.graphs"\n class="graph-img"\n [ngClass]="{ collapse: isCollapsedForFGraph }"\n [src]="image"\n alt=""\n />\n </div>\n <ng-container *ngIf="!checkForCop29BotId()">\n <div\n class="exicution mt-2"\n *ngIf="\n chat?.type === \'ai\' &&\n chat?.executionGraphs &&\n chat?.executionGraphs?.length > 0\n "\n >\n <h5 *ngIf="chat?.type === \'ai\'">\n <i class="bx bx-network-chart"></i> Execution Path Diagram\n For Data Visualization Workflow\n <i\n (click)="toggleCollapseGraph()"\n class="toggle-icon ml-2 fa"\n [ngClass]="{\n \'fas fa-chevron-down\': isCollapsedForGraph,\n \'fas fa-chevron-up\': !isCollapsedForGraph,\n }"\n ></i>\n </h5>\n <img\n *ngFor="let image of chat?.executionGraphs"\n class="graph-img"\n [ngClass]="{ collapse: isCollapsedForGraph }"\n [src]="image"\n alt=""\n />\n </div>\n </ng-container>\n <div class="cta" *ngIf="chat?.type === \'ai\' && i > 0 && i === lastAiMessageIndex">\n <div\n class="copyBox"\n title="Copy"\n [ngClass]="\n showFeedBackIconsIndex == i ? \'show-always\' : \'show-hover\'\n "\n >\n <button\n title="{{ chat?.copied ? \'Copied!\' : \'Copy\' }}"\n class="copy"\n [class.active]="chat?.copied"\n (click)="handleCopyClick(i)"\n >\n <i *ngIf="chat?.copied">\n <svg\n width="18"\n height="18"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M9 16.17L4.83 12L3.41 13.41L9 19L21 7L19.59 5.59L9 16.17Z"\n fill="#566563"\n />\n </svg>\n </i>\n\n <i *ngIf="!chat?.copied">\n <svg\n width="18"\n height="18"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M19.24 2H8.84C8.14 2 7.58 2.56 7.58 3.26V16.84C7.58 17.54 8.14 18.1 8.84 18.1H19.24C19.94 18.1 20.5 17.54 20.5 16.84V3.26C20.5 2.56 19.94 2 19.24 2ZM19.24 16.84H8.84V3.26H19.24V16.84ZM4.74 6.52C4.04 6.52 3.48 7.08 3.48 7.78V20.36C3.48 21.06 4.04 21.62 4.74 21.62H15.14C15.84 21.62 16.4 21.06 16.4 20.36V18.88H14.96V20.36H4.74V7.78H6.18V6.52H4.74Z"\n fill="#566563"\n />\n </svg>\n </i>\n </button>\n\n <button\n *ngIf="!checkForCop29BotId()"\n class="up copy"\n title="{{ chat?.isEditor ? \'Added!\' : \'Add to editor\' }}"\n (click)="handleEditorClick(i)"\n >\n <svg\n *ngIf="!chat?.isEditor"\n xmlns="http://www.w3.org/2000/svg"\n width="20.152"\n height="20.152"\n viewBox="0 0 20.152 20.152"\n >\n <g\n id="Icon_feather-edit"\n data-name="Icon feather-edit"\n transform="translate(-2.5 -2.166)"\n >\n <path\n id="Path_166"\n data-name="Path 166"\n d="M11.5,6H4.889A1.889,1.889,0,0,0,3,7.889v13.22A1.889,1.889,0,0,0,4.889,23h13.22A1.889,1.889,0,0,0,20,21.108V14.5"\n transform="translate(0 -1.179)"\n fill="none"\n stroke="#393939"\n stroke-linecap="round"\n stroke-linejoin="round"\n stroke-width="1"\n />\n <path\n id="Path_167"\n data-name="Path 167"\n d="M21.915,3.4a2,2,0,0,1,2.833,2.833l-8.971,8.971L12,16.152l.944-3.777Z"\n transform="translate(-3.334 0)"\n fill="none"\n stroke="#393939"\n stroke-linecap="round"\n stroke-linejoin="round"\n stroke-width="1"\n />\n </g>\n </svg>\n\n <i *ngIf="chat?.isEditor">\n <svg\n width="18"\n height="18"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M9 16.17L4.83 12L3.41 13.41L9 19L21 7L19.59 5.59L9 16.17Z"\n fill="#566563"\n />\n </svg>\n </i>\n </button>\n\n <button\n class="up copy"\n title="Like"\n [class.active]="chat?.liked"\n (click)="handleUpClick(i)"\n >\n <i *ngIf="chat?.liked">\n <svg\n width="18"\n height="18"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M8.38989 18.4902V8.33022C8.38989 7.93022 8.50989 7.54022 8.72989 7.21022L11.4599 3.15022C11.8899 2.50022 12.9599 2.04022 13.8699 2.38022C14.8499 2.71022 15.4999 3.81022 15.2899 4.79022L14.7699 8.06022C14.7299 8.36022 14.8099 8.63022 14.9799 8.84022C15.1499 9.03022 15.3999 9.15022 15.6699 9.15022H19.7799C20.5699 9.15022 21.2499 9.47022 21.6499 10.0302C22.0299 10.5702 22.0999 11.2702 21.8499 11.9802L19.3899 19.4702C19.0799 20.7102 17.7299 21.7202 16.3899 21.7202H12.4899C11.8199 21.7202 10.8799 21.4902 10.4499 21.0602L9.16989 20.0702C8.67989 19.7002 8.38989 19.1102 8.38989 18.4902Z"\n fill="#17235B"\n />\n <path\n d="M5.21 6.37988H4.18C2.63 6.37988 2 6.97988 2 8.45988V18.5199C2 19.9999 2.63 20.5999 4.18 20.5999H5.21C6.76 20.5999 7.39 19.9999 7.39 18.5199V8.45988C7.39 6.97988 6.76 6.37988 5.21 6.37988Z"\n fill="#17235B"\n />\n </svg>\n </i>\n <i *ngIf="!chat?.liked">\n <svg\n width="18"\n height="18"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M10.4037 20.9264L10.381 20.9038L10.3557 20.8843L7.72165 18.85L8.02965 18.4516L10.7161 20.5315C10.9228 20.7195 11.2181 20.8517 11.4962 20.9377C11.7978 21.0309 12.1451 21.09 12.4801 21.09H16.2801C16.8572 21.09 17.4266 20.8625 17.8751 20.5306C18.3159 20.2044 18.6912 19.7385 18.8305 19.1997L21.2428 11.8732C21.4379 11.3309 21.4287 10.749 21.0965 10.2887C20.7583 9.81377 20.1844 9.58999 19.5801 9.58999H15.5801C15.2031 9.58999 14.8615 9.43143 14.6276 9.16215L14.627 9.16142C14.3873 8.88649 14.2756 8.51549 14.3345 8.11501L14.8322 4.9195C14.9978 4.1052 14.4664 3.24596 13.7053 2.98804C13.3277 2.85165 12.9297 2.89129 12.61 2.99839C12.2949 3.10396 11.9772 3.30172 11.7881 3.57673L11.7881 3.57671L11.7851 3.58107L7.96352 9.26689L7.55454 8.99314L11.3751 3.30891L11.3755 3.30836C11.8763 2.56103 13.0109 2.19028 13.8726 2.51744L13.8834 2.52151L13.8943 2.52509C14.9044 2.8564 15.556 3.98765 15.3317 5.01314L15.3284 5.02805L15.326 5.04314L14.836 8.19314L14.836 8.19313L14.8351 8.19928C14.8184 8.31642 14.7981 8.60268 15.0138 8.84924L15.0248 8.86177L15.0366 8.87354C15.1833 9.02026 15.3817 9.09999 15.5901 9.09999H19.5901C20.4308 9.09999 21.1176 9.44886 21.5113 10.0079L21.5124 10.0095C21.8964 10.5502 21.9908 11.2849 21.7202 12.0291L21.7175 12.0365L21.7151 12.044L19.3251 19.324L19.3198 19.34L19.3156 19.3564C19.0058 20.5707 17.6766 21.6 16.2801 21.6H12.4801C12.2411 21.6 11.8403 21.5625 11.4297 21.4512C11.0123 21.338 10.6406 21.1633 10.4037 20.9264Z"\n fill="#566563"\n stroke="#566563"\n />\n <path\n d="M5.37988 20.4999H4.37988C3.52442 20.4999 2.98559 20.2982 2.65822 19.9825C2.33437 19.6702 2.12988 19.1614 2.12988 18.3499V8.5499C2.12988 7.73843 2.33437 7.22962 2.65822 6.91731C2.98559 6.6016 3.52442 6.3999 4.37988 6.3999H5.37988C6.23534 6.3999 6.77418 6.6016 7.10155 6.91731C7.4254 7.22962 7.62988 7.73843 7.62988 8.5499V18.3499C7.62988 19.1614 7.4254 19.6702 7.10155 19.9825C6.77418 20.2982 6.23534 20.4999 5.37988 20.4999ZM4.37988 6.8999C4.0934 6.8999 3.83578 6.9164 3.61382 6.96689C3.38745 7.01838 3.16822 7.11196 2.99258 7.2876C2.81559 7.46459 2.72807 7.67966 2.68301 7.89002C2.63948 8.09318 2.62988 8.31967 2.62988 8.5499V18.3499C2.62988 18.5801 2.63948 18.8066 2.68301 19.0098C2.72807 19.2201 2.81559 19.4352 2.99258 19.6122C3.16822 19.7878 3.38745 19.8814 3.61382 19.9329C3.83578 19.9834 4.0934 19.9999 4.37988 19.9999H5.37988C5.66637 19.9999 5.92398 19.9834 6.14595 19.9329C6.37232 19.8814 6.59155 19.7878 6.76719 19.6122C6.94418 19.4352 7.0317 19.2201 7.07676 19.0098C7.12028 18.8066 7.12988 18.5801 7.12988 18.3499V8.5499C7.12988 8.31967 7.12028 8.09318 7.07676 7.89002C7.0317 7.67966 6.94418 7.46459 6.76719 7.2876C6.59155 7.11196 6.37232 7.01838 6.14595 6.96689C5.92398 6.9164 5.66637 6.8999 5.37988 6.8999H4.37988Z"\n fill="#566563"\n stroke="#566563"\n />\n </svg>\n </i>\n </button>\n <button\n class="down copy"\n title="Dislike"\n [class.active]="chat?.unliked"\n (click)="handleDownClick(i)"\n >\n <i *ngIf="chat?.unliked">\n <svg\n width="18"\n height="18"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M15.61 5.50002V15.66C15.61 16.06 15.49 16.45 15.27 16.78L12.54 20.84C12.11 21.49 11.04 21.95 10.13 21.61C9.15002 21.28 8.50002 20.18 8.71002 19.2L9.23002 15.93C9.27002 15.63 9.19002 15.36 9.02002 15.15C8.85002 14.96 8.60002 14.84 8.33002 14.84H4.22002C3.43002 14.84 2.75002 14.52 2.35002 13.96C1.97002 13.42 1.90002 12.72 2.15002 12.01L4.61002 4.52002C4.92002 3.28002 6.27002 2.27002 7.61002 2.27002H11.51C12.18 2.27002 13.12 2.50002 13.55 2.93002L14.83 3.92002C15.32 4.30002 15.61 4.88002 15.61 5.50002Z"\n fill="#17235B"\n />\n\n <path\n d="M18.7901 17.6099H19.8201C21.3701 17.6099 22.0001 17.0099 22.0001 15.5299V5.4799C22.0001 3.9999 21.3701 3.3999 19.8201 3.3999H18.7901C17.2401 3.3999 16.6101 3.9999 16.6101 5.4799V15.5399C16.6101 17.0099 17.2401 17.6099 18.7901 17.6099Z"\n fill="#17235B"\n />\n </svg>\n </i>\n\n <i *ngIf="!chat?.unliked">\n <svg\n width="18"\n height="18"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M10.1237 21.481L10.1148 21.4778L10.1059 21.4748C9.09577 21.1435 8.44416 20.0122 8.66849 18.9867L8.67175 18.9718L8.6741 18.9568L9.1641 15.8068L9.16413 15.8068L9.16501 15.8006C9.18175 15.6835 9.20207 15.3972 8.98633 15.1507L8.97536 15.1381L8.96359 15.1263C8.81687 14.9796 8.61841 14.8999 8.41004 14.8999H4.41004C3.56937 14.8999 2.88252 14.551 2.48884 13.992L2.4877 13.9904C2.10371 13.4497 2.00931 12.715 2.27994 11.9708L2.28263 11.9634L2.28509 11.9559L4.67509 4.67586L4.68035 4.65985L4.68451 4.64353C4.99418 3.42996 6.33271 2.3999 7.72004 2.3999H11.52C11.7591 2.3999 12.1599 2.43736 12.5704 2.54872C12.9878 2.66194 13.3596 2.83655 13.5965 3.07346L13.6191 3.09608L13.6444 3.11563L16.2785 5.14986L15.9705 5.54825L13.2875 3.47111C13.0799 3.2763 12.7837 3.1413 12.5061 3.05412C12.2031 2.95897 11.8551 2.8999 11.52 2.8999H7.72004C7.1429 2.8999 6.57353 3.12735 6.12508 3.45926C5.68428 3.78551 5.30892 4.25142 5.16963 4.79019L2.75738 12.1167C2.56223 12.659 2.57147 13.2409 2.90366 13.7012C3.24183 14.1761 3.81578 14.3999 4.42004 14.3999H8.42004C8.79702 14.3999 9.13867 14.5585 9.37252 14.8277L9.37315 14.8285C9.61286 15.1034 9.72457 15.4745 9.66568 15.875C9.6656 15.8755 9.66552 15.8761 9.66544 15.8766L9.16795 19.0704C9.00242 19.8841 9.53299 20.7428 10.2933 21.0013C10.6685 21.1391 11.0675 21.0978 11.3857 20.9917C11.7001 20.8869 12.0218 20.6898 12.2121 20.4132L12.2121 20.4132L12.215 20.4088L16.0351 14.7253L16.4472 15.0045L12.6251 20.691L12.6249 20.6912C12.259 21.2361 11.5347 21.5999 10.8 21.5999C10.5668 21.5999 10.3358 21.5596 10.1237 21.481Z"\n fill="#566563"\n stroke="#566563"\n />\n <path\n d="M19.6201 17.6H18.6201C17.7647 17.6 17.2258 17.3983 16.8985 17.0826C16.5746 16.7703 16.3701 16.2615 16.3701 15.45V5.65C16.3701 4.83853 16.5746 4.32972 16.8985 4.0174C17.2258 3.7017 17.7647 3.5 18.6201 3.5H19.6201C20.4756 3.5 21.0144 3.7017 21.3418 4.0174C21.6656 4.32972 21.8701 4.83853 21.8701 5.65V15.45C21.8701 16.2615 21.6656 16.7703 21.3418 17.0826C21.0144 17.3983 20.4756 17.6 19.6201 17.6ZM18.6201 4C18.3336 4 18.076 4.01649 17.8541 4.06699C17.6277 4.11848 17.4085 4.21206 17.2328 4.3877C17.0558 4.56469 16.9683 4.77976 16.9232 4.99011C16.8797 5.19328 16.8701 5.41977 16.8701 5.65V15.45C16.8701 15.6802 16.8797 15.9067 16.9232 16.1099C16.9683 16.3202 17.0558 16.5353 17.2328 16.7123C17.4085 16.8879 17.6277 16.9815 17.8541 17.033C18.076 17.0835 18.3336 17.1 18.6201 17.1H19.6201C19.9066 17.1 20.1642 17.0835 20.3862 17.033C20.6126 16.9815 20.8318 16.8879 21.0074 16.7123C21.1844 16.5353 21.2719 16.3202 21.317 16.1099C21.3605 15.9067 21.3701 15.6802 21.3701 15.45V5.65C21.3701 5.41977 21.3605 5.19328 21.317 4.99011C21.2719 4.77976 21.1844 4.56469 21.0074 4.3877C20.8318 4.21206 20.6126 4.11848 20.3862 4.06699C20.1642 4.01649 19.9066 4 19.6201 4H18.6201Z"\n fill="#566563"\n stroke="#566563"\n />\n </svg>\n </i>\n </button>\n </div>\n </div>\n <div\n class="Related mt-2"\n *ngIf="\n showFeedBackIconsIndex === i &&\n !isChatingWithAi &&\n chat?.relatedListItems &&\n chat?.relatedListItems.length > 0\n "\n >\n <h5 *ngIf="chat?.type === \'ai\'">\n <i class="bx bx-list-check"></i> Related\n </h5>\n <div class="card-container" *ngIf="chat?.type === \'ai\'">\n <ul class="list-container">\n <ng-container *ngFor="let item of chat?.relatedListItems">\n <li (click)="fetchDataFor(item, chat)">{{ item }}</li>\n </ng-container>\n </ul>\n </div>\n </div>\n </div>\n </div>\n\n <div\n class="cta-faqs quick-prompts-extended"\n *ngIf="i == 0 && quickPrompts?.length"\n >\n \x3c!-- <div *ngFor="let tile of quickPrompts" class="cta"\n (click)="sendMessageWithTile(tile.prompt)">\n Q: {{ tile.text }}\n </div> --\x3e\n <div class="cta_suggestions">\n <button\n *ngFor="let tile of quickPrompts"\n (click)="sendMessageWithTile(tile.prompt)"\n >\n <ng-container *ngIf="tile">{{ tile.text }}</ng-container>\n </button>\n </div>\n </div>\n <div class="chat bot" *ngIf="i == 0 && botSkills">\n <div class="chat-box">\n <div class="message">\n <div class="time-cta">\n <div class="Icon_TimeSTamp">\n <div class="chat-avatar">\n <img\n *ngIf="displayAvatarUrl || botIcon"\n [src]="displayAvatarUrl || botIcon"\n alt="Assistant"\n class="chat-avatar-img"\n />\n <span\n *ngIf="!(displayAvatarUrl || botIcon)"\n class="chat-avatar-initials chat-avatar-initials-assistant"\n >A</span\n >\n </div>\n <div\n class="dateTime"\n [style.color]="dateTimeColor ? \'\' : \'\'"\n >\n <span>{{ getTranslation("Assistant") }}</span>\n {{ chat?.time }}\n </div>\n </div>\n </div>\n <div\n class="chat-bubble-wrap"\n [ngStyle]="{ background: bgBubbleAi || \'#fff\' }"\n >\n <div class="chat-bubble-content">\n <div\n class="SearchTitle ai"\n [innerHTML]="processMessageForDisplay(botSkills)"\n ></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf="chat?.suggestions?.length">\n <h4 class="labelChat">\n Here are some things EventsGPT Copilot can help you do:\n </h4>\n <div class="cta_suggestions">\n <button\n *ngFor="let suggestion of chat?.suggestions"\n (click)="sendMessageWithTile(suggestion)"\n >\n <ng-container *ngIf="suggestion">{{\n suggestion\n }}</ng-container>\n </button>\n </div>\n </div>\n <div\n *ngIf="\n chat?.action?.section_id == \'company_search\' ||\n chat?.action?.section_id == \'user_search\' ||\n chat?.action?.section_id == \'industry_company_search\'\n "\n >\n <div class="box">\n <div class="tiktokwrapper">\n <div\n class="tiktokshell"\n *ngFor="let user of chat?.action.users"\n >\n <div class="videoPhotobox">\n <ng-conatiner\n *ngIf="user?.photoPath && !user.userVideosModel"\n >\n <img [src]="user?.photoPath" />\n </ng-conatiner>\n <ng-conatiner *ngIf="user.userVideosModel">\n <app-video-player\n *ngIf="user?.userVideosModel"\n [isDev]="isDev"\n [currentUserId]="userId"\n [videoObj]="user?.userVideosModel"\n [user]="user"\n [eventId]="eventId"\n type="1"\n >\n </app-video-player>\n </ng-conatiner>\n </div>\n\n <div\n class="noPhoto"\n *ngIf="!user?.photoPath && !user.userVideosModel"\n >\n <h3>\n {{ user.firstName | slice: 0 : 1\n }}{{ user.lastName | slice: 0 : 1 }}\n </h3>\n </div>\n <div class="overlymask" *ngIf="!user.userVideosModel"></div>\n <div class="onshell-content">\n <div class="title-shell">\n <h3>{{ user.firstName }} {{ user.lastName }}</h3>\n <h3 class="companyName">{{ user.company }}</h3>\n </div>\n <div class="button-shell">\n <button\n class="Connectbtn"\n (click)="connectToUser(user.userId)"\n >\n {{\n canConnect(user.userId)\n ? "Connect"\n : canDisconnect(user.userId)\n ? "Disconnect"\n : "Request\n Sent"\n }}\n </button>\n <button\n class="schedulebtn"\n (click)="scheduleMeetingWithUser(user)"\n >\n Schedule\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf="chat?.action?.section_id == myUpcomingSessionAction">\n <div class="agenda-items-wrapper" class="agenda-items-wrapper">\n <div class="list-view">\n <div\n class="session-detail-wrapper card-background-session"\n *ngFor="let upcomingSession of chat?.action.content"\n >\n <div class="thumbnail">\n <img\n alt="Introduction to the Imaging Radar Academy"\n src="https://s27media.azureedge.net/8008/profile_pic/453cea2c-feba-11ed-8c0b-00155d025b0a.png"\n class=""\n />\n \x3c!----\x3e\n \x3c!----\x3e\n \x3c!----\x3e<button\n class="play-btn color-primary"\n title="Watch: Introduction to the Imaging Radar Academy"\n >\n <span class="material-icons notranslate">\n play_circle_outline\n </span>\n \x3c!----\x3e\n </button>\n \x3c!----\x3e\n \x3c!----\x3e\n </div>\n \x3c!----\x3e\n \x3c!----\x3e\n <div class="content p-3">\n <div\n class="d-flex justify-content-between align-items-center"\n >\n <div class="d-flex flex-column">\n <p class="fs-xs mb-0 body-text-color">\n {{\n upcomingSession.dateTimeRange.start\n | date\n : "MM-dd-yyyy\n HH:mm"\n : "UTC"\n }}\n -\n {{\n upcomingSession.dateTimeRange.end\n | date: "MM-dd-yyyy HH:mm" : "UTC"\n }}\n {{ upcomingSession.timeZone.id }}\n </p>\n \x3c!----\x3e\n \x3c!----\x3e\n \x3c!-- <p class="fs-xs mb-2 color-secondary" title="Session Type: Generative AI">Generative AI </p> --\x3e\n \x3c!----\x3e\n </div>\n <div class="d-flex align-items-center actions px-2">\n \x3c!----\x3e\n <button\n (click)="\n performSessionAction(\n upcomingSession.id,\n \'view-session\'\n )\n "\n class="s27-btn-icon body-text-color"\n title="View Session Information: Introduction to the Imaging Radar Academy"\n >\n <span class="material-icons notranslate">\n remove_red_eye\n </span>\n </button>\n\n <button\n (click)="\n performSessionAction(\n upcomingSession.id,\n \'add-to-agenda\'\n )\n "\n class="s27-btn-icon body-text-color"\n >\n <span\n class="material-icons notranslate"\n title="Add Session: Introduction to the Imaging Radar Academy to My agendaa"\n >\n event_available\n </span>\n </button>\n \x3c!----\x3e\n \x3c!----\x3e\n \x3c!----\x3e\n \x3c!----\x3e\n\n <button\n (click)="\n performSessionAction(upcomingSession.id, \'play\')\n "\n class="s27-btn-icon body-text-color"\n title="Copy session link to share"\n >\n <span class="material-icons notranslate">\n play_circle_outline\n </span>\n </button>\n \x3c!----\x3e\n </div>\n </div>\n <h2 class="body-text-color">\n {{ upcomingSession.title }}\n </h2>\n <div\n class="session-description color-secondary"\n [innerHTML]="sanitizeHtml(upcomingSession.description)"\n ></div>\n <ul\n class="speakers grid-2-cols"\n *ngFor="let speakerId of upcomingSession.speakers"\n >\n <li class="">\n <div class="image" title="Blair Wunderlich">\n <img\n alt="Blair Wunderlich"\n [src]="speakers[speakerId]?.photoPath"\n class=""\n />\n \x3c!----\x3e\n \x3c!----\x3e\n \x3c!----\x3e\n </div>\n \x3c!----\x3e\n <div\n class="content pl-3"\n style="text-transform: none"\n >\n <div class="mb-0 body-text-color fs-xs fw-500">\n {{ speakers[speakerId]?.firstName }}\n {{ speakers[speakerId]?.lastName }}\n </div>\n <div class="color-secondary fs-xxs">\n {{ speakers[speakerId]?.jobTitle }}\n </div>\n <div class="color-secondary fs-xxs">\n {{ speakers[speakerId]?.company }}\n </div>\n </div>\n \x3c!----\x3e\n </li>\n </ul>\n \x3c!----\x3e\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n \x3c!-- Initial load: loading dots when fetching chat history (no "Thinking") --\x3e\n <div class="chat bot chat-thinking chat-loading-dots" *ngIf="loading && !isChatingWithAi">\n <div class="chat-box">\n <div class="message">\n <div class="time-cta">\n <div class="Icon_TimeSTamp">\n <div class="chat-avatar">\n <img *ngIf="displayAvatarUrl || botIcon" [src]="displayAvatarUrl || botIcon" alt="Assistant" class="chat-avatar-img" />\n <span *ngIf="!(displayAvatarUrl || botIcon)" class="chat-avatar-initials chat-avatar-initials-assistant">A</span>\n </div>\n <div class="dateTime" [style.color]="dateTimeColor ? \'\' : \'\'">\n <span>{{ getTranslation("Assistant") }}</span>\n {{ getLoadingTime() }}\n </div>\n </div>\n </div>\n <div class="thinking-row">\n <div class="thinking-dots">\n <span class="thinking-dot"></span>\n <span class="thinking-dot"></span>\n <span class="thinking-dot"></span>\n </div>\n <span class="thinking-text">{{ getTranslation("Loading") || "Loading" }}...</span>\n </div>\n </div>\n </div>\n </div>\n \x3c!-- Thinking: only when user has sent a message and AI is responding --\x3e\n <div class="chat bot chat-thinking" *ngIf="isChatingWithAi && !executingWorkflow">\n <div class="chat-box">\n <div class="message">\n <div class="time-cta">\n <div class="Icon_TimeSTamp">\n <div class="chat-avatar">\n <img *ngIf="displayAvatarUrl || botIcon" [src]="displayAvatarUrl || botIcon" alt="Assistant" class="chat-avatar-img" />\n <span *ngIf="!(displayAvatarUrl || botIcon)" class="chat-avatar-initials chat-avatar-initials-assistant">A</span>\n </div>\n <div class="dateTime" [style.color]="dateTimeColor ? \'\' : \'\'">\n <span>{{ getTranslation("Assistant") }}</span>\n {{ getLoadingTime() }}\n </div>\n </div>\n </div>\n <div class="thinking-row">\n <div class="thinking-dots">\n <span class="thinking-dot"></span>\n <span class="thinking-dot"></span>\n <span class="thinking-dot"></span>\n </div>\n <span class="thinking-text">{{ getTranslation("Thinking") || "Thinking" }}...</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n \x3c!-- <div #chatMain></div> --\x3e\n <div\n *ngIf="openWorkflowInput && selectedWorkflow && !executingWorkflow"\n class="chatFooterWrapper"\n >\n \x3c!-- new UI for Chat Message Section by Amit --\x3e\n <div class="chat-footer-upt">\n <div class="topinfo-containerbox">\n <div class="agents_note_wrapper">\n <div>\n <h6>{{ selectedWorkflow?.Name }}</h6>\n {{ selectedWorkflow?.Description }}\n </div>\n </div>\n\n <div class="agents_note_wrapper">\n <button\n mat-icon-button\n class="closeButtonSource"\n (click)="toggleWorkflows(false)"\n >\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </div>\n <div class="bottombox-wrapper">\n \x3c!-- here i need to loop through all the input fields selectedWorkflow.Trigger.InputSchema and render the input fields --\x3e\n \x3c!-- Form for Workflow Inputs --\x3e\n <form\n [formGroup]="workflowForm"\n (ngSubmit)="onWorkflowSubmit()"\n class="form-container"\n >\n <div\n *ngFor="let input of selectedWorkflow?.Trigger?.InputSchema"\n class="form-group"\n >\n <label>{{ input.Label }}</label>\n\n \x3c!-- Handle Text Input or Text Area based on requirement --\x3e\n <textarea\n *ngIf="input.Type === \'string\'"\n formControlName="{{ input.InputId }}"\n [placeholder]="input.Placeholder"\n [rows]="2"\n [required]="input.Required"\n class="form-control"\n ></textarea>\n\n \x3c!-- Dropdown for Select Options --\x3e\n <select\n *ngIf="input.Type === \'select\'"\n formControlName="{{ input.InputId }}"\n class="form-control"\n >\n <option\n *ngFor="let option of input.Options"\n [value]="option.Value"\n >\n {{ option.Label }}\n </option>\n </select>\n </div>\n\n \x3c!-- Submit button aligned to the right --\x3e\n <div class="form-group">\n <button type="submit" class="btn btn-primary submit-button">\n Submit\n </button>\n </div>\n </form>\n </div>\n </div>\n\n \x3c!-- new UI for Chat Message Section by Amit --\x3e\n </div>\n <div *ngIf="!openWorkflowInput" class="chatFooterWrapper">\n \x3c!-- new UI for Chat Message Section by Amit --\x3e\n <div class="chat-footer-upt">\n <div class="topinfo-containerbox" *ngIf="!checkForCop29BotId()">\n <div class="agents_note_wrapper">\n <div class="agents-dropdown-wrapper">\n <div class="dropdown-wrapper" (click)="toggleDropdown()">\n <div class="dropdown-header">\n <span>{{ getDropdownHeaderText() }}</span>\n <svg\n xmlns="http://www.w3.org/2000/svg"\n width="24"\n height="24"\n fill="none"\n stroke="currentColor"\n stroke-width="2"\n viewBox="0 0 24 24"\n >\n <path d="M19 9l-7 7-7-7" />\n </svg>\n </div>\n <div class="dropdown-menu" *ngIf="isDropdownOpen">\n <label (click)="onSelectAll()">\n <input type="checkbox" [checked]="areAllSelected()" />\n All\n </label>\n <label\n *ngFor="let agent of agents"\n (click)="onAgentChange(agent)"\n >\n <input type="checkbox" [(ngModel)]="agent.selected" />\n {{ agent.agentName }}\n </label>\n </div>\n </div>\n </div>\n </div>\n\n <div class="agents_note_wrapper">\n <div class="agents-dropdown-wrapper">\n <div class="dropdown-wrapper" (click)="toggleWorkflows()">\n <div class="dropdown-header">\n <svg\n stroke="currentColor"\n fill="currentColor"\n stroke-width="0"\n viewBox="0 0 256 256"\n class="h-5 w-5"\n height="1.3em"\n width="1.3em"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M245.66,74.34l-32-32a8,8,0,0,0-11.32,11.32L220.69,72H192a74.49,74.49,0,0,0-28.35,6.73c-13.62,6.29-30.83,19.71-35.54,48-5.32,31.94-29.1,39.22-41,40.86a40,40,0,1,0,.18,16.06A71.65,71.65,0,0,0,108.13,178C121.75,172,139,158.6,143.89,129.31,150.65,88.77,190.34,88,192,88h28.69l-18.35,18.34a8,8,0,0,0,11.32,11.32l32-32A8,8,0,0,0,245.66,74.34ZM48,200a24,24,0,1,1,24-24A24,24,0,0,1,48,200Z"\n ></path></svg\n >&nbsp; Workflows\n </div>\n <div class="dropdown-menu" *ngIf="isWorkflowOpen">\n <label\n *ngFor="let orgWorkflow of orgWorkflows"\n (click)="onWorkflowSelected(orgWorkflow)"\n >\n {{ orgWorkflow.Name }}\n </label>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class="bottombox-wrapper">\n \x3c!-- <input [disabled]="isChatingWithAi" type="text" class="form-control-1 s27-scroll"\n \n placeholder="Ask anything..." [style.background]="formFieldBgColor ? formFieldBgColor : \'\'"\n [style.color]="formFieldTextColor ? formFieldTextColor : \'\'" [(ngModel)]="input"\n (keyup.enter)="handleSubmit()" #myInput /> --\x3e\n <textarea\n [disabled]="isChatingWithAi"\n class="form-control-1 s27-scroll chat-textarea"\n placeholder="{{ getTranslation(\'Ask anything\') }}"\n [(ngModel)]="input"\n (keydown)="handleKeydown($event)"\n (input)="adjustTextareaHeight($event)"\n #myInput\n ></textarea>\n\n <button\n (click)="toggleRecording()"\n [disabled]="isChatingWithAi"\n title="{{ isRecording ? \'Stop Recording\' : \'Start Recording\' }}"\n class="btn cta-chat mr-1 vj-test"\n >\n <svg\n *ngIf="!isRecording"\n stroke="currentColor"\n fill="currentColor"\n stroke-width="0"\n viewBox="0 0 512 512"\n height="1em"\n width="1em"\n xmlns="http://www.w3.org/2000/svg"\n >\n \x3c!-- Mic Icon --\x3e\n <path\n d="M256 320c53 0 96-43 96-96V96c0-53-43-96-96-96s-96 43-96 96v128c0 53 43 96 96 96zm144-96h-16c0 66.27-52.73 120-120 120s-120-53.73-120-120h-16c-17.67 0-32 14.33-32 32v32c0 53.87 38.13 100.64 91.21 112.27C210.13 457.77 231.58 464 256 464s45.87-6.23 65.79-17.73C374.87 388.64 416 341.87 416 288v-32c0-17.67-14.33-32-32-32z"\n ></path>\n </svg>\n <svg\n *ngIf="isRecording"\n stroke="currentColor"\n fill="currentColor"\n stroke-width="0"\n viewBox="0 0 24 24"\n height="1em"\n width="1em"\n xmlns="http://www.w3.org/2000/svg"\n >\n \x3c!-- Square Stop Icon --\x3e\n <path d="M5 5h14v14H5z"></path>\n </svg>\n </button>\n\n <button\n class="btn cta-chat rotate"\n (click)="handleSubmit()"\n [style.background]="sendButtonColor ? sendButtonColor : \'\'"\n [style.color]="sendButtonTextColor ? sendButtonTextColor : \'\'"\n title="{{ getTranslation(\'Send Message\') }}"\n style="margin-right: 1px"\n >\n <svg\n stroke="currentColor"\n fill="currentColor"\n stroke-width="0"\n viewBox="0 0 512 512"\n height="1em"\n width="1em"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M476.59 227.05l-.16-.07L49.35 49.84A23.56 23.56 0 0027.14 52 24.65 24.65 0 0016 72.59v113.29a24 24 0 0019.52 23.57l232.93 43.07a4 4 0 010 7.86L35.53 303.45A24 24 0 0016 327v113.31A23.57 23.57 0 0026.59 460a23.94 23.94 0 0013.22 4 24.55 24.55 0 009.52-1.93L476.4 285.94l.19-.09a32 32 0 000-58.8z"\n ></path>\n </svg>\n \x3c!-- SEND --\x3e\n </button>\n\n <button\n class="btn cta-chat mr-1 voice-btn"\n (click)="openVoiceModal()"\n type="button"\n title="Voice Agent"\n [style.background]="sendButtonColor ? sendButtonColor : \'\'"\n [style.color]="sendButtonTextColor ? sendButtonTextColor : \'\'"\n >\n <svg\n class="voice-btn-icon"\n xmlns="http://www.w3.org/2000/svg"\n width="18"\n height="18"\n viewBox="0 0 24 24"\n fill="none"\n stroke="currentColor"\n stroke-width="2"\n stroke-linecap="round"\n stroke-linejoin="round"\n >\n <path\n d="M2 13a2 2 0 0 0 2-2V7a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0V4a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0v-4a2 2 0 0 1 2-2"\n ></path>\n </svg>\n <span class="voice-btn-text">Voice</span>\n </button>\n </div>\n </div>\n\n \x3c!-- new UI for Chat Message Section by Amit --\x3e\n </div>\n\n <div class="NoteTxt">\n <div class="note">\n <svg\n xmlns="http://www.w3.org/2000/svg"\n width="12.882"\n height="12.883"\n viewBox="0 0 12.882 12.883"\n >\n <path\n id="Icon_ion-shield-checkmark"\n data-name="Icon ion-shield-checkmark"\n d="M15.106,4.532a.46.46,0,0,0-.378-.424A20.132,20.132,0,0,1,8.881,2.291a.46.46,0,0,0-.379,0A20.132,20.132,0,0,1,2.655,4.108a.46.46,0,0,0-.378.424A11.3,11.3,0,0,0,2.98,9.4a10.049,10.049,0,0,0,2.06,3.235A10.516,10.516,0,0,0,8.521,15.1a.46.46,0,0,0,.345,0,10.516,10.516,0,0,0,3.481-2.465A10.049,10.049,0,0,0,14.4,9.4,11.3,11.3,0,0,0,15.106,4.532Zm-3.767,2.16L8.153,10.373a.46.46,0,0,1-.328.159H7.806a.46.46,0,0,1-.322-.131L6.069,9.014a.46.46,0,1,1,.644-.657L7.777,9.4,10.644,6.09a.46.46,0,0,1,.7.6Z"\n transform="translate(-2.25 -2.25)"\n fill="#06f"\n />\n </svg>\n\n <span class="text">{{\n getTranslation(\n "Your personal or company information is kept private and secure\n within this chat."\n )\n }}</span>\n </div>\n </div>\n </mat-drawer-content>\n </mat-drawer>\n <mat-drawer\n class="drawer edit-boxDrawer"\n style="width: 45%"\n #sourcesDrawer\n [position]="\'end\'"\n [mode]="\'over\'"\n [style.background]="\n \'linear-gradient(\' + (bgGradient ? bgGradient.join(\', \') : \'\') + \')\'\n "\n >\n <mat-drawer-content>\n <div class="sourceDraweContainer">\n <div class="container-fluid">\n <button\n mat-icon-button\n class="closeButtonSource"\n (click)="onCloseSource()"\n >\n <mat-icon>close</mat-icon>\n </button>\n <h1>{{ currentSourcesList?.length }} Sources</h1>\n \x3c!-- <p>Tell me about latest news from Mistral about AI agents announcement done this month</p> --\x3e\n <hr />\n <ul class="sources-list">\n <li *ngFor="let item of currentSourcesList; let si = index">\n \x3c!-- <input type="checkbox" id="source1"> --\x3e\n <div class="source-content" (click)="openLinkInNewTab(item.link)">\n <label for="source1">\n <span class="source-title"\n ><span class="ml-1">{{ si + 1 }}.</span\n >{{ item.title }}</span\n >\n <span class="image-container">\n <img\n class="relative block"\n [src]="getFaviconUrl(item.link)"\n [alt]="getDomainName(item.link) + \' favicon\'"\n />\n <span> {{ getDomainName(item.link) }}</span>\n </span>\n <span class="source-description">{{ item.desc }}</span>\n </label>\n </div>\n </li>\n </ul>\n </div>\n </div>\n </mat-drawer-content>\n </mat-drawer>\n <mat-drawer\n class="drawer edit-boxDrawer"\n style="width: 45%"\n #editorsDrawer\n [position]="\'end\'"\n [mode]="\'push\'"\n [style.background]="\n \'linear-gradient(\' + (bgGradient ? bgGradient.join(\', \') : \'\') + \')\'\n "\n >\n <mat-drawer-content>\n <lib-bot-html-editor\n *ngIf="isContentLoaded"\n [editorContent]="currentMessageForEditor"\n [isDocInEditMode]="isDocInEditMode"\n [documentContent]="documentContent"\n [conversationId]="conversationId"\n [botId]="botId"\n ></lib-bot-html-editor>\n </mat-drawer-content>\n </mat-drawer>\n</mat-drawer-container>\n\n<div *ngIf="showWorkflowExecutionDetails" class="modal">\n <div class="modal-content">\n <div class="close-wrapper">\n <span class="close_pop" (click)="closeModal()">&times;</span>\n </div>\n <div class="titleSection">\n \x3c!-- Workflow Title --\x3e\n <h2>{{ workflowExecutionDetails.WorkflowName }}</h2>\n \x3c!-- Workflow Title --\x3e\n </div>\n \x3c!-- Inputs Section --\x3e\n <div class="inputs-section">\n <h3>Inputs</h3>\n <ul>\n <li\n *ngFor="let input of objectToArray(workflowExecutionDetails.Inputs)"\n >\n {{ input.key }}: {{ input.value }}\n </li>\n </ul>\n </div>\n\n \x3c!-- Actions Section (Displayed as Timeline) --\x3e\n <div class="actions-section">\n <h3>Agent Actions</h3>\n <div class="timeline">\n <div\n *ngFor="let action of workflowExecutionDetails.Actions"\n class="timeline-item"\n >\n <div class="timestamp-section">\n <h4>{{ action.ActionName || action.Name }}</h4>\n <p><strong></strong> {{ action.InsertTimeStamp }}</p>\n </div>\n <p [innerHTML]="processMessageForDisplay(action.Output)"></p>\n \x3c!-- <pre>{{ action.Output }}</pre> --\x3e\n </div>\n </div>\n </div>\n\n \x3c!-- Insert Timestamp --\x3e\n <div class="timestamp-section">\n <p>\n <strong>Inserted At:</strong>\n {{ workflowExecutionDetails.InsertTimeStamp }}\n </p>\n </div>\n </div>\n</div>\n',changeDetection:o.ChangeDetectionStrategy.OnPush,styles:['@import url("https://e1cdn.social27.com/digitalevents/liteversion/fonts/segoe-ui/stylesheet.css");.bot-sticky-header-chat{background:#fff;border:none!important;border-bottom:1px solid #ddd;box-shadow:2px 0 5px #e1e1e1!important;padding:0 0 10px;padding:10px 15px!important;position:fixed;top:0!important;transition:all 1s;width:100%;z-index:100}@media (max-width:768px){.bot-sticky-header-chat{top:0!important}}#botAllChat{padding:0 20px!important}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb:hover{background:#e5ccbc}body{overflow:hidden}.ios-device .drawer .chat-footer .form-control{font-size:16px}.hivegpt-chat-bot-wrapper{background:transparent!important;height:100%;inset:0;opacity:0;position:fixed;visibility:hidden;z-index:999999}.hivegpt-chat-bot-wrapper.mat-drawer-container-has-open{background:transparent!important;opacity:1;transition:all .3s;visibility:visible;z-index:999999}.hivegpt-chat-bot-wrapper .mat-drawer:not(.mat-drawer-side){box-shadow:none}.hivegpt-chat-bot-wrapper mat-drawer{background-color:#f2f2f2;background-image:none!important;width:100%}.hivegpt-chat-bot-wrapper mat-drawer.full-width-drawer{max-width:100%}.hivegpt-chat-bot-wrapper .mat-drawer-content{display:flex;flex-direction:column}.hivegpt-chat-bot-wrapper .chat-header{padding:16px 40px;width:100%}.hivegpt-chat-bot-wrapper .chat-header h2{font-family:Segoe UI,sans-serif;font-size:36px;font-weight:500;letter-spacing:-.72px;line-height:108%;margin:0;text-transform:uppercase}.hivegpt-chat-bot-wrapper .chat-header .closeIcon{align-items:center;background:transparent;border:none;border-radius:50%;display:inline-flex;font-size:18px;height:35px;justify-content:center;outline:none;padding:0;position:absolute;right:12px;top:16px;width:35px}.hivegpt-chat-bot-wrapper .chat-main{display:flex;flex:1;flex-direction:column;justify-content:space-between;overflow-y:auto;width:100%}.hivegpt-chat-bot-wrapper .chat-main .innerChat{overflow-y:auto;padding-top:72px!important;width:100%}.hivegpt-chat-bot-wrapper .chat-main .ai h3{font-size:1.3rem!important}.hivegpt-chat-bot-wrapper .chat-main .chat-box{width:100%}.hivegpt-chat-bot-wrapper .chat-main .chat-box .message{margin-left:50px;margin-top:10px;min-height:40px;position:relative}@media (max-width:768px){.hivegpt-chat-bot-wrapper .chat-main .chat-box .message{margin-left:0}}.hivegpt-chat-bot-wrapper .chat-main .chat-box .message p{color:#000;color:#525252;font-family:Segoe UI,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:160%;margin:0;text-align:left}.hivegpt-chat-bot-wrapper .chat-main .chat-box .message p a{color:#17235b!important;cursor:pointer!important;font-weight:700;text-decoration:underline}.hivegpt-chat-bot-wrapper .chat-main .chat-box .message .cta{align-items:end;bottom:-7px;display:flow-root;gap:10px;grid-gap:10px;position:relative;right:-10px;z-index:5}.hivegpt-chat-bot-wrapper .chat-main .chat-box .message .cta button{background:transparent;border:none;color:#566563;cursor:pointer;padding:0;transition:all .3s}.hivegpt-chat-bot-wrapper .chat-main .chat-box .message .cta button i{display:inline-block}.hivegpt-chat-bot-wrapper .chat-main .chat-box .message .cta button:hover{color:#17235b}.hivegpt-chat-bot-wrapper .chat-main .chat-box .message .cta button.up:hover i{animation:thumbsUpAnimation .5s ease-in-out;animation-fill-mode:forwards}.hivegpt-chat-bot-wrapper .chat-main .chat-box .message .cta button.down:hover i{animation:thumbsDownAnimation .5s ease-in-out;animation-fill-mode:forwards}.hivegpt-chat-bot-wrapper .chat-main .chat{margin-bottom:20px}.hivegpt-chat-bot-wrapper .chat-main .chat.botAi .chat-box .message{margin-left:0}.hivegpt-chat-bot-wrapper .chat-main .chat.botAi .chat-box .message .chat-bubble-wrap{background:#fff;border-radius:4px 14px 14px 14px;box-sizing:border-box;margin-top:6px;max-width:100%;overflow-wrap:break-word;padding:10px 14px 10px 26px;width:100%;word-break:break-word}.hivegpt-chat-bot-wrapper .chat-main .chat.botAi .chat-box .message .chat-bubble-wrap .chat-bubble-content{margin:0;max-width:100%;overflow-wrap:break-word;padding:0;width:100%;word-break:break-word}.hivegpt-chat-bot-wrapper .chat-main .chat.botAi .chat-box .message .chat-bubble-wrap .chat-bubble-content>div{margin:0;max-width:100%;overflow-wrap:break-word;padding:0;word-break:break-word}.hivegpt-chat-bot-wrapper .chat-main .chat.botAi .chat-box .message .chat-bubble-wrap .chat-bubble-content>div *{max-width:100%}.hivegpt-chat-bot-wrapper .chat-main .chat.botAi .Icon_TimeSTamp{margin:0}.hivegpt-chat-bot-wrapper .chat-main .chat.botUser{color:#fff!important;text-align:right}.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .chat-box{margin-left:auto;margin-right:0;width:-moz-fit-content;width:fit-content}.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .chat-box .message{align-items:flex-end;display:flex;flex-direction:column;margin-left:0;margin-right:0;max-width:100%;padding-right:0;width:-moz-fit-content;width:fit-content}.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .chat-box .message .chat-bubble-wrap{background:#183988;border-radius:14px 4px 14px 14px;color:#fff!important;margin-top:6px;max-width:100%;overflow-wrap:break-word;padding:10px 14px;word-break:break-word}.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .chat-box .message .chat-bubble-wrap .chat-bubble-content,.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .chat-box .message .chat-bubble-wrap .chat-bubble-content>div{max-width:100%;overflow-wrap:break-word;word-break:break-word}.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .chat-box .message .chat-bubble-wrap p,.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .chat-box .message p{color:#fff!important;text-align:left}.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .dateTime{margin-left:0;margin-right:10px;text-align:right}.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .dateTime span{margin-left:0;margin-right:5px}.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .time-cta{justify-content:flex-end}.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .Icon_TimeSTamp{justify-content:flex-end;margin:0}.hivegpt-chat-bot-wrapper .chat-main .chat .Icon_TimeSTamp{align-content:center;align-items:center;display:flex;justify-content:left;margin:0 -60px;width:auto}@media (max-width:768px){.hivegpt-chat-bot-wrapper .chat-main .chat .Icon_TimeSTamp{margin:0}}.hivegpt-chat-bot-wrapper .chat-main .chat .dateTime{color:#333232;font-size:15px;font-style:normal;font-weight:300;line-height:140%}.hivegpt-chat-bot-wrapper .chat-main .chat .dateTime span{color:#000;font-size:15px;font-style:normal;font-weight:500;line-height:140%;margin-left:15px;margin-right:5px}.hivegpt-chat-bot-wrapper .chat-main .chat:last-of-type{margin-bottom:0}.hivegpt-chat-bot-wrapper .chatFooterWrapper{background:#fff;border:2px solid hsla(0,0%,85.5%,.5882352941176471);border-radius:10px;box-shadow:2px 0 5px #e1e1e1;margin:0 15px 15px;margin-top:10px!important;transition:all .5s;width:auto}.hivegpt-chat-bot-wrapper .chatFooterWrapper:hover{border:2px solid hsla(0,0%,72.2%,.5882352941176471);box-shadow:2px 0 4px #ddd}.hivegpt-chat-bot-wrapper .chatFooterWrapper .chat-footer-upt{padding:4px}.hivegpt-chat-bot-wrapper .chatFooterWrapper .note{align-items:center;background:rgba(27,117,187,.050980392156862744);border-radius:15px;color:#000;display:inline-flex;font-size:12px;gap:8px;line-height:1;margin:0 auto 4px;padding:10px 25px}.hivegpt-chat-bot-wrapper .chatFooterWrapper .note a{text-transform:capitalize}.hivegpt-chat-bot-wrapper .chatFooterWrapper .note i{font-size:18px}.hivegpt-chat-bot-wrapper .chatFooterWrapper .note i svg{height:18px;width:18px}.hivegpt-chat-bot-wrapper .chatFooterWrapper .note span{flex:1;gap:4px;line-height:1.3}.hivegpt-chat-bot-wrapper .chat-footer{align-items:center;display:flex;gap:8px;justify-content:space-between;padding:0;position:relative}.hivegpt-chat-bot-wrapper .chat-footer .form-control{background:#fff!important;border:0;line-height:21px;outline:0;padding:10px;position:relative;width:100%}.hivegpt-chat-bot-wrapper .chat-footer .form-control::-moz-placeholder{color:#6c7a78}.hivegpt-chat-bot-wrapper .chat-footer .form-control::placeholder{color:#6c7a78}.hivegpt-chat-bot-wrapper .chat-footer .form-control:focus{border-color:#e5ccbc}.hivegpt-chat-bot-wrapper .chat-footer .cta-footer{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:10px;position:absolute;right:15px;text-align:right}.hivegpt-chat-bot-wrapper .chat-footer .cta-footer .btn{color:#000;font-weight:500;gap:8px;max-width:150px;padding:0}.hivegpt-chat-bot-wrapper .chat-footer .cta-footer .cta-chat{align-items:center;background:transparent!important;border:none;border-radius:0;box-shadow:0 1px 2px 0 rgba(16,24,40,.05);display:inline-flex;font-size:20px;height:auto;justify-content:center;width:auto}.hivegpt-chat-bot-wrapper .chat-footer .cta-footer .cta-chat:hover{opacity:.8}.hivegpt-chat-bot-wrapper .chat-footer .cta-footer .cta-again{background:#17235b;border:1px solid #17235b;color:#fff}.hivegpt-chat-bot-wrapper .cta-faqs{align-items:flex-end;display:flex;flex-direction:column;flex-wrap:wrap;gap:8px;margin-left:auto;max-width:80%;padding:10px 0 0}.hivegpt-chat-bot-wrapper .cta-faqs .cta{background:transparent;border:1px solid #c9a893;border-radius:20px 20px 0 20px;color:#333;cursor:pointer;font-family:Segoe UI,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:160%;margin:0;min-height:44px;padding:12px 20px;text-align:left;text-decoration:none;transition:all .3s;white-space:pre-line}.spinner{align-items:center;display:flex;gap:2px;justify-content:center}.spinner>div{animation:bouncedelay 1.4s ease-in-out infinite;animation-fill-mode:both;background-color:#173330;border-radius:100%;display:inline-block;height:5px;width:5px}.spinner .bounce1{animation-delay:-.32s}.spinner .bounce2{animation-delay:-.16s}@keyframes bouncedelay{0%,80%,to{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}.time-cta{align-items:center;display:flex;gap:8px;justify-content:start;margin-top:5px}@keyframes thumbsUpAnimation{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes thumbsDownAnimation{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@media (max-width:767px){.hivegpt-chat-bot-wrapper .chat-main .innerChat{padding:0 24px 10px}.hivegpt-chat-bot-wrapper .chat-footer{padding:10px 24px}.hivegpt-chat-bot-wrapper .chat-footer .cta-footer .cta-chat{max-width:100%}.hivegpt-chat-bot-wrapper .chat-footer .form-control{height:80px}.hivegpt-chat-bot-wrapper .chat-header .closeIcon{height:28px;right:8px;top:8px;width:28px}.hivegpt-chat-bot-wrapper .chat-header .closeIcon span{font-size:14px}.hivegpt-chat-bot-wrapper .chat-header{padding:10px 24px}.hivegpt-chat-bot-wrapper .chat-header h2{font-size:20px}.cta-faqs{padding:10px 0 0}}.body-overflow-hidden{overflow:hidden}.chat-button{align-items:center;background:#17235b;border:#17235b;border-radius:50%;color:#fff;display:inline-flex;font-size:24px;height:50px;justify-content:center;width:50px}textarea{caret-color:#000}.labelChat{font-size:14px;font-weight:400;margin:0 0 10px}.chatType h4{color:#566563;text-align:center}.chatType ul{align-items:center;background:#fff;border-radius:10px;box-shadow:0 .3px .9px rgba(0,0,0,.12),0 1.6px 3.6px rgba(0,0,0,.16);display:flex;justify-content:center;list-style:none;margin:0 0 20px;padding:4px}.chatType ul li{flex:1}.chatType ul li button{align-items:center;background:#fff;border:none;border-radius:10px;font-weight:600;min-height:48px;padding:.375rem;text-align:center;text-shadow:1px 0 rgba(0,0,0,.2);width:100%}.chatType ul li button.active{background:linear-gradient(96deg,#761c79 -10.61%,#761c79 84.59%);box-shadow:0 1px 2px 0 rgba(16,24,40,.05);color:#fff}.cta_suggestions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:20px}.cta_suggestions button{background:#fff;border:1px solid #174ae4;border-radius:10px;box-shadow:0 1.6px 3.6px 0 rgba(0,0,0,.13),0 .3px .9px 0 rgba(0,0,0,.1);color:#1543cd;font-size:14px;font-weight:600;line-height:1.2;padding:8px 12px;position:relative;text-align:left;transition:all .3s}.cta_suggestions button:hover{background:#eff3ff}.balanced .chat-footer .cta-footer .cta-chat,.balanced .chat-main .chat.botUser .chat-box .message,.balanced .chatType ul li button.active{color:#000}.balanced .chat-main .innerChat .title p span{color:#06f}.balanced mat-drawer{background-image:linear-gradient(180deg,rgba(88,190,251,.05) 60%,rgba(0,102,255,.2) 96.27%)}.balanced .cta_suggestions button:hover{border:1px solid #06f}.precise .chat-footer .cta-footer .cta-chat,.precise .chat-main .chat.botUser .chat-box .message{background:linear-gradient(96deg,#69ca6d -10.61%,#4caf50 84.59%)}.precise .chatType ul li button.active{background:linear-gradient(96deg,#4caf50 -10.61%,#4caf50 84.59%);color:#fff}.precise .chat-main .innerChat .title p span{color:#4caf50}.precise mat-drawer{background-image:linear-gradient(180deg,rgba(76,175,80,.05) 60%,rgba(76,175,80,.3) 96.27%)}.precise .cta_suggestions button:hover{border:1px solid #4caf50}.title{margin-bottom:20px}.title h2{font-size:22px;margin:0}.title h2 span{align-items:center;color:#000;display:inline-flex;gap:10px}.title h2 i{color:#000;font-size:30px;line-height:1}.title h2 i svg{height:30px;width:30px}.title p{font-weight:600;margin:0}.title p span{color:#000}.agenda-items-wrapper{padding-bottom:15px;padding-top:15px}@media (max-width:576px){.list-view .session-detail-wrapper{border:none;flex-direction:column}}.card-background-session{background:#fff;border-radius:8px}.card-background-session .body-text-color{color:#111!important}.card-background-session h2{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;font-size:20px;line-clamp:1;margin-bottom:8px;overflow:hidden}.card-background-session .session-description{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#111!important;display:-webkit-box;font-size:14px;line-clamp:2;overflow:hidden}.card-background-session .color-secondary{color:#111!important}.card-background-session p{font-size:14px}.list-view .session-detail-wrapper .s27-btn-icon{background:transparent;border:transparent}.list-view .session-detail-wrapper{border-left:3px solid transparent;display:flex;margin-bottom:16px}.thumbnail{align-items:center;display:flex;height:160px;justify-content:center;min-width:160px;position:relative;width:160px}.thumbnail img{-o-object-fit:cover;height:100%;object-fit:cover;width:100%}@media (max-width:576px){.thumbnail{height:160px;min-height:unset;width:100%}}.thumbnail .play-btn{align-items:center;background-color:transparent;border:0;bottom:0;display:flex;font-size:60px;justify-content:center;left:0;position:absolute;right:0;top:0;width:100%}.thumbnail .play-btn span{font-size:80px;text-shadow:0 0 14px rgba(74,74,74,.45)}.content{flex-grow:1}.actions{background-color:transparent!important}.speakers{margin-bottom:0;margin-top:10px;padding:0}.speakers li{align-items:unset;display:flex}.speakers li .content{font-size:12px!important}.speakers .image{border-radius:100%;height:40px;min-width:40px;overflow:hidden;width:40px}.speakers img{-o-object-fit:cover;height:100%;object-fit:cover;width:100%}.grid-2-cols{display:grid;grid-gap:15px;grid-template-columns:calc(55% - 10px) calc(50% - 10px);padding-right:20px}@media (max-width:768px){.grid-2-cols{grid-template-columns:calc(50% - 10px) calc(50% - 10px)}}@media (max-width:575px){.grid-3-cols{grid-template-columns:100%}}.quick-prompts-extended{align-items:flex-start!important;margin-left:0!important}.border-shape .s27-scroll::-webkit-scrollbar{border-radius:30px;width:3px}.border-shape .s27-scroll::-webkit-scrollbar-track{background:#f1f1f1;border-radius:30px}.border-shape .s27-scroll::-webkit-scrollbar-thumb{background:#888;border-radius:30px}.box{display:table;height:275px;margin:10px 0;width:100%}.tiktokwrapper{display:grid;gap:10px;grid-template-columns:repeat(2,1fr);height:100%}.tiktokwrapper .tiktokshell{background:#3d2b8f;border:2px solid #fff;border-radius:5px;box-shadow:0 0 6px #494949;height:100%;min-height:275px;min-width:160px;position:relative;width:100%}.tiktokwrapper .overlymask{background-image:url(https://e1cdn.social27.com/digitalevents/HiveGpt/screen-overlay.png);background-position:0 0;bottom:0;height:100%;left:0;position:absolute;width:100%;z-index:6}.tiktokwrapper .videoPhotobox{bottom:0;height:272px;left:0;overflow:hidden;position:absolute;width:auto;z-index:6}.tiktokwrapper .videoPhotobox video{-o-object-fit:cover;border-radius:0;cursor:pointer;height:270px;object-fit:cover;outline:0;transition:.3s ease-in-out;width:100%}.tiktokwrapper .videoPhotobox img{-o-object-fit:cover;height:100%;object-fit:cover;width:100%}.tiktokwrapper .playBtn{align-items:center;border:none;cursor:pointer;display:flex;height:40px;justify-content:center;left:0;margin:0 auto;position:absolute;right:0;top:105px;transition:all 1s;width:40px;z-index:10}.tiktokwrapper .playBtn:hover{transform:scale(1.2)}.tiktokwrapper .noPhoto{align-items:center;border:none;cursor:pointer;display:flex;height:40px;justify-content:center;left:0;margin:0 auto;position:absolute;right:0;top:105px;transition:all 1s;z-index:6}.tiktokwrapper .noPhoto h3{color:#fff;font-size:46px}.tiktokwrapper .onshell-content{bottom:10px;left:5px;position:absolute;z-index:10}.tiktokwrapper .onshell-content .title-shell{margin:0 10px}.tiktokwrapper .onshell-content h3{color:#fff;font-size:13px;font-weight:500}.tiktokwrapper .onshell-content .companyName{color:#eaeaea;font-size:12px;font-weight:400}.tiktokwrapper .onshell-content .button-shell button{background:#4e4e4e;border:none;border-radius:2px;color:#fff;font-size:11px;margin:0 1px;padding:4px 7px;text-transform:capitalize}.tiktokwrapper .onshell-content .Connectbtn{background:linear-gradient(149deg,#06f,#06f)!important}.skeleton-box{background-color:#dddbdd;display:inline-block;height:1em;overflow:hidden;position:relative}.skeleton-box:after{animation:shimmer 2s infinite;background-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.2) 20%,hsla(0,0%,100%,.5) 60%,hsla(0,0%,100%,0));bottom:0;content:"";left:0;position:absolute;right:0;top:0;transform:translateX(-100%);z-index:0}@keyframes shimmer{to{transform:translateX(100%)}}.blog-post__headline{font-size:1.25em;font-weight:700}.blog-post__meta{color:#6b6b6b;font-size:.85em}.o-media{display:flex}.o-media__body{flex-grow:1;margin-left:1em}.o-vertical-spacing>*+*{margin-top:.75em}.o-vertical-spacing--l>*+*{margin-top:2em}.copy{background:none;border:none;cursor:pointer;padding:5px;transition:transform .2s ease}.copy.active{transform:scale(1.1)}.copy svg{fill:#566563;height:18px;width:18px}.copyBox{background:#f7f7f7;border-radius:13px;color:#566563;display:flex;float:right;gap:12px;padding:5px 10px;position:relative;width:135px}.copyBox button{background:transparent;border:none;color:#566563;cursor:pointer;padding:0;transition:all .3s}.copyBox button i{display:inline-block}.copyBox button:hover{color:#17235b}.copyBox button.up:hover i{animation:thumbsUpAnimation .5s ease-in-out;animation-fill-mode:forwards}.copyBox button.down:hover i{animation:thumbsDownAnimation .5s ease-in-out;animation-fill-mode:forwards}.din{display:inline-flex}.chatFooterWrapper{background-color:#f5f5f5;border-top:1px solid #ccc;justify-content:center}.chat-footer,.chatFooterWrapper{align-items:center;flex-direction:column}.chat-footer{background:#fff;display:flex;margin-bottom:10px;width:100%}.topinfo-containerbox{align-items:center;background:#f9f9f9;border-bottom:1px solid #efefef;display:none;justify-content:space-between;margin:0;padding:5px 10px 8px;width:100%}@media (max-width:768px){.topinfo-containerbox{flex-direction:column}}.agents_note_wrapper{display:flex;justify-content:space-around}.bottombox-wrapper{display:flex;padding:10px;width:100%}.dropdown-wrapper{margin-right:10px;position:relative}.dropdown-header{align-items:center;background:#fff;border:1px solid #ddd;border-radius:48px;color:#414141!important;cursor:pointer;display:flex;font-size:14px;margin-bottom:0;padding:.5rem 1.5rem;white-space:nowrap}.dropdown-header span{margin-right:8px}.dropdown-menu{background-color:#fff;border:1px solid #ededed;border-radius:5px;bottom:100%!important;box-shadow:0 2px 4px rgba(0,0,0,.1);display:block;left:0;margin-bottom:10px;max-height:200px;overflow-y:auto;padding:0;position:absolute;top:auto;width:230px;z-index:1000}.dropdown-menu label{cursor:pointer;display:block;font-size:16px;padding:5px 15px}.dropdown-menu label input{height:16px;width:16px}.dropdown-menu label:hover{background-color:#f0f0f0}.border-shape{flex-grow:1}.form-control-1{border:1px solid #ddd;border-radius:5px;padding:10px;width:100%}.cta-footer,.text-left .note-section{align-items:center;display:flex}.text-left .note-section{background:#fff;border-radius:5px;box-shadow:0 2px 4px rgba(0,0,0,.1);margin-top:10px;max-width:800px;padding:10px;width:100%}.text-left .note{align-items:center;color:#555;display:flex}.text-left .note i{margin-right:8px}.text-left .note .text{font-size:14px}.card-container{display:flex;gap:15px}.custom-card{background:#fffefe;border:1px solid #ddd;border-radius:.25rem;box-shadow:0 4px 8px rgba(0,0,0,.1);margin-bottom:10px;overflow:hidden;width:18rem}.custom-card .card-body{padding:10px}.custom-card .card-title{font-size:1.25rem;font-weight:700}.custom-card .card-text{font-size:1rem;text-align:left}.custom-card .btn-primary{background-color:#007bff;border:none;border-radius:.25rem}.custom-card .card-footer{background-color:#f8f9fa;color:#6c757d;padding:10px;text-align:center}.list-container{list-style:none;padding:0}.list-container li{background:#f5f5f5;border-radius:8px;font-size:13px;margin-bottom:5px;padding:6px 12px}.list-container li:hover{color:#000;cursor:pointer}.attendee-cards-section,.session-cards-section,.speaker-cards-section{display:block;margin-bottom:4px;margin-top:8px;max-width:100%;overflow:visible;visibility:visible;width:100%}.session-cards-section{min-width:0;overflow-x:hidden}.card-message-bubble{border-radius:4px 14px 14px 14px;box-sizing:border-box;margin-bottom:20px;max-width:100%;overflow-wrap:break-word;padding:10px 14px 10px 26px;width:100%}.card-message-bubble .card-message-text{margin:0}.card-message-text{margin-bottom:0}.session-cards-container{display:grid;gap:20px;grid-template-columns:1fr;max-width:100%;min-width:0;overflow:hidden;width:100%}@media (min-width:600px){.session-cards-container{grid-template-columns:repeat(2,1fr)}}.session-card-item{background:linear-gradient(135deg,#9f7aea,#805ad5);border:none;border-radius:18px;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;justify-content:flex-start;max-width:100%;min-height:220px;min-width:0;overflow:hidden;padding:25px;position:relative}.session-card-item-ondemand{background:#9980d4;min-height:auto;padding:20px 24px}.session-card-item-ondemand .session-card-ondemand-badge{background:#7d69bd;border-radius:999px;color:#fff;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.02em;margin-bottom:8px;padding:4px 10px;width:-moz-fit-content;width:fit-content}.session-card-item-ondemand .session-card-ondemand-available{color:#fff;font-size:14px;font-weight:400;margin-bottom:6px}.session-card-item-ondemand .session-card-ondemand-title{font-size:18px;font-weight:700;line-height:1.3;margin:0 0 8px}.session-card-item-ondemand .session-card-ondemand-desc{-webkit-line-clamp:3;color:#fff;font-size:14px;font-weight:400;line-clamp:3;margin-bottom:12px;opacity:.95}.session-card-item-ondemand .session-card-actions-row{margin-top:auto}.session-card-header{margin-bottom:12px;margin-left:80px;min-height:40px}.session-card-date-badge{align-items:center;background:#000;border-radius:50%;display:flex;flex-direction:column;font-size:14px;font-weight:700;height:60px;justify-content:center;left:20px;position:absolute;top:20px;width:60px}.session-card-date-day{color:#fff;display:block;font-size:14px;font-weight:700;line-height:1.2}.session-card-date-month{color:#fff;display:block;font-size:15px;font-weight:700}.session-card-date-na{color:#fff;display:block;font-size:12px;font-weight:700;line-height:1.2}.session-card-room-time{min-width:0;overflow-wrap:break-word}.session-card-room{color:#fff;font-size:18px;font-weight:600;line-height:1.3}.session-card-time{color:#fff;font-size:13px;line-height:1.3;opacity:.9}.session-card-title{color:#fff;font-size:20px;font-weight:600;line-height:1.35;margin:6px 0 8px;min-width:0;overflow-wrap:break-word}.session-card-meta{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.session-card-meta-row{align-items:baseline;display:flex;font-size:13px;gap:8px;line-height:1.35}.session-card-meta-label{color:hsla(0,0%,100%,.9);flex-shrink:0;font-weight:500}.session-card-meta-value{color:#fff;font-weight:400;min-width:0}.session-card-description{-webkit-box-orient:vertical;-webkit-line-clamp:3;color:#fff;display:-webkit-box;flex:1;font-size:14px;line-clamp:3;line-height:1.4;min-height:0;opacity:.95;overflow:hidden}.session-card-status{align-items:center;color:hsla(0,0%,100%,.95);display:flex;font-size:13px;font-weight:400;gap:8px;justify-content:flex-end;margin-bottom:12px}.session-card-status-bullet{background:hsla(0,0%,100%,.9);border-radius:50%;height:6px;min-width:6px;width:6px}.session-card-actions-row{align-items:center;display:flex;flex-wrap:nowrap;gap:12px;justify-content:space-between;margin-top:auto;min-width:0}.session-card-item .speakers-UIcard{align-items:center;display:flex;flex:0 0 auto;min-width:0}.session-card-item .speaker{align-items:center;background:#e6e6e6;border:2px solid #fff;border-radius:50%;color:#333;display:flex;font-family:Arial,sans-serif;font-weight:600;height:40px;justify-content:center;margin-left:-10px;overflow:hidden;width:40px}.session-card-item .speaker:first-child{margin-left:0}.session-card-item .speaker img{-o-object-fit:cover;height:100%;object-fit:cover;width:100%}.session-card-item .speaker.initials{font-size:14px}.session-card-item .speaker img:not([src]),.session-card-item .speaker img[src=""]{opacity:0}.session-card-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:0;min-width:0}.session-card-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;min-width:80px;padding:8px 20px;transition:opacity .2s}.session-card-btn-primary{background:#000;color:#fff}.session-card-btn-primary:hover{opacity:.9}.session-card-btn-secondary{background:#000;border:none;color:#fff}.session-card-btn-secondary:hover{opacity:.9}.session-card-btn-disabled{cursor:not-allowed!important;opacity:.5;pointer-events:none}.session-card-btn-disabled.session-card-btn-primary,.session-card-btn-disabled.session-card-btn-secondary{background:#000;color:#fff}.session-card-when-disable{color:hsla(0,0%,100%,.9);font-size:13px;font-style:italic;margin-bottom:10px}.session-card-meeting-delayed{color:hsla(0,0%,100%,.95);font-size:13px;margin-bottom:10px}.attendee-cards-container{display:flex;flex-wrap:wrap;gap:20px;width:100%}.attendee-card-item{flex:0 0 calc(25% - 15px);max-width:215px!important}@media (max-width:1200px){.attendee-card-item{flex:0 0 calc(33.33333% - 13.33333px)}}@media (max-width:768px){.attendee-card-item{flex:0 0 calc(50% - 10px)}}@media (max-width:480px){.attendee-card-item{flex:0 0 100%}}.attendee-card{background-color:#5a5a5a;background-position:50%;background-size:cover;border-radius:8px;color:#fff;display:flex;flex-direction:column;height:320px;justify-content:flex-end;min-width:215px;overflow:hidden;padding:20px;position:relative}@media (max-width:480px){.attendee-card-item{max-width:100%!important}.attendee-card{height:490px}}.attendee-card-has-video{background-image:none!important}.attendee-card-video{-o-object-fit:cover;height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%;z-index:1}.attendee-card-play-btn{border:1px solid hsla(0,0%,100%,.35);border-radius:50%;font-weight:700;height:40px;left:50%;line-height:54px;text-align:center;top:40%;transform:translate(-50%,-50%);width:40px}.attendee-card-mute-btn,.attendee-card-play-btn{align-items:center;background:rgba(0,0,0,.45);color:#fff;cursor:pointer;display:flex;font-size:0;justify-content:center;padding:0;position:absolute;z-index:4}.attendee-card-mute-btn{border:1px solid hsla(0,0%,100%,.25);border-radius:50%;font-weight:600;height:34px;right:10px;top:10px;width:34px}.attendee-card-mute-btn .material-icons,.attendee-card-play-btn .material-icons{font-size:28px;line-height:1}.attendee-card-initials{background:linear-gradient(135deg,#6b7280,#4b5563);color:hsla(0,0%,100%,.9);display:flex;font-size:58px;font-weight:400;justify-content:center;letter-spacing:-2px;padding:50px 0;z-index:1}.attendee-card-initials,.attendee-overlay{height:100%;left:0;position:absolute;top:0;width:100%}.attendee-overlay{background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,.25));pointer-events:none;z-index:2}.attendee-content{position:relative;z-index:3}.attendee-name{font-size:18px;font-weight:600;margin-bottom:4px}.attendee-company,.attendee-name{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;line-clamp:2;overflow:hidden}.attendee-company{font-size:13px;margin-bottom:8px;opacity:.85}.attendee-desc{font-size:14px;margin-bottom:12px;opacity:.95;overflow:hidden}.attendee-desc-collapsed{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;line-clamp:2}.attendee-desc-expanded{display:block;margin-bottom:6px;overflow:visible}.attendee-read-more{background:transparent;border:0;color:hsla(0,0%,100%,.9);cursor:pointer;display:inline-block;font-size:12px;font-weight:600;margin:-6px 0 10px;padding:0;text-decoration:underline}.attendee-buttons{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;width:-moz-fit-content;width:fit-content}.attendee-buttons .btn{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;border:none;border-radius:3px;cursor:pointer;flex:1 1 0;font-size:12px;min-width:80px;padding:5px 8px;text-align:center;text-rendering:optimizeLegibility;white-space:nowrap}@media (max-width:480px){.attendee-buttons{flex-wrap:wrap;width:100%!important}.attendee-buttons .btn{flex:1 1 100%;max-width:100%;white-space:normal}}.attendee-card-btn-connect{background:#0d6efd;color:#fff}.attendee-card-btn-connect:hover:not(:disabled){opacity:.9}.attendee-card-btn-view-profile{background:#494949;color:#fff}.attendee-card-btn-view-profile:hover:not(:disabled){opacity:.9}.attendee-card-btn-request-sent{background:#0d6efd;color:#fff;cursor:not-allowed!important;opacity:.5}.attendee-card-btn-disconnect{background:#0d6efd;color:#fff}.attendee-card-btn-disconnect:hover{background:hsla(0,0%,100%,.3);opacity:.95}.attendee-card-btn:disabled{cursor:not-allowed!important;opacity:.6}.show-more-cards-btn{align-items:center;background:#fff;border:1.5px dashed #ccc;border-radius:12px;color:#06f;cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:center;margin-top:12px;padding:10px 16px;width:-moz-fit-content;width:fit-content}.show-more-cards-btn:hover{background:#f8f9fa}.collapsible-container{margin-bottom:5px;overflow:hidden;width:100%}.collapsible-header{cursor:pointer;display:flex;padding:15px}.collapsible-header .header-icon{font-size:20px;margin-right:10px}.collapsible-header .header-title{flex:1;font-size:18px}.collapsible-header .toggle-icon{font-size:18px;margin-left:18px}.collapsible-content{background-color:#f8f9fa;color:#333;padding:15px;width:100%}.collapsible-content.show{display:block}.researchingCard{margin:5px auto}.card-header{background:#eee;border-bottom:0;border-radius:8px 8px 0 0;display:flex!important;padding:8px 15px;width:auto}.icon{font-size:20px;line-height:5px}.rotate{transform:rotate(180deg)}.collapse{display:none}.uptList{background:rgba(245,222,179,.1411764705882353);border-radius:0 0 10px 10px;margin-bottom:20px!important}.list-group-item{color:#0f0f0f;font-size:15px;margin:1px 0;padding:0 18px}.sources-container{align-items:flex-start;display:flex;gap:15px}.source-card{background-color:#f0f3f5;border-radius:10px;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;padding:15px;position:relative;transition:box-shadow .3s ease;width:100%}.popup{background-color:#fff;border-radius:5px;box-shadow:0 4px 8px rgba(0,0,0,.2);left:50%;opacity:0;padding:10px;position:absolute;top:100%;transform:translateX(-50%) translateY(-10px);transition:opacity .3s ease,transform .3s ease;visibility:hidden;white-space:normal;width:100%;z-index:10}.popup h5{font-size:14px;font-weight:600;line-height:1.2;margin:5px 0 10px}.popup p{font-size:12px;line-height:1.4;margin:0}.popup h5:hover{color:#007bff;cursor:pointer}.popup .source-url{color:#000;text-decoration:none}.popup .source-url:hover{color:#007bff;cursor:pointer;text-decoration:underline}.source-card:hover .popup{opacity:1;transform:translateX(-50%) translateY(-15px);visibility:visible}.source-card:hover{box-shadow:0 4px 8px rgba(0,0,0,.1);transform:scale(1.05)}.source-title{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;font-size:14px;font-weight:500;height:55px;line-clamp:2;line-height:1.5;overflow:hidden;text-align:left;text-overflow:ellipsis}.source-title img{margin-left:10px;width:20px}.source-url{align-items:center;color:#6c757d;display:flex;font-size:12px;text-align:left}.source-url img{border-radius:50%;height:16px;margin-right:5px;width:16px}.sourceDraweContainer .container{background-color:#fff;padding:20px}.sourceDraweContainer .sources-list{list-style:none;padding:0}.sourceDraweContainer .sources-list li{align-items:flex-start;display:flex;margin-bottom:15px}.sourceDraweContainer .sources-list input[type=checkbox]{flex-shrink:0;margin-right:15px;margin-top:8px}.sourceDraweContainer .source-content{background-color:#f5f2f2;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);cursor:pointer;flex:1;padding:12px}.sourceDraweContainer .source-content:hover{background:#ccc}.sourceDraweContainer .source-title{display:block;font-size:1rem;font-weight:500;height:auto!important;margin-bottom:4px}.sourceDraweContainer .source-description{display:block;font-size:.875rem}.sourceDraweContainer .image-container{align-items:center;display:flex;margin:10px 0}.sourceDraweContainer .image-container img{-o-object-fit:cover;border:1px solid #ddd;border-radius:50%;height:16px;margin-right:5px;object-fit:cover;width:16px}.sourceDraweContainer .image-container span{color:#555;font-size:13px}.closeButtonEditor{border:0;border-radius:100%;height:32px;padding:3px 0 0;position:absolute;right:10px;top:5px;width:32px}.closeButtonSource{background:none!important;border-color:transparent!important;box-shadow:none!important;color:inherit;cursor:pointer;float:right;margin-top:20px;transition:color .2s ease-in-out}.closeButtonSource.closeplaygroundbutton{display:none!important}.graph-img{background:hsla(0,0%,99.6%,.23137254901960785);border-radius:15px;padding:15px;width:90%}.chat-textarea{background-color:#fff;border:none;box-sizing:border-box;font-size:15px;height:30px;line-height:1.5;overflow-y:hidden;padding:10px;resize:none;transition:all 1s;width:100%}.chat-textarea:focus,.chat-textarea:hover{height:60px}.chat-textarea:focus{outline:none}.fixed-btn{background-color:#000;border:none;border-radius:8px 8px 0 0;color:#fff;cursor:pointer;font-size:16px;padding:5px 12px;position:fixed;right:-22px;top:46%;transform:translateY(-50%) rotate(270deg);transform-origin:center;transition:all .5s;z-index:1000000}.fixed-btn:hover{background-color:#5b5b5b}.fixed-btn-close{background-color:#000;border:none;border-radius:8px 8px 0 0;color:#fff;cursor:pointer;font-size:16px;padding:5px 16px;position:fixed;right:549px;top:46%;transform:translateY(-50%) rotate(270deg);transform-origin:center;transition:all .5s;z-index:1000000}.fixed-btn-close:hover{background-color:#5b5b5b}.btn.rotate{transform:rotate(-15deg)}.btn.rotate:hover{transform:rotate(0deg)}.btn.cta-chat{align-items:center;background:#f3f3f3;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;height:40px;justify-content:center;margin:0 auto;padding:5px;text-align:center;transition:all .5s;width:40px}.btn.cta-chat:hover{background:#d7d7d7;color:#666}.btn.cta-chat svg{vertical-align:middle}.btn.cta-chat.voice-btn{border-radius:9999px;flex-shrink:0;gap:8px;justify-content:flex-start;max-width:40px;min-width:40px;overflow:hidden;padding-left:11px;padding-right:11px;transition:max-width .35s ease,width .35s ease,background-color .25s ease,color .25s ease,padding .3s ease;width:40px}.btn.cta-chat.voice-btn .voice-btn-icon{flex-shrink:0}.btn.cta-chat.voice-btn .voice-btn-text{font-size:14px;font-weight:500;max-width:0;opacity:0;overflow:hidden;transition:opacity .25s ease .1s,max-width .3s ease .05s;white-space:nowrap}.btn.cta-chat.voice-btn:hover{background:#0d9488!important;color:#fff!important;max-width:120px;padding-left:14px;padding-right:16px;width:auto}.btn.cta-chat.voice-btn:hover .voice-btn-text{max-width:4em;opacity:1}.chat-footer-upt{padding:4px}.workflowbox{align-items:center;border:1px solid transparent;border-radius:48px;color:#414141!important;cursor:pointer;display:flex;font-size:14px;margin-bottom:0;padding:.5rem 1.5rem;transition:all .5s;white-space:nowrap}.workflowbox:hover{background:#fff;border:1px solid #ddd}.workflowbox svg{margin:0 10px}.edit-boxDrawer{border-left:1px solid #ddd;box-shadow:1px 1px 15px hsla(0,0%,86.7%,.7686274509803922)!important}.edit-boxDrawer mat-drawer-content,ng-deep .edit-boxDrawer mat-drawer-content{margin-left:0!important;margin-right:0!important}.SearchTitle{font-size:16px!important;text-transform:none}.exicution{background:#f9f9f9;margin:30px 0!important;padding:15px 20px}.new-conversationbutton{align-items:center;background:#f5f5f5;border:1px solid #e3e3e3;border-radius:10px;cursor:pointer;display:flex;font-size:14px;justify-content:space-around;padding:6px;position:absolute;right:88px;top:20px!important;transition:all .5s;width:120px;z-index:1000}.new-conversationbutton:hover{background:#eee}@media (max-width:768px){.new-conversationbutton{align-items:center;font-size:11px!important;padding:0!important;position:fixed!important;right:18px!important;top:56px!important;width:90px!important}}.NoteTxt{margin:0 auto;margin-bottom:10px!important}.NoteTxt .text{margin:0 5px}.form-container{width:100%}.progress-container{align-items:center;display:flex}.circular-loader{border:4px solid rgba(0,0,0,.1);border-radius:50%;box-sizing:border-box;height:50px;position:relative;width:50px}.loader-spinner{animation:rotate-loader 1s linear infinite;border:2px solid #2196f3;border-radius:50%;border-top-color:transparent;box-sizing:border-box;height:100%;left:0;position:absolute;top:0;width:100%}.loader-text{color:#333;font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.loader-label{color:#333;font-size:16px;margin-left:20px}.checkmark{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.checkmark-circle{animation:stroke .6s ease-in-out forwards;stroke:#4caf50;stroke-dasharray:166;stroke-dashoffset:166;stroke-width:4}.checkmark-check{animation:stroke-check .4s ease-in-out .4s forwards;stroke:#4caf50;stroke-dasharray:48;stroke-dashoffset:48;stroke-linecap:round;stroke-linejoin:round;stroke-width:4}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes stroke-check{to{stroke-dashoffset:0}}@keyframes rotate-loader{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes checkmark-animation{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.circular-loader.completed .loader-spinner{animation:none;transform:rotate(1turn)}.icon-button{background-color:transparent;border:none;color:#333;cursor:pointer;font-size:24px}.icon-button:focus{outline:none}.icon-button:hover{color:#007bff}.modal{background-color:rgba(0,0,0,.4);display:block;height:100%;left:0;padding-top:0;position:fixed;top:0;width:100%;z-index:1000001}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,.1);height:600px;margin:5% auto;padding:20px;position:relative;width:82%}.close{color:#aaa;float:right;font-size:28px;font-weight:700}.close:focus,.close:hover{color:#000;cursor:pointer;text-decoration:none}.SearchTitle.botUser{font-size:30px!important;text-transform:none!important}.SearchTitle.botUser h2,.SearchTitle.botUser p{font-size:1.7rem!important}.title_chat{display:flex;margin:0;padding:0}.title_chat h2{align-items:center;display:flex;font-size:20px;gap:10px;margin:10px 0}.title_chat h2 p{display:inline!important}.title_chat h2 span:before{content:""!important}@media (max-width:768px){.title_chat h2{align-items:start;flex-direction:column;font-size:16px}}.small-title{font-size:12px;margin:2px 0}.titleSection{margin:0}.titleSection h2{color:#000;font-size:20px;margin:0}.inputs-section{background-color:#f7f7f7;border-radius:5px;margin:0 0 10px;padding:10px 15px 0}.inputs-section h3{font-size:16px}.actions-section{background-color:#f9f9f9;border-radius:5px;height:500px;margin-bottom:20px;overflow-y:auto;padding:15px}.timeline{margin-bottom:20px;padding-left:40px;position:relative}.timeline:before{border-right:2px dashed #cecece;content:"";height:100%;left:19px;position:absolute}.timeline-item{margin-bottom:20px;position:relative}.timeline-item:before{background-color:#007bff;border-radius:50%;content:"";height:20px;left:-30px;position:absolute;top:0;width:20px;z-index:1}.timeline-item h4{color:#000;font-size:16px;font-weight:700;margin:0}.timeline-item pre{background-color:#fff;border:1px solid #ddd;border-radius:5px;padding:10px;white-space:pre-wrap}.timestamp-section{color:#666;font-style:normal;justify-content:space-between}.mic-btn{background-color:#ff4d4d;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.5em;padding:10px}.mic-btn:active{background-color:#f66}.actions-section h3{font-size:16px}.close-wrapper{display:flex;justify-content:right;position:absolute;right:22px;top:0;width:100%}.close_pop{color:#aaa;cursor:pointer;font-size:30px;font-weight:400}.chat-avatar,.close_pop{align-items:center;display:flex;justify-content:center}.chat-avatar{background:#fcfcfc;border:1px solid #dfdfdf;border-radius:50%;flex-shrink:0;height:44px;min-height:44px;min-width:44px;overflow:hidden;width:44px}.chat-avatar-img{-o-object-fit:cover;height:100%;object-fit:cover;width:100%}.chat-avatar-initials{-moz-user-select:none;-webkit-user-select:none;color:#555;font-size:1rem;font-weight:600;text-transform:uppercase;user-select:none}.chat-avatar-initials-assistant{color:#000}.chat-avatar-initials-user{color:#761c79}.user-Box{align-items:center;display:flex}.bards{position:absolute;right:0;top:20px}::ng-deep .code-container{margin:20px 0;position:relative}::ng-deep .copy-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:5px 10px;position:absolute;right:10px;top:10px}::ng-deep .copy-button:hover{background-color:#0056b3}::ng-deep .code_block.diff{background-color:#f8f8f8;border-left:4px solid #ccc;overflow:auto;padding:10px}::ng-deep .heading003{color:#000;font-size:20px;font-weight:700}::ng-deep .listing{list-style:decimal;margin:0 25px;padding:0}.line{background-color:#e8e8e8;border-radius:15px;display:inline-block;height:15px;width:15px}.load-2 .line:last-child{animation:loadingB 1.5s 1s infinite;margin:5px 0}.load-2 .line:nth-last-child(2){animation:loadingB 1.5s .5s infinite;margin:5px 0}.load-2 .line:nth-last-child(3){animation:loadingB 1.5s 0s infinite;margin:5px 0}.load-1 .line:last-child{animation:loadingA 1.5s 1.2s infinite;margin:5px 0}.load-1 .line:nth-last-child(2){animation:loadingA 1.5s .8s infinite;margin:5px 0}.load-1 .line:nth-last-child(3){animation:loadingA 1.5s .2s infinite;margin:5px 0}@keyframes loadingB{0%{width:65px}50%{width:235px}to{width:65px}}@keyframes loadingA{0%{width:45px}50%{width:205px}to{width:45px}}.chat-thinking{padding-left:20px!important}.chat-thinking .thinking-row{align-items:center;display:flex;gap:8px;margin-top:6px}.chat-thinking .thinking-dots{align-items:center;display:flex;gap:4px}.chat-thinking .thinking-dot{animation:thinking-bounce 1.4s ease-in-out infinite both;background:#06f;border-radius:50%;height:6px;width:6px}.chat-thinking .thinking-dot:first-child{animation-delay:0s;background:#9ca3af}.chat-thinking .thinking-dot:nth-child(2){animation-delay:.2s;background:#06f}.chat-thinking .thinking-dot:nth-child(3){animation-delay:.4s;background:#17235b}.chat-thinking .thinking-text{color:#6b7280;font-size:14px;font-weight:400}@keyframes thinking-bounce{0%,80%,to{opacity:.6;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.loaderbox{height:60px;margin:10px 0;position:relative}.loader-pkg{bottom:0;left:0;margin:0;top:0;width:250px}.loader--dot,.loader-pkg{height:20px;position:absolute}.loader--dot{animation-duration:3s;animation-iteration-count:infinite;animation-name:loader;animation-timing-function:ease-in-out;background-color:#1a6774;border-radius:100%;width:20px}.loader--dot:first-child{animation-delay:.5s;background-color:#618e93}.loader--dot:nth-child(5){animation-delay:.4s;background-color:#3fb0c3}.loader--dot:nth-child(4){animation-delay:.3s;background-color:#40b8cd}.loader--dot:nth-child(3){animation-delay:.2s;background-color:#ec8828}.loader--dot:nth-child(2){animation-delay:.1s;background-color:#fdc25d}.loader--dot:first-child{animation-delay:0s;background-color:#f4e3be}.loader--text{left:0;margin:0;position:absolute;top:200%;width:4rem}.loader--text:after{animation-duration:3s;animation-iteration-count:infinite;animation-name:loading-text;content:"Loading";font-weight:700}@keyframes loader{15%{transform:translateX(230px)}45%{transform:translateX(0)}65%{transform:translateX(230px)}95%{transform:translateX(0)}}@keyframes loading-text{0%{content:"Loading"}25%{content:"Loading."}50%{content:"Loading.."}75%{content:"Loading..."}}::ng-deep .loaderbox{height:60px;margin:10px 0;position:relative}::ng-deep .loader-pkg{bottom:0;height:20px;left:0;margin:0;position:absolute;top:0;width:250px}::ng-deep .loader--dot{animation-duration:3s;animation-iteration-count:infinite;animation-name:loader;animation-timing-function:ease-in-out;background-color:#1a6774;border-radius:100%;height:20px;position:absolute;width:20px}::ng-deep .loader--dot:first-child{animation-delay:.5s;background-color:#618e93}::ng-deep .loader--dot:nth-child(5){animation-delay:.4s;background-color:#3fb0c3}::ng-deep .loader--dot:nth-child(4){animation-delay:.3s;background-color:#40b8cd}::ng-deep .loader--dot:nth-child(3){animation-delay:.2s;background-color:#ec8828}::ng-deep .loader--dot:nth-child(2){animation-delay:.1s;background-color:#fdc25d}::ng-deep .loader--dot:first-child{animation-delay:0s;background-color:#f4e3be}::ng-deep .loader--text{left:0;margin:0;position:absolute;top:200%;width:4rem}::ng-deep .loader--text:after{animation-duration:3s;animation-iteration-count:infinite;animation-name:loading-text;content:"Loading";font-weight:700}.agents-popwindowbox{background:#fff;padding:10px;width:100%}.agents-popwindowbox h3{color:#000;font-size:15px}.dropdown-menu-agents{background-color:#fff;border:1px solid #ededed;border-radius:5px;bottom:100%!important;box-shadow:0 2px 4px rgba(0,0,0,.1);display:block;left:0;margin-bottom:10px;padding:0;position:absolute;top:auto;width:270px;z-index:1000}.dropdown-menu-agents .scrollerbox{display:flex;flex:fit-content;flex-direction:column;height:215px;overflow-y:auto}.dropdown-menu-agents label{align-items:center;background:#f9f9f9;border-radius:2px;cursor:pointer;display:flex;font-size:13px;justify-content:start;line-height:16px;margin:2px 0;padding:7px}.dropdown-menu-agents label:hover{background:#ebebeb}.dropdown-menu-agents label input{opacity:0;position:absolute}.dropdown-menu-agents .input-check{border:2px solid #ccc;border-radius:4px;display:inline-block;height:23px;margin-right:5px;position:relative;top:0;transition:.5s;width:25px}.dropdown-menu-agents label input:checked~.input-check{animation:animate .7s ease;background:#06f;border-color:#06f}@keyframes animate{0%{transform:scale(1)}40%{transform:scale(1.3,.7)}55%{transform:scale(1)}70%{transform:scale(1.2,.8)}80%{transform:scale(1)}90%{transform:scale(1.1,.9)}to{transform:scale(1)}}.dropdown-menu-agents .input-check:before{border-bottom:3px solid #fff;border-left:3px solid #fff;content:"";height:6px;left:4px;position:absolute;top:6px;transform:scale(0) rotate(-45deg);transition:.5s;width:15px}.dropdown-menu-agents label input:checked~.input-check:before{transform:scale(1) rotate(-45deg)}::ng-deep .h1,::ng-deep h1{font-size:1.165rem}::ng-deep .h2,::ng-deep .h3,::ng-deep h2,::ng-deep h3{font-size:1.125rem}::ng-deep b,::ng-deep strong{font-weight:600}@media (max-width:768px){.note{line-height:15px;margin:0 auto;padding:3px 0 10px;width:90%}}.show-hover{display:none}.chat.bot:hover .show-hover{display:flex!important}']}]}],Y.ctorParameters=function(){return[{type:l.FormBuilder},{type:V},{type:o.ChangeDetectorRef},{type:i.HttpClient},{type:a.DomSanitizer},{type:o.ElementRef},{type:o.Renderer2},{type:R},{type:P},{type:L},{type:K},{type:t.Overlay},{type:o.ViewContainerRef},{type:o.Injector}]},Y.propDecorators={chatMain:[{type:o.ViewChild,args:["chatMain"]}],myInput:[{type:o.ViewChild,args:["myInput",{static:!1}]}],closePlaygroundButtons:[{type:o.ViewChildren,args:["closeplaygroundbutton"]}],drawer:[{type:o.ViewChild,args:["drawer"]}],sourcesDrawer:[{type:o.ViewChild,args:["sourcesDrawer"]}],editorsDrawer:[{type:o.ViewChild,args:["editorsDrawer"]}],copilotName:[{type:o.Input}],firstName:[{type:o.Input}],lastName:[{type:o.Input}],apiKey:[{type:o.Input}],bgBubbleAi:[{type:o.Input}],bgBubbleUser:[{type:o.Input}],bgGradient:[{type:o.Input}],botName:[{type:o.Input}],botSkills:[{type:o.Input}],botId:[{type:o.Input}],orgId:[{type:o.Input}],closeButtonColor:[{type:o.Input}],closeButtonbgColor:[{type:o.Input}],credentials:[{type:o.Input}],dateTimeColor:[{type:o.Input}],dateTextColor:[{type:o.Input}],eventId:[{type:o.Input}],eventUrl:[{type:o.Input}],eventToken:[{type:o.Input}],workspaceToken:[{type:o.Input}],s27Token:[{type:o.Input}],eventName:[{type:o.Input}],botIcon:[{type:o.Input}],userAvatarUrl:[{type:o.Input}],formFieldBgColor:[{type:o.Input}],formFieldTextColor:[{type:o.Input}],fullView:[{type:o.Input}],gradientColors:[{type:o.Input}],greeting:[{type:o.Input}],messageTextColorAi:[{type:o.Input}],messageTextColorUser:[{type:o.Input}],rules:[{type:o.Input}],sendButtonColor:[{type:o.Input}],sendButtonTextColor:[{type:o.Input}],showClose:[{type:o.Input}],thumbsDownMessages:[{type:o.Input}],thumbsUpMessage:[{type:o.Input}],timezone:[{type:o.Input}],unknownResponses:[{type:o.Input}],useOpenAi:[{type:o.Input}],userId:[{type:o.Input}],isDev:[{type:o.Input}],baseUrl:[{type:o.Input}],connectionsList:[{type:o.Input}],pendingSentRequestUserIds:[{type:o.Input}],isConnectionsEnabled:[{type:o.Input}],isUnEvent:[{type:o.Input}],againButtonColor:[{type:o.Input}],againButtonTextColor:[{type:o.Input}],feedbackEvent:[{type:o.Output}],onCloseEvent:[{type:o.Output}],openPage:[{type:o.Output}],sessionActions:[{type:o.Output}],sessionActionBlocked:[{type:o.Output}],closeBot:[{type:o.Output}],connectWithUser:[{type:o.Output}],scheduleMeeting:[{type:o.Output}],refreshToken:[{type:o.Output}],openSupport:[{type:o.Output}]};var J=function(){function e(){this.visible=!1}return e.prototype.toggle=function(){this.visible=!this.visible},e}();J.decorators=[{type:o.Component,args:[{selector:"hivegpt-chatbot",template:'<button mat-icon-button class="chat-button" color="primary" (click)="toggle()">\n <mat-icon>chat</mat-icon>\n</button>\n\n<ng-container *ngIf="visible">\n <hivegpt-chat-drawer-package\n [apiKey]="apiKey"\n [bgBubbleAi]="bgBubbleAi"\n [bgBubbleUser]="bgBubbleUser"\n [bgGradient]="bgGradient"\n [botName]="botName"\n [closeButtonbgColor]="closeButtonbgColor"\n [closeButtonColor]="closeButtonColor"\n [credentials]="credentials"\n [dateTextColor]="dateTextColor"\n [dateTimeColor]="dateTimeColor"\n [eventId]="eventId"\n [eventName]="eventName"\n [formFieldBgColor]="formFieldBgColor"\n [formFieldTextColor]="formFieldTextColor"\n [fullView]="fullView"\n [greeting]="greeting"\n [gradientColors]="gradientColors"\n [messageTextColorAi]="messageTextColorAi"\n [messageTextColorUser]="messageTextColorUser"\n [sendButtonColor]="sendButtonColor"\n [sendButtonTextColor]="sendButtonTextColor"\n [showClose]="showClose"\n [thumbsDownMessages]="thumbsDownMessages"\n [thumbsUpMessage]="thumbsUpMessage"\n [unknownResponses]="unknownResponses"\n [useOpenAi]="useOpenAi"\n [userId]="userId"\n [userAvatarUrl]="userAvatarUrl"\n [timezone]="timezone"\n [botId]="botId"\n [s27Token]="s27Token"\n [workspaceToken]="workspaceToken"\n [isDev]="isDev"\n [baseUrl]="baseUrl"\n >\n </hivegpt-chat-drawer-package>\n</ng-container>\n',styles:["::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb:hover{background:#e5ccbc}.spinner{align-items:center;display:flex;gap:2px;justify-content:center}.spinner>div{animation:bouncedelay 1.4s ease-in-out infinite;animation-fill-mode:both;background-color:#173330;border-radius:100%;display:inline-block;height:5px;width:5px}.spinner .bounce1{animation-delay:-.32s}.spinner .bounce2{animation-delay:-.16s}@keyframes bouncedelay{0%,80%,to{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}.chat-button{align-items:center;background:#17235b;border:#17235b;border-radius:50%;bottom:20px;color:#fff;display:inline-flex;font-size:24px;height:50px;justify-content:center;position:fixed;right:20px;width:50px}"]}]}],J.propDecorators={userId:[{type:o.Input}],userAvatarUrl:[{type:o.Input}],timezone:[{type:o.Input}],apiKey:[{type:o.Input}],botName:[{type:o.Input}],botSkills:[{type:o.Input}],botId:[{type:o.Input}],closeButtonColor:[{type:o.Input}],gradientColors:[{type:o.Input}],greeting:[{type:o.Input}],sendButtonColor:[{type:o.Input}],useOpenAi:[{type:o.Input}],showClose:[{type:o.Input}],bgGradient:[{type:o.Input}],sendButtonTextColor:[{type:o.Input}],fullView:[{type:o.Input}],bgBubbleAi:[{type:o.Input}],bgBubbleUser:[{type:o.Input}],closeButtonbgColor:[{type:o.Input}],messageTextColorAi:[{type:o.Input}],messageTextColorUser:[{type:o.Input}],dateTimeColor:[{type:o.Input}],dateTextColor:[{type:o.Input}],formFieldBgColor:[{type:o.Input}],formFieldTextColor:[{type:o.Input}],thumbsUpMessage:[{type:o.Input}],thumbsDownMessages:[{type:o.Input}],eventName:[{type:o.Input}],credentials:[{type:o.Input}],unknownResponses:[{type:o.Input}],rules:[{type:o.Input}],eventId:[{type:o.Input}],s27Token:[{type:o.Input}],workspaceToken:[{type:o.Input}],isDev:[{type:o.Input}],baseUrl:[{type:o.Input}]};var X=function(){};X.decorators=[{type:o.NgModule,args:[{declarations:[$],imports:[h.CommonModule],providers:[K,N,W,H],exports:[$]}]}];var Q=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return e?this.sanitizer.bypassSecurityTrustHtml(e):""},e}();Q.decorators=[{type:o.Pipe,args:[{name:"safeHtml"}]}],Q.ctorParameters=function(){return[{type:a.DomSanitizer}]};var ee=function(){function e(e,t,n){this.doc=e,this.el=t,this.cdr=n,this.isMuted=!0,this.isFullscreen=!1,this.isFullscreenvideoPlaying=!1,this.connectWithUser=new o.EventEmitter,this.scheduleMeeting=new o.EventEmitter}return e.prototype.ngOnInit=function(){},e.prototype.toggleSound=function(e){var t=this;void 0===e&&(e=null),this.isMuted=null!=e?e:!this.isMuted,setTimeout((function(){var e=t.doc.getElementById(t.video.id.toString());e&&(e.muted=t.isMuted,t.video.isMuted=t.isMuted),t.cdr.markForCheck()}))},e.prototype.togglePlay=function(e,t){var n=this;this.videoObj.isPlaying=!this.videoObj.isPlaying,setTimeout((function(){e?(n.videoObj.isPlaying=!0,t.play(),document.getElementById("pause-btn").classList.add("hide-pause-btn"),n.toggleSound(!1)):(n.videoObj.isPlaying=!1,t.pause());n.cdr.markForCheck()}))},e.prototype.ngAfterViewInit=function(){var e=this;window.innerWidth<=576&&(this.observer=new IntersectionObserver((function(t){!0===t[0].isIntersecting?e.video.nativeElement.play():e.video.nativeElement.pause()}),{threshold:.75}),this.observer.observe(this.el.nativeElement))},e.prototype.toggleFullscreen=function(){this.isFullscreen=!this.isFullscreen,this.isFullscreen||this.fullscreenvideo.nativeElement.pause()},e.prototype.toggleFullscreenPlay=function(){this.isFullscreenvideoPlaying=!this.isFullscreenvideoPlaying,this.isFullscreenvideoPlaying?this.fullscreenvideo.nativeElement.play():this.fullscreenvideo.nativeElement.pause()},e.prototype.followUser=function(e){this.connectWithUser.emit(e)},e.prototype.checkPendingSentRequest=function(e){var t;return null===(t=this.myPendingSentRequests)||void 0===t?void 0:t.find((function(t){return t==e}))},e.prototype.canUnfollowUser=function(){return!1},e.prototype.canFollowUser=function(){return!0},e.prototype.getIniNames=function(e,t){return e||t?e&&t?e.charAt(0).toUpperCase()+t.charAt(0).toUpperCase():e.charAt(0).toUpperCase():""},e}();ee.decorators=[{type:o.Component,args:[{selector:"app-video-player",template:'<div class="video-wrapper" >\n <div class="overlymask-video"></div>\n <video (click)="toggleFullscreen()" #video [loop]="true" [muted]="isMuted" [src]="videoObj.processedUrls || videoObj.url" playsinline\n [controls]="false"></video>\n <div class="main-controls" [class.no-opacity]="video.isPlaying">\n <button mat-icon-button *ngIf="!videoObj.isPlaying"\n attr.aria-label="Play Video"\n title="Play Video" class="play-pause-btn"\n (click)="togglePlay(true, video)">\n \x3c!-- <mat-icon alt="Play">play_arrow</mat-icon> --\x3e\n <span class="material-icons notranslate " aria-hidden="true">play_circle_outline</span>\n </button>\n\n <button mat-icon-button id="pause-btn" [hidden]="!videoObj.isPlaying" class="pause_btn play-pause-btn playing"\n title="Pause Video"\n [class.half-opacity]="video.isPlaying" (click)="togglePlay(false, video)">\n \x3c!-- <mat-icon alt="Pause">pause</mat-icon> --\x3e\n <span class="material-icons notranslate " aria-hidden="true">pause_circle_outline</span>\n </button>\n </div>\n <div class="video-actions">\n <button class="button-trasparent action" (click)="toggleSound()" title="Mute" *ngIf="isMuted">\n <span class="material-icons notranslate " aria-hidden="true">volume_off</span>\n </button>\n <button class="button-trasparent action" (click)="toggleSound()" title="Unmute" *ngIf="!isMuted">\n <span class="material-icons notranslate " aria-hidden="true">volume_up</span>\n </button>\n\n </div>\n</div>\n\n<div class="full-screen" *ngIf="isFullscreen" [ngClass]="{\'show\': isFullscreen}">\n <div class="video-wrapper">\n <video #fullscreenvideo (click)="toggleFullscreenPlay()" [loop]="true" [muted]="isMuted" [src]="videoObj.processedUrls || videoObj.url"\n playsinline [controls]="false"></video>\n <div (click)="toggleFullscreen()" class="close-btn">\n <span class="material-icons notranslate ">clear</span>\n </div>\n <div class="video-actions">\n <button *ngIf="!video.isPlaying" title="Play"\n class="material-icons notranslate body-text-color fs-h2 play position-absolute transparent-btn" (click)="togglePlay(true, video)">\n play_circle_outline\n </button>\n <button id="pause-btn" [hidden]="!videoObj.isPlaying" title="Pause"\n class="pause_btn material-icons body-text-color fs-h2 play position-absolute transparent-btn"\n [class.half-opacity]="video.isPlaying" (click)="togglePlay(false, video)">\n pause_circle_outline\n </button>\n </div>\n </div>\n</div>\n',styles:[".video-wrapper{position:relative}.video-wrapper video{-o-object-fit:cover;border-radius:5px;cursor:pointer;height:330px;object-fit:cover;outline:0;transition:.3s ease-in-out;width:100%}.video-wrapper .video-actions{display:flex;flex-direction:column;position:absolute;right:10px;top:10px}.video-wrapper .video-actions .action{color:#fff;cursor:pointer;margin-bottom:5px}.video-wrapper .author-details{bottom:18px;display:flex;flex-direction:column;justify-content:flex-start;left:12px;position:absolute;right:12px;transition:.3s ease-in-out}.video-wrapper .author-details .author-image{border-radius:50%;height:34px;margin-right:6px;overflow:hidden;width:34px}.video-wrapper .author-details .author-image img{-o-object-fit:cover;height:100%;object-fit:cover;width:100%}.video-wrapper .author-details .author-name,.video-wrapper .author-details .video-title{color:#fff;display:block;font-size:14px;mix-blend-mode:hard-light}.video-wrapper .connect-btn{bottom:20px;opacity:0;outline:0;position:absolute;text-align:center;transition:.3s ease-in-out;width:100%}@media only screen and (max-width:576px){.video-wrapper .connect-btn{opacity:1;right:20px;width:unset}}.video-wrapper .connect-btn button{margin:auto}.video-wrapper:hover .author-details{opacity:0}@media only screen and (max-width:576px){.video-wrapper:hover .author-details{opacity:1}}.video-wrapper:hover .connect-btn{opacity:1}.video-wrapper .half-opacity{opacity:.2}.video-wrapper .no-opacity{background-color:transparent}.like-btn{margin-bottom:20px;text-align:center;transition:.2s ease-in-out}.like-btn .count{font-size:16px;margin-left:3px}.like-btn span{cursor:pointer;font-size:30px}.like-btn:hover{transform:scale(1.1)}.like-btn.like{color:#025be7}.like-btn.dislike{color:#8d8d8d}.like-btn.info{color:#aeae3f}.full-screen.show{align-items:center;background:rgba(27,26,26,.9607843137254902);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.full-screen.show .video-wrapper video{height:270px;transform:none!important;transition:none;width:300px}.full-screen .close-btn{cursor:pointer;left:10px;position:absolute;top:10px}.full-screen .close-btn span{color:#fff}.main-controls{background-color:rgba(0,0,0,.3);bottom:0;left:0;right:0;top:0}.main-controls,.main-controls .play-pause-btn{align-items:center;display:flex;justify-content:center;position:absolute}.main-controls .play-pause-btn{background:none;border:none;color:#fff;line-height:0;top:34%}.main-controls .play-pause-btn.playing{cursor:pointer;left:50%;position:absolute;top:40%;transform:translate(-50%,-50%)}.main-controls .play-pause-btn.playing span{color:#fff;text-shadow:0 0 6px rgba(47,47,47,.36)}.main-controls .play-pause-btn:focus{outline:none}.main-controls .play-pause-btn .material-icons{font-size:40px}.main-controls .play-pause-btn .mat-icon{height:auto;width:auto}.main-controls .half-opacity{opacity:.2}.main-controls .no-opacity{background-color:transparent}button.transparent-btn{background:transparent;border:0!important}.pause_btn{height:100%;opacity:.02!important;width:100%}.pause_btn:hover{background-color:rgba(0,0,0,.7411764705882353);opacity:1!important}.hide-pause-btn{opacity:0!important}.no-photo{align-items:center;display:flex;font-size:14px;height:35px;justify-content:center;width:35px}.overlymask-video{background-image:linear-gradient(hsla(0,0%,100%,.058823529411764705),rgba(0,0,0,.1803921568627451));background-position:0 bottom;height:275px;position:absolute;width:100%;z-index:0}"]}]}],ee.ctorParameters=function(){return[{type:void 0,decorators:[{type:o.Inject,args:[h.DOCUMENT]}]},{type:o.ElementRef},{type:o.ChangeDetectorRef}]},ee.propDecorators={currentUserId:[{type:o.Input}],user:[{type:o.Input}],eventId:[{type:o.Input}],videoObj:[{type:o.Input}],isDev:[{type:o.Input}],type:[{type:o.Input}],video:[{type:o.ViewChild,args:["video"]}],fullscreenvideo:[{type:o.ViewChild,args:["fullscreenvideo"]}],connectWithUser:[{type:o.Output}],scheduleMeeting:[{type:o.Output}]};var te=function(){function e(e,t){this.cdr=e,this.http=t,this.documentName="doc name",this.quillConfig={toolbar:[[{header:"1"},{header:"2"},{font:[]}],[{list:"ordered"},{list:"bullet"}],["bold","italic","underline"],["link"],["clean"]]}}return e.prototype.ngOnInit=function(){var e=this;this.environment=U,setTimeout((function(){e.isDocInEditMode?(console.log("In Edit mode"),e.filldataInForm()):console.log("In save mode")}),2500)},e.prototype.filldataInForm=function(){var e,t;this.documentContent&&(this.documentName=null===(e=this.documentContent)||void 0===e?void 0:e.name,this.editorContent=null===(t=this.documentContent)||void 0===t?void 0:t.content,this.cdr.detectChanges())},e.prototype.saveContent=function(){this.isDocInEditMode,this.saveContent_http().subscribe()},e.prototype.saveContent_http=function(){var e=this;console.log("API call function");var t=this.environment.AGENTS_API+"/ConversationDocuments?conversationId="+this.conversationId+"&botId="+this.botId,n=new i.HttpHeaders({"Content-Type":"application/json",apiKey:"WIz/qAm+EEmfOkFaUA/weA=="}),o={name:this.documentName,content:this.editorContent};return this.http.post(t,o,{headers:n}).pipe(r.switchMap((function(t){return e.cdr.markForCheck(),s.of(t)})),r.catchError((function(e){return console.error("Error fetching chatbot config: ",e),s.of(null)})))},e.prototype.updateContent_http=function(){var e=this;console.log("API call function");var t=this.environment.AGENTS_API+"/ConversationDocuments/rename?conversationId="+this.conversationId+"&botId="+this.botId,n=new i.HttpHeaders({"Content-Type":"application/json",apiKey:"WIz/qAm+EEmfOkFaUA/weA=="}),o={name:this.documentName,content:this.editorContent};return this.http.put(t,o,{headers:n}).pipe(r.switchMap((function(t){return e.cdr.markForCheck(),s.of(t)})),r.catchError((function(e){return console.error("Error fetching chatbot config: ",e),s.of(null)})))},e}();te.decorators=[{type:o.Component,args:[{selector:"lib-bot-html-editor",template:'<div style="padding: 12px">\n <div style="margin-top: 42px" class="form-group">\n <input [(ngModel)]="documentName" class="form-control" type="text" />\n <button (click)="saveContent()" class="save-btn">Save</button>\n </div>\n\n <quill-editor\n [(ngModel)]="editorContent"\n [modules]="quillConfig"\n ></quill-editor>\n</div>\n',styles:[".save-btn{background-color:#f0f0f0;border:none;color:#333;margin-top:22px;position:absolute;right:16px;width:56px}"]}]}],te.ctorParameters=function(){return[{type:o.ChangeDetectorRef},{type:i.HttpClient}]},te.propDecorators={editorContent:[{type:o.Input}],isDocInEditMode:[{type:o.Input}],documentContent:[{type:o.Input}],conversationId:[{type:o.Input}],botId:[{type:o.Input}]};var ne=function(){};ne.decorators=[{type:o.NgModule,args:[{declarations:[J,Y,ee,Q,te],imports:[h.CommonModule,t.OverlayModule,g.MatIconModule,m.MatSidenavModule,l.FormsModule,l.ReactiveFormsModule,f.QuillModule,X],exports:[J,Y,ee]}]}],e.AudioAnalyzerService=N,e.ChatBotComponent=J,e.ChatDrawerComponent=Y,e.HiveGptModule=ne,e.VOICE_MODAL_CLOSE_CALLBACK=Z,e.VOICE_MODAL_CONFIG=G,e.VoiceAgentModalComponent=$,e.VoiceAgentModule=X,e.VoiceAgentService=K,e["ɵa"]=V,e["ɵb"]=R,e["ɵc"]=P,e["ɵd"]=O,e["ɵe"]=L,e["ɵf"]=W,e["ɵg"]=H,e["ɵh"]=ee,e["ɵi"]=Q,e["ɵj"]=te,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/cdk/overlay"),require("@angular/cdk/portal"),require("@angular/common/http"),require("@angular/core"),require("@angular/platform-browser"),require("rxjs"),require("rxjs/operators"),require("ngx-socket-io"),require("@angular/forms"),require("microsoft-cognitiveservices-speech-sdk"),require("marked"),require("@daily-co/daily-js"),require("@angular/common"),require("@angular/material/icon"),require("@angular/material/sidenav"),require("ngx-quill")):"function"==typeof define&&define.amd?define("@hivegpt/hiveai-angular",["exports","@angular/cdk/overlay","@angular/cdk/portal","@angular/common/http","@angular/core","@angular/platform-browser","rxjs","rxjs/operators","ngx-socket-io","@angular/forms","microsoft-cognitiveservices-speech-sdk","marked","@daily-co/daily-js","@angular/common","@angular/material/icon","@angular/material/sidenav","ngx-quill"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).hivegpt=e.hivegpt||{},e.hivegpt["hiveai-angular"]={}),e.ng.cdk.overlay,e.ng.cdk.portal,e.ng.common.http,e.ng.core,e.ng.platformBrowser,e.rxjs,e.rxjs.operators,e.ngxSocketIo,e.ng.forms,e.SpeechSDK,e.marked,e.Daily,e.ng.common,e.ng.material.icon,e.ng.material.sidenav,e.ngxQuill)}(this,(function(e,t,n,i,o,a,s,r,c,l,d,p,u,h,g,m,f){"use strict";function v(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function b(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var y=b(i),x=b(o),w=b(d),k=b(p),S=v(u),C=function(e,t){return C=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},C(e,t)};function I(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}C(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function T(e,t,n,i){return new(n||(n=Promise))((function(o,a){function s(e){try{c(i.next(e))}catch(e){a(e)}}function r(e){try{c(i.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,r)}c((i=i.apply(e,t||[])).next())}))}function A(e,t){var n,i,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=r(0),s.throw=r(1),s.return=r(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function r(r){return function(c){return function(r){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,r[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return a.label++,{value:r[1],done:!1};case 5:a.label++,i=r[1],r=[0];continue;case 7:r=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==r[0]&&2!==r[0])){a=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]<o[3])){a.label=r[1];break}if(6===r[0]&&a.label<o[1]){a.label=o[1],o=r;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(r);break}o[2]&&a.ops.pop(),a.trys.pop();continue}r=t.call(e,a)}catch(e){r=[6,e],i=0}finally{n=o=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,c])}}}Object.create;function M(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],i=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function _(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,o,a=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(i=a.next()).done;)s.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s}function E(e,t,n){if(n||2===arguments.length)for(var i,o=0,a=t.length;o<a;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))}Object.create;"function"==typeof SuppressedError&&SuppressedError;var L=function(){function e(){this.eventId=null,this.translationsData=[{Key:"Copy",DefaultValue:"Copy",Translations:{en:"Copy",fr:"Copier",it:"Copia",es:"Copiar",de:"Kopieren","pt-br":"Copiar",ar:"نسخ",zh:"复制",ru:"Копировать"}},{Key:"May I assist you with anything else",DefaultValue:"Great. May I assist you with anything else?",Translations:{en:"Great. May I assist you with anything else?",fr:"Parfait. Puis-je vous aider avec autre chose ?",it:"Perfetto. Posso aiutarti con qualcos'altro?",es:"Genial. ¿Puedo ayudarte con algo más?",de:"Super. Kann ich Ihnen noch bei etwas anderem helfen?","pt-br":"Ótimo. Posso ajudar com mais alguma coisa?",ar:"رائع. هل يمكنني مساعدتك في أي شيء آخر؟",zh:"太好了。还有什么我可以帮您的吗?",ru:"Отлично. Могу ли я помочь вам с чем-то ещё?"}},{Key:"We are sorry we've not been able to answer your question",DefaultValue:'We are sorry we\'ve not been able to answer your question. However, our dedicated support team is happy to help. Please <a href="mailto:support@social27.com">click here</a> and a human agent will assist you as soon as possible.',Translations:{en:'We are sorry we\'ve not been able to answer your question. However, our dedicated support team is happy to help. Please <a href="mailto:support@social27.com">click here</a> and a human agent will assist you as soon as possible.',fr:'Nous sommes désolés de ne pas avoir pu répondre à votre question. Cependant, notre équipe d\'assistance se fera un plaisir de vous aider. Veuillez <a href="mailto:support@social27.com">cliquer ici</a> et un agent humain vous assistera dès que possible.',it:'Ci dispiace di non essere riusciti a rispondere alla tua domanda. Tuttavia, il nostro team di supporto dedicato sarà lieto di aiutarti. Ti preghiamo di <a href="mailto:support@social27.com">fare clic qui</a> e un operatore umano ti assisterà al più presto.',es:'Lamentamos no haber podido responder a tu pregunta. Sin embargo, nuestro equipo de soporte estará encantado de ayudarte. Por favor, <a href="mailto:support@social27.com">haz clic aquí</a> y un agente humano te asistirá lo antes posible.',de:'Es tut uns leid, dass wir Ihre Frage nicht beantworten konnten. Unser engagiertes Support-Team hilft Ihnen jedoch gerne weiter. Bitte <a href="mailto:support@social27.com">klicken Sie hier</a>, und ein menschlicher Mitarbeiter wird Ihnen so bald wie möglich helfen.',"pt-br":'Lamentamos não ter conseguido responder à sua pergunta. No entanto, nossa equipe de suporte dedicada ficará feliz em ajudar. Por favor, <a href="mailto:support@social27.com">clique aqui</a> e um agente humano o ajudará o mais rápido possível.',ar:'نأسف لعدم تمكننا من الإجابة على سؤالك. ومع ذلك، يسعد فريق الدعم المخصص لدينا بمساعدتك. يرجى <a href="mailto:support@social27.com">النقر هنا</a> وسيساعدك أحد الوكلاء البشريين في أقرب وقت ممكن.',zh:'很抱歉我们未能回答您的问题。不过,我们的专属支持团队很乐意为您提供帮助。请<a href="mailto:support@social27.com">点击这里</a>,人工客服将尽快为您提供协助。',ru:'К сожалению, мы не смогли ответить на ваш вопрос. Однако наша служба поддержки с радостью вам поможет. Пожалуйста, <a href="mailto:support@social27.com">нажмите здесь</a>, и наш оператор свяжется с вами как можно скорее.'}},{Key:"Ask anything",DefaultValue:"Ask anything",Translations:{en:"Ask anything",fr:"Demandez ce que vous voulez",it:"Chiedi qualsiasi cosa",es:"Pregunta lo que quieras",de:"Frag alles","pt-br":"Pergunte qualquer coisa",ar:"اسأل أي شيء",zh:"随便问",ru:"Спросите что угодно"}},{Key:"Assistant",DefaultValue:"Assistant",Translations:{en:"Assistant",fr:"Assistant",it:"Assistente",es:"Asistente",de:"Assistent","pt-br":"Assistente",ar:"مساعد",zh:"助手",ru:"Ассистент"}},{Key:"Your personal or company information is kept private and secure within this chat.",DefaultValue:"Your personal or company information is kept private and secure within this chat.",Translations:{en:"Your personal or company information is kept private and secure within this chat.",fr:"Vos informations personnelles ou celles de votre entreprise sont conservées privées et sécurisées dans cette conversation.",it:"Le tue informazioni personali o aziendali sono mantenute private e sicure all'interno di questa chat.",es:"Tu información personal o de la empresa se mantiene privada y segura dentro de este chat.",de:"Ihre persönlichen oder geschäftlichen Informationen bleiben in diesem Chat privat und sicher.","pt-br":"Suas informações pessoais ou da empresa são mantidas privadas e seguras dentro deste chat.",ar:"تظل معلوماتك الشخصية أو معلومات شركتك خاصة وآمنة داخل هذه المحادثة.",zh:"您的个人或公司信息在此聊天中保持私密和安全。",ru:"Ваша личная или корпоративная информация остается конфиденциальной и защищенной в этом чате."}},{Key:"Send message",DefaultValue:"Send message",Translations:{en:"Send message",fr:"Envoyer un message",it:"Invia messaggio",es:"Enviar mensaje",de:"Nachricht senden","pt-br":"Enviar mensagem",ar:"إرسال رسالة",zh:"发送消息",ru:"Отправить сообщение"}},{Key:"Platform GPT",DefaultValue:"Platform GPT",Translations:{en:"Platform GPT",fr:"Plateforme GPT",it:"Piattaforma GPT",es:"Plataforma GPT",de:"Plattform GPT","pt-br":"Plataforma GPT",ar:"منصة GPT",zh:"平台 GPT",ru:"Платформа GPT"}},{Key:"New Chat",DefaultValue:"New Chat",Translations:{en:"New Chat",fr:"Nouvelle conversation",it:"Nuova chat",es:"Nuevo chat",de:"Neuer Chat","pt-br":"Novo chat",ar:"محادثة جديدة",zh:"新聊天",ru:"Новый чат"}},{Key:"You",DefaultValue:"You",Translations:{en:"You",fr:"Vous",it:"Tu",es:"Tú",de:"Du","pt-br":"Você",ar:"أنت",zh:"您",ru:"Вы"}},{Key:"Write your message",DefaultValue:"Write your message",Translations:{en:"Write your message",fr:"Écrivez votre message",it:"Scrivi il tuo messaggio",es:"Escribe tu mensaje",de:"Schreiben Sie Ihre Nachricht","pt-br":"Escreva sua mensagem",ar:"اكتب رسالتك",zh:"写下您的消息",ru:"Напишите ваше сообщение"}},{Key:"Send",DefaultValue:"Send",Translations:{en:"Send",fr:"Envoyer",it:"Invia",es:"Enviar",de:"Senden","pt-br":"Enviar",ar:"إرسال",zh:"发送",ru:"Отправить"}},{Key:"Call Interface",DefaultValue:"Call Interface",Translations:{en:"Call Interface",fr:"Interface d'appel",it:"Interfaccia chiamata",es:"Interfaz de llamada",de:"Anrufoberfläche","pt-br":"Interface de chamada",ar:"واجهة الاتصال",zh:"呼叫界面",ru:"Интерфейс звонка"}},{Key:"Close",DefaultValue:"Close",Translations:{en:"Close",fr:"Fermer",it:"Chiudi",es:"Cerrar",de:"Schließen","pt-br":"Fechar",ar:"إغلاق",zh:"关闭",ru:"Закрыть"}}]}return e.prototype.setEventId=function(e){this.eventId=e},e.prototype.getTranslation=function(e){console.log("eventId",this.eventId);var t=(localStorage.getItem("defaultLanguage-"+this.eventId)||"en").replace(/^"|"$/g,""),n=this.translationsData.find((function(t){return t.Key===e}));return n&&(n.Translations[t]||n.DefaultValue)||e},e.prototype.getLang=function(e){var t="defaultLanguage"+(e?"-"+e:"");return localStorage.getItem(t)||"en"},e}();L.ɵprov=x.ɵɵdefineInjectable({factory:function(){return new L},token:L,providedIn:"root"}),L.decorators=[{type:o.Injectable,args:[{providedIn:"root"}]}];var D=function(e){var t=e.getHours()%12,n=e.getMinutes();return 0===t&&(t=12),(t<10?"0"+t:t)+":"+(n<10?"0"+n:n)+" "+(e.getHours()<12?"AM":"PM")},j=function(e){var t=new Date;if(e){var n={hour12:!0,hour:"numeric",minute:"numeric",timeZone:e};return t.toLocaleString("en-US",n)}return D(t)},F=function(e,t){var n=new Date(t+"Z"),i={hour12:!0,hour:"numeric",minute:"numeric"};return e&&e.trim()&&(i.timeZone=e.trim()),n.toLocaleString("en-US",i)},U={USERS_API:"https://es-user.social27.com/api",BASE_URL:"https://agent-api.hivegpt.ai",AGENTS_API:"https://hive-ai.social27.com/api",API_KEY:"82595783-dc9c-4513-8204-709818d51be3",SocketUrl:"https://notif-v2-ws.social27.com/"},z={USERS_API:"https://pre-user.social27.com/api",BASE_URL:"https://pre-agent-api.hivegpt.ai",AGENTS_API:"https://hive-pre-ai.social27.com/api",API_KEY:"66d59244c50b8fb597a101t1",SocketUrl:"https://notif-ws-staging.social27.com/"},P=function(){function e(){this.conversationStorageKeyPrefix="conversationKey_",this.sessionStorageKeyPrefix="sessionKey_",this.userSpecificNotification=new s.Subject}return e.prototype.generateKey=function(){return Math.floor((new Date).getTime()/1e3).toString(16)+"xxxxxxxxxxxxxxxx".replace(/[x]/g,(function(){return Math.floor(16*Math.random()).toString(16)}))},e.prototype.getKey=function(e,t){void 0===t&&(t=!1);var n=""+this.conversationStorageKeyPrefix+e,i=localStorage.getItem(n);return i&&!t||(i=this.generateKey(),localStorage.setItem(n,i)),i},e.prototype.getSessionKey=function(e,t){void 0===t&&(t=!1);var n=""+this.sessionStorageKeyPrefix+e,i=localStorage.getItem(n);return i&&!t||(i=this.generateKey(),localStorage.setItem(n,i)),i},e.prototype.sendValidatedUserData=function(e){this.userSpecificNotification.next(e)},e.prototype.getUserSpecificNotification=function(){return this.userSpecificNotification.asObservable()},e}();P.ɵprov=x.ɵɵdefineInjectable({factory:function(){return new P},token:P,providedIn:"root"}),P.decorators=[{type:o.Injectable,args:[{providedIn:"root"}]}],P.ctorParameters=function(){return[]};var O=function(e){function t(){var t=e.call(this,B)||this;return t.on("connect",(function(){console.log("Socket connected")})),t.on("disconnect",(function(){console.warn("Socket disconnected")})),t.on("connect_error",(function(e){console.error("Socket connection error:",e)})),t}return I(t,e),t}(c.Socket);O.ɵprov=x.ɵɵdefineInjectable({factory:function(){return new O},token:O,providedIn:"root"}),O.decorators=[{type:o.Injectable,args:[{providedIn:"root"}]}],O.ctorParameters=function(){return[]};var B={url:U.SocketUrl,options:{transports:["websocket","polling"],reconnection:!0,autoConnect:!0,upgrade:!0,reconnectionDelay:1e3,reconnectionDelayMax:5e3,reconnectionAttempts:1/0}},R=function(){function e(e,t){this.conversationService=e,this.notificationSocket=t,this.isCommonSocketInitialized=!1,this.isUserSpecificSocketInitialized=!1,this.isUserSpecificEventReleased=!0,this.messageQueue=[],this.releaseInterval=1e3,this.intervalSetup=!1,this.startReleasingMessages()}return e.prototype.isSocketInitialized=function(e){return e?this.isCommonSocketInitialized:this.isUserSpecificSocketInitialized&&!this.isUserSpecificEventReleased},e.prototype.disconnectSocketConnection=function(){this.notificationSocket.disconnect()},e.prototype.connectSocketConnection=function(){this.notificationSocket.connect()},e.prototype.registerUserSpecificHiveSocket=function(e,t,n){var i=this,o="Hive_AI_Notifs_"+e+"_"+t,a="Hive_AI_Notifs_"+n;this.notificationSocket.emit("joinData",{groupId:o}),this.notificationSocket.emit("joinData",{groupId:a}),this.notificationSocket.fromEvent("commonNotification").subscribe((function(e){var t,n,o,a,s,r,c;console.log("[Socket Chat] Received commonNotification",{hasOtherFields:!!(null===(t=null==e?void 0:e.m)||void 0===t?void 0:t.OtherFields),messageId:null===(o=null===(n=null==e?void 0:e.m)||void 0===n?void 0:n.OtherFields)||void 0===o?void 0:o.message_id,hasAnswer:!!(null===(s=null===(a=null==e?void 0:e.m)||void 0===a?void 0:a.OtherFields)||void 0===s?void 0:s.answer),isWorkflow:!!(null===(c=null===(r=null==e?void 0:e.m)||void 0===r?void 0:r.OtherFields)||void 0===c?void 0:c.workflow_id),raw:e}),i.conversationService.sendValidatedUserData(e)}),(function(e){console.error("Error receiving commonNotification:",e)}))},e.prototype.startReleasingMessages=function(){var e=this;this.intervalSetup||(setInterval((function(){if(e.messageQueue.length>0){var t=e.messageQueue.shift();console.log("Releasing message from queue:",t)}}),this.releaseInterval),this.intervalSetup=!0)},e}();R.ɵprov=x.ɵɵdefineInjectable({factory:function(){return new R(x.ɵɵinject(P),x.ɵɵinject(O))},token:R,providedIn:"root"}),R.decorators=[{type:o.Injectable,args:[{providedIn:"root"}]}],R.ctorParameters=function(){return[{type:P},{type:O}]};var V=function(){function e(e){this.http=e,this.eventDescription=new s.Subject,this.bot_api="https://agent-api.hivegpt.ai/"}return e.prototype.fetchSpeechAuthorizationToken=function(e,t,n){var o=new i.HttpHeaders({"Content-Type":"application/json","x-api-key":t,"hive-bot-id":e,"domain-authority":n}),a=""+(this.bot_api+"speech/issue_token");return this.http.get(a,{headers:o}).pipe(r.map((function(e){return e.token})))},e.prototype.getWorkflowsByOrgId=function(e){var t=this.bot_api+"workflows"+"?org_id="+e;return this.http.get(t).pipe(r.map((function(e){return e})))},e.prototype.getWorkflowExecutionById=function(e){var t=this.bot_api+"workflows/execution/"+e;return this.http.get(t).pipe(r.map((function(e){return e})))},e}();V.ɵprov=x.ɵɵdefineInjectable({factory:function(){return new V(x.ɵɵinject(y.HttpClient))},token:V,providedIn:"root"}),V.decorators=[{type:o.Injectable,args:[{providedIn:"root"}]}],V.ctorParameters=function(){return[{type:i.HttpClient}]};var N=function(){function e(){this.audioContext=null,this.analyserNode=null,this.dataArray=null,this.animationFrameId=null,this.isRunning=!1,this.audioLevelsSubject=new s.BehaviorSubject([]),this.isUserSpeakingSubject=new s.BehaviorSubject(!1),this.noiseFloor=0,this.noiseFloorSamples=[],this.NOISE_FLOOR_SAMPLE_COUNT=30,this.SPEAKING_THRESHOLD_MULTIPLIER=2.5,this.WAVEFORM_BAR_COUNT=40,this.audioLevels$=this.audioLevelsSubject.asObservable(),this.isUserSpeaking$=this.isUserSpeakingSubject.asObservable()}return e.prototype.start=function(e){this.isRunning&&this.stop();try{this.audioContext=new(window.AudioContext||window.webkitAudioContext);var t=this.audioContext.createMediaStreamSource(e);this.analyserNode=this.audioContext.createAnalyser(),this.analyserNode.fftSize=2048,this.analyserNode.smoothingTimeConstant=.8;var n=this.analyserNode.frequencyBinCount;this.dataArray=new Uint8Array(n),t.connect(this.analyserNode),this.isRunning=!0,this.noiseFloorSamples=[],this.noiseFloor=0,this.analyze()}catch(e){console.error("Error starting audio analyzer:",e),this.stop()}},e.prototype.stop=function(){this.isRunning=!1,null!==this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null),this.analyserNode&&(this.analyserNode.disconnect(),this.analyserNode=null),this.audioContext&&"closed"!==this.audioContext.state&&(this.audioContext.close().catch(console.error),this.audioContext=null),this.dataArray=null,this.audioLevelsSubject.next([]),this.isUserSpeakingSubject.next(!1)},e.prototype.analyze=function(){var e=this;if(this.isRunning&&this.analyserNode&&this.dataArray){this.analyserNode.getByteTimeDomainData(this.dataArray);var t=this.calculateRMS(this.dataArray);if(this.noiseFloorSamples.length<this.NOISE_FLOOR_SAMPLE_COUNT){if(this.noiseFloorSamples.push(t),this.noiseFloorSamples.length===this.NOISE_FLOOR_SAMPLE_COUNT){var n=this.noiseFloorSamples.reduce((function(e,t){return e+t}),0);this.noiseFloor=n/this.NOISE_FLOOR_SAMPLE_COUNT}}else this.noiseFloor=.99*this.noiseFloor+.01*t;var i=t>this.noiseFloor*this.SPEAKING_THRESHOLD_MULTIPLIER;this.isUserSpeakingSubject.next(i);var o=this.generateWaveformBars(this.dataArray);this.audioLevelsSubject.next(o),this.animationFrameId=requestAnimationFrame((function(){return e.analyze()}))}},e.prototype.calculateRMS=function(e){for(var t=0,n=0;n<e.length;n++){var i=(e[n]-128)/128;t+=i*i}return Math.sqrt(t/e.length)},e.prototype.generateWaveformBars=function(e){for(var t=[],n=Math.floor(e.length/this.WAVEFORM_BAR_COUNT),i=0;i<this.WAVEFORM_BAR_COUNT;i++){var o=e[i*n],a=100*Math.abs((o-128)/128);t.push(Math.min(100,Math.max(0,a)))}return t},e}();N.ɵprov=x.ɵɵdefineInjectable({factory:function(){return new N},token:N,providedIn:"root"}),N.decorators=[{type:o.Injectable,args:[{providedIn:"root"}]}];var W=function(){function e(){this.ws=null,this.roomCreatedSubject=new s.Subject,this.userTranscriptSubject=new s.Subject,this.botTranscriptSubject=new s.Subject,this.roomCreated$=this.roomCreatedSubject.asObservable(),this.userTranscript$=this.userTranscriptSubject.asObservable(),this.botTranscript$=this.botTranscriptSubject.asObservable()}return e.prototype.connect=function(e){var t,n=this;if((null===(t=this.ws)||void 0===t?void 0:t.readyState)!==WebSocket.OPEN){this.ws&&(this.ws.close(),this.ws=null);try{this.ws=new WebSocket(e),this.ws.onmessage=function(e){var t;try{var i=JSON.parse(e.data);if("room_created"===(null==i?void 0:i.type)){var o=null!==(t=i.room_url)&&void 0!==t?t:i.roomUrl;"string"==typeof o&&n.roomCreatedSubject.next(o)}else"user_transcript"===(null==i?void 0:i.type)&&"string"==typeof i.text?n.userTranscriptSubject.next({text:i.text,final:!0===i.final}):"bot_transcript"===(null==i?void 0:i.type)&&"string"==typeof i.text&&n.botTranscriptSubject.next(i.text)}catch(e){}},this.ws.onerror=function(){n.disconnect()},this.ws.onclose=function(){n.ws=null}}catch(e){throw console.error("WebSocketVoiceClient: connect failed",e),this.ws=null,e}}},e.prototype.disconnect=function(){this.ws&&(this.ws.close(),this.ws=null)},Object.defineProperty(e.prototype,"isConnected",{get:function(){var e;return(null===(e=this.ws)||void 0===e?void 0:e.readyState)===WebSocket.OPEN},enumerable:!1,configurable:!0}),e}();W.ɵprov=x.ɵɵdefineInjectable({factory:function(){return new W},token:W,providedIn:"root"}),W.decorators=[{type:o.Injectable,args:[{providedIn:"root"}]}];var H=function(){function e(e){this.ngZone=e,this.callObject=null,this.localStream=null,this.localSessionId=null,this.remoteAudioElement=null,this.remoteAudioContext=null,this.remoteSpeakingRAF=null,this.speakingSubject=new s.BehaviorSubject(!1),this.userSpeakingSubject=new s.BehaviorSubject(!1),this.micMutedSubject=new s.BehaviorSubject(!1),this.localStreamSubject=new s.BehaviorSubject(null),this.speaking$=this.speakingSubject.asObservable(),this.userSpeaking$=this.userSpeakingSubject.asObservable(),this.micMuted$=this.micMutedSubject.asObservable(),this.localStream$=this.localStreamSubject.asObservable()}return e.prototype.connect=function(e,t){return T(this,void 0,void 0,(function(){var n,i,o,a,s,r;return A(this,(function(c){switch(c.label){case 0:return this.callObject?[4,this.disconnect()]:[3,2];case 1:c.sent(),c.label=2;case 2:return c.trys.push([2,5,,6]),[4,navigator.mediaDevices.getUserMedia({audio:!0})];case 3:if(n=c.sent(),!(i=n.getAudioTracks()[0]))throw n.getTracks().forEach((function(e){return e.stop()})),new Error("No audio track");return this.localStream=n,this.localStreamSubject.next(n),o=S.default.createCallObject({videoSource:!1,audioSource:i}),this.callObject=o,this.setupEventHandlers(o),a={url:e},"string"==typeof t&&""!==t.trim()&&(a.token=t),[4,o.join(a)];case 4:return c.sent(),console.log("[VoiceDebug] Room connected (Daily join complete) — "+(new Date).toISOString()),(null==(s=o.participants())?void 0:s.local)&&(this.localSessionId=s.local.session_id),this.micMutedSubject.next(!o.localAudio()),[3,6];case 5:throw r=c.sent(),this.cleanup(),r;case 6:return[2]}}))}))},e.prototype.setupEventHandlers=function(e){var t=this;e.on("active-speaker-change",(function(e){t.ngZone.run((function(){var n,i=null===(n=null==e?void 0:e.activeSpeaker)||void 0===n?void 0:n.peerId;if(i&&t.localSessionId){var o=i===t.localSessionId;t.userSpeakingSubject.next(o)}else t.userSpeakingSubject.next(!1)}))})),e.on("track-started",(function(e){t.ngZone.run((function(){var n,i,o,a,s=null==e?void 0:e.participant,r=null!==(n=null==e?void 0:e.type)&&void 0!==n?n:null===(i=null==e?void 0:e.track)||void 0===i?void 0:i.kind,c=null==e?void 0:e.track;if(s&&!s.local&&"audio"===r){console.log("[VoiceDebug] Got audio track from backend (track-started) — readyState="+(null==c?void 0:c.readyState)+", muted="+(null==c?void 0:c.muted)+" — "+(new Date).toISOString());var l=null!=c?c:null===(a=null===(o=s.tracks)||void 0===o?void 0:o.audio)||void 0===a?void 0:a.track;l&&"object"==typeof l&&(t.playRemoteTrack(l),t.monitorRemoteAudio(l))}}))})),e.on("track-stopped",(function(e){t.ngZone.run((function(){var n,i,o=null==e?void 0:e.participant,a=null!==(n=null==e?void 0:e.type)&&void 0!==n?n:null===(i=null==e?void 0:e.track)||void 0===i?void 0:i.kind;o&&!o.local&&"audio"===a&&(t.stopRemoteAudioMonitor(),t.stopRemoteAudio())}))})),e.on("left-meeting",(function(){t.ngZone.run((function(){return t.cleanup()}))})),e.on("error",(function(e){t.ngZone.run((function(){var n;console.error("DailyVoiceClient: Daily error",null!==(n=null==e?void 0:e.errorMsg)&&void 0!==n?n:e),t.cleanup()}))}))},e.prototype.playRemoteTrack=function(e){this.stopRemoteAudio();try{console.log("[VoiceDebug] playRemoteTrack called — track.readyState="+e.readyState+", track.muted="+e.muted+" — "+(new Date).toISOString()),e.onunmute=function(){console.log("[VoiceDebug] Remote audio track UNMUTED (audio data arriving) — "+(new Date).toISOString())};var t=new MediaStream([e]),n=new Audio;n.autoplay=!0,n.srcObject=t,this.remoteAudioElement=n,n.onplaying=function(){console.log("[VoiceDebug] Audio element PLAYING (browser started playback) — "+(new Date).toISOString())};var i=!0;n.ontimeupdate=function(){i&&(i=!1,console.log("[VoiceDebug] Audio element first TIMEUPDATE (actual audio output) — "+(new Date).toISOString()))};var o=n.play();o&&"function"==typeof o.then&&o.then((function(){console.log("[VoiceDebug] audio.play() resolved — "+(new Date).toISOString())})).catch((function(e){console.warn("DailyVoiceClient: remote audio play failed (may need user gesture)",e)}))}catch(e){console.warn("DailyVoiceClient: failed to create remote audio element",e)}},e.prototype.monitorRemoteAudio=function(e){var t=this;this.stopRemoteAudioMonitor();try{var n=new AudioContext,i=n.createMediaStreamSource(new MediaStream([e])),o=n.createAnalyser();o.fftSize=256,i.connect(o),this.remoteAudioContext=n;var a=new Uint8Array(o.frequencyBinCount),s=0,r=!1,c=function(){if(t.remoteAudioContext){o.getByteFrequencyData(a);for(var e=0,n=0;n<a.length;n++)e+=a[n];var i=e/a.length,l=Date.now();i>5?(s=l,r||(r=!0,console.log("[VoiceDebug] Bot audio energy detected (speaking=true) — avg="+i.toFixed(1)+" — "+(new Date).toISOString()),t.ngZone.run((function(){t.userSpeakingSubject.next(!1),t.speakingSubject.next(!0)})))):r&&l-s>1500&&(r=!1,console.log("[VoiceDebug] Bot audio silence detected (speaking=false) — "+(new Date).toISOString()),t.ngZone.run((function(){return t.speakingSubject.next(!1)}))),t.remoteSpeakingRAF=requestAnimationFrame(c)}};this.remoteSpeakingRAF=requestAnimationFrame(c)}catch(e){console.warn("DailyVoiceClient: failed to create remote audio monitor",e)}},e.prototype.stopRemoteAudioMonitor=function(){this.remoteSpeakingRAF&&(cancelAnimationFrame(this.remoteSpeakingRAF),this.remoteSpeakingRAF=null),this.remoteAudioContext&&(this.remoteAudioContext.close().catch((function(){})),this.remoteAudioContext=null)},e.prototype.stopRemoteAudio=function(){if(this.remoteAudioElement){try{this.remoteAudioElement.pause(),this.remoteAudioElement.srcObject=null}catch(e){}this.remoteAudioElement=null}},e.prototype.setMuted=function(e){this.callObject&&(this.callObject.setLocalAudio(!e),this.micMutedSubject.next(e))},e.prototype.disconnect=function(){return T(this,void 0,void 0,(function(){return A(this,(function(e){switch(e.label){case 0:if(!this.callObject)return this.cleanup(),[2];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,this.callObject.leave()];case 2:return e.sent(),[3,4];case 3:return e.sent(),[3,4];case 4:return this.cleanup(),[2]}}))}))},e.prototype.cleanup=function(){this.stopRemoteAudioMonitor(),this.stopRemoteAudio(),this.callObject&&(this.callObject.destroy().catch((function(){})),this.callObject=null),this.localStream&&(this.localStream.getTracks().forEach((function(e){return e.stop()})),this.localStream=null),this.localSessionId=null,this.speakingSubject.next(!1),this.userSpeakingSubject.next(!1),this.localStreamSubject.next(null)},e}();H.ɵprov=x.ɵɵdefineInjectable({factory:function(){return new H(x.ɵɵinject(x.NgZone))},token:H,providedIn:"root"}),H.decorators=[{type:o.Injectable,args:[{providedIn:"root"}]}],H.ctorParameters=function(){return[{type:o.NgZone}]};var K=function(){function e(e,t,n){var i=this;this.audioAnalyzer=e,this.wsClient=t,this.dailyClient=n,this.callStateSubject=new s.BehaviorSubject("idle"),this.statusTextSubject=new s.BehaviorSubject(""),this.durationSubject=new s.BehaviorSubject("00:00"),this.isMicMutedSubject=new s.BehaviorSubject(!1),this.isUserSpeakingSubject=new s.BehaviorSubject(!1),this.audioLevelsSubject=new s.BehaviorSubject([]),this.userTranscriptSubject=new s.Subject,this.botTranscriptSubject=new s.Subject,this.callStartTime=0,this.durationInterval=null,this.subscriptions=new s.Subscription,this.destroy$=new s.Subject,this.callState$=this.callStateSubject.asObservable(),this.statusText$=this.statusTextSubject.asObservable(),this.duration$=this.durationSubject.asObservable(),this.isMicMuted$=this.isMicMutedSubject.asObservable(),this.isUserSpeaking$=this.isUserSpeakingSubject.asObservable(),this.audioLevels$=this.audioLevelsSubject.asObservable(),this.userTranscript$=this.userTranscriptSubject.asObservable(),this.botTranscript$=this.botTranscriptSubject.asObservable(),this.subscriptions.add(this.audioAnalyzer.audioLevels$.subscribe((function(e){return i.audioLevelsSubject.next(e)})))}return e.prototype.ngOnDestroy=function(){this.destroy$.next(),this.subscriptions.unsubscribe(),this.disconnect()},e.prototype.resetToIdle=function(){"idle"!==this.callStateSubject.value&&(this.stopDurationTimer(),this.audioAnalyzer.stop(),this.wsClient.disconnect(),this.dailyClient.disconnect(),this.callStateSubject.next("idle"),this.statusTextSubject.next(""),this.durationSubject.next("0:00"))},e.prototype.connect=function(e,t,n,i,o,a,s,c){return T(this,void 0,void 0,(function(){var l,d,p,u,h,g=this;return A(this,(function(m){switch(m.label){case 0:if("idle"!==this.callStateSubject.value)return console.warn("Call already in progress"),[2];m.label=1;case 1:return m.trys.push([1,4,,6]),this.callStateSubject.next("connecting"),this.statusTextSubject.next("Connecting..."),l=e.replace(/\/$/,""),[4,fetch(l+"/ai/ask-voice",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer "+t,"domain-authority":c,eventtoken:a,eventurl:s,"hive-bot-id":n,"x-api-key":o,"ngrok-skip-browser-warning":"true"},body:JSON.stringify({bot_id:n,conversation_id:i,voice:"alloy"})})];case 2:if(!(d=m.sent()).ok)throw new Error("HTTP "+d.status);return[4,d.json()];case 3:if(p=m.sent(),!(u=null==p?void 0:p.rn_ws_url)||"string"!=typeof u)throw new Error("No ws_url in response");return this.wsClient.roomCreated$.pipe(r.take(1),r.takeUntil(this.destroy$)).subscribe((function(e){return T(g,void 0,void 0,(function(){var t;return A(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,4]),[4,this.onRoomCreated(e)];case 1:return n.sent(),[3,4];case 2:return t=n.sent(),console.error("Daily join failed:",t),this.callStateSubject.next("ended"),this.statusTextSubject.next("Connection failed"),[4,this.disconnect()];case 3:throw n.sent(),t;case 4:return[2]}}))}))})),this.subscriptions.add(this.wsClient.userTranscript$.pipe(r.takeUntil(this.destroy$)).subscribe((function(e){return g.userTranscriptSubject.next(e)}))),this.subscriptions.add(this.wsClient.botTranscript$.pipe(r.takeUntil(this.destroy$)).subscribe((function(e){return g.botTranscriptSubject.next(e)}))),this.wsClient.connect(u),[3,6];case 4:return h=m.sent(),console.error("Error connecting voice agent:",h),this.callStateSubject.next("ended"),[4,this.disconnect()];case 5:throw m.sent(),this.statusTextSubject.next("Connection failed"),h;case 6:return[2]}}))}))},e.prototype.onRoomCreated=function(e){return T(this,void 0,void 0,(function(){var t=this;return A(this,(function(n){switch(n.label){case 0:return[4,this.dailyClient.connect(e)];case 1:return n.sent(),this.dailyClient.localStream$.pipe(r.filter((function(e){return null!=e})),r.take(1)).subscribe((function(e){t.audioAnalyzer.start(e)})),this.subscriptions.add(this.dailyClient.userSpeaking$.subscribe((function(e){return t.isUserSpeakingSubject.next(e)}))),this.subscriptions.add(s.combineLatest([this.dailyClient.speaking$,this.dailyClient.userSpeaking$]).subscribe((function(e){var n=_(e,2),i=n[0],o=n[1],a=t.callStateSubject.value;if("connecting"!==a||i)return"connecting"===a&&i?(t.callStartTime=Date.now(),t.startDurationTimer(),void t.callStateSubject.next("talking")):void(o?t.callStateSubject.next("listening"):i?t.callStateSubject.next("talking"):"talking"!==a&&"listening"!==a||t.callStateSubject.next("connected"))}))),this.subscriptions.add(this.dailyClient.micMuted$.subscribe((function(e){return t.isMicMutedSubject.next(e)}))),this.statusTextSubject.next("Connecting..."),[2]}}))}))},e.prototype.disconnect=function(){return T(this,void 0,void 0,(function(){return A(this,(function(e){switch(e.label){case 0:return this.stopDurationTimer(),this.audioAnalyzer.stop(),[4,this.dailyClient.disconnect()];case 1:return e.sent(),this.wsClient.disconnect(),this.callStateSubject.next("ended"),this.statusTextSubject.next("Call Ended"),[2]}}))}))},e.prototype.toggleMic=function(){var e=this.isMicMutedSubject.value;this.dailyClient.setMuted(!e)},e.prototype.startDurationTimer=function(){var e=this,t=function(){if(e.callStartTime>0){var t=Math.floor((Date.now()-e.callStartTime)/1e3),n=Math.floor(t/60),i=t%60;e.durationSubject.next(n+":"+String(i).padStart(2,"0"))}};t(),this.durationInterval=setInterval(t,1e3)},e.prototype.stopDurationTimer=function(){this.durationInterval&&(clearInterval(this.durationInterval),this.durationInterval=null)},e}();K.ɵprov=x.ɵɵdefineInjectable({factory:function(){return new K(x.ɵɵinject(N),x.ɵɵinject(W),x.ɵɵinject(H))},token:K,providedIn:"root"}),K.decorators=[{type:o.Injectable,args:[{providedIn:"root"}]}],K.ctorParameters=function(){return[{type:N},{type:W},{type:H}]};var q,G=new o.InjectionToken("VOICE_MODAL_CONFIG"),Z=new o.InjectionToken("VOICE_MODAL_CLOSE_CALLBACK"),$=function(){function e(e,t,n){this.voiceAgentService=e,this.audioAnalyzer=t,this.injector=n,this.close=new o.EventEmitter,this.apiKey="",this.eventToken="",this.eventUrl="",this.domainAuthority="prod-lite",this.agentName="AI Assistant",this.agentRole="AI Agent Specialist",this.injectedConfig=null,this.onCloseCallback=null,this.displayAvatarUrl="https://www.jotform.com/uploads/mehmetkarakasli/form_files/1564593667676a8e85f23758.86945537_icon.png",this.callState="idle",this.statusText="",this.duration="00:00",this.isMicMuted=!1,this.isUserSpeaking=!1,this.audioLevels=[],this.isSpeaking=!1,this.hasLeftConnectedOnce=!1,this.subscriptions=[],this.isConnecting=!1}return e.prototype.ngOnInit=function(){var e,t,n,i,o,a,s=this;this.injectedConfig=this.injector.get(G,null),this.onCloseCallback=this.injector.get(Z,null),this.injectedConfig&&(this.apiUrl=this.injectedConfig.apiUrl,this.token=this.injectedConfig.token,this.botId=this.injectedConfig.botId,this.conversationId=this.injectedConfig.conversationId,this.apiKey=null!==(e=this.injectedConfig.apiKey)&&void 0!==e?e:"",this.eventToken=null!==(t=this.injectedConfig.eventToken)&&void 0!==t?t:"",this.eventUrl=null!==(n=this.injectedConfig.eventUrl)&&void 0!==n?n:"",this.domainAuthority=null!==(i=this.injectedConfig.domainAuthority)&&void 0!==i?i:"prod-lite",this.agentName=null!==(o=this.injectedConfig.agentName)&&void 0!==o?o:this.agentName,this.agentRole=null!==(a=this.injectedConfig.agentRole)&&void 0!==a?a:this.agentRole,this.agentAvatar=this.injectedConfig.agentAvatar),this.subscriptions.push(this.voiceAgentService.callState$.subscribe((function(e){s.callState=e,s.isSpeaking="talking"===e,"listening"!==e&&"talking"!==e||(s.hasLeftConnectedOnce=!0),"idle"!==e&&"ended"!==e||(s.hasLeftConnectedOnce=!1)}))),this.subscriptions.push(this.voiceAgentService.statusText$.subscribe((function(e){s.statusText=e}))),this.subscriptions.push(this.voiceAgentService.duration$.subscribe((function(e){s.duration=e}))),this.subscriptions.push(this.voiceAgentService.isMicMuted$.subscribe((function(e){s.isMicMuted=e}))),this.subscriptions.push(this.voiceAgentService.isUserSpeaking$.subscribe((function(e){s.isUserSpeaking=e}))),this.subscriptions.push(this.voiceAgentService.audioLevels$.subscribe((function(e){s.audioLevels=e}))),this.voiceAgentService.resetToIdle(),this.startCall()},e.prototype.ngOnDestroy=function(){this.subscriptions.forEach((function(e){return e.unsubscribe()})),this.disconnect()},e.prototype.startCall=function(){return T(this,void 0,void 0,(function(){var e;return A(this,(function(t){switch(t.label){case 0:if(this.isConnecting||"idle"!==this.callState&&"ended"!==this.callState)return[2];this.isConnecting=!0,t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,this.voiceAgentService.connect(this.apiUrl,this.token,this.botId,this.conversationId,this.apiKey,this.eventToken,this.eventUrl,this.domainAuthority)];case 2:return t.sent(),[3,5];case 3:return e=t.sent(),console.error("Failed to connect voice agent:",e),[3,5];case 4:return this.isConnecting=!1,[7];case 5:return[2]}}))}))},e.prototype.disconnect=function(){return T(this,void 0,void 0,(function(){return A(this,(function(e){switch(e.label){case 0:return[4,this.voiceAgentService.disconnect()];case 1:return e.sent(),[2]}}))}))},e.prototype.toggleMic=function(){this.voiceAgentService.toggleMic()},e.prototype.getWaveformHeight=function(e){return 3+Math.min(100,Math.max(0,null!=e?e:0))/100*17},Object.defineProperty(e.prototype,"statusLabel",{get:function(){return"connecting"===this.callState?this.statusText||"Connecting...":"talking"===this.callState?"Talking...":"listening"===this.callState?"Listening":"connected"===this.callState?this.hasLeftConnectedOnce?"Talking...":"Connected":this.statusText||""},enumerable:!1,configurable:!0}),e.prototype.callAgain=function(){this.voiceAgentService.resetToIdle(),this.startCall()},e.prototype.backToChat=function(){this.endCall()},e.prototype.hangUp=function(){this.disconnect()},e.prototype.endCall=function(){var e;this.disconnect(),null===(e=this.onCloseCallback)||void 0===e||e.call(this),this.close.emit()},e}();$.decorators=[{type:o.Component,args:[{selector:"hivegpt-voice-agent-modal",template:'<div class="voice-agent-modal-overlay" (click)="endCall()">\n <div\n class="voice-container voice-agent-modal"\n (click)="$event.stopPropagation()"\n >\n \x3c!-- Header --\x3e\n <div class="header">\n <div class="header-left">\n <div class="header-icon">\n <svg\n width="16"\n height="16"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M12 1C8.13 1 5 4.13 5 8V14C5 17.87 8.13 21 12 21C15.87 21 19 17.87 19 14V8C19 4.13 15.87 1 12 1Z"\n fill="currentColor"\n />\n <path\n d="M12 23C10.34 23 9 21.66 9 20H15C15 21.66 13.66 23 12 23Z"\n fill="currentColor"\n />\n </svg>\n </div>\n <span class="header-title">Voice</span>\n </div>\n <button\n class="close-button"\n (click)="endCall()"\n type="button"\n aria-label="Close"\n >\n <svg\n width="24"\n height="24"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M18 6L6 18M6 6L18 18"\n stroke="currentColor"\n stroke-width="2"\n stroke-linecap="round"\n />\n </svg>\n </button>\n </div>\n\n \x3c!-- Avatar Section with glow --\x3e\n <div class="avatar-section">\n <div class="avatar-glow"></div>\n <div class="avatar-wrapper" [class.speaking]="isSpeaking">\n <img class="avatar-image" [src]="displayAvatarUrl" alt="Nia" />\n </div>\n </div>\n\n \x3c!-- Agent Info: Nia + Collaboration Manager AI Agent Specialist --\x3e\n <div class="agent-info">\n <div class="agent-name">\n Nia\n <span class="ai-badge">AI</span>\n </div>\n <p class="agent-role">COP30 AI Agent </p>\n </div>\n\n \x3c!-- Start Call (when idle only) --\x3e\n <div *ngIf="callState === \'idle\'" class="start-call-section">\n <p *ngIf="statusText === \'Connection failed\'" class="error-message">\n {{ statusText }}\n </p>\n <button\n class="start-call-button"\n type="button"\n [disabled]="isConnecting"\n (click)="startCall()"\n >\n <span *ngIf="isConnecting">Connecting...</span>\n <span *ngIf="!isConnecting && statusText === \'Connection failed\'"\n >Retry</span\n >\n <span *ngIf="!isConnecting && statusText !== \'Connection failed\'"\n >Start Call</span\n >\n </button>\n </div>\n\n \x3c!-- Call Ended: status + Call Again / Back to Chat --\x3e\n <div *ngIf="callState === \'ended\'" class="call-ended-section">\n <p class="call-ended-status">\n <span class="status-text">Call Ended</span>\n <span class="status-timer">{{ duration }}</span>\n </p>\n <div class="call-ended-controls">\n <button\n class="action-btn"\n type="button"\n (click)="callAgain()"\n title="Call Again"\n >\n <svg\n width="18"\n height="18"\n viewBox="0 0 24 24"\n fill="none"\n stroke="currentColor"\n stroke-width="2"\n stroke-linecap="round"\n stroke-linejoin="round"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" />\n <path d="M3 3v5h5" />\n </svg>\n Call Again\n </button>\n <button\n class="action-btn"\n type="button"\n (click)="backToChat()"\n title="Back to Chat"\n >\n <svg\n width="18"\n height="18"\n viewBox="0 0 24 24"\n fill="none"\n stroke="currentColor"\n stroke-width="2"\n stroke-linecap="round"\n stroke-linejoin="round"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" />\n </svg>\n Back to Chat\n </button>\n </div>\n </div>\n\n \x3c!-- Status (when connecting or in-call: Talking... / Listening / Connected + timer) --\x3e\n <div\n class="status-indicator status-inline"\n *ngIf="callState !== \'idle\' && callState !== \'ended\'"\n >\n <div *ngIf="callState === \'connecting\'" class="status-connecting">\n <svg\n class="spinner"\n width="24"\n height="24"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <circle\n cx="12"\n cy="12"\n r="10"\n stroke="currentColor"\n stroke-width="2"\n stroke-linecap="round"\n stroke-dasharray="31.416"\n stroke-dashoffset="31.416"\n >\n <animate\n attributeName="stroke-dasharray"\n dur="2s"\n values="0 31.416;15.708 15.708;0 31.416;0 31.416"\n repeatCount="indefinite"\n />\n <animate\n attributeName="stroke-dashoffset"\n dur="2s"\n values="0;-15.708;-31.416;-31.416"\n repeatCount="indefinite"\n />\n </circle>\n </svg>\n <span class="status-text">{{ statusText }}</span>\n </div>\n <div\n *ngIf="callState !== \'connecting\'"\n class="status-connected status-inline-row"\n >\n <span class="status-text">{{ statusLabel }}</span>\n <span class="status-timer">{{ duration }}</span>\n </div>\n </div>\n\n \x3c!-- Waveform --\x3e\n <div\n *ngIf="callState === \'listening\' && isUserSpeaking"\n class="waveform-container"\n >\n <div class="waveform-bars">\n <div\n *ngFor="let level of audioLevels; let i = index"\n class="waveform-bar"\n [style.height.px]="getWaveformHeight(level)"\n ></div>\n </div>\n </div>\n\n \x3c!-- Call Controls (when connected) --\x3e\n <div\n class="controls"\n *ngIf="\n callState === \'connected\' ||\n callState === \'listening\' ||\n callState === \'talking\'\n "\n >\n <div\n style="\n display: flex;\n align-items: center;\n gap: 2px;\n flex-direction: column;\n "\n >\n <button\n class="control-btn mic-btn"\n [class.muted]="isMicMuted"\n (click)="toggleMic()"\n type="button"\n [title]="isMicMuted ? \'Unmute\' : \'Mute\'"\n >\n \x3c!-- Microphone icon (unmuted) --\x3e\n <svg\n *ngIf="!isMicMuted"\n width="24"\n height="24"\n viewBox="-5 0 32 32"\n xmlns="http://www.w3.org/2000/svg"\n fill="currentColor"\n >\n <g transform="translate(-105, -307)">\n <path\n d="M111,314 C111,311.238 113.239,309 116,309 C118.761,309 121,311.238 121,314 L121,324 C121,326.762 118.761,329 116,329 C113.239,329 111,326.762 111,324 L111,314 L111,314 Z M116,331 C119.866,331 123,327.866 123,324 L123,314 C123,310.134 119.866,307 116,307 C112.134,307 109,310.134 109,314 L109,324 C109,327.866 112.134,331 116,331 L116,331 Z M127,326 L125,326 C124.089,330.007 120.282,333 116,333 C111.718,333 107.911,330.007 107,326 L105,326 C105.883,330.799 110.063,334.51 115,334.955 L115,337 L114,337 C113.448,337 113,337.448 113,338 C113,338.553 113.448,339 114,339 L118,339 C118.552,339 119,338.553 119,338 C119,337.448 118.552,337 118,337 L117,337 L117,334.955 C121.937,334.51 126.117,330.799 127,326 L127,326 Z"\n />\n </g>\n </svg>\n \x3c!-- Microphone icon (muted) --\x3e\n <svg\n *ngIf="isMicMuted"\n width="24"\n height="24"\n viewBox="-5 0 32 32"\n xmlns="http://www.w3.org/2000/svg"\n fill="currentColor"\n >\n <g transform="translate(-105, -307)">\n <path\n d="M111,314 C111,311.238 113.239,309 116,309 C118.761,309 121,311.238 121,314 L121,324 C121,326.762 118.761,329 116,329 C113.239,329 111,326.762 111,324 L111,314 L111,314 Z M116,331 C119.866,331 123,327.866 123,324 L123,314 C123,310.134 119.866,307 116,307 C112.134,307 109,310.134 109,314 L109,324 C109,327.866 112.134,331 116,331 L116,331 Z M127,326 L125,326 C124.089,330.007 120.282,333 116,333 C111.718,333 107.911,330.007 107,326 L105,326 C105.883,330.799 110.063,334.51 115,334.955 L115,337 L114,337 C113.448,337 113,337.448 113,338 C113,338.553 113.448,339 114,339 L118,339 C118.552,339 119,338.553 119,338 C119,337.448 118.552,337 118,337 L117,337 L117,334.955 C121.937,334.51 126.117,330.799 127,326 L127,326 Z"\n />\n </g>\n <path\n d="M2 2 L30 30"\n stroke="currentColor"\n stroke-width="2"\n stroke-linecap="round"\n />\n </svg>\n </button>\n <span class="control-label">Mute</span>\n </div>\n\n <div\n style="\n display: flex;\n align-items: center;\n gap: 2px;\n flex-direction: column;\n "\n >\n <button\n class="control-btn end-call-btn"\n (click)="hangUp()"\n type="button"\n title="End Call"\n >\n <svg\n width="24"\n height="24"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M18 6L6 18M6 6L18 18"\n stroke="currentColor"\n stroke-width="2"\n stroke-linecap="round"\n />\n </svg>\n </button>\n <span class="control-label">End Call</span>\n </div>\n </div>\n </div>\n</div>\n',styles:[":host{display:block}.voice-agent-modal-overlay{align-items:flex-end;backdrop-filter:blur(4px);background:rgba(0,0,0,.5);bottom:0;display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:flex-end;left:0;padding:24px;position:fixed;right:0;top:0;z-index:99999}.voice-container.voice-agent-modal{align-items:center;animation:modalEnter .3s ease-out;background:#fff;border-radius:30px;box-shadow:0 10px 40px rgba(0,0,0,.1);display:flex;flex-direction:column;max-width:440px;min-height:600px;padding:30px;position:relative;text-align:center;width:100%}@keyframes modalEnter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.header{justify-content:space-between;margin-bottom:5px;width:100%}.header,.header-left{align-items:center;display:flex}.header-left{gap:8px}.header-icon{align-items:center;background:#0f172a;border-radius:50%;color:#fff;display:flex;height:28px;justify-content:center;width:28px}.header-title{color:#0f172a;font-size:18px;font-weight:500}.close-button{align-items:center;background:none;border:none;color:#0f172a;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:color .2s}.close-button:hover{color:#475569}.avatar-section{margin-bottom:24px;position:relative}.avatar-wrapper{align-items:center;background:#0ea5a4;background:linear-gradient(135deg,#ccfbf1,#0ea5a4);border-radius:50%;display:flex;height:180px;justify-content:center;padding:6px;position:relative;width:180px}.avatar-image{-o-object-fit:cover;border:4px solid #fff;border-radius:50%;height:100%;object-fit:cover;width:100%}.avatar-glow{background:radial-gradient(circle,rgba(14,165,164,.2) 0,transparent 70%);height:240px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:240px;z-index:-1}.avatar-wrapper.speaking{animation:avatarPulse 2s ease-in-out infinite}@keyframes avatarPulse{0%,to{box-shadow:0 0 0 0 rgba(14,165,164,.4)}50%{box-shadow:0 0 0 15px rgba(14,165,164,0)}}.agent-info{margin-bottom:40px}.agent-name{align-items:center;color:#0f172a;display:flex;font-size:24px;font-weight:700;gap:8px;justify-content:center;margin-bottom:8px}.ai-badge{background:#0ea5a4;border-radius:6px;color:#fff;font-size:10px;font-weight:700;padding:2px 6px}.agent-role{color:#0f172a;font-size:16px;font-weight:500;margin:0}.start-call-section{align-items:center;display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.error-message{color:#dc2626;font-size:14px;margin:0}.start-call-button{background:#0ea5a4;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 32px;transition:background .2s}.start-call-button:hover:not(:disabled){background:#0d9488}.start-call-button:disabled{cursor:not-allowed!important;opacity:.7}.status-indicator{justify-content:center;margin-bottom:10px}.status-connecting,.status-indicator{align-items:center;display:flex;gap:12px}.spinner{animation:spin 1s linear infinite;color:#0ea5a4}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.status-text{font-weight:400}.status-text,.status-timer{color:#0f172a;font-size:16px}.status-timer{font-weight:500}.status-connected{align-items:center;display:flex;flex-direction:column;gap:4px}.status-inline .status-inline-row{align-items:center;flex-direction:row;gap:8px}.call-ended-section{align-items:center;display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.call-ended-status{align-items:center;color:#0f172a;display:flex;font-size:16px;gap:8px;justify-content:center;margin:0}.call-ended-status .status-text{font-weight:400}.call-ended-status .status-timer{font-weight:500}.call-ended-controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.action-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:24px;color:#0f172a;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 24px;transition:background .2s ease}.action-btn:hover{background:#f8fafc}.waveform-container{margin-bottom:10px;padding:0 20px}.waveform-bars,.waveform-container{align-items:center;display:flex;gap:3px;height:60px;justify-content:center}.waveform-bar{background:linear-gradient(180deg,#94a3b8,#64748b);border-radius:2px;box-shadow:0 0 3px rgba(100,116,139,.2);max-height:20px;min-height:3px;transition:height .15s ease-in-out;width:3px}.waveform-bar:nth-child(2n){background:linear-gradient(180deg,#cbd5e1,#94a3b8)}.waveform-bar:nth-child(3n){background:linear-gradient(180deg,#64748b,#475569)}.controls{gap:24px;width:100%}.control-btn,.controls{align-items:center;display:flex;justify-content:center}.control-btn{border:none;border-radius:50%;cursor:pointer;flex-direction:column;gap:4px;height:60px;transition:transform .2s ease;width:60px}.control-btn:hover{transform:scale(1.05)}.control-btn:active{transform:scale(.95)}.control-label{color:#0f172a;font-size:12px;font-weight:500}.mic-btn{background:#e2e8f0}.mic-btn,.mic-btn .control-label{color:#475569}.mic-btn.muted{background:#e2e8f0;color:#475569}.end-call-btn{background:#ef4444;color:#fff}.end-call-btn .control-label{color:#fff}.end-call-btn:hover{background:#dc2626}"]}]}],$.ctorParameters=function(){return[{type:K},{type:N},{type:o.Injector}]},$.propDecorators={close:[{type:o.Output}],apiUrl:[{type:o.Input}],token:[{type:o.Input}],botId:[{type:o.Input}],conversationId:[{type:o.Input}],apiKey:[{type:o.Input}],eventToken:[{type:o.Input}],eventUrl:[{type:o.Input}],domainAuthority:[{type:o.Input}],agentName:[{type:o.Input}],agentRole:[{type:o.Input}],agentAvatar:[{type:o.Input}]},e.eClassificationType=void 0,(q=e.eClassificationType||(e.eClassificationType={})).Live="6040dce57615f0770af14256",q.OnDemand="6040dce57615f0770af14257",q.Breakout="6040dce57615f0770af14258";var Y=function(){function t(e,t,n,i,a,s,r,c,l,d,p,u,h,g){var m=this;this.fb=e,this.botService=t,this.cdr=n,this.http=i,this.sanitizer=a,this.elementRef=s,this.renderer=r,this.socketService=c,this.conversationService=l,this.translationService=d,this.voiceAgentService=p,this.overlay=u,this.viewContainerRef=h,this.injector=g,this.bodyOverflowClass="body-overflow-hidden",this.isCollapsedTrue=!1,this.copilotName="HiveXGPT",this.displayAvatarUrl="https://www.jotform.com/uploads/mehmetkarakasli/form_files/1564593667676a8e85f23758.86945537_icon.png",this.connectionsList=[],this.pendingSentRequestUserIds=[],this.isConnectionsEnabled=!0,this.isUnEvent=!1,this.feedbackEvent=new o.EventEmitter,this.onCloseEvent=new o.EventEmitter,this.openPage=new o.EventEmitter,this.sessionActions=new o.EventEmitter,this.sessionActionBlocked=new o.EventEmitter,this.closeBot=new o.EventEmitter,this.connectWithUser=new o.EventEmitter,this.scheduleMeeting=new o.EventEmitter,this.refreshToken=new o.EventEmitter,this.openSupport=new o.EventEmitter,this.autogenKey="Autogen_eDJTtEU-NB0RtIpzq1w",this.addToMyAgendaAction="add_to_my_agenda",this.myUpcomingSessionAction="my_upcomming_session",this.connectOrFollowAction="connect_or_follow",this.aiResponse="",this.chatLog=[],this.decoder=new TextDecoder,this.feedbackDone=!1,this.greetingMsg="",this.hasBackdropValue=!1,this.input="",this.listenerAdded=!1,this.loading=!1,this.mode="over",this.quickPrompts=[],this.thumbsDownMsgIndex=0,this.userName="",this.showStartAgain=!1,this.isIOSDevice=!1,this.showFeedBackIconsIndex=null,this.temperature=1,this.speakers={},this.requestedSpeakerIds=new Set,this.conSessionKey="",this.currentWorkflowActionProgress=0,this.currentWorkflowAction="",this.recognizedText="",this.authorizationToken="",this.region="westeurope",this.isVoiceModalOpen=!1,this.voiceModalOverlayRef=null,this.voiceTranscriptSubscriptions=[],this.domainAuthorityValue="prod-lite",this.chatSocketInitialized=!1,this.SESSION_CARDS_INITIAL=6,this.ATTENDEE_CARDS_INITIAL=9,this.SPEAKER_CARDS_INITIAL=9,this.expandedSessionCardIds={},this.expandedAttendeeCardIds={},this.expandedSpeakerCardIds={},this.expandedAttendeeDescriptionIds={},this.attendeeVideoPlayingIds={},this.attendeeVideoMutedIds={},this.isChatingWithAi=!1,this.readAllChunks=function(e){var t=e.getReader(),n=[];return t.closed.catch((function(e){e&&console.error("Error reading stream: ",e),m.isChatingWithAi=!1,m.scrollToBottom()})),new ReadableStream({start:function(e){return m.pump(e,t,n)}})},this.currentMessageForEditor="",this.currentIndexForEditor=-1,this.isDropdownOpen=!1,this.selectedAgents=[],this.allSelected=!1,this.isDocInEditMode=!1,this.isContentLoaded=!1,this.isCollapsed=!1,this.isCollapsedForGraph=!1,this.isCollapsedForFGraph=!1,this.dateTime={now:(new Date).toISOString()},this.currentSourcesList=[],this.isShowEditorButton=!0,this.isDrawerOpen=!0,this.voiceModalConversationId="",this.chatMain=new o.ElementRef(null)}return t.prototype.getTranslation=function(e){return this.translationService.getTranslation(e)},t.prototype.getLoadingTime=function(){return j(this.timezone)},t.prototype.getUserIdInitials=function(){var e=(this.firstName||"").trim(),t=(this.lastName||"").trim();return e&&t?(e[0]+t[0]).toUpperCase():e?e.slice(0,2).toUpperCase():t?t.slice(0,2).toUpperCase():"U"},t.prototype.getAttendeeInitials=function(e){if(!e||"string"!=typeof e)return"?";var t=e.trim().split(/\s+/).filter(Boolean);return t.length>=2?(t[0][0]+t[t.length-1][0]).toUpperCase():1===t.length?t[0].slice(0,2).toUpperCase():"?"},t.prototype.ngOnChanges=function(e){e.eventId&&e.eventId.currentValue&&this.translationService.setEventId(e.eventId.currentValue),e.s27Token&&e.s27Token.currentValue!=e.s27Token.previousValue&&(this.s27Token=e.s27Token.currentValue,console.log("isFetchDataFor: ",this.isFetchDataFor),console.log("msg: ",this.msg),console.log("chat: ",this.chat),this.is401&&(this.isFetchDataFor?this.fetchDataFor(this.msg,this.chat):this.fetchData(this.msg))),e.orgId&&e.orgId.currentValue!=e.orgId.previousValue&&(this.chatSocketInitialized=!1),e.baseUrl&&this.environment&&this.applyBaseUrlOverride()},t.prototype.applyBaseUrlOverride=function(){var e=this.isDev?z:U;if(this.baseUrl&&"string"==typeof this.baseUrl){var t=this.baseUrl.trim().replace(/\/+$/,"");if(t)return void(this.environment=Object.assign(Object.assign({},e),{BASE_URL:t}))}this.environment=e},t.prototype.ngOnInit=function(){var e=this;this.eventId&&this.translationService.setEventId(this.eventId),this.applyBaseUrlOverride();var t=window.location.hostname;t.includes("pre-app.social27.com")?this.domainAuthorityValue="pre-prod-lite":t.includes("app.social27.com")?this.domainAuthorityValue="prod-lite":t.includes("hivegpt.io")&&(this.domainAuthorityValue="hivegpt"),this.changeTemperature(this.temperature),this.fetchBotConfig().subscribe((function(t){e.cdr.markForCheck(),e.fetchChatHistory().subscribe((function(t){e.loading=!1,e.mapChatHistory(t),e.cdr.markForCheck()}),(function(e){console.error("Error fetching chat history:",e)}))}),(function(e){console.error("Error fetching chat history:",e)})),this.cdr.markForCheck(),this.botService.fetchSpeechAuthorizationToken(this.botId,this.apiKey,this.domainAuthorityValue).subscribe((function(t){e.authorizationToken=t,e.initializeSpeechRecognizer(t)}))},t.prototype.ensureChatSocket=function(){!this.chatSocketInitialized&&this.orgId&&(this.chatSocketInitialized=!0,this.initializeSocket())},t.prototype.initializeSocket=function(){var e=this;try{this.socketService.disconnectSocketConnection()}catch(e){}setTimeout((function(){e.socketService.connectSocketConnection(),setTimeout((function(){console.log("YES INIT");var t=e.conversationService.getKey(e.botId);e.socketService.registerUserSpecificHiveSocket(e.botId,t,e.orgId),setTimeout((function(){e.listenSockets()}),300)}),200)}),300)},t.prototype.stripHtml=function(e){var t,n;return e&&"string"==typeof e?(null!==(n=null===(t=(new DOMParser).parseFromString(e,"text/html").body)||void 0===t?void 0:t.textContent)&&void 0!==n?n:"").replace(/\s+/g," ").trim():""},t.prototype.getAttendeeDescription=function(e){var t,n,i,o=null!==(i=null!==(n=null!==(t=null==e?void 0:e.description)&&void 0!==t?t:null==e?void 0:e.interests)&&void 0!==n?n:null==e?void 0:e.jobTitle)&&void 0!==i?i:"",a="string"==typeof o?o.trim():String(null!=o?o:"").trim();return a&&/<[a-z][\s\S]*>/i.test(a)?this.stripHtml(a):a},t.prototype.shouldShowAttendeeReadMore=function(e){return this.getAttendeeDescription(e).length>90},t.prototype.getAttendeeDescKey=function(e,t){var n,i,o=null==e?void 0:e._id,a=null!==(i=null!==(n=null==t?void 0:t.id)&&void 0!==n?n:null==t?void 0:t._id)&&void 0!==i?i:null==t?void 0:t.userId;return o&&a?o+":"+a:null},t.prototype.isAttendeeDescriptionExpanded=function(e,t){var n=this.getAttendeeDescKey(e,t);return!!n&&!!this.expandedAttendeeDescriptionIds[n]},t.prototype.toggleAttendeeDescription=function(e,t,n){var i,o;null===(o=null==n?void 0:n.stopPropagation)||void 0===o||o.call(n);var a=this.getAttendeeDescKey(e,t);if(a){var s=!this.expandedAttendeeDescriptionIds[a];this.expandedAttendeeDescriptionIds=Object.assign(Object.assign({},this.expandedAttendeeDescriptionIds),((i={})[a]=s,i)),this.cdr.markForCheck()}},t.prototype.getAttendeeVideoUrl=function(e){var t,n=null===(t=null==e?void 0:e.userVideosModel)||void 0===t?void 0:t.url;return"string"==typeof n?n.trim():""},t.prototype.getAttendeeVideoPoster=function(e){var t,n=null===(t=null==e?void 0:e.userVideosModel)||void 0===t?void 0:t.thumbnail;return"string"==typeof n?n.trim():""},t.prototype.getAttendeeMediaKey=function(e,t){var n,i,o=null==e?void 0:e._id,a=null!==(i=null!==(n=null==t?void 0:t.id)&&void 0!==n?n:null==t?void 0:t._id)&&void 0!==i?i:null==t?void 0:t.userId;return o&&a?o+":"+a:null},t.prototype.isAttendeeVideoMuted=function(e,t){var n=this.getAttendeeMediaKey(e,t);return!n||!1!==this.attendeeVideoMutedIds[n]},t.prototype.isAttendeeVideoPlaying=function(e,t){var n=this.getAttendeeMediaKey(e,t);return!!n&&!!this.attendeeVideoPlayingIds[n]},t.prototype.toggleAttendeeVideoMute=function(e,t,n,i){var o,a;null===(a=null==i?void 0:i.stopPropagation)||void 0===a||a.call(i);var s=this.getAttendeeMediaKey(e,t);if(s){var r=!this.isAttendeeVideoMuted(e,t);this.attendeeVideoMutedIds=Object.assign(Object.assign({},this.attendeeVideoMutedIds),((o={})[s]=r,o)),n&&(n.muted=r,r||null!=n.volume&&0!==n.volume||(n.volume=1)),this.cdr.markForCheck()}},t.prototype.toggleAttendeeVideoPlay=function(e,t,n,i){var o,a,s=this;null===(a=null==i?void 0:i.stopPropagation)||void 0===a||a.call(i);var r=this.getAttendeeMediaKey(e,t);if(r){var c=!this.isAttendeeVideoPlaying(e,t);if(this.attendeeVideoPlayingIds=Object.assign(Object.assign({},this.attendeeVideoPlayingIds),((o={})[r]=c,o)),n)try{if(c){var l=n.play();l&&"function"==typeof l.catch&&l.catch((function(){var e;s.attendeeVideoPlayingIds=Object.assign(Object.assign({},s.attendeeVideoPlayingIds),((e={})[r]=!1,e)),s.cdr.markForCheck()}))}else n.pause()}catch(e){}this.cdr.markForCheck()}},t.prototype.onAttendeeVideoPlayState=function(e,t,n){var i,o=this.getAttendeeMediaKey(e,t);o&&this.attendeeVideoPlayingIds[o]!==n&&(this.attendeeVideoPlayingIds=Object.assign(Object.assign({},this.attendeeVideoPlayingIds),((i={})[o]=n,i)),this.cdr.markForCheck())},t.prototype.formatSessionWhen=function(e,t){var n=t?{timeZone:t}:{};if(!e)return"";if("object"==typeof e&&(null==e?void 0:e.start)&&(null==e?void 0:e.end))try{var i=new Date(e.start),o=new Date(e.end);return i.toLocaleDateString("en-US",Object.assign({month:"short",day:"numeric",year:"numeric"},n))+" | "+i.toLocaleTimeString("en-US",Object.assign({hour:"2-digit",minute:"2-digit",hour12:!1},n))+" - "+o.toLocaleTimeString("en-US",Object.assign({hour:"2-digit",minute:"2-digit",hour12:!1},n))}catch(e){return""}if("string"!=typeof e)return"";var a=e.match(/Start:\s*(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})/),s=e.match(/End:\s*(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})/);if(!a||!s)return e;try{var r=a[1],c=s[1];i=new Date(r.replace(" ","T")+"Z"),o=new Date(c.replace(" ","T")+"Z");return i.toLocaleDateString("en-US",Object.assign({month:"short",day:"numeric",year:"numeric"},n))+" | "+i.toLocaleTimeString("en-US",Object.assign({hour:"2-digit",minute:"2-digit",hour12:!1},n))+" - "+o.toLocaleTimeString("en-US",Object.assign({hour:"2-digit",minute:"2-digit",hour12:!1},n))}catch(t){return e}},t.prototype.getSessionDateBadge=function(e,t){if(!e)return{day:"",month:""};try{var n=null;if("object"==typeof e&&(null==e?void 0:e.start))n=new Date(e.start);else if("string"==typeof e){var i=e.match(/Start:\s*(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})/);i&&(n=new Date(i[1].replace(" ","T")+"Z"))}if(!n||isNaN(n.getTime()))return{day:"",month:""};var o=t?{timeZone:t}:{};try{return{day:n.toLocaleDateString("en-US",Object.assign({day:"numeric"},o)),month:n.toLocaleDateString("en-US",Object.assign({month:"short"},o))}}catch(e){return{day:n.toLocaleDateString("en-US",{day:"numeric"}),month:n.toLocaleDateString("en-US",{month:"short"})}}}catch(e){return{day:"",month:""}}},t.prototype.formatSessionTimeRange=function(e,t){if(!e)return"";try{var n=null,i=null;if("object"==typeof e&&(null==e?void 0:e.start)&&(null==e?void 0:e.end))n=new Date(e.start),i=new Date(e.end);else if("string"==typeof e){var o=e.match(/Start:\s*(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})/),a=e.match(/End:\s*(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})/);o&&(n=new Date(o[1].replace(" ","T")+"Z")),a&&(i=new Date(a[1].replace(" ","T")+"Z"))}if(!n||isNaN(n.getTime()))return"";var s=t?{timeZone:t}:{};try{var r=n.toLocaleTimeString("en-US",Object.assign({hour:"numeric",minute:"2-digit",hour12:!0},s));return(c=i&&!isNaN(i.getTime())?i.toLocaleTimeString("en-US",Object.assign({hour:"numeric",minute:"2-digit",hour12:!0},s)):"")?r+" - "+c:r}catch(e){var c;r=n.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0});return(c=i&&!isNaN(i.getTime())?i.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0}):"")?r+" - "+c:r}}catch(e){return""}},t.prototype.getTimezoneAbbreviation=function(e){var t;if(!e||!String(e).trim())return"";var n=String(e).trim();if(n.startsWith("(UTC")||n.startsWith("(utc")){var i=this.constructor.WINDOWS_TZ_ABBR_MAP,o=Object.keys(i).find((function(e){return e.toLowerCase()===n.toLowerCase()}));if(o)return i[o]}var a=this.constructor.TZ_ABBR_MAP,s=a[n];if(!s){var r=n.toLowerCase(),c=Object.entries(a).find((function(e){return _(e,1)[0].toLowerCase()===r}));c&&(s=c[1])}if(s)return s;try{var l=new Intl.DateTimeFormat("en-US",{timeZone:n,timeZoneName:"short"}).formatToParts(new Date).find((function(e){return"timeZoneName"===e.type})),d=(null!==(t=null==l?void 0:l.value)&&void 0!==t?t:"").trim();return d&&/^GMT[+-]\d/.test(d)?"":d}catch(e){return""}},t.prototype.getStatusTextFromSessionRoles=function(e){if(!Array.isArray(e)||0===e.length)return this.getTranslation("You can join this meeting")||"You can join this meeting";var t=e[0];return"string"==typeof t?String(t).replace(/^\s*-\s*/,"").trim():t&&"object"==typeof t&&t.description?String(t.description).trim():this.getTranslation("You can join this meeting")||"You can join this meeting"},t.prototype.mapSessionsToCardData=function(e){var t=this;if(!Array.isArray(e))return[];var n=this.timezone&&String(this.timezone).trim()?String(this.timezone).trim():void 0;return e.map((function(e){var i,o,a,s,r,c,l,d,p,u,h,g,m=null!==(o=null!==(i=e.dateTimeRange)&&void 0!==i?i:e.actualDateTimeRange)&&void 0!==o?o:"",f=t.formatSessionWhen(m,n),v=Array.isArray(e.sessionRoles)&&e.sessionRoles.some((function(e){var t=e&&"object"==typeof e&&e.sessionRoleName?String(e.sessionRoleName).trim().toLowerCase():String(null!=e?e:"").trim().toLowerCase();return"join"===t||"watch"===t}))?t.getStatusTextFromSessionRoles(e.sessionRoles):"",b=null!=e.timeZone?"object"==typeof e.timeZone?null!==(s=null!==(a=e.timeZone.id)&&void 0!==a?a:e.timeZone.name)&&void 0!==s?s:"":String(e.timeZone):"",y=(n||b||"").trim(),x=y?t.getTimezoneAbbreviation(y):"",w=f||("object"==typeof m?"":String(m)),k=x?(w+" ("+x+")").trim():w,S=t.getSessionDateBadge(m,y),C=t.formatSessionTimeRange(m,y),I=String(null!==(c=null!==(r=e.description)&&void 0!==r?r:e.abstract)&&void 0!==c?c:"").trim(),T=String(null!==(p=null!==(d=null!==(l=e.sessionType)&&void 0!==l?l:e.type)&&void 0!==d?d:e.meetingType)&&void 0!==p?p:"").trim(),A=t.isUnEvent?t.getTranslation("Meeting type")||"Meeting type":t.getTranslation("Session type")||"Session type",M=x||y||"";!C&&y&&(C=t.getTranslation("Not specified")||"Not specified");var _=M?(C+" ("+M+")").trim():C;return{title:String(null!==(u=e.title)&&void 0!==u?u:"").trim(),organizer:String(null!==(h=e.organizer)&&void 0!==h?h:"").trim(),room:String(null!==(g=e.roomName)&&void 0!==g?g:"").trim(),when:k,timeRange:C,timeRangeWithTz:C?_:M||"",dateDay:S.day,dateMonth:S.month,description:I,timeZone:y,timeZoneDisplay:M,meetingType:T,sessionTypeLabel:A,statusText:v,session:e}}))},t.prototype.collectSpeakerIdsFromSessionCards=function(e){var t,n,i,o,a;if(!Array.isArray(e))return[];var s=[];try{for(var r=M(e),c=r.next();!c.done;c=r.next()){var l=c.value,d=null===(a=null==l?void 0:l.session)||void 0===a?void 0:a.speakers;if(Array.isArray(d))try{for(var p=(i=void 0,M(d)),u=p.next();!u.done;u=p.next()){var h=u.value,g=String(null!=h?h:"").trim();g&&s.push(g)}}catch(e){i={error:e}}finally{try{u&&!u.done&&(o=p.return)&&o.call(p)}finally{if(i)throw i.error}}}}catch(e){t={error:e}}finally{try{c&&!c.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}return Array.from(new Set(s))},t.prototype.attachSpeakersToSessionCards=function(e){var t,n,i,o=this;if(Array.isArray(e))try{for(var a=M(e),s=a.next();!s.done;s=a.next()){var r=s.value,c=(Array.isArray(null===(i=null==r?void 0:r.session)||void 0===i?void 0:i.speakers)?r.session.speakers.map((function(e){return String(null!=e?e:"").trim()})).filter(Boolean):[]).map((function(e){return o.speakers[e]})).filter(Boolean);r.speakersList=c,(null==r?void 0:r.session)&&"object"==typeof r.session&&(r.session.speakersList=c)}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}},t.prototype.ensureSpeakersForSessionCards=function(e){var t=this,n=this.collectSpeakerIdsFromSessionCards(e);if(0!==n.length){var i=n.filter((function(e){return!t.speakers[e]&&!t.requestedSpeakerIds.has(e)}));0!==i.length?(i.forEach((function(e){return t.requestedSpeakerIds.add(e)})),this.getSpeakersByStaffIds(i).subscribe({next:function(){t.attachSpeakersToSessionCards(e),t.cdr.markForCheck()},error:function(){t.attachSpeakersToSessionCards(e),t.cdr.markForCheck()}})):this.attachSpeakersToSessionCards(e)}},t.prototype.getSpeakerPhotoUrl=function(e){if(!e)return null;var t=[e.photo,e.photoPath,e.avatarUrl,e.profileImageUrl,e.profileImage,e.profilePicture,e.imageUrl,e.image].find((function(e){return null!=e&&""!==String(e).trim()}));return t?String(t).trim():null},t.prototype.hasSessionCardSpeakers=function(e){var t,n,i=(null==e?void 0:e.speakersList)||(null===(t=null==e?void 0:e.session)||void 0===t?void 0:t.speakersList);if(Array.isArray(i)&&i.length>0)return!0;var o=null===(n=null==e?void 0:e.session)||void 0===n?void 0:n.speakers;return Array.isArray(o)&&o.length>0},t.prototype.getSpeakerDisplayName=function(e){return e?null!=e.name&&""!==String(e.name).trim()?String(e.name).trim():((null!=e.firstName?String(e.firstName).trim():"")+" "+(null!=e.lastName?String(e.lastName).trim():"")).trim():""},t.prototype.getSpeakerInitials=function(e){var t=this.getSpeakerDisplayName(e);if(t)return this.getAttendeeInitials(t);var n=null!=(null==e?void 0:e.id)?String(e.id):"";return n?n.slice(0,2).toUpperCase():"?"},t.prototype.mapAttendeesToCardData=function(e){return Array.isArray(e)?e.map((function(e){var t,n,i,o,a,s,r;return{name:String(null!==(t=e.name)&&void 0!==t?t:"").trim(),company:null!=e.company&&""!==String(e.company).trim()?String(e.company).trim():null,jobTitle:null!=e.jobTitle&&""!==String(e.jobTitle).trim()?String(e.jobTitle).trim():null,photo:null!=e.photo&&""!==String(e.photo).trim()?String(e.photo).trim():null,id:null!==(a=null!==(o=null!==(i=null!==(n=e.id)&&void 0!==n?n:e.userId)&&void 0!==i?i:e._id)&&void 0!==o?o:e.attendeeId)&&void 0!==a?a:void 0,interests:null!=e.interests&&""!==String(e.interests).trim()?String(e.interests).trim():null,description:null!=e.description&&""!==String(e.description).trim()?String(e.description).trim():null,userVideosModel:e.userVideosModel?{url:null!=(null===(s=e.userVideosModel)||void 0===s?void 0:s.url)&&""!==String(e.userVideosModel.url).trim()?String(e.userVideosModel.url).trim():null,thumbnail:null!=(null===(r=e.userVideosModel)||void 0===r?void 0:r.thumbnail)&&""!==String(e.userVideosModel.thumbnail).trim()?String(e.userVideosModel.thumbnail).trim():null}:null}})):[]},t.prototype.mapSpeakersToCardData=function(e){var t=this;return Array.isArray(e)?e.map((function(e){var n,i,o,a,s,r,c,l=null!=e.description&&""!==String(e.description).trim()?String(e.description).trim():null,d=l?/<[a-z][\s\S]*>/i.test(l)?t.stripHtml(l):l:null,p=null!==(n=e.title)&&void 0!==n?n:e.jobTitle,u=null!=p&&""!==String(p).trim()?String(p).trim():null;return{name:t.getSpeakerDisplayName(e),company:null!=e.company&&""!==String(e.company).trim()?String(e.company).trim():null,jobTitle:u,photo:t.getSpeakerPhotoUrl(e),id:null!==(s=null!==(a=null!==(o=null!==(i=e.id)&&void 0!==i?i:e.userId)&&void 0!==o?o:e._id)&&void 0!==a?a:e.speakerId)&&void 0!==s?s:void 0,interests:null!=e.interests&&""!==String(e.interests).trim()?String(e.interests).trim():null,description:d,userVideosModel:e.userVideosModel?{url:null!=(null===(r=e.userVideosModel)||void 0===r?void 0:r.url)&&""!==String(e.userVideosModel.url).trim()?String(e.userVideosModel.url).trim():null,thumbnail:null!=(null===(c=e.userVideosModel)||void 0===c?void 0:c.thumbnail)&&""!==String(e.userVideosModel.thumbnail).trim()?String(e.userVideosModel.thumbnail).trim():null}:null}})):[]},t.prototype.parseSessionContentV2=function(e){if(!e||"string"!=typeof e)return[];for(var t=[],n=e.split(/\n\d+\.\s+/),i=0;i<n.length;i++){var o=n[i].trim();if(o){var a=o.split(/\n/).map((function(e){return e.trim()})).filter(Boolean),s=a[0]||"";if(s&&!/^Found\s+\d+\s+sessions/i.test(s)){for(var r="",c="",l="",d="",p=1;p<a.length;p++){var u=a[p],h=u.match(/Time:\s*(.+)/i);if(h){var g=(r=h[1].trim()).match(/TimeZone:\s*([^,\n]+)/i);g&&(d=g[1].trim())}var m=u.match(/Room:\s*(.+)/i);m&&(c=m[1].trim());var f=u.match(/Type:\s*(.+)/i);f&&(l=f[1].trim());var v=u.match(/TimeZone:\s*(.+)/i);v&&!d&&(d=v[1].trim())}t.push({title:s,roomName:c||void 0,dateTimeRange:r||void 0,sessionType:l||void 0,timeZone:d||void 0,sessionRoles:[]})}}}return t},t.prototype.getVisibleSessionCards=function(e){var t,n=null!==(t=null==e?void 0:e.sessionCards)&&void 0!==t?t:[],i=n.length,o=this.expandedSessionCardIds[null==e?void 0:e._id];return i>this.SESSION_CARDS_INITIAL&&!o?n.slice(0,this.SESSION_CARDS_INITIAL):n},t.prototype.getVisibleAttendeeCards=function(e){var t,n=null!==(t=null==e?void 0:e.attendeeCards)&&void 0!==t?t:[],i=n.length,o=this.expandedAttendeeCardIds[null==e?void 0:e._id];return i>this.ATTENDEE_CARDS_INITIAL&&!o?n.slice(0,this.ATTENDEE_CARDS_INITIAL):n},t.prototype.getVisibleSpeakerCards=function(e){var t,n=null!==(t=null==e?void 0:e.speakerCards)&&void 0!==t?t:[],i=n.length,o=this.expandedSpeakerCardIds[null==e?void 0:e._id];return i>this.SPEAKER_CARDS_INITIAL&&!o?n.slice(0,this.SPEAKER_CARDS_INITIAL):n},t.prototype.expandSessionCards=function(e){var t;(null==e?void 0:e._id)&&(this.expandedSessionCardIds=Object.assign(Object.assign({},this.expandedSessionCardIds),((t={})[e._id]=!0,t)),this.cdr.markForCheck())},t.prototype.expandAttendeeCards=function(e){var t;(null==e?void 0:e._id)&&(this.expandedAttendeeCardIds=Object.assign(Object.assign({},this.expandedAttendeeCardIds),((t={})[e._id]=!0,t)),this.cdr.markForCheck())},t.prototype.expandSpeakerCards=function(e){var t;(null==e?void 0:e._id)&&(this.expandedSpeakerCardIds=Object.assign(Object.assign({},this.expandedSpeakerCardIds),((t={})[e._id]=!0,t)),this.cdr.markForCheck())},t.prototype.getSessionTypeLabel=function(){return this.isUnEvent?this.getTranslation("Meeting type")||"Meeting type":this.getTranslation("Session type")||"Session type"},t.prototype.getSessionRoleButtons=function(e){var t,n,i;if(!1===this.isUnEvent&&(null==e?void 0:e.session))return[{action:"join",label:this.getTranslation("Watch")||"Watch"}];var o=null===(i=null==e?void 0:e.session)||void 0===i?void 0:i.sessionRoles;if(!Array.isArray(o)||0===o.length)return[];var a=[];try{for(var s=M(o),r=s.next();!r.done;r=s.next()){var c=r.value,l="object"==typeof c&&null!=c&&c.sessionRoleName?String(c.sessionRoleName).trim().toLowerCase():String(c).trim().toLowerCase();if("join"===l||"watch"===l){var d="join"===l?this.getTranslation("Join")||"Join":this.getTranslation("Watch")||"Watch";a.push({action:l,label:d})}}}catch(e){t={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}return a},t.prototype.isSessionOndemand=function(t){var n,i,o=null!==(i=null===(n=null==t?void 0:t.session)||void 0===n?void 0:n.classificationId)&&void 0!==i?i:null==t?void 0:t.classificationId;return null!=o&&""!==o&&String(o)===e.eClassificationType.OnDemand},t.prototype.canPerformSessionAction=function(e){if(!(null==e?void 0:e.session))return!1;var t=e.session;return!!this.isSessionOndemand(e)||!!t.isButtonActivated},t.prototype.getMeetingDelayMinutes=function(e){var t,n,i=null==e?void 0:e.session;if(i){var o=null===(t=i.dateTimeRange)||void 0===t?void 0:t.start,a=null===(n=i.actualDateTimeRange)||void 0===n?void 0:n.start;if(o&&a)try{var s=new Date(o).getTime()-new Date(a).getTime();return Math.floor(s/6e4)}catch(e){return}}},t.prototype.isMeetingDelayed=function(e){var t,n=this.getMeetingDelayMinutes(e);return!(null==n||n<=0)&&(!this.isSessionOndemand(e)&&!(null===(t=null==e?void 0:e.session)||void 0===t?void 0:t.isButtonActivated))},t.prototype.onSessionCardAction=function(e,t){if(null==e?void 0:e.session)if(!1!==this.isUnEvent)if(this.canPerformSessionAction(e))this.sessionActions.emit({type:"session",action:t.action,session:e.session,sessionCard:e});else{var n=this.getTranslation("You can join/watch at the starting time")||"You can join/watch at the starting time";this.sessionActionBlocked.emit(n)}else this.sessionActions.emit({type:"session",action:t.action,session:e.session,sessionCard:e})},t.prototype.listenSockets=function(){var e=this;this.eventSubscription&&this.eventSubscription.unsubscribe(),console.log("Listen Socket"),this.eventSubscription=this.conversationService.getUserSpecificNotification().subscribe((function(t){var n,i,o,a,s,r,c,l,d,p,u,h,g,m,f,v,b,y,x,w,k,S,C,I,T,A;if(console.log("[Socket Chat] listenSockets received",{hasOtherFields:!!(null===(n=null==t?void 0:t.m)||void 0===n?void 0:n.OtherFields),messageId:null===(o=null===(i=null==t?void 0:t.m)||void 0===i?void 0:i.OtherFields)||void 0===o?void 0:o.message_id,hasAnswer:!!(null===(s=null===(a=null==t?void 0:t.m)||void 0===a?void 0:a.OtherFields)||void 0===s?void 0:s.answer)}),null===(c=null===(r=null==t?void 0:t.m)||void 0===r?void 0:r.OtherFields)||void 0===c?void 0:c.workflow_id){console.log("[Socket Chat] Workflow progress update",null===(l=null==t?void 0:t.m)||void 0===l?void 0:l.OtherFields);var M=null===(d=null==t?void 0:t.m)||void 0===d?void 0:d.OtherFields,_=M.percentage,E=M.output,L=M.action_name,D=M.current_action_name,U=M.workflow_execution_id,z=M.time_stamp;e.currentWorkflowActionProgress=_,e.currentWorkflowAction=L;var P=e.workflowExecutionDetails.Actions.findIndex((function(e){return e.Name==D}));-1!==P?(e.workflowExecutionDetails.Actions[P].Output=E,e.workflowExecutionDetails.Actions[P].InsertTimeStamp=F(e.timezone,z)):console.error("Action with name "+L+" not found"),e.currentWorkflowExecutionDetails=e.workflowExecutionDetails,100==e.currentWorkflowActionProgress&&(e.chatLog[e.chatLog.length-1].WorkflowExecutionId=U,e.isChatingWithAi=!1,e.executingWorkflow=!1,e.focusOnTextarea()),e.cdr.detectChanges()}else if(null===(p=null==t?void 0:t.m)||void 0===p?void 0:p.OtherFields){var O=t.m.OtherFields,B=O.serializable_to_return;if("get_event_sessions"===(null==B?void 0:B.tool_name)||"get_event_sessions_v2"===(null==B?void 0:B.tool_name)||"get_sessions_by_interest"===(null==B?void 0:B.tool_name)||"get_sessions_by_track"===(null==B?void 0:B.tool_name)){var R=null===(g=null===(h=null===(u=null==B?void 0:B.tool_result)||void 0===u?void 0:u.messages)||void 0===h?void 0:h[0])||void 0===g?void 0:g.content,V=null!=O.answer?String(O.answer).trim():"",N=!1;if(R&&"string"==typeof R){var W=[];try{W=null!==(m=null==($=JSON.parse(R))?void 0:$.sessions)&&void 0!==m?m:[]}catch(t){W=e.parseSessionContentV2(R)}var H=e.mapSessionsToCardData(W);if(e.ensureSpeakersForSessionCards(H),H.length>0){var K=B.message_id||"session_cards_"+Date.now(),q={_id:K,type:"session_cards",message:V?e.processMessageForDisplay(V):"",time:j(e.timezone),sessionCards:H};(J=e.chatLog.findIndex((function(e){return e._id===K})))>=0?e.chatLog[J]=q:e.chatLog.push(q),e.showFeedBackIconsIndex=e.chatLog.length-1,e.isChatingWithAi=!1,e.scrollToBottom(),N=!0}}if(N)return void e.cdr.markForCheck()}if("get_event_attendees"===(null==B?void 0:B.tool_name)){R=null===(b=null===(v=null===(f=null==B?void 0:B.tool_result)||void 0===f?void 0:f.messages)||void 0===v?void 0:v[0])||void 0===b?void 0:b.content,V=null!=O.answer?String(O.answer).trim():"",N=!1;if(R)try{var G=null!==(y=null==($=JSON.parse(R))?void 0:$.attendees)&&void 0!==y?y:[];if((H=e.mapAttendeesToCardData(G)).length>0){var Z=B.message_id||"attendee_cards_"+Date.now();q={_id:Z,type:"attendee_cards",message:V?e.processMessageForDisplay(V):"",time:j(e.timezone),attendeeCards:H};(J=e.chatLog.findIndex((function(e){return e._id===Z})))>=0?e.chatLog[J]=q:e.chatLog.push(q),e.showFeedBackIconsIndex=e.chatLog.length-1,N=!0}}catch(e){console.error("[Socket Chat] Error parsing get_event_attendees content:",e)}if(N)return e.isChatingWithAi=!1,e.scrollToBottom(),void e.cdr.markForCheck()}if("get_event_speakers"===(null==B?void 0:B.tool_name)){R=null===(k=null===(w=null===(x=null==B?void 0:B.tool_result)||void 0===x?void 0:x.messages)||void 0===w?void 0:w[0])||void 0===k?void 0:k.content,V=null!=O.answer?String(O.answer).trim():"",N=!1;if(R)try{var $,Y=null!==(C=null!==(S=null==($=JSON.parse(R))?void 0:$.speakers)&&void 0!==S?S:null==$?void 0:$.speaker)&&void 0!==C?C:[];if((H=e.mapSpeakersToCardData(Y)).length>0){var J,X=B.message_id||"speaker_cards_"+Date.now();q={_id:X,type:"speaker_cards",message:V?e.processMessageForDisplay(V):"",time:j(e.timezone),speakerCards:H};(J=e.chatLog.findIndex((function(e){return e._id===X})))>=0?e.chatLog[J]=q:e.chatLog.push(q),e.showFeedBackIconsIndex=e.chatLog.length-1,N=!0}}catch(e){console.error("[Socket Chat] Error parsing get_event_speakers content:",e)}if(N)return e.isChatingWithAi=!1,e.scrollToBottom(),void e.cdr.markForCheck()}if("get_event_details"===(null==B?void 0:B.tool_name))return e.isChatingWithAi=!1,void e.cdr.markForCheck();var Q=O.conversation_id,ee=O.bot_id,te=O.message_id,ne=O.answer,ie=O.web_results,oe=O.search_results,ae=O.graphs,se=O.execution_graphs,re=O.suggestions;console.log("[Socket Chat] Processing OtherFields",{message_id:te,conversation_id:Q,bot_id:ee,hasAnswer:!!ne,answerLength:null==ne?void 0:ne.length,webResultsCount:null!==(I=null==ie?void 0:ie.length)&&void 0!==I?I:0,searchResultsCount:null!==(T=null==oe?void 0:oe.length)&&void 0!==T?T:0});var ce=e.chatLog.find((function(e){return e._id==te}));ce?console.log("[Socket Chat] Updating existing message",{message_id:te}):(console.log("[Socket Chat] New AI message from socket",{message_id:te,chatLogLength:e.chatLog.length}),ce={_id:te,type:"ai",time:j(e.timezone)},e.chatLog.push(ce),e.showFeedBackIconsIndex=e.chatLog.length-1,e.cdr.detectChanges()),oe&&Array.isArray(oe)&&(console.log("[Socket Chat] search_results",oe),ce.searchTerms=oe,e.cdr.detectChanges()),ie&&Array.isArray(ie)&&(console.log("[Socket Chat] web_results",null==ie?void 0:ie.length,ie),ce.sourcesList=ie,ce.displayedSources=null==ie?void 0:ie.slice(0,3),ce.remainingSources=null==ie?void 0:ie.slice(3),e.cdr.detectChanges()),ne&&(e.isChatingWithAi=!1,console.log("[Socket Chat] Received answer, updating message",{message_id:te,answerLength:null==ne?void 0:ne.length,answerPreview:null===(A=null==ne?void 0:ne.substring)||void 0===A?void 0:A.call(ne,0,100)}),ce.message=e.processMessageForDisplay(ne),e.cdr.detectChanges(),e.scrollToBottom(),e.focusOnTextarea()),ae&&Array.isArray(ae)&&(console.log("[Socket Chat] graphs",null==ae?void 0:ae.length,ae),ce.graphs=ae,e.cdr.detectChanges()),se&&Array.isArray(se)&&(console.log("[Socket Chat] execution_graphs",null==se?void 0:se.length,se),ce.executionGraphs=se,e.cdr.detectChanges()),re&&Array.isArray(re)&&(console.log("[Socket Chat] suggestions",null==re?void 0:re.length,re),ce.relatedListItems=re,e.cdr.detectChanges())}else console.warn("OtherFields is missing in the response")}),(function(t){e.eventSubscription.unsubscribe(),console.error("Error in fetching data from socket",t)}))},t.prototype.initializeSocketAndListen=function(){},t.prototype.handleEvent=function(e,t){t},t.prototype.ngOnDestroy=function(){this.eventSubscription&&this.eventSubscription.unsubscribe(),this.voiceTranscriptSubscriptions.forEach((function(e){return e.unsubscribe()})),this.socketService.disconnectSocketConnection()},t.prototype.changeTemperature=function(e){if(!this.loading){this.temperature=e;var t=document.querySelector(".hivegpt-chat-bot-wrapper");switch(null==t||t.classList.remove("creative","balanced","precise"),e){case 0:null==t||t.classList.add("creative");break;case 1:null==t||t.classList.add("balanced");break;case 2:null==t||t.classList.add("precise")}}},t.prototype.onStartAgain=function(){this.loading||(this.showStartAgain=!1,this.chatLog=[],this.chatLog.push({type:"ai",message:this.greetingMsg,time:j(this.timezone)}),this.archieveMessages().subscribe())},t.prototype.archieveMessages=function(){var e=new i.HttpHeaders({"Content-Type":"application/json","x-api-key":this.apiKey,"hive-bot-id":this.botId,"domain-authority":this.domainAuthorityValue}),t=this.environment.BASE_URL+"/bot/clear-history/"+this.botId+"/"+this.userId;return this.http.post(t,{headers:e}).pipe(r.switchMap((function(e){return s.of(e)})),r.catchError((function(e){return s.of(null)})))},t.prototype.triggerSupport=function(){this.openSupport.emit()},t.prototype.fetchBotConfig=function(){var e=this;this.loading=!0;var t=new i.HttpHeaders({"x-api-key":this.apiKey,"hive-bot-id":this.botId,"domain-authority":this.domainAuthorityValue}),n=this.environment.BASE_URL+"/bots?bot_id="+this.botId;return this.http.get(n,{headers:t}).pipe(r.switchMap((function(t){var n;return e.botName=e.getTranslation(t.Name),e.botIcon=t.Icon,e.botSkills=null==t?void 0:t.Skills,e.greetingMsg=t.Greeting?e.processMessageForDisplay(t.Greeting):"",e.thumbsDownMessages=(null===(n=null==t?void 0:t.NegativeResponses)||void 0===n?void 0:n.length)?t.NegativeResponses:[e.getTranslation("We are sorry we've not been able to answer your question")],e.quickPrompts=t.QuickPrompts,e.cdr.markForCheck(),e.loading=!1,s.of(t)})),r.catchError((function(t){return console.error("Error fetching chatbot config: ",t),e.loading=!1,s.of(null)})))},t.prototype.fetchChatHistory=function(){this.loading=!0,this.conversationKey=this.conversationService.getKey(this.botId,!1),this.conSessionKey=this.conversationService.getSessionKey(this.botId,!1);var e=this.environment.BASE_URL+"/conversations/"+this.conversationKey+"?session_id="+this.conSessionKey,t=new i.HttpHeaders({accept:"application/json","x-api-key":this.apiKey,"hive-bot-id":this.botId,"domain-authority":this.domainAuthorityValue});return this.http.get(e,{headers:t}).pipe(r.catchError(this.handleError("fetchConversation")))},t.prototype.handleError=function(e,t){return void 0===e&&(e="operation"),function(n){return console.error(e+" failed: "+n.message),s.of(t)}},t.prototype.pushAiMessageFromHistory=function(e){var t=e.WebLinks||[],n=(e.WebLinks||[]).slice(0,3),i=(e.WebLinks||[]).slice(3);this.chatLog.push({type:"ai",message:this.processMessageForDisplay(e.Text),executionGraphs:e.ExecutionGraphs,graphs:e.Graphs,searchTerms:e.SearchTerms,sourcesList:t,displayedSources:n,remainingSources:i,time:F(this.timezone,e.InsertTimestamp),copied:!1,isCollapsedTrue:!1,_id:e._id}),this.showFeedBackIconsIndex=this.chatLog.length-1},t.prototype.mapChatHistory=function(e){var t,n=this;this.chatLog.push({type:"ai",message:this.greetingMsg,time:j(this.timezone)}),e&&(null===(t=null==e?void 0:e.Messages)||void 0===t?void 0:t.length)&&(null==e||e.Messages.forEach((function(e){var t,i,o,a,s,r,c,l,d,p,u,h,g,m,f,v,b;if("user"==e.Type&&n.chatLog.push({type:"user",message:n.processMessageForDisplay(e.Text),time:F(n.timezone,e.InsertTimestamp),copied:!1,isCollapsedTrue:!1,WorkflowExecutionId:e.WorkflowExecutionId,_id:e._id}),"ai"==e.Type){var y=null===(t=e.toolresults)||void 0===t?void 0:t.tool_name;if(("get_event_sessions"===y||"get_event_sessions_v2"===y||"get_sessions_by_interest"===y||"get_sessions_by_track"===y)&&(null===(s=null===(a=null===(o=null===(i=e.toolresults)||void 0===i?void 0:i.tool_result)||void 0===o?void 0:o.messages)||void 0===a?void 0:a[0])||void 0===s?void 0:s.content)){var x=e.toolresults.tool_result.messages[0].content,w=[];try{w=null!==(r=null==(C=JSON.parse(x))?void 0:C.sessions)&&void 0!==r?r:[]}catch(e){w=n.parseSessionContentV2(x)}var k=n.mapSessionsToCardData(w);n.ensureSpeakersForSessionCards(k),k.length>0?(n.chatLog.push({_id:e._id,type:"session_cards",message:e.Text?n.processMessageForDisplay(e.Text):"",time:F(n.timezone,e.InsertTimestamp),sessionCards:k}),n.showFeedBackIconsIndex=n.chatLog.length-1):n.pushAiMessageFromHistory(e)}else if("get_event_attendees"===y&&(null===(p=null===(d=null===(l=null===(c=e.toolresults)||void 0===c?void 0:c.tool_result)||void 0===l?void 0:l.messages)||void 0===d?void 0:d[0])||void 0===p?void 0:p.content)){x=e.toolresults.tool_result.messages[0].content;try{var S=null!==(u=null==(C=JSON.parse(x))?void 0:C.attendees)&&void 0!==u?u:[];(k=n.mapAttendeesToCardData(S)).length>0?(n.chatLog.push({_id:e._id,type:"attendee_cards",message:e.Text?n.processMessageForDisplay(e.Text):"",time:F(n.timezone,e.InsertTimestamp),attendeeCards:k}),n.showFeedBackIconsIndex=n.chatLog.length-1):n.pushAiMessageFromHistory(e)}catch(t){n.pushAiMessageFromHistory(e)}}else if("get_event_speakers"===y&&(null===(f=null===(m=null===(g=null===(h=e.toolresults)||void 0===h?void 0:h.tool_result)||void 0===g?void 0:g.messages)||void 0===m?void 0:m[0])||void 0===f?void 0:f.content)){x=e.toolresults.tool_result.messages[0].content;try{var C,I=null!==(b=null!==(v=null==(C=JSON.parse(x))?void 0:C.speakers)&&void 0!==v?v:null==C?void 0:C.speaker)&&void 0!==b?b:[];(k=n.mapSpeakersToCardData(I)).length>0?(n.chatLog.push({_id:e._id,type:"speaker_cards",message:e.Text?n.processMessageForDisplay(e.Text):"",time:F(n.timezone,e.InsertTimestamp),speakerCards:k}),n.showFeedBackIconsIndex=n.chatLog.length-1):n.pushAiMessageFromHistory(e)}catch(t){n.pushAiMessageFromHistory(e)}}else n.pushAiMessageFromHistory(e)}})),this.showStartAgain=!0),this.scrollToBottom(),this.cdr.markForCheck()},t.prototype.processMessage=function(e){if(!(e&&(null==e?void 0:e.length)>0))return"";e=e.trim();var t=/\[([^[]+)]\(([^)]+)\)/g,n=/(?<!href=")\bhttps?:\/\/\S+(?<![.,])/gi;if(t.test(e)){var i=e.replace(t,'<a href="$2" target="_blank">$1</a>');return this.sanitizeHtml(i)}if(n.test(e)){i=e.replace(n,'<a href="$&" target="_blank">$&</a>');return this.sanitizeHtml(i)}return e=(e=(e=e.replace(/(?:\r\n|\r|\n)/g,"<br>")).replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>")).replace(/^(#{1,6})\s+(.*)$/gm,(function(e,t,n){var i=t.length;return"<h"+i+">"+n+"</h"+i+">"})),this.cdr.markForCheck(),this.sanitizeHtml(e)},t.prototype.ngAfterViewChecked=function(){var e=this;this.elementRef.nativeElement.querySelectorAll(".feedback-link").forEach((function(t){t.addEventListener("click",e.onFeedbackClick.bind(e,"zendesk"))}))},t.prototype.sanitizeHtml=function(e){return this.sanitizer.bypassSecurityTrustHtml(e)},t.prototype.onFeedbackClick=function(e){this.feedbackEvent.emit(e)},t.prototype.onClose=function(){this.renderer.removeClass(document.body,this.bodyOverflowClass),this.onCloseEvent.emit()},t.prototype.sendMessageWithTile=function(e){this.input=e,this.fetchData(),this.scrollToBottom()},t.prototype.fetchData=function(e){var t;if(void 0===e&&(e=null),this.input=e||(null===(t=this.input)||void 0===t?void 0:t.trim()),this.msg=this.input,this.input&&!this.loading){this.ensureChatSocket(),this.chatLog.push({type:"user",message:this.processMessageForDisplay(this.input),time:j(this.timezone),copied:!1,isCollapsedTrue:!1});try{var n=this.myInput.nativeElement;n.style.height="hidden",n.style.height="62px"}catch(e){}this.cdr.markForCheck(),this.aiResponse="",this.isChatingWithAi=!0,this.makeAskRequest(this.input,this.agents,this.conversationKey)}},t.prototype.fetchDataFor=function(e,t){var n=null==e?void 0:e.trim();if(n&&!this.loading){this.ensureChatSocket();try{t.relatedListItems=[],this.cdr.detectChanges()}catch(e){}this.scrollToBottom(),this.chatLog.push({type:"user",message:this.processMessageForDisplay(n),time:j(this.timezone),copied:!1,isCollapsedTrue:!1}),this.cdr.markForCheck(),this.aiResponse="",this.isChatingWithAi=!0,this.makeAskRequest(n,this.agents,this.conversationKey,e,t)}},t.prototype.fetchSmallTalk=function(){var e=this;this.loading=!0,this.cdr.markForCheck();var t=this.environment.BASE_URL+"/bot/small-talk/"+this.botId+"/"+this.userId;this.http.get(t,{headers:{"x-api-key":this.apiKey,"hive-bot-id":this.botId,"domain-authority":this.domainAuthorityValue}}).pipe(r.catchError((function(e){return console.error("Error while fetching small talk:",e),s.of(null)}))).subscribe((function(t){e.loading=!1,e.cdr.markForCheck(),t&&t&&t.smallTalk&&(e.chatLog.push({type:"ai",message:e.processMessage(t.smallTalk),time:j(e.timezone),isFeedbackMsg:!0}),e.showFeedBackIconsIndex=e.chatLog.length-2,e.cdr.markForCheck())}))},t.prototype.pump=function(e,t,n){var i=this;t.read().then((function(o){var a,s,r,c,l=o.done,d=o.value,p=i.chatLog[i.chatLog.length-1];if(l)return p.message=i.processMessageForDisplay(p.message),i.chatLog.pop(),i.chatLog.push(p),(null==n?void 0:n.length)&&i.chatLog.push({type:"suggestions",suggestions:n}),e.close(),i.isChatingWithAi=!1,i.cdr.markForCheck(),void(i.showStartAgain=!0);var u=i.decoder.decode(d,{stream:!0});if(i.aiResponse+=u,"ai"===p.type){var h=i.aiResponse.match(/<sug>(.*?)<\/sug>/g);h&&h.forEach((function(e){i.aiResponse=i.aiResponse.replace(e,""),n.push(null==e?void 0:e.replace(/<\/?sug>/g,""))})),p.message=i.aiResponse,i.cdr.markForCheck()}else{i.isChatingWithAi=!1;var g=void 0;try{console.log("parsing json "),g=JSON.parse(JSON.parse(i.aiResponse))}catch(e){try{console.log("parsing json 2"),g=JSON.parse(i.aiResponse)}catch(e){}}if(console.log("parsing json done"),g&&(null===(a=null==g?void 0:g.section_id)||void 0===a?void 0:a.length)>0){if("company_search"!=g.section_id&&"user_search"!=g.section_id&&"industry_company_search"!=g.section_id||(i.fetchMyConnections().subscribe(),i.fetchPendingRequests().subscribe()),g.section_id==i.myUpcomingSessionAction){var m=[];null===(s=g.content)||void 0===s||s.forEach((function(e){m=E(E([],_(m)),_(e.speakers))})),(null==m?void 0:m.length)>0&&i.getSpeakersByStaffIds(m).subscribe()}if(g.section_id==i.addToMyAgendaAction&&(null===(r=g.content)||void 0===r?void 0:r.length)>0&&i.openPage.next({sectionId:g.section_id,sessionIds:g.content}),g.section_id==i.connectOrFollowAction){var f=null===(c=g.content)||void 0===c?void 0:c.length;f>1?i.openPage.next({sectionId:"open_networking_drawer",search:g.content}):1==f&&i.openPage.next({sectionId:g.section_id,connetUserIds:[g.content[0].userId]})}"true"==g.is_open_page&&(i.openPage.next({sectionId:g.section_id,search:g.content}),i.isMobileBrowser()&&(g.message+='\n\n<a id="closeBotNow">Click Here</a> to see results.')),i.chatLog.push({type:"ai",message:g.message,action:g,time:j(i.timezone)}),i.isMobileBrowser()&&setTimeout((function(){i.addCloseBotClickEvent()}),500),i.aiResponse=""}else i.chatLog.push({type:"ai",message:i.aiResponse,time:j(i.timezone)});i.showFeedBackIconsIndex=i.chatLog.length-1,i.cdr.markForCheck()}i.scrollToBottom(),e.enqueue(d),i.pump(e,t,n)}))},t.prototype.submitFeedback=function(e,t){var n=this;console.log(t),this.feedbackDone=!0,this.showFeedBackIconsIndex=null;var i=this.conversationService.getKey(this.botId),o=this.environment.AGENTS_API+"/Conversation/coPilot/"+this.botId+"/conversation/"+i+"/helpful-response";fetch(o,{method:"POST",headers:{"Content-Type":"application/json",apiKey:"Conversation_WIz/qAm+EEmfOkFaUA/weA==","hive-bot-id":this.botId,"domain-authority":this.domainAuthorityValue},body:JSON.stringify({messageId:t._id,isHelpful:e})}).then((function(){if(e)return n.chatLog.push({type:"ai",message:n.thumbsUpMessage||n.getTranslation("May I assist you with anything else"),time:j(n.timezone),isFeedbackMsg:!0}),n.scrollToBottom(),n.cdr.markForCheck(),n.feedbackDone=!1,void(n.showFeedBackIconsIndex=null);n.chatLog.push({type:"ai",message:n.processMessage(n.thumbsDownMessages[n.thumbsDownMsgIndex]),time:j(n.timezone),isFeedbackMsg:!0}),n.thumbsDownMsgIndex=(n.thumbsDownMsgIndex+1)%n.thumbsDownMessages.length,n.scrollToBottom(),n.cdr.markForCheck(),setTimeout((function(){var e=document.getElementById("supportLink88");e&&e.addEventListener("click",n.triggerSupport.bind(n))}),200),n.feedbackDone=!1,n.showFeedBackIconsIndex=null}))},t.prototype.handleKeydown=function(e){"Enter"!==e.key||e.shiftKey||(e.preventDefault(),this.handleSubmit(e))},t.prototype.handleSubmit=function(e){this.fetchData(),this.scrollToBottom()},Object.defineProperty(t.prototype,"lastAiMessageIndex",{get:function(){for(var e,t=this.chatLog.length-1;t>=0;t--)if("ai"===(null===(e=this.chatLog[t])||void 0===e?void 0:e.type))return t;return-1},enumerable:!1,configurable:!0}),t.prototype.handleUpClick=function(e){this.feedbackDone||(this.submitFeedback(!0,this.chatLog[e]),this.chatLog[e].liked=!this.chatLog[e].liked,this.chatLog[e].unliked&&(this.chatLog[e].unliked=!this.chatLog[e].unliked),this.cdr.markForCheck())},t.prototype.handleDownClick=function(e){this.feedbackDone||(this.submitFeedback(!1,this.chatLog[e]),this.chatLog[e].unliked=!this.chatLog[e].unliked,this.chatLog[e].liked&&(this.chatLog[e].liked=!this.chatLog[e].liked))},t.prototype.copyText=function(e,t){var n=this,i=document.getElementById(e),o=document.createElement("textarea");o.value=i.innerText,document.body.appendChild(o),o.select(),document.execCommand("copy"),document.body.removeChild(o),this.chatLog[t].copied=!0,this.cdr.detectChanges(),setTimeout((function(){n.chatLog[t].copied=!1,n.cdr.detectChanges()}),2e3)},t.prototype.handleCopyClick=function(e){this.chatLog[e].message,this.copyText("messageText_"+e,e)},t.prototype.sanitizeHTML=function(e){var t=(new DOMParser).parseFromString(e,"text/html"),n=document.createDocumentFragment();Array.from(t.body.childNodes).forEach((function(e){n.appendChild(e.cloneNode(!0))}));var i=document.createElement("div");return i.appendChild(n),i.querySelectorAll("script").forEach((function(e){return e.remove()})),i.innerHTML},t.prototype.handleEditorClick=function(e){var t=this;-1==this.currentIndexForEditor?(this.currentIndexForEditor=e,this.currentMessageForEditor=this.sanitizeHTML(this.chatLog[e].message),this.currentMessageForEditor=this.currentMessageForEditor.replace(""),this.cdr.detectChanges()):this.currentIndexForEditor==e?(this.currentMessageForEditor+=this.sanitizeHTML(this.chatLog[e].message),this.currentMessageForEditor=this.currentMessageForEditor.replace(""),this.cdr.detectChanges()):(this.currentIndexForEditor=e,this.currentMessageForEditor=this.sanitizeHTML(this.chatLog[e].message),this.currentMessageForEditor=this.currentMessageForEditor.replace(""),this.cdr.detectChanges()),this.chatLog[e].isEditor=!0,this.cdr.detectChanges(),setTimeout((function(){t.chatLog[e].isEditor=!1,t.cdr.detectChanges()}),2e3),this.editorsDrawer.open();var n=document.getElementById("botcloseplaygroundbutton");n&&(n.style.display="none"),this.cdr.detectChanges()},t.prototype.scrollToBottom=function(){var e=this,t=0,n=setInterval((function(){e.chatMain.nativeElement.scrollTop=e.chatMain.nativeElement.scrollHeight,t++>5&&clearInterval(n)}),5)},t.prototype.focusOnTextarea=function(){var e=this;setTimeout((function(){e.myInput&&e.myInput.nativeElement&&e.myInput.nativeElement.focus()}),100)},t.prototype.handleAction=function(e){console.info("incoming action from the chatbot AI"),console.info(e),null==e||e.content},t.prototype.ngAfterViewInit=function(){var e=this;this.drawer.opened&&this.setBodyOverflow(),this.drawer.openedChange.subscribe((function(t){t?e.setBodyOverflow():e.removeBodyOverflow()})),this.drawer.openedChange.subscribe((function(t){t&&setTimeout((function(){e.myInput&&e.myInput.nativeElement&&e.myInput.nativeElement.focus()}))}))},t.prototype.setBodyOverflow=function(){this.renderer.addClass(document.body,this.bodyOverflowClass)},t.prototype.removeBodyOverflow=function(){this.renderer.removeClass(document.body,this.bodyOverflowClass)},t.prototype.getSpeakersByStaffIds=function(e){var t=this,n=this.environment.USERS_API+"/events/"+this.eventId+"/users/get-by-staff-ids",o=Array.from(new Set((e||[]).map((function(e){return String(null!=e?e:"").trim()})).filter(Boolean)));if(0===o.length)return s.of(null);var a=new i.HttpHeaders({"Content-Type":"application/json",apiKey:this.autogenKey});return this.http.post(n,o,{headers:a}).pipe(r.tap((function(e){Array.isArray(e)&&e.length>0&&(e.forEach((function(e){var n,i=String(null!==(n=null==e?void 0:e.id)&&void 0!==n?n:"").trim();i&&(t.speakers[i]=e)})),t.cdr.markForCheck())})),r.catchError((function(e){return console.error("Error fetching speakers:",e),s.of(null)})))},t.prototype.performSessionAction=function(e,t){this.sessionActions.next({sessionId:e,action:t})},t.prototype.addCloseBotClickEvent=function(){var e=this,t=this.elementRef.nativeElement.querySelector("#closeBotNow");t&&this.renderer.listen(t,"click",(function(){e.closeBot.next()}))},t.prototype.isMobileBrowser=function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},t.prototype.connectToUser=function(e){var t=this;this.connectWithUser.emit({connect:!this.canDisconnect(e),userId:e}),setTimeout((function(){t.fetchMyConnections().subscribe((function(e){t.cdr.markForCheck()})),t.fetchPendingRequests().subscribe((function(e){t.cdr.markForCheck()}))}),500)},t.prototype.scheduleMeetingWithUser=function(e){this.scheduleMeeting.emit(e)},t.prototype.checkPendingSentRequest=function(e){var t;if(null==e||""===e)return!1;var n=(null===(t=this.pendingSentRequestUserIds)||void 0===t?void 0:t.length)?this.pendingSentRequestUserIds:this.pendingRequests;return!!(null==n?void 0:n.find((function(t){return t==e})))},t.prototype.canFollowUser=function(e){var t=null==e?void 0:e.id;return null!=t&&""!==t&&(!this.canUnfollowUser(e)&&!this.checkPendingSentRequest(t))},t.prototype.canUnfollowUser=function(e){var t,n=null==e?void 0:e.id;if(null==n||""===n)return!1;var i=(null===(t=this.connectionsList)||void 0===t?void 0:t.length)?this.connectionsList:this.myConnections;return!!(null==i?void 0:i.find((function(e){var t;return(null!==(t=e.userId)&&void 0!==t?t:e.id)==n})))},t.prototype.canConnect=function(e){return!(this.canDisconnect(e)||this.pendingRequests.find((function(t){return t==e})))},t.prototype.canDisconnect=function(e){return this.myConnections.find((function(t){return t.userId==e}))},t.prototype.fetchPendingRequests=function(){var e=this,t=new i.HttpHeaders({"Content-Type":"application/json",apiKey:this.autogenKey});return this.http.get(this.environment.USERS_API+"/events/"+this.eventId+"/connection-requests/autogen/pending-sent-requests?userId="+this.userId,{headers:t}).pipe(r.switchMap((function(t){return e.pendingRequests=t,e.cdr.markForCheck(),s.of(t)})),r.catchError((function(e){return console.error("Error fetching pending requests: ",e),s.of(null)})))},t.prototype.fetchMyConnections=function(){var e=this,t=new i.HttpHeaders({"Content-Type":"application/json",apiKey:this.autogenKey});return this.http.get(this.environment.USERS_API+"/events/"+this.eventId+"/users-connections/autogen?userId="+this.userId,{headers:t}).pipe(r.switchMap((function(t){return e.myConnections=t,e.cdr.markForCheck(),s.of(t)})),r.catchError((function(e){return console.error("Error fetching pending requests: ",e),s.of(null)})))},t.prototype.toggleDropdown=function(){this.agents||this.fetchAgents(),this.isDropdownOpen=!this.isDropdownOpen,this.cdr.detectChanges()},t.prototype.onSelectAll=function(e){var t;null===(t=this.agents)||void 0===t||t.forEach((function(e){return e.selected=!1})),this.cdr.detectChanges()},t.prototype.onAgentChange=function(e){var t=this.agents.filter((function(t){return t.id==e.id}));t&&t.length>0&&(t[0].selected=!t[0].selected,this.cdr.detectChanges()),this.cdr.detectChanges()},t.prototype.areAllSelected=function(){var e;return null===(e=this.agents)||void 0===e?void 0:e.every((function(e){return!e.selected}))},t.prototype.getDropdownHeaderText=function(){var e,t=null===(e=this.agents)||void 0===e?void 0:e.filter((function(e){return e.selected}));return t?t&&0===(null==t?void 0:t.length)?"All Agents":(null==t?void 0:t.length)>1?(null==t?void 0:t.length)+" Agents Selected":(null==t?void 0:t.length)+" Agent Selected":"All Agents"},t.prototype.fetchAgents_http=function(){var e=this;this.loading=!0;var t=this.environment.AGENTS_API+"/CoPilot/"+this.botId+"/active-agents",n=new i.HttpHeaders({"Content-Type":"application/json"});return this.http.post(t,{},{headers:n}).pipe(r.switchMap((function(t){return t&&(e.agents=t.map((function(e){return Object.assign(Object.assign({},e),{selected:!1})}))),e.cdr.markForCheck(),s.of(t)})),r.catchError((function(e){return console.error("Error fetching chatbot config: ",e),s.of(null)})))},t.prototype.fetchContent_http=function(){var e=this;this.isDocInEditMode=!1,this.isContentLoaded=!1,console.log("API call function"),this.loading=!0;var t=this.conversationService.getKey(this.botId);this.conversationId=t;var n=this.environment.AGENTS_API+"/ConversationDocuments?conversationId="+t+"&botId="+this.botId,o=new i.HttpHeaders({"Content-Type":"application/json",apiKey:"WIz/qAm+EEmfOkFaUA/weA==","domain-authority":this.domainAuthorityValue});return this.http.get(n,{headers:o}).pipe(r.switchMap((function(t){return t&&(e.isDocInEditMode=!0,e.documentContent=t,console.log("Get API callled success"),e.isContentLoaded=!0,console.log(t)),e.cdr.markForCheck(),s.of(t)})),r.catchError((function(t){return console.error("Error fetching chatbot config DJ: ",t),e.isDocInEditMode=!1,e.isContentLoaded=!0,404==(null==t?void 0:t.status)&&(console.log("dash"),e.isDocInEditMode=!1,e.isContentLoaded=!0),s.of(null)})))},t.prototype.fetchAgents=function(){this.fetchAgents_http().subscribe()},t.prototype.fetchEditorContent=function(){this.fetchContent_http().subscribe()},t.prototype.processMessageForDisplay=function(e){try{var t=new k.Renderer;t.link=function(e,t,n){return'<a href="'+e+'" title="'+(t||"")+'" target="_blank">'+n+"</a>"};var n=k.parse(e,{renderer:t});return this.sanitizer.bypassSecurityTrustHtml(n)}catch(e){return console.error("Error processing markdown:",e),""}},t.prototype.prepareHtml=function(e){var t=this;if(!(e&&e.length>0))return console.error("Input Markdown is null or empty"),"";var n=e.replace(/^(#{1,6})\s+(.*)$/gm,(function(e,t,n){var i=t.length;return 3===i?"<h3><strong>"+n+"</strong></h3>":4===i?"<h4><strong>"+n+"</strong></h4>":"<strong>"+n+"</strong>"}));return n=(n=(n=(n=(n=(n=(n=n.replace(/```(\w+)?\n([\s\S]*?)```/g,(function(e,n,i){var o=t.escapeHtml(i),a=n||"plaintext";return'\n <div class="code-container">\n <button id="copy-button" class="copy-button" (click)="copyToClipboard(\'`'+o+"`')\">"+t.getTranslation("Copy")+'</button>\n <pre class="code_block diff"><code class="language-'+a+'">'+o+"</code></pre>\n </div>"}))).replace(/`([^`]+)`/g,"<code>$1</code>")).replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>")).replace(/^\d+\.\s+(.*)$/gm,"<li>$1</li>")).replace(/^\-\s+(.*)$/gm,"<li>$1</li>")).replace(/\[([^\]]+)]\(([^)]+)\)/g,'<a href="$2" target="_blank">$1</a>')).replace(/(?:\r\n|\r|\n)/g,"<br>")},t.prototype.escapeHtml=function(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")},t.prototype.copyToClipboard=function(e){navigator.clipboard.writeText(e).then((function(){alert("Code copied to clipboard!")}),(function(e){console.error("Could not copy text: ",e)}))},t.prototype.toggleCollapse=function(){this.isCollapsed=!this.isCollapsed,this.cdr.detectChanges()},t.prototype.toggleCollapseGraph=function(){this.isCollapsedForGraph=!this.isCollapsedForGraph,this.cdr.detectChanges()},t.prototype.toggleCollapseFGraph=function(){this.isCollapsedForFGraph=!this.isCollapsedForFGraph,this.cdr.detectChanges()},t.prototype.getDomainName=function(e){try{return new URL(e).hostname.replace(/^www\./,"")}catch(e){return"unknown"}},t.prototype.getFaviconUrl=function(e){return"https://www.google.com/s2/favicons?sz=128&domain="+this.getDomainName(e)},t.prototype.onCardClick=function(e){this.currentSourcesList=e,this.cdr.detectChanges(),this.sourcesDrawer.open();var t=document.getElementById("botcloseplaygroundbutton");t&&(t.style.display="none")},t.prototype.openOuterEditor=function(){this.fetchEditorContent(),this.editorsDrawer.open(),this.isDrawerOpen=!0,this.isShowEditorButton=!1,this.cdr.detectChanges();var e=document.getElementById("botcloseplaygroundbutton");e&&(e.style.display="none")},t.prototype.onCloseEditor=function(){this.editorsDrawer.close(),this.isDrawerOpen=!1,this.isShowEditorButton=!0,this.cdr.detectChanges(),this.onDrawerClosed()},t.prototype.onCloseSource=function(){this.sourcesDrawer.close(),this.isDrawerOpen=!1,this.cdr.detectChanges(),this.onDrawerClosed()},t.prototype.onDrawerClosed=function(){var e=this;setTimeout((function(){e.isDrawerOpen=!0,e.cdr.detectChanges();var t=document.getElementById("botcloseplaygroundbutton");t&&(t.style.display="block")}),800)},t.prototype.toggleDrawer=function(e){this.isDrawerOpen=e,this.cdr.detectChanges(),this.updateButtonVisibility()},t.prototype.updateButtonVisibility=function(){var e=document.getElementById("botcloseplaygroundbutton");e&&(e.style.display=this.isDrawerOpen?"block":"none")},t.prototype.openLinkInNewTab=function(e){window.open(e,"_blank")},t.prototype.adjustTextareaHeight=function(e){try{"Enter"!==e.key||e.shiftKey||e.preventDefault()}catch(e){}var t=e.target;t.style.height="auto",t.style.height=t.scrollHeight+"px",t.scrollHeight>150?(t.style.height="150px",t.style.overflowY="auto"):t.style.overflowY="hidden"},t.prototype.toggleWorkflows=function(e){var t=this;void 0===e&&(e=null),this.checkForCop29BotId()||this.botService.getWorkflowsByOrgId(this.orgId).subscribe((function(n){t.orgWorkflows=n,t.isWorkflowOpen=null==e?!t.isWorkflowOpen:e,t.isWorkflowOpen||(t.selectedWorkflow=null,t.openWorkflowInput=!1),t.cdr.detectChanges()}))},t.prototype.initializeForm=function(){var e,t,n={};(null===(t=null===(e=this.selectedWorkflow)||void 0===e?void 0:e.Trigger)||void 0===t?void 0:t.InputSchema)&&this.selectedWorkflow.Trigger.InputSchema.forEach((function(e){n[e.InputId]=[e.Value||"",e.Required?l.Validators.required:null]})),this.workflowForm=this.fb.group(n)},t.prototype.onWorkflowSelected=function(e){this.selectedWorkflow=e,this.initializeForm(),this.isWorkflowOpen=!1,this.openWorkflowInput=!0},t.prototype.onWorkflowSubmit=function(){document.getElementById("botAllChat");if(this.workflowForm.valid){console.log(this.workflowForm.value);var e=this.prepareHtml(this.generateMarkdown(this.selectedWorkflow.Name,this.workflowForm.value));try{this.chatLog[this.chatLog.length-1].showWorkflowExecutionLoader=!1,this.chatLog[this.chatLog.length-2].showWorkflowExecutionLoader=!1}catch(e){}this.chatLog.push({type:"user",message:e,time:j(this.timezone),copied:!1,isCollapsedTrue:!1,showWorkflowExecutionLoader:!0}),console.log(e),this.currentWorkflowActionProgress=0,this.currentWorkflowAction="Executing "+this.selectedWorkflow.Actions[0].Name,this.isChatingWithAi=!0,this.executingWorkflow=!0,this.workflowExecutionDetails={Actions:this.selectedWorkflow.Actions,Inputs:this.workflowForm.value,workflowInputs:this.workflowForm.value,WorkflowName:this.selectedWorkflow.Name},this.currentWorkflowExecutionDetails=this.workflowExecutionDetails,this.scrollToBottom(),this.cdr.detectChanges(),this.makeAskRequest(e,this.agents,this.conversationKey,"",null,this.selectedWorkflow._id,this.workflowForm.value)}},t.prototype.makeAskRequest=function(e,t,n,i,o,a,s){var r,c=this,l=this.environment.BASE_URL+"/ai/ask",d={user_question:e,user_id:this.userId,bot_id:this.botId,message_id:this.conversationService.generateKey(),session_id:this.conSessionKey,agents:null!==(r=null==t?void 0:t.filter((function(e){return e.selected})).map((function(e){return e.id})))&&void 0!==r?r:[],conversation_id:n,first_name:this.firstName,last_name:this.lastName};a&&(d.workflow_id=a,d.workflow_inputs=s);var p={"Content-Type":"application/json",Authorization:"Bearer "+this.s27Token,"x-api-key":this.apiKey,"hive-bot-id":this.botId,"domain-authority":this.domainAuthorityValue,eventUrl:this.eventUrl,eventToken:this.eventToken};this.workspaceToken&&(p.workspaceToken=this.workspaceToken),fetch(l,{method:"POST",headers:p,body:JSON.stringify(d)}).then((function(e){return 401===e.status||403===e.status?(c.is401=!0,c.refreshToken.emit(),i&&o&&(c.msg=i,c.chat=o,c.isFetchDataFor=!0)):c.is401=!1,e.json()})).then((function(e){console.log(e)})).catch((function(e){console.error("Error: ",e),c.isChatingWithAi=!1})),this.input="",this.selectedWorkflow=null,this.openWorkflowInput=!1,this.isWorkflowOpen=!1,this.scrollToBottom(),this.cdr.markForCheck()},t.prototype.makeAskRequestold=function(e,t,n,o,a,s,r){var c,l=this,d=this.environment.BASE_URL+"/ai/ask",p={user_question:e,user_id:this.userId,bot_id:this.botId,message_id:this.conversationService.generateKey(),agents:null!==(c=null==t?void 0:t.filter((function(e){return e.selected})).map((function(e){return e.id})))&&void 0!==c?c:[],conversation_id:n,first_name:this.firstName,last_name:this.lastName};s&&(p.workflow_id=s,p.workflow_inputs=r);var u=new i.HttpHeaders({"Content-Type":"application/json","x-api-key":this.apiKey,"hive-bot-id":this.botId,"domain-authority":this.domainAuthorityValue});this.http.post(d,p,{headers:u}).subscribe({next:function(e){console.log(e)},error:function(e){console.error("Error: ",e),l.isChatingWithAi=!1}}),this.input="",this.selectedWorkflow=null,this.openWorkflowInput=!1,this.isWorkflowOpen=!1,this.scrollToBottom(),this.cdr.markForCheck()},t.prototype.generateMarkdown=function(e,t){var n,i,o,a,s="## "+e+"\n",r=function(e,t){a=(null===(o=c.selectedWorkflow.Trigger.InputSchema.find((function(t){return t.InputId===e})))||void 0===o?void 0:o.Label)||e,s+="- **"+a+"**: "+t+"\n"},c=this;try{for(var l=M(Object.entries(t)),d=l.next();!d.done;d=l.next()){var p=_(d.value,2);r(p[0],p[1])}}catch(e){n={error:e}}finally{try{d&&!d.done&&(i=l.return)&&i.call(l)}finally{if(n)throw n.error}}return s},t.prototype.showWorkflowHistoryDetails=function(e){var t=this;if(!e)return this.workflowExecutionDetails=this.currentWorkflowExecutionDetails,this.showWorkflowExecutionDetails=!0,void this.cdr.detectChanges();this.botService.getWorkflowExecutionById(e).subscribe((function(e){e&&e.Actions&&Array.isArray(e.Actions)&&(e.Actions=e.Actions.map((function(e){return e.InsertTimeStamp&&(e.InsertTimeStamp=F(t.timezone,e.InsertTimeStamp)),e}))),e.InsertTimeStamp=F(t.timezone,e.InsertTimeStamp),t.workflowExecutionDetails=e,t.showWorkflowExecutionDetails=!0,t.cdr.detectChanges()}))},t.prototype.closeModal=function(){this.showWorkflowExecutionDetails=!1},t.prototype.objectToArray=function(e){return Object.keys(e).map((function(t){return{key:t,value:e[t]}}))},t.prototype.startNewConversation=function(){var e=this;this.conversationKey=this.conversationService.getKey(this.botId,!0),this.chatLog=[this.chatLog[0]],this.isChatingWithAi=!1,this.chatSocketInitialized=!1,setTimeout((function(){e.ensureChatSocket()}),200),this.scrollToBottom(),this.cdr.detectChanges()},t.prototype.initializeSpeechRecognizer=function(e){var t=this;this.speechConfig=w.SpeechConfig.fromAuthorizationToken(e,this.region);var n=w.AudioConfig.fromDefaultMicrophoneInput();this.recognizer=new w.SpeechRecognizer(this.speechConfig,n),this.recognizer.recognizing=function(e,n){n.result.reason===w.ResultReason.RecognizingSpeech&&(t.input=n.result.text,console.log("Recognizing: "+n.result.text),t.cdr.markForCheck())},this.recognizer.recognized=function(e,n){n.result.reason===w.ResultReason.RecognizedSpeech&&(t.input=n.result.text,console.log("Recognized: "+n.result.text),t.toggleRecording(),t.cdr.markForCheck())},this.recognizer.canceled=function(e,t){console.error("Canceled: ",t.errorDetails)},this.recognizer.sessionStopped=function(e,n){console.log("Session stopped."),t.recognizer.stopContinuousRecognitionAsync(),t.fetchData()}},t.prototype.toggleRecording=function(){this.isRecording=!this.isRecording,this.isRecording?this.startRecognition():this.stopRecognition()},t.prototype.startRecognition=function(){this.recognizer.startContinuousRecognitionAsync()},t.prototype.stopRecognition=function(){this.recognizer.stopContinuousRecognitionAsync()},t.prototype.checkForCop29BotId=function(){return"66fa3f276c5d71e2717bfea8"==this.botId||"671633545652dd78efec848d"==this.botId},t.prototype.getLatestTime=function(e){return e||(new Date).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})},t.prototype.openVoiceModal=function(){var e,t,i,a,s,r,c,l,d,p,u=this,h=null!==(t=null!==(e=this.conversationKey)&&void 0!==e?e:this.conversationService.getKey(this.botId,!1))&&void 0!==t?t:"";this.voiceModalConversationId=h,this.setupVoiceTranscripts(),this.voiceModalOverlayRef&&(this.voiceModalOverlayRef.detach(),this.voiceModalOverlayRef.dispose(),this.voiceModalOverlayRef=null);var g={apiUrl:null!==(a=null===(i=this.environment)||void 0===i?void 0:i.BASE_URL)&&void 0!==a?a:"",token:null!==(s=this.s27Token)&&void 0!==s?s:"",botId:null!==(r=this.botId)&&void 0!==r?r:"",conversationId:h,apiKey:null!==(c=this.apiKey)&&void 0!==c?c:"",eventToken:null!==(l=this.eventToken)&&void 0!==l?l:"",eventUrl:null!==(d=this.eventUrl)&&void 0!==d?d:"",domainAuthority:null!==(p=this.domainAuthorityValue)&&void 0!==p?p:"prod-lite",agentName:this.botName||"AI Assistant",agentRole:this.botSkills||"AI Agent Specialist",agentAvatar:this.botIcon},m=o.Injector.create([{provide:G,useValue:g},{provide:Z,useValue:function(){u.voiceModalOverlayRef&&(u.voiceModalOverlayRef.detach(),u.voiceModalOverlayRef.dispose(),u.voiceModalOverlayRef=null),u.closeVoiceModal()}}],this.injector),f=this.overlay.create({hasBackdrop:!1,scrollStrategy:this.overlay.scrollStrategies.block(),positionStrategy:this.overlay.position().global().bottom("0").right("0").left("0").top("0")}),v=new n.ComponentPortal($,this.viewContainerRef,m);f.attach(v),this.voiceModalOverlayRef=f,this.cdr.markForCheck()},t.prototype.closeVoiceModal=function(){var e=this;this.voiceModalOverlayRef&&(this.voiceModalOverlayRef.detach(),this.voiceModalOverlayRef.dispose(),this.voiceModalOverlayRef=null),this.isVoiceModalOpen=!1,this.voiceAgentService.disconnect(),this.cdr.markForCheck(),this.chatLog=[],this.fetchChatHistory().subscribe((function(t){e.loading=!1,e.mapChatHistory(t),e.cdr.markForCheck()}),(function(t){e.loading=!1,e.cdr.markForCheck(),console.error("Error fetching chat history after voice modal close:",t),0===e.chatLog.length&&e.greetingMsg&&e.mapChatHistory({Messages:[]})}))},t.prototype.setupVoiceTranscripts=function(){var e=this;this.voiceTranscriptSubscriptions.forEach((function(e){return e.unsubscribe()})),this.voiceTranscriptSubscriptions=[];var t=this.voiceAgentService.userTranscript$.subscribe((function(t){t.final&&t.text.trim()&&(e.chatLog.push({type:"user",message:e.processMessageForDisplay(t.text),time:j(e.timezone),copied:!1,isCollapsedTrue:!1}),e.cdr.markForCheck(),e.scrollToBottom())})),n=this.voiceAgentService.botTranscript$.subscribe((function(t){if(t&&t.trim()){var n=e.chatLog[e.chatLog.length-1];n&&"ai"===n.type?n.message=e.processMessageForDisplay(t):(e.chatLog.push({type:"ai",message:e.processMessageForDisplay(t),time:j(e.timezone),copied:!1,isCollapsedTrue:!1}),e.showFeedBackIconsIndex=e.chatLog.length-1),e.cdr.markForCheck(),e.scrollToBottom()}}));this.voiceTranscriptSubscriptions.push(t,n)},t}();Y.TZ_ABBR_MAP={"Pacific/Kiritimati":"LINT","Pacific/Apia":"SST","Pacific/Tongatapu":"TST","Etc/GMT-13":"UTC","Pacific/Chatham":"CHADT","Asia/Kamchatka":"ANAT","Pacific/Fiji":"FJT","Etc/GMT-12":"U","Pacific/Auckland":"NZST","Pacific/Guadalcanal":"CPST","Asia/Sakhalin":"SAKT","Pacific/Norfolk":"NFT","Asia/Magadan":"MAGT","Asia/Srednekolymsk":"SRET","Pacific/Bougainville":"BST","Australia/Lord_Howe":"LHST","Asia/Vladivostok":"VLAT","Australia/Hobart":"AEST","Pacific/Port_Moresby":"ChST","Australia/Sydney":"AEST","Australia/Brisbane":"AWST","Australia/Darwin":"ACST","Australia/Adelaide":"ACST","Asia/Yakutsk":"YAKT","Asia/Seoul":"KST","Asia/Pyongyang":"KST","Asia/Tokyo":"TST","Asia/Chita":"YAKT","Australia/Eucla":"ACWST","Asia/Ulaanbaatar":"FST","Asia/Taipei":"ULAT","Australia/Perth":"AWST","Asia/Singapore":"SNST","Asia/Irkutsk":"IRKT","Asia/Shanghai":"CST","Asia/Tomsk":"MSD","Asia/Novosibirsk":"NOVT","Asia/Krasnoyarsk":"KRAT","Asia/Hovd":"SAST","Asia/Barnaul":"MSK","Asia/Bangkok":"THA","Asia/Yangon":"MYST","Asia/Omsk":"OMST","Asia/Dhaka":"BST","Asia/Almaty":"NCAST","Asia/Kathmandu":"NPT","Asia/Colombo":"SLT","Asia/Kolkata":"IST","Asia/Calcutta":"IST","Asia/Qyzylorda":"CAST","Asia/Karachi":"PKT","Asia/Yekaterinburg":"YEKT","Asia/Tashkent":"WAST","Asia/Kabul":"AFT","Asia/Yerevan":"AMT","Europe/Volgograd":"VST","Asia/Tbilisi":"GET","Europe/Saratov":"SLT","Indian/Mauritius":"MUT","Europe/Samara":"SAMT","Asia/Baku":"AZT","Europe/Astrakhan":"SAMT","Asia/Dubai":"ARBST","Asia/Tehran":"IDT","Africa/Nairobi":"EAST","Europe/Moscow":"MSK","Europe/Minsk":"MSK","Asia/Riyadh":"AST","Europe/Istanbul":"TDT","Asia/Baghdad":"AST","Africa/Windhoek":"NST","Africa/Tripoli":"LST","Africa/Khartoum":"EAST","Europe/Kaliningrad":"KST","Asia/Jerusalem":"JDT","Europe/Kiev":"EEDT","Africa/Johannesburg":"SAST","Asia/Hebron":"EET","Asia/Damascus":"SDT","Europe/Chisinau":"GDT","Africa/Cairo":"EST","Asia/Beirut":"MEDT","Europe/Bucharest":"GDT","Asia/Amman":"JST","Africa/Lagos":"ECT","Europe/Warsaw":"CEDT","Africa/Casablanca":"MDT","Europe/Paris":"CEST","Europe/Budapest":"CEDT","Europe/Berlin":"WEDT","Africa/Sao_Tome":"GST","Atlantic/Reykjavik":"GST","Europe/London":"GDT","Etc/UTC":"UTC","Atlantic/Azores":"ADT","Atlantic/Cape_Verde":"CVST","Etc/GMT+2":"MST","America/Araguaina":"SEST","America/Sao_Paulo":"ESAST","America/Cayenne":"SEST","America/Argentina/Buenos_Aires":"AST","America/Nuuk":"WGT","America/Montevideo":"MST","America/Punta_Arenas":"CLST","America/Miquelon":"PMST","America/Bahia":"BST","America/St_Johns":"NST","America/Asuncion":"PRST","America/Halifax":"AST","America/Caracas":"VST","America/Cuiaba":"CBST","America/La_Paz":"SAWST","America/Santiago":"PSST","America/Bogota":"SPST","America/Cancun":"EST","America/New_York":"ET","America/Port-au-Prince":"EDT","America/Havana":"EDT","America/Indiana/Indianapolis":"EST","America/Grand_Turk":"EST","America/Guatemala":"CAST","America/Chicago":"CT","Pacific/Easter":"EAST","America/Mexico_City":"CST","America/Regina":"CCST","America/Phoenix":"MT","America/Chihuahua":"MDT","America/Denver":"MT","America/Whitehorse":"YST","America/Tijuana":"PST","Etc/GMT+8":"UTC-08","America/Los_Angeles":"PT","America/Anchorage":"AK","Etc/GMT+9":"UTC-09","Pacific/Marquesas":"MST","America/Adak":"HST","Pacific/Honolulu":"HAST","Etc/GMT+11":"UTC-11","Etc/GMT+12":"BIT"},Y.WINDOWS_TZ_ABBR_MAP={"(UTC-03:00) Brasilia":"BRT","(UTC-03:00) Buenos Aires":"ART","(UTC+05:30) India":"IST","(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi":"IST","(UTC+00:00) Dublin, Edinburgh, London":"GMT","(UTC+00:00) Monrovia, Reykjavik":"GMT","(UTC+01:00) Amsterdam, Berlin, Rome, Stockholm":"CET","(UTC+01:00) Brussels, Copenhagen, Madrid, Paris":"CET","(UTC+02:00) Athens, Istanbul, Minsk":"EET","(UTC+02:00) Cairo":"EET","(UTC+02:00) Jerusalem":"IST","(UTC+03:00) Moscow, St. Petersburg":"MSK","(UTC+03:00) Nairobi":"EAT","(UTC+04:00) Dubai":"GST","(UTC+05:00) Islamabad, Karachi":"PKT","(UTC+05:45) Kathmandu":"NPT","(UTC+06:00) Dhaka":"BST","(UTC+06:30) Yangon (Rangoon)":"MMT","(UTC+07:00) Bangkok, Hanoi, Jakarta":"ICT","(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi":"CST","(UTC+08:00) Kuala Lumpur, Singapore":"SGT","(UTC+09:00) Osaka, Sapporo, Tokyo":"JST","(UTC+09:30) Adelaide":"ACST","(UTC+10:00) Brisbane":"AEST","(UTC+10:00) Canberra, Melbourne, Sydney":"AEST","(UTC+12:00) Auckland, Wellington":"NZST","(UTC-05:00) Eastern Time (US & Canada)":"ET","(UTC-06:00) Central Time (US & Canada)":"CT","(UTC-07:00) Mountain Time (US & Canada)":"MT","(UTC-08:00) Pacific Time (US & Canada)":"PT"},Y.decorators=[{type:o.Component,args:[{selector:"hivegpt-chat-drawer-package",template:'<button\n *ngIf="isShowEditorButton && !checkForCop29BotId()"\n (click)="openOuterEditor()"\n class="fixed-btn"\n>\n <span style="font-size: 12px" class="material-icons notranslate">\n create\n </span>\n Editor\n</button>\n\n<button\n *ngIf="!isShowEditorButton"\n (click)="onCloseEditor()"\n class="fixed-btn-close"\n>\n <span style="font-size: 12px" class="material-icons notranslate">\n close\n </span>\n {{ getTranslation("Close") }}\n</button>\n\n<mat-drawer-container\n class="hivegpt-chat-bot-wrapper"\n [ngClass]="{ \'mat-drawer-container-has-open\': isDrawerOpen }"\n [class.ios-device]="isIOSDevice"\n [hasBackdrop]="hasBackdropValue"\n>\n <mat-drawer\n class="drawer"\n #drawer\n [position]="\'start\'"\n [mode]="\'over\'"\n opened="true"\n [class.full-width-drawer]="fullView"\n [style.background]="\n \'linear-gradient(\' + (bgGradient ? bgGradient.join(\', \') : \'\') + \')\'\n "\n >\n <mat-drawer-content>\n <div class="chat-main">\n \x3c!-- <div class="chat-header">\n <h2> --\x3e\n \x3c!-- {{eventName}} --\x3e\n \x3c!-- </h2> --\x3e\n \x3c!-- <button class="closeIcon" (click)="onClose()">\n <span class="material-symbols-outlined">\n close\n </span>\n </button> --\x3e\n \x3c!-- </div> --\x3e\n\n <div class="innerChat" #chatMain>\n <div (click)="startNewConversation()" class="new-conversationbutton">\n {{ getTranslation("New Chat") }}\n <span\n ><svg\n xmlns="http://www.w3.org/2000/svg"\n width="14.061"\n height="14.261"\n viewBox="0 0 14.061 14.261"\n >\n <path\n id="Path_164"\n data-name="Path 164"\n d="M10.146,5.075H4.531A1.544,1.544,0,0,0,3,6.631v7.262A1.544,1.544,0,0,0,4.531,15.45h7.146a1.544,1.544,0,0,0,1.531-1.556V8.187m-7.146,4.15L15.25,3m0,0H11.677M15.25,3V6.631"\n transform="translate(-2.25 -1.939)"\n fill="none"\n stroke="#06f"\n stroke-linecap="round"\n stroke-linejoin="round"\n stroke-width="1.5"\n />\n </svg>\n </span>\n </div>\n <div class="bot-sticky-header-chat">\n <div class="title_chat">\n <h2>\n <p>\n {{ getTranslation(botName) }}\n \x3c!-- <svg\n *ngIf="!checkForCop29BotId()"\n xmlns="http://www.w3.org/2000/svg"\n width="31.499"\n height="31.501"\n viewBox="0 0 31.499 31.501"\n >\n <path\n id="Icon_ion-shield-checkmark"\n data-name="Icon ion-shield-checkmark"\n d="M33.685,7.83a1.125,1.125,0,0,0-.925-1.036,49.227,49.227,0,0,1-14.3-4.444,1.125,1.125,0,0,0-.927,0A49.226,49.226,0,0,1,3.24,6.794,1.125,1.125,0,0,0,2.315,7.83a27.621,27.621,0,0,0,1.718,11.9A24.572,24.572,0,0,0,9.07,27.641a25.712,25.712,0,0,0,8.513,6.028,1.125,1.125,0,0,0,.844,0,25.712,25.712,0,0,0,8.513-6.028,24.572,24.572,0,0,0,5.027-7.911,27.621,27.621,0,0,0,1.718-11.9Zm-9.211,5.281-7.791,9a1.125,1.125,0,0,1-.8.389h-.046a1.125,1.125,0,0,1-.788-.322L11.587,18.79a1.125,1.125,0,1,1,1.575-1.607l2.6,2.552,7.01-8.1a1.125,1.125,0,0,1,1.7,1.472Z"\n transform="translate(-2.25 -2.25)"\n fill="#06f"\n />\n </svg> --\x3e\n </p>\n <span *ngIf="!checkForCop29BotId()">\n <p class="small-title">\n {{ getTranslation("AI-powered")\n }}<span>{{ getTranslation("copilot") }}</span>\n </p>\n </span>\n </h2>\n </div>\n <div class="chatType" style="display: none">\n <h4 class="labelChat">Choose a conversation style</h4>\n <ul>\n <li (click)="changeTemperature(0)">\n <button [ngClass]="{ active: temperature === 0 }">\n <span class="top-section-title"> More Creative </span>\n </button>\n </li>\n <li (click)="changeTemperature(1)" class="fdssfd">\n <button [ngClass]="{ active: temperature === 1 }">\n <span class="top-section-title"> More Balanced </span>\n </button>\n </li>\n <li (click)="changeTemperature(2)">\n <button [ngClass]="{ active: temperature === 2 }">\n <span class="top-section-title"> More Precise </span>\n </button>\n </li>\n </ul>\n </div>\n </div>\n \x3c!-- chattype --\x3e\n <div\n id="botAllChat"\n class="chat"\n [ngClass]="{\n botUser: chat?.type === \'user\',\n botAi: chat?.type !== \'user\',\n }"\n *ngFor="let chat of chatLog; let i = index"\n >\n <div class="chat-box" *ngIf="!(i === 0 && botSkills)">\n <div class="message">\n <div\n class="time-cta"\n [ngClass]="{\n \'time-cta din\': showFeedBackIconsIndex === i,\n \'time-cta\': showFeedBackIconsIndex != i,\n }"\n >\n <div\n class="Icon_TimeSTamp"\n *ngIf="chat?.type === \'ai\' && !(i === 0 && botSkills)"\n >\n <div class="chat-avatar">\n <img\n *ngIf="displayAvatarUrl || botIcon"\n [src]="displayAvatarUrl || botIcon"\n alt="Assistant"\n class="chat-avatar-img"\n />\n <span\n *ngIf="!(displayAvatarUrl || botIcon)"\n class="chat-avatar-initials chat-avatar-initials-assistant"\n >A</span\n >\n </div>\n <div\n class="dateTime"\n [style.color]="dateTimeColor ? \'\' : \'\'"\n >\n <span style="color: #000 !important;">{{ getTranslation("Assistant") }}</span>\n {{ chat?.time }}\n </div>\n </div>\n\n <div\n class="Icon_TimeSTamp"\n *ngIf="\n chat?.type === \'session_cards\' ||\n chat?.type === \'attendee_cards\'\n "\n >\n <div class="chat-avatar">\n <img\n *ngIf="displayAvatarUrl || botIcon"\n [src]="displayAvatarUrl || botIcon"\n alt="Assistant"\n class="chat-avatar-img"\n />\n <span\n *ngIf="!(displayAvatarUrl || botIcon)"\n class="chat-avatar-initials chat-avatar-initials-assistant"\n >A</span\n >\n </div>\n <div\n class="dateTime"\n [style.color]="dateTimeColor ? \'\' : \'\'"\n >\n <span>{{ getTranslation("Assistant") }}</span>\n {{ chat?.time }}\n </div>\n </div>\n\n <div class="Icon_TimeSTamp" *ngIf="chat?.type === \'user\'">\n <div class="user-Box">\n <div class="dateTime">\n <span>{{ getTranslation("You") }}</span>\n {{ chat?.time }}\n </div>\n <div class="chat-avatar">\n <img\n *ngIf="userAvatarUrl"\n [src]="userAvatarUrl"\n alt="You"\n class="chat-avatar-img"\n />\n <span\n *ngIf="!userAvatarUrl"\n class="chat-avatar-initials chat-avatar-initials-user"\n >{{ getUserIdInitials() }}</span\n >\n </div>\n </div>\n <div class="bards">\n <div\n class="bars"\n *ngIf="\n chat?.WorkflowExecutionId ||\n chat?.showWorkflowExecutionLoader\n "\n >\n <button\n class="icon-button"\n (click)="\n showWorkflowHistoryDetails(chat.WorkflowExecutionId)\n "\n >\n <i class="fas fa-bars"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n <div\n class="researchingCard"\n *ngIf="\n (chat?.searchTerms && chat?.searchTerms.length > 0) ||\n (chat?.sourcesList && chat?.sourcesList?.length > 0)\n "\n >\n <div\n class="card-header d-flex align-items-center"\n (click)="toggleCollapse()"\n >\n <span class="icon"\n ><i class="bx bx-plus-circle bx-sm"></i\n ></span>\n <span class="ml-2"\n >Researching\n <i\n id="toggleIcon"\n class="toggle-icon ml-2 fa"\n [ngClass]="{\n \'fa-chevron-down\': isCollapsed,\n \'fa-chevron-up\': !isCollapsed,\n }"\n ></i\n ></span>\n </div>\n <div\n *ngIf="chat?.searchTerms && chat?.searchTerms.length > 0"\n [ngClass]="{ collapse: isCollapsed }"\n >\n <ul class="list-group list-group-flush uptList">\n <li\n *ngFor="let term of chat?.searchTerms"\n class="list-group-item"\n >\n Searching for\n <strong>{{ term }}</strong>\n </li>\n </ul>\n\n <h5\n class="mt-2"\n *ngIf="chat?.sourcesList && chat?.sourcesList.length > 0"\n >\n <i class="bx bx-unite"></i> Sources\n </h5>\n <div\n class="sources-container"\n *ngIf="chat?.sourcesList && chat?.sourcesList.length > 0"\n >\n <div\n class="source-card"\n *ngFor="\n let source of chat?.displayedSources;\n let i = index\n "\n >\n <div>\n <div class="source-title">{{ source.title }}</div>\n <div class="source-url">\n <img\n class="relative block"\n [src]="getFaviconUrl(source.link)"\n [alt]="getDomainName(source.link) + \' favicon\'"\n />\n {{ getDomainName(source.link) }}\n </div>\n <div class="popup">\n <div\n class="source-url"\n (click)="openLinkInNewTab(source.link)"\n >\n <img\n class="relative block"\n [src]="getFaviconUrl(source.link)"\n [alt]="getDomainName(source.link) + \' favicon\'"\n />\n {{ getDomainName(source.link) }}\n </div>\n <h5 (click)="openLinkInNewTab(source.link)">\n {{ source.title }}\n </h5>\n <p (click)="openLinkInNewTab(source.link)">\n {{ source.desc }}\n </p>\n </div>\n </div>\n </div>\n <ng-container\n *ngIf="\n chat?.remainingSources &&\n chat?.remainingSources.length > 0\n "\n >\n <div\n class="source-card"\n (click)="onCardClick(chat?.sourcesList)"\n >\n <div>\n <div class="source-title">\n <img\n *ngFor="\n let source of chat?.remainingSources;\n let i = index\n "\n class="relative block"\n [src]="getFaviconUrl(source.link)"\n [alt]="getDomainName(source.link) + \' favicon\'"\n />\n </div>\n <div class="source-url">\n View {{ chat?.remainingSources.length }} more\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n\n \x3c!-- Session cards (from get_event_sessions tool, same as React Native) --\x3e\n <div\n class="session-cards-section"\n *ngIf="\n chat?.type === \'session_cards\' &&\n chat?.sessionCards?.length > 0\n "\n >\n <div\n *ngIf="chat?.message"\n class="card-message-bubble"\n [ngStyle]="{ background: bgBubbleAi || \'#fff\' }"\n >\n <p\n class="SearchTitle ai card-message-text"\n [innerHTML]="chat?.message"\n ></p>\n </div>\n <div class="session-cards-container">\n <div\n *ngFor="\n let session of getVisibleSessionCards(chat);\n let idx = index\n "\n class="session-card-item"\n [class.session-card-item-ondemand]="isSessionOndemand(session)"\n >\n \x3c!-- OnDemand design: pill, Available Anytime, title, description --\x3e\n <ng-container *ngIf="isSessionOndemand(session)">\n <span class="session-card-ondemand-badge">{{ getTranslation(\'ON DEMAND\') || \'ON DEMAND\' }}</span>\n <div class="session-card-ondemand-available">{{ getTranslation(\'Available Anytime\') || \'Available Anytime\' }}</div>\n <div class="session-card-title session-card-ondemand-title">{{ session.title }}</div>\n <div\n class="session-card-description session-card-ondemand-desc"\n *ngIf="session.description"\n >\n {{ session.description }}\n </div>\n <div\n class="session-card-actions-row"\n *ngIf="session.session && getSessionRoleButtons(session).length > 0"\n >\n <div class="speakers-UIcard"></div>\n <div class="session-card-actions">\n <button\n *ngFor="let role of getSessionRoleButtons(session)"\n type="button"\n class="btn session-card-btn"\n [class.session-card-btn-primary]="role.action === \'join\'"\n [class.session-card-btn-secondary]="role.action === \'watch\'"\n [class.session-card-btn-disabled]="isUnEvent && !canPerformSessionAction(session)"\n [attr.aria-disabled]="isUnEvent && !canPerformSessionAction(session)"\n [disabled]="!canPerformSessionAction(session)"\n (click)="onSessionCardAction(session, role)"\n >\n {{ role.label }}\n </button>\n </div>\n </div>\n </ng-container>\n \x3c!-- Default (Live/Breakout) design: date badge, room/time, title, meta, description, actions --\x3e\n <ng-container *ngIf="!isSessionOndemand(session)">\n <div class="session-card-header">\n <div class="session-card-date-badge">\n <ng-container *ngIf="session.dateDay || session.dateMonth">\n <span class="session-card-date-day">{{\n session.dateDay\n }}</span>\n <span class="session-card-date-month">{{\n session.dateMonth\n }}</span>\n </ng-container>\n <span\n *ngIf="!session.dateDay && !session.dateMonth"\n class="session-card-date-na"\n >{{ getTranslation(\'N/A\') || \'N/A\' }}</span>\n </div>\n <div class="session-card-room-time">\n <div\n class="session-card-room"\n *ngIf="session.room"\n >\n {{ session.room }}\n </div>\n <div\n class="session-card-time"\n *ngIf="session.timeRangeWithTz || session.timeRange"\n >\n {{ session.timeRangeWithTz || session.timeRange }}\n </div>\n </div>\n </div>\n <div class="session-card-title">{{ session.title }}</div>\n <div\n class="session-card-meta"\n *ngIf="(session.organizer && session.organizer.length) || (session.meetingType && session.meetingType.length)"\n >\n <div class="session-card-meta-row" *ngIf="session.organizer && session.organizer.length">\n <span class="session-card-meta-label">{{\n (getTranslation("Organizer") || "Organizer") + ":"\n }}</span>\n <span class="session-card-meta-value">{{ session.organizer }}</span>\n </div>\n \x3c!-- <div class="session-card-meta-row" *ngIf="session.timeZoneDisplay">\n <span class="session-card-meta-label">{{\n getTranslation("Time zone") || "Time zone"\n }}</span>\n <span class="session-card-meta-value">{{ session.timeZoneDisplay }}</span>\n </div> --\x3e\n <div class="session-card-meta-row" *ngIf="session.meetingType && session.meetingType.length">\n <span class="session-card-meta-label">{{\n getSessionTypeLabel() + ":"\n }}</span>\n <span class="session-card-meta-value">{{ session.meetingType }}</span>\n </div>\n </div>\n <div\n class="session-card-description"\n *ngIf="session.description"\n >\n {{ session.description }}\n </div>\n <div\n class="session-card-status"\n *ngIf="\n (session.statusText && session.statusText.length) &&\n getSessionRoleButtons(session).length > 0\n "\n >\n <span class="session-card-status-bullet"></span>\n {{ session.statusText }}\n </div>\n \x3c!-- <div\n class="session-card-when-disable"\n *ngIf="\n session.session?.sessionRoles?.length > 0 &&\n !isSessionOndemand(session) &&\n !session.session?.isExpire &&\n !canPerformSessionAction(session)\n "\n >\n {{ getTranslation("You can join/watch at the starting time") || "You can join/watch at the starting time" }}\n </div> --\x3e\n \x3c!-- <div\n class="session-card-meeting-delayed"\n *ngIf="isMeetingDelayed(session)"\n >\n {{ getTranslation("Meeting Delayed") || "Meeting Delayed" }} +\n {{ getMeetingDelayMinutes(session) }}\n {{ getTranslation("minutes") || "minutes" }}\n </div> --\x3e\n <div\n class="session-card-actions-row"\n *ngIf="\n session.session &&\n (getSessionRoleButtons(session).length > 0 || hasSessionCardSpeakers(session))\n "\n >\n <div class="speakers-UIcard">\n <ng-container\n *ngIf="\n (session?.speakersList || session?.session?.speakersList || []).length\n as _speakerCount\n "\n >\n <ng-container\n *ngFor="\n let sp of (session?.speakersList || session?.session?.speakersList || []);\n let i = index\n "\n >\n <ng-container *ngIf="i < 3">\n <div class="speaker" *ngIf="getSpeakerPhotoUrl(sp); else speakerInitials" [attr.title]="getSpeakerDisplayName(sp) || \'Speaker\'">\n <img\n [src]="getSpeakerPhotoUrl(sp)!"\n [alt]="getSpeakerDisplayName(sp) || \'Speaker\'"\n />\n </div>\n <ng-template #speakerInitials>\n <div class="speaker initials" [attr.title]="getSpeakerDisplayName(sp) || \'Speaker\'">\n {{ getSpeakerInitials(sp) }}\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n <div class="speaker initials" *ngIf="_speakerCount > 3" [attr.title]="(_speakerCount - 3) + \' \' + (getTranslation(\'more speakers\') || \'more speakers\')">\n +{{ _speakerCount - 3 }}\n </div>\n </ng-container>\n </div>\n <div class="session-card-actions">\n <button\n *ngFor="let role of getSessionRoleButtons(session)"\n type="button"\n class="btn session-card-btn"\n [class.session-card-btn-primary]="\n role.action === \'join\'\n "\n [class.session-card-btn-secondary]="\n role.action === \'watch\'\n "\n [class.session-card-btn-disabled]="isUnEvent && !canPerformSessionAction(session)"\n [attr.aria-disabled]="isUnEvent && !canPerformSessionAction(session)"\n [disabled]="!canPerformSessionAction(session)"\n (click)="onSessionCardAction(session, role)"\n >\n {{ role.label }}\n </button>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n <button\n *ngIf="\n (chat?.sessionCards?.length || 0) >\n SESSION_CARDS_INITIAL &&\n !expandedSessionCardIds[chat?._id]\n "\n type="button"\n class="show-more-cards-btn"\n (click)="expandSessionCards(chat)"\n >\n Show\n {{\n (chat?.sessionCards?.length || 0) - SESSION_CARDS_INITIAL\n }}\n more\n {{\n (chat?.sessionCards?.length || 0) -\n SESSION_CARDS_INITIAL ===\n 1\n ? getTranslation("session") || "session"\n : getTranslation("sessions") || "sessions"\n }}\n </button>\n </div>\n\n \x3c!-- Attendee cards (from get_event_attendees tool, same as React Native) --\x3e\n <div\n class="attendee-cards-section"\n *ngIf="\n chat?.type === \'attendee_cards\' &&\n chat?.attendeeCards?.length > 0\n "\n >\n <div\n *ngIf="chat?.message"\n class="card-message-bubble"\n [ngStyle]="{ background: bgBubbleAi || \'#fff\' }"\n >\n <p\n class="SearchTitle ai card-message-text"\n [innerHTML]="chat?.message"\n ></p>\n </div>\n <div class="attendee-cards-container">\n <div\n *ngFor="\n let attendee of getVisibleAttendeeCards(chat);\n let idx = index\n "\n class="attendee-card-item"\n >\n <div\n class="attendee-card"\n [class.attendee-card-has-video]="!!getAttendeeVideoUrl(attendee)"\n [style.background-image]="\n !getAttendeeVideoUrl(attendee) && attendee.photo\n ? \'url(\' + attendee.photo + \')\'\n : null\n "\n >\n <ng-container *ngIf="getAttendeeVideoUrl(attendee)">\n <video\n #attendeeVideo\n class="attendee-card-video"\n [attr.poster]="getAttendeeVideoPoster(attendee) || null"\n [muted]="isAttendeeVideoMuted(chat, attendee)"\n playsinline\n preload="metadata"\n (play)="onAttendeeVideoPlayState(chat, attendee, true)"\n (pause)="onAttendeeVideoPlayState(chat, attendee, false)"\n (ended)="onAttendeeVideoPlayState(chat, attendee, false)"\n (click)="toggleAttendeeVideoPlay(chat, attendee, attendeeVideo, $event)"\n >\n <source\n [attr.src]="getAttendeeVideoUrl(attendee)"\n type="video/webm"\n />\n </video>\n\n <button\n type="button"\n class="attendee-card-mute-btn"\n (click)="toggleAttendeeVideoMute(chat, attendee, attendeeVideo, $event)"\n [attr.title]="\n isAttendeeVideoMuted(chat, attendee)\n ? (getTranslation(\'Unmute\') || \'Unmute\')\n : (getTranslation(\'Mute\') || \'Mute\')\n "\n [attr.aria-label]="\n isAttendeeVideoMuted(chat, attendee)\n ? (getTranslation(\'Unmute\') || \'Unmute\')\n : (getTranslation(\'Mute\') || \'Mute\')\n "\n >\n <span class="material-icons notranslate">\n {{\n isAttendeeVideoMuted(chat, attendee)\n ? "volume_off"\n : "volume_up"\n }}\n </span>\n </button>\n\n <button\n type="button"\n class="attendee-card-play-btn"\n (click)="toggleAttendeeVideoPlay(chat, attendee, attendeeVideo, $event)"\n [attr.title]="\n isAttendeeVideoPlaying(chat, attendee)\n ? (getTranslation(\'Pause\') || \'Pause\')\n : (getTranslation(\'Play\') || \'Play\')\n "\n [attr.aria-label]="\n isAttendeeVideoPlaying(chat, attendee)\n ? (getTranslation(\'Pause\') || \'Pause\')\n : (getTranslation(\'Play\') || \'Play\')\n "\n >\n <span class="material-icons notranslate">\n {{\n isAttendeeVideoPlaying(chat, attendee)\n ? "pause"\n : "play_arrow"\n }}\n </span>\n </button>\n </ng-container>\n\n <div\n class="attendee-card-initials"\n *ngIf="!getAttendeeVideoUrl(attendee) && !attendee.photo"\n >\n {{ getAttendeeInitials(attendee.name) }}\n </div>\n <div class="attendee-overlay"></div>\n <div class="attendee-content">\n <div class="attendee-name">{{ attendee.name }}</div>\n <div\n class="attendee-company"\n *ngIf="attendee.company"\n >\n {{ attendee.company }}\n </div>\n <div\n class="attendee-desc"\n [class.attendee-desc-collapsed]="!isAttendeeDescriptionExpanded(chat, attendee)"\n [class.attendee-desc-expanded]="isAttendeeDescriptionExpanded(chat, attendee)"\n *ngIf="getAttendeeDescription(attendee)"\n >\n {{ getAttendeeDescription(attendee) }}\n </div>\n \n <div class="attendee-buttons">\n <ng-container\n *ngIf="\n attendee.id !== userId &&\n isConnectionsEnabled &&\n checkPendingSentRequest(attendee.id)\n "\n >\n <button\n type="button"\n class="btn attendee-card-btn attendee-card-btn-request-sent"\n disabled\n [attr.title]="\n getTranslation(\'Request Sent\') || \'Request Sent\'\n "\n >\n {{\n getTranslation("Request Sent") || "Request Sent"\n }}\n </button>\n </ng-container>\n <ng-container\n *ngIf="\n attendee.id !== userId &&\n isConnectionsEnabled &&\n canFollowUser(attendee)\n "\n >\n <button\n type="button"\n class="btn attendee-card-btn attendee-card-btn-connect"\n [attr.title]="\n getTranslation(\'Connect\') || \'Connect\'\n "\n (click)="\n attendee.id &&\n connectWithUser.emit({\n userId: attendee.id,\n connect: true,\n })\n "\n >\n {{ getTranslation("Connect") || "Connect" }}\n </button>\n </ng-container>\n <ng-container\n *ngIf="\n attendee.id !== userId &&\n isConnectionsEnabled &&\n canUnfollowUser(attendee)\n "\n >\n <button\n type="button"\n class="btn attendee-card-btn attendee-card-btn-disconnect"\n [attr.title]="\n getTranslation(\'Disconnect\') || \'Disconnect\'\n "\n (click)="\n attendee.id &&\n connectWithUser.emit({\n userId: attendee.id,\n disconnect: true,\n })\n "\n >\n {{\n getTranslation("Disconnect") || "Disconnect"\n }}\n </button>\n </ng-container>\n <ng-container *ngIf="attendee.id">\n <button\n type="button"\n class="btn attendee-card-btn attendee-card-btn-view-profile"\n [attr.title]="getTranslation(\'View Profile\') || \'View Profile\'"\n (click)="\n connectWithUser.emit({\n userId: attendee.id,\n viewProfile: true,\n })\n "\n >\n {{ getTranslation("View Profile") || "View Profile" }}\n </button>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n <button\n *ngIf="\n (chat?.attendeeCards?.length || 0) >\n ATTENDEE_CARDS_INITIAL &&\n !expandedAttendeeCardIds[chat?._id]\n "\n type="button"\n class="show-more-cards-btn"\n (click)="expandAttendeeCards(chat)"\n >\n Show\n {{\n (chat?.attendeeCards?.length || 0) -\n ATTENDEE_CARDS_INITIAL\n }}\n more\n {{\n (chat?.attendeeCards?.length || 0) -\n ATTENDEE_CARDS_INITIAL ===\n 1\n ? getTranslation("attendee") || "attendee"\n : getTranslation("attendees") || "attendees"\n }}\n </button>\n </div>\n\n \x3c!-- Speaker cards (from get_event_speakers tool, same layout/behavior as attendee cards) --\x3e\n <div\n class="speaker-cards-section"\n *ngIf="\n chat?.type === \'speaker_cards\' &&\n chat?.speakerCards?.length > 0\n "\n >\n <div\n *ngIf="chat?.message"\n class="card-message-bubble"\n [ngStyle]="{ background: bgBubbleAi || \'#fff\' }"\n >\n <p\n class="SearchTitle ai card-message-text"\n [innerHTML]="chat?.message"\n ></p>\n </div>\n <div class="attendee-cards-container">\n <div\n *ngFor="\n let speaker of getVisibleSpeakerCards(chat);\n let idx = index\n "\n class="attendee-card-item"\n >\n <div\n class="attendee-card"\n [class.attendee-card-has-video]="!!getAttendeeVideoUrl(speaker)"\n [style.background-image]="\n !getAttendeeVideoUrl(speaker) && speaker.photo\n ? \'url(\' + speaker.photo + \')\'\n : null\n "\n >\n <ng-container *ngIf="getAttendeeVideoUrl(speaker)">\n <video\n #speakerVideo\n class="attendee-card-video"\n [attr.poster]="getAttendeeVideoPoster(speaker) || null"\n [muted]="isAttendeeVideoMuted(chat, speaker)"\n playsinline\n preload="metadata"\n (play)="onAttendeeVideoPlayState(chat, speaker, true)"\n (pause)="onAttendeeVideoPlayState(chat, speaker, false)"\n (ended)="onAttendeeVideoPlayState(chat, speaker, false)"\n (click)="toggleAttendeeVideoPlay(chat, speaker, speakerVideo, $event)"\n >\n <source\n [attr.src]="getAttendeeVideoUrl(speaker)"\n type="video/webm"\n />\n </video>\n\n <button\n type="button"\n class="attendee-card-mute-btn"\n (click)="toggleAttendeeVideoMute(chat, speaker, speakerVideo, $event)"\n [attr.title]="\n isAttendeeVideoMuted(chat, speaker)\n ? (getTranslation(\'Unmute\') || \'Unmute\')\n : (getTranslation(\'Mute\') || \'Mute\')\n "\n [attr.aria-label]="\n isAttendeeVideoMuted(chat, speaker)\n ? (getTranslation(\'Unmute\') || \'Unmute\')\n : (getTranslation(\'Mute\') || \'Mute\')\n "\n >\n <span class="material-icons notranslate">\n {{\n isAttendeeVideoMuted(chat, speaker)\n ? "volume_off"\n : "volume_up"\n }}\n </span>\n </button>\n\n <button\n type="button"\n class="attendee-card-play-btn"\n (click)="toggleAttendeeVideoPlay(chat, speaker, speakerVideo, $event)"\n [attr.title]="\n isAttendeeVideoPlaying(chat, speaker)\n ? (getTranslation(\'Pause\') || \'Pause\')\n : (getTranslation(\'Play\') || \'Play\')\n "\n [attr.aria-label]="\n isAttendeeVideoPlaying(chat, speaker)\n ? (getTranslation(\'Pause\') || \'Pause\')\n : (getTranslation(\'Play\') || \'Play\')\n "\n >\n <span class="material-icons notranslate">\n {{\n isAttendeeVideoPlaying(chat, speaker)\n ? "pause"\n : "play_arrow"\n }}\n </span>\n </button>\n </ng-container>\n\n <div\n class="attendee-card-initials"\n *ngIf="!getAttendeeVideoUrl(speaker) && !speaker.photo"\n >\n {{ getAttendeeInitials(speaker.name) }}\n </div>\n <div class="attendee-overlay"></div>\n <div class="attendee-content">\n <div class="attendee-name">{{ speaker.name }}</div>\n <div\n class="attendee-company"\n *ngIf="speaker.jobTitle"\n >\n {{ speaker.jobTitle }}\n </div>\n <div\n class="attendee-company"\n *ngIf="speaker.company"\n >\n {{ speaker.company }}\n </div>\n <div\n class="attendee-desc"\n [class.attendee-desc-collapsed]="!isAttendeeDescriptionExpanded(chat, speaker)"\n [class.attendee-desc-expanded]="isAttendeeDescriptionExpanded(chat, speaker)"\n *ngIf="getAttendeeDescription(speaker)"\n >\n {{ getAttendeeDescription(speaker) }}\n </div>\n \n\n <div class="attendee-buttons">\n <ng-container\n *ngIf="\n speaker.id !== userId &&\n isConnectionsEnabled &&\n checkPendingSentRequest(speaker.id)\n "\n >\n <button\n type="button"\n class="btn attendee-card-btn attendee-card-btn-request-sent"\n disabled\n [attr.title]="\n getTranslation(\'Request Sent\') || \'Request Sent\'\n "\n >\n {{\n getTranslation(\'Request Sent\') || \'Request Sent\'\n }}\n </button>\n </ng-container>\n <ng-container\n *ngIf="\n speaker.id !== userId &&\n isConnectionsEnabled &&\n canFollowUser(speaker)\n "\n >\n <button\n type="button"\n class="btn attendee-card-btn attendee-card-btn-connect"\n [attr.title]="\n getTranslation(\'Connect\') || \'Connect\'\n "\n (click)="\n speaker.id &&\n connectWithUser.emit({\n userId: speaker.id,\n connect: true\n })\n "\n >\n {{ getTranslation(\'Connect\') || \'Connect\' }}\n </button>\n </ng-container>\n <ng-container\n *ngIf="\n speaker.id !== userId &&\n isConnectionsEnabled &&\n canUnfollowUser(speaker)\n "\n >\n <button\n type="button"\n class="btn attendee-card-btn attendee-card-btn-disconnect"\n [attr.title]="\n getTranslation(\'Disconnect\') || \'Disconnect\'\n "\n (click)="\n speaker.id &&\n connectWithUser.emit({\n userId: speaker.id,\n disconnect: true\n })\n "\n >\n {{ getTranslation(\'Disconnect\') || \'Disconnect\' }}\n </button>\n </ng-container>\n <ng-container *ngIf="speaker.id">\n <button\n type="button"\n class="btn attendee-card-btn attendee-card-btn-view-profile"\n [attr.title]="getTranslation(\'View Profile\') || \'View Profile\'"\n (click)="\n connectWithUser.emit({\n userId: speaker.id,\n viewProfile: true\n })\n "\n >\n {{ getTranslation(\'View Profile\') || \'View Profile\' }}\n </button>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n <button\n *ngIf="\n (chat?.speakerCards?.length || 0) >\n SPEAKER_CARDS_INITIAL &&\n !expandedSpeakerCardIds[chat?._id]\n "\n type="button"\n class="show-more-cards-btn"\n (click)="expandSpeakerCards(chat)"\n >\n Show\n {{\n (chat?.speakerCards?.length || 0) -\n SPEAKER_CARDS_INITIAL\n }}\n more\n {{\n (chat?.speakerCards?.length || 0) -\n SPEAKER_CARDS_INITIAL ===\n 1\n ? getTranslation(\'speaker\') || \'speaker\'\n : getTranslation(\'speakers\') || \'speakers\'\n }}\n </button>\n </div>\n\n <div\n class="chat-bubble-wrap"\n *ngIf="\n (chat?.type === \'ai\' || chat?.type === \'user\') &&\n !(i === 0 && botSkills)\n "\n [ngStyle]="{\n background:\n chat?.type === \'ai\'\n ? bgBubbleAi || \'#fff\'\n : chat?.type === \'user\'\n ? bgBubbleUser || \'#183988\'\n : \'transparent\',\n color:\n chat?.type === \'ai\'\n ? \'#000 !important\'\n : \'#fff !important\',\n }"\n >\n <div id="messageText_{{ i }}" class="chat-bubble-content">\n <div\n *ngIf="chat?.type === \'ai\' || chat?.type === \'user\'"\n [ngClass]="{\n \'SearchTitle ai\': chat?.type === \'ai\',\n \'SearchTitle user\': chat?.type === \'user\',\n }"\n [ngStyle]="{\n background: \'transparent\',\n color:\n chat?.type === \'ai\' && messageTextColorAi\n ? messageTextColorAi\n : chat?.type === \'user\'\n ? messageTextColorUser || \'#fff\'\n : \'defaultColor\',\n }"\n [innerHTML]="chat?.message"\n ></div>\n </div>\n </div>\n\n <div\n class="progress-container"\n *ngIf="chat?.showWorkflowExecutionLoader"\n >\n <div class="circular-loader">\n <div\n class="loader-spinner"\n *ngIf="currentWorkflowActionProgress < 100"\n [ngStyle]="{\n transform: \'rotate(\' + percentage * 3.6 + \'deg)\',\n }"\n ></div>\n <div\n class="checkmark"\n *ngIf="currentWorkflowActionProgress == 100"\n >\n <svg viewBox="0 0 52 52">\n <circle\n class="checkmark-circle"\n cx="26"\n cy="26"\n r="25"\n fill="none"\n />\n <path\n class="checkmark-check"\n fill="none"\n d="M14 27l7 7 16-16"\n />\n </svg>\n </div>\n\n <div\n class="loader-text"\n *ngIf="currentWorkflowActionProgress < 100"\n >\n {{ currentWorkflowActionProgress }}%\n </div>\n </div>\n <div class="loader-label">{{ currentWorkflowAction }}...</div>\n </div>\n\n <div\n class="exicution mt-2"\n *ngIf="\n chat?.type === \'ai\' &&\n chat?.graphs &&\n chat?.graphs.length > 0\n "\n >\n <h5 *ngIf="chat?.type === \'ai\'">\n <i class="bx bx-network-chart"></i> Graphs\n <i\n (click)="toggleCollapseFGraph()"\n class="toggle-icon ml-2 fa"\n [ngClass]="{\n \'fas fa-chevron-down\': isCollapsedForFGraph,\n \'fas fa-chevron-up\': !isCollapsedForFGraph,\n }"\n ></i>\n </h5>\n <img\n *ngFor="let image of chat?.graphs"\n class="graph-img"\n [ngClass]="{ collapse: isCollapsedForFGraph }"\n [src]="image"\n alt=""\n />\n </div>\n <ng-container *ngIf="!checkForCop29BotId()">\n <div\n class="exicution mt-2"\n *ngIf="\n chat?.type === \'ai\' &&\n chat?.executionGraphs &&\n chat?.executionGraphs?.length > 0\n "\n >\n <h5 *ngIf="chat?.type === \'ai\'">\n <i class="bx bx-network-chart"></i> Execution Path Diagram\n For Data Visualization Workflow\n <i\n (click)="toggleCollapseGraph()"\n class="toggle-icon ml-2 fa"\n [ngClass]="{\n \'fas fa-chevron-down\': isCollapsedForGraph,\n \'fas fa-chevron-up\': !isCollapsedForGraph,\n }"\n ></i>\n </h5>\n <img\n *ngFor="let image of chat?.executionGraphs"\n class="graph-img"\n [ngClass]="{ collapse: isCollapsedForGraph }"\n [src]="image"\n alt=""\n />\n </div>\n </ng-container>\n <div class="cta" *ngIf="chat?.type === \'ai\' && i > 0 && i === lastAiMessageIndex">\n <div\n class="copyBox"\n title="Copy"\n [ngClass]="\n showFeedBackIconsIndex == i ? \'show-always\' : \'show-hover\'\n "\n >\n <button\n title="{{ chat?.copied ? \'Copied!\' : \'Copy\' }}"\n class="copy"\n [class.active]="chat?.copied"\n (click)="handleCopyClick(i)"\n >\n <i *ngIf="chat?.copied">\n <svg\n width="18"\n height="18"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M9 16.17L4.83 12L3.41 13.41L9 19L21 7L19.59 5.59L9 16.17Z"\n fill="#566563"\n />\n </svg>\n </i>\n\n <i *ngIf="!chat?.copied">\n <svg\n width="18"\n height="18"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M19.24 2H8.84C8.14 2 7.58 2.56 7.58 3.26V16.84C7.58 17.54 8.14 18.1 8.84 18.1H19.24C19.94 18.1 20.5 17.54 20.5 16.84V3.26C20.5 2.56 19.94 2 19.24 2ZM19.24 16.84H8.84V3.26H19.24V16.84ZM4.74 6.52C4.04 6.52 3.48 7.08 3.48 7.78V20.36C3.48 21.06 4.04 21.62 4.74 21.62H15.14C15.84 21.62 16.4 21.06 16.4 20.36V18.88H14.96V20.36H4.74V7.78H6.18V6.52H4.74Z"\n fill="#566563"\n />\n </svg>\n </i>\n </button>\n\n <button\n *ngIf="!checkForCop29BotId()"\n class="up copy"\n title="{{ chat?.isEditor ? \'Added!\' : \'Add to editor\' }}"\n (click)="handleEditorClick(i)"\n >\n <svg\n *ngIf="!chat?.isEditor"\n xmlns="http://www.w3.org/2000/svg"\n width="20.152"\n height="20.152"\n viewBox="0 0 20.152 20.152"\n >\n <g\n id="Icon_feather-edit"\n data-name="Icon feather-edit"\n transform="translate(-2.5 -2.166)"\n >\n <path\n id="Path_166"\n data-name="Path 166"\n d="M11.5,6H4.889A1.889,1.889,0,0,0,3,7.889v13.22A1.889,1.889,0,0,0,4.889,23h13.22A1.889,1.889,0,0,0,20,21.108V14.5"\n transform="translate(0 -1.179)"\n fill="none"\n stroke="#393939"\n stroke-linecap="round"\n stroke-linejoin="round"\n stroke-width="1"\n />\n <path\n id="Path_167"\n data-name="Path 167"\n d="M21.915,3.4a2,2,0,0,1,2.833,2.833l-8.971,8.971L12,16.152l.944-3.777Z"\n transform="translate(-3.334 0)"\n fill="none"\n stroke="#393939"\n stroke-linecap="round"\n stroke-linejoin="round"\n stroke-width="1"\n />\n </g>\n </svg>\n\n <i *ngIf="chat?.isEditor">\n <svg\n width="18"\n height="18"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M9 16.17L4.83 12L3.41 13.41L9 19L21 7L19.59 5.59L9 16.17Z"\n fill="#566563"\n />\n </svg>\n </i>\n </button>\n\n <button\n class="up copy"\n title="Like"\n [class.active]="chat?.liked"\n (click)="handleUpClick(i)"\n >\n <i *ngIf="chat?.liked">\n <svg\n width="18"\n height="18"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M8.38989 18.4902V8.33022C8.38989 7.93022 8.50989 7.54022 8.72989 7.21022L11.4599 3.15022C11.8899 2.50022 12.9599 2.04022 13.8699 2.38022C14.8499 2.71022 15.4999 3.81022 15.2899 4.79022L14.7699 8.06022C14.7299 8.36022 14.8099 8.63022 14.9799 8.84022C15.1499 9.03022 15.3999 9.15022 15.6699 9.15022H19.7799C20.5699 9.15022 21.2499 9.47022 21.6499 10.0302C22.0299 10.5702 22.0999 11.2702 21.8499 11.9802L19.3899 19.4702C19.0799 20.7102 17.7299 21.7202 16.3899 21.7202H12.4899C11.8199 21.7202 10.8799 21.4902 10.4499 21.0602L9.16989 20.0702C8.67989 19.7002 8.38989 19.1102 8.38989 18.4902Z"\n fill="#17235B"\n />\n <path\n d="M5.21 6.37988H4.18C2.63 6.37988 2 6.97988 2 8.45988V18.5199C2 19.9999 2.63 20.5999 4.18 20.5999H5.21C6.76 20.5999 7.39 19.9999 7.39 18.5199V8.45988C7.39 6.97988 6.76 6.37988 5.21 6.37988Z"\n fill="#17235B"\n />\n </svg>\n </i>\n <i *ngIf="!chat?.liked">\n <svg\n width="18"\n height="18"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M10.4037 20.9264L10.381 20.9038L10.3557 20.8843L7.72165 18.85L8.02965 18.4516L10.7161 20.5315C10.9228 20.7195 11.2181 20.8517 11.4962 20.9377C11.7978 21.0309 12.1451 21.09 12.4801 21.09H16.2801C16.8572 21.09 17.4266 20.8625 17.8751 20.5306C18.3159 20.2044 18.6912 19.7385 18.8305 19.1997L21.2428 11.8732C21.4379 11.3309 21.4287 10.749 21.0965 10.2887C20.7583 9.81377 20.1844 9.58999 19.5801 9.58999H15.5801C15.2031 9.58999 14.8615 9.43143 14.6276 9.16215L14.627 9.16142C14.3873 8.88649 14.2756 8.51549 14.3345 8.11501L14.8322 4.9195C14.9978 4.1052 14.4664 3.24596 13.7053 2.98804C13.3277 2.85165 12.9297 2.89129 12.61 2.99839C12.2949 3.10396 11.9772 3.30172 11.7881 3.57673L11.7881 3.57671L11.7851 3.58107L7.96352 9.26689L7.55454 8.99314L11.3751 3.30891L11.3755 3.30836C11.8763 2.56103 13.0109 2.19028 13.8726 2.51744L13.8834 2.52151L13.8943 2.52509C14.9044 2.8564 15.556 3.98765 15.3317 5.01314L15.3284 5.02805L15.326 5.04314L14.836 8.19314L14.836 8.19313L14.8351 8.19928C14.8184 8.31642 14.7981 8.60268 15.0138 8.84924L15.0248 8.86177L15.0366 8.87354C15.1833 9.02026 15.3817 9.09999 15.5901 9.09999H19.5901C20.4308 9.09999 21.1176 9.44886 21.5113 10.0079L21.5124 10.0095C21.8964 10.5502 21.9908 11.2849 21.7202 12.0291L21.7175 12.0365L21.7151 12.044L19.3251 19.324L19.3198 19.34L19.3156 19.3564C19.0058 20.5707 17.6766 21.6 16.2801 21.6H12.4801C12.2411 21.6 11.8403 21.5625 11.4297 21.4512C11.0123 21.338 10.6406 21.1633 10.4037 20.9264Z"\n fill="#566563"\n stroke="#566563"\n />\n <path\n d="M5.37988 20.4999H4.37988C3.52442 20.4999 2.98559 20.2982 2.65822 19.9825C2.33437 19.6702 2.12988 19.1614 2.12988 18.3499V8.5499C2.12988 7.73843 2.33437 7.22962 2.65822 6.91731C2.98559 6.6016 3.52442 6.3999 4.37988 6.3999H5.37988C6.23534 6.3999 6.77418 6.6016 7.10155 6.91731C7.4254 7.22962 7.62988 7.73843 7.62988 8.5499V18.3499C7.62988 19.1614 7.4254 19.6702 7.10155 19.9825C6.77418 20.2982 6.23534 20.4999 5.37988 20.4999ZM4.37988 6.8999C4.0934 6.8999 3.83578 6.9164 3.61382 6.96689C3.38745 7.01838 3.16822 7.11196 2.99258 7.2876C2.81559 7.46459 2.72807 7.67966 2.68301 7.89002C2.63948 8.09318 2.62988 8.31967 2.62988 8.5499V18.3499C2.62988 18.5801 2.63948 18.8066 2.68301 19.0098C2.72807 19.2201 2.81559 19.4352 2.99258 19.6122C3.16822 19.7878 3.38745 19.8814 3.61382 19.9329C3.83578 19.9834 4.0934 19.9999 4.37988 19.9999H5.37988C5.66637 19.9999 5.92398 19.9834 6.14595 19.9329C6.37232 19.8814 6.59155 19.7878 6.76719 19.6122C6.94418 19.4352 7.0317 19.2201 7.07676 19.0098C7.12028 18.8066 7.12988 18.5801 7.12988 18.3499V8.5499C7.12988 8.31967 7.12028 8.09318 7.07676 7.89002C7.0317 7.67966 6.94418 7.46459 6.76719 7.2876C6.59155 7.11196 6.37232 7.01838 6.14595 6.96689C5.92398 6.9164 5.66637 6.8999 5.37988 6.8999H4.37988Z"\n fill="#566563"\n stroke="#566563"\n />\n </svg>\n </i>\n </button>\n <button\n class="down copy"\n title="Dislike"\n [class.active]="chat?.unliked"\n (click)="handleDownClick(i)"\n >\n <i *ngIf="chat?.unliked">\n <svg\n width="18"\n height="18"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M15.61 5.50002V15.66C15.61 16.06 15.49 16.45 15.27 16.78L12.54 20.84C12.11 21.49 11.04 21.95 10.13 21.61C9.15002 21.28 8.50002 20.18 8.71002 19.2L9.23002 15.93C9.27002 15.63 9.19002 15.36 9.02002 15.15C8.85002 14.96 8.60002 14.84 8.33002 14.84H4.22002C3.43002 14.84 2.75002 14.52 2.35002 13.96C1.97002 13.42 1.90002 12.72 2.15002 12.01L4.61002 4.52002C4.92002 3.28002 6.27002 2.27002 7.61002 2.27002H11.51C12.18 2.27002 13.12 2.50002 13.55 2.93002L14.83 3.92002C15.32 4.30002 15.61 4.88002 15.61 5.50002Z"\n fill="#17235B"\n />\n\n <path\n d="M18.7901 17.6099H19.8201C21.3701 17.6099 22.0001 17.0099 22.0001 15.5299V5.4799C22.0001 3.9999 21.3701 3.3999 19.8201 3.3999H18.7901C17.2401 3.3999 16.6101 3.9999 16.6101 5.4799V15.5399C16.6101 17.0099 17.2401 17.6099 18.7901 17.6099Z"\n fill="#17235B"\n />\n </svg>\n </i>\n\n <i *ngIf="!chat?.unliked">\n <svg\n width="18"\n height="18"\n viewBox="0 0 24 24"\n fill="none"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M10.1237 21.481L10.1148 21.4778L10.1059 21.4748C9.09577 21.1435 8.44416 20.0122 8.66849 18.9867L8.67175 18.9718L8.6741 18.9568L9.1641 15.8068L9.16413 15.8068L9.16501 15.8006C9.18175 15.6835 9.20207 15.3972 8.98633 15.1507L8.97536 15.1381L8.96359 15.1263C8.81687 14.9796 8.61841 14.8999 8.41004 14.8999H4.41004C3.56937 14.8999 2.88252 14.551 2.48884 13.992L2.4877 13.9904C2.10371 13.4497 2.00931 12.715 2.27994 11.9708L2.28263 11.9634L2.28509 11.9559L4.67509 4.67586L4.68035 4.65985L4.68451 4.64353C4.99418 3.42996 6.33271 2.3999 7.72004 2.3999H11.52C11.7591 2.3999 12.1599 2.43736 12.5704 2.54872C12.9878 2.66194 13.3596 2.83655 13.5965 3.07346L13.6191 3.09608L13.6444 3.11563L16.2785 5.14986L15.9705 5.54825L13.2875 3.47111C13.0799 3.2763 12.7837 3.1413 12.5061 3.05412C12.2031 2.95897 11.8551 2.8999 11.52 2.8999H7.72004C7.1429 2.8999 6.57353 3.12735 6.12508 3.45926C5.68428 3.78551 5.30892 4.25142 5.16963 4.79019L2.75738 12.1167C2.56223 12.659 2.57147 13.2409 2.90366 13.7012C3.24183 14.1761 3.81578 14.3999 4.42004 14.3999H8.42004C8.79702 14.3999 9.13867 14.5585 9.37252 14.8277L9.37315 14.8285C9.61286 15.1034 9.72457 15.4745 9.66568 15.875C9.6656 15.8755 9.66552 15.8761 9.66544 15.8766L9.16795 19.0704C9.00242 19.8841 9.53299 20.7428 10.2933 21.0013C10.6685 21.1391 11.0675 21.0978 11.3857 20.9917C11.7001 20.8869 12.0218 20.6898 12.2121 20.4132L12.2121 20.4132L12.215 20.4088L16.0351 14.7253L16.4472 15.0045L12.6251 20.691L12.6249 20.6912C12.259 21.2361 11.5347 21.5999 10.8 21.5999C10.5668 21.5999 10.3358 21.5596 10.1237 21.481Z"\n fill="#566563"\n stroke="#566563"\n />\n <path\n d="M19.6201 17.6H18.6201C17.7647 17.6 17.2258 17.3983 16.8985 17.0826C16.5746 16.7703 16.3701 16.2615 16.3701 15.45V5.65C16.3701 4.83853 16.5746 4.32972 16.8985 4.0174C17.2258 3.7017 17.7647 3.5 18.6201 3.5H19.6201C20.4756 3.5 21.0144 3.7017 21.3418 4.0174C21.6656 4.32972 21.8701 4.83853 21.8701 5.65V15.45C21.8701 16.2615 21.6656 16.7703 21.3418 17.0826C21.0144 17.3983 20.4756 17.6 19.6201 17.6ZM18.6201 4C18.3336 4 18.076 4.01649 17.8541 4.06699C17.6277 4.11848 17.4085 4.21206 17.2328 4.3877C17.0558 4.56469 16.9683 4.77976 16.9232 4.99011C16.8797 5.19328 16.8701 5.41977 16.8701 5.65V15.45C16.8701 15.6802 16.8797 15.9067 16.9232 16.1099C16.9683 16.3202 17.0558 16.5353 17.2328 16.7123C17.4085 16.8879 17.6277 16.9815 17.8541 17.033C18.076 17.0835 18.3336 17.1 18.6201 17.1H19.6201C19.9066 17.1 20.1642 17.0835 20.3862 17.033C20.6126 16.9815 20.8318 16.8879 21.0074 16.7123C21.1844 16.5353 21.2719 16.3202 21.317 16.1099C21.3605 15.9067 21.3701 15.6802 21.3701 15.45V5.65C21.3701 5.41977 21.3605 5.19328 21.317 4.99011C21.2719 4.77976 21.1844 4.56469 21.0074 4.3877C20.8318 4.21206 20.6126 4.11848 20.3862 4.06699C20.1642 4.01649 19.9066 4 19.6201 4H18.6201Z"\n fill="#566563"\n stroke="#566563"\n />\n </svg>\n </i>\n </button>\n </div>\n </div>\n <div\n class="Related mt-2"\n *ngIf="\n showFeedBackIconsIndex === i &&\n !isChatingWithAi &&\n chat?.relatedListItems &&\n chat?.relatedListItems.length > 0\n "\n >\n <h5 *ngIf="chat?.type === \'ai\'">\n <i class="bx bx-list-check"></i> Related\n </h5>\n <div class="card-container" *ngIf="chat?.type === \'ai\'">\n <ul class="list-container">\n <ng-container *ngFor="let item of chat?.relatedListItems">\n <li (click)="fetchDataFor(item, chat)">{{ item }}</li>\n </ng-container>\n </ul>\n </div>\n </div>\n </div>\n </div>\n\n <div\n class="cta-faqs quick-prompts-extended"\n *ngIf="i == 0 && quickPrompts?.length"\n >\n \x3c!-- <div *ngFor="let tile of quickPrompts" class="cta"\n (click)="sendMessageWithTile(tile.prompt)">\n Q: {{ tile.text }}\n </div> --\x3e\n <div class="cta_suggestions">\n <button\n *ngFor="let tile of quickPrompts"\n (click)="sendMessageWithTile(tile.prompt)"\n >\n <ng-container *ngIf="tile">{{ tile.text }}</ng-container>\n </button>\n </div>\n </div>\n <div class="chat bot" *ngIf="i == 0 && botSkills">\n <div class="chat-box">\n <div class="message">\n <div class="time-cta">\n <div class="Icon_TimeSTamp">\n <div class="chat-avatar">\n <img\n *ngIf="displayAvatarUrl || botIcon"\n [src]="displayAvatarUrl || botIcon"\n alt="Assistant"\n class="chat-avatar-img"\n />\n <span\n *ngIf="!(displayAvatarUrl || botIcon)"\n class="chat-avatar-initials chat-avatar-initials-assistant"\n >A</span\n >\n </div>\n <div\n class="dateTime"\n [style.color]="dateTimeColor ? \'\' : \'\'"\n >\n <span>{{ getTranslation("Assistant") }}</span>\n {{ chat?.time }}\n </div>\n </div>\n </div>\n <div\n class="chat-bubble-wrap"\n [ngStyle]="{ background: bgBubbleAi || \'#fff\' }"\n >\n <div class="chat-bubble-content">\n <div\n class="SearchTitle ai"\n [innerHTML]="processMessageForDisplay(botSkills)"\n ></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf="chat?.suggestions?.length">\n <h4 class="labelChat">\n Here are some things EventsGPT Copilot can help you do:\n </h4>\n <div class="cta_suggestions">\n <button\n *ngFor="let suggestion of chat?.suggestions"\n (click)="sendMessageWithTile(suggestion)"\n >\n <ng-container *ngIf="suggestion">{{\n suggestion\n }}</ng-container>\n </button>\n </div>\n </div>\n <div\n *ngIf="\n chat?.action?.section_id == \'company_search\' ||\n chat?.action?.section_id == \'user_search\' ||\n chat?.action?.section_id == \'industry_company_search\'\n "\n >\n <div class="box">\n <div class="tiktokwrapper">\n <div\n class="tiktokshell"\n *ngFor="let user of chat?.action.users"\n >\n <div class="videoPhotobox">\n <ng-conatiner\n *ngIf="user?.photoPath && !user.userVideosModel"\n >\n <img [src]="user?.photoPath" />\n </ng-conatiner>\n <ng-conatiner *ngIf="user.userVideosModel">\n <app-video-player\n *ngIf="user?.userVideosModel"\n [isDev]="isDev"\n [currentUserId]="userId"\n [videoObj]="user?.userVideosModel"\n [user]="user"\n [eventId]="eventId"\n type="1"\n >\n </app-video-player>\n </ng-conatiner>\n </div>\n\n <div\n class="noPhoto"\n *ngIf="!user?.photoPath && !user.userVideosModel"\n >\n <h3>\n {{ user.firstName | slice: 0 : 1\n }}{{ user.lastName | slice: 0 : 1 }}\n </h3>\n </div>\n <div class="overlymask" *ngIf="!user.userVideosModel"></div>\n <div class="onshell-content">\n <div class="title-shell">\n <h3>{{ user.firstName }} {{ user.lastName }}</h3>\n <h3 class="companyName">{{ user.company }}</h3>\n </div>\n <div class="button-shell">\n <button\n class="Connectbtn"\n (click)="connectToUser(user.userId)"\n >\n {{\n canConnect(user.userId)\n ? "Connect"\n : canDisconnect(user.userId)\n ? "Disconnect"\n : "Request\n Sent"\n }}\n </button>\n <button\n class="schedulebtn"\n (click)="scheduleMeetingWithUser(user)"\n >\n Schedule\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf="chat?.action?.section_id == myUpcomingSessionAction">\n <div class="agenda-items-wrapper" class="agenda-items-wrapper">\n <div class="list-view">\n <div\n class="session-detail-wrapper card-background-session"\n *ngFor="let upcomingSession of chat?.action.content"\n >\n <div class="thumbnail">\n <img\n alt="Introduction to the Imaging Radar Academy"\n src="https://s27media.azureedge.net/8008/profile_pic/453cea2c-feba-11ed-8c0b-00155d025b0a.png"\n class=""\n />\n \x3c!----\x3e\n \x3c!----\x3e\n \x3c!----\x3e<button\n class="play-btn color-primary"\n title="Watch: Introduction to the Imaging Radar Academy"\n >\n <span class="material-icons notranslate">\n play_circle_outline\n </span>\n \x3c!----\x3e\n </button>\n \x3c!----\x3e\n \x3c!----\x3e\n </div>\n \x3c!----\x3e\n \x3c!----\x3e\n <div class="content p-3">\n <div\n class="d-flex justify-content-between align-items-center"\n >\n <div class="d-flex flex-column">\n <p class="fs-xs mb-0 body-text-color">\n {{\n upcomingSession.dateTimeRange.start\n | date\n : "MM-dd-yyyy\n HH:mm"\n : "UTC"\n }}\n -\n {{\n upcomingSession.dateTimeRange.end\n | date: "MM-dd-yyyy HH:mm" : "UTC"\n }}\n {{ upcomingSession.timeZone.id }}\n </p>\n \x3c!----\x3e\n \x3c!----\x3e\n \x3c!-- <p class="fs-xs mb-2 color-secondary" title="Session Type: Generative AI">Generative AI </p> --\x3e\n \x3c!----\x3e\n </div>\n <div class="d-flex align-items-center actions px-2">\n \x3c!----\x3e\n <button\n (click)="\n performSessionAction(\n upcomingSession.id,\n \'view-session\'\n )\n "\n class="s27-btn-icon body-text-color"\n title="View Session Information: Introduction to the Imaging Radar Academy"\n >\n <span class="material-icons notranslate">\n remove_red_eye\n </span>\n </button>\n\n <button\n (click)="\n performSessionAction(\n upcomingSession.id,\n \'add-to-agenda\'\n )\n "\n class="s27-btn-icon body-text-color"\n >\n <span\n class="material-icons notranslate"\n title="Add Session: Introduction to the Imaging Radar Academy to My agendaa"\n >\n event_available\n </span>\n </button>\n \x3c!----\x3e\n \x3c!----\x3e\n \x3c!----\x3e\n \x3c!----\x3e\n\n <button\n (click)="\n performSessionAction(upcomingSession.id, \'play\')\n "\n class="s27-btn-icon body-text-color"\n title="Copy session link to share"\n >\n <span class="material-icons notranslate">\n play_circle_outline\n </span>\n </button>\n \x3c!----\x3e\n </div>\n </div>\n <h2 class="body-text-color">\n {{ upcomingSession.title }}\n </h2>\n <div\n class="session-description color-secondary"\n [innerHTML]="sanitizeHtml(upcomingSession.description)"\n ></div>\n <ul\n class="speakers grid-2-cols"\n *ngFor="let speakerId of upcomingSession.speakers"\n >\n <li class="">\n <div class="image" title="Blair Wunderlich">\n <img\n alt="Blair Wunderlich"\n [src]="speakers[speakerId]?.photoPath"\n class=""\n />\n \x3c!----\x3e\n \x3c!----\x3e\n \x3c!----\x3e\n </div>\n \x3c!----\x3e\n <div\n class="content pl-3"\n style="text-transform: none"\n >\n <div class="mb-0 body-text-color fs-xs fw-500">\n {{ speakers[speakerId]?.firstName }}\n {{ speakers[speakerId]?.lastName }}\n </div>\n <div class="color-secondary fs-xxs">\n {{ speakers[speakerId]?.jobTitle }}\n </div>\n <div class="color-secondary fs-xxs">\n {{ speakers[speakerId]?.company }}\n </div>\n </div>\n \x3c!----\x3e\n </li>\n </ul>\n \x3c!----\x3e\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n \x3c!-- Initial load: loading dots when fetching chat history (no "Thinking") --\x3e\n <div class="chat bot chat-thinking chat-loading-dots" *ngIf="loading && !isChatingWithAi">\n <div class="chat-box">\n <div class="message">\n <div class="time-cta">\n <div class="Icon_TimeSTamp">\n <div class="chat-avatar">\n <img *ngIf="displayAvatarUrl || botIcon" [src]="displayAvatarUrl || botIcon" alt="Assistant" class="chat-avatar-img" />\n <span *ngIf="!(displayAvatarUrl || botIcon)" class="chat-avatar-initials chat-avatar-initials-assistant">A</span>\n </div>\n <div class="dateTime" [style.color]="dateTimeColor ? \'\' : \'\'">\n <span>{{ getTranslation("Assistant") }}</span>\n {{ getLoadingTime() }}\n </div>\n </div>\n </div>\n <div class="thinking-row">\n <div class="thinking-dots">\n <span class="thinking-dot"></span>\n <span class="thinking-dot"></span>\n <span class="thinking-dot"></span>\n </div>\n <span class="thinking-text">{{ getTranslation("Loading") || "Loading" }}...</span>\n </div>\n </div>\n </div>\n </div>\n \x3c!-- Thinking: only when user has sent a message and AI is responding --\x3e\n <div class="chat bot chat-thinking" *ngIf="isChatingWithAi && !executingWorkflow">\n <div class="chat-box">\n <div class="message">\n <div class="time-cta">\n <div class="Icon_TimeSTamp">\n <div class="chat-avatar">\n <img *ngIf="displayAvatarUrl || botIcon" [src]="displayAvatarUrl || botIcon" alt="Assistant" class="chat-avatar-img" />\n <span *ngIf="!(displayAvatarUrl || botIcon)" class="chat-avatar-initials chat-avatar-initials-assistant">A</span>\n </div>\n <div class="dateTime" [style.color]="dateTimeColor ? \'\' : \'\'">\n <span>{{ getTranslation("Assistant") }}</span>\n {{ getLoadingTime() }}\n </div>\n </div>\n </div>\n <div class="thinking-row">\n <div class="thinking-dots">\n <span class="thinking-dot"></span>\n <span class="thinking-dot"></span>\n <span class="thinking-dot"></span>\n </div>\n <span class="thinking-text">{{ getTranslation("Thinking") || "Thinking" }}...</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n \x3c!-- <div #chatMain></div> --\x3e\n <div\n *ngIf="openWorkflowInput && selectedWorkflow && !executingWorkflow"\n class="chatFooterWrapper"\n >\n \x3c!-- new UI for Chat Message Section by Amit --\x3e\n <div class="chat-footer-upt">\n <div class="topinfo-containerbox">\n <div class="agents_note_wrapper">\n <div>\n <h6>{{ selectedWorkflow?.Name }}</h6>\n {{ selectedWorkflow?.Description }}\n </div>\n </div>\n\n <div class="agents_note_wrapper">\n <button\n mat-icon-button\n class="closeButtonSource"\n (click)="toggleWorkflows(false)"\n >\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </div>\n <div class="bottombox-wrapper">\n \x3c!-- here i need to loop through all the input fields selectedWorkflow.Trigger.InputSchema and render the input fields --\x3e\n \x3c!-- Form for Workflow Inputs --\x3e\n <form\n [formGroup]="workflowForm"\n (ngSubmit)="onWorkflowSubmit()"\n class="form-container"\n >\n <div\n *ngFor="let input of selectedWorkflow?.Trigger?.InputSchema"\n class="form-group"\n >\n <label>{{ input.Label }}</label>\n\n \x3c!-- Handle Text Input or Text Area based on requirement --\x3e\n <textarea\n *ngIf="input.Type === \'string\'"\n formControlName="{{ input.InputId }}"\n [placeholder]="input.Placeholder"\n [rows]="2"\n [required]="input.Required"\n class="form-control"\n ></textarea>\n\n \x3c!-- Dropdown for Select Options --\x3e\n <select\n *ngIf="input.Type === \'select\'"\n formControlName="{{ input.InputId }}"\n class="form-control"\n >\n <option\n *ngFor="let option of input.Options"\n [value]="option.Value"\n >\n {{ option.Label }}\n </option>\n </select>\n </div>\n\n \x3c!-- Submit button aligned to the right --\x3e\n <div class="form-group">\n <button type="submit" class="btn btn-primary submit-button">\n Submit\n </button>\n </div>\n </form>\n </div>\n </div>\n\n \x3c!-- new UI for Chat Message Section by Amit --\x3e\n </div>\n <div *ngIf="!openWorkflowInput" class="chatFooterWrapper">\n \x3c!-- new UI for Chat Message Section by Amit --\x3e\n <div class="chat-footer-upt">\n <div class="topinfo-containerbox" *ngIf="!checkForCop29BotId()">\n <div class="agents_note_wrapper">\n <div class="agents-dropdown-wrapper">\n <div class="dropdown-wrapper" (click)="toggleDropdown()">\n <div class="dropdown-header">\n <span>{{ getDropdownHeaderText() }}</span>\n <svg\n xmlns="http://www.w3.org/2000/svg"\n width="24"\n height="24"\n fill="none"\n stroke="currentColor"\n stroke-width="2"\n viewBox="0 0 24 24"\n >\n <path d="M19 9l-7 7-7-7" />\n </svg>\n </div>\n <div class="dropdown-menu" *ngIf="isDropdownOpen">\n <label (click)="onSelectAll()">\n <input type="checkbox" [checked]="areAllSelected()" />\n All\n </label>\n <label\n *ngFor="let agent of agents"\n (click)="onAgentChange(agent)"\n >\n <input type="checkbox" [(ngModel)]="agent.selected" />\n {{ agent.agentName }}\n </label>\n </div>\n </div>\n </div>\n </div>\n\n <div class="agents_note_wrapper">\n <div class="agents-dropdown-wrapper">\n <div class="dropdown-wrapper" (click)="toggleWorkflows()">\n <div class="dropdown-header">\n <svg\n stroke="currentColor"\n fill="currentColor"\n stroke-width="0"\n viewBox="0 0 256 256"\n class="h-5 w-5"\n height="1.3em"\n width="1.3em"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M245.66,74.34l-32-32a8,8,0,0,0-11.32,11.32L220.69,72H192a74.49,74.49,0,0,0-28.35,6.73c-13.62,6.29-30.83,19.71-35.54,48-5.32,31.94-29.1,39.22-41,40.86a40,40,0,1,0,.18,16.06A71.65,71.65,0,0,0,108.13,178C121.75,172,139,158.6,143.89,129.31,150.65,88.77,190.34,88,192,88h28.69l-18.35,18.34a8,8,0,0,0,11.32,11.32l32-32A8,8,0,0,0,245.66,74.34ZM48,200a24,24,0,1,1,24-24A24,24,0,0,1,48,200Z"\n ></path></svg\n >&nbsp; Workflows\n </div>\n <div class="dropdown-menu" *ngIf="isWorkflowOpen">\n <label\n *ngFor="let orgWorkflow of orgWorkflows"\n (click)="onWorkflowSelected(orgWorkflow)"\n >\n {{ orgWorkflow.Name }}\n </label>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class="bottombox-wrapper">\n \x3c!-- <input [disabled]="isChatingWithAi" type="text" class="form-control-1 s27-scroll"\n \n placeholder="Ask anything..." [style.background]="formFieldBgColor ? formFieldBgColor : \'\'"\n [style.color]="formFieldTextColor ? formFieldTextColor : \'\'" [(ngModel)]="input"\n (keyup.enter)="handleSubmit()" #myInput /> --\x3e\n <textarea\n [disabled]="isChatingWithAi"\n class="form-control-1 s27-scroll chat-textarea"\n placeholder="{{ getTranslation(\'Ask anything\') }}"\n [(ngModel)]="input"\n (keydown)="handleKeydown($event)"\n (input)="adjustTextareaHeight($event)"\n #myInput\n ></textarea>\n\n <button\n (click)="toggleRecording()"\n [disabled]="isChatingWithAi"\n title="{{ isRecording ? \'Stop Recording\' : \'Start Recording\' }}"\n class="btn cta-chat mr-1 vj-test"\n >\n <svg\n *ngIf="!isRecording"\n stroke="currentColor"\n fill="currentColor"\n stroke-width="0"\n viewBox="0 0 512 512"\n height="1em"\n width="1em"\n xmlns="http://www.w3.org/2000/svg"\n >\n \x3c!-- Mic Icon --\x3e\n <path\n d="M256 320c53 0 96-43 96-96V96c0-53-43-96-96-96s-96 43-96 96v128c0 53 43 96 96 96zm144-96h-16c0 66.27-52.73 120-120 120s-120-53.73-120-120h-16c-17.67 0-32 14.33-32 32v32c0 53.87 38.13 100.64 91.21 112.27C210.13 457.77 231.58 464 256 464s45.87-6.23 65.79-17.73C374.87 388.64 416 341.87 416 288v-32c0-17.67-14.33-32-32-32z"\n ></path>\n </svg>\n <svg\n *ngIf="isRecording"\n stroke="currentColor"\n fill="currentColor"\n stroke-width="0"\n viewBox="0 0 24 24"\n height="1em"\n width="1em"\n xmlns="http://www.w3.org/2000/svg"\n >\n \x3c!-- Square Stop Icon --\x3e\n <path d="M5 5h14v14H5z"></path>\n </svg>\n </button>\n\n <button\n class="btn cta-chat rotate"\n (click)="handleSubmit()"\n [style.background]="sendButtonColor ? sendButtonColor : \'\'"\n [style.color]="sendButtonTextColor ? sendButtonTextColor : \'\'"\n title="{{ getTranslation(\'Send Message\') }}"\n style="margin-right: 1px"\n >\n <svg\n stroke="currentColor"\n fill="currentColor"\n stroke-width="0"\n viewBox="0 0 512 512"\n height="1em"\n width="1em"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M476.59 227.05l-.16-.07L49.35 49.84A23.56 23.56 0 0027.14 52 24.65 24.65 0 0016 72.59v113.29a24 24 0 0019.52 23.57l232.93 43.07a4 4 0 010 7.86L35.53 303.45A24 24 0 0016 327v113.31A23.57 23.57 0 0026.59 460a23.94 23.94 0 0013.22 4 24.55 24.55 0 009.52-1.93L476.4 285.94l.19-.09a32 32 0 000-58.8z"\n ></path>\n </svg>\n \x3c!-- SEND --\x3e\n </button>\n\n <button\n class="btn cta-chat mr-1 voice-btn"\n (click)="openVoiceModal()"\n type="button"\n title="Voice Agent"\n [style.background]="sendButtonColor ? sendButtonColor : \'\'"\n [style.color]="sendButtonTextColor ? sendButtonTextColor : \'\'"\n >\n <svg\n class="voice-btn-icon"\n xmlns="http://www.w3.org/2000/svg"\n width="18"\n height="18"\n viewBox="0 0 24 24"\n fill="none"\n stroke="currentColor"\n stroke-width="2"\n stroke-linecap="round"\n stroke-linejoin="round"\n >\n <path\n d="M2 13a2 2 0 0 0 2-2V7a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0V4a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0v-4a2 2 0 0 1 2-2"\n ></path>\n </svg>\n <span class="voice-btn-text">Voice</span>\n </button>\n </div>\n </div>\n\n \x3c!-- new UI for Chat Message Section by Amit --\x3e\n </div>\n\n <div class="NoteTxt">\n <div class="note">\n <svg\n xmlns="http://www.w3.org/2000/svg"\n width="12.882"\n height="12.883"\n viewBox="0 0 12.882 12.883"\n >\n <path\n id="Icon_ion-shield-checkmark"\n data-name="Icon ion-shield-checkmark"\n d="M15.106,4.532a.46.46,0,0,0-.378-.424A20.132,20.132,0,0,1,8.881,2.291a.46.46,0,0,0-.379,0A20.132,20.132,0,0,1,2.655,4.108a.46.46,0,0,0-.378.424A11.3,11.3,0,0,0,2.98,9.4a10.049,10.049,0,0,0,2.06,3.235A10.516,10.516,0,0,0,8.521,15.1a.46.46,0,0,0,.345,0,10.516,10.516,0,0,0,3.481-2.465A10.049,10.049,0,0,0,14.4,9.4,11.3,11.3,0,0,0,15.106,4.532Zm-3.767,2.16L8.153,10.373a.46.46,0,0,1-.328.159H7.806a.46.46,0,0,1-.322-.131L6.069,9.014a.46.46,0,1,1,.644-.657L7.777,9.4,10.644,6.09a.46.46,0,0,1,.7.6Z"\n transform="translate(-2.25 -2.25)"\n fill="#06f"\n />\n </svg>\n\n <span class="text">{{\n getTranslation(\n "Your personal or company information is kept private and secure\n within this chat."\n )\n }}</span>\n </div>\n </div>\n </mat-drawer-content>\n </mat-drawer>\n <mat-drawer\n class="drawer edit-boxDrawer"\n style="width: 45%"\n #sourcesDrawer\n [position]="\'end\'"\n [mode]="\'over\'"\n [style.background]="\n \'linear-gradient(\' + (bgGradient ? bgGradient.join(\', \') : \'\') + \')\'\n "\n >\n <mat-drawer-content>\n <div class="sourceDraweContainer">\n <div class="container-fluid">\n <button\n mat-icon-button\n class="closeButtonSource"\n (click)="onCloseSource()"\n >\n <mat-icon>close</mat-icon>\n </button>\n <h1>{{ currentSourcesList?.length }} Sources</h1>\n \x3c!-- <p>Tell me about latest news from Mistral about AI agents announcement done this month</p> --\x3e\n <hr />\n <ul class="sources-list">\n <li *ngFor="let item of currentSourcesList; let si = index">\n \x3c!-- <input type="checkbox" id="source1"> --\x3e\n <div class="source-content" (click)="openLinkInNewTab(item.link)">\n <label for="source1">\n <span class="source-title"\n ><span class="ml-1">{{ si + 1 }}.</span\n >{{ item.title }}</span\n >\n <span class="image-container">\n <img\n class="relative block"\n [src]="getFaviconUrl(item.link)"\n [alt]="getDomainName(item.link) + \' favicon\'"\n />\n <span> {{ getDomainName(item.link) }}</span>\n </span>\n <span class="source-description">{{ item.desc }}</span>\n </label>\n </div>\n </li>\n </ul>\n </div>\n </div>\n </mat-drawer-content>\n </mat-drawer>\n <mat-drawer\n class="drawer edit-boxDrawer"\n style="width: 45%"\n #editorsDrawer\n [position]="\'end\'"\n [mode]="\'push\'"\n [style.background]="\n \'linear-gradient(\' + (bgGradient ? bgGradient.join(\', \') : \'\') + \')\'\n "\n >\n <mat-drawer-content>\n <lib-bot-html-editor\n *ngIf="isContentLoaded"\n [editorContent]="currentMessageForEditor"\n [isDocInEditMode]="isDocInEditMode"\n [documentContent]="documentContent"\n [conversationId]="conversationId"\n [botId]="botId"\n ></lib-bot-html-editor>\n </mat-drawer-content>\n </mat-drawer>\n</mat-drawer-container>\n\n<div *ngIf="showWorkflowExecutionDetails" class="modal">\n <div class="modal-content">\n <div class="close-wrapper">\n <span class="close_pop" (click)="closeModal()">&times;</span>\n </div>\n <div class="titleSection">\n \x3c!-- Workflow Title --\x3e\n <h2>{{ workflowExecutionDetails.WorkflowName }}</h2>\n \x3c!-- Workflow Title --\x3e\n </div>\n \x3c!-- Inputs Section --\x3e\n <div class="inputs-section">\n <h3>Inputs</h3>\n <ul>\n <li\n *ngFor="let input of objectToArray(workflowExecutionDetails.Inputs)"\n >\n {{ input.key }}: {{ input.value }}\n </li>\n </ul>\n </div>\n\n \x3c!-- Actions Section (Displayed as Timeline) --\x3e\n <div class="actions-section">\n <h3>Agent Actions</h3>\n <div class="timeline">\n <div\n *ngFor="let action of workflowExecutionDetails.Actions"\n class="timeline-item"\n >\n <div class="timestamp-section">\n <h4>{{ action.ActionName || action.Name }}</h4>\n <p><strong></strong> {{ action.InsertTimeStamp }}</p>\n </div>\n <p [innerHTML]="processMessageForDisplay(action.Output)"></p>\n \x3c!-- <pre>{{ action.Output }}</pre> --\x3e\n </div>\n </div>\n </div>\n\n \x3c!-- Insert Timestamp --\x3e\n <div class="timestamp-section">\n <p>\n <strong>Inserted At:</strong>\n {{ workflowExecutionDetails.InsertTimeStamp }}\n </p>\n </div>\n </div>\n</div>\n',changeDetection:o.ChangeDetectionStrategy.OnPush,styles:['@import url("https://e1cdn.social27.com/digitalevents/liteversion/fonts/segoe-ui/stylesheet.css");.bot-sticky-header-chat{background:#fff;border:none!important;border-bottom:1px solid #ddd;box-shadow:2px 0 5px #e1e1e1!important;padding:0 0 10px;padding:10px 15px!important;position:fixed;top:0!important;transition:all 1s;width:100%;z-index:100}@media (max-width:768px){.bot-sticky-header-chat{top:0!important}}#botAllChat{padding:0 20px!important}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb:hover{background:#e5ccbc}body{overflow:hidden}.ios-device .drawer .chat-footer .form-control{font-size:16px}.hivegpt-chat-bot-wrapper{background:transparent!important;height:100%;inset:0;opacity:0;position:fixed;visibility:hidden;z-index:999999}.hivegpt-chat-bot-wrapper.mat-drawer-container-has-open{background:transparent!important;opacity:1;transition:all .3s;visibility:visible;z-index:999999}.hivegpt-chat-bot-wrapper .mat-drawer:not(.mat-drawer-side){box-shadow:none}.hivegpt-chat-bot-wrapper mat-drawer{background-color:#f2f2f2;background-image:none!important;width:100%}.hivegpt-chat-bot-wrapper mat-drawer.full-width-drawer{max-width:100%}.hivegpt-chat-bot-wrapper .mat-drawer-content{display:flex;flex-direction:column}.hivegpt-chat-bot-wrapper .chat-header{padding:16px 40px;width:100%}.hivegpt-chat-bot-wrapper .chat-header h2{font-family:Segoe UI,sans-serif;font-size:36px;font-weight:500;letter-spacing:-.72px;line-height:108%;margin:0;text-transform:uppercase}.hivegpt-chat-bot-wrapper .chat-header .closeIcon{align-items:center;background:transparent;border:none;border-radius:50%;display:inline-flex;font-size:18px;height:35px;justify-content:center;outline:none;padding:0;position:absolute;right:12px;top:16px;width:35px}.hivegpt-chat-bot-wrapper .chat-main{display:flex;flex:1;flex-direction:column;justify-content:space-between;overflow-y:auto;width:100%}.hivegpt-chat-bot-wrapper .chat-main .innerChat{overflow-y:auto;padding-top:72px!important;width:100%}.hivegpt-chat-bot-wrapper .chat-main .ai h3{font-size:1.3rem!important}.hivegpt-chat-bot-wrapper .chat-main .chat-box{width:100%}.hivegpt-chat-bot-wrapper .chat-main .chat-box .message{margin-left:50px;margin-top:10px;min-height:40px;position:relative}@media (max-width:768px){.hivegpt-chat-bot-wrapper .chat-main .chat-box .message{margin-left:0}}.hivegpt-chat-bot-wrapper .chat-main .chat-box .message p{color:#000;color:#525252;font-family:Segoe UI,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:160%;margin:0;text-align:left}.hivegpt-chat-bot-wrapper .chat-main .chat-box .message p a{color:#17235b!important;cursor:pointer!important;font-weight:700;text-decoration:underline}.hivegpt-chat-bot-wrapper .chat-main .chat-box .message .cta{align-items:end;bottom:-7px;display:flow-root;gap:10px;grid-gap:10px;position:relative;right:-10px;z-index:5}.hivegpt-chat-bot-wrapper .chat-main .chat-box .message .cta button{background:transparent;border:none;color:#566563;cursor:pointer;padding:0;transition:all .3s}.hivegpt-chat-bot-wrapper .chat-main .chat-box .message .cta button i{display:inline-block}.hivegpt-chat-bot-wrapper .chat-main .chat-box .message .cta button:hover{color:#17235b}.hivegpt-chat-bot-wrapper .chat-main .chat-box .message .cta button.up:hover i{animation:thumbsUpAnimation .5s ease-in-out;animation-fill-mode:forwards}.hivegpt-chat-bot-wrapper .chat-main .chat-box .message .cta button.down:hover i{animation:thumbsDownAnimation .5s ease-in-out;animation-fill-mode:forwards}.hivegpt-chat-bot-wrapper .chat-main .chat{margin-bottom:20px}.hivegpt-chat-bot-wrapper .chat-main .chat.botAi .chat-box .message{margin-left:0}.hivegpt-chat-bot-wrapper .chat-main .chat.botAi .chat-box .message .chat-bubble-wrap{background:#fff;border-radius:4px 14px 14px 14px;box-sizing:border-box;margin-top:6px;max-width:100%;overflow-wrap:break-word;padding:10px 14px 10px 26px;width:100%;word-break:break-word}.hivegpt-chat-bot-wrapper .chat-main .chat.botAi .chat-box .message .chat-bubble-wrap .chat-bubble-content{margin:0;max-width:100%;overflow-wrap:break-word;padding:0;width:100%;word-break:break-word}.hivegpt-chat-bot-wrapper .chat-main .chat.botAi .chat-box .message .chat-bubble-wrap .chat-bubble-content>div{margin:0;max-width:100%;overflow-wrap:break-word;padding:0;word-break:break-word}.hivegpt-chat-bot-wrapper .chat-main .chat.botAi .chat-box .message .chat-bubble-wrap .chat-bubble-content>div *{max-width:100%}.hivegpt-chat-bot-wrapper .chat-main .chat.botAi .Icon_TimeSTamp{margin:0}.hivegpt-chat-bot-wrapper .chat-main .chat.botUser{color:#fff!important;text-align:right}.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .chat-box{margin-left:auto;margin-right:0;width:-moz-fit-content;width:fit-content}.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .chat-box .message{align-items:flex-end;display:flex;flex-direction:column;margin-left:0;margin-right:0;max-width:100%;padding-right:0;width:-moz-fit-content;width:fit-content}.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .chat-box .message .chat-bubble-wrap{background:#183988;border-radius:14px 4px 14px 14px;color:#fff!important;margin-top:6px;max-width:100%;overflow-wrap:break-word;padding:10px 14px;word-break:break-word}.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .chat-box .message .chat-bubble-wrap .chat-bubble-content,.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .chat-box .message .chat-bubble-wrap .chat-bubble-content>div{max-width:100%;overflow-wrap:break-word;word-break:break-word}.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .chat-box .message .chat-bubble-wrap p,.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .chat-box .message p{color:#fff!important;text-align:left}.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .dateTime{margin-left:0;margin-right:10px;text-align:right}.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .dateTime span{margin-left:0;margin-right:5px}.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .time-cta{justify-content:flex-end}.hivegpt-chat-bot-wrapper .chat-main .chat.botUser .Icon_TimeSTamp{justify-content:flex-end;margin:0}.hivegpt-chat-bot-wrapper .chat-main .chat .Icon_TimeSTamp{align-content:center;align-items:center;display:flex;justify-content:left;margin:0 -60px;width:auto}@media (max-width:768px){.hivegpt-chat-bot-wrapper .chat-main .chat .Icon_TimeSTamp{margin:0}}.hivegpt-chat-bot-wrapper .chat-main .chat .dateTime{color:#333232;font-size:15px;font-style:normal;font-weight:300;line-height:140%}.hivegpt-chat-bot-wrapper .chat-main .chat .dateTime span{color:#000;font-size:15px;font-style:normal;font-weight:500;line-height:140%;margin-left:15px;margin-right:5px}.hivegpt-chat-bot-wrapper .chat-main .chat:last-of-type{margin-bottom:0}.hivegpt-chat-bot-wrapper .chatFooterWrapper{background:#fff;border:2px solid hsla(0,0%,85.5%,.5882352941176471);border-radius:10px;box-shadow:2px 0 5px #e1e1e1;margin:0 15px 15px;margin-top:10px!important;transition:all .5s;width:auto}.hivegpt-chat-bot-wrapper .chatFooterWrapper:hover{border:2px solid hsla(0,0%,72.2%,.5882352941176471);box-shadow:2px 0 4px #ddd}.hivegpt-chat-bot-wrapper .chatFooterWrapper .chat-footer-upt{padding:4px}.hivegpt-chat-bot-wrapper .chatFooterWrapper .note{align-items:center;background:rgba(27,117,187,.050980392156862744);border-radius:15px;color:#000;display:inline-flex;font-size:12px;gap:8px;line-height:1;margin:0 auto 4px;padding:10px 25px}.hivegpt-chat-bot-wrapper .chatFooterWrapper .note a{text-transform:capitalize}.hivegpt-chat-bot-wrapper .chatFooterWrapper .note i{font-size:18px}.hivegpt-chat-bot-wrapper .chatFooterWrapper .note i svg{height:18px;width:18px}.hivegpt-chat-bot-wrapper .chatFooterWrapper .note span{flex:1;gap:4px;line-height:1.3}.hivegpt-chat-bot-wrapper .chat-footer{align-items:center;display:flex;gap:8px;justify-content:space-between;padding:0;position:relative}.hivegpt-chat-bot-wrapper .chat-footer .form-control{background:#fff!important;border:0;line-height:21px;outline:0;padding:10px;position:relative;width:100%}.hivegpt-chat-bot-wrapper .chat-footer .form-control::-moz-placeholder{color:#6c7a78}.hivegpt-chat-bot-wrapper .chat-footer .form-control::placeholder{color:#6c7a78}.hivegpt-chat-bot-wrapper .chat-footer .form-control:focus{border-color:#e5ccbc}.hivegpt-chat-bot-wrapper .chat-footer .cta-footer{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:10px;position:absolute;right:15px;text-align:right}.hivegpt-chat-bot-wrapper .chat-footer .cta-footer .btn{color:#000;font-weight:500;gap:8px;max-width:150px;padding:0}.hivegpt-chat-bot-wrapper .chat-footer .cta-footer .cta-chat{align-items:center;background:transparent!important;border:none;border-radius:0;box-shadow:0 1px 2px 0 rgba(16,24,40,.05);display:inline-flex;font-size:20px;height:auto;justify-content:center;width:auto}.hivegpt-chat-bot-wrapper .chat-footer .cta-footer .cta-chat:hover{opacity:.8}.hivegpt-chat-bot-wrapper .chat-footer .cta-footer .cta-again{background:#17235b;border:1px solid #17235b;color:#fff}.hivegpt-chat-bot-wrapper .cta-faqs{align-items:flex-end;display:flex;flex-direction:column;flex-wrap:wrap;gap:8px;margin-left:auto;max-width:80%;padding:10px 0 0}.hivegpt-chat-bot-wrapper .cta-faqs .cta{background:transparent;border:1px solid #c9a893;border-radius:20px 20px 0 20px;color:#333;cursor:pointer;font-family:Segoe UI,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:160%;margin:0;min-height:44px;padding:12px 20px;text-align:left;text-decoration:none;transition:all .3s;white-space:pre-line}.spinner{align-items:center;display:flex;gap:2px;justify-content:center}.spinner>div{animation:bouncedelay 1.4s ease-in-out infinite;animation-fill-mode:both;background-color:#173330;border-radius:100%;display:inline-block;height:5px;width:5px}.spinner .bounce1{animation-delay:-.32s}.spinner .bounce2{animation-delay:-.16s}@keyframes bouncedelay{0%,80%,to{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}.time-cta{align-items:center;display:flex;gap:8px;justify-content:start;margin-top:5px}@keyframes thumbsUpAnimation{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes thumbsDownAnimation{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@media (max-width:767px){.hivegpt-chat-bot-wrapper .chat-main .innerChat{padding:0 24px 10px}.hivegpt-chat-bot-wrapper .chat-footer{padding:10px 24px}.hivegpt-chat-bot-wrapper .chat-footer .cta-footer .cta-chat{max-width:100%}.hivegpt-chat-bot-wrapper .chat-footer .form-control{height:80px}.hivegpt-chat-bot-wrapper .chat-header .closeIcon{height:28px;right:8px;top:8px;width:28px}.hivegpt-chat-bot-wrapper .chat-header .closeIcon span{font-size:14px}.hivegpt-chat-bot-wrapper .chat-header{padding:10px 24px}.hivegpt-chat-bot-wrapper .chat-header h2{font-size:20px}.cta-faqs{padding:10px 0 0}}.body-overflow-hidden{overflow:hidden}.chat-button{align-items:center;background:#17235b;border:#17235b;border-radius:50%;color:#fff;display:inline-flex;font-size:24px;height:50px;justify-content:center;width:50px}textarea{caret-color:#000}.labelChat{font-size:14px;font-weight:400;margin:0 0 10px}.chatType h4{color:#566563;text-align:center}.chatType ul{align-items:center;background:#fff;border-radius:10px;box-shadow:0 .3px .9px rgba(0,0,0,.12),0 1.6px 3.6px rgba(0,0,0,.16);display:flex;justify-content:center;list-style:none;margin:0 0 20px;padding:4px}.chatType ul li{flex:1}.chatType ul li button{align-items:center;background:#fff;border:none;border-radius:10px;font-weight:600;min-height:48px;padding:.375rem;text-align:center;text-shadow:1px 0 rgba(0,0,0,.2);width:100%}.chatType ul li button.active{background:linear-gradient(96deg,#761c79 -10.61%,#761c79 84.59%);box-shadow:0 1px 2px 0 rgba(16,24,40,.05);color:#fff}.cta_suggestions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:20px}.cta_suggestions button{background:#fff;border:1px solid #174ae4;border-radius:10px;box-shadow:0 1.6px 3.6px 0 rgba(0,0,0,.13),0 .3px .9px 0 rgba(0,0,0,.1);color:#1543cd;font-size:14px;font-weight:600;line-height:1.2;padding:8px 12px;position:relative;text-align:left;transition:all .3s}.cta_suggestions button:hover{background:#eff3ff}.balanced .chat-footer .cta-footer .cta-chat,.balanced .chat-main .chat.botUser .chat-box .message,.balanced .chatType ul li button.active{color:#000}.balanced .chat-main .innerChat .title p span{color:#06f}.balanced mat-drawer{background-image:linear-gradient(180deg,rgba(88,190,251,.05) 60%,rgba(0,102,255,.2) 96.27%)}.balanced .cta_suggestions button:hover{border:1px solid #06f}.precise .chat-footer .cta-footer .cta-chat,.precise .chat-main .chat.botUser .chat-box .message{background:linear-gradient(96deg,#69ca6d -10.61%,#4caf50 84.59%)}.precise .chatType ul li button.active{background:linear-gradient(96deg,#4caf50 -10.61%,#4caf50 84.59%);color:#fff}.precise .chat-main .innerChat .title p span{color:#4caf50}.precise mat-drawer{background-image:linear-gradient(180deg,rgba(76,175,80,.05) 60%,rgba(76,175,80,.3) 96.27%)}.precise .cta_suggestions button:hover{border:1px solid #4caf50}.title{margin-bottom:20px}.title h2{font-size:22px;margin:0}.title h2 span{align-items:center;color:#000;display:inline-flex;gap:10px}.title h2 i{color:#000;font-size:30px;line-height:1}.title h2 i svg{height:30px;width:30px}.title p{font-weight:600;margin:0}.title p span{color:#000}.agenda-items-wrapper{padding-bottom:15px;padding-top:15px}@media (max-width:576px){.list-view .session-detail-wrapper{border:none;flex-direction:column}}.card-background-session{background:#fff;border-radius:8px}.card-background-session .body-text-color{color:#111!important}.card-background-session h2{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;font-size:20px;line-clamp:1;margin-bottom:8px;overflow:hidden}.card-background-session .session-description{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#111!important;display:-webkit-box;font-size:14px;line-clamp:2;overflow:hidden}.card-background-session .color-secondary{color:#111!important}.card-background-session p{font-size:14px}.list-view .session-detail-wrapper .s27-btn-icon{background:transparent;border:transparent}.list-view .session-detail-wrapper{border-left:3px solid transparent;display:flex;margin-bottom:16px}.thumbnail{align-items:center;display:flex;height:160px;justify-content:center;min-width:160px;position:relative;width:160px}.thumbnail img{-o-object-fit:cover;height:100%;object-fit:cover;width:100%}@media (max-width:576px){.thumbnail{height:160px;min-height:unset;width:100%}}.thumbnail .play-btn{align-items:center;background-color:transparent;border:0;bottom:0;display:flex;font-size:60px;justify-content:center;left:0;position:absolute;right:0;top:0;width:100%}.thumbnail .play-btn span{font-size:80px;text-shadow:0 0 14px rgba(74,74,74,.45)}.content{flex-grow:1}.actions{background-color:transparent!important}.speakers{margin-bottom:0;margin-top:10px;padding:0}.speakers li{align-items:unset;display:flex}.speakers li .content{font-size:12px!important}.speakers .image{border-radius:100%;height:40px;min-width:40px;overflow:hidden;width:40px}.speakers img{-o-object-fit:cover;height:100%;object-fit:cover;width:100%}.grid-2-cols{display:grid;grid-gap:15px;grid-template-columns:calc(55% - 10px) calc(50% - 10px);padding-right:20px}@media (max-width:768px){.grid-2-cols{grid-template-columns:calc(50% - 10px) calc(50% - 10px)}}@media (max-width:575px){.grid-3-cols{grid-template-columns:100%}}.quick-prompts-extended{align-items:flex-start!important;margin-left:0!important}.border-shape .s27-scroll::-webkit-scrollbar{border-radius:30px;width:3px}.border-shape .s27-scroll::-webkit-scrollbar-track{background:#f1f1f1;border-radius:30px}.border-shape .s27-scroll::-webkit-scrollbar-thumb{background:#888;border-radius:30px}.box{display:table;height:275px;margin:10px 0;width:100%}.tiktokwrapper{display:grid;gap:10px;grid-template-columns:repeat(2,1fr);height:100%}.tiktokwrapper .tiktokshell{background:#3d2b8f;border:2px solid #fff;border-radius:5px;box-shadow:0 0 6px #494949;height:100%;min-height:275px;min-width:160px;position:relative;width:100%}.tiktokwrapper .overlymask{background-image:url(https://e1cdn.social27.com/digitalevents/HiveGpt/screen-overlay.png);background-position:0 0;bottom:0;height:100%;left:0;position:absolute;width:100%;z-index:6}.tiktokwrapper .videoPhotobox{bottom:0;height:272px;left:0;overflow:hidden;position:absolute;width:auto;z-index:6}.tiktokwrapper .videoPhotobox video{-o-object-fit:cover;border-radius:0;cursor:pointer;height:270px;object-fit:cover;outline:0;transition:.3s ease-in-out;width:100%}.tiktokwrapper .videoPhotobox img{-o-object-fit:cover;height:100%;object-fit:cover;width:100%}.tiktokwrapper .playBtn{align-items:center;border:none;cursor:pointer;display:flex;height:40px;justify-content:center;left:0;margin:0 auto;position:absolute;right:0;top:105px;transition:all 1s;width:40px;z-index:10}.tiktokwrapper .playBtn:hover{transform:scale(1.2)}.tiktokwrapper .noPhoto{align-items:center;border:none;cursor:pointer;display:flex;height:40px;justify-content:center;left:0;margin:0 auto;position:absolute;right:0;top:105px;transition:all 1s;z-index:6}.tiktokwrapper .noPhoto h3{color:#fff;font-size:46px}.tiktokwrapper .onshell-content{bottom:10px;left:5px;position:absolute;z-index:10}.tiktokwrapper .onshell-content .title-shell{margin:0 10px}.tiktokwrapper .onshell-content h3{color:#fff;font-size:13px;font-weight:500}.tiktokwrapper .onshell-content .companyName{color:#eaeaea;font-size:12px;font-weight:400}.tiktokwrapper .onshell-content .button-shell button{background:#4e4e4e;border:none;border-radius:2px;color:#fff;font-size:11px;margin:0 1px;padding:4px 7px;text-transform:capitalize}.tiktokwrapper .onshell-content .Connectbtn{background:linear-gradient(149deg,#06f,#06f)!important}.skeleton-box{background-color:#dddbdd;display:inline-block;height:1em;overflow:hidden;position:relative}.skeleton-box:after{animation:shimmer 2s infinite;background-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.2) 20%,hsla(0,0%,100%,.5) 60%,hsla(0,0%,100%,0));bottom:0;content:"";left:0;position:absolute;right:0;top:0;transform:translateX(-100%);z-index:0}@keyframes shimmer{to{transform:translateX(100%)}}.blog-post__headline{font-size:1.25em;font-weight:700}.blog-post__meta{color:#6b6b6b;font-size:.85em}.o-media{display:flex}.o-media__body{flex-grow:1;margin-left:1em}.o-vertical-spacing>*+*{margin-top:.75em}.o-vertical-spacing--l>*+*{margin-top:2em}.copy{background:none;border:none;cursor:pointer;padding:5px;transition:transform .2s ease}.copy.active{transform:scale(1.1)}.copy svg{fill:#566563;height:18px;width:18px}.copyBox{background:#f7f7f7;border-radius:13px;color:#566563;display:flex;float:right;gap:12px;padding:5px 10px;position:relative;width:135px}.copyBox button{background:transparent;border:none;color:#566563;cursor:pointer;padding:0;transition:all .3s}.copyBox button i{display:inline-block}.copyBox button:hover{color:#17235b}.copyBox button.up:hover i{animation:thumbsUpAnimation .5s ease-in-out;animation-fill-mode:forwards}.copyBox button.down:hover i{animation:thumbsDownAnimation .5s ease-in-out;animation-fill-mode:forwards}.din{display:inline-flex}.chatFooterWrapper{background-color:#f5f5f5;border-top:1px solid #ccc;justify-content:center}.chat-footer,.chatFooterWrapper{align-items:center;flex-direction:column}.chat-footer{background:#fff;display:flex;margin-bottom:10px;width:100%}.topinfo-containerbox{align-items:center;background:#f9f9f9;border-bottom:1px solid #efefef;display:none;justify-content:space-between;margin:0;padding:5px 10px 8px;width:100%}@media (max-width:768px){.topinfo-containerbox{flex-direction:column}}.agents_note_wrapper{display:flex;justify-content:space-around}.bottombox-wrapper{display:flex;padding:10px;width:100%}.dropdown-wrapper{margin-right:10px;position:relative}.dropdown-header{align-items:center;background:#fff;border:1px solid #ddd;border-radius:48px;color:#414141!important;cursor:pointer;display:flex;font-size:14px;margin-bottom:0;padding:.5rem 1.5rem;white-space:nowrap}.dropdown-header span{margin-right:8px}.dropdown-menu{background-color:#fff;border:1px solid #ededed;border-radius:5px;bottom:100%!important;box-shadow:0 2px 4px rgba(0,0,0,.1);display:block;left:0;margin-bottom:10px;max-height:200px;overflow-y:auto;padding:0;position:absolute;top:auto;width:230px;z-index:1000}.dropdown-menu label{cursor:pointer;display:block;font-size:16px;padding:5px 15px}.dropdown-menu label input{height:16px;width:16px}.dropdown-menu label:hover{background-color:#f0f0f0}.border-shape{flex-grow:1}.form-control-1{border:1px solid #ddd;border-radius:5px;padding:10px;width:100%}.cta-footer,.text-left .note-section{align-items:center;display:flex}.text-left .note-section{background:#fff;border-radius:5px;box-shadow:0 2px 4px rgba(0,0,0,.1);margin-top:10px;max-width:800px;padding:10px;width:100%}.text-left .note{align-items:center;color:#555;display:flex}.text-left .note i{margin-right:8px}.text-left .note .text{font-size:14px}.card-container{display:flex;gap:15px}.custom-card{background:#fffefe;border:1px solid #ddd;border-radius:.25rem;box-shadow:0 4px 8px rgba(0,0,0,.1);margin-bottom:10px;overflow:hidden;width:18rem}.custom-card .card-body{padding:10px}.custom-card .card-title{font-size:1.25rem;font-weight:700}.custom-card .card-text{font-size:1rem;text-align:left}.custom-card .btn-primary{background-color:#007bff;border:none;border-radius:.25rem}.custom-card .card-footer{background-color:#f8f9fa;color:#6c757d;padding:10px;text-align:center}.list-container{list-style:none;padding:0}.list-container li{background:#f5f5f5;border-radius:8px;font-size:13px;margin-bottom:5px;padding:6px 12px}.list-container li:hover{color:#000;cursor:pointer}.attendee-cards-section,.session-cards-section,.speaker-cards-section{display:block;margin-bottom:4px;margin-top:8px;max-width:100%;overflow:visible;visibility:visible;width:100%}.session-cards-section{min-width:0;overflow-x:hidden}.card-message-bubble{border-radius:4px 14px 14px 14px;box-sizing:border-box;margin-bottom:20px;max-width:100%;overflow-wrap:break-word;padding:10px 14px 10px 26px;width:100%}.card-message-bubble .card-message-text{margin:0}.card-message-text{margin-bottom:0}.session-cards-container{display:grid;gap:20px;grid-template-columns:1fr;max-width:100%;min-width:0;overflow:hidden;width:100%}@media (min-width:600px){.session-cards-container{grid-template-columns:repeat(2,1fr)}}.session-card-item{border:none;border-radius:18px;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;justify-content:flex-start;max-width:100%;min-height:220px;min-width:0;overflow:hidden;padding:25px;position:relative}.session-card-item,.session-card-item-ondemand{background:linear-gradient(135deg,#9f7aea,#805ad5)}.session-card-item-ondemand{min-height:auto;min-height:220px;padding:20px 24px}.session-card-item-ondemand .session-card-ondemand-badge{background:#7d69bd;border-radius:999px;color:#fff;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.02em;margin-bottom:8px;padding:4px 10px;width:-moz-fit-content;width:fit-content}.session-card-item-ondemand .session-card-ondemand-available{color:#fff;font-size:14px;font-weight:400;margin-bottom:6px}.session-card-item-ondemand .session-card-ondemand-title{font-size:18px;font-weight:700;line-height:1.3;margin:0 0 8px}.session-card-item-ondemand .session-card-ondemand-desc{-webkit-line-clamp:3;color:#fff;font-size:14px;font-weight:400;line-clamp:3;margin-bottom:12px;opacity:.95}.session-card-item-ondemand .session-card-actions-row{margin-top:auto}.session-card-header{margin-bottom:12px;margin-left:80px;min-height:40px}.session-card-date-badge{align-items:center;background:#000;border-radius:50%;display:flex;flex-direction:column;font-size:14px;font-weight:700;height:60px;justify-content:center;left:20px;position:absolute;top:20px;width:60px}.session-card-date-day{color:#fff;display:block;font-size:14px;font-weight:700;line-height:1.2}.session-card-date-month{color:#fff;display:block;font-size:15px;font-weight:700}.session-card-date-na{color:#fff;display:block;font-size:12px;font-weight:700;line-height:1.2}.session-card-room-time{min-width:0;overflow-wrap:break-word}.session-card-room{color:#fff;font-size:18px;font-weight:600;line-height:1.3}.session-card-time{color:#fff;font-size:13px;line-height:1.3;opacity:.9}.session-card-title{color:#fff;font-size:18px;font-weight:600;line-height:1.35;margin:6px 0 8px;min-width:0;overflow-wrap:break-word}.session-card-meta{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.session-card-meta-row{align-items:baseline;display:flex;font-size:13px;gap:8px;line-height:1.35}.session-card-meta-label{color:hsla(0,0%,100%,.9);flex-shrink:0;font-weight:500}.session-card-meta-value{color:#fff;font-weight:400;min-width:0}.session-card-description{-webkit-box-orient:vertical;-webkit-line-clamp:3;color:#fff;display:-webkit-box;flex:1;font-size:14px;line-clamp:3;line-height:1.4;min-height:0;opacity:.95;overflow:hidden}.session-card-status{align-items:center;color:hsla(0,0%,100%,.95);display:flex;font-size:13px;font-weight:400;gap:8px;justify-content:flex-end;margin-bottom:12px}.session-card-status-bullet{background:hsla(0,0%,100%,.9);border-radius:50%;height:6px;min-width:6px;width:6px}.session-card-actions-row{align-items:center;display:flex;flex-wrap:nowrap;gap:12px;justify-content:space-between;margin-top:auto;min-width:0}.session-card-item .speakers-UIcard{align-items:center;display:flex;flex:0 0 auto;min-width:0}.session-card-item .speaker{align-items:center;background:#e6e6e6;border-radius:50%;color:#333;display:flex;font-family:Arial,sans-serif;font-weight:600;height:40px;justify-content:center;margin-left:-10px;overflow:hidden;width:40px}.session-card-item .speaker:first-child{margin-left:0}.session-card-item .speaker img{-o-object-fit:cover;height:100%;object-fit:cover;width:100%}.session-card-item .speaker.initials{font-size:14px}.session-card-item .speaker img:not([src]),.session-card-item .speaker img[src=""]{opacity:0}.session-card-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:0;min-width:0}.session-card-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;min-width:80px;padding:8px 20px;transition:opacity .2s}.session-card-btn-primary{background:#000;color:#fff}.session-card-btn-primary:hover{opacity:.9}.session-card-btn-secondary{background:#000;border:none;color:#fff}.session-card-btn-secondary:hover{opacity:.9}.session-card-btn-disabled{cursor:not-allowed!important;opacity:.5;pointer-events:none}.session-card-btn-disabled.session-card-btn-primary,.session-card-btn-disabled.session-card-btn-secondary{background:#000;color:#fff}.session-card-when-disable{color:hsla(0,0%,100%,.9);font-size:13px;font-style:italic;margin-bottom:10px}.session-card-meeting-delayed{color:hsla(0,0%,100%,.95);font-size:13px;margin-bottom:10px}.attendee-cards-container{display:flex;flex-wrap:wrap;gap:20px;width:100%}.attendee-card-item{flex:0 0 calc(25% - 15px);max-width:215px!important}@media (max-width:1200px){.attendee-card-item{flex:0 0 calc(33.33333% - 13.33333px)}}@media (max-width:768px){.attendee-card-item{flex:0 0 calc(50% - 10px)}}@media (max-width:480px){.attendee-card-item{flex:0 0 100%}}.attendee-card{background-color:#5a5a5a;background-position:50%;background-size:cover;border-radius:8px;color:#fff;display:flex;flex-direction:column;height:320px;justify-content:flex-end;min-width:215px;overflow:hidden;padding:20px;position:relative}@media (max-width:480px){.attendee-card-item{max-width:100%!important}.attendee-card{height:490px}}.attendee-card-has-video{background-image:none!important}.attendee-card-video{-o-object-fit:cover;height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%;z-index:1}.attendee-card-play-btn{border:1px solid hsla(0,0%,100%,.35);border-radius:50%;font-weight:700;height:40px;left:50%;line-height:54px;text-align:center;top:40%;transform:translate(-50%,-50%);width:40px}.attendee-card-mute-btn,.attendee-card-play-btn{align-items:center;background:rgba(0,0,0,.45);color:#fff;cursor:pointer;display:flex;font-size:0;justify-content:center;padding:0;position:absolute;z-index:4}.attendee-card-mute-btn{border:1px solid hsla(0,0%,100%,.25);border-radius:50%;font-weight:600;height:34px;right:10px;top:10px;width:34px}.attendee-card-mute-btn .material-icons,.attendee-card-play-btn .material-icons{font-size:28px;line-height:1}.attendee-card-initials{background:linear-gradient(135deg,#6b7280,#4b5563);color:hsla(0,0%,100%,.9);display:flex;font-size:58px;font-weight:400;justify-content:center;letter-spacing:-2px;padding:50px 0;z-index:1}.attendee-card-initials,.attendee-overlay{height:100%;left:0;position:absolute;top:0;width:100%}.attendee-overlay{background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,.25));pointer-events:none;z-index:2}.attendee-content{position:relative;z-index:3}.attendee-name{font-size:18px;font-weight:600;margin-bottom:4px}.attendee-company,.attendee-name{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;line-clamp:2;overflow:hidden}.attendee-company{font-size:13px;margin-bottom:8px;opacity:.85}.attendee-desc{font-size:14px;margin-bottom:12px;opacity:.95;overflow:hidden}.attendee-desc-collapsed{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;line-clamp:2}.attendee-desc-expanded{display:block;margin-bottom:6px;overflow:visible}.attendee-read-more{background:transparent;border:0;color:hsla(0,0%,100%,.9);cursor:pointer;display:inline-block;font-size:12px;font-weight:600;margin:-6px 0 10px;padding:0;text-decoration:underline}.attendee-buttons{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;width:-moz-fit-content;width:fit-content}.attendee-buttons .btn{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;border:none;border-radius:3px;cursor:pointer;flex:1 1 0;font-size:12px;min-width:80px;padding:5px 8px;text-align:center;text-rendering:optimizeLegibility;white-space:nowrap}@media (max-width:480px){.attendee-buttons{flex-wrap:wrap;width:100%!important}.attendee-buttons .btn{flex:1 1 100%;max-width:100%;white-space:normal}}.attendee-card-btn-connect{background:#0d6efd;color:#fff}.attendee-card-btn-connect:hover:not(:disabled){opacity:.9}.attendee-card-btn-view-profile{background:#494949;color:#fff}.attendee-card-btn-view-profile:hover:not(:disabled){opacity:.9}.attendee-card-btn-request-sent{background:#0d6efd;color:#fff;cursor:not-allowed!important;opacity:.5}.attendee-card-btn-disconnect{background:#0d6efd;color:#fff}.attendee-card-btn-disconnect:hover{background:hsla(0,0%,100%,.3);opacity:.95}.attendee-card-btn:disabled{cursor:not-allowed!important;opacity:.6}.show-more-cards-btn{align-items:center;background:#fff;border:1.5px dashed #ccc;border-radius:12px;color:#06f;cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:center;margin-top:12px;padding:10px 16px;width:-moz-fit-content;width:fit-content}.show-more-cards-btn:hover{background:#f8f9fa}.collapsible-container{margin-bottom:5px;overflow:hidden;width:100%}.collapsible-header{cursor:pointer;display:flex;padding:15px}.collapsible-header .header-icon{font-size:20px;margin-right:10px}.collapsible-header .header-title{flex:1;font-size:18px}.collapsible-header .toggle-icon{font-size:18px;margin-left:18px}.collapsible-content{background-color:#f8f9fa;color:#333;padding:15px;width:100%}.collapsible-content.show{display:block}.researchingCard{margin:5px auto}.card-header{background:#eee;border-bottom:0;border-radius:8px 8px 0 0;display:flex!important;padding:8px 15px;width:auto}.icon{font-size:20px;line-height:5px}.rotate{transform:rotate(180deg)}.collapse{display:none}.uptList{background:rgba(245,222,179,.1411764705882353);border-radius:0 0 10px 10px;margin-bottom:20px!important}.list-group-item{color:#0f0f0f;font-size:15px;margin:1px 0;padding:0 18px}.sources-container{align-items:flex-start;display:flex;gap:15px}.source-card{background-color:#f0f3f5;border-radius:10px;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;padding:15px;position:relative;transition:box-shadow .3s ease;width:100%}.popup{background-color:#fff;border-radius:5px;box-shadow:0 4px 8px rgba(0,0,0,.2);left:50%;opacity:0;padding:10px;position:absolute;top:100%;transform:translateX(-50%) translateY(-10px);transition:opacity .3s ease,transform .3s ease;visibility:hidden;white-space:normal;width:100%;z-index:10}.popup h5{font-size:14px;font-weight:600;line-height:1.2;margin:5px 0 10px}.popup p{font-size:12px;line-height:1.4;margin:0}.popup h5:hover{color:#007bff;cursor:pointer}.popup .source-url{color:#000;text-decoration:none}.popup .source-url:hover{color:#007bff;cursor:pointer;text-decoration:underline}.source-card:hover .popup{opacity:1;transform:translateX(-50%) translateY(-15px);visibility:visible}.source-card:hover{box-shadow:0 4px 8px rgba(0,0,0,.1);transform:scale(1.05)}.source-title{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;font-size:14px;font-weight:500;height:55px;line-clamp:2;line-height:1.5;overflow:hidden;text-align:left;text-overflow:ellipsis}.source-title img{margin-left:10px;width:20px}.source-url{align-items:center;color:#6c757d;display:flex;font-size:12px;text-align:left}.source-url img{border-radius:50%;height:16px;margin-right:5px;width:16px}.sourceDraweContainer .container{background-color:#fff;padding:20px}.sourceDraweContainer .sources-list{list-style:none;padding:0}.sourceDraweContainer .sources-list li{align-items:flex-start;display:flex;margin-bottom:15px}.sourceDraweContainer .sources-list input[type=checkbox]{flex-shrink:0;margin-right:15px;margin-top:8px}.sourceDraweContainer .source-content{background-color:#f5f2f2;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);cursor:pointer;flex:1;padding:12px}.sourceDraweContainer .source-content:hover{background:#ccc}.sourceDraweContainer .source-title{display:block;font-size:1rem;font-weight:500;height:auto!important;margin-bottom:4px}.sourceDraweContainer .source-description{display:block;font-size:.875rem}.sourceDraweContainer .image-container{align-items:center;display:flex;margin:10px 0}.sourceDraweContainer .image-container img{-o-object-fit:cover;border:1px solid #ddd;border-radius:50%;height:16px;margin-right:5px;object-fit:cover;width:16px}.sourceDraweContainer .image-container span{color:#555;font-size:13px}.closeButtonEditor{border:0;border-radius:100%;height:32px;padding:3px 0 0;position:absolute;right:10px;top:5px;width:32px}.closeButtonSource{background:none!important;border-color:transparent!important;box-shadow:none!important;color:inherit;cursor:pointer;float:right;margin-top:20px;transition:color .2s ease-in-out}.closeButtonSource.closeplaygroundbutton{display:none!important}.graph-img{background:hsla(0,0%,99.6%,.23137254901960785);border-radius:15px;padding:15px;width:90%}.chat-textarea{background-color:#fff;border:none;box-sizing:border-box;font-size:15px;height:30px;line-height:1.5;overflow-y:hidden;padding:10px;resize:none;transition:all 1s;width:100%}.chat-textarea:focus,.chat-textarea:hover{height:60px}.chat-textarea:focus{outline:none}.fixed-btn{background-color:#000;border:none;border-radius:8px 8px 0 0;color:#fff;cursor:pointer;font-size:16px;padding:5px 12px;position:fixed;right:-22px;top:46%;transform:translateY(-50%) rotate(270deg);transform-origin:center;transition:all .5s;z-index:1000000}.fixed-btn:hover{background-color:#5b5b5b}.fixed-btn-close{background-color:#000;border:none;border-radius:8px 8px 0 0;color:#fff;cursor:pointer;font-size:16px;padding:5px 16px;position:fixed;right:549px;top:46%;transform:translateY(-50%) rotate(270deg);transform-origin:center;transition:all .5s;z-index:1000000}.fixed-btn-close:hover{background-color:#5b5b5b}.btn.rotate{transform:rotate(-15deg)}.btn.rotate:hover{transform:rotate(0deg)}.btn.cta-chat{align-items:center;background:#f3f3f3;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;height:40px;justify-content:center;margin:0 auto;padding:5px;text-align:center;transition:all .5s;width:40px}.btn.cta-chat:hover{background:#d7d7d7;color:#666}.btn.cta-chat svg{vertical-align:middle}.btn.cta-chat.voice-btn{border-radius:9999px;flex-shrink:0;gap:8px;justify-content:flex-start;max-width:40px;min-width:40px;overflow:hidden;padding-left:11px;padding-right:11px;transition:max-width .35s ease,width .35s ease,background-color .25s ease,color .25s ease,padding .3s ease;width:40px}.btn.cta-chat.voice-btn .voice-btn-icon{flex-shrink:0}.btn.cta-chat.voice-btn .voice-btn-text{font-size:14px;font-weight:500;max-width:0;opacity:0;overflow:hidden;transition:opacity .25s ease .1s,max-width .3s ease .05s;white-space:nowrap}.btn.cta-chat.voice-btn:hover{background:#0d9488!important;color:#fff!important;max-width:120px;padding-left:14px;padding-right:16px;width:auto}.btn.cta-chat.voice-btn:hover .voice-btn-text{max-width:4em;opacity:1}.chat-footer-upt{padding:4px}.workflowbox{align-items:center;border:1px solid transparent;border-radius:48px;color:#414141!important;cursor:pointer;display:flex;font-size:14px;margin-bottom:0;padding:.5rem 1.5rem;transition:all .5s;white-space:nowrap}.workflowbox:hover{background:#fff;border:1px solid #ddd}.workflowbox svg{margin:0 10px}.edit-boxDrawer{border-left:1px solid #ddd;box-shadow:1px 1px 15px hsla(0,0%,86.7%,.7686274509803922)!important}.edit-boxDrawer mat-drawer-content,ng-deep .edit-boxDrawer mat-drawer-content{margin-left:0!important;margin-right:0!important}.SearchTitle{font-size:16px!important;text-transform:none}.exicution{background:#f9f9f9;margin:30px 0!important;padding:15px 20px}.new-conversationbutton{align-items:center;background:#f5f5f5;border:1px solid #e3e3e3;border-radius:10px;cursor:pointer;display:flex;font-size:14px;justify-content:space-around;padding:6px;position:absolute;right:88px;top:20px!important;transition:all .5s;width:120px;z-index:1000}.new-conversationbutton:hover{background:#eee}@media (max-width:768px){.new-conversationbutton{align-items:center;font-size:11px!important;padding:0!important;position:fixed!important;right:18px!important;top:56px!important;width:90px!important}}.NoteTxt{margin:0 auto;margin-bottom:10px!important}.NoteTxt .text{margin:0 5px}.form-container{width:100%}.progress-container{align-items:center;display:flex}.circular-loader{border:4px solid rgba(0,0,0,.1);border-radius:50%;box-sizing:border-box;height:50px;position:relative;width:50px}.loader-spinner{animation:rotate-loader 1s linear infinite;border:2px solid #2196f3;border-radius:50%;border-top-color:transparent;box-sizing:border-box;height:100%;left:0;position:absolute;top:0;width:100%}.loader-text{color:#333;font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.loader-label{color:#333;font-size:16px;margin-left:20px}.checkmark{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.checkmark-circle{animation:stroke .6s ease-in-out forwards;stroke:#4caf50;stroke-dasharray:166;stroke-dashoffset:166;stroke-width:4}.checkmark-check{animation:stroke-check .4s ease-in-out .4s forwards;stroke:#4caf50;stroke-dasharray:48;stroke-dashoffset:48;stroke-linecap:round;stroke-linejoin:round;stroke-width:4}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes stroke-check{to{stroke-dashoffset:0}}@keyframes rotate-loader{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes checkmark-animation{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.circular-loader.completed .loader-spinner{animation:none;transform:rotate(1turn)}.icon-button{background-color:transparent;border:none;color:#333;cursor:pointer;font-size:24px}.icon-button:focus{outline:none}.icon-button:hover{color:#007bff}.modal{background-color:rgba(0,0,0,.4);display:block;height:100%;left:0;padding-top:0;position:fixed;top:0;width:100%;z-index:1000001}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,.1);height:600px;margin:5% auto;padding:20px;position:relative;width:82%}.close{color:#aaa;float:right;font-size:28px;font-weight:700}.close:focus,.close:hover{color:#000;cursor:pointer;text-decoration:none}.SearchTitle.botUser{font-size:30px!important;text-transform:none!important}.SearchTitle.botUser h2,.SearchTitle.botUser p{font-size:1.7rem!important}.title_chat{display:flex;margin:0;padding:0}.title_chat h2{align-items:center;display:flex;font-size:20px;gap:10px;margin:10px 0}.title_chat h2 p{display:inline!important}.title_chat h2 span:before{content:""!important}@media (max-width:768px){.title_chat h2{align-items:start;flex-direction:column;font-size:16px}}.small-title{font-size:12px;margin:2px 0}.titleSection{margin:0}.titleSection h2{color:#000;font-size:20px;margin:0}.inputs-section{background-color:#f7f7f7;border-radius:5px;margin:0 0 10px;padding:10px 15px 0}.inputs-section h3{font-size:16px}.actions-section{background-color:#f9f9f9;border-radius:5px;height:500px;margin-bottom:20px;overflow-y:auto;padding:15px}.timeline{margin-bottom:20px;padding-left:40px;position:relative}.timeline:before{border-right:2px dashed #cecece;content:"";height:100%;left:19px;position:absolute}.timeline-item{margin-bottom:20px;position:relative}.timeline-item:before{background-color:#007bff;border-radius:50%;content:"";height:20px;left:-30px;position:absolute;top:0;width:20px;z-index:1}.timeline-item h4{color:#000;font-size:16px;font-weight:700;margin:0}.timeline-item pre{background-color:#fff;border:1px solid #ddd;border-radius:5px;padding:10px;white-space:pre-wrap}.timestamp-section{color:#666;font-style:normal;justify-content:space-between}.mic-btn{background-color:#ff4d4d;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.5em;padding:10px}.mic-btn:active{background-color:#f66}.actions-section h3{font-size:16px}.close-wrapper{display:flex;justify-content:right;position:absolute;right:22px;top:0;width:100%}.close_pop{color:#aaa;cursor:pointer;font-size:30px;font-weight:400}.chat-avatar,.close_pop{align-items:center;display:flex;justify-content:center}.chat-avatar{background:#fcfcfc;border:1px solid #dfdfdf;border-radius:50%;flex-shrink:0;height:44px;min-height:44px;min-width:44px;overflow:hidden;width:44px}.chat-avatar-img{-o-object-fit:cover;height:100%;object-fit:cover;width:100%}.chat-avatar-initials{-moz-user-select:none;-webkit-user-select:none;color:#555;font-size:1rem;font-weight:600;text-transform:uppercase;user-select:none}.chat-avatar-initials-assistant{color:#000}.chat-avatar-initials-user{color:#761c79}.user-Box{align-items:center;display:flex}.bards{position:absolute;right:0;top:20px}::ng-deep .code-container{margin:20px 0;position:relative}::ng-deep .copy-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:5px 10px;position:absolute;right:10px;top:10px}::ng-deep .copy-button:hover{background-color:#0056b3}::ng-deep .code_block.diff{background-color:#f8f8f8;border-left:4px solid #ccc;overflow:auto;padding:10px}::ng-deep .heading003{color:#000;font-size:20px;font-weight:700}::ng-deep .listing{list-style:decimal;margin:0 25px;padding:0}.line{background-color:#e8e8e8;border-radius:15px;display:inline-block;height:15px;width:15px}.load-2 .line:last-child{animation:loadingB 1.5s 1s infinite;margin:5px 0}.load-2 .line:nth-last-child(2){animation:loadingB 1.5s .5s infinite;margin:5px 0}.load-2 .line:nth-last-child(3){animation:loadingB 1.5s 0s infinite;margin:5px 0}.load-1 .line:last-child{animation:loadingA 1.5s 1.2s infinite;margin:5px 0}.load-1 .line:nth-last-child(2){animation:loadingA 1.5s .8s infinite;margin:5px 0}.load-1 .line:nth-last-child(3){animation:loadingA 1.5s .2s infinite;margin:5px 0}@keyframes loadingB{0%{width:65px}50%{width:235px}to{width:65px}}@keyframes loadingA{0%{width:45px}50%{width:205px}to{width:45px}}.chat-thinking{padding-left:20px!important}.chat-thinking .thinking-row{align-items:center;display:flex;gap:8px;margin-top:6px}.chat-thinking .thinking-dots{align-items:center;display:flex;gap:4px}.chat-thinking .thinking-dot{animation:thinking-bounce 1.4s ease-in-out infinite both;background:#06f;border-radius:50%;height:6px;width:6px}.chat-thinking .thinking-dot:first-child{animation-delay:0s;background:#9ca3af}.chat-thinking .thinking-dot:nth-child(2){animation-delay:.2s;background:#06f}.chat-thinking .thinking-dot:nth-child(3){animation-delay:.4s;background:#17235b}.chat-thinking .thinking-text{color:#6b7280;font-size:14px;font-weight:400}@keyframes thinking-bounce{0%,80%,to{opacity:.6;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.loaderbox{height:60px;margin:10px 0;position:relative}.loader-pkg{bottom:0;left:0;margin:0;top:0;width:250px}.loader--dot,.loader-pkg{height:20px;position:absolute}.loader--dot{animation-duration:3s;animation-iteration-count:infinite;animation-name:loader;animation-timing-function:ease-in-out;background-color:#1a6774;border-radius:100%;width:20px}.loader--dot:first-child{animation-delay:.5s;background-color:#618e93}.loader--dot:nth-child(5){animation-delay:.4s;background-color:#3fb0c3}.loader--dot:nth-child(4){animation-delay:.3s;background-color:#40b8cd}.loader--dot:nth-child(3){animation-delay:.2s;background-color:#ec8828}.loader--dot:nth-child(2){animation-delay:.1s;background-color:#fdc25d}.loader--dot:first-child{animation-delay:0s;background-color:#f4e3be}.loader--text{left:0;margin:0;position:absolute;top:200%;width:4rem}.loader--text:after{animation-duration:3s;animation-iteration-count:infinite;animation-name:loading-text;content:"Loading";font-weight:700}@keyframes loader{15%{transform:translateX(230px)}45%{transform:translateX(0)}65%{transform:translateX(230px)}95%{transform:translateX(0)}}@keyframes loading-text{0%{content:"Loading"}25%{content:"Loading."}50%{content:"Loading.."}75%{content:"Loading..."}}::ng-deep .loaderbox{height:60px;margin:10px 0;position:relative}::ng-deep .loader-pkg{bottom:0;height:20px;left:0;margin:0;position:absolute;top:0;width:250px}::ng-deep .loader--dot{animation-duration:3s;animation-iteration-count:infinite;animation-name:loader;animation-timing-function:ease-in-out;background-color:#1a6774;border-radius:100%;height:20px;position:absolute;width:20px}::ng-deep .loader--dot:first-child{animation-delay:.5s;background-color:#618e93}::ng-deep .loader--dot:nth-child(5){animation-delay:.4s;background-color:#3fb0c3}::ng-deep .loader--dot:nth-child(4){animation-delay:.3s;background-color:#40b8cd}::ng-deep .loader--dot:nth-child(3){animation-delay:.2s;background-color:#ec8828}::ng-deep .loader--dot:nth-child(2){animation-delay:.1s;background-color:#fdc25d}::ng-deep .loader--dot:first-child{animation-delay:0s;background-color:#f4e3be}::ng-deep .loader--text{left:0;margin:0;position:absolute;top:200%;width:4rem}::ng-deep .loader--text:after{animation-duration:3s;animation-iteration-count:infinite;animation-name:loading-text;content:"Loading";font-weight:700}.agents-popwindowbox{background:#fff;padding:10px;width:100%}.agents-popwindowbox h3{color:#000;font-size:15px}.dropdown-menu-agents{background-color:#fff;border:1px solid #ededed;border-radius:5px;bottom:100%!important;box-shadow:0 2px 4px rgba(0,0,0,.1);display:block;left:0;margin-bottom:10px;padding:0;position:absolute;top:auto;width:270px;z-index:1000}.dropdown-menu-agents .scrollerbox{display:flex;flex:fit-content;flex-direction:column;height:215px;overflow-y:auto}.dropdown-menu-agents label{align-items:center;background:#f9f9f9;border-radius:2px;cursor:pointer;display:flex;font-size:13px;justify-content:start;line-height:16px;margin:2px 0;padding:7px}.dropdown-menu-agents label:hover{background:#ebebeb}.dropdown-menu-agents label input{opacity:0;position:absolute}.dropdown-menu-agents .input-check{border:2px solid #ccc;border-radius:4px;display:inline-block;height:23px;margin-right:5px;position:relative;top:0;transition:.5s;width:25px}.dropdown-menu-agents label input:checked~.input-check{animation:animate .7s ease;background:#06f;border-color:#06f}@keyframes animate{0%{transform:scale(1)}40%{transform:scale(1.3,.7)}55%{transform:scale(1)}70%{transform:scale(1.2,.8)}80%{transform:scale(1)}90%{transform:scale(1.1,.9)}to{transform:scale(1)}}.dropdown-menu-agents .input-check:before{border-bottom:3px solid #fff;border-left:3px solid #fff;content:"";height:6px;left:4px;position:absolute;top:6px;transform:scale(0) rotate(-45deg);transition:.5s;width:15px}.dropdown-menu-agents label input:checked~.input-check:before{transform:scale(1) rotate(-45deg)}::ng-deep .h1,::ng-deep h1{font-size:1.165rem}::ng-deep .h2,::ng-deep .h3,::ng-deep h2,::ng-deep h3{font-size:1.125rem}::ng-deep b,::ng-deep strong{font-weight:600}@media (max-width:768px){.note{line-height:15px;margin:0 auto;padding:3px 0 10px;width:90%}}.show-hover{display:none}.chat.bot:hover .show-hover{display:flex!important}']}]}],Y.ctorParameters=function(){return[{type:l.FormBuilder},{type:V},{type:o.ChangeDetectorRef},{type:i.HttpClient},{type:a.DomSanitizer},{type:o.ElementRef},{type:o.Renderer2},{type:R},{type:P},{type:L},{type:K},{type:t.Overlay},{type:o.ViewContainerRef},{type:o.Injector}]},Y.propDecorators={chatMain:[{type:o.ViewChild,args:["chatMain"]}],myInput:[{type:o.ViewChild,args:["myInput",{static:!1}]}],closePlaygroundButtons:[{type:o.ViewChildren,args:["closeplaygroundbutton"]}],drawer:[{type:o.ViewChild,args:["drawer"]}],sourcesDrawer:[{type:o.ViewChild,args:["sourcesDrawer"]}],editorsDrawer:[{type:o.ViewChild,args:["editorsDrawer"]}],copilotName:[{type:o.Input}],firstName:[{type:o.Input}],lastName:[{type:o.Input}],apiKey:[{type:o.Input}],bgBubbleAi:[{type:o.Input}],bgBubbleUser:[{type:o.Input}],bgGradient:[{type:o.Input}],botName:[{type:o.Input}],botSkills:[{type:o.Input}],botId:[{type:o.Input}],orgId:[{type:o.Input}],closeButtonColor:[{type:o.Input}],closeButtonbgColor:[{type:o.Input}],credentials:[{type:o.Input}],dateTimeColor:[{type:o.Input}],dateTextColor:[{type:o.Input}],eventId:[{type:o.Input}],eventUrl:[{type:o.Input}],eventToken:[{type:o.Input}],workspaceToken:[{type:o.Input}],s27Token:[{type:o.Input}],eventName:[{type:o.Input}],botIcon:[{type:o.Input}],userAvatarUrl:[{type:o.Input}],formFieldBgColor:[{type:o.Input}],formFieldTextColor:[{type:o.Input}],fullView:[{type:o.Input}],gradientColors:[{type:o.Input}],greeting:[{type:o.Input}],messageTextColorAi:[{type:o.Input}],messageTextColorUser:[{type:o.Input}],rules:[{type:o.Input}],sendButtonColor:[{type:o.Input}],sendButtonTextColor:[{type:o.Input}],showClose:[{type:o.Input}],thumbsDownMessages:[{type:o.Input}],thumbsUpMessage:[{type:o.Input}],timezone:[{type:o.Input}],unknownResponses:[{type:o.Input}],useOpenAi:[{type:o.Input}],userId:[{type:o.Input}],isDev:[{type:o.Input}],baseUrl:[{type:o.Input}],connectionsList:[{type:o.Input}],pendingSentRequestUserIds:[{type:o.Input}],isConnectionsEnabled:[{type:o.Input}],isUnEvent:[{type:o.Input}],againButtonColor:[{type:o.Input}],againButtonTextColor:[{type:o.Input}],feedbackEvent:[{type:o.Output}],onCloseEvent:[{type:o.Output}],openPage:[{type:o.Output}],sessionActions:[{type:o.Output}],sessionActionBlocked:[{type:o.Output}],closeBot:[{type:o.Output}],connectWithUser:[{type:o.Output}],scheduleMeeting:[{type:o.Output}],refreshToken:[{type:o.Output}],openSupport:[{type:o.Output}]};var J=function(){function e(){this.visible=!1}return e.prototype.toggle=function(){this.visible=!this.visible},e}();J.decorators=[{type:o.Component,args:[{selector:"hivegpt-chatbot",template:'<button mat-icon-button class="chat-button" color="primary" (click)="toggle()">\n <mat-icon>chat</mat-icon>\n</button>\n\n<ng-container *ngIf="visible">\n <hivegpt-chat-drawer-package\n [apiKey]="apiKey"\n [bgBubbleAi]="bgBubbleAi"\n [bgBubbleUser]="bgBubbleUser"\n [bgGradient]="bgGradient"\n [botName]="botName"\n [closeButtonbgColor]="closeButtonbgColor"\n [closeButtonColor]="closeButtonColor"\n [credentials]="credentials"\n [dateTextColor]="dateTextColor"\n [dateTimeColor]="dateTimeColor"\n [eventId]="eventId"\n [eventName]="eventName"\n [formFieldBgColor]="formFieldBgColor"\n [formFieldTextColor]="formFieldTextColor"\n [fullView]="fullView"\n [greeting]="greeting"\n [gradientColors]="gradientColors"\n [messageTextColorAi]="messageTextColorAi"\n [messageTextColorUser]="messageTextColorUser"\n [sendButtonColor]="sendButtonColor"\n [sendButtonTextColor]="sendButtonTextColor"\n [showClose]="showClose"\n [thumbsDownMessages]="thumbsDownMessages"\n [thumbsUpMessage]="thumbsUpMessage"\n [unknownResponses]="unknownResponses"\n [useOpenAi]="useOpenAi"\n [userId]="userId"\n [userAvatarUrl]="userAvatarUrl"\n [timezone]="timezone"\n [botId]="botId"\n [s27Token]="s27Token"\n [workspaceToken]="workspaceToken"\n [isDev]="isDev"\n [baseUrl]="baseUrl"\n >\n </hivegpt-chat-drawer-package>\n</ng-container>\n',styles:["::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb:hover{background:#e5ccbc}.spinner{align-items:center;display:flex;gap:2px;justify-content:center}.spinner>div{animation:bouncedelay 1.4s ease-in-out infinite;animation-fill-mode:both;background-color:#173330;border-radius:100%;display:inline-block;height:5px;width:5px}.spinner .bounce1{animation-delay:-.32s}.spinner .bounce2{animation-delay:-.16s}@keyframes bouncedelay{0%,80%,to{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}.chat-button{align-items:center;background:#17235b;border:#17235b;border-radius:50%;bottom:20px;color:#fff;display:inline-flex;font-size:24px;height:50px;justify-content:center;position:fixed;right:20px;width:50px}"]}]}],J.propDecorators={userId:[{type:o.Input}],userAvatarUrl:[{type:o.Input}],timezone:[{type:o.Input}],apiKey:[{type:o.Input}],botName:[{type:o.Input}],botSkills:[{type:o.Input}],botId:[{type:o.Input}],closeButtonColor:[{type:o.Input}],gradientColors:[{type:o.Input}],greeting:[{type:o.Input}],sendButtonColor:[{type:o.Input}],useOpenAi:[{type:o.Input}],showClose:[{type:o.Input}],bgGradient:[{type:o.Input}],sendButtonTextColor:[{type:o.Input}],fullView:[{type:o.Input}],bgBubbleAi:[{type:o.Input}],bgBubbleUser:[{type:o.Input}],closeButtonbgColor:[{type:o.Input}],messageTextColorAi:[{type:o.Input}],messageTextColorUser:[{type:o.Input}],dateTimeColor:[{type:o.Input}],dateTextColor:[{type:o.Input}],formFieldBgColor:[{type:o.Input}],formFieldTextColor:[{type:o.Input}],thumbsUpMessage:[{type:o.Input}],thumbsDownMessages:[{type:o.Input}],eventName:[{type:o.Input}],credentials:[{type:o.Input}],unknownResponses:[{type:o.Input}],rules:[{type:o.Input}],eventId:[{type:o.Input}],s27Token:[{type:o.Input}],workspaceToken:[{type:o.Input}],isDev:[{type:o.Input}],baseUrl:[{type:o.Input}]};var X=function(){};X.decorators=[{type:o.NgModule,args:[{declarations:[$],imports:[h.CommonModule],providers:[K,N,W,H],exports:[$]}]}];var Q=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return e?this.sanitizer.bypassSecurityTrustHtml(e):""},e}();Q.decorators=[{type:o.Pipe,args:[{name:"safeHtml"}]}],Q.ctorParameters=function(){return[{type:a.DomSanitizer}]};var ee=function(){function e(e,t,n){this.doc=e,this.el=t,this.cdr=n,this.isMuted=!0,this.isFullscreen=!1,this.isFullscreenvideoPlaying=!1,this.connectWithUser=new o.EventEmitter,this.scheduleMeeting=new o.EventEmitter}return e.prototype.ngOnInit=function(){},e.prototype.toggleSound=function(e){var t=this;void 0===e&&(e=null),this.isMuted=null!=e?e:!this.isMuted,setTimeout((function(){var e=t.doc.getElementById(t.video.id.toString());e&&(e.muted=t.isMuted,t.video.isMuted=t.isMuted),t.cdr.markForCheck()}))},e.prototype.togglePlay=function(e,t){var n=this;this.videoObj.isPlaying=!this.videoObj.isPlaying,setTimeout((function(){e?(n.videoObj.isPlaying=!0,t.play(),document.getElementById("pause-btn").classList.add("hide-pause-btn"),n.toggleSound(!1)):(n.videoObj.isPlaying=!1,t.pause());n.cdr.markForCheck()}))},e.prototype.ngAfterViewInit=function(){var e=this;window.innerWidth<=576&&(this.observer=new IntersectionObserver((function(t){!0===t[0].isIntersecting?e.video.nativeElement.play():e.video.nativeElement.pause()}),{threshold:.75}),this.observer.observe(this.el.nativeElement))},e.prototype.toggleFullscreen=function(){this.isFullscreen=!this.isFullscreen,this.isFullscreen||this.fullscreenvideo.nativeElement.pause()},e.prototype.toggleFullscreenPlay=function(){this.isFullscreenvideoPlaying=!this.isFullscreenvideoPlaying,this.isFullscreenvideoPlaying?this.fullscreenvideo.nativeElement.play():this.fullscreenvideo.nativeElement.pause()},e.prototype.followUser=function(e){this.connectWithUser.emit(e)},e.prototype.checkPendingSentRequest=function(e){var t;return null===(t=this.myPendingSentRequests)||void 0===t?void 0:t.find((function(t){return t==e}))},e.prototype.canUnfollowUser=function(){return!1},e.prototype.canFollowUser=function(){return!0},e.prototype.getIniNames=function(e,t){return e||t?e&&t?e.charAt(0).toUpperCase()+t.charAt(0).toUpperCase():e.charAt(0).toUpperCase():""},e}();ee.decorators=[{type:o.Component,args:[{selector:"app-video-player",template:'<div class="video-wrapper" >\n <div class="overlymask-video"></div>\n <video (click)="toggleFullscreen()" #video [loop]="true" [muted]="isMuted" [src]="videoObj.processedUrls || videoObj.url" playsinline\n [controls]="false"></video>\n <div class="main-controls" [class.no-opacity]="video.isPlaying">\n <button mat-icon-button *ngIf="!videoObj.isPlaying"\n attr.aria-label="Play Video"\n title="Play Video" class="play-pause-btn"\n (click)="togglePlay(true, video)">\n \x3c!-- <mat-icon alt="Play">play_arrow</mat-icon> --\x3e\n <span class="material-icons notranslate " aria-hidden="true">play_circle_outline</span>\n </button>\n\n <button mat-icon-button id="pause-btn" [hidden]="!videoObj.isPlaying" class="pause_btn play-pause-btn playing"\n title="Pause Video"\n [class.half-opacity]="video.isPlaying" (click)="togglePlay(false, video)">\n \x3c!-- <mat-icon alt="Pause">pause</mat-icon> --\x3e\n <span class="material-icons notranslate " aria-hidden="true">pause_circle_outline</span>\n </button>\n </div>\n <div class="video-actions">\n <button class="button-trasparent action" (click)="toggleSound()" title="Mute" *ngIf="isMuted">\n <span class="material-icons notranslate " aria-hidden="true">volume_off</span>\n </button>\n <button class="button-trasparent action" (click)="toggleSound()" title="Unmute" *ngIf="!isMuted">\n <span class="material-icons notranslate " aria-hidden="true">volume_up</span>\n </button>\n\n </div>\n</div>\n\n<div class="full-screen" *ngIf="isFullscreen" [ngClass]="{\'show\': isFullscreen}">\n <div class="video-wrapper">\n <video #fullscreenvideo (click)="toggleFullscreenPlay()" [loop]="true" [muted]="isMuted" [src]="videoObj.processedUrls || videoObj.url"\n playsinline [controls]="false"></video>\n <div (click)="toggleFullscreen()" class="close-btn">\n <span class="material-icons notranslate ">clear</span>\n </div>\n <div class="video-actions">\n <button *ngIf="!video.isPlaying" title="Play"\n class="material-icons notranslate body-text-color fs-h2 play position-absolute transparent-btn" (click)="togglePlay(true, video)">\n play_circle_outline\n </button>\n <button id="pause-btn" [hidden]="!videoObj.isPlaying" title="Pause"\n class="pause_btn material-icons body-text-color fs-h2 play position-absolute transparent-btn"\n [class.half-opacity]="video.isPlaying" (click)="togglePlay(false, video)">\n pause_circle_outline\n </button>\n </div>\n </div>\n</div>\n',styles:[".video-wrapper{position:relative}.video-wrapper video{-o-object-fit:cover;border-radius:5px;cursor:pointer;height:330px;object-fit:cover;outline:0;transition:.3s ease-in-out;width:100%}.video-wrapper .video-actions{display:flex;flex-direction:column;position:absolute;right:10px;top:10px}.video-wrapper .video-actions .action{color:#fff;cursor:pointer;margin-bottom:5px}.video-wrapper .author-details{bottom:18px;display:flex;flex-direction:column;justify-content:flex-start;left:12px;position:absolute;right:12px;transition:.3s ease-in-out}.video-wrapper .author-details .author-image{border-radius:50%;height:34px;margin-right:6px;overflow:hidden;width:34px}.video-wrapper .author-details .author-image img{-o-object-fit:cover;height:100%;object-fit:cover;width:100%}.video-wrapper .author-details .author-name,.video-wrapper .author-details .video-title{color:#fff;display:block;font-size:14px;mix-blend-mode:hard-light}.video-wrapper .connect-btn{bottom:20px;opacity:0;outline:0;position:absolute;text-align:center;transition:.3s ease-in-out;width:100%}@media only screen and (max-width:576px){.video-wrapper .connect-btn{opacity:1;right:20px;width:unset}}.video-wrapper .connect-btn button{margin:auto}.video-wrapper:hover .author-details{opacity:0}@media only screen and (max-width:576px){.video-wrapper:hover .author-details{opacity:1}}.video-wrapper:hover .connect-btn{opacity:1}.video-wrapper .half-opacity{opacity:.2}.video-wrapper .no-opacity{background-color:transparent}.like-btn{margin-bottom:20px;text-align:center;transition:.2s ease-in-out}.like-btn .count{font-size:16px;margin-left:3px}.like-btn span{cursor:pointer;font-size:30px}.like-btn:hover{transform:scale(1.1)}.like-btn.like{color:#025be7}.like-btn.dislike{color:#8d8d8d}.like-btn.info{color:#aeae3f}.full-screen.show{align-items:center;background:rgba(27,26,26,.9607843137254902);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.full-screen.show .video-wrapper video{height:270px;transform:none!important;transition:none;width:300px}.full-screen .close-btn{cursor:pointer;left:10px;position:absolute;top:10px}.full-screen .close-btn span{color:#fff}.main-controls{background-color:rgba(0,0,0,.3);bottom:0;left:0;right:0;top:0}.main-controls,.main-controls .play-pause-btn{align-items:center;display:flex;justify-content:center;position:absolute}.main-controls .play-pause-btn{background:none;border:none;color:#fff;line-height:0;top:34%}.main-controls .play-pause-btn.playing{cursor:pointer;left:50%;position:absolute;top:40%;transform:translate(-50%,-50%)}.main-controls .play-pause-btn.playing span{color:#fff;text-shadow:0 0 6px rgba(47,47,47,.36)}.main-controls .play-pause-btn:focus{outline:none}.main-controls .play-pause-btn .material-icons{font-size:40px}.main-controls .play-pause-btn .mat-icon{height:auto;width:auto}.main-controls .half-opacity{opacity:.2}.main-controls .no-opacity{background-color:transparent}button.transparent-btn{background:transparent;border:0!important}.pause_btn{height:100%;opacity:.02!important;width:100%}.pause_btn:hover{background-color:rgba(0,0,0,.7411764705882353);opacity:1!important}.hide-pause-btn{opacity:0!important}.no-photo{align-items:center;display:flex;font-size:14px;height:35px;justify-content:center;width:35px}.overlymask-video{background-image:linear-gradient(hsla(0,0%,100%,.058823529411764705),rgba(0,0,0,.1803921568627451));background-position:0 bottom;height:275px;position:absolute;width:100%;z-index:0}"]}]}],ee.ctorParameters=function(){return[{type:void 0,decorators:[{type:o.Inject,args:[h.DOCUMENT]}]},{type:o.ElementRef},{type:o.ChangeDetectorRef}]},ee.propDecorators={currentUserId:[{type:o.Input}],user:[{type:o.Input}],eventId:[{type:o.Input}],videoObj:[{type:o.Input}],isDev:[{type:o.Input}],type:[{type:o.Input}],video:[{type:o.ViewChild,args:["video"]}],fullscreenvideo:[{type:o.ViewChild,args:["fullscreenvideo"]}],connectWithUser:[{type:o.Output}],scheduleMeeting:[{type:o.Output}]};var te=function(){function e(e,t){this.cdr=e,this.http=t,this.documentName="doc name",this.quillConfig={toolbar:[[{header:"1"},{header:"2"},{font:[]}],[{list:"ordered"},{list:"bullet"}],["bold","italic","underline"],["link"],["clean"]]}}return e.prototype.ngOnInit=function(){var e=this;this.environment=U,setTimeout((function(){e.isDocInEditMode?(console.log("In Edit mode"),e.filldataInForm()):console.log("In save mode")}),2500)},e.prototype.filldataInForm=function(){var e,t;this.documentContent&&(this.documentName=null===(e=this.documentContent)||void 0===e?void 0:e.name,this.editorContent=null===(t=this.documentContent)||void 0===t?void 0:t.content,this.cdr.detectChanges())},e.prototype.saveContent=function(){this.isDocInEditMode,this.saveContent_http().subscribe()},e.prototype.saveContent_http=function(){var e=this;console.log("API call function");var t=this.environment.AGENTS_API+"/ConversationDocuments?conversationId="+this.conversationId+"&botId="+this.botId,n=new i.HttpHeaders({"Content-Type":"application/json",apiKey:"WIz/qAm+EEmfOkFaUA/weA=="}),o={name:this.documentName,content:this.editorContent};return this.http.post(t,o,{headers:n}).pipe(r.switchMap((function(t){return e.cdr.markForCheck(),s.of(t)})),r.catchError((function(e){return console.error("Error fetching chatbot config: ",e),s.of(null)})))},e.prototype.updateContent_http=function(){var e=this;console.log("API call function");var t=this.environment.AGENTS_API+"/ConversationDocuments/rename?conversationId="+this.conversationId+"&botId="+this.botId,n=new i.HttpHeaders({"Content-Type":"application/json",apiKey:"WIz/qAm+EEmfOkFaUA/weA=="}),o={name:this.documentName,content:this.editorContent};return this.http.put(t,o,{headers:n}).pipe(r.switchMap((function(t){return e.cdr.markForCheck(),s.of(t)})),r.catchError((function(e){return console.error("Error fetching chatbot config: ",e),s.of(null)})))},e}();te.decorators=[{type:o.Component,args:[{selector:"lib-bot-html-editor",template:'<div style="padding: 12px">\n <div style="margin-top: 42px" class="form-group">\n <input [(ngModel)]="documentName" class="form-control" type="text" />\n <button (click)="saveContent()" class="save-btn">Save</button>\n </div>\n\n <quill-editor\n [(ngModel)]="editorContent"\n [modules]="quillConfig"\n ></quill-editor>\n</div>\n',styles:[".save-btn{background-color:#f0f0f0;border:none;color:#333;margin-top:22px;position:absolute;right:16px;width:56px}"]}]}],te.ctorParameters=function(){return[{type:o.ChangeDetectorRef},{type:i.HttpClient}]},te.propDecorators={editorContent:[{type:o.Input}],isDocInEditMode:[{type:o.Input}],documentContent:[{type:o.Input}],conversationId:[{type:o.Input}],botId:[{type:o.Input}]};var ne=function(){};ne.decorators=[{type:o.NgModule,args:[{declarations:[J,Y,ee,Q,te],imports:[h.CommonModule,t.OverlayModule,g.MatIconModule,m.MatSidenavModule,l.FormsModule,l.ReactiveFormsModule,f.QuillModule,X],exports:[J,Y,ee]}]}],e.AudioAnalyzerService=N,e.ChatBotComponent=J,e.ChatDrawerComponent=Y,e.HiveGptModule=ne,e.VOICE_MODAL_CLOSE_CALLBACK=Z,e.VOICE_MODAL_CONFIG=G,e.VoiceAgentModalComponent=$,e.VoiceAgentModule=X,e.VoiceAgentService=K,e["ɵa"]=V,e["ɵb"]=R,e["ɵc"]=P,e["ɵd"]=O,e["ɵe"]=L,e["ɵf"]=W,e["ɵg"]=H,e["ɵh"]=ee,e["ɵi"]=Q,e["ɵj"]=te,Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=hivegpt-hiveai-angular.umd.min.js.map