@hivegpt/hiveai-angular 0.0.589 → 0.0.591
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.
- package/README.md +26 -0
- package/bundles/hivegpt-hiveai-angular.umd.js +3251 -545
- package/bundles/hivegpt-hiveai-angular.umd.js.map +1 -1
- package/bundles/hivegpt-hiveai-angular.umd.min.js +1 -1
- package/bundles/hivegpt-hiveai-angular.umd.min.js.map +1 -1
- package/esm2015/hivegpt-hiveai-angular.js +6 -5
- package/esm2015/lib/components/NotificationSocket.js +29 -22
- package/esm2015/lib/components/bot.service.js +18 -12
- package/esm2015/lib/components/chat-drawer/chat-drawer.component.js +2429 -214
- package/esm2015/lib/components/chatbot/chatbot.component.js +9 -5
- package/esm2015/lib/components/conversation.service.js +13 -5
- package/esm2015/lib/components/socket-service.service.js +21 -11
- package/esm2015/lib/components/translations/translation.service.js +38 -36
- package/esm2015/lib/components/voice-agent/components/voice-agent-modal/voice-agent-modal.component.js +60 -41
- package/esm2015/lib/components/voice-agent/services/audio-analyzer.service.js +11 -5
- package/esm2015/lib/components/voice-agent/services/voice-agent.service.js +286 -156
- package/esm2015/lib/components/voice-agent/voice-agent.module.js +6 -2
- package/esm2015/lib/components/voice-agent/voice-modal-tokens.js +1 -1
- package/esm2015/lib/services/platform-token-refresh.service.js +173 -0
- package/esm2015/lib/utils/utils.js +4 -2
- package/esm2015/public-api.js +2 -3
- package/fesm2015/hivegpt-hiveai-angular.js +3070 -497
- package/fesm2015/hivegpt-hiveai-angular.js.map +1 -1
- package/hivegpt-hiveai-angular.d.ts +5 -4
- package/hivegpt-hiveai-angular.d.ts.map +1 -1
- package/hivegpt-hiveai-angular.metadata.json +1 -1
- package/lib/components/NotificationSocket.d.ts +1 -3
- package/lib/components/NotificationSocket.d.ts.map +1 -1
- package/lib/components/bot.service.d.ts +1 -2
- package/lib/components/bot.service.d.ts.map +1 -1
- package/lib/components/chat-drawer/chat-drawer.component.d.ts +285 -52
- package/lib/components/chat-drawer/chat-drawer.component.d.ts.map +1 -1
- package/lib/components/chatbot/chatbot.component.d.ts +8 -1
- package/lib/components/chatbot/chatbot.component.d.ts.map +1 -1
- package/lib/components/conversation.service.d.ts +8 -2
- package/lib/components/conversation.service.d.ts.map +1 -1
- package/lib/components/socket-service.service.d.ts +3 -4
- package/lib/components/socket-service.service.d.ts.map +1 -1
- package/lib/components/translations/translation.service.d.ts.map +1 -1
- package/lib/components/voice-agent/components/voice-agent-modal/voice-agent-modal.component.d.ts +18 -8
- package/lib/components/voice-agent/components/voice-agent-modal/voice-agent-modal.component.d.ts.map +1 -1
- package/lib/components/voice-agent/services/audio-analyzer.service.d.ts +5 -0
- package/lib/components/voice-agent/services/audio-analyzer.service.d.ts.map +1 -1
- package/lib/components/voice-agent/services/voice-agent.service.d.ts +46 -10
- package/lib/components/voice-agent/services/voice-agent.service.d.ts.map +1 -1
- package/lib/components/voice-agent/voice-agent.module.d.ts +4 -0
- package/lib/components/voice-agent/voice-agent.module.d.ts.map +1 -1
- package/lib/components/voice-agent/voice-modal-tokens.d.ts +4 -0
- package/lib/components/voice-agent/voice-modal-tokens.d.ts.map +1 -1
- package/lib/services/platform-token-refresh.service.d.ts +59 -0
- package/lib/services/platform-token-refresh.service.d.ts.map +1 -0
- package/lib/utils/utils.d.ts +1 -1
- package/lib/utils/utils.d.ts.map +1 -1
- package/package.json +4 -2
- package/public-api.d.ts +1 -2
- package/public-api.d.ts.map +1 -1
- package/esm2015/lib/models/chat.js +0 -2
- package/lib/models/chat.d.ts +0 -134
- package/lib/models/chat.d.ts.map +0 -1
|
@@ -3,6 +3,10 @@ import { CommonModule } from '@angular/common';
|
|
|
3
3
|
import { VoiceAgentModalComponent } from './components/voice-agent-modal/voice-agent-modal.component';
|
|
4
4
|
import { VoiceAgentService } from './services/voice-agent.service';
|
|
5
5
|
import { AudioAnalyzerService } from './services/audio-analyzer.service';
|
|
6
|
+
/**
|
|
7
|
+
* Voice agent module. Uses @pipecat-ai/client-js + @pipecat-ai/websocket-transport
|
|
8
|
+
* (peer dependencies) for WebSocket transport, RTVI protocol, and audio.
|
|
9
|
+
*/
|
|
6
10
|
export class VoiceAgentModule {
|
|
7
11
|
}
|
|
8
12
|
VoiceAgentModule.decorators = [
|
|
@@ -15,11 +19,11 @@ VoiceAgentModule.decorators = [
|
|
|
15
19
|
],
|
|
16
20
|
providers: [
|
|
17
21
|
VoiceAgentService,
|
|
18
|
-
AudioAnalyzerService
|
|
22
|
+
AudioAnalyzerService,
|
|
19
23
|
],
|
|
20
24
|
exports: [
|
|
21
25
|
VoiceAgentModalComponent
|
|
22
26
|
]
|
|
23
27
|
},] }
|
|
24
28
|
];
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9pY2UtYWdlbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9yb2hpdHRoYWt1ci9oaXZlLWdwdC9IaXZlQUktUGFja2FnZXMvQW5ndWxhci9wcm9qZWN0cy9oaXZlZ3B0L2V2ZW50c2dwdC1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3ZvaWNlLWFnZW50L3ZvaWNlLWFnZW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV6RTs7O0dBR0c7QUFnQkgsTUFBTSxPQUFPLGdCQUFnQjs7O1lBZjVCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osd0JBQXdCO2lCQUN6QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtpQkFDYjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsaUJBQWlCO29CQUNqQixvQkFBb0I7aUJBQ3JCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCx3QkFBd0I7aUJBQ3pCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFZvaWNlQWdlbnRNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy92b2ljZS1hZ2VudC1tb2RhbC92b2ljZS1hZ2VudC1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVm9pY2VBZ2VudFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3ZvaWNlLWFnZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXVkaW9BbmFseXplclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2F1ZGlvLWFuYWx5emVyLnNlcnZpY2UnO1xuXG4vKipcbiAqIFZvaWNlIGFnZW50IG1vZHVsZS4gVXNlcyBAcGlwZWNhdC1haS9jbGllbnQtanMgKyBAcGlwZWNhdC1haS93ZWJzb2NrZXQtdHJhbnNwb3J0XG4gKiAocGVlciBkZXBlbmRlbmNpZXMpIGZvciBXZWJTb2NrZXQgdHJhbnNwb3J0LCBSVFZJIHByb3RvY29sLCBhbmQgYXVkaW8uXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFZvaWNlQWdlbnRNb2RhbENvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIFZvaWNlQWdlbnRTZXJ2aWNlLFxuICAgIEF1ZGlvQW5hbHl6ZXJTZXJ2aWNlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVm9pY2VBZ2VudE1vZGFsQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVm9pY2VBZ2VudE1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
export const VOICE_MODAL_CONFIG = new InjectionToken('VOICE_MODAL_CONFIG');
|
|
3
3
|
export const VOICE_MODAL_CLOSE_CALLBACK = new InjectionToken('VOICE_MODAL_CLOSE_CALLBACK');
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9pY2UtbW9kYWwtdG9rZW5zLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9yb2hpdHRoYWt1ci9oaXZlLWdwdC9IaXZlQUktUGFja2FnZXMvQW5ndWxhci9wcm9qZWN0cy9oaXZlZ3B0L2V2ZW50c2dwdC1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3ZvaWNlLWFnZW50L3ZvaWNlLW1vZGFsLXRva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBb0IvQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBbUIsb0JBQW9CLENBQUMsQ0FBQztBQUM3RixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBYSw0QkFBNEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBWb2ljZU1vZGFsQ29uZmlnIHtcbiAgYXBpVXJsOiBzdHJpbmc7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGJvdElkOiBzdHJpbmc7XG4gIGNvbnZlcnNhdGlvbklkOiBzdHJpbmc7XG4gIGFwaUtleTogc3RyaW5nO1xuICBldmVudFRva2VuOiBzdHJpbmc7XG4gIC8qKiBFdmVudCBzY29wZSBpZCAoc2FtZSBhcyBob3N0IGBldmVudElkYCAvIEFQSSBgZXZlbnRzLzpldmVudElkLy4uLmApLiAqL1xuICBldmVudElkOiBzdHJpbmc7XG4gIGV2ZW50VXJsOiBzdHJpbmc7XG4gIGRvbWFpbkF1dGhvcml0eTogc3RyaW5nO1xuICBhZ2VudE5hbWU6IHN0cmluZztcbiAgYWdlbnRSb2xlOiBzdHJpbmc7XG4gIGFnZW50QXZhdGFyPzogc3RyaW5nO1xuICAvKiogU2FtZSBiYXNlIGFzIGhvc3QgYFVTRVJTX0FQSWAgKGUuZy4gYGh0dHBzOi8vZXMtdXNlci5zb2NpYWwyNy5jb20vYXBpYCkgZm9yIHByb2FjdGl2ZSB0b2tlbiByZWZyZXNoLiAqL1xuICB1c2Vyc0FwaVVybD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IFZPSUNFX01PREFMX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxWb2ljZU1vZGFsQ29uZmlnPignVk9JQ0VfTU9EQUxfQ09ORklHJyk7XG5leHBvcnQgY29uc3QgVk9JQ0VfTU9EQUxfQ0xPU0VfQ0FMTEJBQ0sgPSBuZXcgSW5qZWN0aW9uVG9rZW48KCkgPT4gdm9pZD4oJ1ZPSUNFX01PREFMX0NMT1NFX0NBTExCQUNLJyk7XG4iXX0=
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
2
|
+
import { HttpClient } from '@angular/common/http';
|
|
3
|
+
import { Inject, Injectable, InjectionToken, Optional, PLATFORM_ID, } from '@angular/core';
|
|
4
|
+
import { BehaviorSubject, of, throwError } from 'rxjs';
|
|
5
|
+
import { catchError, filter, switchMap, take } from 'rxjs/operators';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common/http";
|
|
8
|
+
/**
|
|
9
|
+
* Default matches Pro-Events `AppConstants.authTokenKey` — same localStorage shape
|
|
10
|
+
* `{ accessToken, refreshToken, ... }` as JSON.
|
|
11
|
+
* Named factory (no arrow fn) so ngc metadata collection accepts it.
|
|
12
|
+
*/
|
|
13
|
+
export function hiveGptAuthStorageKeyFactory() {
|
|
14
|
+
return 'authcc-aae1';
|
|
15
|
+
}
|
|
16
|
+
export const HIVEGPT_AUTH_STORAGE_KEY = new InjectionToken('HIVEGPT_AUTH_STORAGE_KEY', {
|
|
17
|
+
providedIn: 'root',
|
|
18
|
+
factory: hiveGptAuthStorageKeyFactory,
|
|
19
|
+
});
|
|
20
|
+
/**
|
|
21
|
+
* Proactive access-token refresh (JWT `exp`) + single-flight queue, aligned with
|
|
22
|
+
* Pro-Events `EventInterceptor` + `AuthService.refreshToken`.
|
|
23
|
+
*/
|
|
24
|
+
export class PlatformTokenRefreshService {
|
|
25
|
+
constructor(http,
|
|
26
|
+
/** Use `Object` (not `object`) so ngc metadata collection accepts the parameter type. */
|
|
27
|
+
platformId,
|
|
28
|
+
/**
|
|
29
|
+
* Avoid `string | null` on the parameter — `|` is treated as unsupported expression in ngc metadata.
|
|
30
|
+
*/
|
|
31
|
+
authStorageKey) {
|
|
32
|
+
this.http = http;
|
|
33
|
+
this.platformId = platformId;
|
|
34
|
+
this.refreshTokenInProgress = false;
|
|
35
|
+
this.refreshTokenSubject = new BehaviorSubject(null);
|
|
36
|
+
this.storageKey =
|
|
37
|
+
authStorageKey != null && authStorageKey !== ''
|
|
38
|
+
? authStorageKey
|
|
39
|
+
: 'authcc-aae1';
|
|
40
|
+
}
|
|
41
|
+
/** Read parsed auth blob from localStorage (same as host app). */
|
|
42
|
+
readStoredAuth() {
|
|
43
|
+
if (!isPlatformBrowser(this.platformId)) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
const raw = localStorage.getItem(this.storageKey);
|
|
48
|
+
if (!raw) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
return JSON.parse(raw);
|
|
52
|
+
}
|
|
53
|
+
catch (_a) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
persistAuth(res) {
|
|
58
|
+
if (!isPlatformBrowser(this.platformId) || !res) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
try {
|
|
62
|
+
localStorage.setItem(this.storageKey, JSON.stringify(res));
|
|
63
|
+
}
|
|
64
|
+
catch (e) {
|
|
65
|
+
console.warn('[HiveGpt] Failed to persist auth tokens', e);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* JWT `exp` check without @auth0/angular-jwt (keeps package lean).
|
|
70
|
+
* @param skewSeconds refresh slightly before actual expiry (clock skew).
|
|
71
|
+
*/
|
|
72
|
+
isAccessTokenExpired(token, skewSeconds = 60) {
|
|
73
|
+
if (!token || typeof token !== 'string') {
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
const expMs = this.getJwtExpirationMs(token);
|
|
77
|
+
if (expMs == null) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
return expMs - skewSeconds * 1000 < Date.now();
|
|
81
|
+
}
|
|
82
|
+
getJwtExpirationMs(token) {
|
|
83
|
+
try {
|
|
84
|
+
const parts = token.split('.');
|
|
85
|
+
if (parts.length < 2) {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
const payload = parts[1]
|
|
89
|
+
.replace(/-/g, '+')
|
|
90
|
+
.replace(/_/g, '/');
|
|
91
|
+
const padded = payload + '='.repeat((4 - (payload.length % 4)) % 4);
|
|
92
|
+
if (typeof atob === 'undefined') {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
const json = JSON.parse(atob(padded));
|
|
96
|
+
if ((json === null || json === void 0 ? void 0 : json.exp) == null || typeof json.exp !== 'number') {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
return json.exp * 1000;
|
|
100
|
+
}
|
|
101
|
+
catch (_a) {
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Returns a valid access token: refreshes via `POST {usersApiBaseUrl}/user/tokenRefresh`
|
|
107
|
+
* when JWT is expired and a refresh token exists in storage.
|
|
108
|
+
*/
|
|
109
|
+
ensureValidAccessToken(currentAccessToken, usersApiBaseUrl) {
|
|
110
|
+
if (!isPlatformBrowser(this.platformId)) {
|
|
111
|
+
return of({
|
|
112
|
+
accessToken: currentAccessToken !== null && currentAccessToken !== void 0 ? currentAccessToken : '',
|
|
113
|
+
refreshed: false,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
const stored = this.readStoredAuth();
|
|
117
|
+
const access = (currentAccessToken && String(currentAccessToken).trim()) ||
|
|
118
|
+
(stored === null || stored === void 0 ? void 0 : stored.accessToken) ||
|
|
119
|
+
'';
|
|
120
|
+
const refresh = stored === null || stored === void 0 ? void 0 : stored.refreshToken;
|
|
121
|
+
if (access && !this.isAccessTokenExpired(access)) {
|
|
122
|
+
return of({ accessToken: access, refreshed: false });
|
|
123
|
+
}
|
|
124
|
+
if (!refresh || typeof refresh !== 'string') {
|
|
125
|
+
return of({ accessToken: access, refreshed: false });
|
|
126
|
+
}
|
|
127
|
+
const base = (usersApiBaseUrl || '').replace(/\/+$/, '');
|
|
128
|
+
if (!base) {
|
|
129
|
+
return of({ accessToken: access, refreshed: false });
|
|
130
|
+
}
|
|
131
|
+
const url = `${base}/user/tokenRefresh`;
|
|
132
|
+
if (!this.refreshTokenInProgress) {
|
|
133
|
+
this.refreshTokenInProgress = true;
|
|
134
|
+
this.refreshTokenSubject.next(null);
|
|
135
|
+
return this.http
|
|
136
|
+
.post(url, { refreshToken: refresh })
|
|
137
|
+
.pipe(switchMap((authResponse) => {
|
|
138
|
+
this.refreshTokenInProgress = false;
|
|
139
|
+
if (authResponse === null || authResponse === void 0 ? void 0 : authResponse.accessToken) {
|
|
140
|
+
this.persistAuth(authResponse);
|
|
141
|
+
this.refreshTokenSubject.next(authResponse.accessToken);
|
|
142
|
+
return of({
|
|
143
|
+
accessToken: authResponse.accessToken,
|
|
144
|
+
refreshed: true,
|
|
145
|
+
authResponse,
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
this.refreshTokenSubject.next(null);
|
|
149
|
+
return throwError(() => new Error('Token refresh returned no accessToken'));
|
|
150
|
+
}), catchError((err) => {
|
|
151
|
+
this.refreshTokenInProgress = false;
|
|
152
|
+
this.refreshTokenSubject.next(null);
|
|
153
|
+
return throwError(() => err);
|
|
154
|
+
}));
|
|
155
|
+
}
|
|
156
|
+
return this.refreshTokenSubject.pipe(filter((t) => t != null && t !== ''), take(1), switchMap((token) => of({
|
|
157
|
+
accessToken: token,
|
|
158
|
+
refreshed: true,
|
|
159
|
+
})));
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
PlatformTokenRefreshService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PlatformTokenRefreshService_Factory() { return new PlatformTokenRefreshService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i0.PLATFORM_ID), i0.ɵɵinject(HIVEGPT_AUTH_STORAGE_KEY, 8)); }, token: PlatformTokenRefreshService, providedIn: "root" });
|
|
163
|
+
PlatformTokenRefreshService.decorators = [
|
|
164
|
+
{ type: Injectable, args: [{
|
|
165
|
+
providedIn: 'root',
|
|
166
|
+
},] }
|
|
167
|
+
];
|
|
168
|
+
PlatformTokenRefreshService.ctorParameters = () => [
|
|
169
|
+
{ type: HttpClient },
|
|
170
|
+
{ type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },
|
|
171
|
+
{ type: String, decorators: [{ type: Optional }, { type: Inject, args: [HIVEGPT_AUTH_STORAGE_KEY,] }] }
|
|
172
|
+
];
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0tdG9rZW4tcmVmcmVzaC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9yb2hpdHRoYWt1ci9oaXZlLWdwdC9IaXZlQUktUGFja2FnZXMvQW5ndWxhci9wcm9qZWN0cy9oaXZlZ3B0L2V2ZW50c2dwdC1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9wbGF0Zm9ybS10b2tlbi1yZWZyZXNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFDTCxNQUFNLEVBQ04sVUFBVSxFQUNWLGNBQWMsRUFDZCxRQUFRLEVBQ1IsV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQWMsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUVyRTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLDRCQUE0QjtJQUMxQyxPQUFPLGFBQWEsQ0FBQztBQUN2QixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQ3hELDBCQUEwQixFQUMxQjtJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSw0QkFBNEI7Q0FDdEMsQ0FDRixDQUFDO0FBbUJGOzs7R0FHRztBQUlILE1BQU0sT0FBTywyQkFBMkI7SUFNdEMsWUFDVSxJQUFnQjtJQUN4Qix5RkFBeUY7SUFDNUQsVUFBa0I7SUFDL0M7O09BRUc7SUFDMkMsY0FBc0I7UUFONUQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUVLLGVBQVUsR0FBVixVQUFVLENBQVE7UUFSekMsMkJB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LEdBQUcsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNwQyxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FDSCxDQUFDO1NBQ0w7UUFFRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQ2xDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBZSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQ2pELElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNsQixFQUFFLENBQUM7WUFDRCxXQUFXLEVBQUUsS0FBSztZQUNsQixTQUFTLEVBQUUsSUFBSTtTQUNLLENBQUMsQ0FDeEIsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7OztZQXhLRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQW5EUSxVQUFVO1lBNkQwQixNQUFNLHVCQUE5QyxNQUFNLFNBQUMsV0FBVzt5Q0FJbEIsUUFBUSxZQUFJLE1BQU0sU0FBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtcbiAgSW5qZWN0LFxuICBJbmplY3RhYmxlLFxuICBJbmplY3Rpb25Ub2tlbixcbiAgT3B0aW9uYWwsXG4gIFBMQVRGT1JNX0lELFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIERlZmF1bHQgbWF0Y2hlcyBQcm8tRXZlbnRzIGBBcHBDb25zdGFudHMuYXV0aFRva2VuS2V5YCDigJQgc2FtZSBsb2NhbFN0b3JhZ2Ugc2hhcGVcbiAqIGB7IGFjY2Vzc1Rva2VuLCByZWZyZXNoVG9rZW4sIC4uLiB9YCBhcyBKU09OLlxuICogTmFtZWQgZmFjdG9yeSAobm8gYXJyb3cgZm4pIHNvIG5nYyBtZXRhZGF0YSBjb2xsZWN0aW9uIGFjY2VwdHMgaXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoaXZlR3B0QXV0aFN0b3JhZ2VLZXlGYWN0b3J5KCk6IHN0cmluZyB7XG4gIHJldHVybiAnYXV0aGNjLWFhZTEnO1xufVxuXG5leHBvcnQgY29uc3QgSElWRUdQVF9BVVRIX1NUT1JBR0VfS0VZID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oXG4gICdISVZFR1BUX0FVVEhfU1RPUkFHRV9LRVknLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6IGhpdmVHcHRBdXRoU3RvcmFnZUtleUZhY3RvcnksXG4gIH0sXG4pO1xuXG4vKiogU3Vic2V0IG9mIHBsYXRmb3JtIHRva2VuIHJlZnJlc2ggcmVzcG9uc2UgKHVzZXIvdG9rZW5SZWZyZXNoKS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSGl2ZUdwdFBsYXRmb3JtVG9rZW5SZXNwb25zZSB7XG4gIGFjY2Vzc1Rva2VuPzogc3RyaW5nO1xuICByZWZyZXNoVG9rZW4/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBleHBpcmVzSW4/OiBudW1iZXIgfCBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW5zdXJlVG9rZW5SZXN1bHQge1xuICBhY2Nlc3NUb2tlbjogc3RyaW5nO1xuICAvKiogVHJ1ZSB3aGVuIGEgbmV0d29yayByZWZyZXNoIHdhcyBwZXJmb3JtZWQgc3VjY2Vzc2Z1bGx5LiAqL1xuICByZWZyZXNoZWQ6IGJvb2xlYW47XG4gIC8qKiBGdWxsIEFQSSBwYXlsb2FkIHdoZW4gcmVmcmVzaGVkIChmb3IgaG9zdCBgc2F2ZVRva2VuQW5kTG9naW5Vc2VyYCkuICovXG4gIGF1dGhSZXNwb25zZT86IEhpdmVHcHRQbGF0Zm9ybVRva2VuUmVzcG9uc2U7XG59XG5cbi8qKlxuICogUHJvYWN0aXZlIGFjY2Vzcy10b2tlbiByZWZyZXNoIChKV1QgYGV4cGApICsgc2luZ2xlLWZsaWdodCBxdWV1ZSwgYWxpZ25lZCB3aXRoXG4gKiBQcm8tRXZlbnRzIGBFdmVudEludGVyY2VwdG9yYCArIGBBdXRoU2VydmljZS5yZWZyZXNoVG9rZW5gLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUGxhdGZvcm1Ub2tlblJlZnJlc2hTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWZyZXNoVG9rZW5JblByb2dyZXNzID0gZmFsc2U7XG4gIHByaXZhdGUgcmVmcmVzaFRva2VuU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzdG9yYWdlS2V5OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIC8qKiBVc2UgYE9iamVjdGAgKG5vdCBgb2JqZWN0YCkgc28gbmdjIG1ldGFkYXRhIGNvbGxlY3Rpb24gYWNjZXB0cyB0aGUgcGFyYW1ldGVyIHR5cGUuICovXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBPYmplY3QsXG4gICAgLyoqXG4gICAgICogQXZvaWQgYHN0cmluZyB8IG51bGxgIG9uIHRoZSBwYXJhbWV0ZXIg4oCUIGB8YCBpcyB0cmVhdGVkIGFzIHVuc3VwcG9ydGVkIGV4cHJlc3Npb24gaW4gbmdjIG1ldGFkYXRhLlxuICAgICAqL1xuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoSElWRUdQVF9BVVRIX1NUT1JBR0VfS0VZKSBhdXRoU3RvcmFnZUtleTogc3RyaW5nLFxuICApIHtcbiAgICB0aGlzLnN0b3JhZ2VLZXkgPVxuICAgICAgYXV0aFN0b3JhZ2VLZXkgIT0gbnVsbCAmJiBhdXRoU3RvcmFnZUtleSAhPT0gJydcbiAgICAgICAgPyBhdXRoU3RvcmFnZUtleVxuICAgICAgICA6ICdhdXRoY2MtYWFlMSc7XG4gIH1cblxuICAvKiogUmVhZCBwYXJzZWQgYXV0aCBibG9iIGZyb20gbG9jYWxTdG9yYWdlIChzYW1lIGFzIGhvc3QgYXBwKS4gKi9cbiAgcmVhZFN0b3JlZEF1dGgoKTogSGl2ZUdwdFBsYXRmb3JtVG9rZW5SZXNwb25zZSB8IG51bGwge1xuICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCByYXcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2VLZXkpO1xuICAgICAgaWYgKCFyYXcpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShyYXcpIGFzIEhpdmVHcHRQbGF0Zm9ybVRva2VuUmVzcG9uc2U7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwZXJzaXN0QXV0aChyZXM6IEhpdmVHcHRQbGF0Zm9ybVRva2VuUmVzcG9uc2UpOiB2b2lkIHtcbiAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgfHwgIXJlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5zdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeShyZXMpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1tIaXZlR3B0XSBGYWlsZWQgdG8gcGVyc2lzdCBhdXRoIHRva2VucycsIGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBKV1QgYGV4cGAgY2hlY2sgd2l0aG91dCBAYXV0aDAvYW5ndWxhci1qd3QgKGtlZXBzIHBhY2thZ2UgbGVhbikuXG4gICAqIEBwYXJhbSBza2V3U2Vjb25kcyByZWZyZXNoIHNsaWdodGx5IGJlZm9yZSBhY3R1YWwgZXhwaXJ5IChjbG9jayBza2V3KS5cbiAgICovXG4gIGlzQWNjZXNzVG9rZW5FeHBpcmVkKFxuICAgIHRva2VuOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgIHNrZXdTZWNvbmRzID0gNjAsXG4gICk6IGJvb2xlYW4ge1xuICAgIGlmICghdG9rZW4gfHwgdHlwZW9mIHRva2VuICE9PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IGV4cE1zID0gdGhpcy5nZXRKd3RFeHBpcmF0aW9uTXModG9rZW4pO1xuICAgIGlmIChleHBNcyA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBleHBNcyAtIHNrZXdTZWNvbmRzICogMTAwMCA8IERhdGUubm93KCk7XG4gIH1cblxuICBwcml2YXRlIGdldEp3dEV4cGlyYXRpb25Ncyh0b2tlbjogc3RyaW5nKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcnRzID0gdG9rZW4uc3BsaXQoJy4nKTtcbiAgICAgIGlmIChwYXJ0cy5sZW5ndGggPCAyKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3QgcGF5bG9hZCA9IHBhcnRzWzFdXG4gICAgICAgIC5yZXBsYWNlKC8tL2csICcrJylcbiAgICAgICAgLnJlcGxhY2UoL18vZywgJy8nKTtcbiAgICAgIGNvbnN0IHBhZGRlZCA9IHBheWxvYWQgKyAnPScucmVwZWF0KCg0IC0gKHBheWxvYWQubGVuZ3RoICUgNCkpICUgNCk7XG4gICAgICBpZiAodHlwZW9mIGF0b2IgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3QganNvbiA9IEpTT04ucGFyc2UoYXRvYihwYWRkZWQpKSBhcyB7IGV4cD86IG51bWJlciB9O1xuICAgICAgaWYgKGpzb24/LmV4cCA9PSBudWxsIHx8IHR5cGVvZiBqc29uLmV4cCAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4ganNvbi5leHAgKiAxMDAwO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSB2YWxpZCBhY2Nlc3MgdG9rZW46IHJlZnJlc2hlcyB2aWEgYFBPU1Qge3VzZXJzQXBpQmFzZVVybH0vdXNlci90b2tlblJlZnJlc2hgXG4gICAqIHdoZW4gSldUIGlzIGV4cGlyZWQgYW5kIGEgcmVmcmVzaCB0b2tlbiBleGlzdHMgaW4gc3RvcmFnZS5cbiAgICovXG4gIGVuc3VyZVZhbGlkQWNjZXNzVG9rZW4oXG4gICAgY3VycmVudEFjY2Vzc1Rva2VuOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsLFxuICAgIHVzZXJzQXBpQmFzZVVybDogc3RyaW5nLFxuICApOiBPYnNlcnZhYmxlPEVuc3VyZVRva2VuUmVzdWx0PiB7XG4gICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICByZXR1cm4gb2Yoe1xuICAgICAgICBhY2Nlc3NUb2tlbjogY3VycmVudEFjY2Vzc1Rva2VuID8/ICcnLFxuICAgICAgICByZWZyZXNoZWQ6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RvcmVkID0gdGhpcy5yZWFkU3RvcmVkQXV0aCgpO1xuICAgIGNvbnN0IGFjY2VzcyA9XG4gICAgICAoY3VycmVudEFjY2Vzc1Rva2VuICYmIFN0cmluZyhjdXJyZW50QWNjZXNzVG9rZW4pLnRyaW0oKSkgfHxcbiAgICAgIHN0b3JlZD8uYWNjZXNzVG9rZW4gfHxcbiAgICAgICcnO1xuICAgIGNvbnN0IHJlZnJlc2ggPSBzdG9yZWQ/LnJlZnJlc2hUb2tlbjtcblxuICAgIGlmIChhY2Nlc3MgJiYgIXRoaXMuaXNBY2Nlc3NUb2tlbkV4cGlyZWQoYWNjZXNzKSkge1xuICAgICAgcmV0dXJuIG9mKHsgYWNjZXNzVG9rZW46IGFjY2VzcywgcmVmcmVzaGVkOiBmYWxzZSB9KTtcbiAgICB9XG5cbiAgICBpZiAoIXJlZnJlc2ggfHwgdHlwZW9mIHJlZnJlc2ggIT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gb2YoeyBhY2Nlc3NUb2tlbjogYWNjZXNzLCByZWZyZXNoZWQ6IGZhbHNlIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGJhc2UgPSAodXNlcnNBcGlCYXNlVXJsIHx8ICcnKS5yZXBsYWNlKC9cXC8rJC8sICcnKTtcbiAgICBpZiAoIWJhc2UpIHtcbiAgICAgIHJldHVybiBvZih7IGFjY2Vzc1Rva2VuOiBhY2Nlc3MsIHJlZnJlc2hlZDogZmFsc2UgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgdXJsID0gYCR7YmFzZX0vdXNlci90b2tlblJlZnJlc2hgO1xuXG4gICAgaWYgKCF0aGlzLnJlZnJlc2hUb2tlbkluUHJvZ3Jlc3MpIHtcbiAgICAgIHRoaXMucmVmcmVzaFRva2VuSW5Qcm9ncmVzcyA9IHRydWU7XG4gICAgICB0aGlzLnJlZnJlc2hUb2tlblN1YmplY3QubmV4dChudWxsKTtcblxuICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAucG9zdDxIaXZlR3B0UGxhdGZvcm1Ub2tlblJlc3BvbnNlPih1cmwsIHsgcmVmcmVzaFRva2VuOiByZWZyZXNoIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHN3aXRjaE1hcCgoYXV0aFJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hUb2tlbkluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmIChhdXRoUmVzcG9uc2U/LmFjY2Vzc1Rva2VuKSB7XG4gICAgICAgICAgICAgIHRoaXMucGVyc2lzdEF1dGgoYXV0aFJlc3BvbnNlKTtcbiAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQoYXV0aFJlc3BvbnNlLmFjY2Vzc1Rva2VuKTtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKHtcbiAgICAgICAgICAgICAgICBhY2Nlc3NUb2tlbjogYXV0aFJlc3BvbnNlLmFjY2Vzc1Rva2VuLFxuICAgICAgICAgICAgICAgIHJlZnJlc2hlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBhdXRoUmVzcG9uc2UsXG4gICAgICAgICAgICAgIH0gYXMgRW5zdXJlVG9rZW5SZXN1bHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5yZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQobnVsbCk7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ1Rva2VuIHJlZnJlc2ggcmV0dXJuZWQgbm8gYWNjZXNzVG9rZW4nKSk7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hUb2tlbkluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaFRva2VuU3ViamVjdC5uZXh0KG51bGwpO1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZWZyZXNoVG9rZW5TdWJqZWN0LnBpcGUoXG4gICAgICBmaWx0ZXIoKHQpOiB0IGlzIHN0cmluZyA9PiB0ICE9IG51bGwgJiYgdCAhPT0gJycpLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHN3aXRjaE1hcCgodG9rZW4pID0+XG4gICAgICAgIG9mKHtcbiAgICAgICAgICBhY2Nlc3NUb2tlbjogdG9rZW4sXG4gICAgICAgICAgcmVmcmVzaGVkOiB0cnVlLFxuICAgICAgICB9IGFzIEVuc3VyZVRva2VuUmVzdWx0KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -28,9 +28,11 @@ export const formatTimeStamps = (timezone, timestamps) => {
|
|
|
28
28
|
hour12: true,
|
|
29
29
|
hour: 'numeric',
|
|
30
30
|
minute: 'numeric',
|
|
31
|
-
timeZone: timezone,
|
|
32
31
|
};
|
|
32
|
+
if (timezone && timezone.trim()) {
|
|
33
|
+
options.timeZone = timezone.trim();
|
|
34
|
+
}
|
|
33
35
|
return date.toLocaleString('en-US', options);
|
|
34
36
|
};
|
|
35
37
|
export { ɵ0 };
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL3JvaGl0dGhha3VyL2hpdmUtZ3B0L0hpdmVBSS1QYWNrYWdlcy9Bbmd1bGFyL3Byb2plY3RzL2hpdmVncHQvZXZlbnRzZ3B0LWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL3V0aWxzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxJQUFVLEVBQUUsRUFBRTtJQUMzQyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ2pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNsQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNoRCxJQUFHLEtBQUssS0FBSyxDQUFDO1FBQUUsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUUzQixNQUFNLGNBQWMsR0FBRyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDeEQsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFFaEUsT0FBTyxHQUFHLGNBQWMsSUFBSSxnQkFBZ0IsSUFBSSxJQUFJLEVBQUUsQ0FBQztBQUN6RCxDQUFDLENBQUM7O0FBRUYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsUUFBaUIsRUFBRSxFQUFFO0lBQzdDLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDdkIsSUFBSSxRQUFRLEVBQUU7UUFDWixNQUFNLE9BQU8sR0FBUTtZQUNuQixNQUFNLEVBQUUsSUFBSTtZQUNaLElBQUksRUFBRSxTQUFTO1lBQ2YsTUFBTSxFQUFFLFNBQVM7WUFDakIsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQztRQUNGLE9BQU8sR0FBRyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDN0M7SUFDRCxPQUFPLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsUUFBNEIsRUFBRSxVQUFlLEVBQUUsRUFBRTtJQUNoRixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDeEMsTUFBTSxPQUFPLEdBQVE7UUFDbkIsTUFBTSxFQUFFLElBQUk7UUFDWixJQUFJLEVBQUUsU0FBUztRQUNmLE1BQU0sRUFBRSxTQUFTO0tBQ2xCLENBQUM7SUFDRixJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDL0IsT0FBTyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDcEM7SUFDRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9DLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGZvcm1hdEhvdXJzQW5kTWludXRlcyA9IChkYXRlOiBEYXRlKSA9PiB7XG4gIGxldCBob3VycyA9IGRhdGUuZ2V0SG91cnMoKSAlIDEyO1xuICBjb25zdCBtaW51dGVzID0gZGF0ZS5nZXRNaW51dGVzKCk7XG4gIGNvbnN0IGFtUG0gPSBkYXRlLmdldEhvdXJzKCkgPCAxMiA/ICdBTScgOiAnUE0nO1xuICBpZihob3VycyA9PT0gMCkgaG91cnMgPSAxMjtcblxuICBjb25zdCBmb3JtYXR0ZWRIb3VycyA9IGhvdXJzIDwgMTAgPyBgMCR7aG91cnN9YCA6IGhvdXJzO1xuICBjb25zdCBmb3JtYXR0ZWRNaW51dGVzID0gbWludXRlcyA8IDEwID8gYDAke21pbnV0ZXN9YCA6IG1pbnV0ZXM7XG5cbiAgcmV0dXJuIGAke2Zvcm1hdHRlZEhvdXJzfToke2Zvcm1hdHRlZE1pbnV0ZXN9ICR7YW1QbX1gO1xufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdE5vdyA9ICh0aW1lem9uZT86IHN0cmluZykgPT4ge1xuICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICBpZiAodGltZXpvbmUpIHtcbiAgICBjb25zdCBvcHRpb25zOiBhbnkgPSB7XG4gICAgICBob3VyMTI6IHRydWUsXG4gICAgICBob3VyOiAnbnVtZXJpYycsXG4gICAgICBtaW51dGU6ICdudW1lcmljJyxcbiAgICAgIHRpbWVab25lOiB0aW1lem9uZSxcbiAgICB9O1xuICAgIHJldHVybiBub3cudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywgb3B0aW9ucyk7XG4gIH1cbiAgcmV0dXJuIGZvcm1hdEhvdXJzQW5kTWludXRlcyhub3cpO1xufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdFRpbWVTdGFtcHMgPSAodGltZXpvbmU6IHN0cmluZyB8IHVuZGVmaW5lZCwgdGltZXN0YW1wczogYW55KSA9PiB7XG4gIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aW1lc3RhbXBzICsgJ1onKTtcbiAgY29uc3Qgb3B0aW9uczogYW55ID0ge1xuICAgIGhvdXIxMjogdHJ1ZSxcbiAgICBob3VyOiAnbnVtZXJpYycsXG4gICAgbWludXRlOiAnbnVtZXJpYycsXG4gIH07XG4gIGlmICh0aW1lem9uZSAmJiB0aW1lem9uZS50cmltKCkpIHtcbiAgICBvcHRpb25zLnRpbWVab25lID0gdGltZXpvbmUudHJpbSgpO1xuICB9XG4gIHJldHVybiBkYXRlLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIG9wdGlvbnMpO1xufTtcbiJdfQ==
|
package/esm2015/public-api.js
CHANGED
|
@@ -8,7 +8,6 @@ export * from './lib/components/voice-agent/services/voice-agent.service';
|
|
|
8
8
|
export * from './lib/components/voice-agent/services/audio-analyzer.service';
|
|
9
9
|
export * from './lib/components/voice-agent/voice-agent.module';
|
|
10
10
|
export * from './lib/components/voice-agent/voice-modal-tokens';
|
|
11
|
-
export * from './lib/components/NotificationSocket';
|
|
12
|
-
export * from './lib/models/chat';
|
|
13
11
|
export * from './lib/hivegpt.module';
|
|
14
|
-
|
|
12
|
+
export * from './lib/services/platform-token-refresh.service';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvcm9oaXR0aGFrdXIvaGl2ZS1ncHQvSGl2ZUFJLVBhY2thZ2VzL0FuZ3VsYXIvcHJvamVjdHMvaGl2ZWdwdC9ldmVudHNncHQtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsdUZBQXVGLENBQUM7QUFDdEcsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsK0NBQStDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGhpdmUtZ3B0XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jaGF0LWRyYXdlci9jaGF0LWRyYXdlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jaGF0Ym90L2NoYXRib3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdm9pY2UtYWdlbnQvY29tcG9uZW50cy92b2ljZS1hZ2VudC1tb2RhbC92b2ljZS1hZ2VudC1tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy92b2ljZS1hZ2VudC9zZXJ2aWNlcy92b2ljZS1hZ2VudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdm9pY2UtYWdlbnQvc2VydmljZXMvYXVkaW8tYW5hbHl6ZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3ZvaWNlLWFnZW50L3ZvaWNlLWFnZW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3ZvaWNlLWFnZW50L3ZvaWNlLW1vZGFsLXRva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9oaXZlZ3B0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wbGF0Zm9ybS10b2tlbi1yZWZyZXNoLnNlcnZpY2UnO1xuIl19
|