@c8y/ngx-components 1023.15.0 → 1023.17.0

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 (51) hide show
  1. package/ai/index.d.ts +4 -2
  2. package/ai/index.d.ts.map +1 -1
  3. package/alarms/index.d.ts +110 -53
  4. package/alarms/index.d.ts.map +1 -1
  5. package/context-dashboard/index.d.ts +1 -0
  6. package/context-dashboard/index.d.ts.map +1 -1
  7. package/datapoint-explorer/view/index.d.ts.map +1 -1
  8. package/echart/index.d.ts +2 -0
  9. package/echart/index.d.ts.map +1 -1
  10. package/echart/models/index.d.ts +2 -0
  11. package/echart/models/index.d.ts.map +1 -1
  12. package/fesm2022/c8y-ngx-components-ai.mjs +8 -6
  13. package/fesm2022/c8y-ngx-components-ai.mjs.map +1 -1
  14. package/fesm2022/c8y-ngx-components-alarms.mjs +365 -205
  15. package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
  16. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +14 -9
  17. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  18. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +3 -2
  19. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs.map +1 -1
  20. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +2 -2
  21. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
  22. package/fesm2022/c8y-ngx-components-echart-models.mjs.map +1 -1
  23. package/fesm2022/c8y-ngx-components-echart.mjs +52 -23
  24. package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
  25. package/fesm2022/c8y-ngx-components-icon-selector.mjs +3 -3
  26. package/fesm2022/c8y-ngx-components-icon-selector.mjs.map +1 -1
  27. package/fesm2022/c8y-ngx-components-tracking.mjs +5 -5
  28. package/fesm2022/c8y-ngx-components-tracking.mjs.map +1 -1
  29. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget-ai-config.mjs +1 -1
  30. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget-ai-config.mjs.map +1 -1
  31. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +2 -2
  32. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
  33. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +4 -2
  34. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
  35. package/fesm2022/c8y-ngx-components.mjs +3976 -2935
  36. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  37. package/index.d.ts +7958 -7141
  38. package/index.d.ts.map +1 -1
  39. package/locales/de.po +44 -30
  40. package/locales/es.po +42 -30
  41. package/locales/fr.po +43 -31
  42. package/locales/ja_JP.po +39 -29
  43. package/locales/ko.po +42 -30
  44. package/locales/locales.pot +41 -16
  45. package/locales/nl.po +43 -31
  46. package/locales/pl.po +46 -34
  47. package/locales/pt_BR.po +42 -30
  48. package/locales/zh_CN.po +40 -30
  49. package/locales/zh_TW.po +44 -30
  50. package/package.json +1 -1
  51. package/widgets/implementations/datapoints-graph/index.d.ts.map +1 -1
package/ai/index.d.ts CHANGED
@@ -42,8 +42,10 @@ declare enum DataStreamType {
42
42
  MESSAGE_ANNOTATIONS = "message-annotations",
43
43
  SOURCE = "source",
44
44
  FILE = "file",
45
- STEP_START = "step-start",
46
- STEP_FINISH = "step-finish"
45
+ STEP_START = "start-step",
46
+ STEP_FINISH = "finish-step",
47
+ STEP_START_V4 = "step-start",
48
+ STEP_FINISH_V4 = "step-finish"
47
49
  }
48
50
  type AgentStep = {
49
51
  type: 'text' | 'reasoning' | string;
package/ai/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../ai/ai.model.ts","../../ai/ai.service.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;;AAGM;;AAC2B;;AAAgD;AAChF;;AAGC;;;AAGA;AACA;;AAED;;;;AAKC;AAAc;;AACf;AAED;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAEK;AACJ;;;;AAIA;AACA;;;;;AAMA;AACD;AAEK;AACJ;AAAa;;AACd;AAEK;AACJ;AACE;;;AAGC;;AAEJ;;AAGC;;AAEG;;AAEH;;AAEG;;AAEH;;;;;AAKG;AACH;;AAEE;AACA;;AAEE;;;;;AAEgD;AACnD;AACF;;;;;;;;;AAUC;;;;AACD;;AAGC;;;AAGG;;AAEH;;AAEG;;AAEH;;;AAGG;;AAEH;;;AAGG;AACH;AACD;;ACvHD;AAMc;;AAAQ;;AAuBpB;;;;AAIG;;AAkBH;;;;;;AAMG;;AAIY;;AAkBf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCG;;AAIY;;AAyEf;AAiBA;;;AA6ED;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../ai/ai.model.ts","../../ai/ai.service.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;;AAGM;;AAC2B;;AAAgD;AAChF;;AAGC;;;AAGA;AACA;;AAED;;;;AAKC;AAAc;;AACf;AAED;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAEK;AACJ;;;;AAIA;AACA;;;;;AAMA;AACD;AAEK;AACJ;AAAa;;AACd;AAEK;AACJ;AACE;;;AAGC;;AAEJ;;AAGC;;AAEG;;AAEH;;AAEG;;AAEH;;;;;AAKG;AACH;;AAEE;AACA;;AAEE;;;;;AAEgD;AACnD;AACF;;;;;;;;;AAUC;;;;AACD;;AAGC;;;AAGG;;AAEH;;AAEG;;AAEH;;;AAGG;;AAEH;;;AAGG;AACH;AACD;;ACzHD;AAMc;;AAAQ;;AAuBpB;;;;AAIG;;AAkBH;;;;;;AAMG;;AAIY;;AAkBf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCG;;AAIY;;AAyEf;AAiBA;;;AA6ED;;;"}
package/alarms/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, PipeTransform, OnDestroy, OnInit, OnChanges, SimpleChanges, AfterViewInit, EventEmitter, ElementRef, ModuleWithProviders } from '@angular/core';
2
+ import { InjectionToken, PipeTransform, OnDestroy, OnInit, OnChanges, SimpleChanges, AfterViewInit, EventEmitter, ModuleWithProviders } from '@angular/core';
3
3
  import { IAlarm, IManagedObject, SeverityFilter, SeverityType, AlarmStatusType, AlarmStatusSettings, IAuditRecord, AlarmService, AlarmQueryFilter, IResultList, IApplication, AuditService, InventoryService } from '@c8y/client';
4
4
  import * as rxjs from 'rxjs';
5
- import { Observable, Subject, BehaviorSubject } from 'rxjs';
5
+ import { Observable, BehaviorSubject, Subject } from 'rxjs';
6
6
  import * as i3 from '@c8y/ngx-components';
7
- import { DateTimeContext, NavigatorNode, NavigatorNodeData, Route, ServiceRegistry, PluginsResolveService, Permissions, ApplicationOptions, OptionsService, ContextRouteService, ContextData, SupportedAppKey, AlertService, AppStateService, RelativeTimePipe, ColorService, InterAppService, GainsightService, CountdownIntervalComponent, LoadMoreMode, DynamicComponentAlertAggregator, ListItemComponent, AlarmWithChildrenRealtimeService, ModalService, ViewContext } from '@c8y/ngx-components';
7
+ import { DateTimeContext, NavigatorNode, NavigatorNodeData, Route, ServiceRegistry, PluginsResolveService, Permissions, ApplicationOptions, OptionsService, ContextRouteService, ContextData, SupportedAppKey, SplitViewAction, IconPanelSection, AlertService, AppStateService, RelativeTimePipe, ColorService, InterAppService, GainsightService, CountdownIntervalComponent, LoadMoreMode, SplitViewListComponent, DynamicComponentAlertAggregator, ListItemComponent, AlarmWithChildrenRealtimeService, ModalService, ViewContext } from '@c8y/ngx-components';
8
8
  import * as i6 from '@angular/router';
9
9
  import { QueryParamsHandling, Router, ActivatedRoute, ActivatedRouteSnapshot, Routes } from '@angular/router';
10
10
  import { SupportedIcons } from '@c8y/ngx-components/icon-selector/icons';
@@ -291,25 +291,22 @@ declare class AlarmDetailsService {
291
291
  static ɵprov: i0.ɵɵInjectableDeclaration<AlarmDetailsService>;
292
292
  }
293
293
 
294
- /**
295
- * This service is a duplicate of smart-rules-service with slight name change.
296
- * Duplicating allows to pass 'Verify App tutorial' job.
297
- * Name renames allows to pass 'Reusable build codex' job.
298
- * Overall this service is considered as a workaround.
299
- * In ticket MTM-58985 we will investigate if it's possible to remove this service
300
- * along with making failing jobs pass.
301
- */
302
- declare abstract class Ng1SmartRulesUpgradeService {
303
- abstract permissionsCfgs: any;
304
- abstract addNewForOutputOperationWithUI(operation: any): any;
305
- abstract addNewForInputAlarmAndOutputUserWithUI(alarm: any, user: any): any;
294
+ declare class AlarmsActivityTrackerService implements OnDestroy {
295
+ isUserActive$: BehaviorSubject<boolean>;
296
+ userSecondsSpendOnPage: number;
297
+ private gainsightTimerId;
298
+ private readonly INACTIVITY_THRESHOLD_SECONDS;
299
+ private readonly ONE_SECOND_IN_MILLISECONDS;
300
+ private gainsightInactivityTimeoutId;
301
+ private destroy$;
302
+ ngOnDestroy(): void;
303
+ setGainsightInterval(): void;
304
+ clearGainsightInterval(): void;
305
+ resetInactivityTimer(): void;
306
+ setupEventListenersForGainsight(): void;
307
+ static ɵfac: i0.ɵɵFactoryDeclaration<AlarmsActivityTrackerService, never>;
308
+ static ɵprov: i0.ɵɵInjectableDeclaration<AlarmsActivityTrackerService>;
306
309
  }
307
- declare function SmartRulesUpgradeServiceFactory(injector: any): any;
308
- declare const smartRulesUpgradeServiceProvider: {
309
- provide: typeof Ng1SmartRulesUpgradeService;
310
- useFactory: typeof SmartRulesUpgradeServiceFactory;
311
- deps: string[];
312
- };
313
310
 
314
311
  /**
315
312
  * Service for managing and retrieving alarms data within the alarms view.
@@ -471,22 +468,25 @@ declare class AlarmsViewService {
471
468
  static ɵprov: i0.ɵɵInjectableDeclaration<AlarmsViewService>;
472
469
  }
473
470
 
474
- declare class AlarmsActivityTrackerService implements OnDestroy {
475
- isUserActive$: BehaviorSubject<boolean>;
476
- userSecondsSpendOnPage: number;
477
- private gainsightTimerId;
478
- private readonly INACTIVITY_THRESHOLD_SECONDS;
479
- private readonly ONE_SECOND_IN_MILLISECONDS;
480
- private gainsightInactivityTimeoutId;
481
- private destroy$;
482
- ngOnDestroy(): void;
483
- setGainsightInterval(): void;
484
- clearGainsightInterval(): void;
485
- resetInactivityTimer(): void;
486
- setupEventListenersForGainsight(): void;
487
- static ɵfac: i0.ɵɵFactoryDeclaration<AlarmsActivityTrackerService, never>;
488
- static ɵprov: i0.ɵɵInjectableDeclaration<AlarmsActivityTrackerService>;
471
+ /**
472
+ * This service is a duplicate of smart-rules-service with slight name change.
473
+ * Duplicating allows to pass 'Verify App tutorial' job.
474
+ * Name renames allows to pass 'Reusable build codex' job.
475
+ * Overall this service is considered as a workaround.
476
+ * In ticket MTM-58985 we will investigate if it's possible to remove this service
477
+ * along with making failing jobs pass.
478
+ */
479
+ declare abstract class Ng1SmartRulesUpgradeService {
480
+ abstract permissionsCfgs: any;
481
+ abstract addNewForOutputOperationWithUI(operation: any): any;
482
+ abstract addNewForInputAlarmAndOutputUserWithUI(alarm: any, user: any): any;
489
483
  }
484
+ declare function SmartRulesUpgradeServiceFactory(injector: any): any;
485
+ declare const smartRulesUpgradeServiceProvider: {
486
+ provide: typeof Ng1SmartRulesUpgradeService;
487
+ useFactory: typeof SmartRulesUpgradeServiceFactory;
488
+ deps: string[];
489
+ };
490
490
 
491
491
  declare class AlarmDetailsComponent implements OnInit, OnChanges, OnDestroy {
492
492
  private alarmDetailsService;
@@ -504,6 +504,64 @@ declare class AlarmDetailsComponent implements OnInit, OnChanges, OnDestroy {
504
504
  private gainsightService;
505
505
  private alarmsActivityTrackerService;
506
506
  selectedAlarm: IAlarm;
507
+ /**
508
+ * Master switch to show/hide ALL alarm details sections (default: true).
509
+ * When `false`, all sections are hidden regardless of `hiddenSections`.
510
+ * When `true`, use `hiddenSections` for granular control of individual sections.
511
+ *
512
+ * Priority: `showSections` takes precedence over `hiddenSections`.
513
+ */
514
+ showSections: boolean;
515
+ /**
516
+ * Configure which individual sections to hide in the alarm details view.
517
+ * Only applies when `showSections=true`. Set a property to `true` to hide that section.
518
+ *
519
+ * @example
520
+ * ```html
521
+ * <!-- Hide specific sections -->
522
+ * <c8y-alarm-details [hiddenSections]="{ source: true, type: true, auditLogs: true }">
523
+ * ```
524
+ */
525
+ hiddenSections?: {
526
+ status?: boolean;
527
+ severity?: boolean;
528
+ source?: boolean;
529
+ type?: boolean;
530
+ occurrences?: boolean;
531
+ occurrenceCount?: boolean;
532
+ firstOccurrence?: boolean;
533
+ lastOccurrence?: boolean;
534
+ customData?: boolean;
535
+ auditLogs?: boolean;
536
+ };
537
+ /**
538
+ * Master switch to show/hide ALL action buttons (default: true).
539
+ * When `false`, all actions are hidden regardless of `hiddenActions`.
540
+ * When `true`, use `hiddenActions` for granular control of individual actions.
541
+ *
542
+ * Priority: `showActions` takes precedence over `hiddenActions`.
543
+ */
544
+ showActions: boolean;
545
+ /**
546
+ * Configure which individual actions to hide in the alarm details view.
547
+ * Only applies when `showActions=true`. Set a property to `true` to hide that action.
548
+ *
549
+ * @example
550
+ * ```html
551
+ * <!-- Hide specific actions -->
552
+ * <c8y-alarm-details [hiddenActions]="{ createSmartRule: true }">
553
+ * ```
554
+ */
555
+ hiddenActions?: {
556
+ reloadAuditLogs?: boolean;
557
+ acknowledgeReactivate?: boolean;
558
+ createSmartRule?: boolean;
559
+ clearAlarm?: boolean;
560
+ };
561
+ /**
562
+ * Whether to show external navigation links (default: true)
563
+ */
564
+ showExternalNavigation: boolean;
507
565
  readonly ACKNOWLEDGED_STATUS_VALUE: "ACKNOWLEDGED";
508
566
  readonly ACTIVE_STATUS_VALUE: "ACTIVE";
509
567
  readonly CLEARED_STATUS_VALUE: "CLEARED";
@@ -578,6 +636,14 @@ declare class AlarmDetailsComponent implements OnInit, OnChanges, OnDestroy {
578
636
  * Indicates when alarms status change was started (Acknowledge/Reactivate)
579
637
  */
580
638
  isAlarmStatusChanging: boolean;
639
+ /**
640
+ * Cached alarm actions to prevent constant re-rendering
641
+ */
642
+ alarmActions: SplitViewAction[];
643
+ /**
644
+ * Cached alarm info sections to prevent constant re-rendering
645
+ */
646
+ alarmInfoSections: IconPanelSection[];
581
647
  /**
582
648
  * Represents a value for a 'Status' section in details.
583
649
  */
@@ -676,8 +742,10 @@ declare class AlarmDetailsComponent implements OnInit, OnChanges, OnDestroy {
676
742
  private updateStatusMessage;
677
743
  private hasReachedOrExceededPageSizeLimit;
678
744
  private getCustomFragments;
745
+ private updateAlarmActions;
746
+ private updateAlarmInfoSections;
679
747
  static ɵfac: i0.ɵɵFactoryDeclaration<AlarmDetailsComponent, [null, null, null, null, null, null, { optional: true; }, null, null, null, null, null, null, null]>;
680
- static ɵcmp: i0.ɵɵComponentDeclaration<AlarmDetailsComponent, "c8y-alarm-details", never, { "selectedAlarm": { "alias": "selectedAlarm"; "required": false; }; }, {}, never, never, true, never>;
748
+ static ɵcmp: i0.ɵɵComponentDeclaration<AlarmDetailsComponent, "c8y-alarm-details", never, { "selectedAlarm": { "alias": "selectedAlarm"; "required": false; }; "showSections": { "alias": "showSections"; "required": false; }; "hiddenSections": { "alias": "hiddenSections"; "required": false; }; "showActions": { "alias": "showActions"; "required": false; }; "hiddenActions": { "alias": "hiddenActions"; "required": false; }; "showExternalNavigation": { "alias": "showExternalNavigation"; "required": false; }; }, {}, never, never, true, never>;
681
749
  }
682
750
 
683
751
  declare class AlarmEmptyComponent {
@@ -689,14 +757,12 @@ declare class AlarmInfoComponent implements OnInit {
689
757
  activatedRoute: ActivatedRoute;
690
758
  private router;
691
759
  private contextRouteService;
692
- private alarmsViewService;
693
760
  selectedAlarm$: Observable<IAlarm>;
694
761
  hasAnyRoleAllowingToCreateSmartRule: boolean;
695
762
  isContextRoute: boolean;
696
763
  readonly TITLE: "Alarms";
697
- constructor(activatedRoute: ActivatedRoute, router: Router, contextRouteService: ContextRouteService, alarmsViewService: AlarmsViewService);
764
+ constructor(activatedRoute: ActivatedRoute, router: Router, contextRouteService: ContextRouteService);
698
765
  ngOnInit(): Promise<void>;
699
- back(): void;
700
766
  static ɵfac: i0.ɵɵFactoryDeclaration<AlarmInfoComponent, never>;
701
767
  static ɵcmp: i0.ɵɵComponentDeclaration<AlarmInfoComponent, "c8y-alarm-info", never, {}, {}, never, never, true, never>;
702
768
  }
@@ -1027,15 +1093,6 @@ declare class AlarmsListComponent implements OnChanges, AfterViewInit, OnDestroy
1027
1093
  * When set to `false`, the alarm list is displayed. When set to `true`, the opacity of alarms list is changed and a loading bar is shown.
1028
1094
  */
1029
1095
  isInitialLoading: boolean;
1030
- /**
1031
- * Controls the visibility and functionality of some components
1032
- * When set to `true`, means the list is displayed in a split view layout:
1033
- * the list on the first column and the selected record detail on the second column (the cockpit
1034
- * alarms view for example)
1035
- * When set to false, the list is displayed as a standalone component, opening the detail will
1036
- * redirect to the alarms
1037
- */
1038
- splitView: boolean;
1039
1096
  /**
1040
1097
  * Indicates whether the component is in widget preview mode.
1041
1098
  */
@@ -1053,7 +1110,7 @@ declare class AlarmsListComponent implements OnChanges, AfterViewInit, OnDestroy
1053
1110
  */
1054
1111
  activeAlarm$: BehaviorSubject<IAlarm>;
1055
1112
  activeChildParam$: Observable<string>;
1056
- innerScrollWrapper: ElementRef;
1113
+ svListComponent: SplitViewListComponent;
1057
1114
  isScrolling: boolean;
1058
1115
  /**
1059
1116
  * Determines whether the c8y-loading component should be displayed.
@@ -1082,7 +1139,7 @@ declare class AlarmsListComponent implements OnChanges, AfterViewInit, OnDestroy
1082
1139
  private shouldCountdownIntervalBeHidden;
1083
1140
  private verifyIfFiltersMatchingAlarm;
1084
1141
  static ɵfac: i0.ɵɵFactoryDeclaration<AlarmsListComponent, never>;
1085
- static ɵcmp: i0.ɵɵComponentDeclaration<AlarmsListComponent, "c8y-alarms-list", never, { "alarms": { "alias": "alarms"; "required": false; }; "hasPermissions": { "alias": "hasPermissions"; "required": false; }; "typeFilters": { "alias": "typeFilters"; "required": false; }; "loadMoreMode": { "alias": "loadMoreMode"; "required": false; }; "navigationOptions": { "alias": "navigationOptions"; "required": false; }; "isInitialLoading": { "alias": "isInitialLoading"; "required": false; }; "splitView": { "alias": "splitView"; "required": false; }; "isInPreviewMode": { "alias": "isInPreviewMode"; "required": false; }; }, { "onSelectedAlarm": "onSelectedAlarm"; "onScrollingStateChange": "onScrollingStateChange"; }, never, ["*"], true, never>;
1142
+ static ɵcmp: i0.ɵɵComponentDeclaration<AlarmsListComponent, "c8y-alarms-list", never, { "alarms": { "alias": "alarms"; "required": false; }; "hasPermissions": { "alias": "hasPermissions"; "required": false; }; "typeFilters": { "alias": "typeFilters"; "required": false; }; "loadMoreMode": { "alias": "loadMoreMode"; "required": false; }; "navigationOptions": { "alias": "navigationOptions"; "required": false; }; "isInitialLoading": { "alias": "isInitialLoading"; "required": false; }; "isInPreviewMode": { "alias": "isInPreviewMode"; "required": false; }; }, { "onSelectedAlarm": "onSelectedAlarm"; "onScrollingStateChange": "onScrollingStateChange"; }, never, ["*"], true, never>;
1086
1143
  }
1087
1144
 
1088
1145
  declare class AlarmsComponent implements OnInit, OnDestroy {
@@ -1093,7 +1150,6 @@ declare class AlarmsComponent implements OnInit, OnDestroy {
1093
1150
  private contextRouteService;
1094
1151
  private modalService;
1095
1152
  private translateService;
1096
- private router;
1097
1153
  private gainsightService;
1098
1154
  private alarmsActivityTrackerService;
1099
1155
  readonly NEW_REALTIME_ALARM_MESSAGE: "The list was updated, click to refresh.";
@@ -1118,7 +1174,7 @@ declare class AlarmsComponent implements OnInit, OnDestroy {
1118
1174
  private showCleared;
1119
1175
  private readonly WAIT_TIME_AVOID_MULTIPLE_REQUEST_BY_PARAM_CHANGE;
1120
1176
  private selectedDates;
1121
- constructor(activatedRoute: ActivatedRoute, alarmsViewService: AlarmsViewService, alarmWithChildrenRealtimeService: AlarmWithChildrenRealtimeService, alertService: AlertService, contextRouteService: ContextRouteService, modalService: ModalService, translateService: TranslateService, router: Router, gainsightService: GainsightService, alarmsActivityTrackerService: AlarmsActivityTrackerService);
1177
+ constructor(activatedRoute: ActivatedRoute, alarmsViewService: AlarmsViewService, alarmWithChildrenRealtimeService: AlarmWithChildrenRealtimeService, alertService: AlertService, contextRouteService: ContextRouteService, modalService: ModalService, translateService: TranslateService, gainsightService: GainsightService, alarmsActivityTrackerService: AlarmsActivityTrackerService);
1122
1178
  ngOnInit(): void;
1123
1179
  ngOnDestroy(): void;
1124
1180
  visibilityChange(): void;
@@ -1127,6 +1183,7 @@ declare class AlarmsComponent implements OnInit, OnDestroy {
1127
1183
  applyDateFilter(selectedDates: [Date, Date]): Promise<void>;
1128
1184
  clearAll(): Promise<void>;
1129
1185
  refresh(): void;
1186
+ handleBackClick(): Promise<void>;
1130
1187
  changeInterval(value?: boolean): void;
1131
1188
  toggleRealtimeState(): void;
1132
1189
  private handleLegacyRealtime;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../alarms/alarms.model.ts","../../alarms/alarm-details-custom-button/alarm-details-button.service.ts","../../alarms/alarm-details-custom-button/alarm-details-button.pipe.ts","../../alarms/alarm-details.service.ts","../../alarms/ng1-smart-rules-upgrade.service.ts","../../alarms/alarms-view.service.ts","../../alarms/alarms-activity-tracker.service.ts","../../alarms/alarm-details.component.ts","../../alarms/alarm-empty.component.ts","../../alarms/alarm-info.component.ts","../../alarms/alarm-list-custom-indicator/alarm-list-indicator.service.ts","../../alarms/alarm-list-custom-indicator/alarm-list-indicator.pipe.ts","../../alarms/alarm-severities-to-title.pipe.ts","../../alarms/alarm-severity-to-icon.pipe.ts","../../alarms/alarm-severity-to-icon-class.pipe.ts","../../alarms/alarm-severity-to-label.pipe.ts","../../alarms/alarm-status-to-icon.pipe.ts","../../alarms/alarm-status-to-label.pipe.ts","../../alarms/alarms-filter.component.ts","../../alarms/alarms-icon.component.ts","../../alarms/alarms-interval-refresh.component.ts","../../alarms/alarms-list.component.ts","../../alarms/alarms.component.ts","../../alarms/alarms.helper.ts","../../alarms/audit-changes-message.pipe.ts","../../alarms/alarms-date-filter.component.ts","../../alarms/alarms-type-filter.component.ts","../../alarms/alarms.module.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../alarms/alarms.model.ts","../../alarms/alarm-details-custom-button/alarm-details-button.service.ts","../../alarms/alarm-details-custom-button/alarm-details-button.pipe.ts","../../alarms/alarm-details.service.ts","../../alarms/alarms-activity-tracker.service.ts","../../alarms/alarms-view.service.ts","../../alarms/ng1-smart-rules-upgrade.service.ts","../../alarms/alarm-details.component.ts","../../alarms/alarm-empty.component.ts","../../alarms/alarm-info.component.ts","../../alarms/alarm-list-custom-indicator/alarm-list-indicator.service.ts","../../alarms/alarm-list-custom-indicator/alarm-list-indicator.pipe.ts","../../alarms/alarm-severities-to-title.pipe.ts","../../alarms/alarm-severity-to-icon.pipe.ts","../../alarms/alarm-severity-to-icon-class.pipe.ts","../../alarms/alarm-severity-to-label.pipe.ts","../../alarms/alarm-status-to-icon.pipe.ts","../../alarms/alarm-status-to-label.pipe.ts","../../alarms/alarms-filter.component.ts","../../alarms/alarms-icon.component.ts","../../alarms/alarms-interval-refresh.component.ts","../../alarms/alarms-list.component.ts","../../alarms/alarms.component.ts","../../alarms/alarms.helper.ts","../../alarms/audit-changes-message.pipe.ts","../../alarms/alarms-date-filter.component.ts","../../alarms/alarms-type-filter.component.ts","../../alarms/alarms.module.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAuBE;;;AAGG;;AAGH;;;;AAIG;AACH;AAEA;;;;AAIG;AACH;AACD;AAED;AAEM;;;AAEN;;;;;AAMM;AAEN;;AAEG;AACH;AAMA;;;;;;AAOA;AAEM;AACN;;AAEG;AACH;AAOM;;;;;AAMN;;AAEG;AACH;AAKA;AAQM;;AAEJ;;;AAKF;AAEA;AAOA;AAMA;AAEM;AACJ;;AAGF;;AAEG;AACH;AAiBA;AAEA;;AAEG;AACG;AACJ;;AAEG;;AAEH;;;;AAIG;;AAEH;;;AAGG;;AAEH;;;;;;;AAOG;;;;;;;;;;AAWH;;;;AAIG;AACH;;AAED;;;AAIA;AAEK;;;;AAIL;AAEK;AAEN;;;;;;;;;;;;;;;;;;;;;;;;AA0BA;AAEE;AACE;;;AAGC;AAED;AACE;;;;;AAKG;AACH;AAID;AAED;AACE;;;;AAIG;;AAEJ;AACF;AACF;;ACvQD;AAMI;AACA;AADQ;AAIV;AAsBA;;;AAMD;;ACxCD;AAWc;AAAQ;AAEpB;;;AAGD;;AClBD;AAMc;AAFZ;AAEoB;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;;AAoBH;;;;;;;;;;;;;;;;;AAiBG;;AAcH;;;;;;;;;;;;;;;;;;;;AAoBG;;AAyBH;;;AAgBD;;AChJD;AAEE;AACA;;AAGA;AACA;;;AAIA;AAKA;AAOA;AAIA;;;;AAiBD;;ACpBD;;;;;;;;AAQG;AACH;AAiBI;AACA;AACA;AACA;AACA;AAjBF;;;;;AAMA;AACA;AACA;;AAKU;AAYV;;AAEG;AACH;AAIA;;;;;;;;;AASG;AACH;;AAgCA;;;AAGG;AACH;AAIA;;;;;;;;;AASG;AACG;AAgBN;;;;;AAKG;AACH;AAKA;;;;;;AAMG;AACH;AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BG;AACG;;;AA2BN;;;;;AAKG;;AAsBH;;;;;AAKG;AACH;AAIA;;;AAGG;;AASH;;;;AAIG;;AAOH;;;;;AAKG;AACH;AAYA;;;;;;;;AAQG;AACH;AAWA;;;;;;;AAOG;AACH;;;AAOD;;ACvVD;;;;;;;AAOG;AACH;;AAEE;AACA;AACD;AAED;AAIA;;;;;;ACyDA;AA+KI;AACA;AACA;AACA;AACA;AACA;AACY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AA3JF;;;;;;AAMG;AACM;AAET;;;;;;;;;AASG;AACM;;;;;;;;;;;;AAaT;;;;;;AAMG;AACM;AAET;;;;;;;;;AASG;AACM;;;;;;AAOT;;AAEG;AACM;;;;;;AAOT;;;;;AAA2C;;;AAG3C;;;;;;;;;;;;;;;;;;;;;;AAA+D;AAE/D;;;AAGG;AACH;AACA;;;AAGG;AACH;;;AAGA;;;;;;;;AAQG;;AAEH;AAEA;;;;AAIG;;AAEH;;AAEG;AACH;;AAGA;;AAEG;AACH;AACA;;AAEG;;AAGH;;AAEG;;AAGH;;AAEG;;AAEH;;AAEG;;AAEH;;AAEG;;;AAKH;;;AAoBM;;AAgDN;;AA2BA;AAUA;;;;AAIG;;AASH;;;;;;;;;;;;;;;AAeG;AACG;;AAgDA;;AAmDN;;;;;;;;;;;AAWG;;AAWH;AAIA;AAWA;AAMA;AAuBA;AAeA;;;;;;;;;;;;AAYG;AACH;AAeA;;;;;;;;;;;;;;AAcG;;;AAmCH;AAIA;AAcA;AAqGA;;;AAyCD;;AC1xBD;;;AAKmC;;ACOnC;AAaW;AACP;AACA;AATF;;AAGA;;;;;;AAiBD;;ACjCD;AAMI;AACA;AADQ;;AA0BV;;;AAMD;;ACxCD;AAWc;AAAQ;;;;AAKrB;;ACjBD;;;;;;AAMG;AACH;AAIc;AAFZ;AAEoB;AACpB;;;;;AAKG;AACH;AAaA;;;;;;AAMG;AACH;;;AAGD;;AC1CD;;;;;;;AAOG;AACH;AAKE;;;;;AAKG;;;;AAKJ;;ACxBD;AAKE;;;AA2BD;;AC/BD;;AAEG;AACH;AAEc;AAAQ;AAEpB;;;;AAIG;AACH;;;AAID;;ACjBD;;;;;;;AAOG;AACH;AAEE;;;;;AAKG;;;;AAIJ;;AClBD;;AAEG;AACH;AAEc;AAAQ;AAEpB;;;;AAIG;AACH;;;AAGD;;AC6BD;AAuDI;AACA;AACA;AACA;AACA;AArCF;AAGA;AAEA;;;AAGG;AAEH;;;;;;;AAK4D;;AAE5D;;AAEA;;;AAGA;AACA;;;;;;AACqD;;;;;;;;;;;;;;;;;;;;;;;AACoB;;;;;;AAQ/D;AAOV;AAmBA;AAMA;AAKA;AASA;AA0BA;AASA;AAMA;AAMA;AAIA;;;;;;;;AAQG;AACG;AAmCN;AAIA;AAQA;AAIA;AASA;AAOA;AASA;;;AAYD;;AC7RD;;;AAuBE;AACA;AAEA;AACA;AACA;AAEA;;;AAKD;;ACtBD;AA6FI;AACA;;;;;AAtEO;AACT;;AAEG;AAEH;AACA;;;;;;;;;;AAUG;AACH;AA0BA;;;;AAIG;;AAIH;;AAEG;AAEH;;;;;AAIqC;;AAErC;;;;AAIG;;AAIO;AAIV;AAIA;AAKA;AAKA;AAIA;;AAYA;AAIA;AAOA;AAOA;AAOA;;;AAOD;;AC7HD;AAwHI;AACA;AACA;AACA;;;AA3FF;;AAEG;AAEH;;AAA8C;AAErC;AAET;;AAEG;;AAIH;;AAEG;;AAIH;;;AAGG;;AASH;;;AAGG;AAEH;AAEA;;AAEG;AACM;AAET;;AAEG;AAEH;AAEA;;AAEG;AAEH;AAEA;;AAEG;AACH;AACA;;AAKA;AACA;;;;AAIG;AACH;AAEA;AAEA;;;AAaU;AAQV;;;;;;AAMG;AACH;AAUA;AAgBA;AAiBA;AAKA;AAIA;AAQA;AAKA;;;AAaD;;ACzND;AAmDW;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AA5BF;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;AAMA;;AAIS;;AAwDT;;AAsBA;;AAiBM;AAKA;AAwBN;AAKM;AAIN;AAIA;AAIA;;;;AAsEA;AAgBA;;;AAcD;;AC/UD;AAWA;;AClBA;;;AAGG;AACH;AAEc;AAAQ;AAEpB;;;;;;;;;;AAUG;AACH;;;AAgBD;;ACOD;AAuDI;AACA;AACA;AACA;;;;AAxBO;AACA;AACT;;AAEG;AACM;AACT;;;;;AAOU;;;AAKV;AAGU;AAOV;;AAsCA;AAKA;AA8BA;AAUA;;AAQA;AAiBA;AAOA;AAqBA;;;AASD;;AC5ND;AA2CI;AACA;AACA;AACA;AAxBF;;;AASA;;AAGA;;;;;AASU;AAMV;;;AA8BA;;;;;;;;;AAmFA;AAKA;;AAiBA;AAWA;;;AAGD;;AC5LD;;;;;AA4DC;;;"}
@@ -1424,6 +1424,7 @@ declare class WidgetConfigComponent implements AfterContentInit, OnDestroy {
1424
1424
  private _save;
1425
1425
  private _cancel;
1426
1426
  constructor(widgetService: WidgetService, bottomDrawerRef: BottomDrawerRef<WidgetConfigComponent>, contextDashboardService: ContextDashboardService, widgetConfigService: WidgetConfigService);
1427
+ onEscapePress(event: Event): Promise<void>;
1427
1428
  ngAfterContentInit(): Promise<void>;
1428
1429
  isSaveDisabled(): boolean;
1429
1430
  checkIfDeviceRequired(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../context-dashboard/add-dashboard.component.ts","../../context-dashboard/add-dashboard.factory.ts","../../context-dashboard/context-dashboard.model.ts","../../context-dashboard/context-dashboard.service.ts","../../context-dashboard/dashboard-detail.service.ts","../../context-dashboard/dashboard-detail.component.ts","../../context-dashboard/memento/dashboard-originator.service.ts","../../context-dashboard/memento/dashboard-caretaker.service.ts","../../context-dashboard/memento/dashboard-edit-mode.service.ts","../../context-dashboard/widget.service.ts","../../context-dashboard/context-dashboard.component.ts","../../context-dashboard/widget-config/appearance-settings.component.ts","../../context-dashboard/type-dashboard-info/type-dashboard-info.component.ts","../../context-dashboard/widget-config-hook/widget-config-hook.model.ts","../../context-dashboard/widget-config-hook/widget-config-hook.service.ts","../../context-dashboard/widget-config.service.ts","../../context-dashboard/widget-config/widget-config-root.component.ts","../../context-dashboard/widget-config.component.ts","../../context-dashboard/widget-config/widget-preview.component.ts","../../context-dashboard/widget-config/widget-config-section.component.ts","../../context-dashboard/widget-config/widget-preview-wrapper.component.ts","../../context-dashboard/paste-dashboard-action.component.ts","../../context-dashboard/context-dashboard.module.ts","../../context-dashboard/dashboard-action-bar.factory.ts","../../context-dashboard/device-info-dashboard/device-info-dashboard.component.ts","../../context-dashboard/device-info-dashboard/device-info-dashboard.module.ts","../../context-dashboard/device-management-home-dashboard/device-management-home-dashboard.component.ts","../../context-dashboard/device-management-home-dashboard/device-management-home-dashboard.module.ts","../../context-dashboard/widget-config/widget-config-appearance.component.ts","../../context-dashboard/widget-config/widget-config-general.component.ts","../../context-dashboard/widget-config/widget-asset-selector.component.ts","../../context-dashboard/new-dashboard.guard.ts","../../context-dashboard/widget-config/global-context-section.component.ts","../../context-dashboard/widget-config/widget-config-feedback.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AAQI;AACA;AADQ;;;;AAoBX;;ACpBD;AACE;;;;AAMM;;AAoCP;;ACzCD;AACA;;;;;;;;;;;;;;;;AAiBE;;AAEG;AACH;AACD;;AAGC;;;AAGG;;AAGH;;AAEG;;AAGH;;AAEG;AACH;AACE;;AAEG;AACH;;AAEF;;;AAGG;AACH;AACE;;AAEA;;AAEF;;;;;AAKG;AACH;AACA;;;;;;AAMG;AACH;AAEA;;AAEG;AACH;AACD;AAEK;;;AAGJ;AACD;;AAGC;AACA;AACA;AACA;AACA;AACA;AACA;AAAY;AAAwB;AACpC;AAAkB;AAAwB;AAC1C;AACA;AACA;AACA;AACA;;;AAGG;AACH;AACA;AACE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AAAmB;;AACpB;AACD;;AAEG;;AAED;;AAEG;;AAEH;;AAEG;AACH;AACA;;AAEG;AACH;AACA;;;;;;;;AAQG;AACH;AACE;AACA;AACA;AACA;AACD;AACD;;AAEG;;AAEJ;AAED;;;;;;;AAOA;;;AAGG;AACG;AACJ;;AAEG;;AAEH;;AAEG;AACH;AACA;;;;;;;;;;;;;AAaG;;AAKG;AACD;;AAKP;AACE;AACA;AACA;AACA;AACA;AACD;AAED;AACE;AACA;AACA;AACD;AAEK;;AAE0D;;;;;AAO/D;AAED;;;;;;;;;;;;;;;;;AAuBA;;;;;;;;;;;;;;;;;;;;;AA4BA;;;;;;;;;;;;;;;;;AA2BA;;;;;AAUC;;;AAIC;AACD;AAED;AACM;AAEN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCE;AACD;AAED;AAEM;AAEN;AACA;;;;;;;;;;;;AAaC;;AC3UD;AAwCI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlDF;AACA;;;;;AAKA;;AAKA;AACA;AACA;AACA;AACA;AACA;;;;;AASA;AAGA;AAIA;;;;AAmEM;AAyBA;AAqCN;AAuBA;;;AAqEM;AAiCN;;;;;AAKG;;AAKH;;;;AAIG;AACH;AASA;AAQA;AAQA;;;AA8BA;;AAaA;AAUA;;AAgDA;;;;;;;;;;;;AAYG;AACH;AAOA;;;;;;;;AAQG;;AA2DH;AAOA;AAWA;AAYM;;;;;;;;;;;;;;;;AAgEN;;;;;;;;;;AAUG;AACH;AA6CA;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACH;AAUA;;AAEG;AACH;;AA4DA;AA4CA;AAQA;AAWA;AAWA;AAuCA;AAeA;AAQA;;;;AAIG;;AAyBH;AAIA;AAiBA;AAWA;AAOA;AAUA;AAUA;;;AAUD;;AC9/BD;AAkCI;AACA;AACA;;;;AA/BF;AACA;;;;;;;;;;;;;;;;AAEC;AACD;;;;;;;;;;;;;;;;;;;;AAEC;AACD;;;;;;;;AAEC;;;;AAKC;AAEF;AAEA;;;;;;;AAuCA;;;;;;AAMG;AACH;;AAoBA;;;;;;AAMG;AACH;AAWA;;;;;;AAMG;AACH;AAoCA;;;;AAIG;AACH;AAaA;;;AAKD;;AC1JD;AA+BI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AApCF;;;;;;;;;AASS;;;;;;;;AAQC;AACA;;;;;AAoCV;AAKA;;;AAqDA;;AAmCM;;;AAqCA;AAeN;AAOA;;;;;;;AAqJA;AAQA;;AA6BA;;AAqCA;;;AAmBD;;AClfD;;AAEG;AACH;AAIE;;AAEG;;AAIH;;;AAGG;;AAEH;;;AAGG;AACH;AAGA;;;AAGG;AACH;AAGA;;AAEG;AACH;;;AAGD;;ACtCD;;AAEG;AACH;AA2Bc;AAvBZ;;AAEG;;AAIH;;AAEG;;AAIH;;;AAGG;;AAEH;;;AAGG;;AAGiB;AACpB;;AAEG;AACH;AAIA;;;AAGG;;AAWH;;;AAGG;;AAWH;;;AAGG;;;;AAQJ;;AC7ED;;;AAGG;AACH;AAqBI;AACA;;AAfF;;AAEG;;AAIH;;AAEG;;AAMO;AAGV;;;AAGG;;AAIH;;;AAGG;;AAKH;;AAEG;AACH;AAGA;;;AAGG;AACH;AAGA;;;AAGG;AACH;AAGA;;;AAGG;AACH;;;AAGD;;ACpED;AAOI;AACA;;;;AAUI;;;AAyCN;;;AASD;;ACRD;;;;AAIG;AACH;AAuFI;AACA;AACA;AACA;AACA;AACyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;;AACoE;;AAC7D;;AA5ET;;AAIA;;AAKA;AAEA;AAEA;;AAIA;;;;;AAKA;;AAEG;AAEH;;AAGA;AAGA;;;;;;;;;;;AAmBA;;;;;;;AAwBsE;;;;;AA+BtE;;;AAGG;;AAOH;;AAEG;AACH;AAUA;;;;;AAKG;AACG;AAYN;;AAEG;;AA2BH;;;;;AAKG;AACH;;AAwCA;;;;;;AAMG;;AAmBH;;AAEG;;;AA0BH;;AAEG;;;AAcH;;;AAGG;;AAgBH;;;AAGG;AACG;;AA0EA;AAYN;;;;AAIG;;AAYH;;;;AAIG;;AAwBH;;;AAGG;;AAOH;;;AAGG;;AAOG;;;;AAoFN;AAoBA;;;AAGG;AACH;AAMA;AAaA;AAeA;AAOA;AAOA;AAkBA;AASA;AA+BA;;;AAkFA;;;;AAiBD;;ACj2BD;AAQE;AAEA;;;;AAQA;AAEA;AAGA;;;;;;;;;;;;;;;;;AAG+C;;;;;;;;;;;;;;;;;AAGD;AAG9C;AAEA;;;AAgBA;;;AAMD;;AC1DD;AAeI;AACA;;;;;;;AADQ;;;;;AAoBX;;ACjCD;;;AAGG;AACH;AAIA;;;;;;;;;;;;;;;;;AAiBG;AACG;AAKN;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACH;AAOM;AACJ;;AAEG;;AAGH;;AAEG;;AAEJ;AAEK;AACJ;;AAEG;;AAEH;AACD;AAEK;AACJ;;AAEG;;AAEH;;AAEG;;AAEH;;AAEG;;AAEH;;AAEG;AACH;AACA;;AAEG;;AAEH;;;AAGG;AACH;AACD;;ACtGD;AAMI;AACA;;AAMF;;;AAcA;;;AAYD;;ACjBD;AA0Ic;;;;;AAjIZ;;AAEG;AACH;AAEA;;;AAGG;AACH;AAEA;;AAEG;AACH;AAEA;;AAEG;AACH;AAEA;;;AAGI;AACJ;AAIA;;AAEG;AACH;AAEA;;;AAGG;AACH;AAEA;;;;;AAKG;AACH;AAEA;;;;;AAKG;AACH;AAqCA;;AAEG;AACH;AAIA;;AAEG;AACH;AAEA;;;;;AAKG;AACH;AAYA;;;;AAQoB;AAyBpB;;;AAGG;AACH;AAQA;;AAEG;AACH;AAMA;;AAEG;AACH;AAqBA;;;;;;AAMG;;AAUH;;;AAGG;;AAMH;;;;;AAKG;;AAWH;;AAEG;;AAUH;;;;;AAKG;;AAKH;;;;;;;AAOG;AACH;AAmCA;;;;;;;AAOG;AACH;AAUA;;;;AAIG;AACH;;;AASD;;ACxXD;AAOE;;;AACD;;ACsBD;AA2EI;AACA;AACO;AACA;;;;AAlDT;AACA;;;;;AAKA;;;;AAIE;;;;AAIA;;;AAGF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACoE;AACpE;;AAKA;;AAEG;AACH;AAEA;;AAQA;;;;AAUU;AAMJ;AAmBN;;;;;;;;;;AA6IA;AAOA;AAgBA;AAcA;AAsBA;AAcA;;;AAiBD;;ACxWD;AAOE;AACA;AAGA;AAAkB;;;;;AAQnB;;ACfD;;AAgBE;AAEA;;;AAGD;;AC5BD;AAOE;;;;AAUD;;ACPD;AAiCI;AACA;AACA;AACA;AAbF;AACiE;AACjE;;;;;;AAQU;;;;;;;AAkEX;;ACjFD;;;;;;AAMG;AACH;;;;;AAgFC;;AC/GD;AACE;AACA;;;AA0BD;;ACtBD;AAkSI;AACA;AACA;AACA;AA/RF;;AAEA;;;;;;AAOA;AACA;;AAkRU;;;;;AAuEV;;;AAGD;;AC9VD;;;;AAiByC;;ACpCzC;AA0Cc;AApCZ;AACA;;;AAmCoB;;AAUpB;;;AAGD;;ACvDD;;;;AAkBmD;;ACnBnD;AAOE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACoE;;;AACrE;;ACPD;AAOE;;;AAQA;AAOA;;;AAGD;;ACdD;AAmBE;AACA;AACA;AACA;AAEA;;AAEG;AAEH;AAEA;;AAEG;;AAIH;;AAEG;;AAIH;;AAEG;;AAIH;;AAEG;;AAIH;;;AAGG;AACH;AAEA;;AAEG;AACG;AAsCN;;;;AAIG;AACH;AAIA;;;AAGG;AACH;;;;;AAcD;;AC7ID;AAUA;;;;;AAqBC;;ACrBD;AAaE;;AAIA;;AAIA;;;AAOA;;;;AAO+E;;;AAMhF;;ACvDD;AAOE;AACwB;AAExB;;;AAGD;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../context-dashboard/add-dashboard.component.ts","../../context-dashboard/add-dashboard.factory.ts","../../context-dashboard/context-dashboard.model.ts","../../context-dashboard/context-dashboard.service.ts","../../context-dashboard/dashboard-detail.service.ts","../../context-dashboard/dashboard-detail.component.ts","../../context-dashboard/memento/dashboard-originator.service.ts","../../context-dashboard/memento/dashboard-caretaker.service.ts","../../context-dashboard/memento/dashboard-edit-mode.service.ts","../../context-dashboard/widget.service.ts","../../context-dashboard/context-dashboard.component.ts","../../context-dashboard/widget-config/appearance-settings.component.ts","../../context-dashboard/type-dashboard-info/type-dashboard-info.component.ts","../../context-dashboard/widget-config-hook/widget-config-hook.model.ts","../../context-dashboard/widget-config-hook/widget-config-hook.service.ts","../../context-dashboard/widget-config.service.ts","../../context-dashboard/widget-config/widget-config-root.component.ts","../../context-dashboard/widget-config.component.ts","../../context-dashboard/widget-config/widget-preview.component.ts","../../context-dashboard/widget-config/widget-config-section.component.ts","../../context-dashboard/widget-config/widget-preview-wrapper.component.ts","../../context-dashboard/paste-dashboard-action.component.ts","../../context-dashboard/context-dashboard.module.ts","../../context-dashboard/dashboard-action-bar.factory.ts","../../context-dashboard/device-info-dashboard/device-info-dashboard.component.ts","../../context-dashboard/device-info-dashboard/device-info-dashboard.module.ts","../../context-dashboard/device-management-home-dashboard/device-management-home-dashboard.component.ts","../../context-dashboard/device-management-home-dashboard/device-management-home-dashboard.module.ts","../../context-dashboard/widget-config/widget-config-appearance.component.ts","../../context-dashboard/widget-config/widget-config-general.component.ts","../../context-dashboard/widget-config/widget-asset-selector.component.ts","../../context-dashboard/new-dashboard.guard.ts","../../context-dashboard/widget-config/global-context-section.component.ts","../../context-dashboard/widget-config/widget-config-feedback.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../../datapoint-explorer/view/configuration/name-generator.service.ts","../../../datapoint-explorer/view/configuration/workspace-configuration.model.ts","../../../datapoint-explorer/view/datapoint-explorer.model.ts","../../../datapoint-explorer/view/configuration/workspace-configuration.service.ts","../../../datapoint-explorer/view/datapoint-explorer.component.ts","../../../datapoint-explorer/view/datapoint-explorer.service.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;AAGA;AAIE;;;AAOD;;;;;;ACRA;;;;;;;;ACGA;;AAGC;AACA;AACA;AACA;AAGA;AACD;;;;AAKC;;AAEE;;;AAIF;AACD;;;;AAMC;;AAEE;;AAGF;;AAEE;;AAEF;AACD;AAED;AAsBA;;;;;;;;;;;;;;;;;AAkBA;;;;AC1EA;AAIE;AACA;;AAGA;;;AAYA;;AAEG;AACH;;;;;;AAyCA;;;;AAIG;AACH;AAYA;;;;;;AAMG;AACH;AAOA;;;;;AAKG;;;AAiBH;;AAeA;AAcA;;AAEG;AACH;AAcA;;AAEG;AACH;;;AAiCD;;ACrJD;;AA4BE;;;;;AAKA;;;AAGA;;;;AAIA;AACA;AACA;AACA;AACA;;;AAGE;;AAEA;;AAEF;AAIA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA;AA8CA;;;;;AAkHwD;AAA2B;AAsDnF;AAMA;AAMA;AASA;AAIA;AAQM;AAuBA;AA8BA;AAmCN;AAOA;AAIA;AAIA;AAIA;AAUA;AAsBA;AAWA;AAUA;;;AAyBD;;AChjBD;AAIE;AACA;AACA;AACA;AACA;AACA;AACA;;AAWM;AAUA;;;;AAUN;;;;;;AAMG;AACH;AAKA;;;;;;;AAOG;AACH;AAQA;AAWA;AAiBA;;;AAGG;AACH;AAMM;;;;AAuBP;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../../datapoint-explorer/view/configuration/name-generator.service.ts","../../../datapoint-explorer/view/configuration/workspace-configuration.model.ts","../../../datapoint-explorer/view/datapoint-explorer.model.ts","../../../datapoint-explorer/view/configuration/workspace-configuration.service.ts","../../../datapoint-explorer/view/datapoint-explorer.component.ts","../../../datapoint-explorer/view/datapoint-explorer.service.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;AAGA;AAIE;;;AAOD;;;;;;ACRA;;;;;;;;ACGA;;AAGC;AACA;AACA;AACA;AAGA;AACD;;;;AAKC;;AAEE;;;AAIF;AACD;;;;AAMC;;AAEE;;AAGF;;AAEE;;AAEF;AACD;AAED;AAsBA;;;;;;;;;;;;;;;;;AAkBA;;;;AC1EA;AAIE;AACA;;AAGA;;;AAYA;;AAEG;AACH;;;;;;AAyCA;;;;AAIG;AACH;AAYA;;;;;;AAMG;AACH;AAOA;;;;;AAKG;;;AAiBH;;AAeA;AAcA;;AAEG;AACH;AAcA;;AAEG;AACH;;;AAiCD;;ACrJD;;AA4BE;;;;;AAKA;;;AAGA;;;;AAIA;AACA;AACA;AACA;AACA;;;AAGE;;AAEA;;AAEF;AAIA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA;AA8CA;;;;;AAkHwD;AAA2B;AAsDnF;AAMA;AAMA;AASA;AAIA;AAQM;AAuBA;AA8BA;AAmCN;AAOA;AAIA;AAIA;AAIA;AAUA;AAsBA;AAWA;AAUA;;;AA0BD;;ACjjBD;AAIE;AACA;AACA;AACA;AACA;AACA;AACA;;AAWM;AAUA;;;;AAUN;;;;;;AAMG;AACH;AAKA;;;;;;;AAOG;AACH;AAQA;AAWA;AAiBA;;;AAGG;AACH;AAMM;;;;AAuBP;;;"}
package/echart/index.d.ts CHANGED
@@ -31,6 +31,7 @@ type DatapointsGraphWidgetConfig = {
31
31
  displayMarkedPoint?: boolean;
32
32
  mergeMatchingDatapoints?: boolean;
33
33
  forceMergeDatapoints?: boolean;
34
+ smoothLines?: boolean;
34
35
  realtime?: boolean | null;
35
36
  showLabelAndUnit?: boolean;
36
37
  showSlider?: boolean | null;
@@ -57,6 +58,7 @@ type GraphDisplayOptions = {
57
58
  showOnlyAlarmsOrEvents?: boolean;
58
59
  numberOfDecimalPlaces?: number;
59
60
  sliderPositionMode?: 'compact' | 'default';
61
+ smoothLines?: boolean;
60
62
  };
61
63
  type AlarmDetailsExtended = AlarmDetails & {
62
64
  __hidden?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../echart/models/datapoints-graph-widget.model.ts","../../echart/models/chart.model.ts","../../echart/models/svg-icons.model.ts","../../echart/charts.component.ts","../../echart/services/chart-alarms.service.ts","../../echart/services/chart-events.service.ts","../../echart/services/chart-helpers.service.ts","../../echart/select-aggregated-datapoint/select-aggregated-datapoint.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;AAmBM;;;;AAKA;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;AAKA;;AAEA;AACA;AACA;AACA;;;AAGA;;;;;;;;AASI;;;;;;;;;AASJ;;AAGI;;AAEJ;AACA;;AAGI;;;AAIN;;AAEG;;AAGG;AAIN;AACE;AACA;AACD;AAED;AACM;;AAEL;AAED;;;;AAIM;;;;;;;AAQL;AAED;;;;;AAUE;;;;;AAGD;;AAGC;;AAEA;;AAEE;;AAEF;;;AACD;;;;;;;AAQC;AACA;AACD;AAEK;AACA;AAEA;AAEA;AAEN;;;;AAKA;;;;;;;;;;;;;AAcM;AACA;AAEA;;;;AAKA;;;;;;;;;;AAWL;AAED;;;;;;;;AAUE;AACA;AACD;;ACzMD;;;;;;AAMG;AACH;AACE;;;;AAIA;;;AACD;;;AAIA;;;AAIA;AAEK;AACA;AACJ;AACE;AACD;AACF;;AAGC;AACA;AACD;AAED;AACE;AACA;AACA;AACD;;AC3CD;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAED;;;;;;;;;;;ACyDA;AA4BE;;AAEA;;;;;;;;;;;;AAYK;AACK;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEV;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAyCA;;;;;AA8GuB;;;AAA4B;AAiDnD;AAOA;AAIA;AAgBA;AA6BA;AAWA;;;AAGG;AACH;AAcA;;;AAGG;AACH;AAmBA;AAeA;AA0BA;;AA8DA;;;AA0MA;AA6CA;AA0CA;AAkBA;AAWA;AAYA;;;AA6BD;;ACh4BD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAqCP;;AC/CD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAuBP;;AChCD;AAEE;;;;AAIG;;;;;;;;;;;AAcH;AAcA;;;AAGD;;ACtBD;;AAqBW;AACC;AAEV;;AAGA;;;AAiBA;;;AAgBD;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../echart/models/datapoints-graph-widget.model.ts","../../echart/models/chart.model.ts","../../echart/models/svg-icons.model.ts","../../echart/charts.component.ts","../../echart/services/chart-alarms.service.ts","../../echart/services/chart-events.service.ts","../../echart/services/chart-helpers.service.ts","../../echart/select-aggregated-datapoint/select-aggregated-datapoint.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;AAmBM;;;;AAKA;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;AAMA;;AAEA;AACA;AACA;AACA;;;AAGA;;;;;;;;AASI;;;;;;;;;AASJ;;;AAII;;AAEJ;AACA;;AAGI;;;AAIN;;AAEG;;AAGG;AAIN;AACE;AACA;AACD;AAED;AACM;;AAEL;AAED;;;;AAIM;;;;;;;AAQL;AAED;;;;;AAUE;;;;;AAGD;;AAGC;;AAEA;;AAEE;;AAEF;;;AACD;;;;;;;AAQC;AACA;AACD;AAEK;AACA;AAEA;AAEA;AAEN;;;;AAKA;;;;;;;;;;;;;AAcM;AACA;AAEA;;;;AAKA;;;;;;;;;;AAWL;AAED;;;;;;;;AAUE;AACA;AACD;;AC3MD;;;;;;AAMG;AACH;AACE;;;;AAIA;;;AACD;;;AAIA;;;AAIA;AAEK;AACA;AACJ;AACE;AACD;AACF;;AAGC;AACA;AACD;AAED;AACE;AACA;AACA;AACD;;AC3CD;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAED;;;;;;;;;;;ACyDA;AA4BE;;AAEA;;;;;;;;;;;;AAYK;AACK;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEV;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAyCA;;;;;AA0HuB;;;AAA4B;AAiDnD;AAOA;AAIA;AAgBA;AA6BA;AAWA;;;AAGG;AACH;AAcA;;;AAGG;AACH;AAmBA;AAeA;AA0BA;;AA8DA;;;AA6MA;AA6CA;AA0CA;AAkBA;AAWA;AAYA;;;AA6BD;;AC/4BD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAqCP;;AC/CD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAuBP;;AChCD;AAEE;;;;AAIG;;;;;;;;;;;AAcH;AAcA;;;AAGD;;ACtBD;;AAqBW;AACC;AAEV;;AAGA;;;AAiBA;;;AAgBD;;;"}
@@ -25,6 +25,7 @@ type DatapointsGraphWidgetConfig = {
25
25
  displayMarkedPoint?: boolean;
26
26
  mergeMatchingDatapoints?: boolean;
27
27
  forceMergeDatapoints?: boolean;
28
+ smoothLines?: boolean;
28
29
  realtime?: boolean | null;
29
30
  showLabelAndUnit?: boolean;
30
31
  showSlider?: boolean | null;
@@ -51,6 +52,7 @@ type GraphDisplayOptions = {
51
52
  showOnlyAlarmsOrEvents?: boolean;
52
53
  numberOfDecimalPlaces?: number;
53
54
  sliderPositionMode?: 'compact' | 'default';
55
+ smoothLines?: boolean;
54
56
  };
55
57
  type AlarmDetailsExtended = AlarmDetails & {
56
58
  __hidden?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../../echart/models/datapoints-graph-widget.model.ts","../../../echart/models/chart.model.ts","../../../echart/models/svg-icons.model.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":";;;;;;;;AAmBM;;;;AAKA;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;AAKA;;AAEA;AACA;AACA;AACA;;;AAGA;;;;;;;;AASI;;;;;;;;;AASJ;;AAGI;;AAEJ;AACA;;AAGI;;;AAIN;;AAEG;;AAGG;AAIN;AACE;AACA;AACD;AAED;AACM;;AAEL;AAED;;;;AAIM;;;;;;;AAQL;AAED;;;;;AAUE;;;;;AAGD;;AAGC;;AAEA;;AAEE;;AAEF;;;AACD;;;;;;;AAQC;AACA;AACD;AAEK;AACA;AAEA;AAEA;AAEN;;;;AAKA;;;;;;;;;;;;;AAcM;AACA;AAEA;;;;AAKA;;;;;;;;;;AAWL;AAED;;;;;;;;AAUE;AACA;AACD;;ACzMD;;;;;;AAMG;AACH;AACE;;;;AAIA;;;AACD;;;AAIA;;;AAIA;AAEK;AACA;AACJ;AACE;AACD;AACF;;AAGC;AACA;AACD;AAED;AACE;AACA;AACA;AACD;;AC3CD;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAED;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../../echart/models/datapoints-graph-widget.model.ts","../../../echart/models/chart.model.ts","../../../echart/models/svg-icons.model.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":";;;;;;;;AAmBM;;;;AAKA;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;AAMA;;AAEA;AACA;AACA;AACA;;;AAGA;;;;;;;;AASI;;;;;;;;;AASJ;;;AAII;;AAEJ;AACA;;AAGI;;;AAIN;;AAEG;;AAGG;AAIN;AACE;AACA;AACD;AAED;AACM;;AAEL;AAED;;;;AAIM;;;;;;;AAQL;AAED;;;;;AAUE;;;;;AAGD;;AAGC;;AAEA;;AAEE;;AAEF;;;AACD;;;;;;;AAQC;AACA;AACD;AAEK;AACA;AAEA;AAEA;AAEN;;;;AAKA;;;;;;;;;;;;;AAcM;AACA;AAEA;;;;AAKA;;;;;;;;;;AAWL;AAED;;;;;;;;AAUE;AACA;AACD;;AC3MD;;;;;;AAMG;AACH;AACE;;;;AAIA;;;AACD;;;AAIA;;;AAIA;AAEK;AACA;AACJ;AACE;AACD;AACF;;AAGC;AACA;AACD;AAED;AACE;AACA;AACA;AACD;;AC3CD;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAED;;;;;;;;;;;;"}
@@ -22,8 +22,10 @@ var DataStreamType;
22
22
  DataStreamType["MESSAGE_ANNOTATIONS"] = "message-annotations";
23
23
  DataStreamType["SOURCE"] = "source";
24
24
  DataStreamType["FILE"] = "file";
25
- DataStreamType["STEP_START"] = "step-start";
26
- DataStreamType["STEP_FINISH"] = "step-finish";
25
+ DataStreamType["STEP_START"] = "start-step";
26
+ DataStreamType["STEP_FINISH"] = "finish-step";
27
+ DataStreamType["STEP_START_V4"] = "step-start";
28
+ DataStreamType["STEP_FINISH_V4"] = "step-finish";
27
29
  })(DataStreamType || (DataStreamType = {}));
28
30
 
29
31
  class AIService {
@@ -218,7 +220,7 @@ class AIService {
218
220
  return;
219
221
  }
220
222
  switch (type) {
221
- case DataStreamType.STEP_START:
223
+ case DataStreamType.STEP_START || DataStreamType.STEP_START_V4:
222
224
  message.steps = message.steps || [];
223
225
  message.steps.push({
224
226
  type: 'text',
@@ -231,12 +233,12 @@ class AIService {
231
233
  if (lastStep.reasoning === undefined) {
232
234
  lastStep.reasoning = '';
233
235
  }
234
- lastStep.reasoning += data.textDelta;
236
+ lastStep.reasoning += data.text || data.textDelta;
235
237
  observer.next(message);
236
238
  return;
237
239
  case DataStreamType.TEXT_DELTA:
238
- lastStep.text += data.textDelta;
239
- message.content += data.textDelta;
240
+ lastStep.text += data.text || data.textDelta;
241
+ message.content += data.text || data.textDelta;
240
242
  observer.next(message);
241
243
  return;
242
244
  case DataStreamType.TOOL_CALL:
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-ai.mjs","sources":["../../ai/ai.model.ts","../../ai/ai.service.ts","../../ai/c8y-ngx-components-ai.ts"],"sourcesContent":["import { Type } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport interface AIMessageStreamSteps extends AIMessage {\n componentSteps$?: Observable<{ content: Type<any> | string; origin: AgentStep }[]>;\n}\n\nexport interface AIMessage {\n role: 'user' | 'assistant';\n content: string;\n options?: AIMessageOptions;\n steps?: Array<AgentStep>;\n finishReason?: 'stop' | 'error' | 'tool_use';\n timestamp?: string;\n}\n\nexport interface AIMessageOptions {\n skipToLLM?: boolean;\n hiddenContent?: string;\n variables?: { [key: string]: any };\n}\n\nexport enum DataStreamType {\n TEXT_DELTA = 'text-delta',\n TOOL_CALL = 'tool-call',\n TOOL_CALL_STREAMING = 'tool-call-streaming',\n TOOL_CALL_DELTA = 'tool-call-delta',\n TOOL_RESULT = 'tool-result',\n REASONING = 'reasoning',\n REASONING_DELTA = 'reasoning-delta',\n REDACTED_REASONING = 'redacted-reasoning',\n REASONING_SIGNATURE = 'reasoning-signature',\n FINISH_REASONING = 'finish-reasoning',\n FINISH = 'finish',\n FINISH_STEP = 'finish-step',\n ERROR = 'error',\n DATA = 'data',\n MESSAGE_ANNOTATIONS = 'message-annotations',\n SOURCE = 'source',\n FILE = 'file',\n STEP_START = 'step-start',\n STEP_FINISH = 'step-finish'\n}\n\nexport type AgentStep = {\n type: 'text' | 'reasoning' | string;\n text: string;\n reasoning?: string;\n textDelta?: string;\n toolCalls?: Array<ToolCall>;\n toolResults?: Array<ToolResult>;\n};\n\nexport interface Tool {\n toolName: string;\n toolId: string;\n type: 'tool-call' | 'tool-result';\n}\n\nexport interface ToolCall extends Tool {\n arguments: { [key: string]: any };\n}\n\nexport interface ToolResult extends Tool {\n result: {\n content: {\n text: string;\n type: string;\n }[];\n };\n}\n\nexport interface ClientAgentDefinition {\n /**\n * If set to true, the agent will be created each time. This is useful for development.\n */\n snapshot: boolean;\n /**\n * The label of the agent that is shown to the user.\n */\n label: string;\n /**\n * The definitions of the agent.\n *\n * You can use multiple definitions that can be used in an agent-2-agent scenario\n * The first definition is the entry point.\n */\n definitions: {\n name: string;\n type: 'object' | 'text';\n agent: {\n system: string;\n [key: string]: any;\n };\n mcp: Array<{ serverName: string; tools: string[] }>;\n }[];\n}\n\nexport interface ChatConfig {\n title: string;\n headline: string;\n welcomeText: string;\n placeholder: string;\n sendButtonText: string;\n cancelButtonText: string;\n disclaimerText: string;\n userInterfaceIcons: { send: string; cancel: string };\n}\n\nexport interface AgentHealthCheckResponse {\n /**\n * Indicates if the agent exists and can be used.\n * If false, the agent was not found.\n */\n exists: boolean;\n /**\n * Indicates if the user can create the agent, and if a global provider is configured.\n */\n canCreate: boolean;\n /**\n * Indicates if the provider is configured.\n * If false, the agent cannot be created as the provider is not configured.\n */\n isProviderConfigured: boolean;\n /**\n * If canCreate or exist is false, this array contains messages\n * that explain why the agent cannot be used or created.\n */\n messages?: string[];\n}\n","import { Injectable } from '@angular/core';\nimport {\n AgentHealthCheckResponse,\n AIMessage,\n ClientAgentDefinition,\n DataStreamType\n} from './ai.model';\nimport { FetchClient } from '@c8y/client';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AIService {\n private baseUrl = '/service/ai';\n\n constructor(private client: FetchClient) {}\n\n async createOrUpdateAgent(agentsDef: ClientAgentDefinition): Promise<void> {\n for (const def of agentsDef.definitions) {\n const health = await this.getAgentHealth(def.name);\n let resource = `${this.baseUrl}/agent/${def.type}`;\n let method = 'POST';\n if (health.exists) {\n resource = `${this.baseUrl}/agent/${def.type}/${def.name}`;\n method = 'PUT';\n }\n const response = await this.client.fetch(resource, {\n body: JSON.stringify(def),\n method,\n headers: { 'Content-Type': 'application/json' }\n });\n\n if (!response.ok) {\n throw new Error(`Failed to create agent: ${response.statusText}`);\n }\n }\n }\n\n /**\n * Check if an agent exists.\n * @param name Agent name\n * @returns Agent health check response.\n */\n async getAgentHealth(name: string): Promise<AgentHealthCheckResponse> {\n const response = await this.client.fetch(`${this.baseUrl}/agent/test/${name}`, {\n method: 'GET',\n headers: { 'Content-Type': 'application/json' }\n });\n\n if (!response.ok) {\n return {\n exists: false,\n canCreate: false,\n isProviderConfigured: false\n };\n }\n const json = await response.json();\n return json;\n }\n\n /**\n * Send a text message to the agent.\n * @param name Agent name\n * @param messages Messages to send\n * @param variables Variables to include\n * @returns Text response from the agent.\n */\n async text(\n name: string,\n messages: AIMessage[],\n variables: { [key: string]: any }\n ): Promise<string> {\n const parsedMessages = this.parseMessages(messages);\n\n const data = this.client.fetch(`${this.baseUrl}/agent/text/${name}`, {\n body: JSON.stringify({ messages: parsedMessages, variables }),\n method: 'POST',\n headers: { 'Content-Type': 'application/json' }\n });\n\n const response = await data;\n if (!response.ok) {\n throw new Error(`Failed to talk with agent: ${response.statusText}`);\n }\n const text = await response.text();\n return text;\n }\n\n /**\n * Stream a text message to the agent.\n * @param agentName Agent name\n * @param messages Messages to send\n * @param variables Variables to include\n * @param abortController An AbortController to cancel the request.\n * @returns An observable that emits partial AIMessage objects as they are received. The observable can be cancelled using the provided AbortController.\n * The observable will emit an error if the request fails or is aborted.\n * The observable will complete when the stream is finished.\n *\n * The messages sent to the agent can include special options:\n * - `hiddenContent`: If set, this content will be sent to the agent instead of the `content` field.\n * - `skipToLLM`: If set to true, this message will be skipped when sending to the agent.\n *\n * Example usage:\n * ```typescript\n * const abortController = new AbortController();\n * const messages: AIMessage[] = [\n * { role: 'user', content: 'Hello' },\n * { role: 'assistant', content: 'Hi there!' },\n * { role: 'user', content: 'Tell me a joke.', options: { hiddenContent: 'Tell me a joke about cats.' } }\n * ];\n * const observable = aiService.stream$('my-agent', messages, {}, abortController);\n * const subscription = observable.subscribe({\n * next: (message) => console.log('Received message part:', message),\n * error: (err) => console.error('Error:', err),\n * complete: () => console.log('Stream complete')\n * });\n *\n * // To cancel the request:\n * abortController.abort();\n * subscription.unsubscribe();\n * ```\n */\n async stream$(\n agentName: string,\n messages: AIMessage[],\n variables: { [key: string]: any },\n abortController: AbortController\n ): Promise<Observable<AIMessage>> {\n const parsedMessages = this.parseMessages(messages);\n const response = await this.client.fetch(\n `${this.baseUrl}/agent/text/${agentName}?fullResponse=true`,\n {\n method: 'POST',\n body: JSON.stringify({ messages: parsedMessages, variables }),\n headers: {\n ...this.client.defaultHeaders,\n 'content-type': 'application/json',\n accept: 'text/event-stream'\n },\n signal: abortController.signal\n }\n );\n\n if (response.status > 300) {\n const data = await response.json();\n throw new Error(JSON.stringify(data, null, 2));\n }\n\n const stream = response.body;\n const decoder = new TextDecoder();\n\n return new Observable<AIMessage>(observer => {\n if (!stream) {\n observer.error('No response body');\n throw 'No response body';\n }\n\n const reader = stream.getReader();\n const message: AIMessage = {\n role: 'assistant',\n content: '',\n steps: []\n };\n\n const abortHandler = () => {\n reader.cancel();\n observer.error(new DOMException('Aborted', 'AbortError'));\n };\n\n abortController.signal.addEventListener('abort', abortHandler);\n\n let buffer = '';\n\n const read = () => {\n reader.read().then(({ done, value }) => {\n if (done) {\n if (buffer.trim()) this.processLine(buffer, observer, message); // process any remaining data\n observer.complete();\n return;\n }\n buffer += decoder.decode(value, { stream: true });\n const lines = buffer.split('\\n\\n');\n buffer = lines.pop() || '';\n for (const line of lines) {\n if (line.trim()) this.processLine(line, observer, message);\n }\n read();\n });\n };\n\n read();\n return () => {\n abortController.signal.removeEventListener('abort', abortHandler);\n reader.cancel();\n };\n });\n }\n\n private parseMessages(messages: AIMessage[]) {\n return messages\n .filter(message => !message.options?.skipToLLM)\n .map(message => {\n if (message.options?.hiddenContent) {\n return {\n role: message.role,\n content: message.options.hiddenContent\n };\n }\n return {\n role: message.role,\n content: message.content\n };\n });\n }\n\n private processLine(line: string, observer: any, message: AIMessage) {\n if (!line.trim()) {\n return;\n }\n const lastStep = message.steps?.[message.steps.length - 1];\n try {\n let data: any = {};\n let type = '';\n try {\n data = JSON.parse(line.replace('data: ', ''));\n type = data.type;\n } catch (e) {\n console.error('Error parsing line', line, e);\n return;\n }\n\n switch (type) {\n case DataStreamType.STEP_START:\n message.steps = message.steps || [];\n message.steps.push({\n type: 'text',\n toolCalls: [],\n toolResults: [],\n text: ''\n });\n return;\n\n case DataStreamType.REASONING:\n if (lastStep!.reasoning === undefined) {\n lastStep!.reasoning = '';\n }\n lastStep!.reasoning += data.textDelta;\n observer.next(message);\n return;\n\n case DataStreamType.TEXT_DELTA:\n lastStep!.text += data.textDelta;\n message.content += data.textDelta;\n observer.next(message);\n return;\n\n case DataStreamType.TOOL_CALL:\n lastStep!.toolCalls = [data];\n observer.next(message);\n return;\n\n case DataStreamType.TOOL_RESULT:\n lastStep!.toolResults = [data];\n observer.next(message);\n return;\n\n case DataStreamType.FINISH:\n message.finishReason = data.finishReason;\n observer.next(message);\n observer.complete();\n return;\n\n case DataStreamType.ERROR:\n message.finishReason = 'error';\n const errorMessage = `<div\n class=\"alert alert-danger\"\n role=\"alert\"\n >\n <strong>Error</strong>\n ${data.message || 'An unknown error occurred'}\n </div>`;\n message.content += errorMessage;\n lastStep!.text += errorMessage;\n observer.next(message);\n observer.error(data);\n observer.complete();\n return;\n }\n } catch (e) {\n observer.error(e);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"c8y-ngx-components-ai.mjs","sources":["../../ai/ai.model.ts","../../ai/ai.service.ts","../../ai/c8y-ngx-components-ai.ts"],"sourcesContent":["import { Type } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport interface AIMessageStreamSteps extends AIMessage {\n componentSteps$?: Observable<{ content: Type<any> | string; origin: AgentStep }[]>;\n}\n\nexport interface AIMessage {\n role: 'user' | 'assistant';\n content: string;\n options?: AIMessageOptions;\n steps?: Array<AgentStep>;\n finishReason?: 'stop' | 'error' | 'tool_use';\n timestamp?: string;\n}\n\nexport interface AIMessageOptions {\n skipToLLM?: boolean;\n hiddenContent?: string;\n variables?: { [key: string]: any };\n}\n\nexport enum DataStreamType {\n TEXT_DELTA = 'text-delta',\n TOOL_CALL = 'tool-call',\n TOOL_CALL_STREAMING = 'tool-call-streaming',\n TOOL_CALL_DELTA = 'tool-call-delta',\n TOOL_RESULT = 'tool-result',\n REASONING = 'reasoning',\n REASONING_DELTA = 'reasoning-delta',\n REDACTED_REASONING = 'redacted-reasoning',\n REASONING_SIGNATURE = 'reasoning-signature',\n FINISH_REASONING = 'finish-reasoning',\n FINISH = 'finish',\n FINISH_STEP = 'finish-step',\n ERROR = 'error',\n DATA = 'data',\n MESSAGE_ANNOTATIONS = 'message-annotations',\n SOURCE = 'source',\n FILE = 'file',\n STEP_START = 'start-step',\n STEP_FINISH = 'finish-step',\n STEP_START_V4 = 'step-start',\n STEP_FINISH_V4 = 'step-finish'\n}\n\nexport type AgentStep = {\n type: 'text' | 'reasoning' | string;\n text: string;\n reasoning?: string;\n textDelta?: string;\n toolCalls?: Array<ToolCall>;\n toolResults?: Array<ToolResult>;\n};\n\nexport interface Tool {\n toolName: string;\n toolId: string;\n type: 'tool-call' | 'tool-result';\n}\n\nexport interface ToolCall extends Tool {\n arguments: { [key: string]: any };\n}\n\nexport interface ToolResult extends Tool {\n result: {\n content: {\n text: string;\n type: string;\n }[];\n };\n}\n\nexport interface ClientAgentDefinition {\n /**\n * If set to true, the agent will be created each time. This is useful for development.\n */\n snapshot: boolean;\n /**\n * The label of the agent that is shown to the user.\n */\n label: string;\n /**\n * The definitions of the agent.\n *\n * You can use multiple definitions that can be used in an agent-2-agent scenario\n * The first definition is the entry point.\n */\n definitions: {\n name: string;\n type: 'object' | 'text';\n agent: {\n system: string;\n [key: string]: any;\n };\n mcp: Array<{ serverName: string; tools: string[] }>;\n }[];\n}\n\nexport interface ChatConfig {\n title: string;\n headline: string;\n welcomeText: string;\n placeholder: string;\n sendButtonText: string;\n cancelButtonText: string;\n disclaimerText: string;\n userInterfaceIcons: { send: string; cancel: string };\n}\n\nexport interface AgentHealthCheckResponse {\n /**\n * Indicates if the agent exists and can be used.\n * If false, the agent was not found.\n */\n exists: boolean;\n /**\n * Indicates if the user can create the agent, and if a global provider is configured.\n */\n canCreate: boolean;\n /**\n * Indicates if the provider is configured.\n * If false, the agent cannot be created as the provider is not configured.\n */\n isProviderConfigured: boolean;\n /**\n * If canCreate or exist is false, this array contains messages\n * that explain why the agent cannot be used or created.\n */\n messages?: string[];\n}\n","import { Injectable } from '@angular/core';\nimport {\n AgentHealthCheckResponse,\n AIMessage,\n ClientAgentDefinition,\n DataStreamType\n} from './ai.model';\nimport { FetchClient } from '@c8y/client';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AIService {\n private baseUrl = '/service/ai';\n\n constructor(private client: FetchClient) {}\n\n async createOrUpdateAgent(agentsDef: ClientAgentDefinition): Promise<void> {\n for (const def of agentsDef.definitions) {\n const health = await this.getAgentHealth(def.name);\n let resource = `${this.baseUrl}/agent/${def.type}`;\n let method = 'POST';\n if (health.exists) {\n resource = `${this.baseUrl}/agent/${def.type}/${def.name}`;\n method = 'PUT';\n }\n const response = await this.client.fetch(resource, {\n body: JSON.stringify(def),\n method,\n headers: { 'Content-Type': 'application/json' }\n });\n\n if (!response.ok) {\n throw new Error(`Failed to create agent: ${response.statusText}`);\n }\n }\n }\n\n /**\n * Check if an agent exists.\n * @param name Agent name\n * @returns Agent health check response.\n */\n async getAgentHealth(name: string): Promise<AgentHealthCheckResponse> {\n const response = await this.client.fetch(`${this.baseUrl}/agent/test/${name}`, {\n method: 'GET',\n headers: { 'Content-Type': 'application/json' }\n });\n\n if (!response.ok) {\n return {\n exists: false,\n canCreate: false,\n isProviderConfigured: false\n };\n }\n const json = await response.json();\n return json;\n }\n\n /**\n * Send a text message to the agent.\n * @param name Agent name\n * @param messages Messages to send\n * @param variables Variables to include\n * @returns Text response from the agent.\n */\n async text(\n name: string,\n messages: AIMessage[],\n variables: { [key: string]: any }\n ): Promise<string> {\n const parsedMessages = this.parseMessages(messages);\n\n const data = this.client.fetch(`${this.baseUrl}/agent/text/${name}`, {\n body: JSON.stringify({ messages: parsedMessages, variables }),\n method: 'POST',\n headers: { 'Content-Type': 'application/json' }\n });\n\n const response = await data;\n if (!response.ok) {\n throw new Error(`Failed to talk with agent: ${response.statusText}`);\n }\n const text = await response.text();\n return text;\n }\n\n /**\n * Stream a text message to the agent.\n * @param agentName Agent name\n * @param messages Messages to send\n * @param variables Variables to include\n * @param abortController An AbortController to cancel the request.\n * @returns An observable that emits partial AIMessage objects as they are received. The observable can be cancelled using the provided AbortController.\n * The observable will emit an error if the request fails or is aborted.\n * The observable will complete when the stream is finished.\n *\n * The messages sent to the agent can include special options:\n * - `hiddenContent`: If set, this content will be sent to the agent instead of the `content` field.\n * - `skipToLLM`: If set to true, this message will be skipped when sending to the agent.\n *\n * Example usage:\n * ```typescript\n * const abortController = new AbortController();\n * const messages: AIMessage[] = [\n * { role: 'user', content: 'Hello' },\n * { role: 'assistant', content: 'Hi there!' },\n * { role: 'user', content: 'Tell me a joke.', options: { hiddenContent: 'Tell me a joke about cats.' } }\n * ];\n * const observable = aiService.stream$('my-agent', messages, {}, abortController);\n * const subscription = observable.subscribe({\n * next: (message) => console.log('Received message part:', message),\n * error: (err) => console.error('Error:', err),\n * complete: () => console.log('Stream complete')\n * });\n *\n * // To cancel the request:\n * abortController.abort();\n * subscription.unsubscribe();\n * ```\n */\n async stream$(\n agentName: string,\n messages: AIMessage[],\n variables: { [key: string]: any },\n abortController: AbortController\n ): Promise<Observable<AIMessage>> {\n const parsedMessages = this.parseMessages(messages);\n const response = await this.client.fetch(\n `${this.baseUrl}/agent/text/${agentName}?fullResponse=true`,\n {\n method: 'POST',\n body: JSON.stringify({ messages: parsedMessages, variables }),\n headers: {\n ...this.client.defaultHeaders,\n 'content-type': 'application/json',\n accept: 'text/event-stream'\n },\n signal: abortController.signal\n }\n );\n\n if (response.status > 300) {\n const data = await response.json();\n throw new Error(JSON.stringify(data, null, 2));\n }\n\n const stream = response.body;\n const decoder = new TextDecoder();\n\n return new Observable<AIMessage>(observer => {\n if (!stream) {\n observer.error('No response body');\n throw 'No response body';\n }\n\n const reader = stream.getReader();\n const message: AIMessage = {\n role: 'assistant',\n content: '',\n steps: []\n };\n\n const abortHandler = () => {\n reader.cancel();\n observer.error(new DOMException('Aborted', 'AbortError'));\n };\n\n abortController.signal.addEventListener('abort', abortHandler);\n\n let buffer = '';\n\n const read = () => {\n reader.read().then(({ done, value }) => {\n if (done) {\n if (buffer.trim()) this.processLine(buffer, observer, message); // process any remaining data\n observer.complete();\n return;\n }\n buffer += decoder.decode(value, { stream: true });\n const lines = buffer.split('\\n\\n');\n buffer = lines.pop() || '';\n for (const line of lines) {\n if (line.trim()) this.processLine(line, observer, message);\n }\n read();\n });\n };\n\n read();\n return () => {\n abortController.signal.removeEventListener('abort', abortHandler);\n reader.cancel();\n };\n });\n }\n\n private parseMessages(messages: AIMessage[]) {\n return messages\n .filter(message => !message.options?.skipToLLM)\n .map(message => {\n if (message.options?.hiddenContent) {\n return {\n role: message.role,\n content: message.options.hiddenContent\n };\n }\n return {\n role: message.role,\n content: message.content\n };\n });\n }\n\n private processLine(line: string, observer: any, message: AIMessage) {\n if (!line.trim()) {\n return;\n }\n const lastStep = message.steps?.[message.steps.length - 1];\n try {\n let data: any = {};\n let type = '';\n try {\n data = JSON.parse(line.replace('data: ', ''));\n type = data.type;\n } catch (e) {\n console.error('Error parsing line', line, e);\n return;\n }\n\n switch (type) {\n case DataStreamType.STEP_START || DataStreamType.STEP_START_V4:\n message.steps = message.steps || [];\n message.steps.push({\n type: 'text',\n toolCalls: [],\n toolResults: [],\n text: ''\n });\n return;\n\n case DataStreamType.REASONING:\n if (lastStep!.reasoning === undefined) {\n lastStep!.reasoning = '';\n }\n lastStep!.reasoning += data.text || data.textDelta;\n observer.next(message);\n return;\n\n case DataStreamType.TEXT_DELTA:\n lastStep!.text += data.text || data.textDelta;\n message.content += data.text || data.textDelta;\n observer.next(message);\n return;\n\n case DataStreamType.TOOL_CALL:\n lastStep!.toolCalls = [data];\n observer.next(message);\n return;\n\n case DataStreamType.TOOL_RESULT:\n lastStep!.toolResults = [data];\n observer.next(message);\n return;\n\n case DataStreamType.FINISH:\n message.finishReason = data.finishReason;\n observer.next(message);\n observer.complete();\n return;\n\n case DataStreamType.ERROR:\n message.finishReason = 'error';\n const errorMessage = `<div\n class=\"alert alert-danger\"\n role=\"alert\"\n >\n <strong>Error</strong>\n ${data.message || 'An unknown error occurred'}\n </div>`;\n message.content += errorMessage;\n lastStep!.text += errorMessage;\n observer.next(message);\n observer.error(data);\n observer.complete();\n return;\n }\n } catch (e) {\n observer.error(e);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;IAsBY;AAAZ,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AACzB,IAAA,cAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,cAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C;AAC3C,IAAA,cAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC;AACnC,IAAA,cAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3B,IAAA,cAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,cAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC;AACnC,IAAA,cAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC;AACzC,IAAA,cAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C;AAC3C,IAAA,cAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;AACrC,IAAA,cAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,cAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3B,IAAA,cAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,cAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C;AAC3C,IAAA,cAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,cAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AACzB,IAAA,cAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3B,IAAA,cAAA,CAAA,eAAA,CAAA,GAAA,YAA4B;AAC5B,IAAA,cAAA,CAAA,gBAAA,CAAA,GAAA,aAA8B;AAChC,CAAC,EAtBW,cAAc,KAAd,cAAc,GAAA,EAAA,CAAA,CAAA;;MCTb,SAAS,CAAA;AAGpB,IAAA,WAAA,CAAoB,MAAmB,EAAA;QAAnB,IAAA,CAAA,MAAM,GAAN,MAAM;QAFlB,IAAA,CAAA,OAAO,GAAG,aAAa;IAEW;IAE1C,MAAM,mBAAmB,CAAC,SAAgC,EAAA;AACxD,QAAA,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE;YACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;YAClD,IAAI,QAAQ,GAAG,CAAA,EAAG,IAAI,CAAC,OAAO,CAAA,OAAA,EAAU,GAAG,CAAC,IAAI,CAAA,CAAE;YAClD,IAAI,MAAM,GAAG,MAAM;AACnB,YAAA,IAAI,MAAM,CAAC,MAAM,EAAE;AACjB,gBAAA,QAAQ,GAAG,CAAA,EAAG,IAAI,CAAC,OAAO,CAAA,OAAA,EAAU,GAAG,CAAC,IAAI,CAAA,CAAA,EAAI,GAAG,CAAC,IAAI,EAAE;gBAC1D,MAAM,GAAG,KAAK;YAChB;YACA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;AACjD,gBAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;gBACzB,MAAM;AACN,gBAAA,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB;AAC9C,aAAA,CAAC;AAEF,YAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,CAAA,wBAAA,EAA2B,QAAQ,CAAC,UAAU,CAAA,CAAE,CAAC;YACnE;QACF;IACF;AAEA;;;;AAIG;IACH,MAAM,cAAc,CAAC,IAAY,EAAA;AAC/B,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,EAAG,IAAI,CAAC,OAAO,CAAA,YAAA,EAAe,IAAI,EAAE,EAAE;AAC7E,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB;AAC9C,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,OAAO;AACL,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,SAAS,EAAE,KAAK;AAChB,gBAAA,oBAAoB,EAAE;aACvB;QACH;AACA,QAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AAClC,QAAA,OAAO,IAAI;IACb;AAEA;;;;;;AAMG;AACH,IAAA,MAAM,IAAI,CACR,IAAY,EACZ,QAAqB,EACrB,SAAiC,EAAA;QAEjC,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;AAEnD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,EAAG,IAAI,CAAC,OAAO,CAAA,YAAA,EAAe,IAAI,EAAE,EAAE;AACnE,YAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;AAC7D,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB;AAC9C,SAAA,CAAC;AAEF,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI;AAC3B,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,CAAA,2BAAA,EAA8B,QAAQ,CAAC,UAAU,CAAA,CAAE,CAAC;QACtE;AACA,QAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AAClC,QAAA,OAAO,IAAI;IACb;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCG;IACH,MAAM,OAAO,CACX,SAAiB,EACjB,QAAqB,EACrB,SAAiC,EACjC,eAAgC,EAAA;QAEhC,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;AACnD,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACtC,CAAA,EAAG,IAAI,CAAC,OAAO,CAAA,YAAA,EAAe,SAAS,oBAAoB,EAC3D;AACE,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;AAC7D,YAAA,OAAO,EAAE;AACP,gBAAA,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc;AAC7B,gBAAA,cAAc,EAAE,kBAAkB;AAClC,gBAAA,MAAM,EAAE;AACT,aAAA;YACD,MAAM,EAAE,eAAe,CAAC;AACzB,SAAA,CACF;AAED,QAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE;AACzB,YAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AAClC,YAAA,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAChD;AAEA,QAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI;AAC5B,QAAA,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE;AAEjC,QAAA,OAAO,IAAI,UAAU,CAAY,QAAQ,IAAG;YAC1C,IAAI,CAAC,MAAM,EAAE;AACX,gBAAA,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC;AAClC,gBAAA,MAAM,kBAAkB;YAC1B;AAEA,YAAA,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE;AACjC,YAAA,MAAM,OAAO,GAAc;AACzB,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,OAAO,EAAE,EAAE;AACX,gBAAA,KAAK,EAAE;aACR;YAED,MAAM,YAAY,GAAG,MAAK;gBACxB,MAAM,CAAC,MAAM,EAAE;gBACf,QAAQ,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAC3D,YAAA,CAAC;YAED,eAAe,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC;YAE9D,IAAI,MAAM,GAAG,EAAE;YAEf,MAAM,IAAI,GAAG,MAAK;AAChB,gBAAA,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAI;oBACrC,IAAI,IAAI,EAAE;wBACR,IAAI,MAAM,CAAC,IAAI,EAAE;4BAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;wBAC/D,QAAQ,CAAC,QAAQ,EAAE;wBACnB;oBACF;AACA,oBAAA,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;oBACjD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;AAClC,oBAAA,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE;AAC1B,oBAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;wBACxB,IAAI,IAAI,CAAC,IAAI,EAAE;4BAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC;oBAC5D;AACA,oBAAA,IAAI,EAAE;AACR,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC;AAED,YAAA,IAAI,EAAE;AACN,YAAA,OAAO,MAAK;gBACV,eAAe,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC;gBACjE,MAAM,CAAC,MAAM,EAAE;AACjB,YAAA,CAAC;AACH,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,aAAa,CAAC,QAAqB,EAAA;AACzC,QAAA,OAAO;aACJ,MAAM,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS;aAC7C,GAAG,CAAC,OAAO,IAAG;AACb,YAAA,IAAI,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE;gBAClC,OAAO;oBACL,IAAI,EAAE,OAAO,CAAC,IAAI;AAClB,oBAAA,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;iBAC1B;YACH;YACA,OAAO;gBACL,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,OAAO,CAAC;aAClB;AACH,QAAA,CAAC,CAAC;IACN;AAEQ,IAAA,WAAW,CAAC,IAAY,EAAE,QAAa,EAAE,OAAkB,EAAA;AACjE,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;YAChB;QACF;AACA,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1D,QAAA,IAAI;YACF,IAAI,IAAI,GAAQ,EAAE;YAClB,IAAI,IAAI,GAAG,EAAE;AACb,YAAA,IAAI;AACF,gBAAA,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7C,gBAAA,IAAI,GAAG,IAAI,CAAC,IAAI;YAClB;YAAE,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5C;YACF;YAEA,QAAQ,IAAI;AACV,gBAAA,KAAK,cAAc,CAAC,UAAU,IAAI,cAAc,CAAC,aAAa;oBAC5D,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE;AACnC,oBAAA,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;AACjB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,SAAS,EAAE,EAAE;AACb,wBAAA,WAAW,EAAE,EAAE;AACf,wBAAA,IAAI,EAAE;AACP,qBAAA,CAAC;oBACF;gBAEF,KAAK,cAAc,CAAC,SAAS;AAC3B,oBAAA,IAAI,QAAS,CAAC,SAAS,KAAK,SAAS,EAAE;AACrC,wBAAA,QAAS,CAAC,SAAS,GAAG,EAAE;oBAC1B;oBACA,QAAS,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS;AAClD,oBAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;oBACtB;gBAEF,KAAK,cAAc,CAAC,UAAU;oBAC5B,QAAS,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS;oBAC7C,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS;AAC9C,oBAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;oBACtB;gBAEF,KAAK,cAAc,CAAC,SAAS;AAC3B,oBAAA,QAAS,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC;AAC5B,oBAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;oBACtB;gBAEF,KAAK,cAAc,CAAC,WAAW;AAC7B,oBAAA,QAAS,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC;AAC9B,oBAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;oBACtB;gBAEF,KAAK,cAAc,CAAC,MAAM;AACxB,oBAAA,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY;AACxC,oBAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;oBACtB,QAAQ,CAAC,QAAQ,EAAE;oBACnB;gBAEF,KAAK,cAAc,CAAC,KAAK;AACvB,oBAAA,OAAO,CAAC,YAAY,GAAG,OAAO;AAC9B,oBAAA,MAAM,YAAY,GAAG,CAAA;;;;;gBAKf,IAAI,CAAC,OAAO,IAAI,2BAA2B;mBACxC;AACT,oBAAA,OAAO,CAAC,OAAO,IAAI,YAAY;AAC/B,oBAAA,QAAS,CAAC,IAAI,IAAI,YAAY;AAC9B,oBAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;AACtB,oBAAA,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;oBACpB,QAAQ,CAAC,QAAQ,EAAE;oBACnB;;QAEN;QAAE,OAAO,CAAC,EAAE;AACV,YAAA,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACnB;IACF;+GAvRW,SAAS,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,SAAS,cAFR,MAAM,EAAA,CAAA,CAAA;;4FAEP,SAAS,EAAA,UAAA,EAAA,CAAA;kBAHrB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACZD;;AAEG;;;;"}