@botuyo/chat-widget-standalone 1.0.55 → 1.0.57

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 (156) hide show
  1. package/dist/ShadowChatWidget.d.ts +25 -0
  2. package/dist/ShadowChatWidget.d.ts.map +1 -0
  3. package/dist/botuyo-chat.es.js +1 -1
  4. package/dist/botuyo-chat.umd.js +1 -1
  5. package/dist/botuyo-chat.umd.js.map +1 -1
  6. package/dist/{chunk-audio-BVQXZDLV.js → chunk-audio-CTtWdVDc.js} +2 -2
  7. package/dist/{chunk-audio-BVQXZDLV.js.map → chunk-audio-CTtWdVDc.js.map} +1 -1
  8. package/dist/{chunk-chat-ui-DDzNzbmQ.js → chunk-chat-ui-BL7xSiBM.js} +20 -20
  9. package/dist/{chunk-chat-ui-DDzNzbmQ.js.map → chunk-chat-ui-BL7xSiBM.js.map} +1 -1
  10. package/dist/{chunk-gallery-DVsqIt59.js → chunk-gallery-CHapXqfB.js} +2 -2
  11. package/dist/{chunk-gallery-DVsqIt59.js.map → chunk-gallery-CHapXqfB.js.map} +1 -1
  12. package/dist/src/chat-widget/ChatWidget.d.ts +5 -0
  13. package/dist/src/chat-widget/ChatWidget.d.ts.map +1 -0
  14. package/dist/src/chat-widget/ChatWidgetProvider.d.ts +81 -0
  15. package/dist/src/chat-widget/ChatWidgetProvider.d.ts.map +1 -0
  16. package/dist/src/chat-widget/components/AudioPlayer.d.ts +8 -0
  17. package/dist/src/chat-widget/components/AudioPlayer.d.ts.map +1 -0
  18. package/dist/src/chat-widget/components/AudioPlayer.stories.d.ts +37 -0
  19. package/dist/src/chat-widget/components/AudioPlayer.stories.d.ts.map +1 -0
  20. package/dist/src/chat-widget/components/Avatar3D.d.ts +23 -0
  21. package/dist/src/chat-widget/components/Avatar3D.d.ts.map +1 -0
  22. package/dist/src/chat-widget/components/ChatWindow.d.ts +35 -0
  23. package/dist/src/chat-widget/components/ChatWindow.d.ts.map +1 -0
  24. package/dist/src/chat-widget/components/ChatWindow.stories.d.ts +71 -0
  25. package/dist/src/chat-widget/components/ChatWindow.stories.d.ts.map +1 -0
  26. package/dist/src/chat-widget/components/ErrorBoundary.d.ts +36 -0
  27. package/dist/src/chat-widget/components/ErrorBoundary.d.ts.map +1 -0
  28. package/dist/src/chat-widget/components/ErrorBoundary.stories.d.ts +29 -0
  29. package/dist/src/chat-widget/components/ErrorBoundary.stories.d.ts.map +1 -0
  30. package/dist/src/chat-widget/components/Gallery.d.ts +14 -0
  31. package/dist/src/chat-widget/components/Gallery.d.ts.map +1 -0
  32. package/dist/src/chat-widget/components/Gallery.stories.d.ts +33 -0
  33. package/dist/src/chat-widget/components/Gallery.stories.d.ts.map +1 -0
  34. package/dist/src/chat-widget/components/Icons.d.ts +10 -0
  35. package/dist/src/chat-widget/components/Icons.d.ts.map +1 -0
  36. package/dist/src/chat-widget/components/InputArea.d.ts +21 -0
  37. package/dist/src/chat-widget/components/InputArea.d.ts.map +1 -0
  38. package/dist/src/chat-widget/components/InputArea.stories.d.ts +62 -0
  39. package/dist/src/chat-widget/components/InputArea.stories.d.ts.map +1 -0
  40. package/dist/src/chat-widget/components/LanguageSelector.d.ts +25 -0
  41. package/dist/src/chat-widget/components/LanguageSelector.d.ts.map +1 -0
  42. package/dist/src/chat-widget/components/Launcher.d.ts +22 -0
  43. package/dist/src/chat-widget/components/Launcher.d.ts.map +1 -0
  44. package/dist/src/chat-widget/components/Launcher.stories.d.ts +75 -0
  45. package/dist/src/chat-widget/components/Launcher.stories.d.ts.map +1 -0
  46. package/dist/src/chat-widget/components/LiveCallInputArea.d.ts +29 -0
  47. package/dist/src/chat-widget/components/LiveCallInputArea.d.ts.map +1 -0
  48. package/dist/src/chat-widget/components/MessageBubble.d.ts +15 -0
  49. package/dist/src/chat-widget/components/MessageBubble.d.ts.map +1 -0
  50. package/dist/src/chat-widget/components/MessageBubble.stories.d.ts +71 -0
  51. package/dist/src/chat-widget/components/MessageBubble.stories.d.ts.map +1 -0
  52. package/dist/src/chat-widget/components/MessageList.d.ts +15 -0
  53. package/dist/src/chat-widget/components/MessageList.d.ts.map +1 -0
  54. package/dist/src/chat-widget/components/MessageList.stories.d.ts +52 -0
  55. package/dist/src/chat-widget/components/MessageList.stories.d.ts.map +1 -0
  56. package/dist/src/chat-widget/components/TypingIndicator.d.ts +2 -0
  57. package/dist/src/chat-widget/components/TypingIndicator.d.ts.map +1 -0
  58. package/dist/src/chat-widget/components/TypingIndicator.stories.d.ts +39 -0
  59. package/dist/src/chat-widget/components/TypingIndicator.stories.d.ts.map +1 -0
  60. package/dist/src/chat-widget/components/VoiceCallOverlay.d.ts +66 -0
  61. package/dist/src/chat-widget/components/VoiceCallOverlay.d.ts.map +1 -0
  62. package/dist/src/chat-widget/components/VoiceInputArea.d.ts +26 -0
  63. package/dist/src/chat-widget/components/VoiceInputArea.d.ts.map +1 -0
  64. package/dist/src/chat-widget/components/index.d.ts +16 -0
  65. package/dist/src/chat-widget/components/index.d.ts.map +1 -0
  66. package/dist/src/chat-widget/contexts/AnimationContext.d.ts +69 -0
  67. package/dist/src/chat-widget/contexts/AnimationContext.d.ts.map +1 -0
  68. package/dist/src/chat-widget/hooks/useAnalytics.d.ts +19 -0
  69. package/dist/src/chat-widget/hooks/useAnalytics.d.ts.map +1 -0
  70. package/dist/src/chat-widget/hooks/useChatSocket.d.ts +35 -0
  71. package/dist/src/chat-widget/hooks/useChatSocket.d.ts.map +1 -0
  72. package/dist/src/chat-widget/hooks/useChatState.d.ts +23 -0
  73. package/dist/src/chat-widget/hooks/useChatState.d.ts.map +1 -0
  74. package/dist/src/chat-widget/hooks/useChatWidget.d.ts +50 -0
  75. package/dist/src/chat-widget/hooks/useChatWidget.d.ts.map +1 -0
  76. package/dist/src/chat-widget/hooks/useDarkMode.d.ts +6 -0
  77. package/dist/src/chat-widget/hooks/useDarkMode.d.ts.map +1 -0
  78. package/dist/src/chat-widget/hooks/useDynamicHeight.d.ts +10 -0
  79. package/dist/src/chat-widget/hooks/useDynamicHeight.d.ts.map +1 -0
  80. package/dist/src/chat-widget/hooks/useFocusTrap.d.ts +34 -0
  81. package/dist/src/chat-widget/hooks/useFocusTrap.d.ts.map +1 -0
  82. package/dist/src/chat-widget/hooks/useHighContrast.d.ts +6 -0
  83. package/dist/src/chat-widget/hooks/useHighContrast.d.ts.map +1 -0
  84. package/dist/src/chat-widget/hooks/useIsMobile.d.ts +2 -0
  85. package/dist/src/chat-widget/hooks/useIsMobile.d.ts.map +1 -0
  86. package/dist/src/chat-widget/hooks/useNotifications.d.ts +23 -0
  87. package/dist/src/chat-widget/hooks/useNotifications.d.ts.map +1 -0
  88. package/dist/src/chat-widget/hooks/useRateLimit.d.ts +15 -0
  89. package/dist/src/chat-widget/hooks/useRateLimit.d.ts.map +1 -0
  90. package/dist/src/chat-widget/hooks/useSEOMetadata.d.ts +10 -0
  91. package/dist/src/chat-widget/hooks/useSEOMetadata.d.ts.map +1 -0
  92. package/dist/src/chat-widget/hooks/useWidgetTheme.d.ts +12 -0
  93. package/dist/src/chat-widget/hooks/useWidgetTheme.d.ts.map +1 -0
  94. package/dist/src/chat-widget/i18n/LanguageContext.d.ts +33 -0
  95. package/dist/src/chat-widget/i18n/LanguageContext.d.ts.map +1 -0
  96. package/dist/src/chat-widget/i18n/index.d.ts +8 -0
  97. package/dist/src/chat-widget/i18n/index.d.ts.map +1 -0
  98. package/dist/src/chat-widget/i18n/translations.d.ts +189 -0
  99. package/dist/src/chat-widget/i18n/translations.d.ts.map +1 -0
  100. package/dist/src/chat-widget/i18n/useTranslations.d.ts +27 -0
  101. package/dist/src/chat-widget/i18n/useTranslations.d.ts.map +1 -0
  102. package/dist/src/chat-widget/index.d.ts +11 -0
  103. package/dist/src/chat-widget/index.d.ts.map +1 -0
  104. package/dist/src/chat-widget/types/index.d.ts +328 -0
  105. package/dist/src/chat-widget/types/index.d.ts.map +1 -0
  106. package/dist/src/chat-widget/types/socket.d.ts +107 -0
  107. package/dist/src/chat-widget/types/socket.d.ts.map +1 -0
  108. package/dist/src/chat-widget/utils/dateUtils.d.ts +33 -0
  109. package/dist/src/chat-widget/utils/dateUtils.d.ts.map +1 -0
  110. package/dist/src/chat-widget/utils/defaultAssets.d.ts +20 -0
  111. package/dist/src/chat-widget/utils/defaultAssets.d.ts.map +1 -0
  112. package/dist/src/chat-widget/utils/deviceId.d.ts +18 -0
  113. package/dist/src/chat-widget/utils/deviceId.d.ts.map +1 -0
  114. package/dist/src/chat-widget/utils/fileValidation.d.ts +75 -0
  115. package/dist/src/chat-widget/utils/fileValidation.d.ts.map +1 -0
  116. package/dist/src/chat-widget/utils/logger.d.ts +31 -0
  117. package/dist/src/chat-widget/utils/logger.d.ts.map +1 -0
  118. package/dist/src/chat-widget/utils/performance.d.ts +50 -0
  119. package/dist/src/chat-widget/utils/performance.d.ts.map +1 -0
  120. package/dist/src/chat-widget/utils/storage.d.ts +25 -0
  121. package/dist/src/chat-widget/utils/storage.d.ts.map +1 -0
  122. package/dist/src/chat-widget/utils/theme.d.ts +122 -0
  123. package/dist/src/chat-widget/utils/theme.d.ts.map +1 -0
  124. package/dist/src/chat-widget/utils/theme.examples.d.ts +47 -0
  125. package/dist/src/chat-widget/utils/theme.examples.d.ts.map +1 -0
  126. package/dist/src/chat-widget/utils/themes/index.d.ts +12 -0
  127. package/dist/src/chat-widget/utils/themes/index.d.ts.map +1 -0
  128. package/dist/src/chat-widget/voice/components/CallButton.d.ts +12 -0
  129. package/dist/src/chat-widget/voice/components/CallButton.d.ts.map +1 -0
  130. package/dist/src/chat-widget/voice/components/LiveCallOverlay.d.ts +12 -0
  131. package/dist/src/chat-widget/voice/components/LiveCallOverlay.d.ts.map +1 -0
  132. package/dist/src/chat-widget/voice/components/VoiceButton.d.ts +13 -0
  133. package/dist/src/chat-widget/voice/components/VoiceButton.d.ts.map +1 -0
  134. package/dist/src/chat-widget/voice/components/VoiceChatOverlay.d.ts +12 -0
  135. package/dist/src/chat-widget/voice/components/VoiceChatOverlay.d.ts.map +1 -0
  136. package/dist/src/chat-widget/voice/components/WaveformVisualizer.d.ts +12 -0
  137. package/dist/src/chat-widget/voice/components/WaveformVisualizer.d.ts.map +1 -0
  138. package/dist/src/chat-widget/voice/components/index.d.ts +10 -0
  139. package/dist/src/chat-widget/voice/components/index.d.ts.map +1 -0
  140. package/dist/src/chat-widget/voice/index.d.ts +11 -0
  141. package/dist/src/chat-widget/voice/index.d.ts.map +1 -0
  142. package/dist/src/chat-widget/voice/types.d.ts +232 -0
  143. package/dist/src/chat-widget/voice/types.d.ts.map +1 -0
  144. package/dist/src/chat-widget/voice/useLiveCall.d.ts +13 -0
  145. package/dist/src/chat-widget/voice/useLiveCall.d.ts.map +1 -0
  146. package/dist/src/chat-widget/voice/useVoiceChat.d.ts +13 -0
  147. package/dist/src/chat-widget/voice/useVoiceChat.d.ts.map +1 -0
  148. package/dist/src/chat-widget/voice/useVoiceState.d.ts +38 -0
  149. package/dist/src/chat-widget/voice/useVoiceState.d.ts.map +1 -0
  150. package/dist/src/lib/utils.d.ts +3 -0
  151. package/dist/src/lib/utils.d.ts.map +1 -0
  152. package/dist/standalone.d.ts +113 -0
  153. package/dist/standalone.d.ts.map +1 -0
  154. package/dist/stats-umd.html +1 -1
  155. package/dist/stats.html +1 -1
  156. package/package.json +1 -1
@@ -0,0 +1,232 @@
1
+ /**
2
+ * @package @botuyo/chat-widget
3
+ * Voice Module Types
4
+ *
5
+ * Types for Live Call (real-time voice conversation) and Voice Notes (async).
6
+ */
7
+ /**
8
+ * Live Call state machine states
9
+ */
10
+ export type LiveCallState = 'idle' | 'calling' | 'ready' | 'listening' | 'thinking' | 'speaking';
11
+ /**
12
+ * Live Call client → server messages
13
+ */
14
+ export interface LiveCallAuthMessage {
15
+ type: 'auth';
16
+ tenantId: string;
17
+ sessionId: string;
18
+ conversationId?: string;
19
+ }
20
+ export interface LiveCallStartMessage {
21
+ type: 'start_call';
22
+ }
23
+ export interface LiveCallEndMessage {
24
+ type: 'end_call';
25
+ }
26
+ export type LiveCallClientMessage = LiveCallAuthMessage | LiveCallStartMessage | LiveCallEndMessage;
27
+ /**
28
+ * Live Call server → client messages
29
+ */
30
+ export interface LiveCallStartedMessage {
31
+ type: 'call_started';
32
+ greeting?: string;
33
+ }
34
+ export interface LiveCallListeningMessage {
35
+ type: 'listening';
36
+ }
37
+ export interface LiveCallTranscriptionMessage {
38
+ type: 'transcription';
39
+ text: string;
40
+ }
41
+ export interface LiveCallSpeakingMessage {
42
+ type: 'speaking';
43
+ }
44
+ export interface LiveCallResponseTextMessage {
45
+ type: 'response_text';
46
+ text: string;
47
+ }
48
+ export interface LiveCallDoneMessage {
49
+ type: 'done';
50
+ }
51
+ export interface LiveCallErrorMessage {
52
+ type: 'error';
53
+ code: LiveCallErrorCode;
54
+ message: string;
55
+ }
56
+ export type LiveCallErrorCode = 'voice_disabled' | 'quota_exceeded' | 'connection_error' | 'microphone_denied' | 'browser_unsupported';
57
+ export type LiveCallServerMessage = LiveCallStartedMessage | LiveCallListeningMessage | LiveCallTranscriptionMessage | LiveCallSpeakingMessage | LiveCallResponseTextMessage | LiveCallDoneMessage | LiveCallErrorMessage;
58
+ /**
59
+ * Live Call hook options
60
+ */
61
+ export interface UseLiveCallOptions {
62
+ apiBaseUrl: string;
63
+ tenantId: string;
64
+ sessionId: string;
65
+ conversationId?: string;
66
+ wsEndpoint?: string;
67
+ onStateChange?: (state: LiveCallState) => void;
68
+ onTranscription?: (text: string) => void;
69
+ onBotResponse?: (text: string) => void;
70
+ onError?: (error: LiveCallErrorMessage) => void;
71
+ }
72
+ /**
73
+ * Live Call hook return type
74
+ */
75
+ export interface UseLiveCallReturn {
76
+ state: LiveCallState;
77
+ isSupported: boolean;
78
+ callDuration: number;
79
+ startCall: () => Promise<void>;
80
+ endCall: () => void;
81
+ }
82
+ /**
83
+ * Voice Notes state (simpler, async flow)
84
+ * @deprecated Use LiveCallState for real-time calls
85
+ */
86
+ export type VoiceState = 'idle' | 'listening' | 'processing' | 'speaking';
87
+ /**
88
+ * Voice Notes server → client messages
89
+ * @deprecated Use LiveCallServerMessage for real-time calls
90
+ */
91
+ export interface VoiceTranscriptionPartial {
92
+ type: 'transcription_partial';
93
+ text: string;
94
+ }
95
+ export interface VoiceTranscriptionFinal {
96
+ type: 'transcription_final';
97
+ text: string;
98
+ }
99
+ export interface VoiceResponseStart {
100
+ type: 'response_start';
101
+ }
102
+ export interface VoiceResponseText {
103
+ type: 'response_text';
104
+ text: string;
105
+ }
106
+ export interface VoiceResponseEnd {
107
+ type: 'response_end';
108
+ }
109
+ export interface VoiceErrorMessage {
110
+ type: 'error';
111
+ code: string;
112
+ message: string;
113
+ }
114
+ export type VoiceServerMessage = VoiceTranscriptionPartial | VoiceTranscriptionFinal | VoiceResponseStart | VoiceResponseText | VoiceResponseEnd | VoiceErrorMessage;
115
+ /**
116
+ * Voice Notes hook options
117
+ * @deprecated Use UseLiveCallOptions for real-time calls
118
+ */
119
+ export interface UseVoiceChatOptions {
120
+ apiBaseUrl: string;
121
+ tenantId: string;
122
+ sessionId: string;
123
+ conversationId?: string;
124
+ config?: VoiceConfig;
125
+ onTranscription?: (text: string, isFinal: boolean) => void;
126
+ onBotResponse?: (text: string) => void;
127
+ onBotAudioPlayed?: () => void;
128
+ onStateChange?: (state: VoiceState) => void;
129
+ onError?: (error: VoiceErrorMessage) => void;
130
+ }
131
+ /**
132
+ * Voice Notes hook return type
133
+ * @deprecated Use UseLiveCallReturn for real-time calls
134
+ */
135
+ export interface UseVoiceChatReturn {
136
+ state: VoiceState;
137
+ isConnected: boolean;
138
+ isSupported: boolean;
139
+ partialTranscription: string;
140
+ recordingDuration: number;
141
+ startRecording: () => Promise<void>;
142
+ stopRecording: () => void;
143
+ cancelRecording: () => void;
144
+ stopPlayback: () => void;
145
+ connect: () => void;
146
+ disconnect: () => void;
147
+ }
148
+ /**
149
+ * Voice configuration from tenant settings
150
+ */
151
+ export interface VoiceConfig {
152
+ enabled?: boolean;
153
+ language?: string;
154
+ voiceId?: string;
155
+ maxDurationSeconds?: number;
156
+ wsEndpoint?: string;
157
+ }
158
+ /**
159
+ * Audio format configuration
160
+ */
161
+ export declare const VOICE_AUDIO_CONFIG: {
162
+ readonly input: {
163
+ readonly sampleRate: 16000;
164
+ readonly bitDepth: 16;
165
+ readonly channels: 1;
166
+ readonly chunkSize: 320;
167
+ };
168
+ readonly output: {
169
+ readonly sampleRate: 24000;
170
+ readonly bitDepth: 16;
171
+ readonly channels: 1;
172
+ };
173
+ };
174
+ /**
175
+ * Call button props (for Live Call)
176
+ */
177
+ export interface CallButtonProps {
178
+ state: LiveCallState;
179
+ isSupported: boolean;
180
+ callDuration?: number;
181
+ primaryColor?: string;
182
+ onStartCall: () => void;
183
+ onEndCall: () => void;
184
+ disabled?: boolean;
185
+ }
186
+ /**
187
+ * Voice button props (for Voice Notes - legacy)
188
+ */
189
+ export interface VoiceButtonProps {
190
+ state: VoiceState;
191
+ isSupported: boolean;
192
+ primaryColor?: string;
193
+ onPress: () => void;
194
+ onRelease: () => void;
195
+ onCancel: () => void;
196
+ disabled?: boolean;
197
+ }
198
+ /**
199
+ * Waveform visualizer props
200
+ */
201
+ export interface WaveformVisualizerProps {
202
+ isActive: boolean;
203
+ className?: string;
204
+ barCount?: number;
205
+ color?: string;
206
+ }
207
+ /**
208
+ * Live call overlay props
209
+ */
210
+ export interface LiveCallOverlayProps {
211
+ isOpen: boolean;
212
+ state: LiveCallState;
213
+ callDuration: number;
214
+ transcription?: string;
215
+ botResponse?: string;
216
+ onEndCall: () => void;
217
+ }
218
+ /**
219
+ * Voice chat overlay props (legacy)
220
+ */
221
+ export interface VoiceChatOverlayProps {
222
+ isOpen: boolean;
223
+ state: VoiceState;
224
+ partialTranscription: string;
225
+ finalTranscription?: string;
226
+ botResponse?: string;
227
+ recordingDuration: number;
228
+ maxDuration?: number;
229
+ onClose: () => void;
230
+ onCancel: () => void;
231
+ }
232
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/voice/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,SAAS,GACT,OAAO,GACP,WAAW,GACX,UAAU,GACV,UAAU,CAAA;AAEd;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,YAAY,CAAA;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,UAAU,CAAA;CACjB;AAED,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,kBAAkB,CAAA;AAEnG;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,eAAe,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,UAAU,CAAA;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,eAAe,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,iBAAiB,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,iBAAiB,GACzB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,mBAAmB,GACnB,qBAAqB,CAAA;AAEzB,MAAM,MAAM,qBAAqB,GAC7B,sBAAsB,GACtB,wBAAwB,GACxB,4BAA4B,GAC5B,uBAAuB,GACvB,2BAA2B,GAC3B,mBAAmB,GACnB,oBAAoB,CAAA;AAExB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAA;IAC9C,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAA;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,aAAa,CAAA;IACpB,WAAW,EAAE,OAAO,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAMD;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,CAAA;AAEzE;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,uBAAuB,CAAA;IAC7B,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,qBAAqB,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,gBAAgB,CAAA;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAA;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,kBAAkB,GAC1B,yBAAyB,GACzB,uBAAuB,GACvB,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,iBAAiB,CAAA;AAErB;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IAC1D,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IAC3C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;CAC7C;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,UAAU,CAAA;IACjB,WAAW,EAAE,OAAO,CAAA;IACpB,WAAW,EAAE,OAAO,CAAA;IACpB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB;AAMD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;CAYrB,CAAA;AAMV;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,CAAA;IACpB,WAAW,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,UAAU,CAAA;IACjB,WAAW,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,aAAa,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,IAAI,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,UAAU,CAAA;IACjB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @package @botuyo/chat-widget
3
+ * Live Call Hook
4
+ *
5
+ * Real-time voice conversation like a phone call from the browser.
6
+ * Uses WebSocket for bidirectional audio streaming.
7
+ */
8
+ import type { UseLiveCallOptions, UseLiveCallReturn } from './types';
9
+ /**
10
+ * Hook for live call voice conversation
11
+ */
12
+ export declare function useLiveCall(options: UseLiveCallOptions): UseLiveCallReturn;
13
+ //# sourceMappingURL=useLiveCall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLiveCall.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/voice/useLiveCall.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAGV,kBAAkB,EAClB,iBAAiB,EAElB,MAAM,SAAS,CAAA;AA2ChB;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,iBAAiB,CAuV1E"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @package @botuyo/chat-widget
3
+ * Voice Chat Hook
4
+ *
5
+ * Main hook for managing real-time voice chat functionality via WebSocket.
6
+ * Handles audio capture, streaming, and playback.
7
+ */
8
+ import type { UseVoiceChatOptions, UseVoiceChatReturn } from './types';
9
+ /**
10
+ * Hook for managing real-time voice chat
11
+ */
12
+ export declare function useVoiceChat(options: UseVoiceChatOptions): UseVoiceChatReturn;
13
+ //# sourceMappingURL=useVoiceChat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVoiceChat.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/voice/useVoiceChat.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAsB,MAAM,SAAS,CAAA;AAwD1F;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,CAwb7E"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @package @botuyo/chat-widget
3
+ * Voice State Machine Hook
4
+ *
5
+ * Manages the voice chat state machine with transitions and recording timer.
6
+ */
7
+ import type { VoiceState } from './types';
8
+ interface UseVoiceStateOptions {
9
+ /** Maximum recording duration in seconds */
10
+ maxDuration?: number;
11
+ /** Callback when max duration is reached */
12
+ onMaxDurationReached?: () => void;
13
+ /** Callback when state changes */
14
+ onStateChange?: (state: VoiceState) => void;
15
+ }
16
+ interface UseVoiceStateReturn {
17
+ /** Current voice state */
18
+ state: VoiceState;
19
+ /** Recording duration in seconds */
20
+ recordingDuration: number;
21
+ /** Transition to a new state */
22
+ transition: (newState: VoiceState) => void;
23
+ /** Reset to idle state */
24
+ reset: () => void;
25
+ }
26
+ /**
27
+ * Hook for managing voice chat state machine
28
+ *
29
+ * Valid transitions:
30
+ * - idle → listening
31
+ * - listening → processing
32
+ * - processing → speaking
33
+ * - speaking → idle
34
+ * - any → idle (reset/cancel)
35
+ */
36
+ export declare function useVoiceState(options?: UseVoiceStateOptions): UseVoiceStateReturn;
37
+ export {};
38
+ //# sourceMappingURL=useVoiceState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVoiceState.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/voice/useVoiceState.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,UAAU,oBAAoB;IAC5B,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,4CAA4C;IAC5C,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAA;IACjC,kCAAkC;IAClC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;CAC5C;AAED,UAAU,mBAAmB;IAC3B,0BAA0B;IAC1B,KAAK,EAAE,UAAU,CAAA;IACjB,oCAAoC;IACpC,iBAAiB,EAAE,MAAM,CAAA;IACzB,gCAAgC;IAChC,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,IAAI,CAAA;IAC1C,0BAA0B;IAC1B,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CAuFrF"}
@@ -0,0 +1,3 @@
1
+ import { type ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAA;AAG5C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * BotUyo Chat Widget - Standalone Version
3
+ * Entry point for CDN distribution
4
+ *
5
+ * This file creates a global `BotUyoChat` object that can be used
6
+ * to initialize the chat widget on any website without React/Next.js
7
+ *
8
+ * Self-contained: includes built-in error boundary, auto dark mode
9
+ * detection, and Shadow DOM CSS isolation. Only requires an API key.
10
+ *
11
+ * OPTIMIZATION: Code splitting enabled
12
+ * - Core bundle loads only Launcher (~80KB)
13
+ * - ChatWidget lazy loads on user interaction (~200KB)
14
+ * - Total reduction: 306KB -> ~100KB initial load (66% reduction)
15
+ */
16
+ import type { ChatWidgetProps } from './src/chat-widget/types';
17
+ interface CSSVariables {
18
+ background?: string;
19
+ foreground?: string;
20
+ card?: string;
21
+ cardForeground?: string;
22
+ primary?: string;
23
+ primaryForeground?: string;
24
+ muted?: string;
25
+ mutedForeground?: string;
26
+ border?: string;
27
+ destructive?: string;
28
+ radius?: string;
29
+ spacing1?: string;
30
+ spacing2?: string;
31
+ spacing3?: string;
32
+ spacing4?: string;
33
+ spacing5?: string;
34
+ spacing6?: string;
35
+ spacing8?: string;
36
+ }
37
+ interface StandaloneConfig extends Partial<ChatWidgetProps> {
38
+ apiKey: string;
39
+ apiBaseUrl?: string;
40
+ theme?: ChatWidgetProps['theme'] & {
41
+ cssVariables?: CSSVariables;
42
+ };
43
+ }
44
+ declare class BotUyoChatWidget {
45
+ private root;
46
+ private container;
47
+ private shadowRoot;
48
+ private mountPoint;
49
+ private darkModeObserver;
50
+ private darkModeMediaQuery;
51
+ private config;
52
+ /**
53
+ * Initialize the chat widget
54
+ * @param config - Widget configuration
55
+ * @returns Widget instance for chaining
56
+ */
57
+ init(config: StandaloneConfig): this;
58
+ /**
59
+ * Render the widget into the DOM
60
+ */
61
+ private render;
62
+ /**
63
+ * Update widget configuration
64
+ * @param config - Partial configuration to update
65
+ */
66
+ update(config: Partial<StandaloneConfig>): void;
67
+ /**
68
+ * Destroy the widget and clean up
69
+ */
70
+ destroy(): void;
71
+ /**
72
+ * Set up dark mode auto-detection.
73
+ * Observes data-theme on <html> and prefers-color-scheme media query.
74
+ */
75
+ private setupDarkModeDetection;
76
+ private handleDarkModeChange;
77
+ /**
78
+ * Open the chat window programmatically
79
+ */
80
+ open(): void;
81
+ /**
82
+ * Close the chat window programmatically
83
+ */
84
+ close(): void;
85
+ /**
86
+ * Send a message programmatically
87
+ * @param message - Message text
88
+ */
89
+ sendMessage(message: string): void;
90
+ /**
91
+ * Get current widget state
92
+ */
93
+ getState(): {
94
+ isOpen: boolean;
95
+ messageCount: number;
96
+ } | null;
97
+ }
98
+ declare const instance: BotUyoChatWidget;
99
+ declare global {
100
+ interface Window {
101
+ BotUyoChat: BotUyoChatWidget;
102
+ }
103
+ }
104
+ export default instance;
105
+ export { BotUyoChatWidget };
106
+ export type { StandaloneConfig };
107
+ export { ShadowChatWidget as ChatWidget } from './ShadowChatWidget';
108
+ export { ChatWidget as ChatWidgetUnstyled } from './src/chat-widget/ChatWidget';
109
+ export { ChatWidgetProvider, useChatWidget } from './src/chat-widget/ChatWidgetProvider';
110
+ export type { ChatWidgetContextValue, ChatWidgetProviderProps } from './src/chat-widget/ChatWidgetProvider';
111
+ export type { ChatWidgetProps, ChatTheme, UserContext, ChatMessage, TextMessage, ImageMessage, AudioMessage, LocationMessage, PageContext } from './src/chat-widget/types';
112
+ export { LanguageProvider, useLanguage } from './src/chat-widget/i18n/LanguageContext';
113
+ //# sourceMappingURL=standalone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../standalone.tsx"],"names":[],"mappings":"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"}