@d-id/client-sdk 1.1.68 → 1.1.69-staging.333

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
- var We = Object.defineProperty;
2
- var Je = (e, t, r) => t in e ? We(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
- var Z = (e, t, r) => Je(e, typeof t != "symbol" ? t + "" : t, r);
4
- class ce extends Error {
1
+ var Xe = Object.defineProperty;
2
+ var Ge = (e, t, r) => t in e ? Xe(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
+ var Z = (e, t, r) => Ge(e, typeof t != "symbol" ? t + "" : t, r);
4
+ class de extends Error {
5
5
  constructor({ kind: r, description: a, error: c }) {
6
6
  super(JSON.stringify({ kind: r, description: a }));
7
7
  Z(this, "kind");
@@ -10,7 +10,7 @@ class ce extends Error {
10
10
  this.kind = r, this.description = a, this.error = c;
11
11
  }
12
12
  }
13
- class Oe extends ce {
13
+ class Ye extends de {
14
14
  constructor(t, r) {
15
15
  super({
16
16
  kind: "ChatCreationFailed",
@@ -18,25 +18,25 @@ class Oe extends ce {
18
18
  });
19
19
  }
20
20
  }
21
- class He extends ce {
21
+ class Qe extends de {
22
22
  constructor(t) {
23
23
  super({ kind: "ChatModeDowngraded", description: `Chat mode downgraded to ${t}` });
24
24
  }
25
25
  }
26
- class G extends ce {
26
+ class Y extends de {
27
27
  constructor(r, a) {
28
28
  super({ kind: "ValidationError", description: r });
29
29
  Z(this, "key");
30
30
  this.key = a;
31
31
  }
32
32
  }
33
- class qe extends ce {
33
+ class Ze extends de {
34
34
  constructor(t) {
35
35
  super({ kind: "WSError", description: t });
36
36
  }
37
37
  }
38
- var Xe = /* @__PURE__ */ ((e) => (e.TRIAL = "trial", e.BASIC = "basic", e.ENTERPRISE = "enterprise", e.LITE = "lite", e.ADVANCED = "advanced", e))(Xe || {}), Ye = /* @__PURE__ */ ((e) => (e.TRIAL = "deid-trial", e.PRO = "deid-pro", e.ENTERPRISE = "deid-enterprise", e.LITE = "deid-lite", e.ADVANCED = "deid-advanced", e.BUILD = "deid-api-build", e.LAUNCH = "deid-api-launch", e.SCALE = "deid-api-scale", e))(Ye || {}), Ge = /* @__PURE__ */ ((e) => (e.Created = "created", e.Started = "started", e.Done = "done", e.Error = "error", e.Rejected = "rejected", e.Ready = "ready", e))(Ge || {}), Qe = /* @__PURE__ */ ((e) => (e.Unrated = "Unrated", e.Positive = "Positive", e.Negative = "Negative", e))(Qe || {}), x = /* @__PURE__ */ ((e) => (e.Functional = "Functional", e.TextOnly = "TextOnly", e.Maintenance = "Maintenance", e.Playground = "Playground", e.DirectPlayback = "DirectPlayback", e.Off = "Off", e))(x || {}), U = /* @__PURE__ */ ((e) => (e.Embed = "embed", e.Query = "query", e.Partial = "partial", e.Answer = "answer", e.Transcribe = "transcribe", e.Complete = "done", e))(U || {}), Ze = /* @__PURE__ */ ((e) => (e.KnowledgeProcessing = "knowledge/processing", e.KnowledgeIndexing = "knowledge/indexing", e.KnowledgeFailed = "knowledge/error", e.KnowledgeDone = "knowledge/done", e))(Ze || {}), et = /* @__PURE__ */ ((e) => (e.Knowledge = "knowledge", e.Document = "document", e.Record = "record", e))(et || {}), tt = /* @__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))(tt || {}), Pe = /* @__PURE__ */ ((e) => (e.Clip = "clip", e.Talk = "talk", e.Expressive = "expressive", e))(Pe || {});
39
- const sr = (e) => {
38
+ var et = /* @__PURE__ */ ((e) => (e.TRIAL = "trial", e.BASIC = "basic", e.ENTERPRISE = "enterprise", e.LITE = "lite", e.ADVANCED = "advanced", e))(et || {}), tt = /* @__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))(tt || {}), rt = /* @__PURE__ */ ((e) => (e.Created = "created", e.Started = "started", e.Done = "done", e.Error = "error", e.Rejected = "rejected", e.Ready = "ready", e))(rt || {}), nt = /* @__PURE__ */ ((e) => (e.Unrated = "Unrated", e.Positive = "Positive", e.Negative = "Negative", e))(nt || {}), A = /* @__PURE__ */ ((e) => (e.Functional = "Functional", e.TextOnly = "TextOnly", e.Maintenance = "Maintenance", e.Playground = "Playground", e.DirectPlayback = "DirectPlayback", e.Off = "Off", e))(A || {}), B = /* @__PURE__ */ ((e) => (e.Embed = "embed", e.Query = "query", e.Partial = "partial", e.Answer = "answer", e.Transcribe = "transcribe", e.Complete = "done", e))(B || {}), at = /* @__PURE__ */ ((e) => (e.KnowledgeProcessing = "knowledge/processing", e.KnowledgeIndexing = "knowledge/indexing", e.KnowledgeFailed = "knowledge/error", e.KnowledgeDone = "knowledge/done", e))(at || {}), it = /* @__PURE__ */ ((e) => (e.Knowledge = "knowledge", e.Document = "document", e.Record = "record", e))(it || {}), st = /* @__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))(st || {}), ze = /* @__PURE__ */ ((e) => (e.Clip = "clip", e.Talk = "talk", e.Expressive = "expressive", e))(ze || {});
39
+ const lr = (e) => {
40
40
  switch (e) {
41
41
  case "clip":
42
42
  return "clip";
@@ -48,12 +48,36 @@ const sr = (e) => {
48
48
  throw new Error(`Unknown video type: ${e}`);
49
49
  }
50
50
  };
51
- var S = /* @__PURE__ */ ((e) => (e.Start = "START", e.Stop = "STOP", e))(S || {}), te = /* @__PURE__ */ ((e) => (e.Strong = "STRONG", e.Weak = "WEAK", e.Unknown = "UNKNOWN", e))(te || {}), ne = /* @__PURE__ */ ((e) => (e.Idle = "IDLE", e.Loading = "LOADING", e.Talking = "TALKING", e.ToolActive = "TOOL_ACTIVE", e))(ne || {}), P = /* @__PURE__ */ ((e) => (e.ChatAnswer = "chat/answer", e.ChatPartial = "chat/partial", e.ChatAudioTranscribed = "chat/audio-transcribed", e.StreamDone = "stream/done", e.StreamStarted = "stream/started", e.StreamFailed = "stream/error", e.StreamReady = "stream/ready", e.StreamCreated = "stream/created", e.StreamInterrupt = "stream/interrupt", e.StreamVideoCreated = "stream-video/started", e.StreamVideoDone = "stream-video/done", e.StreamVideoError = "stream-video/error", e.StreamVideoRejected = "stream-video/rejected", e.ToolCallStarted = "tool-call/started", e.ToolCallDone = "tool-call/done", e.ToolCallError = "tool-call/error", e))(P || {}), L = /* @__PURE__ */ ((e) => (e.New = "new", e.Fail = "fail", e.Connected = "connected", e.Connecting = "connecting", e.Closed = "closed", e.Completed = "completed", e.Disconnecting = "disconnecting", e.Disconnected = "disconnected", e))(L || {}), W = /* @__PURE__ */ ((e) => (e.Legacy = "legacy", e.Fluent = "fluent", e))(W || {}), he = /* @__PURE__ */ ((e) => (e.Livekit = "livekit", e))(he || {}), rt = /* @__PURE__ */ ((e) => (e.Amazon = "amazon", e.AzureOpenAi = "azure-openai", e.Microsoft = "microsoft", e.Afflorithmics = "afflorithmics", e.Elevenlabs = "elevenlabs", e))(rt || {}), nt = /* @__PURE__ */ ((e) => (e.Public = "public", e.Premium = "premium", e.Private = "private", e))(nt || {});
52
- const at = 45 * 1e3, it = "X-Playground-Chat", de = "https://api.d-id.com", st = "wss://notifications.d-id.com", ot = "79f81a83a67430be2bc0fd61042b8faa", or = (...e) => {
53
- }, je = (e) => new Promise((t) => setTimeout(t, e)), Q = (e = 16) => {
51
+ var S = /* @__PURE__ */ ((e) => (e.Start = "START", e.Stop = "STOP", e))(S || {}), te = /* @__PURE__ */ ((e) => (e.Strong = "STRONG", e.Weak = "WEAK", e.Unknown = "UNKNOWN", e))(te || {}), ne = /* @__PURE__ */ ((e) => (e.Idle = "IDLE", e.Loading = "LOADING", e.Talking = "TALKING", e.ToolActive = "TOOL_ACTIVE", e))(ne || {}), x = /* @__PURE__ */ ((e) => (e.ChatAnswer = "chat/answer", e.ChatPartial = "chat/partial", e.ChatAudioTranscribed = "chat/audio-transcribed", e.StreamDone = "stream/done", e.StreamStarted = "stream/started", e.StreamFailed = "stream/error", e.StreamReady = "stream/ready", e.StreamCreated = "stream/created", e.StreamInterrupt = "stream/interrupt", e.StreamVideoCreated = "stream-video/started", e.StreamVideoDone = "stream-video/done", e.StreamVideoError = "stream-video/error", e.StreamVideoRejected = "stream-video/rejected", e.ToolCallStarted = "tool-call/started", e.ToolCallDone = "tool-call/done", e.ToolCallError = "tool-call/error", e))(x || {}), b = /* @__PURE__ */ ((e) => (e.New = "new", e.Fail = "fail", e.Connected = "connected", e.Connecting = "connecting", e.Closed = "closed", e.Completed = "completed", e.Disconnecting = "disconnecting", e.Disconnected = "disconnected", e))(b || {}), W = /* @__PURE__ */ ((e) => (e.Legacy = "legacy", e.Fluent = "fluent", e))(W || {}), he = /* @__PURE__ */ ((e) => (e.Livekit = "livekit", e))(he || {}), ot = /* @__PURE__ */ ((e) => (e.Amazon = "amazon", e.AzureOpenAi = "azure-openai", e.Microsoft = "microsoft", e.Afflorithmics = "afflorithmics", e.Elevenlabs = "elevenlabs", e))(ot || {}), ct = /* @__PURE__ */ ((e) => (e.Public = "public", e.Premium = "premium", e.Private = "private", e))(ct || {});
52
+ const ur = (...e) => {
53
+ }, Fe = (e) => new Promise((t) => setTimeout(t, e)), G = (e = 16) => {
54
54
  const t = new Uint8Array(e);
55
55
  return window.crypto.getRandomValues(t), Array.from(t, (r) => r.toString(16).padStart(2, "0")).join("").slice(0, 13);
56
- }, Be = (e) => e.type === "clip" && e.presenter_id.startsWith("v2_") ? "clip_v2" : e.type, ct = (e) => {
56
+ };
57
+ function me(e) {
58
+ if (e !== void 0)
59
+ return window.localStorage.setItem("did_external_key_id", e), e;
60
+ let t = window.localStorage.getItem("did_external_key_id");
61
+ if (!t) {
62
+ let r = G();
63
+ window.localStorage.setItem("did_external_key_id", r), t = r;
64
+ }
65
+ return t;
66
+ }
67
+ let Ne = G();
68
+ function dt() {
69
+ Ne = G();
70
+ }
71
+ function Ve(e, t) {
72
+ if (e.type === "bearer")
73
+ return `Bearer ${e.token}`;
74
+ if (e.type === "basic")
75
+ return `Basic ${"token" in e ? e.token : btoa(`${e.username}:${e.password}`)}`;
76
+ if (e.type === "key")
77
+ return `Client-Key ${e.clientKey}.${me(t)}_${Ne}`;
78
+ throw new Error(`Unknown auth type: ${e}`);
79
+ }
80
+ const lt = 45 * 1e3, ut = "X-Playground-Chat", ke = 2e3, le = "https://api.d-id.com", mt = "wss://notifications.d-id.com", ft = "79f81a83a67430be2bc0fd61042b8faa", Ke = (e) => e.type === "clip" && e.presenter_id.startsWith("v2_") ? "clip_v2" : e.type, gt = (e) => {
57
81
  switch (e.type) {
58
82
  case "expressive":
59
83
  return "v4";
@@ -62,36 +86,36 @@ const at = 45 * 1e3, it = "X-Playground-Chat", de = "https://api.d-id.com", st =
62
86
  case "talk":
63
87
  return "v2";
64
88
  }
65
- }, dt = (e) => e.type === "talk" ? e.source_url : e.presenter_id, pe = (e) => e === Pe.Expressive, lt = (e) => [x.TextOnly, x.Playground, x.Maintenance].includes(e), $e = (e) => e && [x.DirectPlayback, x.Off].includes(e), Se = /\[!\[([^\[\]]*)\]\(([^)\s]+)\)\]\(([^)\s]+)\)/g, ke = /!\[([^\[\]]*)\]\(([^)\s]+)\)/g, ut = [".mp4", ".webm", ".mkv", ".mov", ".m4v", ".ogv"];
66
- function mt(e) {
89
+ }, pt = (e) => e.type === "talk" ? e.source_url : e.presenter_id, we = (e) => e === ze.Expressive, ht = (e) => [A.TextOnly, A.Playground, A.Maintenance].includes(e), Ue = (e) => e && [A.DirectPlayback, A.Off].includes(e), Re = /\[!\[([^\[\]]*)\]\(([^)\s]+)\)\]\(([^)\s]+)\)/g, Ie = /!\[([^\[\]]*)\]\(([^)\s]+)\)/g, wt = [".mp4", ".webm", ".mkv", ".mov", ".m4v", ".ogv"];
90
+ function vt(e) {
67
91
  const t = e.split("?")[0].split("#")[0].toLowerCase();
68
- return ut.some((r) => t.endsWith(r));
92
+ return wt.some((r) => t.endsWith(r));
69
93
  }
70
- const Re = new RegExp("(?<!!)\\[([^\\[\\]]+)\\]\\(([^)\\s]+)\\)", "g"), De = /<a\s+href="([^"]*)"[^>]*?>([^<]*)<\/a>/gi;
71
- function ft(e) {
94
+ const De = new RegExp("(?<!!)\\[([^\\[\\]]+)\\]\\(([^)\\s]+)\\)", "g"), Me = /<a\s+href="([^"]*)"[^>]*?>([^<]*)<\/a>/gi;
95
+ function yt(e) {
72
96
  if (e.length === 0)
73
97
  return [];
74
98
  const t = [];
75
99
  let r;
76
- for (Se.lastIndex = 0; (r = Se.exec(e)) !== null; )
100
+ for (Re.lastIndex = 0; (r = Re.exec(e)) !== null; )
77
101
  t.push({
78
102
  index: r.index,
79
103
  length: r[0].length,
80
104
  part: { type: "video", src: r[3], alt: r[1], thumbnail: r[2] }
81
105
  });
82
- for (ke.lastIndex = 0; (r = ke.exec(e)) !== null; )
106
+ for (Ie.lastIndex = 0; (r = Ie.exec(e)) !== null; )
83
107
  if (!t.some((o) => r.index >= o.index && r.index < o.index + o.length)) {
84
108
  const o = r[2], n = r[1];
85
109
  let i;
86
- mt(o) ? i = { type: "video", src: o, alt: n } : (i = { type: "image", src: o, alt: n }, o.toLowerCase().endsWith(".gif") && (i.mimeType = "image/gif")), t.push({ index: r.index, length: r[0].length, part: i });
110
+ vt(o) ? i = { type: "video", src: o, alt: n } : (i = { type: "image", src: o, alt: n }, o.toLowerCase().endsWith(".gif") && (i.mimeType = "image/gif")), t.push({ index: r.index, length: r[0].length, part: i });
87
111
  }
88
- for (Re.lastIndex = 0; (r = Re.exec(e)) !== null; )
112
+ for (De.lastIndex = 0; (r = De.exec(e)) !== null; )
89
113
  t.some((o) => r.index >= o.index && r.index < o.index + o.length) || t.push({
90
114
  index: r.index,
91
115
  length: r[0].length,
92
116
  part: { type: "link", href: r[2], label: r[1] }
93
117
  });
94
- for (De.lastIndex = 0; (r = De.exec(e)) !== null; )
118
+ for (Me.lastIndex = 0; (r = Me.exec(e)) !== null; )
95
119
  t.some((o) => r.index >= o.index && r.index < o.index + o.length) || t.push({
96
120
  index: r.index,
97
121
  length: r[0].length,
@@ -106,11 +130,11 @@ function ft(e) {
106
130
  s.index > c && a.push({ type: "text", text: e.slice(c, s.index) }), a.push(s.part), c = s.index + s.length;
107
131
  return c < e.length && a.push({ type: "text", text: e.slice(c) }), a;
108
132
  }
109
- let Ie = "", le = [];
133
+ let Ee = "", ue = [];
110
134
  function re(e) {
111
- return e === Ie || (Ie = e, le = ft(e)), le;
135
+ return e === Ee || (Ee = e, ue = yt(e)), ue;
112
136
  }
113
- function gt(e, t) {
137
+ function Ct(e, t) {
114
138
  let r;
115
139
  return {
116
140
  promise: new Promise((c, s) => {
@@ -119,7 +143,7 @@ function gt(e, t) {
119
143
  clear: () => clearTimeout(r)
120
144
  };
121
145
  }
122
- async function ue(e, t) {
146
+ async function fe(e, t) {
123
147
  const r = {
124
148
  limit: (t == null ? void 0 : t.limit) ?? 3,
125
149
  delayMs: (t == null ? void 0 : t.delayMs) ?? 0,
@@ -134,63 +158,43 @@ async function ue(e, t) {
134
158
  try {
135
159
  if (!r.timeout)
136
160
  return await e();
137
- const { promise: s, clear: o } = gt(r.timeout, r.timeoutErrorMessage), n = e().finally(o);
161
+ const { promise: s, clear: o } = Ct(r.timeout, r.timeoutErrorMessage), n = e().finally(o);
138
162
  return await Promise.race([n, s]);
139
163
  } catch (s) {
140
164
  if (a = s, !r.shouldRetryFn(s) || c >= r.limit)
141
165
  throw s;
142
- await je(r.delayMs), r.onRetry(s);
166
+ await Fe(r.delayMs), r.onRetry(s);
143
167
  }
144
168
  throw a;
145
169
  }
146
- function me(e) {
147
- if (e !== void 0)
148
- return window.localStorage.setItem("did_external_key_id", e), e;
149
- let t = window.localStorage.getItem("did_external_key_id");
150
- if (!t) {
151
- let r = Q();
152
- window.localStorage.setItem("did_external_key_id", r), t = r;
153
- }
154
- return t;
155
- }
156
- let ht = Q();
157
- function ze(e, t) {
158
- if (e.type === "bearer")
159
- return `Bearer ${e.token}`;
160
- if (e.type === "basic")
161
- return `Basic ${"token" in e ? e.token : btoa(`${e.username}:${e.password}`)}`;
162
- if (e.type === "key")
163
- return `Client-Key ${e.clientKey}.${me(t)}_${ht}`;
164
- throw new Error(`Unknown auth type: ${e}`);
165
- }
166
- const pt = (e) => ue(e, {
170
+ const St = (e) => fe(e, {
167
171
  limit: 3,
168
172
  delayMs: 1e3,
169
173
  timeout: 0,
170
174
  shouldRetryFn: (t) => t.status === 429
171
175
  });
172
- function Fe(e, t = de, r, a) {
176
+ function We(e, t = le, r, a) {
173
177
  const c = async (s, o) => {
174
178
  const { skipErrorHandler: n, ...i } = o || {};
175
179
  let d;
176
180
  try {
177
- d = await pt(
181
+ d = await St(
178
182
  () => fetch(t + (s != null && s.startsWith("/") ? s : `/${s}`), {
179
183
  ...i,
180
184
  headers: {
181
185
  ...i.headers,
182
- Authorization: ze(e, a),
186
+ Authorization: Ve(e, a),
183
187
  "Content-Type": "application/json"
184
188
  }
185
189
  })
186
190
  );
187
- } catch (m) {
188
- throw !((m == null ? void 0 : m.name) === "AbortError") && r && !n && r(m, { url: s, options: i }), m;
191
+ } catch (u) {
192
+ throw !((u == null ? void 0 : u.name) === "AbortError") && r && !n && r(u, { url: s, options: i }), u;
189
193
  }
190
194
  if (!d.ok) {
191
- let m = await d.text().catch(() => `Failed to fetch with status ${d.status}`);
192
- const l = new Error(m);
193
- throw r && !n && r(l, { url: s, options: i, headers: d.headers }), l;
195
+ let u = await d.text().catch(() => `Failed to fetch with status ${d.status}`);
196
+ const m = new Error(u);
197
+ throw r && !n && r(m, { url: s, options: i, headers: d.headers }), m;
194
198
  }
195
199
  return d.json();
196
200
  };
@@ -209,8 +213,8 @@ function Fe(e, t = de, r, a) {
209
213
  }
210
214
  };
211
215
  }
212
- function wt(e, t = de, r, a) {
213
- const c = Fe(e, `${t}/agents`, r, a);
216
+ function kt(e, t = le, r, a) {
217
+ const c = We(e, `${t}/agents`, r, a);
214
218
  return {
215
219
  create(s, o) {
216
220
  return c.post("/", s, o);
@@ -247,7 +251,7 @@ function wt(e, t = de, r, a) {
247
251
  }
248
252
  };
249
253
  }
250
- function vt(e) {
254
+ function Rt(e) {
251
255
  var c, s, o, n;
252
256
  const t = () => /Mobi|Android/i.test(navigator.userAgent) ? "Mobile" : "Desktop", r = () => {
253
257
  const i = navigator.platform;
@@ -258,20 +262,20 @@ function vt(e) {
258
262
  isMobile: `${t() == "Mobile"}`,
259
263
  browser: navigator.userAgent,
260
264
  origin: window.location.origin,
261
- agentType: Be(a),
265
+ agentType: Ke(a),
262
266
  agentVoice: {
263
267
  voiceId: (s = (c = e.presenter) == null ? void 0 : c.voice) == null ? void 0 : s.voice_id,
264
268
  provider: (n = (o = e.presenter) == null ? void 0 : o.voice) == null ? void 0 : n.type
265
269
  }
266
270
  };
267
271
  }
268
- function yt(e) {
272
+ function It(e) {
269
273
  var r, a, c, s, o, n;
270
274
  const t = (r = e.llm) == null ? void 0 : r.prompt_customization;
271
275
  return {
272
- agentType: Be(e.presenter),
273
- presenterType: ct(e.presenter),
274
- presenter: dt(e.presenter),
276
+ agentType: Ke(e.presenter),
277
+ presenterType: gt(e.presenter),
278
+ presenter: pt(e.presenter),
275
279
  owner_id: e.owner_id ?? "",
276
280
  promptVersion: (a = e.llm) == null ? void 0 : a.prompt_version,
277
281
  behavior: {
@@ -290,23 +294,29 @@ function yt(e) {
290
294
  ...e.access === "public" ? { from: "agent-template" } : {}
291
295
  };
292
296
  }
293
- const Ct = (e) => e.reduce((t, r) => t + r, 0), Me = (e) => Ct(e) / e.length;
294
- function St(e, t, r) {
295
- var i, d, m;
297
+ const _e = (e) => {
298
+ try {
299
+ return String((e == null ? void 0 : e.message) ?? e ?? "").slice(0, 256);
300
+ } catch {
301
+ return "Unknown error";
302
+ }
303
+ }, Dt = (e) => e.reduce((t, r) => t + r, 0), Te = (e) => Dt(e) / e.length;
304
+ function Mt(e, t, r) {
305
+ var i, d, u;
296
306
  const { event: a, ...c } = e, { template: s } = (t == null ? void 0 : t.llm) || {}, { language: o } = ((i = t == null ? void 0 : t.presenter) == null ? void 0 : i.voice) || {};
297
307
  return {
298
308
  ...c,
299
309
  llm: { ...c.llm, template: s },
300
310
  script: { ...c.script, provider: { ...(d = c == null ? void 0 : c.script) == null ? void 0 : d.provider, language: o } },
301
- stitch: (t == null ? void 0 : t.presenter.type) === "talk" ? (m = t == null ? void 0 : t.presenter) == null ? void 0 : m.stitch : void 0,
311
+ stitch: (t == null ? void 0 : t.presenter.type) === "talk" ? (u = t == null ? void 0 : t.presenter) == null ? void 0 : u.stitch : void 0,
302
312
  ...r
303
313
  };
304
314
  }
305
- function Ee(e) {
315
+ function Ae(e) {
306
316
  "requestIdleCallback" in window ? requestIdleCallback(e, { timeout: 2e3 }) : setTimeout(e, 0);
307
317
  }
308
- const kt = "https://api-js.mixpanel.com/track/?verbose=1&ip=1";
309
- function Rt(e) {
318
+ const Et = "https://api-js.mixpanel.com/track/?verbose=1&ip=1";
319
+ function _t(e) {
310
320
  const t = window != null && window.hasOwnProperty("DID_AGENTS_API") ? "agents-ui" : "agents-sdk", r = {};
311
321
  return {
312
322
  token: e.token || "testKey",
@@ -317,7 +327,7 @@ function Rt(e) {
317
327
  ...e.mixpanelAdditionalProperties || {}
318
328
  },
319
329
  isEnabled: e.isEnabled ?? !0,
320
- getRandom: Q,
330
+ getRandom: G,
321
331
  enrich(a) {
322
332
  this.additionalProperties = { ...this.additionalProperties, ...a };
323
333
  },
@@ -350,7 +360,7 @@ function Rt(e) {
350
360
  ])
351
361
  })
352
362
  };
353
- return fetch(kt, d).catch((m) => console.error("Analytics tracking error:", m)), Promise.resolve();
363
+ return fetch(Et, d).catch((u) => console.error("Analytics tracking error:", u)), Promise.resolve();
354
364
  },
355
365
  linkTrack(a, c, s, o) {
356
366
  r[a] || (r[a] = { events: {}, resolvedDependencies: [] }), o.includes(s) || o.push(s);
@@ -358,17 +368,17 @@ function Rt(e) {
358
368
  if (n.events[s] = { props: c }, n.resolvedDependencies.push(s), o.every(
359
369
  (d) => n.resolvedDependencies.includes(d)
360
370
  )) {
361
- const d = o.reduce((m, l) => n.events[l] ? { ...m, ...n.events[l].props } : m, {});
371
+ const d = o.reduce((u, m) => n.events[m] ? { ...u, ...n.events[m].props } : u, {});
362
372
  this.track(a, d), n.resolvedDependencies = n.resolvedDependencies.filter(
363
- (m) => !o.includes(m)
364
- ), o.forEach((m) => {
365
- delete n.events[m];
373
+ (u) => !o.includes(u)
374
+ ), o.forEach((u) => {
375
+ delete n.events[u];
366
376
  });
367
377
  }
368
378
  }
369
379
  };
370
380
  }
371
- function we() {
381
+ function ve() {
372
382
  let e = 0;
373
383
  return {
374
384
  reset: () => e = 0,
@@ -376,22 +386,22 @@ function we() {
376
386
  get: (t = !1) => t ? Date.now() - e : e
377
387
  };
378
388
  }
379
- const H = we(), fe = we(), Te = we();
380
- function Ne(e) {
381
- return e === x.Playground ? { headers: { [it]: "true" } } : {};
389
+ const H = ve(), ge = ve(), be = ve();
390
+ function Je(e) {
391
+ return e === A.Playground ? { headers: { [ut]: "true" } } : {};
382
392
  }
383
- async function Ve(e, t, r, a, c = !1, s) {
393
+ async function Oe(e, t, r, a, c = !1, s) {
384
394
  try {
385
- return !s && !$e(a) && (s = await t.newChat(e.id, { persist: c }, Ne(a)), r.track("agent-chat", {
395
+ return !s && !Ue(a) && (s = await t.newChat(e.id, { persist: c }, Je(a)), r.track("agent-chat", {
386
396
  event: "created",
387
397
  chatId: s.id,
388
398
  mode: a
389
399
  })), { chat: s, chatMode: (s == null ? void 0 : s.chat_mode) ?? a };
390
400
  } catch (o) {
391
- throw Dt(o) === "InsufficientCreditsError" ? new Error("InsufficientCreditsError") : new Error("Cannot create new chat");
401
+ throw Tt(o) === "InsufficientCreditsError" ? new Error("InsufficientCreditsError") : new Error("Cannot create new chat");
392
402
  }
393
403
  }
394
- const Dt = (e) => {
404
+ const Tt = (e) => {
395
405
  try {
396
406
  const t = JSON.parse(e.message);
397
407
  return t == null ? void 0 : t.kind;
@@ -399,41 +409,41 @@ const Dt = (e) => {
399
409
  return "UnknownError";
400
410
  }
401
411
  };
402
- function It(e) {
412
+ function At(e) {
403
413
  return e && e.length > 0 ? e : [];
404
414
  }
405
- function Mt(e) {
415
+ function bt(e) {
406
416
  return new Promise((t, r) => {
407
- const { callbacks: a, host: c, auth: s, externalId: o } = e, { onMessage: n = null, onOpen: i = null, onClose: d = null, onError: m = null } = a || {}, l = new WebSocket(`${c}?authorization=${encodeURIComponent(ze(s, o))}`);
408
- l.onmessage = n, l.onclose = d, l.onerror = (w) => {
409
- console.error(w), m == null || m("Websocket failed to connect", w), r(w);
410
- }, l.onopen = (w) => {
411
- i == null || i(w), t(l);
417
+ const { callbacks: a, host: c, auth: s, externalId: o } = e, { onMessage: n = null, onOpen: i = null, onClose: d = null, onError: u = null } = a || {}, m = new WebSocket(`${c}?authorization=${encodeURIComponent(Ve(s, o))}`);
418
+ m.onmessage = n, m.onclose = d, m.onerror = (f) => {
419
+ console.error(f), u == null || u("Websocket failed to connect", f), r(f);
420
+ }, m.onopen = (f) => {
421
+ i == null || i(f), t(m);
412
422
  };
413
423
  });
414
424
  }
415
- async function Et(e) {
425
+ async function xt(e) {
416
426
  const { retries: t = 1 } = e;
417
427
  let r = null;
418
428
  for (let a = 0; (r == null ? void 0 : r.readyState) !== WebSocket.OPEN; a++)
419
429
  try {
420
- r = await Mt(e);
430
+ r = await bt(e);
421
431
  } catch (c) {
422
432
  if (a === t)
423
433
  throw c;
424
- await je(a * 500);
434
+ await Fe(a * 500);
425
435
  }
426
436
  return r;
427
437
  }
428
- async function Tt(e, t, r, a) {
429
- const c = r != null && r.onMessage ? [r.onMessage] : [], s = await Et({
438
+ async function Lt(e, t, r, a) {
439
+ const c = r != null && r.onMessage ? [r.onMessage] : [], s = await xt({
430
440
  auth: e,
431
441
  host: t,
432
442
  externalId: a,
433
443
  callbacks: {
434
444
  onError: (o) => {
435
445
  var n;
436
- return (n = r.onError) == null ? void 0 : n.call(r, new qe(o));
446
+ return (n = r.onError) == null ? void 0 : n.call(r, new Ze(o));
437
447
  },
438
448
  onMessage(o) {
439
449
  const n = JSON.parse(o.data);
@@ -447,7 +457,7 @@ async function Tt(e, t, r, a) {
447
457
  subscribeToEvents: (o) => c.push(o)
448
458
  };
449
459
  }
450
- function _t(e) {
460
+ function xe(e) {
451
461
  if (e.answer !== void 0)
452
462
  return e.answer;
453
463
  let t = 0, r = "";
@@ -455,12 +465,10 @@ function _t(e) {
455
465
  r += e[t++];
456
466
  return r;
457
467
  }
458
- function bt(e, t, r) {
468
+ function Pt(e, t, r) {
459
469
  if (!e.content)
460
470
  return;
461
- const a = t.messages[t.messages.length - 1];
462
- (a == null ? void 0 : a.role) === "assistant" && !a.interrupted && (a.interrupted = !0);
463
- const c = {
471
+ const a = {
464
472
  id: e.id || `user-${Date.now()}`,
465
473
  role: e.role,
466
474
  content: e.content,
@@ -468,73 +476,91 @@ function bt(e, t, r) {
468
476
  created_at: e.created_at || (/* @__PURE__ */ new Date()).toISOString(),
469
477
  transcribed: !0
470
478
  };
471
- t.messages.push(c), r == null || r([...t.messages], "user");
479
+ t.messages.push(a), r == null || r([...t.messages], "user");
472
480
  }
473
- function At(e, t, r, a, c, s) {
474
- if (e === U.Transcribe && t.content) {
475
- bt(t, a, c);
481
+ function jt(e, t, r, a, c, s, o) {
482
+ if (e === B.Transcribe && t.content) {
483
+ Pt(t, a, c);
476
484
  return;
477
485
  }
478
- if (!(e === U.Partial || e === U.Answer))
486
+ if (!(e === B.Partial || e === B.Answer))
487
+ return;
488
+ const n = a.messages[a.messages.length - 1];
489
+ if (e === B.Answer && (n == null ? void 0 : n.role) === "user" && o === "partial")
479
490
  return;
480
- const o = a.messages[a.messages.length - 1], n = t.id && (o == null ? void 0 : o.role) === "assistant" && o.id !== t.id;
481
- let i;
482
- if ((o == null ? void 0 : o.role) === "assistant" && !n)
483
- i = o;
484
- else if (!o || o.transcribed && o.role === "user" || n)
485
- n && s(), i = {
491
+ const d = o === "answer";
492
+ let u;
493
+ if ((n == null ? void 0 : n.role) === "assistant" && !d)
494
+ u = n;
495
+ else if (!n || n.role === "user" || d)
496
+ d && s(), u = {
486
497
  id: t.id || `assistant-${Date.now()}`,
487
498
  role: t.role || "assistant",
488
499
  content: t.content || "",
489
500
  parts: [],
490
501
  created_at: t.created_at || (/* @__PURE__ */ new Date()).toISOString()
491
- }, a.messages.push(i);
502
+ }, a.messages.push(u);
492
503
  else
493
504
  return;
494
- const { content: d, sequence: m } = t;
495
- e === U.Partial ? r[m] = d : r.answer = d;
496
- const l = _t(r);
497
- (i.content !== l || e === U.Answer) && (i.content = l, i.parts = re(l), c == null || c([...a.messages], e));
505
+ const { content: m, sequence: f } = t;
506
+ if (e === B.Partial)
507
+ r[f] = m;
508
+ else {
509
+ const y = xe(r);
510
+ !!(m && m.length < y.length) && (u.interrupted = !0), r.answer = m;
511
+ }
512
+ const w = xe(r);
513
+ (u.content !== w || e === B.Answer) && (u.content = w, u.parts = re(w), c == null || c([...a.messages], e));
498
514
  }
499
- function xt(e, t, r, a, c) {
500
- let s = {};
501
- const o = () => s = {};
502
- let n = "answer";
503
- const i = (d, m) => {
504
- var l, w;
505
- m === "user" && o(), n = m, (w = (l = r.callbacks).onNewMessage) == null || w.call(l, d, m);
515
+ function $t(e, t, r, a, c) {
516
+ const s = {}, o = () => {
517
+ for (const d of Object.keys(s))
518
+ delete s[d];
519
+ };
520
+ let n = null;
521
+ const i = (d, u) => {
522
+ var m, f;
523
+ u === "user" && o(), (f = (m = r.callbacks).onNewMessage) == null || f.call(m, d, u);
506
524
  };
507
525
  return {
508
526
  clearQueue: o,
509
- onMessage: (d, m) => {
510
- var l, w;
511
- if ("content" in m) {
512
- const v = d === P.ChatAnswer ? U.Answer : d === P.ChatAudioTranscribed ? U.Transcribe : d;
513
- At(v, m, s, t, i, o), v === U.Answer && e.track("agent-message-received", {
514
- content: m.content,
527
+ onMessage: (d, u) => {
528
+ var m, f;
529
+ if ("content" in u) {
530
+ const w = d === x.ChatAnswer ? B.Answer : d === x.ChatAudioTranscribed ? B.Transcribe : d;
531
+ jt(
532
+ w,
533
+ u,
534
+ s,
535
+ t,
536
+ i,
537
+ o,
538
+ n
539
+ ), w === B.Partial ? n = "partial" : w === B.Answer && (n = "answer", o()), w === B.Answer && e.track("agent-message-received", {
540
+ content: u.content,
515
541
  messages: t.messages.length,
516
542
  mode: t.chatMode
517
543
  });
518
544
  } else {
519
- const v = P, k = [v.StreamVideoDone, v.StreamVideoError, v.StreamVideoRejected], B = [v.StreamFailed, v.StreamVideoError, v.StreamVideoRejected], M = St(m, a, { mode: t.chatMode });
520
- if (d = d, d === v.StreamVideoCreated && (e.linkTrack("agent-video", M, v.StreamVideoCreated, ["start"]), m.sentiment)) {
521
- const D = t.messages[t.messages.length - 1];
522
- if ((D == null ? void 0 : D.role) === "assistant") {
523
- const $ = { ...D, sentiment: m.sentiment };
524
- t.messages[t.messages.length - 1] = $, i == null || i([...t.messages], n);
545
+ const w = x, y = [w.StreamVideoDone, w.StreamVideoError, w.StreamVideoRejected], j = [w.StreamFailed, w.StreamVideoError, w.StreamVideoRejected], M = Mt(u, a, { mode: t.chatMode });
546
+ if (d = d, d === w.StreamVideoCreated && (e.linkTrack("agent-video", M, w.StreamVideoCreated, ["start"]), u.sentiment)) {
547
+ const _ = t.messages[t.messages.length - 1];
548
+ if ((_ == null ? void 0 : _.role) === "assistant") {
549
+ const L = { ..._, sentiment: u.sentiment };
550
+ t.messages[t.messages.length - 1] = L, i == null || i([...t.messages], n ?? "answer");
525
551
  }
526
552
  }
527
- if (k.includes(d)) {
528
- const D = d.split("/")[1];
529
- B.includes(d) ? e.track("agent-video", { ...M, event: D }) : e.linkTrack("agent-video", { ...M, event: D }, d, ["done"]);
553
+ if (y.includes(d)) {
554
+ const _ = d.split("/")[1];
555
+ j.includes(d) ? e.track("agent-video", { ...M, event: _ }) : e.linkTrack("agent-video", { ...M, event: _ }, d, ["done"]);
530
556
  }
531
- B.includes(d) && ((w = (l = r.callbacks).onError) == null || w.call(l, new Error(`Stream failed with event ${d}`), { data: m })), m.event === v.StreamDone && c();
557
+ j.includes(d) && ((f = (m = r.callbacks).onError) == null || f.call(m, new Error(`Stream failed with event ${d}`), { data: u })), u.event === w.StreamDone && c();
532
558
  }
533
559
  }
534
560
  };
535
561
  }
536
- function Lt(e, t, r, a) {
537
- const c = Fe(e, `${t}/agents/${r}`, a);
562
+ function Bt(e, t, r, a) {
563
+ const c = We(e, `${t}/agents/${r}`, a);
538
564
  return {
539
565
  createStream(s, o) {
540
566
  return c.post("/streams", s, { signal: o });
@@ -570,8 +596,8 @@ function Lt(e, t, r, a) {
570
596
  }
571
597
  };
572
598
  }
573
- const Pt = (e, t) => (r, a) => e && console.log(`[${t}] ${r}`, a ?? "");
574
- function jt(e, t, r) {
599
+ const zt = (e, t) => (r, a) => e && console.log(`[${t}] ${r}`, a ?? "");
600
+ function Ft(e, t, r) {
575
601
  const a = (t.timestamp - e.timestamp) / 1e3;
576
602
  return {
577
603
  duration: a,
@@ -591,7 +617,7 @@ function jt(e, t, r) {
591
617
  lowFpsCount: r
592
618
  };
593
619
  }
594
- function Bt(e) {
620
+ function Nt(e) {
595
621
  return e.filter(
596
622
  (t) => t.freezeCount > 0 || t.framesPerSecond < 21 || t.framesDropped > 0 || t.packetsLost > 0
597
623
  ).map((t) => {
@@ -602,7 +628,7 @@ function Bt(e) {
602
628
  };
603
629
  });
604
630
  }
605
- function $t(e) {
631
+ function Vt(e) {
606
632
  var o;
607
633
  let t = "", r = 0, a = null;
608
634
  const c = /* @__PURE__ */ new Map();
@@ -637,7 +663,7 @@ function $t(e) {
637
663
  freezeDuration: s.totalFreezesDuration
638
664
  };
639
665
  }
640
- function _e(e, t, r) {
666
+ function Le(e, t, r) {
641
667
  const a = e.map((i, d) => d === 0 ? r ? {
642
668
  timestamp: i.timestamp,
643
669
  duration: 0,
@@ -689,30 +715,30 @@ function _e(e, t, r) {
689
715
  framesPerSecond: i.framesPerSecond,
690
716
  freezeCount: i.freezeCount - e[d - 1].freezeCount,
691
717
  freezeDuration: i.freezeDuration - e[d - 1].freezeDuration
692
- }), c = Bt(a), s = c.reduce((i, d) => i + (d.causes.includes("low fps") ? 1 : 0), 0), o = a.filter((i) => !!i.avgJitterDelayInInterval).map((i) => i.avgJitterDelayInInterval), n = a.filter((i) => !!i.rtt).map((i) => i.rtt);
718
+ }), c = Nt(a), s = c.reduce((i, d) => i + (d.causes.includes("low fps") ? 1 : 0), 0), o = a.filter((i) => !!i.avgJitterDelayInInterval).map((i) => i.avgJitterDelayInInterval), n = a.filter((i) => !!i.rtt).map((i) => i.rtt);
693
719
  return {
694
720
  webRTCStats: {
695
721
  anomalies: c,
696
722
  minRtt: Math.min(...n),
697
- avgRtt: Me(n),
723
+ avgRtt: Te(n),
698
724
  maxRtt: Math.max(...n),
699
- aggregateReport: jt(e[0], e[e.length - 1], s),
725
+ aggregateReport: Ft(e[0], e[e.length - 1], s),
700
726
  minJitterDelayInInterval: Math.min(...o),
701
727
  maxJitterDelayInInterval: Math.max(...o),
702
- avgJitterDelayInInterval: Me(o)
728
+ avgJitterDelayInInterval: Te(o)
703
729
  },
704
730
  codec: e[0].codec,
705
731
  resolution: `${e[0].frameWidth}x${e[0].frameHeight}`
706
732
  };
707
733
  }
708
- function Ke(e, t) {
734
+ function He(e, t) {
709
735
  for (const r of e.values())
710
736
  if ((r == null ? void 0 : r.type) === "inbound-rtp" && r.kind === t)
711
737
  return r;
712
738
  return null;
713
739
  }
714
740
  const ee = 10;
715
- function cr(e, t) {
741
+ function mr(e, t) {
716
742
  let r = !1, a = !1, c = null, s = 0, o = 0, n = {};
717
743
  async function i() {
718
744
  if (r) {
@@ -722,18 +748,18 @@ function cr(e, t) {
722
748
  c = setTimeout(i, ee);
723
749
  return;
724
750
  }
725
- const m = Ke(d, "audio");
726
- if (!m) {
751
+ const u = He(d, "audio");
752
+ if (!u) {
727
753
  c = setTimeout(i, ee);
728
754
  return;
729
755
  }
730
- const l = m.totalAudioEnergy ?? 0, w = m.totalSamplesReceived ?? 0;
756
+ const m = u.totalAudioEnergy ?? 0, f = u.totalSamplesReceived ?? 0;
731
757
  if (!a) {
732
- s = l, o = w, a = !0, c = setTimeout(i, ee);
758
+ s = m, o = f, a = !0, c = setTimeout(i, ee);
733
759
  return;
734
760
  }
735
- const v = l - s, k = w - o;
736
- if (s = l, o = w, k > 0 && v > 0) {
761
+ const w = m - s, y = f - o;
762
+ if (s = m, o = f, y > 0 && w > 0) {
737
763
  r = !1, t(n);
738
764
  return;
739
765
  }
@@ -751,70 +777,70 @@ function cr(e, t) {
751
777
  }
752
778
  };
753
779
  }
754
- const oe = 100, zt = Math.max(Math.ceil(400 / oe), 1), Ft = 0.25, Nt = 0.28;
755
- function Vt() {
780
+ const ce = 100, Kt = Math.max(Math.ceil(400 / ce), 1), Ut = 0.25, Wt = 0.28;
781
+ function Jt() {
756
782
  let e = 0, t, r, a = 0;
757
783
  return (c) => {
758
- const s = Ke(c, "video");
784
+ const s = He(c, "video");
759
785
  if (!s)
760
786
  return { isReceiving: !1, avgJitterDelayInInterval: a };
761
787
  const o = s.jitterBufferDelay, n = s.jitterBufferEmittedCount;
762
788
  if (r && n > r) {
763
- const m = o - t, l = n - r;
764
- a = m / l;
789
+ const u = o - t, m = n - r;
790
+ a = u / m;
765
791
  }
766
792
  t = o, r = n;
767
793
  const i = s.framesDecoded, d = i - e > 0;
768
794
  return e = i, { isReceiving: d, avgJitterDelayInInterval: a, freezeCount: s.freezeCount };
769
795
  };
770
796
  }
771
- function Kt(e, t, r, a, c) {
772
- let s = null, o = [], n, i = 0, d = !1, m = te.Unknown, l = te.Unknown, w = 0, v = 0;
773
- const k = Vt();
774
- async function B() {
797
+ function Ot(e, t, r, a, c) {
798
+ let s = null, o = [], n, i = 0, d = !1, u = te.Unknown, m = te.Unknown, f = 0, w = 0;
799
+ const y = Jt();
800
+ async function j() {
775
801
  const M = await e();
776
802
  if (!M)
777
803
  return;
778
- const { isReceiving: D, avgJitterDelayInInterval: $, freezeCount: _ } = k(M), q = $t(M);
779
- if (D)
780
- i = 0, w = _ - v, l = $ < Ft ? te.Strong : $ > Nt && w > 1 ? te.Weak : m, l !== m && (c == null || c(l), m = l, v += w, w = 0), d || (a == null || a(S.Start), n = o[o.length - 1], o = [], d = !0), o.push(q);
781
- else if (d && (i++, i >= zt)) {
782
- const J = _e(o, oe, n);
783
- a == null || a(S.Stop, J), t() || r(), v = _, d = !1;
804
+ const { isReceiving: _, avgJitterDelayInInterval: L, freezeCount: E } = y(M), q = Vt(M);
805
+ if (_)
806
+ i = 0, f = E - w, m = L < Ut ? te.Strong : L > Wt && f > 1 ? te.Weak : u, m !== u && (c == null || c(m), u = m, w += f, f = 0), d || (a == null || a(S.Start), n = o[o.length - 1], o = [], d = !0), o.push(q);
807
+ else if (d && (i++, i >= Kt)) {
808
+ const J = Le(o, ce, n);
809
+ a == null || a(S.Stop, J), t() || r(), w = E, d = !1;
784
810
  }
785
811
  }
786
812
  return {
787
813
  start: () => {
788
- s || (s = setInterval(B, oe));
814
+ s || (s = setInterval(j, ce));
789
815
  },
790
816
  stop: () => {
791
817
  s && (clearInterval(s), s = null);
792
818
  },
793
- getReport: () => _e(o, oe, n)
819
+ getReport: () => Le(o, ce, n)
794
820
  };
795
821
  }
796
- const Ut = (window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection).bind(window);
797
- function be(e) {
822
+ const Ht = (window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection).bind(window);
823
+ function Pe(e) {
798
824
  switch (e) {
799
825
  case "connected":
800
- return L.Connected;
826
+ return b.Connected;
801
827
  case "checking":
802
- return L.Connecting;
828
+ return b.Connecting;
803
829
  case "failed":
804
- return L.Fail;
830
+ return b.Fail;
805
831
  case "new":
806
- return L.New;
832
+ return b.New;
807
833
  case "closed":
808
- return L.Closed;
834
+ return b.Closed;
809
835
  case "disconnected":
810
- return L.Disconnected;
836
+ return b.Disconnected;
811
837
  case "completed":
812
- return L.Completed;
838
+ return b.Completed;
813
839
  default:
814
- return L.New;
840
+ return b.New;
815
841
  }
816
842
  }
817
- const Wt = (e) => (t) => {
843
+ const qt = (e) => (t) => {
818
844
  const [r, a = ""] = t.split(/:(.+)/);
819
845
  try {
820
846
  const c = JSON.parse(a);
@@ -823,7 +849,7 @@ const Wt = (e) => (t) => {
823
849
  return e("Failed to parse data channel message, returning data as string", { subject: r, rawData: a, error: c }), { subject: r, data: a };
824
850
  }
825
851
  };
826
- function Jt({
852
+ function Xt({
827
853
  statsSignal: e,
828
854
  dataChannelSignal: t,
829
855
  onVideoStateChange: r,
@@ -832,7 +858,7 @@ function Jt({
832
858
  }) {
833
859
  e === S.Start && t === S.Start ? (c("CALLBACK: onVideoStateChange(Start)"), r == null || r(S.Start)) : e === S.Stop && t === S.Stop && (c("CALLBACK: onVideoStateChange(Stop)"), r == null || r(S.Stop, a));
834
860
  }
835
- function Ot({
861
+ function Gt({
836
862
  statsSignal: e,
837
863
  dataChannelSignal: t,
838
864
  onVideoStateChange: r,
@@ -842,7 +868,7 @@ function Ot({
842
868
  }) {
843
869
  e === S.Start ? (s("CALLBACK: onVideoStateChange(Start)"), r == null || r(S.Start)) : e === S.Stop && (s("CALLBACK: onVideoStateChange(Stop)"), r == null || r(S.Stop, c)), t === S.Start ? a == null || a(ne.Talking) : t === S.Stop && (a == null || a(ne.Idle));
844
870
  }
845
- function Ae({
871
+ function je({
846
872
  statsSignal: e,
847
873
  dataChannelSignal: t,
848
874
  onVideoStateChange: r,
@@ -851,7 +877,7 @@ function Ae({
851
877
  report: s,
852
878
  log: o
853
879
  }) {
854
- c === W.Legacy ? Jt({ statsSignal: e, dataChannelSignal: t, onVideoStateChange: r, report: s, log: o }) : c === W.Fluent && Ot({
880
+ c === W.Legacy ? Xt({ statsSignal: e, dataChannelSignal: t, onVideoStateChange: r, report: s, log: o }) : c === W.Fluent && Gt({
855
881
  statsSignal: e,
856
882
  dataChannelSignal: t,
857
883
  onVideoStateChange: r,
@@ -860,128 +886,128 @@ function Ae({
860
886
  log: o
861
887
  });
862
888
  }
863
- async function Ht(e, t, { debug: r = !1, callbacks: a, auth: c, baseURL: s = de, analytics: o }, n) {
864
- var E;
865
- const i = Pt(r, "WebRTCStreamingManager"), d = Wt(i);
866
- let m = !1, l = !1, w = S.Stop, v = S.Stop;
867
- const { startConnection: k, sendStreamRequest: B, close: M, createStream: D, addIceCandidate: $ } = Lt(
889
+ async function Yt(e, t, { debug: r = !1, callbacks: a, auth: c, baseURL: s = le, analytics: o }, n) {
890
+ var F;
891
+ const i = zt(r, "WebRTCStreamingManager"), d = qt(i);
892
+ let u = !1, m = !1, f = S.Stop, w = S.Stop;
893
+ const { startConnection: y, sendStreamRequest: j, close: M, createStream: _, addIceCandidate: L } = Bt(
868
894
  c,
869
895
  s,
870
896
  e,
871
897
  a.onError
872
898
  ), {
873
- id: _,
899
+ id: E,
874
900
  offer: q,
875
901
  ice_servers: J,
876
902
  session_id: N,
877
- fluent: X,
878
- interrupt_enabled: O
879
- } = await D(t, n);
880
- (E = a.onStreamCreated) == null || E.call(a, { stream_id: _, session_id: N, agent_id: e });
881
- const I = new Ut({ iceServers: J }), Y = I.createDataChannel("JanusDataChannel");
903
+ fluent: ae,
904
+ interrupt_enabled: X
905
+ } = await _(t, n);
906
+ (F = a.onStreamCreated) == null || F.call(a, { stream_id: E, session_id: N, agent_id: e });
907
+ const I = new Ht({ iceServers: J }), O = I.createDataChannel("JanusDataChannel");
882
908
  if (!N)
883
909
  throw new Error("Could not create session_id");
884
- const V = X ? W.Fluent : W.Legacy;
910
+ const V = ae ? W.Fluent : W.Legacy;
885
911
  o.enrich({
886
912
  "stream-type": V
887
913
  });
888
- const ae = t.stream_warmup && !X, ie = () => m, u = () => {
889
- var f;
890
- m = !0, l && (i("CALLBACK: onConnectionStateChange(Connected)"), (f = a.onConnectionStateChange) == null || f.call(a, L.Connected));
891
- }, g = Kt(
914
+ const ie = t.stream_warmup && !ae, se = () => u, Q = () => {
915
+ var g;
916
+ u = !0, m && (i("CALLBACK: onConnectionStateChange(Connected)"), (g = a.onConnectionStateChange) == null || g.call(a, b.Connected));
917
+ }, l = Ot(
892
918
  () => I.getStats(),
893
- ie,
894
- u,
895
- (f, h) => Ae({
896
- statsSignal: v = f,
897
- dataChannelSignal: V === W.Legacy ? w : void 0,
919
+ se,
920
+ Q,
921
+ (g, p) => je({
922
+ statsSignal: w = g,
923
+ dataChannelSignal: V === W.Legacy ? f : void 0,
898
924
  onVideoStateChange: a.onVideoStateChange,
899
925
  onAgentActivityStateChange: a.onAgentActivityStateChange,
900
- report: h,
926
+ report: p,
901
927
  streamType: V,
902
928
  log: i
903
929
  }),
904
- (f) => {
905
- var h;
906
- return (h = a.onConnectivityStateChange) == null ? void 0 : h.call(a, f);
930
+ (g) => {
931
+ var p;
932
+ return (p = a.onConnectivityStateChange) == null ? void 0 : p.call(a, g);
907
933
  }
908
934
  );
909
- g.start(), I.onicecandidate = (f) => {
910
- var h;
911
- i("peerConnection.onicecandidate", f);
935
+ l.start(), I.onicecandidate = (g) => {
936
+ var p;
937
+ i("peerConnection.onicecandidate", g);
912
938
  try {
913
- f.candidate && f.candidate.sdpMid && f.candidate.sdpMLineIndex !== null ? $(
914
- _,
939
+ g.candidate && g.candidate.sdpMid && g.candidate.sdpMLineIndex !== null ? L(
940
+ E,
915
941
  {
916
- candidate: f.candidate.candidate,
917
- sdpMid: f.candidate.sdpMid,
918
- sdpMLineIndex: f.candidate.sdpMLineIndex
942
+ candidate: g.candidate.candidate,
943
+ sdpMid: g.candidate.sdpMid,
944
+ sdpMLineIndex: g.candidate.sdpMLineIndex
919
945
  },
920
946
  N,
921
947
  n
922
- ) : $(_, { candidate: null }, N, n);
923
- } catch (b) {
924
- (h = a.onError) == null || h.call(a, b, { streamId: _ });
948
+ ) : L(E, { candidate: null }, N, n);
949
+ } catch (D) {
950
+ (p = a.onError) == null || p.call(a, D, { streamId: E });
925
951
  }
926
- }, Y.onopen = () => {
927
- l = !0, (!ae || m) && u();
952
+ }, O.onopen = () => {
953
+ m = !0, (!ie || u) && Q();
928
954
  };
929
- let p = null;
930
- const y = (f) => {
931
- var h;
932
- p = f, (h = a.onVideoIdChange) == null || h.call(a, f);
955
+ let h = null;
956
+ const v = (g) => {
957
+ var p;
958
+ h = g, (p = a.onVideoIdChange) == null || p.call(a, g);
933
959
  };
934
- function C(f, h) {
935
- if (f === P.StreamStarted && typeof h == "object" && "metadata" in h) {
936
- const b = h.metadata;
937
- y(b.videoId);
960
+ function C(g, p) {
961
+ if (g === x.StreamStarted && typeof p == "object" && "metadata" in p) {
962
+ const D = p.metadata;
963
+ v(D.videoId);
938
964
  }
939
- f === P.StreamDone && y(null), w = f === P.StreamStarted ? S.Start : S.Stop, Ae({
940
- statsSignal: V === W.Legacy ? v : void 0,
941
- dataChannelSignal: w,
965
+ g === x.StreamDone && v(null), f = g === x.StreamStarted ? S.Start : S.Stop, je({
966
+ statsSignal: V === W.Legacy ? w : void 0,
967
+ dataChannelSignal: f,
942
968
  onVideoStateChange: a.onVideoStateChange,
943
969
  onAgentActivityStateChange: a.onAgentActivityStateChange,
944
970
  streamType: V,
945
971
  log: i
946
972
  });
947
973
  }
948
- function R(f, h) {
949
- var T;
950
- const b = typeof h == "string" ? h : h == null ? void 0 : h.metadata;
951
- b && o.enrich({ streamMetadata: b }), (T = a.onStreamReady) == null || T.call(a);
974
+ function k(g, p) {
975
+ var $;
976
+ const D = typeof p == "string" ? p : p == null ? void 0 : p.metadata;
977
+ D && o.enrich({ streamMetadata: D }), ($ = a.onStreamReady) == null || $.call(a);
952
978
  }
953
- const j = {
954
- [P.StreamStarted]: C,
955
- [P.StreamDone]: C,
956
- [P.StreamReady]: R
979
+ const R = {
980
+ [x.StreamStarted]: C,
981
+ [x.StreamDone]: C,
982
+ [x.StreamReady]: k
957
983
  };
958
- Y.onmessage = (f) => {
959
- var T;
960
- const { subject: h, data: b } = d(f.data);
961
- (T = j[h]) == null || T.call(j, h, b);
984
+ O.onmessage = (g) => {
985
+ var $;
986
+ const { subject: p, data: D } = d(g.data);
987
+ ($ = R[p]) == null || $.call(R, p, D);
962
988
  }, I.oniceconnectionstatechange = () => {
963
- var h;
989
+ var p;
964
990
  i("peerConnection.oniceconnectionstatechange => " + I.iceConnectionState);
965
- const f = be(I.iceConnectionState);
966
- f !== L.Connected && ((h = a.onConnectionStateChange) == null || h.call(a, f));
967
- }, I.ontrack = (f) => {
968
- var h;
969
- i("peerConnection.ontrack", f), i("CALLBACK: onSrcObjectReady"), (h = a.onSrcObjectReady) == null || h.call(a, f.streams[0]);
991
+ const g = Pe(I.iceConnectionState);
992
+ g !== b.Connected && ((p = a.onConnectionStateChange) == null || p.call(a, g));
993
+ }, I.ontrack = (g) => {
994
+ var p;
995
+ i("peerConnection.ontrack", g), i("CALLBACK: onSrcObjectReady"), (p = a.onSrcObjectReady) == null || p.call(a, g.streams[0]);
970
996
  }, await I.setRemoteDescription(q), i("set remote description OK");
971
- const z = await I.createAnswer();
972
- i("create answer OK"), await I.setLocalDescription(z), i("set local description OK"), await k(_, z, N, n), i("start connection OK");
973
- function F(f) {
974
- var h, b;
975
- if (!m || Y.readyState !== "open") {
976
- i("Data channel is not ready for sending messages"), (h = a.onError) == null || h.call(a, new Error("Data channel is not ready for sending messages"), {
977
- streamId: _
997
+ const P = await I.createAnswer();
998
+ i("create answer OK"), await I.setLocalDescription(P), i("set local description OK"), await y(E, P, N, n), i("start connection OK");
999
+ function z(g) {
1000
+ var p, D;
1001
+ if (!u || O.readyState !== "open") {
1002
+ i("Data channel is not ready for sending messages"), (p = a.onError) == null || p.call(a, new Error("Data channel is not ready for sending messages"), {
1003
+ streamId: E
978
1004
  });
979
1005
  return;
980
1006
  }
981
1007
  try {
982
- Y.send(f);
983
- } catch (T) {
984
- i("Error sending data channel message", T), (b = a.onError) == null || b.call(a, T, { streamId: _ });
1008
+ O.send(g);
1009
+ } catch ($) {
1010
+ i("Error sending data channel message", $), (D = a.onError) == null || D.call(a, $, { streamId: E });
985
1011
  }
986
1012
  }
987
1013
  return {
@@ -989,33 +1015,33 @@ async function Ht(e, t, { debug: r = !1, callbacks: a, auth: c, baseURL: s = de,
989
1015
  * Method to send request to server to get clip or talk depend on you payload
990
1016
  * @param payload
991
1017
  */
992
- speak(f) {
993
- return B(_, N, f);
1018
+ speak(g) {
1019
+ return j(E, N, g);
994
1020
  },
995
1021
  /**
996
1022
  * Method to close RTC connection
997
1023
  */
998
1024
  async disconnect() {
999
- var f;
1000
- if (_) {
1001
- const h = be(I.iceConnectionState);
1025
+ var g;
1026
+ if (E) {
1027
+ const p = Pe(I.iceConnectionState);
1002
1028
  if (I) {
1003
- if (h === L.New) {
1004
- g.stop();
1029
+ if (p === b.New) {
1030
+ l.stop();
1005
1031
  return;
1006
1032
  }
1007
1033
  I.close(), I.oniceconnectionstatechange = null, I.onnegotiationneeded = null, I.onicecandidate = null, I.ontrack = null;
1008
1034
  }
1009
1035
  try {
1010
- h === L.Connected && await M(_, N).catch((b) => {
1036
+ p === b.Connected && await M(E, N).catch((D) => {
1011
1037
  });
1012
- } catch (b) {
1013
- i("Error on close stream connection", b);
1038
+ } catch (D) {
1039
+ i("Error on close stream connection", D);
1014
1040
  }
1015
- (f = a.onAgentActivityStateChange) == null || f.call(a, ne.Idle), g.stop();
1041
+ (g = a.onAgentActivityStateChange) == null || g.call(a, ne.Idle), l.stop();
1016
1042
  }
1017
1043
  },
1018
- sendDataChannelMessage: F,
1044
+ sendDataChannelMessage: z,
1019
1045
  /**
1020
1046
  * Session identifier information, should be returned in the body of all streaming requests
1021
1047
  */
@@ -1023,39 +1049,39 @@ async function Ht(e, t, { debug: r = !1, callbacks: a, auth: c, baseURL: s = de,
1023
1049
  /**
1024
1050
  * Id of current RTC stream
1025
1051
  */
1026
- streamId: _,
1052
+ streamId: E,
1027
1053
  streamType: V,
1028
- interruptAvailable: O ?? !1,
1054
+ interruptAvailable: X ?? !1,
1029
1055
  isInterruptible: !0,
1030
- interrupt(f) {
1031
- if (!O)
1056
+ interrupt(g) {
1057
+ if (!X)
1032
1058
  throw new Error("Interrupt is not enabled for this stream");
1033
1059
  if (V !== W.Fluent)
1034
1060
  throw new Error("Interrupt only available for Fluent streams");
1035
- if (!p)
1061
+ if (!h)
1036
1062
  throw new Error("No active video to interrupt");
1037
- const h = {
1038
- type: P.StreamInterrupt,
1039
- videoId: p,
1063
+ const p = {
1064
+ type: x.StreamInterrupt,
1065
+ videoId: h,
1040
1066
  timestamp: Date.now()
1041
1067
  };
1042
- F(JSON.stringify(h));
1068
+ z(JSON.stringify(p));
1043
1069
  }
1044
1070
  };
1045
1071
  }
1046
- var ge = /* @__PURE__ */ ((e) => (e.V1 = "v1", e.V2 = "v2", e))(ge || {});
1047
- async function qt(e, t, r, a) {
1072
+ var pe = /* @__PURE__ */ ((e) => (e.V1 = "v1", e.V2 = "v2", e))(pe || {});
1073
+ async function Qt(e, t, r, a) {
1048
1074
  const c = e.id;
1049
1075
  switch (t.version) {
1050
1076
  case "v1": {
1051
1077
  const { version: s, ...o } = t;
1052
- return Ht(c, o, r, a);
1078
+ return Yt(c, o, r, a);
1053
1079
  }
1054
1080
  case "v2": {
1055
1081
  const { version: s, ...o } = t;
1056
1082
  switch (o.transport.provider) {
1057
1083
  case he.Livekit:
1058
- const { createLiveKitStreamingManager: n } = await import("./livekit-manager-BtTtY9lx.js");
1084
+ const { createLiveKitStreamingManager: n } = await import("./livekit-manager-B01_ssBG.js");
1059
1085
  return n(c, o, r);
1060
1086
  default:
1061
1087
  throw new Error(`Unsupported transport provider: ${o.transport.provider}`);
@@ -1065,15 +1091,15 @@ async function qt(e, t, r, a) {
1065
1091
  throw new Error(`Invalid stream version: ${t.version}`);
1066
1092
  }
1067
1093
  }
1068
- const Xt = "cht";
1069
- function Yt() {
1094
+ const Zt = "cht";
1095
+ function er() {
1070
1096
  return {
1071
1097
  transport: {
1072
1098
  provider: he.Livekit
1073
1099
  }
1074
1100
  };
1075
1101
  }
1076
- function Gt(e) {
1102
+ function tr(e) {
1077
1103
  var c, s;
1078
1104
  const { streamOptions: t } = e ?? {}, r = ((c = e == null ? void 0 : e.mixpanelAdditionalProperties) == null ? void 0 : c.plan) !== void 0 ? {
1079
1105
  plan: (s = e.mixpanelAdditionalProperties) == null ? void 0 : s.plan
@@ -1086,16 +1112,16 @@ function Gt(e) {
1086
1112
  fluent: t == null ? void 0 : t.fluent
1087
1113
  }, ...r && { end_user_data: r } };
1088
1114
  }
1089
- function Qt(e, t) {
1090
- return pe(e.presenter.type) ? { version: ge.V2, ...Yt() } : { version: ge.V1, ...Gt(t) };
1115
+ function rr(e, t) {
1116
+ return we(e.presenter.type) ? { version: pe.V2, ...er() } : { version: pe.V1, ...tr(t) };
1091
1117
  }
1092
- function Zt(e, t, r) {
1118
+ function nr(e, t, r) {
1093
1119
  r.track("agent-connection-state-change", { state: e, ...t && { reason: t } });
1094
1120
  }
1095
- function er(e, t, r, a, c) {
1096
- c === W.Fluent ? tr(e, t, r, a, c) : rr(e, t, r, a, c);
1121
+ function ar(e, t, r, a, c) {
1122
+ c === W.Fluent ? ir(e, t, r, a, c) : sr(e, t, r, a, c);
1097
1123
  }
1098
- function tr(e, t, r, a, c) {
1124
+ function ir(e, t, r, a, c) {
1099
1125
  e === S.Start ? a.track("stream-session", { event: "start", "stream-type": c }) : e === S.Stop && a.track("stream-session", {
1100
1126
  event: "stop",
1101
1127
  is_greenscreen: t.presenter.type === "clip" && t.presenter.is_greenscreen,
@@ -1104,9 +1130,9 @@ function tr(e, t, r, a, c) {
1104
1130
  ...r
1105
1131
  });
1106
1132
  }
1107
- function xe(e, t, r, a, c) {
1133
+ function $e(e, t, r, a, c) {
1108
1134
  e === S.Start ? r.linkTrack("agent-video", { event: "start", ...c, "stream-type": a }, "start", [
1109
- P.StreamVideoCreated
1135
+ x.StreamVideoCreated
1110
1136
  ]) : e === S.Stop && r.linkTrack(
1111
1137
  "agent-video",
1112
1138
  {
@@ -1116,15 +1142,15 @@ function xe(e, t, r, a, c) {
1116
1142
  "stream-type": a
1117
1143
  },
1118
1144
  "done",
1119
- [P.StreamVideoDone]
1145
+ [x.StreamVideoDone]
1120
1146
  );
1121
1147
  }
1122
- function rr(e, t, r, a, c) {
1148
+ function sr(e, t, r, a, c) {
1123
1149
  e === S.Start ? a.linkTrack(
1124
1150
  "agent-video",
1125
1151
  { event: "start", latency: H.get(!0), "stream-type": c },
1126
1152
  "start",
1127
- [P.StreamVideoCreated]
1153
+ [x.StreamVideoCreated]
1128
1154
  ) : e === S.Stop && a.linkTrack(
1129
1155
  "agent-video",
1130
1156
  {
@@ -1135,37 +1161,37 @@ function rr(e, t, r, a, c) {
1135
1161
  ...r
1136
1162
  },
1137
1163
  "done",
1138
- [P.StreamVideoDone]
1164
+ [x.StreamVideoDone]
1139
1165
  );
1140
1166
  }
1141
- function nr(e, t, r) {
1167
+ function or(e, t, r) {
1142
1168
  const a = {
1143
1169
  call_id: t.call_id,
1144
1170
  name: t.name
1145
1171
  };
1146
- if (e === P.ToolCallStarted) {
1172
+ if (e === x.ToolCallStarted) {
1147
1173
  r.track("agent-tool-call", { ...a, event: "started" });
1148
1174
  return;
1149
1175
  }
1150
1176
  const c = t;
1151
1177
  r.track("agent-tool-call", {
1152
1178
  ...a,
1153
- event: e === P.ToolCallDone ? "done" : "error",
1179
+ event: e === x.ToolCallDone ? "done" : "error",
1154
1180
  duration_ms: c.duration_ms,
1155
1181
  extra_keys: c.extra ? Object.keys(c.extra).length : 0
1156
1182
  });
1157
1183
  }
1158
- function Le(e, t, r, a) {
1159
- return H.reset(), Te.update(), new Promise(async (c, s) => {
1184
+ function Be(e, t, r, a) {
1185
+ return H.reset(), be.update(), new Promise(async (c, s) => {
1160
1186
  try {
1161
1187
  let o, n = !1;
1162
- const i = Qt(e, t);
1188
+ const i = rr(e, t);
1163
1189
  r.enrich({
1164
1190
  "stream-version": i.version.toString()
1165
1191
  });
1166
1192
  let d = null;
1167
- const m = e.presenter.type === "expressive";
1168
- o = await qt(
1193
+ const u = e.presenter.type === "expressive";
1194
+ o = await Qt(
1169
1195
  e,
1170
1196
  i,
1171
1197
  {
@@ -1173,48 +1199,48 @@ function Le(e, t, r, a) {
1173
1199
  analytics: r,
1174
1200
  callbacks: {
1175
1201
  ...t.callbacks,
1176
- onConnectionStateChange: (l, w) => {
1177
- var v, k;
1178
- (k = (v = t.callbacks).onConnectionStateChange) == null || k.call(v, l), Zt(l, w, r), l === L.Connected && (o ? c(o) : n = !0);
1202
+ onConnectionStateChange: (m, f) => {
1203
+ var w, y;
1204
+ (y = (w = t.callbacks).onConnectionStateChange) == null || y.call(w, m), nr(m, f, r), m === b.Connected && (o ? c(o) : n = !0);
1179
1205
  },
1180
- onVideoStateChange: (l, w) => {
1181
- var v, k;
1182
- (k = (v = t.callbacks).onVideoStateChange) == null || k.call(v, l), er(
1183
- l,
1206
+ onVideoStateChange: (m, f) => {
1207
+ var w, y;
1208
+ (y = (w = t.callbacks).onVideoStateChange) == null || y.call(w, m), ar(
1209
+ m,
1184
1210
  e,
1185
- w,
1211
+ f,
1186
1212
  r,
1187
1213
  o.streamType
1188
1214
  );
1189
1215
  },
1190
- onAgentActivityStateChange: (l) => {
1191
- var w, v;
1192
- (v = (w = t.callbacks).onAgentActivityStateChange) == null || v.call(w, l), l === ne.Talking ? (fe.update(), d = (k) => {
1193
- xe(
1216
+ onAgentActivityStateChange: (m) => {
1217
+ var f, w;
1218
+ (w = (f = t.callbacks).onAgentActivityStateChange) == null || w.call(f, m), m === ne.Talking ? (ge.update(), d = (y) => {
1219
+ $e(
1194
1220
  S.Start,
1195
1221
  e,
1196
1222
  r,
1197
1223
  o.streamType,
1198
- k
1224
+ y
1199
1225
  ), d = null;
1200
- }, m || d({ latency: H.get(!0) })) : (fe.reset(), d = null, xe(
1226
+ }, u || d({ latency: H.get(!0) })) : (ge.reset(), d = null, $e(
1201
1227
  S.Stop,
1202
1228
  e,
1203
1229
  r,
1204
1230
  o.streamType
1205
1231
  ));
1206
1232
  },
1207
- onFirstAudioDetected: (l) => {
1208
- d == null || d(l);
1233
+ onFirstAudioDetected: (m) => {
1234
+ d == null || d(m);
1209
1235
  },
1210
1236
  onStreamReady: () => {
1211
- const l = Te.get(!0);
1212
- r.track("agent-chat", { event: "ready", latency: l });
1237
+ const m = be.get(!0);
1238
+ r.track("agent-chat", { event: "ready", latency: m });
1213
1239
  },
1214
- onToolEvent: (l, w) => {
1215
- var v, k;
1216
- (k = (v = t.callbacks).onToolEvent) == null || k.call(v, l, w), nr(l, w, r);
1217
- }
1240
+ onToolEvent: ((m, f) => {
1241
+ var w, y;
1242
+ (y = (w = t.callbacks).onToolEvent) == null || y.call(w, m, f), or(m, f, r);
1243
+ })
1218
1244
  }
1219
1245
  },
1220
1246
  a
@@ -1224,131 +1250,135 @@ function Le(e, t, r, a) {
1224
1250
  }
1225
1251
  });
1226
1252
  }
1227
- async function ar(e, t, r, a, c) {
1228
- var m, l, w, v;
1253
+ async function cr(e, t, r, a, c) {
1254
+ var u, m, f, w;
1229
1255
  const s = async () => {
1230
- if (pe(e.presenter.type)) {
1231
- const k = await Le(e, t, a), B = `${Xt}_${k.sessionId}`, M = (/* @__PURE__ */ new Date()).toISOString();
1256
+ if (we(e.presenter.type)) {
1257
+ const y = await Be(e, t, a), j = `${Zt}_${y.sessionId}`, M = (/* @__PURE__ */ new Date()).toISOString();
1232
1258
  return { chatResult: {
1233
- chatMode: x.Functional,
1259
+ chatMode: A.Functional,
1234
1260
  chat: {
1235
- id: B,
1261
+ id: j,
1236
1262
  agent_id: e.id,
1237
1263
  owner_id: e.owner_id ?? "",
1238
1264
  created: M,
1239
1265
  modified: M,
1240
1266
  agent_id__created_at: M,
1241
1267
  agent_id__modified_at: M,
1242
- chat_mode: x.Functional,
1268
+ chat_mode: A.Functional,
1243
1269
  messages: []
1244
1270
  }
1245
- }, streamingManager: k };
1271
+ }, streamingManager: y };
1246
1272
  } else {
1247
- const k = new AbortController(), B = k.signal;
1273
+ const y = new AbortController(), j = y.signal;
1248
1274
  let M;
1249
1275
  try {
1250
- const D = Ve(
1276
+ const _ = Oe(
1251
1277
  e,
1252
1278
  r,
1253
1279
  a,
1254
1280
  t.mode,
1255
1281
  t.persistentChat,
1256
1282
  c
1257
- ), $ = Le(e, t, a, B).then((J) => (M = J, J)), [_, q] = await Promise.all([D, $]);
1258
- return { chatResult: _, streamingManager: q };
1259
- } catch (D) {
1260
- throw k.abort(), M && await M.disconnect().catch(() => {
1261
- }), D;
1283
+ ), L = Be(e, t, a, j).then((J) => (M = J, J)), [E, q] = await Promise.all([_, L]);
1284
+ return { chatResult: E, streamingManager: q };
1285
+ } catch (_) {
1286
+ throw y.abort(), M && await M.disconnect().catch(() => {
1287
+ }), _;
1262
1288
  }
1263
1289
  }
1264
1290
  }, { chatResult: o, streamingManager: n } = await s(), { chat: i, chatMode: d } = o;
1265
- return d && t.mode !== void 0 && d !== t.mode && (t.mode = d, (l = (m = t.callbacks).onModeChange) == null || l.call(m, d), d !== x.Functional) ? ((v = (w = t.callbacks).onError) == null || v.call(w, new He(d)), n == null || n.disconnect(), { chat: i }) : { chat: i, streamingManager: n };
1291
+ return d && t.mode !== void 0 && d !== t.mode && (t.mode = d, (m = (u = t.callbacks).onModeChange) == null || m.call(u, d), d !== A.Functional) ? ((w = (f = t.callbacks).onError) == null || w.call(f, new Qe(d)), n == null || n.disconnect(), { chat: i }) : { chat: i, streamingManager: n };
1266
1292
  }
1267
- async function dr(e, t) {
1268
- var Y, V, ae, ie;
1293
+ async function fr(e, t) {
1294
+ var V, ie, se, Q;
1269
1295
  let r = !0;
1270
- const a = t.mixpanelKey || ot, c = t.wsURL || st, s = t.baseURL || de, o = t.mode || x.Functional, n = {
1296
+ const a = t.mixpanelKey || ft, c = t.wsURL || mt, s = t.baseURL || le, o = t.mode || A.Functional, n = {
1271
1297
  messages: [],
1272
1298
  chatMode: o
1273
- }, i = Rt({
1299
+ }, i = _t({
1274
1300
  token: a,
1275
1301
  agentId: e,
1276
1302
  isEnabled: t.enableAnalitics,
1277
1303
  externalId: t.externalId,
1278
1304
  mixpanelAdditionalProperties: t.mixpanelAdditionalProperties
1279
1305
  }), d = Date.now();
1280
- Ee(() => {
1306
+ Ae(() => {
1281
1307
  i.track("agent-sdk", { event: "init" }, d);
1282
1308
  });
1283
- const m = wt(t.auth, s, t.callbacks.onError, t.externalId), l = await m.getById(e);
1284
- t.debug = t.debug || ((Y = l == null ? void 0 : l.advanced_settings) == null ? void 0 : Y.ui_debug_mode);
1285
- const w = pe(l.presenter.type);
1286
- i.enrich(yt(l));
1287
- const { onMessage: v, clearQueue: k } = xt(i, n, t, l, () => {
1288
- var u, g, p;
1289
- (u = n.socketManager) == null || u.disconnect(), (p = (g = t.callbacks).onConnectionStateChange) == null || p.call(g, L.Disconnected);
1309
+ const u = t.callbacks.onError;
1310
+ t.callbacks.onError = (l, h) => {
1311
+ i.track("agent-error", { error: _e(l) }), u == null || u(l, h);
1312
+ };
1313
+ const m = kt(t.auth, s, t.callbacks.onError, t.externalId), f = await m.getById(e);
1314
+ t.debug = t.debug || ((V = f == null ? void 0 : f.advanced_settings) == null ? void 0 : V.ui_debug_mode);
1315
+ const w = we(f.presenter.type);
1316
+ i.enrich(It(f));
1317
+ const { onMessage: y, clearQueue: j } = $t(i, n, t, f, () => {
1318
+ var l, h, v;
1319
+ (l = n.socketManager) == null || l.disconnect(), (v = (h = t.callbacks).onConnectionStateChange) == null || v.call(h, b.Disconnected);
1290
1320
  });
1291
- n.messages = It(t.initialMessages), (ae = (V = t.callbacks).onNewMessage) == null || ae.call(V, [...n.messages], "answer");
1292
- const B = (u) => {
1293
- }, M = ({ type: u }) => {
1294
- var p, y, C, R;
1295
- if (!((p = n.streamingManager) != null && p.interruptAvailable) || !((y = n.streamingManager) != null && y.isInterruptible)) return;
1296
- const g = n.messages[n.messages.length - 1];
1321
+ n.messages = At(t.initialMessages), (se = (ie = t.callbacks).onNewMessage) == null || se.call(ie, [...n.messages], "answer");
1322
+ const M = (l) => {
1323
+ }, _ = ({ type: l }) => {
1324
+ var v, C, k, R;
1325
+ if (!((v = n.streamingManager) != null && v.interruptAvailable) || !((C = n.streamingManager) != null && C.isInterruptible)) return;
1326
+ const h = n.messages[n.messages.length - 1];
1297
1327
  i.track("agent-video-interrupt", {
1298
- type: u || "click",
1299
- video_duration_to_interrupt: fe.get(!0),
1328
+ type: l || "click",
1329
+ video_duration_to_interrupt: ge.get(!0),
1300
1330
  message_duration_to_interrupt: H.get(!0)
1301
- }), g.interrupted = !0, (R = (C = t.callbacks).onNewMessage) == null || R.call(C, [...n.messages], "answer"), n.streamingManager.interrupt(u);
1302
- }, D = /* @__PURE__ */ new Map();
1303
- function $(u) {
1304
- return async (g) => {
1305
- const p = D.get(u);
1306
- if (!p)
1307
- throw new Error(`No handler registered for client tool: ${u}`);
1331
+ }), h.interrupted = !0, (R = (k = t.callbacks).onNewMessage) == null || R.call(k, [...n.messages], "answer"), n.streamingManager.interrupt(l);
1332
+ }, L = /* @__PURE__ */ new Map();
1333
+ function E(l) {
1334
+ return async (h) => {
1335
+ const v = L.get(l);
1336
+ if (!v)
1337
+ throw new Error(`No handler registered for client tool: ${l}`);
1308
1338
  try {
1309
- const y = JSON.parse(g.payload);
1310
- return await p(y);
1311
- } catch (y) {
1312
- throw new Error(`Client tool "${u}" failed: ${y.message}`);
1339
+ const C = JSON.parse(h.payload);
1340
+ return await v(C);
1341
+ } catch (C) {
1342
+ throw new Error(`Client tool "${l}" failed: ${C.message}`);
1313
1343
  }
1314
1344
  };
1315
1345
  }
1316
- function _() {
1317
- var u, g, p, y;
1318
- for (const [C] of D)
1319
- (g = (u = n.streamingManager) == null ? void 0 : u.unregisterRpcMethod) == null || g.call(u, C), (y = (p = n.streamingManager) == null ? void 0 : p.registerRpcMethod) == null || y.call(p, C, $(C));
1346
+ function q() {
1347
+ var l, h, v, C;
1348
+ for (const [k] of L)
1349
+ (h = (l = n.streamingManager) == null ? void 0 : l.unregisterRpcMethod) == null || h.call(l, k), (C = (v = n.streamingManager) == null ? void 0 : v.registerRpcMethod) == null || C.call(v, k, E(k));
1320
1350
  }
1321
- function q(u, g) {
1322
- var y, C;
1323
- const p = !D.has(u);
1324
- D.set(u, g), p && ((C = (y = n.streamingManager) == null ? void 0 : y.registerRpcMethod) == null || C.call(y, u, $(u)));
1351
+ function J(l, h) {
1352
+ var C, k;
1353
+ const v = !L.has(l);
1354
+ L.set(l, h), v && ((k = (C = n.streamingManager) == null ? void 0 : C.registerRpcMethod) == null || k.call(C, l, E(l)));
1325
1355
  }
1326
- function J(u) {
1327
- var g, p;
1328
- D.delete(u), (p = (g = n.streamingManager) == null ? void 0 : g.unregisterRpcMethod) == null || p.call(g, u);
1356
+ function N(l) {
1357
+ var h, v;
1358
+ L.delete(l), (v = (h = n.streamingManager) == null ? void 0 : h.unregisterRpcMethod) == null || v.call(h, l);
1329
1359
  }
1330
- const N = Date.now();
1331
- Ee(() => {
1332
- i.track("agent-sdk", { event: "loaded", ...vt(l) }, N);
1360
+ const ae = Date.now();
1361
+ Ae(() => {
1362
+ i.track("agent-sdk", { event: "loaded", ...Rt(f) }, ae);
1333
1363
  });
1334
- async function X(u) {
1335
- var j, z, F, E, f, h, b;
1336
- (z = (j = t.callbacks).onConnectionStateChange) == null || z.call(j, L.Connecting), H.reset(), u && !r && (delete n.chat, (E = (F = t.callbacks).onNewMessage) == null || E.call(F, [...n.messages], "answer"));
1337
- const g = o === x.DirectPlayback || w ? Promise.resolve(void 0) : Tt(
1364
+ async function X(l) {
1365
+ var P, z, F, g, p, D, $;
1366
+ dt(), (z = (P = t.callbacks).onConnectionStateChange) == null || z.call(P, b.Connecting), H.reset(), l && !r && (delete n.chat, (g = (F = t.callbacks).onNewMessage) == null || g.call(F, [...n.messages], "answer"));
1367
+ const h = o === A.DirectPlayback || w ? Promise.resolve(void 0) : Lt(
1338
1368
  t.auth,
1339
1369
  c,
1340
- { onMessage: v, onError: t.callbacks.onError },
1370
+ { onMessage: y, onError: t.callbacks.onError },
1341
1371
  t.externalId
1342
- ), p = ue(
1343
- () => ar(
1344
- l,
1372
+ ), v = fe(
1373
+ () => cr(
1374
+ f,
1345
1375
  {
1346
1376
  ...t,
1347
1377
  mode: o,
1348
1378
  callbacks: {
1349
1379
  ...t.callbacks,
1350
- onVideoIdChange: B,
1351
- onMessage: v
1380
+ onVideoIdChange: M,
1381
+ onMessage: y
1352
1382
  }
1353
1383
  },
1354
1384
  m,
@@ -1357,42 +1387,42 @@ async function dr(e, t) {
1357
1387
  ),
1358
1388
  {
1359
1389
  limit: 3,
1360
- timeout: at,
1390
+ timeout: lt,
1361
1391
  timeoutErrorMessage: "Timeout initializing the stream",
1362
- shouldRetryFn: (T) => (T == null ? void 0 : T.message) !== "Could not connect" && T.status !== 429 && (T == null ? void 0 : T.message) !== "InsufficientCreditsError",
1392
+ shouldRetryFn: (K) => (K == null ? void 0 : K.message) !== "Could not connect" && K.status !== 429 && (K == null ? void 0 : K.message) !== "InsufficientCreditsError",
1363
1393
  delayMs: 1e3
1364
1394
  }
1365
- ).catch((T) => {
1366
- var A, K;
1367
- throw I(x.Maintenance), (K = (A = t.callbacks).onConnectionStateChange) == null || K.call(A, L.Fail), T;
1368
- }), [y, { streamingManager: C, chat: R }] = await Promise.all([g, p]);
1369
- R && R.id !== ((f = n.chat) == null ? void 0 : f.id) && ((b = (h = t.callbacks).onNewChat) == null || b.call(h, R.id)), n.streamingManager = C, n.socketManager = y, n.chat = R, _(), r = !1, i.enrich({
1395
+ ).catch((K) => {
1396
+ var T, U;
1397
+ throw O(A.Maintenance), (U = (T = t.callbacks).onConnectionStateChange) == null || U.call(T, b.Fail), K;
1398
+ }), [C, { streamingManager: k, chat: R }] = await Promise.all([h, v]);
1399
+ R && R.id !== ((p = n.chat) == null ? void 0 : p.id) && (($ = (D = t.callbacks).onNewChat) == null || $.call(D, R.id)), n.streamingManager = k, n.socketManager = C, n.chat = R, q(), r = !1, i.enrich({
1370
1400
  chatId: R == null ? void 0 : R.id,
1371
- streamId: C == null ? void 0 : C.streamId,
1401
+ streamId: k == null ? void 0 : k.streamId,
1372
1402
  mode: n.chatMode
1373
- }), I((R == null ? void 0 : R.chat_mode) ?? o);
1403
+ }), O((R == null ? void 0 : R.chat_mode) ?? o);
1374
1404
  }
1375
- async function O() {
1376
- var u, g, p, y;
1377
- (u = n.socketManager) == null || u.disconnect(), await ((g = n.streamingManager) == null ? void 0 : g.disconnect()), delete n.streamingManager, delete n.socketManager, (y = (p = t.callbacks).onConnectionStateChange) == null || y.call(p, L.Disconnected);
1405
+ async function I() {
1406
+ var l, h, v, C;
1407
+ (l = n.socketManager) == null || l.disconnect(), await ((h = n.streamingManager) == null ? void 0 : h.disconnect()), delete n.streamingManager, delete n.socketManager, (C = (v = t.callbacks).onConnectionStateChange) == null || C.call(v, b.Disconnected);
1378
1408
  }
1379
- async function I(u) {
1380
- var g, p;
1381
- u !== n.chatMode && (i.track("agent-mode-change", { mode: u }), n.chatMode = u, n.chatMode !== x.Functional && await O(), (p = (g = t.callbacks).onModeChange) == null || p.call(g, u));
1409
+ async function O(l) {
1410
+ var h, v;
1411
+ l !== n.chatMode && (i.track("agent-mode-change", { mode: l }), n.chatMode = l, n.chatMode !== A.Functional && await I(), (v = (h = t.callbacks).onModeChange) == null || v.call(h, l));
1382
1412
  }
1383
1413
  return {
1384
- agent: l,
1414
+ agent: f,
1385
1415
  getStreamType: () => {
1386
- var u;
1387
- return (u = n.streamingManager) == null ? void 0 : u.streamType;
1416
+ var l;
1417
+ return (l = n.streamingManager) == null ? void 0 : l.streamType;
1388
1418
  },
1389
1419
  getIsInterruptAvailable: () => {
1390
- var u;
1391
- return ((u = n.streamingManager) == null ? void 0 : u.interruptAvailable) ?? !1;
1420
+ var l;
1421
+ return ((l = n.streamingManager) == null ? void 0 : l.interruptAvailable) ?? !1;
1392
1422
  },
1393
- starterMessages: ((ie = l.knowledge) == null ? void 0 : ie.starter_message) || [],
1394
- getSTTToken: () => m.getSTTToken(l.id),
1395
- changeMode: I,
1423
+ starterMessages: ((Q = f.knowledge) == null ? void 0 : Q.starter_message) || [],
1424
+ getSTTToken: () => m.getSTTToken(f.id),
1425
+ changeMode: O,
1396
1426
  enrichAnalytics: i.enrich,
1397
1427
  async connect() {
1398
1428
  await X(!0), i.track("agent-chat", {
@@ -1401,209 +1431,210 @@ async function dr(e, t) {
1401
1431
  });
1402
1432
  },
1403
1433
  async reconnect() {
1404
- const u = n.streamingManager;
1405
- if (w && (u != null && u.reconnect)) {
1434
+ const l = n.streamingManager;
1435
+ if (w && (l != null && l.reconnect)) {
1406
1436
  try {
1407
- await u.reconnect(), i.track("agent-chat", {
1437
+ await l.reconnect(), i.track("agent-chat", {
1408
1438
  event: "reconnect",
1409
1439
  mode: n.chatMode
1410
1440
  });
1411
1441
  } catch {
1412
- await O(), await X(!1);
1442
+ await I(), await X(!1);
1413
1443
  }
1414
1444
  return;
1415
1445
  }
1416
- await O(), await X(!1), i.track("agent-chat", {
1446
+ await I(), await X(!1), i.track("agent-chat", {
1417
1447
  event: "reconnect",
1418
1448
  mode: n.chatMode
1419
1449
  });
1420
1450
  },
1421
1451
  async disconnect() {
1422
- await O(), i.track("agent-chat", {
1452
+ await I(), i.track("agent-chat", {
1423
1453
  event: "disconnect",
1424
1454
  mode: n.chatMode
1425
1455
  });
1426
1456
  },
1427
- publishMicrophoneStream(u) {
1428
- var g;
1429
- return (g = n.streamingManager) != null && g.publishMicrophoneStream ? n.streamingManager.publishMicrophoneStream(u) : Promise.reject(new Error("publishMicrophoneStream is not available for this streaming manager"));
1457
+ publishMicrophoneStream(l) {
1458
+ var h;
1459
+ return (h = n.streamingManager) != null && h.publishMicrophoneStream ? n.streamingManager.publishMicrophoneStream(l) : Promise.reject(new Error("publishMicrophoneStream is not available for this streaming manager"));
1430
1460
  },
1431
1461
  unpublishMicrophoneStream() {
1432
- var u;
1433
- return (u = n.streamingManager) != null && u.unpublishMicrophoneStream ? n.streamingManager.unpublishMicrophoneStream() : Promise.resolve();
1462
+ var l;
1463
+ return (l = n.streamingManager) != null && l.unpublishMicrophoneStream ? n.streamingManager.unpublishMicrophoneStream() : Promise.resolve();
1434
1464
  },
1435
- replaceMicrophoneTrack(u) {
1436
- var g;
1437
- return (g = n.streamingManager) != null && g.replaceMicrophoneTrack ? n.streamingManager.replaceMicrophoneTrack(u) : Promise.reject(new Error("replaceMicrophoneTrack is not available for this streaming manager"));
1465
+ replaceMicrophoneTrack(l) {
1466
+ var h;
1467
+ return (h = n.streamingManager) != null && h.replaceMicrophoneTrack ? n.streamingManager.replaceMicrophoneTrack(l) : Promise.reject(new Error("replaceMicrophoneTrack is not available for this streaming manager"));
1438
1468
  },
1439
- publishCameraStream(u) {
1440
- var g;
1441
- return (g = n.streamingManager) != null && g.publishCameraStream ? n.streamingManager.publishCameraStream(u) : Promise.reject(new Error("publishCameraStream is not available for this streaming manager"));
1469
+ publishCameraStream(l) {
1470
+ var h;
1471
+ return (h = n.streamingManager) != null && h.publishCameraStream ? n.streamingManager.publishCameraStream(l) : Promise.reject(new Error("publishCameraStream is not available for this streaming manager"));
1442
1472
  },
1443
1473
  unpublishCameraStream() {
1444
- var u;
1445
- return (u = n.streamingManager) != null && u.unpublishCameraStream ? n.streamingManager.unpublishCameraStream() : Promise.resolve();
1474
+ var l;
1475
+ return (l = n.streamingManager) != null && l.unpublishCameraStream ? n.streamingManager.unpublishCameraStream() : Promise.resolve();
1446
1476
  },
1447
- async chat(u) {
1448
- var C, R, j, z, F;
1449
- const g = () => {
1450
- if ($e(o))
1451
- throw new G(`${o} is enabled, chat is disabled`);
1452
- if (u.length >= 800)
1453
- throw new G("Message cannot be more than 800 characters");
1454
- if (u.length === 0)
1455
- throw new G("Message cannot be empty");
1456
- if (n.chatMode === x.Maintenance)
1457
- throw new G("Chat is in maintenance mode");
1458
- if (![x.TextOnly, x.Playground].includes(n.chatMode)) {
1477
+ async chat(l) {
1478
+ var k, R, P, z, F;
1479
+ const h = () => {
1480
+ if (Ue(o))
1481
+ throw new Y(`${o} is enabled, chat is disabled`);
1482
+ if (l.length >= ke)
1483
+ throw new Y(`Message cannot be more than ${ke} characters`);
1484
+ if (l.length === 0)
1485
+ throw new Y("Message cannot be empty");
1486
+ if (n.chatMode === A.Maintenance)
1487
+ throw new Y("Chat is in maintenance mode");
1488
+ if (![A.TextOnly, A.Playground].includes(n.chatMode)) {
1459
1489
  if (!n.streamingManager)
1460
- throw new G("Streaming manager is not initialized");
1490
+ throw new Y("Streaming manager is not initialized");
1461
1491
  if (!n.chat)
1462
- throw new G("Chat is not initialized");
1492
+ throw new Y("Chat is not initialized");
1463
1493
  }
1464
- }, p = async () => {
1465
- var E, f;
1494
+ }, v = async () => {
1495
+ var g, p;
1466
1496
  if (!n.chat) {
1467
- const h = await Ve(
1468
- l,
1497
+ const D = await Oe(
1498
+ f,
1469
1499
  m,
1470
1500
  i,
1471
1501
  n.chatMode,
1472
1502
  t.persistentChat
1473
1503
  );
1474
- if (!h.chat)
1475
- throw new Oe(n.chatMode, !!t.persistentChat);
1476
- n.chat = h.chat, (f = (E = t.callbacks).onNewChat) == null || f.call(E, n.chat.id);
1504
+ if (!D.chat)
1505
+ throw new Ye(n.chatMode, !!t.persistentChat);
1506
+ n.chat = D.chat, (p = (g = t.callbacks).onNewChat) == null || p.call(g, n.chat.id);
1477
1507
  }
1478
1508
  return n.chat.id;
1479
- }, y = async (E, f) => {
1480
- const h = n.chatMode === x.Playground;
1481
- return ue(w && !h ? async () => {
1482
- var A, K;
1483
- return await ((K = (A = n.streamingManager) == null ? void 0 : A.sendTextMessage) == null ? void 0 : K.call(A, u)), Promise.resolve({});
1509
+ }, C = async (g, p) => {
1510
+ const D = n.chatMode === A.Playground;
1511
+ return fe(w && !D ? async () => {
1512
+ var T, U;
1513
+ return await ((U = (T = n.streamingManager) == null ? void 0 : T.sendTextMessage) == null ? void 0 : U.call(T, l)), Promise.resolve({});
1484
1514
  } : async () => {
1485
- var A, K;
1515
+ var T, U;
1486
1516
  return m.chat(
1487
- l.id,
1488
- f,
1517
+ f.id,
1518
+ p,
1489
1519
  {
1490
1520
  chatMode: n.chatMode,
1491
- streamId: (A = n.streamingManager) == null ? void 0 : A.streamId,
1492
- sessionId: (K = n.streamingManager) == null ? void 0 : K.sessionId,
1493
- messages: E.map(({ matches: Ue, ...se }) => se)
1521
+ streamId: (T = n.streamingManager) == null ? void 0 : T.streamId,
1522
+ sessionId: (U = n.streamingManager) == null ? void 0 : U.sessionId,
1523
+ messages: g.map(({ matches: qe, ...oe }) => oe)
1494
1524
  },
1495
1525
  {
1496
- ...Ne(n.chatMode),
1526
+ ...Je(n.chatMode),
1497
1527
  skipErrorHandler: !0
1498
1528
  }
1499
1529
  );
1500
1530
  }, {
1501
1531
  limit: 2,
1502
- shouldRetryFn: (A) => {
1503
- var se, ve, ye, Ce;
1504
- const K = (se = A == null ? void 0 : A.message) == null ? void 0 : se.includes("missing or invalid session_id");
1505
- return !((ve = A == null ? void 0 : A.message) == null ? void 0 : ve.includes("Stream Error")) && !K ? ((Ce = (ye = t.callbacks).onError) == null || Ce.call(ye, A), !1) : !0;
1532
+ shouldRetryFn: (T) => {
1533
+ var oe, ye, Ce, Se;
1534
+ const U = (oe = T == null ? void 0 : T.message) == null ? void 0 : oe.includes("missing or invalid session_id");
1535
+ return !((ye = T == null ? void 0 : T.message) == null ? void 0 : ye.includes("Stream Error")) && !U ? ((Se = (Ce = t.callbacks).onError) == null || Se.call(Ce, T), !1) : !0;
1506
1536
  },
1507
1537
  onRetry: async () => {
1508
- await O(), await X(!1);
1538
+ await I(), await X(!1);
1509
1539
  }
1510
1540
  });
1511
1541
  };
1512
1542
  try {
1513
- k(), g(), n.messages.push({
1514
- id: Q(),
1543
+ j(), h(), n.messages.push({
1544
+ id: G(),
1515
1545
  role: "user",
1516
- content: u,
1517
- parts: re(u),
1546
+ content: l,
1547
+ parts: re(l),
1518
1548
  created_at: new Date(H.update()).toISOString()
1519
- }), (R = (C = t.callbacks).onNewMessage) == null || R.call(C, [...n.messages], "user");
1520
- const E = await p(), f = await y([...n.messages], E);
1521
- return n.messages.push({
1522
- id: Q(),
1549
+ }), (R = (k = t.callbacks).onNewMessage) == null || R.call(k, [...n.messages], "user");
1550
+ const g = await v(), p = await C([...n.messages], g);
1551
+ return p.result && n.messages.push({
1552
+ id: G(),
1523
1553
  role: "assistant",
1524
- content: f.result || "",
1525
- parts: re(f.result || ""),
1554
+ content: p.result,
1555
+ parts: re(p.result),
1526
1556
  created_at: (/* @__PURE__ */ new Date()).toISOString(),
1527
- context: f.context,
1528
- matches: f.matches
1557
+ context: p.context,
1558
+ matches: p.matches
1529
1559
  }), i.track("agent-message-send", {
1530
1560
  event: "success",
1531
1561
  messages: n.messages.length + 1
1532
- }), f.result && ((z = (j = t.callbacks).onNewMessage) == null || z.call(j, [...n.messages], "answer"), i.track("agent-message-received", {
1562
+ }), p.result && ((z = (P = t.callbacks).onNewMessage) == null || z.call(P, [...n.messages], "answer"), i.track("agent-message-received", {
1533
1563
  latency: H.get(!0),
1534
1564
  messages: n.messages.length
1535
- })), f;
1536
- } catch (E) {
1565
+ })), p;
1566
+ } catch (g) {
1537
1567
  throw ((F = n.messages[n.messages.length - 1]) == null ? void 0 : F.role) === "assistant" && n.messages.pop(), i.track("agent-message-send", {
1538
1568
  event: "error",
1539
- messages: n.messages.length
1540
- }), E;
1569
+ messages: n.messages.length,
1570
+ error: _e(g)
1571
+ }), g;
1541
1572
  }
1542
1573
  },
1543
- rate(u, g, p) {
1544
- var R, j, z, F;
1545
- const y = n.messages.find((E) => E.id === u);
1574
+ rate(l, h, v) {
1575
+ var R, P, z, F;
1576
+ const C = n.messages.find((g) => g.id === l);
1546
1577
  if (n.chat) {
1547
- if (!y)
1578
+ if (!C)
1548
1579
  throw new Error("Message not found");
1549
1580
  } else throw new Error("Chat is not initialized");
1550
- const C = ((R = y.matches) == null ? void 0 : R.map((E) => [E.document_id, E.id])) ?? [];
1581
+ const k = ((R = C.matches) == null ? void 0 : R.map((g) => [g.document_id, g.id])) ?? [];
1551
1582
  return i.track("agent-rate", {
1552
- event: p ? "update" : "create",
1553
- thumb: g === 1 ? "up" : "down",
1554
- knowledge_id: ((j = l.knowledge) == null ? void 0 : j.id) ?? "",
1555
- matches: C,
1556
- score: g
1557
- }), p ? m.updateRating(l.id, n.chat.id, p, {
1558
- knowledge_id: ((z = l.knowledge) == null ? void 0 : z.id) ?? "",
1559
- message_id: u,
1560
- matches: C,
1561
- score: g
1562
- }) : m.createRating(l.id, n.chat.id, {
1563
- knowledge_id: ((F = l.knowledge) == null ? void 0 : F.id) ?? "",
1564
- message_id: u,
1565
- matches: C,
1566
- score: g
1583
+ event: v ? "update" : "create",
1584
+ thumb: h === 1 ? "up" : "down",
1585
+ knowledge_id: ((P = f.knowledge) == null ? void 0 : P.id) ?? "",
1586
+ matches: k,
1587
+ score: h
1588
+ }), v ? m.updateRating(f.id, n.chat.id, v, {
1589
+ knowledge_id: ((z = f.knowledge) == null ? void 0 : z.id) ?? "",
1590
+ message_id: l,
1591
+ matches: k,
1592
+ score: h
1593
+ }) : m.createRating(f.id, n.chat.id, {
1594
+ knowledge_id: ((F = f.knowledge) == null ? void 0 : F.id) ?? "",
1595
+ message_id: l,
1596
+ matches: k,
1597
+ score: h
1567
1598
  });
1568
1599
  },
1569
- deleteRate(u) {
1600
+ deleteRate(l) {
1570
1601
  if (!n.chat)
1571
1602
  throw new Error("Chat is not initialized");
1572
- return i.track("agent-rate-delete", { type: "text" }), m.deleteRating(l.id, n.chat.id, u);
1603
+ return i.track("agent-rate-delete", { type: "text" }), m.deleteRating(f.id, n.chat.id, l);
1573
1604
  },
1574
- async speak(u) {
1575
- var C, R, j;
1576
- function g() {
1577
- if (typeof u == "string") {
1578
- if (!l.presenter.voice)
1605
+ async speak(l) {
1606
+ var k, R, P;
1607
+ function h() {
1608
+ if (typeof l == "string") {
1609
+ if (!f.presenter.voice)
1579
1610
  throw new Error("Presenter voice is not initialized");
1580
1611
  return {
1581
1612
  type: "text",
1582
- provider: l.presenter.voice,
1583
- input: u,
1613
+ provider: f.presenter.voice,
1614
+ input: l,
1584
1615
  ssml: !1
1585
1616
  };
1586
1617
  }
1587
- if (u.type === "text" && !u.provider) {
1588
- if (!l.presenter.voice)
1618
+ if (l.type === "text" && !l.provider) {
1619
+ if (!f.presenter.voice)
1589
1620
  throw new Error("Presenter voice is not initialized");
1590
1621
  return {
1591
1622
  type: "text",
1592
- provider: l.presenter.voice,
1593
- input: u.input,
1594
- ssml: u.ssml
1623
+ provider: f.presenter.voice,
1624
+ input: l.input,
1625
+ ssml: l.ssml
1595
1626
  };
1596
1627
  }
1597
- return u;
1628
+ return l;
1598
1629
  }
1599
- const p = g();
1600
- if (i.track("agent-speak", p), H.update(), n.messages && p.type === "text" && (n.messages.push({
1601
- id: Q(),
1630
+ const v = h();
1631
+ if (i.track("agent-speak", v), H.update(), n.messages && v.type === "text" && (n.messages.push({
1632
+ id: G(),
1602
1633
  role: "assistant",
1603
- content: p.input,
1604
- parts: re(p.input),
1634
+ content: v.input,
1635
+ parts: re(v.input),
1605
1636
  created_at: (/* @__PURE__ */ new Date()).toISOString()
1606
- }), (R = (C = t.callbacks).onNewMessage) == null || R.call(C, [...n.messages], "answer")), lt(n.chatMode))
1637
+ }), (R = (k = t.callbacks).onNewMessage) == null || R.call(k, [...n.messages], "answer")), ht(n.chatMode))
1607
1638
  return {
1608
1639
  duration: 0,
1609
1640
  video_id: "",
@@ -1612,47 +1643,47 @@ async function dr(e, t) {
1612
1643
  if (!n.streamingManager)
1613
1644
  throw new Error("Please connect to the agent first");
1614
1645
  return n.streamingManager.speak({
1615
- script: p,
1616
- metadata: { chat_id: (j = n.chat) == null ? void 0 : j.id, agent_id: l.id }
1646
+ script: v,
1647
+ metadata: { chat_id: (P = n.chat) == null ? void 0 : P.id, agent_id: f.id }
1617
1648
  });
1618
1649
  },
1619
- interrupt: M,
1620
- registerClientTool: q,
1621
- unregisterClientTool: J
1650
+ interrupt: _,
1651
+ registerClientTool: J,
1652
+ unregisterClientTool: N
1622
1653
  };
1623
1654
  }
1624
1655
  export {
1625
1656
  ne as A,
1626
- U as C,
1627
- tt as D,
1628
- et as K,
1629
- Ye as P,
1630
- Qe as R,
1631
- P as S,
1657
+ B as C,
1658
+ st as D,
1659
+ it as K,
1660
+ tt as P,
1661
+ nt as R,
1662
+ x as S,
1632
1663
  he as T,
1633
- Xe as U,
1634
- G as V,
1635
- qe as W,
1636
- Pt as a,
1664
+ et as U,
1665
+ Y as V,
1666
+ Ze as W,
1667
+ zt as a,
1637
1668
  W as b,
1638
- Fe as c,
1639
- de as d,
1640
- L as e,
1669
+ We as c,
1670
+ le as d,
1671
+ b as e,
1641
1672
  te as f,
1642
- Kt as g,
1643
- cr as h,
1673
+ Ot as g,
1674
+ mr as h,
1644
1675
  S as i,
1645
- Oe as j,
1646
- He as k,
1676
+ rt as j,
1677
+ Ye as k,
1647
1678
  H as l,
1648
- dr as m,
1649
- or as n,
1650
- Ge as o,
1651
- ft as p,
1652
- x as q,
1653
- Ze as r,
1654
- Pe as s,
1655
- sr as t,
1656
- rt as u,
1657
- nt as v
1679
+ A as m,
1680
+ ur as n,
1681
+ Qe as o,
1682
+ ot as p,
1683
+ at as q,
1684
+ ze as r,
1685
+ ct as s,
1686
+ fr as t,
1687
+ lr as u,
1688
+ yt as v
1658
1689
  };