@magmamath/students-features 0.5.0 → 0.5.1-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.
- package/dist/commonjs/features/celebrations/config.js +4 -4
- package/dist/commonjs/features/celebrations/config.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/Alternatives/Alternatives.js +1 -2
- package/dist/commonjs/features/chatbot/components/Alternatives/Alternatives.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/ChatMessage.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.js +47 -30
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js +42 -22
- package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/SentMessage.js +14 -11
- package/dist/commonjs/features/chatbot/components/ChatMessage/SentMessage.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.js +32 -17
- package/dist/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/Chatbot.js +7 -5
- package/dist/commonjs/features/chatbot/components/Chatbot.js.map +1 -1
- package/dist/commonjs/features/chatbot/index.js +7 -0
- package/dist/commonjs/features/chatbot/index.js.map +1 -1
- package/dist/commonjs/features/chatbot/model/{ChatBotThreadManager.js → ChatBotMessageHandler.js} +22 -44
- package/dist/commonjs/features/chatbot/model/ChatBotMessageHandler.js.map +1 -0
- package/dist/commonjs/features/chatbot/model/ChatBotModel.js +125 -146
- package/dist/commonjs/features/chatbot/model/ChatBotModel.js.map +1 -1
- package/dist/commonjs/features/chatbot/model/DefaultMessageCreator.js +12 -12
- package/dist/commonjs/features/chatbot/model/DefaultMessageCreator.js.map +1 -1
- package/dist/commonjs/features/chatbot/model/ThreadItem.js +8 -16
- package/dist/commonjs/features/chatbot/model/ThreadItem.js.map +1 -1
- package/dist/commonjs/features/chatbot/model/{ChatbotApi.js → api.js} +1 -2
- package/dist/commonjs/features/chatbot/model/api.js.map +1 -0
- package/dist/commonjs/features/chatbot/model/constants.js.map +1 -1
- package/dist/commonjs/features/chatbot/model/messagesHelper.js +7 -7
- package/dist/commonjs/features/chatbot/model/messagesHelper.js.map +1 -1
- package/dist/commonjs/features/chatbot/model/t2s.js +13 -18
- package/dist/commonjs/features/chatbot/model/t2s.js.map +1 -1
- package/dist/commonjs/features/chatbot/model/translation.helpers.js.map +1 -1
- package/dist/commonjs/features/chatbot/model/translation.js +19 -28
- package/dist/commonjs/features/chatbot/model/translation.js.map +1 -1
- package/dist/commonjs/features/chatbot/types/api.types.js +0 -4
- package/dist/commonjs/features/chatbot/types/model.types.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/components/CorrectAnswer/AnimatedCard.js +2 -4
- package/dist/commonjs/features/endOfAssignment/components/CorrectAnswer/AnimatedCard.js.map +1 -1
- package/dist/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.js.map +1 -1
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/lib/effector/createEntityFieldStore.js +0 -4
- package/dist/commonjs/lib/effector/createEntityFieldStore.js.map +1 -1
- package/{src/shared/translation → dist/commonjs/lib}/localization/en.json +1 -8
- package/dist/{module/shared/translation → commonjs/lib}/localization/gb.json +1 -8
- package/dist/commonjs/{shared/translation → lib}/localization/sw.json +1 -8
- package/dist/commonjs/shared/icons/icon.types.js +0 -4
- package/dist/commonjs/shared/translation/constants.js +3 -3
- package/dist/commonjs/shared/translation/constants.js.map +1 -1
- package/dist/commonjs/shared/translation/helpers.js +6 -22
- package/dist/commonjs/shared/translation/helpers.js.map +1 -1
- package/dist/commonjs/shared/translation/hooks.js +5 -3
- package/dist/commonjs/shared/translation/hooks.js.map +1 -1
- package/dist/commonjs/shared/translation/model.js +1 -1
- package/dist/commonjs/shared/translation/model.js.map +1 -1
- package/dist/commonjs/shared/translation/types.js +1 -1
- package/dist/commonjs/shared/translation/types.js.map +1 -1
- package/dist/module/features/celebrations/config.js +4 -4
- package/dist/module/features/celebrations/config.js.map +1 -1
- package/dist/module/features/chatbot/components/Alternatives/Alternatives.js +1 -2
- package/dist/module/features/chatbot/components/Alternatives/Alternatives.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatMessage/ChatMessage.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.js +48 -31
- package/dist/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js +43 -23
- package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatMessage/SentMessage.js +13 -11
- package/dist/module/features/chatbot/components/ChatMessage/SentMessage.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatMessages/ChatbotMessages.js +32 -17
- package/dist/module/features/chatbot/components/ChatMessages/ChatbotMessages.js.map +1 -1
- package/dist/module/features/chatbot/components/Chatbot.js +8 -6
- package/dist/module/features/chatbot/components/Chatbot.js.map +1 -1
- package/dist/module/features/chatbot/index.js +1 -0
- package/dist/module/features/chatbot/index.js.map +1 -1
- package/dist/module/features/chatbot/model/{ChatBotThreadManager.js → ChatBotMessageHandler.js} +20 -42
- package/dist/module/features/chatbot/model/ChatBotMessageHandler.js.map +1 -0
- package/dist/module/features/chatbot/model/ChatBotModel.js +126 -147
- package/dist/module/features/chatbot/model/ChatBotModel.js.map +1 -1
- package/dist/module/features/chatbot/model/DefaultMessageCreator.js +12 -12
- package/dist/module/features/chatbot/model/DefaultMessageCreator.js.map +1 -1
- package/dist/module/features/chatbot/model/ThreadItem.js +8 -16
- package/dist/module/features/chatbot/model/ThreadItem.js.map +1 -1
- package/dist/module/features/chatbot/model/{ChatbotApi.js → api.js} +1 -2
- package/dist/module/features/chatbot/model/api.js.map +1 -0
- package/dist/module/features/chatbot/model/constants.js.map +1 -1
- package/dist/module/features/chatbot/model/messagesHelper.js +7 -7
- package/dist/module/features/chatbot/model/messagesHelper.js.map +1 -1
- package/dist/module/features/chatbot/model/t2s.js +14 -19
- package/dist/module/features/chatbot/model/t2s.js.map +1 -1
- package/dist/module/features/chatbot/model/translation.helpers.js.map +1 -1
- package/dist/module/features/chatbot/model/translation.js +19 -28
- package/dist/module/features/chatbot/model/translation.js.map +1 -1
- package/dist/module/features/chatbot/types/api.types.js +0 -2
- package/dist/module/features/chatbot/types/model.types.js.map +1 -1
- package/dist/module/features/endOfAssignment/components/CorrectAnswer/AnimatedCard.js +2 -4
- package/dist/module/features/endOfAssignment/components/CorrectAnswer/AnimatedCard.js.map +1 -1
- package/dist/module/features/endOfAssignment/ui/PracticeButtonGroup.js.map +1 -1
- package/dist/module/index.js.map +1 -1
- package/dist/module/lib/effector/createEntityFieldStore.js +0 -4
- package/dist/module/lib/effector/createEntityFieldStore.js.map +1 -1
- package/dist/module/{shared/translation → lib}/localization/en.json +1 -8
- package/dist/{commonjs/shared/translation → module/lib}/localization/gb.json +1 -8
- package/dist/module/{shared/translation → lib}/localization/sw.json +1 -8
- package/dist/module/shared/icons/icon.types.js +0 -2
- package/dist/module/shared/translation/constants.js +3 -3
- package/dist/module/shared/translation/constants.js.map +1 -1
- package/dist/module/shared/translation/helpers.js +5 -19
- package/dist/module/shared/translation/helpers.js.map +1 -1
- package/dist/module/shared/translation/hooks.js +6 -4
- package/dist/module/shared/translation/hooks.js.map +1 -1
- package/dist/module/shared/translation/model.js +1 -1
- package/dist/module/shared/translation/model.js.map +1 -1
- package/dist/module/shared/translation/types.js +0 -2
- package/dist/module/shared/translation/types.js.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/Alternatives/Alternatives.d.ts +3 -1
- package/dist/typescript/commonjs/features/chatbot/components/Alternatives/Alternatives.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ChatMessage.d.ts +10 -7
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ChatMessage.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts +7 -5
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/SentMessage.d.ts +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/SentMessage.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts +10 -2
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts +5 -2
- package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/index.d.ts +3 -4
- package/dist/typescript/commonjs/features/chatbot/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/ChatBotMessageHandler.d.ts +31 -0
- package/dist/typescript/commonjs/features/chatbot/model/ChatBotMessageHandler.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts +18 -24
- package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/DefaultMessageCreator.d.ts +3 -5
- package/dist/typescript/commonjs/features/chatbot/model/DefaultMessageCreator.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/ThreadItem.d.ts +7 -13
- package/dist/typescript/commonjs/features/chatbot/model/ThreadItem.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/{ChatbotApi.d.ts → api.d.ts} +3 -4
- package/dist/typescript/commonjs/features/chatbot/model/api.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/model/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/messagesHelper.d.ts +5 -7
- package/dist/typescript/commonjs/features/chatbot/model/messagesHelper.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts +6 -16
- package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/translation.d.ts +9 -8
- package/dist/typescript/commonjs/features/chatbot/model/translation.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/translation.helpers.d.ts +1 -2
- package/dist/typescript/commonjs/features/chatbot/model/translation.helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts +11 -12
- package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts +24 -19
- package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/types/t2s.types.d.ts +7 -9
- package/dist/typescript/commonjs/features/chatbot/types/t2s.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/types/translation.types.d.ts +2 -3
- package/dist/typescript/commonjs/features/chatbot/types/translation.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/components/CorrectAnswer/AnimatedCard.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.d.ts.map +1 -1
- package/dist/typescript/commonjs/index.d.ts +1 -0
- package/dist/typescript/commonjs/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/lib/effector/createEntityFieldStore.d.ts +0 -2
- package/dist/typescript/commonjs/lib/effector/createEntityFieldStore.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/icons/icon.types.d.ts +0 -2
- package/dist/typescript/commonjs/shared/icons/icon.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/constants.d.ts +0 -21
- package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/helpers.d.ts +2 -3
- package/dist/typescript/commonjs/shared/translation/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/hooks.d.ts +2 -2
- package/dist/typescript/commonjs/shared/translation/hooks.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/index.d.ts +1 -0
- package/dist/typescript/commonjs/shared/translation/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/model.d.ts +3 -43
- package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/types.d.ts +4 -4
- package/dist/typescript/commonjs/shared/translation/types.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/Alternatives/Alternatives.d.ts +3 -1
- package/dist/typescript/module/features/chatbot/components/Alternatives/Alternatives.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessage/ChatMessage.d.ts +10 -7
- package/dist/typescript/module/features/chatbot/components/ChatMessage/ChatMessage.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts +7 -5
- package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessage/SentMessage.d.ts +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessage/SentMessage.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts +10 -2
- package/dist/typescript/module/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts +5 -2
- package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/index.d.ts +3 -4
- package/dist/typescript/module/features/chatbot/index.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/ChatBotMessageHandler.d.ts +31 -0
- package/dist/typescript/module/features/chatbot/model/ChatBotMessageHandler.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts +18 -24
- package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/DefaultMessageCreator.d.ts +3 -5
- package/dist/typescript/module/features/chatbot/model/DefaultMessageCreator.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/ThreadItem.d.ts +7 -13
- package/dist/typescript/module/features/chatbot/model/ThreadItem.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/{ChatbotApi.d.ts → api.d.ts} +3 -4
- package/dist/typescript/module/features/chatbot/model/api.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/model/constants.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/messagesHelper.d.ts +5 -7
- package/dist/typescript/module/features/chatbot/model/messagesHelper.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/t2s.d.ts +6 -16
- package/dist/typescript/module/features/chatbot/model/t2s.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/translation.d.ts +9 -8
- package/dist/typescript/module/features/chatbot/model/translation.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/translation.helpers.d.ts +1 -2
- package/dist/typescript/module/features/chatbot/model/translation.helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/types/api.types.d.ts +11 -12
- package/dist/typescript/module/features/chatbot/types/api.types.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/types/model.types.d.ts +24 -19
- package/dist/typescript/module/features/chatbot/types/model.types.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/types/t2s.types.d.ts +7 -9
- package/dist/typescript/module/features/chatbot/types/t2s.types.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/types/translation.types.d.ts +2 -3
- package/dist/typescript/module/features/chatbot/types/translation.types.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/components/CorrectAnswer/AnimatedCard.d.ts.map +1 -1
- package/dist/typescript/module/features/endOfAssignment/ui/PracticeButtonGroup.d.ts.map +1 -1
- package/dist/typescript/module/index.d.ts +1 -0
- package/dist/typescript/module/index.d.ts.map +1 -1
- package/dist/typescript/module/lib/effector/createEntityFieldStore.d.ts +0 -2
- package/dist/typescript/module/lib/effector/createEntityFieldStore.d.ts.map +1 -1
- package/dist/typescript/module/shared/icons/icon.types.d.ts +0 -2
- package/dist/typescript/module/shared/icons/icon.types.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/constants.d.ts +0 -21
- package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/helpers.d.ts +2 -3
- package/dist/typescript/module/shared/translation/helpers.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/hooks.d.ts +2 -2
- package/dist/typescript/module/shared/translation/hooks.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/index.d.ts +1 -0
- package/dist/typescript/module/shared/translation/index.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/model.d.ts +3 -43
- package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/types.d.ts +4 -4
- package/dist/typescript/module/shared/translation/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/features/celebrations/config.ts +4 -4
- package/src/features/chatbot/components/Alternatives/Alternatives.tsx +4 -2
- package/src/features/chatbot/components/ChatMessage/ChatMessage.tsx +10 -7
- package/src/features/chatbot/components/ChatMessage/MessageTextToSpeech.tsx +51 -34
- package/src/features/chatbot/components/ChatMessage/ReceivedMessage.tsx +40 -15
- package/src/features/chatbot/components/ChatMessage/SentMessage.tsx +10 -9
- package/src/features/chatbot/components/ChatMessages/ChatbotMessages.tsx +34 -17
- package/src/features/chatbot/components/Chatbot.tsx +11 -5
- package/src/features/chatbot/index.ts +4 -3
- package/src/features/chatbot/model/{ChatBotThreadManager.ts → ChatBotMessageHandler.ts} +27 -53
- package/src/features/chatbot/model/ChatBotModel.ts +149 -151
- package/src/features/chatbot/model/DefaultMessageCreator.ts +16 -17
- package/src/features/chatbot/model/ThreadItem.ts +10 -15
- package/src/features/chatbot/model/{ChatbotApi.ts → api.ts} +2 -5
- package/src/features/chatbot/model/constants.ts +0 -2
- package/src/features/chatbot/model/messagesHelper.ts +7 -12
- package/src/features/chatbot/model/t2s.ts +13 -28
- package/src/features/chatbot/model/translation.helpers.ts +1 -2
- package/src/features/chatbot/model/translation.ts +24 -34
- package/src/features/chatbot/types/api.types.ts +12 -12
- package/src/features/chatbot/types/model.types.ts +32 -31
- package/src/features/chatbot/types/t2s.types.ts +15 -18
- package/src/features/chatbot/types/translation.types.ts +2 -3
- package/src/features/endOfAssignment/components/CorrectAnswer/AnimatedCard.tsx +2 -3
- package/src/features/endOfAssignment/ui/PracticeButtonGroup.tsx +1 -0
- package/src/index.ts +1 -0
- package/src/lib/effector/createEntityFieldStore.ts +1 -9
- package/{dist/commonjs/shared/translation → src/lib}/localization/en.json +1 -8
- package/src/{shared/translation → lib}/localization/gb.json +1 -8
- package/src/{shared/translation → lib}/localization/sw.json +1 -8
- package/src/shared/icons/icon.types.ts +6 -9
- package/src/shared/translation/constants.ts +3 -3
- package/src/shared/translation/helpers.ts +9 -22
- package/src/shared/translation/hooks.ts +16 -12
- package/src/shared/translation/index.ts +1 -0
- package/src/shared/translation/model.ts +8 -8
- package/src/shared/translation/types.ts +8 -11
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageButtonsBlock.js +0 -44
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageButtonsBlock.js.map +0 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js +0 -62
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js.map +0 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/helpers.js +0 -13
- package/dist/commonjs/features/chatbot/components/ChatMessage/helpers.js.map +0 -1
- package/dist/commonjs/features/chatbot/context/ChatBotModelContext.js +0 -17
- package/dist/commonjs/features/chatbot/context/ChatBotModelContext.js.map +0 -1
- package/dist/commonjs/features/chatbot/errorSpotting/ErrorSpottingButton.js +0 -57
- package/dist/commonjs/features/chatbot/errorSpotting/ErrorSpottingButton.js.map +0 -1
- package/dist/commonjs/features/chatbot/errorSpotting/ErrorSpottingModel.js +0 -130
- package/dist/commonjs/features/chatbot/errorSpotting/ErrorSpottingModel.js.map +0 -1
- package/dist/commonjs/features/chatbot/model/ChatBotThreadManager.js.map +0 -1
- package/dist/commonjs/features/chatbot/model/ChatBoxTextManager.js +0 -22
- package/dist/commonjs/features/chatbot/model/ChatBoxTextManager.js.map +0 -1
- package/dist/commonjs/features/chatbot/model/ChatbotApi.js.map +0 -1
- package/dist/commonjs/features/chatbot/model/ChatsCacheModel.js +0 -110
- package/dist/commonjs/features/chatbot/model/ChatsCacheModel.js.map +0 -1
- package/dist/commonjs/features/chatbot/types/units.types.js +0 -2
- package/dist/commonjs/features/chatbot/types/units.types.js.map +0 -1
- package/dist/commonjs/lib/effector/withEvent.js +0 -13
- package/dist/commonjs/lib/effector/withEvent.js.map +0 -1
- package/dist/commonjs/lib/types/keys.js +0 -2
- package/dist/commonjs/lib/types/keys.js.map +0 -1
- package/dist/commonjs/shared/icons/HighlighterIcon.js +0 -36
- package/dist/commonjs/shared/icons/HighlighterIcon.js.map +0 -1
- package/dist/commonjs/shared/icons/StopIcon.js +0 -33
- package/dist/commonjs/shared/icons/StopIcon.js.map +0 -1
- package/dist/commonjs/shared/translation/validation.types.js +0 -6
- package/dist/commonjs/shared/translation/validation.types.js.map +0 -1
- package/dist/module/features/chatbot/components/ChatMessage/MessageButtonsBlock.js +0 -38
- package/dist/module/features/chatbot/components/ChatMessage/MessageButtonsBlock.js.map +0 -1
- package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js +0 -57
- package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js.map +0 -1
- package/dist/module/features/chatbot/components/ChatMessage/helpers.js +0 -9
- package/dist/module/features/chatbot/components/ChatMessage/helpers.js.map +0 -1
- package/dist/module/features/chatbot/context/ChatBotModelContext.js +0 -12
- package/dist/module/features/chatbot/context/ChatBotModelContext.js.map +0 -1
- package/dist/module/features/chatbot/errorSpotting/ErrorSpottingButton.js +0 -51
- package/dist/module/features/chatbot/errorSpotting/ErrorSpottingButton.js.map +0 -1
- package/dist/module/features/chatbot/errorSpotting/ErrorSpottingModel.js +0 -125
- package/dist/module/features/chatbot/errorSpotting/ErrorSpottingModel.js.map +0 -1
- package/dist/module/features/chatbot/model/ChatBotThreadManager.js.map +0 -1
- package/dist/module/features/chatbot/model/ChatBoxTextManager.js +0 -17
- package/dist/module/features/chatbot/model/ChatBoxTextManager.js.map +0 -1
- package/dist/module/features/chatbot/model/ChatbotApi.js.map +0 -1
- package/dist/module/features/chatbot/model/ChatsCacheModel.js +0 -104
- package/dist/module/features/chatbot/model/ChatsCacheModel.js.map +0 -1
- package/dist/module/features/chatbot/types/units.types.js +0 -2
- package/dist/module/features/chatbot/types/units.types.js.map +0 -1
- package/dist/module/lib/effector/withEvent.js +0 -9
- package/dist/module/lib/effector/withEvent.js.map +0 -1
- package/dist/module/lib/types/keys.js +0 -2
- package/dist/module/lib/types/keys.js.map +0 -1
- package/dist/module/shared/icons/HighlighterIcon.js +0 -29
- package/dist/module/shared/icons/HighlighterIcon.js.map +0 -1
- package/dist/module/shared/icons/StopIcon.js +0 -26
- package/dist/module/shared/icons/StopIcon.js.map +0 -1
- package/dist/module/shared/translation/validation.types.js +0 -4
- package/dist/module/shared/translation/validation.types.js.map +0 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageButtonsBlock.d.ts +0 -10
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageButtonsBlock.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageContent.d.ts +0 -11
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/helpers.d.ts +0 -4
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/helpers.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/chatbot/context/ChatBotModelContext.d.ts +0 -4
- package/dist/typescript/commonjs/features/chatbot/context/ChatBotModelContext.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/chatbot/errorSpotting/ErrorSpottingButton.d.ts +0 -8
- package/dist/typescript/commonjs/features/chatbot/errorSpotting/ErrorSpottingButton.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/chatbot/errorSpotting/ErrorSpottingModel.d.ts +0 -35
- package/dist/typescript/commonjs/features/chatbot/errorSpotting/ErrorSpottingModel.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/chatbot/model/ChatBotThreadManager.d.ts +0 -33
- package/dist/typescript/commonjs/features/chatbot/model/ChatBotThreadManager.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/chatbot/model/ChatBoxTextManager.d.ts +0 -6
- package/dist/typescript/commonjs/features/chatbot/model/ChatBoxTextManager.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/chatbot/model/ChatbotApi.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/chatbot/model/ChatsCacheModel.d.ts +0 -27
- package/dist/typescript/commonjs/features/chatbot/model/ChatsCacheModel.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/chatbot/types/units.types.d.ts +0 -34
- package/dist/typescript/commonjs/features/chatbot/types/units.types.d.ts.map +0 -1
- package/dist/typescript/commonjs/lib/effector/withEvent.d.ts +0 -2
- package/dist/typescript/commonjs/lib/effector/withEvent.d.ts.map +0 -1
- package/dist/typescript/commonjs/lib/types/keys.d.ts +0 -8
- package/dist/typescript/commonjs/lib/types/keys.d.ts.map +0 -1
- package/dist/typescript/commonjs/shared/icons/HighlighterIcon.d.ts +0 -4
- package/dist/typescript/commonjs/shared/icons/HighlighterIcon.d.ts.map +0 -1
- package/dist/typescript/commonjs/shared/icons/StopIcon.d.ts +0 -4
- package/dist/typescript/commonjs/shared/icons/StopIcon.d.ts.map +0 -1
- package/dist/typescript/commonjs/shared/translation/validation.types.d.ts +0 -17
- package/dist/typescript/commonjs/shared/translation/validation.types.d.ts.map +0 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageButtonsBlock.d.ts +0 -10
- package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageButtonsBlock.d.ts.map +0 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageContent.d.ts +0 -11
- package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +0 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessage/helpers.d.ts +0 -4
- package/dist/typescript/module/features/chatbot/components/ChatMessage/helpers.d.ts.map +0 -1
- package/dist/typescript/module/features/chatbot/context/ChatBotModelContext.d.ts +0 -4
- package/dist/typescript/module/features/chatbot/context/ChatBotModelContext.d.ts.map +0 -1
- package/dist/typescript/module/features/chatbot/errorSpotting/ErrorSpottingButton.d.ts +0 -8
- package/dist/typescript/module/features/chatbot/errorSpotting/ErrorSpottingButton.d.ts.map +0 -1
- package/dist/typescript/module/features/chatbot/errorSpotting/ErrorSpottingModel.d.ts +0 -35
- package/dist/typescript/module/features/chatbot/errorSpotting/ErrorSpottingModel.d.ts.map +0 -1
- package/dist/typescript/module/features/chatbot/model/ChatBotThreadManager.d.ts +0 -33
- package/dist/typescript/module/features/chatbot/model/ChatBotThreadManager.d.ts.map +0 -1
- package/dist/typescript/module/features/chatbot/model/ChatBoxTextManager.d.ts +0 -6
- package/dist/typescript/module/features/chatbot/model/ChatBoxTextManager.d.ts.map +0 -1
- package/dist/typescript/module/features/chatbot/model/ChatbotApi.d.ts.map +0 -1
- package/dist/typescript/module/features/chatbot/model/ChatsCacheModel.d.ts +0 -27
- package/dist/typescript/module/features/chatbot/model/ChatsCacheModel.d.ts.map +0 -1
- package/dist/typescript/module/features/chatbot/types/units.types.d.ts +0 -34
- package/dist/typescript/module/features/chatbot/types/units.types.d.ts.map +0 -1
- package/dist/typescript/module/lib/effector/withEvent.d.ts +0 -2
- package/dist/typescript/module/lib/effector/withEvent.d.ts.map +0 -1
- package/dist/typescript/module/lib/types/keys.d.ts +0 -8
- package/dist/typescript/module/lib/types/keys.d.ts.map +0 -1
- package/dist/typescript/module/shared/icons/HighlighterIcon.d.ts +0 -4
- package/dist/typescript/module/shared/icons/HighlighterIcon.d.ts.map +0 -1
- package/dist/typescript/module/shared/icons/StopIcon.d.ts +0 -4
- package/dist/typescript/module/shared/icons/StopIcon.d.ts.map +0 -1
- package/dist/typescript/module/shared/translation/validation.types.d.ts +0 -17
- package/dist/typescript/module/shared/translation/validation.types.d.ts.map +0 -1
- package/src/features/chatbot/components/ChatMessage/MessageButtonsBlock.tsx +0 -38
- package/src/features/chatbot/components/ChatMessage/MessageContent.tsx +0 -52
- package/src/features/chatbot/components/ChatMessage/helpers.ts +0 -9
- package/src/features/chatbot/context/ChatBotModelContext.ts +0 -14
- package/src/features/chatbot/errorSpotting/ErrorSpottingButton.tsx +0 -53
- package/src/features/chatbot/errorSpotting/ErrorSpottingModel.ts +0 -150
- package/src/features/chatbot/model/ChatBoxTextManager.ts +0 -18
- package/src/features/chatbot/model/ChatsCacheModel.ts +0 -95
- package/src/features/chatbot/types/units.types.ts +0 -37
- package/src/lib/effector/withEvent.ts +0 -7
- package/src/lib/types/keys.ts +0 -18
- package/src/shared/icons/HighlighterIcon.tsx +0 -21
- package/src/shared/icons/StopIcon.tsx +0 -17
- package/src/shared/translation/validation.types.ts +0 -26
|
@@ -1,16 +1,23 @@
|
|
|
1
|
-
import React, { useRef } from 'react'
|
|
1
|
+
import React, { ReactNode, useRef } from 'react'
|
|
2
2
|
import { Platform, ScrollView, StyleSheet, useWindowDimensions, View } from 'react-native'
|
|
3
3
|
import { useStoreMap, useUnit } from 'effector-react'
|
|
4
4
|
import { ChatbotModel } from '../../model/ChatBotModel'
|
|
5
5
|
import { ChatMessage } from '../ChatMessage/ChatMessage'
|
|
6
6
|
import { MessageLoader } from '../ChatMessage/MessageLoader'
|
|
7
7
|
import { Alternatives } from '../Alternatives/Alternatives'
|
|
8
|
-
import {
|
|
8
|
+
import { AUDIO_CONFIG, DEFAULT_VOICE, TEXT_TO_SPEECH_CONFIG } from '../../constants'
|
|
9
|
+
import { MessageVariant, ChatbotRenderer } from '../../types/model.types'
|
|
9
10
|
|
|
10
11
|
type ChatbotMessagesProps = {
|
|
11
12
|
model: ChatbotModel
|
|
12
13
|
isHintFeedback: boolean
|
|
14
|
+
sanitizeSpeechInput: (speech: string) => string
|
|
13
15
|
isTextToSpeechEnabled: boolean
|
|
16
|
+
textToSpeechConfig?: {
|
|
17
|
+
voice: typeof DEFAULT_VOICE
|
|
18
|
+
audioConfig: typeof AUDIO_CONFIG
|
|
19
|
+
}
|
|
20
|
+
renderer?: (props: ChatbotRenderer) => ReactNode
|
|
14
21
|
}
|
|
15
22
|
|
|
16
23
|
const TOOLBAR_HEIGHT = 140
|
|
@@ -22,7 +29,10 @@ const BOTTOM_OFFSET = Platform.select({
|
|
|
22
29
|
export const ChatbotMessages = ({
|
|
23
30
|
model,
|
|
24
31
|
isHintFeedback,
|
|
32
|
+
sanitizeSpeechInput,
|
|
25
33
|
isTextToSpeechEnabled,
|
|
34
|
+
textToSpeechConfig,
|
|
35
|
+
renderer,
|
|
26
36
|
}: ChatbotMessagesProps) => {
|
|
27
37
|
const dimensions = useWindowDimensions()
|
|
28
38
|
const ref = useRef<ScrollView>(null)
|
|
@@ -39,6 +49,16 @@ export const ChatbotMessages = ({
|
|
|
39
49
|
|
|
40
50
|
const messages = useStoreMap(model.$currentChatData, ({ messages }) => messages)
|
|
41
51
|
|
|
52
|
+
const playTextToSpeech = (id: string, message: string, translatedMessage?: string) => {
|
|
53
|
+
const text = isTranslated ? (translatedMessage as string) : message
|
|
54
|
+
void model.t2s.play({
|
|
55
|
+
text: sanitizeSpeechInput(text),
|
|
56
|
+
messageId: id,
|
|
57
|
+
isTranslated,
|
|
58
|
+
config: textToSpeechConfig ?? TEXT_TO_SPEECH_CONFIG,
|
|
59
|
+
})
|
|
60
|
+
}
|
|
61
|
+
|
|
42
62
|
const askChatForHelp = (message: string, translatedMessage?: string) => {
|
|
43
63
|
void model.sendHelpRequestFx({ message, translatedMessage })
|
|
44
64
|
}
|
|
@@ -47,7 +67,6 @@ export const ChatbotMessages = ({
|
|
|
47
67
|
<View style={[styles.container, { maxHeight: MAX_HEIGHT }]}>
|
|
48
68
|
<ScrollView
|
|
49
69
|
ref={ref}
|
|
50
|
-
bounces={false}
|
|
51
70
|
contentContainerStyle={styles.list}
|
|
52
71
|
onContentSizeChange={(_, height) => {
|
|
53
72
|
ref.current?.scrollToEnd()
|
|
@@ -59,19 +78,17 @@ export const ChatbotMessages = ({
|
|
|
59
78
|
>
|
|
60
79
|
{isOpen && (
|
|
61
80
|
<View style={styles.gap}>
|
|
62
|
-
{messages.map((message) => (
|
|
81
|
+
{messages.map(({ id, message, translatedMessage, isOwnMessage }) => (
|
|
63
82
|
<ChatMessage
|
|
64
|
-
key={
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
disabled: isTextToSpeechPending,
|
|
74
|
-
}}
|
|
83
|
+
key={id}
|
|
84
|
+
message={isTranslated ? (translatedMessage as string) : message}
|
|
85
|
+
renderer={renderer}
|
|
86
|
+
audioStatus={audioStatus}
|
|
87
|
+
onPressTextToSpeech={() => playTextToSpeech(id, message, translatedMessage)}
|
|
88
|
+
isActive={id === currentPlayingId}
|
|
89
|
+
isTextToSpeechPending={isTextToSpeechPending}
|
|
90
|
+
variant={isOwnMessage ? MessageVariant.SENT : MessageVariant.RECEIVED}
|
|
91
|
+
withTextToSpeech={isTextToSpeechEnabled && !isOwnMessage}
|
|
75
92
|
/>
|
|
76
93
|
))}
|
|
77
94
|
|
|
@@ -81,6 +98,7 @@ export const ChatbotMessages = ({
|
|
|
81
98
|
|
|
82
99
|
{!isHelpRequestPending && isOpen && (
|
|
83
100
|
<Alternatives
|
|
101
|
+
model={model}
|
|
84
102
|
onPressAlternative={askChatForHelp}
|
|
85
103
|
hasMessages={messages.length > 1}
|
|
86
104
|
isHintFeedback={isHintFeedback}
|
|
@@ -95,13 +113,12 @@ const styles = StyleSheet.create({
|
|
|
95
113
|
container: {
|
|
96
114
|
flex: 1,
|
|
97
115
|
alignItems: 'flex-end',
|
|
98
|
-
width:
|
|
116
|
+
width: 372,
|
|
99
117
|
height: '100%',
|
|
100
118
|
},
|
|
101
119
|
list: {
|
|
102
120
|
alignItems: 'flex-end',
|
|
103
121
|
paddingVertical: 2,
|
|
104
|
-
paddingRight: 6,
|
|
105
122
|
},
|
|
106
123
|
gap: {
|
|
107
124
|
flex: 1,
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { ComponentType, PropsWithChildren } from 'react'
|
|
1
|
+
import { ComponentType, PropsWithChildren, ReactNode } from 'react'
|
|
2
2
|
import { useStoreMap, useUnit } from 'effector-react'
|
|
3
3
|
import { ChatbotModel } from '../model/ChatBotModel'
|
|
4
4
|
import { ChatbotMessages } from './ChatMessages/ChatbotMessages'
|
|
5
5
|
import { ChatControls } from './ChatControls/ChatControls'
|
|
6
6
|
import { AUDIO_CONFIG, DEFAULT_VOICE } from '../constants'
|
|
7
|
+
import { ChatbotRenderer } from '../types/model.types'
|
|
7
8
|
import React from 'react'
|
|
8
|
-
import { ChatBotModelContext } from '../context/ChatBotModelContext'
|
|
9
9
|
|
|
10
10
|
type ChatbotProps = {
|
|
11
11
|
model: ChatbotModel
|
|
12
12
|
isHintFeedback: boolean
|
|
13
|
+
sanitizeSpeechInput: (speech: string) => string
|
|
13
14
|
isTextToSpeechEnabled: boolean
|
|
14
15
|
isTranslationEnabled: boolean
|
|
15
16
|
textToSpeechConfig?: {
|
|
@@ -17,22 +18,24 @@ type ChatbotProps = {
|
|
|
17
18
|
audioConfig: typeof AUDIO_CONFIG
|
|
18
19
|
}
|
|
19
20
|
ButtonWrapper: ComponentType<PropsWithChildren>
|
|
21
|
+
renderer?: (props: ChatbotRenderer) => ReactNode
|
|
20
22
|
iconSize?: { width: number; height: number } // TODO: use number instead
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
export const Chatbot = ({
|
|
24
26
|
model,
|
|
25
27
|
isHintFeedback,
|
|
28
|
+
sanitizeSpeechInput,
|
|
26
29
|
isTextToSpeechEnabled = false,
|
|
27
30
|
textToSpeechConfig,
|
|
28
31
|
isTranslationEnabled,
|
|
32
|
+
renderer,
|
|
29
33
|
ButtonWrapper,
|
|
30
34
|
iconSize,
|
|
31
35
|
}: ChatbotProps) => {
|
|
32
36
|
const alternatives = useUnit(model.$alternatives)
|
|
33
37
|
const isAvailable = useStoreMap(model.$currentChatData, ({ isAvailable }) => isAvailable)
|
|
34
38
|
|
|
35
|
-
model.t2s.setAudioConfig(textToSpeechConfig ?? null)
|
|
36
39
|
const translateMessages = () => {
|
|
37
40
|
void model.translation.translateAllMessagesFx()
|
|
38
41
|
}
|
|
@@ -45,11 +48,14 @@ export const Chatbot = ({
|
|
|
45
48
|
}
|
|
46
49
|
|
|
47
50
|
return (
|
|
48
|
-
|
|
51
|
+
<>
|
|
49
52
|
<ChatbotMessages
|
|
50
53
|
model={model}
|
|
54
|
+
renderer={renderer}
|
|
51
55
|
isHintFeedback={isHintFeedback}
|
|
56
|
+
sanitizeSpeechInput={sanitizeSpeechInput}
|
|
52
57
|
isTextToSpeechEnabled={isTextToSpeechEnabled}
|
|
58
|
+
textToSpeechConfig={textToSpeechConfig}
|
|
53
59
|
/>
|
|
54
60
|
|
|
55
61
|
<ChatControls
|
|
@@ -61,6 +67,6 @@ export const Chatbot = ({
|
|
|
61
67
|
ButtonWrapper={ButtonWrapper}
|
|
62
68
|
iconSize={iconSize}
|
|
63
69
|
/>
|
|
64
|
-
|
|
70
|
+
</>
|
|
65
71
|
)
|
|
66
72
|
}
|
|
@@ -3,10 +3,11 @@ export { ChatbotModel } from './model/ChatBotModel'
|
|
|
3
3
|
export { AudioStatus, type AudioProvider } from './types/t2s.types'
|
|
4
4
|
export {
|
|
5
5
|
MessageVariant,
|
|
6
|
+
type ConversationMessage,
|
|
7
|
+
type ChatbotRenderer,
|
|
6
8
|
type ChatbotModelProps,
|
|
7
9
|
type IChatDrawBoardAdapter,
|
|
8
10
|
} from './types/model.types'
|
|
9
|
-
export type { PostMessageResponse } from './types/api.types'
|
|
11
|
+
export type { PostMessageResponse, ChatAnswer } from './types/api.types'
|
|
12
|
+
export { ChatMessageHandler } from './model/ChatBotMessageHandler'
|
|
10
13
|
export { DefaultMessagesCreator } from './model/DefaultMessageCreator'
|
|
11
|
-
export type { ChatAnswer } from './types/units.types'
|
|
12
|
-
export type { ConversationMessage } from './types/units.types'
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ThreadItem } from './ThreadItem'
|
|
2
2
|
import { Store } from 'effector'
|
|
3
|
+
import { createEffect } from 'effector/effector.umd'
|
|
3
4
|
import {
|
|
4
5
|
ChatHintPayload,
|
|
5
6
|
ChatHintResponse,
|
|
@@ -9,23 +10,25 @@ import {
|
|
|
9
10
|
import { ChatbotMessages, IChatDrawBoardAdapter } from '../types/model.types'
|
|
10
11
|
import { CHAT_BOT_MODEL_DEFAULTS } from './constants'
|
|
11
12
|
|
|
12
|
-
type
|
|
13
|
-
getHint: (props: ChatHintPayload) => Promise<ChatHintResponse>
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
type ChatBotThreadManagerProps = {
|
|
13
|
+
type ChatMessageHandlerProps = {
|
|
17
14
|
messagesLimit?: number
|
|
18
|
-
drawBoardAdapter?: IChatDrawBoardAdapter
|
|
19
15
|
messages: ChatbotMessages
|
|
20
|
-
|
|
16
|
+
drawBoardAdapter: IChatDrawBoardAdapter
|
|
17
|
+
api: {
|
|
18
|
+
getHint: (props: ChatHintPayload) => Promise<ChatHintResponse>
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
type ResetCacheProps = {
|
|
23
|
+
key: string
|
|
21
24
|
}
|
|
22
25
|
|
|
23
|
-
export class
|
|
24
|
-
private api
|
|
25
|
-
private drawBoardAdapter: IChatDrawBoardAdapter
|
|
26
|
+
export class ChatMessageHandler {
|
|
27
|
+
private readonly api
|
|
28
|
+
private readonly drawBoardAdapter: IChatDrawBoardAdapter
|
|
26
29
|
private readonly threads = new Map<string, ThreadItem>()
|
|
27
30
|
|
|
28
|
-
private messagesLimit
|
|
31
|
+
private readonly messagesLimit
|
|
29
32
|
private currentKey = ''
|
|
30
33
|
private currentBinding: null | (() => void) = null
|
|
31
34
|
|
|
@@ -36,9 +39,9 @@ export class ChatBotThreadManager {
|
|
|
36
39
|
api,
|
|
37
40
|
messagesLimit = CHAT_BOT_MODEL_DEFAULTS.THREAD_MESSAGES_LIMIT,
|
|
38
41
|
messages,
|
|
39
|
-
}:
|
|
40
|
-
|
|
41
|
-
this.drawBoardAdapter = drawBoardAdapter
|
|
42
|
+
}: ChatMessageHandlerProps) {
|
|
43
|
+
this.api = api
|
|
44
|
+
this.drawBoardAdapter = drawBoardAdapter
|
|
42
45
|
this.messagesLimit = messagesLimit
|
|
43
46
|
this.defaultMessages = messages
|
|
44
47
|
}
|
|
@@ -55,16 +58,9 @@ export class ChatBotThreadManager {
|
|
|
55
58
|
const key = this.currentKey
|
|
56
59
|
let threadItem = this.threads.get(key)
|
|
57
60
|
if (threadItem) return threadItem
|
|
58
|
-
if (!this.drawBoardAdapter) {
|
|
59
|
-
threadItem = new ThreadItem()
|
|
60
|
-
this.threads.set(key, threadItem)
|
|
61
|
-
return threadItem
|
|
62
|
-
}
|
|
63
61
|
try {
|
|
64
|
-
const
|
|
65
|
-
threadItem = new ThreadItem(
|
|
66
|
-
result ? { strokes: result.strokes, key: result.validationKey } : null,
|
|
67
|
-
)
|
|
62
|
+
const strokes = await this.drawBoardAdapter.getVisibleStrokes()
|
|
63
|
+
threadItem = new ThreadItem({ strokes })
|
|
68
64
|
} catch {
|
|
69
65
|
threadItem = new ThreadItem()
|
|
70
66
|
}
|
|
@@ -72,22 +68,13 @@ export class ChatBotThreadManager {
|
|
|
72
68
|
return threadItem
|
|
73
69
|
}
|
|
74
70
|
|
|
75
|
-
public
|
|
76
|
-
this.drawBoardAdapter = adapter
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
public readonly postMessage = async ({
|
|
71
|
+
public readonly postMessageFx = async ({
|
|
80
72
|
problemAnswer,
|
|
81
73
|
problem,
|
|
82
74
|
answer,
|
|
83
75
|
language,
|
|
84
76
|
imageAltText,
|
|
85
77
|
}: 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
|
-
}
|
|
91
78
|
const threadItem = await this.getThreadItem()
|
|
92
79
|
|
|
93
80
|
const result = await this.api.getHint({
|
|
@@ -99,36 +86,23 @@ export class ChatBotThreadManager {
|
|
|
99
86
|
imageAltText,
|
|
100
87
|
})
|
|
101
88
|
|
|
102
|
-
threadItem.
|
|
89
|
+
threadItem.hints.push(result.message)
|
|
103
90
|
const nextOptions =
|
|
104
|
-
threadItem.
|
|
91
|
+
threadItem.hints.length < this.messagesLimit ? [this.defaultMessages.anotherHintOption] : []
|
|
105
92
|
|
|
106
93
|
return {
|
|
107
94
|
message: result.message,
|
|
108
95
|
options: nextOptions,
|
|
96
|
+
threadId: '',
|
|
109
97
|
endMessage: !nextOptions.length,
|
|
110
|
-
threadId: threadItem.id,
|
|
111
98
|
}
|
|
112
99
|
}
|
|
113
100
|
|
|
114
|
-
public
|
|
115
|
-
|
|
116
|
-
}
|
|
101
|
+
public resetThread = createEffect(({ key }: ResetCacheProps) => {
|
|
102
|
+
this.threads.delete(key)
|
|
103
|
+
})
|
|
117
104
|
|
|
118
|
-
public
|
|
119
|
-
if (typeof key === 'string') {
|
|
120
|
-
this.threads.delete(key)
|
|
121
|
-
return
|
|
122
|
-
}
|
|
105
|
+
public resetAll() {
|
|
123
106
|
this.threads.clear()
|
|
124
107
|
}
|
|
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
|
-
}
|
|
134
108
|
}
|