@opencxh/domain 1.265.1 → 1.270.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/index.js CHANGED
@@ -1,4 +1,4 @@
1
- const _s = 10, Es = 10, Ss = 10, Ts = 5, dn = /* @__PURE__ */ new Set([
1
+ const Es = 10, Ss = 10, Ts = 10, Is = 5, fn = /* @__PURE__ */ new Set([
2
2
  "header",
3
3
  "section",
4
4
  "context",
@@ -14,7 +14,7 @@ function ae(e) {
14
14
  const t = e;
15
15
  return typeof t.key == "string" || typeof t.value == "string";
16
16
  }
17
- function Is(e, t = () => {
17
+ function ks(e, t = () => {
18
18
  }) {
19
19
  if (!Array.isArray(e)) return [];
20
20
  const n = [];
@@ -25,7 +25,7 @@ function Is(e, t = () => {
25
25
  }
26
26
  if (!r || typeof r != "object") continue;
27
27
  const o = r;
28
- if (!dn.has(o.type)) {
28
+ if (!fn.has(o.type)) {
29
29
  t(`unknown block type ${String(o.type)}`);
30
30
  continue;
31
31
  }
@@ -69,17 +69,17 @@ function Is(e, t = () => {
69
69
  }
70
70
  return n;
71
71
  }
72
- const fn = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, pn = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
73
- function mn(e) {
72
+ const pn = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, mn = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
73
+ function gn(e) {
74
74
  if (typeof e != "string" || !e) return "";
75
75
  let t = e;
76
76
  return t = t.replace(/```[a-z]*\n?/gi, "").replace(/~~~[a-z]*\n?/gi, ""), t = t.replace(/!\[([^\]]*)\]\([^)]*\)/g, "$1"), t = t.replace(/\[([^\]]*)\]\([^)]*\)/g, "$1"), t = t.replace(/\[([^\]]*)\]\[[^\]]*\]/g, "$1"), t = t.replace(/<((?:https?|mailto):[^>\s]+)>/gi, "$1"), t = t.split(`
77
77
  `).map(
78
78
  (n) => n.replace(/^\s{0,3}#{1,6}\s+/, "").replace(/^\s{0,3}>\s?/, "").replace(/^\s*[-*+]\s+/, "").replace(/^\s*\d+[.)]\s+/, "").replace(/^\s*(?:[-*_]\s*){3,}$/, "")
79
79
  ).join(`
80
- `), t = t.replace(fn, "$2"), t = t.replace(pn, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
80
+ `), t = t.replace(pn, "$2"), t = t.replace(mn, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
81
81
  }
82
- function gn(e) {
82
+ function hn(e) {
83
83
  return e.replace(/<style[\s\S]*?<\/style>/gi, " ").replace(/<script[\s\S]*?<\/script>/gi, " ").replace(/<[^>]+>/g, " ").replace(/&nbsp;/g, " ").replace(/&amp;/g, "&").replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&#39;/g, "'").replace(/\s+/g, " ").trim();
84
84
  }
85
85
  function q(e) {
@@ -478,58 +478,58 @@ const R = {
478
478
  }
479
479
  };
480
480
  function Ge(e) {
481
- const t = e.payload, n = mn(t.bodyText).trim() || t.bodySnippet?.trim() || gn(t.body ?? "");
481
+ const t = e.payload, n = gn(t.bodyText).trim() || t.bodySnippet?.trim() || hn(t.body ?? "");
482
482
  return t.subject ? `${t.subject} — ${n}` : n;
483
483
  }
484
484
  function k(e) {
485
485
  return R[e];
486
486
  }
487
- function ks(e) {
488
- return k(e)?.icon ?? "circle";
489
- }
490
487
  function ws(e) {
491
- return k(e)?.channelKind;
492
- }
493
- function Ct(e) {
494
- return e === "message" || e === "note";
488
+ return k(e)?.icon ?? "circle";
495
489
  }
496
490
  function vs(e) {
497
- return Ct(k(e)?.shape);
491
+ return k(e)?.channelKind;
498
492
  }
499
493
  function Ot(e) {
500
- return e === "note";
494
+ return e === "message" || e === "note";
501
495
  }
502
496
  function Ms(e) {
503
497
  return Ot(k(e)?.shape);
504
498
  }
499
+ function Nt(e) {
500
+ return e === "note";
501
+ }
505
502
  function Cs(e) {
506
- return k(e)?.replyable === !0;
503
+ return Nt(k(e)?.shape);
507
504
  }
508
505
  function Os(e) {
506
+ return k(e)?.replyable === !0;
507
+ }
508
+ function Ns(e) {
509
509
  return k(e)?.carriesText === !0;
510
510
  }
511
- function hn(e) {
511
+ function yn(e) {
512
512
  return k(e)?.countsAs;
513
513
  }
514
- function Ns(e) {
514
+ function xs(e) {
515
515
  return k(e)?.playbookAuthored === !0;
516
516
  }
517
- function xs(e) {
517
+ function Rs(e) {
518
518
  return k(e)?.connected === !0;
519
519
  }
520
- function Rs(e) {
520
+ function Ds(e) {
521
521
  const t = k(e);
522
522
  return t?.shape === "artifact" && t?.carriesText === !0;
523
523
  }
524
- function yn(e) {
524
+ function bn(e) {
525
525
  const t = k(e.type)?.snippet;
526
526
  return t ? t(e) : "";
527
527
  }
528
- function Ds(e, t) {
528
+ function $s(e, t) {
529
529
  const n = k(e.type)?.timeline;
530
530
  return n ? n(e, t) : e.type.replace(/_/g, " ").toLowerCase();
531
531
  }
532
- function $s(e) {
532
+ function Ls(e) {
533
533
  const t = k(e.type)?.joinUrl;
534
534
  return t ? t(e) : void 0;
535
535
  }
@@ -552,7 +552,7 @@ function be(e, t, n) {
552
552
  const o = n(e.key, r);
553
553
  return o === e.key ? null : o;
554
554
  }
555
- function bn(e, t) {
555
+ function An(e, t) {
556
556
  if (!e || typeof e == "string" || "value" in e) return null;
557
557
  const n = {};
558
558
  for (const [r, o] of Object.entries(e.params ?? {}))
@@ -560,23 +560,23 @@ function bn(e, t) {
560
560
  return { key: e.key, params: n };
561
561
  }
562
562
  const We = 140;
563
- function An(e) {
563
+ function _n(e) {
564
564
  const t = e.trim();
565
565
  return t.length <= We ? t : `${t.slice(0, We - 1).trimEnd()}…`;
566
566
  }
567
- function Ls(e, t) {
568
- const n = bn(t?.text, e), r = t ? be(t.text, e, (o) => o) : null;
567
+ function Ps(e, t) {
568
+ const n = An(t?.text, e), r = t ? be(t.text, e, (o) => o) : null;
569
569
  return {
570
570
  activityId: e.id,
571
571
  type: e.type,
572
- snippet: An(r ?? yn(e)),
572
+ snippet: _n(r ?? bn(e)),
573
573
  authorName: e.author?.name ?? "",
574
574
  direction: e.direction,
575
575
  createdAt: e.createdAt ?? Date.now(),
576
576
  ...n ? { snippetKey: n.key, snippetParams: n.params } : {}
577
577
  };
578
578
  }
579
- const _n = (e) => e;
579
+ const En = (e) => e;
580
580
  function ze(e) {
581
581
  const t = R[e];
582
582
  return {
@@ -608,8 +608,8 @@ function Ve(e) {
608
608
  displayNameKey: e.displayNameKey
609
609
  };
610
610
  }
611
- class En {
612
- constructor(t = [], n = _n) {
611
+ class Sn {
612
+ constructor(t = [], n = En) {
613
613
  this.translate = n;
614
614
  for (const r of t)
615
615
  r?.type && (r.type in R || this.declared.has(r.type) || this.declared.set(r.type, r));
@@ -666,11 +666,11 @@ class En {
666
666
  * {@link ResolvedActivityType}.
667
667
  */
668
668
  isMessage(t) {
669
- return Ct(this.get(t)?.shape);
669
+ return Ot(this.get(t)?.shape);
670
670
  }
671
671
  /** Folds into the list under the message it answers. See {@link isNoteShape}. */
672
672
  nestsUnderParent(t) {
673
- return Ot(this.get(t)?.shape);
673
+ return Nt(this.get(t)?.shape);
674
674
  }
675
675
  /** Can a person reply to this? Notes cannot — those go nowhere. */
676
676
  isReplyable(t) {
@@ -698,20 +698,20 @@ class En {
698
698
  return this.translate;
699
699
  }
700
700
  }
701
- const Ps = new En();
702
- function Ks(e, t, n = []) {
701
+ const Ks = new Sn();
702
+ function Us(e, t, n = []) {
703
703
  const r = e.createdAt;
704
704
  if (!r) return [];
705
705
  const o = new Set(n);
706
706
  return e.author.type === "user" && e.author.id && o.add(e.author.id), Object.entries(t).filter(([i, s]) => s >= r && !o.has(i)).map(([i]) => i);
707
707
  }
708
- function Sn(e) {
708
+ function Tn(e) {
709
709
  return e.createdAt ?? 0;
710
710
  }
711
- function Us(e) {
711
+ function Fs(e) {
712
712
  return e.type === "EMAIL_RECEIVED" || e.type === "EMAIL_SENT";
713
713
  }
714
- function Fs(e) {
714
+ function Bs(e) {
715
715
  return e.type === "CHAT_MESSAGE_SENT" || e.type === "CHAT_MESSAGE_RECEIVED";
716
716
  }
717
717
  const Ne = [
@@ -725,16 +725,16 @@ const Ne = [
725
725
  { id: "tts", defaultFlag: "isDefaultTts", label: "TTS" },
726
726
  { id: "embedding", defaultFlag: "isDefaultEmbedding", label: "Embeddings" }
727
727
  ];
728
- function Bs(e) {
728
+ function js(e) {
729
729
  return Ne.find((t) => t.id === e)?.defaultFlag;
730
730
  }
731
- function js(e) {
731
+ function Hs(e) {
732
732
  const t = {};
733
733
  for (const n of Ne)
734
734
  t[n.defaultFlag] = e?.[n.defaultFlag] === !0;
735
735
  return t;
736
736
  }
737
- function Hs(e, t) {
737
+ function Gs(e, t) {
738
738
  const n = {};
739
739
  for (const r of Ne) {
740
740
  const o = r.defaultFlag;
@@ -742,7 +742,7 @@ function Hs(e, t) {
742
742
  }
743
743
  return n;
744
744
  }
745
- const Nt = [
745
+ const xt = [
746
746
  {
747
747
  id: "openai",
748
748
  attachmentKinds: ["image", "pdf"],
@@ -833,25 +833,25 @@ const Nt = [
833
833
  }
834
834
  ];
835
835
  function oe(e) {
836
- return Nt.find((t) => t.id === e);
836
+ return xt.find((t) => t.id === e);
837
837
  }
838
- function Gs(e) {
838
+ function Ws(e) {
839
839
  return oe(e)?.label ?? e;
840
840
  }
841
- function Ws(e, t = "gpt-5-mini") {
841
+ function zs(e, t = "gpt-5-mini") {
842
842
  return oe(e)?.defaultModel ?? t;
843
843
  }
844
- function zs(e) {
845
- return Nt.filter((t) => t.capabilities.includes(e));
846
- }
847
844
  function Vs(e) {
845
+ return xt.filter((t) => t.capabilities.includes(e));
846
+ }
847
+ function Xs(e) {
848
848
  const t = oe(e);
849
849
  return !!t && !t.baseUrl;
850
850
  }
851
- function Xs(e, t) {
851
+ function Ys(e, t) {
852
852
  return t === "text" ? !0 : oe(e)?.attachmentKinds?.includes(t) === !0;
853
853
  }
854
- function Ys(e, t) {
854
+ function qs(e, t) {
855
855
  if (!e.enabled) return "ok";
856
856
  const n = Xe(e.hardLimitNanos), r = Xe(e.softLimitNanos);
857
857
  return n !== void 0 && t >= n ? "hard" : r !== void 0 && t >= r ? "soft" : "ok";
@@ -859,18 +859,18 @@ function Ys(e, t) {
859
859
  function Xe(e) {
860
860
  return typeof e == "number" ? e : void 0;
861
861
  }
862
- function Tn(e, t = "month") {
862
+ function In(e, t = "month") {
863
863
  const n = new Date(e);
864
864
  return Date.UTC(n.getUTCFullYear(), n.getUTCMonth(), 1);
865
865
  }
866
- function qs(e, t = "month") {
867
- const n = new Date(Tn(e, t));
866
+ function Qs(e, t = "month") {
867
+ const n = new Date(In(e, t));
868
868
  return `${n.getUTCFullYear()}-${String(n.getUTCMonth() + 1).padStart(2, "0")}`;
869
869
  }
870
- function Qs(e) {
870
+ function Zs(e) {
871
871
  return e?.listeningEnabled !== !1;
872
872
  }
873
- const Zs = [
873
+ const Js = [
874
874
  { id: "agent", label: "Agent", labelSource: "user" },
875
875
  { id: "team", label: "Team", labelSource: "team" },
876
876
  { id: "inbox", label: "Inbox", labelSource: "inbox" },
@@ -891,65 +891,65 @@ function W(e, t) {
891
891
  const n = new Date(e);
892
892
  return n.setUTCMinutes(0, 0, 0), t === "day" && n.setUTCHours(0), n.getTime();
893
893
  }
894
- const In = 36e5, kn = 864e5;
895
- function Js(e, t, n) {
896
- const r = n === "hour" ? In : kn, o = [];
894
+ const kn = 36e5, wn = 864e5;
895
+ function ea(e, t, n) {
896
+ const r = n === "hour" ? kn : wn, o = [];
897
897
  for (let i = W(e, n); i <= t; i += r)
898
898
  o.push(G(i, n));
899
899
  return o;
900
900
  }
901
- const wn = /* @__PURE__ */ new Set(["time"]);
902
- function ea(e, t, n) {
901
+ const vn = /* @__PURE__ */ new Set(["time"]);
902
+ function ta(e, t, n) {
903
903
  if (!e) return [];
904
904
  const r = new Set(e.supportedDimensions ?? []);
905
- return t.filter((o) => r.has(o.id) && !wn.has(o.id)).map((o) => ({
905
+ return t.filter((o) => r.has(o.id) && !vn.has(o.id)).map((o) => ({
906
906
  id: o.id,
907
907
  label: o.label,
908
908
  options: o.options?.length ? o.options : n[o.id] ?? []
909
909
  })).filter((o) => o.options.length > 0);
910
910
  }
911
- function ta(e, t) {
911
+ function na(e, t) {
912
912
  const n = t.find((o) => o.id === e.dimensionId), r = n?.options.find((o) => o.value === e.value);
913
913
  return `${n?.label ?? e.dimensionId} · ${r?.label ?? e.value}`;
914
914
  }
915
- function na(e) {
915
+ function ra(e) {
916
916
  return { value: e.id, label: `${e.category} · ${e.label}` };
917
917
  }
918
- const vn = [
918
+ const Mn = [
919
919
  { id: "resource", label: "Resource", labelSource: "raw" },
920
920
  { id: "origin", label: "Herkomst", labelSource: "raw" }
921
- ], Mn = vn.map((e) => e.id);
922
- function Cn(e, t) {
921
+ ], Cn = Mn.map((e) => e.id);
922
+ function On(e, t) {
923
923
  return `${e}.usage.${t}`;
924
924
  }
925
- function ra(e, t) {
925
+ function oa(e, t) {
926
926
  return t.map((n) => ({
927
- id: Cn(e, n.unit),
927
+ id: On(e, n.unit),
928
928
  label: n.label,
929
929
  category: "Verbruik",
930
930
  valueType: n.valueType ?? "count",
931
931
  aggregation: "sum",
932
932
  supportedDimensions: [
933
933
  "provider",
934
- ...Mn,
934
+ ...Cn,
935
935
  ...n.extraDimensions ?? [],
936
936
  "time"
937
937
  ]
938
938
  }));
939
939
  }
940
- function oa(e, t) {
940
+ function ia(e, t) {
941
941
  return e.filter((r) => !r.enabled || r.scopeKind !== t.scopeKind || r.act !== t.act ? !1 : r.minAmountCents == null ? !0 : t.amountCents != null && t.amountCents >= r.minAmountCents).sort((r, o) => {
942
942
  const i = r.minAmountCents ?? -1;
943
943
  return (o.minAmountCents ?? -1) - i || r.id.localeCompare(o.id);
944
944
  })[0];
945
945
  }
946
- function ia(e, t, n, r) {
946
+ function sa(e, t, n, r) {
947
947
  const o = new Set(e.userIds);
948
948
  for (const i of e.teamIds)
949
949
  for (const s of t[i] ?? []) o.add(s);
950
950
  return r || o.delete(n), [...o];
951
951
  }
952
- function sa(e, t) {
952
+ function aa(e, t) {
953
953
  if (e.status !== "pending" || e.decisions.some((i) => i.userId === t.userId)) return e;
954
954
  const n = [...e.decisions, t], r = e.pendingUserIds.filter((i) => i !== t.userId);
955
955
  if (t.decision === "rejected")
@@ -963,7 +963,7 @@ function sa(e, t) {
963
963
  settledAt: o ? t.at : void 0
964
964
  };
965
965
  }
966
- const xt = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), Ye = 200, qe = 100, Qe = 200, Ze = 12, Je = 4, et = 10, On = 8, tt = 12, Rt = 4e3, Z = 500, aa = 1024 * 1024, Nn = /* @__PURE__ */ new Set([
966
+ const Rt = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), Ye = 200, qe = 100, Qe = 200, Ze = 12, Je = 4, et = 10, Nn = 8, tt = 12, Dt = 4e3, Z = 500, ca = 1024 * 1024, xn = /* @__PURE__ */ new Set([
967
967
  "heading",
968
968
  "paragraph",
969
969
  "list",
@@ -977,15 +977,15 @@ const xt = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]
977
977
  "letterhead",
978
978
  "totals",
979
979
  "pagebreak"
980
- ]), xn = ["http:", "https:", "mailto:", "tel:"], Rn = /^[a-z][a-z0-9+.-]*:/i;
980
+ ]), Rn = ["http:", "https:", "mailto:", "tel:"], Dn = /^[a-z][a-z0-9+.-]*:/i;
981
981
  function xe(e) {
982
982
  const t = e.trim().replace(/^<|>$/g, "");
983
983
  if (!t) return !1;
984
- const n = Rn.exec(t)?.[0];
985
- return n ? xn.includes(n.toLowerCase()) : !t.startsWith("//");
984
+ const n = Dn.exec(t)?.[0];
985
+ return n ? Rn.includes(n.toLowerCase()) : !t.startsWith("//");
986
986
  }
987
- const Dn = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
988
- function $n(e) {
987
+ const $n = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
988
+ function Ln(e) {
989
989
  let t = "", n = 0;
990
990
  for (; n < e.length; ) {
991
991
  const r = e[n] === "!" && e[n + 1] === "[";
@@ -1021,25 +1021,25 @@ function nt(e, t, n, r) {
1021
1021
  }
1022
1022
  return -1;
1023
1023
  }
1024
- function Ln(e) {
1025
- return $n(e).replace(
1026
- Dn,
1024
+ function Pn(e) {
1025
+ return Ln(e).replace(
1026
+ $n,
1027
1027
  (t, n, r) => xe(r) ? t : ""
1028
1028
  );
1029
1029
  }
1030
- function I(e, t = Rt) {
1031
- return typeof e == "string" ? Ln(e).slice(0, t) : "";
1030
+ function I(e, t = Dt) {
1031
+ return typeof e == "string" ? Pn(e).slice(0, t) : "";
1032
1032
  }
1033
- function Pn(e, t = Rt) {
1033
+ function Kn(e, t = Dt) {
1034
1034
  return typeof e == "string" ? e.slice(0, t) : "";
1035
1035
  }
1036
1036
  function B(e, t = 200) {
1037
1037
  return I(e, t);
1038
1038
  }
1039
- function Kn(e, t = "info") {
1040
- return typeof e == "string" && xt.has(e) ? e : t;
1039
+ function Un(e, t = "info") {
1040
+ return typeof e == "string" && Rt.has(e) ? e : t;
1041
1041
  }
1042
- function ca(e, t = () => {
1042
+ function la(e, t = () => {
1043
1043
  }) {
1044
1044
  if (!Array.isArray(e)) return [];
1045
1045
  const n = [];
@@ -1050,7 +1050,7 @@ function ca(e, t = () => {
1050
1050
  }
1051
1051
  if (!r || typeof r != "object") continue;
1052
1052
  const o = r;
1053
- if (!Nn.has(o.type)) {
1053
+ if (!xn.has(o.type)) {
1054
1054
  t(`unknown block type ${String(o.type)}`);
1055
1055
  continue;
1056
1056
  }
@@ -1085,7 +1085,7 @@ function ca(e, t = () => {
1085
1085
  break;
1086
1086
  }
1087
1087
  case "code": {
1088
- const s = Pn(o.text);
1088
+ const s = Kn(o.text);
1089
1089
  if (!s) {
1090
1090
  t("a code block without text");
1091
1091
  continue;
@@ -1161,7 +1161,7 @@ function ca(e, t = () => {
1161
1161
  if (!l || !d) continue;
1162
1162
  const c = u?.tone;
1163
1163
  a.push(
1164
- typeof c == "string" && xt.has(c) ? { value: l, label: d, tone: c } : { value: l, label: d }
1164
+ typeof c == "string" && Rt.has(c) ? { value: l, label: d, tone: c } : { value: l, label: d }
1165
1165
  );
1166
1166
  }
1167
1167
  if (a.length === 0) {
@@ -1199,7 +1199,7 @@ function ca(e, t = () => {
1199
1199
  const y = B(c?.label, 80);
1200
1200
  a.push(y ? { key: f, label: y, value: p } : { key: f, value: p });
1201
1201
  }
1202
- const l = (Array.isArray(o.recipient) ? o.recipient : []).slice(0, On).map((d) => B(d)).filter(Boolean);
1202
+ const l = (Array.isArray(o.recipient) ? o.recipient : []).slice(0, Nn).map((d) => B(d)).filter(Boolean);
1203
1203
  if (a.length === 0 && l.length === 0) {
1204
1204
  t("a letterhead without fields or recipient");
1205
1205
  continue;
@@ -1248,7 +1248,7 @@ function ca(e, t = () => {
1248
1248
  n.push({
1249
1249
  ...i,
1250
1250
  type: "callout",
1251
- tone: Kn(o.tone),
1251
+ tone: Un(o.tone),
1252
1252
  ...a ? { title: a } : {},
1253
1253
  text: s
1254
1254
  });
@@ -1258,10 +1258,10 @@ function ca(e, t = () => {
1258
1258
  }
1259
1259
  return n;
1260
1260
  }
1261
- function la(e) {
1261
+ function ua(e) {
1262
1262
  return JSON.stringify(e).length;
1263
1263
  }
1264
- function ua(e) {
1264
+ function da(e) {
1265
1265
  return {
1266
1266
  blocks: e.length,
1267
1267
  types: e.map((t) => t.type),
@@ -1279,7 +1279,7 @@ function ue(e, t, n) {
1279
1279
  ...t.map((o) => `| ${o.map(rt).join(" | ")} |`)
1280
1280
  ];
1281
1281
  }
1282
- function Un(e) {
1282
+ function Fn(e) {
1283
1283
  switch (e.type) {
1284
1284
  case "heading":
1285
1285
  return [`${"#".repeat(e.level)} ${e.text}`];
@@ -1335,11 +1335,11 @@ function Un(e) {
1335
1335
  return ["---"];
1336
1336
  }
1337
1337
  }
1338
- function Fn(e, t) {
1338
+ function Bn(e, t) {
1339
1339
  const n = [], r = e.some((o) => o.type === "heading" && o.level === 1);
1340
1340
  t && !r && n.push(`# ${t}`);
1341
1341
  for (const o of e) {
1342
- const i = Un(o);
1342
+ const i = Fn(o);
1343
1343
  i.length > 0 && n.push(i.join(`
1344
1344
  `));
1345
1345
  }
@@ -1348,45 +1348,45 @@ function Fn(e, t) {
1348
1348
  `)}
1349
1349
  `;
1350
1350
  }
1351
- const Dt = (e) => `user:${e}`, $t = (e) => `team:${e}`;
1352
- function da(e) {
1351
+ const $t = (e) => `user:${e}`, Lt = (e) => `team:${e}`;
1352
+ function fa(e) {
1353
1353
  const t = /* @__PURE__ */ new Set();
1354
1354
  for (const n of e ?? [])
1355
- n?.id && (n.kind === "user" && t.add(Dt(n.id)), n.kind === "team" && t.add($t(n.id)));
1355
+ n?.id && (n.kind === "user" && t.add($t(n.id)), n.kind === "team" && t.add(Lt(n.id)));
1356
1356
  return [...t].sort();
1357
1357
  }
1358
- function fa(e, t) {
1359
- return [Dt(e), ...t.map($t)];
1358
+ function pa(e, t) {
1359
+ return [$t(e), ...t.map(Lt)];
1360
1360
  }
1361
- function pa(e) {
1361
+ function ma(e) {
1362
1362
  const t = /* @__PURE__ */ new Set();
1363
1363
  for (const n of e ?? [])
1364
1364
  n?.kind && t.add(n.kind);
1365
1365
  return [...t];
1366
1366
  }
1367
- const Bn = ["done", "escalated"], ma = ["open", "waiting"];
1368
- function ga(e) {
1369
- return Bn.includes(e);
1370
- }
1371
- const jn = "assignment";
1367
+ const jn = ["done", "escalated"], ga = ["open", "waiting"];
1372
1368
  function ha(e) {
1373
- return `${jn}:${e}`;
1369
+ return jn.includes(e);
1370
+ }
1371
+ const Hn = "assignment";
1372
+ function ya(e) {
1373
+ return `${Hn}:${e}`;
1374
1374
  }
1375
- function ya(e, t, n, r) {
1375
+ function ba(e, t, n, r) {
1376
1376
  if (e.direction === "inbound") return !0;
1377
1377
  if (e.author?.type === "user" && e.author.id === t) return !1;
1378
1378
  const o = e.payload?.mentions;
1379
1379
  return Array.isArray(o) && o.includes(t) || r && r === t ? !0 : n === "reply";
1380
1380
  }
1381
- function ba(e) {
1381
+ function Aa(e) {
1382
1382
  const { targetAuthorId: t, reactorId: n, agentId: r, on: o } = e;
1383
1383
  return !o || !t || t !== r ? !1 : n !== r;
1384
1384
  }
1385
- function Aa(e) {
1385
+ function _a(e) {
1386
1386
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
1387
1387
  }
1388
- const Hn = 12;
1389
- function _a(e, t, n = Hn) {
1388
+ const Gn = 12;
1389
+ function Ea(e, t, n = Gn) {
1390
1390
  const r = t + 1;
1391
1391
  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 ? {
1392
1392
  status: "escalated",
@@ -1400,8 +1400,8 @@ function _a(e, t, n = Hn) {
1400
1400
  reason: "de agent rondde zijn beurt af zonder te zeggen wat er moet gebeuren (wachten, afronden of overdragen)"
1401
1401
  };
1402
1402
  }
1403
- const Gn = 2;
1404
- function Ea(e, t, n, r) {
1403
+ const Wn = 2;
1404
+ function Sa(e, t, n, r) {
1405
1405
  if (t === n)
1406
1406
  return "een agent schakelt zichzelf niet in";
1407
1407
  if (!r?.includes(t))
@@ -1410,32 +1410,32 @@ function Ea(e, t, n, r) {
1410
1410
  if (o.includes(t))
1411
1411
  return "die agent zit al in deze keten; dat zou een kringetje worden";
1412
1412
  const i = Math.max(0, o.length - 1);
1413
- return i >= Gn ? `er zijn al ${i} agents ingeschakeld voor deze vraag; dieper delegeren mag niet` : null;
1413
+ return i >= Wn ? `er zijn al ${i} agents ingeschakeld voor deze vraag; dieper delegeren mag niet` : null;
1414
1414
  }
1415
- const Sa = "organization.business-entities.list";
1416
- function Ta(e, t, n) {
1415
+ const Ta = "organization.business-entities.list";
1416
+ function Ia(e, t, n) {
1417
1417
  return e ? e === t : n;
1418
1418
  }
1419
- function Wn(e) {
1419
+ function zn(e) {
1420
1420
  const t = e.trim().replace(/[\s-]/g, "");
1421
1421
  if (!/^\d+$/.test(t) || ![8, 12, 13, 14].includes(t.length)) return;
1422
1422
  const n = t.padStart(14, "0");
1423
- return zn(n.slice(0, 13)) === Number(n[13]) ? n : void 0;
1423
+ return Vn(n.slice(0, 13)) === Number(n[13]) ? n : void 0;
1424
1424
  }
1425
- function zn(e) {
1425
+ function Vn(e) {
1426
1426
  let t = 0;
1427
1427
  for (let n = 0; n < e.length; n++)
1428
1428
  t += Number(e[n]) * (n % 2 === 0 ? 3 : 1);
1429
1429
  return (10 - t % 10) % 10;
1430
1430
  }
1431
- function Ia(e, t) {
1432
- const n = t.trim(), r = Wn(n), o = [{ sku: n }, { barcodes: { $in: [n] } }];
1431
+ function ka(e, t) {
1432
+ const n = t.trim(), r = zn(n), o = [{ sku: n }, { barcodes: { $in: [n] } }];
1433
1433
  return r && o.push({ gtin: r }), { organizationId: e, $or: o };
1434
1434
  }
1435
1435
  function z(e) {
1436
1436
  return e < 0 ? -Math.round(-e) : Math.round(e);
1437
1437
  }
1438
- function Vn(e, t) {
1438
+ function Xn(e, t) {
1439
1439
  if (t.length === 0) return [];
1440
1440
  const n = t.reduce((u, l) => u + l, 0);
1441
1441
  if (n === 0) return t.map((u, l) => l === 0 ? e : 0);
@@ -1453,25 +1453,25 @@ function D(e, t = {}) {
1453
1453
  l > 0 && (s.length - l) % 3 === 0 && (u += r), u += s[l];
1454
1454
  return `${o ? "-" : ""}${u}${n}${a}`;
1455
1455
  }
1456
- function ka(e) {
1456
+ function wa(e) {
1457
1457
  const t = e.trim().replace(/[\s ]/g, "");
1458
1458
  if (!t) return;
1459
1459
  const n = t.replace(/^[-+]?[^\d.,-]*/, "").replace(/[^\d.,-]+$/, ""), r = /^-/.test(t) || /-$/.test(t), o = n.replace(/-/g, "");
1460
1460
  if (!o || !/^[\d.,]+$/.test(o)) return;
1461
1461
  const i = o.lastIndexOf(","), s = o.lastIndexOf("."), a = Math.max(i, s), u = a === -1 ? "" : o.slice(a + 1), l = a !== -1 && u.length >= 1 && u.length <= 2, d = l ? o.slice(0, a) : o;
1462
- if (!Xn(d)) return;
1462
+ if (!Yn(d)) return;
1463
1463
  const c = d.replace(/[.,]/g, ""), f = l ? u.padEnd(2, "0") : "00";
1464
1464
  if (c === "") return;
1465
1465
  const p = Number(c) * 100 + Number(f);
1466
1466
  return r ? -p : p;
1467
1467
  }
1468
- function Xn(e) {
1468
+ function Yn(e) {
1469
1469
  return /^\d+$/.test(e) ? !0 : e.includes(".") && e.includes(",") ? !1 : /^\d{1,3}([.,]\d{3})*$/.test(e);
1470
1470
  }
1471
- function wa(e) {
1471
+ function va(e) {
1472
1472
  return e.costPriceCents == null ? e.netCents : e.netCents - z(e.costPriceCents * e.quantity);
1473
1473
  }
1474
- const Yn = [
1474
+ const qn = [
1475
1475
  {
1476
1476
  key: "contract",
1477
1477
  matches: (e, t) => !!e.contractId && e.contractId === t.contractId && !!e.productId
@@ -1493,40 +1493,40 @@ const Yn = [
1493
1493
  matches: (e, t) => !e.contractId && !e.companyId && !!e.segmentKey && e.segmentKey === t.segmentKey && !!e.categoryKey
1494
1494
  }
1495
1495
  ];
1496
- function va(e, t, n) {
1496
+ function Ma(e, t, n) {
1497
1497
  const r = n.filter(
1498
1498
  (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)
1499
1499
  );
1500
- for (const o of Yn) {
1500
+ for (const o of qn) {
1501
1501
  const i = r.filter((a) => o.matches(a, t));
1502
1502
  if (i.length === 0) continue;
1503
1503
  const s = i.reduce(
1504
1504
  (a, u) => (u.minQuantity ?? 0) >= (a.minQuantity ?? 0) ? u : a
1505
1505
  );
1506
1506
  return {
1507
- unitPriceCents: qn(s, e.listPriceCents),
1507
+ unitPriceCents: Qn(s, e.listPriceCents),
1508
1508
  sourceKey: (s.minQuantity ?? 0) > 1 ? "tier" : o.key,
1509
1509
  ruleId: s.id
1510
1510
  };
1511
1511
  }
1512
1512
  return { unitPriceCents: e.listPriceCents, sourceKey: "list" };
1513
1513
  }
1514
- function qn(e, t) {
1514
+ function Qn(e, t) {
1515
1515
  return e.unitPriceCents != null ? e.unitPriceCents : e.discountPercent != null ? z(t * (1 - e.discountPercent / 100)) : t;
1516
1516
  }
1517
- const Ma = ["piece", "hour", "day", "month", "km", "license"], Ca = /* @__PURE__ */ new Set(["mail", "message"]);
1518
- function Qn(e, t) {
1517
+ const Ca = ["piece", "hour", "day", "month", "km", "license"], Oa = /* @__PURE__ */ new Set(["mail", "message"]);
1518
+ function Zn(e, t) {
1519
1519
  const n = e.settings?.signatures?.[t];
1520
1520
  return !n?.enabled || !n.body || n.body.trim() === "" ? null : n;
1521
1521
  }
1522
- function Oa(e, t, n, r = "html") {
1522
+ function Na(e, t, n, r = "html") {
1523
1523
  if (!e) return n;
1524
- const o = Qn(e, t);
1524
+ const o = Zn(e, t);
1525
1525
  return o ? `${n}${r === "text" ? `
1526
1526
 
1527
1527
  ` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${o.body}` : n;
1528
1528
  }
1529
- function Na(e) {
1529
+ function xa(e) {
1530
1530
  return e.endpoints ?? [];
1531
1531
  }
1532
1532
  function $(e) {
@@ -1534,18 +1534,18 @@ function $(e) {
1534
1534
  if (t)
1535
1535
  return t.split(/[-_]/)[0] || void 0;
1536
1536
  }
1537
- function xa(e) {
1537
+ function Ra(e) {
1538
1538
  return $(e.contactLocale) ?? $(e.companyLocale) ?? $(e.organizationLocale);
1539
1539
  }
1540
- function Ra(e, t, n, r) {
1540
+ function Da(e, t, n, r) {
1541
1541
  const o = e.filter((a) => a.key === t && !a.archived);
1542
1542
  if (o.length === 0) return;
1543
1543
  const i = $(n), s = $(r);
1544
1544
  return o.find((a) => $(a.locale) === i) ?? o.find((a) => $(a.locale) === s) ?? // A row with no language at all is the single-language case: it is for everybody.
1545
1545
  o.find((a) => !a.locale) ?? o[0];
1546
1546
  }
1547
- const Zn = /\{([a-zA-Z0-9_.]+)\}/g;
1548
- function Lt(e, t) {
1547
+ const Jn = /\{([a-zA-Z0-9_.]+)\}/g;
1548
+ function Pt(e, t) {
1549
1549
  let n = e;
1550
1550
  for (const r of t.split(".")) {
1551
1551
  if (n == null || typeof n != "object") return;
@@ -1553,33 +1553,33 @@ function Lt(e, t) {
1553
1553
  }
1554
1554
  return n;
1555
1555
  }
1556
- function Jn(e) {
1556
+ function er(e) {
1557
1557
  return typeof e == "string" ? e : typeof e == "number" || typeof e == "boolean" ? String(e) : "";
1558
1558
  }
1559
- function er(e, t, n) {
1559
+ function tr(e, t, n) {
1560
1560
  const r = [];
1561
- return { text: e.replace(Zn, (i, s) => {
1562
- const a = Lt(t, s);
1563
- return a == null || a === "" ? (r.includes(s) || r.push(s), n ?? `{${s}}`) : Jn(a);
1561
+ return { text: e.replace(Jn, (i, s) => {
1562
+ const a = Pt(t, s);
1563
+ return a == null || a === "" ? (r.includes(s) || r.push(s), n ?? `{${s}}`) : er(a);
1564
1564
  }), unresolved: r };
1565
1565
  }
1566
- function tr(e, t) {
1566
+ function nr(e, t) {
1567
1567
  if (!e) return !0;
1568
- const n = Lt(t, e.key);
1568
+ const n = Pt(t, e.key);
1569
1569
  if (e.exists !== void 0) {
1570
1570
  const r = n != null && n !== "" && n !== !1;
1571
1571
  return e.exists ? r : !r;
1572
1572
  }
1573
1573
  return e.equals !== void 0 ? n === e.equals : !0;
1574
1574
  }
1575
- function Da(e, t, n, r, o) {
1575
+ function $a(e, t, n, r, o) {
1576
1576
  const i = [], s = [], a = /* @__PURE__ */ new Set(), u = (l) => {
1577
- const d = er(l, t, o);
1577
+ const d = tr(l, t, o);
1578
1578
  for (const c of d.unresolved) i.includes(c) || i.push(c);
1579
1579
  return d.text;
1580
1580
  };
1581
1581
  for (const l of e) {
1582
- if (l.block_id && !tr(n?.[l.block_id], t)) continue;
1582
+ if (l.block_id && !nr(n?.[l.block_id], t)) continue;
1583
1583
  const d = l.block_id ? r?.[l.block_id] : void 0;
1584
1584
  if (d && l.block_id) {
1585
1585
  a.add(l.block_id), s.push(...d);
@@ -1669,7 +1669,7 @@ function Da(e, t, n, r, o) {
1669
1669
  unusedSlots: Object.keys(r ?? {}).filter((l) => !a.has(l))
1670
1670
  };
1671
1671
  }
1672
- function nr(e) {
1672
+ function rr(e) {
1673
1673
  const t = e?.address, n = [t?.street, t?.houseNumber].filter(Boolean).join(" "), r = [t?.postalCode, t?.city].filter(Boolean).join(" ");
1674
1674
  return {
1675
1675
  name: e?.name ?? "",
@@ -1683,8 +1683,8 @@ function nr(e) {
1683
1683
  ...e?.logo ? { logo: e.logo } : {}
1684
1684
  };
1685
1685
  }
1686
- function $a(e) {
1687
- return nr({
1686
+ function La(e) {
1687
+ return rr({
1688
1688
  name: e?.billing?.companyName || e?.name || e?.displayName || "",
1689
1689
  address: e?.address,
1690
1690
  kvkNumber: e?.billing?.kvkNumber,
@@ -1694,24 +1694,24 @@ function $a(e) {
1694
1694
  logo: e?.logo
1695
1695
  });
1696
1696
  }
1697
- const rr = 36e5, or = 864e5, L = -1 / 0, La = (e) => e.score > L, te = {
1697
+ const or = 36e5, ir = 864e5, L = -1 / 0, Pa = (e) => e.score > L, te = {
1698
1698
  urgent: 40,
1699
1699
  high: 25,
1700
1700
  normal: 10,
1701
1701
  low: 0
1702
1702
  };
1703
- function Pa(e) {
1703
+ function Ka(e) {
1704
1704
  return Object.fromEntries(e.map((t) => [t.resourceId, t]));
1705
1705
  }
1706
- const ir = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, Pt = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
1707
- function sr(e, t) {
1708
- return !!(e && ir.test(e) || t && Pt.test(t));
1706
+ const sr = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, Kt = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
1707
+ function ar(e, t) {
1708
+ return !!(e && sr.test(e) || t && Kt.test(t));
1709
1709
  }
1710
- const ar = 3, cr = 600;
1711
- function Ka(e, t) {
1712
- return e >= ar || t >= cr;
1710
+ const cr = 3, lr = 600;
1711
+ function Ua(e, t) {
1712
+ return e >= cr || t >= lr;
1713
1713
  }
1714
- const lr = [
1714
+ const ur = [
1715
1715
  "list-unsubscribe",
1716
1716
  "list-unsubscribe-post",
1717
1717
  "list-id",
@@ -1721,89 +1721,89 @@ const lr = [
1721
1721
  "feedback-id",
1722
1722
  "x-mailer"
1723
1723
  ];
1724
- function Ua(e) {
1724
+ function Fa(e) {
1725
1725
  const t = {};
1726
1726
  for (const n of e) {
1727
1727
  const r = n.name?.toLowerCase();
1728
- r && n.value !== void 0 && lr.includes(r) && (t[r] = n.value);
1728
+ r && n.value !== void 0 && ur.includes(r) && (t[r] = n.value);
1729
1729
  }
1730
1730
  return t;
1731
1731
  }
1732
- const ur = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i, dr = /(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;
1733
- function Fa(e) {
1732
+ const dr = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i, fr = /(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;
1733
+ function Ba(e) {
1734
1734
  const t = e.headers ?? {}, n = e.from?.email, r = t["auto-submitted"]?.toLowerCase();
1735
- if (r && r !== "no" || t["x-auto-response-suppress"] || n && ur.test(n))
1735
+ if (r && r !== "no" || t["x-auto-response-suppress"] || n && dr.test(n))
1736
1736
  return "automated";
1737
1737
  const o = t.precedence?.toLowerCase();
1738
- if (t["list-unsubscribe"] || t["list-unsubscribe-post"] || t["list-id"] || o === "bulk" || o === "list" || e.body && Pt.test(e.body) || n && dr.test(n))
1738
+ if (t["list-unsubscribe"] || t["list-unsubscribe-post"] || t["list-id"] || o === "bulk" || o === "list" || e.body && Kt.test(e.body) || n && fr.test(n))
1739
1739
  return "marketing";
1740
1740
  }
1741
- function fr(e, t) {
1741
+ function pr(e, t) {
1742
1742
  return e.lastActivityAt ? !(e.seenBy ?? []).includes(t) : !1;
1743
1743
  }
1744
- const pr = ["open"], mr = 1e3, gr = {
1744
+ const mr = ["open"], gr = 1e3, hr = {
1745
1745
  urgent: 1,
1746
1746
  high: 4,
1747
1747
  normal: 8,
1748
1748
  low: 24
1749
- }, hr = 72;
1750
- function yr(e) {
1751
- return e.lastActivityAt ?? (e.createdAt ? new Date(Sn(e)).getTime() : 0);
1749
+ }, yr = 72;
1750
+ function br(e) {
1751
+ return e.lastActivityAt ?? (e.createdAt ? new Date(Tn(e)).getTime() : 0);
1752
1752
  }
1753
- function br(e, t) {
1754
- return Ar(t.remindersById?.[e.id], e, t.now);
1753
+ function Ar(e, t) {
1754
+ return _r(t.remindersById?.[e.id], e, t.now);
1755
1755
  }
1756
- function Ar(e, t, n) {
1756
+ function _r(e, t, n) {
1757
1757
  return !e || e.remindAt <= n ? !1 : !((t.lastActivityAt ?? 0) > e.parkedAt && t.lastActivityPreview?.direction === "inbound");
1758
1758
  }
1759
- const Kt = (e) => hn(e) === "outbound_message", Ut = (e) => pr.includes(e);
1759
+ const Ut = (e) => yn(e) === "outbound_message", Ft = (e) => mr.includes(e);
1760
1760
  function Re(e, t) {
1761
- return Math.max(0, (t - yr(e)) / rr);
1761
+ return Math.max(0, (t - br(e)) / or);
1762
1762
  }
1763
- function _r(e, t) {
1763
+ function Er(e, t) {
1764
1764
  const n = e.assignedInboxId ? t?.[e.assignedInboxId] : void 0;
1765
- return typeof n == "number" && n > 0 ? n : gr[e.priority ?? "normal"];
1765
+ return typeof n == "number" && n > 0 ? n : hr[e.priority ?? "normal"];
1766
1766
  }
1767
- function Ba(e) {
1767
+ function ja(e) {
1768
1768
  const t = {};
1769
1769
  for (const n of e)
1770
1770
  typeof n.slaHours == "number" && n.slaHours > 0 && (t[n.id] = n.slaHours);
1771
1771
  return t;
1772
1772
  }
1773
- function ja(e, t, n) {
1774
- return !Ut(e.status) || e.firstResponseAt ? !1 : Re(e, t) > _r(e, n);
1773
+ function Ha(e, t, n) {
1774
+ return !Ft(e.status) || e.firstResponseAt ? !1 : Re(e, t) > Er(e, n);
1775
1775
  }
1776
- function Er(e, t) {
1776
+ function Sr(e, t) {
1777
1777
  const n = e.lastActivityPreview;
1778
- return n?.direction !== "outbound" || !Kt(n.type) ? !1 : Re(e, t) < hr;
1778
+ return n?.direction !== "outbound" || !Ut(n.type) ? !1 : Re(e, t) < yr;
1779
1779
  }
1780
- function Ha(e, t) {
1781
- if (!Ut(e.status)) return { score: L, reasons: [] };
1780
+ function Ga(e, t) {
1781
+ if (!Ft(e.status)) return { score: L, reasons: [] };
1782
1782
  if (e.snoozedTill && e.snoozedTill > t.now) return { score: L, reasons: [] };
1783
- if (Er(e, t.now)) return { score: L, reasons: [] };
1784
- if (br(e, t)) return { score: L, reasons: [] };
1783
+ if (Sr(e, t.now)) return { score: L, reasons: [] };
1784
+ if (Ar(e, t)) return { score: L, reasons: [] };
1785
1785
  let n = 0;
1786
1786
  const r = [], o = e.priority ?? "normal";
1787
- te[o] > 0 && (n += te[o], r.push(`priority:${o}`)), fr(e, t.userId) && (n += 20, r.push("unseen")), e.assignedUserId && e.assignedUserId === t.userId && (n += 15, r.push("assigned-to-you"));
1787
+ te[o] > 0 && (n += te[o], r.push(`priority:${o}`)), pr(e, t.userId) && (n += 20, r.push("unseen")), e.assignedUserId && e.assignedUserId === t.userId && (n += 15, r.push("assigned-to-you"));
1788
1788
  const i = Re(e, t.now);
1789
1789
  if (i > 0) {
1790
1790
  const u = Math.min(i * 2, 30);
1791
1791
  n += u, i >= 1 && r.push(`waiting:${Math.round(i)}h`);
1792
1792
  }
1793
1793
  const s = e.lastActivityPreview;
1794
- return s?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), s?.direction === "outbound" && Kt(s.type) && (n += 10, r.push("no-reply")), !e.firstResponseAt && e.lastActivityPreview?.direction === "inbound" && (n += 10, r.push("awaiting-reply")), (e.tags?.some((u) => u === "marketing" || u === "automated") || sr(e.remoteParty?.resource, e.lastActivityPreview?.snippet)) && (n -= mr, r.push("bulk")), { score: n, reasons: r };
1794
+ return s?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), s?.direction === "outbound" && Ut(s.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") || ar(e.remoteParty?.resource, e.lastActivityPreview?.snippet)) && (n -= gr, r.push("bulk")), { score: n, reasons: r };
1795
1795
  }
1796
- const Ga = (e) => !!e.assignedUserId || !!e.assignedInboxId, Wa = (e) => e.status === "closed", za = (e) => ({
1796
+ const Wa = (e) => !!e.assignedUserId || !!e.assignedInboxId, za = (e) => e.status === "closed", Va = (e) => ({
1797
1797
  urgent: 10,
1798
1798
  high: 5,
1799
1799
  normal: 2,
1800
1800
  low: 1
1801
- })[e.priority] || 0, Va = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1802
- function Xa(e, t) {
1801
+ })[e.priority] || 0, Xa = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1802
+ function Ya(e, t) {
1803
1803
  const n = e.labels ?? [];
1804
1804
  return n.find((r) => r.locale === t)?.label ?? n[0]?.label ?? e.url;
1805
1805
  }
1806
- function Ya(e, t, n) {
1806
+ function qa(e, t, n) {
1807
1807
  const r = e.translations ?? [];
1808
1808
  return r.find((o) => o.locale === t) ?? (n ? r.find((o) => o.locale === n) : void 0) ?? { locale: t };
1809
1809
  }
@@ -1822,36 +1822,36 @@ const ot = [
1822
1822
  { code: "fi", label: "Suomi", english: "Finnish" },
1823
1823
  { code: "tr", label: "Türkçe", english: "Turkish" }
1824
1824
  ];
1825
- function Ft(e) {
1825
+ function Bt(e) {
1826
1826
  const t = (e ?? "").toLowerCase();
1827
1827
  return ot.find((n) => n.code === t) ?? ot.find((n) => n.code === t.split("-")[0]);
1828
1828
  }
1829
- function qa(e) {
1830
- return Ft(e)?.label ?? e;
1831
- }
1832
1829
  function Qa(e) {
1833
- const t = Ft(e);
1830
+ return Bt(e)?.label ?? e;
1831
+ }
1832
+ function Za(e) {
1833
+ const t = Bt(e);
1834
1834
  return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
1835
1835
  }
1836
- const Bt = 3;
1837
- function Sr(e, t) {
1836
+ const jt = 3;
1837
+ function Tr(e, t) {
1838
1838
  const n = /* @__PURE__ */ new Set();
1839
1839
  let r = 1, o = t.get(e)?.parentId;
1840
1840
  for (; o; ) {
1841
- if (n.has(o) || (n.add(o), r++, r > Bt + 1)) return 1 / 0;
1841
+ if (n.has(o) || (n.add(o), r++, r > jt + 1)) return 1 / 0;
1842
1842
  o = t.get(o)?.parentId;
1843
1843
  }
1844
1844
  return r;
1845
1845
  }
1846
- function Za(e, t, n) {
1846
+ function Ja(e, t, n) {
1847
1847
  if (!e) return !0;
1848
1848
  if (e === t) return !1;
1849
1849
  const r = new Map(n.map((s) => [s.id, s]));
1850
- if (!r.has(e) || t && Tr(e, t, r)) return !1;
1851
- const o = Sr(e, r), i = t ? jt(t, n) : 1;
1852
- return o + i <= Bt;
1850
+ if (!r.has(e) || t && Ir(e, t, r)) return !1;
1851
+ const o = Tr(e, r), i = t ? Ht(t, n) : 1;
1852
+ return o + i <= jt;
1853
1853
  }
1854
- function Tr(e, t, n) {
1854
+ function Ir(e, t, n) {
1855
1855
  const r = /* @__PURE__ */ new Set();
1856
1856
  let o = n.get(e)?.parentId;
1857
1857
  for (; o; ) {
@@ -1861,23 +1861,23 @@ function Tr(e, t, n) {
1861
1861
  }
1862
1862
  return !1;
1863
1863
  }
1864
- function jt(e, t, n = /* @__PURE__ */ new Set()) {
1864
+ function Ht(e, t, n = /* @__PURE__ */ new Set()) {
1865
1865
  if (n.has(e)) return 1;
1866
1866
  n.add(e);
1867
1867
  const r = t.filter((o) => o.parentId === e);
1868
- return r.length ? 1 + Math.max(...r.map((o) => jt(o.id, t, n))) : 1;
1868
+ return r.length ? 1 + Math.max(...r.map((o) => Ht(o.id, t, n))) : 1;
1869
1869
  }
1870
- const Ir = "en";
1871
- function kr(e) {
1872
- return e.defaultLocale || e.locale || Ir;
1870
+ const kr = "en";
1871
+ function wr(e) {
1872
+ return e.defaultLocale || e.locale || kr;
1873
1873
  }
1874
- function Ja(e) {
1874
+ function ec(e) {
1875
1875
  const t = /* @__PURE__ */ new Set(), n = [];
1876
- for (const r of [kr(e), ...e.locales ?? []])
1876
+ for (const r of [wr(e), ...e.locales ?? []])
1877
1877
  !r || t.has(r) || (t.add(r), n.push(r));
1878
1878
  return n;
1879
1879
  }
1880
- function ec(e, t, n) {
1880
+ function tc(e, t, n) {
1881
1881
  const r = e.translations ?? [];
1882
1882
  return r.find((o) => o.locale === t)?.name ?? (n ? r.find((o) => o.locale === n)?.name : void 0) ?? e.name;
1883
1883
  }
@@ -1902,7 +1902,7 @@ function de(e) {
1902
1902
  }
1903
1903
  return null;
1904
1904
  }
1905
- function wr(e, t) {
1905
+ function vr(e, t) {
1906
1906
  switch (e.kind) {
1907
1907
  case "org":
1908
1908
  return !0;
@@ -1912,29 +1912,29 @@ function wr(e, t) {
1912
1912
  return e.userId === t.userId;
1913
1913
  }
1914
1914
  }
1915
- function tc(e, t) {
1916
- return e.filter((n) => n.enabled && wr(n.ownerScope, t));
1915
+ function nc(e, t) {
1916
+ return e.filter((n) => n.enabled && vr(n.ownerScope, t));
1917
1917
  }
1918
- function nc(e) {
1918
+ function rc(e) {
1919
1919
  return e.credentialScope ? e.credentialScope : (e.authMode ?? "header") === "header" || e.oauth?.scope === "org" ? "shared" : "per-user";
1920
1920
  }
1921
- function rc(e) {
1921
+ function oc(e) {
1922
1922
  return `mcp__${e}__`;
1923
1923
  }
1924
- const oc = 1e3, ic = 2e3, sc = 500, ac = 12e3, cc = 4e3, vr = ["contact", "company", "work_item"];
1925
- function lc(e) {
1924
+ const ic = 1e3, sc = 2e3, ac = 500, cc = 12e3, lc = 4e3, Mr = ["contact", "company", "work_item"];
1925
+ function uc(e) {
1926
1926
  if (!e) return !1;
1927
1927
  const t = e.slice(0, e.indexOf(":"));
1928
- return vr.includes(t);
1928
+ return Mr.includes(t);
1929
1929
  }
1930
- const uc = [
1930
+ const dc = [
1931
1931
  { key: "high", label: "tax_high", percent: 21, kind: "standard" },
1932
1932
  { key: "low", label: "tax_low", percent: 9, kind: "reduced" },
1933
1933
  { key: "zero", label: "tax_zero", percent: 0, kind: "zero" },
1934
1934
  { key: "reverse_charge", label: "tax_reverse_charge", percent: 0, kind: "reverse_charge" },
1935
1935
  { key: "exempt", label: "tax_exempt", percent: 0, kind: "exempt" }
1936
1936
  ];
1937
- function Mr(e, t) {
1937
+ function Cr(e, t) {
1938
1938
  return t.find((n) => n.key === e) ?? {
1939
1939
  key: e,
1940
1940
  label: e,
@@ -1942,13 +1942,13 @@ function Mr(e, t) {
1942
1942
  kind: "zero"
1943
1943
  };
1944
1944
  }
1945
- function Cr(e) {
1945
+ function Or(e) {
1946
1946
  if (e.kind !== "product") return 0;
1947
1947
  const t = 1 - (e.discountPercent ?? 0) / 100;
1948
1948
  return z(e.quantity * e.unitPriceCents * t);
1949
1949
  }
1950
- function dc(e, t, n) {
1951
- const r = e.map((l) => ({ ...l, netCents: Cr(l), taxCents: 0 })), o = /* @__PURE__ */ new Map();
1950
+ function fc(e, t, n) {
1951
+ const r = e.map((l) => ({ ...l, netCents: Or(l), taxCents: 0 })), o = /* @__PURE__ */ new Map();
1952
1952
  for (let l = 0; l < r.length; l++) {
1953
1953
  if (r[l].kind !== "product" || r[l].optional) continue;
1954
1954
  const d = n ?? r[l].taxRateKey, c = o.get(d);
@@ -1957,7 +1957,7 @@ function dc(e, t, n) {
1957
1957
  const i = [];
1958
1958
  let s = 0, a = 0;
1959
1959
  for (const [l, d] of o) {
1960
- const c = Mr(l, t), f = d.reduce((m, S) => m + r[S].netCents, 0), p = z(f * c.percent / 100), y = Vn(
1960
+ const c = Cr(l, t), f = d.reduce((m, S) => m + r[S].netCents, 0), p = z(f * c.percent / 100), y = Xn(
1961
1961
  p,
1962
1962
  d.map((m) => r[m].netCents)
1963
1963
  );
@@ -1979,7 +1979,7 @@ function dc(e, t, n) {
1979
1979
  }
1980
1980
  };
1981
1981
  }
1982
- const fc = "onboarding-source", pc = ["support", "billing", "availability", "sales", "onboarding"], mc = ["keep", "replace"], De = [
1982
+ const pc = "onboarding-source", mc = ["support", "billing", "availability", "sales", "onboarding"], gc = ["keep", "replace"], De = [
1983
1983
  {
1984
1984
  key: "shift",
1985
1985
  label: "kind_shift",
@@ -2053,7 +2053,7 @@ const fc = "onboarding-source", pc = ["support", "billing", "availability", "sal
2053
2053
  absent: !0,
2054
2054
  icon: "party-popper"
2055
2055
  }
2056
- ], Or = {
2056
+ ], Nr = {
2057
2057
  key: "unknown",
2058
2058
  label: "kind_unknown",
2059
2059
  capacity: !1,
@@ -2061,36 +2061,36 @@ const fc = "onboarding-source", pc = ["support", "billing", "availability", "sal
2061
2061
  absent: !1
2062
2062
  };
2063
2063
  function x(e, t = De) {
2064
- return t.find((n) => n.key === e) ?? { ...Or, key: e };
2064
+ return t.find((n) => n.key === e) ?? { ...Nr, key: e };
2065
2065
  }
2066
2066
  function V(e) {
2067
2067
  return e === "published" || e === "approved";
2068
2068
  }
2069
- function Ht(e, t, n = De) {
2069
+ function Gt(e, t, n = De) {
2070
2070
  if (e.workstreamId !== t) return !1;
2071
2071
  const r = x(e.kindKey, n);
2072
2072
  return r.absent ? !1 : r.productive || r.capacity;
2073
2073
  }
2074
- function gc(e, t = De) {
2074
+ function hc(e, t = De) {
2075
2075
  if (!e.userId || !V(e.status)) return !1;
2076
2076
  const n = x(e.kindKey, t);
2077
2077
  return n.capacity || n.productive || n.absent;
2078
2078
  }
2079
- const Nr = 864e5;
2080
- function xr(e, t) {
2081
- return Math.round((t - e) / Nr);
2082
- }
2083
- function Gt(e, t) {
2084
- const n = e.cycleMinutes.length;
2085
- return n === 0 ? 0 : (xr(e.anchor, t) % n + n) % n;
2079
+ const xr = 864e5;
2080
+ function Rr(e, t) {
2081
+ return Math.round((t - e) / xr);
2086
2082
  }
2087
2083
  function Wt(e, t) {
2088
- return e.effectiveFrom !== void 0 && t < e.effectiveFrom ? 0 : e.cycleMinutes[Gt(e, t)] ?? 0;
2084
+ const n = e.cycleMinutes.length;
2085
+ return n === 0 ? 0 : (Rr(e.anchor, t) % n + n) % n;
2089
2086
  }
2090
2087
  function zt(e, t) {
2091
- return e.startTimes?.[Gt(e, t)];
2088
+ return e.effectiveFrom !== void 0 && t < e.effectiveFrom ? 0 : e.cycleMinutes[Wt(e, t)] ?? 0;
2092
2089
  }
2093
- function Vt(e, t, n, r) {
2090
+ function Vt(e, t) {
2091
+ return e.startTimes?.[Wt(e, t)];
2092
+ }
2093
+ function Xt(e, t, n, r) {
2094
2094
  const o = e.filter(
2095
2095
  (a) => a.effectiveFrom === void 0 || a.effectiveFrom <= r
2096
2096
  ), i = (a) => a.sort((u, l) => (l.effectiveFrom ?? 0) - (u.effectiveFrom ?? 0))[0], s = i(o.filter((a) => a.userId === t));
@@ -2098,13 +2098,13 @@ function Vt(e, t, n, r) {
2098
2098
  o.filter((a) => !a.userId && a.teamId && n.includes(a.teamId))
2099
2099
  );
2100
2100
  }
2101
- function Rr(e, t, n) {
2101
+ function Dr(e, t, n) {
2102
2102
  return e.filter(
2103
2103
  (r) => r.userId === t && (r.effectiveFrom === void 0 || r.effectiveFrom <= n)
2104
2104
  ).sort((r, o) => (o.effectiveFrom ?? 0) - (r.effectiveFrom ?? 0))[0];
2105
2105
  }
2106
2106
  const Ae = 864e5;
2107
- function Dr(e) {
2107
+ function $r(e) {
2108
2108
  const t = Math.max(1, Math.round((e.to - e.from) / Ae));
2109
2109
  return Array.from({ length: t }, (n, r) => e.from + r * Ae);
2110
2110
  }
@@ -2113,7 +2113,7 @@ function _e(e, t, n, r) {
2113
2113
  return o > 0 ? o / 1e3 : 0;
2114
2114
  }
2115
2115
  const st = { interval: 0, day: 1, week: 2 };
2116
- function hc(e, t) {
2116
+ function yc(e, t) {
2117
2117
  const { entries: n, patterns: r = [], terms: o = [] } = t, i = n.filter(
2118
2118
  (c) => c.userId && V(c.status) && x(c.kindKey).capacity
2119
2119
  ), s = n.filter(
@@ -2132,7 +2132,7 @@ function hc(e, t) {
2132
2132
  for (const c of a) {
2133
2133
  const f = t.teamIdsOf?.(c) ?? [];
2134
2134
  let p = 0, y = 0, m = 0;
2135
- for (const g of Dr(e)) {
2135
+ for (const g of $r(e)) {
2136
2136
  const E = Math.max(g, e.from), N = Math.min(g + Ae, e.to);
2137
2137
  m++;
2138
2138
  const C = i.filter((w) => w.userId === c).reduce((w, Be) => w + _e(Be.start, Be.end, E, N), 0);
@@ -2140,15 +2140,15 @@ function hc(e, t) {
2140
2140
  p += C;
2141
2141
  continue;
2142
2142
  }
2143
- const v = Vt(r, c, f, g), O = v ? Wt(v, g) : 0;
2143
+ const v = Xt(r, c, f, g), O = v ? zt(v, g) : 0;
2144
2144
  if (v && O > 0) {
2145
- p += O * 60, d(zt(v, g) ? "interval" : "day");
2145
+ p += O * 60, d(Vt(v, g) ? "interval" : "day");
2146
2146
  continue;
2147
2147
  }
2148
2148
  v || y++;
2149
2149
  }
2150
2150
  if (y > 0) {
2151
- const g = Rr(o, c, e.from);
2151
+ const g = Dr(o, c, e.from);
2152
2152
  g && (p += g.weeklyMinutes * 60 * (y / 7), d("week"));
2153
2153
  }
2154
2154
  const S = s.filter((g) => g.userId === c).reduce(
@@ -2163,7 +2163,7 @@ function hc(e, t) {
2163
2163
  byUser: u
2164
2164
  };
2165
2165
  }
2166
- function yc(e, t) {
2166
+ function bc(e, t) {
2167
2167
  if (!e.some((a) => a.userId)) return [];
2168
2168
  const n = "", r = /* @__PURE__ */ new Map();
2169
2169
  for (const a of e) {
@@ -2186,7 +2186,7 @@ function yc(e, t) {
2186
2186
  const s = r.get(n) ?? 0;
2187
2187
  return s > 0 && i.push({ requiredSeconds: s, capacitySeconds: 0, netSeconds: -s }), i;
2188
2188
  }
2189
- function bc(e, t, n, r) {
2189
+ function Ac(e, t, n, r) {
2190
2190
  const o = e.filter(
2191
2191
  (s) => s.userId && V(s.status) && !x(s.kindKey).absent
2192
2192
  ), i = Object.entries(r.byUser).map(
@@ -2195,7 +2195,7 @@ function bc(e, t, n, r) {
2195
2195
  for (const d of o) {
2196
2196
  if (d.userId !== s || x(d.kindKey).capacity && !d.workstreamId) continue;
2197
2197
  const c = _e(d.start, d.end, n.from, n.to);
2198
- c <= 0 || (Ht(d, t) ? u += c : l += c);
2198
+ c <= 0 || (Gt(d, t) ? u += c : l += c);
2199
2199
  }
2200
2200
  return {
2201
2201
  userId: s,
@@ -2208,59 +2208,59 @@ function bc(e, t, n, r) {
2208
2208
  );
2209
2209
  return i.sort((s, a) => a.freeSeconds - s.freeSeconds), i;
2210
2210
  }
2211
- const Ac = "demand-source", at = 1e3;
2212
- function $r(e, t) {
2211
+ const _c = "demand-source", at = 1e3;
2212
+ function Lr(e, t) {
2213
2213
  let n = 1;
2214
2214
  for (let r = 1; r <= e; r++)
2215
2215
  n = t * n / (r + t * n);
2216
2216
  return n;
2217
2217
  }
2218
- function Lr(e, t) {
2218
+ function Pr(e, t) {
2219
2219
  if (e <= 0) return 1;
2220
2220
  if (t <= 0) return 0;
2221
2221
  if (e <= t) return 1;
2222
- const n = $r(e, t), r = t / e;
2222
+ const n = Lr(e, t), r = t / e;
2223
2223
  return n / (1 - r * (1 - n));
2224
2224
  }
2225
- function Pr(e, t, n, r) {
2226
- return r <= 0 ? 1 : e <= t ? 0 : 1 - Lr(e, t) * Math.exp(-(e - t) * n / r);
2225
+ function Kr(e, t, n, r) {
2226
+ return r <= 0 ? 1 : e <= t ? 0 : 1 - Pr(e, t) * Math.exp(-(e - t) * n / r);
2227
2227
  }
2228
- function Kr(e, t, n) {
2228
+ function Ur(e, t, n) {
2229
2229
  return n <= 0 ? 0 : e * t / n;
2230
2230
  }
2231
- function Ur(e, t, n, r) {
2231
+ function Fr(e, t, n, r) {
2232
2232
  if (e <= 0 || t <= 0) return 0;
2233
- const o = Kr(e, t, n);
2233
+ const o = Ur(e, t, n);
2234
2234
  if (o <= 0) return 0;
2235
2235
  const i = r.serviceLevelPercent / 100, s = r.maxOccupancyPercent ? r.maxOccupancyPercent / 100 : void 0;
2236
2236
  for (let a = Math.max(1, Math.ceil(o)); a <= at; a++)
2237
- if (!(a <= o) && !(Pr(a, o, r.targetSeconds, t) < i) && !(s && o / a > s))
2237
+ if (!(a <= o) && !(Kr(a, o, r.targetSeconds, t) < i) && !(s && o / a > s))
2238
2238
  return a;
2239
2239
  return at;
2240
2240
  }
2241
- const Fr = 36e5, Br = 864e5;
2242
- function jr(e) {
2243
- return e === "day" ? Br : Fr;
2241
+ const Br = 36e5, jr = 864e5;
2242
+ function Hr(e) {
2243
+ return e === "day" ? jr : Br;
2244
2244
  }
2245
- function _c(e, t) {
2245
+ function Ec(e, t) {
2246
2246
  return e.start < t.end && t.start < e.end;
2247
2247
  }
2248
2248
  function fe(e, t, n) {
2249
2249
  const r = Math.min(e.end, n) - Math.max(e.start, t);
2250
2250
  return r > 0 ? r / 1e3 : 0;
2251
2251
  }
2252
- function Hr(e, t, n) {
2252
+ function Gr(e, t, n) {
2253
2253
  const r = e.handleSeconds ?? 0, o = e.seconds ?? (e.volume !== void 0 ? e.volume * r : 0);
2254
2254
  if (o <= 0 && !e.volume) return { seconds: 0, headcount: 0 };
2255
2255
  const i = (t.unplannedLossPercent ?? 0) / 100, s = i > 0 && i < 1 ? 1 / (1 - i) : 1;
2256
2256
  if (t.model === "queue" && e.volume !== void 0 && r > 0) {
2257
- const a = Ur(e.volume, r, n, t);
2257
+ const a = Fr(e.volume, r, n, t);
2258
2258
  return { seconds: o, headcount: a * s };
2259
2259
  }
2260
2260
  return { seconds: o, headcount: o / n * s };
2261
2261
  }
2262
- function Ec(e) {
2263
- const { entries: t, workstreamId: n, staffing: r, demand: o, range: i } = e, s = e.grain ?? "hour", a = jr(s), u = a / 1e3, l = e.kinds, d = t.filter((m) => V(m.status)), c = d.filter((m) => Ht(m, n, l)), f = d.filter((m) => x(m.kindKey, l).capacity), p = d.filter((m) => x(m.kindKey, l).absent), y = [];
2262
+ function Sc(e) {
2263
+ const { entries: t, workstreamId: n, staffing: r, demand: o, range: i } = e, s = e.grain ?? "hour", a = Hr(s), u = a / 1e3, l = e.kinds, d = t.filter((m) => V(m.status)), c = d.filter((m) => Gt(m, n, l)), f = d.filter((m) => x(m.kindKey, l).capacity), p = d.filter((m) => x(m.kindKey, l).absent), y = [];
2264
2264
  for (let m = W(i.from, s); m < i.to; m += a) {
2265
2265
  const S = m + a, h = G(m, s);
2266
2266
  let g = 0;
@@ -2269,7 +2269,7 @@ function Ec(e) {
2269
2269
  for (const w of f) E += fe(w, m, S);
2270
2270
  let N = 0;
2271
2271
  for (const w of p) N += fe(w, m, S);
2272
- const C = o?.[h] ?? {}, v = Hr(C, r, u), O = g / u;
2272
+ const C = o?.[h] ?? {}, v = Gr(C, r, u), O = g / u;
2273
2273
  y.push({
2274
2274
  period: h,
2275
2275
  forecastVolume: C.volume,
@@ -2284,24 +2284,24 @@ function Ec(e) {
2284
2284
  }
2285
2285
  return y;
2286
2286
  }
2287
- function Gr(e, t) {
2287
+ function Wr(e, t) {
2288
2288
  return e.workTypeKey ?? t?.defaultWorkTypeKey;
2289
2289
  }
2290
- function Sc(e, t, n) {
2291
- const r = Gr(e, t);
2290
+ function Tc(e, t, n) {
2291
+ const r = Wr(e, t);
2292
2292
  return r ? n.find((o) => o.key === r)?.defaultBillable ?? !1 : !1;
2293
2293
  }
2294
- function Tc(e) {
2294
+ function Ic(e) {
2295
2295
  return e.filter(
2296
2296
  (t) => t.netHeadcount < 0 && t.requiredHeadcount > 0
2297
2297
  );
2298
2298
  }
2299
- const Wr = 36e5, Ee = 6048e5, zr = 8, Vr = 0.5, Xr = 2;
2300
- function Yr(e) {
2299
+ const zr = 36e5, Ee = 6048e5, Vr = 8, Xr = 0.5, Yr = 2;
2300
+ function qr(e) {
2301
2301
  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;
2302
2302
  return Date.UTC(t, n - 1, r, o);
2303
2303
  }
2304
- function qr(e, t, n) {
2304
+ function Qr(e, t, n) {
2305
2305
  const r = [];
2306
2306
  for (let i = 0; i < n; i++) {
2307
2307
  const s = t - i * Ee, a = s - Ee;
@@ -2312,21 +2312,21 @@ function qr(e, t, n) {
2312
2312
  }
2313
2313
  if (r.length < 2) return 1;
2314
2314
  const o = r.reduce((i, s) => i + s, 0) / r.length;
2315
- return o <= 0 ? 1 : Math.min(Xr, Math.max(Vr, r[0] / o));
2315
+ return o <= 0 ? 1 : Math.min(Yr, Math.max(Xr, r[0] / o));
2316
2316
  }
2317
- function Qr(e, t) {
2317
+ function Zr(e, t) {
2318
2318
  if (!e?.length) return;
2319
2319
  let n;
2320
2320
  for (const r of e)
2321
2321
  t >= r.from && t < r.to && (n = r);
2322
2322
  return n;
2323
2323
  }
2324
- function Ic(e, t, n) {
2325
- const r = Math.max(1, n?.weeks ?? zr), o = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set();
2324
+ function kc(e, t, n) {
2325
+ const r = Math.max(1, n?.weeks ?? Vr), o = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set();
2326
2326
  for (const u of e)
2327
- o.set(Yr(u.period), u.value), i.add(u.period.slice(0, 10));
2328
- const s = qr(o, W(t.from, "hour"), r), a = [];
2329
- for (let u = W(t.from, "hour"); u < t.to; u += Wr) {
2327
+ o.set(qr(u.period), u.value), i.add(u.period.slice(0, 10));
2328
+ const s = Qr(o, W(t.from, "hour"), r), a = [];
2329
+ for (let u = W(t.from, "hour"); u < t.to; u += zr) {
2330
2330
  let l = 0, d = 0;
2331
2331
  for (let p = 1; p <= r; p++) {
2332
2332
  const y = u - p * Ee, S = o.get(y) ?? (i.has(G(y, "day")) ? 0 : void 0);
@@ -2335,20 +2335,20 @@ function Ic(e, t, n) {
2335
2335
  l += S * h, d += h;
2336
2336
  }
2337
2337
  let c = d > 0 ? l / d * s : 0;
2338
- const f = Qr(n?.adjustments, u);
2338
+ const f = Zr(n?.adjustments, u);
2339
2339
  f?.absoluteVolume !== void 0 ? c = f.absoluteVolume : f?.factor !== void 0 && (c *= f.factor), a.push({ period: G(u, "hour"), volume: c });
2340
2340
  }
2341
2341
  return a;
2342
2342
  }
2343
- const Zr = "schedule_entry", Jr = "workstream";
2344
- function kc(e) {
2345
- return `${Zr}:${e}`;
2346
- }
2343
+ const Jr = "schedule_entry", eo = "workstream";
2347
2344
  function wc(e) {
2348
2345
  return `${Jr}:${e}`;
2349
2346
  }
2347
+ function vc(e) {
2348
+ return `${eo}:${e}`;
2349
+ }
2350
2350
  const Se = 36e5, U = 864e5;
2351
- function eo(e, t) {
2351
+ function to(e, t) {
2352
2352
  const n = t === "day" ? U : Se, r = [];
2353
2353
  for (let o = W(e.from, t); o < e.to; o += n) r.push(o);
2354
2354
  return r;
@@ -2361,8 +2361,8 @@ function pe(e, t, n, r) {
2361
2361
  const o = Math.min(t, r) - Math.max(e, n);
2362
2362
  return o > 0 ? o / 1e3 : 0;
2363
2363
  }
2364
- function vc(e, t, n = {}) {
2365
- const r = n.grain ?? "hour", o = eo(t, r), i = r === "day" ? U : Se, s = new Map(o.map((c) => [c, 0])), a = e.filter((c) => c.userId && x(c.kindKey).capacity), u = n.userIds?.length ? new Set(n.userIds) : null, l = /* @__PURE__ */ new Set();
2364
+ function Mc(e, t, n = {}) {
2365
+ const r = n.grain ?? "hour", o = to(t, r), i = r === "day" ? U : Se, s = new Map(o.map((c) => [c, 0])), a = e.filter((c) => c.userId && x(c.kindKey).capacity), u = n.userIds?.length ? new Set(n.userIds) : null, l = /* @__PURE__ */ new Set();
2366
2366
  for (const c of a)
2367
2367
  if (!(u && c.userId && !u.has(c.userId))) {
2368
2368
  for (const f of o) {
@@ -2383,11 +2383,11 @@ function vc(e, t, n = {}) {
2383
2383
  const f = n.teamIdsOf?.(c) ?? [];
2384
2384
  for (const p of ct(t)) {
2385
2385
  if (l.has(`${c}:${p}`)) continue;
2386
- const y = Vt(n.patterns, c, f, p);
2386
+ const y = Xt(n.patterns, c, f, p);
2387
2387
  if (!y) continue;
2388
- const m = Wt(y, p);
2388
+ const m = zt(y, p);
2389
2389
  if (m <= 0) continue;
2390
- const S = zt(y, p);
2390
+ const S = Vt(y, p);
2391
2391
  if (S) {
2392
2392
  const [E, N] = S.split(":").map(Number), C = p + E * Se + (N ?? 0) * 6e4, v = C + m * 6e4;
2393
2393
  for (const O of o) {
@@ -2404,7 +2404,7 @@ function vc(e, t, n = {}) {
2404
2404
  }
2405
2405
  return o.map((c) => ({ period: G(c, r), weight: s.get(c) ?? 0 }));
2406
2406
  }
2407
- function to(e, t) {
2407
+ function no(e, t) {
2408
2408
  if (e <= 0 || !t.length) return [];
2409
2409
  const n = t.reduce((r, o) => r + Math.max(0, o.weight), 0);
2410
2410
  if (n <= 0) {
@@ -2413,11 +2413,11 @@ function to(e, t) {
2413
2413
  }
2414
2414
  return t.filter((r) => r.weight > 0).map((r) => ({ period: r.period, seconds: e * r.weight / n }));
2415
2415
  }
2416
- function Mc(e, t, n) {
2416
+ function Cc(e, t, n) {
2417
2417
  const r = /* @__PURE__ */ new Map();
2418
2418
  for (const o of e) {
2419
2419
  const i = o.by ? t.filter((a) => n(a.period) < o.by) : t, s = i.length ? i : t;
2420
- for (const a of to(o.seconds, s)) {
2420
+ for (const a of no(o.seconds, s)) {
2421
2421
  const u = `${a.period}|${o.userId ?? ""}`, l = r.get(u);
2422
2422
  l ? l.seconds += a.seconds : r.set(u, { ...a, userId: o.userId });
2423
2423
  }
@@ -2426,7 +2426,7 @@ function Mc(e, t, n) {
2426
2426
  (o, i) => o.period.localeCompare(i.period) || (o.userId ?? "").localeCompare(i.userId ?? "")
2427
2427
  );
2428
2428
  }
2429
- function no(e) {
2429
+ function ro(e) {
2430
2430
  switch (e.kind) {
2431
2431
  case "user":
2432
2432
  return `user:${e.userId}`;
@@ -2436,7 +2436,7 @@ function no(e) {
2436
2436
  return "org";
2437
2437
  }
2438
2438
  }
2439
- function Cc(e) {
2439
+ function Oc(e) {
2440
2440
  if (typeof e != "string") return;
2441
2441
  const t = e.trim();
2442
2442
  if (t === "org") return { kind: "org" };
@@ -2448,10 +2448,10 @@ function Cc(e) {
2448
2448
  if (r === "team") return { kind: "team", teamId: o };
2449
2449
  }
2450
2450
  }
2451
- function ro(e) {
2452
- return no(e);
2453
- }
2454
2451
  function oo(e) {
2452
+ return ro(e);
2453
+ }
2454
+ function io(e) {
2455
2455
  switch (e.kind) {
2456
2456
  case "personal":
2457
2457
  return { kind: "user", userId: e.userId };
@@ -2461,14 +2461,14 @@ function oo(e) {
2461
2461
  return { kind: "org" };
2462
2462
  }
2463
2463
  }
2464
- const io = oo;
2465
- function Oc(e) {
2466
- return e.agentId ? { kind: "user", userId: e.agentId } : io(e.ownerScope);
2467
- }
2464
+ const so = io;
2468
2465
  function Nc(e) {
2469
- return ro(e);
2466
+ return e.agentId ? { kind: "user", userId: e.agentId } : so(e.ownerScope);
2467
+ }
2468
+ function xc(e) {
2469
+ return oo(e);
2470
2470
  }
2471
- function xc(e, t) {
2471
+ function Rc(e, t) {
2472
2472
  if (!t) return;
2473
2473
  let n = e;
2474
2474
  for (const r of t.split(".")) {
@@ -2477,35 +2477,35 @@ function xc(e, t) {
2477
2477
  }
2478
2478
  return n;
2479
2479
  }
2480
- function Rc(e, t) {
2480
+ function Dc(e, t) {
2481
2481
  return e.targets.find((n) => n.activityTypes.includes(t));
2482
2482
  }
2483
- function Dc(e, t) {
2483
+ function $c(e, t) {
2484
2484
  if (t)
2485
2485
  return e.targets.find((n) => n.id === t);
2486
2486
  }
2487
- function so(e) {
2487
+ function ao(e) {
2488
2488
  return e?.kind === "assignment";
2489
2489
  }
2490
- function $c(e) {
2490
+ function Lc(e) {
2491
2491
  const { trigger: t, agentId: n, target: r, activityType: o, assigneeUserId: i, authorUserId: s } = e;
2492
- return so(t) ? n ? r ? r.activityTypes.includes(o) ? i ? i !== n ? "assigned to someone else" : s && s === n ? "the agent assigned this to itself, which would restart its own run" : null : `no assignee found at ${r.assigneePath}` : `activity type ${o} does not announce an assignment for ${r.id}` : `assignment target kind "${t.targetKind}" is not declared by any installed app` : "this playbook has no agent, so an assignment can never be for it" : "trigger is not an assignment trigger";
2492
+ return ao(t) ? n ? r ? r.activityTypes.includes(o) ? i ? i !== n ? "assigned to someone else" : s && s === n ? "the agent assigned this to itself, which would restart its own run" : null : `no assignee found at ${r.assigneePath}` : `activity type ${o} does not announce an assignment for ${r.id}` : `assignment target kind "${t.targetKind}" is not declared by any installed app` : "this playbook has no agent, so an assignment can never be for it" : "trigger is not an assignment trigger";
2493
2493
  }
2494
- function Lc(e) {
2494
+ function Pc(e) {
2495
2495
  return ne(e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
2496
2496
  }
2497
2497
  function ne(e) {
2498
2498
  return e.startsWith("tool:") ? e.slice(5) : e;
2499
2499
  }
2500
- function ao(e) {
2500
+ function co(e) {
2501
2501
  const t = ne(e).split("__");
2502
2502
  return t[t.length - 1] || ne(e);
2503
2503
  }
2504
- function Pc(e) {
2505
- const t = ao(e).replace(/[_.]+/g, " ").trim();
2504
+ function Kc(e) {
2505
+ const t = co(e).replace(/[_.]+/g, " ").trim();
2506
2506
  return t ? t.charAt(0).toUpperCase() + t.slice(1) : ne(e);
2507
2507
  }
2508
- const Kc = [
2508
+ const Uc = [
2509
2509
  { name: "text", type: "string" },
2510
2510
  { name: "subject", type: "string" },
2511
2511
  { name: "from", type: "string" },
@@ -2546,10 +2546,10 @@ const Kc = [
2546
2546
  // the trigger filter runs — like contactId/companyId above.
2547
2547
  { name: "assigneeUserId", type: "string" }
2548
2548
  ];
2549
- function Uc(e, t) {
2549
+ function Fc(e, t) {
2550
2550
  return !e.onlyFor || !t?.length ? !0 : t.some((n) => e.onlyFor?.includes(n));
2551
2551
  }
2552
- const Fc = {
2552
+ const Bc = {
2553
2553
  topics: [
2554
2554
  { name: "topicId", type: "string" },
2555
2555
  { name: "topic", type: "string" },
@@ -2563,61 +2563,61 @@ const Fc = {
2563
2563
  // Deliberately empty: the fields come from `ClassifyStep.fields` and so differ per step.
2564
2564
  extract: []
2565
2565
  };
2566
- function co(e) {
2566
+ function lo(e) {
2567
2567
  return `${e.type}:${e.id}`;
2568
2568
  }
2569
- const lo = "interaction";
2570
- function uo(e) {
2571
- return e?.type === lo ? e.id : void 0;
2569
+ const uo = "interaction";
2570
+ function fo(e) {
2571
+ return e?.type === uo ? e.id : void 0;
2572
2572
  }
2573
- const fo = 64, po = 8e3;
2574
- function Bc(e) {
2573
+ const po = 64, mo = 8e3;
2574
+ function jc(e) {
2575
2575
  const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
2576
2576
  if (!(!Number.isFinite(t) || t <= 0))
2577
- return Math.min(Math.max(Math.round(t), fo), po);
2577
+ return Math.min(Math.max(Math.round(t), po), mo);
2578
2578
  }
2579
- const jc = { kind: "workflow", steps: [] };
2580
- function Hc(e) {
2579
+ const Hc = { kind: "workflow", steps: [] };
2580
+ function Gc(e) {
2581
2581
  return e?.kind === "workflow" ? e.steps : [];
2582
2582
  }
2583
- function Gc(e) {
2583
+ function Wc(e) {
2584
2584
  return e?.kind === "procedure" ? e.procedure : void 0;
2585
2585
  }
2586
- function Wc(e) {
2586
+ function zc(e) {
2587
2587
  return e.assignmentId ? "assignment" : e.decider?.kind === "procedure" ? "procedure" : "workflow";
2588
2588
  }
2589
- function mo(e) {
2589
+ function go(e) {
2590
2590
  const t = e?.approved ?? 0, n = t + (e?.rejected ?? 0);
2591
2591
  return { total: n, rate: n ? t / n : 0 };
2592
2592
  }
2593
- const go = 10, ho = 0.9;
2594
- function zc(e) {
2595
- const { total: t, rate: n } = mo(e);
2596
- return t >= go && n >= ho;
2597
- }
2598
- const yo = ["done", "escalated", "failed", "stopped"];
2593
+ const ho = 10, yo = 0.9;
2599
2594
  function Vc(e) {
2600
- return yo.includes(e);
2601
- }
2602
- function bo(e) {
2603
- return e === "waiting";
2595
+ const { total: t, rate: n } = go(e);
2596
+ return t >= ho && n >= yo;
2604
2597
  }
2598
+ const bo = ["done", "escalated", "failed", "stopped"];
2605
2599
  function Xc(e) {
2606
- return e === "running" || bo(e);
2600
+ return bo.includes(e);
2607
2601
  }
2608
- function Xt(e) {
2609
- return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
2602
+ function Ao(e) {
2603
+ return e === "waiting";
2610
2604
  }
2611
2605
  function Yc(e) {
2612
- const t = Xt(e);
2613
- return t ? co(t) : void 0;
2606
+ return e === "running" || Ao(e);
2607
+ }
2608
+ function Yt(e) {
2609
+ return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
2614
2610
  }
2615
2611
  function qc(e) {
2616
- return uo(Xt(e));
2612
+ const t = Yt(e);
2613
+ return t ? lo(t) : void 0;
2617
2614
  }
2618
2615
  function Qc(e) {
2616
+ return fo(Yt(e));
2617
+ }
2618
+ function Zc(e) {
2619
2619
  const t = [], n = /* @__PURE__ */ new Map();
2620
- for (const r of [...e].sort(Ao)) {
2620
+ for (const r of [...e].sort(_o)) {
2621
2621
  const o = n.get(r.emoji);
2622
2622
  if (o) {
2623
2623
  o.push(r.actor);
@@ -2630,58 +2630,98 @@ function Qc(e) {
2630
2630
  return { emoji: r, count: o.length, actors: o };
2631
2631
  }).sort((r, o) => o.count - r.count || t.indexOf(r.emoji) - t.indexOf(o.emoji));
2632
2632
  }
2633
- const Ao = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
2634
- function Zc(e, t) {
2633
+ const _o = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
2634
+ function Jc(e, t) {
2635
2635
  return t ? e.actors.some((n) => n.type === "user" && n.id === t) : !1;
2636
2636
  }
2637
- const Te = 6e4, _o = 36e5, X = 864e5, Yt = 800;
2638
- function lt(e, t) {
2637
+ const lt = 3;
2638
+ function el(e, t, n) {
2639
+ const r = [], o = e.depth ?? 0;
2640
+ if (o >= lt)
2641
+ return {
2642
+ matched: [],
2643
+ skipped: t.map((a) => ({
2644
+ ruleId: a.id,
2645
+ reason: `keten te diep (${o} van ${lt})`
2646
+ }))
2647
+ };
2648
+ const i = { event: e.payload, subject: e.subject ?? {} }, s = [];
2649
+ for (const a of t) {
2650
+ if (!a.enabled) {
2651
+ r.push({ ruleId: a.id, reason: "staat uit" });
2652
+ continue;
2653
+ }
2654
+ if (a.trigger.kind !== "event") {
2655
+ r.push({ ruleId: a.id, reason: `trigger "${a.trigger.kind}" draait hier niet` });
2656
+ continue;
2657
+ }
2658
+ if (a.trigger.name !== e.name) {
2659
+ r.push({ ruleId: a.id, reason: `luistert op ${a.trigger.name}` });
2660
+ continue;
2661
+ }
2662
+ if (e.causedByRule === a.id) {
2663
+ r.push({ ruleId: a.id, reason: "dit event komt van deze regel zelf" });
2664
+ continue;
2665
+ }
2666
+ if (!n(a.when ?? null, i)) {
2667
+ r.push({ ruleId: a.id, reason: "voorwaarde niet waar" });
2668
+ continue;
2669
+ }
2670
+ s.push({ rule: a, idempotencyKey: `${e.id}:${a.id}:${a.version}` });
2671
+ }
2672
+ return { matched: s, skipped: r };
2673
+ }
2674
+ function tl(e, t) {
2675
+ return { causedByRule: t, depth: (e.depth ?? 0) + 1 };
2676
+ }
2677
+ const Te = 6e4, Eo = 36e5, X = 864e5, qt = 800;
2678
+ function ut(e, t) {
2639
2679
  const n = Date.UTC(e, t + 1, 0);
2640
- return n - new Date(n).getUTCDay() * X + _o;
2680
+ return n - new Date(n).getUTCDay() * X + Eo;
2641
2681
  }
2642
- function Eo(e) {
2682
+ function So(e) {
2643
2683
  const t = new Date(e).getUTCFullYear();
2644
- return e >= lt(t, 2) && e < lt(t, 9);
2684
+ return e >= ut(t, 2) && e < ut(t, 9);
2645
2685
  }
2646
- function qt(e, t) {
2647
- const n = t.dst === "eu" && Eo(e) ? 60 : 0;
2686
+ function Qt(e, t) {
2687
+ const n = t.dst === "eu" && So(e) ? 60 : 0;
2648
2688
  return (t.utcOffsetMinutes + n) * Te;
2649
2689
  }
2650
- function So(e) {
2690
+ function To(e) {
2651
2691
  return (e + 3) % 7 + 1;
2652
2692
  }
2653
- function Qt(e, t) {
2654
- const n = qt(e, t), r = e + n, o = Math.floor(r / X);
2655
- if (!t.days.includes(So(o))) return null;
2693
+ function Zt(e, t) {
2694
+ const n = Qt(e, t), r = e + n, o = Math.floor(r / X);
2695
+ if (!t.days.includes(To(o))) return null;
2656
2696
  const i = o * X;
2657
2697
  return {
2658
2698
  open: i + t.fromMinutes * Te - n,
2659
2699
  close: i + t.toMinutes * Te - n
2660
2700
  };
2661
2701
  }
2662
- function Zt(e, t) {
2663
- const n = qt(e, t), r = e + n;
2702
+ function Jt(e, t) {
2703
+ const n = Qt(e, t), r = e + n;
2664
2704
  return (Math.floor(r / X) + 1) * X - n;
2665
2705
  }
2666
2706
  function Ie(e, t, n) {
2667
2707
  if (t <= e) return 0;
2668
2708
  if (!n) return t - e;
2669
2709
  let r = 0, o = e;
2670
- for (let i = 0; i < Yt && o < t; i++) {
2671
- const s = Qt(o, n);
2710
+ for (let i = 0; i < qt && o < t; i++) {
2711
+ const s = Zt(o, n);
2672
2712
  if (s) {
2673
2713
  const a = Math.max(o, s.open), u = Math.min(t, s.close);
2674
2714
  u > a && (r += u - a);
2675
2715
  }
2676
- o = Zt(o, n);
2716
+ o = Jt(o, n);
2677
2717
  }
2678
2718
  return r;
2679
2719
  }
2680
2720
  function $e(e, t, n) {
2681
2721
  if (!n) return e + t;
2682
2722
  let r = t, o = e;
2683
- for (let i = 0; i < Yt; i++) {
2684
- const s = Qt(o, n);
2723
+ for (let i = 0; i < qt; i++) {
2724
+ const s = Zt(o, n);
2685
2725
  if (s) {
2686
2726
  const a = Math.max(o, s.open);
2687
2727
  if (s.close > a) {
@@ -2690,65 +2730,65 @@ function $e(e, t, n) {
2690
2730
  r -= u;
2691
2731
  }
2692
2732
  }
2693
- o = Zt(o, n);
2733
+ o = Jt(o, n);
2694
2734
  }
2695
2735
  return e + t;
2696
2736
  }
2697
- function Jc(e) {
2737
+ function nl(e) {
2698
2738
  const t = /^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);
2699
2739
  return t ? Number(t[1]) * 60 + Number(t[2]) : null;
2700
2740
  }
2701
2741
  const ke = 1, we = 2, ve = 4;
2702
- function el(e) {
2742
+ function rl(e) {
2703
2743
  return e === "snoozed" ? ke : we;
2704
2744
  }
2705
2745
  function Le(e) {
2706
2746
  const t = e.calendar;
2707
2747
  return t && Array.isArray(t.days) ? t : null;
2708
2748
  }
2709
- const tl = [
2749
+ const ol = [
2710
2750
  "speed_of_answer",
2711
2751
  "first_response",
2712
2752
  "next_response",
2713
2753
  "resolution",
2714
2754
  "close"
2715
- ], nl = ["snoozed", "waiting_for_customer"], To = 6e4, Jt = ["speed_of_answer", "first_response", "next_response"], Io = [...Jt, "resolution", "close"];
2755
+ ], il = ["snoozed", "waiting_for_customer"], Io = 6e4, en = ["speed_of_answer", "first_response", "next_response"], ko = [...en, "resolution", "close"];
2716
2756
  function Y(e) {
2717
2757
  return e.state === "running" || e.state === "paused";
2718
2758
  }
2719
- function ko(e, t) {
2759
+ function wo(e, t) {
2720
2760
  return Y(e) ? { state: (e.state === "paused" ? e.remainingMs > 0 : t <= e.dueAt) ? "hit" : "missed", settledAt: Math.max(t, e.startedAt) } : null;
2721
2761
  }
2722
- function ut(e) {
2762
+ function dt(e) {
2723
2763
  return Y(e) ? { state: "void" } : null;
2724
2764
  }
2725
- function wo(e, t, n, r) {
2765
+ function vo(e, t, n, r) {
2726
2766
  if (!Y(e) || (e.pauseBits & t) !== 0) return null;
2727
2767
  const o = e.pauseBits | t;
2728
2768
  return e.state === "paused" ? { pauseBits: o } : { pauseBits: o, state: "paused", remainingMs: Ie(n, e.dueAt, r) };
2729
2769
  }
2730
- function vo(e, t, n, r) {
2770
+ function Mo(e, t, n, r) {
2731
2771
  if (!Y(e) || (e.pauseBits & t) === 0) return null;
2732
2772
  const o = e.pauseBits & ~t;
2733
2773
  return o !== 0 ? { pauseBits: o } : { pauseBits: o, state: "running", dueAt: $e(n, e.remainingMs, r) };
2734
2774
  }
2735
- function rl({ event: e, at: t, now: n, clocks: r, profile: o }) {
2775
+ function sl({ event: e, at: t, now: n, clocks: r, profile: o }) {
2736
2776
  const i = Le(o), s = Math.min(t, n), a = r.map((h) => ({ ...h })), u = [], l = (h, g) => {
2737
2777
  g && (u.push({ op: "patch", clockId: h.id, patch: g }), Object.assign(h, g));
2738
2778
  }, d = (h) => {
2739
2779
  for (const g of a)
2740
- g.metric === h && l(g, ko(g, s));
2780
+ g.metric === h && l(g, wo(g, s));
2741
2781
  }, c = (h) => {
2742
2782
  for (const g of a)
2743
- h.includes(g.metric) && l(g, ut(g));
2783
+ h.includes(g.metric) && l(g, dt(g));
2744
2784
  }, f = (h) => {
2745
- for (const g of a) l(g, wo(g, h, s, i));
2746
- }, p = (h) => {
2747
2785
  for (const g of a) l(g, vo(g, h, s, i));
2786
+ }, p = (h) => {
2787
+ for (const g of a) l(g, Mo(g, h, s, i));
2748
2788
  }, y = (h) => a.reduce((g, E) => E.metric === h ? Math.max(g, E.attempt) : g, 0) + 1, m = (h) => a.some((g) => g.metric === h && Y(g)), S = (h, g) => {
2749
2789
  const E = o.targets.find((C) => C.metric === h);
2750
2790
  if (!E) return;
2751
- const N = E.minutes * To;
2791
+ const N = E.minutes * Io;
2752
2792
  u.push({
2753
2793
  op: "start",
2754
2794
  metric: h,
@@ -2761,7 +2801,7 @@ function rl({ event: e, at: t, now: n, clocks: r, profile: o }) {
2761
2801
  switch (e) {
2762
2802
  case "apply": {
2763
2803
  for (const h of a)
2764
- h.profileId !== o.id && l(h, ut(h));
2804
+ h.profileId !== o.id && l(h, dt(h));
2765
2805
  for (const h of o.targets) {
2766
2806
  if (h.metric === "next_response") continue;
2767
2807
  a.some(
@@ -2785,7 +2825,7 @@ function rl({ event: e, at: t, now: n, clocks: r, profile: o }) {
2785
2825
  d("resolution");
2786
2826
  break;
2787
2827
  case "closed":
2788
- d("close"), d("resolution"), c(Jt);
2828
+ d("close"), d("resolution"), c(en);
2789
2829
  break;
2790
2830
  case "reopened":
2791
2831
  m("resolution") || S("resolution", s), m("close") || S("close", s);
@@ -2806,33 +2846,33 @@ function rl({ event: e, at: t, now: n, clocks: r, profile: o }) {
2806
2846
  p(ve);
2807
2847
  break;
2808
2848
  case "discarded":
2809
- c(Io);
2849
+ c(ko);
2810
2850
  break;
2811
2851
  }
2812
2852
  return u;
2813
2853
  }
2814
- function Mo(e) {
2854
+ function Co(e) {
2815
2855
  return e.state === "running" || e.state === "paused";
2816
2856
  }
2817
- function ol(e) {
2857
+ function al(e) {
2818
2858
  return (e.pauseBits & ve) !== 0;
2819
2859
  }
2820
2860
  function Me(e, t) {
2821
2861
  const n = Le(e);
2822
2862
  return e.state === "paused" ? e.remainingMs : t >= e.dueAt ? -Ie(e.dueAt, t, n) : Ie(t, e.dueAt, n);
2823
2863
  }
2824
- function il(e, t) {
2864
+ function cl(e, t) {
2825
2865
  return e.state === "paused" ? $e(t, e.remainingMs, Le(e)) : e.dueAt;
2826
2866
  }
2827
- function sl(e, t) {
2828
- const n = e.filter(Mo);
2867
+ function ll(e, t) {
2868
+ const n = e.filter(Co);
2829
2869
  if (!n.length) return;
2830
2870
  const r = n.filter((i) => i.state === "running");
2831
2871
  return (r.length ? r : n).reduce(
2832
2872
  (i, s) => Me(s, t) < Me(i, t) ? s : i
2833
2873
  );
2834
2874
  }
2835
- function al(e, t) {
2875
+ function ul(e, t) {
2836
2876
  if (e.state === "missed") return "breached";
2837
2877
  if (e.state === "hit") return "met";
2838
2878
  if (e.state === "paused") return "paused";
@@ -2840,41 +2880,41 @@ function al(e, t) {
2840
2880
  const n = Me(e, t);
2841
2881
  return n <= 0 ? "breached" : n <= e.targetMs / 5 ? "urgent" : "running";
2842
2882
  }
2843
- function cl(e) {
2883
+ function dl(e) {
2844
2884
  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);
2845
2885
  return n ? r ? `${n}d ${r}u` : `${n}d` : r ? o ? `${r}u ${o}m` : `${r}u` : o ? `${o}m` : `${t % 60}s`;
2846
2886
  }
2847
- const Co = "strategy_item";
2848
- function en(e) {
2849
- return `${Co}:${e}`;
2887
+ const Oo = "strategy_item";
2888
+ function tn(e) {
2889
+ return `${Oo}:${e}`;
2850
2890
  }
2851
- function ll(e, t = 25) {
2852
- const n = /* @__PURE__ */ new Set([en(e.id)]);
2891
+ function fl(e, t = 25) {
2892
+ const n = /* @__PURE__ */ new Set([tn(e.id)]);
2853
2893
  for (const r of e.ancestorKeys ?? []) n.add(r);
2854
2894
  return Array.from(n).slice(0, t);
2855
2895
  }
2856
- function ul(e) {
2857
- return e ? [...e.ancestorKeys ?? [], en(e.id)] : [];
2896
+ function pl(e) {
2897
+ return e ? [...e.ancestorKeys ?? [], tn(e.id)] : [];
2858
2898
  }
2859
2899
  const ie = [
2860
2900
  { key: "area", label: "level_area", order: 10, measurable: !1, icon: "compass" },
2861
2901
  { key: "objective", label: "level_objective", order: 20, measurable: !0, icon: "target" },
2862
2902
  { key: "key_result", label: "level_key_result", order: 30, measurable: !0, icon: "gauge" }
2863
- ], Oo = 999, No = 7;
2864
- function xo(e, t = ie) {
2903
+ ], No = 999, xo = 7;
2904
+ function Ro(e, t = ie) {
2865
2905
  return t.find((n) => n.key === e);
2866
2906
  }
2867
2907
  function Ce(e, t = ie) {
2868
- return xo(e, t)?.order ?? Oo;
2908
+ return Ro(e, t)?.order ?? No;
2869
2909
  }
2870
- function dl(e, t, n = ie) {
2910
+ function ml(e, t, n = ie) {
2871
2911
  return Ce(t, n) <= Ce(e, n);
2872
2912
  }
2873
- function fl(e, t = ie) {
2913
+ function gl(e, t = ie) {
2874
2914
  const n = Ce(e, t);
2875
2915
  return t.filter((o) => o.order > n).sort((o, i) => o.order - i.order)[0]?.key ?? e;
2876
2916
  }
2877
- function pl(e) {
2917
+ function hl(e) {
2878
2918
  const t = e.trim().toLowerCase();
2879
2919
  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;
2880
2920
  }
@@ -2887,74 +2927,74 @@ const Oe = {
2887
2927
  achieved: "closed",
2888
2928
  missed: "closed"
2889
2929
  };
2890
- function ml(e) {
2930
+ function yl(e) {
2891
2931
  return Oe[e] ?? "open";
2892
2932
  }
2893
- function gl(e) {
2933
+ function bl(e) {
2894
2934
  return Object.keys(Oe).filter(
2895
2935
  (t) => e.includes(Oe[t])
2896
2936
  );
2897
2937
  }
2898
- const Ro = 864e5, se = (e) => e <= 0 ? 0 : e > 1 ? 1 : e;
2899
- function hl(e, t) {
2938
+ const Do = 864e5, se = (e) => e <= 0 ? 0 : e > 1 ? 1 : e;
2939
+ function Al(e, t) {
2900
2940
  const { direction: n } = e, r = e.startValue ?? 0, o = e.targetValue ?? 0;
2901
2941
  if (!Number.isFinite(t)) return 0;
2902
2942
  const i = n === "down" ? t <= o : t >= o, s = o - r;
2903
2943
  return (n === "down" ? s < 0 : s > 0) ? se((t - r) / s) : i ? 1 : 0;
2904
2944
  }
2905
- function yl(e, t) {
2945
+ function _l(e, t) {
2906
2946
  const { startDate: n, targetDate: r } = e;
2907
2947
  if (!(typeof n != "number" || typeof r != "number") && !(r <= n))
2908
2948
  return se((t - n) / (r - n));
2909
2949
  }
2910
- const Do = 0.1, $o = 0.25;
2911
- function bl(e, t) {
2950
+ const $o = 0.1, Lo = 0.25;
2951
+ function El(e, t) {
2912
2952
  if (typeof e != "number" || typeof t != "number") return;
2913
2953
  if (e >= 1) return "achieved";
2914
2954
  const n = t - e;
2915
- return n >= $o ? "off_track" : n >= Do ? "at_risk" : "on_track";
2955
+ return n >= Lo ? "off_track" : n >= $o ? "at_risk" : "on_track";
2916
2956
  }
2917
- function Al(e, t) {
2957
+ function Sl(e, t) {
2918
2958
  if (t)
2919
2959
  return se(e / t);
2920
2960
  }
2921
- function _l(e) {
2961
+ function Tl(e) {
2922
2962
  const t = e.map((n) => n.progress?.ratio).filter((n) => typeof n == "number" && Number.isFinite(n));
2923
2963
  if (t.length)
2924
2964
  return se(t.reduce((n, r) => n + r, 0) / t.length);
2925
2965
  }
2926
- function El(e, t) {
2966
+ function Il(e, t) {
2927
2967
  const n = e.lastCheckInAt ?? e.createdAt;
2928
2968
  if (typeof n != "number") return 0;
2929
- const r = (e.checkInEveryDays ?? No) * Ro, o = t - n - r;
2969
+ const r = (e.checkInEveryDays ?? xo) * Do, o = t - n - r;
2930
2970
  return o > 0 ? o : 0;
2931
2971
  }
2932
- function Sl(e) {
2972
+ function kl(e) {
2933
2973
  return e.targetDate ?? Number.MAX_SAFE_INTEGER;
2934
2974
  }
2935
- function Tl(e, t) {
2975
+ function wl(e, t) {
2936
2976
  const n = e.accumulatedSeconds || 0;
2937
2977
  return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
2938
2978
  }
2939
- function Il(e, t) {
2979
+ function vl(e, t) {
2940
2980
  const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
2941
2981
  if (!t || t === "exact") return n * 60;
2942
2982
  const r = Number(t);
2943
2983
  return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
2944
2984
  }
2945
- function kl(e) {
2985
+ function Ml(e) {
2946
2986
  const t = Math.max(0, Math.round(e / 60));
2947
2987
  return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
2948
2988
  }
2949
- function wl(e) {
2989
+ function Cl(e) {
2950
2990
  const t = Math.max(0, Math.floor(e)), n = (i) => String(i).padStart(2, "0"), r = Math.floor(t / 60) % 60, o = Math.floor(t / 3600);
2951
2991
  return o > 0 ? `${o}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
2952
2992
  }
2953
- function Lo(e) {
2993
+ function Po(e) {
2954
2994
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
2955
2995
  }
2956
- function vl(e, t) {
2957
- const n = Lo(e) || "werksoort", r = new Set(t);
2996
+ function Ol(e, t) {
2997
+ const n = Po(e) || "werksoort", r = new Set(t);
2958
2998
  if (!r.has(n)) return n;
2959
2999
  for (let o = 2; o < 500; o++) {
2960
3000
  const i = `${n}-${o}`;
@@ -2962,57 +3002,57 @@ function vl(e, t) {
2962
3002
  }
2963
3003
  return `${n}-${r.size + 1}`;
2964
3004
  }
2965
- function Ml(e, t) {
3005
+ function Nl(e, t) {
2966
3006
  const n = e.ownerScope;
2967
3007
  return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
2968
3008
  }
2969
- function Cl(e) {
2970
- return e.filter((t) => !t.archived).sort(Po);
3009
+ function xl(e) {
3010
+ return e.filter((t) => !t.archived).sort(Ko);
2971
3011
  }
2972
- function Po(e, t) {
3012
+ function Ko(e, t) {
2973
3013
  const n = (e.order ?? 0) - (t.order ?? 0);
2974
3014
  return n !== 0 ? n : (e.label || "").localeCompare(t.label || "");
2975
3015
  }
2976
- const Ko = 20, Uo = 20, me = 300;
3016
+ const Uo = 20, Fo = 20, me = 300;
2977
3017
  function P(e) {
2978
3018
  return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
2979
3019
  }
2980
- function Fo(e) {
3020
+ function Bo(e) {
2981
3021
  const t = e.replace(/\s+/g, " ").trim();
2982
3022
  if (t.length <= me) return t;
2983
3023
  const n = t.slice(0, me), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
2984
3024
  return r > me * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
2985
3025
  }
2986
- function Ol(e, t) {
2987
- const n = Fo(t.text), r = P(n);
3026
+ function Rl(e, t) {
3027
+ const n = Bo(t.text), r = P(n);
2988
3028
  if (!r || (e.examples ?? []).some((s) => P(s) === r)) return null;
2989
3029
  const o = e.exampleCandidates ?? [], i = o.findIndex((s) => P(s.text) === r);
2990
3030
  if (i >= 0) {
2991
3031
  if (o[i].corrected || !t.corrected) return null;
2992
3032
  const s = [...o];
2993
- return s[i] = { ...s[i], corrected: !0, addedAt: t.addedAt }, dt(s);
3033
+ return s[i] = { ...s[i], corrected: !0, addedAt: t.addedAt }, ft(s);
2994
3034
  }
2995
- return dt([{ ...t, text: n }, ...o]).slice(0, Uo);
3035
+ return ft([{ ...t, text: n }, ...o]).slice(0, Fo);
2996
3036
  }
2997
- function dt(e) {
3037
+ function ft(e) {
2998
3038
  return [...e].sort(
2999
3039
  (t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt
3000
3040
  );
3001
3041
  }
3002
- function Nl(e, t) {
3042
+ function Dl(e, t) {
3003
3043
  const n = P(t), r = (e.examples ?? []).filter((i) => i.trim());
3004
- return { examples: r.some((i) => P(i) === n) ? r : [...r, t].slice(-Ko), exampleCandidates: Bo(e, t) };
3044
+ return { examples: r.some((i) => P(i) === n) ? r : [...r, t].slice(-Uo), exampleCandidates: jo(e, t) };
3005
3045
  }
3006
- function Bo(e, t) {
3046
+ function jo(e, t) {
3007
3047
  const n = P(t);
3008
3048
  return (e.exampleCandidates ?? []).filter((r) => P(r.text) !== n);
3009
3049
  }
3010
- function jo(e, t) {
3050
+ function Ho(e, t) {
3011
3051
  const n = e.ownerScope;
3012
3052
  return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
3013
3053
  }
3014
- function xl(e, t) {
3015
- return e.filter((n) => jo(n, t));
3054
+ function $l(e, t) {
3055
+ return e.filter((n) => Ho(n, t));
3016
3056
  }
3017
3057
  const Pe = [
3018
3058
  {
@@ -3053,11 +3093,11 @@ const Pe = [
3053
3093
  path: "invoices",
3054
3094
  issuedStatus: "open"
3055
3095
  }
3056
- ], Ho = ["quote", "order", "invoice"];
3057
- function Rl() {
3096
+ ], Go = ["quote", "order", "invoice"];
3097
+ function Ll() {
3058
3098
  const e = /* @__PURE__ */ new Map();
3059
3099
  for (const t of Pe)
3060
- Ho.includes(t.key) && (e.has(t.path) || e.set(t.path, t));
3100
+ Go.includes(t.key) && (e.has(t.path) || e.set(t.path, t));
3061
3101
  return [...e.values()];
3062
3102
  }
3063
3103
  function F(e) {
@@ -3071,10 +3111,10 @@ function F(e) {
3071
3111
  issuedStatus: "draft"
3072
3112
  };
3073
3113
  }
3074
- function Dl(e) {
3114
+ function Pl(e) {
3075
3115
  return e.issuedAt != null;
3076
3116
  }
3077
- const $l = [
3117
+ const Kl = [
3078
3118
  "status",
3079
3119
  "fileRef",
3080
3120
  "number",
@@ -3083,7 +3123,7 @@ const $l = [
3083
3123
  "dunning",
3084
3124
  "updatedAt"
3085
3125
  ];
3086
- function Go(e, t) {
3126
+ function Wo(e, t) {
3087
3127
  const n = F(t).signFlip !== F(e.kindKey).signFlip, r = e.lines.map((o) => ({
3088
3128
  ...o,
3089
3129
  quantity: n ? -o.quantity : o.quantity,
@@ -3122,9 +3162,9 @@ function Go(e, t) {
3122
3162
  source: e.source
3123
3163
  };
3124
3164
  }
3125
- function Ll(e) {
3165
+ function Ul(e) {
3126
3166
  return {
3127
- ...Go(e, e.kindKey),
3167
+ ...Wo(e, e.kindKey),
3128
3168
  sourceTransactionId: e.sourceTransactionId,
3129
3169
  previousVersionId: e.id,
3130
3170
  version: e.version + 1,
@@ -3132,7 +3172,7 @@ function Ll(e) {
3132
3172
  totals: e.totals
3133
3173
  };
3134
3174
  }
3135
- function Pl(e, t = {}) {
3175
+ function Fl(e, t = {}) {
3136
3176
  const n = F(e.kindKey), r = e.totals ?? { netCents: 0, taxCents: 0, grossCents: 0 };
3137
3177
  return {
3138
3178
  customer: {
@@ -3141,7 +3181,7 @@ function Pl(e, t = {}) {
3141
3181
  // One token per line of the address, plus `street` on its own for a template that wants
3142
3182
  // the house number elsewhere. Empty stays empty: `fillText` reports it as a hole, and a
3143
3183
  // recipient block missing its street is exactly what the issue gate has to refuse.
3144
- address: Vo(t.companyAddress),
3184
+ address: Xo(t.companyAddress),
3145
3185
  street: t.companyAddress?.street ?? "",
3146
3186
  house_number: t.companyAddress?.houseNumber ?? "",
3147
3187
  postal_code: t.companyAddress?.postalCode ?? "",
@@ -3178,7 +3218,7 @@ function Pl(e, t = {}) {
3178
3218
  }
3179
3219
  };
3180
3220
  }
3181
- function Kl(e, t = [], n = Wo) {
3221
+ function Bl(e, t = [], n = zo) {
3182
3222
  const r = e.totals ?? { netCents: 0, grossCents: 0, byRate: [] }, o = (a) => t.find((u) => u.key === a)?.percent ?? 0, i = {
3183
3223
  block_id: "lines",
3184
3224
  type: "table",
@@ -3193,8 +3233,8 @@ function Kl(e, t = [], n = Wo) {
3193
3233
  // A text line spans as a heading: empty money cells would read as "free".
3194
3234
  [a.name, "", "", ""]
3195
3235
  ) : [
3196
- zo(a.name, a.description, a.optional, n.optional),
3197
- Xo(a.quantity),
3236
+ Vo(a.name, a.description, a.optional, n.optional),
3237
+ Yo(a.quantity),
3198
3238
  D(a.unitPriceCents),
3199
3239
  D(a.netCents)
3200
3240
  ]
@@ -3213,7 +3253,7 @@ function Kl(e, t = [], n = Wo) {
3213
3253
  };
3214
3254
  return { lines: [i], totals: [s] };
3215
3255
  }
3216
- const Wo = {
3256
+ const zo = {
3217
3257
  description: "Omschrijving",
3218
3258
  optional: "optioneel",
3219
3259
  quantity: "Aantal",
@@ -3222,14 +3262,14 @@ const Wo = {
3222
3262
  tax: "Btw",
3223
3263
  gross: "Totaal"
3224
3264
  };
3225
- function zo(e, t, n, r) {
3265
+ function Vo(e, t, n, r) {
3226
3266
  const o = t ? `${e} — ${t}` : e;
3227
3267
  return n ? `${o} (${r})` : o;
3228
3268
  }
3229
- function Vo(e) {
3269
+ function Xo(e) {
3230
3270
  return e?.street ? [e.street, e.houseNumber].filter(Boolean).join(" ") : "";
3231
3271
  }
3232
- function Xo(e) {
3272
+ function Yo(e) {
3233
3273
  return Number.isInteger(e) ? String(e) : String(e).replace(".", ",");
3234
3274
  }
3235
3275
  function K(e) {
@@ -3237,14 +3277,14 @@ function K(e) {
3237
3277
  const t = new Date(e), n = (r) => String(r).padStart(2, "0");
3238
3278
  return `${n(t.getDate())}-${n(t.getMonth() + 1)}-${t.getFullYear()}`;
3239
3279
  }
3240
- function Yo(e) {
3280
+ function qo(e) {
3241
3281
  const t = F(e), n = t.key, r = t.numbered;
3242
3282
  return [
3243
3283
  {
3244
3284
  block_id: "head",
3245
3285
  type: "letterhead",
3246
3286
  fields: [
3247
- ...r ? [{ key: "number", label: qo[n]?.number ?? "Nummer", value: `{${n}.number}` }] : [],
3287
+ ...r ? [{ key: "number", label: Qo[n]?.number ?? "Nummer", value: `{${n}.number}` }] : [],
3248
3288
  { key: "date", label: "Datum", value: `{${n}.date}` },
3249
3289
  ...r ? [{ key: "due_date", label: "Vervaldatum", value: `{${n}.due_date}` }] : [{ key: "valid_until", label: "Geldig tot", value: `{${n}.valid_until}` }],
3250
3290
  { key: "reference", label: "Referentie", value: `{${n}.reference}` }
@@ -3257,7 +3297,7 @@ function Yo(e) {
3257
3297
  ]
3258
3298
  },
3259
3299
  { block_id: "title", type: "heading", level: 1, text: `{${n}.title}` },
3260
- { block_id: "intro", type: "paragraph", text: ft[n] ?? ft.quote },
3300
+ { block_id: "intro", type: "paragraph", text: pt[n] ?? pt.quote },
3261
3301
  /**
3262
3302
  * The service period, when there is one — a subscription invoice says which quarter it bills.
3263
3303
  *
@@ -3282,17 +3322,17 @@ function Yo(e) {
3282
3322
  text: `Betaling: {${n}.payment_term}. Wij verzoeken u het bedrag vóór {${n}.due_date} over te maken onder vermelding van {${n}.number}.`
3283
3323
  }
3284
3324
  ] : [],
3285
- { block_id: "terms", type: "paragraph", text: pt[n] ?? pt.quote }
3325
+ { block_id: "terms", type: "paragraph", text: mt[n] ?? mt.quote }
3286
3326
  ];
3287
3327
  }
3288
- const Ul = (e) => ({
3328
+ const jl = (e) => ({
3289
3329
  note: { key: `${F(e).key}.note`, exists: !0 },
3290
3330
  // Keyed on the start: a range without one is not a range, and `period_to` alone says nothing.
3291
3331
  period: { key: `${F(e).key}.period_from`, exists: !0 }
3292
- }), qo = {
3332
+ }), Qo = {
3293
3333
  invoice: { number: "Factuurnummer" },
3294
3334
  credit_note: { number: "Creditnotanummer" }
3295
- }, ft = {
3335
+ }, pt = {
3296
3336
  quote: `Beste {customer.contact},
3297
3337
 
3298
3338
  Hierbij onze offerte. Hieronder vindt u de specificatie.`,
@@ -3305,47 +3345,47 @@ Hierbij onze factuur. Hieronder vindt u de specificatie.`,
3305
3345
  credit_note: `Beste {customer.contact},
3306
3346
 
3307
3347
  Hierbij onze creditnota. De onderstaande bedragen worden met u verrekend.`
3308
- }, pt = {
3348
+ }, mt = {
3309
3349
  quote: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld. Deze offerte is geldig tot {quote.valid_until}.",
3310
3350
  order: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld.",
3311
3351
  invoice: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld.",
3312
3352
  credit_note: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld."
3313
- }, Fl = Yo("quote"), Qo = Pe.map((e) => e.key), Zo = "product";
3314
- function Jo(e, t) {
3353
+ }, Hl = qo("quote"), Zo = Pe.map((e) => e.key), Jo = "product";
3354
+ function ei(e, t) {
3315
3355
  return `${e}:${t}`;
3316
3356
  }
3317
- function Bl(e) {
3318
- return `${Zo}:${e}`;
3357
+ function Gl(e) {
3358
+ return `${Jo}:${e}`;
3319
3359
  }
3320
- function jl(e) {
3360
+ function Wl(e) {
3321
3361
  const t = e.indexOf(":");
3322
3362
  if (t < 0) return;
3323
3363
  const n = e.slice(0, t);
3324
- return Qo.includes(n) ? e.slice(t + 1) : void 0;
3364
+ return Zo.includes(n) ? e.slice(t + 1) : void 0;
3325
3365
  }
3326
- function Hl(e) {
3327
- const t = /* @__PURE__ */ new Set([Jo(e.kindKey, e.id)]);
3366
+ function zl(e) {
3367
+ const t = /* @__PURE__ */ new Set([ei(e.kindKey, e.id)]);
3328
3368
  return e.companyId && t.add(`company:${e.companyId}`), e.contactId && t.add(`contact:${e.contactId}`), e.dealItemId && t.add(`work_item:${e.dealItemId}`), Array.from(t);
3329
3369
  }
3330
- const Gl = 4;
3331
- function Wl(e, t) {
3370
+ const Vl = 4;
3371
+ function Xl(e, t) {
3332
3372
  const n = String(t).padStart(Math.max(1, e.padding), "0");
3333
3373
  return `${e.prefix}${e.period ? `${e.period}-` : ""}${n}`;
3334
3374
  }
3335
- function zl(e, t = Date.now()) {
3375
+ function Yl(e, t = Date.now()) {
3336
3376
  return e === "year" ? String(new Date(t).getFullYear()) : "";
3337
3377
  }
3338
- const Vl = [
3378
+ const ql = [
3339
3379
  "cash",
3340
3380
  "credit",
3341
3381
  "direct_debit",
3342
3382
  "card",
3343
3383
  "other"
3344
3384
  ];
3345
- function Xl(e, t) {
3385
+ function Ql(e, t) {
3346
3386
  return e + Math.max(0, Math.round(t)) * 24 * 60 * 60 * 1e3;
3347
3387
  }
3348
- function Yl(e, t) {
3388
+ function Zl(e, t) {
3349
3389
  const n = /* @__PURE__ */ new Map();
3350
3390
  for (const r of e) r.businessEntityId || n.set(r.code, r);
3351
3391
  if (t)
@@ -3353,10 +3393,10 @@ function Yl(e, t) {
3353
3393
  r.businessEntityId === t && n.set(r.code, r);
3354
3394
  return [...n.values()];
3355
3395
  }
3356
- function ql(e) {
3396
+ function Jl(e) {
3357
3397
  return { code: e.code, label: e.label, method: e.method, dueDays: e.dueDays };
3358
3398
  }
3359
- const Ql = [
3399
+ const eu = [
3360
3400
  {
3361
3401
  code: "14D",
3362
3402
  label: "Binnen 14 dagen",
@@ -3368,25 +3408,25 @@ const Ql = [
3368
3408
  { code: "30D", label: "Binnen 30 dagen", method: "credit", dueDays: 30, order: 1 },
3369
3409
  { code: "CONTANT", label: "Contant", method: "cash", dueDays: 0, order: 2 }
3370
3410
  ];
3371
- function Zl(e) {
3411
+ function tu(e) {
3372
3412
  return e.type === "agent";
3373
3413
  }
3374
- const Jl = "WORK_COMMENT_ADDED", eu = "WORK_ITEM_ASSIGNED", tu = "WORK_ITEM_STATUS_CHANGED";
3375
- function ei(e, t) {
3414
+ const nu = "WORK_COMMENT_ADDED", ru = "WORK_ITEM_ASSIGNED", ou = "WORK_ITEM_STATUS_CHANGED";
3415
+ function ti(e, t) {
3376
3416
  const n = (r) => {
3377
3417
  const o = new Date(r);
3378
3418
  return o.setHours(0, 0, 0, 0), o.getTime();
3379
3419
  };
3380
- return Math.round((n(e) - n(t)) / or);
3420
+ return Math.round((n(e) - n(t)) / ir);
3381
3421
  }
3382
- function nu(e, t) {
3422
+ function iu(e, t) {
3383
3423
  if (e.closedAt != null) return { score: L, reasons: [] };
3384
3424
  const n = t.remindersById?.[e.id];
3385
3425
  if (n && n.remindAt > t.now) return { score: L, reasons: [] };
3386
3426
  let r = 0;
3387
3427
  const o = [], i = e.priority ?? "normal";
3388
3428
  if (te[i] > 0 && (r += te[i], o.push(`priority:${i}`)), typeof e.dueDate == "number") {
3389
- const s = ei(e.dueDate, t.now);
3429
+ const s = ti(e.dueDate, t.now);
3390
3430
  s < 0 ? (r += 35, o.push("overdue")) : s === 0 && (r += 20, o.push("due-today"));
3391
3431
  }
3392
3432
  return e.source?.initiator === "system" && e.source.systemReason && (r += 15, o.push(`auto:${e.source.systemReason}`)), { score: r, reasons: o };
@@ -3399,35 +3439,35 @@ const Ke = [
3399
3439
  { key: "subtask", label: "type_subtask" },
3400
3440
  { key: "case", label: "type_case" },
3401
3441
  { key: "deal", label: "type_deal" }
3402
- ], ru = Ke.map((e) => e.key);
3403
- function ou(e) {
3442
+ ], su = Ke.map((e) => e.key);
3443
+ function au(e) {
3404
3444
  return e?.types?.length ? e.types : Ke;
3405
3445
  }
3406
- function iu(e, t) {
3446
+ function cu(e, t) {
3407
3447
  return t.find((n) => n.key === e);
3408
3448
  }
3409
- function su(e) {
3449
+ function lu(e) {
3410
3450
  const t = e.trim().toLowerCase();
3411
3451
  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;
3412
3452
  }
3413
- function au(...e) {
3453
+ function uu(...e) {
3414
3454
  return e.map((t) => Ke.find((n) => n.key === t)).filter((t) => !!t);
3415
3455
  }
3416
- const ti = "work_item", ni = "work_project", ri = "work_activity", cu = "work_cycle";
3417
- function oi(e) {
3418
- return `${ti}:${e}`;
3419
- }
3420
- function tn(e) {
3456
+ const ni = "work_item", ri = "work_project", oi = "work_activity", du = "work_cycle";
3457
+ function ii(e) {
3421
3458
  return `${ni}:${e}`;
3422
3459
  }
3423
- function lu(e) {
3460
+ function nn(e) {
3424
3461
  return `${ri}:${e}`;
3425
3462
  }
3426
- function uu(e, t, n) {
3463
+ function fu(e) {
3464
+ return `${oi}:${e}`;
3465
+ }
3466
+ function pu(e, t, n) {
3427
3467
  const r = `${e}-${t}`;
3428
3468
  return n ? `${r}-${n}` : r;
3429
3469
  }
3430
- function du(e) {
3470
+ function mu(e) {
3431
3471
  const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
3432
3472
  return t ? {
3433
3473
  projectKey: t[1].toUpperCase(),
@@ -3435,52 +3475,52 @@ function du(e) {
3435
3475
  ...t[3] ? { subSequence: Number(t[3]) } : {}
3436
3476
  } : null;
3437
3477
  }
3438
- function fu(e) {
3478
+ function gu(e) {
3439
3479
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
3440
3480
  }
3441
- function pu(e, t = 25) {
3442
- const n = /* @__PURE__ */ new Set([oi(e.id)]);
3443
- e.projectId && n.add(tn(e.projectId));
3481
+ function hu(e, t = 25) {
3482
+ const n = /* @__PURE__ */ new Set([ii(e.id)]);
3483
+ e.projectId && n.add(nn(e.projectId));
3444
3484
  for (const r of e.ancestorKeys ?? []) n.add(r);
3445
3485
  for (const r of e.partyKeys ?? []) n.add(r);
3446
3486
  return Array.from(n).slice(0, t);
3447
3487
  }
3448
- function mu(e) {
3449
- return [tn(e.id)];
3488
+ function yu(e) {
3489
+ return [nn(e.id)];
3450
3490
  }
3451
3491
  const Ue = [
3452
3492
  { key: "open", label: "status_open", category: "todo", order: 0 },
3453
3493
  { key: "in_progress", label: "status_in_progress", category: "in_progress", order: 1 },
3454
3494
  { key: "done", label: "status_done", category: "done", order: 2 },
3455
3495
  { key: "cancelled", label: "status_cancelled", category: "done", order: 3 }
3456
- ], nn = Ue.map((e) => e.key);
3457
- function ii(e) {
3496
+ ], rn = Ue.map((e) => e.key);
3497
+ function si(e) {
3458
3498
  return e?.statuses?.length ? e.statuses : Ue;
3459
3499
  }
3460
- function si(e, t) {
3500
+ function ai(e, t) {
3461
3501
  return t.find((n) => n.key === e)?.category ?? "todo";
3462
3502
  }
3463
- function gu(e, t) {
3503
+ function bu(e, t) {
3464
3504
  return t.find((n) => n.key === e);
3465
3505
  }
3466
- function hu(e) {
3467
- const t = ii(e), n = e?.defaultStatusKey;
3468
- return n && t.some((r) => r.key === n) ? n : ai(t)[0]?.key ?? Ue[0].key;
3506
+ function Au(e) {
3507
+ const t = si(e), n = e?.defaultStatusKey;
3508
+ return n && t.some((r) => r.key === n) ? n : ci(t)[0]?.key ?? Ue[0].key;
3469
3509
  }
3470
- function ai(e) {
3510
+ function ci(e) {
3471
3511
  return [...e].sort((t, n) => {
3472
3512
  const r = (t.order ?? 0) - (n.order ?? 0);
3473
3513
  return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
3474
3514
  });
3475
3515
  }
3476
- function yu(e, t) {
3477
- return si(e, t) === "done";
3516
+ function _u(e, t) {
3517
+ return ai(e, t) === "done";
3478
3518
  }
3479
- function ci(e) {
3519
+ function li(e) {
3480
3520
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
3481
3521
  }
3482
- function bu(e, t) {
3483
- const n = ci(e) || "status", r = /* @__PURE__ */ new Set([...t, ...nn]);
3522
+ function Eu(e, t) {
3523
+ const n = li(e) || "status", r = /* @__PURE__ */ new Set([...t, ...rn]);
3484
3524
  if (!r.has(n)) return n;
3485
3525
  for (let o = 2; o < 500; o++) {
3486
3526
  const i = `${n}-${o}`;
@@ -3488,7 +3528,7 @@ function bu(e, t) {
3488
3528
  }
3489
3529
  return `${n}-${r.size + 1}`;
3490
3530
  }
3491
- function Au(e) {
3531
+ function Su(e) {
3492
3532
  const t = [];
3493
3533
  if (!e.length) return [{ index: -1, reason: "empty" }];
3494
3534
  const n = /* @__PURE__ */ new Set();
@@ -3497,19 +3537,19 @@ function Au(e) {
3497
3537
  t.push({ index: o, reason: "missing_key" });
3498
3538
  return;
3499
3539
  }
3500
- nn.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);
3540
+ rn.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);
3501
3541
  }), 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;
3502
3542
  }
3503
- function _u(e, t) {
3543
+ function Tu(e, t) {
3504
3544
  return t.find((n) => n.key === e)?.requiresApproval === !0;
3505
3545
  }
3506
- function Eu(e) {
3546
+ function Iu(e) {
3507
3547
  return e.startDate ?? Number.MAX_SAFE_INTEGER;
3508
3548
  }
3509
- function Su(e) {
3549
+ function ku(e) {
3510
3550
  return e.completedAt ? "completed" : e.startedAt ? "active" : "planned";
3511
3551
  }
3512
- const li = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), ui = /* @__PURE__ */ new Set([
3552
+ const ui = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), di = /* @__PURE__ */ new Set([
3513
3553
  "text/plain",
3514
3554
  "text/markdown",
3515
3555
  "text/csv",
@@ -3518,70 +3558,70 @@ const li = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
3518
3558
  "application/xml",
3519
3559
  "text/xml"
3520
3560
  ]);
3521
- function di(e) {
3561
+ function fi(e) {
3522
3562
  const t = (e ?? "").trim().toLowerCase().split(";")[0];
3523
- return t ? li.has(t) ? "image" : t === "application/pdf" ? "pdf" : ui.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
3563
+ return t ? ui.has(t) ? "image" : t === "application/pdf" ? "pdf" : di.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
3524
3564
  }
3525
- const j = 1024 * 1024, fi = {
3565
+ const j = 1024 * 1024, pi = {
3526
3566
  image: 5 * j,
3527
3567
  pdf: 20 * j,
3528
3568
  text: 1 * j,
3529
3569
  audio: 20 * j
3530
- }, Tu = 25 * j, Iu = 5;
3531
- function ku(e, t) {
3532
- const n = di(e);
3533
- return n === "unsupported" ? "unsupported" : t > fi[n] ? "too-large" : null;
3570
+ }, wu = 25 * j, vu = 5;
3571
+ function Mu(e, t) {
3572
+ const n = fi(e);
3573
+ return n === "unsupported" ? "unsupported" : t > pi[n] ? "too-large" : null;
3534
3574
  }
3535
- function wu(e) {
3575
+ function Cu(e) {
3536
3576
  return e.access === "read" ? "idempotent" : e.reversible ?? "none";
3537
3577
  }
3538
- function pi(e) {
3578
+ function mi(e) {
3539
3579
  return e.access !== "read" && e.effect !== "internal";
3540
3580
  }
3541
- function mi(e) {
3581
+ function gi(e) {
3542
3582
  return `${e.kind}:${e.id || e.url || e.title}`;
3543
3583
  }
3544
- function vu(e, t = []) {
3584
+ function Ou(e, t = []) {
3545
3585
  const n = new Set(t), r = [], o = [];
3546
3586
  for (const i of e) {
3547
- const s = mi(i);
3587
+ const s = gi(i);
3548
3588
  n.has(s) || (n.add(s), r.push(i), o.push(s));
3549
3589
  }
3550
3590
  return { sources: r, keys: o };
3551
3591
  }
3552
- const Mu = "assist-source", Cu = ["blocking", "due", "open"];
3553
- function Ou(e, t) {
3592
+ const Nu = "assist-source", xu = ["blocking", "due", "open"];
3593
+ function Ru(e, t) {
3554
3594
  const [n, r] = (e.subjectKey ?? "").split(":");
3555
3595
  return n === t && r ? r : void 0;
3556
3596
  }
3557
- const mt = { blocking: 0, due: 1, open: 2 };
3558
- function Nu(e, t) {
3559
- return mt[e.band ?? "open"] - mt[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
3597
+ const gt = { blocking: 0, due: 1, open: 2 };
3598
+ function Du(e, t) {
3599
+ return gt[e.band ?? "open"] - gt[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
3560
3600
  }
3561
- function xu(e) {
3601
+ function $u(e) {
3562
3602
  return e.sessions.filter(
3563
3603
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
3564
3604
  );
3565
3605
  }
3566
- function Ru(e) {
3606
+ function Lu(e) {
3567
3607
  return e.sessions.filter(
3568
3608
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
3569
3609
  );
3570
3610
  }
3571
- function Du(e) {
3611
+ function Pu(e) {
3572
3612
  return e.sessions.some(
3573
3613
  (n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
3574
3614
  ) ? { admit: !1, reason: "busy" } : { admit: !0 };
3575
3615
  }
3576
- function gi(e, t) {
3577
- const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((s) => !n.has(s.intent)).map((s) => yi(s, r[s.intent]));
3616
+ function hi(e, t) {
3617
+ const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((s) => !n.has(s.intent)).map((s) => bi(s, r[s.intent]));
3578
3618
  if (!e.extraIntents || e.extraIntents.length === 0) return o;
3579
3619
  const i = new Set(o.map((s) => s.intent));
3580
3620
  for (const s of e.extraIntents)
3581
3621
  i.has(s.intent) || (o.push(s), i.add(s.intent));
3582
3622
  return o;
3583
3623
  }
3584
- function hi(e, t) {
3624
+ function yi(e, t) {
3585
3625
  const n = {};
3586
3626
  for (const r of e.intents) {
3587
3627
  if (!r.togglable) continue;
@@ -3590,46 +3630,46 @@ function hi(e, t) {
3590
3630
  }
3591
3631
  return n;
3592
3632
  }
3593
- function $u(e, t) {
3594
- const n = hi(e, t);
3633
+ function Ku(e, t) {
3634
+ const n = yi(e, t);
3595
3635
  return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
3596
3636
  }
3597
- function yi(e, t) {
3637
+ function bi(e, t) {
3598
3638
  return t ? {
3599
3639
  intent: t.intent ?? e.intent,
3600
3640
  targetSchemes: t.targetSchemes ?? e.targetSchemes,
3601
3641
  transport: t.transport ?? e.transport
3602
3642
  } : e;
3603
3643
  }
3604
- function Lu(e, t) {
3644
+ function Uu(e, t) {
3605
3645
  const n = [];
3606
3646
  for (const r of e) {
3607
3647
  if (!r.enabled) continue;
3608
3648
  const o = t[r.providerId];
3609
3649
  if (o)
3610
- for (const i of gi(r, o))
3650
+ for (const i of hi(r, o))
3611
3651
  n.push({ channel: r, description: o, capability: i });
3612
3652
  }
3613
3653
  return n;
3614
3654
  }
3615
- function Pu(e, t) {
3655
+ function Fu(e, t) {
3616
3656
  return t.filter((n) => n.capability.intent === e);
3617
3657
  }
3618
- function bi(e, t) {
3658
+ function Ai(e, t) {
3619
3659
  return t.filter((n) => n.capability.targetSchemes.includes(e));
3620
3660
  }
3621
- function Ku(e, t) {
3622
- return bi(e.scheme, t);
3661
+ function Bu(e, t) {
3662
+ return Ai(e.scheme, t);
3623
3663
  }
3624
- function Uu(e, t, n) {
3664
+ function ju(e, t, n) {
3625
3665
  const r = [];
3626
3666
  for (const o of e)
3627
3667
  for (const i of n)
3628
3668
  i.capability.intent === t && i.capability.targetSchemes.includes(o.scheme) && r.push({ channelIntent: i, endpoint: o });
3629
3669
  return r;
3630
3670
  }
3631
- var Ai = /* @__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))(Ai || {});
3632
- const _i = {
3671
+ var _i = /* @__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))(_i || {});
3672
+ const Ei = {
3633
3673
  mailto: "mail",
3634
3674
  sip: "tel",
3635
3675
  tel: "tel",
@@ -3650,10 +3690,10 @@ const _i = {
3650
3690
  id: "note",
3651
3691
  custom: "note"
3652
3692
  };
3653
- function Fu(e) {
3654
- return e ? _i[e] ?? "note" : "note";
3693
+ function Hu(e) {
3694
+ return e ? Ei[e] ?? "note" : "note";
3655
3695
  }
3656
- const Bu = "message_window", ju = "message_templates", Hu = {
3696
+ const Gu = "message_window", Wu = "message_templates", zu = {
3657
3697
  // E-mail
3658
3698
  FROM: "from",
3659
3699
  TO: "to",
@@ -3670,11 +3710,11 @@ const Bu = "message_window", ju = "message_templates", Hu = {
3670
3710
  // Voice/conference
3671
3711
  HOST: "host",
3672
3712
  PARTICIPANT: "participant"
3673
- }, Gu = (e, t) => ({ intent: e, ...t }), Wu = "folder_management", zu = "remote_search", Vu = "message_reactions", Xu = {
3713
+ }, Vu = (e, t) => ({ intent: e, ...t }), Xu = "folder_management", Yu = "remote_search", qu = "message_reactions", Qu = {
3674
3714
  ok: !1,
3675
3715
  code: "UNSUPPORTED",
3676
3716
  message: "Provider does not support this op"
3677
- }, Yu = "connector", qu = "context.collect", _ = (e) => ({ type: "string", description: e }), A = (e) => ({ type: "number", description: e }), J = (e) => ({ type: "boolean", description: e }), M = _("Sheet name. Omit for the sheet the user is looking at."), gt = _("Slide id, as `inspect` reports it.");
3717
+ }, Zu = "connector", Ju = "context.collect", _ = (e) => ({ type: "string", description: e }), A = (e) => ({ type: "number", description: e }), J = (e) => ({ type: "boolean", description: e }), M = _("Sheet name. Omit for the sheet the user is looking at."), ht = _("Slide id, as `inspect` reports it.");
3678
3718
  function b(e, t, n, r, o, i) {
3679
3719
  return {
3680
3720
  op: e,
@@ -3685,7 +3725,7 @@ function b(e, t, n, r, o, i) {
3685
3725
  visible: i.visible
3686
3726
  };
3687
3727
  }
3688
- const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht = { undoable: !1, visible: !0 }, re = { undoable: !1, visible: !1 }, Ei = [
3728
+ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, yt = { undoable: !1, visible: !0 }, re = { undoable: !1, visible: !1 }, Si = [
3689
3729
  b(
3690
3730
  "pdf.goToPage",
3691
3731
  ["pdf"],
@@ -3742,7 +3782,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3742
3782
  }
3743
3783
  },
3744
3784
  ["order"],
3745
- ht
3785
+ yt
3746
3786
  ),
3747
3787
  b(
3748
3788
  "pdf.deletePages",
@@ -3750,7 +3790,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3750
3790
  "Remove pages, keeping the rest in order.",
3751
3791
  { pages: { type: "array", items: { type: "number" }, description: "1-based page numbers." } },
3752
3792
  ["pages"],
3753
- ht
3793
+ yt
3754
3794
  ),
3755
3795
  b(
3756
3796
  "pdf.addNote",
@@ -3780,7 +3820,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3780
3820
  ["page", "text"],
3781
3821
  re
3782
3822
  )
3783
- ], Si = [
3823
+ ], Ti = [
3784
3824
  b(
3785
3825
  "sheet.setValues",
3786
3826
  ["sheet"],
@@ -3932,7 +3972,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3932
3972
  [],
3933
3973
  H
3934
3974
  )
3935
- ], Ti = [
3975
+ ], Ii = [
3936
3976
  b(
3937
3977
  "word.replaceParagraph",
3938
3978
  ["word"],
@@ -3994,13 +4034,13 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3994
4034
  ["start"],
3995
4035
  H
3996
4036
  )
3997
- ], Ii = [
4037
+ ], ki = [
3998
4038
  b(
3999
4039
  "slides.setText",
4000
4040
  ["slides"],
4001
4041
  "Replace the text of one shape. Written on save; not visible before that, and not undoable.",
4002
4042
  {
4003
- slide: gt,
4043
+ slide: ht,
4004
4044
  element: _("Element id, as `inspect` reports it."),
4005
4045
  text: _("The new text.")
4006
4046
  },
@@ -4012,7 +4052,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
4012
4052
  ["slides"],
4013
4053
  "Move or resize one shape. Only the values you pass change. Written on save; not visible before that, and not undoable.",
4014
4054
  {
4015
- slide: gt,
4055
+ slide: ht,
4016
4056
  element: _("Element id."),
4017
4057
  left: A("Distance from the left edge, in pixels."),
4018
4058
  top: A("Distance from the top edge, in pixels."),
@@ -4022,24 +4062,24 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
4022
4062
  ["slide", "element"],
4023
4063
  re
4024
4064
  )
4025
- ], rn = [
4026
- ...Ei,
4065
+ ], on = [
4027
4066
  ...Si,
4028
4067
  ...Ti,
4029
- ...Ii
4068
+ ...Ii,
4069
+ ...ki
4030
4070
  ];
4031
- function Qu(e) {
4032
- return rn.filter((t) => t.kinds.includes(e));
4071
+ function ed(e) {
4072
+ return on.filter((t) => t.kinds.includes(e));
4033
4073
  }
4034
- function Zu(e) {
4035
- return rn.find((t) => t.op === e);
4074
+ function td(e) {
4075
+ return on.find((t) => t.op === e);
4036
4076
  }
4037
- const yt = /(?: {2,}|\\)$/, ki = /^\*\*([^*]+)\*\*\s+(.*)$/;
4038
- function bt(e) {
4039
- const t = ki.exec(e);
4077
+ const bt = /(?: {2,}|\\)$/, wi = /^\*\*([^*]+)\*\*\s+(.*)$/;
4078
+ function At(e) {
4079
+ const t = wi.exec(e);
4040
4080
  return t ? { lead: t[1], text: t[2] } : { text: e };
4041
4081
  }
4042
- function Ju(e) {
4082
+ function nd(e) {
4043
4083
  const t = (e ?? "").replace(/\r\n/g, `
4044
4084
  `).split(`
4045
4085
  `), n = [];
@@ -4047,7 +4087,7 @@ function Ju(e) {
4047
4087
  const o = () => {
4048
4088
  r && n.push({ type: "list", style: r.style, items: r.items }), r = null;
4049
4089
  }, i = (f, p) => {
4050
- r && r.style !== f && o(), r ? r.items.push(bt(p)) : r = { style: f, items: [bt(p)] };
4090
+ r && r.style !== f && o(), r ? r.items.push(At(p)) : r = { style: f, items: [At(p)] };
4051
4091
  };
4052
4092
  let s = [], a = [];
4053
4093
  const u = () => {
@@ -4112,33 +4152,33 @@ function Ju(e) {
4112
4152
  continue;
4113
4153
  }
4114
4154
  l(), o();
4115
- const S = yt.test(f);
4116
- s.push(f.replace(yt, "").trim() + (S ? `
4155
+ const S = bt.test(f);
4156
+ s.push(f.replace(bt, "").trim() + (S ? `
4117
4157
  ` : " ")), c++;
4118
4158
  }
4119
4159
  return d(), n;
4120
4160
  }
4121
- function ed(e, t) {
4122
- return Fn(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, `
4161
+ function rd(e, t) {
4162
+ return Bn(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, `
4123
4163
 
4124
4164
  `).trim();
4125
4165
  }
4126
- const td = "documents.describe", nd = "documents.inspect", rd = "documents.apply";
4127
- function od(e) {
4166
+ const od = "documents.describe", id = "documents.inspect", sd = "documents.apply";
4167
+ function ad(e) {
4128
4168
  const t = e.indexOf(":");
4129
4169
  if (t !== -1) return e.slice(0, t);
4130
4170
  const n = e.indexOf(".");
4131
4171
  return n === -1 ? e : e.slice(0, n);
4132
4172
  }
4133
- const id = "installation-id";
4134
- function sd(e) {
4173
+ const cd = "installation-id";
4174
+ function ld(e) {
4135
4175
  const t = [];
4136
4176
  for (const n of Object.keys(e))
4137
4177
  for (const r of Object.keys(e[n]))
4138
4178
  t.push({ lang: n, key: r, value: e[n][r] });
4139
4179
  return t;
4140
4180
  }
4141
- const ad = "notification-source", cd = (e, t) => `${e}.pref.${t}`, ld = {
4181
+ const ud = "notification-source", dd = (e, t) => `${e}.pref.${t}`, fd = {
4142
4182
  ai: [
4143
4183
  "account.read",
4144
4184
  "account.write",
@@ -4273,48 +4313,48 @@ const ad = "notification-source", cd = (e, t) => `${e}.pref.${t}`, ld = {
4273
4313
  time: ["entry.read", "entry.write", "work-type.read", "work-type.write"],
4274
4314
  user: ["user.read", "user.write"],
4275
4315
  work: ["item.read", "item.write", "project.read", "project.write"]
4276
- }, on = 9e4, wi = ["out_of_office"], sn = (e) => wi.includes(e);
4277
- function ud(e, t, n) {
4278
- const r = n - e < on, o = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
4316
+ }, sn = 9e4, vi = ["out_of_office"], an = (e) => vi.includes(e);
4317
+ function pd(e, t, n) {
4318
+ const r = n - e < sn, o = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
4279
4319
  if (!o?.status) return { online: r, status: r ? "available" : "offline" };
4280
4320
  const i = o.status;
4281
- return !r && !sn(i) ? { online: !1, status: "offline" } : { online: r, status: i, message: o.message };
4321
+ return !r && !an(i) ? { online: !1, status: "offline" } : { online: r, status: i, message: o.message };
4282
4322
  }
4283
- function dd(e, t) {
4284
- const n = t - e.lastSeenAt < on, r = n || sn(e.status) ? e.status : "offline";
4323
+ function md(e, t) {
4324
+ const n = t - e.lastSeenAt < sn, r = n || an(e.status) ? e.status : "offline";
4285
4325
  return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
4286
4326
  }
4287
- function fd(e, t) {
4327
+ function gd(e, t) {
4288
4328
  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 };
4289
4329
  }
4290
- function pd(e) {
4330
+ function hd(e) {
4291
4331
  return e.providerAvailable && e.allowed;
4292
4332
  }
4293
- const md = "resources.describe", gd = "resources.search", hd = "resources.resolve", yd = "resources.attached";
4294
- function bd(e) {
4333
+ const yd = "resources.describe", bd = "resources.search", Ad = "resources.resolve", _d = "resources.attached";
4334
+ function Ed(e) {
4295
4335
  const t = e.indexOf(":");
4296
4336
  return t === -1 ? e : e.slice(0, t);
4297
4337
  }
4298
- const Ad = "/provider/scope/related", _d = "/provider/scope/read", Ed = "/provider/scope/acts", an = "auth";
4299
- function cn(e) {
4338
+ const Sd = "/provider/scope/related", Td = "/provider/scope/read", Id = "/provider/scope/acts", cn = "auth";
4339
+ function ln(e) {
4300
4340
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
4301
4341
  return t ? t[1] : null;
4302
4342
  }
4303
- function Sd(e) {
4304
- const t = cn(e);
4305
- return t ? t !== an : typeof e == "string" && e.startsWith("/wake");
4343
+ function kd(e) {
4344
+ const t = ln(e);
4345
+ return t ? t !== cn : typeof e == "string" && e.startsWith("/wake");
4306
4346
  }
4307
- function Td(e) {
4308
- return typeof e != "string" || e === "" || e === "/" ? !0 : cn(e) === an;
4347
+ function wd(e) {
4348
+ return typeof e != "string" || e === "" || e === "/" ? !0 : ln(e) === cn;
4309
4349
  }
4310
- function vi(e) {
4350
+ function Mi(e) {
4311
4351
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
4312
4352
  }
4313
- function Mi(e) {
4314
- const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${vi(r)}`).join("");
4353
+ function Ci(e) {
4354
+ const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${Mi(r)}`).join("");
4315
4355
  return new RegExp(`^${n}\\/?$`);
4316
4356
  }
4317
- function Ci(e, t) {
4357
+ function Oi(e, t) {
4318
4358
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean), o = {};
4319
4359
  return n.forEach((i, s) => {
4320
4360
  if (i.startsWith(":")) {
@@ -4323,14 +4363,14 @@ function Ci(e, t) {
4323
4363
  }
4324
4364
  }), o;
4325
4365
  }
4326
- function Oi(e) {
4366
+ function Ni(e) {
4327
4367
  return e.publicBasePath ?? `/apps/${e.name}`;
4328
4368
  }
4329
- function Id(e) {
4369
+ function vd(e) {
4330
4370
  const t = [];
4331
4371
  for (const n of e) {
4332
4372
  if (!n?.name) continue;
4333
- const r = Oi(n);
4373
+ const r = Ni(n);
4334
4374
  for (const o of n.routes ?? []) {
4335
4375
  if (!o.public) continue;
4336
4376
  const i = o.path === "/" ? "" : o.path;
@@ -4344,7 +4384,7 @@ function Id(e) {
4344
4384
  }
4345
4385
  return t;
4346
4386
  }
4347
- function Ni(e, t) {
4387
+ function xi(e, t) {
4348
4388
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean);
4349
4389
  for (let o = 0; o < Math.min(n.length, r.length); o++) {
4350
4390
  const i = n[o].startsWith(":"), s = r[o].startsWith(":");
@@ -4352,32 +4392,32 @@ function Ni(e, t) {
4352
4392
  }
4353
4393
  return n.length > r.length;
4354
4394
  }
4355
- function xi(e, t) {
4395
+ function Ri(e, t) {
4356
4396
  if (typeof e != "string") return null;
4357
4397
  let n = null;
4358
4398
  for (const r of t)
4359
- Mi(r.pattern).test(e) && (!n || Ni(r.pattern, n.pattern)) && (n = r);
4360
- return n ? { ...n, params: { ...n.props, ...Ci(n.pattern, e) } } : null;
4399
+ Ci(r.pattern).test(e) && (!n || xi(r.pattern, n.pattern)) && (n = r);
4400
+ return n ? { ...n, params: { ...n.props, ...Oi(n.pattern, e) } } : null;
4361
4401
  }
4362
- function kd(e, t) {
4363
- return xi(e, t) !== null;
4402
+ function Md(e, t) {
4403
+ return Ri(e, t) !== null;
4364
4404
  }
4365
- const wd = 10 * 1024 * 1024, vd = 25 * 1024 * 1024, Md = "sync-target", Cd = 20;
4366
- function At(e, t) {
4405
+ const Cd = 10 * 1024 * 1024, Od = 25 * 1024 * 1024, Nd = "sync-target", xd = 20;
4406
+ function _t(e, t) {
4367
4407
  const n = Array.isArray(t) ? t.find((r) => r.name === e.name)?.policy : void 0;
4368
4408
  return n ? n !== "read" : e.access ? e.access !== "read" : !0;
4369
4409
  }
4370
- function Ri(e) {
4410
+ function Di(e) {
4371
4411
  return e.produces === "draft";
4372
4412
  }
4373
- function Od(e, t) {
4413
+ function Rd(e, t) {
4374
4414
  if (t.allowed) {
4375
4415
  const n = t.personalTools === "allow" && e.personal === !0;
4376
4416
  if (!t.allowed.has(e.name) && !n) return "hidden";
4377
4417
  }
4378
- return t.narrow && !t.narrow.has(e.name) || !t.attended && (e.personal === !0 || e.surface === "interactive") || t.readOnly && e.access !== "read" || t.mode === "ask" && At(e) || t.mode === "draft" && (pi(e) || e.access !== "read" && !Ri(e)) ? "hidden" : At(e, t.policy) && t.gate ? "held" : "free";
4418
+ return t.narrow && !t.narrow.has(e.name) || !t.attended && (e.personal === !0 || e.surface === "interactive") || t.readOnly && e.access !== "read" || t.mode === "ask" && _t(e) || t.mode === "draft" && (mi(e) || e.access !== "read" && !Di(e)) ? "hidden" : _t(e, t.policy) && t.gate ? "held" : "free";
4379
4419
  }
4380
- const Di = {
4420
+ const $i = {
4381
4421
  afrikaans: [
4382
4422
  "[Muziek]",
4383
4423
  "(C) TV GELDERLAND 2021",
@@ -4527,14 +4567,14 @@ const Di = {
4527
4567
  "[MÚSICA]",
4528
4568
  "[Music cuts in British]"
4529
4569
  ]
4530
- }, $i = (e) => {
4570
+ }, Li = (e) => {
4531
4571
  let t = e;
4532
- return Object.values(Di).forEach((n) => {
4572
+ return Object.values($i).forEach((n) => {
4533
4573
  n.forEach((r) => {
4534
4574
  t = t.replaceAll(r, "");
4535
4575
  });
4536
4576
  }), t = t.replace(/\(.*?\)/g, ""), t = t.replace(/\[.*?\]/g, ""), t;
4537
- }, Li = 6e4, Pi = 8e3, Ki = 2, Ui = 0.4, Fi = 3, Bi = /* @__PURE__ */ new Set([
4577
+ }, Pi = 6e4, Ki = 8e3, Ui = 2, Fi = 0.4, Bi = 3, ji = /* @__PURE__ */ new Set([
4538
4578
  "aan",
4539
4579
  "als",
4540
4580
  "ben",
@@ -4647,13 +4687,13 @@ const Di = {
4647
4687
  "you",
4648
4688
  "your"
4649
4689
  ]);
4650
- function ji(e) {
4690
+ function Hi(e) {
4651
4691
  const t = /* @__PURE__ */ new Set();
4652
4692
  for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
4653
- n.length < Fi || Bi.has(n) || t.add(n);
4693
+ n.length < Bi || ji.has(n) || t.add(n);
4654
4694
  return [...t];
4655
4695
  }
4656
- function Hi(e, t) {
4696
+ function Gi(e, t) {
4657
4697
  if (!e.length) return 0;
4658
4698
  if (!t.length) return 1;
4659
4699
  const n = new Set(t), r = new Set(e);
@@ -4661,32 +4701,32 @@ function Hi(e, t) {
4661
4701
  for (const i of r) n.has(i) || (o += 1);
4662
4702
  return o / r.size;
4663
4703
  }
4664
- function Gi(e, t = Li) {
4704
+ function Wi(e, t = Pi) {
4665
4705
  const n = e.filter((s) => !s.partial && typeof s.text == "string");
4666
4706
  if (!n.length) return { text: "", segmentCount: 0 };
4667
4707
  const o = n.reduce((s, a) => Math.max(s, a.endedAt ?? 0), 0) - t;
4668
- return { text: n.filter((s) => (s.endedAt ?? 0) >= o).map((s) => $i(s.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
4708
+ return { text: n.filter((s) => (s.endedAt ?? 0) >= o).map((s) => Li(s.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
4669
4709
  }
4670
- const Wi = 60;
4671
- function Nd(e, t, n = Wi) {
4710
+ const zi = 60;
4711
+ function Dd(e, t, n = zi) {
4672
4712
  const r = new Set(e), o = [...e];
4673
4713
  for (const i of t)
4674
4714
  !i || r.has(i) || (r.add(i), o.push(i));
4675
4715
  return o.slice(-n);
4676
4716
  }
4677
- function xd(e) {
4717
+ function $d(e) {
4678
4718
  const { segments: t, now: n, state: r } = e;
4679
- if (r.lastTriggerAt && n - r.lastTriggerAt < Pi)
4719
+ if (r.lastTriggerAt && n - r.lastTriggerAt < Ki)
4680
4720
  return { trigger: !1, reason: "too_soon" };
4681
- const o = Gi(t, e.windowMs);
4721
+ const o = Wi(t, e.windowMs);
4682
4722
  if (!o.text) return { trigger: !1, reason: "no_speech" };
4683
4723
  const i = o.segmentCount - (r.lastSegmentCount ?? 0);
4684
- if (r.lastQueryTerms && i < Ki)
4724
+ if (r.lastQueryTerms && i < Ui)
4685
4725
  return { trigger: !1, reason: "too_few_new" };
4686
- const s = ji(o.text);
4687
- return s.length ? r.lastQueryTerms?.length && Hi(s, r.lastQueryTerms) < Ui ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: o.text, terms: s, segmentCount: o.segmentCount } : { trigger: !1, reason: "no_speech" };
4726
+ const s = Hi(o.text);
4727
+ return s.length ? r.lastQueryTerms?.length && Gi(s, r.lastQueryTerms) < Fi ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: o.text, terms: s, segmentCount: o.segmentCount } : { trigger: !1, reason: "no_speech" };
4688
4728
  }
4689
- const Rd = [
4729
+ const Ld = [
4690
4730
  "personal",
4691
4731
  "organization",
4692
4732
  "connections",
@@ -4694,7 +4734,7 @@ const Rd = [
4694
4734
  "work",
4695
4735
  "administration",
4696
4736
  "ai"
4697
- ], Dd = "navNotice", Fe = {
4737
+ ], Pd = "navNotice", Fe = {
4698
4738
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
4699
4739
  // shorter than geographic numbers, and a too-strict minimum silently drops them.
4700
4740
  // An over-permissive key is harmless — it simply matches nothing.
@@ -4717,19 +4757,19 @@ const Rd = [
4717
4757
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
4718
4758
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
4719
4759
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
4720
- }, zi = "NL", Vi = 15, Xi = 8, Yi = Array.from(
4760
+ }, Vi = "NL", Xi = 15, Yi = 8, qi = Array.from(
4721
4761
  new Set(Object.values(Fe).map((e) => e.callingCode))
4722
4762
  ).sort((e, t) => t.length - e.length);
4723
- function _t(e) {
4763
+ function Et(e) {
4724
4764
  if (e)
4725
4765
  return Fe[e.trim().toUpperCase()];
4726
4766
  }
4727
4767
  function ee(e, t) {
4728
4768
  return e.length >= t.nsnMin && e.length <= t.nsnMax;
4729
4769
  }
4730
- function Et(e) {
4731
- if (e.length > Vi) return null;
4732
- for (const t of Yi) {
4770
+ function St(e) {
4771
+ if (e.length > Xi) return null;
4772
+ for (const t of qi) {
4733
4773
  if (!e.startsWith(t)) continue;
4734
4774
  const n = e.slice(t.length);
4735
4775
  for (const r of Object.values(Fe)) {
@@ -4739,31 +4779,31 @@ function Et(e) {
4739
4779
  }
4740
4780
  return null;
4741
4781
  }
4742
- return e.length < Xi ? null : `+${e}`;
4782
+ return e.length < Yi ? null : `+${e}`;
4743
4783
  }
4744
- function qi(e) {
4784
+ function Qi(e) {
4745
4785
  let t = e.trim();
4746
4786
  const n = t.match(/^(sips?|tel|whatsapp):/i);
4747
4787
  n && (t = t.slice(n[0].length));
4748
4788
  const r = t.indexOf("@");
4749
4789
  return r >= 0 && (t = t.slice(0, r)), t.trim();
4750
4790
  }
4751
- function $d(e) {
4791
+ function Kd(e) {
4752
4792
  if (!e) return !1;
4753
4793
  const t = e.indexOf("@");
4754
4794
  if (t <= 0) return !1;
4755
4795
  const n = e.slice(0, t).trim();
4756
4796
  return !/^[+\d\s().-]+$/.test(n);
4757
4797
  }
4758
- function St(e, t) {
4798
+ function Tt(e, t) {
4759
4799
  if (!e) return null;
4760
- const n = qi(e);
4800
+ const n = Qi(e);
4761
4801
  if (!n) return null;
4762
4802
  const r = n.startsWith("+"), o = n.replace(/\D/g, "");
4763
4803
  if (!o) return null;
4764
- if (r) return Et(o);
4765
- if (o.startsWith("00")) return Et(o.slice(2));
4766
- const i = _t(t) ?? _t(zi);
4804
+ if (r) return St(o);
4805
+ if (o.startsWith("00")) return St(o.slice(2));
4806
+ const i = Et(t) ?? Et(Vi);
4767
4807
  if (!i) return null;
4768
4808
  const s = i.trunkPrefix;
4769
4809
  if (s && o.startsWith(s)) {
@@ -4776,22 +4816,22 @@ function St(e, t) {
4776
4816
  }
4777
4817
  return !s && ee(o, i) ? `+${i.callingCode}${o}` : null;
4778
4818
  }
4779
- function Ld(e, t = 9) {
4819
+ function Ud(e, t = 9) {
4780
4820
  const n = (e ?? "").replace(/\D/g, "");
4781
4821
  return n.length < t ? null : n.slice(-t);
4782
4822
  }
4783
- function ln(e) {
4823
+ function un(e) {
4784
4824
  if (!e) return null;
4785
4825
  const t = e.trim().toLowerCase(), n = t.lastIndexOf("@");
4786
4826
  if (n <= 0 || n === t.length - 1) return null;
4787
4827
  const r = t.slice(0, n).split("+")[0], o = t.slice(n + 1);
4788
4828
  return !r || !o.includes(".") ? null : `${r}@${o}`;
4789
4829
  }
4790
- function Pd(e) {
4791
- const t = ln(e);
4830
+ function Fd(e) {
4831
+ const t = un(e);
4792
4832
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
4793
4833
  }
4794
- const Qi = /* @__PURE__ */ new Set([
4834
+ const Zi = /* @__PURE__ */ new Set([
4795
4835
  "co.uk",
4796
4836
  "org.uk",
4797
4837
  "gov.uk",
@@ -4801,14 +4841,14 @@ const Qi = /* @__PURE__ */ new Set([
4801
4841
  "com.br",
4802
4842
  "co.za"
4803
4843
  ]);
4804
- function Zi(e) {
4844
+ function Ji(e) {
4805
4845
  if (!e) return null;
4806
4846
  const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
4807
4847
  if (t.length < 2) return null;
4808
4848
  const n = t.slice(-2).join(".");
4809
- return Qi.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
4849
+ return Zi.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
4810
4850
  }
4811
- const Ji = /* @__PURE__ */ new Set([
4851
+ const es = /* @__PURE__ */ new Set([
4812
4852
  "gmail.com",
4813
4853
  "googlemail.com",
4814
4854
  "outlook.com",
@@ -4853,34 +4893,34 @@ const Ji = /* @__PURE__ */ new Set([
4853
4893
  "proximus.be",
4854
4894
  "scarlet.be"
4855
4895
  ]);
4856
- function Kd(e) {
4857
- const t = Zi(e);
4858
- return t ? Ji.has(t) : !1;
4896
+ function Bd(e) {
4897
+ const t = Ji(e);
4898
+ return t ? es.has(t) : !1;
4859
4899
  }
4860
- function Ud(e) {
4900
+ function jd(e) {
4861
4901
  if (!e) return !1;
4862
4902
  const t = e.trim().toLowerCase();
4863
4903
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
4864
4904
  }
4865
- function Fd(e, t, n) {
4905
+ function Hd(e, t, n) {
4866
4906
  if (!e || !t) return null;
4867
4907
  const r = e.trim().toLowerCase();
4868
4908
  if (r === "tel" || r === "sms" || r === "whatsapp") {
4869
- const i = St(t, n);
4909
+ const i = Tt(t, n);
4870
4910
  return i ? `tel:${i}` : null;
4871
4911
  }
4872
4912
  if (r === "fax") {
4873
- const i = St(t, n);
4913
+ const i = Tt(t, n);
4874
4914
  return i ? `fax:${i}` : null;
4875
4915
  }
4876
4916
  if (r === "mailto" || r === "email") {
4877
- const i = ln(t);
4917
+ const i = un(t);
4878
4918
  return i ? `mailto:${i}` : null;
4879
4919
  }
4880
4920
  const o = t.trim().toLowerCase();
4881
4921
  return o ? `${r}:${o}` : null;
4882
4922
  }
4883
- const es = [
4923
+ const ts = [
4884
4924
  /<blockquote/i,
4885
4925
  /class="?gmail_quote/i,
4886
4926
  // Gmail quote container
@@ -4893,24 +4933,24 @@ const es = [
4893
4933
  // Outlook underscore separator before "From:"
4894
4934
  /\bOn\b[\s\S]{0,200}?\bwrote:/i
4895
4935
  // Gmail "On <date> <name> wrote:"
4896
- ], Tt = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, ts = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
4897
- function ns(e) {
4936
+ ], It = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, ns = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
4937
+ function rs(e) {
4898
4938
  const t = e.split(`
4899
4939
  `);
4900
4940
  for (let n = 0; n < t.length; n++)
4901
- if (ts.test(t[n]) || Tt.test(t[n]) && t.slice(n + 1, n + 4).some((r) => Tt.test(r)))
4941
+ if (ns.test(t[n]) || It.test(t[n]) && t.slice(n + 1, n + 4).some((r) => It.test(r)))
4902
4942
  return t.slice(0, n).join(`
4903
4943
  `).trim();
4904
4944
  return e;
4905
4945
  }
4906
- const rs = /^(?:https?:|mailto:|tel:)/i, os = /^(?:https?:|cid:|data:image\/)/i;
4946
+ const os = /^(?:https?:|mailto:|tel:)/i, is = /^(?:https?:|cid:|data:image\/)/i;
4907
4947
  function ge(e, t) {
4908
4948
  const n = e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`, "i"));
4909
4949
  return (n?.[1] ?? n?.[2] ?? n?.[3] ?? "").trim();
4910
4950
  }
4911
- const is = /(!\[[^\]]*\]\([^)]*\))/;
4912
- function It(e) {
4913
- return e.replace(/\s+/g, " ").trim().split(is).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
4951
+ const ss = /(!\[[^\]]*\]\([^)]*\))/;
4952
+ function kt(e) {
4953
+ return e.replace(/\s+/g, " ").trim().split(ss).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
4914
4954
  }
4915
4955
  function he(e) {
4916
4956
  return e.replace(
@@ -4918,47 +4958,47 @@ function he(e) {
4918
4958
  (t) => `%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2, "0")}`
4919
4959
  );
4920
4960
  }
4921
- function ss(e) {
4961
+ function as(e) {
4922
4962
  return e.replace(/<img\b([^>]*?)\/?>/gi, (n, r) => {
4923
4963
  const o = ge(r, "src");
4924
- return os.test(o) ? `![${It(ge(r, "alt"))}](${he(o)})` : "";
4964
+ return is.test(o) ? `![${kt(ge(r, "alt"))}](${he(o)})` : "";
4925
4965
  }).replace(
4926
4966
  /<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,
4927
4967
  (n, r, o) => {
4928
- const i = It(o.replace(/<[^>]*>/g, "")), s = ge(r, "href");
4929
- return rs.test(s) ? `[${i || he(s)}](${he(s)})` : i;
4968
+ const i = kt(o.replace(/<[^>]*>/g, "")), s = ge(r, "href");
4969
+ return os.test(s) ? `[${i || he(s)}](${he(s)})` : i;
4930
4970
  }
4931
4971
  );
4932
4972
  }
4933
- const as = /<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i, cs = /<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi, ls = /<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;
4934
- function us(e, t) {
4973
+ const cs = /<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i, ls = /<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi, us = /<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;
4974
+ function ds(e, t) {
4935
4975
  return /<table\b/i.test(e) || e.includes(`
4936
4976
 
4937
4977
  |`) || t.includes("![") || t.length > 200;
4938
4978
  }
4939
- const ds = 40, fs = { left: "---", center: ":---:", right: "---:" };
4940
- function ps(e) {
4979
+ const fs = 40, ps = { left: "---", center: ":---:", right: "---:" };
4980
+ function ms(e) {
4941
4981
  const t = e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);
4942
4982
  return t ? t[1].toLowerCase() : "left";
4943
4983
  }
4944
- function ms(e) {
4984
+ function gs(e) {
4945
4985
  return e.replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().replace(/\|/g, "\\|");
4946
4986
  }
4947
- function gs(e) {
4987
+ function hs(e) {
4948
4988
  const t = [];
4949
- for (const s of e.matchAll(cs)) {
4989
+ for (const s of e.matchAll(ls)) {
4950
4990
  const a = [];
4951
- for (const u of s[1].matchAll(ls)) {
4952
- const l = ms(u[3]);
4953
- if (us(u[3], l)) return null;
4954
- a.push({ text: l, align: ps(u[2]) });
4991
+ for (const u of s[1].matchAll(us)) {
4992
+ const l = gs(u[3]);
4993
+ if (ds(u[3], l)) return null;
4994
+ a.push({ text: l, align: ms(u[2]) });
4955
4995
  }
4956
4996
  if (a.length === 0) return null;
4957
4997
  a.some((u) => u.text !== "") && t.push(a);
4958
4998
  }
4959
4999
  const n = t[0]?.length ?? 0;
4960
5000
  if (t.length < 2 || n < 2 || t.some((s) => s.length !== n)) return null;
4961
- const r = (s) => `| ${s.map((a) => a.text).join(" | ")} |`, o = t[1].map((s) => fs[s.align]).join(" | "), i = t.slice(1).map(r).join(`
5001
+ const r = (s) => `| ${s.map((a) => a.text).join(" | ")} |`, o = t[1].map((s) => ps[s.align]).join(" | "), i = t.slice(1).map(r).join(`
4962
5002
  `);
4963
5003
  return `
4964
5004
 
@@ -4968,36 +5008,36 @@ ${i}
4968
5008
 
4969
5009
  `;
4970
5010
  }
4971
- function hs(e) {
5011
+ function ys(e) {
4972
5012
  return e.replace(/<\/(t[dh])\s*>/gi, " ").replace(/<\/tr\s*>/gi, `
4973
5013
  `).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi, "").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi, "");
4974
5014
  }
4975
- function ys(e) {
5015
+ function bs(e) {
4976
5016
  let t = e;
4977
- for (let n = 0; n < ds; n++) {
4978
- const r = as.exec(t);
5017
+ for (let n = 0; n < fs; n++) {
5018
+ const r = cs.exec(t);
4979
5019
  if (!r || r.index === void 0) break;
4980
- const i = gs(r[1]) ?? `
5020
+ const i = hs(r[1]) ?? `
4981
5021
 
4982
- ${hs(r[1])}
5022
+ ${ys(r[1])}
4983
5023
 
4984
5024
  `;
4985
5025
  t = t.slice(0, r.index) + i + t.slice(r.index + r[0].length);
4986
5026
  }
4987
5027
  return t;
4988
5028
  }
4989
- function kt(e, t) {
5029
+ function wt(e, t) {
4990
5030
  let n = e;
4991
5031
  return n = n.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), n = n.replace(/<!--[\s\S]*?-->/g, ""), n = n.replace(/<br\s*\/?>/gi, `
4992
- `), t && (n = ys(ss(n))), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
5032
+ `), t && (n = bs(as(n))), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
4993
5033
 
4994
5034
  `), n = n.replace(/<\/(div|li|tr)>/gi, `
4995
5035
  `), n = n.replace(/<\/(td|th)>/gi, " "), n = n.replace(/<[^>]+>/g, ""), n = n.replace(/<[^>]*$/, ""), n;
4996
5036
  }
4997
- function wt(e) {
5037
+ function vt(e) {
4998
5038
  return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
4999
5039
  }
5000
- const bs = {
5040
+ const As = {
5001
5041
  euro: "€",
5002
5042
  pound: "£",
5003
5043
  yen: "¥",
@@ -5019,546 +5059,549 @@ const bs = {
5019
5059
  rdquo: "”",
5020
5060
  apos: "'"
5021
5061
  };
5022
- function vt(e) {
5023
- return e.replace(/&nbsp;/gi, " ").replace(/&([a-z]+);/gi, (t, n) => bs[n.toLowerCase()] ?? t).replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => wt(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => wt(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
5024
- }
5025
5062
  function Mt(e) {
5063
+ return e.replace(/&nbsp;/gi, " ").replace(/&([a-z]+);/gi, (t, n) => As[n.toLowerCase()] ?? t).replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => vt(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => vt(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
5064
+ }
5065
+ function Ct(e) {
5026
5066
  return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
5027
5067
  `).replace(/\n{3,}/g, `
5028
5068
 
5029
5069
  `).trim();
5030
5070
  }
5031
- const As = /<\s*(html|body|div|p|table|br|span)\b/i;
5032
- function Bd(e) {
5033
- return As.test(e);
5071
+ const _s = /<\s*(html|body|div|p|table|br|span)\b/i;
5072
+ function Gd(e) {
5073
+ return _s.test(e);
5034
5074
  }
5035
- function jd(e) {
5036
- return un(e, !1);
5075
+ function Wd(e) {
5076
+ return dn(e, !1);
5037
5077
  }
5038
- function Hd(e) {
5039
- return un(e, !0);
5078
+ function zd(e) {
5079
+ return dn(e, !0);
5040
5080
  }
5041
- function un(e, t) {
5081
+ function dn(e, t) {
5042
5082
  if (typeof e != "string" || !e) return "";
5043
5083
  let n = e.length;
5044
- for (const s of es) {
5084
+ for (const s of ts) {
5045
5085
  const a = e.search(s);
5046
5086
  a >= 0 && a < n && (n = a);
5047
5087
  }
5048
5088
  const r = e.slice(0, n);
5049
- let o = Mt(vt(kt(r, t)));
5050
- return o || (o = Mt(vt(kt(e, t)))), ns(o) || o;
5089
+ let o = Ct(Mt(wt(r, t)));
5090
+ return o || (o = Ct(Mt(wt(e, t)))), rs(o) || o;
5051
5091
  }
5052
5092
  export {
5053
- ma as ACTIVE_ASSIGNMENT_STATUSES,
5093
+ ga as ACTIVE_ASSIGNMENT_STATUSES,
5054
5094
  R as ACTIVITY_CATALOG,
5055
- fi as AI_ATTACHMENT_LIMITS,
5056
- Iu as AI_ATTACHMENT_MAX_PER_TURN,
5057
- Tu as AI_ATTACHMENT_TURN_BUDGET,
5095
+ pi as AI_ATTACHMENT_LIMITS,
5096
+ vu as AI_ATTACHMENT_MAX_PER_TURN,
5097
+ wu as AI_ATTACHMENT_TURN_BUDGET,
5058
5098
  Ne as AI_CAPABILITIES,
5059
- Nt as AI_VENDORS,
5060
- xn as ALLOWED_LINK_SCHEMES,
5061
- ld as APP_PERMISSIONS,
5099
+ xt as AI_VENDORS,
5100
+ Rn as ALLOWED_LINK_SCHEMES,
5101
+ fd as APP_PERMISSIONS,
5062
5102
  Ye as ARTIFACT_MAX_BLOCKS,
5063
- aa as ARTIFACT_MAX_BODY_BYTES,
5103
+ ca as ARTIFACT_MAX_BODY_BYTES,
5064
5104
  Z as ARTIFACT_MAX_CELL_LEN,
5065
5105
  Je as ARTIFACT_MAX_KPI_ITEMS,
5066
5106
  qe as ARTIFACT_MAX_LIST_ITEMS,
5067
5107
  Ze as ARTIFACT_MAX_TABLE_COLUMNS,
5068
5108
  Qe as ARTIFACT_MAX_TABLE_ROWS,
5069
- Rt as ARTIFACT_MAX_TEXT_LEN,
5070
- jn as ASSIGNMENT_SCOPE_KIND,
5071
- Cu as ASSIST_BANDS,
5072
- Mu as ASSIST_SOURCE_PROVIDER_GROUP,
5073
- pr as ATTENTION_STATUSES,
5074
- Do as AT_RISK_GAP,
5075
- an as AUTH_APP_NAME,
5076
- go as AUTO_READY_MIN_PROPOSALS,
5077
- ho as AUTO_READY_RATE,
5078
- En as ActivityTypeRegistry,
5079
- Ps as BUILT_IN_ONLY,
5080
- mr as BULK_PENALTY,
5081
- Sa as BUSINESS_ENTITY_LIST_SERVICE,
5082
- Pi as CADENCE_FLOOR_MS,
5083
- Ki as CADENCE_MIN_NEW_SEGMENTS,
5084
- Ui as CADENCE_MIN_NOVELTY,
5085
- Li as CADENCE_WINDOW_MS,
5086
- Fc as CLASSIFY_VARS,
5087
- Yu as CONNECTOR_PROVIDER_GROUP,
5088
- qu as CONTEXT_COLLECT_SERVICE,
5089
- Zs as CORE_DIMENSIONS,
5090
- Ai as CommunicationScheme,
5091
- or as DAY_MS,
5092
- No as DEFAULT_CHECK_IN_DAYS,
5093
- zr as DEFAULT_FORECAST_WEEKS,
5094
- cc as DEFAULT_MEMORY_BUDGET,
5095
- Gl as DEFAULT_NUMBER_PADDING,
5096
- zi as DEFAULT_PHONE_REGION,
5097
- Fl as DEFAULT_QUOTE_TEMPLATE_BLOCKS,
5098
- Ul as DEFAULT_TEMPLATE_CONDITIONS,
5099
- Ac as DEMAND_SOURCE_PROVIDER_GROUP,
5100
- rd as DOCUMENT_APPLY_SERVICE,
5101
- td as DOCUMENT_DESCRIBE_SERVICE,
5102
- nd as DOCUMENT_INSPECT_SERVICE,
5109
+ Dt as ARTIFACT_MAX_TEXT_LEN,
5110
+ Hn as ASSIGNMENT_SCOPE_KIND,
5111
+ xu as ASSIST_BANDS,
5112
+ Nu as ASSIST_SOURCE_PROVIDER_GROUP,
5113
+ mr as ATTENTION_STATUSES,
5114
+ $o as AT_RISK_GAP,
5115
+ cn as AUTH_APP_NAME,
5116
+ ho as AUTO_READY_MIN_PROPOSALS,
5117
+ yo as AUTO_READY_RATE,
5118
+ Sn as ActivityTypeRegistry,
5119
+ Ks as BUILT_IN_ONLY,
5120
+ gr as BULK_PENALTY,
5121
+ Ta as BUSINESS_ENTITY_LIST_SERVICE,
5122
+ Ki as CADENCE_FLOOR_MS,
5123
+ Ui as CADENCE_MIN_NEW_SEGMENTS,
5124
+ Fi as CADENCE_MIN_NOVELTY,
5125
+ Pi as CADENCE_WINDOW_MS,
5126
+ Bc as CLASSIFY_VARS,
5127
+ Zu as CONNECTOR_PROVIDER_GROUP,
5128
+ Ju as CONTEXT_COLLECT_SERVICE,
5129
+ Js as CORE_DIMENSIONS,
5130
+ _i as CommunicationScheme,
5131
+ ir as DAY_MS,
5132
+ xo as DEFAULT_CHECK_IN_DAYS,
5133
+ Vr as DEFAULT_FORECAST_WEEKS,
5134
+ lc as DEFAULT_MEMORY_BUDGET,
5135
+ Vl as DEFAULT_NUMBER_PADDING,
5136
+ Vi as DEFAULT_PHONE_REGION,
5137
+ Hl as DEFAULT_QUOTE_TEMPLATE_BLOCKS,
5138
+ jl as DEFAULT_TEMPLATE_CONDITIONS,
5139
+ _c as DEMAND_SOURCE_PROVIDER_GROUP,
5140
+ sd as DOCUMENT_APPLY_SERVICE,
5141
+ od as DOCUMENT_DESCRIBE_SERVICE,
5142
+ id as DOCUMENT_INSPECT_SERVICE,
5103
5143
  Ye as DOCUMENT_MAX_BLOCKS,
5104
- aa as DOCUMENT_MAX_BODY_BYTES,
5144
+ ca as DOCUMENT_MAX_BODY_BYTES,
5105
5145
  Z as DOCUMENT_MAX_CELL_LEN,
5106
5146
  Je as DOCUMENT_MAX_KPI_ITEMS,
5107
5147
  et as DOCUMENT_MAX_LETTERHEAD_FIELDS,
5108
5148
  qe as DOCUMENT_MAX_LIST_ITEMS,
5109
- On as DOCUMENT_MAX_RECIPIENT_LINES,
5149
+ Nn as DOCUMENT_MAX_RECIPIENT_LINES,
5110
5150
  Ze as DOCUMENT_MAX_TABLE_COLUMNS,
5111
5151
  Qe as DOCUMENT_MAX_TABLE_ROWS,
5112
- Rt as DOCUMENT_MAX_TEXT_LEN,
5152
+ Dt as DOCUMENT_MAX_TEXT_LEN,
5113
5153
  tt as DOCUMENT_MAX_TOTALS_ROWS,
5114
- rn as DOCUMENT_OPERATIONS,
5115
- Wo as DUTCH_SLOT_LABELS,
5116
- jc as EMPTY_WORKFLOW,
5117
- Ho as ENABLED_TRANSACTION_KINDS,
5118
- Wu as FEATURE_FOLDER_MANAGEMENT,
5119
- Vu as FEATURE_MESSAGE_REACTIONS,
5120
- zu as FEATURE_REMOTE_SEARCH,
5154
+ on as DOCUMENT_OPERATIONS,
5155
+ zo as DUTCH_SLOT_LABELS,
5156
+ Hc as EMPTY_WORKFLOW,
5157
+ Go as ENABLED_TRANSACTION_KINDS,
5158
+ Xu as FEATURE_FOLDER_MANAGEMENT,
5159
+ qu as FEATURE_MESSAGE_REACTIONS,
5160
+ Yu as FEATURE_REMOTE_SEARCH,
5121
5161
  De as FIXED_KINDS,
5122
5162
  ie as FIXED_LEVELS,
5123
5163
  Ke as FIXED_TYPES,
5124
- Ma as FIXED_UNITS,
5125
- hr as FOLLOW_UP_HOURS,
5126
- $l as FROZEN_WRITABLE_FIELDS,
5127
- rr as HOUR_MS,
5128
- As as HTML_BODY_RE,
5164
+ Ca as FIXED_UNITS,
5165
+ yr as FOLLOW_UP_HOURS,
5166
+ Kl as FROZEN_WRITABLE_FIELDS,
5167
+ or as HOUR_MS,
5168
+ _s as HTML_BODY_RE,
5129
5169
  L as INELIGIBLE,
5130
- id as INSTALLATION_HEADER,
5131
- lo as INTERACTION_KIND,
5132
- Hu as InteractionParticipantRole,
5133
- Ir as KB_FALLBACK_LOCALE,
5170
+ cd as INSTALLATION_HEADER,
5171
+ uo as INTERACTION_KIND,
5172
+ zu as InteractionParticipantRole,
5173
+ kr as KB_FALLBACK_LOCALE,
5134
5174
  ot as KB_LOCALES,
5135
5175
  ot as LOCALES,
5136
5176
  Ue as LOOSE_STATUSES,
5137
- lr as MAIL_HINT_HEADERS,
5138
- Ts as MAX_ACTIONS,
5139
- Hn as MAX_ASSIGNMENT_TURNS,
5140
- _s as MAX_BLOCKS,
5141
- Bt as MAX_COLLECTION_DEPTH,
5142
- Gn as MAX_DELEGATION_DEPTH,
5143
- wd as MAX_EDITABLE_FILE_BYTES,
5144
- Es as MAX_FIELDS,
5145
- Ss as MAX_LIST_ITEMS,
5146
- oc as MAX_MEMORY_BROWSE,
5147
- ac as MAX_MEMORY_BUDGET,
5148
- ic as MAX_MEMORY_CHARS,
5149
- Wi as MAX_SHOWN_KEYS,
5150
- Uo as MAX_TOPIC_CANDIDATES,
5151
- Ko as MAX_TOPIC_EXAMPLES,
5177
+ ur as MAIL_HINT_HEADERS,
5178
+ Is as MAX_ACTIONS,
5179
+ Gn as MAX_ASSIGNMENT_TURNS,
5180
+ Es as MAX_BLOCKS,
5181
+ jt as MAX_COLLECTION_DEPTH,
5182
+ Wn as MAX_DELEGATION_DEPTH,
5183
+ Cd as MAX_EDITABLE_FILE_BYTES,
5184
+ Ss as MAX_FIELDS,
5185
+ Ts as MAX_LIST_ITEMS,
5186
+ ic as MAX_MEMORY_BROWSE,
5187
+ cc as MAX_MEMORY_BUDGET,
5188
+ sc as MAX_MEMORY_CHARS,
5189
+ lt as MAX_RULE_DEPTH,
5190
+ zi as MAX_SHOWN_KEYS,
5191
+ Fo as MAX_TOPIC_CANDIDATES,
5192
+ Uo as MAX_TOPIC_EXAMPLES,
5152
5193
  me as MAX_TOPIC_EXAMPLE_CHARS,
5153
- vd as MAX_VIEWABLE_FILE_BYTES,
5154
- sc as MIN_MEMORY_BUDGET,
5155
- Dd as NAV_NOTICE_SLOT,
5156
- Ql as NL_PAYMENT_TERMS,
5157
- uc as NL_TAX_RATES,
5158
- ad as NOTIFICATION_SOURCE_PROVIDER_GROUP,
5159
- $o as OFF_TRACK_GAP,
5160
- fc as ONBOARDING_SOURCE_PROVIDER_GROUP,
5194
+ Od as MAX_VIEWABLE_FILE_BYTES,
5195
+ ac as MIN_MEMORY_BUDGET,
5196
+ Pd as NAV_NOTICE_SLOT,
5197
+ eu as NL_PAYMENT_TERMS,
5198
+ dc as NL_TAX_RATES,
5199
+ ud as NOTIFICATION_SOURCE_PROVIDER_GROUP,
5200
+ Lo as OFF_TRACK_GAP,
5201
+ pc as ONBOARDING_SOURCE_PROVIDER_GROUP,
5161
5202
  ve as PAUSE_HOLD,
5162
5203
  ke as PAUSE_SNOOZED,
5163
5204
  we as PAUSE_WAITING_FOR_CUSTOMER,
5164
- Vl as PAYMENT_TERM_METHODS,
5205
+ ql as PAYMENT_TERM_METHODS,
5165
5206
  Fe as PHONE_REGIONS,
5166
- on as PRESENCE_ONLINE_WINDOW_MS,
5167
- wi as PRESENCE_SURVIVES_OFFLINE,
5168
- Zo as PRODUCT_SCOPE_KIND,
5169
- mc as PROFILE_TOOL_DISPOSITIONS,
5170
- ju as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
5171
- Bu as PROVIDER_FEATURE_MESSAGE_WINDOW,
5172
- Ji as PUBLIC_EMAIL_DOMAINS,
5207
+ sn as PRESENCE_ONLINE_WINDOW_MS,
5208
+ vi as PRESENCE_SURVIVES_OFFLINE,
5209
+ Jo as PRODUCT_SCOPE_KIND,
5210
+ gc as PROFILE_TOOL_DISPOSITIONS,
5211
+ Wu as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
5212
+ Gu as PROVIDER_FEATURE_MESSAGE_WINDOW,
5213
+ es as PUBLIC_EMAIL_DOMAINS,
5173
5214
  it as READ_STEP_TYPES,
5174
- vr as RELATED_SUBJECT_KINDS,
5175
- nn as RESERVED_STATUS_KEYS,
5176
- ru as RESERVED_TYPE_KEYS,
5177
- yd as RESOURCE_ATTACHED_SERVICE,
5178
- md as RESOURCE_DESCRIBE_SERVICE,
5179
- hd as RESOURCE_RESOLVE_SERVICE,
5180
- gd as RESOURCE_SEARCH_SERVICE,
5181
- Zr as SCHEDULE_ENTRY_SCOPE_KIND,
5182
- Ed as SCOPE_ACTS_ROUTE,
5183
- _d as SCOPE_READ_ROUTE,
5184
- Ad as SCOPE_RELATED_ROUTE,
5185
- Rd as SETTINGS_CATEGORIES,
5186
- Ca as SIGNATURE_INTENTS,
5187
- gr as SLA_HOURS_BY_PRIORITY,
5188
- tl as SLA_METRICS,
5189
- nl as SLA_PAUSE_REASONS,
5190
- po as STEP_MAX_TOKENS_MAX,
5191
- fo as STEP_MAX_TOKENS_MIN,
5192
- Co as STRATEGY_ITEM_SCOPE_KIND,
5193
- cr as SUMMARY_MIN_LAST_CHARS,
5194
- ar as SUMMARY_MIN_MESSAGES,
5195
- Cd as SYNC_RUN_MAX_ERRORS,
5196
- Md as SYNC_TARGET_PROVIDER_GROUP,
5197
- Bn as TERMINAL_ASSIGNMENT_STATUSES,
5198
- yo as TERMINAL_RUN_STATUSES,
5215
+ Mr as RELATED_SUBJECT_KINDS,
5216
+ rn as RESERVED_STATUS_KEYS,
5217
+ su as RESERVED_TYPE_KEYS,
5218
+ _d as RESOURCE_ATTACHED_SERVICE,
5219
+ yd as RESOURCE_DESCRIBE_SERVICE,
5220
+ Ad as RESOURCE_RESOLVE_SERVICE,
5221
+ bd as RESOURCE_SEARCH_SERVICE,
5222
+ Jr as SCHEDULE_ENTRY_SCOPE_KIND,
5223
+ Id as SCOPE_ACTS_ROUTE,
5224
+ Td as SCOPE_READ_ROUTE,
5225
+ Sd as SCOPE_RELATED_ROUTE,
5226
+ Ld as SETTINGS_CATEGORIES,
5227
+ Oa as SIGNATURE_INTENTS,
5228
+ hr as SLA_HOURS_BY_PRIORITY,
5229
+ ol as SLA_METRICS,
5230
+ il as SLA_PAUSE_REASONS,
5231
+ mo as STEP_MAX_TOKENS_MAX,
5232
+ po as STEP_MAX_TOKENS_MIN,
5233
+ Oo as STRATEGY_ITEM_SCOPE_KIND,
5234
+ lr as SUMMARY_MIN_LAST_CHARS,
5235
+ cr as SUMMARY_MIN_MESSAGES,
5236
+ xd as SYNC_RUN_MAX_ERRORS,
5237
+ Nd as SYNC_TARGET_PROVIDER_GROUP,
5238
+ jn as TERMINAL_ASSIGNMENT_STATUSES,
5239
+ bo as TERMINAL_RUN_STATUSES,
5199
5240
  Pe as TRANSACTION_KINDS,
5200
- Qo as TRANSACTION_SCOPE_KINDS,
5201
- Kc as TRIGGER_VARS,
5202
- Or as UNKNOWN_KIND,
5203
- Oo as UNKNOWN_LEVEL_ORDER,
5204
- Xu as UNSUPPORTED,
5205
- vn as USAGE_DIMENSIONS,
5206
- Mn as USAGE_DIMENSION_IDS,
5207
- Jr as WORKSTREAM_SCOPE_KIND,
5208
- ri as WORK_ACTIVITY_SCOPE_KIND,
5209
- pc as WORK_AREAS,
5210
- Jl as WORK_COMMENT_ADDED,
5211
- cu as WORK_CYCLE_SYNC_KIND,
5212
- eu as WORK_ITEM_ASSIGNED,
5213
- ti as WORK_ITEM_SCOPE_KIND,
5214
- tu as WORK_ITEM_STATUS_CHANGED,
5215
- ni as WORK_PROJECT_SCOPE_KIND,
5241
+ Zo as TRANSACTION_SCOPE_KINDS,
5242
+ Uc as TRIGGER_VARS,
5243
+ Nr as UNKNOWN_KIND,
5244
+ No as UNKNOWN_LEVEL_ORDER,
5245
+ Qu as UNSUPPORTED,
5246
+ Mn as USAGE_DIMENSIONS,
5247
+ Cn as USAGE_DIMENSION_IDS,
5248
+ eo as WORKSTREAM_SCOPE_KIND,
5249
+ oi as WORK_ACTIVITY_SCOPE_KIND,
5250
+ mc as WORK_AREAS,
5251
+ nu as WORK_COMMENT_ADDED,
5252
+ du as WORK_CYCLE_SYNC_KIND,
5253
+ ru as WORK_ITEM_ASSIGNED,
5254
+ ni as WORK_ITEM_SCOPE_KIND,
5255
+ ou as WORK_ITEM_STATUS_CHANGED,
5256
+ ri as WORK_PROJECT_SCOPE_KIND,
5216
5257
  te as W_PRIORITY,
5217
- Nl as acceptExampleCandidate,
5218
- ro as actingIdentityKey,
5219
- Cl as activeWorkTypes,
5220
- ks as activityIconOf,
5221
- $s as activityJoinUrl,
5222
- yn as activitySnippet,
5223
- bn as activityTextParams,
5224
- Ds as activityTimelineText,
5225
- Sn as activityTimestamp,
5258
+ Dl as acceptExampleCandidate,
5259
+ oo as actingIdentityKey,
5260
+ xl as activeWorkTypes,
5261
+ ws as activityIconOf,
5262
+ Ls as activityJoinUrl,
5263
+ bn as activitySnippet,
5264
+ An as activityTextParams,
5265
+ $s as activityTimelineText,
5266
+ Tn as activityTimestamp,
5226
5267
  k as activityTypeInfo,
5227
- Nc as actorKey,
5228
- Ol as addExampleCandidate,
5268
+ xc as actorKey,
5269
+ Rl as addExampleCandidate,
5229
5270
  $e as addWorkingMs,
5230
- dd as agePresenceEntry,
5231
- di as aiAttachmentKind,
5232
- ku as aiAttachmentRejection,
5271
+ md as agePresenceEntry,
5272
+ fi as aiAttachmentKind,
5273
+ Mu as aiAttachmentRejection,
5233
5274
  Xe as aiBudgetLimit,
5234
- qs as aiBudgetPeriodKey,
5235
- Tn as aiBudgetPeriodStart,
5236
- Ys as aiBudgetState,
5237
- Xs as aiVendorAcceptsAttachment,
5238
- Ws as aiVendorDefaultModel,
5239
- Gs as aiVendorLabel,
5240
- Vs as aiVendorNeedsBaseUrl,
5241
- zs as aiVendorsWith,
5242
- Vn as allocate,
5243
- cn as appNameFromPath,
5244
- sa as applyApprovalDecision,
5245
- Il as applyRounding,
5246
- Oa as applySignature,
5247
- mo as approvalRate,
5248
- la as artifactBodyBytes,
5249
- ua as artifactOutline,
5250
- Fn as artifactToMarkdown,
5251
- $c as assignmentMismatch,
5252
- ha as assignmentScopeKey,
5253
- Aa as assignmentSubject,
5254
- bc as availabilityByPerson,
5255
- gc as belongsOnCalendar,
5256
- Ta as belongsToEntity,
5257
- Ls as buildActivityPreview,
5258
- Lu as buildChannelIntents,
5259
- da as buildShareKeys,
5260
- Gi as buildWindow,
5261
- nr as businessEntitySender,
5262
- xr as calendarDaysBetween,
5275
+ Qs as aiBudgetPeriodKey,
5276
+ In as aiBudgetPeriodStart,
5277
+ qs as aiBudgetState,
5278
+ Ys as aiVendorAcceptsAttachment,
5279
+ zs as aiVendorDefaultModel,
5280
+ Ws as aiVendorLabel,
5281
+ Xs as aiVendorNeedsBaseUrl,
5282
+ Vs as aiVendorsWith,
5283
+ Xn as allocate,
5284
+ ln as appNameFromPath,
5285
+ aa as applyApprovalDecision,
5286
+ vl as applyRounding,
5287
+ Na as applySignature,
5288
+ go as approvalRate,
5289
+ ua as artifactBodyBytes,
5290
+ da as artifactOutline,
5291
+ Bn as artifactToMarkdown,
5292
+ Lc as assignmentMismatch,
5293
+ ya as assignmentScopeKey,
5294
+ _a as assignmentSubject,
5295
+ Ac as availabilityByPerson,
5296
+ hc as belongsOnCalendar,
5297
+ Ia as belongsToEntity,
5298
+ Ps as buildActivityPreview,
5299
+ Uu as buildChannelIntents,
5300
+ fa as buildShareKeys,
5301
+ Wi as buildWindow,
5302
+ rr as businessEntitySender,
5303
+ Rr as calendarDaysBetween,
5263
5304
  Le as calendarOf,
5264
- Za as canNestUnder,
5265
- dl as canParent,
5266
- Bs as capabilityDefaultFlag,
5267
- hc as capacityTotal,
5268
- vc as capacityWeights,
5269
- Os as carriesText,
5270
- ec as categoryLabel,
5271
- si as categoryOf,
5272
- Fu as channelKindForScheme,
5273
- ws as channelKindOf,
5274
- El as checkInOverdueMs,
5275
- Bc as clampStepMaxTokens,
5276
- Fa as classifyMail,
5277
- Hd as cleanMessageMarkdown,
5278
- jd as cleanMessageText,
5279
- Ia as codeQuery,
5280
- Nu as compareAssistRank,
5281
- Po as compareWorkTypes,
5282
- tr as conditionHolds,
5283
- Go as copyFrom,
5305
+ Ja as canNestUnder,
5306
+ ml as canParent,
5307
+ js as capabilityDefaultFlag,
5308
+ yc as capacityTotal,
5309
+ Mc as capacityWeights,
5310
+ Ns as carriesText,
5311
+ tc as categoryLabel,
5312
+ ai as categoryOf,
5313
+ tl as causedBy,
5314
+ Hu as channelKindForScheme,
5315
+ vs as channelKindOf,
5316
+ Il as checkInOverdueMs,
5317
+ jc as clampStepMaxTokens,
5318
+ Ba as classifyMail,
5319
+ zd as cleanMessageMarkdown,
5320
+ Wd as cleanMessageText,
5321
+ ka as codeQuery,
5322
+ Du as compareAssistRank,
5323
+ Ko as compareWorkTypes,
5324
+ nr as conditionHolds,
5325
+ Wo as copyFrom,
5284
5326
  V as countsAsPlanned,
5285
- yc as coverageByPerson,
5286
- Ec as coverageFor,
5287
- Ht as coversWorkstream,
5288
- zl as currentPeriod,
5289
- Gt as cycleDayIndex,
5290
- Eu as cycleOrder,
5291
- Su as cycleState,
5292
- _a as decideAssignmentState,
5293
- xd as decideCadence,
5294
- Du as decideIncomingCall,
5295
- kr as defaultLocaleOf,
5296
- hu as defaultStatusKey,
5297
- Yo as defaultTemplateBlocks,
5298
- Gu as defineIntent,
5299
- Ea as delegationRefusal,
5300
- Sr as depthOf,
5301
- ud as derivePresence,
5302
- ta as describeClause,
5303
- $u as disabledIntentsFromCapabilities,
5304
- la as documentBodyBytes,
5305
- od as documentKindOf,
5306
- ua as documentOutline,
5307
- Fn as documentToMarkdown,
5308
- ed as documentToText,
5309
- il as dueAtOf,
5310
- Xl as dueDateFrom,
5311
- Tl as elapsedSeconds,
5312
- Pd as emailDomain,
5313
- Fd as endpointKey,
5314
- Lr as erlangC,
5315
- Ci as extractParams,
5316
- ji as extractTerms,
5317
- Da as fillDocument,
5318
- er as fillText,
5319
- Ku as filterByEndpoint,
5320
- Pu as filterByIntent,
5321
- bi as filterByTargetScheme,
5322
- ea as filterableDimensions,
5327
+ bc as coverageByPerson,
5328
+ Sc as coverageFor,
5329
+ Gt as coversWorkstream,
5330
+ Yl as currentPeriod,
5331
+ Wt as cycleDayIndex,
5332
+ Iu as cycleOrder,
5333
+ ku as cycleState,
5334
+ Ea as decideAssignmentState,
5335
+ $d as decideCadence,
5336
+ Pu as decideIncomingCall,
5337
+ wr as defaultLocaleOf,
5338
+ Au as defaultStatusKey,
5339
+ qo as defaultTemplateBlocks,
5340
+ Vu as defineIntent,
5341
+ Sa as delegationRefusal,
5342
+ Tr as depthOf,
5343
+ pd as derivePresence,
5344
+ na as describeClause,
5345
+ Ku as disabledIntentsFromCapabilities,
5346
+ ua as documentBodyBytes,
5347
+ ad as documentKindOf,
5348
+ da as documentOutline,
5349
+ Bn as documentToMarkdown,
5350
+ rd as documentToText,
5351
+ cl as dueAtOf,
5352
+ Ql as dueDateFrom,
5353
+ wl as elapsedSeconds,
5354
+ Fd as emailDomain,
5355
+ Hd as endpointKey,
5356
+ Pr as erlangC,
5357
+ Oi as extractParams,
5358
+ Hi as extractTerms,
5359
+ $a as fillDocument,
5360
+ tr as fillText,
5361
+ Bu as filterByEndpoint,
5362
+ Fu as filterByIntent,
5363
+ Ai as filterByTargetScheme,
5364
+ ta as filterableDimensions,
5323
5365
  oe as findAiVendor,
5324
- pl as fixedLevelForName,
5325
- su as fixedTypeForName,
5326
- au as fixedTypes,
5327
- sd as flattenLocales,
5366
+ hl as fixedLevelForName,
5367
+ lu as fixedTypeForName,
5368
+ uu as fixedTypes,
5369
+ ld as flattenLocales,
5328
5370
  W as floorToPeriod,
5329
- Ic as forecastIntervals,
5330
- no as formatActingIdentity,
5371
+ kc as forecastIntervals,
5372
+ ro as formatActingIdentity,
5331
5373
  D as formatCents,
5332
- wl as formatClock,
5333
- kl as formatHm,
5334
- uu as formatItemKey,
5374
+ Cl as formatClock,
5375
+ Ml as formatHm,
5376
+ pu as formatItemKey,
5335
5377
  G as formatPeriod,
5336
- Wl as formatSeriesNumber,
5337
- cl as formatSlaDuration,
5338
- vu as freshSources,
5339
- Ks as getActivitySeenUserIds,
5340
- Na as getContactEndpoints,
5341
- Va as getShortTitle,
5342
- za as getUrgencyScore,
5343
- Zc as hasReacted,
5344
- ml as healthCategory,
5345
- gl as healthsInCategory,
5346
- jt as heightOf,
5347
- Ya as helpCenterText,
5348
- Lc as humanizeAction,
5349
- uo as interactionIdOf,
5350
- Zl as isAgentUser,
5351
- Ga as isAssigned,
5352
- ga as isAssignmentTerminal,
5353
- so as isAssignmentTrigger,
5354
- zc as isAutoReady,
5355
- Er as isAwaitingThem,
5356
- Fs as isChatMessageActivity,
5357
- Wa as isClosed,
5358
- xs as isConnectedType,
5359
- Sd as isDeepLink,
5360
- Tr as isDescendant,
5361
- La as isEligible,
5362
- Us as isEmailActivity,
5363
- Dl as isFrozen,
5364
- ol as isHeldClock,
5365
- Bd as isHtmlBody,
5366
- Xc as isInFlight,
5367
- fr as isInteractionUnseen,
5368
- Td as isLandingPath,
5369
- sr as isLikelyBulk,
5370
- Ct as isMessageShape,
5371
- vs as isMessageType,
5372
- Ni as isMoreSpecificPattern,
5373
- Ot as isNoteShape,
5374
- Mo as isOpenClock,
5375
- pi as isOutwardTool,
5376
- br as isParked,
5377
- bo as isPaused,
5378
- Ns as isPlaybookAuthoredType,
5379
- Kd as isPublicEmailDomain,
5380
- kd as isPublicPath,
5381
- Ar as isReminderActive,
5382
- Cs as isReplyableType,
5383
- ja as isSlaAtRisk,
5384
- Vc as isTerminal,
5385
- Ka as isThreadLongEnough,
5386
- Rs as isTranscriptType,
5387
- yu as isWorkClosed,
5388
- Ml as isWorkTypeVisible,
5389
- At as isWriteTool,
5390
- pu as itemDossierKeys,
5378
+ Xl as formatSeriesNumber,
5379
+ dl as formatSlaDuration,
5380
+ Ou as freshSources,
5381
+ Us as getActivitySeenUserIds,
5382
+ xa as getContactEndpoints,
5383
+ Xa as getShortTitle,
5384
+ Va as getUrgencyScore,
5385
+ Jc as hasReacted,
5386
+ yl as healthCategory,
5387
+ bl as healthsInCategory,
5388
+ Ht as heightOf,
5389
+ qa as helpCenterText,
5390
+ Pc as humanizeAction,
5391
+ fo as interactionIdOf,
5392
+ tu as isAgentUser,
5393
+ Wa as isAssigned,
5394
+ ha as isAssignmentTerminal,
5395
+ ao as isAssignmentTrigger,
5396
+ Vc as isAutoReady,
5397
+ Sr as isAwaitingThem,
5398
+ Bs as isChatMessageActivity,
5399
+ za as isClosed,
5400
+ Rs as isConnectedType,
5401
+ kd as isDeepLink,
5402
+ Ir as isDescendant,
5403
+ Pa as isEligible,
5404
+ Fs as isEmailActivity,
5405
+ Pl as isFrozen,
5406
+ al as isHeldClock,
5407
+ Gd as isHtmlBody,
5408
+ Yc as isInFlight,
5409
+ pr as isInteractionUnseen,
5410
+ wd as isLandingPath,
5411
+ ar as isLikelyBulk,
5412
+ Ot as isMessageShape,
5413
+ Ms as isMessageType,
5414
+ xi as isMoreSpecificPattern,
5415
+ Nt as isNoteShape,
5416
+ Co as isOpenClock,
5417
+ mi as isOutwardTool,
5418
+ Ar as isParked,
5419
+ Ao as isPaused,
5420
+ xs as isPlaybookAuthoredType,
5421
+ Bd as isPublicEmailDomain,
5422
+ Md as isPublicPath,
5423
+ _r as isReminderActive,
5424
+ Os as isReplyableType,
5425
+ Ha as isSlaAtRisk,
5426
+ Xc as isTerminal,
5427
+ Ua as isThreadLongEnough,
5428
+ Ds as isTranscriptType,
5429
+ _u as isWorkClosed,
5430
+ Nl as isWorkTypeVisible,
5431
+ _t as isWriteTool,
5432
+ hu as itemDossierKeys,
5391
5433
  x as kindFor,
5392
- ii as ladderFor,
5393
- xo as levelIn,
5434
+ si as ladderFor,
5435
+ Ro as levelIn,
5394
5436
  Ce as levelOrder,
5395
- Cr as lineNet,
5396
- Xa as linkLabel,
5397
- Rl as listedTransactionKinds,
5398
- Qs as listeningAllowed,
5399
- Qa as localeInstruction,
5400
- qa as localeName,
5401
- Ja as localesOf,
5402
- $d as looksLikeEmail,
5403
- Lt as lookup,
5404
- wa as marginCents,
5405
- Ju as markdownToDocument,
5406
- oa as matchApprovalPolicy,
5407
- Uu as matchContactToIntents,
5408
- xi as matchPublicRoute,
5409
- nc as mcpCredentialScope,
5410
- rc as mcpToolPrefix,
5411
- hl as measureRatio,
5412
- Hs as mergeDefaultFlags,
5413
- Nd as mergeShownKeys,
5414
- hn as messageCountsAs,
5415
- na as metricOption,
5416
- Wt as minutesOn,
5417
- Ud as needsPhoneRegion,
5418
- Ms as nestsUnderParent,
5419
- fl as nextLevelBelow,
5420
- sl as nextSlaClock,
5421
- Ll as nextVersion,
5422
- ca as normalizeArtifactBlocks,
5423
- Is as normalizeBlocks,
5424
- ca as normalizeDocumentBlocks,
5425
- ln as normalizeEmail,
5437
+ Or as lineNet,
5438
+ Ya as linkLabel,
5439
+ Ll as listedTransactionKinds,
5440
+ Zs as listeningAllowed,
5441
+ Za as localeInstruction,
5442
+ Qa as localeName,
5443
+ ec as localesOf,
5444
+ Kd as looksLikeEmail,
5445
+ Pt as lookup,
5446
+ va as marginCents,
5447
+ nd as markdownToDocument,
5448
+ ia as matchApprovalPolicy,
5449
+ ju as matchContactToIntents,
5450
+ Ri as matchPublicRoute,
5451
+ el as matchRules,
5452
+ rc as mcpCredentialScope,
5453
+ oc as mcpToolPrefix,
5454
+ Al as measureRatio,
5455
+ Gs as mergeDefaultFlags,
5456
+ Dd as mergeShownKeys,
5457
+ yn as messageCountsAs,
5458
+ ra as metricOption,
5459
+ zt as minutesOn,
5460
+ jd as needsPhoneRegion,
5461
+ Cs as nestsUnderParent,
5462
+ gl as nextLevelBelow,
5463
+ ll as nextSlaClock,
5464
+ Ul as nextVersion,
5465
+ la as normalizeArtifactBlocks,
5466
+ ks as normalizeBlocks,
5467
+ la as normalizeDocumentBlocks,
5468
+ un as normalizeEmail,
5426
5469
  P as normalizeExample,
5427
- Wn as normalizeGtin,
5428
- cd as notificationPrefKey,
5429
- Hi as novelty,
5430
- Zu as operationDescriptor,
5431
- Qu as operationsForKind,
5432
- $a as organizationSender,
5470
+ zn as normalizeGtin,
5471
+ dd as notificationPrefKey,
5472
+ Gi as novelty,
5473
+ td as operationDescriptor,
5474
+ ed as operationsForKind,
5475
+ La as organizationSender,
5433
5476
  fe as overlapSeconds,
5434
- _c as overlaps,
5435
- yl as paceRatio,
5436
- Pa as parkMarksById,
5437
- Cc as parseActingIdentity,
5438
- ka as parseAmount,
5439
- Jc as parseClockMinutes,
5440
- du as parseItemKey,
5441
- Mi as pathToRegex,
5442
- Vt as patternFor,
5443
- zt as patternStartTime,
5444
- el as pauseBitFor,
5445
- ia as pendingApprovers,
5446
- Js as periodsInRange,
5447
- Ld as phoneSuffix,
5448
- Ua as pickMailHeaders,
5449
- Ra as pickTemplate,
5450
- Mc as placeLumps,
5451
- mn as plainTextFromMarkdown,
5452
- rl as planSlaEvent,
5453
- Sc as plannedBillable,
5454
- Gr as plannedWorkTypeKey,
5455
- io as playbookActor,
5456
- Gc as procedureOf,
5457
- Bl as productScopeKey,
5458
- mu as projectDossierKeys,
5459
- Oi as publicBasePathFor,
5460
- Id as publicRoutePatterns,
5461
- ba as reactionWakesAssignment,
5462
- js as readDefaultFlags,
5477
+ Ec as overlaps,
5478
+ _l as paceRatio,
5479
+ Ka as parkMarksById,
5480
+ Oc as parseActingIdentity,
5481
+ wa as parseAmount,
5482
+ nl as parseClockMinutes,
5483
+ mu as parseItemKey,
5484
+ Ci as pathToRegex,
5485
+ Xt as patternFor,
5486
+ Vt as patternStartTime,
5487
+ rl as pauseBitFor,
5488
+ sa as pendingApprovers,
5489
+ ea as periodsInRange,
5490
+ Ud as phoneSuffix,
5491
+ Fa as pickMailHeaders,
5492
+ Da as pickTemplate,
5493
+ Cc as placeLumps,
5494
+ gn as plainTextFromMarkdown,
5495
+ sl as planSlaEvent,
5496
+ Tc as plannedBillable,
5497
+ Wr as plannedWorkTypeKey,
5498
+ so as playbookActor,
5499
+ Wc as procedureOf,
5500
+ Gl as productScopeKey,
5501
+ yu as projectDossierKeys,
5502
+ Ni as publicBasePathFor,
5503
+ vd as publicRoutePatterns,
5504
+ Aa as reactionWakesAssignment,
5505
+ Hs as readDefaultFlags,
5463
5506
  ye as readPath,
5464
5507
  de as readStepError,
5465
- yr as recencyOf,
5466
- xa as recipientLocale,
5467
- co as refKey,
5468
- Zi as registrableDomain,
5469
- Bo as rejectExampleCandidate,
5470
- lc as relatedByDefault,
5508
+ br as recencyOf,
5509
+ Ra as recipientLocale,
5510
+ lo as refKey,
5511
+ Ji as registrableDomain,
5512
+ jo as rejectExampleCandidate,
5513
+ uc as relatedByDefault,
5471
5514
  Me as remainingMsOf,
5472
- Ur as requiredAgents,
5473
- Hr as requirementFor,
5474
- hi as resolveAccountCapabilities,
5515
+ Fr as requiredAgents,
5516
+ Gr as requirementFor,
5517
+ yi as resolveAccountCapabilities,
5475
5518
  be as resolveActivityText,
5476
- gi as resolveChannelIntents,
5477
- va as resolvePrice,
5478
- Qn as resolveSignature,
5479
- fd as resolveWorkMode,
5480
- bd as resourceKindOf,
5481
- _l as rollupChildren,
5519
+ hi as resolveChannelIntents,
5520
+ Ma as resolvePrice,
5521
+ Zn as resolveSignature,
5522
+ gd as resolveWorkMode,
5523
+ Ed as resourceKindOf,
5524
+ Tl as rollupChildren,
5482
5525
  z as roundHalfUp,
5483
- Oc as runActor,
5484
- qc as runInteractionId,
5485
- Wc as runKind,
5486
- Ln as sanitizeInline,
5487
- $i as sanitizeTranscript,
5488
- kc as scheduleEntryScopeKey,
5489
- Ha as scoreInteraction,
5490
- nu as scoreWorkItem,
5491
- tc as selectLenses,
5492
- Pr as serviceLevel,
5493
- Ru as sessionsHoldCannotReach,
5494
- xu as sessionsToHold,
5495
- Yl as shadowTermsByCode,
5496
- $t as shareKeyForTeam,
5497
- Dt as shareKeyForUser,
5498
- fa as shareKeysForViewer,
5499
- Tc as shortfalls,
5500
- pd as shouldRunAudioPipeline,
5501
- al as slaBadgeTone,
5502
- Ba as slaHoursByInbox,
5503
- _r as slaHoursFor,
5504
- ai as sortStatuses,
5505
- mi as sourceKey,
5506
- to as spreadOverWeights,
5507
- gu as statusIn,
5508
- _u as statusRequiresApproval,
5509
- Hc as stepsOf,
5510
- ul as strategyAncestorKeysFor,
5511
- ll as strategyDossierKeys,
5512
- en as strategyItemScopeKey,
5513
- gn as stripHtml,
5514
- Yc as subjectKeyOf,
5515
- Xt as subjectOf,
5516
- Ou as subjectRef,
5517
- fu as suggestProjectKey,
5518
- bl as suggestedHealth,
5519
- Qc as summarizeReactions,
5520
- Dc as targetById,
5521
- Rc as targetForActivityType,
5522
- Sl as targetOrder,
5523
- Mr as taxRateFor,
5524
- Rr as termsFor,
5525
- oo as toActingIdentity,
5526
- St as toE164,
5527
- ql as toTransactionTerm,
5528
- ao as toolBareName,
5529
- Pc as toolDisplayName,
5526
+ Nc as runActor,
5527
+ Qc as runInteractionId,
5528
+ zc as runKind,
5529
+ Pn as sanitizeInline,
5530
+ Li as sanitizeTranscript,
5531
+ wc as scheduleEntryScopeKey,
5532
+ Ga as scoreInteraction,
5533
+ iu as scoreWorkItem,
5534
+ nc as selectLenses,
5535
+ Kr as serviceLevel,
5536
+ Lu as sessionsHoldCannotReach,
5537
+ $u as sessionsToHold,
5538
+ Zl as shadowTermsByCode,
5539
+ Lt as shareKeyForTeam,
5540
+ $t as shareKeyForUser,
5541
+ pa as shareKeysForViewer,
5542
+ Ic as shortfalls,
5543
+ hd as shouldRunAudioPipeline,
5544
+ ul as slaBadgeTone,
5545
+ ja as slaHoursByInbox,
5546
+ Er as slaHoursFor,
5547
+ ci as sortStatuses,
5548
+ gi as sourceKey,
5549
+ no as spreadOverWeights,
5550
+ bu as statusIn,
5551
+ Tu as statusRequiresApproval,
5552
+ Gc as stepsOf,
5553
+ pl as strategyAncestorKeysFor,
5554
+ fl as strategyDossierKeys,
5555
+ tn as strategyItemScopeKey,
5556
+ hn as stripHtml,
5557
+ qc as subjectKeyOf,
5558
+ Yt as subjectOf,
5559
+ Ru as subjectRef,
5560
+ gu as suggestProjectKey,
5561
+ El as suggestedHealth,
5562
+ Zc as summarizeReactions,
5563
+ $c as targetById,
5564
+ Dc as targetForActivityType,
5565
+ kl as targetOrder,
5566
+ Cr as taxRateFor,
5567
+ Dr as termsFor,
5568
+ io as toActingIdentity,
5569
+ Tt as toE164,
5570
+ Jl as toTransactionTerm,
5571
+ co as toolBareName,
5572
+ Kc as toolDisplayName,
5530
5573
  ne as toolName,
5531
- wu as toolReversible,
5532
- pa as toolSourceKinds,
5533
- Od as toolVerdict,
5534
- jo as topicOfferedForTeam,
5535
- xl as topicsForTeam,
5536
- Kr as trafficIntensity,
5537
- Pl as transactionContext,
5538
- Hl as transactionDossierKeys,
5539
- jl as transactionIdFromScope,
5574
+ Cu as toolReversible,
5575
+ ma as toolSourceKinds,
5576
+ Rd as toolVerdict,
5577
+ Ho as topicOfferedForTeam,
5578
+ $l as topicsForTeam,
5579
+ Ur as trafficIntensity,
5580
+ Fl as transactionContext,
5581
+ zl as transactionDossierKeys,
5582
+ Wl as transactionIdFromScope,
5540
5583
  F as transactionKind,
5541
- Jo as transactionScopeKey,
5542
- Kl as transactionSlots,
5543
- dc as transactionTotals,
5544
- Uc as triggerFillsVar,
5545
- Fo as truncateExample,
5546
- iu as typeIn,
5547
- ou as typesFor,
5548
- bu as uniqueWorkStatusKey,
5549
- vl as uniqueWorkTypeKey,
5550
- Cn as usageMetricId,
5551
- ra as usageMetrics,
5552
- Au as validateStatuses,
5553
- xc as valueAtPath,
5584
+ ei as transactionScopeKey,
5585
+ Bl as transactionSlots,
5586
+ fc as transactionTotals,
5587
+ Fc as triggerFillsVar,
5588
+ Bo as truncateExample,
5589
+ cu as typeIn,
5590
+ au as typesFor,
5591
+ Eu as uniqueWorkStatusKey,
5592
+ Ol as uniqueWorkTypeKey,
5593
+ On as usageMetricId,
5594
+ oa as usageMetrics,
5595
+ Su as validateStatuses,
5596
+ Rc as valueAtPath,
5554
5597
  Re as waitHoursOf,
5555
- ya as wakesAssignment,
5556
- lu as workActivityScopeKey,
5557
- oi as workItemScopeKey,
5558
- tn as workProjectScopeKey,
5559
- Al as workRatio,
5560
- ci as workStatusKey,
5561
- Lo as workTypeKey,
5598
+ ba as wakesAssignment,
5599
+ fu as workActivityScopeKey,
5600
+ ii as workItemScopeKey,
5601
+ nn as workProjectScopeKey,
5602
+ Sl as workRatio,
5603
+ li as workStatusKey,
5604
+ Po as workTypeKey,
5562
5605
  Ie as workingMsBetween,
5563
- wc as workstreamScopeKey
5606
+ vc as workstreamScopeKey
5564
5607
  };