@magmamath/students-features 0.3.2 → 0.4.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 (248) hide show
  1. package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js +12 -4
  2. package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.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/ReceivedMessage.js +6 -4
  5. package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -1
  6. package/dist/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.js +12 -1
  7. package/dist/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.js.map +1 -1
  8. package/dist/commonjs/features/chatbot/components/Chatbot.js +5 -1
  9. package/dist/commonjs/features/chatbot/components/Chatbot.js.map +1 -1
  10. package/dist/commonjs/features/chatbot/context/ChatBotContext.js +17 -0
  11. package/dist/commonjs/features/chatbot/context/ChatBotContext.js.map +1 -0
  12. package/dist/commonjs/features/chatbot/errorSpotting/ErrorSpottingButton.js +58 -0
  13. package/dist/commonjs/features/chatbot/errorSpotting/ErrorSpottingButton.js.map +1 -0
  14. package/dist/commonjs/features/chatbot/errorSpotting/ErrorSpottingModel.js +99 -0
  15. package/dist/commonjs/features/chatbot/errorSpotting/ErrorSpottingModel.js.map +1 -0
  16. package/dist/commonjs/features/chatbot/index.js +0 -7
  17. package/dist/commonjs/features/chatbot/index.js.map +1 -1
  18. package/dist/commonjs/features/chatbot/model/ChatBotModel.js +136 -117
  19. package/dist/commonjs/features/chatbot/model/ChatBotModel.js.map +1 -1
  20. package/dist/commonjs/features/chatbot/model/{ChatBotMessageHandler.js → ChatBotThreadManager.js} +28 -17
  21. package/dist/commonjs/features/chatbot/model/ChatBotThreadManager.js.map +1 -0
  22. package/dist/commonjs/features/chatbot/model/{api.js → ChatbotApi.js} +16 -1
  23. package/dist/commonjs/features/chatbot/model/ChatbotApi.js.map +1 -0
  24. package/dist/commonjs/features/chatbot/model/ChatsCacheModel.js +110 -0
  25. package/dist/commonjs/features/chatbot/model/ChatsCacheModel.js.map +1 -0
  26. package/dist/commonjs/features/chatbot/model/DefaultMessageCreator.js +0 -1
  27. package/dist/commonjs/features/chatbot/model/DefaultMessageCreator.js.map +1 -1
  28. package/dist/commonjs/features/chatbot/model/ThreadItem.js +21 -8
  29. package/dist/commonjs/features/chatbot/model/ThreadItem.js.map +1 -1
  30. package/dist/commonjs/features/chatbot/model/messagesHelper.js +1 -5
  31. package/dist/commonjs/features/chatbot/model/messagesHelper.js.map +1 -1
  32. package/dist/commonjs/features/chatbot/model/t2s.js +0 -6
  33. package/dist/commonjs/features/chatbot/model/t2s.js.map +1 -1
  34. package/dist/commonjs/features/chatbot/model/translation.helpers.js.map +1 -1
  35. package/dist/commonjs/features/chatbot/model/translation.js +54 -45
  36. package/dist/commonjs/features/chatbot/model/translation.js.map +1 -1
  37. package/dist/commonjs/features/chatbot/types/api.types.js +4 -0
  38. package/dist/commonjs/features/chatbot/types/model.types.js.map +1 -1
  39. package/dist/commonjs/features/chatbot/types/units.types.js +2 -0
  40. package/dist/commonjs/features/chatbot/types/units.types.js.map +1 -0
  41. package/dist/commonjs/features/feedback/components/TeacherFeedbackButton/colorSchemes.js +18 -9
  42. package/dist/commonjs/features/feedback/components/TeacherFeedbackButton/colorSchemes.js.map +1 -1
  43. package/dist/commonjs/lib/effector/createEntityFieldStore.js +4 -0
  44. package/dist/commonjs/lib/effector/createEntityFieldStore.js.map +1 -1
  45. package/dist/commonjs/lib/helpers/randomElements.js +24 -0
  46. package/dist/commonjs/lib/helpers/randomElements.js.map +1 -0
  47. package/dist/commonjs/shared/icons/HighlighterIcon.js +36 -0
  48. package/dist/commonjs/shared/icons/HighlighterIcon.js.map +1 -0
  49. package/dist/commonjs/shared/icons/StopIcon.js +33 -0
  50. package/dist/commonjs/shared/icons/StopIcon.js.map +1 -0
  51. package/dist/commonjs/shared/icons/icon.types.js +4 -0
  52. package/dist/module/features/chatbot/components/ChatControls/ChatControls.js +12 -4
  53. package/dist/module/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
  54. package/dist/module/features/chatbot/components/ChatMessage/ChatMessage.js.map +1 -1
  55. package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js +6 -4
  56. package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -1
  57. package/dist/module/features/chatbot/components/ChatMessages/ChatbotMessages.js +12 -1
  58. package/dist/module/features/chatbot/components/ChatMessages/ChatbotMessages.js.map +1 -1
  59. package/dist/module/features/chatbot/components/Chatbot.js +6 -2
  60. package/dist/module/features/chatbot/components/Chatbot.js.map +1 -1
  61. package/dist/module/features/chatbot/context/ChatBotContext.js +12 -0
  62. package/dist/module/features/chatbot/context/ChatBotContext.js.map +1 -0
  63. package/dist/module/features/chatbot/errorSpotting/ErrorSpottingButton.js +52 -0
  64. package/dist/module/features/chatbot/errorSpotting/ErrorSpottingButton.js.map +1 -0
  65. package/dist/module/features/chatbot/errorSpotting/ErrorSpottingModel.js +94 -0
  66. package/dist/module/features/chatbot/errorSpotting/ErrorSpottingModel.js.map +1 -0
  67. package/dist/module/features/chatbot/index.js +0 -1
  68. package/dist/module/features/chatbot/index.js.map +1 -1
  69. package/dist/module/features/chatbot/model/ChatBotModel.js +138 -119
  70. package/dist/module/features/chatbot/model/ChatBotModel.js.map +1 -1
  71. package/dist/module/features/chatbot/model/{ChatBotMessageHandler.js → ChatBotThreadManager.js} +26 -15
  72. package/dist/module/features/chatbot/model/ChatBotThreadManager.js.map +1 -0
  73. package/dist/module/features/chatbot/model/{api.js → ChatbotApi.js} +16 -1
  74. package/dist/module/features/chatbot/model/ChatbotApi.js.map +1 -0
  75. package/dist/module/features/chatbot/model/ChatsCacheModel.js +104 -0
  76. package/dist/module/features/chatbot/model/ChatsCacheModel.js.map +1 -0
  77. package/dist/module/features/chatbot/model/DefaultMessageCreator.js +0 -1
  78. package/dist/module/features/chatbot/model/DefaultMessageCreator.js.map +1 -1
  79. package/dist/module/features/chatbot/model/ThreadItem.js +21 -8
  80. package/dist/module/features/chatbot/model/ThreadItem.js.map +1 -1
  81. package/dist/module/features/chatbot/model/messagesHelper.js +1 -5
  82. package/dist/module/features/chatbot/model/messagesHelper.js.map +1 -1
  83. package/dist/module/features/chatbot/model/t2s.js +1 -7
  84. package/dist/module/features/chatbot/model/t2s.js.map +1 -1
  85. package/dist/module/features/chatbot/model/translation.helpers.js.map +1 -1
  86. package/dist/module/features/chatbot/model/translation.js +54 -45
  87. package/dist/module/features/chatbot/model/translation.js.map +1 -1
  88. package/dist/module/features/chatbot/types/api.types.js +2 -0
  89. package/dist/module/features/chatbot/types/model.types.js.map +1 -1
  90. package/dist/module/features/chatbot/types/units.types.js +2 -0
  91. package/dist/module/features/chatbot/types/units.types.js.map +1 -0
  92. package/dist/module/features/feedback/components/TeacherFeedbackButton/colorSchemes.js +18 -9
  93. package/dist/module/features/feedback/components/TeacherFeedbackButton/colorSchemes.js.map +1 -1
  94. package/dist/module/lib/effector/createEntityFieldStore.js +4 -0
  95. package/dist/module/lib/effector/createEntityFieldStore.js.map +1 -1
  96. package/dist/module/lib/helpers/randomElements.js +20 -0
  97. package/dist/module/lib/helpers/randomElements.js.map +1 -0
  98. package/dist/module/shared/icons/HighlighterIcon.js +29 -0
  99. package/dist/module/shared/icons/HighlighterIcon.js.map +1 -0
  100. package/dist/module/shared/icons/StopIcon.js +26 -0
  101. package/dist/module/shared/icons/StopIcon.js.map +1 -0
  102. package/dist/module/shared/icons/icon.types.js +2 -0
  103. package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
  104. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ChatMessage.d.ts +1 -0
  105. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ChatMessage.d.ts.map +1 -1
  106. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts +1 -1
  107. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -1
  108. package/dist/typescript/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts.map +1 -1
  109. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts.map +1 -1
  110. package/dist/typescript/commonjs/features/chatbot/context/ChatBotContext.d.ts +8 -0
  111. package/dist/typescript/commonjs/features/chatbot/context/ChatBotContext.d.ts.map +1 -0
  112. package/dist/typescript/commonjs/features/chatbot/errorSpotting/ErrorSpottingButton.d.ts +3 -0
  113. package/dist/typescript/commonjs/features/chatbot/errorSpotting/ErrorSpottingButton.d.ts.map +1 -0
  114. package/dist/typescript/commonjs/features/chatbot/errorSpotting/ErrorSpottingModel.d.ts +28 -0
  115. package/dist/typescript/commonjs/features/chatbot/errorSpotting/ErrorSpottingModel.d.ts.map +1 -0
  116. package/dist/typescript/commonjs/features/chatbot/index.d.ts +4 -3
  117. package/dist/typescript/commonjs/features/chatbot/index.d.ts.map +1 -1
  118. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts +19 -14
  119. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  120. package/dist/typescript/{module/features/chatbot/model/ChatBotMessageHandler.d.ts → commonjs/features/chatbot/model/ChatBotThreadManager.d.ts} +11 -8
  121. package/dist/typescript/commonjs/features/chatbot/model/ChatBotThreadManager.d.ts.map +1 -0
  122. package/dist/typescript/commonjs/features/chatbot/model/{api.d.ts → ChatbotApi.d.ts} +4 -3
  123. package/dist/typescript/commonjs/features/chatbot/model/ChatbotApi.d.ts.map +1 -0
  124. package/dist/typescript/commonjs/features/chatbot/model/ChatsCacheModel.d.ts +26 -0
  125. package/dist/typescript/commonjs/features/chatbot/model/ChatsCacheModel.d.ts.map +1 -0
  126. package/dist/typescript/commonjs/features/chatbot/model/DefaultMessageCreator.d.ts +3 -2
  127. package/dist/typescript/commonjs/features/chatbot/model/DefaultMessageCreator.d.ts.map +1 -1
  128. package/dist/typescript/commonjs/features/chatbot/model/ThreadItem.d.ts +12 -6
  129. package/dist/typescript/commonjs/features/chatbot/model/ThreadItem.d.ts.map +1 -1
  130. package/dist/typescript/commonjs/features/chatbot/model/messagesHelper.d.ts +3 -4
  131. package/dist/typescript/commonjs/features/chatbot/model/messagesHelper.d.ts.map +1 -1
  132. package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts +2 -4
  133. package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts.map +1 -1
  134. package/dist/typescript/commonjs/features/chatbot/model/translation.d.ts +7 -8
  135. package/dist/typescript/commonjs/features/chatbot/model/translation.d.ts.map +1 -1
  136. package/dist/typescript/commonjs/features/chatbot/model/translation.helpers.d.ts +2 -1
  137. package/dist/typescript/commonjs/features/chatbot/model/translation.helpers.d.ts.map +1 -1
  138. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts +2 -11
  139. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts.map +1 -1
  140. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts +26 -19
  141. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts.map +1 -1
  142. package/dist/typescript/commonjs/features/chatbot/types/translation.types.d.ts +2 -1
  143. package/dist/typescript/commonjs/features/chatbot/types/translation.types.d.ts.map +1 -1
  144. package/dist/typescript/commonjs/features/chatbot/types/units.types.d.ts +31 -0
  145. package/dist/typescript/commonjs/features/chatbot/types/units.types.d.ts.map +1 -0
  146. package/dist/typescript/commonjs/features/feedback/components/TeacherFeedbackButton/colorSchemes.d.ts.map +1 -1
  147. package/dist/typescript/commonjs/lib/effector/createEntityFieldStore.d.ts +2 -0
  148. package/dist/typescript/commonjs/lib/effector/createEntityFieldStore.d.ts.map +1 -1
  149. package/dist/typescript/commonjs/lib/helpers/randomElements.d.ts +2 -0
  150. package/dist/typescript/commonjs/lib/helpers/randomElements.d.ts.map +1 -0
  151. package/dist/typescript/commonjs/shared/icons/HighlighterIcon.d.ts +4 -0
  152. package/dist/typescript/commonjs/shared/icons/HighlighterIcon.d.ts.map +1 -0
  153. package/dist/typescript/commonjs/shared/icons/StopIcon.d.ts +4 -0
  154. package/dist/typescript/commonjs/shared/icons/StopIcon.d.ts.map +1 -0
  155. package/dist/typescript/commonjs/shared/icons/icon.types.d.ts +2 -0
  156. package/dist/typescript/commonjs/shared/icons/icon.types.d.ts.map +1 -1
  157. package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
  158. package/dist/typescript/module/features/chatbot/components/ChatMessage/ChatMessage.d.ts +1 -0
  159. package/dist/typescript/module/features/chatbot/components/ChatMessage/ChatMessage.d.ts.map +1 -1
  160. package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts +1 -1
  161. package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -1
  162. package/dist/typescript/module/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts.map +1 -1
  163. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts.map +1 -1
  164. package/dist/typescript/module/features/chatbot/context/ChatBotContext.d.ts +8 -0
  165. package/dist/typescript/module/features/chatbot/context/ChatBotContext.d.ts.map +1 -0
  166. package/dist/typescript/module/features/chatbot/errorSpotting/ErrorSpottingButton.d.ts +3 -0
  167. package/dist/typescript/module/features/chatbot/errorSpotting/ErrorSpottingButton.d.ts.map +1 -0
  168. package/dist/typescript/module/features/chatbot/errorSpotting/ErrorSpottingModel.d.ts +28 -0
  169. package/dist/typescript/module/features/chatbot/errorSpotting/ErrorSpottingModel.d.ts.map +1 -0
  170. package/dist/typescript/module/features/chatbot/index.d.ts +4 -3
  171. package/dist/typescript/module/features/chatbot/index.d.ts.map +1 -1
  172. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts +19 -14
  173. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  174. package/dist/typescript/{commonjs/features/chatbot/model/ChatBotMessageHandler.d.ts → module/features/chatbot/model/ChatBotThreadManager.d.ts} +11 -8
  175. package/dist/typescript/module/features/chatbot/model/ChatBotThreadManager.d.ts.map +1 -0
  176. package/dist/typescript/module/features/chatbot/model/{api.d.ts → ChatbotApi.d.ts} +4 -3
  177. package/dist/typescript/module/features/chatbot/model/ChatbotApi.d.ts.map +1 -0
  178. package/dist/typescript/module/features/chatbot/model/ChatsCacheModel.d.ts +26 -0
  179. package/dist/typescript/module/features/chatbot/model/ChatsCacheModel.d.ts.map +1 -0
  180. package/dist/typescript/module/features/chatbot/model/DefaultMessageCreator.d.ts +3 -2
  181. package/dist/typescript/module/features/chatbot/model/DefaultMessageCreator.d.ts.map +1 -1
  182. package/dist/typescript/module/features/chatbot/model/ThreadItem.d.ts +12 -6
  183. package/dist/typescript/module/features/chatbot/model/ThreadItem.d.ts.map +1 -1
  184. package/dist/typescript/module/features/chatbot/model/messagesHelper.d.ts +3 -4
  185. package/dist/typescript/module/features/chatbot/model/messagesHelper.d.ts.map +1 -1
  186. package/dist/typescript/module/features/chatbot/model/t2s.d.ts +2 -4
  187. package/dist/typescript/module/features/chatbot/model/t2s.d.ts.map +1 -1
  188. package/dist/typescript/module/features/chatbot/model/translation.d.ts +7 -8
  189. package/dist/typescript/module/features/chatbot/model/translation.d.ts.map +1 -1
  190. package/dist/typescript/module/features/chatbot/model/translation.helpers.d.ts +2 -1
  191. package/dist/typescript/module/features/chatbot/model/translation.helpers.d.ts.map +1 -1
  192. package/dist/typescript/module/features/chatbot/types/api.types.d.ts +2 -11
  193. package/dist/typescript/module/features/chatbot/types/api.types.d.ts.map +1 -1
  194. package/dist/typescript/module/features/chatbot/types/model.types.d.ts +26 -19
  195. package/dist/typescript/module/features/chatbot/types/model.types.d.ts.map +1 -1
  196. package/dist/typescript/module/features/chatbot/types/translation.types.d.ts +2 -1
  197. package/dist/typescript/module/features/chatbot/types/translation.types.d.ts.map +1 -1
  198. package/dist/typescript/module/features/chatbot/types/units.types.d.ts +31 -0
  199. package/dist/typescript/module/features/chatbot/types/units.types.d.ts.map +1 -0
  200. package/dist/typescript/module/features/feedback/components/TeacherFeedbackButton/colorSchemes.d.ts.map +1 -1
  201. package/dist/typescript/module/lib/effector/createEntityFieldStore.d.ts +2 -0
  202. package/dist/typescript/module/lib/effector/createEntityFieldStore.d.ts.map +1 -1
  203. package/dist/typescript/module/lib/helpers/randomElements.d.ts +2 -0
  204. package/dist/typescript/module/lib/helpers/randomElements.d.ts.map +1 -0
  205. package/dist/typescript/module/shared/icons/HighlighterIcon.d.ts +4 -0
  206. package/dist/typescript/module/shared/icons/HighlighterIcon.d.ts.map +1 -0
  207. package/dist/typescript/module/shared/icons/StopIcon.d.ts +4 -0
  208. package/dist/typescript/module/shared/icons/StopIcon.d.ts.map +1 -0
  209. package/dist/typescript/module/shared/icons/icon.types.d.ts +2 -0
  210. package/dist/typescript/module/shared/icons/icon.types.d.ts.map +1 -1
  211. package/package.json +4 -4
  212. package/src/features/chatbot/components/ChatControls/ChatControls.tsx +10 -3
  213. package/src/features/chatbot/components/ChatMessage/ChatMessage.tsx +1 -0
  214. package/src/features/chatbot/components/ChatMessage/ReceivedMessage.tsx +3 -0
  215. package/src/features/chatbot/components/ChatMessages/ChatbotMessages.tsx +14 -0
  216. package/src/features/chatbot/components/Chatbot.tsx +3 -2
  217. package/src/features/chatbot/context/ChatBotContext.ts +18 -0
  218. package/src/features/chatbot/errorSpotting/ErrorSpottingButton.tsx +53 -0
  219. package/src/features/chatbot/errorSpotting/ErrorSpottingModel.ts +116 -0
  220. package/src/features/chatbot/index.ts +3 -3
  221. package/src/features/chatbot/model/ChatBotModel.ts +123 -124
  222. package/src/features/chatbot/model/{ChatBotMessageHandler.ts → ChatBotThreadManager.ts} +28 -16
  223. package/src/features/chatbot/model/{api.ts → ChatbotApi.ts} +19 -2
  224. package/src/features/chatbot/model/ChatsCacheModel.ts +94 -0
  225. package/src/features/chatbot/model/DefaultMessageCreator.ts +3 -3
  226. package/src/features/chatbot/model/ThreadItem.ts +20 -9
  227. package/src/features/chatbot/model/messagesHelper.ts +2 -6
  228. package/src/features/chatbot/model/t2s.ts +3 -10
  229. package/src/features/chatbot/model/translation.helpers.ts +2 -1
  230. package/src/features/chatbot/model/translation.ts +52 -46
  231. package/src/features/chatbot/types/api.types.ts +2 -12
  232. package/src/features/chatbot/types/model.types.ts +38 -26
  233. package/src/features/chatbot/types/translation.types.ts +2 -1
  234. package/src/features/chatbot/types/units.types.ts +34 -0
  235. package/src/features/feedback/components/TeacherFeedbackButton/colorSchemes.ts +9 -0
  236. package/src/lib/effector/createEntityFieldStore.ts +9 -1
  237. package/src/lib/helpers/randomElements.ts +22 -0
  238. package/src/shared/icons/HighlighterIcon.tsx +21 -0
  239. package/src/shared/icons/StopIcon.tsx +17 -0
  240. package/src/shared/icons/icon.types.ts +9 -6
  241. package/dist/commonjs/features/chatbot/model/ChatBotMessageHandler.js.map +0 -1
  242. package/dist/commonjs/features/chatbot/model/api.js.map +0 -1
  243. package/dist/module/features/chatbot/model/ChatBotMessageHandler.js.map +0 -1
  244. package/dist/module/features/chatbot/model/api.js.map +0 -1
  245. package/dist/typescript/commonjs/features/chatbot/model/ChatBotMessageHandler.d.ts.map +0 -1
  246. package/dist/typescript/commonjs/features/chatbot/model/api.d.ts.map +0 -1
  247. package/dist/typescript/module/features/chatbot/model/ChatBotMessageHandler.d.ts.map +0 -1
  248. package/dist/typescript/module/features/chatbot/model/api.d.ts.map +0 -1
@@ -6,10 +6,13 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.ChatbotModel = void 0;
7
7
  var _effector = require("effector");
8
8
  var _index = require("../../../lib/effector/index.js");
9
- var _api = require("./api.js");
9
+ var _ChatbotApi = require("./ChatbotApi.js");
10
10
  var _translation = require("./translation.js");
11
11
  var _t2s = require("./t2s.js");
12
12
  var _messagesHelper = require("./messagesHelper.js");
13
+ var _ChatBotThreadManager = require("./ChatBotThreadManager.js");
14
+ var _ChatsCacheModel = require("./ChatsCacheModel.js");
15
+ var _ErrorSpottingModel = require("../errorSpotting/ErrorSpottingModel.js");
13
16
  class ChatbotModel {
14
17
  $currentKey = (0, _effector.createStore)('');
15
18
  resetAlternatives = (0, _effector.createEvent)();
@@ -24,84 +27,106 @@ class ChatbotModel {
24
27
  $context = (0, _effector.restore)(this.setContext, null);
25
28
  setScrollActive = (0, _effector.createEvent)();
26
29
  $isScrollActive = (0, _effector.restore)(this.setScrollActive, false);
27
- messages = (0, _index.createEntityFieldStore)();
28
- threadIds = (0, _index.createEntityFieldStore)();
29
- availableChats = (0, _index.createEntityFieldStore)();
30
+ cache = new _ChatsCacheModel.ChatsCacheModel();
30
31
  $currentChatData = (0, _effector.combine)({
31
- messages: this.messages.$state,
32
- threadIds: this.threadIds.$state,
33
- availableChats: this.availableChats.$state,
32
+ data: this.cache.$data,
34
33
  key: this.$currentKey
35
34
  }, ({
36
- messages,
37
- threadIds,
38
- availableChats,
35
+ data,
36
+ key
37
+ }) => data[key] ? {
38
+ ...data[key],
39
+ key
40
+ } : {
41
+ ...(0, _ChatsCacheModel.defaultChatData)(),
39
42
  key
40
- }) => {
41
- return {
42
- messages: messages[key] ?? [],
43
- threadId: threadIds[key] ?? null,
44
- isAvailable: availableChats[key] ?? false,
45
- key
46
- };
47
43
  });
48
44
  constructor({
49
45
  api,
50
46
  messages,
51
- $key
47
+ $key,
48
+ threadMessagesLimit
52
49
  }) {
53
- this.api = new _api.ChatbotAPI(api);
54
- this.defaultMessages = messages;
55
- if ($key) (0, _effector.sample)({
56
- source: $key,
57
- target: this.$currentKey
50
+ this.threadManager = new _ChatBotThreadManager.ChatBotThreadManager({
51
+ api: {
52
+ getHint: api.requestHint
53
+ },
54
+ messages,
55
+ messagesLimit: threadMessagesLimit
56
+ });
57
+ this.api = new _ChatbotApi.ChatbotAPI({
58
+ ...api,
59
+ postMessage: this.threadManager.postMessage
58
60
  });
61
+ this.defaultMessages = messages;
59
62
  this.$alternatives = (0, _effector.restore)(this.api.getAlternativesFx.doneData, null).on(this.setAlternatives, (_, payload) => payload).reset(this.resetAlternatives);
63
+ this.t2s = new _t2s.ChatTextToSpeechModel({
64
+ api: this.api
65
+ });
60
66
  this.translation = new _translation.ChatbotTranslation({
61
67
  $context: this.$context,
62
68
  defaultMessages: messages,
63
69
  $key: this.$currentKey,
64
70
  api: this.api,
65
- messagesModel: this.messages,
66
71
  alternativesModel: {
67
72
  $store: this.$alternatives,
68
73
  set: this.setAlternatives
69
- }
74
+ },
75
+ chats: this.cache
70
76
  });
71
- this.t2s = new _t2s.ChatTextToSpeechModel({
72
- $isOpen: this.$isOpen,
73
- api: this.api
77
+ this.errorSpotting = new _ErrorSpottingModel.ErrorSpottingModel({
78
+ api: this.api,
79
+ $currentChatData: this.$currentChatData
80
+ });
81
+ if ($key) this.bindKey($key);
82
+ (0, _effector.sample)({
83
+ source: this.$isOpen.updates,
84
+ filter: isOpen => !isOpen,
85
+ target: this.t2s.reset
86
+ });
87
+ (0, _effector.sample)({
88
+ clock: this.removeLastMessage,
89
+ source: [this.$lastMessageKey, this.cache.$data],
90
+ fn: ([lastMessageKey, chatsData]) => {
91
+ const chat = chatsData[lastMessageKey ?? ''];
92
+ if (!chat) return {
93
+ key: '',
94
+ data: {}
95
+ };
96
+ const updatedMessages = [...chat.messages];
97
+ updatedMessages.pop();
98
+ return {
99
+ key: lastMessageKey ?? '',
100
+ data: {
101
+ messages: updatedMessages
102
+ }
103
+ };
104
+ },
105
+ filter: ([lastMessageKey]) => !!lastMessageKey,
106
+ target: this.cache.update
74
107
  });
75
- this.sendHelpRequestFx = this.createSendHelpRequestFx();
76
- this.initChatReplyWatcher();
77
108
  }
78
109
  createSendHelpRequestFx() {
79
110
  const effect = (0, _effector.attach)({
80
- source: [this.$currentKey, this.translation.$isTranslated, this.$currentChatData, this.$context],
81
- mapParams: (params, [key, isTranslated, currentData, context]) => ({
111
+ source: [this.$currentKey, this.$context],
112
+ mapParams: (params, [key, context]) => ({
82
113
  message: params.message,
83
114
  translatedMessage: params.translatedMessage,
84
115
  context,
85
- key,
86
- isTranslated,
87
- threadId: currentData.threadId
116
+ key
88
117
  }),
89
118
  effect: (0, _index.createControllerEffect)(async ({
90
119
  message,
91
120
  translatedMessage,
92
121
  key,
93
- isTranslated,
94
- threadId,
95
122
  context
96
123
  }) => {
97
124
  if (!context) throw new Error('Context is required');
98
125
  this.setLastMessageKey(key);
99
- this.messages.setField({
100
- key,
101
- fn: currentMessages => [...(currentMessages || []), _messagesHelper.messagesHelper.createOwn({
126
+ this.cache.addMessages(key, {
127
+ messages: [_messagesHelper.messagesHelper.createOwn({
102
128
  message,
103
- translatedMessage,
104
- threadId
129
+ translatedMessage
105
130
  })]
106
131
  });
107
132
  const response = await this.api.postMessageFx({
@@ -109,26 +134,19 @@ class ChatbotModel {
109
134
  language: context.language,
110
135
  problemAnswer: context.problemAnswer,
111
136
  answer: context.answer,
112
- threadId,
113
137
  imageAltText: context.imageDescription
114
138
  });
115
139
  let messages = [_messagesHelper.messagesHelper.createAnswer(response)];
116
140
  if (response.endMessage) {
117
141
  messages.push(_messagesHelper.messagesHelper.createLast(this.defaultMessages.endMessage));
118
142
  }
119
- if (isTranslated) {
120
- messages = await this.translation.translateMessagesFx({
121
- targetLanguage: context.translationTargetLanguage,
122
- messages
123
- });
124
- }
125
- this.messages.setField({
126
- key,
127
- fn: currentMessages => [...(currentMessages || []), ...messages]
143
+ messages = await this.translation.applyTranslationFx({
144
+ targetLanguage: context.translationTargetLanguage,
145
+ messages
128
146
  });
129
- this.threadIds.setField({
130
- key,
131
- data: response.threadId
147
+ this.cache.addMessages(key, {
148
+ messages,
149
+ thread: response.thread
132
150
  });
133
151
  })
134
152
  });
@@ -140,35 +158,35 @@ class ChatbotModel {
140
158
  messages
141
159
  }) => ({
142
160
  key,
143
- data: [...messages, this.defaultMessages.error]
161
+ data: {
162
+ messages: [...messages, this.defaultMessages.error]
163
+ }
144
164
  }),
145
165
  filter: (_, {
146
166
  error
147
167
  }) => error.message !== 'Request aborted manually',
148
- target: this.messages.setField
168
+ target: this.cache.update
149
169
  });
150
170
  return effect;
151
171
  }
152
- initChatReplyWatcher() {
172
+ bindKey($store) {
153
173
  (0, _effector.sample)({
154
- clock: this.removeLastMessage,
155
- source: [this.$lastMessageKey, this.messages.$state],
156
- fn: ([lastMessageKey, messages]) => {
157
- if (!lastMessageKey) return {
158
- key: '',
159
- data: []
160
- };
161
- const updatedMessages = [...messages[lastMessageKey]];
162
- updatedMessages.pop();
163
- return {
164
- key: lastMessageKey,
165
- data: updatedMessages
166
- };
167
- },
168
- filter: ([lastMessageKey]) => !!lastMessageKey,
169
- target: this.messages.setField
174
+ source: $store,
175
+ target: this.$currentKey
170
176
  });
177
+ this.threadManager.bindKeyStore($store);
178
+ return this;
171
179
  }
180
+ setT2SAudioProvider(audioProvider) {
181
+ this.t2s.setAudioProvider(audioProvider);
182
+ return this;
183
+ }
184
+ setDrawBoardAdapter(adapter) {
185
+ this.threadManager.setDrawBoardAdapter(adapter);
186
+ this.errorSpotting.bindStrokesValidation(adapter.$strokesValidationKey);
187
+ return this;
188
+ }
189
+ sendHelpRequestFx = this.createSendHelpRequestFx();
172
190
  startConversation = (0, _effector.attach)({
173
191
  source: this.$currentChatData,
174
192
  mapParams: (props, source) => ({
@@ -186,13 +204,10 @@ class ChatbotModel {
186
204
  key
187
205
  });
188
206
  }
189
- this.messages.setField({
190
- key,
191
- data: [this.defaultMessages.start]
192
- });
193
- this.availableChats.setField({
194
- key,
195
- data: true
207
+ this.cache.add(key, {
208
+ messages: [this.defaultMessages.start],
209
+ isAvailable: true,
210
+ currentThread: null
196
211
  });
197
212
  })
198
213
  });
@@ -201,49 +216,53 @@ class ChatbotModel {
201
216
  ...message
202
217
  }) {
203
218
  const options = this.$alternatives.getState()?.options.hints ?? message.options;
204
- this.messages.setField({
205
- key,
206
- fn: messages => {
207
- if (!messages || messages.length > 1) return;
208
- return [{
209
- ...message,
210
- options
211
- }];
212
- }
219
+ this.cache.setSingleMessage(key, {
220
+ ...message,
221
+ options
213
222
  });
214
223
  }
215
- reinitConversation = (0, _effector.createEffect)(({
224
+ reinitConversation = ({
216
225
  key
217
226
  }) => {
218
- this.messages.setField({
219
- key,
220
- fn: messages => {
221
- if (!messages?.length || messages.length === 1) return;
222
- const copy = [...messages];
223
- while (copy.at(-1)?.endMessage) {
224
- copy.pop();
225
- }
226
- const lastMessage = copy.at(-1);
227
- if (!lastMessage) return;
228
- copy.splice(copy.length - 1, 1, {
229
- ...lastMessage,
230
- options: [this.defaultMessages.anotherHintOption]
231
- });
232
- return copy;
233
- }
227
+ this.cache.reinitChatThread(key, {
228
+ initialOption: this.defaultMessages.anotherHintOption
234
229
  });
235
- });
236
- bindKey($store) {
237
- (0, _effector.sample)({
238
- source: $store,
239
- target: this.$currentKey
230
+ this.threadManager.resetThread({
231
+ key
240
232
  });
241
- return this;
242
- }
243
- setT2SAudioProvider(audioProvider) {
244
- this.t2s.setAudioProvider(audioProvider);
245
- return this;
233
+ };
234
+ disableChat(key) {
235
+ this.t2s.stop();
236
+ void this.t2s.reset();
237
+ this.cache.disableChat(key);
246
238
  }
239
+ softReset = (0, _effector.attach)({
240
+ source: {
241
+ isLoading: this.sendHelpRequestFx.pending,
242
+ lastMessageKey: this.$lastMessageKey
243
+ },
244
+ mapParams: (_, {
245
+ isLoading,
246
+ lastMessageKey
247
+ }) => !!(isLoading && lastMessageKey),
248
+ effect: (0, _effector.createEffect)(hasPendingMessage => {
249
+ if (hasPendingMessage) {
250
+ this.api.postMessageFx.controller.abort();
251
+ this.removeLastMessage();
252
+ }
253
+ this.errorSpotting.abortPendingRequest();
254
+ this.t2s.stop();
255
+ void this.t2s.reset();
256
+ this.translation.reset();
257
+ this.setScrollActive(false);
258
+ })
259
+ });
260
+ reset = () => {
261
+ this.cache.reset();
262
+ this.resetAlternatives();
263
+ this.threadManager.resetAll();
264
+ this.errorSpotting.reset();
265
+ };
247
266
  }
248
267
  exports.ChatbotModel = ChatbotModel;
249
268
  //# sourceMappingURL=ChatBotModel.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_effector","require","_index","_api","_translation","_t2s","_messagesHelper","ChatbotModel","$currentKey","createStore","resetAlternatives","createEvent","setAlternatives","setIsOpen","toggleOpen","$isOpen","restore","on","isOpen","removeLastMessage","setLastMessageKey","$lastMessageKey","setContext","$context","setScrollActive","$isScrollActive","messages","createEntityFieldStore","threadIds","availableChats","$currentChatData","combine","$state","key","threadId","isAvailable","constructor","api","$key","ChatbotAPI","defaultMessages","sample","source","target","$alternatives","getAlternativesFx","doneData","_","payload","reset","translation","ChatbotTranslation","messagesModel","alternativesModel","$store","set","t2s","ChatTextToSpeechModel","sendHelpRequestFx","createSendHelpRequestFx","initChatReplyWatcher","effect","attach","$isTranslated","mapParams","params","isTranslated","currentData","context","message","translatedMessage","createControllerEffect","Error","setField","fn","currentMessages","messagesHelper","createOwn","response","postMessageFx","problem","language","problemAnswer","answer","imageAltText","imageDescription","createAnswer","endMessage","push","createLast","translateMessagesFx","targetLanguage","translationTargetLanguage","data","clock","fail","error","filter","lastMessageKey","updatedMessages","pop","startConversation","props","createEffect","initOnly","length","reinitConversation","start","setHintMessage","options","getState","hints","copy","at","lastMessage","splice","anotherHintOption","bindKey","setT2SAudioProvider","audioProvider","setAudioProvider","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/ChatBotModel.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_effector","require","_index","_ChatbotApi","_translation","_t2s","_messagesHelper","_ChatBotThreadManager","_ChatsCacheModel","_ErrorSpottingModel","ChatbotModel","$currentKey","createStore","resetAlternatives","createEvent","setAlternatives","setIsOpen","toggleOpen","$isOpen","restore","on","isOpen","removeLastMessage","setLastMessageKey","$lastMessageKey","setContext","$context","setScrollActive","$isScrollActive","cache","ChatsCacheModel","$currentChatData","combine","data","$data","key","defaultChatData","constructor","api","messages","$key","threadMessagesLimit","threadManager","ChatBotThreadManager","getHint","requestHint","messagesLimit","ChatbotAPI","postMessage","defaultMessages","$alternatives","getAlternativesFx","doneData","_","payload","reset","t2s","ChatTextToSpeechModel","translation","ChatbotTranslation","alternativesModel","$store","set","chats","errorSpotting","ErrorSpottingModel","bindKey","sample","source","updates","filter","target","clock","fn","lastMessageKey","chatsData","chat","updatedMessages","pop","update","createSendHelpRequestFx","effect","attach","mapParams","params","context","message","translatedMessage","createControllerEffect","Error","addMessages","messagesHelper","createOwn","response","postMessageFx","problem","language","problemAnswer","answer","imageAltText","imageDescription","createAnswer","endMessage","push","createLast","applyTranslationFx","targetLanguage","translationTargetLanguage","thread","fail","error","bindKeyStore","setT2SAudioProvider","audioProvider","setAudioProvider","setDrawBoardAdapter","adapter","bindStrokesValidation","$strokesValidationKey","sendHelpRequestFx","startConversation","props","createEffect","initOnly","length","reinitConversation","add","start","isAvailable","currentThread","setHintMessage","options","getState","hints","setSingleMessage","reinitChatThread","initialOption","anotherHintOption","resetThread","disableChat","stop","softReset","isLoading","pending","hasPendingMessage","controller","abort","abortPendingRequest","resetAll","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/ChatBotModel.ts"],"mappings":"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","ignoreList":[]}
@@ -3,12 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.ChatMessageHandler = void 0;
6
+ exports.ChatBotThreadManager = void 0;
7
7
  var _ThreadItem = require("./ThreadItem.js");
8
- var _effector = require("effector/effector.umd");
8
+ var _effector = require("effector");
9
9
  var _constants = require("./constants.js");
10
- class ChatMessageHandler {
10
+ class ChatBotThreadManager {
11
+ drawBoardAdapter = null;
11
12
  threads = new Map();
13
+ $threads = (0, _effector.createStore)(new Map());
12
14
  currentKey = '';
13
15
  currentBinding = null;
14
16
  constructor({
@@ -18,7 +20,7 @@ class ChatMessageHandler {
18
20
  messages
19
21
  }) {
20
22
  this.api = api;
21
- this.drawBoardAdapter = drawBoardAdapter;
23
+ this.drawBoardAdapter = drawBoardAdapter ?? null;
22
24
  this.messagesLimit = messagesLimit;
23
25
  this.defaultMessages = messages;
24
26
  }
@@ -33,18 +35,27 @@ class ChatMessageHandler {
33
35
  const key = this.currentKey;
34
36
  let threadItem = this.threads.get(key);
35
37
  if (threadItem) return threadItem;
38
+ if (!this.drawBoardAdapter) {
39
+ threadItem = new _ThreadItem.ThreadItem();
40
+ this.threads.set(key, threadItem);
41
+ return threadItem;
42
+ }
36
43
  try {
37
- const strokes = await this.drawBoardAdapter.getVisibleStrokes();
38
- threadItem = new _ThreadItem.ThreadItem({
39
- strokes
40
- });
44
+ const result = await this.drawBoardAdapter.getVisibleStrokes();
45
+ threadItem = new _ThreadItem.ThreadItem(result ? {
46
+ strokes: result.strokes,
47
+ key: result.validationKey
48
+ } : null);
41
49
  } catch {
42
50
  threadItem = new _ThreadItem.ThreadItem();
43
51
  }
44
52
  this.threads.set(key, threadItem);
45
53
  return threadItem;
46
54
  }
47
- postMessageFx = async ({
55
+ setDrawBoardAdapter(adapter) {
56
+ this.drawBoardAdapter = adapter;
57
+ }
58
+ postMessage = async ({
48
59
  problemAnswer,
49
60
  problem,
50
61
  answer,
@@ -60,23 +71,23 @@ class ChatMessageHandler {
60
71
  language,
61
72
  imageAltText
62
73
  });
63
- threadItem.hints.push(result.message);
64
- const nextOptions = threadItem.hints.length < this.messagesLimit ? [this.defaultMessages.anotherHintOption] : [];
74
+ threadItem.history.push(result.message);
75
+ const nextOptions = threadItem.history.length < this.messagesLimit ? [this.defaultMessages.anotherHintOption] : [];
65
76
  return {
66
77
  message: result.message,
67
78
  options: nextOptions,
68
- threadId: '',
69
- endMessage: !nextOptions.length
79
+ endMessage: !nextOptions.length,
80
+ thread: threadItem.toObject()
70
81
  };
71
82
  };
72
- resetThread = (0, _effector.createEffect)(({
83
+ resetThread = ({
73
84
  key
74
85
  }) => {
75
86
  this.threads.delete(key);
76
- });
87
+ };
77
88
  resetAll() {
78
89
  this.threads.clear();
79
90
  }
80
91
  }
81
- exports.ChatMessageHandler = ChatMessageHandler;
82
- //# sourceMappingURL=ChatBotMessageHandler.js.map
92
+ exports.ChatBotThreadManager = ChatBotThreadManager;
93
+ //# sourceMappingURL=ChatBotThreadManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ThreadItem","require","_effector","_constants","ChatBotThreadManager","drawBoardAdapter","threads","Map","$threads","createStore","currentKey","currentBinding","constructor","api","messagesLimit","CHAT_BOT_MODEL_DEFAULTS","THREAD_MESSAGES_LIMIT","messages","defaultMessages","bindKeyStore","$store","watch","value","getThreadItem","key","threadItem","get","ThreadItem","set","result","getVisibleStrokes","strokes","validationKey","setDrawBoardAdapter","adapter","postMessage","problemAnswer","problem","answer","language","imageAltText","getHint","getNextHintProps","correctAnswer","problemDescription","userAnswer","history","push","message","nextOptions","length","anotherHintOption","options","endMessage","thread","toObject","resetThread","delete","resetAll","clear","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/ChatBotThreadManager.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAQA,IAAAE,UAAA,GAAAF,OAAA;AAeO,MAAMG,oBAAoB,CAAC;EAExBC,gBAAgB,GAAiC,IAAI;EAC5CC,OAAO,GAAG,IAAIC,GAAG,CAAqB,CAAC;EAExCC,QAAQ,GAAG,IAAAC,qBAAW,EAAC,IAAIF,GAAG,CAAqB,CAAC,CAAC;EAG7DG,UAAU,GAAG,EAAE;EACfC,cAAc,GAAwB,IAAI;EAI3CC,WAAWA,CAAC;IACjBP,gBAAgB;IAChBQ,GAAG;IACHC,aAAa,GAAGC,kCAAuB,CAACC,qBAAqB;IAC7DC;EACyB,CAAC,EAAE;IAC5B,IAAI,CAACJ,GAAG,GAAGA,GAAG;IACd,IAAI,CAACR,gBAAgB,GAAGA,gBAAgB,IAAI,IAAI;IAChD,IAAI,CAACS,aAAa,GAAGA,aAAa;IAClC,IAAI,CAACI,eAAe,GAAGD,QAAQ;EACjC;EAEOE,YAAYA,CAACC,MAAqB,EAAE;IACzC,IAAI,CAACT,cAAc,GAAG,CAAC;IACvB,IAAI,CAACA,cAAc,GAAGS,MAAM,CAACC,KAAK,CAAEC,KAAK,IAAK;MAC5C,IAAI,CAACZ,UAAU,GAAGY,KAAK;IACzB,CAAC,CAAC;IACF,OAAO,IAAI;EACb;EAEA,MAAcC,aAAaA,CAAA,EAAG;IAC5B,MAAMC,GAAG,GAAG,IAAI,CAACd,UAAU;IAC3B,IAAIe,UAAU,GAAG,IAAI,CAACnB,OAAO,CAACoB,GAAG,CAACF,GAAG,CAAC;IACtC,IAAIC,UAAU,EAAE,OAAOA,UAAU;IACjC,IAAI,CAAC,IAAI,CAACpB,gBAAgB,EAAE;MAC1BoB,UAAU,GAAG,IAAIE,sBAAU,CAAC,CAAC;MAC7B,IAAI,CAACrB,OAAO,CAACsB,GAAG,CAACJ,GAAG,EAAEC,UAAU,CAAC;MACjC,OAAOA,UAAU;IACnB;IACA,IAAI;MACF,MAAMI,MAAM,GAAG,MAAM,IAAI,CAACxB,gBAAgB,CAACyB,iBAAiB,CAAC,CAAC;MAC9DL,UAAU,GAAG,IAAIE,sBAAU,CACzBE,MAAM,GAAG;QAAEE,OAAO,EAAEF,MAAM,CAACE,OAAO;QAAEP,GAAG,EAAEK,MAAM,CAACG;MAAc,CAAC,GAAG,IACpE,CAAC;IACH,CAAC,CAAC,MAAM;MACNP,UAAU,GAAG,IAAIE,sBAAU,CAAC,CAAC;IAC/B;IACA,IAAI,CAACrB,OAAO,CAACsB,GAAG,CAACJ,GAAG,EAAEC,UAAU,CAAC;IACjC,OAAOA,UAAU;EACnB;EAEOQ,mBAAmBA,CAACC,OAA8B,EAAE;IACzD,IAAI,CAAC7B,gBAAgB,GAAG6B,OAAO;EACjC;EAEgBC,WAAW,GAAG,MAAAA,CAAO;IACnCC,aAAa;IACbC,OAAO;IACPC,MAAM;IACNC,QAAQ;IACRC;EACkB,CAAC,KAAmC;IACtD,MAAMf,UAAU,GAAG,MAAM,IAAI,CAACF,aAAa,CAAC,CAAC;IAE7C,MAAMM,MAAM,GAAG,MAAM,IAAI,CAAChB,GAAG,CAAC4B,OAAO,CAAC;MACpC,GAAGhB,UAAU,CAACiB,gBAAgB,CAAC,CAAC;MAChCC,aAAa,EAAEP,aAAa;MAC5BQ,kBAAkB,EAAEP,OAAO;MAC3BQ,UAAU,EAAEP,MAAM;MAClBC,QAAQ;MACRC;IACF,CAAC,CAAC;IAEFf,UAAU,CAACqB,OAAO,CAACC,IAAI,CAAClB,MAAM,CAACmB,OAAO,CAAC;IACvC,MAAMC,WAAW,GACfxB,UAAU,CAACqB,OAAO,CAACI,MAAM,GAAG,IAAI,CAACpC,aAAa,GAAG,CAAC,IAAI,CAACI,eAAe,CAACiC,iBAAiB,CAAC,GAAG,EAAE;IAEhG,OAAO;MACLH,OAAO,EAAEnB,MAAM,CAACmB,OAAO;MACvBI,OAAO,EAAEH,WAAW;MACpBI,UAAU,EAAE,CAACJ,WAAW,CAACC,MAAM;MAC/BI,MAAM,EAAE7B,UAAU,CAAC8B,QAAQ,CAAC;IAC9B,CAAC;EACH,CAAC;EAEMC,WAAW,GAAGA,CAAC;IAAEhC;EAAqB,CAAC,KAAK;IACjD,IAAI,CAAClB,OAAO,CAACmD,MAAM,CAACjC,GAAG,CAAC;EAC1B,CAAC;EAEMkC,QAAQA,CAAA,EAAG;IAChB,IAAI,CAACpD,OAAO,CAACqD,KAAK,CAAC,CAAC;EACtB;AACF;AAACC,OAAA,CAAAxD,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -7,8 +7,23 @@ exports.ChatbotAPI = void 0;
7
7
  var _effector = require("effector");
8
8
  var _index = require("../../../lib/effector/index.js");
9
9
  var _helpers = require("../helpers.js");
10
+ var _randomElements = require("../../../lib/helpers/randomElements.js");
10
11
  class ChatbotAPI {
11
12
  constructor(api) {
13
+ this.spotErrorFx = (0, _index.createControllerEffect)(props => {
14
+ return new Promise(res => {
15
+ if (props.strokes.length <= 3) return res({
16
+ strokesIds: []
17
+ });
18
+ setTimeout(() => {
19
+ const randomStrokes = (0, _randomElements.getRandomElements)(props.strokes, 4);
20
+ res({
21
+ strokesIds: randomStrokes.map(stroke => stroke.id ?? '')
22
+ });
23
+ }, 1000);
24
+ });
25
+ });
26
+ // this.spotErrorFx = createControllerEffect(api.spotError)
12
27
  this.postMessageFx = (0, _index.createControllerEffect)(api.postMessage);
13
28
  this.getAlternativesFx = (0, _effector.createEffect)(api.getAlternatives);
14
29
  this.translateTextFx = (0, _effector.createEffect)(async payload => {
@@ -31,4 +46,4 @@ class ChatbotAPI {
31
46
  }
32
47
  }
33
48
  exports.ChatbotAPI = ChatbotAPI;
34
- //# sourceMappingURL=api.js.map
49
+ //# sourceMappingURL=ChatbotApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_effector","require","_index","_helpers","_randomElements","ChatbotAPI","constructor","api","spotErrorFx","createControllerEffect","props","Promise","res","strokes","length","strokesIds","setTimeout","randomStrokes","getRandomElements","map","stroke","id","postMessageFx","postMessage","getAlternativesFx","createEffect","getAlternatives","translateTextFx","payload","response","postTranslateText","text","replaceKatexSyntax","data","translations","translation","translatedText","textToSpeechTextFx","postTextToSpeech","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/ChatbotApi.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAGA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AAEO,MAAMI,UAAU,CAAC;EAQtBC,WAAWA,CAACC,GAAuB,EAAE;IACnC,IAAI,CAACC,WAAW,GAAG,IAAAC,6BAAsB,EACtCC,KAAuB,IAAiC;MACvD,OAAO,IAAIC,OAAO,CAAqBC,GAAG,IAAK;QAC7C,IAAIF,KAAK,CAACG,OAAO,CAACC,MAAM,IAAI,CAAC,EAAE,OAAOF,GAAG,CAAC;UAAEG,UAAU,EAAE;QAAG,CAAC,CAAC;QAC7DC,UAAU,CAAC,MAAM;UACf,MAAMC,aAAa,GAAG,IAAAC,iCAAiB,EAACR,KAAK,CAACG,OAAO,EAAE,CAAC,CAAC;UACzDD,GAAG,CAAC;YACFG,UAAU,EAAEE,aAAa,CAACE,GAAG,CAAEC,MAAM,IAAKA,MAAM,CAACC,EAAE,IAAI,EAAE;UAC3D,CAAC,CAAC;QACJ,CAAC,EAAE,IAAI,CAAC;MACV,CAAC,CAAC;IACJ,CACF,CAAC;IACD;IACA,IAAI,CAACC,aAAa,GAAG,IAAAb,6BAAsB,EAACF,GAAG,CAACgB,WAAW,CAAC;IAC5D,IAAI,CAACC,iBAAiB,GAAG,IAAAC,sBAAY,EAAClB,GAAG,CAACmB,eAAe,CAAC;IAC1D,IAAI,CAACC,eAAe,GAAG,IAAAF,sBAAY,EACjC,MAAOG,OAA+B,IAAuC;MAC3E,MAAMC,QAAQ,GAAG,MAAMtB,GAAG,CAACuB,iBAAiB,CAAC;QAC3C,GAAGF,OAAO;QACVG,IAAI,EAAE,IAAAC,2BAAkB,EAACJ,OAAO,CAACG,IAAI;MACvC,CAAC,CAAC;MAEF,OAAO;QACL,GAAGF,QAAQ;QACXI,IAAI,EAAE;UACJ,GAAGJ,QAAQ,CAACI,IAAI;UAChBC,YAAY,EAAEL,QAAQ,CAACI,IAAI,CAACC,YAAY,CAACf,GAAG,CAAEgB,WAAW,KAAM;YAC7D,GAAGA,WAAW;YACdC,cAAc,EAAE,IAAAJ,2BAAkB,EAAC,CAACG,WAAW,CAACC,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;UAC1E,CAAC,CAAC;QACJ;MACF,CAAC;IACH,CACF,CAAC;IACD,IAAI,CAACC,kBAAkB,GAAG,IAAAZ,sBAAY,EAAClB,GAAG,CAAC+B,gBAAgB,CAAC;EAC9D;AACF;AAACC,OAAA,CAAAlC,UAAA,GAAAA,UAAA","ignoreList":[]}