@aakash58/chatbot 1.1.19 → 1.1.21

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 (351) hide show
  1. package/.editorconfig +17 -0
  2. package/.vscode/extensions.json +4 -0
  3. package/.vscode/launch.json +41 -0
  4. package/.vscode/settings.json +14 -0
  5. package/.vscode/tasks.json +60 -0
  6. package/README.md +298 -22
  7. package/angular.json +132 -0
  8. package/docs/PUBLISHING_GUIDE.md +104 -0
  9. package/package.json +75 -29
  10. package/projects/app-doohbot/public/assets/const/app-const.json +15 -0
  11. package/projects/app-doohbot/public/assets/const/doohclick_license.json +6 -0
  12. package/projects/app-doohbot/public/favicon.ico +0 -0
  13. package/projects/app-doohbot/src/app/app.config.ts +13 -0
  14. package/projects/app-doohbot/src/app/app.html +31 -0
  15. package/projects/app-doohbot/src/app/app.routes.ts +3 -0
  16. package/projects/app-doohbot/src/app/app.scss +279 -0
  17. package/projects/app-doohbot/src/app/app.spec.ts +23 -0
  18. package/projects/app-doohbot/src/app/app.ts +72 -0
  19. package/projects/app-doohbot/src/index.html +15 -0
  20. package/projects/app-doohbot/src/main.ts +6 -0
  21. package/projects/app-doohbot/src/styles.scss +15 -0
  22. package/projects/app-doohbot/tsconfig.app.json +15 -0
  23. package/projects/app-doohbot/tsconfig.spec.json +14 -0
  24. package/projects/doohbot/README.md +64 -0
  25. package/projects/doohbot/docs/README.md +140 -0
  26. package/projects/doohbot/ng-package.json +10 -0
  27. package/projects/doohbot/package.json +16 -0
  28. package/projects/doohbot/src/lib/app/chat/chat-ui-state.service.ts +194 -0
  29. package/projects/doohbot/src/lib/app/chat/chat.service.ts +547 -0
  30. package/projects/doohbot/src/lib/app/chat/components/chat-button/chat-button.component.html +27 -0
  31. package/projects/doohbot/src/lib/app/chat/components/chat-button/chat-button.component.scss +115 -0
  32. package/projects/doohbot/src/lib/app/chat/components/chat-button/chat-button.component.ts +35 -0
  33. package/projects/doohbot/src/lib/app/chat/components/chat-footer/chat-footer.component.html +3 -0
  34. package/projects/doohbot/src/lib/app/chat/components/chat-footer/chat-footer.component.scss +20 -0
  35. package/projects/doohbot/src/lib/app/chat/components/chat-footer/chat-footer.component.ts +12 -0
  36. package/projects/doohbot/src/lib/app/chat/components/chat-header/chat-header.component.html +34 -0
  37. package/projects/doohbot/src/lib/app/chat/components/chat-header/chat-header.component.scss +78 -0
  38. package/projects/doohbot/src/lib/app/chat/components/chat-header/chat-header.component.ts +52 -0
  39. package/projects/doohbot/src/lib/app/chat/components/chat-history-sidebar/chat-history-sidebar.component.html +77 -0
  40. package/projects/doohbot/src/lib/app/chat/components/chat-history-sidebar/chat-history-sidebar.component.scss +346 -0
  41. package/projects/doohbot/src/lib/app/chat/components/chat-history-sidebar/chat-history-sidebar.component.ts +188 -0
  42. package/projects/doohbot/src/lib/app/chat/components/chat-window/chat-window.component.html +146 -0
  43. package/projects/doohbot/src/lib/app/chat/components/chat-window/chat-window.component.scss +187 -0
  44. package/projects/doohbot/src/lib/app/chat/components/chat-window/chat-window.component.ts +256 -0
  45. package/projects/doohbot/src/lib/app/chat/components/message-input/message-input.component.html +17 -0
  46. package/projects/doohbot/src/lib/app/chat/components/message-input/message-input.component.scss +59 -0
  47. package/projects/doohbot/src/lib/app/chat/components/message-input/message-input.component.ts +28 -0
  48. package/projects/doohbot/src/lib/app/chat/components/message-list/message-list.component.html +138 -0
  49. package/projects/doohbot/src/lib/app/chat/components/message-list/message-list.component.scss +436 -0
  50. package/projects/doohbot/src/lib/app/chat/components/message-list/message-list.component.ts +106 -0
  51. package/projects/doohbot/src/lib/app/chat/model/chat-history.model.ts +57 -0
  52. package/projects/doohbot/src/lib/app/chat/model/chat-request.model.ts +17 -0
  53. package/projects/doohbot/src/lib/app/chat/model/chat-response.model.ts +9 -0
  54. package/projects/doohbot/src/lib/app/chat/model/chat-session.model.ts +14 -0
  55. package/{lib/app/chat/model/chat-stream-message.model.d.ts → projects/doohbot/src/lib/app/chat/model/chat-stream-message.model.ts} +6 -5
  56. package/projects/doohbot/src/lib/app/chat/model/chat-stream-response.model.ts +12 -0
  57. package/projects/doohbot/src/lib/app/chat/services/chat-api.service.ts +82 -0
  58. package/projects/doohbot/src/lib/app/chat/services/chat-audio.service.ts +44 -0
  59. package/projects/doohbot/src/lib/app/chat/services/chat-history.service.ts +303 -0
  60. package/projects/doohbot/src/lib/app/login/login-form.component.html +80 -0
  61. package/projects/doohbot/src/lib/app/login/login-form.component.scss +189 -0
  62. package/projects/doohbot/src/lib/app/login/login-form.component.ts +45 -0
  63. package/projects/doohbot/src/lib/app/personalization/personalization-dialog.component.html +81 -0
  64. package/projects/doohbot/src/lib/app/personalization/personalization-dialog.component.scss +179 -0
  65. package/projects/doohbot/src/lib/app/personalization/personalization-dialog.component.ts +217 -0
  66. package/projects/doohbot/src/lib/app/personalization/personalization.service.ts +197 -0
  67. package/projects/doohbot/src/lib/app/personalization/sections/account/account-section.component.html +111 -0
  68. package/projects/doohbot/src/lib/app/personalization/sections/account/account-section.component.scss +218 -0
  69. package/projects/doohbot/src/lib/app/personalization/sections/account/account-section.component.ts +121 -0
  70. package/projects/doohbot/src/lib/app/personalization/sections/instructions/instructions-section.component.html +46 -0
  71. package/projects/doohbot/src/lib/app/personalization/sections/instructions/instructions-section.component.scss +138 -0
  72. package/projects/doohbot/src/lib/app/personalization/sections/instructions/instructions-section.component.ts +28 -0
  73. package/projects/doohbot/src/lib/app/personalization/sections/preferences/color-picker-dialog.component.ts +92 -0
  74. package/projects/doohbot/src/lib/app/personalization/sections/preferences/preferences-section.component.html +198 -0
  75. package/projects/doohbot/src/lib/app/personalization/sections/preferences/preferences-section.component.scss +107 -0
  76. package/projects/doohbot/src/lib/app/personalization/sections/preferences/preferences-section.component.ts +103 -0
  77. package/projects/doohbot/src/lib/app/personalization/sections/profile/profile-section.component.html +46 -0
  78. package/projects/doohbot/src/lib/app/personalization/sections/profile/profile-section.component.scss +131 -0
  79. package/projects/doohbot/src/lib/app/personalization/sections/profile/profile-section.component.ts +23 -0
  80. package/projects/doohbot/src/lib/app/personalization/sections/settings/setting-section.component.html +33 -0
  81. package/projects/doohbot/src/lib/app/personalization/sections/settings/setting-section.component.scss +61 -0
  82. package/projects/doohbot/src/lib/app/personalization/sections/settings/setting-section.component.ts +20 -0
  83. package/projects/doohbot/src/lib/app/personalization/sections/terms/terms-section.component.html +30 -0
  84. package/projects/doohbot/src/lib/app/personalization/sections/terms/terms-section.component.scss +59 -0
  85. package/projects/doohbot/src/lib/app/personalization/sections/terms/terms-section.component.ts +12 -0
  86. package/projects/doohbot/src/lib/constant/doohbot-constant.ts +40 -0
  87. package/projects/doohbot/src/lib/constant/html-entities.ts +8 -0
  88. package/projects/doohbot/src/lib/constant/utf8.ts +9 -0
  89. package/projects/doohbot/src/lib/core/app-const.ts +63 -0
  90. package/projects/doohbot/src/lib/core/auth/account-api.service.ts +53 -0
  91. package/projects/doohbot/src/lib/core/auth/auth.service.ts +478 -0
  92. package/projects/doohbot/src/lib/core/auth/models/auth-result.model.ts +4 -0
  93. package/projects/doohbot/src/lib/core/auth/models/federated-login-request.model.ts +5 -0
  94. package/projects/doohbot/src/lib/core/auth/models/login-request.model.ts +6 -0
  95. package/projects/doohbot/src/lib/core/auth/storage.service.ts +113 -0
  96. package/projects/doohbot/src/lib/core/directives/draggable/draggable-dialog.directive.ts +123 -0
  97. package/projects/doohbot/src/lib/core/directives/draggable/draggable-dialog.module.ts +9 -0
  98. package/projects/doohbot/src/lib/core/directives/fullscreen/fullscreen.directive.ts +58 -0
  99. package/projects/doohbot/src/lib/core/directives/fullscreen/fullscreen.module.ts +9 -0
  100. package/projects/doohbot/src/lib/core/directives/popout/popout.directive.ts +169 -0
  101. package/projects/doohbot/src/lib/core/directives/popout/popout.module.ts +9 -0
  102. package/projects/doohbot/src/lib/core/directives/resizable/resizable-dialog.directive.ts +197 -0
  103. package/projects/doohbot/src/lib/core/directives/resizable/resizable-dialog.module.ts +9 -0
  104. package/projects/doohbot/src/lib/core/enums/api-request-state.enum.ts +9 -0
  105. package/projects/doohbot/src/lib/core/environments/environment.prod.ts +14 -0
  106. package/projects/doohbot/src/lib/core/environments/environment.ts +14 -0
  107. package/projects/doohbot/src/lib/core/helpers/crypto-helper.service.ts +72 -0
  108. package/projects/doohbot/src/lib/core/http/http-stream.service.ts +105 -0
  109. package/projects/doohbot/src/lib/core/http/http.service.ts +148 -0
  110. package/projects/doohbot/src/lib/core/interceptors/auth.interceptor.ts +118 -0
  111. package/projects/doohbot/src/lib/core/interceptors/license.interceptor.ts +50 -0
  112. package/projects/doohbot/src/lib/core/models/api-config.model.ts +82 -0
  113. package/projects/doohbot/src/lib/core/models/api-request.model.ts +92 -0
  114. package/projects/doohbot/src/lib/core/models/api-response.model.ts +13 -0
  115. package/projects/doohbot/src/lib/core/models/doohbot-config.model.ts +109 -0
  116. package/{lib/core/models/license.model.d.ts → projects/doohbot/src/lib/core/models/license.model.ts} +27 -23
  117. package/projects/doohbot/src/lib/core/models/message.ts +18 -0
  118. package/projects/doohbot/src/lib/core/models/theme-config.model.ts +48 -0
  119. package/projects/doohbot/src/lib/core/services/core-config.service.ts +53 -0
  120. package/projects/doohbot/src/lib/core/services/doohbot-api.service.ts +207 -0
  121. package/projects/doohbot/src/lib/core/services/license.service.ts +171 -0
  122. package/projects/doohbot/src/lib/core/services/markdown.service.ts +73 -0
  123. package/projects/doohbot/src/lib/core/services/theme.service.ts +305 -0
  124. package/{lib/core/types/auth-mode.type.d.ts → projects/doohbot/src/lib/core/types/auth-mode.type.ts} +4 -4
  125. package/{lib/core/types/auth-status.type.d.ts → projects/doohbot/src/lib/core/types/auth-status.type.ts} +5 -4
  126. package/{lib/core/types/chat-stream.type.d.ts → projects/doohbot/src/lib/core/types/chat-stream.type.ts} +4 -4
  127. package/{lib/core/types/message-role.type.d.ts → projects/doohbot/src/lib/core/types/message-role.type.ts} +4 -4
  128. package/{lib/core/types/prompt-mode.type.d.ts → projects/doohbot/src/lib/core/types/prompt-mode.type.ts} +5 -4
  129. package/{lib/core/types/snackbar-error.type.d.ts → projects/doohbot/src/lib/core/types/snackbar-error.type.ts} +5 -4
  130. package/{lib/core/types/tenant-resolution-strategy.type.d.ts → projects/doohbot/src/lib/core/types/tenant-resolution-strategy.type.ts} +4 -4
  131. package/projects/doohbot/src/lib/core/utils/error-handler.util.ts +31 -0
  132. package/projects/doohbot/src/lib/core/utils/logger.service.ts +45 -0
  133. package/projects/doohbot/src/lib/doohbot-input.ts +19 -0
  134. package/projects/doohbot/src/lib/doohbot.component.html +34 -0
  135. package/projects/doohbot/src/lib/doohbot.component.scss +17 -0
  136. package/projects/doohbot/src/lib/doohbot.component.spec.ts +31 -0
  137. package/projects/doohbot/src/lib/doohbot.component.ts +545 -0
  138. package/projects/doohbot/src/lib/elements.ts +25 -0
  139. package/projects/doohbot/src/lib/predefined_messages.ts +14 -0
  140. package/projects/doohbot/src/lib/shared/chips/chips.component.html +9 -0
  141. package/projects/doohbot/src/lib/shared/chips/chips.component.scss +29 -0
  142. package/projects/doohbot/src/lib/shared/chips/chips.component.spec.ts +22 -0
  143. package/projects/doohbot/src/lib/shared/chips/chips.component.ts +20 -0
  144. package/projects/doohbot/src/lib/shared/dialog/dialog.component.html +29 -0
  145. package/projects/doohbot/src/lib/shared/dialog/dialog.component.scss +100 -0
  146. package/projects/doohbot/src/lib/shared/dialog/dialog.component.ts +42 -0
  147. package/projects/doohbot/src/lib/shared/dialog/dialog.service.ts +62 -0
  148. package/projects/doohbot/src/lib/shared/dialog/dialog.utils.ts +102 -0
  149. package/projects/doohbot/src/lib/shared/dropdown-menu/dropdown-menu.component.html +30 -0
  150. package/projects/doohbot/src/lib/shared/dropdown-menu/dropdown-menu.component.scss +53 -0
  151. package/projects/doohbot/src/lib/shared/dropdown-menu/dropdown-menu.component.spec.ts +22 -0
  152. package/projects/doohbot/src/lib/shared/dropdown-menu/dropdown-menu.component.ts +35 -0
  153. package/projects/doohbot/src/lib/shared/input-dialog/input-dialog.component.html +16 -0
  154. package/projects/doohbot/src/lib/shared/input-dialog/input-dialog.component.scss +45 -0
  155. package/projects/doohbot/src/lib/shared/input-dialog/input-dialog.component.ts +46 -0
  156. package/projects/doohbot/src/lib/shared/menu-item/menu-item.component.html +5 -0
  157. package/projects/doohbot/src/lib/shared/menu-item/menu-item.component.scss +0 -0
  158. package/projects/doohbot/src/lib/shared/menu-item/menu-item.component.spec.ts +22 -0
  159. package/projects/doohbot/src/lib/shared/menu-item/menu-item.component.ts +20 -0
  160. package/projects/doohbot/src/lib/shared/pipes/simple-markdown.pipe.ts +19 -0
  161. package/projects/doohbot/src/lib/shared/popout/popout.html +1 -0
  162. package/projects/doohbot/src/lib/shared/popout/popout.scss +0 -0
  163. package/projects/doohbot/src/lib/shared/popout/popout.spec.ts +23 -0
  164. package/projects/doohbot/src/lib/shared/popout/popout.ts +11 -0
  165. package/projects/doohbot/src/lib/shared/snackbar/snackbar.component.html +7 -0
  166. package/projects/doohbot/src/lib/shared/snackbar/snackbar.component.scss +125 -0
  167. package/projects/doohbot/src/lib/shared/snackbar/snackbar.component.spec.ts +21 -0
  168. package/projects/doohbot/src/lib/shared/snackbar/snackbar.component.ts +44 -0
  169. package/projects/doohbot/src/lib/shared/snackbar/snackbar.service.ts +54 -0
  170. package/{lib/shared/snackbar/snackbar.utils.d.ts → projects/doohbot/src/lib/shared/snackbar/snackbar.utils.ts} +49 -33
  171. package/projects/doohbot/src/lib/styles/_theme.scss +132 -0
  172. package/projects/doohbot/src/lib/styles/material-override.scss +302 -0
  173. package/projects/doohbot/src/lib/styles/utility.scss +588 -0
  174. package/projects/doohbot/src/public-api.ts +42 -0
  175. package/projects/doohbot/tsconfig.lib.json +15 -0
  176. package/projects/doohbot/tsconfig.lib.prod.json +11 -0
  177. package/projects/doohbot/tsconfig.spec.json +10 -0
  178. package/proxy.conf.json +8 -0
  179. package/publish.config.js +25 -0
  180. package/scripts/publishing/index.ts +67 -0
  181. package/scripts/publishing/pipeline/01-clean.ts +11 -0
  182. package/scripts/publishing/pipeline/02-validate-pre.ts +8 -0
  183. package/scripts/publishing/pipeline/03-build.ts +7 -0
  184. package/scripts/publishing/pipeline/04-validate-post.ts +8 -0
  185. package/scripts/publishing/pipeline/05-prepare-package.ts +29 -0
  186. package/scripts/publishing/pipeline/06-version.ts +23 -0
  187. package/scripts/publishing/pipeline/07-publish.ts +14 -0
  188. package/scripts/publishing/pipeline/08-cleanup.ts +5 -0
  189. package/scripts/publishing/types.ts +36 -0
  190. package/scripts/publishing/utils/command.ts +15 -0
  191. package/scripts/publishing/utils/config.ts +17 -0
  192. package/scripts/validate.ts +166 -0
  193. package/tsconfig.json +45 -0
  194. package/tsconfig.scripts.json +15 -0
  195. package/esm2022/aakash58-chatbot.mjs +0 -5
  196. package/esm2022/lib/app/chat/chat-ui-state.service.mjs +0 -170
  197. package/esm2022/lib/app/chat/chat.service.mjs +0 -445
  198. package/esm2022/lib/app/chat/components/chat-button/chat-button.component.mjs +0 -50
  199. package/esm2022/lib/app/chat/components/chat-footer/chat-footer.component.mjs +0 -12
  200. package/esm2022/lib/app/chat/components/chat-header/chat-header.component.mjs +0 -66
  201. package/esm2022/lib/app/chat/components/chat-history-sidebar/chat-history-sidebar.component.mjs +0 -186
  202. package/esm2022/lib/app/chat/components/chat-window/chat-window.component.mjs +0 -312
  203. package/esm2022/lib/app/chat/components/message-input/message-input.component.mjs +0 -36
  204. package/esm2022/lib/app/chat/components/message-list/message-list.component.mjs +0 -115
  205. package/esm2022/lib/app/chat/model/chat-history.model.mjs +0 -2
  206. package/esm2022/lib/app/chat/model/chat-request.model.mjs +0 -2
  207. package/esm2022/lib/app/chat/model/chat-response.model.mjs +0 -2
  208. package/esm2022/lib/app/chat/model/chat-session.model.mjs +0 -2
  209. package/esm2022/lib/app/chat/model/chat-stream-message.model.mjs +0 -2
  210. package/esm2022/lib/app/chat/model/chat-stream-response.model.mjs +0 -2
  211. package/esm2022/lib/app/chat/services/chat-api.service.mjs +0 -61
  212. package/esm2022/lib/app/chat/services/chat-audio.service.mjs +0 -50
  213. package/esm2022/lib/app/chat/services/chat-history.service.mjs +0 -252
  214. package/esm2022/lib/app/login/login-form.component.mjs +0 -46
  215. package/esm2022/lib/app/personalization/personalization-dialog.component.mjs +0 -194
  216. package/esm2022/lib/app/personalization/personalization.service.mjs +0 -149
  217. package/esm2022/lib/app/personalization/sections/account/account-section.component.mjs +0 -122
  218. package/esm2022/lib/app/personalization/sections/preferences/color-picker-dialog.component.mjs +0 -86
  219. package/esm2022/lib/app/personalization/sections/preferences/preferences-section.component.mjs +0 -115
  220. package/esm2022/lib/app/personalization/sections/profile/profile-section.component.mjs +0 -29
  221. package/esm2022/lib/app/personalization/sections/settings/setting-section.component.mjs +0 -30
  222. package/esm2022/lib/app/personalization/sections/terms/terms-section.component.mjs +0 -12
  223. package/esm2022/lib/constant/doohbot-constant.mjs +0 -28
  224. package/esm2022/lib/constant/html-entities.mjs +0 -9
  225. package/esm2022/lib/constant/utf8.mjs +0 -10
  226. package/esm2022/lib/core/app-const.mjs +0 -61
  227. package/esm2022/lib/core/auth/account-api.service.mjs +0 -40
  228. package/esm2022/lib/core/auth/auth.service.mjs +0 -391
  229. package/esm2022/lib/core/auth/models/auth-result.model.mjs +0 -3
  230. package/esm2022/lib/core/auth/models/federated-login-request.model.mjs +0 -6
  231. package/esm2022/lib/core/auth/models/login-request.model.mjs +0 -6
  232. package/esm2022/lib/core/auth/storage.service.mjs +0 -110
  233. package/esm2022/lib/core/directives/draggable/draggable-dialog.directive.mjs +0 -112
  234. package/esm2022/lib/core/directives/fullscreen/fullscreen.directive.mjs +0 -55
  235. package/esm2022/lib/core/directives/resizable/resizable-dialog.directive.mjs +0 -179
  236. package/esm2022/lib/core/environments/environment.mjs +0 -15
  237. package/esm2022/lib/core/environments/environment.prod.mjs +0 -15
  238. package/esm2022/lib/core/helpers/crypto-helper.service.mjs +0 -52
  239. package/esm2022/lib/core/http/http-stream.service.mjs +0 -97
  240. package/esm2022/lib/core/http/http.service.mjs +0 -103
  241. package/esm2022/lib/core/interceptors/auth.interceptor.mjs +0 -96
  242. package/esm2022/lib/core/interceptors/license.interceptor.mjs +0 -44
  243. package/esm2022/lib/core/models/api-config.model.mjs +0 -18
  244. package/esm2022/lib/core/models/api-request.model.mjs +0 -2
  245. package/esm2022/lib/core/models/api-response.model.mjs +0 -8
  246. package/esm2022/lib/core/models/doohbot-config.model.mjs +0 -18
  247. package/esm2022/lib/core/models/license.model.mjs +0 -2
  248. package/esm2022/lib/core/models/message.mjs +0 -2
  249. package/esm2022/lib/core/models/theme-config.model.mjs +0 -2
  250. package/esm2022/lib/core/services/core-config.service.mjs +0 -52
  251. package/esm2022/lib/core/services/license.service.mjs +0 -145
  252. package/esm2022/lib/core/services/markdown.service.mjs +0 -64
  253. package/esm2022/lib/core/services/theme.service.mjs +0 -248
  254. package/esm2022/lib/core/types/auth-mode.type.mjs +0 -2
  255. package/esm2022/lib/core/types/auth-status.type.mjs +0 -5
  256. package/esm2022/lib/core/types/chat-stream.type.mjs +0 -2
  257. package/esm2022/lib/core/types/message-role.type.mjs +0 -2
  258. package/esm2022/lib/core/types/prompt-mode.type.mjs +0 -5
  259. package/esm2022/lib/core/types/snackbar-error.type.mjs +0 -5
  260. package/esm2022/lib/core/types/tenant-resolution-strategy.type.mjs +0 -2
  261. package/esm2022/lib/core/utils/logger.service.mjs +0 -42
  262. package/esm2022/lib/doohbot-input.mjs +0 -20
  263. package/esm2022/lib/doohbot.component.mjs +0 -444
  264. package/esm2022/lib/predefined_messages.mjs +0 -15
  265. package/esm2022/lib/shared/chips/chips.component.mjs +0 -28
  266. package/esm2022/lib/shared/dialog/dialog.component.mjs +0 -36
  267. package/esm2022/lib/shared/dialog/dialog.service.mjs +0 -64
  268. package/esm2022/lib/shared/dialog/dialog.utils.mjs +0 -85
  269. package/esm2022/lib/shared/dropdown-menu/dropdown-menu.component.mjs +0 -29
  270. package/esm2022/lib/shared/input-dialog/input-dialog.component.mjs +0 -38
  271. package/esm2022/lib/shared/menu-item/menu-item.component.mjs +0 -24
  272. package/esm2022/lib/shared/pipes/simple-markdown.pipe.mjs +0 -27
  273. package/esm2022/lib/shared/snackbar/snackbar.component.mjs +0 -43
  274. package/esm2022/lib/shared/snackbar/snackbar.service.mjs +0 -46
  275. package/esm2022/lib/shared/snackbar/snackbar.utils.mjs +0 -43
  276. package/esm2022/public-api.mjs +0 -37
  277. package/fesm2022/aakash58-chatbot.mjs +0 -5193
  278. package/fesm2022/aakash58-chatbot.mjs.map +0 -1
  279. package/index.d.ts +0 -5
  280. package/lib/app/chat/chat-ui-state.service.d.ts +0 -96
  281. package/lib/app/chat/chat.service.d.ts +0 -88
  282. package/lib/app/chat/components/chat-button/chat-button.component.d.ts +0 -16
  283. package/lib/app/chat/components/chat-footer/chat-footer.component.d.ts +0 -5
  284. package/lib/app/chat/components/chat-header/chat-header.component.d.ts +0 -24
  285. package/lib/app/chat/components/chat-history-sidebar/chat-history-sidebar.component.d.ts +0 -49
  286. package/lib/app/chat/components/chat-window/chat-window.component.d.ts +0 -107
  287. package/lib/app/chat/components/message-input/message-input.component.d.ts +0 -12
  288. package/lib/app/chat/components/message-list/message-list.component.d.ts +0 -40
  289. package/lib/app/chat/model/chat-history.model.d.ts +0 -51
  290. package/lib/app/chat/model/chat-request.model.d.ts +0 -10
  291. package/lib/app/chat/model/chat-response.model.d.ts +0 -9
  292. package/lib/app/chat/model/chat-session.model.d.ts +0 -12
  293. package/lib/app/chat/model/chat-stream-response.model.d.ts +0 -10
  294. package/lib/app/chat/services/chat-api.service.d.ts +0 -30
  295. package/lib/app/chat/services/chat-audio.service.d.ts +0 -19
  296. package/lib/app/chat/services/chat-history.service.d.ts +0 -53
  297. package/lib/app/login/login-form.component.d.ts +0 -20
  298. package/lib/app/personalization/personalization-dialog.component.d.ts +0 -53
  299. package/lib/app/personalization/personalization.service.d.ts +0 -66
  300. package/lib/app/personalization/sections/account/account-section.component.d.ts +0 -30
  301. package/lib/app/personalization/sections/preferences/color-picker-dialog.component.d.ts +0 -17
  302. package/lib/app/personalization/sections/preferences/preferences-section.component.d.ts +0 -27
  303. package/lib/app/personalization/sections/profile/profile-section.component.d.ts +0 -17
  304. package/lib/app/personalization/sections/settings/setting-section.component.d.ts +0 -10
  305. package/lib/app/personalization/sections/terms/terms-section.component.d.ts +0 -5
  306. package/lib/constant/doohbot-constant.d.ts +0 -12
  307. package/lib/constant/html-entities.d.ts +0 -8
  308. package/lib/constant/utf8.d.ts +0 -9
  309. package/lib/core/app-const.d.ts +0 -11
  310. package/lib/core/auth/account-api.service.d.ts +0 -20
  311. package/lib/core/auth/auth.service.d.ts +0 -90
  312. package/lib/core/auth/models/auth-result.model.d.ts +0 -4
  313. package/lib/core/auth/models/federated-login-request.model.d.ts +0 -5
  314. package/lib/core/auth/models/login-request.model.d.ts +0 -6
  315. package/lib/core/auth/storage.service.d.ts +0 -21
  316. package/lib/core/directives/draggable/draggable-dialog.directive.d.ts +0 -23
  317. package/lib/core/directives/fullscreen/fullscreen.directive.d.ts +0 -14
  318. package/lib/core/directives/resizable/resizable-dialog.directive.d.ts +0 -30
  319. package/lib/core/environments/environment.d.ts +0 -7
  320. package/lib/core/environments/environment.prod.d.ts +0 -7
  321. package/lib/core/helpers/crypto-helper.service.d.ts +0 -12
  322. package/lib/core/http/http-stream.service.d.ts +0 -18
  323. package/lib/core/http/http.service.d.ts +0 -20
  324. package/lib/core/interceptors/auth.interceptor.d.ts +0 -18
  325. package/lib/core/interceptors/license.interceptor.d.ts +0 -11
  326. package/lib/core/models/api-config.model.d.ts +0 -58
  327. package/lib/core/models/api-request.model.d.ts +0 -77
  328. package/lib/core/models/api-response.model.d.ts +0 -6
  329. package/lib/core/models/doohbot-config.model.d.ts +0 -81
  330. package/lib/core/models/message.d.ts +0 -16
  331. package/lib/core/models/theme-config.model.d.ts +0 -28
  332. package/lib/core/services/core-config.service.d.ts +0 -23
  333. package/lib/core/services/license.service.d.ts +0 -33
  334. package/lib/core/services/markdown.service.d.ts +0 -8
  335. package/lib/core/services/theme.service.d.ts +0 -40
  336. package/lib/core/utils/logger.service.d.ts +0 -11
  337. package/lib/doohbot-input.d.ts +0 -19
  338. package/lib/doohbot.component.d.ts +0 -108
  339. package/lib/predefined_messages.d.ts +0 -2
  340. package/lib/shared/chips/chips.component.d.ts +0 -10
  341. package/lib/shared/dialog/dialog.component.d.ts +0 -19
  342. package/lib/shared/dialog/dialog.service.d.ts +0 -29
  343. package/lib/shared/dialog/dialog.utils.d.ts +0 -41
  344. package/lib/shared/dropdown-menu/dropdown-menu.component.d.ts +0 -11
  345. package/lib/shared/input-dialog/input-dialog.component.d.ts +0 -20
  346. package/lib/shared/menu-item/menu-item.component.d.ts +0 -9
  347. package/lib/shared/pipes/simple-markdown.pipe.d.ts +0 -10
  348. package/lib/shared/snackbar/snackbar.component.d.ts +0 -14
  349. package/lib/shared/snackbar/snackbar.service.d.ts +0 -19
  350. package/public-api.d.ts +0 -11
  351. /package/{src → projects/doohbot/src}/assets/bot.mp3 +0 -0
package/.editorconfig ADDED
@@ -0,0 +1,17 @@
1
+ # Editor configuration, see https://editorconfig.org
2
+ root = true
3
+
4
+ [*]
5
+ charset = utf-8
6
+ indent_style = space
7
+ indent_size = 2
8
+ insert_final_newline = true
9
+ trim_trailing_whitespace = true
10
+
11
+ [*.ts]
12
+ quote_type = single
13
+ ij_typescript_use_double_quotes = false
14
+
15
+ [*.md]
16
+ max_line_length = off
17
+ trim_trailing_whitespace = false
@@ -0,0 +1,4 @@
1
+ {
2
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846
3
+ "recommendations": ["angular.ng-template"]
4
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
3
+ "version": "0.2.0",
4
+ "configurations": [
5
+ {
6
+ "name": "ng serve",
7
+ "type": "chrome",
8
+ "request": "launch",
9
+ "preLaunchTask": "npm: start",
10
+ "url": "http://localhost:4200/",
11
+ "webRoot": "${workspaceFolder}",
12
+ "sourceMaps": true,
13
+ "sourceMapPathOverrides": {
14
+ "webpack:///src/*": "${webRoot}/src/*",
15
+ "webpack:///projects/*": "${webRoot}/projects/*"
16
+ }
17
+ },
18
+ {
19
+ "name": "Run Dev",
20
+ "type": "chrome",
21
+ "request": "launch",
22
+ "preLaunchTask": "npm: dev",
23
+ "url": "http://localhost:4200/",
24
+ "webRoot": "${workspaceFolder}",
25
+ "sourceMaps": true,
26
+ "sourceMapPathOverrides": {
27
+ "webpack:///src/*": "${webRoot}/src/*",
28
+ "webpack:///projects/*": "${webRoot}/projects/*"
29
+ }
30
+ },
31
+
32
+ {
33
+ "name": "ng test",
34
+ "type": "chrome",
35
+ "request": "launch",
36
+ "preLaunchTask": "npm: test",
37
+ "url": "http://localhost:9876/debug.html",
38
+ "webRoot": "${workspaceFolder}"
39
+ }
40
+ ]
41
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "cSpell.words": [
3
+ "adzen",
4
+ "Bottomsheet",
5
+ "conditons",
6
+ "contenteditable",
7
+ "Doohbot",
8
+ "packagr",
9
+ "Pannel",
10
+ "spinbutton",
11
+ "thum"
12
+ ],
13
+ "todo-tree.tree.scanMode": "workspace"
14
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558
3
+ "version": "2.0.0",
4
+ "tasks": [
5
+ {
6
+ "type": "npm",
7
+ "script": "start",
8
+ "isBackground": true,
9
+ "problemMatcher": {
10
+ "owner": "typescript",
11
+ "pattern": "$tsc",
12
+ "background": {
13
+ "activeOnStart": true,
14
+ "beginsPattern": {
15
+ "regexp": "(.*?)"
16
+ },
17
+ "endsPattern": {
18
+ "regexp": "bundle generation complete"
19
+ }
20
+ }
21
+ }
22
+ },
23
+ {
24
+ "type": "npm",
25
+ "script": "dev",
26
+ "isBackground": true,
27
+ "problemMatcher": {
28
+ "owner": "typescript",
29
+ "pattern": "$tsc",
30
+ "background": {
31
+ "activeOnStart": true,
32
+ "beginsPattern": {
33
+ "regexp": "(.*?)"
34
+ },
35
+ "endsPattern": {
36
+ "regexp": "bundle generation complete"
37
+ }
38
+ }
39
+ }
40
+ },
41
+ {
42
+ "type": "npm",
43
+ "script": "test",
44
+ "isBackground": true,
45
+ "problemMatcher": {
46
+ "owner": "typescript",
47
+ "pattern": "$tsc",
48
+ "background": {
49
+ "activeOnStart": true,
50
+ "beginsPattern": {
51
+ "regexp": "(.*?)"
52
+ },
53
+ "endsPattern": {
54
+ "regexp": "bundle generation complete"
55
+ }
56
+ }
57
+ }
58
+ }
59
+ ]
60
+ }
package/README.md CHANGED
@@ -1,6 +1,16 @@
1
- # Doohbot
1
+ # DoohBot
2
2
 
3
- This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.3.0.
3
+ This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.3.7.
4
+
5
+ ## Development server
6
+
7
+ To start a local development server, run:
8
+
9
+ ```bash
10
+ ng serve
11
+ ```
12
+
13
+ Once the server is running, open your browser and navigate to `http://localhost:4200/`. The application will automatically reload whenever you modify any of the source files.
4
14
 
5
15
  ## Code scaffolding
6
16
 
@@ -18,47 +28,313 @@ ng generate --help
18
28
 
19
29
  ## Building
20
30
 
21
- To build the library, run:
31
+ To build the projects, run:
22
32
 
23
33
  ```bash
24
- ng build doohbot
34
+ # Build the application
35
+ ng build
36
+
37
+ # Build the library (doohbot)
38
+ npm run build-lib
25
39
  ```
26
40
 
27
- This command will compile your project, and the build artifacts will be placed in the `dist/` directory.
41
+ This will compile your project and store the build artifacts in the `dist/` directory. By default, the production build optimizes your application for performance and speed.
28
42
 
29
- ### Publishing the Library
43
+ ## Running unit tests
30
44
 
31
- Once the project is built, you can publish your library by following these steps:
45
+ To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:
32
46
 
33
- 1. Navigate to the `dist` directory:
47
+ ```bash
48
+ ng test
49
+ ```
34
50
 
35
- ```bash
36
- cd dist/doohbot
37
- ```
51
+ ## Running end-to-end tests
38
52
 
39
- 2. Run the `npm publish` command to publish your library to the npm registry:
40
- ```bash
41
- npm publish
42
- ```
53
+ Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
43
54
 
44
- ## Running unit tests
55
+ ## Library Publishing
45
56
 
46
- To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:
57
+ This project includes a specialized publishing system to prevent `NG0400` runtime errors (dual Angular runtime conflicts).
58
+
59
+ ### 1. Validate the Package
60
+
61
+ Before publishing, always run validation to ensure the library follows peer dependency rules and doesn't contain platform-creation code.
47
62
 
48
63
  ```bash
49
- ng test
64
+ npm run validate -- doohbot
50
65
  ```
51
66
 
52
- ## Running end-to-end tests
67
+ ### 2. Publish (Dry Run)
53
68
 
54
- For end-to-end (e2e) testing, run:
69
+ Test the entire 8-step publishing pipeline (build, validate, pack) without actually pushing to npm.
55
70
 
56
71
  ```bash
57
- ng e2e
72
+ npm run publish -- doohbot --dry-run
58
73
  ```
59
74
 
60
- Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
75
+ ### 3. Actual Publish
76
+
77
+ Execute the full publishing pipeline. This will build the library in **Ivy Partial Compilation mode**, run all validations, and publish to the registry.
78
+
79
+ ```bash
80
+ # Publish current version
81
+ npm run publish -- doohbot
82
+
83
+ # Auto-increment version and publish
84
+ npm run publish -- doohbot --patch
85
+ npm run publish -- doohbot --minor
86
+ npm run publish -- doohbot --major
87
+ ```
88
+
89
+ > [!TIP]
90
+ > Detailed instructions and troubleshooting can be found in the [Publishing Guide](file:///d:/doohbot-copy/doohbot-ui/docs/PUBLISHING_GUIDE.md).
61
91
 
62
92
  ## Additional Resources
63
93
 
64
94
  For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
95
+
96
+ # DoohBot Project Analysis & Structure
97
+
98
+ ## Overview
99
+
100
+ This project is an Angular workspace designed to build and maintain the `doohbot` conversational UI library. It follows a multi-project workspace structure, separating the core library logic from the wrapper/application layer.
101
+
102
+ ## 📁 Project Structure
103
+
104
+ ```text
105
+ root/
106
+ ├── .vscode/ 🛠️ VS Code settings (launch, tasks)
107
+ ├── projects/
108
+ │ ├── doohbot/ 📦 Core Chatbot UI Library
109
+ │ │ ├── src/
110
+ │ │ │ ├── lib/
111
+ │ │ │ │ ├── components/ 🎨 Feature Components
112
+ │ │ │ │ │ ├── chat-button/ ✨ Floating launcher button
113
+ │ │ │ │ │ ├── chat-history-sidebar/ ✨ Sidebar for past chats
114
+ │ │ │ │ │ ├── chat-window/ ✨ Main chat interface container
115
+ │ │ │ │ │ ├── message-input/ ✨ Input area & send logic
116
+ │ │ │ │ │ └── message-list/ ✨ Scrollable message stream
117
+ │ │ │ │ ├── core/ 🧠 Core Logic & Services
118
+ │ │ │ │ │ ├── helpers/
119
+ │ │ │ │ │ │ └── crypto-helper.service.ts
120
+ │ │ │ │ │ ├── interceptors/
121
+ │ │ │ │ │ │ └── auth.interceptor.ts ✨ Token injection
122
+ │ │ │ │ │ ├── models/ 📋 Interfaces & Types
123
+ │ │ │ │ │ │ ├── api-response.model.ts
124
+ │ │ │ │ │ │ ├── auth-result.model.ts
125
+ │ │ │ │ │ │ ├── login-request.model.ts
126
+ │ │ │ │ │ │ └── user-context.model.ts
127
+ │ │ │ │ │ ├── services/ ⚙️ Singleton Services
128
+ │ │ │ │ │ │ ├── account.service.ts
129
+ │ │ │ │ │ │ ├── auth.service.ts ✨ Authentication mgmt
130
+ │ │ │ │ │ │ ├── chat-facade.service.ts ✨ Main interaction API
131
+ │ │ │ │ │ │ ├── chat-history.service.ts
132
+ │ │ │ │ │ │ ├── chat-ui-state.service.ts ✨ UI visibility state
133
+ │ │ │ │ │ │ ├── doohbot-api.service.ts ✨ Backend API wrapper
134
+ │ │ │ │ │ │ ├── http.service.ts
135
+ │ │ │ │ │ │ ├── storage.service.ts
136
+ │ │ │ │ │ │ ├── tenant-context.service.ts
137
+ │ │ │ │ │ │ └── theme.service.ts ✨ Dynamic theming
138
+ │ │ │ │ │ └── app-const.ts
139
+ │ │ │ │ ├── directives/ 🎮 DOM Behaviors
140
+ │ │ │ │ │ ├── draggable/ ✨ Drag window logic
141
+ │ │ │ │ │ ├── fullscreen/ ✨ Fullscreen toggle
142
+ │ │ │ │ │ ├── popout/ ✨ Popout window logic
143
+ │ │ │ │ │ └── resizable/ ✨ Resize window logic
144
+ │ │ │ │ ├── shared/ 🧩 Reusable UI Elements
145
+ │ │ │ │ │ ├── chips/ ✨ Suggestion chips
146
+ │ │ │ │ │ ├── dialog/ ✨ Modal dialogs
147
+ │ │ │ │ │ ├── dropdown-menu/ ✨ Custom options menu
148
+ │ │ │ │ │ ├── menu-item/
149
+ │ │ │ │ │ ├── popout/ ✨ Popout wrapper component
150
+ │ │ │ │ │ └── snackbar/ ✨ Toast notifications
151
+ │ │ │ │ ├── styles/ 💅 Global Styles
152
+ │ │ │ │ │ ├── _theme.scss ✨ Theming mixins
153
+ │ │ │ │ │ ├── material-override.scss ✨ Material design tweaks
154
+ │ │ │ │ │ ├── utility.scss
155
+ │ │ │ │ │ └── variables.scss
156
+ │ │ │ │ ├── elements/ 🧱 Custom Elements Config
157
+ │ │ │ │ └── model/ 📋 Library-wide Models
158
+ │ │ │ │ └── doohbot-config.model.ts
159
+ │ │ │ └── public-api.ts ✨ Library Entry Point
160
+ │ └── doohbot-element/ 🔧 Wrapper Application
161
+ │ └── src/
162
+ ├── dist/ 📂 Build Artifacts
163
+ ├── docs/ 📚 Project Documentation
164
+ ├── examples/ 💡 Usage Examples
165
+ ├── angular.json ⚙️ Workspace Configuration
166
+ ├── package.json 📦 Dependencies & Scripts
167
+ ├── tsconfig.json ⚙️ TypeScript Config
168
+ └── README.md 📄 Documentation
169
+ ```
170
+
171
+ ---
172
+
173
+ # DoohBot Project Analysis & Structure
174
+
175
+ ## Overview
176
+
177
+ This project is an Angular workspace designed to build and maintain the `doohbot` conversational UI library. It follows a multi-project workspace structure, separating the core library logic from the wrapper/application layer.
178
+
179
+ ## Project Architecture
180
+
181
+ ### Workspace Structure
182
+
183
+ The workspace root contains configuration files that manage the build, linting, and development environment for all projects within the repository.
184
+
185
+ #### Root Configuration Files
186
+
187
+ - **`angular.json`**: The workspace configuration file. Defines the projects (`doohbot`, `doohbot-element`), build architectures, file replacements, and default project settings.
188
+ - **`package.json`**: Lists npm dependencies (Angular, Material, etc.), build scripts, and package metadata.
189
+ - **`tsconfig.json`**: Base TypeScript configuration for the entire workspace.
190
+ - **`.editorconfig`**: Defines consistent coding styles (indentation, charset, etc.) for different IDEs.
191
+ - **`.gitignore`**: Specifies files and directories ignored by Git.
192
+
193
+ #### Root Directories
194
+
195
+ - **`projects/`**: The core directory containing the source code for the library and applications.
196
+ - **`doohbot/`**: The main Angular Library project.
197
+ - **`doohbot-element/`**: The wrapper application project.
198
+ - **`.vscode/`**: VS Code specific settings.
199
+ - `launch.json`: Debugging configurations.
200
+ - `tasks.json`: Task definitions (e.g., build commands).
201
+ - `extensions.json`: Recommended extensions for this workspace.
202
+ - **`dist/`**: The output directory where build artifacts (compiled code) are generated.
203
+ - **`docs/`**: Documentation files for the project.
204
+ - **`examples/`**: Contains example implementations or usage scenarios.
205
+
206
+ ### 1. DoohBot Library (`projects/doohbot`)
207
+
208
+ This is the heart of the repository. It contains the reusable Angular components, services, and directives that make up the chat interface.
209
+
210
+ The following is a detailed breakdown of every file in the library:
211
+
212
+ #### Component Layer (`src/lib/components`)
213
+
214
+ High-level structural components that compose the chat application.
215
+
216
+ - **chat-window/**: The main container for the chat interface.
217
+ - `chat-window.component.ts`: Logic for window state (open/close, minimize), layout, and event handling.
218
+ - `chat-window.component.html`: Template structure for the chat window.
219
+ - `chat-window.component.scss`: Styles for the chat window container.
220
+ - **message-list/**: Renders the scrollable list of chat messages.
221
+ - `message-list.component.ts`: Handles rendering messages, auto-scrolling, and message grouping.
222
+ - `message-list.component.html`: Template loop for displaying messages.
223
+ - `message-list.component.scss`: Styles for the message container and bubbles.
224
+ - **message-input/**: The area where users type and send messages.
225
+ - `message-input.component.ts`: Logic for text input, auto-resizing textarea, and send actions.
226
+ - `message-input.component.html`: Template for the input field and send button.
227
+ - `message-input.component.scss`: Styles for the input area.
228
+ - `messaging.service.ts`: Local service for message input state or helper logic.
229
+ - **chat-history-sidebar/**: Sidebar displaying a list of previous chat sessions.
230
+ - `chat-history-sidebar.component.ts`: Logic for fetching and displaying history items.
231
+ - `chat-history-sidebar.component.html`: Template for the sidebar list.
232
+ - `chat-history-sidebar.component.scss`: Styles for the sidebar and history items.
233
+ - **chat-button/**: The floating action button (FAB) to toggle the chat.
234
+ - `chat-button.component.ts`: Logic for the floating launcher button.
235
+ - `chat-button.component.html`: Template for the button icon.
236
+ - `chat-button.component.scss`: Styles for positioning and animating the button.
237
+
238
+ #### Core Layer (`src/lib/core`)
239
+
240
+ Singleton services and core business logic.
241
+
242
+ - **services/**:
243
+ - `auth.service.ts`: Manages user authentication, login/logout, and token storage.
244
+ - `chat-facade.service.ts`: The primary API for components to interact with chat logic (Facade pattern).
245
+ - `chat-history.service.ts`: Handles API calls to fetch/store chat history.
246
+ - `chat-ui-state.service.ts`: Manages UI state (open, closed, loading) across components.
247
+ - `doohbot-api.service.ts`: Low-level wrapper for backend API endpoints.
248
+ - `http.service.ts`: Custom wrapper around HttpClient for standardized requests/error handling.
249
+ - `storage.service.ts`: Wrapper for LocalStorage/SessionStorage interactions.
250
+ - `tenant-context.service.ts`: Manages tenant-specific configuration and context.
251
+ - `theme.service.ts`: Dynamically applies themes by manipulating CSS variables.
252
+ - `account.service.ts`: logic related to user account management.
253
+ - **models/**:
254
+ - `api-response.model.ts`: Interface for standard API response structure.
255
+ - `auth-result.model.ts`: Interface for authentication results.
256
+ - `login-request.model.ts`: Interface for login payloads.
257
+ - `user-context.model.ts`: Interface for user session data.
258
+ - **interceptors/**:
259
+ - `auth.interceptor.ts`: HTTP interceptor to inject Auth tokens into requests.
260
+ - **helpers/**:
261
+ - `crypto-helper.service.ts`: Utilities for encryption/decryption (if used).
262
+ - **roots**:
263
+ - `app-const.ts`: Application-wide constants.
264
+
265
+ #### Shared Layer (`src/lib/shared`)
266
+
267
+ Reusable UI components used within the larger feature components.
268
+
269
+ - **chips/**:
270
+ - `chips.component.ts/html/scss`: Renders clickable suggestion chips.
271
+ - **dialog/**:
272
+ - `dialog.component.ts/html/scss`: A reusable modal/dialog component.
273
+ - `dialog.service.ts`: Service to dynamically open dialogs.
274
+ - **dropdown-menu/**:
275
+ - `dropdown-menu.component.ts/html/scss`: A custom dropdown menu UI.
276
+ - **menu-item/**:
277
+ - `menu-item.component.ts/html/scss`: Individual items within a menu.
278
+ - **snackbar/**:
279
+ - `snackbar.component.ts/html/scss`: Toast notification component.
280
+ - **popout/**:
281
+ - `popout.ts/html/scss`: Component wrapper for popped-out windows.
282
+
283
+ #### Directives (`src/lib/directives`)
284
+
285
+ Custom behaviors applied to DOM elements.
286
+
287
+ - **draggable/**:
288
+ - `draggable-dialog.directive.ts`: Makes the chat window draggable.
289
+ - `draggable-dialog.module.ts`: Module declaring the directive.
290
+ - **resizable/**:
291
+ - `resizable-dialog.directive.ts`: Allows resizing the chat window.
292
+ - `resizable-dialog.module.ts`: Module declaring the directive.
293
+ - **fullscreen/**:
294
+ - `fullscreen.directive.ts`: Toggles fullscreen mode for an element.
295
+ - `fullscreen.module.ts`: Module declaring the directive.
296
+ - **popout/**:
297
+ - `popout.directive.ts`: Handles the logic for detecting popout actions.
298
+ - `popout.module.ts`: Module declaring the directive.
299
+
300
+ #### Models (`src/lib/model`)
301
+
302
+ TypeScript interfaces and types.
303
+
304
+ - `doohbot-config.model.ts`: Configuration interface for the library.
305
+ - `api-config.model.ts`: Configuration for API endpoints.
306
+ - `chat-session.model.ts`: Model for a chat session.
307
+ - `message.ts`: Model for a single chat message.
308
+ - `doohbot.intents.ts`: Enum or types for chatbot intents.
309
+ - `theme-config.model.ts`: Interface for theming options.
310
+ - `token.ts`: Interface for auth tokens.
311
+ - `tenant-config.model.ts`: Interface for tenant settings.
312
+
313
+ #### Styles (`src/lib/styles`)
314
+
315
+ Global styles and variables.
316
+
317
+ - `variables.scss`: SCSS variables for colors, spacing, etc.
318
+ - `_theme.scss`: Mixins and logic for generating themes.
319
+ - `utility.scss`: General utility classes.
320
+ - `material-override.scss`: Overrides for Angular Material styles.
321
+
322
+ #### Elements (`src/lib/elements`)
323
+
324
+ - `elements.ts`: Logic/definitions for Custom Elements.
325
+
326
+ #### Inputs (`src/lib/inputs`)
327
+
328
+ - `doohbot-input.ts`: Input definitions or configurations.
329
+
330
+ #### Constants (`src/lib/constant`)
331
+
332
+ - `app-constants.ts`: Global application constants.
333
+ - `constant.ts`: General constants.
334
+ - `utf8.ts`: UTF8 encoding/decoding utilities or constants.
335
+
336
+ ### 2. DoohBot Element (`projects/doohbot-element`)
337
+
338
+ This project serves as a wrapper to package the `doohbot` library as a standalone Web Component (Angular Element), enabling integration into non-Angular environments.
339
+
340
+ ---
package/angular.json ADDED
@@ -0,0 +1,132 @@
1
+ {
2
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3
+ "version": 1,
4
+ "newProjectRoot": "projects",
5
+ "projects": {
6
+ "doohbot": {
7
+ "projectType": "library",
8
+ "root": "projects/doohbot",
9
+ "sourceRoot": "projects/doohbot/src",
10
+ "prefix": "lib",
11
+ "architect": {
12
+ "build": {
13
+ "builder": "@angular-devkit/build-angular:ng-packagr",
14
+ "options": {
15
+ "project": "projects/doohbot/ng-package.json"
16
+ },
17
+ "configurations": {
18
+ "production": {
19
+ "tsConfig": "projects/doohbot/tsconfig.lib.prod.json"
20
+ },
21
+ "development": {
22
+ "tsConfig": "projects/doohbot/tsconfig.lib.json"
23
+ }
24
+ },
25
+ "defaultConfiguration": "production"
26
+ },
27
+ "test": {
28
+ "builder": "@angular-devkit/build-angular:karma",
29
+ "options": {
30
+ "tsConfig": "projects/doohbot/tsconfig.spec.json"
31
+ }
32
+ }
33
+ }
34
+ },
35
+ "app-doohbot": {
36
+ "projectType": "application",
37
+ "schematics": {
38
+ "@schematics/angular:component": {
39
+ "style": "scss"
40
+ }
41
+ },
42
+ "root": "projects/app-doohbot",
43
+ "sourceRoot": "projects/app-doohbot/src",
44
+ "prefix": "app",
45
+ "architect": {
46
+ "build": {
47
+ "builder": "@angular-devkit/build-angular:application",
48
+ "options": {
49
+ "outputPath": "dist/app-doohbot",
50
+ "index": "projects/app-doohbot/src/index.html",
51
+ "browser": "projects/app-doohbot/src/main.ts",
52
+ "polyfills": ["zone.js"],
53
+ "tsConfig": "projects/app-doohbot/tsconfig.app.json",
54
+ "inlineStyleLanguage": "scss",
55
+ "assets": [
56
+ {
57
+ "glob": "**/*",
58
+ "input": "projects/app-doohbot/public",
59
+ "output": "/"
60
+ },
61
+ {
62
+ "glob": "**/*",
63
+ "input": "projects/doohbot/src/assets",
64
+ "output": "/assets"
65
+ }
66
+ ],
67
+ "styles": ["projects/app-doohbot/src/styles.scss"]
68
+ },
69
+ "configurations": {
70
+ "production": {
71
+ "budgets": [
72
+ {
73
+ "type": "initial",
74
+ "maximumWarning": "500kB",
75
+ "maximumError": "1MB"
76
+ },
77
+ {
78
+ "type": "anyComponentStyle",
79
+ "maximumWarning": "4kB",
80
+ "maximumError": "8kB"
81
+ }
82
+ ],
83
+ "outputHashing": "all"
84
+ },
85
+ "development": {
86
+ "optimization": false,
87
+ "extractLicenses": false,
88
+ "sourceMap": true
89
+ }
90
+ },
91
+ "defaultConfiguration": "production"
92
+ },
93
+ "serve": {
94
+ "builder": "@angular-devkit/build-angular:dev-server",
95
+ "options": {
96
+ "proxyConfig": "proxy.conf.json"
97
+ },
98
+ "configurations": {
99
+ "production": {
100
+ "buildTarget": "app-doohbot:build:production"
101
+ },
102
+ "development": {
103
+ "buildTarget": "app-doohbot:build:development"
104
+ }
105
+ },
106
+ "defaultConfiguration": "development"
107
+ },
108
+ "extract-i18n": {
109
+ "builder": "@angular-devkit/build-angular:extract-i18n"
110
+ },
111
+ "test": {
112
+ "builder": "@angular-devkit/build-angular:karma",
113
+ "options": {
114
+ "polyfills": ["zone.js", "zone.js/testing"],
115
+ "tsConfig": "projects/app-doohbot/tsconfig.spec.json",
116
+ "inlineStyleLanguage": "scss",
117
+ "assets": [
118
+ {
119
+ "glob": "**/*",
120
+ "input": "projects/app-doohbot/public"
121
+ }
122
+ ],
123
+ "styles": ["projects/app-doohbot/src/styles.scss"]
124
+ }
125
+ }
126
+ }
127
+ }
128
+ },
129
+ "cli": {
130
+ "analytics": false
131
+ }
132
+ }