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