@aakash58/chatbot 1.1.16 → 1.1.17

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 (167) hide show
  1. package/esm2022/aakash58-chatbot.mjs +5 -0
  2. package/esm2022/lib/app/chat/chat-ui-state.service.mjs +170 -0
  3. package/esm2022/lib/app/chat/chat.service.mjs +445 -0
  4. package/esm2022/lib/app/chat/components/chat-button/chat-button.component.mjs +50 -0
  5. package/esm2022/lib/app/chat/components/chat-footer/chat-footer.component.mjs +12 -0
  6. package/esm2022/lib/app/chat/components/chat-header/chat-header.component.mjs +66 -0
  7. package/esm2022/lib/app/chat/components/chat-history-sidebar/chat-history-sidebar.component.mjs +186 -0
  8. package/esm2022/lib/app/chat/components/chat-window/chat-window.component.mjs +312 -0
  9. package/esm2022/lib/app/chat/components/message-input/message-input.component.mjs +36 -0
  10. package/esm2022/lib/app/chat/components/message-list/message-list.component.mjs +115 -0
  11. package/esm2022/lib/app/chat/model/chat-history.model.mjs +2 -0
  12. package/esm2022/lib/app/chat/model/chat-request.model.mjs +2 -0
  13. package/esm2022/lib/app/chat/model/chat-response.model.mjs +2 -0
  14. package/esm2022/lib/app/chat/model/chat-session.model.mjs +2 -0
  15. package/esm2022/lib/app/chat/model/chat-stream-message.model.mjs +2 -0
  16. package/esm2022/lib/app/chat/model/chat-stream-response.model.mjs +2 -0
  17. package/esm2022/lib/app/chat/services/chat-api.service.mjs +61 -0
  18. package/esm2022/lib/app/chat/services/chat-audio.service.mjs +50 -0
  19. package/esm2022/lib/app/chat/services/chat-history.service.mjs +252 -0
  20. package/esm2022/lib/app/login/login-form.component.mjs +46 -0
  21. package/esm2022/lib/app/personalization/personalization-dialog.component.mjs +194 -0
  22. package/esm2022/lib/app/personalization/personalization.service.mjs +149 -0
  23. package/esm2022/lib/app/personalization/sections/account/account-section.component.mjs +122 -0
  24. package/esm2022/lib/app/personalization/sections/preferences/color-picker-dialog.component.mjs +86 -0
  25. package/esm2022/lib/app/personalization/sections/preferences/preferences-section.component.mjs +115 -0
  26. package/esm2022/lib/app/personalization/sections/profile/profile-section.component.mjs +29 -0
  27. package/esm2022/lib/app/personalization/sections/settings/setting-section.component.mjs +30 -0
  28. package/esm2022/lib/app/personalization/sections/terms/terms-section.component.mjs +12 -0
  29. package/esm2022/lib/constant/doohbot-constant.mjs +28 -0
  30. package/esm2022/lib/constant/html-entities.mjs +9 -0
  31. package/esm2022/lib/constant/utf8.mjs +10 -0
  32. package/esm2022/lib/core/app-const.mjs +61 -0
  33. package/esm2022/lib/core/auth/account-api.service.mjs +40 -0
  34. package/esm2022/lib/core/auth/auth.service.mjs +391 -0
  35. package/esm2022/lib/core/auth/models/auth-result.model.mjs +3 -0
  36. package/esm2022/lib/core/auth/models/federated-login-request.model.mjs +6 -0
  37. package/esm2022/lib/core/auth/models/login-request.model.mjs +6 -0
  38. package/esm2022/lib/core/auth/storage.service.mjs +110 -0
  39. package/esm2022/lib/core/directives/draggable/draggable-dialog.directive.mjs +112 -0
  40. package/esm2022/lib/core/directives/fullscreen/fullscreen.directive.mjs +55 -0
  41. package/esm2022/lib/core/directives/resizable/resizable-dialog.directive.mjs +179 -0
  42. package/esm2022/lib/core/environments/environment.mjs +15 -0
  43. package/esm2022/lib/core/environments/environment.prod.mjs +15 -0
  44. package/esm2022/lib/core/helpers/crypto-helper.service.mjs +52 -0
  45. package/esm2022/lib/core/http/http-stream.service.mjs +97 -0
  46. package/esm2022/lib/core/http/http.service.mjs +103 -0
  47. package/esm2022/lib/core/interceptors/auth.interceptor.mjs +96 -0
  48. package/esm2022/lib/core/interceptors/license.interceptor.mjs +44 -0
  49. package/esm2022/lib/core/models/api-config.model.mjs +18 -0
  50. package/esm2022/lib/core/models/api-request.model.mjs +2 -0
  51. package/esm2022/lib/core/models/api-response.model.mjs +8 -0
  52. package/esm2022/lib/core/models/doohbot-config.model.mjs +18 -0
  53. package/esm2022/lib/core/models/license.model.mjs +2 -0
  54. package/esm2022/lib/core/models/message.mjs +2 -0
  55. package/esm2022/lib/core/models/theme-config.model.mjs +2 -0
  56. package/esm2022/lib/core/services/core-config.service.mjs +52 -0
  57. package/esm2022/lib/core/services/license.service.mjs +145 -0
  58. package/esm2022/lib/core/services/markdown.service.mjs +64 -0
  59. package/esm2022/lib/core/services/theme.service.mjs +248 -0
  60. package/esm2022/lib/core/types/auth-mode.type.mjs +2 -0
  61. package/esm2022/lib/core/types/auth-status.type.mjs +5 -0
  62. package/esm2022/lib/core/types/chat-stream.type.mjs +2 -0
  63. package/esm2022/lib/core/types/message-role.type.mjs +2 -0
  64. package/esm2022/lib/core/types/prompt-mode.type.mjs +5 -0
  65. package/esm2022/lib/core/types/snackbar-error.type.mjs +5 -0
  66. package/esm2022/lib/core/types/tenant-resolution-strategy.type.mjs +2 -0
  67. package/esm2022/lib/core/utils/logger.service.mjs +42 -0
  68. package/esm2022/lib/doohbot-input.mjs +20 -0
  69. package/esm2022/lib/doohbot.component.mjs +444 -0
  70. package/esm2022/lib/predefined_messages.mjs +15 -0
  71. package/esm2022/lib/shared/chips/chips.component.mjs +28 -0
  72. package/esm2022/lib/shared/dialog/dialog.component.mjs +36 -0
  73. package/esm2022/lib/shared/dialog/dialog.service.mjs +64 -0
  74. package/esm2022/lib/shared/dialog/dialog.utils.mjs +85 -0
  75. package/esm2022/lib/shared/dropdown-menu/dropdown-menu.component.mjs +29 -0
  76. package/esm2022/lib/shared/input-dialog/input-dialog.component.mjs +38 -0
  77. package/esm2022/lib/shared/menu-item/menu-item.component.mjs +24 -0
  78. package/esm2022/lib/shared/pipes/simple-markdown.pipe.mjs +27 -0
  79. package/esm2022/lib/shared/snackbar/snackbar.component.mjs +43 -0
  80. package/esm2022/lib/shared/snackbar/snackbar.service.mjs +46 -0
  81. package/esm2022/lib/shared/snackbar/snackbar.utils.mjs +43 -0
  82. package/esm2022/public-api.mjs +37 -0
  83. package/fesm2022/aakash58-chatbot.mjs +1037 -827
  84. package/fesm2022/aakash58-chatbot.mjs.map +1 -1
  85. package/index.d.ts +3 -373
  86. package/lib/app/chat/chat-ui-state.service.d.ts +96 -0
  87. package/lib/app/chat/chat.service.d.ts +88 -0
  88. package/lib/app/chat/components/chat-button/chat-button.component.d.ts +16 -0
  89. package/lib/app/chat/components/chat-footer/chat-footer.component.d.ts +5 -0
  90. package/lib/app/chat/components/chat-header/chat-header.component.d.ts +24 -0
  91. package/lib/app/chat/components/chat-history-sidebar/chat-history-sidebar.component.d.ts +49 -0
  92. package/lib/app/chat/components/chat-window/chat-window.component.d.ts +107 -0
  93. package/lib/app/chat/components/message-input/message-input.component.d.ts +12 -0
  94. package/lib/app/chat/components/message-list/message-list.component.d.ts +40 -0
  95. package/lib/app/chat/model/chat-history.model.d.ts +51 -0
  96. package/lib/app/chat/model/chat-request.model.d.ts +10 -0
  97. package/lib/app/chat/model/chat-response.model.d.ts +9 -0
  98. package/lib/app/chat/model/chat-session.model.d.ts +12 -0
  99. package/lib/app/chat/model/chat-stream-message.model.d.ts +5 -0
  100. package/lib/app/chat/model/chat-stream-response.model.d.ts +10 -0
  101. package/lib/app/chat/services/chat-api.service.d.ts +30 -0
  102. package/lib/app/chat/services/chat-audio.service.d.ts +19 -0
  103. package/lib/app/chat/services/chat-history.service.d.ts +53 -0
  104. package/lib/app/login/login-form.component.d.ts +20 -0
  105. package/lib/app/personalization/personalization-dialog.component.d.ts +53 -0
  106. package/lib/app/personalization/personalization.service.d.ts +66 -0
  107. package/lib/app/personalization/sections/account/account-section.component.d.ts +30 -0
  108. package/lib/app/personalization/sections/preferences/color-picker-dialog.component.d.ts +17 -0
  109. package/lib/app/personalization/sections/preferences/preferences-section.component.d.ts +27 -0
  110. package/lib/app/personalization/sections/profile/profile-section.component.d.ts +17 -0
  111. package/lib/app/personalization/sections/settings/setting-section.component.d.ts +10 -0
  112. package/lib/app/personalization/sections/terms/terms-section.component.d.ts +5 -0
  113. package/lib/constant/doohbot-constant.d.ts +12 -0
  114. package/lib/constant/html-entities.d.ts +8 -0
  115. package/lib/constant/utf8.d.ts +9 -0
  116. package/lib/core/app-const.d.ts +11 -0
  117. package/lib/core/auth/account-api.service.d.ts +20 -0
  118. package/lib/core/auth/auth.service.d.ts +90 -0
  119. package/lib/core/auth/models/auth-result.model.d.ts +4 -0
  120. package/lib/core/auth/models/federated-login-request.model.d.ts +5 -0
  121. package/lib/core/auth/models/login-request.model.d.ts +6 -0
  122. package/lib/core/auth/storage.service.d.ts +21 -0
  123. package/lib/core/directives/draggable/draggable-dialog.directive.d.ts +23 -0
  124. package/lib/core/directives/fullscreen/fullscreen.directive.d.ts +14 -0
  125. package/lib/core/directives/resizable/resizable-dialog.directive.d.ts +30 -0
  126. package/lib/core/environments/environment.d.ts +7 -0
  127. package/lib/core/environments/environment.prod.d.ts +7 -0
  128. package/lib/core/helpers/crypto-helper.service.d.ts +12 -0
  129. package/lib/core/http/http-stream.service.d.ts +18 -0
  130. package/lib/core/http/http.service.d.ts +20 -0
  131. package/lib/core/interceptors/auth.interceptor.d.ts +18 -0
  132. package/lib/core/interceptors/license.interceptor.d.ts +11 -0
  133. package/lib/core/models/api-config.model.d.ts +58 -0
  134. package/lib/core/models/api-request.model.d.ts +77 -0
  135. package/lib/core/models/api-response.model.d.ts +6 -0
  136. package/lib/core/models/doohbot-config.model.d.ts +81 -0
  137. package/lib/core/models/license.model.d.ts +23 -0
  138. package/lib/core/models/message.d.ts +16 -0
  139. package/lib/core/models/theme-config.model.d.ts +28 -0
  140. package/lib/core/services/core-config.service.d.ts +23 -0
  141. package/lib/core/services/license.service.d.ts +33 -0
  142. package/lib/core/services/markdown.service.d.ts +8 -0
  143. package/lib/core/services/theme.service.d.ts +40 -0
  144. package/lib/core/types/auth-mode.type.d.ts +4 -0
  145. package/lib/core/types/auth-status.type.d.ts +4 -0
  146. package/lib/core/types/chat-stream.type.d.ts +4 -0
  147. package/lib/core/types/message-role.type.d.ts +4 -0
  148. package/lib/core/types/prompt-mode.type.d.ts +4 -0
  149. package/lib/core/types/snackbar-error.type.d.ts +4 -0
  150. package/lib/core/types/tenant-resolution-strategy.type.d.ts +4 -0
  151. package/lib/core/utils/logger.service.d.ts +11 -0
  152. package/lib/doohbot-input.d.ts +19 -0
  153. package/lib/doohbot.component.d.ts +108 -0
  154. package/lib/predefined_messages.d.ts +2 -0
  155. package/lib/shared/chips/chips.component.d.ts +10 -0
  156. package/lib/shared/dialog/dialog.component.d.ts +19 -0
  157. package/lib/shared/dialog/dialog.service.d.ts +29 -0
  158. package/lib/shared/dialog/dialog.utils.d.ts +41 -0
  159. package/lib/shared/dropdown-menu/dropdown-menu.component.d.ts +11 -0
  160. package/lib/shared/input-dialog/input-dialog.component.d.ts +20 -0
  161. package/lib/shared/menu-item/menu-item.component.d.ts +9 -0
  162. package/lib/shared/pipes/simple-markdown.pipe.d.ts +10 -0
  163. package/lib/shared/snackbar/snackbar.component.d.ts +14 -0
  164. package/lib/shared/snackbar/snackbar.service.d.ts +19 -0
  165. package/lib/shared/snackbar/snackbar.utils.d.ts +33 -0
  166. package/package.json +4 -2
  167. package/public-api.d.ts +11 -0
@@ -0,0 +1,107 @@
1
+ import { EventEmitter, TrackByFunction, OnDestroy, OnInit, SimpleChanges, OnChanges } from '@angular/core';
2
+ import { AuthService } from '../../../../core/auth/auth.service';
3
+ import { Message } from '../../../../core/models/message';
4
+ import { DoohbotThemeConfig } from '../../../../core/models/theme-config.model';
5
+ import { ThemeService } from '../../../../core/services/theme.service';
6
+ import { ChatSession } from '../../model/chat-session.model';
7
+ import * as i0 from "@angular/core";
8
+ export declare class ChatWindowComponent implements OnInit, OnDestroy, OnChanges {
9
+ isChatOpen: boolean;
10
+ enableDrag: boolean;
11
+ enableResize: boolean;
12
+ isFullScreen: boolean;
13
+ isStreaming: boolean;
14
+ isAuthenticated: boolean;
15
+ appTitle: string;
16
+ appLogoUrl: string;
17
+ appTextLogoUrl: string;
18
+ appHeaderLogoUrl: string;
19
+ messages: Message[];
20
+ isBotTyping: boolean;
21
+ appSubtitle: string;
22
+ welcomeDesc: string;
23
+ predefinedMessages: string[];
24
+ suggestedMessages: string[];
25
+ botAvatarUrl: string;
26
+ userAvatarUrl: string;
27
+ userName: string;
28
+ trackByMessageId: TrackByFunction<Message>;
29
+ hintText: string;
30
+ messageError: string | null;
31
+ showSuggestionChips: boolean;
32
+ isHistorySidebarOpen: boolean;
33
+ chatSessions: ChatSession[];
34
+ chatHistoryUserName: string;
35
+ isLoggingIn: boolean;
36
+ authError: string | null;
37
+ authSuccess: string | null;
38
+ isLoadingSessions: boolean;
39
+ hasMoreSessions: boolean;
40
+ isLoadingMoreSessions: boolean;
41
+ processingSessionId: string | null;
42
+ themeConfig: DoohbotThemeConfig | undefined;
43
+ buttonStyle: string;
44
+ toggleChat: EventEmitter<void>;
45
+ toggleFullScreen: EventEmitter<void>;
46
+ toggleHistorySidebar: EventEmitter<void>;
47
+ openSettings: EventEmitter<void>;
48
+ suggestionClick: EventEmitter<string>;
49
+ send: EventEmitter<string>;
50
+ stop: EventEmitter<void>;
51
+ clearMessageError: EventEmitter<void>;
52
+ clearChat: EventEmitter<void>;
53
+ sessionSelected: EventEmitter<ChatSession>;
54
+ sessionDeleted: EventEmitter<string>;
55
+ loadMoreSessions: EventEmitter<void>;
56
+ refreshSessions: EventEmitter<void>;
57
+ sessionRenamed: EventEmitter<{
58
+ sessionId: string;
59
+ newTitle: string;
60
+ }>;
61
+ deleteAllSessions: EventEmitter<void>;
62
+ loginSubmit: EventEmitter<{
63
+ username: string;
64
+ password: string;
65
+ rememberMe: boolean;
66
+ }>;
67
+ logout: EventEmitter<void>;
68
+ themeService: ThemeService;
69
+ authService: AuthService;
70
+ private dialog;
71
+ showLoginForm: boolean;
72
+ get canDrag(): boolean;
73
+ get canResize(): boolean;
74
+ constructor();
75
+ onToggleChat(): void;
76
+ onToggleHistorySidebar(): void;
77
+ onLoginClick(): void;
78
+ onLoginSubmit(credentials: {
79
+ username: string;
80
+ password: string;
81
+ rememberMe: boolean;
82
+ }): void;
83
+ onCancelLogin(): void;
84
+ onToggleFullScreen(): void;
85
+ onOpenSettings(): void;
86
+ onOpenPersonalization(): void;
87
+ onSuggestionClick(text: string): void;
88
+ onSend(text: string): void;
89
+ onStop(): void;
90
+ onClearMessageError(): void;
91
+ onClearAuthError(): void;
92
+ onClearChat(): void;
93
+ onLogout(): void;
94
+ onSessionSelected(session: ChatSession): void;
95
+ onSessionDeleted(sessionId: string): void;
96
+ onSessionRenamed(event: {
97
+ sessionId: string;
98
+ newTitle: string;
99
+ }): void;
100
+ onDeleteAllSessions(): void;
101
+ onPopoutShown(win: Window): void;
102
+ ngOnInit(): void;
103
+ ngOnChanges(changes: SimpleChanges): void;
104
+ ngOnDestroy(): void;
105
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChatWindowComponent, never>;
106
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChatWindowComponent, "app-chat-window", never, { "isChatOpen": { "alias": "isChatOpen"; "required": false; }; "enableDrag": { "alias": "enableDrag"; "required": false; }; "enableResize": { "alias": "enableResize"; "required": false; }; "isFullScreen": { "alias": "isFullScreen"; "required": false; }; "isStreaming": { "alias": "isStreaming"; "required": false; }; "isAuthenticated": { "alias": "isAuthenticated"; "required": false; }; "appTitle": { "alias": "appTitle"; "required": false; }; "appLogoUrl": { "alias": "appLogoUrl"; "required": false; }; "appTextLogoUrl": { "alias": "appTextLogoUrl"; "required": false; }; "appHeaderLogoUrl": { "alias": "appHeaderLogoUrl"; "required": false; }; "messages": { "alias": "messages"; "required": false; }; "isBotTyping": { "alias": "isBotTyping"; "required": false; }; "appSubtitle": { "alias": "appSubtitle"; "required": false; }; "welcomeDesc": { "alias": "welcomeDesc"; "required": false; }; "predefinedMessages": { "alias": "predefinedMessages"; "required": false; }; "suggestedMessages": { "alias": "suggestedMessages"; "required": false; }; "botAvatarUrl": { "alias": "botAvatarUrl"; "required": false; }; "userAvatarUrl": { "alias": "userAvatarUrl"; "required": false; }; "userName": { "alias": "userName"; "required": false; }; "trackByMessageId": { "alias": "trackByMessageId"; "required": false; }; "hintText": { "alias": "hintText"; "required": false; }; "messageError": { "alias": "messageError"; "required": false; }; "showSuggestionChips": { "alias": "showSuggestionChips"; "required": false; }; "isHistorySidebarOpen": { "alias": "isHistorySidebarOpen"; "required": false; }; "chatSessions": { "alias": "chatSessions"; "required": false; }; "chatHistoryUserName": { "alias": "chatHistoryUserName"; "required": false; }; "isLoggingIn": { "alias": "isLoggingIn"; "required": false; }; "authError": { "alias": "authError"; "required": false; }; "authSuccess": { "alias": "authSuccess"; "required": false; }; "isLoadingSessions": { "alias": "isLoadingSessions"; "required": false; }; "hasMoreSessions": { "alias": "hasMoreSessions"; "required": false; }; "isLoadingMoreSessions": { "alias": "isLoadingMoreSessions"; "required": false; }; "processingSessionId": { "alias": "processingSessionId"; "required": false; }; "themeConfig": { "alias": "themeConfig"; "required": false; }; "buttonStyle": { "alias": "buttonStyle"; "required": false; }; }, { "toggleChat": "toggleChat"; "toggleFullScreen": "toggleFullScreen"; "toggleHistorySidebar": "toggleHistorySidebar"; "openSettings": "openSettings"; "suggestionClick": "suggestionClick"; "send": "send"; "stop": "stop"; "clearMessageError": "clearMessageError"; "clearChat": "clearChat"; "sessionSelected": "sessionSelected"; "sessionDeleted": "sessionDeleted"; "loadMoreSessions": "loadMoreSessions"; "refreshSessions": "refreshSessions"; "sessionRenamed": "sessionRenamed"; "deleteAllSessions": "deleteAllSessions"; "loginSubmit": "loginSubmit"; "logout": "logout"; }, never, never, true, never>;
107
+ }
@@ -0,0 +1,12 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class MessageInputComponent {
4
+ isBotTyping: boolean;
5
+ hintText: string;
6
+ send: EventEmitter<string>;
7
+ stop: EventEmitter<void>;
8
+ onSend(text: string): void;
9
+ onStop(): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<MessageInputComponent, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<MessageInputComponent, "app-message-input", never, { "isBotTyping": { "alias": "isBotTyping"; "required": false; }; "hintText": { "alias": "hintText"; "required": false; }; }, { "send": "send"; "stop": "stop"; }, never, never, true, never>;
12
+ }
@@ -0,0 +1,40 @@
1
+ import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnDestroy, TrackByFunction } from '@angular/core';
2
+ import { Message } from '../../../../core/models/message';
3
+ import * as i0 from "@angular/core";
4
+ export declare class MessageListComponent implements AfterViewInit, OnDestroy {
5
+ private cdr;
6
+ messages: Message[];
7
+ isBotTyping: boolean;
8
+ isStreaming: boolean;
9
+ appLogoUrl: string;
10
+ appSubtitle: string;
11
+ welcomeDesc: string;
12
+ predefinedMessages: string[];
13
+ botAvatarUrl: string;
14
+ userAvatarUrl: string;
15
+ userName: string;
16
+ isAuthenticated: boolean;
17
+ isLoggingIn: boolean;
18
+ trackByMessageId: TrackByFunction<Message>;
19
+ suggestionClick: EventEmitter<string>;
20
+ loginClick: EventEmitter<void>;
21
+ private chatMessagesContainer;
22
+ private mutationObserver;
23
+ appEmoji: {
24
+ waveHand: string;
25
+ robotFace: string;
26
+ partyPopper: string;
27
+ thinkingFace: string;
28
+ thumbsUp: string;
29
+ thumbsDown: string;
30
+ redHeart: string;
31
+ };
32
+ constructor(cdr: ChangeDetectorRef);
33
+ ngAfterViewInit(): void;
34
+ private scrollToBottom;
35
+ onPredefinedClick(text: string): void;
36
+ copyMessage(message: Message): void;
37
+ ngOnDestroy(): void;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<MessageListComponent, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<MessageListComponent, "app-message-list", never, { "messages": { "alias": "messages"; "required": false; }; "isBotTyping": { "alias": "isBotTyping"; "required": false; }; "isStreaming": { "alias": "isStreaming"; "required": false; }; "appLogoUrl": { "alias": "appLogoUrl"; "required": false; }; "appSubtitle": { "alias": "appSubtitle"; "required": false; }; "welcomeDesc": { "alias": "welcomeDesc"; "required": false; }; "predefinedMessages": { "alias": "predefinedMessages"; "required": false; }; "botAvatarUrl": { "alias": "botAvatarUrl"; "required": false; }; "userAvatarUrl": { "alias": "userAvatarUrl"; "required": false; }; "userName": { "alias": "userName"; "required": false; }; "isAuthenticated": { "alias": "isAuthenticated"; "required": false; }; "isLoggingIn": { "alias": "isLoggingIn"; "required": false; }; "trackByMessageId": { "alias": "trackByMessageId"; "required": false; }; }, { "suggestionClick": "suggestionClick"; "loginClick": "loginClick"; }, never, never, true, never>;
40
+ }
@@ -0,0 +1,51 @@
1
+ import { MessageRole } from '../../../core/types/message-role.type';
2
+ /**
3
+ * Chat History Request Model
4
+ */
5
+ export interface ChatHistoryRequest {
6
+ limit: number;
7
+ offset: number;
8
+ }
9
+ /**
10
+ * Chat Message from API
11
+ */
12
+ export interface ChatMessage {
13
+ message_id?: string;
14
+ role: MessageRole;
15
+ content: string;
16
+ model_name: string | null;
17
+ prompt_tokens: number | null;
18
+ completion_tokens: number | null;
19
+ created_at: string;
20
+ }
21
+ /**
22
+ * Chat Session from API
23
+ */
24
+ export interface ChatSessionResponse {
25
+ response_id: string;
26
+ title: string;
27
+ last_message_at: string;
28
+ chat_session_id?: string;
29
+ is_active?: boolean;
30
+ created_at?: string;
31
+ updated_at?: string;
32
+ messages?: ChatMessage[];
33
+ }
34
+ /**
35
+ * Chat History Data from API
36
+ */
37
+ export interface ChatHistoryData {
38
+ sessions: ChatSessionResponse[];
39
+ total: number;
40
+ limit: number;
41
+ offset: number;
42
+ }
43
+ /**
44
+ * Chat History API Response
45
+ */
46
+ export interface ChatHistoryResponse {
47
+ success: boolean;
48
+ message: string;
49
+ data: ChatHistoryData;
50
+ timestamp: string;
51
+ }
@@ -0,0 +1,10 @@
1
+ import { PromptMode } from '../../../core/types/prompt-mode.type';
2
+ export interface ChatRequest {
3
+ question: string;
4
+ temperature?: number;
5
+ max_tokens?: number;
6
+ prompt_mode?: PromptMode;
7
+ organization_id: string;
8
+ response_id?: string;
9
+ custom_instructions?: string;
10
+ }
@@ -0,0 +1,9 @@
1
+ export interface ChatResponse {
2
+ id: string;
3
+ content: string;
4
+ created_at: string;
5
+ isComplete: boolean;
6
+ sources: any[];
7
+ error?: any;
8
+ response_id?: string;
9
+ }
@@ -0,0 +1,12 @@
1
+ import { Message } from '../../../core/models/message';
2
+ export interface ChatSession {
3
+ id: string;
4
+ timestamp: Date;
5
+ title: string;
6
+ messages: Message[];
7
+ userId: string;
8
+ }
9
+ export interface ChatSessionGroup {
10
+ label: string;
11
+ sessions: ChatSession[];
12
+ }
@@ -0,0 +1,5 @@
1
+ import { MessageRole } from '../../../core/types/message-role.type';
2
+ export interface ChatStreamMessage {
3
+ role: MessageRole;
4
+ content: string;
5
+ }
@@ -0,0 +1,10 @@
1
+ import { ChatStream } from '../../../core/types/chat-stream.type';
2
+ export interface ChatStreamResponse {
3
+ id: string;
4
+ type: ChatStream;
5
+ content: string;
6
+ error?: any;
7
+ created_at: string;
8
+ sources: any[];
9
+ response_id?: string;
10
+ }
@@ -0,0 +1,30 @@
1
+ import { Observable } from 'rxjs';
2
+ import { ChatHistoryData, ChatHistoryRequest, ChatMessage } from '../model/chat-history.model';
3
+ import { HttpStreamService } from '../../../core/http/http-stream.service';
4
+ import { HttpService } from '../../../core/http/http.service';
5
+ import { ApiResponse } from '../../../core/models/api-response.model';
6
+ import { ChatRequest } from '../model/chat-request.model';
7
+ import { ChatResponse } from '../model/chat-response.model';
8
+ import { ChatStreamResponse } from '../model/chat-stream-response.model';
9
+ import * as i0 from "@angular/core";
10
+ export declare class ChatApiService {
11
+ private http;
12
+ private httpStreamService;
13
+ get apiUrl(): string;
14
+ constructor(http: HttpService, httpStreamService: HttpStreamService);
15
+ /**
16
+ * Send chat message and get full response
17
+ */
18
+ sendMessage(request?: ChatRequest, showLoader?: boolean): Observable<ApiResponse<ChatResponse>>;
19
+ /**
20
+ * Send chat message and get streaming response
21
+ */
22
+ sendMessageStream(request: ChatRequest): Observable<ChatStreamResponse>;
23
+ getChatHistory(request: ChatHistoryRequest, showLoader?: boolean): Observable<ApiResponse<ChatHistoryData>>;
24
+ getChatSession(chatSessionId: string, showLoader?: boolean): Observable<ApiResponse<ChatMessage[]>>;
25
+ deleteChatSession(chatSessionId: string, showLoader?: boolean): Observable<ApiResponse<void>>;
26
+ updateChatTitle(chatSessionId: string, title: string, showLoader?: boolean): Observable<ApiResponse<void>>;
27
+ clearChatHistory(request?: object, showLoader?: boolean): Observable<ApiResponse<void>>;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChatApiService, never>;
29
+ static ɵprov: i0.ɵɵInjectableDeclaration<ChatApiService>;
30
+ }
@@ -0,0 +1,19 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ChatAudioService {
3
+ private audioUnlocked;
4
+ constructor();
5
+ /**
6
+ * Unlock audio playback (required for autoplay in browsers)
7
+ */
8
+ unlockAudio(): void;
9
+ /**
10
+ * Play bot message sound
11
+ */
12
+ playBotSound(): void;
13
+ /**
14
+ * Check if audio is unlocked
15
+ */
16
+ isAudioUnlocked(): boolean;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChatAudioService, never>;
18
+ static ɵprov: i0.ɵɵInjectableDeclaration<ChatAudioService>;
19
+ }
@@ -0,0 +1,53 @@
1
+ import { Observable } from 'rxjs';
2
+ import { ChatSession } from '../model/chat-session.model';
3
+ import { Message } from '../../../core/models/message';
4
+ import { ChatSessionResponse } from '../model/chat-history.model';
5
+ import * as i0 from "@angular/core";
6
+ export declare class ChatHistoryService {
7
+ private chatApiService;
8
+ sessions: import("@angular/core").WritableSignal<ChatSession[]>;
9
+ isLoading: import("@angular/core").WritableSignal<boolean>;
10
+ isLoadingMore: import("@angular/core").WritableSignal<boolean>;
11
+ hasMore: import("@angular/core").WritableSignal<boolean>;
12
+ historyOffset: import("@angular/core").WritableSignal<number>;
13
+ isCacheValid: import("@angular/core").WritableSignal<boolean>;
14
+ processingSessionId: import("@angular/core").WritableSignal<string | null>;
15
+ /**
16
+ * Map API session response to ChatSession model
17
+ */
18
+ mapSessionResponseToSession(sessionResponse: ChatSessionResponse, userId: string): ChatSession;
19
+ /**
20
+ * Load all chat sessions for a specific user
21
+ */
22
+ loadSessions(userId: string, forceRefresh?: boolean): void;
23
+ /**
24
+ * Load more sessions for infinite scroll
25
+ */
26
+ loadMoreSessions(userId: string): void;
27
+ /**
28
+ * Load messages for a specific session
29
+ */
30
+ loadSessionMessages(sessionId: string): Observable<Message[]>;
31
+ /**
32
+ * Delete a specific session
33
+ */
34
+ deleteSession(sessionId: string, userId: string): Observable<void>;
35
+ /**
36
+ * Delete all history
37
+ */
38
+ deleteAllHistory(userId: string): Observable<void>;
39
+ /**
40
+ * Update session title
41
+ */
42
+ updateSessionTitle(sessionId: string, newTitle: string, userId: string): Observable<boolean>;
43
+ /**
44
+ * Invalidate cache
45
+ */
46
+ invalidateCache(): void;
47
+ /**
48
+ * Clear all history state
49
+ */
50
+ clearState(): void;
51
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChatHistoryService, never>;
52
+ static ɵprov: i0.ɵɵInjectableDeclaration<ChatHistoryService>;
53
+ }
@@ -0,0 +1,20 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class LoginFormComponent {
4
+ isLoggingIn: boolean;
5
+ loginSubmit: EventEmitter<{
6
+ username: string;
7
+ password: string;
8
+ rememberMe: boolean;
9
+ }>;
10
+ cancel: EventEmitter<void>;
11
+ loginUsername: string;
12
+ loginPassword: string;
13
+ showPassword: boolean;
14
+ rememberMe: boolean;
15
+ togglePasswordVisibility(): void;
16
+ onLoginSubmit(): void;
17
+ onCancel(): void;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoginFormComponent, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoginFormComponent, "app-login-form", never, { "isLoggingIn": { "alias": "isLoggingIn"; "required": false; }; }, { "loginSubmit": "loginSubmit"; "cancel": "cancel"; }, never, never, true, never>;
20
+ }
@@ -0,0 +1,53 @@
1
+ import { OnDestroy } from '@angular/core';
2
+ import { PersonalizationService, PersonalizationSettings } from './personalization.service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class PersonalizationDialogComponent implements OnDestroy {
5
+ private dialogRef;
6
+ private dialogService;
7
+ personalization: PersonalizationService;
8
+ private authService;
9
+ private chatHistory;
10
+ private snackbar;
11
+ settings: PersonalizationSettings;
12
+ activeSection: string;
13
+ sections: ({
14
+ id: string;
15
+ label: string;
16
+ type: string;
17
+ icon?: undefined;
18
+ } | {
19
+ id: string;
20
+ label: string;
21
+ icon: string;
22
+ type: string;
23
+ })[];
24
+ colorTokens: {
25
+ name: string;
26
+ value: string;
27
+ }[];
28
+ private themeService;
29
+ private originalColor;
30
+ private isSaved;
31
+ constructor();
32
+ onSave(): void;
33
+ onCancel(): void;
34
+ ngOnDestroy(): void;
35
+ onReset(): void;
36
+ selectTheme(theme: 'light' | 'dark' | 'auto'): void;
37
+ selectColor(color: string): void;
38
+ selectButtonStyle(style: 'fab' | 'sidebar' | 'sidebar-top' | 'sidebar-bottom'): void;
39
+ selectSection(sectionId: string): void;
40
+ get hasChanges(): boolean;
41
+ hasPreferencesChanges(): boolean;
42
+ hasInstructionChanges(): boolean;
43
+ get username(): string;
44
+ get userImageUrl(): string | null;
45
+ get userRole(): string;
46
+ isCustomColorSelected(): boolean;
47
+ onCustomColorChange(event: Event): void;
48
+ deleteAllHistory(): void;
49
+ logoutAllDevices(): void;
50
+ deleteAccount(): void;
51
+ static ɵfac: i0.ɵɵFactoryDeclaration<PersonalizationDialogComponent, never>;
52
+ static ɵcmp: i0.ɵɵComponentDeclaration<PersonalizationDialogComponent, "app-personalization-dialog", never, {}, {}, never, never, true, never>;
53
+ }
@@ -0,0 +1,66 @@
1
+ import * as i0 from "@angular/core";
2
+ export interface Characteristics {
3
+ warm: string;
4
+ enthusiastic: string;
5
+ headersAndLists: string;
6
+ emoji: string;
7
+ }
8
+ export interface AboutYou {
9
+ nickname: string;
10
+ occupation: string;
11
+ }
12
+ export interface CustomInstructions {
13
+ enabled: boolean;
14
+ aboutUser: string;
15
+ responseStyle: string;
16
+ characteristics: Characteristics;
17
+ aboutYou: AboutYou;
18
+ }
19
+ export interface AppearanceSettings {
20
+ theme: 'light' | 'dark' | 'auto';
21
+ primaryColor: string;
22
+ buttonStyle: 'fab' | 'sidebar' | 'sidebar-top' | 'sidebar-bottom';
23
+ }
24
+ export interface PersonalizationSettings {
25
+ customInstructions: CustomInstructions;
26
+ appearance: AppearanceSettings;
27
+ meta: {
28
+ version: number;
29
+ lastUpdated: number;
30
+ };
31
+ }
32
+ export declare class PersonalizationService {
33
+ private storage;
34
+ private authService;
35
+ private authStatus;
36
+ private _settings;
37
+ settings: import("@angular/core").Signal<PersonalizationSettings>;
38
+ private _developerDefaults;
39
+ readonly developerDefaults: import("@angular/core").Signal<Partial<AppearanceSettings>>;
40
+ constructor();
41
+ private getStorageKey;
42
+ /**
43
+ * Update custom instructions
44
+ */
45
+ updateInstructions(instructions: Partial<CustomInstructions>): void;
46
+ /**
47
+ * Update appearance settings
48
+ */
49
+ updateAppearance(appearance: Partial<AppearanceSettings>): void;
50
+ /**
51
+ * Set initial developer defaults (called from DoohbotComponent)
52
+ */
53
+ setDeveloperDefaults(defaults: Partial<AppearanceSettings>): void;
54
+ /**
55
+ * Reset all personalization to defaults
56
+ */
57
+ resetToDefaults(): void;
58
+ /**
59
+ * Get the formatted instructions block for chat requests
60
+ */
61
+ getFormattedInstructions(): string;
62
+ private loadSettings;
63
+ private saveSettings;
64
+ static ɵfac: i0.ɵɵFactoryDeclaration<PersonalizationService, never>;
65
+ static ɵprov: i0.ɵɵInjectableDeclaration<PersonalizationService>;
66
+ }
@@ -0,0 +1,30 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export interface ActiveSession {
4
+ id: string;
5
+ device: string;
6
+ location: string;
7
+ created: string;
8
+ updated: string;
9
+ isCurrent?: boolean;
10
+ }
11
+ export declare class AccountSectionComponent {
12
+ private dialogService;
13
+ private authService;
14
+ private cd;
15
+ organizationId: string;
16
+ isCopied: boolean;
17
+ ngOnInit(): void;
18
+ onDeleteAllHistory: EventEmitter<void>;
19
+ onLogoutAll: EventEmitter<void>;
20
+ onLogoutSession: EventEmitter<string>;
21
+ onDeleteAccount: EventEmitter<void>;
22
+ sessions: ActiveSession[];
23
+ copyOrgId(): void;
24
+ confirmLogoutAll(): void;
25
+ confirmLogoutSession(session: ActiveSession): void;
26
+ confirmDeleteAllHistory(): void;
27
+ confirmDeleteAccount(): void;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<AccountSectionComponent, never>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<AccountSectionComponent, "app-account-section", never, { "organizationId": { "alias": "organizationId"; "required": false; }; }, { "onDeleteAllHistory": "onDeleteAllHistory"; "onLogoutAll": "onLogoutAll"; "onLogoutSession": "onLogoutSession"; "onDeleteAccount": "onDeleteAccount"; }, never, never, true, never>;
30
+ }
@@ -0,0 +1,17 @@
1
+ import { MatDialogRef } from '@angular/material/dialog';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ColorPickerDialogComponent {
4
+ dialogRef: MatDialogRef<ColorPickerDialogComponent>;
5
+ data: {
6
+ color: string;
7
+ };
8
+ color: string;
9
+ constructor(dialogRef: MatDialogRef<ColorPickerDialogComponent>, data: {
10
+ color: string;
11
+ });
12
+ onColorInput(event: any): void;
13
+ onCancel(): void;
14
+ onConfirm(): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<ColorPickerDialogComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<ColorPickerDialogComponent, "app-color-picker-dialog", never, {}, {}, never, never, true, never>;
17
+ }
@@ -0,0 +1,27 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { MatDialog } from '@angular/material/dialog';
3
+ import { PersonalizationSettings } from '../../personalization.service';
4
+ import * as i0 from "@angular/core";
5
+ export declare class PreferencesSectionComponent {
6
+ private dialog;
7
+ constructor(dialog: MatDialog);
8
+ settings: PersonalizationSettings;
9
+ colorTokens: any[];
10
+ isCustomColorSelected: boolean;
11
+ defaultColor: string;
12
+ onThemeSelect: EventEmitter<"auto" | "light" | "dark">;
13
+ onColorSelect: EventEmitter<string>;
14
+ onButtonStyleSelect: EventEmitter<"fab" | "sidebar" | "sidebar-top" | "sidebar-bottom">;
15
+ onSave: EventEmitter<void>;
16
+ onReset: EventEmitter<void>;
17
+ onCustomColorChange(event: Event): void;
18
+ getSelectedColorName(): string;
19
+ isCustomColor(): boolean;
20
+ getThemeIcon(theme: string): string;
21
+ getThemeLabel(theme: string): string;
22
+ getStyleIcon(style: string): string;
23
+ getStyleLabel(style: string): string;
24
+ openCustomColorPicker(): void;
25
+ static ɵfac: i0.ɵɵFactoryDeclaration<PreferencesSectionComponent, never>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<PreferencesSectionComponent, "app-preferences-section", never, { "settings": { "alias": "settings"; "required": false; }; "colorTokens": { "alias": "colorTokens"; "required": false; }; "isCustomColorSelected": { "alias": "isCustomColorSelected"; "required": false; }; "defaultColor": { "alias": "defaultColor"; "required": false; }; }, { "onThemeSelect": "onThemeSelect"; "onColorSelect": "onColorSelect"; "onButtonStyleSelect": "onButtonStyleSelect"; "onSave": "onSave"; "onReset": "onReset"; }, never, never, true, never>;
27
+ }
@@ -0,0 +1,17 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ProfileSectionComponent {
3
+ username: string;
4
+ userImageUrl: string | null;
5
+ userRole: string;
6
+ appEntity: {
7
+ amp: string;
8
+ lt: string;
9
+ gt: string;
10
+ quot: string;
11
+ apos: string;
12
+ at: string;
13
+ };
14
+ get initials(): string;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProfileSectionComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<ProfileSectionComponent, "app-profile-section", never, { "username": { "alias": "username"; "required": false; }; "userImageUrl": { "alias": "userImageUrl"; "required": false; }; "userRole": { "alias": "userRole"; "required": false; }; }, {}, never, never, true, never>;
17
+ }
@@ -0,0 +1,10 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { PersonalizationSettings } from '../../personalization.service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SettingSectionComponent {
5
+ settings: PersonalizationSettings;
6
+ hasChanges: boolean;
7
+ onSave: EventEmitter<void>;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<SettingSectionComponent, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<SettingSectionComponent, "app-setting-section", never, { "settings": { "alias": "settings"; "required": false; }; "hasChanges": { "alias": "hasChanges"; "required": false; }; }, { "onSave": "onSave"; }, never, never, true, never>;
10
+ }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class TermsSectionComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<TermsSectionComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<TermsSectionComponent, "app-terms-section", never, {}, {}, never, never, true, never>;
5
+ }
@@ -0,0 +1,12 @@
1
+ export declare const DoohbotConst: {
2
+ appTitle: string;
3
+ appSubtitle: string;
4
+ welcomeDescription: string;
5
+ hintText: string;
6
+ errorMessage: string;
7
+ appLogo: string;
8
+ appTextLogo: string;
9
+ appHeaderLogo: string;
10
+ userAvatar: string;
11
+ botAvatar: string;
12
+ };
@@ -0,0 +1,8 @@
1
+ export declare const AppEntity: {
2
+ amp: string;
3
+ lt: string;
4
+ gt: string;
5
+ quot: string;
6
+ apos: string;
7
+ at: string;
8
+ };