@magmamath/students-features 0.9.111-rc-1 → 0.9.111-rc.5

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 (186) hide show
  1. package/dist/commonjs/features/chatbot/TTS_HIGHLIGHTING.md +69 -58
  2. package/dist/commonjs/features/chatbot/components/Chat/Chat.js +31 -25
  3. package/dist/commonjs/features/chatbot/components/Chat/Chat.js.map +1 -1
  4. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js +6 -10
  5. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
  6. package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js +2 -2
  7. package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -1
  8. package/dist/commonjs/features/chatbot/components/Chatbot.js +2 -4
  9. package/dist/commonjs/features/chatbot/components/Chatbot.js.map +1 -1
  10. package/dist/commonjs/features/chatbot/constants.js +2 -1
  11. package/dist/commonjs/features/chatbot/constants.js.map +1 -1
  12. package/dist/commonjs/features/chatbot/helpers/{textToSSML.js → ttsHighlight.js} +10 -5
  13. package/dist/commonjs/features/chatbot/helpers/ttsHighlight.js.map +1 -0
  14. package/dist/commonjs/features/chatbot/model/ChatBotModel.js +7 -5
  15. package/dist/commonjs/features/chatbot/model/ChatBotModel.js.map +1 -1
  16. package/dist/commonjs/features/chatbot/model/ChatTTSHighlightModel.js +56 -0
  17. package/dist/commonjs/features/chatbot/model/ChatTTSHighlightModel.js.map +1 -0
  18. package/dist/commonjs/features/chatbot/model/ChatTTSModel.js +154 -0
  19. package/dist/commonjs/features/chatbot/model/ChatTTSModel.js.map +1 -0
  20. package/dist/commonjs/features/chatbot/types/t2s.types.js.map +1 -1
  21. package/dist/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.js +34 -0
  22. package/dist/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.js.map +1 -0
  23. package/dist/commonjs/features/openEnded/components/OpenEndedScoreLabel.js +68 -0
  24. package/dist/commonjs/features/openEnded/components/OpenEndedScoreLabel.js.map +1 -0
  25. package/dist/commonjs/features/openEnded/index.js +48 -0
  26. package/dist/commonjs/features/openEnded/index.js.map +1 -0
  27. package/dist/commonjs/features/openEnded/oe.helpers.js +26 -0
  28. package/dist/commonjs/features/openEnded/oe.helpers.js.map +1 -0
  29. package/dist/commonjs/features/openEnded/oe.types.js +14 -0
  30. package/dist/commonjs/features/openEnded/oe.types.js.map +1 -0
  31. package/dist/commonjs/index.js +13 -1
  32. package/dist/commonjs/index.js.map +1 -1
  33. package/dist/commonjs/shared/common.constants.js +9 -0
  34. package/dist/commonjs/shared/common.constants.js.map +1 -0
  35. package/dist/commonjs/types/common.types.js +4 -0
  36. package/dist/module/features/chatbot/TTS_HIGHLIGHTING.md +69 -58
  37. package/dist/module/features/chatbot/components/Chat/Chat.js +31 -25
  38. package/dist/module/features/chatbot/components/Chat/Chat.js.map +1 -1
  39. package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js +6 -10
  40. package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
  41. package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js +2 -2
  42. package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -1
  43. package/dist/module/features/chatbot/components/Chatbot.js +2 -4
  44. package/dist/module/features/chatbot/components/Chatbot.js.map +1 -1
  45. package/dist/module/features/chatbot/constants.js +1 -0
  46. package/dist/module/features/chatbot/constants.js.map +1 -1
  47. package/dist/module/features/chatbot/helpers/{textToSSML.js → ttsHighlight.js} +8 -3
  48. package/dist/module/features/chatbot/helpers/ttsHighlight.js.map +1 -0
  49. package/dist/module/features/chatbot/index.js.map +1 -1
  50. package/dist/module/features/chatbot/model/ChatBotModel.js +7 -5
  51. package/dist/module/features/chatbot/model/ChatBotModel.js.map +1 -1
  52. package/dist/module/features/chatbot/model/ChatTTSHighlightModel.js +52 -0
  53. package/dist/module/features/chatbot/model/ChatTTSHighlightModel.js.map +1 -0
  54. package/dist/module/features/chatbot/model/ChatTTSModel.js +149 -0
  55. package/dist/module/features/chatbot/model/ChatTTSModel.js.map +1 -0
  56. package/dist/module/features/chatbot/types/t2s.types.js.map +1 -1
  57. package/dist/module/features/openEnded/components/OpenEndedAttemptsLimit.js +28 -0
  58. package/dist/module/features/openEnded/components/OpenEndedAttemptsLimit.js.map +1 -0
  59. package/dist/module/features/openEnded/components/OpenEndedScoreLabel.js +62 -0
  60. package/dist/module/features/openEnded/components/OpenEndedScoreLabel.js.map +1 -0
  61. package/dist/module/features/openEnded/index.js +7 -0
  62. package/dist/module/features/openEnded/index.js.map +1 -0
  63. package/dist/module/features/openEnded/oe.helpers.js +21 -0
  64. package/dist/module/features/openEnded/oe.helpers.js.map +1 -0
  65. package/dist/module/features/openEnded/oe.types.js +10 -0
  66. package/dist/module/features/openEnded/oe.types.js.map +1 -0
  67. package/dist/module/index.js +1 -0
  68. package/dist/module/index.js.map +1 -1
  69. package/dist/module/shared/common.constants.js +5 -0
  70. package/dist/module/shared/common.constants.js.map +1 -0
  71. package/dist/module/types/common.types.js +2 -0
  72. package/dist/typescript/commonjs/features/chatbot/components/Chat/Chat.d.ts +3 -4
  73. package/dist/typescript/commonjs/features/chatbot/components/Chat/Chat.d.ts.map +1 -1
  74. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ChatMessage.d.ts +3 -3
  75. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ChatMessage.d.ts.map +1 -1
  76. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageContent.d.ts +4 -4
  77. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
  78. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts +1 -1
  79. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -1
  80. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts +3 -4
  81. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts.map +1 -1
  82. package/dist/typescript/commonjs/features/chatbot/constants.d.ts +1 -0
  83. package/dist/typescript/commonjs/features/chatbot/constants.d.ts.map +1 -1
  84. package/dist/typescript/commonjs/features/chatbot/helpers/{textToSSML.d.ts → ttsHighlight.d.ts} +3 -2
  85. package/dist/typescript/commonjs/features/chatbot/helpers/ttsHighlight.d.ts.map +1 -0
  86. package/dist/typescript/commonjs/features/chatbot/index.d.ts +1 -1
  87. package/dist/typescript/commonjs/features/chatbot/index.d.ts.map +1 -1
  88. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts +3 -2
  89. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  90. package/dist/typescript/commonjs/features/chatbot/model/ChatTTSHighlightModel.d.ts +25 -0
  91. package/dist/typescript/commonjs/features/chatbot/model/ChatTTSHighlightModel.d.ts.map +1 -0
  92. package/dist/typescript/commonjs/features/chatbot/model/ChatTTSModel.d.ts +38 -0
  93. package/dist/typescript/commonjs/features/chatbot/model/ChatTTSModel.d.ts.map +1 -0
  94. package/dist/typescript/commonjs/features/chatbot/types/t2s.types.d.ts +23 -8
  95. package/dist/typescript/commonjs/features/chatbot/types/t2s.types.d.ts.map +1 -1
  96. package/dist/typescript/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.d.ts +7 -0
  97. package/dist/typescript/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.d.ts.map +1 -0
  98. package/dist/typescript/commonjs/features/openEnded/components/OpenEndedScoreLabel.d.ts +12 -0
  99. package/dist/typescript/commonjs/features/openEnded/components/OpenEndedScoreLabel.d.ts.map +1 -0
  100. package/dist/typescript/commonjs/features/openEnded/index.d.ts +5 -0
  101. package/dist/typescript/commonjs/features/openEnded/index.d.ts.map +1 -0
  102. package/dist/typescript/commonjs/features/openEnded/oe.helpers.d.ts +13 -0
  103. package/dist/typescript/commonjs/features/openEnded/oe.helpers.d.ts.map +1 -0
  104. package/dist/typescript/commonjs/features/openEnded/oe.types.d.ts +7 -0
  105. package/dist/typescript/commonjs/features/openEnded/oe.types.d.ts.map +1 -0
  106. package/dist/typescript/commonjs/index.d.ts +1 -0
  107. package/dist/typescript/commonjs/index.d.ts.map +1 -1
  108. package/dist/typescript/commonjs/shared/common.constants.d.ts +2 -0
  109. package/dist/typescript/commonjs/shared/common.constants.d.ts.map +1 -0
  110. package/dist/typescript/commonjs/types/common.types.d.ts +2 -0
  111. package/dist/typescript/commonjs/types/common.types.d.ts.map +1 -1
  112. package/dist/typescript/module/features/chatbot/components/Chat/Chat.d.ts +3 -4
  113. package/dist/typescript/module/features/chatbot/components/Chat/Chat.d.ts.map +1 -1
  114. package/dist/typescript/module/features/chatbot/components/ChatMessage/ChatMessage.d.ts +3 -3
  115. package/dist/typescript/module/features/chatbot/components/ChatMessage/ChatMessage.d.ts.map +1 -1
  116. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageContent.d.ts +4 -4
  117. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
  118. package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts +1 -1
  119. package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -1
  120. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts +3 -4
  121. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts.map +1 -1
  122. package/dist/typescript/module/features/chatbot/constants.d.ts +1 -0
  123. package/dist/typescript/module/features/chatbot/constants.d.ts.map +1 -1
  124. package/dist/typescript/module/features/chatbot/helpers/{textToSSML.d.ts → ttsHighlight.d.ts} +3 -2
  125. package/dist/typescript/module/features/chatbot/helpers/ttsHighlight.d.ts.map +1 -0
  126. package/dist/typescript/module/features/chatbot/index.d.ts +1 -1
  127. package/dist/typescript/module/features/chatbot/index.d.ts.map +1 -1
  128. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts +3 -2
  129. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  130. package/dist/typescript/module/features/chatbot/model/ChatTTSHighlightModel.d.ts +25 -0
  131. package/dist/typescript/module/features/chatbot/model/ChatTTSHighlightModel.d.ts.map +1 -0
  132. package/dist/typescript/module/features/chatbot/model/ChatTTSModel.d.ts +38 -0
  133. package/dist/typescript/module/features/chatbot/model/ChatTTSModel.d.ts.map +1 -0
  134. package/dist/typescript/module/features/chatbot/types/t2s.types.d.ts +23 -8
  135. package/dist/typescript/module/features/chatbot/types/t2s.types.d.ts.map +1 -1
  136. package/dist/typescript/module/features/openEnded/components/OpenEndedAttemptsLimit.d.ts +7 -0
  137. package/dist/typescript/module/features/openEnded/components/OpenEndedAttemptsLimit.d.ts.map +1 -0
  138. package/dist/typescript/module/features/openEnded/components/OpenEndedScoreLabel.d.ts +12 -0
  139. package/dist/typescript/module/features/openEnded/components/OpenEndedScoreLabel.d.ts.map +1 -0
  140. package/dist/typescript/module/features/openEnded/index.d.ts +5 -0
  141. package/dist/typescript/module/features/openEnded/index.d.ts.map +1 -0
  142. package/dist/typescript/module/features/openEnded/oe.helpers.d.ts +13 -0
  143. package/dist/typescript/module/features/openEnded/oe.helpers.d.ts.map +1 -0
  144. package/dist/typescript/module/features/openEnded/oe.types.d.ts +7 -0
  145. package/dist/typescript/module/features/openEnded/oe.types.d.ts.map +1 -0
  146. package/dist/typescript/module/index.d.ts +1 -0
  147. package/dist/typescript/module/index.d.ts.map +1 -1
  148. package/dist/typescript/module/shared/common.constants.d.ts +2 -0
  149. package/dist/typescript/module/shared/common.constants.d.ts.map +1 -0
  150. package/dist/typescript/module/types/common.types.d.ts +2 -0
  151. package/dist/typescript/module/types/common.types.d.ts.map +1 -1
  152. package/package.json +1 -1
  153. package/src/features/chatbot/TTS_HIGHLIGHTING.md +69 -58
  154. package/src/features/chatbot/components/Chat/Chat.tsx +36 -31
  155. package/src/features/chatbot/components/ChatMessage/ChatMessage.tsx +3 -3
  156. package/src/features/chatbot/components/ChatMessage/MessageContent.tsx +11 -16
  157. package/src/features/chatbot/components/ChatMessage/ReceivedMessage.tsx +2 -2
  158. package/src/features/chatbot/components/Chatbot.tsx +4 -7
  159. package/src/features/chatbot/constants.ts +2 -0
  160. package/src/features/chatbot/helpers/{textToSSML.ts → ttsHighlight.ts} +9 -2
  161. package/src/features/chatbot/index.ts +1 -1
  162. package/src/features/chatbot/model/ChatBotModel.ts +10 -5
  163. package/src/features/chatbot/model/ChatTTSHighlightModel.ts +64 -0
  164. package/src/features/chatbot/model/ChatTTSModel.ts +168 -0
  165. package/src/features/chatbot/types/t2s.types.ts +30 -4
  166. package/src/features/openEnded/components/OpenEndedAttemptsLimit.tsx +26 -0
  167. package/src/features/openEnded/components/OpenEndedScoreLabel.tsx +68 -0
  168. package/src/features/openEnded/index.ts +4 -0
  169. package/src/features/openEnded/oe.helpers.ts +31 -0
  170. package/src/features/openEnded/oe.types.ts +6 -0
  171. package/src/index.ts +1 -0
  172. package/src/shared/common.constants.ts +3 -0
  173. package/src/types/common.types.ts +4 -0
  174. package/dist/commonjs/features/chatbot/helpers/textToSSML.js.map +0 -1
  175. package/dist/commonjs/features/chatbot/model/t2s.js +0 -213
  176. package/dist/commonjs/features/chatbot/model/t2s.js.map +0 -1
  177. package/dist/module/features/chatbot/helpers/textToSSML.js.map +0 -1
  178. package/dist/module/features/chatbot/model/t2s.js +0 -208
  179. package/dist/module/features/chatbot/model/t2s.js.map +0 -1
  180. package/dist/typescript/commonjs/features/chatbot/helpers/textToSSML.d.ts.map +0 -1
  181. package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts +0 -52
  182. package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts.map +0 -1
  183. package/dist/typescript/module/features/chatbot/helpers/textToSSML.d.ts.map +0 -1
  184. package/dist/typescript/module/features/chatbot/model/t2s.d.ts +0 -52
  185. package/dist/typescript/module/features/chatbot/model/t2s.d.ts.map +0 -1
  186. package/src/features/chatbot/model/t2s.ts +0 -253
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Overview
4
4
 
5
- Word-by-word text highlighting synchronized with text-to-speech playback in the chatbot. The feature is optional and enabled via props.
5
+ Word-by-word text highlighting synchronized with text-to-speech playback in the chatbot. The feature is optional and enabled via `isWordHighlightEnabled` config flag.
6
6
 
7
7
  ## How It Works
8
8
 
@@ -18,7 +18,7 @@ Word-by-word text highlighting synchronized with text-to-speech playback in the
18
18
  │ [{ markName: "w_0", timeSeconds: 0.0 }, │
19
19
  │ { markName: "w_1", timeSeconds: 0.5 }] │
20
20
  │ ↓ │
21
- │ 4. Audio plays, ontimeupdate fires (~4x/sec)
21
+ │ 4. Audio plays, onTimeUpdate fires via RAF loop
22
22
  │ ↓ │
23
23
  │ 5. Current time → find matching timepoint → word index │
24
24
  │ ↓ │
@@ -33,77 +33,88 @@ Word-by-word text highlighting synchronized with text-to-speech playback in the
33
33
  chatModel.bot.setUpT2S({
34
34
  audioProvider: createT2SAudioProvider(),
35
35
  textSanitizer: removeKatexPartFromTextToSpeech,
36
- isHighlightEnabled: true, // Enable highlighting
36
+ isWordHighlightEnabled: true,
37
37
  })
38
-
39
- // In component
40
- <Chatbot
41
- model={chatModel.bot}
42
- isHighlightEnabled={true}
43
- highlightConfig={{
44
- MessageRenderer: ChatbotHighlightedMessage,
45
- }}
46
- />
47
38
  ```
48
39
 
49
- ## Files Modified
40
+ ## Architecture
50
41
 
51
- ### students-features
42
+ ### ChatTTSModel (ChatTTSModel.ts)
52
43
 
53
- | File | Changes |
54
- |------|---------|
55
- | `types/t2s.types.ts` | Added `onTimeUpdate`, `getCurrentTime` to AudioProvider; added `HighlightConfig` type |
56
- | `types/api.types.ts` | Added `ssml` option to GoogleText2SpeechPayload input |
57
- | `helpers/textToSSML.ts` | NEW - Converts text to SSML with word marks |
58
- | `model/t2s.ts` | Added `$highlightedWordIndex`, `$timepoints`, `$time` stores; SSML/timepoint handling |
59
- | `components/Chatbot.tsx` | Added `isHighlightEnabled`, `highlightConfig` props |
60
- | `components/Chat/Chat.tsx` | Passes highlight state to ChatMessage |
61
- | `components/ChatMessage/*` | Passes highlight props through component chain |
62
- | `components/ChatMessage/MessageContent.tsx` | Renders custom MessageRenderer when provided |
63
-
64
- ### students-web
65
-
66
- | File | Changes |
67
- |------|---------|
68
- | `chatbot/helpers.ts` | Added `onTimeUpdate`, `getCurrentTime` to AudioProvider |
69
- | `chatbot/components/ChatbotHighlightedMessage.tsx` | NEW - Renders words with highlight styling |
70
- | `chatbot/components/ChatbotHighlightedMessage.module.scss` | NEW - Yellow highlight styles |
71
- | `chatbot/model/model.ts` | Enabled `isHighlightEnabled: true` |
72
- | `PracticeMode/chatbot/PracticeChatbot.tsx` | Passes highlightConfig with MessageRenderer |
73
-
74
- ## Key Components
75
-
76
- ### textToSSML (students-features)
77
- ```ts
78
- textToSSML("Hello world")
79
- // → '<speak><mark name="w_0"/>Hello <mark name="w_1"/>world</speak>'
80
- ```
44
+ Handles TTS playback and word highlighting. Key design decisions:
81
45
 
82
- ### $highlightedWordIndex (students-features)
83
- Effector store that computes current word index from timepoints + playback time.
46
+ - **Map-based cache** — `audioCache: Map<string, AudioCache>` stores both `audioPath` and `timepoints` per message. When highlighting is off, `timepoints` is `[]`. Cache lives for the model's lifetime (cleared when user leaves the problem).
47
+ - **`fetchAudio()` method** encapsulates API call + audioContent decoding. Highlight vs non-highlight differences are ternaries (SSML vs plain text, `enableTimePointing`).
48
+ - **`play()` is linear** — cache lookup → fetch if miss → store → activate highlight if enabled → play audio. No branching between highlight/non-highlight paths.
49
+ - **Pause/resume guards** — `wordHighlightEnabled` check before toggling `setIsActive(false)`/`setIsActive(true)` on pause/resume.
50
+ - **`wordHighlightEnabled` (private)** — stored result of `!!isWordHighlightEnabled && !!audioProvider.onTimeUpdate`. Set once at `setConfig`.
51
+ - **`isWordHighlightEnabled` (public getter)** — read-only access for external consumers (e.g. `Chat.tsx`).
84
52
 
85
- ### ChatbotHighlightedMessage (students-web)
86
- ```tsx
87
- // Splits text, highlights word at highlightedIndex
88
- <span className={isHighlighted ? styles.Highlighted : undefined}>
89
- {word}
90
- </span>
53
+ ### AudioProvider type
54
+
55
+ ```typescript
56
+ type AudioProvider = {
57
+ play: (audioPath: string, onPlaybackComplete: () => void) => Promise<void>
58
+ pause: () => void
59
+ resume: () => void
60
+ stop: () => void
61
+ onTimeUpdate?: OnTimeUpdate // optional — presence enables highlight capability
62
+ }
91
63
  ```
92
64
 
65
+ `onTimeUpdate` is optional. It's the mechanism that syncs audio playback time with word highlights via a RAF loop. If the provider doesn't have it, highlighting won't activate even if `isWordHighlightEnabled: true`.
66
+
67
+ ### ChatTTSHighlightModel (ChatTTSHighlightModel.ts)
68
+
69
+ Manages highlight state using Effector stores with declarative reset. Receives `OnTimeUpdate` callback directly (not the whole `AudioProvider`).
70
+
71
+ - **`$isActive`** — gates `$highlightedWordIndex` computation. Toggled on pause/resume without resetting timepoints.
72
+ - **`$highlightedWordIndex`** — derived store, returns `-1` when inactive or no match. Parses mark name via `WORD_MARK_REGEX`.
73
+ - **`activate(timepoints, onTimeUpdate)`** — sets timepoints, enables highlighting, registers time update callback. Only triggers store updates when the highlighted word actually changes (`lastMark` comparison).
74
+ - **`deactivate(onTimeUpdate)`** — stops listening, resets all state via declarative `.reset()` chain.
75
+ - **All stores use `.reset(this.reset)`** — single `reset` event clears `$time`, `$timepoints`, and `$isActive`.
76
+
77
+ ### Helpers (helpers/ttsHighlight.ts)
78
+
79
+ - **`textToSSML(text)`** — converts plain text to SSML with `<mark>` tags for word timing.
80
+ - **`findCurrentMark(timepoints, time)`** — iterates backwards through timepoints to find the current mark. Efficient for linear playback.
81
+
82
+ ### Constants (constants.ts)
83
+
84
+ - **`WORD_MARK_REGEX`** — `/^w_(\d+)$/` — extracts word index from mark names like `w_0`, `w_1`.
85
+
86
+ ### Naming conventions
87
+
88
+ | Name | Scope | Purpose |
89
+ |------|-------|---------|
90
+ | `wordHighlight` | public instance | `ChatTTSHighlightModel` instance on `ChatTTSModel` |
91
+ | `wordHighlightEnabled` | private field | Whether highlighting is active (set once at config) |
92
+ | `isWordHighlightEnabled` | public getter | Read-only access to `wordHighlightEnabled` for external consumers |
93
+ | `isWordHighlightEnabled` | T2SConfig field | Config flag passed to `setUpT2S()` |
94
+
93
95
  ## Data Flow
94
96
 
95
97
  ```
96
- AudioProvider.onTimeUpdate(time)
97
-
98
- t2s.setTime(time)
98
+ AudioProvider.onTimeUpdate(callback)
99
99
 
100
- $highlightedWordIndex = findCurrentMark(timepoints, time) → parse index
100
+ ChatTTSHighlightModel.activate(timepoints, onTimeUpdate)
101
101
 
102
- Chat.tsx: useUnit(model.t2s.$highlightedWordIndex)
102
+ RAF loop → audio.currentTime → findCurrentMark() → only updates when mark changes
103
103
 
104
- ChatMessage ReceivedMessageMessageContent
104
+ $highlightedWordIndex = parse mark name "w_N" N (or -1 if inactive/no match)
105
105
 
106
- MessageRenderer({ text, highlightedIndex })
106
+ Chat.tsx: model.t2s.isWordHighlightEnabled && isPlayingMessage ? highlightedWordIndex : -1
107
107
 
108
- ChatbotHighlightedMessage renders highlighted word
108
+ ChatMessage MessageContent → TTSHighlightRenderer({ text, highlightedIndex })
109
109
  ```
110
+
111
+ ## Key Files
112
+
113
+ | File | Purpose |
114
+ |------|---------|
115
+ | `model/ChatTTSModel.ts` | `ChatTTSModel` — TTS playback, caching, highlight orchestration |
116
+ | `model/ChatTTSHighlightModel.ts` | Highlight state — timepoints, current time, `$isActive`, derived word index |
117
+ | `helpers/ttsHighlight.ts` | `textToSSML` + `findCurrentMark` — SSML conversion and playback position lookup |
118
+ | `constants.ts` | `WORD_MARK_REGEX` and audio config defaults |
119
+ | `types/t2s.types.ts` | `AudioProvider`, `OnTimeUpdate`, `AudioStatus`, `AudioCache`, `TTSHighlightRendererProps` types |
120
+ | `components/Chat/Chat.tsx` | Reads `isWordHighlightEnabled` and `$highlightedWordIndex`, passes to messages |
@@ -28,19 +28,18 @@ const Chat = ({
28
28
  isInputDisabled,
29
29
  colorScheme = _styleTypes.ColorScheme.Blue,
30
30
  MessageWrapper,
31
- isHighlightEnabled = false,
32
- highlightConfig
31
+ TTSHighlightRenderer
33
32
  }) => {
34
33
  const dimensions = (0, _reactNative.useWindowDimensions)();
35
34
  const ref = (0, _react.useRef)(null);
36
35
  const isOpen = (0, _effectorReact.useUnit)(model.$isOpen);
37
36
  const isHelpRequestPending = (0, _effectorReact.useUnit)(model.sendHelpRequestFx.pending);
38
37
  const isTextToSpeechPending = (0, _effectorReact.useUnit)(model.api.textToSpeechTextFx.pending);
38
+ const audioStatus = (0, _effectorReact.useUnit)(model.t2s.$status);
39
39
  const currentPlayingId = (0, _effectorReact.useUnit)(model.t2s.$currentPlayingId);
40
+ const highlightedWordIndex = (0, _effectorReact.useUnit)(model.t2s.wordHighlight.$highlightedWordIndex);
40
41
  const isTranslated = (0, _effectorReact.useUnit)(model.translation.$isTranslated);
41
- const audioStatus = (0, _effectorReact.useUnit)(model.t2s.$status);
42
42
  const errorSpottingEnabled = (0, _effectorReact.useUnit)(model.errorSpotting.$isEnabled);
43
- const highlightedWordIndex = (0, _effectorReact.useUnit)(model.t2s.$highlightedWordIndex);
44
43
  const messages = (0, _effectorReact.useStoreMap)(model.$currentChatData, ({
45
44
  messages
46
45
  }) => messages);
@@ -63,27 +62,34 @@ const Chat = ({
63
62
  },
64
63
  children: [isOpen && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
65
64
  style: [styles.gap, isInputDisabled && styles.messagesWithoutInput],
66
- children: [messages.map(message => /*#__PURE__*/(0, _jsxRuntime.jsx)(_ConditionalWrapper.ConditionalWrapper, {
67
- withWrapper: shouldWrapMessage,
68
- Wrapper: MessageWrapper,
69
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChatMessage.ChatMessage, {
70
- isTranslated: isTranslated,
71
- withIcon: !message.isOwnMessage && message.id === lastMessageId,
72
- message: message,
73
- variant: message.isOwnMessage ? _modelTypes.MessageVariant.SENT : _modelTypes.MessageVariant.RECEIVED,
74
- colorScheme: colorScheme,
75
- withErrorSpotting: errorSpottingEnabled && !message.isOwnMessage,
76
- t2sState: {
77
- isEnabled: isTextToSpeechEnabled && !message.isOwnMessage,
78
- isActive: message.id === currentPlayingId,
79
- isLoading: isTextToSpeechPending,
80
- status: audioStatus,
81
- disabled: isTextToSpeechPending
82
- },
83
- highlightedWordIndex: isHighlightEnabled && message.id === currentPlayingId ? highlightedWordIndex : null,
84
- highlightConfig: highlightConfig
85
- }, message.id)
86
- })), isHelpRequestPending && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MessageLoader.MessageLoader, {
65
+ children: [messages.map((message, index) => {
66
+ const key = `${message.id}-${index}`;
67
+ const isPlayingMessage = message.id === currentPlayingId;
68
+ const messageHighlightIndex = model.t2s.isWordHighlightEnabled && isPlayingMessage ? highlightedWordIndex : -1;
69
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.default.Fragment, {
70
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ConditionalWrapper.ConditionalWrapper, {
71
+ withWrapper: shouldWrapMessage,
72
+ Wrapper: MessageWrapper,
73
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChatMessage.ChatMessage, {
74
+ isTranslated: isTranslated,
75
+ withIcon: !message.isOwnMessage && message.id === lastMessageId,
76
+ message: message,
77
+ variant: message.isOwnMessage ? _modelTypes.MessageVariant.SENT : _modelTypes.MessageVariant.RECEIVED,
78
+ colorScheme: colorScheme,
79
+ withErrorSpotting: errorSpottingEnabled && !message.isOwnMessage,
80
+ highlightedWordIndex: messageHighlightIndex,
81
+ TTSHighlightRenderer: TTSHighlightRenderer,
82
+ t2sState: {
83
+ isEnabled: isTextToSpeechEnabled && !message.isOwnMessage,
84
+ isActive: isPlayingMessage,
85
+ isLoading: isTextToSpeechPending,
86
+ status: audioStatus,
87
+ disabled: isTextToSpeechPending
88
+ }
89
+ })
90
+ })
91
+ }, key);
92
+ }), isHelpRequestPending && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MessageLoader.MessageLoader, {
87
93
  colorScheme: colorScheme
88
94
  })]
89
95
  }), isOpen && !isInputDisabled && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChatInput.ChatInput, {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_effectorReact","_ChatMessage","_MessageLoader","_ChatInput","_modelTypes","_styleTypes","_ConditionalWrapper","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TOOLBAR_HEIGHT","BOTTOM_OFFSET","Platform","select","web","Chat","model","isHintFeedback","isTextToSpeechEnabled","isInputDisabled","colorScheme","ColorScheme","Blue","MessageWrapper","isHighlightEnabled","highlightConfig","dimensions","useWindowDimensions","ref","useRef","isOpen","useUnit","$isOpen","isHelpRequestPending","sendHelpRequestFx","pending","isTextToSpeechPending","api","textToSpeechTextFx","currentPlayingId","t2s","$currentPlayingId","isTranslated","translation","$isTranslated","audioStatus","$status","errorSpottingEnabled","errorSpotting","$isEnabled","highlightedWordIndex","$highlightedWordIndex","messages","useStoreMap","$currentChatData","lastMessageId","at","id","MAX_HEIGHT","height","shouldWrapMessage","length","jsx","View","style","styles","container","maxHeight","children","jsxs","ScrollView","bounces","contentContainerStyle","list","onContentSizeChange","_","current","scrollToEnd","setScrollActive","gap","messagesWithoutInput","map","message","ConditionalWrapper","withWrapper","Wrapper","ChatMessage","withIcon","isOwnMessage","variant","MessageVariant","SENT","RECEIVED","withErrorSpotting","t2sState","isEnabled","isActive","isLoading","status","disabled","MessageLoader","ChatInput","hasMessages","exports","StyleSheet","create","flex","alignItems","width","paddingVertical","paddingRight","marginBottom"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/Chat/Chat.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAGA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,mBAAA,GAAAR,OAAA;AAAkF,IAAAS,WAAA,GAAAT,OAAA;AAAA,SAAAU,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAZ,wBAAAY,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAGlF,MAAMW,cAAc,GAAG,GAAG;AAC1B,MAAMC,aAAa,GAAGC,qBAAQ,CAACC,MAAM,CAAC;EACpCC,GAAG,EAAE,GAAG;EACRlB,OAAO,EAAE;AACX,CAAC,CAAC;AAaK,MAAMmB,IAAI,GAAGA,CAAC;EACnBC,KAAK;EACLC,cAAc;EACdC,qBAAqB;EACrBC,eAAe;EACfC,WAAW,GAAGC,uBAAW,CAACC,IAAI;EAC9BC,cAAc;EACdC,kBAAkB,GAAG,KAAK;EAC1BC;AACS,CAAC,KAAK;EACf,MAAMC,UAAU,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EACxC,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAa,IAAI,CAAC;EACpC,MAAMC,MAAM,GAAG,IAAAC,sBAAO,EAACf,KAAK,CAACgB,OAAO,CAAC;EAErC,MAAMC,oBAAoB,GAAG,IAAAF,sBAAO,EAACf,KAAK,CAACkB,iBAAiB,CAACC,OAAO,CAAC;EACrE,MAAMC,qBAAqB,GAAG,IAAAL,sBAAO,EAACf,KAAK,CAACqB,GAAG,CAACC,kBAAkB,CAACH,OAAO,CAAC;EAE3E,MAAMI,gBAAgB,GAAG,IAAAR,sBAAO,EAACf,KAAK,CAACwB,GAAG,CAACC,iBAAiB,CAAC;EAC7D,MAAMC,YAAY,GAAG,IAAAX,sBAAO,EAACf,KAAK,CAAC2B,WAAW,CAACC,aAAa,CAAC;EAC7D,MAAMC,WAAW,GAAG,IAAAd,sBAAO,EAACf,KAAK,CAACwB,GAAG,CAACM,OAAO,CAAC;EAC9C,MAAMC,oBAAoB,GAAG,IAAAhB,sBAAO,EAACf,KAAK,CAACgC,aAAa,CAACC,UAAU,CAAC;EACpE,MAAMC,oBAAoB,GAAG,IAAAnB,sBAAO,EAACf,KAAK,CAACwB,GAAG,CAACW,qBAAqB,CAAC;EAErE,MAAMC,QAAQ,GAAG,IAAAC,0BAAW,EAACrC,KAAK,CAACsC,gBAAgB,EAAE,CAAC;IAAEF;EAAS,CAAC,KAAKA,QAAQ,CAAC;EAChF,MAAMG,aAAa,GAAGH,QAAQ,CAACI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEC,EAAE;EAEzC,MAAMC,UAAU,GAAGhC,UAAU,CAACiC,MAAM,GAAGjD,cAAc,GAAGC,aAAa;EACrE,MAAMiD,iBAAiB,GAAGrC,cAAc,IAAIJ,eAAe,IAAIiC,QAAQ,CAACS,MAAM,KAAK,CAAC;EAEpF,oBACE,IAAAxE,WAAA,CAAAyE,GAAA,EAACjF,YAAA,CAAAkF,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAE;MAAEC,SAAS,EAAET;IAAW,CAAC,CAAE;IAAAU,QAAA,eACzD,IAAA/E,WAAA,CAAAgF,IAAA,EAACxF,YAAA,CAAAyF,UAAU;MACT1C,GAAG,EAAEA,GAAI;MACT2C,OAAO,EAAE,KAAM;MACfC,qBAAqB,EAAEP,MAAM,CAACQ,IAAK;MACnCC,mBAAmB,EAAEA,CAACC,CAAC,EAAEhB,MAAM,KAAK;QAClC/B,GAAG,CAACgD,OAAO,EAAEC,WAAW,CAAC,CAAC;QAE1B,IAAIlB,MAAM,IAAID,UAAU,EAAE;UACxB1C,KAAK,CAAC8D,eAAe,CAAC,IAAI,CAAC;QAC7B;MACF,CAAE;MAAAV,QAAA,GAEDtC,MAAM,iBACL,IAAAzC,WAAA,CAAAgF,IAAA,EAACxF,YAAA,CAAAkF,IAAI;QAACC,KAAK,EAAE,CAACC,MAAM,CAACc,GAAG,EAAE5D,eAAe,IAAI8C,MAAM,CAACe,oBAAoB,CAAE;QAAAZ,QAAA,GACvEhB,QAAQ,CAAC6B,GAAG,CAAEC,OAAO,iBACpB,IAAA7F,WAAA,CAAAyE,GAAA,EAAC1E,mBAAA,CAAA+F,kBAAkB;UAACC,WAAW,EAAExB,iBAAkB;UAACyB,OAAO,EAAE9D,cAAe;UAAA6C,QAAA,eAC1E,IAAA/E,WAAA,CAAAyE,GAAA,EAAC/E,YAAA,CAAAuG,WAAW;YAEV5C,YAAY,EAAEA,YAAa;YAC3B6C,QAAQ,EAAE,CAACL,OAAO,CAACM,YAAY,IAAIN,OAAO,CAACzB,EAAE,KAAKF,aAAc;YAChE2B,OAAO,EAAEA,OAAQ;YACjBO,OAAO,EAAEP,OAAO,CAACM,YAAY,GAAGE,0BAAc,CAACC,IAAI,GAAGD,0BAAc,CAACE,QAAS;YAC9ExE,WAAW,EAAEA,WAAY;YACzByE,iBAAiB,EAAE9C,oBAAoB,IAAI,CAACmC,OAAO,CAACM,YAAa;YACjEM,QAAQ,EAAE;cACRC,SAAS,EAAE7E,qBAAqB,IAAI,CAACgE,OAAO,CAACM,YAAY;cACzDQ,QAAQ,EAAEd,OAAO,CAACzB,EAAE,KAAKlB,gBAAgB;cACzC0D,SAAS,EAAE7D,qBAAqB;cAChC8D,MAAM,EAAErD,WAAW;cACnBsD,QAAQ,EAAE/D;YACZ,CAAE;YACFc,oBAAoB,EAClB1B,kBAAkB,IAAI0D,OAAO,CAACzB,EAAE,KAAKlB,gBAAgB,GAAGW,oBAAoB,GAAG,IAChF;YACDzB,eAAe,EAAEA;UAAgB,GAjB5ByD,OAAO,CAACzB,EAkBd;QAAC,CACgB,CACrB,CAAC,EAEDxB,oBAAoB,iBAAI,IAAA5C,WAAA,CAAAyE,GAAA,EAAC9E,cAAA,CAAAoH,aAAa;UAAChF,WAAW,EAAEA;QAAY,CAAE,CAAC;MAAA,CAChE,CACP,EAEAU,MAAM,IAAI,CAACX,eAAe,iBACzB,IAAA9B,WAAA,CAAAyE,GAAA,EAAC7E,UAAA,CAAAoH,SAAS;QACRpF,cAAc,EAAEA,cAAe;QAC/BG,WAAW,EAAEA,WAAY;QACzBkF,WAAW,EAAElD,QAAQ,CAACS,MAAM,GAAG;MAAE,CAClC,CACF;IAAA,CACS;EAAC,CACT,CAAC;AAEX,CAAC;AAAA0C,OAAA,CAAAxF,IAAA,GAAAA,IAAA;AAED,MAAMkD,MAAM,GAAGuC,uBAAU,CAACC,MAAM,CAAC;EAC/BvC,SAAS,EAAE;IACTwC,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE,UAAU;IACtBC,KAAK,EAAE,GAAG;IACVjD,MAAM,EAAE;EACV,CAAC;EACDc,IAAI,EAAE;IACJkC,UAAU,EAAE,UAAU;IACtBE,eAAe,EAAE,CAAC;IAClBC,YAAY,EAAE;EAChB,CAAC;EACD9B,oBAAoB,EAAE;IACpB+B,YAAY,EAAE;EAChB,CAAC;EACDhC,GAAG,EAAE;IACH2B,IAAI,EAAE,CAAC;IACP3B,GAAG,EAAE;EACP;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_effectorReact","_ChatMessage","_MessageLoader","_ChatInput","_modelTypes","_styleTypes","_ConditionalWrapper","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TOOLBAR_HEIGHT","BOTTOM_OFFSET","Platform","select","web","Chat","model","isHintFeedback","isTextToSpeechEnabled","isInputDisabled","colorScheme","ColorScheme","Blue","MessageWrapper","TTSHighlightRenderer","dimensions","useWindowDimensions","ref","useRef","isOpen","useUnit","$isOpen","isHelpRequestPending","sendHelpRequestFx","pending","isTextToSpeechPending","api","textToSpeechTextFx","audioStatus","t2s","$status","currentPlayingId","$currentPlayingId","highlightedWordIndex","wordHighlight","$highlightedWordIndex","isTranslated","translation","$isTranslated","errorSpottingEnabled","errorSpotting","$isEnabled","messages","useStoreMap","$currentChatData","lastMessageId","at","id","MAX_HEIGHT","height","shouldWrapMessage","length","jsx","View","style","styles","container","maxHeight","children","jsxs","ScrollView","bounces","contentContainerStyle","list","onContentSizeChange","_","current","scrollToEnd","setScrollActive","gap","messagesWithoutInput","map","message","index","key","isPlayingMessage","messageHighlightIndex","isWordHighlightEnabled","Fragment","ConditionalWrapper","withWrapper","Wrapper","ChatMessage","withIcon","isOwnMessage","variant","MessageVariant","SENT","RECEIVED","withErrorSpotting","t2sState","isEnabled","isActive","isLoading","status","disabled","MessageLoader","ChatInput","hasMessages","exports","StyleSheet","create","flex","alignItems","width","paddingVertical","paddingRight","marginBottom"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/Chat/Chat.tsx"],"mappings":"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","ignoreList":[]}
@@ -19,16 +19,13 @@ const MessageContentWeb = ({
19
19
  colorScheme = _styleTypes.ColorScheme.Blue,
20
20
  withErrorSpotting,
21
21
  highlightedWordIndex,
22
- highlightConfig
22
+ TTSHighlightRenderer: TTSHighlightComponent
23
23
  }) => {
24
- const MessageRenderer = highlightConfig?.MessageRenderer;
25
- // console.log('[TTS Debug] MessageContent - hasRenderer:', !!MessageRenderer, 'highlightedWordIndex:', highlightedWordIndex)
26
-
27
24
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
28
25
  style: styles.messageText,
29
- children: [MessageRenderer ? /*#__PURE__*/(0, _jsxRuntime.jsx)(MessageRenderer, {
26
+ children: [TTSHighlightComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(TTSHighlightComponent, {
30
27
  text: text,
31
- highlightedIndex: highlightedWordIndex ?? null,
28
+ highlightedIndex: highlightedWordIndex ?? -1,
32
29
  colorScheme: colorScheme
33
30
  }) : text, /*#__PURE__*/(0, _jsxRuntime.jsx)(_MessageButtonsBlock.MessageButtonsBlock, {
34
31
  message: message,
@@ -47,15 +44,14 @@ const MessageContentMobile = ({
47
44
  colorScheme = _styleTypes.ColorScheme.Blue,
48
45
  withErrorSpotting,
49
46
  highlightedWordIndex,
50
- highlightConfig
47
+ TTSHighlightRenderer: TTSHighlightComponent
51
48
  }) => {
52
- const MessageRenderer = highlightConfig?.MessageRenderer;
53
49
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
54
50
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
55
51
  style: [styles.messageText, styles.mobileMessageText],
56
- children: [MessageRenderer ? /*#__PURE__*/(0, _jsxRuntime.jsx)(MessageRenderer, {
52
+ children: [TTSHighlightComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(TTSHighlightComponent, {
57
53
  text: text,
58
- highlightedIndex: highlightedWordIndex ?? null,
54
+ highlightedIndex: highlightedWordIndex ?? -1,
59
55
  colorScheme: colorScheme
60
56
  }) : text, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
61
57
  style: {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_styleTypes","_MessageButtonsBlock","_helpers","_jsxRuntime","e","__esModule","default","MessageContentWeb","message","text","t2sState","variant","colorScheme","ColorScheme","Blue","withErrorSpotting","highlightedWordIndex","highlightConfig","MessageRenderer","jsxs","Text","style","styles","messageText","children","jsx","highlightedIndex","MessageButtonsBlock","MessageContentMobile","Fragment","mobileMessageText","View","width","getSpacerSize","MessageContent","exports","Platform","select","web","StyleSheet","create","flex","fontSize","fontWeight","fontFamily","color","lineHeight"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatMessage/MessageContent.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_styleTypes","_MessageButtonsBlock","_helpers","_jsxRuntime","e","__esModule","default","MessageContentWeb","message","text","t2sState","variant","colorScheme","ColorScheme","Blue","withErrorSpotting","highlightedWordIndex","TTSHighlightRenderer","TTSHighlightComponent","jsxs","Text","style","styles","messageText","children","jsx","highlightedIndex","MessageButtonsBlock","MessageContentMobile","Fragment","mobileMessageText","View","width","getSpacerSize","MessageContent","exports","Platform","select","web","StyleSheet","create","flex","fontSize","fontWeight","fontFamily","color","lineHeight"],"sourceRoot":"../../../../../../src","sources":["features/chatbot/components/ChatMessage/MessageContent.tsx"],"mappings":"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","ignoreList":[]}
@@ -20,7 +20,7 @@ const ReceivedMessage = ({
20
20
  colorScheme = _styleTypes.ColorScheme.Blue,
21
21
  withErrorSpotting,
22
22
  highlightedWordIndex,
23
- highlightConfig
23
+ TTSHighlightRenderer
24
24
  }) => {
25
25
  const text = isTranslated ? message.translatedMessage : message.message;
26
26
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
@@ -41,7 +41,7 @@ const ReceivedMessage = ({
41
41
  colorScheme: colorScheme,
42
42
  withErrorSpotting: withErrorSpotting,
43
43
  highlightedWordIndex: highlightedWordIndex,
44
- highlightConfig: highlightConfig
44
+ TTSHighlightRenderer: TTSHighlightRenderer
45
45
  })
46
46
  })]
47
47
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ChatbotIcon","_styleTypes","_MessageContent","_modelTypes","_jsxRuntime","e","__esModule","default","ReceivedMessage","message","isTranslated","t2sState","withIcon","colorScheme","ColorScheme","Blue","withErrorSpotting","highlightedWordIndex","highlightConfig","text","translatedMessage","jsxs","View","style","styles","container","children","jsx","icon","ChatbotIcon","width","height","MessageContent","variant","MessageVariant","RECEIVED","exports","StyleSheet","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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAGA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAAwD,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEjD,MAAMG,eAAe,GAAGA,CAAC;EAC9BC,OAAO;EACPC,YAAY;EACZC,QAAQ;EACRC,QAAQ;EACRC,WAAW,GAAGC,uBAAW,CAACC,IAAI;EAC9BC,iBAAiB;EACjBC,oBAAoB;EACpBC;AACY,CAAC,KAAK;EAClB,MAAMC,IAAI,GAAGT,YAAY,GAAGD,OAAO,CAACW,iBAAiB,GAAGX,OAAO,CAACA,OAAO;EAEvE,oBACE,IAAAL,WAAA,CAAAiB,IAAA,EAACtB,YAAA,CAAAuB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,GAC3Bd,QAAQ,iBACP,IAAAR,WAAA,CAAAuB,GAAA,EAAC5B,YAAA,CAAAuB,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACI,IAAK;MAAAF,QAAA,eACvB,IAAAtB,WAAA,CAAAuB,GAAA,EAAC3B,YAAA,CAAA6B,WAAW;QAACC,KAAK,EAAE,EAAG;QAACC,MAAM,EAAE;MAAG,CAAE;IAAC,CAClC,CACP,eAED,IAAA3B,WAAA,CAAAuB,GAAA,EAAC5B,YAAA,CAAAuB,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACf,OAAQ;MAAAiB,QAAA,eAC1B,IAAAtB,WAAA,CAAAuB,GAAA,EAACzB,eAAA,CAAA8B,cAAc;QACbvB,OAAO,EAAEA,OAAQ;QACjBwB,OAAO,EAAEC,0BAAc,CAACC,QAAS;QACjCxB,QAAQ,EAAEA,QAAS;QACnBQ,IAAI,EAAEA,IAAI,IAAI,EAAG;QACjBN,WAAW,EAAEA,WAAY;QACzBG,iBAAiB,EAAEA,iBAAkB;QACrCC,oBAAoB,EAAEA,oBAAqB;QAC3CC,eAAe,EAAEA;MAAgB,CAClC;IAAC,CACE,CAAC;EAAA,CACH,CAAC;AAEX,CAAC;AAAAkB,OAAA,CAAA5B,eAAA,GAAAA,eAAA;AAED,MAAMgB,MAAM,GAAGa,uBAAU,CAACC,MAAM,CAAC;EAC/Bb,SAAS,EAAE;IACTc,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,GAAG;IACbX,KAAK,EAAE,GAAG;IACVY,UAAU,EAAE,UAAU;IACtBC,cAAc,EAAE;EAClB,CAAC;EACDf,IAAI,EAAE;IACJgB,SAAS,EAAE,UAAU;IACrBC,WAAW,EAAE;EACf,CAAC;EACDpC,OAAO,EAAE;IACP8B,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,GAAG;IACbK,OAAO,EAAE,CAAC;IACVC,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MAAElB,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCkB,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","_interopRequireDefault","require","_reactNative","_ChatbotIcon","_styleTypes","_MessageContent","_modelTypes","_jsxRuntime","e","__esModule","default","ReceivedMessage","message","isTranslated","t2sState","withIcon","colorScheme","ColorScheme","Blue","withErrorSpotting","highlightedWordIndex","TTSHighlightRenderer","text","translatedMessage","jsxs","View","style","styles","container","children","jsx","icon","ChatbotIcon","width","height","MessageContent","variant","MessageVariant","RECEIVED","exports","StyleSheet","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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAGA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAAwD,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEjD,MAAMG,eAAe,GAAGA,CAAC;EAC9BC,OAAO;EACPC,YAAY;EACZC,QAAQ;EACRC,QAAQ;EACRC,WAAW,GAAGC,uBAAW,CAACC,IAAI;EAC9BC,iBAAiB;EACjBC,oBAAoB;EACpBC;AACY,CAAC,KAAK;EAClB,MAAMC,IAAI,GAAGT,YAAY,GAAGD,OAAO,CAACW,iBAAiB,GAAGX,OAAO,CAACA,OAAO;EAEvE,oBACE,IAAAL,WAAA,CAAAiB,IAAA,EAACtB,YAAA,CAAAuB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,GAC3Bd,QAAQ,iBACP,IAAAR,WAAA,CAAAuB,GAAA,EAAC5B,YAAA,CAAAuB,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACI,IAAK;MAAAF,QAAA,eACvB,IAAAtB,WAAA,CAAAuB,GAAA,EAAC3B,YAAA,CAAA6B,WAAW;QAACC,KAAK,EAAE,EAAG;QAACC,MAAM,EAAE;MAAG,CAAE;IAAC,CAClC,CACP,eAED,IAAA3B,WAAA,CAAAuB,GAAA,EAAC5B,YAAA,CAAAuB,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACf,OAAQ;MAAAiB,QAAA,eAC1B,IAAAtB,WAAA,CAAAuB,GAAA,EAACzB,eAAA,CAAA8B,cAAc;QACbvB,OAAO,EAAEA,OAAQ;QACjBwB,OAAO,EAAEC,0BAAc,CAACC,QAAS;QACjCxB,QAAQ,EAAEA,QAAS;QACnBQ,IAAI,EAAEA,IAAI,IAAI,EAAG;QACjBN,WAAW,EAAEA,WAAY;QACzBG,iBAAiB,EAAEA,iBAAkB;QACrCC,oBAAoB,EAAEA,oBAAqB;QAC3CC,oBAAoB,EAAEA;MAAqB,CAC5C;IAAC,CACE,CAAC;EAAA,CACH,CAAC;AAEX,CAAC;AAAAkB,OAAA,CAAA5B,eAAA,GAAAA,eAAA;AAED,MAAMgB,MAAM,GAAGa,uBAAU,CAACC,MAAM,CAAC;EAC/Bb,SAAS,EAAE;IACTc,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,GAAG;IACbX,KAAK,EAAE,GAAG;IACVY,UAAU,EAAE,UAAU;IACtBC,cAAc,EAAE;EAClB,CAAC;EACDf,IAAI,EAAE;IACJgB,SAAS,EAAE,UAAU;IACrBC,WAAW,EAAE;EACf,CAAC;EACDpC,OAAO,EAAE;IACP8B,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,GAAG;IACbK,OAAO,EAAE,CAAC;IACVC,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MAAElB,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCkB,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":[]}
@@ -21,8 +21,7 @@ const Chatbot = ({
21
21
  ButtonWrapper,
22
22
  iconSize,
23
23
  colorScheme = _styleTypes.ColorScheme.Blue,
24
- isHighlightEnabled = false,
25
- highlightConfig
24
+ TTSHighlightRenderer
26
25
  }) => {
27
26
  const isChatAllowed = (0, _effectorReact.useUnit)(model.$chatAccess);
28
27
  const isAvailable = (0, _effectorReact.useStoreMap)(model.$currentChatData, ({
@@ -50,8 +49,7 @@ const Chatbot = ({
50
49
  isTextToSpeechEnabled: isTextToSpeechEnabled,
51
50
  isInputDisabled: isInputDisabled,
52
51
  MessageWrapper: ButtonWrapper,
53
- isHighlightEnabled: isHighlightEnabled,
54
- highlightConfig: highlightConfig
52
+ TTSHighlightRenderer: TTSHighlightRenderer
55
53
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChatControls.ChatControls, {
56
54
  model: model,
57
55
  onPressChatIcon: openChat,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_effectorReact","_Chat","_ChatControls","_ChatBotModelContext","_styleTypes","_jsxRuntime","e","__esModule","default","Chatbot","model","isHintFeedback","isTextToSpeechEnabled","isInputDisabled","textToSpeechConfig","ButtonWrapper","iconSize","colorScheme","ColorScheme","Blue","isHighlightEnabled","highlightConfig","isChatAllowed","useUnit","$chatAccess","isAvailable","useStoreMap","$currentChatData","t2s","setAudioConfig","shouldAnimateCloseButton","store","fn","chat","messages","length","keys","openChat","setIsOpen","closeChat","jsxs","ChatBotModelContext","Provider","value","children","jsx","Chat","MessageWrapper","ChatControls","onPressChatIcon","onPressClose","undefined","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/components/Chatbot.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAGA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAEA,IAAAI,oBAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAAkD,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAmB3C,MAAMG,OAAO,GAAGA,CAAC;EACtBC,KAAK;EACLC,cAAc;EACdC,qBAAqB,GAAG,KAAK;EAC7BC,eAAe;EACfC,kBAAkB;EAClBC,aAAa;EACbC,QAAQ;EACRC,WAAW,GAAGC,uBAAW,CAACC,IAAI;EAC9BC,kBAAkB,GAAG,KAAK;EAC1BC;AACY,CAAC,KAAK;EAClB,MAAMC,aAAa,GAAG,IAAAC,sBAAO,EAACb,KAAK,CAACc,WAAW,CAAC;EAChD,MAAMC,WAAW,GAAG,IAAAC,0BAAW,EAAChB,KAAK,CAACiB,gBAAgB,EAAE,CAAC;IAAEF;EAAY,CAAC,KAAKA,WAAW,CAAC;EACzFf,KAAK,CAACkB,GAAG,CAACC,cAAc,CAACf,kBAAkB,IAAI,IAAI,CAAC;EAEpD,MAAMgB,wBAAwB,GAAG,IAAAJ,0BAAW,EAAC;IAC3CK,KAAK,EAAErB,KAAK,CAACiB,gBAAgB;IAC7BK,EAAE,EAAEA,CAACC,IAAI,EAAE,CAACpB,eAAe,CAAC,KAAK;MAC/B,OAAOA,eAAe,IAAIoB,IAAI,CAACC,QAAQ,CAACC,MAAM,KAAK,CAAC;IACtD,CAAC;IACDC,IAAI,EAAE,CAACvB,eAAe;EACxB,CAAC,CAAC;EAEF,MAAMwB,QAAQ,GAAGA,CAAA,KAAM3B,KAAK,CAAC4B,SAAS,CAAC,IAAI,CAAC;EAC5C,MAAMC,SAAS,GAAGA,CAAA,KAAM7B,KAAK,CAAC4B,SAAS,CAAC,KAAK,CAAC;EAE9C,IAAI,CAACb,WAAW,IAAI,CAACH,aAAa,EAAE;IAClC,OAAO,IAAI;EACb;EAEA,oBACE,IAAAjB,WAAA,CAAAmC,IAAA,EAACrC,oBAAA,CAAAsC,mBAAmB,CAACC,QAAQ;IAACC,KAAK,EAAEjC,KAAM;IAAAkC,QAAA,gBACzC,IAAAvC,WAAA,CAAAwC,GAAA,EAAC5C,KAAA,CAAA6C,IAAI;MACHpC,KAAK,EAAEA,KAAM;MACbO,WAAW,EAAEA,WAAY;MACzBN,cAAc,EAAEA,cAAe;MAC/BC,qBAAqB,EAAEA,qBAAsB;MAC7CC,eAAe,EAAEA,eAAgB;MACjCkC,cAAc,EAAEhC,aAAc;MAC9BK,kBAAkB,EAAEA,kBAAmB;MACvCC,eAAe,EAAEA;IAAgB,CAClC,CAAC,eAEF,IAAAhB,WAAA,CAAAwC,GAAA,EAAC3C,aAAA,CAAA8C,YAAY;MACXtC,KAAK,EAAEA,KAAM;MACbuC,eAAe,EAAEZ,QAAS;MAC1Ba,YAAY,EAAEX,SAAU;MACxBvB,QAAQ,EAAEA,QAAS;MACnBD,aAAa,EAAEF,eAAe,GAAGsC,SAAS,GAAGpC,aAAc;MAC3De,wBAAwB,EAAEA;IAAyB,CACpD,CAAC;EAAA,CAC0B,CAAC;AAEnC,CAAC;AAAAsB,OAAA,CAAA3C,OAAA,GAAAA,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_effectorReact","_Chat","_ChatControls","_ChatBotModelContext","_styleTypes","_jsxRuntime","e","__esModule","default","Chatbot","model","isHintFeedback","isTextToSpeechEnabled","isInputDisabled","textToSpeechConfig","ButtonWrapper","iconSize","colorScheme","ColorScheme","Blue","TTSHighlightRenderer","isChatAllowed","useUnit","$chatAccess","isAvailable","useStoreMap","$currentChatData","t2s","setAudioConfig","shouldAnimateCloseButton","store","fn","chat","messages","length","keys","openChat","setIsOpen","closeChat","jsxs","ChatBotModelContext","Provider","value","children","jsx","Chat","MessageWrapper","ChatControls","onPressChatIcon","onPressClose","undefined","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/components/Chatbot.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAGA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAEA,IAAAI,oBAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAAkD,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAkB3C,MAAMG,OAAO,GAAGA,CAAC;EACtBC,KAAK;EACLC,cAAc;EACdC,qBAAqB,GAAG,KAAK;EAC7BC,eAAe;EACfC,kBAAkB;EAClBC,aAAa;EACbC,QAAQ;EACRC,WAAW,GAAGC,uBAAW,CAACC,IAAI;EAC9BC;AACY,CAAC,KAAK;EAClB,MAAMC,aAAa,GAAG,IAAAC,sBAAO,EAACZ,KAAK,CAACa,WAAW,CAAC;EAChD,MAAMC,WAAW,GAAG,IAAAC,0BAAW,EAACf,KAAK,CAACgB,gBAAgB,EAAE,CAAC;IAAEF;EAAY,CAAC,KAAKA,WAAW,CAAC;EACzFd,KAAK,CAACiB,GAAG,CAACC,cAAc,CAACd,kBAAkB,IAAI,IAAI,CAAC;EAEpD,MAAMe,wBAAwB,GAAG,IAAAJ,0BAAW,EAAC;IAC3CK,KAAK,EAAEpB,KAAK,CAACgB,gBAAgB;IAC7BK,EAAE,EAAEA,CAACC,IAAI,EAAE,CAACnB,eAAe,CAAC,KAAK;MAC/B,OAAOA,eAAe,IAAImB,IAAI,CAACC,QAAQ,CAACC,MAAM,KAAK,CAAC;IACtD,CAAC;IACDC,IAAI,EAAE,CAACtB,eAAe;EACxB,CAAC,CAAC;EAEF,MAAMuB,QAAQ,GAAGA,CAAA,KAAM1B,KAAK,CAAC2B,SAAS,CAAC,IAAI,CAAC;EAC5C,MAAMC,SAAS,GAAGA,CAAA,KAAM5B,KAAK,CAAC2B,SAAS,CAAC,KAAK,CAAC;EAE9C,IAAI,CAACb,WAAW,IAAI,CAACH,aAAa,EAAE;IAClC,OAAO,IAAI;EACb;EAEA,oBACE,IAAAhB,WAAA,CAAAkC,IAAA,EAACpC,oBAAA,CAAAqC,mBAAmB,CAACC,QAAQ;IAACC,KAAK,EAAEhC,KAAM;IAAAiC,QAAA,gBACzC,IAAAtC,WAAA,CAAAuC,GAAA,EAAC3C,KAAA,CAAA4C,IAAI;MACHnC,KAAK,EAAEA,KAAM;MACbO,WAAW,EAAEA,WAAY;MACzBN,cAAc,EAAEA,cAAe;MAC/BC,qBAAqB,EAAEA,qBAAsB;MAC7CC,eAAe,EAAEA,eAAgB;MACjCiC,cAAc,EAAE/B,aAAc;MAC9BK,oBAAoB,EAAEA;IAAqB,CAC5C,CAAC,eAEF,IAAAf,WAAA,CAAAuC,GAAA,EAAC1C,aAAA,CAAA6C,YAAY;MACXrC,KAAK,EAAEA,KAAM;MACbsC,eAAe,EAAEZ,QAAS;MAC1Ba,YAAY,EAAEX,SAAU;MACxBtB,QAAQ,EAAEA,QAAS;MACnBD,aAAa,EAAEF,eAAe,GAAGqC,SAAS,GAAGnC,aAAc;MAC3Dc,wBAAwB,EAAEA;IAAyB,CACpD,CAAC;EAAA,CAC0B,CAAC;AAEnC,CAAC;AAAAsB,OAAA,CAAA1C,OAAA,GAAAA,OAAA","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.TEXT_TO_SPEECH_CONFIG = exports.MESSAGE_COLORS_MAP = exports.KATEX_REPLACEMENTS_REVERSE = exports.KATEX_REPLACEMENTS = exports.HOVER_ANIMATION_DURATION = exports.DEFAULT_VOICE = exports.CONTROLS_COLORS_MAP = exports.AUDIO_CONFIG = void 0;
6
+ exports.WORD_MARK_REGEX = exports.TEXT_TO_SPEECH_CONFIG = exports.MESSAGE_COLORS_MAP = exports.KATEX_REPLACEMENTS_REVERSE = exports.KATEX_REPLACEMENTS = exports.HOVER_ANIMATION_DURATION = exports.DEFAULT_VOICE = exports.CONTROLS_COLORS_MAP = exports.AUDIO_CONFIG = void 0;
7
7
  var _reactNativeUi = require("@magmamath/react-native-ui");
8
8
  var _reactNative = require("react-native");
9
9
  var _modelTypes = require("./types/model.types.js");
@@ -77,4 +77,5 @@ const CONTROLS_COLORS_MAP = exports.CONTROLS_COLORS_MAP = {
77
77
  }
78
78
  };
79
79
  const HOVER_ANIMATION_DURATION = exports.HOVER_ANIMATION_DURATION = 200;
80
+ const WORD_MARK_REGEX = exports.WORD_MARK_REGEX = /^w_(\d+)$/;
80
81
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeUi","require","_reactNative","_modelTypes","_styleTypes","AUDIO_CONFIG","exports","audioEncoding","pitch","speakingRate","DEFAULT_VOICE","languageCode","name","TEXT_TO_SPEECH_CONFIG","Platform","select","ios","audioConfig","voice","default","KATEX_REPLACEMENTS","KATEX_REPLACEMENTS_REVERSE","__KATEX_DOLLAR_SYMBOL__","MESSAGE_COLORS_MAP","ColorScheme","Blue","MessageVariant","RECEIVED","background","COLORS","NEUTRAL_3","border","icon","ButtonColor","BLUE","SENT","PRIMARY_BLUE","Yellow","YELLOW","PRIMARY_YELLOW","CONTROLS_COLORS_MAP","hover","HOVER_ANIMATION_DURATION"],"sourceRoot":"../../../../src","sources":["features/chatbot/constants.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAGO,MAAMI,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EAC1BE,aAAa,EAAE,UAAU;EACzBC,KAAK,EAAE,CAAC;EACRC,YAAY,EAAE;AAChB,CAAC;AAEM,MAAMC,aAAa,GAAAJ,OAAA,CAAAI,aAAA,GAAG;EAC3BC,YAAY,EAAE,OAAO;EACrBC,IAAI,EAAE;AACR,CAAC;AAEM,MAAMC,qBAAqB,GAAAP,OAAA,CAAAO,qBAAA,GAAGC,qBAAQ,CAACC,MAAM,CAAC;EACnDC,GAAG,EAAE;IACHC,WAAW,EAAE;MACXV,aAAa,EAAE,KAAK;MACpBC,KAAK,EAAE,GAAG;MACVC,YAAY,EAAE;IAChB,CAAC;IACDS,KAAK,EAAE;MACLP,YAAY,EAAE,OAAO;MACrBC,IAAI,EAAE;IACR;EACF,CAAC;EACDO,OAAO,EAAE;IACPF,WAAW,EAAEZ,YAAY;IACzBa,KAAK,EAAER;EACT;AACF,CAAC,CAAC;AAEK,MAAMU,kBAAkB,GAAAd,OAAA,CAAAc,kBAAA,GAAG;EAChC,KAAK,EAAE;AACT,CAAU;AAEH,MAAMC,0BAA0B,GAAAf,OAAA,CAAAe,0BAAA,GAAG;EACxCC,uBAAuB,EAAE;AAC3B,CAAU;AAEH,MAAMC,kBAAkB,GAAAjB,OAAA,CAAAiB,kBAAA,GAAG;EAChC,CAACC,uBAAW,CAACC,IAAI,GAAG;IAClB,CAACC,0BAAc,CAACC,QAAQ,GAAG;MACzBC,UAAU,EAAEC,qBAAM,CAACC,SAAS;MAC5BC,MAAM,EAAEF,qBAAM,CAACC,SAAS;MACxBE,IAAI,EAAEC,0BAAW,CAACC;IACpB,CAAC;IACD,CAACR,0BAAc,CAACS,IAAI,GAAG;MACrBP,UAAU,EAAEC,qBAAM,CAACO,YAAY;MAC/BL,MAAM,EAAEF,qBAAM,CAACO,YAAY;MAC3BJ,IAAI,EAAEC,0BAAW,CAACC;IACpB;EACF,CAAC;EACD,CAACV,uBAAW,CAACa,MAAM,GAAG;IACpB,CAACX,0BAAc,CAACC,QAAQ,GAAG;MACzBC,UAAU,EAAEC,qBAAM,CAACC,SAAS;MAC5BC,MAAM,EAAEF,qBAAM,CAACC,SAAS;MACxBE,IAAI,EAAEC,0BAAW,CAACK;IACpB,CAAC;IACD,CAACZ,0BAAc,CAACS,IAAI,GAAG;MACrBP,UAAU,EAAEC,qBAAM,CAACU,cAAc;MACjCR,MAAM,EAAEF,qBAAM,CAACU,cAAc;MAC7BP,IAAI,EAAEC,0BAAW,CAACK;IACpB;EACF;AACF,CAAC;AAEM,MAAME,mBAAmB,GAAAlC,OAAA,CAAAkC,mBAAA,GAAG;EACjC,CAAChB,uBAAW,CAACC,IAAI,GAAG;IAClBgB,KAAK,EAAEZ,qBAAM,CAACO,YAAY;IAC1BR,UAAU,EAAEC,qBAAM,CAACO;EACrB,CAAC;EACD,CAACZ,uBAAW,CAACa,MAAM,GAAG;IACpBI,KAAK,EAAEZ,qBAAM,CAACU,cAAc;IAC5BX,UAAU,EAAEC,qBAAM,CAACU;EACrB;AACF,CAAC;AAEM,MAAMG,wBAAwB,GAAApC,OAAA,CAAAoC,wBAAA,GAAG,GAAG","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeUi","require","_reactNative","_modelTypes","_styleTypes","AUDIO_CONFIG","exports","audioEncoding","pitch","speakingRate","DEFAULT_VOICE","languageCode","name","TEXT_TO_SPEECH_CONFIG","Platform","select","ios","audioConfig","voice","default","KATEX_REPLACEMENTS","KATEX_REPLACEMENTS_REVERSE","__KATEX_DOLLAR_SYMBOL__","MESSAGE_COLORS_MAP","ColorScheme","Blue","MessageVariant","RECEIVED","background","COLORS","NEUTRAL_3","border","icon","ButtonColor","BLUE","SENT","PRIMARY_BLUE","Yellow","YELLOW","PRIMARY_YELLOW","CONTROLS_COLORS_MAP","hover","HOVER_ANIMATION_DURATION","WORD_MARK_REGEX"],"sourceRoot":"../../../../src","sources":["features/chatbot/constants.ts"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAGO,MAAMI,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EAC1BE,aAAa,EAAE,UAAU;EACzBC,KAAK,EAAE,CAAC;EACRC,YAAY,EAAE;AAChB,CAAC;AAEM,MAAMC,aAAa,GAAAJ,OAAA,CAAAI,aAAA,GAAG;EAC3BC,YAAY,EAAE,OAAO;EACrBC,IAAI,EAAE;AACR,CAAC;AAEM,MAAMC,qBAAqB,GAAAP,OAAA,CAAAO,qBAAA,GAAGC,qBAAQ,CAACC,MAAM,CAAC;EACnDC,GAAG,EAAE;IACHC,WAAW,EAAE;MACXV,aAAa,EAAE,KAAK;MACpBC,KAAK,EAAE,GAAG;MACVC,YAAY,EAAE;IAChB,CAAC;IACDS,KAAK,EAAE;MACLP,YAAY,EAAE,OAAO;MACrBC,IAAI,EAAE;IACR;EACF,CAAC;EACDO,OAAO,EAAE;IACPF,WAAW,EAAEZ,YAAY;IACzBa,KAAK,EAAER;EACT;AACF,CAAC,CAAC;AAEK,MAAMU,kBAAkB,GAAAd,OAAA,CAAAc,kBAAA,GAAG;EAChC,KAAK,EAAE;AACT,CAAU;AAEH,MAAMC,0BAA0B,GAAAf,OAAA,CAAAe,0BAAA,GAAG;EACxCC,uBAAuB,EAAE;AAC3B,CAAU;AAEH,MAAMC,kBAAkB,GAAAjB,OAAA,CAAAiB,kBAAA,GAAG;EAChC,CAACC,uBAAW,CAACC,IAAI,GAAG;IAClB,CAACC,0BAAc,CAACC,QAAQ,GAAG;MACzBC,UAAU,EAAEC,qBAAM,CAACC,SAAS;MAC5BC,MAAM,EAAEF,qBAAM,CAACC,SAAS;MACxBE,IAAI,EAAEC,0BAAW,CAACC;IACpB,CAAC;IACD,CAACR,0BAAc,CAACS,IAAI,GAAG;MACrBP,UAAU,EAAEC,qBAAM,CAACO,YAAY;MAC/BL,MAAM,EAAEF,qBAAM,CAACO,YAAY;MAC3BJ,IAAI,EAAEC,0BAAW,CAACC;IACpB;EACF,CAAC;EACD,CAACV,uBAAW,CAACa,MAAM,GAAG;IACpB,CAACX,0BAAc,CAACC,QAAQ,GAAG;MACzBC,UAAU,EAAEC,qBAAM,CAACC,SAAS;MAC5BC,MAAM,EAAEF,qBAAM,CAACC,SAAS;MACxBE,IAAI,EAAEC,0BAAW,CAACK;IACpB,CAAC;IACD,CAACZ,0BAAc,CAACS,IAAI,GAAG;MACrBP,UAAU,EAAEC,qBAAM,CAACU,cAAc;MACjCR,MAAM,EAAEF,qBAAM,CAACU,cAAc;MAC7BP,IAAI,EAAEC,0BAAW,CAACK;IACpB;EACF;AACF,CAAC;AAEM,MAAME,mBAAmB,GAAAlC,OAAA,CAAAkC,mBAAA,GAAG;EACjC,CAAChB,uBAAW,CAACC,IAAI,GAAG;IAClBgB,KAAK,EAAEZ,qBAAM,CAACO,YAAY;IAC1BR,UAAU,EAAEC,qBAAM,CAACO;EACrB,CAAC;EACD,CAACZ,uBAAW,CAACa,MAAM,GAAG;IACpBI,KAAK,EAAEZ,qBAAM,CAACU,cAAc;IAC5BX,UAAU,EAAEC,qBAAM,CAACU;EACrB;AACF,CAAC;AAEM,MAAMG,wBAAwB,GAAApC,OAAA,CAAAoC,wBAAA,GAAG,GAAG;AAEpC,MAAMC,eAAe,GAAArC,OAAA,CAAAqC,eAAA,GAAG,WAAW","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.textToSSML = exports.getWordCount = void 0;
6
+ exports.textToSSML = exports.findCurrentMark = void 0;
7
7
  /**
8
8
  * Converts plain text to SSML with word marks for TTS highlighting.
9
9
  * "Hello world" -> '<speak><mark name="w_0"/>Hello <mark name="w_1"/>world</speak>'
@@ -15,8 +15,13 @@ const textToSSML = text => {
15
15
  return `<speak>${ssmlParts.join(' ')}</speak>`;
16
16
  };
17
17
  exports.textToSSML = textToSSML;
18
- const getWordCount = text => {
19
- return text.split(/\s+/).filter(Boolean).length;
18
+ const findCurrentMark = (timepoints, time) => {
19
+ for (let i = timepoints.length - 1; i >= 0; i--) {
20
+ if (timepoints[i].timeSeconds <= time) {
21
+ return timepoints[i].markName;
22
+ }
23
+ }
24
+ return undefined;
20
25
  };
21
- exports.getWordCount = getWordCount;
22
- //# sourceMappingURL=textToSSML.js.map
26
+ exports.findCurrentMark = findCurrentMark;
27
+ //# sourceMappingURL=ttsHighlight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["textToSSML","text","words","split","filter","Boolean","length","ssmlParts","map","word","i","join","exports","findCurrentMark","timepoints","time","timeSeconds","markName","undefined"],"sourceRoot":"../../../../../src","sources":["features/chatbot/helpers/ttsHighlight.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACO,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;AAAAC,OAAA,CAAAZ,UAAA,GAAAA,UAAA;AAEM,MAAMa,eAAe,GAAGA,CAACC,UAAuB,EAAEC,IAAY,KAAyB;EAC5F,KAAK,IAAIL,CAAC,GAAGI,UAAU,CAACR,MAAM,GAAG,CAAC,EAAEI,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IAC/C,IAAII,UAAU,CAACJ,CAAC,CAAC,CAACM,WAAW,IAAID,IAAI,EAAE;MACrC,OAAOD,UAAU,CAACJ,CAAC,CAAC,CAACO,QAAQ;IAC/B;EACF;EACA,OAAOC,SAAS;AAClB,CAAC;AAAAN,OAAA,CAAAC,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -7,7 +7,7 @@ exports.ChatbotModel = void 0;
7
7
  var _effector = require("effector");
8
8
  var _ChatbotApi = require("./ChatbotApi.js");
9
9
  var _ChatbotTranslation = require("./ChatbotTranslation.js");
10
- var _t2s = require("./t2s.js");
10
+ var _ChatTTSModel = require("./ChatTTSModel.js");
11
11
  var _messagesHelper = require("./messagesHelper.js");
12
12
  var _ChatBotThreadManager = require("./ChatBotThreadManager.js");
13
13
  var _ChatsCacheModel = require("./ChatsCacheModel.js");
@@ -66,6 +66,7 @@ class ChatbotModel {
66
66
  postMessage: this.threadManager.postMessage
67
67
  });
68
68
  this.$chatAccess = chatAccess;
69
+ if ($key) this.bindKey($key);
69
70
  this.threadManager.setApi({
70
71
  getHint: api.requestHint,
71
72
  sendMessage: api.sendMessage
@@ -74,9 +75,6 @@ class ChatbotModel {
74
75
  this.threadManager.setMessagesLimit(threadMessagesLimit);
75
76
  }
76
77
  this.$alternatives = (0, _effector.createStore)(null).on(this.api.getAlternativesFx.doneData, (_, payload) => (0, _helpers.transformAlternatives)(payload)).on(this.setAlternatives, (_, payload) => (0, _helpers.transformAlternatives)(payload)).reset(this.resetAlternatives);
77
- this.t2s = new _t2s.ChatTextToSpeechModel({
78
- api: this.api
79
- });
80
78
  this.translation = new _ChatbotTranslation.ChatbotTranslation({
81
79
  $context: this.$context,
82
80
  defaultMessages: this.defaultMessages,
@@ -88,10 +86,14 @@ class ChatbotModel {
88
86
  },
89
87
  chats: this.cache
90
88
  });
89
+ this.t2s = new _ChatTTSModel.ChatTTSModel({
90
+ api: this.api,
91
+ $currentChatData: this.$currentChatData,
92
+ $isTranslated: this.translation.$isTranslated
93
+ });
91
94
  this.errorSpotting = new _ErrorSpottingModel.ErrorSpottingModel({
92
95
  $currentChatData: this.$currentChatData
93
96
  });
94
- if ($key) this.bindKey($key);
95
97
  (0, _effector.sample)({
96
98
  source: this.$isOpen.updates,
97
99
  filter: isOpen => !isOpen,
@@ -1 +1 @@
1
- {"version":3,"names":["_effector","require","_ChatbotApi","_ChatbotTranslation","_t2s","_messagesHelper","_ChatBotThreadManager","_ChatsCacheModel","_ErrorSpottingModel","_ChatBotTextInput","_withEvent","_ChatBoxTextManager","_ControlledSample","_helpers","_reactNativeUi","ChatbotModel","textManager","ChatBotTextManager","defaultMessages","messages","threadManager","ChatBotThreadManager","textInput","ChatBotTextInput","setCurrentKey","createEvent","$currentKey","restore","unbindCurrentKey","resetAlternatives","setAlternatives","setIsOpen","toggleOpen","$isOpen","on","isOpen","removeLastMessage","setLastMessageKey","$lastMessageKey","setContext","$context","setScrollActive","$isScrollActive","cache","ChatsCacheModel","$currentChatData","combine","data","$data","key","defaultChatData","constructor","api","$key","threadMessagesLimit","settings","chatAccess","ChatbotAPI","postMessage","$chatAccess","setApi","getHint","requestHint","sendMessage","setMessagesLimit","$alternatives","createStore","getAlternativesFx","doneData","_","payload","transformAlternatives","reset","t2s","ChatTextToSpeechModel","translation","ChatbotTranslation","alternativesModel","$store","set","chats","errorSpotting","ErrorSpottingModel","bindKey","sample","source","updates","filter","target","spottingHidden","clock","fn","lastMessageKey","chatsData","chat","updatedMessages","pop","update","closeOnKeyChange","startConversation","attach","currentChatData","mapParams","props","effect","createEffect","initOnly","withGreetingMessage","length","reinitConversation","add","start","isAvailable","currentThread","watch","alternatives","isOpenChatEnabled","IS_WEB","creator","anotherHintOption","createOption","createSendHelpRequestFx","context","params","message","translatedMessage","isFreeText","Error","addMessages","messagesHelper","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","ControlledSample","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","withEvent","unbindKey","unbindExternalTranslationState","disable","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/ChatBotModel.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_effector","require","_ChatbotApi","_ChatbotTranslation","_ChatTTSModel","_messagesHelper","_ChatBotThreadManager","_ChatsCacheModel","_ErrorSpottingModel","_ChatBotTextInput","_withEvent","_ChatBoxTextManager","_ControlledSample","_helpers","_reactNativeUi","ChatbotModel","textManager","ChatBotTextManager","defaultMessages","messages","threadManager","ChatBotThreadManager","textInput","ChatBotTextInput","setCurrentKey","createEvent","$currentKey","restore","unbindCurrentKey","resetAlternatives","setAlternatives","setIsOpen","toggleOpen","$isOpen","on","isOpen","removeLastMessage","setLastMessageKey","$lastMessageKey","setContext","$context","setScrollActive","$isScrollActive","cache","ChatsCacheModel","$currentChatData","combine","data","$data","key","defaultChatData","constructor","api","$key","threadMessagesLimit","settings","chatAccess","ChatbotAPI","postMessage","$chatAccess","bindKey","setApi","getHint","requestHint","sendMessage","setMessagesLimit","$alternatives","createStore","getAlternativesFx","doneData","_","payload","transformAlternatives","reset","translation","ChatbotTranslation","alternativesModel","$store","set","chats","t2s","ChatTTSModel","$isTranslated","errorSpotting","ErrorSpottingModel","sample","source","updates","filter","target","spottingHidden","clock","fn","lastMessageKey","chatsData","chat","updatedMessages","pop","update","closeOnKeyChange","startConversation","attach","currentChatData","mapParams","props","effect","createEffect","initOnly","withGreetingMessage","length","reinitConversation","add","start","isAvailable","currentThread","watch","alternatives","isOpenChatEnabled","IS_WEB","creator","anotherHintOption","createOption","createSendHelpRequestFx","context","params","message","translatedMessage","isFreeText","Error","addMessages","messagesHelper","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","ControlledSample","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","withEvent","unbindKey","unbindExternalTranslationState","disable","exports"],"sourceRoot":"../../../../../src","sources":["features/chatbot/model/ChatBotModel.ts"],"mappings":"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","ignoreList":[]}