@opencxh/domain 1.265.0 → 1.266.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,58 +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 mo(e) {
2586
+ function zc(e) {
2587
+ return e.assignmentId ? "assignment" : e.decider?.kind === "procedure" ? "procedure" : "workflow";
2588
+ }
2589
+ function go(e) {
2587
2590
  const t = e?.approved ?? 0, n = t + (e?.rejected ?? 0);
2588
2591
  return { total: n, rate: n ? t / n : 0 };
2589
2592
  }
2590
- const go = 10, ho = 0.9;
2591
- function Wc(e) {
2592
- const { total: t, rate: n } = mo(e);
2593
- return t >= go && n >= ho;
2593
+ const ho = 10, yo = 0.9;
2594
+ function Vc(e) {
2595
+ const { total: t, rate: n } = go(e);
2596
+ return t >= ho && n >= yo;
2594
2597
  }
2595
- const yo = ["done", "escalated", "failed", "stopped"];
2596
- function zc(e) {
2597
- return yo.includes(e);
2598
+ const bo = ["done", "escalated", "failed", "stopped"];
2599
+ function Xc(e) {
2600
+ return bo.includes(e);
2598
2601
  }
2599
- function bo(e) {
2602
+ function Ao(e) {
2600
2603
  return e === "waiting";
2601
2604
  }
2602
- function Vc(e) {
2603
- return e === "running" || bo(e);
2605
+ function Yc(e) {
2606
+ return e === "running" || Ao(e);
2604
2607
  }
2605
- function Xt(e) {
2608
+ function Yt(e) {
2606
2609
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
2607
2610
  }
2608
- function Xc(e) {
2609
- const t = Xt(e);
2610
- return t ? co(t) : void 0;
2611
+ function qc(e) {
2612
+ const t = Yt(e);
2613
+ return t ? lo(t) : void 0;
2611
2614
  }
2612
- function Yc(e) {
2613
- return uo(Xt(e));
2615
+ function Qc(e) {
2616
+ return fo(Yt(e));
2614
2617
  }
2615
- function qc(e) {
2618
+ function Zc(e) {
2616
2619
  const t = [], n = /* @__PURE__ */ new Map();
2617
- for (const r of [...e].sort(Ao)) {
2620
+ for (const r of [...e].sort(_o)) {
2618
2621
  const o = n.get(r.emoji);
2619
2622
  if (o) {
2620
2623
  o.push(r.actor);
@@ -2627,58 +2630,98 @@ function qc(e) {
2627
2630
  return { emoji: r, count: o.length, actors: o };
2628
2631
  }).sort((r, o) => o.count - r.count || t.indexOf(r.emoji) - t.indexOf(o.emoji));
2629
2632
  }
2630
- const Ao = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
2631
- function Qc(e, t) {
2633
+ const _o = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
2634
+ function Jc(e, t) {
2632
2635
  return t ? e.actors.some((n) => n.type === "user" && n.id === t) : !1;
2633
2636
  }
2634
- const Te = 6e4, _o = 36e5, X = 864e5, Yt = 800;
2635
- 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) {
2636
2679
  const n = Date.UTC(e, t + 1, 0);
2637
- return n - new Date(n).getUTCDay() * X + _o;
2680
+ return n - new Date(n).getUTCDay() * X + Eo;
2638
2681
  }
2639
- function Eo(e) {
2682
+ function So(e) {
2640
2683
  const t = new Date(e).getUTCFullYear();
2641
- return e >= lt(t, 2) && e < lt(t, 9);
2684
+ return e >= ut(t, 2) && e < ut(t, 9);
2642
2685
  }
2643
- function qt(e, t) {
2644
- const n = t.dst === "eu" && Eo(e) ? 60 : 0;
2686
+ function Qt(e, t) {
2687
+ const n = t.dst === "eu" && So(e) ? 60 : 0;
2645
2688
  return (t.utcOffsetMinutes + n) * Te;
2646
2689
  }
2647
- function So(e) {
2690
+ function To(e) {
2648
2691
  return (e + 3) % 7 + 1;
2649
2692
  }
2650
- function Qt(e, t) {
2651
- const n = qt(e, t), r = e + n, o = Math.floor(r / X);
2652
- 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;
2653
2696
  const i = o * X;
2654
2697
  return {
2655
2698
  open: i + t.fromMinutes * Te - n,
2656
2699
  close: i + t.toMinutes * Te - n
2657
2700
  };
2658
2701
  }
2659
- function Zt(e, t) {
2660
- const n = qt(e, t), r = e + n;
2702
+ function Jt(e, t) {
2703
+ const n = Qt(e, t), r = e + n;
2661
2704
  return (Math.floor(r / X) + 1) * X - n;
2662
2705
  }
2663
2706
  function Ie(e, t, n) {
2664
2707
  if (t <= e) return 0;
2665
2708
  if (!n) return t - e;
2666
2709
  let r = 0, o = e;
2667
- for (let i = 0; i < Yt && o < t; i++) {
2668
- const s = Qt(o, n);
2710
+ for (let i = 0; i < qt && o < t; i++) {
2711
+ const s = Zt(o, n);
2669
2712
  if (s) {
2670
2713
  const a = Math.max(o, s.open), u = Math.min(t, s.close);
2671
2714
  u > a && (r += u - a);
2672
2715
  }
2673
- o = Zt(o, n);
2716
+ o = Jt(o, n);
2674
2717
  }
2675
2718
  return r;
2676
2719
  }
2677
2720
  function $e(e, t, n) {
2678
2721
  if (!n) return e + t;
2679
2722
  let r = t, o = e;
2680
- for (let i = 0; i < Yt; i++) {
2681
- const s = Qt(o, n);
2723
+ for (let i = 0; i < qt; i++) {
2724
+ const s = Zt(o, n);
2682
2725
  if (s) {
2683
2726
  const a = Math.max(o, s.open);
2684
2727
  if (s.close > a) {
@@ -2687,65 +2730,65 @@ function $e(e, t, n) {
2687
2730
  r -= u;
2688
2731
  }
2689
2732
  }
2690
- o = Zt(o, n);
2733
+ o = Jt(o, n);
2691
2734
  }
2692
2735
  return e + t;
2693
2736
  }
2694
- function Zc(e) {
2737
+ function nl(e) {
2695
2738
  const t = /^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);
2696
2739
  return t ? Number(t[1]) * 60 + Number(t[2]) : null;
2697
2740
  }
2698
2741
  const ke = 1, we = 2, ve = 4;
2699
- function Jc(e) {
2742
+ function rl(e) {
2700
2743
  return e === "snoozed" ? ke : we;
2701
2744
  }
2702
2745
  function Le(e) {
2703
2746
  const t = e.calendar;
2704
2747
  return t && Array.isArray(t.days) ? t : null;
2705
2748
  }
2706
- const el = [
2749
+ const ol = [
2707
2750
  "speed_of_answer",
2708
2751
  "first_response",
2709
2752
  "next_response",
2710
2753
  "resolution",
2711
2754
  "close"
2712
- ], tl = ["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"];
2713
2756
  function Y(e) {
2714
2757
  return e.state === "running" || e.state === "paused";
2715
2758
  }
2716
- function ko(e, t) {
2759
+ function wo(e, t) {
2717
2760
  return Y(e) ? { state: (e.state === "paused" ? e.remainingMs > 0 : t <= e.dueAt) ? "hit" : "missed", settledAt: Math.max(t, e.startedAt) } : null;
2718
2761
  }
2719
- function ut(e) {
2762
+ function dt(e) {
2720
2763
  return Y(e) ? { state: "void" } : null;
2721
2764
  }
2722
- function wo(e, t, n, r) {
2765
+ function vo(e, t, n, r) {
2723
2766
  if (!Y(e) || (e.pauseBits & t) !== 0) return null;
2724
2767
  const o = e.pauseBits | t;
2725
2768
  return e.state === "paused" ? { pauseBits: o } : { pauseBits: o, state: "paused", remainingMs: Ie(n, e.dueAt, r) };
2726
2769
  }
2727
- function vo(e, t, n, r) {
2770
+ function Mo(e, t, n, r) {
2728
2771
  if (!Y(e) || (e.pauseBits & t) === 0) return null;
2729
2772
  const o = e.pauseBits & ~t;
2730
2773
  return o !== 0 ? { pauseBits: o } : { pauseBits: o, state: "running", dueAt: $e(n, e.remainingMs, r) };
2731
2774
  }
2732
- function nl({ event: e, at: t, now: n, clocks: r, profile: o }) {
2775
+ function sl({ event: e, at: t, now: n, clocks: r, profile: o }) {
2733
2776
  const i = Le(o), s = Math.min(t, n), a = r.map((h) => ({ ...h })), u = [], l = (h, g) => {
2734
2777
  g && (u.push({ op: "patch", clockId: h.id, patch: g }), Object.assign(h, g));
2735
2778
  }, d = (h) => {
2736
2779
  for (const g of a)
2737
- g.metric === h && l(g, ko(g, s));
2780
+ g.metric === h && l(g, wo(g, s));
2738
2781
  }, c = (h) => {
2739
2782
  for (const g of a)
2740
- h.includes(g.metric) && l(g, ut(g));
2783
+ h.includes(g.metric) && l(g, dt(g));
2741
2784
  }, f = (h) => {
2742
- for (const g of a) l(g, wo(g, h, s, i));
2743
- }, p = (h) => {
2744
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));
2745
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) => {
2746
2789
  const E = o.targets.find((C) => C.metric === h);
2747
2790
  if (!E) return;
2748
- const N = E.minutes * To;
2791
+ const N = E.minutes * Io;
2749
2792
  u.push({
2750
2793
  op: "start",
2751
2794
  metric: h,
@@ -2758,7 +2801,7 @@ function nl({ event: e, at: t, now: n, clocks: r, profile: o }) {
2758
2801
  switch (e) {
2759
2802
  case "apply": {
2760
2803
  for (const h of a)
2761
- h.profileId !== o.id && l(h, ut(h));
2804
+ h.profileId !== o.id && l(h, dt(h));
2762
2805
  for (const h of o.targets) {
2763
2806
  if (h.metric === "next_response") continue;
2764
2807
  a.some(
@@ -2782,7 +2825,7 @@ function nl({ event: e, at: t, now: n, clocks: r, profile: o }) {
2782
2825
  d("resolution");
2783
2826
  break;
2784
2827
  case "closed":
2785
- d("close"), d("resolution"), c(Jt);
2828
+ d("close"), d("resolution"), c(en);
2786
2829
  break;
2787
2830
  case "reopened":
2788
2831
  m("resolution") || S("resolution", s), m("close") || S("close", s);
@@ -2803,33 +2846,33 @@ function nl({ event: e, at: t, now: n, clocks: r, profile: o }) {
2803
2846
  p(ve);
2804
2847
  break;
2805
2848
  case "discarded":
2806
- c(Io);
2849
+ c(ko);
2807
2850
  break;
2808
2851
  }
2809
2852
  return u;
2810
2853
  }
2811
- function Mo(e) {
2854
+ function Co(e) {
2812
2855
  return e.state === "running" || e.state === "paused";
2813
2856
  }
2814
- function rl(e) {
2857
+ function al(e) {
2815
2858
  return (e.pauseBits & ve) !== 0;
2816
2859
  }
2817
2860
  function Me(e, t) {
2818
2861
  const n = Le(e);
2819
2862
  return e.state === "paused" ? e.remainingMs : t >= e.dueAt ? -Ie(e.dueAt, t, n) : Ie(t, e.dueAt, n);
2820
2863
  }
2821
- function ol(e, t) {
2864
+ function cl(e, t) {
2822
2865
  return e.state === "paused" ? $e(t, e.remainingMs, Le(e)) : e.dueAt;
2823
2866
  }
2824
- function il(e, t) {
2825
- const n = e.filter(Mo);
2867
+ function ll(e, t) {
2868
+ const n = e.filter(Co);
2826
2869
  if (!n.length) return;
2827
2870
  const r = n.filter((i) => i.state === "running");
2828
2871
  return (r.length ? r : n).reduce(
2829
2872
  (i, s) => Me(s, t) < Me(i, t) ? s : i
2830
2873
  );
2831
2874
  }
2832
- function sl(e, t) {
2875
+ function ul(e, t) {
2833
2876
  if (e.state === "missed") return "breached";
2834
2877
  if (e.state === "hit") return "met";
2835
2878
  if (e.state === "paused") return "paused";
@@ -2837,41 +2880,41 @@ function sl(e, t) {
2837
2880
  const n = Me(e, t);
2838
2881
  return n <= 0 ? "breached" : n <= e.targetMs / 5 ? "urgent" : "running";
2839
2882
  }
2840
- function al(e) {
2883
+ function dl(e) {
2841
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);
2842
2885
  return n ? r ? `${n}d ${r}u` : `${n}d` : r ? o ? `${r}u ${o}m` : `${r}u` : o ? `${o}m` : `${t % 60}s`;
2843
2886
  }
2844
- const Co = "strategy_item";
2845
- function en(e) {
2846
- return `${Co}:${e}`;
2887
+ const Oo = "strategy_item";
2888
+ function tn(e) {
2889
+ return `${Oo}:${e}`;
2847
2890
  }
2848
- function cl(e, t = 25) {
2849
- const n = /* @__PURE__ */ new Set([en(e.id)]);
2891
+ function fl(e, t = 25) {
2892
+ const n = /* @__PURE__ */ new Set([tn(e.id)]);
2850
2893
  for (const r of e.ancestorKeys ?? []) n.add(r);
2851
2894
  return Array.from(n).slice(0, t);
2852
2895
  }
2853
- function ll(e) {
2854
- return e ? [...e.ancestorKeys ?? [], en(e.id)] : [];
2896
+ function pl(e) {
2897
+ return e ? [...e.ancestorKeys ?? [], tn(e.id)] : [];
2855
2898
  }
2856
2899
  const ie = [
2857
2900
  { key: "area", label: "level_area", order: 10, measurable: !1, icon: "compass" },
2858
2901
  { key: "objective", label: "level_objective", order: 20, measurable: !0, icon: "target" },
2859
2902
  { key: "key_result", label: "level_key_result", order: 30, measurable: !0, icon: "gauge" }
2860
- ], Oo = 999, No = 7;
2861
- function xo(e, t = ie) {
2903
+ ], No = 999, xo = 7;
2904
+ function Ro(e, t = ie) {
2862
2905
  return t.find((n) => n.key === e);
2863
2906
  }
2864
2907
  function Ce(e, t = ie) {
2865
- return xo(e, t)?.order ?? Oo;
2908
+ return Ro(e, t)?.order ?? No;
2866
2909
  }
2867
- function ul(e, t, n = ie) {
2910
+ function ml(e, t, n = ie) {
2868
2911
  return Ce(t, n) <= Ce(e, n);
2869
2912
  }
2870
- function dl(e, t = ie) {
2913
+ function gl(e, t = ie) {
2871
2914
  const n = Ce(e, t);
2872
2915
  return t.filter((o) => o.order > n).sort((o, i) => o.order - i.order)[0]?.key ?? e;
2873
2916
  }
2874
- function fl(e) {
2917
+ function hl(e) {
2875
2918
  const t = e.trim().toLowerCase();
2876
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;
2877
2920
  }
@@ -2884,74 +2927,74 @@ const Oe = {
2884
2927
  achieved: "closed",
2885
2928
  missed: "closed"
2886
2929
  };
2887
- function pl(e) {
2930
+ function yl(e) {
2888
2931
  return Oe[e] ?? "open";
2889
2932
  }
2890
- function ml(e) {
2933
+ function bl(e) {
2891
2934
  return Object.keys(Oe).filter(
2892
2935
  (t) => e.includes(Oe[t])
2893
2936
  );
2894
2937
  }
2895
- const Ro = 864e5, se = (e) => e <= 0 ? 0 : e > 1 ? 1 : e;
2896
- function gl(e, t) {
2938
+ const Do = 864e5, se = (e) => e <= 0 ? 0 : e > 1 ? 1 : e;
2939
+ function Al(e, t) {
2897
2940
  const { direction: n } = e, r = e.startValue ?? 0, o = e.targetValue ?? 0;
2898
2941
  if (!Number.isFinite(t)) return 0;
2899
2942
  const i = n === "down" ? t <= o : t >= o, s = o - r;
2900
2943
  return (n === "down" ? s < 0 : s > 0) ? se((t - r) / s) : i ? 1 : 0;
2901
2944
  }
2902
- function hl(e, t) {
2945
+ function _l(e, t) {
2903
2946
  const { startDate: n, targetDate: r } = e;
2904
2947
  if (!(typeof n != "number" || typeof r != "number") && !(r <= n))
2905
2948
  return se((t - n) / (r - n));
2906
2949
  }
2907
- const Do = 0.1, $o = 0.25;
2908
- function yl(e, t) {
2950
+ const $o = 0.1, Lo = 0.25;
2951
+ function El(e, t) {
2909
2952
  if (typeof e != "number" || typeof t != "number") return;
2910
2953
  if (e >= 1) return "achieved";
2911
2954
  const n = t - e;
2912
- return n >= $o ? "off_track" : n >= Do ? "at_risk" : "on_track";
2955
+ return n >= Lo ? "off_track" : n >= $o ? "at_risk" : "on_track";
2913
2956
  }
2914
- function bl(e, t) {
2957
+ function Sl(e, t) {
2915
2958
  if (t)
2916
2959
  return se(e / t);
2917
2960
  }
2918
- function Al(e) {
2961
+ function Tl(e) {
2919
2962
  const t = e.map((n) => n.progress?.ratio).filter((n) => typeof n == "number" && Number.isFinite(n));
2920
2963
  if (t.length)
2921
2964
  return se(t.reduce((n, r) => n + r, 0) / t.length);
2922
2965
  }
2923
- function _l(e, t) {
2966
+ function Il(e, t) {
2924
2967
  const n = e.lastCheckInAt ?? e.createdAt;
2925
2968
  if (typeof n != "number") return 0;
2926
- const r = (e.checkInEveryDays ?? No) * Ro, o = t - n - r;
2969
+ const r = (e.checkInEveryDays ?? xo) * Do, o = t - n - r;
2927
2970
  return o > 0 ? o : 0;
2928
2971
  }
2929
- function El(e) {
2972
+ function kl(e) {
2930
2973
  return e.targetDate ?? Number.MAX_SAFE_INTEGER;
2931
2974
  }
2932
- function Sl(e, t) {
2975
+ function wl(e, t) {
2933
2976
  const n = e.accumulatedSeconds || 0;
2934
2977
  return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
2935
2978
  }
2936
- function Tl(e, t) {
2979
+ function vl(e, t) {
2937
2980
  const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
2938
2981
  if (!t || t === "exact") return n * 60;
2939
2982
  const r = Number(t);
2940
2983
  return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
2941
2984
  }
2942
- function Il(e) {
2985
+ function Ml(e) {
2943
2986
  const t = Math.max(0, Math.round(e / 60));
2944
2987
  return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
2945
2988
  }
2946
- function kl(e) {
2989
+ function Cl(e) {
2947
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);
2948
2991
  return o > 0 ? `${o}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
2949
2992
  }
2950
- function Lo(e) {
2993
+ function Po(e) {
2951
2994
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
2952
2995
  }
2953
- function wl(e, t) {
2954
- const n = Lo(e) || "werksoort", r = new Set(t);
2996
+ function Ol(e, t) {
2997
+ const n = Po(e) || "werksoort", r = new Set(t);
2955
2998
  if (!r.has(n)) return n;
2956
2999
  for (let o = 2; o < 500; o++) {
2957
3000
  const i = `${n}-${o}`;
@@ -2959,57 +3002,57 @@ function wl(e, t) {
2959
3002
  }
2960
3003
  return `${n}-${r.size + 1}`;
2961
3004
  }
2962
- function vl(e, t) {
3005
+ function Nl(e, t) {
2963
3006
  const n = e.ownerScope;
2964
3007
  return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
2965
3008
  }
2966
- function Ml(e) {
2967
- return e.filter((t) => !t.archived).sort(Po);
3009
+ function xl(e) {
3010
+ return e.filter((t) => !t.archived).sort(Ko);
2968
3011
  }
2969
- function Po(e, t) {
3012
+ function Ko(e, t) {
2970
3013
  const n = (e.order ?? 0) - (t.order ?? 0);
2971
3014
  return n !== 0 ? n : (e.label || "").localeCompare(t.label || "");
2972
3015
  }
2973
- const Ko = 20, Uo = 20, me = 300;
3016
+ const Uo = 20, Fo = 20, me = 300;
2974
3017
  function P(e) {
2975
3018
  return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
2976
3019
  }
2977
- function Fo(e) {
3020
+ function Bo(e) {
2978
3021
  const t = e.replace(/\s+/g, " ").trim();
2979
3022
  if (t.length <= me) return t;
2980
3023
  const n = t.slice(0, me), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
2981
3024
  return r > me * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
2982
3025
  }
2983
- function Cl(e, t) {
2984
- const n = Fo(t.text), r = P(n);
3026
+ function Rl(e, t) {
3027
+ const n = Bo(t.text), r = P(n);
2985
3028
  if (!r || (e.examples ?? []).some((s) => P(s) === r)) return null;
2986
3029
  const o = e.exampleCandidates ?? [], i = o.findIndex((s) => P(s.text) === r);
2987
3030
  if (i >= 0) {
2988
3031
  if (o[i].corrected || !t.corrected) return null;
2989
3032
  const s = [...o];
2990
- 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);
2991
3034
  }
2992
- return dt([{ ...t, text: n }, ...o]).slice(0, Uo);
3035
+ return ft([{ ...t, text: n }, ...o]).slice(0, Fo);
2993
3036
  }
2994
- function dt(e) {
3037
+ function ft(e) {
2995
3038
  return [...e].sort(
2996
3039
  (t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt
2997
3040
  );
2998
3041
  }
2999
- function Ol(e, t) {
3042
+ function Dl(e, t) {
3000
3043
  const n = P(t), r = (e.examples ?? []).filter((i) => i.trim());
3001
- 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) };
3002
3045
  }
3003
- function Bo(e, t) {
3046
+ function jo(e, t) {
3004
3047
  const n = P(t);
3005
3048
  return (e.exampleCandidates ?? []).filter((r) => P(r.text) !== n);
3006
3049
  }
3007
- function jo(e, t) {
3050
+ function Ho(e, t) {
3008
3051
  const n = e.ownerScope;
3009
3052
  return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
3010
3053
  }
3011
- function Nl(e, t) {
3012
- return e.filter((n) => jo(n, t));
3054
+ function $l(e, t) {
3055
+ return e.filter((n) => Ho(n, t));
3013
3056
  }
3014
3057
  const Pe = [
3015
3058
  {
@@ -3050,11 +3093,11 @@ const Pe = [
3050
3093
  path: "invoices",
3051
3094
  issuedStatus: "open"
3052
3095
  }
3053
- ], Ho = ["quote", "order", "invoice"];
3054
- function xl() {
3096
+ ], Go = ["quote", "order", "invoice"];
3097
+ function Ll() {
3055
3098
  const e = /* @__PURE__ */ new Map();
3056
3099
  for (const t of Pe)
3057
- 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));
3058
3101
  return [...e.values()];
3059
3102
  }
3060
3103
  function F(e) {
@@ -3068,10 +3111,10 @@ function F(e) {
3068
3111
  issuedStatus: "draft"
3069
3112
  };
3070
3113
  }
3071
- function Rl(e) {
3114
+ function Pl(e) {
3072
3115
  return e.issuedAt != null;
3073
3116
  }
3074
- const Dl = [
3117
+ const Kl = [
3075
3118
  "status",
3076
3119
  "fileRef",
3077
3120
  "number",
@@ -3080,7 +3123,7 @@ const Dl = [
3080
3123
  "dunning",
3081
3124
  "updatedAt"
3082
3125
  ];
3083
- function Go(e, t) {
3126
+ function Wo(e, t) {
3084
3127
  const n = F(t).signFlip !== F(e.kindKey).signFlip, r = e.lines.map((o) => ({
3085
3128
  ...o,
3086
3129
  quantity: n ? -o.quantity : o.quantity,
@@ -3119,9 +3162,9 @@ function Go(e, t) {
3119
3162
  source: e.source
3120
3163
  };
3121
3164
  }
3122
- function $l(e) {
3165
+ function Ul(e) {
3123
3166
  return {
3124
- ...Go(e, e.kindKey),
3167
+ ...Wo(e, e.kindKey),
3125
3168
  sourceTransactionId: e.sourceTransactionId,
3126
3169
  previousVersionId: e.id,
3127
3170
  version: e.version + 1,
@@ -3129,7 +3172,7 @@ function $l(e) {
3129
3172
  totals: e.totals
3130
3173
  };
3131
3174
  }
3132
- function Ll(e, t = {}) {
3175
+ function Fl(e, t = {}) {
3133
3176
  const n = F(e.kindKey), r = e.totals ?? { netCents: 0, taxCents: 0, grossCents: 0 };
3134
3177
  return {
3135
3178
  customer: {
@@ -3138,7 +3181,7 @@ function Ll(e, t = {}) {
3138
3181
  // One token per line of the address, plus `street` on its own for a template that wants
3139
3182
  // the house number elsewhere. Empty stays empty: `fillText` reports it as a hole, and a
3140
3183
  // recipient block missing its street is exactly what the issue gate has to refuse.
3141
- address: Vo(t.companyAddress),
3184
+ address: Xo(t.companyAddress),
3142
3185
  street: t.companyAddress?.street ?? "",
3143
3186
  house_number: t.companyAddress?.houseNumber ?? "",
3144
3187
  postal_code: t.companyAddress?.postalCode ?? "",
@@ -3175,7 +3218,7 @@ function Ll(e, t = {}) {
3175
3218
  }
3176
3219
  };
3177
3220
  }
3178
- function Pl(e, t = [], n = Wo) {
3221
+ function Bl(e, t = [], n = zo) {
3179
3222
  const r = e.totals ?? { netCents: 0, grossCents: 0, byRate: [] }, o = (a) => t.find((u) => u.key === a)?.percent ?? 0, i = {
3180
3223
  block_id: "lines",
3181
3224
  type: "table",
@@ -3190,8 +3233,8 @@ function Pl(e, t = [], n = Wo) {
3190
3233
  // A text line spans as a heading: empty money cells would read as "free".
3191
3234
  [a.name, "", "", ""]
3192
3235
  ) : [
3193
- zo(a.name, a.description, a.optional, n.optional),
3194
- Xo(a.quantity),
3236
+ Vo(a.name, a.description, a.optional, n.optional),
3237
+ Yo(a.quantity),
3195
3238
  D(a.unitPriceCents),
3196
3239
  D(a.netCents)
3197
3240
  ]
@@ -3210,7 +3253,7 @@ function Pl(e, t = [], n = Wo) {
3210
3253
  };
3211
3254
  return { lines: [i], totals: [s] };
3212
3255
  }
3213
- const Wo = {
3256
+ const zo = {
3214
3257
  description: "Omschrijving",
3215
3258
  optional: "optioneel",
3216
3259
  quantity: "Aantal",
@@ -3219,14 +3262,14 @@ const Wo = {
3219
3262
  tax: "Btw",
3220
3263
  gross: "Totaal"
3221
3264
  };
3222
- function zo(e, t, n, r) {
3265
+ function Vo(e, t, n, r) {
3223
3266
  const o = t ? `${e} — ${t}` : e;
3224
3267
  return n ? `${o} (${r})` : o;
3225
3268
  }
3226
- function Vo(e) {
3269
+ function Xo(e) {
3227
3270
  return e?.street ? [e.street, e.houseNumber].filter(Boolean).join(" ") : "";
3228
3271
  }
3229
- function Xo(e) {
3272
+ function Yo(e) {
3230
3273
  return Number.isInteger(e) ? String(e) : String(e).replace(".", ",");
3231
3274
  }
3232
3275
  function K(e) {
@@ -3234,14 +3277,14 @@ function K(e) {
3234
3277
  const t = new Date(e), n = (r) => String(r).padStart(2, "0");
3235
3278
  return `${n(t.getDate())}-${n(t.getMonth() + 1)}-${t.getFullYear()}`;
3236
3279
  }
3237
- function Yo(e) {
3280
+ function qo(e) {
3238
3281
  const t = F(e), n = t.key, r = t.numbered;
3239
3282
  return [
3240
3283
  {
3241
3284
  block_id: "head",
3242
3285
  type: "letterhead",
3243
3286
  fields: [
3244
- ...r ? [{ key: "number", label: qo[n]?.number ?? "Nummer", value: `{${n}.number}` }] : [],
3287
+ ...r ? [{ key: "number", label: Qo[n]?.number ?? "Nummer", value: `{${n}.number}` }] : [],
3245
3288
  { key: "date", label: "Datum", value: `{${n}.date}` },
3246
3289
  ...r ? [{ key: "due_date", label: "Vervaldatum", value: `{${n}.due_date}` }] : [{ key: "valid_until", label: "Geldig tot", value: `{${n}.valid_until}` }],
3247
3290
  { key: "reference", label: "Referentie", value: `{${n}.reference}` }
@@ -3254,7 +3297,7 @@ function Yo(e) {
3254
3297
  ]
3255
3298
  },
3256
3299
  { block_id: "title", type: "heading", level: 1, text: `{${n}.title}` },
3257
- { block_id: "intro", type: "paragraph", text: ft[n] ?? ft.quote },
3300
+ { block_id: "intro", type: "paragraph", text: pt[n] ?? pt.quote },
3258
3301
  /**
3259
3302
  * The service period, when there is one — a subscription invoice says which quarter it bills.
3260
3303
  *
@@ -3279,17 +3322,17 @@ function Yo(e) {
3279
3322
  text: `Betaling: {${n}.payment_term}. Wij verzoeken u het bedrag vóór {${n}.due_date} over te maken onder vermelding van {${n}.number}.`
3280
3323
  }
3281
3324
  ] : [],
3282
- { block_id: "terms", type: "paragraph", text: pt[n] ?? pt.quote }
3325
+ { block_id: "terms", type: "paragraph", text: mt[n] ?? mt.quote }
3283
3326
  ];
3284
3327
  }
3285
- const Kl = (e) => ({
3328
+ const jl = (e) => ({
3286
3329
  note: { key: `${F(e).key}.note`, exists: !0 },
3287
3330
  // Keyed on the start: a range without one is not a range, and `period_to` alone says nothing.
3288
3331
  period: { key: `${F(e).key}.period_from`, exists: !0 }
3289
- }), qo = {
3332
+ }), Qo = {
3290
3333
  invoice: { number: "Factuurnummer" },
3291
3334
  credit_note: { number: "Creditnotanummer" }
3292
- }, ft = {
3335
+ }, pt = {
3293
3336
  quote: `Beste {customer.contact},
3294
3337
 
3295
3338
  Hierbij onze offerte. Hieronder vindt u de specificatie.`,
@@ -3302,47 +3345,47 @@ Hierbij onze factuur. Hieronder vindt u de specificatie.`,
3302
3345
  credit_note: `Beste {customer.contact},
3303
3346
 
3304
3347
  Hierbij onze creditnota. De onderstaande bedragen worden met u verrekend.`
3305
- }, pt = {
3348
+ }, mt = {
3306
3349
  quote: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld. Deze offerte is geldig tot {quote.valid_until}.",
3307
3350
  order: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld.",
3308
3351
  invoice: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld.",
3309
3352
  credit_note: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld."
3310
- }, Ul = Yo("quote"), Qo = Pe.map((e) => e.key), Zo = "product";
3311
- function Jo(e, t) {
3353
+ }, Hl = qo("quote"), Zo = Pe.map((e) => e.key), Jo = "product";
3354
+ function ei(e, t) {
3312
3355
  return `${e}:${t}`;
3313
3356
  }
3314
- function Fl(e) {
3315
- return `${Zo}:${e}`;
3357
+ function Gl(e) {
3358
+ return `${Jo}:${e}`;
3316
3359
  }
3317
- function Bl(e) {
3360
+ function Wl(e) {
3318
3361
  const t = e.indexOf(":");
3319
3362
  if (t < 0) return;
3320
3363
  const n = e.slice(0, t);
3321
- return Qo.includes(n) ? e.slice(t + 1) : void 0;
3364
+ return Zo.includes(n) ? e.slice(t + 1) : void 0;
3322
3365
  }
3323
- function jl(e) {
3324
- 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)]);
3325
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);
3326
3369
  }
3327
- const Hl = 4;
3328
- function Gl(e, t) {
3370
+ const Vl = 4;
3371
+ function Xl(e, t) {
3329
3372
  const n = String(t).padStart(Math.max(1, e.padding), "0");
3330
3373
  return `${e.prefix}${e.period ? `${e.period}-` : ""}${n}`;
3331
3374
  }
3332
- function Wl(e, t = Date.now()) {
3375
+ function Yl(e, t = Date.now()) {
3333
3376
  return e === "year" ? String(new Date(t).getFullYear()) : "";
3334
3377
  }
3335
- const zl = [
3378
+ const ql = [
3336
3379
  "cash",
3337
3380
  "credit",
3338
3381
  "direct_debit",
3339
3382
  "card",
3340
3383
  "other"
3341
3384
  ];
3342
- function Vl(e, t) {
3385
+ function Ql(e, t) {
3343
3386
  return e + Math.max(0, Math.round(t)) * 24 * 60 * 60 * 1e3;
3344
3387
  }
3345
- function Xl(e, t) {
3388
+ function Zl(e, t) {
3346
3389
  const n = /* @__PURE__ */ new Map();
3347
3390
  for (const r of e) r.businessEntityId || n.set(r.code, r);
3348
3391
  if (t)
@@ -3350,10 +3393,10 @@ function Xl(e, t) {
3350
3393
  r.businessEntityId === t && n.set(r.code, r);
3351
3394
  return [...n.values()];
3352
3395
  }
3353
- function Yl(e) {
3396
+ function Jl(e) {
3354
3397
  return { code: e.code, label: e.label, method: e.method, dueDays: e.dueDays };
3355
3398
  }
3356
- const ql = [
3399
+ const eu = [
3357
3400
  {
3358
3401
  code: "14D",
3359
3402
  label: "Binnen 14 dagen",
@@ -3365,25 +3408,25 @@ const ql = [
3365
3408
  { code: "30D", label: "Binnen 30 dagen", method: "credit", dueDays: 30, order: 1 },
3366
3409
  { code: "CONTANT", label: "Contant", method: "cash", dueDays: 0, order: 2 }
3367
3410
  ];
3368
- function Ql(e) {
3411
+ function tu(e) {
3369
3412
  return e.type === "agent";
3370
3413
  }
3371
- const Zl = "WORK_COMMENT_ADDED", Jl = "WORK_ITEM_ASSIGNED", eu = "WORK_ITEM_STATUS_CHANGED";
3372
- function ei(e, t) {
3414
+ const nu = "WORK_COMMENT_ADDED", ru = "WORK_ITEM_ASSIGNED", ou = "WORK_ITEM_STATUS_CHANGED";
3415
+ function ti(e, t) {
3373
3416
  const n = (r) => {
3374
3417
  const o = new Date(r);
3375
3418
  return o.setHours(0, 0, 0, 0), o.getTime();
3376
3419
  };
3377
- return Math.round((n(e) - n(t)) / or);
3420
+ return Math.round((n(e) - n(t)) / ir);
3378
3421
  }
3379
- function tu(e, t) {
3422
+ function iu(e, t) {
3380
3423
  if (e.closedAt != null) return { score: L, reasons: [] };
3381
3424
  const n = t.remindersById?.[e.id];
3382
3425
  if (n && n.remindAt > t.now) return { score: L, reasons: [] };
3383
3426
  let r = 0;
3384
3427
  const o = [], i = e.priority ?? "normal";
3385
3428
  if (te[i] > 0 && (r += te[i], o.push(`priority:${i}`)), typeof e.dueDate == "number") {
3386
- const s = ei(e.dueDate, t.now);
3429
+ const s = ti(e.dueDate, t.now);
3387
3430
  s < 0 ? (r += 35, o.push("overdue")) : s === 0 && (r += 20, o.push("due-today"));
3388
3431
  }
3389
3432
  return e.source?.initiator === "system" && e.source.systemReason && (r += 15, o.push(`auto:${e.source.systemReason}`)), { score: r, reasons: o };
@@ -3396,35 +3439,35 @@ const Ke = [
3396
3439
  { key: "subtask", label: "type_subtask" },
3397
3440
  { key: "case", label: "type_case" },
3398
3441
  { key: "deal", label: "type_deal" }
3399
- ], nu = Ke.map((e) => e.key);
3400
- function ru(e) {
3442
+ ], su = Ke.map((e) => e.key);
3443
+ function au(e) {
3401
3444
  return e?.types?.length ? e.types : Ke;
3402
3445
  }
3403
- function ou(e, t) {
3446
+ function cu(e, t) {
3404
3447
  return t.find((n) => n.key === e);
3405
3448
  }
3406
- function iu(e) {
3449
+ function lu(e) {
3407
3450
  const t = e.trim().toLowerCase();
3408
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;
3409
3452
  }
3410
- function su(...e) {
3453
+ function uu(...e) {
3411
3454
  return e.map((t) => Ke.find((n) => n.key === t)).filter((t) => !!t);
3412
3455
  }
3413
- const ti = "work_item", ni = "work_project", ri = "work_activity", au = "work_cycle";
3414
- function oi(e) {
3415
- return `${ti}:${e}`;
3416
- }
3417
- function tn(e) {
3456
+ const ni = "work_item", ri = "work_project", oi = "work_activity", du = "work_cycle";
3457
+ function ii(e) {
3418
3458
  return `${ni}:${e}`;
3419
3459
  }
3420
- function cu(e) {
3460
+ function nn(e) {
3421
3461
  return `${ri}:${e}`;
3422
3462
  }
3423
- function lu(e, t, n) {
3463
+ function fu(e) {
3464
+ return `${oi}:${e}`;
3465
+ }
3466
+ function pu(e, t, n) {
3424
3467
  const r = `${e}-${t}`;
3425
3468
  return n ? `${r}-${n}` : r;
3426
3469
  }
3427
- function uu(e) {
3470
+ function mu(e) {
3428
3471
  const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
3429
3472
  return t ? {
3430
3473
  projectKey: t[1].toUpperCase(),
@@ -3432,52 +3475,52 @@ function uu(e) {
3432
3475
  ...t[3] ? { subSequence: Number(t[3]) } : {}
3433
3476
  } : null;
3434
3477
  }
3435
- function du(e) {
3478
+ function gu(e) {
3436
3479
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
3437
3480
  }
3438
- function fu(e, t = 25) {
3439
- const n = /* @__PURE__ */ new Set([oi(e.id)]);
3440
- 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));
3441
3484
  for (const r of e.ancestorKeys ?? []) n.add(r);
3442
3485
  for (const r of e.partyKeys ?? []) n.add(r);
3443
3486
  return Array.from(n).slice(0, t);
3444
3487
  }
3445
- function pu(e) {
3446
- return [tn(e.id)];
3488
+ function yu(e) {
3489
+ return [nn(e.id)];
3447
3490
  }
3448
3491
  const Ue = [
3449
3492
  { key: "open", label: "status_open", category: "todo", order: 0 },
3450
3493
  { key: "in_progress", label: "status_in_progress", category: "in_progress", order: 1 },
3451
3494
  { key: "done", label: "status_done", category: "done", order: 2 },
3452
3495
  { key: "cancelled", label: "status_cancelled", category: "done", order: 3 }
3453
- ], nn = Ue.map((e) => e.key);
3454
- function ii(e) {
3496
+ ], rn = Ue.map((e) => e.key);
3497
+ function si(e) {
3455
3498
  return e?.statuses?.length ? e.statuses : Ue;
3456
3499
  }
3457
- function si(e, t) {
3500
+ function ai(e, t) {
3458
3501
  return t.find((n) => n.key === e)?.category ?? "todo";
3459
3502
  }
3460
- function mu(e, t) {
3503
+ function bu(e, t) {
3461
3504
  return t.find((n) => n.key === e);
3462
3505
  }
3463
- function gu(e) {
3464
- const t = ii(e), n = e?.defaultStatusKey;
3465
- 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;
3466
3509
  }
3467
- function ai(e) {
3510
+ function ci(e) {
3468
3511
  return [...e].sort((t, n) => {
3469
3512
  const r = (t.order ?? 0) - (n.order ?? 0);
3470
3513
  return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
3471
3514
  });
3472
3515
  }
3473
- function hu(e, t) {
3474
- return si(e, t) === "done";
3516
+ function _u(e, t) {
3517
+ return ai(e, t) === "done";
3475
3518
  }
3476
- function ci(e) {
3519
+ function li(e) {
3477
3520
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
3478
3521
  }
3479
- function yu(e, t) {
3480
- 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]);
3481
3524
  if (!r.has(n)) return n;
3482
3525
  for (let o = 2; o < 500; o++) {
3483
3526
  const i = `${n}-${o}`;
@@ -3485,7 +3528,7 @@ function yu(e, t) {
3485
3528
  }
3486
3529
  return `${n}-${r.size + 1}`;
3487
3530
  }
3488
- function bu(e) {
3531
+ function Su(e) {
3489
3532
  const t = [];
3490
3533
  if (!e.length) return [{ index: -1, reason: "empty" }];
3491
3534
  const n = /* @__PURE__ */ new Set();
@@ -3494,19 +3537,19 @@ function bu(e) {
3494
3537
  t.push({ index: o, reason: "missing_key" });
3495
3538
  return;
3496
3539
  }
3497
- 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);
3498
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;
3499
3542
  }
3500
- function Au(e, t) {
3543
+ function Tu(e, t) {
3501
3544
  return t.find((n) => n.key === e)?.requiresApproval === !0;
3502
3545
  }
3503
- function _u(e) {
3546
+ function Iu(e) {
3504
3547
  return e.startDate ?? Number.MAX_SAFE_INTEGER;
3505
3548
  }
3506
- function Eu(e) {
3549
+ function ku(e) {
3507
3550
  return e.completedAt ? "completed" : e.startedAt ? "active" : "planned";
3508
3551
  }
3509
- 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([
3510
3553
  "text/plain",
3511
3554
  "text/markdown",
3512
3555
  "text/csv",
@@ -3515,70 +3558,70 @@ const li = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
3515
3558
  "application/xml",
3516
3559
  "text/xml"
3517
3560
  ]);
3518
- function di(e) {
3561
+ function fi(e) {
3519
3562
  const t = (e ?? "").trim().toLowerCase().split(";")[0];
3520
- 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";
3521
3564
  }
3522
- const j = 1024 * 1024, fi = {
3565
+ const j = 1024 * 1024, pi = {
3523
3566
  image: 5 * j,
3524
3567
  pdf: 20 * j,
3525
3568
  text: 1 * j,
3526
3569
  audio: 20 * j
3527
- }, Su = 25 * j, Tu = 5;
3528
- function Iu(e, t) {
3529
- const n = di(e);
3530
- 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;
3531
3574
  }
3532
- function ku(e) {
3575
+ function Cu(e) {
3533
3576
  return e.access === "read" ? "idempotent" : e.reversible ?? "none";
3534
3577
  }
3535
- function pi(e) {
3578
+ function mi(e) {
3536
3579
  return e.access !== "read" && e.effect !== "internal";
3537
3580
  }
3538
- function mi(e) {
3581
+ function gi(e) {
3539
3582
  return `${e.kind}:${e.id || e.url || e.title}`;
3540
3583
  }
3541
- function wu(e, t = []) {
3584
+ function Ou(e, t = []) {
3542
3585
  const n = new Set(t), r = [], o = [];
3543
3586
  for (const i of e) {
3544
- const s = mi(i);
3587
+ const s = gi(i);
3545
3588
  n.has(s) || (n.add(s), r.push(i), o.push(s));
3546
3589
  }
3547
3590
  return { sources: r, keys: o };
3548
3591
  }
3549
- const vu = "assist-source", Mu = ["blocking", "due", "open"];
3550
- function Cu(e, t) {
3592
+ const Nu = "assist-source", xu = ["blocking", "due", "open"];
3593
+ function Ru(e, t) {
3551
3594
  const [n, r] = (e.subjectKey ?? "").split(":");
3552
3595
  return n === t && r ? r : void 0;
3553
3596
  }
3554
- const mt = { blocking: 0, due: 1, open: 2 };
3555
- function Ou(e, t) {
3556
- 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);
3557
3600
  }
3558
- function Nu(e) {
3601
+ function $u(e) {
3559
3602
  return e.sessions.filter(
3560
3603
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
3561
3604
  );
3562
3605
  }
3563
- function xu(e) {
3606
+ function Lu(e) {
3564
3607
  return e.sessions.filter(
3565
3608
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
3566
3609
  );
3567
3610
  }
3568
- function Ru(e) {
3611
+ function Pu(e) {
3569
3612
  return e.sessions.some(
3570
3613
  (n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
3571
3614
  ) ? { admit: !1, reason: "busy" } : { admit: !0 };
3572
3615
  }
3573
- function gi(e, t) {
3574
- 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]));
3575
3618
  if (!e.extraIntents || e.extraIntents.length === 0) return o;
3576
3619
  const i = new Set(o.map((s) => s.intent));
3577
3620
  for (const s of e.extraIntents)
3578
3621
  i.has(s.intent) || (o.push(s), i.add(s.intent));
3579
3622
  return o;
3580
3623
  }
3581
- function hi(e, t) {
3624
+ function yi(e, t) {
3582
3625
  const n = {};
3583
3626
  for (const r of e.intents) {
3584
3627
  if (!r.togglable) continue;
@@ -3587,46 +3630,46 @@ function hi(e, t) {
3587
3630
  }
3588
3631
  return n;
3589
3632
  }
3590
- function Du(e, t) {
3591
- const n = hi(e, t);
3633
+ function Ku(e, t) {
3634
+ const n = yi(e, t);
3592
3635
  return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
3593
3636
  }
3594
- function yi(e, t) {
3637
+ function bi(e, t) {
3595
3638
  return t ? {
3596
3639
  intent: t.intent ?? e.intent,
3597
3640
  targetSchemes: t.targetSchemes ?? e.targetSchemes,
3598
3641
  transport: t.transport ?? e.transport
3599
3642
  } : e;
3600
3643
  }
3601
- function $u(e, t) {
3644
+ function Uu(e, t) {
3602
3645
  const n = [];
3603
3646
  for (const r of e) {
3604
3647
  if (!r.enabled) continue;
3605
3648
  const o = t[r.providerId];
3606
3649
  if (o)
3607
- for (const i of gi(r, o))
3650
+ for (const i of hi(r, o))
3608
3651
  n.push({ channel: r, description: o, capability: i });
3609
3652
  }
3610
3653
  return n;
3611
3654
  }
3612
- function Lu(e, t) {
3655
+ function Fu(e, t) {
3613
3656
  return t.filter((n) => n.capability.intent === e);
3614
3657
  }
3615
- function bi(e, t) {
3658
+ function Ai(e, t) {
3616
3659
  return t.filter((n) => n.capability.targetSchemes.includes(e));
3617
3660
  }
3618
- function Pu(e, t) {
3619
- return bi(e.scheme, t);
3661
+ function Bu(e, t) {
3662
+ return Ai(e.scheme, t);
3620
3663
  }
3621
- function Ku(e, t, n) {
3664
+ function ju(e, t, n) {
3622
3665
  const r = [];
3623
3666
  for (const o of e)
3624
3667
  for (const i of n)
3625
3668
  i.capability.intent === t && i.capability.targetSchemes.includes(o.scheme) && r.push({ channelIntent: i, endpoint: o });
3626
3669
  return r;
3627
3670
  }
3628
- 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 || {});
3629
- 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 = {
3630
3673
  mailto: "mail",
3631
3674
  sip: "tel",
3632
3675
  tel: "tel",
@@ -3647,10 +3690,10 @@ const _i = {
3647
3690
  id: "note",
3648
3691
  custom: "note"
3649
3692
  };
3650
- function Uu(e) {
3651
- return e ? _i[e] ?? "note" : "note";
3693
+ function Hu(e) {
3694
+ return e ? Ei[e] ?? "note" : "note";
3652
3695
  }
3653
- const Fu = "message_window", Bu = "message_templates", ju = {
3696
+ const Gu = "message_window", Wu = "message_templates", zu = {
3654
3697
  // E-mail
3655
3698
  FROM: "from",
3656
3699
  TO: "to",
@@ -3667,11 +3710,11 @@ const Fu = "message_window", Bu = "message_templates", ju = {
3667
3710
  // Voice/conference
3668
3711
  HOST: "host",
3669
3712
  PARTICIPANT: "participant"
3670
- }, Hu = (e, t) => ({ intent: e, ...t }), Gu = "folder_management", Wu = "remote_search", zu = "message_reactions", Vu = {
3713
+ }, Vu = (e, t) => ({ intent: e, ...t }), Xu = "folder_management", Yu = "remote_search", qu = "message_reactions", Qu = {
3671
3714
  ok: !1,
3672
3715
  code: "UNSUPPORTED",
3673
3716
  message: "Provider does not support this op"
3674
- }, Xu = "connector", Yu = "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.");
3675
3718
  function b(e, t, n, r, o, i) {
3676
3719
  return {
3677
3720
  op: e,
@@ -3682,7 +3725,7 @@ function b(e, t, n, r, o, i) {
3682
3725
  visible: i.visible
3683
3726
  };
3684
3727
  }
3685
- 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 = [
3686
3729
  b(
3687
3730
  "pdf.goToPage",
3688
3731
  ["pdf"],
@@ -3739,7 +3782,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3739
3782
  }
3740
3783
  },
3741
3784
  ["order"],
3742
- ht
3785
+ yt
3743
3786
  ),
3744
3787
  b(
3745
3788
  "pdf.deletePages",
@@ -3747,7 +3790,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3747
3790
  "Remove pages, keeping the rest in order.",
3748
3791
  { pages: { type: "array", items: { type: "number" }, description: "1-based page numbers." } },
3749
3792
  ["pages"],
3750
- ht
3793
+ yt
3751
3794
  ),
3752
3795
  b(
3753
3796
  "pdf.addNote",
@@ -3777,7 +3820,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3777
3820
  ["page", "text"],
3778
3821
  re
3779
3822
  )
3780
- ], Si = [
3823
+ ], Ti = [
3781
3824
  b(
3782
3825
  "sheet.setValues",
3783
3826
  ["sheet"],
@@ -3929,7 +3972,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3929
3972
  [],
3930
3973
  H
3931
3974
  )
3932
- ], Ti = [
3975
+ ], Ii = [
3933
3976
  b(
3934
3977
  "word.replaceParagraph",
3935
3978
  ["word"],
@@ -3991,13 +4034,13 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3991
4034
  ["start"],
3992
4035
  H
3993
4036
  )
3994
- ], Ii = [
4037
+ ], ki = [
3995
4038
  b(
3996
4039
  "slides.setText",
3997
4040
  ["slides"],
3998
4041
  "Replace the text of one shape. Written on save; not visible before that, and not undoable.",
3999
4042
  {
4000
- slide: gt,
4043
+ slide: ht,
4001
4044
  element: _("Element id, as `inspect` reports it."),
4002
4045
  text: _("The new text.")
4003
4046
  },
@@ -4009,7 +4052,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
4009
4052
  ["slides"],
4010
4053
  "Move or resize one shape. Only the values you pass change. Written on save; not visible before that, and not undoable.",
4011
4054
  {
4012
- slide: gt,
4055
+ slide: ht,
4013
4056
  element: _("Element id."),
4014
4057
  left: A("Distance from the left edge, in pixels."),
4015
4058
  top: A("Distance from the top edge, in pixels."),
@@ -4019,24 +4062,24 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
4019
4062
  ["slide", "element"],
4020
4063
  re
4021
4064
  )
4022
- ], rn = [
4023
- ...Ei,
4065
+ ], on = [
4024
4066
  ...Si,
4025
4067
  ...Ti,
4026
- ...Ii
4068
+ ...Ii,
4069
+ ...ki
4027
4070
  ];
4028
- function qu(e) {
4029
- return rn.filter((t) => t.kinds.includes(e));
4071
+ function ed(e) {
4072
+ return on.filter((t) => t.kinds.includes(e));
4030
4073
  }
4031
- function Qu(e) {
4032
- return rn.find((t) => t.op === e);
4074
+ function td(e) {
4075
+ return on.find((t) => t.op === e);
4033
4076
  }
4034
- const yt = /(?: {2,}|\\)$/, ki = /^\*\*([^*]+)\*\*\s+(.*)$/;
4035
- function bt(e) {
4036
- const t = ki.exec(e);
4077
+ const bt = /(?: {2,}|\\)$/, wi = /^\*\*([^*]+)\*\*\s+(.*)$/;
4078
+ function At(e) {
4079
+ const t = wi.exec(e);
4037
4080
  return t ? { lead: t[1], text: t[2] } : { text: e };
4038
4081
  }
4039
- function Zu(e) {
4082
+ function nd(e) {
4040
4083
  const t = (e ?? "").replace(/\r\n/g, `
4041
4084
  `).split(`
4042
4085
  `), n = [];
@@ -4044,7 +4087,7 @@ function Zu(e) {
4044
4087
  const o = () => {
4045
4088
  r && n.push({ type: "list", style: r.style, items: r.items }), r = null;
4046
4089
  }, i = (f, p) => {
4047
- 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)] };
4048
4091
  };
4049
4092
  let s = [], a = [];
4050
4093
  const u = () => {
@@ -4109,33 +4152,33 @@ function Zu(e) {
4109
4152
  continue;
4110
4153
  }
4111
4154
  l(), o();
4112
- const S = yt.test(f);
4113
- s.push(f.replace(yt, "").trim() + (S ? `
4155
+ const S = bt.test(f);
4156
+ s.push(f.replace(bt, "").trim() + (S ? `
4114
4157
  ` : " ")), c++;
4115
4158
  }
4116
4159
  return d(), n;
4117
4160
  }
4118
- function Ju(e, t) {
4119
- 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, `
4120
4163
 
4121
4164
  `).trim();
4122
4165
  }
4123
- const ed = "documents.describe", td = "documents.inspect", nd = "documents.apply";
4124
- function rd(e) {
4166
+ const od = "documents.describe", id = "documents.inspect", sd = "documents.apply";
4167
+ function ad(e) {
4125
4168
  const t = e.indexOf(":");
4126
4169
  if (t !== -1) return e.slice(0, t);
4127
4170
  const n = e.indexOf(".");
4128
4171
  return n === -1 ? e : e.slice(0, n);
4129
4172
  }
4130
- const od = "installation-id";
4131
- function id(e) {
4173
+ const cd = "installation-id";
4174
+ function ld(e) {
4132
4175
  const t = [];
4133
4176
  for (const n of Object.keys(e))
4134
4177
  for (const r of Object.keys(e[n]))
4135
4178
  t.push({ lang: n, key: r, value: e[n][r] });
4136
4179
  return t;
4137
4180
  }
4138
- const sd = "notification-source", ad = (e, t) => `${e}.pref.${t}`, cd = {
4181
+ const ud = "notification-source", dd = (e, t) => `${e}.pref.${t}`, fd = {
4139
4182
  ai: [
4140
4183
  "account.read",
4141
4184
  "account.write",
@@ -4270,48 +4313,48 @@ const sd = "notification-source", ad = (e, t) => `${e}.pref.${t}`, cd = {
4270
4313
  time: ["entry.read", "entry.write", "work-type.read", "work-type.write"],
4271
4314
  user: ["user.read", "user.write"],
4272
4315
  work: ["item.read", "item.write", "project.read", "project.write"]
4273
- }, on = 9e4, wi = ["out_of_office"], sn = (e) => wi.includes(e);
4274
- function ld(e, t, n) {
4275
- 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;
4276
4319
  if (!o?.status) return { online: r, status: r ? "available" : "offline" };
4277
4320
  const i = o.status;
4278
- 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 };
4279
4322
  }
4280
- function ud(e, t) {
4281
- 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";
4282
4325
  return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
4283
4326
  }
4284
- function dd(e, t) {
4327
+ function gd(e, t) {
4285
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 };
4286
4329
  }
4287
- function fd(e) {
4330
+ function hd(e) {
4288
4331
  return e.providerAvailable && e.allowed;
4289
4332
  }
4290
- const pd = "resources.describe", md = "resources.search", gd = "resources.resolve", hd = "resources.attached";
4291
- function yd(e) {
4333
+ const yd = "resources.describe", bd = "resources.search", Ad = "resources.resolve", _d = "resources.attached";
4334
+ function Ed(e) {
4292
4335
  const t = e.indexOf(":");
4293
4336
  return t === -1 ? e : e.slice(0, t);
4294
4337
  }
4295
- const bd = "/provider/scope/related", Ad = "/provider/scope/read", _d = "/provider/scope/acts", an = "auth";
4296
- function cn(e) {
4338
+ const Sd = "/provider/scope/related", Td = "/provider/scope/read", Id = "/provider/scope/acts", cn = "auth";
4339
+ function ln(e) {
4297
4340
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
4298
4341
  return t ? t[1] : null;
4299
4342
  }
4300
- function Ed(e) {
4301
- const t = cn(e);
4302
- 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");
4303
4346
  }
4304
- function Sd(e) {
4305
- 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;
4306
4349
  }
4307
- function vi(e) {
4350
+ function Mi(e) {
4308
4351
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
4309
4352
  }
4310
- function Mi(e) {
4311
- 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("");
4312
4355
  return new RegExp(`^${n}\\/?$`);
4313
4356
  }
4314
- function Ci(e, t) {
4357
+ function Oi(e, t) {
4315
4358
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean), o = {};
4316
4359
  return n.forEach((i, s) => {
4317
4360
  if (i.startsWith(":")) {
@@ -4320,14 +4363,14 @@ function Ci(e, t) {
4320
4363
  }
4321
4364
  }), o;
4322
4365
  }
4323
- function Oi(e) {
4366
+ function Ni(e) {
4324
4367
  return e.publicBasePath ?? `/apps/${e.name}`;
4325
4368
  }
4326
- function Td(e) {
4369
+ function vd(e) {
4327
4370
  const t = [];
4328
4371
  for (const n of e) {
4329
4372
  if (!n?.name) continue;
4330
- const r = Oi(n);
4373
+ const r = Ni(n);
4331
4374
  for (const o of n.routes ?? []) {
4332
4375
  if (!o.public) continue;
4333
4376
  const i = o.path === "/" ? "" : o.path;
@@ -4341,7 +4384,7 @@ function Td(e) {
4341
4384
  }
4342
4385
  return t;
4343
4386
  }
4344
- function Ni(e, t) {
4387
+ function xi(e, t) {
4345
4388
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean);
4346
4389
  for (let o = 0; o < Math.min(n.length, r.length); o++) {
4347
4390
  const i = n[o].startsWith(":"), s = r[o].startsWith(":");
@@ -4349,32 +4392,32 @@ function Ni(e, t) {
4349
4392
  }
4350
4393
  return n.length > r.length;
4351
4394
  }
4352
- function xi(e, t) {
4395
+ function Ri(e, t) {
4353
4396
  if (typeof e != "string") return null;
4354
4397
  let n = null;
4355
4398
  for (const r of t)
4356
- Mi(r.pattern).test(e) && (!n || Ni(r.pattern, n.pattern)) && (n = r);
4357
- 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;
4358
4401
  }
4359
- function Id(e, t) {
4360
- return xi(e, t) !== null;
4402
+ function Md(e, t) {
4403
+ return Ri(e, t) !== null;
4361
4404
  }
4362
- const kd = 10 * 1024 * 1024, wd = 25 * 1024 * 1024, vd = "sync-target", Md = 20;
4363
- function At(e, t) {
4405
+ const Cd = 10 * 1024 * 1024, Od = 25 * 1024 * 1024, Nd = "sync-target", xd = 20;
4406
+ function _t(e, t) {
4364
4407
  const n = Array.isArray(t) ? t.find((r) => r.name === e.name)?.policy : void 0;
4365
4408
  return n ? n !== "read" : e.access ? e.access !== "read" : !0;
4366
4409
  }
4367
- function Ri(e) {
4410
+ function Di(e) {
4368
4411
  return e.produces === "draft";
4369
4412
  }
4370
- function Cd(e, t) {
4413
+ function Rd(e, t) {
4371
4414
  if (t.allowed) {
4372
4415
  const n = t.personalTools === "allow" && e.personal === !0;
4373
4416
  if (!t.allowed.has(e.name) && !n) return "hidden";
4374
4417
  }
4375
- 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";
4376
4419
  }
4377
- const Di = {
4420
+ const $i = {
4378
4421
  afrikaans: [
4379
4422
  "[Muziek]",
4380
4423
  "(C) TV GELDERLAND 2021",
@@ -4524,14 +4567,14 @@ const Di = {
4524
4567
  "[MÚSICA]",
4525
4568
  "[Music cuts in British]"
4526
4569
  ]
4527
- }, $i = (e) => {
4570
+ }, Li = (e) => {
4528
4571
  let t = e;
4529
- return Object.values(Di).forEach((n) => {
4572
+ return Object.values($i).forEach((n) => {
4530
4573
  n.forEach((r) => {
4531
4574
  t = t.replaceAll(r, "");
4532
4575
  });
4533
4576
  }), t = t.replace(/\(.*?\)/g, ""), t = t.replace(/\[.*?\]/g, ""), t;
4534
- }, 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([
4535
4578
  "aan",
4536
4579
  "als",
4537
4580
  "ben",
@@ -4644,13 +4687,13 @@ const Di = {
4644
4687
  "you",
4645
4688
  "your"
4646
4689
  ]);
4647
- function ji(e) {
4690
+ function Hi(e) {
4648
4691
  const t = /* @__PURE__ */ new Set();
4649
4692
  for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
4650
- n.length < Fi || Bi.has(n) || t.add(n);
4693
+ n.length < Bi || ji.has(n) || t.add(n);
4651
4694
  return [...t];
4652
4695
  }
4653
- function Hi(e, t) {
4696
+ function Gi(e, t) {
4654
4697
  if (!e.length) return 0;
4655
4698
  if (!t.length) return 1;
4656
4699
  const n = new Set(t), r = new Set(e);
@@ -4658,32 +4701,32 @@ function Hi(e, t) {
4658
4701
  for (const i of r) n.has(i) || (o += 1);
4659
4702
  return o / r.size;
4660
4703
  }
4661
- function Gi(e, t = Li) {
4704
+ function Wi(e, t = Pi) {
4662
4705
  const n = e.filter((s) => !s.partial && typeof s.text == "string");
4663
4706
  if (!n.length) return { text: "", segmentCount: 0 };
4664
4707
  const o = n.reduce((s, a) => Math.max(s, a.endedAt ?? 0), 0) - t;
4665
- 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 };
4666
4709
  }
4667
- const Wi = 60;
4668
- function Od(e, t, n = Wi) {
4710
+ const zi = 60;
4711
+ function Dd(e, t, n = zi) {
4669
4712
  const r = new Set(e), o = [...e];
4670
4713
  for (const i of t)
4671
4714
  !i || r.has(i) || (r.add(i), o.push(i));
4672
4715
  return o.slice(-n);
4673
4716
  }
4674
- function Nd(e) {
4717
+ function $d(e) {
4675
4718
  const { segments: t, now: n, state: r } = e;
4676
- if (r.lastTriggerAt && n - r.lastTriggerAt < Pi)
4719
+ if (r.lastTriggerAt && n - r.lastTriggerAt < Ki)
4677
4720
  return { trigger: !1, reason: "too_soon" };
4678
- const o = Gi(t, e.windowMs);
4721
+ const o = Wi(t, e.windowMs);
4679
4722
  if (!o.text) return { trigger: !1, reason: "no_speech" };
4680
4723
  const i = o.segmentCount - (r.lastSegmentCount ?? 0);
4681
- if (r.lastQueryTerms && i < Ki)
4724
+ if (r.lastQueryTerms && i < Ui)
4682
4725
  return { trigger: !1, reason: "too_few_new" };
4683
- const s = ji(o.text);
4684
- 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" };
4685
4728
  }
4686
- const xd = [
4729
+ const Ld = [
4687
4730
  "personal",
4688
4731
  "organization",
4689
4732
  "connections",
@@ -4691,7 +4734,7 @@ const xd = [
4691
4734
  "work",
4692
4735
  "administration",
4693
4736
  "ai"
4694
- ], Rd = "navNotice", Fe = {
4737
+ ], Pd = "navNotice", Fe = {
4695
4738
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
4696
4739
  // shorter than geographic numbers, and a too-strict minimum silently drops them.
4697
4740
  // An over-permissive key is harmless — it simply matches nothing.
@@ -4714,19 +4757,19 @@ const xd = [
4714
4757
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
4715
4758
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
4716
4759
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
4717
- }, zi = "NL", Vi = 15, Xi = 8, Yi = Array.from(
4760
+ }, Vi = "NL", Xi = 15, Yi = 8, qi = Array.from(
4718
4761
  new Set(Object.values(Fe).map((e) => e.callingCode))
4719
4762
  ).sort((e, t) => t.length - e.length);
4720
- function _t(e) {
4763
+ function Et(e) {
4721
4764
  if (e)
4722
4765
  return Fe[e.trim().toUpperCase()];
4723
4766
  }
4724
4767
  function ee(e, t) {
4725
4768
  return e.length >= t.nsnMin && e.length <= t.nsnMax;
4726
4769
  }
4727
- function Et(e) {
4728
- if (e.length > Vi) return null;
4729
- for (const t of Yi) {
4770
+ function St(e) {
4771
+ if (e.length > Xi) return null;
4772
+ for (const t of qi) {
4730
4773
  if (!e.startsWith(t)) continue;
4731
4774
  const n = e.slice(t.length);
4732
4775
  for (const r of Object.values(Fe)) {
@@ -4736,31 +4779,31 @@ function Et(e) {
4736
4779
  }
4737
4780
  return null;
4738
4781
  }
4739
- return e.length < Xi ? null : `+${e}`;
4782
+ return e.length < Yi ? null : `+${e}`;
4740
4783
  }
4741
- function qi(e) {
4784
+ function Qi(e) {
4742
4785
  let t = e.trim();
4743
4786
  const n = t.match(/^(sips?|tel|whatsapp):/i);
4744
4787
  n && (t = t.slice(n[0].length));
4745
4788
  const r = t.indexOf("@");
4746
4789
  return r >= 0 && (t = t.slice(0, r)), t.trim();
4747
4790
  }
4748
- function Dd(e) {
4791
+ function Kd(e) {
4749
4792
  if (!e) return !1;
4750
4793
  const t = e.indexOf("@");
4751
4794
  if (t <= 0) return !1;
4752
4795
  const n = e.slice(0, t).trim();
4753
4796
  return !/^[+\d\s().-]+$/.test(n);
4754
4797
  }
4755
- function St(e, t) {
4798
+ function Tt(e, t) {
4756
4799
  if (!e) return null;
4757
- const n = qi(e);
4800
+ const n = Qi(e);
4758
4801
  if (!n) return null;
4759
4802
  const r = n.startsWith("+"), o = n.replace(/\D/g, "");
4760
4803
  if (!o) return null;
4761
- if (r) return Et(o);
4762
- if (o.startsWith("00")) return Et(o.slice(2));
4763
- 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);
4764
4807
  if (!i) return null;
4765
4808
  const s = i.trunkPrefix;
4766
4809
  if (s && o.startsWith(s)) {
@@ -4773,22 +4816,22 @@ function St(e, t) {
4773
4816
  }
4774
4817
  return !s && ee(o, i) ? `+${i.callingCode}${o}` : null;
4775
4818
  }
4776
- function $d(e, t = 9) {
4819
+ function Ud(e, t = 9) {
4777
4820
  const n = (e ?? "").replace(/\D/g, "");
4778
4821
  return n.length < t ? null : n.slice(-t);
4779
4822
  }
4780
- function ln(e) {
4823
+ function un(e) {
4781
4824
  if (!e) return null;
4782
4825
  const t = e.trim().toLowerCase(), n = t.lastIndexOf("@");
4783
4826
  if (n <= 0 || n === t.length - 1) return null;
4784
4827
  const r = t.slice(0, n).split("+")[0], o = t.slice(n + 1);
4785
4828
  return !r || !o.includes(".") ? null : `${r}@${o}`;
4786
4829
  }
4787
- function Ld(e) {
4788
- const t = ln(e);
4830
+ function Fd(e) {
4831
+ const t = un(e);
4789
4832
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
4790
4833
  }
4791
- const Qi = /* @__PURE__ */ new Set([
4834
+ const Zi = /* @__PURE__ */ new Set([
4792
4835
  "co.uk",
4793
4836
  "org.uk",
4794
4837
  "gov.uk",
@@ -4798,14 +4841,14 @@ const Qi = /* @__PURE__ */ new Set([
4798
4841
  "com.br",
4799
4842
  "co.za"
4800
4843
  ]);
4801
- function Zi(e) {
4844
+ function Ji(e) {
4802
4845
  if (!e) return null;
4803
4846
  const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
4804
4847
  if (t.length < 2) return null;
4805
4848
  const n = t.slice(-2).join(".");
4806
- 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;
4807
4850
  }
4808
- const Ji = /* @__PURE__ */ new Set([
4851
+ const es = /* @__PURE__ */ new Set([
4809
4852
  "gmail.com",
4810
4853
  "googlemail.com",
4811
4854
  "outlook.com",
@@ -4850,34 +4893,34 @@ const Ji = /* @__PURE__ */ new Set([
4850
4893
  "proximus.be",
4851
4894
  "scarlet.be"
4852
4895
  ]);
4853
- function Pd(e) {
4854
- const t = Zi(e);
4855
- return t ? Ji.has(t) : !1;
4896
+ function Bd(e) {
4897
+ const t = Ji(e);
4898
+ return t ? es.has(t) : !1;
4856
4899
  }
4857
- function Kd(e) {
4900
+ function jd(e) {
4858
4901
  if (!e) return !1;
4859
4902
  const t = e.trim().toLowerCase();
4860
4903
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
4861
4904
  }
4862
- function Ud(e, t, n) {
4905
+ function Hd(e, t, n) {
4863
4906
  if (!e || !t) return null;
4864
4907
  const r = e.trim().toLowerCase();
4865
4908
  if (r === "tel" || r === "sms" || r === "whatsapp") {
4866
- const i = St(t, n);
4909
+ const i = Tt(t, n);
4867
4910
  return i ? `tel:${i}` : null;
4868
4911
  }
4869
4912
  if (r === "fax") {
4870
- const i = St(t, n);
4913
+ const i = Tt(t, n);
4871
4914
  return i ? `fax:${i}` : null;
4872
4915
  }
4873
4916
  if (r === "mailto" || r === "email") {
4874
- const i = ln(t);
4917
+ const i = un(t);
4875
4918
  return i ? `mailto:${i}` : null;
4876
4919
  }
4877
4920
  const o = t.trim().toLowerCase();
4878
4921
  return o ? `${r}:${o}` : null;
4879
4922
  }
4880
- const es = [
4923
+ const ts = [
4881
4924
  /<blockquote/i,
4882
4925
  /class="?gmail_quote/i,
4883
4926
  // Gmail quote container
@@ -4890,24 +4933,24 @@ const es = [
4890
4933
  // Outlook underscore separator before "From:"
4891
4934
  /\bOn\b[\s\S]{0,200}?\bwrote:/i
4892
4935
  // Gmail "On <date> <name> wrote:"
4893
- ], 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;
4894
- 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) {
4895
4938
  const t = e.split(`
4896
4939
  `);
4897
4940
  for (let n = 0; n < t.length; n++)
4898
- 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)))
4899
4942
  return t.slice(0, n).join(`
4900
4943
  `).trim();
4901
4944
  return e;
4902
4945
  }
4903
- 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;
4904
4947
  function ge(e, t) {
4905
4948
  const n = e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`, "i"));
4906
4949
  return (n?.[1] ?? n?.[2] ?? n?.[3] ?? "").trim();
4907
4950
  }
4908
- const is = /(!\[[^\]]*\]\([^)]*\))/;
4909
- function It(e) {
4910
- 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("");
4911
4954
  }
4912
4955
  function he(e) {
4913
4956
  return e.replace(
@@ -4915,47 +4958,47 @@ function he(e) {
4915
4958
  (t) => `%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2, "0")}`
4916
4959
  );
4917
4960
  }
4918
- function ss(e) {
4961
+ function as(e) {
4919
4962
  return e.replace(/<img\b([^>]*?)\/?>/gi, (n, r) => {
4920
4963
  const o = ge(r, "src");
4921
- return os.test(o) ? `![${It(ge(r, "alt"))}](${he(o)})` : "";
4964
+ return is.test(o) ? `![${kt(ge(r, "alt"))}](${he(o)})` : "";
4922
4965
  }).replace(
4923
4966
  /<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,
4924
4967
  (n, r, o) => {
4925
- const i = It(o.replace(/<[^>]*>/g, "")), s = ge(r, "href");
4926
- 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;
4927
4970
  }
4928
4971
  );
4929
4972
  }
4930
- 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;
4931
- 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) {
4932
4975
  return /<table\b/i.test(e) || e.includes(`
4933
4976
 
4934
4977
  |`) || t.includes("![") || t.length > 200;
4935
4978
  }
4936
- const ds = 40, fs = { left: "---", center: ":---:", right: "---:" };
4937
- function ps(e) {
4979
+ const fs = 40, ps = { left: "---", center: ":---:", right: "---:" };
4980
+ function ms(e) {
4938
4981
  const t = e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);
4939
4982
  return t ? t[1].toLowerCase() : "left";
4940
4983
  }
4941
- function ms(e) {
4984
+ function gs(e) {
4942
4985
  return e.replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().replace(/\|/g, "\\|");
4943
4986
  }
4944
- function gs(e) {
4987
+ function hs(e) {
4945
4988
  const t = [];
4946
- for (const s of e.matchAll(cs)) {
4989
+ for (const s of e.matchAll(ls)) {
4947
4990
  const a = [];
4948
- for (const u of s[1].matchAll(ls)) {
4949
- const l = ms(u[3]);
4950
- if (us(u[3], l)) return null;
4951
- 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]) });
4952
4995
  }
4953
4996
  if (a.length === 0) return null;
4954
4997
  a.some((u) => u.text !== "") && t.push(a);
4955
4998
  }
4956
4999
  const n = t[0]?.length ?? 0;
4957
5000
  if (t.length < 2 || n < 2 || t.some((s) => s.length !== n)) return null;
4958
- 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(`
4959
5002
  `);
4960
5003
  return `
4961
5004
 
@@ -4965,36 +5008,36 @@ ${i}
4965
5008
 
4966
5009
  `;
4967
5010
  }
4968
- function hs(e) {
5011
+ function ys(e) {
4969
5012
  return e.replace(/<\/(t[dh])\s*>/gi, " ").replace(/<\/tr\s*>/gi, `
4970
5013
  `).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi, "").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi, "");
4971
5014
  }
4972
- function ys(e) {
5015
+ function bs(e) {
4973
5016
  let t = e;
4974
- for (let n = 0; n < ds; n++) {
4975
- const r = as.exec(t);
5017
+ for (let n = 0; n < fs; n++) {
5018
+ const r = cs.exec(t);
4976
5019
  if (!r || r.index === void 0) break;
4977
- const i = gs(r[1]) ?? `
5020
+ const i = hs(r[1]) ?? `
4978
5021
 
4979
- ${hs(r[1])}
5022
+ ${ys(r[1])}
4980
5023
 
4981
5024
  `;
4982
5025
  t = t.slice(0, r.index) + i + t.slice(r.index + r[0].length);
4983
5026
  }
4984
5027
  return t;
4985
5028
  }
4986
- function kt(e, t) {
5029
+ function wt(e, t) {
4987
5030
  let n = e;
4988
5031
  return n = n.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), n = n.replace(/<!--[\s\S]*?-->/g, ""), n = n.replace(/<br\s*\/?>/gi, `
4989
- `), 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, `
4990
5033
 
4991
5034
  `), n = n.replace(/<\/(div|li|tr)>/gi, `
4992
5035
  `), n = n.replace(/<\/(td|th)>/gi, " "), n = n.replace(/<[^>]+>/g, ""), n = n.replace(/<[^>]*$/, ""), n;
4993
5036
  }
4994
- function wt(e) {
5037
+ function vt(e) {
4995
5038
  return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
4996
5039
  }
4997
- const bs = {
5040
+ const As = {
4998
5041
  euro: "€",
4999
5042
  pound: "£",
5000
5043
  yen: "¥",
@@ -5016,545 +5059,549 @@ const bs = {
5016
5059
  rdquo: "”",
5017
5060
  apos: "'"
5018
5061
  };
5019
- function vt(e) {
5020
- 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, "&");
5021
- }
5022
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) {
5023
5066
  return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
5024
5067
  `).replace(/\n{3,}/g, `
5025
5068
 
5026
5069
  `).trim();
5027
5070
  }
5028
- const As = /<\s*(html|body|div|p|table|br|span)\b/i;
5029
- function Fd(e) {
5030
- 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);
5031
5074
  }
5032
- function Bd(e) {
5033
- return un(e, !1);
5075
+ function Wd(e) {
5076
+ return dn(e, !1);
5034
5077
  }
5035
- function jd(e) {
5036
- return un(e, !0);
5078
+ function zd(e) {
5079
+ return dn(e, !0);
5037
5080
  }
5038
- function un(e, t) {
5081
+ function dn(e, t) {
5039
5082
  if (typeof e != "string" || !e) return "";
5040
5083
  let n = e.length;
5041
- for (const s of es) {
5084
+ for (const s of ts) {
5042
5085
  const a = e.search(s);
5043
5086
  a >= 0 && a < n && (n = a);
5044
5087
  }
5045
5088
  const r = e.slice(0, n);
5046
- let o = Mt(vt(kt(r, t)));
5047
- 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;
5048
5091
  }
5049
5092
  export {
5050
- ma as ACTIVE_ASSIGNMENT_STATUSES,
5093
+ ga as ACTIVE_ASSIGNMENT_STATUSES,
5051
5094
  R as ACTIVITY_CATALOG,
5052
- fi as AI_ATTACHMENT_LIMITS,
5053
- Tu as AI_ATTACHMENT_MAX_PER_TURN,
5054
- Su 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,
5055
5098
  Ne as AI_CAPABILITIES,
5056
- Nt as AI_VENDORS,
5057
- xn as ALLOWED_LINK_SCHEMES,
5058
- cd as APP_PERMISSIONS,
5099
+ xt as AI_VENDORS,
5100
+ Rn as ALLOWED_LINK_SCHEMES,
5101
+ fd as APP_PERMISSIONS,
5059
5102
  Ye as ARTIFACT_MAX_BLOCKS,
5060
- aa as ARTIFACT_MAX_BODY_BYTES,
5103
+ ca as ARTIFACT_MAX_BODY_BYTES,
5061
5104
  Z as ARTIFACT_MAX_CELL_LEN,
5062
5105
  Je as ARTIFACT_MAX_KPI_ITEMS,
5063
5106
  qe as ARTIFACT_MAX_LIST_ITEMS,
5064
5107
  Ze as ARTIFACT_MAX_TABLE_COLUMNS,
5065
5108
  Qe as ARTIFACT_MAX_TABLE_ROWS,
5066
- Rt as ARTIFACT_MAX_TEXT_LEN,
5067
- jn as ASSIGNMENT_SCOPE_KIND,
5068
- Mu as ASSIST_BANDS,
5069
- vu as ASSIST_SOURCE_PROVIDER_GROUP,
5070
- pr as ATTENTION_STATUSES,
5071
- Do as AT_RISK_GAP,
5072
- an as AUTH_APP_NAME,
5073
- go as AUTO_READY_MIN_PROPOSALS,
5074
- ho as AUTO_READY_RATE,
5075
- En as ActivityTypeRegistry,
5076
- Ps as BUILT_IN_ONLY,
5077
- mr as BULK_PENALTY,
5078
- Sa as BUSINESS_ENTITY_LIST_SERVICE,
5079
- Pi as CADENCE_FLOOR_MS,
5080
- Ki as CADENCE_MIN_NEW_SEGMENTS,
5081
- Ui as CADENCE_MIN_NOVELTY,
5082
- Li as CADENCE_WINDOW_MS,
5083
- Fc as CLASSIFY_VARS,
5084
- Xu as CONNECTOR_PROVIDER_GROUP,
5085
- Yu as CONTEXT_COLLECT_SERVICE,
5086
- Zs as CORE_DIMENSIONS,
5087
- Ai as CommunicationScheme,
5088
- or as DAY_MS,
5089
- No as DEFAULT_CHECK_IN_DAYS,
5090
- zr as DEFAULT_FORECAST_WEEKS,
5091
- cc as DEFAULT_MEMORY_BUDGET,
5092
- Hl as DEFAULT_NUMBER_PADDING,
5093
- zi as DEFAULT_PHONE_REGION,
5094
- Ul as DEFAULT_QUOTE_TEMPLATE_BLOCKS,
5095
- Kl as DEFAULT_TEMPLATE_CONDITIONS,
5096
- Ac as DEMAND_SOURCE_PROVIDER_GROUP,
5097
- nd as DOCUMENT_APPLY_SERVICE,
5098
- ed as DOCUMENT_DESCRIBE_SERVICE,
5099
- td 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,
5100
5143
  Ye as DOCUMENT_MAX_BLOCKS,
5101
- aa as DOCUMENT_MAX_BODY_BYTES,
5144
+ ca as DOCUMENT_MAX_BODY_BYTES,
5102
5145
  Z as DOCUMENT_MAX_CELL_LEN,
5103
5146
  Je as DOCUMENT_MAX_KPI_ITEMS,
5104
5147
  et as DOCUMENT_MAX_LETTERHEAD_FIELDS,
5105
5148
  qe as DOCUMENT_MAX_LIST_ITEMS,
5106
- On as DOCUMENT_MAX_RECIPIENT_LINES,
5149
+ Nn as DOCUMENT_MAX_RECIPIENT_LINES,
5107
5150
  Ze as DOCUMENT_MAX_TABLE_COLUMNS,
5108
5151
  Qe as DOCUMENT_MAX_TABLE_ROWS,
5109
- Rt as DOCUMENT_MAX_TEXT_LEN,
5152
+ Dt as DOCUMENT_MAX_TEXT_LEN,
5110
5153
  tt as DOCUMENT_MAX_TOTALS_ROWS,
5111
- rn as DOCUMENT_OPERATIONS,
5112
- Wo as DUTCH_SLOT_LABELS,
5113
- jc as EMPTY_WORKFLOW,
5114
- Ho as ENABLED_TRANSACTION_KINDS,
5115
- Gu as FEATURE_FOLDER_MANAGEMENT,
5116
- zu as FEATURE_MESSAGE_REACTIONS,
5117
- Wu 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,
5118
5161
  De as FIXED_KINDS,
5119
5162
  ie as FIXED_LEVELS,
5120
5163
  Ke as FIXED_TYPES,
5121
- Ma as FIXED_UNITS,
5122
- hr as FOLLOW_UP_HOURS,
5123
- Dl as FROZEN_WRITABLE_FIELDS,
5124
- rr as HOUR_MS,
5125
- 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,
5126
5169
  L as INELIGIBLE,
5127
- od as INSTALLATION_HEADER,
5128
- lo as INTERACTION_KIND,
5129
- ju as InteractionParticipantRole,
5130
- 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,
5131
5174
  ot as KB_LOCALES,
5132
5175
  ot as LOCALES,
5133
5176
  Ue as LOOSE_STATUSES,
5134
- lr as MAIL_HINT_HEADERS,
5135
- Ts as MAX_ACTIONS,
5136
- Hn as MAX_ASSIGNMENT_TURNS,
5137
- _s as MAX_BLOCKS,
5138
- Bt as MAX_COLLECTION_DEPTH,
5139
- Gn as MAX_DELEGATION_DEPTH,
5140
- kd as MAX_EDITABLE_FILE_BYTES,
5141
- Es as MAX_FIELDS,
5142
- Ss as MAX_LIST_ITEMS,
5143
- oc as MAX_MEMORY_BROWSE,
5144
- ac as MAX_MEMORY_BUDGET,
5145
- ic as MAX_MEMORY_CHARS,
5146
- Wi as MAX_SHOWN_KEYS,
5147
- Uo as MAX_TOPIC_CANDIDATES,
5148
- 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,
5149
5193
  me as MAX_TOPIC_EXAMPLE_CHARS,
5150
- wd as MAX_VIEWABLE_FILE_BYTES,
5151
- sc as MIN_MEMORY_BUDGET,
5152
- Rd as NAV_NOTICE_SLOT,
5153
- ql as NL_PAYMENT_TERMS,
5154
- uc as NL_TAX_RATES,
5155
- sd as NOTIFICATION_SOURCE_PROVIDER_GROUP,
5156
- $o as OFF_TRACK_GAP,
5157
- 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,
5158
5202
  ve as PAUSE_HOLD,
5159
5203
  ke as PAUSE_SNOOZED,
5160
5204
  we as PAUSE_WAITING_FOR_CUSTOMER,
5161
- zl as PAYMENT_TERM_METHODS,
5205
+ ql as PAYMENT_TERM_METHODS,
5162
5206
  Fe as PHONE_REGIONS,
5163
- on as PRESENCE_ONLINE_WINDOW_MS,
5164
- wi as PRESENCE_SURVIVES_OFFLINE,
5165
- Zo as PRODUCT_SCOPE_KIND,
5166
- mc as PROFILE_TOOL_DISPOSITIONS,
5167
- Bu as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
5168
- Fu as PROVIDER_FEATURE_MESSAGE_WINDOW,
5169
- 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,
5170
5214
  it as READ_STEP_TYPES,
5171
- vr as RELATED_SUBJECT_KINDS,
5172
- nn as RESERVED_STATUS_KEYS,
5173
- nu as RESERVED_TYPE_KEYS,
5174
- hd as RESOURCE_ATTACHED_SERVICE,
5175
- pd as RESOURCE_DESCRIBE_SERVICE,
5176
- gd as RESOURCE_RESOLVE_SERVICE,
5177
- md as RESOURCE_SEARCH_SERVICE,
5178
- Zr as SCHEDULE_ENTRY_SCOPE_KIND,
5179
- _d as SCOPE_ACTS_ROUTE,
5180
- Ad as SCOPE_READ_ROUTE,
5181
- bd as SCOPE_RELATED_ROUTE,
5182
- xd as SETTINGS_CATEGORIES,
5183
- Ca as SIGNATURE_INTENTS,
5184
- gr as SLA_HOURS_BY_PRIORITY,
5185
- el as SLA_METRICS,
5186
- tl as SLA_PAUSE_REASONS,
5187
- po as STEP_MAX_TOKENS_MAX,
5188
- fo as STEP_MAX_TOKENS_MIN,
5189
- Co as STRATEGY_ITEM_SCOPE_KIND,
5190
- cr as SUMMARY_MIN_LAST_CHARS,
5191
- ar as SUMMARY_MIN_MESSAGES,
5192
- Md as SYNC_RUN_MAX_ERRORS,
5193
- vd as SYNC_TARGET_PROVIDER_GROUP,
5194
- Bn as TERMINAL_ASSIGNMENT_STATUSES,
5195
- 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,
5196
5240
  Pe as TRANSACTION_KINDS,
5197
- Qo as TRANSACTION_SCOPE_KINDS,
5198
- Kc as TRIGGER_VARS,
5199
- Or as UNKNOWN_KIND,
5200
- Oo as UNKNOWN_LEVEL_ORDER,
5201
- Vu as UNSUPPORTED,
5202
- vn as USAGE_DIMENSIONS,
5203
- Mn as USAGE_DIMENSION_IDS,
5204
- Jr as WORKSTREAM_SCOPE_KIND,
5205
- ri as WORK_ACTIVITY_SCOPE_KIND,
5206
- pc as WORK_AREAS,
5207
- Zl as WORK_COMMENT_ADDED,
5208
- au as WORK_CYCLE_SYNC_KIND,
5209
- Jl as WORK_ITEM_ASSIGNED,
5210
- ti as WORK_ITEM_SCOPE_KIND,
5211
- eu as WORK_ITEM_STATUS_CHANGED,
5212
- 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,
5213
5257
  te as W_PRIORITY,
5214
- Ol as acceptExampleCandidate,
5215
- ro as actingIdentityKey,
5216
- Ml as activeWorkTypes,
5217
- ks as activityIconOf,
5218
- $s as activityJoinUrl,
5219
- yn as activitySnippet,
5220
- bn as activityTextParams,
5221
- Ds as activityTimelineText,
5222
- 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,
5223
5267
  k as activityTypeInfo,
5224
- Nc as actorKey,
5225
- Cl as addExampleCandidate,
5268
+ xc as actorKey,
5269
+ Rl as addExampleCandidate,
5226
5270
  $e as addWorkingMs,
5227
- ud as agePresenceEntry,
5228
- di as aiAttachmentKind,
5229
- Iu as aiAttachmentRejection,
5271
+ md as agePresenceEntry,
5272
+ fi as aiAttachmentKind,
5273
+ Mu as aiAttachmentRejection,
5230
5274
  Xe as aiBudgetLimit,
5231
- qs as aiBudgetPeriodKey,
5232
- Tn as aiBudgetPeriodStart,
5233
- Ys as aiBudgetState,
5234
- Xs as aiVendorAcceptsAttachment,
5235
- Ws as aiVendorDefaultModel,
5236
- Gs as aiVendorLabel,
5237
- Vs as aiVendorNeedsBaseUrl,
5238
- zs as aiVendorsWith,
5239
- Vn as allocate,
5240
- cn as appNameFromPath,
5241
- sa as applyApprovalDecision,
5242
- Tl as applyRounding,
5243
- Oa as applySignature,
5244
- mo as approvalRate,
5245
- la as artifactBodyBytes,
5246
- ua as artifactOutline,
5247
- Fn as artifactToMarkdown,
5248
- $c as assignmentMismatch,
5249
- ha as assignmentScopeKey,
5250
- Aa as assignmentSubject,
5251
- bc as availabilityByPerson,
5252
- gc as belongsOnCalendar,
5253
- Ta as belongsToEntity,
5254
- Ls as buildActivityPreview,
5255
- $u as buildChannelIntents,
5256
- da as buildShareKeys,
5257
- Gi as buildWindow,
5258
- nr as businessEntitySender,
5259
- 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,
5260
5304
  Le as calendarOf,
5261
- Za as canNestUnder,
5262
- ul as canParent,
5263
- Bs as capabilityDefaultFlag,
5264
- hc as capacityTotal,
5265
- vc as capacityWeights,
5266
- Os as carriesText,
5267
- ec as categoryLabel,
5268
- si as categoryOf,
5269
- Uu as channelKindForScheme,
5270
- ws as channelKindOf,
5271
- _l as checkInOverdueMs,
5272
- Bc as clampStepMaxTokens,
5273
- Fa as classifyMail,
5274
- jd as cleanMessageMarkdown,
5275
- Bd as cleanMessageText,
5276
- Ia as codeQuery,
5277
- Ou as compareAssistRank,
5278
- Po as compareWorkTypes,
5279
- tr as conditionHolds,
5280
- 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,
5281
5326
  V as countsAsPlanned,
5282
- yc as coverageByPerson,
5283
- Ec as coverageFor,
5284
- Ht as coversWorkstream,
5285
- Wl as currentPeriod,
5286
- Gt as cycleDayIndex,
5287
- _u as cycleOrder,
5288
- Eu as cycleState,
5289
- _a as decideAssignmentState,
5290
- Nd as decideCadence,
5291
- Ru as decideIncomingCall,
5292
- kr as defaultLocaleOf,
5293
- gu as defaultStatusKey,
5294
- Yo as defaultTemplateBlocks,
5295
- Hu as defineIntent,
5296
- Ea as delegationRefusal,
5297
- Sr as depthOf,
5298
- ld as derivePresence,
5299
- ta as describeClause,
5300
- Du as disabledIntentsFromCapabilities,
5301
- la as documentBodyBytes,
5302
- rd as documentKindOf,
5303
- ua as documentOutline,
5304
- Fn as documentToMarkdown,
5305
- Ju as documentToText,
5306
- ol as dueAtOf,
5307
- Vl as dueDateFrom,
5308
- Sl as elapsedSeconds,
5309
- Ld as emailDomain,
5310
- Ud as endpointKey,
5311
- Lr as erlangC,
5312
- Ci as extractParams,
5313
- ji as extractTerms,
5314
- Da as fillDocument,
5315
- er as fillText,
5316
- Pu as filterByEndpoint,
5317
- Lu as filterByIntent,
5318
- bi as filterByTargetScheme,
5319
- 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,
5320
5365
  oe as findAiVendor,
5321
- fl as fixedLevelForName,
5322
- iu as fixedTypeForName,
5323
- su as fixedTypes,
5324
- id as flattenLocales,
5366
+ hl as fixedLevelForName,
5367
+ lu as fixedTypeForName,
5368
+ uu as fixedTypes,
5369
+ ld as flattenLocales,
5325
5370
  W as floorToPeriod,
5326
- Ic as forecastIntervals,
5327
- no as formatActingIdentity,
5371
+ kc as forecastIntervals,
5372
+ ro as formatActingIdentity,
5328
5373
  D as formatCents,
5329
- kl as formatClock,
5330
- Il as formatHm,
5331
- lu as formatItemKey,
5374
+ Cl as formatClock,
5375
+ Ml as formatHm,
5376
+ pu as formatItemKey,
5332
5377
  G as formatPeriod,
5333
- Gl as formatSeriesNumber,
5334
- al as formatSlaDuration,
5335
- wu as freshSources,
5336
- Ks as getActivitySeenUserIds,
5337
- Na as getContactEndpoints,
5338
- Va as getShortTitle,
5339
- za as getUrgencyScore,
5340
- Qc as hasReacted,
5341
- pl as healthCategory,
5342
- ml as healthsInCategory,
5343
- jt as heightOf,
5344
- Ya as helpCenterText,
5345
- Lc as humanizeAction,
5346
- uo as interactionIdOf,
5347
- Ql as isAgentUser,
5348
- Ga as isAssigned,
5349
- ga as isAssignmentTerminal,
5350
- so as isAssignmentTrigger,
5351
- Wc as isAutoReady,
5352
- Er as isAwaitingThem,
5353
- Fs as isChatMessageActivity,
5354
- Wa as isClosed,
5355
- xs as isConnectedType,
5356
- Ed as isDeepLink,
5357
- Tr as isDescendant,
5358
- La as isEligible,
5359
- Us as isEmailActivity,
5360
- Rl as isFrozen,
5361
- rl as isHeldClock,
5362
- Fd as isHtmlBody,
5363
- Vc as isInFlight,
5364
- fr as isInteractionUnseen,
5365
- Sd as isLandingPath,
5366
- sr as isLikelyBulk,
5367
- Ct as isMessageShape,
5368
- vs as isMessageType,
5369
- Ni as isMoreSpecificPattern,
5370
- Ot as isNoteShape,
5371
- Mo as isOpenClock,
5372
- pi as isOutwardTool,
5373
- br as isParked,
5374
- bo as isPaused,
5375
- Ns as isPlaybookAuthoredType,
5376
- Pd as isPublicEmailDomain,
5377
- Id as isPublicPath,
5378
- Ar as isReminderActive,
5379
- Cs as isReplyableType,
5380
- ja as isSlaAtRisk,
5381
- zc as isTerminal,
5382
- Ka as isThreadLongEnough,
5383
- Rs as isTranscriptType,
5384
- hu as isWorkClosed,
5385
- vl as isWorkTypeVisible,
5386
- At as isWriteTool,
5387
- fu 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,
5388
5433
  x as kindFor,
5389
- ii as ladderFor,
5390
- xo as levelIn,
5434
+ si as ladderFor,
5435
+ Ro as levelIn,
5391
5436
  Ce as levelOrder,
5392
- Cr as lineNet,
5393
- Xa as linkLabel,
5394
- xl as listedTransactionKinds,
5395
- Qs as listeningAllowed,
5396
- Qa as localeInstruction,
5397
- qa as localeName,
5398
- Ja as localesOf,
5399
- Dd as looksLikeEmail,
5400
- Lt as lookup,
5401
- wa as marginCents,
5402
- Zu as markdownToDocument,
5403
- oa as matchApprovalPolicy,
5404
- Ku as matchContactToIntents,
5405
- xi as matchPublicRoute,
5406
- nc as mcpCredentialScope,
5407
- rc as mcpToolPrefix,
5408
- gl as measureRatio,
5409
- Hs as mergeDefaultFlags,
5410
- Od as mergeShownKeys,
5411
- hn as messageCountsAs,
5412
- na as metricOption,
5413
- Wt as minutesOn,
5414
- Kd as needsPhoneRegion,
5415
- Ms as nestsUnderParent,
5416
- dl as nextLevelBelow,
5417
- il as nextSlaClock,
5418
- $l as nextVersion,
5419
- ca as normalizeArtifactBlocks,
5420
- Is as normalizeBlocks,
5421
- ca as normalizeDocumentBlocks,
5422
- 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,
5423
5469
  P as normalizeExample,
5424
- Wn as normalizeGtin,
5425
- ad as notificationPrefKey,
5426
- Hi as novelty,
5427
- Qu as operationDescriptor,
5428
- qu as operationsForKind,
5429
- $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,
5430
5476
  fe as overlapSeconds,
5431
- _c as overlaps,
5432
- hl as paceRatio,
5433
- Pa as parkMarksById,
5434
- Cc as parseActingIdentity,
5435
- ka as parseAmount,
5436
- Zc as parseClockMinutes,
5437
- uu as parseItemKey,
5438
- Mi as pathToRegex,
5439
- Vt as patternFor,
5440
- zt as patternStartTime,
5441
- Jc as pauseBitFor,
5442
- ia as pendingApprovers,
5443
- Js as periodsInRange,
5444
- $d as phoneSuffix,
5445
- Ua as pickMailHeaders,
5446
- Ra as pickTemplate,
5447
- Mc as placeLumps,
5448
- mn as plainTextFromMarkdown,
5449
- nl as planSlaEvent,
5450
- Sc as plannedBillable,
5451
- Gr as plannedWorkTypeKey,
5452
- io as playbookActor,
5453
- Gc as procedureOf,
5454
- Fl as productScopeKey,
5455
- pu as projectDossierKeys,
5456
- Oi as publicBasePathFor,
5457
- Td as publicRoutePatterns,
5458
- ba as reactionWakesAssignment,
5459
- 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,
5460
5506
  ye as readPath,
5461
5507
  de as readStepError,
5462
- yr as recencyOf,
5463
- xa as recipientLocale,
5464
- co as refKey,
5465
- Zi as registrableDomain,
5466
- Bo as rejectExampleCandidate,
5467
- 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,
5468
5514
  Me as remainingMsOf,
5469
- Ur as requiredAgents,
5470
- Hr as requirementFor,
5471
- hi as resolveAccountCapabilities,
5515
+ Fr as requiredAgents,
5516
+ Gr as requirementFor,
5517
+ yi as resolveAccountCapabilities,
5472
5518
  be as resolveActivityText,
5473
- gi as resolveChannelIntents,
5474
- va as resolvePrice,
5475
- Qn as resolveSignature,
5476
- dd as resolveWorkMode,
5477
- yd as resourceKindOf,
5478
- Al 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,
5479
5525
  z as roundHalfUp,
5480
- Oc as runActor,
5481
- Yc as runInteractionId,
5482
- Ln as sanitizeInline,
5483
- $i as sanitizeTranscript,
5484
- kc as scheduleEntryScopeKey,
5485
- Ha as scoreInteraction,
5486
- tu as scoreWorkItem,
5487
- tc as selectLenses,
5488
- Pr as serviceLevel,
5489
- xu as sessionsHoldCannotReach,
5490
- Nu as sessionsToHold,
5491
- Xl as shadowTermsByCode,
5492
- $t as shareKeyForTeam,
5493
- Dt as shareKeyForUser,
5494
- fa as shareKeysForViewer,
5495
- Tc as shortfalls,
5496
- fd as shouldRunAudioPipeline,
5497
- sl as slaBadgeTone,
5498
- Ba as slaHoursByInbox,
5499
- _r as slaHoursFor,
5500
- ai as sortStatuses,
5501
- mi as sourceKey,
5502
- to as spreadOverWeights,
5503
- mu as statusIn,
5504
- Au as statusRequiresApproval,
5505
- Hc as stepsOf,
5506
- ll as strategyAncestorKeysFor,
5507
- cl as strategyDossierKeys,
5508
- en as strategyItemScopeKey,
5509
- gn as stripHtml,
5510
- Xc as subjectKeyOf,
5511
- Xt as subjectOf,
5512
- Cu as subjectRef,
5513
- du as suggestProjectKey,
5514
- yl as suggestedHealth,
5515
- qc as summarizeReactions,
5516
- Dc as targetById,
5517
- Rc as targetForActivityType,
5518
- El as targetOrder,
5519
- Mr as taxRateFor,
5520
- Rr as termsFor,
5521
- oo as toActingIdentity,
5522
- St as toE164,
5523
- Yl as toTransactionTerm,
5524
- ao as toolBareName,
5525
- 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,
5526
5573
  ne as toolName,
5527
- ku as toolReversible,
5528
- pa as toolSourceKinds,
5529
- Cd as toolVerdict,
5530
- jo as topicOfferedForTeam,
5531
- Nl as topicsForTeam,
5532
- Kr as trafficIntensity,
5533
- Ll as transactionContext,
5534
- jl as transactionDossierKeys,
5535
- Bl 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,
5536
5583
  F as transactionKind,
5537
- Jo as transactionScopeKey,
5538
- Pl as transactionSlots,
5539
- dc as transactionTotals,
5540
- Uc as triggerFillsVar,
5541
- Fo as truncateExample,
5542
- ou as typeIn,
5543
- ru as typesFor,
5544
- yu as uniqueWorkStatusKey,
5545
- wl as uniqueWorkTypeKey,
5546
- Cn as usageMetricId,
5547
- ra as usageMetrics,
5548
- bu as validateStatuses,
5549
- 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,
5550
5597
  Re as waitHoursOf,
5551
- ya as wakesAssignment,
5552
- cu as workActivityScopeKey,
5553
- oi as workItemScopeKey,
5554
- tn as workProjectScopeKey,
5555
- bl as workRatio,
5556
- ci as workStatusKey,
5557
- 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,
5558
5605
  Ie as workingMsBetween,
5559
- wc as workstreamScopeKey
5606
+ vc as workstreamScopeKey
5560
5607
  };