@mobileai/react-native 0.4.2 → 0.4.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.
Files changed (70) hide show
  1. package/README.md +23 -3
  2. package/lib/module/components/AIAgent.js +216 -5
  3. package/lib/module/components/AIAgent.js.map +1 -1
  4. package/lib/module/components/AgentChatBar.js +358 -36
  5. package/lib/module/components/AgentChatBar.js.map +1 -1
  6. package/lib/module/core/AgentRuntime.js +122 -6
  7. package/lib/module/core/AgentRuntime.js.map +1 -1
  8. package/lib/module/core/systemPrompt.js +57 -0
  9. package/lib/module/core/systemPrompt.js.map +1 -1
  10. package/lib/module/index.js +8 -0
  11. package/lib/module/index.js.map +1 -1
  12. package/lib/module/providers/GeminiProvider.js +108 -85
  13. package/lib/module/providers/GeminiProvider.js.map +1 -1
  14. package/lib/module/services/AudioInputService.js +128 -0
  15. package/lib/module/services/AudioInputService.js.map +1 -0
  16. package/lib/module/services/AudioOutputService.js +154 -0
  17. package/lib/module/services/AudioOutputService.js.map +1 -0
  18. package/lib/module/services/VoiceService.js +361 -0
  19. package/lib/module/services/VoiceService.js.map +1 -0
  20. package/lib/module/utils/audioUtils.js +49 -0
  21. package/lib/module/utils/audioUtils.js.map +1 -0
  22. package/lib/module/utils/logger.js +21 -4
  23. package/lib/module/utils/logger.js.map +1 -1
  24. package/lib/typescript/babel.config.d.ts +10 -0
  25. package/lib/typescript/babel.config.d.ts.map +1 -0
  26. package/lib/typescript/eslint.config.d.mts +3 -0
  27. package/lib/typescript/eslint.config.d.mts.map +1 -0
  28. package/lib/typescript/fetch-models.d.mts +2 -0
  29. package/lib/typescript/fetch-models.d.mts.map +1 -0
  30. package/lib/typescript/list-all-models.d.mts +2 -0
  31. package/lib/typescript/list-all-models.d.mts.map +1 -0
  32. package/lib/typescript/list-models.d.mts +2 -0
  33. package/lib/typescript/list-models.d.mts.map +1 -0
  34. package/lib/typescript/src/components/AIAgent.d.ts +8 -2
  35. package/lib/typescript/src/components/AIAgent.d.ts.map +1 -1
  36. package/lib/typescript/src/components/AgentChatBar.d.ts +19 -2
  37. package/lib/typescript/src/components/AgentChatBar.d.ts.map +1 -1
  38. package/lib/typescript/src/core/AgentRuntime.d.ts +17 -1
  39. package/lib/typescript/src/core/AgentRuntime.d.ts.map +1 -1
  40. package/lib/typescript/src/core/systemPrompt.d.ts +8 -0
  41. package/lib/typescript/src/core/systemPrompt.d.ts.map +1 -1
  42. package/lib/typescript/src/core/types.d.ts +24 -1
  43. package/lib/typescript/src/core/types.d.ts.map +1 -1
  44. package/lib/typescript/src/index.d.ts +6 -1
  45. package/lib/typescript/src/index.d.ts.map +1 -1
  46. package/lib/typescript/src/providers/GeminiProvider.d.ts +22 -18
  47. package/lib/typescript/src/providers/GeminiProvider.d.ts.map +1 -1
  48. package/lib/typescript/src/services/AudioInputService.d.ts +31 -0
  49. package/lib/typescript/src/services/AudioInputService.d.ts.map +1 -0
  50. package/lib/typescript/src/services/AudioOutputService.d.ts +34 -0
  51. package/lib/typescript/src/services/AudioOutputService.d.ts.map +1 -0
  52. package/lib/typescript/src/services/VoiceService.d.ts +73 -0
  53. package/lib/typescript/src/services/VoiceService.d.ts.map +1 -0
  54. package/lib/typescript/src/utils/audioUtils.d.ts +17 -0
  55. package/lib/typescript/src/utils/audioUtils.d.ts.map +1 -0
  56. package/lib/typescript/src/utils/logger.d.ts +4 -0
  57. package/lib/typescript/src/utils/logger.d.ts.map +1 -1
  58. package/package.json +24 -8
  59. package/src/components/AIAgent.tsx +222 -3
  60. package/src/components/AgentChatBar.tsx +487 -42
  61. package/src/core/AgentRuntime.ts +131 -2
  62. package/src/core/systemPrompt.ts +62 -0
  63. package/src/core/types.ts +30 -0
  64. package/src/index.ts +16 -0
  65. package/src/providers/GeminiProvider.ts +105 -89
  66. package/src/services/AudioInputService.ts +141 -0
  67. package/src/services/AudioOutputService.ts +167 -0
  68. package/src/services/VoiceService.ts +407 -0
  69. package/src/utils/audioUtils.ts +54 -0
  70. 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
- // ─── Compressed State (FAB) ───
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: isThinking ? '⏳' : '🤖'
304
+ children: fabIcon
77
305
  })
78
306
  })
79
307
  });
80
308
  }
81
309
 
82
- // ─── Expanded State (Widget) ───
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__*/_jsxs(View, {
115
- style: styles.inputRow,
116
- children: [/*#__PURE__*/_jsx(TextInput, {
117
- style: [styles.input, isArabic && styles.inputRTL],
118
- placeholder: isArabic ? 'اكتب طلبك...' : 'Ask AI...',
119
- placeholderTextColor: "#999",
120
- value: text,
121
- onChangeText: setText,
122
- onSubmitEditing: handleSend,
123
- returnKeyType: "send",
124
- editable: !isThinking,
125
- multiline: false
126
- }), /*#__PURE__*/_jsx(Pressable, {
127
- style: [styles.sendButton, isThinking && styles.sendButtonDisabled],
128
- onPress: handleSend,
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":";;AAAA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,EAAEC,MAAM,QAAQ,OAAO;AACxC,SACEC,IAAI,EACJC,SAAS,EACTC,SAAS,EACTC,IAAI,EACJC,UAAU,EACVC,QAAQ,EACRC,YAAY,EACZC,mBAAmB,QACd,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAWtB,OAAO,SAASC,YAAYA,CAAC;EAAEC,MAAM;EAAEC,UAAU;EAAEC,UAAU;EAAEC,QAAQ;EAAEC;AAA6B,CAAC,EAAE;EACvG,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGrB,QAAQ,CAAC,EAAE,CAAC;EACpC,MAAM,CAACsB,UAAU,EAAEC,aAAa,CAAC,GAAGvB,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM;IAAEwB;EAAO,CAAC,GAAGf,mBAAmB,CAAC,CAAC;EACxC,MAAMgB,QAAQ,GAAGP,QAAQ,KAAK,IAAI;;EAElC;EACA;EACA,MAAMQ,GAAG,GAAGzB,MAAM,CAAC,IAAIM,QAAQ,CAACoB,OAAO,CAAC;IAAEC,CAAC,EAAE,EAAE;IAAEC,CAAC,EAAEL,MAAM,GAAG;EAAI,CAAC,CAAC,CAAC,CAACM,OAAO;;EAE5E;EACA,MAAMC,YAAY,GAAG9B,MAAM,CACzBO,YAAY,CAACwB,MAAM,CAAC;IAClBC,2BAA2B,EAAEA,CAACC,CAAC,EAAEC,YAAY,KAAK;MAChD;MACA,OAAOC,IAAI,CAACC,GAAG,CAACF,YAAY,CAACG,EAAE,CAAC,GAAG,CAAC,IAAIF,IAAI,CAACC,GAAG,CAACF,YAAY,CAACI,EAAE,CAAC,GAAG,CAAC;IACvE,CAAC;IACDC,mBAAmB,EAAEA,CAAA,KAAM;MACzBd,GAAG,CAACe,SAAS,CAAC;QACZb,CAAC,EAAGF,GAAG,CAACE,CAAC,CAASc,MAAM;QACxBb,CAAC,EAAGH,GAAG,CAACG,CAAC,CAASa;MACpB,CAAC,CAAC;MACFhB,GAAG,CAACiB,QAAQ,CAAC;QAAEf,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAE,CAAC,CAAC;IAC9B,CAAC;IACDe,kBAAkB,EAAErC,QAAQ,CAACsC,KAAK,CAChC,CAAC,IAAI,EAAE;MAAEP,EAAE,EAAEZ,GAAG,CAACE,CAAC;MAAEW,EAAE,EAAEb,GAAG,CAACG;IAAE,CAAC,CAAC,EAChC;MAAEiB,eAAe,EAAE;IAAM,CAC3B,CAAC;IACDC,qBAAqB,EAAEA,CAAA,KAAM;MAC3BrB,GAAG,CAACsB,aAAa,CAAC,CAAC;IACrB;EACF,CAAC,CACH,CAAC,CAAClB,OAAO;EAET,MAAMmB,UAAU,GAAGA,CAAA,KAAM;IACvB,IAAI7B,IAAI,CAAC8B,IAAI,CAAC,CAAC,IAAI,CAAClC,UAAU,EAAE;MAC9BD,MAAM,CAACK,IAAI,CAAC8B,IAAI,CAAC,CAAC,CAAC;MACnB7B,OAAO,CAAC,EAAE,CAAC;IACb;EACF,CAAC;;EAED;EACA,IAAI,CAACC,UAAU,EAAE;IACf,oBACEX,IAAA,CAACJ,QAAQ,CAACL,IAAI;MAACiD,KAAK,EAAE,CAACC,MAAM,CAACC,YAAY,EAAE3B,GAAG,CAAC4B,SAAS,CAAC,CAAC,CAAE;MAAA,GAAKvB,YAAY,CAACwB,WAAW;MAAAC,QAAA,eACxF7C,IAAA,CAACP,SAAS;QACR+C,KAAK,EAAEC,MAAM,CAACK,GAAI;QAClBC,OAAO,EAAEA,CAAA,KAAMnC,aAAa,CAAC,IAAI,CAAE;QACnCoC,kBAAkB,EAAC,oBAAoB;QAAAH,QAAA,eAEvC7C,IAAA,CAACN,IAAI;UAAC8C,KAAK,EAAEC,MAAM,CAACQ,OAAQ;UAAAJ,QAAA,EAAExC,UAAU,GAAG,GAAG,GAAG;QAAI,CAAO;MAAC,CACpD;IAAC,CACC,CAAC;EAEpB;;EAEA;EACA,oBACEH,KAAA,CAACN,QAAQ,CAACL,IAAI;IAACiD,KAAK,EAAE,CAACC,MAAM,CAACS,iBAAiB,EAAEnC,GAAG,CAAC4B,SAAS,CAAC,CAAC,CAAE;IAAAE,QAAA,gBAEhE3C,KAAA,CAACX,IAAI;MAAA,GAAK6B,YAAY,CAACwB,WAAW;MAAEJ,KAAK,EAAEC,MAAM,CAACU,cAAe;MAACH,kBAAkB,EAAC,eAAe;MAAAH,QAAA,gBAClG7C,IAAA,CAACT,IAAI;QAACiD,KAAK,EAAEC,MAAM,CAACW;MAAS,CAAE,CAAC,eAChCpD,IAAA,CAACP,SAAS;QAACsD,OAAO,EAAEA,CAAA,KAAMnC,aAAa,CAAC,KAAK,CAAE;QAAC4B,KAAK,EAAEC,MAAM,CAACY,WAAY;QAACL,kBAAkB,EAAC,mBAAmB;QAAAH,QAAA,eAC/G7C,IAAA,CAACN,IAAI;UAAC8C,KAAK,EAAEC,MAAM,CAACa,YAAa;UAAAT,QAAA,EAAC;QAAC,CAAM;MAAC,CACjC,CAAC;IAAA,CACR,CAAC,EAGNvC,UAAU,iBACTJ,KAAA,CAACX,IAAI;MAACiD,KAAK,EAAE,CAACC,MAAM,CAACc,YAAY,EAAEjD,UAAU,CAACkD,OAAO,GAAGf,MAAM,CAACgB,aAAa,GAAGhB,MAAM,CAACiB,WAAW,CAAE;MAAAb,QAAA,gBACjG7C,IAAA,CAACN,IAAI;QAAC8C,KAAK,EAAEC,MAAM,CAACkB,UAAW;QAAAd,QAAA,EAAEvC,UAAU,CAACsD;MAAO,CAAO,CAAC,EAC1DpD,SAAS,iBACRR,IAAA,CAACP,SAAS;QAAC+C,KAAK,EAAEC,MAAM,CAACoB,aAAc;QAACd,OAAO,EAAEvC,SAAU;QAACsD,OAAO,EAAE,EAAG;QAAAjB,QAAA,eACtE7C,IAAA,CAACN,IAAI;UAAC8C,KAAK,EAAEC,MAAM,CAACsB,WAAY;UAAAlB,QAAA,EAAC;QAAC,CAAM;MAAC,CAChC,CACZ;IAAA,CACG,CACP,eAGD3C,KAAA,CAACX,IAAI;MAACiD,KAAK,EAAEC,MAAM,CAACuB,QAAS;MAAAnB,QAAA,gBAC3B7C,IAAA,CAACR,SAAS;QACRgD,KAAK,EAAE,CAACC,MAAM,CAACwB,KAAK,EAAEnD,QAAQ,IAAI2B,MAAM,CAACyB,QAAQ,CAAE;QACnDC,WAAW,EAAErD,QAAQ,GAAG,cAAc,GAAG,WAAY;QACrDsD,oBAAoB,EAAC,MAAM;QAC3BC,KAAK,EAAE5D,IAAK;QACZ6D,YAAY,EAAE5D,OAAQ;QACtB6D,eAAe,EAAEjC,UAAW;QAC5BkC,aAAa,EAAC,MAAM;QACpBC,QAAQ,EAAE,CAACpE,UAAW;QACtBqE,SAAS,EAAE;MAAM,CAClB,CAAC,eACF1E,IAAA,CAACP,SAAS;QACR+C,KAAK,EAAE,CAACC,MAAM,CAACkC,UAAU,EAAEtE,UAAU,IAAIoC,MAAM,CAACmC,kBAAkB,CAAE;QACpE7B,OAAO,EAAET,UAAW;QACpBuC,QAAQ,EAAExE,UAAU,IAAI,CAACI,IAAI,CAAC8B,IAAI,CAAC,CAAE;QACrCS,kBAAkB,EAAC,0BAA0B;QAAAH,QAAA,eAE7C7C,IAAA,CAACN,IAAI;UAAC8C,KAAK,EAAEC,MAAM,CAACqC,cAAe;UAAAjC,QAAA,EAChCxC,UAAU,GAAG,GAAG,GAAG;QAAI,CACpB;MAAC,CACE,CAAC;IAAA,CACR,CAAC;EAAA,CACM,CAAC;AAEpB;AAEA,MAAMoC,MAAM,GAAG9C,UAAU,CAAC0B,MAAM,CAAC;EAC/B;EACAqB,YAAY,EAAE;IACZqC,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAE;EACV,CAAC;EACDlC,GAAG,EAAE;IACHmC,KAAK,EAAE,EAAE;IACTpE,MAAM,EAAE,EAAE;IACVqE,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,SAAS;IAC1BC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,SAAS,EAAE,CAAC;IACZC,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MAAEP,KAAK,EAAE,CAAC;MAAEpE,MAAM,EAAE;IAAE,CAAC;IACrC4E,aAAa,EAAE,GAAG;IAClBC,YAAY,EAAE;EAChB,CAAC;EACDzC,OAAO,EAAE;IACP0C,QAAQ,EAAE;EACZ,CAAC;EAED;EACAzC,iBAAiB,EAAE;IACjB6B,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAE,IAAI;IACZC,KAAK,EAAE,GAAG;IACVE,eAAe,EAAE,wBAAwB;IACzCD,YAAY,EAAE,EAAE;IAChBU,OAAO,EAAE,EAAE;IACXC,UAAU,EAAE,CAAC;IACbP,SAAS,EAAE,CAAC;IACZC,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MAAEP,KAAK,EAAE,CAAC;MAAEpE,MAAM,EAAE;IAAE,CAAC;IACrC4E,aAAa,EAAE,GAAG;IAClBC,YAAY,EAAE;EAChB,CAAC;EACDvC,cAAc,EAAE;IACd8B,KAAK,EAAE,MAAM;IACbpE,MAAM,EAAE,EAAE;IACVuE,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBS,YAAY,EAAE;EAChB,CAAC;EACD1C,QAAQ,EAAE;IACR6B,KAAK,EAAE,EAAE;IACTpE,MAAM,EAAE,CAAC;IACTsE,eAAe,EAAE,0BAA0B;IAC3CD,YAAY,EAAE;EAChB,CAAC;EACD7B,WAAW,EAAE;IACX0B,QAAQ,EAAE,UAAU;IACpBgB,KAAK,EAAE,CAAC;IACRC,GAAG,EAAE,CAAC;IACNJ,OAAO,EAAE;EACX,CAAC;EACDtC,YAAY,EAAE;IACZ2C,KAAK,EAAE,MAAM;IACbN,QAAQ,EAAE,EAAE;IACZO,UAAU,EAAE;EACd,CAAC;EAED;EACA3C,YAAY,EAAE;IACZ2B,YAAY,EAAE,EAAE;IAChBU,OAAO,EAAE,EAAE;IACXE,YAAY,EAAE,EAAE;IAChBK,aAAa,EAAE,KAAK;IACpBd,UAAU,EAAE;EACd,CAAC;EACD5B,aAAa,EAAE;IACb0B,eAAe,EAAE;EACnB,CAAC;EACDzB,WAAW,EAAE;IACXyB,eAAe,EAAE;EACnB,CAAC;EACDxB,UAAU,EAAE;IACVsC,KAAK,EAAE,MAAM;IACbN,QAAQ,EAAE,EAAE;IACZS,UAAU,EAAE,EAAE;IACdC,IAAI,EAAE;EACR,CAAC;EACDxC,aAAa,EAAE;IACbyC,UAAU,EAAE,CAAC;IACbV,OAAO,EAAE;EACX,CAAC;EACD7B,WAAW,EAAE;IACXkC,KAAK,EAAE,0BAA0B;IACjCN,QAAQ,EAAE,EAAE;IACZO,UAAU,EAAE;EACd,CAAC;EACDlC,QAAQ,EAAE;IACRmC,aAAa,EAAE,KAAK;IACpBd,UAAU,EAAE,QAAQ;IACpBkB,GAAG,EAAE;EACP,CAAC;EACDtC,KAAK,EAAE;IACLoC,IAAI,EAAE,CAAC;IACPlB,eAAe,EAAE,0BAA0B;IAC3CD,YAAY,EAAE,EAAE;IAChBsB,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,EAAE;IACnBR,KAAK,EAAE,MAAM;IACbN,QAAQ,EAAE;EACZ,CAAC;EACDzB,QAAQ,EAAE;IACRwC,SAAS,EAAE,OAAO;IAClBC,gBAAgB,EAAE;EACpB,CAAC;EACDhC,UAAU,EAAE;IACVM,KAAK,EAAE,EAAE;IACTpE,MAAM,EAAE,EAAE;IACVqE,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,2BAA2B;IAC5CC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDT,kBAAkB,EAAE;IAClBgC,OAAO,EAAE;EACX,CAAC;EACD9B,cAAc,EAAE;IACda,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC","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":[]}