@magmamath/students-features 0.9.110 → 0.9.111-rc-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/dist/commonjs/features/chatbot/TTS_HIGHLIGHTING.md +109 -0
  2. package/dist/commonjs/features/chatbot/components/Chat/Chat.js +25 -22
  3. package/dist/commonjs/features/chatbot/components/Chat/Chat.js.map +1 -1
  4. package/dist/commonjs/features/chatbot/components/ChatMessage/ChatMessage.js.map +1 -1
  5. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js +20 -4
  6. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
  7. package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js +6 -2
  8. package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -1
  9. package/dist/commonjs/features/chatbot/components/Chatbot.js +6 -2
  10. package/dist/commonjs/features/chatbot/components/Chatbot.js.map +1 -1
  11. package/dist/commonjs/features/chatbot/helpers/textToSSML.js +22 -0
  12. package/dist/commonjs/features/chatbot/helpers/textToSSML.js.map +1 -0
  13. package/dist/commonjs/features/chatbot/model/ChatBotModel.js +4 -6
  14. package/dist/commonjs/features/chatbot/model/ChatBotModel.js.map +1 -1
  15. package/dist/commonjs/features/chatbot/model/t2s.js +125 -32
  16. package/dist/commonjs/features/chatbot/model/t2s.js.map +1 -1
  17. package/dist/commonjs/features/chatbot/types/t2s.types.js.map +1 -1
  18. package/dist/commonjs/index.js +1 -13
  19. package/dist/commonjs/index.js.map +1 -1
  20. package/dist/commonjs/types/common.types.js +0 -4
  21. package/dist/module/features/chatbot/TTS_HIGHLIGHTING.md +109 -0
  22. package/dist/module/features/chatbot/components/Chat/Chat.js +25 -22
  23. package/dist/module/features/chatbot/components/Chat/Chat.js.map +1 -1
  24. package/dist/module/features/chatbot/components/ChatMessage/ChatMessage.js.map +1 -1
  25. package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js +20 -4
  26. package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
  27. package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js +6 -2
  28. package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -1
  29. package/dist/module/features/chatbot/components/Chatbot.js +6 -2
  30. package/dist/module/features/chatbot/components/Chatbot.js.map +1 -1
  31. package/dist/module/features/chatbot/helpers/textToSSML.js +16 -0
  32. package/dist/module/features/chatbot/helpers/textToSSML.js.map +1 -0
  33. package/dist/module/features/chatbot/index.js.map +1 -1
  34. package/dist/module/features/chatbot/model/ChatBotModel.js +4 -6
  35. package/dist/module/features/chatbot/model/ChatBotModel.js.map +1 -1
  36. package/dist/module/features/chatbot/model/t2s.js +126 -33
  37. package/dist/module/features/chatbot/model/t2s.js.map +1 -1
  38. package/dist/module/features/chatbot/types/t2s.types.js.map +1 -1
  39. package/dist/module/index.js +0 -1
  40. package/dist/module/index.js.map +1 -1
  41. package/dist/module/types/common.types.js +0 -2
  42. package/dist/typescript/commonjs/features/chatbot/components/Chat/Chat.d.ts +4 -1
  43. package/dist/typescript/commonjs/features/chatbot/components/Chat/Chat.d.ts.map +1 -1
  44. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ChatMessage.d.ts +3 -1
  45. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ChatMessage.d.ts.map +1 -1
  46. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageContent.d.ts +4 -2
  47. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
  48. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts +1 -1
  49. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -1
  50. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts +4 -1
  51. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts.map +1 -1
  52. package/dist/typescript/commonjs/features/chatbot/helpers/textToSSML.d.ts +7 -0
  53. package/dist/typescript/commonjs/features/chatbot/helpers/textToSSML.d.ts.map +1 -0
  54. package/dist/typescript/commonjs/features/chatbot/index.d.ts +1 -1
  55. package/dist/typescript/commonjs/features/chatbot/index.d.ts.map +1 -1
  56. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  57. package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts +20 -9
  58. package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts.map +1 -1
  59. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts +2 -0
  60. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts.map +1 -1
  61. package/dist/typescript/commonjs/features/chatbot/types/t2s.types.d.ts +10 -0
  62. package/dist/typescript/commonjs/features/chatbot/types/t2s.types.d.ts.map +1 -1
  63. package/dist/typescript/commonjs/index.d.ts +0 -1
  64. package/dist/typescript/commonjs/index.d.ts.map +1 -1
  65. package/dist/typescript/commonjs/types/common.types.d.ts +0 -2
  66. package/dist/typescript/commonjs/types/common.types.d.ts.map +1 -1
  67. package/dist/typescript/module/features/chatbot/components/Chat/Chat.d.ts +4 -1
  68. package/dist/typescript/module/features/chatbot/components/Chat/Chat.d.ts.map +1 -1
  69. package/dist/typescript/module/features/chatbot/components/ChatMessage/ChatMessage.d.ts +3 -1
  70. package/dist/typescript/module/features/chatbot/components/ChatMessage/ChatMessage.d.ts.map +1 -1
  71. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageContent.d.ts +4 -2
  72. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
  73. package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts +1 -1
  74. package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -1
  75. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts +4 -1
  76. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts.map +1 -1
  77. package/dist/typescript/module/features/chatbot/helpers/textToSSML.d.ts +7 -0
  78. package/dist/typescript/module/features/chatbot/helpers/textToSSML.d.ts.map +1 -0
  79. package/dist/typescript/module/features/chatbot/index.d.ts +1 -1
  80. package/dist/typescript/module/features/chatbot/index.d.ts.map +1 -1
  81. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  82. package/dist/typescript/module/features/chatbot/model/t2s.d.ts +20 -9
  83. package/dist/typescript/module/features/chatbot/model/t2s.d.ts.map +1 -1
  84. package/dist/typescript/module/features/chatbot/types/api.types.d.ts +2 -0
  85. package/dist/typescript/module/features/chatbot/types/api.types.d.ts.map +1 -1
  86. package/dist/typescript/module/features/chatbot/types/t2s.types.d.ts +10 -0
  87. package/dist/typescript/module/features/chatbot/types/t2s.types.d.ts.map +1 -1
  88. package/dist/typescript/module/index.d.ts +0 -1
  89. package/dist/typescript/module/index.d.ts.map +1 -1
  90. package/dist/typescript/module/types/common.types.d.ts +0 -2
  91. package/dist/typescript/module/types/common.types.d.ts.map +1 -1
  92. package/package.json +1 -1
  93. package/src/features/chatbot/TTS_HIGHLIGHTING.md +109 -0
  94. package/src/features/chatbot/components/Chat/Chat.tsx +28 -19
  95. package/src/features/chatbot/components/ChatMessage/ChatMessage.tsx +3 -1
  96. package/src/features/chatbot/components/ChatMessage/MessageContent.tsx +30 -3
  97. package/src/features/chatbot/components/ChatMessage/ReceivedMessage.tsx +4 -0
  98. package/src/features/chatbot/components/Chatbot.tsx +7 -0
  99. package/src/features/chatbot/helpers/textToSSML.ts +15 -0
  100. package/src/features/chatbot/index.ts +1 -1
  101. package/src/features/chatbot/model/ChatBotModel.ts +3 -7
  102. package/src/features/chatbot/model/t2s.ts +147 -32
  103. package/src/features/chatbot/types/api.types.ts +1 -3
  104. package/src/features/chatbot/types/t2s.types.ts +7 -0
  105. package/src/index.ts +0 -1
  106. package/src/types/common.types.ts +0 -4
  107. package/dist/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.js +0 -34
  108. package/dist/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.js.map +0 -1
  109. package/dist/commonjs/features/openEnded/components/OpenEndedScoreLabel.js +0 -68
  110. package/dist/commonjs/features/openEnded/components/OpenEndedScoreLabel.js.map +0 -1
  111. package/dist/commonjs/features/openEnded/index.js +0 -48
  112. package/dist/commonjs/features/openEnded/index.js.map +0 -1
  113. package/dist/commonjs/features/openEnded/oe.helpers.js +0 -26
  114. package/dist/commonjs/features/openEnded/oe.helpers.js.map +0 -1
  115. package/dist/commonjs/features/openEnded/oe.types.js +0 -14
  116. package/dist/commonjs/features/openEnded/oe.types.js.map +0 -1
  117. package/dist/commonjs/shared/common.constants.js +0 -9
  118. package/dist/commonjs/shared/common.constants.js.map +0 -1
  119. package/dist/module/features/openEnded/components/OpenEndedAttemptsLimit.js +0 -28
  120. package/dist/module/features/openEnded/components/OpenEndedAttemptsLimit.js.map +0 -1
  121. package/dist/module/features/openEnded/components/OpenEndedScoreLabel.js +0 -62
  122. package/dist/module/features/openEnded/components/OpenEndedScoreLabel.js.map +0 -1
  123. package/dist/module/features/openEnded/index.js +0 -7
  124. package/dist/module/features/openEnded/index.js.map +0 -1
  125. package/dist/module/features/openEnded/oe.helpers.js +0 -21
  126. package/dist/module/features/openEnded/oe.helpers.js.map +0 -1
  127. package/dist/module/features/openEnded/oe.types.js +0 -10
  128. package/dist/module/features/openEnded/oe.types.js.map +0 -1
  129. package/dist/module/shared/common.constants.js +0 -5
  130. package/dist/module/shared/common.constants.js.map +0 -1
  131. package/dist/typescript/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.d.ts +0 -7
  132. package/dist/typescript/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.d.ts.map +0 -1
  133. package/dist/typescript/commonjs/features/openEnded/components/OpenEndedScoreLabel.d.ts +0 -12
  134. package/dist/typescript/commonjs/features/openEnded/components/OpenEndedScoreLabel.d.ts.map +0 -1
  135. package/dist/typescript/commonjs/features/openEnded/index.d.ts +0 -5
  136. package/dist/typescript/commonjs/features/openEnded/index.d.ts.map +0 -1
  137. package/dist/typescript/commonjs/features/openEnded/oe.helpers.d.ts +0 -13
  138. package/dist/typescript/commonjs/features/openEnded/oe.helpers.d.ts.map +0 -1
  139. package/dist/typescript/commonjs/features/openEnded/oe.types.d.ts +0 -7
  140. package/dist/typescript/commonjs/features/openEnded/oe.types.d.ts.map +0 -1
  141. package/dist/typescript/commonjs/shared/common.constants.d.ts +0 -2
  142. package/dist/typescript/commonjs/shared/common.constants.d.ts.map +0 -1
  143. package/dist/typescript/module/features/openEnded/components/OpenEndedAttemptsLimit.d.ts +0 -7
  144. package/dist/typescript/module/features/openEnded/components/OpenEndedAttemptsLimit.d.ts.map +0 -1
  145. package/dist/typescript/module/features/openEnded/components/OpenEndedScoreLabel.d.ts +0 -12
  146. package/dist/typescript/module/features/openEnded/components/OpenEndedScoreLabel.d.ts.map +0 -1
  147. package/dist/typescript/module/features/openEnded/index.d.ts +0 -5
  148. package/dist/typescript/module/features/openEnded/index.d.ts.map +0 -1
  149. package/dist/typescript/module/features/openEnded/oe.helpers.d.ts +0 -13
  150. package/dist/typescript/module/features/openEnded/oe.helpers.d.ts.map +0 -1
  151. package/dist/typescript/module/features/openEnded/oe.types.d.ts +0 -7
  152. package/dist/typescript/module/features/openEnded/oe.types.d.ts.map +0 -1
  153. package/dist/typescript/module/shared/common.constants.d.ts +0 -2
  154. package/dist/typescript/module/shared/common.constants.d.ts.map +0 -1
  155. package/src/features/openEnded/components/OpenEndedAttemptsLimit.tsx +0 -26
  156. package/src/features/openEnded/components/OpenEndedScoreLabel.tsx +0 -68
  157. package/src/features/openEnded/index.ts +0 -4
  158. package/src/features/openEnded/oe.helpers.ts +0 -31
  159. package/src/features/openEnded/oe.types.ts +0 -6
  160. package/src/shared/common.constants.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","View","ChatbotIcon","ColorScheme","MessageContent","MessageVariant","jsx","_jsx","jsxs","_jsxs","ReceivedMessage","message","isTranslated","t2sState","withIcon","colorScheme","Blue","withErrorSpotting","text","translatedMessage","style","styles","container","children","icon","width","height","variant","RECEIVED","create","flex","flexDirection","maxWidth","alignItems","justifyContent","alignSelf","marginRight","padding","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","borderRadius","borderBottomLeftRadius","backgroundColor"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatMessage/ReceivedMessage.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAG/C,SAASC,WAAW,QAAQ,yCAAsC;AAClE,SAASC,WAAW,QAAQ,4BAAyB;AACrD,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,cAAc,QAAQ,4BAAyB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAExD,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAC9BC,OAAO;EACPC,YAAY;EACZC,QAAQ;EACRC,QAAQ;EACRC,WAAW,GAAGZ,WAAW,CAACa,IAAI;EAC9BC;AACY,CAAC,KAAK;EAClB,MAAMC,IAAI,GAAGN,YAAY,GAAGD,OAAO,CAACQ,iBAAiB,GAAGR,OAAO,CAACA,OAAO;EAEvE,oBACEF,KAAA,CAACR,IAAI;IAACmB,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,GAC3BT,QAAQ,iBACPP,IAAA,CAACN,IAAI;MAACmB,KAAK,EAAEC,MAAM,CAACG,IAAK;MAAAD,QAAA,eACvBhB,IAAA,CAACL,WAAW;QAACuB,KAAK,EAAE,EAAG;QAACC,MAAM,EAAE;MAAG,CAAE;IAAC,CAClC,CACP,eAEDnB,IAAA,CAACN,IAAI;MAACmB,KAAK,EAAEC,MAAM,CAACV,OAAQ;MAAAY,QAAA,eAC1BhB,IAAA,CAACH,cAAc;QACbO,OAAO,EAAEA,OAAQ;QACjBgB,OAAO,EAAEtB,cAAc,CAACuB,QAAS;QACjCf,QAAQ,EAAEA,QAAS;QACnBK,IAAI,EAAEA,IAAI,IAAI,EAAG;QACjBH,WAAW,EAAEA,WAAY;QACzBE,iBAAiB,EAAEA;MAAkB,CACtC;IAAC,CACE,CAAC;EAAA,CACH,CAAC;AAEX,CAAC;AAED,MAAMI,MAAM,GAAGrB,UAAU,CAAC6B,MAAM,CAAC;EAC/BP,SAAS,EAAE;IACTQ,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,GAAG;IACbP,KAAK,EAAE,GAAG;IACVQ,UAAU,EAAE,UAAU;IACtBC,cAAc,EAAE;EAClB,CAAC;EACDV,IAAI,EAAE;IACJW,SAAS,EAAE,UAAU;IACrBC,WAAW,EAAE;EACf,CAAC;EACDzB,OAAO,EAAE;IACPmB,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,GAAG;IACbK,OAAO,EAAE,CAAC;IACVC,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MAAEd,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCc,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE,CAAC;IACZC,YAAY,EAAE,CAAC;IACfC,sBAAsB,EAAE,CAAC;IACzBC,eAAe,EAAE;EACnB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","StyleSheet","View","ChatbotIcon","ColorScheme","MessageContent","MessageVariant","jsx","_jsx","jsxs","_jsxs","ReceivedMessage","message","isTranslated","t2sState","withIcon","colorScheme","Blue","withErrorSpotting","highlightedWordIndex","highlightConfig","text","translatedMessage","style","styles","container","children","icon","width","height","variant","RECEIVED","create","flex","flexDirection","maxWidth","alignItems","justifyContent","alignSelf","marginRight","padding","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","borderRadius","borderBottomLeftRadius","backgroundColor"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatMessage/ReceivedMessage.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAG/C,SAASC,WAAW,QAAQ,yCAAsC;AAClE,SAASC,WAAW,QAAQ,4BAAyB;AACrD,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,cAAc,QAAQ,4BAAyB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAExD,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAC9BC,OAAO;EACPC,YAAY;EACZC,QAAQ;EACRC,QAAQ;EACRC,WAAW,GAAGZ,WAAW,CAACa,IAAI;EAC9BC,iBAAiB;EACjBC,oBAAoB;EACpBC;AACY,CAAC,KAAK;EAClB,MAAMC,IAAI,GAAGR,YAAY,GAAGD,OAAO,CAACU,iBAAiB,GAAGV,OAAO,CAACA,OAAO;EAEvE,oBACEF,KAAA,CAACR,IAAI;IAACqB,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,GAC3BX,QAAQ,iBACPP,IAAA,CAACN,IAAI;MAACqB,KAAK,EAAEC,MAAM,CAACG,IAAK;MAAAD,QAAA,eACvBlB,IAAA,CAACL,WAAW;QAACyB,KAAK,EAAE,EAAG;QAACC,MAAM,EAAE;MAAG,CAAE;IAAC,CAClC,CACP,eAEDrB,IAAA,CAACN,IAAI;MAACqB,KAAK,EAAEC,MAAM,CAACZ,OAAQ;MAAAc,QAAA,eAC1BlB,IAAA,CAACH,cAAc;QACbO,OAAO,EAAEA,OAAQ;QACjBkB,OAAO,EAAExB,cAAc,CAACyB,QAAS;QACjCjB,QAAQ,EAAEA,QAAS;QACnBO,IAAI,EAAEA,IAAI,IAAI,EAAG;QACjBL,WAAW,EAAEA,WAAY;QACzBE,iBAAiB,EAAEA,iBAAkB;QACrCC,oBAAoB,EAAEA,oBAAqB;QAC3CC,eAAe,EAAEA;MAAgB,CAClC;IAAC,CACE,CAAC;EAAA,CACH,CAAC;AAEX,CAAC;AAED,MAAMI,MAAM,GAAGvB,UAAU,CAAC+B,MAAM,CAAC;EAC/BP,SAAS,EAAE;IACTQ,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,GAAG;IACbP,KAAK,EAAE,GAAG;IACVQ,UAAU,EAAE,UAAU;IACtBC,cAAc,EAAE;EAClB,CAAC;EACDV,IAAI,EAAE;IACJW,SAAS,EAAE,UAAU;IACrBC,WAAW,EAAE;EACf,CAAC;EACD3B,OAAO,EAAE;IACPqB,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,GAAG;IACbK,OAAO,EAAE,CAAC;IACVC,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MAAEd,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCc,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE,CAAC;IACZC,YAAY,EAAE,CAAC;IACfC,sBAAsB,EAAE,CAAC;IACzBC,eAAe,EAAE;EACnB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -15,7 +15,9 @@ export const Chatbot = ({
15
15
  textToSpeechConfig,
16
16
  ButtonWrapper,
17
17
  iconSize,
18
- colorScheme = ColorScheme.Blue
18
+ colorScheme = ColorScheme.Blue,
19
+ isHighlightEnabled = false,
20
+ highlightConfig
19
21
  }) => {
20
22
  const isChatAllowed = useUnit(model.$chatAccess);
21
23
  const isAvailable = useStoreMap(model.$currentChatData, ({
@@ -42,7 +44,9 @@ export const Chatbot = ({
42
44
  isHintFeedback: isHintFeedback,
43
45
  isTextToSpeechEnabled: isTextToSpeechEnabled,
44
46
  isInputDisabled: isInputDisabled,
45
- MessageWrapper: ButtonWrapper
47
+ MessageWrapper: ButtonWrapper,
48
+ isHighlightEnabled: isHighlightEnabled,
49
+ highlightConfig: highlightConfig
46
50
  }), /*#__PURE__*/_jsx(ChatControls, {
47
51
  model: model,
48
52
  onPressChatIcon: openChat,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useStoreMap","useUnit","Chat","ChatControls","ChatBotModelContext","ColorScheme","jsx","_jsx","jsxs","_jsxs","Chatbot","model","isHintFeedback","isTextToSpeechEnabled","isInputDisabled","textToSpeechConfig","ButtonWrapper","iconSize","colorScheme","Blue","isChatAllowed","$chatAccess","isAvailable","$currentChatData","t2s","setAudioConfig","shouldAnimateCloseButton","store","fn","chat","messages","length","keys","openChat","setIsOpen","closeChat","Provider","value","children","MessageWrapper","onPressChatIcon","onPressClose","undefined"],"sourceRoot":"../../../../../src","sources":["features/chatbot/components/Chatbot.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAqD,OAAO;AACxE,SAASC,WAAW,EAAEC,OAAO,QAAQ,gBAAgB;AAGrD,SAASC,IAAI,QAAQ,gBAAa;AAClC,SAASC,YAAY,QAAQ,gCAA6B;AAE1D,SAASC,mBAAmB,QAAQ,mCAAgC;AACpE,SAASC,WAAW,QAAQ,yBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAgBlD,OAAO,MAAMC,OAAO,GAAGA,CAAC;EACtBC,KAAK;EACLC,cAAc;EACdC,qBAAqB,GAAG,KAAK;EAC7BC,eAAe;EACfC,kBAAkB;EAClBC,aAAa;EACbC,QAAQ;EACRC,WAAW,GAAGb,WAAW,CAACc;AACd,CAAC,KAAK;EAClB,MAAMC,aAAa,GAAGnB,OAAO,CAACU,KAAK,CAACU,WAAW,CAAC;EAChD,MAAMC,WAAW,GAAGtB,WAAW,CAACW,KAAK,CAACY,gBAAgB,EAAE,CAAC;IAAED;EAAY,CAAC,KAAKA,WAAW,CAAC;EACzFX,KAAK,CAACa,GAAG,CAACC,cAAc,CAACV,kBAAkB,IAAI,IAAI,CAAC;EAEpD,MAAMW,wBAAwB,GAAG1B,WAAW,CAAC;IAC3C2B,KAAK,EAAEhB,KAAK,CAACY,gBAAgB;IAC7BK,EAAE,EAAEA,CAACC,IAAI,EAAE,CAACf,eAAe,CAAC,KAAK;MAC/B,OAAOA,eAAe,IAAIe,IAAI,CAACC,QAAQ,CAACC,MAAM,KAAK,CAAC;IACtD,CAAC;IACDC,IAAI,EAAE,CAAClB,eAAe;EACxB,CAAC,CAAC;EAEF,MAAMmB,QAAQ,GAAGA,CAAA,KAAMtB,KAAK,CAACuB,SAAS,CAAC,IAAI,CAAC;EAC5C,MAAMC,SAAS,GAAGA,CAAA,KAAMxB,KAAK,CAACuB,SAAS,CAAC,KAAK,CAAC;EAE9C,IAAI,CAACZ,WAAW,IAAI,CAACF,aAAa,EAAE;IAClC,OAAO,IAAI;EACb;EAEA,oBACEX,KAAA,CAACL,mBAAmB,CAACgC,QAAQ;IAACC,KAAK,EAAE1B,KAAM;IAAA2B,QAAA,gBACzC/B,IAAA,CAACL,IAAI;MACHS,KAAK,EAAEA,KAAM;MACbO,WAAW,EAAEA,WAAY;MACzBN,cAAc,EAAEA,cAAe;MAC/BC,qBAAqB,EAAEA,qBAAsB;MAC7CC,eAAe,EAAEA,eAAgB;MACjCyB,cAAc,EAAEvB;IAAc,CAC/B,CAAC,eAEFT,IAAA,CAACJ,YAAY;MACXQ,KAAK,EAAEA,KAAM;MACb6B,eAAe,EAAEP,QAAS;MAC1BQ,YAAY,EAAEN,SAAU;MACxBlB,QAAQ,EAAEA,QAAS;MACnBD,aAAa,EAAEF,eAAe,GAAG4B,SAAS,GAAG1B,aAAc;MAC3DU,wBAAwB,EAAEA;IAAyB,CACpD,CAAC;EAAA,CAC0B,CAAC;AAEnC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useStoreMap","useUnit","Chat","ChatControls","ChatBotModelContext","ColorScheme","jsx","_jsx","jsxs","_jsxs","Chatbot","model","isHintFeedback","isTextToSpeechEnabled","isInputDisabled","textToSpeechConfig","ButtonWrapper","iconSize","colorScheme","Blue","isHighlightEnabled","highlightConfig","isChatAllowed","$chatAccess","isAvailable","$currentChatData","t2s","setAudioConfig","shouldAnimateCloseButton","store","fn","chat","messages","length","keys","openChat","setIsOpen","closeChat","Provider","value","children","MessageWrapper","onPressChatIcon","onPressClose","undefined"],"sourceRoot":"../../../../../src","sources":["features/chatbot/components/Chatbot.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAqD,OAAO;AACxE,SAASC,WAAW,EAAEC,OAAO,QAAQ,gBAAgB;AAGrD,SAASC,IAAI,QAAQ,gBAAa;AAClC,SAASC,YAAY,QAAQ,gCAA6B;AAE1D,SAASC,mBAAmB,QAAQ,mCAAgC;AACpE,SAASC,WAAW,QAAQ,yBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAmBlD,OAAO,MAAMC,OAAO,GAAGA,CAAC;EACtBC,KAAK;EACLC,cAAc;EACdC,qBAAqB,GAAG,KAAK;EAC7BC,eAAe;EACfC,kBAAkB;EAClBC,aAAa;EACbC,QAAQ;EACRC,WAAW,GAAGb,WAAW,CAACc,IAAI;EAC9BC,kBAAkB,GAAG,KAAK;EAC1BC;AACY,CAAC,KAAK;EAClB,MAAMC,aAAa,GAAGrB,OAAO,CAACU,KAAK,CAACY,WAAW,CAAC;EAChD,MAAMC,WAAW,GAAGxB,WAAW,CAACW,KAAK,CAACc,gBAAgB,EAAE,CAAC;IAAED;EAAY,CAAC,KAAKA,WAAW,CAAC;EACzFb,KAAK,CAACe,GAAG,CAACC,cAAc,CAACZ,kBAAkB,IAAI,IAAI,CAAC;EAEpD,MAAMa,wBAAwB,GAAG5B,WAAW,CAAC;IAC3C6B,KAAK,EAAElB,KAAK,CAACc,gBAAgB;IAC7BK,EAAE,EAAEA,CAACC,IAAI,EAAE,CAACjB,eAAe,CAAC,KAAK;MAC/B,OAAOA,eAAe,IAAIiB,IAAI,CAACC,QAAQ,CAACC,MAAM,KAAK,CAAC;IACtD,CAAC;IACDC,IAAI,EAAE,CAACpB,eAAe;EACxB,CAAC,CAAC;EAEF,MAAMqB,QAAQ,GAAGA,CAAA,KAAMxB,KAAK,CAACyB,SAAS,CAAC,IAAI,CAAC;EAC5C,MAAMC,SAAS,GAAGA,CAAA,KAAM1B,KAAK,CAACyB,SAAS,CAAC,KAAK,CAAC;EAE9C,IAAI,CAACZ,WAAW,IAAI,CAACF,aAAa,EAAE;IAClC,OAAO,IAAI;EACb;EAEA,oBACEb,KAAA,CAACL,mBAAmB,CAACkC,QAAQ;IAACC,KAAK,EAAE5B,KAAM;IAAA6B,QAAA,gBACzCjC,IAAA,CAACL,IAAI;MACHS,KAAK,EAAEA,KAAM;MACbO,WAAW,EAAEA,WAAY;MACzBN,cAAc,EAAEA,cAAe;MAC/BC,qBAAqB,EAAEA,qBAAsB;MAC7CC,eAAe,EAAEA,eAAgB;MACjC2B,cAAc,EAAEzB,aAAc;MAC9BI,kBAAkB,EAAEA,kBAAmB;MACvCC,eAAe,EAAEA;IAAgB,CAClC,CAAC,eAEFd,IAAA,CAACJ,YAAY;MACXQ,KAAK,EAAEA,KAAM;MACb+B,eAAe,EAAEP,QAAS;MAC1BQ,YAAY,EAAEN,SAAU;MACxBpB,QAAQ,EAAEA,QAAS;MACnBD,aAAa,EAAEF,eAAe,GAAG8B,SAAS,GAAG5B,aAAc;MAC3DY,wBAAwB,EAAEA;IAAyB,CACpD,CAAC;EAAA,CAC0B,CAAC;AAEnC,CAAC","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Converts plain text to SSML with word marks for TTS highlighting.
5
+ * "Hello world" -> '<speak><mark name="w_0"/>Hello <mark name="w_1"/>world</speak>'
6
+ */
7
+ export const textToSSML = text => {
8
+ const words = text.split(/\s+/).filter(Boolean);
9
+ if (words.length === 0) return '<speak></speak>';
10
+ const ssmlParts = words.map((word, i) => `<mark name="w_${i}"/>${word}`);
11
+ return `<speak>${ssmlParts.join(' ')}</speak>`;
12
+ };
13
+ export const getWordCount = text => {
14
+ return text.split(/\s+/).filter(Boolean).length;
15
+ };
16
+ //# sourceMappingURL=textToSSML.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["textToSSML","text","words","split","filter","Boolean","length","ssmlParts","map","word","i","join","getWordCount"],"sourceRoot":"../../../../../src","sources":["features/chatbot/helpers/textToSSML.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,OAAO,MAAMA,UAAU,GAAIC,IAAY,IAAa;EAClD,MAAMC,KAAK,GAAGD,IAAI,CAACE,KAAK,CAAC,KAAK,CAAC,CAACC,MAAM,CAACC,OAAO,CAAC;EAC/C,IAAIH,KAAK,CAACI,MAAM,KAAK,CAAC,EAAE,OAAO,iBAAiB;EAEhD,MAAMC,SAAS,GAAGL,KAAK,CAACM,GAAG,CAAC,CAACC,IAAI,EAAEC,CAAC,KAAK,iBAAiBA,CAAC,MAAMD,IAAI,EAAE,CAAC;EACxE,OAAO,UAAUF,SAAS,CAACI,IAAI,CAAC,GAAG,CAAC,UAAU;AAChD,CAAC;AAED,OAAO,MAAMC,YAAY,GAAIX,IAAY,IAAa;EACpD,OAAOA,IAAI,CAACE,KAAK,CAAC,KAAK,CAAC,CAACC,MAAM,CAACC,OAAO,CAAC,CAACC,MAAM;AACjD,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["Chatbot","ChatbotModel","AudioStatus","MessageVariant","DefaultMessagesCreator","ColorScheme"],"sourceRoot":"../../../../src","sources":["features/chatbot/index.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,yBAAsB;AAC9C,SAASC,YAAY,QAAQ,yBAAsB;AACnD,SAASC,WAAW,QAA4B,sBAAmB;AACnE,SACEC,cAAc,QAGT,wBAAqB;AAE5B,SAASC,sBAAsB,QAAQ,kCAA+B;AAGtE,SAASC,WAAW,QAAQ,wBAAqB","ignoreList":[]}
1
+ {"version":3,"names":["Chatbot","ChatbotModel","AudioStatus","MessageVariant","DefaultMessagesCreator","ColorScheme"],"sourceRoot":"../../../../src","sources":["features/chatbot/index.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,yBAAsB;AAC9C,SAASC,YAAY,QAAQ,yBAAsB;AACnD,SAASC,WAAW,QAAkD,sBAAmB;AACzF,SACEC,cAAc,QAGT,wBAAqB;AAE5B,SAASC,sBAAsB,QAAQ,kCAA+B;AAGtE,SAASC,WAAW,QAAQ,wBAAqB","ignoreList":[]}
@@ -62,7 +62,6 @@ export class ChatbotModel {
62
62
  postMessage: this.threadManager.postMessage
63
63
  });
64
64
  this.$chatAccess = chatAccess;
65
- if ($key) this.bindKey($key);
66
65
  this.threadManager.setApi({
67
66
  getHint: api.requestHint,
68
67
  sendMessage: api.sendMessage
@@ -71,6 +70,9 @@ export class ChatbotModel {
71
70
  this.threadManager.setMessagesLimit(threadMessagesLimit);
72
71
  }
73
72
  this.$alternatives = createStore(null).on(this.api.getAlternativesFx.doneData, (_, payload) => transformAlternatives(payload)).on(this.setAlternatives, (_, payload) => transformAlternatives(payload)).reset(this.resetAlternatives);
73
+ this.t2s = new ChatTextToSpeechModel({
74
+ api: this.api
75
+ });
74
76
  this.translation = new ChatbotTranslation({
75
77
  $context: this.$context,
76
78
  defaultMessages: this.defaultMessages,
@@ -82,14 +84,10 @@ export class ChatbotModel {
82
84
  },
83
85
  chats: this.cache
84
86
  });
85
- this.t2s = new ChatTextToSpeechModel({
86
- api: this.api,
87
- $currentChatData: this.$currentChatData,
88
- $isTranslated: this.translation.$isTranslated
89
- });
90
87
  this.errorSpotting = new ErrorSpottingModel({
91
88
  $currentChatData: this.$currentChatData
92
89
  });
90
+ if ($key) this.bindKey($key);
93
91
  sample({
94
92
  source: this.$isOpen.updates,
95
93
  filter: isOpen => !isOpen,
@@ -1 +1 @@
1
- {"version":3,"names":["attach","combine","createEffect","createEvent","createStore","restore","sample","ChatbotAPI","ChatbotTranslation","ChatTextToSpeechModel","messagesHelper","ChatBotThreadManager","ChatsCacheModel","defaultChatData","ErrorSpottingModel","ChatBotTextInput","withEvent","ChatBotTextManager","ControlledSample","transformAlternatives","IS_WEB","ChatbotModel","textManager","defaultMessages","messages","threadManager","textInput","setCurrentKey","$currentKey","unbindCurrentKey","resetAlternatives","setAlternatives","setIsOpen","toggleOpen","$isOpen","on","isOpen","removeLastMessage","setLastMessageKey","$lastMessageKey","setContext","$context","setScrollActive","$isScrollActive","cache","$currentChatData","data","$data","key","constructor","api","$key","threadMessagesLimit","settings","chatAccess","postMessage","$chatAccess","bindKey","setApi","getHint","requestHint","sendMessage","setMessagesLimit","$alternatives","getAlternativesFx","doneData","_","payload","reset","translation","alternativesModel","$store","set","chats","t2s","$isTranslated","errorSpotting","source","updates","filter","target","spottingHidden","clock","fn","lastMessageKey","chatsData","chat","updatedMessages","pop","update","closeOnKeyChange","startConversation","currentChatData","mapParams","props","effect","initOnly","withGreetingMessage","length","reinitConversation","add","start","isAvailable","currentThread","watch","alternatives","isOpenChatEnabled","creator","anotherHintOption","createOption","createSendHelpRequestFx","context","params","message","translatedMessage","isFreeText","Error","addMessages","createOwn","response","postMessageFx","answer","answerOptions","problemDescription","problem","problemAnswer","language","imageAltText","imageDescription","imageCdnId","conversationId","freeTextMessage","thread","get","createAnswer","isInitial","history","endMessage","push","createLast","translatedMessages","applyTranslationFx","fail","error","value","initialValue","getState","bindExternalTranslationState","externalTranslationStateSync","done","flag","translateAllMessagesFx","isActiveDefault","setUpT2S","config","setConfig","setDrawBoardAdapter","adapter","bindStrokesValidation","$strokesValidationKey","sendHelpRequestFx","setHintMessage","options","hints","setSingleMessage","addMessage","reinitChatThread","initialOption","disableChat","stop","softReset","isLoading","pending","hasPendingMessage","controller","abort","unbindKey","unbindExternalTranslationState","disable"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/ChatBotModel.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["attach","combine","createEffect","createEvent","createStore","restore","sample","ChatbotAPI","ChatbotTranslation","ChatTextToSpeechModel","messagesHelper","ChatBotThreadManager","ChatsCacheModel","defaultChatData","ErrorSpottingModel","ChatBotTextInput","withEvent","ChatBotTextManager","ControlledSample","transformAlternatives","IS_WEB","ChatbotModel","textManager","defaultMessages","messages","threadManager","textInput","setCurrentKey","$currentKey","unbindCurrentKey","resetAlternatives","setAlternatives","setIsOpen","toggleOpen","$isOpen","on","isOpen","removeLastMessage","setLastMessageKey","$lastMessageKey","setContext","$context","setScrollActive","$isScrollActive","cache","$currentChatData","data","$data","key","constructor","api","$key","threadMessagesLimit","settings","chatAccess","postMessage","$chatAccess","setApi","getHint","requestHint","sendMessage","setMessagesLimit","$alternatives","getAlternativesFx","doneData","_","payload","reset","t2s","translation","alternativesModel","$store","set","chats","errorSpotting","bindKey","source","updates","filter","target","spottingHidden","clock","fn","lastMessageKey","chatsData","chat","updatedMessages","pop","update","closeOnKeyChange","startConversation","currentChatData","mapParams","props","effect","initOnly","withGreetingMessage","length","reinitConversation","add","start","isAvailable","currentThread","watch","alternatives","isOpenChatEnabled","creator","anotherHintOption","createOption","createSendHelpRequestFx","context","params","message","translatedMessage","isFreeText","Error","addMessages","createOwn","response","postMessageFx","answer","answerOptions","problemDescription","problem","problemAnswer","language","imageAltText","imageDescription","imageCdnId","conversationId","freeTextMessage","thread","get","createAnswer","isInitial","history","endMessage","push","createLast","translatedMessages","applyTranslationFx","fail","error","value","initialValue","getState","bindExternalTranslationState","$isTranslated","externalTranslationStateSync","done","flag","translateAllMessagesFx","isActiveDefault","setUpT2S","config","setConfig","setDrawBoardAdapter","adapter","bindStrokesValidation","$strokesValidationKey","sendHelpRequestFx","setHintMessage","options","hints","setSingleMessage","addMessage","reinitChatThread","initialOption","disableChat","stop","softReset","isLoading","pending","hasPendingMessage","controller","abort","unbindKey","unbindExternalTranslationState","disable"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/ChatBotModel.ts"],"mappings":"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","ignoreList":[]}
@@ -1,35 +1,66 @@
1
1
  "use strict";
2
2
 
3
- import { restore, createEvent, createEffect } from 'effector';
3
+ import { restore, createEvent, createEffect, combine } from 'effector';
4
4
  import { AUDIO_CONFIG, DEFAULT_VOICE } from "../constants.js";
5
5
  import { AudioStatus } from "../types/t2s.types.js";
6
+ import { textToSSML } from "../helpers/textToSSML.js";
7
+ const WORD_MARK_REGEX = /^w_(\d+)$/;
8
+ const findCurrentMark = (timepoints, time) => {
9
+ for (let i = timepoints.length - 1; i >= 0; i--) {
10
+ if (timepoints[i].timeSeconds <= time) {
11
+ return timepoints[i].markName;
12
+ }
13
+ }
14
+ return undefined;
15
+ };
6
16
  export class ChatTextToSpeechModel {
7
17
  audioCache = {};
18
+ highlightCache = {};
8
19
  audioProvider = null;
20
+ isHighlightEnabled = false;
21
+ lastHighlightedIndex = null;
9
22
  setCurrentPlayingId = createEvent();
10
23
  $currentPlayingId = restore(this.setCurrentPlayingId, null);
11
24
  setStatus = createEvent();
12
25
  $status = restore(this.setStatus, AudioStatus.STOPPED);
26
+ setTimepoints = createEvent();
27
+ $timepoints = restore(this.setTimepoints, []);
28
+ setTime = createEvent();
29
+ $time = restore(this.setTime, 0);
30
+ $highlightedWordIndex = combine(this.$timepoints, this.$time, this.$status, (timepoints, time, status) => {
31
+ if (!timepoints.length || status !== AudioStatus.PLAYING) {
32
+ return null;
33
+ }
34
+ const currentMark = findCurrentMark(timepoints, time);
35
+ if (!currentMark) return null;
36
+ const match = currentMark.match(WORD_MARK_REGEX);
37
+ const index = match ? parseInt(match[1], 10) : null;
38
+ // console.log('[TTS Debug] Computed highlightedWordIndex:', index, '(time:', time, ', mark:', currentMark, ')')
39
+ return index;
40
+ });
41
+ $highlightState = combine({
42
+ highlightedWordIndex: this.$highlightedWordIndex,
43
+ playingId: this.$currentPlayingId,
44
+ status: this.$status
45
+ });
13
46
  audioConfig = null;
14
47
  textSanitizer = value => value;
15
48
  constructor({
16
- api,
17
- $currentChatData,
18
- $isTranslated
49
+ api
19
50
  }) {
20
51
  this.api = api;
21
- this.$currentChatData = $currentChatData;
22
- this.$isTranslated = $isTranslated;
23
52
  }
24
53
  setAudioConfig(config) {
25
54
  this.audioConfig = config;
26
55
  }
27
56
  setConfig({
28
57
  audioProvider,
29
- textSanitizer
58
+ textSanitizer,
59
+ isHighlightEnabled
30
60
  }) {
31
61
  if (audioProvider) this.audioProvider = audioProvider;
32
62
  if (textSanitizer) this.textSanitizer = textSanitizer;
63
+ if (isHighlightEnabled !== undefined) this.isHighlightEnabled = isHighlightEnabled;
33
64
  }
34
65
  getCacheKey = (messageId, isTranslated) => {
35
66
  return `${messageId}-${isTranslated ? 'translated' : 'original'}`;
@@ -60,48 +91,108 @@ export class ChatTextToSpeechModel {
60
91
  }
61
92
  if (messageId && !isCurrentMessage) {
62
93
  this.audioProvider.stop();
94
+ this.resetHighlight();
63
95
  }
64
96
  const cacheKey = this.getCacheKey(messageId, isTranslated);
65
- let audioPath = this.audioCache[cacheKey];
66
- this.setCurrentPlayingId(messageId);
67
- if (!audioPath) {
68
- const config = this.audioConfig;
69
- const response = await this.api.textToSpeechTextFx({
70
- input: {
71
- text
72
- },
73
- voice: config?.voice ?? DEFAULT_VOICE,
74
- audioConfig: config?.audioConfig ?? AUDIO_CONFIG,
75
- enableTimePointing: []
76
- });
97
+ const useHighlighting = this.isHighlightEnabled && !!this.audioProvider.onTimeUpdate;
98
+ // console.log('[TTS Debug] useHighlighting:', useHighlighting, '(isHighlightEnabled:', this.isHighlightEnabled, ', hasOnTimeUpdate:', !!this.audioProvider.onTimeUpdate, ')')
77
99
 
78
- // Response might be different type based on provided AUDIO_CONFIG
79
- if (typeof response.audioContent === 'string') {
80
- audioPath = `data:audio/mpeg;base64,${response.audioContent}`;
100
+ let audioPath;
101
+ let timepoints = [];
102
+ this.setCurrentPlayingId(messageId);
103
+ if (useHighlighting) {
104
+ const cached = this.highlightCache[cacheKey];
105
+ if (cached) {
106
+ audioPath = cached.audioPath;
107
+ timepoints = cached.timepoints;
81
108
  } else {
82
- audioPath = response?.audioContent ?? '';
109
+ const config = this.audioConfig;
110
+ const ssml = textToSSML(text);
111
+ const response = await this.api.textToSpeechTextFx({
112
+ input: {
113
+ ssml
114
+ },
115
+ voice: config?.voice ?? DEFAULT_VOICE,
116
+ audioConfig: config?.audioConfig ?? AUDIO_CONFIG,
117
+ enableTimePointing: ['SSML_MARK']
118
+ });
119
+ if (typeof response.audioContent === 'string') {
120
+ audioPath = `data:audio/mpeg;base64,${response.audioContent}`;
121
+ } else {
122
+ audioPath = response?.audioContent ?? '';
123
+ }
124
+ timepoints = response.timepoints ?? [];
125
+ this.highlightCache[cacheKey] = {
126
+ audioPath,
127
+ timepoints
128
+ };
129
+ }
130
+ this.setTimepoints(timepoints);
131
+ // console.log('[TTS Debug] Timepoints set:', timepoints.length, timepoints)
132
+ this.setupTimeTracking();
133
+ } else {
134
+ audioPath = this.audioCache[cacheKey];
135
+ if (!audioPath) {
136
+ const config = this.audioConfig;
137
+ const response = await this.api.textToSpeechTextFx({
138
+ input: {
139
+ text
140
+ },
141
+ voice: config?.voice ?? DEFAULT_VOICE,
142
+ audioConfig: config?.audioConfig ?? AUDIO_CONFIG,
143
+ enableTimePointing: []
144
+ });
145
+ if (typeof response.audioContent === 'string') {
146
+ audioPath = `data:audio/mpeg;base64,${response.audioContent}`;
147
+ } else {
148
+ audioPath = response?.audioContent ?? '';
149
+ }
150
+ this.audioCache[cacheKey] = audioPath;
83
151
  }
84
- this.audioCache[cacheKey] = audioPath;
85
152
  }
86
153
  this.setStatus(AudioStatus.PLAYING);
87
154
  await this.audioProvider.play(audioPath, () => {
88
- this.setStatus(AudioStatus.STOPPED);
89
- this.setCurrentPlayingId(null);
155
+ this.onPlaybackComplete();
90
156
  });
91
157
  } catch (error) {
92
158
  this.reset();
93
159
  console.error('Error playing text-to-speech: ', error);
94
160
  }
95
161
  }
96
- async playLatest() {
97
- const lastMessage = this.$currentChatData.getState().messages.at(-1);
98
- if (!lastMessage) return;
99
- const isTranslated = this.$isTranslated.getState();
100
- return this.play({
101
- message: lastMessage,
102
- isTranslated
162
+ setupTimeTracking() {
163
+ if (!this.audioProvider?.onTimeUpdate) {
164
+ // console.log('[TTS Debug] No onTimeUpdate on audioProvider!')
165
+ return;
166
+ }
167
+
168
+ // console.log('[TTS Debug] Setting up time tracking')
169
+ this.lastHighlightedIndex = null;
170
+ this.audioProvider.onTimeUpdate(time => {
171
+ const timepoints = this.$timepoints.getState();
172
+ const currentMark = findCurrentMark(timepoints, time);
173
+ if (!currentMark) return;
174
+ const match = currentMark.match(WORD_MARK_REGEX);
175
+ const newIndex = match ? parseInt(match[1], 10) : null;
176
+
177
+ // Only update if word index changed
178
+ if (newIndex !== this.lastHighlightedIndex) {
179
+ // console.log('[TTS Debug] Word changed:', this.lastHighlightedIndex, '→', newIndex)
180
+ this.lastHighlightedIndex = newIndex;
181
+ this.setTime(time);
182
+ }
103
183
  });
104
184
  }
185
+ onPlaybackComplete = () => {
186
+ this.setStatus(AudioStatus.STOPPED);
187
+ this.setCurrentPlayingId(null);
188
+ this.resetHighlight();
189
+ this.audioProvider?.onTimeUpdate?.(null);
190
+ };
191
+ resetHighlight() {
192
+ this.setTimepoints([]);
193
+ this.setTime(0);
194
+ this.lastHighlightedIndex = null;
195
+ }
105
196
  stop() {
106
197
  if (!this.audioProvider) throw new Error('Audio provider is not set. Use setAudioProvider.');
107
198
  this.audioProvider.stop();
@@ -110,6 +201,8 @@ export class ChatTextToSpeechModel {
110
201
  this.stop();
111
202
  this.setStatus(AudioStatus.STOPPED);
112
203
  this.setCurrentPlayingId(null);
204
+ this.resetHighlight();
205
+ this.audioProvider?.onTimeUpdate?.(null);
113
206
  });
114
207
  }
115
208
  //# sourceMappingURL=t2s.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["restore","createEvent","createEffect","AUDIO_CONFIG","DEFAULT_VOICE","AudioStatus","ChatTextToSpeechModel","audioCache","audioProvider","setCurrentPlayingId","$currentPlayingId","setStatus","$status","STOPPED","audioConfig","textSanitizer","value","constructor","api","$currentChatData","$isTranslated","setAudioConfig","config","setConfig","getCacheKey","messageId","isTranslated","play","message","Error","messageText","translatedMessage","id","text","status","getState","playingId","isPlaying","PLAYING","isPaused","PAUSED","isCurrentMessage","pause","resume","stop","cacheKey","audioPath","response","textToSpeechTextFx","input","voice","enableTimePointing","audioContent","error","reset","console","playLatest","lastMessage","messages","at"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/t2s.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["restore","createEvent","createEffect","combine","AUDIO_CONFIG","DEFAULT_VOICE","AudioStatus","textToSSML","WORD_MARK_REGEX","findCurrentMark","timepoints","time","i","length","timeSeconds","markName","undefined","ChatTextToSpeechModel","audioCache","highlightCache","audioProvider","isHighlightEnabled","lastHighlightedIndex","setCurrentPlayingId","$currentPlayingId","setStatus","$status","STOPPED","setTimepoints","$timepoints","setTime","$time","$highlightedWordIndex","status","PLAYING","currentMark","match","index","parseInt","$highlightState","highlightedWordIndex","playingId","audioConfig","textSanitizer","value","constructor","api","setAudioConfig","config","setConfig","getCacheKey","messageId","isTranslated","play","message","Error","messageText","translatedMessage","id","text","getState","isPlaying","isPaused","PAUSED","isCurrentMessage","pause","resume","stop","resetHighlight","cacheKey","useHighlighting","onTimeUpdate","audioPath","cached","ssml","response","textToSpeechTextFx","input","voice","enableTimePointing","audioContent","setupTimeTracking","onPlaybackComplete","error","reset","console","newIndex"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/t2s.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["AudioStatus"],"sourceRoot":"../../../../../src","sources":["features/chatbot/types/t2s.types.ts"],"mappings":";;AAEA,WAAYA,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["AudioStatus"],"sourceRoot":"../../../../../src","sources":["features/chatbot/types/t2s.types.ts"],"mappings":";;AAGA,WAAYA,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA","ignoreList":[]}
@@ -11,6 +11,5 @@ export * from "./features/problemSelector/index.js";
11
11
  export * from "./features/gifCelebrations/index.js";
12
12
  export * from "./features/exampleSolution/index.js";
13
13
  export * from "./features/keyboard/index.js";
14
- export * from "./features/openEnded/index.js";
15
14
  export * from "./shared/icons/index.js";
16
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useFeaturesLocalization","setFeaturesLocalization","Locale","generateRandomId"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,uBAAuB,EAAEC,uBAAuB,EAAEC,MAAM,QAAQ,+BAAsB;AAC/F,SAASC,gBAAgB,QAAQ,0BAAuB;AACxD,cAAc,6BAAoB;AAClC,cAAc,8BAAqB;AACnC,cAAc,kCAAyB;AACvC,cAAc,qCAA4B;AAC1C,cAAc,kCAAyB;AACvC,cAAc,qCAA4B;AAC1C,cAAc,qCAA4B;AAC1C,cAAc,qCAA4B;AAC1C,cAAc,8BAAqB;AACnC,cAAc,+BAAsB;AACpC,cAAc,yBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["useFeaturesLocalization","setFeaturesLocalization","Locale","generateRandomId"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,uBAAuB,EAAEC,uBAAuB,EAAEC,MAAM,QAAQ,+BAAsB;AAC/F,SAASC,gBAAgB,QAAQ,0BAAuB;AACxD,cAAc,6BAAoB;AAClC,cAAc,8BAAqB;AACnC,cAAc,kCAAyB;AACvC,cAAc,qCAA4B;AAC1C,cAAc,kCAAyB;AACvC,cAAc,qCAA4B;AAC1C,cAAc,qCAA4B;AAC1C,cAAc,qCAA4B;AAC1C,cAAc,8BAAqB;AACnC,cAAc,yBAAgB","ignoreList":[]}
@@ -1,4 +1,2 @@
1
1
  "use strict";
2
-
3
- export {};
4
2
  //# sourceMappingURL=common.types.js.map
@@ -1,6 +1,7 @@
1
1
  import React, { ComponentType, PropsWithChildren } from 'react';
2
2
  import { ChatbotModel } from '../../model/ChatBotModel';
3
3
  import { ColorScheme } from '../../types/style.types';
4
+ import { HighlightConfig } from '../../types/t2s.types';
4
5
  type ChatProps = {
5
6
  model: ChatbotModel;
6
7
  isHintFeedback: boolean;
@@ -8,7 +9,9 @@ type ChatProps = {
8
9
  isInputDisabled?: boolean;
9
10
  colorScheme?: ColorScheme;
10
11
  MessageWrapper?: ComponentType<PropsWithChildren>;
12
+ isHighlightEnabled?: boolean;
13
+ highlightConfig?: HighlightConfig;
11
14
  };
12
- export declare const Chat: ({ model, isHintFeedback, isTextToSpeechEnabled, isInputDisabled, colorScheme, MessageWrapper, }: ChatProps) => React.JSX.Element;
15
+ export declare const Chat: ({ model, isHintFeedback, isTextToSpeechEnabled, isInputDisabled, colorScheme, MessageWrapper, isHighlightEnabled, highlightConfig, }: ChatProps) => React.JSX.Element;
13
16
  export {};
14
17
  //# sourceMappingURL=Chat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/Chat/Chat.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAU,MAAM,OAAO,CAAA;AAIvE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AASrD,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,YAAY,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,cAAc,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;CAClD,CAAA;AAED,eAAO,MAAM,IAAI,oGAOd,SAAS,sBAuEX,CAAA"}
1
+ {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/Chat/Chat.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAU,MAAM,OAAO,CAAA;AAIvE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAQvD,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,YAAY,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,cAAc,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IACjD,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,CAAA;AAED,eAAO,MAAM,IAAI,yIASd,SAAS,sBA2EX,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { T2SState } from '../../types/t2s.types';
2
+ import { HighlightConfig, T2SState } from '../../types/t2s.types';
3
3
  import { MessageVariant } from '../../types/model.types';
4
4
  import { ConversationMessage } from '../../types/units.types';
5
5
  import { ColorScheme } from '../../types/style.types';
@@ -11,6 +11,8 @@ type ChatMessageProps = {
11
11
  withErrorSpotting?: boolean;
12
12
  withIcon?: boolean;
13
13
  colorScheme?: ColorScheme;
14
+ highlightedWordIndex?: number | null;
15
+ highlightConfig?: HighlightConfig;
14
16
  };
15
17
  export type VariantProps = Omit<ChatMessageProps, 'variant'>;
16
18
  export declare const ChatMessage: ({ variant, ...props }: ChatMessageProps) => React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatMessage/ChatMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAA;AAI5C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAErD,KAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,cAAc,CAAA;IACvB,OAAO,EAAE,mBAAmB,CAAA;IAC5B,QAAQ,EAAE,QAAQ,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAA;AAO5D,eAAO,MAAM,WAAW,0BAA2B,gBAAgB,sBAGlE,CAAA"}
1
+ {"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatMessage/ChatMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAA;AAI5C,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAErD,KAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,cAAc,CAAA;IACvB,OAAO,EAAE,mBAAmB,CAAA;IAC5B,QAAQ,EAAE,QAAQ,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAA;AAO5D,eAAO,MAAM,WAAW,0BAA2B,gBAAgB,sBAGlE,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ConversationMessage } from '../../types/units.types';
3
- import { T2SState } from '../../types/t2s.types';
3
+ import { HighlightConfig, T2SState } from '../../types/t2s.types';
4
4
  import { ColorScheme } from '../../types/style.types';
5
5
  import { MessageVariant } from '../../types/model.types';
6
6
  type MessageContentProps = {
@@ -10,7 +10,9 @@ type MessageContentProps = {
10
10
  variant: MessageVariant;
11
11
  colorScheme?: ColorScheme;
12
12
  withErrorSpotting?: boolean;
13
+ highlightedWordIndex?: number | null;
14
+ highlightConfig?: HighlightConfig;
13
15
  };
14
- export declare const MessageContent: ({ message, text, t2sState, variant, colorScheme, withErrorSpotting, }: MessageContentProps) => React.JSX.Element;
16
+ export declare const MessageContent: ({ message, text, t2sState, variant, colorScheme, withErrorSpotting, highlightedWordIndex, highlightConfig, }: MessageContentProps) => React.JSX.Element;
15
17
  export {};
16
18
  //# sourceMappingURL=MessageContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageContent.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatMessage/MessageContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAIrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,mBAAmB,CAAA;IAC5B,QAAQ,EAAE,QAAQ,CAAA;IAClB,OAAO,EAAE,cAAc,CAAA;IACvB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAiDD,eAAO,MAAM,cAAc,0EAlBxB,mBAAmB,sBAqBpB,CAAA"}
1
+ {"version":3,"file":"MessageContent.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatMessage/MessageContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAIrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,mBAAmB,CAAA;IAC5B,QAAQ,EAAE,QAAQ,CAAA;IAClB,OAAO,EAAE,cAAc,CAAA;IACvB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,CAAA;AA0ED,eAAO,MAAM,cAAc,iHA5BxB,mBAAmB,sBA+BpB,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { VariantProps } from './ChatMessage';
3
- export declare const ReceivedMessage: ({ message, isTranslated, t2sState, withIcon, colorScheme, withErrorSpotting, }: VariantProps) => React.JSX.Element;
3
+ export declare const ReceivedMessage: ({ message, isTranslated, t2sState, withIcon, colorScheme, withErrorSpotting, highlightedWordIndex, highlightConfig, }: VariantProps) => React.JSX.Element;
4
4
  //# sourceMappingURL=ReceivedMessage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReceivedMessage.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatMessage/ReceivedMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAM5C,eAAO,MAAM,eAAe,mFAOzB,YAAY,sBAuBd,CAAA"}
1
+ {"version":3,"file":"ReceivedMessage.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/chatbot/components/ChatMessage/ReceivedMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAM5C,eAAO,MAAM,eAAe,0HASzB,YAAY,sBAyBd,CAAA"}
@@ -2,6 +2,7 @@ import React, { ComponentType, PropsWithChildren } from 'react';
2
2
  import { ChatbotModel } from '../model/ChatBotModel';
3
3
  import { AUDIO_CONFIG, DEFAULT_VOICE } from '../constants';
4
4
  import { ColorScheme } from '../types/style.types';
5
+ import { HighlightConfig } from '../types/t2s.types';
5
6
  type ChatbotProps = {
6
7
  model: ChatbotModel;
7
8
  isHintFeedback: boolean;
@@ -17,7 +18,9 @@ type ChatbotProps = {
17
18
  };
18
19
  isInputDisabled?: boolean;
19
20
  colorScheme?: ColorScheme;
21
+ isHighlightEnabled?: boolean;
22
+ highlightConfig?: HighlightConfig;
20
23
  };
21
- export declare const Chatbot: ({ model, isHintFeedback, isTextToSpeechEnabled, isInputDisabled, textToSpeechConfig, ButtonWrapper, iconSize, colorScheme, }: ChatbotProps) => React.JSX.Element | null;
24
+ export declare const Chatbot: ({ model, isHintFeedback, isTextToSpeechEnabled, isInputDisabled, textToSpeechConfig, ButtonWrapper, iconSize, colorScheme, isHighlightEnabled, highlightConfig, }: ChatbotProps) => React.JSX.Element | null;
22
25
  export {};
23
26
  //# sourceMappingURL=Chatbot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chatbot.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/components/Chatbot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAA;AAGxE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAGpD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,YAAY,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,kBAAkB,CAAC,EAAE;QACnB,KAAK,EAAE,OAAO,aAAa,CAAA;QAC3B,WAAW,EAAE,OAAO,YAAY,CAAA;KACjC,CAAA;IACD,aAAa,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAChD,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,OAAO,iIASjB,YAAY,6BAyCd,CAAA"}
1
+ {"version":3,"file":"Chatbot.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/components/Chatbot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAA;AAGxE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAGpD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,YAAY,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,kBAAkB,CAAC,EAAE;QACnB,KAAK,EAAE,OAAO,aAAa,CAAA;QAC3B,WAAW,EAAE,OAAO,YAAY,CAAA;KACjC,CAAA;IACD,aAAa,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAChD,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,CAAA;AAED,eAAO,MAAM,OAAO,sKAWjB,YAAY,6BA2Cd,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Converts plain text to SSML with word marks for TTS highlighting.
3
+ * "Hello world" -> '<speak><mark name="w_0"/>Hello <mark name="w_1"/>world</speak>'
4
+ */
5
+ export declare const textToSSML: (text: string) => string;
6
+ export declare const getWordCount: (text: string) => number;
7
+ //# sourceMappingURL=textToSSML.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textToSSML.d.ts","sourceRoot":"","sources":["../../../../../../src/features/chatbot/helpers/textToSSML.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,MAMzC,CAAA;AAED,eAAO,MAAM,YAAY,SAAU,MAAM,KAAG,MAE3C,CAAA"}
@@ -1,6 +1,6 @@
1
1
  export { Chatbot } from './components/Chatbot';
2
2
  export { ChatbotModel } from './model/ChatBotModel';
3
- export { AudioStatus, type AudioProvider } from './types/t2s.types';
3
+ export { AudioStatus, type AudioProvider, type HighlightConfig } from './types/t2s.types';
4
4
  export { MessageVariant, type ChatbotModelProps, type IChatDrawBoardAdapter, } from './types/model.types';
5
5
  export type { PostMessageResponse } from './types/api.types';
6
6
  export { DefaultMessagesCreator } from './model/DefaultMessageCreator';