@magmamath/students-features 0.4.4 → 0.5.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (801) hide show
  1. package/dist/commonjs/features/chatbot/components/Alternatives/Alternatives.js +2 -1
  2. package/dist/commonjs/features/chatbot/components/Alternatives/Alternatives.js.map +1 -1
  3. package/dist/commonjs/features/chatbot/components/ChatMessage/ChatMessage.js.map +1 -1
  4. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageButtonsBlock.js +41 -0
  5. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageButtonsBlock.js.map +1 -0
  6. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.js +22 -19
  7. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.js.map +1 -1
  8. package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js +32 -32
  9. package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -1
  10. package/dist/commonjs/features/chatbot/components/ChatMessage/SentMessage.js +11 -13
  11. package/dist/commonjs/features/chatbot/components/ChatMessage/SentMessage.js.map +1 -1
  12. package/dist/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.js +8 -28
  13. package/dist/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.js.map +1 -1
  14. package/dist/commonjs/features/chatbot/components/Chatbot.js +5 -7
  15. package/dist/commonjs/features/chatbot/components/Chatbot.js.map +1 -1
  16. package/dist/commonjs/features/chatbot/context/ChatBotModelContext.js +17 -0
  17. package/dist/commonjs/features/chatbot/context/ChatBotModelContext.js.map +1 -0
  18. package/dist/commonjs/features/chatbot/errorSpotting/ErrorSpottingButton.js +51 -0
  19. package/dist/commonjs/features/chatbot/errorSpotting/ErrorSpottingButton.js.map +1 -0
  20. package/dist/commonjs/features/chatbot/errorSpotting/ErrorSpottingModel.js +116 -0
  21. package/dist/commonjs/features/chatbot/errorSpotting/ErrorSpottingModel.js.map +1 -0
  22. package/dist/commonjs/features/chatbot/index.js +0 -7
  23. package/dist/commonjs/features/chatbot/index.js.map +1 -1
  24. package/dist/commonjs/features/chatbot/model/ChatBotModel.js +145 -121
  25. package/dist/commonjs/features/chatbot/model/ChatBotModel.js.map +1 -1
  26. package/dist/commonjs/features/chatbot/model/{ChatBotMessageHandler.js → ChatBotThreadManager.js} +44 -22
  27. package/dist/commonjs/features/chatbot/model/ChatBotThreadManager.js.map +1 -0
  28. package/dist/commonjs/features/chatbot/model/ChatBoxTextManager.js +22 -0
  29. package/dist/commonjs/features/chatbot/model/ChatBoxTextManager.js.map +1 -0
  30. package/dist/commonjs/features/chatbot/model/{api.js → ChatbotApi.js} +16 -1
  31. package/dist/commonjs/features/chatbot/model/ChatbotApi.js.map +1 -0
  32. package/dist/commonjs/features/chatbot/model/ChatsCacheModel.js +110 -0
  33. package/dist/commonjs/features/chatbot/model/ChatsCacheModel.js.map +1 -0
  34. package/dist/commonjs/features/chatbot/model/DefaultMessageCreator.js +12 -12
  35. package/dist/commonjs/features/chatbot/model/DefaultMessageCreator.js.map +1 -1
  36. package/dist/commonjs/features/chatbot/model/ThreadItem.js +16 -8
  37. package/dist/commonjs/features/chatbot/model/ThreadItem.js.map +1 -1
  38. package/dist/commonjs/features/chatbot/model/constants.js.map +1 -1
  39. package/dist/commonjs/features/chatbot/model/messagesHelper.js +7 -7
  40. package/dist/commonjs/features/chatbot/model/messagesHelper.js.map +1 -1
  41. package/dist/commonjs/features/chatbot/model/t2s.js +18 -13
  42. package/dist/commonjs/features/chatbot/model/t2s.js.map +1 -1
  43. package/dist/commonjs/features/chatbot/model/translation.helpers.js.map +1 -1
  44. package/dist/commonjs/features/chatbot/model/translation.js +54 -45
  45. package/dist/commonjs/features/chatbot/model/translation.js.map +1 -1
  46. package/dist/commonjs/features/chatbot/types/api.types.js +4 -0
  47. package/dist/commonjs/features/chatbot/types/model.types.js.map +1 -1
  48. package/dist/commonjs/features/chatbot/types/units.types.js +2 -0
  49. package/dist/commonjs/features/chatbot/types/units.types.js.map +1 -0
  50. package/dist/commonjs/index.js +0 -24
  51. package/dist/commonjs/index.js.map +1 -1
  52. package/dist/commonjs/lib/effector/createEntityFieldStore.js +4 -0
  53. package/dist/commonjs/lib/effector/createEntityFieldStore.js.map +1 -1
  54. package/dist/commonjs/lib/effector/withEvent.js +13 -0
  55. package/dist/commonjs/lib/effector/withEvent.js.map +1 -0
  56. package/dist/commonjs/lib/helpers/helpers.js +1 -3
  57. package/dist/commonjs/lib/helpers/helpers.js.map +1 -1
  58. package/dist/commonjs/lib/helpers/randomElements.js +24 -0
  59. package/dist/commonjs/lib/helpers/randomElements.js.map +1 -0
  60. package/dist/commonjs/lib/localization/en.json +7 -1
  61. package/dist/commonjs/lib/localization/gb.json +7 -1
  62. package/dist/commonjs/lib/localization/sw.json +7 -1
  63. package/dist/commonjs/lib/types/keys.js +2 -0
  64. package/dist/commonjs/lib/types/keys.js.map +1 -0
  65. package/dist/commonjs/shared/icons/HighlighterIcon.js +36 -0
  66. package/dist/commonjs/shared/icons/HighlighterIcon.js.map +1 -0
  67. package/dist/commonjs/shared/icons/{Valentine.js → StopIcon.js} +12 -9
  68. package/dist/commonjs/shared/icons/StopIcon.js.map +1 -0
  69. package/dist/commonjs/shared/icons/icon.types.js +4 -0
  70. package/dist/commonjs/shared/translation/helpers.js +22 -6
  71. package/dist/commonjs/shared/translation/helpers.js.map +1 -1
  72. package/dist/commonjs/shared/translation/hooks.js +3 -5
  73. package/dist/commonjs/shared/translation/hooks.js.map +1 -1
  74. package/dist/commonjs/shared/translation/model.js +1 -1
  75. package/dist/commonjs/shared/translation/model.js.map +1 -1
  76. package/dist/commonjs/shared/translation/types.js +1 -1
  77. package/dist/commonjs/shared/translation/types.js.map +1 -1
  78. package/dist/commonjs/shared/translation/validation.types.js +6 -0
  79. package/dist/commonjs/shared/translation/validation.types.js.map +1 -0
  80. package/dist/module/features/chatbot/components/Alternatives/Alternatives.js +2 -1
  81. package/dist/module/features/chatbot/components/Alternatives/Alternatives.js.map +1 -1
  82. package/dist/module/features/chatbot/components/ChatMessage/ChatMessage.js.map +1 -1
  83. package/dist/module/features/chatbot/components/ChatMessage/MessageButtonsBlock.js +35 -0
  84. package/dist/module/features/chatbot/components/ChatMessage/MessageButtonsBlock.js.map +1 -0
  85. package/dist/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.js +23 -20
  86. package/dist/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.js.map +1 -1
  87. package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js +32 -32
  88. package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -1
  89. package/dist/module/features/chatbot/components/ChatMessage/SentMessage.js +11 -13
  90. package/dist/module/features/chatbot/components/ChatMessage/SentMessage.js.map +1 -1
  91. package/dist/module/features/chatbot/components/ChatMessages/ChatbotMessages.js +8 -28
  92. package/dist/module/features/chatbot/components/ChatMessages/ChatbotMessages.js.map +1 -1
  93. package/dist/module/features/chatbot/components/Chatbot.js +6 -8
  94. package/dist/module/features/chatbot/components/Chatbot.js.map +1 -1
  95. package/dist/module/features/chatbot/context/ChatBotModelContext.js +12 -0
  96. package/dist/module/features/chatbot/context/ChatBotModelContext.js.map +1 -0
  97. package/dist/module/features/chatbot/errorSpotting/ErrorSpottingButton.js +45 -0
  98. package/dist/module/features/chatbot/errorSpotting/ErrorSpottingButton.js.map +1 -0
  99. package/dist/module/features/chatbot/errorSpotting/ErrorSpottingModel.js +111 -0
  100. package/dist/module/features/chatbot/errorSpotting/ErrorSpottingModel.js.map +1 -0
  101. package/dist/module/features/chatbot/index.js +0 -1
  102. package/dist/module/features/chatbot/index.js.map +1 -1
  103. package/dist/module/features/chatbot/model/ChatBotModel.js +147 -123
  104. package/dist/module/features/chatbot/model/ChatBotModel.js.map +1 -1
  105. package/dist/module/features/chatbot/model/{ChatBotMessageHandler.js → ChatBotThreadManager.js} +42 -20
  106. package/dist/module/features/chatbot/model/ChatBotThreadManager.js.map +1 -0
  107. package/dist/module/features/chatbot/model/ChatBoxTextManager.js +17 -0
  108. package/dist/module/features/chatbot/model/ChatBoxTextManager.js.map +1 -0
  109. package/dist/module/features/chatbot/model/{api.js → ChatbotApi.js} +16 -1
  110. package/dist/module/features/chatbot/model/ChatbotApi.js.map +1 -0
  111. package/dist/module/features/chatbot/model/ChatsCacheModel.js +104 -0
  112. package/dist/module/features/chatbot/model/ChatsCacheModel.js.map +1 -0
  113. package/dist/module/features/chatbot/model/DefaultMessageCreator.js +12 -12
  114. package/dist/module/features/chatbot/model/DefaultMessageCreator.js.map +1 -1
  115. package/dist/module/features/chatbot/model/ThreadItem.js +16 -8
  116. package/dist/module/features/chatbot/model/ThreadItem.js.map +1 -1
  117. package/dist/module/features/chatbot/model/constants.js.map +1 -1
  118. package/dist/module/features/chatbot/model/messagesHelper.js +7 -7
  119. package/dist/module/features/chatbot/model/messagesHelper.js.map +1 -1
  120. package/dist/module/features/chatbot/model/t2s.js +19 -14
  121. package/dist/module/features/chatbot/model/t2s.js.map +1 -1
  122. package/dist/module/features/chatbot/model/translation.helpers.js.map +1 -1
  123. package/dist/module/features/chatbot/model/translation.js +54 -45
  124. package/dist/module/features/chatbot/model/translation.js.map +1 -1
  125. package/dist/module/features/chatbot/types/api.types.js +2 -0
  126. package/dist/module/features/chatbot/types/model.types.js.map +1 -1
  127. package/dist/module/features/chatbot/types/units.types.js +2 -0
  128. package/dist/module/features/chatbot/types/units.types.js.map +1 -0
  129. package/dist/module/index.js +0 -2
  130. package/dist/module/index.js.map +1 -1
  131. package/dist/module/lib/effector/createEntityFieldStore.js +4 -0
  132. package/dist/module/lib/effector/createEntityFieldStore.js.map +1 -1
  133. package/dist/module/lib/effector/withEvent.js +9 -0
  134. package/dist/module/lib/effector/withEvent.js.map +1 -0
  135. package/dist/module/lib/helpers/helpers.js +0 -1
  136. package/dist/module/lib/helpers/helpers.js.map +1 -1
  137. package/dist/module/lib/helpers/randomElements.js +20 -0
  138. package/dist/module/lib/helpers/randomElements.js.map +1 -0
  139. package/dist/module/lib/localization/en.json +7 -1
  140. package/dist/module/lib/localization/gb.json +7 -1
  141. package/dist/module/lib/localization/sw.json +7 -1
  142. package/dist/module/lib/types/keys.js +2 -0
  143. package/dist/module/lib/types/keys.js.map +1 -0
  144. package/dist/module/shared/icons/HighlighterIcon.js +29 -0
  145. package/dist/module/shared/icons/HighlighterIcon.js.map +1 -0
  146. package/dist/module/shared/icons/StopIcon.js +26 -0
  147. package/dist/module/shared/icons/StopIcon.js.map +1 -0
  148. package/dist/module/shared/icons/icon.types.js +2 -0
  149. package/dist/module/shared/translation/helpers.js +19 -5
  150. package/dist/module/shared/translation/helpers.js.map +1 -1
  151. package/dist/module/shared/translation/hooks.js +4 -6
  152. package/dist/module/shared/translation/hooks.js.map +1 -1
  153. package/dist/module/shared/translation/model.js +1 -1
  154. package/dist/module/shared/translation/model.js.map +1 -1
  155. package/dist/module/shared/translation/types.js +2 -0
  156. package/dist/module/shared/translation/types.js.map +1 -1
  157. package/dist/module/shared/translation/validation.types.js +4 -0
  158. package/dist/module/shared/translation/validation.types.js.map +1 -0
  159. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/Alternatives.d.ts +1 -3
  160. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/Alternatives.d.ts.map +1 -1
  161. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ChatMessage.d.ts +5 -5
  162. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ChatMessage.d.ts.map +1 -1
  163. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageButtonsBlock.d.ts +11 -0
  164. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageButtonsBlock.d.ts.map +1 -0
  165. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts +7 -3
  166. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts.map +1 -1
  167. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts +1 -1
  168. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -1
  169. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/SentMessage.d.ts +1 -1
  170. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/SentMessage.d.ts.map +1 -1
  171. package/dist/typescript/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts +2 -10
  172. package/dist/typescript/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts.map +1 -1
  173. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts +2 -5
  174. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts.map +1 -1
  175. package/dist/typescript/commonjs/features/chatbot/context/ChatBotModelContext.d.ts +4 -0
  176. package/dist/typescript/commonjs/features/chatbot/context/ChatBotModelContext.d.ts.map +1 -0
  177. package/dist/typescript/commonjs/features/chatbot/errorSpotting/ErrorSpottingButton.d.ts +7 -0
  178. package/dist/typescript/commonjs/features/chatbot/errorSpotting/ErrorSpottingButton.d.ts.map +1 -0
  179. package/dist/typescript/commonjs/features/chatbot/errorSpotting/ErrorSpottingModel.d.ts +30 -0
  180. package/dist/typescript/commonjs/features/chatbot/errorSpotting/ErrorSpottingModel.d.ts.map +1 -0
  181. package/dist/typescript/commonjs/features/chatbot/index.d.ts +4 -3
  182. package/dist/typescript/commonjs/features/chatbot/index.d.ts.map +1 -1
  183. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts +24 -18
  184. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  185. package/dist/typescript/commonjs/features/chatbot/model/ChatBotThreadManager.d.ts +33 -0
  186. package/dist/typescript/commonjs/features/chatbot/model/ChatBotThreadManager.d.ts.map +1 -0
  187. package/dist/typescript/commonjs/features/chatbot/model/ChatBoxTextManager.d.ts +6 -0
  188. package/dist/typescript/commonjs/features/chatbot/model/ChatBoxTextManager.d.ts.map +1 -0
  189. package/dist/typescript/commonjs/features/chatbot/model/{api.d.ts → ChatbotApi.d.ts} +4 -3
  190. package/dist/typescript/commonjs/features/chatbot/model/ChatbotApi.d.ts.map +1 -0
  191. package/dist/typescript/commonjs/features/chatbot/model/ChatsCacheModel.d.ts +27 -0
  192. package/dist/typescript/commonjs/features/chatbot/model/ChatsCacheModel.d.ts.map +1 -0
  193. package/dist/typescript/commonjs/features/chatbot/model/DefaultMessageCreator.d.ts +5 -3
  194. package/dist/typescript/commonjs/features/chatbot/model/DefaultMessageCreator.d.ts.map +1 -1
  195. package/dist/typescript/commonjs/features/chatbot/model/ThreadItem.d.ts +13 -7
  196. package/dist/typescript/commonjs/features/chatbot/model/ThreadItem.d.ts.map +1 -1
  197. package/dist/typescript/commonjs/features/chatbot/model/constants.d.ts.map +1 -1
  198. package/dist/typescript/commonjs/features/chatbot/model/messagesHelper.d.ts +7 -5
  199. package/dist/typescript/commonjs/features/chatbot/model/messagesHelper.d.ts.map +1 -1
  200. package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts +16 -6
  201. package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts.map +1 -1
  202. package/dist/typescript/commonjs/features/chatbot/model/translation.d.ts +7 -8
  203. package/dist/typescript/commonjs/features/chatbot/model/translation.d.ts.map +1 -1
  204. package/dist/typescript/commonjs/features/chatbot/model/translation.helpers.d.ts +2 -1
  205. package/dist/typescript/commonjs/features/chatbot/model/translation.helpers.d.ts.map +1 -1
  206. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts +2 -11
  207. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts.map +1 -1
  208. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts +25 -24
  209. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts.map +1 -1
  210. package/dist/typescript/commonjs/features/chatbot/types/t2s.types.d.ts +2 -7
  211. package/dist/typescript/commonjs/features/chatbot/types/t2s.types.d.ts.map +1 -1
  212. package/dist/typescript/commonjs/features/chatbot/types/translation.types.d.ts +2 -1
  213. package/dist/typescript/commonjs/features/chatbot/types/translation.types.d.ts.map +1 -1
  214. package/dist/typescript/commonjs/features/chatbot/types/units.types.d.ts +34 -0
  215. package/dist/typescript/commonjs/features/chatbot/types/units.types.d.ts.map +1 -0
  216. package/dist/typescript/commonjs/index.d.ts +0 -3
  217. package/dist/typescript/commonjs/index.d.ts.map +1 -1
  218. package/dist/typescript/commonjs/lib/effector/createEntityFieldStore.d.ts +2 -0
  219. package/dist/typescript/commonjs/lib/effector/createEntityFieldStore.d.ts.map +1 -1
  220. package/dist/typescript/commonjs/lib/effector/withEvent.d.ts +2 -0
  221. package/dist/typescript/commonjs/lib/effector/withEvent.d.ts.map +1 -0
  222. package/dist/typescript/commonjs/lib/helpers/helpers.d.ts +0 -1
  223. package/dist/typescript/commonjs/lib/helpers/helpers.d.ts.map +1 -1
  224. package/dist/typescript/commonjs/lib/helpers/randomElements.d.ts +2 -0
  225. package/dist/typescript/commonjs/lib/helpers/randomElements.d.ts.map +1 -0
  226. package/dist/typescript/commonjs/lib/types/keys.d.ts +8 -0
  227. package/dist/typescript/commonjs/lib/types/keys.d.ts.map +1 -0
  228. package/dist/typescript/commonjs/shared/icons/HighlighterIcon.d.ts +4 -0
  229. package/dist/typescript/commonjs/shared/icons/HighlighterIcon.d.ts.map +1 -0
  230. package/dist/typescript/commonjs/shared/icons/StopIcon.d.ts +4 -0
  231. package/dist/typescript/commonjs/shared/icons/StopIcon.d.ts.map +1 -0
  232. package/dist/typescript/commonjs/shared/icons/icon.types.d.ts +2 -0
  233. package/dist/typescript/commonjs/shared/icons/icon.types.d.ts.map +1 -1
  234. package/dist/typescript/commonjs/shared/translation/constants.d.ts +18 -0
  235. package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
  236. package/dist/typescript/commonjs/shared/translation/helpers.d.ts +3 -2
  237. package/dist/typescript/commonjs/shared/translation/helpers.d.ts.map +1 -1
  238. package/dist/typescript/commonjs/shared/translation/hooks.d.ts +2 -2
  239. package/dist/typescript/commonjs/shared/translation/hooks.d.ts.map +1 -1
  240. package/dist/typescript/commonjs/shared/translation/index.d.ts +0 -1
  241. package/dist/typescript/commonjs/shared/translation/index.d.ts.map +1 -1
  242. package/dist/typescript/commonjs/shared/translation/model.d.ts +41 -3
  243. package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
  244. package/dist/typescript/commonjs/shared/translation/types.d.ts +3 -3
  245. package/dist/typescript/commonjs/shared/translation/types.d.ts.map +1 -1
  246. package/dist/typescript/commonjs/shared/translation/validation.types.d.ts +17 -0
  247. package/dist/typescript/commonjs/shared/translation/validation.types.d.ts.map +1 -0
  248. package/dist/typescript/module/features/chatbot/components/Alternatives/Alternatives.d.ts +1 -3
  249. package/dist/typescript/module/features/chatbot/components/Alternatives/Alternatives.d.ts.map +1 -1
  250. package/dist/typescript/module/features/chatbot/components/ChatMessage/ChatMessage.d.ts +5 -5
  251. package/dist/typescript/module/features/chatbot/components/ChatMessage/ChatMessage.d.ts.map +1 -1
  252. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageButtonsBlock.d.ts +11 -0
  253. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageButtonsBlock.d.ts.map +1 -0
  254. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts +7 -3
  255. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts.map +1 -1
  256. package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts +1 -1
  257. package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -1
  258. package/dist/typescript/module/features/chatbot/components/ChatMessage/SentMessage.d.ts +1 -1
  259. package/dist/typescript/module/features/chatbot/components/ChatMessage/SentMessage.d.ts.map +1 -1
  260. package/dist/typescript/module/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts +2 -10
  261. package/dist/typescript/module/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts.map +1 -1
  262. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts +2 -5
  263. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts.map +1 -1
  264. package/dist/typescript/module/features/chatbot/context/ChatBotModelContext.d.ts +4 -0
  265. package/dist/typescript/module/features/chatbot/context/ChatBotModelContext.d.ts.map +1 -0
  266. package/dist/typescript/module/features/chatbot/errorSpotting/ErrorSpottingButton.d.ts +7 -0
  267. package/dist/typescript/module/features/chatbot/errorSpotting/ErrorSpottingButton.d.ts.map +1 -0
  268. package/dist/typescript/module/features/chatbot/errorSpotting/ErrorSpottingModel.d.ts +30 -0
  269. package/dist/typescript/module/features/chatbot/errorSpotting/ErrorSpottingModel.d.ts.map +1 -0
  270. package/dist/typescript/module/features/chatbot/index.d.ts +4 -3
  271. package/dist/typescript/module/features/chatbot/index.d.ts.map +1 -1
  272. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts +24 -18
  273. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  274. package/dist/typescript/module/features/chatbot/model/ChatBotThreadManager.d.ts +33 -0
  275. package/dist/typescript/module/features/chatbot/model/ChatBotThreadManager.d.ts.map +1 -0
  276. package/dist/typescript/module/features/chatbot/model/ChatBoxTextManager.d.ts +6 -0
  277. package/dist/typescript/module/features/chatbot/model/ChatBoxTextManager.d.ts.map +1 -0
  278. package/dist/typescript/module/features/chatbot/model/{api.d.ts → ChatbotApi.d.ts} +4 -3
  279. package/dist/typescript/module/features/chatbot/model/ChatbotApi.d.ts.map +1 -0
  280. package/dist/typescript/module/features/chatbot/model/ChatsCacheModel.d.ts +27 -0
  281. package/dist/typescript/module/features/chatbot/model/ChatsCacheModel.d.ts.map +1 -0
  282. package/dist/typescript/module/features/chatbot/model/DefaultMessageCreator.d.ts +5 -3
  283. package/dist/typescript/module/features/chatbot/model/DefaultMessageCreator.d.ts.map +1 -1
  284. package/dist/typescript/module/features/chatbot/model/ThreadItem.d.ts +13 -7
  285. package/dist/typescript/module/features/chatbot/model/ThreadItem.d.ts.map +1 -1
  286. package/dist/typescript/module/features/chatbot/model/constants.d.ts.map +1 -1
  287. package/dist/typescript/module/features/chatbot/model/messagesHelper.d.ts +7 -5
  288. package/dist/typescript/module/features/chatbot/model/messagesHelper.d.ts.map +1 -1
  289. package/dist/typescript/module/features/chatbot/model/t2s.d.ts +16 -6
  290. package/dist/typescript/module/features/chatbot/model/t2s.d.ts.map +1 -1
  291. package/dist/typescript/module/features/chatbot/model/translation.d.ts +7 -8
  292. package/dist/typescript/module/features/chatbot/model/translation.d.ts.map +1 -1
  293. package/dist/typescript/module/features/chatbot/model/translation.helpers.d.ts +2 -1
  294. package/dist/typescript/module/features/chatbot/model/translation.helpers.d.ts.map +1 -1
  295. package/dist/typescript/module/features/chatbot/types/api.types.d.ts +2 -11
  296. package/dist/typescript/module/features/chatbot/types/api.types.d.ts.map +1 -1
  297. package/dist/typescript/module/features/chatbot/types/model.types.d.ts +25 -24
  298. package/dist/typescript/module/features/chatbot/types/model.types.d.ts.map +1 -1
  299. package/dist/typescript/module/features/chatbot/types/t2s.types.d.ts +2 -7
  300. package/dist/typescript/module/features/chatbot/types/t2s.types.d.ts.map +1 -1
  301. package/dist/typescript/module/features/chatbot/types/translation.types.d.ts +2 -1
  302. package/dist/typescript/module/features/chatbot/types/translation.types.d.ts.map +1 -1
  303. package/dist/typescript/module/features/chatbot/types/units.types.d.ts +34 -0
  304. package/dist/typescript/module/features/chatbot/types/units.types.d.ts.map +1 -0
  305. package/dist/typescript/module/index.d.ts +0 -3
  306. package/dist/typescript/module/index.d.ts.map +1 -1
  307. package/dist/typescript/module/lib/effector/createEntityFieldStore.d.ts +2 -0
  308. package/dist/typescript/module/lib/effector/createEntityFieldStore.d.ts.map +1 -1
  309. package/dist/typescript/module/lib/effector/withEvent.d.ts +2 -0
  310. package/dist/typescript/module/lib/effector/withEvent.d.ts.map +1 -0
  311. package/dist/typescript/module/lib/helpers/helpers.d.ts +0 -1
  312. package/dist/typescript/module/lib/helpers/helpers.d.ts.map +1 -1
  313. package/dist/typescript/module/lib/helpers/randomElements.d.ts +2 -0
  314. package/dist/typescript/module/lib/helpers/randomElements.d.ts.map +1 -0
  315. package/dist/typescript/module/lib/types/keys.d.ts +8 -0
  316. package/dist/typescript/module/lib/types/keys.d.ts.map +1 -0
  317. package/dist/typescript/module/shared/icons/HighlighterIcon.d.ts +4 -0
  318. package/dist/typescript/module/shared/icons/HighlighterIcon.d.ts.map +1 -0
  319. package/dist/typescript/module/shared/icons/StopIcon.d.ts +4 -0
  320. package/dist/typescript/module/shared/icons/StopIcon.d.ts.map +1 -0
  321. package/dist/typescript/module/shared/icons/icon.types.d.ts +2 -0
  322. package/dist/typescript/module/shared/icons/icon.types.d.ts.map +1 -1
  323. package/dist/typescript/module/shared/translation/constants.d.ts +18 -0
  324. package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
  325. package/dist/typescript/module/shared/translation/helpers.d.ts +3 -2
  326. package/dist/typescript/module/shared/translation/helpers.d.ts.map +1 -1
  327. package/dist/typescript/module/shared/translation/hooks.d.ts +2 -2
  328. package/dist/typescript/module/shared/translation/hooks.d.ts.map +1 -1
  329. package/dist/typescript/module/shared/translation/index.d.ts +0 -1
  330. package/dist/typescript/module/shared/translation/index.d.ts.map +1 -1
  331. package/dist/typescript/module/shared/translation/model.d.ts +41 -3
  332. package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
  333. package/dist/typescript/module/shared/translation/types.d.ts +3 -3
  334. package/dist/typescript/module/shared/translation/types.d.ts.map +1 -1
  335. package/dist/typescript/module/shared/translation/validation.types.d.ts +17 -0
  336. package/dist/typescript/module/shared/translation/validation.types.d.ts.map +1 -0
  337. package/package.json +3 -6
  338. package/src/features/chatbot/components/Alternatives/Alternatives.tsx +2 -4
  339. package/src/features/chatbot/components/ChatMessage/ChatMessage.tsx +5 -5
  340. package/src/features/chatbot/components/ChatMessage/MessageButtonsBlock.tsx +36 -0
  341. package/src/features/chatbot/components/ChatMessage/MessageTextToSpeech.tsx +27 -20
  342. package/src/features/chatbot/components/ChatMessage/ReceivedMessage.tsx +27 -26
  343. package/src/features/chatbot/components/ChatMessage/SentMessage.tsx +9 -9
  344. package/src/features/chatbot/components/ChatMessages/ChatbotMessages.tsx +9 -30
  345. package/src/features/chatbot/components/Chatbot.tsx +5 -11
  346. package/src/features/chatbot/context/ChatBotModelContext.ts +14 -0
  347. package/src/features/chatbot/errorSpotting/ErrorSpottingButton.tsx +48 -0
  348. package/src/features/chatbot/errorSpotting/ErrorSpottingModel.ts +130 -0
  349. package/src/features/chatbot/index.ts +3 -4
  350. package/src/features/chatbot/model/ChatBotModel.ts +137 -130
  351. package/src/features/chatbot/model/{ChatBotMessageHandler.ts → ChatBotThreadManager.ts} +53 -27
  352. package/src/features/chatbot/model/ChatBoxTextManager.ts +18 -0
  353. package/src/features/chatbot/model/{api.ts → ChatbotApi.ts} +19 -2
  354. package/src/features/chatbot/model/ChatsCacheModel.ts +95 -0
  355. package/src/features/chatbot/model/DefaultMessageCreator.ts +17 -16
  356. package/src/features/chatbot/model/ThreadItem.ts +15 -10
  357. package/src/features/chatbot/model/constants.ts +2 -0
  358. package/src/features/chatbot/model/messagesHelper.ts +12 -7
  359. package/src/features/chatbot/model/t2s.ts +28 -13
  360. package/src/features/chatbot/model/translation.helpers.ts +2 -1
  361. package/src/features/chatbot/model/translation.ts +52 -46
  362. package/src/features/chatbot/types/api.types.ts +2 -12
  363. package/src/features/chatbot/types/model.types.ts +37 -32
  364. package/src/features/chatbot/types/t2s.types.ts +10 -15
  365. package/src/features/chatbot/types/translation.types.ts +2 -1
  366. package/src/features/chatbot/types/units.types.ts +37 -0
  367. package/src/index.ts +0 -3
  368. package/src/lib/effector/createEntityFieldStore.ts +9 -1
  369. package/src/lib/effector/withEvent.ts +7 -0
  370. package/src/lib/helpers/helpers.ts +0 -2
  371. package/src/lib/helpers/randomElements.ts +22 -0
  372. package/src/lib/localization/en.json +7 -1
  373. package/src/lib/localization/gb.json +7 -1
  374. package/src/lib/localization/sw.json +7 -1
  375. package/src/lib/types/keys.ts +18 -0
  376. package/src/shared/icons/HighlighterIcon.tsx +21 -0
  377. package/src/shared/icons/StopIcon.tsx +17 -0
  378. package/src/shared/icons/icon.types.ts +9 -6
  379. package/src/shared/translation/helpers.ts +22 -9
  380. package/src/shared/translation/hooks.ts +12 -16
  381. package/src/shared/translation/index.ts +0 -1
  382. package/src/shared/translation/model.ts +8 -8
  383. package/src/shared/translation/types.ts +10 -7
  384. package/src/shared/translation/validation.types.ts +26 -0
  385. package/dist/commonjs/features/celebrations/components/Celebrations.js +0 -51
  386. package/dist/commonjs/features/celebrations/components/Celebrations.js.map +0 -1
  387. package/dist/commonjs/features/celebrations/components/Particle.js +0 -85
  388. package/dist/commonjs/features/celebrations/components/Particle.js.map +0 -1
  389. package/dist/commonjs/features/celebrations/components/ParticleBatch.js +0 -47
  390. package/dist/commonjs/features/celebrations/components/ParticleBatch.js.map +0 -1
  391. package/dist/commonjs/features/celebrations/components/Spark.js +0 -23
  392. package/dist/commonjs/features/celebrations/components/Spark.js.map +0 -1
  393. package/dist/commonjs/features/celebrations/config.js +0 -224
  394. package/dist/commonjs/features/celebrations/config.js.map +0 -1
  395. package/dist/commonjs/features/celebrations/helpers.js +0 -99
  396. package/dist/commonjs/features/celebrations/helpers.js.map +0 -1
  397. package/dist/commonjs/features/celebrations/index.js +0 -28
  398. package/dist/commonjs/features/celebrations/index.js.map +0 -1
  399. package/dist/commonjs/features/celebrations/types.js +0 -15
  400. package/dist/commonjs/features/celebrations/types.js.map +0 -1
  401. package/dist/commonjs/features/chatbot/model/ChatBotMessageHandler.js.map +0 -1
  402. package/dist/commonjs/features/chatbot/model/api.js.map +0 -1
  403. package/dist/commonjs/features/endOfAssignment/components/CheatDetected/CheatDetected.js +0 -65
  404. package/dist/commonjs/features/endOfAssignment/components/CheatDetected/CheatDetected.js.map +0 -1
  405. package/dist/commonjs/features/endOfAssignment/components/CorrectAnswer/AnimatedCard.js +0 -255
  406. package/dist/commonjs/features/endOfAssignment/components/CorrectAnswer/AnimatedCard.js.map +0 -1
  407. package/dist/commonjs/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.js +0 -133
  408. package/dist/commonjs/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.js.map +0 -1
  409. package/dist/commonjs/features/endOfAssignment/components/CorrectAnswer/CorrectAnswerSparks.js +0 -56
  410. package/dist/commonjs/features/endOfAssignment/components/CorrectAnswer/CorrectAnswerSparks.js.map +0 -1
  411. package/dist/commonjs/features/endOfAssignment/components/CorrectAnswer/GoodDrawingSparks.js +0 -68
  412. package/dist/commonjs/features/endOfAssignment/components/CorrectAnswer/GoodDrawingSparks.js.map +0 -1
  413. package/dist/commonjs/features/endOfAssignment/components/CorrectAnswer/Spark.js +0 -53
  414. package/dist/commonjs/features/endOfAssignment/components/CorrectAnswer/Spark.js.map +0 -1
  415. package/dist/commonjs/features/endOfAssignment/components/EOAModal.js +0 -47
  416. package/dist/commonjs/features/endOfAssignment/components/EOAModal.js.map +0 -1
  417. package/dist/commonjs/features/endOfAssignment/components/ExamLeave/ExamLeave.js +0 -76
  418. package/dist/commonjs/features/endOfAssignment/components/ExamLeave/ExamLeave.js.map +0 -1
  419. package/dist/commonjs/features/endOfAssignment/components/ExamPaused/ExamPaused.js +0 -62
  420. package/dist/commonjs/features/endOfAssignment/components/ExamPaused/ExamPaused.js.map +0 -1
  421. package/dist/commonjs/features/endOfAssignment/components/ExamSubmit/ExamSubmit.js +0 -109
  422. package/dist/commonjs/features/endOfAssignment/components/ExamSubmit/ExamSubmit.js.map +0 -1
  423. package/dist/commonjs/features/endOfAssignment/components/ExamSubmit/ExamSubmitContent.js +0 -83
  424. package/dist/commonjs/features/endOfAssignment/components/ExamSubmit/ExamSubmitContent.js.map +0 -1
  425. package/dist/commonjs/features/endOfAssignment/components/ExamSubmit/blurred-card.png +0 -0
  426. package/dist/commonjs/features/endOfAssignment/components/Modal/Modal.js +0 -96
  427. package/dist/commonjs/features/endOfAssignment/components/Modal/Modal.js.map +0 -1
  428. package/dist/commonjs/features/endOfAssignment/components/Modal/ModalBackground.js +0 -44
  429. package/dist/commonjs/features/endOfAssignment/components/Modal/ModalBackground.js.map +0 -1
  430. package/dist/commonjs/features/endOfAssignment/components/Modal/assets/SunrisingIcon.js +0 -233
  431. package/dist/commonjs/features/endOfAssignment/components/Modal/assets/SunrisingIcon.js.map +0 -1
  432. package/dist/commonjs/features/endOfAssignment/components/Modal/assets/TrophyIcon.js +0 -63
  433. package/dist/commonjs/features/endOfAssignment/components/Modal/assets/TrophyIcon.js.map +0 -1
  434. package/dist/commonjs/features/endOfAssignment/components/Modal/model.js +0 -34
  435. package/dist/commonjs/features/endOfAssignment/components/Modal/model.js.map +0 -1
  436. package/dist/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswer.js +0 -108
  437. package/dist/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswer.js.map +0 -1
  438. package/dist/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswerContent.js +0 -107
  439. package/dist/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswerContent.js.map +0 -1
  440. package/dist/commonjs/features/endOfAssignment/constants.js +0 -55
  441. package/dist/commonjs/features/endOfAssignment/constants.js.map +0 -1
  442. package/dist/commonjs/features/endOfAssignment/helpers.js +0 -64
  443. package/dist/commonjs/features/endOfAssignment/helpers.js.map +0 -1
  444. package/dist/commonjs/features/endOfAssignment/hooks/useSparkAnimation.js +0 -51
  445. package/dist/commonjs/features/endOfAssignment/hooks/useSparkAnimation.js.map +0 -1
  446. package/dist/commonjs/features/endOfAssignment/index.js +0 -40
  447. package/dist/commonjs/features/endOfAssignment/index.js.map +0 -1
  448. package/dist/commonjs/features/endOfAssignment/model/model.js +0 -53
  449. package/dist/commonjs/features/endOfAssignment/model/model.js.map +0 -1
  450. package/dist/commonjs/features/endOfAssignment/types.js +0 -33
  451. package/dist/commonjs/features/endOfAssignment/types.js.map +0 -1
  452. package/dist/commonjs/features/endOfAssignment/ui/EOABadge.js +0 -43
  453. package/dist/commonjs/features/endOfAssignment/ui/EOABadge.js.map +0 -1
  454. package/dist/commonjs/features/endOfAssignment/ui/PracticeButton.js +0 -30
  455. package/dist/commonjs/features/endOfAssignment/ui/PracticeButton.js.map +0 -1
  456. package/dist/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.js +0 -64
  457. package/dist/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.js.map +0 -1
  458. package/dist/commonjs/features/endOfAssignment/ui/SparkIcon.js +0 -29
  459. package/dist/commonjs/features/endOfAssignment/ui/SparkIcon.js.map +0 -1
  460. package/dist/commonjs/features/endOfAssignment/ui/ThumbUpIcon.js +0 -32
  461. package/dist/commonjs/features/endOfAssignment/ui/ThumbUpIcon.js.map +0 -1
  462. package/dist/commonjs/lib/constants.js +0 -11
  463. package/dist/commonjs/lib/constants.js.map +0 -1
  464. package/dist/commonjs/shared/hooks/useKeyDownListener.js +0 -27
  465. package/dist/commonjs/shared/hooks/useKeyDownListener.js.map +0 -1
  466. package/dist/commonjs/shared/hooks/useKeyboard.js +0 -23
  467. package/dist/commonjs/shared/hooks/useKeyboard.js.map +0 -1
  468. package/dist/commonjs/shared/icons/Halloween.js +0 -54
  469. package/dist/commonjs/shared/icons/Halloween.js.map +0 -1
  470. package/dist/commonjs/shared/icons/Pi.js +0 -30
  471. package/dist/commonjs/shared/icons/Pi.js.map +0 -1
  472. package/dist/commonjs/shared/icons/Star.js +0 -30
  473. package/dist/commonjs/shared/icons/Star.js.map +0 -1
  474. package/dist/commonjs/shared/icons/Valentine.js.map +0 -1
  475. package/dist/commonjs/shared/icons/Winter.js +0 -32
  476. package/dist/commonjs/shared/icons/Winter.js.map +0 -1
  477. package/dist/module/features/celebrations/components/Celebrations.js +0 -45
  478. package/dist/module/features/celebrations/components/Celebrations.js.map +0 -1
  479. package/dist/module/features/celebrations/components/Particle.js +0 -77
  480. package/dist/module/features/celebrations/components/Particle.js.map +0 -1
  481. package/dist/module/features/celebrations/components/ParticleBatch.js +0 -40
  482. package/dist/module/features/celebrations/components/ParticleBatch.js.map +0 -1
  483. package/dist/module/features/celebrations/components/Spark.js +0 -17
  484. package/dist/module/features/celebrations/components/Spark.js.map +0 -1
  485. package/dist/module/features/celebrations/config.js +0 -219
  486. package/dist/module/features/celebrations/config.js.map +0 -1
  487. package/dist/module/features/celebrations/helpers.js +0 -92
  488. package/dist/module/features/celebrations/helpers.js.map +0 -1
  489. package/dist/module/features/celebrations/index.js +0 -5
  490. package/dist/module/features/celebrations/index.js.map +0 -1
  491. package/dist/module/features/celebrations/types.js +0 -11
  492. package/dist/module/features/celebrations/types.js.map +0 -1
  493. package/dist/module/features/chatbot/model/ChatBotMessageHandler.js.map +0 -1
  494. package/dist/module/features/chatbot/model/api.js.map +0 -1
  495. package/dist/module/features/endOfAssignment/components/CheatDetected/CheatDetected.js +0 -59
  496. package/dist/module/features/endOfAssignment/components/CheatDetected/CheatDetected.js.map +0 -1
  497. package/dist/module/features/endOfAssignment/components/CorrectAnswer/AnimatedCard.js +0 -249
  498. package/dist/module/features/endOfAssignment/components/CorrectAnswer/AnimatedCard.js.map +0 -1
  499. package/dist/module/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.js +0 -126
  500. package/dist/module/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.js.map +0 -1
  501. package/dist/module/features/endOfAssignment/components/CorrectAnswer/CorrectAnswerSparks.js +0 -50
  502. package/dist/module/features/endOfAssignment/components/CorrectAnswer/CorrectAnswerSparks.js.map +0 -1
  503. package/dist/module/features/endOfAssignment/components/CorrectAnswer/GoodDrawingSparks.js +0 -62
  504. package/dist/module/features/endOfAssignment/components/CorrectAnswer/GoodDrawingSparks.js.map +0 -1
  505. package/dist/module/features/endOfAssignment/components/CorrectAnswer/Spark.js +0 -47
  506. package/dist/module/features/endOfAssignment/components/CorrectAnswer/Spark.js.map +0 -1
  507. package/dist/module/features/endOfAssignment/components/EOAModal.js +0 -41
  508. package/dist/module/features/endOfAssignment/components/EOAModal.js.map +0 -1
  509. package/dist/module/features/endOfAssignment/components/ExamLeave/ExamLeave.js +0 -70
  510. package/dist/module/features/endOfAssignment/components/ExamLeave/ExamLeave.js.map +0 -1
  511. package/dist/module/features/endOfAssignment/components/ExamPaused/ExamPaused.js +0 -56
  512. package/dist/module/features/endOfAssignment/components/ExamPaused/ExamPaused.js.map +0 -1
  513. package/dist/module/features/endOfAssignment/components/ExamSubmit/ExamSubmit.js +0 -103
  514. package/dist/module/features/endOfAssignment/components/ExamSubmit/ExamSubmit.js.map +0 -1
  515. package/dist/module/features/endOfAssignment/components/ExamSubmit/ExamSubmitContent.js +0 -77
  516. package/dist/module/features/endOfAssignment/components/ExamSubmit/ExamSubmitContent.js.map +0 -1
  517. package/dist/module/features/endOfAssignment/components/ExamSubmit/blurred-card.png +0 -0
  518. package/dist/module/features/endOfAssignment/components/Modal/Modal.js +0 -89
  519. package/dist/module/features/endOfAssignment/components/Modal/Modal.js.map +0 -1
  520. package/dist/module/features/endOfAssignment/components/Modal/ModalBackground.js +0 -38
  521. package/dist/module/features/endOfAssignment/components/Modal/ModalBackground.js.map +0 -1
  522. package/dist/module/features/endOfAssignment/components/Modal/assets/SunrisingIcon.js +0 -226
  523. package/dist/module/features/endOfAssignment/components/Modal/assets/SunrisingIcon.js.map +0 -1
  524. package/dist/module/features/endOfAssignment/components/Modal/assets/TrophyIcon.js +0 -56
  525. package/dist/module/features/endOfAssignment/components/Modal/assets/TrophyIcon.js.map +0 -1
  526. package/dist/module/features/endOfAssignment/components/Modal/model.js +0 -29
  527. package/dist/module/features/endOfAssignment/components/Modal/model.js.map +0 -1
  528. package/dist/module/features/endOfAssignment/components/NoAnswer/NoAnswer.js +0 -102
  529. package/dist/module/features/endOfAssignment/components/NoAnswer/NoAnswer.js.map +0 -1
  530. package/dist/module/features/endOfAssignment/components/NoAnswer/NoAnswerContent.js +0 -100
  531. package/dist/module/features/endOfAssignment/components/NoAnswer/NoAnswerContent.js.map +0 -1
  532. package/dist/module/features/endOfAssignment/constants.js +0 -51
  533. package/dist/module/features/endOfAssignment/constants.js.map +0 -1
  534. package/dist/module/features/endOfAssignment/helpers.js +0 -58
  535. package/dist/module/features/endOfAssignment/helpers.js.map +0 -1
  536. package/dist/module/features/endOfAssignment/hooks/useSparkAnimation.js +0 -46
  537. package/dist/module/features/endOfAssignment/hooks/useSparkAnimation.js.map +0 -1
  538. package/dist/module/features/endOfAssignment/index.js +0 -6
  539. package/dist/module/features/endOfAssignment/index.js.map +0 -1
  540. package/dist/module/features/endOfAssignment/model/model.js +0 -48
  541. package/dist/module/features/endOfAssignment/model/model.js.map +0 -1
  542. package/dist/module/features/endOfAssignment/types.js +0 -29
  543. package/dist/module/features/endOfAssignment/types.js.map +0 -1
  544. package/dist/module/features/endOfAssignment/ui/EOABadge.js +0 -37
  545. package/dist/module/features/endOfAssignment/ui/EOABadge.js.map +0 -1
  546. package/dist/module/features/endOfAssignment/ui/PracticeButton.js +0 -24
  547. package/dist/module/features/endOfAssignment/ui/PracticeButton.js.map +0 -1
  548. package/dist/module/features/endOfAssignment/ui/PracticeButtonGroup.js +0 -57
  549. package/dist/module/features/endOfAssignment/ui/PracticeButtonGroup.js.map +0 -1
  550. package/dist/module/features/endOfAssignment/ui/SparkIcon.js +0 -21
  551. package/dist/module/features/endOfAssignment/ui/SparkIcon.js.map +0 -1
  552. package/dist/module/features/endOfAssignment/ui/ThumbUpIcon.js +0 -24
  553. package/dist/module/features/endOfAssignment/ui/ThumbUpIcon.js.map +0 -1
  554. package/dist/module/lib/constants.js +0 -7
  555. package/dist/module/lib/constants.js.map +0 -1
  556. package/dist/module/shared/hooks/useKeyDownListener.js +0 -22
  557. package/dist/module/shared/hooks/useKeyDownListener.js.map +0 -1
  558. package/dist/module/shared/hooks/useKeyboard.js +0 -20
  559. package/dist/module/shared/hooks/useKeyboard.js.map +0 -1
  560. package/dist/module/shared/icons/Halloween.js +0 -47
  561. package/dist/module/shared/icons/Halloween.js.map +0 -1
  562. package/dist/module/shared/icons/Pi.js +0 -23
  563. package/dist/module/shared/icons/Pi.js.map +0 -1
  564. package/dist/module/shared/icons/Star.js +0 -23
  565. package/dist/module/shared/icons/Star.js.map +0 -1
  566. package/dist/module/shared/icons/Valentine.js +0 -23
  567. package/dist/module/shared/icons/Valentine.js.map +0 -1
  568. package/dist/module/shared/icons/Winter.js +0 -25
  569. package/dist/module/shared/icons/Winter.js.map +0 -1
  570. package/dist/typescript/commonjs/features/celebrations/components/Celebrations.d.ts +0 -10
  571. package/dist/typescript/commonjs/features/celebrations/components/Celebrations.d.ts.map +0 -1
  572. package/dist/typescript/commonjs/features/celebrations/components/Particle.d.ts +0 -20
  573. package/dist/typescript/commonjs/features/celebrations/components/Particle.d.ts.map +0 -1
  574. package/dist/typescript/commonjs/features/celebrations/components/ParticleBatch.d.ts +0 -26
  575. package/dist/typescript/commonjs/features/celebrations/components/ParticleBatch.d.ts.map +0 -1
  576. package/dist/typescript/commonjs/features/celebrations/components/Spark.d.ts +0 -4
  577. package/dist/typescript/commonjs/features/celebrations/components/Spark.d.ts.map +0 -1
  578. package/dist/typescript/commonjs/features/celebrations/config.d.ts +0 -192
  579. package/dist/typescript/commonjs/features/celebrations/config.d.ts.map +0 -1
  580. package/dist/typescript/commonjs/features/celebrations/helpers.d.ts +0 -6
  581. package/dist/typescript/commonjs/features/celebrations/helpers.d.ts.map +0 -1
  582. package/dist/typescript/commonjs/features/celebrations/index.d.ts +0 -3
  583. package/dist/typescript/commonjs/features/celebrations/index.d.ts.map +0 -1
  584. package/dist/typescript/commonjs/features/celebrations/types.d.ts +0 -11
  585. package/dist/typescript/commonjs/features/celebrations/types.d.ts.map +0 -1
  586. package/dist/typescript/commonjs/features/chatbot/model/ChatBotMessageHandler.d.ts +0 -31
  587. package/dist/typescript/commonjs/features/chatbot/model/ChatBotMessageHandler.d.ts.map +0 -1
  588. package/dist/typescript/commonjs/features/chatbot/model/api.d.ts.map +0 -1
  589. package/dist/typescript/commonjs/features/endOfAssignment/components/CheatDetected/CheatDetected.d.ts +0 -4
  590. package/dist/typescript/commonjs/features/endOfAssignment/components/CheatDetected/CheatDetected.d.ts.map +0 -1
  591. package/dist/typescript/commonjs/features/endOfAssignment/components/CorrectAnswer/AnimatedCard.d.ts +0 -15
  592. package/dist/typescript/commonjs/features/endOfAssignment/components/CorrectAnswer/AnimatedCard.d.ts.map +0 -1
  593. package/dist/typescript/commonjs/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.d.ts +0 -4
  594. package/dist/typescript/commonjs/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.d.ts.map +0 -1
  595. package/dist/typescript/commonjs/features/endOfAssignment/components/CorrectAnswer/CorrectAnswerSparks.d.ts +0 -8
  596. package/dist/typescript/commonjs/features/endOfAssignment/components/CorrectAnswer/CorrectAnswerSparks.d.ts.map +0 -1
  597. package/dist/typescript/commonjs/features/endOfAssignment/components/CorrectAnswer/GoodDrawingSparks.d.ts +0 -8
  598. package/dist/typescript/commonjs/features/endOfAssignment/components/CorrectAnswer/GoodDrawingSparks.d.ts.map +0 -1
  599. package/dist/typescript/commonjs/features/endOfAssignment/components/CorrectAnswer/Spark.d.ts +0 -12
  600. package/dist/typescript/commonjs/features/endOfAssignment/components/CorrectAnswer/Spark.d.ts.map +0 -1
  601. package/dist/typescript/commonjs/features/endOfAssignment/components/EOAModal.d.ts +0 -11
  602. package/dist/typescript/commonjs/features/endOfAssignment/components/EOAModal.d.ts.map +0 -1
  603. package/dist/typescript/commonjs/features/endOfAssignment/components/ExamLeave/ExamLeave.d.ts +0 -4
  604. package/dist/typescript/commonjs/features/endOfAssignment/components/ExamLeave/ExamLeave.d.ts.map +0 -1
  605. package/dist/typescript/commonjs/features/endOfAssignment/components/ExamPaused/ExamPaused.d.ts +0 -4
  606. package/dist/typescript/commonjs/features/endOfAssignment/components/ExamPaused/ExamPaused.d.ts.map +0 -1
  607. package/dist/typescript/commonjs/features/endOfAssignment/components/ExamSubmit/ExamSubmit.d.ts +0 -4
  608. package/dist/typescript/commonjs/features/endOfAssignment/components/ExamSubmit/ExamSubmit.d.ts.map +0 -1
  609. package/dist/typescript/commonjs/features/endOfAssignment/components/ExamSubmit/ExamSubmitContent.d.ts +0 -8
  610. package/dist/typescript/commonjs/features/endOfAssignment/components/ExamSubmit/ExamSubmitContent.d.ts.map +0 -1
  611. package/dist/typescript/commonjs/features/endOfAssignment/components/Modal/Modal.d.ts +0 -20
  612. package/dist/typescript/commonjs/features/endOfAssignment/components/Modal/Modal.d.ts.map +0 -1
  613. package/dist/typescript/commonjs/features/endOfAssignment/components/Modal/ModalBackground.d.ts +0 -3
  614. package/dist/typescript/commonjs/features/endOfAssignment/components/Modal/ModalBackground.d.ts.map +0 -1
  615. package/dist/typescript/commonjs/features/endOfAssignment/components/Modal/assets/SunrisingIcon.d.ts +0 -4
  616. package/dist/typescript/commonjs/features/endOfAssignment/components/Modal/assets/SunrisingIcon.d.ts.map +0 -1
  617. package/dist/typescript/commonjs/features/endOfAssignment/components/Modal/assets/TrophyIcon.d.ts +0 -4
  618. package/dist/typescript/commonjs/features/endOfAssignment/components/Modal/assets/TrophyIcon.d.ts.map +0 -1
  619. package/dist/typescript/commonjs/features/endOfAssignment/components/Modal/model.d.ts +0 -14
  620. package/dist/typescript/commonjs/features/endOfAssignment/components/Modal/model.d.ts.map +0 -1
  621. package/dist/typescript/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswer.d.ts +0 -4
  622. package/dist/typescript/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswer.d.ts.map +0 -1
  623. package/dist/typescript/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswerContent.d.ts +0 -8
  624. package/dist/typescript/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswerContent.d.ts.map +0 -1
  625. package/dist/typescript/commonjs/features/endOfAssignment/constants.d.ts +0 -41
  626. package/dist/typescript/commonjs/features/endOfAssignment/constants.d.ts.map +0 -1
  627. package/dist/typescript/commonjs/features/endOfAssignment/helpers.d.ts +0 -9
  628. package/dist/typescript/commonjs/features/endOfAssignment/helpers.d.ts.map +0 -1
  629. package/dist/typescript/commonjs/features/endOfAssignment/hooks/useSparkAnimation.d.ts +0 -27
  630. package/dist/typescript/commonjs/features/endOfAssignment/hooks/useSparkAnimation.d.ts.map +0 -1
  631. package/dist/typescript/commonjs/features/endOfAssignment/index.d.ts +0 -4
  632. package/dist/typescript/commonjs/features/endOfAssignment/index.d.ts.map +0 -1
  633. package/dist/typescript/commonjs/features/endOfAssignment/model/model.d.ts +0 -14
  634. package/dist/typescript/commonjs/features/endOfAssignment/model/model.d.ts.map +0 -1
  635. package/dist/typescript/commonjs/features/endOfAssignment/types.d.ts +0 -60
  636. package/dist/typescript/commonjs/features/endOfAssignment/types.d.ts.map +0 -1
  637. package/dist/typescript/commonjs/features/endOfAssignment/ui/EOABadge.d.ts +0 -11
  638. package/dist/typescript/commonjs/features/endOfAssignment/ui/EOABadge.d.ts.map +0 -1
  639. package/dist/typescript/commonjs/features/endOfAssignment/ui/PracticeButton.d.ts +0 -10
  640. package/dist/typescript/commonjs/features/endOfAssignment/ui/PracticeButton.d.ts.map +0 -1
  641. package/dist/typescript/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.d.ts +0 -14
  642. package/dist/typescript/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.d.ts.map +0 -1
  643. package/dist/typescript/commonjs/features/endOfAssignment/ui/SparkIcon.d.ts +0 -4
  644. package/dist/typescript/commonjs/features/endOfAssignment/ui/SparkIcon.d.ts.map +0 -1
  645. package/dist/typescript/commonjs/features/endOfAssignment/ui/ThumbUpIcon.d.ts +0 -4
  646. package/dist/typescript/commonjs/features/endOfAssignment/ui/ThumbUpIcon.d.ts.map +0 -1
  647. package/dist/typescript/commonjs/lib/constants.d.ts +0 -4
  648. package/dist/typescript/commonjs/lib/constants.d.ts.map +0 -1
  649. package/dist/typescript/commonjs/shared/hooks/useKeyDownListener.d.ts +0 -3
  650. package/dist/typescript/commonjs/shared/hooks/useKeyDownListener.d.ts.map +0 -1
  651. package/dist/typescript/commonjs/shared/hooks/useKeyboard.d.ts +0 -11
  652. package/dist/typescript/commonjs/shared/hooks/useKeyboard.d.ts.map +0 -1
  653. package/dist/typescript/commonjs/shared/icons/Halloween.d.ts +0 -5
  654. package/dist/typescript/commonjs/shared/icons/Halloween.d.ts.map +0 -1
  655. package/dist/typescript/commonjs/shared/icons/Pi.d.ts +0 -5
  656. package/dist/typescript/commonjs/shared/icons/Pi.d.ts.map +0 -1
  657. package/dist/typescript/commonjs/shared/icons/Star.d.ts +0 -5
  658. package/dist/typescript/commonjs/shared/icons/Star.d.ts.map +0 -1
  659. package/dist/typescript/commonjs/shared/icons/Valentine.d.ts +0 -5
  660. package/dist/typescript/commonjs/shared/icons/Valentine.d.ts.map +0 -1
  661. package/dist/typescript/commonjs/shared/icons/Winter.d.ts +0 -5
  662. package/dist/typescript/commonjs/shared/icons/Winter.d.ts.map +0 -1
  663. package/dist/typescript/module/features/celebrations/components/Celebrations.d.ts +0 -10
  664. package/dist/typescript/module/features/celebrations/components/Celebrations.d.ts.map +0 -1
  665. package/dist/typescript/module/features/celebrations/components/Particle.d.ts +0 -20
  666. package/dist/typescript/module/features/celebrations/components/Particle.d.ts.map +0 -1
  667. package/dist/typescript/module/features/celebrations/components/ParticleBatch.d.ts +0 -26
  668. package/dist/typescript/module/features/celebrations/components/ParticleBatch.d.ts.map +0 -1
  669. package/dist/typescript/module/features/celebrations/components/Spark.d.ts +0 -4
  670. package/dist/typescript/module/features/celebrations/components/Spark.d.ts.map +0 -1
  671. package/dist/typescript/module/features/celebrations/config.d.ts +0 -192
  672. package/dist/typescript/module/features/celebrations/config.d.ts.map +0 -1
  673. package/dist/typescript/module/features/celebrations/helpers.d.ts +0 -6
  674. package/dist/typescript/module/features/celebrations/helpers.d.ts.map +0 -1
  675. package/dist/typescript/module/features/celebrations/index.d.ts +0 -3
  676. package/dist/typescript/module/features/celebrations/index.d.ts.map +0 -1
  677. package/dist/typescript/module/features/celebrations/types.d.ts +0 -11
  678. package/dist/typescript/module/features/celebrations/types.d.ts.map +0 -1
  679. package/dist/typescript/module/features/chatbot/model/ChatBotMessageHandler.d.ts +0 -31
  680. package/dist/typescript/module/features/chatbot/model/ChatBotMessageHandler.d.ts.map +0 -1
  681. package/dist/typescript/module/features/chatbot/model/api.d.ts.map +0 -1
  682. package/dist/typescript/module/features/endOfAssignment/components/CheatDetected/CheatDetected.d.ts +0 -4
  683. package/dist/typescript/module/features/endOfAssignment/components/CheatDetected/CheatDetected.d.ts.map +0 -1
  684. package/dist/typescript/module/features/endOfAssignment/components/CorrectAnswer/AnimatedCard.d.ts +0 -15
  685. package/dist/typescript/module/features/endOfAssignment/components/CorrectAnswer/AnimatedCard.d.ts.map +0 -1
  686. package/dist/typescript/module/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.d.ts +0 -4
  687. package/dist/typescript/module/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.d.ts.map +0 -1
  688. package/dist/typescript/module/features/endOfAssignment/components/CorrectAnswer/CorrectAnswerSparks.d.ts +0 -8
  689. package/dist/typescript/module/features/endOfAssignment/components/CorrectAnswer/CorrectAnswerSparks.d.ts.map +0 -1
  690. package/dist/typescript/module/features/endOfAssignment/components/CorrectAnswer/GoodDrawingSparks.d.ts +0 -8
  691. package/dist/typescript/module/features/endOfAssignment/components/CorrectAnswer/GoodDrawingSparks.d.ts.map +0 -1
  692. package/dist/typescript/module/features/endOfAssignment/components/CorrectAnswer/Spark.d.ts +0 -12
  693. package/dist/typescript/module/features/endOfAssignment/components/CorrectAnswer/Spark.d.ts.map +0 -1
  694. package/dist/typescript/module/features/endOfAssignment/components/EOAModal.d.ts +0 -11
  695. package/dist/typescript/module/features/endOfAssignment/components/EOAModal.d.ts.map +0 -1
  696. package/dist/typescript/module/features/endOfAssignment/components/ExamLeave/ExamLeave.d.ts +0 -4
  697. package/dist/typescript/module/features/endOfAssignment/components/ExamLeave/ExamLeave.d.ts.map +0 -1
  698. package/dist/typescript/module/features/endOfAssignment/components/ExamPaused/ExamPaused.d.ts +0 -4
  699. package/dist/typescript/module/features/endOfAssignment/components/ExamPaused/ExamPaused.d.ts.map +0 -1
  700. package/dist/typescript/module/features/endOfAssignment/components/ExamSubmit/ExamSubmit.d.ts +0 -4
  701. package/dist/typescript/module/features/endOfAssignment/components/ExamSubmit/ExamSubmit.d.ts.map +0 -1
  702. package/dist/typescript/module/features/endOfAssignment/components/ExamSubmit/ExamSubmitContent.d.ts +0 -8
  703. package/dist/typescript/module/features/endOfAssignment/components/ExamSubmit/ExamSubmitContent.d.ts.map +0 -1
  704. package/dist/typescript/module/features/endOfAssignment/components/Modal/Modal.d.ts +0 -20
  705. package/dist/typescript/module/features/endOfAssignment/components/Modal/Modal.d.ts.map +0 -1
  706. package/dist/typescript/module/features/endOfAssignment/components/Modal/ModalBackground.d.ts +0 -3
  707. package/dist/typescript/module/features/endOfAssignment/components/Modal/ModalBackground.d.ts.map +0 -1
  708. package/dist/typescript/module/features/endOfAssignment/components/Modal/assets/SunrisingIcon.d.ts +0 -4
  709. package/dist/typescript/module/features/endOfAssignment/components/Modal/assets/SunrisingIcon.d.ts.map +0 -1
  710. package/dist/typescript/module/features/endOfAssignment/components/Modal/assets/TrophyIcon.d.ts +0 -4
  711. package/dist/typescript/module/features/endOfAssignment/components/Modal/assets/TrophyIcon.d.ts.map +0 -1
  712. package/dist/typescript/module/features/endOfAssignment/components/Modal/model.d.ts +0 -14
  713. package/dist/typescript/module/features/endOfAssignment/components/Modal/model.d.ts.map +0 -1
  714. package/dist/typescript/module/features/endOfAssignment/components/NoAnswer/NoAnswer.d.ts +0 -4
  715. package/dist/typescript/module/features/endOfAssignment/components/NoAnswer/NoAnswer.d.ts.map +0 -1
  716. package/dist/typescript/module/features/endOfAssignment/components/NoAnswer/NoAnswerContent.d.ts +0 -8
  717. package/dist/typescript/module/features/endOfAssignment/components/NoAnswer/NoAnswerContent.d.ts.map +0 -1
  718. package/dist/typescript/module/features/endOfAssignment/constants.d.ts +0 -41
  719. package/dist/typescript/module/features/endOfAssignment/constants.d.ts.map +0 -1
  720. package/dist/typescript/module/features/endOfAssignment/helpers.d.ts +0 -9
  721. package/dist/typescript/module/features/endOfAssignment/helpers.d.ts.map +0 -1
  722. package/dist/typescript/module/features/endOfAssignment/hooks/useSparkAnimation.d.ts +0 -27
  723. package/dist/typescript/module/features/endOfAssignment/hooks/useSparkAnimation.d.ts.map +0 -1
  724. package/dist/typescript/module/features/endOfAssignment/index.d.ts +0 -4
  725. package/dist/typescript/module/features/endOfAssignment/index.d.ts.map +0 -1
  726. package/dist/typescript/module/features/endOfAssignment/model/model.d.ts +0 -14
  727. package/dist/typescript/module/features/endOfAssignment/model/model.d.ts.map +0 -1
  728. package/dist/typescript/module/features/endOfAssignment/types.d.ts +0 -60
  729. package/dist/typescript/module/features/endOfAssignment/types.d.ts.map +0 -1
  730. package/dist/typescript/module/features/endOfAssignment/ui/EOABadge.d.ts +0 -11
  731. package/dist/typescript/module/features/endOfAssignment/ui/EOABadge.d.ts.map +0 -1
  732. package/dist/typescript/module/features/endOfAssignment/ui/PracticeButton.d.ts +0 -10
  733. package/dist/typescript/module/features/endOfAssignment/ui/PracticeButton.d.ts.map +0 -1
  734. package/dist/typescript/module/features/endOfAssignment/ui/PracticeButtonGroup.d.ts +0 -14
  735. package/dist/typescript/module/features/endOfAssignment/ui/PracticeButtonGroup.d.ts.map +0 -1
  736. package/dist/typescript/module/features/endOfAssignment/ui/SparkIcon.d.ts +0 -4
  737. package/dist/typescript/module/features/endOfAssignment/ui/SparkIcon.d.ts.map +0 -1
  738. package/dist/typescript/module/features/endOfAssignment/ui/ThumbUpIcon.d.ts +0 -4
  739. package/dist/typescript/module/features/endOfAssignment/ui/ThumbUpIcon.d.ts.map +0 -1
  740. package/dist/typescript/module/lib/constants.d.ts +0 -4
  741. package/dist/typescript/module/lib/constants.d.ts.map +0 -1
  742. package/dist/typescript/module/shared/hooks/useKeyDownListener.d.ts +0 -3
  743. package/dist/typescript/module/shared/hooks/useKeyDownListener.d.ts.map +0 -1
  744. package/dist/typescript/module/shared/hooks/useKeyboard.d.ts +0 -11
  745. package/dist/typescript/module/shared/hooks/useKeyboard.d.ts.map +0 -1
  746. package/dist/typescript/module/shared/icons/Halloween.d.ts +0 -5
  747. package/dist/typescript/module/shared/icons/Halloween.d.ts.map +0 -1
  748. package/dist/typescript/module/shared/icons/Pi.d.ts +0 -5
  749. package/dist/typescript/module/shared/icons/Pi.d.ts.map +0 -1
  750. package/dist/typescript/module/shared/icons/Star.d.ts +0 -5
  751. package/dist/typescript/module/shared/icons/Star.d.ts.map +0 -1
  752. package/dist/typescript/module/shared/icons/Valentine.d.ts +0 -5
  753. package/dist/typescript/module/shared/icons/Valentine.d.ts.map +0 -1
  754. package/dist/typescript/module/shared/icons/Winter.d.ts +0 -5
  755. package/dist/typescript/module/shared/icons/Winter.d.ts.map +0 -1
  756. package/src/features/celebrations/components/Celebrations.tsx +0 -62
  757. package/src/features/celebrations/components/Particle.tsx +0 -101
  758. package/src/features/celebrations/components/ParticleBatch.tsx +0 -57
  759. package/src/features/celebrations/components/Spark.tsx +0 -14
  760. package/src/features/celebrations/config.ts +0 -224
  761. package/src/features/celebrations/helpers.ts +0 -103
  762. package/src/features/celebrations/index.ts +0 -2
  763. package/src/features/celebrations/types.ts +0 -11
  764. package/src/features/endOfAssignment/components/CheatDetected/CheatDetected.tsx +0 -65
  765. package/src/features/endOfAssignment/components/CorrectAnswer/AnimatedCard.tsx +0 -298
  766. package/src/features/endOfAssignment/components/CorrectAnswer/CorrectAnswer.tsx +0 -141
  767. package/src/features/endOfAssignment/components/CorrectAnswer/CorrectAnswerSparks.tsx +0 -39
  768. package/src/features/endOfAssignment/components/CorrectAnswer/GoodDrawingSparks.tsx +0 -40
  769. package/src/features/endOfAssignment/components/CorrectAnswer/Spark.tsx +0 -45
  770. package/src/features/endOfAssignment/components/EOAModal.tsx +0 -64
  771. package/src/features/endOfAssignment/components/ExamLeave/ExamLeave.tsx +0 -77
  772. package/src/features/endOfAssignment/components/ExamPaused/ExamPaused.tsx +0 -62
  773. package/src/features/endOfAssignment/components/ExamSubmit/ExamSubmit.tsx +0 -110
  774. package/src/features/endOfAssignment/components/ExamSubmit/ExamSubmitContent.tsx +0 -69
  775. package/src/features/endOfAssignment/components/ExamSubmit/blurred-card.png +0 -0
  776. package/src/features/endOfAssignment/components/Modal/Modal.tsx +0 -121
  777. package/src/features/endOfAssignment/components/Modal/ModalBackground.tsx +0 -33
  778. package/src/features/endOfAssignment/components/Modal/assets/SunrisingIcon.tsx +0 -196
  779. package/src/features/endOfAssignment/components/Modal/assets/TrophyIcon.tsx +0 -62
  780. package/src/features/endOfAssignment/components/Modal/model.ts +0 -34
  781. package/src/features/endOfAssignment/components/NoAnswer/NoAnswer.tsx +0 -103
  782. package/src/features/endOfAssignment/components/NoAnswer/NoAnswerContent.tsx +0 -107
  783. package/src/features/endOfAssignment/constants.ts +0 -53
  784. package/src/features/endOfAssignment/helpers.ts +0 -28
  785. package/src/features/endOfAssignment/hooks/useSparkAnimation.tsx +0 -78
  786. package/src/features/endOfAssignment/index.ts +0 -3
  787. package/src/features/endOfAssignment/model/model.ts +0 -57
  788. package/src/features/endOfAssignment/types.ts +0 -65
  789. package/src/features/endOfAssignment/ui/EOABadge.tsx +0 -47
  790. package/src/features/endOfAssignment/ui/PracticeButton.tsx +0 -27
  791. package/src/features/endOfAssignment/ui/PracticeButtonGroup.tsx +0 -73
  792. package/src/features/endOfAssignment/ui/SparkIcon.tsx +0 -15
  793. package/src/features/endOfAssignment/ui/ThumbUpIcon.tsx +0 -17
  794. package/src/lib/constants.ts +0 -3
  795. package/src/shared/hooks/useKeyDownListener.ts +0 -27
  796. package/src/shared/hooks/useKeyboard.ts +0 -18
  797. package/src/shared/icons/Halloween.tsx +0 -33
  798. package/src/shared/icons/Pi.tsx +0 -16
  799. package/src/shared/icons/Star.tsx +0 -16
  800. package/src/shared/icons/Valentine.tsx +0 -16
  801. package/src/shared/icons/Winter.tsx +0 -19
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  attach,
3
+ combine,
4
+ createEffect,
3
5
  createEvent,
6
+ createStore,
4
7
  restore,
5
8
  sample,
6
9
  type Store,
7
- createStore,
8
- createEffect,
9
- combine,
10
10
  } from 'effector'
11
- import { createControllerEffect, createEntityFieldStore } from '../../../lib/effector'
11
+ import { createControllerEffect } from '../../../lib/effector'
12
12
  import {
13
13
  ChatbotContext,
14
14
  ChatbotModelProps,
15
- ConversationMessage,
15
+ IChatDrawBoardAdapter,
16
16
  SendHelpParams,
17
17
  SendHelpProps,
18
18
  SetHintMessageProps,
@@ -20,20 +20,32 @@ import {
20
20
  StartConversationProps,
21
21
  } from '../types/model.types'
22
22
  import { GetAlternativesResponse } from '../types/api.types'
23
- import { ChatbotAPI } from './api'
23
+ import { ChatbotAPI } from './ChatbotApi'
24
24
  import { ChatbotTranslation } from './translation'
25
- import { ChatTextToSpeechModel } from './t2s'
26
- import { AudioProvider } from '../types/t2s.types'
25
+ import { ChatTextToSpeechModel, T2SConfig } from './t2s'
27
26
  import { messagesHelper } from './messagesHelper'
27
+ import { ChatBotThreadManager } from './ChatBotThreadManager'
28
+ import { ChatsCacheModel, defaultChatData } from './ChatsCacheModel'
29
+ import { ErrorSpottingModel } from '../errorSpotting/ErrorSpottingModel'
30
+ import { withEvent } from '../../../lib/effector/withEvent'
31
+ import { ChatBotTextManager } from './ChatBoxTextManager'
28
32
 
29
33
  type ReinitConversationProps = {
30
34
  key: string
31
35
  }
32
36
 
33
37
  export class ChatbotModel {
34
- readonly api: ChatbotAPI
35
- readonly translation: ChatbotTranslation
36
- readonly t2s: ChatTextToSpeechModel
38
+ public readonly textManager = new ChatBotTextManager()
39
+ private readonly defaultMessages = this.textManager.messages
40
+
41
+ public readonly threadManager = new ChatBotThreadManager({
42
+ messages: this.defaultMessages,
43
+ })
44
+ public readonly api: ChatbotAPI
45
+
46
+ public readonly translation: ChatbotTranslation
47
+ public readonly t2s: ChatTextToSpeechModel
48
+ public readonly errorSpotting: ErrorSpottingModel
37
49
 
38
50
  public readonly $currentKey = createStore('')
39
51
 
@@ -55,92 +67,81 @@ export class ChatbotModel {
55
67
  readonly setScrollActive = createEvent<boolean>()
56
68
  readonly $isScrollActive = restore(this.setScrollActive, false)
57
69
 
58
- readonly sendHelpRequestFx
59
-
60
- readonly defaultMessages: ChatbotModelProps['messages']
61
-
62
- readonly messages = createEntityFieldStore<ConversationMessage[]>()
63
- readonly threadIds = createEntityFieldStore<string>()
64
- readonly availableChats = createEntityFieldStore<boolean>()
70
+ private readonly cache = new ChatsCacheModel()
65
71
 
66
72
  public readonly $currentChatData = combine(
67
- {
68
- messages: this.messages.$state,
69
- threadIds: this.threadIds.$state,
70
- availableChats: this.availableChats.$state,
71
- key: this.$currentKey,
72
- },
73
- ({ messages, threadIds, availableChats, key }) => {
74
- return {
75
- messages: messages[key] ?? [],
76
- threadId: threadIds[key] ?? null,
77
- isAvailable: availableChats[key] ?? false,
78
- key,
79
- }
80
- },
73
+ { data: this.cache.$data, key: this.$currentKey },
74
+ ({ data, key }) => (data[key] ? { ...data[key], key } : { ...defaultChatData(), key }),
81
75
  )
82
76
 
83
- constructor({ api, messages, $key }: ChatbotModelProps) {
84
- this.api = new ChatbotAPI(api)
77
+ constructor({ api, $key, threadMessagesLimit }: ChatbotModelProps) {
78
+ this.api = new ChatbotAPI({ ...api, postMessage: this.threadManager.postMessage })
85
79
 
86
- this.defaultMessages = messages
87
- if ($key) sample({ source: $key, target: this.$currentKey })
80
+ this.threadManager.setApi({ getHint: api.requestHint })
81
+ if (threadMessagesLimit) {
82
+ this.threadManager.setMessagesLimit(threadMessagesLimit)
83
+ }
88
84
 
89
85
  this.$alternatives = restore(this.api.getAlternativesFx.doneData, null)
90
86
  .on(this.setAlternatives, (_, payload) => payload)
91
87
  .reset(this.resetAlternatives)
92
88
 
89
+ this.t2s = new ChatTextToSpeechModel({ api: this.api })
93
90
  this.translation = new ChatbotTranslation({
94
91
  $context: this.$context,
95
- defaultMessages: messages,
92
+ defaultMessages: this.defaultMessages,
96
93
  $key: this.$currentKey,
97
94
  api: this.api,
98
- messagesModel: this.messages,
99
95
  alternativesModel: {
100
96
  $store: this.$alternatives,
101
97
  set: this.setAlternatives,
102
98
  },
99
+ chats: this.cache,
100
+ })
101
+
102
+ this.errorSpotting = new ErrorSpottingModel({
103
+ api: this.api,
104
+ $currentChatData: this.$currentChatData,
103
105
  })
104
106
 
105
- this.t2s = new ChatTextToSpeechModel({ $isOpen: this.$isOpen, api: this.api })
107
+ if ($key) this.bindKey($key)
106
108
 
107
- this.sendHelpRequestFx = this.createSendHelpRequestFx()
108
- this.initChatReplyWatcher()
109
+ sample({
110
+ source: this.$isOpen.updates,
111
+ filter: (isOpen) => !isOpen,
112
+ target: this.t2s.reset,
113
+ })
114
+
115
+ sample({
116
+ clock: this.removeLastMessage,
117
+ source: [this.$lastMessageKey, this.cache.$data] as const,
118
+ fn: ([lastMessageKey, chatsData]) => {
119
+ const chat = chatsData[lastMessageKey ?? '']
120
+ if (!chat) return { key: '', data: {} }
121
+ const updatedMessages = [...chat.messages]
122
+ updatedMessages.pop()
123
+ return { key: lastMessageKey ?? '', data: { messages: updatedMessages } }
124
+ },
125
+ filter: ([lastMessageKey]) => !!lastMessageKey,
126
+ target: this.cache.update,
127
+ })
109
128
  }
110
129
 
111
130
  private createSendHelpRequestFx() {
112
131
  const effect = attach({
113
- source: [
114
- this.$currentKey,
115
- this.translation.$isTranslated,
116
- this.$currentChatData,
117
- this.$context,
118
- ],
119
- mapParams: (params: SendHelpParams, [key, isTranslated, currentData, context]) => ({
132
+ source: [this.$currentKey, this.$context],
133
+ mapParams: (params: SendHelpParams, [key, context]) => ({
120
134
  message: params.message,
121
135
  translatedMessage: params.translatedMessage,
122
136
  context,
123
137
  key,
124
- isTranslated,
125
- threadId: currentData.threadId,
126
138
  }),
127
139
  effect: createControllerEffect(
128
- async ({
129
- message,
130
- translatedMessage,
131
- key,
132
- isTranslated,
133
- threadId,
134
- context,
135
- }: SendHelpProps) => {
140
+ async ({ message, translatedMessage, key, context }: SendHelpProps) => {
136
141
  if (!context) throw new Error('Context is required')
137
142
  this.setLastMessageKey(key)
138
- this.messages.setField({
139
- key,
140
- fn: (currentMessages) => [
141
- ...(currentMessages || []),
142
- messagesHelper.createOwn({ message, translatedMessage, threadId }),
143
- ],
143
+ this.cache.addMessages(key, {
144
+ messages: [messagesHelper.createOwn({ message, translatedMessage })],
144
145
  })
145
146
 
146
147
  const response = await this.api.postMessageFx({
@@ -148,25 +149,21 @@ export class ChatbotModel {
148
149
  language: context.language,
149
150
  problemAnswer: context.problemAnswer,
150
151
  answer: context.answer,
151
- threadId,
152
152
  imageAltText: context.imageDescription,
153
153
  })
154
- let messages = [messagesHelper.createAnswer(response)]
154
+ const thread = this.threadManager.get(key)
155
+ let messages = [
156
+ messagesHelper.createAnswer(response, { isInitial: thread?.history.length === 1 }),
157
+ ]
155
158
  if (response.endMessage) {
156
159
  messages.push(messagesHelper.createLast(this.defaultMessages.endMessage))
157
160
  }
158
- if (isTranslated) {
159
- messages = await this.translation.translateMessagesFx({
160
- targetLanguage: context.translationTargetLanguage,
161
- messages,
162
- })
163
- }
164
-
165
- this.messages.setField({
166
- key,
167
- fn: (currentMessages) => [...(currentMessages || []), ...messages],
161
+ messages = await this.translation.applyTranslationFx({
162
+ targetLanguage: context.translationTargetLanguage,
163
+ messages,
168
164
  })
169
- this.threadIds.setField({ key, data: response.threadId })
165
+
166
+ this.cache.addMessages(key, { messages, thread })
170
167
  },
171
168
  ),
172
169
  })
@@ -174,29 +171,39 @@ export class ChatbotModel {
174
171
  sample({
175
172
  clock: effect.fail,
176
173
  source: this.$currentChatData,
177
- fn: ({ key, messages }) => ({ key, data: [...messages, this.defaultMessages.error] }),
174
+ fn: ({ key, messages }) => ({
175
+ key,
176
+ data: { messages: [...messages, this.defaultMessages.error] },
177
+ }),
178
178
  filter: (_, { error }) => error.message !== 'Request aborted manually',
179
- target: this.messages.setField,
179
+ target: this.cache.update,
180
180
  })
181
181
 
182
182
  return effect
183
183
  }
184
184
 
185
- private initChatReplyWatcher() {
185
+ public bindKey($store: Store<string>) {
186
186
  sample({
187
- clock: this.removeLastMessage,
188
- source: [this.$lastMessageKey, this.messages.$state] as const,
189
- fn: ([lastMessageKey, messages]) => {
190
- if (!lastMessageKey) return { key: '', data: [] }
191
- const updatedMessages = [...messages[lastMessageKey]]
192
- updatedMessages.pop()
193
- return { key: lastMessageKey, data: updatedMessages }
194
- },
195
- filter: ([lastMessageKey]) => !!lastMessageKey,
196
- target: this.messages.setField,
187
+ source: $store,
188
+ target: this.$currentKey,
197
189
  })
190
+ this.threadManager.bindKeyStore($store)
191
+ return this
192
+ }
193
+
194
+ public setUpT2S(config: T2SConfig) {
195
+ this.t2s.setConfig(config)
196
+ return this
198
197
  }
199
198
 
199
+ public setDrawBoardAdapter(adapter: IChatDrawBoardAdapter) {
200
+ this.threadManager.setDrawBoardAdapter(adapter)
201
+ this.errorSpotting.bindStrokesValidation(adapter.$strokesValidationKey)
202
+ return this
203
+ }
204
+
205
+ public readonly sendHelpRequestFx = this.createSendHelpRequestFx()
206
+
200
207
  public readonly startConversation = attach({
201
208
  source: this.$currentChatData,
202
209
  mapParams: (props: StartConversationProps | void, source) => ({
@@ -208,54 +215,54 @@ export class ChatbotModel {
208
215
  if (initOnly) return
209
216
  return this.reinitConversation({ key })
210
217
  }
211
- this.messages.setField({ key, data: [this.defaultMessages.start] })
212
- this.availableChats.setField({ key, data: true })
218
+ this.cache.add(key, {
219
+ messages: [this.defaultMessages.start],
220
+ isAvailable: true,
221
+ currentThread: null,
222
+ })
213
223
  }),
214
224
  })
215
225
 
216
226
  public setHintMessage({ key, ...message }: SetHintMessageProps) {
217
227
  const options = this.$alternatives.getState()?.options.hints ?? message.options
218
- this.messages.setField({
219
- key,
220
- fn: (messages) => {
221
- if (!messages || messages.length > 1) return
222
- return [{ ...message, options }]
223
- },
224
- })
228
+ this.cache.setSingleMessage(key, { ...message, options })
225
229
  }
226
230
 
227
- public readonly reinitConversation = createEffect(({ key }: ReinitConversationProps) => {
228
- this.messages.setField({
229
- key,
230
- fn: (messages) => {
231
- if (!messages?.length || messages.length === 1) return
232
- const copy = [...messages]
233
- while (copy.at(-1)?.endMessage) {
234
- copy.pop()
235
- }
236
-
237
- const lastMessage = copy.at(-1)
238
- if (!lastMessage) return
239
-
240
- copy.splice(copy.length - 1, 1, {
241
- ...lastMessage,
242
- options: [this.defaultMessages.anotherHintOption],
243
- })
244
- return copy
245
- },
246
- })
247
- })
248
-
249
- public bindKey($store: Store<string>) {
250
- sample({
251
- source: $store,
252
- target: this.$currentKey,
253
- })
254
- return this
231
+ public readonly reinitConversation = ({ key }: ReinitConversationProps) => {
232
+ this.cache.reinitChatThread(key, { initialOption: this.defaultMessages.anotherHintOption })
233
+ this.threadManager.reset(key)
255
234
  }
256
235
 
257
- public setT2SAudioProvider(audioProvider: AudioProvider) {
258
- this.t2s.setAudioProvider(audioProvider)
259
- return this
236
+ public disableChat(key: string) {
237
+ this.t2s.stop()
238
+ void this.t2s.reset()
239
+ this.cache.disableChat(key)
260
240
  }
241
+
242
+ public softReset = attach({
243
+ source: {
244
+ isLoading: this.sendHelpRequestFx.pending,
245
+ lastMessageKey: this.$lastMessageKey,
246
+ },
247
+ mapParams: (_: void, { isLoading, lastMessageKey }) => !!(isLoading && lastMessageKey),
248
+ effect: createEffect((hasPendingMessage: boolean) => {
249
+ if (hasPendingMessage) {
250
+ this.api.postMessageFx.controller.abort()
251
+ this.removeLastMessage()
252
+ }
253
+ this.errorSpotting.abortPendingRequest()
254
+
255
+ this.t2s.stop()
256
+ void this.t2s.reset()
257
+ this.translation.reset()
258
+ this.setScrollActive(false)
259
+ }),
260
+ })
261
+
262
+ public readonly reset = withEvent(() => {
263
+ this.cache.reset()
264
+ this.resetAlternatives()
265
+ this.threadManager.reset()
266
+ this.errorSpotting.reset()
267
+ })
261
268
  }
@@ -1,6 +1,5 @@
1
1
  import { ThreadItem } from './ThreadItem'
2
2
  import { Store } from 'effector'
3
- import { createEffect } from 'effector/effector.umd'
4
3
  import {
5
4
  ChatHintPayload,
6
5
  ChatHintResponse,
@@ -10,25 +9,23 @@ import {
10
9
  import { ChatbotMessages, IChatDrawBoardAdapter } from '../types/model.types'
11
10
  import { CHAT_BOT_MODEL_DEFAULTS } from './constants'
12
11
 
13
- type ChatMessageHandlerProps = {
14
- messagesLimit?: number
15
- messages: ChatbotMessages
16
- drawBoardAdapter: IChatDrawBoardAdapter
17
- api: {
18
- getHint: (props: ChatHintPayload) => Promise<ChatHintResponse>
19
- }
12
+ type ThreadManagerApi = {
13
+ getHint: (props: ChatHintPayload) => Promise<ChatHintResponse>
20
14
  }
21
15
 
22
- type ResetCacheProps = {
23
- key: string
16
+ type ChatBotThreadManagerProps = {
17
+ messagesLimit?: number
18
+ drawBoardAdapter?: IChatDrawBoardAdapter
19
+ messages: ChatbotMessages
20
+ api?: ThreadManagerApi
24
21
  }
25
22
 
26
- export class ChatMessageHandler {
27
- private readonly api
28
- private readonly drawBoardAdapter: IChatDrawBoardAdapter
23
+ export class ChatBotThreadManager {
24
+ private api: ThreadManagerApi | null = null
25
+ private drawBoardAdapter: IChatDrawBoardAdapter | null = null
29
26
  private readonly threads = new Map<string, ThreadItem>()
30
27
 
31
- private readonly messagesLimit
28
+ private messagesLimit
32
29
  private currentKey = ''
33
30
  private currentBinding: null | (() => void) = null
34
31
 
@@ -39,9 +36,9 @@ export class ChatMessageHandler {
39
36
  api,
40
37
  messagesLimit = CHAT_BOT_MODEL_DEFAULTS.THREAD_MESSAGES_LIMIT,
41
38
  messages,
42
- }: ChatMessageHandlerProps) {
43
- this.api = api
44
- this.drawBoardAdapter = drawBoardAdapter
39
+ }: ChatBotThreadManagerProps) {
40
+ if (api) this.api = api
41
+ this.drawBoardAdapter = drawBoardAdapter ?? null
45
42
  this.messagesLimit = messagesLimit
46
43
  this.defaultMessages = messages
47
44
  }
@@ -58,9 +55,16 @@ export class ChatMessageHandler {
58
55
  const key = this.currentKey
59
56
  let threadItem = this.threads.get(key)
60
57
  if (threadItem) return threadItem
58
+ if (!this.drawBoardAdapter) {
59
+ threadItem = new ThreadItem()
60
+ this.threads.set(key, threadItem)
61
+ return threadItem
62
+ }
61
63
  try {
62
- const strokes = await this.drawBoardAdapter.getVisibleStrokes()
63
- threadItem = new ThreadItem({ strokes })
64
+ const result = await this.drawBoardAdapter.getVisibleStrokes()
65
+ threadItem = new ThreadItem(
66
+ result ? { strokes: result.strokes, key: result.validationKey } : null,
67
+ )
64
68
  } catch {
65
69
  threadItem = new ThreadItem()
66
70
  }
@@ -68,13 +72,22 @@ export class ChatMessageHandler {
68
72
  return threadItem
69
73
  }
70
74
 
71
- public readonly postMessageFx = async ({
75
+ public setDrawBoardAdapter(adapter: IChatDrawBoardAdapter) {
76
+ this.drawBoardAdapter = adapter
77
+ }
78
+
79
+ public readonly postMessage = async ({
72
80
  problemAnswer,
73
81
  problem,
74
82
  answer,
75
83
  language,
76
84
  imageAltText,
77
85
  }: PostMessagePayload): Promise<PostMessageResponse> => {
86
+ if (!this.api) {
87
+ throw new Error(
88
+ 'API is not set in ThreadManagersApi, pls provide API before sending requests',
89
+ )
90
+ }
78
91
  const threadItem = await this.getThreadItem()
79
92
 
80
93
  const result = await this.api.getHint({
@@ -86,23 +99,36 @@ export class ChatMessageHandler {
86
99
  imageAltText,
87
100
  })
88
101
 
89
- threadItem.hints.push(result.message)
102
+ threadItem.history.push(result.message)
90
103
  const nextOptions =
91
- threadItem.hints.length < this.messagesLimit ? [this.defaultMessages.anotherHintOption] : []
104
+ threadItem.history.length < this.messagesLimit ? [this.defaultMessages.anotherHintOption] : []
92
105
 
93
106
  return {
94
107
  message: result.message,
95
108
  options: nextOptions,
96
- threadId: '',
97
109
  endMessage: !nextOptions.length,
110
+ threadId: threadItem.id,
98
111
  }
99
112
  }
100
113
 
101
- public resetThread = createEffect(({ key }: ResetCacheProps) => {
102
- this.threads.delete(key)
103
- })
114
+ public get(key: string) {
115
+ return this.threads.get(key)
116
+ }
104
117
 
105
- public resetAll() {
118
+ public reset(key?: string) {
119
+ if (typeof key === 'string') {
120
+ this.threads.delete(key)
121
+ return
122
+ }
106
123
  this.threads.clear()
107
124
  }
125
+
126
+ public setMessagesLimit(limit: number) {
127
+ this.messagesLimit = limit
128
+ }
129
+
130
+ public setApi(api: ThreadManagerApi) {
131
+ this.api = api
132
+ return this
133
+ }
108
134
  }
@@ -0,0 +1,18 @@
1
+ import { DefaultMessagesCreator } from './DefaultMessageCreator'
2
+ import { TranslationKeys } from '../../../shared/translation/types'
3
+ import { getText } from '../../../shared/translation/helpers'
4
+ import { ChatbotMessages } from '../types/model.types'
5
+ import { $localization } from '../../../shared/translation'
6
+
7
+ export class ChatBotTextManager {
8
+ private readonly messagesCreator = new DefaultMessagesCreator<TranslationKeys>({
9
+ textGetter: getText,
10
+ }).bindToLanguageChanged($localization.updates)
11
+
12
+ public readonly messages: ChatbotMessages = {
13
+ error: this.messagesCreator.createMessage('chat.errorMessage'),
14
+ start: this.messagesCreator.createMessage('chat.howCanIHelp'),
15
+ endMessage: this.messagesCreator.createMessage('chat.answerAgain'),
16
+ anotherHintOption: this.messagesCreator.createOption('chat.anotherHint'),
17
+ }
18
+ }
@@ -1,8 +1,9 @@
1
1
  import { createEffect } from 'effector'
2
2
  import { createControllerEffect } from '../../../lib/effector'
3
- import { ChatbotModelProps } from '../types/model.types'
3
+ import { ChatbotApiRequests, SpotErrorPayload, SpotErrorResponse } from '../types/model.types'
4
4
  import { GoogleTranslatePayload, GoogleTranslateResponse } from '../types/api.types'
5
5
  import { replaceKatexSyntax } from '../helpers'
6
+ import { getRandomElements } from '../../../lib/helpers/randomElements'
6
7
 
7
8
  export class ChatbotAPI {
8
9
  public readonly postMessageFx
@@ -10,7 +11,23 @@ export class ChatbotAPI {
10
11
  public readonly translateTextFx
11
12
  public readonly textToSpeechTextFx
12
13
 
13
- constructor(api: ChatbotModelProps['api']) {
14
+ public readonly spotErrorFx
15
+
16
+ constructor(api: ChatbotApiRequests) {
17
+ this.spotErrorFx = createControllerEffect(
18
+ (props: SpotErrorPayload): Promise<SpotErrorResponse> => {
19
+ return new Promise<SpotErrorResponse>((res) => {
20
+ if (props.strokes.length <= 3) return res({ strokesIds: [] })
21
+ setTimeout(() => {
22
+ const randomStrokes = getRandomElements(props.strokes, 4)
23
+ res({
24
+ strokesIds: randomStrokes.map((stroke) => stroke.id ?? ''),
25
+ })
26
+ }, 1000)
27
+ })
28
+ },
29
+ )
30
+ // this.spotErrorFx = createControllerEffect(api.spotError)
14
31
  this.postMessageFx = createControllerEffect(api.postMessage)
15
32
  this.getAlternativesFx = createEffect(api.getAlternatives)
16
33
  this.translateTextFx = createEffect(
@@ -0,0 +1,95 @@
1
+ import { createEvent } from 'effector'
2
+ import { createEntityFieldStore } from '../../../lib/effector'
3
+ import { ChatAnswer, ChatItem, ConversationMessage } from '../types/units.types'
4
+ import { ThreadItem } from './ThreadItem'
5
+
6
+ type ReinitChatThreadSettings = {
7
+ initialOption: ChatAnswer
8
+ }
9
+
10
+ type UpdateProps = {
11
+ key: string
12
+ data: Partial<ChatItem>
13
+ }
14
+
15
+ type AddMessagesProps = {
16
+ messages: ConversationMessage[]
17
+ thread?: ThreadItem | null
18
+ }
19
+
20
+ export function defaultChatData(props: Partial<ChatItem> = {}): ChatItem {
21
+ return {
22
+ messages: [],
23
+ isAvailable: false,
24
+ currentThread: null,
25
+ ...props,
26
+ }
27
+ }
28
+
29
+ export class ChatsCacheModel {
30
+ public readonly update = createEvent<UpdateProps>()
31
+ private readonly cache = createEntityFieldStore<ChatItem>().on(
32
+ this.update,
33
+ (state, { key, data }) => {
34
+ const currentData = state[key] ?? defaultChatData()
35
+ return { ...state, [key]: { ...currentData, ...data } }
36
+ },
37
+ )
38
+
39
+ public readonly $data = this.cache.$state
40
+ public readonly reset = this.cache.reset
41
+
42
+ public disableChat(key: string) {
43
+ this.cache.setField({
44
+ key,
45
+ fn: (current) =>
46
+ current ? { ...current, isAvailable: false } : defaultChatData({ isAvailable: false }),
47
+ })
48
+ }
49
+
50
+ public reinitChatThread(key: string, { initialOption }: ReinitChatThreadSettings) {
51
+ this.cache.setField({
52
+ key,
53
+ fn: (current) => {
54
+ if (!current || current.messages.length <= 1) return
55
+ const copy = [...current.messages]
56
+ while (copy.at(-1)?.endMessage) {
57
+ copy.pop()
58
+ }
59
+ const lastMessage = copy.at(-1)
60
+ if (!lastMessage) return
61
+ copy.splice(copy.length - 1, 1, {
62
+ ...lastMessage,
63
+ options: [initialOption],
64
+ })
65
+ return { ...current, messages: copy }
66
+ },
67
+ })
68
+ }
69
+
70
+ public setSingleMessage(key: string, message: ConversationMessage) {
71
+ this.cache.setField({
72
+ key,
73
+ fn: (current) => {
74
+ if (!current || current.messages.length > 1) return
75
+ return { ...current, messages: [message] }
76
+ },
77
+ })
78
+ }
79
+
80
+ public addMessages(key: string, { messages, thread = null }: AddMessagesProps) {
81
+ this.cache.setField({
82
+ key,
83
+ fn: (current) => {
84
+ if (!current) return defaultChatData({ messages, currentThread: thread })
85
+ const result = { ...current, messages: [...current.messages, ...messages] }
86
+ if (thread) result.currentThread = thread
87
+ return result
88
+ },
89
+ })
90
+ }
91
+
92
+ public add(key: string, data: ChatItem) {
93
+ this.cache.setField({ key, data })
94
+ }
95
+ }