@d-id/client-sdk 1.1.25 → 1.1.26-staging.116

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