@opencxh/domain 1.153.0 → 1.154.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/playbook/types.d.ts +29 -0
- package/dist/index.cjs +6 -6
- package/dist/index.js +490 -481
- package/dist/platform/provider.d.ts +14 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
const Kt = 10, Bt = 10, Gt = 10, Ft = 5, ye = /* @__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 S(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 Ht(e, t = () => {
|
|
18
18
|
}) {
|
|
19
19
|
if (!Array.isArray(e)) return [];
|
|
20
20
|
const n = [];
|
|
@@ -24,48 +24,48 @@ function Gt(e, t = () => {
|
|
|
24
24
|
break;
|
|
25
25
|
}
|
|
26
26
|
if (!i || typeof i != "object") continue;
|
|
27
|
-
const
|
|
28
|
-
if (!ye.has(
|
|
29
|
-
t("unknown block type " + String(
|
|
27
|
+
const r = i;
|
|
28
|
+
if (!ye.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 (!S(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 (!S(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(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
|
}
|
|
@@ -77,16 +77,16 @@ function b(e) {
|
|
|
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 O(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
86
|
function E(e) {
|
|
87
87
|
return e.map((t) => t.name).join(", ");
|
|
88
88
|
}
|
|
89
|
-
function
|
|
89
|
+
function L(e) {
|
|
90
90
|
return e === "meeting" ? "Meeting" : e === "video" ? "Video call" : "Audio call";
|
|
91
91
|
}
|
|
92
92
|
const m = {
|
|
@@ -96,7 +96,7 @@ 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",
|
|
@@ -123,14 +123,14 @@ const m = {
|
|
|
123
123
|
channelKind: "voice",
|
|
124
124
|
icon: "phone",
|
|
125
125
|
snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${b(e.payload.duration)})` : ""}`,
|
|
126
|
-
timeline: (e) => `Call ended${
|
|
126
|
+
timeline: (e) => `Call ended${O(e.payload.duration)}`
|
|
127
127
|
},
|
|
128
128
|
VOICE_CALL_MISSED: {
|
|
129
129
|
shape: "event",
|
|
130
130
|
channelKind: "voice",
|
|
131
131
|
icon: "phone",
|
|
132
132
|
snippet: () => "Gemiste oproep",
|
|
133
|
-
timeline: (e) => `Missed call — ${
|
|
133
|
+
timeline: (e) => `Missed call — ${I(e.payload.from)}`
|
|
134
134
|
},
|
|
135
135
|
VOICE_CALL_FAILED: {
|
|
136
136
|
shape: "event",
|
|
@@ -271,7 +271,7 @@ const m = {
|
|
|
271
271
|
channelKind: "chat",
|
|
272
272
|
icon: "message-circle",
|
|
273
273
|
snippet: () => "Gesprek gestart",
|
|
274
|
-
timeline: (e) => `${
|
|
274
|
+
timeline: (e) => `${L(e.payload.callType)} started${e.payload.initiator ? ` by ${e.payload.initiator.name}` : ""}`,
|
|
275
275
|
joinUrl: (e) => e.payload.joinUrl
|
|
276
276
|
},
|
|
277
277
|
CHAT_CALL_ENDED: {
|
|
@@ -279,7 +279,7 @@ const m = {
|
|
|
279
279
|
channelKind: "chat",
|
|
280
280
|
icon: "message-circle",
|
|
281
281
|
snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${b(e.payload.duration)})` : ""}`,
|
|
282
|
-
timeline: (e) => `${
|
|
282
|
+
timeline: (e) => `${L(e.payload.callType)} ended${O(e.payload.duration)}`,
|
|
283
283
|
joinUrl: (e) => e.payload.joinUrl
|
|
284
284
|
},
|
|
285
285
|
CHAT_EVENT: {
|
|
@@ -411,37 +411,37 @@ function $(e) {
|
|
|
411
411
|
function f(e) {
|
|
412
412
|
return m[e];
|
|
413
413
|
}
|
|
414
|
-
function
|
|
414
|
+
function Vt(e) {
|
|
415
415
|
return f(e)?.icon ?? "circle";
|
|
416
416
|
}
|
|
417
|
-
function
|
|
417
|
+
function jt(e) {
|
|
418
418
|
return f(e)?.channelKind;
|
|
419
419
|
}
|
|
420
|
-
function
|
|
420
|
+
function Xt(e) {
|
|
421
421
|
const t = f(e)?.shape;
|
|
422
422
|
return t === "message" || t === "note";
|
|
423
423
|
}
|
|
424
|
-
function
|
|
424
|
+
function Wt(e) {
|
|
425
425
|
return f(e)?.replyable === !0;
|
|
426
426
|
}
|
|
427
|
-
function
|
|
427
|
+
function Yt(e) {
|
|
428
428
|
return f(e)?.carriesText === !0;
|
|
429
429
|
}
|
|
430
|
-
function
|
|
430
|
+
function zt(e) {
|
|
431
431
|
return f(e)?.countsAs;
|
|
432
432
|
}
|
|
433
|
-
function
|
|
433
|
+
function qt(e) {
|
|
434
434
|
return f(e)?.playbookAuthored === !0;
|
|
435
435
|
}
|
|
436
436
|
function Ee(e) {
|
|
437
437
|
const t = f(e.type)?.snippet;
|
|
438
438
|
return t ? t(e) : "";
|
|
439
439
|
}
|
|
440
|
-
function
|
|
440
|
+
function Jt(e, t) {
|
|
441
441
|
const n = f(e.type)?.timeline;
|
|
442
442
|
return n ? n(e, t) : e.type.replace(/_/g, " ").toLowerCase();
|
|
443
443
|
}
|
|
444
|
-
function
|
|
444
|
+
function Qt(e) {
|
|
445
445
|
const t = f(e.type)?.joinUrl;
|
|
446
446
|
return t ? t(e) : void 0;
|
|
447
447
|
}
|
|
@@ -459,16 +459,16 @@ function v(e, t, n) {
|
|
|
459
459
|
if ("value" in e)
|
|
460
460
|
return N(t, e.value) || null;
|
|
461
461
|
const i = {};
|
|
462
|
-
for (const [
|
|
463
|
-
i[
|
|
464
|
-
const
|
|
465
|
-
return
|
|
462
|
+
for (const [a, o] of Object.entries(e.params ?? {}))
|
|
463
|
+
i[a] = N(t, o);
|
|
464
|
+
const r = n(e.key, i);
|
|
465
|
+
return r === e.key ? null : r;
|
|
466
466
|
}
|
|
467
467
|
function Ae(e, t) {
|
|
468
468
|
if (!e || typeof e == "string" || "value" in e) return null;
|
|
469
469
|
const n = {};
|
|
470
|
-
for (const [i,
|
|
471
|
-
n[i] = N(t,
|
|
470
|
+
for (const [i, r] of Object.entries(e.params ?? {}))
|
|
471
|
+
n[i] = N(t, r);
|
|
472
472
|
return { key: e.key, params: n };
|
|
473
473
|
}
|
|
474
474
|
const _e = (e) => e;
|
|
@@ -528,8 +528,8 @@ class Te {
|
|
|
528
528
|
timelineText(t, n) {
|
|
529
529
|
const i = m[t.type];
|
|
530
530
|
if (i?.timeline) return i.timeline(t, n);
|
|
531
|
-
const
|
|
532
|
-
return v(
|
|
531
|
+
const r = this.declared.get(t.type);
|
|
532
|
+
return v(r?.text, t, this.translate) ?? t.type.replace(/_/g, " ").toLowerCase();
|
|
533
533
|
}
|
|
534
534
|
/** De regel voor de inboxlijst. Leeg wanneer het type niets te tonen heeft. */
|
|
535
535
|
snippet(t) {
|
|
@@ -552,33 +552,33 @@ class Te {
|
|
|
552
552
|
return this.translate;
|
|
553
553
|
}
|
|
554
554
|
}
|
|
555
|
-
const
|
|
556
|
-
function
|
|
555
|
+
const Zt = new Te(), D = 140;
|
|
556
|
+
function Se(e) {
|
|
557
557
|
const t = e.trim();
|
|
558
558
|
return t.length <= D ? t : t.slice(0, D - 1).trimEnd() + "…";
|
|
559
559
|
}
|
|
560
|
-
function
|
|
561
|
-
const n = Ae(t?.text, e), i = t ? v(t.text, e, (
|
|
560
|
+
function en(e, t) {
|
|
561
|
+
const n = Ae(t?.text, e), i = t ? v(t.text, e, (r) => r) : null;
|
|
562
562
|
return {
|
|
563
563
|
activityId: e.id,
|
|
564
564
|
type: e.type,
|
|
565
|
-
snippet:
|
|
565
|
+
snippet: Se(i ?? Ee(e)),
|
|
566
566
|
authorName: e.author?.name ?? "",
|
|
567
567
|
direction: e.direction,
|
|
568
568
|
createdAt: e.createdAt ?? Date.now(),
|
|
569
569
|
...n ? { snippetKey: n.key, snippetParams: n.params } : {}
|
|
570
570
|
};
|
|
571
571
|
}
|
|
572
|
-
function
|
|
572
|
+
function tn(e, t, n = []) {
|
|
573
573
|
const i = e.createdAt;
|
|
574
574
|
if (!i) return [];
|
|
575
|
-
const
|
|
576
|
-
return e.author.type === "user" && e.author.id &&
|
|
575
|
+
const r = new Set(n);
|
|
576
|
+
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
577
|
}
|
|
578
|
-
function
|
|
578
|
+
function nn(e) {
|
|
579
579
|
return e.createdAt ?? 0;
|
|
580
580
|
}
|
|
581
|
-
const
|
|
581
|
+
const rn = [
|
|
582
582
|
{ id: "agent", label: "Agent", labelSource: "user" },
|
|
583
583
|
{ id: "team", label: "Team", labelSource: "team" },
|
|
584
584
|
{ id: "inbox", label: "Inbox", labelSource: "inbox" },
|
|
@@ -588,7 +588,7 @@ const tn = [
|
|
|
588
588
|
{ id: "handledBy", label: "Afhandelaar", labelSource: "raw" },
|
|
589
589
|
{ id: "time", label: "Tijd", labelSource: "raw" }
|
|
590
590
|
];
|
|
591
|
-
function
|
|
591
|
+
function an(e) {
|
|
592
592
|
const t = [];
|
|
593
593
|
for (const n of Object.keys(e))
|
|
594
594
|
for (const i of Object.keys(e[n]))
|
|
@@ -598,7 +598,7 @@ function nn(e) {
|
|
|
598
598
|
function M(e) {
|
|
599
599
|
return e < 10 ? `0${e}` : `${e}`;
|
|
600
600
|
}
|
|
601
|
-
function
|
|
601
|
+
function Ie(e, t) {
|
|
602
602
|
const n = new Date(e), i = `${n.getUTCFullYear()}-${M(n.getUTCMonth() + 1)}-${M(n.getUTCDate())}`;
|
|
603
603
|
return t === "day" ? i : `${i}T${M(n.getUTCHours())}`;
|
|
604
604
|
}
|
|
@@ -607,11 +607,11 @@ function Me(e, t) {
|
|
|
607
607
|
return n.setUTCMinutes(0, 0, 0), t === "day" && n.setUTCHours(0), n.getTime();
|
|
608
608
|
}
|
|
609
609
|
const Ce = 36e5, xe = 864e5;
|
|
610
|
-
function
|
|
611
|
-
const i = n === "hour" ? Ce : xe,
|
|
612
|
-
for (let
|
|
613
|
-
|
|
614
|
-
return
|
|
610
|
+
function on(e, t, n) {
|
|
611
|
+
const i = n === "hour" ? Ce : xe, r = [];
|
|
612
|
+
for (let a = Me(e, n); a <= t; a += i)
|
|
613
|
+
r.push(Ie(a, n));
|
|
614
|
+
return r;
|
|
615
615
|
}
|
|
616
616
|
const Ne = [
|
|
617
617
|
{ id: "resource", label: "Resource", labelSource: "raw" },
|
|
@@ -620,7 +620,7 @@ const Ne = [
|
|
|
620
620
|
function ke(e, t) {
|
|
621
621
|
return `${e}.usage.${t}`;
|
|
622
622
|
}
|
|
623
|
-
function
|
|
623
|
+
function sn(e, t) {
|
|
624
624
|
return t.map((n) => ({
|
|
625
625
|
id: ke(e, n.unit),
|
|
626
626
|
label: n.label,
|
|
@@ -635,7 +635,7 @@ function rn(e, t) {
|
|
|
635
635
|
]
|
|
636
636
|
}));
|
|
637
637
|
}
|
|
638
|
-
const ne = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), P = 200, U = 100, K = 200, B = 12, G = 4, ie = 4e3, C = 500,
|
|
638
|
+
const ne = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), P = 200, U = 100, K = 200, B = 12, G = 4, ie = 4e3, C = 500, ln = 256 * 1024, Oe = /* @__PURE__ */ new Set([
|
|
639
639
|
"heading",
|
|
640
640
|
"paragraph",
|
|
641
641
|
"list",
|
|
@@ -645,12 +645,12 @@ const ne = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]
|
|
|
645
645
|
"table",
|
|
646
646
|
"kpi",
|
|
647
647
|
"callout"
|
|
648
|
-
]),
|
|
649
|
-
function
|
|
648
|
+
]), Le = ["http:", "https:", "mailto:", "tel:"], $e = /^[a-z][a-z0-9+.-]*:/i;
|
|
649
|
+
function re(e) {
|
|
650
650
|
const t = e.trim().replace(/^<|>$/g, "");
|
|
651
651
|
if (!t) return !1;
|
|
652
652
|
const n = $e.exec(t)?.[0];
|
|
653
|
-
return n ?
|
|
653
|
+
return n ? Le.includes(n.toLowerCase()) : !t.startsWith("//");
|
|
654
654
|
}
|
|
655
655
|
const Re = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
|
|
656
656
|
function we(e) {
|
|
@@ -661,38 +661,38 @@ function we(e) {
|
|
|
661
661
|
t += e[n], n += 1;
|
|
662
662
|
continue;
|
|
663
663
|
}
|
|
664
|
-
const
|
|
665
|
-
if (
|
|
664
|
+
const r = n + (i ? 2 : 1), a = F(e, r, "[", "]");
|
|
665
|
+
if (a < 0 || e[a + 1] !== "(") {
|
|
666
666
|
t += e[n], n += 1;
|
|
667
667
|
continue;
|
|
668
668
|
}
|
|
669
|
-
const o = F(e,
|
|
669
|
+
const o = F(e, a + 2, "(", ")");
|
|
670
670
|
if (o < 0) {
|
|
671
671
|
t += e[n], n += 1;
|
|
672
672
|
continue;
|
|
673
673
|
}
|
|
674
|
-
const s = e.slice(
|
|
675
|
-
t += i || !
|
|
674
|
+
const s = e.slice(r, a), l = e.slice(a + 2, o).trim().split(/\s+/)[0] ?? "";
|
|
675
|
+
t += i || !re(l) ? s : e.slice(n, o + 1), n = o + 1;
|
|
676
676
|
}
|
|
677
677
|
return t;
|
|
678
678
|
}
|
|
679
679
|
function F(e, t, n, i) {
|
|
680
|
-
let
|
|
681
|
-
for (let
|
|
682
|
-
if (e[
|
|
683
|
-
|
|
680
|
+
let r = 1;
|
|
681
|
+
for (let a = t; a < e.length; a += 1) {
|
|
682
|
+
if (e[a] === "\\") {
|
|
683
|
+
a += 1;
|
|
684
684
|
continue;
|
|
685
685
|
}
|
|
686
|
-
if (e[
|
|
687
|
-
else if (e[
|
|
688
|
-
return
|
|
686
|
+
if (e[a] === n) r += 1;
|
|
687
|
+
else if (e[a] === i && (r -= 1, r === 0))
|
|
688
|
+
return a;
|
|
689
689
|
}
|
|
690
690
|
return -1;
|
|
691
691
|
}
|
|
692
692
|
function De(e) {
|
|
693
693
|
return we(e).replace(
|
|
694
694
|
Re,
|
|
695
|
-
(t, n, i) =>
|
|
695
|
+
(t, n, i) => re(i) ? t : ""
|
|
696
696
|
);
|
|
697
697
|
}
|
|
698
698
|
function u(e, t = ie) {
|
|
@@ -704,7 +704,7 @@ function Pe(e, t = ie) {
|
|
|
704
704
|
function Ue(e, t = "info") {
|
|
705
705
|
return typeof e == "string" && ne.has(e) ? e : t;
|
|
706
706
|
}
|
|
707
|
-
function
|
|
707
|
+
function cn(e, t = () => {
|
|
708
708
|
}) {
|
|
709
709
|
if (!Array.isArray(e)) return [];
|
|
710
710
|
const n = [];
|
|
@@ -714,56 +714,56 @@ function sn(e, t = () => {
|
|
|
714
714
|
break;
|
|
715
715
|
}
|
|
716
716
|
if (!i || typeof i != "object") continue;
|
|
717
|
-
const
|
|
718
|
-
if (!
|
|
719
|
-
t("unknown block type " + String(
|
|
717
|
+
const r = i;
|
|
718
|
+
if (!Oe.has(r.type)) {
|
|
719
|
+
t("unknown block type " + String(r.type));
|
|
720
720
|
continue;
|
|
721
721
|
}
|
|
722
|
-
const
|
|
723
|
-
switch (
|
|
722
|
+
const a = typeof r.block_id == "string" ? { block_id: r.block_id } : {};
|
|
723
|
+
switch (r.type) {
|
|
724
724
|
case "heading": {
|
|
725
|
-
const o = u(
|
|
725
|
+
const o = u(r.text);
|
|
726
726
|
if (!o) {
|
|
727
727
|
t("a heading without text");
|
|
728
728
|
continue;
|
|
729
729
|
}
|
|
730
|
-
const s =
|
|
731
|
-
n.push({ ...
|
|
730
|
+
const s = r.level === 2 || r.level === 3 ? r.level : 1;
|
|
731
|
+
n.push({ ...a, type: "heading", level: s, text: o });
|
|
732
732
|
break;
|
|
733
733
|
}
|
|
734
734
|
case "paragraph": {
|
|
735
|
-
const o = u(
|
|
735
|
+
const o = u(r.text);
|
|
736
736
|
if (!o) {
|
|
737
737
|
t("a paragraph without text");
|
|
738
738
|
continue;
|
|
739
739
|
}
|
|
740
|
-
n.push({ ...
|
|
740
|
+
n.push({ ...a, type: "paragraph", text: o });
|
|
741
741
|
break;
|
|
742
742
|
}
|
|
743
743
|
case "quote": {
|
|
744
|
-
const o = u(
|
|
744
|
+
const o = u(r.text);
|
|
745
745
|
if (!o) {
|
|
746
746
|
t("a quote without text");
|
|
747
747
|
continue;
|
|
748
748
|
}
|
|
749
|
-
n.push({ ...
|
|
749
|
+
n.push({ ...a, type: "quote", text: o });
|
|
750
750
|
break;
|
|
751
751
|
}
|
|
752
752
|
case "code": {
|
|
753
|
-
const o = Pe(
|
|
753
|
+
const o = Pe(r.text);
|
|
754
754
|
if (!o) {
|
|
755
755
|
t("a code block without text");
|
|
756
756
|
continue;
|
|
757
757
|
}
|
|
758
|
-
const s = typeof
|
|
759
|
-
n.push({ ...
|
|
758
|
+
const s = typeof r.lang == "string" ? { lang: r.lang.slice(0, 32) } : {};
|
|
759
|
+
n.push({ ...a, type: "code", ...s, text: o });
|
|
760
760
|
break;
|
|
761
761
|
}
|
|
762
762
|
case "divider":
|
|
763
|
-
n.push({ ...
|
|
763
|
+
n.push({ ...a, type: "divider" });
|
|
764
764
|
break;
|
|
765
765
|
case "list": {
|
|
766
|
-
const o = Array.isArray(
|
|
766
|
+
const o = Array.isArray(r.items) ? r.items : [], s = [];
|
|
767
767
|
for (const p of o) {
|
|
768
768
|
if (s.length >= U) {
|
|
769
769
|
t("more than " + U + " list items");
|
|
@@ -778,12 +778,12 @@ function sn(e, t = () => {
|
|
|
778
778
|
t("a list without usable items");
|
|
779
779
|
continue;
|
|
780
780
|
}
|
|
781
|
-
const l =
|
|
782
|
-
n.push({ ...
|
|
781
|
+
const l = r.style === "numbered" ? "numbered" : "bulleted";
|
|
782
|
+
n.push({ ...a, type: "list", style: l, items: s });
|
|
783
783
|
break;
|
|
784
784
|
}
|
|
785
785
|
case "table": {
|
|
786
|
-
const o = Array.isArray(
|
|
786
|
+
const o = Array.isArray(r.columns) ? r.columns : [], s = [];
|
|
787
787
|
for (const c of o) {
|
|
788
788
|
if (s.length >= B) {
|
|
789
789
|
t("more than " + B + " table columns");
|
|
@@ -796,7 +796,7 @@ function sn(e, t = () => {
|
|
|
796
796
|
t("a table without columns");
|
|
797
797
|
continue;
|
|
798
798
|
}
|
|
799
|
-
const l = Array.isArray(
|
|
799
|
+
const l = Array.isArray(r.rows) ? r.rows : [], p = [];
|
|
800
800
|
for (const c of l) {
|
|
801
801
|
if (p.length >= K) {
|
|
802
802
|
t("more than " + K + " table rows");
|
|
@@ -807,9 +807,9 @@ function sn(e, t = () => {
|
|
|
807
807
|
s.map((T, he) => u(y[he], C))
|
|
808
808
|
);
|
|
809
809
|
}
|
|
810
|
-
const d = u(
|
|
810
|
+
const d = u(r.caption, C);
|
|
811
811
|
n.push({
|
|
812
|
-
...
|
|
812
|
+
...a,
|
|
813
813
|
type: "table",
|
|
814
814
|
columns: s,
|
|
815
815
|
rows: p,
|
|
@@ -818,7 +818,7 @@ function sn(e, t = () => {
|
|
|
818
818
|
break;
|
|
819
819
|
}
|
|
820
820
|
case "kpi": {
|
|
821
|
-
const o = Array.isArray(
|
|
821
|
+
const o = Array.isArray(r.items) ? r.items : [], s = [];
|
|
822
822
|
for (const l of o) {
|
|
823
823
|
if (s.length >= G) {
|
|
824
824
|
t("more than " + G + " kpi items");
|
|
@@ -835,20 +835,20 @@ function sn(e, t = () => {
|
|
|
835
835
|
t("a kpi block without usable items");
|
|
836
836
|
continue;
|
|
837
837
|
}
|
|
838
|
-
n.push({ ...
|
|
838
|
+
n.push({ ...a, type: "kpi", items: s });
|
|
839
839
|
break;
|
|
840
840
|
}
|
|
841
841
|
case "callout": {
|
|
842
|
-
const o = u(
|
|
842
|
+
const o = u(r.text);
|
|
843
843
|
if (!o) {
|
|
844
844
|
t("a callout without text");
|
|
845
845
|
continue;
|
|
846
846
|
}
|
|
847
|
-
const s = u(
|
|
847
|
+
const s = u(r.title, 200);
|
|
848
848
|
n.push({
|
|
849
|
-
...
|
|
849
|
+
...a,
|
|
850
850
|
type: "callout",
|
|
851
|
-
tone: Ue(
|
|
851
|
+
tone: Ue(r.tone),
|
|
852
852
|
...s ? { title: s } : {},
|
|
853
853
|
text: o
|
|
854
854
|
});
|
|
@@ -858,10 +858,10 @@ function sn(e, t = () => {
|
|
|
858
858
|
}
|
|
859
859
|
return n;
|
|
860
860
|
}
|
|
861
|
-
function
|
|
861
|
+
function un(e) {
|
|
862
862
|
return JSON.stringify(e).length;
|
|
863
863
|
}
|
|
864
|
-
function
|
|
864
|
+
function pn(e) {
|
|
865
865
|
return {
|
|
866
866
|
blocks: e.length,
|
|
867
867
|
types: e.map((t) => t.type),
|
|
@@ -872,11 +872,11 @@ function H(e) {
|
|
|
872
872
|
return e.replace(/\|/g, "\\|").replace(/\r?\n/g, " ").trim();
|
|
873
873
|
}
|
|
874
874
|
function V(e, t, n) {
|
|
875
|
-
const i = e.map((
|
|
875
|
+
const i = e.map((r, a) => n?.[a] === "right" ? "---:" : "---");
|
|
876
876
|
return [
|
|
877
877
|
`| ${e.map(H).join(" | ")} |`,
|
|
878
878
|
`| ${i.join(" | ")} |`,
|
|
879
|
-
...t.map((
|
|
879
|
+
...t.map((r) => `| ${r.map(H).join(" | ")} |`)
|
|
880
880
|
];
|
|
881
881
|
}
|
|
882
882
|
function Ke(e) {
|
|
@@ -913,12 +913,12 @@ function Ke(e) {
|
|
|
913
913
|
return (e.title ? `**${e.title}** ${e.text}` : e.text).split(/\r?\n/).map((n) => `> ${n}`);
|
|
914
914
|
}
|
|
915
915
|
}
|
|
916
|
-
function
|
|
917
|
-
const n = [], i = e.some((
|
|
916
|
+
function dn(e, t) {
|
|
917
|
+
const n = [], i = e.some((r) => r.type === "heading" && r.level === 1);
|
|
918
918
|
t && !i && n.push(`# ${t}`);
|
|
919
|
-
for (const
|
|
920
|
-
const
|
|
921
|
-
|
|
919
|
+
for (const r of e) {
|
|
920
|
+
const a = Ke(r);
|
|
921
|
+
a.length > 0 && n.push(a.join(`
|
|
922
922
|
`));
|
|
923
923
|
}
|
|
924
924
|
return `${n.join(`
|
|
@@ -926,26 +926,26 @@ function un(e, t) {
|
|
|
926
926
|
`)}
|
|
927
927
|
`;
|
|
928
928
|
}
|
|
929
|
-
const
|
|
930
|
-
function
|
|
929
|
+
const ae = (e) => `user:${e}`, oe = (e) => `team:${e}`;
|
|
930
|
+
function fn(e) {
|
|
931
931
|
const t = /* @__PURE__ */ new Set();
|
|
932
932
|
for (const n of e ?? [])
|
|
933
|
-
n?.id && (n.kind === "user" && t.add(
|
|
933
|
+
n?.id && (n.kind === "user" && t.add(ae(n.id)), n.kind === "team" && t.add(oe(n.id)));
|
|
934
934
|
return [...t].sort();
|
|
935
935
|
}
|
|
936
|
-
function
|
|
937
|
-
return [
|
|
936
|
+
function mn(e, t) {
|
|
937
|
+
return [ae(e), ...t.map(oe)];
|
|
938
938
|
}
|
|
939
|
-
function
|
|
939
|
+
function gn(e) {
|
|
940
940
|
const t = /* @__PURE__ */ new Set();
|
|
941
941
|
for (const n of e ?? [])
|
|
942
942
|
n?.kind && t.add(n.kind);
|
|
943
943
|
return [...t];
|
|
944
944
|
}
|
|
945
|
-
function
|
|
945
|
+
function hn(e) {
|
|
946
946
|
return (e.startsWith("tool:") ? e.slice(5) : e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
|
|
947
947
|
}
|
|
948
|
-
const
|
|
948
|
+
const yn = [
|
|
949
949
|
{ name: "text", type: "string" },
|
|
950
950
|
{ name: "subject", type: "string" },
|
|
951
951
|
{ name: "from", type: "string" },
|
|
@@ -968,7 +968,7 @@ const gn = [
|
|
|
968
968
|
// een nieuw adres) — een stap die hierop leunt hoort dus een `condition` te hebben.
|
|
969
969
|
{ name: "contactId", type: "string" },
|
|
970
970
|
{ name: "companyId", type: "string" }
|
|
971
|
-
],
|
|
971
|
+
], bn = {
|
|
972
972
|
topics: [
|
|
973
973
|
{ name: "topic", type: "string" },
|
|
974
974
|
{ name: "confidence", type: "number" }
|
|
@@ -989,22 +989,22 @@ function Be(e) {
|
|
|
989
989
|
return "org";
|
|
990
990
|
}
|
|
991
991
|
}
|
|
992
|
-
function
|
|
992
|
+
function En(e) {
|
|
993
993
|
if (typeof e != "string") return;
|
|
994
994
|
const t = e.trim();
|
|
995
995
|
if (t === "org") return { kind: "org" };
|
|
996
996
|
const n = t.indexOf(":");
|
|
997
997
|
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:
|
|
998
|
+
const i = t.slice(0, n), r = t.slice(n + 1).trim();
|
|
999
|
+
if (r) {
|
|
1000
|
+
if (i === "user") return { kind: "user", userId: r };
|
|
1001
|
+
if (i === "team") return { kind: "team", teamId: r };
|
|
1002
1002
|
}
|
|
1003
1003
|
}
|
|
1004
1004
|
function Ge(e) {
|
|
1005
1005
|
return Be(e);
|
|
1006
1006
|
}
|
|
1007
|
-
function
|
|
1007
|
+
function An(e) {
|
|
1008
1008
|
switch (e.kind) {
|
|
1009
1009
|
case "personal":
|
|
1010
1010
|
return { kind: "user", userId: e.userId };
|
|
@@ -1014,26 +1014,32 @@ function bn(e) {
|
|
|
1014
1014
|
return { kind: "org" };
|
|
1015
1015
|
}
|
|
1016
1016
|
}
|
|
1017
|
-
function
|
|
1017
|
+
function _n(e) {
|
|
1018
1018
|
return Ge(e);
|
|
1019
1019
|
}
|
|
1020
|
-
const Fe =
|
|
1021
|
-
function
|
|
1022
|
-
|
|
1020
|
+
const Fe = 64, He = 8e3;
|
|
1021
|
+
function Tn(e) {
|
|
1022
|
+
const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
|
|
1023
|
+
if (!(!Number.isFinite(t) || t <= 0))
|
|
1024
|
+
return Math.min(Math.max(Math.round(t), Fe), He);
|
|
1023
1025
|
}
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
+
const Ve = ["done", "escalated", "failed", "timed_out", "stopped"], je = ["awaiting_approval", "awaiting_reply"];
|
|
1027
|
+
function Xe(e) {
|
|
1028
|
+
return Ve.includes(e);
|
|
1026
1029
|
}
|
|
1027
|
-
function
|
|
1028
|
-
return
|
|
1030
|
+
function Sn(e) {
|
|
1031
|
+
return Xe(e);
|
|
1029
1032
|
}
|
|
1030
|
-
function
|
|
1033
|
+
function In(e) {
|
|
1034
|
+
return je.includes(e);
|
|
1035
|
+
}
|
|
1036
|
+
function Mn(e, t) {
|
|
1031
1037
|
const n = e.labels ?? [];
|
|
1032
1038
|
return n.find((i) => i.locale === t)?.label ?? n[0]?.label ?? e.url;
|
|
1033
1039
|
}
|
|
1034
|
-
function
|
|
1040
|
+
function Cn(e, t, n) {
|
|
1035
1041
|
const i = e.translations ?? [];
|
|
1036
|
-
return i.find((
|
|
1042
|
+
return i.find((r) => r.locale === t) ?? (n ? i.find((r) => r.locale === n) : void 0) ?? { locale: t };
|
|
1037
1043
|
}
|
|
1038
1044
|
const j = [
|
|
1039
1045
|
{ code: "nl", label: "Nederlands", english: "Dutch" },
|
|
@@ -1054,99 +1060,99 @@ function se(e) {
|
|
|
1054
1060
|
const t = (e ?? "").toLowerCase();
|
|
1055
1061
|
return j.find((n) => n.code === t) ?? j.find((n) => n.code === t.split("-")[0]);
|
|
1056
1062
|
}
|
|
1057
|
-
function
|
|
1063
|
+
function xn(e) {
|
|
1058
1064
|
return se(e)?.label ?? e;
|
|
1059
1065
|
}
|
|
1060
|
-
function
|
|
1066
|
+
function Nn(e) {
|
|
1061
1067
|
const t = se(e);
|
|
1062
1068
|
return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
|
|
1063
1069
|
}
|
|
1064
1070
|
const le = 3;
|
|
1065
|
-
function
|
|
1071
|
+
function We(e, t) {
|
|
1066
1072
|
const n = /* @__PURE__ */ new Set();
|
|
1067
|
-
let i = 1,
|
|
1068
|
-
for (;
|
|
1069
|
-
if (n.has(
|
|
1070
|
-
|
|
1073
|
+
let i = 1, r = t.get(e)?.parentId;
|
|
1074
|
+
for (; r; ) {
|
|
1075
|
+
if (n.has(r) || (n.add(r), i++, i > le + 1)) return 1 / 0;
|
|
1076
|
+
r = t.get(r)?.parentId;
|
|
1071
1077
|
}
|
|
1072
1078
|
return i;
|
|
1073
1079
|
}
|
|
1074
|
-
function
|
|
1080
|
+
function vn(e, t, n) {
|
|
1075
1081
|
if (!e) return !0;
|
|
1076
1082
|
if (e === t) return !1;
|
|
1077
1083
|
const i = new Map(n.map((o) => [o.id, o]));
|
|
1078
|
-
if (!i.has(e) || t &&
|
|
1079
|
-
const
|
|
1080
|
-
return
|
|
1084
|
+
if (!i.has(e) || t && Ye(e, t, i)) return !1;
|
|
1085
|
+
const r = We(e, i), a = t ? ce(t, n) : 1;
|
|
1086
|
+
return r + a <= le;
|
|
1081
1087
|
}
|
|
1082
|
-
function
|
|
1088
|
+
function Ye(e, t, n) {
|
|
1083
1089
|
const i = /* @__PURE__ */ new Set();
|
|
1084
|
-
let
|
|
1085
|
-
for (;
|
|
1086
|
-
if (
|
|
1087
|
-
if (i.has(
|
|
1088
|
-
i.add(
|
|
1090
|
+
let r = n.get(e)?.parentId;
|
|
1091
|
+
for (; r; ) {
|
|
1092
|
+
if (r === t) return !0;
|
|
1093
|
+
if (i.has(r)) return !1;
|
|
1094
|
+
i.add(r), r = n.get(r)?.parentId;
|
|
1089
1095
|
}
|
|
1090
1096
|
return !1;
|
|
1091
1097
|
}
|
|
1092
1098
|
function ce(e, t, n = /* @__PURE__ */ new Set()) {
|
|
1093
1099
|
if (n.has(e)) return 1;
|
|
1094
1100
|
n.add(e);
|
|
1095
|
-
const i = t.filter((
|
|
1096
|
-
return i.length ? 1 + Math.max(...i.map((
|
|
1101
|
+
const i = t.filter((r) => r.parentId === e);
|
|
1102
|
+
return i.length ? 1 + Math.max(...i.map((r) => ce(r.id, t, n))) : 1;
|
|
1097
1103
|
}
|
|
1098
|
-
const
|
|
1099
|
-
function
|
|
1100
|
-
return e.defaultLocale || e.locale ||
|
|
1104
|
+
const ze = "en";
|
|
1105
|
+
function qe(e) {
|
|
1106
|
+
return e.defaultLocale || e.locale || ze;
|
|
1101
1107
|
}
|
|
1102
|
-
function
|
|
1108
|
+
function kn(e) {
|
|
1103
1109
|
const t = /* @__PURE__ */ new Set(), n = [];
|
|
1104
|
-
for (const i of [
|
|
1110
|
+
for (const i of [qe(e), ...e.locales ?? []])
|
|
1105
1111
|
!i || t.has(i) || (t.add(i), n.push(i));
|
|
1106
1112
|
return n;
|
|
1107
1113
|
}
|
|
1108
|
-
function
|
|
1114
|
+
function On(e, t, n) {
|
|
1109
1115
|
const i = e.translations ?? [];
|
|
1110
|
-
return i.find((
|
|
1116
|
+
return i.find((r) => r.locale === t)?.name ?? (n ? i.find((r) => r.locale === n)?.name : void 0) ?? e.name;
|
|
1111
1117
|
}
|
|
1112
|
-
const
|
|
1118
|
+
const Je = 20, Qe = 20, x = 300;
|
|
1113
1119
|
function g(e) {
|
|
1114
1120
|
return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
|
|
1115
1121
|
}
|
|
1116
|
-
function
|
|
1122
|
+
function Ze(e) {
|
|
1117
1123
|
const t = e.replace(/\s+/g, " ").trim();
|
|
1118
1124
|
if (t.length <= x) return t;
|
|
1119
1125
|
const n = t.slice(0, x), i = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
|
|
1120
1126
|
return i > x * 0.6 ? n.slice(0, i + 1) : `${n.trimEnd()}…`;
|
|
1121
1127
|
}
|
|
1122
|
-
function
|
|
1123
|
-
const n =
|
|
1128
|
+
function Ln(e, t) {
|
|
1129
|
+
const n = Ze(t.text), i = g(n);
|
|
1124
1130
|
if (!i || (e.examples ?? []).some((o) => g(o) === i)) return null;
|
|
1125
|
-
const
|
|
1126
|
-
if (
|
|
1127
|
-
if (a
|
|
1128
|
-
const o = [...
|
|
1129
|
-
return o[
|
|
1131
|
+
const r = e.exampleCandidates ?? [], a = r.findIndex((o) => g(o.text) === i);
|
|
1132
|
+
if (a >= 0) {
|
|
1133
|
+
if (r[a].corrected || !t.corrected) return null;
|
|
1134
|
+
const o = [...r];
|
|
1135
|
+
return o[a] = { ...o[a], corrected: !0, addedAt: t.addedAt }, X(o);
|
|
1130
1136
|
}
|
|
1131
|
-
return X([{ ...t, text: n }, ...
|
|
1137
|
+
return X([{ ...t, text: n }, ...r]).slice(0, Qe);
|
|
1132
1138
|
}
|
|
1133
1139
|
function X(e) {
|
|
1134
1140
|
return [...e].sort((t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt);
|
|
1135
1141
|
}
|
|
1136
|
-
function
|
|
1137
|
-
const n = g(t), i = (e.examples ?? []).filter((
|
|
1138
|
-
return { examples: i.some((
|
|
1142
|
+
function $n(e, t) {
|
|
1143
|
+
const n = g(t), i = (e.examples ?? []).filter((a) => a.trim());
|
|
1144
|
+
return { examples: i.some((a) => g(a) === n) ? i : [...i, t].slice(-Je), exampleCandidates: et(e, t) };
|
|
1139
1145
|
}
|
|
1140
|
-
function
|
|
1146
|
+
function et(e, t) {
|
|
1141
1147
|
const n = g(t);
|
|
1142
1148
|
return (e.exampleCandidates ?? []).filter((i) => g(i.text) !== n);
|
|
1143
1149
|
}
|
|
1144
|
-
function
|
|
1150
|
+
function tt(e, t) {
|
|
1145
1151
|
const n = e.ownerScope;
|
|
1146
1152
|
return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
|
|
1147
1153
|
}
|
|
1148
|
-
function
|
|
1149
|
-
return e.filter((n) =>
|
|
1154
|
+
function Rn(e, t) {
|
|
1155
|
+
return e.filter((n) => tt(n, t));
|
|
1150
1156
|
}
|
|
1151
1157
|
const ue = [
|
|
1152
1158
|
{
|
|
@@ -1242,23 +1248,23 @@ const ue = [
|
|
|
1242
1248
|
function _(e) {
|
|
1243
1249
|
return ue.find((t) => t.id === e);
|
|
1244
1250
|
}
|
|
1245
|
-
function
|
|
1251
|
+
function wn(e) {
|
|
1246
1252
|
return _(e)?.label ?? e;
|
|
1247
1253
|
}
|
|
1248
|
-
function
|
|
1254
|
+
function Dn(e, t = "gpt-5-mini") {
|
|
1249
1255
|
return _(e)?.defaultModel ?? t;
|
|
1250
1256
|
}
|
|
1251
|
-
function
|
|
1257
|
+
function Pn(e) {
|
|
1252
1258
|
return ue.filter((t) => t.capabilities.includes(e));
|
|
1253
1259
|
}
|
|
1254
|
-
function
|
|
1260
|
+
function Un(e) {
|
|
1255
1261
|
const t = _(e);
|
|
1256
1262
|
return !!t && !t.baseUrl;
|
|
1257
1263
|
}
|
|
1258
|
-
function
|
|
1264
|
+
function Kn(e, t) {
|
|
1259
1265
|
return t === "text" ? !0 : _(e)?.attachmentKinds?.includes(t) === !0;
|
|
1260
1266
|
}
|
|
1261
|
-
function
|
|
1267
|
+
function Bn(e, t) {
|
|
1262
1268
|
if (!e.enabled) return "ok";
|
|
1263
1269
|
const n = W(e.hardLimitNanos), i = W(e.softLimitNanos);
|
|
1264
1270
|
return n !== void 0 && t >= n ? "hard" : i !== void 0 && t >= i ? "soft" : "ok";
|
|
@@ -1266,43 +1272,43 @@ function Pn(e, t) {
|
|
|
1266
1272
|
function W(e) {
|
|
1267
1273
|
return typeof e == "number" ? e : void 0;
|
|
1268
1274
|
}
|
|
1269
|
-
function
|
|
1275
|
+
function nt(e, t = "month") {
|
|
1270
1276
|
const n = new Date(e);
|
|
1271
1277
|
return Date.UTC(n.getUTCFullYear(), n.getUTCMonth(), 1);
|
|
1272
1278
|
}
|
|
1273
|
-
function
|
|
1274
|
-
const n = new Date(
|
|
1279
|
+
function Gn(e, t = "month") {
|
|
1280
|
+
const n = new Date(nt(e, t));
|
|
1275
1281
|
return `${n.getUTCFullYear()}-${String(n.getUTCMonth() + 1).padStart(2, "0")}`;
|
|
1276
1282
|
}
|
|
1277
|
-
const
|
|
1278
|
-
function
|
|
1283
|
+
const Fn = /* @__PURE__ */ new Set(["mail", "message"]);
|
|
1284
|
+
function it(e, t) {
|
|
1279
1285
|
const n = e.settings?.signatures?.[t];
|
|
1280
1286
|
return !n || !n.enabled || !n.body || n.body.trim() === "" ? null : n;
|
|
1281
1287
|
}
|
|
1282
|
-
function
|
|
1288
|
+
function Hn(e, t, n, i = "html") {
|
|
1283
1289
|
if (!e) return n;
|
|
1284
|
-
const
|
|
1285
|
-
return
|
|
1290
|
+
const r = it(e, t);
|
|
1291
|
+
return r ? `${n}${i === "text" ? `
|
|
1286
1292
|
|
|
1287
|
-
` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${
|
|
1293
|
+
` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${r.body}` : n;
|
|
1288
1294
|
}
|
|
1289
|
-
function
|
|
1295
|
+
function Vn(e) {
|
|
1290
1296
|
return e.endpoints ?? [];
|
|
1291
1297
|
}
|
|
1292
|
-
const
|
|
1298
|
+
const jn = (e) => !!e.assignedUserId || !!e.assignedInboxId, Xn = (e) => e.status === "closed", Wn = (e) => ({
|
|
1293
1299
|
urgent: 10,
|
|
1294
1300
|
high: 5,
|
|
1295
1301
|
normal: 2,
|
|
1296
1302
|
low: 1
|
|
1297
|
-
})[e.priority] || 0,
|
|
1298
|
-
function
|
|
1303
|
+
})[e.priority] || 0, Yn = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
|
|
1304
|
+
function zn(e, t) {
|
|
1299
1305
|
return e.lastActivityAt ? !(e.seenBy ?? []).includes(t) : !1;
|
|
1300
1306
|
}
|
|
1301
|
-
const
|
|
1302
|
-
function
|
|
1307
|
+
const qn = 1e3, Jn = 2e3, Qn = 500, Zn = 12e3, ei = 4e3, rt = ["contact", "company"];
|
|
1308
|
+
function ti(e) {
|
|
1303
1309
|
if (!e) return !1;
|
|
1304
1310
|
const t = e.slice(0, e.indexOf(":"));
|
|
1305
|
-
return
|
|
1311
|
+
return rt.includes(t);
|
|
1306
1312
|
}
|
|
1307
1313
|
const k = {
|
|
1308
1314
|
// The lower bounds are deliberately generous: service ranges (0800/0900) are
|
|
@@ -1327,7 +1333,7 @@ const k = {
|
|
|
1327
1333
|
PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
|
|
1328
1334
|
US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
|
|
1329
1335
|
CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
|
|
1330
|
-
},
|
|
1336
|
+
}, at = "NL", ot = 15, st = 8, lt = Array.from(
|
|
1331
1337
|
new Set(Object.values(k).map((e) => e.callingCode))
|
|
1332
1338
|
).sort((e, t) => t.length - e.length);
|
|
1333
1339
|
function Y(e) {
|
|
@@ -1338,27 +1344,27 @@ function A(e, t) {
|
|
|
1338
1344
|
return e.length >= t.nsnMin && e.length <= t.nsnMax;
|
|
1339
1345
|
}
|
|
1340
1346
|
function z(e) {
|
|
1341
|
-
if (e.length >
|
|
1342
|
-
for (const t of
|
|
1347
|
+
if (e.length > ot) return null;
|
|
1348
|
+
for (const t of lt) {
|
|
1343
1349
|
if (!e.startsWith(t)) continue;
|
|
1344
1350
|
const n = e.slice(t.length);
|
|
1345
1351
|
for (const i of Object.values(k)) {
|
|
1346
1352
|
if (i.callingCode !== t) continue;
|
|
1347
|
-
const
|
|
1348
|
-
if (A(
|
|
1353
|
+
const r = i.trunkPrefix, a = r && n.startsWith(r) ? n.slice(r.length) : n;
|
|
1354
|
+
if (A(a, i)) return `+${t}${a}`;
|
|
1349
1355
|
}
|
|
1350
1356
|
return null;
|
|
1351
1357
|
}
|
|
1352
|
-
return e.length <
|
|
1358
|
+
return e.length < st ? null : `+${e}`;
|
|
1353
1359
|
}
|
|
1354
|
-
function
|
|
1360
|
+
function ct(e) {
|
|
1355
1361
|
let t = e.trim();
|
|
1356
1362
|
const n = t.match(/^(sips?|tel|whatsapp):/i);
|
|
1357
1363
|
n && (t = t.slice(n[0].length));
|
|
1358
1364
|
const i = t.indexOf("@");
|
|
1359
1365
|
return i >= 0 && (t = t.slice(0, i)), t.trim();
|
|
1360
1366
|
}
|
|
1361
|
-
function
|
|
1367
|
+
function ni(e) {
|
|
1362
1368
|
if (!e) return !1;
|
|
1363
1369
|
const t = e.indexOf("@");
|
|
1364
1370
|
if (t <= 0) return !1;
|
|
@@ -1367,26 +1373,26 @@ function Zn(e) {
|
|
|
1367
1373
|
}
|
|
1368
1374
|
function q(e, t) {
|
|
1369
1375
|
if (!e) return null;
|
|
1370
|
-
const n =
|
|
1376
|
+
const n = ct(e);
|
|
1371
1377
|
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);
|
|
1378
|
+
const i = n.startsWith("+"), r = n.replace(/\D/g, "");
|
|
1377
1379
|
if (!r) return null;
|
|
1378
|
-
|
|
1379
|
-
if (
|
|
1380
|
-
|
|
1381
|
-
|
|
1380
|
+
if (i) return z(r);
|
|
1381
|
+
if (r.startsWith("00")) return z(r.slice(2));
|
|
1382
|
+
const a = Y(t) ?? Y(at);
|
|
1383
|
+
if (!a) return null;
|
|
1384
|
+
const o = a.trunkPrefix;
|
|
1385
|
+
if (o && r.startsWith(o)) {
|
|
1386
|
+
const s = r.slice(o.length);
|
|
1387
|
+
return A(s, a) ? `+${a.callingCode}${s}` : null;
|
|
1382
1388
|
}
|
|
1383
|
-
if (
|
|
1384
|
-
const s =
|
|
1385
|
-
if (A(s,
|
|
1389
|
+
if (r.startsWith(a.callingCode)) {
|
|
1390
|
+
const s = r.slice(a.callingCode.length);
|
|
1391
|
+
if (A(s, a)) return `+${a.callingCode}${s}`;
|
|
1386
1392
|
}
|
|
1387
|
-
return !o && A(
|
|
1393
|
+
return !o && A(r, a) ? `+${a.callingCode}${r}` : null;
|
|
1388
1394
|
}
|
|
1389
|
-
function
|
|
1395
|
+
function ii(e, t = 9) {
|
|
1390
1396
|
const n = (e ?? "").replace(/\D/g, "");
|
|
1391
1397
|
return n.length < t ? null : n.slice(-t);
|
|
1392
1398
|
}
|
|
@@ -1394,14 +1400,14 @@ function pe(e) {
|
|
|
1394
1400
|
if (!e) return null;
|
|
1395
1401
|
const t = e.trim().toLowerCase(), n = t.lastIndexOf("@");
|
|
1396
1402
|
if (n <= 0 || n === t.length - 1) return null;
|
|
1397
|
-
const i = t.slice(0, n).split("+")[0],
|
|
1398
|
-
return !i || !
|
|
1403
|
+
const i = t.slice(0, n).split("+")[0], r = t.slice(n + 1);
|
|
1404
|
+
return !i || !r.includes(".") ? null : `${i}@${r}`;
|
|
1399
1405
|
}
|
|
1400
|
-
function
|
|
1406
|
+
function ri(e) {
|
|
1401
1407
|
const t = pe(e);
|
|
1402
1408
|
return t ? t.slice(t.lastIndexOf("@") + 1) : null;
|
|
1403
1409
|
}
|
|
1404
|
-
const
|
|
1410
|
+
const ut = /* @__PURE__ */ new Set([
|
|
1405
1411
|
"co.uk",
|
|
1406
1412
|
"org.uk",
|
|
1407
1413
|
"gov.uk",
|
|
@@ -1411,14 +1417,14 @@ const lt = /* @__PURE__ */ new Set([
|
|
|
1411
1417
|
"com.br",
|
|
1412
1418
|
"co.za"
|
|
1413
1419
|
]);
|
|
1414
|
-
function
|
|
1420
|
+
function pt(e) {
|
|
1415
1421
|
if (!e) return null;
|
|
1416
1422
|
const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
|
|
1417
1423
|
if (t.length < 2) return null;
|
|
1418
1424
|
const n = t.slice(-2).join(".");
|
|
1419
|
-
return
|
|
1425
|
+
return ut.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
|
|
1420
1426
|
}
|
|
1421
|
-
const
|
|
1427
|
+
const dt = /* @__PURE__ */ new Set([
|
|
1422
1428
|
"gmail.com",
|
|
1423
1429
|
"googlemail.com",
|
|
1424
1430
|
"outlook.com",
|
|
@@ -1463,44 +1469,44 @@ const ut = /* @__PURE__ */ new Set([
|
|
|
1463
1469
|
"proximus.be",
|
|
1464
1470
|
"scarlet.be"
|
|
1465
1471
|
]);
|
|
1466
|
-
function
|
|
1467
|
-
const t =
|
|
1468
|
-
return t ?
|
|
1472
|
+
function ai(e) {
|
|
1473
|
+
const t = pt(e);
|
|
1474
|
+
return t ? dt.has(t) : !1;
|
|
1469
1475
|
}
|
|
1470
|
-
function
|
|
1476
|
+
function oi(e) {
|
|
1471
1477
|
if (!e) return !1;
|
|
1472
1478
|
const t = e.trim().toLowerCase();
|
|
1473
1479
|
return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
|
|
1474
1480
|
}
|
|
1475
|
-
function
|
|
1481
|
+
function si(e, t, n) {
|
|
1476
1482
|
if (!e || !t) return null;
|
|
1477
1483
|
const i = e.trim().toLowerCase();
|
|
1478
1484
|
if (i === "tel" || i === "sms" || i === "whatsapp") {
|
|
1479
|
-
const
|
|
1480
|
-
return
|
|
1485
|
+
const a = q(t, n);
|
|
1486
|
+
return a ? `tel:${a}` : null;
|
|
1481
1487
|
}
|
|
1482
1488
|
if (i === "fax") {
|
|
1483
|
-
const
|
|
1484
|
-
return
|
|
1489
|
+
const a = q(t, n);
|
|
1490
|
+
return a ? `fax:${a}` : null;
|
|
1485
1491
|
}
|
|
1486
1492
|
if (i === "mailto" || i === "email") {
|
|
1487
|
-
const
|
|
1488
|
-
return
|
|
1493
|
+
const a = pe(t);
|
|
1494
|
+
return a ? `mailto:${a}` : null;
|
|
1489
1495
|
}
|
|
1490
|
-
const
|
|
1491
|
-
return
|
|
1496
|
+
const r = t.trim().toLowerCase();
|
|
1497
|
+
return r ? `${i}:${r}` : null;
|
|
1492
1498
|
}
|
|
1493
|
-
const
|
|
1494
|
-
function
|
|
1499
|
+
const ft = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, mt = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
|
|
1500
|
+
function li(e) {
|
|
1495
1501
|
if (typeof e != "string" || !e) return "";
|
|
1496
1502
|
let t = e;
|
|
1497
1503
|
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
1504
|
`).map(
|
|
1499
1505
|
(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
1506
|
).join(`
|
|
1501
|
-
`), t = t.replace(
|
|
1507
|
+
`), t = t.replace(ft, "$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
1508
|
}
|
|
1503
|
-
const
|
|
1509
|
+
const gt = [
|
|
1504
1510
|
/<blockquote/i,
|
|
1505
1511
|
/class="?gmail_quote/i,
|
|
1506
1512
|
// Gmail quote container
|
|
@@ -1513,12 +1519,12 @@ const ft = [
|
|
|
1513
1519
|
// Outlook underscore separator before "From:"
|
|
1514
1520
|
/\bOn\b[\s\S]{0,200}?\bwrote:/i
|
|
1515
1521
|
// Gmail "On <date> <name> wrote:"
|
|
1516
|
-
], J = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i,
|
|
1517
|
-
function
|
|
1522
|
+
], J = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, ht = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
|
|
1523
|
+
function yt(e) {
|
|
1518
1524
|
const t = e.split(`
|
|
1519
1525
|
`);
|
|
1520
1526
|
for (let n = 0; n < t.length; n++)
|
|
1521
|
-
if (
|
|
1527
|
+
if (ht.test(t[n]) || J.test(t[n]) && t.slice(n + 1, n + 4).some((i) => J.test(i)))
|
|
1522
1528
|
return t.slice(0, n).join(`
|
|
1523
1529
|
`).trim();
|
|
1524
1530
|
return e;
|
|
@@ -1543,26 +1549,26 @@ function te(e) {
|
|
|
1543
1549
|
|
|
1544
1550
|
`).trim();
|
|
1545
1551
|
}
|
|
1546
|
-
function
|
|
1552
|
+
function ci(e) {
|
|
1547
1553
|
if (typeof e != "string" || !e) return "";
|
|
1548
1554
|
let t = e.length;
|
|
1549
|
-
for (const
|
|
1550
|
-
const o = e.search(
|
|
1555
|
+
for (const a of gt) {
|
|
1556
|
+
const o = e.search(a);
|
|
1551
1557
|
o >= 0 && o < t && (t = o);
|
|
1552
1558
|
}
|
|
1553
1559
|
const n = e.slice(0, t);
|
|
1554
1560
|
let i = te(ee(Q(n)));
|
|
1555
|
-
return i || (i = te(ee(Q(e)))),
|
|
1561
|
+
return i || (i = te(ee(Q(e)))), yt(i) || i;
|
|
1556
1562
|
}
|
|
1557
|
-
const
|
|
1558
|
-
function
|
|
1559
|
-
return !!(e &&
|
|
1563
|
+
const bt = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, Et = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
|
|
1564
|
+
function ui(e, t) {
|
|
1565
|
+
return !!(e && bt.test(e) || t && Et.test(t));
|
|
1560
1566
|
}
|
|
1561
|
-
const
|
|
1562
|
-
function
|
|
1563
|
-
return e >=
|
|
1567
|
+
const At = 3, _t = 600;
|
|
1568
|
+
function pi(e, t) {
|
|
1569
|
+
return e >= At || t >= _t;
|
|
1564
1570
|
}
|
|
1565
|
-
const
|
|
1571
|
+
const Tt = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), St = /* @__PURE__ */ new Set([
|
|
1566
1572
|
"text/plain",
|
|
1567
1573
|
"text/markdown",
|
|
1568
1574
|
"text/csv",
|
|
@@ -1571,77 +1577,77 @@ const At = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
|
|
|
1571
1577
|
"application/xml",
|
|
1572
1578
|
"text/xml"
|
|
1573
1579
|
]);
|
|
1574
|
-
function
|
|
1580
|
+
function It(e) {
|
|
1575
1581
|
const t = (e ?? "").trim().toLowerCase().split(";")[0];
|
|
1576
|
-
return t ?
|
|
1582
|
+
return t ? Tt.has(t) ? "image" : t === "application/pdf" ? "pdf" : St.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
|
|
1577
1583
|
}
|
|
1578
|
-
const h = 1024 * 1024,
|
|
1584
|
+
const h = 1024 * 1024, Mt = {
|
|
1579
1585
|
image: 5 * h,
|
|
1580
1586
|
pdf: 20 * h,
|
|
1581
1587
|
text: 1 * h,
|
|
1582
1588
|
audio: 20 * h
|
|
1583
|
-
},
|
|
1584
|
-
function
|
|
1585
|
-
const n =
|
|
1586
|
-
return n === "unsupported" ? "unsupported" : t >
|
|
1589
|
+
}, di = 25 * h, fi = 5;
|
|
1590
|
+
function mi(e, t) {
|
|
1591
|
+
const n = It(e);
|
|
1592
|
+
return n === "unsupported" ? "unsupported" : t > Mt[n] ? "too-large" : null;
|
|
1587
1593
|
}
|
|
1588
|
-
function
|
|
1589
|
-
const n = new Set(e.disabledIntents ?? []), i = e.intentOverrides ?? {},
|
|
1590
|
-
if (!e.extraIntents || e.extraIntents.length === 0) return
|
|
1591
|
-
const
|
|
1594
|
+
function Ct(e, t) {
|
|
1595
|
+
const n = new Set(e.disabledIntents ?? []), i = e.intentOverrides ?? {}, r = t.intents.filter((o) => !n.has(o.intent)).map((o) => Nt(o, i[o.intent]));
|
|
1596
|
+
if (!e.extraIntents || e.extraIntents.length === 0) return r;
|
|
1597
|
+
const a = new Set(r.map((o) => o.intent));
|
|
1592
1598
|
for (const o of e.extraIntents)
|
|
1593
|
-
|
|
1594
|
-
return
|
|
1599
|
+
a.has(o.intent) || (r.push(o), a.add(o.intent));
|
|
1600
|
+
return r;
|
|
1595
1601
|
}
|
|
1596
|
-
function
|
|
1602
|
+
function xt(e, t) {
|
|
1597
1603
|
const n = {};
|
|
1598
1604
|
for (const i of e.intents) {
|
|
1599
1605
|
if (!i.togglable) continue;
|
|
1600
|
-
const
|
|
1601
|
-
n[i.intent] =
|
|
1606
|
+
const r = t?.[i.intent];
|
|
1607
|
+
n[i.intent] = r ?? i.defaultEnabled ?? !0;
|
|
1602
1608
|
}
|
|
1603
1609
|
return n;
|
|
1604
1610
|
}
|
|
1605
|
-
function
|
|
1606
|
-
const n =
|
|
1611
|
+
function gi(e, t) {
|
|
1612
|
+
const n = xt(e, t);
|
|
1607
1613
|
return Object.entries(n).filter(([, i]) => !i).map(([i]) => i);
|
|
1608
1614
|
}
|
|
1609
|
-
function
|
|
1615
|
+
function Nt(e, t) {
|
|
1610
1616
|
return t ? {
|
|
1611
1617
|
intent: t.intent ?? e.intent,
|
|
1612
1618
|
targetSchemes: t.targetSchemes ?? e.targetSchemes,
|
|
1613
1619
|
transport: t.transport ?? e.transport
|
|
1614
1620
|
} : e;
|
|
1615
1621
|
}
|
|
1616
|
-
function
|
|
1622
|
+
function hi(e, t) {
|
|
1617
1623
|
const n = [];
|
|
1618
1624
|
for (const i of e) {
|
|
1619
1625
|
if (!i.enabled) continue;
|
|
1620
|
-
const
|
|
1621
|
-
if (
|
|
1622
|
-
for (const
|
|
1623
|
-
n.push({ channel: i, description:
|
|
1626
|
+
const r = t[i.providerId];
|
|
1627
|
+
if (r)
|
|
1628
|
+
for (const a of Ct(i, r))
|
|
1629
|
+
n.push({ channel: i, description: r, capability: a });
|
|
1624
1630
|
}
|
|
1625
1631
|
return n;
|
|
1626
1632
|
}
|
|
1627
|
-
function
|
|
1633
|
+
function yi(e, t) {
|
|
1628
1634
|
return t.filter((n) => n.capability.intent === e);
|
|
1629
1635
|
}
|
|
1630
|
-
function
|
|
1636
|
+
function vt(e, t) {
|
|
1631
1637
|
return t.filter((n) => n.capability.targetSchemes.includes(e));
|
|
1632
1638
|
}
|
|
1633
|
-
function
|
|
1634
|
-
return
|
|
1639
|
+
function bi(e, t) {
|
|
1640
|
+
return vt(e.scheme, t);
|
|
1635
1641
|
}
|
|
1636
|
-
function
|
|
1642
|
+
function Ei(e, t, n) {
|
|
1637
1643
|
const i = [];
|
|
1638
|
-
for (const
|
|
1639
|
-
for (const
|
|
1640
|
-
|
|
1644
|
+
for (const r of e)
|
|
1645
|
+
for (const a of n)
|
|
1646
|
+
a.capability.intent === t && a.capability.targetSchemes.includes(r.scheme) && i.push({ channelIntent: a, endpoint: r });
|
|
1641
1647
|
return i;
|
|
1642
1648
|
}
|
|
1643
|
-
var
|
|
1644
|
-
const
|
|
1649
|
+
var kt = /* @__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))(kt || {});
|
|
1650
|
+
const Ot = {
|
|
1645
1651
|
mailto: "mail",
|
|
1646
1652
|
sip: "tel",
|
|
1647
1653
|
tel: "tel",
|
|
@@ -1663,10 +1669,10 @@ const vt = {
|
|
|
1663
1669
|
id: "note",
|
|
1664
1670
|
custom: "note"
|
|
1665
1671
|
};
|
|
1666
|
-
function
|
|
1667
|
-
return e ?
|
|
1672
|
+
function Ai(e) {
|
|
1673
|
+
return e ? Ot[e] ?? "note" : "note";
|
|
1668
1674
|
}
|
|
1669
|
-
const
|
|
1675
|
+
const _i = "message_window", Ti = "message_templates", Si = {
|
|
1670
1676
|
// E-mail
|
|
1671
1677
|
FROM: "from",
|
|
1672
1678
|
TO: "to",
|
|
@@ -1683,94 +1689,94 @@ const bi = "message_window", Ei = "message_templates", Ai = {
|
|
|
1683
1689
|
// Voice/conference
|
|
1684
1690
|
HOST: "host",
|
|
1685
1691
|
PARTICIPANT: "participant"
|
|
1686
|
-
},
|
|
1692
|
+
}, Ii = (e, t) => ({ intent: e, ...t }), Mi = "folder_management", Ci = "remote_search", xi = { ok: !1, code: "UNSUPPORTED", message: "Provider does not support this op" }, de = "auth";
|
|
1687
1693
|
function fe(e) {
|
|
1688
1694
|
const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
|
|
1689
1695
|
return t ? t[1] : null;
|
|
1690
1696
|
}
|
|
1691
|
-
function
|
|
1697
|
+
function Ni(e) {
|
|
1692
1698
|
const t = fe(e);
|
|
1693
1699
|
return t ? t !== de : typeof e == "string" && e.startsWith("/wake");
|
|
1694
1700
|
}
|
|
1695
|
-
function
|
|
1701
|
+
function vi(e) {
|
|
1696
1702
|
return typeof e != "string" || e === "" || e === "/" ? !0 : fe(e) === de;
|
|
1697
1703
|
}
|
|
1698
|
-
function
|
|
1704
|
+
function Lt(e) {
|
|
1699
1705
|
return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
1700
1706
|
}
|
|
1701
|
-
function
|
|
1702
|
-
const n = e.split("/").filter(Boolean).map((i) => i.startsWith(":") ? i.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : "/" +
|
|
1707
|
+
function $t(e) {
|
|
1708
|
+
const n = e.split("/").filter(Boolean).map((i) => i.startsWith(":") ? i.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : "/" + Lt(i)).join("");
|
|
1703
1709
|
return new RegExp(`^${n}\\/?$`);
|
|
1704
1710
|
}
|
|
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 && (
|
|
1711
|
+
function Rt(e, t) {
|
|
1712
|
+
const n = e.split("/").filter(Boolean), i = t.split("/").filter(Boolean), r = {};
|
|
1713
|
+
return n.forEach((a, o) => {
|
|
1714
|
+
if (a.startsWith(":")) {
|
|
1715
|
+
const s = a.endsWith("?") ? a.slice(1, -1) : a.slice(1), l = i[o];
|
|
1716
|
+
l && (r[s] = l);
|
|
1711
1717
|
}
|
|
1712
|
-
}),
|
|
1718
|
+
}), r;
|
|
1713
1719
|
}
|
|
1714
|
-
function
|
|
1720
|
+
function wt(e) {
|
|
1715
1721
|
return e.publicBasePath ?? `/apps/${e.name}`;
|
|
1716
1722
|
}
|
|
1717
|
-
function
|
|
1723
|
+
function ki(e) {
|
|
1718
1724
|
const t = [];
|
|
1719
1725
|
for (const n of e) {
|
|
1720
1726
|
if (!n?.name) continue;
|
|
1721
|
-
const i =
|
|
1722
|
-
for (const
|
|
1723
|
-
if (!
|
|
1724
|
-
const
|
|
1727
|
+
const i = wt(n);
|
|
1728
|
+
for (const r of n.routes ?? []) {
|
|
1729
|
+
if (!r.public) continue;
|
|
1730
|
+
const a = r.path === "/" ? "" : r.path;
|
|
1725
1731
|
t.push({
|
|
1726
1732
|
appName: n.name,
|
|
1727
|
-
resource:
|
|
1728
|
-
pattern: `${i}${
|
|
1729
|
-
props:
|
|
1733
|
+
resource: r.resource,
|
|
1734
|
+
pattern: `${i}${a}`,
|
|
1735
|
+
props: r.props
|
|
1730
1736
|
});
|
|
1731
1737
|
}
|
|
1732
1738
|
}
|
|
1733
1739
|
return t;
|
|
1734
1740
|
}
|
|
1735
|
-
function
|
|
1741
|
+
function Dt(e, t) {
|
|
1736
1742
|
const n = e.split("/").filter(Boolean), i = t.split("/").filter(Boolean);
|
|
1737
|
-
for (let
|
|
1738
|
-
const
|
|
1739
|
-
if (
|
|
1743
|
+
for (let r = 0; r < Math.min(n.length, i.length); r++) {
|
|
1744
|
+
const a = n[r].startsWith(":"), o = i[r].startsWith(":");
|
|
1745
|
+
if (a !== o) return o;
|
|
1740
1746
|
}
|
|
1741
1747
|
return n.length > i.length;
|
|
1742
1748
|
}
|
|
1743
|
-
function
|
|
1749
|
+
function Pt(e, t) {
|
|
1744
1750
|
if (typeof e != "string") return null;
|
|
1745
1751
|
let n = null;
|
|
1746
1752
|
for (const i of t)
|
|
1747
|
-
|
|
1748
|
-
return n ? { ...n, params: { ...n.props, ...
|
|
1753
|
+
$t(i.pattern).test(e) && (!n || Dt(i.pattern, n.pattern)) && (n = i);
|
|
1754
|
+
return n ? { ...n, params: { ...n.props, ...Rt(n.pattern, e) } } : null;
|
|
1749
1755
|
}
|
|
1750
|
-
function
|
|
1751
|
-
return
|
|
1756
|
+
function Oi(e, t) {
|
|
1757
|
+
return Pt(e, t) !== null;
|
|
1752
1758
|
}
|
|
1753
|
-
const me = 9e4,
|
|
1754
|
-
function
|
|
1755
|
-
const i = n - e < me,
|
|
1756
|
-
if (!
|
|
1757
|
-
const
|
|
1758
|
-
return !i && !ge(
|
|
1759
|
+
const me = 9e4, Ut = ["out_of_office"], ge = (e) => Ut.includes(e);
|
|
1760
|
+
function Li(e, t, n) {
|
|
1761
|
+
const i = n - e < me, r = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
|
|
1762
|
+
if (!r?.status) return { online: i, status: i ? "available" : "offline" };
|
|
1763
|
+
const a = r.status;
|
|
1764
|
+
return !i && !ge(a) ? { online: !1, status: "offline" } : { online: i, status: a, message: r.message };
|
|
1759
1765
|
}
|
|
1760
|
-
function
|
|
1766
|
+
function $i(e, t) {
|
|
1761
1767
|
const n = t - e.lastSeenAt < me, i = n || ge(e.status) ? e.status : "offline";
|
|
1762
1768
|
return n === e.online && i === e.status ? e : { ...e, online: n, status: i };
|
|
1763
1769
|
}
|
|
1764
|
-
const
|
|
1770
|
+
const Ri = "installation-id";
|
|
1765
1771
|
export {
|
|
1766
1772
|
m as ACTIVITY_CATALOG,
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1773
|
+
Mt as AI_ATTACHMENT_LIMITS,
|
|
1774
|
+
fi as AI_ATTACHMENT_MAX_PER_TURN,
|
|
1775
|
+
di as AI_ATTACHMENT_TURN_BUDGET,
|
|
1770
1776
|
ue as AI_VENDORS,
|
|
1771
|
-
|
|
1777
|
+
Le as ALLOWED_LINK_SCHEMES,
|
|
1772
1778
|
P as ARTIFACT_MAX_BLOCKS,
|
|
1773
|
-
|
|
1779
|
+
ln as ARTIFACT_MAX_BODY_BYTES,
|
|
1774
1780
|
C as ARTIFACT_MAX_CELL_LEN,
|
|
1775
1781
|
G as ARTIFACT_MAX_KPI_ITEMS,
|
|
1776
1782
|
U as ARTIFACT_MAX_LIST_ITEMS,
|
|
@@ -1779,162 +1785,165 @@ export {
|
|
|
1779
1785
|
ie as ARTIFACT_MAX_TEXT_LEN,
|
|
1780
1786
|
de as AUTH_APP_NAME,
|
|
1781
1787
|
Te as ActivityTypeRegistry,
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1788
|
+
Zt as BUILT_IN_ONLY,
|
|
1789
|
+
bn as CLASSIFY_VARS,
|
|
1790
|
+
rn as CORE_DIMENSIONS,
|
|
1791
|
+
kt as CommunicationScheme,
|
|
1792
|
+
ei as DEFAULT_MEMORY_BUDGET,
|
|
1793
|
+
at as DEFAULT_PHONE_REGION,
|
|
1794
|
+
Mi as FEATURE_FOLDER_MANAGEMENT,
|
|
1795
|
+
Ci as FEATURE_REMOTE_SEARCH,
|
|
1796
|
+
Ri as INSTALLATION_HEADER,
|
|
1797
|
+
Si as InteractionParticipantRole,
|
|
1798
|
+
ze as KB_FALLBACK_LOCALE,
|
|
1793
1799
|
j as KB_LOCALES,
|
|
1794
|
-
|
|
1795
|
-
|
|
1800
|
+
Ft as MAX_ACTIONS,
|
|
1801
|
+
Kt as MAX_BLOCKS,
|
|
1796
1802
|
le as MAX_COLLECTION_DEPTH,
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1803
|
+
Bt as MAX_FIELDS,
|
|
1804
|
+
Gt as MAX_LIST_ITEMS,
|
|
1805
|
+
qn as MAX_MEMORY_BROWSE,
|
|
1806
|
+
Zn as MAX_MEMORY_BUDGET,
|
|
1807
|
+
Jn as MAX_MEMORY_CHARS,
|
|
1808
|
+
Qe as MAX_TOPIC_CANDIDATES,
|
|
1809
|
+
Je as MAX_TOPIC_EXAMPLES,
|
|
1804
1810
|
x as MAX_TOPIC_EXAMPLE_CHARS,
|
|
1805
|
-
|
|
1806
|
-
|
|
1811
|
+
Qn as MIN_MEMORY_BUDGET,
|
|
1812
|
+
je as PAUSED_RUN_STATUSES,
|
|
1807
1813
|
k as PHONE_REGIONS,
|
|
1808
1814
|
me as PRESENCE_ONLINE_WINDOW_MS,
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1815
|
+
Ut as PRESENCE_SURVIVES_OFFLINE,
|
|
1816
|
+
Ti as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
|
|
1817
|
+
_i as PROVIDER_FEATURE_MESSAGE_WINDOW,
|
|
1818
|
+
dt as PUBLIC_EMAIL_DOMAINS,
|
|
1819
|
+
rt as RELATED_SUBJECT_KINDS,
|
|
1820
|
+
Fn as SIGNATURE_INTENTS,
|
|
1821
|
+
He as STEP_MAX_TOKENS_MAX,
|
|
1822
|
+
Fe as STEP_MAX_TOKENS_MIN,
|
|
1823
|
+
_t as SUMMARY_MIN_LAST_CHARS,
|
|
1824
|
+
At as SUMMARY_MIN_MESSAGES,
|
|
1825
|
+
Ve as TERMINAL_RUN_STATUSES,
|
|
1826
|
+
yn as TRIGGER_VARS,
|
|
1827
|
+
xi as UNSUPPORTED,
|
|
1820
1828
|
Ne as USAGE_DIMENSIONS,
|
|
1821
1829
|
ve as USAGE_DIMENSION_IDS,
|
|
1822
|
-
|
|
1830
|
+
$n as acceptExampleCandidate,
|
|
1823
1831
|
Ge as actingIdentityKey,
|
|
1824
|
-
|
|
1825
|
-
|
|
1832
|
+
Vt as activityIconOf,
|
|
1833
|
+
Qt as activityJoinUrl,
|
|
1826
1834
|
Ee as activitySnippet,
|
|
1827
1835
|
Ae as activityTextParams,
|
|
1828
|
-
|
|
1829
|
-
|
|
1836
|
+
Jt as activityTimelineText,
|
|
1837
|
+
nn as activityTimestamp,
|
|
1830
1838
|
f as activityTypeInfo,
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1839
|
+
_n as actorKey,
|
|
1840
|
+
Ln as addExampleCandidate,
|
|
1841
|
+
$i as agePresenceEntry,
|
|
1842
|
+
It as aiAttachmentKind,
|
|
1843
|
+
mi as aiAttachmentRejection,
|
|
1836
1844
|
W as aiBudgetLimit,
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
+
Gn as aiBudgetPeriodKey,
|
|
1846
|
+
nt as aiBudgetPeriodStart,
|
|
1847
|
+
Bn as aiBudgetState,
|
|
1848
|
+
Kn as aiVendorAcceptsAttachment,
|
|
1849
|
+
Dn as aiVendorDefaultModel,
|
|
1850
|
+
wn as aiVendorLabel,
|
|
1851
|
+
Un as aiVendorNeedsBaseUrl,
|
|
1852
|
+
Pn as aiVendorsWith,
|
|
1845
1853
|
fe as appNameFromPath,
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1854
|
+
Hn as applySignature,
|
|
1855
|
+
un as artifactBodyBytes,
|
|
1856
|
+
pn as artifactOutline,
|
|
1857
|
+
dn as artifactToMarkdown,
|
|
1858
|
+
en as buildActivityPreview,
|
|
1859
|
+
hi as buildChannelIntents,
|
|
1860
|
+
fn as buildShareKeys,
|
|
1861
|
+
vn as canNestUnder,
|
|
1862
|
+
Yt as carriesText,
|
|
1863
|
+
On as categoryLabel,
|
|
1864
|
+
Ai as channelKindForScheme,
|
|
1865
|
+
jt as channelKindOf,
|
|
1866
|
+
Tn as clampStepMaxTokens,
|
|
1867
|
+
ci as cleanMessageText,
|
|
1868
|
+
qe as defaultLocaleOf,
|
|
1869
|
+
Ii as defineIntent,
|
|
1870
|
+
We as depthOf,
|
|
1871
|
+
Li as derivePresence,
|
|
1872
|
+
gi as disabledIntentsFromCapabilities,
|
|
1873
|
+
ri as emailDomain,
|
|
1874
|
+
si as endpointKey,
|
|
1875
|
+
Rt as extractParams,
|
|
1876
|
+
bi as filterByEndpoint,
|
|
1877
|
+
yi as filterByIntent,
|
|
1878
|
+
vt as filterByTargetScheme,
|
|
1870
1879
|
_ as findAiVendor,
|
|
1871
|
-
|
|
1880
|
+
an as flattenLocales,
|
|
1872
1881
|
Me as floorToPeriod,
|
|
1873
1882
|
Be as formatActingIdentity,
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1883
|
+
Ie as formatPeriod,
|
|
1884
|
+
tn as getActivitySeenUserIds,
|
|
1885
|
+
Vn as getContactEndpoints,
|
|
1886
|
+
Yn as getShortTitle,
|
|
1887
|
+
Wn as getUrgencyScore,
|
|
1879
1888
|
ce as heightOf,
|
|
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
|
-
|
|
1889
|
+
Cn as helpCenterText,
|
|
1890
|
+
hn as humanizeAction,
|
|
1891
|
+
jn as isAssigned,
|
|
1892
|
+
Xn as isClosed,
|
|
1893
|
+
Ni as isDeepLink,
|
|
1894
|
+
Ye as isDescendant,
|
|
1895
|
+
zn as isInteractionUnseen,
|
|
1896
|
+
vi as isLandingPath,
|
|
1897
|
+
ui as isLikelyBulk,
|
|
1898
|
+
Xt as isMessageType,
|
|
1899
|
+
Dt as isMoreSpecificPattern,
|
|
1900
|
+
In as isPaused,
|
|
1901
|
+
qt as isPlaybookAuthoredType,
|
|
1902
|
+
ai as isPublicEmailDomain,
|
|
1903
|
+
Oi as isPublicPath,
|
|
1904
|
+
Wt as isReplyableType,
|
|
1905
|
+
Sn as isRetryable,
|
|
1906
|
+
Xe as isTerminal,
|
|
1907
|
+
pi as isThreadLongEnough,
|
|
1908
|
+
Mn as linkLabel,
|
|
1909
|
+
Nn as localeInstruction,
|
|
1910
|
+
xn as localeName,
|
|
1911
|
+
kn as localesOf,
|
|
1912
|
+
ni as looksLikeEmail,
|
|
1913
|
+
Ei as matchContactToIntents,
|
|
1914
|
+
Pt as matchPublicRoute,
|
|
1915
|
+
zt as messageCountsAs,
|
|
1916
|
+
oi as needsPhoneRegion,
|
|
1917
|
+
cn as normalizeArtifactBlocks,
|
|
1918
|
+
Ht as normalizeBlocks,
|
|
1910
1919
|
pe as normalizeEmail,
|
|
1911
1920
|
g as normalizeExample,
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1921
|
+
En as parseActingIdentity,
|
|
1922
|
+
$t as pathToRegex,
|
|
1923
|
+
on as periodsInRange,
|
|
1924
|
+
ii as phoneSuffix,
|
|
1925
|
+
li as plainTextFromMarkdown,
|
|
1926
|
+
An as playbookActor,
|
|
1927
|
+
wt as publicBasePathFor,
|
|
1928
|
+
ki as publicRoutePatterns,
|
|
1920
1929
|
N as readPath,
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1930
|
+
pt as registrableDomain,
|
|
1931
|
+
et as rejectExampleCandidate,
|
|
1932
|
+
ti as relatedByDefault,
|
|
1933
|
+
xt as resolveAccountCapabilities,
|
|
1925
1934
|
v as resolveActivityText,
|
|
1926
|
-
|
|
1927
|
-
|
|
1935
|
+
Ct as resolveChannelIntents,
|
|
1936
|
+
it as resolveSignature,
|
|
1928
1937
|
De as sanitizeInline,
|
|
1929
1938
|
oe as shareKeyForTeam,
|
|
1930
|
-
|
|
1931
|
-
|
|
1939
|
+
ae as shareKeyForUser,
|
|
1940
|
+
mn as shareKeysForViewer,
|
|
1932
1941
|
be as stripHtml,
|
|
1933
1942
|
q as toE164,
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1943
|
+
gn as toolSourceKinds,
|
|
1944
|
+
tt as topicOfferedForTeam,
|
|
1945
|
+
Rn as topicsForTeam,
|
|
1946
|
+
Ze as truncateExample,
|
|
1938
1947
|
ke as usageMetricId,
|
|
1939
|
-
|
|
1948
|
+
sn as usageMetrics
|
|
1940
1949
|
};
|