@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.
Files changed (59) hide show
  1. package/README.md +26 -0
  2. package/bundles/hivegpt-hiveai-angular.umd.js +3251 -545
  3. package/bundles/hivegpt-hiveai-angular.umd.js.map +1 -1
  4. package/bundles/hivegpt-hiveai-angular.umd.min.js +1 -1
  5. package/bundles/hivegpt-hiveai-angular.umd.min.js.map +1 -1
  6. package/esm2015/hivegpt-hiveai-angular.js +6 -5
  7. package/esm2015/lib/components/NotificationSocket.js +29 -22
  8. package/esm2015/lib/components/bot.service.js +18 -12
  9. package/esm2015/lib/components/chat-drawer/chat-drawer.component.js +2429 -214
  10. package/esm2015/lib/components/chatbot/chatbot.component.js +9 -5
  11. package/esm2015/lib/components/conversation.service.js +13 -5
  12. package/esm2015/lib/components/socket-service.service.js +21 -11
  13. package/esm2015/lib/components/translations/translation.service.js +38 -36
  14. package/esm2015/lib/components/voice-agent/components/voice-agent-modal/voice-agent-modal.component.js +60 -41
  15. package/esm2015/lib/components/voice-agent/services/audio-analyzer.service.js +11 -5
  16. package/esm2015/lib/components/voice-agent/services/voice-agent.service.js +286 -156
  17. package/esm2015/lib/components/voice-agent/voice-agent.module.js +6 -2
  18. package/esm2015/lib/components/voice-agent/voice-modal-tokens.js +1 -1
  19. package/esm2015/lib/services/platform-token-refresh.service.js +173 -0
  20. package/esm2015/lib/utils/utils.js +4 -2
  21. package/esm2015/public-api.js +2 -3
  22. package/fesm2015/hivegpt-hiveai-angular.js +3070 -497
  23. package/fesm2015/hivegpt-hiveai-angular.js.map +1 -1
  24. package/hivegpt-hiveai-angular.d.ts +5 -4
  25. package/hivegpt-hiveai-angular.d.ts.map +1 -1
  26. package/hivegpt-hiveai-angular.metadata.json +1 -1
  27. package/lib/components/NotificationSocket.d.ts +1 -3
  28. package/lib/components/NotificationSocket.d.ts.map +1 -1
  29. package/lib/components/bot.service.d.ts +1 -2
  30. package/lib/components/bot.service.d.ts.map +1 -1
  31. package/lib/components/chat-drawer/chat-drawer.component.d.ts +285 -52
  32. package/lib/components/chat-drawer/chat-drawer.component.d.ts.map +1 -1
  33. package/lib/components/chatbot/chatbot.component.d.ts +8 -1
  34. package/lib/components/chatbot/chatbot.component.d.ts.map +1 -1
  35. package/lib/components/conversation.service.d.ts +8 -2
  36. package/lib/components/conversation.service.d.ts.map +1 -1
  37. package/lib/components/socket-service.service.d.ts +3 -4
  38. package/lib/components/socket-service.service.d.ts.map +1 -1
  39. package/lib/components/translations/translation.service.d.ts.map +1 -1
  40. package/lib/components/voice-agent/components/voice-agent-modal/voice-agent-modal.component.d.ts +18 -8
  41. package/lib/components/voice-agent/components/voice-agent-modal/voice-agent-modal.component.d.ts.map +1 -1
  42. package/lib/components/voice-agent/services/audio-analyzer.service.d.ts +5 -0
  43. package/lib/components/voice-agent/services/audio-analyzer.service.d.ts.map +1 -1
  44. package/lib/components/voice-agent/services/voice-agent.service.d.ts +46 -10
  45. package/lib/components/voice-agent/services/voice-agent.service.d.ts.map +1 -1
  46. package/lib/components/voice-agent/voice-agent.module.d.ts +4 -0
  47. package/lib/components/voice-agent/voice-agent.module.d.ts.map +1 -1
  48. package/lib/components/voice-agent/voice-modal-tokens.d.ts +4 -0
  49. package/lib/components/voice-agent/voice-modal-tokens.d.ts.map +1 -1
  50. package/lib/services/platform-token-refresh.service.d.ts +59 -0
  51. package/lib/services/platform-token-refresh.service.d.ts.map +1 -0
  52. package/lib/utils/utils.d.ts +1 -1
  53. package/lib/utils/utils.d.ts.map +1 -1
  54. package/package.json +4 -2
  55. package/public-api.d.ts +1 -2
  56. package/public-api.d.ts.map +1 -1
  57. package/esm2015/lib/models/chat.js +0 -2
  58. package/lib/models/chat.d.ts +0 -134
  59. package/lib/models/chat.d.ts.map +0 -1
@@ -2,11 +2,12 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './public-api';
5
- export { BotHtmlEditorComponent as ɵg } from './lib/components/bot-html-editor/bot-html-editor.component';
5
+ export { NotificationSocket as ɵd } from './lib/components/NotificationSocket';
6
+ export { BotHtmlEditorComponent as ɵh } from './lib/components/bot-html-editor/bot-html-editor.component';
6
7
  export { BotsService as ɵa } from './lib/components/bot.service';
7
8
  export { ConversationService as ɵc } from './lib/components/conversation.service';
8
9
  export { SocketService as ɵb } from './lib/components/socket-service.service';
9
- export { TranslationService as ɵd } from './lib/components/translations/translation.service';
10
- export { VideoPlayerComponent as ɵe } from './lib/components/video-player/video-player.component';
11
- export { SafeHtmlPipe as ɵf } from './lib/pipes/safe-html.pipe';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl2ZWdwdC1oaXZlYWktYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvcm9oaXR0aGFrdXIvaGl2ZS1ncHQvSGl2ZUFJLVBhY2thZ2VzL0FuZ3VsYXIvcHJvamVjdHMvaGl2ZWdwdC9ldmVudHNncHQtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJoaXZlZ3B0LWhpdmVhaS1hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNoRyxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0JvdEh0bWxFZGl0b3JDb21wb25lbnQgYXMgybVnfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2JvdC1odG1sLWVkaXRvci9ib3QtaHRtbC1lZGl0b3IuY29tcG9uZW50JztcbmV4cG9ydCB7Qm90c1NlcnZpY2UgYXMgybVhfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2JvdC5zZXJ2aWNlJztcbmV4cG9ydCB7Q29udmVyc2F0aW9uU2VydmljZSBhcyDJtWN9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29udmVyc2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0IHtTb2NrZXRTZXJ2aWNlIGFzIMm1Yn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zb2NrZXQtc2VydmljZS5zZXJ2aWNlJztcbmV4cG9ydCB7VHJhbnNsYXRpb25TZXJ2aWNlIGFzIMm1ZH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy90cmFuc2xhdGlvbnMvdHJhbnNsYXRpb24uc2VydmljZSc7XG5leHBvcnQge1ZpZGVvUGxheWVyQ29tcG9uZW50IGFzIMm1ZX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy92aWRlby1wbGF5ZXIvdmlkZW8tcGxheWVyLmNvbXBvbmVudCc7XG5leHBvcnQge1NhZmVIdG1sUGlwZSBhcyDJtWZ9IGZyb20gJy4vbGliL3BpcGVzL3NhZmUtaHRtbC5waXBlJzsiXX0=
10
+ export { TranslationService as ɵe } from './lib/components/translations/translation.service';
11
+ export { VideoPlayerComponent as ɵf } from './lib/components/video-player/video-player.component';
12
+ export { SafeHtmlPipe as ɵg } from './lib/pipes/safe-html.pipe';
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl2ZWdwdC1oaXZlYWktYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvcm9oaXR0aGFrdXIvaGl2ZS1ncHQvSGl2ZUFJLVBhY2thZ2VzL0FuZ3VsYXIvcHJvamVjdHMvaGl2ZWdwdC9ldmVudHNncHQtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJoaXZlZ3B0LWhpdmVhaS1hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUN4RyxPQUFPLEVBQUMsV0FBVyxJQUFJLEVBQUUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUMzRixPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDaEcsT0FBTyxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtOb3RpZmljYXRpb25Tb2NrZXQgYXMgybVkfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL05vdGlmaWNhdGlvblNvY2tldCc7XG5leHBvcnQge0JvdEh0bWxFZGl0b3JDb21wb25lbnQgYXMgybVofSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2JvdC1odG1sLWVkaXRvci9ib3QtaHRtbC1lZGl0b3IuY29tcG9uZW50JztcbmV4cG9ydCB7Qm90c1NlcnZpY2UgYXMgybVhfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2JvdC5zZXJ2aWNlJztcbmV4cG9ydCB7Q29udmVyc2F0aW9uU2VydmljZSBhcyDJtWN9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29udmVyc2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0IHtTb2NrZXRTZXJ2aWNlIGFzIMm1Yn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zb2NrZXQtc2VydmljZS5zZXJ2aWNlJztcbmV4cG9ydCB7VHJhbnNsYXRpb25TZXJ2aWNlIGFzIMm1ZX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy90cmFuc2xhdGlvbnMvdHJhbnNsYXRpb24uc2VydmljZSc7XG5leHBvcnQge1ZpZGVvUGxheWVyQ29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy92aWRlby1wbGF5ZXIvdmlkZW8tcGxheWVyLmNvbXBvbmVudCc7XG5leHBvcnQge1NhZmVIdG1sUGlwZSBhcyDJtWd9IGZyb20gJy4vbGliL3BpcGVzL3NhZmUtaHRtbC5waXBlJzsiXX0=
@@ -1,32 +1,39 @@
1
- import { Injectable, InjectionToken, Inject, Optional } from '@angular/core';
1
+ import { Injectable } from '@angular/core';
2
2
  import { Socket } from 'ngx-socket-io';
3
3
  import { prod_environment } from '../../environments/environment';
4
4
  import * as i0 from "@angular/core";
5
- export const SOCKET_URL_TOKEN = new InjectionToken('SOCKET_URL');
6
5
  export class NotificationSocket extends Socket {
7
- constructor(socketUrl) {
8
- const config = {
9
- url: socketUrl || prod_environment.SocketUrl,
10
- options: {
11
- transports: ['websocket', 'polling'],
12
- reconnection: true,
13
- autoConnect: true,
14
- upgrade: true,
15
- reconnectionDelay: 1000,
16
- reconnectionDelayMax: 5000,
17
- reconnectionAttempts: Infinity
18
- }
19
- };
20
- super(config);
6
+ constructor() {
7
+ super(socketConfig);
8
+ // Log connection status
9
+ this.on('connect', () => {
10
+ console.log('Socket connected');
11
+ });
12
+ this.on('disconnect', () => {
13
+ console.warn('Socket disconnected');
14
+ });
15
+ this.on('connect_error', (err) => {
16
+ console.error('Socket connection error:', err);
17
+ });
21
18
  }
22
19
  }
23
- NotificationSocket.ɵprov = i0.ɵɵdefineInjectable({ factory: function NotificationSocket_Factory() { return new NotificationSocket(i0.ɵɵinject(SOCKET_URL_TOKEN, 8)); }, token: NotificationSocket, providedIn: "root" });
20
+ NotificationSocket.ɵprov = i0.ɵɵdefineInjectable({ factory: function NotificationSocket_Factory() { return new NotificationSocket(); }, token: NotificationSocket, providedIn: "root" });
24
21
  NotificationSocket.decorators = [
25
22
  { type: Injectable, args: [{
26
- providedIn: 'root'
23
+ providedIn: 'root' // This ensures the service is available across the application
27
24
  },] }
28
25
  ];
29
- NotificationSocket.ctorParameters = () => [
30
- { type: String, decorators: [{ type: Optional }, { type: Inject, args: [SOCKET_URL_TOKEN,] }] }
31
- ];
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpY2F0aW9uU29ja2V0LmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9yb2hpdHRoYWt1ci9oaXZlLWdwdC9IaXZlQUktUGFja2FnZXMvQW5ndWxhci9wcm9qZWN0cy9oaXZlZ3B0L2V2ZW50c2dwdC1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL05vdGlmaWNhdGlvblNvY2tldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUVsRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBUyxZQUFZLENBQUMsQ0FBQztBQUt6RSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsTUFBTTtJQUM1QyxZQUFrRCxTQUFrQjtRQUNsRSxNQUFNLE1BQU0sR0FBbUI7WUFDN0IsR0FBRyxFQUFFLFNBQVMsSUFBSSxnQkFBZ0IsQ0FBQyxTQUFTO1lBQzVDLE9BQU8sRUFBRTtnQkFDUCxVQUFVLEVBQUUsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO2dCQUNwQyxZQUFZLEVBQUUsSUFBSTtnQkFDbEIsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLE9BQU8sRUFBRSxJQUFJO2dCQUNiLGlCQUFpQixFQUFFLElBQUk7Z0JBQ3ZCLG9CQUFvQixFQUFFLElBQUk7Z0JBQzFCLG9CQUFvQixFQUFFLFFBQVE7YUFDL0I7U0FDRixDQUFDO1FBRUYsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7Ozs7WUFuQkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7eUNBRWMsUUFBUSxZQUFJLE1BQU0sU0FBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU29ja2V0LCBTb2NrZXRJb0NvbmZpZyB9IGZyb20gJ25neC1zb2NrZXQtaW8nO1xuaW1wb3J0IHsgcHJvZF9lbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XG5cbmV4cG9ydCBjb25zdCBTT0NLRVRfVVJMX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ1NPQ0tFVF9VUkwnKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uU29ja2V0IGV4dGVuZHMgU29ja2V0IHtcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChTT0NLRVRfVVJMX1RPS0VOKSBzb2NrZXRVcmw/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBjb25maWc6IFNvY2tldElvQ29uZmlnID0ge1xuICAgICAgdXJsOiBzb2NrZXRVcmwgfHwgcHJvZF9lbnZpcm9ubWVudC5Tb2NrZXRVcmwsXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIHRyYW5zcG9ydHM6IFsnd2Vic29ja2V0JywgJ3BvbGxpbmcnXSxcbiAgICAgICAgcmVjb25uZWN0aW9uOiB0cnVlLFxuICAgICAgICBhdXRvQ29ubmVjdDogdHJ1ZSxcbiAgICAgICAgdXBncmFkZTogdHJ1ZSxcbiAgICAgICAgcmVjb25uZWN0aW9uRGVsYXk6IDEwMDAsXG4gICAgICAgIHJlY29ubmVjdGlvbkRlbGF5TWF4OiA1MDAwLFxuICAgICAgICByZWNvbm5lY3Rpb25BdHRlbXB0czogSW5maW5pdHlcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgc3VwZXIoY29uZmlnKTtcbiAgfVxufVxuIl19
26
+ NotificationSocket.ctorParameters = () => [];
27
+ const socketConfig = {
28
+ url: prod_environment.SocketUrl,
29
+ options: {
30
+ transports: ['websocket', 'polling'],
31
+ reconnection: true,
32
+ autoConnect: true,
33
+ upgrade: true,
34
+ reconnectionDelay: 1000,
35
+ reconnectionDelayMax: 5000,
36
+ reconnectionAttempts: Infinity
37
+ }
38
+ };
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpY2F0aW9uU29ja2V0LmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9yb2hpdHRoYWt1ci9oaXZlLWdwdC9IaXZlQUktUGFja2FnZXMvQW5ndWxhci9wcm9qZWN0cy9oaXZlZ3B0L2V2ZW50c2dwdC1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL05vdGlmaWNhdGlvblNvY2tldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUtsRSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsTUFBTTtJQUM1QztRQUNFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVwQix3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO1lBQ3RCLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtZQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQy9CLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7O1lBbkJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTSxDQUFFLCtEQUErRDthQUNwRjs7O0FBb0JELE1BQU0sWUFBWSxHQUFtQjtJQUNuQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsU0FBUztJQUMvQixPQUFPLEVBQUU7UUFDUCxVQUFVLEVBQUUsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO1FBQ3BDLFlBQVksRUFBRSxJQUFJO1FBQ2xCLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsaUJBQWlCLEVBQUUsSUFBSTtRQUN2QixvQkFBb0IsRUFBRSxJQUFJO1FBQzFCLG9CQUFvQixFQUFFLFFBQVE7S0FDL0I7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU29ja2V0LCBTb2NrZXRJb0NvbmZpZyB9IGZyb20gJ25neC1zb2NrZXQtaW8nO1xuaW1wb3J0IHsgcHJvZF9lbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnICAvLyBUaGlzIGVuc3VyZXMgdGhlIHNlcnZpY2UgaXMgYXZhaWxhYmxlIGFjcm9zcyB0aGUgYXBwbGljYXRpb25cbn0pXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uU29ja2V0IGV4dGVuZHMgU29ja2V0IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoc29ja2V0Q29uZmlnKTtcblxuICAgIC8vIExvZyBjb25uZWN0aW9uIHN0YXR1c1xuICAgIHRoaXMub24oJ2Nvbm5lY3QnLCAoKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZygnU29ja2V0IGNvbm5lY3RlZCcpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5vbignZGlzY29ubmVjdCcsICgpID0+IHtcbiAgICAgIGNvbnNvbGUud2FybignU29ja2V0IGRpc2Nvbm5lY3RlZCcpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5vbignY29ubmVjdF9lcnJvcicsIChlcnIpID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1NvY2tldCBjb25uZWN0aW9uIGVycm9yOicsIGVycik7XG4gICAgfSk7XG4gIH1cbn1cblxuY29uc3Qgc29ja2V0Q29uZmlnOiBTb2NrZXRJb0NvbmZpZyA9IHtcbiAgdXJsOiBwcm9kX2Vudmlyb25tZW50LlNvY2tldFVybCxcbiAgb3B0aW9uczoge1xuICAgIHRyYW5zcG9ydHM6IFsnd2Vic29ja2V0JywgJ3BvbGxpbmcnXSxcbiAgICByZWNvbm5lY3Rpb246IHRydWUsXG4gICAgYXV0b0Nvbm5lY3Q6IHRydWUsXG4gICAgdXBncmFkZTogdHJ1ZSxcbiAgICByZWNvbm5lY3Rpb25EZWxheTogMTAwMCxcbiAgICByZWNvbm5lY3Rpb25EZWxheU1heDogNTAwMCxcbiAgICByZWNvbm5lY3Rpb25BdHRlbXB0czogSW5maW5pdHlcbiAgfVxufTsiXX0=
@@ -1,6 +1,7 @@
1
- import { HttpClient, HttpHeaders } from '@angular/common/http';
1
+ import { HttpClient } from '@angular/common/http';
2
2
  import { Injectable } from '@angular/core';
3
3
  import { map } from 'rxjs/operators';
4
+ import { HttpHeaders } from '@angular/common/http';
4
5
  import { Subject } from 'rxjs';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/common/http";
@@ -8,10 +9,7 @@ export class BotsService {
8
9
  constructor(http) {
9
10
  this.http = http;
10
11
  this.eventDescription = new Subject();
11
- this.bot_api = '';
12
- }
13
- setBaseUrl(url) {
14
- this.bot_api = url.replace(/\/$/, '') + '/';
12
+ this.bot_api = 'https://agent-api.hivegpt.ai/';
15
13
  }
16
14
  fetchSpeechAuthorizationToken(botId, apiKey, domain) {
17
15
  const headers = new HttpHeaders({
@@ -20,16 +18,24 @@ export class BotsService {
20
18
  'hive-bot-id': botId,
21
19
  'domain-authority': domain
22
20
  });
23
- const url = `${this.bot_api}speech/issue_token`;
24
- return this.http.get(url, { headers }).pipe(map((resp) => resp.token));
21
+ const apiUrl = `${this.bot_api}speech/issue_token`;
22
+ const url = `${apiUrl}`;
23
+ return this.http.get(url, { headers }).pipe(map((resp) => {
24
+ return resp.token;
25
+ }));
25
26
  }
26
27
  getWorkflowsByOrgId(orgId) {
27
- const url = `${this.bot_api}workflows?org_id=${orgId}`;
28
- return this.http.get(url);
28
+ const apiUrl = `${this.bot_api}workflows`;
29
+ const url = `${apiUrl}?org_id=${orgId}`;
30
+ return this.http.get(url).pipe(map((resp) => {
31
+ return resp;
32
+ }));
29
33
  }
30
34
  getWorkflowExecutionById(executionId) {
31
- const url = `${this.bot_api}workflows/execution/${executionId}`;
32
- return this.http.get(url);
35
+ const apiUrl = `${this.bot_api}workflows/execution/${executionId}`;
36
+ return this.http.get(apiUrl).pipe(map((resp) => {
37
+ return resp;
38
+ }));
33
39
  }
34
40
  }
35
41
  BotsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function BotsService_Factory() { return new BotsService(i0.ɵɵinject(i1.HttpClient)); }, token: BotsService, providedIn: "root" });
@@ -41,4 +47,4 @@ BotsService.decorators = [
41
47
  BotsService.ctorParameters = () => [
42
48
  { type: HttpClient }
43
49
  ];
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL3JvaGl0dGhha3VyL2hpdmUtZ3B0L0hpdmVBSS1QYWNrYWdlcy9Bbmd1bGFyL3Byb2plY3RzL2hpdmVncHQvZXZlbnRzZ3B0LWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYm90LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFLM0MsTUFBTSxPQUFPLFdBQVc7SUFJcEIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUhwQyxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLFlBQU8sR0FBRyxFQUFFLENBQUM7SUFFMkIsQ0FBQztJQUV6QyxVQUFVLENBQUMsR0FBVztRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUNoRCxDQUFDO0lBRUQsNkJBQTZCLENBQUMsS0FBYSxFQUFFLE1BQWMsRUFBRSxNQUFjO1FBQ3ZFLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDO1lBQzVCLGNBQWMsRUFBRSxrQkFBa0I7WUFDbEMsV0FBVyxFQUFFLE1BQU07WUFDbkIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsa0JBQWtCLEVBQUUsTUFBTTtTQUM3QixDQUFDLENBQUM7UUFFSCxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLG9CQUFvQixDQUFDO1FBQ2hELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW9CLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUMxRCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FDNUIsQ0FBQztJQUNOLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhO1FBQzdCLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sb0JBQW9CLEtBQUssRUFBRSxDQUFDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELHdCQUF3QixDQUFDLFdBQW1CO1FBQ3hDLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sdUJBQXVCLFdBQVcsRUFBRSxDQUFDO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7OztZQW5DSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQVBRLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQm90c1NlcnZpY2Uge1xuICAgIGV2ZW50RGVzY3JpcHRpb24gPSBuZXcgU3ViamVjdCgpO1xuICAgIGJvdF9hcGkgPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkgeyB9XG5cbiAgICBzZXRCYXNlVXJsKHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYm90X2FwaSA9IHVybC5yZXBsYWNlKC9cXC8kLywgJycpICsgJy8nO1xuICAgIH1cblxuICAgIGZldGNoU3BlZWNoQXV0aG9yaXphdGlvblRva2VuKGJvdElkOiBzdHJpbmcsIGFwaUtleTogc3RyaW5nLCBkb21haW46IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgICd4LWFwaS1rZXknOiBhcGlLZXksXG4gICAgICAgICAgICAnaGl2ZS1ib3QtaWQnOiBib3RJZCxcbiAgICAgICAgICAgICdkb21haW4tYXV0aG9yaXR5JzogZG9tYWluXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuYm90X2FwaX1zcGVlY2gvaXNzdWVfdG9rZW5gO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDx7IHRva2VuOiBzdHJpbmcgfT4odXJsLCB7IGhlYWRlcnMgfSkucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcCkgPT4gcmVzcC50b2tlbilcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRXb3JrZmxvd3NCeU9yZ0lkKG9yZ0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmJvdF9hcGl9d29ya2Zsb3dzP29yZ19pZD0ke29yZ0lkfWA7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCk7XG4gICAgfVxuXG4gICAgZ2V0V29ya2Zsb3dFeGVjdXRpb25CeUlkKGV4ZWN1dGlvbklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmJvdF9hcGl9d29ya2Zsb3dzL2V4ZWN1dGlvbi8ke2V4ZWN1dGlvbklkfWA7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCk7XG4gICAgfVxufVxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL3JvaGl0dGhha3VyL2hpdmUtZ3B0L0hpdmVBSS1QYWNrYWdlcy9Bbmd1bGFyL3Byb2plY3RzL2hpdmVncHQvZXZlbnRzZ3B0LWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYm90LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFLM0MsTUFBTSxPQUFPLFdBQVc7SUFHcEIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUZwQyxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLFlBQU8sR0FBRywrQkFBK0IsQ0FBQztJQUNGLENBQUM7SUFFekMsNkJBQTZCLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNO1FBQy9DLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDO1lBQzVCLGNBQWMsRUFBRSxrQkFBa0I7WUFDbEMsV0FBVyxFQUFFLE1BQU07WUFDbkIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsa0JBQWtCLEVBQUUsTUFBTTtTQUM3QixDQUFDLENBQUM7UUFFSCxNQUFNLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLG9CQUFvQixDQUFDO1FBQ25ELE1BQU0sR0FBRyxHQUFHLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDdkMsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhO1FBQzdCLE1BQU0sTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sV0FBVyxDQUFDO1FBQzFDLE1BQU0sR0FBRyxHQUFHLEdBQUcsTUFBTSxXQUFXLEtBQUssRUFBRSxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUMxQixHQUFHLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUNkLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsd0JBQXdCLENBQUMsV0FBbUI7UUFDeEMsTUFBTSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyx1QkFBdUIsV0FBVyxFQUFFLENBQUM7UUFDbkUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQzdCLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQ2QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7Ozs7WUExQ0osVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFUUSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEJvdHNTZXJ2aWNlIHtcbiAgICBldmVudERlc2NyaXB0aW9uID0gbmV3IFN1YmplY3QoKTtcbiAgICBib3RfYXBpID0gJ2h0dHBzOi8vYWdlbnQtYXBpLmhpdmVncHQuYWkvJztcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHsgfVxuXG4gICAgZmV0Y2hTcGVlY2hBdXRob3JpemF0aW9uVG9rZW4oYm90SWQsIGFwaUtleSwgZG9tYWluKSB7XG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgICd4LWFwaS1rZXknOiBhcGlLZXksXG4gICAgICAgICAgICAnaGl2ZS1ib3QtaWQnOiBib3RJZCxcbiAgICAgICAgICAgICdkb21haW4tYXV0aG9yaXR5JzogZG9tYWluXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGFwaVVybCA9IGAke3RoaXMuYm90X2FwaX1zcGVlY2gvaXNzdWVfdG9rZW5gO1xuICAgICAgICBjb25zdCB1cmwgPSBgJHthcGlVcmx9YDtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLCB7IGhlYWRlcnMgfSkucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3AudG9rZW47XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFdvcmtmbG93c0J5T3JnSWQob3JnSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IGFwaVVybCA9IGAke3RoaXMuYm90X2FwaX13b3JrZmxvd3NgO1xuICAgICAgICBjb25zdCB1cmwgPSBgJHthcGlVcmx9P29yZ19pZD0ke29yZ0lkfWA7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3A7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFdvcmtmbG93RXhlY3V0aW9uQnlJZChleGVjdXRpb25JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgY29uc3QgYXBpVXJsID0gYCR7dGhpcy5ib3RfYXBpfXdvcmtmbG93cy9leGVjdXRpb24vJHtleGVjdXRpb25JZH1gO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChhcGlVcmwpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3A6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiByZXNwO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG59Il19