@livelayer/react 0.5.19 → 0.5.21

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/index.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import { jsxs as _, jsx as n, Fragment as wt } from "react/jsx-runtime";
3
- import { Component as yn, useState as L, useRef as E, useEffect as A, useCallback as k, useMemo as st, forwardRef as _t, createElement as vn } from "react";
4
- import { LiveKitSession as bn } from "@livelayer/sdk";
5
- import { createLocalAudioTrack as wn, Track as nn, createLocalVideoTrack as _n } from "livekit-client";
6
- class xn extends yn {
3
+ import { Component as mn, useState as L, useRef as A, useEffect as N, useCallback as k, useMemo as st, forwardRef as _t, createElement as gn } from "react";
4
+ import { LiveKitSession as yn } from "@livelayer/sdk";
5
+ import { createLocalAudioTrack as vn, Track as en, createLocalVideoTrack as bn } from "livekit-client";
6
+ class wn extends mn {
7
7
  constructor() {
8
8
  super(...arguments), this.state = { hasError: !1, error: null }, this.reset = () => {
9
9
  this.setState({ hasError: !1, error: null });
@@ -33,15 +33,15 @@ class xn extends yn {
33
33
  ] }) : this.props.children;
34
34
  }
35
35
  }
36
- function kn(e) {
37
- const [t, r] = L("idle"), [i, o] = L("idle"), [l, d] = L([]), [u, f] = L(null), [y, b] = L(null), [s, a] = L(null), [x, N] = L(!1), [C, v] = L(null), w = E(null), O = E(e.onDataMessage);
38
- O.current = e.onDataMessage, A(() => {
36
+ function _n(e) {
37
+ const [t, r] = L("idle"), [i, o] = L("idle"), [l, c] = L([]), [u, f] = L(null), [y, b] = L(null), [s, a] = L(null), [x, E] = L(!1), [C, v] = L(null), w = A(null), O = A(e.onDataMessage);
38
+ O.current = e.onDataMessage, N(() => {
39
39
  const R = {
40
40
  onConnectionStateChange: (z) => {
41
41
  r(z), z === "connected" && v(null);
42
42
  },
43
43
  onAgentStateChange: o,
44
- onTranscript: (z) => d([...z]),
44
+ onTranscript: (z) => c([...z]),
45
45
  onAgentConfig: f,
46
46
  onAudioTrack: (z) => a(z),
47
47
  onVideoTrack: (z) => b(z),
@@ -51,8 +51,8 @@ function kn(e) {
51
51
  var M;
52
52
  (M = O.current) == null || M.call(O, z);
53
53
  },
54
- onResumabilityChange: N
55
- }, W = new bn(
54
+ onResumabilityChange: E
55
+ }, W = new yn(
56
56
  {
57
57
  agentId: e.agentId,
58
58
  baseUrl: e.baseUrl,
@@ -62,7 +62,7 @@ function kn(e) {
62
62
  },
63
63
  R
64
64
  );
65
- return w.current = W, r("idle"), o("idle"), d([]), f(null), b(null), a(null), N(!1), v(null), () => {
65
+ return w.current = W, r("idle"), o("idle"), c([]), f(null), b(null), a(null), E(!1), v(null), () => {
66
66
  var z;
67
67
  (z = W.destroy) == null || z.call(W), w.current = null;
68
68
  };
@@ -103,8 +103,8 @@ function kn(e) {
103
103
  session: w.current
104
104
  };
105
105
  }
106
- function Ln() {
107
- const e = E(null), t = E(null), r = E(null), i = E(null), o = E(/* @__PURE__ */ new Set()), l = E(null), d = k(() => {
106
+ function xn() {
107
+ const e = A(null), t = A(null), r = A(null), i = A(null), o = A(/* @__PURE__ */ new Set()), l = A(null), c = k(() => {
108
108
  const s = t.current;
109
109
  if (!s) {
110
110
  i.current = null;
@@ -117,14 +117,14 @@ function Ln() {
117
117
  s.getByteFrequencyData(a);
118
118
  let x = 0;
119
119
  for (let C = 0; C < a.length; C++) x += a[C];
120
- const N = x / a.length / 255;
120
+ const E = x / a.length / 255;
121
121
  for (const C of o.current)
122
122
  try {
123
- C(N);
123
+ C(E);
124
124
  } catch (v) {
125
125
  console.error("[useAudioLevel] subscriber threw:", v);
126
126
  }
127
- i.current = requestAnimationFrame(d);
127
+ i.current = requestAnimationFrame(c);
128
128
  }, []), u = k(() => {
129
129
  if (e.current || typeof window > "u" || typeof AudioContext > "u") return;
130
130
  const s = new AudioContext(), a = s.createAnalyser();
@@ -146,10 +146,10 @@ function Ln() {
146
146
  console.warn("[useAudioLevel] createMediaElementSource failed:", a);
147
147
  return;
148
148
  }
149
- i.current === null && (i.current = requestAnimationFrame(d));
149
+ i.current === null && (i.current = requestAnimationFrame(c));
150
150
  }
151
151
  },
152
- [u, d]
152
+ [u, c]
153
153
  ), y = k(() => {
154
154
  if (i.current !== null && (cancelAnimationFrame(i.current), i.current = null), r.current) {
155
155
  try {
@@ -161,7 +161,7 @@ function Ln() {
161
161
  }, []), b = k((s) => (o.current.add(s), () => {
162
162
  o.current.delete(s);
163
163
  }), []);
164
- return A(() => () => {
164
+ return N(() => () => {
165
165
  if (y(), t.current) {
166
166
  try {
167
167
  t.current.disconnect();
@@ -179,8 +179,8 @@ function Ln() {
179
179
  o.current.clear(), l.current = null;
180
180
  }, [y]), { attach: f, detach: y, subscribe: b };
181
181
  }
182
- function Sn() {
183
- const [e, t] = L(!1), [r, i] = L(null), o = E(null), l = E(null), d = k(
182
+ function kn() {
183
+ const [e, t] = L(!1), [r, i] = L(null), o = A(null), l = A(null), c = k(
184
184
  async (s, a) => {
185
185
  if (o.current && l.current) {
186
186
  try {
@@ -191,14 +191,14 @@ function Sn() {
191
191
  }
192
192
  l.current = s, i(null);
193
193
  try {
194
- const x = await wn({
194
+ const x = await vn({
195
195
  echoCancellation: !0,
196
196
  noiseSuppression: !0
197
197
  });
198
198
  a != null && a.startMuted && await x.mute(), await s.localParticipant.publishTrack(x), o.current = x, t(x.isMuted);
199
199
  } catch (x) {
200
- const N = x instanceof Error && x.name === "NotAllowedError" ? "Enable your microphone to talk with the agent." : "Microphone unavailable. Check browser permissions and try again.";
201
- throw i(N), x;
200
+ const E = x instanceof Error && x.name === "NotAllowedError" ? "Enable your microphone to talk with the agent." : "Microphone unavailable. Check browser permissions and try again.";
201
+ throw i(E), x;
202
202
  }
203
203
  },
204
204
  []
@@ -224,19 +224,19 @@ function Sn() {
224
224
  micError: r,
225
225
  toggleMute: u,
226
226
  setMuted: f,
227
- setupMic: d,
227
+ setupMic: c,
228
228
  teardownMic: y,
229
229
  clearError: b
230
230
  };
231
231
  }
232
- const Cn = { resolution: { width: 640, height: 480, frameRate: 24 } };
233
- function En() {
234
- const [e, t] = L(!1), [r, i] = L(null), [o, l] = L(null), [d, u] = L(""), f = E(null), y = E(null), b = k((w) => {
232
+ const Ln = { resolution: { width: 640, height: 480, frameRate: 24 } };
233
+ function Sn() {
234
+ const [e, t] = L(!1), [r, i] = L(null), [o, l] = L(null), [c, u] = L(""), f = A(null), y = A(null), b = k((w) => {
235
235
  f.current = w;
236
236
  }, []), s = k(() => {
237
237
  const w = f.current, O = y.current;
238
238
  if (O && w) {
239
- const I = w.localParticipant.getTrackPublication(nn.Source.Camera);
239
+ const I = w.localParticipant.getTrackPublication(en.Source.Camera);
240
240
  if (I != null && I.track) {
241
241
  try {
242
242
  w.localParticipant.unpublishTrack(I.track);
@@ -252,9 +252,9 @@ function En() {
252
252
  if (O) {
253
253
  i(null);
254
254
  try {
255
- const I = { ...Cn };
255
+ const I = { ...Ln };
256
256
  w && (I.deviceId = w);
257
- const q = await _n(I);
257
+ const q = await bn(I);
258
258
  await O.localParticipant.publishTrack(q), y.current = q;
259
259
  const m = q.attach();
260
260
  l(m), t(!0), w && u(w);
@@ -271,31 +271,31 @@ function En() {
271
271
  }
272
272
  }
273
273
  }, []), x = k(async () => {
274
- e ? s() : await a(d || void 0);
275
- }, [e, d, s, a]), N = k(async (w) => {
274
+ e ? s() : await a(c || void 0);
275
+ }, [e, c, s, a]), E = k(async (w) => {
276
276
  s(), await a(w);
277
277
  }, [s, a]), C = k(() => {
278
278
  s(), f.current = null, i(null), u("");
279
279
  }, [s]), v = k(() => i(null), []);
280
- return A(() => () => {
280
+ return N(() => () => {
281
281
  y.current && y.current.stop();
282
282
  }, []), {
283
283
  isEnabled: e,
284
284
  error: r,
285
285
  previewEl: o,
286
- activeDeviceId: d,
286
+ activeDeviceId: c,
287
287
  toggle: x,
288
- switchDevice: N,
288
+ switchDevice: E,
289
289
  attachRoom: b,
290
290
  teardown: C,
291
291
  clearError: v
292
292
  };
293
293
  }
294
- function Nn() {
295
- const [e, t] = L(!1), [r, i] = L(null), [o, l] = L(null), d = E(null), u = k((a) => {
296
- d.current = a;
294
+ function Cn() {
295
+ const [e, t] = L(!1), [r, i] = L(null), [o, l] = L(null), c = A(null), u = k((a) => {
296
+ c.current = a;
297
297
  }, []), f = k(() => l(null), []), y = k(async () => {
298
- const a = d.current;
298
+ const a = c.current;
299
299
  if (a) {
300
300
  if (e) {
301
301
  try {
@@ -309,8 +309,8 @@ function Nn() {
309
309
  try {
310
310
  await a.localParticipant.setScreenShareEnabled(!0);
311
311
  let x = 0;
312
- const N = () => {
313
- const C = a.localParticipant.getTrackPublication(nn.Source.ScreenShare);
312
+ const E = () => {
313
+ const C = a.localParticipant.getTrackPublication(en.Source.ScreenShare);
314
314
  if (C != null && C.track) {
315
315
  const v = C.track.attach();
316
316
  l(v), t(!0);
@@ -323,49 +323,49 @@ function Nn() {
323
323
  }
324
324
  return;
325
325
  }
326
- x++ < 10 ? setTimeout(N, 100) : t(!0);
326
+ x++ < 10 ? setTimeout(E, 100) : t(!0);
327
327
  };
328
- N();
328
+ E();
329
329
  } catch (x) {
330
- const N = x instanceof Error ? x.name : "";
331
- N !== "NotAllowedError" && N !== "AbortError" && i("Screen share unavailable. Try again."), t(!1);
330
+ const E = x instanceof Error ? x.name : "";
331
+ E !== "NotAllowedError" && E !== "AbortError" && i("Screen share unavailable. Try again."), t(!1);
332
332
  }
333
333
  }
334
334
  }, [e, f]), b = k(() => {
335
- const a = d.current;
335
+ const a = c.current;
336
336
  if (a && e)
337
337
  try {
338
338
  a.localParticipant.setScreenShareEnabled(!1);
339
339
  } catch {
340
340
  }
341
- f(), t(!1), i(null), d.current = null;
341
+ f(), t(!1), i(null), c.current = null;
342
342
  }, [e, f]), s = k(() => i(null), []);
343
343
  return { isEnabled: e, error: r, previewEl: o, toggle: y, attachRoom: u, teardown: b, clearError: s };
344
344
  }
345
- function An() {
345
+ function En() {
346
346
  const [e, t] = L([]), [r, i] = L([]), o = k(async () => {
347
347
  if (!(typeof navigator > "u" || !navigator.mediaDevices))
348
348
  try {
349
349
  const l = await navigator.mediaDevices.enumerateDevices();
350
- t(l.filter((d) => d.kind === "audioinput")), i(l.filter((d) => d.kind === "videoinput"));
350
+ t(l.filter((c) => c.kind === "audioinput")), i(l.filter((c) => c.kind === "videoinput"));
351
351
  } catch {
352
352
  }
353
353
  }, []);
354
- return A(() => {
354
+ return N(() => {
355
355
  if (o(), typeof navigator > "u" || !navigator.mediaDevices) return;
356
356
  const l = () => void o();
357
357
  return navigator.mediaDevices.addEventListener("devicechange", l), () => navigator.mediaDevices.removeEventListener("devicechange", l);
358
358
  }, [o]), { mics: e, cameras: r, refresh: o };
359
359
  }
360
- function Rn(e, t, r = !1) {
361
- const [i, o] = L(null), [l, d] = L(null), [u, f] = L(!r && !!e);
362
- return A(() => {
360
+ function Nn(e, t, r = !1) {
361
+ const [i, o] = L(null), [l, c] = L(null), [u, f] = L(!r && !!e);
362
+ return N(() => {
363
363
  if (r || !e) {
364
364
  f(!1);
365
365
  return;
366
366
  }
367
367
  const y = new AbortController(), b = t || "https://app.livelayer.studio";
368
- return f(!0), d(null), fetch(`${b}/api/widget/agent/${encodeURIComponent(e)}`, {
368
+ return f(!0), c(null), fetch(`${b}/api/widget/agent/${encodeURIComponent(e)}`, {
369
369
  signal: y.signal
370
370
  }).then(async (s) => {
371
371
  if (!s.ok) {
@@ -376,11 +376,11 @@ function Rn(e, t, r = !1) {
376
376
  }).then((s) => {
377
377
  y.signal.aborted || (o(s), f(!1));
378
378
  }).catch((s) => {
379
- y.signal.aborted || (d(s instanceof Error ? s.message : "Agent lookup failed"), f(!1));
379
+ y.signal.aborted || (c(s instanceof Error ? s.message : "Agent lookup failed"), f(!1));
380
380
  }), () => y.abort();
381
381
  }, [e, t, r]), { info: i, error: l, loading: u };
382
382
  }
383
- function Mn(e) {
383
+ function An(e) {
384
384
  if (typeof window > "u") return null;
385
385
  try {
386
386
  return window.localStorage.getItem(e);
@@ -388,54 +388,54 @@ function Mn(e) {
388
388
  return null;
389
389
  }
390
390
  }
391
- function In(e, t) {
391
+ function Rn(e, t) {
392
392
  if (!(typeof window > "u"))
393
393
  try {
394
394
  window.localStorage.setItem(e, t);
395
395
  } catch {
396
396
  }
397
397
  }
398
- function Tn({
398
+ function Mn({
399
399
  value: e,
400
400
  defaultValue: t = "expanded",
401
401
  onChange: r
402
402
  } = {}) {
403
- const i = e !== void 0, [o, l] = L(t), d = i ? e : o, u = k(
403
+ const i = e !== void 0, [o, l] = L(t), c = i ? e : o, u = k(
404
404
  (f) => {
405
- f !== d && (i || l(f), r == null || r(f));
405
+ f !== c && (i || l(f), r == null || r(f));
406
406
  },
407
- [d, i, r]
407
+ [c, i, r]
408
408
  );
409
- return [d, u];
409
+ return [c, u];
410
410
  }
411
- const Pn = ["hidden", "minimized", "expanded"];
412
- function Dn(e) {
413
- return e && Pn.includes(e) ? e : null;
411
+ const In = ["hidden", "minimized", "expanded"];
412
+ function Tn(e) {
413
+ return e && In.includes(e) ? e : null;
414
414
  }
415
- function $n({
415
+ function Pn({
416
416
  value: e,
417
417
  defaultValue: t = "expanded",
418
418
  onChange: r,
419
419
  persistKey: i = "ll-widget",
420
420
  disablePersistence: o = !1
421
421
  } = {}) {
422
- const l = `${i}:display-mode`, d = E(!1), [u, f] = Tn({
422
+ const l = `${i}:display-mode`, c = A(!1), [u, f] = Mn({
423
423
  value: e,
424
424
  defaultValue: t,
425
425
  onChange: (y) => {
426
- e === void 0 && !o && In(l, y), r == null || r(y);
426
+ e === void 0 && !o && Rn(l, y), r == null || r(y);
427
427
  }
428
428
  });
429
- return A(() => {
430
- if (d.current || (d.current = !0, o || e !== void 0)) return;
431
- const y = Dn(Mn(l));
429
+ return N(() => {
430
+ if (c.current || (c.current = !0, o || e !== void 0)) return;
431
+ const y = Tn(An(l));
432
432
  y && y !== u && f(y);
433
433
  }, []), [u, f];
434
434
  }
435
- const zn = 640;
436
- function Hn(e = zn) {
435
+ const Dn = 640;
436
+ function $n(e = Dn) {
437
437
  const [t, r] = L(!1);
438
- return A(() => {
438
+ return N(() => {
439
439
  if (e === !1) {
440
440
  r(!1);
441
441
  return;
@@ -448,9 +448,9 @@ function Hn(e = zn) {
448
448
  });
449
449
  }, [e]), t;
450
450
  }
451
- const Ot = "__llHistoryPatched", ct = "ll:pathname";
452
- function On() {
453
- if (typeof window > "u" || window.history[Ot]) return;
451
+ const zt = "__llHistoryPatched", ct = "ll:pathname";
452
+ function zn() {
453
+ if (typeof window > "u" || window.history[zt]) return;
454
454
  const e = window.history.pushState, t = window.history.replaceState;
455
455
  window.history.pushState = function(...r) {
456
456
  const i = e.apply(this, r);
@@ -458,57 +458,57 @@ function On() {
458
458
  }, window.history.replaceState = function(...r) {
459
459
  const i = t.apply(this, r);
460
460
  return window.dispatchEvent(new Event(ct)), i;
461
- }, window.history[Ot] = !0;
461
+ }, window.history[zt] = !0;
462
462
  }
463
- function qt() {
463
+ function Ht() {
464
464
  return typeof window > "u" ? "/" : window.location.pathname || "/";
465
465
  }
466
- function qn(e) {
466
+ function Hn(e) {
467
467
  const [t, r] = L(
468
- () => e ?? qt()
468
+ () => e ?? Ht()
469
469
  );
470
- return A(() => {
470
+ return N(() => {
471
471
  if (e !== void 0) return;
472
- On();
473
- const i = () => r(qt());
472
+ zn();
473
+ const i = () => r(Ht());
474
474
  return i(), window.addEventListener("popstate", i), window.addEventListener(ct, i), () => {
475
475
  window.removeEventListener("popstate", i), window.removeEventListener(ct, i);
476
476
  };
477
477
  }, [e]), e ?? t;
478
478
  }
479
- const Bt = /* @__PURE__ */ new Map(), Bn = /[\\^$+?.()|{}[\]]/g;
480
- function Wn(e) {
481
- return e.replace(Bn, "\\$&");
479
+ const Ot = /* @__PURE__ */ new Map(), On = /[\\^$+?.()|{}[\]]/g;
480
+ function qn(e) {
481
+ return e.replace(On, "\\$&");
482
482
  }
483
- function Fn(e) {
484
- const t = Bt.get(e);
483
+ function Bn(e) {
484
+ const t = Ot.get(e);
485
485
  if (t) return t;
486
- const r = e.length > 1 && e.endsWith("/") ? e.slice(0, -1) : e, i = "", o = "", l = r.replace(/\*\*/g, i).replace(/\*/g, o), u = Wn(l).replace(new RegExp(`\\/${i}`, "g"), "(?:\\/.*)?").replace(new RegExp(i, "g"), ".*").replace(new RegExp(o, "g"), "[^/]+"), f = new RegExp(`^${u}\\/?$`);
487
- return Bt.set(e, f), f;
486
+ const r = e.length > 1 && e.endsWith("/") ? e.slice(0, -1) : e, i = "", o = "", l = r.replace(/\*\*/g, i).replace(/\*/g, o), u = qn(l).replace(new RegExp(`\\/${i}`, "g"), "(?:\\/.*)?").replace(new RegExp(i, "g"), ".*").replace(new RegExp(o, "g"), "[^/]+"), f = new RegExp(`^${u}\\/?$`);
487
+ return Ot.set(e, f), f;
488
488
  }
489
- function Un(e, t) {
489
+ function Wn(e, t) {
490
490
  const r = t.length > 1 && t.endsWith("/") ? t.slice(0, -1) : t;
491
- return Fn(e).test(r);
491
+ return Bn(e).test(r);
492
492
  }
493
- function jn(e, t) {
494
- return typeof e == "function" ? e(t) : e instanceof RegExp ? e.test(t) : Un(e, t);
493
+ function Fn(e, t) {
494
+ return typeof e == "function" ? e(t) : e instanceof RegExp ? e.test(t) : Wn(e, t);
495
495
  }
496
- function Wt(e, t) {
496
+ function qt(e, t) {
497
497
  if (!e || e.length === 0) return !1;
498
498
  for (const r of e)
499
- if (jn(r, t)) return !0;
499
+ if (Fn(r, t)) return !0;
500
500
  return !1;
501
501
  }
502
- function Vn(e, t, r) {
503
- return e === void 0 ? !0 : Wt(r, e) ? !1 : t && t.length > 0 ? Wt(t, e) : !0;
502
+ function Un(e, t, r) {
503
+ return e === void 0 ? !0 : qt(r, e) ? !1 : t && t.length > 0 ? qt(t, e) : !0;
504
504
  }
505
- function Yn(e, t, r) {
505
+ function jn(e, t, r) {
506
506
  return st(
507
- () => Vn(e, t, r),
507
+ () => Un(e, t, r),
508
508
  [e, t, r]
509
509
  );
510
510
  }
511
- const Ft = ({ muted: e = !1, className: t }) => e ? /* @__PURE__ */ _(
511
+ const Bt = ({ muted: e = !1, className: t }) => e ? /* @__PURE__ */ _(
512
512
  "svg",
513
513
  {
514
514
  className: t,
@@ -554,7 +554,7 @@ const Ft = ({ muted: e = !1, className: t }) => e ? /* @__PURE__ */ _(
554
554
  }
555
555
  )
556
556
  }
557
- ), Ut = ({ className: e }) => /* @__PURE__ */ n(
557
+ ), Wt = ({ className: e }) => /* @__PURE__ */ n(
558
558
  "svg",
559
559
  {
560
560
  className: e,
@@ -572,7 +572,7 @@ const Ft = ({ muted: e = !1, className: t }) => e ? /* @__PURE__ */ _(
572
572
  }
573
573
  )
574
574
  }
575
- ), Jn = ({ className: e }) => /* @__PURE__ */ n(
575
+ ), Vn = ({ className: e }) => /* @__PURE__ */ n(
576
576
  "svg",
577
577
  {
578
578
  className: e,
@@ -583,12 +583,12 @@ const Ft = ({ muted: e = !1, className: t }) => e ? /* @__PURE__ */ _(
583
583
  "aria-hidden": "true",
584
584
  children: /* @__PURE__ */ n("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M6 18L18 6M6 6l12 12" })
585
585
  }
586
- ), Kn = {
586
+ ), Yn = {
587
587
  left: 180,
588
588
  right: 0,
589
589
  up: -90,
590
590
  down: 90
591
- }, jt = ({ direction: e = "right", className: t }) => /* @__PURE__ */ n(
591
+ }, Ft = ({ direction: e = "right", className: t }) => /* @__PURE__ */ n(
592
592
  "svg",
593
593
  {
594
594
  className: t,
@@ -596,19 +596,19 @@ const Ft = ({ muted: e = !1, className: t }) => e ? /* @__PURE__ */ _(
596
596
  viewBox: "0 0 24 24",
597
597
  stroke: "currentColor",
598
598
  strokeWidth: 2,
599
- style: { transform: `rotate(${Kn[e]}deg)` },
599
+ style: { transform: `rotate(${Yn[e]}deg)` },
600
600
  "aria-hidden": "true",
601
601
  children: /* @__PURE__ */ n("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 6l6 6-6 6" })
602
602
  }
603
603
  );
604
- function Xn(e) {
604
+ function Jn(e) {
605
605
  return e === "top-left" || e === "bottom-left" ? "left" : "right";
606
606
  }
607
- const rn = "ll-hidden-tab-center-y", Gn = 5, Vt = 16;
608
- function Qn() {
607
+ const tn = "ll-hidden-tab-center-y", Kn = 5, Ut = 16;
608
+ function Xn() {
609
609
  if (typeof window > "u") return null;
610
610
  try {
611
- const e = window.localStorage.getItem(rn);
611
+ const e = window.localStorage.getItem(tn);
612
612
  if (!e) return null;
613
613
  const t = Number.parseFloat(e);
614
614
  return Number.isFinite(t) ? t : null;
@@ -616,32 +616,32 @@ function Qn() {
616
616
  return null;
617
617
  }
618
618
  }
619
- function Yt(e) {
619
+ function jt(e) {
620
620
  if (!(typeof window > "u"))
621
621
  try {
622
- window.localStorage.setItem(rn, String(e));
622
+ window.localStorage.setItem(tn, String(e));
623
623
  } catch {
624
624
  }
625
625
  }
626
- const Zn = ({
626
+ const Gn = ({
627
627
  position: e,
628
628
  isMobile: t,
629
629
  isSpeaking: r,
630
630
  onExpand: i,
631
631
  label: o = "Open widget",
632
632
  avatarImageUrl: l,
633
- agentName: d
633
+ agentName: c
634
634
  }) => {
635
- const u = Xn(e), f = u === "right" ? "left" : "right", y = t ? 80 : 72, b = !!l, [s, a] = L(null), [x, N] = L(!1), C = E(null), v = E(!1), w = k(
635
+ const u = Jn(e), f = u === "right" ? "left" : "right", y = t ? 80 : 72, b = !!l, [s, a] = L(null), [x, E] = L(!1), C = A(null), v = A(!1), w = k(
636
636
  (M) => {
637
637
  if (typeof window > "u") return M;
638
- const B = y / 2, F = Vt + B, G = window.innerHeight - Vt - B;
638
+ const B = y / 2, F = Ut + B, G = window.innerHeight - Ut - B;
639
639
  return G < F ? Math.max(F, M) : Math.max(F, Math.min(G, M));
640
640
  },
641
641
  [y]
642
642
  );
643
- A(() => {
644
- const M = Qn();
643
+ N(() => {
644
+ const M = Xn();
645
645
  a(w(M ?? window.innerHeight / 2));
646
646
  const B = () => {
647
647
  a((F) => F === null ? null : w(F));
@@ -668,7 +668,7 @@ const Zn = ({
668
668
  const B = C.current;
669
669
  if (!B) return;
670
670
  const F = M.clientY - B.startClientY;
671
- !B.moved && Math.abs(F) > Gn && (B.moved = !0, N(!0)), B.moved && a(w(B.startCenterY + F));
671
+ !B.moved && Math.abs(F) > Kn && (B.moved = !0, E(!0)), B.moved && a(w(B.startCenterY + F));
672
672
  },
673
673
  [w]
674
674
  ), q = k(
@@ -679,7 +679,7 @@ const Zn = ({
679
679
  M.currentTarget.releasePointerCapture(M.pointerId);
680
680
  } catch {
681
681
  }
682
- C.current = null, B.moved && (N(!1), v.current = !0, a((F) => (F !== null && Yt(F), F)));
682
+ C.current = null, B.moved && (E(!1), v.current = !0, a((F) => (F !== null && jt(F), F)));
683
683
  }
684
684
  },
685
685
  []
@@ -697,7 +697,7 @@ const Zn = ({
697
697
  a((F) => {
698
698
  if (F === null) return F;
699
699
  const G = w(F + B);
700
- return Yt(G), G;
700
+ return jt(G), G;
701
701
  });
702
702
  }
703
703
  },
@@ -731,7 +731,7 @@ const Zn = ({
731
731
  // avatar-based experience" even when collapsed.
732
732
  /* @__PURE__ */ _(wt, { children: [
733
733
  /* @__PURE__ */ n(
734
- jt,
734
+ Ft,
735
735
  {
736
736
  direction: f,
737
737
  className: "ll-hidden__chevron ll-hidden__chevron--mini"
@@ -741,14 +741,14 @@ const Zn = ({
741
741
  "img",
742
742
  {
743
743
  src: l,
744
- alt: d ? `${d} avatar` : "Agent avatar",
744
+ alt: c ? `${c} avatar` : "Agent avatar",
745
745
  className: "ll-hidden__avatar",
746
746
  draggable: !1
747
747
  }
748
748
  )
749
749
  ] })
750
750
  ) : /* @__PURE__ */ n(
751
- jt,
751
+ Ft,
752
752
  {
753
753
  direction: f,
754
754
  className: "ll-hidden__chevron"
@@ -756,7 +756,7 @@ const Zn = ({
756
756
  )
757
757
  }
758
758
  );
759
- }, er = ({
759
+ }, Qn = ({
760
760
  audioLevel: e,
761
761
  bars: t = 20,
762
762
  maxHeight: r = 20,
@@ -764,20 +764,20 @@ const Zn = ({
764
764
  className: o,
765
765
  barClassName: l
766
766
  }) => {
767
- const d = E(null), u = E([]), f = st(() => {
767
+ const c = A(null), u = A([]), f = st(() => {
768
768
  const b = (Math.sqrt(5) - 1) / 2;
769
769
  return Array.from({ length: t }, (s, a) => 0.5 + a * b % 1 * 0.5);
770
770
  }, [t]);
771
- A(() => e.subscribe((s) => {
771
+ N(() => e.subscribe((s) => {
772
772
  for (let a = 0; a < t; a++) {
773
773
  const x = u.current[a];
774
774
  if (!x) continue;
775
- const N = Math.max(i, s * r * f[a]);
776
- x.style.height = `${N}px`;
775
+ const E = Math.max(i, s * r * f[a]);
776
+ x.style.height = `${E}px`;
777
777
  }
778
778
  }), [e, t, r, i, f]);
779
779
  const y = ["ll-waveform", o].filter(Boolean).join(" ");
780
- return /* @__PURE__ */ n("div", { ref: d, className: y, "aria-hidden": "true", children: Array.from({ length: t }, (b, s) => /* @__PURE__ */ n(
780
+ return /* @__PURE__ */ n("div", { ref: c, className: y, "aria-hidden": "true", children: Array.from({ length: t }, (b, s) => /* @__PURE__ */ n(
781
781
  "div",
782
782
  {
783
783
  ref: (a) => {
@@ -788,14 +788,14 @@ const Zn = ({
788
788
  },
789
789
  s
790
790
  )) });
791
- }, tr = ({
791
+ }, Zn = ({
792
792
  position: e,
793
793
  isMobile: t,
794
794
  agentName: r,
795
795
  avatarImageUrl: i,
796
796
  agentState: o,
797
797
  isMuted: l,
798
- audioLevel: d,
798
+ audioLevel: c,
799
799
  onExpand: u,
800
800
  onToggleMute: f,
801
801
  onClose: y
@@ -825,9 +825,9 @@ const Zn = ({
825
825
  )
826
826
  ) : /* @__PURE__ */ n("div", { className: "ll-minimized__avatar ll-minimized__avatar--placeholder" }),
827
827
  /* @__PURE__ */ n(
828
- er,
828
+ Qn,
829
829
  {
830
- audioLevel: d,
830
+ audioLevel: c,
831
831
  bars: 16,
832
832
  maxHeight: 18,
833
833
  className: "ll-minimized__waveform"
@@ -848,10 +848,10 @@ const Zn = ({
848
848
  (b.key === "Enter" || b.key === " ") && (b.stopPropagation(), b.preventDefault(), f());
849
849
  },
850
850
  "aria-label": l ? "Unmute microphone" : "Mute microphone",
851
- children: /* @__PURE__ */ n(Ft, { muted: l, className: "ll-minimized__icon" })
851
+ children: /* @__PURE__ */ n(Bt, { muted: l, className: "ll-minimized__icon" })
852
852
  }
853
853
  ),
854
- /* @__PURE__ */ n(Ut, { className: "ll-minimized__icon ll-minimized__icon--expand" })
854
+ /* @__PURE__ */ n(Wt, { className: "ll-minimized__icon ll-minimized__icon--expand" })
855
855
  ] })
856
856
  ]
857
857
  }
@@ -888,7 +888,7 @@ const Zn = ({
888
888
  className: "ll-minimized__btn",
889
889
  onClick: f,
890
890
  "aria-label": l ? "Unmute microphone" : "Mute microphone",
891
- children: /* @__PURE__ */ n(Ft, { muted: l, className: "ll-minimized__icon" })
891
+ children: /* @__PURE__ */ n(Bt, { muted: l, className: "ll-minimized__icon" })
892
892
  }
893
893
  ),
894
894
  /* @__PURE__ */ n(
@@ -898,7 +898,7 @@ const Zn = ({
898
898
  className: "ll-minimized__btn",
899
899
  onClick: u,
900
900
  "aria-label": `Expand ${r} widget`,
901
- children: /* @__PURE__ */ n(Ut, { className: "ll-minimized__icon" })
901
+ children: /* @__PURE__ */ n(Wt, { className: "ll-minimized__icon" })
902
902
  }
903
903
  ),
904
904
  /* @__PURE__ */ n(
@@ -908,22 +908,22 @@ const Zn = ({
908
908
  className: "ll-minimized__btn ll-minimized__btn--close",
909
909
  onClick: y,
910
910
  "aria-label": "Close widget",
911
- children: /* @__PURE__ */ n(Jn, { className: "ll-minimized__icon" })
911
+ children: /* @__PURE__ */ n(Vn, { className: "ll-minimized__icon" })
912
912
  }
913
913
  )
914
914
  ] })
915
915
  ] })
916
916
  }
917
- ), nr = ({
917
+ ), er = ({
918
918
  src: e,
919
919
  alt: t,
920
920
  preCannedPlaying: r = !1,
921
921
  className: i,
922
922
  style: o
923
923
  }) => {
924
- const [l, d] = L(!1), u = E(e);
925
- if (A(() => {
926
- u.current !== e && (u.current = e, d(!1));
924
+ const [l, c] = L(!1), u = A(e);
925
+ if (N(() => {
926
+ u.current !== e && (u.current = e, c(!1));
927
927
  }, [e]), !e) return null;
928
928
  const f = {
929
929
  position: "absolute",
@@ -948,18 +948,18 @@ const Zn = ({
948
948
  style: f,
949
949
  loading: "eager",
950
950
  fetchPriority: "high",
951
- onLoad: () => d(!0)
951
+ onLoad: () => c(!0)
952
952
  }
953
953
  )
954
954
  );
955
- }, rr = ({
955
+ }, tr = ({
956
956
  position: e,
957
957
  isMobile: t,
958
958
  agentName: r,
959
959
  avatarImageUrl: i,
960
960
  idleLoopUrl: o,
961
961
  greeting: l,
962
- branding: d,
962
+ branding: c,
963
963
  teamMembers: u,
964
964
  currentTeamMemberId: f,
965
965
  isSwitchingTeamMember: y,
@@ -967,7 +967,7 @@ const Zn = ({
967
967
  onToggleTeamSwitcher: s,
968
968
  onSelectTeamMember: a,
969
969
  languageMenuOpen: x,
970
- onToggleLanguageMenu: N,
970
+ onToggleLanguageMenu: E,
971
971
  connectionState: C,
972
972
  agentState: v,
973
973
  transcript: w,
@@ -991,22 +991,22 @@ const Zn = ({
991
991
  agentVideoEl: re,
992
992
  micGateOpen: ce,
993
993
  onConnect: we,
994
- onDisconnect: Ce,
995
- onRetry: Ee,
996
- onResumeAudio: Ne,
997
- onToggleMute: Ae,
998
- onToggleCamera: Re,
994
+ onDisconnect: Se,
995
+ onRetry: Ce,
996
+ onResumeAudio: Ee,
997
+ onToggleMute: Ne,
998
+ onToggleCamera: Ae,
999
999
  onSwitchCameraDevice: V,
1000
1000
  onToggleScreenShare: ut,
1001
1001
  onToggleSpeaker: ft,
1002
1002
  onSendMessage: nt,
1003
1003
  onMinimize: ue,
1004
- onClose: Me,
1005
- onClearMicError: Be
1004
+ onClose: Re,
1005
+ onClearMicError: qe
1006
1006
  }) => {
1007
- var $e;
1008
- const _e = ((u == null ? void 0 : u.length) ?? 0) > 1, Ie = C === "connecting" || C === "connected", X = C === "connected", te = C === "idle" || C === "disconnected" || C === "error", [Te, oe] = L(!1);
1009
- A(() => {
1007
+ var De;
1008
+ const _e = ((u == null ? void 0 : u.length) ?? 0) > 1, Me = C === "connecting" || C === "connected", X = C === "connected", ee = C === "idle" || C === "disconnected" || C === "error", [Ie, oe] = L(!1);
1009
+ N(() => {
1010
1010
  if (!re) {
1011
1011
  oe(!1);
1012
1012
  return;
@@ -1022,73 +1022,73 @@ const Zn = ({
1022
1022
  };
1023
1023
  }, [re]);
1024
1024
  const [de, xe] = L(!1);
1025
- A(() => {
1025
+ N(() => {
1026
1026
  if (!X) {
1027
1027
  xe(!1);
1028
1028
  return;
1029
1029
  }
1030
- if (Te) return;
1030
+ if (Ie) return;
1031
1031
  const p = setTimeout(() => xe(!0), 8e3);
1032
1032
  return () => clearTimeout(p);
1033
- }, [X, Te]);
1034
- const We = C === "connecting" || X && !!i && !Te && !de, Z = E(null), le = E(null);
1035
- A(() => {
1036
- const p = Z.current;
1033
+ }, [X, Ie]);
1034
+ const Be = C === "connecting" || X && !!i && !Ie && !de, te = A(null), le = A(null);
1035
+ N(() => {
1036
+ const p = te.current;
1037
1037
  p && (p.innerHTML = "", M && (M.style.width = "100%", M.style.height = "100%", M.style.objectFit = "cover", M.style.transform = "scaleX(-1)", p.appendChild(M)));
1038
- }, [M]), A(() => {
1038
+ }, [M]), N(() => {
1039
1039
  const p = le.current;
1040
1040
  p && (p.innerHTML = "", ie && (ie.style.width = "100%", ie.style.height = "100%", ie.style.objectFit = "contain", p.appendChild(ie)));
1041
1041
  }, [ie]);
1042
- const [ae, fe] = L(!1), [Pe, pe] = L(!1);
1043
- A(() => {
1044
- if (!ae && !Pe && !x && !b) return;
1042
+ const [ae, fe] = L(!1), [Te, pe] = L(!1);
1043
+ N(() => {
1044
+ if (!ae && !Te && !x && !b) return;
1045
1045
  const p = () => {
1046
- fe(!1), pe(!1), x && N(), b && s();
1046
+ fe(!1), pe(!1), x && E(), b && s();
1047
1047
  };
1048
1048
  return document.addEventListener("click", p), () => document.removeEventListener("click", p);
1049
1049
  }, [
1050
1050
  ae,
1051
- Pe,
1051
+ Te,
1052
1052
  x,
1053
1053
  b,
1054
- N,
1054
+ E,
1055
1055
  s
1056
1056
  ]);
1057
- const [he, Fe] = L(""), Ue = k(
1057
+ const [he, We] = L(""), Fe = k(
1058
1058
  (p) => {
1059
1059
  p.preventDefault();
1060
1060
  const Y = he.trim();
1061
- Y && (nt(Y), Fe(""));
1061
+ Y && (nt(Y), We(""));
1062
1062
  },
1063
1063
  [he, nt]
1064
- ), je = d.productName || "Live Layer";
1064
+ ), Ue = c.productName || "Live Layer";
1065
1065
  let me = null, ge = null;
1066
1066
  for (let p = w.length - 1; p >= 0; p--) {
1067
1067
  const Y = w[p];
1068
1068
  if (!me && Y.role === "agent" ? me = Y : !ge && Y.role === "user" && (ge = Y), me && ge) break;
1069
1069
  }
1070
- const De = X ? (me == null ? void 0 : me.text) || null : l || null, rt = X && (ge == null ? void 0 : ge.text) || null, Ve = [
1070
+ const Pe = X ? (me == null ? void 0 : me.text) || null : l || null, rt = X && (ge == null ? void 0 : ge.text) || null, je = [
1071
1071
  "ll-expanded",
1072
1072
  t ? "ll-expanded--mobile" : "ll-expanded--desktop"
1073
1073
  ].join(" ");
1074
1074
  return /* @__PURE__ */ _(
1075
1075
  "div",
1076
1076
  {
1077
- className: Ve,
1077
+ className: je,
1078
1078
  "data-position": e,
1079
- "data-state": X ? "connected" : Ie ? "connecting" : "idle",
1079
+ "data-state": X ? "connected" : Me ? "connecting" : "idle",
1080
1080
  role: "dialog",
1081
1081
  "aria-label": `${r} widget`,
1082
1082
  children: [
1083
1083
  /* @__PURE__ */ _("div", { className: "ll-expanded__bg", children: [
1084
1084
  i ? /* @__PURE__ */ n(
1085
- nr,
1085
+ er,
1086
1086
  {
1087
1087
  src: i,
1088
1088
  alt: r,
1089
1089
  className: "ll-expanded__bg-img"
1090
1090
  }
1091
- ) : /* @__PURE__ */ n("div", { className: "ll-expanded__bg-fallback", children: /* @__PURE__ */ n("span", { className: "ll-expanded__bg-initial", children: (($e = r == null ? void 0 : r.charAt(0)) == null ? void 0 : $e.toUpperCase()) || "A" }) }),
1091
+ ) : /* @__PURE__ */ n("div", { className: "ll-expanded__bg-fallback", children: /* @__PURE__ */ n("span", { className: "ll-expanded__bg-initial", children: ((De = r == null ? void 0 : r.charAt(0)) == null ? void 0 : De.toUpperCase()) || "A" }) }),
1092
1092
  o && !X && /* @__PURE__ */ n(
1093
1093
  "video",
1094
1094
  {
@@ -1102,7 +1102,7 @@ const Zn = ({
1102
1102
  )
1103
1103
  ] }),
1104
1104
  /* @__PURE__ */ n("div", { ref: tt, className: "ll-expanded__video" }),
1105
- We && /* @__PURE__ */ _("div", { className: "ll-expanded__overlay ll-expanded__overlay--connecting", children: [
1105
+ Be && /* @__PURE__ */ _("div", { className: "ll-expanded__overlay ll-expanded__overlay--connecting", children: [
1106
1106
  /* @__PURE__ */ n("div", { className: "ll-expanded__spinner" }),
1107
1107
  /* @__PURE__ */ n("p", { className: "ll-expanded__overlay-text", children: y ? "Switching..." : "Connecting..." })
1108
1108
  ] }),
@@ -1111,14 +1111,14 @@ const Zn = ({
1111
1111
  {
1112
1112
  type: "button",
1113
1113
  className: "ll-expanded__overlay ll-expanded__overlay--gesture",
1114
- onClick: Ne,
1114
+ onClick: Ee,
1115
1115
  children: [
1116
1116
  /* @__PURE__ */ n("svg", { width: "32", height: "32", viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": !0, children: /* @__PURE__ */ n("path", { d: "M3 9v6h4l5 5V4L7 9H3zm13.54.12a5 5 0 0 1 0 5.76l-1.41-1.41a3 3 0 0 0 0-2.94L16.54 9.12z" }) }),
1117
1117
  /* @__PURE__ */ n("p", { className: "ll-expanded__overlay-text", children: "Tap to enable audio" })
1118
1118
  ]
1119
1119
  }
1120
1120
  ),
1121
- Ie ? /* @__PURE__ */ _("div", { className: "ll-expanded__topbar", children: [
1121
+ Me ? /* @__PURE__ */ _("div", { className: "ll-expanded__topbar", children: [
1122
1122
  /* @__PURE__ */ _("div", { className: "ll-expanded__topbar-left", children: [
1123
1123
  /* @__PURE__ */ _("div", { className: "ll-expanded__pill-wrap", children: [
1124
1124
  /* @__PURE__ */ _(
@@ -1176,7 +1176,7 @@ const Zn = ({
1176
1176
  type: "button",
1177
1177
  className: "ll-hpill ll-hpill--compact",
1178
1178
  onClick: (p) => {
1179
- p.stopPropagation(), N();
1179
+ p.stopPropagation(), E();
1180
1180
  },
1181
1181
  "aria-haspopup": "listbox",
1182
1182
  "aria-expanded": x,
@@ -1224,7 +1224,7 @@ const Zn = ({
1224
1224
  onClick: ue,
1225
1225
  "aria-label": "Minimize widget",
1226
1226
  title: "Minimize",
1227
- children: /* @__PURE__ */ n(Kt, {})
1227
+ children: /* @__PURE__ */ n(Yt, {})
1228
1228
  }
1229
1229
  ),
1230
1230
  /* @__PURE__ */ n(
@@ -1232,17 +1232,17 @@ const Zn = ({
1232
1232
  {
1233
1233
  type: "button",
1234
1234
  className: "ll-hbtn ll-hbtn--danger",
1235
- onClick: Me,
1235
+ onClick: Re,
1236
1236
  "aria-label": "End call",
1237
1237
  title: "End call",
1238
- children: /* @__PURE__ */ n(Jt, {})
1238
+ children: /* @__PURE__ */ n(Vt, {})
1239
1239
  }
1240
1240
  )
1241
1241
  ] })
1242
1242
  ] }) : (
1243
1243
  // Idle-state header with Live Layer product name + minimize/close
1244
1244
  /* @__PURE__ */ _("div", { className: "ll-expanded__header ll-expanded__header--idle", children: [
1245
- /* @__PURE__ */ n("span", { className: "ll-expanded__brand", children: je }),
1245
+ /* @__PURE__ */ n("span", { className: "ll-expanded__brand", children: Ue }),
1246
1246
  /* @__PURE__ */ _("div", { className: "ll-expanded__header-actions", children: [
1247
1247
  /* @__PURE__ */ n(
1248
1248
  "button",
@@ -1251,7 +1251,7 @@ const Zn = ({
1251
1251
  className: "ll-hbtn ll-hbtn--ghost",
1252
1252
  onClick: ue,
1253
1253
  "aria-label": "Minimize widget",
1254
- children: /* @__PURE__ */ n(Kt, {})
1254
+ children: /* @__PURE__ */ n(Yt, {})
1255
1255
  }
1256
1256
  ),
1257
1257
  /* @__PURE__ */ n(
@@ -1259,15 +1259,15 @@ const Zn = ({
1259
1259
  {
1260
1260
  type: "button",
1261
1261
  className: "ll-hbtn ll-hbtn--danger",
1262
- onClick: Me,
1262
+ onClick: Re,
1263
1263
  "aria-label": "Close widget",
1264
- children: /* @__PURE__ */ n(Jt, {})
1264
+ children: /* @__PURE__ */ n(Vt, {})
1265
1265
  }
1266
1266
  )
1267
1267
  ] })
1268
1268
  ] })
1269
1269
  ),
1270
- te && /* @__PURE__ */ (() => {
1270
+ ee && /* @__PURE__ */ (() => {
1271
1271
  const p = O ? "Restart paused session" : C === "disconnected" ? "Reconnect to agent" : "Start video call", Y = O ? "Pick up where you left off" : null;
1272
1272
  return /* @__PURE__ */ _(wt, { children: [
1273
1273
  C === "idle" && !O && !q && /* @__PURE__ */ _(
@@ -1302,7 +1302,7 @@ const Zn = ({
1302
1302
  /* @__PURE__ */ _(
1303
1303
  "div",
1304
1304
  {
1305
- className: `ll-expanded__pip ${Ie && (z || G) ? "is-visible" : ""}`,
1305
+ className: `ll-expanded__pip ${Me && (z || G) ? "is-visible" : ""}`,
1306
1306
  children: [
1307
1307
  /* @__PURE__ */ n(
1308
1308
  "div",
@@ -1314,20 +1314,20 @@ const Zn = ({
1314
1314
  /* @__PURE__ */ n(
1315
1315
  "div",
1316
1316
  {
1317
- ref: Z,
1317
+ ref: te,
1318
1318
  className: !G && z ? "ll-expanded__pip-host" : "ll-expanded__pip-host is-hidden"
1319
1319
  }
1320
1320
  )
1321
1321
  ]
1322
1322
  }
1323
1323
  ),
1324
- Ie ? /* @__PURE__ */ _("div", { className: "ll-expanded__bottom", children: [
1325
- De && /* @__PURE__ */ n(
1324
+ Me ? /* @__PURE__ */ _("div", { className: "ll-expanded__bottom", children: [
1325
+ Pe && /* @__PURE__ */ n(
1326
1326
  "div",
1327
1327
  {
1328
1328
  className: "ll-expanded__transcript ll-expanded__transcript--agent",
1329
1329
  "data-role": "agent",
1330
- children: /* @__PURE__ */ n("p", { className: "ll-expanded__transcript-text", children: De })
1330
+ children: /* @__PURE__ */ n("p", { className: "ll-expanded__transcript-text", children: Pe })
1331
1331
  }
1332
1332
  ),
1333
1333
  rt && /* @__PURE__ */ n(
@@ -1347,7 +1347,7 @@ const Zn = ({
1347
1347
  onClick: ut,
1348
1348
  "aria-label": G ? "Stop sharing screen" : "Share screen",
1349
1349
  title: G ? "Stop sharing" : "Share screen",
1350
- children: /* @__PURE__ */ n(ir, {})
1350
+ children: /* @__PURE__ */ n(nr, {})
1351
1351
  }
1352
1352
  ),
1353
1353
  Qe && /* @__PURE__ */ _("div", { className: "ll-tool-split", children: [
@@ -1356,10 +1356,10 @@ const Zn = ({
1356
1356
  {
1357
1357
  type: "button",
1358
1358
  className: `ll-tool ll-tool--left ${z ? "is-on" : ""}`,
1359
- onClick: Re,
1359
+ onClick: Ae,
1360
1360
  "aria-label": z ? "Turn off camera" : "Turn on camera",
1361
1361
  title: z ? "Stop camera" : "Start camera",
1362
- children: /* @__PURE__ */ n(or, {})
1362
+ children: /* @__PURE__ */ n(rr, {})
1363
1363
  }
1364
1364
  ),
1365
1365
  /* @__PURE__ */ n(
@@ -1372,12 +1372,12 @@ const Zn = ({
1372
1372
  },
1373
1373
  "aria-label": "Camera devices",
1374
1374
  "aria-haspopup": "listbox",
1375
- "aria-expanded": Pe,
1375
+ "aria-expanded": Te,
1376
1376
  children: /* @__PURE__ */ n(lt, {})
1377
1377
  }
1378
1378
  ),
1379
- Pe && B.length > 0 && /* @__PURE__ */ n(
1380
- Xt,
1379
+ Te && B.length > 0 && /* @__PURE__ */ n(
1380
+ Jt,
1381
1381
  {
1382
1382
  label: "Camera",
1383
1383
  devices: B,
@@ -1398,11 +1398,11 @@ const Zn = ({
1398
1398
  {
1399
1399
  type: "button",
1400
1400
  className: `ll-tool ll-tool--left ${m ? "is-muted" : ""}`,
1401
- onClick: Ae,
1401
+ onClick: Ne,
1402
1402
  disabled: !ce && X,
1403
1403
  "aria-label": !ce && X ? "Microphone enables once the agent finishes its greeting" : m ? "Unmute microphone" : "Mute microphone",
1404
1404
  title: !ce && X ? "Mic enables after greeting" : m ? "Unmute" : "Mute",
1405
- children: /* @__PURE__ */ n(lr, { muted: m })
1405
+ children: /* @__PURE__ */ n(ir, { muted: m })
1406
1406
  }
1407
1407
  ),
1408
1408
  /* @__PURE__ */ n(
@@ -1420,7 +1420,7 @@ const Zn = ({
1420
1420
  }
1421
1421
  ),
1422
1422
  ae && W.length > 0 && /* @__PURE__ */ n(
1423
- Xt,
1423
+ Jt,
1424
1424
  {
1425
1425
  label: "Microphone",
1426
1426
  devices: W,
@@ -1439,7 +1439,7 @@ const Zn = ({
1439
1439
  onClick: ft,
1440
1440
  "aria-label": be ? "Unmute speaker" : "Mute speaker",
1441
1441
  title: be ? "Unmute speaker" : "Mute speaker",
1442
- children: /* @__PURE__ */ n(ar, { muted: be })
1442
+ children: /* @__PURE__ */ n(or, { muted: be })
1443
1443
  }
1444
1444
  ),
1445
1445
  /* @__PURE__ */ n(
@@ -1447,14 +1447,14 @@ const Zn = ({
1447
1447
  {
1448
1448
  type: "button",
1449
1449
  className: "ll-tool ll-tool--danger",
1450
- onClick: Ce,
1450
+ onClick: Se,
1451
1451
  "aria-label": "End conversation",
1452
1452
  title: "End conversation",
1453
- children: /* @__PURE__ */ n(cr, {})
1453
+ children: /* @__PURE__ */ n(ar, {})
1454
1454
  }
1455
1455
  )
1456
1456
  ] }),
1457
- et && /* @__PURE__ */ _("form", { className: "ll-message-input", onSubmit: Ue, children: [
1457
+ et && /* @__PURE__ */ _("form", { className: "ll-message-input", onSubmit: Fe, children: [
1458
1458
  /* @__PURE__ */ n(
1459
1459
  "input",
1460
1460
  {
@@ -1462,7 +1462,7 @@ const Zn = ({
1462
1462
  className: "ll-message-input__field",
1463
1463
  placeholder: "Message...",
1464
1464
  value: he,
1465
- onChange: (p) => Fe(p.target.value),
1465
+ onChange: (p) => We(p.target.value),
1466
1466
  "aria-label": "Message the agent"
1467
1467
  }
1468
1468
  ),
@@ -1472,7 +1472,7 @@ const Zn = ({
1472
1472
  type: "submit",
1473
1473
  className: "ll-message-input__send",
1474
1474
  "aria-label": "Send message",
1475
- children: /* @__PURE__ */ n(sr, {})
1475
+ children: /* @__PURE__ */ n(lr, {})
1476
1476
  }
1477
1477
  )
1478
1478
  ] })
@@ -1486,7 +1486,7 @@ const Zn = ({
1486
1486
  {
1487
1487
  type: "button",
1488
1488
  className: "ll-expanded__banner-x",
1489
- onClick: Be,
1489
+ onClick: qe,
1490
1490
  "aria-label": "Dismiss",
1491
1491
  children: "×"
1492
1492
  }
@@ -1501,7 +1501,7 @@ const Zn = ({
1501
1501
  {
1502
1502
  type: "button",
1503
1503
  className: "ll-expanded__banner-retry",
1504
- onClick: Ee,
1504
+ onClick: Ce,
1505
1505
  children: Y
1506
1506
  }
1507
1507
  )
@@ -1514,29 +1514,29 @@ const Zn = ({
1514
1514
  function lt() {
1515
1515
  return /* @__PURE__ */ n("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", "aria-hidden": !0, children: /* @__PURE__ */ n("polyline", { points: "6 9 12 15 18 9" }) });
1516
1516
  }
1517
- function Jt() {
1517
+ function Vt() {
1518
1518
  return /* @__PURE__ */ _("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", "aria-hidden": !0, children: [
1519
1519
  /* @__PURE__ */ n("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
1520
1520
  /* @__PURE__ */ n("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
1521
1521
  ] });
1522
1522
  }
1523
- function Kt() {
1523
+ function Yt() {
1524
1524
  return /* @__PURE__ */ n("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", "aria-hidden": !0, children: /* @__PURE__ */ n("line", { x1: "5", y1: "12", x2: "19", y2: "12" }) });
1525
1525
  }
1526
- function ir() {
1526
+ function nr() {
1527
1527
  return /* @__PURE__ */ _("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: [
1528
1528
  /* @__PURE__ */ n("rect", { x: "2", y: "3", width: "20", height: "14", rx: "2" }),
1529
1529
  /* @__PURE__ */ n("line", { x1: "8", y1: "21", x2: "16", y2: "21" }),
1530
1530
  /* @__PURE__ */ n("line", { x1: "12", y1: "17", x2: "12", y2: "21" })
1531
1531
  ] });
1532
1532
  }
1533
- function or() {
1533
+ function rr() {
1534
1534
  return /* @__PURE__ */ _("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: [
1535
1535
  /* @__PURE__ */ n("path", { d: "M23 7l-7 5 7 5V7z" }),
1536
1536
  /* @__PURE__ */ n("rect", { x: "1", y: "5", width: "15", height: "14", rx: "2" })
1537
1537
  ] });
1538
1538
  }
1539
- function lr({ muted: e }) {
1539
+ function ir({ muted: e }) {
1540
1540
  return /* @__PURE__ */ _("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: [
1541
1541
  /* @__PURE__ */ n("path", { d: "M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z" }),
1542
1542
  /* @__PURE__ */ n("path", { d: "M19 10v2a7 7 0 0 1-14 0v-2" }),
@@ -1544,7 +1544,7 @@ function lr({ muted: e }) {
1544
1544
  e && /* @__PURE__ */ n("line", { x1: "1", y1: "1", x2: "23", y2: "23" })
1545
1545
  ] });
1546
1546
  }
1547
- function ar({ muted: e }) {
1547
+ function or({ muted: e }) {
1548
1548
  return /* @__PURE__ */ _("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: [
1549
1549
  /* @__PURE__ */ n("polygon", { points: "11 5 6 9 2 9 2 15 6 15 11 19 11 5" }),
1550
1550
  e ? /* @__PURE__ */ n("line", { x1: "23", y1: "9", x2: "17", y2: "15" }) : /* @__PURE__ */ _(wt, { children: [
@@ -1553,13 +1553,13 @@ function ar({ muted: e }) {
1553
1553
  ] })
1554
1554
  ] });
1555
1555
  }
1556
- function sr() {
1556
+ function lr() {
1557
1557
  return /* @__PURE__ */ _("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: [
1558
1558
  /* @__PURE__ */ n("line", { x1: "5", y1: "12", x2: "19", y2: "12" }),
1559
1559
  /* @__PURE__ */ n("polyline", { points: "12 5 19 12 12 19" })
1560
1560
  ] });
1561
1561
  }
1562
- function cr() {
1562
+ function ar() {
1563
1563
  return /* @__PURE__ */ n("svg", { width: "16", height: "16", viewBox: "-4 -4 32 32", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: /* @__PURE__ */ n(
1564
1564
  "path",
1565
1565
  {
@@ -1568,7 +1568,7 @@ function cr() {
1568
1568
  }
1569
1569
  ) });
1570
1570
  }
1571
- const Xt = ({ label: e, devices: t, activeId: r, onPick: i }) => /* @__PURE__ */ _(
1571
+ const Jt = ({ label: e, devices: t, activeId: r, onPick: i }) => /* @__PURE__ */ _(
1572
1572
  "div",
1573
1573
  {
1574
1574
  className: "ll-device-menu",
@@ -1577,17 +1577,17 @@ const Xt = ({ label: e, devices: t, activeId: r, onPick: i }) => /* @__PURE__ */
1577
1577
  children: [
1578
1578
  /* @__PURE__ */ n("p", { className: "ll-device-menu__label", children: e }),
1579
1579
  t.map((o, l) => {
1580
- const d = r === o.deviceId;
1580
+ const c = r === o.deviceId;
1581
1581
  return /* @__PURE__ */ _(
1582
1582
  "button",
1583
1583
  {
1584
1584
  type: "button",
1585
- className: `ll-device-menu__item ${d ? "is-active" : ""}`,
1585
+ className: `ll-device-menu__item ${c ? "is-active" : ""}`,
1586
1586
  onClick: () => i(o.deviceId),
1587
1587
  role: "option",
1588
- "aria-selected": d,
1588
+ "aria-selected": c,
1589
1589
  children: [
1590
- d && /* @__PURE__ */ n("span", { className: "ll-device-menu__dot", children: "●" }),
1590
+ c && /* @__PURE__ */ n("span", { className: "ll-device-menu__dot", children: "●" }),
1591
1591
  /* @__PURE__ */ n("span", { className: "ll-device-menu__name", children: o.label || `${e} ${l + 1}` })
1592
1592
  ]
1593
1593
  },
@@ -1596,14 +1596,14 @@ const Xt = ({ label: e, devices: t, activeId: r, onPick: i }) => /* @__PURE__ */
1596
1596
  })
1597
1597
  ]
1598
1598
  }
1599
- ), dr = [
1599
+ ), sr = [
1600
1600
  '[data-ll-private="true"]',
1601
1601
  ".ll-widget"
1602
1602
  ];
1603
1603
  function xt(e) {
1604
1604
  let t = e;
1605
1605
  for (; t; ) {
1606
- for (const r of dr)
1606
+ for (const r of sr)
1607
1607
  if (t.matches(r)) return !0;
1608
1608
  t = t.parentElement;
1609
1609
  }
@@ -1618,7 +1618,7 @@ function dt(e) {
1618
1618
  }
1619
1619
  return !0;
1620
1620
  }
1621
- const at = 4096, ur = 20, fr = 20, pr = 10, hr = 10, mr = 30, Gt = 500, gr = [
1621
+ const at = 4096, cr = 20, dr = 20, ur = 10, fr = 10, pr = 30, Kt = 500, hr = [
1622
1622
  '[data-ll-private="true"]',
1623
1623
  ".ll-widget",
1624
1624
  "script",
@@ -1630,7 +1630,7 @@ function Xe(e) {
1630
1630
  if (e.getAttribute("aria-hidden") === "true" || e.hasAttribute("hidden")) return !0;
1631
1631
  let t = e;
1632
1632
  for (; t; ) {
1633
- for (const r of gr)
1633
+ for (const r of hr)
1634
1634
  if (t.matches(r)) return !0;
1635
1635
  t = t.parentElement;
1636
1636
  }
@@ -1643,7 +1643,7 @@ function Ge(e) {
1643
1643
  const r = window.innerHeight || document.documentElement.clientHeight, i = window.innerWidth || document.documentElement.clientWidth;
1644
1644
  return t.bottom > 0 && t.right > 0 && t.top < r && t.left < i;
1645
1645
  }
1646
- function Qt(e) {
1646
+ function Xt(e) {
1647
1647
  const t = e.getAttribute("id");
1648
1648
  if (t) {
1649
1649
  const l = document.querySelector(`label[for="${CSS.escape(t)}"]`);
@@ -1656,13 +1656,13 @@ function Qt(e) {
1656
1656
  const o = e.closest("label");
1657
1657
  return o != null && o.textContent ? o.textContent.trim() : "";
1658
1658
  }
1659
- function Se(e, t) {
1659
+ function Le(e, t) {
1660
1660
  return e.length <= t ? e : e.slice(0, t - 1) + "…";
1661
1661
  }
1662
- function He(e) {
1662
+ function ze(e) {
1663
1663
  return e.length;
1664
1664
  }
1665
- function yr(e, t = {}) {
1665
+ function mr(e, t = {}) {
1666
1666
  const r = t.doc ?? (typeof document < "u" ? document : null);
1667
1667
  if (!r)
1668
1668
  return {
@@ -1676,15 +1676,15 @@ function yr(e, t = {}) {
1676
1676
  forms: [],
1677
1677
  extras: e
1678
1678
  };
1679
- const i = typeof window < "u" && window.location.href || "", o = typeof window < "u" && window.location.pathname || "/", l = r.title || "", d = Array.from(
1679
+ const i = typeof window < "u" && window.location.href || "", o = typeof window < "u" && window.location.pathname || "/", l = r.title || "", c = Array.from(
1680
1680
  r.querySelectorAll("[data-ll-region]")
1681
1681
  ), u = [];
1682
- for (const m of d) {
1683
- if (u.length >= pr) break;
1682
+ for (const m of c) {
1683
+ if (u.length >= ur) break;
1684
1684
  if (Xe(m) || !Ge(m)) continue;
1685
- const R = m.getAttribute("data-ll-region") ?? "", W = m.getAttribute("data-ll-intent") ?? void 0, z = Se(
1685
+ const R = m.getAttribute("data-ll-region") ?? "", W = m.getAttribute("data-ll-intent") ?? void 0, z = Le(
1686
1686
  (m.innerText || m.textContent || "").trim(),
1687
- Gt * 2
1687
+ Kt * 2
1688
1688
  );
1689
1689
  !R || !z || u.push({ id: R, intent: W, text: z });
1690
1690
  }
@@ -1694,21 +1694,21 @@ function yr(e, t = {}) {
1694
1694
  for (const m of b) {
1695
1695
  if (Xe(m) || !Ge(m)) continue;
1696
1696
  const R = (m.textContent || "").trim();
1697
- R && f.push(`${m.tagName}: ${Se(R, 200)}`);
1697
+ R && f.push(`${m.tagName}: ${Le(R, 200)}`);
1698
1698
  }
1699
1699
  const s = Array.from(r.querySelectorAll("p, li"));
1700
1700
  for (const m of s) {
1701
1701
  if (Xe(m) || !Ge(m) || y.includes(m.tagName)) continue;
1702
1702
  const R = (m.textContent || "").trim();
1703
- R.length > 10 && f.push(Se(R, Gt));
1703
+ R.length > 10 && f.push(Le(R, Kt));
1704
1704
  }
1705
1705
  const a = f.join(`
1706
- `), x = [], N = Array.from(r.querySelectorAll("a[href]"));
1707
- for (const m of N) {
1708
- if (x.length >= ur) break;
1706
+ `), x = [], E = Array.from(r.querySelectorAll("a[href]"));
1707
+ for (const m of E) {
1708
+ if (x.length >= cr) break;
1709
1709
  if (Xe(m) || !Ge(m)) continue;
1710
1710
  const R = m.getAttribute("href") || "", W = (m.textContent || "").trim();
1711
- !R || !W || x.push({ href: R, text: Se(W, 100) });
1711
+ !R || !W || x.push({ href: R, text: Le(W, 100) });
1712
1712
  }
1713
1713
  const C = [], v = Array.from(
1714
1714
  r.querySelectorAll(
@@ -1716,16 +1716,16 @@ function yr(e, t = {}) {
1716
1716
  )
1717
1717
  );
1718
1718
  for (const m of v) {
1719
- if (C.length >= fr) break;
1719
+ if (C.length >= dr) break;
1720
1720
  if (Xe(m) || !dt(m) || !Ge(m)) continue;
1721
- const R = Qt(m), W = m instanceof HTMLInputElement ? m.type : m.tagName.toLowerCase();
1722
- R && C.push({ label: Se(R, 100), type: W });
1721
+ const R = Xt(m), W = m instanceof HTMLInputElement ? m.type : m.tagName.toLowerCase();
1722
+ R && C.push({ label: Le(R, 100), type: W });
1723
1723
  }
1724
1724
  const w = Array.from(
1725
1725
  r.querySelectorAll("[data-ll-form]")
1726
1726
  ), O = [];
1727
1727
  for (const m of w) {
1728
- if (O.length >= hr) break;
1728
+ if (O.length >= fr) break;
1729
1729
  if (xt(m)) continue;
1730
1730
  const R = m.getAttribute("data-ll-form") || "";
1731
1731
  if (!R) continue;
@@ -1735,12 +1735,12 @@ function yr(e, t = {}) {
1735
1735
  )
1736
1736
  ), M = [];
1737
1737
  for (const B of z) {
1738
- if (M.length >= mr) break;
1738
+ if (M.length >= pr) break;
1739
1739
  if (!dt(B)) continue;
1740
1740
  const F = B.getAttribute("data-ll-field") || "";
1741
1741
  if (!F) continue;
1742
- const G = Qt(B) || F, ie = B instanceof HTMLInputElement ? B.type : B.tagName.toLowerCase();
1743
- M.push({ name: F, label: Se(G, 100), type: ie });
1742
+ const G = Xt(B) || F, ie = B instanceof HTMLInputElement ? B.type : B.tagName.toLowerCase();
1743
+ M.push({ name: F, label: Le(G, 100), type: ie });
1744
1744
  }
1745
1745
  O.push({ id: R, intent: W, fields: M });
1746
1746
  }
@@ -1755,26 +1755,26 @@ function yr(e, t = {}) {
1755
1755
  forms: O,
1756
1756
  extras: e
1757
1757
  };
1758
- let q = He(JSON.stringify(I.regions)) + He(I.visibleText) + He(JSON.stringify(I.visibleLinks)) + He(JSON.stringify(I.visibleFields));
1758
+ let q = ze(JSON.stringify(I.regions)) + ze(I.visibleText) + ze(JSON.stringify(I.visibleLinks)) + ze(JSON.stringify(I.visibleFields));
1759
1759
  for (; q > at && I.visibleFields.length > 0; )
1760
- I.visibleFields.pop(), q = He(JSON.stringify(I.visibleFields));
1760
+ I.visibleFields.pop(), q = ze(JSON.stringify(I.visibleFields));
1761
1761
  for (; q > at && I.visibleLinks.length > 0; )
1762
1762
  I.visibleLinks.pop(), q -= 80;
1763
- return He(I.visibleText) > at && (I.visibleText = Se(I.visibleText, at - 100)), I;
1763
+ return ze(I.visibleText) > at && (I.visibleText = Le(I.visibleText, at - 100)), I;
1764
1764
  }
1765
- let Oe = null;
1766
- function Zt(e, t = {}) {
1765
+ let He = null;
1766
+ function Gt(e, t = {}) {
1767
1767
  const r = Date.now(), o = `${typeof window < "u" && window.location.pathname || "/"}::${typeof window < "u" ? window.scrollY : 0}`;
1768
- if (Oe && Oe.key === o && r - Oe.at < 1e3)
1769
- return Oe.ctx;
1770
- const l = yr(e, t);
1771
- return Oe = { key: o, at: r, ctx: l }, l;
1768
+ if (He && He.key === o && r - He.at < 1e3)
1769
+ return He.ctx;
1770
+ const l = mr(e, t);
1771
+ return He = { key: o, at: r, ctx: l }, l;
1772
1772
  }
1773
- function vr() {
1774
- Oe = null;
1773
+ function gr() {
1774
+ He = null;
1775
1775
  }
1776
- const br = 200;
1777
- function wr(e) {
1776
+ const yr = 200;
1777
+ function vr(e) {
1778
1778
  const t = String(e.href || "");
1779
1779
  return {
1780
1780
  href: t,
@@ -1784,18 +1784,18 @@ function wr(e) {
1784
1784
  description: e.description
1785
1785
  };
1786
1786
  }
1787
- function _r(e) {
1787
+ function br(e) {
1788
1788
  return !(!e || e.startsWith("#") || e.startsWith("javascript:") || e.startsWith("mailto:") || e.startsWith("tel:"));
1789
1789
  }
1790
- function xr(e) {
1790
+ function wr(e) {
1791
1791
  const t = e ?? (typeof document < "u" ? document : null);
1792
1792
  if (!t) return [];
1793
1793
  const r = typeof window < "u" && window.location.origin || "", i = /* @__PURE__ */ new Set(), o = [], l = Array.from(t.querySelectorAll("a[href]"));
1794
- for (const d of l) {
1795
- if (o.length >= br) break;
1796
- if (xt(d)) continue;
1797
- const u = d.getAttribute("href") || "";
1798
- if (!_r(u)) continue;
1794
+ for (const c of l) {
1795
+ if (o.length >= yr) break;
1796
+ if (xt(c)) continue;
1797
+ const u = c.getAttribute("href") || "";
1798
+ if (!br(u)) continue;
1799
1799
  let f = u, y = !0;
1800
1800
  try {
1801
1801
  if (typeof window < "u") {
@@ -1807,40 +1807,40 @@ function xr(e) {
1807
1807
  }
1808
1808
  if (i.has(f)) continue;
1809
1809
  i.add(f);
1810
- const b = (d.textContent || "").trim().slice(0, 120);
1810
+ const b = (c.textContent || "").trim().slice(0, 120);
1811
1811
  o.push({ href: f, text: b, internal: y });
1812
1812
  }
1813
1813
  return o;
1814
1814
  }
1815
- let qe = null;
1816
- const kr = 5e3;
1815
+ let Oe = null;
1816
+ const _r = 5e3;
1817
1817
  function vt() {
1818
1818
  const e = Date.now(), t = typeof window < "u" && window.location.pathname || "/";
1819
- if (qe && qe.pathname === t && e - qe.at < kr)
1820
- return qe.routes;
1821
- const r = xr();
1822
- return qe = { at: e, pathname: t, routes: r }, r;
1819
+ if (Oe && Oe.pathname === t && e - Oe.at < _r)
1820
+ return Oe.routes;
1821
+ const r = wr();
1822
+ return Oe = { at: e, pathname: t, routes: r }, r;
1823
1823
  }
1824
- function Lr() {
1825
- qe = null;
1824
+ function xr() {
1825
+ Oe = null;
1826
1826
  }
1827
- function Sr(e, t) {
1827
+ function kr(e, t) {
1828
1828
  const r = e instanceof HTMLInputElement ? HTMLInputElement.prototype : e instanceof HTMLTextAreaElement ? HTMLTextAreaElement.prototype : HTMLSelectElement.prototype, i = Object.getOwnPropertyDescriptor(r, "value"), o = i == null ? void 0 : i.set;
1829
1829
  o ? o.call(e, t) : e.value = t;
1830
1830
  }
1831
- function Cr(e, t, r = {}) {
1831
+ function Lr(e, t, r = {}) {
1832
1832
  const i = r.triggerInput ?? !0, o = r.triggerChange ?? !0;
1833
1833
  if (e instanceof HTMLInputElement && (e.type === "checkbox" || e.type === "radio")) {
1834
1834
  const l = Object.getOwnPropertyDescriptor(
1835
1835
  HTMLInputElement.prototype,
1836
1836
  "checked"
1837
- ), d = l == null ? void 0 : l.set, u = t === "true" || t === "1" || t === "on";
1838
- d ? d.call(e, u) : e.checked = u, i && e.dispatchEvent(new Event("input", { bubbles: !0 })), o && e.dispatchEvent(new Event("change", { bubbles: !0 }));
1837
+ ), c = l == null ? void 0 : l.set, u = t === "true" || t === "1" || t === "on";
1838
+ c ? c.call(e, u) : e.checked = u, i && e.dispatchEvent(new Event("input", { bubbles: !0 })), o && e.dispatchEvent(new Event("change", { bubbles: !0 }));
1839
1839
  return;
1840
1840
  }
1841
- Sr(e, t), i && e.dispatchEvent(new Event("input", { bubbles: !0 })), o && e.dispatchEvent(new Event("change", { bubbles: !0 }));
1841
+ kr(e, t), i && e.dispatchEvent(new Event("input", { bubbles: !0 })), o && e.dispatchEvent(new Event("change", { bubbles: !0 }));
1842
1842
  }
1843
- function Er() {
1843
+ function Sr() {
1844
1844
  if (typeof window > "u" || typeof document > "u")
1845
1845
  return !1;
1846
1846
  const e = document.scrollingElement || document.documentElement;
@@ -1848,19 +1848,19 @@ function Er() {
1848
1848
  const t = window.getComputedStyle(e);
1849
1849
  return !(t.overflowY === "hidden" || t.overflowY === "clip");
1850
1850
  }
1851
- function Nr(e) {
1851
+ function Cr(e) {
1852
1852
  if (!(e instanceof HTMLElement)) return !1;
1853
1853
  const r = window.getComputedStyle(e).overflowY;
1854
1854
  return !(r !== "auto" && r !== "scroll" || e.scrollHeight <= e.clientHeight + 2);
1855
1855
  }
1856
- function Ar() {
1856
+ function Er() {
1857
1857
  if (typeof document > "u") return null;
1858
1858
  const e = Array.from(
1859
1859
  document.querySelectorAll("body, body *")
1860
1860
  );
1861
1861
  let t = null, r = 0;
1862
1862
  for (const i of e) {
1863
- if (!Nr(i)) continue;
1863
+ if (!Cr(i)) continue;
1864
1864
  const o = i.getBoundingClientRect();
1865
1865
  if (o.bottom <= 0 || o.top >= window.innerHeight || o.right <= 0 || o.left >= window.innerWidth || o.width <= 0 || o.height <= 0 || i.closest(".ll-widget")) continue;
1866
1866
  const l = o.width * o.height;
@@ -1868,24 +1868,24 @@ function Ar() {
1868
1868
  }
1869
1869
  return t;
1870
1870
  }
1871
- function Rr() {
1871
+ function Nr() {
1872
1872
  if (typeof window > "u")
1873
1873
  return null;
1874
- if (Er()) return window;
1875
- const e = Ar();
1874
+ if (Sr()) return window;
1875
+ const e = Er();
1876
1876
  return e || window;
1877
1877
  }
1878
- function en(e) {
1878
+ function Qt(e) {
1879
1879
  return e instanceof Window ? e.innerHeight || 0 : e.clientHeight || 0;
1880
1880
  }
1881
- function Mr(e) {
1881
+ function Ar(e) {
1882
1882
  var t, r;
1883
1883
  return e instanceof Window ? typeof document > "u" ? 0 : Math.max(
1884
1884
  ((t = document.body) == null ? void 0 : t.scrollHeight) ?? 0,
1885
1885
  ((r = document.documentElement) == null ? void 0 : r.scrollHeight) ?? 0
1886
1886
  ) : e.scrollHeight - e.clientHeight;
1887
1887
  }
1888
- const Ir = /* @__PURE__ */ new Set([
1888
+ const Rr = /* @__PURE__ */ new Set([
1889
1889
  "agent_state",
1890
1890
  "avatar_stream_ready",
1891
1891
  "avatar_active",
@@ -1908,15 +1908,15 @@ const Ir = /* @__PURE__ */ new Set([
1908
1908
  "submit_form",
1909
1909
  "request_routes"
1910
1910
  ]);
1911
- function Tr(e) {
1912
- var Rt, Mt, It, Tt, Pt, Dt, $t;
1911
+ function Mr(e) {
1912
+ var Nt, At, Rt, Mt, It, Tt, Pt;
1913
1913
  const {
1914
1914
  agentId: t,
1915
1915
  apiKey: r,
1916
1916
  baseUrl: i = "https://app.livelayer.studio",
1917
1917
  sessionEndpoint: o,
1918
1918
  sessionBody: l,
1919
- autoConnect: d = !1,
1919
+ autoConnect: c = !1,
1920
1920
  displayMode: u,
1921
1921
  defaultDisplayMode: f = "expanded",
1922
1922
  onDisplayModeChange: y,
@@ -1924,7 +1924,7 @@ function Tr(e) {
1924
1924
  mobileBreakpoint: s = 640,
1925
1925
  persistKey: a = "ll-widget",
1926
1926
  disablePersistence: x = !1,
1927
- teamMembers: N,
1927
+ teamMembers: E,
1928
1928
  currentTeamMemberId: C,
1929
1929
  onTeamMemberChange: v,
1930
1930
  idleLoopUrl: w,
@@ -1948,62 +1948,62 @@ function Tr(e) {
1948
1948
  capabilities: re,
1949
1949
  onConnect: ce,
1950
1950
  onDisconnect: we,
1951
- onTranscript: Ce,
1952
- onAgentState: Ee,
1953
- onConnectionStateChange: Ne,
1954
- onAgentEvent: Ae,
1955
- onAgentCommand: Re,
1951
+ onTranscript: Se,
1952
+ onAgentState: Ce,
1953
+ onConnectionStateChange: Ee,
1954
+ onAgentEvent: Ne,
1955
+ onAgentCommand: Ae,
1956
1956
  controlledSession: V,
1957
1957
  className: ut,
1958
1958
  style: ft,
1959
1959
  zIndex: nt = 2147483647
1960
- } = e, ue = qn(F), Me = Yn(ue, M, B);
1961
- A(() => {
1962
- vr(), Lr();
1960
+ } = e, ue = Hn(F), Re = jn(ue, M, B);
1961
+ N(() => {
1962
+ gr(), xr();
1963
1963
  }, [ue]);
1964
- const Be = C !== void 0, [_e, Ie] = L(() => {
1964
+ const qe = C !== void 0, [_e, Me] = L(() => {
1965
1965
  var h;
1966
- return C ?? ((h = N == null ? void 0 : N[0]) == null ? void 0 : h.id);
1967
- }), X = Be ? C : _e, te = st(
1968
- () => (N == null ? void 0 : N.find((h) => h.id === X)) ?? null,
1969
- [N, X]
1970
- ), Te = (te == null ? void 0 : te.agentId) ?? t, [oe, de] = $n({
1966
+ return C ?? ((h = E == null ? void 0 : E[0]) == null ? void 0 : h.id);
1967
+ }), X = qe ? C : _e, ee = st(
1968
+ () => (E == null ? void 0 : E.find((h) => h.id === X)) ?? null,
1969
+ [E, X]
1970
+ ), Ie = (ee == null ? void 0 : ee.agentId) ?? t, [oe, de] = Pn({
1971
1971
  value: u,
1972
1972
  defaultValue: f,
1973
1973
  onChange: y,
1974
1974
  persistKey: a,
1975
1975
  disablePersistence: x
1976
- }), xe = Hn(s), We = Ln(), Z = Sn(), le = En(), ae = Nn(), fe = An(), [Pe, pe] = L(!1), [he, Fe] = L(!1), [Ue, je] = L(!1), [me, ge] = L(!1), [De, rt] = L(!1), Ve = E(G), $e = E(ie), p = E(et), Y = E(tt), pt = E(be), kt = E(Qe), Lt = E(Ze), ht = E(re), ne = E(null);
1977
- Ve.current = G, $e.current = ie, p.current = et, Y.current = tt, pt.current = be, kt.current = Qe, Lt.current = Ze, ht.current = re;
1976
+ }), xe = $n(s), Be = xn(), te = kn(), le = Sn(), ae = Cn(), fe = En(), [Te, pe] = L(!1), [he, We] = L(!1), [Fe, Ue] = L(!1), [me, ge] = L(!1), [Pe, rt] = L(!1), je = A(G), De = A(ie), p = A(et), Y = A(tt), pt = A(be), kt = A(Qe), Lt = A(Ze), ht = A(re), ne = A(null);
1977
+ je.current = G, De.current = ie, p.current = et, Y.current = tt, pt.current = be, kt.current = Qe, Lt.current = Ze, ht.current = re;
1978
1978
  function ye(h) {
1979
- const c = ht.current;
1980
- return c ? c.includes(h) : !0;
1979
+ const d = ht.current;
1980
+ return d ? d.includes(h) : !0;
1981
1981
  }
1982
- function ve(h, c) {
1982
+ function ve(h, d) {
1983
1983
  console.warn(
1984
- `[LiveLayer] Agent command "${h}" blocked — capability "${c}" not in allowlist. See https://livelayer.studio/docs/react/capabilities`
1984
+ `[LiveLayer] Agent command "${h}" blocked — capability "${d}" not in allowlist. See https://livelayer.studio/docs/react/capabilities`
1985
1985
  );
1986
1986
  }
1987
- const Ye = k(
1987
+ const Ve = k(
1988
1988
  (h) => {
1989
- var ee, ze, ot, zt, Ht;
1990
- const c = h;
1991
- if (!(!c.type || typeof c.type != "string")) {
1992
- if (Ae == null || Ae({ eventName: c.type, data: h }), c.type === "navigate") {
1989
+ var Z, $e, ot, Dt, $t;
1990
+ const d = h;
1991
+ if (!(!d.type || typeof d.type != "string")) {
1992
+ if (Ne == null || Ne({ eventName: d.type, data: h }), d.type === "navigate") {
1993
1993
  if (!ye("navigate")) {
1994
1994
  ve("navigate", "navigate");
1995
1995
  return;
1996
1996
  }
1997
- const S = typeof c.href == "string" ? c.href : null;
1997
+ const S = typeof d.href == "string" ? d.href : null;
1998
1998
  if (!S) {
1999
1999
  console.warn(
2000
2000
  `[LiveLayer] Agent emitted "navigate" without href. Skipping. Check your agent's tool schema. See https://livelayer.studio/docs/errors/navigate-missing-href`
2001
2001
  );
2002
2002
  return;
2003
2003
  }
2004
- if (Ve.current) {
2004
+ if (je.current) {
2005
2005
  try {
2006
- Ve.current(S);
2006
+ je.current(S);
2007
2007
  } catch (P) {
2008
2008
  console.warn(
2009
2009
  `[LiveLayer] onNavigate threw for "${S}". Falling back. Error:`,
@@ -2032,17 +2032,17 @@ function Tr(e) {
2032
2032
  }
2033
2033
  return;
2034
2034
  }
2035
- if (c.type === "scroll_to") {
2035
+ if (d.type === "scroll_to") {
2036
2036
  if (!ye("scroll")) {
2037
2037
  ve("scroll_to", "scroll");
2038
2038
  return;
2039
2039
  }
2040
- const S = typeof c.selector == "string" ? c.selector : null;
2040
+ const S = typeof d.selector == "string" ? d.selector : null;
2041
2041
  if (!S) return;
2042
- const P = c.behavior === "instant" ? "instant" : "smooth";
2043
- if ($e.current) {
2042
+ const P = d.behavior === "instant" ? "instant" : "smooth";
2043
+ if (De.current) {
2044
2044
  try {
2045
- $e.current(
2045
+ De.current(
2046
2046
  S,
2047
2047
  P
2048
2048
  );
@@ -2074,12 +2074,12 @@ function Tr(e) {
2074
2074
  }
2075
2075
  return;
2076
2076
  }
2077
- if (c.type === "request_page_context") {
2077
+ if (d.type === "request_page_context") {
2078
2078
  if (!ye("read_page")) {
2079
2079
  ve("request_page_context", "read_page");
2080
2080
  return;
2081
2081
  }
2082
- const S = typeof c.requestId == "string" ? c.requestId : void 0, P = (ee = ne.current) == null ? void 0 : ee.call(ne), D = (K) => {
2082
+ const S = typeof d.requestId == "string" ? d.requestId : void 0, P = (Z = ne.current) == null ? void 0 : Z.call(ne), D = (K) => {
2083
2083
  const T = P, U = T == null ? void 0 : T.localParticipant;
2084
2084
  if (U != null && U.publishData)
2085
2085
  try {
@@ -2099,7 +2099,7 @@ function Tr(e) {
2099
2099
  T
2100
2100
  ), D({
2101
2101
  type: "page_context",
2102
- context: Zt($)
2102
+ context: Gt($)
2103
2103
  });
2104
2104
  });
2105
2105
  return;
@@ -2109,7 +2109,7 @@ function Tr(e) {
2109
2109
  }
2110
2110
  D({
2111
2111
  type: "page_context",
2112
- context: Zt($)
2112
+ context: Gt($)
2113
2113
  });
2114
2114
  } catch (K) {
2115
2115
  console.warn(
@@ -2122,19 +2122,19 @@ function Tr(e) {
2122
2122
  }
2123
2123
  return;
2124
2124
  }
2125
- if (c.type === "scroll_page") {
2125
+ if (d.type === "scroll_page") {
2126
2126
  if (!ye("scroll")) {
2127
2127
  ve("scroll_page", "scroll");
2128
2128
  return;
2129
2129
  }
2130
- const S = c.direction;
2130
+ const S = d.direction;
2131
2131
  if (S !== "up" && S !== "down" && S !== "top" && S !== "bottom") {
2132
2132
  console.warn(
2133
2133
  `[LiveLayer] scroll_page: invalid direction "${String(S)}". Expected up | down | top | bottom.`
2134
2134
  );
2135
2135
  return;
2136
2136
  }
2137
- const P = c.behavior === "instant" ? "instant" : "smooth";
2137
+ const P = d.behavior === "instant" ? "instant" : "smooth";
2138
2138
  if (p.current) {
2139
2139
  try {
2140
2140
  p.current(
@@ -2147,20 +2147,20 @@ function Tr(e) {
2147
2147
  return;
2148
2148
  }
2149
2149
  if (typeof window > "u") return;
2150
- const D = { behavior: P }, $ = Rr(), J = (T) => {
2150
+ const D = { behavior: P }, $ = Nr(), J = (T) => {
2151
2151
  $ instanceof Window ? $.scrollBy({ top: T, ...D }) : $.scrollBy({ top: T, ...D });
2152
2152
  }, K = (T) => {
2153
2153
  $ instanceof Window ? $.scrollTo({ top: T, ...D }) : $.scrollTo({ top: T, ...D });
2154
2154
  };
2155
- S === "up" ? J(-en($)) : S === "down" ? J(en($)) : K(S === "top" ? 0 : Mr($));
2155
+ S === "up" ? J(-Qt($)) : S === "down" ? J(Qt($)) : K(S === "top" ? 0 : Ar($));
2156
2156
  return;
2157
2157
  }
2158
- if (c.type === "click") {
2158
+ if (d.type === "click") {
2159
2159
  if (!ye("click")) {
2160
2160
  ve("click", "click");
2161
2161
  return;
2162
2162
  }
2163
- const S = typeof c.selector == "string" ? c.selector : null;
2163
+ const S = typeof d.selector == "string" ? d.selector : null;
2164
2164
  if (!S) {
2165
2165
  console.warn("[LiveLayer] click: missing selector.");
2166
2166
  return;
@@ -2195,28 +2195,28 @@ function Tr(e) {
2195
2195
  );
2196
2196
  return;
2197
2197
  }
2198
- (ze = P.click) == null || ze.call(P);
2198
+ ($e = P.click) == null || $e.call(P);
2199
2199
  return;
2200
2200
  }
2201
- if (c.type === "fill_form" || c.type === "focus_field") {
2201
+ if (d.type === "fill_form" || d.type === "focus_field") {
2202
2202
  if (!ye("fill_forms")) {
2203
- ve(c.type, "fill_forms");
2203
+ ve(d.type, "fill_forms");
2204
2204
  return;
2205
2205
  }
2206
2206
  if (typeof document > "u") return;
2207
- const S = typeof c.requestId == "string" ? c.requestId : void 0, P = (ot = ne.current) == null ? void 0 : ot.call(ne), D = (H) => {
2208
- if (c.type !== "fill_form") return;
2207
+ const S = typeof d.requestId == "string" ? d.requestId : void 0, P = (ot = ne.current) == null ? void 0 : ot.call(ne), D = (H) => {
2208
+ if (d.type !== "fill_form") return;
2209
2209
  const Q = P, se = Q == null ? void 0 : Q.localParticipant;
2210
2210
  if (se != null && se.publishData)
2211
2211
  try {
2212
- const Le = S ? { ...H, requestId: S } : H, gn = new TextEncoder().encode(JSON.stringify(Le));
2213
- se.publishData(gn, { reliable: !0 });
2214
- } catch (Le) {
2215
- console.warn("[LiveLayer] publishData failed.", Le);
2212
+ const ke = S ? { ...H, requestId: S } : H, hn = new TextEncoder().encode(JSON.stringify(ke));
2213
+ se.publishData(hn, { reliable: !0 });
2214
+ } catch (ke) {
2215
+ console.warn("[LiveLayer] publishData failed.", ke);
2216
2216
  }
2217
- }, $ = typeof c.formId == "string" ? c.formId : null;
2217
+ }, $ = typeof d.formId == "string" ? d.formId : null;
2218
2218
  if (!$) {
2219
- console.warn(`[LiveLayer] ${c.type}: missing formId.`), D({ type: "fill_form_result", ok: !1, reason: "missing formId" });
2219
+ console.warn(`[LiveLayer] ${d.type}: missing formId.`), D({ type: "fill_form_result", ok: !1, reason: "missing formId" });
2220
2220
  return;
2221
2221
  }
2222
2222
  const J = document.querySelector(
@@ -2224,7 +2224,7 @@ function Tr(e) {
2224
2224
  );
2225
2225
  if (!J) {
2226
2226
  console.warn(
2227
- `[LiveLayer] ${c.type}: no form with data-ll-form="${$}". Tag your form with <LiveLayerForm id> or data-ll-form. See https://livelayer.studio/docs/react/forms`
2227
+ `[LiveLayer] ${d.type}: no form with data-ll-form="${$}". Tag your form with <LiveLayerForm id> or data-ll-form. See https://livelayer.studio/docs/react/forms`
2228
2228
  ), D({
2229
2229
  type: "fill_form_result",
2230
2230
  ok: !1,
@@ -2235,7 +2235,7 @@ function Tr(e) {
2235
2235
  }
2236
2236
  if (J.closest('[data-ll-private="true"], .ll-widget')) {
2237
2237
  console.warn(
2238
- `[LiveLayer] ${c.type}: refusing to touch a form in a private subtree.`
2238
+ `[LiveLayer] ${d.type}: refusing to touch a form in a private subtree.`
2239
2239
  ), D({
2240
2240
  type: "fill_form_result",
2241
2241
  ok: !1,
@@ -2244,8 +2244,8 @@ function Tr(e) {
2244
2244
  });
2245
2245
  return;
2246
2246
  }
2247
- if (c.type === "focus_field") {
2248
- const H = typeof c.fieldName == "string" ? c.fieldName : null;
2247
+ if (d.type === "focus_field") {
2248
+ const H = typeof d.fieldName == "string" ? d.fieldName : null;
2249
2249
  if (!H) {
2250
2250
  console.warn("[LiveLayer] focus_field: missing fieldName.");
2251
2251
  return;
@@ -2266,7 +2266,7 @@ function Tr(e) {
2266
2266
  Q.focus();
2267
2267
  return;
2268
2268
  }
2269
- const K = c.values && typeof c.values == "object" ? c.values : null;
2269
+ const K = d.values && typeof d.values == "object" ? d.values : null;
2270
2270
  if (!K) {
2271
2271
  console.warn("[LiveLayer] fill_form: missing or invalid values."), D({
2272
2272
  type: "fill_form_result",
@@ -2293,11 +2293,11 @@ function Tr(e) {
2293
2293
  continue;
2294
2294
  }
2295
2295
  try {
2296
- Cr(se, Q), T.push(H);
2297
- } catch (Le) {
2296
+ Lr(se, Q), T.push(H);
2297
+ } catch (ke) {
2298
2298
  console.warn(
2299
2299
  `[LiveLayer] fill_form: failed to set "${H}".`,
2300
- Le
2300
+ ke
2301
2301
  ), U.push(H);
2302
2302
  }
2303
2303
  }
@@ -2311,13 +2311,13 @@ function Tr(e) {
2311
2311
  });
2312
2312
  return;
2313
2313
  }
2314
- if (c.type === "submit_form") {
2314
+ if (d.type === "submit_form") {
2315
2315
  if (!ye("submit_forms")) {
2316
2316
  ve("submit_form", "submit_forms");
2317
2317
  return;
2318
2318
  }
2319
2319
  if (typeof document > "u") return;
2320
- const S = typeof c.formId == "string" ? c.formId : null;
2320
+ const S = typeof d.formId == "string" ? d.formId : null;
2321
2321
  if (!S) {
2322
2322
  console.warn("[LiveLayer] submit_form: missing formId.");
2323
2323
  return;
@@ -2337,12 +2337,12 @@ function Tr(e) {
2337
2337
  );
2338
2338
  return;
2339
2339
  }
2340
- const D = typeof c.requestId == "string" ? c.requestId : void 0, $ = (zt = ne.current) == null ? void 0 : zt.call(ne), J = (U) => {
2340
+ const D = typeof d.requestId == "string" ? d.requestId : void 0, $ = (Dt = ne.current) == null ? void 0 : Dt.call(ne), J = (U) => {
2341
2341
  const H = $, Q = H == null ? void 0 : H.localParticipant;
2342
2342
  if (Q != null && Q.publishData)
2343
2343
  try {
2344
- const se = D ? { ...U, requestId: D } : U, Le = new TextEncoder().encode(JSON.stringify(se));
2345
- Q.publishData(Le, { reliable: !0 });
2344
+ const se = D ? { ...U, requestId: D } : U, ke = new TextEncoder().encode(JSON.stringify(se));
2345
+ Q.publishData(ke, { reliable: !0 });
2346
2346
  } catch {
2347
2347
  }
2348
2348
  };
@@ -2370,12 +2370,12 @@ function Tr(e) {
2370
2370
  }, 500);
2371
2371
  return;
2372
2372
  }
2373
- if (c.type === "request_routes") {
2373
+ if (d.type === "request_routes") {
2374
2374
  if (!ye("read_page")) {
2375
2375
  ve("request_routes", "read_page");
2376
2376
  return;
2377
2377
  }
2378
- const S = typeof c.requestId == "string" ? c.requestId : void 0, D = (Ht = ne.current) == null ? void 0 : Ht.call(ne), $ = D == null ? void 0 : D.localParticipant;
2378
+ const S = typeof d.requestId == "string" ? d.requestId : void 0, D = ($t = ne.current) == null ? void 0 : $t.call(ne), $ = D == null ? void 0 : D.localParticipant;
2379
2379
  if (!($ != null && $.publishData)) return;
2380
2380
  const J = (T) => {
2381
2381
  try {
@@ -2392,7 +2392,7 @@ function Tr(e) {
2392
2392
  J([]);
2393
2393
  return;
2394
2394
  }
2395
- J(H.map(wr).slice(0, 200));
2395
+ J(H.map(vr).slice(0, 200));
2396
2396
  };
2397
2397
  T instanceof Promise ? T.then(U).catch((H) => {
2398
2398
  console.warn(
@@ -2415,51 +2415,51 @@ function Tr(e) {
2415
2415
  }
2416
2416
  return;
2417
2417
  }
2418
- Ir.has(c.type) || Re == null || Re(c);
2418
+ Rr.has(d.type) || Ae == null || Ae(d);
2419
2419
  }
2420
2420
  },
2421
- [Re, Ae]
2422
- ), j = kn({
2423
- agentId: V ? "__controlled__" : Te,
2421
+ [Ae, Ne]
2422
+ ), j = _n({
2423
+ agentId: V ? "__controlled__" : Ie,
2424
2424
  baseUrl: i,
2425
2425
  apiKey: r,
2426
2426
  sessionEndpoint: o,
2427
2427
  sessionBody: l,
2428
- onDataMessage: V ? void 0 : Ye
2428
+ onDataMessage: V ? void 0 : Ve
2429
2429
  });
2430
- A(() => {
2430
+ N(() => {
2431
2431
  if (V != null && V.subscribeToDataMessages)
2432
- return V.subscribeToDataMessages(Ye);
2433
- }, [V, Ye]), ne.current = () => {
2432
+ return V.subscribeToDataMessages(Ve);
2433
+ }, [V, Ve]), ne.current = () => {
2434
2434
  var h;
2435
2435
  return (h = j.getRoom) == null ? void 0 : h.call(j);
2436
- }, A(() => {
2437
- var ee;
2436
+ }, N(() => {
2437
+ var Z;
2438
2438
  if (!ue) return;
2439
- const h = (ee = j.getRoom) == null ? void 0 : ee.call(j), c = h == null ? void 0 : h.localParticipant;
2440
- if (c != null && c.publishData)
2439
+ const h = (Z = j.getRoom) == null ? void 0 : Z.call(j), d = h == null ? void 0 : h.localParticipant;
2440
+ if (d != null && d.publishData)
2441
2441
  try {
2442
- const ze = new TextEncoder().encode(
2442
+ const $e = new TextEncoder().encode(
2443
2443
  JSON.stringify({ type: "pathname", pathname: ue })
2444
2444
  );
2445
- c.publishData(ze, { reliable: !0 });
2445
+ d.publishData($e, { reliable: !0 });
2446
2446
  } catch {
2447
2447
  }
2448
- }, [ue, j, j.connectionState]), A(() => {
2449
- var ee;
2448
+ }, [ue, j, j.connectionState]), N(() => {
2449
+ var Z;
2450
2450
  if (typeof window > "u") return;
2451
- const h = ((ee = window.location) == null ? void 0 : ee.hostname) || "";
2451
+ const h = ((Z = window.location) == null ? void 0 : Z.hostname) || "";
2452
2452
  if (h === "localhost" || h === "127.0.0.1" || h === "0.0.0.0" || h.endsWith(".local") || h.endsWith(".test"))
2453
- return window.__livelayerSimulateCommand = (ze) => {
2453
+ return window.__livelayerSimulateCommand = ($e) => {
2454
2454
  try {
2455
- Ye(ze);
2455
+ Ve($e);
2456
2456
  } catch (ot) {
2457
2457
  console.warn("[LiveLayer] simulate-command threw:", ot);
2458
2458
  }
2459
2459
  }, () => {
2460
2460
  delete window.__livelayerSimulateCommand;
2461
2461
  };
2462
- }, [Ye]);
2462
+ }, [Ve]);
2463
2463
  const g = st(() => V ? {
2464
2464
  connectionState: V.connectionState,
2465
2465
  agentState: V.agentState,
@@ -2491,135 +2491,129 @@ function Tr(e) {
2491
2491
  disconnect: j.disconnect,
2492
2492
  getRoom: j.getRoom,
2493
2493
  isControlled: !1
2494
- }, [V, j]), St = E(null);
2495
- A(() => {
2496
- const h = g.videoElement, c = St.current;
2497
- if (!(!h || !c))
2498
- return c.appendChild(h), () => {
2499
- h.parentNode === c && c.removeChild(h);
2494
+ }, [V, j]), St = A(null);
2495
+ N(() => {
2496
+ const h = g.videoElement, d = St.current;
2497
+ if (!(!h || !d))
2498
+ return d.appendChild(h), () => {
2499
+ h.parentNode === d && d.removeChild(h);
2500
2500
  };
2501
- }, [g.videoElement]), A(() => {
2501
+ }, [g.videoElement]), N(() => {
2502
2502
  const h = g.audioElement;
2503
2503
  if (!h) return;
2504
- We.attach(h);
2505
- const c = h.play();
2506
- return c && typeof c.catch == "function" && c.catch((ee) => {
2507
- (ee == null ? void 0 : ee.name) === "NotAllowedError" && pe(!0);
2504
+ Be.attach(h);
2505
+ const d = h.play();
2506
+ return d && typeof d.catch == "function" && d.catch((Z) => {
2507
+ (Z == null ? void 0 : Z.name) === "NotAllowedError" && pe(!0);
2508
2508
  }), () => {
2509
- We.detach();
2509
+ Be.detach();
2510
2510
  };
2511
- }, [g.audioElement]), A(() => {
2511
+ }, [g.audioElement]), N(() => {
2512
2512
  if (g.isControlled || g.connectionState !== "connected") return;
2513
2513
  const h = g.getRoom();
2514
2514
  if (h)
2515
- return Z.setupMic(h, { startMuted: !0 }).catch(() => {
2515
+ return te.setupMic(h, { startMuted: !0 }).catch(() => {
2516
2516
  }), le.attachRoom(h), ae.attachRoom(h), fe.refresh(), () => {
2517
- Z.teardownMic(), le.teardown(), ae.teardown();
2517
+ te.teardownMic(), le.teardown(), ae.teardown();
2518
2518
  };
2519
2519
  }, [g.isControlled, g.connectionState]);
2520
- const [ke, mt] = L(!1), gt = E("idle");
2521
- A(() => {
2520
+ const [Ye, mt] = L(!1), gt = A("idle");
2521
+ N(() => {
2522
2522
  if (g.connectionState === "idle" || g.connectionState === "disconnected") {
2523
2523
  mt(!1), gt.current = "idle";
2524
2524
  return;
2525
2525
  }
2526
- !ke && gt.current === "speaking" && g.agentState !== "speaking" && (mt(!0), Z.setMuted(!1)), gt.current = g.agentState;
2527
- }, [g.agentState, g.connectionState, ke]), A(() => {
2528
- if (g.connectionState !== "connected" || ke) return;
2526
+ !Ye && gt.current === "speaking" && g.agentState !== "speaking" && (mt(!0), te.setMuted(!1)), gt.current = g.agentState;
2527
+ }, [g.agentState, g.connectionState, Ye]), N(() => {
2528
+ if (g.connectionState !== "connected" || Ye) return;
2529
2529
  const h = setTimeout(() => {
2530
- mt(!0), Z.setMuted(!1);
2530
+ mt(!0), te.setMuted(!1);
2531
2531
  }, 4e3);
2532
2532
  return () => clearTimeout(h);
2533
- }, [g.connectionState, ke]);
2534
- const Ct = E(!1), Et = E(!1);
2535
- A(() => {
2536
- if (!ke) return;
2537
- const h = g.agentState === "speaking", c = Et.current;
2538
- h && !c ? (Ct.current = Z.isMuted, Z.setMuted(!0)) : !h && c && Z.setMuted(Ct.current), Et.current = h;
2539
- }, [g.agentState, ke]), A(() => {
2533
+ }, [g.connectionState, Ye]), N(() => {
2540
2534
  const h = g.audioElement;
2541
- h && (h.muted = De);
2542
- }, [g.audioElement, De]);
2543
- const on = k((h) => {
2544
- const c = g.getRoom();
2545
- if (c)
2535
+ h && (h.muted = Pe);
2536
+ }, [g.audioElement, Pe]);
2537
+ const nn = k((h) => {
2538
+ const d = g.getRoom();
2539
+ if (d)
2546
2540
  try {
2547
- const ee = new TextEncoder().encode(
2541
+ const Z = new TextEncoder().encode(
2548
2542
  JSON.stringify({ type: "user_message", text: h })
2549
2543
  );
2550
- c.localParticipant.publishData(ee, { reliable: !0 });
2544
+ d.localParticipant.publishData(Z, { reliable: !0 });
2551
2545
  } catch {
2552
2546
  }
2553
- }, [g]), ln = k(() => {
2547
+ }, [g]), rn = k(() => {
2554
2548
  rt((h) => !h);
2555
2549
  }, []);
2556
- A(() => {
2557
- Ne == null || Ne(g.connectionState), g.connectionState === "connected" ? ce == null || ce() : g.connectionState === "disconnected" && (we == null || we());
2558
- }, [g.connectionState, ce, we, Ne]), A(() => {
2559
- Ce == null || Ce(g.transcript);
2560
- }, [g.transcript, Ce]), A(() => {
2561
- Ee == null || Ee(g.agentState);
2562
- }, [g.agentState, Ee]);
2563
- const Nt = E(!1);
2564
- A(() => {
2565
- g.isControlled || !d || Nt.current || Me && g.connectionState === "idle" && (Nt.current = !0, g.connect());
2566
- }, [d, g.connectionState, g, Me]);
2567
- const an = k(
2550
+ N(() => {
2551
+ Ee == null || Ee(g.connectionState), g.connectionState === "connected" ? ce == null || ce() : g.connectionState === "disconnected" && (we == null || we());
2552
+ }, [g.connectionState, ce, we, Ee]), N(() => {
2553
+ Se == null || Se(g.transcript);
2554
+ }, [g.transcript, Se]), N(() => {
2555
+ Ce == null || Ce(g.agentState);
2556
+ }, [g.agentState, Ce]);
2557
+ const Ct = A(!1);
2558
+ N(() => {
2559
+ g.isControlled || !c || Ct.current || Re && g.connectionState === "idle" && (Ct.current = !0, g.connect());
2560
+ }, [c, g.connectionState, g, Re]);
2561
+ const on = k(
2568
2562
  (h) => {
2569
- const c = N == null ? void 0 : N.find((ee) => ee.id === h);
2570
- c && (je(!1), h !== X && (Fe(!0), g.disconnect(), Be || Ie(h), v == null || v(c)));
2563
+ const d = E == null ? void 0 : E.find((Z) => Z.id === h);
2564
+ d && (Ue(!1), h !== X && (We(!0), g.disconnect(), qe || Me(h), v == null || v(d)));
2571
2565
  },
2572
2566
  [
2573
- N,
2567
+ E,
2574
2568
  X,
2575
2569
  g,
2576
- Be,
2570
+ qe,
2577
2571
  v
2578
2572
  ]
2579
2573
  );
2580
- A(() => {
2581
- he && g.connectionState === "connected" && Fe(!1);
2582
- }, [g.connectionState, he]), A(() => {
2583
- if (!Ue) return;
2584
- const h = (c) => {
2585
- c.key === "Escape" && je(!1);
2574
+ N(() => {
2575
+ he && g.connectionState === "connected" && We(!1);
2576
+ }, [g.connectionState, he]), N(() => {
2577
+ if (!Fe) return;
2578
+ const h = (d) => {
2579
+ d.key === "Escape" && Ue(!1);
2586
2580
  };
2587
2581
  return window.addEventListener("keydown", h), () => window.removeEventListener("keydown", h);
2588
- }, [Ue]);
2589
- const sn = !!I || !!(te != null && te.avatarImageUrl) || g.isControlled, Je = Rn(Te, i, sn);
2590
- re === void 0 && ((Rt = Je.info) != null && Rt.capabilities) && (ht.current = Je.info.capabilities);
2591
- const it = (te == null ? void 0 : te.name) ?? q ?? ((Mt = g.agentConfig) == null ? void 0 : Mt.name) ?? ((It = Je.info) == null ? void 0 : It.name) ?? "Live Layer", yt = (te == null ? void 0 : te.avatarImageUrl) ?? I ?? ((Tt = g.agentConfig) == null ? void 0 : Tt.avatarImageUrl) ?? ((Pt = Je.info) == null ? void 0 : Pt.avatarImageUrl) ?? null, cn = w ?? ((Dt = g.agentConfig) == null ? void 0 : Dt.idleLoopUrl) ?? (($t = Je.info) == null ? void 0 : $t.idleLoopUrl) ?? null, dn = O ?? null, un = k(() => de("expanded"), [de]), fn = k(
2582
+ }, [Fe]);
2583
+ const ln = !!I || !!(ee != null && ee.avatarImageUrl) || g.isControlled, Je = Nn(Ie, i, ln);
2584
+ re === void 0 && ((Nt = Je.info) != null && Nt.capabilities) && (ht.current = Je.info.capabilities);
2585
+ const it = (ee == null ? void 0 : ee.name) ?? q ?? ((At = g.agentConfig) == null ? void 0 : At.name) ?? ((Rt = Je.info) == null ? void 0 : Rt.name) ?? "Live Layer", yt = (ee == null ? void 0 : ee.avatarImageUrl) ?? I ?? ((Mt = g.agentConfig) == null ? void 0 : Mt.avatarImageUrl) ?? ((It = Je.info) == null ? void 0 : It.avatarImageUrl) ?? null, an = w ?? ((Tt = g.agentConfig) == null ? void 0 : Tt.idleLoopUrl) ?? ((Pt = Je.info) == null ? void 0 : Pt.idleLoopUrl) ?? null, sn = O ?? null, cn = k(() => de("expanded"), [de]), dn = k(
2592
2586
  () => de("minimized"),
2593
2587
  [de]
2594
- ), At = k(() => {
2588
+ ), Et = k(() => {
2595
2589
  g.disconnect(), de("hidden");
2596
- }, [g, de]), pn = k(() => {
2590
+ }, [g, de]), un = k(() => {
2597
2591
  const h = g.audioElement;
2598
2592
  h && h.play().then(() => pe(!1)).catch(() => {
2599
2593
  });
2600
- }, [g.audioElement]), hn = k(() => {
2594
+ }, [g.audioElement]), fn = k(() => {
2601
2595
  pe(!1), g.connect();
2602
2596
  }, [g]), Ke = {
2603
2597
  ...ft,
2604
2598
  zIndex: nt
2605
2599
  };
2606
2600
  m.primaryColor && (Ke["--ll-color-primary"] = m.primaryColor), m.accentColor && (Ke["--ll-color-accent"] = m.accentColor), m.backgroundColor && (Ke["--ll-color-bg"] = m.backgroundColor), m.textColor && (Ke["--ll-color-fg"] = m.textColor);
2607
- const mn = [
2601
+ const pn = [
2608
2602
  "ll-widget",
2609
2603
  `ll-widget--${oe}`,
2610
2604
  `ll-widget--${xe ? "mobile" : "desktop"}`,
2611
2605
  ut
2612
2606
  ].filter(Boolean).join(" ");
2613
- return Me ? /* @__PURE__ */ _(
2607
+ return Re ? /* @__PURE__ */ _(
2614
2608
  "div",
2615
2609
  {
2616
- className: mn,
2610
+ className: pn,
2617
2611
  style: Ke,
2618
2612
  "data-display-mode": oe,
2619
2613
  "data-position": b,
2620
2614
  children: [
2621
2615
  oe === "hidden" && /* @__PURE__ */ n(
2622
- Zn,
2616
+ Gn,
2623
2617
  {
2624
2618
  position: b,
2625
2619
  isMobile: xe,
@@ -2631,40 +2625,40 @@ function Tr(e) {
2631
2625
  }
2632
2626
  ),
2633
2627
  oe === "minimized" && /* @__PURE__ */ n(
2634
- tr,
2628
+ Zn,
2635
2629
  {
2636
2630
  position: b,
2637
2631
  isMobile: xe,
2638
2632
  agentName: it,
2639
2633
  avatarImageUrl: yt,
2640
2634
  agentState: g.agentState,
2641
- isMuted: Z.isMuted,
2642
- audioLevel: We,
2643
- onExpand: un,
2644
- onToggleMute: Z.toggleMute,
2645
- onClose: At
2635
+ isMuted: te.isMuted,
2636
+ audioLevel: Be,
2637
+ onExpand: cn,
2638
+ onToggleMute: te.toggleMute,
2639
+ onClose: Et
2646
2640
  }
2647
2641
  ),
2648
2642
  oe === "expanded" && /* @__PURE__ */ n(
2649
- rr,
2643
+ tr,
2650
2644
  {
2651
2645
  position: b,
2652
2646
  isMobile: xe,
2653
2647
  agentName: it,
2654
2648
  avatarImageUrl: yt,
2655
- idleLoopUrl: cn,
2656
- greeting: dn,
2649
+ idleLoopUrl: an,
2650
+ greeting: sn,
2657
2651
  branding: m,
2658
- teamMembers: N,
2652
+ teamMembers: E,
2659
2653
  currentTeamMemberId: X,
2660
2654
  isSwitchingTeamMember: he,
2661
- teamSwitcherOpen: Ue,
2662
- onToggleTeamSwitcher: () => je((h) => !h),
2663
- onSelectTeamMember: an,
2655
+ teamSwitcherOpen: Fe,
2656
+ onToggleTeamSwitcher: () => Ue((h) => !h),
2657
+ onSelectTeamMember: on,
2664
2658
  connectionState: g.connectionState,
2665
2659
  agentState: g.agentState,
2666
2660
  transcript: g.transcript,
2667
- isMuted: Z.isMuted,
2661
+ isMuted: te.isMuted,
2668
2662
  micDevices: fe.mics,
2669
2663
  isCameraEnabled: le.isEnabled,
2670
2664
  cameraPreviewEl: le.previewEl,
@@ -2672,70 +2666,70 @@ function Tr(e) {
2672
2666
  activeCameraId: le.activeDeviceId,
2673
2667
  isScreenShareEnabled: ae.isEnabled,
2674
2668
  screenPreviewEl: ae.previewEl,
2675
- isSpeakerMuted: De,
2669
+ isSpeakerMuted: Pe,
2676
2670
  allowCamera: R,
2677
2671
  allowScreenShare: W,
2678
2672
  allowTyping: z,
2679
2673
  languageMenuOpen: me,
2680
2674
  onToggleLanguageMenu: () => ge((h) => !h),
2681
- needsUserGesture: Pe,
2675
+ needsUserGesture: Te,
2682
2676
  canResume: g.canResume,
2683
- micError: Z.micError,
2677
+ micError: te.micError,
2684
2678
  error: g.error,
2685
2679
  avatarVideoContainerRef: St,
2686
2680
  agentVideoEl: g.videoElement,
2687
- micGateOpen: g.isControlled ? !0 : ke,
2681
+ micGateOpen: g.isControlled ? !0 : Ye,
2688
2682
  onConnect: () => void g.connect(),
2689
2683
  onDisconnect: () => g.disconnect(),
2690
- onRetry: hn,
2691
- onResumeAudio: pn,
2692
- onToggleMute: Z.toggleMute,
2684
+ onRetry: fn,
2685
+ onResumeAudio: un,
2686
+ onToggleMute: te.toggleMute,
2693
2687
  onToggleCamera: () => void le.toggle(),
2694
2688
  onSwitchCameraDevice: (h) => void le.switchDevice(h),
2695
2689
  onToggleScreenShare: () => void ae.toggle(),
2696
- onToggleSpeaker: ln,
2697
- onSendMessage: on,
2698
- onMinimize: fn,
2699
- onClose: At,
2700
- onClearMicError: Z.clearError
2690
+ onToggleSpeaker: rn,
2691
+ onSendMessage: nn,
2692
+ onMinimize: dn,
2693
+ onClose: Et,
2694
+ onClearMicError: te.clearError
2701
2695
  }
2702
2696
  )
2703
2697
  ]
2704
2698
  }
2705
2699
  ) : null;
2706
2700
  }
2707
- function Br(e) {
2708
- return /* @__PURE__ */ n(xn, { children: /* @__PURE__ */ n(Tr, { ...e }) });
2701
+ function Or(e) {
2702
+ return /* @__PURE__ */ n(wn, { children: /* @__PURE__ */ n(Mr, { ...e }) });
2709
2703
  }
2710
- const Wr = ({
2704
+ const qr = ({
2711
2705
  agentId: e,
2712
2706
  baseUrl: t,
2713
2707
  apiKey: r,
2714
2708
  mode: i,
2715
2709
  onAgentEvent: o,
2716
2710
  className: l,
2717
- style: d
2711
+ style: c
2718
2712
  }) => {
2719
- const u = E(null), f = E(null), y = E(o);
2713
+ const u = A(null), f = A(null), y = A(o);
2720
2714
  y.current = o;
2721
2715
  const b = k((s) => {
2722
2716
  var x;
2723
2717
  const a = s.detail;
2724
2718
  (x = y.current) == null || x.call(y, a);
2725
2719
  }, []);
2726
- return A(() => {
2720
+ return N(() => {
2727
2721
  const s = u.current;
2728
2722
  if (!s) return;
2729
2723
  const a = document.createElement("livelayer-widget");
2730
2724
  return a.setAttribute("agent-id", e), t && a.setAttribute("base-url", t), r && a.setAttribute("api-key", r), i && a.setAttribute("mode", i), a.addEventListener("agent-event", b), s.appendChild(a), f.current = a, () => {
2731
2725
  a.removeEventListener("agent-event", b), s.removeChild(a), f.current = null;
2732
2726
  };
2733
- }, [e]), A(() => {
2727
+ }, [e]), N(() => {
2734
2728
  f.current && (i ? f.current.setAttribute("mode", i) : f.current.removeAttribute("mode"));
2735
- }, [i]), /* @__PURE__ */ n("div", { ref: u, className: l, style: d });
2736
- }, Fr = _t(
2737
- function({ id: t, intent: r, as: i = "div", className: o, style: l, children: d }, u) {
2738
- return vn(
2729
+ }, [i]), /* @__PURE__ */ n("div", { ref: u, className: l, style: c });
2730
+ }, Br = _t(
2731
+ function({ id: t, intent: r, as: i = "div", className: o, style: l, children: c }, u) {
2732
+ return gn(
2739
2733
  i,
2740
2734
  {
2741
2735
  ref: u,
@@ -2744,10 +2738,10 @@ const Wr = ({
2744
2738
  className: o,
2745
2739
  style: l
2746
2740
  },
2747
- d
2741
+ c
2748
2742
  );
2749
2743
  }
2750
- ), Ur = _t(
2744
+ ), Wr = _t(
2751
2745
  function({ id: t, intent: r, children: i, ...o }, l) {
2752
2746
  return /* @__PURE__ */ n(
2753
2747
  "form",
@@ -2760,9 +2754,9 @@ const Wr = ({
2760
2754
  }
2761
2755
  );
2762
2756
  }
2763
- ), jr = _t(
2757
+ ), Fr = _t(
2764
2758
  function(t, r) {
2765
- const { name: i, label: o, labelClassName: l } = t, d = { name: i, "data-ll-field": i };
2759
+ const { name: i, label: o, labelClassName: l } = t, c = { name: i, "data-ll-field": i };
2766
2760
  let u;
2767
2761
  if ("as" in t && t.as === "textarea") {
2768
2762
  const { name: f, label: y, labelClassName: b, as: s, ...a } = t;
@@ -2770,7 +2764,7 @@ const Wr = ({
2770
2764
  "textarea",
2771
2765
  {
2772
2766
  ref: r,
2773
- ...d,
2767
+ ...c,
2774
2768
  ...a
2775
2769
  }
2776
2770
  );
@@ -2780,7 +2774,7 @@ const Wr = ({
2780
2774
  "select",
2781
2775
  {
2782
2776
  ref: r,
2783
- ...d,
2777
+ ...c,
2784
2778
  ...x,
2785
2779
  children: a
2786
2780
  }
@@ -2791,7 +2785,7 @@ const Wr = ({
2791
2785
  "input",
2792
2786
  {
2793
2787
  ref: r,
2794
- ...d,
2788
+ ...c,
2795
2789
  ...a
2796
2790
  }
2797
2791
  );
@@ -2802,60 +2796,60 @@ const Wr = ({
2802
2796
  ] });
2803
2797
  }
2804
2798
  );
2805
- let tn = 1;
2806
- function Vr({
2799
+ let Zt = 1;
2800
+ function Ur({
2807
2801
  onMount: e,
2808
2802
  defaultOpen: t = !1,
2809
2803
  storageKey: r = "ll-debug-open"
2810
2804
  }) {
2811
- const [i, o] = L(t), [l, d] = L([]), [u, f] = L(""), [y, b] = L(!1), s = E(/* @__PURE__ */ new Set()), a = E([]), x = E(y);
2812
- x.current = y, A(() => {
2805
+ const [i, o] = L(t), [l, c] = L([]), [u, f] = L(""), [y, b] = L(!1), s = A(/* @__PURE__ */ new Set()), a = A([]), x = A(y);
2806
+ x.current = y, N(() => {
2813
2807
  try {
2814
2808
  const v = localStorage.getItem(r);
2815
2809
  v === "1" && o(!0), v === "0" && o(!1);
2816
2810
  } catch {
2817
2811
  }
2818
- }, [r]), A(() => {
2812
+ }, [r]), N(() => {
2819
2813
  try {
2820
2814
  localStorage.setItem(r, i ? "1" : "0");
2821
2815
  } catch {
2822
2816
  }
2823
- }, [i, r]), A(() => {
2817
+ }, [i, r]), N(() => {
2824
2818
  const v = (w) => {
2825
2819
  (w.metaKey || w.ctrlKey) && w.shiftKey && w.key.toLowerCase() === "l" && (w.preventDefault(), o((O) => !O));
2826
2820
  };
2827
2821
  return window.addEventListener("keydown", v), () => window.removeEventListener("keydown", v);
2828
- }, []), A(() => {
2822
+ }, []), N(() => {
2829
2823
  const v = setInterval(() => {
2830
2824
  if (a.current.length === 0 || x.current) return;
2831
2825
  const w = a.current.splice(0, a.current.length);
2832
- d(
2826
+ c(
2833
2827
  (O) => [...w.reverse(), ...O].slice(0, 200)
2834
2828
  );
2835
2829
  }, 100);
2836
2830
  return () => clearInterval(v);
2837
2831
  }, []);
2838
- const N = E(!1);
2839
- if (A(() => {
2840
- !e || N.current || (N.current = !0, e((v) => {
2832
+ const E = A(!1);
2833
+ if (N(() => {
2834
+ !e || E.current || (E.current = !0, e((v) => {
2841
2835
  a.current.push({
2842
- id: tn++,
2836
+ id: Zt++,
2843
2837
  ts: Date.now(),
2844
2838
  kind: "event",
2845
2839
  type: v.eventName,
2846
2840
  data: v.data
2847
2841
  });
2848
2842
  }));
2849
- }, [e]), A(() => {
2843
+ }, [e]), N(() => {
2850
2844
  const v = console.warn, w = console.log, O = (I, q) => function(...m) {
2851
2845
  try {
2852
2846
  const R = typeof m[0] == "string" ? m[0] : "";
2853
2847
  R.startsWith("[LiveLayer]") && a.current.push({
2854
- id: tn++,
2848
+ id: Zt++,
2855
2849
  ts: Date.now(),
2856
2850
  kind: I,
2857
2851
  type: R.slice(0, 120),
2858
- data: { args: m.slice(1).map((W) => Dr(W)) }
2852
+ data: { args: m.slice(1).map((W) => Tr(W)) }
2859
2853
  });
2860
2854
  } catch {
2861
2855
  }
@@ -2952,7 +2946,7 @@ function Vr({
2952
2946
  {
2953
2947
  type: "button",
2954
2948
  onClick: () => {
2955
- d([]), a.current = [];
2949
+ c([]), a.current = [];
2956
2950
  },
2957
2951
  style: bt("transparent"),
2958
2952
  title: "Clear buffer",
@@ -3031,12 +3025,12 @@ function Vr({
3031
3025
  ]
3032
3026
  }
3033
3027
  ) : C.map((v) => /* @__PURE__ */ n(
3034
- Pr,
3028
+ Ir,
3035
3029
  {
3036
3030
  entry: v,
3037
3031
  expanded: s.current.has(v.id),
3038
3032
  onToggle: () => {
3039
- s.current.has(v.id) ? s.current.delete(v.id) : s.current.add(v.id), d((w) => [...w]);
3033
+ s.current.has(v.id) ? s.current.delete(v.id) : s.current.add(v.id), c((w) => [...w]);
3040
3034
  }
3041
3035
  },
3042
3036
  v.id
@@ -3047,7 +3041,7 @@ function Vr({
3047
3041
  }
3048
3042
  );
3049
3043
  }
3050
- function Pr({
3044
+ function Ir({
3051
3045
  entry: e,
3052
3046
  expanded: t,
3053
3047
  onToggle: r
@@ -3128,20 +3122,20 @@ function bt(e) {
3128
3122
  cursor: "pointer"
3129
3123
  };
3130
3124
  }
3131
- function Dr(e) {
3125
+ function Tr(e) {
3132
3126
  try {
3133
3127
  return e instanceof Error ? { message: e.message, stack: e.stack } : (JSON.stringify(e), e);
3134
3128
  } catch {
3135
3129
  return String(e);
3136
3130
  }
3137
3131
  }
3138
- function Yr() {
3132
+ function jr() {
3139
3133
  const [e, t] = L([]), r = k((o) => {
3140
3134
  t((l) => {
3141
- const d = l.findIndex((u) => u.id === o.id);
3142
- if (d >= 0) {
3135
+ const c = l.findIndex((u) => u.id === o.id);
3136
+ if (c >= 0) {
3143
3137
  const u = l.slice();
3144
- return u[d] = o, u;
3138
+ return u[c] = o, u;
3145
3139
  }
3146
3140
  return [...l, o];
3147
3141
  });
@@ -3154,33 +3148,33 @@ function Yr() {
3154
3148
  };
3155
3149
  }
3156
3150
  export {
3157
- Br as AvatarWidget,
3158
- xn as ErrorBoundary,
3159
- Vr as LiveLayerDebugPanel,
3160
- jr as LiveLayerField,
3161
- Ur as LiveLayerForm,
3162
- Fr as LiveLayerRegion,
3163
- Wr as LiveLayerWidget,
3164
- vr as clearPageContextCache,
3165
- Lr as clearRoutesCache,
3166
- yr as extractPageContext,
3167
- xr as extractRoutes,
3168
- Zt as getCachedPageContext,
3151
+ Or as AvatarWidget,
3152
+ wn as ErrorBoundary,
3153
+ Ur as LiveLayerDebugPanel,
3154
+ Fr as LiveLayerField,
3155
+ Wr as LiveLayerForm,
3156
+ Br as LiveLayerRegion,
3157
+ qr as LiveLayerWidget,
3158
+ gr as clearPageContextCache,
3159
+ xr as clearRoutesCache,
3160
+ mr as extractPageContext,
3161
+ wr as extractRoutes,
3162
+ Gt as getCachedPageContext,
3169
3163
  vt as getCachedRoutes,
3170
- jn as matchesPattern,
3171
- wr as normalizeRouteInput,
3172
- Vn as shouldRenderAtPath,
3173
- Rn as useAgentInfo,
3174
- Ln as useAudioLevel,
3175
- En as useCameraState,
3176
- Tn as useDisplayMode,
3177
- $n as useDisplayModePersistence,
3178
- Hn as useIsMobile,
3179
- kn as useLiveKitSession,
3180
- An as useMediaDevices,
3181
- Sn as useMicrophoneState,
3182
- qn as usePathname,
3183
- Yn as useRouteMatch,
3184
- Nn as useScreenShareState,
3185
- Yr as useTranscript
3164
+ Fn as matchesPattern,
3165
+ vr as normalizeRouteInput,
3166
+ Un as shouldRenderAtPath,
3167
+ Nn as useAgentInfo,
3168
+ xn as useAudioLevel,
3169
+ Sn as useCameraState,
3170
+ Mn as useDisplayMode,
3171
+ Pn as useDisplayModePersistence,
3172
+ $n as useIsMobile,
3173
+ _n as useLiveKitSession,
3174
+ En as useMediaDevices,
3175
+ kn as useMicrophoneState,
3176
+ Hn as usePathname,
3177
+ jn as useRouteMatch,
3178
+ Cn as useScreenShareState,
3179
+ jr as useTranscript
3186
3180
  };