@magmamath/students-features 0.9.111-rc-1 → 0.9.111-rc-4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/features/chatbot/TTS_HIGHLIGHTING.md +57 -58
- package/dist/commonjs/features/chatbot/components/Chat/Chat.js +30 -25
- package/dist/commonjs/features/chatbot/components/Chat/Chat.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js +6 -10
- package/dist/commonjs/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js +2 -2
- package/dist/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -1
- package/dist/commonjs/features/chatbot/components/Chatbot.js +2 -4
- package/dist/commonjs/features/chatbot/components/Chatbot.js.map +1 -1
- package/dist/commonjs/features/chatbot/constants.js +2 -1
- package/dist/commonjs/features/chatbot/constants.js.map +1 -1
- package/dist/commonjs/features/chatbot/helpers/{textToSSML.js → ttsHighlight.js} +10 -5
- package/dist/commonjs/features/chatbot/helpers/ttsHighlight.js.map +1 -0
- package/dist/commonjs/features/chatbot/model/ChatBotModel.js +7 -5
- package/dist/commonjs/features/chatbot/model/ChatBotModel.js.map +1 -1
- package/dist/commonjs/features/chatbot/model/ChatTTSHighlightModel.js +56 -0
- package/dist/commonjs/features/chatbot/model/ChatTTSHighlightModel.js.map +1 -0
- package/dist/commonjs/features/chatbot/model/ChatTTSModel.js +154 -0
- package/dist/commonjs/features/chatbot/model/ChatTTSModel.js.map +1 -0
- package/dist/commonjs/features/chatbot/types/t2s.types.js.map +1 -1
- package/dist/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.js +34 -0
- package/dist/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.js.map +1 -0
- package/dist/commonjs/features/openEnded/components/OpenEndedScoreLabel.js +68 -0
- package/dist/commonjs/features/openEnded/components/OpenEndedScoreLabel.js.map +1 -0
- package/dist/commonjs/features/openEnded/index.js +48 -0
- package/dist/commonjs/features/openEnded/index.js.map +1 -0
- package/dist/commonjs/features/openEnded/oe.helpers.js +26 -0
- package/dist/commonjs/features/openEnded/oe.helpers.js.map +1 -0
- package/dist/commonjs/features/openEnded/oe.types.js +14 -0
- package/dist/commonjs/features/openEnded/oe.types.js.map +1 -0
- package/dist/commonjs/index.js +13 -1
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/shared/common.constants.js +9 -0
- package/dist/commonjs/shared/common.constants.js.map +1 -0
- package/dist/commonjs/types/common.types.js +4 -0
- package/dist/module/features/chatbot/TTS_HIGHLIGHTING.md +57 -58
- package/dist/module/features/chatbot/components/Chat/Chat.js +30 -25
- package/dist/module/features/chatbot/components/Chat/Chat.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js +6 -10
- package/dist/module/features/chatbot/components/ChatMessage/MessageContent.js.map +1 -1
- package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js +2 -2
- package/dist/module/features/chatbot/components/ChatMessage/ReceivedMessage.js.map +1 -1
- package/dist/module/features/chatbot/components/Chatbot.js +2 -4
- package/dist/module/features/chatbot/components/Chatbot.js.map +1 -1
- package/dist/module/features/chatbot/constants.js +1 -0
- package/dist/module/features/chatbot/constants.js.map +1 -1
- package/dist/module/features/chatbot/helpers/{textToSSML.js → ttsHighlight.js} +8 -3
- package/dist/module/features/chatbot/helpers/ttsHighlight.js.map +1 -0
- package/dist/module/features/chatbot/index.js.map +1 -1
- package/dist/module/features/chatbot/model/ChatBotModel.js +7 -5
- package/dist/module/features/chatbot/model/ChatBotModel.js.map +1 -1
- package/dist/module/features/chatbot/model/ChatTTSHighlightModel.js +52 -0
- package/dist/module/features/chatbot/model/ChatTTSHighlightModel.js.map +1 -0
- package/dist/module/features/chatbot/model/ChatTTSModel.js +149 -0
- package/dist/module/features/chatbot/model/ChatTTSModel.js.map +1 -0
- package/dist/module/features/chatbot/types/t2s.types.js.map +1 -1
- package/dist/module/features/openEnded/components/OpenEndedAttemptsLimit.js +28 -0
- package/dist/module/features/openEnded/components/OpenEndedAttemptsLimit.js.map +1 -0
- package/dist/module/features/openEnded/components/OpenEndedScoreLabel.js +62 -0
- package/dist/module/features/openEnded/components/OpenEndedScoreLabel.js.map +1 -0
- package/dist/module/features/openEnded/index.js +7 -0
- package/dist/module/features/openEnded/index.js.map +1 -0
- package/dist/module/features/openEnded/oe.helpers.js +21 -0
- package/dist/module/features/openEnded/oe.helpers.js.map +1 -0
- package/dist/module/features/openEnded/oe.types.js +10 -0
- package/dist/module/features/openEnded/oe.types.js.map +1 -0
- package/dist/module/index.js +1 -0
- package/dist/module/index.js.map +1 -1
- package/dist/module/shared/common.constants.js +5 -0
- package/dist/module/shared/common.constants.js.map +1 -0
- package/dist/module/types/common.types.js +2 -0
- package/dist/typescript/commonjs/features/chatbot/components/Chat/Chat.d.ts +3 -4
- package/dist/typescript/commonjs/features/chatbot/components/Chat/Chat.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ChatMessage.d.ts +3 -3
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ChatMessage.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageContent.d.ts +4 -4
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts +3 -4
- package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/constants.d.ts +1 -0
- package/dist/typescript/commonjs/features/chatbot/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/helpers/{textToSSML.d.ts → ttsHighlight.d.ts} +3 -2
- package/dist/typescript/commonjs/features/chatbot/helpers/ttsHighlight.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/index.d.ts +1 -1
- package/dist/typescript/commonjs/features/chatbot/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts +3 -2
- package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/chatbot/model/ChatTTSHighlightModel.d.ts +25 -0
- package/dist/typescript/commonjs/features/chatbot/model/ChatTTSHighlightModel.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/model/ChatTTSModel.d.ts +38 -0
- package/dist/typescript/commonjs/features/chatbot/model/ChatTTSModel.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/chatbot/types/t2s.types.d.ts +23 -8
- package/dist/typescript/commonjs/features/chatbot/types/t2s.types.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.d.ts +7 -0
- package/dist/typescript/commonjs/features/openEnded/components/OpenEndedAttemptsLimit.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/openEnded/components/OpenEndedScoreLabel.d.ts +12 -0
- package/dist/typescript/commonjs/features/openEnded/components/OpenEndedScoreLabel.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/openEnded/index.d.ts +5 -0
- package/dist/typescript/commonjs/features/openEnded/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/openEnded/oe.helpers.d.ts +13 -0
- package/dist/typescript/commonjs/features/openEnded/oe.helpers.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/openEnded/oe.types.d.ts +7 -0
- package/dist/typescript/commonjs/features/openEnded/oe.types.d.ts.map +1 -0
- package/dist/typescript/commonjs/index.d.ts +1 -0
- package/dist/typescript/commonjs/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/common.constants.d.ts +2 -0
- package/dist/typescript/commonjs/shared/common.constants.d.ts.map +1 -0
- package/dist/typescript/commonjs/types/common.types.d.ts +2 -0
- package/dist/typescript/commonjs/types/common.types.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/Chat/Chat.d.ts +3 -4
- package/dist/typescript/module/features/chatbot/components/Chat/Chat.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessage/ChatMessage.d.ts +3 -3
- package/dist/typescript/module/features/chatbot/components/ChatMessage/ChatMessage.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageContent.d.ts +4 -4
- package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageContent.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts +1 -1
- package/dist/typescript/module/features/chatbot/components/ChatMessage/ReceivedMessage.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts +3 -4
- package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/constants.d.ts +1 -0
- package/dist/typescript/module/features/chatbot/constants.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/helpers/{textToSSML.d.ts → ttsHighlight.d.ts} +3 -2
- package/dist/typescript/module/features/chatbot/helpers/ttsHighlight.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/index.d.ts +1 -1
- package/dist/typescript/module/features/chatbot/index.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts +3 -2
- package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
- package/dist/typescript/module/features/chatbot/model/ChatTTSHighlightModel.d.ts +25 -0
- package/dist/typescript/module/features/chatbot/model/ChatTTSHighlightModel.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/model/ChatTTSModel.d.ts +38 -0
- package/dist/typescript/module/features/chatbot/model/ChatTTSModel.d.ts.map +1 -0
- package/dist/typescript/module/features/chatbot/types/t2s.types.d.ts +23 -8
- package/dist/typescript/module/features/chatbot/types/t2s.types.d.ts.map +1 -1
- package/dist/typescript/module/features/openEnded/components/OpenEndedAttemptsLimit.d.ts +7 -0
- package/dist/typescript/module/features/openEnded/components/OpenEndedAttemptsLimit.d.ts.map +1 -0
- package/dist/typescript/module/features/openEnded/components/OpenEndedScoreLabel.d.ts +12 -0
- package/dist/typescript/module/features/openEnded/components/OpenEndedScoreLabel.d.ts.map +1 -0
- package/dist/typescript/module/features/openEnded/index.d.ts +5 -0
- package/dist/typescript/module/features/openEnded/index.d.ts.map +1 -0
- package/dist/typescript/module/features/openEnded/oe.helpers.d.ts +13 -0
- package/dist/typescript/module/features/openEnded/oe.helpers.d.ts.map +1 -0
- package/dist/typescript/module/features/openEnded/oe.types.d.ts +7 -0
- package/dist/typescript/module/features/openEnded/oe.types.d.ts.map +1 -0
- package/dist/typescript/module/index.d.ts +1 -0
- package/dist/typescript/module/index.d.ts.map +1 -1
- package/dist/typescript/module/shared/common.constants.d.ts +2 -0
- package/dist/typescript/module/shared/common.constants.d.ts.map +1 -0
- package/dist/typescript/module/types/common.types.d.ts +2 -0
- package/dist/typescript/module/types/common.types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/chatbot/TTS_HIGHLIGHTING.md +57 -58
- package/src/features/chatbot/components/Chat/Chat.tsx +36 -31
- package/src/features/chatbot/components/ChatMessage/ChatMessage.tsx +3 -3
- package/src/features/chatbot/components/ChatMessage/MessageContent.tsx +11 -16
- package/src/features/chatbot/components/ChatMessage/ReceivedMessage.tsx +2 -2
- package/src/features/chatbot/components/Chatbot.tsx +4 -7
- package/src/features/chatbot/constants.ts +2 -0
- package/src/features/chatbot/helpers/{textToSSML.ts → ttsHighlight.ts} +9 -2
- package/src/features/chatbot/index.ts +1 -1
- package/src/features/chatbot/model/ChatBotModel.ts +10 -5
- package/src/features/chatbot/model/ChatTTSHighlightModel.ts +64 -0
- package/src/features/chatbot/model/ChatTTSModel.ts +168 -0
- package/src/features/chatbot/types/t2s.types.ts +30 -4
- package/src/features/openEnded/components/OpenEndedAttemptsLimit.tsx +26 -0
- package/src/features/openEnded/components/OpenEndedScoreLabel.tsx +68 -0
- package/src/features/openEnded/index.ts +4 -0
- package/src/features/openEnded/oe.helpers.ts +31 -0
- package/src/features/openEnded/oe.types.ts +6 -0
- package/src/index.ts +1 -0
- package/src/shared/common.constants.ts +3 -0
- package/src/types/common.types.ts +4 -0
- package/dist/commonjs/features/chatbot/helpers/textToSSML.js.map +0 -1
- package/dist/commonjs/features/chatbot/model/t2s.js +0 -213
- package/dist/commonjs/features/chatbot/model/t2s.js.map +0 -1
- package/dist/module/features/chatbot/helpers/textToSSML.js.map +0 -1
- package/dist/module/features/chatbot/model/t2s.js +0 -208
- package/dist/module/features/chatbot/model/t2s.js.map +0 -1
- package/dist/typescript/commonjs/features/chatbot/helpers/textToSSML.d.ts.map +0 -1
- package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts +0 -52
- package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts.map +0 -1
- package/dist/typescript/module/features/chatbot/helpers/textToSSML.d.ts.map +0 -1
- package/dist/typescript/module/features/chatbot/model/t2s.d.ts +0 -52
- package/dist/typescript/module/features/chatbot/model/t2s.d.ts.map +0 -1
- 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
|
|
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,
|
|
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,76 @@ 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
|
-
|
|
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
|
-
##
|
|
40
|
+
## Architecture
|
|
50
41
|
|
|
51
|
-
###
|
|
42
|
+
### ChatTextToSpeechModel (ChatTTSModel.ts)
|
|
52
43
|
|
|
53
|
-
|
|
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
|
-
|
|
83
|
-
|
|
46
|
+
- **Unified cache** — single `cache: Record<string, CacheEntry>` stores both `audioPath` and `timepoints`. When highlighting is off, `timepoints` is `[]`.
|
|
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
|
+
- **`isWordHighlightEnabled` config flag** — explicitly enables highlighting at the call site. Validated once in `setConfig` against `audioProvider.onTimeUpdate` capability.
|
|
50
|
+
- **`wordHighlightEnabled` (private)** — stored result of `!!isWordHighlightEnabled && !!audioProvider.onTimeUpdate`. Set once at setup.
|
|
51
|
+
- **`isWordHighlightEnabled` (public getter)** — read-only access for external consumers (e.g. `Chat.tsx`). Returns `wordHighlightEnabled`.
|
|
84
52
|
|
|
85
|
-
###
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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. Receives `OnTimeUpdate` callback directly (not the whole `AudioProvider`).
|
|
70
|
+
|
|
71
|
+
- `activate(timepoints, onTimeUpdate)` — sets timepoints, starts listening to time updates
|
|
72
|
+
- `deactivate(onTimeUpdate)` — stops listening, resets state
|
|
73
|
+
- `$highlightedWordIndex` — derived store, computes current word index from timepoints + time
|
|
74
|
+
|
|
75
|
+
### Naming conventions
|
|
76
|
+
|
|
77
|
+
| Name | Scope | Purpose |
|
|
78
|
+
|------|-------|---------|
|
|
79
|
+
| `wordHighlight` | public instance | `ChatTTSHighlightModel` instance on `ChatTextToSpeechModel` |
|
|
80
|
+
| `wordHighlightEnabled` | private field | Whether highlighting is active (set once at config) |
|
|
81
|
+
| `isWordHighlightEnabled` | public getter | Read-only access to `wordHighlightEnabled` for external consumers |
|
|
82
|
+
| `isWordHighlightEnabled` | T2SConfig field | Config flag passed to `setUpT2S()` |
|
|
83
|
+
|
|
93
84
|
## Data Flow
|
|
94
85
|
|
|
95
86
|
```
|
|
96
|
-
AudioProvider.onTimeUpdate(
|
|
87
|
+
AudioProvider.onTimeUpdate(callback)
|
|
97
88
|
↓
|
|
98
|
-
|
|
89
|
+
ChatTTSHighlightModel.activate(timepoints, onTimeUpdate)
|
|
99
90
|
↓
|
|
100
|
-
|
|
91
|
+
RAF loop → audio.currentTime → findCurrentMark() → only updates when mark changes
|
|
101
92
|
↓
|
|
102
|
-
|
|
93
|
+
$highlightedWordIndex = parse mark name "w_N" → N
|
|
103
94
|
↓
|
|
104
|
-
|
|
95
|
+
Chat.tsx: model.t2s.isWordHighlightEnabled && isCurrentPlaying ? highlightedWordIndex : null
|
|
105
96
|
↓
|
|
106
|
-
MessageRenderer({ text, highlightedIndex })
|
|
107
|
-
↓
|
|
108
|
-
ChatbotHighlightedMessage renders highlighted word
|
|
97
|
+
ChatMessage → MessageContent → MessageRenderer({ text, highlightedIndex })
|
|
109
98
|
```
|
|
99
|
+
|
|
100
|
+
## Key Files
|
|
101
|
+
|
|
102
|
+
| File | Purpose |
|
|
103
|
+
|------|---------|
|
|
104
|
+
| `model/ChatTTSModel.ts` | `ChatTextToSpeechModel` — TTS playback, caching, highlight orchestration |
|
|
105
|
+
| `model/ChatTTSHighlightModel.ts` | Highlight state — timepoints, current time, derived word index |
|
|
106
|
+
| `helpers/textToSSML.ts` | Converts text to SSML with `<mark>` tags for word timing |
|
|
107
|
+
| `types/t2s.types.ts` | `AudioProvider`, `OnTimeUpdate`, `AudioStatus` types |
|
|
108
|
+
| `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
|
-
|
|
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,33 @@ 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 =>
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
65
|
+
children: [messages.map(message => {
|
|
66
|
+
const isPlayingMessage = message.id === currentPlayingId;
|
|
67
|
+
const messageHighlightIndex = model.t2s.isWordHighlightEnabled && isPlayingMessage ? highlightedWordIndex : -1;
|
|
68
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.default.Fragment, {
|
|
69
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ConditionalWrapper.ConditionalWrapper, {
|
|
70
|
+
withWrapper: shouldWrapMessage,
|
|
71
|
+
Wrapper: MessageWrapper,
|
|
72
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChatMessage.ChatMessage, {
|
|
73
|
+
isTranslated: isTranslated,
|
|
74
|
+
withIcon: !message.isOwnMessage && message.id === lastMessageId,
|
|
75
|
+
message: message,
|
|
76
|
+
variant: message.isOwnMessage ? _modelTypes.MessageVariant.SENT : _modelTypes.MessageVariant.RECEIVED,
|
|
77
|
+
colorScheme: colorScheme,
|
|
78
|
+
withErrorSpotting: errorSpottingEnabled && !message.isOwnMessage,
|
|
79
|
+
highlightedWordIndex: messageHighlightIndex,
|
|
80
|
+
TTSHighlightRenderer: TTSHighlightRenderer,
|
|
81
|
+
t2sState: {
|
|
82
|
+
isEnabled: isTextToSpeechEnabled && !message.isOwnMessage,
|
|
83
|
+
isActive: isPlayingMessage,
|
|
84
|
+
isLoading: isTextToSpeechPending,
|
|
85
|
+
status: audioStatus,
|
|
86
|
+
disabled: isTextToSpeechPending
|
|
87
|
+
}
|
|
88
|
+
}, message.id)
|
|
89
|
+
})
|
|
90
|
+
}, message.id);
|
|
91
|
+
}), isHelpRequestPending && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MessageLoader.MessageLoader, {
|
|
87
92
|
colorScheme: colorScheme
|
|
88
93
|
})]
|
|
89
94
|
}), 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","
|
|
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","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
|
-
|
|
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: [
|
|
26
|
+
children: [TTSHighlightComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(TTSHighlightComponent, {
|
|
30
27
|
text: text,
|
|
31
|
-
highlightedIndex: highlightedWordIndex ??
|
|
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
|
-
|
|
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: [
|
|
52
|
+
children: [TTSHighlightComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(TTSHighlightComponent, {
|
|
57
53
|
text: text,
|
|
58
|
-
highlightedIndex: highlightedWordIndex ??
|
|
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","
|
|
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
|
-
|
|
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
|
-
|
|
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","
|
|
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
|
-
|
|
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
|
-
|
|
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","
|
|
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.
|
|
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
|
|
19
|
-
|
|
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.
|
|
22
|
-
//# sourceMappingURL=
|
|
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
|
|
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":[]}
|