@hivegpt/hiveai-angular 0.0.292 → 0.0.294

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,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common/http'), require('@angular/core'), require('@angular/platform-browser'), require('rxjs'), require('rxjs/operators'), require('ngx-socket-io'), require('@angular/common'), require('@angular/forms'), require('@angular/material/icon'), require('@angular/material/sidenav'), require('ngx-quill')) :
3
- typeof define === 'function' && define.amd ? define('@hivegpt/hiveai-angular', ['exports', '@angular/common/http', '@angular/core', '@angular/platform-browser', 'rxjs', 'rxjs/operators', 'ngx-socket-io', '@angular/common', '@angular/forms', '@angular/material/icon', '@angular/material/sidenav', 'ngx-quill'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.hivegpt = global.hivegpt || {}, global.hivegpt['hiveai-angular'] = {}), global.ng.common.http, global.ng.core, global.ng.platformBrowser, global.rxjs, global.rxjs.operators, global.ngxSocketIo, global.ng.common, global.ng.forms, global.ng.material.icon, global.ng.material.sidenav, global.ngxQuill));
5
- }(this, (function (exports, http, i0, platformBrowser, rxjs, operators, ngxSocketIo, common, forms, icon, sidenav, ngxQuill) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, 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('@angular/common'), require('@angular/material/icon'), require('@angular/material/sidenav'), require('ngx-quill')) :
3
+ typeof define === 'function' && define.amd ? define('@hivegpt/hiveai-angular', ['exports', '@angular/common/http', '@angular/core', '@angular/platform-browser', 'rxjs', 'rxjs/operators', 'ngx-socket-io', '@angular/forms', 'microsoft-cognitiveservices-speech-sdk', '@angular/common', '@angular/material/icon', '@angular/material/sidenav', 'ngx-quill'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.hivegpt = global.hivegpt || {}, global.hivegpt['hiveai-angular'] = {}), global.ng.common.http, global.ng.core, global.ng.platformBrowser, global.rxjs, global.rxjs.operators, global.ngxSocketIo, global.ng.forms, global.SpeechSDK, global.ng.common, global.ng.material.icon, global.ng.material.sidenav, global.ngxQuill));
5
+ }(this, (function (exports, i1, i0, platformBrowser, rxjs, operators, ngxSocketIo, forms, SpeechSDK, common, icon, sidenav, ngxQuill) { 'use strict';
6
6
 
7
7
  /******************************************************************************
8
8
  Copyright (c) Microsoft Corporation.
@@ -526,24 +526,19 @@
526
526
  ConversationService.prototype.generateKey = function () {
527
527
  var timestamp = Math.floor(new Date().getTime() / 1000).toString(16);
528
528
  var randomHex = 'xxxxxxxxxxxxxxxx'.replace(/[x]/g, function () {
529
- return (Math.floor(Math.random() * 16)).toString(16);
529
+ return Math.floor(Math.random() * 16).toString(16);
530
530
  });
531
531
  return timestamp + randomHex;
532
532
  };
533
533
  ConversationService.prototype.getKey = function (botId, resetKey) {
534
534
  if (resetKey === void 0) { resetKey = false; }
535
- if (botId) {
536
- var storageKey = "conversationKey_" + botId;
537
- var value = localStorage.getItem(storageKey);
538
- if (!value || resetKey) {
539
- value = this.generateKey();
540
- localStorage.setItem(storageKey, value);
541
- }
542
- return value;
543
- }
544
- else {
545
- return '';
535
+ var storageKey = "conversationKey_" + botId;
536
+ var value = localStorage.getItem(storageKey);
537
+ if (!value || resetKey) {
538
+ value = this.generateKey();
539
+ localStorage.setItem(storageKey, value);
546
540
  }
541
+ return value;
547
542
  };
548
543
  ConversationService.prototype.sendValidatedUserData = function (message) {
549
544
  //console.log('lgging messages', message, new Date());\
@@ -557,7 +552,7 @@
557
552
  ConversationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ConversationService_Factory() { return new ConversationService(); }, token: ConversationService, providedIn: "root" });
558
553
  ConversationService.decorators = [
559
554
  { type: i0.Injectable, args: [{
560
- providedIn: 'root'
555
+ providedIn: 'root',
561
556
  },] }
562
557
  ];
563
558
  ConversationService.ctorParameters = function () { return []; };
@@ -624,14 +619,16 @@
624
619
  SocketService.prototype.connectSocketConnection = function () {
625
620
  this.notificationSocket.connect();
626
621
  };
627
- SocketService.prototype.registerUserSpecificHiveSocket = function (botId, conversation_id) {
622
+ SocketService.prototype.registerUserSpecificHiveSocket = function (botId, conversation_id, org_id) {
628
623
  var _this = this;
629
624
  var commonNotification = 'commonNotification';
630
625
  var groupId = "Hive_AI_Notifs_" + botId + "_" + conversation_id;
626
+ var groupId_org = "Hive_AI_Notifs_" + org_id;
631
627
  // Remove any pre-existing listeners for commonNotification
632
628
  // this.notificationSocket.removeAllListeners(commonNotification);
633
629
  // Join the group again with updated botId and conversation_id
634
630
  this.notificationSocket.emit('joinData', { groupId: groupId });
631
+ this.notificationSocket.emit('joinData', { groupId: groupId_org });
635
632
  // Re-register for common notifications
636
633
  this.notificationSocket.fromEvent(commonNotification).subscribe(function (res) {
637
634
  console.log('Received commonNotification:', res);
@@ -667,10 +664,50 @@
667
664
  { type: NotificationSocket }
668
665
  ]; };
669
666
 
667
+ var BotsService = /** @class */ (function () {
668
+ function BotsService(http) {
669
+ this.http = http;
670
+ this.eventDescription = new rxjs.Subject();
671
+ this.bot_api = 'https://agent-api.hivegpt.ai/';
672
+ }
673
+ BotsService.prototype.fetchSpeechAuthorizationToken = function () {
674
+ var apiUrl = this.bot_api + "speech/issue_token";
675
+ var url = "" + apiUrl;
676
+ return this.http.get(url).pipe(operators.map(function (resp) {
677
+ return resp.token;
678
+ }));
679
+ };
680
+ BotsService.prototype.getWorkflowsByOrgId = function (orgId) {
681
+ var apiUrl = this.bot_api + "workflows";
682
+ var url = apiUrl + "?org_id=" + orgId;
683
+ return this.http.get(url).pipe(operators.map(function (resp) {
684
+ return resp;
685
+ }));
686
+ };
687
+ BotsService.prototype.getWorkflowExecutionById = function (executionId) {
688
+ var apiUrl = this.bot_api + "workflows/execution/" + executionId;
689
+ return this.http.get(apiUrl).pipe(operators.map(function (resp) {
690
+ return resp;
691
+ }));
692
+ };
693
+ return BotsService;
694
+ }());
695
+ BotsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function BotsService_Factory() { return new BotsService(i0.ɵɵinject(i1.HttpClient)); }, token: BotsService, providedIn: "root" });
696
+ BotsService.decorators = [
697
+ { type: i0.Injectable, args: [{
698
+ providedIn: 'root',
699
+ },] }
700
+ ];
701
+ BotsService.ctorParameters = function () { return [
702
+ { type: i1.HttpClient }
703
+ ]; };
704
+
670
705
  var ChatDrawerComponent = /** @class */ (function () {
671
- function ChatDrawerComponent(cdr, http, sanitizer, elementRef, renderer, socketService, conversationService // private platform: Platform
706
+ function ChatDrawerComponent(fb, botService, cdr, http, sanitizer, elementRef, renderer, socketService, conversationService // private platform: Platform
672
707
  ) {
673
708
  var _this = this;
709
+ this.fb = fb;
710
+ this.botService = botService;
674
711
  this.cdr = cdr;
675
712
  this.http = http;
676
713
  this.sanitizer = sanitizer;
@@ -711,6 +748,11 @@
711
748
  this.showFeedBackIconsIndex = null;
712
749
  this.temperature = 1;
713
750
  this.speakers = [];
751
+ this.currentWorkflowActionProgress = 0;
752
+ this.currentWorkflowAction = '';
753
+ this.recognizedText = '';
754
+ this.authorizationToken = '';
755
+ this.region = 'westeurope'; // Set your Azure region here
714
756
  this.isChatingWithAi = false;
715
757
  this.readAllChunks = function (stream) {
716
758
  var reader = stream.getReader();
@@ -768,6 +810,7 @@
768
810
  // ]
769
811
  this.dateTime = { now: new Date().toISOString() };
770
812
  this.currentSourcesList = [];
813
+ this.isShowEditorButton = true;
771
814
  this.isDrawerOpen = true;
772
815
  this.chatMain = new i0.ElementRef(null);
773
816
  // if (this.platform.IOS) {
@@ -775,11 +818,9 @@
775
818
  // }
776
819
  }
777
820
  ChatDrawerComponent.prototype.ngOnChanges = function (changes) {
778
- console.log('ng on changes');
821
+ var _this = this;
779
822
  if (changes.s27Token) {
780
- console.log('s27Token changed:', changes.s27Token);
781
823
  if (changes.s27Token.currentValue != changes.s27Token.previousValue) {
782
- console.log('s27Token changed previous:', changes.s27Token.previousValue, ' current:', changes.s27Token.currentValue);
783
824
  this.s27Token = changes.s27Token.currentValue;
784
825
  console.log('isFetchDataFor: ', this.isFetchDataFor);
785
826
  console.log('msg: ', this.msg);
@@ -794,6 +835,15 @@
794
835
  }
795
836
  }
796
837
  }
838
+ if (changes.orgId) {
839
+ if (changes.orgId.currentValue != changes.orgId.previousValue &&
840
+ changes.orgId.currentValue) {
841
+ this.initializeSocket();
842
+ this.botService.getWorkflowsByOrgId(this.orgId).subscribe(function (res) {
843
+ _this.orgWorkflows = res;
844
+ });
845
+ }
846
+ }
797
847
  };
798
848
  ChatDrawerComponent.prototype.ngOnInit = function () {
799
849
  var _this = this;
@@ -816,7 +866,11 @@
816
866
  this.fetchAgents();
817
867
  this.fetchEditorContent();
818
868
  this.cdr.markForCheck();
819
- this.initializeSocket();
869
+ // this.initializeSocket();
870
+ this.botService.fetchSpeechAuthorizationToken().subscribe(function (token) {
871
+ _this.authorizationToken = token;
872
+ _this.initializeSpeechRecognizer(token);
873
+ });
820
874
  };
821
875
  ChatDrawerComponent.prototype.initializeSocket = function () {
822
876
  var _this = this;
@@ -829,7 +883,7 @@
829
883
  setTimeout(function () {
830
884
  console.log('YES INIT');
831
885
  var conversation_id = _this.conversationService.getKey(_this.botId);
832
- _this.socketService.registerUserSpecificHiveSocket(_this.botId, conversation_id);
886
+ _this.socketService.registerUserSpecificHiveSocket(_this.botId, conversation_id, _this.orgId);
833
887
  setTimeout(function () {
834
888
  _this.listenSockets();
835
889
  }, 300);
@@ -845,14 +899,34 @@
845
899
  this.eventSubscription = this.conversationService
846
900
  .getUserSpecificNotification()
847
901
  .subscribe(function (res) {
848
- var _a, _b, _c;
902
+ var _a, _b, _c, _d, _e, _f;
849
903
  console.log('Listen Socket response');
850
904
  console.log(res);
851
905
  // Check if OtherFields exists in the response
852
- if ((_a = res === null || res === void 0 ? void 0 : res.m) === null || _a === void 0 ? void 0 : _a.OtherFields) {
853
- var _e = (_b = res === null || res === void 0 ? void 0 : res.m) === null || _b === void 0 ? void 0 : _b.OtherFields, conversation_id = _e.conversation_id, bot_id = _e.bot_id, message_id_1 = _e.message_id, answer = _e.answer, web_results = _e.web_results, graphs = _e.graphs, execution_graphs = _e.execution_graphs, online_search_terms = _e.online_search_terms, suggestions = _e.suggestions;
906
+ if ((_b = (_a = res === null || res === void 0 ? void 0 : res.m) === null || _a === void 0 ? void 0 : _a.OtherFields) === null || _b === void 0 ? void 0 : _b.workflow_id) {
907
+ var _g = (_c = res === null || res === void 0 ? void 0 : res.m) === null || _c === void 0 ? void 0 : _c.OtherFields, percentage = _g.percentage, output = _g.output, action_name = _g.action_name, current_action_name_1 = _g.current_action_name, workflow_execution_id = _g.workflow_execution_id, time_stamp = _g.time_stamp;
908
+ _this.currentWorkflowActionProgress = percentage;
909
+ _this.currentWorkflowAction = action_name;
910
+ var actionIndex = _this.workflowExecutionDetails.Actions.findIndex(function (a) { return a.Name == current_action_name_1; });
911
+ if (actionIndex !== -1) {
912
+ _this.workflowExecutionDetails.Actions[actionIndex]['Output'] = output;
913
+ _this.workflowExecutionDetails.Actions[actionIndex]['InsertTimeStamp'] = formatTimeStamps(_this.timezone, time_stamp);
914
+ }
915
+ else {
916
+ console.error("Action with name " + action_name + " not found");
917
+ }
918
+ _this.currentWorkflowExecutionDetails = _this.workflowExecutionDetails;
919
+ if (_this.currentWorkflowActionProgress == 100) {
920
+ _this.chatLog[_this.chatLog.length - 1]['WorkflowExecutionId'] = workflow_execution_id;
921
+ _this.isChatingWithAi = false;
922
+ _this.executingWorkflow = false;
923
+ }
924
+ _this.cdr.detectChanges();
925
+ }
926
+ else if ((_d = res === null || res === void 0 ? void 0 : res.m) === null || _d === void 0 ? void 0 : _d.OtherFields) {
927
+ var _h = (_e = res === null || res === void 0 ? void 0 : res.m) === null || _e === void 0 ? void 0 : _e.OtherFields, conversation_id = _h.conversation_id, bot_id = _h.bot_id, message_id_1 = _h.message_id, answer = _h.answer, web_results = _h.web_results, search_results = _h.search_results, graphs = _h.graphs, execution_graphs = _h.execution_graphs, suggestions = _h.suggestions;
854
928
  console.log('message_id1');
855
- console.log((_c = res === null || res === void 0 ? void 0 : res.m) === null || _c === void 0 ? void 0 : _c.OtherFields);
929
+ console.log((_f = res === null || res === void 0 ? void 0 : res.m) === null || _f === void 0 ? void 0 : _f.OtherFields);
856
930
  var currentChatMessage = _this.chatLog.find(function (p) { return p._id == message_id_1; });
857
931
  console.log(_this.chatLog);
858
932
  if (!currentChatMessage) {
@@ -870,9 +944,9 @@
870
944
  _this.cdr.detectChanges();
871
945
  }
872
946
  // Handle the fields based on their presence
873
- if (online_search_terms && Array.isArray(online_search_terms)) {
874
- console.log('Online Search Terms:', online_search_terms);
875
- currentChatMessage.searchTerms = online_search_terms;
947
+ if (search_results && Array.isArray(search_results)) {
948
+ console.log('Online Search Terms:', search_results);
949
+ currentChatMessage.searchTerms = search_results;
876
950
  _this.cdr.detectChanges();
877
951
  }
878
952
  if (web_results && Array.isArray(web_results)) {
@@ -885,8 +959,7 @@
885
959
  if (answer) {
886
960
  _this.isChatingWithAi = false;
887
961
  console.log('Answer:', answer);
888
- currentChatMessage.message =
889
- _this.processMessageForDisplay(answer);
962
+ currentChatMessage.message = _this.processMessageForDisplay(answer);
890
963
  _this.cdr.detectChanges();
891
964
  _this.scrollToBottom();
892
965
  }
@@ -964,14 +1037,13 @@
964
1037
  this.chatLog = [];
965
1038
  this.chatLog.push({
966
1039
  type: 'ai',
967
- message: this.greetingMsg ||
968
- this.processMessage("Greetings! I'm your COP28 virtual assistant. Have questions about the event? I'm here to help."),
1040
+ message: this.greetingMsg,
969
1041
  time: formatNow(this.timezone),
970
1042
  });
971
1043
  this.archieveMessages().subscribe();
972
1044
  };
973
1045
  ChatDrawerComponent.prototype.archieveMessages = function () {
974
- var headers = new http.HttpHeaders({
1046
+ var headers = new i1.HttpHeaders({
975
1047
  'Content-Type': 'application/json',
976
1048
  'x-api-key': this.apiKey,
977
1049
  });
@@ -1009,16 +1081,13 @@
1009
1081
  ChatDrawerComponent.prototype.fetchChatHistory = function () {
1010
1082
  this.loading = true;
1011
1083
  this.conversationKey = this.conversationService.getKey(this.botId, false);
1012
- console.log("fetchChatHistory log");
1013
- if (this.conversationKey != '') {
1014
- var url = this.environment.BASE_URL + "/conversations/" + this.conversationKey;
1015
- var headers = new http.HttpHeaders({
1016
- accept: 'application/json',
1017
- });
1018
- return this.http
1019
- .get(url, { headers: headers })
1020
- .pipe(operators.catchError(this.handleError('fetchConversation')));
1021
- }
1084
+ var url = this.environment.BASE_URL + "/conversations/" + this.conversationKey;
1085
+ var headers = new i1.HttpHeaders({
1086
+ accept: 'application/json',
1087
+ });
1088
+ return this.http
1089
+ .get(url, { headers: headers })
1090
+ .pipe(operators.catchError(this.handleError('fetchConversation')));
1022
1091
  };
1023
1092
  ChatDrawerComponent.prototype.handleError = function (operation, result) {
1024
1093
  if (operation === void 0) { operation = 'operation'; }
@@ -1052,8 +1121,7 @@
1052
1121
  var _a;
1053
1122
  this.chatLog.push({
1054
1123
  type: 'ai',
1055
- message: this.greetingMsg ||
1056
- this.processMessage("Greetings! I'm your COP28 virtual assistant. Have questions about the event? I'm here to help."),
1124
+ message: this.greetingMsg,
1057
1125
  time: formatNow(this.timezone),
1058
1126
  });
1059
1127
  if (chats && ((_a = chats === null || chats === void 0 ? void 0 : chats.Messages) === null || _a === void 0 ? void 0 : _a.length)) {
@@ -1065,6 +1133,7 @@
1065
1133
  time: formatTimeStamps(_this.timezone, chat.InsertTimestamp),
1066
1134
  copied: false,
1067
1135
  isCollapsedTrue: false,
1136
+ WorkflowExecutionId: chat.WorkflowExecutionId,
1068
1137
  });
1069
1138
  }
1070
1139
  if (chat.Type == 'ai') {
@@ -1150,7 +1219,6 @@
1150
1219
  this.scrollToBottom();
1151
1220
  };
1152
1221
  ChatDrawerComponent.prototype.fetchData = function (msg) {
1153
- var _this = this;
1154
1222
  if (msg === void 0) { msg = null; }
1155
1223
  var _a;
1156
1224
  this.input = msg || ((_a = this.input) === null || _a === void 0 ? void 0 : _a.trim());
@@ -1174,46 +1242,9 @@
1174
1242
  this.cdr.markForCheck();
1175
1243
  this.aiResponse = '';
1176
1244
  this.isChatingWithAi = true;
1177
- var url = this.environment.BASE_URL + "/ai/ask"; // +
1178
- // (this.useOpenAi === false ? '/llm-hf' : '');
1179
- fetch(url, {
1180
- method: 'POST',
1181
- headers: {
1182
- 'Content-Type': 'application/json',
1183
- Authorization: 'Bearer ' + this.s27Token,
1184
- 'x-api-key': this.apiKey,
1185
- },
1186
- body: JSON.stringify({
1187
- user_question: this.input,
1188
- user_id: this.userId,
1189
- bot_id: this.botId,
1190
- message_id: this.conversationService.generateKey(),
1191
- agents: this.agents.filter(function (p) { return p.selected; }).map(function (p) { return p.id; }),
1192
- conversation_id: this.conversationKey,
1193
- }),
1194
- })
1195
- .then(function (response) {
1196
- if (response.status === 401 || response.status === 403) {
1197
- _this.is401 = true;
1198
- _this.refreshToken.emit();
1199
- }
1200
- else {
1201
- _this.is401 = false;
1202
- }
1203
- return response.json(); // Continue processing the response
1204
- })
1205
- .then(function (data) {
1206
- // Handle the response data
1207
- console.log(data);
1208
- })
1209
- .catch(function (err) {
1210
- console.error('Error: ', err);
1211
- _this.isChatingWithAi = false;
1212
- });
1213
- this.input = '';
1245
+ this.makeAskRequest(this.input, this.agents, this.conversationKey);
1214
1246
  };
1215
1247
  ChatDrawerComponent.prototype.fetchDataFor = function (msg, chat) {
1216
- var _this = this;
1217
1248
  var inputMsg = msg === null || msg === void 0 ? void 0 : msg.trim();
1218
1249
  if (!inputMsg || this.loading) {
1219
1250
  return;
@@ -1234,46 +1265,7 @@
1234
1265
  this.cdr.markForCheck();
1235
1266
  this.aiResponse = '';
1236
1267
  this.isChatingWithAi = true;
1237
- var url = this.environment.BASE_URL + "/ai/ask"; // +
1238
- // (this.useOpenAi === false ? '/llm-hf' : '');
1239
- fetch(url, {
1240
- method: 'POST',
1241
- headers: {
1242
- 'Content-Type': 'application/json',
1243
- Authorization: 'Bearer ' + this.s27Token,
1244
- 'x-api-key': this.apiKey,
1245
- },
1246
- body: JSON.stringify({
1247
- user_question: inputMsg,
1248
- user_id: this.userId,
1249
- bot_id: this.botId,
1250
- message_id: this.conversationService.generateKey(),
1251
- agents: this.agents.filter(function (p) { return p.selected; }).map(function (p) { return p.id; }),
1252
- conversation_id: this.conversationKey,
1253
- }),
1254
- })
1255
- .then(function (response) {
1256
- if (response.status === 401 || response.status === 403) {
1257
- _this.msg = msg;
1258
- _this.chat = chat;
1259
- _this.is401 = true;
1260
- _this.isFetchDataFor = true;
1261
- _this.refreshToken.emit();
1262
- }
1263
- else {
1264
- _this.is401 = false;
1265
- }
1266
- return response.json(); // Continue processing the response
1267
- })
1268
- .then(function (data) {
1269
- // Handle the response data
1270
- console.log(data);
1271
- })
1272
- .catch(function (err) {
1273
- console.error('Error: ', err);
1274
- _this.isChatingWithAi = false;
1275
- });
1276
- this.input = '';
1268
+ this.makeAskRequest(inputMsg, this.agents, this.conversationKey, msg, chat);
1277
1269
  };
1278
1270
  ChatDrawerComponent.prototype.fetchSmallTalk = function () {
1279
1271
  var _this = this;
@@ -1311,8 +1303,8 @@
1311
1303
  };
1312
1304
  ChatDrawerComponent.prototype.pump = function (controller, reader, allSuggestions) {
1313
1305
  var _this = this;
1314
- reader.read().then(function (_e) {
1315
- var done = _e.done, value = _e.value;
1306
+ reader.read().then(function (_g) {
1307
+ var done = _g.done, value = _g.value;
1316
1308
  var _a, _b, _c, _d;
1317
1309
  var lastItem = _this.chatLog[_this.chatLog.length - 1];
1318
1310
  if (done) {
@@ -1480,7 +1472,15 @@
1480
1472
  _this.showFeedBackIconsIndex = null;
1481
1473
  });
1482
1474
  };
1483
- ChatDrawerComponent.prototype.handleSubmit = function () {
1475
+ ChatDrawerComponent.prototype.handleKeydown = function (event) {
1476
+ if (event.key === 'Enter' && !event.shiftKey) {
1477
+ // Prevent default behavior (new line)
1478
+ event.preventDefault();
1479
+ // Call your submit function
1480
+ this.handleSubmit(event);
1481
+ }
1482
+ };
1483
+ ChatDrawerComponent.prototype.handleSubmit = function (event) {
1484
1484
  this.fetchData();
1485
1485
  this.scrollToBottom();
1486
1486
  };
@@ -1607,8 +1607,7 @@
1607
1607
  var _this = this;
1608
1608
  var counter = 0;
1609
1609
  var interval = setInterval(function () {
1610
- _this.chatMain.nativeElement.scrollTop =
1611
- _this.chatMain.nativeElement.scrollHeight;
1610
+ _this.chatMain.nativeElement.scrollTop = _this.chatMain.nativeElement.scrollHeight;
1612
1611
  if (counter++ > 5)
1613
1612
  clearInterval(interval);
1614
1613
  }, 5);
@@ -1727,7 +1726,7 @@
1727
1726
  };
1728
1727
  ChatDrawerComponent.prototype.fetchPendingRequests = function () {
1729
1728
  var _this = this;
1730
- var headers = new http.HttpHeaders({
1729
+ var headers = new i1.HttpHeaders({
1731
1730
  'Content-Type': 'application/json',
1732
1731
  apiKey: this.autogenKey,
1733
1732
  });
@@ -1744,7 +1743,7 @@
1744
1743
  };
1745
1744
  ChatDrawerComponent.prototype.fetchMyConnections = function () {
1746
1745
  var _this = this;
1747
- var headers = new http.HttpHeaders({
1746
+ var headers = new i1.HttpHeaders({
1748
1747
  'Content-Type': 'application/json',
1749
1748
  apiKey: this.autogenKey,
1750
1749
  });
@@ -1798,7 +1797,7 @@
1798
1797
  var _this = this;
1799
1798
  this.loading = true;
1800
1799
  var url = this.environment.AGENTS_API + "/CoPilot/" + this.botId + "/active-agents";
1801
- var headers = new http.HttpHeaders({
1800
+ var headers = new i1.HttpHeaders({
1802
1801
  'Content-Type': 'application/json',
1803
1802
  });
1804
1803
  return this.http.post(url, {}, { headers: headers }).pipe(operators.switchMap(function (res) {
@@ -1821,7 +1820,7 @@
1821
1820
  var conversation_id = this.conversationService.getKey(this.botId);
1822
1821
  this.conversationId = conversation_id;
1823
1822
  var url = this.environment.AGENTS_API + "/ConversationDocuments?conversationId=" + conversation_id + "&botId=" + this.botId;
1824
- var headers = new http.HttpHeaders({
1823
+ var headers = new i1.HttpHeaders({
1825
1824
  'Content-Type': 'application/json',
1826
1825
  apiKey: 'WIz/qAm+EEmfOkFaUA/weA==',
1827
1826
  });
@@ -1855,30 +1854,67 @@
1855
1854
  };
1856
1855
  // events/${eventId}/users-connections
1857
1856
  ChatDrawerComponent.prototype.processMessageForDisplay = function (markdown) {
1857
+ var html = this.prepareHtml(markdown);
1858
+ // console.log('After line breaks conversion:', html);
1859
+ // Optional: Sanitize the HTML to prevent XSS
1860
+ var sanitizedHtml = this.sanitizeHtml(html);
1861
+ // console.log('Sanitized HTML:', sanitizedHtml);
1862
+ return sanitizedHtml;
1863
+ };
1864
+ ChatDrawerComponent.prototype.prepareHtml = function (markdown) {
1865
+ var _this = this;
1858
1866
  if (!markdown || !(markdown.length > 0)) {
1859
1867
  console.error('Input Markdown is null or empty');
1860
1868
  return '';
1861
1869
  }
1862
- //console.log('Markdown input:', markdown);
1863
- // Convert Markdown headers to HTML headers
1870
+ // Convert Markdown headers (### or ##) to <strong> for bold headings
1864
1871
  var html = markdown.replace(/^(#{1,6})\s+(.*)$/gm, function (match, hashes, text) {
1865
1872
  var level = hashes.length;
1866
- return "<h" + level + ">" + text + "</h" + level + ">";
1873
+ if (level === 3) {
1874
+ return "<h3><strong>" + text + "</strong></h3>";
1875
+ }
1876
+ else if (level === 4) {
1877
+ return "<h4><strong>" + text + "</strong></h4>";
1878
+ }
1879
+ return "<strong>" + text + "</strong>";
1880
+ });
1881
+ // Convert Markdown code blocks with language to preformatted HTML
1882
+ html = html.replace(/```(\w+)?\n([\s\S]*?)```/g, function (match, lang, code) {
1883
+ var escapedCode = _this.escapeHtml(code);
1884
+ var language = lang || 'plaintext';
1885
+ // Create a copy button for the code block
1886
+ return "\n <div class=\"code-container\">\n <button id=\"copy-button\" class=\"copy-button\" (click)=\"copyToClipboard('`" + escapedCode + "`')\">Copy</button>\n <pre class=\"code_block diff\"><code class=\"language-" + language + "\">" + escapedCode + "</code></pre>\n </div>";
1867
1887
  });
1868
- // console.log('After header conversion:', html);
1888
+ // Convert inline code (wrapped in `backticks`) to inline <code> tags
1889
+ html = html.replace(/`([^`]+)`/g, '<code>$1</code>');
1890
+ // Convert Markdown bold to HTML <strong>
1891
+ html = html.replace(/\*\*(.*?)\*\*/g, '<strong>$1</strong>');
1892
+ // Convert numbered lists
1893
+ html = html.replace(/^\d+\.\s+(.*)$/gm, '<li>$1</li>');
1894
+ // Convert bullet point lists
1895
+ html = html.replace(/^\-\s+(.*)$/gm, '<li>$1</li>');
1869
1896
  // Convert Markdown links to HTML links
1870
1897
  html = html.replace(/\[([^\]]+)]\(([^)]+)\)/g, '<a href="$2" target="_blank">$1</a>');
1871
- // console.log('After link conversion:', html);
1872
- // Convert Markdown bold to HTML strong
1873
- html = html.replace(/\*\*(.*?)\*\*/g, '<strong>$1</strong>');
1874
- //console.log('After bold conversion:', html);
1875
- // Convert new lines to <br> tags
1898
+ // Convert new lines to <br> tags for paragraphs
1876
1899
  html = html.replace(/(?:\r\n|\r|\n)/g, '<br>');
1877
- // console.log('After line breaks conversion:', html);
1878
- // Optional: Sanitize the HTML to prevent XSS
1879
- var sanitizedHtml = this.sanitizeHtml(html);
1880
- // console.log('Sanitized HTML:', sanitizedHtml);
1881
- return sanitizedHtml;
1900
+ return html;
1901
+ };
1902
+ // Helper function to escape HTML characters for code blocks
1903
+ ChatDrawerComponent.prototype.escapeHtml = function (code) {
1904
+ return code
1905
+ .replace(/&/g, '&amp;')
1906
+ .replace(/</g, '&lt;')
1907
+ .replace(/>/g, '&gt;')
1908
+ .replace(/"/g, '&quot;')
1909
+ .replace(/'/g, '&#039;');
1910
+ };
1911
+ // Function to copy text to clipboard
1912
+ ChatDrawerComponent.prototype.copyToClipboard = function (text) {
1913
+ navigator.clipboard.writeText(text).then(function () {
1914
+ alert('Code copied to clipboard!');
1915
+ }, function (err) {
1916
+ console.error('Could not copy text: ', err);
1917
+ });
1882
1918
  };
1883
1919
  ChatDrawerComponent.prototype.toggleCollapse = function () {
1884
1920
  this.isCollapsed = !this.isCollapsed;
@@ -1920,6 +1956,7 @@
1920
1956
  this.fetchEditorContent();
1921
1957
  this.editorsDrawer.open();
1922
1958
  this.isDrawerOpen = true;
1959
+ this.isShowEditorButton = false;
1923
1960
  this.cdr.detectChanges();
1924
1961
  var button = document.getElementById('botcloseplaygroundbutton');
1925
1962
  if (button) {
@@ -1929,6 +1966,7 @@
1929
1966
  ChatDrawerComponent.prototype.onCloseEditor = function () {
1930
1967
  this.editorsDrawer.close();
1931
1968
  this.isDrawerOpen = false;
1969
+ this.isShowEditorButton = true;
1932
1970
  this.cdr.detectChanges(); // Trigger change detection if needed
1933
1971
  this.onDrawerClosed();
1934
1972
  };
@@ -1965,6 +2003,14 @@
1965
2003
  window.open(link, '_blank');
1966
2004
  };
1967
2005
  ChatDrawerComponent.prototype.adjustTextareaHeight = function (event) {
2006
+ try {
2007
+ if (event.key === 'Enter' && !event.shiftKey) {
2008
+ // Prevents a new line from being added
2009
+ event.preventDefault();
2010
+ }
2011
+ }
2012
+ catch (error) {
2013
+ }
1968
2014
  var textarea = event.target;
1969
2015
  textarea.style.height = 'auto'; // Reset the height
1970
2016
  textarea.style.height = textarea.scrollHeight + "px"; // Adjust height to match content
@@ -1977,19 +2023,254 @@
1977
2023
  textarea.style.overflowY = 'hidden'; // Hide scrollbar if content is within limits
1978
2024
  }
1979
2025
  };
2026
+ ChatDrawerComponent.prototype.toggleWorkflows = function (value) {
2027
+ if (value === void 0) { value = null; }
2028
+ this.isWorkflowOpen = value == null ? !this.isWorkflowOpen : value;
2029
+ if (!this.isWorkflowOpen) {
2030
+ this.selectedWorkflow = null;
2031
+ this.openWorkflowInput = false;
2032
+ }
2033
+ this.cdr.detectChanges();
2034
+ };
2035
+ ChatDrawerComponent.prototype.initializeForm = function () {
2036
+ var _a, _b;
2037
+ // Create form controls dynamically based on selectedWorkflow.Trigger.InputSchema
2038
+ var formControls = {};
2039
+ if ((_b = (_a = this.selectedWorkflow) === null || _a === void 0 ? void 0 : _a.Trigger) === null || _b === void 0 ? void 0 : _b.InputSchema) {
2040
+ this.selectedWorkflow.Trigger.InputSchema.forEach(function (input) {
2041
+ formControls[input.InputId] = [
2042
+ input.Value || '',
2043
+ input.Required ? forms.Validators.required : null,
2044
+ ];
2045
+ });
2046
+ }
2047
+ // Initialize the form
2048
+ this.workflowForm = this.fb.group(formControls);
2049
+ };
2050
+ ChatDrawerComponent.prototype.onWorkflowSelected = function (workflow) {
2051
+ this.selectedWorkflow = workflow;
2052
+ this.initializeForm();
2053
+ this.isWorkflowOpen = false;
2054
+ this.openWorkflowInput = true;
2055
+ };
2056
+ ChatDrawerComponent.prototype.onWorkflowSubmit = function () {
2057
+ var container = document.getElementById('allChats');
2058
+ if (this.workflowForm.valid) {
2059
+ console.log(this.workflowForm.value);
2060
+ var input = this.prepareHtml(this.generateMarkdown(this.selectedWorkflow.Name, this.workflowForm.value));
2061
+ // update last two chatLog entries, set showWorkflowExecutionLoader = false
2062
+ try {
2063
+ this.chatLog[this.chatLog.length - 1]['showWorkflowExecutionLoader'] = false;
2064
+ this.chatLog[this.chatLog.length - 2]['showWorkflowExecutionLoader'] = false;
2065
+ }
2066
+ catch (error) { }
2067
+ this.chatLog.push({
2068
+ type: 'user',
2069
+ message: input,
2070
+ time: formatNow(this.timezone),
2071
+ copied: false,
2072
+ isCollapsedTrue: false,
2073
+ showWorkflowExecutionLoader: true,
2074
+ });
2075
+ console.log(input);
2076
+ this.currentWorkflowActionProgress = 0;
2077
+ this.currentWorkflowAction =
2078
+ 'Executing ' + this.selectedWorkflow.Actions[0].Name;
2079
+ this.isChatingWithAi = true;
2080
+ this.executingWorkflow = true;
2081
+ this.workflowExecutionDetails = {
2082
+ Actions: this.selectedWorkflow.Actions,
2083
+ Inputs: this.workflowForm.value,
2084
+ workflowInputs: this.workflowForm.value,
2085
+ WorkflowName: this.selectedWorkflow.Name,
2086
+ };
2087
+ this.currentWorkflowExecutionDetails = this.workflowExecutionDetails;
2088
+ this.scrollToBottom();
2089
+ this.cdr.detectChanges();
2090
+ // execute the ask endpoint with workflow input
2091
+ this.makeAskRequest(input, this.agents, this.conversationKey, '', null, this.selectedWorkflow['_id'], this.workflowForm.value);
2092
+ }
2093
+ };
2094
+ ChatDrawerComponent.prototype.makeAskRequest = function (inputMsg, agents, conversationId, msg, chat, workflowId, workflow_inputs) {
2095
+ var _this = this;
2096
+ var url = this.environment.BASE_URL + "/ai/ask";
2097
+ var body = {
2098
+ user_question: inputMsg,
2099
+ user_id: this.userId,
2100
+ bot_id: this.botId,
2101
+ message_id: this.conversationService.generateKey(),
2102
+ agents: agents.filter(function (p) { return p.selected; }).map(function (p) { return p.id; }),
2103
+ conversation_id: conversationId,
2104
+ };
2105
+ if (workflowId) {
2106
+ body['workflow_id'] = workflowId;
2107
+ body['workflow_inputs'] = workflow_inputs;
2108
+ }
2109
+ fetch(url, {
2110
+ method: 'POST',
2111
+ headers: {
2112
+ 'Content-Type': 'application/json',
2113
+ Authorization: 'Bearer ' + this.s27Token,
2114
+ 'x-api-key': this.apiKey,
2115
+ },
2116
+ body: JSON.stringify(body),
2117
+ })
2118
+ .then(function (response) {
2119
+ if (response.status === 401 || response.status === 403) {
2120
+ _this.is401 = true;
2121
+ _this.refreshToken.emit();
2122
+ // If `msg` and `chat` exist, handle them
2123
+ if (msg && chat) {
2124
+ _this.msg = msg;
2125
+ _this.chat = chat;
2126
+ _this.isFetchDataFor = true;
2127
+ }
2128
+ }
2129
+ else {
2130
+ _this.is401 = false;
2131
+ }
2132
+ return response.json();
2133
+ })
2134
+ .then(function (data) {
2135
+ console.log(data);
2136
+ // Additional response handling if needed
2137
+ })
2138
+ .catch(function (err) {
2139
+ console.error('Error: ', err);
2140
+ _this.isChatingWithAi = false;
2141
+ });
2142
+ this.input = '';
2143
+ this.selectedWorkflow = null;
2144
+ this.openWorkflowInput = false;
2145
+ this.isWorkflowOpen = false;
2146
+ this.scrollToBottom();
2147
+ this.cdr.markForCheck();
2148
+ };
2149
+ ChatDrawerComponent.prototype.generateMarkdown = function (title, obj) {
2150
+ var e_1, _g;
2151
+ var _a;
2152
+ // Initialize markdown with the title
2153
+ var markdown = "## " + title + "\n";
2154
+ var _loop_1 = function (key, value) {
2155
+ key_label = ((_a = this_1.selectedWorkflow.Trigger.InputSchema.find(function (input) { return input.InputId === key; })) === null || _a === void 0 ? void 0 : _a.Label) || key;
2156
+ markdown += "- **" + key_label + "**: " + value + "\n";
2157
+ };
2158
+ var this_1 = this, key_label;
2159
+ try {
2160
+ // Loop through the object and append the field names and values
2161
+ for (var _h = __values(Object.entries(obj)), _j = _h.next(); !_j.done; _j = _h.next()) {
2162
+ var _k = __read(_j.value, 2), key = _k[0], value = _k[1];
2163
+ _loop_1(key, value);
2164
+ }
2165
+ }
2166
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
2167
+ finally {
2168
+ try {
2169
+ if (_j && !_j.done && (_g = _h.return)) _g.call(_h);
2170
+ }
2171
+ finally { if (e_1) throw e_1.error; }
2172
+ }
2173
+ return markdown;
2174
+ };
2175
+ ChatDrawerComponent.prototype.showWorkflowHistoryDetails = function (workflow_id) {
2176
+ var _this = this;
2177
+ if (!workflow_id) {
2178
+ this.workflowExecutionDetails = this.currentWorkflowExecutionDetails;
2179
+ this.showWorkflowExecutionDetails = true;
2180
+ this.cdr.detectChanges();
2181
+ return;
2182
+ }
2183
+ this.botService.getWorkflowExecutionById(workflow_id).subscribe(function (res) {
2184
+ if (res && res.Actions && Array.isArray(res.Actions)) {
2185
+ res.Actions = res.Actions.map(function (action) {
2186
+ if (action.InsertTimeStamp) {
2187
+ action.InsertTimeStamp = formatTimeStamps(_this.timezone, action.InsertTimeStamp);
2188
+ }
2189
+ return action;
2190
+ });
2191
+ }
2192
+ res.InsertTimeStamp = formatTimeStamps(_this.timezone, res.InsertTimeStamp);
2193
+ _this.workflowExecutionDetails = res;
2194
+ _this.showWorkflowExecutionDetails = true;
2195
+ _this.cdr.detectChanges();
2196
+ });
2197
+ };
2198
+ ChatDrawerComponent.prototype.closeModal = function () {
2199
+ this.showWorkflowExecutionDetails = false;
2200
+ };
2201
+ ChatDrawerComponent.prototype.objectToArray = function (obj) {
2202
+ return Object.keys(obj).map(function (key) { return ({ key: key, value: obj[key] }); });
2203
+ };
2204
+ ChatDrawerComponent.prototype.startNewConversation = function () {
2205
+ var _this = this;
2206
+ this.conversationKey = this.conversationService.getKey(this.botId, true);
2207
+ this.chatLog = [this.chatLog[0]];
2208
+ this.isChatingWithAi = false;
2209
+ setTimeout(function () {
2210
+ _this.initializeSocket();
2211
+ }, 200);
2212
+ this.scrollToBottom();
2213
+ this.cdr.detectChanges();
2214
+ };
2215
+ ChatDrawerComponent.prototype.initializeSpeechRecognizer = function (token) {
2216
+ var _this = this;
2217
+ this.speechConfig = SpeechSDK.SpeechConfig.fromAuthorizationToken(token, this.region);
2218
+ var audioConfig = SpeechSDK.AudioConfig.fromDefaultMicrophoneInput();
2219
+ this.recognizer = new SpeechSDK.SpeechRecognizer(this.speechConfig, audioConfig);
2220
+ this.recognizer.recognizing = function (s, e) {
2221
+ if (e.result.reason === SpeechSDK.ResultReason.RecognizingSpeech) {
2222
+ _this.input = e.result.text;
2223
+ console.log("Recognizing: " + e.result.text);
2224
+ _this.cdr.markForCheck();
2225
+ }
2226
+ };
2227
+ this.recognizer.recognized = function (s, e) {
2228
+ if (e.result.reason === SpeechSDK.ResultReason.RecognizedSpeech) {
2229
+ _this.input = e.result.text;
2230
+ console.log("Recognized: " + e.result.text);
2231
+ _this.toggleRecording();
2232
+ _this.cdr.markForCheck();
2233
+ }
2234
+ };
2235
+ this.recognizer.canceled = function (s, e) {
2236
+ console.error('Canceled: ', e.errorDetails);
2237
+ };
2238
+ this.recognizer.sessionStopped = function (s, e) {
2239
+ console.log('Session stopped.');
2240
+ _this.recognizer.stopContinuousRecognitionAsync();
2241
+ _this.fetchData();
2242
+ };
2243
+ };
2244
+ ChatDrawerComponent.prototype.toggleRecording = function () {
2245
+ this.isRecording = !this.isRecording;
2246
+ if (this.isRecording) {
2247
+ this.startRecognition();
2248
+ }
2249
+ else {
2250
+ this.stopRecognition();
2251
+ }
2252
+ };
2253
+ ChatDrawerComponent.prototype.startRecognition = function () {
2254
+ this.recognizer.startContinuousRecognitionAsync();
2255
+ };
2256
+ ChatDrawerComponent.prototype.stopRecognition = function () {
2257
+ this.recognizer.stopContinuousRecognitionAsync();
2258
+ };
1980
2259
  return ChatDrawerComponent;
1981
2260
  }());
1982
2261
  ChatDrawerComponent.decorators = [
1983
2262
  { type: i0.Component, args: [{
1984
- selector: 'hivegpt-chat-drawer',
1985
- template: "<button *ngIf=\"isShowEditorButton\" (click)=\"openOuterEditor()\"\r\n class=\"fixed-btn\">\r\n <span style=\"font-size: 12px\" class=\"material-icons notranslate\">\r\n create\r\n </span>\r\n Editor\r\n</button>\r\n\r\n<button *ngIf=\"!isShowEditorButton\" (click)=\"onCloseEditor()\"\r\n class=\"fixed-btn-close\">\r\n <span style=\"font-size: 12px\" class=\"material-icons notranslate\">\r\n close\r\n </span>\r\n Close\r\n</button>\r\n\r\n<mat-drawer-container class=\"hivegpt-chat-wrapper\"\r\n [ngClass]=\"{ 'mat-drawer-container-has-open': isDrawerOpen }\"\r\n [class.ios-device]=\"isIOSDevice\" [hasBackdrop]=\"hasBackdropValue\">\r\n <mat-drawer class=\"drawer\" #drawer [position]=\"'start'\" [mode]=\"'over'\"\r\n opened=\"true\" [class.full-width-drawer]=\"fullView\" [style.background]=\"\r\n 'linear-gradient(' + (bgGradient ? bgGradient.join(', ') : '') + ')'\r\n \">\r\n <mat-drawer-content>\r\n <div class=\"chat-main\">\r\n <!-- <div class=\"chat-header\">\r\n <h2> -->\r\n <!-- {{eventName}} -->\r\n <!-- </h2> -->\r\n <!-- <button class=\"closeIcon\" (click)=\"onClose()\">\r\n <span class=\"material-symbols-outlined\">\r\n close\r\n </span>\r\n </button> -->\r\n <!-- </div> -->\r\n\r\n <div class=\"innerChat\" #chatMain>\r\n <div (click)=\"startNewConversation()\" class=\"new-conversationbutton\">\r\n New Chat <span><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"14.061\" height=\"14.261\" viewBox=\"0 0 14.061 14.261\">\r\n <path id=\"Path_164\" data-name=\"Path 164\"\r\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\"\r\n transform=\"translate(-2.25 -1.939)\" fill=\"none\" stroke=\"#06f\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\"\r\n stroke-width=\"1.5\" />\r\n </svg>\r\n\r\n </span>\r\n </div>\r\n <div class=\"sticky-header-chat\">\r\n <div class=\"title\">\r\n <h2>\r\n <span>\r\n {{ botName }}\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"31.499\"\r\n height=\"31.501\" viewBox=\"0 0 31.499 31.501\">\r\n <path id=\"Icon_ion-shield-checkmark\"\r\n data-name=\"Icon ion-shield-checkmark\"\r\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\"\r\n transform=\"translate(-2.25 -2.25)\" fill=\"#06f\" />\r\n </svg>\r\n\r\n </span>\r\n </h2>\r\n <p>AI-powered <span>copilot</span></p>\r\n </div>\r\n <div class=\"chatType\" style=\"display: none\">\r\n <h4 class=\"labelChat\">Choose a conversation style</h4>\r\n <ul>\r\n <li (click)=\"changeTemperature(0)\">\r\n <button [ngClass]=\"{ active: temperature === 0 }\">\r\n <span class=\"top-section-title\"> More Creative </span>\r\n </button>\r\n </li>\r\n <li (click)=\"changeTemperature(1)\" class=\"fdssfd\">\r\n <button [ngClass]=\"{ active: temperature === 1 }\">\r\n <span class=\"top-section-title\"> More Balanced </span>\r\n </button>\r\n </li>\r\n <li (click)=\"changeTemperature(2)\">\r\n <button [ngClass]=\"{ active: temperature === 2 }\">\r\n <span class=\"top-section-title\"> More Precise </span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <!-- chattype -->\r\n <div class=\"chat bot\" *ngFor=\"let chat of chatLog; let i = index\">\r\n <div class=\"chat-box\">\r\n <div class=\"message\">\r\n <div class=\"time-cta\" [ngClass]=\"{\r\n 'time-cta din': showFeedBackIconsIndex === i,\r\n 'time-cta': showFeedBackIconsIndex != i\r\n }\">\r\n <div class=\"Icon_TimeSTamp\" *ngIf=\"chat?.type === 'ai'\">\r\n <!-- <img [src]=\"botIcon\" [alt]=\"botName || 'Assistant'\" /> -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"44\"\r\n height=\"44\" viewBox=\"0 0 44 44\">\r\n <g id=\"Group_121\" data-name=\"Group 121\"\r\n transform=\"translate(4843 -371)\">\r\n <g id=\"Ellipse_18\" data-name=\"Ellipse 18\"\r\n transform=\"translate(-4843 371)\" fill=\"#fcfcfc\"\r\n stroke=\"#dfdfdf\" stroke-width=\"1\">\r\n <circle cx=\"22\" cy=\"22\" r=\"22\" stroke=\"none\" />\r\n <circle cx=\"22\" cy=\"22\" r=\"21.5\" fill=\"none\" />\r\n </g>\r\n <g id=\"Group_120\" data-name=\"Group 120\"\r\n transform=\"translate(-4835.141 378.855)\">\r\n <g id=\"Group_1\" data-name=\"Group 1\"\r\n transform=\"translate(7.29 0)\">\r\n <path id=\"Path_1\" data-name=\"Path 1\"\r\n d=\"M93.774,41.324,98.757,44.2v5.753l-4.983,2.877-4.983-2.877V44.2l4.983-2.877m0-2.034L87.03,43.183V50.97l6.744,3.893,6.744-3.893V43.183L93.774,39.29Z\"\r\n transform=\"translate(-87.03 -39.29)\"\r\n fill=\"gray\" />\r\n </g>\r\n <g id=\"Group_2\" data-name=\"Group 2\"\r\n transform=\"translate(0 12.717)\">\r\n <path id=\"Path_2\" data-name=\"Path 2\"\r\n d=\"M52.374,113.544l4.983,2.877v5.753l-4.983,2.877-4.983-2.877v-5.753l4.983-2.877m0-2.034L45.63,115.4v7.787l6.744,3.893,6.744-3.893V115.4l-6.744-3.893Z\"\r\n transform=\"translate(-45.63 -111.51)\"\r\n fill=\"gray\" />\r\n </g>\r\n <g id=\"Group_3\" data-name=\"Group 3\"\r\n transform=\"translate(14.793 12.717)\">\r\n <path id=\"Path_3\" data-name=\"Path 3\"\r\n d=\"M136.384,113.544l4.983,2.877v5.753l-4.983,2.877-4.983-2.877v-5.753l4.983-2.877m0-2.034L129.64,115.4v7.787l6.744,3.893,6.744-3.893V115.4l-6.744-3.893Z\"\r\n transform=\"translate(-129.64 -111.51)\"\r\n fill=\"gray\" />\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n\r\n <div class=\"dateTime\"\r\n [style.color]=\"dateTimeColor ? '' : ''\">\r\n <span>{{ 'Assistant' }}</span> {{ chat?.time }}\r\n </div>\r\n </div>\r\n\r\n <div class=\"Icon_TimeSTamp\" *ngIf=\"chat?.type === 'user'\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"44\"\r\n height=\"44\" viewBox=\"0 0 44 44\">\r\n <g id=\"Ellipse_17\" data-name=\"Ellipse 17\" fill=\"#fcfcfc\"\r\n stroke=\"#dfdfdf\" stroke-width=\"1\">\r\n <circle cx=\"22\" cy=\"22\" r=\"22\" stroke=\"none\" />\r\n <circle cx=\"22\" cy=\"22\" r=\"21.5\" fill=\"none\" />\r\n </g>\r\n <path id=\"Icon_grommet-user-expert\"\r\n data-name=\"Icon grommet-user-expert\"\r\n d=\"M14.24,20.443a9.472,9.472,0,1,0-9.472-9.472,9.472,9.472,0,0,0,9.472,9.472Zm10.329,5.225c-1.957-3.347-6.516-5.225-10.329-5.225-3.145,0-8.046.805-10.761,5.225\"\r\n transform=\"translate(7.976 8.416)\" fill=\"none\"\r\n stroke=\"gray\" stroke-width=\"1.5\" />\r\n </svg>\r\n\r\n <div class=\"dateTime\"><span>You</span> {{ chat?.time }}\r\n </div>\r\n\r\n <div class=\"ml-5\"\r\n *ngIf=\"chat?.WorkflowExecutionId || chat?.showWorkflowExecutionLoader\">\r\n <button class=\"icon-button\"\r\n (click)=\"showWorkflowHistoryDetails(chat.WorkflowExecutionId)\">\r\n <i class=\"fas fa-bars\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"researchingCard\">\r\n <div *ngIf=\"\r\n (chat?.searchTerms && chat?.searchTerms.length > 0) ||\r\n (chat?.sourcesList && chat?.sourcesList.length > 0)\r\n \" class=\"card-header d-flex align-items-center\"\r\n (click)=\"toggleCollapse()\">\r\n <span class=\"icon\"><i\r\n class=\"bx bx-plus-circle bx-sm\"></i></span>\r\n <span class=\"ml-2\">Researching\r\n <i id=\"toggleIcon\" class=\"toggle-icon ml-2 fa\" [ngClass]=\"{\r\n 'fa-chevron-down': isCollapsed,\r\n 'fa-chevron-up': !isCollapsed\r\n }\"></i></span>\r\n </div>\r\n <div *ngIf=\"chat?.searchTerms && chat?.searchTerms.length > 0\"\r\n [ngClass]=\"{ collapse: isCollapsed }\">\r\n <ul class=\"list-group list-group-flush uptList\">\r\n <li *ngFor=\"let term of chat?.searchTerms\"\r\n class=\"list-group-item\">\r\n Searching for\r\n <strong>{{ term }}</strong>\r\n </li>\r\n </ul>\r\n\r\n <h5 class=\"mt-2\"\r\n *ngIf=\"chat?.sourcesList && chat?.sourcesList.length > 0\">\r\n <i class=\"bx bx-unite\"></i> Sources\r\n </h5>\r\n <div class=\"sources-container\"\r\n *ngIf=\"chat?.sourcesList && chat?.sourcesList.length > 0\">\r\n <div class=\"source-card\" *ngFor=\"\r\n let source of chat?.displayedSources;\r\n let i = index\r\n \">\r\n <div>\r\n <div class=\"source-title\">{{ source.title }}</div>\r\n <div class=\"source-url\">\r\n <img class=\"relative block\"\r\n [src]=\"getFaviconUrl(source.link)\"\r\n [alt]=\"getDomainName(source.link) + ' favicon'\" />\r\n {{ getDomainName(source.link) }}\r\n </div>\r\n <div class=\"popup\">\r\n <div class=\"source-url\"\r\n (click)=\"openLinkInNewTab(source.link)\">\r\n <img class=\"relative block\"\r\n [src]=\"getFaviconUrl(source.link)\"\r\n [alt]=\"getDomainName(source.link) + ' favicon'\" />\r\n {{ getDomainName(source.link) }}\r\n </div>\r\n <h5 (click)=\"openLinkInNewTab(source.link)\">\r\n {{ source.title }}\r\n </h5>\r\n <p (click)=\"openLinkInNewTab(source.link)\">\r\n {{ source.desc }}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"\r\n chat?.remainingSources &&\r\n chat?.remainingSources.length > 0\r\n \">\r\n <div class=\"source-card\"\r\n (click)=\"onCardClick(chat?.sourcesList)\">\r\n <div>\r\n <div class=\"source-title\">\r\n <img *ngFor=\"\r\n let source of chat?.remainingSources;\r\n let i = index\r\n \" class=\"relative block\"\r\n [src]=\"getFaviconUrl(source.link)\"\r\n [alt]=\"getDomainName(source.link) + ' favicon'\" />\r\n </div>\r\n <div class=\"source-url\">\r\n View {{ chat?.remainingSources.length }} more\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"chat?.type === 'ai' || chat?.type === 'user'\"\r\n [ngStyle]=\"{\r\n background:\r\n chat?.type === 'ai' && bgBubbleAi\r\n ? ''\r\n : chat?.type === 'user' && bgBubbleUser\r\n ? ''\r\n : ''\r\n }\">\r\n <div id=\"messageText_{{ i }}\">\r\n <p class=\"SearchTitle\"\r\n *ngIf=\"chat?.type === 'ai' || chat?.type === 'user'\"\r\n [ngStyle]=\"{\r\n background:\r\n chat?.type === 'ai' && messageTextColorAi\r\n ? ''\r\n : chat?.type === 'user' && messageTextColorUser\r\n ? ''\r\n : '',\r\n color:\r\n chat?.type === 'ai' && messageTextColorAi\r\n ? ''\r\n : chat?.type === 'user' && messageTextColorUser\r\n ? ''\r\n : ''\r\n }\" [innerHTML]=\"chat?.message\"></p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"progress-container\"\r\n *ngIf=\"chat?.showWorkflowExecutionLoader\">\r\n <div class=\"circular-loader\">\r\n <div class=\"loader-spinner\"\r\n *ngIf=\"currentWorkflowActionProgress < 100\"\r\n [ngStyle]=\"{ 'transform': 'rotate(' + (percentage * 3.6) + 'deg)' }\">\r\n </div>\r\n <div class=\"checkmark\"\r\n *ngIf=\"currentWorkflowActionProgress == 100\">\r\n <svg viewBox=\"0 0 52 52\">\r\n <circle class=\"checkmark-circle\" cx=\"26\" cy=\"26\" r=\"25\"\r\n fill=\"none\" />\r\n <path class=\"checkmark-check\" fill=\"none\"\r\n d=\"M14 27l7 7 16-16\" />\r\n </svg>\r\n </div>\r\n\r\n <div class=\"loader-text\"\r\n *ngIf=\"currentWorkflowActionProgress < 100\">{{\r\n currentWorkflowActionProgress\r\n }}%</div>\r\n </div>\r\n <div class=\"loader-label\">\r\n {{currentWorkflowAction}}...\r\n </div>\r\n </div>\r\n\r\n <div class=\"exicution mt-2\" *ngIf=\"\r\n chat?.type === 'ai' &&\r\n chat?.graphs &&\r\n chat?.graphs.length > 0\r\n \">\r\n <h5 *ngIf=\"chat?.type === 'ai'\">\r\n <i class=\"bx bx-network-chart\"></i> Graphs\r\n <i (click)=\"toggleCollapseFGraph()\"\r\n class=\"toggle-icon ml-2 fa\" [ngClass]=\"{\r\n 'fas fa-chevron-down': isCollapsedForFGraph,\r\n 'fas fa-chevron-up': !isCollapsedForFGraph\r\n }\"></i>\r\n </h5>\r\n <img *ngFor=\"let image of chat?.graphs\" class=\"graph-img\"\r\n [ngClass]=\"{ collapse: isCollapsedForFGraph }\" [src]=\"image\"\r\n alt=\"\" />\r\n </div>\r\n <div class=\"exicution mt-2\" *ngIf=\"\r\n chat?.type === 'ai' &&\r\n chat?.executionGraphs &&\r\n chat?.executionGraphs?.length > 0\r\n \">\r\n <h5 *ngIf=\"chat?.type === 'ai'\">\r\n <i class=\"bx bx-network-chart\"></i> Execution Path Diagram\r\n For Data Visualization Workflow\r\n <i (click)=\"toggleCollapseGraph()\"\r\n class=\"toggle-icon ml-2 fa\" [ngClass]=\"{\r\n 'fas fa-chevron-down': isCollapsedForGraph,\r\n 'fas fa-chevron-up': !isCollapsedForGraph\r\n }\"></i>\r\n </h5>\r\n <img *ngFor=\"let image of chat?.executionGraphs\"\r\n class=\"graph-img\"\r\n [ngClass]=\"{ collapse: isCollapsedForGraph }\" [src]=\"image\"\r\n alt=\"\" />\r\n </div>\r\n <div class=\"Related mt-2\" *ngIf=\"\r\n showFeedBackIconsIndex === i &&\r\n chat?.relatedListItems &&\r\n chat?.relatedListItems.length > 0\r\n \">\r\n <h5 *ngIf=\"chat?.type === 'ai'\">\r\n <i class=\"bx bx-list-check\"></i> Related\r\n </h5>\r\n <div class=\"card-container\" *ngIf=\"chat?.type === 'ai'\">\r\n <ul class=\"list-container\">\r\n <ng-container *ngFor=\"let item of chat?.relatedListItems\">\r\n <li (click)=\"fetchDataFor(item, chat)\">{{ item }}</li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"cta\" *ngIf=\"showFeedBackIconsIndex === i\">\r\n <div class=\"copyBox\" title=\"Copy\">\r\n <button title=\"{{ chat?.copied ? 'Copied!' : 'Copy' }}\"\r\n class=\"copy\" [class.active]=\"chat?.copied\"\r\n (click)=\"handleCopyClick(i)\">\r\n <i *ngIf=\"chat?.copied\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M9 16.17L4.83 12L3.41 13.41L9 19L21 7L19.59 5.59L9 16.17Z\"\r\n fill=\"#566563\" />\r\n </svg>\r\n </i>\r\n\r\n <i *ngIf=\"!chat?.copied\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\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\"\r\n fill=\"#566563\" />\r\n </svg>\r\n </i>\r\n </button>\r\n\r\n <button class=\"up copy\"\r\n title=\"{{ chat?.isEditor ? 'Added!' : 'Add to editor' }}\"\r\n (click)=\"handleEditorClick(i)\">\r\n <svg *ngIf=\"!chat?.isEditor\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20.152\"\r\n height=\"20.152\" viewBox=\"0 0 20.152 20.152\">\r\n <g id=\"Icon_feather-edit\" data-name=\"Icon feather-edit\"\r\n transform=\"translate(-2.5 -2.166)\">\r\n <path id=\"Path_166\" data-name=\"Path 166\"\r\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\"\r\n transform=\"translate(0 -1.179)\" fill=\"none\"\r\n stroke=\"#393939\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" stroke-width=\"1\" />\r\n <path id=\"Path_167\" data-name=\"Path 167\"\r\n d=\"M21.915,3.4a2,2,0,0,1,2.833,2.833l-8.971,8.971L12,16.152l.944-3.777Z\"\r\n transform=\"translate(-3.334 0)\" fill=\"none\"\r\n stroke=\"#393939\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" stroke-width=\"1\" />\r\n </g>\r\n </svg>\r\n\r\n <i *ngIf=\"chat?.isEditor\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M9 16.17L4.83 12L3.41 13.41L9 19L21 7L19.59 5.59L9 16.17Z\"\r\n fill=\"#566563\" />\r\n </svg>\r\n </i>\r\n </button>\r\n\r\n <button class=\"up copy\" title=\"Like\"\r\n [class.active]=\"chat?.liked\" (click)=\"handleUpClick(i)\">\r\n <i *ngIf=\"chat?.liked\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\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\"\r\n fill=\"#17235B\" />\r\n <path\r\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\"\r\n fill=\"#17235B\" />\r\n </svg>\r\n </i>\r\n <i *ngIf=\"!chat?.liked\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\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\"\r\n fill=\"#566563\" stroke=\"#566563\" />\r\n <path\r\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\"\r\n fill=\"#566563\" stroke=\"#566563\" />\r\n </svg>\r\n </i>\r\n </button>\r\n <button class=\"down copy\" title=\"Dislike\"\r\n [class.active]=\"chat?.unliked\" (click)=\"handleDownClick(i)\">\r\n <i *ngIf=\"chat?.unliked\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\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\"\r\n fill=\"#17235B\" />\r\n\r\n <path\r\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\"\r\n fill=\"#17235B\" />\r\n </svg>\r\n </i>\r\n\r\n <i *ngIf=\"!chat?.unliked\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\"\r\n fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\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\"\r\n fill=\"#566563\" stroke=\"#566563\" />\r\n <path\r\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\"\r\n fill=\"#566563\" stroke=\"#566563\" />\r\n </svg>\r\n </i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"cta-faqs quick-prompts-extended\"\r\n *ngIf=\"i == 0 && quickPrompts?.length\">\r\n <!-- <div *ngFor=\"let tile of quickPrompts\" class=\"cta\"\r\n (click)=\"sendMessageWithTile(tile.prompt)\">\r\n Q: {{ tile.text }}\r\n </div> -->\r\n <div class=\"cta_suggestions\">\r\n <button *ngFor=\"let tile of quickPrompts\"\r\n (click)=\"sendMessageWithTile(tile.prompt)\">\r\n <ng-container *ngIf=\"tile\">{{ tile.text }}</ng-container>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"chat bot\" *ngIf=\"i == 0 && botSkills\">\r\n <div class=\"chat-box\">\r\n <div class=\"message\">\r\n <p [innerHTML]=\"processMessageForDisplay(botSkills)\"></p>\r\n &nbsp;\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"chat?.suggestions?.length\">\r\n <h4 class=\"labelChat\">\r\n Here are some things EventsGPT Copilot can help you do:\r\n </h4>\r\n <div class=\"cta_suggestions\">\r\n <button *ngFor=\"let suggestion of chat?.suggestions\"\r\n (click)=\"sendMessageWithTile(suggestion)\">\r\n <ng-container *ngIf=\"suggestion\">{{\r\n suggestion\r\n }}</ng-container>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"\r\n chat?.action?.section_id == 'company_search' ||\r\n chat?.action?.section_id == 'user_search' ||\r\n chat?.action?.section_id == 'industry_company_search'\r\n \">\r\n <div class=\"box\">\r\n <div class=\"tiktokwrapper\">\r\n <div class=\"tiktokshell\"\r\n *ngFor=\"let user of chat?.action.users\">\r\n <div class=\"videoPhotobox\">\r\n <ng-conatiner\r\n *ngIf=\"user?.photoPath && !user.userVideosModel\">\r\n <img [src]=\"user?.photoPath\" />\r\n </ng-conatiner>\r\n <ng-conatiner *ngIf=\"user.userVideosModel\">\r\n <app-video-player *ngIf=\"user?.userVideosModel\"\r\n [isDev]=\"isDev\" [currentUserId]=\"userId\"\r\n [videoObj]=\"user?.userVideosModel\" [user]=\"user\"\r\n [eventId]=\"eventId\" type=\"1\">\r\n </app-video-player>\r\n </ng-conatiner>\r\n </div>\r\n\r\n <div class=\"noPhoto\"\r\n *ngIf=\"!user?.photoPath && !user.userVideosModel\">\r\n <h3>\r\n {{ user.firstName | slice: 0:1\r\n }}{{ user.lastName | slice: 0:1 }}\r\n </h3>\r\n </div>\r\n <div class=\"overlymask\" *ngIf=\"!user.userVideosModel\"></div>\r\n <div class=\"onshell-content\">\r\n <div class=\"title-shell\">\r\n <h3>{{ user.firstName }} {{ user.lastName }}</h3>\r\n <h3 class=\"companyName\">{{ user.company }}</h3>\r\n </div>\r\n <div class=\"button-shell\">\r\n <button class=\"Connectbtn\"\r\n (click)=\"connectToUser(user.userId)\">\r\n {{\r\n canConnect(user.userId)\r\n ? 'Connect'\r\n : canDisconnect(user.userId)\r\n ? 'Disconnect'\r\n : 'Request\r\n Sent'\r\n }}\r\n </button>\r\n <button class=\"schedulebtn\"\r\n (click)=\"scheduleMeetingWithUser(user)\">\r\n Schedule\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"chat?.action?.section_id == myUpcomingSessionAction\">\r\n <div class=\"agenda-items-wrapper\" class=\"agenda-items-wrapper\">\r\n <div class=\"list-view\">\r\n <div class=\"session-detail-wrapper card-background-session\"\r\n *ngFor=\"let upcomingSession of chat?.action.content\">\r\n <div class=\"thumbnail\">\r\n <img alt=\"Introduction to the Imaging Radar Academy\"\r\n src=\"https://s27media.azureedge.net/8008/profile_pic/453cea2c-feba-11ed-8c0b-00155d025b0a.png\"\r\n class=\"\" />\r\n <!---->\r\n <!---->\r\n <!----><button class=\"play-btn color-primary\"\r\n title=\"Play Session: Introduction to the Imaging Radar Academy\">\r\n <span class=\"material-icons notranslate\">\r\n play_circle_outline\r\n </span>\r\n <!---->\r\n </button>\r\n <!---->\r\n <!---->\r\n </div>\r\n <!---->\r\n <!---->\r\n <div class=\"content p-3\">\r\n <div\r\n class=\"d-flex justify-content-between align-items-center\">\r\n <div class=\"d-flex flex-column\">\r\n <p class=\"fs-xs mb-0 body-text-color\">\r\n {{\r\n upcomingSession.dateTimeRange.start\r\n | date\r\n : 'MM-dd-yyyy\r\n HH:mm'\r\n : 'UTC'\r\n }}\r\n -\r\n {{\r\n upcomingSession.dateTimeRange.end\r\n | date: 'MM-dd-yyyy HH:mm':'UTC'\r\n }}\r\n {{ upcomingSession.timeZone.id }}\r\n </p>\r\n <!---->\r\n <!---->\r\n <!-- <p class=\"fs-xs mb-2 color-secondary\" title=\"Session Type: Generative AI\">Generative AI </p> -->\r\n <!---->\r\n </div>\r\n <div class=\"d-flex align-items-center actions px-2\">\r\n <!---->\r\n <button (click)=\"\r\n performSessionAction(\r\n upcomingSession.id,\r\n 'view-session'\r\n )\r\n \" class=\"s27-btn-icon body-text-color\"\r\n title=\"View Session Information: Introduction to the Imaging Radar Academy\">\r\n <span class=\"material-icons notranslate\">\r\n remove_red_eye\r\n </span>\r\n </button>\r\n\r\n <button (click)=\"\r\n performSessionAction(\r\n upcomingSession.id,\r\n 'add-to-agenda'\r\n )\r\n \" class=\"s27-btn-icon body-text-color\">\r\n <span class=\"material-icons notranslate\"\r\n title=\"Add Session: Introduction to the Imaging Radar Academy to My agendaa\">\r\n event_available\r\n </span>\r\n </button>\r\n <!---->\r\n <!---->\r\n <!---->\r\n <!---->\r\n\r\n <button (click)=\"\r\n performSessionAction(upcomingSession.id, 'play')\r\n \" class=\"s27-btn-icon body-text-color\"\r\n title=\"Copy session link to share\">\r\n <span class=\"material-icons notranslate\">\r\n play_circle_outline\r\n </span>\r\n </button>\r\n <!---->\r\n </div>\r\n </div>\r\n <h2 class=\"body-text-color\">\r\n {{ upcomingSession.title }}\r\n </h2>\r\n <div class=\"session-description color-secondary\"\r\n [innerHTML]=\"sanitizeHtml(upcomingSession.description)\">\r\n </div>\r\n <ul class=\"speakers grid-2-cols\"\r\n *ngFor=\"let speakerId of upcomingSession.speakers\">\r\n <li class=\"\">\r\n <div class=\"image\" title=\"Blair Wunderlich\">\r\n <img alt=\"Blair Wunderlich\"\r\n [src]=\"speakers[speakerId]?.photoPath\" class=\"\" />\r\n <!---->\r\n <!---->\r\n <!---->\r\n </div>\r\n <!---->\r\n <div class=\"content pl-3\"\r\n style=\"text-transform: none\">\r\n <div class=\"mb-0 body-text-color fs-xs fw-500\">\r\n {{ speakers[speakerId]?.firstName }}\r\n {{ speakers[speakerId]?.lastName }}\r\n </div>\r\n <div class=\"color-secondary fs-xxs\">\r\n {{ speakers[speakerId]?.jobTitle }}\r\n </div>\r\n <div class=\"color-secondary fs-xxs\">\r\n {{ speakers[speakerId]?.company }}\r\n </div>\r\n </div>\r\n <!---->\r\n </li>\r\n </ul>\r\n <!---->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"chat bot\" *ngIf=\"isChatingWithAi && !executingWorkflow\">\r\n <div class=\"chat-box\">\r\n <div class=\"message\">\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width: 55%\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width: 80%\"></span>\r\n <span class=\"skeleton-box\" style=\"width: 90%\"></span>\r\n <span class=\"skeleton-box\" style=\"width: 83%\"></span>\r\n <span class=\"skeleton-box\" style=\"width: 80%\"></span>\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"time-cta\">\r\n <div class=\"Icon_TimeSTamp\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"44\"\r\n height=\"44\" viewBox=\"0 0 44 44\">\r\n <g id=\"Group_121\" data-name=\"Group 121\"\r\n transform=\"translate(4843 -371)\">\r\n <g id=\"Ellipse_18\" data-name=\"Ellipse 18\"\r\n transform=\"translate(-4843 371)\" fill=\"#fcfcfc\"\r\n stroke=\"#dfdfdf\" stroke-width=\"1\">\r\n <circle cx=\"22\" cy=\"22\" r=\"22\" stroke=\"none\" />\r\n <circle cx=\"22\" cy=\"22\" r=\"21.5\" fill=\"none\" />\r\n </g>\r\n <g id=\"Group_120\" data-name=\"Group 120\"\r\n transform=\"translate(-4835.141 378.855)\">\r\n <g id=\"Group_1\" data-name=\"Group 1\"\r\n transform=\"translate(7.29 0)\">\r\n <path id=\"Path_1\" data-name=\"Path 1\"\r\n d=\"M93.774,41.324,98.757,44.2v5.753l-4.983,2.877-4.983-2.877V44.2l4.983-2.877m0-2.034L87.03,43.183V50.97l6.744,3.893,6.744-3.893V43.183L93.774,39.29Z\"\r\n transform=\"translate(-87.03 -39.29)\"\r\n fill=\"gray\" />\r\n </g>\r\n <g id=\"Group_2\" data-name=\"Group 2\"\r\n transform=\"translate(0 12.717)\">\r\n <path id=\"Path_2\" data-name=\"Path 2\"\r\n d=\"M52.374,113.544l4.983,2.877v5.753l-4.983,2.877-4.983-2.877v-5.753l4.983-2.877m0-2.034L45.63,115.4v7.787l6.744,3.893,6.744-3.893V115.4l-6.744-3.893Z\"\r\n transform=\"translate(-45.63 -111.51)\"\r\n fill=\"gray\" />\r\n </g>\r\n <g id=\"Group_3\" data-name=\"Group 3\"\r\n transform=\"translate(14.793 12.717)\">\r\n <path id=\"Path_3\" data-name=\"Path 3\"\r\n d=\"M136.384,113.544l4.983,2.877v5.753l-4.983,2.877-4.983-2.877v-5.753l4.983-2.877m0-2.034L129.64,115.4v7.787l6.744,3.893,6.744-3.893V115.4l-6.744-3.893Z\"\r\n transform=\"translate(-129.64 -111.51)\"\r\n fill=\"gray\" />\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n <div class=\"dateTime\"\r\n [style.color]=\"dateTimeColor ? '' : ''\">\r\n <span> {{ 'Assistant' }}</span> {{ chat?.time\r\n ? chat?.time\r\n : (dateTime.now | date: 'shortTime')\r\n }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"chat bot\" *ngIf=\"loading\">\r\n <div class=\"chat-box\">\r\n <div class=\"message\">\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width: 55%\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width: 80%\"></span>\r\n <span class=\"skeleton-box\" style=\"width: 90%\"></span>\r\n <span class=\"skeleton-box\" style=\"width: 83%\"></span>\r\n <span class=\"skeleton-box\" style=\"width: 80%\"></span>\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"time-cta\">\r\n <div class=\"Icon_TimeSTamp\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"44\"\r\n height=\"44\" viewBox=\"0 0 44 44\">\r\n <g id=\"Group_121\" data-name=\"Group 121\"\r\n transform=\"translate(4843 -371)\">\r\n <g id=\"Ellipse_18\" data-name=\"Ellipse 18\"\r\n transform=\"translate(-4843 371)\" fill=\"#fcfcfc\"\r\n stroke=\"#dfdfdf\" stroke-width=\"1\">\r\n <circle cx=\"22\" cy=\"22\" r=\"22\" stroke=\"none\" />\r\n <circle cx=\"22\" cy=\"22\" r=\"21.5\" fill=\"none\" />\r\n </g>\r\n <g id=\"Group_120\" data-name=\"Group 120\"\r\n transform=\"translate(-4835.141 378.855)\">\r\n <g id=\"Group_1\" data-name=\"Group 1\"\r\n transform=\"translate(7.29 0)\">\r\n <path id=\"Path_1\" data-name=\"Path 1\"\r\n d=\"M93.774,41.324,98.757,44.2v5.753l-4.983,2.877-4.983-2.877V44.2l4.983-2.877m0-2.034L87.03,43.183V50.97l6.744,3.893,6.744-3.893V43.183L93.774,39.29Z\"\r\n transform=\"translate(-87.03 -39.29)\"\r\n fill=\"gray\" />\r\n </g>\r\n <g id=\"Group_2\" data-name=\"Group 2\"\r\n transform=\"translate(0 12.717)\">\r\n <path id=\"Path_2\" data-name=\"Path 2\"\r\n d=\"M52.374,113.544l4.983,2.877v5.753l-4.983,2.877-4.983-2.877v-5.753l4.983-2.877m0-2.034L45.63,115.4v7.787l6.744,3.893,6.744-3.893V115.4l-6.744-3.893Z\"\r\n transform=\"translate(-45.63 -111.51)\"\r\n fill=\"gray\" />\r\n </g>\r\n <g id=\"Group_3\" data-name=\"Group 3\"\r\n transform=\"translate(14.793 12.717)\">\r\n <path id=\"Path_3\" data-name=\"Path 3\"\r\n d=\"M136.384,113.544l4.983,2.877v5.753l-4.983,2.877-4.983-2.877v-5.753l4.983-2.877m0-2.034L129.64,115.4v7.787l6.744,3.893,6.744-3.893V115.4l-6.744-3.893Z\"\r\n transform=\"translate(-129.64 -111.51)\"\r\n fill=\"gray\" />\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n <div class=\"dateTime\"\r\n [style.color]=\"dateTimeColor ? '' : ''\">\r\n <span>{{ 'Loading ...' }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div #chatMain></div> -->\r\n <div *ngIf=\"openWorkflowInput && selectedWorkflow && !executingWorkflow\"\r\n class=\"chatFooterWrapper\">\r\n <!-- new UI for Chat Message Section by Amit -->\r\n <div class=\"chat-footer-upt\">\r\n <div class=\"topinfo-containerbox\">\r\n <div class=\"agents_note_wrapper\">\r\n <div>\r\n <h6>{{selectedWorkflow?.Name}}</h6>\r\n {{selectedWorkflow?.Description}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"agents_note_wrapper\">\r\n <button mat-icon-button class=\"closeButtonSource\"\r\n (click)=\"toggleWorkflows(false)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"bottombox-wrapper\">\r\n <!-- here i need to loop through all the input fields selectedWorkflow.Trigger.InputSchema and render the input fields -->\r\n <!-- Form for Workflow Inputs -->\r\n <form [formGroup]=\"workflowForm\" (ngSubmit)=\"onWorkflowSubmit()\"\r\n class=\"form-container\">\r\n <div *ngFor=\"let input of selectedWorkflow?.Trigger?.InputSchema\"\r\n class=\"form-group\">\r\n <label>{{ input.Label }}</label>\r\n\r\n <!-- Handle Text Input or Text Area based on requirement -->\r\n <textarea *ngIf=\"input.Type === 'string'\"\r\n formControlName=\"{{input.InputId}}\"\r\n [placeholder]=\"input.Placeholder\" [rows]=\"2\"\r\n [required]=\"input.Required\" class=\"form-control\"></textarea>\r\n\r\n <!-- Dropdown for Select Options -->\r\n <select *ngIf=\"input.Type === 'select'\"\r\n formControlName=\"{{input.InputId}}\" class=\"form-control\">\r\n <option *ngFor=\"let option of input.Options\"\r\n [value]=\"option.Value\">{{\r\n option.Label }}</option>\r\n </select>\r\n </div>\r\n\r\n <!-- Submit button aligned to the right -->\r\n <div class=\"form-group\">\r\n <button type=\"submit\"\r\n class=\"btn btn-primary submit-button\">Submit</button>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- new UI for Chat Message Section by Amit -->\r\n </div>\r\n <div *ngIf=\"!openWorkflowInput\" class=\"chatFooterWrapper\">\r\n <!-- new UI for Chat Message Section by Amit -->\r\n <div class=\"chat-footer-upt\">\r\n <div class=\"topinfo-containerbox\">\r\n <div class=\"agents_note_wrapper\">\r\n\r\n <div class=\"agents-dropdown-wrapper\">\r\n <div class=\"dropdown-wrapper\" (click)=\"toggleDropdown()\">\r\n <div class=\"dropdown-header\">\r\n <span>{{ getDropdownHeaderText() }}</span>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\"\r\n height=\"24\" fill=\"none\" stroke=\"currentColor\"\r\n stroke-width=\"2\" viewBox=\"0 0 24 24\">\r\n <path d=\"M19 9l-7 7-7-7\" />\r\n </svg>\r\n </div>\r\n <div class=\"dropdown-menu\" *ngIf=\"isDropdownOpen\">\r\n <label (click)=\"onSelectAll()\">\r\n <input type=\"checkbox\" [checked]=\"areAllSelected()\" />\r\n All\r\n </label>\r\n <label *ngFor=\"let agent of agents\"\r\n (click)=\"onAgentChange(agent)\">\r\n <input type=\"checkbox\" [(ngModel)]=\"agent.selected\" />\r\n {{ agent.agentName }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"agents_note_wrapper\">\r\n\r\n <div class=\"agents-dropdown-wrapper\">\r\n <div class=\"dropdown-wrapper\" (click)=\"toggleWorkflows()\">\r\n <div class=\"dropdown-header\">\r\n <svg stroke=\"currentColor\" fill=\"currentColor\"\r\n stroke-width=\"0\" viewBox=\"0 0 256 256\" class=\"h-5 w-5\"\r\n height=\"1em\" width=\"1em\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\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\">\r\n </path>\r\n </svg>\r\n Workflows\r\n </div>\r\n <div class=\"dropdown-menu\" *ngIf=\"isWorkflowOpen\">\r\n <label *ngFor=\"let orgWorkflow of orgWorkflows\"\r\n (click)=\"onWorkflowSelected(orgWorkflow)\">\r\n {{ orgWorkflow.Name }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n <div class=\"bottombox-wrapper\">\r\n <!-- <input [disabled]=\"isChatingWithAi\" type=\"text\" class=\"form-control-1 s27-scroll\"\r\n \r\n placeholder=\"Ask anything...\" [style.background]=\"formFieldBgColor ? formFieldBgColor : ''\"\r\n [style.color]=\"formFieldTextColor ? formFieldTextColor : ''\" [(ngModel)]=\"input\"\r\n (keyup.enter)=\"handleSubmit()\" #myInput /> -->\r\n <textarea [disabled]=\"isChatingWithAi\"\r\n class=\"form-control-1 s27-scroll chat-textarea\"\r\n placeholder=\"Ask anything...\" [(ngModel)]=\"input\"\r\n (keyup.enter)=\"handleSubmit()\"\r\n (input)=\"adjustTextareaHeight($event)\" #myInput></textarea>\r\n\r\n <button class=\"btn cta-chat\" (click)=\"handleSubmit()\"\r\n [style.background]=\"sendButtonColor ? sendButtonColor : ''\"\r\n [style.color]=\"sendButtonTextColor ? sendButtonTextColor : ''\">\r\n <svg stroke=\"currentColor\" fill=\"currentColor\" stroke-width=\"0\"\r\n viewBox=\"0 0 512 512\" height=\"1em\" width=\"1em\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\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\">\r\n </path>\r\n </svg>\r\n <!-- SEND -->\r\n </button>\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- new UI for Chat Message Section by Amit -->\r\n </div>\r\n\r\n <div class=\"NoteTxt\">\r\n <div class=\"note\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12.882\" height=\"12.883\"\r\n viewBox=\"0 0 12.882 12.883\">\r\n <path id=\"Icon_ion-shield-checkmark\"\r\n data-name=\"Icon ion-shield-checkmark\"\r\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\"\r\n transform=\"translate(-2.25 -2.25)\" fill=\"#06f\" />\r\n </svg>\r\n\r\n\r\n <span class=\"text\">Your personal or company information is kept\r\n private and secure\r\n within this chat.</span>\r\n </div>\r\n </div>\r\n </mat-drawer-content>\r\n </mat-drawer>\r\n <mat-drawer class=\"drawer edit-boxDrawer\" style=\"width: 45%\" #sourcesDrawer\r\n [position]=\"'end'\" [mode]=\"'over'\" [style.background]=\"\r\n 'linear-gradient(' + (bgGradient ? bgGradient.join(', ') : '') + ')'\r\n \">\r\n <mat-drawer-content>\r\n <div class=\"sourceDraweContainer\">\r\n <div class=\"container-fluid\">\r\n <button mat-icon-button class=\"closeButtonSource\"\r\n (click)=\"onCloseSource()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <h1>{{ currentSourcesList?.length }} Sources</h1>\r\n <!-- <p>Tell me about latest news from Mistral about AI agents announcement done this month</p> -->\r\n <hr />\r\n <ul class=\"sources-list\">\r\n <li *ngFor=\"let item of currentSourcesList; let si = index\">\r\n <!-- <input type=\"checkbox\" id=\"source1\"> -->\r\n <div class=\"source-content\" (click)=\"openLinkInNewTab(item.link)\">\r\n <label for=\"source1\">\r\n <span class=\"source-title\"><span class=\"ml-1\">{{ si + 1\r\n }}.</span>{{ item.title }}</span>\r\n <span class=\"image-container\">\r\n <img class=\"relative block\" [src]=\"getFaviconUrl(item.link)\"\r\n [alt]=\"getDomainName(item.link) + ' favicon'\" />\r\n <span> {{ getDomainName(item.link) }}</span>\r\n </span>\r\n <span class=\"source-description\">{{ item.desc }}</span>\r\n </label>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </mat-drawer-content>\r\n </mat-drawer>\r\n <mat-drawer class=\"drawer edit-boxDrawer\" style=\"width: 45%\" #editorsDrawer\r\n [position]=\"'end'\" [mode]=\"'push'\" [style.background]=\"\r\n 'linear-gradient(' + (bgGradient ? bgGradient.join(', ') : '') + ')'\r\n \">\r\n <mat-drawer-content>\r\n <lib-bot-html-editor *ngIf=\"isContentLoaded\"\r\n [editorContent]=\"currentMessageForEditor\"\r\n [isDocInEditMode]=\"isDocInEditMode\" [documentContent]=\"documentContent\"\r\n [conversationId]=\"conversationId\" [botId]=\"botId\"></lib-bot-html-editor>\r\n </mat-drawer-content>\r\n </mat-drawer>\r\n</mat-drawer-container>\r\n\r\n\r\n<div *ngIf=\"showWorkflowExecutionDetails\" class=\"modal\">\r\n <div class=\"modal-content\">\r\n <span class=\"close\" (click)=\"closeModal()\">&times;</span>\r\n\r\n <!-- Workflow Title -->\r\n <h2>{{ workflowExecutionDetails.WorkflowName }}</h2>\r\n\r\n <!-- Inputs Section -->\r\n <div class=\"inputs-section\">\r\n <h3>Inputs</h3>\r\n <ul>\r\n <li\r\n *ngFor=\"let input of objectToArray(workflowExecutionDetails.Inputs)\">\r\n {{ input.key }}: {{ input.value }}\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <!-- Actions Section (Displayed as Timeline) -->\r\n <div class=\"actions-section\">\r\n <h3>Actions</h3>\r\n <div class=\"timeline\">\r\n <div *ngFor=\"let action of workflowExecutionDetails.Actions\"\r\n class=\"timeline-item\">\r\n <div class=\"timestamp-section\">\r\n <h4>{{ action.ActionName || action.Name }}</h4>\r\n <p><strong></strong> {{\r\n action.InsertTimeStamp }}</p>\r\n </div>\r\n <pre>{{ action.Output }}</pre>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Insert Timestamp -->\r\n <div class=\"timestamp-section\">\r\n <p><strong>Inserted At:</strong> {{\r\n workflowExecutionDetails.InsertTimeStamp }}</p>\r\n </div>\r\n </div>\r\n</div>",
2263
+ selector: 'hivegpt-chat-drawer-package',
2264
+ template: "<button *ngIf=\"isShowEditorButton\" (click)=\"openOuterEditor()\" class=\"fixed-btn\">\r\n <span style=\"font-size: 12px\" class=\"material-icons notranslate\">\r\n create\r\n </span>\r\n Editor\r\n</button>\r\n\r\n<button *ngIf=\"!isShowEditorButton\" (click)=\"onCloseEditor()\" class=\"fixed-btn-close\">\r\n <span style=\"font-size: 12px\" class=\"material-icons notranslate\">\r\n close\r\n </span>\r\n Close\r\n</button>\r\n\r\n<mat-drawer-container class=\"hivegpt-chat-wrapper\" [ngClass]=\"{ 'mat-drawer-container-has-open': isDrawerOpen }\"\r\n [class.ios-device]=\"isIOSDevice\" [hasBackdrop]=\"hasBackdropValue\">\r\n <mat-drawer class=\"drawer\" #drawer [position]=\"'start'\" [mode]=\"'over'\" opened=\"true\"\r\n [class.full-width-drawer]=\"fullView\" [style.background]=\"\r\n 'linear-gradient(' + (bgGradient ? bgGradient.join(', ') : '') + ')'\r\n \">\r\n <mat-drawer-content>\r\n <div class=\"chat-main\">\r\n <!-- <div class=\"chat-header\">\r\n <h2> -->\r\n <!-- {{eventName}} -->\r\n <!-- </h2> -->\r\n <!-- <button class=\"closeIcon\" (click)=\"onClose()\">\r\n <span class=\"material-symbols-outlined\">\r\n close\r\n </span>\r\n </button> -->\r\n <!-- </div> -->\r\n\r\n <div class=\"innerChat\" #chatMain>\r\n <div (click)=\"startNewConversation()\" class=\"new-conversationbutton\">\r\n New Chat <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14.061\" height=\"14.261\"\r\n viewBox=\"0 0 14.061 14.261\">\r\n <path id=\"Path_164\" data-name=\"Path 164\"\r\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\"\r\n transform=\"translate(-2.25 -1.939)\" fill=\"none\" stroke=\"#06f\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" stroke-width=\"1.5\" />\r\n </svg>\r\n\r\n </span>\r\n </div>\r\n <div class=\"sticky-header-chat\">\r\n <div class=\"title_chat\">\r\n <h2>\r\n <span>\r\n {{ botName }}\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"31.499\" height=\"31.501\" viewBox=\"0 0 31.499 31.501\">\r\n <path id=\"Icon_ion-shield-checkmark\" data-name=\"Icon ion-shield-checkmark\"\r\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\"\r\n transform=\"translate(-2.25 -2.25)\" fill=\"#06f\" />\r\n </svg>\r\n </span>\r\n <span>\r\n <p class=\"small-title\">AI-powered <span>copilot</span></p>\r\n </span>\r\n </h2>\r\n </div>\r\n <div class=\"chatType\" style=\"display: none\">\r\n <h4 class=\"labelChat\">Choose a conversation style</h4>\r\n <ul>\r\n <li (click)=\"changeTemperature(0)\">\r\n <button [ngClass]=\"{ active: temperature === 0 }\">\r\n <span class=\"top-section-title\"> More Creative </span>\r\n </button>\r\n </li>\r\n <li (click)=\"changeTemperature(1)\" class=\"fdssfd\">\r\n <button [ngClass]=\"{ active: temperature === 1 }\">\r\n <span class=\"top-section-title\"> More Balanced </span>\r\n </button>\r\n </li>\r\n <li (click)=\"changeTemperature(2)\">\r\n <button [ngClass]=\"{ active: temperature === 2 }\">\r\n <span class=\"top-section-title\"> More Precise </span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <!-- chattype -->\r\n <div id=\"allChats\" class=\"chat bot\" *ngFor=\"let chat of chatLog; let i = index\">\r\n <div class=\"chat-box\">\r\n <div class=\"message\">\r\n <div class=\"time-cta\" [ngClass]=\"{\r\n 'time-cta din': showFeedBackIconsIndex === i,\r\n 'time-cta': showFeedBackIconsIndex != i\r\n }\">\r\n <div class=\"Icon_TimeSTamp\" *ngIf=\"chat?.type === 'ai'\">\r\n <!-- <img [src]=\"botIcon\" [alt]=\"botName || 'Assistant'\" /> -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"44\" height=\"44\" viewBox=\"0 0 44 44\">\r\n <g id=\"Group_121\" data-name=\"Group 121\" transform=\"translate(4843 -371)\">\r\n <g id=\"Ellipse_18\" data-name=\"Ellipse 18\" transform=\"translate(-4843 371)\" fill=\"#fcfcfc\"\r\n stroke=\"#dfdfdf\" stroke-width=\"1\">\r\n <circle cx=\"22\" cy=\"22\" r=\"22\" stroke=\"none\" />\r\n <circle cx=\"22\" cy=\"22\" r=\"21.5\" fill=\"none\" />\r\n </g>\r\n <g id=\"Group_120\" data-name=\"Group 120\" transform=\"translate(-4835.141 378.855)\">\r\n <g id=\"Group_1\" data-name=\"Group 1\" transform=\"translate(7.29 0)\">\r\n <path id=\"Path_1\" data-name=\"Path 1\"\r\n d=\"M93.774,41.324,98.757,44.2v5.753l-4.983,2.877-4.983-2.877V44.2l4.983-2.877m0-2.034L87.03,43.183V50.97l6.744,3.893,6.744-3.893V43.183L93.774,39.29Z\"\r\n transform=\"translate(-87.03 -39.29)\" fill=\"gray\" />\r\n </g>\r\n <g id=\"Group_2\" data-name=\"Group 2\" transform=\"translate(0 12.717)\">\r\n <path id=\"Path_2\" data-name=\"Path 2\"\r\n d=\"M52.374,113.544l4.983,2.877v5.753l-4.983,2.877-4.983-2.877v-5.753l4.983-2.877m0-2.034L45.63,115.4v7.787l6.744,3.893,6.744-3.893V115.4l-6.744-3.893Z\"\r\n transform=\"translate(-45.63 -111.51)\" fill=\"gray\" />\r\n </g>\r\n <g id=\"Group_3\" data-name=\"Group 3\" transform=\"translate(14.793 12.717)\">\r\n <path id=\"Path_3\" data-name=\"Path 3\"\r\n d=\"M136.384,113.544l4.983,2.877v5.753l-4.983,2.877-4.983-2.877v-5.753l4.983-2.877m0-2.034L129.64,115.4v7.787l6.744,3.893,6.744-3.893V115.4l-6.744-3.893Z\"\r\n transform=\"translate(-129.64 -111.51)\" fill=\"gray\" />\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n\r\n <div class=\"dateTime\" [style.color]=\"dateTimeColor ? '' : ''\">\r\n <span>{{ 'Assistant' }}</span> {{ chat?.time }}\r\n </div>\r\n </div>\r\n\r\n <div class=\"Icon_TimeSTamp\" *ngIf=\"chat?.type === 'user'\">\r\n <div class=\"user-Box\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"44\" height=\"44\" viewBox=\"0 0 44 44\">\r\n <g id=\"Ellipse_17\" data-name=\"Ellipse 17\" fill=\"#fcfcfc\" stroke=\"#dfdfdf\" stroke-width=\"1\">\r\n <circle cx=\"22\" cy=\"22\" r=\"22\" stroke=\"none\" />\r\n <circle cx=\"22\" cy=\"22\" r=\"21.5\" fill=\"none\" />\r\n </g>\r\n <path id=\"Icon_grommet-user-expert\" data-name=\"Icon grommet-user-expert\"\r\n d=\"M14.24,20.443a9.472,9.472,0,1,0-9.472-9.472,9.472,9.472,0,0,0,9.472,9.472Zm10.329,5.225c-1.957-3.347-6.516-5.225-10.329-5.225-3.145,0-8.046.805-10.761,5.225\"\r\n transform=\"translate(7.976 8.416)\" fill=\"none\" stroke=\"gray\" stroke-width=\"1.5\" />\r\n </svg>\r\n\r\n <div class=\"dateTime\"><span>You</span> {{ chat?.time }}\r\n </div>\r\n </div>\r\n <div class=\"bards\">\r\n <div class=\"bars\" *ngIf=\"chat?.WorkflowExecutionId || chat?.showWorkflowExecutionLoader\">\r\n <button class=\"icon-button\" (click)=\"showWorkflowHistoryDetails(chat.WorkflowExecutionId)\">\r\n <i class=\"fas fa-bars\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <div class=\"researchingCard\">\r\n <div *ngIf=\"\r\n (chat?.searchTerms && chat?.searchTerms.length > 0) ||\r\n (chat?.sourcesList && chat?.sourcesList.length > 0)\r\n \" class=\"card-header d-flex align-items-center\" (click)=\"toggleCollapse()\">\r\n <span class=\"icon\"><i class=\"bx bx-plus-circle bx-sm\"></i></span>\r\n <span class=\"ml-2\">Researching\r\n <i id=\"toggleIcon\" class=\"toggle-icon ml-2 fa\" [ngClass]=\"{\r\n 'fa-chevron-down': isCollapsed,\r\n 'fa-chevron-up': !isCollapsed\r\n }\"></i></span>\r\n </div>\r\n <div *ngIf=\"chat?.searchTerms && chat?.searchTerms.length > 0\" [ngClass]=\"{ collapse: isCollapsed }\">\r\n <ul class=\"list-group list-group-flush uptList\">\r\n <li *ngFor=\"let term of chat?.searchTerms\" class=\"list-group-item\">\r\n Searching for\r\n <strong>{{ term }}</strong>\r\n </li>\r\n </ul>\r\n\r\n <h5 class=\"mt-2\" *ngIf=\"chat?.sourcesList && chat?.sourcesList.length > 0\">\r\n <i class=\"bx bx-unite\"></i> Sources\r\n </h5>\r\n <div class=\"sources-container\" *ngIf=\"chat?.sourcesList && chat?.sourcesList.length > 0\">\r\n <div class=\"source-card\" *ngFor=\"\r\n let source of chat?.displayedSources;\r\n let i = index\r\n \">\r\n <div>\r\n <div class=\"source-title\">{{ source.title }}</div>\r\n <div class=\"source-url\">\r\n <img class=\"relative block\" [src]=\"getFaviconUrl(source.link)\"\r\n [alt]=\"getDomainName(source.link) + ' favicon'\" />\r\n {{ getDomainName(source.link) }}\r\n </div>\r\n <div class=\"popup\">\r\n <div class=\"source-url\" (click)=\"openLinkInNewTab(source.link)\">\r\n <img class=\"relative block\" [src]=\"getFaviconUrl(source.link)\"\r\n [alt]=\"getDomainName(source.link) + ' favicon'\" />\r\n {{ getDomainName(source.link) }}\r\n </div>\r\n <h5 (click)=\"openLinkInNewTab(source.link)\">\r\n {{ source.title }}\r\n </h5>\r\n <p (click)=\"openLinkInNewTab(source.link)\">\r\n {{ source.desc }}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"\r\n chat?.remainingSources &&\r\n chat?.remainingSources.length > 0\r\n \">\r\n <div class=\"source-card\" (click)=\"onCardClick(chat?.sourcesList)\">\r\n <div>\r\n <div class=\"source-title\">\r\n <img *ngFor=\"\r\n let source of chat?.remainingSources;\r\n let i = index\r\n \" class=\"relative block\" [src]=\"getFaviconUrl(source.link)\"\r\n [alt]=\"getDomainName(source.link) + ' favicon'\" />\r\n </div>\r\n <div class=\"source-url\">\r\n View {{ chat?.remainingSources.length }} more\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"chat?.type === 'ai' || chat?.type === 'user'\" [ngStyle]=\"{\r\n background:\r\n chat?.type === 'ai' && bgBubbleAi\r\n ? ''\r\n : chat?.type === 'user' && bgBubbleUser\r\n ? ''\r\n : ''\r\n }\">\r\n <div id=\"messageText_{{ i }}\">\r\n <p *ngIf=\"chat?.type === 'ai' || chat?.type === 'user'\" [ngClass]=\"{\r\n 'SearchTitle ai': chat?.type === 'ai',\r\n 'SearchTitle user': chat?.type === 'user'\r\n }\" [ngStyle]=\"{\r\n background: chat?.type === 'ai' && messageTextColorAi ? messageTextColorAi : (chat?.type === 'user' && messageTextColorUser ? messageTextColorUser : 'defaultBackground'),\r\n color: chat?.type === 'ai' && messageTextColorAi ? messageTextColorAi : (chat?.type === 'user' && messageTextColorUser ? messageTextColorUser : 'defaultColor')\r\n }\" [innerHTML]=\"chat?.message\">\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"progress-container\" *ngIf=\"chat?.showWorkflowExecutionLoader\">\r\n <div class=\"circular-loader\">\r\n <div class=\"loader-spinner\" *ngIf=\"currentWorkflowActionProgress < 100\"\r\n [ngStyle]=\"{ 'transform': 'rotate(' + (percentage * 3.6) + 'deg)' }\">\r\n </div>\r\n <div class=\"checkmark\" *ngIf=\"currentWorkflowActionProgress == 100\">\r\n <svg viewBox=\"0 0 52 52\">\r\n <circle class=\"checkmark-circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkmark-check\" fill=\"none\" d=\"M14 27l7 7 16-16\" />\r\n </svg>\r\n </div>\r\n\r\n <div class=\"loader-text\" *ngIf=\"currentWorkflowActionProgress < 100\">{{\r\n currentWorkflowActionProgress\r\n }}%</div>\r\n </div>\r\n <div class=\"loader-label\">\r\n {{currentWorkflowAction}}...\r\n </div>\r\n </div>\r\n\r\n <div class=\"exicution mt-2\" *ngIf=\"\r\n chat?.type === 'ai' &&\r\n chat?.graphs &&\r\n chat?.graphs.length > 0\r\n \">\r\n <h5 *ngIf=\"chat?.type === 'ai'\">\r\n <i class=\"bx bx-network-chart\"></i> Graphs\r\n <i (click)=\"toggleCollapseFGraph()\" class=\"toggle-icon ml-2 fa\" [ngClass]=\"{\r\n 'fas fa-chevron-down': isCollapsedForFGraph,\r\n 'fas fa-chevron-up': !isCollapsedForFGraph\r\n }\"></i>\r\n </h5>\r\n <img *ngFor=\"let image of chat?.graphs\" class=\"graph-img\"\r\n [ngClass]=\"{ collapse: isCollapsedForFGraph }\" [src]=\"image\" alt=\"\" />\r\n </div>\r\n <div class=\"exicution mt-2\" *ngIf=\"\r\n chat?.type === 'ai' &&\r\n chat?.executionGraphs &&\r\n chat?.executionGraphs?.length > 0\r\n \">\r\n <h5 *ngIf=\"chat?.type === 'ai'\">\r\n <i class=\"bx bx-network-chart\"></i> Execution Path Diagram\r\n For Data Visualization Workflow\r\n <i (click)=\"toggleCollapseGraph()\" class=\"toggle-icon ml-2 fa\" [ngClass]=\"{\r\n 'fas fa-chevron-down': isCollapsedForGraph,\r\n 'fas fa-chevron-up': !isCollapsedForGraph\r\n }\"></i>\r\n </h5>\r\n <img *ngFor=\"let image of chat?.executionGraphs\" class=\"graph-img\"\r\n [ngClass]=\"{ collapse: isCollapsedForGraph }\" [src]=\"image\" alt=\"\" />\r\n </div>\r\n <div class=\"Related mt-2\" *ngIf=\"\r\n showFeedBackIconsIndex === i &&\r\n chat?.relatedListItems &&\r\n chat?.relatedListItems.length > 0\r\n \">\r\n <h5 *ngIf=\"chat?.type === 'ai'\">\r\n <i class=\"bx bx-list-check\"></i> Related\r\n </h5>\r\n <div class=\"card-container\" *ngIf=\"chat?.type === 'ai'\">\r\n <ul class=\"list-container\">\r\n <ng-container *ngFor=\"let item of chat?.relatedListItems\">\r\n <li (click)=\"fetchDataFor(item, chat)\">{{ item }}</li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"cta\" *ngIf=\"showFeedBackIconsIndex === i\">\r\n <div class=\"copyBox\" title=\"Copy\">\r\n <button title=\"{{ chat?.copied ? 'Copied!' : 'Copy' }}\" class=\"copy\" [class.active]=\"chat?.copied\"\r\n (click)=\"handleCopyClick(i)\">\r\n <i *ngIf=\"chat?.copied\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M9 16.17L4.83 12L3.41 13.41L9 19L21 7L19.59 5.59L9 16.17Z\" fill=\"#566563\" />\r\n </svg>\r\n </i>\r\n\r\n <i *ngIf=\"!chat?.copied\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\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\"\r\n fill=\"#566563\" />\r\n </svg>\r\n </i>\r\n </button>\r\n\r\n <button class=\"up copy\" title=\"{{ chat?.isEditor ? 'Added!' : 'Add to editor' }}\"\r\n (click)=\"handleEditorClick(i)\">\r\n <svg *ngIf=\"!chat?.isEditor\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20.152\" height=\"20.152\"\r\n viewBox=\"0 0 20.152 20.152\">\r\n <g id=\"Icon_feather-edit\" data-name=\"Icon feather-edit\" transform=\"translate(-2.5 -2.166)\">\r\n <path id=\"Path_166\" data-name=\"Path 166\"\r\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\"\r\n transform=\"translate(0 -1.179)\" fill=\"none\" stroke=\"#393939\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" stroke-width=\"1\" />\r\n <path id=\"Path_167\" data-name=\"Path 167\"\r\n d=\"M21.915,3.4a2,2,0,0,1,2.833,2.833l-8.971,8.971L12,16.152l.944-3.777Z\"\r\n transform=\"translate(-3.334 0)\" fill=\"none\" stroke=\"#393939\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" stroke-width=\"1\" />\r\n </g>\r\n </svg>\r\n\r\n <i *ngIf=\"chat?.isEditor\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M9 16.17L4.83 12L3.41 13.41L9 19L21 7L19.59 5.59L9 16.17Z\" fill=\"#566563\" />\r\n </svg>\r\n </i>\r\n </button>\r\n\r\n <button class=\"up copy\" title=\"Like\" [class.active]=\"chat?.liked\" (click)=\"handleUpClick(i)\">\r\n <i *ngIf=\"chat?.liked\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\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\"\r\n fill=\"#17235B\" />\r\n <path\r\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\"\r\n fill=\"#17235B\" />\r\n </svg>\r\n </i>\r\n <i *ngIf=\"!chat?.liked\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\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\"\r\n fill=\"#566563\" stroke=\"#566563\" />\r\n <path\r\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\"\r\n fill=\"#566563\" stroke=\"#566563\" />\r\n </svg>\r\n </i>\r\n </button>\r\n <button class=\"down copy\" title=\"Dislike\" [class.active]=\"chat?.unliked\" (click)=\"handleDownClick(i)\">\r\n <i *ngIf=\"chat?.unliked\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\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\"\r\n fill=\"#17235B\" />\r\n\r\n <path\r\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\"\r\n fill=\"#17235B\" />\r\n </svg>\r\n </i>\r\n\r\n <i *ngIf=\"!chat?.unliked\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\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\"\r\n fill=\"#566563\" stroke=\"#566563\" />\r\n <path\r\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\"\r\n fill=\"#566563\" stroke=\"#566563\" />\r\n </svg>\r\n </i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"cta-faqs quick-prompts-extended\" *ngIf=\"i == 0 && quickPrompts?.length\">\r\n <!-- <div *ngFor=\"let tile of quickPrompts\" class=\"cta\"\r\n (click)=\"sendMessageWithTile(tile.prompt)\">\r\n Q: {{ tile.text }}\r\n </div> -->\r\n <div class=\"cta_suggestions\">\r\n <button *ngFor=\"let tile of quickPrompts\" (click)=\"sendMessageWithTile(tile.prompt)\">\r\n <ng-container *ngIf=\"tile\">{{ tile.text }}</ng-container>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"chat bot\" *ngIf=\"i == 0 && botSkills\">\r\n <div class=\"chat-box\">\r\n <div class=\"message\">\r\n <p [innerHTML]=\"processMessageForDisplay(botSkills)\"></p>\r\n &nbsp;\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"chat?.suggestions?.length\">\r\n <h4 class=\"labelChat\">\r\n Here are some things EventsGPT Copilot can help you do:\r\n </h4>\r\n <div class=\"cta_suggestions\">\r\n <button *ngFor=\"let suggestion of chat?.suggestions\" (click)=\"sendMessageWithTile(suggestion)\">\r\n <ng-container *ngIf=\"suggestion\">{{\r\n suggestion\r\n }}</ng-container>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"\r\n chat?.action?.section_id == 'company_search' ||\r\n chat?.action?.section_id == 'user_search' ||\r\n chat?.action?.section_id == 'industry_company_search'\r\n \">\r\n <div class=\"box\">\r\n <div class=\"tiktokwrapper\">\r\n <div class=\"tiktokshell\" *ngFor=\"let user of chat?.action.users\">\r\n <div class=\"videoPhotobox\">\r\n <ng-conatiner *ngIf=\"user?.photoPath && !user.userVideosModel\">\r\n <img [src]=\"user?.photoPath\" />\r\n </ng-conatiner>\r\n <ng-conatiner *ngIf=\"user.userVideosModel\">\r\n <app-video-player *ngIf=\"user?.userVideosModel\" [isDev]=\"isDev\" [currentUserId]=\"userId\"\r\n [videoObj]=\"user?.userVideosModel\" [user]=\"user\" [eventId]=\"eventId\" type=\"1\">\r\n </app-video-player>\r\n </ng-conatiner>\r\n </div>\r\n\r\n <div class=\"noPhoto\" *ngIf=\"!user?.photoPath && !user.userVideosModel\">\r\n <h3>\r\n {{ user.firstName | slice: 0:1\r\n }}{{ user.lastName | slice: 0:1 }}\r\n </h3>\r\n </div>\r\n <div class=\"overlymask\" *ngIf=\"!user.userVideosModel\"></div>\r\n <div class=\"onshell-content\">\r\n <div class=\"title-shell\">\r\n <h3>{{ user.firstName }} {{ user.lastName }}</h3>\r\n <h3 class=\"companyName\">{{ user.company }}</h3>\r\n </div>\r\n <div class=\"button-shell\">\r\n <button class=\"Connectbtn\" (click)=\"connectToUser(user.userId)\">\r\n {{\r\n canConnect(user.userId)\r\n ? 'Connect'\r\n : canDisconnect(user.userId)\r\n ? 'Disconnect'\r\n : 'Request\r\n Sent'\r\n }}\r\n </button>\r\n <button class=\"schedulebtn\" (click)=\"scheduleMeetingWithUser(user)\">\r\n Schedule\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"chat?.action?.section_id == myUpcomingSessionAction\">\r\n <div class=\"agenda-items-wrapper\" class=\"agenda-items-wrapper\">\r\n <div class=\"list-view\">\r\n <div class=\"session-detail-wrapper card-background-session\"\r\n *ngFor=\"let upcomingSession of chat?.action.content\">\r\n <div class=\"thumbnail\">\r\n <img alt=\"Introduction to the Imaging Radar Academy\"\r\n src=\"https://s27media.azureedge.net/8008/profile_pic/453cea2c-feba-11ed-8c0b-00155d025b0a.png\"\r\n class=\"\" />\r\n <!---->\r\n <!---->\r\n <!----><button class=\"play-btn color-primary\"\r\n title=\"Play Session: Introduction to the Imaging Radar Academy\">\r\n <span class=\"material-icons notranslate\">\r\n play_circle_outline\r\n </span>\r\n <!---->\r\n </button>\r\n <!---->\r\n <!---->\r\n </div>\r\n <!---->\r\n <!---->\r\n <div class=\"content p-3\">\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <div class=\"d-flex flex-column\">\r\n <p class=\"fs-xs mb-0 body-text-color\">\r\n {{\r\n upcomingSession.dateTimeRange.start\r\n | date\r\n : 'MM-dd-yyyy\r\n HH:mm'\r\n : 'UTC'\r\n }}\r\n -\r\n {{\r\n upcomingSession.dateTimeRange.end\r\n | date: 'MM-dd-yyyy HH:mm':'UTC'\r\n }}\r\n {{ upcomingSession.timeZone.id }}\r\n </p>\r\n <!---->\r\n <!---->\r\n <!-- <p class=\"fs-xs mb-2 color-secondary\" title=\"Session Type: Generative AI\">Generative AI </p> -->\r\n <!---->\r\n </div>\r\n <div class=\"d-flex align-items-center actions px-2\">\r\n <!---->\r\n <button (click)=\"\r\n performSessionAction(\r\n upcomingSession.id,\r\n 'view-session'\r\n )\r\n \" class=\"s27-btn-icon body-text-color\"\r\n title=\"View Session Information: Introduction to the Imaging Radar Academy\">\r\n <span class=\"material-icons notranslate\">\r\n remove_red_eye\r\n </span>\r\n </button>\r\n\r\n <button (click)=\"\r\n performSessionAction(\r\n upcomingSession.id,\r\n 'add-to-agenda'\r\n )\r\n \" class=\"s27-btn-icon body-text-color\">\r\n <span class=\"material-icons notranslate\"\r\n title=\"Add Session: Introduction to the Imaging Radar Academy to My agendaa\">\r\n event_available\r\n </span>\r\n </button>\r\n <!---->\r\n <!---->\r\n <!---->\r\n <!---->\r\n\r\n <button (click)=\"\r\n performSessionAction(upcomingSession.id, 'play')\r\n \" class=\"s27-btn-icon body-text-color\" title=\"Copy session link to share\">\r\n <span class=\"material-icons notranslate\">\r\n play_circle_outline\r\n </span>\r\n </button>\r\n <!---->\r\n </div>\r\n </div>\r\n <h2 class=\"body-text-color\">\r\n {{ upcomingSession.title }}\r\n </h2>\r\n <div class=\"session-description color-secondary\"\r\n [innerHTML]=\"sanitizeHtml(upcomingSession.description)\">\r\n </div>\r\n <ul class=\"speakers grid-2-cols\" *ngFor=\"let speakerId of upcomingSession.speakers\">\r\n <li class=\"\">\r\n <div class=\"image\" title=\"Blair Wunderlich\">\r\n <img alt=\"Blair Wunderlich\" [src]=\"speakers[speakerId]?.photoPath\" class=\"\" />\r\n <!---->\r\n <!---->\r\n <!---->\r\n </div>\r\n <!---->\r\n <div class=\"content pl-3\" style=\"text-transform: none\">\r\n <div class=\"mb-0 body-text-color fs-xs fw-500\">\r\n {{ speakers[speakerId]?.firstName }}\r\n {{ speakers[speakerId]?.lastName }}\r\n </div>\r\n <div class=\"color-secondary fs-xxs\">\r\n {{ speakers[speakerId]?.jobTitle }}\r\n </div>\r\n <div class=\"color-secondary fs-xxs\">\r\n {{ speakers[speakerId]?.company }}\r\n </div>\r\n </div>\r\n <!---->\r\n </li>\r\n </ul>\r\n <!---->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"chat bot\" *ngIf=\"isChatingWithAi && !executingWorkflow\">\r\n <div class=\"chat-box\">\r\n <div class=\"message\">\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width: 55%\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width: 80%\"></span>\r\n <span class=\"skeleton-box\" style=\"width: 90%\"></span>\r\n <span class=\"skeleton-box\" style=\"width: 83%\"></span>\r\n <span class=\"skeleton-box\" style=\"width: 80%\"></span>\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"time-cta\">\r\n <div class=\"Icon_TimeSTamp\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"44\" height=\"44\" viewBox=\"0 0 44 44\">\r\n <g id=\"Group_121\" data-name=\"Group 121\" transform=\"translate(4843 -371)\">\r\n <g id=\"Ellipse_18\" data-name=\"Ellipse 18\" transform=\"translate(-4843 371)\" fill=\"#fcfcfc\"\r\n stroke=\"#dfdfdf\" stroke-width=\"1\">\r\n <circle cx=\"22\" cy=\"22\" r=\"22\" stroke=\"none\" />\r\n <circle cx=\"22\" cy=\"22\" r=\"21.5\" fill=\"none\" />\r\n </g>\r\n <g id=\"Group_120\" data-name=\"Group 120\" transform=\"translate(-4835.141 378.855)\">\r\n <g id=\"Group_1\" data-name=\"Group 1\" transform=\"translate(7.29 0)\">\r\n <path id=\"Path_1\" data-name=\"Path 1\"\r\n d=\"M93.774,41.324,98.757,44.2v5.753l-4.983,2.877-4.983-2.877V44.2l4.983-2.877m0-2.034L87.03,43.183V50.97l6.744,3.893,6.744-3.893V43.183L93.774,39.29Z\"\r\n transform=\"translate(-87.03 -39.29)\" fill=\"gray\" />\r\n </g>\r\n <g id=\"Group_2\" data-name=\"Group 2\" transform=\"translate(0 12.717)\">\r\n <path id=\"Path_2\" data-name=\"Path 2\"\r\n d=\"M52.374,113.544l4.983,2.877v5.753l-4.983,2.877-4.983-2.877v-5.753l4.983-2.877m0-2.034L45.63,115.4v7.787l6.744,3.893,6.744-3.893V115.4l-6.744-3.893Z\"\r\n transform=\"translate(-45.63 -111.51)\" fill=\"gray\" />\r\n </g>\r\n <g id=\"Group_3\" data-name=\"Group 3\" transform=\"translate(14.793 12.717)\">\r\n <path id=\"Path_3\" data-name=\"Path 3\"\r\n d=\"M136.384,113.544l4.983,2.877v5.753l-4.983,2.877-4.983-2.877v-5.753l4.983-2.877m0-2.034L129.64,115.4v7.787l6.744,3.893,6.744-3.893V115.4l-6.744-3.893Z\"\r\n transform=\"translate(-129.64 -111.51)\" fill=\"gray\" />\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n <div class=\"dateTime\" [style.color]=\"dateTimeColor ? '' : ''\">\r\n <span> {{ 'Assistant' }}</span> {{ chat?.time\r\n ? chat?.time\r\n : (dateTime.now | date: 'shortTime')\r\n }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"chat bot\" *ngIf=\"loading\">\r\n <div class=\"chat-box\">\r\n <div class=\"message\">\r\n <div class=\"o-media__body\">\r\n <div class=\"o-vertical-spacing\">\r\n <h3 class=\"blog-post__headline\">\r\n <span class=\"skeleton-box\" style=\"width: 55%\"></span>\r\n </h3>\r\n <p>\r\n <span class=\"skeleton-box\" style=\"width: 80%\"></span>\r\n <span class=\"skeleton-box\" style=\"width: 90%\"></span>\r\n <span class=\"skeleton-box\" style=\"width: 83%\"></span>\r\n <span class=\"skeleton-box\" style=\"width: 80%\"></span>\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"time-cta\">\r\n <div class=\"Icon_TimeSTamp\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"44\" height=\"44\" viewBox=\"0 0 44 44\">\r\n <g id=\"Group_121\" data-name=\"Group 121\" transform=\"translate(4843 -371)\">\r\n <g id=\"Ellipse_18\" data-name=\"Ellipse 18\" transform=\"translate(-4843 371)\" fill=\"#fcfcfc\"\r\n stroke=\"#dfdfdf\" stroke-width=\"1\">\r\n <circle cx=\"22\" cy=\"22\" r=\"22\" stroke=\"none\" />\r\n <circle cx=\"22\" cy=\"22\" r=\"21.5\" fill=\"none\" />\r\n </g>\r\n <g id=\"Group_120\" data-name=\"Group 120\" transform=\"translate(-4835.141 378.855)\">\r\n <g id=\"Group_1\" data-name=\"Group 1\" transform=\"translate(7.29 0)\">\r\n <path id=\"Path_1\" data-name=\"Path 1\"\r\n d=\"M93.774,41.324,98.757,44.2v5.753l-4.983,2.877-4.983-2.877V44.2l4.983-2.877m0-2.034L87.03,43.183V50.97l6.744,3.893,6.744-3.893V43.183L93.774,39.29Z\"\r\n transform=\"translate(-87.03 -39.29)\" fill=\"gray\" />\r\n </g>\r\n <g id=\"Group_2\" data-name=\"Group 2\" transform=\"translate(0 12.717)\">\r\n <path id=\"Path_2\" data-name=\"Path 2\"\r\n d=\"M52.374,113.544l4.983,2.877v5.753l-4.983,2.877-4.983-2.877v-5.753l4.983-2.877m0-2.034L45.63,115.4v7.787l6.744,3.893,6.744-3.893V115.4l-6.744-3.893Z\"\r\n transform=\"translate(-45.63 -111.51)\" fill=\"gray\" />\r\n </g>\r\n <g id=\"Group_3\" data-name=\"Group 3\" transform=\"translate(14.793 12.717)\">\r\n <path id=\"Path_3\" data-name=\"Path 3\"\r\n d=\"M136.384,113.544l4.983,2.877v5.753l-4.983,2.877-4.983-2.877v-5.753l4.983-2.877m0-2.034L129.64,115.4v7.787l6.744,3.893,6.744-3.893V115.4l-6.744-3.893Z\"\r\n transform=\"translate(-129.64 -111.51)\" fill=\"gray\" />\r\n </g>\r\n </g>\r\n </g>\r\n </svg>\r\n <div class=\"dateTime\" [style.color]=\"dateTimeColor ? '' : ''\">\r\n <span>{{ 'Loading ...' }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div #chatMain></div> -->\r\n <div *ngIf=\"openWorkflowInput && selectedWorkflow && !executingWorkflow\" class=\"chatFooterWrapper\">\r\n <!-- new UI for Chat Message Section by Amit -->\r\n <div class=\"chat-footer-upt\">\r\n <div class=\"topinfo-containerbox\">\r\n <div class=\"agents_note_wrapper\">\r\n <div>\r\n <h6>{{selectedWorkflow?.Name}}</h6>\r\n {{selectedWorkflow?.Description}}\r\n </div>\r\n </div>\r\n\r\n <div class=\"agents_note_wrapper\">\r\n <button mat-icon-button class=\"closeButtonSource\" (click)=\"toggleWorkflows(false)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"bottombox-wrapper\">\r\n <!-- here i need to loop through all the input fields selectedWorkflow.Trigger.InputSchema and render the input fields -->\r\n <!-- Form for Workflow Inputs -->\r\n <form [formGroup]=\"workflowForm\" (ngSubmit)=\"onWorkflowSubmit()\" class=\"form-container\">\r\n <div *ngFor=\"let input of selectedWorkflow?.Trigger?.InputSchema\" class=\"form-group\">\r\n <label>{{ input.Label }}</label>\r\n\r\n <!-- Handle Text Input or Text Area based on requirement -->\r\n <textarea *ngIf=\"input.Type === 'string'\" formControlName=\"{{input.InputId}}\"\r\n [placeholder]=\"input.Placeholder\" [rows]=\"2\" [required]=\"input.Required\"\r\n class=\"form-control\"></textarea>\r\n\r\n <!-- Dropdown for Select Options -->\r\n <select *ngIf=\"input.Type === 'select'\" formControlName=\"{{input.InputId}}\" class=\"form-control\">\r\n <option *ngFor=\"let option of input.Options\" [value]=\"option.Value\">{{\r\n option.Label }}</option>\r\n </select>\r\n </div>\r\n\r\n <!-- Submit button aligned to the right -->\r\n <div class=\"form-group\">\r\n <button type=\"submit\" class=\"btn btn-primary submit-button\">Submit</button>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- new UI for Chat Message Section by Amit -->\r\n </div>\r\n <div *ngIf=\"!openWorkflowInput\" class=\"chatFooterWrapper\">\r\n <!-- new UI for Chat Message Section by Amit -->\r\n <div class=\"chat-footer-upt\">\r\n <div class=\"topinfo-containerbox\">\r\n <div class=\"agents_note_wrapper\">\r\n\r\n <div class=\"agents-dropdown-wrapper\">\r\n <div class=\"dropdown-wrapper\" (click)=\"toggleDropdown()\">\r\n <div class=\"dropdown-header\">\r\n <span>{{ getDropdownHeaderText() }}</span>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\" stroke=\"currentColor\"\r\n stroke-width=\"2\" viewBox=\"0 0 24 24\">\r\n <path d=\"M19 9l-7 7-7-7\" />\r\n </svg>\r\n </div>\r\n <div class=\"dropdown-menu\" *ngIf=\"isDropdownOpen\">\r\n <label (click)=\"onSelectAll()\">\r\n <input type=\"checkbox\" [checked]=\"areAllSelected()\" />\r\n All\r\n </label>\r\n <label *ngFor=\"let agent of agents\" (click)=\"onAgentChange(agent)\">\r\n <input type=\"checkbox\" [(ngModel)]=\"agent.selected\" />\r\n {{ agent.agentName }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"agents_note_wrapper\">\r\n\r\n <div class=\"agents-dropdown-wrapper\">\r\n <div class=\"dropdown-wrapper\" (click)=\"toggleWorkflows()\">\r\n <div class=\"dropdown-header\">\r\n <svg stroke=\"currentColor\" fill=\"currentColor\" stroke-width=\"0\" viewBox=\"0 0 256 256\"\r\n class=\"h-5 w-5\" height=\"1.3em\" width=\"1.3em\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\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\">\r\n </path>\r\n </svg>&nbsp;\r\n Workflows\r\n </div>\r\n <div class=\"dropdown-menu\" *ngIf=\"isWorkflowOpen\">\r\n <label *ngFor=\"let orgWorkflow of orgWorkflows\" (click)=\"onWorkflowSelected(orgWorkflow)\">\r\n {{ orgWorkflow.Name }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n <div class=\"bottombox-wrapper\">\r\n <!-- <input [disabled]=\"isChatingWithAi\" type=\"text\" class=\"form-control-1 s27-scroll\"\r\n \r\n placeholder=\"Ask anything...\" [style.background]=\"formFieldBgColor ? formFieldBgColor : ''\"\r\n [style.color]=\"formFieldTextColor ? formFieldTextColor : ''\" [(ngModel)]=\"input\"\r\n (keyup.enter)=\"handleSubmit()\" #myInput /> -->\r\n <textarea [disabled]=\"isChatingWithAi\" class=\"form-control-1 s27-scroll chat-textarea\"\r\n placeholder=\"Ask anything...\" [(ngModel)]=\"input\" (keydown)=\"handleKeydown($event)\"\r\n (input)=\"adjustTextareaHeight($event)\" #myInput></textarea>\r\n\r\n <button (click)=\"toggleRecording()\" class=\"btn cta-chat mr-1\">\r\n <svg *ngIf=\"!isRecording\" stroke=\"currentColor\" fill=\"currentColor\" stroke-width=\"0\" viewBox=\"0 0 512 512\"\r\n height=\"1em\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <!-- Mic Icon -->\r\n <path\r\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\">\r\n </path>\r\n </svg>\r\n <svg *ngIf=\"isRecording\" stroke=\"currentColor\" fill=\"currentColor\" stroke-width=\"0\" viewBox=\"0 0 24 24\"\r\n height=\"1em\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <!-- Square Stop Icon -->\r\n <path d=\"M5 5h14v14H5z\"></path>\r\n </svg>\r\n </button>\r\n\r\n\r\n <button class=\"btn cta-chat rotate\" (click)=\"handleSubmit()\"\r\n [style.background]=\"sendButtonColor ? sendButtonColor : ''\"\r\n [style.color]=\"sendButtonTextColor ? sendButtonTextColor : ''\">\r\n <svg stroke=\"currentColor\" fill=\"currentColor\" stroke-width=\"0\" viewBox=\"0 0 512 512\" height=\"1em\"\r\n width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\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\">\r\n </path>\r\n </svg>\r\n <!-- SEND -->\r\n </button>\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- new UI for Chat Message Section by Amit -->\r\n </div>\r\n\r\n <div class=\"NoteTxt\">\r\n <div class=\"note\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12.882\" height=\"12.883\" viewBox=\"0 0 12.882 12.883\">\r\n <path id=\"Icon_ion-shield-checkmark\" data-name=\"Icon ion-shield-checkmark\"\r\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\"\r\n transform=\"translate(-2.25 -2.25)\" fill=\"#06f\" />\r\n </svg>\r\n\r\n\r\n <span class=\"text\">Your personal or company information is kept\r\n private and secure\r\n within this chat.</span>\r\n </div>\r\n </div>\r\n </mat-drawer-content>\r\n </mat-drawer>\r\n <mat-drawer class=\"drawer edit-boxDrawer\" style=\"width: 45%\" #sourcesDrawer [position]=\"'end'\" [mode]=\"'over'\"\r\n [style.background]=\"\r\n 'linear-gradient(' + (bgGradient ? bgGradient.join(', ') : '') + ')'\r\n \">\r\n <mat-drawer-content>\r\n <div class=\"sourceDraweContainer\">\r\n <div class=\"container-fluid\">\r\n <button mat-icon-button class=\"closeButtonSource\" (click)=\"onCloseSource()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <h1>{{ currentSourcesList?.length }} Sources</h1>\r\n <!-- <p>Tell me about latest news from Mistral about AI agents announcement done this month</p> -->\r\n <hr />\r\n <ul class=\"sources-list\">\r\n <li *ngFor=\"let item of currentSourcesList; let si = index\">\r\n <!-- <input type=\"checkbox\" id=\"source1\"> -->\r\n <div class=\"source-content\" (click)=\"openLinkInNewTab(item.link)\">\r\n <label for=\"source1\">\r\n <span class=\"source-title\"><span class=\"ml-1\">{{ si + 1\r\n }}.</span>{{ item.title }}</span>\r\n <span class=\"image-container\">\r\n <img class=\"relative block\" [src]=\"getFaviconUrl(item.link)\"\r\n [alt]=\"getDomainName(item.link) + ' favicon'\" />\r\n <span> {{ getDomainName(item.link) }}</span>\r\n </span>\r\n <span class=\"source-description\">{{ item.desc }}</span>\r\n </label>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </mat-drawer-content>\r\n </mat-drawer>\r\n <mat-drawer class=\"drawer edit-boxDrawer\" style=\"width: 45%\" #editorsDrawer [position]=\"'end'\" [mode]=\"'push'\"\r\n [style.background]=\"\r\n 'linear-gradient(' + (bgGradient ? bgGradient.join(', ') : '') + ')'\r\n \">\r\n <mat-drawer-content>\r\n <lib-bot-html-editor *ngIf=\"isContentLoaded\" [editorContent]=\"currentMessageForEditor\"\r\n [isDocInEditMode]=\"isDocInEditMode\" [documentContent]=\"documentContent\" [conversationId]=\"conversationId\"\r\n [botId]=\"botId\"></lib-bot-html-editor>\r\n </mat-drawer-content>\r\n </mat-drawer>\r\n</mat-drawer-container>\r\n\r\n\r\n<div *ngIf=\"showWorkflowExecutionDetails\" class=\"modal\">\r\n <div class=\"modal-content\">\r\n <div class=\"close-wrapper\"><span class=\"close_pop\" (click)=\"closeModal()\">&times;</span></div>\r\n <div class=\"titleSection\">\r\n <!-- Workflow Title -->\r\n <h2>{{ workflowExecutionDetails.WorkflowName }}</h2>\r\n <!-- Workflow Title -->\r\n </div>\r\n <!-- Inputs Section -->\r\n <div class=\"inputs-section\">\r\n <h3>Inputs</h3>\r\n <ul>\r\n <li *ngFor=\"let input of objectToArray(workflowExecutionDetails.Inputs)\">\r\n {{ input.key }}: {{ input.value }}\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <!-- Actions Section (Displayed as Timeline) -->\r\n <div class=\"actions-section\">\r\n <h3>Agent Actions</h3>\r\n <div class=\"timeline\">\r\n <div *ngFor=\"let action of workflowExecutionDetails.Actions\" class=\"timeline-item\">\r\n <div class=\"timestamp-section\">\r\n <h4>{{ action.ActionName || action.Name }}</h4>\r\n <p><strong></strong> {{\r\n action.InsertTimeStamp }}</p>\r\n </div>\r\n <p [innerHTML]=\"processMessageForDisplay(action.Output)\"></p>\r\n <!-- <pre>{{ action.Output }}</pre> -->\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Insert Timestamp -->\r\n <div class=\"timestamp-section\">\r\n <p><strong>Inserted At:</strong> {{\r\n workflowExecutionDetails.InsertTimeStamp }}</p>\r\n </div>\r\n </div>\r\n</div>",
1986
2265
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
1987
- styles: ["@import url(\"https://e1cdn.social27.com/digitalevents/liteversion/fonts/segoe-ui/stylesheet.css\");.sticky-header-chat{background:#fff;border-bottom:1px solid #ddd;padding:15px 0 0;position:sticky;top:-21px;transition:all 1s;z-index:100}::-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-wrapper{background:transparent!important;height:100%;inset:0;opacity:0;position:fixed;visibility:hidden;z-index:999999}.hivegpt-chat-wrapper.mat-drawer-container-has-open{background:transparent!important;opacity:1;transition:all .3s;visibility:visible;z-index:999999}.hivegpt-chat-wrapper .mat-drawer:not(.mat-drawer-side){box-shadow:none}.hivegpt-chat-wrapper mat-drawer{background-color:#fff!important;background-image:none!important;max-width:800px;width:100%}.hivegpt-chat-wrapper mat-drawer.full-width-drawer{max-width:100%}.hivegpt-chat-wrapper .mat-drawer-content{display:flex;flex-direction:column}.hivegpt-chat-wrapper .chat-header{padding:16px 40px;width:100%}.hivegpt-chat-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-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-wrapper .chat-main{display:flex;flex:1;flex-direction:column;justify-content:space-between;overflow-y:auto;width:100%}.hivegpt-chat-wrapper .chat-main .innerChat{overflow-y:auto;padding:20px 40px 10px;width:100%}.hivegpt-chat-wrapper .chat-main .chat-box{max-width:80%;width:100%}.hivegpt-chat-wrapper .chat-main .chat-box .message{margin-top:20px;min-height:60px;padding:0 20px 0 0;position:relative}.hivegpt-chat-wrapper .chat-main .chat-box .message p{color:#000;font-family:Segoe UI,sans-serif;font-size:16px;font-style:normal;font-weight:500;line-height:160%;margin:0;text-align:left;white-space:pre-line}.hivegpt-chat-wrapper .chat-main .chat-box .message p a{color:#17235b!important;cursor:pointer!important;font-weight:700;text-decoration:underline}.hivegpt-chat-wrapper .chat-main .chat-box .message .cta{align-items:end;bottom:-7px;display:inline-flex;gap:10px;grid-gap:10px;position:relative;right:-10px;z-index:5}.hivegpt-chat-wrapper .chat-main .chat-box .message .cta button{background:transparent;border:none;color:#566563;cursor:pointer;padding:0;transition:all .3s}.hivegpt-chat-wrapper .chat-main .chat-box .message .cta button i{display:inline-block}.hivegpt-chat-wrapper .chat-main .chat-box .message .cta button:hover{color:#17235b}.hivegpt-chat-wrapper .chat-main .chat-box .message .cta button.up:hover i{animation:thumbsUpAnimation .5s ease-in-out;animation-fill-mode:forwards}.hivegpt-chat-wrapper .chat-main .chat-box .message .cta button.down:hover i{animation:thumbsDownAnimation .5s ease-in-out;animation-fill-mode:forwards}.hivegpt-chat-wrapper .chat-main .chat{margin-bottom:20px}.hivegpt-chat-wrapper .chat-main .chat.user{text-align:right}.hivegpt-chat-wrapper .chat-main .chat.user .chat-box{margin-left:auto}.hivegpt-chat-wrapper .chat-main .chat.user .chat-box .message{background:linear-gradient(96deg,#8b4ead -10.61%,#761c79 84.59%);border-radius:20px 20px 0 20px;color:#fff}.hivegpt-chat-wrapper .chat-main .chat.user .chat-box .message p{color:#fff;text-align:left}.hivegpt-chat-wrapper .chat-main .chat.user .dateTime{text-align:right}.hivegpt-chat-wrapper .chat-main .chat.user .time-cta{justify-content:flex-end}.hivegpt-chat-wrapper .chat-main .chat .Icon_TimeSTamp{align-content:center;align-items:center;background:#f5f5f5;border-radius:20px;display:flex;justify-content:center;padding:5px 15px}.hivegpt-chat-wrapper .chat-main .chat .dateTime{color:#566563;font-family:Segoe UI,sans-serif;font-size:13px;font-style:normal;font-weight:500;line-height:140%;margin:0 5px}.hivegpt-chat-wrapper .chat-main .chat:last-of-type{margin-bottom:0}.hivegpt-chat-wrapper .chatFooterWrapper{background:#fff;border:2px solid hsla(0,0%,85.5%,.5882352941176471);border-radius:10px;box-shadow:2px 0 5px #e1e1e1;margin:0 auto 15px;margin-top:10px!important;transition:all .5s;width:75%}.hivegpt-chat-wrapper .chatFooterWrapper:hover{border:2px solid hsla(0,0%,72.2%,.5882352941176471);box-shadow:2px 0 4px #ddd}.hivegpt-chat-wrapper .chatFooterWrapper .chat-footer-upt{padding:4px}.hivegpt-chat-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-wrapper .chatFooterWrapper .note a{text-transform:capitalize}.hivegpt-chat-wrapper .chatFooterWrapper .note i{font-size:18px}.hivegpt-chat-wrapper .chatFooterWrapper .note i svg{height:18px;width:18px}.hivegpt-chat-wrapper .chatFooterWrapper .note span{flex:1;gap:4px;line-height:1.3}.hivegpt-chat-wrapper .chat-footer{align-items:center;display:flex;gap:8px;justify-content:space-between;padding:0;position:relative}.hivegpt-chat-wrapper .chat-footer .form-control{background:#fff!important;border:0;line-height:21px;outline:0;padding:10px;position:relative;width:100%}.hivegpt-chat-wrapper .chat-footer .form-control::-moz-placeholder{color:#6c7a78}.hivegpt-chat-wrapper .chat-footer .form-control::placeholder{color:#6c7a78}.hivegpt-chat-wrapper .chat-footer .form-control:focus{border-color:#e5ccbc}.hivegpt-chat-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-wrapper .chat-footer .cta-footer .btn{color:#000;font-weight:500;gap:8px;max-width:150px;padding:0}.hivegpt-chat-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-wrapper .chat-footer .cta-footer .cta-chat:hover{opacity:.8}.hivegpt-chat-wrapper .chat-footer .cta-footer .cta-again{background:#17235b;border:1px solid #17235b;color:#fff}.hivegpt-chat-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-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-wrapper .chat-main .innerChat{padding:0 24px 10px}.hivegpt-chat-wrapper .chat-footer{padding:10px 24px}.hivegpt-chat-wrapper .chat-footer .cta-footer .cta-chat{max-width:100%}.hivegpt-chat-wrapper .chat-footer .form-control{height:80px}.hivegpt-chat-wrapper .chat-header .closeIcon{height:28px;right:8px;top:8px;width:28px}.hivegpt-chat-wrapper .chat-header .closeIcon span{font-size:14px}.hivegpt-chat-wrapper .chat-header{padding:10px 24px}.hivegpt-chat-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.user .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.user .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:#06f;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:#06f}.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;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;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 5s 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%)}@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{border-radius:13px;color:#566563;display:flex;gap:12px;padding:5px 10px;position:relative;width:105px}.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{align-items:center;background-color:#f5f5f5;border-top:1px solid #ccc;flex-direction:column;justify-content:center}.chat-footer{background:#fff;flex-direction:column;margin-bottom:10px}.chat-footer,.topinfo-containerbox{align-items:center;display:flex;width:100%}.topinfo-containerbox{background:#f9f9f9;border-bottom:1px solid #efefef;justify-content:space-between;margin:0;padding:5px 10px 8px}.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:#06f;cursor:pointer}.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:20px 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:#000;font-size:13px}.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-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%,86.7%,.23137254901960785);border-radius:15px;padding:15px;width:70%}.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.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;transform:rotate(-15deg);transition:all .5s;width:40px}.btn.cta-chat:hover{background:#d7d7d7;color:#666;transform:rotate(0deg)}.btn.cta-chat svg{vertical-align:middle}.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}.SearchTitle{background:hsla(0,0%,96.1%,.6784313725490196);border-radius:15px;font-size:14px!important;padding:8px 15px;text-transform:capitalize}.exicution{margin:26px 0!important}.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:50px;transition:all .5s;width:120px;z-index:1000}.new-conversationbutton:hover{background:#eee}"]
2266
+ styles: ["@import url(\"https://e1cdn.social27.com/digitalevents/liteversion/fonts/segoe-ui/stylesheet.css\");.sticky-header-chat{background:#fff;border-bottom:1px solid #ddd;padding:0 0 10px;position:sticky;top:-21px;transition:all 1s;z-index:100}::-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-wrapper{background:transparent!important;height:100%;inset:0;opacity:0;position:fixed;visibility:hidden;z-index:999999}.hivegpt-chat-wrapper.mat-drawer-container-has-open{background:transparent!important;opacity:1;transition:all .3s;visibility:visible;z-index:999999}.hivegpt-chat-wrapper .mat-drawer:not(.mat-drawer-side){box-shadow:none}.hivegpt-chat-wrapper mat-drawer{background-color:#fff!important;background-image:none!important;width:100%}.hivegpt-chat-wrapper mat-drawer.full-width-drawer{max-width:100%}.hivegpt-chat-wrapper .mat-drawer-content{display:flex;flex-direction:column}.hivegpt-chat-wrapper .chat-header{padding:16px 40px;width:100%}.hivegpt-chat-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-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-wrapper .chat-main{display:flex;flex:1;flex-direction:column;justify-content:space-between;overflow-y:auto;width:100%}.hivegpt-chat-wrapper .chat-main .innerChat{overflow-y:auto;padding:20px 40px 10px;width:100%}.hivegpt-chat-wrapper .chat-main .chat-box{max-width:80%;width:100%}.hivegpt-chat-wrapper .chat-main .chat-box .message{margin-left:70px;margin-top:20px;min-height:60px;padding:0 20px 0 0;position:relative}.hivegpt-chat-wrapper .chat-main .chat-box .message p{color:#000;font-family:Segoe UI,sans-serif;font-size:16px;font-style:normal;font-weight:500;line-height:160%;margin:0;text-align:left;white-space:pre-line}.hivegpt-chat-wrapper .chat-main .chat-box .message p a{color:#17235b!important;cursor:pointer!important;font-weight:700;text-decoration:underline}.hivegpt-chat-wrapper .chat-main .chat-box .message .cta{align-items:end;bottom:-7px;display:inline-flex;gap:10px;grid-gap:10px;position:relative;right:-10px;z-index:5}.hivegpt-chat-wrapper .chat-main .chat-box .message .cta button{background:transparent;border:none;color:#566563;cursor:pointer;padding:0;transition:all .3s}.hivegpt-chat-wrapper .chat-main .chat-box .message .cta button i{display:inline-block}.hivegpt-chat-wrapper .chat-main .chat-box .message .cta button:hover{color:#17235b}.hivegpt-chat-wrapper .chat-main .chat-box .message .cta button.up:hover i{animation:thumbsUpAnimation .5s ease-in-out;animation-fill-mode:forwards}.hivegpt-chat-wrapper .chat-main .chat-box .message .cta button.down:hover i{animation:thumbsDownAnimation .5s ease-in-out;animation-fill-mode:forwards}.hivegpt-chat-wrapper .chat-main .chat{margin-bottom:20px}.hivegpt-chat-wrapper .chat-main .chat.user{text-align:right}.hivegpt-chat-wrapper .chat-main .chat.user .chat-box{margin-left:auto}.hivegpt-chat-wrapper .chat-main .chat.user .chat-box .message{background:linear-gradient(96deg,#8b4ead -10.61%,#761c79 84.59%);border-radius:20px 20px 0 20px;color:#fff}.hivegpt-chat-wrapper .chat-main .chat.user .chat-box .message p{color:#fff;text-align:left}.hivegpt-chat-wrapper .chat-main .chat.user .dateTime{text-align:right}.hivegpt-chat-wrapper .chat-main .chat.user .time-cta{justify-content:flex-end}.hivegpt-chat-wrapper .chat-main .chat .Icon_TimeSTamp{align-content:center;align-items:center;display:flex;justify-content:left;margin:0 -60px;width:auto}.hivegpt-chat-wrapper .chat-main .chat .dateTime{color:#333232;font-size:15px;font-style:normal;font-weight:300;line-height:140%}.hivegpt-chat-wrapper .chat-main .chat .dateTime span{color:#06f;font-size:15px;font-style:normal;font-weight:500;line-height:140%;margin-left:15px;margin-right:5px}.hivegpt-chat-wrapper .chat-main .chat:last-of-type{margin-bottom:0}.hivegpt-chat-wrapper .chatFooterWrapper{background:#fff;border:2px solid hsla(0,0%,85.5%,.5882352941176471);border-radius:10px;box-shadow:2px 0 5px #e1e1e1;margin:0 auto 15px;margin-top:10px!important;transition:all .5s;width:75%}.hivegpt-chat-wrapper .chatFooterWrapper:hover{border:2px solid hsla(0,0%,72.2%,.5882352941176471);box-shadow:2px 0 4px #ddd}.hivegpt-chat-wrapper .chatFooterWrapper .chat-footer-upt{padding:4px}.hivegpt-chat-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-wrapper .chatFooterWrapper .note a{text-transform:capitalize}.hivegpt-chat-wrapper .chatFooterWrapper .note i{font-size:18px}.hivegpt-chat-wrapper .chatFooterWrapper .note i svg{height:18px;width:18px}.hivegpt-chat-wrapper .chatFooterWrapper .note span{flex:1;gap:4px;line-height:1.3}.hivegpt-chat-wrapper .chat-footer{align-items:center;display:flex;gap:8px;justify-content:space-between;padding:0;position:relative}.hivegpt-chat-wrapper .chat-footer .form-control{background:#fff!important;border:0;line-height:21px;outline:0;padding:10px;position:relative;width:100%}.hivegpt-chat-wrapper .chat-footer .form-control::-moz-placeholder{color:#6c7a78}.hivegpt-chat-wrapper .chat-footer .form-control::placeholder{color:#6c7a78}.hivegpt-chat-wrapper .chat-footer .form-control:focus{border-color:#e5ccbc}.hivegpt-chat-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-wrapper .chat-footer .cta-footer .btn{color:#000;font-weight:500;gap:8px;max-width:150px;padding:0}.hivegpt-chat-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-wrapper .chat-footer .cta-footer .cta-chat:hover{opacity:.8}.hivegpt-chat-wrapper .chat-footer .cta-footer .cta-again{background:#17235b;border:1px solid #17235b;color:#fff}.hivegpt-chat-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-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-wrapper .chat-main .innerChat{padding:0 24px 10px}.hivegpt-chat-wrapper .chat-footer{padding:10px 24px}.hivegpt-chat-wrapper .chat-footer .cta-footer .cta-chat{max-width:100%}.hivegpt-chat-wrapper .chat-footer .form-control{height:80px}.hivegpt-chat-wrapper .chat-header .closeIcon{height:28px;right:8px;top:8px;width:28px}.hivegpt-chat-wrapper .chat-header .closeIcon span{font-size:14px}.hivegpt-chat-wrapper .chat-header{padding:10px 24px}.hivegpt-chat-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.user .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.user .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:#06f;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:#06f}.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;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;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{align-items:center;background-color:#f5f5f5;border-top:1px solid #ccc;flex-direction:column;justify-content:center}.chat-footer{background:#fff;flex-direction:column;margin-bottom:10px}.chat-footer,.topinfo-containerbox{align-items:center;display:flex;width:100%}.topinfo-containerbox{background:#f9f9f9;border-bottom:1px solid #efefef;justify-content:space-between;margin:0;padding:5px 10px 8px}.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:#06f;cursor:pointer}.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:0 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:#000;font-size:13px}.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-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%,86.7%,.23137254901960785);border-radius:15px;padding:15px;width:70%}.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}.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:capitalize}.exicution{margin:26px 0!important}.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:10px;transition:all .5s;width:120px;z-index:1000}.new-conversationbutton:hover{background:#eee}.NoteTxt{margin:0 auto}.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.user{text-transform:none!important}.SearchTitle.user,.SearchTitle.user h2,.SearchTitle.user p{font-size:30px!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}.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:italic;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;justify-content:center}.close_pop,.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}"]
1988
2267
  },] }
1989
2268
  ];
1990
2269
  ChatDrawerComponent.ctorParameters = function () { return [
2270
+ { type: forms.FormBuilder },
2271
+ { type: BotsService },
1991
2272
  { type: i0.ChangeDetectorRef },
1992
- { type: http.HttpClient },
2273
+ { type: i1.HttpClient },
1993
2274
  { type: platformBrowser.DomSanitizer },
1994
2275
  { type: i0.ElementRef },
1995
2276
  { type: i0.Renderer2 },
@@ -2014,6 +2295,7 @@
2014
2295
  botName: [{ type: i0.Input }],
2015
2296
  botSkills: [{ type: i0.Input }],
2016
2297
  botId: [{ type: i0.Input }],
2298
+ orgId: [{ type: i0.Input }],
2017
2299
  closeButtonColor: [{ type: i0.Input }],
2018
2300
  closeButtonbgColor: [{ type: i0.Input }],
2019
2301
  credentials: [{ type: i0.Input }],
@@ -2295,7 +2577,7 @@
2295
2577
  var _this = this;
2296
2578
  console.log('API call function');
2297
2579
  var url = this.environment.AGENTS_API + "/ConversationDocuments?conversationId=" + this.conversationId + "&botId=" + this.botId;
2298
- var headers = new http.HttpHeaders({
2580
+ var headers = new i1.HttpHeaders({
2299
2581
  'Content-Type': 'application/json',
2300
2582
  apiKey: 'WIz/qAm+EEmfOkFaUA/weA==',
2301
2583
  });
@@ -2318,7 +2600,7 @@
2318
2600
  var _this = this;
2319
2601
  console.log('API call function');
2320
2602
  var url = this.environment.AGENTS_API + "/ConversationDocuments/rename?conversationId=" + this.conversationId + "&botId=" + this.botId;
2321
- var headers = new http.HttpHeaders({
2603
+ var headers = new i1.HttpHeaders({
2322
2604
  'Content-Type': 'application/json',
2323
2605
  apiKey: 'WIz/qAm+EEmfOkFaUA/weA==',
2324
2606
  });
@@ -2348,7 +2630,7 @@
2348
2630
  ];
2349
2631
  BotHtmlEditorComponent.ctorParameters = function () { return [
2350
2632
  { type: i0.ChangeDetectorRef },
2351
- { type: http.HttpClient }
2633
+ { type: i1.HttpClient }
2352
2634
  ]; };
2353
2635
  BotHtmlEditorComponent.propDecorators = {
2354
2636
  editorContent: [{ type: i0.Input }],
@@ -2382,12 +2664,13 @@
2382
2664
  exports.ChatBotComponent = ChatBotComponent;
2383
2665
  exports.ChatDrawerComponent = ChatDrawerComponent;
2384
2666
  exports.HiveGptModule = HiveGptModule;
2385
- exports.ɵa = SocketService;
2386
- exports.ɵb = ConversationService;
2387
- exports.ɵc = NotificationSocket;
2388
- exports.ɵd = VideoPlayerComponent;
2389
- exports.ɵe = SafeHtmlPipe;
2390
- exports.ɵf = BotHtmlEditorComponent;
2667
+ exports.ɵa = BotsService;
2668
+ exports.ɵb = SocketService;
2669
+ exports.ɵc = ConversationService;
2670
+ exports.ɵd = NotificationSocket;
2671
+ exports.ɵe = VideoPlayerComponent;
2672
+ exports.ɵf = SafeHtmlPipe;
2673
+ exports.ɵg = BotHtmlEditorComponent;
2391
2674
 
2392
2675
  Object.defineProperty(exports, '__esModule', { value: true });
2393
2676