@sinequa/assistant 3.8.0 → 3.9.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 (151) hide show
  1. package/chat/charts/chart/chart.component.d.ts +13 -13
  2. package/chat/chat-message/chat-message.component.d.ts +85 -81
  3. package/chat/chat-message/i18n/en.json +11 -0
  4. package/chat/chat-message/i18n/fr.json +11 -0
  5. package/chat/chat-reference/chat-reference.component.d.ts +14 -14
  6. package/chat/chat-reference/i18n/en.json +4 -0
  7. package/chat/chat-reference/i18n/fr.json +4 -0
  8. package/chat/chat-settings-v3/chat-settings-v3.component.d.ts +48 -50
  9. package/chat/chat-settings-v3/i18n/en.json +14 -0
  10. package/chat/chat-settings-v3/i18n/fr.json +14 -0
  11. package/chat/chat.component.d.ts +388 -1405
  12. package/chat/chat.service.d.ts +247 -228
  13. package/chat/debug-message/debug-message.component.d.ts +17 -17
  14. package/chat/debug-message/i18n/en.json +3 -0
  15. package/chat/debug-message/i18n/fr.json +3 -0
  16. package/chat/dialogs/delete-saved-chat.component.d.ts +22 -0
  17. package/chat/dialogs/i18n/en.json +19 -0
  18. package/chat/dialogs/i18n/fr.json +19 -0
  19. package/chat/dialogs/rename-saved-chat.component.d.ts +21 -0
  20. package/chat/dialogs/updates.component.d.ts +15 -0
  21. package/chat/documents-upload/document-list/document-list.component.d.ts +68 -77
  22. package/chat/documents-upload/document-overview/document-overview.component.d.ts +31 -41
  23. package/chat/documents-upload/document-upload/document-upload.component.d.ts +96 -98
  24. package/chat/documents-upload/documents-upload.model.d.ts +66 -66
  25. package/chat/documents-upload/documents-upload.service.d.ts +170 -174
  26. package/chat/documents-upload/i18n/en.json +24 -0
  27. package/chat/documents-upload/i18n/fr.json +24 -0
  28. package/chat/format-icon/format-icon.component.d.ts +10 -10
  29. package/chat/format-icon/icons.d.ts +5 -5
  30. package/chat/i18n/en.json +42 -0
  31. package/chat/i18n/fr.json +42 -0
  32. package/chat/index.d.ts +5 -5
  33. package/chat/initials-avatar/initials-avatar.component.d.ts +35 -35
  34. package/chat/instance-manager.service.d.ts +28 -28
  35. package/chat/pipes/message-content.pipe.d.ts +16 -0
  36. package/chat/prompt.component.d.ts +25 -21
  37. package/chat/public-api.d.ts +17 -17
  38. package/chat/references/i18n/en.json +6 -0
  39. package/chat/references/i18n/fr.json +6 -0
  40. package/chat/references/inline-image-reference.d.ts +21 -0
  41. package/chat/references/inline-page-reference.d.ts +21 -0
  42. package/chat/rest-chat.service.d.ts +31 -33
  43. package/chat/saved-chats/i18n/en.json +4 -0
  44. package/chat/saved-chats/i18n/fr.json +4 -0
  45. package/chat/saved-chats/saved-chats.component.d.ts +30 -36
  46. package/chat/services/app.service.d.ts +8 -0
  47. package/chat/services/dialog.service.d.ts +12 -0
  48. package/chat/services/notification.service.d.ts +10 -0
  49. package/chat/services/principal.service.d.ts +7 -0
  50. package/chat/services/search.service.d.ts +7 -0
  51. package/chat/services/signalR.web.service.d.ts +45 -0
  52. package/chat/services/ui.service.d.ts +13 -0
  53. package/chat/services/user-settings.service.d.ts +7 -0
  54. package/chat/token-progress-bar/i18n/en.json +4 -0
  55. package/chat/token-progress-bar/i18n/fr.json +4 -0
  56. package/chat/token-progress-bar/token-progress-bar.component.d.ts +24 -27
  57. package/chat/tooltip/tooltip.component.d.ts +12 -0
  58. package/chat/tooltip/tooltip.directive.d.ts +81 -0
  59. package/chat/types/message-content.types.d.ts +54 -0
  60. package/chat/types/message-reference.types.d.ts +11 -0
  61. package/chat/types.d.ts +913 -873
  62. package/chat/unified-plugins/embedded-image-reference.plugin.d.ts +3 -0
  63. package/chat/unified-plugins/embedded-page-reference.plugin.d.ts +3 -0
  64. package/chat/utils/assistant-json.d.ts +2 -0
  65. package/chat/websocket-chat.service.d.ts +102 -103
  66. package/esm2022/chat/charts/chart/chart.component.mjs +40 -0
  67. package/esm2022/chat/chat-message/chat-message.component.mjs +351 -0
  68. package/esm2022/chat/chat-reference/chat-reference.component.mjs +40 -0
  69. package/esm2022/chat/chat-settings-v3/chat-settings-v3.component.mjs +118 -0
  70. package/esm2022/chat/chat.component.mjs +1090 -0
  71. package/esm2022/chat/chat.service.mjs +417 -0
  72. package/esm2022/chat/debug-message/debug-message.component.mjs +43 -0
  73. package/esm2022/chat/dialogs/delete-saved-chat.component.mjs +81 -0
  74. package/esm2022/chat/dialogs/rename-saved-chat.component.mjs +84 -0
  75. package/esm2022/chat/dialogs/updates.component.mjs +61 -0
  76. package/esm2022/chat/documents-upload/document-list/document-list.component.mjs +140 -0
  77. package/esm2022/chat/documents-upload/document-overview/document-overview.component.mjs +65 -0
  78. package/esm2022/chat/documents-upload/document-upload/document-upload.component.mjs +256 -0
  79. package/{esm2020 → esm2022}/chat/documents-upload/documents-upload.model.mjs +1 -1
  80. package/esm2022/chat/documents-upload/documents-upload.service.mjs +291 -0
  81. package/{esm2020 → esm2022}/chat/format-icon/format-icon.component.mjs +23 -23
  82. package/{esm2020 → esm2022}/chat/format-icon/icons.mjs +137 -137
  83. package/{esm2020 → esm2022}/chat/initials-avatar/initials-avatar.component.mjs +60 -60
  84. package/esm2022/chat/instance-manager.service.mjs +46 -0
  85. package/esm2022/chat/pipes/message-content.pipe.mjs +34 -0
  86. package/esm2022/chat/prompt.component.mjs +88 -0
  87. package/{esm2020 → esm2022}/chat/public-api.mjs +18 -18
  88. package/esm2022/chat/references/inline-image-reference.mjs +110 -0
  89. package/esm2022/chat/references/inline-page-reference.mjs +110 -0
  90. package/esm2022/chat/rest-chat.service.mjs +296 -0
  91. package/esm2022/chat/saved-chats/saved-chats.component.mjs +82 -0
  92. package/esm2022/chat/services/app.service.mjs +19 -0
  93. package/esm2022/chat/services/dialog.service.mjs +40 -0
  94. package/esm2022/chat/services/notification.service.mjs +25 -0
  95. package/esm2022/chat/services/principal.service.mjs +16 -0
  96. package/esm2022/chat/services/search.service.mjs +13 -0
  97. package/esm2022/chat/services/signalR.web.service.mjs +79 -0
  98. package/esm2022/chat/services/ui.service.mjs +61 -0
  99. package/esm2022/chat/services/user-settings.service.mjs +22 -0
  100. package/{esm2020 → esm2022}/chat/sinequa-assistant-chat.mjs +4 -4
  101. package/esm2022/chat/token-progress-bar/token-progress-bar.component.mjs +52 -0
  102. package/esm2022/chat/tooltip/tooltip.component.mjs +44 -0
  103. package/esm2022/chat/tooltip/tooltip.directive.mjs +203 -0
  104. package/esm2022/chat/types/message-content.types.mjs +2 -0
  105. package/esm2022/chat/types/message-reference.types.mjs +2 -0
  106. package/esm2022/chat/types.mjs +130 -0
  107. package/esm2022/chat/unified-plugins/embedded-image-reference.plugin.mjs +57 -0
  108. package/esm2022/chat/unified-plugins/embedded-page-reference.plugin.mjs +57 -0
  109. package/esm2022/chat/utils/assistant-json.mjs +12 -0
  110. package/esm2022/chat/websocket-chat.service.mjs +654 -0
  111. package/{esm2020 → esm2022}/public-api.mjs +2 -2
  112. package/{esm2020 → esm2022}/sinequa-assistant.mjs +4 -4
  113. package/fesm2022/sinequa-assistant-chat.mjs +5340 -0
  114. package/fesm2022/sinequa-assistant-chat.mjs.map +1 -0
  115. package/{fesm2015 → fesm2022}/sinequa-assistant.mjs +3 -3
  116. package/index.d.ts +5 -5
  117. package/package.json +52 -25
  118. package/public-api.d.ts +1 -1
  119. package/chat/messages/de.d.ts +0 -4
  120. package/chat/messages/en.d.ts +0 -4
  121. package/chat/messages/fr.d.ts +0 -4
  122. package/chat/messages/index.d.ts +0 -4
  123. package/esm2020/chat/charts/chart/chart.component.mjs +0 -40
  124. package/esm2020/chat/chat-message/chat-message.component.mjs +0 -263
  125. package/esm2020/chat/chat-reference/chat-reference.component.mjs +0 -40
  126. package/esm2020/chat/chat-settings-v3/chat-settings-v3.component.mjs +0 -117
  127. package/esm2020/chat/chat.component.mjs +0 -1069
  128. package/esm2020/chat/chat.service.mjs +0 -333
  129. package/esm2020/chat/debug-message/debug-message.component.mjs +0 -43
  130. package/esm2020/chat/documents-upload/document-list/document-list.component.mjs +0 -191
  131. package/esm2020/chat/documents-upload/document-overview/document-overview.component.mjs +0 -80
  132. package/esm2020/chat/documents-upload/document-upload/document-upload.component.mjs +0 -258
  133. package/esm2020/chat/documents-upload/documents-upload.service.mjs +0 -289
  134. package/esm2020/chat/instance-manager.service.mjs +0 -46
  135. package/esm2020/chat/messages/de.mjs +0 -4
  136. package/esm2020/chat/messages/en.mjs +0 -4
  137. package/esm2020/chat/messages/fr.mjs +0 -4
  138. package/esm2020/chat/messages/index.mjs +0 -9
  139. package/esm2020/chat/prompt.component.mjs +0 -88
  140. package/esm2020/chat/rest-chat.service.mjs +0 -241
  141. package/esm2020/chat/saved-chats/saved-chats.component.mjs +0 -175
  142. package/esm2020/chat/token-progress-bar/token-progress-bar.component.mjs +0 -54
  143. package/esm2020/chat/types.mjs +0 -112
  144. package/esm2020/chat/websocket-chat.service.mjs +0 -641
  145. package/fesm2015/sinequa-assistant-chat.mjs +0 -4200
  146. package/fesm2015/sinequa-assistant-chat.mjs.map +0 -1
  147. package/fesm2020/sinequa-assistant-chat.mjs +0 -4171
  148. package/fesm2020/sinequa-assistant-chat.mjs.map +0 -1
  149. package/fesm2020/sinequa-assistant.mjs +0 -9
  150. package/fesm2020/sinequa-assistant.mjs.map +0 -1
  151. /package/{fesm2015 → fesm2022}/sinequa-assistant.mjs.map +0 -0
@@ -0,0 +1,3 @@
1
+ import { Node } from "unist";
2
+ export declare const EMBEDDED_IMAGE_NAME = "embedded-image-reference";
3
+ export default function embeddedImageReferencePlugin(tree: Node): Node<import("unist").Data>;
@@ -0,0 +1,3 @@
1
+ import { Node } from "unist";
2
+ export declare const EMBEDDED_PAGE_NAME = "embedded-page-reference";
3
+ export default function embeddedPageReferencePlugin(tree: Node): Node<import("unist").Data>;
@@ -0,0 +1,2 @@
1
+ import { CCApp } from "@sinequa/atomic";
2
+ export declare function getAssistantJsonFromCCApp(ccApp: CCApp, configId: string): any;
@@ -1,103 +1,102 @@
1
- import { HubConnection } from "@microsoft/signalr";
2
- import { Observable } from "rxjs";
3
- import { Query } from "@sinequa/core/app-utils";
4
- import { AuthenticationService } from "@sinequa/core/login";
5
- import { ConnectionOptions, SignalRWebService } from "@sinequa/core/web-services";
6
- import { ChatService } from "./chat.service";
7
- import { ChatMessage, ChatResponse, GllmFunction, GllmModelDescription, MessageHandler, SavedChat, SavedChatHistory } from "./types";
8
- import * as i0 from "@angular/core";
9
- export declare class WebSocketChatService extends ChatService {
10
- connection: HubConnection | undefined;
11
- private _messageHandlers;
12
- private _response;
13
- private _actionMap;
14
- private _progress;
15
- private _executionTime;
16
- private _attachments;
17
- private _debugMessages;
18
- signalRService: SignalRWebService;
19
- authenticationService: AuthenticationService;
20
- constructor();
21
- /**
22
- * Initialize the assistant process.
23
- * It includes building and starting a connection, executing parallel requests for models and functions, and handling errors during the process.
24
- * ⚠️ This method MUST be called ONLY if the user is loggedIn and once when the assistant is initialized.
25
- *
26
- * @returns An Observable<boolean> indicating the success of the initialization process.
27
- */
28
- init(): Observable<boolean>;
29
- /**
30
- * Define the assistant endpoint to use for the websocket requests
31
- * It can be overridden by the app config
32
- */
33
- getRequestsUrl(): void;
34
- overrideUser(): void;
35
- listModels(): Observable<GllmModelDescription[] | undefined>;
36
- listFunctions(): Observable<GllmFunction[] | undefined>;
37
- fetch(messages: ChatMessage[], query: Query): Observable<ChatResponse>;
38
- stopGeneration(): Observable<boolean>;
39
- listSavedChat(): void;
40
- getSavedChat(id: string): Observable<SavedChatHistory | undefined>;
41
- addSavedChat(messages: ChatMessage[]): Observable<SavedChat>;
42
- updateSavedChat(id: string, name?: string, messages?: ChatMessage[]): Observable<SavedChat>;
43
- deleteSavedChat(ids: string[]): Observable<number>;
44
- /**
45
- * Initialize out-of-the-box handlers
46
- * It is a placeholder for non-streaming scenarios, where you invoke a specific hub method, and the server responds with frame message(s)
47
- */
48
- initMessageHandlers(): void;
49
- /**
50
- * Override and register the entire _messageHandlers map by merging the provided map with the default one
51
- * @param _messageHandlers
52
- */
53
- overrideMessageHandlers<T>(_messageHandlers: Map<string, MessageHandler<T>>): void;
54
- /**
55
- * Add a listener for a specific event.
56
- * If a listener for this same event already exists, it will be overridden.
57
- * If the listener has "isGlobalHandler" set to true, it will be registered to the hub connection.
58
- * @param eventName Name of the event to register a listener for
59
- * @param eventHandler The handler to be called when the event is received
60
- */
61
- addMessageHandler<T>(eventName: string, eventHandler: MessageHandler<T>): void;
62
- /**
63
- * Dynamically register a listener for a specific event.
64
- * If a listener for this event already exists, it will be overridden.
65
- * @param eventName Name of the event to register a listener for
66
- * @param eventHandler The handler to be called when the event is received
67
- */
68
- protected registerMessageHandler<T>(eventName: string, eventHandler: MessageHandler<T>): void;
69
- /**
70
- * Remove a listener for a specific event from the _messageHandlers map and unsubscribe from receiving messages for this event from the SignalR hub.
71
- * @param eventName Name of the event to remove the listener for
72
- */
73
- removeMessageHandler(eventName: string): void;
74
- /**
75
- * Unsubscribe from receiving messages for a specific event from the SignalR hub.
76
- * ALL its related listeners will be removed from hub connection
77
- * This is needed to prevent accumulating old listeners when overriding the entire _messageHandlers map
78
- * @param eventName Name of the event
79
- */
80
- protected unsubscribeMessageHandler(eventName: string): void;
81
- /**
82
- * Build a connection to the signalR websocket and register default listeners to the methods defined in the server hub class
83
- * @param options The options for the connection. It overrides the default options
84
- * @param logLevel Define the log level displayed in the console
85
- * @returns Promise that resolves when the connection is built
86
- */
87
- buildConnection(options?: ConnectionOptions): Promise<void>;
88
- /**
89
- * Start the connection
90
- * @returns Promise that resolves when the connection is started
91
- */
92
- startConnection(): Promise<void>;
93
- /**
94
- * Stop the connection
95
- * @returns Promise that resolves when the connection is stopped
96
- */
97
- stopConnection(): Promise<void>;
98
- private _getTransports;
99
- private _getLogLevel;
100
- get defaultOptions(): ConnectionOptions;
101
- static ɵfac: i0.ɵɵFactoryDeclaration<WebSocketChatService, never>;
102
- static ɵprov: i0.ɵɵInjectableDeclaration<WebSocketChatService>;
103
- }
1
+ import { HubConnection } from "@microsoft/signalr";
2
+ import { Observable } from "rxjs";
3
+ import { Query } from "@sinequa/atomic";
4
+ import { ChatService } from "./chat.service";
5
+ import { ConnectionOptions, SignalRWebService } from "./services/signalR.web.service";
6
+ import { ChatMessage, ChatResponse, DeleteSavedChatResponse, GllmFunction, GllmModelDescription, MessageHandler, SavedChatHistory, SavedChatResponse } from "./types";
7
+ import * as i0 from "@angular/core";
8
+ export declare class WebSocketChatService extends ChatService {
9
+ connection: HubConnection | undefined;
10
+ private _messageHandlers;
11
+ private _response;
12
+ private _actionMap;
13
+ private _progress;
14
+ private _executionTime;
15
+ private _executionTimeMilliseconds?;
16
+ private _attachments;
17
+ private _debugMessages;
18
+ signalRService: SignalRWebService;
19
+ constructor();
20
+ /**
21
+ * Initialize the assistant process.
22
+ * It includes building and starting a connection, executing parallel requests for models and functions, and handling errors during the process.
23
+ * ⚠️ This method MUST be called ONLY if the user is loggedIn and once when the assistant is initialized.
24
+ *
25
+ * @returns An Observable<boolean> indicating the success of the initialization process.
26
+ */
27
+ init(): Observable<boolean>;
28
+ /**
29
+ * Define the assistant endpoint to use for the websocket requests
30
+ * It can be overridden by the app config
31
+ */
32
+ getRequestsUrl(): void;
33
+ overrideUser(): void;
34
+ listModels(): Observable<GllmModelDescription[] | undefined>;
35
+ listFunctions(): Observable<GllmFunction[] | undefined>;
36
+ fetch(messages: ChatMessage[], query: Query): Observable<ChatResponse>;
37
+ stopGeneration(): Observable<boolean>;
38
+ listSavedChat(): void;
39
+ getSavedChat(id: string): Observable<SavedChatHistory | undefined>;
40
+ addSavedChat(messages: ChatMessage[]): Observable<SavedChatResponse>;
41
+ updateSavedChat(id: string, name?: string, messages?: ChatMessage[]): Observable<SavedChatResponse>;
42
+ deleteSavedChat(ids: string[]): Observable<DeleteSavedChatResponse>;
43
+ /**
44
+ * Initialize out-of-the-box handlers
45
+ * It is a placeholder for non-streaming scenarios, where you invoke a specific hub method, and the server responds with frame message(s)
46
+ */
47
+ initMessageHandlers(): void;
48
+ /**
49
+ * Override and register the entire _messageHandlers map by merging the provided map with the default one
50
+ * @param _messageHandlers
51
+ */
52
+ overrideMessageHandlers<T>(_messageHandlers: Map<string, MessageHandler<T>>): void;
53
+ /**
54
+ * Add a listener for a specific event.
55
+ * If a listener for this same event already exists, it will be overridden.
56
+ * If the listener has "isGlobalHandler" set to true, it will be registered to the hub connection.
57
+ * @param eventName Name of the event to register a listener for
58
+ * @param eventHandler The handler to be called when the event is received
59
+ */
60
+ addMessageHandler<T>(eventName: string, eventHandler: MessageHandler<T>): void;
61
+ /**
62
+ * Dynamically register a listener for a specific event.
63
+ * If a listener for this event already exists, it will be overridden.
64
+ * @param eventName Name of the event to register a listener for
65
+ * @param eventHandler The handler to be called when the event is received
66
+ */
67
+ protected registerMessageHandler<T>(eventName: string, eventHandler: MessageHandler<T>): void;
68
+ /**
69
+ * Remove a listener for a specific event from the _messageHandlers map and unsubscribe from receiving messages for this event from the SignalR hub.
70
+ * @param eventName Name of the event to remove the listener for
71
+ */
72
+ removeMessageHandler(eventName: string): void;
73
+ /**
74
+ * Unsubscribe from receiving messages for a specific event from the SignalR hub.
75
+ * ALL its related listeners will be removed from hub connection
76
+ * This is needed to prevent accumulating old listeners when overriding the entire _messageHandlers map
77
+ * @param eventName Name of the event
78
+ */
79
+ protected unsubscribeMessageHandler(eventName: string): void;
80
+ /**
81
+ * Build a connection to the signalR websocket and register default listeners to the methods defined in the server hub class
82
+ * @param options The options for the connection. It overrides the default options
83
+ * @param logLevel Define the log level displayed in the console
84
+ * @returns Promise that resolves when the connection is built
85
+ */
86
+ buildConnection(options?: ConnectionOptions): Promise<void>;
87
+ /**
88
+ * Start the connection
89
+ * @returns Promise that resolves when the connection is started
90
+ */
91
+ startConnection(): Promise<void>;
92
+ /**
93
+ * Stop the connection
94
+ * @returns Promise that resolves when the connection is stopped
95
+ */
96
+ stopConnection(): Promise<void>;
97
+ private _getTransports;
98
+ private _getLogLevel;
99
+ get defaultOptions(): ConnectionOptions;
100
+ static ɵfac: i0.ɵɵFactoryDeclaration<WebSocketChatService, never>;
101
+ static ɵprov: i0.ɵɵInjectableDeclaration<WebSocketChatService>;
102
+ }
@@ -0,0 +1,40 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { Chart, registerables } from 'chart.js';
4
+ import * as i0 from "@angular/core";
5
+ Chart.register(...registerables);
6
+ export class ChartComponent {
7
+ constructor() { }
8
+ ngOnChanges(changes) {
9
+ if (changes['rawChartData']) {
10
+ clearTimeout(this.debounceTimer);
11
+ this.debounceTimer = setTimeout(() => this.initializeChart(), 300);
12
+ }
13
+ }
14
+ initializeChart() {
15
+ Chart.getChart('chart-canvas')?.destroy();
16
+ const canvasElement = document.getElementById('chart-canvas');
17
+ if (canvasElement) {
18
+ try {
19
+ const chartInput = this.rawChartData.match(/<chartjs>({[\s\S]*?)<\/chartjs>/)?.[1]?.trim().replace(/'/g, '"');
20
+ const chartConfig = JSON.parse(chartInput);
21
+ this.chart = new Chart('chart-canvas', chartConfig);
22
+ }
23
+ catch (error) {
24
+ console.error('Invalid chart configuration, check the assistant configuration: ', error);
25
+ }
26
+ }
27
+ else {
28
+ console.error('Chart Canvas is not found');
29
+ }
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChartComponent, isStandalone: true, selector: "sq-assistant-chart", inputs: { rawChartData: "rawChartData" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"chart-container\">\n <canvas id=\"chart-canvas\">{{ chart }}</canvas>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'sq-assistant-chart', standalone: true, imports: [CommonModule], template: "<div class=\"chart-container\">\n <canvas id=\"chart-canvas\">{{ chart }}</canvas>\n</div>\n" }]
37
+ }], ctorParameters: () => [], propDecorators: { rawChartData: [{
38
+ type: Input
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNzaXN0YW50L2NoYXQvY2hhcnRzL2NoYXJ0L2NoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fzc2lzdGFudC9jaGF0L2NoYXJ0cy9jaGFydC9jaGFydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsU0FBUyxFQUFFLEtBQUssRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFBOztBQUUvQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUM7QUFTakMsTUFBTSxPQUFPLGNBQWM7SUFNekIsZ0JBQWdCLENBQUM7SUFFakIsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDNUIsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNILENBQUM7SUFFTyxlQUFlO1FBQ3JCLEtBQUssQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFFMUMsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU5RCxJQUFHLGFBQWEsRUFBQyxDQUFDO1lBQ2hCLElBQUcsQ0FBQztnQkFDRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQVcsQ0FBQztnQkFDeEgsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFFM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFFdEQsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxrRUFBa0UsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMzRixDQUFDO1FBRUgsQ0FBQzthQUNJLENBQUM7WUFDSixPQUFPLENBQUMsS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDN0MsQ0FBQztJQUNILENBQUM7K0dBbkNVLGNBQWM7bUdBQWQsY0FBYyw2SUNiM0IsaUdBR0EseURETVksWUFBWTs7NEZBSVgsY0FBYztrQkFQMUIsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDO3dEQUtkLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkNoYW5nZXMsIENvbXBvbmVudCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFydCwgcmVnaXN0ZXJhYmxlcyB9IGZyb20gJ2NoYXJ0LmpzJ1xuXG5DaGFydC5yZWdpc3RlciguLi5yZWdpc3RlcmFibGVzKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3EtYXNzaXN0YW50LWNoYXJ0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoYXJ0LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHJhd0NoYXJ0RGF0YTogc3RyaW5nO1xuXG4gIHB1YmxpYyBjaGFydDogQ2hhcnQ7XG4gIHByaXZhdGUgZGVib3VuY2VUaW1lcjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydyYXdDaGFydERhdGEnXSkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZGVib3VuY2VUaW1lcik7XG4gICAgICB0aGlzLmRlYm91bmNlVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaW5pdGlhbGl6ZUNoYXJ0KCksIDMwMCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplQ2hhcnQoKSB7XG4gICAgQ2hhcnQuZ2V0Q2hhcnQoJ2NoYXJ0LWNhbnZhcycpPy5kZXN0cm95KCk7XG5cbiAgICBjb25zdCBjYW52YXNFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NoYXJ0LWNhbnZhcycpO1xuXG4gICAgaWYoY2FudmFzRWxlbWVudCl7XG4gICAgICB0cnl7XG4gICAgICAgIGNvbnN0IGNoYXJ0SW5wdXQgPSB0aGlzLnJhd0NoYXJ0RGF0YS5tYXRjaCgvPGNoYXJ0anM+KHtbXFxzXFxTXSo/KTxcXC9jaGFydGpzPi8pPy5bMV0/LnRyaW0oKS5yZXBsYWNlKC8nL2csICdcIicpIGFzIHN0cmluZztcbiAgICAgICAgY29uc3QgY2hhcnRDb25maWcgPSBKU09OLnBhcnNlKGNoYXJ0SW5wdXQpO1xuXG4gICAgICAgIHRoaXMuY2hhcnQgPSBuZXcgQ2hhcnQoJ2NoYXJ0LWNhbnZhcycsIGNoYXJ0Q29uZmlnKTtcblxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBjaGFydCBjb25maWd1cmF0aW9uLCBjaGVjayB0aGUgYXNzaXN0YW50IGNvbmZpZ3VyYXRpb246ICcsIGVycm9yKTtcbiAgICAgIH1cblxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0NoYXJ0IENhbnZhcyBpcyBub3QgZm91bmQnKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjaGFydC1jb250YWluZXJcIj5cbiAgICA8Y2FudmFzIGlkPVwiY2hhcnQtY2FudmFzXCI+e3sgY2hhcnQgfX08L2NhbnZhcz5cbjwvZGl2PlxuIl19