@alxxsck/ai-assistant 3.1.3 → 3.3.0
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/README.md +11 -9
- package/dist/{Avatar-4-afyc6j.js → Avatar-5O8HyYPY.js} +17 -6
- package/dist/ChatWidgetContent-CPYrjWPG.js +4772 -0
- package/dist/avatar/Avatar.d.ts +3 -1
- package/dist/bridge-ai-chat-widget.es.js +1 -1
- package/dist/context/ChatWidgetContext.d.ts +7 -0
- package/dist/domain/command/CommandRuntime.d.ts +3 -2
- package/dist/domain/command/UiCommandService.d.ts +2 -1
- package/dist/domain/command/command.types.d.ts +10 -0
- package/dist/domain/speech/SpeechPlayer.d.ts +15 -2
- package/dist/domain/ui/assistant-surface.d.ts +32 -0
- package/dist/domain/ui/widget-geometry.d.ts +10 -0
- package/dist/domain/voice/media/voice-playback-policy.d.ts +44 -0
- package/dist/i18n/messages.d.ts +1 -0
- package/dist/{index-CQ3BM1Cp.js → index-C6_FMpJa.js} +49 -27
- package/dist/{mount-0FNnP1KQ.js → mount-B4JOSFpY.js} +7747 -6326
- package/dist/ui/components/ChatWidgetFrame.d.ts +5 -1
- package/dist/ui/components/CompactAssistantSurface.d.ts +6 -0
- package/dist/ui/components/CompactScenarioPreview.d.ts +1 -0
- package/dist/ui/components/VoiceMicOrb.d.ts +18 -0
- package/dist/ui/hooks/useVoiceInputAura.d.ts +22 -0
- package/package.json +1 -1
- package/dist/ChatWidgetContent-ChQneICE.js +0 -5379
package/README.md
CHANGED
|
@@ -273,17 +273,19 @@ const widget = new ChatWidgetInstance({
|
|
|
273
273
|
```
|
|
274
274
|
|
|
275
275
|
`uiActionPolicies` is trusted host configuration keyed by canonical action
|
|
276
|
-
code. `keep` leaves the
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
276
|
+
code. `keep` leaves the assistant surface open; `collapseOnSuccess` and
|
|
277
|
+
`immersive` minimize it to the compact assistant after the handler resolves,
|
|
278
|
+
on both desktop and mobile. `mobileDisposition` is retained as a compatibility
|
|
279
|
+
field name; a value supplied in command payload is ignored. Unregistered page,
|
|
280
|
+
modal, and element actions default to `collapseOnSuccess`.
|
|
280
281
|
|
|
281
282
|
Navigation and modal handlers should resolve only after the destination is
|
|
282
|
-
ready to own focus, or reject on failure. A
|
|
283
|
-
to Lola's launcher; it preserves host focus while manual collapse still
|
|
284
|
-
focus to the
|
|
285
|
-
semantics of `collapseOnSuccess`; hiding all assistant
|
|
286
|
-
the host exposes an explicit destination-exit
|
|
283
|
+
ready to own focus, or reject on failure. A successful handoff never returns
|
|
284
|
+
focus to Lola's launcher; it preserves host focus while manual collapse still
|
|
285
|
+
returns focus to the assistant. `immersive` currently shares the safe
|
|
286
|
+
surface-minimization semantics of `collapseOnSuccess`; hiding all assistant
|
|
287
|
+
chrome is reserved until the host exposes an explicit destination-exit
|
|
288
|
+
lifecycle.
|
|
287
289
|
|
|
288
290
|
`reportActivation()` is the authoritative signal that the product accepted the
|
|
289
291
|
user activation. Call it synchronously from the product-owned action handler,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { l as qs } from "./index-
|
|
1
|
+
import { l as qs } from "./index-C6_FMpJa.js";
|
|
2
2
|
var Dr = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
|
3
3
|
const Lc = "182", Nd = 0, Tl = 1, Fd = 2, Ks = 1, Zu = 2, Wr = 3, ti = 0, qt = 1, Ln = 2, $n = 0, lr = 1, Al = 2, El = 3, wl = 4, Ud = 5, Ii = 100, Od = 101, kd = 102, Bd = 103, zd = 104, Hd = 200, Gd = 201, Vd = 202, Wd = 203, yo = 204, Mo = 205, Xd = 206, jd = 207, qd = 208, Kd = 209, Yd = 210, Jd = 211, Zd = 212, Qd = 213, $d = 214, To = 0, Ao = 1, Eo = 2, pr = 3, wo = 4, Ro = 5, Co = 6, Po = 7, Dc = 0, ef = 1, tf = 2, Un = 0, Qu = 1, $u = 2, eh = 3, th = 4, nh = 5, ih = 6, Nc = 7, Rl = "attached", nf = "detached", rh = 300, Bi = 301, mr = 302, Io = 303, Lo = 304, ga = 306, Ft = 1e3, Nn = 1001, ra = 1002, Tt = 1003, sh = 1004, Xr = 1005, At = 1006, Ys = 1007, Zn = 1008, en = 1009, ah = 1010, oh = 1011, ns = 1012, Fc = 1013, kn = 1014, un = 1015, ni = 1016, Uc = 1017, Oc = 1018, is = 1020, ch = 35902, lh = 35899, uh = 1021, hh = 1022, hn = 1023, ii = 1026, Di = 1027, kc = 1028, Bc = 1029, _r = 1030, zc = 1031, Hc = 1033, Js = 33776, Zs = 33777, Qs = 33778, $s = 33779, Do = 35840, No = 35841, Fo = 35842, Uo = 35843, Oo = 36196, ko = 37492, Bo = 37496, zo = 37488, Ho = 37489, Go = 37490, Vo = 37491, Wo = 37808, Xo = 37809, jo = 37810, qo = 37811, Ko = 37812, Yo = 37813, Jo = 37814, Zo = 37815, Qo = 37816, $o = 37817, ec = 37818, tc = 37819, nc = 37820, ic = 37821, rc = 36492, sc = 36494, ac = 36495, oc = 36283, cc = 36284, lc = 36285, uc = 36286, dh = 2200, rf = 2201, sf = 2202, rs = 2300, ss = 2301, Ca = 2302, ar = 2400, or = 2401, sa = 2402, Gc = 2500, af = 2501, of = 0, fh = 1, hc = 2, cf = 3200, Vc = 0, lf = 1, pi = "", nt = "srgb", Wt = "srgb-linear", aa = "linear", $e = "srgb", Wi = 7680, Cl = 519, uf = 512, hf = 513, df = 514, Wc = 515, ff = 516, pf = 517, Xc = 518, mf = 519, dc = 35044, Pl = "300 es", Fn = 2e3, oa = 2001;
|
|
4
4
|
function ph(s) {
|
|
@@ -29425,8 +29425,8 @@ const Wv = [
|
|
|
29425
29425
|
function Xv(s) {
|
|
29426
29426
|
return Wv.filter((e) => !s[e]);
|
|
29427
29427
|
}
|
|
29428
|
-
const jv = 1, qv = 5922928, Kv = 4, Yv = 16773858, Jv = 3.2, Zv = 9357055, Qv = 2, $v = [-120, 150, -130], eS = 16775149, tS = 9e4, nS = 300, iS = 0.52, rS = 0.88, sS = 2, aS = [20, 190, 135], oS = 120, cS = 14674431, lS = 6968672, uS = 0.7;
|
|
29429
|
-
class
|
|
29428
|
+
const jv = 1, qv = 5922928, Kv = 4, Yv = 16773858, Jv = 3.2, Zv = 9357055, Qv = 2, $v = [-120, 150, -130], eS = 16775149, tS = 9e4, nS = 300, iS = 0.52, rS = 0.88, sS = 2, aS = [20, 190, 135], oS = 120, cS = 14674431, lS = 6968672, uS = 0.7, hS = 1e3;
|
|
29429
|
+
class fS extends EventTarget {
|
|
29430
29430
|
constructor(e, t, n) {
|
|
29431
29431
|
super(), this.canvas = e, this.videoContainer = t, this.api = n, this.renderer = new K0({
|
|
29432
29432
|
canvas: this.canvas,
|
|
@@ -29464,6 +29464,11 @@ class dS extends EventTarget {
|
|
|
29464
29464
|
lookAt: new U(-7, 86, 0),
|
|
29465
29465
|
fov: 50
|
|
29466
29466
|
},
|
|
29467
|
+
compactAssistant: {
|
|
29468
|
+
position: new U(0, 145, 180),
|
|
29469
|
+
lookAt: new U(-7, 140, 0),
|
|
29470
|
+
fov: 20
|
|
29471
|
+
},
|
|
29467
29472
|
video: {
|
|
29468
29473
|
position: new U(0, 125, 200),
|
|
29469
29474
|
lookAt: new U(-7, 90, 0),
|
|
@@ -29681,7 +29686,7 @@ class dS extends EventTarget {
|
|
|
29681
29686
|
}
|
|
29682
29687
|
setFramingMode(e) {
|
|
29683
29688
|
if (this.framingMode === e || (this.framingMode = e, !this.camera)) return;
|
|
29684
|
-
const t = e === "chat-surface" ? this.cameraParams.chatSurface : this.cameraParams.default, n = window.matchMedia?.("(prefers-reduced-motion: reduce)").matches ?? !1;
|
|
29689
|
+
const t = e === "chat-surface" ? this.cameraParams.chatSurface : e === "compact-assistant" ? this.cameraParams.compactAssistant : this.cameraParams.default, n = window.matchMedia?.("(prefers-reduced-motion: reduce)").matches ?? !1;
|
|
29685
29690
|
this.setCamera(t, void 0, n ? 0 : 0.28);
|
|
29686
29691
|
}
|
|
29687
29692
|
width = 0;
|
|
@@ -29733,15 +29738,21 @@ class dS extends EventTarget {
|
|
|
29733
29738
|
idleAnimationName = this.IDLE_ANIMATION_NAME_1;
|
|
29734
29739
|
talkingRequested = !1;
|
|
29735
29740
|
talkingApplied = !1;
|
|
29741
|
+
lipSyncUnderrunTimer = null;
|
|
29736
29742
|
reportOptionalAnimationFailure(e) {
|
|
29737
29743
|
qs.warn("Optional avatar animation failed", e);
|
|
29738
29744
|
}
|
|
29745
|
+
clearLipSyncUnderrunTimer() {
|
|
29746
|
+
this.lipSyncUnderrunTimer && clearTimeout(this.lipSyncUnderrunTimer), this.lipSyncUnderrunTimer = null;
|
|
29747
|
+
}
|
|
29739
29748
|
applyLipSyncSnapshot(e) {
|
|
29740
29749
|
const t = e.phase === "playing";
|
|
29741
29750
|
t ? this.animationManager?.setLipSyncTarget(
|
|
29742
29751
|
e.mouthOpen,
|
|
29743
29752
|
e.activeViseme
|
|
29744
|
-
) : this.animationManager?.resetLipSync(),
|
|
29753
|
+
) : this.animationManager?.resetLipSync(), e.phase === "underrun" ? this.lipSyncUnderrunTimer || (this.lipSyncUnderrunTimer = setTimeout(() => {
|
|
29754
|
+
this.lipSyncUnderrunTimer = null, this.talkingRequested && this.setTalking(!1);
|
|
29755
|
+
}, hS)) : this.clearLipSyncUnderrunTimer(), t && !this.talkingRequested ? this.setTalking(!0) : t && !this.talkingApplied ? this.applyTalkingWhenReady() : e.phase === "idle" && this.talkingRequested && this.setTalking(!1);
|
|
29745
29756
|
}
|
|
29746
29757
|
setTalking(e) {
|
|
29747
29758
|
if (this.talkingRequested = e, e) {
|
|
@@ -29815,5 +29826,5 @@ class dS extends EventTarget {
|
|
|
29815
29826
|
};
|
|
29816
29827
|
}
|
|
29817
29828
|
export {
|
|
29818
|
-
|
|
29829
|
+
fS as Avatar
|
|
29819
29830
|
};
|