@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.
- package/dist/ShadowChatWidget.d.ts +25 -0
- package/dist/ShadowChatWidget.d.ts.map +1 -0
- package/dist/botuyo-chat.es.js +1 -1
- package/dist/botuyo-chat.umd.js +1 -1
- package/dist/botuyo-chat.umd.js.map +1 -1
- package/dist/{chunk-audio-BVQXZDLV.js → chunk-audio-CTtWdVDc.js} +2 -2
- package/dist/{chunk-audio-BVQXZDLV.js.map → chunk-audio-CTtWdVDc.js.map} +1 -1
- package/dist/{chunk-chat-ui-DDzNzbmQ.js → chunk-chat-ui-BL7xSiBM.js} +20 -20
- package/dist/{chunk-chat-ui-DDzNzbmQ.js.map → chunk-chat-ui-BL7xSiBM.js.map} +1 -1
- package/dist/{chunk-gallery-DVsqIt59.js → chunk-gallery-CHapXqfB.js} +2 -2
- package/dist/{chunk-gallery-DVsqIt59.js.map → chunk-gallery-CHapXqfB.js.map} +1 -1
- package/dist/src/chat-widget/ChatWidget.d.ts +5 -0
- package/dist/src/chat-widget/ChatWidget.d.ts.map +1 -0
- package/dist/src/chat-widget/ChatWidgetProvider.d.ts +81 -0
- package/dist/src/chat-widget/ChatWidgetProvider.d.ts.map +1 -0
- package/dist/src/chat-widget/components/AudioPlayer.d.ts +8 -0
- package/dist/src/chat-widget/components/AudioPlayer.d.ts.map +1 -0
- package/dist/src/chat-widget/components/AudioPlayer.stories.d.ts +37 -0
- package/dist/src/chat-widget/components/AudioPlayer.stories.d.ts.map +1 -0
- package/dist/src/chat-widget/components/Avatar3D.d.ts +23 -0
- package/dist/src/chat-widget/components/Avatar3D.d.ts.map +1 -0
- package/dist/src/chat-widget/components/ChatWindow.d.ts +35 -0
- package/dist/src/chat-widget/components/ChatWindow.d.ts.map +1 -0
- package/dist/src/chat-widget/components/ChatWindow.stories.d.ts +71 -0
- package/dist/src/chat-widget/components/ChatWindow.stories.d.ts.map +1 -0
- package/dist/src/chat-widget/components/ErrorBoundary.d.ts +36 -0
- package/dist/src/chat-widget/components/ErrorBoundary.d.ts.map +1 -0
- package/dist/src/chat-widget/components/ErrorBoundary.stories.d.ts +29 -0
- package/dist/src/chat-widget/components/ErrorBoundary.stories.d.ts.map +1 -0
- package/dist/src/chat-widget/components/Gallery.d.ts +14 -0
- package/dist/src/chat-widget/components/Gallery.d.ts.map +1 -0
- package/dist/src/chat-widget/components/Gallery.stories.d.ts +33 -0
- package/dist/src/chat-widget/components/Gallery.stories.d.ts.map +1 -0
- package/dist/src/chat-widget/components/Icons.d.ts +10 -0
- package/dist/src/chat-widget/components/Icons.d.ts.map +1 -0
- package/dist/src/chat-widget/components/InputArea.d.ts +21 -0
- package/dist/src/chat-widget/components/InputArea.d.ts.map +1 -0
- package/dist/src/chat-widget/components/InputArea.stories.d.ts +62 -0
- package/dist/src/chat-widget/components/InputArea.stories.d.ts.map +1 -0
- package/dist/src/chat-widget/components/LanguageSelector.d.ts +25 -0
- package/dist/src/chat-widget/components/LanguageSelector.d.ts.map +1 -0
- package/dist/src/chat-widget/components/Launcher.d.ts +22 -0
- package/dist/src/chat-widget/components/Launcher.d.ts.map +1 -0
- package/dist/src/chat-widget/components/Launcher.stories.d.ts +75 -0
- package/dist/src/chat-widget/components/Launcher.stories.d.ts.map +1 -0
- package/dist/src/chat-widget/components/LiveCallInputArea.d.ts +29 -0
- package/dist/src/chat-widget/components/LiveCallInputArea.d.ts.map +1 -0
- package/dist/src/chat-widget/components/MessageBubble.d.ts +15 -0
- package/dist/src/chat-widget/components/MessageBubble.d.ts.map +1 -0
- package/dist/src/chat-widget/components/MessageBubble.stories.d.ts +71 -0
- package/dist/src/chat-widget/components/MessageBubble.stories.d.ts.map +1 -0
- package/dist/src/chat-widget/components/MessageList.d.ts +15 -0
- package/dist/src/chat-widget/components/MessageList.d.ts.map +1 -0
- package/dist/src/chat-widget/components/MessageList.stories.d.ts +52 -0
- package/dist/src/chat-widget/components/MessageList.stories.d.ts.map +1 -0
- package/dist/src/chat-widget/components/TypingIndicator.d.ts +2 -0
- package/dist/src/chat-widget/components/TypingIndicator.d.ts.map +1 -0
- package/dist/src/chat-widget/components/TypingIndicator.stories.d.ts +39 -0
- package/dist/src/chat-widget/components/TypingIndicator.stories.d.ts.map +1 -0
- package/dist/src/chat-widget/components/VoiceCallOverlay.d.ts +66 -0
- package/dist/src/chat-widget/components/VoiceCallOverlay.d.ts.map +1 -0
- package/dist/src/chat-widget/components/VoiceInputArea.d.ts +26 -0
- package/dist/src/chat-widget/components/VoiceInputArea.d.ts.map +1 -0
- package/dist/src/chat-widget/components/index.d.ts +16 -0
- package/dist/src/chat-widget/components/index.d.ts.map +1 -0
- package/dist/src/chat-widget/contexts/AnimationContext.d.ts +69 -0
- package/dist/src/chat-widget/contexts/AnimationContext.d.ts.map +1 -0
- package/dist/src/chat-widget/hooks/useAnalytics.d.ts +19 -0
- package/dist/src/chat-widget/hooks/useAnalytics.d.ts.map +1 -0
- package/dist/src/chat-widget/hooks/useChatSocket.d.ts +35 -0
- package/dist/src/chat-widget/hooks/useChatSocket.d.ts.map +1 -0
- package/dist/src/chat-widget/hooks/useChatState.d.ts +23 -0
- package/dist/src/chat-widget/hooks/useChatState.d.ts.map +1 -0
- package/dist/src/chat-widget/hooks/useChatWidget.d.ts +50 -0
- package/dist/src/chat-widget/hooks/useChatWidget.d.ts.map +1 -0
- package/dist/src/chat-widget/hooks/useDarkMode.d.ts +6 -0
- package/dist/src/chat-widget/hooks/useDarkMode.d.ts.map +1 -0
- package/dist/src/chat-widget/hooks/useDynamicHeight.d.ts +10 -0
- package/dist/src/chat-widget/hooks/useDynamicHeight.d.ts.map +1 -0
- package/dist/src/chat-widget/hooks/useFocusTrap.d.ts +34 -0
- package/dist/src/chat-widget/hooks/useFocusTrap.d.ts.map +1 -0
- package/dist/src/chat-widget/hooks/useHighContrast.d.ts +6 -0
- package/dist/src/chat-widget/hooks/useHighContrast.d.ts.map +1 -0
- package/dist/src/chat-widget/hooks/useIsMobile.d.ts +2 -0
- package/dist/src/chat-widget/hooks/useIsMobile.d.ts.map +1 -0
- package/dist/src/chat-widget/hooks/useNotifications.d.ts +23 -0
- package/dist/src/chat-widget/hooks/useNotifications.d.ts.map +1 -0
- package/dist/src/chat-widget/hooks/useRateLimit.d.ts +15 -0
- package/dist/src/chat-widget/hooks/useRateLimit.d.ts.map +1 -0
- package/dist/src/chat-widget/hooks/useSEOMetadata.d.ts +10 -0
- package/dist/src/chat-widget/hooks/useSEOMetadata.d.ts.map +1 -0
- package/dist/src/chat-widget/hooks/useWidgetTheme.d.ts +12 -0
- package/dist/src/chat-widget/hooks/useWidgetTheme.d.ts.map +1 -0
- package/dist/src/chat-widget/i18n/LanguageContext.d.ts +33 -0
- package/dist/src/chat-widget/i18n/LanguageContext.d.ts.map +1 -0
- package/dist/src/chat-widget/i18n/index.d.ts +8 -0
- package/dist/src/chat-widget/i18n/index.d.ts.map +1 -0
- package/dist/src/chat-widget/i18n/translations.d.ts +189 -0
- package/dist/src/chat-widget/i18n/translations.d.ts.map +1 -0
- package/dist/src/chat-widget/i18n/useTranslations.d.ts +27 -0
- package/dist/src/chat-widget/i18n/useTranslations.d.ts.map +1 -0
- package/dist/src/chat-widget/index.d.ts +11 -0
- package/dist/src/chat-widget/index.d.ts.map +1 -0
- package/dist/src/chat-widget/types/index.d.ts +328 -0
- package/dist/src/chat-widget/types/index.d.ts.map +1 -0
- package/dist/src/chat-widget/types/socket.d.ts +107 -0
- package/dist/src/chat-widget/types/socket.d.ts.map +1 -0
- package/dist/src/chat-widget/utils/dateUtils.d.ts +33 -0
- package/dist/src/chat-widget/utils/dateUtils.d.ts.map +1 -0
- package/dist/src/chat-widget/utils/defaultAssets.d.ts +20 -0
- package/dist/src/chat-widget/utils/defaultAssets.d.ts.map +1 -0
- package/dist/src/chat-widget/utils/deviceId.d.ts +18 -0
- package/dist/src/chat-widget/utils/deviceId.d.ts.map +1 -0
- package/dist/src/chat-widget/utils/fileValidation.d.ts +75 -0
- package/dist/src/chat-widget/utils/fileValidation.d.ts.map +1 -0
- package/dist/src/chat-widget/utils/logger.d.ts +31 -0
- package/dist/src/chat-widget/utils/logger.d.ts.map +1 -0
- package/dist/src/chat-widget/utils/performance.d.ts +50 -0
- package/dist/src/chat-widget/utils/performance.d.ts.map +1 -0
- package/dist/src/chat-widget/utils/storage.d.ts +25 -0
- package/dist/src/chat-widget/utils/storage.d.ts.map +1 -0
- package/dist/src/chat-widget/utils/theme.d.ts +122 -0
- package/dist/src/chat-widget/utils/theme.d.ts.map +1 -0
- package/dist/src/chat-widget/utils/theme.examples.d.ts +47 -0
- package/dist/src/chat-widget/utils/theme.examples.d.ts.map +1 -0
- package/dist/src/chat-widget/utils/themes/index.d.ts +12 -0
- package/dist/src/chat-widget/utils/themes/index.d.ts.map +1 -0
- package/dist/src/chat-widget/voice/components/CallButton.d.ts +12 -0
- package/dist/src/chat-widget/voice/components/CallButton.d.ts.map +1 -0
- package/dist/src/chat-widget/voice/components/LiveCallOverlay.d.ts +12 -0
- package/dist/src/chat-widget/voice/components/LiveCallOverlay.d.ts.map +1 -0
- package/dist/src/chat-widget/voice/components/VoiceButton.d.ts +13 -0
- package/dist/src/chat-widget/voice/components/VoiceButton.d.ts.map +1 -0
- package/dist/src/chat-widget/voice/components/VoiceChatOverlay.d.ts +12 -0
- package/dist/src/chat-widget/voice/components/VoiceChatOverlay.d.ts.map +1 -0
- package/dist/src/chat-widget/voice/components/WaveformVisualizer.d.ts +12 -0
- package/dist/src/chat-widget/voice/components/WaveformVisualizer.d.ts.map +1 -0
- package/dist/src/chat-widget/voice/components/index.d.ts +10 -0
- package/dist/src/chat-widget/voice/components/index.d.ts.map +1 -0
- package/dist/src/chat-widget/voice/index.d.ts +11 -0
- package/dist/src/chat-widget/voice/index.d.ts.map +1 -0
- package/dist/src/chat-widget/voice/types.d.ts +232 -0
- package/dist/src/chat-widget/voice/types.d.ts.map +1 -0
- package/dist/src/chat-widget/voice/useLiveCall.d.ts +13 -0
- package/dist/src/chat-widget/voice/useLiveCall.d.ts.map +1 -0
- package/dist/src/chat-widget/voice/useVoiceChat.d.ts +13 -0
- package/dist/src/chat-widget/voice/useVoiceChat.d.ts.map +1 -0
- package/dist/src/chat-widget/voice/useVoiceState.d.ts +38 -0
- package/dist/src/chat-widget/voice/useVoiceState.d.ts.map +1 -0
- package/dist/src/lib/utils.d.ts +3 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/standalone.d.ts +113 -0
- package/dist/standalone.d.ts.map +1 -0
- package/dist/stats-umd.html +1 -1
- package/dist/stats.html +1 -1
- 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":"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"}
|
|
@@ -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 @@
|
|
|
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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"}
|