@d-id/client-sdk 1.1.34 → 1.1.35-staging.170

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.js CHANGED
@@ -1,16 +1,16 @@
1
- var Ge = Object.defineProperty;
2
- var Ze = (e, t, i) => t in e ? Ge(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i;
3
- var fe = (e, t, i) => Ze(e, typeof t != "symbol" ? t + "" : t, i);
4
- class ve extends Error {
1
+ var Ze = Object.defineProperty;
2
+ var et = (e, t, i) => t in e ? Ze(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i;
3
+ var ge = (e, t, i) => et(e, typeof t != "symbol" ? t + "" : t, i);
4
+ class Se extends Error {
5
5
  constructor({ kind: i, description: n, error: s }) {
6
6
  super(JSON.stringify({ kind: i, description: n }));
7
- fe(this, "kind");
8
- fe(this, "description");
9
- fe(this, "error");
7
+ ge(this, "kind");
8
+ ge(this, "description");
9
+ ge(this, "error");
10
10
  this.kind = i, this.description = n, this.error = s;
11
11
  }
12
12
  }
13
- class et extends ve {
13
+ class tt extends Se {
14
14
  constructor(t, i) {
15
15
  super({
16
16
  kind: "ChatCreationFailed",
@@ -18,25 +18,25 @@ class et extends ve {
18
18
  });
19
19
  }
20
20
  }
21
- class tt extends ve {
21
+ class nt extends Se {
22
22
  constructor(t) {
23
23
  super({ kind: "ChatModeDowngraded", description: `Chat mode downgraded to ${t}` });
24
24
  }
25
25
  }
26
- class ue extends ve {
26
+ class le extends Se {
27
27
  constructor(i, n) {
28
28
  super({ kind: "ValidationError", description: i });
29
- fe(this, "key");
29
+ ge(this, "key");
30
30
  this.key = n;
31
31
  }
32
32
  }
33
- class nt extends ve {
33
+ class rt extends Se {
34
34
  constructor(t) {
35
35
  super({ kind: "WSError", description: t });
36
36
  }
37
37
  }
38
- var rt = /* @__PURE__ */ ((e) => (e.TRIAL = "trial", e.BASIC = "basic", e.ENTERPRISE = "enterprise", e.LITE = "lite", e.ADVANCED = "advanced", e))(rt || {}), it = /* @__PURE__ */ ((e) => (e.TRIAL = "deid-trial", e.PRO = "deid-pro", e.ENTERPRISE = "deid-enterprise", e.LITE = "deid-lite", e.ADVANCED = "deid-advanced", e.BUILD = "deid-api-build", e.LAUNCH = "deid-api-launch", e.SCALE = "deid-api-scale", e))(it || {}), at = /* @__PURE__ */ ((e) => (e.Created = "created", e.Started = "started", e.Done = "done", e.Error = "error", e.Rejected = "rejected", e.Ready = "ready", e))(at || {}), ot = /* @__PURE__ */ ((e) => (e.Unrated = "Unrated", e.Positive = "Positive", e.Negative = "Negative", e))(ot || {}), x = /* @__PURE__ */ ((e) => (e.Functional = "Functional", e.TextOnly = "TextOnly", e.Maintenance = "Maintenance", e.Playground = "Playground", e.DirectPlayback = "DirectPlayback", e.Off = "Off", e))(x || {}), G = /* @__PURE__ */ ((e) => (e.Embed = "embed", e.Query = "query", e.Partial = "partial", e.Answer = "answer", e.Transcribe = "transcribe", e.Complete = "done", e))(G || {}), st = /* @__PURE__ */ ((e) => (e.KnowledgeProcessing = "knowledge/processing", e.KnowledgeIndexing = "knowledge/indexing", e.KnowledgeFailed = "knowledge/error", e.KnowledgeDone = "knowledge/done", e))(st || {}), ct = /* @__PURE__ */ ((e) => (e.Knowledge = "knowledge", e.Document = "document", e.Record = "record", e))(ct || {}), dt = /* @__PURE__ */ ((e) => (e.Pdf = "pdf", e.Text = "text", e.Html = "html", e.Word = "word", e.Json = "json", e.Markdown = "markdown", e.Csv = "csv", e.Excel = "excel", e.Powerpoint = "powerpoint", e.Archive = "archive", e.Image = "image", e.Audio = "audio", e.Video = "video", e))(dt || {}), Ue = /* @__PURE__ */ ((e) => (e.Clip = "clip", e.Talk = "talk", e.Expressive = "expressive", e))(Ue || {});
39
- const hn = (e) => {
38
+ var it = /* @__PURE__ */ ((e) => (e.TRIAL = "trial", e.BASIC = "basic", e.ENTERPRISE = "enterprise", e.LITE = "lite", e.ADVANCED = "advanced", e))(it || {}), at = /* @__PURE__ */ ((e) => (e.TRIAL = "deid-trial", e.PRO = "deid-pro", e.ENTERPRISE = "deid-enterprise", e.LITE = "deid-lite", e.ADVANCED = "deid-advanced", e.BUILD = "deid-api-build", e.LAUNCH = "deid-api-launch", e.SCALE = "deid-api-scale", e))(at || {}), ot = /* @__PURE__ */ ((e) => (e.Created = "created", e.Started = "started", e.Done = "done", e.Error = "error", e.Rejected = "rejected", e.Ready = "ready", e))(ot || {}), st = /* @__PURE__ */ ((e) => (e.Unrated = "Unrated", e.Positive = "Positive", e.Negative = "Negative", e))(st || {}), B = /* @__PURE__ */ ((e) => (e.Functional = "Functional", e.TextOnly = "TextOnly", e.Maintenance = "Maintenance", e.Playground = "Playground", e.DirectPlayback = "DirectPlayback", e.Off = "Off", e))(B || {}), X = /* @__PURE__ */ ((e) => (e.Embed = "embed", e.Query = "query", e.Partial = "partial", e.Answer = "answer", e.Transcribe = "transcribe", e.Complete = "done", e))(X || {}), ct = /* @__PURE__ */ ((e) => (e.KnowledgeProcessing = "knowledge/processing", e.KnowledgeIndexing = "knowledge/indexing", e.KnowledgeFailed = "knowledge/error", e.KnowledgeDone = "knowledge/done", e))(ct || {}), dt = /* @__PURE__ */ ((e) => (e.Knowledge = "knowledge", e.Document = "document", e.Record = "record", e))(dt || {}), ut = /* @__PURE__ */ ((e) => (e.Pdf = "pdf", e.Text = "text", e.Html = "html", e.Word = "word", e.Json = "json", e.Markdown = "markdown", e.Csv = "csv", e.Excel = "excel", e.Powerpoint = "powerpoint", e.Archive = "archive", e.Image = "image", e.Audio = "audio", e.Video = "video", e))(ut || {}), Ve = /* @__PURE__ */ ((e) => (e.Clip = "clip", e.Talk = "talk", e.Expressive = "expressive", e))(Ve || {});
39
+ const pn = (e) => {
40
40
  switch (e) {
41
41
  case "clip":
42
42
  return "clip";
@@ -48,13 +48,13 @@ const hn = (e) => {
48
48
  throw new Error(`Unknown video type: ${e}`);
49
49
  }
50
50
  };
51
- var k = /* @__PURE__ */ ((e) => (e.Start = "START", e.Stop = "STOP", e))(k || {}), ie = /* @__PURE__ */ ((e) => (e.Strong = "STRONG", e.Weak = "WEAK", e.Unknown = "UNKNOWN", e))(ie || {}), O = /* @__PURE__ */ ((e) => (e.Idle = "IDLE", e.Loading = "LOADING", e.Talking = "TALKING", e))(O || {}), j = /* @__PURE__ */ ((e) => (e.ChatAnswer = "chat/answer", e.ChatPartial = "chat/partial", e.ChatAudioTranscribed = "chat/audio-transcribed", e.StreamDone = "stream/done", e.StreamStarted = "stream/started", e.StreamFailed = "stream/error", e.StreamReady = "stream/ready", e.StreamCreated = "stream/created", e.StreamInterrupt = "stream/interrupt", e.StreamVideoCreated = "stream-video/started", e.StreamVideoDone = "stream-video/done", e.StreamVideoError = "stream-video/error", e.StreamVideoRejected = "stream-video/rejected", e))(j || {}), D = /* @__PURE__ */ ((e) => (e.New = "new", e.Fail = "fail", e.Connected = "connected", e.Connecting = "connecting", e.Closed = "closed", e.Completed = "completed", e.Disconnected = "disconnected", e))(D || {}), ae = /* @__PURE__ */ ((e) => (e.Legacy = "legacy", e.Fluent = "fluent", e))(ae || {}), Ce = /* @__PURE__ */ ((e) => (e.Livekit = "livekit", e))(Ce || {}), ut = /* @__PURE__ */ ((e) => (e.Amazon = "amazon", e.AzureOpenAi = "azure-openai", e.Microsoft = "microsoft", e.Afflorithmics = "afflorithmics", e.Elevenlabs = "elevenlabs", e))(ut || {}), lt = /* @__PURE__ */ ((e) => (e.Public = "public", e.Premium = "premium", e.Private = "private", e))(lt || {});
52
- const ft = 45 * 1e3, mt = "X-Playground-Chat", ge = "https://api.d-id.com", gt = "wss://notifications.d-id.com", ht = "79f81a83a67430be2bc0fd61042b8faa", pt = (...e) => {
53
- }, Ve = (e) => new Promise((t) => setTimeout(t, e)), le = (e = 16) => {
51
+ var E = /* @__PURE__ */ ((e) => (e.Start = "START", e.Stop = "STOP", e))(E || {}), re = /* @__PURE__ */ ((e) => (e.Strong = "STRONG", e.Weak = "WEAK", e.Unknown = "UNKNOWN", e))(re || {}), V = /* @__PURE__ */ ((e) => (e.Idle = "IDLE", e.Loading = "LOADING", e.Talking = "TALKING", e))(V || {}), L = /* @__PURE__ */ ((e) => (e.ChatAnswer = "chat/answer", e.ChatPartial = "chat/partial", e.ChatAudioTranscribed = "chat/audio-transcribed", e.StreamDone = "stream/done", e.StreamStarted = "stream/started", e.StreamFailed = "stream/error", e.StreamReady = "stream/ready", e.StreamCreated = "stream/created", e.StreamInterrupt = "stream/interrupt", e.StreamVideoCreated = "stream-video/started", e.StreamVideoDone = "stream-video/done", e.StreamVideoError = "stream-video/error", e.StreamVideoRejected = "stream-video/rejected", e))(L || {}), I = /* @__PURE__ */ ((e) => (e.New = "new", e.Fail = "fail", e.Connected = "connected", e.Connecting = "connecting", e.Closed = "closed", e.Completed = "completed", e.Disconnected = "disconnected", e))(I || {}), ie = /* @__PURE__ */ ((e) => (e.Legacy = "legacy", e.Fluent = "fluent", e))(ie || {}), ke = /* @__PURE__ */ ((e) => (e.Livekit = "livekit", e))(ke || {}), lt = /* @__PURE__ */ ((e) => (e.Amazon = "amazon", e.AzureOpenAi = "azure-openai", e.Microsoft = "microsoft", e.Afflorithmics = "afflorithmics", e.Elevenlabs = "elevenlabs", e))(lt || {}), mt = /* @__PURE__ */ ((e) => (e.Public = "public", e.Premium = "premium", e.Private = "private", e))(mt || {});
52
+ const ft = 45 * 1e3, gt = "X-Playground-Chat", pe = "https://api.d-id.com", ht = "wss://notifications.d-id.com", pt = "79f81a83a67430be2bc0fd61042b8faa", wt = (...e) => {
53
+ }, We = (e) => new Promise((t) => setTimeout(t, e)), me = (e = 16) => {
54
54
  const t = new Uint8Array(e);
55
55
  return window.crypto.getRandomValues(t), Array.from(t, (i) => i.toString(16).padStart(2, "0")).join("").slice(0, 13);
56
- }, We = (e) => e.type === "clip" && e.presenter_id.startsWith("v2_") ? "clip_v2" : e.type, Ae = (e) => e === Ue.Expressive, wt = (e) => [x.TextOnly, x.Playground, x.Maintenance].includes(e), Oe = (e) => e && [x.DirectPlayback, x.Off].includes(e);
57
- function yt(e, t) {
56
+ }, Oe = (e) => e.type === "clip" && e.presenter_id.startsWith("v2_") ? "clip_v2" : e.type, Pe = (e) => e === Ve.Expressive, yt = (e) => [B.TextOnly, B.Playground, B.Maintenance].includes(e), He = (e) => e && [B.DirectPlayback, B.Off].includes(e);
57
+ function vt(e, t) {
58
58
  let i;
59
59
  return {
60
60
  promise: new Promise((s, o) => {
@@ -63,7 +63,7 @@ function yt(e, t) {
63
63
  clear: () => clearTimeout(i)
64
64
  };
65
65
  }
66
- async function Me(e, t) {
66
+ async function Ee(e, t) {
67
67
  const i = {
68
68
  limit: (t == null ? void 0 : t.limit) ?? 3,
69
69
  delayMs: (t == null ? void 0 : t.delayMs) ?? 0,
@@ -78,57 +78,57 @@ async function Me(e, t) {
78
78
  try {
79
79
  if (!i.timeout)
80
80
  return await e();
81
- const { promise: o, clear: c } = yt(i.timeout, i.timeoutErrorMessage), a = e().finally(c);
81
+ const { promise: o, clear: c } = vt(i.timeout, i.timeoutErrorMessage), a = e().finally(c);
82
82
  return await Promise.race([a, o]);
83
83
  } catch (o) {
84
84
  if (n = o, !i.shouldRetryFn(o) || s >= i.limit)
85
85
  throw o;
86
- await Ve(i.delayMs), i.onRetry(o);
86
+ await We(i.delayMs), i.onRetry(o);
87
87
  }
88
88
  throw n;
89
89
  }
90
- function Ee(e) {
90
+ function Ie(e) {
91
91
  if (e !== void 0)
92
92
  return window.localStorage.setItem("did_external_key_id", e), e;
93
93
  let t = window.localStorage.getItem("did_external_key_id");
94
94
  if (!t) {
95
- let i = le();
95
+ let i = me();
96
96
  window.localStorage.setItem("did_external_key_id", i), t = i;
97
97
  }
98
98
  return t;
99
99
  }
100
- let vt = le();
101
- function He(e, t) {
100
+ let Ct = me();
101
+ function qe(e, t) {
102
102
  if (e.type === "bearer")
103
103
  return `Bearer ${e.token}`;
104
104
  if (e.type === "basic")
105
105
  return `Basic ${btoa(`${e.username}:${e.password}`)}`;
106
106
  if (e.type === "key")
107
- return `Client-Key ${e.clientKey}.${Ee(t)}_${vt}`;
107
+ return `Client-Key ${e.clientKey}.${Ie(t)}_${Ct}`;
108
108
  throw new Error(`Unknown auth type: ${e}`);
109
109
  }
110
- const Ct = (e) => Me(e, {
110
+ const St = (e) => Ee(e, {
111
111
  limit: 3,
112
112
  delayMs: 1e3,
113
113
  timeout: 0,
114
114
  shouldRetryFn: (t) => t.status === 429
115
115
  });
116
- function Pe(e, t = ge, i, n) {
116
+ function Le(e, t = pe, i, n) {
117
117
  const s = async (o, c) => {
118
- const { skipErrorHandler: a, ...r } = c || {}, d = await Ct(
118
+ const { skipErrorHandler: a, ...r } = c || {}, d = await St(
119
119
  () => fetch(t + (o != null && o.startsWith("/") ? o : `/${o}`), {
120
120
  ...r,
121
121
  headers: {
122
122
  ...r.headers,
123
- Authorization: He(e, n),
123
+ Authorization: qe(e, n),
124
124
  "Content-Type": "application/json"
125
125
  }
126
126
  })
127
127
  );
128
128
  if (!d.ok) {
129
- let w = await d.text().catch(() => `Failed to fetch with status ${d.status}`);
130
- const p = new Error(w);
131
- throw i && !a && i(p, { url: o, options: r, headers: d.headers }), p;
129
+ let h = await d.text().catch(() => `Failed to fetch with status ${d.status}`);
130
+ const w = new Error(h);
131
+ throw i && !a && i(w, { url: o, options: r, headers: d.headers }), w;
132
132
  }
133
133
  return d.json();
134
134
  };
@@ -147,8 +147,8 @@ function Pe(e, t = ge, i, n) {
147
147
  }
148
148
  };
149
149
  }
150
- function St(e, t = ge, i, n) {
151
- const s = Pe(e, `${t}/agents`, i, n);
150
+ function kt(e, t = pe, i, n) {
151
+ const s = Le(e, `${t}/agents`, i, n);
152
152
  return {
153
153
  create(o, c) {
154
154
  return s.post("/", o, c);
@@ -185,7 +185,7 @@ function St(e, t = ge, i, n) {
185
185
  }
186
186
  };
187
187
  }
188
- function kt(e) {
188
+ function Rt(e) {
189
189
  var s, o, c, a;
190
190
  const t = () => /Mobi|Android/i.test(navigator.userAgent) ? "Mobile" : "Desktop", i = () => {
191
191
  const r = navigator.platform;
@@ -196,18 +196,18 @@ function kt(e) {
196
196
  isMobile: `${t() == "Mobile"}`,
197
197
  browser: navigator.userAgent,
198
198
  origin: window.location.origin,
199
- agentType: We(n),
199
+ agentType: Oe(n),
200
200
  agentVoice: {
201
201
  voiceId: (o = (s = e.presenter) == null ? void 0 : s.voice) == null ? void 0 : o.voice_id,
202
202
  provider: (a = (c = e.presenter) == null ? void 0 : c.voice) == null ? void 0 : a.type
203
203
  }
204
204
  };
205
205
  }
206
- function Rt(e) {
206
+ function Dt(e) {
207
207
  var i, n, s, o, c, a;
208
208
  const t = (i = e.llm) == null ? void 0 : i.prompt_customization;
209
209
  return {
210
- agentType: We(e.presenter),
210
+ agentType: Oe(e.presenter),
211
211
  owner_id: e.owner_id ?? "",
212
212
  promptVersion: (n = e.llm) == null ? void 0 : n.prompt_version,
213
213
  behavior: {
@@ -226,35 +226,35 @@ function Rt(e) {
226
226
  ...e.access === "public" ? { from: "agent-template" } : {}
227
227
  };
228
228
  }
229
- const Dt = (e) => e.reduce((t, i) => t + i, 0), Be = (e) => Dt(e) / e.length;
230
- function Mt(e, t, i) {
231
- var r, d, w;
229
+ const Mt = (e) => e.reduce((t, i) => t + i, 0), xe = (e) => Mt(e) / e.length;
230
+ function Et(e, t, i) {
231
+ var r, d, h;
232
232
  const { event: n, ...s } = e, { template: o } = (t == null ? void 0 : t.llm) || {}, { language: c } = ((r = t == null ? void 0 : t.presenter) == null ? void 0 : r.voice) || {};
233
233
  return {
234
234
  ...s,
235
235
  llm: { ...s.llm, template: o },
236
236
  script: { ...s.script, provider: { ...(d = s == null ? void 0 : s.script) == null ? void 0 : d.provider, language: c } },
237
- stitch: (t == null ? void 0 : t.presenter.type) === "talk" ? (w = t == null ? void 0 : t.presenter) == null ? void 0 : w.stitch : void 0,
237
+ stitch: (t == null ? void 0 : t.presenter.type) === "talk" ? (h = t == null ? void 0 : t.presenter) == null ? void 0 : h.stitch : void 0,
238
238
  ...i
239
239
  };
240
240
  }
241
- function xe(e) {
241
+ function Fe(e) {
242
242
  "requestIdleCallback" in window ? requestIdleCallback(e, { timeout: 2e3 }) : setTimeout(e, 0);
243
243
  }
244
- let Re = {};
245
- const Et = "https://api-js.mixpanel.com/track/?verbose=1&ip=1";
246
- function It(e) {
244
+ let De = {};
245
+ const It = "https://api-js.mixpanel.com/track/?verbose=1&ip=1";
246
+ function Tt(e) {
247
247
  const t = window != null && window.hasOwnProperty("DID_AGENTS_API") ? "agents-ui" : "agents-sdk";
248
248
  return {
249
249
  token: e.token || "testKey",
250
- distinct_id: Ee(e.externalId),
250
+ distinct_id: Ie(e.externalId),
251
251
  agentId: e.agentId,
252
252
  additionalProperties: {
253
- id: Ee(e.externalId),
253
+ id: Ie(e.externalId),
254
254
  ...e.mixpanelAdditionalProperties || {}
255
255
  },
256
256
  isEnabled: e.isEnabled ?? !0,
257
- getRandom: le,
257
+ getRandom: me,
258
258
  enrich(i) {
259
259
  this.additionalProperties = { ...this.additionalProperties, ...i };
260
260
  },
@@ -287,18 +287,18 @@ function It(e) {
287
287
  ])
288
288
  })
289
289
  };
290
- return fetch(Et, {
290
+ return fetch(It, {
291
291
  ...r,
292
292
  keepalive: !0
293
293
  }).catch((d) => console.error("Analytics tracking error:", d)), Promise.resolve();
294
294
  },
295
295
  linkTrack(i, n, s, o) {
296
- Re[i] || (Re[i] = { events: {}, resolvedDependencies: [] }), o.includes(s) || o.push(s);
297
- const c = Re[i];
296
+ De[i] || (De[i] = { events: {}, resolvedDependencies: [] }), o.includes(s) || o.push(s);
297
+ const c = De[i];
298
298
  if (c.events[s] = { props: n }, c.resolvedDependencies.push(s), o.every(
299
299
  (r) => c.resolvedDependencies.includes(r)
300
300
  )) {
301
- const r = o.reduce((d, w) => c.events[w] ? { ...d, ...c.events[w].props } : d, {});
301
+ const r = o.reduce((d, h) => c.events[h] ? { ...d, ...c.events[h].props } : d, {});
302
302
  this.track(i, r), c.resolvedDependencies = c.resolvedDependencies.filter(
303
303
  (d) => !o.includes(d)
304
304
  ), o.forEach((d) => {
@@ -308,7 +308,7 @@ function It(e) {
308
308
  }
309
309
  };
310
310
  }
311
- function Le() {
311
+ function be() {
312
312
  let e = 0;
313
313
  return {
314
314
  reset: () => e = 0,
@@ -316,22 +316,22 @@ function Le() {
316
316
  get: (t = !1) => t ? Date.now() - e : e
317
317
  };
318
318
  }
319
- const te = Le(), Ie = Le(), Fe = Le();
320
- function qe(e) {
321
- return e === x.Playground ? { headers: { [mt]: "true" } } : {};
319
+ const ne = be(), Te = be(), ze = be();
320
+ function Qe(e) {
321
+ return e === B.Playground ? { headers: { [gt]: "true" } } : {};
322
322
  }
323
- async function Qe(e, t, i, n, s = !1, o) {
323
+ async function Xe(e, t, i, n, s = !1, o) {
324
324
  try {
325
- return !o && !Oe(n) && (o = await t.newChat(e.id, { persist: s }, qe(n)), i.track("agent-chat", {
325
+ return !o && !He(n) && (o = await t.newChat(e.id, { persist: s }, Qe(n)), i.track("agent-chat", {
326
326
  event: "created",
327
327
  chatId: o.id,
328
328
  mode: n
329
329
  })), { chat: o, chatMode: (o == null ? void 0 : o.chat_mode) ?? n };
330
330
  } catch (c) {
331
- throw Tt(c) === "InsufficientCreditsError" ? new Error("InsufficientCreditsError") : new Error("Cannot create new chat");
331
+ throw _t(c) === "InsufficientCreditsError" ? new Error("InsufficientCreditsError") : new Error("Cannot create new chat");
332
332
  }
333
333
  }
334
- const Tt = (e) => {
334
+ const _t = (e) => {
335
335
  try {
336
336
  const t = JSON.parse(e.message);
337
337
  return t == null ? void 0 : t.kind;
@@ -339,19 +339,19 @@ const Tt = (e) => {
339
339
  return "UnknownError";
340
340
  }
341
341
  };
342
- function _t(e) {
342
+ function At(e) {
343
343
  return e && e.length > 0 ? e : [];
344
344
  }
345
- function At(e, t, i, n) {
346
- const s = Pe(e, `${t}/v2/agents/${i}`, n);
345
+ function Pt(e, t, i, n) {
346
+ const s = Le(e, `${t}/v2/agents/${i}`, n);
347
347
  return {
348
348
  async createStream(o) {
349
349
  return s.post("/sessions", o);
350
350
  }
351
351
  };
352
352
  }
353
- const Xe = (e, t) => (i, n) => e && console.log(`[${t}] ${i}`, n ?? "");
354
- function Pt(e, t, i) {
353
+ const Ye = (e, t) => (i, n) => e && console.log(`[${t}] ${i}`, n ?? "");
354
+ function Lt(e, t, i) {
355
355
  const n = (t.timestamp - e.timestamp) / 1e3;
356
356
  return {
357
357
  duration: n,
@@ -371,7 +371,7 @@ function Pt(e, t, i) {
371
371
  lowFpsCount: i
372
372
  };
373
373
  }
374
- function Lt(e) {
374
+ function bt(e) {
375
375
  return e.filter(
376
376
  (t) => t.freezeCount > 0 || t.framesPerSecond < 21 || t.framesDropped > 0 || t.packetsLost > 0
377
377
  ).map((t) => {
@@ -382,7 +382,7 @@ function Lt(e) {
382
382
  };
383
383
  });
384
384
  }
385
- function bt(e) {
385
+ function jt(e) {
386
386
  let t = "", i = 0;
387
387
  for (const n of e.values()) {
388
388
  if (n && n.type === "codec" && n.mimeType.startsWith("video") && (t = n.mimeType.split("/")[1]), n && n.type === "candidate-pair") {
@@ -412,7 +412,7 @@ function bt(e) {
412
412
  }
413
413
  return {};
414
414
  }
415
- function ze(e, t, i) {
415
+ function Ke(e, t, i) {
416
416
  const n = e.map((r, d) => d === 0 ? i ? {
417
417
  timestamp: r.timestamp,
418
418
  duration: 0,
@@ -464,32 +464,32 @@ function ze(e, t, i) {
464
464
  framesPerSecond: r.framesPerSecond,
465
465
  freezeCount: r.freezeCount - e[d - 1].freezeCount,
466
466
  freezeDuration: r.freezeDuration - e[d - 1].freezeDuration
467
- }), s = Lt(n), o = s.reduce((r, d) => r + (d.causes.includes("low fps") ? 1 : 0), 0), c = n.filter((r) => !!r.avgJitterDelayInInterval).map((r) => r.avgJitterDelayInInterval), a = n.filter((r) => !!r.rtt).map((r) => r.rtt);
467
+ }), s = bt(n), o = s.reduce((r, d) => r + (d.causes.includes("low fps") ? 1 : 0), 0), c = n.filter((r) => !!r.avgJitterDelayInInterval).map((r) => r.avgJitterDelayInInterval), a = n.filter((r) => !!r.rtt).map((r) => r.rtt);
468
468
  return {
469
469
  webRTCStats: {
470
470
  anomalies: s,
471
471
  minRtt: Math.min(...a),
472
- avgRtt: Be(a),
472
+ avgRtt: xe(a),
473
473
  maxRtt: Math.max(...a),
474
- aggregateReport: Pt(e[0], e[e.length - 1], o),
474
+ aggregateReport: Lt(e[0], e[e.length - 1], o),
475
475
  minJitterDelayInInterval: Math.min(...c),
476
476
  maxJitterDelayInInterval: Math.max(...c),
477
- avgJitterDelayInInterval: Be(c)
477
+ avgJitterDelayInInterval: xe(c)
478
478
  },
479
479
  codec: e[0].codec,
480
480
  resolution: `${e[0].frameWidth}x${e[0].frameHeight}`
481
481
  };
482
482
  }
483
- const ye = 100, jt = Math.max(Math.ceil(400 / ye), 1), $t = 0.25, Bt = 0.28;
484
- function xt() {
483
+ const Ce = 100, $t = Math.max(Math.ceil(400 / Ce), 1), Bt = 0.25, xt = 0.28;
484
+ function Ft() {
485
485
  let e = 0, t, i, n = 0;
486
486
  return (s) => {
487
487
  for (const o of s.values())
488
488
  if (o && o.type === "inbound-rtp" && o.kind === "video") {
489
489
  const c = o.jitterBufferDelay, a = o.jitterBufferEmittedCount;
490
490
  if (i && a > i) {
491
- const w = c - t, p = a - i;
492
- n = w / p;
491
+ const h = c - t, w = a - i;
492
+ n = h / w;
493
493
  }
494
494
  t = c, i = a;
495
495
  const r = o.framesDecoded, d = r - e > 0;
@@ -498,32 +498,32 @@ function xt() {
498
498
  return { isReceiving: !1, avgJitterDelayInInterval: n };
499
499
  };
500
500
  }
501
- function Ye(e, t, i, n, s) {
502
- let o = null, c = [], a, r = 0, d = !1, w = ie.Unknown, p = ie.Unknown, u = 0, M = 0;
503
- const B = xt();
504
- async function A() {
501
+ function Ge(e, t, i, n, s) {
502
+ let o = null, c = [], a, r = 0, d = !1, h = re.Unknown, w = re.Unknown, u = 0, v = 0;
503
+ const x = Ft();
504
+ async function b() {
505
505
  const C = await e();
506
506
  if (!C)
507
507
  return;
508
- const { isReceiving: P, avgJitterDelayInInterval: J, freezeCount: S } = B(C), H = bt(C);
509
- if (P)
510
- r = 0, u = S - M, p = J < $t ? ie.Strong : J > Bt && u > 1 ? ie.Weak : w, p !== w && (s == null || s(p), w = p, M += u, u = 0), d || (n == null || n(k.Start), a = c[c.length - 1], c = [], d = !0), c.push(H);
511
- else if (d && (r++, r >= jt)) {
512
- const N = ze(c, ye, a);
513
- n == null || n(k.Stop, N), t() || i(), M = S, d = !1;
508
+ const { isReceiving: R, avgJitterDelayInInterval: F, freezeCount: S } = x(C), W = jt(C);
509
+ if (R)
510
+ r = 0, u = S - v, w = F < Bt ? re.Strong : F > xt && u > 1 ? re.Weak : h, w !== h && (s == null || s(w), h = w, v += u, u = 0), d || (n == null || n(E.Start), a = c[c.length - 1], c = [], d = !0), c.push(W);
511
+ else if (d && (r++, r >= $t)) {
512
+ const J = Ke(c, Ce, a);
513
+ n == null || n(E.Stop, J), t() || i(), v = S, d = !1;
514
514
  }
515
515
  }
516
516
  return {
517
517
  start: () => {
518
- o || (o = setInterval(A, ye));
518
+ o || (o = setInterval(b, Ce));
519
519
  },
520
520
  stop: () => {
521
521
  o && (clearInterval(o), o = null);
522
522
  },
523
- getReport: () => ze(c, ye, a)
523
+ getReport: () => Ke(c, Ce, a)
524
524
  };
525
525
  }
526
- async function De() {
526
+ async function Me() {
527
527
  try {
528
528
  return await import("./livekit-client.esm-C1GRQdZY.js");
529
529
  } catch {
@@ -532,374 +532,375 @@ async function De() {
532
532
  );
533
533
  }
534
534
  }
535
- const Ft = {
536
- excellent: ie.Strong,
537
- good: ie.Strong,
538
- poor: ie.Weak,
539
- lost: ie.Unknown,
540
- unknown: ie.Unknown
541
- }, me = JSON.stringify({
535
+ const zt = {
536
+ excellent: re.Strong,
537
+ good: re.Strong,
538
+ poor: re.Weak,
539
+ lost: re.Unknown,
540
+ unknown: re.Unknown
541
+ }, he = JSON.stringify({
542
542
  kind: "InternalServerError",
543
543
  description: "Stream Error"
544
544
  });
545
- var be = /* @__PURE__ */ ((e) => (e.Chat = "lk.chat", e.Speak = "did.speak", e.Interrupt = "did.interrupt", e))(be || {});
546
- function Te(e, t, i) {
545
+ var je = /* @__PURE__ */ ((e) => (e.Chat = "lk.chat", e.Speak = "did.speak", e.Interrupt = "did.interrupt", e))(je || {});
546
+ function _e(e, t, i) {
547
547
  var n, s;
548
- throw t("Failed to connect to LiveKit room:", e), (n = i.onConnectionStateChange) == null || n.call(i, D.Fail), (s = i.onError) == null || s.call(i, e, { sessionId: "" }), e;
548
+ throw t("Failed to connect to LiveKit room:", e), (n = i.onConnectionStateChange) == null || n.call(i, I.Fail), (s = i.onError) == null || s.call(i, e, { sessionId: "" }), e;
549
549
  }
550
- async function zt(e, t, i) {
551
- var je;
552
- const n = Xe(i.debug || !1, "LiveKitStreamingManager"), { Room: s, RoomEvent: o, ConnectionState: c } = await De(), { callbacks: a, auth: r, baseURL: d, analytics: w, microphoneStream: p } = i;
553
- let u = null, M = !1;
554
- const B = ae.Fluent;
555
- let A = null, C = null, P = null, J = !1;
550
+ async function Kt(e, t, i) {
551
+ var $e;
552
+ const n = Ye(i.debug || !1, "LiveKitStreamingManager"), { Room: s, RoomEvent: o, ConnectionState: c } = await Me(), { callbacks: a, auth: r, baseURL: d, analytics: h, microphoneStream: w } = i;
553
+ let u = null, v = !1;
554
+ const x = ie.Fluent;
555
+ let b = null, C = null, R = null, F = !1;
556
556
  u = new s({
557
557
  adaptiveStream: !1,
558
558
  // Must be false to use mediaStreamTrack directly
559
559
  dynacast: !0
560
560
  });
561
561
  let S = null;
562
- const H = 2e4;
563
- let N = O.Idle;
564
- const q = At(r, d || ge, e, a.onError);
565
- let F, ee, f;
562
+ const W = 2e4;
563
+ let J = V.Idle;
564
+ const O = Pt(r, d || pe, e, a.onError);
565
+ let z, ee, te;
566
566
  try {
567
- const l = await q.createStream({
568
- transport_provider: Ce.Livekit,
567
+ const m = await O.createStream({
568
+ transport_provider: ke.Livekit,
569
569
  chat_persist: t.chat_persist ?? !0
570
- }), { id: g, session_token: v, session_url: E } = l;
571
- (je = a.onStreamCreated) == null || je.call(a, { session_id: g, stream_id: g, agent_id: e }), F = g, ee = v, f = E, await u.prepareConnection(f, ee);
572
- } catch (l) {
573
- Te(l, n, a);
570
+ }), { id: g, session_token: y, session_url: _ } = m;
571
+ ($e = a.onStreamCreated) == null || $e.call(a, { session_id: g, stream_id: g, agent_id: e }), z = g, ee = y, te = _, await u.prepareConnection(te, ee);
572
+ } catch (m) {
573
+ _e(m, n, a);
574
574
  }
575
- if (!f || !ee || !F)
575
+ if (!te || !ee || !z)
576
576
  return Promise.reject(new Error("Failed to initialize LiveKit stream"));
577
- u.on(o.ConnectionStateChanged, R).on(o.ConnectionQualityChanged, _).on(o.ActiveSpeakersChanged, L).on(o.ParticipantConnected, I).on(o.ParticipantDisconnected, K).on(o.TrackSubscribed, W).on(o.TrackUnsubscribed, Q).on(o.DataReceived, b).on(o.MediaDevicesError, z).on(o.TranscriptionReceived, y).on(o.EncryptionError, X).on(o.TrackSubscriptionFailed, oe);
578
- function y(l, g) {
579
- var v;
580
- g != null && g.isLocal && (te.update(), N === O.Talking && ((v = a.onInterruptDetected) == null || v.call(a, { type: "audio" }), N = O.Idle));
577
+ u.on(o.ConnectionStateChanged, D).on(o.ConnectionQualityChanged, k).on(o.ActiveSpeakersChanged, K).on(o.ParticipantConnected, P).on(o.ParticipantDisconnected, T).on(o.TrackSubscribed, N).on(o.TrackUnsubscribed, H).on(o.DataReceived, q).on(o.MediaDevicesError, j).on(o.TranscriptionReceived, l).on(o.EncryptionError, $).on(o.TrackSubscriptionFailed, Y);
578
+ function l(m, g) {
579
+ var y;
580
+ g != null && g.isLocal && (ne.update(), J === V.Talking && ((y = a.onInterruptDetected) == null || y.call(a, { type: "audio" }), J = V.Idle));
581
581
  }
582
582
  try {
583
- await u.connect(f, ee), n("LiveKit room joined successfully"), S = setTimeout(() => {
584
- var l;
585
- n("Track subscription timeout - no track subscribed within 30 seconds after connect"), S = null, w.track("connectivity-error", {
583
+ await u.connect(te, ee), n("LiveKit room joined successfully"), S = setTimeout(() => {
584
+ var m;
585
+ n("Track subscription timeout - no track subscribed within 30 seconds after connect"), S = null, h.track("connectivity-error", {
586
586
  error: "Track subscription timeout",
587
- sessionId: F
588
- }), (l = a.onError) == null || l.call(a, new Error("Track subscription timeout"), { sessionId: F }), Se();
589
- }, H);
590
- } catch (l) {
591
- Te(l, n, a);
587
+ sessionId: z
588
+ }), (m = a.onError) == null || m.call(a, new Error("Track subscription timeout"), { sessionId: z }), de();
589
+ }, W);
590
+ } catch (m) {
591
+ _e(m, n, a);
592
592
  }
593
- w.enrich({
594
- "stream-type": B
593
+ h.enrich({
594
+ "stream-type": x
595
595
  });
596
- function R(l) {
597
- var g, v, E, T;
598
- switch (n("Connection state changed:", l), l) {
596
+ function D(m) {
597
+ var g, y, _, A;
598
+ switch (n("Connection state changed:", m), m) {
599
599
  case c.Connecting:
600
- n("CALLBACK: onConnectionStateChange(Connecting)"), (g = a.onConnectionStateChange) == null || g.call(a, D.Connecting);
600
+ n("CALLBACK: onConnectionStateChange(Connecting)"), (g = a.onConnectionStateChange) == null || g.call(a, I.Connecting);
601
601
  break;
602
602
  case c.Connected:
603
- n("LiveKit room connected successfully"), M = !0;
603
+ n("LiveKit room connected successfully"), v = !0;
604
604
  break;
605
605
  case c.Disconnected:
606
- n("LiveKit room disconnected"), M = !1, J = !1, (v = a.onConnectionStateChange) == null || v.call(a, D.Disconnected);
606
+ n("LiveKit room disconnected"), v = !1, F = !1, (y = a.onConnectionStateChange) == null || y.call(a, I.Disconnected);
607
607
  break;
608
608
  case c.Reconnecting:
609
- n("LiveKit room reconnecting..."), (E = a.onConnectionStateChange) == null || E.call(a, D.Connecting);
609
+ n("LiveKit room reconnecting..."), (_ = a.onConnectionStateChange) == null || _.call(a, I.Connecting);
610
610
  break;
611
611
  case c.SignalReconnecting:
612
- n("LiveKit room signal reconnecting..."), (T = a.onConnectionStateChange) == null || T.call(a, D.Connecting);
612
+ n("LiveKit room signal reconnecting..."), (A = a.onConnectionStateChange) == null || A.call(a, I.Connecting);
613
613
  break;
614
614
  }
615
615
  }
616
- function _(l, g) {
617
- var v;
618
- n("Connection quality:", l), g != null && g.isLocal && ((v = a.onConnectivityStateChange) == null || v.call(a, Ft[l]));
616
+ function k(m, g) {
617
+ var y;
618
+ n("Connection quality:", m), g != null && g.isLocal && ((y = a.onConnectivityStateChange) == null || y.call(a, zt[m]));
619
619
  }
620
- function L(l) {
621
- n("Active speakers changed:", l);
620
+ function K(m) {
621
+ n("Active speakers changed:", m);
622
622
  }
623
- function I(l) {
624
- n("Participant connected:", l.identity);
623
+ function P(m) {
624
+ n("Participant connected:", m.identity);
625
625
  }
626
- function K(l) {
627
- n("Participant disconnected:", l.identity), Se();
626
+ function T(m) {
627
+ n("Participant disconnected:", m.identity), de();
628
628
  }
629
- function W(l, g, v) {
630
- var T, Y, Z, se;
631
- n(`Track subscribed: ${l.kind} from ${v.identity}`), S && (clearTimeout(S), S = null, n("Track subscription timeout cleared"));
632
- const E = l.mediaStreamTrack;
633
- if (!E) {
634
- n(`No mediaStreamTrack available for ${l.kind}`);
629
+ function N(m, g, y) {
630
+ var A, Q, Z, ce;
631
+ n(`Track subscribed: ${m.kind} from ${y.identity}`), S && (clearTimeout(S), S = null, n("Track subscription timeout cleared"));
632
+ const _ = m.mediaStreamTrack;
633
+ if (!_) {
634
+ n(`No mediaStreamTrack available for ${m.kind}`);
635
635
  return;
636
636
  }
637
- A ? (A.addTrack(E), n(`Added ${l.kind} track to shared MediaStream`)) : (A = new MediaStream([E]), n(`Created shared MediaStream with ${l.kind} track`)), l.kind === "video" && ((T = a.onStreamReady) == null || T.call(a), n("CALLBACK: onSrcObjectReady"), (Y = a.onSrcObjectReady) == null || Y.call(a, A), J || (J = !0, n("CALLBACK: onConnectionStateChange(Connected)"), (Z = a.onConnectionStateChange) == null || Z.call(a, D.Connected)), n("CALLBACK: onVideoStateChange(Start)"), (se = a.onVideoStateChange) == null || se.call(a, k.Start), P = Ye(
638
- () => l.getRTCStatsReport(),
639
- () => M,
640
- pt,
641
- (we, ke) => {
642
- n(`Video state change: ${we}`);
637
+ b ? (b.addTrack(_), n(`Added ${m.kind} track to shared MediaStream`)) : (b = new MediaStream([_]), n(`Created shared MediaStream with ${m.kind} track`)), m.kind === "video" && ((A = a.onStreamReady) == null || A.call(a), n("CALLBACK: onSrcObjectReady"), (Q = a.onSrcObjectReady) == null || Q.call(a, b), F || (F = !0, n("CALLBACK: onConnectionStateChange(Connected)"), (Z = a.onConnectionStateChange) == null || Z.call(a, I.Connected)), n("CALLBACK: onVideoStateChange(Start)"), (ce = a.onVideoStateChange) == null || ce.call(a, E.Start), R = Ge(
638
+ () => m.getRTCStatsReport(),
639
+ () => v,
640
+ wt,
641
+ (ve, Re) => {
642
+ n(`Video state change: ${ve}`);
643
643
  }
644
- ), P.start());
644
+ ), R.start());
645
645
  }
646
- function Q(l, g, v) {
647
- var E;
648
- if (n(`Track unsubscribed: ${l.kind} from ${v.identity}`), l.kind === "video") {
649
- const T = P == null ? void 0 : P.getReport();
650
- P == null || P.stop(), P = null, (E = a.onVideoStateChange) == null || E.call(a, k.Stop, T);
646
+ function H(m, g, y) {
647
+ var _;
648
+ if (n(`Track unsubscribed: ${m.kind} from ${y.identity}`), m.kind === "video") {
649
+ const A = R == null ? void 0 : R.getReport();
650
+ R == null || R.stop(), R = null, (_ = a.onVideoStateChange) == null || _.call(a, E.Stop, A);
651
651
  }
652
652
  }
653
- function b(l, g, v, E) {
654
- var Y, Z, se, we, ke;
655
- const T = new TextDecoder().decode(l);
656
- n("Data received:", T);
653
+ function q(m, g, y, _) {
654
+ var Q, Z, ce, ve, Re, Be;
655
+ const A = new TextDecoder().decode(m);
656
+ n("Data received:", A);
657
657
  try {
658
- const ne = JSON.parse(T), de = E || ne.subject;
659
- if (de === j.ChatAnswer) {
660
- const re = G.Answer;
661
- (Y = a.onMessage) == null || Y.call(a, re, {
662
- event: re,
663
- ...ne
658
+ const U = JSON.parse(A), ue = _ || U.subject;
659
+ if (ue === L.ChatAnswer) {
660
+ const ae = X.Answer;
661
+ (Q = a.onMessage) == null || Q.call(a, ae, {
662
+ event: ae,
663
+ ...U
664
664
  });
665
- } else if (de === j.ChatPartial) {
666
- const re = G.Partial;
667
- (Z = a.onMessage) == null || Z.call(a, re, {
668
- event: re,
669
- ...ne
665
+ } else if (ue === L.ChatPartial) {
666
+ const ae = X.Partial;
667
+ (Z = a.onMessage) == null || Z.call(a, ae, {
668
+ event: ae,
669
+ ...U
670
670
  });
671
- } else if ([j.StreamVideoCreated, j.StreamVideoDone].includes(de)) {
672
- N = de === j.StreamVideoCreated ? O.Talking : O.Idle, (se = a.onAgentActivityStateChange) == null || se.call(a, N);
673
- const re = (ne == null ? void 0 : ne.role) || (g == null ? void 0 : g.identity) || "datachannel";
674
- (we = a.onMessage) == null || we.call(a, de, {
675
- [re]: ne
676
- });
677
- } else if (de === j.ChatAudioTranscribed) {
678
- const re = G.Transcribe;
679
- (ke = a.onMessage) == null || ke.call(a, re, {
680
- event: re,
681
- ...ne
671
+ } else if ([L.StreamVideoCreated, L.StreamVideoDone].includes(ue)) {
672
+ J = ue === L.StreamVideoCreated ? V.Talking : V.Idle, (ce = a.onAgentActivityStateChange) == null || ce.call(a, J);
673
+ const fe = { [(U == null ? void 0 : U.role) || (g == null ? void 0 : g.identity) || "datachannel"]: U };
674
+ i.debug && ((ve = U == null ? void 0 : U.metadata) != null && ve.sentiment) && (fe.sentiment = {
675
+ id: U.metadata.sentiment.id,
676
+ name: U.metadata.sentiment.sentiment
677
+ }), (Re = a.onMessage) == null || Re.call(a, ue, fe);
678
+ } else if (ue === L.ChatAudioTranscribed) {
679
+ const ae = X.Transcribe;
680
+ (Be = a.onMessage) == null || Be.call(a, ae, {
681
+ event: ae,
682
+ ...U
682
683
  }), queueMicrotask(() => {
683
- var $e;
684
- ($e = a.onAgentActivityStateChange) == null || $e.call(a, O.Loading);
684
+ var fe;
685
+ (fe = a.onAgentActivityStateChange) == null || fe.call(a, V.Loading);
685
686
  });
686
687
  }
687
- } catch (ne) {
688
- n("Failed to parse data channel message:", ne);
688
+ } catch (U) {
689
+ n("Failed to parse data channel message:", U);
689
690
  }
690
691
  }
691
- function z(l) {
692
+ function j(m) {
692
693
  var g;
693
- n("Media devices error:", l), (g = a.onError) == null || g.call(a, new Error(me), { sessionId: F });
694
+ n("Media devices error:", m), (g = a.onError) == null || g.call(a, new Error(he), { sessionId: z });
694
695
  }
695
- function X(l) {
696
+ function $(m) {
696
697
  var g;
697
- n("Encryption error:", l), (g = a.onError) == null || g.call(a, new Error(me), { sessionId: F });
698
+ n("Encryption error:", m), (g = a.onError) == null || g.call(a, new Error(he), { sessionId: z });
698
699
  }
699
- function oe(l, g, v) {
700
- n("Track subscription failed:", { trackSid: l, participant: g, reason: v });
700
+ function Y(m, g, y) {
701
+ n("Track subscription failed:", { trackSid: m, participant: g, reason: y });
701
702
  }
702
- async function U(l) {
703
+ async function oe(m) {
703
704
  if (!u) return null;
704
- const { Track: g } = await De(), v = u.localParticipant.audioTrackPublications;
705
- if (v) {
706
- for (const [E, T] of v)
707
- if (T.source === g.Source.Microphone && T.track) {
708
- const Z = T.track.mediaStreamTrack;
709
- if (Z === l || Z && Z.id === l.id)
710
- return T;
705
+ const { Track: g } = await Me(), y = u.localParticipant.audioTrackPublications;
706
+ if (y) {
707
+ for (const [_, A] of y)
708
+ if (A.source === g.Source.Microphone && A.track) {
709
+ const Z = A.track.mediaStreamTrack;
710
+ if (Z === m || Z && Z.id === m.id)
711
+ return A;
711
712
  }
712
713
  }
713
714
  return null;
714
715
  }
715
- function m(l) {
716
+ function p(m) {
716
717
  if (!C || !C.track)
717
718
  return !1;
718
719
  const g = C.track.mediaStreamTrack;
719
- return g !== l && (g == null ? void 0 : g.id) !== l.id;
720
+ return g !== m && (g == null ? void 0 : g.id) !== m.id;
720
721
  }
721
- async function h(l) {
722
- var Y, Z;
723
- if (!M || !u)
722
+ async function f(m) {
723
+ var Q, Z;
724
+ if (!v || !u)
724
725
  throw n("Room is not connected, cannot publish microphone stream"), new Error("Room is not connected");
725
- const g = l.getAudioTracks();
726
+ const g = m.getAudioTracks();
726
727
  if (g.length === 0) {
727
728
  n("No audio track found in the provided MediaStream");
728
729
  return;
729
730
  }
730
- const v = g[0], { Track: E } = await De(), T = await U(v);
731
- if (T) {
731
+ const y = g[0], { Track: _ } = await Me(), A = await oe(y);
732
+ if (A) {
732
733
  n("Microphone track is already published, skipping", {
733
- trackId: v.id,
734
- publishedTrackId: (Z = (Y = T.track) == null ? void 0 : Y.mediaStreamTrack) == null ? void 0 : Z.id
735
- }), C = T;
734
+ trackId: y.id,
735
+ publishedTrackId: (Z = (Q = A.track) == null ? void 0 : Q.mediaStreamTrack) == null ? void 0 : Z.id
736
+ }), C = A;
736
737
  return;
737
738
  }
738
- m(v) && (n("Unpublishing existing microphone track before publishing new one"), await $()), n("Publishing microphone track from provided MediaStream", { trackId: v.id });
739
+ p(y) && (n("Unpublishing existing microphone track before publishing new one"), await M()), n("Publishing microphone track from provided MediaStream", { trackId: y.id });
739
740
  try {
740
- C = await u.localParticipant.publishTrack(v, {
741
- source: E.Source.Microphone
741
+ C = await u.localParticipant.publishTrack(y, {
742
+ source: _.Source.Microphone
742
743
  }), n("Microphone track published successfully", { trackSid: C.trackSid });
743
- } catch (se) {
744
- throw n("Failed to publish microphone track:", se), se;
744
+ } catch (ce) {
745
+ throw n("Failed to publish microphone track:", ce), ce;
745
746
  }
746
747
  }
747
- async function $() {
748
+ async function M() {
748
749
  if (!(!C || !C.track))
749
750
  try {
750
751
  u && (await u.localParticipant.unpublishTrack(C.track), n("Microphone track unpublished"));
751
- } catch (l) {
752
- n("Error unpublishing microphone track:", l);
752
+ } catch (m) {
753
+ n("Error unpublishing microphone track:", m);
753
754
  } finally {
754
755
  C = null;
755
756
  }
756
757
  }
757
- function V() {
758
- A && (A.getTracks().forEach((l) => l.stop()), A = null);
758
+ function G() {
759
+ b && (b.getTracks().forEach((m) => m.stop()), b = null);
759
760
  }
760
- async function ce(l, g) {
761
- var v, E;
762
- if (!M || !u) {
763
- n("Room is not connected for sending messages"), (v = a.onError) == null || v.call(a, new Error(me), {
764
- sessionId: F
761
+ async function se(m, g) {
762
+ var y, _;
763
+ if (!v || !u) {
764
+ n("Room is not connected for sending messages"), (y = a.onError) == null || y.call(a, new Error(he), {
765
+ sessionId: z
765
766
  });
766
767
  return;
767
768
  }
768
769
  try {
769
- await u.localParticipant.sendText(l, { topic: g }), n("Message sent successfully:", l);
770
- } catch (T) {
771
- n("Failed to send message:", T), (E = a.onError) == null || E.call(a, new Error(me), { sessionId: F });
770
+ await u.localParticipant.sendText(m, { topic: g }), n("Message sent successfully:", m);
771
+ } catch (A) {
772
+ n("Failed to send message:", A), (_ = a.onError) == null || _.call(a, new Error(he), { sessionId: z });
772
773
  }
773
774
  }
774
- async function he(l) {
775
+ async function we(m) {
775
776
  var g;
776
777
  try {
777
- const E = JSON.parse(l).topic;
778
- return ce("", E);
779
- } catch (v) {
780
- n("Failed to send data channel message:", v), (g = a.onError) == null || g.call(a, new Error(me), { sessionId: F });
778
+ const _ = JSON.parse(m).topic;
779
+ return se("", _);
780
+ } catch (y) {
781
+ n("Failed to send data channel message:", y), (g = a.onError) == null || g.call(a, new Error(he), { sessionId: z });
781
782
  }
782
783
  }
783
- function pe(l) {
784
- return ce(
785
- l,
784
+ function ye(m) {
785
+ return se(
786
+ m,
786
787
  "lk.chat"
787
788
  /* Chat */
788
789
  );
789
790
  }
790
- async function Se() {
791
- var l, g;
792
- S && (clearTimeout(S), S = null), u && (await $(), await u.disconnect()), V(), M = !1, J = !1, (l = a.onConnectionStateChange) == null || l.call(a, D.Disconnected), (g = a.onAgentActivityStateChange) == null || g.call(a, O.Idle), N = O.Idle;
791
+ async function de() {
792
+ var m, g;
793
+ S && (clearTimeout(S), S = null), u && (await M(), await u.disconnect()), G(), v = !1, F = !1, (m = a.onConnectionStateChange) == null || m.call(a, I.Disconnected), (g = a.onAgentActivityStateChange) == null || g.call(a, V.Idle), J = V.Idle;
793
794
  }
794
795
  return {
795
- speak(l) {
796
- const g = typeof l == "string" ? l : JSON.stringify(l);
797
- return ce(
796
+ speak(m) {
797
+ const g = typeof m == "string" ? m : JSON.stringify(m);
798
+ return se(
798
799
  g,
799
800
  "did.speak"
800
801
  /* Speak */
801
802
  );
802
803
  },
803
- disconnect: Se,
804
+ disconnect: de,
804
805
  async reconnect() {
805
- var l, g;
806
+ var m, g;
806
807
  if ((u == null ? void 0 : u.state) === c.Connected) {
807
808
  n("Room is already connected");
808
809
  return;
809
810
  }
810
- if (!u || !f || !ee)
811
+ if (!u || !te || !ee)
811
812
  throw n("Cannot reconnect: missing room, URL or token"), new Error("Cannot reconnect: session not available");
812
- n("Reconnecting to LiveKit room, state:", u.state), J = !1, (l = a.onConnectionStateChange) == null || l.call(a, D.Connecting);
813
+ n("Reconnecting to LiveKit room, state:", u.state), F = !1, (m = a.onConnectionStateChange) == null || m.call(a, I.Connecting);
813
814
  try {
814
- if (await u.connect(f, ee), n("Room reconnected"), M = !0, u.remoteParticipants.size === 0) {
815
- if (n("Waiting for agent to join..."), !await new Promise((E) => {
816
- const T = setTimeout(() => {
817
- u == null || u.off(o.ParticipantConnected, Y), E(!1);
818
- }, 5e3), Y = () => {
819
- clearTimeout(T), u == null || u.off(o.ParticipantConnected, Y), E(!0);
815
+ if (await u.connect(te, ee), n("Room reconnected"), v = !0, u.remoteParticipants.size === 0) {
816
+ if (n("Waiting for agent to join..."), !await new Promise((_) => {
817
+ const A = setTimeout(() => {
818
+ u == null || u.off(o.ParticipantConnected, Q), _(!1);
819
+ }, 5e3), Q = () => {
820
+ clearTimeout(A), u == null || u.off(o.ParticipantConnected, Q), _(!0);
820
821
  };
821
- u == null || u.on(o.ParticipantConnected, Y);
822
+ u == null || u.on(o.ParticipantConnected, Q);
822
823
  }))
823
824
  throw n("Agent did not join within timeout"), await u.disconnect(), new Error("Agent did not rejoin the room");
824
825
  n("Agent joined");
825
826
  }
826
- } catch (v) {
827
- throw n("Failed to reconnect:", v), (g = a.onConnectionStateChange) == null || g.call(a, D.Fail), v;
827
+ } catch (y) {
828
+ throw n("Failed to reconnect:", y), (g = a.onConnectionStateChange) == null || g.call(a, I.Fail), y;
828
829
  }
829
830
  },
830
- sendDataChannelMessage: he,
831
- sendTextMessage: pe,
832
- publishMicrophoneStream: h,
833
- unpublishMicrophoneStream: $,
834
- sessionId: F,
835
- streamId: F,
836
- streamType: B,
831
+ sendDataChannelMessage: we,
832
+ sendTextMessage: ye,
833
+ publishMicrophoneStream: f,
834
+ unpublishMicrophoneStream: M,
835
+ sessionId: z,
836
+ streamId: z,
837
+ streamType: x,
837
838
  interruptAvailable: !0,
838
839
  triggersAvailable: !1
839
840
  };
840
841
  }
841
842
  const Nt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
842
843
  __proto__: null,
843
- DataChannelTopic: be,
844
- createLiveKitStreamingManager: zt,
845
- handleInitError: Te
844
+ DataChannelTopic: je,
845
+ createLiveKitStreamingManager: Kt,
846
+ handleInitError: _e
846
847
  }, Symbol.toStringTag, { value: "Module" }));
847
- function Kt(e, t, i) {
848
+ function Jt(e, t, i) {
848
849
  if (!e)
849
850
  throw new Error("Please connect to the agent first");
850
851
  if (!e.interruptAvailable)
851
852
  throw new Error("Interrupt is not enabled for this stream");
852
- if (t !== ae.Fluent)
853
+ if (t !== ie.Fluent)
853
854
  throw new Error("Interrupt only available for Fluent streams");
854
855
  if (!i)
855
856
  throw new Error("No active video to interrupt");
856
857
  }
857
- async function Jt(e, t) {
858
+ async function Ut(e, t) {
858
859
  const i = {
859
- type: j.StreamInterrupt,
860
+ type: L.StreamInterrupt,
860
861
  videoId: t,
861
862
  timestamp: Date.now()
862
863
  };
863
864
  e.sendDataChannelMessage(JSON.stringify(i));
864
865
  }
865
- async function Ut(e) {
866
+ async function Vt(e) {
866
867
  const t = {
867
- topic: be.Interrupt
868
+ topic: je.Interrupt
868
869
  };
869
870
  e.sendDataChannelMessage(JSON.stringify(t));
870
871
  }
871
- function Vt(e) {
872
+ function Wt(e) {
872
873
  return new Promise((t, i) => {
873
- const { callbacks: n, host: s, auth: o, externalId: c } = e, { onMessage: a = null, onOpen: r = null, onClose: d = null, onError: w = null } = n || {}, p = new WebSocket(`${s}?authorization=${encodeURIComponent(He(o, c))}`);
874
- p.onmessage = a, p.onclose = d, p.onerror = (u) => {
875
- console.error(u), w == null || w("Websocket failed to connect", u), i(u);
876
- }, p.onopen = (u) => {
877
- r == null || r(u), t(p);
874
+ const { callbacks: n, host: s, auth: o, externalId: c } = e, { onMessage: a = null, onOpen: r = null, onClose: d = null, onError: h = null } = n || {}, w = new WebSocket(`${s}?authorization=${encodeURIComponent(qe(o, c))}`);
875
+ w.onmessage = a, w.onclose = d, w.onerror = (u) => {
876
+ console.error(u), h == null || h("Websocket failed to connect", u), i(u);
877
+ }, w.onopen = (u) => {
878
+ r == null || r(u), t(w);
878
879
  };
879
880
  });
880
881
  }
881
- async function Wt(e) {
882
+ async function Ot(e) {
882
883
  const { retries: t = 1 } = e;
883
884
  let i = null;
884
885
  for (let n = 0; (i == null ? void 0 : i.readyState) !== WebSocket.OPEN; n++)
885
886
  try {
886
- i = await Vt(e);
887
+ i = await Wt(e);
887
888
  } catch (s) {
888
889
  if (n === t)
889
890
  throw s;
890
- await Ve(n * 500);
891
+ await We(n * 500);
891
892
  }
892
893
  return i;
893
894
  }
894
- async function Ot(e, t, i, n) {
895
- const s = i != null && i.onMessage ? [i.onMessage] : [], o = await Wt({
895
+ async function Ht(e, t, i, n) {
896
+ const s = i != null && i.onMessage ? [i.onMessage] : [], o = await Ot({
896
897
  auth: e,
897
898
  host: t,
898
899
  externalId: n,
899
900
  callbacks: {
900
901
  onError: (c) => {
901
902
  var a;
902
- return (a = i.onError) == null ? void 0 : a.call(i, new nt(c));
903
+ return (a = i.onError) == null ? void 0 : a.call(i, new rt(c));
903
904
  },
904
905
  onMessage(c) {
905
906
  const a = JSON.parse(c.data);
@@ -913,7 +914,7 @@ async function Ot(e, t, i, n) {
913
914
  subscribeToEvents: (c) => s.push(c)
914
915
  };
915
916
  }
916
- function Ht(e) {
917
+ function qt(e) {
917
918
  if (e.answer !== void 0)
918
919
  return e.answer;
919
920
  let t = 0, i = "";
@@ -921,7 +922,7 @@ function Ht(e) {
921
922
  i += e[t++];
922
923
  return i;
923
924
  }
924
- function qt(e, t, i) {
925
+ function Qt(e, t, i) {
925
926
  if (!e.content)
926
927
  return;
927
928
  const n = t.messages[t.messages.length - 1];
@@ -935,17 +936,17 @@ function qt(e, t, i) {
935
936
  };
936
937
  t.messages.push(s), i == null || i([...t.messages], "user");
937
938
  }
938
- function Qt(e, t, i, n, s) {
939
- if (e === G.Transcribe && t.content) {
940
- qt(t, n, s);
939
+ function Xt(e, t, i, n, s) {
940
+ if (e === X.Transcribe && t.content) {
941
+ Qt(t, n, s);
941
942
  return;
942
943
  }
943
- if (!(e === G.Partial || e === G.Answer))
944
+ if (!(e === X.Partial || e === X.Answer))
944
945
  return;
945
946
  const o = n.messages[n.messages.length - 1];
946
947
  let c;
947
948
  if (o != null && o.transcribed && o.role === "user")
948
- e === G.Answer && t.content, c = {
949
+ e === X.Answer && t.content, c = {
949
950
  id: t.id || `assistant-${Date.now()}`,
950
951
  role: t.role || "assistant",
951
952
  content: t.content || "",
@@ -956,41 +957,48 @@ function Qt(e, t, i, n, s) {
956
957
  else
957
958
  return;
958
959
  const { content: a, sequence: r } = t;
959
- e === G.Partial ? i[r] = a : i.answer = a;
960
- const d = Ht(i);
961
- (c.content !== d || e === G.Answer) && (c.content = d, s == null || s([...n.messages], e));
960
+ e === X.Partial ? i[r] = a : i.answer = a;
961
+ const d = qt(i);
962
+ (c.content !== d || e === X.Answer) && (c.content = d, s == null || s([...n.messages], e));
962
963
  }
963
- function Xt(e, t, i, n, s) {
964
+ function Yt(e, t, i, n, s) {
964
965
  let o = {};
965
- const c = () => o = {}, a = (r, d) => {
966
- var w, p;
967
- d === "user" && c(), (p = (w = i.callbacks).onNewMessage) == null || p.call(w, r, d);
966
+ const c = () => o = {};
967
+ let a = "answer";
968
+ const r = (d, h) => {
969
+ var w, u;
970
+ h === "user" && c(), a = h, (u = (w = i.callbacks).onNewMessage) == null || u.call(w, d, h);
968
971
  };
969
972
  return {
970
973
  clearQueue: c,
971
- onMessage: (r, d) => {
972
- var w, p;
973
- if ("content" in d) {
974
- const u = r === j.ChatAnswer ? G.Answer : r === j.ChatAudioTranscribed ? G.Transcribe : r;
975
- Qt(u, d, o, t, a), u === G.Answer && e.track("agent-message-received", {
974
+ onMessage: (d, h) => {
975
+ var w, u;
976
+ if ("content" in h) {
977
+ const v = d === L.ChatAnswer ? X.Answer : d === L.ChatAudioTranscribed ? X.Transcribe : d;
978
+ Xt(v, h, o, t, r), v === X.Answer && e.track("agent-message-received", {
976
979
  messages: t.messages.length,
977
980
  mode: t.chatMode
978
981
  });
979
982
  } else {
980
- const u = j, M = [u.StreamVideoDone, u.StreamVideoError, u.StreamVideoRejected], B = [u.StreamFailed, u.StreamVideoError, u.StreamVideoRejected], A = Mt(d, n, { mode: t.chatMode });
981
- if (r = r, r === u.StreamVideoCreated)
982
- e.linkTrack("agent-video", A, u.StreamVideoCreated, ["start"]);
983
- else if (M.includes(r)) {
984
- const C = r.split("/")[1];
985
- B.includes(r) ? e.track("agent-video", { ...A, event: C }) : e.linkTrack("agent-video", { ...A, event: C }, r, ["done"]);
983
+ const v = L, x = [v.StreamVideoDone, v.StreamVideoError, v.StreamVideoRejected], b = [v.StreamFailed, v.StreamVideoError, v.StreamVideoRejected], C = Et(h, n, { mode: t.chatMode });
984
+ if (d = d, d === v.StreamVideoCreated && (e.linkTrack("agent-video", C, v.StreamVideoCreated, ["start"]), h.sentiment)) {
985
+ const R = t.messages[t.messages.length - 1];
986
+ if ((R == null ? void 0 : R.role) === "assistant") {
987
+ const F = { ...R, sentiment: h.sentiment };
988
+ t.messages[t.messages.length - 1] = F, r == null || r([...t.messages], a);
989
+ }
990
+ }
991
+ if (x.includes(d)) {
992
+ const R = d.split("/")[1];
993
+ b.includes(d) ? e.track("agent-video", { ...C, event: R }) : e.linkTrack("agent-video", { ...C, event: R }, d, ["done"]);
986
994
  }
987
- B.includes(r) && ((p = (w = i.callbacks).onError) == null || p.call(w, new Error(`Stream failed with event ${r}`), { data: d })), d.event === u.StreamDone && s();
995
+ b.includes(d) && ((u = (w = i.callbacks).onError) == null || u.call(w, new Error(`Stream failed with event ${d}`), { data: h })), h.event === v.StreamDone && s();
988
996
  }
989
997
  }
990
998
  };
991
999
  }
992
- function Yt(e, t, i, n) {
993
- const s = Pe(e, `${t}/agents/${i}`, n);
1000
+ function Gt(e, t, i, n) {
1001
+ const s = Le(e, `${t}/agents/${i}`, n);
994
1002
  return {
995
1003
  createStream(o, c) {
996
1004
  return s.post("/streams", o, { signal: c });
@@ -1026,28 +1034,28 @@ function Yt(e, t, i, n) {
1026
1034
  }
1027
1035
  };
1028
1036
  }
1029
- const Gt = (window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection).bind(window);
1037
+ const Zt = (window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection).bind(window);
1030
1038
  function Ne(e) {
1031
1039
  switch (e) {
1032
1040
  case "connected":
1033
- return D.Connected;
1041
+ return I.Connected;
1034
1042
  case "checking":
1035
- return D.Connecting;
1043
+ return I.Connecting;
1036
1044
  case "failed":
1037
- return D.Fail;
1045
+ return I.Fail;
1038
1046
  case "new":
1039
- return D.New;
1047
+ return I.New;
1040
1048
  case "closed":
1041
- return D.Closed;
1049
+ return I.Closed;
1042
1050
  case "disconnected":
1043
- return D.Disconnected;
1051
+ return I.Disconnected;
1044
1052
  case "completed":
1045
- return D.Completed;
1053
+ return I.Completed;
1046
1054
  default:
1047
- return D.New;
1055
+ return I.New;
1048
1056
  }
1049
1057
  }
1050
- const Zt = (e) => (t) => {
1058
+ const en = (e) => (t) => {
1051
1059
  const [i, n = ""] = t.split(/:(.+)/);
1052
1060
  try {
1053
1061
  const s = JSON.parse(n);
@@ -1056,16 +1064,16 @@ const Zt = (e) => (t) => {
1056
1064
  return e("Failed to parse data channel message, returning data as string", { subject: i, rawData: n, error: s }), { subject: i, data: n };
1057
1065
  }
1058
1066
  };
1059
- function en({
1067
+ function tn({
1060
1068
  statsSignal: e,
1061
1069
  dataChannelSignal: t,
1062
1070
  onVideoStateChange: i,
1063
1071
  report: n,
1064
1072
  log: s
1065
1073
  }) {
1066
- e === k.Start && t === k.Start ? (s("CALLBACK: onVideoStateChange(Start)"), i == null || i(k.Start)) : e === k.Stop && t === k.Stop && (s("CALLBACK: onVideoStateChange(Stop)"), i == null || i(k.Stop, n));
1074
+ e === E.Start && t === E.Start ? (s("CALLBACK: onVideoStateChange(Start)"), i == null || i(E.Start)) : e === E.Stop && t === E.Stop && (s("CALLBACK: onVideoStateChange(Stop)"), i == null || i(E.Stop, n));
1067
1075
  }
1068
- function tn({
1076
+ function nn({
1069
1077
  statsSignal: e,
1070
1078
  dataChannelSignal: t,
1071
1079
  onVideoStateChange: i,
@@ -1073,9 +1081,9 @@ function tn({
1073
1081
  report: s,
1074
1082
  log: o
1075
1083
  }) {
1076
- e === k.Start ? (o("CALLBACK: onVideoStateChange(Start)"), i == null || i(k.Start)) : e === k.Stop && (o("CALLBACK: onVideoStateChange(Stop)"), i == null || i(k.Stop, s)), t === k.Start ? n == null || n(O.Talking) : t === k.Stop && (n == null || n(O.Idle));
1084
+ e === E.Start ? (o("CALLBACK: onVideoStateChange(Start)"), i == null || i(E.Start)) : e === E.Stop && (o("CALLBACK: onVideoStateChange(Stop)"), i == null || i(E.Stop, s)), t === E.Start ? n == null || n(V.Talking) : t === E.Stop && (n == null || n(V.Idle));
1077
1085
  }
1078
- function Ke({
1086
+ function Je({
1079
1087
  statsSignal: e,
1080
1088
  dataChannelSignal: t,
1081
1089
  onVideoStateChange: i,
@@ -1084,7 +1092,7 @@ function Ke({
1084
1092
  report: o,
1085
1093
  log: c
1086
1094
  }) {
1087
- s === ae.Legacy ? en({ statsSignal: e, dataChannelSignal: t, onVideoStateChange: i, report: o, log: c }) : s === ae.Fluent && tn({
1095
+ s === ie.Legacy ? tn({ statsSignal: e, dataChannelSignal: t, onVideoStateChange: i, report: o, log: c }) : s === ie.Fluent && nn({
1088
1096
  statsSignal: e,
1089
1097
  dataChannelSignal: t,
1090
1098
  onVideoStateChange: i,
@@ -1093,188 +1101,188 @@ function Ke({
1093
1101
  log: c
1094
1102
  });
1095
1103
  }
1096
- async function nn(e, t, { debug: i = !1, callbacks: n, auth: s, baseURL: o = ge, analytics: c }, a) {
1097
- var U;
1098
- const r = Xe(i, "WebRTCStreamingManager"), d = Zt(r);
1099
- let w = !1, p = !1, u = k.Stop, M = k.Stop;
1100
- const { startConnection: B, sendStreamRequest: A, close: C, createStream: P, addIceCandidate: J } = Yt(
1104
+ async function rn(e, t, { debug: i = !1, callbacks: n, auth: s, baseURL: o = pe, analytics: c }, a) {
1105
+ var oe;
1106
+ const r = Ye(i, "WebRTCStreamingManager"), d = en(r);
1107
+ let h = !1, w = !1, u = E.Stop, v = E.Stop;
1108
+ const { startConnection: x, sendStreamRequest: b, close: C, createStream: R, addIceCandidate: F } = Gt(
1101
1109
  s,
1102
1110
  o,
1103
1111
  e,
1104
1112
  n.onError
1105
1113
  ), {
1106
1114
  id: S,
1107
- offer: H,
1108
- ice_servers: N,
1109
- session_id: q,
1110
- fluent: F,
1115
+ offer: W,
1116
+ ice_servers: J,
1117
+ session_id: O,
1118
+ fluent: z,
1111
1119
  interrupt_enabled: ee,
1112
- triggers_enabled: f
1113
- } = await P(t, a);
1114
- (U = n.onStreamCreated) == null || U.call(n, { stream_id: S, session_id: q, agent_id: e });
1115
- const y = new Gt({ iceServers: N }), R = y.createDataChannel("JanusDataChannel");
1116
- if (!q)
1120
+ triggers_enabled: te
1121
+ } = await R(t, a);
1122
+ (oe = n.onStreamCreated) == null || oe.call(n, { stream_id: S, session_id: O, agent_id: e });
1123
+ const l = new Zt({ iceServers: J }), D = l.createDataChannel("JanusDataChannel");
1124
+ if (!O)
1117
1125
  throw new Error("Could not create session_id");
1118
- const _ = F ? ae.Fluent : ae.Legacy;
1126
+ const k = z ? ie.Fluent : ie.Legacy;
1119
1127
  c.enrich({
1120
- "stream-type": _
1128
+ "stream-type": k
1121
1129
  });
1122
- const L = t.stream_warmup && !F, I = () => w, K = () => {
1123
- var m;
1124
- w = !0, p && (r("CALLBACK: onConnectionStateChange(Connected)"), (m = n.onConnectionStateChange) == null || m.call(n, D.Connected));
1125
- }, W = Ye(
1126
- () => y.getStats(),
1127
- I,
1128
- K,
1129
- (m, h) => Ke({
1130
- statsSignal: M = m,
1131
- dataChannelSignal: _ === ae.Legacy ? u : void 0,
1130
+ const K = t.stream_warmup && !z, P = () => h, T = () => {
1131
+ var p;
1132
+ h = !0, w && (r("CALLBACK: onConnectionStateChange(Connected)"), (p = n.onConnectionStateChange) == null || p.call(n, I.Connected));
1133
+ }, N = Ge(
1134
+ () => l.getStats(),
1135
+ P,
1136
+ T,
1137
+ (p, f) => Je({
1138
+ statsSignal: v = p,
1139
+ dataChannelSignal: k === ie.Legacy ? u : void 0,
1132
1140
  onVideoStateChange: n.onVideoStateChange,
1133
1141
  onAgentActivityStateChange: n.onAgentActivityStateChange,
1134
- report: h,
1135
- streamType: _,
1142
+ report: f,
1143
+ streamType: k,
1136
1144
  log: r
1137
1145
  }),
1138
- (m) => {
1139
- var h;
1140
- return (h = n.onConnectivityStateChange) == null ? void 0 : h.call(n, m);
1146
+ (p) => {
1147
+ var f;
1148
+ return (f = n.onConnectivityStateChange) == null ? void 0 : f.call(n, p);
1141
1149
  }
1142
1150
  );
1143
- W.start(), y.onicecandidate = (m) => {
1144
- var h;
1145
- r("peerConnection.onicecandidate", m);
1151
+ N.start(), l.onicecandidate = (p) => {
1152
+ var f;
1153
+ r("peerConnection.onicecandidate", p);
1146
1154
  try {
1147
- m.candidate && m.candidate.sdpMid && m.candidate.sdpMLineIndex !== null ? J(
1155
+ p.candidate && p.candidate.sdpMid && p.candidate.sdpMLineIndex !== null ? F(
1148
1156
  S,
1149
1157
  {
1150
- candidate: m.candidate.candidate,
1151
- sdpMid: m.candidate.sdpMid,
1152
- sdpMLineIndex: m.candidate.sdpMLineIndex
1158
+ candidate: p.candidate.candidate,
1159
+ sdpMid: p.candidate.sdpMid,
1160
+ sdpMLineIndex: p.candidate.sdpMLineIndex
1153
1161
  },
1154
- q,
1162
+ O,
1155
1163
  a
1156
- ) : J(S, { candidate: null }, q, a);
1157
- } catch ($) {
1158
- (h = n.onError) == null || h.call(n, $, { streamId: S });
1164
+ ) : F(S, { candidate: null }, O, a);
1165
+ } catch (M) {
1166
+ (f = n.onError) == null || f.call(n, M, { streamId: S });
1159
1167
  }
1160
- }, R.onopen = () => {
1161
- p = !0, (!L || w) && K();
1168
+ }, D.onopen = () => {
1169
+ w = !0, (!K || h) && T();
1162
1170
  };
1163
- const Q = (m) => {
1164
- var h;
1165
- (h = n.onVideoIdChange) == null || h.call(n, m);
1171
+ const H = (p) => {
1172
+ var f;
1173
+ (f = n.onVideoIdChange) == null || f.call(n, p);
1166
1174
  };
1167
- function b(m, h) {
1168
- if (m === j.StreamStarted && typeof h == "object" && "metadata" in h) {
1169
- const $ = h.metadata;
1170
- Q($.videoId);
1175
+ function q(p, f) {
1176
+ if (p === L.StreamStarted && typeof f == "object" && "metadata" in f) {
1177
+ const M = f.metadata;
1178
+ H(M.videoId);
1171
1179
  }
1172
- m === j.StreamDone && Q(null), u = m === j.StreamStarted ? k.Start : k.Stop, Ke({
1173
- statsSignal: _ === ae.Legacy ? M : void 0,
1180
+ p === L.StreamDone && H(null), u = p === L.StreamStarted ? E.Start : E.Stop, Je({
1181
+ statsSignal: k === ie.Legacy ? v : void 0,
1174
1182
  dataChannelSignal: u,
1175
1183
  onVideoStateChange: n.onVideoStateChange,
1176
1184
  onAgentActivityStateChange: n.onAgentActivityStateChange,
1177
- streamType: _,
1185
+ streamType: k,
1178
1186
  log: r
1179
1187
  });
1180
1188
  }
1181
- function z(m, h) {
1182
- var V;
1183
- const $ = typeof h == "string" ? h : h == null ? void 0 : h.metadata;
1184
- $ && c.enrich({ streamMetadata: $ }), (V = n.onStreamReady) == null || V.call(n);
1189
+ function j(p, f) {
1190
+ var G;
1191
+ const M = typeof f == "string" ? f : f == null ? void 0 : f.metadata;
1192
+ M && c.enrich({ streamMetadata: M }), (G = n.onStreamReady) == null || G.call(n);
1185
1193
  }
1186
- const X = {
1187
- [j.StreamStarted]: b,
1188
- [j.StreamDone]: b,
1189
- [j.StreamReady]: z
1194
+ const $ = {
1195
+ [L.StreamStarted]: q,
1196
+ [L.StreamDone]: q,
1197
+ [L.StreamReady]: j
1190
1198
  };
1191
- R.onmessage = (m) => {
1192
- var V;
1193
- const { subject: h, data: $ } = d(m.data);
1194
- (V = X[h]) == null || V.call(X, h, $);
1195
- }, y.oniceconnectionstatechange = () => {
1196
- var h;
1197
- r("peerConnection.oniceconnectionstatechange => " + y.iceConnectionState);
1198
- const m = Ne(y.iceConnectionState);
1199
- m !== D.Connected && ((h = n.onConnectionStateChange) == null || h.call(n, m));
1200
- }, y.ontrack = (m) => {
1201
- var h;
1202
- r("peerConnection.ontrack", m), r("CALLBACK: onSrcObjectReady"), (h = n.onSrcObjectReady) == null || h.call(n, m.streams[0]);
1203
- }, await y.setRemoteDescription(H), r("set remote description OK");
1204
- const oe = await y.createAnswer();
1205
- return r("create answer OK"), await y.setLocalDescription(oe), r("set local description OK"), await B(S, oe, q, a), r("start connection OK"), {
1199
+ D.onmessage = (p) => {
1200
+ var G;
1201
+ const { subject: f, data: M } = d(p.data);
1202
+ (G = $[f]) == null || G.call($, f, M);
1203
+ }, l.oniceconnectionstatechange = () => {
1204
+ var f;
1205
+ r("peerConnection.oniceconnectionstatechange => " + l.iceConnectionState);
1206
+ const p = Ne(l.iceConnectionState);
1207
+ p !== I.Connected && ((f = n.onConnectionStateChange) == null || f.call(n, p));
1208
+ }, l.ontrack = (p) => {
1209
+ var f;
1210
+ r("peerConnection.ontrack", p), r("CALLBACK: onSrcObjectReady"), (f = n.onSrcObjectReady) == null || f.call(n, p.streams[0]);
1211
+ }, await l.setRemoteDescription(W), r("set remote description OK");
1212
+ const Y = await l.createAnswer();
1213
+ return r("create answer OK"), await l.setLocalDescription(Y), r("set local description OK"), await x(S, Y, O, a), r("start connection OK"), {
1206
1214
  /**
1207
1215
  * Method to send request to server to get clip or talk depend on you payload
1208
1216
  * @param payload
1209
1217
  */
1210
- speak(m) {
1211
- return A(S, q, m);
1218
+ speak(p) {
1219
+ return b(S, O, p);
1212
1220
  },
1213
1221
  /**
1214
1222
  * Method to close RTC connection
1215
1223
  */
1216
1224
  async disconnect() {
1217
- var m;
1225
+ var p;
1218
1226
  if (S) {
1219
- const h = Ne(y.iceConnectionState);
1220
- if (y) {
1221
- if (h === D.New) {
1222
- W.stop();
1227
+ const f = Ne(l.iceConnectionState);
1228
+ if (l) {
1229
+ if (f === I.New) {
1230
+ N.stop();
1223
1231
  return;
1224
1232
  }
1225
- y.close(), y.oniceconnectionstatechange = null, y.onnegotiationneeded = null, y.onicecandidate = null, y.ontrack = null;
1233
+ l.close(), l.oniceconnectionstatechange = null, l.onnegotiationneeded = null, l.onicecandidate = null, l.ontrack = null;
1226
1234
  }
1227
1235
  try {
1228
- h === D.Connected && await C(S, q).catch(($) => {
1236
+ f === I.Connected && await C(S, O).catch((M) => {
1229
1237
  });
1230
- } catch ($) {
1231
- r("Error on close stream connection", $);
1238
+ } catch (M) {
1239
+ r("Error on close stream connection", M);
1232
1240
  }
1233
- (m = n.onAgentActivityStateChange) == null || m.call(n, O.Idle), W.stop();
1241
+ (p = n.onAgentActivityStateChange) == null || p.call(n, V.Idle), N.stop();
1234
1242
  }
1235
1243
  },
1236
1244
  /**
1237
1245
  * Method to send data channel messages to the server
1238
1246
  */
1239
- sendDataChannelMessage(m) {
1240
- var h, $;
1241
- if (!w || R.readyState !== "open") {
1242
- r("Data channel is not ready for sending messages"), (h = n.onError) == null || h.call(n, new Error("Data channel is not ready for sending messages"), {
1247
+ sendDataChannelMessage(p) {
1248
+ var f, M;
1249
+ if (!h || D.readyState !== "open") {
1250
+ r("Data channel is not ready for sending messages"), (f = n.onError) == null || f.call(n, new Error("Data channel is not ready for sending messages"), {
1243
1251
  streamId: S
1244
1252
  });
1245
1253
  return;
1246
1254
  }
1247
1255
  try {
1248
- R.send(m);
1249
- } catch (V) {
1250
- r("Error sending data channel message", V), ($ = n.onError) == null || $.call(n, V, { streamId: S });
1256
+ D.send(p);
1257
+ } catch (G) {
1258
+ r("Error sending data channel message", G), (M = n.onError) == null || M.call(n, G, { streamId: S });
1251
1259
  }
1252
1260
  },
1253
1261
  /**
1254
1262
  * Session identifier information, should be returned in the body of all streaming requests
1255
1263
  */
1256
- sessionId: q,
1264
+ sessionId: O,
1257
1265
  /**
1258
1266
  * Id of current RTC stream
1259
1267
  */
1260
1268
  streamId: S,
1261
- streamType: _,
1269
+ streamType: k,
1262
1270
  interruptAvailable: ee ?? !1,
1263
- triggersAvailable: f ?? !1
1271
+ triggersAvailable: te ?? !1
1264
1272
  };
1265
1273
  }
1266
- var _e = /* @__PURE__ */ ((e) => (e.V1 = "v1", e.V2 = "v2", e))(_e || {});
1267
- async function rn(e, t, i, n) {
1274
+ var Ae = /* @__PURE__ */ ((e) => (e.V1 = "v1", e.V2 = "v2", e))(Ae || {});
1275
+ async function an(e, t, i, n) {
1268
1276
  const s = e.id;
1269
1277
  switch (t.version) {
1270
1278
  case "v1": {
1271
1279
  const { version: o, ...c } = t;
1272
- return nn(s, c, i, n);
1280
+ return rn(s, c, i, n);
1273
1281
  }
1274
1282
  case "v2": {
1275
1283
  const { version: o, ...c } = t;
1276
1284
  switch (c.transport_provider) {
1277
- case Ce.Livekit:
1285
+ case ke.Livekit:
1278
1286
  const { createLiveKitStreamingManager: a } = await Promise.resolve().then(() => Nt);
1279
1287
  return a(s, c, i);
1280
1288
  default:
@@ -1285,13 +1293,13 @@ async function rn(e, t, i, n) {
1285
1293
  throw new Error(`Invalid stream version: ${t.version}`);
1286
1294
  }
1287
1295
  }
1288
- const an = "cht";
1289
- function on() {
1296
+ const on = "cht";
1297
+ function sn() {
1290
1298
  return {
1291
- transport_provider: Ce.Livekit
1299
+ transport_provider: ke.Livekit
1292
1300
  };
1293
1301
  }
1294
- function sn(e) {
1302
+ function cn(e) {
1295
1303
  var s, o;
1296
1304
  const { streamOptions: t } = e ?? {}, i = ((s = e == null ? void 0 : e.mixpanelAdditionalProperties) == null ? void 0 : s.plan) !== void 0 ? {
1297
1305
  plan: (o = e.mixpanelAdditionalProperties) == null ? void 0 : o.plan
@@ -1304,14 +1312,14 @@ function sn(e) {
1304
1312
  fluent: t == null ? void 0 : t.fluent
1305
1313
  }, ...i && { end_user_data: i } };
1306
1314
  }
1307
- function cn(e, t) {
1308
- return Ae(e.presenter.type) ? { version: _e.V2, ...on() } : { version: _e.V1, ...sn(t) };
1309
- }
1310
- function dn(e, t, i, n, s) {
1311
- s === ae.Fluent ? un(e, t, i, n, s) : fn(e, t, i, n, s);
1315
+ function dn(e, t) {
1316
+ return Pe(e.presenter.type) ? { version: Ae.V2, ...sn() } : { version: Ae.V1, ...cn(t) };
1312
1317
  }
1313
1318
  function un(e, t, i, n, s) {
1314
- e === k.Start ? n.track("stream-session", { event: "start", "stream-type": s }) : e === k.Stop && n.track("stream-session", {
1319
+ s === ie.Fluent ? ln(e, t, i, n, s) : fn(e, t, i, n, s);
1320
+ }
1321
+ function ln(e, t, i, n, s) {
1322
+ e === E.Start ? n.track("stream-session", { event: "start", "stream-type": s }) : e === E.Stop && n.track("stream-session", {
1315
1323
  event: "stop",
1316
1324
  is_greenscreen: t.presenter.type === "clip" && t.presenter.is_greenscreen,
1317
1325
  background: t.presenter.type === "clip" && t.presenter.background,
@@ -1319,13 +1327,13 @@ function un(e, t, i, n, s) {
1319
1327
  ...i
1320
1328
  });
1321
1329
  }
1322
- function ln(e, t, i, n) {
1323
- te.get() <= 0 || (e === k.Start ? i.linkTrack(
1330
+ function mn(e, t, i, n) {
1331
+ ne.get() <= 0 || (e === E.Start ? i.linkTrack(
1324
1332
  "agent-video",
1325
- { event: "start", latency: te.get(!0), "stream-type": n },
1333
+ { event: "start", latency: ne.get(!0), "stream-type": n },
1326
1334
  "start",
1327
- [j.StreamVideoCreated]
1328
- ) : e === k.Stop && i.linkTrack(
1335
+ [L.StreamVideoCreated]
1336
+ ) : e === E.Stop && i.linkTrack(
1329
1337
  "agent-video",
1330
1338
  {
1331
1339
  event: "stop",
@@ -1334,16 +1342,16 @@ function ln(e, t, i, n) {
1334
1342
  "stream-type": n
1335
1343
  },
1336
1344
  "done",
1337
- [j.StreamVideoDone]
1345
+ [L.StreamVideoDone]
1338
1346
  ));
1339
1347
  }
1340
1348
  function fn(e, t, i, n, s) {
1341
- te.get() <= 0 || (e === k.Start ? n.linkTrack(
1349
+ ne.get() <= 0 || (e === E.Start ? n.linkTrack(
1342
1350
  "agent-video",
1343
- { event: "start", latency: te.get(!0), "stream-type": s },
1351
+ { event: "start", latency: ne.get(!0), "stream-type": s },
1344
1352
  "start",
1345
- [j.StreamVideoCreated]
1346
- ) : e === k.Stop && n.linkTrack(
1353
+ [L.StreamVideoCreated]
1354
+ ) : e === E.Stop && n.linkTrack(
1347
1355
  "agent-video",
1348
1356
  {
1349
1357
  event: "stop",
@@ -1353,17 +1361,17 @@ function fn(e, t, i, n, s) {
1353
1361
  ...i
1354
1362
  },
1355
1363
  "done",
1356
- [j.StreamVideoDone]
1364
+ [L.StreamVideoDone]
1357
1365
  ));
1358
1366
  }
1359
- function Je(e, t, i, n) {
1360
- return te.reset(), Fe.update(), new Promise(async (s, o) => {
1367
+ function Ue(e, t, i, n) {
1368
+ return ne.reset(), ze.update(), new Promise(async (s, o) => {
1361
1369
  try {
1362
1370
  let c, a = !1;
1363
- const r = cn(e, t);
1371
+ const r = dn(e, t);
1364
1372
  i.enrich({
1365
1373
  "stream-version": r.version.toString()
1366
- }), c = await rn(
1374
+ }), c = await an(
1367
1375
  e,
1368
1376
  r,
1369
1377
  {
@@ -1372,30 +1380,30 @@ function Je(e, t, i, n) {
1372
1380
  callbacks: {
1373
1381
  ...t.callbacks,
1374
1382
  onConnectionStateChange: (d) => {
1375
- var w, p;
1376
- (p = (w = t.callbacks).onConnectionStateChange) == null || p.call(w, d), d === D.Connected && (c ? s(c) : a = !0);
1383
+ var h, w;
1384
+ (w = (h = t.callbacks).onConnectionStateChange) == null || w.call(h, d), d === I.Connected && (c ? s(c) : a = !0);
1377
1385
  },
1378
- onVideoStateChange: (d, w) => {
1379
- var p, u;
1380
- (u = (p = t.callbacks).onVideoStateChange) == null || u.call(p, d), dn(
1386
+ onVideoStateChange: (d, h) => {
1387
+ var w, u;
1388
+ (u = (w = t.callbacks).onVideoStateChange) == null || u.call(w, d), un(
1381
1389
  d,
1382
1390
  e,
1383
- w,
1391
+ h,
1384
1392
  i,
1385
1393
  c.streamType
1386
1394
  );
1387
1395
  },
1388
1396
  onAgentActivityStateChange: (d) => {
1389
- var w, p;
1390
- (p = (w = t.callbacks).onAgentActivityStateChange) == null || p.call(w, d), d === O.Talking ? Ie.update() : Ie.reset(), ln(
1391
- d === O.Talking ? k.Start : k.Stop,
1397
+ var h, w;
1398
+ (w = (h = t.callbacks).onAgentActivityStateChange) == null || w.call(h, d), d === V.Talking ? Te.update() : Te.reset(), mn(
1399
+ d === V.Talking ? E.Start : E.Stop,
1392
1400
  e,
1393
1401
  i,
1394
1402
  c.streamType
1395
1403
  );
1396
1404
  },
1397
1405
  onStreamReady: () => {
1398
- const d = Fe.get(!0);
1406
+ const d = ze.get(!0);
1399
1407
  i.track("agent-chat", { event: "ready", latency: d });
1400
1408
  }
1401
1409
  }
@@ -1407,99 +1415,101 @@ function Je(e, t, i, n) {
1407
1415
  }
1408
1416
  });
1409
1417
  }
1410
- async function mn(e, t, i, n, s) {
1411
- var w, p, u, M;
1418
+ async function gn(e, t, i, n, s) {
1419
+ var h, w, u, v;
1412
1420
  const o = async () => {
1413
- if (Ae(e.presenter.type)) {
1414
- const B = await Je(e, t, n), A = `${an}_${B.sessionId}`, C = (/* @__PURE__ */ new Date()).toISOString();
1421
+ if (Pe(e.presenter.type)) {
1422
+ const x = await Ue(e, t, n), b = `${on}_${x.sessionId}`, C = (/* @__PURE__ */ new Date()).toISOString();
1415
1423
  return { chatResult: {
1416
- chatMode: x.Functional,
1424
+ chatMode: B.Functional,
1417
1425
  chat: {
1418
- id: A,
1426
+ id: b,
1419
1427
  agent_id: e.id,
1420
1428
  owner_id: e.owner_id ?? "",
1421
1429
  created: C,
1422
1430
  modified: C,
1423
1431
  agent_id__created_at: C,
1424
1432
  agent_id__modified_at: C,
1425
- chat_mode: x.Functional,
1433
+ chat_mode: B.Functional,
1426
1434
  messages: []
1427
1435
  }
1428
- }, streamingManager: B };
1436
+ }, streamingManager: x };
1429
1437
  } else {
1430
- const B = new AbortController(), A = B.signal;
1438
+ const x = new AbortController(), b = x.signal;
1431
1439
  let C;
1432
1440
  try {
1433
- const P = Qe(
1441
+ const R = Xe(
1434
1442
  e,
1435
1443
  i,
1436
1444
  n,
1437
1445
  t.mode,
1438
1446
  t.persistentChat,
1439
1447
  s
1440
- ), J = Je(e, t, n, A).then((N) => (C = N, N)), [S, H] = await Promise.all([P, J]);
1441
- return { chatResult: S, streamingManager: H };
1442
- } catch (P) {
1443
- throw B.abort(), C && await C.disconnect().catch(() => {
1444
- }), P;
1448
+ ), F = Ue(e, t, n, b).then((J) => (C = J, J)), [S, W] = await Promise.all([R, F]);
1449
+ return { chatResult: S, streamingManager: W };
1450
+ } catch (R) {
1451
+ throw x.abort(), C && await C.disconnect().catch(() => {
1452
+ }), R;
1445
1453
  }
1446
1454
  }
1447
1455
  }, { chatResult: c, streamingManager: a } = await o(), { chat: r, chatMode: d } = c;
1448
- return d && t.mode !== void 0 && d !== t.mode && (t.mode = d, (p = (w = t.callbacks).onModeChange) == null || p.call(w, d), d !== x.Functional) ? ((M = (u = t.callbacks).onError) == null || M.call(u, new tt(d)), a == null || a.disconnect(), { chat: r }) : { chat: r, streamingManager: a };
1456
+ return d && t.mode !== void 0 && d !== t.mode && (t.mode = d, (w = (h = t.callbacks).onModeChange) == null || w.call(h, d), d !== B.Functional) ? ((v = (u = t.callbacks).onError) == null || v.call(u, new nt(d)), a == null || a.disconnect(), { chat: r }) : { chat: r, streamingManager: a };
1449
1457
  }
1450
- async function pn(e, t) {
1451
- var q, F, ee;
1458
+ async function wn(e, t) {
1459
+ var O, z, ee, te;
1452
1460
  let i = !0, n = null;
1453
- const s = t.mixpanelKey || ht, o = t.wsURL || gt, c = t.baseURL || ge, a = t.mode || x.Functional, r = {
1461
+ const s = t.mixpanelKey || pt, o = t.wsURL || ht, c = t.baseURL || pe, a = t.mode || B.Functional, r = {
1454
1462
  messages: [],
1455
1463
  chatMode: a
1456
- }, d = It({
1464
+ }, d = Tt({
1457
1465
  token: s,
1458
1466
  agentId: e,
1459
1467
  isEnabled: t.enableAnalitics,
1460
1468
  externalId: t.externalId,
1461
1469
  mixpanelAdditionalProperties: t.mixpanelAdditionalProperties
1462
- }), w = Date.now();
1463
- xe(() => {
1464
- d.track("agent-sdk", { event: "init" }, w);
1470
+ }), h = Date.now();
1471
+ Fe(() => {
1472
+ d.track("agent-sdk", { event: "init" }, h);
1465
1473
  });
1466
- const p = St(t.auth, c, t.callbacks.onError, t.externalId), u = await p.getById(e), M = Ae(u.presenter.type);
1467
- d.enrich(Rt(u));
1468
- const { onMessage: B, clearQueue: A } = Xt(
1474
+ const w = kt(t.auth, c, t.callbacks.onError, t.externalId), u = await w.getById(e);
1475
+ t.debug = t.debug || ((O = u == null ? void 0 : u.advanced_settings) == null ? void 0 : O.ui_debug_mode);
1476
+ const v = Pe(u.presenter.type);
1477
+ d.enrich(Dt(u));
1478
+ const { onMessage: x, clearQueue: b } = Yt(
1469
1479
  d,
1470
1480
  r,
1471
1481
  t,
1472
1482
  u,
1473
1483
  () => {
1474
- var f;
1475
- return (f = r.socketManager) == null ? void 0 : f.disconnect();
1484
+ var l;
1485
+ return (l = r.socketManager) == null ? void 0 : l.disconnect();
1476
1486
  }
1477
1487
  );
1478
- r.messages = _t(t.initialMessages), (F = (q = t.callbacks).onNewMessage) == null || F.call(q, [...r.messages], "answer");
1479
- const C = (f) => {
1480
- n = f;
1481
- }, P = ({ type: f }) => {
1482
- var R, _, L;
1483
- const y = r.messages[r.messages.length - 1];
1488
+ r.messages = At(t.initialMessages), (ee = (z = t.callbacks).onNewMessage) == null || ee.call(z, [...r.messages], "answer");
1489
+ const C = (l) => {
1490
+ n = l;
1491
+ }, R = ({ type: l }) => {
1492
+ var k, K, P;
1493
+ const D = r.messages[r.messages.length - 1];
1484
1494
  d.track("agent-video-interrupt", {
1485
- type: f || "click",
1486
- video_duration_to_interrupt: Ie.get(!0),
1487
- message_duration_to_interrupt: te.get(!0)
1488
- }), y.interrupted = !0, (_ = (R = t.callbacks).onNewMessage) == null || _.call(R, [...r.messages], "answer"), M ? Ut(r.streamingManager) : (Kt(r.streamingManager, (L = r.streamingManager) == null ? void 0 : L.streamType, n), Jt(r.streamingManager, n));
1489
- }, J = Date.now();
1490
- xe(() => {
1491
- d.track("agent-sdk", { event: "loaded", ...kt(u) }, J);
1495
+ type: l || "click",
1496
+ video_duration_to_interrupt: Te.get(!0),
1497
+ message_duration_to_interrupt: ne.get(!0)
1498
+ }), D.interrupted = !0, (K = (k = t.callbacks).onNewMessage) == null || K.call(k, [...r.messages], "answer"), v ? Vt(r.streamingManager) : (Jt(r.streamingManager, (P = r.streamingManager) == null ? void 0 : P.streamType, n), Ut(r.streamingManager, n));
1499
+ }, F = Date.now();
1500
+ Fe(() => {
1501
+ d.track("agent-sdk", { event: "loaded", ...Rt(u) }, F);
1492
1502
  });
1493
- async function S(f) {
1494
- var K, W, Q, b, z, X, oe;
1495
- (W = (K = t.callbacks).onConnectionStateChange) == null || W.call(K, D.Connecting), te.reset(), f && !i && (delete r.chat, (b = (Q = t.callbacks).onNewMessage) == null || b.call(Q, [...r.messages], "answer"));
1496
- const y = a === x.DirectPlayback || M ? Promise.resolve(void 0) : Ot(
1503
+ async function S(l) {
1504
+ var N, H, q, j, $, Y, oe;
1505
+ (H = (N = t.callbacks).onConnectionStateChange) == null || H.call(N, I.Connecting), ne.reset(), l && !i && (delete r.chat, (j = (q = t.callbacks).onNewMessage) == null || j.call(q, [...r.messages], "answer"));
1506
+ const D = a === B.DirectPlayback || v ? Promise.resolve(void 0) : Ht(
1497
1507
  t.auth,
1498
1508
  o,
1499
- { onMessage: B, onError: t.callbacks.onError },
1509
+ { onMessage: x, onError: t.callbacks.onError },
1500
1510
  t.externalId
1501
- ), R = Me(
1502
- () => mn(
1511
+ ), k = Ee(
1512
+ () => gn(
1503
1513
  u,
1504
1514
  {
1505
1515
  ...t,
@@ -1507,11 +1517,11 @@ async function pn(e, t) {
1507
1517
  callbacks: {
1508
1518
  ...t.callbacks,
1509
1519
  onVideoIdChange: C,
1510
- onMessage: B,
1511
- onInterruptDetected: P
1520
+ onMessage: x,
1521
+ onInterruptDetected: R
1512
1522
  }
1513
1523
  },
1514
- p,
1524
+ w,
1515
1525
  d,
1516
1526
  r.chat
1517
1527
  ),
@@ -1519,44 +1529,44 @@ async function pn(e, t) {
1519
1529
  limit: 3,
1520
1530
  timeout: ft,
1521
1531
  timeoutErrorMessage: "Timeout initializing the stream",
1522
- shouldRetryFn: (U) => (U == null ? void 0 : U.message) !== "Could not connect" && U.status !== 429 && (U == null ? void 0 : U.message) !== "InsufficientCreditsError",
1532
+ shouldRetryFn: (p) => (p == null ? void 0 : p.message) !== "Could not connect" && p.status !== 429 && (p == null ? void 0 : p.message) !== "InsufficientCreditsError",
1523
1533
  delayMs: 1e3
1524
1534
  }
1525
- ).catch((U) => {
1526
- var m, h;
1527
- throw N(x.Maintenance), (h = (m = t.callbacks).onConnectionStateChange) == null || h.call(m, D.Fail), U;
1528
- }), [_, { streamingManager: L, chat: I }] = await Promise.all([y, R]);
1529
- I && I.id !== ((z = r.chat) == null ? void 0 : z.id) && ((oe = (X = t.callbacks).onNewChat) == null || oe.call(X, I.id)), r.streamingManager = L, r.socketManager = _, r.chat = I, i = !1, d.enrich({
1530
- chatId: I == null ? void 0 : I.id,
1531
- streamId: L == null ? void 0 : L.streamId,
1535
+ ).catch((p) => {
1536
+ var f, M;
1537
+ throw J(B.Maintenance), (M = (f = t.callbacks).onConnectionStateChange) == null || M.call(f, I.Fail), p;
1538
+ }), [K, { streamingManager: P, chat: T }] = await Promise.all([D, k]);
1539
+ T && T.id !== (($ = r.chat) == null ? void 0 : $.id) && ((oe = (Y = t.callbacks).onNewChat) == null || oe.call(Y, T.id)), r.streamingManager = P, r.socketManager = K, r.chat = T, i = !1, d.enrich({
1540
+ chatId: T == null ? void 0 : T.id,
1541
+ streamId: P == null ? void 0 : P.streamId,
1532
1542
  mode: r.chatMode
1533
- }), N((I == null ? void 0 : I.chat_mode) ?? a);
1543
+ }), J((T == null ? void 0 : T.chat_mode) ?? a);
1534
1544
  }
1535
- async function H() {
1536
- var f, y, R, _;
1537
- (f = r.socketManager) == null || f.disconnect(), await ((y = r.streamingManager) == null ? void 0 : y.disconnect()), delete r.streamingManager, delete r.socketManager, (_ = (R = t.callbacks).onConnectionStateChange) == null || _.call(R, D.Disconnected);
1545
+ async function W() {
1546
+ var l, D, k, K;
1547
+ (l = r.socketManager) == null || l.disconnect(), await ((D = r.streamingManager) == null ? void 0 : D.disconnect()), delete r.streamingManager, delete r.socketManager, (K = (k = t.callbacks).onConnectionStateChange) == null || K.call(k, I.Disconnected);
1538
1548
  }
1539
- async function N(f) {
1540
- var y, R;
1541
- f !== r.chatMode && (d.track("agent-mode-change", { mode: f }), r.chatMode = f, r.chatMode !== x.Functional && await H(), (R = (y = t.callbacks).onModeChange) == null || R.call(y, f));
1549
+ async function J(l) {
1550
+ var D, k;
1551
+ l !== r.chatMode && (d.track("agent-mode-change", { mode: l }), r.chatMode = l, r.chatMode !== B.Functional && await W(), (k = (D = t.callbacks).onModeChange) == null || k.call(D, l));
1542
1552
  }
1543
1553
  return {
1544
1554
  agent: u,
1545
1555
  getStreamType: () => {
1546
- var f;
1547
- return (f = r.streamingManager) == null ? void 0 : f.streamType;
1556
+ var l;
1557
+ return (l = r.streamingManager) == null ? void 0 : l.streamType;
1548
1558
  },
1549
1559
  getIsInterruptAvailable: () => {
1550
- var f;
1551
- return ((f = r.streamingManager) == null ? void 0 : f.interruptAvailable) ?? !1;
1560
+ var l;
1561
+ return ((l = r.streamingManager) == null ? void 0 : l.interruptAvailable) ?? !1;
1552
1562
  },
1553
1563
  getIsTriggersAvailable: () => {
1554
- var f;
1555
- return ((f = r.streamingManager) == null ? void 0 : f.triggersAvailable) ?? !1;
1564
+ var l;
1565
+ return ((l = r.streamingManager) == null ? void 0 : l.triggersAvailable) ?? !1;
1556
1566
  },
1557
- starterMessages: ((ee = u.knowledge) == null ? void 0 : ee.starter_message) || [],
1558
- getSTTToken: () => p.getSTTToken(u.id),
1559
- changeMode: N,
1567
+ starterMessages: ((te = u.knowledge) == null ? void 0 : te.starter_message) || [],
1568
+ getSTTToken: () => w.getSTTToken(u.id),
1569
+ changeMode: J,
1560
1570
  enrichAnalytics: d.enrich,
1561
1571
  async connect() {
1562
1572
  await S(!0), d.track("agent-chat", {
@@ -1565,198 +1575,198 @@ async function pn(e, t) {
1565
1575
  });
1566
1576
  },
1567
1577
  async reconnect() {
1568
- const f = r.streamingManager;
1569
- if (M && (f != null && f.reconnect)) {
1578
+ const l = r.streamingManager;
1579
+ if (v && (l != null && l.reconnect)) {
1570
1580
  try {
1571
- await f.reconnect(), d.track("agent-chat", {
1581
+ await l.reconnect(), d.track("agent-chat", {
1572
1582
  event: "reconnect",
1573
1583
  mode: r.chatMode
1574
1584
  });
1575
1585
  } catch {
1576
- await H(), await S(!1);
1586
+ await W(), await S(!1);
1577
1587
  }
1578
1588
  return;
1579
1589
  }
1580
- await H(), await S(!1), d.track("agent-chat", {
1590
+ await W(), await S(!1), d.track("agent-chat", {
1581
1591
  event: "reconnect",
1582
1592
  mode: r.chatMode
1583
1593
  });
1584
1594
  },
1585
1595
  async disconnect() {
1586
- await H(), d.track("agent-chat", {
1596
+ await W(), d.track("agent-chat", {
1587
1597
  event: "disconnect",
1588
1598
  mode: r.chatMode
1589
1599
  });
1590
1600
  },
1591
- async publishMicrophoneStream(f) {
1592
- var y;
1593
- if (!((y = r.streamingManager) != null && y.publishMicrophoneStream))
1601
+ async publishMicrophoneStream(l) {
1602
+ var D;
1603
+ if (!((D = r.streamingManager) != null && D.publishMicrophoneStream))
1594
1604
  throw new Error("publishMicrophoneStream is not available for this streaming manager");
1595
- return r.streamingManager.publishMicrophoneStream(f);
1605
+ return r.streamingManager.publishMicrophoneStream(l);
1596
1606
  },
1597
1607
  async unpublishMicrophoneStream() {
1598
- var f;
1599
- if (!((f = r.streamingManager) != null && f.unpublishMicrophoneStream))
1608
+ var l;
1609
+ if (!((l = r.streamingManager) != null && l.unpublishMicrophoneStream))
1600
1610
  throw new Error("unpublishMicrophoneStream is not available for this streaming manager");
1601
1611
  return r.streamingManager.unpublishMicrophoneStream();
1602
1612
  },
1603
- async chat(f) {
1604
- var L, I, K, W, Q;
1605
- const y = () => {
1606
- if (Oe(a))
1607
- throw new ue(`${a} is enabled, chat is disabled`);
1608
- if (f.length >= 800)
1609
- throw new ue("Message cannot be more than 800 characters");
1610
- if (f.length === 0)
1611
- throw new ue("Message cannot be empty");
1612
- if (r.chatMode === x.Maintenance)
1613
- throw new ue("Chat is in maintenance mode");
1614
- if (![x.TextOnly, x.Playground].includes(r.chatMode)) {
1613
+ async chat(l) {
1614
+ var P, T, N, H, q;
1615
+ const D = () => {
1616
+ if (He(a))
1617
+ throw new le(`${a} is enabled, chat is disabled`);
1618
+ if (l.length >= 800)
1619
+ throw new le("Message cannot be more than 800 characters");
1620
+ if (l.length === 0)
1621
+ throw new le("Message cannot be empty");
1622
+ if (r.chatMode === B.Maintenance)
1623
+ throw new le("Chat is in maintenance mode");
1624
+ if (![B.TextOnly, B.Playground].includes(r.chatMode)) {
1615
1625
  if (!r.streamingManager)
1616
- throw new ue("Streaming manager is not initialized");
1626
+ throw new le("Streaming manager is not initialized");
1617
1627
  if (!r.chat)
1618
- throw new ue("Chat is not initialized");
1628
+ throw new le("Chat is not initialized");
1619
1629
  }
1620
- }, R = async () => {
1621
- var b, z;
1630
+ }, k = async () => {
1631
+ var j, $;
1622
1632
  if (!r.chat) {
1623
- const X = await Qe(
1633
+ const Y = await Xe(
1624
1634
  u,
1625
- p,
1635
+ w,
1626
1636
  d,
1627
1637
  r.chatMode,
1628
1638
  t.persistentChat
1629
1639
  );
1630
- if (!X.chat)
1631
- throw new et(r.chatMode, !!t.persistentChat);
1632
- r.chat = X.chat, (z = (b = t.callbacks).onNewChat) == null || z.call(b, r.chat.id);
1640
+ if (!Y.chat)
1641
+ throw new tt(r.chatMode, !!t.persistentChat);
1642
+ r.chat = Y.chat, ($ = (j = t.callbacks).onNewChat) == null || $.call(j, r.chat.id);
1633
1643
  }
1634
1644
  return r.chat.id;
1635
- }, _ = async (b, z) => {
1636
- const X = r.chatMode === x.Playground;
1637
- return Me(M && !X ? async () => {
1638
- var m, h;
1639
- return await ((h = (m = r.streamingManager) == null ? void 0 : m.sendTextMessage) == null ? void 0 : h.call(m, f)), Promise.resolve({});
1645
+ }, K = async (j, $) => {
1646
+ const Y = r.chatMode === B.Playground;
1647
+ return Ee(v && !Y ? async () => {
1648
+ var f, M;
1649
+ return await ((M = (f = r.streamingManager) == null ? void 0 : f.sendTextMessage) == null ? void 0 : M.call(f, l)), Promise.resolve({});
1640
1650
  } : async () => {
1641
- var m, h;
1642
- return p.chat(
1651
+ var f, M;
1652
+ return w.chat(
1643
1653
  u.id,
1644
- z,
1654
+ $,
1645
1655
  {
1646
1656
  chatMode: r.chatMode,
1647
- streamId: (m = r.streamingManager) == null ? void 0 : m.streamId,
1648
- sessionId: (h = r.streamingManager) == null ? void 0 : h.sessionId,
1649
- messages: b.map(({ matches: $, ...V }) => V)
1657
+ streamId: (f = r.streamingManager) == null ? void 0 : f.streamId,
1658
+ sessionId: (M = r.streamingManager) == null ? void 0 : M.sessionId,
1659
+ messages: j.map(({ matches: G, ...se }) => se)
1650
1660
  },
1651
1661
  {
1652
- ...qe(r.chatMode),
1662
+ ...Qe(r.chatMode),
1653
1663
  skipErrorHandler: !0
1654
1664
  }
1655
1665
  );
1656
1666
  }, {
1657
1667
  limit: 2,
1658
- shouldRetryFn: (m) => {
1659
- var V, ce, he, pe;
1660
- const h = (V = m == null ? void 0 : m.message) == null ? void 0 : V.includes("missing or invalid session_id");
1661
- return !((ce = m == null ? void 0 : m.message) == null ? void 0 : ce.includes("Stream Error")) && !h ? ((pe = (he = t.callbacks).onError) == null || pe.call(he, m), !1) : !0;
1668
+ shouldRetryFn: (f) => {
1669
+ var se, we, ye, de;
1670
+ const M = (se = f == null ? void 0 : f.message) == null ? void 0 : se.includes("missing or invalid session_id");
1671
+ return !((we = f == null ? void 0 : f.message) == null ? void 0 : we.includes("Stream Error")) && !M ? ((de = (ye = t.callbacks).onError) == null || de.call(ye, f), !1) : !0;
1662
1672
  },
1663
1673
  onRetry: async () => {
1664
- await H(), await S(!1);
1674
+ await W(), await S(!1);
1665
1675
  }
1666
1676
  });
1667
1677
  };
1668
1678
  try {
1669
- A(), y(), r.messages.push({
1670
- id: le(),
1679
+ b(), D(), r.messages.push({
1680
+ id: me(),
1671
1681
  role: "user",
1672
- content: f,
1673
- created_at: new Date(te.update()).toISOString()
1674
- }), (I = (L = t.callbacks).onNewMessage) == null || I.call(L, [...r.messages], "user");
1675
- const b = await R(), z = await _([...r.messages], b);
1682
+ content: l,
1683
+ created_at: new Date(ne.update()).toISOString()
1684
+ }), (T = (P = t.callbacks).onNewMessage) == null || T.call(P, [...r.messages], "user");
1685
+ const j = await k(), $ = await K([...r.messages], j);
1676
1686
  return r.messages.push({
1677
- id: le(),
1687
+ id: me(),
1678
1688
  role: "assistant",
1679
- content: z.result || "",
1689
+ content: $.result || "",
1680
1690
  created_at: (/* @__PURE__ */ new Date()).toISOString(),
1681
- context: z.context,
1682
- matches: z.matches
1691
+ context: $.context,
1692
+ matches: $.matches
1683
1693
  }), d.track("agent-message-send", {
1684
1694
  event: "success",
1685
1695
  messages: r.messages.length + 1
1686
- }), z.result && ((W = (K = t.callbacks).onNewMessage) == null || W.call(K, [...r.messages], "answer"), d.track("agent-message-received", {
1687
- latency: te.get(!0),
1696
+ }), $.result && ((H = (N = t.callbacks).onNewMessage) == null || H.call(N, [...r.messages], "answer"), d.track("agent-message-received", {
1697
+ latency: ne.get(!0),
1688
1698
  messages: r.messages.length
1689
- })), z;
1690
- } catch (b) {
1691
- throw ((Q = r.messages[r.messages.length - 1]) == null ? void 0 : Q.role) === "assistant" && r.messages.pop(), d.track("agent-message-send", {
1699
+ })), $;
1700
+ } catch (j) {
1701
+ throw ((q = r.messages[r.messages.length - 1]) == null ? void 0 : q.role) === "assistant" && r.messages.pop(), d.track("agent-message-send", {
1692
1702
  event: "error",
1693
1703
  messages: r.messages.length
1694
- }), b;
1704
+ }), j;
1695
1705
  }
1696
1706
  },
1697
- rate(f, y, R) {
1698
- var I, K, W, Q;
1699
- const _ = r.messages.find((b) => b.id === f);
1707
+ rate(l, D, k) {
1708
+ var T, N, H, q;
1709
+ const K = r.messages.find((j) => j.id === l);
1700
1710
  if (r.chat) {
1701
- if (!_)
1711
+ if (!K)
1702
1712
  throw new Error("Message not found");
1703
1713
  } else throw new Error("Chat is not initialized");
1704
- const L = ((I = _.matches) == null ? void 0 : I.map((b) => [b.document_id, b.id])) ?? [];
1714
+ const P = ((T = K.matches) == null ? void 0 : T.map((j) => [j.document_id, j.id])) ?? [];
1705
1715
  return d.track("agent-rate", {
1706
- event: R ? "update" : "create",
1707
- thumb: y === 1 ? "up" : "down",
1708
- knowledge_id: ((K = u.knowledge) == null ? void 0 : K.id) ?? "",
1709
- matches: L,
1710
- score: y
1711
- }), R ? p.updateRating(u.id, r.chat.id, R, {
1712
- knowledge_id: ((W = u.knowledge) == null ? void 0 : W.id) ?? "",
1713
- message_id: f,
1714
- matches: L,
1715
- score: y
1716
- }) : p.createRating(u.id, r.chat.id, {
1717
- knowledge_id: ((Q = u.knowledge) == null ? void 0 : Q.id) ?? "",
1718
- message_id: f,
1719
- matches: L,
1720
- score: y
1716
+ event: k ? "update" : "create",
1717
+ thumb: D === 1 ? "up" : "down",
1718
+ knowledge_id: ((N = u.knowledge) == null ? void 0 : N.id) ?? "",
1719
+ matches: P,
1720
+ score: D
1721
+ }), k ? w.updateRating(u.id, r.chat.id, k, {
1722
+ knowledge_id: ((H = u.knowledge) == null ? void 0 : H.id) ?? "",
1723
+ message_id: l,
1724
+ matches: P,
1725
+ score: D
1726
+ }) : w.createRating(u.id, r.chat.id, {
1727
+ knowledge_id: ((q = u.knowledge) == null ? void 0 : q.id) ?? "",
1728
+ message_id: l,
1729
+ matches: P,
1730
+ score: D
1721
1731
  });
1722
1732
  },
1723
- deleteRate(f) {
1733
+ deleteRate(l) {
1724
1734
  if (!r.chat)
1725
1735
  throw new Error("Chat is not initialized");
1726
- return d.track("agent-rate-delete", { type: "text" }), p.deleteRating(u.id, r.chat.id, f);
1736
+ return d.track("agent-rate-delete", { type: "text" }), w.deleteRating(u.id, r.chat.id, l);
1727
1737
  },
1728
- async speak(f) {
1729
- var L, I, K;
1730
- function y() {
1731
- if (typeof f == "string") {
1738
+ async speak(l) {
1739
+ var P, T, N;
1740
+ function D() {
1741
+ if (typeof l == "string") {
1732
1742
  if (!u.presenter.voice)
1733
1743
  throw new Error("Presenter voice is not initialized");
1734
1744
  return {
1735
1745
  type: "text",
1736
1746
  provider: u.presenter.voice,
1737
- input: f,
1747
+ input: l,
1738
1748
  ssml: !1
1739
1749
  };
1740
1750
  }
1741
- if (f.type === "text" && !f.provider) {
1751
+ if (l.type === "text" && !l.provider) {
1742
1752
  if (!u.presenter.voice)
1743
1753
  throw new Error("Presenter voice is not initialized");
1744
1754
  return {
1745
1755
  type: "text",
1746
1756
  provider: u.presenter.voice,
1747
- input: f.input,
1748
- ssml: f.ssml
1757
+ input: l.input,
1758
+ ssml: l.ssml
1749
1759
  };
1750
1760
  }
1751
- return f;
1761
+ return l;
1752
1762
  }
1753
- const R = y();
1754
- if (d.track("agent-speak", R), te.update(), r.messages && R.type === "text" && (r.messages.push({
1755
- id: le(),
1763
+ const k = D();
1764
+ if (d.track("agent-speak", k), ne.update(), r.messages && k.type === "text" && (r.messages.push({
1765
+ id: me(),
1756
1766
  role: "assistant",
1757
- content: R.input,
1767
+ content: k.input,
1758
1768
  created_at: (/* @__PURE__ */ new Date()).toISOString()
1759
- }), (I = (L = t.callbacks).onNewMessage) == null || I.call(L, [...r.messages], "answer")), wt(r.chatMode))
1769
+ }), (T = (P = t.callbacks).onNewMessage) == null || T.call(P, [...r.messages], "answer")), yt(r.chatMode))
1760
1770
  return {
1761
1771
  duration: 0,
1762
1772
  video_id: "",
@@ -1765,37 +1775,37 @@ async function pn(e, t) {
1765
1775
  if (!r.streamingManager)
1766
1776
  throw new Error("Please connect to the agent first");
1767
1777
  return r.streamingManager.speak({
1768
- script: R,
1769
- metadata: { chat_id: (K = r.chat) == null ? void 0 : K.id, agent_id: u.id }
1778
+ script: k,
1779
+ metadata: { chat_id: (N = r.chat) == null ? void 0 : N.id, agent_id: u.id }
1770
1780
  });
1771
1781
  },
1772
- interrupt: P
1782
+ interrupt: R
1773
1783
  };
1774
1784
  }
1775
1785
  export {
1776
- O as AgentActivityState,
1777
- at as AgentStatus,
1778
- et as ChatCreationFailed,
1779
- x as ChatMode,
1780
- tt as ChatModeDowngraded,
1781
- G as ChatProgress,
1782
- D as ConnectionState,
1783
- ie as ConnectivityState,
1784
- dt as DocumentType,
1785
- ct as KnowledgeType,
1786
- it as PlanGroup,
1787
- ut as Providers,
1788
- ot as RateState,
1789
- j as StreamEvents,
1790
- ae as StreamType,
1791
- k as StreamingState,
1792
- st as Subject,
1793
- Ce as TransportProvider,
1794
- rt as UserPlan,
1795
- ue as ValidationError,
1796
- Ue as VideoType,
1797
- lt as VoiceAccess,
1798
- nt as WsError,
1799
- pn as createAgentManager,
1800
- hn as mapVideoType
1786
+ V as AgentActivityState,
1787
+ ot as AgentStatus,
1788
+ tt as ChatCreationFailed,
1789
+ B as ChatMode,
1790
+ nt as ChatModeDowngraded,
1791
+ X as ChatProgress,
1792
+ I as ConnectionState,
1793
+ re as ConnectivityState,
1794
+ ut as DocumentType,
1795
+ dt as KnowledgeType,
1796
+ at as PlanGroup,
1797
+ lt as Providers,
1798
+ st as RateState,
1799
+ L as StreamEvents,
1800
+ ie as StreamType,
1801
+ E as StreamingState,
1802
+ ct as Subject,
1803
+ ke as TransportProvider,
1804
+ it as UserPlan,
1805
+ le as ValidationError,
1806
+ Ve as VideoType,
1807
+ mt as VoiceAccess,
1808
+ rt as WsError,
1809
+ wn as createAgentManager,
1810
+ pn as mapVideoType
1801
1811
  };