@botuyo/chat-widget-standalone 1.3.0 → 1.3.2
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/{AudioPlayer-CCffk3no.js → AudioPlayer-Gpmnl_WP.js} +2 -2
- package/dist/{AudioPlayer-CCffk3no.js.map → AudioPlayer-Gpmnl_WP.js.map} +1 -1
- package/dist/{Gallery-DY--JKP6.js → Gallery-DPMCfsdD.js} +2 -2
- package/dist/{Gallery-DY--JKP6.js.map → Gallery-DPMCfsdD.js.map} +1 -1
- 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/src/chat-widget/ChatWidget.d.ts.map +1 -1
- package/dist/src/chat-widget/components/ChatWindow.d.ts +4 -1
- package/dist/src/chat-widget/components/ChatWindow.d.ts.map +1 -1
- package/dist/src/chat-widget/components/MessageBubble.d.ts.map +1 -1
- package/dist/src/chat-widget/components/VoiceCallOverlay.d.ts +18 -1
- package/dist/src/chat-widget/components/VoiceCallOverlay.d.ts.map +1 -1
- package/dist/src/chat-widget/hooks/useChatSocket.d.ts +3 -1
- package/dist/src/chat-widget/hooks/useChatSocket.d.ts.map +1 -1
- package/dist/src/chat-widget/hooks/useChatWidget.d.ts.map +1 -1
- package/dist/src/chat-widget/hooks/useWakeLock.d.ts +18 -0
- package/dist/src/chat-widget/hooks/useWakeLock.d.ts.map +1 -0
- package/dist/src/chat-widget/hooks/useWidgetTheme.d.ts +1 -1
- package/dist/src/chat-widget/i18n/translations.d.ts +4 -0
- package/dist/src/chat-widget/i18n/translations.d.ts.map +1 -1
- package/dist/src/chat-widget/index.d.ts +2 -0
- package/dist/src/chat-widget/index.d.ts.map +1 -1
- package/dist/src/chat-widget/types/index.d.ts +19 -0
- package/dist/src/chat-widget/types/index.d.ts.map +1 -1
- package/dist/src/chat-widget/types/socket.d.ts +20 -0
- package/dist/src/chat-widget/types/socket.d.ts.map +1 -1
- package/dist/src/chat-widget/utils/agentLabel.d.ts +10 -0
- package/dist/src/chat-widget/utils/agentLabel.d.ts.map +1 -0
- package/dist/src/chat-widget/utils/theme.d.ts +2 -2
- package/dist/src/chat-widget/utils/theme.d.ts.map +1 -1
- package/dist/src/chat-widget/voice/audioEnhancement.d.ts +82 -0
- package/dist/src/chat-widget/voice/audioEnhancement.d.ts.map +1 -1
- package/dist/{standalone-R7J1POsc.js → standalone-BG8RpAhe.js} +104 -101
- package/dist/standalone-BG8RpAhe.js.map +1 -0
- package/dist/stats-umd.html +1 -1
- package/dist/stats.html +1 -1
- package/package.json +1 -1
- package/dist/standalone-R7J1POsc.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatWidget.d.ts","sourceRoot":"","sources":["../../../src/chat-widget/ChatWidget.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"ChatWidget.d.ts","sourceRoot":"","sources":["../../../src/chat-widget/ChatWidget.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAe9C,OAAO,iCAAiC,CAAA;AAKxC,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,kDAmVrD;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,2CAS7D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAQhD"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { BubbleStyles, ChatMessage, MediaConfig } from '../types';
|
|
2
2
|
import { EmotionAvatarMap } from './Launcher';
|
|
3
|
+
import { type VoiceOverlayConfig } from './VoiceCallOverlay';
|
|
3
4
|
export interface ChatWindowProps {
|
|
4
5
|
isOpen: boolean;
|
|
5
6
|
isConnected: boolean;
|
|
@@ -27,9 +28,11 @@ export interface ChatWindowProps {
|
|
|
27
28
|
}) => void;
|
|
28
29
|
/** URL to a .vrm/.glb 3D model for voice call avatar */
|
|
29
30
|
avatar3dUrl?: string;
|
|
31
|
+
/** Voice call overlay configuration (e.g. background-noise gate sensitivity) */
|
|
32
|
+
voiceConfig?: VoiceOverlayConfig;
|
|
30
33
|
theme?: import('../types').ChatTheme;
|
|
31
34
|
/** Pre-chat suggested questions (shown before first user message) */
|
|
32
35
|
suggestedQuestions?: string[];
|
|
33
36
|
}
|
|
34
|
-
export declare function ChatWindow({ isOpen, isConnected, isTyping, messages, botName, logoUrl, welcomeMessage, inputPlaceholder, mediaConfig, onClose, onSendMessage, bubbleStyles, avatars, onSendAttachment, onSendLocation, getSocket, onAddVoiceMessage, avatar3dUrl, theme, suggestedQuestions, }: ChatWindowProps): import("react/jsx-runtime").JSX.Element | null;
|
|
37
|
+
export declare function ChatWindow({ isOpen, isConnected, isTyping, messages, botName, logoUrl, welcomeMessage, inputPlaceholder, mediaConfig, onClose, onSendMessage, bubbleStyles, avatars, onSendAttachment, onSendLocation, getSocket, onAddVoiceMessage, avatar3dUrl, voiceConfig, theme, suggestedQuestions, }: ChatWindowProps): import("react/jsx-runtime").JSX.Element | null;
|
|
35
38
|
//# sourceMappingURL=ChatWindow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatWindow.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/ChatWindow.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAQtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"ChatWindow.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/ChatWindow.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAQtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE7C,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE9E,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,cAAc,GAAG,aAAa,CAAA;IACzC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,KAAK,IAAI,CAAA;IACzE,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAC5E,SAAS,CAAC,EAAE,MAAM,GAAG,CAAA;IACrB,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAClF,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gFAAgF;IAChF,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,KAAK,CAAC,EAAE,OAAO,UAAU,EAAE,SAAS,CAAA;IACpC,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC9B;AAED,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,OAAkB,EAClB,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,OAAO,EACP,aAAa,EACb,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,KAAK,EACL,kBAAkB,GACnB,EAAE,eAAe,kDAqTjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/MessageBubble.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EAOb,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAOlD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,WAAW,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yDAAyD;IACzD,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,KAAK,IAAI,CAAA;CACpE;
|
|
1
|
+
{"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/MessageBubble.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EAOb,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAOlD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,WAAW,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yDAAyD;IACzD,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,KAAK,IAAI,CAAA;CACpE;AAgGD,eAAO,MAAM,aAAa,0DA+dzB,CAAA"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* PCM 24kHz audio → Socket.IO → Web Audio API playback
|
|
10
10
|
*/
|
|
11
11
|
import type { EmotionAvatarMap } from './Launcher';
|
|
12
|
+
import { type VoiceGateSetting } from '../voice/audioEnhancement';
|
|
12
13
|
/** Configurable voice call overlay options */
|
|
13
14
|
export interface VoiceOverlayConfig {
|
|
14
15
|
/** Background color of the overlay. Default: '#0a0a0a' */
|
|
@@ -41,6 +42,16 @@ export interface VoiceOverlayConfig {
|
|
|
41
42
|
thinkingScale?: number;
|
|
42
43
|
/** URL to a .vrm/.glb 3D model. When set, replaces 2D avatar with 3D. */
|
|
43
44
|
avatar3dUrl?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Background-noise gate sensitivity for the live voice call — isolates the
|
|
47
|
+
* speaker in front of the device by attenuating background ambience/chatter
|
|
48
|
+
* during their pauses. Higher = filters more background but risks clipping a
|
|
49
|
+
* soft speaker. Default: 'standard' (recommended).
|
|
50
|
+
* - `'off' | 'low' | 'standard' | 'high'` presets, or
|
|
51
|
+
* - `false` to disable / `true` for standard, or
|
|
52
|
+
* - a partial `VoiceGateConfig` to fine-tune the raw thresholds.
|
|
53
|
+
*/
|
|
54
|
+
noiseGate?: VoiceGateSetting;
|
|
44
55
|
}
|
|
45
56
|
interface VoiceCallOverlayProps {
|
|
46
57
|
isOpen: boolean;
|
|
@@ -59,8 +70,14 @@ interface VoiceCallOverlayProps {
|
|
|
59
70
|
content: string;
|
|
60
71
|
timestamp?: Date;
|
|
61
72
|
}) => void;
|
|
73
|
+
/**
|
|
74
|
+
* Fired when the SERVER ends the call (voice_call_ended), e.g. a recruiting
|
|
75
|
+
* interview the agent finalized. `reason` carries the backend reason
|
|
76
|
+
* (e.g. 'interview_completed'). Lets a host (voice-first room) react.
|
|
77
|
+
*/
|
|
78
|
+
onCallEnded?: (reason?: string) => void;
|
|
62
79
|
}
|
|
63
80
|
type CallState = 'idle' | 'connecting' | 'listening' | 'speaking' | 'thinking';
|
|
64
|
-
export declare function VoiceCallOverlay({ isOpen, onClose, primaryColor, getSocket, avatars, logoUrl, avatar3dUrl, voiceConfig, onAddMessage, }: VoiceCallOverlayProps): import("react/jsx-runtime").JSX.Element | null;
|
|
81
|
+
export declare function VoiceCallOverlay({ isOpen, onClose, primaryColor, getSocket, avatars, logoUrl, avatar3dUrl, voiceConfig, onAddMessage, onCallEnded, }: VoiceCallOverlayProps): import("react/jsx-runtime").JSX.Element | null;
|
|
65
82
|
export {};
|
|
66
83
|
//# sourceMappingURL=VoiceCallOverlay.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceCallOverlay.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/VoiceCallOverlay.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAUH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"VoiceCallOverlay.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/VoiceCallOverlay.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAUH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,OAAO,EAML,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAA;AAMlC,8CAA8C;AAC9C,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,yEAAyE;IACzE,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,mDAAmD;IACnD,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC/C,qCAAqC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;IACjD,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAA;CAC7B;AAED,UAAU,qBAAqB;IAC7B,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,CAAA;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,qEAAqE;IACrE,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAA;IAC/F;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CACxC;AAED,KAAK,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAA;AAqX9E,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,OAAO,EACP,YAAwB,EACxB,SAAS,EACT,OAAO,EACP,OAAO,EACP,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,GACZ,EAAE,qBAAqB,kDAyoCvB"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Hook optimizado para producción con soporte extendido de medios.
|
|
4
4
|
*/
|
|
5
5
|
import { Socket } from 'socket.io-client';
|
|
6
|
-
import type { ClientToServerEvents, ServerToClientEvents } from '../types/socket';
|
|
6
|
+
import type { ClientToServerEvents, ServerToClientEvents, AgentSwitchedData } from '../types/socket';
|
|
7
7
|
import type { ChatMessage, ChatWidgetProps, PageContext } from '../types';
|
|
8
8
|
export interface UseChatSocketOptions {
|
|
9
9
|
apiKey: string;
|
|
@@ -23,6 +23,8 @@ export interface UseChatSocketOptions {
|
|
|
23
23
|
onThemeUpdate?: (theme: any) => void;
|
|
24
24
|
/** Callback when a quiz button is clicked — sends as user message */
|
|
25
25
|
onQuizAnswer?: (question: string, answer: string) => void;
|
|
26
|
+
/** Callback when the backend switches the active agent/variant (header + system bubble) */
|
|
27
|
+
onAgentSwitched?: (data: AgentSwitchedData) => void;
|
|
26
28
|
}
|
|
27
29
|
export declare function useChatSocket(options: UseChatSocketOptions): {
|
|
28
30
|
isConnected: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChatSocket.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/hooks/useChatSocket.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAM,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"useChatSocket.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/hooks/useChatSocket.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAM,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EAGpB,iBAAiB,EAClB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAkB,MAAM,UAAU,CAAA;AA+BzF,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,WAAW,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,CAAA;IAC5C,SAAS,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAA;IACzC,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;IACnD,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAA;IACtD,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IACpC,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAA;IAC1C,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IACpC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;IACpC,qEAAqE;IACrE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACzD,2FAA2F;IAC3F,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAA;CACpD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB;;;2BAgW7C,MAAM,SAAQ,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM;;;;;;EAiE3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChatWidget.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/hooks/useChatWidget.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EAKX,WAAW,EACZ,MAAM,UAAU,CAAA;AAQjB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"useChatWidget.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/hooks/useChatWidget.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EAKX,WAAW,EACZ,MAAM,UAAU,CAAA;AAQjB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAenD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;IAChC,WAAW,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,CAAA;IAC5C,WAAW,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,CAAA;IAC5C,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IACpC,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAA;IAC1C,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IACpC,aAAa,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC,CAAA;IAChD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;CACrC;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB;;;;;;;;;;;;;;;;;;;;2BAiKhD,MAAM;iCA6BA,IAAI,QAAQ,OAAO,GAAG,OAAO,GAAG,MAAM;mCAyCxC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;EAiGrD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @package @botuyo/chat-widget
|
|
3
|
+
* useWakeLock — keeps the device screen awake while `active` is true.
|
|
4
|
+
*
|
|
5
|
+
* Uses the Screen Wake Lock API (https://developer.mozilla.org/docs/Web/API/Screen_Wake_Lock_API).
|
|
6
|
+
* During a voice call the user is looking at the screen but not touching it, so the
|
|
7
|
+
* OS would normally dim/blank the display. A screen wake lock prevents that.
|
|
8
|
+
*
|
|
9
|
+
* The OS auto-releases the lock whenever the page becomes hidden (tab switch, screen
|
|
10
|
+
* off), so we re-acquire it on `visibilitychange` while still active. Gracefully
|
|
11
|
+
* no-ops on browsers without support (older Safari / iOS < 16.4, Firefox).
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Keep the screen awake while `active`.
|
|
15
|
+
* @param active - true while the lock should be held (e.g. an ongoing voice call)
|
|
16
|
+
*/
|
|
17
|
+
export declare function useWakeLock(active: boolean): void;
|
|
18
|
+
//# sourceMappingURL=useWakeLock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWakeLock.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/hooks/useWakeLock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAqBH;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CA+CjD"}
|
|
@@ -5,7 +5,7 @@ import type { ChatTheme, BubbleStyles } from '../types';
|
|
|
5
5
|
* También gestiona alto contraste y estilos de burbujas
|
|
6
6
|
*/
|
|
7
7
|
export declare function useWidgetTheme(projectTheme?: ChatTheme, socketTheme?: ChatTheme): {
|
|
8
|
-
mergedTheme: Required<Omit<ChatTheme, "defaultLocale" | "avatars" | "emotion" | "starterPrompt" | "bubbleStyles" | "promptPersistence" | "avatarScale" | "showPromptAvatar" | "animations" | "effects" | "avatar3dUrl" | "darkCssVariables" | "headerText">>;
|
|
8
|
+
mergedTheme: Required<Omit<ChatTheme, "defaultLocale" | "avatars" | "emotion" | "starterPrompt" | "bubbleStyles" | "promptPersistence" | "avatarScale" | "showPromptAvatar" | "animations" | "effects" | "avatar3dUrl" | "voiceNoiseGate" | "darkCssVariables" | "headerText">>;
|
|
9
9
|
mergedStyles: BubbleStyles;
|
|
10
10
|
getContainerStyle: (isOpen: boolean, isMobile: boolean, position?: "bottom-left" | "bottom-right") => React.CSSProperties;
|
|
11
11
|
};
|
|
@@ -8,6 +8,7 @@ export declare const translations: {
|
|
|
8
8
|
offline: string;
|
|
9
9
|
connecting: string;
|
|
10
10
|
con_amor_paseo_libre: string;
|
|
11
|
+
agent_switched: string;
|
|
11
12
|
preview: string;
|
|
12
13
|
fotos: string;
|
|
13
14
|
ubicacion: string;
|
|
@@ -53,6 +54,7 @@ export declare const translations: {
|
|
|
53
54
|
offline: string;
|
|
54
55
|
connecting: string;
|
|
55
56
|
con_amor_paseo_libre: string;
|
|
57
|
+
agent_switched: string;
|
|
56
58
|
preview: string;
|
|
57
59
|
fotos: string;
|
|
58
60
|
ubicacion: string;
|
|
@@ -98,6 +100,7 @@ export declare const translations: {
|
|
|
98
100
|
offline: string;
|
|
99
101
|
connecting: string;
|
|
100
102
|
con_amor_paseo_libre: string;
|
|
103
|
+
agent_switched: string;
|
|
101
104
|
preview: string;
|
|
102
105
|
fotos: string;
|
|
103
106
|
ubicacion: string;
|
|
@@ -143,6 +146,7 @@ export declare const translations: {
|
|
|
143
146
|
offline: string;
|
|
144
147
|
connecting: string;
|
|
145
148
|
con_amor_paseo_libre: string;
|
|
149
|
+
agent_switched: string;
|
|
146
150
|
preview: string;
|
|
147
151
|
fotos: string;
|
|
148
152
|
ubicacion: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/i18n/translations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/i18n/translations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiPxB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,YAAY,CAAA;AAGvD,wBAAgB,cAAc,IAAI,eAAe,CAKhD"}
|
|
@@ -8,5 +8,7 @@ export type { ChatWidgetContextValue } from './ChatWidgetProvider';
|
|
|
8
8
|
export { Avatar3DPreview } from './components/Avatar3DPreview';
|
|
9
9
|
export type { ChatWidgetProps, ChatTheme, UserContext, ChatMessage, TextMessage, ImageMessage, AudioMessage, LocationMessage, PageContext, BubbleStyles, AuthenticatedUser, } from './types';
|
|
10
10
|
export type { ChatWidgetProviderProps } from './ChatWidgetProvider';
|
|
11
|
+
export type { VoiceGateSetting, VoiceGateSensitivity, VoiceGateConfig, } from './voice/audioEnhancement';
|
|
12
|
+
export { VOICE_GATE_PRESETS } from './voice/audioEnhancement';
|
|
11
13
|
export { ChatWidgetProvider as default } from './ChatWidgetProvider';
|
|
12
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chat-widget/index.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACxE,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAG9D,YAAY,EACV,eAAe,EACf,SAAS,EACT,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,WAAW,EACX,YAAY,EACZ,iBAAiB,GAClB,MAAM,SAAS,CAAA;AAEhB,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAGnE,OAAO,EAAE,kBAAkB,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chat-widget/index.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACxE,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAG9D,YAAY,EACV,eAAe,EACf,SAAS,EACT,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,WAAW,EACX,YAAY,EACZ,iBAAiB,GAClB,MAAM,SAAS,CAAA;AAEhB,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAGnE,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,GAChB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAG7D,OAAO,EAAE,kBAAkB,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAA"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Tipos principales del Chat Widget
|
|
4
4
|
*/
|
|
5
5
|
import { BotEmotion, EmotionAvatarMap, PromptStrategy } from '../components/Launcher';
|
|
6
|
+
import type { VoiceGateSetting } from '../voice/audioEnhancement';
|
|
6
7
|
/**
|
|
7
8
|
* Configuración de funcionalidades multimedia
|
|
8
9
|
*/
|
|
@@ -134,6 +135,18 @@ export interface ChatWidgetProps {
|
|
|
134
135
|
initialOpen?: boolean;
|
|
135
136
|
/** Hide the floating launcher button entirely (default: false) */
|
|
136
137
|
hideLauncher?: boolean;
|
|
138
|
+
/**
|
|
139
|
+
* Voice-first (kiosk-style) mode. When true the widget renders ONLY a
|
|
140
|
+
* fullscreen voice-call experience that auto-starts the call as soon as the
|
|
141
|
+
* socket connects — no launcher, no text chat window. Used by the recruiting
|
|
142
|
+
* interview room. The host is notified via `onEvent`:
|
|
143
|
+
* - `onEvent('voice_call_ended', { reason })` when the SERVER ends the call
|
|
144
|
+
* (e.g. reason 'interview_completed' once the agent finalizes).
|
|
145
|
+
* - `onEvent('voice_first_ended', {})` when the call overlay closes for any
|
|
146
|
+
* reason (server end, candidate hangup, inactivity).
|
|
147
|
+
* Default: false.
|
|
148
|
+
*/
|
|
149
|
+
voiceFirst?: boolean;
|
|
137
150
|
}
|
|
138
151
|
export interface BubbleStyles {
|
|
139
152
|
radius?: {
|
|
@@ -167,6 +180,12 @@ export interface ChatTheme {
|
|
|
167
180
|
avatars?: EmotionAvatarMap;
|
|
168
181
|
/** URL to a .vrm/.glb 3D model for voice call avatar */
|
|
169
182
|
avatar3dUrl?: string;
|
|
183
|
+
/**
|
|
184
|
+
* Background-noise gate sensitivity for live voice calls — isolates the
|
|
185
|
+
* speaker in front of the device. `'off' | 'low' | 'standard' | 'high'`
|
|
186
|
+
* (default 'standard'), `true`/`false`, or a partial config for fine control.
|
|
187
|
+
*/
|
|
188
|
+
voiceNoiseGate?: VoiceGateSetting;
|
|
170
189
|
/** Posición del launcher */
|
|
171
190
|
position?: 'bottom-right' | 'bottom-left';
|
|
172
191
|
/** Mensaje de bienvenida personalizado */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,6 +92,26 @@ export interface CustomEventPayload {
|
|
|
92
92
|
eventName: string;
|
|
93
93
|
data: any;
|
|
94
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Payload of the `agent_switched` custom event — emitted by the backend when a
|
|
97
|
+
* `switch_variant` (intra-family) or `transfer_to_department` (inter-agent) tool
|
|
98
|
+
* runs successfully. Lets the widget reflect the now-active agent/variant in its
|
|
99
|
+
* header (name + avatar) and show a system bubble. All fields are optional:
|
|
100
|
+
* `switch_variant` may omit `name`/`avatarUrl` when no variantsMeta exists, and
|
|
101
|
+
* `transfer_to_department` omits `variantKey`/`avatarUrl`.
|
|
102
|
+
*/
|
|
103
|
+
export interface AgentSwitchedData {
|
|
104
|
+
/** Connect-time/resolved agent id of the now-active agent (informational). */
|
|
105
|
+
agentId?: string;
|
|
106
|
+
/** Display name of the now-active agent/variant (e.g. "Ms. Ellis"). */
|
|
107
|
+
name?: string;
|
|
108
|
+
/** Short variant/department label (e.g. "A2", "Ventas"). */
|
|
109
|
+
label?: string;
|
|
110
|
+
/** Avatar/logo URL of the now-active agent/variant. */
|
|
111
|
+
avatarUrl?: string;
|
|
112
|
+
/** The variant key when the switch came from `switch_variant`. */
|
|
113
|
+
variantKey?: string;
|
|
114
|
+
}
|
|
95
115
|
export interface SocketAuthPayload {
|
|
96
116
|
/** API Key del tenant */
|
|
97
117
|
apiKey: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/types/socket.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/types/socket.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compose a human-friendly display label for an agent/variant switch.
|
|
3
|
+
*
|
|
4
|
+
* Combines the agent name with a short variant label
|
|
5
|
+
* (e.g. "Ms. Ellis" + "A2" → "Ms. Ellis · A2"), avoiding duplication when the
|
|
6
|
+
* name already contains the label (e.g. "Ms. Ellis — A2" + "A2" → unchanged).
|
|
7
|
+
* Used by the `agent_switched` flow to update the header + system bubble.
|
|
8
|
+
*/
|
|
9
|
+
export declare function composeAgentLabel(name?: string, label?: string): string;
|
|
10
|
+
//# sourceMappingURL=agentLabel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentLabel.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/utils/agentLabel.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAKvE"}
|
|
@@ -57,7 +57,7 @@ export declare const DARK_CSS_VARIABLES: Partial<CSSVariables>;
|
|
|
57
57
|
* TEMA DEFAULT - BotUyo (Verde Fresco)
|
|
58
58
|
* Tema por defecto cuando no se envía configuración
|
|
59
59
|
*/
|
|
60
|
-
export declare const DEFAULT_THEME: Required<Omit<ChatTheme, 'avatars' | 'emotion' | 'starterPrompt' | 'bubbleStyles' | 'promptPersistence' | 'avatarScale' | 'showPromptAvatar' | 'defaultLocale' | 'animations' | 'effects' | 'avatar3dUrl' | 'darkCssVariables' | 'headerText'>>;
|
|
60
|
+
export declare const DEFAULT_THEME: Required<Omit<ChatTheme, 'avatars' | 'emotion' | 'starterPrompt' | 'bubbleStyles' | 'promptPersistence' | 'avatarScale' | 'showPromptAvatar' | 'defaultLocale' | 'animations' | 'effects' | 'avatar3dUrl' | 'voiceNoiseGate' | 'darkCssVariables' | 'headerText'>>;
|
|
61
61
|
/**
|
|
62
62
|
* TEMA OCEAN - Azul Profundo
|
|
63
63
|
* Diseño profesional y corporativo con tonos azules
|
|
@@ -94,7 +94,7 @@ export declare const NATURE_THEME: ChatTheme;
|
|
|
94
94
|
* El merge es PROFUNDO para cssVariables, garantizando que cada propiedad
|
|
95
95
|
* individual se complete con su fallback correspondiente.
|
|
96
96
|
*/
|
|
97
|
-
export declare function mergeThemeWithDefaults(userTheme?: Partial<ChatTheme>, socketTheme?: Partial<ChatTheme>): Required<Omit<ChatTheme, 'avatars' | 'emotion' | 'starterPrompt' | 'bubbleStyles' | 'promptPersistence' | 'avatarScale' | 'showPromptAvatar' | 'defaultLocale' | 'animations' | 'effects' | 'avatar3dUrl' | 'darkCssVariables' | 'headerText'>>;
|
|
97
|
+
export declare function mergeThemeWithDefaults(userTheme?: Partial<ChatTheme>, socketTheme?: Partial<ChatTheme>): Required<Omit<ChatTheme, 'avatars' | 'emotion' | 'starterPrompt' | 'bubbleStyles' | 'promptPersistence' | 'avatarScale' | 'showPromptAvatar' | 'defaultLocale' | 'animations' | 'effects' | 'avatar3dUrl' | 'voiceNoiseGate' | 'darkCssVariables' | 'headerText'>>;
|
|
98
98
|
/**
|
|
99
99
|
* Obtiene el color primario en formato hsl(...) desde cssVariables.primary
|
|
100
100
|
* Ejemplo: "210 100% 50%" -> "hsl(210 100% 50%)"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/utils/theme.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/utils/theme.ts"],"names":[],"mappings":"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"}
|
|
@@ -101,4 +101,86 @@ export declare function generateNoiseGateCode(threshold?: number, holdFrames?: n
|
|
|
101
101
|
constructorInit: string;
|
|
102
102
|
gateCheck: string;
|
|
103
103
|
};
|
|
104
|
+
/**
|
|
105
|
+
* Downward-expander gate config for the live voice path (VoiceCallOverlay).
|
|
106
|
+
*
|
|
107
|
+
* Unlike `generateNoiseGateCode` (which DROPS sub-threshold chunks and is only
|
|
108
|
+
* safe for paths without server-side VAD), this gate ATTENUATES sub-threshold
|
|
109
|
+
* audio toward a non-zero floor while STILL sending every chunk. The stream
|
|
110
|
+
* stays continuous, so Gemini Live's server-side VAD keeps working, but the
|
|
111
|
+
* room ambience / background chatter that leaks in during the user's pauses is
|
|
112
|
+
* suppressed instead of being streamed up at full level.
|
|
113
|
+
*
|
|
114
|
+
* Tuning notes (RMS on the enhanced signal, Float32 scale 0–1):
|
|
115
|
+
* - `openThreshold` 0.0125 sits just above quiet room ambient (~0.003–0.008)
|
|
116
|
+
* and below normal near-field speech (~0.02–0.10), so the person in front of
|
|
117
|
+
* the device opens the gate while distant / low-level background does not.
|
|
118
|
+
* - `floorGain` 0.12 (≈ −18 dB) is an attenuation, not a hard mute: it keeps the
|
|
119
|
+
* stream continuous and click-free, and is forgiving if a soft speaker briefly
|
|
120
|
+
* dips below threshold (worst case they are attenuated, never cut to silence).
|
|
121
|
+
* - `attackStep` 1 opens the gate within a single 100 ms frame (never clips a
|
|
122
|
+
* word onset); `releaseStep` 0.16 closes gradually (~0.5 s hold) so natural
|
|
123
|
+
* pauses between words are not chopped.
|
|
124
|
+
*
|
|
125
|
+
* NOTE: an energy gate leverages the inverse-square law (the near speaker is the
|
|
126
|
+
* loudest source) — it cannot separate a second person talking AT the device at
|
|
127
|
+
* conversational volume. That needs hardware beamforming / ML source separation
|
|
128
|
+
* which browsers do not expose; the browser-level `noiseSuppression` constraint
|
|
129
|
+
* plus this gate are the strongest client-side levers available.
|
|
130
|
+
*/
|
|
131
|
+
export interface VoiceGateConfig {
|
|
132
|
+
/** RMS at/above which the gate is fully open (gain → 1) */
|
|
133
|
+
openThreshold: number;
|
|
134
|
+
/** Gain applied when fully closed (0–1; non-zero keeps the stream continuous) */
|
|
135
|
+
floorGain: number;
|
|
136
|
+
/** Max gain increase per frame when opening (1 = instant, never clips onsets) */
|
|
137
|
+
attackStep: number;
|
|
138
|
+
/** Max gain decrease per frame when closing (smaller = longer hold) */
|
|
139
|
+
releaseStep: number;
|
|
140
|
+
}
|
|
141
|
+
export declare const VOICE_GATE_CONFIG: VoiceGateConfig;
|
|
142
|
+
/**
|
|
143
|
+
* Friendly sensitivity presets so each tenant can dial background isolation up
|
|
144
|
+
* or down without understanding the raw DSP knobs:
|
|
145
|
+
* - `off` → gate disabled (every frame passes at full level — legacy behaviour)
|
|
146
|
+
* - `low` → gentle; only the quietest ambience is attenuated (safest for soft speakers)
|
|
147
|
+
* - `standard` → recommended default (= VOICE_GATE_CONFIG)
|
|
148
|
+
* - `high` → aggressive; cuts more background, higher risk of clipping a soft speaker
|
|
149
|
+
*/
|
|
150
|
+
export type VoiceGateSensitivity = 'off' | 'low' | 'standard' | 'high';
|
|
151
|
+
export declare const VOICE_GATE_PRESETS: Record<VoiceGateSensitivity, VoiceGateConfig>;
|
|
152
|
+
/**
|
|
153
|
+
* What a widget consumer can pass to configure the gate:
|
|
154
|
+
* - a boolean (`true` = standard, `false` = off)
|
|
155
|
+
* - a named sensitivity preset (`'low' | 'standard' | 'high' | 'off'`)
|
|
156
|
+
* - a partial config to fine-tune specific knobs (merged over `standard`)
|
|
157
|
+
*/
|
|
158
|
+
export type VoiceGateSetting = boolean | VoiceGateSensitivity | Partial<VoiceGateConfig>;
|
|
159
|
+
/**
|
|
160
|
+
* Resolves a consumer-provided gate setting into a full VoiceGateConfig.
|
|
161
|
+
* Always returns a fresh object; defaults to the recommended `standard` preset.
|
|
162
|
+
*/
|
|
163
|
+
export declare function resolveVoiceGateConfig(setting?: VoiceGateSetting): VoiceGateConfig;
|
|
164
|
+
/**
|
|
165
|
+
* Pure downward-expander gain curve — the single source of truth replicated by
|
|
166
|
+
* the AudioWorklet. Given the current frame RMS and the previously applied gain,
|
|
167
|
+
* returns the next gain: fast attack, slow release, clamped to [floorGain, 1].
|
|
168
|
+
*
|
|
169
|
+
* @param rms - RMS of the current frame (Float32 scale 0–1)
|
|
170
|
+
* @param prevGain - gain applied to the previous frame
|
|
171
|
+
* @param config - gate tuning (defaults to VOICE_GATE_CONFIG)
|
|
172
|
+
*/
|
|
173
|
+
export declare function computeExpanderGain(rms: number, prevGain: number, config?: VoiceGateConfig): number;
|
|
174
|
+
/**
|
|
175
|
+
* Builds the AudioWorklet processor source for the live voice path.
|
|
176
|
+
*
|
|
177
|
+
* Captures mic input as PCM 16-bit, computes per-frame RMS, applies the
|
|
178
|
+
* downward-expander gain (smoothed per-sample to avoid clicks) and posts EVERY
|
|
179
|
+
* frame so the upstream server-side VAD keeps a continuous stream.
|
|
180
|
+
*
|
|
181
|
+
* @param config - gate tuning (defaults to VOICE_GATE_CONFIG)
|
|
182
|
+
* @param processorName - registered worklet name (default 'voice-pcm-processor')
|
|
183
|
+
* @param chunkSize - samples per frame (default 1600 = 100 ms at 16 kHz)
|
|
184
|
+
*/
|
|
185
|
+
export declare function buildVoiceProcessorCode(config?: VoiceGateConfig, processorName?: string, chunkSize?: number): string;
|
|
104
186
|
//# sourceMappingURL=audioEnhancement.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audioEnhancement.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/voice/audioEnhancement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,qBAMxC,CAAA;AAMD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,QAAQ,CAAA;AAEzC;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAA;AAMvC;;;GAGG;AACH,eAAO,MAAM,kBAAkB;IAC7B,2EAA2E;;;;;IAK3E,gGAAgG;;;;;IAKhG,4EAA4E;;;;;;IAM5E,sEAAsE;;;;;IAKtE,gFAAgF;;;;;;;;CAQxE,CAAA;AAEV;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,0BAA0B,GACjC,SAAS,CAgDX;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,GAAE,MAA6B,EACxC,UAAU,GAAE,MAA+B,GAC1C;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAqBhD"}
|
|
1
|
+
{"version":3,"file":"audioEnhancement.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/voice/audioEnhancement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,qBAMxC,CAAA;AAMD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,QAAQ,CAAA;AAEzC;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAA;AAMvC;;;GAGG;AACH,eAAO,MAAM,kBAAkB;IAC7B,2EAA2E;;;;;IAK3E,gGAAgG;;;;;IAKhG,4EAA4E;;;;;;IAM5E,sEAAsE;;;;;IAKtE,gFAAgF;;;;;;;;CAQxE,CAAA;AAEV;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,0BAA0B,GACjC,SAAS,CAgDX;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,GAAE,MAA6B,EACxC,UAAU,GAAE,MAA+B,GAC1C;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAqBhD;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,aAAa,EAAE,MAAM,CAAA;IACrB,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAA;IACjB,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAA;IAClB,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,eAAO,MAAM,iBAAiB,EAAE,eAK/B,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAA;AAEtE,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,EAAE,eAAe,CAK5E,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;AAExF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,eAAe,CAYlF;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,eAAmC,GAC1C,MAAM,CAMR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,GAAE,eAAmC,EAC3C,aAAa,SAAwB,EACrC,SAAS,SAAO,GACf,MAAM,CAoDR"}
|