@magmamath/students-features 0.1.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/README.md +33 -0
- package/dist/commonjs/features/chatbot/components/Alternatives/Alternatives.js +60 -0
- package/dist/commonjs/features/chatbot/components/Alternatives/Alternatives.js.map +1 -0
- package/dist/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.js +96 -0
- package/dist/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.js.map +1 -0
- package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js +97 -0
- package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js.map +1 -0
- package/dist/commonjs/features/chatbot/components/ChatMessage/ChatMessage.js +27 -0
- package/dist/commonjs/features/chatbot/components/ChatMessage/ChatMessage.js.map +1 -0
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageLoader.js +56 -0
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageLoader.js.map +1 -0
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.js +88 -0
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.js.map +1 -0
- package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js +87 -0
- package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -0
- package/dist/commonjs/features/chatbot/components/ChatMessage/SentMessage.js +43 -0
- package/dist/commonjs/features/chatbot/components/ChatMessage/SentMessage.js.map +1 -0
- package/dist/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.js +130 -0
- package/dist/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.js.map +1 -0
- package/dist/commonjs/features/chatbot/components/Chatbot.js +69 -0
- package/dist/commonjs/features/chatbot/components/Chatbot.js.map +1 -0
- package/dist/commonjs/features/chatbot/components/ThreeDotsLoader/ThreeDotsLoader.js +65 -0
- package/dist/commonjs/features/chatbot/components/ThreeDotsLoader/ThreeDotsLoader.js.map +1 -0
- package/dist/commonjs/features/chatbot/constants.js +31 -0
- package/dist/commonjs/features/chatbot/constants.js.map +1 -0
- package/dist/commonjs/features/chatbot/helpers.js +12 -0
- package/dist/commonjs/features/chatbot/helpers.js.map +1 -0
- package/dist/commonjs/features/chatbot/index.js +34 -0
- package/dist/commonjs/features/chatbot/index.js.map +1 -0
- package/dist/commonjs/features/chatbot/model/api.js +18 -0
- package/dist/commonjs/features/chatbot/model/api.js.map +1 -0
- package/dist/commonjs/features/chatbot/model/model.js +244 -0
- package/dist/commonjs/features/chatbot/model/model.js.map +1 -0
- package/dist/commonjs/features/chatbot/model/t2s.js +104 -0
- package/dist/commonjs/features/chatbot/model/t2s.js.map +1 -0
- package/dist/commonjs/features/chatbot/model/translation.js +203 -0
- package/dist/commonjs/features/chatbot/model/translation.js.map +1 -0
- package/dist/commonjs/features/chatbot/types/api.types.js +2 -0
- package/dist/commonjs/features/chatbot/types/api.types.js.map +1 -0
- package/dist/commonjs/features/chatbot/types/model.types.js +12 -0
- package/dist/commonjs/features/chatbot/types/model.types.js.map +1 -0
- package/dist/commonjs/features/chatbot/types/t2s.types.js +13 -0
- package/dist/commonjs/features/chatbot/types/t2s.types.js.map +1 -0
- package/dist/commonjs/features/chatbot/types/translation.types.js +6 -0
- package/dist/commonjs/features/chatbot/types/translation.types.js.map +1 -0
- package/dist/commonjs/index.js +42 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/lib/createFeature/createFeature.js +28 -0
- package/dist/commonjs/lib/createFeature/createFeature.js.map +1 -0
- package/dist/commonjs/lib/effector/createControllerEffect.js +51 -0
- package/dist/commonjs/lib/effector/createControllerEffect.js.map +1 -0
- package/dist/commonjs/lib/effector/createEntityFieldStore.js +42 -0
- package/dist/commonjs/lib/effector/createEntityFieldStore.js.map +1 -0
- package/dist/commonjs/lib/effector/index.js +20 -0
- package/dist/commonjs/lib/effector/index.js.map +1 -0
- package/dist/commonjs/lib/helpers/helpers.js +9 -0
- package/dist/commonjs/lib/helpers/helpers.js.map +1 -0
- package/dist/commonjs/lib/localization/en.json +2 -0
- package/dist/commonjs/lib/localization/gb.json +2 -0
- package/dist/commonjs/lib/localization/sw.json +2 -0
- package/dist/commonjs/shared/hooks/useDebounce.js +21 -0
- package/dist/commonjs/shared/hooks/useDebounce.js.map +1 -0
- package/dist/commonjs/shared/icons/ArrowRightIcon.js +30 -0
- package/dist/commonjs/shared/icons/ArrowRightIcon.js.map +1 -0
- package/dist/commonjs/shared/icons/ChatbotIcon.js +148 -0
- package/dist/commonjs/shared/icons/ChatbotIcon.js.map +1 -0
- package/dist/commonjs/shared/icons/CloseIcon.js +28 -0
- package/dist/commonjs/shared/icons/CloseIcon.js.map +1 -0
- package/dist/commonjs/shared/icons/GlobeIcon.js +30 -0
- package/dist/commonjs/shared/icons/GlobeIcon.js.map +1 -0
- package/dist/commonjs/shared/icons/PauseIcon.js +32 -0
- package/dist/commonjs/shared/icons/PauseIcon.js.map +1 -0
- package/dist/commonjs/shared/icons/PlayIcon.js +32 -0
- package/dist/commonjs/shared/icons/PlayIcon.js.map +1 -0
- package/dist/commonjs/shared/icons/SpeakerIcon.js +37 -0
- package/dist/commonjs/shared/icons/SpeakerIcon.js.map +1 -0
- package/dist/commonjs/shared/icons/icon.types.js +2 -0
- package/dist/commonjs/shared/icons/icon.types.js.map +1 -0
- package/dist/commonjs/shared/translation/constants.js +17 -0
- package/dist/commonjs/shared/translation/constants.js.map +1 -0
- package/dist/commonjs/shared/translation/helpers.js +31 -0
- package/dist/commonjs/shared/translation/helpers.js.map +1 -0
- package/dist/commonjs/shared/translation/hooks.js +28 -0
- package/dist/commonjs/shared/translation/hooks.js.map +1 -0
- package/dist/commonjs/shared/translation/index.js +52 -0
- package/dist/commonjs/shared/translation/index.js.map +1 -0
- package/dist/commonjs/shared/translation/model.js +15 -0
- package/dist/commonjs/shared/translation/model.js.map +1 -0
- package/dist/commonjs/shared/translation/types.js +13 -0
- package/dist/commonjs/shared/translation/types.js.map +1 -0
- package/dist/commonjs/types/types.d.js +2 -0
- package/dist/commonjs/types/types.d.js.map +1 -0
- package/dist/module/features/chatbot/components/Alternatives/Alternatives.js +54 -0
- package/dist/module/features/chatbot/components/Alternatives/Alternatives.js.map +1 -0
- package/dist/module/features/chatbot/components/Alternatives/HelpRequestOption.js +90 -0
- package/dist/module/features/chatbot/components/Alternatives/HelpRequestOption.js.map +1 -0
- package/dist/module/features/chatbot/components/ChatControls/ChatControls.js +91 -0
- package/dist/module/features/chatbot/components/ChatControls/ChatControls.js.map +1 -0
- package/dist/module/features/chatbot/components/ChatMessage/ChatMessage.js +21 -0
- package/dist/module/features/chatbot/components/ChatMessage/ChatMessage.js.map +1 -0
- package/dist/module/features/chatbot/components/ChatMessage/MessageLoader.js +50 -0
- package/dist/module/features/chatbot/components/ChatMessage/MessageLoader.js.map +1 -0
- package/dist/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.js +82 -0
- package/dist/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.js.map +1 -0
- package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js +81 -0
- package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -0
- package/dist/module/features/chatbot/components/ChatMessage/SentMessage.js +37 -0
- package/dist/module/features/chatbot/components/ChatMessage/SentMessage.js.map +1 -0
- package/dist/module/features/chatbot/components/ChatMessages/ChatbotMessages.js +123 -0
- package/dist/module/features/chatbot/components/ChatMessages/ChatbotMessages.js.map +1 -0
- package/dist/module/features/chatbot/components/Chatbot.js +63 -0
- package/dist/module/features/chatbot/components/Chatbot.js.map +1 -0
- package/dist/module/features/chatbot/components/ThreeDotsLoader/ThreeDotsLoader.js +59 -0
- package/dist/module/features/chatbot/components/ThreeDotsLoader/ThreeDotsLoader.js.map +1 -0
- package/dist/module/features/chatbot/constants.js +27 -0
- package/dist/module/features/chatbot/constants.js.map +1 -0
- package/dist/module/features/chatbot/helpers.js +7 -0
- package/dist/module/features/chatbot/helpers.js.map +1 -0
- package/dist/module/features/chatbot/index.js +7 -0
- package/dist/module/features/chatbot/index.js.map +1 -0
- package/dist/module/features/chatbot/model/api.js +13 -0
- package/dist/module/features/chatbot/model/api.js.map +1 -0
- package/dist/module/features/chatbot/model/model.js +239 -0
- package/dist/module/features/chatbot/model/model.js.map +1 -0
- package/dist/module/features/chatbot/model/t2s.js +99 -0
- package/dist/module/features/chatbot/model/t2s.js.map +1 -0
- package/dist/module/features/chatbot/model/translation.js +198 -0
- package/dist/module/features/chatbot/model/translation.js.map +1 -0
- package/dist/module/features/chatbot/types/api.types.js +2 -0
- package/dist/module/features/chatbot/types/api.types.js.map +1 -0
- package/dist/module/features/chatbot/types/model.types.js +8 -0
- package/dist/module/features/chatbot/types/model.types.js.map +1 -0
- package/dist/module/features/chatbot/types/t2s.types.js +9 -0
- package/dist/module/features/chatbot/types/t2s.types.js.map +1 -0
- package/dist/module/features/chatbot/types/translation.types.js +4 -0
- package/dist/module/features/chatbot/types/translation.types.js.map +1 -0
- package/dist/module/index.js +5 -0
- package/dist/module/index.js.map +1 -0
- package/dist/module/lib/createFeature/createFeature.js +22 -0
- package/dist/module/lib/createFeature/createFeature.js.map +1 -0
- package/dist/module/lib/effector/createControllerEffect.js +45 -0
- package/dist/module/lib/effector/createControllerEffect.js.map +1 -0
- package/dist/module/lib/effector/createEntityFieldStore.js +38 -0
- package/dist/module/lib/effector/createEntityFieldStore.js.map +1 -0
- package/dist/module/lib/effector/index.js +5 -0
- package/dist/module/lib/effector/index.js.map +1 -0
- package/dist/module/lib/helpers/helpers.js +4 -0
- package/dist/module/lib/helpers/helpers.js.map +1 -0
- package/dist/module/lib/localization/en.json +2 -0
- package/dist/module/lib/localization/gb.json +2 -0
- package/dist/module/lib/localization/sw.json +2 -0
- package/dist/module/shared/hooks/useDebounce.js +16 -0
- package/dist/module/shared/hooks/useDebounce.js.map +1 -0
- package/dist/module/shared/icons/ArrowRightIcon.js +22 -0
- package/dist/module/shared/icons/ArrowRightIcon.js.map +1 -0
- package/dist/module/shared/icons/ChatbotIcon.js +140 -0
- package/dist/module/shared/icons/ChatbotIcon.js.map +1 -0
- package/dist/module/shared/icons/CloseIcon.js +20 -0
- package/dist/module/shared/icons/CloseIcon.js.map +1 -0
- package/dist/module/shared/icons/GlobeIcon.js +22 -0
- package/dist/module/shared/icons/GlobeIcon.js.map +1 -0
- package/dist/module/shared/icons/PauseIcon.js +24 -0
- package/dist/module/shared/icons/PauseIcon.js.map +1 -0
- package/dist/module/shared/icons/PlayIcon.js +24 -0
- package/dist/module/shared/icons/PlayIcon.js.map +1 -0
- package/dist/module/shared/icons/SpeakerIcon.js +29 -0
- package/dist/module/shared/icons/SpeakerIcon.js.map +1 -0
- package/dist/module/shared/icons/icon.types.js +2 -0
- package/dist/module/shared/icons/icon.types.js.map +1 -0
- package/dist/module/shared/translation/constants.js +12 -0
- package/dist/module/shared/translation/constants.js.map +1 -0
- package/dist/module/shared/translation/helpers.js +24 -0
- package/dist/module/shared/translation/helpers.js.map +1 -0
- package/dist/module/shared/translation/hooks.js +22 -0
- package/dist/module/shared/translation/hooks.js.map +1 -0
- package/dist/module/shared/translation/index.js +7 -0
- package/dist/module/shared/translation/index.js.map +1 -0
- package/dist/module/shared/translation/model.js +11 -0
- package/dist/module/shared/translation/model.js.map +1 -0
- package/dist/module/shared/translation/types.js +9 -0
- package/dist/module/shared/translation/types.js.map +1 -0
- package/dist/module/types/types.d.js +2 -0
- package/dist/module/types/types.d.js.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/components/Alternatives/Alternatives.d.ts +11 -0
- package/dist/typescript/commonjs/features/chatbot/components/Alternatives/Alternatives.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.d.ts +9 -0
- package/dist/typescript/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts +14 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ChatMessage.d.ts +17 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ChatMessage.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageLoader.d.ts +3 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageLoader.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts +12 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts +4 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/SentMessage.d.ts +4 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/SentMessage.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts +21 -0
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts +25 -0
- package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/components/ThreeDotsLoader/ThreeDotsLoader.d.ts +9 -0
- package/dist/typescript/commonjs/features/chatbot/components/ThreeDotsLoader/ThreeDotsLoader.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/constants.d.ts +21 -0
- package/dist/typescript/commonjs/features/chatbot/constants.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/helpers.d.ts +2 -0
- package/dist/typescript/commonjs/features/chatbot/helpers.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/index.d.ts +5 -0
- package/dist/typescript/commonjs/features/chatbot/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/model/api.d.ts +12 -0
- package/dist/typescript/commonjs/features/chatbot/model/api.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/model/model.d.ts +73 -0
- package/dist/typescript/commonjs/features/chatbot/model/model.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts +18 -0
- package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/model/translation.d.ts +22 -0
- package/dist/typescript/commonjs/features/chatbot/model/translation.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts +60 -0
- package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts +64 -0
- package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/types/t2s.types.d.ts +22 -0
- package/dist/typescript/commonjs/features/chatbot/types/t2s.types.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/types/translation.types.d.ts +23 -0
- package/dist/typescript/commonjs/features/chatbot/types/translation.types.d.ts.map +1 -0
- package/dist/typescript/commonjs/index.d.ts +4 -0
- package/dist/typescript/commonjs/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/createFeature/createFeature.d.ts +7 -0
- package/dist/typescript/commonjs/lib/createFeature/createFeature.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/effector/createControllerEffect.d.ts +16 -0
- package/dist/typescript/commonjs/lib/effector/createControllerEffect.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/effector/createEntityFieldStore.d.ts +16 -0
- package/dist/typescript/commonjs/lib/effector/createEntityFieldStore.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/effector/index.d.ts +3 -0
- package/dist/typescript/commonjs/lib/effector/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/helpers/helpers.d.ts +2 -0
- package/dist/typescript/commonjs/lib/helpers/helpers.d.ts.map +1 -0
- package/dist/typescript/commonjs/package.json +1 -0
- package/dist/typescript/commonjs/shared/hooks/useDebounce.d.ts +2 -0
- package/dist/typescript/commonjs/shared/hooks/useDebounce.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/icons/ArrowRightIcon.d.ts +4 -0
- package/dist/typescript/commonjs/shared/icons/ArrowRightIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/icons/ChatbotIcon.d.ts +4 -0
- package/dist/typescript/commonjs/shared/icons/ChatbotIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/icons/CloseIcon.d.ts +4 -0
- package/dist/typescript/commonjs/shared/icons/CloseIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/icons/GlobeIcon.d.ts +4 -0
- package/dist/typescript/commonjs/shared/icons/GlobeIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/icons/PauseIcon.d.ts +4 -0
- package/dist/typescript/commonjs/shared/icons/PauseIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/icons/PlayIcon.d.ts +4 -0
- package/dist/typescript/commonjs/shared/icons/PlayIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/icons/SpeakerIcon.d.ts +4 -0
- package/dist/typescript/commonjs/shared/icons/SpeakerIcon.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/icons/icon.types.d.ts +9 -0
- package/dist/typescript/commonjs/shared/icons/icon.types.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/translation/constants.d.ts +6 -0
- package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/translation/helpers.d.ts +6 -0
- package/dist/typescript/commonjs/shared/translation/helpers.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/translation/hooks.d.ts +5 -0
- package/dist/typescript/commonjs/shared/translation/hooks.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/translation/index.d.ts +6 -0
- package/dist/typescript/commonjs/shared/translation/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/translation/model.d.ts +5 -0
- package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -0
- package/dist/typescript/commonjs/shared/translation/types.d.ts +8 -0
- package/dist/typescript/commonjs/shared/translation/types.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/components/Alternatives/Alternatives.d.ts +11 -0
- package/dist/typescript/module/features/chatbot/components/Alternatives/Alternatives.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/components/Alternatives/HelpRequestOption.d.ts +9 -0
- package/dist/typescript/module/features/chatbot/components/Alternatives/HelpRequestOption.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts +14 -0
- package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/components/ChatMessage/ChatMessage.d.ts +17 -0
- package/dist/typescript/module/features/chatbot/components/ChatMessage/ChatMessage.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageLoader.d.ts +3 -0
- package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageLoader.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts +12 -0
- package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageTextToSpeech.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts +4 -0
- package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/components/ChatMessage/SentMessage.d.ts +4 -0
- package/dist/typescript/module/features/chatbot/components/ChatMessage/SentMessage.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts +21 -0
- package/dist/typescript/module/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts +25 -0
- package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/components/ThreeDotsLoader/ThreeDotsLoader.d.ts +9 -0
- package/dist/typescript/module/features/chatbot/components/ThreeDotsLoader/ThreeDotsLoader.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/constants.d.ts +21 -0
- package/dist/typescript/module/features/chatbot/constants.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/helpers.d.ts +2 -0
- package/dist/typescript/module/features/chatbot/helpers.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/index.d.ts +5 -0
- package/dist/typescript/module/features/chatbot/index.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/model/api.d.ts +12 -0
- package/dist/typescript/module/features/chatbot/model/api.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/model/model.d.ts +73 -0
- package/dist/typescript/module/features/chatbot/model/model.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/model/t2s.d.ts +18 -0
- package/dist/typescript/module/features/chatbot/model/t2s.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/model/translation.d.ts +22 -0
- package/dist/typescript/module/features/chatbot/model/translation.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/types/api.types.d.ts +60 -0
- package/dist/typescript/module/features/chatbot/types/api.types.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/types/model.types.d.ts +64 -0
- package/dist/typescript/module/features/chatbot/types/model.types.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/types/t2s.types.d.ts +22 -0
- package/dist/typescript/module/features/chatbot/types/t2s.types.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/types/translation.types.d.ts +23 -0
- package/dist/typescript/module/features/chatbot/types/translation.types.d.ts.map +1 -0
- package/dist/typescript/module/index.d.ts +4 -0
- package/dist/typescript/module/index.d.ts.map +1 -0
- package/dist/typescript/module/lib/createFeature/createFeature.d.ts +7 -0
- package/dist/typescript/module/lib/createFeature/createFeature.d.ts.map +1 -0
- package/dist/typescript/module/lib/effector/createControllerEffect.d.ts +16 -0
- package/dist/typescript/module/lib/effector/createControllerEffect.d.ts.map +1 -0
- package/dist/typescript/module/lib/effector/createEntityFieldStore.d.ts +16 -0
- package/dist/typescript/module/lib/effector/createEntityFieldStore.d.ts.map +1 -0
- package/dist/typescript/module/lib/effector/index.d.ts +3 -0
- package/dist/typescript/module/lib/effector/index.d.ts.map +1 -0
- package/dist/typescript/module/lib/helpers/helpers.d.ts +2 -0
- package/dist/typescript/module/lib/helpers/helpers.d.ts.map +1 -0
- package/dist/typescript/module/package.json +1 -0
- package/dist/typescript/module/shared/hooks/useDebounce.d.ts +2 -0
- package/dist/typescript/module/shared/hooks/useDebounce.d.ts.map +1 -0
- package/dist/typescript/module/shared/icons/ArrowRightIcon.d.ts +4 -0
- package/dist/typescript/module/shared/icons/ArrowRightIcon.d.ts.map +1 -0
- package/dist/typescript/module/shared/icons/ChatbotIcon.d.ts +4 -0
- package/dist/typescript/module/shared/icons/ChatbotIcon.d.ts.map +1 -0
- package/dist/typescript/module/shared/icons/CloseIcon.d.ts +4 -0
- package/dist/typescript/module/shared/icons/CloseIcon.d.ts.map +1 -0
- package/dist/typescript/module/shared/icons/GlobeIcon.d.ts +4 -0
- package/dist/typescript/module/shared/icons/GlobeIcon.d.ts.map +1 -0
- package/dist/typescript/module/shared/icons/PauseIcon.d.ts +4 -0
- package/dist/typescript/module/shared/icons/PauseIcon.d.ts.map +1 -0
- package/dist/typescript/module/shared/icons/PlayIcon.d.ts +4 -0
- package/dist/typescript/module/shared/icons/PlayIcon.d.ts.map +1 -0
- package/dist/typescript/module/shared/icons/SpeakerIcon.d.ts +4 -0
- package/dist/typescript/module/shared/icons/SpeakerIcon.d.ts.map +1 -0
- package/dist/typescript/module/shared/icons/icon.types.d.ts +9 -0
- package/dist/typescript/module/shared/icons/icon.types.d.ts.map +1 -0
- package/dist/typescript/module/shared/translation/constants.d.ts +6 -0
- package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -0
- package/dist/typescript/module/shared/translation/helpers.d.ts +6 -0
- package/dist/typescript/module/shared/translation/helpers.d.ts.map +1 -0
- package/dist/typescript/module/shared/translation/hooks.d.ts +5 -0
- package/dist/typescript/module/shared/translation/hooks.d.ts.map +1 -0
- package/dist/typescript/module/shared/translation/index.d.ts +6 -0
- package/dist/typescript/module/shared/translation/index.d.ts.map +1 -0
- package/dist/typescript/module/shared/translation/model.d.ts +5 -0
- package/dist/typescript/module/shared/translation/model.d.ts.map +1 -0
- package/dist/typescript/module/shared/translation/types.d.ts +8 -0
- package/dist/typescript/module/shared/translation/types.d.ts.map +1 -0
- package/package.json +73 -0
- package/src/features/chatbot/components/Alternatives/Alternatives.tsx +64 -0
- package/src/features/chatbot/components/Alternatives/HelpRequestOption.tsx +92 -0
- package/src/features/chatbot/components/ChatControls/ChatControls.tsx +103 -0
- package/src/features/chatbot/components/ChatMessage/ChatMessage.tsx +28 -0
- package/src/features/chatbot/components/ChatMessage/MessageLoader.tsx +42 -0
- package/src/features/chatbot/components/ChatMessage/MessageTextToSpeech.tsx +78 -0
- package/src/features/chatbot/components/ChatMessage/ReceivedMessage.tsx +73 -0
- package/src/features/chatbot/components/ChatMessage/SentMessage.tsx +31 -0
- package/src/features/chatbot/components/ChatMessages/ChatbotMessages.tsx +148 -0
- package/src/features/chatbot/components/Chatbot.tsx +92 -0
- package/src/features/chatbot/components/ThreeDotsLoader/ThreeDotsLoader.tsx +77 -0
- package/src/features/chatbot/constants.ts +30 -0
- package/src/features/chatbot/helpers.ts +4 -0
- package/src/features/chatbot/index.ts +4 -0
- package/src/features/chatbot/model/api.ts +28 -0
- package/src/features/chatbot/model/model.ts +277 -0
- package/src/features/chatbot/model/t2s.ts +107 -0
- package/src/features/chatbot/model/translation.ts +231 -0
- package/src/features/chatbot/types/api.types.ts +59 -0
- package/src/features/chatbot/types/model.types.ts +73 -0
- package/src/features/chatbot/types/t2s.types.ts +24 -0
- package/src/features/chatbot/types/translation.types.ts +23 -0
- package/src/index.ts +3 -0
- package/src/lib/createFeature/createFeature.tsx +21 -0
- package/src/lib/effector/createControllerEffect.ts +66 -0
- package/src/lib/effector/createEntityFieldStore.ts +43 -0
- package/src/lib/effector/index.ts +2 -0
- package/src/lib/helpers/helpers.ts +2 -0
- package/src/lib/localization/en.json +2 -0
- package/src/lib/localization/gb.json +2 -0
- package/src/lib/localization/sw.json +2 -0
- package/src/shared/hooks/useDebounce.ts +17 -0
- package/src/shared/icons/ArrowRightIcon.tsx +14 -0
- package/src/shared/icons/ChatbotIcon.tsx +109 -0
- package/src/shared/icons/CloseIcon.tsx +12 -0
- package/src/shared/icons/GlobeIcon.tsx +14 -0
- package/src/shared/icons/PauseIcon.tsx +16 -0
- package/src/shared/icons/PlayIcon.tsx +16 -0
- package/src/shared/icons/SpeakerIcon.tsx +22 -0
- package/src/shared/icons/icon.types.ts +8 -0
- package/src/shared/translation/constants.ts +10 -0
- package/src/shared/translation/helpers.ts +34 -0
- package/src/shared/translation/hooks.ts +28 -0
- package/src/shared/translation/index.ts +5 -0
- package/src/shared/translation/model.ts +15 -0
- package/src/shared/translation/types.ts +9 -0
- package/src/types/types.d.ts +4 -0
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ChatbotModel = void 0;
|
|
7
|
+
var _effector = require("effector");
|
|
8
|
+
var _index = require("../../../lib/effector/index.js");
|
|
9
|
+
var _helpers = require("../../../lib/helpers/helpers.js");
|
|
10
|
+
var _api = require("./api.js");
|
|
11
|
+
var _translation = require("./translation.js");
|
|
12
|
+
var _t2s = require("./t2s.js");
|
|
13
|
+
class ChatbotModel {
|
|
14
|
+
resetAlternatives = (0, _effector.createEvent)();
|
|
15
|
+
setAlternatives = (0, _effector.createEvent)();
|
|
16
|
+
setIsOpen = (0, _effector.createEvent)();
|
|
17
|
+
toggleOpen = (0, _effector.createEvent)();
|
|
18
|
+
$isOpen = (0, _effector.restore)(this.setIsOpen, false).on(this.toggleOpen, isOpen => !isOpen);
|
|
19
|
+
|
|
20
|
+
// separate messages and alternatives class?
|
|
21
|
+
removeLastMessage = (0, _effector.createEvent)();
|
|
22
|
+
setLastMessageIds = (0, _effector.createEvent)();
|
|
23
|
+
$lastMessageIds = (0, _effector.restore)(this.setLastMessageIds, null);
|
|
24
|
+
setScrollActive = (0, _effector.createEvent)();
|
|
25
|
+
$isScrollActive = (0, _effector.restore)(this.setScrollActive, false);
|
|
26
|
+
constructor({
|
|
27
|
+
credits,
|
|
28
|
+
api,
|
|
29
|
+
messages
|
|
30
|
+
}) {
|
|
31
|
+
this.api = new _api.ChatbotAPI(api);
|
|
32
|
+
this.defaultMessages = messages;
|
|
33
|
+
this.credits = credits;
|
|
34
|
+
this.$alternatives = (0, _effector.restore)(this.api.getAlternativesFx.doneData, null).on(this.setAlternatives, (_, payload) => payload).reset(this.resetAlternatives);
|
|
35
|
+
|
|
36
|
+
// TODO: do not pass this, just what you need
|
|
37
|
+
this.translation = new _translation.ChatbotTranslation(this);
|
|
38
|
+
this.t2s = new _t2s.ChatTextToSpeech(this);
|
|
39
|
+
this.sendHelpRequestFx = this.createSendHelpRequestFx();
|
|
40
|
+
this.initChatReplyWatcher();
|
|
41
|
+
}
|
|
42
|
+
messages = (0, _index.createEntityFieldStore)({
|
|
43
|
+
mapper: ({
|
|
44
|
+
entityId,
|
|
45
|
+
fieldId,
|
|
46
|
+
messages
|
|
47
|
+
}) => ({
|
|
48
|
+
entityId,
|
|
49
|
+
fieldId,
|
|
50
|
+
data: {
|
|
51
|
+
messages
|
|
52
|
+
}
|
|
53
|
+
})
|
|
54
|
+
});
|
|
55
|
+
threadIds = (0, _index.createEntityFieldStore)({
|
|
56
|
+
mapper: ({
|
|
57
|
+
entityId,
|
|
58
|
+
fieldId,
|
|
59
|
+
threadId
|
|
60
|
+
}) => ({
|
|
61
|
+
entityId,
|
|
62
|
+
fieldId,
|
|
63
|
+
data: {
|
|
64
|
+
threadId
|
|
65
|
+
}
|
|
66
|
+
})
|
|
67
|
+
});
|
|
68
|
+
availableChats = (0, _index.createEntityFieldStore)({
|
|
69
|
+
mapper: ({
|
|
70
|
+
entityId,
|
|
71
|
+
fieldId,
|
|
72
|
+
isAvailable = true
|
|
73
|
+
}) => ({
|
|
74
|
+
entityId,
|
|
75
|
+
fieldId,
|
|
76
|
+
data: {
|
|
77
|
+
isAvailable
|
|
78
|
+
}
|
|
79
|
+
})
|
|
80
|
+
});
|
|
81
|
+
createSendHelpRequestFx() {
|
|
82
|
+
return (0, _effector.attach)({
|
|
83
|
+
source: [this.credits.$assignmentId, this.credits.$exerciseId, this.messages.$state, this.translation.$isTranslated],
|
|
84
|
+
mapParams: (params, [assignmentId, exerciseId, messages, isTranslated]) => ({
|
|
85
|
+
...params,
|
|
86
|
+
assignmentId,
|
|
87
|
+
exerciseId,
|
|
88
|
+
messages,
|
|
89
|
+
isTranslated
|
|
90
|
+
}),
|
|
91
|
+
effect: (0, _index.createControllerEffect)(async ({
|
|
92
|
+
payload,
|
|
93
|
+
message = '',
|
|
94
|
+
translationTargetLanguage,
|
|
95
|
+
translatedMessage,
|
|
96
|
+
assignmentId,
|
|
97
|
+
exerciseId,
|
|
98
|
+
messages,
|
|
99
|
+
isTranslated
|
|
100
|
+
}) => {
|
|
101
|
+
this.setLastMessageIds({
|
|
102
|
+
entityId: assignmentId,
|
|
103
|
+
fieldId: exerciseId
|
|
104
|
+
});
|
|
105
|
+
const currentMessages = messages[assignmentId]?.[exerciseId]?.messages || [];
|
|
106
|
+
this.messages.setField({
|
|
107
|
+
entityId: assignmentId,
|
|
108
|
+
fieldId: exerciseId,
|
|
109
|
+
messages: [...currentMessages, {
|
|
110
|
+
id: (0, _helpers.generateRandomId)(),
|
|
111
|
+
message: message ?? '',
|
|
112
|
+
translatedMessage,
|
|
113
|
+
isOwnMessage: true,
|
|
114
|
+
threadId: payload.threadId ?? '',
|
|
115
|
+
options: []
|
|
116
|
+
}]
|
|
117
|
+
});
|
|
118
|
+
const response = await this.api.postMessageFx(payload);
|
|
119
|
+
if (isTranslated) {
|
|
120
|
+
return await this.translation.translateMessageFx({
|
|
121
|
+
targetLanguage: translationTargetLanguage,
|
|
122
|
+
message: {
|
|
123
|
+
...response,
|
|
124
|
+
id: (0, _helpers.generateRandomId)(),
|
|
125
|
+
isOwnMessage: false
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
return response;
|
|
130
|
+
})
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
initChatReplyWatcher() {
|
|
134
|
+
(0, _effector.sample)({
|
|
135
|
+
clock: this.sendHelpRequestFx.doneData,
|
|
136
|
+
source: [this.credits.$assignmentId, this.credits.$exerciseId, this.messages.$state],
|
|
137
|
+
fn: ([assignmentId, exerciseId, messages], response) => ({
|
|
138
|
+
assignmentId,
|
|
139
|
+
exerciseId,
|
|
140
|
+
messages: messages[assignmentId]?.[exerciseId]?.messages || [],
|
|
141
|
+
response
|
|
142
|
+
})
|
|
143
|
+
}).watch(({
|
|
144
|
+
assignmentId,
|
|
145
|
+
exerciseId,
|
|
146
|
+
messages,
|
|
147
|
+
response
|
|
148
|
+
}) => {
|
|
149
|
+
this.messages.setField({
|
|
150
|
+
entityId: assignmentId,
|
|
151
|
+
fieldId: exerciseId,
|
|
152
|
+
messages: [...messages, {
|
|
153
|
+
id: (0, _helpers.generateRandomId)(),
|
|
154
|
+
message: response.message,
|
|
155
|
+
isOwnMessage: false,
|
|
156
|
+
threadId: response.threadId,
|
|
157
|
+
options: response.options,
|
|
158
|
+
translatedMessage: 'translatedMessage' in response ? response.translatedMessage : undefined
|
|
159
|
+
}]
|
|
160
|
+
});
|
|
161
|
+
this.threadIds.setField({
|
|
162
|
+
entityId: assignmentId,
|
|
163
|
+
fieldId: exerciseId,
|
|
164
|
+
threadId: response.threadId
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
(0, _effector.sample)({
|
|
168
|
+
clock: this.sendHelpRequestFx.fail,
|
|
169
|
+
source: [this.credits.$assignmentId, this.credits.$exerciseId, this.messages.$state],
|
|
170
|
+
fn: ([assignmentId, exerciseId, messages]) => ({
|
|
171
|
+
assignmentId,
|
|
172
|
+
exerciseId,
|
|
173
|
+
messages: messages[assignmentId]?.[exerciseId]?.messages || []
|
|
174
|
+
}),
|
|
175
|
+
filter: (_, {
|
|
176
|
+
error
|
|
177
|
+
}) => error.message !== 'Request aborted manually'
|
|
178
|
+
}).watch(({
|
|
179
|
+
assignmentId,
|
|
180
|
+
exerciseId,
|
|
181
|
+
messages
|
|
182
|
+
}) => {
|
|
183
|
+
this.messages.setField({
|
|
184
|
+
entityId: assignmentId,
|
|
185
|
+
fieldId: exerciseId,
|
|
186
|
+
messages: [...messages, this.defaultMessages.error]
|
|
187
|
+
});
|
|
188
|
+
});
|
|
189
|
+
(0, _effector.sample)({
|
|
190
|
+
clock: this.removeLastMessage,
|
|
191
|
+
source: [this.$lastMessageIds, this.messages.$state],
|
|
192
|
+
fn: ([lastMessageIds, messages]) => ({
|
|
193
|
+
lastMessageIds,
|
|
194
|
+
messages
|
|
195
|
+
})
|
|
196
|
+
}).watch(({
|
|
197
|
+
lastMessageIds,
|
|
198
|
+
messages
|
|
199
|
+
}) => {
|
|
200
|
+
if (!lastMessageIds) return;
|
|
201
|
+
const updatedMessages = [...messages[lastMessageIds.entityId][lastMessageIds.fieldId].messages];
|
|
202
|
+
if (updatedMessages) updatedMessages.pop();
|
|
203
|
+
this.messages.setField({
|
|
204
|
+
entityId: lastMessageIds.entityId,
|
|
205
|
+
fieldId: lastMessageIds.fieldId,
|
|
206
|
+
messages: updatedMessages
|
|
207
|
+
});
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
startConversation() {
|
|
211
|
+
const assignmentId = this.credits.$assignmentId.getState();
|
|
212
|
+
const exerciseId = this.credits.$exerciseId.getState();
|
|
213
|
+
const messages = this.messages.$state.getState()[assignmentId]?.[exerciseId]?.messages ?? [];
|
|
214
|
+
if (messages.length) return;
|
|
215
|
+
this.messages.setField({
|
|
216
|
+
entityId: assignmentId,
|
|
217
|
+
fieldId: exerciseId,
|
|
218
|
+
messages: [this.defaultMessages.start]
|
|
219
|
+
});
|
|
220
|
+
this.availableChats.setField({
|
|
221
|
+
entityId: assignmentId,
|
|
222
|
+
fieldId: exerciseId,
|
|
223
|
+
isAvailable: true
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
setHintMessage({
|
|
227
|
+
entityId,
|
|
228
|
+
fieldId,
|
|
229
|
+
...message
|
|
230
|
+
}) {
|
|
231
|
+
const messages = this.messages.$state.getState()?.[entityId]?.[fieldId]?.messages;
|
|
232
|
+
if (messages?.length > 1) return;
|
|
233
|
+
this.messages.setField({
|
|
234
|
+
entityId,
|
|
235
|
+
fieldId,
|
|
236
|
+
messages: [{
|
|
237
|
+
...message,
|
|
238
|
+
options: this.$alternatives.getState()?.options.hints ?? message.options
|
|
239
|
+
}]
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
exports.ChatbotModel = ChatbotModel;
|
|
244
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_effector","require","_index","_helpers","_api","_translation","_t2s","ChatbotModel","resetAlternatives","createEvent","setAlternatives","setIsOpen","toggleOpen","$isOpen","restore","on","isOpen","removeLastMessage","setLastMessageIds","$lastMessageIds","setScrollActive","$isScrollActive","constructor","credits","api","messages","ChatbotAPI","defaultMessages","$alternatives","getAlternativesFx","doneData","_","payload","reset","translation","ChatbotTranslation","t2s","ChatTextToSpeech","sendHelpRequestFx","createSendHelpRequestFx","initChatReplyWatcher","createEntityFieldStore","mapper","entityId","fieldId","data","threadIds","threadId","availableChats","isAvailable","attach","source","$assignmentId","$exerciseId","$state","$isTranslated","mapParams","params","assignmentId","exerciseId","isTranslated","effect","createControllerEffect","message","translationTargetLanguage","translatedMessage","currentMessages","setField","id","generateRandomId","isOwnMessage","options","response","postMessageFx","translateMessageFx","targetLanguage","sample","clock","fn","watch","undefined","fail","filter","error","lastMessageIds","updatedMessages","pop","startConversation","getState","length","start","setHintMessage","hints","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/model.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ChatTextToSpeech = void 0;
|
|
7
|
+
var _effector = require("effector");
|
|
8
|
+
var _constants = require("../constants.js");
|
|
9
|
+
var _t2sTypes = require("../types/t2s.types.js");
|
|
10
|
+
class ChatTextToSpeech {
|
|
11
|
+
audioCache = {};
|
|
12
|
+
audioProvider = null;
|
|
13
|
+
setCurrentPlayingId = (0, _effector.createEvent)();
|
|
14
|
+
$currentPlayingId = (0, _effector.restore)(this.setCurrentPlayingId, null);
|
|
15
|
+
setStatus = (0, _effector.createEvent)();
|
|
16
|
+
$status = (0, _effector.restore)(this.setStatus, _t2sTypes.AudioStatus.STOPPED);
|
|
17
|
+
constructor(chatbotModel) {
|
|
18
|
+
this.model = chatbotModel;
|
|
19
|
+
this.model.$isOpen.updates.watch(isOpen => {
|
|
20
|
+
if (!isOpen) this.reset();
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
setAudioProvider(audioProvider) {
|
|
24
|
+
this.audioProvider = audioProvider;
|
|
25
|
+
}
|
|
26
|
+
getCacheKey = (messageId, isTranslated) => {
|
|
27
|
+
return `${messageId}-${isTranslated ? 'translated' : 'original'}`;
|
|
28
|
+
};
|
|
29
|
+
async play({
|
|
30
|
+
text,
|
|
31
|
+
messageId,
|
|
32
|
+
isTranslated,
|
|
33
|
+
config
|
|
34
|
+
}) {
|
|
35
|
+
if (!this.audioProvider) throw new Error('Audio provider is not set. Use setAudioProvider.');
|
|
36
|
+
try {
|
|
37
|
+
const status = this.$status.getState();
|
|
38
|
+
const playingId = this.$currentPlayingId.getState();
|
|
39
|
+
const isPlaying = status === _t2sTypes.AudioStatus.PLAYING;
|
|
40
|
+
const isPaused = status === _t2sTypes.AudioStatus.PAUSED;
|
|
41
|
+
const isCurrentMessage = messageId === playingId;
|
|
42
|
+
if (isPlaying && isCurrentMessage) {
|
|
43
|
+
this.audioProvider.pause();
|
|
44
|
+
this.setStatus(_t2sTypes.AudioStatus.PAUSED);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (isPaused && isCurrentMessage) {
|
|
48
|
+
this.audioProvider.resume();
|
|
49
|
+
this.setStatus(_t2sTypes.AudioStatus.PLAYING);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (messageId && !isCurrentMessage) {
|
|
53
|
+
this.audioProvider.stop();
|
|
54
|
+
}
|
|
55
|
+
const cacheKey = this.getCacheKey(messageId, isTranslated);
|
|
56
|
+
let audioPath = this.audioCache[cacheKey];
|
|
57
|
+
this.setCurrentPlayingId(messageId);
|
|
58
|
+
if (!audioPath) {
|
|
59
|
+
const response = await this.model.api.textToSpeechTextFx({
|
|
60
|
+
input: {
|
|
61
|
+
text
|
|
62
|
+
},
|
|
63
|
+
voice: config?.voice ?? _constants.DEFAULT_VOICE,
|
|
64
|
+
audioConfig: config?.audioConfig ?? _constants.AUDIO_CONFIG
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
// Response might be different type based on provided AUDIO_CONFIG
|
|
68
|
+
if (typeof response === 'string') {
|
|
69
|
+
audioPath = `data:audio/mpeg;base64,${response}`;
|
|
70
|
+
} else {
|
|
71
|
+
audioPath = response?.audioContent ?? '';
|
|
72
|
+
}
|
|
73
|
+
this.audioCache[cacheKey] = audioPath;
|
|
74
|
+
}
|
|
75
|
+
this.setStatus(_t2sTypes.AudioStatus.PLAYING);
|
|
76
|
+
await this.audioProvider.play(audioPath, () => {
|
|
77
|
+
this.setStatus(_t2sTypes.AudioStatus.STOPPED);
|
|
78
|
+
this.setCurrentPlayingId(null);
|
|
79
|
+
});
|
|
80
|
+
} catch (error) {
|
|
81
|
+
this.reset();
|
|
82
|
+
console.error('Error playing text-to-speech: ', error);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
stop() {
|
|
86
|
+
if (!this.audioProvider) throw new Error('Audio provider is not set. Use setAudioProvider.');
|
|
87
|
+
this.audioProvider.stop();
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// reset should also do stop(), add watcher to model to not write it in repos
|
|
91
|
+
// chatbotModel.$isOpen.updates.watch((isOpen) => {
|
|
92
|
+
// if (!isOpen) {
|
|
93
|
+
// chatbotModel.t2s.stop();
|
|
94
|
+
// chatbotModel.t2s.reset();
|
|
95
|
+
// }
|
|
96
|
+
|
|
97
|
+
reset() {
|
|
98
|
+
this.stop();
|
|
99
|
+
this.setStatus(_t2sTypes.AudioStatus.STOPPED);
|
|
100
|
+
this.setCurrentPlayingId(null);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.ChatTextToSpeech = ChatTextToSpeech;
|
|
104
|
+
//# sourceMappingURL=t2s.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_effector","require","_constants","_t2sTypes","ChatTextToSpeech","audioCache","audioProvider","setCurrentPlayingId","createEvent","$currentPlayingId","restore","setStatus","$status","AudioStatus","STOPPED","constructor","chatbotModel","model","$isOpen","updates","watch","isOpen","reset","setAudioProvider","getCacheKey","messageId","isTranslated","play","text","config","Error","status","getState","playingId","isPlaying","PLAYING","isPaused","PAUSED","isCurrentMessage","pause","resume","stop","cacheKey","audioPath","response","api","textToSpeechTextFx","input","voice","DEFAULT_VOICE","audioConfig","AUDIO_CONFIG","audioContent","error","console","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/t2s.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ChatbotTranslation = void 0;
|
|
7
|
+
var _effector = require("effector");
|
|
8
|
+
var _helpers = require("../helpers.js");
|
|
9
|
+
class ChatbotTranslation {
|
|
10
|
+
setIsTranslated = (0, _effector.createEvent)();
|
|
11
|
+
$isTranslated = (0, _effector.restore)(this.setIsTranslated, false);
|
|
12
|
+
constructor(chatbotModel) {
|
|
13
|
+
this.model = chatbotModel;
|
|
14
|
+
this.translateAlternativesFx = this.createTranslateAlternativesEffect();
|
|
15
|
+
this.translateMessageFx = this.createTranslateMessageEffect();
|
|
16
|
+
this.translateBatchFx = this.createTranslateBatchEffect();
|
|
17
|
+
this.initTranslationSamples();
|
|
18
|
+
}
|
|
19
|
+
shouldSkipTranslation(messages) {
|
|
20
|
+
if (this.$isTranslated.getState()) {
|
|
21
|
+
this.setIsTranslated(false);
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
const allTranslated = messages.every(message => message.translatedMessage);
|
|
25
|
+
if (allTranslated) {
|
|
26
|
+
this.setIsTranslated(true);
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
initTranslationSamples() {
|
|
32
|
+
(0, _effector.sample)({
|
|
33
|
+
clock: this.translateBatchFx.doneData,
|
|
34
|
+
source: [this.model.credits.$assignmentId, this.model.credits.$exerciseId],
|
|
35
|
+
fn: ([assignmentId, exerciseId], translatedMessages) => ({
|
|
36
|
+
assignmentId,
|
|
37
|
+
exerciseId,
|
|
38
|
+
translatedMessages
|
|
39
|
+
})
|
|
40
|
+
}).watch(({
|
|
41
|
+
assignmentId,
|
|
42
|
+
exerciseId,
|
|
43
|
+
translatedMessages
|
|
44
|
+
}) => {
|
|
45
|
+
this.model.messages.setField({
|
|
46
|
+
entityId: assignmentId,
|
|
47
|
+
fieldId: exerciseId,
|
|
48
|
+
messages: translatedMessages
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
createTranslateAlternativesEffect() {
|
|
53
|
+
return (0, _effector.attach)({
|
|
54
|
+
source: [this.model.$alternatives],
|
|
55
|
+
mapParams: (params, [alternatives]) => ({
|
|
56
|
+
params,
|
|
57
|
+
alternatives
|
|
58
|
+
}),
|
|
59
|
+
effect: (0, _effector.createEffect)(async ({
|
|
60
|
+
alternatives,
|
|
61
|
+
params
|
|
62
|
+
}) => {
|
|
63
|
+
const hintAlternatives = alternatives?.options.hints ?? [];
|
|
64
|
+
const defaultAlternatives = alternatives?.options.default ?? [];
|
|
65
|
+
const translatedAlternatives = {
|
|
66
|
+
...alternatives
|
|
67
|
+
};
|
|
68
|
+
if (hintAlternatives.length) {
|
|
69
|
+
const hintText = hintAlternatives.map(({
|
|
70
|
+
text
|
|
71
|
+
}) => text);
|
|
72
|
+
const response = await this.model.api.translateTextFx({
|
|
73
|
+
text: hintText,
|
|
74
|
+
targetLanguage: params.targetLanguage
|
|
75
|
+
});
|
|
76
|
+
if (translatedAlternatives.options) {
|
|
77
|
+
translatedAlternatives.options.hints = hintAlternatives.map((alternative, index) => ({
|
|
78
|
+
...alternative,
|
|
79
|
+
translatedMessage: (0, _helpers.decodeHTMLEntities)(response.data.translations[index].translatedText)
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (defaultAlternatives.length) {
|
|
84
|
+
const defaultText = defaultAlternatives.map(({
|
|
85
|
+
text
|
|
86
|
+
}) => text);
|
|
87
|
+
const response = await this.model.api.translateTextFx({
|
|
88
|
+
text: defaultText,
|
|
89
|
+
targetLanguage: params.targetLanguage
|
|
90
|
+
});
|
|
91
|
+
if (translatedAlternatives.options) {
|
|
92
|
+
translatedAlternatives.options.default = defaultAlternatives.map((alternative, index) => ({
|
|
93
|
+
...alternative,
|
|
94
|
+
translatedText: (0, _helpers.decodeHTMLEntities)(response.data.translations[index].translatedText)
|
|
95
|
+
}));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return translatedAlternatives;
|
|
99
|
+
})
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
createTranslateMessageEffect() {
|
|
103
|
+
return (0, _effector.createEffect)(async ({
|
|
104
|
+
message,
|
|
105
|
+
targetLanguage
|
|
106
|
+
}) => {
|
|
107
|
+
const optionsText = message.options.map(({
|
|
108
|
+
text
|
|
109
|
+
}) => text);
|
|
110
|
+
const response = await this.model.api.translateTextFx({
|
|
111
|
+
text: [message.message, ...optionsText],
|
|
112
|
+
targetLanguage
|
|
113
|
+
});
|
|
114
|
+
const translatedOptions = response.data.translations.slice(1);
|
|
115
|
+
const optionsCopy = [...message.options];
|
|
116
|
+
const newOptions = optionsCopy.map((option, index) => ({
|
|
117
|
+
...option,
|
|
118
|
+
translatedText: (0, _helpers.decodeHTMLEntities)(translatedOptions[index].translatedText)
|
|
119
|
+
}));
|
|
120
|
+
return {
|
|
121
|
+
...message,
|
|
122
|
+
translatedMessage: (0, _helpers.decodeHTMLEntities)(response.data.translations[0].translatedText),
|
|
123
|
+
options: newOptions
|
|
124
|
+
};
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
createTranslateBatchEffect() {
|
|
128
|
+
return (0, _effector.attach)({
|
|
129
|
+
source: [this.model.credits.$assignmentId, this.model.credits.$exerciseId, this.model.messages.$state],
|
|
130
|
+
mapParams: (params, [assignmentId, exerciseId, messages]) => ({
|
|
131
|
+
params,
|
|
132
|
+
assignmentId,
|
|
133
|
+
exerciseId,
|
|
134
|
+
messages
|
|
135
|
+
}),
|
|
136
|
+
effect: (0, _effector.createEffect)(async ({
|
|
137
|
+
messages,
|
|
138
|
+
assignmentId,
|
|
139
|
+
exerciseId,
|
|
140
|
+
params
|
|
141
|
+
}) => {
|
|
142
|
+
const currentMessages = messages[assignmentId]?.[exerciseId]?.messages ?? [];
|
|
143
|
+
if (this.shouldSkipTranslation(currentMessages)) {
|
|
144
|
+
return currentMessages;
|
|
145
|
+
}
|
|
146
|
+
const messagesText = currentMessages.map(({
|
|
147
|
+
message
|
|
148
|
+
}) => message);
|
|
149
|
+
const response = await this.model.api.translateTextFx({
|
|
150
|
+
text: messagesText,
|
|
151
|
+
targetLanguage: params.targetLanguage
|
|
152
|
+
});
|
|
153
|
+
const lastMessage = currentMessages.at(-1);
|
|
154
|
+
const lastMessageTranslatedOptions = lastMessage ? await this.translateMessageOptions(lastMessage, params.targetLanguage) : undefined;
|
|
155
|
+
const errorMessageTranslationResponse = await this.model.api.translateTextFx({
|
|
156
|
+
text: [this.model.defaultMessages.error.message],
|
|
157
|
+
targetLanguage: params.targetLanguage
|
|
158
|
+
});
|
|
159
|
+
this.model.defaultMessages.error.translatedMessage = (0, _helpers.decodeHTMLEntities)(errorMessageTranslationResponse.data.translations[0].translatedText);
|
|
160
|
+
|
|
161
|
+
// TODO: move this AFTER state update in sample and remove initTranslationSamples it is not needed
|
|
162
|
+
// TODO: maybe just one request to translate everything
|
|
163
|
+
this.setIsTranslated(true);
|
|
164
|
+
const translatedMessages = response.data.translations.map(({
|
|
165
|
+
translatedText
|
|
166
|
+
}) => translatedText);
|
|
167
|
+
return currentMessages.map((message, index) => {
|
|
168
|
+
const isLastMessage = index === currentMessages.length - 1;
|
|
169
|
+
return {
|
|
170
|
+
...message,
|
|
171
|
+
options: isLastMessage ? lastMessageTranslatedOptions : message.options,
|
|
172
|
+
translatedMessage: (0, _helpers.decodeHTMLEntities)(translatedMessages[index])
|
|
173
|
+
};
|
|
174
|
+
});
|
|
175
|
+
})
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
async translateMessageOptions(message, targetLanguage) {
|
|
179
|
+
if (!message?.options?.length) {
|
|
180
|
+
const translatedAlternatives = await this.translateAlternativesFx({
|
|
181
|
+
targetLanguage
|
|
182
|
+
});
|
|
183
|
+
this.model.setAlternatives(translatedAlternatives);
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
const optionsText = message.options.map(({
|
|
187
|
+
text
|
|
188
|
+
}) => text);
|
|
189
|
+
const response = await this.model.api.translateTextFx({
|
|
190
|
+
text: optionsText,
|
|
191
|
+
targetLanguage
|
|
192
|
+
});
|
|
193
|
+
return message.options.map((option, index) => ({
|
|
194
|
+
...option,
|
|
195
|
+
translatedText: (0, _helpers.decodeHTMLEntities)(response.data.translations[index].translatedText)
|
|
196
|
+
}));
|
|
197
|
+
}
|
|
198
|
+
reset() {
|
|
199
|
+
this.setIsTranslated(false);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
exports.ChatbotTranslation = ChatbotTranslation;
|
|
203
|
+
//# sourceMappingURL=translation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_effector","require","_helpers","ChatbotTranslation","setIsTranslated","createEvent","$isTranslated","restore","constructor","chatbotModel","model","translateAlternativesFx","createTranslateAlternativesEffect","translateMessageFx","createTranslateMessageEffect","translateBatchFx","createTranslateBatchEffect","initTranslationSamples","shouldSkipTranslation","messages","getState","allTranslated","every","message","translatedMessage","sample","clock","doneData","source","credits","$assignmentId","$exerciseId","fn","assignmentId","exerciseId","translatedMessages","watch","setField","entityId","fieldId","attach","$alternatives","mapParams","params","alternatives","effect","createEffect","hintAlternatives","options","hints","defaultAlternatives","default","translatedAlternatives","length","hintText","map","text","response","api","translateTextFx","targetLanguage","alternative","index","decodeHTMLEntities","data","translations","translatedText","defaultText","optionsText","translatedOptions","slice","optionsCopy","newOptions","option","$state","currentMessages","messagesText","lastMessage","at","lastMessageTranslatedOptions","translateMessageOptions","undefined","errorMessageTranslationResponse","defaultMessages","error","isLastMessage","setAlternatives","reset","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/translation.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["features/chatbot/types/api.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MessageVariant = void 0;
|
|
7
|
+
let MessageVariant = exports.MessageVariant = /*#__PURE__*/function (MessageVariant) {
|
|
8
|
+
MessageVariant["SENT"] = "sent";
|
|
9
|
+
MessageVariant["RECEIVED"] = "received";
|
|
10
|
+
return MessageVariant;
|
|
11
|
+
}({});
|
|
12
|
+
//# sourceMappingURL=model.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MessageVariant","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/types/model.types.ts"],"mappings":";;;;;;IA+DYA,cAAc,GAAAC,OAAA,CAAAD,cAAA,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.AudioStatus = void 0;
|
|
7
|
+
let AudioStatus = exports.AudioStatus = /*#__PURE__*/function (AudioStatus) {
|
|
8
|
+
AudioStatus["PLAYING"] = "playing";
|
|
9
|
+
AudioStatus["STOPPED"] = "stopped";
|
|
10
|
+
AudioStatus["PAUSED"] = "paused";
|
|
11
|
+
return AudioStatus;
|
|
12
|
+
}({});
|
|
13
|
+
//# sourceMappingURL=t2s.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AudioStatus","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/types/t2s.types.ts"],"mappings":";;;;;;IAEYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["features/chatbot/types/translation.types.ts"],"mappings":"","ignoreList":[]}
|