@opencxh/domain 1.153.0 → 1.158.0
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/entities/activity/catalog.d.ts +23 -0
- package/dist/entities/ai-profile/types.d.ts +19 -6
- package/dist/entities/ai-settings/types.d.ts +27 -0
- package/dist/entities/ai-settings/types.test.d.ts +1 -0
- package/dist/entities/assignment/index.d.ts +1 -0
- package/dist/entities/assignment/types.d.ts +142 -0
- package/dist/entities/assignment/types.test.d.ts +1 -0
- package/dist/entities/live-lens/index.d.ts +1 -0
- package/dist/entities/live-lens/types.d.ts +81 -0
- package/dist/entities/live-lens/types.test.d.ts +1 -0
- package/dist/entities/playbook/actor.d.ts +20 -0
- package/dist/entities/playbook/assignment.d.ts +123 -0
- package/dist/entities/playbook/assignment.test.d.ts +1 -0
- package/dist/entities/playbook/index.d.ts +1 -0
- package/dist/entities/playbook/status.test.d.ts +1 -0
- package/dist/entities/playbook/trigger-vars.d.ts +34 -3
- package/dist/entities/playbook/types.d.ts +439 -31
- package/dist/entities/read-state/types.d.ts +1 -5
- package/dist/entities/user/types.d.ts +56 -0
- package/dist/index.cjs +8 -8
- package/dist/index.d.ts +6 -0
- package/dist/index.js +1150 -642
- package/dist/platform/ai-tools.d.ts +20 -0
- package/dist/platform/audio-gate.test.d.ts +1 -0
- package/dist/platform/context.d.ts +16 -0
- package/dist/platform/presence.d.ts +59 -0
- package/dist/platform/provider.d.ts +14 -0
- package/dist/platform/resource.d.ts +39 -0
- package/dist/platform/sdk.d.ts +6 -0
- package/dist/platform/tool-sources.test.d.ts +1 -0
- package/dist/platform/transcript-cadence.d.ts +93 -0
- package/dist/platform/transcript-cadence.test.d.ts +1 -0
- package/dist/platform/transcript-sanitize.d.ts +1 -0
- package/dist/platform/transcript-sanitize.test.d.ts +1 -0
- package/dist/platform/work-mode.test.d.ts +1 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
const un = 10, dn = 10, pn = 10, fn = 5, Ee = /* @__PURE__ */ new Set([
|
|
2
2
|
"header",
|
|
3
3
|
"section",
|
|
4
4
|
"context",
|
|
@@ -8,13 +8,13 @@ const Pt = 10, Ut = 10, Kt = 10, Bt = 5, ye = /* @__PURE__ */ new Set([
|
|
|
8
8
|
"actions",
|
|
9
9
|
"attachments"
|
|
10
10
|
]);
|
|
11
|
-
function
|
|
11
|
+
function _(e) {
|
|
12
12
|
if (typeof e == "string") return e.length > 0;
|
|
13
13
|
if (!e || typeof e != "object") return !1;
|
|
14
14
|
const t = e;
|
|
15
15
|
return typeof t.key == "string" || typeof t.value == "string";
|
|
16
16
|
}
|
|
17
|
-
function
|
|
17
|
+
function mn(e, t = () => {
|
|
18
18
|
}) {
|
|
19
19
|
if (!Array.isArray(e)) return [];
|
|
20
20
|
const n = [];
|
|
@@ -24,66 +24,66 @@ function Gt(e, t = () => {
|
|
|
24
24
|
break;
|
|
25
25
|
}
|
|
26
26
|
if (!i || typeof i != "object") continue;
|
|
27
|
-
const
|
|
28
|
-
if (!
|
|
29
|
-
t("unknown block type " + String(
|
|
27
|
+
const r = i;
|
|
28
|
+
if (!Ee.has(r.type)) {
|
|
29
|
+
t("unknown block type " + String(r.type));
|
|
30
30
|
continue;
|
|
31
31
|
}
|
|
32
|
-
switch (
|
|
32
|
+
switch (r.type) {
|
|
33
33
|
case "header":
|
|
34
|
-
if (!
|
|
34
|
+
if (!_(r.text)) {
|
|
35
35
|
t("a header without text");
|
|
36
36
|
continue;
|
|
37
37
|
}
|
|
38
38
|
break;
|
|
39
39
|
case "context":
|
|
40
|
-
if (!
|
|
40
|
+
if (!_(r.text)) {
|
|
41
41
|
t("a context block without text");
|
|
42
42
|
continue;
|
|
43
43
|
}
|
|
44
44
|
break;
|
|
45
45
|
case "image":
|
|
46
|
-
if (!
|
|
46
|
+
if (!r.url || !r.alt) {
|
|
47
47
|
t("an image without url or alt");
|
|
48
48
|
continue;
|
|
49
49
|
}
|
|
50
50
|
break;
|
|
51
51
|
case "section":
|
|
52
|
-
Array.isArray(
|
|
52
|
+
Array.isArray(r.fields) && r.fields.length > 10 && (t("more than 10 fields in a section"), r.fields = r.fields.slice(0, 10));
|
|
53
53
|
break;
|
|
54
54
|
case "list":
|
|
55
|
-
if (!Array.isArray(
|
|
55
|
+
if (!Array.isArray(r.items) || r.items.length === 0) {
|
|
56
56
|
t("a list without items");
|
|
57
57
|
continue;
|
|
58
58
|
}
|
|
59
|
-
|
|
59
|
+
r.items.length > 10 && (t("more than 10 list items"), r.items = r.items.slice(0, 10));
|
|
60
60
|
break;
|
|
61
61
|
case "actions": {
|
|
62
|
-
const
|
|
63
|
-
if (o.length !==
|
|
64
|
-
o.length > 5 && t("more than 5 actions"),
|
|
62
|
+
const a = Array.isArray(r.elements) ? r.elements : [], o = a.filter((s) => s && s.action_id && s.invoke && _(s.text));
|
|
63
|
+
if (o.length !== a.length && t("an action without action_id, invoke or text"), o.length === 0) continue;
|
|
64
|
+
o.length > 5 && t("more than 5 actions"), r.elements = o.slice(0, 5);
|
|
65
65
|
break;
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
n.push(
|
|
68
|
+
n.push(r);
|
|
69
69
|
}
|
|
70
70
|
return n;
|
|
71
71
|
}
|
|
72
|
-
function
|
|
72
|
+
function Se(e) {
|
|
73
73
|
return e.replace(/<style[\s\S]*?<\/style>/gi, " ").replace(/<script[\s\S]*?<\/script>/gi, " ").replace(/<[^>]+>/g, " ").replace(/ /g, " ").replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, '"').replace(/'/g, "'").replace(/\s+/g, " ").trim();
|
|
74
74
|
}
|
|
75
|
-
function
|
|
75
|
+
function y(e) {
|
|
76
76
|
if (!e || e < 0) return "";
|
|
77
77
|
const t = Math.floor(e / 60), n = Math.floor(e % 60);
|
|
78
78
|
return `${t}:${n.toString().padStart(2, "0")}`;
|
|
79
79
|
}
|
|
80
|
-
function
|
|
80
|
+
function x(e) {
|
|
81
81
|
return e ? ` — ${Math.floor(e / 60)}m ${e % 60}s` : "";
|
|
82
82
|
}
|
|
83
|
-
function
|
|
83
|
+
function I(e) {
|
|
84
84
|
return e?.split("@")?.[0] || e || "";
|
|
85
85
|
}
|
|
86
|
-
function
|
|
86
|
+
function b(e) {
|
|
87
87
|
return e.map((t) => t.name).join(", ");
|
|
88
88
|
}
|
|
89
89
|
function O(e) {
|
|
@@ -96,12 +96,13 @@ const m = {
|
|
|
96
96
|
channelKind: "voice",
|
|
97
97
|
icon: "phone",
|
|
98
98
|
snippet: () => "Gesprek gestart",
|
|
99
|
-
timeline: (e) => e.direction === "inbound" ? `Inbound call started — ${
|
|
99
|
+
timeline: (e) => e.direction === "inbound" ? `Inbound call started — ${I(e.payload.from)}` : `Outbound call started — ${I(e.payload.to)}`
|
|
100
100
|
},
|
|
101
101
|
VOICE_CALL_ANSWERED: {
|
|
102
102
|
shape: "event",
|
|
103
103
|
channelKind: "voice",
|
|
104
104
|
icon: "phone",
|
|
105
|
+
connected: !0,
|
|
105
106
|
snippet: () => "Gesprek aangenomen",
|
|
106
107
|
timeline: (e, t) => `Call answered — ${t}`
|
|
107
108
|
},
|
|
@@ -122,15 +123,15 @@ const m = {
|
|
|
122
123
|
shape: "event",
|
|
123
124
|
channelKind: "voice",
|
|
124
125
|
icon: "phone",
|
|
125
|
-
snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${
|
|
126
|
-
timeline: (e) => `Call ended${
|
|
126
|
+
snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${y(e.payload.duration)})` : ""}`,
|
|
127
|
+
timeline: (e) => `Call ended${x(e.payload.duration)}`
|
|
127
128
|
},
|
|
128
129
|
VOICE_CALL_MISSED: {
|
|
129
130
|
shape: "event",
|
|
130
131
|
channelKind: "voice",
|
|
131
132
|
icon: "phone",
|
|
132
133
|
snippet: () => "Gemiste oproep",
|
|
133
|
-
timeline: (e) => `Missed call — ${
|
|
134
|
+
timeline: (e) => `Missed call — ${I(e.payload.from)}`
|
|
134
135
|
},
|
|
135
136
|
VOICE_CALL_FAILED: {
|
|
136
137
|
shape: "event",
|
|
@@ -157,6 +158,7 @@ const m = {
|
|
|
157
158
|
shape: "event",
|
|
158
159
|
channelKind: "video",
|
|
159
160
|
icon: "video",
|
|
161
|
+
connected: !0,
|
|
160
162
|
snippet: () => "Gesprek aangenomen",
|
|
161
163
|
timeline: () => "Video call answered"
|
|
162
164
|
},
|
|
@@ -176,7 +178,7 @@ const m = {
|
|
|
176
178
|
shape: "event",
|
|
177
179
|
channelKind: "video",
|
|
178
180
|
icon: "video",
|
|
179
|
-
snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${
|
|
181
|
+
snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${y(e.payload.duration)})` : ""}`,
|
|
180
182
|
timeline: () => "Video call ended"
|
|
181
183
|
},
|
|
182
184
|
VIDEO_CALL_MISSED: {
|
|
@@ -204,7 +206,7 @@ const m = {
|
|
|
204
206
|
replyable: !0,
|
|
205
207
|
carriesText: !0,
|
|
206
208
|
countsAs: "inbound_message",
|
|
207
|
-
snippet:
|
|
209
|
+
snippet: L
|
|
208
210
|
},
|
|
209
211
|
EMAIL_SENT: {
|
|
210
212
|
shape: "message",
|
|
@@ -214,7 +216,7 @@ const m = {
|
|
|
214
216
|
replyable: !0,
|
|
215
217
|
carriesText: !0,
|
|
216
218
|
countsAs: "outbound_message",
|
|
217
|
-
snippet:
|
|
219
|
+
snippet: L
|
|
218
220
|
},
|
|
219
221
|
/* ---- chat ---- */
|
|
220
222
|
CHAT_MESSAGE_SENT: {
|
|
@@ -243,9 +245,9 @@ const m = {
|
|
|
243
245
|
shape: "event",
|
|
244
246
|
channelKind: "chat",
|
|
245
247
|
icon: "message-circle",
|
|
246
|
-
snippet: (e) => `${
|
|
248
|
+
snippet: (e) => `${b(e.payload.members)} toegevoegd`,
|
|
247
249
|
timeline: (e) => {
|
|
248
|
-
const t =
|
|
250
|
+
const t = b(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · added by ${e.payload.initiator.name}` : "";
|
|
249
251
|
return `${t} joined the chat${n}`;
|
|
250
252
|
}
|
|
251
253
|
},
|
|
@@ -253,9 +255,9 @@ const m = {
|
|
|
253
255
|
shape: "event",
|
|
254
256
|
channelKind: "chat",
|
|
255
257
|
icon: "message-circle",
|
|
256
|
-
snippet: (e) => `${
|
|
258
|
+
snippet: (e) => `${b(e.payload.members)} verlaten`,
|
|
257
259
|
timeline: (e) => {
|
|
258
|
-
const t =
|
|
260
|
+
const t = b(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · removed by ${e.payload.initiator.name}` : "";
|
|
259
261
|
return `${t} left the chat${n}`;
|
|
260
262
|
}
|
|
261
263
|
},
|
|
@@ -278,8 +280,8 @@ const m = {
|
|
|
278
280
|
shape: "event",
|
|
279
281
|
channelKind: "chat",
|
|
280
282
|
icon: "message-circle",
|
|
281
|
-
snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${
|
|
282
|
-
timeline: (e) => `${O(e.payload.callType)} ended${
|
|
283
|
+
snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${y(e.payload.duration)})` : ""}`,
|
|
284
|
+
timeline: (e) => `${O(e.payload.callType)} ended${x(e.payload.duration)}`,
|
|
283
285
|
joinUrl: (e) => e.payload.joinUrl
|
|
284
286
|
},
|
|
285
287
|
CHAT_EVENT: {
|
|
@@ -360,6 +362,7 @@ const m = {
|
|
|
360
362
|
MEETING_STARTED: {
|
|
361
363
|
shape: "event",
|
|
362
364
|
icon: "calendar",
|
|
365
|
+
connected: !0,
|
|
363
366
|
snippet: (e) => `Vergadering gestart: ${e.payload.title}`,
|
|
364
367
|
timeline: () => "Meeting started",
|
|
365
368
|
joinUrl: (e) => e.payload.joinUrl
|
|
@@ -367,7 +370,7 @@ const m = {
|
|
|
367
370
|
MEETING_ENDED: {
|
|
368
371
|
shape: "event",
|
|
369
372
|
icon: "calendar",
|
|
370
|
-
snippet: (e) => `Vergadering beëindigd${e.payload.duration ? ` (${
|
|
373
|
+
snippet: (e) => `Vergadering beëindigd${e.payload.duration ? ` (${y(e.payload.duration)})` : ""}`,
|
|
371
374
|
timeline: () => "Meeting ended"
|
|
372
375
|
},
|
|
373
376
|
MEETING_PARTICIPANT_JOINED: {
|
|
@@ -404,48 +407,55 @@ const m = {
|
|
|
404
407
|
timeline: (e, t) => `Assigned by ${t}`
|
|
405
408
|
}
|
|
406
409
|
};
|
|
407
|
-
function
|
|
408
|
-
const t = e.payload, n = t.bodySnippet?.trim() ||
|
|
410
|
+
function L(e) {
|
|
411
|
+
const t = e.payload, n = t.bodySnippet?.trim() || Se(t.body ?? "");
|
|
409
412
|
return t.subject ? `${t.subject} — ${n}` : n;
|
|
410
413
|
}
|
|
411
|
-
function
|
|
414
|
+
function d(e) {
|
|
412
415
|
return m[e];
|
|
413
416
|
}
|
|
414
|
-
function
|
|
415
|
-
return
|
|
417
|
+
function gn(e) {
|
|
418
|
+
return d(e)?.icon ?? "circle";
|
|
416
419
|
}
|
|
417
|
-
function
|
|
418
|
-
return
|
|
420
|
+
function hn(e) {
|
|
421
|
+
return d(e)?.channelKind;
|
|
419
422
|
}
|
|
420
|
-
function
|
|
421
|
-
const t =
|
|
423
|
+
function An(e) {
|
|
424
|
+
const t = d(e)?.shape;
|
|
422
425
|
return t === "message" || t === "note";
|
|
423
426
|
}
|
|
424
|
-
function
|
|
425
|
-
return
|
|
427
|
+
function yn(e) {
|
|
428
|
+
return d(e)?.replyable === !0;
|
|
426
429
|
}
|
|
427
|
-
function
|
|
428
|
-
return
|
|
430
|
+
function bn(e) {
|
|
431
|
+
return d(e)?.carriesText === !0;
|
|
432
|
+
}
|
|
433
|
+
function En(e) {
|
|
434
|
+
return d(e)?.countsAs;
|
|
429
435
|
}
|
|
430
|
-
function
|
|
431
|
-
return
|
|
436
|
+
function Sn(e) {
|
|
437
|
+
return d(e)?.playbookAuthored === !0;
|
|
432
438
|
}
|
|
433
|
-
function
|
|
434
|
-
return
|
|
439
|
+
function Tn(e) {
|
|
440
|
+
return d(e)?.connected === !0;
|
|
435
441
|
}
|
|
436
|
-
function
|
|
437
|
-
const t =
|
|
442
|
+
function _n(e) {
|
|
443
|
+
const t = d(e);
|
|
444
|
+
return t?.shape === "artifact" && t?.carriesText === !0;
|
|
445
|
+
}
|
|
446
|
+
function Te(e) {
|
|
447
|
+
const t = d(e.type)?.snippet;
|
|
438
448
|
return t ? t(e) : "";
|
|
439
449
|
}
|
|
440
|
-
function
|
|
441
|
-
const n =
|
|
450
|
+
function In(e, t) {
|
|
451
|
+
const n = d(e.type)?.timeline;
|
|
442
452
|
return n ? n(e, t) : e.type.replace(/_/g, " ").toLowerCase();
|
|
443
453
|
}
|
|
444
|
-
function
|
|
445
|
-
const t =
|
|
454
|
+
function Mn(e) {
|
|
455
|
+
const t = d(e.type)?.joinUrl;
|
|
446
456
|
return t ? t(e) : void 0;
|
|
447
457
|
}
|
|
448
|
-
function
|
|
458
|
+
function w(e, t) {
|
|
449
459
|
let n = e;
|
|
450
460
|
for (const i of t.split(".")) {
|
|
451
461
|
if (n == null || typeof n != "object") return "";
|
|
@@ -453,26 +463,26 @@ function N(e, t) {
|
|
|
453
463
|
}
|
|
454
464
|
return n == null ? "" : typeof n == "string" ? n : typeof n == "number" || typeof n == "boolean" ? String(n) : "";
|
|
455
465
|
}
|
|
456
|
-
function
|
|
466
|
+
function k(e, t, n) {
|
|
457
467
|
if (e === void 0) return null;
|
|
458
468
|
if (typeof e == "string") return e || null;
|
|
459
469
|
if ("value" in e)
|
|
460
|
-
return
|
|
470
|
+
return w(t, e.value) || null;
|
|
461
471
|
const i = {};
|
|
462
|
-
for (const [
|
|
463
|
-
i[
|
|
464
|
-
const
|
|
465
|
-
return
|
|
472
|
+
for (const [a, o] of Object.entries(e.params ?? {}))
|
|
473
|
+
i[a] = w(t, o);
|
|
474
|
+
const r = n(e.key, i);
|
|
475
|
+
return r === e.key ? null : r;
|
|
466
476
|
}
|
|
467
|
-
function
|
|
477
|
+
function _e(e, t) {
|
|
468
478
|
if (!e || typeof e == "string" || "value" in e) return null;
|
|
469
479
|
const n = {};
|
|
470
|
-
for (const [i,
|
|
471
|
-
n[i] =
|
|
480
|
+
for (const [i, r] of Object.entries(e.params ?? {}))
|
|
481
|
+
n[i] = w(t, r);
|
|
472
482
|
return { key: e.key, params: n };
|
|
473
483
|
}
|
|
474
|
-
const
|
|
475
|
-
function
|
|
484
|
+
const Ie = (e) => e;
|
|
485
|
+
function $(e) {
|
|
476
486
|
const t = m[e];
|
|
477
487
|
return {
|
|
478
488
|
type: e,
|
|
@@ -488,7 +498,7 @@ function R(e) {
|
|
|
488
498
|
displayNameKey: t.displayNameKey
|
|
489
499
|
};
|
|
490
500
|
}
|
|
491
|
-
function
|
|
501
|
+
function D(e) {
|
|
492
502
|
return {
|
|
493
503
|
type: e.type,
|
|
494
504
|
shape: e.shape,
|
|
@@ -503,21 +513,21 @@ function w(e) {
|
|
|
503
513
|
displayNameKey: e.displayNameKey
|
|
504
514
|
};
|
|
505
515
|
}
|
|
506
|
-
class
|
|
507
|
-
constructor(t = [], n =
|
|
516
|
+
class Me {
|
|
517
|
+
constructor(t = [], n = Ie) {
|
|
508
518
|
this.translate = n;
|
|
509
519
|
for (const i of t)
|
|
510
520
|
i?.type && (i.type in m || this.declared.has(i.type) || this.declared.set(i.type, i));
|
|
511
521
|
}
|
|
512
522
|
declared = /* @__PURE__ */ new Map();
|
|
513
523
|
get(t) {
|
|
514
|
-
if (t in m) return
|
|
524
|
+
if (t in m) return $(t);
|
|
515
525
|
const n = this.declared.get(t);
|
|
516
|
-
return n ?
|
|
526
|
+
return n ? D(n) : void 0;
|
|
517
527
|
}
|
|
518
528
|
/** Alles wat als trigger aangeboden mag worden, ingebouwd en gedeclareerd. */
|
|
519
529
|
triggerable() {
|
|
520
|
-
const t = Object.keys(m).filter((i) => m[i].triggerable).map(
|
|
530
|
+
const t = Object.keys(m).filter((i) => m[i].triggerable).map($), n = [...this.declared.values()].map(D).filter((i) => i.triggerable);
|
|
521
531
|
return [...t, ...n];
|
|
522
532
|
}
|
|
523
533
|
/**
|
|
@@ -528,15 +538,15 @@ class Te {
|
|
|
528
538
|
timelineText(t, n) {
|
|
529
539
|
const i = m[t.type];
|
|
530
540
|
if (i?.timeline) return i.timeline(t, n);
|
|
531
|
-
const
|
|
532
|
-
return
|
|
541
|
+
const r = this.declared.get(t.type);
|
|
542
|
+
return k(r?.text, t, this.translate) ?? t.type.replace(/_/g, " ").toLowerCase();
|
|
533
543
|
}
|
|
534
544
|
/** De regel voor de inboxlijst. Leeg wanneer het type niets te tonen heeft. */
|
|
535
545
|
snippet(t) {
|
|
536
546
|
const n = m[t.type];
|
|
537
547
|
if (n?.snippet) return n.snippet(t);
|
|
538
548
|
const i = this.declared.get(t.type);
|
|
539
|
-
return
|
|
549
|
+
return k(i?.text, t, this.translate) ?? "";
|
|
540
550
|
}
|
|
541
551
|
/** De descriptor zoals hij binnenkwam; nodig om `text` als sleutel op te slaan. */
|
|
542
552
|
descriptor(t) {
|
|
@@ -552,33 +562,33 @@ class Te {
|
|
|
552
562
|
return this.translate;
|
|
553
563
|
}
|
|
554
564
|
}
|
|
555
|
-
const
|
|
556
|
-
function
|
|
565
|
+
const Cn = new Me(), R = 140;
|
|
566
|
+
function Ce(e) {
|
|
557
567
|
const t = e.trim();
|
|
558
|
-
return t.length <=
|
|
568
|
+
return t.length <= R ? t : t.slice(0, R - 1).trimEnd() + "…";
|
|
559
569
|
}
|
|
560
|
-
function
|
|
561
|
-
const n =
|
|
570
|
+
function vn(e, t) {
|
|
571
|
+
const n = _e(t?.text, e), i = t ? k(t.text, e, (r) => r) : null;
|
|
562
572
|
return {
|
|
563
573
|
activityId: e.id,
|
|
564
574
|
type: e.type,
|
|
565
|
-
snippet:
|
|
575
|
+
snippet: Ce(i ?? Te(e)),
|
|
566
576
|
authorName: e.author?.name ?? "",
|
|
567
577
|
direction: e.direction,
|
|
568
578
|
createdAt: e.createdAt ?? Date.now(),
|
|
569
579
|
...n ? { snippetKey: n.key, snippetParams: n.params } : {}
|
|
570
580
|
};
|
|
571
581
|
}
|
|
572
|
-
function
|
|
582
|
+
function wn(e, t, n = []) {
|
|
573
583
|
const i = e.createdAt;
|
|
574
584
|
if (!i) return [];
|
|
575
|
-
const
|
|
576
|
-
return e.author.type === "user" && e.author.id &&
|
|
585
|
+
const r = new Set(n);
|
|
586
|
+
return e.author.type === "user" && e.author.id && r.add(e.author.id), Object.entries(t).filter(([a, o]) => o >= i && !r.has(a)).map(([a]) => a);
|
|
577
587
|
}
|
|
578
|
-
function
|
|
588
|
+
function kn(e) {
|
|
579
589
|
return e.createdAt ?? 0;
|
|
580
590
|
}
|
|
581
|
-
const
|
|
591
|
+
const Nn = [
|
|
582
592
|
{ id: "agent", label: "Agent", labelSource: "user" },
|
|
583
593
|
{ id: "team", label: "Team", labelSource: "team" },
|
|
584
594
|
{ id: "inbox", label: "Inbox", labelSource: "inbox" },
|
|
@@ -588,7 +598,7 @@ const tn = [
|
|
|
588
598
|
{ id: "handledBy", label: "Afhandelaar", labelSource: "raw" },
|
|
589
599
|
{ id: "time", label: "Tijd", labelSource: "raw" }
|
|
590
600
|
];
|
|
591
|
-
function
|
|
601
|
+
function xn(e) {
|
|
592
602
|
const t = [];
|
|
593
603
|
for (const n of Object.keys(e))
|
|
594
604
|
for (const i of Object.keys(e[n]))
|
|
@@ -598,44 +608,44 @@ function nn(e) {
|
|
|
598
608
|
function M(e) {
|
|
599
609
|
return e < 10 ? `0${e}` : `${e}`;
|
|
600
610
|
}
|
|
601
|
-
function
|
|
611
|
+
function ve(e, t) {
|
|
602
612
|
const n = new Date(e), i = `${n.getUTCFullYear()}-${M(n.getUTCMonth() + 1)}-${M(n.getUTCDate())}`;
|
|
603
613
|
return t === "day" ? i : `${i}T${M(n.getUTCHours())}`;
|
|
604
614
|
}
|
|
605
|
-
function
|
|
615
|
+
function we(e, t) {
|
|
606
616
|
const n = new Date(e);
|
|
607
617
|
return n.setUTCMinutes(0, 0, 0), t === "day" && n.setUTCHours(0), n.getTime();
|
|
608
618
|
}
|
|
609
|
-
const
|
|
610
|
-
function
|
|
611
|
-
const i = n === "hour" ?
|
|
612
|
-
for (let
|
|
613
|
-
|
|
614
|
-
return
|
|
619
|
+
const ke = 36e5, Ne = 864e5;
|
|
620
|
+
function On(e, t, n) {
|
|
621
|
+
const i = n === "hour" ? ke : Ne, r = [];
|
|
622
|
+
for (let a = we(e, n); a <= t; a += i)
|
|
623
|
+
r.push(ve(a, n));
|
|
624
|
+
return r;
|
|
615
625
|
}
|
|
616
|
-
const
|
|
626
|
+
const xe = [
|
|
617
627
|
{ id: "resource", label: "Resource", labelSource: "raw" },
|
|
618
628
|
{ id: "origin", label: "Herkomst", labelSource: "raw" }
|
|
619
|
-
],
|
|
620
|
-
function
|
|
629
|
+
], Oe = xe.map((e) => e.id);
|
|
630
|
+
function Le(e, t) {
|
|
621
631
|
return `${e}.usage.${t}`;
|
|
622
632
|
}
|
|
623
|
-
function
|
|
633
|
+
function Ln(e, t) {
|
|
624
634
|
return t.map((n) => ({
|
|
625
|
-
id:
|
|
635
|
+
id: Le(e, n.unit),
|
|
626
636
|
label: n.label,
|
|
627
637
|
category: "Verbruik",
|
|
628
638
|
valueType: n.valueType ?? "count",
|
|
629
639
|
aggregation: "sum",
|
|
630
640
|
supportedDimensions: [
|
|
631
641
|
"provider",
|
|
632
|
-
...
|
|
642
|
+
...Oe,
|
|
633
643
|
...n.extraDimensions ?? [],
|
|
634
644
|
"time"
|
|
635
645
|
]
|
|
636
646
|
}));
|
|
637
647
|
}
|
|
638
|
-
const
|
|
648
|
+
const re = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), P = 200, U = 100, K = 200, j = 12, B = 4, ae = 4e3, C = 500, $n = 256 * 1024, $e = /* @__PURE__ */ new Set([
|
|
639
649
|
"heading",
|
|
640
650
|
"paragraph",
|
|
641
651
|
"list",
|
|
@@ -645,15 +655,15 @@ const ne = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]
|
|
|
645
655
|
"table",
|
|
646
656
|
"kpi",
|
|
647
657
|
"callout"
|
|
648
|
-
]),
|
|
649
|
-
function
|
|
658
|
+
]), De = ["http:", "https:", "mailto:", "tel:"], Re = /^[a-z][a-z0-9+.-]*:/i;
|
|
659
|
+
function oe(e) {
|
|
650
660
|
const t = e.trim().replace(/^<|>$/g, "");
|
|
651
661
|
if (!t) return !1;
|
|
652
|
-
const n =
|
|
653
|
-
return n ?
|
|
662
|
+
const n = Re.exec(t)?.[0];
|
|
663
|
+
return n ? De.includes(n.toLowerCase()) : !t.startsWith("//");
|
|
654
664
|
}
|
|
655
|
-
const
|
|
656
|
-
function
|
|
665
|
+
const Pe = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
|
|
666
|
+
function Ue(e) {
|
|
657
667
|
let t = "", n = 0;
|
|
658
668
|
for (; n < e.length; ) {
|
|
659
669
|
const i = e[n] === "!" && e[n + 1] === "[";
|
|
@@ -661,50 +671,50 @@ function we(e) {
|
|
|
661
671
|
t += e[n], n += 1;
|
|
662
672
|
continue;
|
|
663
673
|
}
|
|
664
|
-
const
|
|
665
|
-
if (
|
|
674
|
+
const r = n + (i ? 2 : 1), a = G(e, r, "[", "]");
|
|
675
|
+
if (a < 0 || e[a + 1] !== "(") {
|
|
666
676
|
t += e[n], n += 1;
|
|
667
677
|
continue;
|
|
668
678
|
}
|
|
669
|
-
const o =
|
|
679
|
+
const o = G(e, a + 2, "(", ")");
|
|
670
680
|
if (o < 0) {
|
|
671
681
|
t += e[n], n += 1;
|
|
672
682
|
continue;
|
|
673
683
|
}
|
|
674
|
-
const s = e.slice(
|
|
675
|
-
t += i || !
|
|
684
|
+
const s = e.slice(r, a), l = e.slice(a + 2, o).trim().split(/\s+/)[0] ?? "";
|
|
685
|
+
t += i || !oe(l) ? s : e.slice(n, o + 1), n = o + 1;
|
|
676
686
|
}
|
|
677
687
|
return t;
|
|
678
688
|
}
|
|
679
|
-
function
|
|
680
|
-
let
|
|
681
|
-
for (let
|
|
682
|
-
if (e[
|
|
683
|
-
|
|
689
|
+
function G(e, t, n, i) {
|
|
690
|
+
let r = 1;
|
|
691
|
+
for (let a = t; a < e.length; a += 1) {
|
|
692
|
+
if (e[a] === "\\") {
|
|
693
|
+
a += 1;
|
|
684
694
|
continue;
|
|
685
695
|
}
|
|
686
|
-
if (e[
|
|
687
|
-
else if (e[
|
|
688
|
-
return
|
|
696
|
+
if (e[a] === n) r += 1;
|
|
697
|
+
else if (e[a] === i && (r -= 1, r === 0))
|
|
698
|
+
return a;
|
|
689
699
|
}
|
|
690
700
|
return -1;
|
|
691
701
|
}
|
|
692
|
-
function
|
|
693
|
-
return
|
|
694
|
-
|
|
695
|
-
(t, n, i) =>
|
|
702
|
+
function Ke(e) {
|
|
703
|
+
return Ue(e).replace(
|
|
704
|
+
Pe,
|
|
705
|
+
(t, n, i) => oe(i) ? t : ""
|
|
696
706
|
);
|
|
697
707
|
}
|
|
698
|
-
function u(e, t =
|
|
699
|
-
return typeof e == "string" ?
|
|
708
|
+
function u(e, t = ae) {
|
|
709
|
+
return typeof e == "string" ? Ke(e).slice(0, t) : "";
|
|
700
710
|
}
|
|
701
|
-
function
|
|
711
|
+
function je(e, t = ae) {
|
|
702
712
|
return typeof e == "string" ? e.slice(0, t) : "";
|
|
703
713
|
}
|
|
704
|
-
function
|
|
705
|
-
return typeof e == "string" &&
|
|
714
|
+
function Be(e, t = "info") {
|
|
715
|
+
return typeof e == "string" && re.has(e) ? e : t;
|
|
706
716
|
}
|
|
707
|
-
function
|
|
717
|
+
function Dn(e, t = () => {
|
|
708
718
|
}) {
|
|
709
719
|
if (!Array.isArray(e)) return [];
|
|
710
720
|
const n = [];
|
|
@@ -714,141 +724,141 @@ function sn(e, t = () => {
|
|
|
714
724
|
break;
|
|
715
725
|
}
|
|
716
726
|
if (!i || typeof i != "object") continue;
|
|
717
|
-
const
|
|
718
|
-
if (
|
|
719
|
-
t("unknown block type " + String(
|
|
727
|
+
const r = i;
|
|
728
|
+
if (!$e.has(r.type)) {
|
|
729
|
+
t("unknown block type " + String(r.type));
|
|
720
730
|
continue;
|
|
721
731
|
}
|
|
722
|
-
const
|
|
723
|
-
switch (
|
|
732
|
+
const a = typeof r.block_id == "string" ? { block_id: r.block_id } : {};
|
|
733
|
+
switch (r.type) {
|
|
724
734
|
case "heading": {
|
|
725
|
-
const o = u(
|
|
735
|
+
const o = u(r.text);
|
|
726
736
|
if (!o) {
|
|
727
737
|
t("a heading without text");
|
|
728
738
|
continue;
|
|
729
739
|
}
|
|
730
|
-
const s =
|
|
731
|
-
n.push({ ...
|
|
740
|
+
const s = r.level === 2 || r.level === 3 ? r.level : 1;
|
|
741
|
+
n.push({ ...a, type: "heading", level: s, text: o });
|
|
732
742
|
break;
|
|
733
743
|
}
|
|
734
744
|
case "paragraph": {
|
|
735
|
-
const o = u(
|
|
745
|
+
const o = u(r.text);
|
|
736
746
|
if (!o) {
|
|
737
747
|
t("a paragraph without text");
|
|
738
748
|
continue;
|
|
739
749
|
}
|
|
740
|
-
n.push({ ...
|
|
750
|
+
n.push({ ...a, type: "paragraph", text: o });
|
|
741
751
|
break;
|
|
742
752
|
}
|
|
743
753
|
case "quote": {
|
|
744
|
-
const o = u(
|
|
754
|
+
const o = u(r.text);
|
|
745
755
|
if (!o) {
|
|
746
756
|
t("a quote without text");
|
|
747
757
|
continue;
|
|
748
758
|
}
|
|
749
|
-
n.push({ ...
|
|
759
|
+
n.push({ ...a, type: "quote", text: o });
|
|
750
760
|
break;
|
|
751
761
|
}
|
|
752
762
|
case "code": {
|
|
753
|
-
const o =
|
|
763
|
+
const o = je(r.text);
|
|
754
764
|
if (!o) {
|
|
755
765
|
t("a code block without text");
|
|
756
766
|
continue;
|
|
757
767
|
}
|
|
758
|
-
const s = typeof
|
|
759
|
-
n.push({ ...
|
|
768
|
+
const s = typeof r.lang == "string" ? { lang: r.lang.slice(0, 32) } : {};
|
|
769
|
+
n.push({ ...a, type: "code", ...s, text: o });
|
|
760
770
|
break;
|
|
761
771
|
}
|
|
762
772
|
case "divider":
|
|
763
|
-
n.push({ ...
|
|
773
|
+
n.push({ ...a, type: "divider" });
|
|
764
774
|
break;
|
|
765
775
|
case "list": {
|
|
766
|
-
const o = Array.isArray(
|
|
776
|
+
const o = Array.isArray(r.items) ? r.items : [], s = [];
|
|
767
777
|
for (const p of o) {
|
|
768
778
|
if (s.length >= U) {
|
|
769
779
|
t("more than " + U + " list items");
|
|
770
780
|
break;
|
|
771
781
|
}
|
|
772
|
-
const
|
|
773
|
-
if (!
|
|
782
|
+
const f = u(p?.text);
|
|
783
|
+
if (!f) continue;
|
|
774
784
|
const c = u(p?.lead, 200);
|
|
775
|
-
s.push(c ? { lead: c, text:
|
|
785
|
+
s.push(c ? { lead: c, text: f } : { text: f });
|
|
776
786
|
}
|
|
777
787
|
if (s.length === 0) {
|
|
778
788
|
t("a list without usable items");
|
|
779
789
|
continue;
|
|
780
790
|
}
|
|
781
|
-
const l =
|
|
782
|
-
n.push({ ...
|
|
791
|
+
const l = r.style === "numbered" ? "numbered" : "bulleted";
|
|
792
|
+
n.push({ ...a, type: "list", style: l, items: s });
|
|
783
793
|
break;
|
|
784
794
|
}
|
|
785
795
|
case "table": {
|
|
786
|
-
const o = Array.isArray(
|
|
796
|
+
const o = Array.isArray(r.columns) ? r.columns : [], s = [];
|
|
787
797
|
for (const c of o) {
|
|
788
|
-
if (s.length >=
|
|
789
|
-
t("more than " +
|
|
798
|
+
if (s.length >= j) {
|
|
799
|
+
t("more than " + j + " table columns");
|
|
790
800
|
break;
|
|
791
801
|
}
|
|
792
|
-
const
|
|
793
|
-
s.push(T ? { label:
|
|
802
|
+
const A = u(c?.label, C), T = c?.align === "right" ? "right" : void 0;
|
|
803
|
+
s.push(T ? { label: A, align: T } : { label: A });
|
|
794
804
|
}
|
|
795
805
|
if (s.length === 0) {
|
|
796
806
|
t("a table without columns");
|
|
797
807
|
continue;
|
|
798
808
|
}
|
|
799
|
-
const l = Array.isArray(
|
|
809
|
+
const l = Array.isArray(r.rows) ? r.rows : [], p = [];
|
|
800
810
|
for (const c of l) {
|
|
801
811
|
if (p.length >= K) {
|
|
802
812
|
t("more than " + K + " table rows");
|
|
803
813
|
break;
|
|
804
814
|
}
|
|
805
|
-
const
|
|
815
|
+
const A = Array.isArray(c) ? c : [];
|
|
806
816
|
p.push(
|
|
807
|
-
s.map((T,
|
|
817
|
+
s.map((T, be) => u(A[be], C))
|
|
808
818
|
);
|
|
809
819
|
}
|
|
810
|
-
const
|
|
820
|
+
const f = u(r.caption, C);
|
|
811
821
|
n.push({
|
|
812
|
-
...
|
|
822
|
+
...a,
|
|
813
823
|
type: "table",
|
|
814
824
|
columns: s,
|
|
815
825
|
rows: p,
|
|
816
|
-
...
|
|
826
|
+
...f ? { caption: f } : {}
|
|
817
827
|
});
|
|
818
828
|
break;
|
|
819
829
|
}
|
|
820
830
|
case "kpi": {
|
|
821
|
-
const o = Array.isArray(
|
|
831
|
+
const o = Array.isArray(r.items) ? r.items : [], s = [];
|
|
822
832
|
for (const l of o) {
|
|
823
|
-
if (s.length >=
|
|
824
|
-
t("more than " +
|
|
833
|
+
if (s.length >= B) {
|
|
834
|
+
t("more than " + B + " kpi items");
|
|
825
835
|
break;
|
|
826
836
|
}
|
|
827
|
-
const p = u(l?.value, 40),
|
|
828
|
-
if (!p || !
|
|
837
|
+
const p = u(l?.value, 40), f = u(l?.label, 80);
|
|
838
|
+
if (!p || !f) continue;
|
|
829
839
|
const c = l?.tone;
|
|
830
840
|
s.push(
|
|
831
|
-
typeof c == "string" &&
|
|
841
|
+
typeof c == "string" && re.has(c) ? { value: p, label: f, tone: c } : { value: p, label: f }
|
|
832
842
|
);
|
|
833
843
|
}
|
|
834
844
|
if (s.length === 0) {
|
|
835
845
|
t("a kpi block without usable items");
|
|
836
846
|
continue;
|
|
837
847
|
}
|
|
838
|
-
n.push({ ...
|
|
848
|
+
n.push({ ...a, type: "kpi", items: s });
|
|
839
849
|
break;
|
|
840
850
|
}
|
|
841
851
|
case "callout": {
|
|
842
|
-
const o = u(
|
|
852
|
+
const o = u(r.text);
|
|
843
853
|
if (!o) {
|
|
844
854
|
t("a callout without text");
|
|
845
855
|
continue;
|
|
846
856
|
}
|
|
847
|
-
const s = u(
|
|
857
|
+
const s = u(r.title, 200);
|
|
848
858
|
n.push({
|
|
849
|
-
...
|
|
859
|
+
...a,
|
|
850
860
|
type: "callout",
|
|
851
|
-
tone:
|
|
861
|
+
tone: Be(r.tone),
|
|
852
862
|
...s ? { title: s } : {},
|
|
853
863
|
text: o
|
|
854
864
|
});
|
|
@@ -858,28 +868,28 @@ function sn(e, t = () => {
|
|
|
858
868
|
}
|
|
859
869
|
return n;
|
|
860
870
|
}
|
|
861
|
-
function
|
|
871
|
+
function Rn(e) {
|
|
862
872
|
return JSON.stringify(e).length;
|
|
863
873
|
}
|
|
864
|
-
function
|
|
874
|
+
function Pn(e) {
|
|
865
875
|
return {
|
|
866
876
|
blocks: e.length,
|
|
867
877
|
types: e.map((t) => t.type),
|
|
868
878
|
headings: e.flatMap((t) => t.type === "heading" ? [t.text] : [])
|
|
869
879
|
};
|
|
870
880
|
}
|
|
871
|
-
function
|
|
881
|
+
function F(e) {
|
|
872
882
|
return e.replace(/\|/g, "\\|").replace(/\r?\n/g, " ").trim();
|
|
873
883
|
}
|
|
874
|
-
function
|
|
875
|
-
const i = e.map((
|
|
884
|
+
function H(e, t, n) {
|
|
885
|
+
const i = e.map((r, a) => n?.[a] === "right" ? "---:" : "---");
|
|
876
886
|
return [
|
|
877
|
-
`| ${e.map(
|
|
887
|
+
`| ${e.map(F).join(" | ")} |`,
|
|
878
888
|
`| ${i.join(" | ")} |`,
|
|
879
|
-
...t.map((
|
|
889
|
+
...t.map((r) => `| ${r.map(F).join(" | ")} |`)
|
|
880
890
|
];
|
|
881
891
|
}
|
|
882
|
-
function
|
|
892
|
+
function Ge(e) {
|
|
883
893
|
switch (e.type) {
|
|
884
894
|
case "heading":
|
|
885
895
|
return [`${"#".repeat(e.level)} ${e.text}`];
|
|
@@ -897,7 +907,7 @@ function Ke(e) {
|
|
|
897
907
|
return t.lead ? `${i} **${t.lead}** ${t.text}` : `${i} ${t.text}`;
|
|
898
908
|
});
|
|
899
909
|
case "table": {
|
|
900
|
-
const t =
|
|
910
|
+
const t = H(
|
|
901
911
|
e.columns.map((n) => n.label),
|
|
902
912
|
e.rows,
|
|
903
913
|
e.columns.map((n) => n.align ?? "left")
|
|
@@ -905,7 +915,7 @@ function Ke(e) {
|
|
|
905
915
|
return e.caption ? [...t, "", `*${e.caption}*`] : t;
|
|
906
916
|
}
|
|
907
917
|
case "kpi":
|
|
908
|
-
return
|
|
918
|
+
return H(
|
|
909
919
|
e.items.map((t) => t.value),
|
|
910
920
|
[e.items.map((t) => t.label)]
|
|
911
921
|
);
|
|
@@ -913,12 +923,12 @@ function Ke(e) {
|
|
|
913
923
|
return (e.title ? `**${e.title}** ${e.text}` : e.text).split(/\r?\n/).map((n) => `> ${n}`);
|
|
914
924
|
}
|
|
915
925
|
}
|
|
916
|
-
function
|
|
917
|
-
const n = [], i = e.some((
|
|
926
|
+
function Un(e, t) {
|
|
927
|
+
const n = [], i = e.some((r) => r.type === "heading" && r.level === 1);
|
|
918
928
|
t && !i && n.push(`# ${t}`);
|
|
919
|
-
for (const
|
|
920
|
-
const
|
|
921
|
-
|
|
929
|
+
for (const r of e) {
|
|
930
|
+
const a = Ge(r);
|
|
931
|
+
a.length > 0 && n.push(a.join(`
|
|
922
932
|
`));
|
|
923
933
|
}
|
|
924
934
|
return `${n.join(`
|
|
@@ -926,26 +936,82 @@ function un(e, t) {
|
|
|
926
936
|
`)}
|
|
927
937
|
`;
|
|
928
938
|
}
|
|
929
|
-
const
|
|
930
|
-
function
|
|
939
|
+
const se = (e) => `user:${e}`, le = (e) => `team:${e}`;
|
|
940
|
+
function Kn(e) {
|
|
931
941
|
const t = /* @__PURE__ */ new Set();
|
|
932
942
|
for (const n of e ?? [])
|
|
933
|
-
n?.id && (n.kind === "user" && t.add(
|
|
943
|
+
n?.id && (n.kind === "user" && t.add(se(n.id)), n.kind === "team" && t.add(le(n.id)));
|
|
934
944
|
return [...t].sort();
|
|
935
945
|
}
|
|
936
|
-
function
|
|
937
|
-
return [
|
|
946
|
+
function jn(e, t) {
|
|
947
|
+
return [se(e), ...t.map(le)];
|
|
938
948
|
}
|
|
939
|
-
function
|
|
949
|
+
function Bn(e) {
|
|
940
950
|
const t = /* @__PURE__ */ new Set();
|
|
941
951
|
for (const n of e ?? [])
|
|
942
952
|
n?.kind && t.add(n.kind);
|
|
943
953
|
return [...t];
|
|
944
954
|
}
|
|
945
|
-
|
|
955
|
+
const Fe = ["done", "escalated"];
|
|
956
|
+
function Gn(e) {
|
|
957
|
+
return Fe.includes(e);
|
|
958
|
+
}
|
|
959
|
+
const He = "assignment";
|
|
960
|
+
function Fn(e) {
|
|
961
|
+
return `${He}:${e}`;
|
|
962
|
+
}
|
|
963
|
+
function Hn(e) {
|
|
964
|
+
return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
|
|
965
|
+
}
|
|
966
|
+
const Ve = 12;
|
|
967
|
+
function Vn(e, t, n = Ve) {
|
|
968
|
+
const i = t + 1;
|
|
969
|
+
return e ? e.kind === "done" ? { status: "done", waitingOn: null, turns: i, reason: e.note } : e.kind === "escalate" ? { status: "escalated", waitingOn: null, turns: i, reason: e.reason } : i >= n ? {
|
|
970
|
+
status: "escalated",
|
|
971
|
+
waitingOn: null,
|
|
972
|
+
turns: i,
|
|
973
|
+
reason: `na ${n} beurten nog niet afgerond, dus een mens neemt het over`
|
|
974
|
+
} : { status: "waiting", waitingOn: e.on, turns: i } : {
|
|
975
|
+
status: "escalated",
|
|
976
|
+
waitingOn: null,
|
|
977
|
+
turns: i,
|
|
978
|
+
reason: "de agent rondde zijn beurt af zonder te zeggen wat er moet gebeuren (wachten, afronden of overdragen)"
|
|
979
|
+
};
|
|
980
|
+
}
|
|
981
|
+
const V = ["lookup", "condition", "parallel", "for-each"];
|
|
982
|
+
function W(e) {
|
|
983
|
+
for (const t of e) {
|
|
984
|
+
if (!V.includes(t.type))
|
|
985
|
+
return `staptype "${t.type}" mag niet meelezen (alleen ${V.join(", ")})`;
|
|
986
|
+
if (t.type === "parallel")
|
|
987
|
+
for (const n of t.branches ?? []) {
|
|
988
|
+
const i = W(n);
|
|
989
|
+
if (i) return i;
|
|
990
|
+
}
|
|
991
|
+
if (t.type === "for-each") {
|
|
992
|
+
const n = W(t.body ?? []);
|
|
993
|
+
if (n) return n;
|
|
994
|
+
}
|
|
995
|
+
}
|
|
996
|
+
return null;
|
|
997
|
+
}
|
|
998
|
+
function We(e, t) {
|
|
999
|
+
switch (e.kind) {
|
|
1000
|
+
case "org":
|
|
1001
|
+
return !0;
|
|
1002
|
+
case "team":
|
|
1003
|
+
return !!t.teamId && e.teamId === t.teamId;
|
|
1004
|
+
case "personal":
|
|
1005
|
+
return e.userId === t.userId;
|
|
1006
|
+
}
|
|
1007
|
+
}
|
|
1008
|
+
function Wn(e, t) {
|
|
1009
|
+
return e.filter((n) => n.enabled && We(n.ownerScope, t));
|
|
1010
|
+
}
|
|
1011
|
+
function Xn(e) {
|
|
946
1012
|
return (e.startsWith("tool:") ? e.slice(5) : e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
|
|
947
1013
|
}
|
|
948
|
-
const
|
|
1014
|
+
const zn = [
|
|
949
1015
|
{ name: "text", type: "string" },
|
|
950
1016
|
{ name: "subject", type: "string" },
|
|
951
1017
|
{ name: "from", type: "string" },
|
|
@@ -967,19 +1033,27 @@ const gn = [
|
|
|
967
1033
|
// Leeg zolang de identiteit niet is opgelost (een onbekend nummer, een eerste bericht van
|
|
968
1034
|
// een nieuw adres) — een stap die hierop leunt hoort dus een `condition` te hebben.
|
|
969
1035
|
{ name: "contactId", type: "string" },
|
|
970
|
-
{ name: "companyId", type: "string" }
|
|
971
|
-
|
|
1036
|
+
{ name: "companyId", type: "string" },
|
|
1037
|
+
// Aan wie dit werk is toegewezen, bij een activity die een toewijzing aankondigt. Waar dat
|
|
1038
|
+
// op de activity staat is per bron **gedeclareerd** (`AssignmentTargetKind.assigneePath`),
|
|
1039
|
+
// dus `buildTriggerVars` kan hem niet zelf vullen: de job doet dat met de catalogus in de
|
|
1040
|
+
// hand, vóór het trigger-filter draait — net als contactId/companyId hierboven.
|
|
1041
|
+
{ name: "assigneeUserId", type: "string" }
|
|
1042
|
+
], Yn = {
|
|
972
1043
|
topics: [
|
|
1044
|
+
{ name: "topicId", type: "string" },
|
|
973
1045
|
{ name: "topic", type: "string" },
|
|
974
|
-
{ name: "confidence", type: "number" }
|
|
1046
|
+
{ name: "confidence", type: "number" },
|
|
1047
|
+
{ name: "reasoning", type: "string" }
|
|
975
1048
|
],
|
|
976
1049
|
question: [
|
|
977
1050
|
{ name: "answer", type: "boolean" },
|
|
978
|
-
{ name: "
|
|
1051
|
+
{ name: "reasoning", type: "string" }
|
|
979
1052
|
],
|
|
1053
|
+
// Leeg met opzet: de velden komen uit `ClassifyStep.fields` en zijn dus per stap anders.
|
|
980
1054
|
extract: []
|
|
981
1055
|
};
|
|
982
|
-
function
|
|
1056
|
+
function Xe(e) {
|
|
983
1057
|
switch (e.kind) {
|
|
984
1058
|
case "user":
|
|
985
1059
|
return `user:${e.userId}`;
|
|
@@ -989,22 +1063,22 @@ function Be(e) {
|
|
|
989
1063
|
return "org";
|
|
990
1064
|
}
|
|
991
1065
|
}
|
|
992
|
-
function
|
|
1066
|
+
function qn(e) {
|
|
993
1067
|
if (typeof e != "string") return;
|
|
994
1068
|
const t = e.trim();
|
|
995
1069
|
if (t === "org") return { kind: "org" };
|
|
996
1070
|
const n = t.indexOf(":");
|
|
997
1071
|
if (n <= 0) return;
|
|
998
|
-
const i = t.slice(0, n),
|
|
999
|
-
if (
|
|
1000
|
-
if (i === "user") return { kind: "user", userId:
|
|
1001
|
-
if (i === "team") return { kind: "team", teamId:
|
|
1072
|
+
const i = t.slice(0, n), r = t.slice(n + 1).trim();
|
|
1073
|
+
if (r) {
|
|
1074
|
+
if (i === "user") return { kind: "user", userId: r };
|
|
1075
|
+
if (i === "team") return { kind: "team", teamId: r };
|
|
1002
1076
|
}
|
|
1003
1077
|
}
|
|
1004
|
-
function
|
|
1005
|
-
return
|
|
1078
|
+
function ze(e) {
|
|
1079
|
+
return Xe(e);
|
|
1006
1080
|
}
|
|
1007
|
-
function
|
|
1081
|
+
function Ye(e) {
|
|
1008
1082
|
switch (e.kind) {
|
|
1009
1083
|
case "personal":
|
|
1010
1084
|
return { kind: "user", userId: e.userId };
|
|
@@ -1014,28 +1088,84 @@ function bn(e) {
|
|
|
1014
1088
|
return { kind: "org" };
|
|
1015
1089
|
}
|
|
1016
1090
|
}
|
|
1017
|
-
function
|
|
1018
|
-
return
|
|
1091
|
+
function Jn(e) {
|
|
1092
|
+
return e.agentId ? { kind: "user", userId: e.agentId } : Ye(e.ownerScope);
|
|
1019
1093
|
}
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
return Fe.includes(e);
|
|
1094
|
+
function Qn(e) {
|
|
1095
|
+
return ze(e);
|
|
1023
1096
|
}
|
|
1024
|
-
function
|
|
1025
|
-
|
|
1097
|
+
function Zn(e, t) {
|
|
1098
|
+
if (!t) return;
|
|
1099
|
+
let n = e;
|
|
1100
|
+
for (const i of t.split(".")) {
|
|
1101
|
+
if (n === null || typeof n != "object") return;
|
|
1102
|
+
n = n[i];
|
|
1103
|
+
}
|
|
1104
|
+
return n;
|
|
1026
1105
|
}
|
|
1027
|
-
function
|
|
1028
|
-
return
|
|
1106
|
+
function ei(e, t) {
|
|
1107
|
+
return e.targets.find((n) => n.activityTypes.includes(t));
|
|
1108
|
+
}
|
|
1109
|
+
function ti(e, t) {
|
|
1110
|
+
if (t)
|
|
1111
|
+
return e.targets.find((n) => n.id === t);
|
|
1112
|
+
}
|
|
1113
|
+
function qe(e) {
|
|
1114
|
+
return e?.kind === "assignment";
|
|
1115
|
+
}
|
|
1116
|
+
function ni(e) {
|
|
1117
|
+
const { trigger: t, agentId: n, target: i, activityType: r, assigneeUserId: a, authorUserId: o } = e;
|
|
1118
|
+
return qe(t) ? n ? i ? i.activityTypes.includes(r) ? a ? a !== n ? "assigned to someone else" : o && o === n ? "the agent assigned this to itself, which would restart its own run" : null : `no assignee found at ${i.assigneePath}` : `activity type ${r} does not announce an assignment for ${i.id}` : `assignment target kind "${t.targetKind}" is not declared by any installed app` : "this playbook has no agent, so an assignment can never be for it" : "trigger is not an assignment trigger";
|
|
1119
|
+
}
|
|
1120
|
+
function Je(e) {
|
|
1121
|
+
return `${e.type}:${e.id}`;
|
|
1029
1122
|
}
|
|
1030
|
-
|
|
1123
|
+
const Qe = "interaction";
|
|
1124
|
+
function Ze(e) {
|
|
1125
|
+
return e?.type === Qe ? e.id : void 0;
|
|
1126
|
+
}
|
|
1127
|
+
const et = 64, tt = 8e3;
|
|
1128
|
+
function ii(e) {
|
|
1129
|
+
const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
|
|
1130
|
+
if (!(!Number.isFinite(t) || t <= 0))
|
|
1131
|
+
return Math.min(Math.max(Math.round(t), et), tt);
|
|
1132
|
+
}
|
|
1133
|
+
const ri = { kind: "workflow", steps: [] };
|
|
1134
|
+
function ai(e) {
|
|
1135
|
+
return e?.kind === "workflow" ? e.steps : [];
|
|
1136
|
+
}
|
|
1137
|
+
function oi(e) {
|
|
1138
|
+
return e?.kind === "procedure" ? e.procedure : void 0;
|
|
1139
|
+
}
|
|
1140
|
+
const nt = ["done", "escalated", "failed", "stopped"];
|
|
1141
|
+
function si(e) {
|
|
1142
|
+
return nt.includes(e);
|
|
1143
|
+
}
|
|
1144
|
+
function it(e) {
|
|
1145
|
+
return e === "waiting";
|
|
1146
|
+
}
|
|
1147
|
+
function li(e) {
|
|
1148
|
+
return e === "running" || it(e);
|
|
1149
|
+
}
|
|
1150
|
+
function ce(e) {
|
|
1151
|
+
return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
|
|
1152
|
+
}
|
|
1153
|
+
function ci(e) {
|
|
1154
|
+
const t = ce(e);
|
|
1155
|
+
return t ? Je(t) : void 0;
|
|
1156
|
+
}
|
|
1157
|
+
function ui(e) {
|
|
1158
|
+
return Ze(ce(e));
|
|
1159
|
+
}
|
|
1160
|
+
function di(e, t) {
|
|
1031
1161
|
const n = e.labels ?? [];
|
|
1032
1162
|
return n.find((i) => i.locale === t)?.label ?? n[0]?.label ?? e.url;
|
|
1033
1163
|
}
|
|
1034
|
-
function
|
|
1164
|
+
function pi(e, t, n) {
|
|
1035
1165
|
const i = e.translations ?? [];
|
|
1036
|
-
return i.find((
|
|
1166
|
+
return i.find((r) => r.locale === t) ?? (n ? i.find((r) => r.locale === n) : void 0) ?? { locale: t };
|
|
1037
1167
|
}
|
|
1038
|
-
const
|
|
1168
|
+
const X = [
|
|
1039
1169
|
{ code: "nl", label: "Nederlands", english: "Dutch" },
|
|
1040
1170
|
{ code: "en", label: "English", english: "English" },
|
|
1041
1171
|
{ code: "de", label: "Deutsch", english: "German" },
|
|
@@ -1050,105 +1180,105 @@ const j = [
|
|
|
1050
1180
|
{ code: "fi", label: "Suomi", english: "Finnish" },
|
|
1051
1181
|
{ code: "tr", label: "Türkçe", english: "Turkish" }
|
|
1052
1182
|
];
|
|
1053
|
-
function
|
|
1183
|
+
function ue(e) {
|
|
1054
1184
|
const t = (e ?? "").toLowerCase();
|
|
1055
|
-
return
|
|
1185
|
+
return X.find((n) => n.code === t) ?? X.find((n) => n.code === t.split("-")[0]);
|
|
1056
1186
|
}
|
|
1057
|
-
function
|
|
1058
|
-
return
|
|
1187
|
+
function fi(e) {
|
|
1188
|
+
return ue(e)?.label ?? e;
|
|
1059
1189
|
}
|
|
1060
|
-
function
|
|
1061
|
-
const t =
|
|
1190
|
+
function mi(e) {
|
|
1191
|
+
const t = ue(e);
|
|
1062
1192
|
return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
|
|
1063
1193
|
}
|
|
1064
|
-
const
|
|
1065
|
-
function
|
|
1194
|
+
const de = 3;
|
|
1195
|
+
function rt(e, t) {
|
|
1066
1196
|
const n = /* @__PURE__ */ new Set();
|
|
1067
|
-
let i = 1,
|
|
1068
|
-
for (;
|
|
1069
|
-
if (n.has(
|
|
1070
|
-
|
|
1197
|
+
let i = 1, r = t.get(e)?.parentId;
|
|
1198
|
+
for (; r; ) {
|
|
1199
|
+
if (n.has(r) || (n.add(r), i++, i > de + 1)) return 1 / 0;
|
|
1200
|
+
r = t.get(r)?.parentId;
|
|
1071
1201
|
}
|
|
1072
1202
|
return i;
|
|
1073
1203
|
}
|
|
1074
|
-
function
|
|
1204
|
+
function gi(e, t, n) {
|
|
1075
1205
|
if (!e) return !0;
|
|
1076
1206
|
if (e === t) return !1;
|
|
1077
1207
|
const i = new Map(n.map((o) => [o.id, o]));
|
|
1078
|
-
if (!i.has(e) || t &&
|
|
1079
|
-
const
|
|
1080
|
-
return
|
|
1208
|
+
if (!i.has(e) || t && at(e, t, i)) return !1;
|
|
1209
|
+
const r = rt(e, i), a = t ? pe(t, n) : 1;
|
|
1210
|
+
return r + a <= de;
|
|
1081
1211
|
}
|
|
1082
|
-
function
|
|
1212
|
+
function at(e, t, n) {
|
|
1083
1213
|
const i = /* @__PURE__ */ new Set();
|
|
1084
|
-
let
|
|
1085
|
-
for (;
|
|
1086
|
-
if (
|
|
1087
|
-
if (i.has(
|
|
1088
|
-
i.add(
|
|
1214
|
+
let r = n.get(e)?.parentId;
|
|
1215
|
+
for (; r; ) {
|
|
1216
|
+
if (r === t) return !0;
|
|
1217
|
+
if (i.has(r)) return !1;
|
|
1218
|
+
i.add(r), r = n.get(r)?.parentId;
|
|
1089
1219
|
}
|
|
1090
1220
|
return !1;
|
|
1091
1221
|
}
|
|
1092
|
-
function
|
|
1222
|
+
function pe(e, t, n = /* @__PURE__ */ new Set()) {
|
|
1093
1223
|
if (n.has(e)) return 1;
|
|
1094
1224
|
n.add(e);
|
|
1095
|
-
const i = t.filter((
|
|
1096
|
-
return i.length ? 1 + Math.max(...i.map((
|
|
1225
|
+
const i = t.filter((r) => r.parentId === e);
|
|
1226
|
+
return i.length ? 1 + Math.max(...i.map((r) => pe(r.id, t, n))) : 1;
|
|
1097
1227
|
}
|
|
1098
|
-
const
|
|
1099
|
-
function
|
|
1100
|
-
return e.defaultLocale || e.locale ||
|
|
1228
|
+
const ot = "en";
|
|
1229
|
+
function st(e) {
|
|
1230
|
+
return e.defaultLocale || e.locale || ot;
|
|
1101
1231
|
}
|
|
1102
|
-
function
|
|
1232
|
+
function hi(e) {
|
|
1103
1233
|
const t = /* @__PURE__ */ new Set(), n = [];
|
|
1104
|
-
for (const i of [
|
|
1234
|
+
for (const i of [st(e), ...e.locales ?? []])
|
|
1105
1235
|
!i || t.has(i) || (t.add(i), n.push(i));
|
|
1106
1236
|
return n;
|
|
1107
1237
|
}
|
|
1108
|
-
function
|
|
1238
|
+
function Ai(e, t, n) {
|
|
1109
1239
|
const i = e.translations ?? [];
|
|
1110
|
-
return i.find((
|
|
1240
|
+
return i.find((r) => r.locale === t)?.name ?? (n ? i.find((r) => r.locale === n)?.name : void 0) ?? e.name;
|
|
1111
1241
|
}
|
|
1112
|
-
const
|
|
1242
|
+
const lt = 20, ct = 20, v = 300;
|
|
1113
1243
|
function g(e) {
|
|
1114
1244
|
return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
|
|
1115
1245
|
}
|
|
1116
|
-
function
|
|
1246
|
+
function ut(e) {
|
|
1117
1247
|
const t = e.replace(/\s+/g, " ").trim();
|
|
1118
|
-
if (t.length <=
|
|
1119
|
-
const n = t.slice(0,
|
|
1120
|
-
return i >
|
|
1248
|
+
if (t.length <= v) return t;
|
|
1249
|
+
const n = t.slice(0, v), i = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
|
|
1250
|
+
return i > v * 0.6 ? n.slice(0, i + 1) : `${n.trimEnd()}…`;
|
|
1121
1251
|
}
|
|
1122
|
-
function
|
|
1123
|
-
const n =
|
|
1252
|
+
function yi(e, t) {
|
|
1253
|
+
const n = ut(t.text), i = g(n);
|
|
1124
1254
|
if (!i || (e.examples ?? []).some((o) => g(o) === i)) return null;
|
|
1125
|
-
const
|
|
1126
|
-
if (
|
|
1127
|
-
if (a
|
|
1128
|
-
const o = [...
|
|
1129
|
-
return o[
|
|
1255
|
+
const r = e.exampleCandidates ?? [], a = r.findIndex((o) => g(o.text) === i);
|
|
1256
|
+
if (a >= 0) {
|
|
1257
|
+
if (r[a].corrected || !t.corrected) return null;
|
|
1258
|
+
const o = [...r];
|
|
1259
|
+
return o[a] = { ...o[a], corrected: !0, addedAt: t.addedAt }, z(o);
|
|
1130
1260
|
}
|
|
1131
|
-
return
|
|
1261
|
+
return z([{ ...t, text: n }, ...r]).slice(0, ct);
|
|
1132
1262
|
}
|
|
1133
|
-
function
|
|
1263
|
+
function z(e) {
|
|
1134
1264
|
return [...e].sort((t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt);
|
|
1135
1265
|
}
|
|
1136
|
-
function
|
|
1137
|
-
const n = g(t), i = (e.examples ?? []).filter((
|
|
1138
|
-
return { examples: i.some((
|
|
1266
|
+
function bi(e, t) {
|
|
1267
|
+
const n = g(t), i = (e.examples ?? []).filter((a) => a.trim());
|
|
1268
|
+
return { examples: i.some((a) => g(a) === n) ? i : [...i, t].slice(-lt), exampleCandidates: dt(e, t) };
|
|
1139
1269
|
}
|
|
1140
|
-
function
|
|
1270
|
+
function dt(e, t) {
|
|
1141
1271
|
const n = g(t);
|
|
1142
1272
|
return (e.exampleCandidates ?? []).filter((i) => g(i.text) !== n);
|
|
1143
1273
|
}
|
|
1144
|
-
function
|
|
1274
|
+
function pt(e, t) {
|
|
1145
1275
|
const n = e.ownerScope;
|
|
1146
1276
|
return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
|
|
1147
1277
|
}
|
|
1148
|
-
function
|
|
1149
|
-
return e.filter((n) =>
|
|
1278
|
+
function Ei(e, t) {
|
|
1279
|
+
return e.filter((n) => pt(n, t));
|
|
1150
1280
|
}
|
|
1151
|
-
const
|
|
1281
|
+
const fe = [
|
|
1152
1282
|
{
|
|
1153
1283
|
id: "openai",
|
|
1154
1284
|
attachmentKinds: ["image", "pdf"],
|
|
@@ -1239,72 +1369,78 @@ const ue = [
|
|
|
1239
1369
|
defaultModel: "default"
|
|
1240
1370
|
}
|
|
1241
1371
|
];
|
|
1242
|
-
function
|
|
1243
|
-
return
|
|
1372
|
+
function S(e) {
|
|
1373
|
+
return fe.find((t) => t.id === e);
|
|
1244
1374
|
}
|
|
1245
|
-
function
|
|
1246
|
-
return
|
|
1375
|
+
function Si(e) {
|
|
1376
|
+
return S(e)?.label ?? e;
|
|
1247
1377
|
}
|
|
1248
|
-
function
|
|
1249
|
-
return
|
|
1378
|
+
function Ti(e, t = "gpt-5-mini") {
|
|
1379
|
+
return S(e)?.defaultModel ?? t;
|
|
1250
1380
|
}
|
|
1251
|
-
function
|
|
1252
|
-
return
|
|
1381
|
+
function _i(e) {
|
|
1382
|
+
return fe.filter((t) => t.capabilities.includes(e));
|
|
1253
1383
|
}
|
|
1254
|
-
function
|
|
1255
|
-
const t =
|
|
1384
|
+
function Ii(e) {
|
|
1385
|
+
const t = S(e);
|
|
1256
1386
|
return !!t && !t.baseUrl;
|
|
1257
1387
|
}
|
|
1258
|
-
function
|
|
1259
|
-
return t === "text" ? !0 :
|
|
1388
|
+
function Mi(e, t) {
|
|
1389
|
+
return t === "text" ? !0 : S(e)?.attachmentKinds?.includes(t) === !0;
|
|
1260
1390
|
}
|
|
1261
|
-
function
|
|
1391
|
+
function Ci(e, t) {
|
|
1262
1392
|
if (!e.enabled) return "ok";
|
|
1263
|
-
const n =
|
|
1393
|
+
const n = Y(e.hardLimitNanos), i = Y(e.softLimitNanos);
|
|
1264
1394
|
return n !== void 0 && t >= n ? "hard" : i !== void 0 && t >= i ? "soft" : "ok";
|
|
1265
1395
|
}
|
|
1266
|
-
function
|
|
1396
|
+
function Y(e) {
|
|
1267
1397
|
return typeof e == "number" ? e : void 0;
|
|
1268
1398
|
}
|
|
1269
|
-
function
|
|
1399
|
+
function ft(e, t = "month") {
|
|
1270
1400
|
const n = new Date(e);
|
|
1271
1401
|
return Date.UTC(n.getUTCFullYear(), n.getUTCMonth(), 1);
|
|
1272
1402
|
}
|
|
1273
|
-
function
|
|
1274
|
-
const n = new Date(
|
|
1403
|
+
function vi(e, t = "month") {
|
|
1404
|
+
const n = new Date(ft(e, t));
|
|
1275
1405
|
return `${n.getUTCFullYear()}-${String(n.getUTCMonth() + 1).padStart(2, "0")}`;
|
|
1276
1406
|
}
|
|
1277
|
-
|
|
1278
|
-
|
|
1407
|
+
function wi(e) {
|
|
1408
|
+
return e?.listeningEnabled !== !1;
|
|
1409
|
+
}
|
|
1410
|
+
const ki = /* @__PURE__ */ new Set(["mail", "message"]);
|
|
1411
|
+
function mt(e, t) {
|
|
1279
1412
|
const n = e.settings?.signatures?.[t];
|
|
1280
1413
|
return !n || !n.enabled || !n.body || n.body.trim() === "" ? null : n;
|
|
1281
1414
|
}
|
|
1282
|
-
function
|
|
1415
|
+
function Ni(e, t, n, i = "html") {
|
|
1283
1416
|
if (!e) return n;
|
|
1284
|
-
const
|
|
1285
|
-
return
|
|
1417
|
+
const r = mt(e, t);
|
|
1418
|
+
return r ? `${n}${i === "text" ? `
|
|
1286
1419
|
|
|
1287
|
-
` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${
|
|
1420
|
+
` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${r.body}` : n;
|
|
1288
1421
|
}
|
|
1289
|
-
function
|
|
1422
|
+
function xi(e) {
|
|
1290
1423
|
return e.endpoints ?? [];
|
|
1291
1424
|
}
|
|
1292
|
-
const
|
|
1425
|
+
const Oi = (e) => !!e.assignedUserId || !!e.assignedInboxId, Li = (e) => e.status === "closed", $i = (e) => ({
|
|
1293
1426
|
urgent: 10,
|
|
1294
1427
|
high: 5,
|
|
1295
1428
|
normal: 2,
|
|
1296
1429
|
low: 1
|
|
1297
|
-
})[e.priority] || 0,
|
|
1298
|
-
function
|
|
1430
|
+
})[e.priority] || 0, Di = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
|
|
1431
|
+
function Ri(e, t) {
|
|
1299
1432
|
return e.lastActivityAt ? !(e.seenBy ?? []).includes(t) : !1;
|
|
1300
1433
|
}
|
|
1301
|
-
const
|
|
1302
|
-
function
|
|
1434
|
+
const Pi = 1e3, Ui = 2e3, Ki = 500, ji = 12e3, Bi = 4e3, gt = ["contact", "company"];
|
|
1435
|
+
function Gi(e) {
|
|
1303
1436
|
if (!e) return !1;
|
|
1304
1437
|
const t = e.slice(0, e.indexOf(":"));
|
|
1305
|
-
return
|
|
1438
|
+
return gt.includes(t);
|
|
1306
1439
|
}
|
|
1307
|
-
|
|
1440
|
+
function Fi(e) {
|
|
1441
|
+
return e.type === "agent";
|
|
1442
|
+
}
|
|
1443
|
+
const N = {
|
|
1308
1444
|
// The lower bounds are deliberately generous: service ranges (0800/0900) are
|
|
1309
1445
|
// shorter than geographic numbers, and a too-strict minimum silently drops them.
|
|
1310
1446
|
// An over-permissive key is harmless — it simply matches nothing.
|
|
@@ -1327,81 +1463,81 @@ const k = {
|
|
|
1327
1463
|
PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
|
|
1328
1464
|
US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
|
|
1329
1465
|
CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
|
|
1330
|
-
},
|
|
1331
|
-
new Set(Object.values(
|
|
1466
|
+
}, ht = "NL", At = 15, yt = 8, bt = Array.from(
|
|
1467
|
+
new Set(Object.values(N).map((e) => e.callingCode))
|
|
1332
1468
|
).sort((e, t) => t.length - e.length);
|
|
1333
|
-
function
|
|
1469
|
+
function q(e) {
|
|
1334
1470
|
if (e)
|
|
1335
|
-
return
|
|
1471
|
+
return N[e.trim().toUpperCase()];
|
|
1336
1472
|
}
|
|
1337
|
-
function
|
|
1473
|
+
function E(e, t) {
|
|
1338
1474
|
return e.length >= t.nsnMin && e.length <= t.nsnMax;
|
|
1339
1475
|
}
|
|
1340
|
-
function
|
|
1341
|
-
if (e.length >
|
|
1342
|
-
for (const t of
|
|
1476
|
+
function J(e) {
|
|
1477
|
+
if (e.length > At) return null;
|
|
1478
|
+
for (const t of bt) {
|
|
1343
1479
|
if (!e.startsWith(t)) continue;
|
|
1344
1480
|
const n = e.slice(t.length);
|
|
1345
|
-
for (const i of Object.values(
|
|
1481
|
+
for (const i of Object.values(N)) {
|
|
1346
1482
|
if (i.callingCode !== t) continue;
|
|
1347
|
-
const
|
|
1348
|
-
if (
|
|
1483
|
+
const r = i.trunkPrefix, a = r && n.startsWith(r) ? n.slice(r.length) : n;
|
|
1484
|
+
if (E(a, i)) return `+${t}${a}`;
|
|
1349
1485
|
}
|
|
1350
1486
|
return null;
|
|
1351
1487
|
}
|
|
1352
|
-
return e.length <
|
|
1488
|
+
return e.length < yt ? null : `+${e}`;
|
|
1353
1489
|
}
|
|
1354
|
-
function
|
|
1490
|
+
function Et(e) {
|
|
1355
1491
|
let t = e.trim();
|
|
1356
1492
|
const n = t.match(/^(sips?|tel|whatsapp):/i);
|
|
1357
1493
|
n && (t = t.slice(n[0].length));
|
|
1358
1494
|
const i = t.indexOf("@");
|
|
1359
1495
|
return i >= 0 && (t = t.slice(0, i)), t.trim();
|
|
1360
1496
|
}
|
|
1361
|
-
function
|
|
1497
|
+
function Hi(e) {
|
|
1362
1498
|
if (!e) return !1;
|
|
1363
1499
|
const t = e.indexOf("@");
|
|
1364
1500
|
if (t <= 0) return !1;
|
|
1365
1501
|
const n = e.slice(0, t).trim();
|
|
1366
1502
|
return !/^[+\d\s().-]+$/.test(n);
|
|
1367
1503
|
}
|
|
1368
|
-
function
|
|
1504
|
+
function Q(e, t) {
|
|
1369
1505
|
if (!e) return null;
|
|
1370
|
-
const n =
|
|
1506
|
+
const n = Et(e);
|
|
1371
1507
|
if (!n) return null;
|
|
1372
|
-
const i = n.startsWith("+"),
|
|
1373
|
-
if (!a) return null;
|
|
1374
|
-
if (i) return z(a);
|
|
1375
|
-
if (a.startsWith("00")) return z(a.slice(2));
|
|
1376
|
-
const r = Y(t) ?? Y(it);
|
|
1508
|
+
const i = n.startsWith("+"), r = n.replace(/\D/g, "");
|
|
1377
1509
|
if (!r) return null;
|
|
1378
|
-
|
|
1379
|
-
if (
|
|
1380
|
-
|
|
1381
|
-
|
|
1510
|
+
if (i) return J(r);
|
|
1511
|
+
if (r.startsWith("00")) return J(r.slice(2));
|
|
1512
|
+
const a = q(t) ?? q(ht);
|
|
1513
|
+
if (!a) return null;
|
|
1514
|
+
const o = a.trunkPrefix;
|
|
1515
|
+
if (o && r.startsWith(o)) {
|
|
1516
|
+
const s = r.slice(o.length);
|
|
1517
|
+
return E(s, a) ? `+${a.callingCode}${s}` : null;
|
|
1382
1518
|
}
|
|
1383
|
-
if (
|
|
1384
|
-
const s =
|
|
1385
|
-
if (
|
|
1519
|
+
if (r.startsWith(a.callingCode)) {
|
|
1520
|
+
const s = r.slice(a.callingCode.length);
|
|
1521
|
+
if (E(s, a)) return `+${a.callingCode}${s}`;
|
|
1386
1522
|
}
|
|
1387
|
-
return !o &&
|
|
1523
|
+
return !o && E(r, a) ? `+${a.callingCode}${r}` : null;
|
|
1388
1524
|
}
|
|
1389
|
-
function
|
|
1525
|
+
function Vi(e, t = 9) {
|
|
1390
1526
|
const n = (e ?? "").replace(/\D/g, "");
|
|
1391
1527
|
return n.length < t ? null : n.slice(-t);
|
|
1392
1528
|
}
|
|
1393
|
-
function
|
|
1529
|
+
function me(e) {
|
|
1394
1530
|
if (!e) return null;
|
|
1395
1531
|
const t = e.trim().toLowerCase(), n = t.lastIndexOf("@");
|
|
1396
1532
|
if (n <= 0 || n === t.length - 1) return null;
|
|
1397
|
-
const i = t.slice(0, n).split("+")[0],
|
|
1398
|
-
return !i || !
|
|
1533
|
+
const i = t.slice(0, n).split("+")[0], r = t.slice(n + 1);
|
|
1534
|
+
return !i || !r.includes(".") ? null : `${i}@${r}`;
|
|
1399
1535
|
}
|
|
1400
|
-
function
|
|
1401
|
-
const t =
|
|
1536
|
+
function Wi(e) {
|
|
1537
|
+
const t = me(e);
|
|
1402
1538
|
return t ? t.slice(t.lastIndexOf("@") + 1) : null;
|
|
1403
1539
|
}
|
|
1404
|
-
const
|
|
1540
|
+
const St = /* @__PURE__ */ new Set([
|
|
1405
1541
|
"co.uk",
|
|
1406
1542
|
"org.uk",
|
|
1407
1543
|
"gov.uk",
|
|
@@ -1411,14 +1547,14 @@ const lt = /* @__PURE__ */ new Set([
|
|
|
1411
1547
|
"com.br",
|
|
1412
1548
|
"co.za"
|
|
1413
1549
|
]);
|
|
1414
|
-
function
|
|
1550
|
+
function Tt(e) {
|
|
1415
1551
|
if (!e) return null;
|
|
1416
1552
|
const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
|
|
1417
1553
|
if (t.length < 2) return null;
|
|
1418
1554
|
const n = t.slice(-2).join(".");
|
|
1419
|
-
return
|
|
1555
|
+
return St.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
|
|
1420
1556
|
}
|
|
1421
|
-
const
|
|
1557
|
+
const _t = /* @__PURE__ */ new Set([
|
|
1422
1558
|
"gmail.com",
|
|
1423
1559
|
"googlemail.com",
|
|
1424
1560
|
"outlook.com",
|
|
@@ -1463,44 +1599,44 @@ const ut = /* @__PURE__ */ new Set([
|
|
|
1463
1599
|
"proximus.be",
|
|
1464
1600
|
"scarlet.be"
|
|
1465
1601
|
]);
|
|
1466
|
-
function
|
|
1467
|
-
const t =
|
|
1468
|
-
return t ?
|
|
1602
|
+
function Xi(e) {
|
|
1603
|
+
const t = Tt(e);
|
|
1604
|
+
return t ? _t.has(t) : !1;
|
|
1469
1605
|
}
|
|
1470
|
-
function
|
|
1606
|
+
function zi(e) {
|
|
1471
1607
|
if (!e) return !1;
|
|
1472
1608
|
const t = e.trim().toLowerCase();
|
|
1473
1609
|
return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
|
|
1474
1610
|
}
|
|
1475
|
-
function
|
|
1611
|
+
function Yi(e, t, n) {
|
|
1476
1612
|
if (!e || !t) return null;
|
|
1477
1613
|
const i = e.trim().toLowerCase();
|
|
1478
1614
|
if (i === "tel" || i === "sms" || i === "whatsapp") {
|
|
1479
|
-
const
|
|
1480
|
-
return
|
|
1615
|
+
const a = Q(t, n);
|
|
1616
|
+
return a ? `tel:${a}` : null;
|
|
1481
1617
|
}
|
|
1482
1618
|
if (i === "fax") {
|
|
1483
|
-
const
|
|
1484
|
-
return
|
|
1619
|
+
const a = Q(t, n);
|
|
1620
|
+
return a ? `fax:${a}` : null;
|
|
1485
1621
|
}
|
|
1486
1622
|
if (i === "mailto" || i === "email") {
|
|
1487
|
-
const
|
|
1488
|
-
return
|
|
1623
|
+
const a = me(t);
|
|
1624
|
+
return a ? `mailto:${a}` : null;
|
|
1489
1625
|
}
|
|
1490
|
-
const
|
|
1491
|
-
return
|
|
1626
|
+
const r = t.trim().toLowerCase();
|
|
1627
|
+
return r ? `${i}:${r}` : null;
|
|
1492
1628
|
}
|
|
1493
|
-
const
|
|
1494
|
-
function
|
|
1629
|
+
const It = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, Mt = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
|
|
1630
|
+
function qi(e) {
|
|
1495
1631
|
if (typeof e != "string" || !e) return "";
|
|
1496
1632
|
let t = e;
|
|
1497
1633
|
return t = t.replace(/```[a-z]*\n?/gi, "").replace(/~~~[a-z]*\n?/gi, ""), t = t.replace(/!\[([^\]]*)\]\([^)]*\)/g, "$1"), t = t.replace(/\[([^\]]*)\]\([^)]*\)/g, "$1"), t = t.replace(/\[([^\]]*)\]\[[^\]]*\]/g, "$1"), t = t.replace(/<((?:https?|mailto):[^>\s]+)>/gi, "$1"), t = t.split(`
|
|
1498
1634
|
`).map(
|
|
1499
1635
|
(n) => n.replace(/^\s{0,3}#{1,6}\s+/, "").replace(/^\s{0,3}>\s?/, "").replace(/^\s*[-*+]\s+/, "").replace(/^\s*\d+[.)]\s+/, "").replace(/^\s*(?:[-*_]\s*){3,}$/, "")
|
|
1500
1636
|
).join(`
|
|
1501
|
-
`), t = t.replace(
|
|
1637
|
+
`), t = t.replace(It, "$2"), t = t.replace(Mt, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
|
|
1502
1638
|
}
|
|
1503
|
-
const
|
|
1639
|
+
const Ct = [
|
|
1504
1640
|
/<blockquote/i,
|
|
1505
1641
|
/class="?gmail_quote/i,
|
|
1506
1642
|
// Gmail quote container
|
|
@@ -1513,17 +1649,17 @@ const ft = [
|
|
|
1513
1649
|
// Outlook underscore separator before "From:"
|
|
1514
1650
|
/\bOn\b[\s\S]{0,200}?\bwrote:/i
|
|
1515
1651
|
// Gmail "On <date> <name> wrote:"
|
|
1516
|
-
],
|
|
1517
|
-
function
|
|
1652
|
+
], Z = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, vt = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
|
|
1653
|
+
function wt(e) {
|
|
1518
1654
|
const t = e.split(`
|
|
1519
1655
|
`);
|
|
1520
1656
|
for (let n = 0; n < t.length; n++)
|
|
1521
|
-
if (
|
|
1657
|
+
if (vt.test(t[n]) || Z.test(t[n]) && t.slice(n + 1, n + 4).some((i) => Z.test(i)))
|
|
1522
1658
|
return t.slice(0, n).join(`
|
|
1523
1659
|
`).trim();
|
|
1524
1660
|
return e;
|
|
1525
1661
|
}
|
|
1526
|
-
function
|
|
1662
|
+
function ee(e) {
|
|
1527
1663
|
let t = e;
|
|
1528
1664
|
return t = t.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), t = t.replace(/<br\s*\/?>/gi, `
|
|
1529
1665
|
`), t = t.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
|
|
@@ -1531,38 +1667,38 @@ function Q(e) {
|
|
|
1531
1667
|
`), t = t.replace(/<\/(div|li|tr)>/gi, `
|
|
1532
1668
|
`), t = t.replace(/<\/(td|th)>/gi, " "), t = t.replace(/<[^>]+>/g, ""), t = t.replace(/<[^>]*$/, ""), t;
|
|
1533
1669
|
}
|
|
1534
|
-
function
|
|
1670
|
+
function te(e) {
|
|
1535
1671
|
return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
|
|
1536
1672
|
}
|
|
1537
|
-
function
|
|
1538
|
-
return e.replace(/ /gi, " ").replace(/</gi, "<").replace(/>/gi, ">").replace(/"/gi, '"').replace(/&#(\d+);/g, (t, n) =>
|
|
1673
|
+
function ne(e) {
|
|
1674
|
+
return e.replace(/ /gi, " ").replace(/</gi, "<").replace(/>/gi, ">").replace(/"/gi, '"').replace(/&#(\d+);/g, (t, n) => te(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => te(parseInt(n, 16)) ?? t).replace(/&/gi, "&");
|
|
1539
1675
|
}
|
|
1540
|
-
function
|
|
1676
|
+
function ie(e) {
|
|
1541
1677
|
return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
|
|
1542
1678
|
`).replace(/\n{3,}/g, `
|
|
1543
1679
|
|
|
1544
1680
|
`).trim();
|
|
1545
1681
|
}
|
|
1546
|
-
function
|
|
1682
|
+
function Ji(e) {
|
|
1547
1683
|
if (typeof e != "string" || !e) return "";
|
|
1548
1684
|
let t = e.length;
|
|
1549
|
-
for (const
|
|
1550
|
-
const o = e.search(
|
|
1685
|
+
for (const a of Ct) {
|
|
1686
|
+
const o = e.search(a);
|
|
1551
1687
|
o >= 0 && o < t && (t = o);
|
|
1552
1688
|
}
|
|
1553
1689
|
const n = e.slice(0, t);
|
|
1554
|
-
let i =
|
|
1555
|
-
return i || (i =
|
|
1690
|
+
let i = ie(ne(ee(n)));
|
|
1691
|
+
return i || (i = ie(ne(ee(e)))), wt(i) || i;
|
|
1556
1692
|
}
|
|
1557
|
-
const
|
|
1558
|
-
function
|
|
1559
|
-
return !!(e &&
|
|
1693
|
+
const kt = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, Nt = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
|
|
1694
|
+
function Qi(e, t) {
|
|
1695
|
+
return !!(e && kt.test(e) || t && Nt.test(t));
|
|
1560
1696
|
}
|
|
1561
|
-
const
|
|
1562
|
-
function
|
|
1563
|
-
return e >=
|
|
1697
|
+
const xt = 3, Ot = 600;
|
|
1698
|
+
function Zi(e, t) {
|
|
1699
|
+
return e >= xt || t >= Ot;
|
|
1564
1700
|
}
|
|
1565
|
-
const
|
|
1701
|
+
const Lt = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), $t = /* @__PURE__ */ new Set([
|
|
1566
1702
|
"text/plain",
|
|
1567
1703
|
"text/markdown",
|
|
1568
1704
|
"text/csv",
|
|
@@ -1571,77 +1707,88 @@ const At = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
|
|
|
1571
1707
|
"application/xml",
|
|
1572
1708
|
"text/xml"
|
|
1573
1709
|
]);
|
|
1574
|
-
function
|
|
1710
|
+
function Dt(e) {
|
|
1575
1711
|
const t = (e ?? "").trim().toLowerCase().split(";")[0];
|
|
1576
|
-
return t ?
|
|
1712
|
+
return t ? Lt.has(t) ? "image" : t === "application/pdf" ? "pdf" : $t.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
|
|
1577
1713
|
}
|
|
1578
|
-
const h = 1024 * 1024,
|
|
1714
|
+
const h = 1024 * 1024, Rt = {
|
|
1579
1715
|
image: 5 * h,
|
|
1580
1716
|
pdf: 20 * h,
|
|
1581
1717
|
text: 1 * h,
|
|
1582
1718
|
audio: 20 * h
|
|
1583
|
-
},
|
|
1584
|
-
function
|
|
1585
|
-
const n =
|
|
1586
|
-
return n === "unsupported" ? "unsupported" : t >
|
|
1587
|
-
}
|
|
1588
|
-
function
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1719
|
+
}, er = 25 * h, tr = 5;
|
|
1720
|
+
function nr(e, t) {
|
|
1721
|
+
const n = Dt(e);
|
|
1722
|
+
return n === "unsupported" ? "unsupported" : t > Rt[n] ? "too-large" : null;
|
|
1723
|
+
}
|
|
1724
|
+
function Pt(e) {
|
|
1725
|
+
return `${e.kind}:${e.id || e.url || e.title}`;
|
|
1726
|
+
}
|
|
1727
|
+
function ir(e, t = []) {
|
|
1728
|
+
const n = new Set(t), i = [], r = [];
|
|
1729
|
+
for (const a of e) {
|
|
1730
|
+
const o = Pt(a);
|
|
1731
|
+
n.has(o) || (n.add(o), i.push(a), r.push(o));
|
|
1732
|
+
}
|
|
1733
|
+
return { sources: i, keys: r };
|
|
1734
|
+
}
|
|
1735
|
+
function Ut(e, t) {
|
|
1736
|
+
const n = new Set(e.disabledIntents ?? []), i = e.intentOverrides ?? {}, r = t.intents.filter((o) => !n.has(o.intent)).map((o) => jt(o, i[o.intent]));
|
|
1737
|
+
if (!e.extraIntents || e.extraIntents.length === 0) return r;
|
|
1738
|
+
const a = new Set(r.map((o) => o.intent));
|
|
1592
1739
|
for (const o of e.extraIntents)
|
|
1593
|
-
|
|
1594
|
-
return
|
|
1740
|
+
a.has(o.intent) || (r.push(o), a.add(o.intent));
|
|
1741
|
+
return r;
|
|
1595
1742
|
}
|
|
1596
|
-
function
|
|
1743
|
+
function Kt(e, t) {
|
|
1597
1744
|
const n = {};
|
|
1598
1745
|
for (const i of e.intents) {
|
|
1599
1746
|
if (!i.togglable) continue;
|
|
1600
|
-
const
|
|
1601
|
-
n[i.intent] =
|
|
1747
|
+
const r = t?.[i.intent];
|
|
1748
|
+
n[i.intent] = r ?? i.defaultEnabled ?? !0;
|
|
1602
1749
|
}
|
|
1603
1750
|
return n;
|
|
1604
1751
|
}
|
|
1605
|
-
function
|
|
1606
|
-
const n =
|
|
1752
|
+
function rr(e, t) {
|
|
1753
|
+
const n = Kt(e, t);
|
|
1607
1754
|
return Object.entries(n).filter(([, i]) => !i).map(([i]) => i);
|
|
1608
1755
|
}
|
|
1609
|
-
function
|
|
1756
|
+
function jt(e, t) {
|
|
1610
1757
|
return t ? {
|
|
1611
1758
|
intent: t.intent ?? e.intent,
|
|
1612
1759
|
targetSchemes: t.targetSchemes ?? e.targetSchemes,
|
|
1613
1760
|
transport: t.transport ?? e.transport
|
|
1614
1761
|
} : e;
|
|
1615
1762
|
}
|
|
1616
|
-
function
|
|
1763
|
+
function ar(e, t) {
|
|
1617
1764
|
const n = [];
|
|
1618
1765
|
for (const i of e) {
|
|
1619
1766
|
if (!i.enabled) continue;
|
|
1620
|
-
const
|
|
1621
|
-
if (
|
|
1622
|
-
for (const
|
|
1623
|
-
n.push({ channel: i, description:
|
|
1767
|
+
const r = t[i.providerId];
|
|
1768
|
+
if (r)
|
|
1769
|
+
for (const a of Ut(i, r))
|
|
1770
|
+
n.push({ channel: i, description: r, capability: a });
|
|
1624
1771
|
}
|
|
1625
1772
|
return n;
|
|
1626
1773
|
}
|
|
1627
|
-
function
|
|
1774
|
+
function or(e, t) {
|
|
1628
1775
|
return t.filter((n) => n.capability.intent === e);
|
|
1629
1776
|
}
|
|
1630
|
-
function
|
|
1777
|
+
function Bt(e, t) {
|
|
1631
1778
|
return t.filter((n) => n.capability.targetSchemes.includes(e));
|
|
1632
1779
|
}
|
|
1633
|
-
function
|
|
1634
|
-
return
|
|
1780
|
+
function sr(e, t) {
|
|
1781
|
+
return Bt(e.scheme, t);
|
|
1635
1782
|
}
|
|
1636
|
-
function
|
|
1783
|
+
function lr(e, t, n) {
|
|
1637
1784
|
const i = [];
|
|
1638
|
-
for (const
|
|
1639
|
-
for (const
|
|
1640
|
-
|
|
1785
|
+
for (const r of e)
|
|
1786
|
+
for (const a of n)
|
|
1787
|
+
a.capability.intent === t && a.capability.targetSchemes.includes(r.scheme) && i.push({ channelIntent: a, endpoint: r });
|
|
1641
1788
|
return i;
|
|
1642
1789
|
}
|
|
1643
|
-
var
|
|
1644
|
-
const
|
|
1790
|
+
var Gt = /* @__PURE__ */ ((e) => (e.MAILTO = "mailto", e.SIP = "sip", e.TEL = "tel", e.WEBHOOK = "webhook", e.USERNAME = "username", e.ID = "id", e.CUSTOM = "custom", e.URL = "url", e.TELEGRAM = "telegram", e.WHATSAPP = "whatsapp", e.MESSENGER = "messenger", e.INSTAGRAM = "instagram", e.VIBER = "viber", e.SMS = "sms", e.FAX = "fax", e.TEAMS = "teams", e.CALENDAR = "calendar", e))(Gt || {});
|
|
1791
|
+
const Ft = {
|
|
1645
1792
|
mailto: "mail",
|
|
1646
1793
|
sip: "tel",
|
|
1647
1794
|
tel: "tel",
|
|
@@ -1663,10 +1810,10 @@ const vt = {
|
|
|
1663
1810
|
id: "note",
|
|
1664
1811
|
custom: "note"
|
|
1665
1812
|
};
|
|
1666
|
-
function
|
|
1667
|
-
return e ?
|
|
1813
|
+
function cr(e) {
|
|
1814
|
+
return e ? Ft[e] ?? "note" : "note";
|
|
1668
1815
|
}
|
|
1669
|
-
const
|
|
1816
|
+
const ur = "message_window", dr = "message_templates", pr = {
|
|
1670
1817
|
// E-mail
|
|
1671
1818
|
FROM: "from",
|
|
1672
1819
|
TO: "to",
|
|
@@ -1683,258 +1830,619 @@ const bi = "message_window", Ei = "message_templates", Ai = {
|
|
|
1683
1830
|
// Voice/conference
|
|
1684
1831
|
HOST: "host",
|
|
1685
1832
|
PARTICIPANT: "participant"
|
|
1686
|
-
},
|
|
1687
|
-
function
|
|
1833
|
+
}, fr = (e, t) => ({ intent: e, ...t }), mr = "folder_management", gr = "remote_search", hr = { ok: !1, code: "UNSUPPORTED", message: "Provider does not support this op" }, ge = "auth";
|
|
1834
|
+
function he(e) {
|
|
1688
1835
|
const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
|
|
1689
1836
|
return t ? t[1] : null;
|
|
1690
1837
|
}
|
|
1691
|
-
function
|
|
1692
|
-
const t =
|
|
1693
|
-
return t ? t !==
|
|
1838
|
+
function Ar(e) {
|
|
1839
|
+
const t = he(e);
|
|
1840
|
+
return t ? t !== ge : typeof e == "string" && e.startsWith("/wake");
|
|
1694
1841
|
}
|
|
1695
|
-
function
|
|
1696
|
-
return typeof e != "string" || e === "" || e === "/" ? !0 :
|
|
1842
|
+
function yr(e) {
|
|
1843
|
+
return typeof e != "string" || e === "" || e === "/" ? !0 : he(e) === ge;
|
|
1697
1844
|
}
|
|
1698
|
-
function
|
|
1845
|
+
function Ht(e) {
|
|
1699
1846
|
return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
1700
1847
|
}
|
|
1701
|
-
function
|
|
1702
|
-
const n = e.split("/").filter(Boolean).map((i) => i.startsWith(":") ? i.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : "/" +
|
|
1848
|
+
function Vt(e) {
|
|
1849
|
+
const n = e.split("/").filter(Boolean).map((i) => i.startsWith(":") ? i.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : "/" + Ht(i)).join("");
|
|
1703
1850
|
return new RegExp(`^${n}\\/?$`);
|
|
1704
1851
|
}
|
|
1705
|
-
function
|
|
1706
|
-
const n = e.split("/").filter(Boolean), i = t.split("/").filter(Boolean),
|
|
1707
|
-
return n.forEach((
|
|
1708
|
-
if (
|
|
1709
|
-
const s =
|
|
1710
|
-
l && (
|
|
1852
|
+
function Wt(e, t) {
|
|
1853
|
+
const n = e.split("/").filter(Boolean), i = t.split("/").filter(Boolean), r = {};
|
|
1854
|
+
return n.forEach((a, o) => {
|
|
1855
|
+
if (a.startsWith(":")) {
|
|
1856
|
+
const s = a.endsWith("?") ? a.slice(1, -1) : a.slice(1), l = i[o];
|
|
1857
|
+
l && (r[s] = l);
|
|
1711
1858
|
}
|
|
1712
|
-
}),
|
|
1859
|
+
}), r;
|
|
1713
1860
|
}
|
|
1714
|
-
function
|
|
1861
|
+
function Xt(e) {
|
|
1715
1862
|
return e.publicBasePath ?? `/apps/${e.name}`;
|
|
1716
1863
|
}
|
|
1717
|
-
function
|
|
1864
|
+
function br(e) {
|
|
1718
1865
|
const t = [];
|
|
1719
1866
|
for (const n of e) {
|
|
1720
1867
|
if (!n?.name) continue;
|
|
1721
|
-
const i =
|
|
1722
|
-
for (const
|
|
1723
|
-
if (!
|
|
1724
|
-
const
|
|
1868
|
+
const i = Xt(n);
|
|
1869
|
+
for (const r of n.routes ?? []) {
|
|
1870
|
+
if (!r.public) continue;
|
|
1871
|
+
const a = r.path === "/" ? "" : r.path;
|
|
1725
1872
|
t.push({
|
|
1726
1873
|
appName: n.name,
|
|
1727
|
-
resource:
|
|
1728
|
-
pattern: `${i}${
|
|
1729
|
-
props:
|
|
1874
|
+
resource: r.resource,
|
|
1875
|
+
pattern: `${i}${a}`,
|
|
1876
|
+
props: r.props
|
|
1730
1877
|
});
|
|
1731
1878
|
}
|
|
1732
1879
|
}
|
|
1733
1880
|
return t;
|
|
1734
1881
|
}
|
|
1735
|
-
function
|
|
1882
|
+
function zt(e, t) {
|
|
1736
1883
|
const n = e.split("/").filter(Boolean), i = t.split("/").filter(Boolean);
|
|
1737
|
-
for (let
|
|
1738
|
-
const
|
|
1739
|
-
if (
|
|
1884
|
+
for (let r = 0; r < Math.min(n.length, i.length); r++) {
|
|
1885
|
+
const a = n[r].startsWith(":"), o = i[r].startsWith(":");
|
|
1886
|
+
if (a !== o) return o;
|
|
1740
1887
|
}
|
|
1741
1888
|
return n.length > i.length;
|
|
1742
1889
|
}
|
|
1743
|
-
function
|
|
1890
|
+
function Yt(e, t) {
|
|
1744
1891
|
if (typeof e != "string") return null;
|
|
1745
1892
|
let n = null;
|
|
1746
1893
|
for (const i of t)
|
|
1747
|
-
|
|
1748
|
-
return n ? { ...n, params: { ...n.props, ...
|
|
1894
|
+
Vt(i.pattern).test(e) && (!n || zt(i.pattern, n.pattern)) && (n = i);
|
|
1895
|
+
return n ? { ...n, params: { ...n.props, ...Wt(n.pattern, e) } } : null;
|
|
1896
|
+
}
|
|
1897
|
+
function Er(e, t) {
|
|
1898
|
+
return Yt(e, t) !== null;
|
|
1899
|
+
}
|
|
1900
|
+
const qt = {
|
|
1901
|
+
afrikaans: [
|
|
1902
|
+
"[Muziek]",
|
|
1903
|
+
"(C) TV GELDERLAND 2021",
|
|
1904
|
+
"*Thomp thomp thomp*",
|
|
1905
|
+
"www.youtube.com",
|
|
1906
|
+
"ä n wood s",
|
|
1907
|
+
"!.."
|
|
1908
|
+
],
|
|
1909
|
+
english: [
|
|
1910
|
+
"[applause]",
|
|
1911
|
+
"[APPLAUSE]",
|
|
1912
|
+
"(claps)",
|
|
1913
|
+
"(clapping)",
|
|
1914
|
+
"(audience applauds)",
|
|
1915
|
+
"(keyboard clicking)",
|
|
1916
|
+
"(keyboard clacking)",
|
|
1917
|
+
"(clicking)",
|
|
1918
|
+
"[CLICK]",
|
|
1919
|
+
"[BLANK_AUDIO]",
|
|
1920
|
+
"(upbeat music)",
|
|
1921
|
+
"(dramatic music)",
|
|
1922
|
+
"[music playing]",
|
|
1923
|
+
"(electronic music)",
|
|
1924
|
+
"(audience cheering)",
|
|
1925
|
+
"(audience cheers)",
|
|
1926
|
+
"[MUSIC]",
|
|
1927
|
+
"( ( ( ( ) ( ) ( ) ( )",
|
|
1928
|
+
"(laughs)",
|
|
1929
|
+
"(air whooshing)",
|
|
1930
|
+
"<u>Transcribed</u> by https://otter.ai",
|
|
1931
|
+
"All new tonight at 6... coming up. A new look at your forecast is A new look at your forecast is",
|
|
1932
|
+
"www.mooji.org",
|
|
1933
|
+
"KATHRYN A new forecast is coming up... A new forecast is coming up...",
|
|
1934
|
+
"KATHRYN pandemic started. increasing since the The pandemic has been",
|
|
1935
|
+
"A new look at your forecast this morning... A new look at your",
|
|
1936
|
+
"We'll be right back.",
|
|
1937
|
+
"We'll see you next week.",
|
|
1938
|
+
"Thanks for watching!",
|
|
1939
|
+
"❤️ Translated by Amara.org Communit"
|
|
1940
|
+
],
|
|
1941
|
+
flemish: [
|
|
1942
|
+
"*clap*",
|
|
1943
|
+
"TV GELDERLAND 2020",
|
|
1944
|
+
"TV Gelderland 2021",
|
|
1945
|
+
"(C) TV GELDERLAND 2021",
|
|
1946
|
+
"[Muziek]",
|
|
1947
|
+
"Kuman",
|
|
1948
|
+
"Ondertitels ingediend door de Amara.org gemeenschap",
|
|
1949
|
+
"Ondertiteld door de Amara.org gemeenschap",
|
|
1950
|
+
"Dank u wel voor het kijken.",
|
|
1951
|
+
"Ondertiteling door de Amara.org gemeenschap",
|
|
1952
|
+
"GELUID VAN MAHIH U similarly"
|
|
1953
|
+
],
|
|
1954
|
+
french: [
|
|
1955
|
+
"(applaudissements)",
|
|
1956
|
+
"[Applaudissements]",
|
|
1957
|
+
"Sous-titres réalisés par la communauté d'Amara.org",
|
|
1958
|
+
"- Bonne journée. - Bonjour.",
|
|
1959
|
+
"POP POP הי",
|
|
1960
|
+
"Merci d'avoir regardé cette vidéo.",
|
|
1961
|
+
"Merci d'avoir regardé cette vidéo!",
|
|
1962
|
+
"Merci d'avoir regardé la vidéo.",
|
|
1963
|
+
"J'espère que vous avez apprécié la vidéo.",
|
|
1964
|
+
"Je vous remercie de vous abonner",
|
|
1965
|
+
"Merci d'avoir regardé!",
|
|
1966
|
+
"❤️ par SousTitreur.com",
|
|
1967
|
+
"— Sous-titrage ST'501 —",
|
|
1968
|
+
"Thanks for watching!",
|
|
1969
|
+
"Sous-titres réalisés par l'Amara.org",
|
|
1970
|
+
"Sous-titres réalisés para la communauté d'Amara.org",
|
|
1971
|
+
"Sous-titres réalisés par la communauté d'Amara.org",
|
|
1972
|
+
"Sous-titres fait par Sous-titres par Amara.org",
|
|
1973
|
+
"Sous-titres réalisés par les SousTitres d'Amara.org",
|
|
1974
|
+
"Sous-titres par Amara.org",
|
|
1975
|
+
"Sous-titres par la communauté d'Amara.org",
|
|
1976
|
+
"Sous-titres réalisés pour la communauté d'Amara.org",
|
|
1977
|
+
"Sous-titres réalisés par la communauté de l'Amara.org",
|
|
1978
|
+
"Sous-Titres faits par la communauté d'Amara.org",
|
|
1979
|
+
"Sous-titres par l'Amara.org",
|
|
1980
|
+
"Sous-titres fait par la communauté d'Amara.org",
|
|
1981
|
+
"Sous-titrage ST' 501",
|
|
1982
|
+
"Sous-titrage ST'501",
|
|
1983
|
+
"Cliquez-vous sur les sous-titres et abonnez-vous à la chaîne d'Amara.org",
|
|
1984
|
+
"❤️ par SousTitreur.com"
|
|
1985
|
+
],
|
|
1986
|
+
german: [
|
|
1987
|
+
"[Klicken]",
|
|
1988
|
+
"(Jubel)",
|
|
1989
|
+
"*lacht*",
|
|
1990
|
+
"[Anhaltender Beifall]",
|
|
1991
|
+
"[Applaus]",
|
|
1992
|
+
"(Applaus)",
|
|
1993
|
+
"* Applaus *",
|
|
1994
|
+
"[MUSIK]",
|
|
1995
|
+
"* mustard ml Drumglöck und knack in einem Handbewerb *",
|
|
1996
|
+
"Untertitelung aufgrund der Amara.org-Community",
|
|
1997
|
+
"Untertitel im Auftrag des ZDF für funk, 2017",
|
|
1998
|
+
"Untertitel von Stephanie Geiges",
|
|
1999
|
+
"Untertitel der Amara.org-Community",
|
|
2000
|
+
"Untertitel im Auftrag des ZDF, 2017",
|
|
2001
|
+
"Untertitel im Auftrag des ZDF, 2020",
|
|
2002
|
+
"Untertitel im Auftrag des ZDF, 2018",
|
|
2003
|
+
"Untertitel im Auftrag des ZDF, 2021",
|
|
2004
|
+
"Untertitelung im Auftrag des ZDF, 2021",
|
|
2005
|
+
"Copyright WDR 2021",
|
|
2006
|
+
"Copyright WDR 2020",
|
|
2007
|
+
"Copyright WDR 2019",
|
|
2008
|
+
"SWR 2021",
|
|
2009
|
+
"SWR 2020"
|
|
2010
|
+
],
|
|
2011
|
+
italian: [
|
|
2012
|
+
"Alla prossima!",
|
|
2013
|
+
"*applauso*",
|
|
2014
|
+
"[Musica]",
|
|
2015
|
+
"[Musica]",
|
|
2016
|
+
"[Applausi]",
|
|
2017
|
+
"*Bip bip bip bip*",
|
|
2018
|
+
"(musica del NS shore)",
|
|
2019
|
+
"D' 1962 alle tribunte del Gulf",
|
|
2020
|
+
"Sottotitoli creati dalla comunità Amara.org",
|
|
2021
|
+
"Sottotitoli di Sottotitoli di Amara.org",
|
|
2022
|
+
"Sottotitoli e revisione al canale di Amara.org",
|
|
2023
|
+
"Sottotitoli e revisione a cura di Amara.org",
|
|
2024
|
+
"Sottotitoli e revisione a cura di QTSS",
|
|
2025
|
+
"Sottotitoli e revisione a cura di QTSS.",
|
|
2026
|
+
"Sottotitoli a cura di QTSS",
|
|
2027
|
+
"Sottotitoli a cura di Sottotitoli"
|
|
2028
|
+
],
|
|
2029
|
+
spanish: [
|
|
2030
|
+
"[música]",
|
|
2031
|
+
"[Música de cierre]",
|
|
2032
|
+
"[Aplausos]",
|
|
2033
|
+
"(Aplausos)",
|
|
2034
|
+
"www.alimmenta.com",
|
|
2035
|
+
"¡Gracias por ver el vídeo!",
|
|
2036
|
+
"(sonidos del celular) (Inudible distorsión)",
|
|
2037
|
+
"¡Suscríbete!",
|
|
2038
|
+
"Subtítulos realizados por la comunidad de Amara.org",
|
|
2039
|
+
"Subtitulado por la comunidad de Amara.org",
|
|
2040
|
+
"Subtítulos por la comunidad de Amara.org",
|
|
2041
|
+
"Subtítulos creados por la comunidad de Amara.org",
|
|
2042
|
+
"Subtítulos en español de Amara.org",
|
|
2043
|
+
"Subtítulos hechos por la comunidad de Amara.org",
|
|
2044
|
+
"Subtitulos por la comunidad de Amara.org",
|
|
2045
|
+
"Más información www.alimmenta.com",
|
|
2046
|
+
"www.mooji.org",
|
|
2047
|
+
"[MÚSICA]",
|
|
2048
|
+
"[Music cuts in British]"
|
|
2049
|
+
]
|
|
2050
|
+
}, Jt = (e) => {
|
|
2051
|
+
let t = e;
|
|
2052
|
+
return Object.values(qt).forEach((n) => {
|
|
2053
|
+
n.forEach((i) => {
|
|
2054
|
+
t = t.replaceAll(i, "");
|
|
2055
|
+
});
|
|
2056
|
+
}), t = t.replace(/\(.*?\)/g, ""), t = t.replace(/\[.*?\]/g, ""), t;
|
|
2057
|
+
}, Qt = 6e4, Zt = 8e3, en = 2, tn = 0.4, nn = 3, rn = /* @__PURE__ */ new Set([
|
|
2058
|
+
"aan",
|
|
2059
|
+
"als",
|
|
2060
|
+
"ben",
|
|
2061
|
+
"bent",
|
|
2062
|
+
"bij",
|
|
2063
|
+
"dan",
|
|
2064
|
+
"dat",
|
|
2065
|
+
"deze",
|
|
2066
|
+
"die",
|
|
2067
|
+
"dit",
|
|
2068
|
+
"doen",
|
|
2069
|
+
"door",
|
|
2070
|
+
"dus",
|
|
2071
|
+
"echt",
|
|
2072
|
+
"een",
|
|
2073
|
+
"eens",
|
|
2074
|
+
"even",
|
|
2075
|
+
"gaan",
|
|
2076
|
+
"gaat",
|
|
2077
|
+
"geen",
|
|
2078
|
+
"geweest",
|
|
2079
|
+
"goed",
|
|
2080
|
+
"graag",
|
|
2081
|
+
"had",
|
|
2082
|
+
"heb",
|
|
2083
|
+
"hebben",
|
|
2084
|
+
"hebt",
|
|
2085
|
+
"heeft",
|
|
2086
|
+
"het",
|
|
2087
|
+
"hier",
|
|
2088
|
+
"hoe",
|
|
2089
|
+
"hoor",
|
|
2090
|
+
"iets",
|
|
2091
|
+
"inderdaad",
|
|
2092
|
+
"kan",
|
|
2093
|
+
"klopt",
|
|
2094
|
+
"kunnen",
|
|
2095
|
+
"kunt",
|
|
2096
|
+
"maar",
|
|
2097
|
+
"mag",
|
|
2098
|
+
"mee",
|
|
2099
|
+
"meer",
|
|
2100
|
+
"met",
|
|
2101
|
+
"mij",
|
|
2102
|
+
"mijn",
|
|
2103
|
+
"misschien",
|
|
2104
|
+
"moet",
|
|
2105
|
+
"moeten",
|
|
2106
|
+
"naar",
|
|
2107
|
+
"net",
|
|
2108
|
+
"niet",
|
|
2109
|
+
"nog",
|
|
2110
|
+
"nou",
|
|
2111
|
+
"oke",
|
|
2112
|
+
"ook",
|
|
2113
|
+
"over",
|
|
2114
|
+
"prima",
|
|
2115
|
+
"toch",
|
|
2116
|
+
"uhm",
|
|
2117
|
+
"uit",
|
|
2118
|
+
"van",
|
|
2119
|
+
"veel",
|
|
2120
|
+
"voor",
|
|
2121
|
+
"wat",
|
|
2122
|
+
"weer",
|
|
2123
|
+
"weet",
|
|
2124
|
+
"wel",
|
|
2125
|
+
"wij",
|
|
2126
|
+
"wil",
|
|
2127
|
+
"wilt",
|
|
2128
|
+
"worden",
|
|
2129
|
+
"wordt",
|
|
2130
|
+
"zeg",
|
|
2131
|
+
"zeggen",
|
|
2132
|
+
"zijn",
|
|
2133
|
+
"zou",
|
|
2134
|
+
"zult",
|
|
2135
|
+
"about",
|
|
2136
|
+
"and",
|
|
2137
|
+
"are",
|
|
2138
|
+
"been",
|
|
2139
|
+
"but",
|
|
2140
|
+
"can",
|
|
2141
|
+
"does",
|
|
2142
|
+
"for",
|
|
2143
|
+
"have",
|
|
2144
|
+
"just",
|
|
2145
|
+
"know",
|
|
2146
|
+
"like",
|
|
2147
|
+
"not",
|
|
2148
|
+
"okay",
|
|
2149
|
+
"right",
|
|
2150
|
+
"she",
|
|
2151
|
+
"that",
|
|
2152
|
+
"the",
|
|
2153
|
+
"them",
|
|
2154
|
+
"then",
|
|
2155
|
+
"there",
|
|
2156
|
+
"they",
|
|
2157
|
+
"this",
|
|
2158
|
+
"want",
|
|
2159
|
+
"was",
|
|
2160
|
+
"well",
|
|
2161
|
+
"were",
|
|
2162
|
+
"what",
|
|
2163
|
+
"will",
|
|
2164
|
+
"with",
|
|
2165
|
+
"would",
|
|
2166
|
+
"yeah",
|
|
2167
|
+
"you",
|
|
2168
|
+
"your"
|
|
2169
|
+
]);
|
|
2170
|
+
function an(e) {
|
|
2171
|
+
const t = /* @__PURE__ */ new Set();
|
|
2172
|
+
for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
|
|
2173
|
+
n.length < nn || rn.has(n) || t.add(n);
|
|
2174
|
+
return [...t];
|
|
1749
2175
|
}
|
|
1750
|
-
function
|
|
1751
|
-
|
|
2176
|
+
function on(e, t) {
|
|
2177
|
+
if (!e.length) return 0;
|
|
2178
|
+
if (!t.length) return 1;
|
|
2179
|
+
const n = new Set(t), i = new Set(e);
|
|
2180
|
+
let r = 0;
|
|
2181
|
+
for (const a of i) n.has(a) || (r += 1);
|
|
2182
|
+
return r / i.size;
|
|
2183
|
+
}
|
|
2184
|
+
function sn(e, t = Qt) {
|
|
2185
|
+
const n = e.filter((o) => !o.partial && typeof o.text == "string");
|
|
2186
|
+
if (!n.length) return { text: "", segmentCount: 0 };
|
|
2187
|
+
const r = n.reduce((o, s) => Math.max(o, s.endedAt ?? 0), 0) - t;
|
|
2188
|
+
return { text: n.filter((o) => (o.endedAt ?? 0) >= r).map((o) => Jt(o.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
|
|
2189
|
+
}
|
|
2190
|
+
const ln = 60;
|
|
2191
|
+
function Sr(e, t, n = ln) {
|
|
2192
|
+
const i = new Set(e), r = [...e];
|
|
2193
|
+
for (const a of t)
|
|
2194
|
+
!a || i.has(a) || (i.add(a), r.push(a));
|
|
2195
|
+
return r.slice(-n);
|
|
2196
|
+
}
|
|
2197
|
+
function Tr(e) {
|
|
2198
|
+
const { segments: t, now: n, state: i } = e;
|
|
2199
|
+
if (i.lastTriggerAt && n - i.lastTriggerAt < Zt)
|
|
2200
|
+
return { trigger: !1, reason: "too_soon" };
|
|
2201
|
+
const r = sn(t, e.windowMs);
|
|
2202
|
+
if (!r.text) return { trigger: !1, reason: "no_speech" };
|
|
2203
|
+
const a = r.segmentCount - (i.lastSegmentCount ?? 0);
|
|
2204
|
+
if (i.lastQueryTerms && a < en)
|
|
2205
|
+
return { trigger: !1, reason: "too_few_new" };
|
|
2206
|
+
const o = an(r.text);
|
|
2207
|
+
return o.length ? i.lastQueryTerms?.length && on(o, i.lastQueryTerms) < tn ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: r.text, terms: o, segmentCount: r.segmentCount } : { trigger: !1, reason: "no_speech" };
|
|
2208
|
+
}
|
|
2209
|
+
const Ae = 9e4, cn = ["out_of_office"], ye = (e) => cn.includes(e);
|
|
2210
|
+
function _r(e, t, n) {
|
|
2211
|
+
const i = n - e < Ae, r = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
|
|
2212
|
+
if (!r?.status) return { online: i, status: i ? "available" : "offline" };
|
|
2213
|
+
const a = r.status;
|
|
2214
|
+
return !i && !ye(a) ? { online: !1, status: "offline" } : { online: i, status: a, message: r.message };
|
|
2215
|
+
}
|
|
2216
|
+
function Ir(e, t) {
|
|
2217
|
+
const n = t - e.lastSeenAt < Ae, i = n || ye(e.status) ? e.status : "offline";
|
|
2218
|
+
return n === e.online && i === e.status ? e : { ...e, online: n, status: i };
|
|
1752
2219
|
}
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
const i = n - e < me, a = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
|
|
1756
|
-
if (!a?.status) return { online: i, status: i ? "available" : "offline" };
|
|
1757
|
-
const r = a.status;
|
|
1758
|
-
return !i && !ge(r) ? { online: !1, status: "offline" } : { online: i, status: r, message: a.message };
|
|
2220
|
+
function Mr(e, t) {
|
|
2221
|
+
return e?.teamId && t.includes(e.teamId) ? { teamId: e.teamId, mustChoose: !1 } : t.length === 1 ? { teamId: t[0], mustChoose: !1 } : { teamId: void 0, mustChoose: t.length > 1 };
|
|
1759
2222
|
}
|
|
1760
|
-
function
|
|
1761
|
-
|
|
1762
|
-
return n === e.online && i === e.status ? e : { ...e, online: n, status: i };
|
|
2223
|
+
function Cr(e) {
|
|
2224
|
+
return e.providerAvailable && e.allowed;
|
|
1763
2225
|
}
|
|
1764
|
-
const
|
|
2226
|
+
const vr = "installation-id";
|
|
1765
2227
|
export {
|
|
1766
2228
|
m as ACTIVITY_CATALOG,
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
2229
|
+
Rt as AI_ATTACHMENT_LIMITS,
|
|
2230
|
+
tr as AI_ATTACHMENT_MAX_PER_TURN,
|
|
2231
|
+
er as AI_ATTACHMENT_TURN_BUDGET,
|
|
2232
|
+
fe as AI_VENDORS,
|
|
2233
|
+
De as ALLOWED_LINK_SCHEMES,
|
|
1772
2234
|
P as ARTIFACT_MAX_BLOCKS,
|
|
1773
|
-
|
|
2235
|
+
$n as ARTIFACT_MAX_BODY_BYTES,
|
|
1774
2236
|
C as ARTIFACT_MAX_CELL_LEN,
|
|
1775
|
-
|
|
2237
|
+
B as ARTIFACT_MAX_KPI_ITEMS,
|
|
1776
2238
|
U as ARTIFACT_MAX_LIST_ITEMS,
|
|
1777
|
-
|
|
2239
|
+
j as ARTIFACT_MAX_TABLE_COLUMNS,
|
|
1778
2240
|
K as ARTIFACT_MAX_TABLE_ROWS,
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
2241
|
+
ae as ARTIFACT_MAX_TEXT_LEN,
|
|
2242
|
+
He as ASSIGNMENT_SCOPE_KIND,
|
|
2243
|
+
ge as AUTH_APP_NAME,
|
|
2244
|
+
Me as ActivityTypeRegistry,
|
|
2245
|
+
Cn as BUILT_IN_ONLY,
|
|
2246
|
+
Zt as CADENCE_FLOOR_MS,
|
|
2247
|
+
en as CADENCE_MIN_NEW_SEGMENTS,
|
|
2248
|
+
tn as CADENCE_MIN_NOVELTY,
|
|
2249
|
+
Qt as CADENCE_WINDOW_MS,
|
|
2250
|
+
Yn as CLASSIFY_VARS,
|
|
2251
|
+
Nn as CORE_DIMENSIONS,
|
|
2252
|
+
Gt as CommunicationScheme,
|
|
2253
|
+
Bi as DEFAULT_MEMORY_BUDGET,
|
|
2254
|
+
ht as DEFAULT_PHONE_REGION,
|
|
2255
|
+
ri as EMPTY_WORKFLOW,
|
|
2256
|
+
mr as FEATURE_FOLDER_MANAGEMENT,
|
|
2257
|
+
gr as FEATURE_REMOTE_SEARCH,
|
|
2258
|
+
vr as INSTALLATION_HEADER,
|
|
2259
|
+
Qe as INTERACTION_KIND,
|
|
2260
|
+
pr as InteractionParticipantRole,
|
|
2261
|
+
ot as KB_FALLBACK_LOCALE,
|
|
2262
|
+
X as KB_LOCALES,
|
|
2263
|
+
fn as MAX_ACTIONS,
|
|
2264
|
+
Ve as MAX_ASSIGNMENT_TURNS,
|
|
2265
|
+
un as MAX_BLOCKS,
|
|
2266
|
+
de as MAX_COLLECTION_DEPTH,
|
|
2267
|
+
dn as MAX_FIELDS,
|
|
2268
|
+
pn as MAX_LIST_ITEMS,
|
|
2269
|
+
Pi as MAX_MEMORY_BROWSE,
|
|
2270
|
+
ji as MAX_MEMORY_BUDGET,
|
|
2271
|
+
Ui as MAX_MEMORY_CHARS,
|
|
2272
|
+
ln as MAX_SHOWN_KEYS,
|
|
2273
|
+
ct as MAX_TOPIC_CANDIDATES,
|
|
2274
|
+
lt as MAX_TOPIC_EXAMPLES,
|
|
2275
|
+
v as MAX_TOPIC_EXAMPLE_CHARS,
|
|
2276
|
+
Ki as MIN_MEMORY_BUDGET,
|
|
2277
|
+
N as PHONE_REGIONS,
|
|
2278
|
+
Ae as PRESENCE_ONLINE_WINDOW_MS,
|
|
2279
|
+
cn as PRESENCE_SURVIVES_OFFLINE,
|
|
2280
|
+
dr as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
|
|
2281
|
+
ur as PROVIDER_FEATURE_MESSAGE_WINDOW,
|
|
2282
|
+
_t as PUBLIC_EMAIL_DOMAINS,
|
|
2283
|
+
V as READ_STEP_TYPES,
|
|
2284
|
+
gt as RELATED_SUBJECT_KINDS,
|
|
2285
|
+
ki as SIGNATURE_INTENTS,
|
|
2286
|
+
tt as STEP_MAX_TOKENS_MAX,
|
|
2287
|
+
et as STEP_MAX_TOKENS_MIN,
|
|
2288
|
+
Ot as SUMMARY_MIN_LAST_CHARS,
|
|
2289
|
+
xt as SUMMARY_MIN_MESSAGES,
|
|
2290
|
+
Fe as TERMINAL_ASSIGNMENT_STATUSES,
|
|
2291
|
+
nt as TERMINAL_RUN_STATUSES,
|
|
2292
|
+
zn as TRIGGER_VARS,
|
|
2293
|
+
hr as UNSUPPORTED,
|
|
2294
|
+
xe as USAGE_DIMENSIONS,
|
|
2295
|
+
Oe as USAGE_DIMENSION_IDS,
|
|
2296
|
+
bi as acceptExampleCandidate,
|
|
2297
|
+
ze as actingIdentityKey,
|
|
2298
|
+
gn as activityIconOf,
|
|
2299
|
+
Mn as activityJoinUrl,
|
|
2300
|
+
Te as activitySnippet,
|
|
2301
|
+
_e as activityTextParams,
|
|
2302
|
+
In as activityTimelineText,
|
|
2303
|
+
kn as activityTimestamp,
|
|
2304
|
+
d as activityTypeInfo,
|
|
2305
|
+
Qn as actorKey,
|
|
2306
|
+
yi as addExampleCandidate,
|
|
2307
|
+
Ir as agePresenceEntry,
|
|
2308
|
+
Dt as aiAttachmentKind,
|
|
2309
|
+
nr as aiAttachmentRejection,
|
|
2310
|
+
Y as aiBudgetLimit,
|
|
2311
|
+
vi as aiBudgetPeriodKey,
|
|
2312
|
+
ft as aiBudgetPeriodStart,
|
|
2313
|
+
Ci as aiBudgetState,
|
|
2314
|
+
Mi as aiVendorAcceptsAttachment,
|
|
2315
|
+
Ti as aiVendorDefaultModel,
|
|
2316
|
+
Si as aiVendorLabel,
|
|
2317
|
+
Ii as aiVendorNeedsBaseUrl,
|
|
2318
|
+
_i as aiVendorsWith,
|
|
2319
|
+
he as appNameFromPath,
|
|
2320
|
+
Ni as applySignature,
|
|
2321
|
+
Rn as artifactBodyBytes,
|
|
2322
|
+
Pn as artifactOutline,
|
|
2323
|
+
Un as artifactToMarkdown,
|
|
2324
|
+
ni as assignmentMismatch,
|
|
2325
|
+
Fn as assignmentScopeKey,
|
|
2326
|
+
Hn as assignmentSubject,
|
|
2327
|
+
vn as buildActivityPreview,
|
|
2328
|
+
ar as buildChannelIntents,
|
|
2329
|
+
Kn as buildShareKeys,
|
|
2330
|
+
sn as buildWindow,
|
|
2331
|
+
gi as canNestUnder,
|
|
2332
|
+
bn as carriesText,
|
|
2333
|
+
Ai as categoryLabel,
|
|
2334
|
+
cr as channelKindForScheme,
|
|
2335
|
+
hn as channelKindOf,
|
|
2336
|
+
ii as clampStepMaxTokens,
|
|
2337
|
+
Ji as cleanMessageText,
|
|
2338
|
+
Vn as decideAssignmentState,
|
|
2339
|
+
Tr as decideCadence,
|
|
2340
|
+
st as defaultLocaleOf,
|
|
2341
|
+
fr as defineIntent,
|
|
2342
|
+
rt as depthOf,
|
|
2343
|
+
_r as derivePresence,
|
|
2344
|
+
rr as disabledIntentsFromCapabilities,
|
|
2345
|
+
Wi as emailDomain,
|
|
2346
|
+
Yi as endpointKey,
|
|
2347
|
+
Wt as extractParams,
|
|
2348
|
+
an as extractTerms,
|
|
2349
|
+
sr as filterByEndpoint,
|
|
2350
|
+
or as filterByIntent,
|
|
2351
|
+
Bt as filterByTargetScheme,
|
|
2352
|
+
S as findAiVendor,
|
|
2353
|
+
xn as flattenLocales,
|
|
2354
|
+
we as floorToPeriod,
|
|
2355
|
+
Xe as formatActingIdentity,
|
|
2356
|
+
ve as formatPeriod,
|
|
2357
|
+
ir as freshSources,
|
|
2358
|
+
wn as getActivitySeenUserIds,
|
|
2359
|
+
xi as getContactEndpoints,
|
|
2360
|
+
Di as getShortTitle,
|
|
2361
|
+
$i as getUrgencyScore,
|
|
2362
|
+
pe as heightOf,
|
|
2363
|
+
pi as helpCenterText,
|
|
2364
|
+
Xn as humanizeAction,
|
|
2365
|
+
Ze as interactionIdOf,
|
|
2366
|
+
Fi as isAgentUser,
|
|
2367
|
+
Oi as isAssigned,
|
|
2368
|
+
Gn as isAssignmentTerminal,
|
|
2369
|
+
qe as isAssignmentTrigger,
|
|
2370
|
+
Li as isClosed,
|
|
2371
|
+
Tn as isConnectedType,
|
|
2372
|
+
Ar as isDeepLink,
|
|
2373
|
+
at as isDescendant,
|
|
2374
|
+
li as isInFlight,
|
|
2375
|
+
Ri as isInteractionUnseen,
|
|
2376
|
+
yr as isLandingPath,
|
|
2377
|
+
Qi as isLikelyBulk,
|
|
2378
|
+
An as isMessageType,
|
|
2379
|
+
zt as isMoreSpecificPattern,
|
|
2380
|
+
it as isPaused,
|
|
2381
|
+
Sn as isPlaybookAuthoredType,
|
|
2382
|
+
Xi as isPublicEmailDomain,
|
|
2383
|
+
Er as isPublicPath,
|
|
2384
|
+
yn as isReplyableType,
|
|
2385
|
+
si as isTerminal,
|
|
2386
|
+
Zi as isThreadLongEnough,
|
|
2387
|
+
_n as isTranscriptType,
|
|
2388
|
+
di as linkLabel,
|
|
2389
|
+
wi as listeningAllowed,
|
|
2390
|
+
mi as localeInstruction,
|
|
2391
|
+
fi as localeName,
|
|
2392
|
+
hi as localesOf,
|
|
2393
|
+
Hi as looksLikeEmail,
|
|
2394
|
+
lr as matchContactToIntents,
|
|
2395
|
+
Yt as matchPublicRoute,
|
|
2396
|
+
Sr as mergeShownKeys,
|
|
2397
|
+
En as messageCountsAs,
|
|
2398
|
+
zi as needsPhoneRegion,
|
|
2399
|
+
Dn as normalizeArtifactBlocks,
|
|
2400
|
+
mn as normalizeBlocks,
|
|
2401
|
+
me as normalizeEmail,
|
|
1911
2402
|
g as normalizeExample,
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
2403
|
+
on as novelty,
|
|
2404
|
+
qn as parseActingIdentity,
|
|
2405
|
+
Vt as pathToRegex,
|
|
2406
|
+
On as periodsInRange,
|
|
2407
|
+
Vi as phoneSuffix,
|
|
2408
|
+
qi as plainTextFromMarkdown,
|
|
2409
|
+
Ye as playbookActor,
|
|
2410
|
+
oi as procedureOf,
|
|
2411
|
+
Xt as publicBasePathFor,
|
|
2412
|
+
br as publicRoutePatterns,
|
|
2413
|
+
w as readPath,
|
|
2414
|
+
W as readStepError,
|
|
2415
|
+
Je as refKey,
|
|
2416
|
+
Tt as registrableDomain,
|
|
2417
|
+
dt as rejectExampleCandidate,
|
|
2418
|
+
Gi as relatedByDefault,
|
|
2419
|
+
Kt as resolveAccountCapabilities,
|
|
2420
|
+
k as resolveActivityText,
|
|
2421
|
+
Ut as resolveChannelIntents,
|
|
2422
|
+
mt as resolveSignature,
|
|
2423
|
+
Mr as resolveWorkMode,
|
|
2424
|
+
Jn as runActor,
|
|
2425
|
+
ui as runInteractionId,
|
|
2426
|
+
Ke as sanitizeInline,
|
|
2427
|
+
Jt as sanitizeTranscript,
|
|
2428
|
+
Wn as selectLenses,
|
|
2429
|
+
le as shareKeyForTeam,
|
|
2430
|
+
se as shareKeyForUser,
|
|
2431
|
+
jn as shareKeysForViewer,
|
|
2432
|
+
Cr as shouldRunAudioPipeline,
|
|
2433
|
+
Pt as sourceKey,
|
|
2434
|
+
ai as stepsOf,
|
|
2435
|
+
Se as stripHtml,
|
|
2436
|
+
ci as subjectKeyOf,
|
|
2437
|
+
ce as subjectOf,
|
|
2438
|
+
ti as targetById,
|
|
2439
|
+
ei as targetForActivityType,
|
|
2440
|
+
Q as toE164,
|
|
2441
|
+
Bn as toolSourceKinds,
|
|
2442
|
+
pt as topicOfferedForTeam,
|
|
2443
|
+
Ei as topicsForTeam,
|
|
2444
|
+
ut as truncateExample,
|
|
2445
|
+
Le as usageMetricId,
|
|
2446
|
+
Ln as usageMetrics,
|
|
2447
|
+
Zn as valueAtPath
|
|
1940
2448
|
};
|