@hivegpt/hiveai-angular 0.0.156 → 0.0.159

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,42 +1,60 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { webSocket } from 'rxjs/webSocket';
4
- import { prod_environment } from '../../environments/environment';
2
+ import { ConversationService } from './conversation.service';
3
+ import { NotificationSocket } from './NotificationSocket';
5
4
  import * as i0 from "@angular/core";
5
+ import * as i1 from "./conversation.service";
6
+ import * as i2 from "./NotificationSocket";
6
7
  export class SocketService {
7
- constructor() {
8
- this.connect();
8
+ constructor(conversationService, notificationSocket) {
9
+ this.conversationService = conversationService;
10
+ this.notificationSocket = notificationSocket;
11
+ this.isCommonSocketInitialized = false;
12
+ this.isUserSpecificSocketInitialized = false;
13
+ this.isUserSpecificEventReleased = true;
14
+ this.messageQueue = [];
15
+ this.releaseInterval = 1000;
16
+ this.intervalSetup = false;
17
+ this.startReleasingMessages();
9
18
  }
10
- connect() {
11
- const url = prod_environment;
12
- this.socket$ = webSocket(url.SocketUrl);
13
- this.socket$.subscribe((message) => this.onMessage(message), (err) => console.error('WebSocket error', err), () => console.warn('WebSocket closed'));
19
+ isSocketInitialized(isCommon) {
20
+ return isCommon
21
+ ? this.isCommonSocketInitialized
22
+ : this.isUserSpecificSocketInitialized &&
23
+ !this.isUserSpecificEventReleased;
14
24
  }
15
- onMessage(message) {
16
- console.log('Received message:', message);
17
- // Handle incoming messages
25
+ disconnectSocketConnection() {
26
+ this.notificationSocket.disconnect();
18
27
  }
19
- sendMessage(message) {
20
- this.socket$.next(message);
21
- }
22
- close() {
23
- this.socket$.complete();
28
+ registerUserSpecificHiveSocket(botId, conversation_id) {
29
+ this.notificationSocket.emit('joinData', {
30
+ groupId: "Hive_AI_Notifs_" + botId + "_" + conversation_id,
31
+ });
32
+ this.notificationSocket
33
+ .fromEvent('commonNotification')
34
+ .subscribe((res) => {
35
+ this.conversationService.sendValidatedUserData(res);
36
+ });
24
37
  }
25
- onEvent(eventName) {
26
- return new Observable((observer) => {
27
- this.socket$.subscribe((message) => {
28
- if (message.event === eventName) {
29
- observer.next(message.data);
38
+ startReleasingMessages() {
39
+ if (!this.intervalSetup) {
40
+ setInterval(() => {
41
+ if (this.messageQueue.length > 0) {
42
+ const message = this.messageQueue.shift(); // Remove the first message from the queue
43
+ // this.campaignService.sendValidatedUserData(message);
30
44
  }
31
- });
32
- });
45
+ }, this.releaseInterval);
46
+ this.intervalSetup = true; // Prevents multiple intervals
47
+ }
33
48
  }
34
49
  }
35
- SocketService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SocketService_Factory() { return new SocketService(); }, token: SocketService, providedIn: "root" });
50
+ SocketService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SocketService_Factory() { return new SocketService(i0.ɵɵinject(i1.ConversationService), i0.ɵɵinject(i2.NotificationSocket)); }, token: SocketService, providedIn: "root" });
36
51
  SocketService.decorators = [
37
52
  { type: Injectable, args: [{
38
53
  providedIn: 'root'
39
54
  },] }
40
55
  ];
41
- SocketService.ctorParameters = () => [];
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LXNlcnZpY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJEOi9oaXZlR1BULUFJLXBhY2thZ2VzL0hpdmVBSS1QYWNrYWdlcy9wcm9qZWN0cy9oaXZlZ3B0L2V2ZW50c2dwdC1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3NvY2tldC1zZXJ2aWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsVUFBVSxFQUFXLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBS2xFLE1BQU0sT0FBTyxhQUFhO0lBR3hCO1FBQ0UsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTyxPQUFPO1FBQ2IsTUFBTSxHQUFHLEdBQUcsZ0JBQWdCLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXhDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUNwQixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFDcEMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLEVBQzlDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FDdkMsQ0FBQztJQUNKLENBQUM7SUFFTyxTQUFTLENBQUMsT0FBWTtRQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLDJCQUEyQjtJQUM3QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQVk7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPLENBQUMsU0FBaUI7UUFDdkIsT0FBTyxJQUFJLFVBQVUsQ0FBTSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUU7Z0JBQ3RDLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUU7b0JBQy9CLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM3QjtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7O1lBMUNGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgd2ViU29ja2V0LCBXZWJTb2NrZXRTdWJqZWN0IH0gZnJvbSAncnhqcy93ZWJTb2NrZXQnO1xuaW1wb3J0IHsgcHJvZF9lbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNvY2tldFNlcnZpY2Uge1xuICBwcml2YXRlIHNvY2tldCQ6IFdlYlNvY2tldFN1YmplY3Q8YW55PjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmNvbm5lY3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgY29ubmVjdCgpOiB2b2lkIHtcbiAgICBjb25zdCB1cmwgPSBwcm9kX2Vudmlyb25tZW50O1xuICAgIHRoaXMuc29ja2V0JCA9IHdlYlNvY2tldCh1cmwuU29ja2V0VXJsKTtcblxuICAgIHRoaXMuc29ja2V0JC5zdWJzY3JpYmUoXG4gICAgICAobWVzc2FnZSkgPT4gdGhpcy5vbk1lc3NhZ2UobWVzc2FnZSksXG4gICAgICAoZXJyKSA9PiBjb25zb2xlLmVycm9yKCdXZWJTb2NrZXQgZXJyb3InLCBlcnIpLFxuICAgICAgKCkgPT4gY29uc29sZS53YXJuKCdXZWJTb2NrZXQgY2xvc2VkJylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1lc3NhZ2UobWVzc2FnZTogYW55KTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coJ1JlY2VpdmVkIG1lc3NhZ2U6JywgbWVzc2FnZSk7XG4gICAgLy8gSGFuZGxlIGluY29taW5nIG1lc3NhZ2VzXG4gIH1cblxuICBzZW5kTWVzc2FnZShtZXNzYWdlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnNvY2tldCQubmV4dChtZXNzYWdlKTtcbiAgfVxuXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuc29ja2V0JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgb25FdmVudChldmVudE5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4oKG9ic2VydmVyKSA9PiB7XG4gICAgICB0aGlzLnNvY2tldCQuc3Vic2NyaWJlKChtZXNzYWdlOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKG1lc3NhZ2UuZXZlbnQgPT09IGV2ZW50TmFtZSkge1xuICAgICAgICAgIG9ic2VydmVyLm5leHQobWVzc2FnZS5kYXRhKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
56
+ SocketService.ctorParameters = () => [
57
+ { type: ConversationService },
58
+ { type: NotificationSocket }
59
+ ];
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LXNlcnZpY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJEOi9oaXZlR1BULUFJLXBhY2thZ2VzL0hpdmVBSS1QYWNrYWdlcy9wcm9qZWN0cy9oaXZlZ3B0L2V2ZW50c2dwdC1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3NvY2tldC1zZXJ2aWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUszQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQUsxRCxNQUFNLE9BQU8sYUFBYTtJQVF4QixZQUNVLG1CQUF3QyxFQUN4QyxrQkFBc0M7UUFEdEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBUnhDLDhCQUF5QixHQUFHLEtBQUssQ0FBQztRQUNsQyxvQ0FBK0IsR0FBRyxLQUFLLENBQUM7UUFDeEMsZ0NBQTJCLEdBQUcsSUFBSSxDQUFDO1FBQ25DLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBMkN2QixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQXJDckMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELG1CQUFtQixDQUFDLFFBQWlCO1FBQ25DLE9BQU8sUUFBUTtZQUNiLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCO1lBQ2hDLENBQUMsQ0FBQyxJQUFJLENBQUMsK0JBQStCO2dCQUN0QyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQztJQUN0QyxDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsOEJBQThCLENBQzVCLEtBQWEsRUFDYixlQUF1QjtRQUl2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN2QyxPQUFPLEVBQUUsaUJBQWlCLEdBQUcsS0FBSyxHQUFHLEdBQUcsR0FBRyxlQUFlO1NBQzNELENBQUMsQ0FBQztRQUtILElBQUksQ0FBQyxrQkFBa0I7YUFDcEIsU0FBUyxDQUFDLG9CQUFvQixDQUFDO2FBQy9CLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFPTyxzQkFBc0I7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsV0FBVyxDQUFDLEdBQUcsRUFBRTtnQkFDZixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDaEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLDBDQUEwQztvQkFDckYsdURBQXVEO2lCQUN4RDtZQUNILENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsQ0FBQyw4QkFBOEI7U0FDMUQ7SUFDSCxDQUFDOzs7O1lBaEVGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBTFEsbUJBQW1CO1lBQ25CLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgd2ViU29ja2V0LCBXZWJTb2NrZXRTdWJqZWN0IH0gZnJvbSAncnhqcy93ZWJTb2NrZXQnO1xuaW1wb3J0IHsgcHJvZF9lbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBDb252ZXJzYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9jb252ZXJzYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25Tb2NrZXQgfSBmcm9tICcuL05vdGlmaWNhdGlvblNvY2tldCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNvY2tldFNlcnZpY2Uge1xuICBwdWJsaWMgdGVzdE1lc3NhZ2U6IHN0cmluZztcbiAgcHJpdmF0ZSBpc0NvbW1vblNvY2tldEluaXRpYWxpemVkID0gZmFsc2U7XG4gIHByaXZhdGUgaXNVc2VyU3BlY2lmaWNTb2NrZXRJbml0aWFsaXplZCA9IGZhbHNlO1xuICBwcml2YXRlIGlzVXNlclNwZWNpZmljRXZlbnRSZWxlYXNlZCA9IHRydWU7XG4gIHByaXZhdGUgbWVzc2FnZVF1ZXVlOiBhbnlbXSA9IFtdO1xuICBwcml2YXRlIHJlbGVhc2VJbnRlcnZhbCA9IDEwMDA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb252ZXJzYXRpb25TZXJ2aWNlOiBDb252ZXJzYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU29ja2V0OiBOb3RpZmljYXRpb25Tb2NrZXQsXG4gICkge1xuICAgIHRoaXMuc3RhcnRSZWxlYXNpbmdNZXNzYWdlcygpO1xuICB9XG5cbiAgaXNTb2NrZXRJbml0aWFsaXplZChpc0NvbW1vbjogYm9vbGVhbikge1xuICAgIHJldHVybiBpc0NvbW1vblxuICAgICAgPyB0aGlzLmlzQ29tbW9uU29ja2V0SW5pdGlhbGl6ZWRcbiAgICAgIDogdGhpcy5pc1VzZXJTcGVjaWZpY1NvY2tldEluaXRpYWxpemVkICYmXG4gICAgICAhdGhpcy5pc1VzZXJTcGVjaWZpY0V2ZW50UmVsZWFzZWQ7XG4gIH1cblxuICBkaXNjb25uZWN0U29ja2V0Q29ubmVjdGlvbigpIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblNvY2tldC5kaXNjb25uZWN0KCk7XG4gIH1cblxuICByZWdpc3RlclVzZXJTcGVjaWZpY0hpdmVTb2NrZXQoXG4gICAgYm90SWQ6IHN0cmluZyxcbiAgICBjb252ZXJzYXRpb25faWQ6IHN0cmluZ1xuICApIHtcblxuXG4gICAgdGhpcy5ub3RpZmljYXRpb25Tb2NrZXQuZW1pdCgnam9pbkRhdGEnLCB7XG4gICAgICBncm91cElkOiBcIkhpdmVfQUlfTm90aWZzX1wiICsgYm90SWQgKyBcIl9cIiArIGNvbnZlcnNhdGlvbl9pZCxcbiAgICB9KTtcblxuXG5cblxuICAgIHRoaXMubm90aWZpY2F0aW9uU29ja2V0XG4gICAgICAuZnJvbUV2ZW50KCdjb21tb25Ob3RpZmljYXRpb24nKVxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuY29udmVyc2F0aW9uU2VydmljZS5zZW5kVmFsaWRhdGVkVXNlckRhdGEocmVzKTtcbiAgICAgIH0pO1xuICB9XG5cblxuXG5cbiAgcHJpdmF0ZSBpbnRlcnZhbFNldHVwOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBzdGFydFJlbGVhc2luZ01lc3NhZ2VzKCkge1xuICAgIGlmICghdGhpcy5pbnRlcnZhbFNldHVwKSB7XG4gICAgICBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLm1lc3NhZ2VRdWV1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IHRoaXMubWVzc2FnZVF1ZXVlLnNoaWZ0KCk7IC8vIFJlbW92ZSB0aGUgZmlyc3QgbWVzc2FnZSBmcm9tIHRoZSBxdWV1ZVxuICAgICAgICAgIC8vIHRoaXMuY2FtcGFpZ25TZXJ2aWNlLnNlbmRWYWxpZGF0ZWRVc2VyRGF0YShtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgfSwgdGhpcy5yZWxlYXNlSW50ZXJ2YWwpO1xuICAgICAgdGhpcy5pbnRlcnZhbFNldHVwID0gdHJ1ZTsgLy8gUHJldmVudHMgbXVsdGlwbGUgaW50ZXJ2YWxzXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,9 +1,9 @@
1
1
  import { HttpHeaders, HttpClient } from '@angular/common/http';
2
- import { ɵɵdefineInjectable, Injectable, EventEmitter, ElementRef, Component, ChangeDetectionStrategy, ChangeDetectorRef, Renderer2, ViewChild, ViewChildren, Input, Output, Pipe, Inject, NgModule } from '@angular/core';
2
+ import { ɵɵdefineInjectable, Injectable, ɵɵinject, EventEmitter, ElementRef, Component, ChangeDetectionStrategy, ChangeDetectorRef, Renderer2, ViewChild, ViewChildren, Input, Output, Pipe, Inject, NgModule } from '@angular/core';
3
3
  import { DomSanitizer } from '@angular/platform-browser';
4
- import { Observable, of } from 'rxjs';
4
+ import { Subject, of } from 'rxjs';
5
5
  import { switchMap, catchError } from 'rxjs/operators';
6
- import { webSocket } from 'rxjs/webSocket';
6
+ import { Socket } from 'ngx-socket-io';
7
7
  import { DOCUMENT, CommonModule } from '@angular/common';
8
8
  import { FormsModule } from '@angular/forms';
9
9
  import { MatIconModule } from '@angular/material/icon';
@@ -49,19 +49,20 @@ const prod_environment = {
49
49
  BASE_URL: 'https://agent-api.hivegpt.ai',
50
50
  AGENTS_API: 'https://hive-ai.social27.com/api',
51
51
  API_KEY: 'b621eb3f-0bd2-41d5-a48c-a8f8ab7d38f8',
52
- SocketUrl: 'notif-v2-api.social27.com/api/notifications'
52
+ SocketUrl: 'https://notif-v2-api.social27.com/api/notifications'
53
53
  };
54
54
  const dev_environment = {
55
55
  USERS_API: 'https://pre-user.social27.com/api',
56
56
  BASE_URL: 'https://agent-api.hivegpt.ai',
57
57
  AGENTS_API: 'https://hive-ai.social27.com/api',
58
58
  API_KEY: 'b621eb3f-0bd2-41d5-a48c-a8f8ab7d38f8',
59
- SocketUrl: 'notif-v2-api.social27.com/api/notifications'
59
+ SocketUrl: 'https://notif-v2-api.social27.com/api/notifications'
60
60
  };
61
61
 
62
62
  class ConversationService {
63
63
  constructor() {
64
64
  this.storageKey = 'conversationKey';
65
+ this.userSepecificNotification = new Subject();
65
66
  }
66
67
  generateKey() {
67
68
  const timestamp = Math.floor(new Date().getTime() / 1000).toString(16);
@@ -84,6 +85,13 @@ class ConversationService {
84
85
  this.ensureKeyExists(storageKey, key);
85
86
  return localStorage.getItem(storageKey);
86
87
  }
88
+ sendValidatedUserData(message) {
89
+ //console.log('lgging messages', message, new Date());\
90
+ this.userSepecificNotification.next(message);
91
+ }
92
+ getUserSpecificNotification() {
93
+ return this.userSepecificNotification.asObservable();
94
+ }
87
95
  }
88
96
  ConversationService.ɵprov = ɵɵdefineInjectable({ factory: function ConversationService_Factory() { return new ConversationService(); }, token: ConversationService, providedIn: "root" });
89
97
  ConversationService.decorators = [
@@ -93,42 +101,81 @@ ConversationService.decorators = [
93
101
  ];
94
102
  ConversationService.ctorParameters = () => [];
95
103
 
96
- class SocketService {
104
+ class NotificationSocket extends Socket {
97
105
  constructor() {
98
- this.connect();
106
+ super(socketConfig);
99
107
  }
100
- connect() {
101
- const url = prod_environment;
102
- this.socket$ = webSocket(url.SocketUrl);
103
- this.socket$.subscribe((message) => this.onMessage(message), (err) => console.error('WebSocket error', err), () => console.warn('WebSocket closed'));
104
- }
105
- onMessage(message) {
106
- console.log('Received message:', message);
107
- // Handle incoming messages
108
- }
109
- sendMessage(message) {
110
- this.socket$.next(message);
108
+ }
109
+ NotificationSocket.decorators = [
110
+ { type: Injectable }
111
+ ];
112
+ NotificationSocket.ctorParameters = () => [];
113
+ const socketConfig = {
114
+ url: prod_environment.SocketUrl,
115
+ options: {
116
+ transports: ['websocket', 'polling'],
117
+ reconnection: true,
118
+ autoConnect: true,
119
+ upgrade: true,
120
+ reconnectionDelay: 1000,
121
+ reconnectionDelayMax: 5000,
122
+ reconnectionAttempts: Infinity
111
123
  }
112
- close() {
113
- this.socket$.complete();
124
+ };
125
+
126
+ class SocketService {
127
+ constructor(conversationService, notificationSocket) {
128
+ this.conversationService = conversationService;
129
+ this.notificationSocket = notificationSocket;
130
+ this.isCommonSocketInitialized = false;
131
+ this.isUserSpecificSocketInitialized = false;
132
+ this.isUserSpecificEventReleased = true;
133
+ this.messageQueue = [];
134
+ this.releaseInterval = 1000;
135
+ this.intervalSetup = false;
136
+ this.startReleasingMessages();
137
+ }
138
+ isSocketInitialized(isCommon) {
139
+ return isCommon
140
+ ? this.isCommonSocketInitialized
141
+ : this.isUserSpecificSocketInitialized &&
142
+ !this.isUserSpecificEventReleased;
143
+ }
144
+ disconnectSocketConnection() {
145
+ this.notificationSocket.disconnect();
146
+ }
147
+ registerUserSpecificHiveSocket(botId, conversation_id) {
148
+ this.notificationSocket.emit('joinData', {
149
+ groupId: "Hive_AI_Notifs_" + botId + "_" + conversation_id,
150
+ });
151
+ this.notificationSocket
152
+ .fromEvent('commonNotification')
153
+ .subscribe((res) => {
154
+ this.conversationService.sendValidatedUserData(res);
155
+ });
114
156
  }
115
- onEvent(eventName) {
116
- return new Observable((observer) => {
117
- this.socket$.subscribe((message) => {
118
- if (message.event === eventName) {
119
- observer.next(message.data);
157
+ startReleasingMessages() {
158
+ if (!this.intervalSetup) {
159
+ setInterval(() => {
160
+ if (this.messageQueue.length > 0) {
161
+ const message = this.messageQueue.shift(); // Remove the first message from the queue
162
+ // this.campaignService.sendValidatedUserData(message);
120
163
  }
121
- });
122
- });
164
+ }, this.releaseInterval);
165
+ this.intervalSetup = true; // Prevents multiple intervals
166
+ }
123
167
  }
124
168
  }
125
- SocketService.ɵprov = ɵɵdefineInjectable({ factory: function SocketService_Factory() { return new SocketService(); }, token: SocketService, providedIn: "root" });
169
+ SocketService.ɵprov = ɵɵdefineInjectable({ factory: function SocketService_Factory() { return new SocketService(ɵɵinject(ConversationService), ɵɵinject(NotificationSocket)); }, token: SocketService, providedIn: "root" });
126
170
  SocketService.decorators = [
127
171
  { type: Injectable, args: [{
128
172
  providedIn: 'root'
129
173
  },] }
130
174
  ];
131
- SocketService.ctorParameters = () => [];
175
+ SocketService.ctorParameters = () => [
176
+ { type: ConversationService },
177
+ { type: NotificationSocket }
178
+ ];
132
179
 
133
180
  // import { Platform } from '@angular/cdk/platform';
134
181
  class ChatDrawerComponent {
@@ -262,20 +309,25 @@ class ChatDrawerComponent {
262
309
  this.fetchAgents();
263
310
  this.cdr.markForCheck();
264
311
  this.initializeSocketAndListen();
312
+ setTimeout(() => {
313
+ this.listenSockets();
314
+ }, 200);
315
+ }
316
+ initializeSocket() {
317
+ this.socketService.registerUserSpecificHiveSocket(this.botId, this.conversationKey);
318
+ }
319
+ listenSockets() {
320
+ this.eventSubscription = this.conversation
321
+ .getUserSpecificNotification()
322
+ .subscribe((res) => {
323
+ console.log("Socket Data");
324
+ console.log(res);
325
+ }, (err) => {
326
+ this.eventSubscription.unsubscribe();
327
+ console.error('Error in fetching data from socket');
328
+ });
265
329
  }
266
330
  initializeSocketAndListen() {
267
- this.eventSubscription = this.socketService.onEvent('webresult').subscribe((data) => {
268
- console.log('Event received webresult:', data);
269
- this.handleEvent(data, 'webresult');
270
- });
271
- this.eventSubscription = this.socketService.onEvent('answer').subscribe((data) => {
272
- console.log('Event received answer:', data);
273
- this.handleEvent(data, 'answer');
274
- });
275
- this.eventSubscription = this.socketService.onEvent('graph').subscribe((data) => {
276
- console.log('Event received graph:', data);
277
- this.handleEvent(data, 'graph');
278
- });
279
331
  }
280
332
  handleEvent(data, type) {
281
333
  switch (type) {
@@ -293,7 +345,7 @@ class ChatDrawerComponent {
293
345
  if (this.eventSubscription) {
294
346
  this.eventSubscription.unsubscribe();
295
347
  }
296
- this.socketService.close();
348
+ //this.socketService.close();
297
349
  }
298
350
  changeTemperature(newTemperature) {
299
351
  if (this.loading)
@@ -1381,5 +1433,5 @@ HiveGptModule.decorators = [
1381
1433
  * Generated bundle index. Do not edit.
1382
1434
  */
1383
1435
 
1384
- export { ChatBotComponent, ChatDrawerComponent, HiveGptModule, SocketService as ɵa, ConversationService as ɵb, VideoPlayerComponent as ɵc, SafeHtmlPipe as ɵd };
1436
+ export { ChatBotComponent, ChatDrawerComponent, HiveGptModule, SocketService as ɵa, ConversationService as ɵb, NotificationSocket as ɵc, VideoPlayerComponent as ɵd, SafeHtmlPipe as ɵe };
1385
1437
  //# sourceMappingURL=hivegpt-hiveai-angular.js.map