@d-id/client-sdk 1.1.0-beta.7 → 1.1.0-beta.9

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