@magmamath/students-features 0.2.0-fix-teacher-feedback-button12 → 0.2.0-hotfix-circular-dependencies-chatbot
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/chatbot/model/model.js +12 -2
- package/dist/commonjs/features/chatbot/model/model.js.map +1 -1
- package/dist/commonjs/features/chatbot/model/t2s.js +8 -4
- package/dist/commonjs/features/chatbot/model/t2s.js.map +1 -1
- package/dist/commonjs/features/chatbot/model/translation.js +30 -15
- package/dist/commonjs/features/chatbot/model/translation.js.map +1 -1
- package/dist/module/features/chatbot/model/model.js +12 -2
- package/dist/module/features/chatbot/model/model.js.map +1 -1
- package/dist/module/features/chatbot/model/t2s.js +8 -4
- package/dist/module/features/chatbot/model/t2s.js.map +1 -1
- package/dist/module/features/chatbot/model/translation.js +30 -15
- package/dist/module/features/chatbot/model/translation.js.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/model.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts +7 -5
- package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/translation.d.ts +10 -5
- package/dist/typescript/commonjs/features/chatbot/model/translation.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/model.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/t2s.d.ts +7 -5
- package/dist/typescript/module/features/chatbot/model/t2s.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/translation.d.ts +10 -5
- package/dist/typescript/module/features/chatbot/model/translation.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/chatbot/model/model.ts +13 -2
- package/src/features/chatbot/model/t2s.ts +13 -7
- package/src/features/chatbot/model/translation.ts +46 -27
|
@@ -34,8 +34,18 @@ class ChatbotModel {
|
|
|
34
34
|
this.$alternatives = (0, _effector.restore)(this.api.getAlternativesFx.doneData, null).on(this.setAlternatives, (_, payload) => payload).reset(this.resetAlternatives);
|
|
35
35
|
|
|
36
36
|
// TODO: do not pass this, just what you need
|
|
37
|
-
this.translation = new _translation.ChatbotTranslation(
|
|
38
|
-
|
|
37
|
+
this.translation = new _translation.ChatbotTranslation({
|
|
38
|
+
credits: this.credits,
|
|
39
|
+
$alternatives: this.$alternatives,
|
|
40
|
+
setAlternatives: this.setAlternatives,
|
|
41
|
+
defaultMessages: this.defaultMessages,
|
|
42
|
+
messages: this.messages,
|
|
43
|
+
api: this.api
|
|
44
|
+
});
|
|
45
|
+
this.t2s = new _t2s.ChatTextToSpeech({
|
|
46
|
+
$isOpen: this.$isOpen,
|
|
47
|
+
api: this.api
|
|
48
|
+
});
|
|
39
49
|
this.sendHelpRequestFx = this.createSendHelpRequestFx();
|
|
40
50
|
this.initChatReplyWatcher();
|
|
41
51
|
}
|
|
@@ -1 +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":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAeA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,IAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,IAAA,GAAAL,OAAA;AAEO,MAAMM,YAAY,CAAC;EAObC,iBAAiB,GAAG,IAAAC,qBAAW,EAAC,CAAC;EACjCC,eAAe,GAAG,IAAAD,qBAAW,EAAiC,CAAC;EAG/DE,SAAS,GAAG,IAAAF,qBAAW,EAAU,CAAC;EAClCG,UAAU,GAAG,IAAAH,qBAAW,EAAC,CAAC;EAC1BI,OAAO,GAAG,IAAAC,iBAAO,EAAC,IAAI,CAACH,SAAS,EAAE,KAAK,CAAC,CAACI,EAAE,CAAC,IAAI,CAACH,UAAU,EAAEI,MAAM,IAAI,CAACA,MAAM,CAAC;;EAExF;EACSC,iBAAiB,GAAG,IAAAR,qBAAW,EAAC,CAAC;EACjCS,iBAAiB,GAAG,IAAAT,qBAAW,EAAmB,CAAC;EACnDU,eAAe,GAAG,IAAAL,iBAAO,EAAC,IAAI,CAACI,iBAAiB,EAAE,IAAI,CAAC;EAEvDE,eAAe,GAAG,IAAAX,qBAAW,EAAU,CAAC;EACxCY,eAAe,GAAG,IAAAP,iBAAO,EAAC,IAAI,CAACM,eAAe,EAAE,KAAK,CAAC;EAM/DE,WAAWA,CAAC;IACRC,OAAO;IACPC,GAAG;IACHC;EACe,CAAC,EAAE;IAClB,IAAI,CAACD,GAAG,GAAG,IAAIE,eAAU,CAACF,GAAG,CAAC;IAE9B,IAAI,CAACG,eAAe,GAAGF,QAAQ;IAC/B,IAAI,CAACF,OAAO,GAAGA,OAAO;IAEtB,IAAI,CAACK,aAAa,GAAG,IAAAd,iBAAO,EAAC,IAAI,CAACU,GAAG,CAACK,iBAAiB,CAACC,QAAQ,EAAE,IAAI,CAAC,CAClEf,EAAE,CAAC,IAAI,CAACL,eAAe,EAAE,CAACqB,CAAC,EAAEC,OAAO,KAAKA,OAAO,CAAC,CACjDC,KAAK,CAAC,IAAI,CAACzB,iBAAiB,CAAC;;IAElC;IACA,IAAI,CAAC0B,WAAW,GAAG,IAAIC,+BAAkB,CAAC,IAAI,CAAC;
|
|
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":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAeA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,IAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,IAAA,GAAAL,OAAA;AAEO,MAAMM,YAAY,CAAC;EAObC,iBAAiB,GAAG,IAAAC,qBAAW,EAAC,CAAC;EACjCC,eAAe,GAAG,IAAAD,qBAAW,EAAiC,CAAC;EAG/DE,SAAS,GAAG,IAAAF,qBAAW,EAAU,CAAC;EAClCG,UAAU,GAAG,IAAAH,qBAAW,EAAC,CAAC;EAC1BI,OAAO,GAAG,IAAAC,iBAAO,EAAC,IAAI,CAACH,SAAS,EAAE,KAAK,CAAC,CAACI,EAAE,CAAC,IAAI,CAACH,UAAU,EAAEI,MAAM,IAAI,CAACA,MAAM,CAAC;;EAExF;EACSC,iBAAiB,GAAG,IAAAR,qBAAW,EAAC,CAAC;EACjCS,iBAAiB,GAAG,IAAAT,qBAAW,EAAmB,CAAC;EACnDU,eAAe,GAAG,IAAAL,iBAAO,EAAC,IAAI,CAACI,iBAAiB,EAAE,IAAI,CAAC;EAEvDE,eAAe,GAAG,IAAAX,qBAAW,EAAU,CAAC;EACxCY,eAAe,GAAG,IAAAP,iBAAO,EAAC,IAAI,CAACM,eAAe,EAAE,KAAK,CAAC;EAM/DE,WAAWA,CAAC;IACRC,OAAO;IACPC,GAAG;IACHC;EACe,CAAC,EAAE;IAClB,IAAI,CAACD,GAAG,GAAG,IAAIE,eAAU,CAACF,GAAG,CAAC;IAE9B,IAAI,CAACG,eAAe,GAAGF,QAAQ;IAC/B,IAAI,CAACF,OAAO,GAAGA,OAAO;IAEtB,IAAI,CAACK,aAAa,GAAG,IAAAd,iBAAO,EAAC,IAAI,CAACU,GAAG,CAACK,iBAAiB,CAACC,QAAQ,EAAE,IAAI,CAAC,CAClEf,EAAE,CAAC,IAAI,CAACL,eAAe,EAAE,CAACqB,CAAC,EAAEC,OAAO,KAAKA,OAAO,CAAC,CACjDC,KAAK,CAAC,IAAI,CAACzB,iBAAiB,CAAC;;IAElC;IACA,IAAI,CAAC0B,WAAW,GAAG,IAAIC,+BAAkB,CAAC;MACxCZ,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBK,aAAa,EAAE,IAAI,CAACA,aAAa;MACjClB,eAAe,EAAE,IAAI,CAACA,eAAe;MACrCiB,eAAe,EAAE,IAAI,CAACA,eAAe;MACrCF,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBD,GAAG,EAAE,IAAI,CAACA;IACZ,CAAC,CAAC;IAEF,IAAI,CAACY,GAAG,GAAG,IAAIC,qBAAgB,CAAC;MAC9BxB,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBW,GAAG,EAAE,IAAI,CAACA;IACZ,CAAC,CAAC;IAEF,IAAI,CAACc,iBAAiB,GAAG,IAAI,CAACC,uBAAuB,CAAC,CAAC;IACvD,IAAI,CAACC,oBAAoB,CAAC,CAAC;EAC/B;EAESf,QAAQ,GAAG,IAAAgB,6BAAsB,EAAC;IACvCC,MAAM,EAAEA,CAAC;MAAEC,QAAQ;MAAEC,OAAO;MAAEnB;IAA4B,CAAC,MAAM;MAC7DkB,QAAQ;MACRC,OAAO;MACPC,IAAI,EAAE;QAAEpB;MAAS;IACrB,CAAC;EACL,CAAC,CAAC;EAEOqB,SAAS,GAAG,IAAAL,6BAAsB,EAAC;IACxCC,MAAM,EAAEA,CAAC;MAAEC,QAAQ;MAAEC,OAAO;MAAEG;IAAyB,CAAC,MAAM;MAC1DJ,QAAQ;MACRC,OAAO;MACPC,IAAI,EAAE;QAAEE;MAAS;IACrB,CAAC;EACL,CAAC,CAAC;EAEOC,cAAc,GAAG,IAAAP,6BAAsB,EAAC;IAC7CC,MAAM,EAAEA,CAAC;MAAEC,QAAQ;MAAEC,OAAO;MAAEK,WAAW,GAAG;IAA0B,CAAC,MAAM;MACzEN,QAAQ;MACRC,OAAO;MACPC,IAAI,EAAE;QAAEI;MAAY;IACxB,CAAC;EACL,CAAC,CAAC;EAEMV,uBAAuBA,CAAA,EAAG;IAC9B,OAAO,IAAAW,gBAAM,EAAC;MACVC,MAAM,EAAE,CACJ,IAAI,CAAC5B,OAAO,CAAC6B,aAAa,EAC1B,IAAI,CAAC7B,OAAO,CAAC8B,WAAW,EACxB,IAAI,CAAC5B,QAAQ,CAAC6B,MAAM,EACpB,IAAI,CAACpB,WAAW,CAACqB,aAAa,CACjC;MACDC,SAAS,EAAEA,CACPC,MAAsB,EACtB,CAACC,YAAY,EAAEC,UAAU,EAAElC,QAAQ,EAAEmC,YAAY,CAAC,MAChD;QACF,GAAGH,MAAM;QACTC,YAAY;QACZC,UAAU;QACVlC,QAAQ;QACRmC;MACJ,CAAC,CAAC;MACFC,MAAM,EAAE,IAAAC,6BAAsB,EAC1B,OAAO;QACH9B,OAAO;QACP+B,OAAO,GAAG,EAAE;QACZC,yBAAyB;QACzBC,iBAAiB;QACjBP,YAAY;QACZC,UAAU;QACVlC,QAAQ;QACRmC;MACW,CAAC,KAAK;QACjB,IAAI,CAAC1C,iBAAiB,CAAC;UACnByB,QAAQ,EAAEe,YAAY;UACtBd,OAAO,EAAEe;QACb,CAAC,CAAC;QAEF,MAAMO,eAAe,GAAGzC,QAAQ,CAACiC,YAAY,CAAC,GAAGC,UAAU,CAAC,EAAElC,QAAQ,IAAI,EAAE;QAE5E,IAAI,CAACA,QAAQ,CAAC0C,QAAQ,CAAC;UACnBxB,QAAQ,EAAEe,YAAY;UACtBd,OAAO,EAAEe,UAAU;UACnBlC,QAAQ,EAAE,CACN,GAAGyC,eAAe,EAClB;YACIE,EAAE,EAAE,IAAAC,yBAAgB,EAAC,CAAC;YACtBN,OAAO,EAAEA,OAAO,IAAI,EAAE;YACtBE,iBAAiB;YACjBK,YAAY,EAAE,IAAI;YAClBvB,QAAQ,EAAEf,OAAO,CAACe,QAAQ,IAAI,EAAE;YAChCwB,OAAO,EAAE;UACb,CAAC;QAET,CAAC,CAAC;QAEF,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAAChD,GAAG,CAACiD,aAAa,CAACzC,OAAO,CAAC;QACtD,IAAI4B,YAAY,EAAE;UACd,OAAO,MAAM,IAAI,CAAC1B,WAAW,CAACwC,kBAAkB,CAAC;YAC7CC,cAAc,EAAEX,yBAAmC;YACnDD,OAAO,EAAE;cACL,GAAGS,QAAQ;cACXJ,EAAE,EAAE,IAAAC,yBAAgB,EAAC,CAAC;cACtBC,YAAY,EAAE;YAClB;UACJ,CAAC,CAAC;QACN;QAEA,OAAOE,QAAQ;MACnB,CACJ;IACJ,CAAC,CAAC;EACN;EAEQhC,oBAAoBA,CAAA,EAAG;IAC3B,IAAAoC,gBAAM,EAAC;MACHC,KAAK,EAAE,IAAI,CAACvC,iBAAiB,CAACR,QAAQ;MACtCqB,MAAM,EAAE,CAAC,IAAI,CAAC5B,OAAO,CAAC6B,aAAa,EAAE,IAAI,CAAC7B,OAAO,CAAC8B,WAAW,EAAE,IAAI,CAAC5B,QAAQ,CAAC6B,MAAM,CAAU;MAC7FwB,EAAE,EAAEA,CAAC,CAACpB,YAAY,EAAEC,UAAU,EAAElC,QAAQ,CAAC,EAAE+C,QAAQ,MAAM;QACrDd,YAAY;QACZC,UAAU;QACVlC,QAAQ,EAAEA,QAAQ,CAACiC,YAAY,CAAC,GAAGC,UAAU,CAAC,EAAElC,QAAQ,IAAI,EAAE;QAC9D+C;MACJ,CAAC;IACL,CAAC,CAAC,CAACO,KAAK,CAAC,CAAC;MAAErB,YAAY;MAAEC,UAAU;MAAElC,QAAQ;MAAE+C;IAAS,CAAC,KAAK;MAC3D,IAAI,CAAC/C,QAAQ,CAAC0C,QAAQ,CAAC;QACnBxB,QAAQ,EAAEe,YAAY;QACtBd,OAAO,EAAEe,UAAU;QACnBlC,QAAQ,EAAE,CACN,GAAGA,QAAQ,EACX;UACI2C,EAAE,EAAE,IAAAC,yBAAgB,EAAC,CAAC;UACtBN,OAAO,EAAES,QAAQ,CAACT,OAAO;UACzBO,YAAY,EAAE,KAAK;UACnBvB,QAAQ,EAAEyB,QAAQ,CAACzB,QAAQ;UAC3BwB,OAAO,EAAEC,QAAQ,CAACD,OAAO;UACzBN,iBAAiB,EACb,mBAAmB,IAAIO,QAAQ,GACzBA,QAAQ,CAACP,iBAAiB,GAC1Be;QACd,CAAC;MAET,CAAC,CAAC;MAEF,IAAI,CAAClC,SAAS,CAACqB,QAAQ,CAAC;QACpBxB,QAAQ,EAAEe,YAAY;QACtBd,OAAO,EAAEe,UAAU;QACnBZ,QAAQ,EAAEyB,QAAQ,CAACzB;MACvB,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,IAAA6B,gBAAM,EAAC;MACHC,KAAK,EAAE,IAAI,CAACvC,iBAAiB,CAAC2C,IAAI;MAClC9B,MAAM,EAAE,CAAC,IAAI,CAAC5B,OAAO,CAAC6B,aAAa,EAAE,IAAI,CAAC7B,OAAO,CAAC8B,WAAW,EAAE,IAAI,CAAC5B,QAAQ,CAAC6B,MAAM,CAAU;MAC7FwB,EAAE,EAAEA,CAAC,CAACpB,YAAY,EAAEC,UAAU,EAAElC,QAAQ,CAAC,MAAM;QAC3CiC,YAAY;QACZC,UAAU;QACVlC,QAAQ,EAAEA,QAAQ,CAACiC,YAAY,CAAC,GAAGC,UAAU,CAAC,EAAElC,QAAQ,IAAI;MAChE,CAAC,CAAC;MACFyD,MAAM,EAAEA,CAACnD,CAAC,EAAE;QAAEoD;MAAM,CAAC,KAAKA,KAAK,CAACpB,OAAO,KAAK;IAChD,CAAC,CAAC,CAACgB,KAAK,CAAC,CAAC;MAAErB,YAAY;MAAEC,UAAU;MAAElC;IAAS,CAAC,KAAK;MACjD,IAAI,CAACA,QAAQ,CAAC0C,QAAQ,CAAC;QACnBxB,QAAQ,EAAEe,YAAY;QACtBd,OAAO,EAAEe,UAAU;QACnBlC,QAAQ,EAAE,CAAC,GAAGA,QAAQ,EAAE,IAAI,CAACE,eAAe,CAACwD,KAAK;MACtD,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,IAAAP,gBAAM,EAAC;MACHC,KAAK,EAAE,IAAI,CAAC5D,iBAAiB;MAC7BkC,MAAM,EAAE,CAAC,IAAI,CAAChC,eAAe,EAAE,IAAI,CAACM,QAAQ,CAAC6B,MAAM,CAAU;MAC7DwB,EAAE,EAAEA,CAAC,CAACM,cAAc,EAAE3D,QAAQ,CAAC,MAAM;QACjC2D,cAAc;QACd3D;MACJ,CAAC;IACL,CAAC,CAAC,CAACsD,KAAK,CAAC,CAAC;MAAEK,cAAc;MAAE3D;IAAS,CAAC,KAAK;MACvC,IAAI,CAAC2D,cAAc,EAAE;MAErB,MAAMC,eAAe,GAAG,CACpB,GAAG5D,QAAQ,CAAC2D,cAAc,CAACzC,QAAQ,CAAC,CAACyC,cAAc,CAACxC,OAAO,CAAC,CAACnB,QAAQ,CACxE;MACD,IAAI4D,eAAe,EAAEA,eAAe,CAACC,GAAG,CAAC,CAAC;MAE1C,IAAI,CAAC7D,QAAQ,CAAC0C,QAAQ,CAAC;QACnBxB,QAAQ,EAAEyC,cAAc,CAACzC,QAAQ;QACjCC,OAAO,EAAEwC,cAAc,CAACxC,OAAO;QAC/BnB,QAAQ,EAAE4D;MACd,CAAC,CAAC;IACN,CAAC,CAAC;EACN;EAEOE,iBAAiBA,CAAA,EAAG;IACvB,MAAM7B,YAAY,GAAG,IAAI,CAACnC,OAAO,CAAC6B,aAAa,CAACoC,QAAQ,CAAC,CAAC;IAC1D,MAAM7B,UAAU,GAAG,IAAI,CAACpC,OAAO,CAAC8B,WAAW,CAACmC,QAAQ,CAAC,CAAC;IACtD,MAAM/D,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAAC6B,MAAM,CAACkC,QAAQ,CAAC,CAAC,CAAC9B,YAAY,CAAC,GAAGC,UAAU,CAAC,EAAElC,QAAQ,IAAI,EAAE;IAE5F,IAAIA,QAAQ,CAACgE,MAAM,EAAE;IAErB,IAAI,CAAChE,QAAQ,CAAC0C,QAAQ,CAAC;MACnBxB,QAAQ,EAAEe,YAAY;MACtBd,OAAO,EAAEe,UAAU;MACnBlC,QAAQ,EAAE,CAAC,IAAI,CAACE,eAAe,CAAC+D,KAAK;IACzC,CAAC,CAAC;IAEF,IAAI,CAAC1C,cAAc,CAACmB,QAAQ,CAAC;MACzBxB,QAAQ,EAAEe,YAAY;MACtBd,OAAO,EAAEe,UAAU;MACnBV,WAAW,EAAE;IACjB,CAAC,CAAC;EACN;EAEO0C,cAAcA,CAAC;IAAEhD,QAAQ;IAAEC,OAAO;IAAE,GAAGmB;EAA6B,CAAC,EAAE;IAC1E,MAAMtC,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAAC6B,MAAM,CAACkC,QAAQ,CAAC,CAAC,GAAG7C,QAAQ,CAAC,GAAGC,OAAO,CAAC,EAAEnB,QAAQ;IACjF,IAAIA,QAAQ,EAAEgE,MAAM,GAAG,CAAC,EAAE;IAE1B,IAAI,CAAChE,QAAQ,CAAC0C,QAAQ,CAAC;MACnBxB,QAAQ;MACRC,OAAO;MACPnB,QAAQ,EAAE,CACN;QACI,GAAGsC,OAAO;QACVQ,OAAO,EAAE,IAAI,CAAC3C,aAAa,CAAC4D,QAAQ,CAAC,CAAC,EAAEjB,OAAO,CAACqB,KAAK,IAAI7B,OAAO,CAACQ;MACrE,CAAC;IAET,CAAC,CAAC;EACN;AACJ;AAACsB,OAAA,CAAAtF,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -14,9 +14,13 @@ class ChatTextToSpeech {
|
|
|
14
14
|
$currentPlayingId = (0, _effector.restore)(this.setCurrentPlayingId, null);
|
|
15
15
|
setStatus = (0, _effector.createEvent)();
|
|
16
16
|
$status = (0, _effector.restore)(this.setStatus, _t2sTypes.AudioStatus.STOPPED);
|
|
17
|
-
constructor(
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
constructor({
|
|
18
|
+
$isOpen,
|
|
19
|
+
api
|
|
20
|
+
}) {
|
|
21
|
+
this.$isOpen = $isOpen;
|
|
22
|
+
this.api = api;
|
|
23
|
+
this.$isOpen.updates.watch(isOpen => {
|
|
20
24
|
if (!isOpen) this.reset();
|
|
21
25
|
});
|
|
22
26
|
}
|
|
@@ -56,7 +60,7 @@ class ChatTextToSpeech {
|
|
|
56
60
|
let audioPath = this.audioCache[cacheKey];
|
|
57
61
|
this.setCurrentPlayingId(messageId);
|
|
58
62
|
if (!audioPath) {
|
|
59
|
-
const response = await this.
|
|
63
|
+
const response = await this.api.textToSpeechTextFx({
|
|
60
64
|
input: {
|
|
61
65
|
text
|
|
62
66
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_effector","require","_constants","_t2sTypes","ChatTextToSpeech","audioCache","audioProvider","setCurrentPlayingId","createEvent","$currentPlayingId","restore","setStatus","$status","AudioStatus","STOPPED","constructor","
|
|
1
|
+
{"version":3,"names":["_effector","require","_constants","_t2sTypes","ChatTextToSpeech","audioCache","audioProvider","setCurrentPlayingId","createEvent","$currentPlayingId","restore","setStatus","$status","AudioStatus","STOPPED","constructor","$isOpen","api","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","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":[]}
|
|
@@ -9,10 +9,24 @@ var _helpers = require("../helpers.js");
|
|
|
9
9
|
class ChatbotTranslation {
|
|
10
10
|
setIsTranslated = (0, _effector.createEvent)();
|
|
11
11
|
$isTranslated = (0, _effector.restore)(this.setIsTranslated, false);
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
setAlternatives = (0, _effector.createEvent)();
|
|
13
|
+
constructor({
|
|
14
|
+
credits,
|
|
15
|
+
$alternatives,
|
|
16
|
+
setAlternatives,
|
|
17
|
+
defaultMessages,
|
|
18
|
+
messages,
|
|
19
|
+
api
|
|
20
|
+
}) {
|
|
21
|
+
this.credits = credits;
|
|
22
|
+
this.$alternatives = $alternatives;
|
|
23
|
+
this.setAlternatives = setAlternatives;
|
|
24
|
+
this.defaultMessages = defaultMessages;
|
|
25
|
+
this.messages = messages;
|
|
26
|
+
this.api = api;
|
|
14
27
|
this.translateAlternativesFx = this.createTranslateAlternativesEffect();
|
|
15
28
|
this.translateMessageFx = this.createTranslateMessageEffect();
|
|
29
|
+
// @ts-ignore
|
|
16
30
|
this.translateBatchFx = this.createTranslateBatchEffect();
|
|
17
31
|
this.initTranslationSamples();
|
|
18
32
|
}
|
|
@@ -31,7 +45,7 @@ class ChatbotTranslation {
|
|
|
31
45
|
initTranslationSamples() {
|
|
32
46
|
(0, _effector.sample)({
|
|
33
47
|
clock: this.translateBatchFx.doneData,
|
|
34
|
-
source: [this.
|
|
48
|
+
source: [this.credits.$assignmentId, this.credits.$exerciseId],
|
|
35
49
|
fn: ([assignmentId, exerciseId], translatedMessages) => ({
|
|
36
50
|
assignmentId,
|
|
37
51
|
exerciseId,
|
|
@@ -42,7 +56,7 @@ class ChatbotTranslation {
|
|
|
42
56
|
exerciseId,
|
|
43
57
|
translatedMessages
|
|
44
58
|
}) => {
|
|
45
|
-
this.
|
|
59
|
+
this.messages.setField({
|
|
46
60
|
entityId: assignmentId,
|
|
47
61
|
fieldId: exerciseId,
|
|
48
62
|
messages: translatedMessages
|
|
@@ -51,7 +65,7 @@ class ChatbotTranslation {
|
|
|
51
65
|
}
|
|
52
66
|
createTranslateAlternativesEffect() {
|
|
53
67
|
return (0, _effector.attach)({
|
|
54
|
-
source: [this
|
|
68
|
+
source: [this.$alternatives],
|
|
55
69
|
mapParams: (params, [alternatives]) => ({
|
|
56
70
|
params,
|
|
57
71
|
alternatives
|
|
@@ -69,7 +83,7 @@ class ChatbotTranslation {
|
|
|
69
83
|
const hintText = hintAlternatives.map(({
|
|
70
84
|
text
|
|
71
85
|
}) => text);
|
|
72
|
-
const response = await this.
|
|
86
|
+
const response = await this.api.translateTextFx({
|
|
73
87
|
text: hintText,
|
|
74
88
|
targetLanguage: params.targetLanguage
|
|
75
89
|
});
|
|
@@ -84,7 +98,7 @@ class ChatbotTranslation {
|
|
|
84
98
|
const defaultText = defaultAlternatives.map(({
|
|
85
99
|
text
|
|
86
100
|
}) => text);
|
|
87
|
-
const response = await this.
|
|
101
|
+
const response = await this.api.translateTextFx({
|
|
88
102
|
text: defaultText,
|
|
89
103
|
targetLanguage: params.targetLanguage
|
|
90
104
|
});
|
|
@@ -107,7 +121,7 @@ class ChatbotTranslation {
|
|
|
107
121
|
const optionsText = message.options.map(({
|
|
108
122
|
text
|
|
109
123
|
}) => text);
|
|
110
|
-
const response = await this.
|
|
124
|
+
const response = await this.api.translateTextFx({
|
|
111
125
|
text: [message.message, ...optionsText],
|
|
112
126
|
targetLanguage
|
|
113
127
|
});
|
|
@@ -126,7 +140,8 @@ class ChatbotTranslation {
|
|
|
126
140
|
}
|
|
127
141
|
createTranslateBatchEffect() {
|
|
128
142
|
return (0, _effector.attach)({
|
|
129
|
-
source: [this.
|
|
143
|
+
source: [this.credits.$assignmentId, this.credits.$exerciseId, this.messages.$state],
|
|
144
|
+
// @ts-ignore
|
|
130
145
|
mapParams: (params, [assignmentId, exerciseId, messages]) => ({
|
|
131
146
|
params,
|
|
132
147
|
assignmentId,
|
|
@@ -146,17 +161,17 @@ class ChatbotTranslation {
|
|
|
146
161
|
const messagesText = currentMessages.map(({
|
|
147
162
|
message
|
|
148
163
|
}) => message);
|
|
149
|
-
const response = await this.
|
|
164
|
+
const response = await this.api.translateTextFx({
|
|
150
165
|
text: messagesText,
|
|
151
166
|
targetLanguage: params.targetLanguage
|
|
152
167
|
});
|
|
153
168
|
const lastMessage = currentMessages.at(-1);
|
|
154
169
|
const lastMessageTranslatedOptions = lastMessage ? await this.translateMessageOptions(lastMessage, params.targetLanguage) : undefined;
|
|
155
|
-
const errorMessageTranslationResponse = await this.
|
|
156
|
-
text: [this.
|
|
170
|
+
const errorMessageTranslationResponse = await this.api.translateTextFx({
|
|
171
|
+
text: [this.defaultMessages.error.message],
|
|
157
172
|
targetLanguage: params.targetLanguage
|
|
158
173
|
});
|
|
159
|
-
this.
|
|
174
|
+
this.defaultMessages.error.translatedMessage = (0, _helpers.decodeHTMLEntities)(errorMessageTranslationResponse.data.translations[0].translatedText);
|
|
160
175
|
|
|
161
176
|
// TODO: move this AFTER state update in sample and remove initTranslationSamples it is not needed
|
|
162
177
|
// TODO: maybe just one request to translate everything
|
|
@@ -180,13 +195,13 @@ class ChatbotTranslation {
|
|
|
180
195
|
const translatedAlternatives = await this.translateAlternativesFx({
|
|
181
196
|
targetLanguage
|
|
182
197
|
});
|
|
183
|
-
this.
|
|
198
|
+
this.setAlternatives(translatedAlternatives);
|
|
184
199
|
return;
|
|
185
200
|
}
|
|
186
201
|
const optionsText = message.options.map(({
|
|
187
202
|
text
|
|
188
203
|
}) => text);
|
|
189
|
-
const response = await this.
|
|
204
|
+
const response = await this.api.translateTextFx({
|
|
190
205
|
text: optionsText,
|
|
191
206
|
targetLanguage
|
|
192
207
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_effector","require","_helpers","ChatbotTranslation","setIsTranslated","createEvent","$isTranslated","restore","constructor","
|
|
1
|
+
{"version":3,"names":["_effector","require","_helpers","ChatbotTranslation","setIsTranslated","createEvent","$isTranslated","restore","setAlternatives","constructor","credits","$alternatives","defaultMessages","messages","api","translateAlternativesFx","createTranslateAlternativesEffect","translateMessageFx","createTranslateMessageEffect","translateBatchFx","createTranslateBatchEffect","initTranslationSamples","shouldSkipTranslation","getState","allTranslated","every","message","translatedMessage","sample","clock","doneData","source","$assignmentId","$exerciseId","fn","assignmentId","exerciseId","translatedMessages","watch","setField","entityId","fieldId","attach","mapParams","params","alternatives","effect","createEffect","hintAlternatives","options","hints","defaultAlternatives","default","translatedAlternatives","length","hintText","map","text","response","translateTextFx","targetLanguage","alternative","index","decodeHTMLEntities","data","translations","translatedText","defaultText","optionsText","translatedOptions","slice","optionsCopy","newOptions","option","$state","currentMessages","messagesText","lastMessage","at","lastMessageTranslatedOptions","translateMessageOptions","undefined","errorMessageTranslationResponse","error","isLastMessage","reset","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/translation.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -30,8 +30,18 @@ export class ChatbotModel {
|
|
|
30
30
|
this.$alternatives = restore(this.api.getAlternativesFx.doneData, null).on(this.setAlternatives, (_, payload) => payload).reset(this.resetAlternatives);
|
|
31
31
|
|
|
32
32
|
// TODO: do not pass this, just what you need
|
|
33
|
-
this.translation = new ChatbotTranslation(
|
|
34
|
-
|
|
33
|
+
this.translation = new ChatbotTranslation({
|
|
34
|
+
credits: this.credits,
|
|
35
|
+
$alternatives: this.$alternatives,
|
|
36
|
+
setAlternatives: this.setAlternatives,
|
|
37
|
+
defaultMessages: this.defaultMessages,
|
|
38
|
+
messages: this.messages,
|
|
39
|
+
api: this.api
|
|
40
|
+
});
|
|
41
|
+
this.t2s = new ChatTextToSpeech({
|
|
42
|
+
$isOpen: this.$isOpen,
|
|
43
|
+
api: this.api
|
|
44
|
+
});
|
|
35
45
|
this.sendHelpRequestFx = this.createSendHelpRequestFx();
|
|
36
46
|
this.initChatReplyWatcher();
|
|
37
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["attach","createEvent","restore","sample","createControllerEffect","createEntityFieldStore","generateRandomId","ChatbotAPI","ChatbotTranslation","ChatTextToSpeech","ChatbotModel","resetAlternatives","setAlternatives","setIsOpen","toggleOpen","$isOpen","on","isOpen","removeLastMessage","setLastMessageIds","$lastMessageIds","setScrollActive","$isScrollActive","constructor","credits","api","messages","defaultMessages","$alternatives","getAlternativesFx","doneData","_","payload","reset","translation","t2s","sendHelpRequestFx","createSendHelpRequestFx","initChatReplyWatcher","mapper","entityId","fieldId","data","threadIds","threadId","availableChats","isAvailable","source","$assignmentId","$exerciseId","$state","$isTranslated","mapParams","params","assignmentId","exerciseId","isTranslated","effect","message","translationTargetLanguage","translatedMessage","currentMessages","setField","id","isOwnMessage","options","response","postMessageFx","translateMessageFx","targetLanguage","clock","fn","watch","undefined","fail","filter","error","lastMessageIds","updatedMessages","pop","startConversation","getState","length","start","setHintMessage","hints"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/model.ts"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,WAAW,EAAEC,OAAO,EAAEC,MAAM,QAAiC,UAAU;AACxF,SAASC,sBAAsB,EAAEC,sBAAsB,QAAQ,gCAAuB;AAetF,SAASC,gBAAgB,QAAQ,iCAA8B;AAC/D,SAASC,UAAU,QAAQ,UAAO;AAClC,SAASC,kBAAkB,QAAQ,kBAAe;AAClD,SAASC,gBAAgB,QAAQ,UAAO;AAExC,OAAO,MAAMC,YAAY,CAAC;EAObC,iBAAiB,GAAGV,WAAW,CAAC,CAAC;EACjCW,eAAe,GAAGX,WAAW,CAAiC,CAAC;EAG/DY,SAAS,GAAGZ,WAAW,CAAU,CAAC;EAClCa,UAAU,GAAGb,WAAW,CAAC,CAAC;EAC1Bc,OAAO,GAAGb,OAAO,CAAC,IAAI,CAACW,SAAS,EAAE,KAAK,CAAC,CAACG,EAAE,CAAC,IAAI,CAACF,UAAU,EAAEG,MAAM,IAAI,CAACA,MAAM,CAAC;;EAExF;EACSC,iBAAiB,GAAGjB,WAAW,CAAC,CAAC;EACjCkB,iBAAiB,GAAGlB,WAAW,CAAmB,CAAC;EACnDmB,eAAe,GAAGlB,OAAO,CAAC,IAAI,CAACiB,iBAAiB,EAAE,IAAI,CAAC;EAEvDE,eAAe,GAAGpB,WAAW,CAAU,CAAC;EACxCqB,eAAe,GAAGpB,OAAO,CAAC,IAAI,CAACmB,eAAe,EAAE,KAAK,CAAC;EAM/DE,WAAWA,CAAC;IACRC,OAAO;IACPC,GAAG;IACHC;EACe,CAAC,EAAE;IAClB,IAAI,CAACD,GAAG,GAAG,IAAIlB,UAAU,CAACkB,GAAG,CAAC;IAE9B,IAAI,CAACE,eAAe,GAAGD,QAAQ;IAC/B,IAAI,CAACF,OAAO,GAAGA,OAAO;IAEtB,IAAI,CAACI,aAAa,GAAG1B,OAAO,CAAC,IAAI,CAACuB,GAAG,CAACI,iBAAiB,CAACC,QAAQ,EAAE,IAAI,CAAC,CAClEd,EAAE,CAAC,IAAI,CAACJ,eAAe,EAAE,CAACmB,CAAC,EAAEC,OAAO,KAAKA,OAAO,CAAC,CACjDC,KAAK,CAAC,IAAI,CAACtB,iBAAiB,CAAC;;IAElC;IACA,IAAI,CAACuB,WAAW,GAAG,IAAI1B,kBAAkB,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"names":["attach","createEvent","restore","sample","createControllerEffect","createEntityFieldStore","generateRandomId","ChatbotAPI","ChatbotTranslation","ChatTextToSpeech","ChatbotModel","resetAlternatives","setAlternatives","setIsOpen","toggleOpen","$isOpen","on","isOpen","removeLastMessage","setLastMessageIds","$lastMessageIds","setScrollActive","$isScrollActive","constructor","credits","api","messages","defaultMessages","$alternatives","getAlternativesFx","doneData","_","payload","reset","translation","t2s","sendHelpRequestFx","createSendHelpRequestFx","initChatReplyWatcher","mapper","entityId","fieldId","data","threadIds","threadId","availableChats","isAvailable","source","$assignmentId","$exerciseId","$state","$isTranslated","mapParams","params","assignmentId","exerciseId","isTranslated","effect","message","translationTargetLanguage","translatedMessage","currentMessages","setField","id","isOwnMessage","options","response","postMessageFx","translateMessageFx","targetLanguage","clock","fn","watch","undefined","fail","filter","error","lastMessageIds","updatedMessages","pop","startConversation","getState","length","start","setHintMessage","hints"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/model.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,9 +10,13 @@ export class ChatTextToSpeech {
|
|
|
10
10
|
$currentPlayingId = restore(this.setCurrentPlayingId, null);
|
|
11
11
|
setStatus = createEvent();
|
|
12
12
|
$status = restore(this.setStatus, AudioStatus.STOPPED);
|
|
13
|
-
constructor(
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
constructor({
|
|
14
|
+
$isOpen,
|
|
15
|
+
api
|
|
16
|
+
}) {
|
|
17
|
+
this.$isOpen = $isOpen;
|
|
18
|
+
this.api = api;
|
|
19
|
+
this.$isOpen.updates.watch(isOpen => {
|
|
16
20
|
if (!isOpen) this.reset();
|
|
17
21
|
});
|
|
18
22
|
}
|
|
@@ -52,7 +56,7 @@ export class ChatTextToSpeech {
|
|
|
52
56
|
let audioPath = this.audioCache[cacheKey];
|
|
53
57
|
this.setCurrentPlayingId(messageId);
|
|
54
58
|
if (!audioPath) {
|
|
55
|
-
const response = await this.
|
|
59
|
+
const response = await this.api.textToSpeechTextFx({
|
|
56
60
|
input: {
|
|
57
61
|
text
|
|
58
62
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["restore","createEvent","AUDIO_CONFIG","DEFAULT_VOICE","AudioStatus","ChatTextToSpeech","audioCache","audioProvider","setCurrentPlayingId","$currentPlayingId","setStatus","$status","STOPPED","constructor","
|
|
1
|
+
{"version":3,"names":["restore","createEvent","AUDIO_CONFIG","DEFAULT_VOICE","AudioStatus","ChatTextToSpeech","audioCache","audioProvider","setCurrentPlayingId","$currentPlayingId","setStatus","$status","STOPPED","constructor","$isOpen","api","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","textToSpeechTextFx","input","voice","audioConfig","audioContent","error","console"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/t2s.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,10 +5,24 @@ import { decodeHTMLEntities } from "../helpers.js";
|
|
|
5
5
|
export class ChatbotTranslation {
|
|
6
6
|
setIsTranslated = createEvent();
|
|
7
7
|
$isTranslated = restore(this.setIsTranslated, false);
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
setAlternatives = createEvent();
|
|
9
|
+
constructor({
|
|
10
|
+
credits,
|
|
11
|
+
$alternatives,
|
|
12
|
+
setAlternatives,
|
|
13
|
+
defaultMessages,
|
|
14
|
+
messages,
|
|
15
|
+
api
|
|
16
|
+
}) {
|
|
17
|
+
this.credits = credits;
|
|
18
|
+
this.$alternatives = $alternatives;
|
|
19
|
+
this.setAlternatives = setAlternatives;
|
|
20
|
+
this.defaultMessages = defaultMessages;
|
|
21
|
+
this.messages = messages;
|
|
22
|
+
this.api = api;
|
|
10
23
|
this.translateAlternativesFx = this.createTranslateAlternativesEffect();
|
|
11
24
|
this.translateMessageFx = this.createTranslateMessageEffect();
|
|
25
|
+
// @ts-ignore
|
|
12
26
|
this.translateBatchFx = this.createTranslateBatchEffect();
|
|
13
27
|
this.initTranslationSamples();
|
|
14
28
|
}
|
|
@@ -27,7 +41,7 @@ export class ChatbotTranslation {
|
|
|
27
41
|
initTranslationSamples() {
|
|
28
42
|
sample({
|
|
29
43
|
clock: this.translateBatchFx.doneData,
|
|
30
|
-
source: [this.
|
|
44
|
+
source: [this.credits.$assignmentId, this.credits.$exerciseId],
|
|
31
45
|
fn: ([assignmentId, exerciseId], translatedMessages) => ({
|
|
32
46
|
assignmentId,
|
|
33
47
|
exerciseId,
|
|
@@ -38,7 +52,7 @@ export class ChatbotTranslation {
|
|
|
38
52
|
exerciseId,
|
|
39
53
|
translatedMessages
|
|
40
54
|
}) => {
|
|
41
|
-
this.
|
|
55
|
+
this.messages.setField({
|
|
42
56
|
entityId: assignmentId,
|
|
43
57
|
fieldId: exerciseId,
|
|
44
58
|
messages: translatedMessages
|
|
@@ -47,7 +61,7 @@ export class ChatbotTranslation {
|
|
|
47
61
|
}
|
|
48
62
|
createTranslateAlternativesEffect() {
|
|
49
63
|
return attach({
|
|
50
|
-
source: [this
|
|
64
|
+
source: [this.$alternatives],
|
|
51
65
|
mapParams: (params, [alternatives]) => ({
|
|
52
66
|
params,
|
|
53
67
|
alternatives
|
|
@@ -65,7 +79,7 @@ export class ChatbotTranslation {
|
|
|
65
79
|
const hintText = hintAlternatives.map(({
|
|
66
80
|
text
|
|
67
81
|
}) => text);
|
|
68
|
-
const response = await this.
|
|
82
|
+
const response = await this.api.translateTextFx({
|
|
69
83
|
text: hintText,
|
|
70
84
|
targetLanguage: params.targetLanguage
|
|
71
85
|
});
|
|
@@ -80,7 +94,7 @@ export class ChatbotTranslation {
|
|
|
80
94
|
const defaultText = defaultAlternatives.map(({
|
|
81
95
|
text
|
|
82
96
|
}) => text);
|
|
83
|
-
const response = await this.
|
|
97
|
+
const response = await this.api.translateTextFx({
|
|
84
98
|
text: defaultText,
|
|
85
99
|
targetLanguage: params.targetLanguage
|
|
86
100
|
});
|
|
@@ -103,7 +117,7 @@ export class ChatbotTranslation {
|
|
|
103
117
|
const optionsText = message.options.map(({
|
|
104
118
|
text
|
|
105
119
|
}) => text);
|
|
106
|
-
const response = await this.
|
|
120
|
+
const response = await this.api.translateTextFx({
|
|
107
121
|
text: [message.message, ...optionsText],
|
|
108
122
|
targetLanguage
|
|
109
123
|
});
|
|
@@ -122,7 +136,8 @@ export class ChatbotTranslation {
|
|
|
122
136
|
}
|
|
123
137
|
createTranslateBatchEffect() {
|
|
124
138
|
return attach({
|
|
125
|
-
source: [this.
|
|
139
|
+
source: [this.credits.$assignmentId, this.credits.$exerciseId, this.messages.$state],
|
|
140
|
+
// @ts-ignore
|
|
126
141
|
mapParams: (params, [assignmentId, exerciseId, messages]) => ({
|
|
127
142
|
params,
|
|
128
143
|
assignmentId,
|
|
@@ -142,17 +157,17 @@ export class ChatbotTranslation {
|
|
|
142
157
|
const messagesText = currentMessages.map(({
|
|
143
158
|
message
|
|
144
159
|
}) => message);
|
|
145
|
-
const response = await this.
|
|
160
|
+
const response = await this.api.translateTextFx({
|
|
146
161
|
text: messagesText,
|
|
147
162
|
targetLanguage: params.targetLanguage
|
|
148
163
|
});
|
|
149
164
|
const lastMessage = currentMessages.at(-1);
|
|
150
165
|
const lastMessageTranslatedOptions = lastMessage ? await this.translateMessageOptions(lastMessage, params.targetLanguage) : undefined;
|
|
151
|
-
const errorMessageTranslationResponse = await this.
|
|
152
|
-
text: [this.
|
|
166
|
+
const errorMessageTranslationResponse = await this.api.translateTextFx({
|
|
167
|
+
text: [this.defaultMessages.error.message],
|
|
153
168
|
targetLanguage: params.targetLanguage
|
|
154
169
|
});
|
|
155
|
-
this.
|
|
170
|
+
this.defaultMessages.error.translatedMessage = decodeHTMLEntities(errorMessageTranslationResponse.data.translations[0].translatedText);
|
|
156
171
|
|
|
157
172
|
// TODO: move this AFTER state update in sample and remove initTranslationSamples it is not needed
|
|
158
173
|
// TODO: maybe just one request to translate everything
|
|
@@ -176,13 +191,13 @@ export class ChatbotTranslation {
|
|
|
176
191
|
const translatedAlternatives = await this.translateAlternativesFx({
|
|
177
192
|
targetLanguage
|
|
178
193
|
});
|
|
179
|
-
this.
|
|
194
|
+
this.setAlternatives(translatedAlternatives);
|
|
180
195
|
return;
|
|
181
196
|
}
|
|
182
197
|
const optionsText = message.options.map(({
|
|
183
198
|
text
|
|
184
199
|
}) => text);
|
|
185
|
-
const response = await this.
|
|
200
|
+
const response = await this.api.translateTextFx({
|
|
186
201
|
text: optionsText,
|
|
187
202
|
targetLanguage
|
|
188
203
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createEvent","restore","attach","createEffect","sample","decodeHTMLEntities","ChatbotTranslation","setIsTranslated","$isTranslated","constructor","
|
|
1
|
+
{"version":3,"names":["createEvent","restore","attach","createEffect","sample","decodeHTMLEntities","ChatbotTranslation","setIsTranslated","$isTranslated","setAlternatives","constructor","credits","$alternatives","defaultMessages","messages","api","translateAlternativesFx","createTranslateAlternativesEffect","translateMessageFx","createTranslateMessageEffect","translateBatchFx","createTranslateBatchEffect","initTranslationSamples","shouldSkipTranslation","getState","allTranslated","every","message","translatedMessage","clock","doneData","source","$assignmentId","$exerciseId","fn","assignmentId","exerciseId","translatedMessages","watch","setField","entityId","fieldId","mapParams","params","alternatives","effect","hintAlternatives","options","hints","defaultAlternatives","default","translatedAlternatives","length","hintText","map","text","response","translateTextFx","targetLanguage","alternative","index","data","translations","translatedText","defaultText","optionsText","translatedOptions","slice","optionsCopy","newOptions","option","$state","currentMessages","messagesText","lastMessage","at","lastMessageTranslatedOptions","translateMessageOptions","undefined","errorMessageTranslationResponse","error","isLastMessage","reset"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/translation.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,KAAK,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAGxF,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,cAAc,EAEd,mBAAmB,EACnB,cAAc,EACjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAGjF,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAExC,qBAAa,YAAY;IACrB,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAA;IACxC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAA;IAE9B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAE9C,QAAQ,CAAC,iBAAiB,yCAAgB;IAC1C,QAAQ,CAAC,eAAe,mEAAgD;IACxE,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAA;IAE7D,QAAQ,CAAC,SAAS,4CAAyB;IAC3C,QAAQ,CAAC,UAAU,yCAAgB;IACnC,QAAQ,CAAC,OAAO,4CAAwE;IAGxF,QAAQ,CAAC,iBAAiB,yCAAgB;IAC1C,QAAQ,CAAC,iBAAiB,qDAAkC;IAC5D,QAAQ,CAAC,eAAe,qDAAwC;IAEhE,QAAQ,CAAC,eAAe,4CAAyB;IACjD,QAAQ,CAAC,eAAe,4CAAuC;IAE/D,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,cAAc,EAAE,mBAAmB,GAAG,mBAAmB,CAAC,CAAA;IAE7F,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAA;gBAE3C,EACR,OAAO,EACP,GAAG,EACH,QAAQ,GACX,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,KAAK,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAGxF,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,cAAc,EAEd,mBAAmB,EACnB,cAAc,EACjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAGjF,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAExC,qBAAa,YAAY;IACrB,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAA;IACxC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAA;IAE9B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAE9C,QAAQ,CAAC,iBAAiB,yCAAgB;IAC1C,QAAQ,CAAC,eAAe,mEAAgD;IACxE,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAA;IAE7D,QAAQ,CAAC,SAAS,4CAAyB;IAC3C,QAAQ,CAAC,UAAU,yCAAgB;IACnC,QAAQ,CAAC,OAAO,4CAAwE;IAGxF,QAAQ,CAAC,iBAAiB,yCAAgB;IAC1C,QAAQ,CAAC,iBAAiB,qDAAkC;IAC5D,QAAQ,CAAC,eAAe,qDAAwC;IAEhE,QAAQ,CAAC,eAAe,4CAAyB;IACjD,QAAQ,CAAC,eAAe,4CAAuC;IAE/D,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,cAAc,EAAE,mBAAmB,GAAG,mBAAmB,CAAC,CAAA;IAE7F,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAA;gBAE3C,EACR,OAAO,EACP,GAAG,EACH,QAAQ,GACX,EAAE,iBAAiB;IA6BpB,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;MAMf;IAEF,QAAQ,CAAC,SAAS;;;;;;;;;;;;;MAMhB;IAEF,QAAQ,CAAC,cAAc;;;;;;;;;;;;;MAMrB;IAEF,OAAO,CAAC,uBAAuB;IAsE/B,OAAO,CAAC,oBAAoB;IA6ErB,iBAAiB;IAoBjB,cAAc,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,mBAAmB;CAe/E"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StoreWritable } from 'effector';
|
|
2
2
|
import { AudioProvider, AudioStatus, PlayTextToSpeechProps } from '../types/t2s.types';
|
|
3
|
+
import { ChatbotAPI } from './api';
|
|
3
4
|
export declare class ChatTextToSpeech {
|
|
4
|
-
private readonly model;
|
|
5
5
|
private readonly audioCache;
|
|
6
6
|
private audioProvider;
|
|
7
7
|
readonly setCurrentPlayingId: import("effector").EventCallable<string | null>;
|
|
8
|
-
readonly $currentPlayingId:
|
|
8
|
+
readonly $currentPlayingId: StoreWritable<string | null>;
|
|
9
9
|
readonly setStatus: import("effector").EventCallable<AudioStatus>;
|
|
10
|
-
readonly $status:
|
|
11
|
-
|
|
10
|
+
readonly $status: StoreWritable<AudioStatus>;
|
|
11
|
+
readonly $isOpen: StoreWritable<boolean>;
|
|
12
|
+
readonly api: ChatbotAPI;
|
|
13
|
+
constructor({ $isOpen, api }: any);
|
|
12
14
|
setAudioProvider(audioProvider: AudioProvider): void;
|
|
13
15
|
private getCacheKey;
|
|
14
16
|
play({ text, messageId, isTranslated, config }: PlayTextToSpeechProps): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"t2s.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/t2s.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"t2s.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/t2s.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAAE,MAAM,UAAU,CAAA;AAE9D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,aAAa,CAA6B;IAElD,QAAQ,CAAC,mBAAmB,kDAA+B;IAC3D,QAAQ,CAAC,iBAAiB,+BAA0C;IACpE,QAAQ,CAAC,SAAS,gDAA6B;IAC/C,QAAQ,CAAC,OAAO,6BAA+C;IAE/D,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC1C,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;gBAEV,EACV,OAAO,EACK,GAAG,EAChB,EAAE,GAAG;IASC,gBAAgB,CAAC,aAAa,EAAE,aAAa;IAIpD,OAAO,CAAC,WAAW,CAElB;IAEK,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,qBAAqB;IA0DpE,IAAI;IAYJ,KAAK;CAKf"}
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
import { type Effect } from 'effector';
|
|
2
|
-
import { ChatbotModel } from './model';
|
|
1
|
+
import { type Effect, type Store } from 'effector';
|
|
3
2
|
import { TranslateAlternativesFxProps, TranslateBatchFxProps, TranslateMessageFxProps } from '../types/translation.types';
|
|
4
|
-
import { ConversationMessage } from '../types/model.types';
|
|
3
|
+
import { ChatbotModelProps, ConversationMessage } from '../types/model.types';
|
|
5
4
|
import { GetAlternativesResponse } from '../types/api.types';
|
|
5
|
+
import { ChatbotAPI } from './api';
|
|
6
6
|
export declare class ChatbotTranslation {
|
|
7
|
-
private readonly model;
|
|
8
7
|
readonly setIsTranslated: import("effector").EventCallable<boolean>;
|
|
9
8
|
readonly $isTranslated: import("effector").StoreWritable<boolean>;
|
|
10
9
|
readonly translateMessageFx: Effect<TranslateMessageFxProps, ConversationMessage>;
|
|
11
10
|
readonly translateBatchFx: Effect<TranslateBatchFxProps['params'], ConversationMessage[]>;
|
|
12
11
|
readonly translateAlternativesFx: Effect<TranslateAlternativesFxProps['params'], GetAlternativesResponse | null>;
|
|
13
|
-
|
|
12
|
+
readonly credits: ChatbotModelProps['credits'];
|
|
13
|
+
readonly $alternatives: Store<GetAlternativesResponse | null>;
|
|
14
|
+
readonly setAlternatives: import("effector").EventCallable<GetAlternativesResponse | null>;
|
|
15
|
+
readonly defaultMessages: ChatbotModelProps['messages'];
|
|
16
|
+
readonly api: ChatbotAPI;
|
|
17
|
+
readonly messages: any;
|
|
18
|
+
constructor({ credits, $alternatives, setAlternatives, defaultMessages, messages, api, }: any);
|
|
14
19
|
private shouldSkipTranslation;
|
|
15
20
|
private initTranslationSamples;
|
|
16
21
|
private createTranslateAlternativesEffect;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translation.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/translation.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,KAAK,MAAM,EAAU,
|
|
1
|
+
{"version":3,"file":"translation.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/translation.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,KAAK,MAAM,EAAU,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AAEtG,OAAO,EACH,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EAC1B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,qBAAa,kBAAkB;IAC3B,QAAQ,CAAC,eAAe,4CAAyB;IACjD,QAAQ,CAAC,aAAa,4CAAuC;IAE7D,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAA;IACjF,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAA;IACzF,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CACpC,4BAA4B,CAAC,QAAQ,CAAC,EACtC,uBAAuB,GAAG,IAAI,CACjC,CAAA;IAEH,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAC9C,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAA;IAC7D,QAAQ,CAAC,eAAe,mEAAgD;IACxE,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAA;IACvD,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAA;gBAER,EACV,OAAO,EACP,aAAa,EACb,eAAe,EACf,eAAe,EACf,QAAQ,EACR,GAAG,GACJ,EAAE,GAAG;IAgBN,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,iCAAiC;IAwDzC,OAAO,CAAC,4BAA4B;IAuBpC,OAAO,CAAC,0BAA0B;YA8DpB,uBAAuB;IAmB9B,KAAK;CAGf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,KAAK,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAGxF,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,cAAc,EAEd,mBAAmB,EACnB,cAAc,EACjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAGjF,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAExC,qBAAa,YAAY;IACrB,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAA;IACxC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAA;IAE9B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAE9C,QAAQ,CAAC,iBAAiB,yCAAgB;IAC1C,QAAQ,CAAC,eAAe,mEAAgD;IACxE,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAA;IAE7D,QAAQ,CAAC,SAAS,4CAAyB;IAC3C,QAAQ,CAAC,UAAU,yCAAgB;IACnC,QAAQ,CAAC,OAAO,4CAAwE;IAGxF,QAAQ,CAAC,iBAAiB,yCAAgB;IAC1C,QAAQ,CAAC,iBAAiB,qDAAkC;IAC5D,QAAQ,CAAC,eAAe,qDAAwC;IAEhE,QAAQ,CAAC,eAAe,4CAAyB;IACjD,QAAQ,CAAC,eAAe,4CAAuC;IAE/D,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,cAAc,EAAE,mBAAmB,GAAG,mBAAmB,CAAC,CAAA;IAE7F,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAA;gBAE3C,EACR,OAAO,EACP,GAAG,EACH,QAAQ,GACX,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,KAAK,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAGxF,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,cAAc,EAEd,mBAAmB,EACnB,cAAc,EACjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAGjF,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAExC,qBAAa,YAAY;IACrB,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAA;IACxC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAA;IAE9B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAE9C,QAAQ,CAAC,iBAAiB,yCAAgB;IAC1C,QAAQ,CAAC,eAAe,mEAAgD;IACxE,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAA;IAE7D,QAAQ,CAAC,SAAS,4CAAyB;IAC3C,QAAQ,CAAC,UAAU,yCAAgB;IACnC,QAAQ,CAAC,OAAO,4CAAwE;IAGxF,QAAQ,CAAC,iBAAiB,yCAAgB;IAC1C,QAAQ,CAAC,iBAAiB,qDAAkC;IAC5D,QAAQ,CAAC,eAAe,qDAAwC;IAEhE,QAAQ,CAAC,eAAe,4CAAyB;IACjD,QAAQ,CAAC,eAAe,4CAAuC;IAE/D,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,cAAc,EAAE,mBAAmB,GAAG,mBAAmB,CAAC,CAAA;IAE7F,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAA;gBAE3C,EACR,OAAO,EACP,GAAG,EACH,QAAQ,GACX,EAAE,iBAAiB;IA6BpB,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;MAMf;IAEF,QAAQ,CAAC,SAAS;;;;;;;;;;;;;MAMhB;IAEF,QAAQ,CAAC,cAAc;;;;;;;;;;;;;MAMrB;IAEF,OAAO,CAAC,uBAAuB;IAsE/B,OAAO,CAAC,oBAAoB;IA6ErB,iBAAiB;IAoBjB,cAAc,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,mBAAmB;CAe/E"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StoreWritable } from 'effector';
|
|
2
2
|
import { AudioProvider, AudioStatus, PlayTextToSpeechProps } from '../types/t2s.types';
|
|
3
|
+
import { ChatbotAPI } from './api';
|
|
3
4
|
export declare class ChatTextToSpeech {
|
|
4
|
-
private readonly model;
|
|
5
5
|
private readonly audioCache;
|
|
6
6
|
private audioProvider;
|
|
7
7
|
readonly setCurrentPlayingId: import("effector").EventCallable<string | null>;
|
|
8
|
-
readonly $currentPlayingId:
|
|
8
|
+
readonly $currentPlayingId: StoreWritable<string | null>;
|
|
9
9
|
readonly setStatus: import("effector").EventCallable<AudioStatus>;
|
|
10
|
-
readonly $status:
|
|
11
|
-
|
|
10
|
+
readonly $status: StoreWritable<AudioStatus>;
|
|
11
|
+
readonly $isOpen: StoreWritable<boolean>;
|
|
12
|
+
readonly api: ChatbotAPI;
|
|
13
|
+
constructor({ $isOpen, api }: any);
|
|
12
14
|
setAudioProvider(audioProvider: AudioProvider): void;
|
|
13
15
|
private getCacheKey;
|
|
14
16
|
play({ text, messageId, isTranslated, config }: PlayTextToSpeechProps): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"t2s.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/t2s.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"t2s.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/t2s.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAAE,MAAM,UAAU,CAAA;AAE9D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,aAAa,CAA6B;IAElD,QAAQ,CAAC,mBAAmB,kDAA+B;IAC3D,QAAQ,CAAC,iBAAiB,+BAA0C;IACpE,QAAQ,CAAC,SAAS,gDAA6B;IAC/C,QAAQ,CAAC,OAAO,6BAA+C;IAE/D,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC1C,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;gBAEV,EACV,OAAO,EACK,GAAG,EAChB,EAAE,GAAG;IASC,gBAAgB,CAAC,aAAa,EAAE,aAAa;IAIpD,OAAO,CAAC,WAAW,CAElB;IAEK,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,qBAAqB;IA0DpE,IAAI;IAYJ,KAAK;CAKf"}
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
import { type Effect } from 'effector';
|
|
2
|
-
import { ChatbotModel } from './model';
|
|
1
|
+
import { type Effect, type Store } from 'effector';
|
|
3
2
|
import { TranslateAlternativesFxProps, TranslateBatchFxProps, TranslateMessageFxProps } from '../types/translation.types';
|
|
4
|
-
import { ConversationMessage } from '../types/model.types';
|
|
3
|
+
import { ChatbotModelProps, ConversationMessage } from '../types/model.types';
|
|
5
4
|
import { GetAlternativesResponse } from '../types/api.types';
|
|
5
|
+
import { ChatbotAPI } from './api';
|
|
6
6
|
export declare class ChatbotTranslation {
|
|
7
|
-
private readonly model;
|
|
8
7
|
readonly setIsTranslated: import("effector").EventCallable<boolean>;
|
|
9
8
|
readonly $isTranslated: import("effector").StoreWritable<boolean>;
|
|
10
9
|
readonly translateMessageFx: Effect<TranslateMessageFxProps, ConversationMessage>;
|
|
11
10
|
readonly translateBatchFx: Effect<TranslateBatchFxProps['params'], ConversationMessage[]>;
|
|
12
11
|
readonly translateAlternativesFx: Effect<TranslateAlternativesFxProps['params'], GetAlternativesResponse | null>;
|
|
13
|
-
|
|
12
|
+
readonly credits: ChatbotModelProps['credits'];
|
|
13
|
+
readonly $alternatives: Store<GetAlternativesResponse | null>;
|
|
14
|
+
readonly setAlternatives: import("effector").EventCallable<GetAlternativesResponse | null>;
|
|
15
|
+
readonly defaultMessages: ChatbotModelProps['messages'];
|
|
16
|
+
readonly api: ChatbotAPI;
|
|
17
|
+
readonly messages: any;
|
|
18
|
+
constructor({ credits, $alternatives, setAlternatives, defaultMessages, messages, api, }: any);
|
|
14
19
|
private shouldSkipTranslation;
|
|
15
20
|
private initTranslationSamples;
|
|
16
21
|
private createTranslateAlternativesEffect;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translation.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/translation.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,KAAK,MAAM,EAAU,
|
|
1
|
+
{"version":3,"file":"translation.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/model/translation.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,KAAK,MAAM,EAAU,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AAEtG,OAAO,EACH,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EAC1B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,qBAAa,kBAAkB;IAC3B,QAAQ,CAAC,eAAe,4CAAyB;IACjD,QAAQ,CAAC,aAAa,4CAAuC;IAE7D,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAA;IACjF,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAA;IACzF,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CACpC,4BAA4B,CAAC,QAAQ,CAAC,EACtC,uBAAuB,GAAG,IAAI,CACjC,CAAA;IAEH,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAC9C,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAA;IAC7D,QAAQ,CAAC,eAAe,mEAAgD;IACxE,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAA;IACvD,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAA;gBAER,EACV,OAAO,EACP,aAAa,EACb,eAAe,EACf,eAAe,EACf,QAAQ,EACR,GAAG,GACJ,EAAE,GAAG;IAgBN,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,iCAAiC;IAwDzC,OAAO,CAAC,4BAA4B;IAuBpC,OAAO,CAAC,0BAA0B;YA8DpB,uBAAuB;IAmB9B,KAAK;CAGf"}
|
package/package.json
CHANGED
|
@@ -61,8 +61,19 @@ export class ChatbotModel {
|
|
|
61
61
|
.reset(this.resetAlternatives)
|
|
62
62
|
|
|
63
63
|
// TODO: do not pass this, just what you need
|
|
64
|
-
this.translation = new ChatbotTranslation(
|
|
65
|
-
|
|
64
|
+
this.translation = new ChatbotTranslation({
|
|
65
|
+
credits: this.credits,
|
|
66
|
+
$alternatives: this.$alternatives,
|
|
67
|
+
setAlternatives: this.setAlternatives,
|
|
68
|
+
defaultMessages: this.defaultMessages,
|
|
69
|
+
messages: this.messages,
|
|
70
|
+
api: this.api,
|
|
71
|
+
})
|
|
72
|
+
|
|
73
|
+
this.t2s = new ChatTextToSpeech({
|
|
74
|
+
$isOpen: this.$isOpen,
|
|
75
|
+
api: this.api
|
|
76
|
+
})
|
|
66
77
|
|
|
67
78
|
this.sendHelpRequestFx = this.createSendHelpRequestFx()
|
|
68
79
|
this.initChatReplyWatcher()
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { restore, createEvent } from 'effector'
|
|
1
|
+
import { restore, createEvent, StoreWritable } from 'effector'
|
|
3
2
|
import { AUDIO_CONFIG, DEFAULT_VOICE } from '../constants'
|
|
4
3
|
import { AudioProvider, AudioStatus, PlayTextToSpeechProps } from '../types/t2s.types'
|
|
4
|
+
import { ChatbotAPI } from './api'
|
|
5
5
|
|
|
6
6
|
export class ChatTextToSpeech {
|
|
7
|
-
private readonly model: ChatbotModel
|
|
8
7
|
private readonly audioCache: Record<string, string> = {}
|
|
9
8
|
private audioProvider: AudioProvider | null = null
|
|
10
9
|
|
|
@@ -13,10 +12,17 @@ export class ChatTextToSpeech {
|
|
|
13
12
|
readonly setStatus = createEvent<AudioStatus>()
|
|
14
13
|
readonly $status = restore(this.setStatus, AudioStatus.STOPPED)
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
readonly $isOpen: StoreWritable<boolean>
|
|
16
|
+
readonly api: ChatbotAPI
|
|
18
17
|
|
|
19
|
-
|
|
18
|
+
constructor({
|
|
19
|
+
$isOpen,
|
|
20
|
+
api
|
|
21
|
+
}: any) {
|
|
22
|
+
this.$isOpen = $isOpen
|
|
23
|
+
this.api = api
|
|
24
|
+
|
|
25
|
+
this.$isOpen.updates.watch((isOpen) => {
|
|
20
26
|
if (!isOpen) this.reset()
|
|
21
27
|
})
|
|
22
28
|
}
|
|
@@ -60,7 +66,7 @@ export class ChatTextToSpeech {
|
|
|
60
66
|
this.setCurrentPlayingId(messageId)
|
|
61
67
|
|
|
62
68
|
if (!audioPath) {
|
|
63
|
-
const response = await this.
|
|
69
|
+
const response = await this.api.textToSpeechTextFx({
|
|
64
70
|
input: { text },
|
|
65
71
|
voice: config?.voice ?? DEFAULT_VOICE,
|
|
66
72
|
audioConfig: config?.audioConfig ?? AUDIO_CONFIG,
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import { createEvent, restore, attach, createEffect, type Effect, sample } from 'effector'
|
|
2
|
-
import { ChatbotModel } from './model'
|
|
1
|
+
import { createEvent, restore, attach, createEffect, type Effect, sample, type Store } from 'effector'
|
|
3
2
|
|
|
4
3
|
import {
|
|
5
4
|
TranslateAlternativesFxProps,
|
|
6
5
|
TranslateBatchFxProps,
|
|
7
6
|
TranslateMessageFxProps,
|
|
8
7
|
} from '../types/translation.types'
|
|
9
|
-
import { ConversationMessage } from '../types/model.types'
|
|
8
|
+
import { ChatbotModelProps, ConversationMessage } from '../types/model.types'
|
|
10
9
|
import { GetAlternativesResponse } from '../types/api.types'
|
|
11
10
|
import { decodeHTMLEntities } from '../helpers'
|
|
11
|
+
import { ChatbotAPI } from './api'
|
|
12
12
|
|
|
13
13
|
export class ChatbotTranslation {
|
|
14
|
-
private readonly model: ChatbotModel
|
|
15
|
-
|
|
16
14
|
readonly setIsTranslated = createEvent<boolean>()
|
|
17
15
|
readonly $isTranslated = restore(this.setIsTranslated, false)
|
|
18
16
|
|
|
@@ -23,14 +21,34 @@ export class ChatbotTranslation {
|
|
|
23
21
|
GetAlternativesResponse | null
|
|
24
22
|
>
|
|
25
23
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
24
|
+
readonly credits: ChatbotModelProps['credits']
|
|
25
|
+
readonly $alternatives: Store<GetAlternativesResponse | null>
|
|
26
|
+
readonly setAlternatives = createEvent<GetAlternativesResponse | null>()
|
|
27
|
+
readonly defaultMessages: ChatbotModelProps['messages']
|
|
28
|
+
readonly api: ChatbotAPI
|
|
29
|
+
readonly messages: any
|
|
30
|
+
|
|
31
|
+
constructor({
|
|
32
|
+
credits,
|
|
33
|
+
$alternatives,
|
|
34
|
+
setAlternatives,
|
|
35
|
+
defaultMessages,
|
|
36
|
+
messages,
|
|
37
|
+
api,
|
|
38
|
+
}: any) {
|
|
39
|
+
this.credits = credits
|
|
40
|
+
this.$alternatives = $alternatives
|
|
41
|
+
this.setAlternatives = setAlternatives
|
|
42
|
+
this.defaultMessages = defaultMessages
|
|
43
|
+
this.messages = messages
|
|
44
|
+
this.api = api
|
|
45
|
+
|
|
46
|
+
this.translateAlternativesFx = this.createTranslateAlternativesEffect()
|
|
47
|
+
this.translateMessageFx = this.createTranslateMessageEffect()
|
|
48
|
+
// @ts-ignore
|
|
49
|
+
this.translateBatchFx = this.createTranslateBatchEffect()
|
|
50
|
+
|
|
51
|
+
this.initTranslationSamples()
|
|
34
52
|
}
|
|
35
53
|
|
|
36
54
|
private shouldSkipTranslation(messages: ConversationMessage[]) {
|
|
@@ -51,14 +69,14 @@ export class ChatbotTranslation {
|
|
|
51
69
|
private initTranslationSamples() {
|
|
52
70
|
sample({
|
|
53
71
|
clock: this.translateBatchFx.doneData,
|
|
54
|
-
source: [this.
|
|
72
|
+
source: [this.credits.$assignmentId, this.credits.$exerciseId] as const,
|
|
55
73
|
fn: ([assignmentId, exerciseId], translatedMessages) => ({
|
|
56
74
|
assignmentId,
|
|
57
75
|
exerciseId,
|
|
58
76
|
translatedMessages,
|
|
59
77
|
}),
|
|
60
78
|
}).watch(({ assignmentId, exerciseId, translatedMessages }) => {
|
|
61
|
-
this.
|
|
79
|
+
this.messages.setField({
|
|
62
80
|
entityId: assignmentId,
|
|
63
81
|
fieldId: exerciseId,
|
|
64
82
|
messages: translatedMessages,
|
|
@@ -68,7 +86,7 @@ export class ChatbotTranslation {
|
|
|
68
86
|
|
|
69
87
|
private createTranslateAlternativesEffect() {
|
|
70
88
|
return attach({
|
|
71
|
-
source: [this
|
|
89
|
+
source: [this.$alternatives],
|
|
72
90
|
mapParams: (params: TranslateAlternativesFxProps['params'], [alternatives]) => ({
|
|
73
91
|
params,
|
|
74
92
|
alternatives,
|
|
@@ -81,7 +99,7 @@ export class ChatbotTranslation {
|
|
|
81
99
|
|
|
82
100
|
if (hintAlternatives.length) {
|
|
83
101
|
const hintText = hintAlternatives.map(({ text }) => text)
|
|
84
|
-
const response = await this.
|
|
102
|
+
const response = await this.api.translateTextFx({
|
|
85
103
|
text: hintText,
|
|
86
104
|
targetLanguage: params.targetLanguage,
|
|
87
105
|
})
|
|
@@ -100,7 +118,7 @@ export class ChatbotTranslation {
|
|
|
100
118
|
|
|
101
119
|
if (defaultAlternatives.length) {
|
|
102
120
|
const defaultText = defaultAlternatives.map(({ text }) => text)
|
|
103
|
-
const response = await this.
|
|
121
|
+
const response = await this.api.translateTextFx({
|
|
104
122
|
text: defaultText,
|
|
105
123
|
targetLanguage: params.targetLanguage,
|
|
106
124
|
})
|
|
@@ -125,7 +143,7 @@ export class ChatbotTranslation {
|
|
|
125
143
|
private createTranslateMessageEffect() {
|
|
126
144
|
return createEffect(async ({ message, targetLanguage }: TranslateMessageFxProps) => {
|
|
127
145
|
const optionsText = message.options.map(({ text }) => text)
|
|
128
|
-
const response = await this.
|
|
146
|
+
const response = await this.api.translateTextFx({
|
|
129
147
|
text: [message.message, ...optionsText],
|
|
130
148
|
targetLanguage,
|
|
131
149
|
})
|
|
@@ -147,8 +165,9 @@ export class ChatbotTranslation {
|
|
|
147
165
|
|
|
148
166
|
private createTranslateBatchEffect() {
|
|
149
167
|
return attach({
|
|
150
|
-
source: [this.
|
|
151
|
-
|
|
168
|
+
source: [this.credits.$assignmentId, this.credits.$exerciseId, this.messages.$state],
|
|
169
|
+
// @ts-ignore
|
|
170
|
+
mapParams: (
|
|
152
171
|
params: TranslateBatchFxProps['params'],
|
|
153
172
|
[assignmentId, exerciseId, messages],
|
|
154
173
|
) => ({
|
|
@@ -166,7 +185,7 @@ export class ChatbotTranslation {
|
|
|
166
185
|
}
|
|
167
186
|
|
|
168
187
|
const messagesText = currentMessages.map(({ message }) => message)
|
|
169
|
-
const response = await this.
|
|
188
|
+
const response = await this.api.translateTextFx({
|
|
170
189
|
text: messagesText,
|
|
171
190
|
targetLanguage: params.targetLanguage,
|
|
172
191
|
})
|
|
@@ -176,12 +195,12 @@ export class ChatbotTranslation {
|
|
|
176
195
|
? await this.translateMessageOptions(lastMessage, params.targetLanguage)
|
|
177
196
|
: undefined
|
|
178
197
|
|
|
179
|
-
const errorMessageTranslationResponse = await this.
|
|
180
|
-
text: [this.
|
|
198
|
+
const errorMessageTranslationResponse = await this.api.translateTextFx({
|
|
199
|
+
text: [this.defaultMessages.error.message],
|
|
181
200
|
targetLanguage: params.targetLanguage,
|
|
182
201
|
})
|
|
183
202
|
|
|
184
|
-
this.
|
|
203
|
+
this.defaultMessages.error.translatedMessage = decodeHTMLEntities(
|
|
185
204
|
errorMessageTranslationResponse.data.translations[0].translatedText,
|
|
186
205
|
)
|
|
187
206
|
|
|
@@ -209,12 +228,12 @@ export class ChatbotTranslation {
|
|
|
209
228
|
private async translateMessageOptions(message: ConversationMessage, targetLanguage: string) {
|
|
210
229
|
if (!message?.options?.length) {
|
|
211
230
|
const translatedAlternatives = await this.translateAlternativesFx({ targetLanguage })
|
|
212
|
-
this.
|
|
231
|
+
this.setAlternatives(translatedAlternatives)
|
|
213
232
|
return
|
|
214
233
|
}
|
|
215
234
|
|
|
216
235
|
const optionsText = message.options.map(({ text }) => text)
|
|
217
|
-
const response = await this.
|
|
236
|
+
const response = await this.api.translateTextFx({
|
|
218
237
|
text: optionsText,
|
|
219
238
|
targetLanguage,
|
|
220
239
|
})
|