@mobileai/react-native 0.4.2 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -2
- package/lib/module/components/AIAgent.js +216 -5
- package/lib/module/components/AIAgent.js.map +1 -1
- package/lib/module/components/AgentChatBar.js +358 -36
- package/lib/module/components/AgentChatBar.js.map +1 -1
- package/lib/module/core/AgentRuntime.js +122 -6
- package/lib/module/core/AgentRuntime.js.map +1 -1
- package/lib/module/core/systemPrompt.js +57 -0
- package/lib/module/core/systemPrompt.js.map +1 -1
- package/lib/module/index.js +8 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/providers/GeminiProvider.js +108 -85
- package/lib/module/providers/GeminiProvider.js.map +1 -1
- package/lib/module/services/AudioInputService.js +128 -0
- package/lib/module/services/AudioInputService.js.map +1 -0
- package/lib/module/services/AudioOutputService.js +154 -0
- package/lib/module/services/AudioOutputService.js.map +1 -0
- package/lib/module/services/VoiceService.js +362 -0
- package/lib/module/services/VoiceService.js.map +1 -0
- package/lib/module/utils/audioUtils.js +49 -0
- package/lib/module/utils/audioUtils.js.map +1 -0
- package/lib/module/utils/logger.js +21 -4
- package/lib/module/utils/logger.js.map +1 -1
- package/lib/typescript/babel.config.d.ts +10 -0
- package/lib/typescript/babel.config.d.ts.map +1 -0
- package/lib/typescript/eslint.config.d.mts +3 -0
- package/lib/typescript/eslint.config.d.mts.map +1 -0
- package/lib/typescript/fetch-models.d.mts +2 -0
- package/lib/typescript/fetch-models.d.mts.map +1 -0
- package/lib/typescript/list-all-models.d.mts +2 -0
- package/lib/typescript/list-all-models.d.mts.map +1 -0
- package/lib/typescript/list-models.d.mts +2 -0
- package/lib/typescript/list-models.d.mts.map +1 -0
- package/lib/typescript/src/components/AIAgent.d.ts +8 -2
- package/lib/typescript/src/components/AIAgent.d.ts.map +1 -1
- package/lib/typescript/src/components/AgentChatBar.d.ts +19 -2
- package/lib/typescript/src/components/AgentChatBar.d.ts.map +1 -1
- package/lib/typescript/src/core/AgentRuntime.d.ts +17 -1
- package/lib/typescript/src/core/AgentRuntime.d.ts.map +1 -1
- package/lib/typescript/src/core/systemPrompt.d.ts +8 -0
- package/lib/typescript/src/core/systemPrompt.d.ts.map +1 -1
- package/lib/typescript/src/core/types.d.ts +24 -1
- package/lib/typescript/src/core/types.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +6 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/providers/GeminiProvider.d.ts +22 -18
- package/lib/typescript/src/providers/GeminiProvider.d.ts.map +1 -1
- package/lib/typescript/src/services/AudioInputService.d.ts +31 -0
- package/lib/typescript/src/services/AudioInputService.d.ts.map +1 -0
- package/lib/typescript/src/services/AudioOutputService.d.ts +34 -0
- package/lib/typescript/src/services/AudioOutputService.d.ts.map +1 -0
- package/lib/typescript/src/services/VoiceService.d.ts +73 -0
- package/lib/typescript/src/services/VoiceService.d.ts.map +1 -0
- package/lib/typescript/src/utils/audioUtils.d.ts +17 -0
- package/lib/typescript/src/utils/audioUtils.d.ts.map +1 -0
- package/lib/typescript/src/utils/logger.d.ts +4 -0
- package/lib/typescript/src/utils/logger.d.ts.map +1 -1
- package/package.json +24 -8
- package/src/components/AIAgent.tsx +222 -3
- package/src/components/AgentChatBar.tsx +487 -42
- package/src/core/AgentRuntime.ts +131 -2
- package/src/core/systemPrompt.ts +62 -0
- package/src/core/types.ts +30 -0
- package/src/index.ts +16 -0
- package/src/providers/GeminiProvider.ts +105 -89
- package/src/services/AudioInputService.ts +141 -0
- package/src/services/AudioOutputService.ts +167 -0
- package/src/services/VoiceService.ts +409 -0
- package/src/utils/audioUtils.ts +54 -0
- package/src/utils/logger.ts +24 -7
|
@@ -2,18 +2,250 @@
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* AgentChatBar — Floating, draggable, compressible chat widget.
|
|
5
|
+
* Supports two modes: Text and Voice.
|
|
5
6
|
* Does not block underlying UI natively.
|
|
6
7
|
*/
|
|
7
8
|
|
|
8
9
|
import { useState, useRef } from 'react';
|
|
9
10
|
import { View, TextInput, Pressable, Text, StyleSheet, Animated, PanResponder, useWindowDimensions } from 'react-native';
|
|
11
|
+
|
|
12
|
+
// ─── Props ─────────────────────────────────────────────────────
|
|
10
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
+
// ─── Mode Selector ─────────────────────────────────────────────
|
|
15
|
+
|
|
16
|
+
function ModeSelector({
|
|
17
|
+
modes,
|
|
18
|
+
activeMode,
|
|
19
|
+
onSelect
|
|
20
|
+
}) {
|
|
21
|
+
if (modes.length <= 1) return null;
|
|
22
|
+
const labels = {
|
|
23
|
+
text: {
|
|
24
|
+
icon: '💬',
|
|
25
|
+
label: 'Text'
|
|
26
|
+
},
|
|
27
|
+
voice: {
|
|
28
|
+
icon: '🎙️',
|
|
29
|
+
label: 'Live Agent'
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
return /*#__PURE__*/_jsx(View, {
|
|
33
|
+
style: modeStyles.container,
|
|
34
|
+
children: modes.map(mode => /*#__PURE__*/_jsxs(Pressable, {
|
|
35
|
+
style: [modeStyles.tab, activeMode === mode && modeStyles.tabActive],
|
|
36
|
+
onPress: () => onSelect(mode),
|
|
37
|
+
accessibilityLabel: `Switch to ${labels[mode].label} mode`,
|
|
38
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
39
|
+
style: modeStyles.tabIcon,
|
|
40
|
+
children: labels[mode].icon
|
|
41
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
42
|
+
style: [modeStyles.tabLabel, activeMode === mode && modeStyles.tabLabelActive],
|
|
43
|
+
children: labels[mode].label
|
|
44
|
+
})]
|
|
45
|
+
}, mode))
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// ─── Audio Control Button ──────────────────────────────────────
|
|
50
|
+
|
|
51
|
+
function AudioControlButton({
|
|
52
|
+
icon,
|
|
53
|
+
activeIcon,
|
|
54
|
+
isActive,
|
|
55
|
+
onPress,
|
|
56
|
+
label,
|
|
57
|
+
size = 36
|
|
58
|
+
}) {
|
|
59
|
+
return /*#__PURE__*/_jsx(Pressable, {
|
|
60
|
+
style: [audioStyles.controlBtn, {
|
|
61
|
+
width: size,
|
|
62
|
+
height: size,
|
|
63
|
+
borderRadius: size / 2
|
|
64
|
+
}, isActive && audioStyles.controlBtnActive],
|
|
65
|
+
onPress: onPress,
|
|
66
|
+
accessibilityLabel: label,
|
|
67
|
+
hitSlop: 8,
|
|
68
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
69
|
+
style: audioStyles.controlIcon,
|
|
70
|
+
children: isActive ? activeIcon : icon
|
|
71
|
+
})
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// ─── Dictation Button (optional expo-speech-recognition) ──────
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Try to load expo-speech-recognition as an optional peer dependency.
|
|
79
|
+
* If not installed, returns null and the mic button won't render.
|
|
80
|
+
* Same pattern as react-native-view-shot for screenshots.
|
|
81
|
+
*/
|
|
82
|
+
let SpeechModule = null;
|
|
83
|
+
try {
|
|
84
|
+
SpeechModule = require('expo-speech-recognition');
|
|
85
|
+
} catch {
|
|
86
|
+
// Not installed — dictation button won't appear
|
|
87
|
+
}
|
|
88
|
+
function DictationButton({
|
|
89
|
+
language,
|
|
90
|
+
onTranscript,
|
|
91
|
+
disabled
|
|
92
|
+
}) {
|
|
93
|
+
const [isListening, setIsListening] = useState(false);
|
|
94
|
+
|
|
95
|
+
// Don't render if expo-speech-recognition isn't installed
|
|
96
|
+
if (!SpeechModule) return null;
|
|
97
|
+
const {
|
|
98
|
+
ExpoSpeechRecognitionModule
|
|
99
|
+
} = SpeechModule;
|
|
100
|
+
if (!ExpoSpeechRecognitionModule) return null;
|
|
101
|
+
const toggle = async () => {
|
|
102
|
+
if (isListening) {
|
|
103
|
+
ExpoSpeechRecognitionModule.stop();
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
try {
|
|
107
|
+
const perms = await ExpoSpeechRecognitionModule.requestPermissionsAsync();
|
|
108
|
+
if (!perms.granted) return;
|
|
109
|
+
|
|
110
|
+
// Register one-shot listeners for this recording session
|
|
111
|
+
const resultListener = ExpoSpeechRecognitionModule.addListener('result', event => {
|
|
112
|
+
const transcript = event.results?.[0]?.transcript;
|
|
113
|
+
if (transcript && event.isFinal) {
|
|
114
|
+
onTranscript(transcript);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
const endListener = ExpoSpeechRecognitionModule.addListener('end', () => {
|
|
118
|
+
setIsListening(false);
|
|
119
|
+
resultListener.remove();
|
|
120
|
+
endListener.remove();
|
|
121
|
+
});
|
|
122
|
+
ExpoSpeechRecognitionModule.start({
|
|
123
|
+
lang: language === 'ar' ? 'ar-SA' : 'en-US',
|
|
124
|
+
interimResults: false,
|
|
125
|
+
continuous: false,
|
|
126
|
+
addsPunctuation: true
|
|
127
|
+
});
|
|
128
|
+
setIsListening(true);
|
|
129
|
+
} catch {
|
|
130
|
+
setIsListening(false);
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
return /*#__PURE__*/_jsx(Pressable, {
|
|
134
|
+
style: [styles.dictationButton, isListening && styles.dictationButtonActive, disabled && styles.sendButtonDisabled],
|
|
135
|
+
onPress: toggle,
|
|
136
|
+
disabled: disabled,
|
|
137
|
+
accessibilityLabel: isListening ? 'Stop dictation' : 'Start dictation',
|
|
138
|
+
hitSlop: 8,
|
|
139
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
140
|
+
style: styles.sendButtonText,
|
|
141
|
+
children: isListening ? '⏹️' : '🎤'
|
|
142
|
+
})
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// ─── Text Input Row ────────────────────────────────────────────
|
|
147
|
+
|
|
148
|
+
function TextInputRow({
|
|
149
|
+
text,
|
|
150
|
+
setText,
|
|
151
|
+
onSend,
|
|
152
|
+
isThinking,
|
|
153
|
+
isArabic
|
|
154
|
+
}) {
|
|
155
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
156
|
+
style: styles.inputRow,
|
|
157
|
+
children: [/*#__PURE__*/_jsx(TextInput, {
|
|
158
|
+
style: [styles.input, isArabic && styles.inputRTL],
|
|
159
|
+
placeholder: isArabic ? 'اكتب طلبك...' : 'Ask AI...',
|
|
160
|
+
placeholderTextColor: "#999",
|
|
161
|
+
value: text,
|
|
162
|
+
onChangeText: setText,
|
|
163
|
+
onSubmitEditing: onSend,
|
|
164
|
+
returnKeyType: "send",
|
|
165
|
+
editable: !isThinking,
|
|
166
|
+
multiline: false
|
|
167
|
+
}), /*#__PURE__*/_jsx(DictationButton, {
|
|
168
|
+
language: isArabic ? 'ar' : 'en',
|
|
169
|
+
onTranscript: t => setText(t),
|
|
170
|
+
disabled: isThinking
|
|
171
|
+
}), /*#__PURE__*/_jsx(Pressable, {
|
|
172
|
+
style: [styles.sendButton, isThinking && styles.sendButtonDisabled],
|
|
173
|
+
onPress: onSend,
|
|
174
|
+
disabled: isThinking || !text.trim(),
|
|
175
|
+
accessibilityLabel: "Send request to AI Agent",
|
|
176
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
177
|
+
style: styles.sendButtonText,
|
|
178
|
+
children: isThinking ? '⏳' : '🚀'
|
|
179
|
+
})
|
|
180
|
+
})]
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
// ─── Voice Controls Row ────────────────────────────────────────
|
|
185
|
+
|
|
186
|
+
function VoiceControlsRow({
|
|
187
|
+
isMicActive,
|
|
188
|
+
isSpeakerMuted,
|
|
189
|
+
onMicToggle,
|
|
190
|
+
onSpeakerToggle,
|
|
191
|
+
isAISpeaking,
|
|
192
|
+
isVoiceConnected = false,
|
|
193
|
+
isArabic,
|
|
194
|
+
onStopSession
|
|
195
|
+
}) {
|
|
196
|
+
const isConnecting = !isVoiceConnected;
|
|
197
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
198
|
+
style: styles.inputRow,
|
|
199
|
+
children: [/*#__PURE__*/_jsx(AudioControlButton, {
|
|
200
|
+
icon: "\uD83D\uDD0A",
|
|
201
|
+
activeIcon: "\uD83D\uDD07",
|
|
202
|
+
isActive: isSpeakerMuted,
|
|
203
|
+
onPress: () => onSpeakerToggle(!isSpeakerMuted),
|
|
204
|
+
label: isSpeakerMuted ? 'Unmute speaker' : 'Mute speaker'
|
|
205
|
+
}), /*#__PURE__*/_jsxs(Pressable, {
|
|
206
|
+
style: [audioStyles.micButton, isConnecting && audioStyles.micButtonConnecting, isMicActive && audioStyles.micButtonActive, isAISpeaking && audioStyles.micButtonSpeaking],
|
|
207
|
+
onPress: () => {
|
|
208
|
+
if (isMicActive) {
|
|
209
|
+
// Stop button: full session cleanup
|
|
210
|
+
onStopSession?.();
|
|
211
|
+
} else if (!isConnecting) {
|
|
212
|
+
// Talk button: start mic
|
|
213
|
+
onMicToggle(true);
|
|
214
|
+
}
|
|
215
|
+
},
|
|
216
|
+
disabled: isConnecting,
|
|
217
|
+
accessibilityLabel: isConnecting ? 'Connecting...' : isMicActive ? 'Stop recording' : 'Start recording',
|
|
218
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
219
|
+
style: audioStyles.micIcon,
|
|
220
|
+
children: isConnecting ? '🔄' : isAISpeaking ? '🔊' : isMicActive ? '⏹️' : '🎙️'
|
|
221
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
222
|
+
style: audioStyles.micLabel,
|
|
223
|
+
children: isConnecting ? isArabic ? 'جاري الاتصال...' : 'Connecting...' : isAISpeaking ? isArabic ? 'يتحدث...' : 'Speaking...' : isMicActive ? isArabic ? 'إيقاف' : 'Stop' : isArabic ? 'تحدث' : 'Talk'
|
|
224
|
+
})]
|
|
225
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
226
|
+
style: [audioStyles.statusDot, isVoiceConnected ? audioStyles.statusDotConnected : audioStyles.statusDotConnecting]
|
|
227
|
+
})]
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
// ─── Main Component ────────────────────────────────────────────
|
|
232
|
+
|
|
11
233
|
export function AgentChatBar({
|
|
12
234
|
onSend,
|
|
13
235
|
isThinking,
|
|
14
236
|
lastResult,
|
|
15
237
|
language,
|
|
16
|
-
onDismiss
|
|
238
|
+
onDismiss,
|
|
239
|
+
availableModes = ['text'],
|
|
240
|
+
mode = 'text',
|
|
241
|
+
onModeChange,
|
|
242
|
+
onMicToggle,
|
|
243
|
+
onSpeakerToggle,
|
|
244
|
+
isMicActive = false,
|
|
245
|
+
isSpeakerMuted = false,
|
|
246
|
+
isAISpeaking,
|
|
247
|
+
isVoiceConnected,
|
|
248
|
+
onStopSession
|
|
17
249
|
}) {
|
|
18
250
|
const [text, setText] = useState('');
|
|
19
251
|
const [isExpanded, setIsExpanded] = useState(false);
|
|
@@ -21,18 +253,12 @@ export function AgentChatBar({
|
|
|
21
253
|
height
|
|
22
254
|
} = useWindowDimensions();
|
|
23
255
|
const isArabic = language === 'ar';
|
|
24
|
-
|
|
25
|
-
// Initial position: Bottom right for FAB, Bottom center for Expanded
|
|
26
|
-
// For simplicity, we just initialize to a safe generic spot on screen.
|
|
27
256
|
const pan = useRef(new Animated.ValueXY({
|
|
28
257
|
x: 10,
|
|
29
258
|
y: height - 200
|
|
30
259
|
})).current;
|
|
31
|
-
|
|
32
|
-
// PanResponder for dragging the widget
|
|
33
260
|
const panResponder = useRef(PanResponder.create({
|
|
34
261
|
onMoveShouldSetPanResponder: (_, gestureState) => {
|
|
35
|
-
// Only trigger drag if moving more than 5px (allows taps to register inside)
|
|
36
262
|
return Math.abs(gestureState.dx) > 5 || Math.abs(gestureState.dy) > 5;
|
|
37
263
|
},
|
|
38
264
|
onPanResponderGrant: () => {
|
|
@@ -62,8 +288,10 @@ export function AgentChatBar({
|
|
|
62
288
|
}
|
|
63
289
|
};
|
|
64
290
|
|
|
65
|
-
// ───
|
|
291
|
+
// ─── FAB (Compressed) ──────────────────────────────────────
|
|
292
|
+
|
|
66
293
|
if (!isExpanded) {
|
|
294
|
+
const fabIcon = isThinking ? '⏳' : '🤖';
|
|
67
295
|
return /*#__PURE__*/_jsx(Animated.View, {
|
|
68
296
|
style: [styles.fabContainer, pan.getLayout()],
|
|
69
297
|
...panResponder.panHandlers,
|
|
@@ -73,13 +301,14 @@ export function AgentChatBar({
|
|
|
73
301
|
accessibilityLabel: "Open AI Agent Chat",
|
|
74
302
|
children: /*#__PURE__*/_jsx(Text, {
|
|
75
303
|
style: styles.fabIcon,
|
|
76
|
-
children:
|
|
304
|
+
children: fabIcon
|
|
77
305
|
})
|
|
78
306
|
})
|
|
79
307
|
});
|
|
80
308
|
}
|
|
81
309
|
|
|
82
|
-
// ─── Expanded
|
|
310
|
+
// ─── Expanded Widget ───────────────────────────────────────
|
|
311
|
+
|
|
83
312
|
return /*#__PURE__*/_jsxs(Animated.View, {
|
|
84
313
|
style: [styles.expandedContainer, pan.getLayout()],
|
|
85
314
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
@@ -97,6 +326,10 @@ export function AgentChatBar({
|
|
|
97
326
|
children: "\u2014"
|
|
98
327
|
})
|
|
99
328
|
})]
|
|
329
|
+
}), /*#__PURE__*/_jsx(ModeSelector, {
|
|
330
|
+
modes: availableModes,
|
|
331
|
+
activeMode: mode,
|
|
332
|
+
onSelect: m => onModeChange?.(m)
|
|
100
333
|
}), lastResult && /*#__PURE__*/_jsxs(View, {
|
|
101
334
|
style: [styles.resultBubble, lastResult.success ? styles.resultSuccess : styles.resultError],
|
|
102
335
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
@@ -111,33 +344,28 @@ export function AgentChatBar({
|
|
|
111
344
|
children: "\u2715"
|
|
112
345
|
})
|
|
113
346
|
})]
|
|
114
|
-
}), /*#__PURE__*/
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
disabled: isThinking || !text.trim(),
|
|
130
|
-
accessibilityLabel: "Send request to AI Agent",
|
|
131
|
-
children: /*#__PURE__*/_jsx(Text, {
|
|
132
|
-
style: styles.sendButtonText,
|
|
133
|
-
children: isThinking ? '⏳' : '🚀'
|
|
134
|
-
})
|
|
135
|
-
})]
|
|
347
|
+
}), mode === 'text' && /*#__PURE__*/_jsx(TextInputRow, {
|
|
348
|
+
text: text,
|
|
349
|
+
setText: setText,
|
|
350
|
+
onSend: handleSend,
|
|
351
|
+
isThinking: isThinking,
|
|
352
|
+
isArabic: isArabic
|
|
353
|
+
}), mode === 'voice' && /*#__PURE__*/_jsx(VoiceControlsRow, {
|
|
354
|
+
isMicActive: isMicActive,
|
|
355
|
+
isSpeakerMuted: isSpeakerMuted,
|
|
356
|
+
onMicToggle: onMicToggle || (() => {}),
|
|
357
|
+
onSpeakerToggle: onSpeakerToggle || (() => {}),
|
|
358
|
+
isAISpeaking: isAISpeaking,
|
|
359
|
+
isVoiceConnected: isVoiceConnected,
|
|
360
|
+
isArabic: isArabic,
|
|
361
|
+
onStopSession: onStopSession
|
|
136
362
|
})]
|
|
137
363
|
});
|
|
138
364
|
}
|
|
365
|
+
|
|
366
|
+
// ─── Styles ────────────────────────────────────────────────────
|
|
367
|
+
|
|
139
368
|
const styles = StyleSheet.create({
|
|
140
|
-
// FAB Styles
|
|
141
369
|
fabContainer: {
|
|
142
370
|
position: 'absolute',
|
|
143
371
|
zIndex: 9999
|
|
@@ -161,7 +389,6 @@ const styles = StyleSheet.create({
|
|
|
161
389
|
fabIcon: {
|
|
162
390
|
fontSize: 28
|
|
163
391
|
},
|
|
164
|
-
// Expanded Styles
|
|
165
392
|
expandedContainer: {
|
|
166
393
|
position: 'absolute',
|
|
167
394
|
zIndex: 9999,
|
|
@@ -203,7 +430,6 @@ const styles = StyleSheet.create({
|
|
|
203
430
|
fontSize: 18,
|
|
204
431
|
fontWeight: 'bold'
|
|
205
432
|
},
|
|
206
|
-
// Results & Input
|
|
207
433
|
resultBubble: {
|
|
208
434
|
borderRadius: 12,
|
|
209
435
|
padding: 12,
|
|
@@ -235,7 +461,8 @@ const styles = StyleSheet.create({
|
|
|
235
461
|
inputRow: {
|
|
236
462
|
flexDirection: 'row',
|
|
237
463
|
alignItems: 'center',
|
|
238
|
-
gap: 8
|
|
464
|
+
gap: 8,
|
|
465
|
+
justifyContent: 'center'
|
|
239
466
|
},
|
|
240
467
|
input: {
|
|
241
468
|
flex: 1,
|
|
@@ -263,6 +490,101 @@ const styles = StyleSheet.create({
|
|
|
263
490
|
},
|
|
264
491
|
sendButtonText: {
|
|
265
492
|
fontSize: 18
|
|
493
|
+
},
|
|
494
|
+
dictationButton: {
|
|
495
|
+
width: 40,
|
|
496
|
+
height: 40,
|
|
497
|
+
borderRadius: 20,
|
|
498
|
+
backgroundColor: 'rgba(255, 255, 255, 0.15)',
|
|
499
|
+
justifyContent: 'center',
|
|
500
|
+
alignItems: 'center'
|
|
501
|
+
},
|
|
502
|
+
dictationButtonActive: {
|
|
503
|
+
backgroundColor: 'rgba(255, 59, 48, 0.3)'
|
|
504
|
+
}
|
|
505
|
+
});
|
|
506
|
+
const modeStyles = StyleSheet.create({
|
|
507
|
+
container: {
|
|
508
|
+
flexDirection: 'row',
|
|
509
|
+
marginBottom: 12,
|
|
510
|
+
borderRadius: 12,
|
|
511
|
+
backgroundColor: 'rgba(255, 255, 255, 0.08)',
|
|
512
|
+
padding: 3
|
|
513
|
+
},
|
|
514
|
+
tab: {
|
|
515
|
+
flex: 1,
|
|
516
|
+
flexDirection: 'row',
|
|
517
|
+
alignItems: 'center',
|
|
518
|
+
justifyContent: 'center',
|
|
519
|
+
paddingVertical: 8,
|
|
520
|
+
borderRadius: 10,
|
|
521
|
+
gap: 4
|
|
522
|
+
},
|
|
523
|
+
tabActive: {
|
|
524
|
+
backgroundColor: 'rgba(255, 255, 255, 0.15)'
|
|
525
|
+
},
|
|
526
|
+
tabIcon: {
|
|
527
|
+
fontSize: 14
|
|
528
|
+
},
|
|
529
|
+
tabLabel: {
|
|
530
|
+
color: 'rgba(255, 255, 255, 0.5)',
|
|
531
|
+
fontSize: 12,
|
|
532
|
+
fontWeight: '600'
|
|
533
|
+
},
|
|
534
|
+
tabLabelActive: {
|
|
535
|
+
color: '#fff'
|
|
536
|
+
}
|
|
537
|
+
});
|
|
538
|
+
const audioStyles = StyleSheet.create({
|
|
539
|
+
controlBtn: {
|
|
540
|
+
backgroundColor: 'rgba(255, 255, 255, 0.1)',
|
|
541
|
+
justifyContent: 'center',
|
|
542
|
+
alignItems: 'center'
|
|
543
|
+
},
|
|
544
|
+
controlBtnActive: {
|
|
545
|
+
backgroundColor: 'rgba(255, 100, 100, 0.2)'
|
|
546
|
+
},
|
|
547
|
+
controlIcon: {
|
|
548
|
+
fontSize: 16
|
|
549
|
+
},
|
|
550
|
+
micButton: {
|
|
551
|
+
flex: 1,
|
|
552
|
+
flexDirection: 'row',
|
|
553
|
+
alignItems: 'center',
|
|
554
|
+
justifyContent: 'center',
|
|
555
|
+
paddingVertical: 12,
|
|
556
|
+
borderRadius: 24,
|
|
557
|
+
backgroundColor: 'rgba(255, 255, 255, 0.1)',
|
|
558
|
+
gap: 8
|
|
559
|
+
},
|
|
560
|
+
micButtonActive: {
|
|
561
|
+
backgroundColor: 'rgba(255, 59, 48, 0.3)'
|
|
562
|
+
},
|
|
563
|
+
micButtonSpeaking: {
|
|
564
|
+
backgroundColor: 'rgba(52, 199, 89, 0.3)'
|
|
565
|
+
},
|
|
566
|
+
micIcon: {
|
|
567
|
+
fontSize: 20
|
|
568
|
+
},
|
|
569
|
+
micLabel: {
|
|
570
|
+
color: '#fff',
|
|
571
|
+
fontSize: 14,
|
|
572
|
+
fontWeight: '600'
|
|
573
|
+
},
|
|
574
|
+
micButtonConnecting: {
|
|
575
|
+
backgroundColor: 'rgba(255, 200, 50, 0.2)',
|
|
576
|
+
opacity: 0.7
|
|
577
|
+
},
|
|
578
|
+
statusDot: {
|
|
579
|
+
width: 10,
|
|
580
|
+
height: 10,
|
|
581
|
+
borderRadius: 5
|
|
582
|
+
},
|
|
583
|
+
statusDotConnected: {
|
|
584
|
+
backgroundColor: '#34C759'
|
|
585
|
+
},
|
|
586
|
+
statusDotConnecting: {
|
|
587
|
+
backgroundColor: '#FFCC00'
|
|
266
588
|
}
|
|
267
589
|
});
|
|
268
590
|
//# sourceMappingURL=AgentChatBar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useRef","View","TextInput","Pressable","Text","StyleSheet","Animated","PanResponder","useWindowDimensions","jsx","_jsx","jsxs","_jsxs","AgentChatBar","onSend","isThinking","lastResult","language","onDismiss","text","setText","isExpanded","setIsExpanded","height","isArabic","pan","ValueXY","x","y","current","panResponder","create","onMoveShouldSetPanResponder","_","gestureState","Math","abs","dx","dy","onPanResponderGrant","setOffset","_value","setValue","onPanResponderMove","event","useNativeDriver","onPanResponderRelease","flattenOffset","handleSend","trim","style","styles","fabContainer","getLayout","panHandlers","children","fab","onPress","accessibilityLabel","fabIcon","expandedContainer","dragHandleArea","dragGrip","minimizeBtn","minimizeText","resultBubble","success","resultSuccess","resultError","resultText","message","dismissButton","hitSlop","dismissText","inputRow","input","inputRTL","placeholder","placeholderTextColor","value","onChangeText","onSubmitEditing","returnKeyType","editable","multiline","sendButton","sendButtonDisabled","disabled","sendButtonText","position","zIndex","width","borderRadius","backgroundColor","justifyContent","alignItems","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","fontSize","padding","paddingTop","marginBottom","right","top","color","fontWeight","flexDirection","lineHeight","flex","marginLeft","gap","paddingHorizontal","paddingVertical","textAlign","writingDirection","opacity"],"sourceRoot":"../../../src","sources":["components/AgentChatBar.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useState","useRef","View","TextInput","Pressable","Text","StyleSheet","Animated","PanResponder","useWindowDimensions","jsx","_jsx","jsxs","_jsxs","ModeSelector","modes","activeMode","onSelect","length","labels","text","icon","label","voice","style","modeStyles","container","children","map","mode","tab","tabActive","onPress","accessibilityLabel","tabIcon","tabLabel","tabLabelActive","AudioControlButton","activeIcon","isActive","size","audioStyles","controlBtn","width","height","borderRadius","controlBtnActive","hitSlop","controlIcon","SpeechModule","require","DictationButton","language","onTranscript","disabled","isListening","setIsListening","ExpoSpeechRecognitionModule","toggle","stop","perms","requestPermissionsAsync","granted","resultListener","addListener","event","transcript","results","isFinal","endListener","remove","start","lang","interimResults","continuous","addsPunctuation","styles","dictationButton","dictationButtonActive","sendButtonDisabled","sendButtonText","TextInputRow","setText","onSend","isThinking","isArabic","inputRow","input","inputRTL","placeholder","placeholderTextColor","value","onChangeText","onSubmitEditing","returnKeyType","editable","multiline","t","sendButton","trim","VoiceControlsRow","isMicActive","isSpeakerMuted","onMicToggle","onSpeakerToggle","isAISpeaking","isVoiceConnected","onStopSession","isConnecting","micButton","micButtonConnecting","micButtonActive","micButtonSpeaking","micIcon","micLabel","statusDot","statusDotConnected","statusDotConnecting","AgentChatBar","lastResult","onDismiss","availableModes","onModeChange","isExpanded","setIsExpanded","pan","ValueXY","x","y","current","panResponder","create","onMoveShouldSetPanResponder","_","gestureState","Math","abs","dx","dy","onPanResponderGrant","setOffset","_value","setValue","onPanResponderMove","useNativeDriver","onPanResponderRelease","flattenOffset","handleSend","fabIcon","fabContainer","getLayout","panHandlers","fab","expandedContainer","dragHandleArea","dragGrip","minimizeBtn","minimizeText","m","resultBubble","success","resultSuccess","resultError","resultText","message","dismissButton","dismissText","position","zIndex","backgroundColor","justifyContent","alignItems","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","fontSize","padding","paddingTop","marginBottom","right","top","color","fontWeight","flexDirection","lineHeight","flex","marginLeft","gap","paddingHorizontal","paddingVertical","textAlign","writingDirection","opacity"],"sourceRoot":"../../../src","sources":["components/AgentChatBar.tsx"],"mappings":"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","ignoreList":[]}
|