@opencxh/domain 1.235.0 → 1.236.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/company/types.d.ts +2 -0
- package/dist/entities/contact/types.d.ts +8 -0
- package/dist/entities/document-template/index.d.ts +3 -0
- package/dist/entities/document-template/locale.d.ts +38 -0
- package/dist/entities/document-template/locale.test.d.ts +1 -0
- package/dist/entities/document-template/tokens.d.ts +27 -0
- package/dist/entities/document-template/tokens.test.d.ts +1 -0
- package/dist/entities/document-template/types.d.ts +87 -0
- package/dist/entities/kb/types.d.ts +9 -0
- package/dist/entities/organization/types.d.ts +8 -0
- package/dist/index.cjs +21 -14
- package/dist/index.d.ts +3 -0
- package/dist/index.js +1619 -1392
- package/dist/platform/document-parse.d.ts +2 -0
- package/dist/platform/document-text.d.ts +14 -0
- package/dist/platform/document-text.test.d.ts +1 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
const Ki = 10, Fi = 10, Bi = 10, Hi = 5, Qt = /* @__PURE__ */ new Set([
|
|
2
2
|
"header",
|
|
3
3
|
"section",
|
|
4
4
|
"context",
|
|
@@ -8,13 +8,13 @@ const Oi = 10, Ci = 10, Ni = 10, xi = 5, Yt = /* @__PURE__ */ new Set([
|
|
|
8
8
|
"actions",
|
|
9
9
|
"attachments"
|
|
10
10
|
]);
|
|
11
|
-
function
|
|
11
|
+
function ne(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 ji(e, t = () => {
|
|
18
18
|
}) {
|
|
19
19
|
if (!Array.isArray(e)) return [];
|
|
20
20
|
const n = [];
|
|
@@ -25,19 +25,19 @@ function Ri(e, t = () => {
|
|
|
25
25
|
}
|
|
26
26
|
if (!r || typeof r != "object") continue;
|
|
27
27
|
const o = r;
|
|
28
|
-
if (!
|
|
28
|
+
if (!Qt.has(o.type)) {
|
|
29
29
|
t(`unknown block type ${String(o.type)}`);
|
|
30
30
|
continue;
|
|
31
31
|
}
|
|
32
32
|
switch (o.type) {
|
|
33
33
|
case "header":
|
|
34
|
-
if (!
|
|
34
|
+
if (!ne(o.text)) {
|
|
35
35
|
t("a header without text");
|
|
36
36
|
continue;
|
|
37
37
|
}
|
|
38
38
|
break;
|
|
39
39
|
case "context":
|
|
40
|
-
if (!
|
|
40
|
+
if (!ne(o.text)) {
|
|
41
41
|
t("a context block without text");
|
|
42
42
|
continue;
|
|
43
43
|
}
|
|
@@ -59,7 +59,7 @@ function Ri(e, t = () => {
|
|
|
59
59
|
o.items.length > 10 && (t("more than 10 list items"), o.items = o.items.slice(0, 10));
|
|
60
60
|
break;
|
|
61
61
|
case "actions": {
|
|
62
|
-
const i = Array.isArray(o.elements) ? o.elements : [], s = i.filter((a) => a?.action_id && a.invoke &&
|
|
62
|
+
const i = Array.isArray(o.elements) ? o.elements : [], s = i.filter((a) => a?.action_id && a.invoke && ne(a.text));
|
|
63
63
|
if (s.length !== i.length && t("an action without action_id, invoke or text"), s.length === 0) continue;
|
|
64
64
|
s.length > 5 && t("more than 5 actions"), o.elements = s.slice(0, 5);
|
|
65
65
|
break;
|
|
@@ -69,34 +69,34 @@ function Ri(e, t = () => {
|
|
|
69
69
|
}
|
|
70
70
|
return n;
|
|
71
71
|
}
|
|
72
|
-
const
|
|
73
|
-
function
|
|
72
|
+
const en = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, tn = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
|
|
73
|
+
function nn(e) {
|
|
74
74
|
if (typeof e != "string" || !e) return "";
|
|
75
75
|
let t = e;
|
|
76
76
|
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(`
|
|
77
77
|
`).map(
|
|
78
78
|
(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,}$/, "")
|
|
79
79
|
).join(`
|
|
80
|
-
`), t = t.replace(
|
|
80
|
+
`), t = t.replace(en, "$2"), t = t.replace(tn, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
|
|
81
81
|
}
|
|
82
|
-
function
|
|
82
|
+
function rn(e) {
|
|
83
83
|
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();
|
|
84
84
|
}
|
|
85
|
-
function
|
|
85
|
+
function V(e) {
|
|
86
86
|
if (!e || e < 0) return "";
|
|
87
87
|
const t = Math.floor(e / 60), n = Math.floor(e % 60);
|
|
88
88
|
return `${t}:${n.toString().padStart(2, "0")}`;
|
|
89
89
|
}
|
|
90
|
-
function
|
|
90
|
+
function Re(e) {
|
|
91
91
|
return e ? ` — ${Math.floor(e / 60)}m ${e % 60}s` : "";
|
|
92
92
|
}
|
|
93
|
-
function
|
|
93
|
+
function re(e) {
|
|
94
94
|
return e?.split("@")?.[0] || e || "";
|
|
95
95
|
}
|
|
96
|
-
function
|
|
96
|
+
function z(e) {
|
|
97
97
|
return e.map((t) => t.name).join(", ");
|
|
98
98
|
}
|
|
99
|
-
function
|
|
99
|
+
function De(e) {
|
|
100
100
|
return e === "meeting" ? "Meeting" : e === "video" ? "Video call" : "Audio call";
|
|
101
101
|
}
|
|
102
102
|
const R = {
|
|
@@ -106,7 +106,7 @@ const R = {
|
|
|
106
106
|
channelKind: "voice",
|
|
107
107
|
icon: "phone",
|
|
108
108
|
snippet: () => "Gesprek gestart",
|
|
109
|
-
timeline: (e) => e.direction === "inbound" ? `Inbound call started — ${
|
|
109
|
+
timeline: (e) => e.direction === "inbound" ? `Inbound call started — ${re(e.payload.from)}` : `Outbound call started — ${re(e.payload.to)}`
|
|
110
110
|
},
|
|
111
111
|
VOICE_CALL_ANSWERED: {
|
|
112
112
|
shape: "event",
|
|
@@ -133,15 +133,15 @@ const R = {
|
|
|
133
133
|
shape: "event",
|
|
134
134
|
channelKind: "voice",
|
|
135
135
|
icon: "phone",
|
|
136
|
-
snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${
|
|
137
|
-
timeline: (e) => `Call ended${
|
|
136
|
+
snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${V(e.payload.duration)})` : ""}`,
|
|
137
|
+
timeline: (e) => `Call ended${Re(e.payload.duration)}`
|
|
138
138
|
},
|
|
139
139
|
VOICE_CALL_MISSED: {
|
|
140
140
|
shape: "event",
|
|
141
141
|
channelKind: "voice",
|
|
142
142
|
icon: "phone",
|
|
143
143
|
snippet: () => "Gemiste oproep",
|
|
144
|
-
timeline: (e) => `Missed call — ${
|
|
144
|
+
timeline: (e) => `Missed call — ${re(e.payload.from)}`
|
|
145
145
|
},
|
|
146
146
|
VOICE_CALL_FAILED: {
|
|
147
147
|
shape: "event",
|
|
@@ -188,7 +188,7 @@ const R = {
|
|
|
188
188
|
shape: "event",
|
|
189
189
|
channelKind: "video",
|
|
190
190
|
icon: "video",
|
|
191
|
-
snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${
|
|
191
|
+
snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${V(e.payload.duration)})` : ""}`,
|
|
192
192
|
timeline: () => "Video call ended"
|
|
193
193
|
},
|
|
194
194
|
VIDEO_CALL_MISSED: {
|
|
@@ -216,7 +216,7 @@ const R = {
|
|
|
216
216
|
replyable: !0,
|
|
217
217
|
carriesText: !0,
|
|
218
218
|
countsAs: "inbound_message",
|
|
219
|
-
snippet:
|
|
219
|
+
snippet: $e
|
|
220
220
|
},
|
|
221
221
|
EMAIL_SENT: {
|
|
222
222
|
shape: "message",
|
|
@@ -226,7 +226,7 @@ const R = {
|
|
|
226
226
|
replyable: !0,
|
|
227
227
|
carriesText: !0,
|
|
228
228
|
countsAs: "outbound_message",
|
|
229
|
-
snippet:
|
|
229
|
+
snippet: $e
|
|
230
230
|
},
|
|
231
231
|
/* ---- chat ---- */
|
|
232
232
|
CHAT_MESSAGE_SENT: {
|
|
@@ -255,9 +255,9 @@ const R = {
|
|
|
255
255
|
shape: "event",
|
|
256
256
|
channelKind: "chat",
|
|
257
257
|
icon: "message-circle",
|
|
258
|
-
snippet: (e) => `${
|
|
258
|
+
snippet: (e) => `${z(e.payload.members)} toegevoegd`,
|
|
259
259
|
timeline: (e) => {
|
|
260
|
-
const t =
|
|
260
|
+
const t = z(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · added by ${e.payload.initiator.name}` : "";
|
|
261
261
|
return `${t} joined the chat${n}`;
|
|
262
262
|
}
|
|
263
263
|
},
|
|
@@ -265,9 +265,9 @@ const R = {
|
|
|
265
265
|
shape: "event",
|
|
266
266
|
channelKind: "chat",
|
|
267
267
|
icon: "message-circle",
|
|
268
|
-
snippet: (e) => `${
|
|
268
|
+
snippet: (e) => `${z(e.payload.members)} verlaten`,
|
|
269
269
|
timeline: (e) => {
|
|
270
|
-
const t =
|
|
270
|
+
const t = z(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · removed by ${e.payload.initiator.name}` : "";
|
|
271
271
|
return `${t} left the chat${n}`;
|
|
272
272
|
}
|
|
273
273
|
},
|
|
@@ -283,15 +283,15 @@ const R = {
|
|
|
283
283
|
channelKind: "chat",
|
|
284
284
|
icon: "message-circle",
|
|
285
285
|
snippet: () => "Gesprek gestart",
|
|
286
|
-
timeline: (e) => `${
|
|
286
|
+
timeline: (e) => `${De(e.payload.callType)} started${e.payload.initiator ? ` by ${e.payload.initiator.name}` : ""}`,
|
|
287
287
|
joinUrl: (e) => e.payload.joinUrl
|
|
288
288
|
},
|
|
289
289
|
CHAT_CALL_ENDED: {
|
|
290
290
|
shape: "event",
|
|
291
291
|
channelKind: "chat",
|
|
292
292
|
icon: "message-circle",
|
|
293
|
-
snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${
|
|
294
|
-
timeline: (e) => `${
|
|
293
|
+
snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${V(e.payload.duration)})` : ""}`,
|
|
294
|
+
timeline: (e) => `${De(e.payload.callType)} ended${Re(e.payload.duration)}`,
|
|
295
295
|
joinUrl: (e) => e.payload.joinUrl
|
|
296
296
|
},
|
|
297
297
|
CHAT_EVENT: {
|
|
@@ -380,7 +380,7 @@ const R = {
|
|
|
380
380
|
MEETING_ENDED: {
|
|
381
381
|
shape: "event",
|
|
382
382
|
icon: "calendar",
|
|
383
|
-
snippet: (e) => `Vergadering beëindigd${e.payload.duration ? ` (${
|
|
383
|
+
snippet: (e) => `Vergadering beëindigd${e.payload.duration ? ` (${V(e.payload.duration)})` : ""}`,
|
|
384
384
|
timeline: () => "Meeting ended"
|
|
385
385
|
},
|
|
386
386
|
MEETING_PARTICIPANT_JOINED: {
|
|
@@ -460,63 +460,63 @@ const R = {
|
|
|
460
460
|
timeline: (e, t) => `Status changed by ${t}`
|
|
461
461
|
}
|
|
462
462
|
};
|
|
463
|
-
function
|
|
464
|
-
const t = e.payload, n =
|
|
463
|
+
function $e(e) {
|
|
464
|
+
const t = e.payload, n = nn(t.bodyText).trim() || t.bodySnippet?.trim() || rn(t.body ?? "");
|
|
465
465
|
return t.subject ? `${t.subject} — ${n}` : n;
|
|
466
466
|
}
|
|
467
|
-
function
|
|
467
|
+
function I(e) {
|
|
468
468
|
return R[e];
|
|
469
469
|
}
|
|
470
|
-
function
|
|
471
|
-
return
|
|
470
|
+
function Wi(e) {
|
|
471
|
+
return I(e)?.icon ?? "circle";
|
|
472
472
|
}
|
|
473
|
-
function
|
|
474
|
-
return
|
|
473
|
+
function Gi(e) {
|
|
474
|
+
return I(e)?.channelKind;
|
|
475
475
|
}
|
|
476
|
-
function
|
|
476
|
+
function bt(e) {
|
|
477
477
|
return e === "message" || e === "note";
|
|
478
478
|
}
|
|
479
|
-
function
|
|
480
|
-
return
|
|
479
|
+
function Vi(e) {
|
|
480
|
+
return bt(I(e)?.shape);
|
|
481
481
|
}
|
|
482
|
-
function
|
|
482
|
+
function At(e) {
|
|
483
483
|
return e === "note";
|
|
484
484
|
}
|
|
485
|
-
function
|
|
486
|
-
return
|
|
485
|
+
function zi(e) {
|
|
486
|
+
return At(I(e)?.shape);
|
|
487
487
|
}
|
|
488
|
-
function
|
|
489
|
-
return
|
|
488
|
+
function Xi(e) {
|
|
489
|
+
return I(e)?.replyable === !0;
|
|
490
490
|
}
|
|
491
|
-
function
|
|
492
|
-
return
|
|
491
|
+
function Yi(e) {
|
|
492
|
+
return I(e)?.carriesText === !0;
|
|
493
493
|
}
|
|
494
|
-
function
|
|
495
|
-
return
|
|
494
|
+
function on(e) {
|
|
495
|
+
return I(e)?.countsAs;
|
|
496
496
|
}
|
|
497
|
-
function
|
|
498
|
-
return
|
|
497
|
+
function qi(e) {
|
|
498
|
+
return I(e)?.playbookAuthored === !0;
|
|
499
499
|
}
|
|
500
|
-
function
|
|
501
|
-
return
|
|
500
|
+
function Ji(e) {
|
|
501
|
+
return I(e)?.connected === !0;
|
|
502
502
|
}
|
|
503
|
-
function
|
|
504
|
-
const t =
|
|
503
|
+
function Zi(e) {
|
|
504
|
+
const t = I(e);
|
|
505
505
|
return t?.shape === "artifact" && t?.carriesText === !0;
|
|
506
506
|
}
|
|
507
|
-
function
|
|
508
|
-
const t =
|
|
507
|
+
function sn(e) {
|
|
508
|
+
const t = I(e.type)?.snippet;
|
|
509
509
|
return t ? t(e) : "";
|
|
510
510
|
}
|
|
511
|
-
function
|
|
512
|
-
const n =
|
|
511
|
+
function Qi(e, t) {
|
|
512
|
+
const n = I(e.type)?.timeline;
|
|
513
513
|
return n ? n(e, t) : e.type.replace(/_/g, " ").toLowerCase();
|
|
514
514
|
}
|
|
515
|
-
function
|
|
516
|
-
const t =
|
|
515
|
+
function es(e) {
|
|
516
|
+
const t = I(e.type)?.joinUrl;
|
|
517
517
|
return t ? t(e) : void 0;
|
|
518
518
|
}
|
|
519
|
-
function
|
|
519
|
+
function de(e, t) {
|
|
520
520
|
let n = e;
|
|
521
521
|
for (const r of t.split(".")) {
|
|
522
522
|
if (n == null || typeof n != "object") return "";
|
|
@@ -524,43 +524,43 @@ function ue(e, t) {
|
|
|
524
524
|
}
|
|
525
525
|
return n == null ? "" : typeof n == "string" ? n : typeof n == "number" || typeof n == "boolean" ? String(n) : "";
|
|
526
526
|
}
|
|
527
|
-
function
|
|
527
|
+
function fe(e, t, n) {
|
|
528
528
|
if (e === void 0) return null;
|
|
529
529
|
if (typeof e == "string") return e || null;
|
|
530
530
|
if ("value" in e)
|
|
531
|
-
return
|
|
531
|
+
return de(t, e.value) || null;
|
|
532
532
|
const r = {};
|
|
533
533
|
for (const [i, s] of Object.entries(e.params ?? {}))
|
|
534
|
-
r[i] =
|
|
534
|
+
r[i] = de(t, s);
|
|
535
535
|
const o = n(e.key, r);
|
|
536
536
|
return o === e.key ? null : o;
|
|
537
537
|
}
|
|
538
|
-
function
|
|
538
|
+
function an(e, t) {
|
|
539
539
|
if (!e || typeof e == "string" || "value" in e) return null;
|
|
540
540
|
const n = {};
|
|
541
541
|
for (const [r, o] of Object.entries(e.params ?? {}))
|
|
542
|
-
n[r] =
|
|
542
|
+
n[r] = de(t, o);
|
|
543
543
|
return { key: e.key, params: n };
|
|
544
544
|
}
|
|
545
|
-
const
|
|
546
|
-
function
|
|
545
|
+
const Le = 140;
|
|
546
|
+
function cn(e) {
|
|
547
547
|
const t = e.trim();
|
|
548
|
-
return t.length <=
|
|
548
|
+
return t.length <= Le ? t : `${t.slice(0, Le - 1).trimEnd()}…`;
|
|
549
549
|
}
|
|
550
|
-
function
|
|
551
|
-
const n =
|
|
550
|
+
function ts(e, t) {
|
|
551
|
+
const n = an(t?.text, e), r = t ? fe(t.text, e, (o) => o) : null;
|
|
552
552
|
return {
|
|
553
553
|
activityId: e.id,
|
|
554
554
|
type: e.type,
|
|
555
|
-
snippet:
|
|
555
|
+
snippet: cn(r ?? sn(e)),
|
|
556
556
|
authorName: e.author?.name ?? "",
|
|
557
557
|
direction: e.direction,
|
|
558
558
|
createdAt: e.createdAt ?? Date.now(),
|
|
559
559
|
...n ? { snippetKey: n.key, snippetParams: n.params } : {}
|
|
560
560
|
};
|
|
561
561
|
}
|
|
562
|
-
const
|
|
563
|
-
function
|
|
562
|
+
const ln = (e) => e;
|
|
563
|
+
function Pe(e) {
|
|
564
564
|
const t = R[e];
|
|
565
565
|
return {
|
|
566
566
|
type: e,
|
|
@@ -576,7 +576,7 @@ function Le(e) {
|
|
|
576
576
|
displayNameKey: t.displayNameKey
|
|
577
577
|
};
|
|
578
578
|
}
|
|
579
|
-
function
|
|
579
|
+
function Ue(e) {
|
|
580
580
|
return {
|
|
581
581
|
type: e.type,
|
|
582
582
|
shape: e.shape,
|
|
@@ -591,21 +591,21 @@ function Pe(e) {
|
|
|
591
591
|
displayNameKey: e.displayNameKey
|
|
592
592
|
};
|
|
593
593
|
}
|
|
594
|
-
class
|
|
595
|
-
constructor(t = [], n =
|
|
594
|
+
class un {
|
|
595
|
+
constructor(t = [], n = ln) {
|
|
596
596
|
this.translate = n;
|
|
597
597
|
for (const r of t)
|
|
598
598
|
r?.type && (r.type in R || this.declared.has(r.type) || this.declared.set(r.type, r));
|
|
599
599
|
}
|
|
600
600
|
declared = /* @__PURE__ */ new Map();
|
|
601
601
|
get(t) {
|
|
602
|
-
if (t in R) return
|
|
602
|
+
if (t in R) return Pe(t);
|
|
603
603
|
const n = this.declared.get(t);
|
|
604
|
-
return n ?
|
|
604
|
+
return n ? Ue(n) : void 0;
|
|
605
605
|
}
|
|
606
606
|
/** Everything that may be offered as a trigger, built-in and declared. */
|
|
607
607
|
triggerable() {
|
|
608
|
-
const t = Object.keys(R).filter((r) => R[r].triggerable).map(
|
|
608
|
+
const t = Object.keys(R).filter((r) => R[r].triggerable).map(Pe), n = [...this.declared.values()].map(Ue).filter((r) => r.triggerable);
|
|
609
609
|
return [...t, ...n];
|
|
610
610
|
}
|
|
611
611
|
/**
|
|
@@ -617,14 +617,14 @@ class sn {
|
|
|
617
617
|
const r = R[t.type];
|
|
618
618
|
if (r?.timeline) return r.timeline(t, n);
|
|
619
619
|
const o = this.declared.get(t.type);
|
|
620
|
-
return
|
|
620
|
+
return fe(o?.text, t, this.translate) ?? t.type.replace(/_/g, " ").toLowerCase();
|
|
621
621
|
}
|
|
622
622
|
/** The line for the inbox list. Empty when the type has nothing to show. */
|
|
623
623
|
snippet(t) {
|
|
624
624
|
const n = R[t.type];
|
|
625
625
|
if (n?.snippet) return n.snippet(t);
|
|
626
626
|
const r = this.declared.get(t.type);
|
|
627
|
-
return
|
|
627
|
+
return fe(r?.text, t, this.translate) ?? "";
|
|
628
628
|
}
|
|
629
629
|
/** The descriptor as it arrived; needed to store `text` as a key. */
|
|
630
630
|
descriptor(t) {
|
|
@@ -649,11 +649,11 @@ class sn {
|
|
|
649
649
|
* {@link ResolvedActivityType}.
|
|
650
650
|
*/
|
|
651
651
|
isMessage(t) {
|
|
652
|
-
return
|
|
652
|
+
return bt(this.get(t)?.shape);
|
|
653
653
|
}
|
|
654
654
|
/** Folds into the list under the message it answers. See {@link isNoteShape}. */
|
|
655
655
|
nestsUnderParent(t) {
|
|
656
|
-
return
|
|
656
|
+
return At(this.get(t)?.shape);
|
|
657
657
|
}
|
|
658
658
|
/** Can a person reply to this? Notes cannot — those go nowhere. */
|
|
659
659
|
isReplyable(t) {
|
|
@@ -681,23 +681,23 @@ class sn {
|
|
|
681
681
|
return this.translate;
|
|
682
682
|
}
|
|
683
683
|
}
|
|
684
|
-
const
|
|
685
|
-
function
|
|
684
|
+
const ns = new un();
|
|
685
|
+
function rs(e, t, n = []) {
|
|
686
686
|
const r = e.createdAt;
|
|
687
687
|
if (!r) return [];
|
|
688
688
|
const o = new Set(n);
|
|
689
689
|
return e.author.type === "user" && e.author.id && o.add(e.author.id), Object.entries(t).filter(([i, s]) => s >= r && !o.has(i)).map(([i]) => i);
|
|
690
690
|
}
|
|
691
|
-
function
|
|
691
|
+
function dn(e) {
|
|
692
692
|
return e.createdAt ?? 0;
|
|
693
693
|
}
|
|
694
|
-
function
|
|
694
|
+
function os(e) {
|
|
695
695
|
return e.type === "EMAIL_RECEIVED" || e.type === "EMAIL_SENT";
|
|
696
696
|
}
|
|
697
|
-
function
|
|
697
|
+
function is(e) {
|
|
698
698
|
return e.type === "CHAT_MESSAGE_SENT" || e.type === "CHAT_MESSAGE_RECEIVED";
|
|
699
699
|
}
|
|
700
|
-
const
|
|
700
|
+
const Et = [
|
|
701
701
|
{
|
|
702
702
|
id: "openai",
|
|
703
703
|
attachmentKinds: ["image", "pdf"],
|
|
@@ -787,45 +787,45 @@ const yt = [
|
|
|
787
787
|
defaultModel: "default"
|
|
788
788
|
}
|
|
789
789
|
];
|
|
790
|
-
function
|
|
791
|
-
return
|
|
790
|
+
function Q(e) {
|
|
791
|
+
return Et.find((t) => t.id === e);
|
|
792
792
|
}
|
|
793
|
-
function
|
|
794
|
-
return
|
|
793
|
+
function ss(e) {
|
|
794
|
+
return Q(e)?.label ?? e;
|
|
795
795
|
}
|
|
796
|
-
function
|
|
797
|
-
return
|
|
796
|
+
function as(e, t = "gpt-5-mini") {
|
|
797
|
+
return Q(e)?.defaultModel ?? t;
|
|
798
798
|
}
|
|
799
|
-
function
|
|
800
|
-
return
|
|
799
|
+
function cs(e) {
|
|
800
|
+
return Et.filter((t) => t.capabilities.includes(e));
|
|
801
801
|
}
|
|
802
|
-
function
|
|
803
|
-
const t =
|
|
802
|
+
function ls(e) {
|
|
803
|
+
const t = Q(e);
|
|
804
804
|
return !!t && !t.baseUrl;
|
|
805
805
|
}
|
|
806
|
-
function
|
|
807
|
-
return t === "text" ? !0 :
|
|
806
|
+
function us(e, t) {
|
|
807
|
+
return t === "text" ? !0 : Q(e)?.attachmentKinds?.includes(t) === !0;
|
|
808
808
|
}
|
|
809
|
-
function
|
|
809
|
+
function ds(e, t) {
|
|
810
810
|
if (!e.enabled) return "ok";
|
|
811
|
-
const n =
|
|
811
|
+
const n = Ke(e.hardLimitNanos), r = Ke(e.softLimitNanos);
|
|
812
812
|
return n !== void 0 && t >= n ? "hard" : r !== void 0 && t >= r ? "soft" : "ok";
|
|
813
813
|
}
|
|
814
|
-
function
|
|
814
|
+
function Ke(e) {
|
|
815
815
|
return typeof e == "number" ? e : void 0;
|
|
816
816
|
}
|
|
817
|
-
function
|
|
817
|
+
function fn(e, t = "month") {
|
|
818
818
|
const n = new Date(e);
|
|
819
819
|
return Date.UTC(n.getUTCFullYear(), n.getUTCMonth(), 1);
|
|
820
820
|
}
|
|
821
|
-
function
|
|
822
|
-
const n = new Date(
|
|
821
|
+
function fs(e, t = "month") {
|
|
822
|
+
const n = new Date(fn(e, t));
|
|
823
823
|
return `${n.getUTCFullYear()}-${String(n.getUTCMonth() + 1).padStart(2, "0")}`;
|
|
824
824
|
}
|
|
825
|
-
function
|
|
825
|
+
function ps(e) {
|
|
826
826
|
return e?.listeningEnabled !== !1;
|
|
827
827
|
}
|
|
828
|
-
const
|
|
828
|
+
const ms = [
|
|
829
829
|
{ id: "agent", label: "Agent", labelSource: "user" },
|
|
830
830
|
{ id: "team", label: "Team", labelSource: "team" },
|
|
831
831
|
{ id: "inbox", label: "Inbox", labelSource: "inbox" },
|
|
@@ -835,64 +835,64 @@ const os = [
|
|
|
835
835
|
{ id: "handledBy", label: "Afhandelaar", labelSource: "raw" },
|
|
836
836
|
{ id: "time", label: "Tijd", labelSource: "raw" }
|
|
837
837
|
];
|
|
838
|
-
function
|
|
838
|
+
function oe(e) {
|
|
839
839
|
return e < 10 ? `0${e}` : `${e}`;
|
|
840
840
|
}
|
|
841
|
-
function F(e, t) {
|
|
842
|
-
const n = new Date(e), r = `${n.getUTCFullYear()}-${re(n.getUTCMonth() + 1)}-${re(n.getUTCDate())}`;
|
|
843
|
-
return t === "day" ? r : `${r}T${re(n.getUTCHours())}`;
|
|
844
|
-
}
|
|
845
841
|
function B(e, t) {
|
|
842
|
+
const n = new Date(e), r = `${n.getUTCFullYear()}-${oe(n.getUTCMonth() + 1)}-${oe(n.getUTCDate())}`;
|
|
843
|
+
return t === "day" ? r : `${r}T${oe(n.getUTCHours())}`;
|
|
844
|
+
}
|
|
845
|
+
function H(e, t) {
|
|
846
846
|
const n = new Date(e);
|
|
847
847
|
return n.setUTCMinutes(0, 0, 0), t === "day" && n.setUTCHours(0), n.getTime();
|
|
848
848
|
}
|
|
849
|
-
const
|
|
850
|
-
function
|
|
851
|
-
const r = n === "hour" ?
|
|
852
|
-
for (let i =
|
|
853
|
-
o.push(
|
|
849
|
+
const pn = 36e5, mn = 864e5;
|
|
850
|
+
function hs(e, t, n) {
|
|
851
|
+
const r = n === "hour" ? pn : mn, o = [];
|
|
852
|
+
for (let i = H(e, n); i <= t; i += r)
|
|
853
|
+
o.push(B(i, n));
|
|
854
854
|
return o;
|
|
855
855
|
}
|
|
856
|
-
const
|
|
857
|
-
function
|
|
856
|
+
const hn = /* @__PURE__ */ new Set(["time"]);
|
|
857
|
+
function gs(e, t, n) {
|
|
858
858
|
if (!e) return [];
|
|
859
859
|
const r = new Set(e.supportedDimensions ?? []);
|
|
860
|
-
return t.filter((o) => r.has(o.id) && !
|
|
860
|
+
return t.filter((o) => r.has(o.id) && !hn.has(o.id)).map((o) => ({
|
|
861
861
|
id: o.id,
|
|
862
862
|
label: o.label,
|
|
863
863
|
options: o.options?.length ? o.options : n[o.id] ?? []
|
|
864
864
|
})).filter((o) => o.options.length > 0);
|
|
865
865
|
}
|
|
866
|
-
function
|
|
866
|
+
function ys(e, t) {
|
|
867
867
|
const n = t.find((o) => o.id === e.dimensionId), r = n?.options.find((o) => o.value === e.value);
|
|
868
868
|
return `${n?.label ?? e.dimensionId} · ${r?.label ?? e.value}`;
|
|
869
869
|
}
|
|
870
|
-
function
|
|
870
|
+
function bs(e) {
|
|
871
871
|
return { value: e.id, label: `${e.category} · ${e.label}` };
|
|
872
872
|
}
|
|
873
|
-
const
|
|
873
|
+
const gn = [
|
|
874
874
|
{ id: "resource", label: "Resource", labelSource: "raw" },
|
|
875
875
|
{ id: "origin", label: "Herkomst", labelSource: "raw" }
|
|
876
|
-
],
|
|
877
|
-
function
|
|
876
|
+
], yn = gn.map((e) => e.id);
|
|
877
|
+
function bn(e, t) {
|
|
878
878
|
return `${e}.usage.${t}`;
|
|
879
879
|
}
|
|
880
|
-
function
|
|
880
|
+
function As(e, t) {
|
|
881
881
|
return t.map((n) => ({
|
|
882
|
-
id:
|
|
882
|
+
id: bn(e, n.unit),
|
|
883
883
|
label: n.label,
|
|
884
884
|
category: "Verbruik",
|
|
885
885
|
valueType: n.valueType ?? "count",
|
|
886
886
|
aggregation: "sum",
|
|
887
887
|
supportedDimensions: [
|
|
888
888
|
"provider",
|
|
889
|
-
...
|
|
889
|
+
...yn,
|
|
890
890
|
...n.extraDimensions ?? [],
|
|
891
891
|
"time"
|
|
892
892
|
]
|
|
893
893
|
}));
|
|
894
894
|
}
|
|
895
|
-
const
|
|
895
|
+
const _t = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), Fe = 200, Be = 100, He = 200, je = 12, We = 4, Ge = 10, An = 8, Ve = 12, St = 4e3, X = 500, Es = 1024 * 1024, En = /* @__PURE__ */ new Set([
|
|
896
896
|
"heading",
|
|
897
897
|
"paragraph",
|
|
898
898
|
"list",
|
|
@@ -906,15 +906,15 @@ const bt = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]
|
|
|
906
906
|
"letterhead",
|
|
907
907
|
"totals",
|
|
908
908
|
"pagebreak"
|
|
909
|
-
]),
|
|
910
|
-
function
|
|
909
|
+
]), _n = ["http:", "https:", "mailto:", "tel:"], Sn = /^[a-z][a-z0-9+.-]*:/i;
|
|
910
|
+
function we(e) {
|
|
911
911
|
const t = e.trim().replace(/^<|>$/g, "");
|
|
912
912
|
if (!t) return !1;
|
|
913
|
-
const n =
|
|
914
|
-
return n ?
|
|
913
|
+
const n = Sn.exec(t)?.[0];
|
|
914
|
+
return n ? _n.includes(n.toLowerCase()) : !t.startsWith("//");
|
|
915
915
|
}
|
|
916
|
-
const
|
|
917
|
-
function
|
|
916
|
+
const Tn = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
|
|
917
|
+
function wn(e) {
|
|
918
918
|
let t = "", n = 0;
|
|
919
919
|
for (; n < e.length; ) {
|
|
920
920
|
const r = e[n] === "!" && e[n + 1] === "[";
|
|
@@ -922,22 +922,22 @@ function En(e) {
|
|
|
922
922
|
t += e[n], n += 1;
|
|
923
923
|
continue;
|
|
924
924
|
}
|
|
925
|
-
const o = n + (r ? 2 : 1), i =
|
|
925
|
+
const o = n + (r ? 2 : 1), i = ze(e, o, "[", "]");
|
|
926
926
|
if (i < 0 || e[i + 1] !== "(") {
|
|
927
927
|
t += e[n], n += 1;
|
|
928
928
|
continue;
|
|
929
929
|
}
|
|
930
|
-
const s =
|
|
930
|
+
const s = ze(e, i + 2, "(", ")");
|
|
931
931
|
if (s < 0) {
|
|
932
932
|
t += e[n], n += 1;
|
|
933
933
|
continue;
|
|
934
934
|
}
|
|
935
935
|
const a = e.slice(o, i), l = e.slice(i + 2, s).trim().split(/\s+/)[0] ?? "";
|
|
936
|
-
t += r || !
|
|
936
|
+
t += r || !we(l) ? a : e.slice(n, s + 1), n = s + 1;
|
|
937
937
|
}
|
|
938
938
|
return t;
|
|
939
939
|
}
|
|
940
|
-
function
|
|
940
|
+
function ze(e, t, n, r) {
|
|
941
941
|
let o = 1;
|
|
942
942
|
for (let i = t; i < e.length; i += 1) {
|
|
943
943
|
if (e[i] === "\\") {
|
|
@@ -950,43 +950,43 @@ function Ve(e, t, n, r) {
|
|
|
950
950
|
}
|
|
951
951
|
return -1;
|
|
952
952
|
}
|
|
953
|
-
function
|
|
954
|
-
return
|
|
955
|
-
|
|
956
|
-
(t, n, r) =>
|
|
953
|
+
function In(e) {
|
|
954
|
+
return wn(e).replace(
|
|
955
|
+
Tn,
|
|
956
|
+
(t, n, r) => we(r) ? t : ""
|
|
957
957
|
);
|
|
958
958
|
}
|
|
959
|
-
function
|
|
960
|
-
return typeof e == "string" ?
|
|
959
|
+
function w(e, t = St) {
|
|
960
|
+
return typeof e == "string" ? In(e).slice(0, t) : "";
|
|
961
961
|
}
|
|
962
|
-
function
|
|
962
|
+
function Mn(e, t = St) {
|
|
963
963
|
return typeof e == "string" ? e.slice(0, t) : "";
|
|
964
964
|
}
|
|
965
|
-
function
|
|
966
|
-
return
|
|
965
|
+
function U(e, t = 200) {
|
|
966
|
+
return w(e, t);
|
|
967
967
|
}
|
|
968
|
-
function
|
|
969
|
-
return typeof e == "string" &&
|
|
968
|
+
function kn(e, t = "info") {
|
|
969
|
+
return typeof e == "string" && _t.has(e) ? e : t;
|
|
970
970
|
}
|
|
971
|
-
function
|
|
971
|
+
function _s(e, t = () => {
|
|
972
972
|
}) {
|
|
973
973
|
if (!Array.isArray(e)) return [];
|
|
974
974
|
const n = [];
|
|
975
975
|
for (const r of e) {
|
|
976
|
-
if (n.length >=
|
|
977
|
-
t(`more than ${
|
|
976
|
+
if (n.length >= Fe) {
|
|
977
|
+
t(`more than ${Fe} blocks; the rest was dropped`);
|
|
978
978
|
break;
|
|
979
979
|
}
|
|
980
980
|
if (!r || typeof r != "object") continue;
|
|
981
981
|
const o = r;
|
|
982
|
-
if (!
|
|
982
|
+
if (!En.has(o.type)) {
|
|
983
983
|
t(`unknown block type ${String(o.type)}`);
|
|
984
984
|
continue;
|
|
985
985
|
}
|
|
986
986
|
const i = typeof o.block_id == "string" ? { block_id: o.block_id } : {};
|
|
987
987
|
switch (o.type) {
|
|
988
988
|
case "heading": {
|
|
989
|
-
const s =
|
|
989
|
+
const s = w(o.text);
|
|
990
990
|
if (!s) {
|
|
991
991
|
t("a heading without text");
|
|
992
992
|
continue;
|
|
@@ -996,7 +996,7 @@ function ds(e, t = () => {
|
|
|
996
996
|
break;
|
|
997
997
|
}
|
|
998
998
|
case "paragraph": {
|
|
999
|
-
const s =
|
|
999
|
+
const s = w(o.text);
|
|
1000
1000
|
if (!s) {
|
|
1001
1001
|
t("a paragraph without text");
|
|
1002
1002
|
continue;
|
|
@@ -1005,7 +1005,7 @@ function ds(e, t = () => {
|
|
|
1005
1005
|
break;
|
|
1006
1006
|
}
|
|
1007
1007
|
case "quote": {
|
|
1008
|
-
const s =
|
|
1008
|
+
const s = w(o.text);
|
|
1009
1009
|
if (!s) {
|
|
1010
1010
|
t("a quote without text");
|
|
1011
1011
|
continue;
|
|
@@ -1014,7 +1014,7 @@ function ds(e, t = () => {
|
|
|
1014
1014
|
break;
|
|
1015
1015
|
}
|
|
1016
1016
|
case "code": {
|
|
1017
|
-
const s =
|
|
1017
|
+
const s = Mn(o.text);
|
|
1018
1018
|
if (!s) {
|
|
1019
1019
|
t("a code block without text");
|
|
1020
1020
|
continue;
|
|
@@ -1029,14 +1029,14 @@ function ds(e, t = () => {
|
|
|
1029
1029
|
case "list": {
|
|
1030
1030
|
const s = Array.isArray(o.items) ? o.items : [], a = [];
|
|
1031
1031
|
for (const u of s) {
|
|
1032
|
-
if (a.length >=
|
|
1033
|
-
t(`more than ${
|
|
1032
|
+
if (a.length >= Be) {
|
|
1033
|
+
t(`more than ${Be} list items`);
|
|
1034
1034
|
break;
|
|
1035
1035
|
}
|
|
1036
|
-
const
|
|
1037
|
-
if (!
|
|
1038
|
-
const c =
|
|
1039
|
-
a.push(c ? { lead: c, text:
|
|
1036
|
+
const f = w(u?.text);
|
|
1037
|
+
if (!f) continue;
|
|
1038
|
+
const c = w(u?.lead, 200);
|
|
1039
|
+
a.push(c ? { lead: c, text: f } : { text: f });
|
|
1040
1040
|
}
|
|
1041
1041
|
if (a.length === 0) {
|
|
1042
1042
|
t("a list without usable items");
|
|
@@ -1049,12 +1049,12 @@ function ds(e, t = () => {
|
|
|
1049
1049
|
case "table": {
|
|
1050
1050
|
const s = Array.isArray(o.columns) ? o.columns : [], a = [];
|
|
1051
1051
|
for (const c of s) {
|
|
1052
|
-
if (a.length >=
|
|
1053
|
-
t(`more than ${
|
|
1052
|
+
if (a.length >= je) {
|
|
1053
|
+
t(`more than ${je} table columns`);
|
|
1054
1054
|
break;
|
|
1055
1055
|
}
|
|
1056
|
-
const
|
|
1057
|
-
a.push(m ? { label:
|
|
1056
|
+
const d = w(c?.label, X), m = c?.align === "right" ? "right" : void 0;
|
|
1057
|
+
a.push(m ? { label: d, align: m } : { label: d });
|
|
1058
1058
|
}
|
|
1059
1059
|
if (a.length === 0) {
|
|
1060
1060
|
t("a table without columns");
|
|
@@ -1062,35 +1062,35 @@ function ds(e, t = () => {
|
|
|
1062
1062
|
}
|
|
1063
1063
|
const l = Array.isArray(o.rows) ? o.rows : [], u = [];
|
|
1064
1064
|
for (const c of l) {
|
|
1065
|
-
if (u.length >=
|
|
1066
|
-
t(`more than ${
|
|
1065
|
+
if (u.length >= He) {
|
|
1066
|
+
t(`more than ${He} table rows`);
|
|
1067
1067
|
break;
|
|
1068
1068
|
}
|
|
1069
|
-
const
|
|
1070
|
-
u.push(a.map((m, E) =>
|
|
1069
|
+
const d = Array.isArray(c) ? c : [];
|
|
1070
|
+
u.push(a.map((m, E) => w(d[E], X)));
|
|
1071
1071
|
}
|
|
1072
|
-
const
|
|
1072
|
+
const f = w(o.caption, X);
|
|
1073
1073
|
n.push({
|
|
1074
1074
|
...i,
|
|
1075
1075
|
type: "table",
|
|
1076
1076
|
columns: a,
|
|
1077
1077
|
rows: u,
|
|
1078
|
-
...
|
|
1078
|
+
...f ? { caption: f } : {}
|
|
1079
1079
|
});
|
|
1080
1080
|
break;
|
|
1081
1081
|
}
|
|
1082
1082
|
case "kpi": {
|
|
1083
1083
|
const s = Array.isArray(o.items) ? o.items : [], a = [];
|
|
1084
1084
|
for (const l of s) {
|
|
1085
|
-
if (a.length >=
|
|
1086
|
-
t(`more than ${
|
|
1085
|
+
if (a.length >= We) {
|
|
1086
|
+
t(`more than ${We} kpi items`);
|
|
1087
1087
|
break;
|
|
1088
1088
|
}
|
|
1089
|
-
const u =
|
|
1090
|
-
if (!u || !
|
|
1089
|
+
const u = w(l?.value, 40), f = w(l?.label, 80);
|
|
1090
|
+
if (!u || !f) continue;
|
|
1091
1091
|
const c = l?.tone;
|
|
1092
1092
|
a.push(
|
|
1093
|
-
typeof c == "string" &&
|
|
1093
|
+
typeof c == "string" && _t.has(c) ? { value: u, label: f, tone: c } : { value: u, label: f }
|
|
1094
1094
|
);
|
|
1095
1095
|
}
|
|
1096
1096
|
if (a.length === 0) {
|
|
@@ -1102,11 +1102,11 @@ function ds(e, t = () => {
|
|
|
1102
1102
|
}
|
|
1103
1103
|
case "image": {
|
|
1104
1104
|
const s = typeof o.url == "string" ? o.url.trim() : "";
|
|
1105
|
-
if (!s || !
|
|
1105
|
+
if (!s || !we(s)) {
|
|
1106
1106
|
t("an image without a usable url");
|
|
1107
1107
|
continue;
|
|
1108
1108
|
}
|
|
1109
|
-
const a =
|
|
1109
|
+
const a = w(o.alt, 200), l = w(o.caption, X);
|
|
1110
1110
|
n.push({
|
|
1111
1111
|
...i,
|
|
1112
1112
|
type: "image",
|
|
@@ -1118,17 +1118,17 @@ function ds(e, t = () => {
|
|
|
1118
1118
|
}
|
|
1119
1119
|
case "letterhead": {
|
|
1120
1120
|
const s = Array.isArray(o.fields) ? o.fields : [], a = [];
|
|
1121
|
-
for (const
|
|
1122
|
-
if (a.length >=
|
|
1123
|
-
t(`more than ${
|
|
1121
|
+
for (const f of s) {
|
|
1122
|
+
if (a.length >= Ge) {
|
|
1123
|
+
t(`more than ${Ge} letterhead fields`);
|
|
1124
1124
|
break;
|
|
1125
1125
|
}
|
|
1126
|
-
const c =
|
|
1127
|
-
if (!
|
|
1128
|
-
const E =
|
|
1129
|
-
a.push(E ? { key:
|
|
1126
|
+
const c = f, d = typeof c?.key == "string" ? c.key.slice(0, 48) : "", m = U(c?.value);
|
|
1127
|
+
if (!d || !m) continue;
|
|
1128
|
+
const E = U(c?.label, 80);
|
|
1129
|
+
a.push(E ? { key: d, label: E, value: m } : { key: d, value: m });
|
|
1130
1130
|
}
|
|
1131
|
-
const u = (Array.isArray(o.recipient) ? o.recipient : []).slice(0,
|
|
1131
|
+
const u = (Array.isArray(o.recipient) ? o.recipient : []).slice(0, An).map((f) => U(f)).filter(Boolean);
|
|
1132
1132
|
if (a.length === 0 && u.length === 0) {
|
|
1133
1133
|
t("a letterhead without fields or recipient");
|
|
1134
1134
|
continue;
|
|
@@ -1143,13 +1143,13 @@ function ds(e, t = () => {
|
|
|
1143
1143
|
}
|
|
1144
1144
|
case "totals": {
|
|
1145
1145
|
const s = (u) => {
|
|
1146
|
-
const
|
|
1147
|
-
for (const
|
|
1148
|
-
if (c.length >=
|
|
1149
|
-
t(`more than ${
|
|
1146
|
+
const f = Array.isArray(u) ? u : [], c = [];
|
|
1147
|
+
for (const d of f) {
|
|
1148
|
+
if (c.length >= Ve) {
|
|
1149
|
+
t(`more than ${Ve} totals rows`);
|
|
1150
1150
|
break;
|
|
1151
1151
|
}
|
|
1152
|
-
const m =
|
|
1152
|
+
const m = d, E = U(m?.label), g = U(m?.amount, 40);
|
|
1153
1153
|
!E || !g || c.push(
|
|
1154
1154
|
m?.emphasis === !0 ? { label: E, amount: g, emphasis: !0 } : { label: E, amount: g }
|
|
1155
1155
|
);
|
|
@@ -1168,16 +1168,16 @@ function ds(e, t = () => {
|
|
|
1168
1168
|
n.push({ ...i, type: "pagebreak" });
|
|
1169
1169
|
break;
|
|
1170
1170
|
case "callout": {
|
|
1171
|
-
const s =
|
|
1171
|
+
const s = w(o.text);
|
|
1172
1172
|
if (!s) {
|
|
1173
1173
|
t("a callout without text");
|
|
1174
1174
|
continue;
|
|
1175
1175
|
}
|
|
1176
|
-
const a =
|
|
1176
|
+
const a = w(o.title, 200);
|
|
1177
1177
|
n.push({
|
|
1178
1178
|
...i,
|
|
1179
1179
|
type: "callout",
|
|
1180
|
-
tone:
|
|
1180
|
+
tone: kn(o.tone),
|
|
1181
1181
|
...a ? { title: a } : {},
|
|
1182
1182
|
text: s
|
|
1183
1183
|
});
|
|
@@ -1187,10 +1187,10 @@ function ds(e, t = () => {
|
|
|
1187
1187
|
}
|
|
1188
1188
|
return n;
|
|
1189
1189
|
}
|
|
1190
|
-
function
|
|
1190
|
+
function Ss(e) {
|
|
1191
1191
|
return JSON.stringify(e).length;
|
|
1192
1192
|
}
|
|
1193
|
-
function
|
|
1193
|
+
function Ts(e) {
|
|
1194
1194
|
return {
|
|
1195
1195
|
blocks: e.length,
|
|
1196
1196
|
types: e.map((t) => t.type),
|
|
@@ -1200,7 +1200,7 @@ function ps(e) {
|
|
|
1200
1200
|
function Xe(e) {
|
|
1201
1201
|
return e.replace(/\|/g, "\\|").replace(/\r?\n/g, " ").trim();
|
|
1202
1202
|
}
|
|
1203
|
-
function
|
|
1203
|
+
function ie(e, t, n) {
|
|
1204
1204
|
const r = e.map((o, i) => n?.[i] === "right" ? "---:" : "---");
|
|
1205
1205
|
return [
|
|
1206
1206
|
`| ${e.map(Xe).join(" | ")} |`,
|
|
@@ -1208,7 +1208,7 @@ function oe(e, t, n) {
|
|
|
1208
1208
|
...t.map((o) => `| ${o.map(Xe).join(" | ")} |`)
|
|
1209
1209
|
];
|
|
1210
1210
|
}
|
|
1211
|
-
function
|
|
1211
|
+
function vn(e) {
|
|
1212
1212
|
switch (e.type) {
|
|
1213
1213
|
case "heading":
|
|
1214
1214
|
return [`${"#".repeat(e.level)} ${e.text}`];
|
|
@@ -1226,7 +1226,7 @@ function In(e) {
|
|
|
1226
1226
|
return t.lead ? `${r} **${t.lead}** ${t.text}` : `${r} ${t.text}`;
|
|
1227
1227
|
});
|
|
1228
1228
|
case "table": {
|
|
1229
|
-
const t =
|
|
1229
|
+
const t = ie(
|
|
1230
1230
|
e.columns.map((n) => n.label),
|
|
1231
1231
|
e.rows,
|
|
1232
1232
|
e.columns.map((n) => n.align ?? "left")
|
|
@@ -1234,7 +1234,7 @@ function In(e) {
|
|
|
1234
1234
|
return e.caption ? [...t, "", `*${e.caption}*`] : t;
|
|
1235
1235
|
}
|
|
1236
1236
|
case "kpi":
|
|
1237
|
-
return
|
|
1237
|
+
return ie(
|
|
1238
1238
|
e.items.map((t) => t.value),
|
|
1239
1239
|
[e.items.map((t) => t.label)]
|
|
1240
1240
|
);
|
|
@@ -1252,7 +1252,7 @@ function In(e) {
|
|
|
1252
1252
|
return t.map((n, r) => r < t.length - 1 ? `${n} ` : n);
|
|
1253
1253
|
}
|
|
1254
1254
|
case "totals":
|
|
1255
|
-
return
|
|
1255
|
+
return ie(
|
|
1256
1256
|
["", ""],
|
|
1257
1257
|
[...e.rows, ...e.taxRows ?? []].map((t) => [
|
|
1258
1258
|
t.emphasis ? `**${t.label}**` : t.label,
|
|
@@ -1264,11 +1264,11 @@ function In(e) {
|
|
|
1264
1264
|
return ["---"];
|
|
1265
1265
|
}
|
|
1266
1266
|
}
|
|
1267
|
-
function
|
|
1267
|
+
function On(e, t) {
|
|
1268
1268
|
const n = [], r = e.some((o) => o.type === "heading" && o.level === 1);
|
|
1269
1269
|
t && !r && n.push(`# ${t}`);
|
|
1270
1270
|
for (const o of e) {
|
|
1271
|
-
const i =
|
|
1271
|
+
const i = vn(o);
|
|
1272
1272
|
i.length > 0 && n.push(i.join(`
|
|
1273
1273
|
`));
|
|
1274
1274
|
}
|
|
@@ -1277,45 +1277,45 @@ function ms(e, t) {
|
|
|
1277
1277
|
`)}
|
|
1278
1278
|
`;
|
|
1279
1279
|
}
|
|
1280
|
-
const
|
|
1281
|
-
function
|
|
1280
|
+
const Tt = (e) => `user:${e}`, wt = (e) => `team:${e}`;
|
|
1281
|
+
function ws(e) {
|
|
1282
1282
|
const t = /* @__PURE__ */ new Set();
|
|
1283
1283
|
for (const n of e ?? [])
|
|
1284
|
-
n?.id && (n.kind === "user" && t.add(
|
|
1284
|
+
n?.id && (n.kind === "user" && t.add(Tt(n.id)), n.kind === "team" && t.add(wt(n.id)));
|
|
1285
1285
|
return [...t].sort();
|
|
1286
1286
|
}
|
|
1287
|
-
function
|
|
1288
|
-
return [
|
|
1287
|
+
function Is(e, t) {
|
|
1288
|
+
return [Tt(e), ...t.map(wt)];
|
|
1289
1289
|
}
|
|
1290
|
-
function
|
|
1290
|
+
function Ms(e) {
|
|
1291
1291
|
const t = /* @__PURE__ */ new Set();
|
|
1292
1292
|
for (const n of e ?? [])
|
|
1293
1293
|
n?.kind && t.add(n.kind);
|
|
1294
1294
|
return [...t];
|
|
1295
1295
|
}
|
|
1296
|
-
const
|
|
1297
|
-
function
|
|
1298
|
-
return
|
|
1296
|
+
const Cn = ["done", "escalated"], ks = ["open", "waiting"];
|
|
1297
|
+
function vs(e) {
|
|
1298
|
+
return Cn.includes(e);
|
|
1299
1299
|
}
|
|
1300
|
-
const
|
|
1301
|
-
function
|
|
1302
|
-
return `${
|
|
1300
|
+
const xn = "assignment";
|
|
1301
|
+
function Os(e) {
|
|
1302
|
+
return `${xn}:${e}`;
|
|
1303
1303
|
}
|
|
1304
|
-
function
|
|
1304
|
+
function Cs(e, t, n, r) {
|
|
1305
1305
|
if (e.direction === "inbound") return !0;
|
|
1306
1306
|
if (e.author?.type === "user" && e.author.id === t) return !1;
|
|
1307
1307
|
const o = e.payload?.mentions;
|
|
1308
1308
|
return Array.isArray(o) && o.includes(t) || r && r === t ? !0 : n === "reply";
|
|
1309
1309
|
}
|
|
1310
|
-
function
|
|
1310
|
+
function xs(e) {
|
|
1311
1311
|
const { targetAuthorId: t, reactorId: n, agentId: r, on: o } = e;
|
|
1312
1312
|
return !o || !t || t !== r ? !1 : n !== r;
|
|
1313
1313
|
}
|
|
1314
|
-
function
|
|
1314
|
+
function Ns(e) {
|
|
1315
1315
|
return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
|
|
1316
1316
|
}
|
|
1317
|
-
const
|
|
1318
|
-
function
|
|
1317
|
+
const Nn = 12;
|
|
1318
|
+
function Rs(e, t, n = Nn) {
|
|
1319
1319
|
const r = t + 1;
|
|
1320
1320
|
return e ? e.kind === "done" ? { status: "done", waitingOn: null, turns: r, reason: e.note } : e.kind === "escalate" ? { status: "escalated", waitingOn: null, turns: r, reason: e.reason } : r >= n ? {
|
|
1321
1321
|
status: "escalated",
|
|
@@ -1329,39 +1329,169 @@ function Is(e, t, n = kn) {
|
|
|
1329
1329
|
reason: "de agent rondde zijn beurt af zonder te zeggen wat er moet gebeuren (wachten, afronden of overdragen)"
|
|
1330
1330
|
};
|
|
1331
1331
|
}
|
|
1332
|
-
const
|
|
1333
|
-
function
|
|
1332
|
+
const Ds = /* @__PURE__ */ new Set(["mail", "message"]);
|
|
1333
|
+
function Rn(e, t) {
|
|
1334
1334
|
const n = e.settings?.signatures?.[t];
|
|
1335
1335
|
return !n?.enabled || !n.body || n.body.trim() === "" ? null : n;
|
|
1336
1336
|
}
|
|
1337
|
-
function
|
|
1337
|
+
function $s(e, t, n, r = "html") {
|
|
1338
1338
|
if (!e) return n;
|
|
1339
|
-
const o =
|
|
1339
|
+
const o = Rn(e, t);
|
|
1340
1340
|
return o ? `${n}${r === "text" ? `
|
|
1341
1341
|
|
|
1342
1342
|
` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${o.body}` : n;
|
|
1343
1343
|
}
|
|
1344
|
-
function
|
|
1344
|
+
function Ls(e) {
|
|
1345
1345
|
return e.endpoints ?? [];
|
|
1346
1346
|
}
|
|
1347
|
-
|
|
1347
|
+
function D(e) {
|
|
1348
|
+
const t = (e ?? "").trim().toLowerCase();
|
|
1349
|
+
if (t)
|
|
1350
|
+
return t.split(/[-_]/)[0] || void 0;
|
|
1351
|
+
}
|
|
1352
|
+
function Ps(e) {
|
|
1353
|
+
return D(e.contactLocale) ?? D(e.companyLocale) ?? D(e.organizationLocale);
|
|
1354
|
+
}
|
|
1355
|
+
function Us(e, t, n, r) {
|
|
1356
|
+
const o = e.filter((a) => a.key === t && !a.archived);
|
|
1357
|
+
if (o.length === 0) return;
|
|
1358
|
+
const i = D(n), s = D(r);
|
|
1359
|
+
return o.find((a) => D(a.locale) === i) ?? o.find((a) => D(a.locale) === s) ?? // A row with no language at all is the single-language case: it is for everybody.
|
|
1360
|
+
o.find((a) => !a.locale) ?? o[0];
|
|
1361
|
+
}
|
|
1362
|
+
const Dn = /\{([a-zA-Z0-9_.]+)\}/g;
|
|
1363
|
+
function It(e, t) {
|
|
1364
|
+
let n = e;
|
|
1365
|
+
for (const r of t.split(".")) {
|
|
1366
|
+
if (n == null || typeof n != "object") return;
|
|
1367
|
+
n = n[r];
|
|
1368
|
+
}
|
|
1369
|
+
return n;
|
|
1370
|
+
}
|
|
1371
|
+
function $n(e) {
|
|
1372
|
+
return typeof e == "string" ? e : typeof e == "number" || typeof e == "boolean" ? String(e) : "";
|
|
1373
|
+
}
|
|
1374
|
+
function Ln(e, t) {
|
|
1375
|
+
const n = [];
|
|
1376
|
+
return { text: e.replace(Dn, (o, i) => {
|
|
1377
|
+
const s = It(t, i);
|
|
1378
|
+
return s == null || s === "" ? (n.includes(i) || n.push(i), `{${i}}`) : $n(s);
|
|
1379
|
+
}), unresolved: n };
|
|
1380
|
+
}
|
|
1381
|
+
function Pn(e, t) {
|
|
1382
|
+
if (!e) return !0;
|
|
1383
|
+
const n = It(t, e.key);
|
|
1384
|
+
if (e.exists !== void 0) {
|
|
1385
|
+
const r = n != null && n !== "" && n !== !1;
|
|
1386
|
+
return e.exists ? r : !r;
|
|
1387
|
+
}
|
|
1388
|
+
return e.equals !== void 0 ? n === e.equals : !0;
|
|
1389
|
+
}
|
|
1390
|
+
function Ks(e, t, n) {
|
|
1391
|
+
const r = [], o = [], i = (s) => {
|
|
1392
|
+
const a = Ln(s, t);
|
|
1393
|
+
for (const l of a.unresolved) r.includes(l) || r.push(l);
|
|
1394
|
+
return a.text;
|
|
1395
|
+
};
|
|
1396
|
+
for (const s of e)
|
|
1397
|
+
if (!(s.block_id && !Pn(n?.[s.block_id], t)))
|
|
1398
|
+
switch (s.type) {
|
|
1399
|
+
case "heading":
|
|
1400
|
+
case "paragraph":
|
|
1401
|
+
case "quote":
|
|
1402
|
+
o.push({ ...s, text: i(s.text) });
|
|
1403
|
+
break;
|
|
1404
|
+
case "callout":
|
|
1405
|
+
o.push({
|
|
1406
|
+
...s,
|
|
1407
|
+
...s.title ? { title: i(s.title) } : {},
|
|
1408
|
+
text: i(s.text)
|
|
1409
|
+
});
|
|
1410
|
+
break;
|
|
1411
|
+
case "code":
|
|
1412
|
+
o.push(s);
|
|
1413
|
+
break;
|
|
1414
|
+
case "list":
|
|
1415
|
+
o.push({
|
|
1416
|
+
...s,
|
|
1417
|
+
items: s.items.map((a) => ({
|
|
1418
|
+
...a.lead ? { lead: i(a.lead) } : {},
|
|
1419
|
+
text: i(a.text)
|
|
1420
|
+
}))
|
|
1421
|
+
});
|
|
1422
|
+
break;
|
|
1423
|
+
case "table":
|
|
1424
|
+
o.push({
|
|
1425
|
+
...s,
|
|
1426
|
+
columns: s.columns.map((a) => ({ ...a, label: i(a.label) })),
|
|
1427
|
+
rows: s.rows.map((a) => a.map(i)),
|
|
1428
|
+
...s.caption ? { caption: i(s.caption) } : {}
|
|
1429
|
+
});
|
|
1430
|
+
break;
|
|
1431
|
+
case "kpi":
|
|
1432
|
+
o.push({
|
|
1433
|
+
...s,
|
|
1434
|
+
items: s.items.map((a) => ({
|
|
1435
|
+
...a,
|
|
1436
|
+
value: i(a.value),
|
|
1437
|
+
label: i(a.label)
|
|
1438
|
+
}))
|
|
1439
|
+
});
|
|
1440
|
+
break;
|
|
1441
|
+
case "letterhead":
|
|
1442
|
+
o.push({
|
|
1443
|
+
...s,
|
|
1444
|
+
fields: s.fields.map((a) => ({ ...a, value: i(a.value) })),
|
|
1445
|
+
...s.recipient ? { recipient: s.recipient.map(i) } : {}
|
|
1446
|
+
});
|
|
1447
|
+
break;
|
|
1448
|
+
case "totals":
|
|
1449
|
+
o.push({
|
|
1450
|
+
...s,
|
|
1451
|
+
rows: s.rows.map((a) => ({
|
|
1452
|
+
...a,
|
|
1453
|
+
label: i(a.label),
|
|
1454
|
+
amount: i(a.amount)
|
|
1455
|
+
})),
|
|
1456
|
+
...s.taxRows ? {
|
|
1457
|
+
taxRows: s.taxRows.map((a) => ({
|
|
1458
|
+
...a,
|
|
1459
|
+
label: i(a.label),
|
|
1460
|
+
amount: i(a.amount)
|
|
1461
|
+
}))
|
|
1462
|
+
} : {}
|
|
1463
|
+
});
|
|
1464
|
+
break;
|
|
1465
|
+
case "image":
|
|
1466
|
+
o.push({
|
|
1467
|
+
...s,
|
|
1468
|
+
url: i(s.url),
|
|
1469
|
+
...s.alt ? { alt: i(s.alt) } : {}
|
|
1470
|
+
});
|
|
1471
|
+
break;
|
|
1472
|
+
default:
|
|
1473
|
+
o.push(s);
|
|
1474
|
+
}
|
|
1475
|
+
return { blocks: o, unresolved: r };
|
|
1476
|
+
}
|
|
1477
|
+
const Un = 36e5, Kn = 864e5, $ = -1 / 0, Fs = (e) => e.score > $, J = {
|
|
1348
1478
|
urgent: 40,
|
|
1349
1479
|
high: 25,
|
|
1350
1480
|
normal: 10,
|
|
1351
1481
|
low: 0
|
|
1352
1482
|
};
|
|
1353
|
-
function
|
|
1483
|
+
function Bs(e) {
|
|
1354
1484
|
return Object.fromEntries(e.map((t) => [t.resourceId, t]));
|
|
1355
1485
|
}
|
|
1356
|
-
const
|
|
1357
|
-
function
|
|
1358
|
-
return !!(e &&
|
|
1486
|
+
const Fn = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, Mt = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
|
|
1487
|
+
function Bn(e, t) {
|
|
1488
|
+
return !!(e && Fn.test(e) || t && Mt.test(t));
|
|
1359
1489
|
}
|
|
1360
|
-
const
|
|
1361
|
-
function
|
|
1362
|
-
return e >=
|
|
1490
|
+
const Hn = 3, jn = 600;
|
|
1491
|
+
function Hs(e, t) {
|
|
1492
|
+
return e >= Hn || t >= jn;
|
|
1363
1493
|
}
|
|
1364
|
-
const
|
|
1494
|
+
const Wn = [
|
|
1365
1495
|
"list-unsubscribe",
|
|
1366
1496
|
"list-unsubscribe-post",
|
|
1367
1497
|
"list-id",
|
|
@@ -1371,93 +1501,93 @@ const $n = [
|
|
|
1371
1501
|
"feedback-id",
|
|
1372
1502
|
"x-mailer"
|
|
1373
1503
|
];
|
|
1374
|
-
function
|
|
1504
|
+
function js(e) {
|
|
1375
1505
|
const t = {};
|
|
1376
1506
|
for (const n of e) {
|
|
1377
1507
|
const r = n.name?.toLowerCase();
|
|
1378
|
-
r && n.value !== void 0 &&
|
|
1508
|
+
r && n.value !== void 0 && Wn.includes(r) && (t[r] = n.value);
|
|
1379
1509
|
}
|
|
1380
1510
|
return t;
|
|
1381
1511
|
}
|
|
1382
|
-
const
|
|
1383
|
-
function
|
|
1512
|
+
const Gn = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i, Vn = /(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;
|
|
1513
|
+
function Ws(e) {
|
|
1384
1514
|
const t = e.headers ?? {}, n = e.from?.email, r = t["auto-submitted"]?.toLowerCase();
|
|
1385
|
-
if (r && r !== "no" || t["x-auto-response-suppress"] || n &&
|
|
1515
|
+
if (r && r !== "no" || t["x-auto-response-suppress"] || n && Gn.test(n))
|
|
1386
1516
|
return "automated";
|
|
1387
1517
|
const o = t.precedence?.toLowerCase();
|
|
1388
|
-
if (t["list-unsubscribe"] || t["list-unsubscribe-post"] || t["list-id"] || o === "bulk" || o === "list" || e.body &&
|
|
1518
|
+
if (t["list-unsubscribe"] || t["list-unsubscribe-post"] || t["list-id"] || o === "bulk" || o === "list" || e.body && Mt.test(e.body) || n && Vn.test(n))
|
|
1389
1519
|
return "marketing";
|
|
1390
1520
|
}
|
|
1391
|
-
function
|
|
1521
|
+
function zn(e, t) {
|
|
1392
1522
|
return e.lastActivityAt ? !(e.seenBy ?? []).includes(t) : !1;
|
|
1393
1523
|
}
|
|
1394
|
-
const
|
|
1524
|
+
const Xn = ["open"], Yn = 1e3, qn = {
|
|
1395
1525
|
urgent: 1,
|
|
1396
1526
|
high: 4,
|
|
1397
1527
|
normal: 8,
|
|
1398
1528
|
low: 24
|
|
1399
|
-
},
|
|
1400
|
-
function
|
|
1401
|
-
return e.lastActivityAt ?? (e.createdAt ? new Date(
|
|
1529
|
+
}, Jn = 72;
|
|
1530
|
+
function Zn(e) {
|
|
1531
|
+
return e.lastActivityAt ?? (e.createdAt ? new Date(dn(e)).getTime() : 0);
|
|
1402
1532
|
}
|
|
1403
|
-
function
|
|
1404
|
-
return
|
|
1533
|
+
function Qn(e, t) {
|
|
1534
|
+
return er(t.remindersById?.[e.id], e, t.now);
|
|
1405
1535
|
}
|
|
1406
|
-
function
|
|
1536
|
+
function er(e, t, n) {
|
|
1407
1537
|
return !e || e.remindAt <= n ? !1 : !((t.lastActivityAt ?? 0) > e.parkedAt && t.lastActivityPreview?.direction === "inbound");
|
|
1408
1538
|
}
|
|
1409
|
-
const
|
|
1539
|
+
const kt = (e) => on(e) === "outbound_message", vt = (e) => Xn.includes(e);
|
|
1410
1540
|
function Ie(e, t) {
|
|
1411
|
-
return Math.max(0, (t -
|
|
1541
|
+
return Math.max(0, (t - Zn(e)) / Un);
|
|
1412
1542
|
}
|
|
1413
|
-
function
|
|
1543
|
+
function tr(e, t) {
|
|
1414
1544
|
const n = e.assignedInboxId ? t?.[e.assignedInboxId] : void 0;
|
|
1415
|
-
return typeof n == "number" && n > 0 ? n :
|
|
1545
|
+
return typeof n == "number" && n > 0 ? n : qn[e.priority ?? "normal"];
|
|
1416
1546
|
}
|
|
1417
|
-
function
|
|
1547
|
+
function Gs(e) {
|
|
1418
1548
|
const t = {};
|
|
1419
1549
|
for (const n of e)
|
|
1420
1550
|
typeof n.slaHours == "number" && n.slaHours > 0 && (t[n.id] = n.slaHours);
|
|
1421
1551
|
return t;
|
|
1422
1552
|
}
|
|
1423
|
-
function
|
|
1424
|
-
return !
|
|
1553
|
+
function Vs(e, t, n) {
|
|
1554
|
+
return !vt(e.status) || e.firstResponseAt ? !1 : Ie(e, t) > tr(e, n);
|
|
1425
1555
|
}
|
|
1426
|
-
function
|
|
1556
|
+
function nr(e, t) {
|
|
1427
1557
|
const n = e.lastActivityPreview;
|
|
1428
|
-
return n?.direction !== "outbound" || !
|
|
1558
|
+
return n?.direction !== "outbound" || !kt(n.type) ? !1 : Ie(e, t) < Jn;
|
|
1429
1559
|
}
|
|
1430
|
-
function
|
|
1431
|
-
if (!
|
|
1432
|
-
if (e.snoozedTill && e.snoozedTill > t.now) return { score:
|
|
1433
|
-
if (
|
|
1434
|
-
if (
|
|
1560
|
+
function zs(e, t) {
|
|
1561
|
+
if (!vt(e.status)) return { score: $, reasons: [] };
|
|
1562
|
+
if (e.snoozedTill && e.snoozedTill > t.now) return { score: $, reasons: [] };
|
|
1563
|
+
if (nr(e, t.now)) return { score: $, reasons: [] };
|
|
1564
|
+
if (Qn(e, t)) return { score: $, reasons: [] };
|
|
1435
1565
|
let n = 0;
|
|
1436
1566
|
const r = [], o = e.priority ?? "normal";
|
|
1437
|
-
|
|
1567
|
+
J[o] > 0 && (n += J[o], r.push(`priority:${o}`)), zn(e, t.userId) && (n += 20, r.push("unseen")), e.assignedUserId && e.assignedUserId === t.userId && (n += 15, r.push("assigned-to-you"));
|
|
1438
1568
|
const i = Ie(e, t.now);
|
|
1439
1569
|
if (i > 0) {
|
|
1440
1570
|
const l = Math.min(i * 2, 30);
|
|
1441
1571
|
n += l, i >= 1 && r.push(`waiting:${Math.round(i)}h`);
|
|
1442
1572
|
}
|
|
1443
1573
|
const s = e.lastActivityPreview;
|
|
1444
|
-
return s?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), s?.direction === "outbound" &&
|
|
1574
|
+
return s?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), s?.direction === "outbound" && kt(s.type) && (n += 10, r.push("no-reply")), !e.firstResponseAt && e.lastActivityPreview?.direction === "inbound" && (n += 10, r.push("awaiting-reply")), (e.tags?.some((l) => l === "marketing" || l === "automated") || Bn(e.remoteParty?.resource, e.lastActivityPreview?.snippet)) && (n -= Yn, r.push("bulk")), { score: n, reasons: r };
|
|
1445
1575
|
}
|
|
1446
|
-
const
|
|
1576
|
+
const Xs = (e) => !!e.assignedUserId || !!e.assignedInboxId, Ys = (e) => e.status === "closed", qs = (e) => ({
|
|
1447
1577
|
urgent: 10,
|
|
1448
1578
|
high: 5,
|
|
1449
1579
|
normal: 2,
|
|
1450
1580
|
low: 1
|
|
1451
|
-
})[e.priority] || 0,
|
|
1452
|
-
function
|
|
1581
|
+
})[e.priority] || 0, Js = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
|
|
1582
|
+
function Zs(e, t) {
|
|
1453
1583
|
const n = e.labels ?? [];
|
|
1454
1584
|
return n.find((r) => r.locale === t)?.label ?? n[0]?.label ?? e.url;
|
|
1455
1585
|
}
|
|
1456
|
-
function
|
|
1586
|
+
function Qs(e, t, n) {
|
|
1457
1587
|
const r = e.translations ?? [];
|
|
1458
1588
|
return r.find((o) => o.locale === t) ?? (n ? r.find((o) => o.locale === n) : void 0) ?? { locale: t };
|
|
1459
1589
|
}
|
|
1460
|
-
const
|
|
1590
|
+
const Ye = [
|
|
1461
1591
|
{ code: "nl", label: "Nederlands", english: "Dutch" },
|
|
1462
1592
|
{ code: "en", label: "English", english: "English" },
|
|
1463
1593
|
{ code: "de", label: "Deutsch", english: "German" },
|
|
@@ -1472,36 +1602,36 @@ const ze = [
|
|
|
1472
1602
|
{ code: "fi", label: "Suomi", english: "Finnish" },
|
|
1473
1603
|
{ code: "tr", label: "Türkçe", english: "Turkish" }
|
|
1474
1604
|
];
|
|
1475
|
-
function
|
|
1605
|
+
function Ot(e) {
|
|
1476
1606
|
const t = (e ?? "").toLowerCase();
|
|
1477
|
-
return
|
|
1607
|
+
return Ye.find((n) => n.code === t) ?? Ye.find((n) => n.code === t.split("-")[0]);
|
|
1478
1608
|
}
|
|
1479
|
-
function
|
|
1480
|
-
return
|
|
1609
|
+
function ea(e) {
|
|
1610
|
+
return Ot(e)?.label ?? e;
|
|
1481
1611
|
}
|
|
1482
|
-
function
|
|
1483
|
-
const t =
|
|
1612
|
+
function ta(e) {
|
|
1613
|
+
const t = Ot(e);
|
|
1484
1614
|
return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
|
|
1485
1615
|
}
|
|
1486
|
-
const
|
|
1487
|
-
function
|
|
1616
|
+
const Ct = 3;
|
|
1617
|
+
function rr(e, t) {
|
|
1488
1618
|
const n = /* @__PURE__ */ new Set();
|
|
1489
1619
|
let r = 1, o = t.get(e)?.parentId;
|
|
1490
1620
|
for (; o; ) {
|
|
1491
|
-
if (n.has(o) || (n.add(o), r++, r >
|
|
1621
|
+
if (n.has(o) || (n.add(o), r++, r > Ct + 1)) return 1 / 0;
|
|
1492
1622
|
o = t.get(o)?.parentId;
|
|
1493
1623
|
}
|
|
1494
1624
|
return r;
|
|
1495
1625
|
}
|
|
1496
|
-
function
|
|
1626
|
+
function na(e, t, n) {
|
|
1497
1627
|
if (!e) return !0;
|
|
1498
1628
|
if (e === t) return !1;
|
|
1499
1629
|
const r = new Map(n.map((s) => [s.id, s]));
|
|
1500
|
-
if (!r.has(e) || t &&
|
|
1501
|
-
const o =
|
|
1502
|
-
return o + i <=
|
|
1630
|
+
if (!r.has(e) || t && or(e, t, r)) return !1;
|
|
1631
|
+
const o = rr(e, r), i = t ? xt(t, n) : 1;
|
|
1632
|
+
return o + i <= Ct;
|
|
1503
1633
|
}
|
|
1504
|
-
function
|
|
1634
|
+
function or(e, t, n) {
|
|
1505
1635
|
const r = /* @__PURE__ */ new Set();
|
|
1506
1636
|
let o = n.get(e)?.parentId;
|
|
1507
1637
|
for (; o; ) {
|
|
@@ -1511,44 +1641,44 @@ function Yn(e, t, n) {
|
|
|
1511
1641
|
}
|
|
1512
1642
|
return !1;
|
|
1513
1643
|
}
|
|
1514
|
-
function
|
|
1644
|
+
function xt(e, t, n = /* @__PURE__ */ new Set()) {
|
|
1515
1645
|
if (n.has(e)) return 1;
|
|
1516
1646
|
n.add(e);
|
|
1517
1647
|
const r = t.filter((o) => o.parentId === e);
|
|
1518
|
-
return r.length ? 1 + Math.max(...r.map((o) =>
|
|
1648
|
+
return r.length ? 1 + Math.max(...r.map((o) => xt(o.id, t, n))) : 1;
|
|
1519
1649
|
}
|
|
1520
|
-
const
|
|
1521
|
-
function
|
|
1522
|
-
return e.defaultLocale || e.locale ||
|
|
1650
|
+
const ir = "en";
|
|
1651
|
+
function sr(e) {
|
|
1652
|
+
return e.defaultLocale || e.locale || ir;
|
|
1523
1653
|
}
|
|
1524
|
-
function
|
|
1654
|
+
function ra(e) {
|
|
1525
1655
|
const t = /* @__PURE__ */ new Set(), n = [];
|
|
1526
|
-
for (const r of [
|
|
1656
|
+
for (const r of [sr(e), ...e.locales ?? []])
|
|
1527
1657
|
!r || t.has(r) || (t.add(r), n.push(r));
|
|
1528
1658
|
return n;
|
|
1529
1659
|
}
|
|
1530
|
-
function
|
|
1660
|
+
function oa(e, t, n) {
|
|
1531
1661
|
const r = e.translations ?? [];
|
|
1532
1662
|
return r.find((o) => o.locale === t)?.name ?? (n ? r.find((o) => o.locale === n)?.name : void 0) ?? e.name;
|
|
1533
1663
|
}
|
|
1534
|
-
const
|
|
1535
|
-
function
|
|
1664
|
+
const qe = ["lookup", "condition", "parallel", "for-each"];
|
|
1665
|
+
function Je(e) {
|
|
1536
1666
|
for (const t of e) {
|
|
1537
|
-
if (!
|
|
1538
|
-
return `staptype "${t.type}" mag niet meelezen (alleen ${
|
|
1667
|
+
if (!qe.includes(t.type))
|
|
1668
|
+
return `staptype "${t.type}" mag niet meelezen (alleen ${qe.join(", ")})`;
|
|
1539
1669
|
if (t.type === "parallel")
|
|
1540
1670
|
for (const n of t.branches ?? []) {
|
|
1541
|
-
const r =
|
|
1671
|
+
const r = Je(n);
|
|
1542
1672
|
if (r) return r;
|
|
1543
1673
|
}
|
|
1544
1674
|
if (t.type === "for-each") {
|
|
1545
|
-
const n =
|
|
1675
|
+
const n = Je(t.body ?? []);
|
|
1546
1676
|
if (n) return n;
|
|
1547
1677
|
}
|
|
1548
1678
|
}
|
|
1549
1679
|
return null;
|
|
1550
1680
|
}
|
|
1551
|
-
function
|
|
1681
|
+
function ar(e, t) {
|
|
1552
1682
|
switch (e.kind) {
|
|
1553
1683
|
case "org":
|
|
1554
1684
|
return !0;
|
|
@@ -1558,22 +1688,22 @@ function Zn(e, t) {
|
|
|
1558
1688
|
return e.userId === t.userId;
|
|
1559
1689
|
}
|
|
1560
1690
|
}
|
|
1561
|
-
function
|
|
1562
|
-
return e.filter((n) => n.enabled &&
|
|
1691
|
+
function ia(e, t) {
|
|
1692
|
+
return e.filter((n) => n.enabled && ar(n.ownerScope, t));
|
|
1563
1693
|
}
|
|
1564
|
-
function
|
|
1694
|
+
function sa(e) {
|
|
1565
1695
|
return e.credentialScope ? e.credentialScope : (e.authMode ?? "header") === "header" || e.oauth?.scope === "org" ? "shared" : "per-user";
|
|
1566
1696
|
}
|
|
1567
|
-
function
|
|
1697
|
+
function aa(e) {
|
|
1568
1698
|
return `mcp__${e}__`;
|
|
1569
1699
|
}
|
|
1570
|
-
const
|
|
1571
|
-
function
|
|
1700
|
+
const ca = 1e3, la = 2e3, ua = 500, da = 12e3, fa = 4e3, cr = ["contact", "company", "work_item"];
|
|
1701
|
+
function pa(e) {
|
|
1572
1702
|
if (!e) return !1;
|
|
1573
1703
|
const t = e.slice(0, e.indexOf(":"));
|
|
1574
|
-
return
|
|
1704
|
+
return cr.includes(t);
|
|
1575
1705
|
}
|
|
1576
|
-
const
|
|
1706
|
+
const ma = "onboarding-source", ha = ["support", "billing", "availability", "sales", "onboarding"], ga = ["keep", "replace"], Me = [
|
|
1577
1707
|
{
|
|
1578
1708
|
key: "shift",
|
|
1579
1709
|
label: "kind_shift",
|
|
@@ -1647,44 +1777,44 @@ const na = "onboarding-source", ra = ["support", "billing", "availability", "sal
|
|
|
1647
1777
|
absent: !0,
|
|
1648
1778
|
icon: "party-popper"
|
|
1649
1779
|
}
|
|
1650
|
-
],
|
|
1780
|
+
], lr = {
|
|
1651
1781
|
key: "unknown",
|
|
1652
1782
|
label: "kind_unknown",
|
|
1653
1783
|
capacity: !1,
|
|
1654
1784
|
productive: !1,
|
|
1655
1785
|
absent: !1
|
|
1656
1786
|
};
|
|
1657
|
-
function
|
|
1658
|
-
return t.find((n) => n.key === e) ?? { ...
|
|
1787
|
+
function N(e, t = Me) {
|
|
1788
|
+
return t.find((n) => n.key === e) ?? { ...lr, key: e };
|
|
1659
1789
|
}
|
|
1660
|
-
function
|
|
1790
|
+
function j(e) {
|
|
1661
1791
|
return e === "published" || e === "approved";
|
|
1662
1792
|
}
|
|
1663
|
-
function
|
|
1793
|
+
function Nt(e, t, n = Me) {
|
|
1664
1794
|
if (e.workstreamId !== t) return !1;
|
|
1665
|
-
const r =
|
|
1795
|
+
const r = N(e.kindKey, n);
|
|
1666
1796
|
return r.absent ? !1 : r.productive || r.capacity;
|
|
1667
1797
|
}
|
|
1668
|
-
function
|
|
1669
|
-
if (!e.userId || !
|
|
1670
|
-
const n =
|
|
1798
|
+
function ya(e, t = Me) {
|
|
1799
|
+
if (!e.userId || !j(e.status)) return !1;
|
|
1800
|
+
const n = N(e.kindKey, t);
|
|
1671
1801
|
return n.capacity || n.productive || n.absent;
|
|
1672
1802
|
}
|
|
1673
|
-
const
|
|
1674
|
-
function
|
|
1675
|
-
return Math.round((t - e) /
|
|
1803
|
+
const ur = 864e5;
|
|
1804
|
+
function dr(e, t) {
|
|
1805
|
+
return Math.round((t - e) / ur);
|
|
1676
1806
|
}
|
|
1677
|
-
function
|
|
1807
|
+
function Rt(e, t) {
|
|
1678
1808
|
const n = e.cycleMinutes.length;
|
|
1679
|
-
return n === 0 ? 0 : (
|
|
1809
|
+
return n === 0 ? 0 : (dr(e.anchor, t) % n + n) % n;
|
|
1680
1810
|
}
|
|
1681
|
-
function
|
|
1682
|
-
return e.effectiveFrom !== void 0 && t < e.effectiveFrom ? 0 : e.cycleMinutes[
|
|
1811
|
+
function Dt(e, t) {
|
|
1812
|
+
return e.effectiveFrom !== void 0 && t < e.effectiveFrom ? 0 : e.cycleMinutes[Rt(e, t)] ?? 0;
|
|
1683
1813
|
}
|
|
1684
|
-
function
|
|
1685
|
-
return e.startTimes?.[
|
|
1814
|
+
function $t(e, t) {
|
|
1815
|
+
return e.startTimes?.[Rt(e, t)];
|
|
1686
1816
|
}
|
|
1687
|
-
function
|
|
1817
|
+
function Lt(e, t, n, r) {
|
|
1688
1818
|
const o = e.filter(
|
|
1689
1819
|
(a) => a.effectiveFrom === void 0 || a.effectiveFrom <= r
|
|
1690
1820
|
), i = (a) => a.sort((l, u) => (u.effectiveFrom ?? 0) - (l.effectiveFrom ?? 0))[0], s = i(o.filter((a) => a.userId === t));
|
|
@@ -1692,26 +1822,26 @@ function xt(e, t, n, r) {
|
|
|
1692
1822
|
o.filter((a) => !a.userId && a.teamId && n.includes(a.teamId))
|
|
1693
1823
|
);
|
|
1694
1824
|
}
|
|
1695
|
-
function
|
|
1825
|
+
function fr(e, t, n) {
|
|
1696
1826
|
return e.filter(
|
|
1697
1827
|
(r) => r.userId === t && (r.effectiveFrom === void 0 || r.effectiveFrom <= n)
|
|
1698
1828
|
).sort((r, o) => (o.effectiveFrom ?? 0) - (r.effectiveFrom ?? 0))[0];
|
|
1699
1829
|
}
|
|
1700
|
-
const
|
|
1701
|
-
function
|
|
1702
|
-
const t = Math.max(1, Math.round((e.to - e.from) /
|
|
1703
|
-
return Array.from({ length: t }, (n, r) => e.from + r *
|
|
1830
|
+
const pe = 864e5;
|
|
1831
|
+
function pr(e) {
|
|
1832
|
+
const t = Math.max(1, Math.round((e.to - e.from) / pe));
|
|
1833
|
+
return Array.from({ length: t }, (n, r) => e.from + r * pe);
|
|
1704
1834
|
}
|
|
1705
|
-
function
|
|
1835
|
+
function me(e, t, n, r) {
|
|
1706
1836
|
const o = Math.min(t, r) - Math.max(e, n);
|
|
1707
1837
|
return o > 0 ? o / 1e3 : 0;
|
|
1708
1838
|
}
|
|
1709
|
-
const
|
|
1710
|
-
function
|
|
1839
|
+
const Ze = { interval: 0, day: 1, week: 2 };
|
|
1840
|
+
function ba(e, t) {
|
|
1711
1841
|
const { entries: n, patterns: r = [], terms: o = [] } = t, i = n.filter(
|
|
1712
|
-
(c) => c.userId &&
|
|
1842
|
+
(c) => c.userId && j(c.status) && N(c.kindKey).capacity
|
|
1713
1843
|
), s = n.filter(
|
|
1714
|
-
(c) => c.userId &&
|
|
1844
|
+
(c) => c.userId && j(c.status) && N(c.kindKey).absent
|
|
1715
1845
|
), a = t.userIds ?? [
|
|
1716
1846
|
.../* @__PURE__ */ new Set([
|
|
1717
1847
|
...i.map((c) => c.userId),
|
|
@@ -1720,44 +1850,44 @@ function sa(e, t) {
|
|
|
1720
1850
|
])
|
|
1721
1851
|
].filter((c) => !!c), l = {};
|
|
1722
1852
|
let u = "interval";
|
|
1723
|
-
const
|
|
1724
|
-
|
|
1853
|
+
const f = (c) => {
|
|
1854
|
+
Ze[c] > Ze[u] && (u = c);
|
|
1725
1855
|
};
|
|
1726
1856
|
for (const c of a) {
|
|
1727
|
-
const
|
|
1857
|
+
const d = t.teamIdsOf?.(c) ?? [];
|
|
1728
1858
|
let m = 0, E = 0, g = 0;
|
|
1729
|
-
for (const
|
|
1730
|
-
const
|
|
1859
|
+
for (const p of pr(e)) {
|
|
1860
|
+
const _ = Math.max(p, e.from), x = Math.min(p + pe, e.to);
|
|
1731
1861
|
g++;
|
|
1732
|
-
const O = i.filter((M) => M.userId === c).reduce((M, Ne) => M +
|
|
1862
|
+
const O = i.filter((M) => M.userId === c).reduce((M, Ne) => M + me(Ne.start, Ne.end, _, x), 0);
|
|
1733
1863
|
if (O > 0) {
|
|
1734
1864
|
m += O;
|
|
1735
1865
|
continue;
|
|
1736
1866
|
}
|
|
1737
|
-
const k =
|
|
1867
|
+
const k = Lt(r, c, d, p), C = k ? Dt(k, p) : 0;
|
|
1738
1868
|
if (k && C > 0) {
|
|
1739
|
-
m += C * 60,
|
|
1869
|
+
m += C * 60, f($t(k, p) ? "interval" : "day");
|
|
1740
1870
|
continue;
|
|
1741
1871
|
}
|
|
1742
1872
|
k || E++;
|
|
1743
1873
|
}
|
|
1744
1874
|
if (E > 0) {
|
|
1745
|
-
const
|
|
1746
|
-
|
|
1875
|
+
const p = fr(o, c, e.from);
|
|
1876
|
+
p && (m += p.weeklyMinutes * 60 * (E / 7), f("week"));
|
|
1747
1877
|
}
|
|
1748
|
-
const T = s.filter((
|
|
1749
|
-
(
|
|
1878
|
+
const T = s.filter((p) => p.userId === c).reduce(
|
|
1879
|
+
(p, _) => p + me(_.start, _.end, e.from, e.to),
|
|
1750
1880
|
0
|
|
1751
|
-
),
|
|
1752
|
-
(
|
|
1881
|
+
), h = Math.max(0, m - T);
|
|
1882
|
+
(h > 0 || g > 0) && (l[c] = h);
|
|
1753
1883
|
}
|
|
1754
1884
|
return {
|
|
1755
|
-
seconds: Object.values(l).reduce((c,
|
|
1885
|
+
seconds: Object.values(l).reduce((c, d) => c + d, 0),
|
|
1756
1886
|
precision: u,
|
|
1757
1887
|
byUser: l
|
|
1758
1888
|
};
|
|
1759
1889
|
}
|
|
1760
|
-
function
|
|
1890
|
+
function Aa(e, t) {
|
|
1761
1891
|
if (!e.some((a) => a.userId)) return [];
|
|
1762
1892
|
const n = "", r = /* @__PURE__ */ new Map();
|
|
1763
1893
|
for (const a of e) {
|
|
@@ -1780,16 +1910,16 @@ function aa(e, t) {
|
|
|
1780
1910
|
const s = r.get(n) ?? 0;
|
|
1781
1911
|
return s > 0 && i.push({ requiredSeconds: s, capacitySeconds: 0, netSeconds: -s }), i;
|
|
1782
1912
|
}
|
|
1783
|
-
function
|
|
1913
|
+
function Ea(e, t, n, r) {
|
|
1784
1914
|
const o = e.filter(
|
|
1785
|
-
(s) => s.userId &&
|
|
1915
|
+
(s) => s.userId && j(s.status) && !N(s.kindKey).absent
|
|
1786
1916
|
), i = Object.entries(r.byUser).map(
|
|
1787
1917
|
([s, a]) => {
|
|
1788
1918
|
let l = 0, u = 0;
|
|
1789
|
-
for (const
|
|
1790
|
-
if (
|
|
1791
|
-
const c =
|
|
1792
|
-
c <= 0 || (
|
|
1919
|
+
for (const f of o) {
|
|
1920
|
+
if (f.userId !== s || N(f.kindKey).capacity && !f.workstreamId) continue;
|
|
1921
|
+
const c = me(f.start, f.end, n.from, n.to);
|
|
1922
|
+
c <= 0 || (Nt(f, t) ? l += c : u += c);
|
|
1793
1923
|
}
|
|
1794
1924
|
return {
|
|
1795
1925
|
userId: s,
|
|
@@ -1802,203 +1932,203 @@ function ca(e, t, n, r) {
|
|
|
1802
1932
|
);
|
|
1803
1933
|
return i.sort((s, a) => a.freeSeconds - s.freeSeconds), i;
|
|
1804
1934
|
}
|
|
1805
|
-
const
|
|
1806
|
-
function
|
|
1935
|
+
const _a = "demand-source", Qe = 1e3;
|
|
1936
|
+
function mr(e, t) {
|
|
1807
1937
|
let n = 1;
|
|
1808
1938
|
for (let r = 1; r <= e; r++)
|
|
1809
1939
|
n = t * n / (r + t * n);
|
|
1810
1940
|
return n;
|
|
1811
1941
|
}
|
|
1812
|
-
function
|
|
1942
|
+
function hr(e, t) {
|
|
1813
1943
|
if (e <= 0) return 1;
|
|
1814
1944
|
if (t <= 0) return 0;
|
|
1815
1945
|
if (e <= t) return 1;
|
|
1816
|
-
const n =
|
|
1946
|
+
const n = mr(e, t), r = t / e;
|
|
1817
1947
|
return n / (1 - r * (1 - n));
|
|
1818
1948
|
}
|
|
1819
|
-
function
|
|
1820
|
-
return r <= 0 ? 1 : e <= t ? 0 : 1 -
|
|
1949
|
+
function gr(e, t, n, r) {
|
|
1950
|
+
return r <= 0 ? 1 : e <= t ? 0 : 1 - hr(e, t) * Math.exp(-(e - t) * n / r);
|
|
1821
1951
|
}
|
|
1822
|
-
function
|
|
1952
|
+
function yr(e, t, n) {
|
|
1823
1953
|
return n <= 0 ? 0 : e * t / n;
|
|
1824
1954
|
}
|
|
1825
|
-
function
|
|
1955
|
+
function br(e, t, n, r) {
|
|
1826
1956
|
if (e <= 0 || t <= 0) return 0;
|
|
1827
|
-
const o =
|
|
1957
|
+
const o = yr(e, t, n);
|
|
1828
1958
|
if (o <= 0) return 0;
|
|
1829
1959
|
const i = r.serviceLevelPercent / 100, s = r.maxOccupancyPercent ? r.maxOccupancyPercent / 100 : void 0;
|
|
1830
|
-
for (let a = Math.max(1, Math.ceil(o)); a <=
|
|
1831
|
-
if (!(a <= o) && !(
|
|
1960
|
+
for (let a = Math.max(1, Math.ceil(o)); a <= Qe; a++)
|
|
1961
|
+
if (!(a <= o) && !(gr(a, o, r.targetSeconds, t) < i) && !(s && o / a > s))
|
|
1832
1962
|
return a;
|
|
1833
|
-
return
|
|
1963
|
+
return Qe;
|
|
1834
1964
|
}
|
|
1835
|
-
const
|
|
1836
|
-
function
|
|
1837
|
-
return e === "day" ?
|
|
1965
|
+
const Ar = 36e5, Er = 864e5;
|
|
1966
|
+
function _r(e) {
|
|
1967
|
+
return e === "day" ? Er : Ar;
|
|
1838
1968
|
}
|
|
1839
|
-
function
|
|
1969
|
+
function Sa(e, t) {
|
|
1840
1970
|
return e.start < t.end && t.start < e.end;
|
|
1841
1971
|
}
|
|
1842
|
-
function
|
|
1972
|
+
function se(e, t, n) {
|
|
1843
1973
|
const r = Math.min(e.end, n) - Math.max(e.start, t);
|
|
1844
1974
|
return r > 0 ? r / 1e3 : 0;
|
|
1845
1975
|
}
|
|
1846
|
-
function
|
|
1976
|
+
function Sr(e, t, n) {
|
|
1847
1977
|
const r = e.handleSeconds ?? 0, o = e.seconds ?? (e.volume !== void 0 ? e.volume * r : 0);
|
|
1848
1978
|
if (o <= 0 && !e.volume) return { seconds: 0, headcount: 0 };
|
|
1849
1979
|
const i = (t.unplannedLossPercent ?? 0) / 100, s = i > 0 && i < 1 ? 1 / (1 - i) : 1;
|
|
1850
1980
|
if (t.model === "queue" && e.volume !== void 0 && r > 0) {
|
|
1851
|
-
const a =
|
|
1981
|
+
const a = br(e.volume, r, n, t);
|
|
1852
1982
|
return { seconds: o, headcount: a * s };
|
|
1853
1983
|
}
|
|
1854
1984
|
return { seconds: o, headcount: o / n * s };
|
|
1855
1985
|
}
|
|
1856
|
-
function
|
|
1857
|
-
const { entries: t, workstreamId: n, staffing: r, demand: o, range: i } = e, s = e.grain ?? "hour", a =
|
|
1858
|
-
for (let g =
|
|
1859
|
-
const T = g + a,
|
|
1860
|
-
let
|
|
1861
|
-
for (const M of c)
|
|
1862
|
-
let
|
|
1863
|
-
for (const M of
|
|
1864
|
-
let
|
|
1865
|
-
for (const M of m)
|
|
1866
|
-
const O = o?.[
|
|
1986
|
+
function Ta(e) {
|
|
1987
|
+
const { entries: t, workstreamId: n, staffing: r, demand: o, range: i } = e, s = e.grain ?? "hour", a = _r(s), l = a / 1e3, u = e.kinds, f = t.filter((g) => j(g.status)), c = f.filter((g) => Nt(g, n, u)), d = f.filter((g) => N(g.kindKey, u).capacity), m = f.filter((g) => N(g.kindKey, u).absent), E = [];
|
|
1988
|
+
for (let g = H(i.from, s); g < i.to; g += a) {
|
|
1989
|
+
const T = g + a, h = B(g, s);
|
|
1990
|
+
let p = 0;
|
|
1991
|
+
for (const M of c) p += se(M, g, T);
|
|
1992
|
+
let _ = 0;
|
|
1993
|
+
for (const M of d) _ += se(M, g, T);
|
|
1994
|
+
let x = 0;
|
|
1995
|
+
for (const M of m) x += se(M, g, T);
|
|
1996
|
+
const O = o?.[h] ?? {}, k = Sr(O, r, l), C = p / l;
|
|
1867
1997
|
E.push({
|
|
1868
|
-
period:
|
|
1998
|
+
period: h,
|
|
1869
1999
|
forecastVolume: O.volume,
|
|
1870
2000
|
requiredSeconds: k.seconds,
|
|
1871
2001
|
requiredHeadcount: k.headcount,
|
|
1872
|
-
scheduledSeconds:
|
|
2002
|
+
scheduledSeconds: p,
|
|
1873
2003
|
scheduledHeadcount: C,
|
|
1874
2004
|
netHeadcount: C - k.headcount,
|
|
1875
|
-
capacitySeconds:
|
|
1876
|
-
absentSeconds:
|
|
2005
|
+
capacitySeconds: _,
|
|
2006
|
+
absentSeconds: x
|
|
1877
2007
|
});
|
|
1878
2008
|
}
|
|
1879
2009
|
return E;
|
|
1880
2010
|
}
|
|
1881
|
-
function
|
|
2011
|
+
function Tr(e, t) {
|
|
1882
2012
|
return e.workTypeKey ?? t?.defaultWorkTypeKey;
|
|
1883
2013
|
}
|
|
1884
|
-
function
|
|
1885
|
-
const r =
|
|
2014
|
+
function wa(e, t, n) {
|
|
2015
|
+
const r = Tr(e, t);
|
|
1886
2016
|
return r ? n.find((o) => o.key === r)?.defaultBillable ?? !1 : !1;
|
|
1887
2017
|
}
|
|
1888
|
-
function
|
|
2018
|
+
function Ia(e) {
|
|
1889
2019
|
return e.filter(
|
|
1890
2020
|
(t) => t.netHeadcount < 0 && t.requiredHeadcount > 0
|
|
1891
2021
|
);
|
|
1892
2022
|
}
|
|
1893
|
-
const
|
|
1894
|
-
function
|
|
2023
|
+
const wr = 36e5, he = 6048e5, Ir = 8, Mr = 0.5, kr = 2;
|
|
2024
|
+
function vr(e) {
|
|
1895
2025
|
const t = Number(e.slice(0, 4)), n = Number(e.slice(5, 7)), r = Number(e.slice(8, 10)), o = e.length > 10 ? Number(e.slice(11, 13)) : 0;
|
|
1896
2026
|
return Date.UTC(t, n - 1, r, o);
|
|
1897
2027
|
}
|
|
1898
|
-
function
|
|
2028
|
+
function Or(e, t, n) {
|
|
1899
2029
|
const r = [];
|
|
1900
2030
|
for (let i = 0; i < n; i++) {
|
|
1901
|
-
const s = t - i *
|
|
2031
|
+
const s = t - i * he, a = s - he;
|
|
1902
2032
|
let l = 0, u = !1;
|
|
1903
|
-
for (const [
|
|
1904
|
-
|
|
2033
|
+
for (const [f, c] of e)
|
|
2034
|
+
f >= a && f < s && (l += c, u = !0);
|
|
1905
2035
|
u && r.push(l);
|
|
1906
2036
|
}
|
|
1907
2037
|
if (r.length < 2) return 1;
|
|
1908
2038
|
const o = r.reduce((i, s) => i + s, 0) / r.length;
|
|
1909
|
-
return o <= 0 ? 1 : Math.min(
|
|
2039
|
+
return o <= 0 ? 1 : Math.min(kr, Math.max(Mr, r[0] / o));
|
|
1910
2040
|
}
|
|
1911
|
-
function
|
|
2041
|
+
function Cr(e, t) {
|
|
1912
2042
|
if (!e?.length) return;
|
|
1913
2043
|
let n;
|
|
1914
2044
|
for (const r of e)
|
|
1915
2045
|
t >= r.from && t < r.to && (n = r);
|
|
1916
2046
|
return n;
|
|
1917
2047
|
}
|
|
1918
|
-
function
|
|
1919
|
-
const r = Math.max(1, n?.weeks ??
|
|
2048
|
+
function Ma(e, t, n) {
|
|
2049
|
+
const r = Math.max(1, n?.weeks ?? Ir), o = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set();
|
|
1920
2050
|
for (const l of e)
|
|
1921
|
-
o.set(
|
|
1922
|
-
const s =
|
|
1923
|
-
for (let l =
|
|
1924
|
-
let u = 0,
|
|
2051
|
+
o.set(vr(l.period), l.value), i.add(l.period.slice(0, 10));
|
|
2052
|
+
const s = Or(o, H(t.from, "hour"), r), a = [];
|
|
2053
|
+
for (let l = H(t.from, "hour"); l < t.to; l += wr) {
|
|
2054
|
+
let u = 0, f = 0;
|
|
1925
2055
|
for (let m = 1; m <= r; m++) {
|
|
1926
|
-
const E = l - m *
|
|
2056
|
+
const E = l - m * he, T = o.get(E) ?? (i.has(B(E, "day")) ? 0 : void 0);
|
|
1927
2057
|
if (T === void 0) continue;
|
|
1928
|
-
const
|
|
1929
|
-
u += T *
|
|
2058
|
+
const h = r - m + 1;
|
|
2059
|
+
u += T * h, f += h;
|
|
1930
2060
|
}
|
|
1931
|
-
let c =
|
|
1932
|
-
const
|
|
1933
|
-
|
|
2061
|
+
let c = f > 0 ? u / f * s : 0;
|
|
2062
|
+
const d = Cr(n?.adjustments, l);
|
|
2063
|
+
d?.absoluteVolume !== void 0 ? c = d.absoluteVolume : d?.factor !== void 0 && (c *= d.factor), a.push({ period: B(l, "hour"), volume: c });
|
|
1934
2064
|
}
|
|
1935
2065
|
return a;
|
|
1936
2066
|
}
|
|
1937
|
-
const
|
|
1938
|
-
function
|
|
1939
|
-
return `${
|
|
2067
|
+
const xr = "schedule_entry", Nr = "workstream";
|
|
2068
|
+
function ka(e) {
|
|
2069
|
+
return `${xr}:${e}`;
|
|
1940
2070
|
}
|
|
1941
|
-
function
|
|
1942
|
-
return `${
|
|
2071
|
+
function va(e) {
|
|
2072
|
+
return `${Nr}:${e}`;
|
|
1943
2073
|
}
|
|
1944
|
-
const
|
|
1945
|
-
function
|
|
1946
|
-
const n = t === "day" ?
|
|
1947
|
-
for (let o =
|
|
2074
|
+
const ge = 36e5, P = 864e5;
|
|
2075
|
+
function Rr(e, t) {
|
|
2076
|
+
const n = t === "day" ? P : ge, r = [];
|
|
2077
|
+
for (let o = H(e.from, t); o < e.to; o += n) r.push(o);
|
|
1948
2078
|
return r;
|
|
1949
2079
|
}
|
|
1950
|
-
function
|
|
1951
|
-
const t = Math.max(1, Math.round((e.to - e.from) /
|
|
1952
|
-
return Array.from({ length: t }, (n, r) => e.from + r *
|
|
2080
|
+
function et(e) {
|
|
2081
|
+
const t = Math.max(1, Math.round((e.to - e.from) / P));
|
|
2082
|
+
return Array.from({ length: t }, (n, r) => e.from + r * P);
|
|
1953
2083
|
}
|
|
1954
|
-
function
|
|
2084
|
+
function ae(e, t, n, r) {
|
|
1955
2085
|
const o = Math.min(t, r) - Math.max(e, n);
|
|
1956
2086
|
return o > 0 ? o / 1e3 : 0;
|
|
1957
2087
|
}
|
|
1958
|
-
function
|
|
1959
|
-
const r = n.grain ?? "hour", o =
|
|
2088
|
+
function Oa(e, t, n = {}) {
|
|
2089
|
+
const r = n.grain ?? "hour", o = Rr(t, r), i = r === "day" ? P : ge, s = new Map(o.map((c) => [c, 0])), a = e.filter((c) => c.userId && N(c.kindKey).capacity), l = n.userIds?.length ? new Set(n.userIds) : null, u = /* @__PURE__ */ new Set();
|
|
1960
2090
|
for (const c of a)
|
|
1961
2091
|
if (!(l && c.userId && !l.has(c.userId))) {
|
|
1962
|
-
for (const
|
|
1963
|
-
const m =
|
|
1964
|
-
m > 0 && s.set(
|
|
2092
|
+
for (const d of o) {
|
|
2093
|
+
const m = ae(c.start, c.end, d, d + i);
|
|
2094
|
+
m > 0 && s.set(d, (s.get(d) ?? 0) + m);
|
|
1965
2095
|
}
|
|
1966
|
-
for (const
|
|
1967
|
-
|
|
2096
|
+
for (const d of et(t))
|
|
2097
|
+
ae(c.start, c.end, d, d + P) > 0 && u.add(`${c.userId}:${d}`);
|
|
1968
2098
|
}
|
|
1969
|
-
const
|
|
2099
|
+
const f = n.userIds ?? [
|
|
1970
2100
|
.../* @__PURE__ */ new Set([
|
|
1971
2101
|
...a.map((c) => c.userId),
|
|
1972
2102
|
...(n.patterns ?? []).map((c) => c.userId)
|
|
1973
2103
|
])
|
|
1974
2104
|
].filter((c) => !!c);
|
|
1975
2105
|
if (n.patterns?.length)
|
|
1976
|
-
for (const c of
|
|
1977
|
-
const
|
|
1978
|
-
for (const m of
|
|
2106
|
+
for (const c of f) {
|
|
2107
|
+
const d = n.teamIdsOf?.(c) ?? [];
|
|
2108
|
+
for (const m of et(t)) {
|
|
1979
2109
|
if (u.has(`${c}:${m}`)) continue;
|
|
1980
|
-
const E =
|
|
2110
|
+
const E = Lt(n.patterns, c, d, m);
|
|
1981
2111
|
if (!E) continue;
|
|
1982
|
-
const g =
|
|
2112
|
+
const g = Dt(E, m);
|
|
1983
2113
|
if (g <= 0) continue;
|
|
1984
|
-
const T =
|
|
2114
|
+
const T = $t(E, m);
|
|
1985
2115
|
if (T) {
|
|
1986
|
-
const [
|
|
2116
|
+
const [_, x] = T.split(":").map(Number), O = m + _ * ge + (x ?? 0) * 6e4, k = O + g * 6e4;
|
|
1987
2117
|
for (const C of o) {
|
|
1988
|
-
const M =
|
|
2118
|
+
const M = ae(O, k, C, C + i);
|
|
1989
2119
|
M > 0 && s.set(C, (s.get(C) ?? 0) + M);
|
|
1990
2120
|
}
|
|
1991
2121
|
continue;
|
|
1992
2122
|
}
|
|
1993
|
-
const
|
|
1994
|
-
if (!
|
|
1995
|
-
const
|
|
1996
|
-
for (const
|
|
2123
|
+
const h = o.filter((_) => _ >= m && _ < m + P);
|
|
2124
|
+
if (!h.length) continue;
|
|
2125
|
+
const p = g * 60 / h.length;
|
|
2126
|
+
for (const _ of h) s.set(_, (s.get(_) ?? 0) + p);
|
|
1997
2127
|
}
|
|
1998
2128
|
}
|
|
1999
|
-
return o.map((c) => ({ period:
|
|
2129
|
+
return o.map((c) => ({ period: B(c, r), weight: s.get(c) ?? 0 }));
|
|
2000
2130
|
}
|
|
2001
|
-
function
|
|
2131
|
+
function Dr(e, t) {
|
|
2002
2132
|
if (e <= 0 || !t.length) return [];
|
|
2003
2133
|
const n = t.reduce((r, o) => r + Math.max(0, o.weight), 0);
|
|
2004
2134
|
if (n <= 0) {
|
|
@@ -2007,11 +2137,11 @@ function wr(e, t) {
|
|
|
2007
2137
|
}
|
|
2008
2138
|
return t.filter((r) => r.weight > 0).map((r) => ({ period: r.period, seconds: e * r.weight / n }));
|
|
2009
2139
|
}
|
|
2010
|
-
function
|
|
2140
|
+
function Ca(e, t, n) {
|
|
2011
2141
|
const r = /* @__PURE__ */ new Map();
|
|
2012
2142
|
for (const o of e) {
|
|
2013
2143
|
const i = o.by ? t.filter((a) => n(a.period) < o.by) : t, s = i.length ? i : t;
|
|
2014
|
-
for (const a of
|
|
2144
|
+
for (const a of Dr(o.seconds, s)) {
|
|
2015
2145
|
const l = `${a.period}|${o.userId ?? ""}`, u = r.get(l);
|
|
2016
2146
|
u ? u.seconds += a.seconds : r.set(l, { ...a, userId: o.userId });
|
|
2017
2147
|
}
|
|
@@ -2020,7 +2150,7 @@ function ba(e, t, n) {
|
|
|
2020
2150
|
(o, i) => o.period.localeCompare(i.period) || (o.userId ?? "").localeCompare(i.userId ?? "")
|
|
2021
2151
|
);
|
|
2022
2152
|
}
|
|
2023
|
-
function
|
|
2153
|
+
function $r(e) {
|
|
2024
2154
|
switch (e.kind) {
|
|
2025
2155
|
case "user":
|
|
2026
2156
|
return `user:${e.userId}`;
|
|
@@ -2030,7 +2160,7 @@ function Mr(e) {
|
|
|
2030
2160
|
return "org";
|
|
2031
2161
|
}
|
|
2032
2162
|
}
|
|
2033
|
-
function
|
|
2163
|
+
function xa(e) {
|
|
2034
2164
|
if (typeof e != "string") return;
|
|
2035
2165
|
const t = e.trim();
|
|
2036
2166
|
if (t === "org") return { kind: "org" };
|
|
@@ -2042,10 +2172,10 @@ function Aa(e) {
|
|
|
2042
2172
|
if (r === "team") return { kind: "team", teamId: o };
|
|
2043
2173
|
}
|
|
2044
2174
|
}
|
|
2045
|
-
function
|
|
2046
|
-
return
|
|
2175
|
+
function Lr(e) {
|
|
2176
|
+
return $r(e);
|
|
2047
2177
|
}
|
|
2048
|
-
function
|
|
2178
|
+
function Pr(e) {
|
|
2049
2179
|
switch (e.kind) {
|
|
2050
2180
|
case "personal":
|
|
2051
2181
|
return { kind: "user", userId: e.userId };
|
|
@@ -2055,14 +2185,14 @@ function vr(e) {
|
|
|
2055
2185
|
return { kind: "org" };
|
|
2056
2186
|
}
|
|
2057
2187
|
}
|
|
2058
|
-
const
|
|
2059
|
-
function
|
|
2060
|
-
return e.agentId ? { kind: "user", userId: e.agentId } :
|
|
2188
|
+
const Ur = Pr;
|
|
2189
|
+
function Na(e) {
|
|
2190
|
+
return e.agentId ? { kind: "user", userId: e.agentId } : Ur(e.ownerScope);
|
|
2061
2191
|
}
|
|
2062
|
-
function
|
|
2063
|
-
return
|
|
2192
|
+
function Ra(e) {
|
|
2193
|
+
return Lr(e);
|
|
2064
2194
|
}
|
|
2065
|
-
function
|
|
2195
|
+
function Da(e, t) {
|
|
2066
2196
|
if (!t) return;
|
|
2067
2197
|
let n = e;
|
|
2068
2198
|
for (const r of t.split(".")) {
|
|
@@ -2071,24 +2201,24 @@ function _a(e, t) {
|
|
|
2071
2201
|
}
|
|
2072
2202
|
return n;
|
|
2073
2203
|
}
|
|
2074
|
-
function
|
|
2204
|
+
function $a(e, t) {
|
|
2075
2205
|
return e.targets.find((n) => n.activityTypes.includes(t));
|
|
2076
2206
|
}
|
|
2077
|
-
function
|
|
2207
|
+
function La(e, t) {
|
|
2078
2208
|
if (t)
|
|
2079
2209
|
return e.targets.find((n) => n.id === t);
|
|
2080
2210
|
}
|
|
2081
|
-
function
|
|
2211
|
+
function Kr(e) {
|
|
2082
2212
|
return e?.kind === "assignment";
|
|
2083
2213
|
}
|
|
2084
|
-
function
|
|
2214
|
+
function Pa(e) {
|
|
2085
2215
|
const { trigger: t, agentId: n, target: r, activityType: o, assigneeUserId: i, authorUserId: s } = e;
|
|
2086
|
-
return
|
|
2216
|
+
return Kr(t) ? n ? r ? r.activityTypes.includes(o) ? i ? i !== n ? "assigned to someone else" : s && s === n ? "the agent assigned this to itself, which would restart its own run" : null : `no assignee found at ${r.assigneePath}` : `activity type ${o} does not announce an assignment for ${r.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";
|
|
2087
2217
|
}
|
|
2088
|
-
function
|
|
2218
|
+
function Ua(e) {
|
|
2089
2219
|
return (e.startsWith("tool:") ? e.slice(5) : e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
|
|
2090
2220
|
}
|
|
2091
|
-
const
|
|
2221
|
+
const Ka = [
|
|
2092
2222
|
{ name: "text", type: "string" },
|
|
2093
2223
|
{ name: "subject", type: "string" },
|
|
2094
2224
|
{ name: "from", type: "string" },
|
|
@@ -2128,7 +2258,7 @@ const ka = [
|
|
|
2128
2258
|
// `buildTriggerVars` cannot fill it itself: the job does that with the catalog in hand, before
|
|
2129
2259
|
// the trigger filter runs — like contactId/companyId above.
|
|
2130
2260
|
{ name: "assigneeUserId", type: "string" }
|
|
2131
|
-
],
|
|
2261
|
+
], Fa = {
|
|
2132
2262
|
topics: [
|
|
2133
2263
|
{ name: "topicId", type: "string" },
|
|
2134
2264
|
{ name: "topic", type: "string" },
|
|
@@ -2142,58 +2272,58 @@ const ka = [
|
|
|
2142
2272
|
// Deliberately empty: the fields come from `ClassifyStep.fields` and so differ per step.
|
|
2143
2273
|
extract: []
|
|
2144
2274
|
};
|
|
2145
|
-
function
|
|
2275
|
+
function Fr(e) {
|
|
2146
2276
|
return `${e.type}:${e.id}`;
|
|
2147
2277
|
}
|
|
2148
|
-
const
|
|
2149
|
-
function
|
|
2150
|
-
return e?.type ===
|
|
2278
|
+
const Br = "interaction";
|
|
2279
|
+
function Hr(e) {
|
|
2280
|
+
return e?.type === Br ? e.id : void 0;
|
|
2151
2281
|
}
|
|
2152
|
-
const
|
|
2153
|
-
function
|
|
2282
|
+
const jr = 64, Wr = 8e3;
|
|
2283
|
+
function Ba(e) {
|
|
2154
2284
|
const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
|
|
2155
2285
|
if (!(!Number.isFinite(t) || t <= 0))
|
|
2156
|
-
return Math.min(Math.max(Math.round(t),
|
|
2286
|
+
return Math.min(Math.max(Math.round(t), jr), Wr);
|
|
2157
2287
|
}
|
|
2158
|
-
const
|
|
2159
|
-
function
|
|
2288
|
+
const Ha = { kind: "workflow", steps: [] };
|
|
2289
|
+
function ja(e) {
|
|
2160
2290
|
return e?.kind === "workflow" ? e.steps : [];
|
|
2161
2291
|
}
|
|
2162
|
-
function
|
|
2292
|
+
function Wa(e) {
|
|
2163
2293
|
return e?.kind === "procedure" ? e.procedure : void 0;
|
|
2164
2294
|
}
|
|
2165
|
-
function
|
|
2295
|
+
function Gr(e) {
|
|
2166
2296
|
const t = e?.approved ?? 0, n = t + (e?.rejected ?? 0);
|
|
2167
2297
|
return { total: n, rate: n ? t / n : 0 };
|
|
2168
2298
|
}
|
|
2169
|
-
const
|
|
2170
|
-
function
|
|
2171
|
-
const { total: t, rate: n } =
|
|
2172
|
-
return t >=
|
|
2299
|
+
const Vr = 10, zr = 0.9;
|
|
2300
|
+
function Ga(e) {
|
|
2301
|
+
const { total: t, rate: n } = Gr(e);
|
|
2302
|
+
return t >= Vr && n >= zr;
|
|
2173
2303
|
}
|
|
2174
|
-
const
|
|
2175
|
-
function
|
|
2176
|
-
return
|
|
2304
|
+
const Xr = ["done", "escalated", "failed", "stopped"];
|
|
2305
|
+
function Va(e) {
|
|
2306
|
+
return Xr.includes(e);
|
|
2177
2307
|
}
|
|
2178
|
-
function
|
|
2308
|
+
function Yr(e) {
|
|
2179
2309
|
return e === "waiting";
|
|
2180
2310
|
}
|
|
2181
|
-
function
|
|
2182
|
-
return e === "running" ||
|
|
2311
|
+
function za(e) {
|
|
2312
|
+
return e === "running" || Yr(e);
|
|
2183
2313
|
}
|
|
2184
|
-
function
|
|
2314
|
+
function Pt(e) {
|
|
2185
2315
|
return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
|
|
2186
2316
|
}
|
|
2187
|
-
function
|
|
2188
|
-
const t =
|
|
2189
|
-
return t ?
|
|
2317
|
+
function Xa(e) {
|
|
2318
|
+
const t = Pt(e);
|
|
2319
|
+
return t ? Fr(t) : void 0;
|
|
2190
2320
|
}
|
|
2191
|
-
function
|
|
2192
|
-
return
|
|
2321
|
+
function Ya(e) {
|
|
2322
|
+
return Hr(Pt(e));
|
|
2193
2323
|
}
|
|
2194
|
-
function
|
|
2324
|
+
function qa(e) {
|
|
2195
2325
|
const t = [], n = /* @__PURE__ */ new Map();
|
|
2196
|
-
for (const r of [...e].sort(
|
|
2326
|
+
for (const r of [...e].sort(qr)) {
|
|
2197
2327
|
const o = n.get(r.emoji);
|
|
2198
2328
|
if (o) {
|
|
2199
2329
|
o.push(r.actor);
|
|
@@ -2206,58 +2336,58 @@ function Ua(e) {
|
|
|
2206
2336
|
return { emoji: r, count: o.length, actors: o };
|
|
2207
2337
|
}).sort((r, o) => o.count - r.count || t.indexOf(r.emoji) - t.indexOf(o.emoji));
|
|
2208
2338
|
}
|
|
2209
|
-
const
|
|
2210
|
-
function
|
|
2339
|
+
const qr = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
|
|
2340
|
+
function Ja(e, t) {
|
|
2211
2341
|
return t ? e.actors.some((n) => n.type === "user" && n.id === t) : !1;
|
|
2212
2342
|
}
|
|
2213
|
-
const
|
|
2214
|
-
function
|
|
2343
|
+
const ye = 6e4, Jr = 36e5, W = 864e5, Ut = 800;
|
|
2344
|
+
function tt(e, t) {
|
|
2215
2345
|
const n = Date.UTC(e, t + 1, 0);
|
|
2216
|
-
return n - new Date(n).getUTCDay() *
|
|
2346
|
+
return n - new Date(n).getUTCDay() * W + Jr;
|
|
2217
2347
|
}
|
|
2218
|
-
function
|
|
2348
|
+
function Zr(e) {
|
|
2219
2349
|
const t = new Date(e).getUTCFullYear();
|
|
2220
|
-
return e >=
|
|
2350
|
+
return e >= tt(t, 2) && e < tt(t, 9);
|
|
2221
2351
|
}
|
|
2222
|
-
function
|
|
2223
|
-
const n = t.dst === "eu" &&
|
|
2224
|
-
return (t.utcOffsetMinutes + n) *
|
|
2352
|
+
function Kt(e, t) {
|
|
2353
|
+
const n = t.dst === "eu" && Zr(e) ? 60 : 0;
|
|
2354
|
+
return (t.utcOffsetMinutes + n) * ye;
|
|
2225
2355
|
}
|
|
2226
|
-
function
|
|
2356
|
+
function Qr(e) {
|
|
2227
2357
|
return (e + 3) % 7 + 1;
|
|
2228
2358
|
}
|
|
2229
|
-
function
|
|
2230
|
-
const n =
|
|
2231
|
-
if (!t.days.includes(
|
|
2232
|
-
const i = o *
|
|
2359
|
+
function Ft(e, t) {
|
|
2360
|
+
const n = Kt(e, t), r = e + n, o = Math.floor(r / W);
|
|
2361
|
+
if (!t.days.includes(Qr(o))) return null;
|
|
2362
|
+
const i = o * W;
|
|
2233
2363
|
return {
|
|
2234
|
-
open: i + t.fromMinutes *
|
|
2235
|
-
close: i + t.toMinutes *
|
|
2364
|
+
open: i + t.fromMinutes * ye - n,
|
|
2365
|
+
close: i + t.toMinutes * ye - n
|
|
2236
2366
|
};
|
|
2237
2367
|
}
|
|
2238
|
-
function
|
|
2239
|
-
const n =
|
|
2240
|
-
return (Math.floor(r /
|
|
2368
|
+
function Bt(e, t) {
|
|
2369
|
+
const n = Kt(e, t), r = e + n;
|
|
2370
|
+
return (Math.floor(r / W) + 1) * W - n;
|
|
2241
2371
|
}
|
|
2242
|
-
function
|
|
2372
|
+
function be(e, t, n) {
|
|
2243
2373
|
if (t <= e) return 0;
|
|
2244
2374
|
if (!n) return t - e;
|
|
2245
2375
|
let r = 0, o = e;
|
|
2246
|
-
for (let i = 0; i <
|
|
2247
|
-
const s =
|
|
2376
|
+
for (let i = 0; i < Ut && o < t; i++) {
|
|
2377
|
+
const s = Ft(o, n);
|
|
2248
2378
|
if (s) {
|
|
2249
2379
|
const a = Math.max(o, s.open), l = Math.min(t, s.close);
|
|
2250
2380
|
l > a && (r += l - a);
|
|
2251
2381
|
}
|
|
2252
|
-
o =
|
|
2382
|
+
o = Bt(o, n);
|
|
2253
2383
|
}
|
|
2254
2384
|
return r;
|
|
2255
2385
|
}
|
|
2256
|
-
function
|
|
2386
|
+
function ke(e, t, n) {
|
|
2257
2387
|
if (!n) return e + t;
|
|
2258
2388
|
let r = t, o = e;
|
|
2259
|
-
for (let i = 0; i <
|
|
2260
|
-
const s =
|
|
2389
|
+
for (let i = 0; i < Ut; i++) {
|
|
2390
|
+
const s = Ft(o, n);
|
|
2261
2391
|
if (s) {
|
|
2262
2392
|
const a = Math.max(o, s.open);
|
|
2263
2393
|
if (s.close > a) {
|
|
@@ -2266,183 +2396,183 @@ function Me(e, t, n) {
|
|
|
2266
2396
|
r -= l;
|
|
2267
2397
|
}
|
|
2268
2398
|
}
|
|
2269
|
-
o =
|
|
2399
|
+
o = Bt(o, n);
|
|
2270
2400
|
}
|
|
2271
2401
|
return e + t;
|
|
2272
2402
|
}
|
|
2273
|
-
function
|
|
2403
|
+
function Za(e) {
|
|
2274
2404
|
const t = /^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);
|
|
2275
2405
|
return t ? Number(t[1]) * 60 + Number(t[2]) : null;
|
|
2276
2406
|
}
|
|
2277
|
-
const
|
|
2278
|
-
function
|
|
2279
|
-
return e === "snoozed" ?
|
|
2407
|
+
const Ae = 1, Ee = 2;
|
|
2408
|
+
function Qa(e) {
|
|
2409
|
+
return e === "snoozed" ? Ae : Ee;
|
|
2280
2410
|
}
|
|
2281
|
-
function
|
|
2411
|
+
function ve(e) {
|
|
2282
2412
|
const t = e.calendar;
|
|
2283
2413
|
return t && Array.isArray(t.days) ? t : null;
|
|
2284
2414
|
}
|
|
2285
|
-
const
|
|
2415
|
+
const ec = [
|
|
2286
2416
|
"speed_of_answer",
|
|
2287
2417
|
"first_response",
|
|
2288
2418
|
"next_response",
|
|
2289
2419
|
"resolution",
|
|
2290
2420
|
"close"
|
|
2291
|
-
],
|
|
2292
|
-
function
|
|
2421
|
+
], tc = ["snoozed", "waiting_for_customer"], eo = 6e4, Ht = ["speed_of_answer", "first_response", "next_response"], to = [...Ht, "resolution", "close"];
|
|
2422
|
+
function G(e) {
|
|
2293
2423
|
return e.state === "running" || e.state === "paused";
|
|
2294
2424
|
}
|
|
2295
|
-
function
|
|
2296
|
-
return
|
|
2425
|
+
function no(e, t) {
|
|
2426
|
+
return G(e) ? { state: (e.state === "paused" ? e.remainingMs > 0 : t <= e.dueAt) ? "hit" : "missed", settledAt: Math.max(t, e.startedAt) } : null;
|
|
2297
2427
|
}
|
|
2298
|
-
function
|
|
2299
|
-
return
|
|
2428
|
+
function nt(e) {
|
|
2429
|
+
return G(e) ? { state: "void" } : null;
|
|
2300
2430
|
}
|
|
2301
|
-
function
|
|
2302
|
-
if (!
|
|
2431
|
+
function ro(e, t, n, r) {
|
|
2432
|
+
if (!G(e) || (e.pauseBits & t) !== 0) return null;
|
|
2303
2433
|
const o = e.pauseBits | t;
|
|
2304
|
-
return e.state === "paused" ? { pauseBits: o } : { pauseBits: o, state: "paused", remainingMs:
|
|
2434
|
+
return e.state === "paused" ? { pauseBits: o } : { pauseBits: o, state: "paused", remainingMs: be(n, e.dueAt, r) };
|
|
2305
2435
|
}
|
|
2306
|
-
function
|
|
2307
|
-
if (!
|
|
2436
|
+
function oo(e, t, n, r) {
|
|
2437
|
+
if (!G(e) || (e.pauseBits & t) === 0) return null;
|
|
2308
2438
|
const o = e.pauseBits & ~t;
|
|
2309
|
-
return o !== 0 ? { pauseBits: o } : { pauseBits: o, state: "running", dueAt:
|
|
2310
|
-
}
|
|
2311
|
-
function
|
|
2312
|
-
const i =
|
|
2313
|
-
|
|
2314
|
-
},
|
|
2315
|
-
for (const
|
|
2316
|
-
|
|
2317
|
-
}, c = (
|
|
2318
|
-
for (const
|
|
2319
|
-
|
|
2320
|
-
},
|
|
2321
|
-
for (const
|
|
2322
|
-
}, m = (
|
|
2323
|
-
for (const
|
|
2324
|
-
}, E = (
|
|
2325
|
-
const
|
|
2326
|
-
if (!
|
|
2327
|
-
const
|
|
2439
|
+
return o !== 0 ? { pauseBits: o } : { pauseBits: o, state: "running", dueAt: ke(n, e.remainingMs, r) };
|
|
2440
|
+
}
|
|
2441
|
+
function nc({ event: e, at: t, now: n, clocks: r, profile: o }) {
|
|
2442
|
+
const i = ve(o), s = Math.min(t, n), a = r.map((h) => ({ ...h })), l = [], u = (h, p) => {
|
|
2443
|
+
p && (l.push({ op: "patch", clockId: h.id, patch: p }), Object.assign(h, p));
|
|
2444
|
+
}, f = (h) => {
|
|
2445
|
+
for (const p of a)
|
|
2446
|
+
p.metric === h && u(p, no(p, s));
|
|
2447
|
+
}, c = (h) => {
|
|
2448
|
+
for (const p of a)
|
|
2449
|
+
h.includes(p.metric) && u(p, nt(p));
|
|
2450
|
+
}, d = (h) => {
|
|
2451
|
+
for (const p of a) u(p, ro(p, h, s, i));
|
|
2452
|
+
}, m = (h) => {
|
|
2453
|
+
for (const p of a) u(p, oo(p, h, s, i));
|
|
2454
|
+
}, E = (h) => a.reduce((p, _) => _.metric === h ? Math.max(p, _.attempt) : p, 0) + 1, g = (h) => a.some((p) => p.metric === h && G(p)), T = (h, p) => {
|
|
2455
|
+
const _ = o.targets.find((O) => O.metric === h);
|
|
2456
|
+
if (!_) return;
|
|
2457
|
+
const x = _.minutes * eo;
|
|
2328
2458
|
l.push({
|
|
2329
2459
|
op: "start",
|
|
2330
|
-
metric:
|
|
2331
|
-
attempt: E(
|
|
2332
|
-
startedAt:
|
|
2333
|
-
targetMs:
|
|
2334
|
-
dueAt:
|
|
2460
|
+
metric: h,
|
|
2461
|
+
attempt: E(h),
|
|
2462
|
+
startedAt: p,
|
|
2463
|
+
targetMs: x,
|
|
2464
|
+
dueAt: ke(p, x, i)
|
|
2335
2465
|
});
|
|
2336
2466
|
};
|
|
2337
2467
|
switch (e) {
|
|
2338
2468
|
case "apply": {
|
|
2339
|
-
for (const
|
|
2340
|
-
|
|
2341
|
-
for (const
|
|
2342
|
-
if (
|
|
2469
|
+
for (const h of a)
|
|
2470
|
+
h.profileId !== o.id && u(h, nt(h));
|
|
2471
|
+
for (const h of o.targets) {
|
|
2472
|
+
if (h.metric === "next_response") continue;
|
|
2343
2473
|
a.some(
|
|
2344
|
-
(
|
|
2345
|
-
) || T(
|
|
2474
|
+
(_) => _.metric === h.metric && _.profileId === o.id
|
|
2475
|
+
) || T(h.metric, s);
|
|
2346
2476
|
}
|
|
2347
2477
|
break;
|
|
2348
2478
|
}
|
|
2349
2479
|
case "answered":
|
|
2350
|
-
|
|
2480
|
+
f("speed_of_answer");
|
|
2351
2481
|
break;
|
|
2352
2482
|
case "outbound": {
|
|
2353
|
-
|
|
2483
|
+
f("first_response"), f("next_response"), o.pauseOn.includes("waiting_for_customer") && d(Ee);
|
|
2354
2484
|
break;
|
|
2355
2485
|
}
|
|
2356
2486
|
case "inbound": {
|
|
2357
|
-
m(
|
|
2487
|
+
m(Ee), !g("first_response") && !g("next_response") && T("next_response", s);
|
|
2358
2488
|
break;
|
|
2359
2489
|
}
|
|
2360
2490
|
case "resolved":
|
|
2361
|
-
|
|
2491
|
+
f("resolution");
|
|
2362
2492
|
break;
|
|
2363
2493
|
case "closed":
|
|
2364
|
-
|
|
2494
|
+
f("close"), f("resolution"), c(Ht);
|
|
2365
2495
|
break;
|
|
2366
2496
|
case "reopened":
|
|
2367
2497
|
g("resolution") || T("resolution", s), g("close") || T("close", s);
|
|
2368
2498
|
break;
|
|
2369
2499
|
case "snoozed":
|
|
2370
|
-
o.pauseOn.includes("snoozed") &&
|
|
2500
|
+
o.pauseOn.includes("snoozed") && d(Ae);
|
|
2371
2501
|
break;
|
|
2372
2502
|
case "unsnoozed":
|
|
2373
|
-
m(
|
|
2503
|
+
m(Ae);
|
|
2374
2504
|
break;
|
|
2375
2505
|
case "discarded":
|
|
2376
|
-
c(
|
|
2506
|
+
c(to);
|
|
2377
2507
|
break;
|
|
2378
2508
|
}
|
|
2379
2509
|
return l;
|
|
2380
2510
|
}
|
|
2381
|
-
function
|
|
2511
|
+
function io(e) {
|
|
2382
2512
|
return e.state === "running" || e.state === "paused";
|
|
2383
2513
|
}
|
|
2384
|
-
function
|
|
2385
|
-
const n =
|
|
2386
|
-
return e.state === "paused" ? e.remainingMs : t >= e.dueAt ? -
|
|
2514
|
+
function _e(e, t) {
|
|
2515
|
+
const n = ve(e);
|
|
2516
|
+
return e.state === "paused" ? e.remainingMs : t >= e.dueAt ? -be(e.dueAt, t, n) : be(t, e.dueAt, n);
|
|
2387
2517
|
}
|
|
2388
|
-
function
|
|
2389
|
-
return e.state === "paused" ?
|
|
2518
|
+
function rc(e, t) {
|
|
2519
|
+
return e.state === "paused" ? ke(t, e.remainingMs, ve(e)) : e.dueAt;
|
|
2390
2520
|
}
|
|
2391
|
-
function
|
|
2392
|
-
const n = e.filter(
|
|
2521
|
+
function oc(e, t) {
|
|
2522
|
+
const n = e.filter(io);
|
|
2393
2523
|
if (!n.length) return;
|
|
2394
2524
|
const r = n.filter((i) => i.state === "running");
|
|
2395
2525
|
return (r.length ? r : n).reduce(
|
|
2396
|
-
(i, s) =>
|
|
2526
|
+
(i, s) => _e(s, t) < _e(i, t) ? s : i
|
|
2397
2527
|
);
|
|
2398
2528
|
}
|
|
2399
|
-
function
|
|
2529
|
+
function ic(e, t) {
|
|
2400
2530
|
if (e.state === "missed") return "breached";
|
|
2401
2531
|
if (e.state === "hit") return "met";
|
|
2402
2532
|
if (e.state === "paused") return "paused";
|
|
2403
2533
|
if (e.state === "void") return "met";
|
|
2404
|
-
const n =
|
|
2534
|
+
const n = _e(e, t);
|
|
2405
2535
|
return n <= 0 ? "breached" : n <= e.targetMs / 5 ? "urgent" : "running";
|
|
2406
2536
|
}
|
|
2407
|
-
function
|
|
2537
|
+
function sc(e) {
|
|
2408
2538
|
const t = Math.floor(Math.abs(e) / 1e3), n = Math.floor(t / 86400), r = Math.floor(t % 86400 / 3600), o = Math.floor(t % 3600 / 60);
|
|
2409
2539
|
return n ? r ? `${n}d ${r}u` : `${n}d` : r ? o ? `${r}u ${o}m` : `${r}u` : o ? `${o}m` : `${t % 60}s`;
|
|
2410
2540
|
}
|
|
2411
|
-
const
|
|
2412
|
-
function
|
|
2413
|
-
return `${
|
|
2541
|
+
const so = "strategy_item";
|
|
2542
|
+
function jt(e) {
|
|
2543
|
+
return `${so}:${e}`;
|
|
2414
2544
|
}
|
|
2415
|
-
function
|
|
2416
|
-
const n = /* @__PURE__ */ new Set([
|
|
2545
|
+
function ac(e, t = 25) {
|
|
2546
|
+
const n = /* @__PURE__ */ new Set([jt(e.id)]);
|
|
2417
2547
|
for (const r of e.ancestorKeys ?? []) n.add(r);
|
|
2418
2548
|
return Array.from(n).slice(0, t);
|
|
2419
2549
|
}
|
|
2420
|
-
function
|
|
2421
|
-
return e ? [...e.ancestorKeys ?? [],
|
|
2550
|
+
function cc(e) {
|
|
2551
|
+
return e ? [...e.ancestorKeys ?? [], jt(e.id)] : [];
|
|
2422
2552
|
}
|
|
2423
|
-
const
|
|
2553
|
+
const ee = [
|
|
2424
2554
|
{ key: "area", label: "level_area", order: 10, measurable: !1, icon: "compass" },
|
|
2425
2555
|
{ key: "objective", label: "level_objective", order: 20, measurable: !0, icon: "target" },
|
|
2426
2556
|
{ key: "key_result", label: "level_key_result", order: 30, measurable: !0, icon: "gauge" }
|
|
2427
|
-
],
|
|
2428
|
-
function
|
|
2557
|
+
], ao = 999, co = 7;
|
|
2558
|
+
function lo(e, t = ee) {
|
|
2429
2559
|
return t.find((n) => n.key === e);
|
|
2430
2560
|
}
|
|
2431
|
-
function Se(e, t =
|
|
2432
|
-
return
|
|
2561
|
+
function Se(e, t = ee) {
|
|
2562
|
+
return lo(e, t)?.order ?? ao;
|
|
2433
2563
|
}
|
|
2434
|
-
function
|
|
2564
|
+
function lc(e, t, n = ee) {
|
|
2435
2565
|
return Se(t, n) <= Se(e, n);
|
|
2436
2566
|
}
|
|
2437
|
-
function
|
|
2567
|
+
function uc(e, t = ee) {
|
|
2438
2568
|
const n = Se(e, t);
|
|
2439
2569
|
return t.filter((o) => o.order > n).sort((o, i) => o.order - i.order)[0]?.key ?? e;
|
|
2440
2570
|
}
|
|
2441
|
-
function
|
|
2571
|
+
function dc(e) {
|
|
2442
2572
|
const t = e.trim().toLowerCase();
|
|
2443
2573
|
return t ? t.includes("key result") || t.includes("keyresult") || t === "kr" ? "key_result" : t.includes("objective") || t.includes("goal") || t.includes("doel") ? "objective" : t.includes("focus") || t.includes("area") || t.includes("theme") ? "area" : null : null;
|
|
2444
2574
|
}
|
|
2445
|
-
const
|
|
2575
|
+
const Te = {
|
|
2446
2576
|
pending: "open",
|
|
2447
2577
|
on_track: "open",
|
|
2448
2578
|
at_risk: "open",
|
|
@@ -2451,74 +2581,74 @@ const _e = {
|
|
|
2451
2581
|
achieved: "closed",
|
|
2452
2582
|
missed: "closed"
|
|
2453
2583
|
};
|
|
2454
|
-
function
|
|
2455
|
-
return
|
|
2584
|
+
function fc(e) {
|
|
2585
|
+
return Te[e] ?? "open";
|
|
2456
2586
|
}
|
|
2457
|
-
function
|
|
2458
|
-
return Object.keys(
|
|
2459
|
-
(t) => e.includes(
|
|
2587
|
+
function pc(e) {
|
|
2588
|
+
return Object.keys(Te).filter(
|
|
2589
|
+
(t) => e.includes(Te[t])
|
|
2460
2590
|
);
|
|
2461
2591
|
}
|
|
2462
|
-
const
|
|
2463
|
-
function
|
|
2592
|
+
const uo = 864e5, te = (e) => e <= 0 ? 0 : e > 1 ? 1 : e;
|
|
2593
|
+
function mc(e, t) {
|
|
2464
2594
|
const { direction: n } = e, r = e.startValue ?? 0, o = e.targetValue ?? 0;
|
|
2465
2595
|
if (!Number.isFinite(t)) return 0;
|
|
2466
2596
|
const i = n === "down" ? t <= o : t >= o, s = o - r;
|
|
2467
|
-
return (n === "down" ? s < 0 : s > 0) ?
|
|
2597
|
+
return (n === "down" ? s < 0 : s > 0) ? te((t - r) / s) : i ? 1 : 0;
|
|
2468
2598
|
}
|
|
2469
|
-
function
|
|
2599
|
+
function hc(e, t) {
|
|
2470
2600
|
const { startDate: n, targetDate: r } = e;
|
|
2471
2601
|
if (!(typeof n != "number" || typeof r != "number") && !(r <= n))
|
|
2472
|
-
return
|
|
2602
|
+
return te((t - n) / (r - n));
|
|
2473
2603
|
}
|
|
2474
|
-
const
|
|
2475
|
-
function
|
|
2604
|
+
const fo = 0.1, po = 0.25;
|
|
2605
|
+
function gc(e, t) {
|
|
2476
2606
|
if (typeof e != "number" || typeof t != "number") return;
|
|
2477
2607
|
if (e >= 1) return "achieved";
|
|
2478
2608
|
const n = t - e;
|
|
2479
|
-
return n >=
|
|
2609
|
+
return n >= po ? "off_track" : n >= fo ? "at_risk" : "on_track";
|
|
2480
2610
|
}
|
|
2481
|
-
function
|
|
2611
|
+
function yc(e, t) {
|
|
2482
2612
|
if (t)
|
|
2483
|
-
return
|
|
2613
|
+
return te(e / t);
|
|
2484
2614
|
}
|
|
2485
|
-
function
|
|
2615
|
+
function bc(e) {
|
|
2486
2616
|
const t = e.map((n) => n.progress?.ratio).filter((n) => typeof n == "number" && Number.isFinite(n));
|
|
2487
2617
|
if (t.length)
|
|
2488
|
-
return
|
|
2618
|
+
return te(t.reduce((n, r) => n + r, 0) / t.length);
|
|
2489
2619
|
}
|
|
2490
|
-
function
|
|
2620
|
+
function Ac(e, t) {
|
|
2491
2621
|
const n = e.lastCheckInAt ?? e.createdAt;
|
|
2492
2622
|
if (typeof n != "number") return 0;
|
|
2493
|
-
const r = (e.checkInEveryDays ??
|
|
2623
|
+
const r = (e.checkInEveryDays ?? co) * uo, o = t - n - r;
|
|
2494
2624
|
return o > 0 ? o : 0;
|
|
2495
2625
|
}
|
|
2496
|
-
function
|
|
2626
|
+
function Ec(e) {
|
|
2497
2627
|
return e.targetDate ?? Number.MAX_SAFE_INTEGER;
|
|
2498
2628
|
}
|
|
2499
|
-
function
|
|
2629
|
+
function _c(e, t) {
|
|
2500
2630
|
const n = e.accumulatedSeconds || 0;
|
|
2501
2631
|
return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
|
|
2502
2632
|
}
|
|
2503
|
-
function
|
|
2633
|
+
function Sc(e, t) {
|
|
2504
2634
|
const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
|
|
2505
2635
|
if (!t || t === "exact") return n * 60;
|
|
2506
2636
|
const r = Number(t);
|
|
2507
2637
|
return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
|
|
2508
2638
|
}
|
|
2509
|
-
function
|
|
2639
|
+
function Tc(e) {
|
|
2510
2640
|
const t = Math.max(0, Math.round(e / 60));
|
|
2511
2641
|
return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
|
|
2512
2642
|
}
|
|
2513
|
-
function
|
|
2643
|
+
function wc(e) {
|
|
2514
2644
|
const t = Math.max(0, Math.floor(e)), n = (i) => String(i).padStart(2, "0"), r = Math.floor(t / 60) % 60, o = Math.floor(t / 3600);
|
|
2515
2645
|
return o > 0 ? `${o}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
|
|
2516
2646
|
}
|
|
2517
|
-
function
|
|
2647
|
+
function mo(e) {
|
|
2518
2648
|
return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
|
|
2519
2649
|
}
|
|
2520
|
-
function
|
|
2521
|
-
const n =
|
|
2650
|
+
function Ic(e, t) {
|
|
2651
|
+
const n = mo(e) || "werksoort", r = new Set(t);
|
|
2522
2652
|
if (!r.has(n)) return n;
|
|
2523
2653
|
for (let o = 2; o < 500; o++) {
|
|
2524
2654
|
const i = `${n}-${o}`;
|
|
@@ -2526,82 +2656,82 @@ function pc(e, t) {
|
|
|
2526
2656
|
}
|
|
2527
2657
|
return `${n}-${r.size + 1}`;
|
|
2528
2658
|
}
|
|
2529
|
-
function
|
|
2659
|
+
function Mc(e, t) {
|
|
2530
2660
|
const n = e.ownerScope;
|
|
2531
2661
|
return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
|
|
2532
2662
|
}
|
|
2533
|
-
function
|
|
2534
|
-
return e.filter((t) => !t.archived).sort(
|
|
2663
|
+
function kc(e) {
|
|
2664
|
+
return e.filter((t) => !t.archived).sort(ho);
|
|
2535
2665
|
}
|
|
2536
|
-
function
|
|
2666
|
+
function ho(e, t) {
|
|
2537
2667
|
const n = (e.order ?? 0) - (t.order ?? 0);
|
|
2538
2668
|
return n !== 0 ? n : (e.label || "").localeCompare(t.label || "");
|
|
2539
2669
|
}
|
|
2540
|
-
const
|
|
2541
|
-
function
|
|
2670
|
+
const go = 20, yo = 20, ce = 300;
|
|
2671
|
+
function L(e) {
|
|
2542
2672
|
return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
|
|
2543
2673
|
}
|
|
2544
|
-
function
|
|
2674
|
+
function bo(e) {
|
|
2545
2675
|
const t = e.replace(/\s+/g, " ").trim();
|
|
2546
|
-
if (t.length <=
|
|
2547
|
-
const n = t.slice(0,
|
|
2548
|
-
return r >
|
|
2549
|
-
}
|
|
2550
|
-
function
|
|
2551
|
-
const n =
|
|
2552
|
-
if (!r || (e.examples ?? []).some((s) =>
|
|
2553
|
-
const o = e.exampleCandidates ?? [], i = o.findIndex((s) =>
|
|
2676
|
+
if (t.length <= ce) return t;
|
|
2677
|
+
const n = t.slice(0, ce), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
|
|
2678
|
+
return r > ce * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
|
|
2679
|
+
}
|
|
2680
|
+
function vc(e, t) {
|
|
2681
|
+
const n = bo(t.text), r = L(n);
|
|
2682
|
+
if (!r || (e.examples ?? []).some((s) => L(s) === r)) return null;
|
|
2683
|
+
const o = e.exampleCandidates ?? [], i = o.findIndex((s) => L(s.text) === r);
|
|
2554
2684
|
if (i >= 0) {
|
|
2555
2685
|
if (o[i].corrected || !t.corrected) return null;
|
|
2556
2686
|
const s = [...o];
|
|
2557
|
-
return s[i] = { ...s[i], corrected: !0, addedAt: t.addedAt },
|
|
2687
|
+
return s[i] = { ...s[i], corrected: !0, addedAt: t.addedAt }, rt(s);
|
|
2558
2688
|
}
|
|
2559
|
-
return
|
|
2689
|
+
return rt([{ ...t, text: n }, ...o]).slice(0, yo);
|
|
2560
2690
|
}
|
|
2561
|
-
function
|
|
2691
|
+
function rt(e) {
|
|
2562
2692
|
return [...e].sort(
|
|
2563
2693
|
(t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt
|
|
2564
2694
|
);
|
|
2565
2695
|
}
|
|
2566
|
-
function
|
|
2567
|
-
const n =
|
|
2568
|
-
return { examples: r.some((i) =>
|
|
2696
|
+
function Oc(e, t) {
|
|
2697
|
+
const n = L(t), r = (e.examples ?? []).filter((i) => i.trim());
|
|
2698
|
+
return { examples: r.some((i) => L(i) === n) ? r : [...r, t].slice(-go), exampleCandidates: Ao(e, t) };
|
|
2569
2699
|
}
|
|
2570
|
-
function
|
|
2571
|
-
const n =
|
|
2572
|
-
return (e.exampleCandidates ?? []).filter((r) =>
|
|
2700
|
+
function Ao(e, t) {
|
|
2701
|
+
const n = L(t);
|
|
2702
|
+
return (e.exampleCandidates ?? []).filter((r) => L(r.text) !== n);
|
|
2573
2703
|
}
|
|
2574
|
-
function
|
|
2704
|
+
function Eo(e, t) {
|
|
2575
2705
|
const n = e.ownerScope;
|
|
2576
2706
|
return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
|
|
2577
2707
|
}
|
|
2578
|
-
function
|
|
2579
|
-
return e.filter((n) =>
|
|
2708
|
+
function Cc(e, t) {
|
|
2709
|
+
return e.filter((n) => Eo(n, t));
|
|
2580
2710
|
}
|
|
2581
|
-
function
|
|
2711
|
+
function xc(e) {
|
|
2582
2712
|
return e.type === "agent";
|
|
2583
2713
|
}
|
|
2584
|
-
const
|
|
2585
|
-
function
|
|
2714
|
+
const Nc = "WORK_COMMENT_ADDED", Rc = "WORK_ITEM_ASSIGNED", Dc = "WORK_ITEM_STATUS_CHANGED";
|
|
2715
|
+
function _o(e, t) {
|
|
2586
2716
|
const n = (r) => {
|
|
2587
2717
|
const o = new Date(r);
|
|
2588
2718
|
return o.setHours(0, 0, 0, 0), o.getTime();
|
|
2589
2719
|
};
|
|
2590
|
-
return Math.round((n(e) - n(t)) /
|
|
2720
|
+
return Math.round((n(e) - n(t)) / Kn);
|
|
2591
2721
|
}
|
|
2592
|
-
function
|
|
2593
|
-
if (e.closedAt != null) return { score:
|
|
2722
|
+
function $c(e, t) {
|
|
2723
|
+
if (e.closedAt != null) return { score: $, reasons: [] };
|
|
2594
2724
|
const n = t.remindersById?.[e.id];
|
|
2595
|
-
if (n && n.remindAt > t.now) return { score:
|
|
2725
|
+
if (n && n.remindAt > t.now) return { score: $, reasons: [] };
|
|
2596
2726
|
let r = 0;
|
|
2597
2727
|
const o = [], i = e.priority ?? "normal";
|
|
2598
|
-
if (
|
|
2599
|
-
const s =
|
|
2728
|
+
if (J[i] > 0 && (r += J[i], o.push(`priority:${i}`)), typeof e.dueDate == "number") {
|
|
2729
|
+
const s = _o(e.dueDate, t.now);
|
|
2600
2730
|
s < 0 ? (r += 35, o.push("overdue")) : s === 0 && (r += 20, o.push("due-today"));
|
|
2601
2731
|
}
|
|
2602
2732
|
return e.source?.initiator === "system" && e.source.systemReason && (r += 15, o.push(`auto:${e.source.systemReason}`)), { score: r, reasons: o };
|
|
2603
2733
|
}
|
|
2604
|
-
const
|
|
2734
|
+
const Oe = [
|
|
2605
2735
|
{ key: "task", label: "type_task" },
|
|
2606
2736
|
{ key: "bug", label: "type_bug" },
|
|
2607
2737
|
{ key: "story", label: "type_story" },
|
|
@@ -2609,35 +2739,35 @@ const ve = [
|
|
|
2609
2739
|
{ key: "subtask", label: "type_subtask" },
|
|
2610
2740
|
{ key: "case", label: "type_case" },
|
|
2611
2741
|
{ key: "deal", label: "type_deal" }
|
|
2612
|
-
],
|
|
2613
|
-
function
|
|
2614
|
-
return e?.types?.length ? e.types :
|
|
2742
|
+
], Lc = Oe.map((e) => e.key);
|
|
2743
|
+
function Pc(e) {
|
|
2744
|
+
return e?.types?.length ? e.types : Oe;
|
|
2615
2745
|
}
|
|
2616
|
-
function
|
|
2746
|
+
function Uc(e, t) {
|
|
2617
2747
|
return t.find((n) => n.key === e);
|
|
2618
2748
|
}
|
|
2619
|
-
function
|
|
2749
|
+
function Kc(e) {
|
|
2620
2750
|
const t = e.trim().toLowerCase();
|
|
2621
2751
|
return t ? t.includes("sub-task") || t.includes("subtask") || t.includes("sub task") ? "subtask" : t.includes("bug") || t.includes("defect") ? "bug" : t.includes("epic") ? "epic" : t.includes("story") ? "story" : t.includes("incident") || t.includes("problem") || t.includes("service request") || t.includes("change") ? "case" : t.includes("task") ? "task" : null : null;
|
|
2622
2752
|
}
|
|
2623
|
-
function
|
|
2624
|
-
return e.map((t) =>
|
|
2753
|
+
function Fc(...e) {
|
|
2754
|
+
return e.map((t) => Oe.find((n) => n.key === t)).filter((t) => !!t);
|
|
2625
2755
|
}
|
|
2626
|
-
const
|
|
2627
|
-
function
|
|
2628
|
-
return `${
|
|
2756
|
+
const So = "work_item", To = "work_project", wo = "work_activity", Bc = "work_cycle";
|
|
2757
|
+
function Io(e) {
|
|
2758
|
+
return `${So}:${e}`;
|
|
2629
2759
|
}
|
|
2630
|
-
function
|
|
2631
|
-
return `${
|
|
2760
|
+
function Wt(e) {
|
|
2761
|
+
return `${To}:${e}`;
|
|
2632
2762
|
}
|
|
2633
|
-
function
|
|
2634
|
-
return `${
|
|
2763
|
+
function Hc(e) {
|
|
2764
|
+
return `${wo}:${e}`;
|
|
2635
2765
|
}
|
|
2636
|
-
function
|
|
2766
|
+
function jc(e, t, n) {
|
|
2637
2767
|
const r = `${e}-${t}`;
|
|
2638
2768
|
return n ? `${r}-${n}` : r;
|
|
2639
2769
|
}
|
|
2640
|
-
function
|
|
2770
|
+
function Wc(e) {
|
|
2641
2771
|
const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
|
|
2642
2772
|
return t ? {
|
|
2643
2773
|
projectKey: t[1].toUpperCase(),
|
|
@@ -2645,52 +2775,52 @@ function xc(e) {
|
|
|
2645
2775
|
...t[3] ? { subSequence: Number(t[3]) } : {}
|
|
2646
2776
|
} : null;
|
|
2647
2777
|
}
|
|
2648
|
-
function
|
|
2778
|
+
function Gc(e) {
|
|
2649
2779
|
return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
|
|
2650
2780
|
}
|
|
2651
|
-
function
|
|
2652
|
-
const n = /* @__PURE__ */ new Set([
|
|
2653
|
-
e.projectId && n.add(
|
|
2781
|
+
function Vc(e, t = 25) {
|
|
2782
|
+
const n = /* @__PURE__ */ new Set([Io(e.id)]);
|
|
2783
|
+
e.projectId && n.add(Wt(e.projectId));
|
|
2654
2784
|
for (const r of e.ancestorKeys ?? []) n.add(r);
|
|
2655
2785
|
for (const r of e.partyKeys ?? []) n.add(r);
|
|
2656
2786
|
return Array.from(n).slice(0, t);
|
|
2657
2787
|
}
|
|
2658
|
-
function
|
|
2659
|
-
return [
|
|
2788
|
+
function zc(e) {
|
|
2789
|
+
return [Wt(e.id)];
|
|
2660
2790
|
}
|
|
2661
|
-
const
|
|
2791
|
+
const Ce = [
|
|
2662
2792
|
{ key: "open", label: "status_open", category: "todo", order: 0 },
|
|
2663
2793
|
{ key: "in_progress", label: "status_in_progress", category: "in_progress", order: 1 },
|
|
2664
2794
|
{ key: "done", label: "status_done", category: "done", order: 2 },
|
|
2665
2795
|
{ key: "cancelled", label: "status_cancelled", category: "done", order: 3 }
|
|
2666
|
-
],
|
|
2667
|
-
function
|
|
2668
|
-
return e?.statuses?.length ? e.statuses :
|
|
2796
|
+
], Gt = Ce.map((e) => e.key);
|
|
2797
|
+
function Mo(e) {
|
|
2798
|
+
return e?.statuses?.length ? e.statuses : Ce;
|
|
2669
2799
|
}
|
|
2670
|
-
function
|
|
2800
|
+
function ko(e, t) {
|
|
2671
2801
|
return t.find((n) => n.key === e)?.category ?? "todo";
|
|
2672
2802
|
}
|
|
2673
|
-
function
|
|
2803
|
+
function Xc(e, t) {
|
|
2674
2804
|
return t.find((n) => n.key === e);
|
|
2675
2805
|
}
|
|
2676
|
-
function
|
|
2677
|
-
const t =
|
|
2678
|
-
return n && t.some((r) => r.key === n) ? n :
|
|
2806
|
+
function Yc(e) {
|
|
2807
|
+
const t = Mo(e), n = e?.defaultStatusKey;
|
|
2808
|
+
return n && t.some((r) => r.key === n) ? n : vo(t)[0]?.key ?? Ce[0].key;
|
|
2679
2809
|
}
|
|
2680
|
-
function
|
|
2810
|
+
function vo(e) {
|
|
2681
2811
|
return [...e].sort((t, n) => {
|
|
2682
2812
|
const r = (t.order ?? 0) - (n.order ?? 0);
|
|
2683
2813
|
return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
|
|
2684
2814
|
});
|
|
2685
2815
|
}
|
|
2686
|
-
function
|
|
2687
|
-
return
|
|
2816
|
+
function qc(e, t) {
|
|
2817
|
+
return ko(e, t) === "done";
|
|
2688
2818
|
}
|
|
2689
|
-
function
|
|
2819
|
+
function Oo(e) {
|
|
2690
2820
|
return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
|
|
2691
2821
|
}
|
|
2692
|
-
function
|
|
2693
|
-
const n =
|
|
2822
|
+
function Jc(e, t) {
|
|
2823
|
+
const n = Oo(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Gt]);
|
|
2694
2824
|
if (!r.has(n)) return n;
|
|
2695
2825
|
for (let o = 2; o < 500; o++) {
|
|
2696
2826
|
const i = `${n}-${o}`;
|
|
@@ -2698,7 +2828,7 @@ function Kc(e, t) {
|
|
|
2698
2828
|
}
|
|
2699
2829
|
return `${n}-${r.size + 1}`;
|
|
2700
2830
|
}
|
|
2701
|
-
function
|
|
2831
|
+
function Zc(e) {
|
|
2702
2832
|
const t = [];
|
|
2703
2833
|
if (!e.length) return [{ index: -1, reason: "empty" }];
|
|
2704
2834
|
const n = /* @__PURE__ */ new Set();
|
|
@@ -2707,16 +2837,16 @@ function Fc(e) {
|
|
|
2707
2837
|
t.push({ index: o, reason: "missing_key" });
|
|
2708
2838
|
return;
|
|
2709
2839
|
}
|
|
2710
|
-
|
|
2840
|
+
Gt.includes(r.key) && t.push({ index: o, reason: "reserved_key", key: r.key }), n.has(r.key) && t.push({ index: o, reason: "duplicate_key", key: r.key }), n.add(r.key);
|
|
2711
2841
|
}), e.some((r) => r.category === "todo" || r.category === "in_progress") || t.push({ index: -1, reason: "no_open" }), e.some((r) => r.category === "done") || t.push({ index: -1, reason: "no_done" }), t;
|
|
2712
2842
|
}
|
|
2713
|
-
function
|
|
2843
|
+
function Qc(e) {
|
|
2714
2844
|
return e.startDate ?? Number.MAX_SAFE_INTEGER;
|
|
2715
2845
|
}
|
|
2716
|
-
function
|
|
2846
|
+
function el(e) {
|
|
2717
2847
|
return e.completedAt ? "completed" : e.startedAt ? "active" : "planned";
|
|
2718
2848
|
}
|
|
2719
|
-
const
|
|
2849
|
+
const Co = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), xo = /* @__PURE__ */ new Set([
|
|
2720
2850
|
"text/plain",
|
|
2721
2851
|
"text/markdown",
|
|
2722
2852
|
"text/csv",
|
|
@@ -2725,67 +2855,67 @@ const So = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
|
|
|
2725
2855
|
"application/xml",
|
|
2726
2856
|
"text/xml"
|
|
2727
2857
|
]);
|
|
2728
|
-
function
|
|
2858
|
+
function No(e) {
|
|
2729
2859
|
const t = (e ?? "").trim().toLowerCase().split(";")[0];
|
|
2730
|
-
return t ?
|
|
2731
|
-
}
|
|
2732
|
-
const
|
|
2733
|
-
image: 5 *
|
|
2734
|
-
pdf: 20 *
|
|
2735
|
-
text: 1 *
|
|
2736
|
-
audio: 20 *
|
|
2737
|
-
},
|
|
2738
|
-
function
|
|
2739
|
-
const n =
|
|
2740
|
-
return n === "unsupported" ? "unsupported" : t >
|
|
2741
|
-
}
|
|
2742
|
-
function
|
|
2860
|
+
return t ? Co.has(t) ? "image" : t === "application/pdf" ? "pdf" : xo.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
|
|
2861
|
+
}
|
|
2862
|
+
const K = 1024 * 1024, Ro = {
|
|
2863
|
+
image: 5 * K,
|
|
2864
|
+
pdf: 20 * K,
|
|
2865
|
+
text: 1 * K,
|
|
2866
|
+
audio: 20 * K
|
|
2867
|
+
}, tl = 25 * K, nl = 5;
|
|
2868
|
+
function rl(e, t) {
|
|
2869
|
+
const n = No(e);
|
|
2870
|
+
return n === "unsupported" ? "unsupported" : t > Ro[n] ? "too-large" : null;
|
|
2871
|
+
}
|
|
2872
|
+
function ol(e) {
|
|
2743
2873
|
return e.access !== "read" && e.effect !== "internal";
|
|
2744
2874
|
}
|
|
2745
|
-
function
|
|
2875
|
+
function Do(e) {
|
|
2746
2876
|
return `${e.kind}:${e.id || e.url || e.title}`;
|
|
2747
2877
|
}
|
|
2748
|
-
function
|
|
2878
|
+
function il(e, t = []) {
|
|
2749
2879
|
const n = new Set(t), r = [], o = [];
|
|
2750
2880
|
for (const i of e) {
|
|
2751
|
-
const s =
|
|
2881
|
+
const s = Do(i);
|
|
2752
2882
|
n.has(s) || (n.add(s), r.push(i), o.push(s));
|
|
2753
2883
|
}
|
|
2754
2884
|
return { sources: r, keys: o };
|
|
2755
2885
|
}
|
|
2756
|
-
const
|
|
2757
|
-
function
|
|
2886
|
+
const sl = "assist-source", al = ["blocking", "due", "open"];
|
|
2887
|
+
function cl(e, t) {
|
|
2758
2888
|
const [n, r] = (e.subjectKey ?? "").split(":");
|
|
2759
2889
|
return n === t && r ? r : void 0;
|
|
2760
2890
|
}
|
|
2761
|
-
const
|
|
2762
|
-
function
|
|
2763
|
-
return
|
|
2891
|
+
const ot = { blocking: 0, due: 1, open: 2 };
|
|
2892
|
+
function ll(e, t) {
|
|
2893
|
+
return ot[e.band ?? "open"] - ot[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
|
|
2764
2894
|
}
|
|
2765
|
-
function
|
|
2895
|
+
function ul(e) {
|
|
2766
2896
|
return e.sessions.filter(
|
|
2767
2897
|
(t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
|
|
2768
2898
|
);
|
|
2769
2899
|
}
|
|
2770
|
-
function
|
|
2900
|
+
function dl(e) {
|
|
2771
2901
|
return e.sessions.filter(
|
|
2772
2902
|
(t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
|
|
2773
2903
|
);
|
|
2774
2904
|
}
|
|
2775
|
-
function
|
|
2905
|
+
function fl(e) {
|
|
2776
2906
|
return e.sessions.some(
|
|
2777
2907
|
(n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
|
|
2778
2908
|
) ? { admit: !1, reason: "busy" } : { admit: !0 };
|
|
2779
2909
|
}
|
|
2780
|
-
function
|
|
2781
|
-
const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((s) => !n.has(s.intent)).map((s) =>
|
|
2910
|
+
function $o(e, t) {
|
|
2911
|
+
const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((s) => !n.has(s.intent)).map((s) => Po(s, r[s.intent]));
|
|
2782
2912
|
if (!e.extraIntents || e.extraIntents.length === 0) return o;
|
|
2783
2913
|
const i = new Set(o.map((s) => s.intent));
|
|
2784
2914
|
for (const s of e.extraIntents)
|
|
2785
2915
|
i.has(s.intent) || (o.push(s), i.add(s.intent));
|
|
2786
2916
|
return o;
|
|
2787
2917
|
}
|
|
2788
|
-
function
|
|
2918
|
+
function Lo(e, t) {
|
|
2789
2919
|
const n = {};
|
|
2790
2920
|
for (const r of e.intents) {
|
|
2791
2921
|
if (!r.togglable) continue;
|
|
@@ -2794,46 +2924,46 @@ function ko(e, t) {
|
|
|
2794
2924
|
}
|
|
2795
2925
|
return n;
|
|
2796
2926
|
}
|
|
2797
|
-
function
|
|
2798
|
-
const n =
|
|
2927
|
+
function pl(e, t) {
|
|
2928
|
+
const n = Lo(e, t);
|
|
2799
2929
|
return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
|
|
2800
2930
|
}
|
|
2801
|
-
function
|
|
2931
|
+
function Po(e, t) {
|
|
2802
2932
|
return t ? {
|
|
2803
2933
|
intent: t.intent ?? e.intent,
|
|
2804
2934
|
targetSchemes: t.targetSchemes ?? e.targetSchemes,
|
|
2805
2935
|
transport: t.transport ?? e.transport
|
|
2806
2936
|
} : e;
|
|
2807
2937
|
}
|
|
2808
|
-
function
|
|
2938
|
+
function ml(e, t) {
|
|
2809
2939
|
const n = [];
|
|
2810
2940
|
for (const r of e) {
|
|
2811
2941
|
if (!r.enabled) continue;
|
|
2812
2942
|
const o = t[r.providerId];
|
|
2813
2943
|
if (o)
|
|
2814
|
-
for (const i of
|
|
2944
|
+
for (const i of $o(r, o))
|
|
2815
2945
|
n.push({ channel: r, description: o, capability: i });
|
|
2816
2946
|
}
|
|
2817
2947
|
return n;
|
|
2818
2948
|
}
|
|
2819
|
-
function
|
|
2949
|
+
function hl(e, t) {
|
|
2820
2950
|
return t.filter((n) => n.capability.intent === e);
|
|
2821
2951
|
}
|
|
2822
|
-
function
|
|
2952
|
+
function Uo(e, t) {
|
|
2823
2953
|
return t.filter((n) => n.capability.targetSchemes.includes(e));
|
|
2824
2954
|
}
|
|
2825
|
-
function
|
|
2826
|
-
return
|
|
2955
|
+
function gl(e, t) {
|
|
2956
|
+
return Uo(e.scheme, t);
|
|
2827
2957
|
}
|
|
2828
|
-
function
|
|
2958
|
+
function yl(e, t, n) {
|
|
2829
2959
|
const r = [];
|
|
2830
2960
|
for (const o of e)
|
|
2831
2961
|
for (const i of n)
|
|
2832
2962
|
i.capability.intent === t && i.capability.targetSchemes.includes(o.scheme) && r.push({ channelIntent: i, endpoint: o });
|
|
2833
2963
|
return r;
|
|
2834
2964
|
}
|
|
2835
|
-
var
|
|
2836
|
-
const
|
|
2965
|
+
var Ko = /* @__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))(Ko || {});
|
|
2966
|
+
const Fo = {
|
|
2837
2967
|
mailto: "mail",
|
|
2838
2968
|
sip: "tel",
|
|
2839
2969
|
tel: "tel",
|
|
@@ -2854,10 +2984,10 @@ const No = {
|
|
|
2854
2984
|
id: "note",
|
|
2855
2985
|
custom: "note"
|
|
2856
2986
|
};
|
|
2857
|
-
function
|
|
2858
|
-
return e ?
|
|
2987
|
+
function bl(e) {
|
|
2988
|
+
return e ? Fo[e] ?? "note" : "note";
|
|
2859
2989
|
}
|
|
2860
|
-
const
|
|
2990
|
+
const Al = "message_window", El = "message_templates", _l = {
|
|
2861
2991
|
// E-mail
|
|
2862
2992
|
FROM: "from",
|
|
2863
2993
|
TO: "to",
|
|
@@ -2874,11 +3004,11 @@ const al = "message_window", cl = "message_templates", ll = {
|
|
|
2874
3004
|
// Voice/conference
|
|
2875
3005
|
HOST: "host",
|
|
2876
3006
|
PARTICIPANT: "participant"
|
|
2877
|
-
},
|
|
3007
|
+
}, Sl = (e, t) => ({ intent: e, ...t }), Tl = "folder_management", wl = "remote_search", Il = "message_reactions", Ml = {
|
|
2878
3008
|
ok: !1,
|
|
2879
3009
|
code: "UNSUPPORTED",
|
|
2880
3010
|
message: "Provider does not support this op"
|
|
2881
|
-
},
|
|
3011
|
+
}, kl = "connector", vl = "context.collect", A = (e) => ({ type: "string", description: e }), b = (e) => ({ type: "number", description: e }), Y = (e) => ({ type: "boolean", description: e }), v = A("Sheet name. Omit for the sheet the user is looking at."), it = A("Slide id, as `inspect` reports it.");
|
|
2882
3012
|
function y(e, t, n, r, o, i) {
|
|
2883
3013
|
return {
|
|
2884
3014
|
op: e,
|
|
@@ -2889,22 +3019,22 @@ function y(e, t, n, r, o, i) {
|
|
|
2889
3019
|
visible: i.visible
|
|
2890
3020
|
};
|
|
2891
3021
|
}
|
|
2892
|
-
const
|
|
3022
|
+
const F = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, st = { undoable: !1, visible: !0 }, Z = { undoable: !1, visible: !1 }, Bo = [
|
|
2893
3023
|
y(
|
|
2894
3024
|
"pdf.goToPage",
|
|
2895
3025
|
["pdf"],
|
|
2896
3026
|
"Scroll the viewer to a page.",
|
|
2897
3027
|
{ page: b("1-based page number.") },
|
|
2898
3028
|
["page"],
|
|
2899
|
-
|
|
3029
|
+
F
|
|
2900
3030
|
),
|
|
2901
3031
|
y(
|
|
2902
3032
|
"pdf.search",
|
|
2903
3033
|
["pdf"],
|
|
2904
3034
|
"Search the document and highlight the matches, as the find bar does.",
|
|
2905
|
-
{ query: A("Text to find."), next:
|
|
3035
|
+
{ query: A("Text to find."), next: Y("Jump to the next match instead of the first.") },
|
|
2906
3036
|
["query"],
|
|
2907
|
-
|
|
3037
|
+
F
|
|
2908
3038
|
),
|
|
2909
3039
|
y(
|
|
2910
3040
|
"pdf.setTool",
|
|
@@ -2918,7 +3048,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
2918
3048
|
}
|
|
2919
3049
|
},
|
|
2920
3050
|
["tool"],
|
|
2921
|
-
|
|
3051
|
+
F
|
|
2922
3052
|
),
|
|
2923
3053
|
y(
|
|
2924
3054
|
"pdf.fillField",
|
|
@@ -2932,7 +3062,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
2932
3062
|
}
|
|
2933
3063
|
},
|
|
2934
3064
|
["field", "value"],
|
|
2935
|
-
|
|
3065
|
+
S
|
|
2936
3066
|
),
|
|
2937
3067
|
y(
|
|
2938
3068
|
"pdf.reorderPages",
|
|
@@ -2946,7 +3076,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
2946
3076
|
}
|
|
2947
3077
|
},
|
|
2948
3078
|
["order"],
|
|
2949
|
-
|
|
3079
|
+
st
|
|
2950
3080
|
),
|
|
2951
3081
|
y(
|
|
2952
3082
|
"pdf.deletePages",
|
|
@@ -2954,7 +3084,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
2954
3084
|
"Remove pages, keeping the rest in order.",
|
|
2955
3085
|
{ pages: { type: "array", items: { type: "number" }, description: "1-based page numbers." } },
|
|
2956
3086
|
["pages"],
|
|
2957
|
-
|
|
3087
|
+
st
|
|
2958
3088
|
),
|
|
2959
3089
|
y(
|
|
2960
3090
|
"pdf.addNote",
|
|
@@ -2970,7 +3100,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
2970
3100
|
fontSize: b("Font size in points. Omit for 12.")
|
|
2971
3101
|
},
|
|
2972
3102
|
["page", "text", "left", "top"],
|
|
2973
|
-
|
|
3103
|
+
Z
|
|
2974
3104
|
),
|
|
2975
3105
|
y(
|
|
2976
3106
|
"pdf.highlightText",
|
|
@@ -2982,9 +3112,9 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
2982
3112
|
occurrence: b("Which occurrence on that page, 1-based. Omit for the first.")
|
|
2983
3113
|
},
|
|
2984
3114
|
["page", "text"],
|
|
2985
|
-
|
|
3115
|
+
Z
|
|
2986
3116
|
)
|
|
2987
|
-
],
|
|
3117
|
+
], Ho = [
|
|
2988
3118
|
y(
|
|
2989
3119
|
"sheet.setValues",
|
|
2990
3120
|
["sheet"],
|
|
@@ -2999,7 +3129,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
2999
3129
|
}
|
|
3000
3130
|
},
|
|
3001
3131
|
["range", "values"],
|
|
3002
|
-
|
|
3132
|
+
S
|
|
3003
3133
|
),
|
|
3004
3134
|
y(
|
|
3005
3135
|
"sheet.setFormula",
|
|
@@ -3007,7 +3137,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3007
3137
|
"Put a formula in every cell of a range.",
|
|
3008
3138
|
{ sheet: v, range: A("A1 notation."), formula: A("Including the leading `=`.") },
|
|
3009
3139
|
["range", "formula"],
|
|
3010
|
-
|
|
3140
|
+
S
|
|
3011
3141
|
),
|
|
3012
3142
|
y(
|
|
3013
3143
|
"sheet.setStyle",
|
|
@@ -3016,8 +3146,8 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3016
3146
|
{
|
|
3017
3147
|
sheet: v,
|
|
3018
3148
|
range: A("A1 notation."),
|
|
3019
|
-
bold:
|
|
3020
|
-
italic:
|
|
3149
|
+
bold: Y("Bold on or off."),
|
|
3150
|
+
italic: Y("Italic on or off."),
|
|
3021
3151
|
fontSize: b("Point size."),
|
|
3022
3152
|
fontColor: A("CSS colour, e.g. `#b91c1c`."),
|
|
3023
3153
|
background: A("CSS colour for the cell fill."),
|
|
@@ -3029,7 +3159,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3029
3159
|
numberFormat: A("Number format pattern, e.g. `#,##0.00` or `0%`.")
|
|
3030
3160
|
},
|
|
3031
3161
|
["range"],
|
|
3032
|
-
|
|
3162
|
+
S
|
|
3033
3163
|
),
|
|
3034
3164
|
y(
|
|
3035
3165
|
"sheet.insertRows",
|
|
@@ -3041,7 +3171,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3041
3171
|
count: b("How many. Omit for 1.")
|
|
3042
3172
|
},
|
|
3043
3173
|
["at"],
|
|
3044
|
-
|
|
3174
|
+
S
|
|
3045
3175
|
),
|
|
3046
3176
|
y(
|
|
3047
3177
|
"sheet.deleteRows",
|
|
@@ -3049,7 +3179,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3049
3179
|
"Delete rows, pulling the rest up.",
|
|
3050
3180
|
{ sheet: v, at: b("1-based first row to delete."), count: b("How many. Omit for 1.") },
|
|
3051
3181
|
["at"],
|
|
3052
|
-
|
|
3182
|
+
S
|
|
3053
3183
|
),
|
|
3054
3184
|
y(
|
|
3055
3185
|
"sheet.insertColumns",
|
|
@@ -3061,7 +3191,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3061
3191
|
count: b("How many. Omit for 1.")
|
|
3062
3192
|
},
|
|
3063
3193
|
["at"],
|
|
3064
|
-
|
|
3194
|
+
S
|
|
3065
3195
|
),
|
|
3066
3196
|
y(
|
|
3067
3197
|
"sheet.deleteColumns",
|
|
@@ -3073,7 +3203,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3073
3203
|
count: b("How many. Omit for 1.")
|
|
3074
3204
|
},
|
|
3075
3205
|
["at"],
|
|
3076
|
-
|
|
3206
|
+
S
|
|
3077
3207
|
),
|
|
3078
3208
|
y(
|
|
3079
3209
|
"sheet.merge",
|
|
@@ -3081,7 +3211,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3081
3211
|
"Merge a range into one cell.",
|
|
3082
3212
|
{ sheet: v, range: A("A1 notation.") },
|
|
3083
3213
|
["range"],
|
|
3084
|
-
|
|
3214
|
+
S
|
|
3085
3215
|
),
|
|
3086
3216
|
y(
|
|
3087
3217
|
"sheet.unmerge",
|
|
@@ -3089,7 +3219,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3089
3219
|
"Break merged cells in a range apart.",
|
|
3090
3220
|
{ sheet: v, range: A("A1 notation.") },
|
|
3091
3221
|
["range"],
|
|
3092
|
-
|
|
3222
|
+
S
|
|
3093
3223
|
),
|
|
3094
3224
|
y(
|
|
3095
3225
|
"sheet.sort",
|
|
@@ -3099,10 +3229,10 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3099
3229
|
sheet: v,
|
|
3100
3230
|
range: A("A1 notation covering the rows to sort, header excluded."),
|
|
3101
3231
|
column: b("1-based column *within the range*, not within the sheet."),
|
|
3102
|
-
ascending:
|
|
3232
|
+
ascending: Y("Ascending. Omit for ascending.")
|
|
3103
3233
|
},
|
|
3104
3234
|
["range", "column"],
|
|
3105
|
-
|
|
3235
|
+
S
|
|
3106
3236
|
),
|
|
3107
3237
|
y(
|
|
3108
3238
|
"sheet.insertSheet",
|
|
@@ -3110,7 +3240,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3110
3240
|
"Add a new sheet.",
|
|
3111
3241
|
{ name: A("Name for the new sheet.") },
|
|
3112
3242
|
["name"],
|
|
3113
|
-
|
|
3243
|
+
S
|
|
3114
3244
|
),
|
|
3115
3245
|
y(
|
|
3116
3246
|
"sheet.renameSheet",
|
|
@@ -3118,7 +3248,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3118
3248
|
"Rename a sheet.",
|
|
3119
3249
|
{ sheet: A("Current name."), name: A("New name.") },
|
|
3120
3250
|
["sheet", "name"],
|
|
3121
|
-
|
|
3251
|
+
S
|
|
3122
3252
|
),
|
|
3123
3253
|
y(
|
|
3124
3254
|
"sheet.deleteSheet",
|
|
@@ -3126,7 +3256,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3126
3256
|
"Remove a sheet and everything on it.",
|
|
3127
3257
|
{ sheet: A("Name of the sheet to delete.") },
|
|
3128
3258
|
["sheet"],
|
|
3129
|
-
|
|
3259
|
+
S
|
|
3130
3260
|
),
|
|
3131
3261
|
y(
|
|
3132
3262
|
"sheet.activate",
|
|
@@ -3134,9 +3264,9 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3134
3264
|
"Show the user a sheet and select a range on it.",
|
|
3135
3265
|
{ sheet: v, range: A("A1 notation to select. Omit to only switch sheets.") },
|
|
3136
3266
|
[],
|
|
3137
|
-
|
|
3267
|
+
F
|
|
3138
3268
|
)
|
|
3139
|
-
],
|
|
3269
|
+
], jo = [
|
|
3140
3270
|
y(
|
|
3141
3271
|
"word.replaceParagraph",
|
|
3142
3272
|
["word"],
|
|
@@ -3146,7 +3276,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3146
3276
|
text: A("The new text for that paragraph. A newline starts a further paragraph.")
|
|
3147
3277
|
},
|
|
3148
3278
|
["at", "text"],
|
|
3149
|
-
|
|
3279
|
+
S
|
|
3150
3280
|
),
|
|
3151
3281
|
y(
|
|
3152
3282
|
"word.replaceRange",
|
|
@@ -3158,7 +3288,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3158
3288
|
text: A("The replacement text. A newline starts a new paragraph.")
|
|
3159
3289
|
},
|
|
3160
3290
|
["start", "end", "text"],
|
|
3161
|
-
|
|
3291
|
+
S
|
|
3162
3292
|
),
|
|
3163
3293
|
y(
|
|
3164
3294
|
"word.insertText",
|
|
@@ -3169,7 +3299,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3169
3299
|
text: A("The text to insert.")
|
|
3170
3300
|
},
|
|
3171
3301
|
["index", "text"],
|
|
3172
|
-
|
|
3302
|
+
S
|
|
3173
3303
|
),
|
|
3174
3304
|
y(
|
|
3175
3305
|
"word.appendText",
|
|
@@ -3177,7 +3307,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3177
3307
|
"Add text at the end of the document.",
|
|
3178
3308
|
{ text: A("The text to append.") },
|
|
3179
3309
|
["text"],
|
|
3180
|
-
|
|
3310
|
+
S
|
|
3181
3311
|
),
|
|
3182
3312
|
y(
|
|
3183
3313
|
"word.insertParagraph",
|
|
@@ -3188,7 +3318,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3188
3318
|
index: b("Character offset to insert at. Omit for the end of the document.")
|
|
3189
3319
|
},
|
|
3190
3320
|
[],
|
|
3191
|
-
|
|
3321
|
+
S
|
|
3192
3322
|
),
|
|
3193
3323
|
y(
|
|
3194
3324
|
"word.setSelection",
|
|
@@ -3196,27 +3326,27 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3196
3326
|
"Put the user's cursor on a stretch of text, and move the reading window there: the page context carries one window of a long document, and the text around this offset arrives in the next turn.",
|
|
3197
3327
|
{ start: b("Start character offset."), end: b("End character offset. Omit for a caret.") },
|
|
3198
3328
|
["start"],
|
|
3199
|
-
|
|
3329
|
+
F
|
|
3200
3330
|
)
|
|
3201
|
-
],
|
|
3331
|
+
], Wo = [
|
|
3202
3332
|
y(
|
|
3203
3333
|
"slides.setText",
|
|
3204
3334
|
["slides"],
|
|
3205
3335
|
"Replace the text of one shape. Written on save; not visible before that, and not undoable.",
|
|
3206
3336
|
{
|
|
3207
|
-
slide:
|
|
3337
|
+
slide: it,
|
|
3208
3338
|
element: A("Element id, as `inspect` reports it."),
|
|
3209
3339
|
text: A("The new text.")
|
|
3210
3340
|
},
|
|
3211
3341
|
["slide", "element", "text"],
|
|
3212
|
-
|
|
3342
|
+
Z
|
|
3213
3343
|
),
|
|
3214
3344
|
y(
|
|
3215
3345
|
"slides.setTransform",
|
|
3216
3346
|
["slides"],
|
|
3217
3347
|
"Move or resize one shape. Only the values you pass change. Written on save; not visible before that, and not undoable.",
|
|
3218
3348
|
{
|
|
3219
|
-
slide:
|
|
3349
|
+
slide: it,
|
|
3220
3350
|
element: A("Element id."),
|
|
3221
3351
|
left: b("Distance from the left edge, in pixels."),
|
|
3222
3352
|
top: b("Distance from the top edge, in pixels."),
|
|
@@ -3224,36 +3354,125 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3224
3354
|
height: b("Height in pixels.")
|
|
3225
3355
|
},
|
|
3226
3356
|
["slide", "element"],
|
|
3227
|
-
|
|
3357
|
+
Z
|
|
3228
3358
|
)
|
|
3229
|
-
],
|
|
3230
|
-
...
|
|
3231
|
-
...
|
|
3232
|
-
...
|
|
3233
|
-
|
|
3359
|
+
], Vt = [
|
|
3360
|
+
...Bo,
|
|
3361
|
+
...Ho,
|
|
3362
|
+
...jo,
|
|
3363
|
+
...Wo
|
|
3234
3364
|
];
|
|
3235
|
-
function
|
|
3236
|
-
return
|
|
3365
|
+
function Ol(e) {
|
|
3366
|
+
return Vt.filter((t) => t.kinds.includes(e));
|
|
3367
|
+
}
|
|
3368
|
+
function Cl(e) {
|
|
3369
|
+
return Vt.find((t) => t.op === e);
|
|
3370
|
+
}
|
|
3371
|
+
const at = /(?: {2,}|\\)$/, Go = /^\*\*([^*]+)\*\*\s+(.*)$/;
|
|
3372
|
+
function ct(e) {
|
|
3373
|
+
const t = Go.exec(e);
|
|
3374
|
+
return t ? { lead: t[1], text: t[2] } : { text: e };
|
|
3375
|
+
}
|
|
3376
|
+
function xl(e) {
|
|
3377
|
+
const t = (e ?? "").replace(/\r\n/g, `
|
|
3378
|
+
`).split(`
|
|
3379
|
+
`), n = [];
|
|
3380
|
+
let r = null;
|
|
3381
|
+
const o = () => {
|
|
3382
|
+
r && n.push({ type: "list", style: r.style, items: r.items }), r = null;
|
|
3383
|
+
}, i = (d, m) => {
|
|
3384
|
+
r && r.style !== d && o(), r ? r.items.push(ct(m)) : r = { style: d, items: [ct(m)] };
|
|
3385
|
+
};
|
|
3386
|
+
let s = [], a = [];
|
|
3387
|
+
const l = () => {
|
|
3388
|
+
if (s.length) {
|
|
3389
|
+
const d = s.join("").trim();
|
|
3390
|
+
d && n.push({ type: "paragraph", text: d }), s = [];
|
|
3391
|
+
}
|
|
3392
|
+
}, u = () => {
|
|
3393
|
+
a.length && (n.push({ type: "quote", text: a.join(`
|
|
3394
|
+
`) }), a = []);
|
|
3395
|
+
}, f = () => {
|
|
3396
|
+
l(), u(), o();
|
|
3397
|
+
};
|
|
3398
|
+
let c = 0;
|
|
3399
|
+
for (; c < t.length; ) {
|
|
3400
|
+
const d = t[c] ?? "", m = d.match(/^```(\w*)\s*$/);
|
|
3401
|
+
if (m) {
|
|
3402
|
+
f();
|
|
3403
|
+
const h = [];
|
|
3404
|
+
for (c++; c < t.length && !/^```\s*$/.test(t[c] ?? ""); )
|
|
3405
|
+
h.push(t[c] ?? ""), c++;
|
|
3406
|
+
c++, n.push({ type: "code", ...m[1] ? { lang: m[1] } : {}, text: h.join(`
|
|
3407
|
+
`) });
|
|
3408
|
+
continue;
|
|
3409
|
+
}
|
|
3410
|
+
const E = d.match(/^(#{1,3})\s+(.*)$/);
|
|
3411
|
+
if (E) {
|
|
3412
|
+
f(), n.push({
|
|
3413
|
+
type: "heading",
|
|
3414
|
+
level: E[1].length,
|
|
3415
|
+
text: E[2].trim()
|
|
3416
|
+
}), c++;
|
|
3417
|
+
continue;
|
|
3418
|
+
}
|
|
3419
|
+
const g = d.match(/^!\[([^\]]*)\]\(([^)\s]+)\)\s*$/);
|
|
3420
|
+
if (g) {
|
|
3421
|
+
f(), n.push({
|
|
3422
|
+
type: "image",
|
|
3423
|
+
url: g[2],
|
|
3424
|
+
...g[1] ? { alt: g[1] } : {}
|
|
3425
|
+
}), c++;
|
|
3426
|
+
continue;
|
|
3427
|
+
}
|
|
3428
|
+
if (/^\s*[-*]\s+/.test(d)) {
|
|
3429
|
+
l(), u(), i("bulleted", d.replace(/^\s*[-*]\s+/, "")), c++;
|
|
3430
|
+
continue;
|
|
3431
|
+
}
|
|
3432
|
+
if (/^\s*\d+\.\s+/.test(d)) {
|
|
3433
|
+
l(), u(), i("numbered", d.replace(/^\s*\d+\.\s+/, "")), c++;
|
|
3434
|
+
continue;
|
|
3435
|
+
}
|
|
3436
|
+
if (/^\s*(-{3,}|\*{3,}|_{3,})\s*$/.test(d)) {
|
|
3437
|
+
f(), n.push({ type: "divider" }), c++;
|
|
3438
|
+
continue;
|
|
3439
|
+
}
|
|
3440
|
+
if (/^>\s?/.test(d)) {
|
|
3441
|
+
l(), o(), a.push(d.replace(/^>\s?/, "")), c++;
|
|
3442
|
+
continue;
|
|
3443
|
+
}
|
|
3444
|
+
if (d.trim() === "") {
|
|
3445
|
+
f(), c++;
|
|
3446
|
+
continue;
|
|
3447
|
+
}
|
|
3448
|
+
u(), o();
|
|
3449
|
+
const T = at.test(d);
|
|
3450
|
+
s.push(d.replace(at, "").trim() + (T ? `
|
|
3451
|
+
` : " ")), c++;
|
|
3452
|
+
}
|
|
3453
|
+
return f(), n;
|
|
3237
3454
|
}
|
|
3238
|
-
function
|
|
3239
|
-
return
|
|
3455
|
+
function Nl(e, t) {
|
|
3456
|
+
return On(e, t).replace(/^```.*$/gm, "").replace(/^\|[\s:|-]*\|$/gm, "").replace(/[ \t]*\|[ \t]*/g, " ").replace(/^[ \t]*(#{1,6}|>|[-*+]|\d+\.)[ \t]+/gm, "").replace(/!\[([^\]]*)\]\([^)]*\)/g, "$1").replace(/\[([^\]]+)\]\([^)]*\)/g, "$1").replace(/(\*\*|__|\*|_|`|~~)/g, "").replace(/[ \t]+$/gm, "").replace(/\n{3,}/g, `
|
|
3457
|
+
|
|
3458
|
+
`).trim();
|
|
3240
3459
|
}
|
|
3241
|
-
const
|
|
3242
|
-
function
|
|
3460
|
+
const Rl = "documents.describe", Dl = "documents.inspect", $l = "documents.apply";
|
|
3461
|
+
function Ll(e) {
|
|
3243
3462
|
const t = e.indexOf(":");
|
|
3244
3463
|
if (t !== -1) return e.slice(0, t);
|
|
3245
3464
|
const n = e.indexOf(".");
|
|
3246
3465
|
return n === -1 ? e : e.slice(0, n);
|
|
3247
3466
|
}
|
|
3248
|
-
const
|
|
3249
|
-
function
|
|
3467
|
+
const Pl = "installation-id";
|
|
3468
|
+
function Ul(e) {
|
|
3250
3469
|
const t = [];
|
|
3251
3470
|
for (const n of Object.keys(e))
|
|
3252
3471
|
for (const r of Object.keys(e[n]))
|
|
3253
3472
|
t.push({ lang: n, key: r, value: e[n][r] });
|
|
3254
3473
|
return t;
|
|
3255
3474
|
}
|
|
3256
|
-
const
|
|
3475
|
+
const Kl = "notification-source", Fl = (e, t) => `${e}.pref.${t}`, Bl = {
|
|
3257
3476
|
ai: [
|
|
3258
3477
|
"account.read",
|
|
3259
3478
|
"account.write",
|
|
@@ -3388,48 +3607,48 @@ const wl = "notification-source", Ml = (e, t) => `${e}.pref.${t}`, kl = {
|
|
|
3388
3607
|
time: ["entry.read", "entry.write", "work-type.read", "work-type.write"],
|
|
3389
3608
|
user: ["user.read", "user.write"],
|
|
3390
3609
|
work: ["item.read", "item.write", "project.read", "project.write"]
|
|
3391
|
-
},
|
|
3392
|
-
function
|
|
3393
|
-
const r = n - e <
|
|
3610
|
+
}, zt = 9e4, Vo = ["out_of_office"], Xt = (e) => Vo.includes(e);
|
|
3611
|
+
function Hl(e, t, n) {
|
|
3612
|
+
const r = n - e < zt, o = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
|
|
3394
3613
|
if (!o?.status) return { online: r, status: r ? "available" : "offline" };
|
|
3395
3614
|
const i = o.status;
|
|
3396
|
-
return !r && !
|
|
3615
|
+
return !r && !Xt(i) ? { online: !1, status: "offline" } : { online: r, status: i, message: o.message };
|
|
3397
3616
|
}
|
|
3398
|
-
function
|
|
3399
|
-
const n = t - e.lastSeenAt <
|
|
3617
|
+
function jl(e, t) {
|
|
3618
|
+
const n = t - e.lastSeenAt < zt, r = n || Xt(e.status) ? e.status : "offline";
|
|
3400
3619
|
return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
|
|
3401
3620
|
}
|
|
3402
|
-
function
|
|
3621
|
+
function Wl(e, t) {
|
|
3403
3622
|
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 };
|
|
3404
3623
|
}
|
|
3405
|
-
function
|
|
3624
|
+
function Gl(e) {
|
|
3406
3625
|
return e.providerAvailable && e.allowed;
|
|
3407
3626
|
}
|
|
3408
|
-
const
|
|
3409
|
-
function
|
|
3627
|
+
const Vl = "resources.describe", zl = "resources.search", Xl = "resources.resolve", Yl = "resources.attached";
|
|
3628
|
+
function ql(e) {
|
|
3410
3629
|
const t = e.indexOf(":");
|
|
3411
3630
|
return t === -1 ? e : e.slice(0, t);
|
|
3412
3631
|
}
|
|
3413
|
-
const
|
|
3414
|
-
function
|
|
3632
|
+
const Jl = "/provider/scope/related", Zl = "/provider/scope/read", Yt = "auth";
|
|
3633
|
+
function qt(e) {
|
|
3415
3634
|
const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
|
|
3416
3635
|
return t ? t[1] : null;
|
|
3417
3636
|
}
|
|
3418
|
-
function
|
|
3419
|
-
const t =
|
|
3420
|
-
return t ? t !==
|
|
3637
|
+
function Ql(e) {
|
|
3638
|
+
const t = qt(e);
|
|
3639
|
+
return t ? t !== Yt : typeof e == "string" && e.startsWith("/wake");
|
|
3421
3640
|
}
|
|
3422
|
-
function
|
|
3423
|
-
return typeof e != "string" || e === "" || e === "/" ? !0 :
|
|
3641
|
+
function eu(e) {
|
|
3642
|
+
return typeof e != "string" || e === "" || e === "/" ? !0 : qt(e) === Yt;
|
|
3424
3643
|
}
|
|
3425
|
-
function
|
|
3644
|
+
function zo(e) {
|
|
3426
3645
|
return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
3427
3646
|
}
|
|
3428
|
-
function
|
|
3429
|
-
const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${
|
|
3647
|
+
function Xo(e) {
|
|
3648
|
+
const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${zo(r)}`).join("");
|
|
3430
3649
|
return new RegExp(`^${n}\\/?$`);
|
|
3431
3650
|
}
|
|
3432
|
-
function
|
|
3651
|
+
function Yo(e, t) {
|
|
3433
3652
|
const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean), o = {};
|
|
3434
3653
|
return n.forEach((i, s) => {
|
|
3435
3654
|
if (i.startsWith(":")) {
|
|
@@ -3438,14 +3657,14 @@ function Ko(e, t) {
|
|
|
3438
3657
|
}
|
|
3439
3658
|
}), o;
|
|
3440
3659
|
}
|
|
3441
|
-
function
|
|
3660
|
+
function qo(e) {
|
|
3442
3661
|
return e.publicBasePath ?? `/apps/${e.name}`;
|
|
3443
3662
|
}
|
|
3444
|
-
function
|
|
3663
|
+
function tu(e) {
|
|
3445
3664
|
const t = [];
|
|
3446
3665
|
for (const n of e) {
|
|
3447
3666
|
if (!n?.name) continue;
|
|
3448
|
-
const r =
|
|
3667
|
+
const r = qo(n);
|
|
3449
3668
|
for (const o of n.routes ?? []) {
|
|
3450
3669
|
if (!o.public) continue;
|
|
3451
3670
|
const i = o.path === "/" ? "" : o.path;
|
|
@@ -3459,7 +3678,7 @@ function Bl(e) {
|
|
|
3459
3678
|
}
|
|
3460
3679
|
return t;
|
|
3461
3680
|
}
|
|
3462
|
-
function
|
|
3681
|
+
function Jo(e, t) {
|
|
3463
3682
|
const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean);
|
|
3464
3683
|
for (let o = 0; o < Math.min(n.length, r.length); o++) {
|
|
3465
3684
|
const i = n[o].startsWith(":"), s = r[o].startsWith(":");
|
|
@@ -3467,17 +3686,17 @@ function Bo(e, t) {
|
|
|
3467
3686
|
}
|
|
3468
3687
|
return n.length > r.length;
|
|
3469
3688
|
}
|
|
3470
|
-
function
|
|
3689
|
+
function Zo(e, t) {
|
|
3471
3690
|
if (typeof e != "string") return null;
|
|
3472
3691
|
let n = null;
|
|
3473
3692
|
for (const r of t)
|
|
3474
|
-
|
|
3475
|
-
return n ? { ...n, params: { ...n.props, ...
|
|
3693
|
+
Xo(r.pattern).test(e) && (!n || Jo(r.pattern, n.pattern)) && (n = r);
|
|
3694
|
+
return n ? { ...n, params: { ...n.props, ...Yo(n.pattern, e) } } : null;
|
|
3476
3695
|
}
|
|
3477
|
-
function
|
|
3478
|
-
return
|
|
3696
|
+
function nu(e, t) {
|
|
3697
|
+
return Zo(e, t) !== null;
|
|
3479
3698
|
}
|
|
3480
|
-
const
|
|
3699
|
+
const ru = 10 * 1024 * 1024, ou = 25 * 1024 * 1024, iu = "sync-target", su = 20, Qo = {
|
|
3481
3700
|
afrikaans: [
|
|
3482
3701
|
"[Muziek]",
|
|
3483
3702
|
"(C) TV GELDERLAND 2021",
|
|
@@ -3627,14 +3846,14 @@ const jl = 10 * 1024 * 1024, Wl = 25 * 1024 * 1024, Gl = "sync-target", Vl = 20,
|
|
|
3627
3846
|
"[MÚSICA]",
|
|
3628
3847
|
"[Music cuts in British]"
|
|
3629
3848
|
]
|
|
3630
|
-
},
|
|
3849
|
+
}, ei = (e) => {
|
|
3631
3850
|
let t = e;
|
|
3632
|
-
return Object.values(
|
|
3851
|
+
return Object.values(Qo).forEach((n) => {
|
|
3633
3852
|
n.forEach((r) => {
|
|
3634
3853
|
t = t.replaceAll(r, "");
|
|
3635
3854
|
});
|
|
3636
3855
|
}), t = t.replace(/\(.*?\)/g, ""), t = t.replace(/\[.*?\]/g, ""), t;
|
|
3637
|
-
},
|
|
3856
|
+
}, ti = 6e4, ni = 8e3, ri = 2, oi = 0.4, ii = 3, si = /* @__PURE__ */ new Set([
|
|
3638
3857
|
"aan",
|
|
3639
3858
|
"als",
|
|
3640
3859
|
"ben",
|
|
@@ -3747,13 +3966,13 @@ const jl = 10 * 1024 * 1024, Wl = 25 * 1024 * 1024, Gl = "sync-target", Vl = 20,
|
|
|
3747
3966
|
"you",
|
|
3748
3967
|
"your"
|
|
3749
3968
|
]);
|
|
3750
|
-
function
|
|
3969
|
+
function ai(e) {
|
|
3751
3970
|
const t = /* @__PURE__ */ new Set();
|
|
3752
3971
|
for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
|
|
3753
|
-
n.length <
|
|
3972
|
+
n.length < ii || si.has(n) || t.add(n);
|
|
3754
3973
|
return [...t];
|
|
3755
3974
|
}
|
|
3756
|
-
function
|
|
3975
|
+
function ci(e, t) {
|
|
3757
3976
|
if (!e.length) return 0;
|
|
3758
3977
|
if (!t.length) return 1;
|
|
3759
3978
|
const n = new Set(t), r = new Set(e);
|
|
@@ -3761,38 +3980,38 @@ function Zo(e, t) {
|
|
|
3761
3980
|
for (const i of r) n.has(i) || (o += 1);
|
|
3762
3981
|
return o / r.size;
|
|
3763
3982
|
}
|
|
3764
|
-
function
|
|
3983
|
+
function li(e, t = ti) {
|
|
3765
3984
|
const n = e.filter((s) => !s.partial && typeof s.text == "string");
|
|
3766
3985
|
if (!n.length) return { text: "", segmentCount: 0 };
|
|
3767
3986
|
const o = n.reduce((s, a) => Math.max(s, a.endedAt ?? 0), 0) - t;
|
|
3768
|
-
return { text: n.filter((s) => (s.endedAt ?? 0) >= o).map((s) =>
|
|
3987
|
+
return { text: n.filter((s) => (s.endedAt ?? 0) >= o).map((s) => ei(s.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
|
|
3769
3988
|
}
|
|
3770
|
-
const
|
|
3771
|
-
function
|
|
3989
|
+
const ui = 60;
|
|
3990
|
+
function au(e, t, n = ui) {
|
|
3772
3991
|
const r = new Set(e), o = [...e];
|
|
3773
3992
|
for (const i of t)
|
|
3774
3993
|
!i || r.has(i) || (r.add(i), o.push(i));
|
|
3775
3994
|
return o.slice(-n);
|
|
3776
3995
|
}
|
|
3777
|
-
function
|
|
3996
|
+
function cu(e) {
|
|
3778
3997
|
const { segments: t, now: n, state: r } = e;
|
|
3779
|
-
if (r.lastTriggerAt && n - r.lastTriggerAt <
|
|
3998
|
+
if (r.lastTriggerAt && n - r.lastTriggerAt < ni)
|
|
3780
3999
|
return { trigger: !1, reason: "too_soon" };
|
|
3781
|
-
const o =
|
|
4000
|
+
const o = li(t, e.windowMs);
|
|
3782
4001
|
if (!o.text) return { trigger: !1, reason: "no_speech" };
|
|
3783
4002
|
const i = o.segmentCount - (r.lastSegmentCount ?? 0);
|
|
3784
|
-
if (r.lastQueryTerms && i <
|
|
4003
|
+
if (r.lastQueryTerms && i < ri)
|
|
3785
4004
|
return { trigger: !1, reason: "too_few_new" };
|
|
3786
|
-
const s =
|
|
3787
|
-
return s.length ? r.lastQueryTerms?.length &&
|
|
4005
|
+
const s = ai(o.text);
|
|
4006
|
+
return s.length ? r.lastQueryTerms?.length && ci(s, r.lastQueryTerms) < oi ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: o.text, terms: s, segmentCount: o.segmentCount } : { trigger: !1, reason: "no_speech" };
|
|
3788
4007
|
}
|
|
3789
|
-
const
|
|
4008
|
+
const lu = [
|
|
3790
4009
|
"personal",
|
|
3791
4010
|
"workspace",
|
|
3792
4011
|
"connections",
|
|
3793
4012
|
"work",
|
|
3794
4013
|
"ai"
|
|
3795
|
-
],
|
|
4014
|
+
], uu = "navNotice", xe = {
|
|
3796
4015
|
// The lower bounds are deliberately generous: service ranges (0800/0900) are
|
|
3797
4016
|
// shorter than geographic numbers, and a too-strict minimum silently drops them.
|
|
3798
4017
|
// An over-permissive key is harmless — it simply matches nothing.
|
|
@@ -3815,81 +4034,81 @@ const Yl = [
|
|
|
3815
4034
|
PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
|
|
3816
4035
|
US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
|
|
3817
4036
|
CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
|
|
3818
|
-
},
|
|
3819
|
-
new Set(Object.values(
|
|
4037
|
+
}, di = "NL", fi = 15, pi = 8, mi = Array.from(
|
|
4038
|
+
new Set(Object.values(xe).map((e) => e.callingCode))
|
|
3820
4039
|
).sort((e, t) => t.length - e.length);
|
|
3821
|
-
function
|
|
4040
|
+
function lt(e) {
|
|
3822
4041
|
if (e)
|
|
3823
|
-
return
|
|
4042
|
+
return xe[e.trim().toUpperCase()];
|
|
3824
4043
|
}
|
|
3825
|
-
function
|
|
4044
|
+
function q(e, t) {
|
|
3826
4045
|
return e.length >= t.nsnMin && e.length <= t.nsnMax;
|
|
3827
4046
|
}
|
|
3828
|
-
function
|
|
3829
|
-
if (e.length >
|
|
3830
|
-
for (const t of
|
|
4047
|
+
function ut(e) {
|
|
4048
|
+
if (e.length > fi) return null;
|
|
4049
|
+
for (const t of mi) {
|
|
3831
4050
|
if (!e.startsWith(t)) continue;
|
|
3832
4051
|
const n = e.slice(t.length);
|
|
3833
|
-
for (const r of Object.values(
|
|
4052
|
+
for (const r of Object.values(xe)) {
|
|
3834
4053
|
if (r.callingCode !== t) continue;
|
|
3835
4054
|
const o = r.trunkPrefix, i = o && n.startsWith(o) ? n.slice(o.length) : n;
|
|
3836
|
-
if (
|
|
4055
|
+
if (q(i, r)) return `+${t}${i}`;
|
|
3837
4056
|
}
|
|
3838
4057
|
return null;
|
|
3839
4058
|
}
|
|
3840
|
-
return e.length <
|
|
4059
|
+
return e.length < pi ? null : `+${e}`;
|
|
3841
4060
|
}
|
|
3842
|
-
function
|
|
4061
|
+
function hi(e) {
|
|
3843
4062
|
let t = e.trim();
|
|
3844
4063
|
const n = t.match(/^(sips?|tel|whatsapp):/i);
|
|
3845
4064
|
n && (t = t.slice(n[0].length));
|
|
3846
4065
|
const r = t.indexOf("@");
|
|
3847
4066
|
return r >= 0 && (t = t.slice(0, r)), t.trim();
|
|
3848
4067
|
}
|
|
3849
|
-
function
|
|
4068
|
+
function du(e) {
|
|
3850
4069
|
if (!e) return !1;
|
|
3851
4070
|
const t = e.indexOf("@");
|
|
3852
4071
|
if (t <= 0) return !1;
|
|
3853
4072
|
const n = e.slice(0, t).trim();
|
|
3854
4073
|
return !/^[+\d\s().-]+$/.test(n);
|
|
3855
4074
|
}
|
|
3856
|
-
function
|
|
4075
|
+
function dt(e, t) {
|
|
3857
4076
|
if (!e) return null;
|
|
3858
|
-
const n =
|
|
4077
|
+
const n = hi(e);
|
|
3859
4078
|
if (!n) return null;
|
|
3860
4079
|
const r = n.startsWith("+"), o = n.replace(/\D/g, "");
|
|
3861
4080
|
if (!o) return null;
|
|
3862
|
-
if (r) return
|
|
3863
|
-
if (o.startsWith("00")) return
|
|
3864
|
-
const i =
|
|
4081
|
+
if (r) return ut(o);
|
|
4082
|
+
if (o.startsWith("00")) return ut(o.slice(2));
|
|
4083
|
+
const i = lt(t) ?? lt(di);
|
|
3865
4084
|
if (!i) return null;
|
|
3866
4085
|
const s = i.trunkPrefix;
|
|
3867
4086
|
if (s && o.startsWith(s)) {
|
|
3868
4087
|
const a = o.slice(s.length);
|
|
3869
|
-
return
|
|
4088
|
+
return q(a, i) ? `+${i.callingCode}${a}` : null;
|
|
3870
4089
|
}
|
|
3871
4090
|
if (o.startsWith(i.callingCode)) {
|
|
3872
4091
|
const a = o.slice(i.callingCode.length);
|
|
3873
|
-
if (
|
|
4092
|
+
if (q(a, i)) return `+${i.callingCode}${a}`;
|
|
3874
4093
|
}
|
|
3875
|
-
return !s &&
|
|
4094
|
+
return !s && q(o, i) ? `+${i.callingCode}${o}` : null;
|
|
3876
4095
|
}
|
|
3877
|
-
function
|
|
4096
|
+
function fu(e, t = 9) {
|
|
3878
4097
|
const n = (e ?? "").replace(/\D/g, "");
|
|
3879
4098
|
return n.length < t ? null : n.slice(-t);
|
|
3880
4099
|
}
|
|
3881
|
-
function
|
|
4100
|
+
function Jt(e) {
|
|
3882
4101
|
if (!e) return null;
|
|
3883
4102
|
const t = e.trim().toLowerCase(), n = t.lastIndexOf("@");
|
|
3884
4103
|
if (n <= 0 || n === t.length - 1) return null;
|
|
3885
4104
|
const r = t.slice(0, n).split("+")[0], o = t.slice(n + 1);
|
|
3886
4105
|
return !r || !o.includes(".") ? null : `${r}@${o}`;
|
|
3887
4106
|
}
|
|
3888
|
-
function
|
|
3889
|
-
const t =
|
|
4107
|
+
function pu(e) {
|
|
4108
|
+
const t = Jt(e);
|
|
3890
4109
|
return t ? t.slice(t.lastIndexOf("@") + 1) : null;
|
|
3891
4110
|
}
|
|
3892
|
-
const
|
|
4111
|
+
const gi = /* @__PURE__ */ new Set([
|
|
3893
4112
|
"co.uk",
|
|
3894
4113
|
"org.uk",
|
|
3895
4114
|
"gov.uk",
|
|
@@ -3899,14 +4118,14 @@ const si = /* @__PURE__ */ new Set([
|
|
|
3899
4118
|
"com.br",
|
|
3900
4119
|
"co.za"
|
|
3901
4120
|
]);
|
|
3902
|
-
function
|
|
4121
|
+
function yi(e) {
|
|
3903
4122
|
if (!e) return null;
|
|
3904
4123
|
const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
|
|
3905
4124
|
if (t.length < 2) return null;
|
|
3906
4125
|
const n = t.slice(-2).join(".");
|
|
3907
|
-
return
|
|
4126
|
+
return gi.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
|
|
3908
4127
|
}
|
|
3909
|
-
const
|
|
4128
|
+
const bi = /* @__PURE__ */ new Set([
|
|
3910
4129
|
"gmail.com",
|
|
3911
4130
|
"googlemail.com",
|
|
3912
4131
|
"outlook.com",
|
|
@@ -3951,34 +4170,34 @@ const ci = /* @__PURE__ */ new Set([
|
|
|
3951
4170
|
"proximus.be",
|
|
3952
4171
|
"scarlet.be"
|
|
3953
4172
|
]);
|
|
3954
|
-
function
|
|
3955
|
-
const t =
|
|
3956
|
-
return t ?
|
|
4173
|
+
function mu(e) {
|
|
4174
|
+
const t = yi(e);
|
|
4175
|
+
return t ? bi.has(t) : !1;
|
|
3957
4176
|
}
|
|
3958
|
-
function
|
|
4177
|
+
function hu(e) {
|
|
3959
4178
|
if (!e) return !1;
|
|
3960
4179
|
const t = e.trim().toLowerCase();
|
|
3961
4180
|
return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
|
|
3962
4181
|
}
|
|
3963
|
-
function
|
|
4182
|
+
function gu(e, t, n) {
|
|
3964
4183
|
if (!e || !t) return null;
|
|
3965
4184
|
const r = e.trim().toLowerCase();
|
|
3966
4185
|
if (r === "tel" || r === "sms" || r === "whatsapp") {
|
|
3967
|
-
const i =
|
|
4186
|
+
const i = dt(t, n);
|
|
3968
4187
|
return i ? `tel:${i}` : null;
|
|
3969
4188
|
}
|
|
3970
4189
|
if (r === "fax") {
|
|
3971
|
-
const i =
|
|
4190
|
+
const i = dt(t, n);
|
|
3972
4191
|
return i ? `fax:${i}` : null;
|
|
3973
4192
|
}
|
|
3974
4193
|
if (r === "mailto" || r === "email") {
|
|
3975
|
-
const i =
|
|
4194
|
+
const i = Jt(t);
|
|
3976
4195
|
return i ? `mailto:${i}` : null;
|
|
3977
4196
|
}
|
|
3978
4197
|
const o = t.trim().toLowerCase();
|
|
3979
4198
|
return o ? `${r}:${o}` : null;
|
|
3980
4199
|
}
|
|
3981
|
-
const
|
|
4200
|
+
const Ai = [
|
|
3982
4201
|
/<blockquote/i,
|
|
3983
4202
|
/class="?gmail_quote/i,
|
|
3984
4203
|
// Gmail quote container
|
|
@@ -3991,72 +4210,72 @@ const li = [
|
|
|
3991
4210
|
// Outlook underscore separator before "From:"
|
|
3992
4211
|
/\bOn\b[\s\S]{0,200}?\bwrote:/i
|
|
3993
4212
|
// Gmail "On <date> <name> wrote:"
|
|
3994
|
-
],
|
|
3995
|
-
function
|
|
4213
|
+
], ft = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Ei = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
|
|
4214
|
+
function _i(e) {
|
|
3996
4215
|
const t = e.split(`
|
|
3997
4216
|
`);
|
|
3998
4217
|
for (let n = 0; n < t.length; n++)
|
|
3999
|
-
if (
|
|
4218
|
+
if (Ei.test(t[n]) || ft.test(t[n]) && t.slice(n + 1, n + 4).some((r) => ft.test(r)))
|
|
4000
4219
|
return t.slice(0, n).join(`
|
|
4001
4220
|
`).trim();
|
|
4002
4221
|
return e;
|
|
4003
4222
|
}
|
|
4004
|
-
const
|
|
4005
|
-
function
|
|
4223
|
+
const Si = /^(?:https?:|mailto:|tel:)/i, Ti = /^(?:https?:|cid:|data:image\/)/i;
|
|
4224
|
+
function le(e, t) {
|
|
4006
4225
|
const n = e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`, "i"));
|
|
4007
4226
|
return (n?.[1] ?? n?.[2] ?? n?.[3] ?? "").trim();
|
|
4008
4227
|
}
|
|
4009
|
-
const
|
|
4010
|
-
function
|
|
4011
|
-
return e.replace(/\s+/g, " ").trim().split(
|
|
4228
|
+
const wi = /(!\[[^\]]*\]\([^)]*\))/;
|
|
4229
|
+
function pt(e) {
|
|
4230
|
+
return e.replace(/\s+/g, " ").trim().split(wi).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
|
|
4012
4231
|
}
|
|
4013
|
-
function
|
|
4232
|
+
function ue(e) {
|
|
4014
4233
|
return e.replace(
|
|
4015
4234
|
/[()\s<>"]/g,
|
|
4016
4235
|
(t) => `%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2, "0")}`
|
|
4017
4236
|
);
|
|
4018
4237
|
}
|
|
4019
|
-
function
|
|
4238
|
+
function Ii(e) {
|
|
4020
4239
|
return e.replace(/<img\b([^>]*?)\/?>/gi, (n, r) => {
|
|
4021
|
-
const o =
|
|
4022
|
-
return
|
|
4240
|
+
const o = le(r, "src");
|
|
4241
|
+
return Ti.test(o) ? `})` : "";
|
|
4023
4242
|
}).replace(
|
|
4024
4243
|
/<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,
|
|
4025
4244
|
(n, r, o) => {
|
|
4026
|
-
const i =
|
|
4027
|
-
return
|
|
4245
|
+
const i = pt(o.replace(/<[^>]*>/g, "")), s = le(r, "href");
|
|
4246
|
+
return Si.test(s) ? `[${i || ue(s)}](${ue(s)})` : i;
|
|
4028
4247
|
}
|
|
4029
4248
|
);
|
|
4030
4249
|
}
|
|
4031
|
-
const
|
|
4032
|
-
function
|
|
4250
|
+
const Mi = /<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i, ki = /<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi, vi = /<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;
|
|
4251
|
+
function Oi(e, t) {
|
|
4033
4252
|
return /<table\b/i.test(e) || e.includes(`
|
|
4034
4253
|
|
|
4035
4254
|
|`) || t.includes("![") || t.length > 200;
|
|
4036
4255
|
}
|
|
4037
|
-
const
|
|
4038
|
-
function
|
|
4256
|
+
const Ci = 40, xi = { left: "---", center: ":---:", right: "---:" };
|
|
4257
|
+
function Ni(e) {
|
|
4039
4258
|
const t = e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);
|
|
4040
4259
|
return t ? t[1].toLowerCase() : "left";
|
|
4041
4260
|
}
|
|
4042
|
-
function
|
|
4261
|
+
function Ri(e) {
|
|
4043
4262
|
return e.replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().replace(/\|/g, "\\|");
|
|
4044
4263
|
}
|
|
4045
|
-
function
|
|
4264
|
+
function Di(e) {
|
|
4046
4265
|
const t = [];
|
|
4047
|
-
for (const s of e.matchAll(
|
|
4266
|
+
for (const s of e.matchAll(ki)) {
|
|
4048
4267
|
const a = [];
|
|
4049
|
-
for (const l of s[1].matchAll(
|
|
4050
|
-
const u =
|
|
4051
|
-
if (
|
|
4052
|
-
a.push({ text: u, align:
|
|
4268
|
+
for (const l of s[1].matchAll(vi)) {
|
|
4269
|
+
const u = Ri(l[3]);
|
|
4270
|
+
if (Oi(l[3], u)) return null;
|
|
4271
|
+
a.push({ text: u, align: Ni(l[2]) });
|
|
4053
4272
|
}
|
|
4054
4273
|
if (a.length === 0) return null;
|
|
4055
4274
|
a.some((l) => l.text !== "") && t.push(a);
|
|
4056
4275
|
}
|
|
4057
4276
|
const n = t[0]?.length ?? 0;
|
|
4058
4277
|
if (t.length < 2 || n < 2 || t.some((s) => s.length !== n)) return null;
|
|
4059
|
-
const r = (s) => `| ${s.map((a) => a.text).join(" | ")} |`, o = t[1].map((s) =>
|
|
4278
|
+
const r = (s) => `| ${s.map((a) => a.text).join(" | ")} |`, o = t[1].map((s) => xi[s.align]).join(" | "), i = t.slice(1).map(r).join(`
|
|
4060
4279
|
`);
|
|
4061
4280
|
return `
|
|
4062
4281
|
|
|
@@ -4066,36 +4285,36 @@ ${i}
|
|
|
4066
4285
|
|
|
4067
4286
|
`;
|
|
4068
4287
|
}
|
|
4069
|
-
function
|
|
4288
|
+
function $i(e) {
|
|
4070
4289
|
return e.replace(/<\/(t[dh])\s*>/gi, " ").replace(/<\/tr\s*>/gi, `
|
|
4071
4290
|
`).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi, "").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi, "");
|
|
4072
4291
|
}
|
|
4073
|
-
function
|
|
4292
|
+
function Li(e) {
|
|
4074
4293
|
let t = e;
|
|
4075
|
-
for (let n = 0; n <
|
|
4076
|
-
const r =
|
|
4294
|
+
for (let n = 0; n < Ci; n++) {
|
|
4295
|
+
const r = Mi.exec(t);
|
|
4077
4296
|
if (!r || r.index === void 0) break;
|
|
4078
|
-
const i =
|
|
4297
|
+
const i = Di(r[1]) ?? `
|
|
4079
4298
|
|
|
4080
|
-
${
|
|
4299
|
+
${$i(r[1])}
|
|
4081
4300
|
|
|
4082
4301
|
`;
|
|
4083
4302
|
t = t.slice(0, r.index) + i + t.slice(r.index + r[0].length);
|
|
4084
4303
|
}
|
|
4085
4304
|
return t;
|
|
4086
4305
|
}
|
|
4087
|
-
function
|
|
4306
|
+
function mt(e, t) {
|
|
4088
4307
|
let n = e;
|
|
4089
4308
|
return n = n.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), n = n.replace(/<!--[\s\S]*?-->/g, ""), n = n.replace(/<br\s*\/?>/gi, `
|
|
4090
|
-
`), t && (n =
|
|
4309
|
+
`), t && (n = Li(Ii(n))), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
|
|
4091
4310
|
|
|
4092
4311
|
`), n = n.replace(/<\/(div|li|tr)>/gi, `
|
|
4093
4312
|
`), n = n.replace(/<\/(td|th)>/gi, " "), n = n.replace(/<[^>]+>/g, ""), n = n.replace(/<[^>]*$/, ""), n;
|
|
4094
4313
|
}
|
|
4095
|
-
function
|
|
4314
|
+
function ht(e) {
|
|
4096
4315
|
return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
|
|
4097
4316
|
}
|
|
4098
|
-
const
|
|
4317
|
+
const Pi = {
|
|
4099
4318
|
euro: "€",
|
|
4100
4319
|
pound: "£",
|
|
4101
4320
|
yen: "¥",
|
|
@@ -4117,471 +4336,479 @@ const ki = {
|
|
|
4117
4336
|
rdquo: "”",
|
|
4118
4337
|
apos: "'"
|
|
4119
4338
|
};
|
|
4120
|
-
function
|
|
4121
|
-
return e.replace(/ /gi, " ").replace(/&([a-z]+);/gi, (t, n) =>
|
|
4339
|
+
function gt(e) {
|
|
4340
|
+
return e.replace(/ /gi, " ").replace(/&([a-z]+);/gi, (t, n) => Pi[n.toLowerCase()] ?? t).replace(/</gi, "<").replace(/>/gi, ">").replace(/"/gi, '"').replace(/&#(\d+);/g, (t, n) => ht(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => ht(parseInt(n, 16)) ?? t).replace(/&/gi, "&");
|
|
4122
4341
|
}
|
|
4123
|
-
function
|
|
4342
|
+
function yt(e) {
|
|
4124
4343
|
return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
|
|
4125
4344
|
`).replace(/\n{3,}/g, `
|
|
4126
4345
|
|
|
4127
4346
|
`).trim();
|
|
4128
4347
|
}
|
|
4129
|
-
const
|
|
4130
|
-
function
|
|
4131
|
-
return
|
|
4348
|
+
const Ui = /<\s*(html|body|div|p|table|br|span)\b/i;
|
|
4349
|
+
function yu(e) {
|
|
4350
|
+
return Ui.test(e);
|
|
4132
4351
|
}
|
|
4133
|
-
function
|
|
4134
|
-
return
|
|
4352
|
+
function bu(e) {
|
|
4353
|
+
return Zt(e, !1);
|
|
4135
4354
|
}
|
|
4136
|
-
function
|
|
4137
|
-
return
|
|
4355
|
+
function Au(e) {
|
|
4356
|
+
return Zt(e, !0);
|
|
4138
4357
|
}
|
|
4139
|
-
function
|
|
4358
|
+
function Zt(e, t) {
|
|
4140
4359
|
if (typeof e != "string" || !e) return "";
|
|
4141
4360
|
let n = e.length;
|
|
4142
|
-
for (const s of
|
|
4361
|
+
for (const s of Ai) {
|
|
4143
4362
|
const a = e.search(s);
|
|
4144
4363
|
a >= 0 && a < n && (n = a);
|
|
4145
4364
|
}
|
|
4146
4365
|
const r = e.slice(0, n);
|
|
4147
|
-
let o =
|
|
4148
|
-
return o || (o =
|
|
4366
|
+
let o = yt(gt(mt(r, t)));
|
|
4367
|
+
return o || (o = yt(gt(mt(e, t)))), _i(o) || o;
|
|
4149
4368
|
}
|
|
4150
4369
|
export {
|
|
4151
|
-
|
|
4370
|
+
ks as ACTIVE_ASSIGNMENT_STATUSES,
|
|
4152
4371
|
R as ACTIVITY_CATALOG,
|
|
4153
|
-
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
|
|
4157
|
-
|
|
4158
|
-
|
|
4159
|
-
|
|
4160
|
-
|
|
4372
|
+
Ro as AI_ATTACHMENT_LIMITS,
|
|
4373
|
+
nl as AI_ATTACHMENT_MAX_PER_TURN,
|
|
4374
|
+
tl as AI_ATTACHMENT_TURN_BUDGET,
|
|
4375
|
+
Et as AI_VENDORS,
|
|
4376
|
+
_n as ALLOWED_LINK_SCHEMES,
|
|
4377
|
+
Bl as APP_PERMISSIONS,
|
|
4378
|
+
Fe as ARTIFACT_MAX_BLOCKS,
|
|
4379
|
+
Es as ARTIFACT_MAX_BODY_BYTES,
|
|
4161
4380
|
X as ARTIFACT_MAX_CELL_LEN,
|
|
4162
|
-
|
|
4163
|
-
|
|
4164
|
-
|
|
4165
|
-
|
|
4166
|
-
|
|
4167
|
-
|
|
4168
|
-
|
|
4169
|
-
|
|
4170
|
-
|
|
4171
|
-
|
|
4172
|
-
|
|
4173
|
-
|
|
4174
|
-
|
|
4175
|
-
|
|
4176
|
-
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
|
|
4180
|
-
|
|
4181
|
-
|
|
4182
|
-
|
|
4183
|
-
|
|
4184
|
-
|
|
4185
|
-
|
|
4186
|
-
|
|
4187
|
-
|
|
4188
|
-
|
|
4189
|
-
|
|
4190
|
-
|
|
4191
|
-
|
|
4192
|
-
|
|
4193
|
-
|
|
4194
|
-
|
|
4195
|
-
|
|
4196
|
-
|
|
4197
|
-
|
|
4381
|
+
We as ARTIFACT_MAX_KPI_ITEMS,
|
|
4382
|
+
Be as ARTIFACT_MAX_LIST_ITEMS,
|
|
4383
|
+
je as ARTIFACT_MAX_TABLE_COLUMNS,
|
|
4384
|
+
He as ARTIFACT_MAX_TABLE_ROWS,
|
|
4385
|
+
St as ARTIFACT_MAX_TEXT_LEN,
|
|
4386
|
+
xn as ASSIGNMENT_SCOPE_KIND,
|
|
4387
|
+
al as ASSIST_BANDS,
|
|
4388
|
+
sl as ASSIST_SOURCE_PROVIDER_GROUP,
|
|
4389
|
+
Xn as ATTENTION_STATUSES,
|
|
4390
|
+
fo as AT_RISK_GAP,
|
|
4391
|
+
Yt as AUTH_APP_NAME,
|
|
4392
|
+
Vr as AUTO_READY_MIN_PROPOSALS,
|
|
4393
|
+
zr as AUTO_READY_RATE,
|
|
4394
|
+
un as ActivityTypeRegistry,
|
|
4395
|
+
ns as BUILT_IN_ONLY,
|
|
4396
|
+
Yn as BULK_PENALTY,
|
|
4397
|
+
ni as CADENCE_FLOOR_MS,
|
|
4398
|
+
ri as CADENCE_MIN_NEW_SEGMENTS,
|
|
4399
|
+
oi as CADENCE_MIN_NOVELTY,
|
|
4400
|
+
ti as CADENCE_WINDOW_MS,
|
|
4401
|
+
Fa as CLASSIFY_VARS,
|
|
4402
|
+
kl as CONNECTOR_PROVIDER_GROUP,
|
|
4403
|
+
vl as CONTEXT_COLLECT_SERVICE,
|
|
4404
|
+
ms as CORE_DIMENSIONS,
|
|
4405
|
+
Ko as CommunicationScheme,
|
|
4406
|
+
Kn as DAY_MS,
|
|
4407
|
+
co as DEFAULT_CHECK_IN_DAYS,
|
|
4408
|
+
Ir as DEFAULT_FORECAST_WEEKS,
|
|
4409
|
+
fa as DEFAULT_MEMORY_BUDGET,
|
|
4410
|
+
di as DEFAULT_PHONE_REGION,
|
|
4411
|
+
_a as DEMAND_SOURCE_PROVIDER_GROUP,
|
|
4412
|
+
$l as DOCUMENT_APPLY_SERVICE,
|
|
4413
|
+
Rl as DOCUMENT_DESCRIBE_SERVICE,
|
|
4414
|
+
Dl as DOCUMENT_INSPECT_SERVICE,
|
|
4415
|
+
Fe as DOCUMENT_MAX_BLOCKS,
|
|
4416
|
+
Es as DOCUMENT_MAX_BODY_BYTES,
|
|
4198
4417
|
X as DOCUMENT_MAX_CELL_LEN,
|
|
4199
|
-
|
|
4200
|
-
|
|
4201
|
-
|
|
4202
|
-
|
|
4203
|
-
|
|
4204
|
-
|
|
4205
|
-
|
|
4206
|
-
|
|
4207
|
-
|
|
4208
|
-
|
|
4209
|
-
|
|
4210
|
-
|
|
4211
|
-
|
|
4212
|
-
|
|
4213
|
-
|
|
4214
|
-
|
|
4215
|
-
|
|
4216
|
-
|
|
4217
|
-
|
|
4218
|
-
|
|
4219
|
-
|
|
4220
|
-
|
|
4221
|
-
|
|
4222
|
-
|
|
4223
|
-
|
|
4224
|
-
|
|
4225
|
-
|
|
4226
|
-
|
|
4227
|
-
|
|
4228
|
-
|
|
4229
|
-
|
|
4230
|
-
|
|
4231
|
-
|
|
4232
|
-
|
|
4233
|
-
|
|
4234
|
-
|
|
4235
|
-
|
|
4236
|
-
|
|
4237
|
-
|
|
4238
|
-
|
|
4239
|
-
|
|
4240
|
-
|
|
4241
|
-
|
|
4242
|
-
|
|
4243
|
-
|
|
4244
|
-
|
|
4245
|
-
|
|
4246
|
-
|
|
4247
|
-
|
|
4248
|
-
|
|
4249
|
-
|
|
4250
|
-
|
|
4251
|
-
|
|
4252
|
-
|
|
4253
|
-
|
|
4254
|
-
|
|
4255
|
-
|
|
4256
|
-
|
|
4257
|
-
|
|
4258
|
-
|
|
4259
|
-
|
|
4260
|
-
|
|
4261
|
-
|
|
4262
|
-
|
|
4263
|
-
|
|
4264
|
-
|
|
4265
|
-
|
|
4266
|
-
|
|
4267
|
-
|
|
4268
|
-
|
|
4269
|
-
|
|
4270
|
-
|
|
4271
|
-
|
|
4272
|
-
|
|
4273
|
-
|
|
4274
|
-
|
|
4275
|
-
|
|
4276
|
-
|
|
4277
|
-
|
|
4278
|
-
|
|
4279
|
-
|
|
4280
|
-
|
|
4281
|
-
|
|
4282
|
-
|
|
4283
|
-
|
|
4284
|
-
|
|
4285
|
-
|
|
4286
|
-
|
|
4287
|
-
|
|
4288
|
-
|
|
4289
|
-
|
|
4290
|
-
|
|
4291
|
-
|
|
4292
|
-
|
|
4293
|
-
|
|
4294
|
-
|
|
4295
|
-
|
|
4296
|
-
|
|
4297
|
-
|
|
4298
|
-
|
|
4299
|
-
|
|
4300
|
-
|
|
4301
|
-
|
|
4302
|
-
|
|
4303
|
-
|
|
4304
|
-
|
|
4305
|
-
|
|
4306
|
-
|
|
4307
|
-
|
|
4308
|
-
|
|
4309
|
-
|
|
4310
|
-
|
|
4311
|
-
|
|
4312
|
-
|
|
4313
|
-
|
|
4314
|
-
|
|
4315
|
-
|
|
4316
|
-
|
|
4317
|
-
|
|
4318
|
-
|
|
4319
|
-
|
|
4320
|
-
|
|
4321
|
-
|
|
4322
|
-
|
|
4323
|
-
|
|
4324
|
-
|
|
4325
|
-
|
|
4326
|
-
|
|
4327
|
-
|
|
4328
|
-
|
|
4329
|
-
|
|
4330
|
-
|
|
4331
|
-
|
|
4332
|
-
|
|
4333
|
-
|
|
4334
|
-
|
|
4335
|
-
|
|
4336
|
-
|
|
4337
|
-
|
|
4338
|
-
|
|
4339
|
-
|
|
4340
|
-
|
|
4341
|
-
|
|
4342
|
-
|
|
4343
|
-
|
|
4344
|
-
|
|
4345
|
-
|
|
4346
|
-
|
|
4347
|
-
|
|
4348
|
-
|
|
4349
|
-
|
|
4350
|
-
|
|
4351
|
-
|
|
4352
|
-
|
|
4353
|
-
|
|
4354
|
-
|
|
4355
|
-
|
|
4356
|
-
|
|
4357
|
-
|
|
4358
|
-
|
|
4359
|
-
|
|
4360
|
-
|
|
4361
|
-
|
|
4362
|
-
|
|
4363
|
-
|
|
4364
|
-
|
|
4365
|
-
|
|
4366
|
-
|
|
4367
|
-
|
|
4368
|
-
|
|
4369
|
-
|
|
4370
|
-
|
|
4371
|
-
|
|
4372
|
-
|
|
4373
|
-
|
|
4374
|
-
|
|
4375
|
-
|
|
4376
|
-
|
|
4377
|
-
|
|
4378
|
-
|
|
4379
|
-
|
|
4380
|
-
|
|
4381
|
-
|
|
4382
|
-
|
|
4383
|
-
|
|
4384
|
-
|
|
4385
|
-
|
|
4386
|
-
|
|
4387
|
-
|
|
4388
|
-
|
|
4389
|
-
|
|
4390
|
-
|
|
4391
|
-
|
|
4392
|
-
|
|
4393
|
-
|
|
4394
|
-
|
|
4395
|
-
|
|
4396
|
-
|
|
4397
|
-
|
|
4398
|
-
|
|
4399
|
-
|
|
4400
|
-
|
|
4401
|
-
|
|
4402
|
-
|
|
4403
|
-
|
|
4404
|
-
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4409
|
-
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
|
|
4417
|
-
|
|
4418
|
-
|
|
4419
|
-
|
|
4420
|
-
|
|
4421
|
-
|
|
4422
|
-
|
|
4423
|
-
|
|
4424
|
-
|
|
4425
|
-
|
|
4426
|
-
|
|
4427
|
-
|
|
4428
|
-
|
|
4429
|
-
|
|
4430
|
-
|
|
4431
|
-
|
|
4432
|
-
|
|
4433
|
-
|
|
4434
|
-
|
|
4435
|
-
|
|
4436
|
-
|
|
4437
|
-
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
|
|
4441
|
-
|
|
4442
|
-
|
|
4443
|
-
|
|
4444
|
-
|
|
4445
|
-
|
|
4446
|
-
|
|
4447
|
-
|
|
4448
|
-
|
|
4449
|
-
|
|
4450
|
-
|
|
4451
|
-
|
|
4452
|
-
|
|
4418
|
+
We as DOCUMENT_MAX_KPI_ITEMS,
|
|
4419
|
+
Ge as DOCUMENT_MAX_LETTERHEAD_FIELDS,
|
|
4420
|
+
Be as DOCUMENT_MAX_LIST_ITEMS,
|
|
4421
|
+
An as DOCUMENT_MAX_RECIPIENT_LINES,
|
|
4422
|
+
je as DOCUMENT_MAX_TABLE_COLUMNS,
|
|
4423
|
+
He as DOCUMENT_MAX_TABLE_ROWS,
|
|
4424
|
+
St as DOCUMENT_MAX_TEXT_LEN,
|
|
4425
|
+
Ve as DOCUMENT_MAX_TOTALS_ROWS,
|
|
4426
|
+
Vt as DOCUMENT_OPERATIONS,
|
|
4427
|
+
Ha as EMPTY_WORKFLOW,
|
|
4428
|
+
Tl as FEATURE_FOLDER_MANAGEMENT,
|
|
4429
|
+
Il as FEATURE_MESSAGE_REACTIONS,
|
|
4430
|
+
wl as FEATURE_REMOTE_SEARCH,
|
|
4431
|
+
Me as FIXED_KINDS,
|
|
4432
|
+
ee as FIXED_LEVELS,
|
|
4433
|
+
Oe as FIXED_TYPES,
|
|
4434
|
+
Jn as FOLLOW_UP_HOURS,
|
|
4435
|
+
Un as HOUR_MS,
|
|
4436
|
+
Ui as HTML_BODY_RE,
|
|
4437
|
+
$ as INELIGIBLE,
|
|
4438
|
+
Pl as INSTALLATION_HEADER,
|
|
4439
|
+
Br as INTERACTION_KIND,
|
|
4440
|
+
_l as InteractionParticipantRole,
|
|
4441
|
+
ir as KB_FALLBACK_LOCALE,
|
|
4442
|
+
Ye as KB_LOCALES,
|
|
4443
|
+
Ce as LOOSE_STATUSES,
|
|
4444
|
+
Wn as MAIL_HINT_HEADERS,
|
|
4445
|
+
Hi as MAX_ACTIONS,
|
|
4446
|
+
Nn as MAX_ASSIGNMENT_TURNS,
|
|
4447
|
+
Ki as MAX_BLOCKS,
|
|
4448
|
+
Ct as MAX_COLLECTION_DEPTH,
|
|
4449
|
+
ru as MAX_EDITABLE_FILE_BYTES,
|
|
4450
|
+
Fi as MAX_FIELDS,
|
|
4451
|
+
Bi as MAX_LIST_ITEMS,
|
|
4452
|
+
ca as MAX_MEMORY_BROWSE,
|
|
4453
|
+
da as MAX_MEMORY_BUDGET,
|
|
4454
|
+
la as MAX_MEMORY_CHARS,
|
|
4455
|
+
ui as MAX_SHOWN_KEYS,
|
|
4456
|
+
yo as MAX_TOPIC_CANDIDATES,
|
|
4457
|
+
go as MAX_TOPIC_EXAMPLES,
|
|
4458
|
+
ce as MAX_TOPIC_EXAMPLE_CHARS,
|
|
4459
|
+
ou as MAX_VIEWABLE_FILE_BYTES,
|
|
4460
|
+
ua as MIN_MEMORY_BUDGET,
|
|
4461
|
+
uu as NAV_NOTICE_SLOT,
|
|
4462
|
+
Kl as NOTIFICATION_SOURCE_PROVIDER_GROUP,
|
|
4463
|
+
po as OFF_TRACK_GAP,
|
|
4464
|
+
ma as ONBOARDING_SOURCE_PROVIDER_GROUP,
|
|
4465
|
+
Ae as PAUSE_SNOOZED,
|
|
4466
|
+
Ee as PAUSE_WAITING_FOR_CUSTOMER,
|
|
4467
|
+
xe as PHONE_REGIONS,
|
|
4468
|
+
zt as PRESENCE_ONLINE_WINDOW_MS,
|
|
4469
|
+
Vo as PRESENCE_SURVIVES_OFFLINE,
|
|
4470
|
+
ga as PROFILE_TOOL_DISPOSITIONS,
|
|
4471
|
+
El as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
|
|
4472
|
+
Al as PROVIDER_FEATURE_MESSAGE_WINDOW,
|
|
4473
|
+
bi as PUBLIC_EMAIL_DOMAINS,
|
|
4474
|
+
qe as READ_STEP_TYPES,
|
|
4475
|
+
cr as RELATED_SUBJECT_KINDS,
|
|
4476
|
+
Gt as RESERVED_STATUS_KEYS,
|
|
4477
|
+
Lc as RESERVED_TYPE_KEYS,
|
|
4478
|
+
Yl as RESOURCE_ATTACHED_SERVICE,
|
|
4479
|
+
Vl as RESOURCE_DESCRIBE_SERVICE,
|
|
4480
|
+
Xl as RESOURCE_RESOLVE_SERVICE,
|
|
4481
|
+
zl as RESOURCE_SEARCH_SERVICE,
|
|
4482
|
+
xr as SCHEDULE_ENTRY_SCOPE_KIND,
|
|
4483
|
+
Zl as SCOPE_READ_ROUTE,
|
|
4484
|
+
Jl as SCOPE_RELATED_ROUTE,
|
|
4485
|
+
lu as SETTINGS_CATEGORIES,
|
|
4486
|
+
Ds as SIGNATURE_INTENTS,
|
|
4487
|
+
qn as SLA_HOURS_BY_PRIORITY,
|
|
4488
|
+
ec as SLA_METRICS,
|
|
4489
|
+
tc as SLA_PAUSE_REASONS,
|
|
4490
|
+
Wr as STEP_MAX_TOKENS_MAX,
|
|
4491
|
+
jr as STEP_MAX_TOKENS_MIN,
|
|
4492
|
+
so as STRATEGY_ITEM_SCOPE_KIND,
|
|
4493
|
+
jn as SUMMARY_MIN_LAST_CHARS,
|
|
4494
|
+
Hn as SUMMARY_MIN_MESSAGES,
|
|
4495
|
+
su as SYNC_RUN_MAX_ERRORS,
|
|
4496
|
+
iu as SYNC_TARGET_PROVIDER_GROUP,
|
|
4497
|
+
Cn as TERMINAL_ASSIGNMENT_STATUSES,
|
|
4498
|
+
Xr as TERMINAL_RUN_STATUSES,
|
|
4499
|
+
Ka as TRIGGER_VARS,
|
|
4500
|
+
lr as UNKNOWN_KIND,
|
|
4501
|
+
ao as UNKNOWN_LEVEL_ORDER,
|
|
4502
|
+
Ml as UNSUPPORTED,
|
|
4503
|
+
gn as USAGE_DIMENSIONS,
|
|
4504
|
+
yn as USAGE_DIMENSION_IDS,
|
|
4505
|
+
Nr as WORKSTREAM_SCOPE_KIND,
|
|
4506
|
+
wo as WORK_ACTIVITY_SCOPE_KIND,
|
|
4507
|
+
ha as WORK_AREAS,
|
|
4508
|
+
Nc as WORK_COMMENT_ADDED,
|
|
4509
|
+
Bc as WORK_CYCLE_SYNC_KIND,
|
|
4510
|
+
Rc as WORK_ITEM_ASSIGNED,
|
|
4511
|
+
So as WORK_ITEM_SCOPE_KIND,
|
|
4512
|
+
Dc as WORK_ITEM_STATUS_CHANGED,
|
|
4513
|
+
To as WORK_PROJECT_SCOPE_KIND,
|
|
4514
|
+
J as W_PRIORITY,
|
|
4515
|
+
Oc as acceptExampleCandidate,
|
|
4516
|
+
Lr as actingIdentityKey,
|
|
4517
|
+
kc as activeWorkTypes,
|
|
4518
|
+
Wi as activityIconOf,
|
|
4519
|
+
es as activityJoinUrl,
|
|
4520
|
+
sn as activitySnippet,
|
|
4521
|
+
an as activityTextParams,
|
|
4522
|
+
Qi as activityTimelineText,
|
|
4523
|
+
dn as activityTimestamp,
|
|
4524
|
+
I as activityTypeInfo,
|
|
4525
|
+
Ra as actorKey,
|
|
4526
|
+
vc as addExampleCandidate,
|
|
4527
|
+
ke as addWorkingMs,
|
|
4528
|
+
jl as agePresenceEntry,
|
|
4529
|
+
No as aiAttachmentKind,
|
|
4530
|
+
rl as aiAttachmentRejection,
|
|
4531
|
+
Ke as aiBudgetLimit,
|
|
4532
|
+
fs as aiBudgetPeriodKey,
|
|
4533
|
+
fn as aiBudgetPeriodStart,
|
|
4534
|
+
ds as aiBudgetState,
|
|
4535
|
+
us as aiVendorAcceptsAttachment,
|
|
4536
|
+
as as aiVendorDefaultModel,
|
|
4537
|
+
ss as aiVendorLabel,
|
|
4538
|
+
ls as aiVendorNeedsBaseUrl,
|
|
4539
|
+
cs as aiVendorsWith,
|
|
4540
|
+
qt as appNameFromPath,
|
|
4541
|
+
Sc as applyRounding,
|
|
4542
|
+
$s as applySignature,
|
|
4543
|
+
Gr as approvalRate,
|
|
4544
|
+
Ss as artifactBodyBytes,
|
|
4545
|
+
Ts as artifactOutline,
|
|
4546
|
+
On as artifactToMarkdown,
|
|
4547
|
+
Pa as assignmentMismatch,
|
|
4548
|
+
Os as assignmentScopeKey,
|
|
4549
|
+
Ns as assignmentSubject,
|
|
4550
|
+
Ea as availabilityByPerson,
|
|
4551
|
+
ya as belongsOnCalendar,
|
|
4552
|
+
ts as buildActivityPreview,
|
|
4553
|
+
ml as buildChannelIntents,
|
|
4554
|
+
ws as buildShareKeys,
|
|
4555
|
+
li as buildWindow,
|
|
4556
|
+
dr as calendarDaysBetween,
|
|
4557
|
+
ve as calendarOf,
|
|
4558
|
+
na as canNestUnder,
|
|
4559
|
+
lc as canParent,
|
|
4560
|
+
ba as capacityTotal,
|
|
4561
|
+
Oa as capacityWeights,
|
|
4562
|
+
Yi as carriesText,
|
|
4563
|
+
oa as categoryLabel,
|
|
4564
|
+
ko as categoryOf,
|
|
4565
|
+
bl as channelKindForScheme,
|
|
4566
|
+
Gi as channelKindOf,
|
|
4567
|
+
Ac as checkInOverdueMs,
|
|
4568
|
+
Ba as clampStepMaxTokens,
|
|
4569
|
+
Ws as classifyMail,
|
|
4570
|
+
Au as cleanMessageMarkdown,
|
|
4571
|
+
bu as cleanMessageText,
|
|
4572
|
+
ll as compareAssistRank,
|
|
4573
|
+
ho as compareWorkTypes,
|
|
4574
|
+
Pn as conditionHolds,
|
|
4575
|
+
j as countsAsPlanned,
|
|
4576
|
+
Aa as coverageByPerson,
|
|
4577
|
+
Ta as coverageFor,
|
|
4578
|
+
Nt as coversWorkstream,
|
|
4579
|
+
Rt as cycleDayIndex,
|
|
4580
|
+
Qc as cycleOrder,
|
|
4581
|
+
el as cycleState,
|
|
4582
|
+
Rs as decideAssignmentState,
|
|
4583
|
+
cu as decideCadence,
|
|
4584
|
+
fl as decideIncomingCall,
|
|
4585
|
+
sr as defaultLocaleOf,
|
|
4586
|
+
Yc as defaultStatusKey,
|
|
4587
|
+
Sl as defineIntent,
|
|
4588
|
+
rr as depthOf,
|
|
4589
|
+
Hl as derivePresence,
|
|
4590
|
+
ys as describeClause,
|
|
4591
|
+
pl as disabledIntentsFromCapabilities,
|
|
4592
|
+
Ss as documentBodyBytes,
|
|
4593
|
+
Ll as documentKindOf,
|
|
4594
|
+
Ts as documentOutline,
|
|
4595
|
+
On as documentToMarkdown,
|
|
4596
|
+
Nl as documentToText,
|
|
4597
|
+
rc as dueAtOf,
|
|
4598
|
+
_c as elapsedSeconds,
|
|
4599
|
+
pu as emailDomain,
|
|
4600
|
+
gu as endpointKey,
|
|
4601
|
+
hr as erlangC,
|
|
4602
|
+
Yo as extractParams,
|
|
4603
|
+
ai as extractTerms,
|
|
4604
|
+
Ks as fillDocument,
|
|
4605
|
+
Ln as fillText,
|
|
4606
|
+
gl as filterByEndpoint,
|
|
4607
|
+
hl as filterByIntent,
|
|
4608
|
+
Uo as filterByTargetScheme,
|
|
4609
|
+
gs as filterableDimensions,
|
|
4610
|
+
Q as findAiVendor,
|
|
4611
|
+
dc as fixedLevelForName,
|
|
4612
|
+
Kc as fixedTypeForName,
|
|
4613
|
+
Fc as fixedTypes,
|
|
4614
|
+
Ul as flattenLocales,
|
|
4615
|
+
H as floorToPeriod,
|
|
4616
|
+
Ma as forecastIntervals,
|
|
4617
|
+
$r as formatActingIdentity,
|
|
4618
|
+
wc as formatClock,
|
|
4619
|
+
Tc as formatHm,
|
|
4620
|
+
jc as formatItemKey,
|
|
4621
|
+
B as formatPeriod,
|
|
4622
|
+
sc as formatSlaDuration,
|
|
4623
|
+
il as freshSources,
|
|
4624
|
+
rs as getActivitySeenUserIds,
|
|
4625
|
+
Ls as getContactEndpoints,
|
|
4626
|
+
Js as getShortTitle,
|
|
4627
|
+
qs as getUrgencyScore,
|
|
4628
|
+
Ja as hasReacted,
|
|
4629
|
+
fc as healthCategory,
|
|
4630
|
+
pc as healthsInCategory,
|
|
4631
|
+
xt as heightOf,
|
|
4632
|
+
Qs as helpCenterText,
|
|
4633
|
+
Ua as humanizeAction,
|
|
4634
|
+
Hr as interactionIdOf,
|
|
4635
|
+
xc as isAgentUser,
|
|
4636
|
+
Xs as isAssigned,
|
|
4637
|
+
vs as isAssignmentTerminal,
|
|
4638
|
+
Kr as isAssignmentTrigger,
|
|
4639
|
+
Ga as isAutoReady,
|
|
4640
|
+
nr as isAwaitingThem,
|
|
4641
|
+
is as isChatMessageActivity,
|
|
4642
|
+
Ys as isClosed,
|
|
4643
|
+
Ji as isConnectedType,
|
|
4644
|
+
Ql as isDeepLink,
|
|
4645
|
+
or as isDescendant,
|
|
4646
|
+
Fs as isEligible,
|
|
4647
|
+
os as isEmailActivity,
|
|
4648
|
+
yu as isHtmlBody,
|
|
4649
|
+
za as isInFlight,
|
|
4650
|
+
zn as isInteractionUnseen,
|
|
4651
|
+
eu as isLandingPath,
|
|
4652
|
+
Bn as isLikelyBulk,
|
|
4653
|
+
bt as isMessageShape,
|
|
4654
|
+
Vi as isMessageType,
|
|
4655
|
+
Jo as isMoreSpecificPattern,
|
|
4656
|
+
At as isNoteShape,
|
|
4657
|
+
io as isOpenClock,
|
|
4658
|
+
ol as isOutwardTool,
|
|
4659
|
+
Qn as isParked,
|
|
4660
|
+
Yr as isPaused,
|
|
4661
|
+
qi as isPlaybookAuthoredType,
|
|
4662
|
+
mu as isPublicEmailDomain,
|
|
4663
|
+
nu as isPublicPath,
|
|
4664
|
+
er as isReminderActive,
|
|
4665
|
+
Xi as isReplyableType,
|
|
4666
|
+
Vs as isSlaAtRisk,
|
|
4667
|
+
Va as isTerminal,
|
|
4668
|
+
Hs as isThreadLongEnough,
|
|
4669
|
+
Zi as isTranscriptType,
|
|
4670
|
+
qc as isWorkClosed,
|
|
4671
|
+
Mc as isWorkTypeVisible,
|
|
4672
|
+
Vc as itemDossierKeys,
|
|
4673
|
+
N as kindFor,
|
|
4674
|
+
Mo as ladderFor,
|
|
4675
|
+
lo as levelIn,
|
|
4453
4676
|
Se as levelOrder,
|
|
4454
|
-
|
|
4455
|
-
|
|
4456
|
-
|
|
4457
|
-
|
|
4458
|
-
|
|
4459
|
-
|
|
4460
|
-
|
|
4461
|
-
|
|
4462
|
-
|
|
4463
|
-
|
|
4464
|
-
|
|
4465
|
-
|
|
4466
|
-
|
|
4467
|
-
|
|
4468
|
-
|
|
4469
|
-
|
|
4470
|
-
|
|
4471
|
-
|
|
4472
|
-
|
|
4473
|
-
|
|
4474
|
-
|
|
4475
|
-
|
|
4476
|
-
|
|
4477
|
-
|
|
4478
|
-
|
|
4479
|
-
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
|
|
4495
|
-
|
|
4496
|
-
|
|
4497
|
-
|
|
4498
|
-
|
|
4499
|
-
|
|
4500
|
-
|
|
4501
|
-
|
|
4502
|
-
|
|
4503
|
-
|
|
4504
|
-
|
|
4505
|
-
|
|
4506
|
-
|
|
4507
|
-
|
|
4508
|
-
|
|
4509
|
-
|
|
4510
|
-
|
|
4511
|
-
|
|
4512
|
-
|
|
4513
|
-
|
|
4514
|
-
|
|
4515
|
-
|
|
4516
|
-
|
|
4517
|
-
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
|
|
4524
|
-
|
|
4525
|
-
|
|
4526
|
-
|
|
4527
|
-
|
|
4528
|
-
|
|
4529
|
-
|
|
4530
|
-
|
|
4531
|
-
|
|
4532
|
-
|
|
4533
|
-
|
|
4534
|
-
|
|
4535
|
-
|
|
4536
|
-
|
|
4537
|
-
|
|
4538
|
-
|
|
4539
|
-
|
|
4540
|
-
|
|
4541
|
-
|
|
4542
|
-
|
|
4543
|
-
|
|
4544
|
-
|
|
4545
|
-
|
|
4546
|
-
|
|
4547
|
-
|
|
4548
|
-
|
|
4549
|
-
|
|
4550
|
-
|
|
4551
|
-
|
|
4552
|
-
|
|
4553
|
-
|
|
4554
|
-
|
|
4555
|
-
|
|
4556
|
-
|
|
4557
|
-
|
|
4558
|
-
|
|
4559
|
-
|
|
4560
|
-
|
|
4561
|
-
|
|
4562
|
-
|
|
4563
|
-
|
|
4564
|
-
|
|
4565
|
-
|
|
4566
|
-
|
|
4567
|
-
|
|
4568
|
-
|
|
4569
|
-
|
|
4570
|
-
|
|
4571
|
-
|
|
4572
|
-
|
|
4573
|
-
|
|
4574
|
-
|
|
4575
|
-
|
|
4576
|
-
|
|
4677
|
+
Zs as linkLabel,
|
|
4678
|
+
ps as listeningAllowed,
|
|
4679
|
+
ta as localeInstruction,
|
|
4680
|
+
ea as localeName,
|
|
4681
|
+
ra as localesOf,
|
|
4682
|
+
du as looksLikeEmail,
|
|
4683
|
+
It as lookup,
|
|
4684
|
+
xl as markdownToDocument,
|
|
4685
|
+
yl as matchContactToIntents,
|
|
4686
|
+
Zo as matchPublicRoute,
|
|
4687
|
+
sa as mcpCredentialScope,
|
|
4688
|
+
aa as mcpToolPrefix,
|
|
4689
|
+
mc as measureRatio,
|
|
4690
|
+
au as mergeShownKeys,
|
|
4691
|
+
on as messageCountsAs,
|
|
4692
|
+
bs as metricOption,
|
|
4693
|
+
Dt as minutesOn,
|
|
4694
|
+
hu as needsPhoneRegion,
|
|
4695
|
+
zi as nestsUnderParent,
|
|
4696
|
+
uc as nextLevelBelow,
|
|
4697
|
+
oc as nextSlaClock,
|
|
4698
|
+
_s as normalizeArtifactBlocks,
|
|
4699
|
+
ji as normalizeBlocks,
|
|
4700
|
+
_s as normalizeDocumentBlocks,
|
|
4701
|
+
Jt as normalizeEmail,
|
|
4702
|
+
L as normalizeExample,
|
|
4703
|
+
Fl as notificationPrefKey,
|
|
4704
|
+
ci as novelty,
|
|
4705
|
+
Cl as operationDescriptor,
|
|
4706
|
+
Ol as operationsForKind,
|
|
4707
|
+
se as overlapSeconds,
|
|
4708
|
+
Sa as overlaps,
|
|
4709
|
+
hc as paceRatio,
|
|
4710
|
+
Bs as parkMarksById,
|
|
4711
|
+
xa as parseActingIdentity,
|
|
4712
|
+
Za as parseClockMinutes,
|
|
4713
|
+
Wc as parseItemKey,
|
|
4714
|
+
Xo as pathToRegex,
|
|
4715
|
+
Lt as patternFor,
|
|
4716
|
+
$t as patternStartTime,
|
|
4717
|
+
Qa as pauseBitFor,
|
|
4718
|
+
hs as periodsInRange,
|
|
4719
|
+
fu as phoneSuffix,
|
|
4720
|
+
js as pickMailHeaders,
|
|
4721
|
+
Us as pickTemplate,
|
|
4722
|
+
Ca as placeLumps,
|
|
4723
|
+
nn as plainTextFromMarkdown,
|
|
4724
|
+
nc as planSlaEvent,
|
|
4725
|
+
wa as plannedBillable,
|
|
4726
|
+
Tr as plannedWorkTypeKey,
|
|
4727
|
+
Ur as playbookActor,
|
|
4728
|
+
Wa as procedureOf,
|
|
4729
|
+
zc as projectDossierKeys,
|
|
4730
|
+
qo as publicBasePathFor,
|
|
4731
|
+
tu as publicRoutePatterns,
|
|
4732
|
+
xs as reactionWakesAssignment,
|
|
4733
|
+
de as readPath,
|
|
4734
|
+
Je as readStepError,
|
|
4735
|
+
Zn as recencyOf,
|
|
4736
|
+
Ps as recipientLocale,
|
|
4737
|
+
Fr as refKey,
|
|
4738
|
+
yi as registrableDomain,
|
|
4739
|
+
Ao as rejectExampleCandidate,
|
|
4740
|
+
pa as relatedByDefault,
|
|
4741
|
+
_e as remainingMsOf,
|
|
4742
|
+
br as requiredAgents,
|
|
4743
|
+
Sr as requirementFor,
|
|
4744
|
+
Lo as resolveAccountCapabilities,
|
|
4745
|
+
fe as resolveActivityText,
|
|
4746
|
+
$o as resolveChannelIntents,
|
|
4747
|
+
Rn as resolveSignature,
|
|
4748
|
+
Wl as resolveWorkMode,
|
|
4749
|
+
ql as resourceKindOf,
|
|
4750
|
+
bc as rollupChildren,
|
|
4751
|
+
Na as runActor,
|
|
4752
|
+
Ya as runInteractionId,
|
|
4753
|
+
In as sanitizeInline,
|
|
4754
|
+
ei as sanitizeTranscript,
|
|
4755
|
+
ka as scheduleEntryScopeKey,
|
|
4756
|
+
zs as scoreInteraction,
|
|
4757
|
+
$c as scoreWorkItem,
|
|
4758
|
+
ia as selectLenses,
|
|
4759
|
+
gr as serviceLevel,
|
|
4760
|
+
dl as sessionsHoldCannotReach,
|
|
4761
|
+
ul as sessionsToHold,
|
|
4762
|
+
wt as shareKeyForTeam,
|
|
4763
|
+
Tt as shareKeyForUser,
|
|
4764
|
+
Is as shareKeysForViewer,
|
|
4765
|
+
Ia as shortfalls,
|
|
4766
|
+
Gl as shouldRunAudioPipeline,
|
|
4767
|
+
ic as slaBadgeTone,
|
|
4768
|
+
Gs as slaHoursByInbox,
|
|
4769
|
+
tr as slaHoursFor,
|
|
4770
|
+
vo as sortStatuses,
|
|
4771
|
+
Do as sourceKey,
|
|
4772
|
+
Dr as spreadOverWeights,
|
|
4773
|
+
Xc as statusIn,
|
|
4774
|
+
ja as stepsOf,
|
|
4775
|
+
cc as strategyAncestorKeysFor,
|
|
4776
|
+
ac as strategyDossierKeys,
|
|
4777
|
+
jt as strategyItemScopeKey,
|
|
4778
|
+
rn as stripHtml,
|
|
4779
|
+
Xa as subjectKeyOf,
|
|
4780
|
+
Pt as subjectOf,
|
|
4781
|
+
cl as subjectRef,
|
|
4782
|
+
Gc as suggestProjectKey,
|
|
4783
|
+
gc as suggestedHealth,
|
|
4784
|
+
qa as summarizeReactions,
|
|
4785
|
+
La as targetById,
|
|
4786
|
+
$a as targetForActivityType,
|
|
4787
|
+
Ec as targetOrder,
|
|
4788
|
+
fr as termsFor,
|
|
4789
|
+
Pr as toActingIdentity,
|
|
4790
|
+
dt as toE164,
|
|
4791
|
+
Ms as toolSourceKinds,
|
|
4792
|
+
Eo as topicOfferedForTeam,
|
|
4793
|
+
Cc as topicsForTeam,
|
|
4794
|
+
yr as trafficIntensity,
|
|
4795
|
+
bo as truncateExample,
|
|
4796
|
+
Uc as typeIn,
|
|
4797
|
+
Pc as typesFor,
|
|
4798
|
+
Jc as uniqueWorkStatusKey,
|
|
4799
|
+
Ic as uniqueWorkTypeKey,
|
|
4800
|
+
bn as usageMetricId,
|
|
4801
|
+
As as usageMetrics,
|
|
4802
|
+
Zc as validateStatuses,
|
|
4803
|
+
Da as valueAtPath,
|
|
4577
4804
|
Ie as waitHoursOf,
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
|
|
4583
|
-
|
|
4584
|
-
|
|
4585
|
-
|
|
4586
|
-
|
|
4805
|
+
Cs as wakesAssignment,
|
|
4806
|
+
Hc as workActivityScopeKey,
|
|
4807
|
+
Io as workItemScopeKey,
|
|
4808
|
+
Wt as workProjectScopeKey,
|
|
4809
|
+
yc as workRatio,
|
|
4810
|
+
Oo as workStatusKey,
|
|
4811
|
+
mo as workTypeKey,
|
|
4812
|
+
be as workingMsBetween,
|
|
4813
|
+
va as workstreamScopeKey
|
|
4587
4814
|
};
|