@botuyo/chat-widget-standalone 1.4.1 → 1.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AudioPlayer-CzaYLuuQ.js → AudioPlayer-gD0bNOyI.js} +2 -2
- package/dist/{AudioPlayer-CzaYLuuQ.js.map → AudioPlayer-gD0bNOyI.js.map} +1 -1
- package/dist/{Gallery-DfZMfTse.js → Gallery-DtFhNfDA.js} +2 -2
- package/dist/{Gallery-DfZMfTse.js.map → Gallery-DtFhNfDA.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/components/VoiceCallOverlay.d.ts.map +1 -1
- package/dist/src/chat-widget/voice/vadGate.d.ts +42 -0
- package/dist/src/chat-widget/voice/vadGate.d.ts.map +1 -1
- package/dist/{standalone-DOLAS_vS.js → standalone-D5d23zxp.js} +31 -31
- package/dist/{standalone-DOLAS_vS.js.map → standalone-D5d23zxp.js.map} +1 -1
- package/dist/stats-umd.html +1 -1
- package/dist/stats.html +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceCallOverlay.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/VoiceCallOverlay.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAoBH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,OAAO,EAML,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAA;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"VoiceCallOverlay.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/VoiceCallOverlay.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAoBH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,OAAO,EAML,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAQL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAA;AAOzB,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;IAC5B;;;;;;;;;;OAUG;IACH,GAAG,CAAC,EAAE,KAAK,GAAG,cAAc,CAAA;IAC5B,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;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;;;;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;AA4b9E,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,OAAO,EACP,YAAwB,EACxB,SAAS,EACT,OAAO,EACP,OAAO,EACP,WAAW,EACX,WAAW,EACX,WAAW,GACZ,EAAE,qBAAqB,kDAkgDvB"}
|
|
@@ -117,6 +117,48 @@ export declare function resolveSpeechFlag(ctx: {
|
|
|
117
117
|
confirmedSpeech: boolean;
|
|
118
118
|
vadFresh: boolean;
|
|
119
119
|
}): boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Final upstream decision for a captured frame — combines the {@link VadGate} verdict with
|
|
122
|
+
* a deliberate "defer to the server-side VAD while the bot is idle" rule.
|
|
123
|
+
*
|
|
124
|
+
* WHILE THE BOT IS SPEAKING the gate is authoritative: that is exactly when echo / ambient
|
|
125
|
+
* noise must NOT self-interrupt the greeting, so we trust the gate's barge-in bar (plus the
|
|
126
|
+
* silent frame {@link resolveVadInput} feeds when there is no fresh real-VAD signal) to keep
|
|
127
|
+
* the half-duplex protection.
|
|
128
|
+
*
|
|
129
|
+
* WHILE THE BOT IS IDLE (the user's turn to talk) we stream EVERY frame and let the
|
|
130
|
+
* provider's own server-side VAD decide where speech starts/ends — the pre-VAD, "as it was"
|
|
131
|
+
* behavior. A client-side near-field energy threshold is unreliable across microphones and
|
|
132
|
+
* input gains (and is bypassed entirely when the Silero model can't load behind a strict
|
|
133
|
+
* network), and it was silently dropping the audio of legitimate, normal-volume users. Being
|
|
134
|
+
* heard must never depend on it, so when it's the user's turn the mic always reaches upstream.
|
|
135
|
+
*/
|
|
136
|
+
export declare function resolveShouldStream(ctx: {
|
|
137
|
+
gateShouldStream: boolean;
|
|
138
|
+
botSpeaking: boolean;
|
|
139
|
+
}): boolean;
|
|
140
|
+
/**
|
|
141
|
+
* Ground-truth "is the bot AUDIBLY speaking right now?" used to drive the half-duplex
|
|
142
|
+
* gating. We deliberately do NOT rely solely on the `isPlaying` flag: that flag is only
|
|
143
|
+
* cleared by an `onended` callback on the last scheduled audio source, and if that callback
|
|
144
|
+
* never fires (a suspended/closed `AudioContext`, a stalled or stopped source, jitter) the
|
|
145
|
+
* flag gets STUCK at `true` — which would keep the gate authoritative forever and silence
|
|
146
|
+
* the user even though the bot has long finished. Instead we cross-check the playback
|
|
147
|
+
* schedule against the audio clock:
|
|
148
|
+
*
|
|
149
|
+
* - If nothing is playing (`isPlaying` false) → not speaking.
|
|
150
|
+
* - If there is no running `AudioContext` → nothing can be audible → not speaking.
|
|
151
|
+
* - Otherwise the bot is speaking only while the gapless schedule cursor (`nextPlayTime`)
|
|
152
|
+
* is still AHEAD of the context clock (`currentTime`). Once the clock passes the cursor,
|
|
153
|
+
* every scheduled chunk has elapsed → the bot is done and the user must be heard again,
|
|
154
|
+
* regardless of whether `onended` fired.
|
|
155
|
+
*/
|
|
156
|
+
export declare function resolveBotSpeaking(ctx: {
|
|
157
|
+
isPlaying: boolean;
|
|
158
|
+
contextRunning: boolean;
|
|
159
|
+
nextPlayTime: number;
|
|
160
|
+
currentTime: number;
|
|
161
|
+
}): boolean;
|
|
120
162
|
/**
|
|
121
163
|
* Stateful speech gate. Feed it one analysed frame at a time via {@link process};
|
|
122
164
|
* it returns whether to stream the frame plus any transition event.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vadGate.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/voice/vadGate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAA;AAE/C,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,YAAY,GAAG,UAAU,CAAA;AAErE,MAAM,WAAW,aAAa;IAC5B,oFAAoF;IACpF,uBAAuB,EAAE,MAAM,CAAA;IAC/B,yFAAyF;IACzF,uBAAuB,EAAE,MAAM,CAAA;IAC/B,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAA;IACpB,qFAAqF;IACrF,UAAU,EAAE,MAAM,CAAA;IAClB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAA;IACnB,0FAA0F;IAC1F,gBAAgB,EAAE,MAAM,CAAA;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,qDAAqD;AACrD,MAAM,WAAW,QAAQ;IACvB,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAA;IAClB,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAA;IACX,6EAA6E;IAC7E,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,YAAY,EAAE,OAAO,CAAA;IACrB,8CAA8C;IAC9C,KAAK,EAAE,YAAY,CAAA;IACnB,uDAAuD;IACvD,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,KAAK,GAAG,UAAU,GAAG,MAAM,EAAE,aAAa,CAyB/E,CAAA;AAED,sDAAsD;AACtD,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;AAKjF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,CAQ5E;AAED,0CAA0C;AAC1C,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,WAAW,EAAE,OAAO,CAAA;IACpB,sFAAsF;IACtF,QAAQ,EAAE,OAAO,CAAA;IACjB,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAA;IAClB,qCAAqC;IACrC,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAAE,CAYnG;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE;IAAE,eAAe,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAE/F;AAED;;;GAGG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,eAAe,CAAI;gBAEf,MAAM,GAAE,OAAO,CAAC,aAAa,CAAM;IAI/C,IAAI,KAAK,IAAI,YAAY,CAExB;IAED,qDAAqD;IACrD,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,aAAa;IAMvC,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,aAAa;CAqBtB"}
|
|
1
|
+
{"version":3,"file":"vadGate.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/voice/vadGate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAA;AAE/C,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,YAAY,GAAG,UAAU,CAAA;AAErE,MAAM,WAAW,aAAa;IAC5B,oFAAoF;IACpF,uBAAuB,EAAE,MAAM,CAAA;IAC/B,yFAAyF;IACzF,uBAAuB,EAAE,MAAM,CAAA;IAC/B,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAA;IACpB,qFAAqF;IACrF,UAAU,EAAE,MAAM,CAAA;IAClB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAA;IACnB,0FAA0F;IAC1F,gBAAgB,EAAE,MAAM,CAAA;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,qDAAqD;AACrD,MAAM,WAAW,QAAQ;IACvB,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAA;IAClB,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAA;IACX,6EAA6E;IAC7E,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,YAAY,EAAE,OAAO,CAAA;IACrB,8CAA8C;IAC9C,KAAK,EAAE,YAAY,CAAA;IACnB,uDAAuD;IACvD,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,KAAK,GAAG,UAAU,GAAG,MAAM,EAAE,aAAa,CAyB/E,CAAA;AAED,sDAAsD;AACtD,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;AAKjF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,CAQ5E;AAED,0CAA0C;AAC1C,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,WAAW,EAAE,OAAO,CAAA;IACpB,sFAAsF;IACtF,QAAQ,EAAE,OAAO,CAAA;IACjB,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAA;IAClB,qCAAqC;IACrC,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAAE,CAYnG;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE;IAAE,eAAe,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAE/F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE;IAAE,gBAAgB,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAGrG;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE;IACtC,SAAS,EAAE,OAAO,CAAA;IAClB,cAAc,EAAE,OAAO,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACpB,GAAG,OAAO,CAIV;AAED;;;GAGG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,eAAe,CAAI;gBAEf,MAAM,GAAE,OAAO,CAAC,aAAa,CAAM;IAI/C,IAAI,KAAK,IAAI,YAAY,CAExB;IAED,qDAAqD;IACrD,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,aAAa;IAMvC,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,aAAa;CAqBtB"}
|