@d-id/client-sdk 1.1.19 → 1.1.20-staging.89

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.
@@ -1,6 +1,6 @@
1
- var De = Object.defineProperty;
2
- var Se = (e, t, a) => t in e ? De(e, t, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[t] = a;
3
- var Q = (e, t, a) => Se(e, typeof t != "symbol" ? t + "" : t, a);
1
+ var Se = Object.defineProperty;
2
+ var Ie = (e, t, a) => t in e ? Se(e, t, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[t] = a;
3
+ var Q = (e, t, a) => Ie(e, typeof t != "symbol" ? t + "" : t, a);
4
4
  class ee extends Error {
5
5
  constructor({ kind: a, description: r, error: o }) {
6
6
  super(JSON.stringify({ kind: a, description: r }));
@@ -10,7 +10,7 @@ class ee extends Error {
10
10
  this.kind = a, this.description = r, this.error = o;
11
11
  }
12
12
  }
13
- class Ie extends ee {
13
+ class Ee extends ee {
14
14
  constructor(t, a) {
15
15
  super({
16
16
  kind: "ChatCreationFailed",
@@ -18,25 +18,25 @@ class Ie extends ee {
18
18
  });
19
19
  }
20
20
  }
21
- class Ee extends ee {
21
+ class Me extends ee {
22
22
  constructor(t) {
23
23
  super({ kind: "ChatModeDowngraded", description: `Chat mode downgraded to ${t}` });
24
24
  }
25
25
  }
26
- class H extends ee {
26
+ class V extends ee {
27
27
  constructor(a, r) {
28
28
  super({ kind: "ValidationError", description: a });
29
29
  Q(this, "key");
30
30
  this.key = r;
31
31
  }
32
32
  }
33
- class Me extends ee {
33
+ class _e extends ee {
34
34
  constructor(t) {
35
35
  super({ kind: "WSError", description: t });
36
36
  }
37
37
  }
38
- var _e = /* @__PURE__ */ ((e) => (e.TRIAL = "trial", e.BASIC = "basic", e.ENTERPRISE = "enterprise", e.LITE = "lite", e.ADVANCED = "advanced", e))(_e || {}), Te = /* @__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))(Te || {}), Ae = /* @__PURE__ */ ((e) => (e.Created = "created", e.Started = "started", e.Done = "done", e.Error = "error", e.Rejected = "rejected", e.Ready = "ready", e))(Ae || {}), je = /* @__PURE__ */ ((e) => (e.Unrated = "Unrated", e.Positive = "Positive", e.Negative = "Negative", e))(je || {}), _ = /* @__PURE__ */ ((e) => (e.Functional = "Functional", e.TextOnly = "TextOnly", e.Maintenance = "Maintenance", e.Playground = "Playground", e.DirectPlayback = "DirectPlayback", e.Off = "Off", e))(_ || {}), V = /* @__PURE__ */ ((e) => (e.Embed = "embed", e.Query = "query", e.Partial = "partial", e.Answer = "answer", e.Complete = "done", e))(V || {}), Pe = /* @__PURE__ */ ((e) => (e.KnowledgeProcessing = "knowledge/processing", e.KnowledgeIndexing = "knowledge/indexing", e.KnowledgeFailed = "knowledge/error", e.KnowledgeDone = "knowledge/done", e))(Pe || {}), be = /* @__PURE__ */ ((e) => (e.Knowledge = "knowledge", e.Document = "document", e.Record = "record", e))(be || {}), Le = /* @__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))(Le || {}), he = /* @__PURE__ */ ((e) => (e.Clip = "clip", e.Talk = "talk", e.Expressive = "expressive", e))(he || {});
39
- const bt = (e) => {
38
+ var Te = /* @__PURE__ */ ((e) => (e.TRIAL = "trial", e.BASIC = "basic", e.ENTERPRISE = "enterprise", e.LITE = "lite", e.ADVANCED = "advanced", e))(Te || {}), Ae = /* @__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))(Ae || {}), Pe = /* @__PURE__ */ ((e) => (e.Created = "created", e.Started = "started", e.Done = "done", e.Error = "error", e.Rejected = "rejected", e.Ready = "ready", e))(Pe || {}), be = /* @__PURE__ */ ((e) => (e.Unrated = "Unrated", e.Positive = "Positive", e.Negative = "Negative", e))(be || {}), T = /* @__PURE__ */ ((e) => (e.Functional = "Functional", e.TextOnly = "TextOnly", e.Maintenance = "Maintenance", e.Playground = "Playground", e.DirectPlayback = "DirectPlayback", e.Off = "Off", e))(T || {}), q = /* @__PURE__ */ ((e) => (e.Embed = "embed", e.Query = "query", e.Partial = "partial", e.Answer = "answer", e.Complete = "done", e))(q || {}), je = /* @__PURE__ */ ((e) => (e.KnowledgeProcessing = "knowledge/processing", e.KnowledgeIndexing = "knowledge/indexing", e.KnowledgeFailed = "knowledge/error", e.KnowledgeDone = "knowledge/done", e))(je || {}), Le = /* @__PURE__ */ ((e) => (e.Knowledge = "knowledge", e.Document = "document", e.Record = "record", e))(Le || {}), xe = /* @__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))(xe || {}), we = /* @__PURE__ */ ((e) => (e.Clip = "clip", e.Talk = "talk", e.Expressive = "expressive", e))(we || {});
39
+ const Lt = (e) => {
40
40
  switch (e) {
41
41
  case "clip":
42
42
  return "clip";
@@ -48,12 +48,12 @@ const bt = (e) => {
48
48
  throw new Error(`Unknown video type: ${e}`);
49
49
  }
50
50
  };
51
- var w = /* @__PURE__ */ ((e) => (e.Start = "START", e.Stop = "STOP", e))(w || {}), Z = /* @__PURE__ */ ((e) => (e.Strong = "STRONG", e.Weak = "WEAK", e.Unknown = "UNKNOWN", e))(Z || {}), O = /* @__PURE__ */ ((e) => (e.Idle = "IDLE", e.Talking = "TALKING", e))(O || {}), P = /* @__PURE__ */ ((e) => (e.ChatAnswer = "chat/answer", e.ChatPartial = "chat/partial", 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))(P || {}), 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 || {}), W = /* @__PURE__ */ ((e) => (e.Legacy = "legacy", e.Fluent = "fluent", e))(W || {}), de = /* @__PURE__ */ ((e) => (e.Livekit = "livekit", e))(de || {}), xe = /* @__PURE__ */ ((e) => (e.Amazon = "amazon", e.AzureOpenAi = "azure-openai", e.Microsoft = "microsoft", e.Afflorithmics = "afflorithmics", e.Elevenlabs = "elevenlabs", e))(xe || {}), Be = /* @__PURE__ */ ((e) => (e.Public = "public", e.Premium = "premium", e.Private = "private", e))(Be || {});
52
- const $e = 45 * 1e3, ze = "X-Playground-Chat", te = "https://api.d-id.com", Fe = "wss://notifications.d-id.com", Ne = "79f81a83a67430be2bc0fd61042b8faa", we = (e) => new Promise((t) => setTimeout(t, e)), q = (e = 16) => {
51
+ var w = /* @__PURE__ */ ((e) => (e.Start = "START", e.Stop = "STOP", e))(w || {}), Z = /* @__PURE__ */ ((e) => (e.Strong = "STRONG", e.Weak = "WEAK", e.Unknown = "UNKNOWN", e))(Z || {}), X = /* @__PURE__ */ ((e) => (e.Idle = "IDLE", e.Talking = "TALKING", e))(X || {}), b = /* @__PURE__ */ ((e) => (e.ChatAnswer = "chat/answer", e.ChatPartial = "chat/partial", 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 || {}), M = /* @__PURE__ */ ((e) => (e.New = "new", e.Fail = "fail", e.Connected = "connected", e.Connecting = "connecting", e.Closed = "closed", e.Completed = "completed", e.Disconnected = "disconnected", e))(M || {}), J = /* @__PURE__ */ ((e) => (e.Legacy = "legacy", e.Fluent = "fluent", e))(J || {}), de = /* @__PURE__ */ ((e) => (e.Livekit = "livekit", e))(de || {}), Be = /* @__PURE__ */ ((e) => (e.Amazon = "amazon", e.AzureOpenAi = "azure-openai", e.Microsoft = "microsoft", e.Afflorithmics = "afflorithmics", e.Elevenlabs = "elevenlabs", e))(Be || {}), $e = /* @__PURE__ */ ((e) => (e.Public = "public", e.Premium = "premium", e.Private = "private", e))($e || {});
52
+ const ze = 45 * 1e3, Fe = "X-Playground-Chat", te = "https://api.d-id.com", Ne = "wss://notifications.d-id.com", Je = "79f81a83a67430be2bc0fd61042b8faa", pe = (e) => new Promise((t) => setTimeout(t, e)), O = (e = 16) => {
53
53
  const t = new Uint8Array(e);
54
54
  return window.crypto.getRandomValues(t), Array.from(t, (a) => a.toString(16).padStart(2, "0")).join("").slice(0, 13);
55
- }, pe = (e) => e.type === "clip" && e.presenter_id.startsWith("v2_") ? "clip_v2" : e.type, le = (e) => e === he.Expressive, Je = (e) => [_.TextOnly, _.Playground, _.Maintenance].includes(e), ve = (e) => e && [_.DirectPlayback, _.Off].includes(e);
56
- function We(e, t) {
55
+ }, ve = (e) => e.type === "clip" && e.presenter_id.startsWith("v2_") ? "clip_v2" : e.type, le = (e) => e === we.Expressive, We = (e) => [T.TextOnly, T.Playground, T.Maintenance].includes(e), ye = (e) => e && [T.DirectPlayback, T.Off].includes(e);
56
+ function Ue(e, t) {
57
57
  let a;
58
58
  return {
59
59
  promise: new Promise((o, i) => {
@@ -77,12 +77,12 @@ async function ne(e, t) {
77
77
  try {
78
78
  if (!a.timeout)
79
79
  return await e();
80
- const { promise: i, clear: c } = We(a.timeout, a.timeoutErrorMessage), n = e().finally(c);
80
+ const { promise: i, clear: c } = Ue(a.timeout, a.timeoutErrorMessage), n = e().finally(c);
81
81
  return await Promise.race([n, i]);
82
82
  } catch (i) {
83
83
  if (r = i, !a.shouldRetryFn(i) || o >= a.limit)
84
84
  throw i;
85
- await we(a.delayMs), a.onRetry(i);
85
+ await pe(a.delayMs), a.onRetry(i);
86
86
  }
87
87
  throw r;
88
88
  }
@@ -91,43 +91,43 @@ function ae(e) {
91
91
  return window.localStorage.setItem("did_external_key_id", e), e;
92
92
  let t = window.localStorage.getItem("did_external_key_id");
93
93
  if (!t) {
94
- let a = q();
94
+ let a = O();
95
95
  window.localStorage.setItem("did_external_key_id", a), t = a;
96
96
  }
97
97
  return t;
98
98
  }
99
- let Ue = q();
100
- function ye(e, t) {
99
+ let Ke = O();
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}.${ae(t)}_${Ue}`;
106
+ return `Client-Key ${e.clientKey}.${ae(t)}_${Ke}`;
107
107
  throw new Error(`Unknown auth type: ${e}`);
108
108
  }
109
- const Ke = (e) => ne(e, {
109
+ const He = (e) => ne(e, {
110
110
  limit: 3,
111
111
  delayMs: 1e3,
112
112
  timeout: 0,
113
113
  shouldRetryFn: (t) => t.status === 429
114
114
  });
115
- function ke(e, t = te, a, r) {
115
+ function Ce(e, t = te, a, r) {
116
116
  const o = async (i, c) => {
117
- const { skipErrorHandler: n, ...s } = c || {}, d = await Ke(
117
+ const { skipErrorHandler: n, ...s } = c || {}, d = await He(
118
118
  () => fetch(t + (i != null && i.startsWith("/") ? i : `/${i}`), {
119
119
  ...s,
120
120
  headers: {
121
121
  ...s.headers,
122
- Authorization: ye(e, r),
122
+ Authorization: ke(e, r),
123
123
  "Content-Type": "application/json"
124
124
  }
125
125
  })
126
126
  );
127
127
  if (!d.ok) {
128
128
  let l = await d.text().catch(() => `Failed to fetch with status ${d.status}`);
129
- const h = new Error(l);
130
- throw a && !n && a(h, { url: i, options: s, headers: d.headers }), h;
129
+ const u = new Error(l);
130
+ throw a && !n && a(u, { url: i, options: s, headers: d.headers }), u;
131
131
  }
132
132
  return d.json();
133
133
  };
@@ -146,8 +146,8 @@ function ke(e, t = te, a, r) {
146
146
  }
147
147
  };
148
148
  }
149
- function He(e, t = te, a, r) {
150
- const o = ke(e, `${t}/agents`, a, r);
149
+ function Ve(e, t = te, a, r) {
150
+ const o = Ce(e, `${t}/agents`, a, r);
151
151
  return {
152
152
  create(i, c) {
153
153
  return o.post("/", i, c);
@@ -184,7 +184,7 @@ function He(e, t = te, a, r) {
184
184
  }
185
185
  };
186
186
  }
187
- function Ve(e) {
187
+ function qe(e) {
188
188
  var o, i, c, n;
189
189
  const t = () => /Mobi|Android/i.test(navigator.userAgent) ? "Mobile" : "Desktop", a = () => {
190
190
  const s = navigator.platform;
@@ -195,18 +195,18 @@ function Ve(e) {
195
195
  isMobile: `${t() == "Mobile"}`,
196
196
  browser: navigator.userAgent,
197
197
  origin: window.location.origin,
198
- agentType: pe(r),
198
+ agentType: ve(r),
199
199
  agentVoice: {
200
200
  voiceId: (i = (o = e.presenter) == null ? void 0 : o.voice) == null ? void 0 : i.voice_id,
201
201
  provider: (n = (c = e.presenter) == null ? void 0 : c.voice) == null ? void 0 : n.type
202
202
  }
203
203
  };
204
204
  }
205
- function qe(e) {
205
+ function Oe(e) {
206
206
  var a, r, o, i, c, n;
207
207
  const t = (a = e.llm) == null ? void 0 : a.prompt_customization;
208
208
  return {
209
- agentType: pe(e.presenter),
209
+ agentType: ve(e.presenter),
210
210
  owner_id: e.owner_id ?? "",
211
211
  promptVersion: (r = e.llm) == null ? void 0 : r.prompt_version,
212
212
  behavior: {
@@ -225,8 +225,8 @@ function qe(e) {
225
225
  ...e.access === "public" ? { from: "agent-template" } : {}
226
226
  };
227
227
  }
228
- const Oe = (e) => e.reduce((t, a) => t + a, 0), ue = (e) => Oe(e) / e.length;
229
- function Xe(e, t, a) {
228
+ const Xe = (e) => e.reduce((t, a) => t + a, 0), ue = (e) => Xe(e) / e.length;
229
+ function Ye(e, t, a) {
230
230
  var s, d, l;
231
231
  const { event: r, ...o } = e, { template: i } = (t == null ? void 0 : t.llm) || {}, { language: c } = ((s = t == null ? void 0 : t.presenter) == null ? void 0 : s.voice) || {};
232
232
  return {
@@ -237,9 +237,12 @@ function Xe(e, t, a) {
237
237
  ...a
238
238
  };
239
239
  }
240
+ function fe(e) {
241
+ "requestIdleCallback" in window ? requestIdleCallback(e, { timeout: 2e3 }) : setTimeout(e, 0);
242
+ }
240
243
  let re = {};
241
- const Ye = "https://api-js.mixpanel.com/track/?verbose=1&ip=1";
242
- function Qe(e) {
244
+ const Qe = "https://api-js.mixpanel.com/track/?verbose=1&ip=1";
245
+ function Ze(e) {
243
246
  const t = window != null && window.hasOwnProperty("DID_AGENTS_API") ? "agents-ui" : "agents-sdk";
244
247
  return {
245
248
  token: e.token || "testKey",
@@ -250,14 +253,14 @@ function Qe(e) {
250
253
  ...e.mixpanelAdditionalProperties || {}
251
254
  },
252
255
  isEnabled: e.isEnabled ?? !0,
253
- getRandom: q,
256
+ getRandom: O,
254
257
  enrich(a) {
255
258
  this.additionalProperties = { ...this.additionalProperties, ...a };
256
259
  },
257
- async track(a, r) {
260
+ async track(a, r, o) {
258
261
  if (!this.isEnabled)
259
262
  return Promise.resolve();
260
- const { audioPath: o, ...i } = r || {}, c = {
263
+ const { audioPath: i, ...c } = r || {}, n = o || Date.now(), s = {
261
264
  method: "POST",
262
265
  headers: {
263
266
  "Content-Type": "application/x-www-form-urlencoded"
@@ -268,11 +271,11 @@ function Qe(e) {
268
271
  event: a,
269
272
  properties: {
270
273
  ...this.additionalProperties,
271
- ...i,
274
+ ...c,
272
275
  agentId: this.agentId,
273
276
  source: t,
274
277
  token: this.token,
275
- time: Date.now(),
278
+ time: n,
276
279
  $insert_id: this.getRandom(),
277
280
  origin: window.location.href,
278
281
  "Screen Height": window.screen.height || window.innerWidth,
@@ -283,11 +286,10 @@ function Qe(e) {
283
286
  ])
284
287
  })
285
288
  };
286
- try {
287
- return await fetch(Ye, c).then((n) => n.json());
288
- } catch (n) {
289
- return console.error(n);
290
- }
289
+ return fetch(Qe, {
290
+ ...s,
291
+ keepalive: !0
292
+ }).catch((d) => console.error("Analytics tracking error:", d)), Promise.resolve();
291
293
  },
292
294
  linkTrack(a, r, o, i) {
293
295
  re[a] || (re[a] = { events: {}, resolvedDependencies: [] }), i.includes(o) || i.push(o);
@@ -305,7 +307,7 @@ function Qe(e) {
305
307
  }
306
308
  };
307
309
  }
308
- function Re() {
310
+ function De() {
309
311
  let e = 0;
310
312
  return {
311
313
  reset: () => e = 0,
@@ -313,13 +315,13 @@ function Re() {
313
315
  get: (t = !1) => t ? Date.now() - e : e
314
316
  };
315
317
  }
316
- const N = Re(), ie = Re();
317
- function Ce(e) {
318
- return e === _.Playground ? { headers: { [ze]: "true" } } : {};
318
+ const N = De(), ie = De();
319
+ function Re(e) {
320
+ return e === T.Playground ? { headers: { [Fe]: "true" } } : {};
319
321
  }
320
322
  async function se(e, t, a, r, o = !1, i) {
321
323
  try {
322
- return !i && !ve(r) && (i = await t.newChat(e.id, { persist: o }, Ce(r)), a.track("agent-chat", {
324
+ return !i && !ye(r) && (i = await t.newChat(e.id, { persist: o }, Re(r)), a.track("agent-chat", {
323
325
  event: "created",
324
326
  chatId: i.id,
325
327
  mode: r
@@ -335,59 +337,59 @@ async function se(e, t, a, r, o = !1, i) {
335
337
  throw new Error("Cannot create new chat");
336
338
  }
337
339
  }
338
- function Ze(e) {
340
+ function Ge(e) {
339
341
  return e && e.length > 0 ? e : [];
340
342
  }
341
- function Ge(e, t, a) {
343
+ function et(e, t, a) {
342
344
  if (!e)
343
345
  throw new Error("Please connect to the agent first");
344
346
  if (!e.interruptAvailable)
345
347
  throw new Error("Interrupt is not enabled for this stream");
346
- if (t !== W.Fluent)
348
+ if (t !== J.Fluent)
347
349
  throw new Error("Interrupt only available for Fluent streams");
348
350
  if (!a)
349
351
  throw new Error("No active video to interrupt");
350
352
  }
351
- async function et(e, t) {
353
+ async function tt(e, t) {
352
354
  const a = {
353
- type: P.StreamInterrupt,
355
+ type: b.StreamInterrupt,
354
356
  videoId: t,
355
357
  timestamp: Date.now()
356
358
  };
357
359
  e.sendDataChannelMessage(JSON.stringify(a));
358
360
  }
359
- function tt(e) {
361
+ function rt(e) {
360
362
  return new Promise((t, a) => {
361
- const { callbacks: r, host: o, auth: i, externalId: c } = e, { onMessage: n = null, onOpen: s = null, onClose: d = null, onError: l = null } = r || {}, h = new WebSocket(`${o}?authorization=${encodeURIComponent(ye(i, c))}`);
362
- h.onmessage = n, h.onclose = d, h.onerror = (y) => {
363
+ const { callbacks: r, host: o, auth: i, externalId: c } = e, { onMessage: n = null, onOpen: s = null, onClose: d = null, onError: l = null } = r || {}, u = new WebSocket(`${o}?authorization=${encodeURIComponent(ke(i, c))}`);
364
+ u.onmessage = n, u.onclose = d, u.onerror = (y) => {
363
365
  console.error(y), l == null || l("Websocket failed to connect", y), a(y);
364
- }, h.onopen = (y) => {
365
- s == null || s(y), t(h);
366
+ }, u.onopen = (y) => {
367
+ s == null || s(y), t(u);
366
368
  };
367
369
  });
368
370
  }
369
- async function rt(e) {
371
+ async function nt(e) {
370
372
  const { retries: t = 1 } = e;
371
373
  let a = null;
372
374
  for (let r = 0; (a == null ? void 0 : a.readyState) !== WebSocket.OPEN; r++)
373
375
  try {
374
- a = await tt(e);
376
+ a = await rt(e);
375
377
  } catch (o) {
376
378
  if (r === t)
377
379
  throw o;
378
- await we(r * 500);
380
+ await pe(r * 500);
379
381
  }
380
382
  return a;
381
383
  }
382
- async function nt(e, t, a, r) {
383
- const o = a != null && a.onMessage ? [a.onMessage] : [], i = await rt({
384
+ async function at(e, t, a, r) {
385
+ const o = a != null && a.onMessage ? [a.onMessage] : [], i = await nt({
384
386
  auth: e,
385
387
  host: t,
386
388
  externalId: r,
387
389
  callbacks: {
388
390
  onError: (c) => {
389
391
  var n;
390
- return (n = a.onError) == null ? void 0 : n.call(a, new Me(c));
392
+ return (n = a.onError) == null ? void 0 : n.call(a, new _e(c));
391
393
  },
392
394
  onMessage(c) {
393
395
  const n = JSON.parse(c.data);
@@ -401,7 +403,7 @@ async function nt(e, t, a, r) {
401
403
  subscribeToEvents: (c) => o.push(c)
402
404
  };
403
405
  }
404
- function at(e) {
406
+ function it(e) {
405
407
  if (e.answer !== void 0)
406
408
  return e.answer;
407
409
  let t = 0, a = "";
@@ -409,41 +411,41 @@ function at(e) {
409
411
  a += e[t++];
410
412
  return a;
411
413
  }
412
- function it(e, t, a, r, o) {
414
+ function st(e, t, a, r, o) {
413
415
  const i = r.messages[r.messages.length - 1];
414
- if (!(e === V.Partial || e === V.Answer) || (i == null ? void 0 : i.role) !== "assistant")
416
+ if (!(e === q.Partial || e === q.Answer) || (i == null ? void 0 : i.role) !== "assistant")
415
417
  return;
416
418
  const { content: c, sequence: n } = t;
417
- e === V.Partial ? a[n] = c : a.answer = c;
418
- const s = at(a);
419
- (i.content !== s || e === V.Answer) && (i.content = s, o == null || o([...r.messages], e));
419
+ e === q.Partial ? a[n] = c : a.answer = c;
420
+ const s = it(a);
421
+ (i.content !== s || e === q.Answer) && (i.content = s, o == null || o([...r.messages], e));
420
422
  }
421
- function st(e, t, a, r, o) {
423
+ function ot(e, t, a, r, o) {
422
424
  let i = {};
423
425
  return {
424
426
  clearQueue: () => i = {},
425
427
  onMessage: (c, n) => {
426
428
  var s, d;
427
429
  if ("content" in n)
428
- it(c, n, i, t, a.callbacks.onNewMessage), c === V.Answer && e.track("agent-message-received", {
430
+ st(c, n, i, t, a.callbacks.onNewMessage), c === q.Answer && e.track("agent-message-received", {
429
431
  messages: t.messages.length,
430
432
  mode: t.chatMode
431
433
  });
432
434
  else {
433
- const l = P, h = [l.StreamVideoDone, l.StreamVideoError, l.StreamVideoRejected], y = [l.StreamFailed, l.StreamVideoError, l.StreamVideoRejected], b = Xe(n, r, { mode: t.chatMode });
435
+ const l = b, u = [l.StreamVideoDone, l.StreamVideoError, l.StreamVideoRejected], y = [l.StreamFailed, l.StreamVideoError, l.StreamVideoRejected], A = Ye(n, r, { mode: t.chatMode });
434
436
  if (c = c, c === l.StreamVideoCreated)
435
- e.linkTrack("agent-video", b, l.StreamVideoCreated, ["start"]);
436
- else if (h.includes(c)) {
437
- const L = c.split("/")[1];
438
- y.includes(c) ? e.track("agent-video", { ...b, event: L }) : e.linkTrack("agent-video", { ...b, event: L }, c, ["done"]);
437
+ e.linkTrack("agent-video", A, l.StreamVideoCreated, ["start"]);
438
+ else if (u.includes(c)) {
439
+ const j = c.split("/")[1];
440
+ y.includes(c) ? e.track("agent-video", { ...A, event: j }) : e.linkTrack("agent-video", { ...A, event: j }, c, ["done"]);
439
441
  }
440
442
  y.includes(c) && ((d = (s = a.callbacks).onError) == null || d.call(s, new Error(`Stream failed with event ${c}`), { data: n })), n.event === l.StreamDone && o();
441
443
  }
442
444
  }
443
445
  };
444
446
  }
445
- function ot(e, t, a, r) {
446
- const o = ke(e, `${t}/agents/${a}`, r);
447
+ function ct(e, t, a, r) {
448
+ const o = Ce(e, `${t}/agents/${a}`, r);
447
449
  return {
448
450
  createStream(i) {
449
451
  return o.post("/streams", i);
@@ -471,8 +473,8 @@ function ot(e, t, a, r) {
471
473
  }
472
474
  };
473
475
  }
474
- const ct = (e, t) => (a, r) => e && console.log(`[${t}] ${a}`, r ?? "");
475
- function dt(e, t, a) {
476
+ const dt = (e, t) => (a, r) => e && console.log(`[${t}] ${a}`, r ?? "");
477
+ function lt(e, t, a) {
476
478
  const r = (t.timestamp - e.timestamp) / 1e3;
477
479
  return {
478
480
  duration: r,
@@ -492,7 +494,7 @@ function dt(e, t, a) {
492
494
  lowFpsCount: a
493
495
  };
494
496
  }
495
- function lt(e) {
497
+ function ut(e) {
496
498
  return e.filter(
497
499
  (t) => t.freezeCount > 0 || t.framesPerSecond < 21 || t.framesDropped > 0 || t.packetsLost > 0
498
500
  ).map((t) => {
@@ -503,7 +505,7 @@ function lt(e) {
503
505
  };
504
506
  });
505
507
  }
506
- function ut(e) {
508
+ function ft(e) {
507
509
  let t = "", a = 0;
508
510
  for (const r of e.values()) {
509
511
  if (r && r.type === "codec" && r.mimeType.startsWith("video") && (t = r.mimeType.split("/")[1]), r && r.type === "candidate-pair") {
@@ -533,7 +535,7 @@ function ut(e) {
533
535
  }
534
536
  return {};
535
537
  }
536
- function ft(e, t, a) {
538
+ function mt(e, t, a) {
537
539
  const r = e.map((s, d) => d === 0 ? a ? {
538
540
  timestamp: s.timestamp,
539
541
  duration: 0,
@@ -585,14 +587,14 @@ function ft(e, t, a) {
585
587
  framesPerSecond: s.framesPerSecond,
586
588
  freezeCount: s.freezeCount - e[d - 1].freezeCount,
587
589
  freezeDuration: s.freezeDuration - e[d - 1].freezeDuration
588
- }), o = lt(r), i = o.reduce((s, d) => s + (d.causes.includes("low fps") ? 1 : 0), 0), c = r.filter((s) => !!s.avgJitterDelayInInterval).map((s) => s.avgJitterDelayInInterval), n = r.filter((s) => !!s.rtt).map((s) => s.rtt);
590
+ }), o = ut(r), i = o.reduce((s, d) => s + (d.causes.includes("low fps") ? 1 : 0), 0), c = r.filter((s) => !!s.avgJitterDelayInInterval).map((s) => s.avgJitterDelayInInterval), n = r.filter((s) => !!s.rtt).map((s) => s.rtt);
589
591
  return {
590
592
  webRTCStats: {
591
593
  anomalies: o,
592
594
  minRtt: Math.min(...n),
593
595
  avgRtt: ue(n),
594
596
  maxRtt: Math.max(...n),
595
- aggregateReport: dt(e[0], e[e.length - 1], i),
597
+ aggregateReport: lt(e[0], e[e.length - 1], i),
596
598
  minJitterDelayInInterval: Math.min(...c),
597
599
  maxJitterDelayInInterval: Math.max(...c),
598
600
  avgJitterDelayInInterval: ue(c)
@@ -601,16 +603,16 @@ function ft(e, t, a) {
601
603
  resolution: `${e[0].frameWidth}x${e[0].frameHeight}`
602
604
  };
603
605
  }
604
- const oe = 100, mt = Math.max(Math.ceil(400 / oe), 1), gt = 0.25, ht = 0.28;
605
- function wt() {
606
+ const oe = 100, gt = Math.max(Math.ceil(400 / oe), 1), ht = 0.25, wt = 0.28;
607
+ function pt() {
606
608
  let e = 0, t, a, r = 0;
607
609
  return (o) => {
608
610
  for (const i of o.values())
609
611
  if (i && i.type === "inbound-rtp" && i.kind === "video") {
610
612
  const c = i.jitterBufferDelay, n = i.jitterBufferEmittedCount;
611
613
  if (a && n > a) {
612
- const l = c - t, h = n - a;
613
- r = l / h;
614
+ const l = c - t, u = n - a;
615
+ r = l / u;
614
616
  }
615
617
  t = c, a = n;
616
618
  const s = i.framesDecoded, d = s - e > 0;
@@ -619,41 +621,41 @@ function wt() {
619
621
  return { isReceiving: !1, avgJitterDelayInInterval: r };
620
622
  };
621
623
  }
622
- function pt(e, t, a, r, o) {
623
- let i = [], c, n = 0, s = !1, d = Z.Unknown, l = Z.Unknown, h = 0, y = 0;
624
- const b = wt();
624
+ function vt(e, t, a, r, o) {
625
+ let i = [], c, n = 0, s = !1, d = Z.Unknown, l = Z.Unknown, u = 0, y = 0;
626
+ const A = pt();
625
627
  return setInterval(async () => {
626
- const L = await e.getStats(), { isReceiving: x, avgJitterDelayInInterval: j, freezeCount: B } = b(L), D = ut(L);
627
- if (x)
628
- n = 0, h = B - y, l = j < gt ? Z.Strong : j > ht && h > 1 ? Z.Weak : d, l !== d && (o == null || o(l), d = l, y += h, h = 0), s || (r == null || r(w.Start), c = i[i.length - 1], i = [], s = !0), i.push(D);
629
- else if (s && (n++, n >= mt)) {
630
- const K = ft(i, oe, c);
631
- r == null || r(w.Stop, K), t() || a(), y = B, s = !1;
628
+ const j = await e.getStats(), { isReceiving: z, avgJitterDelayInInterval: F, freezeCount: L } = A(j), C = ft(j);
629
+ if (z)
630
+ n = 0, u = L - y, l = F < ht ? Z.Strong : F > wt && u > 1 ? Z.Weak : d, l !== d && (o == null || o(l), d = l, y += u, u = 0), s || (r == null || r(w.Start), c = i[i.length - 1], i = [], s = !0), i.push(C);
631
+ else if (s && (n++, n >= gt)) {
632
+ const K = mt(i, oe, c);
633
+ r == null || r(w.Stop, K), t() || a(), y = L, s = !1;
632
634
  }
633
635
  }, oe);
634
636
  }
635
- const vt = (window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection).bind(window);
636
- function fe(e) {
637
+ const yt = (window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection).bind(window);
638
+ function me(e) {
637
639
  switch (e) {
638
640
  case "connected":
639
- return I.Connected;
641
+ return M.Connected;
640
642
  case "checking":
641
- return I.Connecting;
643
+ return M.Connecting;
642
644
  case "failed":
643
- return I.Fail;
645
+ return M.Fail;
644
646
  case "new":
645
- return I.New;
647
+ return M.New;
646
648
  case "closed":
647
- return I.Closed;
649
+ return M.Closed;
648
650
  case "disconnected":
649
- return I.Disconnected;
651
+ return M.Disconnected;
650
652
  case "completed":
651
- return I.Completed;
653
+ return M.Completed;
652
654
  default:
653
- return I.New;
655
+ return M.New;
654
656
  }
655
657
  }
656
- const yt = (e) => (t) => {
658
+ const kt = (e) => (t) => {
657
659
  const [a, r = ""] = t.split(/:(.+)/);
658
660
  try {
659
661
  const o = JSON.parse(r);
@@ -662,7 +664,7 @@ const yt = (e) => (t) => {
662
664
  return e("Failed to parse data channel message, returning data as string", { subject: a, rawData: r, error: o }), { subject: a, data: r };
663
665
  }
664
666
  };
665
- function kt({
667
+ function Ct({
666
668
  statsSignal: e,
667
669
  dataChannelSignal: t,
668
670
  onVideoStateChange: a,
@@ -670,16 +672,16 @@ function kt({
670
672
  }) {
671
673
  e === w.Start && t === w.Start ? a == null || a(w.Start) : e === w.Stop && t === w.Stop && (a == null || a(w.Stop, r));
672
674
  }
673
- function Rt({
675
+ function Dt({
674
676
  statsSignal: e,
675
677
  dataChannelSignal: t,
676
678
  onVideoStateChange: a,
677
679
  onAgentActivityStateChange: r,
678
680
  report: o
679
681
  }) {
680
- e === w.Start ? a == null || a(w.Start) : e === w.Stop && (a == null || a(w.Stop, o)), t === w.Start ? r == null || r(O.Talking) : t === w.Stop && (r == null || r(O.Idle));
682
+ e === w.Start ? a == null || a(w.Start) : e === w.Stop && (a == null || a(w.Stop, o)), t === w.Start ? r == null || r(X.Talking) : t === w.Stop && (r == null || r(X.Idle));
681
683
  }
682
- function me({
684
+ function ge({
683
685
  statsSignal: e,
684
686
  dataChannelSignal: t,
685
687
  onVideoStateChange: a,
@@ -687,7 +689,7 @@ function me({
687
689
  streamType: o,
688
690
  report: i
689
691
  }) {
690
- o === W.Legacy ? kt({ statsSignal: e, dataChannelSignal: t, onVideoStateChange: a, report: i }) : o === W.Fluent && Rt({
692
+ o === J.Legacy ? Ct({ statsSignal: e, dataChannelSignal: t, onVideoStateChange: a, report: i }) : o === J.Fluent && Dt({
691
693
  statsSignal: e,
692
694
  dataChannelSignal: t,
693
695
  onVideoStateChange: a,
@@ -695,185 +697,185 @@ function me({
695
697
  report: i
696
698
  });
697
699
  }
698
- async function Ct(e, t, { debug: a = !1, callbacks: r, auth: o, baseURL: i = te, analytics: c }) {
699
- var X;
700
- const n = ct(a, "WebRTCStreamingManager"), s = yt(n);
701
- let d = !1, l = !1, h = w.Stop, y = w.Stop;
702
- const { startConnection: b, sendStreamRequest: L, close: x, createStream: j, addIceCandidate: B } = ot(
700
+ async function Rt(e, t, { debug: a = !1, callbacks: r, auth: o, baseURL: i = te, analytics: c }) {
701
+ var H;
702
+ const n = dt(a, "WebRTCStreamingManager"), s = kt(n);
703
+ let d = !1, l = !1, u = w.Stop, y = w.Stop;
704
+ const { startConnection: A, sendStreamRequest: j, close: z, createStream: F, addIceCandidate: L } = ct(
703
705
  o,
704
706
  i,
705
707
  e,
706
708
  r.onError
707
709
  ), {
708
- id: D,
710
+ id: C,
709
711
  offer: K,
710
712
  ice_servers: G,
711
- session_id: u,
712
- fluent: k,
713
- interrupt_enabled: v,
714
- triggers_enabled: T
715
- } = await j(t);
716
- (X = r.onStreamCreated) == null || X.call(r, { stream_id: D, session_id: u, agent_id: e });
717
- const g = new vt({ iceServers: G }), p = g.createDataChannel("JanusDataChannel");
718
- if (!u)
713
+ session_id: x,
714
+ fluent: Y,
715
+ interrupt_enabled: f,
716
+ triggers_enabled: D
717
+ } = await F(t);
718
+ (H = r.onStreamCreated) == null || H.call(r, { stream_id: C, session_id: x, agent_id: e });
719
+ const g = new yt({ iceServers: G }), S = g.createDataChannel("JanusDataChannel");
720
+ if (!x)
719
721
  throw new Error("Could not create session_id");
720
- const S = k ? W.Fluent : W.Legacy;
722
+ const p = Y ? J.Fluent : J.Legacy;
721
723
  c.enrich({
722
- "stream-type": S
724
+ "stream-type": p
723
725
  });
724
- const $ = t.stream_warmup && !k, z = () => d, C = () => {
725
- var f;
726
- d = !0, l && ((f = r.onConnectionStateChange) == null || f.call(r, I.Connected));
727
- }, E = pt(
726
+ const k = t.stream_warmup && !Y, P = () => d, B = () => {
727
+ var m;
728
+ d = !0, l && ((m = r.onConnectionStateChange) == null || m.call(r, M.Connected));
729
+ }, $ = vt(
728
730
  g,
729
- z,
730
- C,
731
- (f, m) => me({
732
- statsSignal: y = f,
733
- dataChannelSignal: S === W.Legacy ? h : void 0,
731
+ P,
732
+ B,
733
+ (m, h) => ge({
734
+ statsSignal: y = m,
735
+ dataChannelSignal: p === J.Legacy ? u : void 0,
734
736
  onVideoStateChange: r.onVideoStateChange,
735
737
  onAgentActivityStateChange: r.onAgentActivityStateChange,
736
- report: m,
737
- streamType: S
738
+ report: h,
739
+ streamType: p
738
740
  }),
739
- (f) => {
740
- var m;
741
- return (m = r.onConnectivityStateChange) == null ? void 0 : m.call(r, f);
741
+ (m) => {
742
+ var h;
743
+ return (h = r.onConnectivityStateChange) == null ? void 0 : h.call(r, m);
742
744
  }
743
745
  );
744
- g.onicecandidate = (f) => {
745
- var m;
746
- n("peerConnection.onicecandidate", f);
746
+ g.onicecandidate = (m) => {
747
+ var h;
748
+ n("peerConnection.onicecandidate", m);
747
749
  try {
748
- f.candidate && f.candidate.sdpMid && f.candidate.sdpMLineIndex !== null ? B(
749
- D,
750
+ m.candidate && m.candidate.sdpMid && m.candidate.sdpMLineIndex !== null ? L(
751
+ C,
750
752
  {
751
- candidate: f.candidate.candidate,
752
- sdpMid: f.candidate.sdpMid,
753
- sdpMLineIndex: f.candidate.sdpMLineIndex
753
+ candidate: m.candidate.candidate,
754
+ sdpMid: m.candidate.sdpMid,
755
+ sdpMLineIndex: m.candidate.sdpMLineIndex
754
756
  },
755
- u
756
- ) : B(D, { candidate: null }, u);
757
- } catch (A) {
758
- (m = r.onError) == null || m.call(r, A, { streamId: D });
757
+ x
758
+ ) : L(C, { candidate: null }, x);
759
+ } catch (E) {
760
+ (h = r.onError) == null || h.call(r, E, { streamId: C });
759
761
  }
760
- }, p.onopen = () => {
761
- l = !0, (!$ || d) && C();
762
+ }, S.onopen = () => {
763
+ l = !0, (!k || d) && B();
762
764
  };
763
- const J = (f) => {
764
- var m;
765
- (m = r.onVideoIdChange) == null || m.call(r, f);
765
+ const R = (m) => {
766
+ var h;
767
+ (h = r.onVideoIdChange) == null || h.call(r, m);
766
768
  };
767
- function R(f, m) {
768
- if (f === P.StreamStarted && typeof m == "object" && "metadata" in m) {
769
- const A = m.metadata;
770
- J(A.videoId);
769
+ function _(m, h) {
770
+ if (m === b.StreamStarted && typeof h == "object" && "metadata" in h) {
771
+ const E = h.metadata;
772
+ R(E.videoId);
771
773
  }
772
- f === P.StreamDone && J(null), h = f === P.StreamStarted ? w.Start : w.Stop, me({
773
- statsSignal: S === W.Legacy ? y : void 0,
774
- dataChannelSignal: h,
774
+ m === b.StreamDone && R(null), u = m === b.StreamStarted ? w.Start : w.Stop, ge({
775
+ statsSignal: p === J.Legacy ? y : void 0,
776
+ dataChannelSignal: u,
775
777
  onVideoStateChange: r.onVideoStateChange,
776
778
  onAgentActivityStateChange: r.onAgentActivityStateChange,
777
- streamType: S
779
+ streamType: p
778
780
  });
779
781
  }
780
- function M(f, m) {
781
- const A = typeof m == "string" ? m : m == null ? void 0 : m.metadata;
782
- A && c.enrich({ streamMetadata: A }), c.track("agent-chat", { event: "ready" });
782
+ function W(m, h) {
783
+ const E = typeof h == "string" ? h : h == null ? void 0 : h.metadata;
784
+ E && c.enrich({ streamMetadata: E }), c.track("agent-chat", { event: "ready" });
783
785
  }
784
- const U = {
785
- [P.StreamStarted]: R,
786
- [P.StreamDone]: R,
787
- [P.StreamReady]: M
786
+ const v = {
787
+ [b.StreamStarted]: _,
788
+ [b.StreamDone]: _,
789
+ [b.StreamReady]: W
788
790
  };
789
- p.onmessage = (f) => {
790
- var Y;
791
- const { subject: m, data: A } = s(f.data);
792
- (Y = U[m]) == null || Y.call(U, m, A);
791
+ S.onmessage = (m) => {
792
+ var U;
793
+ const { subject: h, data: E } = s(m.data);
794
+ (U = v[h]) == null || U.call(v, h, E);
793
795
  }, g.oniceconnectionstatechange = () => {
794
- var m;
796
+ var h;
795
797
  n("peerConnection.oniceconnectionstatechange => " + g.iceConnectionState);
796
- const f = fe(g.iceConnectionState);
797
- f !== I.Connected && ((m = r.onConnectionStateChange) == null || m.call(r, f));
798
- }, g.ontrack = (f) => {
799
- var m;
800
- n("peerConnection.ontrack", f), (m = r.onSrcObjectReady) == null || m.call(r, f.streams[0]);
798
+ const m = me(g.iceConnectionState);
799
+ m !== M.Connected && ((h = r.onConnectionStateChange) == null || h.call(r, m));
800
+ }, g.ontrack = (m) => {
801
+ var h;
802
+ n("peerConnection.ontrack", m), (h = r.onSrcObjectReady) == null || h.call(r, m.streams[0]);
801
803
  }, await g.setRemoteDescription(K), n("set remote description OK");
802
- const F = await g.createAnswer();
803
- return n("create answer OK"), await g.setLocalDescription(F), n("set local description OK"), await b(D, F, u), n("start connection OK"), {
804
+ const I = await g.createAnswer();
805
+ return n("create answer OK"), await g.setLocalDescription(I), n("set local description OK"), await A(C, I, x), n("start connection OK"), {
804
806
  /**
805
807
  * Method to send request to server to get clip or talk depend on you payload
806
808
  * @param payload
807
809
  */
808
- speak(f) {
809
- return L(D, u, f);
810
+ speak(m) {
811
+ return j(C, x, m);
810
812
  },
811
813
  /**
812
814
  * Method to close RTC connection
813
815
  */
814
816
  async disconnect() {
815
- var f;
816
- if (D) {
817
- const m = fe(g.iceConnectionState);
817
+ var m;
818
+ if (C) {
819
+ const h = me(g.iceConnectionState);
818
820
  if (g) {
819
- if (m === I.New) {
820
- clearInterval(E);
821
+ if (h === M.New) {
822
+ clearInterval($);
821
823
  return;
822
824
  }
823
825
  g.close(), g.oniceconnectionstatechange = null, g.onnegotiationneeded = null, g.onicecandidate = null, g.ontrack = null;
824
826
  }
825
827
  try {
826
- m === I.Connected && await x(D, u).catch((A) => {
828
+ h === M.Connected && await z(C, x).catch((E) => {
827
829
  });
828
- } catch (A) {
829
- n("Error on close stream connection", A);
830
+ } catch (E) {
831
+ n("Error on close stream connection", E);
830
832
  }
831
- (f = r.onAgentActivityStateChange) == null || f.call(r, O.Idle), clearInterval(E);
833
+ (m = r.onAgentActivityStateChange) == null || m.call(r, X.Idle), clearInterval($);
832
834
  }
833
835
  },
834
836
  /**
835
837
  * Method to send data channel messages to the server
836
838
  */
837
- sendDataChannelMessage(f) {
838
- var m, A;
839
- if (!d || p.readyState !== "open") {
840
- n("Data channel is not ready for sending messages"), (m = r.onError) == null || m.call(r, new Error("Data channel is not ready for sending messages"), {
841
- streamId: D
839
+ sendDataChannelMessage(m) {
840
+ var h, E;
841
+ if (!d || S.readyState !== "open") {
842
+ n("Data channel is not ready for sending messages"), (h = r.onError) == null || h.call(r, new Error("Data channel is not ready for sending messages"), {
843
+ streamId: C
842
844
  });
843
845
  return;
844
846
  }
845
847
  try {
846
- p.send(f);
847
- } catch (Y) {
848
- n("Error sending data channel message", Y), (A = r.onError) == null || A.call(r, Y, { streamId: D });
848
+ S.send(m);
849
+ } catch (U) {
850
+ n("Error sending data channel message", U), (E = r.onError) == null || E.call(r, U, { streamId: C });
849
851
  }
850
852
  },
851
853
  /**
852
854
  * Session identifier information, should be returned in the body of all streaming requests
853
855
  */
854
- sessionId: u,
856
+ sessionId: x,
855
857
  /**
856
858
  * Id of current RTC stream
857
859
  */
858
- streamId: D,
859
- streamType: S,
860
- interruptAvailable: v ?? !1,
861
- triggersAvailable: T ?? !1
860
+ streamId: C,
861
+ streamType: p,
862
+ interruptAvailable: f ?? !1,
863
+ triggersAvailable: D ?? !1
862
864
  };
863
865
  }
864
866
  var ce = /* @__PURE__ */ ((e) => (e.V1 = "v1", e.V2 = "v2", e))(ce || {});
865
- async function Dt(e, t, a) {
867
+ async function St(e, t, a) {
866
868
  const r = e.id;
867
869
  switch (t.version) {
868
870
  case "v1": {
869
871
  const { version: o, ...i } = t;
870
- return Ct(r, i, a);
872
+ return Rt(r, i, a);
871
873
  }
872
874
  case "v2": {
873
875
  const { version: o, ...i } = t;
874
876
  switch (i.transport_provider) {
875
877
  case de.Livekit:
876
- const { createLiveKitStreamingManager: c } = await import("./livekit-manager-D7QkEucf.js");
878
+ const { createLiveKitStreamingManager: c } = await import("./livekit-manager-CNKaXUpT.js");
877
879
  return c(r, i, a);
878
880
  default:
879
881
  throw new Error(`Unsupported transport provider: ${i.transport_provider}`);
@@ -883,13 +885,13 @@ async function Dt(e, t, a) {
883
885
  throw new Error(`Invalid stream version: ${t.version}`);
884
886
  }
885
887
  }
886
- function St(e) {
888
+ function It(e) {
887
889
  return {
888
890
  transport_provider: de.Livekit,
889
891
  chat_id: e == null ? void 0 : e.chatId
890
892
  };
891
893
  }
892
- function It(e) {
894
+ function Et(e) {
893
895
  var o, i;
894
896
  const { streamOptions: t } = e ?? {}, a = ((o = e == null ? void 0 : e.mixpanelAdditionalProperties) == null ? void 0 : o.plan) !== void 0 ? {
895
897
  plan: (i = e.mixpanelAdditionalProperties) == null ? void 0 : i.plan
@@ -902,13 +904,13 @@ function It(e) {
902
904
  fluent: t == null ? void 0 : t.fluent
903
905
  }, ...a && { end_user_data: a } };
904
906
  }
905
- function Et(e, t) {
906
- return le(e.presenter.type) ? { version: ce.V2, ...St(t) } : { version: ce.V1, ...It(t) };
907
- }
908
- function Mt(e, t, a, r, o) {
909
- o === W.Fluent ? _t(e, t, a, r, o) : At(e, t, a, r, o);
907
+ function Mt(e, t) {
908
+ return le(e.presenter.type) ? { version: ce.V2, ...It(t) } : { version: ce.V1, ...Et(t) };
910
909
  }
911
910
  function _t(e, t, a, r, o) {
911
+ o === J.Fluent ? Tt(e, t, a, r, o) : Pt(e, t, a, r, o);
912
+ }
913
+ function Tt(e, t, a, r, o) {
912
914
  e === w.Start ? r.track("stream-session", { event: "start", "stream-type": o }) : e === w.Stop && r.track("stream-session", {
913
915
  event: "stop",
914
916
  is_greenscreen: t.presenter.type === "clip" && t.presenter.is_greenscreen,
@@ -917,12 +919,12 @@ function _t(e, t, a, r, o) {
917
919
  ...a
918
920
  });
919
921
  }
920
- function Tt(e, t, a, r) {
922
+ function At(e, t, a, r) {
921
923
  N.get() <= 0 || (e === w.Start ? a.linkTrack(
922
924
  "agent-video",
923
925
  { event: "start", latency: N.get(!0), "stream-type": r },
924
926
  "start",
925
- [P.StreamVideoCreated]
927
+ [b.StreamVideoCreated]
926
928
  ) : e === w.Stop && a.linkTrack(
927
929
  "agent-video",
928
930
  {
@@ -932,15 +934,15 @@ function Tt(e, t, a, r) {
932
934
  "stream-type": r
933
935
  },
934
936
  "done",
935
- [P.StreamVideoDone]
937
+ [b.StreamVideoDone]
936
938
  ));
937
939
  }
938
- function At(e, t, a, r, o) {
940
+ function Pt(e, t, a, r, o) {
939
941
  N.get() <= 0 || (e === w.Start ? r.linkTrack(
940
942
  "agent-video",
941
943
  { event: "start", latency: N.get(!0), "stream-type": o },
942
944
  "start",
943
- [P.StreamVideoCreated]
945
+ [b.StreamVideoCreated]
944
946
  ) : e === w.Stop && r.linkTrack(
945
947
  "agent-video",
946
948
  {
@@ -951,25 +953,25 @@ function At(e, t, a, r, o) {
951
953
  ...a
952
954
  },
953
955
  "done",
954
- [P.StreamVideoDone]
956
+ [b.StreamVideoDone]
955
957
  ));
956
958
  }
957
- function ge(e, t, a) {
959
+ function he(e, t, a) {
958
960
  return N.reset(), new Promise(async (r, o) => {
959
961
  try {
960
962
  let i, c = !1;
961
- i = await Dt(e, Et(e, t), {
963
+ i = await St(e, Mt(e, t), {
962
964
  ...t,
963
965
  analytics: a,
964
966
  callbacks: {
965
967
  ...t.callbacks,
966
968
  onConnectionStateChange: (n) => {
967
969
  var s, d;
968
- (d = (s = t.callbacks).onConnectionStateChange) == null || d.call(s, n), n === I.Connected && (i ? r(i) : c = !0);
970
+ (d = (s = t.callbacks).onConnectionStateChange) == null || d.call(s, n), n === M.Connected && (i ? r(i) : c = !0);
969
971
  },
970
972
  onVideoStateChange: (n, s) => {
971
973
  var d, l;
972
- (l = (d = t.callbacks).onVideoStateChange) == null || l.call(d, n), Mt(
974
+ (l = (d = t.callbacks).onVideoStateChange) == null || l.call(d, n), _t(
973
975
  n,
974
976
  e,
975
977
  s,
@@ -979,8 +981,8 @@ function ge(e, t, a) {
979
981
  },
980
982
  onAgentActivityStateChange: (n) => {
981
983
  var s, d;
982
- (d = (s = t.callbacks).onAgentActivityStateChange) == null || d.call(s, n), n === O.Talking ? ie.update() : ie.reset(), Tt(
983
- n === O.Talking ? w.Start : w.Stop,
984
+ (d = (s = t.callbacks).onAgentActivityStateChange) == null || d.call(s, n), n === X.Talking ? ie.update() : ie.reset(), At(
985
+ n === X.Talking ? w.Start : w.Stop,
984
986
  e,
985
987
  a,
986
988
  i.streamType
@@ -993,304 +995,308 @@ function ge(e, t, a) {
993
995
  }
994
996
  });
995
997
  }
996
- async function jt(e, t, a, r, o) {
997
- var l, h, y, b;
998
+ async function bt(e, t, a, r, o) {
999
+ var l, u, y, A;
998
1000
  const i = async () => {
999
- var L;
1001
+ var j;
1000
1002
  if (le(e.presenter.type)) {
1001
- const x = await se(
1003
+ const z = await se(
1002
1004
  e,
1003
1005
  a,
1004
1006
  r,
1005
1007
  t.mode,
1006
1008
  t.persistentChat,
1007
1009
  o
1008
- ), j = await ge(
1010
+ ), F = await he(
1009
1011
  e,
1010
- { ...t, chatId: (L = x.chat) == null ? void 0 : L.id },
1012
+ { ...t, chatId: (j = z.chat) == null ? void 0 : j.id },
1011
1013
  r
1012
1014
  );
1013
- return { chatResult: x, streamingManager: j };
1015
+ return { chatResult: z, streamingManager: F };
1014
1016
  } else {
1015
- const x = se(
1017
+ const z = se(
1016
1018
  e,
1017
1019
  a,
1018
1020
  r,
1019
1021
  t.mode,
1020
1022
  t.persistentChat,
1021
1023
  o
1022
- ), j = ge(e, t, r), [B, D] = await Promise.all([x, j]);
1023
- return { chatResult: B, streamingManager: D };
1024
+ ), F = he(e, t, r), [L, C] = await Promise.all([z, F]);
1025
+ return { chatResult: L, streamingManager: C };
1024
1026
  }
1025
1027
  }, { chatResult: c, streamingManager: n } = await i(), { chat: s, chatMode: d } = c;
1026
- return d && d !== t.mode && (t.mode = d, (h = (l = t.callbacks).onModeChange) == null || h.call(l, d), d !== _.Functional) ? ((b = (y = t.callbacks).onError) == null || b.call(y, new Ee(d)), n == null || n.disconnect(), { chat: s }) : { chat: s, streamingManager: n };
1028
+ return d && d !== t.mode && (t.mode = d, (u = (l = t.callbacks).onModeChange) == null || u.call(l, d), d !== T.Functional) ? ((A = (y = t.callbacks).onError) == null || A.call(y, new Me(d)), n == null || n.disconnect(), { chat: s }) : { chat: s, streamingManager: n };
1027
1029
  }
1028
- async function Lt(e, t) {
1029
- var D, K, G;
1030
+ async function xt(e, t) {
1031
+ var G, x, Y;
1030
1032
  let a = !0, r = null;
1031
- const o = t.mixpanelKey || Ne, i = t.wsURL || Fe, c = t.baseURL || te, n = {
1033
+ const o = t.mixpanelKey || Je, i = t.wsURL || Ne, c = t.baseURL || te, n = {
1032
1034
  messages: [],
1033
- chatMode: t.mode || _.Functional
1034
- }, s = Qe({
1035
+ chatMode: t.mode || T.Functional
1036
+ }, s = Ze({
1035
1037
  token: o,
1036
1038
  agentId: e,
1037
1039
  isEnabled: t.enableAnalitics,
1038
1040
  externalId: t.externalId,
1039
1041
  mixpanelAdditionalProperties: t.mixpanelAdditionalProperties
1042
+ }), d = Date.now();
1043
+ fe(() => {
1044
+ s.track("agent-sdk", { event: "init" }, d);
1040
1045
  });
1041
- s.track("agent-sdk", { event: "init" });
1042
- const d = He(t.auth, c, t.callbacks.onError, t.externalId), l = await d.getById(e), h = le(l.presenter.type);
1043
- s.enrich(qe(l));
1044
- const { onMessage: y, clearQueue: b } = st(
1046
+ const l = Ve(t.auth, c, t.callbacks.onError, t.externalId), u = await l.getById(e), y = le(u.presenter.type);
1047
+ s.enrich(Oe(u));
1048
+ const { onMessage: A, clearQueue: j } = ot(
1045
1049
  s,
1046
1050
  n,
1047
1051
  t,
1048
- l,
1052
+ u,
1049
1053
  () => {
1050
- var u;
1051
- return (u = n.socketManager) == null ? void 0 : u.disconnect();
1054
+ var f;
1055
+ return (f = n.socketManager) == null ? void 0 : f.disconnect();
1052
1056
  }
1053
1057
  );
1054
- n.messages = Ze(t.initialMessages), (K = (D = t.callbacks).onNewMessage) == null || K.call(D, [...n.messages], "answer");
1055
- const L = (u) => {
1056
- r = u;
1057
- };
1058
- s.track("agent-sdk", { event: "loaded", ...Ve(l) });
1059
- async function x(u) {
1060
- var S, $, z, C, E, J, R;
1061
- ($ = (S = t.callbacks).onConnectionStateChange) == null || $.call(S, I.Connecting), N.reset(), u && !a && (delete n.chat, (C = (z = t.callbacks).onNewMessage) == null || C.call(z, [...n.messages], "answer"));
1062
- const k = t.mode === _.DirectPlayback || h ? Promise.resolve(void 0) : nt(
1058
+ n.messages = Ge(t.initialMessages), (x = (G = t.callbacks).onNewMessage) == null || x.call(G, [...n.messages], "answer");
1059
+ const z = (f) => {
1060
+ r = f;
1061
+ }, F = Date.now();
1062
+ fe(() => {
1063
+ s.track("agent-sdk", { event: "loaded", ...qe(u) }, F);
1064
+ });
1065
+ async function L(f) {
1066
+ var P, B, $, R, _, W, v;
1067
+ (B = (P = t.callbacks).onConnectionStateChange) == null || B.call(P, M.Connecting), N.reset(), f && !a && (delete n.chat, (R = ($ = t.callbacks).onNewMessage) == null || R.call($, [...n.messages], "answer"));
1068
+ const D = t.mode === T.DirectPlayback || y ? Promise.resolve(void 0) : at(
1063
1069
  t.auth,
1064
1070
  i,
1065
- { onMessage: y, onError: t.callbacks.onError },
1071
+ { onMessage: A, onError: t.callbacks.onError },
1066
1072
  t.externalId
1067
- ), v = ne(
1068
- () => jt(
1069
- l,
1073
+ ), g = ne(
1074
+ () => bt(
1075
+ u,
1070
1076
  {
1071
1077
  ...t,
1072
- callbacks: { ...t.callbacks, onVideoIdChange: L, onMessage: y }
1078
+ callbacks: { ...t.callbacks, onVideoIdChange: z, onMessage: A }
1073
1079
  },
1074
- d,
1080
+ l,
1075
1081
  s,
1076
1082
  n.chat
1077
1083
  ),
1078
1084
  {
1079
1085
  limit: 3,
1080
- timeout: $e,
1086
+ timeout: ze,
1081
1087
  timeoutErrorMessage: "Timeout initializing the stream",
1082
1088
  // Retry on all errors except for connection errors and rate limit errors, these are already handled in client level.
1083
- shouldRetryFn: (M) => (M == null ? void 0 : M.message) !== "Could not connect" && M.status !== 429,
1089
+ shouldRetryFn: (I) => (I == null ? void 0 : I.message) !== "Could not connect" && I.status !== 429,
1084
1090
  delayMs: 1e3
1085
1091
  }
1086
- ).catch((M) => {
1087
- var U, F;
1088
- throw B(_.Maintenance), (F = (U = t.callbacks).onConnectionStateChange) == null || F.call(U, I.Fail), M;
1089
- }), [T, { streamingManager: g, chat: p }] = await Promise.all([k, v]);
1090
- p && p.id !== ((E = n.chat) == null ? void 0 : E.id) && ((R = (J = t.callbacks).onNewChat) == null || R.call(J, p.id)), n.streamingManager = g, n.socketManager = T, n.chat = p, a = !1, s.enrich({
1091
- chatId: p == null ? void 0 : p.id,
1092
- streamId: g == null ? void 0 : g.streamId,
1092
+ ).catch((I) => {
1093
+ var H, m;
1094
+ throw K(T.Maintenance), (m = (H = t.callbacks).onConnectionStateChange) == null || m.call(H, M.Fail), I;
1095
+ }), [S, { streamingManager: p, chat: k }] = await Promise.all([D, g]);
1096
+ k && k.id !== ((_ = n.chat) == null ? void 0 : _.id) && ((v = (W = t.callbacks).onNewChat) == null || v.call(W, k.id)), n.streamingManager = p, n.socketManager = S, n.chat = k, a = !1, s.enrich({
1097
+ chatId: k == null ? void 0 : k.id,
1098
+ streamId: p == null ? void 0 : p.streamId,
1093
1099
  mode: n.chatMode
1094
- }), B((p == null ? void 0 : p.chat_mode) ?? t.mode ?? _.Functional);
1100
+ }), K((k == null ? void 0 : k.chat_mode) ?? t.mode ?? T.Functional);
1095
1101
  }
1096
- async function j() {
1097
- var u, k, v, T;
1098
- (u = n.socketManager) == null || u.disconnect(), await ((k = n.streamingManager) == null ? void 0 : k.disconnect()), delete n.streamingManager, delete n.socketManager, (T = (v = t.callbacks).onConnectionStateChange) == null || T.call(v, I.Disconnected);
1102
+ async function C() {
1103
+ var f, D, g, S;
1104
+ (f = n.socketManager) == null || f.disconnect(), await ((D = n.streamingManager) == null ? void 0 : D.disconnect()), delete n.streamingManager, delete n.socketManager, (S = (g = t.callbacks).onConnectionStateChange) == null || S.call(g, M.Disconnected);
1099
1105
  }
1100
- async function B(u) {
1101
- var k, v;
1102
- u !== n.chatMode && (s.track("agent-mode-change", { mode: u }), n.chatMode = u, n.chatMode !== _.Functional && await j(), (v = (k = t.callbacks).onModeChange) == null || v.call(k, u));
1106
+ async function K(f) {
1107
+ var D, g;
1108
+ f !== n.chatMode && (s.track("agent-mode-change", { mode: f }), n.chatMode = f, n.chatMode !== T.Functional && await C(), (g = (D = t.callbacks).onModeChange) == null || g.call(D, f));
1103
1109
  }
1104
1110
  return {
1105
- agent: l,
1111
+ agent: u,
1106
1112
  getStreamType: () => {
1107
- var u;
1108
- return (u = n.streamingManager) == null ? void 0 : u.streamType;
1113
+ var f;
1114
+ return (f = n.streamingManager) == null ? void 0 : f.streamType;
1109
1115
  },
1110
1116
  getIsInterruptAvailable: () => {
1111
- var u;
1112
- return ((u = n.streamingManager) == null ? void 0 : u.interruptAvailable) ?? !1;
1117
+ var f;
1118
+ return ((f = n.streamingManager) == null ? void 0 : f.interruptAvailable) ?? !1;
1113
1119
  },
1114
1120
  getIsTriggersAvailable: () => {
1115
- var u;
1116
- return ((u = n.streamingManager) == null ? void 0 : u.triggersAvailable) ?? !1;
1121
+ var f;
1122
+ return ((f = n.streamingManager) == null ? void 0 : f.triggersAvailable) ?? !1;
1117
1123
  },
1118
- starterMessages: ((G = l.knowledge) == null ? void 0 : G.starter_message) || [],
1119
- getSTTToken: () => d.getSTTToken(l.id),
1120
- changeMode: B,
1124
+ starterMessages: ((Y = u.knowledge) == null ? void 0 : Y.starter_message) || [],
1125
+ getSTTToken: () => l.getSTTToken(u.id),
1126
+ changeMode: K,
1121
1127
  enrichAnalytics: s.enrich,
1122
1128
  async connect() {
1123
- await x(!0), s.track("agent-chat", {
1129
+ await L(!0), s.track("agent-chat", {
1124
1130
  event: "connect",
1125
1131
  mode: n.chatMode
1126
1132
  });
1127
1133
  },
1128
1134
  async reconnect() {
1129
- await j(), await x(!1), s.track("agent-chat", {
1135
+ await C(), await L(!1), s.track("agent-chat", {
1130
1136
  event: "reconnect",
1131
1137
  mode: n.chatMode
1132
1138
  });
1133
1139
  },
1134
1140
  async disconnect() {
1135
- await j(), s.track("agent-chat", {
1141
+ await C(), s.track("agent-chat", {
1136
1142
  event: "disconnect",
1137
1143
  mode: n.chatMode
1138
1144
  });
1139
1145
  },
1140
- async chat(u) {
1141
- var g, p, S, $, z;
1142
- const k = () => {
1143
- if (ve(t.mode))
1144
- throw new H(`${t.mode} is enabled, chat is disabled`);
1145
- if (u.length >= 800)
1146
- throw new H("Message cannot be more than 800 characters");
1147
- if (u.length === 0)
1148
- throw new H("Message cannot be empty");
1149
- if (n.chatMode === _.Maintenance)
1150
- throw new H("Chat is in maintenance mode");
1151
- if (![_.TextOnly, _.Playground].includes(n.chatMode)) {
1146
+ async chat(f) {
1147
+ var p, k, P, B, $;
1148
+ const D = () => {
1149
+ if (ye(t.mode))
1150
+ throw new V(`${t.mode} is enabled, chat is disabled`);
1151
+ if (f.length >= 800)
1152
+ throw new V("Message cannot be more than 800 characters");
1153
+ if (f.length === 0)
1154
+ throw new V("Message cannot be empty");
1155
+ if (n.chatMode === T.Maintenance)
1156
+ throw new V("Chat is in maintenance mode");
1157
+ if (![T.TextOnly, T.Playground].includes(n.chatMode)) {
1152
1158
  if (!n.streamingManager)
1153
- throw new H("Streaming manager is not initialized");
1159
+ throw new V("Streaming manager is not initialized");
1154
1160
  if (!n.chat)
1155
- throw new H("Chat is not initialized");
1161
+ throw new V("Chat is not initialized");
1156
1162
  }
1157
- }, v = async () => {
1158
- var C, E;
1163
+ }, g = async () => {
1164
+ var R, _;
1159
1165
  if (!n.chat) {
1160
- const J = await se(
1166
+ const W = await se(
1167
+ u,
1161
1168
  l,
1162
- d,
1163
1169
  s,
1164
1170
  n.chatMode,
1165
1171
  t.persistentChat
1166
1172
  );
1167
- if (!J.chat)
1168
- throw new Ie(n.chatMode, !!t.persistentChat);
1169
- n.chat = J.chat, (E = (C = t.callbacks).onNewChat) == null || E.call(C, n.chat.id);
1173
+ if (!W.chat)
1174
+ throw new Ee(n.chatMode, !!t.persistentChat);
1175
+ n.chat = W.chat, (_ = (R = t.callbacks).onNewChat) == null || _.call(R, n.chat.id);
1170
1176
  }
1171
1177
  return n.chat.id;
1172
- }, T = async (C, E) => ne(h ? async () => {
1173
- var R, M;
1174
- return await ((M = (R = n.streamingManager) == null ? void 0 : R.sendTextMessage) == null ? void 0 : M.call(R, u)), Promise.resolve({});
1178
+ }, S = async (R, _) => ne(y ? async () => {
1179
+ var v, I;
1180
+ return await ((I = (v = n.streamingManager) == null ? void 0 : v.sendTextMessage) == null ? void 0 : I.call(v, f)), Promise.resolve({});
1175
1181
  } : async () => {
1176
- var R, M;
1177
- return d.chat(
1178
- l.id,
1179
- E,
1182
+ var v, I;
1183
+ return l.chat(
1184
+ u.id,
1185
+ _,
1180
1186
  {
1181
1187
  chatMode: n.chatMode,
1182
- streamId: (R = n.streamingManager) == null ? void 0 : R.streamId,
1183
- sessionId: (M = n.streamingManager) == null ? void 0 : M.sessionId,
1184
- messages: C.map(({ matches: U, ...F }) => F)
1188
+ streamId: (v = n.streamingManager) == null ? void 0 : v.streamId,
1189
+ sessionId: (I = n.streamingManager) == null ? void 0 : I.sessionId,
1190
+ messages: R.map(({ matches: H, ...m }) => m)
1185
1191
  },
1186
1192
  {
1187
- ...Ce(n.chatMode),
1193
+ ...Re(n.chatMode),
1188
1194
  skipErrorHandler: !0
1189
1195
  }
1190
1196
  );
1191
1197
  }, {
1192
1198
  limit: 2,
1193
- shouldRetryFn: (R) => {
1194
- var F, X, f, m;
1195
- const M = (F = R == null ? void 0 : R.message) == null ? void 0 : F.includes("missing or invalid session_id");
1196
- return !((X = R == null ? void 0 : R.message) == null ? void 0 : X.includes("Stream Error")) && !M ? ((m = (f = t.callbacks).onError) == null || m.call(f, R), !1) : !0;
1199
+ shouldRetryFn: (v) => {
1200
+ var m, h, E, U;
1201
+ const I = (m = v == null ? void 0 : v.message) == null ? void 0 : m.includes("missing or invalid session_id");
1202
+ return !((h = v == null ? void 0 : v.message) == null ? void 0 : h.includes("Stream Error")) && !I ? ((U = (E = t.callbacks).onError) == null || U.call(E, v), !1) : !0;
1197
1203
  },
1198
1204
  onRetry: async () => {
1199
- await j(), await x(!1);
1205
+ await C(), await L(!1);
1200
1206
  }
1201
1207
  });
1202
1208
  try {
1203
- b(), k(), n.messages.push({
1204
- id: q(),
1209
+ j(), D(), n.messages.push({
1210
+ id: O(),
1205
1211
  role: "user",
1206
- content: u,
1212
+ content: f,
1207
1213
  created_at: new Date(N.update()).toISOString()
1208
- }), (p = (g = t.callbacks).onNewMessage) == null || p.call(g, [...n.messages], "user");
1209
- const C = await v(), E = await T([...n.messages], C);
1214
+ }), (k = (p = t.callbacks).onNewMessage) == null || k.call(p, [...n.messages], "user");
1215
+ const R = await g(), _ = await S([...n.messages], R);
1210
1216
  return n.messages.push({
1211
- id: q(),
1217
+ id: O(),
1212
1218
  role: "assistant",
1213
- content: E.result || "",
1219
+ content: _.result || "",
1214
1220
  created_at: (/* @__PURE__ */ new Date()).toISOString(),
1215
- context: E.context,
1216
- matches: E.matches
1221
+ context: _.context,
1222
+ matches: _.matches
1217
1223
  }), s.track("agent-message-send", {
1218
1224
  event: "success",
1219
1225
  messages: n.messages.length + 1
1220
- }), E.result && (($ = (S = t.callbacks).onNewMessage) == null || $.call(S, [...n.messages], "answer"), s.track("agent-message-received", {
1226
+ }), _.result && ((B = (P = t.callbacks).onNewMessage) == null || B.call(P, [...n.messages], "answer"), s.track("agent-message-received", {
1221
1227
  latency: N.get(!0),
1222
1228
  messages: n.messages.length
1223
- })), E;
1224
- } catch (C) {
1225
- throw ((z = n.messages[n.messages.length - 1]) == null ? void 0 : z.role) === "assistant" && n.messages.pop(), s.track("agent-message-send", {
1229
+ })), _;
1230
+ } catch (R) {
1231
+ throw (($ = n.messages[n.messages.length - 1]) == null ? void 0 : $.role) === "assistant" && n.messages.pop(), s.track("agent-message-send", {
1226
1232
  event: "error",
1227
1233
  messages: n.messages.length
1228
- }), C;
1234
+ }), R;
1229
1235
  }
1230
1236
  },
1231
- rate(u, k, v) {
1232
- var p, S, $, z;
1233
- const T = n.messages.find((C) => C.id === u);
1237
+ rate(f, D, g) {
1238
+ var k, P, B, $;
1239
+ const S = n.messages.find((R) => R.id === f);
1234
1240
  if (n.chat) {
1235
- if (!T)
1241
+ if (!S)
1236
1242
  throw new Error("Message not found");
1237
1243
  } else throw new Error("Chat is not initialized");
1238
- const g = ((p = T.matches) == null ? void 0 : p.map((C) => [C.document_id, C.id])) ?? [];
1244
+ const p = ((k = S.matches) == null ? void 0 : k.map((R) => [R.document_id, R.id])) ?? [];
1239
1245
  return s.track("agent-rate", {
1240
- event: v ? "update" : "create",
1241
- thumb: k === 1 ? "up" : "down",
1242
- knowledge_id: ((S = l.knowledge) == null ? void 0 : S.id) ?? "",
1243
- matches: g,
1244
- score: k
1245
- }), v ? d.updateRating(l.id, n.chat.id, v, {
1246
- knowledge_id: (($ = l.knowledge) == null ? void 0 : $.id) ?? "",
1247
- message_id: u,
1248
- matches: g,
1249
- score: k
1250
- }) : d.createRating(l.id, n.chat.id, {
1251
- knowledge_id: ((z = l.knowledge) == null ? void 0 : z.id) ?? "",
1252
- message_id: u,
1253
- matches: g,
1254
- score: k
1246
+ event: g ? "update" : "create",
1247
+ thumb: D === 1 ? "up" : "down",
1248
+ knowledge_id: ((P = u.knowledge) == null ? void 0 : P.id) ?? "",
1249
+ matches: p,
1250
+ score: D
1251
+ }), g ? l.updateRating(u.id, n.chat.id, g, {
1252
+ knowledge_id: ((B = u.knowledge) == null ? void 0 : B.id) ?? "",
1253
+ message_id: f,
1254
+ matches: p,
1255
+ score: D
1256
+ }) : l.createRating(u.id, n.chat.id, {
1257
+ knowledge_id: (($ = u.knowledge) == null ? void 0 : $.id) ?? "",
1258
+ message_id: f,
1259
+ matches: p,
1260
+ score: D
1255
1261
  });
1256
1262
  },
1257
- deleteRate(u) {
1263
+ deleteRate(f) {
1258
1264
  if (!n.chat)
1259
1265
  throw new Error("Chat is not initialized");
1260
- return s.track("agent-rate-delete", { type: "text" }), d.deleteRating(l.id, n.chat.id, u);
1266
+ return s.track("agent-rate-delete", { type: "text" }), l.deleteRating(u.id, n.chat.id, f);
1261
1267
  },
1262
- async speak(u) {
1263
- var g, p, S;
1264
- function k() {
1265
- if (typeof u == "string") {
1266
- if (!l.presenter.voice)
1268
+ async speak(f) {
1269
+ var p, k, P;
1270
+ function D() {
1271
+ if (typeof f == "string") {
1272
+ if (!u.presenter.voice)
1267
1273
  throw new Error("Presenter voice is not initialized");
1268
1274
  return {
1269
1275
  type: "text",
1270
- provider: l.presenter.voice,
1271
- input: u,
1276
+ provider: u.presenter.voice,
1277
+ input: f,
1272
1278
  ssml: !1
1273
1279
  };
1274
1280
  }
1275
- if (u.type === "text" && !u.provider) {
1276
- if (!l.presenter.voice)
1281
+ if (f.type === "text" && !f.provider) {
1282
+ if (!u.presenter.voice)
1277
1283
  throw new Error("Presenter voice is not initialized");
1278
1284
  return {
1279
1285
  type: "text",
1280
- provider: l.presenter.voice,
1281
- input: u.input,
1282
- ssml: u.ssml
1286
+ provider: u.presenter.voice,
1287
+ input: f.input,
1288
+ ssml: f.ssml
1283
1289
  };
1284
1290
  }
1285
- return u;
1291
+ return f;
1286
1292
  }
1287
- const v = k();
1288
- if (s.track("agent-speak", v), N.update(), n.messages && v.type === "text" && (n.messages.push({
1289
- id: q(),
1293
+ const g = D();
1294
+ if (s.track("agent-speak", g), N.update(), n.messages && g.type === "text" && (n.messages.push({
1295
+ id: O(),
1290
1296
  role: "assistant",
1291
- content: v.input,
1297
+ content: g.input,
1292
1298
  created_at: (/* @__PURE__ */ new Date()).toISOString()
1293
- }), (p = (g = t.callbacks).onNewMessage) == null || p.call(g, [...n.messages], "answer")), Je(n.chatMode))
1299
+ }), (k = (p = t.callbacks).onNewMessage) == null || k.call(p, [...n.messages], "answer")), We(n.chatMode))
1294
1300
  return {
1295
1301
  duration: 0,
1296
1302
  video_id: "",
@@ -1299,49 +1305,49 @@ async function Lt(e, t) {
1299
1305
  if (!n.streamingManager)
1300
1306
  throw new Error("Please connect to the agent first");
1301
1307
  return n.streamingManager.speak({
1302
- script: v,
1303
- metadata: { chat_id: (S = n.chat) == null ? void 0 : S.id, agent_id: l.id }
1308
+ script: g,
1309
+ metadata: { chat_id: (P = n.chat) == null ? void 0 : P.id, agent_id: u.id }
1304
1310
  });
1305
1311
  },
1306
- async interrupt({ type: u }) {
1307
- var v, T, g;
1308
- Ge(n.streamingManager, (v = n.streamingManager) == null ? void 0 : v.streamType, r);
1309
- const k = n.messages[n.messages.length - 1];
1312
+ async interrupt({ type: f }) {
1313
+ var g, S, p;
1314
+ et(n.streamingManager, (g = n.streamingManager) == null ? void 0 : g.streamType, r);
1315
+ const D = n.messages[n.messages.length - 1];
1310
1316
  s.track("agent-video-interrupt", {
1311
- type: u || "click",
1317
+ type: f || "click",
1312
1318
  video_duration_to_interrupt: ie.get(!0),
1313
1319
  message_duration_to_interrupt: N.get(!0)
1314
- }), k.interrupted = !0, (g = (T = t.callbacks).onNewMessage) == null || g.call(T, [...n.messages], "answer"), et(n.streamingManager, r);
1320
+ }), D.interrupted = !0, (p = (S = t.callbacks).onNewMessage) == null || p.call(S, [...n.messages], "answer"), tt(n.streamingManager, r);
1315
1321
  }
1316
1322
  };
1317
1323
  }
1318
1324
  export {
1319
- O as A,
1320
- I as C,
1321
- Le as D,
1322
- be as K,
1323
- Te as P,
1324
- je as R,
1325
- W as S,
1325
+ X as A,
1326
+ M as C,
1327
+ xe as D,
1328
+ Le as K,
1329
+ Ae as P,
1330
+ be as R,
1331
+ J as S,
1326
1332
  de as T,
1327
- _e as U,
1328
- H as V,
1329
- Me as W,
1330
- ct as a,
1333
+ Te as U,
1334
+ V,
1335
+ _e as W,
1336
+ dt as a,
1331
1337
  Z as b,
1332
- ke as c,
1338
+ Ce as c,
1333
1339
  te as d,
1334
1340
  w as e,
1335
- P as f,
1336
- V as g,
1337
- Ie as h,
1338
- Ee as i,
1339
- Lt as j,
1340
- Ae as k,
1341
- _ as l,
1342
- Pe as m,
1343
- he as n,
1344
- bt as o,
1345
- xe as p,
1346
- Be as q
1341
+ b as f,
1342
+ q as g,
1343
+ Ee as h,
1344
+ Me as i,
1345
+ xt as j,
1346
+ Pe as k,
1347
+ T as l,
1348
+ je as m,
1349
+ we as n,
1350
+ Lt as o,
1351
+ Be as p,
1352
+ $e as q
1347
1353
  };