@opencxh/domain 1.245.0 → 1.247.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/business-entity/index.d.ts +1 -0
- package/dist/entities/business-entity/types.d.ts +67 -0
- package/dist/entities/business-entity/types.test.d.ts +1 -0
- package/dist/entities/catalog/types.d.ts +10 -0
- package/dist/entities/document-template/tokens.d.ts +8 -0
- package/dist/entities/document-template/types.d.ts +13 -4
- package/dist/entities/money/tax.d.ts +9 -0
- package/dist/entities/transaction/types.d.ts +7 -0
- package/dist/index.cjs +19 -19
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1438 -1415
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
const ii = 10, ai = 10, ci = 10, li = 5, on = /* @__PURE__ */ new Set([
|
|
2
2
|
"header",
|
|
3
3
|
"section",
|
|
4
4
|
"context",
|
|
@@ -14,7 +14,7 @@ function oe(e) {
|
|
|
14
14
|
const t = e;
|
|
15
15
|
return typeof t.key == "string" || typeof t.value == "string";
|
|
16
16
|
}
|
|
17
|
-
function
|
|
17
|
+
function ui(e, t = () => {
|
|
18
18
|
}) {
|
|
19
19
|
if (!Array.isArray(e)) return [];
|
|
20
20
|
const n = [];
|
|
@@ -59,9 +59,9 @@ function ls(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
|
|
63
|
-
if (
|
|
64
|
-
|
|
62
|
+
const s = Array.isArray(o.elements) ? o.elements : [], i = s.filter((a) => a?.action_id && a.invoke && oe(a.text));
|
|
63
|
+
if (i.length !== s.length && t("an action without action_id, invoke or text"), i.length === 0) continue;
|
|
64
|
+
i.length > 5 && t("more than 5 actions"), o.elements = i.slice(0, 5);
|
|
65
65
|
break;
|
|
66
66
|
}
|
|
67
67
|
}
|
|
@@ -90,7 +90,7 @@ function X(e) {
|
|
|
90
90
|
function Le(e) {
|
|
91
91
|
return e ? ` — ${Math.floor(e / 60)}m ${e % 60}s` : "";
|
|
92
92
|
}
|
|
93
|
-
function
|
|
93
|
+
function se(e) {
|
|
94
94
|
return e?.split("@")?.[0] || e || "";
|
|
95
95
|
}
|
|
96
96
|
function Y(e) {
|
|
@@ -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 — ${se(e.payload.from)}` : `Outbound call started — ${se(e.payload.to)}`
|
|
110
110
|
},
|
|
111
111
|
VOICE_CALL_ANSWERED: {
|
|
112
112
|
shape: "event",
|
|
@@ -141,7 +141,7 @@ const R = {
|
|
|
141
141
|
channelKind: "voice",
|
|
142
142
|
icon: "phone",
|
|
143
143
|
snippet: () => "Gemiste oproep",
|
|
144
|
-
timeline: (e) => `Missed call — ${
|
|
144
|
+
timeline: (e) => `Missed call — ${se(e.payload.from)}`
|
|
145
145
|
},
|
|
146
146
|
VOICE_CALL_FAILED: {
|
|
147
147
|
shape: "event",
|
|
@@ -467,40 +467,40 @@ function Ke(e) {
|
|
|
467
467
|
function w(e) {
|
|
468
468
|
return R[e];
|
|
469
469
|
}
|
|
470
|
-
function
|
|
470
|
+
function di(e) {
|
|
471
471
|
return w(e)?.icon ?? "circle";
|
|
472
472
|
}
|
|
473
|
-
function
|
|
473
|
+
function pi(e) {
|
|
474
474
|
return w(e)?.channelKind;
|
|
475
475
|
}
|
|
476
|
-
function
|
|
476
|
+
function Et(e) {
|
|
477
477
|
return e === "message" || e === "note";
|
|
478
478
|
}
|
|
479
|
-
function
|
|
480
|
-
return
|
|
479
|
+
function fi(e) {
|
|
480
|
+
return Et(w(e)?.shape);
|
|
481
481
|
}
|
|
482
482
|
function It(e) {
|
|
483
483
|
return e === "note";
|
|
484
484
|
}
|
|
485
|
-
function
|
|
485
|
+
function mi(e) {
|
|
486
486
|
return It(w(e)?.shape);
|
|
487
487
|
}
|
|
488
|
-
function
|
|
488
|
+
function hi(e) {
|
|
489
489
|
return w(e)?.replyable === !0;
|
|
490
490
|
}
|
|
491
|
-
function
|
|
491
|
+
function gi(e) {
|
|
492
492
|
return w(e)?.carriesText === !0;
|
|
493
493
|
}
|
|
494
494
|
function un(e) {
|
|
495
495
|
return w(e)?.countsAs;
|
|
496
496
|
}
|
|
497
|
-
function
|
|
497
|
+
function yi(e) {
|
|
498
498
|
return w(e)?.playbookAuthored === !0;
|
|
499
499
|
}
|
|
500
|
-
function
|
|
500
|
+
function bi(e) {
|
|
501
501
|
return w(e)?.connected === !0;
|
|
502
502
|
}
|
|
503
|
-
function
|
|
503
|
+
function _i(e) {
|
|
504
504
|
const t = w(e);
|
|
505
505
|
return t?.shape === "artifact" && t?.carriesText === !0;
|
|
506
506
|
}
|
|
@@ -508,11 +508,11 @@ function dn(e) {
|
|
|
508
508
|
const t = w(e.type)?.snippet;
|
|
509
509
|
return t ? t(e) : "";
|
|
510
510
|
}
|
|
511
|
-
function
|
|
511
|
+
function Ai(e, t) {
|
|
512
512
|
const n = w(e.type)?.timeline;
|
|
513
513
|
return n ? n(e, t) : e.type.replace(/_/g, " ").toLowerCase();
|
|
514
514
|
}
|
|
515
|
-
function
|
|
515
|
+
function Si(e) {
|
|
516
516
|
const t = w(e.type)?.joinUrl;
|
|
517
517
|
return t ? t(e) : void 0;
|
|
518
518
|
}
|
|
@@ -530,8 +530,8 @@ function me(e, t, n) {
|
|
|
530
530
|
if ("value" in e)
|
|
531
531
|
return fe(t, e.value) || null;
|
|
532
532
|
const r = {};
|
|
533
|
-
for (const [
|
|
534
|
-
r[
|
|
533
|
+
for (const [s, i] of Object.entries(e.params ?? {}))
|
|
534
|
+
r[s] = fe(t, i);
|
|
535
535
|
const o = n(e.key, r);
|
|
536
536
|
return o === e.key ? null : o;
|
|
537
537
|
}
|
|
@@ -547,7 +547,7 @@ function fn(e) {
|
|
|
547
547
|
const t = e.trim();
|
|
548
548
|
return t.length <= Ue ? t : `${t.slice(0, Ue - 1).trimEnd()}…`;
|
|
549
549
|
}
|
|
550
|
-
function
|
|
550
|
+
function Ei(e, t) {
|
|
551
551
|
const n = pn(t?.text, e), r = t ? me(t.text, e, (o) => o) : null;
|
|
552
552
|
return {
|
|
553
553
|
activityId: e.id,
|
|
@@ -649,7 +649,7 @@ class hn {
|
|
|
649
649
|
* {@link ResolvedActivityType}.
|
|
650
650
|
*/
|
|
651
651
|
isMessage(t) {
|
|
652
|
-
return
|
|
652
|
+
return Et(this.get(t)?.shape);
|
|
653
653
|
}
|
|
654
654
|
/** Folds into the list under the message it answers. See {@link isNoteShape}. */
|
|
655
655
|
nestsUnderParent(t) {
|
|
@@ -681,20 +681,20 @@ class hn {
|
|
|
681
681
|
return this.translate;
|
|
682
682
|
}
|
|
683
683
|
}
|
|
684
|
-
const
|
|
685
|
-
function
|
|
684
|
+
const Ii = new hn();
|
|
685
|
+
function Ti(e, t, n = []) {
|
|
686
686
|
const r = e.createdAt;
|
|
687
687
|
if (!r) return [];
|
|
688
688
|
const o = new Set(n);
|
|
689
|
-
return e.author.type === "user" && e.author.id && o.add(e.author.id), Object.entries(t).filter(([
|
|
689
|
+
return e.author.type === "user" && e.author.id && o.add(e.author.id), Object.entries(t).filter(([s, i]) => i >= r && !o.has(s)).map(([s]) => s);
|
|
690
690
|
}
|
|
691
691
|
function gn(e) {
|
|
692
692
|
return e.createdAt ?? 0;
|
|
693
693
|
}
|
|
694
|
-
function
|
|
694
|
+
function wi(e) {
|
|
695
695
|
return e.type === "EMAIL_RECEIVED" || e.type === "EMAIL_SENT";
|
|
696
696
|
}
|
|
697
|
-
function
|
|
697
|
+
function ki(e) {
|
|
698
698
|
return e.type === "CHAT_MESSAGE_SENT" || e.type === "CHAT_MESSAGE_RECEIVED";
|
|
699
699
|
}
|
|
700
700
|
const Tt = [
|
|
@@ -790,23 +790,23 @@ const Tt = [
|
|
|
790
790
|
function te(e) {
|
|
791
791
|
return Tt.find((t) => t.id === e);
|
|
792
792
|
}
|
|
793
|
-
function
|
|
793
|
+
function vi(e) {
|
|
794
794
|
return te(e)?.label ?? e;
|
|
795
795
|
}
|
|
796
|
-
function
|
|
796
|
+
function Mi(e, t = "gpt-5-mini") {
|
|
797
797
|
return te(e)?.defaultModel ?? t;
|
|
798
798
|
}
|
|
799
|
-
function
|
|
799
|
+
function Ci(e) {
|
|
800
800
|
return Tt.filter((t) => t.capabilities.includes(e));
|
|
801
801
|
}
|
|
802
|
-
function
|
|
802
|
+
function Oi(e) {
|
|
803
803
|
const t = te(e);
|
|
804
804
|
return !!t && !t.baseUrl;
|
|
805
805
|
}
|
|
806
|
-
function
|
|
806
|
+
function xi(e, t) {
|
|
807
807
|
return t === "text" ? !0 : te(e)?.attachmentKinds?.includes(t) === !0;
|
|
808
808
|
}
|
|
809
|
-
function
|
|
809
|
+
function Ni(e, t) {
|
|
810
810
|
if (!e.enabled) return "ok";
|
|
811
811
|
const n = je(e.hardLimitNanos), r = je(e.softLimitNanos);
|
|
812
812
|
return n !== void 0 && t >= n ? "hard" : r !== void 0 && t >= r ? "soft" : "ok";
|
|
@@ -818,14 +818,14 @@ function yn(e, t = "month") {
|
|
|
818
818
|
const n = new Date(e);
|
|
819
819
|
return Date.UTC(n.getUTCFullYear(), n.getUTCMonth(), 1);
|
|
820
820
|
}
|
|
821
|
-
function
|
|
821
|
+
function Ri(e, t = "month") {
|
|
822
822
|
const n = new Date(yn(e, t));
|
|
823
823
|
return `${n.getUTCFullYear()}-${String(n.getUTCMonth() + 1).padStart(2, "0")}`;
|
|
824
824
|
}
|
|
825
|
-
function
|
|
825
|
+
function Di(e) {
|
|
826
826
|
return e?.listeningEnabled !== !1;
|
|
827
827
|
}
|
|
828
|
-
const
|
|
828
|
+
const $i = [
|
|
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,49 +835,49 @@ const Ds = [
|
|
|
835
835
|
{ id: "handledBy", label: "Afhandelaar", labelSource: "raw" },
|
|
836
836
|
{ id: "time", label: "Tijd", labelSource: "raw" }
|
|
837
837
|
];
|
|
838
|
-
function
|
|
838
|
+
function ie(e) {
|
|
839
839
|
return e < 10 ? `0${e}` : `${e}`;
|
|
840
840
|
}
|
|
841
841
|
function j(e, t) {
|
|
842
|
-
const n = new Date(e), r = `${n.getUTCFullYear()}-${
|
|
843
|
-
return t === "day" ? r : `${r}T${
|
|
842
|
+
const n = new Date(e), r = `${n.getUTCFullYear()}-${ie(n.getUTCMonth() + 1)}-${ie(n.getUTCDate())}`;
|
|
843
|
+
return t === "day" ? r : `${r}T${ie(n.getUTCHours())}`;
|
|
844
844
|
}
|
|
845
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 bn = 36e5,
|
|
850
|
-
function
|
|
851
|
-
const r = n === "hour" ? bn :
|
|
852
|
-
for (let
|
|
853
|
-
o.push(j(
|
|
849
|
+
const bn = 36e5, _n = 864e5;
|
|
850
|
+
function Li(e, t, n) {
|
|
851
|
+
const r = n === "hour" ? bn : _n, o = [];
|
|
852
|
+
for (let s = H(e, n); s <= t; s += r)
|
|
853
|
+
o.push(j(s, n));
|
|
854
854
|
return o;
|
|
855
855
|
}
|
|
856
|
-
const
|
|
857
|
-
function
|
|
856
|
+
const An = /* @__PURE__ */ new Set(["time"]);
|
|
857
|
+
function Pi(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) && !An.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 Ki(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 Ui(e) {
|
|
871
871
|
return { value: e.id, label: `${e.category} · ${e.label}` };
|
|
872
872
|
}
|
|
873
|
-
const
|
|
873
|
+
const Sn = [
|
|
874
874
|
{ id: "resource", label: "Resource", labelSource: "raw" },
|
|
875
875
|
{ id: "origin", label: "Herkomst", labelSource: "raw" }
|
|
876
|
-
],
|
|
876
|
+
], En = Sn.map((e) => e.id);
|
|
877
877
|
function In(e, t) {
|
|
878
878
|
return `${e}.usage.${t}`;
|
|
879
879
|
}
|
|
880
|
-
function
|
|
880
|
+
function Fi(e, t) {
|
|
881
881
|
return t.map((n) => ({
|
|
882
882
|
id: In(e, n.unit),
|
|
883
883
|
label: n.label,
|
|
@@ -886,13 +886,13 @@ function Us(e, t) {
|
|
|
886
886
|
aggregation: "sum",
|
|
887
887
|
supportedDimensions: [
|
|
888
888
|
"provider",
|
|
889
|
-
...
|
|
889
|
+
...En,
|
|
890
890
|
...n.extraDimensions ?? [],
|
|
891
891
|
"time"
|
|
892
892
|
]
|
|
893
893
|
}));
|
|
894
894
|
}
|
|
895
|
-
const wt = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), He = 200, Ge = 100, We = 200, Ve = 12, ze = 4, Xe = 10, Tn = 8, Ye = 12, kt = 4e3, q = 500,
|
|
895
|
+
const wt = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), He = 200, Ge = 100, We = 200, Ve = 12, ze = 4, Xe = 10, Tn = 8, Ye = 12, kt = 4e3, q = 500, Bi = 1024 * 1024, wn = /* @__PURE__ */ new Set([
|
|
896
896
|
"heading",
|
|
897
897
|
"paragraph",
|
|
898
898
|
"list",
|
|
@@ -906,14 +906,14 @@ const wt = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]
|
|
|
906
906
|
"letterhead",
|
|
907
907
|
"totals",
|
|
908
908
|
"pagebreak"
|
|
909
|
-
]), kn = ["http:", "https:", "mailto:", "tel:"],
|
|
910
|
-
function
|
|
909
|
+
]), kn = ["http:", "https:", "mailto:", "tel:"], vn = /^[a-z][a-z0-9+.-]*:/i;
|
|
910
|
+
function ve(e) {
|
|
911
911
|
const t = e.trim().replace(/^<|>$/g, "");
|
|
912
912
|
if (!t) return !1;
|
|
913
|
-
const n =
|
|
913
|
+
const n = vn.exec(t)?.[0];
|
|
914
914
|
return n ? kn.includes(n.toLowerCase()) : !t.startsWith("//");
|
|
915
915
|
}
|
|
916
|
-
const
|
|
916
|
+
const Mn = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
|
|
917
917
|
function Cn(e) {
|
|
918
918
|
let t = "", n = 0;
|
|
919
919
|
for (; n < e.length; ) {
|
|
@@ -922,38 +922,38 @@ function Cn(e) {
|
|
|
922
922
|
t += e[n], n += 1;
|
|
923
923
|
continue;
|
|
924
924
|
}
|
|
925
|
-
const o = n + (r ? 2 : 1),
|
|
926
|
-
if (
|
|
925
|
+
const o = n + (r ? 2 : 1), s = qe(e, o, "[", "]");
|
|
926
|
+
if (s < 0 || e[s + 1] !== "(") {
|
|
927
927
|
t += e[n], n += 1;
|
|
928
928
|
continue;
|
|
929
929
|
}
|
|
930
|
-
const
|
|
931
|
-
if (
|
|
930
|
+
const i = qe(e, s + 2, "(", ")");
|
|
931
|
+
if (i < 0) {
|
|
932
932
|
t += e[n], n += 1;
|
|
933
933
|
continue;
|
|
934
934
|
}
|
|
935
|
-
const a = e.slice(o,
|
|
936
|
-
t += r || !
|
|
935
|
+
const a = e.slice(o, s), u = e.slice(s + 2, i).trim().split(/\s+/)[0] ?? "";
|
|
936
|
+
t += r || !ve(u) ? a : e.slice(n, i + 1), n = i + 1;
|
|
937
937
|
}
|
|
938
938
|
return t;
|
|
939
939
|
}
|
|
940
940
|
function qe(e, t, n, r) {
|
|
941
941
|
let o = 1;
|
|
942
|
-
for (let
|
|
943
|
-
if (e[
|
|
944
|
-
|
|
942
|
+
for (let s = t; s < e.length; s += 1) {
|
|
943
|
+
if (e[s] === "\\") {
|
|
944
|
+
s += 1;
|
|
945
945
|
continue;
|
|
946
946
|
}
|
|
947
|
-
if (e[
|
|
948
|
-
else if (e[
|
|
949
|
-
return
|
|
947
|
+
if (e[s] === n) o += 1;
|
|
948
|
+
else if (e[s] === r && (o -= 1, o === 0))
|
|
949
|
+
return s;
|
|
950
950
|
}
|
|
951
951
|
return -1;
|
|
952
952
|
}
|
|
953
953
|
function On(e) {
|
|
954
954
|
return Cn(e).replace(
|
|
955
|
-
|
|
956
|
-
(t, n, r) =>
|
|
955
|
+
Mn,
|
|
956
|
+
(t, n, r) => ve(r) ? t : ""
|
|
957
957
|
);
|
|
958
958
|
}
|
|
959
959
|
function T(e, t = kt) {
|
|
@@ -968,7 +968,7 @@ function U(e, t = 200) {
|
|
|
968
968
|
function Nn(e, t = "info") {
|
|
969
969
|
return typeof e == "string" && wt.has(e) ? e : t;
|
|
970
970
|
}
|
|
971
|
-
function
|
|
971
|
+
function ji(e, t = () => {
|
|
972
972
|
}) {
|
|
973
973
|
if (!Array.isArray(e)) return [];
|
|
974
974
|
const n = [];
|
|
@@ -983,203 +983,203 @@ function Bs(e, t = () => {
|
|
|
983
983
|
t(`unknown block type ${String(o.type)}`);
|
|
984
984
|
continue;
|
|
985
985
|
}
|
|
986
|
-
const
|
|
986
|
+
const s = typeof o.block_id == "string" ? { block_id: o.block_id } : {};
|
|
987
987
|
switch (o.type) {
|
|
988
988
|
case "heading": {
|
|
989
|
-
const
|
|
990
|
-
if (!
|
|
989
|
+
const i = T(o.text);
|
|
990
|
+
if (!i) {
|
|
991
991
|
t("a heading without text");
|
|
992
992
|
continue;
|
|
993
993
|
}
|
|
994
994
|
const a = o.level === 2 || o.level === 3 ? o.level : 1;
|
|
995
|
-
n.push({ ...
|
|
995
|
+
n.push({ ...s, type: "heading", level: a, text: i });
|
|
996
996
|
break;
|
|
997
997
|
}
|
|
998
998
|
case "paragraph": {
|
|
999
|
-
const
|
|
1000
|
-
if (!
|
|
999
|
+
const i = T(o.text);
|
|
1000
|
+
if (!i) {
|
|
1001
1001
|
t("a paragraph without text");
|
|
1002
1002
|
continue;
|
|
1003
1003
|
}
|
|
1004
|
-
n.push({ ...
|
|
1004
|
+
n.push({ ...s, type: "paragraph", text: i });
|
|
1005
1005
|
break;
|
|
1006
1006
|
}
|
|
1007
1007
|
case "quote": {
|
|
1008
|
-
const
|
|
1009
|
-
if (!
|
|
1008
|
+
const i = T(o.text);
|
|
1009
|
+
if (!i) {
|
|
1010
1010
|
t("a quote without text");
|
|
1011
1011
|
continue;
|
|
1012
1012
|
}
|
|
1013
|
-
n.push({ ...
|
|
1013
|
+
n.push({ ...s, type: "quote", text: i });
|
|
1014
1014
|
break;
|
|
1015
1015
|
}
|
|
1016
1016
|
case "code": {
|
|
1017
|
-
const
|
|
1018
|
-
if (!
|
|
1017
|
+
const i = xn(o.text);
|
|
1018
|
+
if (!i) {
|
|
1019
1019
|
t("a code block without text");
|
|
1020
1020
|
continue;
|
|
1021
1021
|
}
|
|
1022
1022
|
const a = typeof o.lang == "string" ? { lang: o.lang.slice(0, 32) } : {};
|
|
1023
|
-
n.push({ ...
|
|
1023
|
+
n.push({ ...s, type: "code", ...a, text: i });
|
|
1024
1024
|
break;
|
|
1025
1025
|
}
|
|
1026
1026
|
case "divider":
|
|
1027
|
-
n.push({ ...
|
|
1027
|
+
n.push({ ...s, type: "divider" });
|
|
1028
1028
|
break;
|
|
1029
1029
|
case "list": {
|
|
1030
|
-
const
|
|
1031
|
-
for (const
|
|
1030
|
+
const i = Array.isArray(o.items) ? o.items : [], a = [];
|
|
1031
|
+
for (const l of i) {
|
|
1032
1032
|
if (a.length >= Ge) {
|
|
1033
1033
|
t(`more than ${Ge} list items`);
|
|
1034
1034
|
break;
|
|
1035
1035
|
}
|
|
1036
|
-
const d = T(
|
|
1036
|
+
const d = T(l?.text);
|
|
1037
1037
|
if (!d) continue;
|
|
1038
|
-
const
|
|
1039
|
-
a.push(
|
|
1038
|
+
const c = T(l?.lead, 200);
|
|
1039
|
+
a.push(c ? { lead: c, text: d } : { text: d });
|
|
1040
1040
|
}
|
|
1041
1041
|
if (a.length === 0) {
|
|
1042
1042
|
t("a list without usable items");
|
|
1043
1043
|
continue;
|
|
1044
1044
|
}
|
|
1045
|
-
const
|
|
1046
|
-
n.push({ ...
|
|
1045
|
+
const u = o.style === "numbered" ? "numbered" : "bulleted";
|
|
1046
|
+
n.push({ ...s, type: "list", style: u, items: a });
|
|
1047
1047
|
break;
|
|
1048
1048
|
}
|
|
1049
1049
|
case "table": {
|
|
1050
|
-
const
|
|
1051
|
-
for (const
|
|
1050
|
+
const i = Array.isArray(o.columns) ? o.columns : [], a = [];
|
|
1051
|
+
for (const c of i) {
|
|
1052
1052
|
if (a.length >= Ve) {
|
|
1053
1053
|
t(`more than ${Ve} table columns`);
|
|
1054
1054
|
break;
|
|
1055
1055
|
}
|
|
1056
|
-
const p = T(
|
|
1056
|
+
const p = T(c?.label, q), f = c?.align === "right" ? "right" : void 0;
|
|
1057
1057
|
a.push(f ? { label: p, align: f } : { label: p });
|
|
1058
1058
|
}
|
|
1059
1059
|
if (a.length === 0) {
|
|
1060
1060
|
t("a table without columns");
|
|
1061
1061
|
continue;
|
|
1062
1062
|
}
|
|
1063
|
-
const
|
|
1064
|
-
for (const
|
|
1065
|
-
if (
|
|
1063
|
+
const u = Array.isArray(o.rows) ? o.rows : [], l = [];
|
|
1064
|
+
for (const c of u) {
|
|
1065
|
+
if (l.length >= We) {
|
|
1066
1066
|
t(`more than ${We} table rows`);
|
|
1067
1067
|
break;
|
|
1068
1068
|
}
|
|
1069
|
-
const p = Array.isArray(
|
|
1070
|
-
|
|
1069
|
+
const p = Array.isArray(c) ? c : [];
|
|
1070
|
+
l.push(a.map((f, y) => T(p[y], q)));
|
|
1071
1071
|
}
|
|
1072
1072
|
const d = T(o.caption, q);
|
|
1073
1073
|
n.push({
|
|
1074
|
-
...
|
|
1074
|
+
...s,
|
|
1075
1075
|
type: "table",
|
|
1076
1076
|
columns: a,
|
|
1077
|
-
rows:
|
|
1077
|
+
rows: l,
|
|
1078
1078
|
...d ? { caption: d } : {}
|
|
1079
1079
|
});
|
|
1080
1080
|
break;
|
|
1081
1081
|
}
|
|
1082
1082
|
case "kpi": {
|
|
1083
|
-
const
|
|
1084
|
-
for (const
|
|
1083
|
+
const i = Array.isArray(o.items) ? o.items : [], a = [];
|
|
1084
|
+
for (const u of i) {
|
|
1085
1085
|
if (a.length >= ze) {
|
|
1086
1086
|
t(`more than ${ze} kpi items`);
|
|
1087
1087
|
break;
|
|
1088
1088
|
}
|
|
1089
|
-
const
|
|
1090
|
-
if (!
|
|
1091
|
-
const
|
|
1089
|
+
const l = T(u?.value, 40), d = T(u?.label, 80);
|
|
1090
|
+
if (!l || !d) continue;
|
|
1091
|
+
const c = u?.tone;
|
|
1092
1092
|
a.push(
|
|
1093
|
-
typeof
|
|
1093
|
+
typeof c == "string" && wt.has(c) ? { value: l, label: d, tone: c } : { value: l, label: d }
|
|
1094
1094
|
);
|
|
1095
1095
|
}
|
|
1096
1096
|
if (a.length === 0) {
|
|
1097
1097
|
t("a kpi block without usable items");
|
|
1098
1098
|
continue;
|
|
1099
1099
|
}
|
|
1100
|
-
n.push({ ...
|
|
1100
|
+
n.push({ ...s, type: "kpi", items: a });
|
|
1101
1101
|
break;
|
|
1102
1102
|
}
|
|
1103
1103
|
case "image": {
|
|
1104
|
-
const
|
|
1105
|
-
if (!
|
|
1104
|
+
const i = typeof o.url == "string" ? o.url.trim() : "";
|
|
1105
|
+
if (!i || !ve(i)) {
|
|
1106
1106
|
t("an image without a usable url");
|
|
1107
1107
|
continue;
|
|
1108
1108
|
}
|
|
1109
|
-
const a = T(o.alt, 200),
|
|
1109
|
+
const a = T(o.alt, 200), u = T(o.caption, q);
|
|
1110
1110
|
n.push({
|
|
1111
|
-
...
|
|
1111
|
+
...s,
|
|
1112
1112
|
type: "image",
|
|
1113
|
-
url:
|
|
1113
|
+
url: i,
|
|
1114
1114
|
...a ? { alt: a } : {},
|
|
1115
|
-
...
|
|
1115
|
+
...u ? { caption: u } : {}
|
|
1116
1116
|
});
|
|
1117
1117
|
break;
|
|
1118
1118
|
}
|
|
1119
1119
|
case "letterhead": {
|
|
1120
|
-
const
|
|
1121
|
-
for (const d of
|
|
1120
|
+
const i = Array.isArray(o.fields) ? o.fields : [], a = [];
|
|
1121
|
+
for (const d of i) {
|
|
1122
1122
|
if (a.length >= Xe) {
|
|
1123
1123
|
t(`more than ${Xe} letterhead fields`);
|
|
1124
1124
|
break;
|
|
1125
1125
|
}
|
|
1126
|
-
const
|
|
1126
|
+
const c = d, p = typeof c?.key == "string" ? c.key.slice(0, 48) : "", f = U(c?.value);
|
|
1127
1127
|
if (!p || !f) continue;
|
|
1128
|
-
const y = U(
|
|
1128
|
+
const y = U(c?.label, 80);
|
|
1129
1129
|
a.push(y ? { key: p, label: y, value: f } : { key: p, value: f });
|
|
1130
1130
|
}
|
|
1131
|
-
const
|
|
1132
|
-
if (a.length === 0 &&
|
|
1131
|
+
const l = (Array.isArray(o.recipient) ? o.recipient : []).slice(0, Tn).map((d) => U(d)).filter(Boolean);
|
|
1132
|
+
if (a.length === 0 && l.length === 0) {
|
|
1133
1133
|
t("a letterhead without fields or recipient");
|
|
1134
1134
|
continue;
|
|
1135
1135
|
}
|
|
1136
1136
|
n.push({
|
|
1137
|
-
...
|
|
1137
|
+
...s,
|
|
1138
1138
|
type: "letterhead",
|
|
1139
1139
|
fields: a,
|
|
1140
|
-
...
|
|
1140
|
+
...l.length > 0 ? { recipient: l } : {}
|
|
1141
1141
|
});
|
|
1142
1142
|
break;
|
|
1143
1143
|
}
|
|
1144
1144
|
case "totals": {
|
|
1145
|
-
const
|
|
1146
|
-
const d = Array.isArray(
|
|
1145
|
+
const i = (l) => {
|
|
1146
|
+
const d = Array.isArray(l) ? l : [], c = [];
|
|
1147
1147
|
for (const p of d) {
|
|
1148
|
-
if (
|
|
1148
|
+
if (c.length >= Ye) {
|
|
1149
1149
|
t(`more than ${Ye} totals rows`);
|
|
1150
1150
|
break;
|
|
1151
1151
|
}
|
|
1152
1152
|
const f = p, y = U(f?.label), m = U(f?.amount, 40);
|
|
1153
|
-
!y || !m ||
|
|
1153
|
+
!y || !m || c.push(
|
|
1154
1154
|
f?.emphasis === !0 ? { label: y, amount: m, emphasis: !0 } : { label: y, amount: m }
|
|
1155
1155
|
);
|
|
1156
1156
|
}
|
|
1157
|
-
return
|
|
1158
|
-
}, a =
|
|
1157
|
+
return c;
|
|
1158
|
+
}, a = i(o.rows);
|
|
1159
1159
|
if (a.length === 0 && !o.block_id) {
|
|
1160
1160
|
t("a totals block without usable rows");
|
|
1161
1161
|
continue;
|
|
1162
1162
|
}
|
|
1163
|
-
const
|
|
1164
|
-
n.push({ ...
|
|
1163
|
+
const u = i(o.taxRows);
|
|
1164
|
+
n.push({ ...s, type: "totals", rows: a, ...u.length > 0 ? { taxRows: u } : {} });
|
|
1165
1165
|
break;
|
|
1166
1166
|
}
|
|
1167
1167
|
case "pagebreak":
|
|
1168
|
-
n.push({ ...
|
|
1168
|
+
n.push({ ...s, type: "pagebreak" });
|
|
1169
1169
|
break;
|
|
1170
1170
|
case "callout": {
|
|
1171
|
-
const
|
|
1172
|
-
if (!
|
|
1171
|
+
const i = T(o.text);
|
|
1172
|
+
if (!i) {
|
|
1173
1173
|
t("a callout without text");
|
|
1174
1174
|
continue;
|
|
1175
1175
|
}
|
|
1176
1176
|
const a = T(o.title, 200);
|
|
1177
1177
|
n.push({
|
|
1178
|
-
...
|
|
1178
|
+
...s,
|
|
1179
1179
|
type: "callout",
|
|
1180
1180
|
tone: Nn(o.tone),
|
|
1181
1181
|
...a ? { title: a } : {},
|
|
1182
|
-
text:
|
|
1182
|
+
text: i
|
|
1183
1183
|
});
|
|
1184
1184
|
break;
|
|
1185
1185
|
}
|
|
@@ -1187,10 +1187,10 @@ function Bs(e, t = () => {
|
|
|
1187
1187
|
}
|
|
1188
1188
|
return n;
|
|
1189
1189
|
}
|
|
1190
|
-
function
|
|
1190
|
+
function Hi(e) {
|
|
1191
1191
|
return JSON.stringify(e).length;
|
|
1192
1192
|
}
|
|
1193
|
-
function
|
|
1193
|
+
function Gi(e) {
|
|
1194
1194
|
return {
|
|
1195
1195
|
blocks: e.length,
|
|
1196
1196
|
types: e.map((t) => t.type),
|
|
@@ -1201,7 +1201,7 @@ function Qe(e) {
|
|
|
1201
1201
|
return e.replace(/\|/g, "\\|").replace(/\r?\n/g, " ").trim();
|
|
1202
1202
|
}
|
|
1203
1203
|
function ae(e, t, n) {
|
|
1204
|
-
const r = e.map((o,
|
|
1204
|
+
const r = e.map((o, s) => n?.[s] === "right" ? "---:" : "---");
|
|
1205
1205
|
return [
|
|
1206
1206
|
`| ${e.map(Qe).join(" | ")} |`,
|
|
1207
1207
|
`| ${r.join(" | ")} |`,
|
|
@@ -1268,8 +1268,8 @@ function Dn(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
|
|
1272
|
-
|
|
1271
|
+
const s = Rn(o);
|
|
1272
|
+
s.length > 0 && n.push(s.join(`
|
|
1273
1273
|
`));
|
|
1274
1274
|
}
|
|
1275
1275
|
return `${n.join(`
|
|
@@ -1277,45 +1277,45 @@ function Dn(e, t) {
|
|
|
1277
1277
|
`)}
|
|
1278
1278
|
`;
|
|
1279
1279
|
}
|
|
1280
|
-
const
|
|
1281
|
-
function
|
|
1280
|
+
const vt = (e) => `user:${e}`, Mt = (e) => `team:${e}`;
|
|
1281
|
+
function Wi(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(vt(n.id)), n.kind === "team" && t.add(Mt(n.id)));
|
|
1285
1285
|
return [...t].sort();
|
|
1286
1286
|
}
|
|
1287
|
-
function
|
|
1288
|
-
return [
|
|
1287
|
+
function Vi(e, t) {
|
|
1288
|
+
return [vt(e), ...t.map(Mt)];
|
|
1289
1289
|
}
|
|
1290
|
-
function
|
|
1290
|
+
function zi(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 $n = ["done", "escalated"],
|
|
1297
|
-
function
|
|
1296
|
+
const $n = ["done", "escalated"], Xi = ["open", "waiting"];
|
|
1297
|
+
function Yi(e) {
|
|
1298
1298
|
return $n.includes(e);
|
|
1299
1299
|
}
|
|
1300
1300
|
const Ln = "assignment";
|
|
1301
|
-
function
|
|
1301
|
+
function qi(e) {
|
|
1302
1302
|
return `${Ln}:${e}`;
|
|
1303
1303
|
}
|
|
1304
|
-
function
|
|
1304
|
+
function Qi(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 Zi(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 Ji(e) {
|
|
1315
1315
|
return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
|
|
1316
1316
|
}
|
|
1317
1317
|
const Pn = 12;
|
|
1318
|
-
function
|
|
1318
|
+
function ea(e, t, n = Pn) {
|
|
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,6 +1329,9 @@ function Js(e, t, n = Pn) {
|
|
|
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
|
+
function ta(e, t, n) {
|
|
1333
|
+
return e ? e === t : n;
|
|
1334
|
+
}
|
|
1332
1335
|
function Kn(e) {
|
|
1333
1336
|
const t = e.trim().replace(/[\s-]/g, "");
|
|
1334
1337
|
if (!/^\d+$/.test(t) || ![8, 12, 13, 14].includes(t.length)) return;
|
|
@@ -1341,7 +1344,7 @@ function Un(e) {
|
|
|
1341
1344
|
t += Number(e[n]) * (n % 2 === 0 ? 3 : 1);
|
|
1342
1345
|
return (10 - t % 10) % 10;
|
|
1343
1346
|
}
|
|
1344
|
-
function
|
|
1347
|
+
function na(e, t) {
|
|
1345
1348
|
const n = t.trim(), r = Kn(n), o = [{ sku: n }, { barcodes: { $in: [n] } }];
|
|
1346
1349
|
return r && o.push({ gtin: r }), { organizationId: e, $or: o };
|
|
1347
1350
|
}
|
|
@@ -1350,38 +1353,38 @@ function G(e) {
|
|
|
1350
1353
|
}
|
|
1351
1354
|
function Fn(e, t) {
|
|
1352
1355
|
if (t.length === 0) return [];
|
|
1353
|
-
const n = t.reduce((
|
|
1354
|
-
if (n === 0) return t.map((
|
|
1355
|
-
const r = t.map((
|
|
1356
|
-
let
|
|
1357
|
-
const
|
|
1358
|
-
for (let
|
|
1359
|
-
o[
|
|
1356
|
+
const n = t.reduce((u, l) => u + l, 0);
|
|
1357
|
+
if (n === 0) return t.map((u, l) => l === 0 ? e : 0);
|
|
1358
|
+
const r = t.map((u) => e * u / n), o = r.map((u) => Math.trunc(u));
|
|
1359
|
+
let s = e - o.reduce((u, l) => u + l, 0);
|
|
1360
|
+
const i = r.map((u, l) => ({ index: l, fraction: Math.abs(u - o[l]) })).sort((u, l) => l.fraction - u.fraction), a = s < 0 ? -1 : 1;
|
|
1361
|
+
for (let u = 0; s !== 0 && u < i.length; u++)
|
|
1362
|
+
o[i[u].index] += a, s -= a;
|
|
1360
1363
|
return o;
|
|
1361
1364
|
}
|
|
1362
1365
|
function D(e, t = {}) {
|
|
1363
|
-
const n = t.decimal ?? ",", r = t.group ?? ".", o = e < 0,
|
|
1364
|
-
let
|
|
1365
|
-
for (let
|
|
1366
|
-
|
|
1367
|
-
return `${o ? "-" : ""}${
|
|
1366
|
+
const n = t.decimal ?? ",", r = t.group ?? ".", o = e < 0, s = Math.abs(Math.trunc(e)).toString().padStart(3, "0"), i = s.slice(0, -2), a = s.slice(-2);
|
|
1367
|
+
let u = "";
|
|
1368
|
+
for (let l = 0; l < i.length; l++)
|
|
1369
|
+
l > 0 && (i.length - l) % 3 === 0 && (u += r), u += i[l];
|
|
1370
|
+
return `${o ? "-" : ""}${u}${n}${a}`;
|
|
1368
1371
|
}
|
|
1369
|
-
function
|
|
1372
|
+
function ra(e) {
|
|
1370
1373
|
const t = e.trim().replace(/[\s ]/g, "");
|
|
1371
1374
|
if (!t) return;
|
|
1372
1375
|
const n = t.replace(/^[-+]?[^\d.,-]*/, "").replace(/[^\d.,-]+$/, ""), r = /^-/.test(t) || /-$/.test(t), o = n.replace(/-/g, "");
|
|
1373
1376
|
if (!o || !/^[\d.,]+$/.test(o)) return;
|
|
1374
|
-
const
|
|
1377
|
+
const s = o.lastIndexOf(","), i = o.lastIndexOf("."), a = Math.max(s, i), u = a === -1 ? "" : o.slice(a + 1), l = a !== -1 && u.length >= 1 && u.length <= 2, d = l ? o.slice(0, a) : o;
|
|
1375
1378
|
if (!Bn(d)) return;
|
|
1376
|
-
const
|
|
1377
|
-
if (
|
|
1378
|
-
const f = Number(
|
|
1379
|
+
const c = d.replace(/[.,]/g, ""), p = l ? u.padEnd(2, "0") : "00";
|
|
1380
|
+
if (c === "") return;
|
|
1381
|
+
const f = Number(c) * 100 + Number(p);
|
|
1379
1382
|
return r ? -f : f;
|
|
1380
1383
|
}
|
|
1381
1384
|
function Bn(e) {
|
|
1382
1385
|
return /^\d+$/.test(e) ? !0 : e.includes(".") && e.includes(",") ? !1 : /^\d{1,3}([.,]\d{3})*$/.test(e);
|
|
1383
1386
|
}
|
|
1384
|
-
function
|
|
1387
|
+
function oa(e) {
|
|
1385
1388
|
return e.costPriceCents == null ? e.netCents : e.netCents - G(e.costPriceCents * e.quantity);
|
|
1386
1389
|
}
|
|
1387
1390
|
const jn = [
|
|
@@ -1406,20 +1409,20 @@ const jn = [
|
|
|
1406
1409
|
matches: (e, t) => !e.contractId && !e.companyId && !!e.segmentKey && e.segmentKey === t.segmentKey && !!e.categoryKey
|
|
1407
1410
|
}
|
|
1408
1411
|
];
|
|
1409
|
-
function
|
|
1412
|
+
function sa(e, t, n) {
|
|
1410
1413
|
const r = n.filter(
|
|
1411
1414
|
(o) => o.currency === e.currency && (o.validFrom == null || o.validFrom <= t.at) && (o.validTo == null || o.validTo >= t.at) && (o.minQuantity == null || t.quantity >= o.minQuantity) && (o.productId == null || o.productId === e.id) && (o.categoryKey == null || o.categoryKey === e.categoryKey) && (o.productId != null || o.categoryKey != null)
|
|
1412
1415
|
);
|
|
1413
1416
|
for (const o of jn) {
|
|
1414
|
-
const
|
|
1415
|
-
if (
|
|
1416
|
-
const
|
|
1417
|
-
(a,
|
|
1417
|
+
const s = r.filter((a) => o.matches(a, t));
|
|
1418
|
+
if (s.length === 0) continue;
|
|
1419
|
+
const i = s.reduce(
|
|
1420
|
+
(a, u) => (u.minQuantity ?? 0) >= (a.minQuantity ?? 0) ? u : a
|
|
1418
1421
|
);
|
|
1419
1422
|
return {
|
|
1420
|
-
unitPriceCents: Hn(
|
|
1421
|
-
sourceKey: (
|
|
1422
|
-
ruleId:
|
|
1423
|
+
unitPriceCents: Hn(i, e.listPriceCents),
|
|
1424
|
+
sourceKey: (i.minQuantity ?? 0) > 1 ? "tier" : o.key,
|
|
1425
|
+
ruleId: i.id
|
|
1423
1426
|
};
|
|
1424
1427
|
}
|
|
1425
1428
|
return { unitPriceCents: e.listPriceCents, sourceKey: "list" };
|
|
@@ -1427,19 +1430,19 @@ function ra(e, t, n) {
|
|
|
1427
1430
|
function Hn(e, t) {
|
|
1428
1431
|
return e.unitPriceCents != null ? e.unitPriceCents : e.discountPercent != null ? G(t * (1 - e.discountPercent / 100)) : t;
|
|
1429
1432
|
}
|
|
1430
|
-
const
|
|
1433
|
+
const ia = ["piece", "hour", "day", "month", "km", "license"], aa = /* @__PURE__ */ new Set(["mail", "message"]);
|
|
1431
1434
|
function Gn(e, t) {
|
|
1432
1435
|
const n = e.settings?.signatures?.[t];
|
|
1433
1436
|
return !n?.enabled || !n.body || n.body.trim() === "" ? null : n;
|
|
1434
1437
|
}
|
|
1435
|
-
function
|
|
1438
|
+
function ca(e, t, n, r = "html") {
|
|
1436
1439
|
if (!e) return n;
|
|
1437
1440
|
const o = Gn(e, t);
|
|
1438
1441
|
return o ? `${n}${r === "text" ? `
|
|
1439
1442
|
|
|
1440
1443
|
` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${o.body}` : n;
|
|
1441
1444
|
}
|
|
1442
|
-
function
|
|
1445
|
+
function la(e) {
|
|
1443
1446
|
return e.endpoints ?? [];
|
|
1444
1447
|
}
|
|
1445
1448
|
function $(e) {
|
|
@@ -1447,14 +1450,14 @@ function $(e) {
|
|
|
1447
1450
|
if (t)
|
|
1448
1451
|
return t.split(/[-_]/)[0] || void 0;
|
|
1449
1452
|
}
|
|
1450
|
-
function
|
|
1453
|
+
function ua(e) {
|
|
1451
1454
|
return $(e.contactLocale) ?? $(e.companyLocale) ?? $(e.organizationLocale);
|
|
1452
1455
|
}
|
|
1453
|
-
function
|
|
1456
|
+
function da(e, t, n, r) {
|
|
1454
1457
|
const o = e.filter((a) => a.key === t && !a.archived);
|
|
1455
1458
|
if (o.length === 0) return;
|
|
1456
|
-
const
|
|
1457
|
-
return o.find((a) => $(a.locale) ===
|
|
1459
|
+
const s = $(n), i = $(r);
|
|
1460
|
+
return o.find((a) => $(a.locale) === s) ?? o.find((a) => $(a.locale) === i) ?? // A row with no language at all is the single-language case: it is for everybody.
|
|
1458
1461
|
o.find((a) => !a.locale) ?? o[0];
|
|
1459
1462
|
}
|
|
1460
1463
|
const Wn = /\{([a-zA-Z0-9_.]+)\}/g;
|
|
@@ -1471,9 +1474,9 @@ function Vn(e) {
|
|
|
1471
1474
|
}
|
|
1472
1475
|
function zn(e, t, n) {
|
|
1473
1476
|
const r = [];
|
|
1474
|
-
return { text: e.replace(Wn, (
|
|
1475
|
-
const a = Ct(t,
|
|
1476
|
-
return a == null || a === "" ? (r.includes(
|
|
1477
|
+
return { text: e.replace(Wn, (s, i) => {
|
|
1478
|
+
const a = Ct(t, i);
|
|
1479
|
+
return a == null || a === "" ? (r.includes(i) || r.push(i), n ?? `{${i}}`) : Vn(a);
|
|
1477
1480
|
}), unresolved: r };
|
|
1478
1481
|
}
|
|
1479
1482
|
function Xn(e, t) {
|
|
@@ -1485,131 +1488,146 @@ function Xn(e, t) {
|
|
|
1485
1488
|
}
|
|
1486
1489
|
return e.equals !== void 0 ? n === e.equals : !0;
|
|
1487
1490
|
}
|
|
1488
|
-
function
|
|
1489
|
-
const
|
|
1490
|
-
const
|
|
1491
|
-
for (const
|
|
1492
|
-
return
|
|
1491
|
+
function pa(e, t, n, r, o) {
|
|
1492
|
+
const s = [], i = [], a = /* @__PURE__ */ new Set(), u = (l) => {
|
|
1493
|
+
const d = zn(l, t, o);
|
|
1494
|
+
for (const c of d.unresolved) s.includes(c) || s.push(c);
|
|
1495
|
+
return d.text;
|
|
1493
1496
|
};
|
|
1494
|
-
for (const
|
|
1495
|
-
if (
|
|
1496
|
-
const
|
|
1497
|
-
if (
|
|
1498
|
-
|
|
1497
|
+
for (const l of e) {
|
|
1498
|
+
if (l.block_id && !Xn(n?.[l.block_id], t)) continue;
|
|
1499
|
+
const d = l.block_id ? r?.[l.block_id] : void 0;
|
|
1500
|
+
if (d && l.block_id) {
|
|
1501
|
+
a.add(l.block_id), i.push(...d);
|
|
1499
1502
|
continue;
|
|
1500
1503
|
}
|
|
1501
|
-
switch (
|
|
1504
|
+
switch (l.type) {
|
|
1502
1505
|
case "heading":
|
|
1503
1506
|
case "paragraph":
|
|
1504
1507
|
case "quote":
|
|
1505
|
-
|
|
1508
|
+
i.push({ ...l, text: u(l.text) });
|
|
1506
1509
|
break;
|
|
1507
1510
|
case "callout":
|
|
1508
|
-
|
|
1509
|
-
...
|
|
1510
|
-
...
|
|
1511
|
-
text:
|
|
1511
|
+
i.push({
|
|
1512
|
+
...l,
|
|
1513
|
+
...l.title ? { title: u(l.title) } : {},
|
|
1514
|
+
text: u(l.text)
|
|
1512
1515
|
});
|
|
1513
1516
|
break;
|
|
1514
1517
|
case "code":
|
|
1515
|
-
|
|
1518
|
+
i.push(l);
|
|
1516
1519
|
break;
|
|
1517
1520
|
case "list":
|
|
1518
|
-
|
|
1519
|
-
...
|
|
1520
|
-
items:
|
|
1521
|
-
...
|
|
1522
|
-
text:
|
|
1521
|
+
i.push({
|
|
1522
|
+
...l,
|
|
1523
|
+
items: l.items.map((c) => ({
|
|
1524
|
+
...c.lead ? { lead: u(c.lead) } : {},
|
|
1525
|
+
text: u(c.text)
|
|
1523
1526
|
}))
|
|
1524
1527
|
});
|
|
1525
1528
|
break;
|
|
1526
1529
|
case "table":
|
|
1527
|
-
|
|
1528
|
-
...
|
|
1529
|
-
columns:
|
|
1530
|
-
rows:
|
|
1531
|
-
...
|
|
1530
|
+
i.push({
|
|
1531
|
+
...l,
|
|
1532
|
+
columns: l.columns.map((c) => ({ ...c, label: u(c.label) })),
|
|
1533
|
+
rows: l.rows.map((c) => c.map(u)),
|
|
1534
|
+
...l.caption ? { caption: u(l.caption) } : {}
|
|
1532
1535
|
});
|
|
1533
1536
|
break;
|
|
1534
1537
|
case "kpi":
|
|
1535
|
-
|
|
1536
|
-
...
|
|
1537
|
-
items:
|
|
1538
|
-
...
|
|
1539
|
-
value:
|
|
1540
|
-
label:
|
|
1538
|
+
i.push({
|
|
1539
|
+
...l,
|
|
1540
|
+
items: l.items.map((c) => ({
|
|
1541
|
+
...c,
|
|
1542
|
+
value: u(c.value),
|
|
1543
|
+
label: u(c.label)
|
|
1541
1544
|
}))
|
|
1542
1545
|
});
|
|
1543
1546
|
break;
|
|
1544
1547
|
case "letterhead":
|
|
1545
|
-
|
|
1546
|
-
...
|
|
1547
|
-
fields:
|
|
1548
|
-
...
|
|
1548
|
+
i.push({
|
|
1549
|
+
...l,
|
|
1550
|
+
fields: l.fields.map((c) => ({ ...c, value: u(c.value) })),
|
|
1551
|
+
...l.recipient ? { recipient: l.recipient.map(u) } : {}
|
|
1549
1552
|
});
|
|
1550
1553
|
break;
|
|
1551
1554
|
case "totals":
|
|
1552
|
-
|
|
1553
|
-
...
|
|
1554
|
-
rows:
|
|
1555
|
-
...
|
|
1556
|
-
label:
|
|
1557
|
-
amount:
|
|
1555
|
+
i.push({
|
|
1556
|
+
...l,
|
|
1557
|
+
rows: l.rows.map((c) => ({
|
|
1558
|
+
...c,
|
|
1559
|
+
label: u(c.label),
|
|
1560
|
+
amount: u(c.amount)
|
|
1558
1561
|
})),
|
|
1559
|
-
...
|
|
1560
|
-
taxRows:
|
|
1561
|
-
...
|
|
1562
|
-
label:
|
|
1563
|
-
amount:
|
|
1562
|
+
...l.taxRows ? {
|
|
1563
|
+
taxRows: l.taxRows.map((c) => ({
|
|
1564
|
+
...c,
|
|
1565
|
+
label: u(c.label),
|
|
1566
|
+
amount: u(c.amount)
|
|
1564
1567
|
}))
|
|
1565
1568
|
} : {}
|
|
1566
1569
|
});
|
|
1567
1570
|
break;
|
|
1568
1571
|
case "image":
|
|
1569
|
-
|
|
1570
|
-
...
|
|
1571
|
-
url:
|
|
1572
|
-
...
|
|
1572
|
+
i.push({
|
|
1573
|
+
...l,
|
|
1574
|
+
url: u(l.url),
|
|
1575
|
+
...l.alt ? { alt: u(l.alt) } : {}
|
|
1573
1576
|
});
|
|
1574
1577
|
break;
|
|
1575
1578
|
default:
|
|
1576
|
-
|
|
1579
|
+
i.push(l);
|
|
1577
1580
|
}
|
|
1578
1581
|
}
|
|
1579
|
-
return {
|
|
1582
|
+
return {
|
|
1583
|
+
blocks: i,
|
|
1584
|
+
unresolved: s,
|
|
1585
|
+
unusedSlots: Object.keys(r ?? {}).filter((l) => !a.has(l))
|
|
1586
|
+
};
|
|
1580
1587
|
}
|
|
1581
|
-
function
|
|
1582
|
-
const t = e?.
|
|
1588
|
+
function Yn(e) {
|
|
1589
|
+
const t = e?.address, n = [t?.street, t?.houseNumber].filter(Boolean).join(" "), r = [t?.postalCode, t?.city].filter(Boolean).join(" ");
|
|
1583
1590
|
return {
|
|
1584
|
-
name:
|
|
1585
|
-
addressLines: [
|
|
1591
|
+
name: e?.name ?? "",
|
|
1592
|
+
addressLines: [n, r, t?.country ?? ""].filter(Boolean),
|
|
1586
1593
|
footerLines: [
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1594
|
+
e?.footerText ?? "",
|
|
1595
|
+
e?.kvkNumber ? `KvK ${e.kvkNumber}` : "",
|
|
1596
|
+
e?.vatNumber ? `Btw ${e.vatNumber}` : "",
|
|
1597
|
+
e?.iban ? `IBAN ${e.iban}` : ""
|
|
1591
1598
|
].filter(Boolean),
|
|
1592
1599
|
...e?.logo ? { logo: e.logo } : {}
|
|
1593
1600
|
};
|
|
1594
1601
|
}
|
|
1595
|
-
|
|
1602
|
+
function fa(e) {
|
|
1603
|
+
return Yn({
|
|
1604
|
+
name: e?.billing?.companyName || e?.name || e?.displayName || "",
|
|
1605
|
+
address: e?.address,
|
|
1606
|
+
kvkNumber: e?.billing?.kvkNumber,
|
|
1607
|
+
vatNumber: e?.billing?.vatNumber,
|
|
1608
|
+
iban: e?.houseStyle?.iban,
|
|
1609
|
+
footerText: e?.houseStyle?.footerText,
|
|
1610
|
+
logo: e?.logo
|
|
1611
|
+
});
|
|
1612
|
+
}
|
|
1613
|
+
const qn = 36e5, Qn = 864e5, L = -1 / 0, ma = (e) => e.score > L, J = {
|
|
1596
1614
|
urgent: 40,
|
|
1597
1615
|
high: 25,
|
|
1598
1616
|
normal: 10,
|
|
1599
1617
|
low: 0
|
|
1600
1618
|
};
|
|
1601
|
-
function
|
|
1619
|
+
function ha(e) {
|
|
1602
1620
|
return Object.fromEntries(e.map((t) => [t.resourceId, t]));
|
|
1603
1621
|
}
|
|
1604
|
-
const
|
|
1605
|
-
function
|
|
1606
|
-
return !!(e &&
|
|
1622
|
+
const Zn = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, Ot = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
|
|
1623
|
+
function Jn(e, t) {
|
|
1624
|
+
return !!(e && Zn.test(e) || t && Ot.test(t));
|
|
1607
1625
|
}
|
|
1608
|
-
const
|
|
1609
|
-
function
|
|
1610
|
-
return e >=
|
|
1626
|
+
const er = 3, tr = 600;
|
|
1627
|
+
function ga(e, t) {
|
|
1628
|
+
return e >= er || t >= tr;
|
|
1611
1629
|
}
|
|
1612
|
-
const
|
|
1630
|
+
const nr = [
|
|
1613
1631
|
"list-unsubscribe",
|
|
1614
1632
|
"list-unsubscribe-post",
|
|
1615
1633
|
"list-id",
|
|
@@ -1619,89 +1637,89 @@ const tr = [
|
|
|
1619
1637
|
"feedback-id",
|
|
1620
1638
|
"x-mailer"
|
|
1621
1639
|
];
|
|
1622
|
-
function
|
|
1640
|
+
function ya(e) {
|
|
1623
1641
|
const t = {};
|
|
1624
1642
|
for (const n of e) {
|
|
1625
1643
|
const r = n.name?.toLowerCase();
|
|
1626
|
-
r && n.value !== void 0 &&
|
|
1644
|
+
r && n.value !== void 0 && nr.includes(r) && (t[r] = n.value);
|
|
1627
1645
|
}
|
|
1628
1646
|
return t;
|
|
1629
1647
|
}
|
|
1630
|
-
const
|
|
1631
|
-
function
|
|
1648
|
+
const rr = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i, or = /(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;
|
|
1649
|
+
function ba(e) {
|
|
1632
1650
|
const t = e.headers ?? {}, n = e.from?.email, r = t["auto-submitted"]?.toLowerCase();
|
|
1633
|
-
if (r && r !== "no" || t["x-auto-response-suppress"] || n &&
|
|
1651
|
+
if (r && r !== "no" || t["x-auto-response-suppress"] || n && rr.test(n))
|
|
1634
1652
|
return "automated";
|
|
1635
1653
|
const o = t.precedence?.toLowerCase();
|
|
1636
|
-
if (t["list-unsubscribe"] || t["list-unsubscribe-post"] || t["list-id"] || o === "bulk" || o === "list" || e.body && Ot.test(e.body) || n &&
|
|
1654
|
+
if (t["list-unsubscribe"] || t["list-unsubscribe-post"] || t["list-id"] || o === "bulk" || o === "list" || e.body && Ot.test(e.body) || n && or.test(n))
|
|
1637
1655
|
return "marketing";
|
|
1638
1656
|
}
|
|
1639
|
-
function
|
|
1657
|
+
function sr(e, t) {
|
|
1640
1658
|
return e.lastActivityAt ? !(e.seenBy ?? []).includes(t) : !1;
|
|
1641
1659
|
}
|
|
1642
|
-
const ir = ["open"],
|
|
1660
|
+
const ir = ["open"], ar = 1e3, cr = {
|
|
1643
1661
|
urgent: 1,
|
|
1644
1662
|
high: 4,
|
|
1645
1663
|
normal: 8,
|
|
1646
1664
|
low: 24
|
|
1647
|
-
},
|
|
1648
|
-
function
|
|
1665
|
+
}, lr = 72;
|
|
1666
|
+
function ur(e) {
|
|
1649
1667
|
return e.lastActivityAt ?? (e.createdAt ? new Date(gn(e)).getTime() : 0);
|
|
1650
1668
|
}
|
|
1651
|
-
function
|
|
1652
|
-
return
|
|
1669
|
+
function dr(e, t) {
|
|
1670
|
+
return pr(t.remindersById?.[e.id], e, t.now);
|
|
1653
1671
|
}
|
|
1654
|
-
function
|
|
1672
|
+
function pr(e, t, n) {
|
|
1655
1673
|
return !e || e.remindAt <= n ? !1 : !((t.lastActivityAt ?? 0) > e.parkedAt && t.lastActivityPreview?.direction === "inbound");
|
|
1656
1674
|
}
|
|
1657
1675
|
const xt = (e) => un(e) === "outbound_message", Nt = (e) => ir.includes(e);
|
|
1658
|
-
function
|
|
1659
|
-
return Math.max(0, (t -
|
|
1676
|
+
function Me(e, t) {
|
|
1677
|
+
return Math.max(0, (t - ur(e)) / qn);
|
|
1660
1678
|
}
|
|
1661
|
-
function
|
|
1679
|
+
function fr(e, t) {
|
|
1662
1680
|
const n = e.assignedInboxId ? t?.[e.assignedInboxId] : void 0;
|
|
1663
|
-
return typeof n == "number" && n > 0 ? n :
|
|
1681
|
+
return typeof n == "number" && n > 0 ? n : cr[e.priority ?? "normal"];
|
|
1664
1682
|
}
|
|
1665
|
-
function
|
|
1683
|
+
function _a(e) {
|
|
1666
1684
|
const t = {};
|
|
1667
1685
|
for (const n of e)
|
|
1668
1686
|
typeof n.slaHours == "number" && n.slaHours > 0 && (t[n.id] = n.slaHours);
|
|
1669
1687
|
return t;
|
|
1670
1688
|
}
|
|
1671
|
-
function
|
|
1672
|
-
return !Nt(e.status) || e.firstResponseAt ? !1 :
|
|
1689
|
+
function Aa(e, t, n) {
|
|
1690
|
+
return !Nt(e.status) || e.firstResponseAt ? !1 : Me(e, t) > fr(e, n);
|
|
1673
1691
|
}
|
|
1674
|
-
function
|
|
1692
|
+
function mr(e, t) {
|
|
1675
1693
|
const n = e.lastActivityPreview;
|
|
1676
|
-
return n?.direction !== "outbound" || !xt(n.type) ? !1 :
|
|
1694
|
+
return n?.direction !== "outbound" || !xt(n.type) ? !1 : Me(e, t) < lr;
|
|
1677
1695
|
}
|
|
1678
|
-
function
|
|
1696
|
+
function Sa(e, t) {
|
|
1679
1697
|
if (!Nt(e.status)) return { score: L, reasons: [] };
|
|
1680
1698
|
if (e.snoozedTill && e.snoozedTill > t.now) return { score: L, reasons: [] };
|
|
1681
|
-
if (
|
|
1682
|
-
if (
|
|
1699
|
+
if (mr(e, t.now)) return { score: L, reasons: [] };
|
|
1700
|
+
if (dr(e, t)) return { score: L, reasons: [] };
|
|
1683
1701
|
let n = 0;
|
|
1684
1702
|
const r = [], o = e.priority ?? "normal";
|
|
1685
|
-
J[o] > 0 && (n += J[o], r.push(`priority:${o}`)),
|
|
1686
|
-
const
|
|
1687
|
-
if (
|
|
1688
|
-
const
|
|
1689
|
-
n +=
|
|
1703
|
+
J[o] > 0 && (n += J[o], r.push(`priority:${o}`)), sr(e, t.userId) && (n += 20, r.push("unseen")), e.assignedUserId && e.assignedUserId === t.userId && (n += 15, r.push("assigned-to-you"));
|
|
1704
|
+
const s = Me(e, t.now);
|
|
1705
|
+
if (s > 0) {
|
|
1706
|
+
const u = Math.min(s * 2, 30);
|
|
1707
|
+
n += u, s >= 1 && r.push(`waiting:${Math.round(s)}h`);
|
|
1690
1708
|
}
|
|
1691
|
-
const
|
|
1692
|
-
return
|
|
1709
|
+
const i = e.lastActivityPreview;
|
|
1710
|
+
return i?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), i?.direction === "outbound" && xt(i.type) && (n += 10, r.push("no-reply")), !e.firstResponseAt && e.lastActivityPreview?.direction === "inbound" && (n += 10, r.push("awaiting-reply")), (e.tags?.some((u) => u === "marketing" || u === "automated") || Jn(e.remoteParty?.resource, e.lastActivityPreview?.snippet)) && (n -= ar, r.push("bulk")), { score: n, reasons: r };
|
|
1693
1711
|
}
|
|
1694
|
-
const
|
|
1712
|
+
const Ea = (e) => !!e.assignedUserId || !!e.assignedInboxId, Ia = (e) => e.status === "closed", Ta = (e) => ({
|
|
1695
1713
|
urgent: 10,
|
|
1696
1714
|
high: 5,
|
|
1697
1715
|
normal: 2,
|
|
1698
1716
|
low: 1
|
|
1699
|
-
})[e.priority] || 0,
|
|
1700
|
-
function
|
|
1717
|
+
})[e.priority] || 0, wa = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
|
|
1718
|
+
function ka(e, t) {
|
|
1701
1719
|
const n = e.labels ?? [];
|
|
1702
1720
|
return n.find((r) => r.locale === t)?.label ?? n[0]?.label ?? e.url;
|
|
1703
1721
|
}
|
|
1704
|
-
function
|
|
1722
|
+
function va(e, t, n) {
|
|
1705
1723
|
const r = e.translations ?? [];
|
|
1706
1724
|
return r.find((o) => o.locale === t) ?? (n ? r.find((o) => o.locale === n) : void 0) ?? { locale: t };
|
|
1707
1725
|
}
|
|
@@ -1724,15 +1742,15 @@ function Rt(e) {
|
|
|
1724
1742
|
const t = (e ?? "").toLowerCase();
|
|
1725
1743
|
return Ze.find((n) => n.code === t) ?? Ze.find((n) => n.code === t.split("-")[0]);
|
|
1726
1744
|
}
|
|
1727
|
-
function
|
|
1745
|
+
function Ma(e) {
|
|
1728
1746
|
return Rt(e)?.label ?? e;
|
|
1729
1747
|
}
|
|
1730
|
-
function
|
|
1748
|
+
function Ca(e) {
|
|
1731
1749
|
const t = Rt(e);
|
|
1732
1750
|
return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
|
|
1733
1751
|
}
|
|
1734
1752
|
const Dt = 3;
|
|
1735
|
-
function
|
|
1753
|
+
function hr(e, t) {
|
|
1736
1754
|
const n = /* @__PURE__ */ new Set();
|
|
1737
1755
|
let r = 1, o = t.get(e)?.parentId;
|
|
1738
1756
|
for (; o; ) {
|
|
@@ -1741,15 +1759,15 @@ function mr(e, t) {
|
|
|
1741
1759
|
}
|
|
1742
1760
|
return r;
|
|
1743
1761
|
}
|
|
1744
|
-
function
|
|
1762
|
+
function Oa(e, t, n) {
|
|
1745
1763
|
if (!e) return !0;
|
|
1746
1764
|
if (e === t) return !1;
|
|
1747
|
-
const r = new Map(n.map((
|
|
1748
|
-
if (!r.has(e) || t &&
|
|
1749
|
-
const o =
|
|
1750
|
-
return o +
|
|
1765
|
+
const r = new Map(n.map((i) => [i.id, i]));
|
|
1766
|
+
if (!r.has(e) || t && gr(e, t, r)) return !1;
|
|
1767
|
+
const o = hr(e, r), s = t ? $t(t, n) : 1;
|
|
1768
|
+
return o + s <= Dt;
|
|
1751
1769
|
}
|
|
1752
|
-
function
|
|
1770
|
+
function gr(e, t, n) {
|
|
1753
1771
|
const r = /* @__PURE__ */ new Set();
|
|
1754
1772
|
let o = n.get(e)?.parentId;
|
|
1755
1773
|
for (; o; ) {
|
|
@@ -1765,17 +1783,17 @@ function $t(e, t, n = /* @__PURE__ */ new Set()) {
|
|
|
1765
1783
|
const r = t.filter((o) => o.parentId === e);
|
|
1766
1784
|
return r.length ? 1 + Math.max(...r.map((o) => $t(o.id, t, n))) : 1;
|
|
1767
1785
|
}
|
|
1768
|
-
const
|
|
1769
|
-
function
|
|
1770
|
-
return e.defaultLocale || e.locale ||
|
|
1786
|
+
const yr = "en";
|
|
1787
|
+
function br(e) {
|
|
1788
|
+
return e.defaultLocale || e.locale || yr;
|
|
1771
1789
|
}
|
|
1772
|
-
function
|
|
1790
|
+
function xa(e) {
|
|
1773
1791
|
const t = /* @__PURE__ */ new Set(), n = [];
|
|
1774
|
-
for (const r of [
|
|
1792
|
+
for (const r of [br(e), ...e.locales ?? []])
|
|
1775
1793
|
!r || t.has(r) || (t.add(r), n.push(r));
|
|
1776
1794
|
return n;
|
|
1777
1795
|
}
|
|
1778
|
-
function
|
|
1796
|
+
function Na(e, t, n) {
|
|
1779
1797
|
const r = e.translations ?? [];
|
|
1780
1798
|
return r.find((o) => o.locale === t)?.name ?? (n ? r.find((o) => o.locale === n)?.name : void 0) ?? e.name;
|
|
1781
1799
|
}
|
|
@@ -1796,7 +1814,7 @@ function et(e) {
|
|
|
1796
1814
|
}
|
|
1797
1815
|
return null;
|
|
1798
1816
|
}
|
|
1799
|
-
function
|
|
1817
|
+
function _r(e, t) {
|
|
1800
1818
|
switch (e.kind) {
|
|
1801
1819
|
case "org":
|
|
1802
1820
|
return !0;
|
|
@@ -1806,29 +1824,29 @@ function br(e, t) {
|
|
|
1806
1824
|
return e.userId === t.userId;
|
|
1807
1825
|
}
|
|
1808
1826
|
}
|
|
1809
|
-
function
|
|
1810
|
-
return e.filter((n) => n.enabled &&
|
|
1827
|
+
function Ra(e, t) {
|
|
1828
|
+
return e.filter((n) => n.enabled && _r(n.ownerScope, t));
|
|
1811
1829
|
}
|
|
1812
|
-
function
|
|
1830
|
+
function Da(e) {
|
|
1813
1831
|
return e.credentialScope ? e.credentialScope : (e.authMode ?? "header") === "header" || e.oauth?.scope === "org" ? "shared" : "per-user";
|
|
1814
1832
|
}
|
|
1815
|
-
function
|
|
1833
|
+
function $a(e) {
|
|
1816
1834
|
return `mcp__${e}__`;
|
|
1817
1835
|
}
|
|
1818
|
-
const
|
|
1819
|
-
function
|
|
1836
|
+
const La = 1e3, Pa = 2e3, Ka = 500, Ua = 12e3, Fa = 4e3, Ar = ["contact", "company", "work_item"];
|
|
1837
|
+
function Ba(e) {
|
|
1820
1838
|
if (!e) return !1;
|
|
1821
1839
|
const t = e.slice(0, e.indexOf(":"));
|
|
1822
1840
|
return Ar.includes(t);
|
|
1823
1841
|
}
|
|
1824
|
-
const
|
|
1842
|
+
const ja = [
|
|
1825
1843
|
{ key: "high", label: "tax_high", percent: 21, kind: "standard" },
|
|
1826
1844
|
{ key: "low", label: "tax_low", percent: 9, kind: "reduced" },
|
|
1827
1845
|
{ key: "zero", label: "tax_zero", percent: 0, kind: "zero" },
|
|
1828
1846
|
{ key: "reverse_charge", label: "tax_reverse_charge", percent: 0, kind: "reverse_charge" },
|
|
1829
1847
|
{ key: "exempt", label: "tax_exempt", percent: 0, kind: "exempt" }
|
|
1830
1848
|
];
|
|
1831
|
-
function
|
|
1849
|
+
function Sr(e, t) {
|
|
1832
1850
|
return t.find((n) => n.key === e) ?? {
|
|
1833
1851
|
key: e,
|
|
1834
1852
|
label: e,
|
|
@@ -1841,39 +1859,39 @@ function Er(e) {
|
|
|
1841
1859
|
const t = 1 - (e.discountPercent ?? 0) / 100;
|
|
1842
1860
|
return G(e.quantity * e.unitPriceCents * t);
|
|
1843
1861
|
}
|
|
1844
|
-
function
|
|
1845
|
-
const r = e.map((
|
|
1846
|
-
for (let
|
|
1847
|
-
if (r[
|
|
1848
|
-
const d = n ?? r[
|
|
1849
|
-
|
|
1862
|
+
function Ha(e, t, n) {
|
|
1863
|
+
const r = e.map((l) => ({ ...l, netCents: Er(l), taxCents: 0 })), o = /* @__PURE__ */ new Map();
|
|
1864
|
+
for (let l = 0; l < r.length; l++) {
|
|
1865
|
+
if (r[l].kind !== "product" || r[l].optional) continue;
|
|
1866
|
+
const d = n ?? r[l].taxRateKey, c = o.get(d);
|
|
1867
|
+
c ? c.push(l) : o.set(d, [l]);
|
|
1850
1868
|
}
|
|
1851
|
-
const
|
|
1852
|
-
let
|
|
1853
|
-
for (const [
|
|
1854
|
-
const
|
|
1869
|
+
const s = [];
|
|
1870
|
+
let i = 0, a = 0;
|
|
1871
|
+
for (const [l, d] of o) {
|
|
1872
|
+
const c = Sr(l, t), p = d.reduce((m, E) => m + r[E].netCents, 0), f = G(p * c.percent / 100), y = Fn(
|
|
1855
1873
|
f,
|
|
1856
1874
|
d.map((m) => r[m].netCents)
|
|
1857
1875
|
);
|
|
1858
1876
|
for (let m = 0; m < d.length; m++) r[d[m]].taxCents = y[m];
|
|
1859
|
-
|
|
1877
|
+
s.push({ taxRateKey: l, netCents: p, taxCents: f }), i += p, a += f;
|
|
1860
1878
|
}
|
|
1861
|
-
const
|
|
1862
|
-
(
|
|
1879
|
+
const u = r.reduce(
|
|
1880
|
+
(l, d) => d.costPriceCents == null || d.optional ? l : l + G(d.costPriceCents * d.quantity),
|
|
1863
1881
|
0
|
|
1864
1882
|
);
|
|
1865
1883
|
return {
|
|
1866
1884
|
lines: r,
|
|
1867
1885
|
totals: {
|
|
1868
|
-
netCents:
|
|
1886
|
+
netCents: i,
|
|
1869
1887
|
taxCents: a,
|
|
1870
|
-
grossCents:
|
|
1871
|
-
costCents:
|
|
1872
|
-
byRate:
|
|
1888
|
+
grossCents: i + a,
|
|
1889
|
+
costCents: u,
|
|
1890
|
+
byRate: s
|
|
1873
1891
|
}
|
|
1874
1892
|
};
|
|
1875
1893
|
}
|
|
1876
|
-
const
|
|
1894
|
+
const Ga = "onboarding-source", Wa = ["support", "billing", "availability", "sales", "onboarding"], Va = ["keep", "replace"], Ce = [
|
|
1877
1895
|
{
|
|
1878
1896
|
key: "shift",
|
|
1879
1897
|
label: "kind_shift",
|
|
@@ -1947,7 +1965,7 @@ const ja = "onboarding-source", Ha = ["support", "billing", "availability", "sal
|
|
|
1947
1965
|
absent: !0,
|
|
1948
1966
|
icon: "party-popper"
|
|
1949
1967
|
}
|
|
1950
|
-
],
|
|
1968
|
+
], Ir = {
|
|
1951
1969
|
key: "unknown",
|
|
1952
1970
|
label: "kind_unknown",
|
|
1953
1971
|
capacity: !1,
|
|
@@ -1955,7 +1973,7 @@ const ja = "onboarding-source", Ha = ["support", "billing", "availability", "sal
|
|
|
1955
1973
|
absent: !1
|
|
1956
1974
|
};
|
|
1957
1975
|
function N(e, t = Ce) {
|
|
1958
|
-
return t.find((n) => n.key === e) ?? { ...
|
|
1976
|
+
return t.find((n) => n.key === e) ?? { ...Ir, key: e };
|
|
1959
1977
|
}
|
|
1960
1978
|
function W(e) {
|
|
1961
1979
|
return e === "published" || e === "approved";
|
|
@@ -1965,18 +1983,18 @@ function Lt(e, t, n = Ce) {
|
|
|
1965
1983
|
const r = N(e.kindKey, n);
|
|
1966
1984
|
return r.absent ? !1 : r.productive || r.capacity;
|
|
1967
1985
|
}
|
|
1968
|
-
function
|
|
1986
|
+
function za(e, t = Ce) {
|
|
1969
1987
|
if (!e.userId || !W(e.status)) return !1;
|
|
1970
1988
|
const n = N(e.kindKey, t);
|
|
1971
1989
|
return n.capacity || n.productive || n.absent;
|
|
1972
1990
|
}
|
|
1973
|
-
const
|
|
1974
|
-
function
|
|
1975
|
-
return Math.round((t - e) /
|
|
1991
|
+
const Tr = 864e5;
|
|
1992
|
+
function wr(e, t) {
|
|
1993
|
+
return Math.round((t - e) / Tr);
|
|
1976
1994
|
}
|
|
1977
1995
|
function Pt(e, t) {
|
|
1978
1996
|
const n = e.cycleMinutes.length;
|
|
1979
|
-
return n === 0 ? 0 : (
|
|
1997
|
+
return n === 0 ? 0 : (wr(e.anchor, t) % n + n) % n;
|
|
1980
1998
|
}
|
|
1981
1999
|
function Kt(e, t) {
|
|
1982
2000
|
return e.effectiveFrom !== void 0 && t < e.effectiveFrom ? 0 : e.cycleMinutes[Pt(e, t)] ?? 0;
|
|
@@ -1987,18 +2005,18 @@ function Ut(e, t) {
|
|
|
1987
2005
|
function Ft(e, t, n, r) {
|
|
1988
2006
|
const o = e.filter(
|
|
1989
2007
|
(a) => a.effectiveFrom === void 0 || a.effectiveFrom <= r
|
|
1990
|
-
),
|
|
1991
|
-
return
|
|
2008
|
+
), s = (a) => a.sort((u, l) => (l.effectiveFrom ?? 0) - (u.effectiveFrom ?? 0))[0], i = s(o.filter((a) => a.userId === t));
|
|
2009
|
+
return i || s(
|
|
1992
2010
|
o.filter((a) => !a.userId && a.teamId && n.includes(a.teamId))
|
|
1993
2011
|
);
|
|
1994
2012
|
}
|
|
1995
|
-
function
|
|
2013
|
+
function kr(e, t, n) {
|
|
1996
2014
|
return e.filter(
|
|
1997
2015
|
(r) => r.userId === t && (r.effectiveFrom === void 0 || r.effectiveFrom <= n)
|
|
1998
2016
|
).sort((r, o) => (o.effectiveFrom ?? 0) - (r.effectiveFrom ?? 0))[0];
|
|
1999
2017
|
}
|
|
2000
2018
|
const he = 864e5;
|
|
2001
|
-
function
|
|
2019
|
+
function vr(e) {
|
|
2002
2020
|
const t = Math.max(1, Math.round((e.to - e.from) / he));
|
|
2003
2021
|
return Array.from({ length: t }, (n, r) => e.from + r * he);
|
|
2004
2022
|
}
|
|
@@ -2007,242 +2025,242 @@ function ge(e, t, n, r) {
|
|
|
2007
2025
|
return o > 0 ? o / 1e3 : 0;
|
|
2008
2026
|
}
|
|
2009
2027
|
const tt = { interval: 0, day: 1, week: 2 };
|
|
2010
|
-
function
|
|
2011
|
-
const { entries: n, patterns: r = [], terms: o = [] } = t,
|
|
2012
|
-
(
|
|
2013
|
-
),
|
|
2014
|
-
(
|
|
2028
|
+
function Xa(e, t) {
|
|
2029
|
+
const { entries: n, patterns: r = [], terms: o = [] } = t, s = n.filter(
|
|
2030
|
+
(c) => c.userId && W(c.status) && N(c.kindKey).capacity
|
|
2031
|
+
), i = n.filter(
|
|
2032
|
+
(c) => c.userId && W(c.status) && N(c.kindKey).absent
|
|
2015
2033
|
), a = t.userIds ?? [
|
|
2016
2034
|
.../* @__PURE__ */ new Set([
|
|
2017
|
-
...
|
|
2018
|
-
...r.map((
|
|
2019
|
-
...o.map((
|
|
2035
|
+
...s.map((c) => c.userId),
|
|
2036
|
+
...r.map((c) => c.userId),
|
|
2037
|
+
...o.map((c) => c.userId)
|
|
2020
2038
|
])
|
|
2021
|
-
].filter((
|
|
2022
|
-
let
|
|
2023
|
-
const d = (
|
|
2024
|
-
tt[
|
|
2039
|
+
].filter((c) => !!c), u = {};
|
|
2040
|
+
let l = "interval";
|
|
2041
|
+
const d = (c) => {
|
|
2042
|
+
tt[c] > tt[l] && (l = c);
|
|
2025
2043
|
};
|
|
2026
|
-
for (const
|
|
2027
|
-
const p = t.teamIdsOf?.(
|
|
2044
|
+
for (const c of a) {
|
|
2045
|
+
const p = t.teamIdsOf?.(c) ?? [];
|
|
2028
2046
|
let f = 0, y = 0, m = 0;
|
|
2029
|
-
for (const h of
|
|
2030
|
-
const
|
|
2047
|
+
for (const h of vr(e)) {
|
|
2048
|
+
const S = Math.max(h, e.from), x = Math.min(h + he, e.to);
|
|
2031
2049
|
m++;
|
|
2032
|
-
const C =
|
|
2050
|
+
const C = s.filter((k) => k.userId === c).reduce((k, $e) => k + ge($e.start, $e.end, S, x), 0);
|
|
2033
2051
|
if (C > 0) {
|
|
2034
2052
|
f += C;
|
|
2035
2053
|
continue;
|
|
2036
2054
|
}
|
|
2037
|
-
const
|
|
2038
|
-
if (
|
|
2039
|
-
f += O * 60, d(Ut(
|
|
2055
|
+
const v = Ft(r, c, p, h), O = v ? Kt(v, h) : 0;
|
|
2056
|
+
if (v && O > 0) {
|
|
2057
|
+
f += O * 60, d(Ut(v, h) ? "interval" : "day");
|
|
2040
2058
|
continue;
|
|
2041
2059
|
}
|
|
2042
|
-
|
|
2060
|
+
v || y++;
|
|
2043
2061
|
}
|
|
2044
2062
|
if (y > 0) {
|
|
2045
|
-
const h =
|
|
2063
|
+
const h = kr(o, c, e.from);
|
|
2046
2064
|
h && (f += h.weeklyMinutes * 60 * (y / 7), d("week"));
|
|
2047
2065
|
}
|
|
2048
|
-
const
|
|
2049
|
-
(h,
|
|
2066
|
+
const E = i.filter((h) => h.userId === c).reduce(
|
|
2067
|
+
(h, S) => h + ge(S.start, S.end, e.from, e.to),
|
|
2050
2068
|
0
|
|
2051
|
-
), g = Math.max(0, f -
|
|
2052
|
-
(g > 0 || m > 0) && (c
|
|
2069
|
+
), g = Math.max(0, f - E);
|
|
2070
|
+
(g > 0 || m > 0) && (u[c] = g);
|
|
2053
2071
|
}
|
|
2054
2072
|
return {
|
|
2055
|
-
seconds: Object.values(
|
|
2056
|
-
precision:
|
|
2057
|
-
byUser:
|
|
2073
|
+
seconds: Object.values(u).reduce((c, p) => c + p, 0),
|
|
2074
|
+
precision: l,
|
|
2075
|
+
byUser: u
|
|
2058
2076
|
};
|
|
2059
2077
|
}
|
|
2060
|
-
function
|
|
2078
|
+
function Ya(e, t) {
|
|
2061
2079
|
if (!e.some((a) => a.userId)) return [];
|
|
2062
2080
|
const n = "", r = /* @__PURE__ */ new Map();
|
|
2063
2081
|
for (const a of e) {
|
|
2064
|
-
const
|
|
2065
|
-
r.set(
|
|
2082
|
+
const u = a.userId ?? n;
|
|
2083
|
+
r.set(u, (r.get(u) ?? 0) + a.seconds);
|
|
2066
2084
|
}
|
|
2067
|
-
const
|
|
2085
|
+
const s = [.../* @__PURE__ */ new Set([
|
|
2068
2086
|
...Object.keys(t.byUser),
|
|
2069
2087
|
...[...r.keys()].filter((a) => a !== n)
|
|
2070
2088
|
])].map((a) => {
|
|
2071
|
-
const
|
|
2089
|
+
const u = r.get(a) ?? 0, l = t.byUser[a] ?? 0;
|
|
2072
2090
|
return {
|
|
2073
2091
|
userId: a,
|
|
2074
|
-
requiredSeconds:
|
|
2075
|
-
capacitySeconds:
|
|
2076
|
-
netSeconds:
|
|
2092
|
+
requiredSeconds: u,
|
|
2093
|
+
capacitySeconds: l,
|
|
2094
|
+
netSeconds: l - u
|
|
2077
2095
|
};
|
|
2078
2096
|
});
|
|
2079
|
-
|
|
2080
|
-
const
|
|
2081
|
-
return
|
|
2097
|
+
s.sort((a, u) => a.netSeconds - u.netSeconds);
|
|
2098
|
+
const i = r.get(n) ?? 0;
|
|
2099
|
+
return i > 0 && s.push({ requiredSeconds: i, capacitySeconds: 0, netSeconds: -i }), s;
|
|
2082
2100
|
}
|
|
2083
|
-
function
|
|
2101
|
+
function qa(e, t, n, r) {
|
|
2084
2102
|
const o = e.filter(
|
|
2085
|
-
(
|
|
2086
|
-
),
|
|
2087
|
-
([
|
|
2088
|
-
let
|
|
2103
|
+
(i) => i.userId && W(i.status) && !N(i.kindKey).absent
|
|
2104
|
+
), s = Object.entries(r.byUser).map(
|
|
2105
|
+
([i, a]) => {
|
|
2106
|
+
let u = 0, l = 0;
|
|
2089
2107
|
for (const d of o) {
|
|
2090
|
-
if (d.userId !==
|
|
2091
|
-
const
|
|
2092
|
-
|
|
2108
|
+
if (d.userId !== i || N(d.kindKey).capacity && !d.workstreamId) continue;
|
|
2109
|
+
const c = ge(d.start, d.end, n.from, n.to);
|
|
2110
|
+
c <= 0 || (Lt(d, t) ? u += c : l += c);
|
|
2093
2111
|
}
|
|
2094
2112
|
return {
|
|
2095
|
-
userId:
|
|
2113
|
+
userId: i,
|
|
2096
2114
|
capacitySeconds: a,
|
|
2097
|
-
onThisSeconds:
|
|
2098
|
-
elsewhereSeconds:
|
|
2099
|
-
freeSeconds: Math.max(0, a -
|
|
2115
|
+
onThisSeconds: u,
|
|
2116
|
+
elsewhereSeconds: l,
|
|
2117
|
+
freeSeconds: Math.max(0, a - u - l)
|
|
2100
2118
|
};
|
|
2101
2119
|
}
|
|
2102
2120
|
);
|
|
2103
|
-
return
|
|
2121
|
+
return s.sort((i, a) => a.freeSeconds - i.freeSeconds), s;
|
|
2104
2122
|
}
|
|
2105
|
-
const
|
|
2123
|
+
const Qa = "demand-source", nt = 1e3;
|
|
2106
2124
|
function Mr(e, t) {
|
|
2107
2125
|
let n = 1;
|
|
2108
2126
|
for (let r = 1; r <= e; r++)
|
|
2109
2127
|
n = t * n / (r + t * n);
|
|
2110
2128
|
return n;
|
|
2111
2129
|
}
|
|
2112
|
-
function
|
|
2130
|
+
function Cr(e, t) {
|
|
2113
2131
|
if (e <= 0) return 1;
|
|
2114
2132
|
if (t <= 0) return 0;
|
|
2115
2133
|
if (e <= t) return 1;
|
|
2116
2134
|
const n = Mr(e, t), r = t / e;
|
|
2117
2135
|
return n / (1 - r * (1 - n));
|
|
2118
2136
|
}
|
|
2119
|
-
function
|
|
2120
|
-
return r <= 0 ? 1 : e <= t ? 0 : 1 -
|
|
2137
|
+
function Or(e, t, n, r) {
|
|
2138
|
+
return r <= 0 ? 1 : e <= t ? 0 : 1 - Cr(e, t) * Math.exp(-(e - t) * n / r);
|
|
2121
2139
|
}
|
|
2122
|
-
function
|
|
2140
|
+
function xr(e, t, n) {
|
|
2123
2141
|
return n <= 0 ? 0 : e * t / n;
|
|
2124
2142
|
}
|
|
2125
|
-
function
|
|
2143
|
+
function Nr(e, t, n, r) {
|
|
2126
2144
|
if (e <= 0 || t <= 0) return 0;
|
|
2127
|
-
const o =
|
|
2145
|
+
const o = xr(e, t, n);
|
|
2128
2146
|
if (o <= 0) return 0;
|
|
2129
|
-
const
|
|
2147
|
+
const s = r.serviceLevelPercent / 100, i = r.maxOccupancyPercent ? r.maxOccupancyPercent / 100 : void 0;
|
|
2130
2148
|
for (let a = Math.max(1, Math.ceil(o)); a <= nt; a++)
|
|
2131
|
-
if (!(a <= o) && !(
|
|
2149
|
+
if (!(a <= o) && !(Or(a, o, r.targetSeconds, t) < s) && !(i && o / a > i))
|
|
2132
2150
|
return a;
|
|
2133
2151
|
return nt;
|
|
2134
2152
|
}
|
|
2135
|
-
const
|
|
2136
|
-
function
|
|
2137
|
-
return e === "day" ?
|
|
2153
|
+
const Rr = 36e5, Dr = 864e5;
|
|
2154
|
+
function $r(e) {
|
|
2155
|
+
return e === "day" ? Dr : Rr;
|
|
2138
2156
|
}
|
|
2139
|
-
function
|
|
2157
|
+
function Za(e, t) {
|
|
2140
2158
|
return e.start < t.end && t.start < e.end;
|
|
2141
2159
|
}
|
|
2142
2160
|
function ce(e, t, n) {
|
|
2143
2161
|
const r = Math.min(e.end, n) - Math.max(e.start, t);
|
|
2144
2162
|
return r > 0 ? r / 1e3 : 0;
|
|
2145
2163
|
}
|
|
2146
|
-
function
|
|
2164
|
+
function Lr(e, t, n) {
|
|
2147
2165
|
const r = e.handleSeconds ?? 0, o = e.seconds ?? (e.volume !== void 0 ? e.volume * r : 0);
|
|
2148
2166
|
if (o <= 0 && !e.volume) return { seconds: 0, headcount: 0 };
|
|
2149
|
-
const
|
|
2167
|
+
const s = (t.unplannedLossPercent ?? 0) / 100, i = s > 0 && s < 1 ? 1 / (1 - s) : 1;
|
|
2150
2168
|
if (t.model === "queue" && e.volume !== void 0 && r > 0) {
|
|
2151
|
-
const a =
|
|
2152
|
-
return { seconds: o, headcount: a *
|
|
2169
|
+
const a = Nr(e.volume, r, n, t);
|
|
2170
|
+
return { seconds: o, headcount: a * i };
|
|
2153
2171
|
}
|
|
2154
|
-
return { seconds: o, headcount: o / n *
|
|
2172
|
+
return { seconds: o, headcount: o / n * i };
|
|
2155
2173
|
}
|
|
2156
|
-
function
|
|
2157
|
-
const { entries: t, workstreamId: n, staffing: r, demand: o, range:
|
|
2158
|
-
for (let m = H(
|
|
2159
|
-
const
|
|
2174
|
+
function Ja(e) {
|
|
2175
|
+
const { entries: t, workstreamId: n, staffing: r, demand: o, range: s } = e, i = e.grain ?? "hour", a = $r(i), u = a / 1e3, l = e.kinds, d = t.filter((m) => W(m.status)), c = d.filter((m) => Lt(m, n, l)), p = d.filter((m) => N(m.kindKey, l).capacity), f = d.filter((m) => N(m.kindKey, l).absent), y = [];
|
|
2176
|
+
for (let m = H(s.from, i); m < s.to; m += a) {
|
|
2177
|
+
const E = m + a, g = j(m, i);
|
|
2160
2178
|
let h = 0;
|
|
2161
|
-
for (const k of
|
|
2162
|
-
let
|
|
2163
|
-
for (const k of p)
|
|
2179
|
+
for (const k of c) h += ce(k, m, E);
|
|
2180
|
+
let S = 0;
|
|
2181
|
+
for (const k of p) S += ce(k, m, E);
|
|
2164
2182
|
let x = 0;
|
|
2165
|
-
for (const k of f) x += ce(k, m,
|
|
2166
|
-
const C = o?.[g] ?? {},
|
|
2183
|
+
for (const k of f) x += ce(k, m, E);
|
|
2184
|
+
const C = o?.[g] ?? {}, v = Lr(C, r, u), O = h / u;
|
|
2167
2185
|
y.push({
|
|
2168
2186
|
period: g,
|
|
2169
2187
|
forecastVolume: C.volume,
|
|
2170
|
-
requiredSeconds:
|
|
2171
|
-
requiredHeadcount:
|
|
2188
|
+
requiredSeconds: v.seconds,
|
|
2189
|
+
requiredHeadcount: v.headcount,
|
|
2172
2190
|
scheduledSeconds: h,
|
|
2173
2191
|
scheduledHeadcount: O,
|
|
2174
|
-
netHeadcount: O -
|
|
2175
|
-
capacitySeconds:
|
|
2192
|
+
netHeadcount: O - v.headcount,
|
|
2193
|
+
capacitySeconds: S,
|
|
2176
2194
|
absentSeconds: x
|
|
2177
2195
|
});
|
|
2178
2196
|
}
|
|
2179
2197
|
return y;
|
|
2180
2198
|
}
|
|
2181
|
-
function
|
|
2199
|
+
function Pr(e, t) {
|
|
2182
2200
|
return e.workTypeKey ?? t?.defaultWorkTypeKey;
|
|
2183
2201
|
}
|
|
2184
|
-
function
|
|
2185
|
-
const r =
|
|
2202
|
+
function ec(e, t, n) {
|
|
2203
|
+
const r = Pr(e, t);
|
|
2186
2204
|
return r ? n.find((o) => o.key === r)?.defaultBillable ?? !1 : !1;
|
|
2187
2205
|
}
|
|
2188
|
-
function
|
|
2206
|
+
function tc(e) {
|
|
2189
2207
|
return e.filter(
|
|
2190
2208
|
(t) => t.netHeadcount < 0 && t.requiredHeadcount > 0
|
|
2191
2209
|
);
|
|
2192
2210
|
}
|
|
2193
|
-
const
|
|
2194
|
-
function
|
|
2211
|
+
const Kr = 36e5, ye = 6048e5, Ur = 8, Fr = 0.5, Br = 2;
|
|
2212
|
+
function jr(e) {
|
|
2195
2213
|
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;
|
|
2196
2214
|
return Date.UTC(t, n - 1, r, o);
|
|
2197
2215
|
}
|
|
2198
|
-
function
|
|
2216
|
+
function Hr(e, t, n) {
|
|
2199
2217
|
const r = [];
|
|
2200
|
-
for (let
|
|
2201
|
-
const
|
|
2202
|
-
let
|
|
2203
|
-
for (const [d,
|
|
2204
|
-
d >= a && d <
|
|
2205
|
-
|
|
2218
|
+
for (let s = 0; s < n; s++) {
|
|
2219
|
+
const i = t - s * ye, a = i - ye;
|
|
2220
|
+
let u = 0, l = !1;
|
|
2221
|
+
for (const [d, c] of e)
|
|
2222
|
+
d >= a && d < i && (u += c, l = !0);
|
|
2223
|
+
l && r.push(u);
|
|
2206
2224
|
}
|
|
2207
2225
|
if (r.length < 2) return 1;
|
|
2208
|
-
const o = r.reduce((
|
|
2209
|
-
return o <= 0 ? 1 : Math.min(
|
|
2226
|
+
const o = r.reduce((s, i) => s + i, 0) / r.length;
|
|
2227
|
+
return o <= 0 ? 1 : Math.min(Br, Math.max(Fr, r[0] / o));
|
|
2210
2228
|
}
|
|
2211
|
-
function
|
|
2229
|
+
function Gr(e, t) {
|
|
2212
2230
|
if (!e?.length) return;
|
|
2213
2231
|
let n;
|
|
2214
2232
|
for (const r of e)
|
|
2215
2233
|
t >= r.from && t < r.to && (n = r);
|
|
2216
2234
|
return n;
|
|
2217
2235
|
}
|
|
2218
|
-
function
|
|
2219
|
-
const r = Math.max(1, n?.weeks ??
|
|
2220
|
-
for (const
|
|
2221
|
-
o.set(
|
|
2222
|
-
const
|
|
2223
|
-
for (let
|
|
2224
|
-
let
|
|
2236
|
+
function nc(e, t, n) {
|
|
2237
|
+
const r = Math.max(1, n?.weeks ?? Ur), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Set();
|
|
2238
|
+
for (const u of e)
|
|
2239
|
+
o.set(jr(u.period), u.value), s.add(u.period.slice(0, 10));
|
|
2240
|
+
const i = Hr(o, H(t.from, "hour"), r), a = [];
|
|
2241
|
+
for (let u = H(t.from, "hour"); u < t.to; u += Kr) {
|
|
2242
|
+
let l = 0, d = 0;
|
|
2225
2243
|
for (let f = 1; f <= r; f++) {
|
|
2226
|
-
const y =
|
|
2227
|
-
if (
|
|
2244
|
+
const y = u - f * ye, E = o.get(y) ?? (s.has(j(y, "day")) ? 0 : void 0);
|
|
2245
|
+
if (E === void 0) continue;
|
|
2228
2246
|
const g = r - f + 1;
|
|
2229
|
-
|
|
2247
|
+
l += E * g, d += g;
|
|
2230
2248
|
}
|
|
2231
|
-
let
|
|
2232
|
-
const p =
|
|
2233
|
-
p?.absoluteVolume !== void 0 ?
|
|
2249
|
+
let c = d > 0 ? l / d * i : 0;
|
|
2250
|
+
const p = Gr(n?.adjustments, u);
|
|
2251
|
+
p?.absoluteVolume !== void 0 ? c = p.absoluteVolume : p?.factor !== void 0 && (c *= p.factor), a.push({ period: j(u, "hour"), volume: c });
|
|
2234
2252
|
}
|
|
2235
2253
|
return a;
|
|
2236
2254
|
}
|
|
2237
|
-
const
|
|
2238
|
-
function
|
|
2239
|
-
return `${Gr}:${e}`;
|
|
2240
|
-
}
|
|
2241
|
-
function nc(e) {
|
|
2255
|
+
const Wr = "schedule_entry", Vr = "workstream";
|
|
2256
|
+
function rc(e) {
|
|
2242
2257
|
return `${Wr}:${e}`;
|
|
2243
2258
|
}
|
|
2259
|
+
function oc(e) {
|
|
2260
|
+
return `${Vr}:${e}`;
|
|
2261
|
+
}
|
|
2244
2262
|
const be = 36e5, K = 864e5;
|
|
2245
|
-
function
|
|
2263
|
+
function zr(e, t) {
|
|
2246
2264
|
const n = t === "day" ? K : be, r = [];
|
|
2247
2265
|
for (let o = H(e.from, t); o < e.to; o += n) r.push(o);
|
|
2248
2266
|
return r;
|
|
@@ -2255,50 +2273,50 @@ function le(e, t, n, r) {
|
|
|
2255
2273
|
const o = Math.min(t, r) - Math.max(e, n);
|
|
2256
2274
|
return o > 0 ? o / 1e3 : 0;
|
|
2257
2275
|
}
|
|
2258
|
-
function
|
|
2259
|
-
const r = n.grain ?? "hour", o =
|
|
2260
|
-
for (const
|
|
2261
|
-
if (!(
|
|
2276
|
+
function sc(e, t, n = {}) {
|
|
2277
|
+
const r = n.grain ?? "hour", o = zr(t, r), s = r === "day" ? K : be, i = new Map(o.map((c) => [c, 0])), a = e.filter((c) => c.userId && N(c.kindKey).capacity), u = n.userIds?.length ? new Set(n.userIds) : null, l = /* @__PURE__ */ new Set();
|
|
2278
|
+
for (const c of a)
|
|
2279
|
+
if (!(u && c.userId && !u.has(c.userId))) {
|
|
2262
2280
|
for (const p of o) {
|
|
2263
|
-
const f = le(
|
|
2264
|
-
f > 0 &&
|
|
2281
|
+
const f = le(c.start, c.end, p, p + s);
|
|
2282
|
+
f > 0 && i.set(p, (i.get(p) ?? 0) + f);
|
|
2265
2283
|
}
|
|
2266
2284
|
for (const p of rt(t))
|
|
2267
|
-
le(
|
|
2285
|
+
le(c.start, c.end, p, p + K) > 0 && l.add(`${c.userId}:${p}`);
|
|
2268
2286
|
}
|
|
2269
2287
|
const d = n.userIds ?? [
|
|
2270
2288
|
.../* @__PURE__ */ new Set([
|
|
2271
|
-
...a.map((
|
|
2272
|
-
...(n.patterns ?? []).map((
|
|
2289
|
+
...a.map((c) => c.userId),
|
|
2290
|
+
...(n.patterns ?? []).map((c) => c.userId)
|
|
2273
2291
|
])
|
|
2274
|
-
].filter((
|
|
2292
|
+
].filter((c) => !!c);
|
|
2275
2293
|
if (n.patterns?.length)
|
|
2276
|
-
for (const
|
|
2277
|
-
const p = n.teamIdsOf?.(
|
|
2294
|
+
for (const c of d) {
|
|
2295
|
+
const p = n.teamIdsOf?.(c) ?? [];
|
|
2278
2296
|
for (const f of rt(t)) {
|
|
2279
|
-
if (
|
|
2280
|
-
const y = Ft(n.patterns,
|
|
2297
|
+
if (l.has(`${c}:${f}`)) continue;
|
|
2298
|
+
const y = Ft(n.patterns, c, p, f);
|
|
2281
2299
|
if (!y) continue;
|
|
2282
2300
|
const m = Kt(y, f);
|
|
2283
2301
|
if (m <= 0) continue;
|
|
2284
|
-
const
|
|
2285
|
-
if (
|
|
2286
|
-
const [
|
|
2302
|
+
const E = Ut(y, f);
|
|
2303
|
+
if (E) {
|
|
2304
|
+
const [S, x] = E.split(":").map(Number), C = f + S * be + (x ?? 0) * 6e4, v = C + m * 6e4;
|
|
2287
2305
|
for (const O of o) {
|
|
2288
|
-
const k = le(C,
|
|
2289
|
-
k > 0 &&
|
|
2306
|
+
const k = le(C, v, O, O + s);
|
|
2307
|
+
k > 0 && i.set(O, (i.get(O) ?? 0) + k);
|
|
2290
2308
|
}
|
|
2291
2309
|
continue;
|
|
2292
2310
|
}
|
|
2293
|
-
const g = o.filter((
|
|
2311
|
+
const g = o.filter((S) => S >= f && S < f + K);
|
|
2294
2312
|
if (!g.length) continue;
|
|
2295
2313
|
const h = m * 60 / g.length;
|
|
2296
|
-
for (const
|
|
2314
|
+
for (const S of g) i.set(S, (i.get(S) ?? 0) + h);
|
|
2297
2315
|
}
|
|
2298
2316
|
}
|
|
2299
|
-
return o.map((
|
|
2317
|
+
return o.map((c) => ({ period: j(c, r), weight: i.get(c) ?? 0 }));
|
|
2300
2318
|
}
|
|
2301
|
-
function
|
|
2319
|
+
function Xr(e, t) {
|
|
2302
2320
|
if (e <= 0 || !t.length) return [];
|
|
2303
2321
|
const n = t.reduce((r, o) => r + Math.max(0, o.weight), 0);
|
|
2304
2322
|
if (n <= 0) {
|
|
@@ -2307,20 +2325,20 @@ function zr(e, t) {
|
|
|
2307
2325
|
}
|
|
2308
2326
|
return t.filter((r) => r.weight > 0).map((r) => ({ period: r.period, seconds: e * r.weight / n }));
|
|
2309
2327
|
}
|
|
2310
|
-
function
|
|
2328
|
+
function ic(e, t, n) {
|
|
2311
2329
|
const r = /* @__PURE__ */ new Map();
|
|
2312
2330
|
for (const o of e) {
|
|
2313
|
-
const
|
|
2314
|
-
for (const a of
|
|
2315
|
-
const
|
|
2316
|
-
|
|
2331
|
+
const s = o.by ? t.filter((a) => n(a.period) < o.by) : t, i = s.length ? s : t;
|
|
2332
|
+
for (const a of Xr(o.seconds, i)) {
|
|
2333
|
+
const u = `${a.period}|${o.userId ?? ""}`, l = r.get(u);
|
|
2334
|
+
l ? l.seconds += a.seconds : r.set(u, { ...a, userId: o.userId });
|
|
2317
2335
|
}
|
|
2318
2336
|
}
|
|
2319
2337
|
return [...r.values()].sort(
|
|
2320
|
-
(o,
|
|
2338
|
+
(o, s) => o.period.localeCompare(s.period) || (o.userId ?? "").localeCompare(s.userId ?? "")
|
|
2321
2339
|
);
|
|
2322
2340
|
}
|
|
2323
|
-
function
|
|
2341
|
+
function Yr(e) {
|
|
2324
2342
|
switch (e.kind) {
|
|
2325
2343
|
case "user":
|
|
2326
2344
|
return `user:${e.userId}`;
|
|
@@ -2330,7 +2348,7 @@ function Xr(e) {
|
|
|
2330
2348
|
return "org";
|
|
2331
2349
|
}
|
|
2332
2350
|
}
|
|
2333
|
-
function
|
|
2351
|
+
function ac(e) {
|
|
2334
2352
|
if (typeof e != "string") return;
|
|
2335
2353
|
const t = e.trim();
|
|
2336
2354
|
if (t === "org") return { kind: "org" };
|
|
@@ -2342,10 +2360,10 @@ function ic(e) {
|
|
|
2342
2360
|
if (r === "team") return { kind: "team", teamId: o };
|
|
2343
2361
|
}
|
|
2344
2362
|
}
|
|
2345
|
-
function Yr(e) {
|
|
2346
|
-
return Xr(e);
|
|
2347
|
-
}
|
|
2348
2363
|
function qr(e) {
|
|
2364
|
+
return Yr(e);
|
|
2365
|
+
}
|
|
2366
|
+
function Qr(e) {
|
|
2349
2367
|
switch (e.kind) {
|
|
2350
2368
|
case "personal":
|
|
2351
2369
|
return { kind: "user", userId: e.userId };
|
|
@@ -2355,14 +2373,14 @@ function qr(e) {
|
|
|
2355
2373
|
return { kind: "org" };
|
|
2356
2374
|
}
|
|
2357
2375
|
}
|
|
2358
|
-
const
|
|
2359
|
-
function
|
|
2360
|
-
return e.agentId ? { kind: "user", userId: e.agentId } :
|
|
2376
|
+
const Zr = Qr;
|
|
2377
|
+
function cc(e) {
|
|
2378
|
+
return e.agentId ? { kind: "user", userId: e.agentId } : Zr(e.ownerScope);
|
|
2361
2379
|
}
|
|
2362
|
-
function
|
|
2363
|
-
return
|
|
2380
|
+
function lc(e) {
|
|
2381
|
+
return qr(e);
|
|
2364
2382
|
}
|
|
2365
|
-
function
|
|
2383
|
+
function uc(e, t) {
|
|
2366
2384
|
if (!t) return;
|
|
2367
2385
|
let n = e;
|
|
2368
2386
|
for (const r of t.split(".")) {
|
|
@@ -2371,24 +2389,24 @@ function cc(e, t) {
|
|
|
2371
2389
|
}
|
|
2372
2390
|
return n;
|
|
2373
2391
|
}
|
|
2374
|
-
function
|
|
2392
|
+
function dc(e, t) {
|
|
2375
2393
|
return e.targets.find((n) => n.activityTypes.includes(t));
|
|
2376
2394
|
}
|
|
2377
|
-
function
|
|
2395
|
+
function pc(e, t) {
|
|
2378
2396
|
if (t)
|
|
2379
2397
|
return e.targets.find((n) => n.id === t);
|
|
2380
2398
|
}
|
|
2381
|
-
function
|
|
2399
|
+
function Jr(e) {
|
|
2382
2400
|
return e?.kind === "assignment";
|
|
2383
2401
|
}
|
|
2384
|
-
function
|
|
2385
|
-
const { trigger: t, agentId: n, target: r, activityType: o, assigneeUserId:
|
|
2386
|
-
return
|
|
2402
|
+
function fc(e) {
|
|
2403
|
+
const { trigger: t, agentId: n, target: r, activityType: o, assigneeUserId: s, authorUserId: i } = e;
|
|
2404
|
+
return Jr(t) ? n ? r ? r.activityTypes.includes(o) ? s ? s !== n ? "assigned to someone else" : i && i === 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";
|
|
2387
2405
|
}
|
|
2388
|
-
function
|
|
2406
|
+
function mc(e) {
|
|
2389
2407
|
return (e.startsWith("tool:") ? e.slice(5) : e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
|
|
2390
2408
|
}
|
|
2391
|
-
const
|
|
2409
|
+
const hc = [
|
|
2392
2410
|
{ name: "text", type: "string" },
|
|
2393
2411
|
{ name: "subject", type: "string" },
|
|
2394
2412
|
{ name: "from", type: "string" },
|
|
@@ -2428,7 +2446,7 @@ const fc = [
|
|
|
2428
2446
|
// `buildTriggerVars` cannot fill it itself: the job does that with the catalog in hand, before
|
|
2429
2447
|
// the trigger filter runs — like contactId/companyId above.
|
|
2430
2448
|
{ name: "assigneeUserId", type: "string" }
|
|
2431
|
-
],
|
|
2449
|
+
], gc = {
|
|
2432
2450
|
topics: [
|
|
2433
2451
|
{ name: "topicId", type: "string" },
|
|
2434
2452
|
{ name: "topic", type: "string" },
|
|
@@ -2442,58 +2460,58 @@ const fc = [
|
|
|
2442
2460
|
// Deliberately empty: the fields come from `ClassifyStep.fields` and so differ per step.
|
|
2443
2461
|
extract: []
|
|
2444
2462
|
};
|
|
2445
|
-
function
|
|
2463
|
+
function eo(e) {
|
|
2446
2464
|
return `${e.type}:${e.id}`;
|
|
2447
2465
|
}
|
|
2448
|
-
const
|
|
2449
|
-
function
|
|
2450
|
-
return e?.type ===
|
|
2466
|
+
const to = "interaction";
|
|
2467
|
+
function no(e) {
|
|
2468
|
+
return e?.type === to ? e.id : void 0;
|
|
2451
2469
|
}
|
|
2452
|
-
const
|
|
2453
|
-
function
|
|
2470
|
+
const ro = 64, oo = 8e3;
|
|
2471
|
+
function yc(e) {
|
|
2454
2472
|
const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
|
|
2455
2473
|
if (!(!Number.isFinite(t) || t <= 0))
|
|
2456
|
-
return Math.min(Math.max(Math.round(t),
|
|
2474
|
+
return Math.min(Math.max(Math.round(t), ro), oo);
|
|
2457
2475
|
}
|
|
2458
|
-
const
|
|
2459
|
-
function
|
|
2476
|
+
const bc = { kind: "workflow", steps: [] };
|
|
2477
|
+
function _c(e) {
|
|
2460
2478
|
return e?.kind === "workflow" ? e.steps : [];
|
|
2461
2479
|
}
|
|
2462
|
-
function
|
|
2480
|
+
function Ac(e) {
|
|
2463
2481
|
return e?.kind === "procedure" ? e.procedure : void 0;
|
|
2464
2482
|
}
|
|
2465
|
-
function
|
|
2483
|
+
function so(e) {
|
|
2466
2484
|
const t = e?.approved ?? 0, n = t + (e?.rejected ?? 0);
|
|
2467
2485
|
return { total: n, rate: n ? t / n : 0 };
|
|
2468
2486
|
}
|
|
2469
|
-
const io = 10,
|
|
2470
|
-
function
|
|
2471
|
-
const { total: t, rate: n } =
|
|
2472
|
-
return t >= io && n >=
|
|
2487
|
+
const io = 10, ao = 0.9;
|
|
2488
|
+
function Sc(e) {
|
|
2489
|
+
const { total: t, rate: n } = so(e);
|
|
2490
|
+
return t >= io && n >= ao;
|
|
2473
2491
|
}
|
|
2474
|
-
const
|
|
2475
|
-
function
|
|
2476
|
-
return
|
|
2492
|
+
const co = ["done", "escalated", "failed", "stopped"];
|
|
2493
|
+
function Ec(e) {
|
|
2494
|
+
return co.includes(e);
|
|
2477
2495
|
}
|
|
2478
|
-
function
|
|
2496
|
+
function lo(e) {
|
|
2479
2497
|
return e === "waiting";
|
|
2480
2498
|
}
|
|
2481
|
-
function
|
|
2482
|
-
return e === "running" ||
|
|
2499
|
+
function Ic(e) {
|
|
2500
|
+
return e === "running" || lo(e);
|
|
2483
2501
|
}
|
|
2484
2502
|
function Bt(e) {
|
|
2485
2503
|
return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
|
|
2486
2504
|
}
|
|
2487
|
-
function
|
|
2505
|
+
function Tc(e) {
|
|
2488
2506
|
const t = Bt(e);
|
|
2489
|
-
return t ?
|
|
2507
|
+
return t ? eo(t) : void 0;
|
|
2490
2508
|
}
|
|
2491
|
-
function
|
|
2492
|
-
return
|
|
2509
|
+
function wc(e) {
|
|
2510
|
+
return no(Bt(e));
|
|
2493
2511
|
}
|
|
2494
|
-
function
|
|
2512
|
+
function kc(e) {
|
|
2495
2513
|
const t = [], n = /* @__PURE__ */ new Map();
|
|
2496
|
-
for (const r of [...e].sort(
|
|
2514
|
+
for (const r of [...e].sort(uo)) {
|
|
2497
2515
|
const o = n.get(r.emoji);
|
|
2498
2516
|
if (o) {
|
|
2499
2517
|
o.push(r.actor);
|
|
@@ -2506,48 +2524,48 @@ function Tc(e) {
|
|
|
2506
2524
|
return { emoji: r, count: o.length, actors: o };
|
|
2507
2525
|
}).sort((r, o) => o.count - r.count || t.indexOf(r.emoji) - t.indexOf(o.emoji));
|
|
2508
2526
|
}
|
|
2509
|
-
const
|
|
2510
|
-
function
|
|
2527
|
+
const uo = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
|
|
2528
|
+
function vc(e, t) {
|
|
2511
2529
|
return t ? e.actors.some((n) => n.type === "user" && n.id === t) : !1;
|
|
2512
2530
|
}
|
|
2513
|
-
const
|
|
2531
|
+
const _e = 6e4, po = 36e5, V = 864e5, jt = 800;
|
|
2514
2532
|
function ot(e, t) {
|
|
2515
2533
|
const n = Date.UTC(e, t + 1, 0);
|
|
2516
|
-
return n - new Date(n).getUTCDay() * V +
|
|
2534
|
+
return n - new Date(n).getUTCDay() * V + po;
|
|
2517
2535
|
}
|
|
2518
|
-
function
|
|
2536
|
+
function fo(e) {
|
|
2519
2537
|
const t = new Date(e).getUTCFullYear();
|
|
2520
2538
|
return e >= ot(t, 2) && e < ot(t, 9);
|
|
2521
2539
|
}
|
|
2522
2540
|
function Ht(e, t) {
|
|
2523
|
-
const n = t.dst === "eu" &&
|
|
2524
|
-
return (t.utcOffsetMinutes + n) *
|
|
2541
|
+
const n = t.dst === "eu" && fo(e) ? 60 : 0;
|
|
2542
|
+
return (t.utcOffsetMinutes + n) * _e;
|
|
2525
2543
|
}
|
|
2526
|
-
function
|
|
2544
|
+
function mo(e) {
|
|
2527
2545
|
return (e + 3) % 7 + 1;
|
|
2528
2546
|
}
|
|
2529
2547
|
function Gt(e, t) {
|
|
2530
2548
|
const n = Ht(e, t), r = e + n, o = Math.floor(r / V);
|
|
2531
|
-
if (!t.days.includes(
|
|
2532
|
-
const
|
|
2549
|
+
if (!t.days.includes(mo(o))) return null;
|
|
2550
|
+
const s = o * V;
|
|
2533
2551
|
return {
|
|
2534
|
-
open:
|
|
2535
|
-
close:
|
|
2552
|
+
open: s + t.fromMinutes * _e - n,
|
|
2553
|
+
close: s + t.toMinutes * _e - n
|
|
2536
2554
|
};
|
|
2537
2555
|
}
|
|
2538
2556
|
function Wt(e, t) {
|
|
2539
2557
|
const n = Ht(e, t), r = e + n;
|
|
2540
2558
|
return (Math.floor(r / V) + 1) * V - n;
|
|
2541
2559
|
}
|
|
2542
|
-
function
|
|
2560
|
+
function Ae(e, t, n) {
|
|
2543
2561
|
if (t <= e) return 0;
|
|
2544
2562
|
if (!n) return t - e;
|
|
2545
2563
|
let r = 0, o = e;
|
|
2546
|
-
for (let
|
|
2547
|
-
const
|
|
2548
|
-
if (
|
|
2549
|
-
const a = Math.max(o,
|
|
2550
|
-
|
|
2564
|
+
for (let s = 0; s < jt && o < t; s++) {
|
|
2565
|
+
const i = Gt(o, n);
|
|
2566
|
+
if (i) {
|
|
2567
|
+
const a = Math.max(o, i.open), u = Math.min(t, i.close);
|
|
2568
|
+
u > a && (r += u - a);
|
|
2551
2569
|
}
|
|
2552
2570
|
o = Wt(o, n);
|
|
2553
2571
|
}
|
|
@@ -2556,93 +2574,93 @@ function _e(e, t, n) {
|
|
|
2556
2574
|
function Oe(e, t, n) {
|
|
2557
2575
|
if (!n) return e + t;
|
|
2558
2576
|
let r = t, o = e;
|
|
2559
|
-
for (let
|
|
2560
|
-
const
|
|
2561
|
-
if (
|
|
2562
|
-
const a = Math.max(o,
|
|
2563
|
-
if (
|
|
2564
|
-
const
|
|
2565
|
-
if (r <=
|
|
2566
|
-
r -=
|
|
2577
|
+
for (let s = 0; s < jt; s++) {
|
|
2578
|
+
const i = Gt(o, n);
|
|
2579
|
+
if (i) {
|
|
2580
|
+
const a = Math.max(o, i.open);
|
|
2581
|
+
if (i.close > a) {
|
|
2582
|
+
const u = i.close - a;
|
|
2583
|
+
if (r <= u) return a + r;
|
|
2584
|
+
r -= u;
|
|
2567
2585
|
}
|
|
2568
2586
|
}
|
|
2569
2587
|
o = Wt(o, n);
|
|
2570
2588
|
}
|
|
2571
2589
|
return e + t;
|
|
2572
2590
|
}
|
|
2573
|
-
function
|
|
2591
|
+
function Mc(e) {
|
|
2574
2592
|
const t = /^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);
|
|
2575
2593
|
return t ? Number(t[1]) * 60 + Number(t[2]) : null;
|
|
2576
2594
|
}
|
|
2577
|
-
const
|
|
2578
|
-
function
|
|
2579
|
-
return e === "snoozed" ?
|
|
2595
|
+
const Se = 1, Ee = 2;
|
|
2596
|
+
function Cc(e) {
|
|
2597
|
+
return e === "snoozed" ? Se : Ee;
|
|
2580
2598
|
}
|
|
2581
2599
|
function xe(e) {
|
|
2582
2600
|
const t = e.calendar;
|
|
2583
2601
|
return t && Array.isArray(t.days) ? t : null;
|
|
2584
2602
|
}
|
|
2585
|
-
const
|
|
2603
|
+
const Oc = [
|
|
2586
2604
|
"speed_of_answer",
|
|
2587
2605
|
"first_response",
|
|
2588
2606
|
"next_response",
|
|
2589
2607
|
"resolution",
|
|
2590
2608
|
"close"
|
|
2591
|
-
],
|
|
2609
|
+
], xc = ["snoozed", "waiting_for_customer"], ho = 6e4, Vt = ["speed_of_answer", "first_response", "next_response"], go = [...Vt, "resolution", "close"];
|
|
2592
2610
|
function z(e) {
|
|
2593
2611
|
return e.state === "running" || e.state === "paused";
|
|
2594
2612
|
}
|
|
2595
|
-
function
|
|
2613
|
+
function yo(e, t) {
|
|
2596
2614
|
return z(e) ? { state: (e.state === "paused" ? e.remainingMs > 0 : t <= e.dueAt) ? "hit" : "missed", settledAt: Math.max(t, e.startedAt) } : null;
|
|
2597
2615
|
}
|
|
2598
|
-
function
|
|
2616
|
+
function st(e) {
|
|
2599
2617
|
return z(e) ? { state: "void" } : null;
|
|
2600
2618
|
}
|
|
2601
|
-
function
|
|
2619
|
+
function bo(e, t, n, r) {
|
|
2602
2620
|
if (!z(e) || (e.pauseBits & t) !== 0) return null;
|
|
2603
2621
|
const o = e.pauseBits | t;
|
|
2604
|
-
return e.state === "paused" ? { pauseBits: o } : { pauseBits: o, state: "paused", remainingMs:
|
|
2622
|
+
return e.state === "paused" ? { pauseBits: o } : { pauseBits: o, state: "paused", remainingMs: Ae(n, e.dueAt, r) };
|
|
2605
2623
|
}
|
|
2606
|
-
function
|
|
2624
|
+
function _o(e, t, n, r) {
|
|
2607
2625
|
if (!z(e) || (e.pauseBits & t) === 0) return null;
|
|
2608
2626
|
const o = e.pauseBits & ~t;
|
|
2609
2627
|
return o !== 0 ? { pauseBits: o } : { pauseBits: o, state: "running", dueAt: Oe(n, e.remainingMs, r) };
|
|
2610
2628
|
}
|
|
2611
|
-
function
|
|
2612
|
-
const
|
|
2613
|
-
h && (
|
|
2629
|
+
function Nc({ event: e, at: t, now: n, clocks: r, profile: o }) {
|
|
2630
|
+
const s = xe(o), i = Math.min(t, n), a = r.map((g) => ({ ...g })), u = [], l = (g, h) => {
|
|
2631
|
+
h && (u.push({ op: "patch", clockId: g.id, patch: h }), Object.assign(g, h));
|
|
2614
2632
|
}, d = (g) => {
|
|
2615
2633
|
for (const h of a)
|
|
2616
|
-
h.metric === g &&
|
|
2617
|
-
},
|
|
2634
|
+
h.metric === g && l(h, yo(h, i));
|
|
2635
|
+
}, c = (g) => {
|
|
2618
2636
|
for (const h of a)
|
|
2619
|
-
g.includes(h.metric) &&
|
|
2637
|
+
g.includes(h.metric) && l(h, st(h));
|
|
2620
2638
|
}, p = (g) => {
|
|
2621
|
-
for (const h of a)
|
|
2639
|
+
for (const h of a) l(h, bo(h, g, i, s));
|
|
2622
2640
|
}, f = (g) => {
|
|
2623
|
-
for (const h of a)
|
|
2624
|
-
}, y = (g) => a.reduce((h,
|
|
2625
|
-
const
|
|
2626
|
-
if (!
|
|
2627
|
-
const x =
|
|
2628
|
-
|
|
2641
|
+
for (const h of a) l(h, _o(h, g, i, s));
|
|
2642
|
+
}, y = (g) => a.reduce((h, S) => S.metric === g ? Math.max(h, S.attempt) : h, 0) + 1, m = (g) => a.some((h) => h.metric === g && z(h)), E = (g, h) => {
|
|
2643
|
+
const S = o.targets.find((C) => C.metric === g);
|
|
2644
|
+
if (!S) return;
|
|
2645
|
+
const x = S.minutes * ho;
|
|
2646
|
+
u.push({
|
|
2629
2647
|
op: "start",
|
|
2630
2648
|
metric: g,
|
|
2631
2649
|
attempt: y(g),
|
|
2632
2650
|
startedAt: h,
|
|
2633
2651
|
targetMs: x,
|
|
2634
|
-
dueAt: Oe(h, x,
|
|
2652
|
+
dueAt: Oe(h, x, s)
|
|
2635
2653
|
});
|
|
2636
2654
|
};
|
|
2637
2655
|
switch (e) {
|
|
2638
2656
|
case "apply": {
|
|
2639
2657
|
for (const g of a)
|
|
2640
|
-
g.profileId !== o.id &&
|
|
2658
|
+
g.profileId !== o.id && l(g, st(g));
|
|
2641
2659
|
for (const g of o.targets) {
|
|
2642
2660
|
if (g.metric === "next_response") continue;
|
|
2643
2661
|
a.some(
|
|
2644
|
-
(
|
|
2645
|
-
) ||
|
|
2662
|
+
(S) => S.metric === g.metric && S.profileId === o.id
|
|
2663
|
+
) || E(g.metric, i);
|
|
2646
2664
|
}
|
|
2647
2665
|
break;
|
|
2648
2666
|
}
|
|
@@ -2650,53 +2668,53 @@ function Oc({ event: e, at: t, now: n, clocks: r, profile: o }) {
|
|
|
2650
2668
|
d("speed_of_answer");
|
|
2651
2669
|
break;
|
|
2652
2670
|
case "outbound": {
|
|
2653
|
-
d("first_response"), d("next_response"), o.pauseOn.includes("waiting_for_customer") && p(
|
|
2671
|
+
d("first_response"), d("next_response"), o.pauseOn.includes("waiting_for_customer") && p(Ee);
|
|
2654
2672
|
break;
|
|
2655
2673
|
}
|
|
2656
2674
|
case "inbound": {
|
|
2657
|
-
f(
|
|
2675
|
+
f(Ee), !m("first_response") && !m("next_response") && E("next_response", i);
|
|
2658
2676
|
break;
|
|
2659
2677
|
}
|
|
2660
2678
|
case "resolved":
|
|
2661
2679
|
d("resolution");
|
|
2662
2680
|
break;
|
|
2663
2681
|
case "closed":
|
|
2664
|
-
d("close"), d("resolution"),
|
|
2682
|
+
d("close"), d("resolution"), c(Vt);
|
|
2665
2683
|
break;
|
|
2666
2684
|
case "reopened":
|
|
2667
|
-
m("resolution") ||
|
|
2685
|
+
m("resolution") || E("resolution", i), m("close") || E("close", i);
|
|
2668
2686
|
break;
|
|
2669
2687
|
case "snoozed":
|
|
2670
|
-
o.pauseOn.includes("snoozed") && p(
|
|
2688
|
+
o.pauseOn.includes("snoozed") && p(Se);
|
|
2671
2689
|
break;
|
|
2672
2690
|
case "unsnoozed":
|
|
2673
|
-
f(
|
|
2691
|
+
f(Se);
|
|
2674
2692
|
break;
|
|
2675
2693
|
case "discarded":
|
|
2676
|
-
|
|
2694
|
+
c(go);
|
|
2677
2695
|
break;
|
|
2678
2696
|
}
|
|
2679
|
-
return
|
|
2697
|
+
return u;
|
|
2680
2698
|
}
|
|
2681
2699
|
function Ao(e) {
|
|
2682
2700
|
return e.state === "running" || e.state === "paused";
|
|
2683
2701
|
}
|
|
2684
2702
|
function Ie(e, t) {
|
|
2685
2703
|
const n = xe(e);
|
|
2686
|
-
return e.state === "paused" ? e.remainingMs : t >= e.dueAt ? -
|
|
2704
|
+
return e.state === "paused" ? e.remainingMs : t >= e.dueAt ? -Ae(e.dueAt, t, n) : Ae(t, e.dueAt, n);
|
|
2687
2705
|
}
|
|
2688
|
-
function
|
|
2706
|
+
function Rc(e, t) {
|
|
2689
2707
|
return e.state === "paused" ? Oe(t, e.remainingMs, xe(e)) : e.dueAt;
|
|
2690
2708
|
}
|
|
2691
|
-
function
|
|
2709
|
+
function Dc(e, t) {
|
|
2692
2710
|
const n = e.filter(Ao);
|
|
2693
2711
|
if (!n.length) return;
|
|
2694
|
-
const r = n.filter((
|
|
2712
|
+
const r = n.filter((s) => s.state === "running");
|
|
2695
2713
|
return (r.length ? r : n).reduce(
|
|
2696
|
-
(
|
|
2714
|
+
(s, i) => Ie(i, t) < Ie(s, t) ? i : s
|
|
2697
2715
|
);
|
|
2698
2716
|
}
|
|
2699
|
-
function
|
|
2717
|
+
function $c(e, t) {
|
|
2700
2718
|
if (e.state === "missed") return "breached";
|
|
2701
2719
|
if (e.state === "hit") return "met";
|
|
2702
2720
|
if (e.state === "paused") return "paused";
|
|
@@ -2704,41 +2722,41 @@ function Rc(e, t) {
|
|
|
2704
2722
|
const n = Ie(e, t);
|
|
2705
2723
|
return n <= 0 ? "breached" : n <= e.targetMs / 5 ? "urgent" : "running";
|
|
2706
2724
|
}
|
|
2707
|
-
function
|
|
2725
|
+
function Lc(e) {
|
|
2708
2726
|
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);
|
|
2709
2727
|
return n ? r ? `${n}d ${r}u` : `${n}d` : r ? o ? `${r}u ${o}m` : `${r}u` : o ? `${o}m` : `${t % 60}s`;
|
|
2710
2728
|
}
|
|
2711
|
-
const
|
|
2729
|
+
const So = "strategy_item";
|
|
2712
2730
|
function zt(e) {
|
|
2713
|
-
return `${
|
|
2731
|
+
return `${So}:${e}`;
|
|
2714
2732
|
}
|
|
2715
|
-
function
|
|
2733
|
+
function Pc(e, t = 25) {
|
|
2716
2734
|
const n = /* @__PURE__ */ new Set([zt(e.id)]);
|
|
2717
2735
|
for (const r of e.ancestorKeys ?? []) n.add(r);
|
|
2718
2736
|
return Array.from(n).slice(0, t);
|
|
2719
2737
|
}
|
|
2720
|
-
function
|
|
2738
|
+
function Kc(e) {
|
|
2721
2739
|
return e ? [...e.ancestorKeys ?? [], zt(e.id)] : [];
|
|
2722
2740
|
}
|
|
2723
2741
|
const ne = [
|
|
2724
2742
|
{ key: "area", label: "level_area", order: 10, measurable: !1, icon: "compass" },
|
|
2725
2743
|
{ key: "objective", label: "level_objective", order: 20, measurable: !0, icon: "target" },
|
|
2726
2744
|
{ key: "key_result", label: "level_key_result", order: 30, measurable: !0, icon: "gauge" }
|
|
2727
|
-
], Eo = 999,
|
|
2728
|
-
function
|
|
2745
|
+
], Eo = 999, Io = 7;
|
|
2746
|
+
function To(e, t = ne) {
|
|
2729
2747
|
return t.find((n) => n.key === e);
|
|
2730
2748
|
}
|
|
2731
2749
|
function Te(e, t = ne) {
|
|
2732
|
-
return
|
|
2750
|
+
return To(e, t)?.order ?? Eo;
|
|
2733
2751
|
}
|
|
2734
|
-
function
|
|
2752
|
+
function Uc(e, t, n = ne) {
|
|
2735
2753
|
return Te(t, n) <= Te(e, n);
|
|
2736
2754
|
}
|
|
2737
|
-
function
|
|
2755
|
+
function Fc(e, t = ne) {
|
|
2738
2756
|
const n = Te(e, t);
|
|
2739
|
-
return t.filter((o) => o.order > n).sort((o,
|
|
2757
|
+
return t.filter((o) => o.order > n).sort((o, s) => o.order - s.order)[0]?.key ?? e;
|
|
2740
2758
|
}
|
|
2741
|
-
function
|
|
2759
|
+
function Bc(e) {
|
|
2742
2760
|
const t = e.trim().toLowerCase();
|
|
2743
2761
|
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;
|
|
2744
2762
|
}
|
|
@@ -2751,132 +2769,132 @@ const we = {
|
|
|
2751
2769
|
achieved: "closed",
|
|
2752
2770
|
missed: "closed"
|
|
2753
2771
|
};
|
|
2754
|
-
function
|
|
2772
|
+
function jc(e) {
|
|
2755
2773
|
return we[e] ?? "open";
|
|
2756
2774
|
}
|
|
2757
|
-
function
|
|
2775
|
+
function Hc(e) {
|
|
2758
2776
|
return Object.keys(we).filter(
|
|
2759
2777
|
(t) => e.includes(we[t])
|
|
2760
2778
|
);
|
|
2761
2779
|
}
|
|
2762
|
-
const
|
|
2763
|
-
function
|
|
2780
|
+
const wo = 864e5, re = (e) => e <= 0 ? 0 : e > 1 ? 1 : e;
|
|
2781
|
+
function Gc(e, t) {
|
|
2764
2782
|
const { direction: n } = e, r = e.startValue ?? 0, o = e.targetValue ?? 0;
|
|
2765
2783
|
if (!Number.isFinite(t)) return 0;
|
|
2766
|
-
const
|
|
2767
|
-
return (n === "down" ?
|
|
2784
|
+
const s = n === "down" ? t <= o : t >= o, i = o - r;
|
|
2785
|
+
return (n === "down" ? i < 0 : i > 0) ? re((t - r) / i) : s ? 1 : 0;
|
|
2768
2786
|
}
|
|
2769
|
-
function
|
|
2787
|
+
function Wc(e, t) {
|
|
2770
2788
|
const { startDate: n, targetDate: r } = e;
|
|
2771
2789
|
if (!(typeof n != "number" || typeof r != "number") && !(r <= n))
|
|
2772
2790
|
return re((t - n) / (r - n));
|
|
2773
2791
|
}
|
|
2774
|
-
const
|
|
2775
|
-
function
|
|
2792
|
+
const ko = 0.1, vo = 0.25;
|
|
2793
|
+
function Vc(e, t) {
|
|
2776
2794
|
if (typeof e != "number" || typeof t != "number") return;
|
|
2777
2795
|
if (e >= 1) return "achieved";
|
|
2778
2796
|
const n = t - e;
|
|
2779
|
-
return n >=
|
|
2797
|
+
return n >= vo ? "off_track" : n >= ko ? "at_risk" : "on_track";
|
|
2780
2798
|
}
|
|
2781
|
-
function
|
|
2799
|
+
function zc(e, t) {
|
|
2782
2800
|
if (t)
|
|
2783
2801
|
return re(e / t);
|
|
2784
2802
|
}
|
|
2785
|
-
function
|
|
2803
|
+
function Xc(e) {
|
|
2786
2804
|
const t = e.map((n) => n.progress?.ratio).filter((n) => typeof n == "number" && Number.isFinite(n));
|
|
2787
2805
|
if (t.length)
|
|
2788
2806
|
return re(t.reduce((n, r) => n + r, 0) / t.length);
|
|
2789
2807
|
}
|
|
2790
|
-
function
|
|
2808
|
+
function Yc(e, t) {
|
|
2791
2809
|
const n = e.lastCheckInAt ?? e.createdAt;
|
|
2792
2810
|
if (typeof n != "number") return 0;
|
|
2793
|
-
const r = (e.checkInEveryDays ??
|
|
2811
|
+
const r = (e.checkInEveryDays ?? Io) * wo, o = t - n - r;
|
|
2794
2812
|
return o > 0 ? o : 0;
|
|
2795
2813
|
}
|
|
2796
|
-
function
|
|
2814
|
+
function qc(e) {
|
|
2797
2815
|
return e.targetDate ?? Number.MAX_SAFE_INTEGER;
|
|
2798
2816
|
}
|
|
2799
|
-
function
|
|
2817
|
+
function Qc(e, t) {
|
|
2800
2818
|
const n = e.accumulatedSeconds || 0;
|
|
2801
2819
|
return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
|
|
2802
2820
|
}
|
|
2803
|
-
function
|
|
2821
|
+
function Zc(e, t) {
|
|
2804
2822
|
const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
|
|
2805
2823
|
if (!t || t === "exact") return n * 60;
|
|
2806
2824
|
const r = Number(t);
|
|
2807
2825
|
return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
|
|
2808
2826
|
}
|
|
2809
|
-
function
|
|
2827
|
+
function Jc(e) {
|
|
2810
2828
|
const t = Math.max(0, Math.round(e / 60));
|
|
2811
2829
|
return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
|
|
2812
2830
|
}
|
|
2813
|
-
function
|
|
2814
|
-
const t = Math.max(0, Math.floor(e)), n = (
|
|
2831
|
+
function el(e) {
|
|
2832
|
+
const t = Math.max(0, Math.floor(e)), n = (s) => String(s).padStart(2, "0"), r = Math.floor(t / 60) % 60, o = Math.floor(t / 3600);
|
|
2815
2833
|
return o > 0 ? `${o}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
|
|
2816
2834
|
}
|
|
2817
2835
|
function Mo(e) {
|
|
2818
2836
|
return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
|
|
2819
2837
|
}
|
|
2820
|
-
function
|
|
2838
|
+
function tl(e, t) {
|
|
2821
2839
|
const n = Mo(e) || "werksoort", r = new Set(t);
|
|
2822
2840
|
if (!r.has(n)) return n;
|
|
2823
2841
|
for (let o = 2; o < 500; o++) {
|
|
2824
|
-
const
|
|
2825
|
-
if (!r.has(
|
|
2842
|
+
const s = `${n}-${o}`;
|
|
2843
|
+
if (!r.has(s)) return s;
|
|
2826
2844
|
}
|
|
2827
2845
|
return `${n}-${r.size + 1}`;
|
|
2828
2846
|
}
|
|
2829
|
-
function
|
|
2847
|
+
function nl(e, t) {
|
|
2830
2848
|
const n = e.ownerScope;
|
|
2831
2849
|
return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
|
|
2832
2850
|
}
|
|
2833
|
-
function
|
|
2834
|
-
return e.filter((t) => !t.archived).sort(
|
|
2851
|
+
function rl(e) {
|
|
2852
|
+
return e.filter((t) => !t.archived).sort(Co);
|
|
2835
2853
|
}
|
|
2836
|
-
function
|
|
2854
|
+
function Co(e, t) {
|
|
2837
2855
|
const n = (e.order ?? 0) - (t.order ?? 0);
|
|
2838
2856
|
return n !== 0 ? n : (e.label || "").localeCompare(t.label || "");
|
|
2839
2857
|
}
|
|
2840
|
-
const
|
|
2858
|
+
const Oo = 20, xo = 20, ue = 300;
|
|
2841
2859
|
function P(e) {
|
|
2842
2860
|
return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
|
|
2843
2861
|
}
|
|
2844
|
-
function
|
|
2862
|
+
function No(e) {
|
|
2845
2863
|
const t = e.replace(/\s+/g, " ").trim();
|
|
2846
2864
|
if (t.length <= ue) return t;
|
|
2847
2865
|
const n = t.slice(0, ue), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
|
|
2848
2866
|
return r > ue * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
|
|
2849
2867
|
}
|
|
2850
|
-
function
|
|
2851
|
-
const n =
|
|
2852
|
-
if (!r || (e.examples ?? []).some((
|
|
2853
|
-
const o = e.exampleCandidates ?? [],
|
|
2854
|
-
if (
|
|
2855
|
-
if (o[
|
|
2856
|
-
const
|
|
2857
|
-
return s
|
|
2868
|
+
function ol(e, t) {
|
|
2869
|
+
const n = No(t.text), r = P(n);
|
|
2870
|
+
if (!r || (e.examples ?? []).some((i) => P(i) === r)) return null;
|
|
2871
|
+
const o = e.exampleCandidates ?? [], s = o.findIndex((i) => P(i.text) === r);
|
|
2872
|
+
if (s >= 0) {
|
|
2873
|
+
if (o[s].corrected || !t.corrected) return null;
|
|
2874
|
+
const i = [...o];
|
|
2875
|
+
return i[s] = { ...i[s], corrected: !0, addedAt: t.addedAt }, it(i);
|
|
2858
2876
|
}
|
|
2859
|
-
return
|
|
2877
|
+
return it([{ ...t, text: n }, ...o]).slice(0, xo);
|
|
2860
2878
|
}
|
|
2861
|
-
function
|
|
2879
|
+
function it(e) {
|
|
2862
2880
|
return [...e].sort(
|
|
2863
2881
|
(t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt
|
|
2864
2882
|
);
|
|
2865
2883
|
}
|
|
2866
|
-
function
|
|
2867
|
-
const n = P(t), r = (e.examples ?? []).filter((
|
|
2868
|
-
return { examples: r.some((
|
|
2884
|
+
function sl(e, t) {
|
|
2885
|
+
const n = P(t), r = (e.examples ?? []).filter((s) => s.trim());
|
|
2886
|
+
return { examples: r.some((s) => P(s) === n) ? r : [...r, t].slice(-Oo), exampleCandidates: Ro(e, t) };
|
|
2869
2887
|
}
|
|
2870
|
-
function
|
|
2888
|
+
function Ro(e, t) {
|
|
2871
2889
|
const n = P(t);
|
|
2872
2890
|
return (e.exampleCandidates ?? []).filter((r) => P(r.text) !== n);
|
|
2873
2891
|
}
|
|
2874
|
-
function
|
|
2892
|
+
function Do(e, t) {
|
|
2875
2893
|
const n = e.ownerScope;
|
|
2876
2894
|
return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
|
|
2877
2895
|
}
|
|
2878
|
-
function
|
|
2879
|
-
return e.filter((n) =>
|
|
2896
|
+
function il(e, t) {
|
|
2897
|
+
return e.filter((n) => Do(n, t));
|
|
2880
2898
|
}
|
|
2881
2899
|
const Xt = [
|
|
2882
2900
|
{
|
|
@@ -2917,10 +2935,10 @@ function ke(e) {
|
|
|
2917
2935
|
statuses: ["draft"]
|
|
2918
2936
|
};
|
|
2919
2937
|
}
|
|
2920
|
-
function
|
|
2938
|
+
function al(e) {
|
|
2921
2939
|
return e.issuedAt != null;
|
|
2922
2940
|
}
|
|
2923
|
-
const
|
|
2941
|
+
const cl = [
|
|
2924
2942
|
"status",
|
|
2925
2943
|
"fileRef",
|
|
2926
2944
|
"number",
|
|
@@ -2929,7 +2947,7 @@ const sl = [
|
|
|
2929
2947
|
"dunning",
|
|
2930
2948
|
"updatedAt"
|
|
2931
2949
|
];
|
|
2932
|
-
function
|
|
2950
|
+
function $o(e, t) {
|
|
2933
2951
|
const n = ke(t).signFlip !== ke(e.kindKey).signFlip, r = e.lines.map((o) => ({
|
|
2934
2952
|
...o,
|
|
2935
2953
|
quantity: n ? -o.quantity : o.quantity,
|
|
@@ -2941,6 +2959,9 @@ function Do(e, t) {
|
|
|
2941
2959
|
sourceTransactionId: e.id,
|
|
2942
2960
|
agreementId: e.agreementId,
|
|
2943
2961
|
version: 1,
|
|
2962
|
+
// Carried over on purpose: a revision of a quote must not quietly change which entity signs
|
|
2963
|
+
// it, and neither must the invoice that follows from it.
|
|
2964
|
+
businessEntityId: e.businessEntityId,
|
|
2944
2965
|
companyId: e.companyId,
|
|
2945
2966
|
contactId: e.contactId,
|
|
2946
2967
|
dealItemId: e.dealItemId,
|
|
@@ -2958,9 +2979,9 @@ function Do(e, t) {
|
|
|
2958
2979
|
source: e.source
|
|
2959
2980
|
};
|
|
2960
2981
|
}
|
|
2961
|
-
function
|
|
2982
|
+
function ll(e) {
|
|
2962
2983
|
return {
|
|
2963
|
-
|
|
2984
|
+
...$o(e, e.kindKey),
|
|
2964
2985
|
sourceTransactionId: e.sourceTransactionId,
|
|
2965
2986
|
previousVersionId: e.id,
|
|
2966
2987
|
version: e.version + 1,
|
|
@@ -2968,7 +2989,7 @@ function al(e) {
|
|
|
2968
2989
|
totals: e.totals
|
|
2969
2990
|
};
|
|
2970
2991
|
}
|
|
2971
|
-
function
|
|
2992
|
+
function ul(e, t = {}) {
|
|
2972
2993
|
const n = ke(e.kindKey), r = e.totals ?? { netCents: 0, taxCents: 0, grossCents: 0 };
|
|
2973
2994
|
return {
|
|
2974
2995
|
customer: {
|
|
@@ -2977,7 +2998,7 @@ function cl(e, t = {}) {
|
|
|
2977
2998
|
// One token per line of the address, plus `street` on its own for a template that wants
|
|
2978
2999
|
// the house number elsewhere. Empty stays empty: `fillText` reports it as a hole, and a
|
|
2979
3000
|
// recipient block missing its street is exactly what the issue gate has to refuse.
|
|
2980
|
-
address:
|
|
3001
|
+
address: Ko(t.companyAddress),
|
|
2981
3002
|
street: t.companyAddress?.street ?? "",
|
|
2982
3003
|
house_number: t.companyAddress?.houseNumber ?? "",
|
|
2983
3004
|
postal_code: t.companyAddress?.postalCode ?? "",
|
|
@@ -3002,8 +3023,8 @@ function cl(e, t = {}) {
|
|
|
3002
3023
|
}
|
|
3003
3024
|
};
|
|
3004
3025
|
}
|
|
3005
|
-
function
|
|
3006
|
-
const r = e.totals ?? { netCents: 0, grossCents: 0, byRate: [] }, o = (a) => t.find((
|
|
3026
|
+
function dl(e, t = [], n = Lo) {
|
|
3027
|
+
const r = e.totals ?? { netCents: 0, grossCents: 0, byRate: [] }, o = (a) => t.find((u) => u.key === a)?.percent ?? 0, s = {
|
|
3007
3028
|
block_id: "lines",
|
|
3008
3029
|
type: "table",
|
|
3009
3030
|
columns: [
|
|
@@ -3017,13 +3038,13 @@ function ll(e, t = [], n = $o) {
|
|
|
3017
3038
|
// A text line spans as a heading: empty money cells would read as "free".
|
|
3018
3039
|
[a.name, "", "", ""]
|
|
3019
3040
|
) : [
|
|
3020
|
-
|
|
3021
|
-
|
|
3041
|
+
Po(a.name, a.description, a.optional, n.optional),
|
|
3042
|
+
Uo(a.quantity),
|
|
3022
3043
|
D(a.unitPriceCents),
|
|
3023
3044
|
D(a.netCents)
|
|
3024
3045
|
]
|
|
3025
3046
|
)
|
|
3026
|
-
},
|
|
3047
|
+
}, i = {
|
|
3027
3048
|
block_id: "totals",
|
|
3028
3049
|
type: "totals",
|
|
3029
3050
|
rows: [
|
|
@@ -3035,9 +3056,9 @@ function ll(e, t = [], n = $o) {
|
|
|
3035
3056
|
amount: D(a.taxCents)
|
|
3036
3057
|
}))
|
|
3037
3058
|
};
|
|
3038
|
-
return { lines: [
|
|
3059
|
+
return { lines: [s], totals: [i] };
|
|
3039
3060
|
}
|
|
3040
|
-
const
|
|
3061
|
+
const Lo = {
|
|
3041
3062
|
description: "Omschrijving",
|
|
3042
3063
|
optional: "optioneel",
|
|
3043
3064
|
quantity: "Aantal",
|
|
@@ -3046,14 +3067,14 @@ const $o = {
|
|
|
3046
3067
|
tax: "Btw",
|
|
3047
3068
|
gross: "Totaal"
|
|
3048
3069
|
};
|
|
3049
|
-
function
|
|
3070
|
+
function Po(e, t, n, r) {
|
|
3050
3071
|
const o = t ? `${e} — ${t}` : e;
|
|
3051
3072
|
return n ? `${o} (${r})` : o;
|
|
3052
3073
|
}
|
|
3053
|
-
function
|
|
3074
|
+
function Ko(e) {
|
|
3054
3075
|
return e?.street ? [e.street, e.houseNumber].filter(Boolean).join(" ") : "";
|
|
3055
3076
|
}
|
|
3056
|
-
function
|
|
3077
|
+
function Uo(e) {
|
|
3057
3078
|
return Number.isInteger(e) ? String(e) : String(e).replace(".", ",");
|
|
3058
3079
|
}
|
|
3059
3080
|
function at(e) {
|
|
@@ -3061,7 +3082,7 @@ function at(e) {
|
|
|
3061
3082
|
const t = new Date(e), n = (r) => String(r).padStart(2, "0");
|
|
3062
3083
|
return `${n(t.getDate())}-${n(t.getMonth() + 1)}-${t.getFullYear()}`;
|
|
3063
3084
|
}
|
|
3064
|
-
const
|
|
3085
|
+
const pl = [
|
|
3065
3086
|
{
|
|
3066
3087
|
block_id: "head",
|
|
3067
3088
|
type: "letterhead",
|
|
@@ -3094,39 +3115,39 @@ Hierbij onze offerte. Hieronder vindt u de specificatie.`
|
|
|
3094
3115
|
type: "paragraph",
|
|
3095
3116
|
text: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld. Deze offerte is geldig tot {quote.valid_until}."
|
|
3096
3117
|
}
|
|
3097
|
-
],
|
|
3098
|
-
function
|
|
3118
|
+
], Fo = Xt.map((e) => e.key), Bo = "product";
|
|
3119
|
+
function fl(e, t) {
|
|
3099
3120
|
return `${e}:${t}`;
|
|
3100
3121
|
}
|
|
3101
|
-
function
|
|
3102
|
-
return `${
|
|
3122
|
+
function ml(e) {
|
|
3123
|
+
return `${Bo}:${e}`;
|
|
3103
3124
|
}
|
|
3104
|
-
function
|
|
3125
|
+
function hl(e) {
|
|
3105
3126
|
const t = e.indexOf(":");
|
|
3106
3127
|
if (t < 0) return;
|
|
3107
3128
|
const n = e.slice(0, t);
|
|
3108
|
-
return
|
|
3129
|
+
return Fo.includes(n) ? e.slice(t + 1) : void 0;
|
|
3109
3130
|
}
|
|
3110
|
-
function
|
|
3131
|
+
function gl(e) {
|
|
3111
3132
|
return e.type === "agent";
|
|
3112
3133
|
}
|
|
3113
|
-
const
|
|
3114
|
-
function
|
|
3134
|
+
const yl = "WORK_COMMENT_ADDED", bl = "WORK_ITEM_ASSIGNED", _l = "WORK_ITEM_STATUS_CHANGED";
|
|
3135
|
+
function jo(e, t) {
|
|
3115
3136
|
const n = (r) => {
|
|
3116
3137
|
const o = new Date(r);
|
|
3117
3138
|
return o.setHours(0, 0, 0, 0), o.getTime();
|
|
3118
3139
|
};
|
|
3119
|
-
return Math.round((n(e) - n(t)) /
|
|
3140
|
+
return Math.round((n(e) - n(t)) / Qn);
|
|
3120
3141
|
}
|
|
3121
|
-
function
|
|
3142
|
+
function Al(e, t) {
|
|
3122
3143
|
if (e.closedAt != null) return { score: L, reasons: [] };
|
|
3123
3144
|
const n = t.remindersById?.[e.id];
|
|
3124
3145
|
if (n && n.remindAt > t.now) return { score: L, reasons: [] };
|
|
3125
3146
|
let r = 0;
|
|
3126
|
-
const o = [],
|
|
3127
|
-
if (J[
|
|
3128
|
-
const
|
|
3129
|
-
|
|
3147
|
+
const o = [], s = e.priority ?? "normal";
|
|
3148
|
+
if (J[s] > 0 && (r += J[s], o.push(`priority:${s}`)), typeof e.dueDate == "number") {
|
|
3149
|
+
const i = jo(e.dueDate, t.now);
|
|
3150
|
+
i < 0 ? (r += 35, o.push("overdue")) : i === 0 && (r += 20, o.push("due-today"));
|
|
3130
3151
|
}
|
|
3131
3152
|
return e.source?.initiator === "system" && e.source.systemReason && (r += 15, o.push(`auto:${e.source.systemReason}`)), { score: r, reasons: o };
|
|
3132
3153
|
}
|
|
@@ -3138,35 +3159,35 @@ const Ne = [
|
|
|
3138
3159
|
{ key: "subtask", label: "type_subtask" },
|
|
3139
3160
|
{ key: "case", label: "type_case" },
|
|
3140
3161
|
{ key: "deal", label: "type_deal" }
|
|
3141
|
-
],
|
|
3142
|
-
function
|
|
3162
|
+
], Sl = Ne.map((e) => e.key);
|
|
3163
|
+
function El(e) {
|
|
3143
3164
|
return e?.types?.length ? e.types : Ne;
|
|
3144
3165
|
}
|
|
3145
|
-
function
|
|
3166
|
+
function Il(e, t) {
|
|
3146
3167
|
return t.find((n) => n.key === e);
|
|
3147
3168
|
}
|
|
3148
|
-
function
|
|
3169
|
+
function Tl(e) {
|
|
3149
3170
|
const t = e.trim().toLowerCase();
|
|
3150
3171
|
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;
|
|
3151
3172
|
}
|
|
3152
|
-
function
|
|
3173
|
+
function wl(...e) {
|
|
3153
3174
|
return e.map((t) => Ne.find((n) => n.key === t)).filter((t) => !!t);
|
|
3154
3175
|
}
|
|
3155
|
-
const
|
|
3156
|
-
function
|
|
3157
|
-
return `${jo}:${e}`;
|
|
3158
|
-
}
|
|
3159
|
-
function Yt(e) {
|
|
3176
|
+
const Ho = "work_item", Go = "work_project", Wo = "work_activity", kl = "work_cycle";
|
|
3177
|
+
function Vo(e) {
|
|
3160
3178
|
return `${Ho}:${e}`;
|
|
3161
3179
|
}
|
|
3162
|
-
function
|
|
3180
|
+
function Yt(e) {
|
|
3163
3181
|
return `${Go}:${e}`;
|
|
3164
3182
|
}
|
|
3165
|
-
function
|
|
3183
|
+
function vl(e) {
|
|
3184
|
+
return `${Wo}:${e}`;
|
|
3185
|
+
}
|
|
3186
|
+
function Ml(e, t, n) {
|
|
3166
3187
|
const r = `${e}-${t}`;
|
|
3167
3188
|
return n ? `${r}-${n}` : r;
|
|
3168
3189
|
}
|
|
3169
|
-
function
|
|
3190
|
+
function Cl(e) {
|
|
3170
3191
|
const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
|
|
3171
3192
|
return t ? {
|
|
3172
3193
|
projectKey: t[1].toUpperCase(),
|
|
@@ -3174,17 +3195,17 @@ function Ml(e) {
|
|
|
3174
3195
|
...t[3] ? { subSequence: Number(t[3]) } : {}
|
|
3175
3196
|
} : null;
|
|
3176
3197
|
}
|
|
3177
|
-
function
|
|
3198
|
+
function Ol(e) {
|
|
3178
3199
|
return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
|
|
3179
3200
|
}
|
|
3180
|
-
function
|
|
3181
|
-
const n = /* @__PURE__ */ new Set([
|
|
3201
|
+
function xl(e, t = 25) {
|
|
3202
|
+
const n = /* @__PURE__ */ new Set([Vo(e.id)]);
|
|
3182
3203
|
e.projectId && n.add(Yt(e.projectId));
|
|
3183
3204
|
for (const r of e.ancestorKeys ?? []) n.add(r);
|
|
3184
3205
|
for (const r of e.partyKeys ?? []) n.add(r);
|
|
3185
3206
|
return Array.from(n).slice(0, t);
|
|
3186
3207
|
}
|
|
3187
|
-
function
|
|
3208
|
+
function Nl(e) {
|
|
3188
3209
|
return [Yt(e.id)];
|
|
3189
3210
|
}
|
|
3190
3211
|
const Re = [
|
|
@@ -3193,41 +3214,41 @@ const Re = [
|
|
|
3193
3214
|
{ key: "done", label: "status_done", category: "done", order: 2 },
|
|
3194
3215
|
{ key: "cancelled", label: "status_cancelled", category: "done", order: 3 }
|
|
3195
3216
|
], qt = Re.map((e) => e.key);
|
|
3196
|
-
function
|
|
3217
|
+
function zo(e) {
|
|
3197
3218
|
return e?.statuses?.length ? e.statuses : Re;
|
|
3198
3219
|
}
|
|
3199
|
-
function
|
|
3220
|
+
function Xo(e, t) {
|
|
3200
3221
|
return t.find((n) => n.key === e)?.category ?? "todo";
|
|
3201
3222
|
}
|
|
3202
|
-
function
|
|
3223
|
+
function Rl(e, t) {
|
|
3203
3224
|
return t.find((n) => n.key === e);
|
|
3204
3225
|
}
|
|
3205
|
-
function
|
|
3206
|
-
const t =
|
|
3207
|
-
return n && t.some((r) => r.key === n) ? n :
|
|
3226
|
+
function Dl(e) {
|
|
3227
|
+
const t = zo(e), n = e?.defaultStatusKey;
|
|
3228
|
+
return n && t.some((r) => r.key === n) ? n : Yo(t)[0]?.key ?? Re[0].key;
|
|
3208
3229
|
}
|
|
3209
|
-
function
|
|
3230
|
+
function Yo(e) {
|
|
3210
3231
|
return [...e].sort((t, n) => {
|
|
3211
3232
|
const r = (t.order ?? 0) - (n.order ?? 0);
|
|
3212
3233
|
return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
|
|
3213
3234
|
});
|
|
3214
3235
|
}
|
|
3215
|
-
function
|
|
3216
|
-
return
|
|
3236
|
+
function $l(e, t) {
|
|
3237
|
+
return Xo(e, t) === "done";
|
|
3217
3238
|
}
|
|
3218
|
-
function
|
|
3239
|
+
function qo(e) {
|
|
3219
3240
|
return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
|
|
3220
3241
|
}
|
|
3221
|
-
function
|
|
3222
|
-
const n =
|
|
3242
|
+
function Ll(e, t) {
|
|
3243
|
+
const n = qo(e) || "status", r = /* @__PURE__ */ new Set([...t, ...qt]);
|
|
3223
3244
|
if (!r.has(n)) return n;
|
|
3224
3245
|
for (let o = 2; o < 500; o++) {
|
|
3225
|
-
const
|
|
3226
|
-
if (!r.has(
|
|
3246
|
+
const s = `${n}-${o}`;
|
|
3247
|
+
if (!r.has(s)) return s;
|
|
3227
3248
|
}
|
|
3228
3249
|
return `${n}-${r.size + 1}`;
|
|
3229
3250
|
}
|
|
3230
|
-
function
|
|
3251
|
+
function Pl(e) {
|
|
3231
3252
|
const t = [];
|
|
3232
3253
|
if (!e.length) return [{ index: -1, reason: "empty" }];
|
|
3233
3254
|
const n = /* @__PURE__ */ new Set();
|
|
@@ -3239,13 +3260,13 @@ function $l(e) {
|
|
|
3239
3260
|
qt.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);
|
|
3240
3261
|
}), 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;
|
|
3241
3262
|
}
|
|
3242
|
-
function
|
|
3263
|
+
function Kl(e) {
|
|
3243
3264
|
return e.startDate ?? Number.MAX_SAFE_INTEGER;
|
|
3244
3265
|
}
|
|
3245
|
-
function
|
|
3266
|
+
function Ul(e) {
|
|
3246
3267
|
return e.completedAt ? "completed" : e.startedAt ? "active" : "planned";
|
|
3247
3268
|
}
|
|
3248
|
-
const
|
|
3269
|
+
const Qo = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), Zo = /* @__PURE__ */ new Set([
|
|
3249
3270
|
"text/plain",
|
|
3250
3271
|
"text/markdown",
|
|
3251
3272
|
"text/csv",
|
|
@@ -3254,67 +3275,67 @@ const qo = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
|
|
|
3254
3275
|
"application/xml",
|
|
3255
3276
|
"text/xml"
|
|
3256
3277
|
]);
|
|
3257
|
-
function
|
|
3278
|
+
function Jo(e) {
|
|
3258
3279
|
const t = (e ?? "").trim().toLowerCase().split(";")[0];
|
|
3259
|
-
return t ?
|
|
3280
|
+
return t ? Qo.has(t) ? "image" : t === "application/pdf" ? "pdf" : Zo.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
|
|
3260
3281
|
}
|
|
3261
|
-
const F = 1024 * 1024,
|
|
3282
|
+
const F = 1024 * 1024, es = {
|
|
3262
3283
|
image: 5 * F,
|
|
3263
3284
|
pdf: 20 * F,
|
|
3264
3285
|
text: 1 * F,
|
|
3265
3286
|
audio: 20 * F
|
|
3266
|
-
},
|
|
3267
|
-
function
|
|
3268
|
-
const n =
|
|
3269
|
-
return n === "unsupported" ? "unsupported" : t >
|
|
3287
|
+
}, Fl = 25 * F, Bl = 5;
|
|
3288
|
+
function jl(e, t) {
|
|
3289
|
+
const n = Jo(e);
|
|
3290
|
+
return n === "unsupported" ? "unsupported" : t > es[n] ? "too-large" : null;
|
|
3270
3291
|
}
|
|
3271
|
-
function
|
|
3292
|
+
function Hl(e) {
|
|
3272
3293
|
return e.access !== "read" && e.effect !== "internal";
|
|
3273
3294
|
}
|
|
3274
|
-
function
|
|
3295
|
+
function ts(e) {
|
|
3275
3296
|
return `${e.kind}:${e.id || e.url || e.title}`;
|
|
3276
3297
|
}
|
|
3277
|
-
function
|
|
3298
|
+
function Gl(e, t = []) {
|
|
3278
3299
|
const n = new Set(t), r = [], o = [];
|
|
3279
|
-
for (const
|
|
3280
|
-
const
|
|
3281
|
-
n.has(
|
|
3300
|
+
for (const s of e) {
|
|
3301
|
+
const i = ts(s);
|
|
3302
|
+
n.has(i) || (n.add(i), r.push(s), o.push(i));
|
|
3282
3303
|
}
|
|
3283
3304
|
return { sources: r, keys: o };
|
|
3284
3305
|
}
|
|
3285
|
-
const
|
|
3286
|
-
function
|
|
3306
|
+
const Wl = "assist-source", Vl = ["blocking", "due", "open"];
|
|
3307
|
+
function zl(e, t) {
|
|
3287
3308
|
const [n, r] = (e.subjectKey ?? "").split(":");
|
|
3288
3309
|
return n === t && r ? r : void 0;
|
|
3289
3310
|
}
|
|
3290
3311
|
const ct = { blocking: 0, due: 1, open: 2 };
|
|
3291
|
-
function
|
|
3312
|
+
function Xl(e, t) {
|
|
3292
3313
|
return ct[e.band ?? "open"] - ct[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
|
|
3293
3314
|
}
|
|
3294
|
-
function
|
|
3315
|
+
function Yl(e) {
|
|
3295
3316
|
return e.sessions.filter(
|
|
3296
3317
|
(t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
|
|
3297
3318
|
);
|
|
3298
3319
|
}
|
|
3299
|
-
function
|
|
3320
|
+
function ql(e) {
|
|
3300
3321
|
return e.sessions.filter(
|
|
3301
3322
|
(t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
|
|
3302
3323
|
);
|
|
3303
3324
|
}
|
|
3304
|
-
function
|
|
3325
|
+
function Ql(e) {
|
|
3305
3326
|
return e.sessions.some(
|
|
3306
3327
|
(n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
|
|
3307
3328
|
) ? { admit: !1, reason: "busy" } : { admit: !0 };
|
|
3308
3329
|
}
|
|
3309
|
-
function
|
|
3310
|
-
const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((
|
|
3330
|
+
function ns(e, t) {
|
|
3331
|
+
const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((i) => !n.has(i.intent)).map((i) => os(i, r[i.intent]));
|
|
3311
3332
|
if (!e.extraIntents || e.extraIntents.length === 0) return o;
|
|
3312
|
-
const
|
|
3313
|
-
for (const
|
|
3314
|
-
|
|
3333
|
+
const s = new Set(o.map((i) => i.intent));
|
|
3334
|
+
for (const i of e.extraIntents)
|
|
3335
|
+
s.has(i.intent) || (o.push(i), s.add(i.intent));
|
|
3315
3336
|
return o;
|
|
3316
3337
|
}
|
|
3317
|
-
function
|
|
3338
|
+
function rs(e, t) {
|
|
3318
3339
|
const n = {};
|
|
3319
3340
|
for (const r of e.intents) {
|
|
3320
3341
|
if (!r.togglable) continue;
|
|
@@ -3323,46 +3344,46 @@ function ni(e, t) {
|
|
|
3323
3344
|
}
|
|
3324
3345
|
return n;
|
|
3325
3346
|
}
|
|
3326
|
-
function
|
|
3327
|
-
const n =
|
|
3347
|
+
function Zl(e, t) {
|
|
3348
|
+
const n = rs(e, t);
|
|
3328
3349
|
return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
|
|
3329
3350
|
}
|
|
3330
|
-
function
|
|
3351
|
+
function os(e, t) {
|
|
3331
3352
|
return t ? {
|
|
3332
3353
|
intent: t.intent ?? e.intent,
|
|
3333
3354
|
targetSchemes: t.targetSchemes ?? e.targetSchemes,
|
|
3334
3355
|
transport: t.transport ?? e.transport
|
|
3335
3356
|
} : e;
|
|
3336
3357
|
}
|
|
3337
|
-
function
|
|
3358
|
+
function Jl(e, t) {
|
|
3338
3359
|
const n = [];
|
|
3339
3360
|
for (const r of e) {
|
|
3340
3361
|
if (!r.enabled) continue;
|
|
3341
3362
|
const o = t[r.providerId];
|
|
3342
3363
|
if (o)
|
|
3343
|
-
for (const
|
|
3344
|
-
n.push({ channel: r, description: o, capability:
|
|
3364
|
+
for (const s of ns(r, o))
|
|
3365
|
+
n.push({ channel: r, description: o, capability: s });
|
|
3345
3366
|
}
|
|
3346
3367
|
return n;
|
|
3347
3368
|
}
|
|
3348
|
-
function
|
|
3369
|
+
function eu(e, t) {
|
|
3349
3370
|
return t.filter((n) => n.capability.intent === e);
|
|
3350
3371
|
}
|
|
3351
|
-
function
|
|
3372
|
+
function ss(e, t) {
|
|
3352
3373
|
return t.filter((n) => n.capability.targetSchemes.includes(e));
|
|
3353
3374
|
}
|
|
3354
|
-
function
|
|
3355
|
-
return
|
|
3375
|
+
function tu(e, t) {
|
|
3376
|
+
return ss(e.scheme, t);
|
|
3356
3377
|
}
|
|
3357
|
-
function
|
|
3378
|
+
function nu(e, t, n) {
|
|
3358
3379
|
const r = [];
|
|
3359
3380
|
for (const o of e)
|
|
3360
|
-
for (const
|
|
3361
|
-
|
|
3381
|
+
for (const s of n)
|
|
3382
|
+
s.capability.intent === t && s.capability.targetSchemes.includes(o.scheme) && r.push({ channelIntent: s, endpoint: o });
|
|
3362
3383
|
return r;
|
|
3363
3384
|
}
|
|
3364
|
-
var
|
|
3365
|
-
const
|
|
3385
|
+
var is = /* @__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))(is || {});
|
|
3386
|
+
const as = {
|
|
3366
3387
|
mailto: "mail",
|
|
3367
3388
|
sip: "tel",
|
|
3368
3389
|
tel: "tel",
|
|
@@ -3383,10 +3404,10 @@ const si = {
|
|
|
3383
3404
|
id: "note",
|
|
3384
3405
|
custom: "note"
|
|
3385
3406
|
};
|
|
3386
|
-
function
|
|
3387
|
-
return e ?
|
|
3407
|
+
function ru(e) {
|
|
3408
|
+
return e ? as[e] ?? "note" : "note";
|
|
3388
3409
|
}
|
|
3389
|
-
const
|
|
3410
|
+
const ou = "message_window", su = "message_templates", iu = {
|
|
3390
3411
|
// E-mail
|
|
3391
3412
|
FROM: "from",
|
|
3392
3413
|
TO: "to",
|
|
@@ -3403,27 +3424,27 @@ const nu = "message_window", ru = "message_templates", ou = {
|
|
|
3403
3424
|
// Voice/conference
|
|
3404
3425
|
HOST: "host",
|
|
3405
3426
|
PARTICIPANT: "participant"
|
|
3406
|
-
},
|
|
3427
|
+
}, au = (e, t) => ({ intent: e, ...t }), cu = "folder_management", lu = "remote_search", uu = "message_reactions", du = {
|
|
3407
3428
|
ok: !1,
|
|
3408
3429
|
code: "UNSUPPORTED",
|
|
3409
3430
|
message: "Provider does not support this op"
|
|
3410
|
-
},
|
|
3411
|
-
function b(e, t, n, r, o,
|
|
3431
|
+
}, pu = "connector", fu = "context.collect", A = (e) => ({ type: "string", description: e }), _ = (e) => ({ type: "number", description: e }), Q = (e) => ({ type: "boolean", description: e }), M = A("Sheet name. Omit for the sheet the user is looking at."), lt = A("Slide id, as `inspect` reports it.");
|
|
3432
|
+
function b(e, t, n, r, o, s) {
|
|
3412
3433
|
return {
|
|
3413
3434
|
op: e,
|
|
3414
3435
|
kinds: t,
|
|
3415
3436
|
summary: n,
|
|
3416
3437
|
parameters: { type: "object", properties: r, required: o },
|
|
3417
|
-
undoable:
|
|
3418
|
-
visible:
|
|
3438
|
+
undoable: s.undoable,
|
|
3439
|
+
visible: s.visible
|
|
3419
3440
|
};
|
|
3420
3441
|
}
|
|
3421
|
-
const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut = { undoable: !1, visible: !0 }, ee = { undoable: !1, visible: !1 },
|
|
3442
|
+
const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut = { undoable: !1, visible: !0 }, ee = { undoable: !1, visible: !1 }, cs = [
|
|
3422
3443
|
b(
|
|
3423
3444
|
"pdf.goToPage",
|
|
3424
3445
|
["pdf"],
|
|
3425
3446
|
"Scroll the viewer to a page.",
|
|
3426
|
-
{ page:
|
|
3447
|
+
{ page: _("1-based page number.") },
|
|
3427
3448
|
["page"],
|
|
3428
3449
|
B
|
|
3429
3450
|
),
|
|
@@ -3431,7 +3452,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3431
3452
|
"pdf.search",
|
|
3432
3453
|
["pdf"],
|
|
3433
3454
|
"Search the document and highlight the matches, as the find bar does.",
|
|
3434
|
-
{ query:
|
|
3455
|
+
{ query: A("Text to find."), next: Q("Jump to the next match instead of the first.") },
|
|
3435
3456
|
["query"],
|
|
3436
3457
|
B
|
|
3437
3458
|
),
|
|
@@ -3454,7 +3475,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3454
3475
|
["pdf"],
|
|
3455
3476
|
"Fill one form field of a fillable PDF.",
|
|
3456
3477
|
{
|
|
3457
|
-
field:
|
|
3478
|
+
field: A("Field name, exactly as `inspect` reports it under `fields`."),
|
|
3458
3479
|
value: {
|
|
3459
3480
|
type: ["string", "boolean"],
|
|
3460
3481
|
description: "Text for a text field, true/false for a checkbox or radio."
|
|
@@ -3490,13 +3511,13 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3490
3511
|
["pdf"],
|
|
3491
3512
|
"Place a text note on a page. Written on save; not visible before that.",
|
|
3492
3513
|
{
|
|
3493
|
-
page:
|
|
3494
|
-
text:
|
|
3495
|
-
left:
|
|
3496
|
-
top:
|
|
3497
|
-
width:
|
|
3498
|
-
height:
|
|
3499
|
-
fontSize:
|
|
3514
|
+
page: _("1-based page number."),
|
|
3515
|
+
text: A("The note's text."),
|
|
3516
|
+
left: _("Distance from the left edge, in PDF points (72 per inch)."),
|
|
3517
|
+
top: _("Distance from the top edge, in PDF points."),
|
|
3518
|
+
width: _("Box width in points. Omit for a sensible default."),
|
|
3519
|
+
height: _("Box height in points. Omit for a sensible default."),
|
|
3520
|
+
fontSize: _("Font size in points. Omit for 12.")
|
|
3500
3521
|
},
|
|
3501
3522
|
["page", "text", "left", "top"],
|
|
3502
3523
|
ee
|
|
@@ -3506,21 +3527,21 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3506
3527
|
["pdf"],
|
|
3507
3528
|
"Highlight a phrase on a page. Written on save; not visible before that.",
|
|
3508
3529
|
{
|
|
3509
|
-
page:
|
|
3510
|
-
text:
|
|
3511
|
-
occurrence:
|
|
3530
|
+
page: _("1-based page number."),
|
|
3531
|
+
text: A("The exact phrase to highlight, as it appears in the page's text."),
|
|
3532
|
+
occurrence: _("Which occurrence on that page, 1-based. Omit for the first.")
|
|
3512
3533
|
},
|
|
3513
3534
|
["page", "text"],
|
|
3514
3535
|
ee
|
|
3515
3536
|
)
|
|
3516
|
-
],
|
|
3537
|
+
], ls = [
|
|
3517
3538
|
b(
|
|
3518
3539
|
"sheet.setValues",
|
|
3519
3540
|
["sheet"],
|
|
3520
3541
|
"Write a block of values. The block's shape must match the range.",
|
|
3521
3542
|
{
|
|
3522
|
-
sheet:
|
|
3523
|
-
range:
|
|
3543
|
+
sheet: M,
|
|
3544
|
+
range: A("A1 notation, e.g. `B2:D5` or a single `A1`."),
|
|
3524
3545
|
values: {
|
|
3525
3546
|
type: "array",
|
|
3526
3547
|
items: { type: "array", items: { type: ["string", "number", "boolean", "null"] } },
|
|
@@ -3534,7 +3555,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3534
3555
|
"sheet.setFormula",
|
|
3535
3556
|
["sheet"],
|
|
3536
3557
|
"Put a formula in every cell of a range.",
|
|
3537
|
-
{ sheet:
|
|
3558
|
+
{ sheet: M, range: A("A1 notation."), formula: A("Including the leading `=`.") },
|
|
3538
3559
|
["range", "formula"],
|
|
3539
3560
|
I
|
|
3540
3561
|
),
|
|
@@ -3543,19 +3564,19 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3543
3564
|
["sheet"],
|
|
3544
3565
|
"Change the look of a range. Only the properties you pass are touched.",
|
|
3545
3566
|
{
|
|
3546
|
-
sheet:
|
|
3547
|
-
range:
|
|
3567
|
+
sheet: M,
|
|
3568
|
+
range: A("A1 notation."),
|
|
3548
3569
|
bold: Q("Bold on or off."),
|
|
3549
3570
|
italic: Q("Italic on or off."),
|
|
3550
|
-
fontSize:
|
|
3551
|
-
fontColor:
|
|
3552
|
-
background:
|
|
3571
|
+
fontSize: _("Point size."),
|
|
3572
|
+
fontColor: A("CSS colour, e.g. `#b91c1c`."),
|
|
3573
|
+
background: A("CSS colour for the cell fill."),
|
|
3553
3574
|
horizontalAlignment: {
|
|
3554
3575
|
type: "string",
|
|
3555
3576
|
enum: ["left", "center", "right"],
|
|
3556
3577
|
description: "Horizontal alignment."
|
|
3557
3578
|
},
|
|
3558
|
-
numberFormat:
|
|
3579
|
+
numberFormat: A("Number format pattern, e.g. `#,##0.00` or `0%`.")
|
|
3559
3580
|
},
|
|
3560
3581
|
["range"],
|
|
3561
3582
|
I
|
|
@@ -3565,9 +3586,9 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3565
3586
|
["sheet"],
|
|
3566
3587
|
"Insert empty rows, pushing the rest down.",
|
|
3567
3588
|
{
|
|
3568
|
-
sheet:
|
|
3569
|
-
at:
|
|
3570
|
-
count:
|
|
3589
|
+
sheet: M,
|
|
3590
|
+
at: _("1-based row number to insert before."),
|
|
3591
|
+
count: _("How many. Omit for 1.")
|
|
3571
3592
|
},
|
|
3572
3593
|
["at"],
|
|
3573
3594
|
I
|
|
@@ -3576,7 +3597,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3576
3597
|
"sheet.deleteRows",
|
|
3577
3598
|
["sheet"],
|
|
3578
3599
|
"Delete rows, pulling the rest up.",
|
|
3579
|
-
{ sheet:
|
|
3600
|
+
{ sheet: M, at: _("1-based first row to delete."), count: _("How many. Omit for 1.") },
|
|
3580
3601
|
["at"],
|
|
3581
3602
|
I
|
|
3582
3603
|
),
|
|
@@ -3585,9 +3606,9 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3585
3606
|
["sheet"],
|
|
3586
3607
|
"Insert empty columns, pushing the rest right.",
|
|
3587
3608
|
{
|
|
3588
|
-
sheet:
|
|
3589
|
-
at:
|
|
3590
|
-
count:
|
|
3609
|
+
sheet: M,
|
|
3610
|
+
at: _("1-based column number to insert before."),
|
|
3611
|
+
count: _("How many. Omit for 1.")
|
|
3591
3612
|
},
|
|
3592
3613
|
["at"],
|
|
3593
3614
|
I
|
|
@@ -3597,9 +3618,9 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3597
3618
|
["sheet"],
|
|
3598
3619
|
"Delete columns, pulling the rest left.",
|
|
3599
3620
|
{
|
|
3600
|
-
sheet:
|
|
3601
|
-
at:
|
|
3602
|
-
count:
|
|
3621
|
+
sheet: M,
|
|
3622
|
+
at: _("1-based first column to delete."),
|
|
3623
|
+
count: _("How many. Omit for 1.")
|
|
3603
3624
|
},
|
|
3604
3625
|
["at"],
|
|
3605
3626
|
I
|
|
@@ -3608,7 +3629,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3608
3629
|
"sheet.merge",
|
|
3609
3630
|
["sheet"],
|
|
3610
3631
|
"Merge a range into one cell.",
|
|
3611
|
-
{ sheet:
|
|
3632
|
+
{ sheet: M, range: A("A1 notation.") },
|
|
3612
3633
|
["range"],
|
|
3613
3634
|
I
|
|
3614
3635
|
),
|
|
@@ -3616,7 +3637,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3616
3637
|
"sheet.unmerge",
|
|
3617
3638
|
["sheet"],
|
|
3618
3639
|
"Break merged cells in a range apart.",
|
|
3619
|
-
{ sheet:
|
|
3640
|
+
{ sheet: M, range: A("A1 notation.") },
|
|
3620
3641
|
["range"],
|
|
3621
3642
|
I
|
|
3622
3643
|
),
|
|
@@ -3625,9 +3646,9 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3625
3646
|
["sheet"],
|
|
3626
3647
|
"Sort a range on one of its columns.",
|
|
3627
3648
|
{
|
|
3628
|
-
sheet:
|
|
3629
|
-
range:
|
|
3630
|
-
column:
|
|
3649
|
+
sheet: M,
|
|
3650
|
+
range: A("A1 notation covering the rows to sort, header excluded."),
|
|
3651
|
+
column: _("1-based column *within the range*, not within the sheet."),
|
|
3631
3652
|
ascending: Q("Ascending. Omit for ascending.")
|
|
3632
3653
|
},
|
|
3633
3654
|
["range", "column"],
|
|
@@ -3637,7 +3658,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3637
3658
|
"sheet.insertSheet",
|
|
3638
3659
|
["sheet"],
|
|
3639
3660
|
"Add a new sheet.",
|
|
3640
|
-
{ name:
|
|
3661
|
+
{ name: A("Name for the new sheet.") },
|
|
3641
3662
|
["name"],
|
|
3642
3663
|
I
|
|
3643
3664
|
),
|
|
@@ -3645,7 +3666,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3645
3666
|
"sheet.renameSheet",
|
|
3646
3667
|
["sheet"],
|
|
3647
3668
|
"Rename a sheet.",
|
|
3648
|
-
{ sheet:
|
|
3669
|
+
{ sheet: A("Current name."), name: A("New name.") },
|
|
3649
3670
|
["sheet", "name"],
|
|
3650
3671
|
I
|
|
3651
3672
|
),
|
|
@@ -3653,7 +3674,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3653
3674
|
"sheet.deleteSheet",
|
|
3654
3675
|
["sheet"],
|
|
3655
3676
|
"Remove a sheet and everything on it.",
|
|
3656
|
-
{ sheet:
|
|
3677
|
+
{ sheet: A("Name of the sheet to delete.") },
|
|
3657
3678
|
["sheet"],
|
|
3658
3679
|
I
|
|
3659
3680
|
),
|
|
@@ -3661,18 +3682,18 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3661
3682
|
"sheet.activate",
|
|
3662
3683
|
["sheet"],
|
|
3663
3684
|
"Show the user a sheet and select a range on it.",
|
|
3664
|
-
{ sheet:
|
|
3685
|
+
{ sheet: M, range: A("A1 notation to select. Omit to only switch sheets.") },
|
|
3665
3686
|
[],
|
|
3666
3687
|
B
|
|
3667
3688
|
)
|
|
3668
|
-
],
|
|
3689
|
+
], us = [
|
|
3669
3690
|
b(
|
|
3670
3691
|
"word.replaceParagraph",
|
|
3671
3692
|
["word"],
|
|
3672
3693
|
"Rewrite one whole paragraph, keeping its style. This is the verb for shortening or rephrasing something; call it once per paragraph.",
|
|
3673
3694
|
{
|
|
3674
|
-
at:
|
|
3675
|
-
text:
|
|
3695
|
+
at: _("The offset the paragraph starts at, exactly as `inspect` prints it."),
|
|
3696
|
+
text: A("The new text for that paragraph. A newline starts a further paragraph.")
|
|
3676
3697
|
},
|
|
3677
3698
|
["at", "text"],
|
|
3678
3699
|
I
|
|
@@ -3682,9 +3703,9 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3682
3703
|
["word"],
|
|
3683
3704
|
"Replace a stretch of text inside a paragraph - a sentence, a phrase. To rewrite whole paragraphs use word.replaceParagraph: a range covering several paragraph styles is refused, because a replacement carries one style and would set the whole span in the first.",
|
|
3684
3705
|
{
|
|
3685
|
-
start:
|
|
3686
|
-
end:
|
|
3687
|
-
text:
|
|
3706
|
+
start: _("Character offset where the replaced text starts, as `inspect` reports offsets."),
|
|
3707
|
+
end: _("Character offset just past the last character to replace."),
|
|
3708
|
+
text: A("The replacement text. A newline starts a new paragraph.")
|
|
3688
3709
|
},
|
|
3689
3710
|
["start", "end", "text"],
|
|
3690
3711
|
I
|
|
@@ -3694,8 +3715,8 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3694
3715
|
["word"],
|
|
3695
3716
|
"Insert text at a character offset, without removing anything.",
|
|
3696
3717
|
{
|
|
3697
|
-
index:
|
|
3698
|
-
text:
|
|
3718
|
+
index: _("Character offset, as `inspect` reports offsets."),
|
|
3719
|
+
text: A("The text to insert.")
|
|
3699
3720
|
},
|
|
3700
3721
|
["index", "text"],
|
|
3701
3722
|
I
|
|
@@ -3704,7 +3725,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3704
3725
|
"word.appendText",
|
|
3705
3726
|
["word"],
|
|
3706
3727
|
"Add text at the end of the document.",
|
|
3707
|
-
{ text:
|
|
3728
|
+
{ text: A("The text to append.") },
|
|
3708
3729
|
["text"],
|
|
3709
3730
|
I
|
|
3710
3731
|
),
|
|
@@ -3713,8 +3734,8 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3713
3734
|
["word"],
|
|
3714
3735
|
"Start a new paragraph, optionally with text in it.",
|
|
3715
3736
|
{
|
|
3716
|
-
text:
|
|
3717
|
-
index:
|
|
3737
|
+
text: A("Paragraph text. Newlines start further paragraphs."),
|
|
3738
|
+
index: _("Character offset to insert at. Omit for the end of the document.")
|
|
3718
3739
|
},
|
|
3719
3740
|
[],
|
|
3720
3741
|
I
|
|
@@ -3723,19 +3744,19 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3723
3744
|
"word.setSelection",
|
|
3724
3745
|
["word"],
|
|
3725
3746
|
"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.",
|
|
3726
|
-
{ start:
|
|
3747
|
+
{ start: _("Start character offset."), end: _("End character offset. Omit for a caret.") },
|
|
3727
3748
|
["start"],
|
|
3728
3749
|
B
|
|
3729
3750
|
)
|
|
3730
|
-
],
|
|
3751
|
+
], ds = [
|
|
3731
3752
|
b(
|
|
3732
3753
|
"slides.setText",
|
|
3733
3754
|
["slides"],
|
|
3734
3755
|
"Replace the text of one shape. Written on save; not visible before that, and not undoable.",
|
|
3735
3756
|
{
|
|
3736
3757
|
slide: lt,
|
|
3737
|
-
element:
|
|
3738
|
-
text:
|
|
3758
|
+
element: A("Element id, as `inspect` reports it."),
|
|
3759
|
+
text: A("The new text.")
|
|
3739
3760
|
},
|
|
3740
3761
|
["slide", "element", "text"],
|
|
3741
3762
|
ee
|
|
@@ -3746,63 +3767,63 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
|
|
|
3746
3767
|
"Move or resize one shape. Only the values you pass change. Written on save; not visible before that, and not undoable.",
|
|
3747
3768
|
{
|
|
3748
3769
|
slide: lt,
|
|
3749
|
-
element:
|
|
3750
|
-
left:
|
|
3751
|
-
top:
|
|
3752
|
-
width:
|
|
3753
|
-
height:
|
|
3770
|
+
element: A("Element id."),
|
|
3771
|
+
left: _("Distance from the left edge, in pixels."),
|
|
3772
|
+
top: _("Distance from the top edge, in pixels."),
|
|
3773
|
+
width: _("Width in pixels."),
|
|
3774
|
+
height: _("Height in pixels.")
|
|
3754
3775
|
},
|
|
3755
3776
|
["slide", "element"],
|
|
3756
3777
|
ee
|
|
3757
3778
|
)
|
|
3758
3779
|
], Qt = [
|
|
3759
|
-
...
|
|
3760
|
-
...
|
|
3761
|
-
...
|
|
3762
|
-
...
|
|
3780
|
+
...cs,
|
|
3781
|
+
...ls,
|
|
3782
|
+
...us,
|
|
3783
|
+
...ds
|
|
3763
3784
|
];
|
|
3764
|
-
function
|
|
3785
|
+
function mu(e) {
|
|
3765
3786
|
return Qt.filter((t) => t.kinds.includes(e));
|
|
3766
3787
|
}
|
|
3767
|
-
function
|
|
3788
|
+
function hu(e) {
|
|
3768
3789
|
return Qt.find((t) => t.op === e);
|
|
3769
3790
|
}
|
|
3770
|
-
const dt = /(?: {2,}|\\)$/,
|
|
3791
|
+
const dt = /(?: {2,}|\\)$/, ps = /^\*\*([^*]+)\*\*\s+(.*)$/;
|
|
3771
3792
|
function pt(e) {
|
|
3772
|
-
const t =
|
|
3793
|
+
const t = ps.exec(e);
|
|
3773
3794
|
return t ? { lead: t[1], text: t[2] } : { text: e };
|
|
3774
3795
|
}
|
|
3775
|
-
function
|
|
3796
|
+
function gu(e) {
|
|
3776
3797
|
const t = (e ?? "").replace(/\r\n/g, `
|
|
3777
3798
|
`).split(`
|
|
3778
3799
|
`), n = [];
|
|
3779
3800
|
let r = null;
|
|
3780
3801
|
const o = () => {
|
|
3781
3802
|
r && n.push({ type: "list", style: r.style, items: r.items }), r = null;
|
|
3782
|
-
},
|
|
3803
|
+
}, s = (p, f) => {
|
|
3783
3804
|
r && r.style !== p && o(), r ? r.items.push(pt(f)) : r = { style: p, items: [pt(f)] };
|
|
3784
3805
|
};
|
|
3785
|
-
let
|
|
3786
|
-
const
|
|
3787
|
-
if (
|
|
3788
|
-
const p =
|
|
3789
|
-
p && n.push({ type: "paragraph", text: p }),
|
|
3806
|
+
let i = [], a = [];
|
|
3807
|
+
const u = () => {
|
|
3808
|
+
if (i.length) {
|
|
3809
|
+
const p = i.join("").trim();
|
|
3810
|
+
p && n.push({ type: "paragraph", text: p }), i = [];
|
|
3790
3811
|
}
|
|
3791
|
-
},
|
|
3812
|
+
}, l = () => {
|
|
3792
3813
|
a.length && (n.push({ type: "quote", text: a.join(`
|
|
3793
3814
|
`) }), a = []);
|
|
3794
3815
|
}, d = () => {
|
|
3795
|
-
|
|
3816
|
+
u(), l(), o();
|
|
3796
3817
|
};
|
|
3797
|
-
let
|
|
3798
|
-
for (;
|
|
3799
|
-
const p = t[
|
|
3818
|
+
let c = 0;
|
|
3819
|
+
for (; c < t.length; ) {
|
|
3820
|
+
const p = t[c] ?? "", f = p.match(/^```(\w*)\s*$/);
|
|
3800
3821
|
if (f) {
|
|
3801
3822
|
d();
|
|
3802
3823
|
const g = [];
|
|
3803
|
-
for (
|
|
3804
|
-
g.push(t[
|
|
3805
|
-
|
|
3824
|
+
for (c++; c < t.length && !/^```\s*$/.test(t[c] ?? ""); )
|
|
3825
|
+
g.push(t[c] ?? ""), c++;
|
|
3826
|
+
c++, n.push({ type: "code", ...f[1] ? { lang: f[1] } : {}, text: g.join(`
|
|
3806
3827
|
`) });
|
|
3807
3828
|
continue;
|
|
3808
3829
|
}
|
|
@@ -3812,7 +3833,7 @@ function mu(e) {
|
|
|
3812
3833
|
type: "heading",
|
|
3813
3834
|
level: y[1].length,
|
|
3814
3835
|
text: y[2].trim()
|
|
3815
|
-
}),
|
|
3836
|
+
}), c++;
|
|
3816
3837
|
continue;
|
|
3817
3838
|
}
|
|
3818
3839
|
const m = p.match(/^!\[([^\]]*)\]\(([^)\s]+)\)\s*$/);
|
|
@@ -3821,57 +3842,57 @@ function mu(e) {
|
|
|
3821
3842
|
type: "image",
|
|
3822
3843
|
url: m[2],
|
|
3823
3844
|
...m[1] ? { alt: m[1] } : {}
|
|
3824
|
-
}),
|
|
3845
|
+
}), c++;
|
|
3825
3846
|
continue;
|
|
3826
3847
|
}
|
|
3827
3848
|
if (/^\s*[-*]\s+/.test(p)) {
|
|
3828
|
-
|
|
3849
|
+
u(), l(), s("bulleted", p.replace(/^\s*[-*]\s+/, "")), c++;
|
|
3829
3850
|
continue;
|
|
3830
3851
|
}
|
|
3831
3852
|
if (/^\s*\d+\.\s+/.test(p)) {
|
|
3832
|
-
|
|
3853
|
+
u(), l(), s("numbered", p.replace(/^\s*\d+\.\s+/, "")), c++;
|
|
3833
3854
|
continue;
|
|
3834
3855
|
}
|
|
3835
3856
|
if (/^\s*(-{3,}|\*{3,}|_{3,})\s*$/.test(p)) {
|
|
3836
|
-
d(), n.push({ type: "divider" }),
|
|
3857
|
+
d(), n.push({ type: "divider" }), c++;
|
|
3837
3858
|
continue;
|
|
3838
3859
|
}
|
|
3839
3860
|
if (/^>\s?/.test(p)) {
|
|
3840
|
-
|
|
3861
|
+
u(), o(), a.push(p.replace(/^>\s?/, "")), c++;
|
|
3841
3862
|
continue;
|
|
3842
3863
|
}
|
|
3843
3864
|
if (p.trim() === "") {
|
|
3844
|
-
d(),
|
|
3865
|
+
d(), c++;
|
|
3845
3866
|
continue;
|
|
3846
3867
|
}
|
|
3847
|
-
|
|
3848
|
-
const
|
|
3849
|
-
|
|
3850
|
-
` : " ")),
|
|
3868
|
+
l(), o();
|
|
3869
|
+
const E = dt.test(p);
|
|
3870
|
+
i.push(p.replace(dt, "").trim() + (E ? `
|
|
3871
|
+
` : " ")), c++;
|
|
3851
3872
|
}
|
|
3852
3873
|
return d(), n;
|
|
3853
3874
|
}
|
|
3854
|
-
function
|
|
3875
|
+
function yu(e, t) {
|
|
3855
3876
|
return Dn(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, `
|
|
3856
3877
|
|
|
3857
3878
|
`).trim();
|
|
3858
3879
|
}
|
|
3859
|
-
const
|
|
3860
|
-
function
|
|
3880
|
+
const bu = "documents.describe", _u = "documents.inspect", Au = "documents.apply";
|
|
3881
|
+
function Su(e) {
|
|
3861
3882
|
const t = e.indexOf(":");
|
|
3862
3883
|
if (t !== -1) return e.slice(0, t);
|
|
3863
3884
|
const n = e.indexOf(".");
|
|
3864
3885
|
return n === -1 ? e : e.slice(0, n);
|
|
3865
3886
|
}
|
|
3866
|
-
const
|
|
3867
|
-
function
|
|
3887
|
+
const Eu = "installation-id";
|
|
3888
|
+
function Iu(e) {
|
|
3868
3889
|
const t = [];
|
|
3869
3890
|
for (const n of Object.keys(e))
|
|
3870
3891
|
for (const r of Object.keys(e[n]))
|
|
3871
3892
|
t.push({ lang: n, key: r, value: e[n][r] });
|
|
3872
3893
|
return t;
|
|
3873
3894
|
}
|
|
3874
|
-
const
|
|
3895
|
+
const Tu = "notification-source", wu = (e, t) => `${e}.pref.${t}`, ku = {
|
|
3875
3896
|
ai: [
|
|
3876
3897
|
"account.read",
|
|
3877
3898
|
"account.write",
|
|
@@ -4006,96 +4027,96 @@ const Su = "notification-source", Iu = (e, t) => `${e}.pref.${t}`, Tu = {
|
|
|
4006
4027
|
time: ["entry.read", "entry.write", "work-type.read", "work-type.write"],
|
|
4007
4028
|
user: ["user.read", "user.write"],
|
|
4008
4029
|
work: ["item.read", "item.write", "project.read", "project.write"]
|
|
4009
|
-
}, Zt = 9e4,
|
|
4010
|
-
function
|
|
4030
|
+
}, Zt = 9e4, fs = ["out_of_office"], Jt = (e) => fs.includes(e);
|
|
4031
|
+
function vu(e, t, n) {
|
|
4011
4032
|
const r = n - e < Zt, o = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
|
|
4012
4033
|
if (!o?.status) return { online: r, status: r ? "available" : "offline" };
|
|
4013
|
-
const
|
|
4014
|
-
return !r && !Jt(
|
|
4034
|
+
const s = o.status;
|
|
4035
|
+
return !r && !Jt(s) ? { online: !1, status: "offline" } : { online: r, status: s, message: o.message };
|
|
4015
4036
|
}
|
|
4016
|
-
function
|
|
4037
|
+
function Mu(e, t) {
|
|
4017
4038
|
const n = t - e.lastSeenAt < Zt, r = n || Jt(e.status) ? e.status : "offline";
|
|
4018
4039
|
return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
|
|
4019
4040
|
}
|
|
4020
|
-
function
|
|
4041
|
+
function Cu(e, t) {
|
|
4021
4042
|
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 };
|
|
4022
4043
|
}
|
|
4023
|
-
function
|
|
4044
|
+
function Ou(e) {
|
|
4024
4045
|
return e.providerAvailable && e.allowed;
|
|
4025
4046
|
}
|
|
4026
|
-
const
|
|
4027
|
-
function
|
|
4047
|
+
const xu = "resources.describe", Nu = "resources.search", Ru = "resources.resolve", Du = "resources.attached";
|
|
4048
|
+
function $u(e) {
|
|
4028
4049
|
const t = e.indexOf(":");
|
|
4029
4050
|
return t === -1 ? e : e.slice(0, t);
|
|
4030
4051
|
}
|
|
4031
|
-
const
|
|
4052
|
+
const Lu = "/provider/scope/related", Pu = "/provider/scope/read", en = "auth";
|
|
4032
4053
|
function tn(e) {
|
|
4033
4054
|
const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
|
|
4034
4055
|
return t ? t[1] : null;
|
|
4035
4056
|
}
|
|
4036
|
-
function
|
|
4057
|
+
function Ku(e) {
|
|
4037
4058
|
const t = tn(e);
|
|
4038
4059
|
return t ? t !== en : typeof e == "string" && e.startsWith("/wake");
|
|
4039
4060
|
}
|
|
4040
|
-
function
|
|
4061
|
+
function Uu(e) {
|
|
4041
4062
|
return typeof e != "string" || e === "" || e === "/" ? !0 : tn(e) === en;
|
|
4042
4063
|
}
|
|
4043
|
-
function
|
|
4064
|
+
function ms(e) {
|
|
4044
4065
|
return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
4045
4066
|
}
|
|
4046
|
-
function
|
|
4047
|
-
const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${
|
|
4067
|
+
function hs(e) {
|
|
4068
|
+
const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${ms(r)}`).join("");
|
|
4048
4069
|
return new RegExp(`^${n}\\/?$`);
|
|
4049
4070
|
}
|
|
4050
|
-
function
|
|
4071
|
+
function gs(e, t) {
|
|
4051
4072
|
const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean), o = {};
|
|
4052
|
-
return n.forEach((
|
|
4053
|
-
if (
|
|
4054
|
-
const a =
|
|
4055
|
-
|
|
4073
|
+
return n.forEach((s, i) => {
|
|
4074
|
+
if (s.startsWith(":")) {
|
|
4075
|
+
const a = s.endsWith("?") ? s.slice(1, -1) : s.slice(1), u = r[i];
|
|
4076
|
+
u && (o[a] = u);
|
|
4056
4077
|
}
|
|
4057
4078
|
}), o;
|
|
4058
4079
|
}
|
|
4059
|
-
function
|
|
4080
|
+
function ys(e) {
|
|
4060
4081
|
return e.publicBasePath ?? `/apps/${e.name}`;
|
|
4061
4082
|
}
|
|
4062
|
-
function
|
|
4083
|
+
function Fu(e) {
|
|
4063
4084
|
const t = [];
|
|
4064
4085
|
for (const n of e) {
|
|
4065
4086
|
if (!n?.name) continue;
|
|
4066
|
-
const r =
|
|
4087
|
+
const r = ys(n);
|
|
4067
4088
|
for (const o of n.routes ?? []) {
|
|
4068
4089
|
if (!o.public) continue;
|
|
4069
|
-
const
|
|
4090
|
+
const s = o.path === "/" ? "" : o.path;
|
|
4070
4091
|
t.push({
|
|
4071
4092
|
appName: n.name,
|
|
4072
4093
|
resource: o.resource,
|
|
4073
|
-
pattern: `${r}${
|
|
4094
|
+
pattern: `${r}${s}`,
|
|
4074
4095
|
props: o.props
|
|
4075
4096
|
});
|
|
4076
4097
|
}
|
|
4077
4098
|
}
|
|
4078
4099
|
return t;
|
|
4079
4100
|
}
|
|
4080
|
-
function
|
|
4101
|
+
function bs(e, t) {
|
|
4081
4102
|
const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean);
|
|
4082
4103
|
for (let o = 0; o < Math.min(n.length, r.length); o++) {
|
|
4083
|
-
const
|
|
4084
|
-
if (
|
|
4104
|
+
const s = n[o].startsWith(":"), i = r[o].startsWith(":");
|
|
4105
|
+
if (s !== i) return i;
|
|
4085
4106
|
}
|
|
4086
4107
|
return n.length > r.length;
|
|
4087
4108
|
}
|
|
4088
|
-
function
|
|
4109
|
+
function _s(e, t) {
|
|
4089
4110
|
if (typeof e != "string") return null;
|
|
4090
4111
|
let n = null;
|
|
4091
4112
|
for (const r of t)
|
|
4092
|
-
|
|
4093
|
-
return n ? { ...n, params: { ...n.props, ...
|
|
4113
|
+
hs(r.pattern).test(e) && (!n || bs(r.pattern, n.pattern)) && (n = r);
|
|
4114
|
+
return n ? { ...n, params: { ...n.props, ...gs(n.pattern, e) } } : null;
|
|
4094
4115
|
}
|
|
4095
|
-
function
|
|
4096
|
-
return
|
|
4116
|
+
function Bu(e, t) {
|
|
4117
|
+
return _s(e, t) !== null;
|
|
4097
4118
|
}
|
|
4098
|
-
const
|
|
4119
|
+
const ju = 10 * 1024 * 1024, Hu = 25 * 1024 * 1024, Gu = "sync-target", Wu = 20, As = {
|
|
4099
4120
|
afrikaans: [
|
|
4100
4121
|
"[Muziek]",
|
|
4101
4122
|
"(C) TV GELDERLAND 2021",
|
|
@@ -4245,14 +4266,14 @@ const Fu = 10 * 1024 * 1024, Bu = 25 * 1024 * 1024, ju = "sync-target", Hu = 20,
|
|
|
4245
4266
|
"[MÚSICA]",
|
|
4246
4267
|
"[Music cuts in British]"
|
|
4247
4268
|
]
|
|
4248
|
-
},
|
|
4269
|
+
}, Ss = (e) => {
|
|
4249
4270
|
let t = e;
|
|
4250
|
-
return Object.values(
|
|
4271
|
+
return Object.values(As).forEach((n) => {
|
|
4251
4272
|
n.forEach((r) => {
|
|
4252
4273
|
t = t.replaceAll(r, "");
|
|
4253
4274
|
});
|
|
4254
4275
|
}), t = t.replace(/\(.*?\)/g, ""), t = t.replace(/\[.*?\]/g, ""), t;
|
|
4255
|
-
},
|
|
4276
|
+
}, Es = 6e4, Is = 8e3, Ts = 2, ws = 0.4, ks = 3, vs = /* @__PURE__ */ new Set([
|
|
4256
4277
|
"aan",
|
|
4257
4278
|
"als",
|
|
4258
4279
|
"ben",
|
|
@@ -4365,52 +4386,52 @@ const Fu = 10 * 1024 * 1024, Bu = 25 * 1024 * 1024, ju = "sync-target", Hu = 20,
|
|
|
4365
4386
|
"you",
|
|
4366
4387
|
"your"
|
|
4367
4388
|
]);
|
|
4368
|
-
function
|
|
4389
|
+
function Ms(e) {
|
|
4369
4390
|
const t = /* @__PURE__ */ new Set();
|
|
4370
4391
|
for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
|
|
4371
|
-
n.length <
|
|
4392
|
+
n.length < ks || vs.has(n) || t.add(n);
|
|
4372
4393
|
return [...t];
|
|
4373
4394
|
}
|
|
4374
|
-
function
|
|
4395
|
+
function Cs(e, t) {
|
|
4375
4396
|
if (!e.length) return 0;
|
|
4376
4397
|
if (!t.length) return 1;
|
|
4377
4398
|
const n = new Set(t), r = new Set(e);
|
|
4378
4399
|
let o = 0;
|
|
4379
|
-
for (const
|
|
4400
|
+
for (const s of r) n.has(s) || (o += 1);
|
|
4380
4401
|
return o / r.size;
|
|
4381
4402
|
}
|
|
4382
|
-
function
|
|
4383
|
-
const n = e.filter((
|
|
4403
|
+
function Os(e, t = Es) {
|
|
4404
|
+
const n = e.filter((i) => !i.partial && typeof i.text == "string");
|
|
4384
4405
|
if (!n.length) return { text: "", segmentCount: 0 };
|
|
4385
|
-
const o = n.reduce((
|
|
4386
|
-
return { text: n.filter((
|
|
4406
|
+
const o = n.reduce((i, a) => Math.max(i, a.endedAt ?? 0), 0) - t;
|
|
4407
|
+
return { text: n.filter((i) => (i.endedAt ?? 0) >= o).map((i) => Ss(i.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
|
|
4387
4408
|
}
|
|
4388
|
-
const
|
|
4389
|
-
function
|
|
4409
|
+
const xs = 60;
|
|
4410
|
+
function Vu(e, t, n = xs) {
|
|
4390
4411
|
const r = new Set(e), o = [...e];
|
|
4391
|
-
for (const
|
|
4392
|
-
!
|
|
4412
|
+
for (const s of t)
|
|
4413
|
+
!s || r.has(s) || (r.add(s), o.push(s));
|
|
4393
4414
|
return o.slice(-n);
|
|
4394
4415
|
}
|
|
4395
|
-
function
|
|
4416
|
+
function zu(e) {
|
|
4396
4417
|
const { segments: t, now: n, state: r } = e;
|
|
4397
|
-
if (r.lastTriggerAt && n - r.lastTriggerAt <
|
|
4418
|
+
if (r.lastTriggerAt && n - r.lastTriggerAt < Is)
|
|
4398
4419
|
return { trigger: !1, reason: "too_soon" };
|
|
4399
|
-
const o =
|
|
4420
|
+
const o = Os(t, e.windowMs);
|
|
4400
4421
|
if (!o.text) return { trigger: !1, reason: "no_speech" };
|
|
4401
|
-
const
|
|
4402
|
-
if (r.lastQueryTerms &&
|
|
4422
|
+
const s = o.segmentCount - (r.lastSegmentCount ?? 0);
|
|
4423
|
+
if (r.lastQueryTerms && s < Ts)
|
|
4403
4424
|
return { trigger: !1, reason: "too_few_new" };
|
|
4404
|
-
const
|
|
4405
|
-
return
|
|
4425
|
+
const i = Ms(o.text);
|
|
4426
|
+
return i.length ? r.lastQueryTerms?.length && Cs(i, r.lastQueryTerms) < ws ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: o.text, terms: i, segmentCount: o.segmentCount } : { trigger: !1, reason: "no_speech" };
|
|
4406
4427
|
}
|
|
4407
|
-
const
|
|
4428
|
+
const Xu = [
|
|
4408
4429
|
"personal",
|
|
4409
4430
|
"workspace",
|
|
4410
4431
|
"connections",
|
|
4411
4432
|
"work",
|
|
4412
4433
|
"ai"
|
|
4413
|
-
],
|
|
4434
|
+
], Yu = "navNotice", De = {
|
|
4414
4435
|
// The lower bounds are deliberately generous: service ranges (0800/0900) are
|
|
4415
4436
|
// shorter than geographic numbers, and a too-strict minimum silently drops them.
|
|
4416
4437
|
// An over-permissive key is harmless — it simply matches nothing.
|
|
@@ -4433,7 +4454,7 @@ const Vu = [
|
|
|
4433
4454
|
PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
|
|
4434
4455
|
US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
|
|
4435
4456
|
CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
|
|
4436
|
-
},
|
|
4457
|
+
}, Ns = "NL", Rs = 15, Ds = 8, $s = Array.from(
|
|
4437
4458
|
new Set(Object.values(De).map((e) => e.callingCode))
|
|
4438
4459
|
).sort((e, t) => t.length - e.length);
|
|
4439
4460
|
function ft(e) {
|
|
@@ -4444,27 +4465,27 @@ function Z(e, t) {
|
|
|
4444
4465
|
return e.length >= t.nsnMin && e.length <= t.nsnMax;
|
|
4445
4466
|
}
|
|
4446
4467
|
function mt(e) {
|
|
4447
|
-
if (e.length >
|
|
4448
|
-
for (const t of
|
|
4468
|
+
if (e.length > Rs) return null;
|
|
4469
|
+
for (const t of $s) {
|
|
4449
4470
|
if (!e.startsWith(t)) continue;
|
|
4450
4471
|
const n = e.slice(t.length);
|
|
4451
4472
|
for (const r of Object.values(De)) {
|
|
4452
4473
|
if (r.callingCode !== t) continue;
|
|
4453
|
-
const o = r.trunkPrefix,
|
|
4454
|
-
if (Z(
|
|
4474
|
+
const o = r.trunkPrefix, s = o && n.startsWith(o) ? n.slice(o.length) : n;
|
|
4475
|
+
if (Z(s, r)) return `+${t}${s}`;
|
|
4455
4476
|
}
|
|
4456
4477
|
return null;
|
|
4457
4478
|
}
|
|
4458
|
-
return e.length <
|
|
4479
|
+
return e.length < Ds ? null : `+${e}`;
|
|
4459
4480
|
}
|
|
4460
|
-
function
|
|
4481
|
+
function Ls(e) {
|
|
4461
4482
|
let t = e.trim();
|
|
4462
4483
|
const n = t.match(/^(sips?|tel|whatsapp):/i);
|
|
4463
4484
|
n && (t = t.slice(n[0].length));
|
|
4464
4485
|
const r = t.indexOf("@");
|
|
4465
4486
|
return r >= 0 && (t = t.slice(0, r)), t.trim();
|
|
4466
4487
|
}
|
|
4467
|
-
function
|
|
4488
|
+
function qu(e) {
|
|
4468
4489
|
if (!e) return !1;
|
|
4469
4490
|
const t = e.indexOf("@");
|
|
4470
4491
|
if (t <= 0) return !1;
|
|
@@ -4473,26 +4494,26 @@ function Xu(e) {
|
|
|
4473
4494
|
}
|
|
4474
4495
|
function ht(e, t) {
|
|
4475
4496
|
if (!e) return null;
|
|
4476
|
-
const n =
|
|
4497
|
+
const n = Ls(e);
|
|
4477
4498
|
if (!n) return null;
|
|
4478
4499
|
const r = n.startsWith("+"), o = n.replace(/\D/g, "");
|
|
4479
4500
|
if (!o) return null;
|
|
4480
4501
|
if (r) return mt(o);
|
|
4481
4502
|
if (o.startsWith("00")) return mt(o.slice(2));
|
|
4482
|
-
const
|
|
4483
|
-
if (!
|
|
4484
|
-
const
|
|
4485
|
-
if (
|
|
4486
|
-
const a = o.slice(
|
|
4487
|
-
return Z(a,
|
|
4503
|
+
const s = ft(t) ?? ft(Ns);
|
|
4504
|
+
if (!s) return null;
|
|
4505
|
+
const i = s.trunkPrefix;
|
|
4506
|
+
if (i && o.startsWith(i)) {
|
|
4507
|
+
const a = o.slice(i.length);
|
|
4508
|
+
return Z(a, s) ? `+${s.callingCode}${a}` : null;
|
|
4488
4509
|
}
|
|
4489
|
-
if (o.startsWith(
|
|
4490
|
-
const a = o.slice(
|
|
4491
|
-
if (Z(a,
|
|
4510
|
+
if (o.startsWith(s.callingCode)) {
|
|
4511
|
+
const a = o.slice(s.callingCode.length);
|
|
4512
|
+
if (Z(a, s)) return `+${s.callingCode}${a}`;
|
|
4492
4513
|
}
|
|
4493
|
-
return !
|
|
4514
|
+
return !i && Z(o, s) ? `+${s.callingCode}${o}` : null;
|
|
4494
4515
|
}
|
|
4495
|
-
function
|
|
4516
|
+
function Qu(e, t = 9) {
|
|
4496
4517
|
const n = (e ?? "").replace(/\D/g, "");
|
|
4497
4518
|
return n.length < t ? null : n.slice(-t);
|
|
4498
4519
|
}
|
|
@@ -4503,11 +4524,11 @@ function nn(e) {
|
|
|
4503
4524
|
const r = t.slice(0, n).split("+")[0], o = t.slice(n + 1);
|
|
4504
4525
|
return !r || !o.includes(".") ? null : `${r}@${o}`;
|
|
4505
4526
|
}
|
|
4506
|
-
function
|
|
4527
|
+
function Zu(e) {
|
|
4507
4528
|
const t = nn(e);
|
|
4508
4529
|
return t ? t.slice(t.lastIndexOf("@") + 1) : null;
|
|
4509
4530
|
}
|
|
4510
|
-
const
|
|
4531
|
+
const Ps = /* @__PURE__ */ new Set([
|
|
4511
4532
|
"co.uk",
|
|
4512
4533
|
"org.uk",
|
|
4513
4534
|
"gov.uk",
|
|
@@ -4517,14 +4538,14 @@ const Li = /* @__PURE__ */ new Set([
|
|
|
4517
4538
|
"com.br",
|
|
4518
4539
|
"co.za"
|
|
4519
4540
|
]);
|
|
4520
|
-
function
|
|
4541
|
+
function Ks(e) {
|
|
4521
4542
|
if (!e) return null;
|
|
4522
4543
|
const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
|
|
4523
4544
|
if (t.length < 2) return null;
|
|
4524
4545
|
const n = t.slice(-2).join(".");
|
|
4525
|
-
return
|
|
4546
|
+
return Ps.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
|
|
4526
4547
|
}
|
|
4527
|
-
const
|
|
4548
|
+
const Us = /* @__PURE__ */ new Set([
|
|
4528
4549
|
"gmail.com",
|
|
4529
4550
|
"googlemail.com",
|
|
4530
4551
|
"outlook.com",
|
|
@@ -4569,34 +4590,34 @@ const Ki = /* @__PURE__ */ new Set([
|
|
|
4569
4590
|
"proximus.be",
|
|
4570
4591
|
"scarlet.be"
|
|
4571
4592
|
]);
|
|
4572
|
-
function
|
|
4573
|
-
const t =
|
|
4574
|
-
return t ?
|
|
4593
|
+
function Ju(e) {
|
|
4594
|
+
const t = Ks(e);
|
|
4595
|
+
return t ? Us.has(t) : !1;
|
|
4575
4596
|
}
|
|
4576
|
-
function
|
|
4597
|
+
function ed(e) {
|
|
4577
4598
|
if (!e) return !1;
|
|
4578
4599
|
const t = e.trim().toLowerCase();
|
|
4579
4600
|
return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
|
|
4580
4601
|
}
|
|
4581
|
-
function
|
|
4602
|
+
function td(e, t, n) {
|
|
4582
4603
|
if (!e || !t) return null;
|
|
4583
4604
|
const r = e.trim().toLowerCase();
|
|
4584
4605
|
if (r === "tel" || r === "sms" || r === "whatsapp") {
|
|
4585
|
-
const
|
|
4586
|
-
return
|
|
4606
|
+
const s = ht(t, n);
|
|
4607
|
+
return s ? `tel:${s}` : null;
|
|
4587
4608
|
}
|
|
4588
4609
|
if (r === "fax") {
|
|
4589
|
-
const
|
|
4590
|
-
return
|
|
4610
|
+
const s = ht(t, n);
|
|
4611
|
+
return s ? `fax:${s}` : null;
|
|
4591
4612
|
}
|
|
4592
4613
|
if (r === "mailto" || r === "email") {
|
|
4593
|
-
const
|
|
4594
|
-
return
|
|
4614
|
+
const s = nn(t);
|
|
4615
|
+
return s ? `mailto:${s}` : null;
|
|
4595
4616
|
}
|
|
4596
4617
|
const o = t.trim().toLowerCase();
|
|
4597
4618
|
return o ? `${r}:${o}` : null;
|
|
4598
4619
|
}
|
|
4599
|
-
const
|
|
4620
|
+
const Fs = [
|
|
4600
4621
|
/<blockquote/i,
|
|
4601
4622
|
/class="?gmail_quote/i,
|
|
4602
4623
|
// Gmail quote container
|
|
@@ -4609,24 +4630,24 @@ const Ui = [
|
|
|
4609
4630
|
// Outlook underscore separator before "From:"
|
|
4610
4631
|
/\bOn\b[\s\S]{0,200}?\bwrote:/i
|
|
4611
4632
|
// Gmail "On <date> <name> wrote:"
|
|
4612
|
-
], gt = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i,
|
|
4613
|
-
function
|
|
4633
|
+
], gt = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Bs = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
|
|
4634
|
+
function js(e) {
|
|
4614
4635
|
const t = e.split(`
|
|
4615
4636
|
`);
|
|
4616
4637
|
for (let n = 0; n < t.length; n++)
|
|
4617
|
-
if (
|
|
4638
|
+
if (Bs.test(t[n]) || gt.test(t[n]) && t.slice(n + 1, n + 4).some((r) => gt.test(r)))
|
|
4618
4639
|
return t.slice(0, n).join(`
|
|
4619
4640
|
`).trim();
|
|
4620
4641
|
return e;
|
|
4621
4642
|
}
|
|
4622
|
-
const
|
|
4643
|
+
const Hs = /^(?:https?:|mailto:|tel:)/i, Gs = /^(?:https?:|cid:|data:image\/)/i;
|
|
4623
4644
|
function de(e, t) {
|
|
4624
4645
|
const n = e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`, "i"));
|
|
4625
4646
|
return (n?.[1] ?? n?.[2] ?? n?.[3] ?? "").trim();
|
|
4626
4647
|
}
|
|
4627
|
-
const
|
|
4648
|
+
const Ws = /(!\[[^\]]*\]\([^)]*\))/;
|
|
4628
4649
|
function yt(e) {
|
|
4629
|
-
return e.replace(/\s+/g, " ").trim().split(
|
|
4650
|
+
return e.replace(/\s+/g, " ").trim().split(Ws).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
|
|
4630
4651
|
}
|
|
4631
4652
|
function pe(e) {
|
|
4632
4653
|
return e.replace(
|
|
@@ -4634,86 +4655,86 @@ function pe(e) {
|
|
|
4634
4655
|
(t) => `%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2, "0")}`
|
|
4635
4656
|
);
|
|
4636
4657
|
}
|
|
4637
|
-
function
|
|
4658
|
+
function Vs(e) {
|
|
4638
4659
|
return e.replace(/<img\b([^>]*?)\/?>/gi, (n, r) => {
|
|
4639
4660
|
const o = de(r, "src");
|
|
4640
|
-
return
|
|
4661
|
+
return Gs.test(o) ? `})` : "";
|
|
4641
4662
|
}).replace(
|
|
4642
4663
|
/<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,
|
|
4643
4664
|
(n, r, o) => {
|
|
4644
|
-
const
|
|
4645
|
-
return
|
|
4665
|
+
const s = yt(o.replace(/<[^>]*>/g, "")), i = de(r, "href");
|
|
4666
|
+
return Hs.test(i) ? `[${s || pe(i)}](${pe(i)})` : s;
|
|
4646
4667
|
}
|
|
4647
4668
|
);
|
|
4648
4669
|
}
|
|
4649
|
-
const
|
|
4650
|
-
function
|
|
4670
|
+
const zs = /<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i, Xs = /<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi, Ys = /<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;
|
|
4671
|
+
function qs(e, t) {
|
|
4651
4672
|
return /<table\b/i.test(e) || e.includes(`
|
|
4652
4673
|
|
|
4653
4674
|
|`) || t.includes("![") || t.length > 200;
|
|
4654
4675
|
}
|
|
4655
|
-
const
|
|
4656
|
-
function
|
|
4676
|
+
const Qs = 40, Zs = { left: "---", center: ":---:", right: "---:" };
|
|
4677
|
+
function Js(e) {
|
|
4657
4678
|
const t = e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);
|
|
4658
4679
|
return t ? t[1].toLowerCase() : "left";
|
|
4659
4680
|
}
|
|
4660
|
-
function
|
|
4681
|
+
function ei(e) {
|
|
4661
4682
|
return e.replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().replace(/\|/g, "\\|");
|
|
4662
4683
|
}
|
|
4663
|
-
function
|
|
4684
|
+
function ti(e) {
|
|
4664
4685
|
const t = [];
|
|
4665
|
-
for (const
|
|
4686
|
+
for (const i of e.matchAll(Xs)) {
|
|
4666
4687
|
const a = [];
|
|
4667
|
-
for (const
|
|
4668
|
-
const
|
|
4669
|
-
if (
|
|
4670
|
-
a.push({ text:
|
|
4688
|
+
for (const u of i[1].matchAll(Ys)) {
|
|
4689
|
+
const l = ei(u[3]);
|
|
4690
|
+
if (qs(u[3], l)) return null;
|
|
4691
|
+
a.push({ text: l, align: Js(u[2]) });
|
|
4671
4692
|
}
|
|
4672
4693
|
if (a.length === 0) return null;
|
|
4673
|
-
a.some((
|
|
4694
|
+
a.some((u) => u.text !== "") && t.push(a);
|
|
4674
4695
|
}
|
|
4675
4696
|
const n = t[0]?.length ?? 0;
|
|
4676
|
-
if (t.length < 2 || n < 2 || t.some((
|
|
4677
|
-
const r = (
|
|
4697
|
+
if (t.length < 2 || n < 2 || t.some((i) => i.length !== n)) return null;
|
|
4698
|
+
const r = (i) => `| ${i.map((a) => a.text).join(" | ")} |`, o = t[1].map((i) => Zs[i.align]).join(" | "), s = t.slice(1).map(r).join(`
|
|
4678
4699
|
`);
|
|
4679
4700
|
return `
|
|
4680
4701
|
|
|
4681
4702
|
${r(t[0])}
|
|
4682
4703
|
| ${o} |
|
|
4683
|
-
${
|
|
4704
|
+
${s}
|
|
4684
4705
|
|
|
4685
4706
|
`;
|
|
4686
4707
|
}
|
|
4687
|
-
function
|
|
4708
|
+
function ni(e) {
|
|
4688
4709
|
return e.replace(/<\/(t[dh])\s*>/gi, " ").replace(/<\/tr\s*>/gi, `
|
|
4689
4710
|
`).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi, "").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi, "");
|
|
4690
4711
|
}
|
|
4691
|
-
function
|
|
4712
|
+
function ri(e) {
|
|
4692
4713
|
let t = e;
|
|
4693
|
-
for (let n = 0; n <
|
|
4694
|
-
const r =
|
|
4714
|
+
for (let n = 0; n < Qs; n++) {
|
|
4715
|
+
const r = zs.exec(t);
|
|
4695
4716
|
if (!r || r.index === void 0) break;
|
|
4696
|
-
const
|
|
4717
|
+
const s = ti(r[1]) ?? `
|
|
4697
4718
|
|
|
4698
|
-
${
|
|
4719
|
+
${ni(r[1])}
|
|
4699
4720
|
|
|
4700
4721
|
`;
|
|
4701
|
-
t = t.slice(0, r.index) +
|
|
4722
|
+
t = t.slice(0, r.index) + s + t.slice(r.index + r[0].length);
|
|
4702
4723
|
}
|
|
4703
4724
|
return t;
|
|
4704
4725
|
}
|
|
4705
4726
|
function bt(e, t) {
|
|
4706
4727
|
let n = e;
|
|
4707
4728
|
return n = n.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), n = n.replace(/<!--[\s\S]*?-->/g, ""), n = n.replace(/<br\s*\/?>/gi, `
|
|
4708
|
-
`), t && (n =
|
|
4729
|
+
`), t && (n = ri(Vs(n))), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
|
|
4709
4730
|
|
|
4710
4731
|
`), n = n.replace(/<\/(div|li|tr)>/gi, `
|
|
4711
4732
|
`), n = n.replace(/<\/(td|th)>/gi, " "), n = n.replace(/<[^>]+>/g, ""), n = n.replace(/<[^>]*$/, ""), n;
|
|
4712
4733
|
}
|
|
4713
|
-
function
|
|
4734
|
+
function _t(e) {
|
|
4714
4735
|
return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
|
|
4715
4736
|
}
|
|
4716
|
-
const
|
|
4737
|
+
const oi = {
|
|
4717
4738
|
euro: "€",
|
|
4718
4739
|
pound: "£",
|
|
4719
4740
|
yen: "¥",
|
|
@@ -4735,47 +4756,47 @@ const rs = {
|
|
|
4735
4756
|
rdquo: "”",
|
|
4736
4757
|
apos: "'"
|
|
4737
4758
|
};
|
|
4738
|
-
function
|
|
4739
|
-
return e.replace(/ /gi, " ").replace(/&([a-z]+);/gi, (t, n) =>
|
|
4759
|
+
function At(e) {
|
|
4760
|
+
return e.replace(/ /gi, " ").replace(/&([a-z]+);/gi, (t, n) => oi[n.toLowerCase()] ?? t).replace(/</gi, "<").replace(/>/gi, ">").replace(/"/gi, '"').replace(/&#(\d+);/g, (t, n) => _t(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => _t(parseInt(n, 16)) ?? t).replace(/&/gi, "&");
|
|
4740
4761
|
}
|
|
4741
|
-
function
|
|
4762
|
+
function St(e) {
|
|
4742
4763
|
return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
|
|
4743
4764
|
`).replace(/\n{3,}/g, `
|
|
4744
4765
|
|
|
4745
4766
|
`).trim();
|
|
4746
4767
|
}
|
|
4747
|
-
const
|
|
4748
|
-
function
|
|
4749
|
-
return
|
|
4768
|
+
const si = /<\s*(html|body|div|p|table|br|span)\b/i;
|
|
4769
|
+
function nd(e) {
|
|
4770
|
+
return si.test(e);
|
|
4750
4771
|
}
|
|
4751
|
-
function
|
|
4772
|
+
function rd(e) {
|
|
4752
4773
|
return rn(e, !1);
|
|
4753
4774
|
}
|
|
4754
|
-
function
|
|
4775
|
+
function od(e) {
|
|
4755
4776
|
return rn(e, !0);
|
|
4756
4777
|
}
|
|
4757
4778
|
function rn(e, t) {
|
|
4758
4779
|
if (typeof e != "string" || !e) return "";
|
|
4759
4780
|
let n = e.length;
|
|
4760
|
-
for (const
|
|
4761
|
-
const a = e.search(
|
|
4781
|
+
for (const i of Fs) {
|
|
4782
|
+
const a = e.search(i);
|
|
4762
4783
|
a >= 0 && a < n && (n = a);
|
|
4763
4784
|
}
|
|
4764
4785
|
const r = e.slice(0, n);
|
|
4765
|
-
let o =
|
|
4766
|
-
return o || (o =
|
|
4786
|
+
let o = St(At(bt(r, t)));
|
|
4787
|
+
return o || (o = St(At(bt(e, t)))), js(o) || o;
|
|
4767
4788
|
}
|
|
4768
4789
|
export {
|
|
4769
|
-
|
|
4790
|
+
Xi as ACTIVE_ASSIGNMENT_STATUSES,
|
|
4770
4791
|
R as ACTIVITY_CATALOG,
|
|
4771
|
-
|
|
4772
|
-
|
|
4773
|
-
|
|
4792
|
+
es as AI_ATTACHMENT_LIMITS,
|
|
4793
|
+
Bl as AI_ATTACHMENT_MAX_PER_TURN,
|
|
4794
|
+
Fl as AI_ATTACHMENT_TURN_BUDGET,
|
|
4774
4795
|
Tt as AI_VENDORS,
|
|
4775
4796
|
kn as ALLOWED_LINK_SCHEMES,
|
|
4776
|
-
|
|
4797
|
+
ku as APP_PERMISSIONS,
|
|
4777
4798
|
He as ARTIFACT_MAX_BLOCKS,
|
|
4778
|
-
|
|
4799
|
+
Bi as ARTIFACT_MAX_BODY_BYTES,
|
|
4779
4800
|
q as ARTIFACT_MAX_CELL_LEN,
|
|
4780
4801
|
ze as ARTIFACT_MAX_KPI_ITEMS,
|
|
4781
4802
|
Ge as ARTIFACT_MAX_LIST_ITEMS,
|
|
@@ -4783,37 +4804,37 @@ export {
|
|
|
4783
4804
|
We as ARTIFACT_MAX_TABLE_ROWS,
|
|
4784
4805
|
kt as ARTIFACT_MAX_TEXT_LEN,
|
|
4785
4806
|
Ln as ASSIGNMENT_SCOPE_KIND,
|
|
4786
|
-
|
|
4787
|
-
|
|
4807
|
+
Vl as ASSIST_BANDS,
|
|
4808
|
+
Wl as ASSIST_SOURCE_PROVIDER_GROUP,
|
|
4788
4809
|
ir as ATTENTION_STATUSES,
|
|
4789
|
-
|
|
4810
|
+
ko as AT_RISK_GAP,
|
|
4790
4811
|
en as AUTH_APP_NAME,
|
|
4791
4812
|
io as AUTO_READY_MIN_PROPOSALS,
|
|
4792
|
-
|
|
4813
|
+
ao as AUTO_READY_RATE,
|
|
4793
4814
|
hn as ActivityTypeRegistry,
|
|
4794
|
-
|
|
4795
|
-
|
|
4796
|
-
|
|
4797
|
-
|
|
4798
|
-
|
|
4799
|
-
|
|
4800
|
-
|
|
4801
|
-
|
|
4802
|
-
|
|
4803
|
-
|
|
4804
|
-
|
|
4805
|
-
|
|
4806
|
-
|
|
4807
|
-
|
|
4808
|
-
|
|
4809
|
-
|
|
4810
|
-
|
|
4811
|
-
|
|
4812
|
-
|
|
4813
|
-
|
|
4814
|
-
|
|
4815
|
+
Ii as BUILT_IN_ONLY,
|
|
4816
|
+
ar as BULK_PENALTY,
|
|
4817
|
+
Is as CADENCE_FLOOR_MS,
|
|
4818
|
+
Ts as CADENCE_MIN_NEW_SEGMENTS,
|
|
4819
|
+
ws as CADENCE_MIN_NOVELTY,
|
|
4820
|
+
Es as CADENCE_WINDOW_MS,
|
|
4821
|
+
gc as CLASSIFY_VARS,
|
|
4822
|
+
pu as CONNECTOR_PROVIDER_GROUP,
|
|
4823
|
+
fu as CONTEXT_COLLECT_SERVICE,
|
|
4824
|
+
$i as CORE_DIMENSIONS,
|
|
4825
|
+
is as CommunicationScheme,
|
|
4826
|
+
Qn as DAY_MS,
|
|
4827
|
+
Io as DEFAULT_CHECK_IN_DAYS,
|
|
4828
|
+
Ur as DEFAULT_FORECAST_WEEKS,
|
|
4829
|
+
Fa as DEFAULT_MEMORY_BUDGET,
|
|
4830
|
+
Ns as DEFAULT_PHONE_REGION,
|
|
4831
|
+
pl as DEFAULT_QUOTE_TEMPLATE_BLOCKS,
|
|
4832
|
+
Qa as DEMAND_SOURCE_PROVIDER_GROUP,
|
|
4833
|
+
Au as DOCUMENT_APPLY_SERVICE,
|
|
4834
|
+
bu as DOCUMENT_DESCRIBE_SERVICE,
|
|
4835
|
+
_u as DOCUMENT_INSPECT_SERVICE,
|
|
4815
4836
|
He as DOCUMENT_MAX_BLOCKS,
|
|
4816
|
-
|
|
4837
|
+
Bi as DOCUMENT_MAX_BODY_BYTES,
|
|
4817
4838
|
q as DOCUMENT_MAX_CELL_LEN,
|
|
4818
4839
|
ze as DOCUMENT_MAX_KPI_ITEMS,
|
|
4819
4840
|
Xe as DOCUMENT_MAX_LETTERHEAD_FIELDS,
|
|
@@ -4824,420 +4845,422 @@ export {
|
|
|
4824
4845
|
kt as DOCUMENT_MAX_TEXT_LEN,
|
|
4825
4846
|
Ye as DOCUMENT_MAX_TOTALS_ROWS,
|
|
4826
4847
|
Qt as DOCUMENT_OPERATIONS,
|
|
4827
|
-
|
|
4828
|
-
|
|
4829
|
-
|
|
4830
|
-
|
|
4831
|
-
|
|
4848
|
+
Lo as DUTCH_SLOT_LABELS,
|
|
4849
|
+
bc as EMPTY_WORKFLOW,
|
|
4850
|
+
cu as FEATURE_FOLDER_MANAGEMENT,
|
|
4851
|
+
uu as FEATURE_MESSAGE_REACTIONS,
|
|
4852
|
+
lu as FEATURE_REMOTE_SEARCH,
|
|
4832
4853
|
Ce as FIXED_KINDS,
|
|
4833
4854
|
ne as FIXED_LEVELS,
|
|
4834
4855
|
Ne as FIXED_TYPES,
|
|
4835
|
-
|
|
4836
|
-
|
|
4837
|
-
|
|
4838
|
-
|
|
4839
|
-
|
|
4856
|
+
ia as FIXED_UNITS,
|
|
4857
|
+
lr as FOLLOW_UP_HOURS,
|
|
4858
|
+
cl as FROZEN_WRITABLE_FIELDS,
|
|
4859
|
+
qn as HOUR_MS,
|
|
4860
|
+
si as HTML_BODY_RE,
|
|
4840
4861
|
L as INELIGIBLE,
|
|
4841
|
-
|
|
4842
|
-
|
|
4843
|
-
|
|
4844
|
-
|
|
4862
|
+
Eu as INSTALLATION_HEADER,
|
|
4863
|
+
to as INTERACTION_KIND,
|
|
4864
|
+
iu as InteractionParticipantRole,
|
|
4865
|
+
yr as KB_FALLBACK_LOCALE,
|
|
4845
4866
|
Ze as KB_LOCALES,
|
|
4846
4867
|
Ze as LOCALES,
|
|
4847
4868
|
Re as LOOSE_STATUSES,
|
|
4848
|
-
|
|
4849
|
-
|
|
4869
|
+
nr as MAIL_HINT_HEADERS,
|
|
4870
|
+
li as MAX_ACTIONS,
|
|
4850
4871
|
Pn as MAX_ASSIGNMENT_TURNS,
|
|
4851
|
-
|
|
4872
|
+
ii as MAX_BLOCKS,
|
|
4852
4873
|
Dt as MAX_COLLECTION_DEPTH,
|
|
4853
|
-
|
|
4854
|
-
|
|
4855
|
-
|
|
4856
|
-
|
|
4857
|
-
|
|
4858
|
-
|
|
4859
|
-
|
|
4860
|
-
|
|
4861
|
-
|
|
4874
|
+
ju as MAX_EDITABLE_FILE_BYTES,
|
|
4875
|
+
ai as MAX_FIELDS,
|
|
4876
|
+
ci as MAX_LIST_ITEMS,
|
|
4877
|
+
La as MAX_MEMORY_BROWSE,
|
|
4878
|
+
Ua as MAX_MEMORY_BUDGET,
|
|
4879
|
+
Pa as MAX_MEMORY_CHARS,
|
|
4880
|
+
xs as MAX_SHOWN_KEYS,
|
|
4881
|
+
xo as MAX_TOPIC_CANDIDATES,
|
|
4882
|
+
Oo as MAX_TOPIC_EXAMPLES,
|
|
4862
4883
|
ue as MAX_TOPIC_EXAMPLE_CHARS,
|
|
4863
|
-
|
|
4864
|
-
|
|
4865
|
-
|
|
4866
|
-
|
|
4867
|
-
|
|
4868
|
-
|
|
4869
|
-
|
|
4870
|
-
|
|
4871
|
-
|
|
4884
|
+
Hu as MAX_VIEWABLE_FILE_BYTES,
|
|
4885
|
+
Ka as MIN_MEMORY_BUDGET,
|
|
4886
|
+
Yu as NAV_NOTICE_SLOT,
|
|
4887
|
+
ja as NL_TAX_RATES,
|
|
4888
|
+
Tu as NOTIFICATION_SOURCE_PROVIDER_GROUP,
|
|
4889
|
+
vo as OFF_TRACK_GAP,
|
|
4890
|
+
Ga as ONBOARDING_SOURCE_PROVIDER_GROUP,
|
|
4891
|
+
Se as PAUSE_SNOOZED,
|
|
4892
|
+
Ee as PAUSE_WAITING_FOR_CUSTOMER,
|
|
4872
4893
|
De as PHONE_REGIONS,
|
|
4873
4894
|
Zt as PRESENCE_ONLINE_WINDOW_MS,
|
|
4874
|
-
|
|
4875
|
-
|
|
4876
|
-
|
|
4877
|
-
|
|
4878
|
-
|
|
4879
|
-
|
|
4895
|
+
fs as PRESENCE_SURVIVES_OFFLINE,
|
|
4896
|
+
Bo as PRODUCT_SCOPE_KIND,
|
|
4897
|
+
Va as PROFILE_TOOL_DISPOSITIONS,
|
|
4898
|
+
su as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
|
|
4899
|
+
ou as PROVIDER_FEATURE_MESSAGE_WINDOW,
|
|
4900
|
+
Us as PUBLIC_EMAIL_DOMAINS,
|
|
4880
4901
|
Je as READ_STEP_TYPES,
|
|
4881
4902
|
Ar as RELATED_SUBJECT_KINDS,
|
|
4882
4903
|
qt as RESERVED_STATUS_KEYS,
|
|
4883
|
-
|
|
4884
|
-
|
|
4885
|
-
|
|
4886
|
-
|
|
4887
|
-
|
|
4888
|
-
|
|
4889
|
-
|
|
4890
|
-
|
|
4891
|
-
|
|
4892
|
-
|
|
4893
|
-
|
|
4894
|
-
|
|
4895
|
-
|
|
4896
|
-
|
|
4897
|
-
|
|
4898
|
-
|
|
4899
|
-
|
|
4900
|
-
|
|
4901
|
-
|
|
4902
|
-
|
|
4904
|
+
Sl as RESERVED_TYPE_KEYS,
|
|
4905
|
+
Du as RESOURCE_ATTACHED_SERVICE,
|
|
4906
|
+
xu as RESOURCE_DESCRIBE_SERVICE,
|
|
4907
|
+
Ru as RESOURCE_RESOLVE_SERVICE,
|
|
4908
|
+
Nu as RESOURCE_SEARCH_SERVICE,
|
|
4909
|
+
Wr as SCHEDULE_ENTRY_SCOPE_KIND,
|
|
4910
|
+
Pu as SCOPE_READ_ROUTE,
|
|
4911
|
+
Lu as SCOPE_RELATED_ROUTE,
|
|
4912
|
+
Xu as SETTINGS_CATEGORIES,
|
|
4913
|
+
aa as SIGNATURE_INTENTS,
|
|
4914
|
+
cr as SLA_HOURS_BY_PRIORITY,
|
|
4915
|
+
Oc as SLA_METRICS,
|
|
4916
|
+
xc as SLA_PAUSE_REASONS,
|
|
4917
|
+
oo as STEP_MAX_TOKENS_MAX,
|
|
4918
|
+
ro as STEP_MAX_TOKENS_MIN,
|
|
4919
|
+
So as STRATEGY_ITEM_SCOPE_KIND,
|
|
4920
|
+
tr as SUMMARY_MIN_LAST_CHARS,
|
|
4921
|
+
er as SUMMARY_MIN_MESSAGES,
|
|
4922
|
+
Wu as SYNC_RUN_MAX_ERRORS,
|
|
4923
|
+
Gu as SYNC_TARGET_PROVIDER_GROUP,
|
|
4903
4924
|
$n as TERMINAL_ASSIGNMENT_STATUSES,
|
|
4904
|
-
|
|
4925
|
+
co as TERMINAL_RUN_STATUSES,
|
|
4905
4926
|
Xt as TRANSACTION_KINDS,
|
|
4906
|
-
|
|
4907
|
-
|
|
4908
|
-
|
|
4927
|
+
Fo as TRANSACTION_SCOPE_KINDS,
|
|
4928
|
+
hc as TRIGGER_VARS,
|
|
4929
|
+
Ir as UNKNOWN_KIND,
|
|
4909
4930
|
Eo as UNKNOWN_LEVEL_ORDER,
|
|
4910
|
-
|
|
4911
|
-
|
|
4912
|
-
|
|
4913
|
-
|
|
4914
|
-
|
|
4915
|
-
|
|
4916
|
-
|
|
4917
|
-
|
|
4918
|
-
|
|
4919
|
-
|
|
4920
|
-
|
|
4921
|
-
|
|
4931
|
+
du as UNSUPPORTED,
|
|
4932
|
+
Sn as USAGE_DIMENSIONS,
|
|
4933
|
+
En as USAGE_DIMENSION_IDS,
|
|
4934
|
+
Vr as WORKSTREAM_SCOPE_KIND,
|
|
4935
|
+
Wo as WORK_ACTIVITY_SCOPE_KIND,
|
|
4936
|
+
Wa as WORK_AREAS,
|
|
4937
|
+
yl as WORK_COMMENT_ADDED,
|
|
4938
|
+
kl as WORK_CYCLE_SYNC_KIND,
|
|
4939
|
+
bl as WORK_ITEM_ASSIGNED,
|
|
4940
|
+
Ho as WORK_ITEM_SCOPE_KIND,
|
|
4941
|
+
_l as WORK_ITEM_STATUS_CHANGED,
|
|
4942
|
+
Go as WORK_PROJECT_SCOPE_KIND,
|
|
4922
4943
|
J as W_PRIORITY,
|
|
4923
|
-
|
|
4924
|
-
|
|
4925
|
-
|
|
4926
|
-
|
|
4927
|
-
|
|
4944
|
+
sl as acceptExampleCandidate,
|
|
4945
|
+
qr as actingIdentityKey,
|
|
4946
|
+
rl as activeWorkTypes,
|
|
4947
|
+
di as activityIconOf,
|
|
4948
|
+
Si as activityJoinUrl,
|
|
4928
4949
|
dn as activitySnippet,
|
|
4929
4950
|
pn as activityTextParams,
|
|
4930
|
-
|
|
4951
|
+
Ai as activityTimelineText,
|
|
4931
4952
|
gn as activityTimestamp,
|
|
4932
4953
|
w as activityTypeInfo,
|
|
4933
|
-
|
|
4934
|
-
|
|
4954
|
+
lc as actorKey,
|
|
4955
|
+
ol as addExampleCandidate,
|
|
4935
4956
|
Oe as addWorkingMs,
|
|
4936
|
-
|
|
4937
|
-
|
|
4938
|
-
|
|
4957
|
+
Mu as agePresenceEntry,
|
|
4958
|
+
Jo as aiAttachmentKind,
|
|
4959
|
+
jl as aiAttachmentRejection,
|
|
4939
4960
|
je as aiBudgetLimit,
|
|
4940
|
-
|
|
4961
|
+
Ri as aiBudgetPeriodKey,
|
|
4941
4962
|
yn as aiBudgetPeriodStart,
|
|
4942
|
-
|
|
4943
|
-
|
|
4944
|
-
|
|
4945
|
-
|
|
4946
|
-
|
|
4947
|
-
|
|
4963
|
+
Ni as aiBudgetState,
|
|
4964
|
+
xi as aiVendorAcceptsAttachment,
|
|
4965
|
+
Mi as aiVendorDefaultModel,
|
|
4966
|
+
vi as aiVendorLabel,
|
|
4967
|
+
Oi as aiVendorNeedsBaseUrl,
|
|
4968
|
+
Ci as aiVendorsWith,
|
|
4948
4969
|
Fn as allocate,
|
|
4949
4970
|
tn as appNameFromPath,
|
|
4950
|
-
|
|
4951
|
-
|
|
4952
|
-
|
|
4953
|
-
|
|
4954
|
-
|
|
4971
|
+
Zc as applyRounding,
|
|
4972
|
+
ca as applySignature,
|
|
4973
|
+
so as approvalRate,
|
|
4974
|
+
Hi as artifactBodyBytes,
|
|
4975
|
+
Gi as artifactOutline,
|
|
4955
4976
|
Dn as artifactToMarkdown,
|
|
4956
|
-
|
|
4957
|
-
|
|
4958
|
-
|
|
4959
|
-
|
|
4960
|
-
|
|
4961
|
-
|
|
4962
|
-
|
|
4963
|
-
|
|
4964
|
-
|
|
4965
|
-
|
|
4977
|
+
fc as assignmentMismatch,
|
|
4978
|
+
qi as assignmentScopeKey,
|
|
4979
|
+
Ji as assignmentSubject,
|
|
4980
|
+
qa as availabilityByPerson,
|
|
4981
|
+
za as belongsOnCalendar,
|
|
4982
|
+
ta as belongsToEntity,
|
|
4983
|
+
Ei as buildActivityPreview,
|
|
4984
|
+
Jl as buildChannelIntents,
|
|
4985
|
+
Wi as buildShareKeys,
|
|
4986
|
+
Os as buildWindow,
|
|
4987
|
+
Yn as businessEntitySender,
|
|
4988
|
+
wr as calendarDaysBetween,
|
|
4966
4989
|
xe as calendarOf,
|
|
4967
|
-
|
|
4968
|
-
|
|
4969
|
-
|
|
4970
|
-
|
|
4971
|
-
|
|
4972
|
-
|
|
4973
|
-
|
|
4974
|
-
|
|
4975
|
-
|
|
4976
|
-
|
|
4977
|
-
|
|
4978
|
-
|
|
4979
|
-
|
|
4980
|
-
|
|
4981
|
-
|
|
4982
|
-
|
|
4983
|
-
|
|
4990
|
+
Oa as canNestUnder,
|
|
4991
|
+
Uc as canParent,
|
|
4992
|
+
Xa as capacityTotal,
|
|
4993
|
+
sc as capacityWeights,
|
|
4994
|
+
gi as carriesText,
|
|
4995
|
+
Na as categoryLabel,
|
|
4996
|
+
Xo as categoryOf,
|
|
4997
|
+
ru as channelKindForScheme,
|
|
4998
|
+
pi as channelKindOf,
|
|
4999
|
+
Yc as checkInOverdueMs,
|
|
5000
|
+
yc as clampStepMaxTokens,
|
|
5001
|
+
ba as classifyMail,
|
|
5002
|
+
od as cleanMessageMarkdown,
|
|
5003
|
+
rd as cleanMessageText,
|
|
5004
|
+
na as codeQuery,
|
|
5005
|
+
Xl as compareAssistRank,
|
|
5006
|
+
Co as compareWorkTypes,
|
|
4984
5007
|
Xn as conditionHolds,
|
|
4985
|
-
|
|
5008
|
+
$o as copyFrom,
|
|
4986
5009
|
W as countsAsPlanned,
|
|
4987
|
-
|
|
4988
|
-
|
|
5010
|
+
Ya as coverageByPerson,
|
|
5011
|
+
Ja as coverageFor,
|
|
4989
5012
|
Lt as coversWorkstream,
|
|
4990
5013
|
Pt as cycleDayIndex,
|
|
4991
|
-
|
|
4992
|
-
|
|
4993
|
-
|
|
4994
|
-
|
|
4995
|
-
|
|
4996
|
-
|
|
4997
|
-
|
|
4998
|
-
|
|
4999
|
-
|
|
5000
|
-
|
|
5001
|
-
|
|
5002
|
-
|
|
5003
|
-
|
|
5004
|
-
|
|
5005
|
-
|
|
5014
|
+
Kl as cycleOrder,
|
|
5015
|
+
Ul as cycleState,
|
|
5016
|
+
ea as decideAssignmentState,
|
|
5017
|
+
zu as decideCadence,
|
|
5018
|
+
Ql as decideIncomingCall,
|
|
5019
|
+
br as defaultLocaleOf,
|
|
5020
|
+
Dl as defaultStatusKey,
|
|
5021
|
+
au as defineIntent,
|
|
5022
|
+
hr as depthOf,
|
|
5023
|
+
vu as derivePresence,
|
|
5024
|
+
Ki as describeClause,
|
|
5025
|
+
Zl as disabledIntentsFromCapabilities,
|
|
5026
|
+
Hi as documentBodyBytes,
|
|
5027
|
+
Su as documentKindOf,
|
|
5028
|
+
Gi as documentOutline,
|
|
5006
5029
|
Dn as documentToMarkdown,
|
|
5007
|
-
|
|
5008
|
-
|
|
5009
|
-
|
|
5010
|
-
|
|
5011
|
-
|
|
5012
|
-
|
|
5013
|
-
|
|
5014
|
-
|
|
5015
|
-
|
|
5030
|
+
yu as documentToText,
|
|
5031
|
+
Rc as dueAtOf,
|
|
5032
|
+
Qc as elapsedSeconds,
|
|
5033
|
+
Zu as emailDomain,
|
|
5034
|
+
td as endpointKey,
|
|
5035
|
+
Cr as erlangC,
|
|
5036
|
+
gs as extractParams,
|
|
5037
|
+
Ms as extractTerms,
|
|
5038
|
+
pa as fillDocument,
|
|
5016
5039
|
zn as fillText,
|
|
5017
|
-
|
|
5018
|
-
|
|
5019
|
-
|
|
5020
|
-
|
|
5040
|
+
tu as filterByEndpoint,
|
|
5041
|
+
eu as filterByIntent,
|
|
5042
|
+
ss as filterByTargetScheme,
|
|
5043
|
+
Pi as filterableDimensions,
|
|
5021
5044
|
te as findAiVendor,
|
|
5022
|
-
|
|
5023
|
-
|
|
5024
|
-
|
|
5025
|
-
|
|
5045
|
+
Bc as fixedLevelForName,
|
|
5046
|
+
Tl as fixedTypeForName,
|
|
5047
|
+
wl as fixedTypes,
|
|
5048
|
+
Iu as flattenLocales,
|
|
5026
5049
|
H as floorToPeriod,
|
|
5027
|
-
|
|
5028
|
-
|
|
5050
|
+
nc as forecastIntervals,
|
|
5051
|
+
Yr as formatActingIdentity,
|
|
5029
5052
|
D as formatCents,
|
|
5030
|
-
|
|
5031
|
-
|
|
5032
|
-
|
|
5053
|
+
el as formatClock,
|
|
5054
|
+
Jc as formatHm,
|
|
5055
|
+
Ml as formatItemKey,
|
|
5033
5056
|
j as formatPeriod,
|
|
5034
|
-
|
|
5035
|
-
|
|
5036
|
-
|
|
5037
|
-
|
|
5038
|
-
|
|
5039
|
-
|
|
5040
|
-
|
|
5041
|
-
|
|
5042
|
-
|
|
5057
|
+
Lc as formatSlaDuration,
|
|
5058
|
+
Gl as freshSources,
|
|
5059
|
+
Ti as getActivitySeenUserIds,
|
|
5060
|
+
la as getContactEndpoints,
|
|
5061
|
+
wa as getShortTitle,
|
|
5062
|
+
Ta as getUrgencyScore,
|
|
5063
|
+
vc as hasReacted,
|
|
5064
|
+
jc as healthCategory,
|
|
5065
|
+
Hc as healthsInCategory,
|
|
5043
5066
|
$t as heightOf,
|
|
5044
|
-
|
|
5045
|
-
|
|
5046
|
-
|
|
5047
|
-
|
|
5048
|
-
|
|
5049
|
-
|
|
5050
|
-
|
|
5051
|
-
|
|
5052
|
-
|
|
5053
|
-
|
|
5054
|
-
|
|
5055
|
-
|
|
5056
|
-
|
|
5057
|
-
|
|
5058
|
-
|
|
5059
|
-
|
|
5060
|
-
|
|
5061
|
-
|
|
5062
|
-
|
|
5063
|
-
|
|
5064
|
-
|
|
5065
|
-
|
|
5066
|
-
|
|
5067
|
-
|
|
5068
|
-
|
|
5067
|
+
va as helpCenterText,
|
|
5068
|
+
mc as humanizeAction,
|
|
5069
|
+
no as interactionIdOf,
|
|
5070
|
+
gl as isAgentUser,
|
|
5071
|
+
Ea as isAssigned,
|
|
5072
|
+
Yi as isAssignmentTerminal,
|
|
5073
|
+
Jr as isAssignmentTrigger,
|
|
5074
|
+
Sc as isAutoReady,
|
|
5075
|
+
mr as isAwaitingThem,
|
|
5076
|
+
ki as isChatMessageActivity,
|
|
5077
|
+
Ia as isClosed,
|
|
5078
|
+
bi as isConnectedType,
|
|
5079
|
+
Ku as isDeepLink,
|
|
5080
|
+
gr as isDescendant,
|
|
5081
|
+
ma as isEligible,
|
|
5082
|
+
wi as isEmailActivity,
|
|
5083
|
+
al as isFrozen,
|
|
5084
|
+
nd as isHtmlBody,
|
|
5085
|
+
Ic as isInFlight,
|
|
5086
|
+
sr as isInteractionUnseen,
|
|
5087
|
+
Uu as isLandingPath,
|
|
5088
|
+
Jn as isLikelyBulk,
|
|
5089
|
+
Et as isMessageShape,
|
|
5090
|
+
fi as isMessageType,
|
|
5091
|
+
bs as isMoreSpecificPattern,
|
|
5069
5092
|
It as isNoteShape,
|
|
5070
5093
|
Ao as isOpenClock,
|
|
5071
|
-
|
|
5072
|
-
|
|
5073
|
-
|
|
5074
|
-
|
|
5075
|
-
|
|
5076
|
-
|
|
5077
|
-
|
|
5078
|
-
|
|
5079
|
-
|
|
5080
|
-
|
|
5081
|
-
|
|
5082
|
-
|
|
5083
|
-
|
|
5084
|
-
|
|
5085
|
-
|
|
5094
|
+
Hl as isOutwardTool,
|
|
5095
|
+
dr as isParked,
|
|
5096
|
+
lo as isPaused,
|
|
5097
|
+
yi as isPlaybookAuthoredType,
|
|
5098
|
+
Ju as isPublicEmailDomain,
|
|
5099
|
+
Bu as isPublicPath,
|
|
5100
|
+
pr as isReminderActive,
|
|
5101
|
+
hi as isReplyableType,
|
|
5102
|
+
Aa as isSlaAtRisk,
|
|
5103
|
+
Ec as isTerminal,
|
|
5104
|
+
ga as isThreadLongEnough,
|
|
5105
|
+
_i as isTranscriptType,
|
|
5106
|
+
$l as isWorkClosed,
|
|
5107
|
+
nl as isWorkTypeVisible,
|
|
5108
|
+
xl as itemDossierKeys,
|
|
5086
5109
|
N as kindFor,
|
|
5087
|
-
|
|
5088
|
-
|
|
5110
|
+
zo as ladderFor,
|
|
5111
|
+
To as levelIn,
|
|
5089
5112
|
Te as levelOrder,
|
|
5090
5113
|
Er as lineNet,
|
|
5091
|
-
|
|
5092
|
-
|
|
5093
|
-
|
|
5094
|
-
|
|
5095
|
-
|
|
5096
|
-
|
|
5114
|
+
ka as linkLabel,
|
|
5115
|
+
Di as listeningAllowed,
|
|
5116
|
+
Ca as localeInstruction,
|
|
5117
|
+
Ma as localeName,
|
|
5118
|
+
xa as localesOf,
|
|
5119
|
+
qu as looksLikeEmail,
|
|
5097
5120
|
Ct as lookup,
|
|
5098
|
-
|
|
5099
|
-
|
|
5100
|
-
|
|
5101
|
-
|
|
5102
|
-
|
|
5103
|
-
|
|
5104
|
-
|
|
5105
|
-
|
|
5121
|
+
oa as marginCents,
|
|
5122
|
+
gu as markdownToDocument,
|
|
5123
|
+
nu as matchContactToIntents,
|
|
5124
|
+
_s as matchPublicRoute,
|
|
5125
|
+
Da as mcpCredentialScope,
|
|
5126
|
+
$a as mcpToolPrefix,
|
|
5127
|
+
Gc as measureRatio,
|
|
5128
|
+
Vu as mergeShownKeys,
|
|
5106
5129
|
un as messageCountsAs,
|
|
5107
|
-
|
|
5130
|
+
Ui as metricOption,
|
|
5108
5131
|
Kt as minutesOn,
|
|
5109
|
-
|
|
5110
|
-
|
|
5111
|
-
|
|
5112
|
-
|
|
5113
|
-
|
|
5114
|
-
|
|
5115
|
-
|
|
5116
|
-
|
|
5132
|
+
ed as needsPhoneRegion,
|
|
5133
|
+
mi as nestsUnderParent,
|
|
5134
|
+
Fc as nextLevelBelow,
|
|
5135
|
+
Dc as nextSlaClock,
|
|
5136
|
+
ll as nextVersion,
|
|
5137
|
+
ji as normalizeArtifactBlocks,
|
|
5138
|
+
ui as normalizeBlocks,
|
|
5139
|
+
ji as normalizeDocumentBlocks,
|
|
5117
5140
|
nn as normalizeEmail,
|
|
5118
5141
|
P as normalizeExample,
|
|
5119
5142
|
Kn as normalizeGtin,
|
|
5120
|
-
|
|
5121
|
-
|
|
5122
|
-
|
|
5123
|
-
|
|
5124
|
-
|
|
5143
|
+
wu as notificationPrefKey,
|
|
5144
|
+
Cs as novelty,
|
|
5145
|
+
hu as operationDescriptor,
|
|
5146
|
+
mu as operationsForKind,
|
|
5147
|
+
fa as organizationSender,
|
|
5125
5148
|
ce as overlapSeconds,
|
|
5126
|
-
|
|
5127
|
-
|
|
5128
|
-
|
|
5129
|
-
|
|
5130
|
-
|
|
5131
|
-
|
|
5132
|
-
|
|
5133
|
-
|
|
5149
|
+
Za as overlaps,
|
|
5150
|
+
Wc as paceRatio,
|
|
5151
|
+
ha as parkMarksById,
|
|
5152
|
+
ac as parseActingIdentity,
|
|
5153
|
+
ra as parseAmount,
|
|
5154
|
+
Mc as parseClockMinutes,
|
|
5155
|
+
Cl as parseItemKey,
|
|
5156
|
+
hs as pathToRegex,
|
|
5134
5157
|
Ft as patternFor,
|
|
5135
5158
|
Ut as patternStartTime,
|
|
5136
|
-
|
|
5137
|
-
|
|
5138
|
-
|
|
5139
|
-
|
|
5140
|
-
|
|
5141
|
-
|
|
5159
|
+
Cc as pauseBitFor,
|
|
5160
|
+
Li as periodsInRange,
|
|
5161
|
+
Qu as phoneSuffix,
|
|
5162
|
+
ya as pickMailHeaders,
|
|
5163
|
+
da as pickTemplate,
|
|
5164
|
+
ic as placeLumps,
|
|
5142
5165
|
cn as plainTextFromMarkdown,
|
|
5143
|
-
|
|
5144
|
-
|
|
5145
|
-
|
|
5146
|
-
|
|
5147
|
-
|
|
5148
|
-
|
|
5149
|
-
|
|
5150
|
-
|
|
5151
|
-
|
|
5152
|
-
|
|
5166
|
+
Nc as planSlaEvent,
|
|
5167
|
+
ec as plannedBillable,
|
|
5168
|
+
Pr as plannedWorkTypeKey,
|
|
5169
|
+
Zr as playbookActor,
|
|
5170
|
+
Ac as procedureOf,
|
|
5171
|
+
ml as productScopeKey,
|
|
5172
|
+
Nl as projectDossierKeys,
|
|
5173
|
+
ys as publicBasePathFor,
|
|
5174
|
+
Fu as publicRoutePatterns,
|
|
5175
|
+
Zi as reactionWakesAssignment,
|
|
5153
5176
|
fe as readPath,
|
|
5154
5177
|
et as readStepError,
|
|
5155
|
-
|
|
5156
|
-
|
|
5157
|
-
|
|
5158
|
-
|
|
5159
|
-
|
|
5160
|
-
|
|
5178
|
+
ur as recencyOf,
|
|
5179
|
+
ua as recipientLocale,
|
|
5180
|
+
eo as refKey,
|
|
5181
|
+
Ks as registrableDomain,
|
|
5182
|
+
Ro as rejectExampleCandidate,
|
|
5183
|
+
Ba as relatedByDefault,
|
|
5161
5184
|
Ie as remainingMsOf,
|
|
5162
|
-
|
|
5163
|
-
|
|
5164
|
-
|
|
5185
|
+
Nr as requiredAgents,
|
|
5186
|
+
Lr as requirementFor,
|
|
5187
|
+
rs as resolveAccountCapabilities,
|
|
5165
5188
|
me as resolveActivityText,
|
|
5166
|
-
|
|
5167
|
-
|
|
5189
|
+
ns as resolveChannelIntents,
|
|
5190
|
+
sa as resolvePrice,
|
|
5168
5191
|
Gn as resolveSignature,
|
|
5169
|
-
|
|
5170
|
-
|
|
5171
|
-
|
|
5192
|
+
Cu as resolveWorkMode,
|
|
5193
|
+
$u as resourceKindOf,
|
|
5194
|
+
Xc as rollupChildren,
|
|
5172
5195
|
G as roundHalfUp,
|
|
5173
|
-
|
|
5174
|
-
|
|
5196
|
+
cc as runActor,
|
|
5197
|
+
wc as runInteractionId,
|
|
5175
5198
|
On as sanitizeInline,
|
|
5176
|
-
|
|
5177
|
-
|
|
5178
|
-
|
|
5179
|
-
|
|
5180
|
-
|
|
5181
|
-
|
|
5182
|
-
|
|
5183
|
-
|
|
5184
|
-
|
|
5185
|
-
|
|
5186
|
-
|
|
5187
|
-
|
|
5188
|
-
|
|
5189
|
-
|
|
5190
|
-
|
|
5191
|
-
|
|
5192
|
-
|
|
5193
|
-
|
|
5194
|
-
|
|
5195
|
-
|
|
5196
|
-
|
|
5197
|
-
|
|
5198
|
-
|
|
5199
|
+
Ss as sanitizeTranscript,
|
|
5200
|
+
rc as scheduleEntryScopeKey,
|
|
5201
|
+
Sa as scoreInteraction,
|
|
5202
|
+
Al as scoreWorkItem,
|
|
5203
|
+
Ra as selectLenses,
|
|
5204
|
+
Or as serviceLevel,
|
|
5205
|
+
ql as sessionsHoldCannotReach,
|
|
5206
|
+
Yl as sessionsToHold,
|
|
5207
|
+
Mt as shareKeyForTeam,
|
|
5208
|
+
vt as shareKeyForUser,
|
|
5209
|
+
Vi as shareKeysForViewer,
|
|
5210
|
+
tc as shortfalls,
|
|
5211
|
+
Ou as shouldRunAudioPipeline,
|
|
5212
|
+
$c as slaBadgeTone,
|
|
5213
|
+
_a as slaHoursByInbox,
|
|
5214
|
+
fr as slaHoursFor,
|
|
5215
|
+
Yo as sortStatuses,
|
|
5216
|
+
ts as sourceKey,
|
|
5217
|
+
Xr as spreadOverWeights,
|
|
5218
|
+
Rl as statusIn,
|
|
5219
|
+
_c as stepsOf,
|
|
5220
|
+
Kc as strategyAncestorKeysFor,
|
|
5221
|
+
Pc as strategyDossierKeys,
|
|
5199
5222
|
zt as strategyItemScopeKey,
|
|
5200
5223
|
ln as stripHtml,
|
|
5201
|
-
|
|
5224
|
+
Tc as subjectKeyOf,
|
|
5202
5225
|
Bt as subjectOf,
|
|
5203
|
-
|
|
5204
|
-
|
|
5205
|
-
|
|
5206
|
-
|
|
5207
|
-
|
|
5208
|
-
|
|
5209
|
-
|
|
5210
|
-
|
|
5211
|
-
|
|
5212
|
-
|
|
5226
|
+
zl as subjectRef,
|
|
5227
|
+
Ol as suggestProjectKey,
|
|
5228
|
+
Vc as suggestedHealth,
|
|
5229
|
+
kc as summarizeReactions,
|
|
5230
|
+
pc as targetById,
|
|
5231
|
+
dc as targetForActivityType,
|
|
5232
|
+
qc as targetOrder,
|
|
5233
|
+
Sr as taxRateFor,
|
|
5234
|
+
kr as termsFor,
|
|
5235
|
+
Qr as toActingIdentity,
|
|
5213
5236
|
ht as toE164,
|
|
5214
|
-
|
|
5215
|
-
|
|
5216
|
-
|
|
5217
|
-
|
|
5218
|
-
|
|
5219
|
-
|
|
5237
|
+
zi as toolSourceKinds,
|
|
5238
|
+
Do as topicOfferedForTeam,
|
|
5239
|
+
il as topicsForTeam,
|
|
5240
|
+
xr as trafficIntensity,
|
|
5241
|
+
ul as transactionContext,
|
|
5242
|
+
hl as transactionIdFromScope,
|
|
5220
5243
|
ke as transactionKind,
|
|
5221
|
-
|
|
5222
|
-
|
|
5223
|
-
|
|
5224
|
-
|
|
5225
|
-
|
|
5226
|
-
|
|
5227
|
-
|
|
5228
|
-
|
|
5244
|
+
fl as transactionScopeKey,
|
|
5245
|
+
dl as transactionSlots,
|
|
5246
|
+
Ha as transactionTotals,
|
|
5247
|
+
No as truncateExample,
|
|
5248
|
+
Il as typeIn,
|
|
5249
|
+
El as typesFor,
|
|
5250
|
+
Ll as uniqueWorkStatusKey,
|
|
5251
|
+
tl as uniqueWorkTypeKey,
|
|
5229
5252
|
In as usageMetricId,
|
|
5230
|
-
|
|
5231
|
-
|
|
5232
|
-
|
|
5233
|
-
|
|
5234
|
-
|
|
5235
|
-
|
|
5236
|
-
|
|
5253
|
+
Fi as usageMetrics,
|
|
5254
|
+
Pl as validateStatuses,
|
|
5255
|
+
uc as valueAtPath,
|
|
5256
|
+
Me as waitHoursOf,
|
|
5257
|
+
Qi as wakesAssignment,
|
|
5258
|
+
vl as workActivityScopeKey,
|
|
5259
|
+
Vo as workItemScopeKey,
|
|
5237
5260
|
Yt as workProjectScopeKey,
|
|
5238
|
-
|
|
5239
|
-
|
|
5261
|
+
zc as workRatio,
|
|
5262
|
+
qo as workStatusKey,
|
|
5240
5263
|
Mo as workTypeKey,
|
|
5241
|
-
|
|
5242
|
-
|
|
5264
|
+
Ae as workingMsBetween,
|
|
5265
|
+
oc as workstreamScopeKey
|
|
5243
5266
|
};
|