@sinequa/assistant 3.1.1

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 (53) hide show
  1. package/chat/chat-message/chat-message.component.d.ts +157 -0
  2. package/chat/chat-reference/chat-reference.component.d.ts +118 -0
  3. package/chat/chat-settings-v3/chat-settings-v3.component.d.ts +41 -0
  4. package/chat/chat.component.d.ts +1112 -0
  5. package/chat/chat.service.d.ts +1046 -0
  6. package/chat/format-icon/format-icon.component.d.ts +10 -0
  7. package/chat/format-icon/icons.d.ts +5 -0
  8. package/chat/index.d.ts +5 -0
  9. package/chat/initials-avatar/initials-avatar.component.d.ts +35 -0
  10. package/chat/instance-manager.service.d.ts +28 -0
  11. package/chat/messages/de.d.ts +4 -0
  12. package/chat/messages/en.d.ts +4 -0
  13. package/chat/messages/fr.d.ts +4 -0
  14. package/chat/messages/index.d.ts +4 -0
  15. package/chat/public-api.d.ts +11 -0
  16. package/chat/rest-chat.service.d.ts +28 -0
  17. package/chat/saved-chats/saved-chats.component.d.ts +37 -0
  18. package/chat/styles/assistant.scss +61 -0
  19. package/chat/styles/references.scss +23 -0
  20. package/chat/types.d.ts +1241 -0
  21. package/chat/websocket-chat.service.d.ts +97 -0
  22. package/esm2020/chat/chat-message/chat-message.component.mjs +181 -0
  23. package/esm2020/chat/chat-reference/chat-reference.component.mjs +40 -0
  24. package/esm2020/chat/chat-settings-v3/chat-settings-v3.component.mjs +103 -0
  25. package/esm2020/chat/chat.component.mjs +369 -0
  26. package/esm2020/chat/chat.service.mjs +185 -0
  27. package/esm2020/chat/format-icon/format-icon.component.mjs +23 -0
  28. package/esm2020/chat/format-icon/icons.mjs +138 -0
  29. package/esm2020/chat/initials-avatar/initials-avatar.component.mjs +60 -0
  30. package/esm2020/chat/instance-manager.service.mjs +46 -0
  31. package/esm2020/chat/messages/de.mjs +4 -0
  32. package/esm2020/chat/messages/en.mjs +4 -0
  33. package/esm2020/chat/messages/fr.mjs +4 -0
  34. package/esm2020/chat/messages/index.mjs +9 -0
  35. package/esm2020/chat/public-api.mjs +12 -0
  36. package/esm2020/chat/rest-chat.service.mjs +164 -0
  37. package/esm2020/chat/saved-chats/saved-chats.component.mjs +132 -0
  38. package/esm2020/chat/sinequa-assistant-chat.mjs +5 -0
  39. package/esm2020/chat/types.mjs +85 -0
  40. package/esm2020/chat/websocket-chat.service.mjs +430 -0
  41. package/esm2020/public-api.mjs +3 -0
  42. package/esm2020/sinequa-assistant.mjs +5 -0
  43. package/fesm2015/sinequa-assistant-chat.mjs +1925 -0
  44. package/fesm2015/sinequa-assistant-chat.mjs.map +1 -0
  45. package/fesm2015/sinequa-assistant.mjs +9 -0
  46. package/fesm2015/sinequa-assistant.mjs.map +1 -0
  47. package/fesm2020/sinequa-assistant-chat.mjs +1911 -0
  48. package/fesm2020/sinequa-assistant-chat.mjs.map +1 -0
  49. package/fesm2020/sinequa-assistant.mjs +9 -0
  50. package/fesm2020/sinequa-assistant.mjs.map +1 -0
  51. package/index.d.ts +5 -0
  52. package/package.json +46 -0
  53. package/public-api.d.ts +1 -0
@@ -0,0 +1,1046 @@
1
+ import { SearchService } from "@sinequa/components/search";
2
+ import { UserPreferences } from "@sinequa/components/user-settings";
3
+ import { LoginService } from "@sinequa/core/login";
4
+ import { NotificationsService } from "@sinequa/core/notification";
5
+ import { AuditWebService, UserSettingsWebService } from "@sinequa/core/web-services";
6
+ import { BehaviorSubject, Observable } from "rxjs";
7
+ import { ChatConfig, ChatMessage, ChatResponse, GllmFunction, GllmModelDescription, SavedChat, SavedChatHistory } from "./types";
8
+ import { AppService, Query } from "@sinequa/core/app-utils";
9
+ import { IntlService } from "@sinequa/core/intl";
10
+ import * as i0 from "@angular/core";
11
+ export declare abstract class ChatService {
12
+ /** Name of the assistant plugin OR websocket endpoint */
13
+ REQUEST_URL: string;
14
+ /** Emit true once the initialization of the chat process is done*/
15
+ initProcess$: BehaviorSubject<boolean>;
16
+ /** Emit true once the initialization of the chat config is done*/
17
+ initConfig$: BehaviorSubject<boolean>;
18
+ /** Global configuration of the chat */
19
+ chatConfig$: BehaviorSubject<ChatConfig | undefined>;
20
+ /** Streaming status of the chat endpoint */
21
+ streaming$: BehaviorSubject<boolean>;
22
+ /** Store the messages history of the current chat */
23
+ chatHistory: ChatMessage[] | undefined;
24
+ /** List of models available on the server */
25
+ models: GllmModelDescription[] | undefined;
26
+ /** List of functions available on the server */
27
+ functions: GllmFunction[] | undefined;
28
+ /** List of saved chats */
29
+ savedChats$: BehaviorSubject<SavedChat[]>;
30
+ /** Emit the saved chat to load */
31
+ loadSavedChat$: BehaviorSubject<SavedChat | undefined>;
32
+ /** Instance ID of the chat service defining the assistant instance */
33
+ private _chatInstanceId;
34
+ /** ID of the current chat discussion which is used to save/get/delete it */
35
+ private _savedChatId;
36
+ searchService: SearchService<{
37
+ sort: string;
38
+ id: string;
39
+ columnCount: number;
40
+ attributes: {
41
+ processingtime: string;
42
+ rowfetchtime: string;
43
+ cachehit: string;
44
+ matchingrowcount: string;
45
+ queryid?: string | undefined;
46
+ searchid?: string | undefined;
47
+ internalqueryanalysis?: string | undefined;
48
+ internalquerylog?: string | undefined;
49
+ };
50
+ tabs: {
51
+ name: string;
52
+ display: string;
53
+ value: string;
54
+ count: number;
55
+ }[];
56
+ pageSize: number;
57
+ aggregations: ({
58
+ name: string;
59
+ items: ({
60
+ value: string | number | boolean | null;
61
+ count: number;
62
+ display?: string | undefined;
63
+ score?: number | undefined;
64
+ operatorResults?: Partial<Record<"max" | "min" | "sum" | "avg" | "stddev" | "variance", number | Date>> | undefined;
65
+ $selected?: boolean | undefined;
66
+ $excluded?: boolean | undefined;
67
+ $filtered?: boolean | undefined;
68
+ $column?: {
69
+ type: string;
70
+ name: string;
71
+ eType: import("@sinequa/core/web-services").EngineType;
72
+ eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
73
+ description?: string | undefined;
74
+ label?: string | undefined;
75
+ labelPlural?: string | undefined;
76
+ formatter?: string | undefined;
77
+ transforms?: string | undefined;
78
+ parser?: string | undefined;
79
+ aliases?: string[] | undefined;
80
+ typeModifier?: string | undefined;
81
+ } | undefined;
82
+ } | ({
83
+ value: string;
84
+ count: number;
85
+ display?: string | undefined;
86
+ score?: number | undefined;
87
+ operatorResults?: Partial<Record<"max" | "min" | "sum" | "avg" | "stddev" | "variance", number | Date>> | undefined;
88
+ $selected?: boolean | undefined;
89
+ $excluded?: boolean | undefined;
90
+ $filtered?: boolean | undefined;
91
+ $column?: {
92
+ type: string;
93
+ name: string;
94
+ eType: import("@sinequa/core/web-services").EngineType;
95
+ eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
96
+ description?: string | undefined;
97
+ label?: string | undefined;
98
+ labelPlural?: string | undefined;
99
+ formatter?: string | undefined;
100
+ transforms?: string | undefined;
101
+ parser?: string | undefined;
102
+ aliases?: string[] | undefined;
103
+ typeModifier?: string | undefined;
104
+ } | undefined;
105
+ hasChildren?: boolean | undefined;
106
+ $path?: string | undefined;
107
+ $opened?: boolean | undefined;
108
+ $opening?: boolean | undefined;
109
+ $level?: number | undefined;
110
+ } & {
111
+ items: any[];
112
+ }))[];
113
+ column: string;
114
+ $filtered: {
115
+ value: string | number | boolean | null;
116
+ count: number;
117
+ display?: string | undefined;
118
+ score?: number | undefined;
119
+ operatorResults?: Partial<Record<"max" | "min" | "sum" | "avg" | "stddev" | "variance", number | Date>> | undefined;
120
+ $selected?: boolean | undefined;
121
+ $excluded?: boolean | undefined;
122
+ $filtered?: boolean | undefined;
123
+ $column?: {
124
+ type: string;
125
+ name: string;
126
+ eType: import("@sinequa/core/web-services").EngineType;
127
+ eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
128
+ description?: string | undefined;
129
+ label?: string | undefined;
130
+ labelPlural?: string | undefined;
131
+ formatter?: string | undefined;
132
+ transforms?: string | undefined;
133
+ parser?: string | undefined;
134
+ aliases?: string[] | undefined;
135
+ typeModifier?: string | undefined;
136
+ } | undefined;
137
+ }[];
138
+ $cccount: number;
139
+ $remainingFiltered: {
140
+ value: string | number | boolean | null;
141
+ count: number;
142
+ display?: string | undefined;
143
+ score?: number | undefined;
144
+ operatorResults?: Partial<Record<"max" | "min" | "sum" | "avg" | "stddev" | "variance", number | Date>> | undefined;
145
+ $selected?: boolean | undefined;
146
+ $excluded?: boolean | undefined;
147
+ $filtered?: boolean | undefined;
148
+ $column?: {
149
+ type: string;
150
+ name: string;
151
+ eType: import("@sinequa/core/web-services").EngineType;
152
+ eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
153
+ description?: string | undefined;
154
+ label?: string | undefined;
155
+ labelPlural?: string | undefined;
156
+ formatter?: string | undefined;
157
+ transforms?: string | undefined;
158
+ parser?: string | undefined;
159
+ aliases?: string[] | undefined;
160
+ typeModifier?: string | undefined;
161
+ } | undefined;
162
+ }[];
163
+ isDistribution?: boolean | undefined;
164
+ isTree?: boolean | undefined;
165
+ valuesAreExpressions?: boolean | undefined;
166
+ $ccaggregation?: {
167
+ name: string;
168
+ mask: string;
169
+ order: string;
170
+ column: string;
171
+ includeInStandardSearch: boolean;
172
+ count: number;
173
+ distribution: string;
174
+ tabBehavior: "" | "Default" | "LoadForSelectedTab" | "LoadForAllTabs";
175
+ keySeparator: string;
176
+ displayKeySeparator: string;
177
+ } | undefined;
178
+ $cccolumn?: {
179
+ type: string;
180
+ name: string;
181
+ eType: import("@sinequa/core/web-services").EngineType;
182
+ eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
183
+ description?: string | undefined;
184
+ label?: string | undefined;
185
+ labelPlural?: string | undefined;
186
+ formatter?: string | undefined;
187
+ transforms?: string | undefined;
188
+ parser?: string | undefined;
189
+ aliases?: string[] | undefined;
190
+ typeModifier?: string | undefined;
191
+ } | undefined;
192
+ $hasMore?: boolean | undefined;
193
+ } | {
194
+ name: string;
195
+ items: ({
196
+ value: string;
197
+ count: number;
198
+ display?: string | undefined;
199
+ score?: number | undefined;
200
+ operatorResults?: Partial<Record<"max" | "min" | "sum" | "avg" | "stddev" | "variance", number | Date>> | undefined;
201
+ $selected?: boolean | undefined;
202
+ $excluded?: boolean | undefined;
203
+ $filtered?: boolean | undefined;
204
+ $column?: {
205
+ type: string;
206
+ name: string;
207
+ eType: import("@sinequa/core/web-services").EngineType;
208
+ eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
209
+ description?: string | undefined;
210
+ label?: string | undefined;
211
+ labelPlural?: string | undefined;
212
+ formatter?: string | undefined;
213
+ transforms?: string | undefined;
214
+ parser?: string | undefined;
215
+ aliases?: string[] | undefined;
216
+ typeModifier?: string | undefined;
217
+ } | undefined;
218
+ hasChildren?: boolean | undefined;
219
+ $path?: string | undefined;
220
+ $opened?: boolean | undefined;
221
+ $opening?: boolean | undefined;
222
+ $level?: number | undefined;
223
+ } & {
224
+ items: any[];
225
+ })[];
226
+ column: string;
227
+ $filtered: ({
228
+ value: string;
229
+ count: number;
230
+ display?: string | undefined;
231
+ score?: number | undefined;
232
+ operatorResults?: Partial<Record<"max" | "min" | "sum" | "avg" | "stddev" | "variance", number | Date>> | undefined;
233
+ $selected?: boolean | undefined;
234
+ $excluded?: boolean | undefined;
235
+ $filtered?: boolean | undefined;
236
+ $column?: {
237
+ type: string;
238
+ name: string;
239
+ eType: import("@sinequa/core/web-services").EngineType;
240
+ eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
241
+ description?: string | undefined;
242
+ label?: string | undefined;
243
+ labelPlural?: string | undefined;
244
+ formatter?: string | undefined;
245
+ transforms?: string | undefined;
246
+ parser?: string | undefined;
247
+ aliases?: string[] | undefined;
248
+ typeModifier?: string | undefined;
249
+ } | undefined;
250
+ hasChildren?: boolean | undefined;
251
+ $path?: string | undefined;
252
+ $opened?: boolean | undefined;
253
+ $opening?: boolean | undefined;
254
+ $level?: number | undefined;
255
+ } & {
256
+ items: any[];
257
+ })[];
258
+ $cccount: number;
259
+ $remainingFiltered: {
260
+ value: string | number | boolean | null;
261
+ count: number;
262
+ display?: string | undefined;
263
+ score?: number | undefined;
264
+ operatorResults?: Partial<Record<"max" | "min" | "sum" | "avg" | "stddev" | "variance", number | Date>> | undefined;
265
+ $selected?: boolean | undefined;
266
+ $excluded?: boolean | undefined;
267
+ $filtered?: boolean | undefined;
268
+ $column?: {
269
+ type: string;
270
+ name: string;
271
+ eType: import("@sinequa/core/web-services").EngineType;
272
+ eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
273
+ description?: string | undefined;
274
+ label?: string | undefined;
275
+ labelPlural?: string | undefined;
276
+ formatter?: string | undefined;
277
+ transforms?: string | undefined;
278
+ parser?: string | undefined;
279
+ aliases?: string[] | undefined;
280
+ typeModifier?: string | undefined;
281
+ } | undefined;
282
+ }[];
283
+ isDistribution?: boolean | undefined;
284
+ isTree?: boolean | undefined;
285
+ valuesAreExpressions?: boolean | undefined;
286
+ $ccaggregation?: {
287
+ name: string;
288
+ mask: string;
289
+ order: string;
290
+ column: string;
291
+ includeInStandardSearch: boolean;
292
+ count: number;
293
+ distribution: string;
294
+ tabBehavior: "" | "Default" | "LoadForSelectedTab" | "LoadForAllTabs";
295
+ keySeparator: string;
296
+ displayKeySeparator: string;
297
+ } | undefined;
298
+ $cccolumn?: {
299
+ type: string;
300
+ name: string;
301
+ eType: import("@sinequa/core/web-services").EngineType;
302
+ eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
303
+ description?: string | undefined;
304
+ label?: string | undefined;
305
+ labelPlural?: string | undefined;
306
+ formatter?: string | undefined;
307
+ transforms?: string | undefined;
308
+ parser?: string | undefined;
309
+ aliases?: string[] | undefined;
310
+ typeModifier?: string | undefined;
311
+ } | undefined;
312
+ $hasMore?: boolean | undefined;
313
+ hasChildren?: boolean | undefined;
314
+ })[];
315
+ page: number;
316
+ rowCount: number;
317
+ totalRowCount: number;
318
+ cursorRowCount: number;
319
+ tab: string;
320
+ queryIntents: import("@sinequa/core/web-services").QueryIntent[];
321
+ records: {
322
+ filename: string;
323
+ id: string;
324
+ title: string;
325
+ text: string;
326
+ size: number;
327
+ $selected: boolean;
328
+ matchlocations: string[];
329
+ rank: number;
330
+ databasealias: string;
331
+ matchingpartnames: string[];
332
+ matchlocationsperpartname: {
333
+ matchlocations: {
334
+ data: string;
335
+ partname: string;
336
+ }[];
337
+ }[];
338
+ documentlanguages: string[];
339
+ documentweight: string;
340
+ modified: string;
341
+ indexationtime: string;
342
+ version: string;
343
+ treepath: string[];
344
+ fileext: string;
345
+ flags: string[];
346
+ collection: string[];
347
+ docformat: string;
348
+ url1: string;
349
+ authors: string[];
350
+ rfmEnabled: boolean;
351
+ termspresence: {
352
+ term: string;
353
+ presence: "found" | "missing";
354
+ }[];
355
+ $isDuplicate: boolean;
356
+ $duplicateCount: number;
357
+ globalrelevance?: number | undefined;
358
+ displayTitle?: string | undefined;
359
+ doctype?: string | undefined;
360
+ url2?: string | undefined;
361
+ relevantExtracts?: string | undefined;
362
+ extracts?: {
363
+ score: number;
364
+ highlighted: string;
365
+ locations: string;
366
+ originalLocations: string;
367
+ partname?: string | undefined;
368
+ }[] | undefined;
369
+ accesslists?: {
370
+ accessListIndices: number[];
371
+ authorizedLists: {
372
+ id: string;
373
+ domain: string;
374
+ }[];
375
+ deniedLists: {
376
+ id: string;
377
+ domain: string;
378
+ }[];
379
+ } | undefined;
380
+ thumbnailUrl?: string | undefined;
381
+ originalUrl?: string | undefined;
382
+ pdfUrl?: string | undefined;
383
+ rfm?: {
384
+ click?: {
385
+ image: import("@sinequa/core/web-services").RFMDisplay;
386
+ status: import("@sinequa/core/web-services").RFMDisplay;
387
+ eventCount: number;
388
+ average: number;
389
+ imageAction: import("@sinequa/core/web-services").RFMDisplay;
390
+ availableActions: import("@sinequa/core/web-services").RFMDisplay;
391
+ } | undefined;
392
+ like?: {
393
+ image: import("@sinequa/core/web-services").RFMDisplay;
394
+ status: import("@sinequa/core/web-services").RFMDisplay;
395
+ eventCount: number;
396
+ average: number;
397
+ imageAction: import("@sinequa/core/web-services").RFMDisplay;
398
+ availableActions: import("@sinequa/core/web-services").RFMDisplay;
399
+ } | undefined;
400
+ important?: {
401
+ image: import("@sinequa/core/web-services").RFMDisplay;
402
+ status: import("@sinequa/core/web-services").RFMDisplay;
403
+ eventCount: number;
404
+ average: number;
405
+ imageAction: import("@sinequa/core/web-services").RFMDisplay;
406
+ availableActions: import("@sinequa/core/web-services").RFMDisplay;
407
+ } | undefined;
408
+ } | undefined;
409
+ groupcount?: number | undefined;
410
+ nearhash?: string | undefined;
411
+ exacthash?: string | undefined;
412
+ containerid?: string | undefined;
413
+ $page?: number | undefined;
414
+ matchingpassages?: {
415
+ passages: {
416
+ location: number[];
417
+ id: number;
418
+ score: number;
419
+ rlocation: number[];
420
+ highlightedText: string;
421
+ $expanded?: boolean | undefined;
422
+ }[];
423
+ } | undefined;
424
+ $hasPassages?: boolean | undefined;
425
+ }[];
426
+ queryName: string;
427
+ hasRelevance: boolean;
428
+ attributeCount?: number | undefined;
429
+ scope?: string | undefined;
430
+ didYouMean?: {
431
+ text: {
432
+ original: string;
433
+ corrected: string;
434
+ };
435
+ spellingCorrectionMode: "default" | "classic" | "false" | "smart" | "correct" | "dymonly" | "force";
436
+ } | undefined;
437
+ queryAnalysis?: {
438
+ text: string;
439
+ elements: import("@sinequa/core/web-services").QueryAnalysisElement[];
440
+ initial: boolean;
441
+ queryLanguage?: string | undefined;
442
+ } | undefined;
443
+ rfmQueryHash?: string | undefined;
444
+ statements?: string[] | undefined;
445
+ answers?: {
446
+ answers: {
447
+ text: string;
448
+ score: number;
449
+ passage: {
450
+ location: number[];
451
+ id: number;
452
+ rlocation: number[];
453
+ highlightedText: string;
454
+ };
455
+ recordId: string;
456
+ "af.score": number;
457
+ "rm.score": number;
458
+ $record?: {
459
+ filename: string;
460
+ id: string;
461
+ title: string;
462
+ text: string;
463
+ size: number;
464
+ $selected: boolean;
465
+ matchlocations: string[];
466
+ rank: number;
467
+ databasealias: string;
468
+ matchingpartnames: string[];
469
+ matchlocationsperpartname: {
470
+ matchlocations: {
471
+ data: string;
472
+ partname: string;
473
+ }[];
474
+ }[];
475
+ documentlanguages: string[];
476
+ documentweight: string;
477
+ modified: string;
478
+ indexationtime: string;
479
+ version: string;
480
+ treepath: string[];
481
+ fileext: string;
482
+ flags: string[];
483
+ collection: string[];
484
+ docformat: string;
485
+ url1: string;
486
+ authors: string[];
487
+ rfmEnabled: boolean;
488
+ termspresence: {
489
+ term: string;
490
+ presence: "found" | "missing";
491
+ }[];
492
+ $isDuplicate: boolean;
493
+ $duplicateCount: number;
494
+ globalrelevance?: number | undefined;
495
+ displayTitle?: string | undefined;
496
+ doctype?: string | undefined;
497
+ url2?: string | undefined;
498
+ relevantExtracts?: string | undefined;
499
+ extracts?: {
500
+ score: number;
501
+ highlighted: string;
502
+ locations: string;
503
+ originalLocations: string;
504
+ partname?: string | undefined;
505
+ }[] | undefined;
506
+ accesslists?: {
507
+ accessListIndices: number[];
508
+ authorizedLists: {
509
+ id: string;
510
+ domain: string;
511
+ }[];
512
+ deniedLists: {
513
+ id: string;
514
+ domain: string;
515
+ }[];
516
+ } | undefined;
517
+ thumbnailUrl?: string | undefined;
518
+ originalUrl?: string | undefined;
519
+ pdfUrl?: string | undefined;
520
+ rfm?: {
521
+ click?: {
522
+ image: import("@sinequa/core/web-services").RFMDisplay;
523
+ status: import("@sinequa/core/web-services").RFMDisplay;
524
+ eventCount: number;
525
+ average: number;
526
+ imageAction: import("@sinequa/core/web-services").RFMDisplay;
527
+ availableActions: import("@sinequa/core/web-services").RFMDisplay;
528
+ } | undefined;
529
+ like?: {
530
+ image: import("@sinequa/core/web-services").RFMDisplay;
531
+ status: import("@sinequa/core/web-services").RFMDisplay;
532
+ eventCount: number;
533
+ average: number;
534
+ imageAction: import("@sinequa/core/web-services").RFMDisplay;
535
+ availableActions: import("@sinequa/core/web-services").RFMDisplay;
536
+ } | undefined;
537
+ important?: {
538
+ image: import("@sinequa/core/web-services").RFMDisplay;
539
+ status: import("@sinequa/core/web-services").RFMDisplay;
540
+ eventCount: number;
541
+ average: number;
542
+ imageAction: import("@sinequa/core/web-services").RFMDisplay;
543
+ availableActions: import("@sinequa/core/web-services").RFMDisplay;
544
+ } | undefined;
545
+ } | undefined;
546
+ groupcount?: number | undefined;
547
+ nearhash?: string | undefined;
548
+ exacthash?: string | undefined;
549
+ containerid?: string | undefined;
550
+ $page?: number | undefined;
551
+ matchingpassages?: {
552
+ passages: {
553
+ location: number[];
554
+ id: number;
555
+ score: number;
556
+ rlocation: number[];
557
+ highlightedText: string;
558
+ $expanded?: boolean | undefined;
559
+ }[];
560
+ } | undefined;
561
+ $hasPassages?: boolean | undefined;
562
+ } | undefined;
563
+ $liked?: boolean | undefined;
564
+ }[];
565
+ } | null | undefined;
566
+ topPassages?: {
567
+ passages?: {
568
+ index: string;
569
+ location: [number, number];
570
+ id: number;
571
+ text: string;
572
+ score: number;
573
+ recordId: string;
574
+ answer?: string | undefined;
575
+ answerScore?: number | undefined;
576
+ $record?: {
577
+ filename: string;
578
+ id: string;
579
+ title: string;
580
+ text: string;
581
+ size: number;
582
+ $selected: boolean;
583
+ matchlocations: string[];
584
+ rank: number;
585
+ databasealias: string;
586
+ matchingpartnames: string[];
587
+ matchlocationsperpartname: {
588
+ matchlocations: {
589
+ data: string;
590
+ partname: string;
591
+ }[];
592
+ }[];
593
+ documentlanguages: string[];
594
+ documentweight: string;
595
+ modified: string;
596
+ indexationtime: string;
597
+ version: string;
598
+ treepath: string[];
599
+ fileext: string;
600
+ flags: string[];
601
+ collection: string[];
602
+ docformat: string;
603
+ url1: string;
604
+ authors: string[];
605
+ rfmEnabled: boolean;
606
+ termspresence: {
607
+ term: string;
608
+ presence: "found" | "missing";
609
+ }[];
610
+ $isDuplicate: boolean;
611
+ $duplicateCount: number;
612
+ globalrelevance?: number | undefined;
613
+ displayTitle?: string | undefined;
614
+ doctype?: string | undefined;
615
+ url2?: string | undefined;
616
+ relevantExtracts?: string | undefined;
617
+ extracts?: {
618
+ score: number;
619
+ highlighted: string;
620
+ locations: string;
621
+ originalLocations: string;
622
+ partname?: string | undefined;
623
+ }[] | undefined;
624
+ accesslists?: {
625
+ accessListIndices: number[];
626
+ authorizedLists: {
627
+ id: string;
628
+ domain: string;
629
+ }[];
630
+ deniedLists: {
631
+ id: string;
632
+ domain: string;
633
+ }[];
634
+ } | undefined;
635
+ thumbnailUrl?: string | undefined;
636
+ originalUrl?: string | undefined;
637
+ pdfUrl?: string | undefined;
638
+ rfm?: {
639
+ click?: {
640
+ image: import("@sinequa/core/web-services").RFMDisplay;
641
+ status: import("@sinequa/core/web-services").RFMDisplay;
642
+ eventCount: number;
643
+ average: number;
644
+ imageAction: import("@sinequa/core/web-services").RFMDisplay;
645
+ availableActions: import("@sinequa/core/web-services").RFMDisplay;
646
+ } | undefined;
647
+ like?: {
648
+ image: import("@sinequa/core/web-services").RFMDisplay;
649
+ status: import("@sinequa/core/web-services").RFMDisplay;
650
+ eventCount: number;
651
+ average: number;
652
+ imageAction: import("@sinequa/core/web-services").RFMDisplay;
653
+ availableActions: import("@sinequa/core/web-services").RFMDisplay;
654
+ } | undefined;
655
+ important?: {
656
+ image: import("@sinequa/core/web-services").RFMDisplay;
657
+ status: import("@sinequa/core/web-services").RFMDisplay;
658
+ eventCount: number;
659
+ average: number;
660
+ imageAction: import("@sinequa/core/web-services").RFMDisplay;
661
+ availableActions: import("@sinequa/core/web-services").RFMDisplay;
662
+ } | undefined;
663
+ } | undefined;
664
+ groupcount?: number | undefined;
665
+ nearhash?: string | undefined;
666
+ exacthash?: string | undefined;
667
+ containerid?: string | undefined;
668
+ $page?: number | undefined;
669
+ matchingpassages?: {
670
+ passages: {
671
+ location: number[];
672
+ id: number;
673
+ score: number;
674
+ rlocation: number[];
675
+ highlightedText: string;
676
+ $expanded?: boolean | undefined;
677
+ }[];
678
+ } | undefined;
679
+ $hasPassages?: boolean | undefined;
680
+ } | undefined;
681
+ }[] | undefined;
682
+ } | null | undefined;
683
+ } & {
684
+ $aggregationMap: Record<string, {
685
+ name: string;
686
+ items: ({
687
+ value: string | number | boolean | null;
688
+ count: number;
689
+ display?: string | undefined;
690
+ score?: number | undefined;
691
+ operatorResults?: Partial<Record<"max" | "min" | "sum" | "avg" | "stddev" | "variance", number | Date>> | undefined;
692
+ $selected?: boolean | undefined;
693
+ $excluded?: boolean | undefined;
694
+ $filtered?: boolean | undefined;
695
+ $column?: {
696
+ type: string;
697
+ name: string;
698
+ eType: import("@sinequa/core/web-services").EngineType;
699
+ eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
700
+ description?: string | undefined;
701
+ label?: string | undefined;
702
+ labelPlural?: string | undefined;
703
+ formatter?: string | undefined;
704
+ transforms?: string | undefined;
705
+ parser?: string | undefined;
706
+ aliases?: string[] | undefined;
707
+ typeModifier?: string | undefined;
708
+ } | undefined;
709
+ } | ({
710
+ value: string;
711
+ count: number;
712
+ display?: string | undefined;
713
+ score?: number | undefined;
714
+ operatorResults?: Partial<Record<"max" | "min" | "sum" | "avg" | "stddev" | "variance", number | Date>> | undefined;
715
+ $selected?: boolean | undefined;
716
+ $excluded?: boolean | undefined;
717
+ $filtered?: boolean | undefined;
718
+ $column?: {
719
+ type: string;
720
+ name: string;
721
+ eType: import("@sinequa/core/web-services").EngineType;
722
+ eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
723
+ description?: string | undefined;
724
+ label?: string | undefined;
725
+ labelPlural?: string | undefined;
726
+ formatter?: string | undefined;
727
+ transforms?: string | undefined;
728
+ parser?: string | undefined;
729
+ aliases?: string[] | undefined;
730
+ typeModifier?: string | undefined;
731
+ } | undefined;
732
+ hasChildren?: boolean | undefined;
733
+ $path?: string | undefined;
734
+ $opened?: boolean | undefined;
735
+ $opening?: boolean | undefined;
736
+ $level?: number | undefined;
737
+ } & {
738
+ items: any[];
739
+ }))[];
740
+ column: string;
741
+ $filtered: {
742
+ value: string | number | boolean | null;
743
+ count: number;
744
+ display?: string | undefined;
745
+ score?: number | undefined;
746
+ operatorResults?: Partial<Record<"max" | "min" | "sum" | "avg" | "stddev" | "variance", number | Date>> | undefined;
747
+ $selected?: boolean | undefined;
748
+ $excluded?: boolean | undefined;
749
+ $filtered?: boolean | undefined;
750
+ $column?: {
751
+ type: string;
752
+ name: string;
753
+ eType: import("@sinequa/core/web-services").EngineType;
754
+ eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
755
+ description?: string | undefined;
756
+ label?: string | undefined;
757
+ labelPlural?: string | undefined;
758
+ formatter?: string | undefined;
759
+ transforms?: string | undefined;
760
+ parser?: string | undefined;
761
+ aliases?: string[] | undefined;
762
+ typeModifier?: string | undefined;
763
+ } | undefined;
764
+ }[];
765
+ $cccount: number;
766
+ $remainingFiltered: {
767
+ value: string | number | boolean | null;
768
+ count: number;
769
+ display?: string | undefined;
770
+ score?: number | undefined;
771
+ operatorResults?: Partial<Record<"max" | "min" | "sum" | "avg" | "stddev" | "variance", number | Date>> | undefined;
772
+ $selected?: boolean | undefined;
773
+ $excluded?: boolean | undefined;
774
+ $filtered?: boolean | undefined;
775
+ $column?: {
776
+ type: string;
777
+ name: string;
778
+ eType: import("@sinequa/core/web-services").EngineType;
779
+ eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
780
+ description?: string | undefined;
781
+ label?: string | undefined;
782
+ labelPlural?: string | undefined;
783
+ formatter?: string | undefined;
784
+ transforms?: string | undefined;
785
+ parser?: string | undefined;
786
+ aliases?: string[] | undefined;
787
+ typeModifier?: string | undefined;
788
+ } | undefined;
789
+ }[];
790
+ isDistribution?: boolean | undefined;
791
+ isTree?: boolean | undefined;
792
+ valuesAreExpressions?: boolean | undefined;
793
+ $ccaggregation?: {
794
+ name: string;
795
+ mask: string;
796
+ order: string;
797
+ column: string;
798
+ includeInStandardSearch: boolean;
799
+ count: number;
800
+ distribution: string;
801
+ tabBehavior: "" | "Default" | "LoadForSelectedTab" | "LoadForAllTabs";
802
+ keySeparator: string;
803
+ displayKeySeparator: string;
804
+ } | undefined;
805
+ $cccolumn?: {
806
+ type: string;
807
+ name: string;
808
+ eType: import("@sinequa/core/web-services").EngineType;
809
+ eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
810
+ description?: string | undefined;
811
+ label?: string | undefined;
812
+ labelPlural?: string | undefined;
813
+ formatter?: string | undefined;
814
+ transforms?: string | undefined;
815
+ parser?: string | undefined;
816
+ aliases?: string[] | undefined;
817
+ typeModifier?: string | undefined;
818
+ } | undefined;
819
+ $hasMore?: boolean | undefined;
820
+ } | {
821
+ name: string;
822
+ items: ({
823
+ value: string;
824
+ count: number;
825
+ display?: string | undefined;
826
+ score?: number | undefined;
827
+ operatorResults?: Partial<Record<"max" | "min" | "sum" | "avg" | "stddev" | "variance", number | Date>> | undefined;
828
+ $selected?: boolean | undefined;
829
+ $excluded?: boolean | undefined;
830
+ $filtered?: boolean | undefined;
831
+ $column?: {
832
+ type: string;
833
+ name: string;
834
+ eType: import("@sinequa/core/web-services").EngineType;
835
+ eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
836
+ description?: string | undefined;
837
+ label?: string | undefined;
838
+ labelPlural?: string | undefined;
839
+ formatter?: string | undefined;
840
+ transforms?: string | undefined;
841
+ parser?: string | undefined;
842
+ aliases?: string[] | undefined;
843
+ typeModifier?: string | undefined;
844
+ } | undefined;
845
+ hasChildren?: boolean | undefined;
846
+ $path?: string | undefined;
847
+ $opened?: boolean | undefined;
848
+ $opening?: boolean | undefined;
849
+ $level?: number | undefined;
850
+ } & {
851
+ items: any[];
852
+ })[];
853
+ column: string;
854
+ $filtered: ({
855
+ value: string;
856
+ count: number;
857
+ display?: string | undefined;
858
+ score?: number | undefined;
859
+ operatorResults?: Partial<Record<"max" | "min" | "sum" | "avg" | "stddev" | "variance", number | Date>> | undefined;
860
+ $selected?: boolean | undefined;
861
+ $excluded?: boolean | undefined;
862
+ $filtered?: boolean | undefined;
863
+ $column?: {
864
+ type: string;
865
+ name: string;
866
+ eType: import("@sinequa/core/web-services").EngineType;
867
+ eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
868
+ description?: string | undefined;
869
+ label?: string | undefined;
870
+ labelPlural?: string | undefined;
871
+ formatter?: string | undefined;
872
+ transforms?: string | undefined;
873
+ parser?: string | undefined;
874
+ aliases?: string[] | undefined;
875
+ typeModifier?: string | undefined;
876
+ } | undefined;
877
+ hasChildren?: boolean | undefined;
878
+ $path?: string | undefined;
879
+ $opened?: boolean | undefined;
880
+ $opening?: boolean | undefined;
881
+ $level?: number | undefined;
882
+ } & {
883
+ items: any[];
884
+ })[];
885
+ $cccount: number;
886
+ $remainingFiltered: {
887
+ value: string | number | boolean | null;
888
+ count: number;
889
+ display?: string | undefined;
890
+ score?: number | undefined;
891
+ operatorResults?: Partial<Record<"max" | "min" | "sum" | "avg" | "stddev" | "variance", number | Date>> | undefined;
892
+ $selected?: boolean | undefined;
893
+ $excluded?: boolean | undefined;
894
+ $filtered?: boolean | undefined;
895
+ $column?: {
896
+ type: string;
897
+ name: string;
898
+ eType: import("@sinequa/core/web-services").EngineType;
899
+ eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
900
+ description?: string | undefined;
901
+ label?: string | undefined;
902
+ labelPlural?: string | undefined;
903
+ formatter?: string | undefined;
904
+ transforms?: string | undefined;
905
+ parser?: string | undefined;
906
+ aliases?: string[] | undefined;
907
+ typeModifier?: string | undefined;
908
+ } | undefined;
909
+ }[];
910
+ isDistribution?: boolean | undefined;
911
+ isTree?: boolean | undefined;
912
+ valuesAreExpressions?: boolean | undefined;
913
+ $ccaggregation?: {
914
+ name: string;
915
+ mask: string;
916
+ order: string;
917
+ column: string;
918
+ includeInStandardSearch: boolean;
919
+ count: number;
920
+ distribution: string;
921
+ tabBehavior: "" | "Default" | "LoadForSelectedTab" | "LoadForAllTabs";
922
+ keySeparator: string;
923
+ displayKeySeparator: string;
924
+ } | undefined;
925
+ $cccolumn?: {
926
+ type: string;
927
+ name: string;
928
+ eType: import("@sinequa/core/web-services").EngineType;
929
+ eTypeModifier: import("@sinequa/core/web-services").EngineTypeModifier;
930
+ description?: string | undefined;
931
+ label?: string | undefined;
932
+ labelPlural?: string | undefined;
933
+ formatter?: string | undefined;
934
+ transforms?: string | undefined;
935
+ parser?: string | undefined;
936
+ aliases?: string[] | undefined;
937
+ typeModifier?: string | undefined;
938
+ } | undefined;
939
+ $hasMore?: boolean | undefined;
940
+ hasChildren?: boolean | undefined;
941
+ }>;
942
+ }>;
943
+ userSettingsService: UserSettingsWebService;
944
+ notificationsService: NotificationsService;
945
+ auditService: AuditWebService;
946
+ prefs: UserPreferences;
947
+ loginService: LoginService;
948
+ appService: AppService;
949
+ intlService: IntlService;
950
+ /**
951
+ * Initialize the chat process
952
+ */
953
+ abstract init(): Observable<boolean>;
954
+ /**
955
+ * Initialize the REQUEST_URL
956
+ */
957
+ abstract getRequestsUrl(): void;
958
+ get assistants(): any;
959
+ /**
960
+ * Get the instance ID of the chat service
961
+ * @returns The instance ID of the chat service
962
+ */
963
+ get chatInstanceId(): string;
964
+ /**
965
+ * Persist the instance ID of the chat service
966
+ * @param instanceId The instance ID of the chat service
967
+ */
968
+ setChatInstanceId(instanceId: string): void;
969
+ /**
970
+ * Get the ID of the current chat discussion which is used to save/get/delete it
971
+ * @returns The ID of the current chat discussion
972
+ */
973
+ get savedChatId(): string;
974
+ /**
975
+ * Persist the ID of the current chat discussion which is used to save/get/delete it
976
+ * @param savedChatId The ID of the current chat discussion which is used to save/get/delete it
977
+ */
978
+ setSavedChatId(savedChatId: string): void;
979
+ /**
980
+ * Initialize the chat config by merging the default config with the user preferences and the app config
981
+ * override desc order: user preferences > app config > default config
982
+ */
983
+ initChatConfig(): void;
984
+ /**
985
+ * Update the chat config and store it in the user preferences
986
+ * @param config The updated chat config
987
+ * @param notify Whether to notify the user about the update
988
+ * @param successCallback The callback to execute if the update is successful
989
+ * @param errorCallback The callback to execute if the update fails
990
+ */
991
+ updateChatConfig(config: ChatConfig, notify?: boolean, successCallback?: () => any, errorCallback?: () => any): void;
992
+ /**
993
+ * Calls the Fetch API to retrieve a new message given all previous messages
994
+ */
995
+ abstract fetch(messages: ChatMessage[], query?: Query): Observable<ChatResponse>;
996
+ /**
997
+ * Return the list of models available on the server
998
+ */
999
+ abstract listModels(): Observable<GllmModelDescription[] | undefined>;
1000
+ /**
1001
+ * Return the list of functions available on the server
1002
+ */
1003
+ abstract listFunctions(): Observable<GllmFunction[] | undefined>;
1004
+ /**
1005
+ * Get the model description for the given (serviceId + modelId)
1006
+ * If a model is not found, an error message is returned
1007
+ * @param serviceId The serviceId of the model
1008
+ * @param modelId The modelId of the model
1009
+ * @returns The model description
1010
+ */
1011
+ getModel(serviceId: string, modelId: string): GllmModelDescription | undefined;
1012
+ /**
1013
+ * Fetch the list saved chats belonging to a specific instance of the assistant
1014
+ */
1015
+ abstract listSavedChat(): void;
1016
+ /**
1017
+ * Return the saved chat with the given id, if exists. Otherwise, return undefined
1018
+ * @param id The id of the saved chat
1019
+ */
1020
+ abstract getSavedChat(id: string): Observable<SavedChatHistory | undefined>;
1021
+ /**
1022
+ * Bulk delete of saved chats matching the given ids
1023
+ * @param ids List of ids of the saved chats to delete
1024
+ * @returns The number of deleted chats
1025
+ */
1026
+ abstract deleteSavedChat(ids: string[]): Observable<number>;
1027
+ notifyAudit(messagesHistory: ChatMessage[], model: string): void;
1028
+ /**
1029
+ * Format a date string in UTC to a local date string
1030
+ * @param value Date string in UTC to format
1031
+ * @returns A formatted local date string
1032
+ */
1033
+ protected formatDateTime(value: string): string;
1034
+ /**
1035
+ * Takes a text prompt that may contain placeholders for variables
1036
+ * and replaces these placeholders if it finds a match in the given
1037
+ * context object.
1038
+ */
1039
+ static formatPrompt(prompt: string, context: any): string;
1040
+ /**
1041
+ * @returns A Globally Unique Identifier
1042
+ */
1043
+ static generateGUID(): string;
1044
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChatService, never>;
1045
+ static ɵprov: i0.ɵɵInjectableDeclaration<ChatService>;
1046
+ }