@opencxh/domain 1.235.0 → 1.238.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/tokens.d.ts +39 -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/locales.d.ts +6 -32
- 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 +4 -0
- package/dist/index.js +1626 -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/dist/platform/locales.d.ts +38 -0
- package/dist/platform/locales.test.d.ts +1 -0
- package/package.json +1 -1
- /package/dist/entities/{kb/locales.test.d.ts → document-template/locale.test.d.ts} +0 -0
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,175 @@ 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, r) {
|
|
1391
|
+
const o = [], i = [], s = (a) => {
|
|
1392
|
+
const l = Ln(a, t);
|
|
1393
|
+
for (const u of l.unresolved) o.includes(u) || o.push(u);
|
|
1394
|
+
return l.text;
|
|
1395
|
+
};
|
|
1396
|
+
for (const a of e) {
|
|
1397
|
+
if (a.block_id && !Pn(n?.[a.block_id], t)) continue;
|
|
1398
|
+
const l = a.block_id ? r?.[a.block_id] : void 0;
|
|
1399
|
+
if (l) {
|
|
1400
|
+
i.push(...l);
|
|
1401
|
+
continue;
|
|
1402
|
+
}
|
|
1403
|
+
switch (a.type) {
|
|
1404
|
+
case "heading":
|
|
1405
|
+
case "paragraph":
|
|
1406
|
+
case "quote":
|
|
1407
|
+
i.push({ ...a, text: s(a.text) });
|
|
1408
|
+
break;
|
|
1409
|
+
case "callout":
|
|
1410
|
+
i.push({
|
|
1411
|
+
...a,
|
|
1412
|
+
...a.title ? { title: s(a.title) } : {},
|
|
1413
|
+
text: s(a.text)
|
|
1414
|
+
});
|
|
1415
|
+
break;
|
|
1416
|
+
case "code":
|
|
1417
|
+
i.push(a);
|
|
1418
|
+
break;
|
|
1419
|
+
case "list":
|
|
1420
|
+
i.push({
|
|
1421
|
+
...a,
|
|
1422
|
+
items: a.items.map((u) => ({
|
|
1423
|
+
...u.lead ? { lead: s(u.lead) } : {},
|
|
1424
|
+
text: s(u.text)
|
|
1425
|
+
}))
|
|
1426
|
+
});
|
|
1427
|
+
break;
|
|
1428
|
+
case "table":
|
|
1429
|
+
i.push({
|
|
1430
|
+
...a,
|
|
1431
|
+
columns: a.columns.map((u) => ({ ...u, label: s(u.label) })),
|
|
1432
|
+
rows: a.rows.map((u) => u.map(s)),
|
|
1433
|
+
...a.caption ? { caption: s(a.caption) } : {}
|
|
1434
|
+
});
|
|
1435
|
+
break;
|
|
1436
|
+
case "kpi":
|
|
1437
|
+
i.push({
|
|
1438
|
+
...a,
|
|
1439
|
+
items: a.items.map((u) => ({
|
|
1440
|
+
...u,
|
|
1441
|
+
value: s(u.value),
|
|
1442
|
+
label: s(u.label)
|
|
1443
|
+
}))
|
|
1444
|
+
});
|
|
1445
|
+
break;
|
|
1446
|
+
case "letterhead":
|
|
1447
|
+
i.push({
|
|
1448
|
+
...a,
|
|
1449
|
+
fields: a.fields.map((u) => ({ ...u, value: s(u.value) })),
|
|
1450
|
+
...a.recipient ? { recipient: a.recipient.map(s) } : {}
|
|
1451
|
+
});
|
|
1452
|
+
break;
|
|
1453
|
+
case "totals":
|
|
1454
|
+
i.push({
|
|
1455
|
+
...a,
|
|
1456
|
+
rows: a.rows.map((u) => ({
|
|
1457
|
+
...u,
|
|
1458
|
+
label: s(u.label),
|
|
1459
|
+
amount: s(u.amount)
|
|
1460
|
+
})),
|
|
1461
|
+
...a.taxRows ? {
|
|
1462
|
+
taxRows: a.taxRows.map((u) => ({
|
|
1463
|
+
...u,
|
|
1464
|
+
label: s(u.label),
|
|
1465
|
+
amount: s(u.amount)
|
|
1466
|
+
}))
|
|
1467
|
+
} : {}
|
|
1468
|
+
});
|
|
1469
|
+
break;
|
|
1470
|
+
case "image":
|
|
1471
|
+
i.push({
|
|
1472
|
+
...a,
|
|
1473
|
+
url: s(a.url),
|
|
1474
|
+
...a.alt ? { alt: s(a.alt) } : {}
|
|
1475
|
+
});
|
|
1476
|
+
break;
|
|
1477
|
+
default:
|
|
1478
|
+
i.push(a);
|
|
1479
|
+
}
|
|
1480
|
+
}
|
|
1481
|
+
return { blocks: i, unresolved: o };
|
|
1482
|
+
}
|
|
1483
|
+
const Un = 36e5, Kn = 864e5, $ = -1 / 0, Fs = (e) => e.score > $, J = {
|
|
1348
1484
|
urgent: 40,
|
|
1349
1485
|
high: 25,
|
|
1350
1486
|
normal: 10,
|
|
1351
1487
|
low: 0
|
|
1352
1488
|
};
|
|
1353
|
-
function
|
|
1489
|
+
function Bs(e) {
|
|
1354
1490
|
return Object.fromEntries(e.map((t) => [t.resourceId, t]));
|
|
1355
1491
|
}
|
|
1356
|
-
const
|
|
1357
|
-
function
|
|
1358
|
-
return !!(e &&
|
|
1492
|
+
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;
|
|
1493
|
+
function Bn(e, t) {
|
|
1494
|
+
return !!(e && Fn.test(e) || t && Mt.test(t));
|
|
1359
1495
|
}
|
|
1360
|
-
const
|
|
1361
|
-
function
|
|
1362
|
-
return e >=
|
|
1496
|
+
const Hn = 3, jn = 600;
|
|
1497
|
+
function Hs(e, t) {
|
|
1498
|
+
return e >= Hn || t >= jn;
|
|
1363
1499
|
}
|
|
1364
|
-
const
|
|
1500
|
+
const Wn = [
|
|
1365
1501
|
"list-unsubscribe",
|
|
1366
1502
|
"list-unsubscribe-post",
|
|
1367
1503
|
"list-id",
|
|
@@ -1371,93 +1507,93 @@ const $n = [
|
|
|
1371
1507
|
"feedback-id",
|
|
1372
1508
|
"x-mailer"
|
|
1373
1509
|
];
|
|
1374
|
-
function
|
|
1510
|
+
function js(e) {
|
|
1375
1511
|
const t = {};
|
|
1376
1512
|
for (const n of e) {
|
|
1377
1513
|
const r = n.name?.toLowerCase();
|
|
1378
|
-
r && n.value !== void 0 &&
|
|
1514
|
+
r && n.value !== void 0 && Wn.includes(r) && (t[r] = n.value);
|
|
1379
1515
|
}
|
|
1380
1516
|
return t;
|
|
1381
1517
|
}
|
|
1382
|
-
const
|
|
1383
|
-
function
|
|
1518
|
+
const Gn = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i, Vn = /(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;
|
|
1519
|
+
function Ws(e) {
|
|
1384
1520
|
const t = e.headers ?? {}, n = e.from?.email, r = t["auto-submitted"]?.toLowerCase();
|
|
1385
|
-
if (r && r !== "no" || t["x-auto-response-suppress"] || n &&
|
|
1521
|
+
if (r && r !== "no" || t["x-auto-response-suppress"] || n && Gn.test(n))
|
|
1386
1522
|
return "automated";
|
|
1387
1523
|
const o = t.precedence?.toLowerCase();
|
|
1388
|
-
if (t["list-unsubscribe"] || t["list-unsubscribe-post"] || t["list-id"] || o === "bulk" || o === "list" || e.body &&
|
|
1524
|
+
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
1525
|
return "marketing";
|
|
1390
1526
|
}
|
|
1391
|
-
function
|
|
1527
|
+
function zn(e, t) {
|
|
1392
1528
|
return e.lastActivityAt ? !(e.seenBy ?? []).includes(t) : !1;
|
|
1393
1529
|
}
|
|
1394
|
-
const
|
|
1530
|
+
const Xn = ["open"], Yn = 1e3, qn = {
|
|
1395
1531
|
urgent: 1,
|
|
1396
1532
|
high: 4,
|
|
1397
1533
|
normal: 8,
|
|
1398
1534
|
low: 24
|
|
1399
|
-
},
|
|
1400
|
-
function
|
|
1401
|
-
return e.lastActivityAt ?? (e.createdAt ? new Date(
|
|
1535
|
+
}, Jn = 72;
|
|
1536
|
+
function Zn(e) {
|
|
1537
|
+
return e.lastActivityAt ?? (e.createdAt ? new Date(dn(e)).getTime() : 0);
|
|
1402
1538
|
}
|
|
1403
|
-
function
|
|
1404
|
-
return
|
|
1539
|
+
function Qn(e, t) {
|
|
1540
|
+
return er(t.remindersById?.[e.id], e, t.now);
|
|
1405
1541
|
}
|
|
1406
|
-
function
|
|
1542
|
+
function er(e, t, n) {
|
|
1407
1543
|
return !e || e.remindAt <= n ? !1 : !((t.lastActivityAt ?? 0) > e.parkedAt && t.lastActivityPreview?.direction === "inbound");
|
|
1408
1544
|
}
|
|
1409
|
-
const
|
|
1545
|
+
const kt = (e) => on(e) === "outbound_message", vt = (e) => Xn.includes(e);
|
|
1410
1546
|
function Ie(e, t) {
|
|
1411
|
-
return Math.max(0, (t -
|
|
1547
|
+
return Math.max(0, (t - Zn(e)) / Un);
|
|
1412
1548
|
}
|
|
1413
|
-
function
|
|
1549
|
+
function tr(e, t) {
|
|
1414
1550
|
const n = e.assignedInboxId ? t?.[e.assignedInboxId] : void 0;
|
|
1415
|
-
return typeof n == "number" && n > 0 ? n :
|
|
1551
|
+
return typeof n == "number" && n > 0 ? n : qn[e.priority ?? "normal"];
|
|
1416
1552
|
}
|
|
1417
|
-
function
|
|
1553
|
+
function Gs(e) {
|
|
1418
1554
|
const t = {};
|
|
1419
1555
|
for (const n of e)
|
|
1420
1556
|
typeof n.slaHours == "number" && n.slaHours > 0 && (t[n.id] = n.slaHours);
|
|
1421
1557
|
return t;
|
|
1422
1558
|
}
|
|
1423
|
-
function
|
|
1424
|
-
return !
|
|
1559
|
+
function Vs(e, t, n) {
|
|
1560
|
+
return !vt(e.status) || e.firstResponseAt ? !1 : Ie(e, t) > tr(e, n);
|
|
1425
1561
|
}
|
|
1426
|
-
function
|
|
1562
|
+
function nr(e, t) {
|
|
1427
1563
|
const n = e.lastActivityPreview;
|
|
1428
|
-
return n?.direction !== "outbound" || !
|
|
1564
|
+
return n?.direction !== "outbound" || !kt(n.type) ? !1 : Ie(e, t) < Jn;
|
|
1429
1565
|
}
|
|
1430
|
-
function
|
|
1431
|
-
if (!
|
|
1432
|
-
if (e.snoozedTill && e.snoozedTill > t.now) return { score:
|
|
1433
|
-
if (
|
|
1434
|
-
if (
|
|
1566
|
+
function zs(e, t) {
|
|
1567
|
+
if (!vt(e.status)) return { score: $, reasons: [] };
|
|
1568
|
+
if (e.snoozedTill && e.snoozedTill > t.now) return { score: $, reasons: [] };
|
|
1569
|
+
if (nr(e, t.now)) return { score: $, reasons: [] };
|
|
1570
|
+
if (Qn(e, t)) return { score: $, reasons: [] };
|
|
1435
1571
|
let n = 0;
|
|
1436
1572
|
const r = [], o = e.priority ?? "normal";
|
|
1437
|
-
|
|
1573
|
+
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
1574
|
const i = Ie(e, t.now);
|
|
1439
1575
|
if (i > 0) {
|
|
1440
1576
|
const l = Math.min(i * 2, 30);
|
|
1441
1577
|
n += l, i >= 1 && r.push(`waiting:${Math.round(i)}h`);
|
|
1442
1578
|
}
|
|
1443
1579
|
const s = e.lastActivityPreview;
|
|
1444
|
-
return s?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), s?.direction === "outbound" &&
|
|
1580
|
+
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
1581
|
}
|
|
1446
|
-
const
|
|
1582
|
+
const Xs = (e) => !!e.assignedUserId || !!e.assignedInboxId, Ys = (e) => e.status === "closed", qs = (e) => ({
|
|
1447
1583
|
urgent: 10,
|
|
1448
1584
|
high: 5,
|
|
1449
1585
|
normal: 2,
|
|
1450
1586
|
low: 1
|
|
1451
|
-
})[e.priority] || 0,
|
|
1452
|
-
function
|
|
1587
|
+
})[e.priority] || 0, Js = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
|
|
1588
|
+
function Zs(e, t) {
|
|
1453
1589
|
const n = e.labels ?? [];
|
|
1454
1590
|
return n.find((r) => r.locale === t)?.label ?? n[0]?.label ?? e.url;
|
|
1455
1591
|
}
|
|
1456
|
-
function
|
|
1592
|
+
function Qs(e, t, n) {
|
|
1457
1593
|
const r = e.translations ?? [];
|
|
1458
1594
|
return r.find((o) => o.locale === t) ?? (n ? r.find((o) => o.locale === n) : void 0) ?? { locale: t };
|
|
1459
1595
|
}
|
|
1460
|
-
const
|
|
1596
|
+
const Ye = [
|
|
1461
1597
|
{ code: "nl", label: "Nederlands", english: "Dutch" },
|
|
1462
1598
|
{ code: "en", label: "English", english: "English" },
|
|
1463
1599
|
{ code: "de", label: "Deutsch", english: "German" },
|
|
@@ -1472,36 +1608,36 @@ const ze = [
|
|
|
1472
1608
|
{ code: "fi", label: "Suomi", english: "Finnish" },
|
|
1473
1609
|
{ code: "tr", label: "Türkçe", english: "Turkish" }
|
|
1474
1610
|
];
|
|
1475
|
-
function
|
|
1611
|
+
function Ot(e) {
|
|
1476
1612
|
const t = (e ?? "").toLowerCase();
|
|
1477
|
-
return
|
|
1613
|
+
return Ye.find((n) => n.code === t) ?? Ye.find((n) => n.code === t.split("-")[0]);
|
|
1478
1614
|
}
|
|
1479
|
-
function
|
|
1480
|
-
return
|
|
1615
|
+
function ea(e) {
|
|
1616
|
+
return Ot(e)?.label ?? e;
|
|
1481
1617
|
}
|
|
1482
|
-
function
|
|
1483
|
-
const t =
|
|
1618
|
+
function ta(e) {
|
|
1619
|
+
const t = Ot(e);
|
|
1484
1620
|
return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
|
|
1485
1621
|
}
|
|
1486
|
-
const
|
|
1487
|
-
function
|
|
1622
|
+
const Ct = 3;
|
|
1623
|
+
function rr(e, t) {
|
|
1488
1624
|
const n = /* @__PURE__ */ new Set();
|
|
1489
1625
|
let r = 1, o = t.get(e)?.parentId;
|
|
1490
1626
|
for (; o; ) {
|
|
1491
|
-
if (n.has(o) || (n.add(o), r++, r >
|
|
1627
|
+
if (n.has(o) || (n.add(o), r++, r > Ct + 1)) return 1 / 0;
|
|
1492
1628
|
o = t.get(o)?.parentId;
|
|
1493
1629
|
}
|
|
1494
1630
|
return r;
|
|
1495
1631
|
}
|
|
1496
|
-
function
|
|
1632
|
+
function na(e, t, n) {
|
|
1497
1633
|
if (!e) return !0;
|
|
1498
1634
|
if (e === t) return !1;
|
|
1499
1635
|
const r = new Map(n.map((s) => [s.id, s]));
|
|
1500
|
-
if (!r.has(e) || t &&
|
|
1501
|
-
const o =
|
|
1502
|
-
return o + i <=
|
|
1636
|
+
if (!r.has(e) || t && or(e, t, r)) return !1;
|
|
1637
|
+
const o = rr(e, r), i = t ? xt(t, n) : 1;
|
|
1638
|
+
return o + i <= Ct;
|
|
1503
1639
|
}
|
|
1504
|
-
function
|
|
1640
|
+
function or(e, t, n) {
|
|
1505
1641
|
const r = /* @__PURE__ */ new Set();
|
|
1506
1642
|
let o = n.get(e)?.parentId;
|
|
1507
1643
|
for (; o; ) {
|
|
@@ -1511,44 +1647,44 @@ function Yn(e, t, n) {
|
|
|
1511
1647
|
}
|
|
1512
1648
|
return !1;
|
|
1513
1649
|
}
|
|
1514
|
-
function
|
|
1650
|
+
function xt(e, t, n = /* @__PURE__ */ new Set()) {
|
|
1515
1651
|
if (n.has(e)) return 1;
|
|
1516
1652
|
n.add(e);
|
|
1517
1653
|
const r = t.filter((o) => o.parentId === e);
|
|
1518
|
-
return r.length ? 1 + Math.max(...r.map((o) =>
|
|
1654
|
+
return r.length ? 1 + Math.max(...r.map((o) => xt(o.id, t, n))) : 1;
|
|
1519
1655
|
}
|
|
1520
|
-
const
|
|
1521
|
-
function
|
|
1522
|
-
return e.defaultLocale || e.locale ||
|
|
1656
|
+
const ir = "en";
|
|
1657
|
+
function sr(e) {
|
|
1658
|
+
return e.defaultLocale || e.locale || ir;
|
|
1523
1659
|
}
|
|
1524
|
-
function
|
|
1660
|
+
function ra(e) {
|
|
1525
1661
|
const t = /* @__PURE__ */ new Set(), n = [];
|
|
1526
|
-
for (const r of [
|
|
1662
|
+
for (const r of [sr(e), ...e.locales ?? []])
|
|
1527
1663
|
!r || t.has(r) || (t.add(r), n.push(r));
|
|
1528
1664
|
return n;
|
|
1529
1665
|
}
|
|
1530
|
-
function
|
|
1666
|
+
function oa(e, t, n) {
|
|
1531
1667
|
const r = e.translations ?? [];
|
|
1532
1668
|
return r.find((o) => o.locale === t)?.name ?? (n ? r.find((o) => o.locale === n)?.name : void 0) ?? e.name;
|
|
1533
1669
|
}
|
|
1534
|
-
const
|
|
1535
|
-
function
|
|
1670
|
+
const qe = ["lookup", "condition", "parallel", "for-each"];
|
|
1671
|
+
function Je(e) {
|
|
1536
1672
|
for (const t of e) {
|
|
1537
|
-
if (!
|
|
1538
|
-
return `staptype "${t.type}" mag niet meelezen (alleen ${
|
|
1673
|
+
if (!qe.includes(t.type))
|
|
1674
|
+
return `staptype "${t.type}" mag niet meelezen (alleen ${qe.join(", ")})`;
|
|
1539
1675
|
if (t.type === "parallel")
|
|
1540
1676
|
for (const n of t.branches ?? []) {
|
|
1541
|
-
const r =
|
|
1677
|
+
const r = Je(n);
|
|
1542
1678
|
if (r) return r;
|
|
1543
1679
|
}
|
|
1544
1680
|
if (t.type === "for-each") {
|
|
1545
|
-
const n =
|
|
1681
|
+
const n = Je(t.body ?? []);
|
|
1546
1682
|
if (n) return n;
|
|
1547
1683
|
}
|
|
1548
1684
|
}
|
|
1549
1685
|
return null;
|
|
1550
1686
|
}
|
|
1551
|
-
function
|
|
1687
|
+
function ar(e, t) {
|
|
1552
1688
|
switch (e.kind) {
|
|
1553
1689
|
case "org":
|
|
1554
1690
|
return !0;
|
|
@@ -1558,22 +1694,22 @@ function Zn(e, t) {
|
|
|
1558
1694
|
return e.userId === t.userId;
|
|
1559
1695
|
}
|
|
1560
1696
|
}
|
|
1561
|
-
function
|
|
1562
|
-
return e.filter((n) => n.enabled &&
|
|
1697
|
+
function ia(e, t) {
|
|
1698
|
+
return e.filter((n) => n.enabled && ar(n.ownerScope, t));
|
|
1563
1699
|
}
|
|
1564
|
-
function
|
|
1700
|
+
function sa(e) {
|
|
1565
1701
|
return e.credentialScope ? e.credentialScope : (e.authMode ?? "header") === "header" || e.oauth?.scope === "org" ? "shared" : "per-user";
|
|
1566
1702
|
}
|
|
1567
|
-
function
|
|
1703
|
+
function aa(e) {
|
|
1568
1704
|
return `mcp__${e}__`;
|
|
1569
1705
|
}
|
|
1570
|
-
const
|
|
1571
|
-
function
|
|
1706
|
+
const ca = 1e3, la = 2e3, ua = 500, da = 12e3, fa = 4e3, cr = ["contact", "company", "work_item"];
|
|
1707
|
+
function pa(e) {
|
|
1572
1708
|
if (!e) return !1;
|
|
1573
1709
|
const t = e.slice(0, e.indexOf(":"));
|
|
1574
|
-
return
|
|
1710
|
+
return cr.includes(t);
|
|
1575
1711
|
}
|
|
1576
|
-
const
|
|
1712
|
+
const ma = "onboarding-source", ha = ["support", "billing", "availability", "sales", "onboarding"], ga = ["keep", "replace"], Me = [
|
|
1577
1713
|
{
|
|
1578
1714
|
key: "shift",
|
|
1579
1715
|
label: "kind_shift",
|
|
@@ -1647,44 +1783,44 @@ const na = "onboarding-source", ra = ["support", "billing", "availability", "sal
|
|
|
1647
1783
|
absent: !0,
|
|
1648
1784
|
icon: "party-popper"
|
|
1649
1785
|
}
|
|
1650
|
-
],
|
|
1786
|
+
], lr = {
|
|
1651
1787
|
key: "unknown",
|
|
1652
1788
|
label: "kind_unknown",
|
|
1653
1789
|
capacity: !1,
|
|
1654
1790
|
productive: !1,
|
|
1655
1791
|
absent: !1
|
|
1656
1792
|
};
|
|
1657
|
-
function
|
|
1658
|
-
return t.find((n) => n.key === e) ?? { ...
|
|
1793
|
+
function N(e, t = Me) {
|
|
1794
|
+
return t.find((n) => n.key === e) ?? { ...lr, key: e };
|
|
1659
1795
|
}
|
|
1660
|
-
function
|
|
1796
|
+
function j(e) {
|
|
1661
1797
|
return e === "published" || e === "approved";
|
|
1662
1798
|
}
|
|
1663
|
-
function
|
|
1799
|
+
function Nt(e, t, n = Me) {
|
|
1664
1800
|
if (e.workstreamId !== t) return !1;
|
|
1665
|
-
const r =
|
|
1801
|
+
const r = N(e.kindKey, n);
|
|
1666
1802
|
return r.absent ? !1 : r.productive || r.capacity;
|
|
1667
1803
|
}
|
|
1668
|
-
function
|
|
1669
|
-
if (!e.userId || !
|
|
1670
|
-
const n =
|
|
1804
|
+
function ya(e, t = Me) {
|
|
1805
|
+
if (!e.userId || !j(e.status)) return !1;
|
|
1806
|
+
const n = N(e.kindKey, t);
|
|
1671
1807
|
return n.capacity || n.productive || n.absent;
|
|
1672
1808
|
}
|
|
1673
|
-
const
|
|
1674
|
-
function
|
|
1675
|
-
return Math.round((t - e) /
|
|
1809
|
+
const ur = 864e5;
|
|
1810
|
+
function dr(e, t) {
|
|
1811
|
+
return Math.round((t - e) / ur);
|
|
1676
1812
|
}
|
|
1677
|
-
function
|
|
1813
|
+
function Rt(e, t) {
|
|
1678
1814
|
const n = e.cycleMinutes.length;
|
|
1679
|
-
return n === 0 ? 0 : (
|
|
1815
|
+
return n === 0 ? 0 : (dr(e.anchor, t) % n + n) % n;
|
|
1680
1816
|
}
|
|
1681
|
-
function
|
|
1682
|
-
return e.effectiveFrom !== void 0 && t < e.effectiveFrom ? 0 : e.cycleMinutes[
|
|
1817
|
+
function Dt(e, t) {
|
|
1818
|
+
return e.effectiveFrom !== void 0 && t < e.effectiveFrom ? 0 : e.cycleMinutes[Rt(e, t)] ?? 0;
|
|
1683
1819
|
}
|
|
1684
|
-
function
|
|
1685
|
-
return e.startTimes?.[
|
|
1820
|
+
function $t(e, t) {
|
|
1821
|
+
return e.startTimes?.[Rt(e, t)];
|
|
1686
1822
|
}
|
|
1687
|
-
function
|
|
1823
|
+
function Lt(e, t, n, r) {
|
|
1688
1824
|
const o = e.filter(
|
|
1689
1825
|
(a) => a.effectiveFrom === void 0 || a.effectiveFrom <= r
|
|
1690
1826
|
), i = (a) => a.sort((l, u) => (u.effectiveFrom ?? 0) - (l.effectiveFrom ?? 0))[0], s = i(o.filter((a) => a.userId === t));
|
|
@@ -1692,26 +1828,26 @@ function xt(e, t, n, r) {
|
|
|
1692
1828
|
o.filter((a) => !a.userId && a.teamId && n.includes(a.teamId))
|
|
1693
1829
|
);
|
|
1694
1830
|
}
|
|
1695
|
-
function
|
|
1831
|
+
function fr(e, t, n) {
|
|
1696
1832
|
return e.filter(
|
|
1697
1833
|
(r) => r.userId === t && (r.effectiveFrom === void 0 || r.effectiveFrom <= n)
|
|
1698
1834
|
).sort((r, o) => (o.effectiveFrom ?? 0) - (r.effectiveFrom ?? 0))[0];
|
|
1699
1835
|
}
|
|
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 *
|
|
1836
|
+
const pe = 864e5;
|
|
1837
|
+
function pr(e) {
|
|
1838
|
+
const t = Math.max(1, Math.round((e.to - e.from) / pe));
|
|
1839
|
+
return Array.from({ length: t }, (n, r) => e.from + r * pe);
|
|
1704
1840
|
}
|
|
1705
|
-
function
|
|
1841
|
+
function me(e, t, n, r) {
|
|
1706
1842
|
const o = Math.min(t, r) - Math.max(e, n);
|
|
1707
1843
|
return o > 0 ? o / 1e3 : 0;
|
|
1708
1844
|
}
|
|
1709
|
-
const
|
|
1710
|
-
function
|
|
1845
|
+
const Ze = { interval: 0, day: 1, week: 2 };
|
|
1846
|
+
function ba(e, t) {
|
|
1711
1847
|
const { entries: n, patterns: r = [], terms: o = [] } = t, i = n.filter(
|
|
1712
|
-
(c) => c.userId &&
|
|
1848
|
+
(c) => c.userId && j(c.status) && N(c.kindKey).capacity
|
|
1713
1849
|
), s = n.filter(
|
|
1714
|
-
(c) => c.userId &&
|
|
1850
|
+
(c) => c.userId && j(c.status) && N(c.kindKey).absent
|
|
1715
1851
|
), a = t.userIds ?? [
|
|
1716
1852
|
.../* @__PURE__ */ new Set([
|
|
1717
1853
|
...i.map((c) => c.userId),
|
|
@@ -1720,44 +1856,44 @@ function sa(e, t) {
|
|
|
1720
1856
|
])
|
|
1721
1857
|
].filter((c) => !!c), l = {};
|
|
1722
1858
|
let u = "interval";
|
|
1723
|
-
const
|
|
1724
|
-
|
|
1859
|
+
const f = (c) => {
|
|
1860
|
+
Ze[c] > Ze[u] && (u = c);
|
|
1725
1861
|
};
|
|
1726
1862
|
for (const c of a) {
|
|
1727
|
-
const
|
|
1863
|
+
const d = t.teamIdsOf?.(c) ?? [];
|
|
1728
1864
|
let m = 0, E = 0, g = 0;
|
|
1729
|
-
for (const
|
|
1730
|
-
const
|
|
1865
|
+
for (const p of pr(e)) {
|
|
1866
|
+
const _ = Math.max(p, e.from), x = Math.min(p + pe, e.to);
|
|
1731
1867
|
g++;
|
|
1732
|
-
const O = i.filter((M) => M.userId === c).reduce((M, Ne) => M +
|
|
1868
|
+
const O = i.filter((M) => M.userId === c).reduce((M, Ne) => M + me(Ne.start, Ne.end, _, x), 0);
|
|
1733
1869
|
if (O > 0) {
|
|
1734
1870
|
m += O;
|
|
1735
1871
|
continue;
|
|
1736
1872
|
}
|
|
1737
|
-
const k =
|
|
1873
|
+
const k = Lt(r, c, d, p), C = k ? Dt(k, p) : 0;
|
|
1738
1874
|
if (k && C > 0) {
|
|
1739
|
-
m += C * 60,
|
|
1875
|
+
m += C * 60, f($t(k, p) ? "interval" : "day");
|
|
1740
1876
|
continue;
|
|
1741
1877
|
}
|
|
1742
1878
|
k || E++;
|
|
1743
1879
|
}
|
|
1744
1880
|
if (E > 0) {
|
|
1745
|
-
const
|
|
1746
|
-
|
|
1881
|
+
const p = fr(o, c, e.from);
|
|
1882
|
+
p && (m += p.weeklyMinutes * 60 * (E / 7), f("week"));
|
|
1747
1883
|
}
|
|
1748
|
-
const T = s.filter((
|
|
1749
|
-
(
|
|
1884
|
+
const T = s.filter((p) => p.userId === c).reduce(
|
|
1885
|
+
(p, _) => p + me(_.start, _.end, e.from, e.to),
|
|
1750
1886
|
0
|
|
1751
|
-
),
|
|
1752
|
-
(
|
|
1887
|
+
), h = Math.max(0, m - T);
|
|
1888
|
+
(h > 0 || g > 0) && (l[c] = h);
|
|
1753
1889
|
}
|
|
1754
1890
|
return {
|
|
1755
|
-
seconds: Object.values(l).reduce((c,
|
|
1891
|
+
seconds: Object.values(l).reduce((c, d) => c + d, 0),
|
|
1756
1892
|
precision: u,
|
|
1757
1893
|
byUser: l
|
|
1758
1894
|
};
|
|
1759
1895
|
}
|
|
1760
|
-
function
|
|
1896
|
+
function Aa(e, t) {
|
|
1761
1897
|
if (!e.some((a) => a.userId)) return [];
|
|
1762
1898
|
const n = "", r = /* @__PURE__ */ new Map();
|
|
1763
1899
|
for (const a of e) {
|
|
@@ -1780,16 +1916,16 @@ function aa(e, t) {
|
|
|
1780
1916
|
const s = r.get(n) ?? 0;
|
|
1781
1917
|
return s > 0 && i.push({ requiredSeconds: s, capacitySeconds: 0, netSeconds: -s }), i;
|
|
1782
1918
|
}
|
|
1783
|
-
function
|
|
1919
|
+
function Ea(e, t, n, r) {
|
|
1784
1920
|
const o = e.filter(
|
|
1785
|
-
(s) => s.userId &&
|
|
1921
|
+
(s) => s.userId && j(s.status) && !N(s.kindKey).absent
|
|
1786
1922
|
), i = Object.entries(r.byUser).map(
|
|
1787
1923
|
([s, a]) => {
|
|
1788
1924
|
let l = 0, u = 0;
|
|
1789
|
-
for (const
|
|
1790
|
-
if (
|
|
1791
|
-
const c =
|
|
1792
|
-
c <= 0 || (
|
|
1925
|
+
for (const f of o) {
|
|
1926
|
+
if (f.userId !== s || N(f.kindKey).capacity && !f.workstreamId) continue;
|
|
1927
|
+
const c = me(f.start, f.end, n.from, n.to);
|
|
1928
|
+
c <= 0 || (Nt(f, t) ? l += c : u += c);
|
|
1793
1929
|
}
|
|
1794
1930
|
return {
|
|
1795
1931
|
userId: s,
|
|
@@ -1802,203 +1938,203 @@ function ca(e, t, n, r) {
|
|
|
1802
1938
|
);
|
|
1803
1939
|
return i.sort((s, a) => a.freeSeconds - s.freeSeconds), i;
|
|
1804
1940
|
}
|
|
1805
|
-
const
|
|
1806
|
-
function
|
|
1941
|
+
const _a = "demand-source", Qe = 1e3;
|
|
1942
|
+
function mr(e, t) {
|
|
1807
1943
|
let n = 1;
|
|
1808
1944
|
for (let r = 1; r <= e; r++)
|
|
1809
1945
|
n = t * n / (r + t * n);
|
|
1810
1946
|
return n;
|
|
1811
1947
|
}
|
|
1812
|
-
function
|
|
1948
|
+
function hr(e, t) {
|
|
1813
1949
|
if (e <= 0) return 1;
|
|
1814
1950
|
if (t <= 0) return 0;
|
|
1815
1951
|
if (e <= t) return 1;
|
|
1816
|
-
const n =
|
|
1952
|
+
const n = mr(e, t), r = t / e;
|
|
1817
1953
|
return n / (1 - r * (1 - n));
|
|
1818
1954
|
}
|
|
1819
|
-
function
|
|
1820
|
-
return r <= 0 ? 1 : e <= t ? 0 : 1 -
|
|
1955
|
+
function gr(e, t, n, r) {
|
|
1956
|
+
return r <= 0 ? 1 : e <= t ? 0 : 1 - hr(e, t) * Math.exp(-(e - t) * n / r);
|
|
1821
1957
|
}
|
|
1822
|
-
function
|
|
1958
|
+
function yr(e, t, n) {
|
|
1823
1959
|
return n <= 0 ? 0 : e * t / n;
|
|
1824
1960
|
}
|
|
1825
|
-
function
|
|
1961
|
+
function br(e, t, n, r) {
|
|
1826
1962
|
if (e <= 0 || t <= 0) return 0;
|
|
1827
|
-
const o =
|
|
1963
|
+
const o = yr(e, t, n);
|
|
1828
1964
|
if (o <= 0) return 0;
|
|
1829
1965
|
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) && !(
|
|
1966
|
+
for (let a = Math.max(1, Math.ceil(o)); a <= Qe; a++)
|
|
1967
|
+
if (!(a <= o) && !(gr(a, o, r.targetSeconds, t) < i) && !(s && o / a > s))
|
|
1832
1968
|
return a;
|
|
1833
|
-
return
|
|
1969
|
+
return Qe;
|
|
1834
1970
|
}
|
|
1835
|
-
const
|
|
1836
|
-
function
|
|
1837
|
-
return e === "day" ?
|
|
1971
|
+
const Ar = 36e5, Er = 864e5;
|
|
1972
|
+
function _r(e) {
|
|
1973
|
+
return e === "day" ? Er : Ar;
|
|
1838
1974
|
}
|
|
1839
|
-
function
|
|
1975
|
+
function Sa(e, t) {
|
|
1840
1976
|
return e.start < t.end && t.start < e.end;
|
|
1841
1977
|
}
|
|
1842
|
-
function
|
|
1978
|
+
function se(e, t, n) {
|
|
1843
1979
|
const r = Math.min(e.end, n) - Math.max(e.start, t);
|
|
1844
1980
|
return r > 0 ? r / 1e3 : 0;
|
|
1845
1981
|
}
|
|
1846
|
-
function
|
|
1982
|
+
function Sr(e, t, n) {
|
|
1847
1983
|
const r = e.handleSeconds ?? 0, o = e.seconds ?? (e.volume !== void 0 ? e.volume * r : 0);
|
|
1848
1984
|
if (o <= 0 && !e.volume) return { seconds: 0, headcount: 0 };
|
|
1849
1985
|
const i = (t.unplannedLossPercent ?? 0) / 100, s = i > 0 && i < 1 ? 1 / (1 - i) : 1;
|
|
1850
1986
|
if (t.model === "queue" && e.volume !== void 0 && r > 0) {
|
|
1851
|
-
const a =
|
|
1987
|
+
const a = br(e.volume, r, n, t);
|
|
1852
1988
|
return { seconds: o, headcount: a * s };
|
|
1853
1989
|
}
|
|
1854
1990
|
return { seconds: o, headcount: o / n * s };
|
|
1855
1991
|
}
|
|
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?.[
|
|
1992
|
+
function Ta(e) {
|
|
1993
|
+
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 = [];
|
|
1994
|
+
for (let g = H(i.from, s); g < i.to; g += a) {
|
|
1995
|
+
const T = g + a, h = B(g, s);
|
|
1996
|
+
let p = 0;
|
|
1997
|
+
for (const M of c) p += se(M, g, T);
|
|
1998
|
+
let _ = 0;
|
|
1999
|
+
for (const M of d) _ += se(M, g, T);
|
|
2000
|
+
let x = 0;
|
|
2001
|
+
for (const M of m) x += se(M, g, T);
|
|
2002
|
+
const O = o?.[h] ?? {}, k = Sr(O, r, l), C = p / l;
|
|
1867
2003
|
E.push({
|
|
1868
|
-
period:
|
|
2004
|
+
period: h,
|
|
1869
2005
|
forecastVolume: O.volume,
|
|
1870
2006
|
requiredSeconds: k.seconds,
|
|
1871
2007
|
requiredHeadcount: k.headcount,
|
|
1872
|
-
scheduledSeconds:
|
|
2008
|
+
scheduledSeconds: p,
|
|
1873
2009
|
scheduledHeadcount: C,
|
|
1874
2010
|
netHeadcount: C - k.headcount,
|
|
1875
|
-
capacitySeconds:
|
|
1876
|
-
absentSeconds:
|
|
2011
|
+
capacitySeconds: _,
|
|
2012
|
+
absentSeconds: x
|
|
1877
2013
|
});
|
|
1878
2014
|
}
|
|
1879
2015
|
return E;
|
|
1880
2016
|
}
|
|
1881
|
-
function
|
|
2017
|
+
function Tr(e, t) {
|
|
1882
2018
|
return e.workTypeKey ?? t?.defaultWorkTypeKey;
|
|
1883
2019
|
}
|
|
1884
|
-
function
|
|
1885
|
-
const r =
|
|
2020
|
+
function wa(e, t, n) {
|
|
2021
|
+
const r = Tr(e, t);
|
|
1886
2022
|
return r ? n.find((o) => o.key === r)?.defaultBillable ?? !1 : !1;
|
|
1887
2023
|
}
|
|
1888
|
-
function
|
|
2024
|
+
function Ia(e) {
|
|
1889
2025
|
return e.filter(
|
|
1890
2026
|
(t) => t.netHeadcount < 0 && t.requiredHeadcount > 0
|
|
1891
2027
|
);
|
|
1892
2028
|
}
|
|
1893
|
-
const
|
|
1894
|
-
function
|
|
2029
|
+
const wr = 36e5, he = 6048e5, Ir = 8, Mr = 0.5, kr = 2;
|
|
2030
|
+
function vr(e) {
|
|
1895
2031
|
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
2032
|
return Date.UTC(t, n - 1, r, o);
|
|
1897
2033
|
}
|
|
1898
|
-
function
|
|
2034
|
+
function Or(e, t, n) {
|
|
1899
2035
|
const r = [];
|
|
1900
2036
|
for (let i = 0; i < n; i++) {
|
|
1901
|
-
const s = t - i *
|
|
2037
|
+
const s = t - i * he, a = s - he;
|
|
1902
2038
|
let l = 0, u = !1;
|
|
1903
|
-
for (const [
|
|
1904
|
-
|
|
2039
|
+
for (const [f, c] of e)
|
|
2040
|
+
f >= a && f < s && (l += c, u = !0);
|
|
1905
2041
|
u && r.push(l);
|
|
1906
2042
|
}
|
|
1907
2043
|
if (r.length < 2) return 1;
|
|
1908
2044
|
const o = r.reduce((i, s) => i + s, 0) / r.length;
|
|
1909
|
-
return o <= 0 ? 1 : Math.min(
|
|
2045
|
+
return o <= 0 ? 1 : Math.min(kr, Math.max(Mr, r[0] / o));
|
|
1910
2046
|
}
|
|
1911
|
-
function
|
|
2047
|
+
function Cr(e, t) {
|
|
1912
2048
|
if (!e?.length) return;
|
|
1913
2049
|
let n;
|
|
1914
2050
|
for (const r of e)
|
|
1915
2051
|
t >= r.from && t < r.to && (n = r);
|
|
1916
2052
|
return n;
|
|
1917
2053
|
}
|
|
1918
|
-
function
|
|
1919
|
-
const r = Math.max(1, n?.weeks ??
|
|
2054
|
+
function Ma(e, t, n) {
|
|
2055
|
+
const r = Math.max(1, n?.weeks ?? Ir), o = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set();
|
|
1920
2056
|
for (const l of e)
|
|
1921
|
-
o.set(
|
|
1922
|
-
const s =
|
|
1923
|
-
for (let l =
|
|
1924
|
-
let u = 0,
|
|
2057
|
+
o.set(vr(l.period), l.value), i.add(l.period.slice(0, 10));
|
|
2058
|
+
const s = Or(o, H(t.from, "hour"), r), a = [];
|
|
2059
|
+
for (let l = H(t.from, "hour"); l < t.to; l += wr) {
|
|
2060
|
+
let u = 0, f = 0;
|
|
1925
2061
|
for (let m = 1; m <= r; m++) {
|
|
1926
|
-
const E = l - m *
|
|
2062
|
+
const E = l - m * he, T = o.get(E) ?? (i.has(B(E, "day")) ? 0 : void 0);
|
|
1927
2063
|
if (T === void 0) continue;
|
|
1928
|
-
const
|
|
1929
|
-
u += T *
|
|
2064
|
+
const h = r - m + 1;
|
|
2065
|
+
u += T * h, f += h;
|
|
1930
2066
|
}
|
|
1931
|
-
let c =
|
|
1932
|
-
const
|
|
1933
|
-
|
|
2067
|
+
let c = f > 0 ? u / f * s : 0;
|
|
2068
|
+
const d = Cr(n?.adjustments, l);
|
|
2069
|
+
d?.absoluteVolume !== void 0 ? c = d.absoluteVolume : d?.factor !== void 0 && (c *= d.factor), a.push({ period: B(l, "hour"), volume: c });
|
|
1934
2070
|
}
|
|
1935
2071
|
return a;
|
|
1936
2072
|
}
|
|
1937
|
-
const
|
|
1938
|
-
function
|
|
1939
|
-
return `${
|
|
2073
|
+
const xr = "schedule_entry", Nr = "workstream";
|
|
2074
|
+
function ka(e) {
|
|
2075
|
+
return `${xr}:${e}`;
|
|
1940
2076
|
}
|
|
1941
|
-
function
|
|
1942
|
-
return `${
|
|
2077
|
+
function va(e) {
|
|
2078
|
+
return `${Nr}:${e}`;
|
|
1943
2079
|
}
|
|
1944
|
-
const
|
|
1945
|
-
function
|
|
1946
|
-
const n = t === "day" ?
|
|
1947
|
-
for (let o =
|
|
2080
|
+
const ge = 36e5, P = 864e5;
|
|
2081
|
+
function Rr(e, t) {
|
|
2082
|
+
const n = t === "day" ? P : ge, r = [];
|
|
2083
|
+
for (let o = H(e.from, t); o < e.to; o += n) r.push(o);
|
|
1948
2084
|
return r;
|
|
1949
2085
|
}
|
|
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 *
|
|
2086
|
+
function et(e) {
|
|
2087
|
+
const t = Math.max(1, Math.round((e.to - e.from) / P));
|
|
2088
|
+
return Array.from({ length: t }, (n, r) => e.from + r * P);
|
|
1953
2089
|
}
|
|
1954
|
-
function
|
|
2090
|
+
function ae(e, t, n, r) {
|
|
1955
2091
|
const o = Math.min(t, r) - Math.max(e, n);
|
|
1956
2092
|
return o > 0 ? o / 1e3 : 0;
|
|
1957
2093
|
}
|
|
1958
|
-
function
|
|
1959
|
-
const r = n.grain ?? "hour", o =
|
|
2094
|
+
function Oa(e, t, n = {}) {
|
|
2095
|
+
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
2096
|
for (const c of a)
|
|
1961
2097
|
if (!(l && c.userId && !l.has(c.userId))) {
|
|
1962
|
-
for (const
|
|
1963
|
-
const m =
|
|
1964
|
-
m > 0 && s.set(
|
|
2098
|
+
for (const d of o) {
|
|
2099
|
+
const m = ae(c.start, c.end, d, d + i);
|
|
2100
|
+
m > 0 && s.set(d, (s.get(d) ?? 0) + m);
|
|
1965
2101
|
}
|
|
1966
|
-
for (const
|
|
1967
|
-
|
|
2102
|
+
for (const d of et(t))
|
|
2103
|
+
ae(c.start, c.end, d, d + P) > 0 && u.add(`${c.userId}:${d}`);
|
|
1968
2104
|
}
|
|
1969
|
-
const
|
|
2105
|
+
const f = n.userIds ?? [
|
|
1970
2106
|
.../* @__PURE__ */ new Set([
|
|
1971
2107
|
...a.map((c) => c.userId),
|
|
1972
2108
|
...(n.patterns ?? []).map((c) => c.userId)
|
|
1973
2109
|
])
|
|
1974
2110
|
].filter((c) => !!c);
|
|
1975
2111
|
if (n.patterns?.length)
|
|
1976
|
-
for (const c of
|
|
1977
|
-
const
|
|
1978
|
-
for (const m of
|
|
2112
|
+
for (const c of f) {
|
|
2113
|
+
const d = n.teamIdsOf?.(c) ?? [];
|
|
2114
|
+
for (const m of et(t)) {
|
|
1979
2115
|
if (u.has(`${c}:${m}`)) continue;
|
|
1980
|
-
const E =
|
|
2116
|
+
const E = Lt(n.patterns, c, d, m);
|
|
1981
2117
|
if (!E) continue;
|
|
1982
|
-
const g =
|
|
2118
|
+
const g = Dt(E, m);
|
|
1983
2119
|
if (g <= 0) continue;
|
|
1984
|
-
const T =
|
|
2120
|
+
const T = $t(E, m);
|
|
1985
2121
|
if (T) {
|
|
1986
|
-
const [
|
|
2122
|
+
const [_, x] = T.split(":").map(Number), O = m + _ * ge + (x ?? 0) * 6e4, k = O + g * 6e4;
|
|
1987
2123
|
for (const C of o) {
|
|
1988
|
-
const M =
|
|
2124
|
+
const M = ae(O, k, C, C + i);
|
|
1989
2125
|
M > 0 && s.set(C, (s.get(C) ?? 0) + M);
|
|
1990
2126
|
}
|
|
1991
2127
|
continue;
|
|
1992
2128
|
}
|
|
1993
|
-
const
|
|
1994
|
-
if (!
|
|
1995
|
-
const
|
|
1996
|
-
for (const
|
|
2129
|
+
const h = o.filter((_) => _ >= m && _ < m + P);
|
|
2130
|
+
if (!h.length) continue;
|
|
2131
|
+
const p = g * 60 / h.length;
|
|
2132
|
+
for (const _ of h) s.set(_, (s.get(_) ?? 0) + p);
|
|
1997
2133
|
}
|
|
1998
2134
|
}
|
|
1999
|
-
return o.map((c) => ({ period:
|
|
2135
|
+
return o.map((c) => ({ period: B(c, r), weight: s.get(c) ?? 0 }));
|
|
2000
2136
|
}
|
|
2001
|
-
function
|
|
2137
|
+
function Dr(e, t) {
|
|
2002
2138
|
if (e <= 0 || !t.length) return [];
|
|
2003
2139
|
const n = t.reduce((r, o) => r + Math.max(0, o.weight), 0);
|
|
2004
2140
|
if (n <= 0) {
|
|
@@ -2007,11 +2143,11 @@ function wr(e, t) {
|
|
|
2007
2143
|
}
|
|
2008
2144
|
return t.filter((r) => r.weight > 0).map((r) => ({ period: r.period, seconds: e * r.weight / n }));
|
|
2009
2145
|
}
|
|
2010
|
-
function
|
|
2146
|
+
function Ca(e, t, n) {
|
|
2011
2147
|
const r = /* @__PURE__ */ new Map();
|
|
2012
2148
|
for (const o of e) {
|
|
2013
2149
|
const i = o.by ? t.filter((a) => n(a.period) < o.by) : t, s = i.length ? i : t;
|
|
2014
|
-
for (const a of
|
|
2150
|
+
for (const a of Dr(o.seconds, s)) {
|
|
2015
2151
|
const l = `${a.period}|${o.userId ?? ""}`, u = r.get(l);
|
|
2016
2152
|
u ? u.seconds += a.seconds : r.set(l, { ...a, userId: o.userId });
|
|
2017
2153
|
}
|
|
@@ -2020,7 +2156,7 @@ function ba(e, t, n) {
|
|
|
2020
2156
|
(o, i) => o.period.localeCompare(i.period) || (o.userId ?? "").localeCompare(i.userId ?? "")
|
|
2021
2157
|
);
|
|
2022
2158
|
}
|
|
2023
|
-
function
|
|
2159
|
+
function $r(e) {
|
|
2024
2160
|
switch (e.kind) {
|
|
2025
2161
|
case "user":
|
|
2026
2162
|
return `user:${e.userId}`;
|
|
@@ -2030,7 +2166,7 @@ function Mr(e) {
|
|
|
2030
2166
|
return "org";
|
|
2031
2167
|
}
|
|
2032
2168
|
}
|
|
2033
|
-
function
|
|
2169
|
+
function xa(e) {
|
|
2034
2170
|
if (typeof e != "string") return;
|
|
2035
2171
|
const t = e.trim();
|
|
2036
2172
|
if (t === "org") return { kind: "org" };
|
|
@@ -2042,10 +2178,10 @@ function Aa(e) {
|
|
|
2042
2178
|
if (r === "team") return { kind: "team", teamId: o };
|
|
2043
2179
|
}
|
|
2044
2180
|
}
|
|
2045
|
-
function
|
|
2046
|
-
return
|
|
2181
|
+
function Lr(e) {
|
|
2182
|
+
return $r(e);
|
|
2047
2183
|
}
|
|
2048
|
-
function
|
|
2184
|
+
function Pr(e) {
|
|
2049
2185
|
switch (e.kind) {
|
|
2050
2186
|
case "personal":
|
|
2051
2187
|
return { kind: "user", userId: e.userId };
|
|
@@ -2055,14 +2191,14 @@ function vr(e) {
|
|
|
2055
2191
|
return { kind: "org" };
|
|
2056
2192
|
}
|
|
2057
2193
|
}
|
|
2058
|
-
const
|
|
2059
|
-
function
|
|
2060
|
-
return e.agentId ? { kind: "user", userId: e.agentId } :
|
|
2194
|
+
const Ur = Pr;
|
|
2195
|
+
function Na(e) {
|
|
2196
|
+
return e.agentId ? { kind: "user", userId: e.agentId } : Ur(e.ownerScope);
|
|
2061
2197
|
}
|
|
2062
|
-
function
|
|
2063
|
-
return
|
|
2198
|
+
function Ra(e) {
|
|
2199
|
+
return Lr(e);
|
|
2064
2200
|
}
|
|
2065
|
-
function
|
|
2201
|
+
function Da(e, t) {
|
|
2066
2202
|
if (!t) return;
|
|
2067
2203
|
let n = e;
|
|
2068
2204
|
for (const r of t.split(".")) {
|
|
@@ -2071,24 +2207,24 @@ function _a(e, t) {
|
|
|
2071
2207
|
}
|
|
2072
2208
|
return n;
|
|
2073
2209
|
}
|
|
2074
|
-
function
|
|
2210
|
+
function $a(e, t) {
|
|
2075
2211
|
return e.targets.find((n) => n.activityTypes.includes(t));
|
|
2076
2212
|
}
|
|
2077
|
-
function
|
|
2213
|
+
function La(e, t) {
|
|
2078
2214
|
if (t)
|
|
2079
2215
|
return e.targets.find((n) => n.id === t);
|
|
2080
2216
|
}
|
|
2081
|
-
function
|
|
2217
|
+
function Kr(e) {
|
|
2082
2218
|
return e?.kind === "assignment";
|
|
2083
2219
|
}
|
|
2084
|
-
function
|
|
2220
|
+
function Pa(e) {
|
|
2085
2221
|
const { trigger: t, agentId: n, target: r, activityType: o, assigneeUserId: i, authorUserId: s } = e;
|
|
2086
|
-
return
|
|
2222
|
+
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
2223
|
}
|
|
2088
|
-
function
|
|
2224
|
+
function Ua(e) {
|
|
2089
2225
|
return (e.startsWith("tool:") ? e.slice(5) : e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
|
|
2090
2226
|
}
|
|
2091
|
-
const
|
|
2227
|
+
const Ka = [
|
|
2092
2228
|
{ name: "text", type: "string" },
|
|
2093
2229
|
{ name: "subject", type: "string" },
|
|
2094
2230
|
{ name: "from", type: "string" },
|
|
@@ -2128,7 +2264,7 @@ const ka = [
|
|
|
2128
2264
|
// `buildTriggerVars` cannot fill it itself: the job does that with the catalog in hand, before
|
|
2129
2265
|
// the trigger filter runs — like contactId/companyId above.
|
|
2130
2266
|
{ name: "assigneeUserId", type: "string" }
|
|
2131
|
-
],
|
|
2267
|
+
], Fa = {
|
|
2132
2268
|
topics: [
|
|
2133
2269
|
{ name: "topicId", type: "string" },
|
|
2134
2270
|
{ name: "topic", type: "string" },
|
|
@@ -2142,58 +2278,58 @@ const ka = [
|
|
|
2142
2278
|
// Deliberately empty: the fields come from `ClassifyStep.fields` and so differ per step.
|
|
2143
2279
|
extract: []
|
|
2144
2280
|
};
|
|
2145
|
-
function
|
|
2281
|
+
function Fr(e) {
|
|
2146
2282
|
return `${e.type}:${e.id}`;
|
|
2147
2283
|
}
|
|
2148
|
-
const
|
|
2149
|
-
function
|
|
2150
|
-
return e?.type ===
|
|
2284
|
+
const Br = "interaction";
|
|
2285
|
+
function Hr(e) {
|
|
2286
|
+
return e?.type === Br ? e.id : void 0;
|
|
2151
2287
|
}
|
|
2152
|
-
const
|
|
2153
|
-
function
|
|
2288
|
+
const jr = 64, Wr = 8e3;
|
|
2289
|
+
function Ba(e) {
|
|
2154
2290
|
const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
|
|
2155
2291
|
if (!(!Number.isFinite(t) || t <= 0))
|
|
2156
|
-
return Math.min(Math.max(Math.round(t),
|
|
2292
|
+
return Math.min(Math.max(Math.round(t), jr), Wr);
|
|
2157
2293
|
}
|
|
2158
|
-
const
|
|
2159
|
-
function
|
|
2294
|
+
const Ha = { kind: "workflow", steps: [] };
|
|
2295
|
+
function ja(e) {
|
|
2160
2296
|
return e?.kind === "workflow" ? e.steps : [];
|
|
2161
2297
|
}
|
|
2162
|
-
function
|
|
2298
|
+
function Wa(e) {
|
|
2163
2299
|
return e?.kind === "procedure" ? e.procedure : void 0;
|
|
2164
2300
|
}
|
|
2165
|
-
function
|
|
2301
|
+
function Gr(e) {
|
|
2166
2302
|
const t = e?.approved ?? 0, n = t + (e?.rejected ?? 0);
|
|
2167
2303
|
return { total: n, rate: n ? t / n : 0 };
|
|
2168
2304
|
}
|
|
2169
|
-
const
|
|
2170
|
-
function
|
|
2171
|
-
const { total: t, rate: n } =
|
|
2172
|
-
return t >=
|
|
2305
|
+
const Vr = 10, zr = 0.9;
|
|
2306
|
+
function Ga(e) {
|
|
2307
|
+
const { total: t, rate: n } = Gr(e);
|
|
2308
|
+
return t >= Vr && n >= zr;
|
|
2173
2309
|
}
|
|
2174
|
-
const
|
|
2175
|
-
function
|
|
2176
|
-
return
|
|
2310
|
+
const Xr = ["done", "escalated", "failed", "stopped"];
|
|
2311
|
+
function Va(e) {
|
|
2312
|
+
return Xr.includes(e);
|
|
2177
2313
|
}
|
|
2178
|
-
function
|
|
2314
|
+
function Yr(e) {
|
|
2179
2315
|
return e === "waiting";
|
|
2180
2316
|
}
|
|
2181
|
-
function
|
|
2182
|
-
return e === "running" ||
|
|
2317
|
+
function za(e) {
|
|
2318
|
+
return e === "running" || Yr(e);
|
|
2183
2319
|
}
|
|
2184
|
-
function
|
|
2320
|
+
function Pt(e) {
|
|
2185
2321
|
return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
|
|
2186
2322
|
}
|
|
2187
|
-
function
|
|
2188
|
-
const t =
|
|
2189
|
-
return t ?
|
|
2323
|
+
function Xa(e) {
|
|
2324
|
+
const t = Pt(e);
|
|
2325
|
+
return t ? Fr(t) : void 0;
|
|
2190
2326
|
}
|
|
2191
|
-
function
|
|
2192
|
-
return
|
|
2327
|
+
function Ya(e) {
|
|
2328
|
+
return Hr(Pt(e));
|
|
2193
2329
|
}
|
|
2194
|
-
function
|
|
2330
|
+
function qa(e) {
|
|
2195
2331
|
const t = [], n = /* @__PURE__ */ new Map();
|
|
2196
|
-
for (const r of [...e].sort(
|
|
2332
|
+
for (const r of [...e].sort(qr)) {
|
|
2197
2333
|
const o = n.get(r.emoji);
|
|
2198
2334
|
if (o) {
|
|
2199
2335
|
o.push(r.actor);
|
|
@@ -2206,58 +2342,58 @@ function Ua(e) {
|
|
|
2206
2342
|
return { emoji: r, count: o.length, actors: o };
|
|
2207
2343
|
}).sort((r, o) => o.count - r.count || t.indexOf(r.emoji) - t.indexOf(o.emoji));
|
|
2208
2344
|
}
|
|
2209
|
-
const
|
|
2210
|
-
function
|
|
2345
|
+
const qr = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
|
|
2346
|
+
function Ja(e, t) {
|
|
2211
2347
|
return t ? e.actors.some((n) => n.type === "user" && n.id === t) : !1;
|
|
2212
2348
|
}
|
|
2213
|
-
const
|
|
2214
|
-
function
|
|
2349
|
+
const ye = 6e4, Jr = 36e5, W = 864e5, Ut = 800;
|
|
2350
|
+
function tt(e, t) {
|
|
2215
2351
|
const n = Date.UTC(e, t + 1, 0);
|
|
2216
|
-
return n - new Date(n).getUTCDay() *
|
|
2352
|
+
return n - new Date(n).getUTCDay() * W + Jr;
|
|
2217
2353
|
}
|
|
2218
|
-
function
|
|
2354
|
+
function Zr(e) {
|
|
2219
2355
|
const t = new Date(e).getUTCFullYear();
|
|
2220
|
-
return e >=
|
|
2356
|
+
return e >= tt(t, 2) && e < tt(t, 9);
|
|
2221
2357
|
}
|
|
2222
|
-
function
|
|
2223
|
-
const n = t.dst === "eu" &&
|
|
2224
|
-
return (t.utcOffsetMinutes + n) *
|
|
2358
|
+
function Kt(e, t) {
|
|
2359
|
+
const n = t.dst === "eu" && Zr(e) ? 60 : 0;
|
|
2360
|
+
return (t.utcOffsetMinutes + n) * ye;
|
|
2225
2361
|
}
|
|
2226
|
-
function
|
|
2362
|
+
function Qr(e) {
|
|
2227
2363
|
return (e + 3) % 7 + 1;
|
|
2228
2364
|
}
|
|
2229
|
-
function
|
|
2230
|
-
const n =
|
|
2231
|
-
if (!t.days.includes(
|
|
2232
|
-
const i = o *
|
|
2365
|
+
function Ft(e, t) {
|
|
2366
|
+
const n = Kt(e, t), r = e + n, o = Math.floor(r / W);
|
|
2367
|
+
if (!t.days.includes(Qr(o))) return null;
|
|
2368
|
+
const i = o * W;
|
|
2233
2369
|
return {
|
|
2234
|
-
open: i + t.fromMinutes *
|
|
2235
|
-
close: i + t.toMinutes *
|
|
2370
|
+
open: i + t.fromMinutes * ye - n,
|
|
2371
|
+
close: i + t.toMinutes * ye - n
|
|
2236
2372
|
};
|
|
2237
2373
|
}
|
|
2238
|
-
function
|
|
2239
|
-
const n =
|
|
2240
|
-
return (Math.floor(r /
|
|
2374
|
+
function Bt(e, t) {
|
|
2375
|
+
const n = Kt(e, t), r = e + n;
|
|
2376
|
+
return (Math.floor(r / W) + 1) * W - n;
|
|
2241
2377
|
}
|
|
2242
|
-
function
|
|
2378
|
+
function be(e, t, n) {
|
|
2243
2379
|
if (t <= e) return 0;
|
|
2244
2380
|
if (!n) return t - e;
|
|
2245
2381
|
let r = 0, o = e;
|
|
2246
|
-
for (let i = 0; i <
|
|
2247
|
-
const s =
|
|
2382
|
+
for (let i = 0; i < Ut && o < t; i++) {
|
|
2383
|
+
const s = Ft(o, n);
|
|
2248
2384
|
if (s) {
|
|
2249
2385
|
const a = Math.max(o, s.open), l = Math.min(t, s.close);
|
|
2250
2386
|
l > a && (r += l - a);
|
|
2251
2387
|
}
|
|
2252
|
-
o =
|
|
2388
|
+
o = Bt(o, n);
|
|
2253
2389
|
}
|
|
2254
2390
|
return r;
|
|
2255
2391
|
}
|
|
2256
|
-
function
|
|
2392
|
+
function ke(e, t, n) {
|
|
2257
2393
|
if (!n) return e + t;
|
|
2258
2394
|
let r = t, o = e;
|
|
2259
|
-
for (let i = 0; i <
|
|
2260
|
-
const s =
|
|
2395
|
+
for (let i = 0; i < Ut; i++) {
|
|
2396
|
+
const s = Ft(o, n);
|
|
2261
2397
|
if (s) {
|
|
2262
2398
|
const a = Math.max(o, s.open);
|
|
2263
2399
|
if (s.close > a) {
|
|
@@ -2266,183 +2402,183 @@ function Me(e, t, n) {
|
|
|
2266
2402
|
r -= l;
|
|
2267
2403
|
}
|
|
2268
2404
|
}
|
|
2269
|
-
o =
|
|
2405
|
+
o = Bt(o, n);
|
|
2270
2406
|
}
|
|
2271
2407
|
return e + t;
|
|
2272
2408
|
}
|
|
2273
|
-
function
|
|
2409
|
+
function Za(e) {
|
|
2274
2410
|
const t = /^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);
|
|
2275
2411
|
return t ? Number(t[1]) * 60 + Number(t[2]) : null;
|
|
2276
2412
|
}
|
|
2277
|
-
const
|
|
2278
|
-
function
|
|
2279
|
-
return e === "snoozed" ?
|
|
2413
|
+
const Ae = 1, Ee = 2;
|
|
2414
|
+
function Qa(e) {
|
|
2415
|
+
return e === "snoozed" ? Ae : Ee;
|
|
2280
2416
|
}
|
|
2281
|
-
function
|
|
2417
|
+
function ve(e) {
|
|
2282
2418
|
const t = e.calendar;
|
|
2283
2419
|
return t && Array.isArray(t.days) ? t : null;
|
|
2284
2420
|
}
|
|
2285
|
-
const
|
|
2421
|
+
const ec = [
|
|
2286
2422
|
"speed_of_answer",
|
|
2287
2423
|
"first_response",
|
|
2288
2424
|
"next_response",
|
|
2289
2425
|
"resolution",
|
|
2290
2426
|
"close"
|
|
2291
|
-
],
|
|
2292
|
-
function
|
|
2427
|
+
], tc = ["snoozed", "waiting_for_customer"], eo = 6e4, Ht = ["speed_of_answer", "first_response", "next_response"], to = [...Ht, "resolution", "close"];
|
|
2428
|
+
function G(e) {
|
|
2293
2429
|
return e.state === "running" || e.state === "paused";
|
|
2294
2430
|
}
|
|
2295
|
-
function
|
|
2296
|
-
return
|
|
2431
|
+
function no(e, t) {
|
|
2432
|
+
return G(e) ? { state: (e.state === "paused" ? e.remainingMs > 0 : t <= e.dueAt) ? "hit" : "missed", settledAt: Math.max(t, e.startedAt) } : null;
|
|
2297
2433
|
}
|
|
2298
|
-
function
|
|
2299
|
-
return
|
|
2434
|
+
function nt(e) {
|
|
2435
|
+
return G(e) ? { state: "void" } : null;
|
|
2300
2436
|
}
|
|
2301
|
-
function
|
|
2302
|
-
if (!
|
|
2437
|
+
function ro(e, t, n, r) {
|
|
2438
|
+
if (!G(e) || (e.pauseBits & t) !== 0) return null;
|
|
2303
2439
|
const o = e.pauseBits | t;
|
|
2304
|
-
return e.state === "paused" ? { pauseBits: o } : { pauseBits: o, state: "paused", remainingMs:
|
|
2440
|
+
return e.state === "paused" ? { pauseBits: o } : { pauseBits: o, state: "paused", remainingMs: be(n, e.dueAt, r) };
|
|
2305
2441
|
}
|
|
2306
|
-
function
|
|
2307
|
-
if (!
|
|
2442
|
+
function oo(e, t, n, r) {
|
|
2443
|
+
if (!G(e) || (e.pauseBits & t) === 0) return null;
|
|
2308
2444
|
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
|
|
2445
|
+
return o !== 0 ? { pauseBits: o } : { pauseBits: o, state: "running", dueAt: ke(n, e.remainingMs, r) };
|
|
2446
|
+
}
|
|
2447
|
+
function nc({ event: e, at: t, now: n, clocks: r, profile: o }) {
|
|
2448
|
+
const i = ve(o), s = Math.min(t, n), a = r.map((h) => ({ ...h })), l = [], u = (h, p) => {
|
|
2449
|
+
p && (l.push({ op: "patch", clockId: h.id, patch: p }), Object.assign(h, p));
|
|
2450
|
+
}, f = (h) => {
|
|
2451
|
+
for (const p of a)
|
|
2452
|
+
p.metric === h && u(p, no(p, s));
|
|
2453
|
+
}, c = (h) => {
|
|
2454
|
+
for (const p of a)
|
|
2455
|
+
h.includes(p.metric) && u(p, nt(p));
|
|
2456
|
+
}, d = (h) => {
|
|
2457
|
+
for (const p of a) u(p, ro(p, h, s, i));
|
|
2458
|
+
}, m = (h) => {
|
|
2459
|
+
for (const p of a) u(p, oo(p, h, s, i));
|
|
2460
|
+
}, 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) => {
|
|
2461
|
+
const _ = o.targets.find((O) => O.metric === h);
|
|
2462
|
+
if (!_) return;
|
|
2463
|
+
const x = _.minutes * eo;
|
|
2328
2464
|
l.push({
|
|
2329
2465
|
op: "start",
|
|
2330
|
-
metric:
|
|
2331
|
-
attempt: E(
|
|
2332
|
-
startedAt:
|
|
2333
|
-
targetMs:
|
|
2334
|
-
dueAt:
|
|
2466
|
+
metric: h,
|
|
2467
|
+
attempt: E(h),
|
|
2468
|
+
startedAt: p,
|
|
2469
|
+
targetMs: x,
|
|
2470
|
+
dueAt: ke(p, x, i)
|
|
2335
2471
|
});
|
|
2336
2472
|
};
|
|
2337
2473
|
switch (e) {
|
|
2338
2474
|
case "apply": {
|
|
2339
|
-
for (const
|
|
2340
|
-
|
|
2341
|
-
for (const
|
|
2342
|
-
if (
|
|
2475
|
+
for (const h of a)
|
|
2476
|
+
h.profileId !== o.id && u(h, nt(h));
|
|
2477
|
+
for (const h of o.targets) {
|
|
2478
|
+
if (h.metric === "next_response") continue;
|
|
2343
2479
|
a.some(
|
|
2344
|
-
(
|
|
2345
|
-
) || T(
|
|
2480
|
+
(_) => _.metric === h.metric && _.profileId === o.id
|
|
2481
|
+
) || T(h.metric, s);
|
|
2346
2482
|
}
|
|
2347
2483
|
break;
|
|
2348
2484
|
}
|
|
2349
2485
|
case "answered":
|
|
2350
|
-
|
|
2486
|
+
f("speed_of_answer");
|
|
2351
2487
|
break;
|
|
2352
2488
|
case "outbound": {
|
|
2353
|
-
|
|
2489
|
+
f("first_response"), f("next_response"), o.pauseOn.includes("waiting_for_customer") && d(Ee);
|
|
2354
2490
|
break;
|
|
2355
2491
|
}
|
|
2356
2492
|
case "inbound": {
|
|
2357
|
-
m(
|
|
2493
|
+
m(Ee), !g("first_response") && !g("next_response") && T("next_response", s);
|
|
2358
2494
|
break;
|
|
2359
2495
|
}
|
|
2360
2496
|
case "resolved":
|
|
2361
|
-
|
|
2497
|
+
f("resolution");
|
|
2362
2498
|
break;
|
|
2363
2499
|
case "closed":
|
|
2364
|
-
|
|
2500
|
+
f("close"), f("resolution"), c(Ht);
|
|
2365
2501
|
break;
|
|
2366
2502
|
case "reopened":
|
|
2367
2503
|
g("resolution") || T("resolution", s), g("close") || T("close", s);
|
|
2368
2504
|
break;
|
|
2369
2505
|
case "snoozed":
|
|
2370
|
-
o.pauseOn.includes("snoozed") &&
|
|
2506
|
+
o.pauseOn.includes("snoozed") && d(Ae);
|
|
2371
2507
|
break;
|
|
2372
2508
|
case "unsnoozed":
|
|
2373
|
-
m(
|
|
2509
|
+
m(Ae);
|
|
2374
2510
|
break;
|
|
2375
2511
|
case "discarded":
|
|
2376
|
-
c(
|
|
2512
|
+
c(to);
|
|
2377
2513
|
break;
|
|
2378
2514
|
}
|
|
2379
2515
|
return l;
|
|
2380
2516
|
}
|
|
2381
|
-
function
|
|
2517
|
+
function io(e) {
|
|
2382
2518
|
return e.state === "running" || e.state === "paused";
|
|
2383
2519
|
}
|
|
2384
|
-
function
|
|
2385
|
-
const n =
|
|
2386
|
-
return e.state === "paused" ? e.remainingMs : t >= e.dueAt ? -
|
|
2520
|
+
function _e(e, t) {
|
|
2521
|
+
const n = ve(e);
|
|
2522
|
+
return e.state === "paused" ? e.remainingMs : t >= e.dueAt ? -be(e.dueAt, t, n) : be(t, e.dueAt, n);
|
|
2387
2523
|
}
|
|
2388
|
-
function
|
|
2389
|
-
return e.state === "paused" ?
|
|
2524
|
+
function rc(e, t) {
|
|
2525
|
+
return e.state === "paused" ? ke(t, e.remainingMs, ve(e)) : e.dueAt;
|
|
2390
2526
|
}
|
|
2391
|
-
function
|
|
2392
|
-
const n = e.filter(
|
|
2527
|
+
function oc(e, t) {
|
|
2528
|
+
const n = e.filter(io);
|
|
2393
2529
|
if (!n.length) return;
|
|
2394
2530
|
const r = n.filter((i) => i.state === "running");
|
|
2395
2531
|
return (r.length ? r : n).reduce(
|
|
2396
|
-
(i, s) =>
|
|
2532
|
+
(i, s) => _e(s, t) < _e(i, t) ? s : i
|
|
2397
2533
|
);
|
|
2398
2534
|
}
|
|
2399
|
-
function
|
|
2535
|
+
function ic(e, t) {
|
|
2400
2536
|
if (e.state === "missed") return "breached";
|
|
2401
2537
|
if (e.state === "hit") return "met";
|
|
2402
2538
|
if (e.state === "paused") return "paused";
|
|
2403
2539
|
if (e.state === "void") return "met";
|
|
2404
|
-
const n =
|
|
2540
|
+
const n = _e(e, t);
|
|
2405
2541
|
return n <= 0 ? "breached" : n <= e.targetMs / 5 ? "urgent" : "running";
|
|
2406
2542
|
}
|
|
2407
|
-
function
|
|
2543
|
+
function sc(e) {
|
|
2408
2544
|
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
2545
|
return n ? r ? `${n}d ${r}u` : `${n}d` : r ? o ? `${r}u ${o}m` : `${r}u` : o ? `${o}m` : `${t % 60}s`;
|
|
2410
2546
|
}
|
|
2411
|
-
const
|
|
2412
|
-
function
|
|
2413
|
-
return `${
|
|
2547
|
+
const so = "strategy_item";
|
|
2548
|
+
function jt(e) {
|
|
2549
|
+
return `${so}:${e}`;
|
|
2414
2550
|
}
|
|
2415
|
-
function
|
|
2416
|
-
const n = /* @__PURE__ */ new Set([
|
|
2551
|
+
function ac(e, t = 25) {
|
|
2552
|
+
const n = /* @__PURE__ */ new Set([jt(e.id)]);
|
|
2417
2553
|
for (const r of e.ancestorKeys ?? []) n.add(r);
|
|
2418
2554
|
return Array.from(n).slice(0, t);
|
|
2419
2555
|
}
|
|
2420
|
-
function
|
|
2421
|
-
return e ? [...e.ancestorKeys ?? [],
|
|
2556
|
+
function cc(e) {
|
|
2557
|
+
return e ? [...e.ancestorKeys ?? [], jt(e.id)] : [];
|
|
2422
2558
|
}
|
|
2423
|
-
const
|
|
2559
|
+
const ee = [
|
|
2424
2560
|
{ key: "area", label: "level_area", order: 10, measurable: !1, icon: "compass" },
|
|
2425
2561
|
{ key: "objective", label: "level_objective", order: 20, measurable: !0, icon: "target" },
|
|
2426
2562
|
{ key: "key_result", label: "level_key_result", order: 30, measurable: !0, icon: "gauge" }
|
|
2427
|
-
],
|
|
2428
|
-
function
|
|
2563
|
+
], ao = 999, co = 7;
|
|
2564
|
+
function lo(e, t = ee) {
|
|
2429
2565
|
return t.find((n) => n.key === e);
|
|
2430
2566
|
}
|
|
2431
|
-
function Se(e, t =
|
|
2432
|
-
return
|
|
2567
|
+
function Se(e, t = ee) {
|
|
2568
|
+
return lo(e, t)?.order ?? ao;
|
|
2433
2569
|
}
|
|
2434
|
-
function
|
|
2570
|
+
function lc(e, t, n = ee) {
|
|
2435
2571
|
return Se(t, n) <= Se(e, n);
|
|
2436
2572
|
}
|
|
2437
|
-
function
|
|
2573
|
+
function uc(e, t = ee) {
|
|
2438
2574
|
const n = Se(e, t);
|
|
2439
2575
|
return t.filter((o) => o.order > n).sort((o, i) => o.order - i.order)[0]?.key ?? e;
|
|
2440
2576
|
}
|
|
2441
|
-
function
|
|
2577
|
+
function dc(e) {
|
|
2442
2578
|
const t = e.trim().toLowerCase();
|
|
2443
2579
|
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
2580
|
}
|
|
2445
|
-
const
|
|
2581
|
+
const Te = {
|
|
2446
2582
|
pending: "open",
|
|
2447
2583
|
on_track: "open",
|
|
2448
2584
|
at_risk: "open",
|
|
@@ -2451,74 +2587,74 @@ const _e = {
|
|
|
2451
2587
|
achieved: "closed",
|
|
2452
2588
|
missed: "closed"
|
|
2453
2589
|
};
|
|
2454
|
-
function
|
|
2455
|
-
return
|
|
2590
|
+
function fc(e) {
|
|
2591
|
+
return Te[e] ?? "open";
|
|
2456
2592
|
}
|
|
2457
|
-
function
|
|
2458
|
-
return Object.keys(
|
|
2459
|
-
(t) => e.includes(
|
|
2593
|
+
function pc(e) {
|
|
2594
|
+
return Object.keys(Te).filter(
|
|
2595
|
+
(t) => e.includes(Te[t])
|
|
2460
2596
|
);
|
|
2461
2597
|
}
|
|
2462
|
-
const
|
|
2463
|
-
function
|
|
2598
|
+
const uo = 864e5, te = (e) => e <= 0 ? 0 : e > 1 ? 1 : e;
|
|
2599
|
+
function mc(e, t) {
|
|
2464
2600
|
const { direction: n } = e, r = e.startValue ?? 0, o = e.targetValue ?? 0;
|
|
2465
2601
|
if (!Number.isFinite(t)) return 0;
|
|
2466
2602
|
const i = n === "down" ? t <= o : t >= o, s = o - r;
|
|
2467
|
-
return (n === "down" ? s < 0 : s > 0) ?
|
|
2603
|
+
return (n === "down" ? s < 0 : s > 0) ? te((t - r) / s) : i ? 1 : 0;
|
|
2468
2604
|
}
|
|
2469
|
-
function
|
|
2605
|
+
function hc(e, t) {
|
|
2470
2606
|
const { startDate: n, targetDate: r } = e;
|
|
2471
2607
|
if (!(typeof n != "number" || typeof r != "number") && !(r <= n))
|
|
2472
|
-
return
|
|
2608
|
+
return te((t - n) / (r - n));
|
|
2473
2609
|
}
|
|
2474
|
-
const
|
|
2475
|
-
function
|
|
2610
|
+
const fo = 0.1, po = 0.25;
|
|
2611
|
+
function gc(e, t) {
|
|
2476
2612
|
if (typeof e != "number" || typeof t != "number") return;
|
|
2477
2613
|
if (e >= 1) return "achieved";
|
|
2478
2614
|
const n = t - e;
|
|
2479
|
-
return n >=
|
|
2615
|
+
return n >= po ? "off_track" : n >= fo ? "at_risk" : "on_track";
|
|
2480
2616
|
}
|
|
2481
|
-
function
|
|
2617
|
+
function yc(e, t) {
|
|
2482
2618
|
if (t)
|
|
2483
|
-
return
|
|
2619
|
+
return te(e / t);
|
|
2484
2620
|
}
|
|
2485
|
-
function
|
|
2621
|
+
function bc(e) {
|
|
2486
2622
|
const t = e.map((n) => n.progress?.ratio).filter((n) => typeof n == "number" && Number.isFinite(n));
|
|
2487
2623
|
if (t.length)
|
|
2488
|
-
return
|
|
2624
|
+
return te(t.reduce((n, r) => n + r, 0) / t.length);
|
|
2489
2625
|
}
|
|
2490
|
-
function
|
|
2626
|
+
function Ac(e, t) {
|
|
2491
2627
|
const n = e.lastCheckInAt ?? e.createdAt;
|
|
2492
2628
|
if (typeof n != "number") return 0;
|
|
2493
|
-
const r = (e.checkInEveryDays ??
|
|
2629
|
+
const r = (e.checkInEveryDays ?? co) * uo, o = t - n - r;
|
|
2494
2630
|
return o > 0 ? o : 0;
|
|
2495
2631
|
}
|
|
2496
|
-
function
|
|
2632
|
+
function Ec(e) {
|
|
2497
2633
|
return e.targetDate ?? Number.MAX_SAFE_INTEGER;
|
|
2498
2634
|
}
|
|
2499
|
-
function
|
|
2635
|
+
function _c(e, t) {
|
|
2500
2636
|
const n = e.accumulatedSeconds || 0;
|
|
2501
2637
|
return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
|
|
2502
2638
|
}
|
|
2503
|
-
function
|
|
2639
|
+
function Sc(e, t) {
|
|
2504
2640
|
const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
|
|
2505
2641
|
if (!t || t === "exact") return n * 60;
|
|
2506
2642
|
const r = Number(t);
|
|
2507
2643
|
return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
|
|
2508
2644
|
}
|
|
2509
|
-
function
|
|
2645
|
+
function Tc(e) {
|
|
2510
2646
|
const t = Math.max(0, Math.round(e / 60));
|
|
2511
2647
|
return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
|
|
2512
2648
|
}
|
|
2513
|
-
function
|
|
2649
|
+
function wc(e) {
|
|
2514
2650
|
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
2651
|
return o > 0 ? `${o}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
|
|
2516
2652
|
}
|
|
2517
|
-
function
|
|
2653
|
+
function mo(e) {
|
|
2518
2654
|
return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
|
|
2519
2655
|
}
|
|
2520
|
-
function
|
|
2521
|
-
const n =
|
|
2656
|
+
function Ic(e, t) {
|
|
2657
|
+
const n = mo(e) || "werksoort", r = new Set(t);
|
|
2522
2658
|
if (!r.has(n)) return n;
|
|
2523
2659
|
for (let o = 2; o < 500; o++) {
|
|
2524
2660
|
const i = `${n}-${o}`;
|
|
@@ -2526,82 +2662,82 @@ function pc(e, t) {
|
|
|
2526
2662
|
}
|
|
2527
2663
|
return `${n}-${r.size + 1}`;
|
|
2528
2664
|
}
|
|
2529
|
-
function
|
|
2665
|
+
function Mc(e, t) {
|
|
2530
2666
|
const n = e.ownerScope;
|
|
2531
2667
|
return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
|
|
2532
2668
|
}
|
|
2533
|
-
function
|
|
2534
|
-
return e.filter((t) => !t.archived).sort(
|
|
2669
|
+
function kc(e) {
|
|
2670
|
+
return e.filter((t) => !t.archived).sort(ho);
|
|
2535
2671
|
}
|
|
2536
|
-
function
|
|
2672
|
+
function ho(e, t) {
|
|
2537
2673
|
const n = (e.order ?? 0) - (t.order ?? 0);
|
|
2538
2674
|
return n !== 0 ? n : (e.label || "").localeCompare(t.label || "");
|
|
2539
2675
|
}
|
|
2540
|
-
const
|
|
2541
|
-
function
|
|
2676
|
+
const go = 20, yo = 20, ce = 300;
|
|
2677
|
+
function L(e) {
|
|
2542
2678
|
return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
|
|
2543
2679
|
}
|
|
2544
|
-
function
|
|
2680
|
+
function bo(e) {
|
|
2545
2681
|
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) =>
|
|
2682
|
+
if (t.length <= ce) return t;
|
|
2683
|
+
const n = t.slice(0, ce), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
|
|
2684
|
+
return r > ce * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
|
|
2685
|
+
}
|
|
2686
|
+
function vc(e, t) {
|
|
2687
|
+
const n = bo(t.text), r = L(n);
|
|
2688
|
+
if (!r || (e.examples ?? []).some((s) => L(s) === r)) return null;
|
|
2689
|
+
const o = e.exampleCandidates ?? [], i = o.findIndex((s) => L(s.text) === r);
|
|
2554
2690
|
if (i >= 0) {
|
|
2555
2691
|
if (o[i].corrected || !t.corrected) return null;
|
|
2556
2692
|
const s = [...o];
|
|
2557
|
-
return s[i] = { ...s[i], corrected: !0, addedAt: t.addedAt },
|
|
2693
|
+
return s[i] = { ...s[i], corrected: !0, addedAt: t.addedAt }, rt(s);
|
|
2558
2694
|
}
|
|
2559
|
-
return
|
|
2695
|
+
return rt([{ ...t, text: n }, ...o]).slice(0, yo);
|
|
2560
2696
|
}
|
|
2561
|
-
function
|
|
2697
|
+
function rt(e) {
|
|
2562
2698
|
return [...e].sort(
|
|
2563
2699
|
(t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt
|
|
2564
2700
|
);
|
|
2565
2701
|
}
|
|
2566
|
-
function
|
|
2567
|
-
const n =
|
|
2568
|
-
return { examples: r.some((i) =>
|
|
2702
|
+
function Oc(e, t) {
|
|
2703
|
+
const n = L(t), r = (e.examples ?? []).filter((i) => i.trim());
|
|
2704
|
+
return { examples: r.some((i) => L(i) === n) ? r : [...r, t].slice(-go), exampleCandidates: Ao(e, t) };
|
|
2569
2705
|
}
|
|
2570
|
-
function
|
|
2571
|
-
const n =
|
|
2572
|
-
return (e.exampleCandidates ?? []).filter((r) =>
|
|
2706
|
+
function Ao(e, t) {
|
|
2707
|
+
const n = L(t);
|
|
2708
|
+
return (e.exampleCandidates ?? []).filter((r) => L(r.text) !== n);
|
|
2573
2709
|
}
|
|
2574
|
-
function
|
|
2710
|
+
function Eo(e, t) {
|
|
2575
2711
|
const n = e.ownerScope;
|
|
2576
2712
|
return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
|
|
2577
2713
|
}
|
|
2578
|
-
function
|
|
2579
|
-
return e.filter((n) =>
|
|
2714
|
+
function Cc(e, t) {
|
|
2715
|
+
return e.filter((n) => Eo(n, t));
|
|
2580
2716
|
}
|
|
2581
|
-
function
|
|
2717
|
+
function xc(e) {
|
|
2582
2718
|
return e.type === "agent";
|
|
2583
2719
|
}
|
|
2584
|
-
const
|
|
2585
|
-
function
|
|
2720
|
+
const Nc = "WORK_COMMENT_ADDED", Rc = "WORK_ITEM_ASSIGNED", Dc = "WORK_ITEM_STATUS_CHANGED";
|
|
2721
|
+
function _o(e, t) {
|
|
2586
2722
|
const n = (r) => {
|
|
2587
2723
|
const o = new Date(r);
|
|
2588
2724
|
return o.setHours(0, 0, 0, 0), o.getTime();
|
|
2589
2725
|
};
|
|
2590
|
-
return Math.round((n(e) - n(t)) /
|
|
2726
|
+
return Math.round((n(e) - n(t)) / Kn);
|
|
2591
2727
|
}
|
|
2592
|
-
function
|
|
2593
|
-
if (e.closedAt != null) return { score:
|
|
2728
|
+
function $c(e, t) {
|
|
2729
|
+
if (e.closedAt != null) return { score: $, reasons: [] };
|
|
2594
2730
|
const n = t.remindersById?.[e.id];
|
|
2595
|
-
if (n && n.remindAt > t.now) return { score:
|
|
2731
|
+
if (n && n.remindAt > t.now) return { score: $, reasons: [] };
|
|
2596
2732
|
let r = 0;
|
|
2597
2733
|
const o = [], i = e.priority ?? "normal";
|
|
2598
|
-
if (
|
|
2599
|
-
const s =
|
|
2734
|
+
if (J[i] > 0 && (r += J[i], o.push(`priority:${i}`)), typeof e.dueDate == "number") {
|
|
2735
|
+
const s = _o(e.dueDate, t.now);
|
|
2600
2736
|
s < 0 ? (r += 35, o.push("overdue")) : s === 0 && (r += 20, o.push("due-today"));
|
|
2601
2737
|
}
|
|
2602
2738
|
return e.source?.initiator === "system" && e.source.systemReason && (r += 15, o.push(`auto:${e.source.systemReason}`)), { score: r, reasons: o };
|
|
2603
2739
|
}
|
|
2604
|
-
const
|
|
2740
|
+
const Oe = [
|
|
2605
2741
|
{ key: "task", label: "type_task" },
|
|
2606
2742
|
{ key: "bug", label: "type_bug" },
|
|
2607
2743
|
{ key: "story", label: "type_story" },
|
|
@@ -2609,35 +2745,35 @@ const ve = [
|
|
|
2609
2745
|
{ key: "subtask", label: "type_subtask" },
|
|
2610
2746
|
{ key: "case", label: "type_case" },
|
|
2611
2747
|
{ key: "deal", label: "type_deal" }
|
|
2612
|
-
],
|
|
2613
|
-
function
|
|
2614
|
-
return e?.types?.length ? e.types :
|
|
2748
|
+
], Lc = Oe.map((e) => e.key);
|
|
2749
|
+
function Pc(e) {
|
|
2750
|
+
return e?.types?.length ? e.types : Oe;
|
|
2615
2751
|
}
|
|
2616
|
-
function
|
|
2752
|
+
function Uc(e, t) {
|
|
2617
2753
|
return t.find((n) => n.key === e);
|
|
2618
2754
|
}
|
|
2619
|
-
function
|
|
2755
|
+
function Kc(e) {
|
|
2620
2756
|
const t = e.trim().toLowerCase();
|
|
2621
2757
|
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
2758
|
}
|
|
2623
|
-
function
|
|
2624
|
-
return e.map((t) =>
|
|
2759
|
+
function Fc(...e) {
|
|
2760
|
+
return e.map((t) => Oe.find((n) => n.key === t)).filter((t) => !!t);
|
|
2625
2761
|
}
|
|
2626
|
-
const
|
|
2627
|
-
function
|
|
2628
|
-
return `${
|
|
2762
|
+
const So = "work_item", To = "work_project", wo = "work_activity", Bc = "work_cycle";
|
|
2763
|
+
function Io(e) {
|
|
2764
|
+
return `${So}:${e}`;
|
|
2629
2765
|
}
|
|
2630
|
-
function
|
|
2631
|
-
return `${
|
|
2766
|
+
function Wt(e) {
|
|
2767
|
+
return `${To}:${e}`;
|
|
2632
2768
|
}
|
|
2633
|
-
function
|
|
2634
|
-
return `${
|
|
2769
|
+
function Hc(e) {
|
|
2770
|
+
return `${wo}:${e}`;
|
|
2635
2771
|
}
|
|
2636
|
-
function
|
|
2772
|
+
function jc(e, t, n) {
|
|
2637
2773
|
const r = `${e}-${t}`;
|
|
2638
2774
|
return n ? `${r}-${n}` : r;
|
|
2639
2775
|
}
|
|
2640
|
-
function
|
|
2776
|
+
function Wc(e) {
|
|
2641
2777
|
const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
|
|
2642
2778
|
return t ? {
|
|
2643
2779
|
projectKey: t[1].toUpperCase(),
|
|
@@ -2645,52 +2781,52 @@ function xc(e) {
|
|
|
2645
2781
|
...t[3] ? { subSequence: Number(t[3]) } : {}
|
|
2646
2782
|
} : null;
|
|
2647
2783
|
}
|
|
2648
|
-
function
|
|
2784
|
+
function Gc(e) {
|
|
2649
2785
|
return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
|
|
2650
2786
|
}
|
|
2651
|
-
function
|
|
2652
|
-
const n = /* @__PURE__ */ new Set([
|
|
2653
|
-
e.projectId && n.add(
|
|
2787
|
+
function Vc(e, t = 25) {
|
|
2788
|
+
const n = /* @__PURE__ */ new Set([Io(e.id)]);
|
|
2789
|
+
e.projectId && n.add(Wt(e.projectId));
|
|
2654
2790
|
for (const r of e.ancestorKeys ?? []) n.add(r);
|
|
2655
2791
|
for (const r of e.partyKeys ?? []) n.add(r);
|
|
2656
2792
|
return Array.from(n).slice(0, t);
|
|
2657
2793
|
}
|
|
2658
|
-
function
|
|
2659
|
-
return [
|
|
2794
|
+
function zc(e) {
|
|
2795
|
+
return [Wt(e.id)];
|
|
2660
2796
|
}
|
|
2661
|
-
const
|
|
2797
|
+
const Ce = [
|
|
2662
2798
|
{ key: "open", label: "status_open", category: "todo", order: 0 },
|
|
2663
2799
|
{ key: "in_progress", label: "status_in_progress", category: "in_progress", order: 1 },
|
|
2664
2800
|
{ key: "done", label: "status_done", category: "done", order: 2 },
|
|
2665
2801
|
{ key: "cancelled", label: "status_cancelled", category: "done", order: 3 }
|
|
2666
|
-
],
|
|
2667
|
-
function
|
|
2668
|
-
return e?.statuses?.length ? e.statuses :
|
|
2802
|
+
], Gt = Ce.map((e) => e.key);
|
|
2803
|
+
function Mo(e) {
|
|
2804
|
+
return e?.statuses?.length ? e.statuses : Ce;
|
|
2669
2805
|
}
|
|
2670
|
-
function
|
|
2806
|
+
function ko(e, t) {
|
|
2671
2807
|
return t.find((n) => n.key === e)?.category ?? "todo";
|
|
2672
2808
|
}
|
|
2673
|
-
function
|
|
2809
|
+
function Xc(e, t) {
|
|
2674
2810
|
return t.find((n) => n.key === e);
|
|
2675
2811
|
}
|
|
2676
|
-
function
|
|
2677
|
-
const t =
|
|
2678
|
-
return n && t.some((r) => r.key === n) ? n :
|
|
2812
|
+
function Yc(e) {
|
|
2813
|
+
const t = Mo(e), n = e?.defaultStatusKey;
|
|
2814
|
+
return n && t.some((r) => r.key === n) ? n : vo(t)[0]?.key ?? Ce[0].key;
|
|
2679
2815
|
}
|
|
2680
|
-
function
|
|
2816
|
+
function vo(e) {
|
|
2681
2817
|
return [...e].sort((t, n) => {
|
|
2682
2818
|
const r = (t.order ?? 0) - (n.order ?? 0);
|
|
2683
2819
|
return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
|
|
2684
2820
|
});
|
|
2685
2821
|
}
|
|
2686
|
-
function
|
|
2687
|
-
return
|
|
2822
|
+
function qc(e, t) {
|
|
2823
|
+
return ko(e, t) === "done";
|
|
2688
2824
|
}
|
|
2689
|
-
function
|
|
2825
|
+
function Oo(e) {
|
|
2690
2826
|
return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
|
|
2691
2827
|
}
|
|
2692
|
-
function
|
|
2693
|
-
const n =
|
|
2828
|
+
function Jc(e, t) {
|
|
2829
|
+
const n = Oo(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Gt]);
|
|
2694
2830
|
if (!r.has(n)) return n;
|
|
2695
2831
|
for (let o = 2; o < 500; o++) {
|
|
2696
2832
|
const i = `${n}-${o}`;
|
|
@@ -2698,7 +2834,7 @@ function Kc(e, t) {
|
|
|
2698
2834
|
}
|
|
2699
2835
|
return `${n}-${r.size + 1}`;
|
|
2700
2836
|
}
|
|
2701
|
-
function
|
|
2837
|
+
function Zc(e) {
|
|
2702
2838
|
const t = [];
|
|
2703
2839
|
if (!e.length) return [{ index: -1, reason: "empty" }];
|
|
2704
2840
|
const n = /* @__PURE__ */ new Set();
|
|
@@ -2707,16 +2843,16 @@ function Fc(e) {
|
|
|
2707
2843
|
t.push({ index: o, reason: "missing_key" });
|
|
2708
2844
|
return;
|
|
2709
2845
|
}
|
|
2710
|
-
|
|
2846
|
+
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
2847
|
}), 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
2848
|
}
|
|
2713
|
-
function
|
|
2849
|
+
function Qc(e) {
|
|
2714
2850
|
return e.startDate ?? Number.MAX_SAFE_INTEGER;
|
|
2715
2851
|
}
|
|
2716
|
-
function
|
|
2852
|
+
function el(e) {
|
|
2717
2853
|
return e.completedAt ? "completed" : e.startedAt ? "active" : "planned";
|
|
2718
2854
|
}
|
|
2719
|
-
const
|
|
2855
|
+
const Co = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), xo = /* @__PURE__ */ new Set([
|
|
2720
2856
|
"text/plain",
|
|
2721
2857
|
"text/markdown",
|
|
2722
2858
|
"text/csv",
|
|
@@ -2725,67 +2861,67 @@ const So = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
|
|
|
2725
2861
|
"application/xml",
|
|
2726
2862
|
"text/xml"
|
|
2727
2863
|
]);
|
|
2728
|
-
function
|
|
2864
|
+
function No(e) {
|
|
2729
2865
|
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
|
|
2866
|
+
return t ? Co.has(t) ? "image" : t === "application/pdf" ? "pdf" : xo.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
|
|
2867
|
+
}
|
|
2868
|
+
const K = 1024 * 1024, Ro = {
|
|
2869
|
+
image: 5 * K,
|
|
2870
|
+
pdf: 20 * K,
|
|
2871
|
+
text: 1 * K,
|
|
2872
|
+
audio: 20 * K
|
|
2873
|
+
}, tl = 25 * K, nl = 5;
|
|
2874
|
+
function rl(e, t) {
|
|
2875
|
+
const n = No(e);
|
|
2876
|
+
return n === "unsupported" ? "unsupported" : t > Ro[n] ? "too-large" : null;
|
|
2877
|
+
}
|
|
2878
|
+
function ol(e) {
|
|
2743
2879
|
return e.access !== "read" && e.effect !== "internal";
|
|
2744
2880
|
}
|
|
2745
|
-
function
|
|
2881
|
+
function Do(e) {
|
|
2746
2882
|
return `${e.kind}:${e.id || e.url || e.title}`;
|
|
2747
2883
|
}
|
|
2748
|
-
function
|
|
2884
|
+
function il(e, t = []) {
|
|
2749
2885
|
const n = new Set(t), r = [], o = [];
|
|
2750
2886
|
for (const i of e) {
|
|
2751
|
-
const s =
|
|
2887
|
+
const s = Do(i);
|
|
2752
2888
|
n.has(s) || (n.add(s), r.push(i), o.push(s));
|
|
2753
2889
|
}
|
|
2754
2890
|
return { sources: r, keys: o };
|
|
2755
2891
|
}
|
|
2756
|
-
const
|
|
2757
|
-
function
|
|
2892
|
+
const sl = "assist-source", al = ["blocking", "due", "open"];
|
|
2893
|
+
function cl(e, t) {
|
|
2758
2894
|
const [n, r] = (e.subjectKey ?? "").split(":");
|
|
2759
2895
|
return n === t && r ? r : void 0;
|
|
2760
2896
|
}
|
|
2761
|
-
const
|
|
2762
|
-
function
|
|
2763
|
-
return
|
|
2897
|
+
const ot = { blocking: 0, due: 1, open: 2 };
|
|
2898
|
+
function ll(e, t) {
|
|
2899
|
+
return ot[e.band ?? "open"] - ot[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
|
|
2764
2900
|
}
|
|
2765
|
-
function
|
|
2901
|
+
function ul(e) {
|
|
2766
2902
|
return e.sessions.filter(
|
|
2767
2903
|
(t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
|
|
2768
2904
|
);
|
|
2769
2905
|
}
|
|
2770
|
-
function
|
|
2906
|
+
function dl(e) {
|
|
2771
2907
|
return e.sessions.filter(
|
|
2772
2908
|
(t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
|
|
2773
2909
|
);
|
|
2774
2910
|
}
|
|
2775
|
-
function
|
|
2911
|
+
function fl(e) {
|
|
2776
2912
|
return e.sessions.some(
|
|
2777
2913
|
(n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
|
|
2778
2914
|
) ? { admit: !1, reason: "busy" } : { admit: !0 };
|
|
2779
2915
|
}
|
|
2780
|
-
function
|
|
2781
|
-
const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((s) => !n.has(s.intent)).map((s) =>
|
|
2916
|
+
function $o(e, t) {
|
|
2917
|
+
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
2918
|
if (!e.extraIntents || e.extraIntents.length === 0) return o;
|
|
2783
2919
|
const i = new Set(o.map((s) => s.intent));
|
|
2784
2920
|
for (const s of e.extraIntents)
|
|
2785
2921
|
i.has(s.intent) || (o.push(s), i.add(s.intent));
|
|
2786
2922
|
return o;
|
|
2787
2923
|
}
|
|
2788
|
-
function
|
|
2924
|
+
function Lo(e, t) {
|
|
2789
2925
|
const n = {};
|
|
2790
2926
|
for (const r of e.intents) {
|
|
2791
2927
|
if (!r.togglable) continue;
|
|
@@ -2794,46 +2930,46 @@ function ko(e, t) {
|
|
|
2794
2930
|
}
|
|
2795
2931
|
return n;
|
|
2796
2932
|
}
|
|
2797
|
-
function
|
|
2798
|
-
const n =
|
|
2933
|
+
function pl(e, t) {
|
|
2934
|
+
const n = Lo(e, t);
|
|
2799
2935
|
return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
|
|
2800
2936
|
}
|
|
2801
|
-
function
|
|
2937
|
+
function Po(e, t) {
|
|
2802
2938
|
return t ? {
|
|
2803
2939
|
intent: t.intent ?? e.intent,
|
|
2804
2940
|
targetSchemes: t.targetSchemes ?? e.targetSchemes,
|
|
2805
2941
|
transport: t.transport ?? e.transport
|
|
2806
2942
|
} : e;
|
|
2807
2943
|
}
|
|
2808
|
-
function
|
|
2944
|
+
function ml(e, t) {
|
|
2809
2945
|
const n = [];
|
|
2810
2946
|
for (const r of e) {
|
|
2811
2947
|
if (!r.enabled) continue;
|
|
2812
2948
|
const o = t[r.providerId];
|
|
2813
2949
|
if (o)
|
|
2814
|
-
for (const i of
|
|
2950
|
+
for (const i of $o(r, o))
|
|
2815
2951
|
n.push({ channel: r, description: o, capability: i });
|
|
2816
2952
|
}
|
|
2817
2953
|
return n;
|
|
2818
2954
|
}
|
|
2819
|
-
function
|
|
2955
|
+
function hl(e, t) {
|
|
2820
2956
|
return t.filter((n) => n.capability.intent === e);
|
|
2821
2957
|
}
|
|
2822
|
-
function
|
|
2958
|
+
function Uo(e, t) {
|
|
2823
2959
|
return t.filter((n) => n.capability.targetSchemes.includes(e));
|
|
2824
2960
|
}
|
|
2825
|
-
function
|
|
2826
|
-
return
|
|
2961
|
+
function gl(e, t) {
|
|
2962
|
+
return Uo(e.scheme, t);
|
|
2827
2963
|
}
|
|
2828
|
-
function
|
|
2964
|
+
function yl(e, t, n) {
|
|
2829
2965
|
const r = [];
|
|
2830
2966
|
for (const o of e)
|
|
2831
2967
|
for (const i of n)
|
|
2832
2968
|
i.capability.intent === t && i.capability.targetSchemes.includes(o.scheme) && r.push({ channelIntent: i, endpoint: o });
|
|
2833
2969
|
return r;
|
|
2834
2970
|
}
|
|
2835
|
-
var
|
|
2836
|
-
const
|
|
2971
|
+
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 || {});
|
|
2972
|
+
const Fo = {
|
|
2837
2973
|
mailto: "mail",
|
|
2838
2974
|
sip: "tel",
|
|
2839
2975
|
tel: "tel",
|
|
@@ -2854,10 +2990,10 @@ const No = {
|
|
|
2854
2990
|
id: "note",
|
|
2855
2991
|
custom: "note"
|
|
2856
2992
|
};
|
|
2857
|
-
function
|
|
2858
|
-
return e ?
|
|
2993
|
+
function bl(e) {
|
|
2994
|
+
return e ? Fo[e] ?? "note" : "note";
|
|
2859
2995
|
}
|
|
2860
|
-
const
|
|
2996
|
+
const Al = "message_window", El = "message_templates", _l = {
|
|
2861
2997
|
// E-mail
|
|
2862
2998
|
FROM: "from",
|
|
2863
2999
|
TO: "to",
|
|
@@ -2874,11 +3010,11 @@ const al = "message_window", cl = "message_templates", ll = {
|
|
|
2874
3010
|
// Voice/conference
|
|
2875
3011
|
HOST: "host",
|
|
2876
3012
|
PARTICIPANT: "participant"
|
|
2877
|
-
},
|
|
3013
|
+
}, Sl = (e, t) => ({ intent: e, ...t }), Tl = "folder_management", wl = "remote_search", Il = "message_reactions", Ml = {
|
|
2878
3014
|
ok: !1,
|
|
2879
3015
|
code: "UNSUPPORTED",
|
|
2880
3016
|
message: "Provider does not support this op"
|
|
2881
|
-
},
|
|
3017
|
+
}, 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
3018
|
function y(e, t, n, r, o, i) {
|
|
2883
3019
|
return {
|
|
2884
3020
|
op: e,
|
|
@@ -2889,22 +3025,22 @@ function y(e, t, n, r, o, i) {
|
|
|
2889
3025
|
visible: i.visible
|
|
2890
3026
|
};
|
|
2891
3027
|
}
|
|
2892
|
-
const
|
|
3028
|
+
const F = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, st = { undoable: !1, visible: !0 }, Z = { undoable: !1, visible: !1 }, Bo = [
|
|
2893
3029
|
y(
|
|
2894
3030
|
"pdf.goToPage",
|
|
2895
3031
|
["pdf"],
|
|
2896
3032
|
"Scroll the viewer to a page.",
|
|
2897
3033
|
{ page: b("1-based page number.") },
|
|
2898
3034
|
["page"],
|
|
2899
|
-
|
|
3035
|
+
F
|
|
2900
3036
|
),
|
|
2901
3037
|
y(
|
|
2902
3038
|
"pdf.search",
|
|
2903
3039
|
["pdf"],
|
|
2904
3040
|
"Search the document and highlight the matches, as the find bar does.",
|
|
2905
|
-
{ query: A("Text to find."), next:
|
|
3041
|
+
{ query: A("Text to find."), next: Y("Jump to the next match instead of the first.") },
|
|
2906
3042
|
["query"],
|
|
2907
|
-
|
|
3043
|
+
F
|
|
2908
3044
|
),
|
|
2909
3045
|
y(
|
|
2910
3046
|
"pdf.setTool",
|
|
@@ -2918,7 +3054,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
2918
3054
|
}
|
|
2919
3055
|
},
|
|
2920
3056
|
["tool"],
|
|
2921
|
-
|
|
3057
|
+
F
|
|
2922
3058
|
),
|
|
2923
3059
|
y(
|
|
2924
3060
|
"pdf.fillField",
|
|
@@ -2932,7 +3068,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
2932
3068
|
}
|
|
2933
3069
|
},
|
|
2934
3070
|
["field", "value"],
|
|
2935
|
-
|
|
3071
|
+
S
|
|
2936
3072
|
),
|
|
2937
3073
|
y(
|
|
2938
3074
|
"pdf.reorderPages",
|
|
@@ -2946,7 +3082,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
2946
3082
|
}
|
|
2947
3083
|
},
|
|
2948
3084
|
["order"],
|
|
2949
|
-
|
|
3085
|
+
st
|
|
2950
3086
|
),
|
|
2951
3087
|
y(
|
|
2952
3088
|
"pdf.deletePages",
|
|
@@ -2954,7 +3090,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
2954
3090
|
"Remove pages, keeping the rest in order.",
|
|
2955
3091
|
{ pages: { type: "array", items: { type: "number" }, description: "1-based page numbers." } },
|
|
2956
3092
|
["pages"],
|
|
2957
|
-
|
|
3093
|
+
st
|
|
2958
3094
|
),
|
|
2959
3095
|
y(
|
|
2960
3096
|
"pdf.addNote",
|
|
@@ -2970,7 +3106,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
2970
3106
|
fontSize: b("Font size in points. Omit for 12.")
|
|
2971
3107
|
},
|
|
2972
3108
|
["page", "text", "left", "top"],
|
|
2973
|
-
|
|
3109
|
+
Z
|
|
2974
3110
|
),
|
|
2975
3111
|
y(
|
|
2976
3112
|
"pdf.highlightText",
|
|
@@ -2982,9 +3118,9 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
2982
3118
|
occurrence: b("Which occurrence on that page, 1-based. Omit for the first.")
|
|
2983
3119
|
},
|
|
2984
3120
|
["page", "text"],
|
|
2985
|
-
|
|
3121
|
+
Z
|
|
2986
3122
|
)
|
|
2987
|
-
],
|
|
3123
|
+
], Ho = [
|
|
2988
3124
|
y(
|
|
2989
3125
|
"sheet.setValues",
|
|
2990
3126
|
["sheet"],
|
|
@@ -2999,7 +3135,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
2999
3135
|
}
|
|
3000
3136
|
},
|
|
3001
3137
|
["range", "values"],
|
|
3002
|
-
|
|
3138
|
+
S
|
|
3003
3139
|
),
|
|
3004
3140
|
y(
|
|
3005
3141
|
"sheet.setFormula",
|
|
@@ -3007,7 +3143,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3007
3143
|
"Put a formula in every cell of a range.",
|
|
3008
3144
|
{ sheet: v, range: A("A1 notation."), formula: A("Including the leading `=`.") },
|
|
3009
3145
|
["range", "formula"],
|
|
3010
|
-
|
|
3146
|
+
S
|
|
3011
3147
|
),
|
|
3012
3148
|
y(
|
|
3013
3149
|
"sheet.setStyle",
|
|
@@ -3016,8 +3152,8 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3016
3152
|
{
|
|
3017
3153
|
sheet: v,
|
|
3018
3154
|
range: A("A1 notation."),
|
|
3019
|
-
bold:
|
|
3020
|
-
italic:
|
|
3155
|
+
bold: Y("Bold on or off."),
|
|
3156
|
+
italic: Y("Italic on or off."),
|
|
3021
3157
|
fontSize: b("Point size."),
|
|
3022
3158
|
fontColor: A("CSS colour, e.g. `#b91c1c`."),
|
|
3023
3159
|
background: A("CSS colour for the cell fill."),
|
|
@@ -3029,7 +3165,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3029
3165
|
numberFormat: A("Number format pattern, e.g. `#,##0.00` or `0%`.")
|
|
3030
3166
|
},
|
|
3031
3167
|
["range"],
|
|
3032
|
-
|
|
3168
|
+
S
|
|
3033
3169
|
),
|
|
3034
3170
|
y(
|
|
3035
3171
|
"sheet.insertRows",
|
|
@@ -3041,7 +3177,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3041
3177
|
count: b("How many. Omit for 1.")
|
|
3042
3178
|
},
|
|
3043
3179
|
["at"],
|
|
3044
|
-
|
|
3180
|
+
S
|
|
3045
3181
|
),
|
|
3046
3182
|
y(
|
|
3047
3183
|
"sheet.deleteRows",
|
|
@@ -3049,7 +3185,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3049
3185
|
"Delete rows, pulling the rest up.",
|
|
3050
3186
|
{ sheet: v, at: b("1-based first row to delete."), count: b("How many. Omit for 1.") },
|
|
3051
3187
|
["at"],
|
|
3052
|
-
|
|
3188
|
+
S
|
|
3053
3189
|
),
|
|
3054
3190
|
y(
|
|
3055
3191
|
"sheet.insertColumns",
|
|
@@ -3061,7 +3197,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3061
3197
|
count: b("How many. Omit for 1.")
|
|
3062
3198
|
},
|
|
3063
3199
|
["at"],
|
|
3064
|
-
|
|
3200
|
+
S
|
|
3065
3201
|
),
|
|
3066
3202
|
y(
|
|
3067
3203
|
"sheet.deleteColumns",
|
|
@@ -3073,7 +3209,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3073
3209
|
count: b("How many. Omit for 1.")
|
|
3074
3210
|
},
|
|
3075
3211
|
["at"],
|
|
3076
|
-
|
|
3212
|
+
S
|
|
3077
3213
|
),
|
|
3078
3214
|
y(
|
|
3079
3215
|
"sheet.merge",
|
|
@@ -3081,7 +3217,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3081
3217
|
"Merge a range into one cell.",
|
|
3082
3218
|
{ sheet: v, range: A("A1 notation.") },
|
|
3083
3219
|
["range"],
|
|
3084
|
-
|
|
3220
|
+
S
|
|
3085
3221
|
),
|
|
3086
3222
|
y(
|
|
3087
3223
|
"sheet.unmerge",
|
|
@@ -3089,7 +3225,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3089
3225
|
"Break merged cells in a range apart.",
|
|
3090
3226
|
{ sheet: v, range: A("A1 notation.") },
|
|
3091
3227
|
["range"],
|
|
3092
|
-
|
|
3228
|
+
S
|
|
3093
3229
|
),
|
|
3094
3230
|
y(
|
|
3095
3231
|
"sheet.sort",
|
|
@@ -3099,10 +3235,10 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3099
3235
|
sheet: v,
|
|
3100
3236
|
range: A("A1 notation covering the rows to sort, header excluded."),
|
|
3101
3237
|
column: b("1-based column *within the range*, not within the sheet."),
|
|
3102
|
-
ascending:
|
|
3238
|
+
ascending: Y("Ascending. Omit for ascending.")
|
|
3103
3239
|
},
|
|
3104
3240
|
["range", "column"],
|
|
3105
|
-
|
|
3241
|
+
S
|
|
3106
3242
|
),
|
|
3107
3243
|
y(
|
|
3108
3244
|
"sheet.insertSheet",
|
|
@@ -3110,7 +3246,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3110
3246
|
"Add a new sheet.",
|
|
3111
3247
|
{ name: A("Name for the new sheet.") },
|
|
3112
3248
|
["name"],
|
|
3113
|
-
|
|
3249
|
+
S
|
|
3114
3250
|
),
|
|
3115
3251
|
y(
|
|
3116
3252
|
"sheet.renameSheet",
|
|
@@ -3118,7 +3254,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3118
3254
|
"Rename a sheet.",
|
|
3119
3255
|
{ sheet: A("Current name."), name: A("New name.") },
|
|
3120
3256
|
["sheet", "name"],
|
|
3121
|
-
|
|
3257
|
+
S
|
|
3122
3258
|
),
|
|
3123
3259
|
y(
|
|
3124
3260
|
"sheet.deleteSheet",
|
|
@@ -3126,7 +3262,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3126
3262
|
"Remove a sheet and everything on it.",
|
|
3127
3263
|
{ sheet: A("Name of the sheet to delete.") },
|
|
3128
3264
|
["sheet"],
|
|
3129
|
-
|
|
3265
|
+
S
|
|
3130
3266
|
),
|
|
3131
3267
|
y(
|
|
3132
3268
|
"sheet.activate",
|
|
@@ -3134,9 +3270,9 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3134
3270
|
"Show the user a sheet and select a range on it.",
|
|
3135
3271
|
{ sheet: v, range: A("A1 notation to select. Omit to only switch sheets.") },
|
|
3136
3272
|
[],
|
|
3137
|
-
|
|
3273
|
+
F
|
|
3138
3274
|
)
|
|
3139
|
-
],
|
|
3275
|
+
], jo = [
|
|
3140
3276
|
y(
|
|
3141
3277
|
"word.replaceParagraph",
|
|
3142
3278
|
["word"],
|
|
@@ -3146,7 +3282,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3146
3282
|
text: A("The new text for that paragraph. A newline starts a further paragraph.")
|
|
3147
3283
|
},
|
|
3148
3284
|
["at", "text"],
|
|
3149
|
-
|
|
3285
|
+
S
|
|
3150
3286
|
),
|
|
3151
3287
|
y(
|
|
3152
3288
|
"word.replaceRange",
|
|
@@ -3158,7 +3294,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3158
3294
|
text: A("The replacement text. A newline starts a new paragraph.")
|
|
3159
3295
|
},
|
|
3160
3296
|
["start", "end", "text"],
|
|
3161
|
-
|
|
3297
|
+
S
|
|
3162
3298
|
),
|
|
3163
3299
|
y(
|
|
3164
3300
|
"word.insertText",
|
|
@@ -3169,7 +3305,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3169
3305
|
text: A("The text to insert.")
|
|
3170
3306
|
},
|
|
3171
3307
|
["index", "text"],
|
|
3172
|
-
|
|
3308
|
+
S
|
|
3173
3309
|
),
|
|
3174
3310
|
y(
|
|
3175
3311
|
"word.appendText",
|
|
@@ -3177,7 +3313,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3177
3313
|
"Add text at the end of the document.",
|
|
3178
3314
|
{ text: A("The text to append.") },
|
|
3179
3315
|
["text"],
|
|
3180
|
-
|
|
3316
|
+
S
|
|
3181
3317
|
),
|
|
3182
3318
|
y(
|
|
3183
3319
|
"word.insertParagraph",
|
|
@@ -3188,7 +3324,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3188
3324
|
index: b("Character offset to insert at. Omit for the end of the document.")
|
|
3189
3325
|
},
|
|
3190
3326
|
[],
|
|
3191
|
-
|
|
3327
|
+
S
|
|
3192
3328
|
),
|
|
3193
3329
|
y(
|
|
3194
3330
|
"word.setSelection",
|
|
@@ -3196,27 +3332,27 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3196
3332
|
"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
3333
|
{ start: b("Start character offset."), end: b("End character offset. Omit for a caret.") },
|
|
3198
3334
|
["start"],
|
|
3199
|
-
|
|
3335
|
+
F
|
|
3200
3336
|
)
|
|
3201
|
-
],
|
|
3337
|
+
], Wo = [
|
|
3202
3338
|
y(
|
|
3203
3339
|
"slides.setText",
|
|
3204
3340
|
["slides"],
|
|
3205
3341
|
"Replace the text of one shape. Written on save; not visible before that, and not undoable.",
|
|
3206
3342
|
{
|
|
3207
|
-
slide:
|
|
3343
|
+
slide: it,
|
|
3208
3344
|
element: A("Element id, as `inspect` reports it."),
|
|
3209
3345
|
text: A("The new text.")
|
|
3210
3346
|
},
|
|
3211
3347
|
["slide", "element", "text"],
|
|
3212
|
-
|
|
3348
|
+
Z
|
|
3213
3349
|
),
|
|
3214
3350
|
y(
|
|
3215
3351
|
"slides.setTransform",
|
|
3216
3352
|
["slides"],
|
|
3217
3353
|
"Move or resize one shape. Only the values you pass change. Written on save; not visible before that, and not undoable.",
|
|
3218
3354
|
{
|
|
3219
|
-
slide:
|
|
3355
|
+
slide: it,
|
|
3220
3356
|
element: A("Element id."),
|
|
3221
3357
|
left: b("Distance from the left edge, in pixels."),
|
|
3222
3358
|
top: b("Distance from the top edge, in pixels."),
|
|
@@ -3224,36 +3360,125 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
|
|
|
3224
3360
|
height: b("Height in pixels.")
|
|
3225
3361
|
},
|
|
3226
3362
|
["slide", "element"],
|
|
3227
|
-
|
|
3363
|
+
Z
|
|
3228
3364
|
)
|
|
3229
|
-
],
|
|
3230
|
-
...
|
|
3231
|
-
...
|
|
3232
|
-
...
|
|
3233
|
-
|
|
3365
|
+
], Vt = [
|
|
3366
|
+
...Bo,
|
|
3367
|
+
...Ho,
|
|
3368
|
+
...jo,
|
|
3369
|
+
...Wo
|
|
3234
3370
|
];
|
|
3235
|
-
function
|
|
3236
|
-
return
|
|
3371
|
+
function Ol(e) {
|
|
3372
|
+
return Vt.filter((t) => t.kinds.includes(e));
|
|
3373
|
+
}
|
|
3374
|
+
function Cl(e) {
|
|
3375
|
+
return Vt.find((t) => t.op === e);
|
|
3376
|
+
}
|
|
3377
|
+
const at = /(?: {2,}|\\)$/, Go = /^\*\*([^*]+)\*\*\s+(.*)$/;
|
|
3378
|
+
function ct(e) {
|
|
3379
|
+
const t = Go.exec(e);
|
|
3380
|
+
return t ? { lead: t[1], text: t[2] } : { text: e };
|
|
3381
|
+
}
|
|
3382
|
+
function xl(e) {
|
|
3383
|
+
const t = (e ?? "").replace(/\r\n/g, `
|
|
3384
|
+
`).split(`
|
|
3385
|
+
`), n = [];
|
|
3386
|
+
let r = null;
|
|
3387
|
+
const o = () => {
|
|
3388
|
+
r && n.push({ type: "list", style: r.style, items: r.items }), r = null;
|
|
3389
|
+
}, i = (d, m) => {
|
|
3390
|
+
r && r.style !== d && o(), r ? r.items.push(ct(m)) : r = { style: d, items: [ct(m)] };
|
|
3391
|
+
};
|
|
3392
|
+
let s = [], a = [];
|
|
3393
|
+
const l = () => {
|
|
3394
|
+
if (s.length) {
|
|
3395
|
+
const d = s.join("").trim();
|
|
3396
|
+
d && n.push({ type: "paragraph", text: d }), s = [];
|
|
3397
|
+
}
|
|
3398
|
+
}, u = () => {
|
|
3399
|
+
a.length && (n.push({ type: "quote", text: a.join(`
|
|
3400
|
+
`) }), a = []);
|
|
3401
|
+
}, f = () => {
|
|
3402
|
+
l(), u(), o();
|
|
3403
|
+
};
|
|
3404
|
+
let c = 0;
|
|
3405
|
+
for (; c < t.length; ) {
|
|
3406
|
+
const d = t[c] ?? "", m = d.match(/^```(\w*)\s*$/);
|
|
3407
|
+
if (m) {
|
|
3408
|
+
f();
|
|
3409
|
+
const h = [];
|
|
3410
|
+
for (c++; c < t.length && !/^```\s*$/.test(t[c] ?? ""); )
|
|
3411
|
+
h.push(t[c] ?? ""), c++;
|
|
3412
|
+
c++, n.push({ type: "code", ...m[1] ? { lang: m[1] } : {}, text: h.join(`
|
|
3413
|
+
`) });
|
|
3414
|
+
continue;
|
|
3415
|
+
}
|
|
3416
|
+
const E = d.match(/^(#{1,3})\s+(.*)$/);
|
|
3417
|
+
if (E) {
|
|
3418
|
+
f(), n.push({
|
|
3419
|
+
type: "heading",
|
|
3420
|
+
level: E[1].length,
|
|
3421
|
+
text: E[2].trim()
|
|
3422
|
+
}), c++;
|
|
3423
|
+
continue;
|
|
3424
|
+
}
|
|
3425
|
+
const g = d.match(/^!\[([^\]]*)\]\(([^)\s]+)\)\s*$/);
|
|
3426
|
+
if (g) {
|
|
3427
|
+
f(), n.push({
|
|
3428
|
+
type: "image",
|
|
3429
|
+
url: g[2],
|
|
3430
|
+
...g[1] ? { alt: g[1] } : {}
|
|
3431
|
+
}), c++;
|
|
3432
|
+
continue;
|
|
3433
|
+
}
|
|
3434
|
+
if (/^\s*[-*]\s+/.test(d)) {
|
|
3435
|
+
l(), u(), i("bulleted", d.replace(/^\s*[-*]\s+/, "")), c++;
|
|
3436
|
+
continue;
|
|
3437
|
+
}
|
|
3438
|
+
if (/^\s*\d+\.\s+/.test(d)) {
|
|
3439
|
+
l(), u(), i("numbered", d.replace(/^\s*\d+\.\s+/, "")), c++;
|
|
3440
|
+
continue;
|
|
3441
|
+
}
|
|
3442
|
+
if (/^\s*(-{3,}|\*{3,}|_{3,})\s*$/.test(d)) {
|
|
3443
|
+
f(), n.push({ type: "divider" }), c++;
|
|
3444
|
+
continue;
|
|
3445
|
+
}
|
|
3446
|
+
if (/^>\s?/.test(d)) {
|
|
3447
|
+
l(), o(), a.push(d.replace(/^>\s?/, "")), c++;
|
|
3448
|
+
continue;
|
|
3449
|
+
}
|
|
3450
|
+
if (d.trim() === "") {
|
|
3451
|
+
f(), c++;
|
|
3452
|
+
continue;
|
|
3453
|
+
}
|
|
3454
|
+
u(), o();
|
|
3455
|
+
const T = at.test(d);
|
|
3456
|
+
s.push(d.replace(at, "").trim() + (T ? `
|
|
3457
|
+
` : " ")), c++;
|
|
3458
|
+
}
|
|
3459
|
+
return f(), n;
|
|
3237
3460
|
}
|
|
3238
|
-
function
|
|
3239
|
-
return
|
|
3461
|
+
function Nl(e, t) {
|
|
3462
|
+
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, `
|
|
3463
|
+
|
|
3464
|
+
`).trim();
|
|
3240
3465
|
}
|
|
3241
|
-
const
|
|
3242
|
-
function
|
|
3466
|
+
const Rl = "documents.describe", Dl = "documents.inspect", $l = "documents.apply";
|
|
3467
|
+
function Ll(e) {
|
|
3243
3468
|
const t = e.indexOf(":");
|
|
3244
3469
|
if (t !== -1) return e.slice(0, t);
|
|
3245
3470
|
const n = e.indexOf(".");
|
|
3246
3471
|
return n === -1 ? e : e.slice(0, n);
|
|
3247
3472
|
}
|
|
3248
|
-
const
|
|
3249
|
-
function
|
|
3473
|
+
const Pl = "installation-id";
|
|
3474
|
+
function Ul(e) {
|
|
3250
3475
|
const t = [];
|
|
3251
3476
|
for (const n of Object.keys(e))
|
|
3252
3477
|
for (const r of Object.keys(e[n]))
|
|
3253
3478
|
t.push({ lang: n, key: r, value: e[n][r] });
|
|
3254
3479
|
return t;
|
|
3255
3480
|
}
|
|
3256
|
-
const
|
|
3481
|
+
const Kl = "notification-source", Fl = (e, t) => `${e}.pref.${t}`, Bl = {
|
|
3257
3482
|
ai: [
|
|
3258
3483
|
"account.read",
|
|
3259
3484
|
"account.write",
|
|
@@ -3388,48 +3613,48 @@ const wl = "notification-source", Ml = (e, t) => `${e}.pref.${t}`, kl = {
|
|
|
3388
3613
|
time: ["entry.read", "entry.write", "work-type.read", "work-type.write"],
|
|
3389
3614
|
user: ["user.read", "user.write"],
|
|
3390
3615
|
work: ["item.read", "item.write", "project.read", "project.write"]
|
|
3391
|
-
},
|
|
3392
|
-
function
|
|
3393
|
-
const r = n - e <
|
|
3616
|
+
}, zt = 9e4, Vo = ["out_of_office"], Xt = (e) => Vo.includes(e);
|
|
3617
|
+
function Hl(e, t, n) {
|
|
3618
|
+
const r = n - e < zt, o = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
|
|
3394
3619
|
if (!o?.status) return { online: r, status: r ? "available" : "offline" };
|
|
3395
3620
|
const i = o.status;
|
|
3396
|
-
return !r && !
|
|
3621
|
+
return !r && !Xt(i) ? { online: !1, status: "offline" } : { online: r, status: i, message: o.message };
|
|
3397
3622
|
}
|
|
3398
|
-
function
|
|
3399
|
-
const n = t - e.lastSeenAt <
|
|
3623
|
+
function jl(e, t) {
|
|
3624
|
+
const n = t - e.lastSeenAt < zt, r = n || Xt(e.status) ? e.status : "offline";
|
|
3400
3625
|
return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
|
|
3401
3626
|
}
|
|
3402
|
-
function
|
|
3627
|
+
function Wl(e, t) {
|
|
3403
3628
|
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
3629
|
}
|
|
3405
|
-
function
|
|
3630
|
+
function Gl(e) {
|
|
3406
3631
|
return e.providerAvailable && e.allowed;
|
|
3407
3632
|
}
|
|
3408
|
-
const
|
|
3409
|
-
function
|
|
3633
|
+
const Vl = "resources.describe", zl = "resources.search", Xl = "resources.resolve", Yl = "resources.attached";
|
|
3634
|
+
function ql(e) {
|
|
3410
3635
|
const t = e.indexOf(":");
|
|
3411
3636
|
return t === -1 ? e : e.slice(0, t);
|
|
3412
3637
|
}
|
|
3413
|
-
const
|
|
3414
|
-
function
|
|
3638
|
+
const Jl = "/provider/scope/related", Zl = "/provider/scope/read", Yt = "auth";
|
|
3639
|
+
function qt(e) {
|
|
3415
3640
|
const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
|
|
3416
3641
|
return t ? t[1] : null;
|
|
3417
3642
|
}
|
|
3418
|
-
function
|
|
3419
|
-
const t =
|
|
3420
|
-
return t ? t !==
|
|
3643
|
+
function Ql(e) {
|
|
3644
|
+
const t = qt(e);
|
|
3645
|
+
return t ? t !== Yt : typeof e == "string" && e.startsWith("/wake");
|
|
3421
3646
|
}
|
|
3422
|
-
function
|
|
3423
|
-
return typeof e != "string" || e === "" || e === "/" ? !0 :
|
|
3647
|
+
function eu(e) {
|
|
3648
|
+
return typeof e != "string" || e === "" || e === "/" ? !0 : qt(e) === Yt;
|
|
3424
3649
|
}
|
|
3425
|
-
function
|
|
3650
|
+
function zo(e) {
|
|
3426
3651
|
return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
3427
3652
|
}
|
|
3428
|
-
function
|
|
3429
|
-
const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${
|
|
3653
|
+
function Xo(e) {
|
|
3654
|
+
const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${zo(r)}`).join("");
|
|
3430
3655
|
return new RegExp(`^${n}\\/?$`);
|
|
3431
3656
|
}
|
|
3432
|
-
function
|
|
3657
|
+
function Yo(e, t) {
|
|
3433
3658
|
const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean), o = {};
|
|
3434
3659
|
return n.forEach((i, s) => {
|
|
3435
3660
|
if (i.startsWith(":")) {
|
|
@@ -3438,14 +3663,14 @@ function Ko(e, t) {
|
|
|
3438
3663
|
}
|
|
3439
3664
|
}), o;
|
|
3440
3665
|
}
|
|
3441
|
-
function
|
|
3666
|
+
function qo(e) {
|
|
3442
3667
|
return e.publicBasePath ?? `/apps/${e.name}`;
|
|
3443
3668
|
}
|
|
3444
|
-
function
|
|
3669
|
+
function tu(e) {
|
|
3445
3670
|
const t = [];
|
|
3446
3671
|
for (const n of e) {
|
|
3447
3672
|
if (!n?.name) continue;
|
|
3448
|
-
const r =
|
|
3673
|
+
const r = qo(n);
|
|
3449
3674
|
for (const o of n.routes ?? []) {
|
|
3450
3675
|
if (!o.public) continue;
|
|
3451
3676
|
const i = o.path === "/" ? "" : o.path;
|
|
@@ -3459,7 +3684,7 @@ function Bl(e) {
|
|
|
3459
3684
|
}
|
|
3460
3685
|
return t;
|
|
3461
3686
|
}
|
|
3462
|
-
function
|
|
3687
|
+
function Jo(e, t) {
|
|
3463
3688
|
const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean);
|
|
3464
3689
|
for (let o = 0; o < Math.min(n.length, r.length); o++) {
|
|
3465
3690
|
const i = n[o].startsWith(":"), s = r[o].startsWith(":");
|
|
@@ -3467,17 +3692,17 @@ function Bo(e, t) {
|
|
|
3467
3692
|
}
|
|
3468
3693
|
return n.length > r.length;
|
|
3469
3694
|
}
|
|
3470
|
-
function
|
|
3695
|
+
function Zo(e, t) {
|
|
3471
3696
|
if (typeof e != "string") return null;
|
|
3472
3697
|
let n = null;
|
|
3473
3698
|
for (const r of t)
|
|
3474
|
-
|
|
3475
|
-
return n ? { ...n, params: { ...n.props, ...
|
|
3699
|
+
Xo(r.pattern).test(e) && (!n || Jo(r.pattern, n.pattern)) && (n = r);
|
|
3700
|
+
return n ? { ...n, params: { ...n.props, ...Yo(n.pattern, e) } } : null;
|
|
3476
3701
|
}
|
|
3477
|
-
function
|
|
3478
|
-
return
|
|
3702
|
+
function nu(e, t) {
|
|
3703
|
+
return Zo(e, t) !== null;
|
|
3479
3704
|
}
|
|
3480
|
-
const
|
|
3705
|
+
const ru = 10 * 1024 * 1024, ou = 25 * 1024 * 1024, iu = "sync-target", su = 20, Qo = {
|
|
3481
3706
|
afrikaans: [
|
|
3482
3707
|
"[Muziek]",
|
|
3483
3708
|
"(C) TV GELDERLAND 2021",
|
|
@@ -3627,14 +3852,14 @@ const jl = 10 * 1024 * 1024, Wl = 25 * 1024 * 1024, Gl = "sync-target", Vl = 20,
|
|
|
3627
3852
|
"[MÚSICA]",
|
|
3628
3853
|
"[Music cuts in British]"
|
|
3629
3854
|
]
|
|
3630
|
-
},
|
|
3855
|
+
}, ei = (e) => {
|
|
3631
3856
|
let t = e;
|
|
3632
|
-
return Object.values(
|
|
3857
|
+
return Object.values(Qo).forEach((n) => {
|
|
3633
3858
|
n.forEach((r) => {
|
|
3634
3859
|
t = t.replaceAll(r, "");
|
|
3635
3860
|
});
|
|
3636
3861
|
}), t = t.replace(/\(.*?\)/g, ""), t = t.replace(/\[.*?\]/g, ""), t;
|
|
3637
|
-
},
|
|
3862
|
+
}, ti = 6e4, ni = 8e3, ri = 2, oi = 0.4, ii = 3, si = /* @__PURE__ */ new Set([
|
|
3638
3863
|
"aan",
|
|
3639
3864
|
"als",
|
|
3640
3865
|
"ben",
|
|
@@ -3747,13 +3972,13 @@ const jl = 10 * 1024 * 1024, Wl = 25 * 1024 * 1024, Gl = "sync-target", Vl = 20,
|
|
|
3747
3972
|
"you",
|
|
3748
3973
|
"your"
|
|
3749
3974
|
]);
|
|
3750
|
-
function
|
|
3975
|
+
function ai(e) {
|
|
3751
3976
|
const t = /* @__PURE__ */ new Set();
|
|
3752
3977
|
for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
|
|
3753
|
-
n.length <
|
|
3978
|
+
n.length < ii || si.has(n) || t.add(n);
|
|
3754
3979
|
return [...t];
|
|
3755
3980
|
}
|
|
3756
|
-
function
|
|
3981
|
+
function ci(e, t) {
|
|
3757
3982
|
if (!e.length) return 0;
|
|
3758
3983
|
if (!t.length) return 1;
|
|
3759
3984
|
const n = new Set(t), r = new Set(e);
|
|
@@ -3761,38 +3986,38 @@ function Zo(e, t) {
|
|
|
3761
3986
|
for (const i of r) n.has(i) || (o += 1);
|
|
3762
3987
|
return o / r.size;
|
|
3763
3988
|
}
|
|
3764
|
-
function
|
|
3989
|
+
function li(e, t = ti) {
|
|
3765
3990
|
const n = e.filter((s) => !s.partial && typeof s.text == "string");
|
|
3766
3991
|
if (!n.length) return { text: "", segmentCount: 0 };
|
|
3767
3992
|
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) =>
|
|
3993
|
+
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
3994
|
}
|
|
3770
|
-
const
|
|
3771
|
-
function
|
|
3995
|
+
const ui = 60;
|
|
3996
|
+
function au(e, t, n = ui) {
|
|
3772
3997
|
const r = new Set(e), o = [...e];
|
|
3773
3998
|
for (const i of t)
|
|
3774
3999
|
!i || r.has(i) || (r.add(i), o.push(i));
|
|
3775
4000
|
return o.slice(-n);
|
|
3776
4001
|
}
|
|
3777
|
-
function
|
|
4002
|
+
function cu(e) {
|
|
3778
4003
|
const { segments: t, now: n, state: r } = e;
|
|
3779
|
-
if (r.lastTriggerAt && n - r.lastTriggerAt <
|
|
4004
|
+
if (r.lastTriggerAt && n - r.lastTriggerAt < ni)
|
|
3780
4005
|
return { trigger: !1, reason: "too_soon" };
|
|
3781
|
-
const o =
|
|
4006
|
+
const o = li(t, e.windowMs);
|
|
3782
4007
|
if (!o.text) return { trigger: !1, reason: "no_speech" };
|
|
3783
4008
|
const i = o.segmentCount - (r.lastSegmentCount ?? 0);
|
|
3784
|
-
if (r.lastQueryTerms && i <
|
|
4009
|
+
if (r.lastQueryTerms && i < ri)
|
|
3785
4010
|
return { trigger: !1, reason: "too_few_new" };
|
|
3786
|
-
const s =
|
|
3787
|
-
return s.length ? r.lastQueryTerms?.length &&
|
|
4011
|
+
const s = ai(o.text);
|
|
4012
|
+
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
4013
|
}
|
|
3789
|
-
const
|
|
4014
|
+
const lu = [
|
|
3790
4015
|
"personal",
|
|
3791
4016
|
"workspace",
|
|
3792
4017
|
"connections",
|
|
3793
4018
|
"work",
|
|
3794
4019
|
"ai"
|
|
3795
|
-
],
|
|
4020
|
+
], uu = "navNotice", xe = {
|
|
3796
4021
|
// The lower bounds are deliberately generous: service ranges (0800/0900) are
|
|
3797
4022
|
// shorter than geographic numbers, and a too-strict minimum silently drops them.
|
|
3798
4023
|
// An over-permissive key is harmless — it simply matches nothing.
|
|
@@ -3815,81 +4040,81 @@ const Yl = [
|
|
|
3815
4040
|
PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
|
|
3816
4041
|
US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
|
|
3817
4042
|
CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
|
|
3818
|
-
},
|
|
3819
|
-
new Set(Object.values(
|
|
4043
|
+
}, di = "NL", fi = 15, pi = 8, mi = Array.from(
|
|
4044
|
+
new Set(Object.values(xe).map((e) => e.callingCode))
|
|
3820
4045
|
).sort((e, t) => t.length - e.length);
|
|
3821
|
-
function
|
|
4046
|
+
function lt(e) {
|
|
3822
4047
|
if (e)
|
|
3823
|
-
return
|
|
4048
|
+
return xe[e.trim().toUpperCase()];
|
|
3824
4049
|
}
|
|
3825
|
-
function
|
|
4050
|
+
function q(e, t) {
|
|
3826
4051
|
return e.length >= t.nsnMin && e.length <= t.nsnMax;
|
|
3827
4052
|
}
|
|
3828
|
-
function
|
|
3829
|
-
if (e.length >
|
|
3830
|
-
for (const t of
|
|
4053
|
+
function ut(e) {
|
|
4054
|
+
if (e.length > fi) return null;
|
|
4055
|
+
for (const t of mi) {
|
|
3831
4056
|
if (!e.startsWith(t)) continue;
|
|
3832
4057
|
const n = e.slice(t.length);
|
|
3833
|
-
for (const r of Object.values(
|
|
4058
|
+
for (const r of Object.values(xe)) {
|
|
3834
4059
|
if (r.callingCode !== t) continue;
|
|
3835
4060
|
const o = r.trunkPrefix, i = o && n.startsWith(o) ? n.slice(o.length) : n;
|
|
3836
|
-
if (
|
|
4061
|
+
if (q(i, r)) return `+${t}${i}`;
|
|
3837
4062
|
}
|
|
3838
4063
|
return null;
|
|
3839
4064
|
}
|
|
3840
|
-
return e.length <
|
|
4065
|
+
return e.length < pi ? null : `+${e}`;
|
|
3841
4066
|
}
|
|
3842
|
-
function
|
|
4067
|
+
function hi(e) {
|
|
3843
4068
|
let t = e.trim();
|
|
3844
4069
|
const n = t.match(/^(sips?|tel|whatsapp):/i);
|
|
3845
4070
|
n && (t = t.slice(n[0].length));
|
|
3846
4071
|
const r = t.indexOf("@");
|
|
3847
4072
|
return r >= 0 && (t = t.slice(0, r)), t.trim();
|
|
3848
4073
|
}
|
|
3849
|
-
function
|
|
4074
|
+
function du(e) {
|
|
3850
4075
|
if (!e) return !1;
|
|
3851
4076
|
const t = e.indexOf("@");
|
|
3852
4077
|
if (t <= 0) return !1;
|
|
3853
4078
|
const n = e.slice(0, t).trim();
|
|
3854
4079
|
return !/^[+\d\s().-]+$/.test(n);
|
|
3855
4080
|
}
|
|
3856
|
-
function
|
|
4081
|
+
function dt(e, t) {
|
|
3857
4082
|
if (!e) return null;
|
|
3858
|
-
const n =
|
|
4083
|
+
const n = hi(e);
|
|
3859
4084
|
if (!n) return null;
|
|
3860
4085
|
const r = n.startsWith("+"), o = n.replace(/\D/g, "");
|
|
3861
4086
|
if (!o) return null;
|
|
3862
|
-
if (r) return
|
|
3863
|
-
if (o.startsWith("00")) return
|
|
3864
|
-
const i =
|
|
4087
|
+
if (r) return ut(o);
|
|
4088
|
+
if (o.startsWith("00")) return ut(o.slice(2));
|
|
4089
|
+
const i = lt(t) ?? lt(di);
|
|
3865
4090
|
if (!i) return null;
|
|
3866
4091
|
const s = i.trunkPrefix;
|
|
3867
4092
|
if (s && o.startsWith(s)) {
|
|
3868
4093
|
const a = o.slice(s.length);
|
|
3869
|
-
return
|
|
4094
|
+
return q(a, i) ? `+${i.callingCode}${a}` : null;
|
|
3870
4095
|
}
|
|
3871
4096
|
if (o.startsWith(i.callingCode)) {
|
|
3872
4097
|
const a = o.slice(i.callingCode.length);
|
|
3873
|
-
if (
|
|
4098
|
+
if (q(a, i)) return `+${i.callingCode}${a}`;
|
|
3874
4099
|
}
|
|
3875
|
-
return !s &&
|
|
4100
|
+
return !s && q(o, i) ? `+${i.callingCode}${o}` : null;
|
|
3876
4101
|
}
|
|
3877
|
-
function
|
|
4102
|
+
function fu(e, t = 9) {
|
|
3878
4103
|
const n = (e ?? "").replace(/\D/g, "");
|
|
3879
4104
|
return n.length < t ? null : n.slice(-t);
|
|
3880
4105
|
}
|
|
3881
|
-
function
|
|
4106
|
+
function Jt(e) {
|
|
3882
4107
|
if (!e) return null;
|
|
3883
4108
|
const t = e.trim().toLowerCase(), n = t.lastIndexOf("@");
|
|
3884
4109
|
if (n <= 0 || n === t.length - 1) return null;
|
|
3885
4110
|
const r = t.slice(0, n).split("+")[0], o = t.slice(n + 1);
|
|
3886
4111
|
return !r || !o.includes(".") ? null : `${r}@${o}`;
|
|
3887
4112
|
}
|
|
3888
|
-
function
|
|
3889
|
-
const t =
|
|
4113
|
+
function pu(e) {
|
|
4114
|
+
const t = Jt(e);
|
|
3890
4115
|
return t ? t.slice(t.lastIndexOf("@") + 1) : null;
|
|
3891
4116
|
}
|
|
3892
|
-
const
|
|
4117
|
+
const gi = /* @__PURE__ */ new Set([
|
|
3893
4118
|
"co.uk",
|
|
3894
4119
|
"org.uk",
|
|
3895
4120
|
"gov.uk",
|
|
@@ -3899,14 +4124,14 @@ const si = /* @__PURE__ */ new Set([
|
|
|
3899
4124
|
"com.br",
|
|
3900
4125
|
"co.za"
|
|
3901
4126
|
]);
|
|
3902
|
-
function
|
|
4127
|
+
function yi(e) {
|
|
3903
4128
|
if (!e) return null;
|
|
3904
4129
|
const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
|
|
3905
4130
|
if (t.length < 2) return null;
|
|
3906
4131
|
const n = t.slice(-2).join(".");
|
|
3907
|
-
return
|
|
4132
|
+
return gi.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
|
|
3908
4133
|
}
|
|
3909
|
-
const
|
|
4134
|
+
const bi = /* @__PURE__ */ new Set([
|
|
3910
4135
|
"gmail.com",
|
|
3911
4136
|
"googlemail.com",
|
|
3912
4137
|
"outlook.com",
|
|
@@ -3951,34 +4176,34 @@ const ci = /* @__PURE__ */ new Set([
|
|
|
3951
4176
|
"proximus.be",
|
|
3952
4177
|
"scarlet.be"
|
|
3953
4178
|
]);
|
|
3954
|
-
function
|
|
3955
|
-
const t =
|
|
3956
|
-
return t ?
|
|
4179
|
+
function mu(e) {
|
|
4180
|
+
const t = yi(e);
|
|
4181
|
+
return t ? bi.has(t) : !1;
|
|
3957
4182
|
}
|
|
3958
|
-
function
|
|
4183
|
+
function hu(e) {
|
|
3959
4184
|
if (!e) return !1;
|
|
3960
4185
|
const t = e.trim().toLowerCase();
|
|
3961
4186
|
return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
|
|
3962
4187
|
}
|
|
3963
|
-
function
|
|
4188
|
+
function gu(e, t, n) {
|
|
3964
4189
|
if (!e || !t) return null;
|
|
3965
4190
|
const r = e.trim().toLowerCase();
|
|
3966
4191
|
if (r === "tel" || r === "sms" || r === "whatsapp") {
|
|
3967
|
-
const i =
|
|
4192
|
+
const i = dt(t, n);
|
|
3968
4193
|
return i ? `tel:${i}` : null;
|
|
3969
4194
|
}
|
|
3970
4195
|
if (r === "fax") {
|
|
3971
|
-
const i =
|
|
4196
|
+
const i = dt(t, n);
|
|
3972
4197
|
return i ? `fax:${i}` : null;
|
|
3973
4198
|
}
|
|
3974
4199
|
if (r === "mailto" || r === "email") {
|
|
3975
|
-
const i =
|
|
4200
|
+
const i = Jt(t);
|
|
3976
4201
|
return i ? `mailto:${i}` : null;
|
|
3977
4202
|
}
|
|
3978
4203
|
const o = t.trim().toLowerCase();
|
|
3979
4204
|
return o ? `${r}:${o}` : null;
|
|
3980
4205
|
}
|
|
3981
|
-
const
|
|
4206
|
+
const Ai = [
|
|
3982
4207
|
/<blockquote/i,
|
|
3983
4208
|
/class="?gmail_quote/i,
|
|
3984
4209
|
// Gmail quote container
|
|
@@ -3991,72 +4216,72 @@ const li = [
|
|
|
3991
4216
|
// Outlook underscore separator before "From:"
|
|
3992
4217
|
/\bOn\b[\s\S]{0,200}?\bwrote:/i
|
|
3993
4218
|
// Gmail "On <date> <name> wrote:"
|
|
3994
|
-
],
|
|
3995
|
-
function
|
|
4219
|
+
], 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;
|
|
4220
|
+
function _i(e) {
|
|
3996
4221
|
const t = e.split(`
|
|
3997
4222
|
`);
|
|
3998
4223
|
for (let n = 0; n < t.length; n++)
|
|
3999
|
-
if (
|
|
4224
|
+
if (Ei.test(t[n]) || ft.test(t[n]) && t.slice(n + 1, n + 4).some((r) => ft.test(r)))
|
|
4000
4225
|
return t.slice(0, n).join(`
|
|
4001
4226
|
`).trim();
|
|
4002
4227
|
return e;
|
|
4003
4228
|
}
|
|
4004
|
-
const
|
|
4005
|
-
function
|
|
4229
|
+
const Si = /^(?:https?:|mailto:|tel:)/i, Ti = /^(?:https?:|cid:|data:image\/)/i;
|
|
4230
|
+
function le(e, t) {
|
|
4006
4231
|
const n = e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`, "i"));
|
|
4007
4232
|
return (n?.[1] ?? n?.[2] ?? n?.[3] ?? "").trim();
|
|
4008
4233
|
}
|
|
4009
|
-
const
|
|
4010
|
-
function
|
|
4011
|
-
return e.replace(/\s+/g, " ").trim().split(
|
|
4234
|
+
const wi = /(!\[[^\]]*\]\([^)]*\))/;
|
|
4235
|
+
function pt(e) {
|
|
4236
|
+
return e.replace(/\s+/g, " ").trim().split(wi).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
|
|
4012
4237
|
}
|
|
4013
|
-
function
|
|
4238
|
+
function ue(e) {
|
|
4014
4239
|
return e.replace(
|
|
4015
4240
|
/[()\s<>"]/g,
|
|
4016
4241
|
(t) => `%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2, "0")}`
|
|
4017
4242
|
);
|
|
4018
4243
|
}
|
|
4019
|
-
function
|
|
4244
|
+
function Ii(e) {
|
|
4020
4245
|
return e.replace(/<img\b([^>]*?)\/?>/gi, (n, r) => {
|
|
4021
|
-
const o =
|
|
4022
|
-
return
|
|
4246
|
+
const o = le(r, "src");
|
|
4247
|
+
return Ti.test(o) ? `})` : "";
|
|
4023
4248
|
}).replace(
|
|
4024
4249
|
/<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,
|
|
4025
4250
|
(n, r, o) => {
|
|
4026
|
-
const i =
|
|
4027
|
-
return
|
|
4251
|
+
const i = pt(o.replace(/<[^>]*>/g, "")), s = le(r, "href");
|
|
4252
|
+
return Si.test(s) ? `[${i || ue(s)}](${ue(s)})` : i;
|
|
4028
4253
|
}
|
|
4029
4254
|
);
|
|
4030
4255
|
}
|
|
4031
|
-
const
|
|
4032
|
-
function
|
|
4256
|
+
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;
|
|
4257
|
+
function Oi(e, t) {
|
|
4033
4258
|
return /<table\b/i.test(e) || e.includes(`
|
|
4034
4259
|
|
|
4035
4260
|
|`) || t.includes("![") || t.length > 200;
|
|
4036
4261
|
}
|
|
4037
|
-
const
|
|
4038
|
-
function
|
|
4262
|
+
const Ci = 40, xi = { left: "---", center: ":---:", right: "---:" };
|
|
4263
|
+
function Ni(e) {
|
|
4039
4264
|
const t = e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);
|
|
4040
4265
|
return t ? t[1].toLowerCase() : "left";
|
|
4041
4266
|
}
|
|
4042
|
-
function
|
|
4267
|
+
function Ri(e) {
|
|
4043
4268
|
return e.replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().replace(/\|/g, "\\|");
|
|
4044
4269
|
}
|
|
4045
|
-
function
|
|
4270
|
+
function Di(e) {
|
|
4046
4271
|
const t = [];
|
|
4047
|
-
for (const s of e.matchAll(
|
|
4272
|
+
for (const s of e.matchAll(ki)) {
|
|
4048
4273
|
const a = [];
|
|
4049
|
-
for (const l of s[1].matchAll(
|
|
4050
|
-
const u =
|
|
4051
|
-
if (
|
|
4052
|
-
a.push({ text: u, align:
|
|
4274
|
+
for (const l of s[1].matchAll(vi)) {
|
|
4275
|
+
const u = Ri(l[3]);
|
|
4276
|
+
if (Oi(l[3], u)) return null;
|
|
4277
|
+
a.push({ text: u, align: Ni(l[2]) });
|
|
4053
4278
|
}
|
|
4054
4279
|
if (a.length === 0) return null;
|
|
4055
4280
|
a.some((l) => l.text !== "") && t.push(a);
|
|
4056
4281
|
}
|
|
4057
4282
|
const n = t[0]?.length ?? 0;
|
|
4058
4283
|
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) =>
|
|
4284
|
+
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
4285
|
`);
|
|
4061
4286
|
return `
|
|
4062
4287
|
|
|
@@ -4066,36 +4291,36 @@ ${i}
|
|
|
4066
4291
|
|
|
4067
4292
|
`;
|
|
4068
4293
|
}
|
|
4069
|
-
function
|
|
4294
|
+
function $i(e) {
|
|
4070
4295
|
return e.replace(/<\/(t[dh])\s*>/gi, " ").replace(/<\/tr\s*>/gi, `
|
|
4071
4296
|
`).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi, "").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi, "");
|
|
4072
4297
|
}
|
|
4073
|
-
function
|
|
4298
|
+
function Li(e) {
|
|
4074
4299
|
let t = e;
|
|
4075
|
-
for (let n = 0; n <
|
|
4076
|
-
const r =
|
|
4300
|
+
for (let n = 0; n < Ci; n++) {
|
|
4301
|
+
const r = Mi.exec(t);
|
|
4077
4302
|
if (!r || r.index === void 0) break;
|
|
4078
|
-
const i =
|
|
4303
|
+
const i = Di(r[1]) ?? `
|
|
4079
4304
|
|
|
4080
|
-
${
|
|
4305
|
+
${$i(r[1])}
|
|
4081
4306
|
|
|
4082
4307
|
`;
|
|
4083
4308
|
t = t.slice(0, r.index) + i + t.slice(r.index + r[0].length);
|
|
4084
4309
|
}
|
|
4085
4310
|
return t;
|
|
4086
4311
|
}
|
|
4087
|
-
function
|
|
4312
|
+
function mt(e, t) {
|
|
4088
4313
|
let n = e;
|
|
4089
4314
|
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 =
|
|
4315
|
+
`), t && (n = Li(Ii(n))), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
|
|
4091
4316
|
|
|
4092
4317
|
`), n = n.replace(/<\/(div|li|tr)>/gi, `
|
|
4093
4318
|
`), n = n.replace(/<\/(td|th)>/gi, " "), n = n.replace(/<[^>]+>/g, ""), n = n.replace(/<[^>]*$/, ""), n;
|
|
4094
4319
|
}
|
|
4095
|
-
function
|
|
4320
|
+
function ht(e) {
|
|
4096
4321
|
return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
|
|
4097
4322
|
}
|
|
4098
|
-
const
|
|
4323
|
+
const Pi = {
|
|
4099
4324
|
euro: "€",
|
|
4100
4325
|
pound: "£",
|
|
4101
4326
|
yen: "¥",
|
|
@@ -4117,471 +4342,480 @@ const ki = {
|
|
|
4117
4342
|
rdquo: "”",
|
|
4118
4343
|
apos: "'"
|
|
4119
4344
|
};
|
|
4120
|
-
function
|
|
4121
|
-
return e.replace(/ /gi, " ").replace(/&([a-z]+);/gi, (t, n) =>
|
|
4345
|
+
function gt(e) {
|
|
4346
|
+
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
4347
|
}
|
|
4123
|
-
function
|
|
4348
|
+
function yt(e) {
|
|
4124
4349
|
return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
|
|
4125
4350
|
`).replace(/\n{3,}/g, `
|
|
4126
4351
|
|
|
4127
4352
|
`).trim();
|
|
4128
4353
|
}
|
|
4129
|
-
const
|
|
4130
|
-
function
|
|
4131
|
-
return
|
|
4354
|
+
const Ui = /<\s*(html|body|div|p|table|br|span)\b/i;
|
|
4355
|
+
function yu(e) {
|
|
4356
|
+
return Ui.test(e);
|
|
4132
4357
|
}
|
|
4133
|
-
function
|
|
4134
|
-
return
|
|
4358
|
+
function bu(e) {
|
|
4359
|
+
return Zt(e, !1);
|
|
4135
4360
|
}
|
|
4136
|
-
function
|
|
4137
|
-
return
|
|
4361
|
+
function Au(e) {
|
|
4362
|
+
return Zt(e, !0);
|
|
4138
4363
|
}
|
|
4139
|
-
function
|
|
4364
|
+
function Zt(e, t) {
|
|
4140
4365
|
if (typeof e != "string" || !e) return "";
|
|
4141
4366
|
let n = e.length;
|
|
4142
|
-
for (const s of
|
|
4367
|
+
for (const s of Ai) {
|
|
4143
4368
|
const a = e.search(s);
|
|
4144
4369
|
a >= 0 && a < n && (n = a);
|
|
4145
4370
|
}
|
|
4146
4371
|
const r = e.slice(0, n);
|
|
4147
|
-
let o =
|
|
4148
|
-
return o || (o =
|
|
4372
|
+
let o = yt(gt(mt(r, t)));
|
|
4373
|
+
return o || (o = yt(gt(mt(e, t)))), _i(o) || o;
|
|
4149
4374
|
}
|
|
4150
4375
|
export {
|
|
4151
|
-
|
|
4376
|
+
ks as ACTIVE_ASSIGNMENT_STATUSES,
|
|
4152
4377
|
R as ACTIVITY_CATALOG,
|
|
4153
|
-
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
|
|
4157
|
-
|
|
4158
|
-
|
|
4159
|
-
|
|
4160
|
-
|
|
4378
|
+
Ro as AI_ATTACHMENT_LIMITS,
|
|
4379
|
+
nl as AI_ATTACHMENT_MAX_PER_TURN,
|
|
4380
|
+
tl as AI_ATTACHMENT_TURN_BUDGET,
|
|
4381
|
+
Et as AI_VENDORS,
|
|
4382
|
+
_n as ALLOWED_LINK_SCHEMES,
|
|
4383
|
+
Bl as APP_PERMISSIONS,
|
|
4384
|
+
Fe as ARTIFACT_MAX_BLOCKS,
|
|
4385
|
+
Es as ARTIFACT_MAX_BODY_BYTES,
|
|
4161
4386
|
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
|
-
|
|
4387
|
+
We as ARTIFACT_MAX_KPI_ITEMS,
|
|
4388
|
+
Be as ARTIFACT_MAX_LIST_ITEMS,
|
|
4389
|
+
je as ARTIFACT_MAX_TABLE_COLUMNS,
|
|
4390
|
+
He as ARTIFACT_MAX_TABLE_ROWS,
|
|
4391
|
+
St as ARTIFACT_MAX_TEXT_LEN,
|
|
4392
|
+
xn as ASSIGNMENT_SCOPE_KIND,
|
|
4393
|
+
al as ASSIST_BANDS,
|
|
4394
|
+
sl as ASSIST_SOURCE_PROVIDER_GROUP,
|
|
4395
|
+
Xn as ATTENTION_STATUSES,
|
|
4396
|
+
fo as AT_RISK_GAP,
|
|
4397
|
+
Yt as AUTH_APP_NAME,
|
|
4398
|
+
Vr as AUTO_READY_MIN_PROPOSALS,
|
|
4399
|
+
zr as AUTO_READY_RATE,
|
|
4400
|
+
un as ActivityTypeRegistry,
|
|
4401
|
+
ns as BUILT_IN_ONLY,
|
|
4402
|
+
Yn as BULK_PENALTY,
|
|
4403
|
+
ni as CADENCE_FLOOR_MS,
|
|
4404
|
+
ri as CADENCE_MIN_NEW_SEGMENTS,
|
|
4405
|
+
oi as CADENCE_MIN_NOVELTY,
|
|
4406
|
+
ti as CADENCE_WINDOW_MS,
|
|
4407
|
+
Fa as CLASSIFY_VARS,
|
|
4408
|
+
kl as CONNECTOR_PROVIDER_GROUP,
|
|
4409
|
+
vl as CONTEXT_COLLECT_SERVICE,
|
|
4410
|
+
ms as CORE_DIMENSIONS,
|
|
4411
|
+
Ko as CommunicationScheme,
|
|
4412
|
+
Kn as DAY_MS,
|
|
4413
|
+
co as DEFAULT_CHECK_IN_DAYS,
|
|
4414
|
+
Ir as DEFAULT_FORECAST_WEEKS,
|
|
4415
|
+
fa as DEFAULT_MEMORY_BUDGET,
|
|
4416
|
+
di as DEFAULT_PHONE_REGION,
|
|
4417
|
+
_a as DEMAND_SOURCE_PROVIDER_GROUP,
|
|
4418
|
+
$l as DOCUMENT_APPLY_SERVICE,
|
|
4419
|
+
Rl as DOCUMENT_DESCRIBE_SERVICE,
|
|
4420
|
+
Dl as DOCUMENT_INSPECT_SERVICE,
|
|
4421
|
+
Fe as DOCUMENT_MAX_BLOCKS,
|
|
4422
|
+
Es as DOCUMENT_MAX_BODY_BYTES,
|
|
4198
4423
|
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
|
-
Ae as
|
|
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
|
-
Wi as
|
|
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
|
-
|
|
4424
|
+
We as DOCUMENT_MAX_KPI_ITEMS,
|
|
4425
|
+
Ge as DOCUMENT_MAX_LETTERHEAD_FIELDS,
|
|
4426
|
+
Be as DOCUMENT_MAX_LIST_ITEMS,
|
|
4427
|
+
An as DOCUMENT_MAX_RECIPIENT_LINES,
|
|
4428
|
+
je as DOCUMENT_MAX_TABLE_COLUMNS,
|
|
4429
|
+
He as DOCUMENT_MAX_TABLE_ROWS,
|
|
4430
|
+
St as DOCUMENT_MAX_TEXT_LEN,
|
|
4431
|
+
Ve as DOCUMENT_MAX_TOTALS_ROWS,
|
|
4432
|
+
Vt as DOCUMENT_OPERATIONS,
|
|
4433
|
+
Ha as EMPTY_WORKFLOW,
|
|
4434
|
+
Tl as FEATURE_FOLDER_MANAGEMENT,
|
|
4435
|
+
Il as FEATURE_MESSAGE_REACTIONS,
|
|
4436
|
+
wl as FEATURE_REMOTE_SEARCH,
|
|
4437
|
+
Me as FIXED_KINDS,
|
|
4438
|
+
ee as FIXED_LEVELS,
|
|
4439
|
+
Oe as FIXED_TYPES,
|
|
4440
|
+
Jn as FOLLOW_UP_HOURS,
|
|
4441
|
+
Un as HOUR_MS,
|
|
4442
|
+
Ui as HTML_BODY_RE,
|
|
4443
|
+
$ as INELIGIBLE,
|
|
4444
|
+
Pl as INSTALLATION_HEADER,
|
|
4445
|
+
Br as INTERACTION_KIND,
|
|
4446
|
+
_l as InteractionParticipantRole,
|
|
4447
|
+
ir as KB_FALLBACK_LOCALE,
|
|
4448
|
+
Ye as KB_LOCALES,
|
|
4449
|
+
Ye as LOCALES,
|
|
4450
|
+
Ce as LOOSE_STATUSES,
|
|
4451
|
+
Wn as MAIL_HINT_HEADERS,
|
|
4452
|
+
Hi as MAX_ACTIONS,
|
|
4453
|
+
Nn as MAX_ASSIGNMENT_TURNS,
|
|
4454
|
+
Ki as MAX_BLOCKS,
|
|
4455
|
+
Ct as MAX_COLLECTION_DEPTH,
|
|
4456
|
+
ru as MAX_EDITABLE_FILE_BYTES,
|
|
4457
|
+
Fi as MAX_FIELDS,
|
|
4458
|
+
Bi as MAX_LIST_ITEMS,
|
|
4459
|
+
ca as MAX_MEMORY_BROWSE,
|
|
4460
|
+
da as MAX_MEMORY_BUDGET,
|
|
4461
|
+
la as MAX_MEMORY_CHARS,
|
|
4462
|
+
ui as MAX_SHOWN_KEYS,
|
|
4463
|
+
yo as MAX_TOPIC_CANDIDATES,
|
|
4464
|
+
go as MAX_TOPIC_EXAMPLES,
|
|
4465
|
+
ce as MAX_TOPIC_EXAMPLE_CHARS,
|
|
4466
|
+
ou as MAX_VIEWABLE_FILE_BYTES,
|
|
4467
|
+
ua as MIN_MEMORY_BUDGET,
|
|
4468
|
+
uu as NAV_NOTICE_SLOT,
|
|
4469
|
+
Kl as NOTIFICATION_SOURCE_PROVIDER_GROUP,
|
|
4470
|
+
po as OFF_TRACK_GAP,
|
|
4471
|
+
ma as ONBOARDING_SOURCE_PROVIDER_GROUP,
|
|
4472
|
+
Ae as PAUSE_SNOOZED,
|
|
4473
|
+
Ee as PAUSE_WAITING_FOR_CUSTOMER,
|
|
4474
|
+
xe as PHONE_REGIONS,
|
|
4475
|
+
zt as PRESENCE_ONLINE_WINDOW_MS,
|
|
4476
|
+
Vo as PRESENCE_SURVIVES_OFFLINE,
|
|
4477
|
+
ga as PROFILE_TOOL_DISPOSITIONS,
|
|
4478
|
+
El as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
|
|
4479
|
+
Al as PROVIDER_FEATURE_MESSAGE_WINDOW,
|
|
4480
|
+
bi as PUBLIC_EMAIL_DOMAINS,
|
|
4481
|
+
qe as READ_STEP_TYPES,
|
|
4482
|
+
cr as RELATED_SUBJECT_KINDS,
|
|
4483
|
+
Gt as RESERVED_STATUS_KEYS,
|
|
4484
|
+
Lc as RESERVED_TYPE_KEYS,
|
|
4485
|
+
Yl as RESOURCE_ATTACHED_SERVICE,
|
|
4486
|
+
Vl as RESOURCE_DESCRIBE_SERVICE,
|
|
4487
|
+
Xl as RESOURCE_RESOLVE_SERVICE,
|
|
4488
|
+
zl as RESOURCE_SEARCH_SERVICE,
|
|
4489
|
+
xr as SCHEDULE_ENTRY_SCOPE_KIND,
|
|
4490
|
+
Zl as SCOPE_READ_ROUTE,
|
|
4491
|
+
Jl as SCOPE_RELATED_ROUTE,
|
|
4492
|
+
lu as SETTINGS_CATEGORIES,
|
|
4493
|
+
Ds as SIGNATURE_INTENTS,
|
|
4494
|
+
qn as SLA_HOURS_BY_PRIORITY,
|
|
4495
|
+
ec as SLA_METRICS,
|
|
4496
|
+
tc as SLA_PAUSE_REASONS,
|
|
4497
|
+
Wr as STEP_MAX_TOKENS_MAX,
|
|
4498
|
+
jr as STEP_MAX_TOKENS_MIN,
|
|
4499
|
+
so as STRATEGY_ITEM_SCOPE_KIND,
|
|
4500
|
+
jn as SUMMARY_MIN_LAST_CHARS,
|
|
4501
|
+
Hn as SUMMARY_MIN_MESSAGES,
|
|
4502
|
+
su as SYNC_RUN_MAX_ERRORS,
|
|
4503
|
+
iu as SYNC_TARGET_PROVIDER_GROUP,
|
|
4504
|
+
Cn as TERMINAL_ASSIGNMENT_STATUSES,
|
|
4505
|
+
Xr as TERMINAL_RUN_STATUSES,
|
|
4506
|
+
Ka as TRIGGER_VARS,
|
|
4507
|
+
lr as UNKNOWN_KIND,
|
|
4508
|
+
ao as UNKNOWN_LEVEL_ORDER,
|
|
4509
|
+
Ml as UNSUPPORTED,
|
|
4510
|
+
gn as USAGE_DIMENSIONS,
|
|
4511
|
+
yn as USAGE_DIMENSION_IDS,
|
|
4512
|
+
Nr as WORKSTREAM_SCOPE_KIND,
|
|
4513
|
+
wo as WORK_ACTIVITY_SCOPE_KIND,
|
|
4514
|
+
ha as WORK_AREAS,
|
|
4515
|
+
Nc as WORK_COMMENT_ADDED,
|
|
4516
|
+
Bc as WORK_CYCLE_SYNC_KIND,
|
|
4517
|
+
Rc as WORK_ITEM_ASSIGNED,
|
|
4518
|
+
So as WORK_ITEM_SCOPE_KIND,
|
|
4519
|
+
Dc as WORK_ITEM_STATUS_CHANGED,
|
|
4520
|
+
To as WORK_PROJECT_SCOPE_KIND,
|
|
4521
|
+
J as W_PRIORITY,
|
|
4522
|
+
Oc as acceptExampleCandidate,
|
|
4523
|
+
Lr as actingIdentityKey,
|
|
4524
|
+
kc as activeWorkTypes,
|
|
4525
|
+
Wi as activityIconOf,
|
|
4526
|
+
es as activityJoinUrl,
|
|
4527
|
+
sn as activitySnippet,
|
|
4528
|
+
an as activityTextParams,
|
|
4529
|
+
Qi as activityTimelineText,
|
|
4530
|
+
dn as activityTimestamp,
|
|
4531
|
+
I as activityTypeInfo,
|
|
4532
|
+
Ra as actorKey,
|
|
4533
|
+
vc as addExampleCandidate,
|
|
4534
|
+
ke as addWorkingMs,
|
|
4535
|
+
jl as agePresenceEntry,
|
|
4536
|
+
No as aiAttachmentKind,
|
|
4537
|
+
rl as aiAttachmentRejection,
|
|
4538
|
+
Ke as aiBudgetLimit,
|
|
4539
|
+
fs as aiBudgetPeriodKey,
|
|
4540
|
+
fn as aiBudgetPeriodStart,
|
|
4541
|
+
ds as aiBudgetState,
|
|
4542
|
+
us as aiVendorAcceptsAttachment,
|
|
4543
|
+
as as aiVendorDefaultModel,
|
|
4544
|
+
ss as aiVendorLabel,
|
|
4545
|
+
ls as aiVendorNeedsBaseUrl,
|
|
4546
|
+
cs as aiVendorsWith,
|
|
4547
|
+
qt as appNameFromPath,
|
|
4548
|
+
Sc as applyRounding,
|
|
4549
|
+
$s as applySignature,
|
|
4550
|
+
Gr as approvalRate,
|
|
4551
|
+
Ss as artifactBodyBytes,
|
|
4552
|
+
Ts as artifactOutline,
|
|
4553
|
+
On as artifactToMarkdown,
|
|
4554
|
+
Pa as assignmentMismatch,
|
|
4555
|
+
Os as assignmentScopeKey,
|
|
4556
|
+
Ns as assignmentSubject,
|
|
4557
|
+
Ea as availabilityByPerson,
|
|
4558
|
+
ya as belongsOnCalendar,
|
|
4559
|
+
ts as buildActivityPreview,
|
|
4560
|
+
ml as buildChannelIntents,
|
|
4561
|
+
ws as buildShareKeys,
|
|
4562
|
+
li as buildWindow,
|
|
4563
|
+
dr as calendarDaysBetween,
|
|
4564
|
+
ve as calendarOf,
|
|
4565
|
+
na as canNestUnder,
|
|
4566
|
+
lc as canParent,
|
|
4567
|
+
ba as capacityTotal,
|
|
4568
|
+
Oa as capacityWeights,
|
|
4569
|
+
Yi as carriesText,
|
|
4570
|
+
oa as categoryLabel,
|
|
4571
|
+
ko as categoryOf,
|
|
4572
|
+
bl as channelKindForScheme,
|
|
4573
|
+
Gi as channelKindOf,
|
|
4574
|
+
Ac as checkInOverdueMs,
|
|
4575
|
+
Ba as clampStepMaxTokens,
|
|
4576
|
+
Ws as classifyMail,
|
|
4577
|
+
Au as cleanMessageMarkdown,
|
|
4578
|
+
bu as cleanMessageText,
|
|
4579
|
+
ll as compareAssistRank,
|
|
4580
|
+
ho as compareWorkTypes,
|
|
4581
|
+
Pn as conditionHolds,
|
|
4582
|
+
j as countsAsPlanned,
|
|
4583
|
+
Aa as coverageByPerson,
|
|
4584
|
+
Ta as coverageFor,
|
|
4585
|
+
Nt as coversWorkstream,
|
|
4586
|
+
Rt as cycleDayIndex,
|
|
4587
|
+
Qc as cycleOrder,
|
|
4588
|
+
el as cycleState,
|
|
4589
|
+
Rs as decideAssignmentState,
|
|
4590
|
+
cu as decideCadence,
|
|
4591
|
+
fl as decideIncomingCall,
|
|
4592
|
+
sr as defaultLocaleOf,
|
|
4593
|
+
Yc as defaultStatusKey,
|
|
4594
|
+
Sl as defineIntent,
|
|
4595
|
+
rr as depthOf,
|
|
4596
|
+
Hl as derivePresence,
|
|
4597
|
+
ys as describeClause,
|
|
4598
|
+
pl as disabledIntentsFromCapabilities,
|
|
4599
|
+
Ss as documentBodyBytes,
|
|
4600
|
+
Ll as documentKindOf,
|
|
4601
|
+
Ts as documentOutline,
|
|
4602
|
+
On as documentToMarkdown,
|
|
4603
|
+
Nl as documentToText,
|
|
4604
|
+
rc as dueAtOf,
|
|
4605
|
+
_c as elapsedSeconds,
|
|
4606
|
+
pu as emailDomain,
|
|
4607
|
+
gu as endpointKey,
|
|
4608
|
+
hr as erlangC,
|
|
4609
|
+
Yo as extractParams,
|
|
4610
|
+
ai as extractTerms,
|
|
4611
|
+
Ks as fillDocument,
|
|
4612
|
+
Ln as fillText,
|
|
4613
|
+
gl as filterByEndpoint,
|
|
4614
|
+
hl as filterByIntent,
|
|
4615
|
+
Uo as filterByTargetScheme,
|
|
4616
|
+
gs as filterableDimensions,
|
|
4617
|
+
Q as findAiVendor,
|
|
4618
|
+
dc as fixedLevelForName,
|
|
4619
|
+
Kc as fixedTypeForName,
|
|
4620
|
+
Fc as fixedTypes,
|
|
4621
|
+
Ul as flattenLocales,
|
|
4622
|
+
H as floorToPeriod,
|
|
4623
|
+
Ma as forecastIntervals,
|
|
4624
|
+
$r as formatActingIdentity,
|
|
4625
|
+
wc as formatClock,
|
|
4626
|
+
Tc as formatHm,
|
|
4627
|
+
jc as formatItemKey,
|
|
4628
|
+
B as formatPeriod,
|
|
4629
|
+
sc as formatSlaDuration,
|
|
4630
|
+
il as freshSources,
|
|
4631
|
+
rs as getActivitySeenUserIds,
|
|
4632
|
+
Ls as getContactEndpoints,
|
|
4633
|
+
Js as getShortTitle,
|
|
4634
|
+
qs as getUrgencyScore,
|
|
4635
|
+
Ja as hasReacted,
|
|
4636
|
+
fc as healthCategory,
|
|
4637
|
+
pc as healthsInCategory,
|
|
4638
|
+
xt as heightOf,
|
|
4639
|
+
Qs as helpCenterText,
|
|
4640
|
+
Ua as humanizeAction,
|
|
4641
|
+
Hr as interactionIdOf,
|
|
4642
|
+
xc as isAgentUser,
|
|
4643
|
+
Xs as isAssigned,
|
|
4644
|
+
vs as isAssignmentTerminal,
|
|
4645
|
+
Kr as isAssignmentTrigger,
|
|
4646
|
+
Ga as isAutoReady,
|
|
4647
|
+
nr as isAwaitingThem,
|
|
4648
|
+
is as isChatMessageActivity,
|
|
4649
|
+
Ys as isClosed,
|
|
4650
|
+
Ji as isConnectedType,
|
|
4651
|
+
Ql as isDeepLink,
|
|
4652
|
+
or as isDescendant,
|
|
4653
|
+
Fs as isEligible,
|
|
4654
|
+
os as isEmailActivity,
|
|
4655
|
+
yu as isHtmlBody,
|
|
4656
|
+
za as isInFlight,
|
|
4657
|
+
zn as isInteractionUnseen,
|
|
4658
|
+
eu as isLandingPath,
|
|
4659
|
+
Bn as isLikelyBulk,
|
|
4660
|
+
bt as isMessageShape,
|
|
4661
|
+
Vi as isMessageType,
|
|
4662
|
+
Jo as isMoreSpecificPattern,
|
|
4663
|
+
At as isNoteShape,
|
|
4664
|
+
io as isOpenClock,
|
|
4665
|
+
ol as isOutwardTool,
|
|
4666
|
+
Qn as isParked,
|
|
4667
|
+
Yr as isPaused,
|
|
4668
|
+
qi as isPlaybookAuthoredType,
|
|
4669
|
+
mu as isPublicEmailDomain,
|
|
4670
|
+
nu as isPublicPath,
|
|
4671
|
+
er as isReminderActive,
|
|
4672
|
+
Xi as isReplyableType,
|
|
4673
|
+
Vs as isSlaAtRisk,
|
|
4674
|
+
Va as isTerminal,
|
|
4675
|
+
Hs as isThreadLongEnough,
|
|
4676
|
+
Zi as isTranscriptType,
|
|
4677
|
+
qc as isWorkClosed,
|
|
4678
|
+
Mc as isWorkTypeVisible,
|
|
4679
|
+
Vc as itemDossierKeys,
|
|
4680
|
+
N as kindFor,
|
|
4681
|
+
Mo as ladderFor,
|
|
4682
|
+
lo as levelIn,
|
|
4453
4683
|
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
|
-
|
|
4684
|
+
Zs as linkLabel,
|
|
4685
|
+
ps as listeningAllowed,
|
|
4686
|
+
ta as localeInstruction,
|
|
4687
|
+
ea as localeName,
|
|
4688
|
+
ra as localesOf,
|
|
4689
|
+
du as looksLikeEmail,
|
|
4690
|
+
It as lookup,
|
|
4691
|
+
xl as markdownToDocument,
|
|
4692
|
+
yl as matchContactToIntents,
|
|
4693
|
+
Zo as matchPublicRoute,
|
|
4694
|
+
sa as mcpCredentialScope,
|
|
4695
|
+
aa as mcpToolPrefix,
|
|
4696
|
+
mc as measureRatio,
|
|
4697
|
+
au as mergeShownKeys,
|
|
4698
|
+
on as messageCountsAs,
|
|
4699
|
+
bs as metricOption,
|
|
4700
|
+
Dt as minutesOn,
|
|
4701
|
+
hu as needsPhoneRegion,
|
|
4702
|
+
zi as nestsUnderParent,
|
|
4703
|
+
uc as nextLevelBelow,
|
|
4704
|
+
oc as nextSlaClock,
|
|
4705
|
+
_s as normalizeArtifactBlocks,
|
|
4706
|
+
ji as normalizeBlocks,
|
|
4707
|
+
_s as normalizeDocumentBlocks,
|
|
4708
|
+
Jt as normalizeEmail,
|
|
4709
|
+
L as normalizeExample,
|
|
4710
|
+
Fl as notificationPrefKey,
|
|
4711
|
+
ci as novelty,
|
|
4712
|
+
Cl as operationDescriptor,
|
|
4713
|
+
Ol as operationsForKind,
|
|
4714
|
+
se as overlapSeconds,
|
|
4715
|
+
Sa as overlaps,
|
|
4716
|
+
hc as paceRatio,
|
|
4717
|
+
Bs as parkMarksById,
|
|
4718
|
+
xa as parseActingIdentity,
|
|
4719
|
+
Za as parseClockMinutes,
|
|
4720
|
+
Wc as parseItemKey,
|
|
4721
|
+
Xo as pathToRegex,
|
|
4722
|
+
Lt as patternFor,
|
|
4723
|
+
$t as patternStartTime,
|
|
4724
|
+
Qa as pauseBitFor,
|
|
4725
|
+
hs as periodsInRange,
|
|
4726
|
+
fu as phoneSuffix,
|
|
4727
|
+
js as pickMailHeaders,
|
|
4728
|
+
Us as pickTemplate,
|
|
4729
|
+
Ca as placeLumps,
|
|
4730
|
+
nn as plainTextFromMarkdown,
|
|
4731
|
+
nc as planSlaEvent,
|
|
4732
|
+
wa as plannedBillable,
|
|
4733
|
+
Tr as plannedWorkTypeKey,
|
|
4734
|
+
Ur as playbookActor,
|
|
4735
|
+
Wa as procedureOf,
|
|
4736
|
+
zc as projectDossierKeys,
|
|
4737
|
+
qo as publicBasePathFor,
|
|
4738
|
+
tu as publicRoutePatterns,
|
|
4739
|
+
xs as reactionWakesAssignment,
|
|
4740
|
+
de as readPath,
|
|
4741
|
+
Je as readStepError,
|
|
4742
|
+
Zn as recencyOf,
|
|
4743
|
+
Ps as recipientLocale,
|
|
4744
|
+
Fr as refKey,
|
|
4745
|
+
yi as registrableDomain,
|
|
4746
|
+
Ao as rejectExampleCandidate,
|
|
4747
|
+
pa as relatedByDefault,
|
|
4748
|
+
_e as remainingMsOf,
|
|
4749
|
+
br as requiredAgents,
|
|
4750
|
+
Sr as requirementFor,
|
|
4751
|
+
Lo as resolveAccountCapabilities,
|
|
4752
|
+
fe as resolveActivityText,
|
|
4753
|
+
$o as resolveChannelIntents,
|
|
4754
|
+
Rn as resolveSignature,
|
|
4755
|
+
Wl as resolveWorkMode,
|
|
4756
|
+
ql as resourceKindOf,
|
|
4757
|
+
bc as rollupChildren,
|
|
4758
|
+
Na as runActor,
|
|
4759
|
+
Ya as runInteractionId,
|
|
4760
|
+
In as sanitizeInline,
|
|
4761
|
+
ei as sanitizeTranscript,
|
|
4762
|
+
ka as scheduleEntryScopeKey,
|
|
4763
|
+
zs as scoreInteraction,
|
|
4764
|
+
$c as scoreWorkItem,
|
|
4765
|
+
ia as selectLenses,
|
|
4766
|
+
gr as serviceLevel,
|
|
4767
|
+
dl as sessionsHoldCannotReach,
|
|
4768
|
+
ul as sessionsToHold,
|
|
4769
|
+
wt as shareKeyForTeam,
|
|
4770
|
+
Tt as shareKeyForUser,
|
|
4771
|
+
Is as shareKeysForViewer,
|
|
4772
|
+
Ia as shortfalls,
|
|
4773
|
+
Gl as shouldRunAudioPipeline,
|
|
4774
|
+
ic as slaBadgeTone,
|
|
4775
|
+
Gs as slaHoursByInbox,
|
|
4776
|
+
tr as slaHoursFor,
|
|
4777
|
+
vo as sortStatuses,
|
|
4778
|
+
Do as sourceKey,
|
|
4779
|
+
Dr as spreadOverWeights,
|
|
4780
|
+
Xc as statusIn,
|
|
4781
|
+
ja as stepsOf,
|
|
4782
|
+
cc as strategyAncestorKeysFor,
|
|
4783
|
+
ac as strategyDossierKeys,
|
|
4784
|
+
jt as strategyItemScopeKey,
|
|
4785
|
+
rn as stripHtml,
|
|
4786
|
+
Xa as subjectKeyOf,
|
|
4787
|
+
Pt as subjectOf,
|
|
4788
|
+
cl as subjectRef,
|
|
4789
|
+
Gc as suggestProjectKey,
|
|
4790
|
+
gc as suggestedHealth,
|
|
4791
|
+
qa as summarizeReactions,
|
|
4792
|
+
La as targetById,
|
|
4793
|
+
$a as targetForActivityType,
|
|
4794
|
+
Ec as targetOrder,
|
|
4795
|
+
fr as termsFor,
|
|
4796
|
+
Pr as toActingIdentity,
|
|
4797
|
+
dt as toE164,
|
|
4798
|
+
Ms as toolSourceKinds,
|
|
4799
|
+
Eo as topicOfferedForTeam,
|
|
4800
|
+
Cc as topicsForTeam,
|
|
4801
|
+
yr as trafficIntensity,
|
|
4802
|
+
bo as truncateExample,
|
|
4803
|
+
Uc as typeIn,
|
|
4804
|
+
Pc as typesFor,
|
|
4805
|
+
Jc as uniqueWorkStatusKey,
|
|
4806
|
+
Ic as uniqueWorkTypeKey,
|
|
4807
|
+
bn as usageMetricId,
|
|
4808
|
+
As as usageMetrics,
|
|
4809
|
+
Zc as validateStatuses,
|
|
4810
|
+
Da as valueAtPath,
|
|
4577
4811
|
Ie as waitHoursOf,
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
|
|
4583
|
-
|
|
4584
|
-
|
|
4585
|
-
|
|
4586
|
-
|
|
4812
|
+
Cs as wakesAssignment,
|
|
4813
|
+
Hc as workActivityScopeKey,
|
|
4814
|
+
Io as workItemScopeKey,
|
|
4815
|
+
Wt as workProjectScopeKey,
|
|
4816
|
+
yc as workRatio,
|
|
4817
|
+
Oo as workStatusKey,
|
|
4818
|
+
mo as workTypeKey,
|
|
4819
|
+
be as workingMsBetween,
|
|
4820
|
+
va as workstreamScopeKey
|
|
4587
4821
|
};
|