@d-id/client-sdk 1.1.0-beta.14 → 1.1.0-beta.15

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,31 +1,31 @@
1
- var he = Object.defineProperty;
2
- var we = (e, t, n) => t in e ? he(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
- var V = (e, t, n) => (we(e, typeof t != "symbol" ? t + "" : t, n), n);
1
+ var we = Object.defineProperty;
2
+ var ye = (e, t, a) => t in e ? we(e, t, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[t] = a;
3
+ var X = (e, t, a) => (ye(e, typeof t != "symbol" ? t + "" : t, a), a);
4
4
  class Z extends Error {
5
5
  constructor({
6
- kind: n,
6
+ kind: a,
7
7
  description: r,
8
8
  error: s
9
9
  }) {
10
10
  super(JSON.stringify({
11
- kind: n,
11
+ kind: a,
12
12
  description: r
13
13
  }));
14
- V(this, "kind");
15
- V(this, "description");
16
- V(this, "error");
17
- this.kind = n, this.description = r, this.error = s;
14
+ X(this, "kind");
15
+ X(this, "description");
16
+ X(this, "error");
17
+ this.kind = a, this.description = r, this.error = s;
18
18
  }
19
19
  }
20
- class pe extends Z {
21
- constructor(t, n) {
20
+ class ve extends Z {
21
+ constructor(t, a) {
22
22
  super({
23
23
  kind: "ChatCreationFailed",
24
- description: `Failed to create ${n ? "persistent" : ""} chat, mode: ${t}`
24
+ description: `Failed to create ${a ? "persistent" : ""} chat, mode: ${t}`
25
25
  });
26
26
  }
27
27
  }
28
- class ye extends Z {
28
+ class ke extends Z {
29
29
  constructor(t) {
30
30
  super({
31
31
  kind: "ChatModeDowngraded",
@@ -34,16 +34,16 @@ class ye extends Z {
34
34
  }
35
35
  }
36
36
  class K extends Z {
37
- constructor(n, r) {
37
+ constructor(a, r) {
38
38
  super({
39
39
  kind: "ValidationError",
40
- description: n
40
+ description: a
41
41
  });
42
- V(this, "key");
42
+ X(this, "key");
43
43
  this.key = r;
44
44
  }
45
45
  }
46
- class ve extends Z {
46
+ class De extends Z {
47
47
  constructor(t) {
48
48
  super({
49
49
  kind: "WSError",
@@ -51,8 +51,8 @@ class ve extends Z {
51
51
  });
52
52
  }
53
53
  }
54
- var ke = /* @__PURE__ */ ((e) => (e.TRIAL = "trial", e.BASIC = "basic", e.ENTERPRISE = "enterprise", e.LITE = "lite", e.ADVANCED = "advanced", e))(ke || {}), De = /* @__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))(De || {}), Ce = /* @__PURE__ */ ((e) => (e.Created = "created", e.Started = "started", e.Done = "done", e.Error = "error", e.Rejected = "rejected", e.Ready = "ready", e))(Ce || {}), Re = /* @__PURE__ */ ((e) => (e.Unrated = "Unrated", e.Positive = "Positive", e.Negative = "Negative", e))(Re || {}), T = /* @__PURE__ */ ((e) => (e.Functional = "Functional", e.TextOnly = "TextOnly", e.Maintenance = "Maintenance", e.Playground = "Playground", e.DirectPlayback = "DirectPlayback", e))(T || {}), H = /* @__PURE__ */ ((e) => (e.Embed = "embed", e.Query = "query", e.Partial = "partial", e.Answer = "answer", e.Complete = "done", e))(H || {}), Ee = /* @__PURE__ */ ((e) => (e.KnowledgeProcessing = "knowledge/processing", e.KnowledgeIndexing = "knowledge/indexing", e.KnowledgeFailed = "knowledge/error", e.KnowledgeDone = "knowledge/done", e))(Ee || {}), Se = /* @__PURE__ */ ((e) => (e.Knowledge = "knowledge", e.Document = "document", e.Record = "record", e))(Se || {}), Ie = /* @__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))(Ie || {}), se = /* @__PURE__ */ ((e) => (e.Clip = "clip", e.Talk = "talk", e))(se || {});
55
- const Me = (e) => {
54
+ var Ce = /* @__PURE__ */ ((e) => (e.TRIAL = "trial", e.BASIC = "basic", e.ENTERPRISE = "enterprise", e.LITE = "lite", e.ADVANCED = "advanced", e))(Ce || {}), Re = /* @__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))(Re || {}), Ee = /* @__PURE__ */ ((e) => (e.Created = "created", e.Started = "started", e.Done = "done", e.Error = "error", e.Rejected = "rejected", e.Ready = "ready", e))(Ee || {}), Se = /* @__PURE__ */ ((e) => (e.Unrated = "Unrated", e.Positive = "Positive", e.Negative = "Negative", e))(Se || {}), b = /* @__PURE__ */ ((e) => (e.Functional = "Functional", e.TextOnly = "TextOnly", e.Maintenance = "Maintenance", e.Playground = "Playground", e.DirectPlayback = "DirectPlayback", e))(b || {}), H = /* @__PURE__ */ ((e) => (e.Embed = "embed", e.Query = "query", e.Partial = "partial", e.Answer = "answer", e.Complete = "done", e))(H || {}), Ie = /* @__PURE__ */ ((e) => (e.KnowledgeProcessing = "knowledge/processing", e.KnowledgeIndexing = "knowledge/indexing", e.KnowledgeFailed = "knowledge/error", e.KnowledgeDone = "knowledge/done", e))(Ie || {}), _e = /* @__PURE__ */ ((e) => (e.Knowledge = "knowledge", e.Document = "document", e.Record = "record", e))(_e || {}), Me = /* @__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))(Me || {}), oe = /* @__PURE__ */ ((e) => (e.Clip = "clip", e.Talk = "talk", e))(oe || {});
55
+ const Te = (e) => {
56
56
  switch (e) {
57
57
  case "clip":
58
58
  return "clip";
@@ -62,22 +62,22 @@ const Me = (e) => {
62
62
  throw new Error(`Unknown video type: ${e}`);
63
63
  }
64
64
  };
65
- var p = /* @__PURE__ */ ((e) => (e.Start = "START", e.Stop = "STOP", e))(p || {}), X = /* @__PURE__ */ ((e) => (e.Strong = "STRONG", e.Weak = "WEAK", e.Unknown = "UNKNOWN", e))(X || {}), Y = /* @__PURE__ */ ((e) => (e.Idle = "IDLE", e.Talking = "TALKING", e))(Y || {}), x = /* @__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))(x || {}), _ = /* @__PURE__ */ ((e) => (e.New = "new", e.Fail = "fail", e.Connected = "connected", e.Connecting = "connecting", e.Closed = "closed", e.Completed = "completed", e.Disconnected = "disconnected", e))(_ || {}), W = /* @__PURE__ */ ((e) => (e.Legacy = "legacy", e.Fluent = "fluent", e))(W || {}), _e = /* @__PURE__ */ ((e) => (e.Amazon = "amazon", e.Microsoft = "microsoft", e.Afflorithmics = "afflorithmics", e.Elevenlabs = "elevenlabs", e))(_e || {}), Te = /* @__PURE__ */ ((e) => (e.Public = "public", e.Premium = "premium", e.Private = "private", e))(Te || {});
66
- const be = 45 * 1e3, je = "X-Playground-Chat", Q = "https://api.d-id.com", Pe = "wss://notifications.d-id.com", Ae = "79f81a83a67430be2bc0fd61042b8faa", oe = (e) => new Promise((t) => setTimeout(t, e)), q = (e = 16) => {
65
+ var w = /* @__PURE__ */ ((e) => (e.Start = "START", e.Stop = "STOP", e))(w || {}), Y = /* @__PURE__ */ ((e) => (e.Strong = "STRONG", e.Weak = "WEAK", e.Unknown = "UNKNOWN", e))(Y || {}), V = /* @__PURE__ */ ((e) => (e.Idle = "IDLE", e.Talking = "TALKING", e))(V || {}), J = /* @__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))(J || {}), T = /* @__PURE__ */ ((e) => (e.New = "new", e.Fail = "fail", e.Connected = "connected", e.Connecting = "connecting", e.Closed = "closed", e.Completed = "completed", e.Disconnected = "disconnected", e))(T || {}), W = /* @__PURE__ */ ((e) => (e.Legacy = "legacy", e.Fluent = "fluent", e))(W || {}), be = /* @__PURE__ */ ((e) => (e.Amazon = "amazon", e.Microsoft = "microsoft", e.Afflorithmics = "afflorithmics", e.Elevenlabs = "elevenlabs", e))(be || {}), je = /* @__PURE__ */ ((e) => (e.Public = "public", e.Premium = "premium", e.Private = "private", e))(je || {});
66
+ const Pe = 45 * 1e3, Ae = "X-Playground-Chat", Q = "https://api.d-id.com", Be = "wss://notifications.d-id.com", $e = "79f81a83a67430be2bc0fd61042b8faa", ce = (e) => new Promise((t) => setTimeout(t, e)), q = (e = 16) => {
67
67
  const t = new Uint8Array(e);
68
- return window.crypto.getRandomValues(t), Array.from(t, (n) => n.toString(16).padStart(2, "0")).join("").slice(0, 13);
69
- }, Be = (e) => [T.TextOnly, T.Playground, T.Maintenance].includes(e);
70
- function $e(e, t) {
71
- let n;
68
+ return window.crypto.getRandomValues(t), Array.from(t, (a) => a.toString(16).padStart(2, "0")).join("").slice(0, 13);
69
+ }, Le = (e) => [b.TextOnly, b.Playground, b.Maintenance].includes(e);
70
+ function ze(e, t) {
71
+ let a;
72
72
  return {
73
73
  promise: new Promise((s, i) => {
74
- n = setTimeout(() => i(new Error(t)), e);
74
+ a = setTimeout(() => i(new Error(t)), e);
75
75
  }),
76
- clear: () => clearTimeout(n)
76
+ clear: () => clearTimeout(a)
77
77
  };
78
78
  }
79
79
  async function O(e, t) {
80
- const n = {
80
+ const a = {
81
81
  limit: (t == null ? void 0 : t.limit) ?? 3,
82
82
  delayMs: (t == null ? void 0 : t.delayMs) ?? 0,
83
83
  timeout: (t == null ? void 0 : t.timeout) ?? 3e4,
@@ -87,23 +87,23 @@ async function O(e, t) {
87
87
  })
88
88
  };
89
89
  let r;
90
- for (let s = 1; s <= n.limit; s++)
90
+ for (let s = 1; s <= a.limit; s++)
91
91
  try {
92
- if (!n.timeout)
92
+ if (!a.timeout)
93
93
  return await e();
94
94
  const {
95
95
  promise: i,
96
96
  clear: c
97
- } = $e(n.timeout, n.timeoutErrorMessage), a = e().finally(c);
98
- return await Promise.race([a, i]);
97
+ } = ze(a.timeout, a.timeoutErrorMessage), n = e().finally(c);
98
+ return await Promise.race([n, i]);
99
99
  } catch (i) {
100
- if (r = i, !n.shouldRetryFn(i) || s >= n.limit)
100
+ if (r = i, !a.shouldRetryFn(i) || s >= a.limit)
101
101
  throw i;
102
- await oe(n.delayMs), n.onRetry(i);
102
+ await ce(a.delayMs), a.onRetry(i);
103
103
  }
104
104
  throw r;
105
105
  }
106
- function ce() {
106
+ function de() {
107
107
  let e = window.localStorage.getItem("did_external_key_id");
108
108
  if (!e) {
109
109
  let t = q();
@@ -111,41 +111,41 @@ function ce() {
111
111
  }
112
112
  return e;
113
113
  }
114
- let Le = q();
115
- function de(e) {
114
+ let Ne = q();
115
+ function le(e) {
116
116
  if (e.type === "bearer")
117
117
  return `Bearer ${e.token}`;
118
118
  if (e.type === "basic")
119
119
  return `Basic ${btoa(`${e.username}:${e.password}`)}`;
120
120
  if (e.type === "key")
121
- return `Client-Key ${e.clientKey}.${ce()}_${Le}`;
121
+ return `Client-Key ${e.clientKey}.${de()}_${Ne}`;
122
122
  throw new Error(`Unknown auth type: ${e}`);
123
123
  }
124
- const ze = (e) => O(e, {
124
+ const xe = (e) => O(e, {
125
125
  limit: 3,
126
126
  delayMs: 1e3,
127
127
  timeout: 0,
128
128
  shouldRetryFn: (t) => t.status === 429
129
129
  });
130
- function te(e, t = Q, n) {
130
+ function re(e, t = Q, a) {
131
131
  const r = async (s, i) => {
132
132
  const {
133
133
  skipErrorHandler: c,
134
- ...a
135
- } = i || {}, o = await ze(() => fetch(t + (s != null && s.startsWith("/") ? s : `/${s}`), {
136
- ...a,
134
+ ...n
135
+ } = i || {}, o = await xe(() => fetch(t + (s != null && s.startsWith("/") ? s : `/${s}`), {
136
+ ...n,
137
137
  headers: {
138
- ...a.headers,
139
- Authorization: de(e),
138
+ ...n.headers,
139
+ Authorization: le(e),
140
140
  "Content-Type": "application/json"
141
141
  }
142
142
  }));
143
143
  if (!o.ok) {
144
144
  let d = await o.text().catch(() => `Failed to fetch with status ${o.status}`);
145
145
  const u = new Error(d);
146
- throw n && !c && n(u, {
146
+ throw a && !c && a(u, {
147
147
  url: s,
148
- options: a,
148
+ options: n,
149
149
  headers: o.headers
150
150
  }), u;
151
151
  }
@@ -181,8 +181,8 @@ function te(e, t = Q, n) {
181
181
  }
182
182
  };
183
183
  }
184
- function le(e, t = Q, n) {
185
- const r = te(e, `${t}/agents`, n);
184
+ function ue(e, t = Q, a) {
185
+ const r = re(e, `${t}/agents`, a);
186
186
  return {
187
187
  create(s, i) {
188
188
  return r.post("/", s, i);
@@ -202,44 +202,44 @@ function le(e, t = Q, n) {
202
202
  newChat(s, i, c) {
203
203
  return r.post(`/${s}/chat`, i, c);
204
204
  },
205
- chat(s, i, c, a) {
206
- return r.post(`/${s}/chat/${i}`, c, a);
205
+ chat(s, i, c, n) {
206
+ return r.post(`/${s}/chat/${i}`, c, n);
207
207
  },
208
- createRating(s, i, c, a) {
209
- return r.post(`/${s}/chat/${i}/ratings`, c, a);
208
+ createRating(s, i, c, n) {
209
+ return r.post(`/${s}/chat/${i}/ratings`, c, n);
210
210
  },
211
- updateRating(s, i, c, a, o) {
212
- return r.patch(`/${s}/chat/${i}/ratings/${c}`, a, o);
211
+ updateRating(s, i, c, n, o) {
212
+ return r.patch(`/${s}/chat/${i}/ratings/${c}`, n, o);
213
213
  },
214
- deleteRating(s, i, c, a) {
215
- return r.delete(`/${s}/chat/${i}/ratings/${c}`, a);
214
+ deleteRating(s, i, c, n) {
215
+ return r.delete(`/${s}/chat/${i}/ratings/${c}`, n);
216
216
  },
217
217
  getSTTToken(s, i) {
218
218
  return r.get(`/${s}/stt-token`, i);
219
219
  }
220
220
  };
221
221
  }
222
- const ue = (e) => e.type === "clip" && e.presenter_id.startsWith("v2_") ? "clip_v2" : e.type;
223
- function Ne(e) {
224
- var s, i, c, a;
225
- const t = () => /Mobi|Android/i.test(navigator.userAgent) ? "Mobile" : "Desktop", n = () => {
222
+ const fe = (e) => e.type === "clip" && e.presenter_id.startsWith("v2_") ? "clip_v2" : e.type;
223
+ function Fe(e) {
224
+ var s, i, c, n;
225
+ const t = () => /Mobi|Android/i.test(navigator.userAgent) ? "Mobile" : "Desktop", a = () => {
226
226
  const o = navigator.platform;
227
227
  return o.toLowerCase().includes("win") ? "Windows" : o.toLowerCase().includes("mac") ? "Mac OS X" : o.toLowerCase().includes("linux") ? "Linux" : "Unknown";
228
228
  }, r = e.presenter;
229
229
  return {
230
- $os: `${n()}`,
230
+ $os: `${a()}`,
231
231
  isMobile: `${t() == "Mobile"}`,
232
232
  browser: navigator.userAgent,
233
233
  origin: window.location.origin,
234
- agentType: ue(r),
234
+ agentType: fe(r),
235
235
  agentVoice: {
236
236
  voiceId: (i = (s = e.presenter) == null ? void 0 : s.voice) == null ? void 0 : i.voice_id,
237
- provider: (a = (c = e.presenter) == null ? void 0 : c.voice) == null ? void 0 : a.type
237
+ provider: (n = (c = e.presenter) == null ? void 0 : c.voice) == null ? void 0 : n.type
238
238
  }
239
239
  };
240
240
  }
241
- const xe = (e) => e.reduce((t, n) => t + n, 0), re = (e) => xe(e) / e.length;
242
- function Fe(e, t, n) {
241
+ const Je = (e) => e.reduce((t, a) => t + a, 0), ne = (e) => Je(e) / e.length;
242
+ function We(e, t, a) {
243
243
  var o, d, u;
244
244
  const {
245
245
  event: r,
@@ -263,24 +263,24 @@ function Fe(e, t, n) {
263
263
  }
264
264
  },
265
265
  stitch: (t == null ? void 0 : t.presenter.type) === "talk" ? (u = t == null ? void 0 : t.presenter) == null ? void 0 : u.stitch : void 0,
266
- ...n
266
+ ...a
267
267
  };
268
268
  }
269
269
  let G = {};
270
- const Je = "https://api-js.mixpanel.com/track/?verbose=1&ip=1";
271
- function We(e) {
272
- var i, c, a, o, d, u;
273
- const t = window != null && window.hasOwnProperty("DID_AGENTS_API") ? "agents-ui" : "agents-sdk", n = e.agent.presenter, r = (i = e.agent.llm) == null ? void 0 : i.prompt_customization, s = {
270
+ const Ue = "https://api-js.mixpanel.com/track/?verbose=1&ip=1";
271
+ function Ke(e) {
272
+ var i, c, n, o, d, u;
273
+ const t = window != null && window.hasOwnProperty("DID_AGENTS_API") ? "agents-ui" : "agents-sdk", a = e.agent.presenter, r = (i = e.agent.llm) == null ? void 0 : i.prompt_customization, s = {
274
274
  token: e.token || "testKey",
275
- distinct_id: e.distinctId || ce(),
275
+ distinct_id: e.distinctId || de(),
276
276
  agentId: e.agent.id,
277
- agentType: ue(n),
277
+ agentType: fe(a),
278
278
  owner_id: e.agent.owner_id ?? "",
279
279
  promptVersion: (c = e.agent.llm) == null ? void 0 : c.prompt_version,
280
280
  behavior: {
281
281
  role: r == null ? void 0 : r.role,
282
282
  personality: r == null ? void 0 : r.personality,
283
- instructions: (a = e.agent.llm) == null ? void 0 : a.instructions
283
+ instructions: (n = e.agent.llm) == null ? void 0 : n.instructions
284
284
  },
285
285
  temperature: (o = e.agent.llm) == null ? void 0 : o.temperature,
286
286
  knowledgeSource: r == null ? void 0 : r.knowledge_source,
@@ -293,26 +293,26 @@ function We(e) {
293
293
  additionalProperties: {},
294
294
  isEnabled: e.isEnabled ?? !0,
295
295
  getRandom: q,
296
- enrich(h) {
296
+ enrich(p) {
297
297
  this.additionalProperties = {
298
298
  ...this.additionalProperties,
299
- ...h
299
+ ...p
300
300
  };
301
301
  },
302
- async track(h, b) {
302
+ async track(p, j) {
303
303
  if (!this.isEnabled)
304
304
  return Promise.resolve();
305
305
  const {
306
306
  audioPath: R,
307
307
  ...k
308
- } = b || {}, D = {
308
+ } = j || {}, D = {
309
309
  method: "POST",
310
310
  headers: {
311
311
  "Content-Type": "application/x-www-form-urlencoded"
312
312
  },
313
313
  body: new URLSearchParams({
314
314
  data: JSON.stringify([{
315
- event: h,
315
+ event: p,
316
316
  properties: {
317
317
  ...this.additionalProperties,
318
318
  ...k,
@@ -329,32 +329,32 @@ function We(e) {
329
329
  })
330
330
  };
331
331
  try {
332
- return await fetch(Je, D).then((C) => C.json());
332
+ return await fetch(Ue, D).then((C) => C.json());
333
333
  } catch (C) {
334
334
  return console.error(C);
335
335
  }
336
336
  },
337
- linkTrack(h, b, R, k) {
338
- G[h] || (G[h] = {
337
+ linkTrack(p, j, R, k) {
338
+ G[p] || (G[p] = {
339
339
  events: {},
340
340
  resolvedDependencies: []
341
341
  }), k.includes(R) || k.push(R);
342
- const D = G[h];
342
+ const D = G[p];
343
343
  if (D.events[R] = {
344
- props: b
345
- }, D.resolvedDependencies.push(R), k.every(($) => D.resolvedDependencies.includes($))) {
346
- const $ = k.reduce((P, l) => D.events[l] ? {
347
- ...P,
344
+ props: j
345
+ }, D.resolvedDependencies.push(R), k.every((L) => D.resolvedDependencies.includes(L))) {
346
+ const L = k.reduce((A, l) => D.events[l] ? {
347
+ ...A,
348
348
  ...D.events[l].props
349
- } : P, {});
350
- this.track(h, $), D.resolvedDependencies = D.resolvedDependencies.filter((P) => !k.includes(P)), k.forEach((P) => {
351
- delete D.events[P];
349
+ } : A, {});
350
+ this.track(p, L), D.resolvedDependencies = D.resolvedDependencies.filter((A) => !k.includes(A)), k.forEach((A) => {
351
+ delete D.events[A];
352
352
  });
353
353
  }
354
354
  }
355
355
  };
356
356
  }
357
- function Ue() {
357
+ function me() {
358
358
  let e = 0;
359
359
  return {
360
360
  reset: () => e = 0,
@@ -362,19 +362,19 @@ function Ue() {
362
362
  get: (t = !1) => t ? Date.now() - e : e
363
363
  };
364
364
  }
365
- const J = Ue();
366
- function fe(e) {
367
- return e === T.Playground ? {
365
+ const F = me(), ee = me();
366
+ function ge(e) {
367
+ return e === b.Playground ? {
368
368
  headers: {
369
- [je]: "true"
369
+ [Ae]: "true"
370
370
  }
371
371
  } : {};
372
372
  }
373
- async function me(e, t, n, r, s = !1, i) {
373
+ async function he(e, t, a, r, s = !1, i) {
374
374
  try {
375
- return !i && r !== T.DirectPlayback && (i = await t.newChat(e.id, {
375
+ return !i && r !== b.DirectPlayback && (i = await t.newChat(e.id, {
376
376
  persist: s
377
- }, fe(r)), n.track("agent-chat", {
377
+ }, ge(r)), a.track("agent-chat", {
378
378
  event: "created",
379
379
  chat_id: i.id,
380
380
  agent_id: e.id,
@@ -385,82 +385,82 @@ async function me(e, t, n, r, s = !1, i) {
385
385
  };
386
386
  } catch (c) {
387
387
  try {
388
- const a = JSON.parse(c.message);
389
- if ((a == null ? void 0 : a.kind) === "InsufficientCreditsError")
388
+ const n = JSON.parse(c.message);
389
+ if ((n == null ? void 0 : n.kind) === "InsufficientCreditsError")
390
390
  throw new Error("InsufficientCreditsError");
391
- } catch (a) {
392
- console.error("Error parsing the error message:", a);
391
+ } catch (n) {
392
+ console.error("Error parsing the error message:", n);
393
393
  }
394
394
  throw new Error("Cannot create new chat");
395
395
  }
396
396
  }
397
- function Ke(e) {
397
+ function He(e) {
398
398
  return e && e.length > 0 ? e : [];
399
399
  }
400
- function He(e, t, n, r, s) {
400
+ function qe(e, t, a, r, s) {
401
401
  if (!e || !t)
402
402
  throw new Error("Please connect to the agent first");
403
403
  if (!e.interruptEnabled)
404
404
  throw new Error("Interrupt is not enabled for this stream");
405
- if (n !== W.Fluent)
405
+ if (a !== W.Fluent)
406
406
  throw new Error("Interrupt only available for Fluent streams");
407
407
  if (!r && !s)
408
408
  throw new Error("No active video to interrupt");
409
409
  }
410
- async function ne(e, t) {
411
- const n = {
412
- type: x.StreamInterrupt,
410
+ async function ae(e, t) {
411
+ const a = {
412
+ type: J.StreamInterrupt,
413
413
  videoId: t,
414
414
  timestamp: Date.now()
415
415
  };
416
- e.sendDataChannelMessage(JSON.stringify(n));
416
+ e.sendDataChannelMessage(JSON.stringify(a));
417
417
  }
418
- function qe(e) {
419
- return new Promise((t, n) => {
418
+ function Ve(e) {
419
+ return new Promise((t, a) => {
420
420
  const {
421
421
  callbacks: r,
422
422
  host: s,
423
423
  auth: i
424
424
  } = e, {
425
425
  onMessage: c = null,
426
- onOpen: a = null,
426
+ onOpen: n = null,
427
427
  onClose: o = null,
428
428
  onError: d = null
429
- } = r || {}, u = new WebSocket(`${s}?authorization=${de(i)}`);
430
- u.onmessage = c, u.onclose = o, u.onerror = (h) => {
431
- console.error(h), d == null || d("Websocket failed to connect", h), n(h);
432
- }, u.onopen = (h) => {
433
- a == null || a(h), t(u);
429
+ } = r || {}, u = new WebSocket(`${s}?authorization=${le(i)}`);
430
+ u.onmessage = c, u.onclose = o, u.onerror = (p) => {
431
+ console.error(p), d == null || d("Websocket failed to connect", p), a(p);
432
+ }, u.onopen = (p) => {
433
+ n == null || n(p), t(u);
434
434
  };
435
435
  });
436
436
  }
437
- async function Ve(e) {
437
+ async function Xe(e) {
438
438
  const {
439
439
  retries: t = 1
440
440
  } = e;
441
- let n = null;
442
- for (let r = 0; (n == null ? void 0 : n.readyState) !== WebSocket.OPEN; r++)
441
+ let a = null;
442
+ for (let r = 0; (a == null ? void 0 : a.readyState) !== WebSocket.OPEN; r++)
443
443
  try {
444
- n = await qe(e);
444
+ a = await Ve(e);
445
445
  } catch (s) {
446
446
  if (r === t)
447
447
  throw s;
448
- await oe(r * 500);
448
+ await ce(r * 500);
449
449
  }
450
- return n;
450
+ return a;
451
451
  }
452
- async function Xe(e, t, n) {
453
- const r = n != null && n.onMessage ? [n.onMessage] : [], s = await Ve({
452
+ async function Ye(e, t, a) {
453
+ const r = a != null && a.onMessage ? [a.onMessage] : [], s = await Xe({
454
454
  auth: e,
455
455
  host: t,
456
456
  callbacks: {
457
457
  onError: (i) => {
458
458
  var c;
459
- return (c = n.onError) == null ? void 0 : c.call(n, new ve(i));
459
+ return (c = a.onError) == null ? void 0 : c.call(a, new De(i));
460
460
  },
461
461
  onMessage(i) {
462
462
  const c = JSON.parse(i.data);
463
- r.forEach((a) => a(c.event, c));
463
+ r.forEach((n) => n(c.event, c));
464
464
  }
465
465
  }
466
466
  });
@@ -470,46 +470,46 @@ async function Xe(e, t, n) {
470
470
  subscribeToEvents: (i) => r.push(i)
471
471
  };
472
472
  }
473
- function Ye(e) {
473
+ function Qe(e) {
474
474
  if (e.answer !== void 0)
475
475
  return e.answer;
476
- let t = 0, n = "";
476
+ let t = 0, a = "";
477
477
  for (; t in e; )
478
- n += e[t++];
479
- return n;
478
+ a += e[t++];
479
+ return a;
480
480
  }
481
- function Qe(e, t, n, r, s) {
481
+ function Ze(e, t, a, r, s) {
482
482
  const i = r.messages[r.messages.length - 1];
483
483
  if (!(e === H.Partial || e === H.Answer) || (i == null ? void 0 : i.role) !== "assistant")
484
484
  return;
485
485
  const {
486
486
  content: c,
487
- sequence: a
487
+ sequence: n
488
488
  } = t;
489
- e === H.Partial ? n[a] = c : n.answer = c;
490
- const o = Ye(n);
489
+ e === H.Partial ? a[n] = c : a.answer = c;
490
+ const o = Qe(a);
491
491
  (i.content !== o || e === H.Answer) && (i.content = o, s == null || s([...r.messages], e));
492
492
  }
493
- function Ze(e, t, n, r, s) {
493
+ function Ge(e, t, a, r, s) {
494
494
  let i = {};
495
495
  return {
496
496
  clearQueue: () => i = {},
497
- onMessage: (c, a) => {
497
+ onMessage: (c, n) => {
498
498
  var o, d;
499
- if ("content" in a)
500
- Qe(c, a, i, t, n.callbacks.onNewMessage), c === H.Answer && e.track("agent-message-received", {
499
+ if ("content" in n)
500
+ Ze(c, n, i, t, a.callbacks.onNewMessage), c === H.Answer && e.track("agent-message-received", {
501
501
  messages: t.messages.length,
502
502
  mode: t.chatMode
503
503
  });
504
504
  else {
505
- const u = x, h = [u.StreamVideoDone, u.StreamVideoError, u.StreamVideoRejected], b = [u.StreamFailed, u.StreamVideoError, u.StreamVideoRejected], R = Fe(a, r, {
505
+ const u = J, p = [u.StreamVideoDone, u.StreamVideoError, u.StreamVideoRejected], j = [u.StreamFailed, u.StreamVideoError, u.StreamVideoRejected], R = We(n, r, {
506
506
  mode: t.chatMode
507
507
  });
508
508
  if (c = c, c === u.StreamVideoCreated)
509
509
  e.linkTrack("agent-video", R, u.StreamVideoCreated, ["start"]);
510
- else if (h.includes(c)) {
510
+ else if (p.includes(c)) {
511
511
  const k = c.split("/")[1];
512
- b.includes(c) ? e.track("agent-video", {
512
+ j.includes(c) ? e.track("agent-video", {
513
513
  ...R,
514
514
  event: k
515
515
  }) : e.linkTrack("agent-video", {
@@ -517,15 +517,15 @@ function Ze(e, t, n, r, s) {
517
517
  event: k
518
518
  }, c, ["done"]);
519
519
  }
520
- b.includes(c) && ((d = (o = n.callbacks).onError) == null || d.call(o, new Error(`Stream failed with event ${c}`), {
521
- data: a
522
- })), a.event === u.StreamDone && s();
520
+ j.includes(c) && ((d = (o = a.callbacks).onError) == null || d.call(o, new Error(`Stream failed with event ${c}`), {
521
+ data: n
522
+ })), n.event === u.StreamDone && s();
523
523
  }
524
524
  }
525
525
  };
526
526
  }
527
- function Ge(e, t, n, r) {
528
- const s = te(e, `${t}/agents/${n}`, r);
527
+ function Oe(e, t, a, r) {
528
+ const s = re(e, `${t}/agents/${a}`, r);
529
529
  return {
530
530
  createStream(i) {
531
531
  return s.post("/streams", {
@@ -536,22 +536,22 @@ function Ge(e, t, n, r) {
536
536
  fluent: i.fluent
537
537
  });
538
538
  },
539
- startConnection(i, c, a) {
539
+ startConnection(i, c, n) {
540
540
  return s.post(`/streams/${i}/sdp`, {
541
- session_id: a,
541
+ session_id: n,
542
542
  answer: c
543
543
  });
544
544
  },
545
- addIceCandidate(i, c, a) {
545
+ addIceCandidate(i, c, n) {
546
546
  return s.post(`/streams/${i}/ice`, {
547
- session_id: a,
547
+ session_id: n,
548
548
  ...c
549
549
  });
550
550
  },
551
- sendStreamRequest(i, c, a) {
551
+ sendStreamRequest(i, c, n) {
552
552
  return s.post(`/streams/${i}`, {
553
553
  session_id: c,
554
- ...a
554
+ ...n
555
555
  });
556
556
  },
557
557
  close(i, c) {
@@ -561,8 +561,8 @@ function Ge(e, t, n, r) {
561
561
  }
562
562
  };
563
563
  }
564
- function Oe(e, t, n, r) {
565
- const s = te(e, `${t}/agents/${n}`, r);
564
+ function et(e, t, a, r) {
565
+ const s = re(e, `${t}/agents/${a}`, r);
566
566
  return {
567
567
  createStream(i, c) {
568
568
  return s.post("/streams", {
@@ -576,32 +576,32 @@ function Oe(e, t, n, r) {
576
576
  fluent: i.fluent
577
577
  }, c);
578
578
  },
579
- startConnection(i, c, a, o) {
579
+ startConnection(i, c, n, o) {
580
580
  return s.post(`/streams/${i}/sdp`, {
581
- session_id: a,
581
+ session_id: n,
582
582
  answer: c
583
583
  }, o);
584
584
  },
585
- addIceCandidate(i, c, a, o) {
585
+ addIceCandidate(i, c, n, o) {
586
586
  return s.post(`/streams/${i}/ice`, {
587
- session_id: a,
587
+ session_id: n,
588
588
  ...c
589
589
  }, o);
590
590
  },
591
- sendStreamRequest(i, c, a, o) {
591
+ sendStreamRequest(i, c, n, o) {
592
592
  return s.post(`/streams/${i}`, {
593
593
  session_id: c,
594
- ...a
594
+ ...n
595
595
  }, o);
596
596
  },
597
- close(i, c, a) {
597
+ close(i, c, n) {
598
598
  return s.delete(`/streams/${i}`, {
599
599
  session_id: c
600
- }, a);
600
+ }, n);
601
601
  }
602
602
  };
603
603
  }
604
- function et(e, t, n) {
604
+ function tt(e, t, a) {
605
605
  const r = (t.timestamp - e.timestamp) / 1e3;
606
606
  return {
607
607
  duration: r,
@@ -618,13 +618,13 @@ function et(e, t, n) {
618
618
  framesPerSecond: t.framesPerSecond,
619
619
  freezeCount: t.freezeCount - e.freezeCount,
620
620
  freezeDuration: t.freezeDuration - e.freezeDuration,
621
- lowFpsCount: n
621
+ lowFpsCount: a
622
622
  };
623
623
  }
624
- function tt(e) {
624
+ function rt(e) {
625
625
  return e.filter((t) => t.freezeCount > 0 || t.framesPerSecond < 21 || t.framesDropped > 0 || t.packetsLost > 0).map((t) => {
626
626
  const {
627
- timestamp: n,
627
+ timestamp: a,
628
628
  ...r
629
629
  } = t, s = [];
630
630
  return t.freezeCount > 0 && s.push("freeze"), t.framesPerSecond < 21 && s.push("low fps"), t.framesDropped > 0 && s.push("frames dropped"), t.packetsLost > 0 && s.push("packet loss"), {
@@ -633,13 +633,13 @@ function tt(e) {
633
633
  };
634
634
  });
635
635
  }
636
- function rt(e) {
637
- let t = "", n = 0;
636
+ function nt(e) {
637
+ let t = "", a = 0;
638
638
  for (const r of e.values())
639
- if (r && r.type === "codec" && r.mimeType.startsWith("video") && (t = r.mimeType.split("/")[1]), r && r.type === "candidate-pair" && (n = r.currentRoundTripTime), r && r.type === "inbound-rtp" && r.kind === "video")
639
+ if (r && r.type === "codec" && r.mimeType.startsWith("video") && (t = r.mimeType.split("/")[1]), r && r.type === "candidate-pair" && (a = r.currentRoundTripTime), r && r.type === "inbound-rtp" && r.kind === "video")
640
640
  return {
641
641
  codec: t,
642
- rtt: n,
642
+ rtt: a,
643
643
  timestamp: r.timestamp,
644
644
  bytesReceived: r.bytesReceived,
645
645
  packetsReceived: r.packetsReceived,
@@ -658,24 +658,24 @@ function rt(e) {
658
658
  };
659
659
  return {};
660
660
  }
661
- function nt(e, t, n) {
662
- const r = e.map((o, d) => d === 0 ? n ? {
661
+ function at(e, t, a) {
662
+ const r = e.map((o, d) => d === 0 ? a ? {
663
663
  timestamp: o.timestamp,
664
664
  duration: 0,
665
665
  rtt: o.rtt,
666
- bytesReceived: o.bytesReceived - n.bytesReceived,
667
- bitrate: (o.bytesReceived - n.bytesReceived) * 8 / (t / 1e3),
668
- packetsReceived: o.packetsReceived - n.packetsReceived,
669
- packetsLost: o.packetsLost - n.packetsLost,
670
- framesDropped: o.framesDropped - n.framesDropped,
671
- framesDecoded: o.framesDecoded - n.framesDecoded,
666
+ bytesReceived: o.bytesReceived - a.bytesReceived,
667
+ bitrate: (o.bytesReceived - a.bytesReceived) * 8 / (t / 1e3),
668
+ packetsReceived: o.packetsReceived - a.packetsReceived,
669
+ packetsLost: o.packetsLost - a.packetsLost,
670
+ framesDropped: o.framesDropped - a.framesDropped,
671
+ framesDecoded: o.framesDecoded - a.framesDecoded,
672
672
  jitter: o.jitter,
673
- jitterBufferDelay: o.jitterBufferDelay - n.jitterBufferDelay,
674
- jitterBufferEmittedCount: o.jitterBufferEmittedCount - n.jitterBufferEmittedCount,
675
- avgJitterDelayInInterval: (o.jitterBufferDelay - n.jitterBufferDelay) / (o.jitterBufferEmittedCount - n.jitterBufferEmittedCount),
673
+ jitterBufferDelay: o.jitterBufferDelay - a.jitterBufferDelay,
674
+ jitterBufferEmittedCount: o.jitterBufferEmittedCount - a.jitterBufferEmittedCount,
675
+ avgJitterDelayInInterval: (o.jitterBufferDelay - a.jitterBufferDelay) / (o.jitterBufferEmittedCount - a.jitterBufferEmittedCount),
676
676
  framesPerSecond: o.framesPerSecond,
677
- freezeCount: o.freezeCount - n.freezeCount,
678
- freezeDuration: o.freezeDuration - n.freezeDuration
677
+ freezeCount: o.freezeCount - a.freezeCount,
678
+ freezeDuration: o.freezeDuration - a.freezeDuration
679
679
  } : {
680
680
  timestamp: o.timestamp,
681
681
  rtt: o.rtt,
@@ -710,34 +710,34 @@ function nt(e, t, n) {
710
710
  framesPerSecond: o.framesPerSecond,
711
711
  freezeCount: o.freezeCount - e[d - 1].freezeCount,
712
712
  freezeDuration: o.freezeDuration - e[d - 1].freezeDuration
713
- }), s = tt(r), i = s.reduce((o, d) => o + (d.causes.includes("low fps") ? 1 : 0), 0), c = r.filter((o) => !!o.avgJitterDelayInInterval).map((o) => o.avgJitterDelayInInterval), a = r.filter((o) => !!o.rtt).map((o) => o.rtt);
713
+ }), s = rt(r), i = s.reduce((o, d) => o + (d.causes.includes("low fps") ? 1 : 0), 0), c = r.filter((o) => !!o.avgJitterDelayInInterval).map((o) => o.avgJitterDelayInInterval), n = r.filter((o) => !!o.rtt).map((o) => o.rtt);
714
714
  return {
715
715
  webRTCStats: {
716
716
  anomalies: s,
717
- minRtt: Math.min(...a),
718
- avgRtt: re(a),
719
- maxRtt: Math.max(...a),
720
- aggregateReport: et(e[0], e[e.length - 1], i),
717
+ minRtt: Math.min(...n),
718
+ avgRtt: ne(n),
719
+ maxRtt: Math.max(...n),
720
+ aggregateReport: tt(e[0], e[e.length - 1], i),
721
721
  minJitterDelayInInterval: Math.min(...c),
722
722
  maxJitterDelayInInterval: Math.max(...c),
723
- avgJitterDelayInInterval: re(c)
723
+ avgJitterDelayInInterval: ne(c)
724
724
  },
725
725
  codec: e[0].codec,
726
726
  resolution: `${e[0].frameWidth}x${e[0].frameHeight}`
727
727
  };
728
728
  }
729
- const ee = 100, at = Math.max(Math.ceil(400 / ee), 1), it = 0.25, st = 0.28;
730
- function ot() {
731
- let e = 0, t, n, r = 0;
729
+ const te = 100, it = Math.max(Math.ceil(400 / te), 1), st = 0.25, ot = 0.28;
730
+ function ct() {
731
+ let e = 0, t, a, r = 0;
732
732
  return (s) => {
733
733
  for (const i of s.values())
734
734
  if (i && i.type === "inbound-rtp" && i.kind === "video") {
735
- const c = i.jitterBufferDelay, a = i.jitterBufferEmittedCount;
736
- if (n && a > n) {
737
- const u = c - t, h = a - n;
738
- r = u / h;
735
+ const c = i.jitterBufferDelay, n = i.jitterBufferEmittedCount;
736
+ if (a && n > a) {
737
+ const u = c - t, p = n - a;
738
+ r = u / p;
739
739
  }
740
- t = c, n = a;
740
+ t = c, a = n;
741
741
  const o = i.framesDecoded, d = o - e > 0;
742
742
  return e = o, {
743
743
  isReceiving: d,
@@ -751,50 +751,50 @@ function ot() {
751
751
  };
752
752
  };
753
753
  }
754
- function ct(e, t, n, r, s, i = !1) {
755
- let c = [], a, o = 0, d = !1, u = X.Unknown, h = X.Unknown, b = 0, R = 0;
756
- const k = ot();
754
+ function dt(e, t, a, r, s, i = !1) {
755
+ let c = [], n, o = 0, d = !1, u = Y.Unknown, p = Y.Unknown, j = 0, R = 0;
756
+ const k = ct();
757
757
  return setInterval(async () => {
758
758
  const D = await e.getStats(), {
759
759
  isReceiving: C,
760
- avgJitterDelayInInterval: $,
761
- freezeCount: P
762
- } = k(D), l = rt(D);
760
+ avgJitterDelayInInterval: L,
761
+ freezeCount: A
762
+ } = k(D), l = nt(D);
763
763
  if (C)
764
- o = 0, b = P - R, h = $ < it ? X.Strong : $ > st && b > 1 ? X.Weak : u, h !== u && (s == null || s(h), u = h, R += b, b = 0), d || (r == null || r(p.Start), a = c[c.length - 1], c = [], d = !0), c.push(l);
765
- else if (d && (o++, o >= at)) {
766
- const w = nt(c, ee, a);
767
- r == null || r(p.Stop, w), t() || n(), R = P, d = !1;
764
+ o = 0, j = A - R, p = L < st ? Y.Strong : L > ot && j > 1 ? Y.Weak : u, p !== u && (s == null || s(p), u = p, R += j, j = 0), d || (r == null || r(w.Start), n = c[c.length - 1], c = [], d = !0), c.push(l);
765
+ else if (d && (o++, o >= it)) {
766
+ const g = at(c, te, n);
767
+ r == null || r(w.Stop, g), t() || a(), R = A, d = !1;
768
768
  }
769
- }, ee);
769
+ }, te);
770
770
  }
771
- let ge = !1;
772
- const B = (e, t) => ge && console.log(e, t), dt = (window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection).bind(window);
773
- function ae(e) {
771
+ let pe = !1;
772
+ const $ = (e, t) => pe && console.log(e, t), lt = (window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection).bind(window);
773
+ function ie(e) {
774
774
  switch (e) {
775
775
  case "connected":
776
- return _.Connected;
776
+ return T.Connected;
777
777
  case "checking":
778
- return _.Connecting;
778
+ return T.Connecting;
779
779
  case "failed":
780
- return _.Fail;
780
+ return T.Fail;
781
781
  case "new":
782
- return _.New;
782
+ return T.New;
783
783
  case "closed":
784
- return _.Closed;
784
+ return T.Closed;
785
785
  case "disconnected":
786
- return _.Disconnected;
786
+ return T.Disconnected;
787
787
  case "completed":
788
- return _.Completed;
788
+ return T.Completed;
789
789
  default:
790
- return _.New;
790
+ return T.New;
791
791
  }
792
792
  }
793
- function lt(e) {
794
- const [t, n = ""] = e.split(/:(.+)/);
793
+ function ut(e) {
794
+ const [t, a = ""] = e.split(/:(.+)/);
795
795
  try {
796
- const r = JSON.parse(n);
797
- return B("parsed data channel message", {
796
+ const r = JSON.parse(a);
797
+ return $("parsed data channel message", {
798
798
  subject: t,
799
799
  data: r
800
800
  }), {
@@ -802,102 +802,102 @@ function lt(e) {
802
802
  data: r
803
803
  };
804
804
  } catch (r) {
805
- return B("Failed to parse data channel message, returning data as string", {
805
+ return $("Failed to parse data channel message, returning data as string", {
806
806
  subject: t,
807
- rawData: n,
807
+ rawData: a,
808
808
  error: r
809
809
  }), {
810
810
  subject: t,
811
- data: n
811
+ data: a
812
812
  };
813
813
  }
814
814
  }
815
- function ut({
815
+ function ft({
816
816
  statsSignal: e,
817
817
  dataChannelSignal: t,
818
- onVideoStateChange: n,
818
+ onVideoStateChange: a,
819
819
  report: r
820
820
  }) {
821
- e === p.Start && t === p.Start ? n == null || n(p.Start) : e === p.Stop && t === p.Stop && (n == null || n(p.Stop, r));
821
+ e === w.Start && t === w.Start ? a == null || a(w.Start) : e === w.Stop && t === w.Stop && (a == null || a(w.Stop, r));
822
822
  }
823
- function ft({
823
+ function mt({
824
824
  statsSignal: e,
825
825
  dataChannelSignal: t,
826
- onVideoStateChange: n,
826
+ onVideoStateChange: a,
827
827
  onAgentActivityStateChange: r,
828
828
  report: s
829
829
  }) {
830
- e === p.Start ? n == null || n(p.Start) : e === p.Stop && (n == null || n(p.Stop, s)), t === p.Start ? r == null || r(Y.Talking) : t === p.Stop && (r == null || r(Y.Idle));
830
+ e === w.Start ? a == null || a(w.Start) : e === w.Stop && (a == null || a(w.Stop, s)), t === w.Start ? r == null || r(V.Talking) : t === w.Stop && (r == null || r(V.Idle));
831
831
  }
832
- function ie({
832
+ function se({
833
833
  statsSignal: e,
834
834
  dataChannelSignal: t,
835
- onVideoStateChange: n,
835
+ onVideoStateChange: a,
836
836
  onAgentActivityStateChange: r,
837
837
  streamType: s,
838
838
  report: i
839
839
  }) {
840
- s === W.Legacy ? ut({
840
+ s === W.Legacy ? ft({
841
841
  statsSignal: e,
842
842
  dataChannelSignal: t,
843
- onVideoStateChange: n,
843
+ onVideoStateChange: a,
844
844
  report: i
845
- }) : s === W.Fluent && ft({
845
+ }) : s === W.Fluent && mt({
846
846
  statsSignal: e,
847
847
  dataChannelSignal: t,
848
- onVideoStateChange: n,
848
+ onVideoStateChange: a,
849
849
  onAgentActivityStateChange: r,
850
850
  report: i
851
851
  });
852
852
  }
853
- async function mt(e, t, {
854
- debug: n = !1,
853
+ async function gt(e, t, {
854
+ debug: a = !1,
855
855
  callbacks: r,
856
856
  auth: s,
857
857
  baseURL: i = Q,
858
858
  analytics: c
859
859
  }) {
860
- ge = n;
861
- let a = !1, o = !1, d = p.Stop, u = p.Stop;
860
+ pe = a;
861
+ let n = !1, o = !1, d = w.Stop, u = w.Stop;
862
862
  const {
863
- startConnection: h,
864
- sendStreamRequest: b,
863
+ startConnection: p,
864
+ sendStreamRequest: j,
865
865
  close: R,
866
866
  createStream: k,
867
867
  addIceCandidate: D
868
- } = t.videoType === se.Clip ? Ge(s, i, e, r.onError) : Oe(s, i, e, r.onError), {
868
+ } = t.videoType === oe.Clip ? Oe(s, i, e, r.onError) : et(s, i, e, r.onError), {
869
869
  id: C,
870
- offer: $,
871
- ice_servers: P,
870
+ offer: L,
871
+ ice_servers: A,
872
872
  session_id: l,
873
- fluent: w,
874
- interrupt_enabled: y
875
- } = await k(t), g = new dt({
876
- iceServers: P
877
- }), E = g.createDataChannel("JanusDataChannel");
873
+ fluent: g,
874
+ interrupt_enabled: v
875
+ } = await k(t), h = new lt({
876
+ iceServers: A
877
+ }), E = h.createDataChannel("JanusDataChannel");
878
878
  if (!l)
879
879
  throw new Error("Could not create session_id");
880
- const v = w ? W.Fluent : W.Legacy;
880
+ const y = g ? W.Fluent : W.Legacy;
881
881
  c.enrich({
882
- "stream-type": v
882
+ "stream-type": y
883
883
  });
884
- const A = t.stream_warmup && !w, F = () => a, L = () => {
884
+ const M = t.stream_warmup && !g, B = () => n, z = () => {
885
885
  var f;
886
- a = !0, o && ((f = r.onConnectionStateChange) == null || f.call(r, _.Connected));
887
- }, S = ct(g, F, L, (f, m) => ie({
886
+ n = !0, o && ((f = r.onConnectionStateChange) == null || f.call(r, T.Connected));
887
+ }, S = dt(h, B, z, (f, m) => se({
888
888
  statsSignal: u = f,
889
- dataChannelSignal: v === W.Legacy ? d : void 0,
889
+ dataChannelSignal: y === W.Legacy ? d : void 0,
890
890
  onVideoStateChange: r.onVideoStateChange,
891
891
  onAgentActivityStateChange: r.onAgentActivityStateChange,
892
892
  report: m,
893
- streamType: v
893
+ streamType: y
894
894
  }), (f) => {
895
895
  var m;
896
896
  return (m = r.onConnectivityStateChange) == null ? void 0 : m.call(r, f);
897
- }, A);
898
- g.onicecandidate = (f) => {
897
+ }, M);
898
+ h.onicecandidate = (f) => {
899
899
  var m;
900
- B("peerConnection.onicecandidate", f);
900
+ $("peerConnection.onicecandidate", f);
901
901
  try {
902
902
  f.candidate && f.candidate.sdpMid && f.candidate.sdpMLineIndex !== null ? D(C, {
903
903
  candidate: f.candidate.candidate,
@@ -906,60 +906,60 @@ async function mt(e, t, {
906
906
  }, l) : D(C, {
907
907
  candidate: null
908
908
  }, l);
909
- } catch (j) {
910
- (m = r.onError) == null || m.call(r, j, {
909
+ } catch (P) {
910
+ (m = r.onError) == null || m.call(r, P, {
911
911
  streamId: C
912
912
  });
913
913
  }
914
914
  }, E.onopen = () => {
915
- o = !0, (!A || a) && L();
915
+ o = !0, (!M || n) && z();
916
916
  };
917
917
  function I(f) {
918
- d = f === x.StreamStarted ? p.Start : p.Stop, ie({
919
- statsSignal: v === W.Legacy ? u : void 0,
918
+ d = f === J.StreamStarted ? w.Start : w.Stop, se({
919
+ statsSignal: y === W.Legacy ? u : void 0,
920
920
  dataChannelSignal: d,
921
921
  onVideoStateChange: r.onVideoStateChange,
922
922
  onAgentActivityStateChange: r.onAgentActivityStateChange,
923
- streamType: v
923
+ streamType: y
924
924
  });
925
925
  }
926
- function M(f, m) {
927
- const j = typeof m == "string" ? m : m == null ? void 0 : m.metadata;
928
- j && c.enrich({
929
- streamMetadata: j
926
+ function _(f, m) {
927
+ const P = typeof m == "string" ? m : m == null ? void 0 : m.metadata;
928
+ P && c.enrich({
929
+ streamMetadata: P
930
930
  }), c.track("agent-chat", {
931
931
  event: "ready"
932
932
  });
933
933
  }
934
- const z = {
935
- [x.StreamStarted]: I,
936
- [x.StreamDone]: I,
937
- [x.StreamReady]: M
934
+ const N = {
935
+ [J.StreamStarted]: I,
936
+ [J.StreamDone]: I,
937
+ [J.StreamReady]: _
938
938
  };
939
939
  E.onmessage = (f) => {
940
940
  var U;
941
941
  const {
942
942
  subject: m,
943
- data: j
944
- } = lt(f.data);
945
- (U = z[m]) == null || U.call(z, m, j);
946
- }, g.oniceconnectionstatechange = () => {
943
+ data: P
944
+ } = ut(f.data);
945
+ (U = N[m]) == null || U.call(N, m, P);
946
+ }, h.oniceconnectionstatechange = () => {
947
947
  var m;
948
- B("peerConnection.oniceconnectionstatechange => " + g.iceConnectionState);
949
- const f = ae(g.iceConnectionState);
950
- f !== _.Connected && ((m = r.onConnectionStateChange) == null || m.call(r, f));
951
- }, g.ontrack = (f) => {
948
+ $("peerConnection.oniceconnectionstatechange => " + h.iceConnectionState);
949
+ const f = ie(h.iceConnectionState);
950
+ f !== T.Connected && ((m = r.onConnectionStateChange) == null || m.call(r, f));
951
+ }, h.ontrack = (f) => {
952
952
  var m;
953
- B("peerConnection.ontrack", f), (m = r.onSrcObjectReady) == null || m.call(r, f.streams[0]);
954
- }, await g.setRemoteDescription($), B("set remote description OK");
955
- const N = await g.createAnswer();
956
- return B("create answer OK"), await g.setLocalDescription(N), B("set local description OK"), await h(C, N, l), B("start connection OK"), {
953
+ $("peerConnection.ontrack", f), (m = r.onSrcObjectReady) == null || m.call(r, f.streams[0]);
954
+ }, await h.setRemoteDescription(L), $("set remote description OK");
955
+ const x = await h.createAnswer();
956
+ return $("create answer OK"), await h.setLocalDescription(x), $("set local description OK"), await p(C, x, l), $("start connection OK"), {
957
957
  /**
958
958
  * Method to send request to server to get clip or talk depend on you payload
959
959
  * @param payload
960
960
  */
961
961
  speak(f) {
962
- return b(C, l, f);
962
+ return j(C, l, f);
963
963
  },
964
964
  /**
965
965
  * Method to close RTC connection
@@ -967,30 +967,30 @@ async function mt(e, t, {
967
967
  async disconnect() {
968
968
  var f;
969
969
  if (C) {
970
- const m = ae(g.iceConnectionState);
971
- if (g) {
972
- if (m === _.New) {
970
+ const m = ie(h.iceConnectionState);
971
+ if (h) {
972
+ if (m === T.New) {
973
973
  clearInterval(S);
974
974
  return;
975
975
  }
976
- g.close(), g.oniceconnectionstatechange = null, g.onnegotiationneeded = null, g.onicecandidate = null, g.ontrack = null;
976
+ h.close(), h.oniceconnectionstatechange = null, h.onnegotiationneeded = null, h.onicecandidate = null, h.ontrack = null;
977
977
  }
978
978
  try {
979
- m === _.Connected && await R(C, l).catch((j) => {
979
+ m === T.Connected && await R(C, l).catch((P) => {
980
980
  });
981
- } catch (j) {
982
- B("Error on close stream connection", j);
981
+ } catch (P) {
982
+ $("Error on close stream connection", P);
983
983
  }
984
- (f = r.onAgentActivityStateChange) == null || f.call(r, Y.Idle), clearInterval(S);
984
+ (f = r.onAgentActivityStateChange) == null || f.call(r, V.Idle), clearInterval(S);
985
985
  }
986
986
  },
987
987
  /**
988
988
  * Method to send data channel messages to the server
989
989
  */
990
990
  sendDataChannelMessage(f) {
991
- var m, j;
992
- if (!a || E.readyState !== "open") {
993
- B("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"), {
991
+ var m, P;
992
+ if (!n || E.readyState !== "open") {
993
+ $("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"), {
994
994
  streamId: C
995
995
  });
996
996
  return;
@@ -998,7 +998,7 @@ async function mt(e, t, {
998
998
  try {
999
999
  E.send(f);
1000
1000
  } catch (U) {
1001
- B("Error sending data channel message", U), (j = r.onError) == null || j.call(r, U, {
1001
+ $("Error sending data channel message", U), (P = r.onError) == null || P.call(r, U, {
1002
1002
  streamId: C
1003
1003
  });
1004
1004
  }
@@ -1011,82 +1011,82 @@ async function mt(e, t, {
1011
1011
  * Id of current RTC stream
1012
1012
  */
1013
1013
  streamId: C,
1014
- streamType: v,
1015
- interruptEnabled: y
1014
+ streamType: y,
1015
+ interruptEnabled: v
1016
1016
  };
1017
1017
  }
1018
- function gt(e, t) {
1018
+ function ht(e, t) {
1019
1019
  const {
1020
- streamOptions: n
1020
+ streamOptions: a
1021
1021
  } = t ?? {};
1022
1022
  return {
1023
- videoType: Me(e.presenter.type),
1024
- output_resolution: n == null ? void 0 : n.outputResolution,
1025
- session_timeout: n == null ? void 0 : n.sessionTimeout,
1026
- stream_warmup: n == null ? void 0 : n.streamWarmup,
1027
- compatibility_mode: n == null ? void 0 : n.compatibilityMode,
1028
- fluent: n == null ? void 0 : n.fluent
1023
+ videoType: Te(e.presenter.type),
1024
+ output_resolution: a == null ? void 0 : a.outputResolution,
1025
+ session_timeout: a == null ? void 0 : a.sessionTimeout,
1026
+ stream_warmup: a == null ? void 0 : a.streamWarmup,
1027
+ compatibility_mode: a == null ? void 0 : a.compatibilityMode,
1028
+ fluent: a == null ? void 0 : a.fluent
1029
1029
  };
1030
1030
  }
1031
- function ht(e, t, n, r, s) {
1032
- s === W.Fluent ? wt(e, t, n, r, s) : yt(e, t, n, r, s);
1031
+ function pt(e, t, a, r, s) {
1032
+ s === W.Fluent ? wt(e, t, a, r, s) : vt(e, t, a, r, s);
1033
1033
  }
1034
- function wt(e, t, n, r, s) {
1035
- e === p.Start ? r.track("stream-session", {
1034
+ function wt(e, t, a, r, s) {
1035
+ e === w.Start ? r.track("stream-session", {
1036
1036
  event: "start",
1037
1037
  "stream-type": s
1038
- }) : e === p.Stop && r.track("stream-session", {
1038
+ }) : e === w.Stop && r.track("stream-session", {
1039
1039
  event: "stop",
1040
1040
  is_greenscreen: t.presenter.type === "clip" && t.presenter.is_greenscreen,
1041
1041
  background: t.presenter.type === "clip" && t.presenter.background,
1042
1042
  "stream-type": s,
1043
- ...n
1043
+ ...a
1044
1044
  });
1045
1045
  }
1046
- function pt(e, t, n, r) {
1047
- J.get() <= 0 || (e === p.Start ? n.linkTrack("agent-video", {
1046
+ function yt(e, t, a, r) {
1047
+ F.get() <= 0 || (e === w.Start ? a.linkTrack("agent-video", {
1048
1048
  event: "start",
1049
- latency: J.get(!0),
1049
+ latency: F.get(!0),
1050
1050
  "stream-type": r
1051
- }, "start", [x.StreamVideoCreated]) : e === p.Stop && n.linkTrack("agent-video", {
1051
+ }, "start", [J.StreamVideoCreated]) : e === w.Stop && a.linkTrack("agent-video", {
1052
1052
  event: "stop",
1053
1053
  is_greenscreen: t.presenter.type === "clip" && t.presenter.is_greenscreen,
1054
1054
  background: t.presenter.type === "clip" && t.presenter.background,
1055
1055
  "stream-type": r
1056
- }, "done", [x.StreamVideoDone]));
1056
+ }, "done", [J.StreamVideoDone]));
1057
1057
  }
1058
- function yt(e, t, n, r, s) {
1059
- J.get() <= 0 || (e === p.Start ? r.linkTrack("agent-video", {
1058
+ function vt(e, t, a, r, s) {
1059
+ F.get() <= 0 || (e === w.Start ? r.linkTrack("agent-video", {
1060
1060
  event: "start",
1061
- latency: J.get(!0),
1061
+ latency: F.get(!0),
1062
1062
  "stream-type": s
1063
- }, "start", [x.StreamVideoCreated]) : e === p.Stop && r.linkTrack("agent-video", {
1063
+ }, "start", [J.StreamVideoCreated]) : e === w.Stop && r.linkTrack("agent-video", {
1064
1064
  event: "stop",
1065
1065
  is_greenscreen: t.presenter.type === "clip" && t.presenter.is_greenscreen,
1066
1066
  background: t.presenter.type === "clip" && t.presenter.background,
1067
1067
  "stream-type": s,
1068
- ...n
1069
- }, "done", [x.StreamVideoDone]));
1068
+ ...a
1069
+ }, "done", [J.StreamVideoDone]));
1070
1070
  }
1071
- function vt(e, t, n) {
1072
- return J.reset(), new Promise(async (r, s) => {
1071
+ function kt(e, t, a) {
1072
+ return F.reset(), new Promise(async (r, s) => {
1073
1073
  try {
1074
- const i = await mt(e.id, gt(e, t), {
1074
+ const i = await gt(e.id, ht(e, t), {
1075
1075
  ...t,
1076
- analytics: n,
1076
+ analytics: a,
1077
1077
  callbacks: {
1078
1078
  ...t.callbacks,
1079
1079
  onConnectionStateChange: (c) => {
1080
- var a, o;
1081
- (o = (a = t.callbacks).onConnectionStateChange) == null || o.call(a, c), c === _.Connected && r(i);
1080
+ var n, o;
1081
+ (o = (n = t.callbacks).onConnectionStateChange) == null || o.call(n, c), c === T.Connected && r(i);
1082
1082
  },
1083
- onVideoStateChange: (c, a) => {
1083
+ onVideoStateChange: (c, n) => {
1084
1084
  var o, d;
1085
- (d = (o = t.callbacks).onVideoStateChange) == null || d.call(o, c), ht(c, e, a, n, i.streamType);
1085
+ (d = (o = t.callbacks).onVideoStateChange) == null || d.call(o, c), pt(c, e, n, a, i.streamType);
1086
1086
  },
1087
1087
  onAgentActivityStateChange: (c) => {
1088
- var a, o;
1089
- (o = (a = t.callbacks).onAgentActivityStateChange) == null || o.call(a, c), pt(c === Y.Talking ? p.Start : p.Stop, e, n, i.streamType);
1088
+ var n, o;
1089
+ (o = (n = t.callbacks).onAgentActivityStateChange) == null || o.call(n, c), c === V.Talking ? ee.update() : ee.reset(), yt(c === V.Talking ? w.Start : w.Stop, e, a, i.streamType);
1090
1090
  }
1091
1091
  }
1092
1092
  });
@@ -1095,87 +1095,87 @@ function vt(e, t, n) {
1095
1095
  }
1096
1096
  });
1097
1097
  }
1098
- async function kt(e, t, n, r, s) {
1099
- var o, d, u, h;
1098
+ async function Dt(e, t, a, r, s) {
1099
+ var o, d, u, p;
1100
1100
  const {
1101
1101
  chat: i,
1102
1102
  chatMode: c
1103
- } = await me(e, n, r, t.mode, t.persistentChat, s);
1104
- if (c && c !== t.mode && (t.mode = c, (d = (o = t.callbacks).onModeChange) == null || d.call(o, c), c === T.TextOnly))
1105
- return (h = (u = t.callbacks).onError) == null || h.call(u, new ye(c)), {
1103
+ } = await he(e, a, r, t.mode, t.persistentChat, s);
1104
+ if (c && c !== t.mode && (t.mode = c, (d = (o = t.callbacks).onModeChange) == null || d.call(o, c), c === b.TextOnly))
1105
+ return (p = (u = t.callbacks).onError) == null || p.call(u, new ke(c)), {
1106
1106
  chat: i
1107
1107
  };
1108
- const a = await vt(e, t, r);
1108
+ const n = await kt(e, t, r);
1109
1109
  return {
1110
1110
  chat: i,
1111
- streamingManager: a
1111
+ streamingManager: n
1112
1112
  };
1113
1113
  }
1114
- async function Ct(e, t) {
1115
- var C, $, P;
1116
- let n = !0, r = !1;
1117
- const s = t.mixpanelKey || Ae, i = t.wsURL || Pe, c = t.baseURL || Q, a = {
1114
+ async function Rt(e, t) {
1115
+ var C, L, A;
1116
+ let a = !0, r = !1;
1117
+ const s = t.mixpanelKey || $e, i = t.wsURL || Be, c = t.baseURL || Q, n = {
1118
1118
  messages: [],
1119
- chatMode: t.mode || T.Functional
1120
- }, o = le(t.auth, c, t.callbacks.onError), d = await o.getById(e), u = We({
1119
+ chatMode: t.mode || b.Functional
1120
+ }, o = ue(t.auth, c, t.callbacks.onError), d = await o.getById(e), u = Ke({
1121
1121
  token: s,
1122
1122
  agent: d,
1123
1123
  isEnabled: t.enableAnalitics,
1124
1124
  distinctId: t.distinctId
1125
1125
  }), {
1126
- onMessage: h,
1127
- clearQueue: b
1128
- } = Ze(u, a, t, d, () => {
1126
+ onMessage: p,
1127
+ clearQueue: j
1128
+ } = Ge(u, n, t, d, () => {
1129
1129
  var l;
1130
- return (l = a.socketManager) == null ? void 0 : l.disconnect();
1130
+ return (l = n.socketManager) == null ? void 0 : l.disconnect();
1131
1131
  });
1132
- a.messages = Ke(t.initialMessages), ($ = (C = t.callbacks).onNewMessage) == null || $.call(C, [...a.messages], "answer"), u.track("agent-sdk", {
1132
+ n.messages = He(t.initialMessages), (L = (C = t.callbacks).onNewMessage) == null || L.call(C, [...n.messages], "answer"), u.track("agent-sdk", {
1133
1133
  event: "loaded",
1134
- ...Ne(d)
1134
+ ...Fe(d)
1135
1135
  });
1136
1136
  async function R(l) {
1137
- var A, F, L, S, I, M, z;
1138
- (F = (A = t.callbacks).onConnectionStateChange) == null || F.call(A, _.Connecting), J.reset(), r = !1, l && !n && (delete a.chat, (S = (L = t.callbacks).onNewMessage) == null || S.call(L, [...a.messages], "answer"));
1139
- const w = t.mode === T.DirectPlayback ? Promise.resolve(void 0) : Xe(t.auth, i, {
1140
- onMessage: h,
1137
+ var M, B, z, S, I, _, N;
1138
+ (B = (M = t.callbacks).onConnectionStateChange) == null || B.call(M, T.Connecting), F.reset(), r = !1, l && !a && (delete n.chat, (S = (z = t.callbacks).onNewMessage) == null || S.call(z, [...n.messages], "answer"));
1139
+ const g = t.mode === b.DirectPlayback ? Promise.resolve(void 0) : Ye(t.auth, i, {
1140
+ onMessage: p,
1141
1141
  onError: t.callbacks.onError
1142
- }), y = O(() => kt(d, t, o, u, a.chat), {
1142
+ }), v = O(() => Dt(d, t, o, u, n.chat), {
1143
1143
  limit: 3,
1144
- timeout: be,
1144
+ timeout: Pe,
1145
1145
  timeoutErrorMessage: "Timeout initializing the stream",
1146
1146
  // Retry on all errors except for connection errors and rate limit errors, these are already handled in client level.
1147
- shouldRetryFn: (N) => (N == null ? void 0 : N.message) !== "Could not connect" && N.status !== 429,
1147
+ shouldRetryFn: (x) => (x == null ? void 0 : x.message) !== "Could not connect" && x.status !== 429,
1148
1148
  delayMs: 1e3
1149
- }).catch((N) => {
1149
+ }).catch((x) => {
1150
1150
  var f, m;
1151
- throw D(T.Maintenance), (m = (f = t.callbacks).onConnectionStateChange) == null || m.call(f, _.Fail), N;
1152
- }), [g, {
1151
+ throw D(b.Maintenance), (m = (f = t.callbacks).onConnectionStateChange) == null || m.call(f, T.Fail), x;
1152
+ }), [h, {
1153
1153
  streamingManager: E,
1154
- chat: v
1155
- }] = await Promise.all([w, y]);
1156
- v && v.id !== ((I = a.chat) == null ? void 0 : I.id) && ((z = (M = t.callbacks).onNewChat) == null || z.call(M, v.id)), a.streamingManager = E, a.socketManager = g, a.chat = v, n = !1, D((v == null ? void 0 : v.chat_mode) ?? t.mode ?? T.Functional);
1154
+ chat: y
1155
+ }] = await Promise.all([g, v]);
1156
+ y && y.id !== ((I = n.chat) == null ? void 0 : I.id) && ((N = (_ = t.callbacks).onNewChat) == null || N.call(_, y.id)), n.streamingManager = E, n.socketManager = h, n.chat = y, a = !1, D((y == null ? void 0 : y.chat_mode) ?? t.mode ?? b.Functional);
1157
1157
  }
1158
1158
  async function k() {
1159
- var l, w, y, g;
1160
- (l = a.socketManager) == null || l.disconnect(), await ((w = a.streamingManager) == null ? void 0 : w.disconnect()), r = !1, delete a.streamingManager, delete a.socketManager, (g = (y = t.callbacks).onConnectionStateChange) == null || g.call(y, _.Disconnected);
1159
+ var l, g, v, h;
1160
+ (l = n.socketManager) == null || l.disconnect(), await ((g = n.streamingManager) == null ? void 0 : g.disconnect()), r = !1, delete n.streamingManager, delete n.socketManager, (h = (v = t.callbacks).onConnectionStateChange) == null || h.call(v, T.Disconnected);
1161
1161
  }
1162
1162
  async function D(l) {
1163
- var w, y;
1164
- l !== a.chatMode && (u.track("agent-mode-change", {
1163
+ var g, v;
1164
+ l !== n.chatMode && (u.track("agent-mode-change", {
1165
1165
  mode: l
1166
- }), a.chatMode = l, a.chatMode !== T.Functional && await k(), (y = (w = t.callbacks).onModeChange) == null || y.call(w, l));
1166
+ }), n.chatMode = l, n.chatMode !== b.Functional && await k(), (v = (g = t.callbacks).onModeChange) == null || v.call(g, l));
1167
1167
  }
1168
1168
  return {
1169
1169
  agent: d,
1170
1170
  getStreamType: () => {
1171
1171
  var l;
1172
- return (l = a.streamingManager) == null ? void 0 : l.streamType;
1172
+ return (l = n.streamingManager) == null ? void 0 : l.streamType;
1173
1173
  },
1174
1174
  getIsInterruptEnabled: () => {
1175
1175
  var l;
1176
- return ((l = a.streamingManager) == null ? void 0 : l.interruptEnabled) ?? !1;
1176
+ return ((l = n.streamingManager) == null ? void 0 : l.interruptEnabled) ?? !1;
1177
1177
  },
1178
- starterMessages: ((P = d.knowledge) == null ? void 0 : P.starter_message) || [],
1178
+ starterMessages: ((A = d.knowledge) == null ? void 0 : A.starter_message) || [],
1179
1179
  getSTTToken: () => o.getSTTToken(d.id),
1180
1180
  changeMode: D,
1181
1181
  enrichAnalytics: u.enrich,
@@ -1183,89 +1183,89 @@ async function Ct(e, t) {
1183
1183
  var l;
1184
1184
  await R(!0), u.track("agent-chat", {
1185
1185
  event: "connect",
1186
- chatId: (l = a.chat) == null ? void 0 : l.id,
1186
+ chatId: (l = n.chat) == null ? void 0 : l.id,
1187
1187
  agentId: d.id,
1188
- mode: a.chatMode
1188
+ mode: n.chatMode
1189
1189
  });
1190
1190
  },
1191
1191
  async reconnect() {
1192
1192
  var l;
1193
1193
  await k(), await R(!1), u.track("agent-chat", {
1194
1194
  event: "reconnect",
1195
- chatId: (l = a.chat) == null ? void 0 : l.id,
1195
+ chatId: (l = n.chat) == null ? void 0 : l.id,
1196
1196
  agentId: d.id,
1197
- mode: a.chatMode
1197
+ mode: n.chatMode
1198
1198
  });
1199
1199
  },
1200
1200
  async disconnect() {
1201
1201
  var l;
1202
1202
  await k(), u.track("agent-chat", {
1203
1203
  event: "disconnect",
1204
- chatId: (l = a.chat) == null ? void 0 : l.id,
1204
+ chatId: (l = n.chat) == null ? void 0 : l.id,
1205
1205
  agentId: d.id,
1206
- mode: a.chatMode
1206
+ mode: n.chatMode
1207
1207
  });
1208
1208
  },
1209
1209
  async chat(l) {
1210
- var E, v, A, F, L;
1211
- const w = () => {
1212
- if (t.mode === T.DirectPlayback)
1210
+ var E, y, M, B, z;
1211
+ const g = () => {
1212
+ if (t.mode === b.DirectPlayback)
1213
1213
  throw new K("Direct playback is enabled, chat is disabled");
1214
1214
  if (l.length >= 800)
1215
1215
  throw new K("Message cannot be more than 800 characters");
1216
1216
  if (l.length === 0)
1217
1217
  throw new K("Message cannot be empty");
1218
- if (a.chatMode === T.Maintenance)
1218
+ if (n.chatMode === b.Maintenance)
1219
1219
  throw new K("Chat is in maintenance mode");
1220
- if (![T.TextOnly, T.Playground].includes(a.chatMode)) {
1221
- if (!a.streamingManager)
1220
+ if (![b.TextOnly, b.Playground].includes(n.chatMode)) {
1221
+ if (!n.streamingManager)
1222
1222
  throw new K("Streaming manager is not initialized");
1223
- if (!a.chat)
1223
+ if (!n.chat)
1224
1224
  throw new K("Chat is not initialized");
1225
1225
  }
1226
- }, y = async () => {
1226
+ }, v = async () => {
1227
1227
  var S, I;
1228
- if (!a.chat) {
1229
- const M = await me(d, o, u, a.chatMode, t.persistentChat);
1230
- if (!M.chat)
1231
- throw new pe(a.chatMode, !!t.persistentChat);
1232
- a.chat = M.chat, (I = (S = t.callbacks).onNewChat) == null || I.call(S, a.chat.id);
1228
+ if (!n.chat) {
1229
+ const _ = await he(d, o, u, n.chatMode, t.persistentChat);
1230
+ if (!_.chat)
1231
+ throw new ve(n.chatMode, !!t.persistentChat);
1232
+ n.chat = _.chat, (I = (S = t.callbacks).onNewChat) == null || I.call(S, n.chat.id);
1233
1233
  }
1234
- return a.chat.id;
1235
- }, g = async (S, I) => O(() => {
1236
- var M, z;
1234
+ return n.chat.id;
1235
+ }, h = async (S, I) => O(() => {
1236
+ var _, N;
1237
1237
  return o.chat(d.id, I, {
1238
- chatMode: a.chatMode,
1239
- streamId: (M = a.streamingManager) == null ? void 0 : M.streamId,
1240
- sessionId: (z = a.streamingManager) == null ? void 0 : z.sessionId,
1238
+ chatMode: n.chatMode,
1239
+ streamId: (_ = n.streamingManager) == null ? void 0 : _.streamId,
1240
+ sessionId: (N = n.streamingManager) == null ? void 0 : N.sessionId,
1241
1241
  messages: S.map(({
1242
- matches: N,
1242
+ matches: x,
1243
1243
  ...f
1244
1244
  }) => f)
1245
1245
  }, {
1246
- ...fe(a.chatMode),
1246
+ ...ge(n.chatMode),
1247
1247
  skipErrorHandler: !0
1248
1248
  });
1249
1249
  }, {
1250
1250
  limit: 2,
1251
- shouldRetryFn: (M) => {
1252
- var f, m, j, U;
1253
- const z = (f = M == null ? void 0 : M.message) == null ? void 0 : f.includes("missing or invalid session_id");
1254
- return !((m = M == null ? void 0 : M.message) == null ? void 0 : m.includes("Stream Error")) && !z ? ((U = (j = t.callbacks).onError) == null || U.call(j, M), !1) : !0;
1251
+ shouldRetryFn: (_) => {
1252
+ var f, m, P, U;
1253
+ const N = (f = _ == null ? void 0 : _.message) == null ? void 0 : f.includes("missing or invalid session_id");
1254
+ return !((m = _ == null ? void 0 : _.message) == null ? void 0 : m.includes("Stream Error")) && !N ? ((U = (P = t.callbacks).onError) == null || U.call(P, _), !1) : !0;
1255
1255
  },
1256
1256
  onRetry: async () => {
1257
1257
  await k(), await R(!1);
1258
1258
  }
1259
1259
  });
1260
1260
  try {
1261
- b(), w(), a.messages.push({
1261
+ j(), g(), n.messages.push({
1262
1262
  id: q(),
1263
1263
  role: "user",
1264
1264
  content: l,
1265
- created_at: new Date(J.update()).toISOString()
1266
- }), (v = (E = t.callbacks).onNewMessage) == null || v.call(E, [...a.messages], "user");
1267
- const S = await y(), I = await g([...a.messages], S);
1268
- return a.messages.push({
1265
+ created_at: new Date(F.update()).toISOString()
1266
+ }), (y = (E = t.callbacks).onNewMessage) == null || y.call(E, [...n.messages], "user");
1267
+ const S = await v(), I = await h([...n.messages], S);
1268
+ return n.messages.push({
1269
1269
  id: q(),
1270
1270
  role: "assistant",
1271
1271
  content: I.result || "",
@@ -1273,65 +1273,65 @@ async function Ct(e, t) {
1273
1273
  context: I.context,
1274
1274
  matches: I.matches,
1275
1275
  videoId: I.videoId
1276
- }), r && I.videoId && a.streamingManager && (r = !1, a.messages[a.messages.length - 1].interrupted = !0, await ne(a.streamingManager, I.videoId)), u.track("agent-message-send", {
1276
+ }), r && I.videoId && n.streamingManager && (r = !1, n.messages[n.messages.length - 1].interrupted = !0, await ae(n.streamingManager, I.videoId)), u.track("agent-message-send", {
1277
1277
  event: "success",
1278
- mode: a.chatMode,
1279
- messages: a.messages.length + 1
1280
- }), I.result && ((F = (A = t.callbacks).onNewMessage) == null || F.call(A, [...a.messages], "answer"), u.track("agent-message-received", {
1281
- latency: J.get(!0),
1282
- mode: a.chatMode,
1283
- messages: a.messages.length
1278
+ mode: n.chatMode,
1279
+ messages: n.messages.length + 1
1280
+ }), I.result && ((B = (M = t.callbacks).onNewMessage) == null || B.call(M, [...n.messages], "answer"), u.track("agent-message-received", {
1281
+ latency: F.get(!0),
1282
+ mode: n.chatMode,
1283
+ messages: n.messages.length
1284
1284
  })), I;
1285
1285
  } catch (S) {
1286
- throw r = !1, ((L = a.messages[a.messages.length - 1]) == null ? void 0 : L.role) === "assistant" && a.messages.pop(), u.track("agent-message-send", {
1286
+ throw r = !1, ((z = n.messages[n.messages.length - 1]) == null ? void 0 : z.role) === "assistant" && n.messages.pop(), u.track("agent-message-send", {
1287
1287
  event: "error",
1288
- mode: a.chatMode,
1289
- messages: a.messages.length
1288
+ mode: n.chatMode,
1289
+ messages: n.messages.length
1290
1290
  }), S;
1291
1291
  }
1292
1292
  },
1293
- rate(l, w, y) {
1294
- var v, A, F, L;
1295
- const g = a.messages.find((S) => S.id === l);
1296
- if (a.chat) {
1297
- if (!g)
1293
+ rate(l, g, v) {
1294
+ var y, M, B, z;
1295
+ const h = n.messages.find((S) => S.id === l);
1296
+ if (n.chat) {
1297
+ if (!h)
1298
1298
  throw new Error("Message not found");
1299
1299
  } else
1300
1300
  throw new Error("Chat is not initialized");
1301
- const E = ((v = g.matches) == null ? void 0 : v.map((S) => [S.document_id, S.id])) ?? [];
1301
+ const E = ((y = h.matches) == null ? void 0 : y.map((S) => [S.document_id, S.id])) ?? [];
1302
1302
  return u.track("agent-rate", {
1303
- event: y ? "update" : "create",
1304
- thumb: w === 1 ? "up" : "down",
1305
- knowledge_id: ((A = d.knowledge) == null ? void 0 : A.id) ?? "",
1306
- mode: a.chatMode,
1303
+ event: v ? "update" : "create",
1304
+ thumb: g === 1 ? "up" : "down",
1305
+ knowledge_id: ((M = d.knowledge) == null ? void 0 : M.id) ?? "",
1306
+ mode: n.chatMode,
1307
1307
  matches: E,
1308
- score: w
1309
- }), y ? o.updateRating(d.id, a.chat.id, y, {
1310
- knowledge_id: ((F = d.knowledge) == null ? void 0 : F.id) ?? "",
1308
+ score: g
1309
+ }), v ? o.updateRating(d.id, n.chat.id, v, {
1310
+ knowledge_id: ((B = d.knowledge) == null ? void 0 : B.id) ?? "",
1311
1311
  message_id: l,
1312
1312
  matches: E,
1313
- score: w
1314
- }) : o.createRating(d.id, a.chat.id, {
1315
- knowledge_id: ((L = d.knowledge) == null ? void 0 : L.id) ?? "",
1313
+ score: g
1314
+ }) : o.createRating(d.id, n.chat.id, {
1315
+ knowledge_id: ((z = d.knowledge) == null ? void 0 : z.id) ?? "",
1316
1316
  message_id: l,
1317
1317
  matches: E,
1318
- score: w
1318
+ score: g
1319
1319
  });
1320
1320
  },
1321
1321
  deleteRate(l) {
1322
- var w;
1323
- if (!a.chat)
1322
+ var g;
1323
+ if (!n.chat)
1324
1324
  throw new Error("Chat is not initialized");
1325
1325
  return u.track("agent-rate-delete", {
1326
1326
  type: "text",
1327
- chat_id: (w = a.chat) == null ? void 0 : w.id,
1327
+ chat_id: (g = n.chat) == null ? void 0 : g.id,
1328
1328
  id: l,
1329
- mode: a.chatMode
1330
- }), o.deleteRating(d.id, a.chat.id, l);
1329
+ mode: n.chatMode
1330
+ }), o.deleteRating(d.id, n.chat.id, l);
1331
1331
  },
1332
1332
  async speak(l) {
1333
- var E, v, A;
1334
- function w() {
1333
+ var E, y, M;
1334
+ function g() {
1335
1335
  if (typeof l == "string") {
1336
1336
  if (!d.presenter.voice)
1337
1337
  throw new Error("Presenter voice is not initialized");
@@ -1354,68 +1354,80 @@ async function Ct(e, t) {
1354
1354
  }
1355
1355
  return l;
1356
1356
  }
1357
- const y = w();
1358
- if (u.track("agent-speak", y), J.update(), a.messages && y.type === "text" && (a.messages.push({
1357
+ const v = g();
1358
+ if (u.track("agent-speak", v), F.update(), n.messages && v.type === "text" && (n.messages.push({
1359
1359
  id: q(),
1360
1360
  role: "assistant",
1361
- content: y.input,
1362
- created_at: new Date(J.get(!0)).toISOString()
1363
- }), (v = (E = t.callbacks).onNewMessage) == null || v.call(E, [...a.messages], "answer")), Be(a.chatMode))
1361
+ content: v.input,
1362
+ created_at: new Date(F.get(!0)).toISOString()
1363
+ }), (y = (E = t.callbacks).onNewMessage) == null || y.call(E, [...n.messages], "answer")), Le(n.chatMode))
1364
1364
  return {
1365
1365
  duration: 0,
1366
1366
  status: "success"
1367
1367
  };
1368
- if (!a.streamingManager)
1368
+ if (!n.streamingManager)
1369
1369
  throw new Error("Please connect to the agent first");
1370
- return a.streamingManager.speak({
1371
- script: y,
1370
+ return n.streamingManager.speak({
1371
+ script: v,
1372
1372
  metadata: {
1373
- chat_id: (A = a.chat) == null ? void 0 : A.id,
1373
+ chat_id: (M = n.chat) == null ? void 0 : M.id,
1374
1374
  agent_id: d.id
1375
1375
  }
1376
1376
  });
1377
1377
  },
1378
- async interrupt() {
1379
- var y, g, E;
1380
- const l = a.messages[a.messages.length - 1], w = (l == null ? void 0 : l.role) === "user";
1381
- if (He(a.streamingManager, a.chat, (y = a.streamingManager) == null ? void 0 : y.streamType, w, !!(l != null && l.videoId)), w) {
1378
+ async interrupt({
1379
+ type: l
1380
+ }) {
1381
+ var h, E, y, M, B;
1382
+ const g = n.messages[n.messages.length - 1], v = (g == null ? void 0 : g.role) === "user";
1383
+ if (qe(n.streamingManager, n.chat, (h = n.streamingManager) == null ? void 0 : h.streamType, v, !!(g != null && g.videoId)), u.track("agent-video-interrupt", {
1384
+ type: l || "click",
1385
+ stream_id: (E = n.streamingManager) == null ? void 0 : E.streamId,
1386
+ agent_id: d.id,
1387
+ owner_id: d.owner_id,
1388
+ video_duration_to_interrupt: ee.get(!0),
1389
+ message_duration_to_interrupt: F.get(!0),
1390
+ chat_id: (y = n.chat) == null ? void 0 : y.id,
1391
+ mode: n.chatMode,
1392
+ queued_interrupt: v
1393
+ }), v) {
1382
1394
  r = !0;
1383
1395
  return;
1384
1396
  }
1385
- l.interrupted = !0, (E = (g = t.callbacks).onNewMessage) == null || E.call(g, [...a.messages], "answer"), ne(a.streamingManager, l == null ? void 0 : l.videoId);
1397
+ g.interrupted = !0, (B = (M = t.callbacks).onNewMessage) == null || B.call(M, [...n.messages], "answer"), ae(n.streamingManager, g.videoId);
1386
1398
  }
1387
1399
  };
1388
1400
  }
1389
- function Rt(e, t, n) {
1401
+ function Et(e, t, a) {
1390
1402
  const {
1391
1403
  getById: r
1392
- } = le(t, n || Q);
1404
+ } = ue(t, a || Q);
1393
1405
  return r(e);
1394
1406
  }
1395
1407
  export {
1396
- Y as AgentActivityState,
1397
- Ce as AgentStatus,
1398
- pe as ChatCreationFailed,
1399
- T as ChatMode,
1400
- ye as ChatModeDowngraded,
1408
+ V as AgentActivityState,
1409
+ Ee as AgentStatus,
1410
+ ve as ChatCreationFailed,
1411
+ b as ChatMode,
1412
+ ke as ChatModeDowngraded,
1401
1413
  H as ChatProgress,
1402
- _ as ConnectionState,
1403
- X as ConnectivityState,
1404
- Ie as DocumentType,
1405
- Se as KnowledgeType,
1406
- De as PlanGroup,
1407
- _e as Providers,
1408
- Re as RateState,
1409
- x as StreamEvents,
1414
+ T as ConnectionState,
1415
+ Y as ConnectivityState,
1416
+ Me as DocumentType,
1417
+ _e as KnowledgeType,
1418
+ Re as PlanGroup,
1419
+ be as Providers,
1420
+ Se as RateState,
1421
+ J as StreamEvents,
1410
1422
  W as StreamType,
1411
- p as StreamingState,
1412
- Ee as Subject,
1413
- ke as UserPlan,
1423
+ w as StreamingState,
1424
+ Ie as Subject,
1425
+ Ce as UserPlan,
1414
1426
  K as ValidationError,
1415
- se as VideoType,
1416
- Te as VoiceAccess,
1417
- ve as WsError,
1418
- Ct as createAgentManager,
1419
- Rt as getAgent,
1420
- Me as mapVideoType
1427
+ oe as VideoType,
1428
+ je as VoiceAccess,
1429
+ De as WsError,
1430
+ Rt as createAgentManager,
1431
+ Et as getAgent,
1432
+ Te as mapVideoType
1421
1433
  };