@opencxh/domain 1.264.4 → 1.264.5

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 ys = 10, bs = 10, As = 10, _s = 5, un = /* @__PURE__ */ new Set([
1
+ const _s = 10, Es = 10, Ss = 10, Ts = 5, dn = /* @__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 Es(e, t = () => {
17
+ function Is(e, t = () => {
18
18
  }) {
19
19
  if (!Array.isArray(e)) return [];
20
20
  const n = [];
@@ -25,7 +25,7 @@ function Es(e, t = () => {
25
25
  }
26
26
  if (!r || typeof r != "object") continue;
27
27
  const o = r;
28
- if (!un.has(o.type)) {
28
+ if (!dn.has(o.type)) {
29
29
  t(`unknown block type ${String(o.type)}`);
30
30
  continue;
31
31
  }
@@ -69,17 +69,17 @@ function Es(e, t = () => {
69
69
  }
70
70
  return n;
71
71
  }
72
- const dn = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, fn = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
73
- function pn(e) {
72
+ const fn = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, pn = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
73
+ function mn(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(dn, "$2"), t = t.replace(fn, "$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(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();
81
81
  }
82
- function mn(e) {
82
+ function gn(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 = pn(t.bodyText).trim() || t.bodySnippet?.trim() || mn(t.body ?? "");
481
+ const t = e.payload, n = mn(t.bodyText).trim() || t.bodySnippet?.trim() || gn(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 Ss(e) {
487
+ function ks(e) {
488
488
  return k(e)?.icon ?? "circle";
489
489
  }
490
- function Ts(e) {
490
+ function ws(e) {
491
491
  return k(e)?.channelKind;
492
492
  }
493
- function Mt(e) {
493
+ function Ct(e) {
494
494
  return e === "message" || e === "note";
495
495
  }
496
- function Is(e) {
497
- return Mt(k(e)?.shape);
496
+ function vs(e) {
497
+ return Ct(k(e)?.shape);
498
498
  }
499
- function Ct(e) {
499
+ function Ot(e) {
500
500
  return e === "note";
501
501
  }
502
- function ks(e) {
503
- return Ct(k(e)?.shape);
502
+ function Ms(e) {
503
+ return Ot(k(e)?.shape);
504
504
  }
505
- function ws(e) {
505
+ function Cs(e) {
506
506
  return k(e)?.replyable === !0;
507
507
  }
508
- function vs(e) {
508
+ function Os(e) {
509
509
  return k(e)?.carriesText === !0;
510
510
  }
511
- function gn(e) {
511
+ function hn(e) {
512
512
  return k(e)?.countsAs;
513
513
  }
514
- function Ms(e) {
514
+ function Ns(e) {
515
515
  return k(e)?.playbookAuthored === !0;
516
516
  }
517
- function Cs(e) {
517
+ function xs(e) {
518
518
  return k(e)?.connected === !0;
519
519
  }
520
- function Ns(e) {
520
+ function Rs(e) {
521
521
  const t = k(e);
522
522
  return t?.shape === "artifact" && t?.carriesText === !0;
523
523
  }
524
- function hn(e) {
524
+ function yn(e) {
525
525
  const t = k(e.type)?.snippet;
526
526
  return t ? t(e) : "";
527
527
  }
528
- function Os(e, t) {
528
+ function Ds(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 xs(e) {
532
+ function $s(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 yn(e, t) {
555
+ function bn(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 yn(e, t) {
560
560
  return { key: e.key, params: n };
561
561
  }
562
562
  const We = 140;
563
- function bn(e) {
563
+ function An(e) {
564
564
  const t = e.trim();
565
565
  return t.length <= We ? t : `${t.slice(0, We - 1).trimEnd()}…`;
566
566
  }
567
- function Rs(e, t) {
568
- const n = yn(t?.text, e), r = t ? be(t.text, e, (o) => o) : null;
567
+ function Ls(e, t) {
568
+ const n = bn(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: bn(r ?? hn(e)),
572
+ snippet: An(r ?? yn(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 An = (e) => e;
579
+ const _n = (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 _n {
612
- constructor(t = [], n = An) {
611
+ class En {
612
+ constructor(t = [], n = _n) {
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 _n {
666
666
  * {@link ResolvedActivityType}.
667
667
  */
668
668
  isMessage(t) {
669
- return Mt(this.get(t)?.shape);
669
+ return Ct(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 Ct(this.get(t)?.shape);
673
+ return Ot(this.get(t)?.shape);
674
674
  }
675
675
  /** Can a person reply to this? Notes cannot — those go nowhere. */
676
676
  isReplyable(t) {
@@ -698,23 +698,23 @@ class _n {
698
698
  return this.translate;
699
699
  }
700
700
  }
701
- const Ds = new _n();
702
- function $s(e, t, n = []) {
701
+ const Ps = new En();
702
+ function Ks(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 En(e) {
708
+ function Sn(e) {
709
709
  return e.createdAt ?? 0;
710
710
  }
711
- function Ls(e) {
711
+ function Us(e) {
712
712
  return e.type === "EMAIL_RECEIVED" || e.type === "EMAIL_SENT";
713
713
  }
714
- function Ps(e) {
714
+ function Fs(e) {
715
715
  return e.type === "CHAT_MESSAGE_SENT" || e.type === "CHAT_MESSAGE_RECEIVED";
716
716
  }
717
- const Oe = [
717
+ const Ne = [
718
718
  { id: "chat", defaultFlag: "isDefaultLlm", label: "LLM" },
719
719
  { id: "transcription", defaultFlag: "isDefaultStt", label: "STT" },
720
720
  /**
@@ -725,18 +725,18 @@ const Oe = [
725
725
  { id: "tts", defaultFlag: "isDefaultTts", label: "TTS" },
726
726
  { id: "embedding", defaultFlag: "isDefaultEmbedding", label: "Embeddings" }
727
727
  ];
728
- function Ks(e) {
729
- return Oe.find((t) => t.id === e)?.defaultFlag;
728
+ function Bs(e) {
729
+ return Ne.find((t) => t.id === e)?.defaultFlag;
730
730
  }
731
- function Us(e) {
731
+ function js(e) {
732
732
  const t = {};
733
- for (const n of Oe)
733
+ for (const n of Ne)
734
734
  t[n.defaultFlag] = e?.[n.defaultFlag] === !0;
735
735
  return t;
736
736
  }
737
- function Fs(e, t) {
737
+ function Hs(e, t) {
738
738
  const n = {};
739
- for (const r of Oe) {
739
+ for (const r of Ne) {
740
740
  const o = r.defaultFlag;
741
741
  n[o] = (e?.[o] ?? t?.[o]) === !0;
742
742
  }
@@ -835,23 +835,23 @@ const Nt = [
835
835
  function oe(e) {
836
836
  return Nt.find((t) => t.id === e);
837
837
  }
838
- function Bs(e) {
838
+ function Gs(e) {
839
839
  return oe(e)?.label ?? e;
840
840
  }
841
- function js(e, t = "gpt-5-mini") {
841
+ function Ws(e, t = "gpt-5-mini") {
842
842
  return oe(e)?.defaultModel ?? t;
843
843
  }
844
- function Hs(e) {
844
+ function zs(e) {
845
845
  return Nt.filter((t) => t.capabilities.includes(e));
846
846
  }
847
- function Gs(e) {
847
+ function Vs(e) {
848
848
  const t = oe(e);
849
849
  return !!t && !t.baseUrl;
850
850
  }
851
- function Ws(e, t) {
851
+ function Xs(e, t) {
852
852
  return t === "text" ? !0 : oe(e)?.attachmentKinds?.includes(t) === !0;
853
853
  }
854
- function zs(e, t) {
854
+ function Ys(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 zs(e, t) {
859
859
  function Xe(e) {
860
860
  return typeof e == "number" ? e : void 0;
861
861
  }
862
- function Sn(e, t = "month") {
862
+ function Tn(e, t = "month") {
863
863
  const n = new Date(e);
864
864
  return Date.UTC(n.getUTCFullYear(), n.getUTCMonth(), 1);
865
865
  }
866
- function Vs(e, t = "month") {
867
- const n = new Date(Sn(e, t));
866
+ function qs(e, t = "month") {
867
+ const n = new Date(Tn(e, t));
868
868
  return `${n.getUTCFullYear()}-${String(n.getUTCMonth() + 1).padStart(2, "0")}`;
869
869
  }
870
- function Xs(e) {
870
+ function Qs(e) {
871
871
  return e?.listeningEnabled !== !1;
872
872
  }
873
- const Ys = [
873
+ const Zs = [
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 Tn = 36e5, In = 864e5;
895
- function qs(e, t, n) {
896
- const r = n === "hour" ? Tn : In, o = [];
894
+ const In = 36e5, kn = 864e5;
895
+ function Js(e, t, n) {
896
+ const r = n === "hour" ? In : kn, 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 kn = /* @__PURE__ */ new Set(["time"]);
902
- function Qs(e, t, n) {
901
+ const wn = /* @__PURE__ */ new Set(["time"]);
902
+ function ea(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) && !kn.has(o.id)).map((o) => ({
905
+ return t.filter((o) => r.has(o.id) && !wn.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 Zs(e, t) {
911
+ function ta(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 Js(e) {
915
+ function na(e) {
916
916
  return { value: e.id, label: `${e.category} · ${e.label}` };
917
917
  }
918
- const wn = [
918
+ const vn = [
919
919
  { id: "resource", label: "Resource", labelSource: "raw" },
920
920
  { id: "origin", label: "Herkomst", labelSource: "raw" }
921
- ], vn = wn.map((e) => e.id);
922
- function Mn(e, t) {
921
+ ], Mn = vn.map((e) => e.id);
922
+ function Cn(e, t) {
923
923
  return `${e}.usage.${t}`;
924
924
  }
925
- function ea(e, t) {
925
+ function ra(e, t) {
926
926
  return t.map((n) => ({
927
- id: Mn(e, n.unit),
927
+ id: Cn(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
- ...vn,
934
+ ...Mn,
935
935
  ...n.extraDimensions ?? [],
936
936
  "time"
937
937
  ]
938
938
  }));
939
939
  }
940
- function ta(e, t) {
940
+ function oa(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 na(e, t, n, r) {
946
+ function ia(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 ra(e, t) {
952
+ function sa(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 ra(e, t) {
963
963
  settledAt: o ? t.at : void 0
964
964
  };
965
965
  }
966
- const Ot = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), Ye = 200, qe = 100, Qe = 200, Ze = 12, Je = 4, et = 10, Cn = 8, tt = 12, xt = 4e3, Z = 500, oa = 1024 * 1024, Nn = /* @__PURE__ */ new Set([
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([
967
967
  "heading",
968
968
  "paragraph",
969
969
  "list",
@@ -977,15 +977,15 @@ const Ot = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]
977
977
  "letterhead",
978
978
  "totals",
979
979
  "pagebreak"
980
- ]), On = ["http:", "https:", "mailto:", "tel:"], xn = /^[a-z][a-z0-9+.-]*:/i;
980
+ ]), xn = ["http:", "https:", "mailto:", "tel:"], Rn = /^[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 = xn.exec(t)?.[0];
985
- return n ? On.includes(n.toLowerCase()) : !t.startsWith("//");
984
+ const n = Rn.exec(t)?.[0];
985
+ return n ? xn.includes(n.toLowerCase()) : !t.startsWith("//");
986
986
  }
987
- const Rn = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
988
- function Dn(e) {
987
+ const Dn = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
988
+ function $n(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 $n(e) {
1025
- return Dn(e).replace(
1026
- Rn,
1024
+ function Ln(e) {
1025
+ return $n(e).replace(
1026
+ Dn,
1027
1027
  (t, n, r) => xe(r) ? t : ""
1028
1028
  );
1029
1029
  }
1030
- function I(e, t = xt) {
1031
- return typeof e == "string" ? $n(e).slice(0, t) : "";
1030
+ function I(e, t = Rt) {
1031
+ return typeof e == "string" ? Ln(e).slice(0, t) : "";
1032
1032
  }
1033
- function Ln(e, t = xt) {
1033
+ function Pn(e, t = Rt) {
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 Pn(e, t = "info") {
1040
- return typeof e == "string" && Ot.has(e) ? e : t;
1039
+ function Kn(e, t = "info") {
1040
+ return typeof e == "string" && xt.has(e) ? e : t;
1041
1041
  }
1042
- function ia(e, t = () => {
1042
+ function ca(e, t = () => {
1043
1043
  }) {
1044
1044
  if (!Array.isArray(e)) return [];
1045
1045
  const n = [];
@@ -1085,7 +1085,7 @@ function ia(e, t = () => {
1085
1085
  break;
1086
1086
  }
1087
1087
  case "code": {
1088
- const s = Ln(o.text);
1088
+ const s = Pn(o.text);
1089
1089
  if (!s) {
1090
1090
  t("a code block without text");
1091
1091
  continue;
@@ -1161,7 +1161,7 @@ function ia(e, t = () => {
1161
1161
  if (!l || !d) continue;
1162
1162
  const c = u?.tone;
1163
1163
  a.push(
1164
- typeof c == "string" && Ot.has(c) ? { value: l, label: d, tone: c } : { value: l, label: d }
1164
+ typeof c == "string" && xt.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 ia(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, Cn).map((d) => B(d)).filter(Boolean);
1202
+ const l = (Array.isArray(o.recipient) ? o.recipient : []).slice(0, On).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 ia(e, t = () => {
1248
1248
  n.push({
1249
1249
  ...i,
1250
1250
  type: "callout",
1251
- tone: Pn(o.tone),
1251
+ tone: Kn(o.tone),
1252
1252
  ...a ? { title: a } : {},
1253
1253
  text: s
1254
1254
  });
@@ -1258,10 +1258,10 @@ function ia(e, t = () => {
1258
1258
  }
1259
1259
  return n;
1260
1260
  }
1261
- function sa(e) {
1261
+ function la(e) {
1262
1262
  return JSON.stringify(e).length;
1263
1263
  }
1264
- function aa(e) {
1264
+ function ua(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 Kn(e) {
1282
+ function Un(e) {
1283
1283
  switch (e.type) {
1284
1284
  case "heading":
1285
1285
  return [`${"#".repeat(e.level)} ${e.text}`];
@@ -1335,11 +1335,11 @@ function Kn(e) {
1335
1335
  return ["---"];
1336
1336
  }
1337
1337
  }
1338
- function Un(e, t) {
1338
+ function Fn(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 = Kn(o);
1342
+ const i = Un(o);
1343
1343
  i.length > 0 && n.push(i.join(`
1344
1344
  `));
1345
1345
  }
@@ -1348,45 +1348,45 @@ function Un(e, t) {
1348
1348
  `)}
1349
1349
  `;
1350
1350
  }
1351
- const Rt = (e) => `user:${e}`, Dt = (e) => `team:${e}`;
1352
- function ca(e) {
1351
+ const Dt = (e) => `user:${e}`, $t = (e) => `team:${e}`;
1352
+ function da(e) {
1353
1353
  const t = /* @__PURE__ */ new Set();
1354
1354
  for (const n of e ?? [])
1355
- n?.id && (n.kind === "user" && t.add(Rt(n.id)), n.kind === "team" && t.add(Dt(n.id)));
1355
+ n?.id && (n.kind === "user" && t.add(Dt(n.id)), n.kind === "team" && t.add($t(n.id)));
1356
1356
  return [...t].sort();
1357
1357
  }
1358
- function la(e, t) {
1359
- return [Rt(e), ...t.map(Dt)];
1358
+ function fa(e, t) {
1359
+ return [Dt(e), ...t.map($t)];
1360
1360
  }
1361
- function ua(e) {
1361
+ function pa(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 Fn = ["done", "escalated"], da = ["open", "waiting"];
1368
- function fa(e) {
1369
- return Fn.includes(e);
1367
+ const Bn = ["done", "escalated"], ma = ["open", "waiting"];
1368
+ function ga(e) {
1369
+ return Bn.includes(e);
1370
1370
  }
1371
- const Bn = "assignment";
1372
- function pa(e) {
1373
- return `${Bn}:${e}`;
1371
+ const jn = "assignment";
1372
+ function ha(e) {
1373
+ return `${jn}:${e}`;
1374
1374
  }
1375
- function ma(e, t, n, r) {
1375
+ function ya(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 ga(e) {
1381
+ function ba(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 ha(e) {
1385
+ function Aa(e) {
1386
1386
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
1387
1387
  }
1388
- const jn = 12;
1389
- function ya(e, t, n = jn) {
1388
+ const Hn = 12;
1389
+ function _a(e, t, n = Hn) {
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 ya(e, t, n = jn) {
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 Hn = 2;
1404
- function ba(e, t, n, r) {
1403
+ const Gn = 2;
1404
+ function Ea(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 ba(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 >= Hn ? `er zijn al ${i} agents ingeschakeld voor deze vraag; dieper delegeren mag niet` : null;
1413
+ return i >= Gn ? `er zijn al ${i} agents ingeschakeld voor deze vraag; dieper delegeren mag niet` : null;
1414
1414
  }
1415
- const Aa = "organization.business-entities.list";
1416
- function _a(e, t, n) {
1415
+ const Sa = "organization.business-entities.list";
1416
+ function Ta(e, t, n) {
1417
1417
  return e ? e === t : n;
1418
1418
  }
1419
- function Gn(e) {
1419
+ function Wn(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 Wn(n.slice(0, 13)) === Number(n[13]) ? n : void 0;
1423
+ return zn(n.slice(0, 13)) === Number(n[13]) ? n : void 0;
1424
1424
  }
1425
- function Wn(e) {
1425
+ function zn(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 Ea(e, t) {
1432
- const n = t.trim(), r = Gn(n), o = [{ sku: n }, { barcodes: { $in: [n] } }];
1431
+ function Ia(e, t) {
1432
+ const n = t.trim(), r = Wn(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 zn(e, t) {
1438
+ function Vn(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 Sa(e) {
1456
+ function ka(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 (!Vn(d)) return;
1462
+ if (!Xn(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 Vn(e) {
1468
+ function Xn(e) {
1469
1469
  return /^\d+$/.test(e) ? !0 : e.includes(".") && e.includes(",") ? !1 : /^\d{1,3}([.,]\d{3})*$/.test(e);
1470
1470
  }
1471
- function Ta(e) {
1471
+ function wa(e) {
1472
1472
  return e.costPriceCents == null ? e.netCents : e.netCents - z(e.costPriceCents * e.quantity);
1473
1473
  }
1474
- const Xn = [
1474
+ const Yn = [
1475
1475
  {
1476
1476
  key: "contract",
1477
1477
  matches: (e, t) => !!e.contractId && e.contractId === t.contractId && !!e.productId
@@ -1493,40 +1493,40 @@ const Xn = [
1493
1493
  matches: (e, t) => !e.contractId && !e.companyId && !!e.segmentKey && e.segmentKey === t.segmentKey && !!e.categoryKey
1494
1494
  }
1495
1495
  ];
1496
- function Ia(e, t, n) {
1496
+ function va(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 Xn) {
1500
+ for (const o of Yn) {
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: Yn(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 Yn(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 ka = ["piece", "hour", "day", "month", "km", "license"], wa = /* @__PURE__ */ new Set(["mail", "message"]);
1518
- function qn(e, t) {
1517
+ const Ma = ["piece", "hour", "day", "month", "km", "license"], Ca = /* @__PURE__ */ new Set(["mail", "message"]);
1518
+ function Qn(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 va(e, t, n, r = "html") {
1522
+ function Oa(e, t, n, r = "html") {
1523
1523
  if (!e) return n;
1524
- const o = qn(e, t);
1524
+ const o = Qn(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 Ma(e) {
1529
+ function Na(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 Ca(e) {
1537
+ function xa(e) {
1538
1538
  return $(e.contactLocale) ?? $(e.companyLocale) ?? $(e.organizationLocale);
1539
1539
  }
1540
- function Na(e, t, n, r) {
1540
+ function Ra(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 Qn = /\{([a-zA-Z0-9_.]+)\}/g;
1548
- function $t(e, t) {
1547
+ const Zn = /\{([a-zA-Z0-9_.]+)\}/g;
1548
+ function Lt(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 $t(e, t) {
1553
1553
  }
1554
1554
  return n;
1555
1555
  }
1556
- function Zn(e) {
1556
+ function Jn(e) {
1557
1557
  return typeof e == "string" ? e : typeof e == "number" || typeof e == "boolean" ? String(e) : "";
1558
1558
  }
1559
- function Jn(e, t, n) {
1559
+ function er(e, t, n) {
1560
1560
  const r = [];
1561
- return { text: e.replace(Qn, (i, s) => {
1562
- const a = $t(t, s);
1563
- return a == null || a === "" ? (r.includes(s) || r.push(s), n ?? `{${s}}`) : Zn(a);
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);
1564
1564
  }), unresolved: r };
1565
1565
  }
1566
- function er(e, t) {
1566
+ function tr(e, t) {
1567
1567
  if (!e) return !0;
1568
- const n = $t(t, e.key);
1568
+ const n = Lt(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 Oa(e, t, n, r, o) {
1575
+ function Da(e, t, n, r, o) {
1576
1576
  const i = [], s = [], a = /* @__PURE__ */ new Set(), u = (l) => {
1577
- const d = Jn(l, t, o);
1577
+ const d = er(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 && !er(n?.[l.block_id], t)) continue;
1582
+ if (l.block_id && !tr(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 Oa(e, t, n, r, o) {
1669
1669
  unusedSlots: Object.keys(r ?? {}).filter((l) => !a.has(l))
1670
1670
  };
1671
1671
  }
1672
- function tr(e) {
1672
+ function nr(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 tr(e) {
1683
1683
  ...e?.logo ? { logo: e.logo } : {}
1684
1684
  };
1685
1685
  }
1686
- function xa(e) {
1687
- return tr({
1686
+ function $a(e) {
1687
+ return nr({
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 xa(e) {
1694
1694
  logo: e?.logo
1695
1695
  });
1696
1696
  }
1697
- const nr = 36e5, rr = 864e5, L = -1 / 0, Ra = (e) => e.score > L, te = {
1697
+ const rr = 36e5, or = 864e5, L = -1 / 0, La = (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 Da(e) {
1703
+ function Pa(e) {
1704
1704
  return Object.fromEntries(e.map((t) => [t.resourceId, t]));
1705
1705
  }
1706
- const or = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, Lt = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
1707
- function ir(e, t) {
1708
- return !!(e && or.test(e) || t && Lt.test(t));
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));
1709
1709
  }
1710
- const sr = 3, ar = 600;
1711
- function $a(e, t) {
1712
- return e >= sr || t >= ar;
1710
+ const ar = 3, cr = 600;
1711
+ function Ka(e, t) {
1712
+ return e >= ar || t >= cr;
1713
1713
  }
1714
- const cr = [
1714
+ const lr = [
1715
1715
  "list-unsubscribe",
1716
1716
  "list-unsubscribe-post",
1717
1717
  "list-id",
@@ -1721,89 +1721,89 @@ const cr = [
1721
1721
  "feedback-id",
1722
1722
  "x-mailer"
1723
1723
  ];
1724
- function La(e) {
1724
+ function Ua(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 && cr.includes(r) && (t[r] = n.value);
1728
+ r && n.value !== void 0 && lr.includes(r) && (t[r] = n.value);
1729
1729
  }
1730
1730
  return t;
1731
1731
  }
1732
- const lr = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i, ur = /(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;
1733
- function Pa(e) {
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) {
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 && lr.test(n))
1735
+ if (r && r !== "no" || t["x-auto-response-suppress"] || n && ur.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 && Lt.test(e.body) || n && ur.test(n))
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))
1739
1739
  return "marketing";
1740
1740
  }
1741
- function dr(e, t) {
1741
+ function fr(e, t) {
1742
1742
  return e.lastActivityAt ? !(e.seenBy ?? []).includes(t) : !1;
1743
1743
  }
1744
- const fr = ["open"], pr = 1e3, mr = {
1744
+ const pr = ["open"], mr = 1e3, gr = {
1745
1745
  urgent: 1,
1746
1746
  high: 4,
1747
1747
  normal: 8,
1748
1748
  low: 24
1749
- }, gr = 72;
1750
- function hr(e) {
1751
- return e.lastActivityAt ?? (e.createdAt ? new Date(En(e)).getTime() : 0);
1749
+ }, hr = 72;
1750
+ function yr(e) {
1751
+ return e.lastActivityAt ?? (e.createdAt ? new Date(Sn(e)).getTime() : 0);
1752
1752
  }
1753
- function yr(e, t) {
1754
- return br(t.remindersById?.[e.id], e, t.now);
1753
+ function br(e, t) {
1754
+ return Ar(t.remindersById?.[e.id], e, t.now);
1755
1755
  }
1756
- function br(e, t, n) {
1756
+ function Ar(e, t, n) {
1757
1757
  return !e || e.remindAt <= n ? !1 : !((t.lastActivityAt ?? 0) > e.parkedAt && t.lastActivityPreview?.direction === "inbound");
1758
1758
  }
1759
- const Pt = (e) => gn(e) === "outbound_message", Kt = (e) => fr.includes(e);
1759
+ const Kt = (e) => hn(e) === "outbound_message", Ut = (e) => pr.includes(e);
1760
1760
  function Re(e, t) {
1761
- return Math.max(0, (t - hr(e)) / nr);
1761
+ return Math.max(0, (t - yr(e)) / rr);
1762
1762
  }
1763
- function Ar(e, t) {
1763
+ function _r(e, t) {
1764
1764
  const n = e.assignedInboxId ? t?.[e.assignedInboxId] : void 0;
1765
- return typeof n == "number" && n > 0 ? n : mr[e.priority ?? "normal"];
1765
+ return typeof n == "number" && n > 0 ? n : gr[e.priority ?? "normal"];
1766
1766
  }
1767
- function Ka(e) {
1767
+ function Ba(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 Ua(e, t, n) {
1774
- return !Kt(e.status) || e.firstResponseAt ? !1 : Re(e, t) > Ar(e, n);
1773
+ function ja(e, t, n) {
1774
+ return !Ut(e.status) || e.firstResponseAt ? !1 : Re(e, t) > _r(e, n);
1775
1775
  }
1776
- function _r(e, t) {
1776
+ function Er(e, t) {
1777
1777
  const n = e.lastActivityPreview;
1778
- return n?.direction !== "outbound" || !Pt(n.type) ? !1 : Re(e, t) < gr;
1778
+ return n?.direction !== "outbound" || !Kt(n.type) ? !1 : Re(e, t) < hr;
1779
1779
  }
1780
- function Fa(e, t) {
1781
- if (!Kt(e.status)) return { score: L, reasons: [] };
1780
+ function Ha(e, t) {
1781
+ if (!Ut(e.status)) return { score: L, reasons: [] };
1782
1782
  if (e.snoozedTill && e.snoozedTill > t.now) return { score: L, reasons: [] };
1783
- if (_r(e, t.now)) return { score: L, reasons: [] };
1784
- if (yr(e, t)) return { score: L, reasons: [] };
1783
+ if (Er(e, t.now)) return { score: L, reasons: [] };
1784
+ if (br(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}`)), dr(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}`)), fr(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" && Pt(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") || ir(e.remoteParty?.resource, e.lastActivityPreview?.snippet)) && (n -= pr, r.push("bulk")), { score: n, reasons: r };
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 };
1795
1795
  }
1796
- const Ba = (e) => !!e.assignedUserId || !!e.assignedInboxId, ja = (e) => e.status === "closed", Ha = (e) => ({
1796
+ const Ga = (e) => !!e.assignedUserId || !!e.assignedInboxId, Wa = (e) => e.status === "closed", za = (e) => ({
1797
1797
  urgent: 10,
1798
1798
  high: 5,
1799
1799
  normal: 2,
1800
1800
  low: 1
1801
- })[e.priority] || 0, Ga = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1802
- function Wa(e, t) {
1801
+ })[e.priority] || 0, Va = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1802
+ function Xa(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 za(e, t, n) {
1806
+ function Ya(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 Ut(e) {
1825
+ function Ft(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 Va(e) {
1830
- return Ut(e)?.label ?? e;
1829
+ function qa(e) {
1830
+ return Ft(e)?.label ?? e;
1831
1831
  }
1832
- function Xa(e) {
1833
- const t = Ut(e);
1832
+ function Qa(e) {
1833
+ const t = Ft(e);
1834
1834
  return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
1835
1835
  }
1836
- const Ft = 3;
1837
- function Er(e, t) {
1836
+ const Bt = 3;
1837
+ function Sr(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 > Ft + 1)) return 1 / 0;
1841
+ if (n.has(o) || (n.add(o), r++, r > Bt + 1)) return 1 / 0;
1842
1842
  o = t.get(o)?.parentId;
1843
1843
  }
1844
1844
  return r;
1845
1845
  }
1846
- function Ya(e, t, n) {
1846
+ function Za(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 && Sr(e, t, r)) return !1;
1851
- const o = Er(e, r), i = t ? Bt(t, n) : 1;
1852
- return o + i <= Ft;
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;
1853
1853
  }
1854
- function Sr(e, t, n) {
1854
+ function Tr(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 Sr(e, t, n) {
1861
1861
  }
1862
1862
  return !1;
1863
1863
  }
1864
- function Bt(e, t, n = /* @__PURE__ */ new Set()) {
1864
+ function jt(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) => Bt(o.id, t, n))) : 1;
1868
+ return r.length ? 1 + Math.max(...r.map((o) => jt(o.id, t, n))) : 1;
1869
1869
  }
1870
- const Tr = "en";
1871
- function Ir(e) {
1872
- return e.defaultLocale || e.locale || Tr;
1870
+ const Ir = "en";
1871
+ function kr(e) {
1872
+ return e.defaultLocale || e.locale || Ir;
1873
1873
  }
1874
- function qa(e) {
1874
+ function Ja(e) {
1875
1875
  const t = /* @__PURE__ */ new Set(), n = [];
1876
- for (const r of [Ir(e), ...e.locales ?? []])
1876
+ for (const r of [kr(e), ...e.locales ?? []])
1877
1877
  !r || t.has(r) || (t.add(r), n.push(r));
1878
1878
  return n;
1879
1879
  }
1880
- function Qa(e, t, n) {
1880
+ function ec(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 kr(e, t) {
1905
+ function wr(e, t) {
1906
1906
  switch (e.kind) {
1907
1907
  case "org":
1908
1908
  return !0;
@@ -1912,29 +1912,29 @@ function kr(e, t) {
1912
1912
  return e.userId === t.userId;
1913
1913
  }
1914
1914
  }
1915
- function Za(e, t) {
1916
- return e.filter((n) => n.enabled && kr(n.ownerScope, t));
1915
+ function tc(e, t) {
1916
+ return e.filter((n) => n.enabled && wr(n.ownerScope, t));
1917
1917
  }
1918
- function Ja(e) {
1918
+ function nc(e) {
1919
1919
  return e.credentialScope ? e.credentialScope : (e.authMode ?? "header") === "header" || e.oauth?.scope === "org" ? "shared" : "per-user";
1920
1920
  }
1921
- function ec(e) {
1921
+ function rc(e) {
1922
1922
  return `mcp__${e}__`;
1923
1923
  }
1924
- const tc = 1e3, nc = 2e3, rc = 500, oc = 12e3, ic = 4e3, wr = ["contact", "company", "work_item"];
1925
- function sc(e) {
1924
+ const oc = 1e3, ic = 2e3, sc = 500, ac = 12e3, cc = 4e3, vr = ["contact", "company", "work_item"];
1925
+ function lc(e) {
1926
1926
  if (!e) return !1;
1927
1927
  const t = e.slice(0, e.indexOf(":"));
1928
- return wr.includes(t);
1928
+ return vr.includes(t);
1929
1929
  }
1930
- const ac = [
1930
+ const uc = [
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 vr(e, t) {
1937
+ function Mr(e, t) {
1938
1938
  return t.find((n) => n.key === e) ?? {
1939
1939
  key: e,
1940
1940
  label: e,
@@ -1942,13 +1942,13 @@ function vr(e, t) {
1942
1942
  kind: "zero"
1943
1943
  };
1944
1944
  }
1945
- function Mr(e) {
1945
+ function Cr(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 cc(e, t, n) {
1951
- const r = e.map((l) => ({ ...l, netCents: Mr(l), taxCents: 0 })), o = /* @__PURE__ */ new Map();
1950
+ function dc(e, t, n) {
1951
+ const r = e.map((l) => ({ ...l, netCents: Cr(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 cc(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 = vr(l, t), f = d.reduce((m, S) => m + r[S].netCents, 0), p = z(f * c.percent / 100), y = zn(
1960
+ const c = Mr(l, t), f = d.reduce((m, S) => m + r[S].netCents, 0), p = z(f * c.percent / 100), y = Vn(
1961
1961
  p,
1962
1962
  d.map((m) => r[m].netCents)
1963
1963
  );
@@ -1979,7 +1979,7 @@ function cc(e, t, n) {
1979
1979
  }
1980
1980
  };
1981
1981
  }
1982
- const lc = "onboarding-source", uc = ["support", "billing", "availability", "sales", "onboarding"], dc = ["keep", "replace"], De = [
1982
+ const fc = "onboarding-source", pc = ["support", "billing", "availability", "sales", "onboarding"], mc = ["keep", "replace"], De = [
1983
1983
  {
1984
1984
  key: "shift",
1985
1985
  label: "kind_shift",
@@ -2053,7 +2053,7 @@ const lc = "onboarding-source", uc = ["support", "billing", "availability", "sal
2053
2053
  absent: !0,
2054
2054
  icon: "party-popper"
2055
2055
  }
2056
- ], Cr = {
2056
+ ], Or = {
2057
2057
  key: "unknown",
2058
2058
  label: "kind_unknown",
2059
2059
  capacity: !1,
@@ -2061,36 +2061,36 @@ const lc = "onboarding-source", uc = ["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) ?? { ...Cr, key: e };
2064
+ return t.find((n) => n.key === e) ?? { ...Or, key: e };
2065
2065
  }
2066
2066
  function V(e) {
2067
2067
  return e === "published" || e === "approved";
2068
2068
  }
2069
- function jt(e, t, n = De) {
2069
+ function Ht(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 fc(e, t = De) {
2074
+ function gc(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
2079
  const Nr = 864e5;
2080
- function Or(e, t) {
2080
+ function xr(e, t) {
2081
2081
  return Math.round((t - e) / Nr);
2082
2082
  }
2083
- function Ht(e, t) {
2084
- const n = e.cycleMinutes.length;
2085
- return n === 0 ? 0 : (Or(e.anchor, t) % n + n) % n;
2086
- }
2087
2083
  function Gt(e, t) {
2088
- return e.effectiveFrom !== void 0 && t < e.effectiveFrom ? 0 : e.cycleMinutes[Ht(e, t)] ?? 0;
2084
+ const n = e.cycleMinutes.length;
2085
+ return n === 0 ? 0 : (xr(e.anchor, t) % n + n) % n;
2089
2086
  }
2090
2087
  function Wt(e, t) {
2091
- return e.startTimes?.[Ht(e, t)];
2088
+ return e.effectiveFrom !== void 0 && t < e.effectiveFrom ? 0 : e.cycleMinutes[Gt(e, t)] ?? 0;
2089
+ }
2090
+ function zt(e, t) {
2091
+ return e.startTimes?.[Gt(e, t)];
2092
2092
  }
2093
- function zt(e, t, n, r) {
2093
+ function Vt(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 zt(e, t, n, r) {
2098
2098
  o.filter((a) => !a.userId && a.teamId && n.includes(a.teamId))
2099
2099
  );
2100
2100
  }
2101
- function xr(e, t, n) {
2101
+ function Rr(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 Rr(e) {
2107
+ function Dr(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 pc(e, t) {
2116
+ function hc(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,23 +2132,23 @@ function pc(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 Rr(e)) {
2136
- const E = Math.max(g, e.from), O = Math.min(g + Ae, e.to);
2135
+ for (const g of Dr(e)) {
2136
+ const E = Math.max(g, e.from), N = Math.min(g + Ae, e.to);
2137
2137
  m++;
2138
- const C = i.filter((w) => w.userId === c).reduce((w, Be) => w + _e(Be.start, Be.end, E, O), 0);
2138
+ const C = i.filter((w) => w.userId === c).reduce((w, Be) => w + _e(Be.start, Be.end, E, N), 0);
2139
2139
  if (C > 0) {
2140
2140
  p += C;
2141
2141
  continue;
2142
2142
  }
2143
- const v = zt(r, c, f, g), N = v ? Gt(v, g) : 0;
2144
- if (v && N > 0) {
2145
- p += N * 60, d(Wt(v, g) ? "interval" : "day");
2143
+ const v = Vt(r, c, f, g), O = v ? Wt(v, g) : 0;
2144
+ if (v && O > 0) {
2145
+ p += O * 60, d(zt(v, g) ? "interval" : "day");
2146
2146
  continue;
2147
2147
  }
2148
2148
  v || y++;
2149
2149
  }
2150
2150
  if (y > 0) {
2151
- const g = xr(o, c, e.from);
2151
+ const g = Rr(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 pc(e, t) {
2163
2163
  byUser: u
2164
2164
  };
2165
2165
  }
2166
- function mc(e, t) {
2166
+ function yc(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 mc(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 gc(e, t, n, r) {
2189
+ function bc(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 gc(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 || (jt(d, t) ? u += c : l += c);
2198
+ c <= 0 || (Ht(d, t) ? u += c : l += c);
2199
2199
  }
2200
2200
  return {
2201
2201
  userId: s,
@@ -2208,100 +2208,100 @@ function gc(e, t, n, r) {
2208
2208
  );
2209
2209
  return i.sort((s, a) => a.freeSeconds - s.freeSeconds), i;
2210
2210
  }
2211
- const hc = "demand-source", at = 1e3;
2212
- function Dr(e, t) {
2211
+ const Ac = "demand-source", at = 1e3;
2212
+ function $r(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 $r(e, t) {
2218
+ function Lr(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 = Dr(e, t), r = t / e;
2222
+ const n = $r(e, t), r = t / e;
2223
2223
  return n / (1 - r * (1 - n));
2224
2224
  }
2225
- function Lr(e, t, n, r) {
2226
- return r <= 0 ? 1 : e <= t ? 0 : 1 - $r(e, t) * Math.exp(-(e - t) * n / r);
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);
2227
2227
  }
2228
- function Pr(e, t, n) {
2228
+ function Kr(e, t, n) {
2229
2229
  return n <= 0 ? 0 : e * t / n;
2230
2230
  }
2231
- function Kr(e, t, n, r) {
2231
+ function Ur(e, t, n, r) {
2232
2232
  if (e <= 0 || t <= 0) return 0;
2233
- const o = Pr(e, t, n);
2233
+ const o = Kr(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) && !(Lr(a, o, r.targetSeconds, t) < i) && !(s && o / a > s))
2237
+ if (!(a <= o) && !(Pr(a, o, r.targetSeconds, t) < i) && !(s && o / a > s))
2238
2238
  return a;
2239
2239
  return at;
2240
2240
  }
2241
- const Ur = 36e5, Fr = 864e5;
2242
- function Br(e) {
2243
- return e === "day" ? Fr : Ur;
2241
+ const Fr = 36e5, Br = 864e5;
2242
+ function jr(e) {
2243
+ return e === "day" ? Br : Fr;
2244
2244
  }
2245
- function yc(e, t) {
2245
+ function _c(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 jr(e, t, n) {
2252
+ function Hr(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 = Kr(e.volume, r, n, t);
2257
+ const a = Ur(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 bc(e) {
2263
- const { entries: t, workstreamId: n, staffing: r, demand: o, range: i } = e, s = e.grain ?? "hour", a = Br(s), u = a / 1e3, l = e.kinds, d = t.filter((m) => V(m.status)), c = d.filter((m) => jt(m, n, l)), f = d.filter((m) => x(m.kindKey, l).capacity), p = d.filter((m) => x(m.kindKey, l).absent), y = [];
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 = [];
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;
2267
2267
  for (const w of c) g += fe(w, m, S);
2268
2268
  let E = 0;
2269
2269
  for (const w of f) E += fe(w, m, S);
2270
- let O = 0;
2271
- for (const w of p) O += fe(w, m, S);
2272
- const C = o?.[h] ?? {}, v = jr(C, r, u), N = g / u;
2270
+ let N = 0;
2271
+ for (const w of p) N += fe(w, m, S);
2272
+ const C = o?.[h] ?? {}, v = Hr(C, r, u), O = g / u;
2273
2273
  y.push({
2274
2274
  period: h,
2275
2275
  forecastVolume: C.volume,
2276
2276
  requiredSeconds: v.seconds,
2277
2277
  requiredHeadcount: v.headcount,
2278
2278
  scheduledSeconds: g,
2279
- scheduledHeadcount: N,
2280
- netHeadcount: N - v.headcount,
2279
+ scheduledHeadcount: O,
2280
+ netHeadcount: O - v.headcount,
2281
2281
  capacitySeconds: E,
2282
- absentSeconds: O
2282
+ absentSeconds: N
2283
2283
  });
2284
2284
  }
2285
2285
  return y;
2286
2286
  }
2287
- function Hr(e, t) {
2287
+ function Gr(e, t) {
2288
2288
  return e.workTypeKey ?? t?.defaultWorkTypeKey;
2289
2289
  }
2290
- function Ac(e, t, n) {
2291
- const r = Hr(e, t);
2290
+ function Sc(e, t, n) {
2291
+ const r = Gr(e, t);
2292
2292
  return r ? n.find((o) => o.key === r)?.defaultBillable ?? !1 : !1;
2293
2293
  }
2294
- function _c(e) {
2294
+ function Tc(e) {
2295
2295
  return e.filter(
2296
2296
  (t) => t.netHeadcount < 0 && t.requiredHeadcount > 0
2297
2297
  );
2298
2298
  }
2299
- const Gr = 36e5, Ee = 6048e5, Wr = 8, zr = 0.5, Vr = 2;
2300
- function Xr(e) {
2299
+ const Wr = 36e5, Ee = 6048e5, zr = 8, Vr = 0.5, Xr = 2;
2300
+ function Yr(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 Yr(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 Yr(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(Vr, Math.max(zr, r[0] / o));
2315
+ return o <= 0 ? 1 : Math.min(Xr, Math.max(Vr, r[0] / o));
2316
2316
  }
2317
- function qr(e, t) {
2317
+ function Qr(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 Ec(e, t, n) {
2325
- const r = Math.max(1, n?.weeks ?? Wr), o = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set();
2324
+ function Ic(e, t, n) {
2325
+ const r = Math.max(1, n?.weeks ?? zr), o = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set();
2326
2326
  for (const u of e)
2327
- o.set(Xr(u.period), u.value), i.add(u.period.slice(0, 10));
2328
- const s = Yr(o, W(t.from, "hour"), r), a = [];
2329
- for (let u = W(t.from, "hour"); u < t.to; u += Gr) {
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) {
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 Ec(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 = Qr(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 Qr = "schedule_entry", Zr = "workstream";
2344
- function Sc(e) {
2345
- return `${Qr}:${e}`;
2346
- }
2347
- function Tc(e) {
2343
+ const Zr = "schedule_entry", Jr = "workstream";
2344
+ function kc(e) {
2348
2345
  return `${Zr}:${e}`;
2349
2346
  }
2347
+ function wc(e) {
2348
+ return `${Jr}:${e}`;
2349
+ }
2350
2350
  const Se = 36e5, U = 864e5;
2351
- function Jr(e, t) {
2351
+ function eo(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 Ic(e, t, n = {}) {
2365
- const r = n.grain ?? "hour", o = Jr(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 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();
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,16 +2383,16 @@ function Ic(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 = zt(n.patterns, c, f, p);
2386
+ const y = Vt(n.patterns, c, f, p);
2387
2387
  if (!y) continue;
2388
- const m = Gt(y, p);
2388
+ const m = Wt(y, p);
2389
2389
  if (m <= 0) continue;
2390
- const S = Wt(y, p);
2390
+ const S = zt(y, p);
2391
2391
  if (S) {
2392
- const [E, O] = S.split(":").map(Number), C = p + E * Se + (O ?? 0) * 6e4, v = C + m * 6e4;
2393
- for (const N of o) {
2394
- const w = pe(C, v, N, N + i);
2395
- w > 0 && s.set(N, (s.get(N) ?? 0) + w);
2392
+ const [E, N] = S.split(":").map(Number), C = p + E * Se + (N ?? 0) * 6e4, v = C + m * 6e4;
2393
+ for (const O of o) {
2394
+ const w = pe(C, v, O, O + i);
2395
+ w > 0 && s.set(O, (s.get(O) ?? 0) + w);
2396
2396
  }
2397
2397
  continue;
2398
2398
  }
@@ -2404,7 +2404,7 @@ function Ic(e, t, n = {}) {
2404
2404
  }
2405
2405
  return o.map((c) => ({ period: G(c, r), weight: s.get(c) ?? 0 }));
2406
2406
  }
2407
- function eo(e, t) {
2407
+ function to(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 eo(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 kc(e, t, n) {
2416
+ function Mc(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 eo(o.seconds, s)) {
2420
+ for (const a of to(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 kc(e, t, n) {
2426
2426
  (o, i) => o.period.localeCompare(i.period) || (o.userId ?? "").localeCompare(i.userId ?? "")
2427
2427
  );
2428
2428
  }
2429
- function to(e) {
2429
+ function no(e) {
2430
2430
  switch (e.kind) {
2431
2431
  case "user":
2432
2432
  return `user:${e.userId}`;
@@ -2436,7 +2436,7 @@ function to(e) {
2436
2436
  return "org";
2437
2437
  }
2438
2438
  }
2439
- function wc(e) {
2439
+ function Cc(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 wc(e) {
2448
2448
  if (r === "team") return { kind: "team", teamId: o };
2449
2449
  }
2450
2450
  }
2451
- function no(e) {
2452
- return to(e);
2453
- }
2454
2451
  function ro(e) {
2452
+ return no(e);
2453
+ }
2454
+ function oo(e) {
2455
2455
  switch (e.kind) {
2456
2456
  case "personal":
2457
2457
  return { kind: "user", userId: e.userId };
@@ -2461,14 +2461,14 @@ function ro(e) {
2461
2461
  return { kind: "org" };
2462
2462
  }
2463
2463
  }
2464
- const oo = ro;
2465
- function vc(e) {
2466
- return e.agentId ? { kind: "user", userId: e.agentId } : oo(e.ownerScope);
2464
+ const io = oo;
2465
+ function Oc(e) {
2466
+ return e.agentId ? { kind: "user", userId: e.agentId } : io(e.ownerScope);
2467
2467
  }
2468
- function Mc(e) {
2469
- return no(e);
2468
+ function Nc(e) {
2469
+ return ro(e);
2470
2470
  }
2471
- function Cc(e, t) {
2471
+ function xc(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 Cc(e, t) {
2477
2477
  }
2478
2478
  return n;
2479
2479
  }
2480
- function Nc(e, t) {
2480
+ function Rc(e, t) {
2481
2481
  return e.targets.find((n) => n.activityTypes.includes(t));
2482
2482
  }
2483
- function Oc(e, t) {
2483
+ function Dc(e, t) {
2484
2484
  if (t)
2485
2485
  return e.targets.find((n) => n.id === t);
2486
2486
  }
2487
- function io(e) {
2487
+ function so(e) {
2488
2488
  return e?.kind === "assignment";
2489
2489
  }
2490
- function xc(e) {
2490
+ function $c(e) {
2491
2491
  const { trigger: t, agentId: n, target: r, activityType: o, assigneeUserId: i, authorUserId: s } = e;
2492
- return io(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 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";
2493
2493
  }
2494
- function Rc(e) {
2494
+ function Lc(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 so(e) {
2500
+ function ao(e) {
2501
2501
  const t = ne(e).split("__");
2502
2502
  return t[t.length - 1] || ne(e);
2503
2503
  }
2504
- function Dc(e) {
2505
- const t = so(e).replace(/[_.]+/g, " ").trim();
2504
+ function Pc(e) {
2505
+ const t = ao(e).replace(/[_.]+/g, " ").trim();
2506
2506
  return t ? t.charAt(0).toUpperCase() + t.slice(1) : ne(e);
2507
2507
  }
2508
- const $c = [
2508
+ const Kc = [
2509
2509
  { name: "text", type: "string" },
2510
2510
  { name: "subject", type: "string" },
2511
2511
  { name: "from", type: "string" },
@@ -2546,10 +2546,10 @@ const $c = [
2546
2546
  // the trigger filter runs — like contactId/companyId above.
2547
2547
  { name: "assigneeUserId", type: "string" }
2548
2548
  ];
2549
- function Lc(e, t) {
2549
+ function Uc(e, t) {
2550
2550
  return !e.onlyFor || !t?.length ? !0 : t.some((n) => e.onlyFor?.includes(n));
2551
2551
  }
2552
- const Pc = {
2552
+ const Fc = {
2553
2553
  topics: [
2554
2554
  { name: "topicId", type: "string" },
2555
2555
  { name: "topic", type: "string" },
@@ -2563,58 +2563,58 @@ const Pc = {
2563
2563
  // Deliberately empty: the fields come from `ClassifyStep.fields` and so differ per step.
2564
2564
  extract: []
2565
2565
  };
2566
- function ao(e) {
2566
+ function co(e) {
2567
2567
  return `${e.type}:${e.id}`;
2568
2568
  }
2569
- const co = "interaction";
2570
- function lo(e) {
2571
- return e?.type === co ? e.id : void 0;
2569
+ const lo = "interaction";
2570
+ function uo(e) {
2571
+ return e?.type === lo ? e.id : void 0;
2572
2572
  }
2573
- const uo = 64, fo = 8e3;
2574
- function Kc(e) {
2573
+ const fo = 64, po = 8e3;
2574
+ function Bc(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), uo), fo);
2577
+ return Math.min(Math.max(Math.round(t), fo), po);
2578
2578
  }
2579
- const Uc = { kind: "workflow", steps: [] };
2580
- function Fc(e) {
2579
+ const jc = { kind: "workflow", steps: [] };
2580
+ function Hc(e) {
2581
2581
  return e?.kind === "workflow" ? e.steps : [];
2582
2582
  }
2583
- function Bc(e) {
2583
+ function Gc(e) {
2584
2584
  return e?.kind === "procedure" ? e.procedure : void 0;
2585
2585
  }
2586
- function po(e) {
2586
+ function mo(e) {
2587
2587
  const t = e?.approved ?? 0, n = t + (e?.rejected ?? 0);
2588
2588
  return { total: n, rate: n ? t / n : 0 };
2589
2589
  }
2590
- const mo = 10, go = 0.9;
2591
- function jc(e) {
2592
- const { total: t, rate: n } = po(e);
2593
- return t >= mo && n >= go;
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;
2594
2594
  }
2595
- const ho = ["done", "escalated", "failed", "stopped"];
2596
- function Hc(e) {
2597
- return ho.includes(e);
2595
+ const yo = ["done", "escalated", "failed", "stopped"];
2596
+ function zc(e) {
2597
+ return yo.includes(e);
2598
2598
  }
2599
- function yo(e) {
2599
+ function bo(e) {
2600
2600
  return e === "waiting";
2601
2601
  }
2602
- function Gc(e) {
2603
- return e === "running" || yo(e);
2602
+ function Vc(e) {
2603
+ return e === "running" || bo(e);
2604
2604
  }
2605
- function Vt(e) {
2605
+ function Xt(e) {
2606
2606
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
2607
2607
  }
2608
- function Wc(e) {
2609
- const t = Vt(e);
2610
- return t ? ao(t) : void 0;
2608
+ function Xc(e) {
2609
+ const t = Xt(e);
2610
+ return t ? co(t) : void 0;
2611
2611
  }
2612
- function zc(e) {
2613
- return lo(Vt(e));
2612
+ function Yc(e) {
2613
+ return uo(Xt(e));
2614
2614
  }
2615
- function Vc(e) {
2615
+ function qc(e) {
2616
2616
  const t = [], n = /* @__PURE__ */ new Map();
2617
- for (const r of [...e].sort(bo)) {
2617
+ for (const r of [...e].sort(Ao)) {
2618
2618
  const o = n.get(r.emoji);
2619
2619
  if (o) {
2620
2620
  o.push(r.actor);
@@ -2627,58 +2627,58 @@ function Vc(e) {
2627
2627
  return { emoji: r, count: o.length, actors: o };
2628
2628
  }).sort((r, o) => o.count - r.count || t.indexOf(r.emoji) - t.indexOf(o.emoji));
2629
2629
  }
2630
- const bo = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
2631
- function Xc(e, t) {
2630
+ const Ao = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
2631
+ function Qc(e, t) {
2632
2632
  return t ? e.actors.some((n) => n.type === "user" && n.id === t) : !1;
2633
2633
  }
2634
- const Te = 6e4, Ao = 36e5, X = 864e5, Xt = 800;
2634
+ const Te = 6e4, _o = 36e5, X = 864e5, Yt = 800;
2635
2635
  function lt(e, t) {
2636
2636
  const n = Date.UTC(e, t + 1, 0);
2637
- return n - new Date(n).getUTCDay() * X + Ao;
2637
+ return n - new Date(n).getUTCDay() * X + _o;
2638
2638
  }
2639
- function _o(e) {
2639
+ function Eo(e) {
2640
2640
  const t = new Date(e).getUTCFullYear();
2641
2641
  return e >= lt(t, 2) && e < lt(t, 9);
2642
2642
  }
2643
- function Yt(e, t) {
2644
- const n = t.dst === "eu" && _o(e) ? 60 : 0;
2643
+ function qt(e, t) {
2644
+ const n = t.dst === "eu" && Eo(e) ? 60 : 0;
2645
2645
  return (t.utcOffsetMinutes + n) * Te;
2646
2646
  }
2647
- function Eo(e) {
2647
+ function So(e) {
2648
2648
  return (e + 3) % 7 + 1;
2649
2649
  }
2650
- function qt(e, t) {
2651
- const n = Yt(e, t), r = e + n, o = Math.floor(r / X);
2652
- if (!t.days.includes(Eo(o))) return null;
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;
2653
2653
  const i = o * X;
2654
2654
  return {
2655
2655
  open: i + t.fromMinutes * Te - n,
2656
2656
  close: i + t.toMinutes * Te - n
2657
2657
  };
2658
2658
  }
2659
- function Qt(e, t) {
2660
- const n = Yt(e, t), r = e + n;
2659
+ function Zt(e, t) {
2660
+ const n = qt(e, t), r = e + n;
2661
2661
  return (Math.floor(r / X) + 1) * X - n;
2662
2662
  }
2663
2663
  function Ie(e, t, n) {
2664
2664
  if (t <= e) return 0;
2665
2665
  if (!n) return t - e;
2666
2666
  let r = 0, o = e;
2667
- for (let i = 0; i < Xt && o < t; i++) {
2668
- const s = qt(o, n);
2667
+ for (let i = 0; i < Yt && o < t; i++) {
2668
+ const s = Qt(o, n);
2669
2669
  if (s) {
2670
2670
  const a = Math.max(o, s.open), u = Math.min(t, s.close);
2671
2671
  u > a && (r += u - a);
2672
2672
  }
2673
- o = Qt(o, n);
2673
+ o = Zt(o, n);
2674
2674
  }
2675
2675
  return r;
2676
2676
  }
2677
2677
  function $e(e, t, n) {
2678
2678
  if (!n) return e + t;
2679
2679
  let r = t, o = e;
2680
- for (let i = 0; i < Xt; i++) {
2681
- const s = qt(o, n);
2680
+ for (let i = 0; i < Yt; i++) {
2681
+ const s = Qt(o, n);
2682
2682
  if (s) {
2683
2683
  const a = Math.max(o, s.open);
2684
2684
  if (s.close > a) {
@@ -2687,72 +2687,72 @@ function $e(e, t, n) {
2687
2687
  r -= u;
2688
2688
  }
2689
2689
  }
2690
- o = Qt(o, n);
2690
+ o = Zt(o, n);
2691
2691
  }
2692
2692
  return e + t;
2693
2693
  }
2694
- function Yc(e) {
2694
+ function Zc(e) {
2695
2695
  const t = /^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);
2696
2696
  return t ? Number(t[1]) * 60 + Number(t[2]) : null;
2697
2697
  }
2698
2698
  const ke = 1, we = 2, ve = 4;
2699
- function qc(e) {
2699
+ function Jc(e) {
2700
2700
  return e === "snoozed" ? ke : we;
2701
2701
  }
2702
2702
  function Le(e) {
2703
2703
  const t = e.calendar;
2704
2704
  return t && Array.isArray(t.days) ? t : null;
2705
2705
  }
2706
- const Qc = [
2706
+ const el = [
2707
2707
  "speed_of_answer",
2708
2708
  "first_response",
2709
2709
  "next_response",
2710
2710
  "resolution",
2711
2711
  "close"
2712
- ], Zc = ["snoozed", "waiting_for_customer"], So = 6e4, Zt = ["speed_of_answer", "first_response", "next_response"], To = [...Zt, "resolution", "close"];
2712
+ ], tl = ["snoozed", "waiting_for_customer"], To = 6e4, Jt = ["speed_of_answer", "first_response", "next_response"], Io = [...Jt, "resolution", "close"];
2713
2713
  function Y(e) {
2714
2714
  return e.state === "running" || e.state === "paused";
2715
2715
  }
2716
- function Io(e, t) {
2716
+ function ko(e, t) {
2717
2717
  return Y(e) ? { state: (e.state === "paused" ? e.remainingMs > 0 : t <= e.dueAt) ? "hit" : "missed", settledAt: Math.max(t, e.startedAt) } : null;
2718
2718
  }
2719
2719
  function ut(e) {
2720
2720
  return Y(e) ? { state: "void" } : null;
2721
2721
  }
2722
- function ko(e, t, n, r) {
2722
+ function wo(e, t, n, r) {
2723
2723
  if (!Y(e) || (e.pauseBits & t) !== 0) return null;
2724
2724
  const o = e.pauseBits | t;
2725
2725
  return e.state === "paused" ? { pauseBits: o } : { pauseBits: o, state: "paused", remainingMs: Ie(n, e.dueAt, r) };
2726
2726
  }
2727
- function wo(e, t, n, r) {
2727
+ function vo(e, t, n, r) {
2728
2728
  if (!Y(e) || (e.pauseBits & t) === 0) return null;
2729
2729
  const o = e.pauseBits & ~t;
2730
2730
  return o !== 0 ? { pauseBits: o } : { pauseBits: o, state: "running", dueAt: $e(n, e.remainingMs, r) };
2731
2731
  }
2732
- function Jc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2732
+ function nl({ event: e, at: t, now: n, clocks: r, profile: o }) {
2733
2733
  const i = Le(o), s = Math.min(t, n), a = r.map((h) => ({ ...h })), u = [], l = (h, g) => {
2734
2734
  g && (u.push({ op: "patch", clockId: h.id, patch: g }), Object.assign(h, g));
2735
2735
  }, d = (h) => {
2736
2736
  for (const g of a)
2737
- g.metric === h && l(g, Io(g, s));
2737
+ g.metric === h && l(g, ko(g, s));
2738
2738
  }, c = (h) => {
2739
2739
  for (const g of a)
2740
2740
  h.includes(g.metric) && l(g, ut(g));
2741
2741
  }, f = (h) => {
2742
- for (const g of a) l(g, ko(g, h, s, i));
2743
- }, p = (h) => {
2744
2742
  for (const g of a) l(g, wo(g, h, s, i));
2743
+ }, p = (h) => {
2744
+ for (const g of a) l(g, vo(g, h, s, i));
2745
2745
  }, 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
2746
  const E = o.targets.find((C) => C.metric === h);
2747
2747
  if (!E) return;
2748
- const O = E.minutes * So;
2748
+ const N = E.minutes * To;
2749
2749
  u.push({
2750
2750
  op: "start",
2751
2751
  metric: h,
2752
2752
  attempt: y(h),
2753
2753
  startedAt: g,
2754
- targetMs: O,
2755
- dueAt: $e(g, O, i)
2754
+ targetMs: N,
2755
+ dueAt: $e(g, N, i)
2756
2756
  });
2757
2757
  };
2758
2758
  switch (e) {
@@ -2782,7 +2782,7 @@ function Jc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2782
2782
  d("resolution");
2783
2783
  break;
2784
2784
  case "closed":
2785
- d("close"), d("resolution"), c(Zt);
2785
+ d("close"), d("resolution"), c(Jt);
2786
2786
  break;
2787
2787
  case "reopened":
2788
2788
  m("resolution") || S("resolution", s), m("close") || S("close", s);
@@ -2803,33 +2803,33 @@ function Jc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2803
2803
  p(ve);
2804
2804
  break;
2805
2805
  case "discarded":
2806
- c(To);
2806
+ c(Io);
2807
2807
  break;
2808
2808
  }
2809
2809
  return u;
2810
2810
  }
2811
- function vo(e) {
2811
+ function Mo(e) {
2812
2812
  return e.state === "running" || e.state === "paused";
2813
2813
  }
2814
- function el(e) {
2814
+ function rl(e) {
2815
2815
  return (e.pauseBits & ve) !== 0;
2816
2816
  }
2817
2817
  function Me(e, t) {
2818
2818
  const n = Le(e);
2819
2819
  return e.state === "paused" ? e.remainingMs : t >= e.dueAt ? -Ie(e.dueAt, t, n) : Ie(t, e.dueAt, n);
2820
2820
  }
2821
- function tl(e, t) {
2821
+ function ol(e, t) {
2822
2822
  return e.state === "paused" ? $e(t, e.remainingMs, Le(e)) : e.dueAt;
2823
2823
  }
2824
- function nl(e, t) {
2825
- const n = e.filter(vo);
2824
+ function il(e, t) {
2825
+ const n = e.filter(Mo);
2826
2826
  if (!n.length) return;
2827
2827
  const r = n.filter((i) => i.state === "running");
2828
2828
  return (r.length ? r : n).reduce(
2829
2829
  (i, s) => Me(s, t) < Me(i, t) ? s : i
2830
2830
  );
2831
2831
  }
2832
- function rl(e, t) {
2832
+ function sl(e, t) {
2833
2833
  if (e.state === "missed") return "breached";
2834
2834
  if (e.state === "hit") return "met";
2835
2835
  if (e.state === "paused") return "paused";
@@ -2837,45 +2837,45 @@ function rl(e, t) {
2837
2837
  const n = Me(e, t);
2838
2838
  return n <= 0 ? "breached" : n <= e.targetMs / 5 ? "urgent" : "running";
2839
2839
  }
2840
- function ol(e) {
2840
+ function al(e) {
2841
2841
  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
2842
  return n ? r ? `${n}d ${r}u` : `${n}d` : r ? o ? `${r}u ${o}m` : `${r}u` : o ? `${o}m` : `${t % 60}s`;
2843
2843
  }
2844
- const Mo = "strategy_item";
2845
- function Jt(e) {
2846
- return `${Mo}:${e}`;
2844
+ const Co = "strategy_item";
2845
+ function en(e) {
2846
+ return `${Co}:${e}`;
2847
2847
  }
2848
- function il(e, t = 25) {
2849
- const n = /* @__PURE__ */ new Set([Jt(e.id)]);
2848
+ function cl(e, t = 25) {
2849
+ const n = /* @__PURE__ */ new Set([en(e.id)]);
2850
2850
  for (const r of e.ancestorKeys ?? []) n.add(r);
2851
2851
  return Array.from(n).slice(0, t);
2852
2852
  }
2853
- function sl(e) {
2854
- return e ? [...e.ancestorKeys ?? [], Jt(e.id)] : [];
2853
+ function ll(e) {
2854
+ return e ? [...e.ancestorKeys ?? [], en(e.id)] : [];
2855
2855
  }
2856
2856
  const ie = [
2857
2857
  { key: "area", label: "level_area", order: 10, measurable: !1, icon: "compass" },
2858
2858
  { key: "objective", label: "level_objective", order: 20, measurable: !0, icon: "target" },
2859
2859
  { key: "key_result", label: "level_key_result", order: 30, measurable: !0, icon: "gauge" }
2860
- ], Co = 999, No = 7;
2861
- function Oo(e, t = ie) {
2860
+ ], Oo = 999, No = 7;
2861
+ function xo(e, t = ie) {
2862
2862
  return t.find((n) => n.key === e);
2863
2863
  }
2864
2864
  function Ce(e, t = ie) {
2865
- return Oo(e, t)?.order ?? Co;
2865
+ return xo(e, t)?.order ?? Oo;
2866
2866
  }
2867
- function al(e, t, n = ie) {
2867
+ function ul(e, t, n = ie) {
2868
2868
  return Ce(t, n) <= Ce(e, n);
2869
2869
  }
2870
- function cl(e, t = ie) {
2870
+ function dl(e, t = ie) {
2871
2871
  const n = Ce(e, t);
2872
2872
  return t.filter((o) => o.order > n).sort((o, i) => o.order - i.order)[0]?.key ?? e;
2873
2873
  }
2874
- function ll(e) {
2874
+ function fl(e) {
2875
2875
  const t = e.trim().toLowerCase();
2876
2876
  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
2877
  }
2878
- const Ne = {
2878
+ const Oe = {
2879
2879
  pending: "open",
2880
2880
  on_track: "open",
2881
2881
  at_risk: "open",
@@ -2884,74 +2884,74 @@ const Ne = {
2884
2884
  achieved: "closed",
2885
2885
  missed: "closed"
2886
2886
  };
2887
- function ul(e) {
2888
- return Ne[e] ?? "open";
2887
+ function pl(e) {
2888
+ return Oe[e] ?? "open";
2889
2889
  }
2890
- function dl(e) {
2891
- return Object.keys(Ne).filter(
2892
- (t) => e.includes(Ne[t])
2890
+ function ml(e) {
2891
+ return Object.keys(Oe).filter(
2892
+ (t) => e.includes(Oe[t])
2893
2893
  );
2894
2894
  }
2895
- const xo = 864e5, se = (e) => e <= 0 ? 0 : e > 1 ? 1 : e;
2896
- function fl(e, t) {
2895
+ const Ro = 864e5, se = (e) => e <= 0 ? 0 : e > 1 ? 1 : e;
2896
+ function gl(e, t) {
2897
2897
  const { direction: n } = e, r = e.startValue ?? 0, o = e.targetValue ?? 0;
2898
2898
  if (!Number.isFinite(t)) return 0;
2899
2899
  const i = n === "down" ? t <= o : t >= o, s = o - r;
2900
2900
  return (n === "down" ? s < 0 : s > 0) ? se((t - r) / s) : i ? 1 : 0;
2901
2901
  }
2902
- function pl(e, t) {
2902
+ function hl(e, t) {
2903
2903
  const { startDate: n, targetDate: r } = e;
2904
2904
  if (!(typeof n != "number" || typeof r != "number") && !(r <= n))
2905
2905
  return se((t - n) / (r - n));
2906
2906
  }
2907
- const Ro = 0.1, Do = 0.25;
2908
- function ml(e, t) {
2907
+ const Do = 0.1, $o = 0.25;
2908
+ function yl(e, t) {
2909
2909
  if (typeof e != "number" || typeof t != "number") return;
2910
2910
  if (e >= 1) return "achieved";
2911
2911
  const n = t - e;
2912
- return n >= Do ? "off_track" : n >= Ro ? "at_risk" : "on_track";
2912
+ return n >= $o ? "off_track" : n >= Do ? "at_risk" : "on_track";
2913
2913
  }
2914
- function gl(e, t) {
2914
+ function bl(e, t) {
2915
2915
  if (t)
2916
2916
  return se(e / t);
2917
2917
  }
2918
- function hl(e) {
2918
+ function Al(e) {
2919
2919
  const t = e.map((n) => n.progress?.ratio).filter((n) => typeof n == "number" && Number.isFinite(n));
2920
2920
  if (t.length)
2921
2921
  return se(t.reduce((n, r) => n + r, 0) / t.length);
2922
2922
  }
2923
- function yl(e, t) {
2923
+ function _l(e, t) {
2924
2924
  const n = e.lastCheckInAt ?? e.createdAt;
2925
2925
  if (typeof n != "number") return 0;
2926
- const r = (e.checkInEveryDays ?? No) * xo, o = t - n - r;
2926
+ const r = (e.checkInEveryDays ?? No) * Ro, o = t - n - r;
2927
2927
  return o > 0 ? o : 0;
2928
2928
  }
2929
- function bl(e) {
2929
+ function El(e) {
2930
2930
  return e.targetDate ?? Number.MAX_SAFE_INTEGER;
2931
2931
  }
2932
- function Al(e, t) {
2932
+ function Sl(e, t) {
2933
2933
  const n = e.accumulatedSeconds || 0;
2934
2934
  return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
2935
2935
  }
2936
- function _l(e, t) {
2936
+ function Tl(e, t) {
2937
2937
  const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
2938
2938
  if (!t || t === "exact") return n * 60;
2939
2939
  const r = Number(t);
2940
2940
  return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
2941
2941
  }
2942
- function El(e) {
2942
+ function Il(e) {
2943
2943
  const t = Math.max(0, Math.round(e / 60));
2944
2944
  return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
2945
2945
  }
2946
- function Sl(e) {
2946
+ function kl(e) {
2947
2947
  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
2948
  return o > 0 ? `${o}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
2949
2949
  }
2950
- function $o(e) {
2950
+ function Lo(e) {
2951
2951
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
2952
2952
  }
2953
- function Tl(e, t) {
2954
- const n = $o(e) || "werksoort", r = new Set(t);
2953
+ function wl(e, t) {
2954
+ const n = Lo(e) || "werksoort", r = new Set(t);
2955
2955
  if (!r.has(n)) return n;
2956
2956
  for (let o = 2; o < 500; o++) {
2957
2957
  const i = `${n}-${o}`;
@@ -2959,29 +2959,29 @@ function Tl(e, t) {
2959
2959
  }
2960
2960
  return `${n}-${r.size + 1}`;
2961
2961
  }
2962
- function Il(e, t) {
2962
+ function vl(e, t) {
2963
2963
  const n = e.ownerScope;
2964
2964
  return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
2965
2965
  }
2966
- function kl(e) {
2967
- return e.filter((t) => !t.archived).sort(Lo);
2966
+ function Ml(e) {
2967
+ return e.filter((t) => !t.archived).sort(Po);
2968
2968
  }
2969
- function Lo(e, t) {
2969
+ function Po(e, t) {
2970
2970
  const n = (e.order ?? 0) - (t.order ?? 0);
2971
2971
  return n !== 0 ? n : (e.label || "").localeCompare(t.label || "");
2972
2972
  }
2973
- const Po = 20, Ko = 20, me = 300;
2973
+ const Ko = 20, Uo = 20, me = 300;
2974
2974
  function P(e) {
2975
2975
  return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
2976
2976
  }
2977
- function Uo(e) {
2977
+ function Fo(e) {
2978
2978
  const t = e.replace(/\s+/g, " ").trim();
2979
2979
  if (t.length <= me) return t;
2980
2980
  const n = t.slice(0, me), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
2981
2981
  return r > me * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
2982
2982
  }
2983
- function wl(e, t) {
2984
- const n = Uo(t.text), r = P(n);
2983
+ function Cl(e, t) {
2984
+ const n = Fo(t.text), r = P(n);
2985
2985
  if (!r || (e.examples ?? []).some((s) => P(s) === r)) return null;
2986
2986
  const o = e.exampleCandidates ?? [], i = o.findIndex((s) => P(s.text) === r);
2987
2987
  if (i >= 0) {
@@ -2989,27 +2989,27 @@ function wl(e, t) {
2989
2989
  const s = [...o];
2990
2990
  return s[i] = { ...s[i], corrected: !0, addedAt: t.addedAt }, dt(s);
2991
2991
  }
2992
- return dt([{ ...t, text: n }, ...o]).slice(0, Ko);
2992
+ return dt([{ ...t, text: n }, ...o]).slice(0, Uo);
2993
2993
  }
2994
2994
  function dt(e) {
2995
2995
  return [...e].sort(
2996
2996
  (t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt
2997
2997
  );
2998
2998
  }
2999
- function vl(e, t) {
2999
+ function Ol(e, t) {
3000
3000
  const n = P(t), r = (e.examples ?? []).filter((i) => i.trim());
3001
- return { examples: r.some((i) => P(i) === n) ? r : [...r, t].slice(-Po), exampleCandidates: Fo(e, t) };
3001
+ return { examples: r.some((i) => P(i) === n) ? r : [...r, t].slice(-Ko), exampleCandidates: Bo(e, t) };
3002
3002
  }
3003
- function Fo(e, t) {
3003
+ function Bo(e, t) {
3004
3004
  const n = P(t);
3005
3005
  return (e.exampleCandidates ?? []).filter((r) => P(r.text) !== n);
3006
3006
  }
3007
- function Bo(e, t) {
3007
+ function jo(e, t) {
3008
3008
  const n = e.ownerScope;
3009
3009
  return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
3010
3010
  }
3011
- function Ml(e, t) {
3012
- return e.filter((n) => Bo(n, t));
3011
+ function Nl(e, t) {
3012
+ return e.filter((n) => jo(n, t));
3013
3013
  }
3014
3014
  const Pe = [
3015
3015
  {
@@ -3050,11 +3050,11 @@ const Pe = [
3050
3050
  path: "invoices",
3051
3051
  issuedStatus: "open"
3052
3052
  }
3053
- ], jo = ["quote", "order", "invoice"];
3054
- function Cl() {
3053
+ ], Ho = ["quote", "order", "invoice"];
3054
+ function xl() {
3055
3055
  const e = /* @__PURE__ */ new Map();
3056
3056
  for (const t of Pe)
3057
- jo.includes(t.key) && (e.has(t.path) || e.set(t.path, t));
3057
+ Ho.includes(t.key) && (e.has(t.path) || e.set(t.path, t));
3058
3058
  return [...e.values()];
3059
3059
  }
3060
3060
  function F(e) {
@@ -3068,10 +3068,10 @@ function F(e) {
3068
3068
  issuedStatus: "draft"
3069
3069
  };
3070
3070
  }
3071
- function Nl(e) {
3071
+ function Rl(e) {
3072
3072
  return e.issuedAt != null;
3073
3073
  }
3074
- const Ol = [
3074
+ const Dl = [
3075
3075
  "status",
3076
3076
  "fileRef",
3077
3077
  "number",
@@ -3080,7 +3080,7 @@ const Ol = [
3080
3080
  "dunning",
3081
3081
  "updatedAt"
3082
3082
  ];
3083
- function Ho(e, t) {
3083
+ function Go(e, t) {
3084
3084
  const n = F(t).signFlip !== F(e.kindKey).signFlip, r = e.lines.map((o) => ({
3085
3085
  ...o,
3086
3086
  quantity: n ? -o.quantity : o.quantity,
@@ -3119,9 +3119,9 @@ function Ho(e, t) {
3119
3119
  source: e.source
3120
3120
  };
3121
3121
  }
3122
- function xl(e) {
3122
+ function $l(e) {
3123
3123
  return {
3124
- ...Ho(e, e.kindKey),
3124
+ ...Go(e, e.kindKey),
3125
3125
  sourceTransactionId: e.sourceTransactionId,
3126
3126
  previousVersionId: e.id,
3127
3127
  version: e.version + 1,
@@ -3129,7 +3129,7 @@ function xl(e) {
3129
3129
  totals: e.totals
3130
3130
  };
3131
3131
  }
3132
- function Rl(e, t = {}) {
3132
+ function Ll(e, t = {}) {
3133
3133
  const n = F(e.kindKey), r = e.totals ?? { netCents: 0, taxCents: 0, grossCents: 0 };
3134
3134
  return {
3135
3135
  customer: {
@@ -3138,7 +3138,7 @@ function Rl(e, t = {}) {
3138
3138
  // One token per line of the address, plus `street` on its own for a template that wants
3139
3139
  // the house number elsewhere. Empty stays empty: `fillText` reports it as a hole, and a
3140
3140
  // recipient block missing its street is exactly what the issue gate has to refuse.
3141
- address: zo(t.companyAddress),
3141
+ address: Vo(t.companyAddress),
3142
3142
  street: t.companyAddress?.street ?? "",
3143
3143
  house_number: t.companyAddress?.houseNumber ?? "",
3144
3144
  postal_code: t.companyAddress?.postalCode ?? "",
@@ -3175,7 +3175,7 @@ function Rl(e, t = {}) {
3175
3175
  }
3176
3176
  };
3177
3177
  }
3178
- function Dl(e, t = [], n = Go) {
3178
+ function Pl(e, t = [], n = Wo) {
3179
3179
  const r = e.totals ?? { netCents: 0, grossCents: 0, byRate: [] }, o = (a) => t.find((u) => u.key === a)?.percent ?? 0, i = {
3180
3180
  block_id: "lines",
3181
3181
  type: "table",
@@ -3190,8 +3190,8 @@ function Dl(e, t = [], n = Go) {
3190
3190
  // A text line spans as a heading: empty money cells would read as "free".
3191
3191
  [a.name, "", "", ""]
3192
3192
  ) : [
3193
- Wo(a.name, a.description, a.optional, n.optional),
3194
- Vo(a.quantity),
3193
+ zo(a.name, a.description, a.optional, n.optional),
3194
+ Xo(a.quantity),
3195
3195
  D(a.unitPriceCents),
3196
3196
  D(a.netCents)
3197
3197
  ]
@@ -3210,7 +3210,7 @@ function Dl(e, t = [], n = Go) {
3210
3210
  };
3211
3211
  return { lines: [i], totals: [s] };
3212
3212
  }
3213
- const Go = {
3213
+ const Wo = {
3214
3214
  description: "Omschrijving",
3215
3215
  optional: "optioneel",
3216
3216
  quantity: "Aantal",
@@ -3219,14 +3219,14 @@ const Go = {
3219
3219
  tax: "Btw",
3220
3220
  gross: "Totaal"
3221
3221
  };
3222
- function Wo(e, t, n, r) {
3222
+ function zo(e, t, n, r) {
3223
3223
  const o = t ? `${e} — ${t}` : e;
3224
3224
  return n ? `${o} (${r})` : o;
3225
3225
  }
3226
- function zo(e) {
3226
+ function Vo(e) {
3227
3227
  return e?.street ? [e.street, e.houseNumber].filter(Boolean).join(" ") : "";
3228
3228
  }
3229
- function Vo(e) {
3229
+ function Xo(e) {
3230
3230
  return Number.isInteger(e) ? String(e) : String(e).replace(".", ",");
3231
3231
  }
3232
3232
  function K(e) {
@@ -3234,14 +3234,14 @@ function K(e) {
3234
3234
  const t = new Date(e), n = (r) => String(r).padStart(2, "0");
3235
3235
  return `${n(t.getDate())}-${n(t.getMonth() + 1)}-${t.getFullYear()}`;
3236
3236
  }
3237
- function Xo(e) {
3237
+ function Yo(e) {
3238
3238
  const t = F(e), n = t.key, r = t.numbered;
3239
3239
  return [
3240
3240
  {
3241
3241
  block_id: "head",
3242
3242
  type: "letterhead",
3243
3243
  fields: [
3244
- ...r ? [{ key: "number", label: Yo[n]?.number ?? "Nummer", value: `{${n}.number}` }] : [],
3244
+ ...r ? [{ key: "number", label: qo[n]?.number ?? "Nummer", value: `{${n}.number}` }] : [],
3245
3245
  { key: "date", label: "Datum", value: `{${n}.date}` },
3246
3246
  ...r ? [{ key: "due_date", label: "Vervaldatum", value: `{${n}.due_date}` }] : [{ key: "valid_until", label: "Geldig tot", value: `{${n}.valid_until}` }],
3247
3247
  { key: "reference", label: "Referentie", value: `{${n}.reference}` }
@@ -3282,11 +3282,11 @@ function Xo(e) {
3282
3282
  { block_id: "terms", type: "paragraph", text: pt[n] ?? pt.quote }
3283
3283
  ];
3284
3284
  }
3285
- const $l = (e) => ({
3285
+ const Kl = (e) => ({
3286
3286
  note: { key: `${F(e).key}.note`, exists: !0 },
3287
3287
  // Keyed on the start: a range without one is not a range, and `period_to` alone says nothing.
3288
3288
  period: { key: `${F(e).key}.period_from`, exists: !0 }
3289
- }), Yo = {
3289
+ }), qo = {
3290
3290
  invoice: { number: "Factuurnummer" },
3291
3291
  credit_note: { number: "Creditnotanummer" }
3292
3292
  }, ft = {
@@ -3307,42 +3307,42 @@ Hierbij onze creditnota. De onderstaande bedragen worden met u verrekend.`
3307
3307
  order: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld.",
3308
3308
  invoice: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld.",
3309
3309
  credit_note: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld."
3310
- }, Ll = Xo("quote"), qo = Pe.map((e) => e.key), Qo = "product";
3311
- function Zo(e, t) {
3310
+ }, Ul = Yo("quote"), Qo = Pe.map((e) => e.key), Zo = "product";
3311
+ function Jo(e, t) {
3312
3312
  return `${e}:${t}`;
3313
3313
  }
3314
- function Pl(e) {
3315
- return `${Qo}:${e}`;
3314
+ function Fl(e) {
3315
+ return `${Zo}:${e}`;
3316
3316
  }
3317
- function Kl(e) {
3317
+ function Bl(e) {
3318
3318
  const t = e.indexOf(":");
3319
3319
  if (t < 0) return;
3320
3320
  const n = e.slice(0, t);
3321
- return qo.includes(n) ? e.slice(t + 1) : void 0;
3321
+ return Qo.includes(n) ? e.slice(t + 1) : void 0;
3322
3322
  }
3323
- function Ul(e) {
3324
- const t = /* @__PURE__ */ new Set([Zo(e.kindKey, e.id)]);
3323
+ function jl(e) {
3324
+ const t = /* @__PURE__ */ new Set([Jo(e.kindKey, e.id)]);
3325
3325
  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
3326
  }
3327
- const Fl = 4;
3328
- function Bl(e, t) {
3327
+ const Hl = 4;
3328
+ function Gl(e, t) {
3329
3329
  const n = String(t).padStart(Math.max(1, e.padding), "0");
3330
3330
  return `${e.prefix}${e.period ? `${e.period}-` : ""}${n}`;
3331
3331
  }
3332
- function jl(e, t = Date.now()) {
3332
+ function Wl(e, t = Date.now()) {
3333
3333
  return e === "year" ? String(new Date(t).getFullYear()) : "";
3334
3334
  }
3335
- const Hl = [
3335
+ const zl = [
3336
3336
  "cash",
3337
3337
  "credit",
3338
3338
  "direct_debit",
3339
3339
  "card",
3340
3340
  "other"
3341
3341
  ];
3342
- function Gl(e, t) {
3342
+ function Vl(e, t) {
3343
3343
  return e + Math.max(0, Math.round(t)) * 24 * 60 * 60 * 1e3;
3344
3344
  }
3345
- function Wl(e, t) {
3345
+ function Xl(e, t) {
3346
3346
  const n = /* @__PURE__ */ new Map();
3347
3347
  for (const r of e) r.businessEntityId || n.set(r.code, r);
3348
3348
  if (t)
@@ -3350,10 +3350,10 @@ function Wl(e, t) {
3350
3350
  r.businessEntityId === t && n.set(r.code, r);
3351
3351
  return [...n.values()];
3352
3352
  }
3353
- function zl(e) {
3353
+ function Yl(e) {
3354
3354
  return { code: e.code, label: e.label, method: e.method, dueDays: e.dueDays };
3355
3355
  }
3356
- const Vl = [
3356
+ const ql = [
3357
3357
  {
3358
3358
  code: "14D",
3359
3359
  label: "Binnen 14 dagen",
@@ -3365,25 +3365,25 @@ const Vl = [
3365
3365
  { code: "30D", label: "Binnen 30 dagen", method: "credit", dueDays: 30, order: 1 },
3366
3366
  { code: "CONTANT", label: "Contant", method: "cash", dueDays: 0, order: 2 }
3367
3367
  ];
3368
- function Xl(e) {
3368
+ function Ql(e) {
3369
3369
  return e.type === "agent";
3370
3370
  }
3371
- const Yl = "WORK_COMMENT_ADDED", ql = "WORK_ITEM_ASSIGNED", Ql = "WORK_ITEM_STATUS_CHANGED";
3372
- function Jo(e, t) {
3371
+ const Zl = "WORK_COMMENT_ADDED", Jl = "WORK_ITEM_ASSIGNED", eu = "WORK_ITEM_STATUS_CHANGED";
3372
+ function ei(e, t) {
3373
3373
  const n = (r) => {
3374
3374
  const o = new Date(r);
3375
3375
  return o.setHours(0, 0, 0, 0), o.getTime();
3376
3376
  };
3377
- return Math.round((n(e) - n(t)) / rr);
3377
+ return Math.round((n(e) - n(t)) / or);
3378
3378
  }
3379
- function Zl(e, t) {
3379
+ function tu(e, t) {
3380
3380
  if (e.closedAt != null) return { score: L, reasons: [] };
3381
3381
  const n = t.remindersById?.[e.id];
3382
3382
  if (n && n.remindAt > t.now) return { score: L, reasons: [] };
3383
3383
  let r = 0;
3384
3384
  const o = [], i = e.priority ?? "normal";
3385
3385
  if (te[i] > 0 && (r += te[i], o.push(`priority:${i}`)), typeof e.dueDate == "number") {
3386
- const s = Jo(e.dueDate, t.now);
3386
+ const s = ei(e.dueDate, t.now);
3387
3387
  s < 0 ? (r += 35, o.push("overdue")) : s === 0 && (r += 20, o.push("due-today"));
3388
3388
  }
3389
3389
  return e.source?.initiator === "system" && e.source.systemReason && (r += 15, o.push(`auto:${e.source.systemReason}`)), { score: r, reasons: o };
@@ -3396,35 +3396,35 @@ const Ke = [
3396
3396
  { key: "subtask", label: "type_subtask" },
3397
3397
  { key: "case", label: "type_case" },
3398
3398
  { key: "deal", label: "type_deal" }
3399
- ], Jl = Ke.map((e) => e.key);
3400
- function eu(e) {
3399
+ ], nu = Ke.map((e) => e.key);
3400
+ function ru(e) {
3401
3401
  return e?.types?.length ? e.types : Ke;
3402
3402
  }
3403
- function tu(e, t) {
3403
+ function ou(e, t) {
3404
3404
  return t.find((n) => n.key === e);
3405
3405
  }
3406
- function nu(e) {
3406
+ function iu(e) {
3407
3407
  const t = e.trim().toLowerCase();
3408
3408
  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
3409
  }
3410
- function ru(...e) {
3410
+ function su(...e) {
3411
3411
  return e.map((t) => Ke.find((n) => n.key === t)).filter((t) => !!t);
3412
3412
  }
3413
- const ei = "work_item", ti = "work_project", ni = "work_activity", ou = "work_cycle";
3414
- function ri(e) {
3415
- return `${ei}:${e}`;
3416
- }
3417
- function en(e) {
3413
+ const ti = "work_item", ni = "work_project", ri = "work_activity", au = "work_cycle";
3414
+ function oi(e) {
3418
3415
  return `${ti}:${e}`;
3419
3416
  }
3420
- function iu(e) {
3417
+ function tn(e) {
3421
3418
  return `${ni}:${e}`;
3422
3419
  }
3423
- function su(e, t, n) {
3420
+ function cu(e) {
3421
+ return `${ri}:${e}`;
3422
+ }
3423
+ function lu(e, t, n) {
3424
3424
  const r = `${e}-${t}`;
3425
3425
  return n ? `${r}-${n}` : r;
3426
3426
  }
3427
- function au(e) {
3427
+ function uu(e) {
3428
3428
  const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
3429
3429
  return t ? {
3430
3430
  projectKey: t[1].toUpperCase(),
@@ -3432,52 +3432,52 @@ function au(e) {
3432
3432
  ...t[3] ? { subSequence: Number(t[3]) } : {}
3433
3433
  } : null;
3434
3434
  }
3435
- function cu(e) {
3435
+ function du(e) {
3436
3436
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
3437
3437
  }
3438
- function lu(e, t = 25) {
3439
- const n = /* @__PURE__ */ new Set([ri(e.id)]);
3440
- e.projectId && n.add(en(e.projectId));
3438
+ function fu(e, t = 25) {
3439
+ const n = /* @__PURE__ */ new Set([oi(e.id)]);
3440
+ e.projectId && n.add(tn(e.projectId));
3441
3441
  for (const r of e.ancestorKeys ?? []) n.add(r);
3442
3442
  for (const r of e.partyKeys ?? []) n.add(r);
3443
3443
  return Array.from(n).slice(0, t);
3444
3444
  }
3445
- function uu(e) {
3446
- return [en(e.id)];
3445
+ function pu(e) {
3446
+ return [tn(e.id)];
3447
3447
  }
3448
3448
  const Ue = [
3449
3449
  { key: "open", label: "status_open", category: "todo", order: 0 },
3450
3450
  { key: "in_progress", label: "status_in_progress", category: "in_progress", order: 1 },
3451
3451
  { key: "done", label: "status_done", category: "done", order: 2 },
3452
3452
  { key: "cancelled", label: "status_cancelled", category: "done", order: 3 }
3453
- ], tn = Ue.map((e) => e.key);
3454
- function oi(e) {
3453
+ ], nn = Ue.map((e) => e.key);
3454
+ function ii(e) {
3455
3455
  return e?.statuses?.length ? e.statuses : Ue;
3456
3456
  }
3457
- function ii(e, t) {
3457
+ function si(e, t) {
3458
3458
  return t.find((n) => n.key === e)?.category ?? "todo";
3459
3459
  }
3460
- function du(e, t) {
3460
+ function mu(e, t) {
3461
3461
  return t.find((n) => n.key === e);
3462
3462
  }
3463
- function fu(e) {
3464
- const t = oi(e), n = e?.defaultStatusKey;
3465
- return n && t.some((r) => r.key === n) ? n : si(t)[0]?.key ?? Ue[0].key;
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;
3466
3466
  }
3467
- function si(e) {
3467
+ function ai(e) {
3468
3468
  return [...e].sort((t, n) => {
3469
3469
  const r = (t.order ?? 0) - (n.order ?? 0);
3470
3470
  return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
3471
3471
  });
3472
3472
  }
3473
- function pu(e, t) {
3474
- return ii(e, t) === "done";
3473
+ function hu(e, t) {
3474
+ return si(e, t) === "done";
3475
3475
  }
3476
- function ai(e) {
3476
+ function ci(e) {
3477
3477
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
3478
3478
  }
3479
- function mu(e, t) {
3480
- const n = ai(e) || "status", r = /* @__PURE__ */ new Set([...t, ...tn]);
3479
+ function yu(e, t) {
3480
+ const n = ci(e) || "status", r = /* @__PURE__ */ new Set([...t, ...nn]);
3481
3481
  if (!r.has(n)) return n;
3482
3482
  for (let o = 2; o < 500; o++) {
3483
3483
  const i = `${n}-${o}`;
@@ -3485,7 +3485,7 @@ function mu(e, t) {
3485
3485
  }
3486
3486
  return `${n}-${r.size + 1}`;
3487
3487
  }
3488
- function gu(e) {
3488
+ function bu(e) {
3489
3489
  const t = [];
3490
3490
  if (!e.length) return [{ index: -1, reason: "empty" }];
3491
3491
  const n = /* @__PURE__ */ new Set();
@@ -3494,19 +3494,19 @@ function gu(e) {
3494
3494
  t.push({ index: o, reason: "missing_key" });
3495
3495
  return;
3496
3496
  }
3497
- tn.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);
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);
3498
3498
  }), 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
3499
  }
3500
- function hu(e, t) {
3500
+ function Au(e, t) {
3501
3501
  return t.find((n) => n.key === e)?.requiresApproval === !0;
3502
3502
  }
3503
- function yu(e) {
3503
+ function _u(e) {
3504
3504
  return e.startDate ?? Number.MAX_SAFE_INTEGER;
3505
3505
  }
3506
- function bu(e) {
3506
+ function Eu(e) {
3507
3507
  return e.completedAt ? "completed" : e.startedAt ? "active" : "planned";
3508
3508
  }
3509
- const ci = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), li = /* @__PURE__ */ new Set([
3509
+ const li = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), ui = /* @__PURE__ */ new Set([
3510
3510
  "text/plain",
3511
3511
  "text/markdown",
3512
3512
  "text/csv",
@@ -3515,67 +3515,67 @@ const ci = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
3515
3515
  "application/xml",
3516
3516
  "text/xml"
3517
3517
  ]);
3518
- function ui(e) {
3518
+ function di(e) {
3519
3519
  const t = (e ?? "").trim().toLowerCase().split(";")[0];
3520
- return t ? ci.has(t) ? "image" : t === "application/pdf" ? "pdf" : li.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
3520
+ return t ? li.has(t) ? "image" : t === "application/pdf" ? "pdf" : ui.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
3521
3521
  }
3522
- const j = 1024 * 1024, di = {
3522
+ const j = 1024 * 1024, fi = {
3523
3523
  image: 5 * j,
3524
3524
  pdf: 20 * j,
3525
3525
  text: 1 * j,
3526
3526
  audio: 20 * j
3527
- }, Au = 25 * j, _u = 5;
3528
- function Eu(e, t) {
3529
- const n = ui(e);
3530
- return n === "unsupported" ? "unsupported" : t > di[n] ? "too-large" : null;
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;
3531
3531
  }
3532
- function Su(e) {
3532
+ function pi(e) {
3533
3533
  return e.access !== "read" && e.effect !== "internal";
3534
3534
  }
3535
- function fi(e) {
3535
+ function mi(e) {
3536
3536
  return `${e.kind}:${e.id || e.url || e.title}`;
3537
3537
  }
3538
- function Tu(e, t = []) {
3538
+ function ku(e, t = []) {
3539
3539
  const n = new Set(t), r = [], o = [];
3540
3540
  for (const i of e) {
3541
- const s = fi(i);
3541
+ const s = mi(i);
3542
3542
  n.has(s) || (n.add(s), r.push(i), o.push(s));
3543
3543
  }
3544
3544
  return { sources: r, keys: o };
3545
3545
  }
3546
- const Iu = "assist-source", ku = ["blocking", "due", "open"];
3547
- function wu(e, t) {
3546
+ const wu = "assist-source", vu = ["blocking", "due", "open"];
3547
+ function Mu(e, t) {
3548
3548
  const [n, r] = (e.subjectKey ?? "").split(":");
3549
3549
  return n === t && r ? r : void 0;
3550
3550
  }
3551
3551
  const mt = { blocking: 0, due: 1, open: 2 };
3552
- function vu(e, t) {
3552
+ function Cu(e, t) {
3553
3553
  return mt[e.band ?? "open"] - mt[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
3554
3554
  }
3555
- function Mu(e) {
3555
+ function Ou(e) {
3556
3556
  return e.sessions.filter(
3557
3557
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
3558
3558
  );
3559
3559
  }
3560
- function Cu(e) {
3560
+ function Nu(e) {
3561
3561
  return e.sessions.filter(
3562
3562
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
3563
3563
  );
3564
3564
  }
3565
- function Nu(e) {
3565
+ function xu(e) {
3566
3566
  return e.sessions.some(
3567
3567
  (n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
3568
3568
  ) ? { admit: !1, reason: "busy" } : { admit: !0 };
3569
3569
  }
3570
- function pi(e, t) {
3571
- const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((s) => !n.has(s.intent)).map((s) => gi(s, r[s.intent]));
3570
+ function gi(e, t) {
3571
+ 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]));
3572
3572
  if (!e.extraIntents || e.extraIntents.length === 0) return o;
3573
3573
  const i = new Set(o.map((s) => s.intent));
3574
3574
  for (const s of e.extraIntents)
3575
3575
  i.has(s.intent) || (o.push(s), i.add(s.intent));
3576
3576
  return o;
3577
3577
  }
3578
- function mi(e, t) {
3578
+ function hi(e, t) {
3579
3579
  const n = {};
3580
3580
  for (const r of e.intents) {
3581
3581
  if (!r.togglable) continue;
@@ -3584,46 +3584,46 @@ function mi(e, t) {
3584
3584
  }
3585
3585
  return n;
3586
3586
  }
3587
- function Ou(e, t) {
3588
- const n = mi(e, t);
3587
+ function Ru(e, t) {
3588
+ const n = hi(e, t);
3589
3589
  return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
3590
3590
  }
3591
- function gi(e, t) {
3591
+ function yi(e, t) {
3592
3592
  return t ? {
3593
3593
  intent: t.intent ?? e.intent,
3594
3594
  targetSchemes: t.targetSchemes ?? e.targetSchemes,
3595
3595
  transport: t.transport ?? e.transport
3596
3596
  } : e;
3597
3597
  }
3598
- function xu(e, t) {
3598
+ function Du(e, t) {
3599
3599
  const n = [];
3600
3600
  for (const r of e) {
3601
3601
  if (!r.enabled) continue;
3602
3602
  const o = t[r.providerId];
3603
3603
  if (o)
3604
- for (const i of pi(r, o))
3604
+ for (const i of gi(r, o))
3605
3605
  n.push({ channel: r, description: o, capability: i });
3606
3606
  }
3607
3607
  return n;
3608
3608
  }
3609
- function Ru(e, t) {
3609
+ function $u(e, t) {
3610
3610
  return t.filter((n) => n.capability.intent === e);
3611
3611
  }
3612
- function hi(e, t) {
3612
+ function bi(e, t) {
3613
3613
  return t.filter((n) => n.capability.targetSchemes.includes(e));
3614
3614
  }
3615
- function Du(e, t) {
3616
- return hi(e.scheme, t);
3615
+ function Lu(e, t) {
3616
+ return bi(e.scheme, t);
3617
3617
  }
3618
- function $u(e, t, n) {
3618
+ function Pu(e, t, n) {
3619
3619
  const r = [];
3620
3620
  for (const o of e)
3621
3621
  for (const i of n)
3622
3622
  i.capability.intent === t && i.capability.targetSchemes.includes(o.scheme) && r.push({ channelIntent: i, endpoint: o });
3623
3623
  return r;
3624
3624
  }
3625
- var yi = /* @__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))(yi || {});
3626
- const bi = {
3625
+ 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 || {});
3626
+ const _i = {
3627
3627
  mailto: "mail",
3628
3628
  sip: "tel",
3629
3629
  tel: "tel",
@@ -3644,10 +3644,10 @@ const bi = {
3644
3644
  id: "note",
3645
3645
  custom: "note"
3646
3646
  };
3647
- function Lu(e) {
3648
- return e ? bi[e] ?? "note" : "note";
3647
+ function Ku(e) {
3648
+ return e ? _i[e] ?? "note" : "note";
3649
3649
  }
3650
- const Pu = "message_window", Ku = "message_templates", Uu = {
3650
+ const Uu = "message_window", Fu = "message_templates", Bu = {
3651
3651
  // E-mail
3652
3652
  FROM: "from",
3653
3653
  TO: "to",
@@ -3664,11 +3664,11 @@ const Pu = "message_window", Ku = "message_templates", Uu = {
3664
3664
  // Voice/conference
3665
3665
  HOST: "host",
3666
3666
  PARTICIPANT: "participant"
3667
- }, Fu = (e, t) => ({ intent: e, ...t }), Bu = "folder_management", ju = "remote_search", Hu = "message_reactions", Gu = {
3667
+ }, ju = (e, t) => ({ intent: e, ...t }), Hu = "folder_management", Gu = "remote_search", Wu = "message_reactions", zu = {
3668
3668
  ok: !1,
3669
3669
  code: "UNSUPPORTED",
3670
3670
  message: "Provider does not support this op"
3671
- }, Wu = "connector", zu = "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.");
3671
+ }, Vu = "connector", Xu = "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.");
3672
3672
  function b(e, t, n, r, o, i) {
3673
3673
  return {
3674
3674
  op: e,
@@ -3679,7 +3679,7 @@ function b(e, t, n, r, o, i) {
3679
3679
  visible: i.visible
3680
3680
  };
3681
3681
  }
3682
- const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht = { undoable: !1, visible: !0 }, re = { undoable: !1, visible: !1 }, Ai = [
3682
+ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht = { undoable: !1, visible: !0 }, re = { undoable: !1, visible: !1 }, Ei = [
3683
3683
  b(
3684
3684
  "pdf.goToPage",
3685
3685
  ["pdf"],
@@ -3774,7 +3774,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3774
3774
  ["page", "text"],
3775
3775
  re
3776
3776
  )
3777
- ], _i = [
3777
+ ], Si = [
3778
3778
  b(
3779
3779
  "sheet.setValues",
3780
3780
  ["sheet"],
@@ -3926,7 +3926,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3926
3926
  [],
3927
3927
  H
3928
3928
  )
3929
- ], Ei = [
3929
+ ], Ti = [
3930
3930
  b(
3931
3931
  "word.replaceParagraph",
3932
3932
  ["word"],
@@ -3988,7 +3988,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3988
3988
  ["start"],
3989
3989
  H
3990
3990
  )
3991
- ], Si = [
3991
+ ], Ii = [
3992
3992
  b(
3993
3993
  "slides.setText",
3994
3994
  ["slides"],
@@ -4016,24 +4016,24 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
4016
4016
  ["slide", "element"],
4017
4017
  re
4018
4018
  )
4019
- ], nn = [
4020
- ...Ai,
4021
- ..._i,
4019
+ ], rn = [
4022
4020
  ...Ei,
4023
- ...Si
4021
+ ...Si,
4022
+ ...Ti,
4023
+ ...Ii
4024
4024
  ];
4025
- function Vu(e) {
4026
- return nn.filter((t) => t.kinds.includes(e));
4025
+ function Yu(e) {
4026
+ return rn.filter((t) => t.kinds.includes(e));
4027
4027
  }
4028
- function Xu(e) {
4029
- return nn.find((t) => t.op === e);
4028
+ function qu(e) {
4029
+ return rn.find((t) => t.op === e);
4030
4030
  }
4031
- const yt = /(?: {2,}|\\)$/, Ti = /^\*\*([^*]+)\*\*\s+(.*)$/;
4031
+ const yt = /(?: {2,}|\\)$/, ki = /^\*\*([^*]+)\*\*\s+(.*)$/;
4032
4032
  function bt(e) {
4033
- const t = Ti.exec(e);
4033
+ const t = ki.exec(e);
4034
4034
  return t ? { lead: t[1], text: t[2] } : { text: e };
4035
4035
  }
4036
- function Yu(e) {
4036
+ function Qu(e) {
4037
4037
  const t = (e ?? "").replace(/\r\n/g, `
4038
4038
  `).split(`
4039
4039
  `), n = [];
@@ -4112,27 +4112,27 @@ function Yu(e) {
4112
4112
  }
4113
4113
  return d(), n;
4114
4114
  }
4115
- function qu(e, t) {
4116
- return Un(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, `
4115
+ function Zu(e, t) {
4116
+ 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, `
4117
4117
 
4118
4118
  `).trim();
4119
4119
  }
4120
- const Qu = "documents.describe", Zu = "documents.inspect", Ju = "documents.apply";
4121
- function ed(e) {
4120
+ const Ju = "documents.describe", ed = "documents.inspect", td = "documents.apply";
4121
+ function nd(e) {
4122
4122
  const t = e.indexOf(":");
4123
4123
  if (t !== -1) return e.slice(0, t);
4124
4124
  const n = e.indexOf(".");
4125
4125
  return n === -1 ? e : e.slice(0, n);
4126
4126
  }
4127
- const td = "installation-id";
4128
- function nd(e) {
4127
+ const rd = "installation-id";
4128
+ function od(e) {
4129
4129
  const t = [];
4130
4130
  for (const n of Object.keys(e))
4131
4131
  for (const r of Object.keys(e[n]))
4132
4132
  t.push({ lang: n, key: r, value: e[n][r] });
4133
4133
  return t;
4134
4134
  }
4135
- const rd = "notification-source", od = (e, t) => `${e}.pref.${t}`, id = {
4135
+ const id = "notification-source", sd = (e, t) => `${e}.pref.${t}`, ad = {
4136
4136
  ai: [
4137
4137
  "account.read",
4138
4138
  "account.write",
@@ -4267,48 +4267,48 @@ const rd = "notification-source", od = (e, t) => `${e}.pref.${t}`, id = {
4267
4267
  time: ["entry.read", "entry.write", "work-type.read", "work-type.write"],
4268
4268
  user: ["user.read", "user.write"],
4269
4269
  work: ["item.read", "item.write", "project.read", "project.write"]
4270
- }, rn = 9e4, Ii = ["out_of_office"], on = (e) => Ii.includes(e);
4271
- function sd(e, t, n) {
4272
- const r = n - e < rn, o = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
4270
+ }, on = 9e4, wi = ["out_of_office"], sn = (e) => wi.includes(e);
4271
+ function cd(e, t, n) {
4272
+ const r = n - e < on, o = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
4273
4273
  if (!o?.status) return { online: r, status: r ? "available" : "offline" };
4274
4274
  const i = o.status;
4275
- return !r && !on(i) ? { online: !1, status: "offline" } : { online: r, status: i, message: o.message };
4275
+ return !r && !sn(i) ? { online: !1, status: "offline" } : { online: r, status: i, message: o.message };
4276
4276
  }
4277
- function ad(e, t) {
4278
- const n = t - e.lastSeenAt < rn, r = n || on(e.status) ? e.status : "offline";
4277
+ function ld(e, t) {
4278
+ const n = t - e.lastSeenAt < on, r = n || sn(e.status) ? e.status : "offline";
4279
4279
  return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
4280
4280
  }
4281
- function cd(e, t) {
4281
+ function ud(e, t) {
4282
4282
  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 };
4283
4283
  }
4284
- function ld(e) {
4284
+ function dd(e) {
4285
4285
  return e.providerAvailable && e.allowed;
4286
4286
  }
4287
- const ud = "resources.describe", dd = "resources.search", fd = "resources.resolve", pd = "resources.attached";
4288
- function md(e) {
4287
+ const fd = "resources.describe", pd = "resources.search", md = "resources.resolve", gd = "resources.attached";
4288
+ function hd(e) {
4289
4289
  const t = e.indexOf(":");
4290
4290
  return t === -1 ? e : e.slice(0, t);
4291
4291
  }
4292
- const gd = "/provider/scope/related", hd = "/provider/scope/read", yd = "/provider/scope/acts", sn = "auth";
4293
- function an(e) {
4292
+ const yd = "/provider/scope/related", bd = "/provider/scope/read", Ad = "/provider/scope/acts", an = "auth";
4293
+ function cn(e) {
4294
4294
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
4295
4295
  return t ? t[1] : null;
4296
4296
  }
4297
- function bd(e) {
4298
- const t = an(e);
4299
- return t ? t !== sn : typeof e == "string" && e.startsWith("/wake");
4297
+ function _d(e) {
4298
+ const t = cn(e);
4299
+ return t ? t !== an : typeof e == "string" && e.startsWith("/wake");
4300
4300
  }
4301
- function Ad(e) {
4302
- return typeof e != "string" || e === "" || e === "/" ? !0 : an(e) === sn;
4301
+ function Ed(e) {
4302
+ return typeof e != "string" || e === "" || e === "/" ? !0 : cn(e) === an;
4303
4303
  }
4304
- function ki(e) {
4304
+ function vi(e) {
4305
4305
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
4306
4306
  }
4307
- function wi(e) {
4308
- const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${ki(r)}`).join("");
4307
+ function Mi(e) {
4308
+ const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${vi(r)}`).join("");
4309
4309
  return new RegExp(`^${n}\\/?$`);
4310
4310
  }
4311
- function vi(e, t) {
4311
+ function Ci(e, t) {
4312
4312
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean), o = {};
4313
4313
  return n.forEach((i, s) => {
4314
4314
  if (i.startsWith(":")) {
@@ -4317,14 +4317,14 @@ function vi(e, t) {
4317
4317
  }
4318
4318
  }), o;
4319
4319
  }
4320
- function Mi(e) {
4320
+ function Oi(e) {
4321
4321
  return e.publicBasePath ?? `/apps/${e.name}`;
4322
4322
  }
4323
- function _d(e) {
4323
+ function Sd(e) {
4324
4324
  const t = [];
4325
4325
  for (const n of e) {
4326
4326
  if (!n?.name) continue;
4327
- const r = Mi(n);
4327
+ const r = Oi(n);
4328
4328
  for (const o of n.routes ?? []) {
4329
4329
  if (!o.public) continue;
4330
4330
  const i = o.path === "/" ? "" : o.path;
@@ -4338,7 +4338,7 @@ function _d(e) {
4338
4338
  }
4339
4339
  return t;
4340
4340
  }
4341
- function Ci(e, t) {
4341
+ function Ni(e, t) {
4342
4342
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean);
4343
4343
  for (let o = 0; o < Math.min(n.length, r.length); o++) {
4344
4344
  const i = n[o].startsWith(":"), s = r[o].startsWith(":");
@@ -4346,17 +4346,32 @@ function Ci(e, t) {
4346
4346
  }
4347
4347
  return n.length > r.length;
4348
4348
  }
4349
- function Ni(e, t) {
4349
+ function xi(e, t) {
4350
4350
  if (typeof e != "string") return null;
4351
4351
  let n = null;
4352
4352
  for (const r of t)
4353
- wi(r.pattern).test(e) && (!n || Ci(r.pattern, n.pattern)) && (n = r);
4354
- return n ? { ...n, params: { ...n.props, ...vi(n.pattern, e) } } : null;
4353
+ Mi(r.pattern).test(e) && (!n || Ni(r.pattern, n.pattern)) && (n = r);
4354
+ return n ? { ...n, params: { ...n.props, ...Ci(n.pattern, e) } } : null;
4355
+ }
4356
+ function Td(e, t) {
4357
+ return xi(e, t) !== null;
4358
+ }
4359
+ const Id = 10 * 1024 * 1024, kd = 25 * 1024 * 1024, wd = "sync-target", vd = 20;
4360
+ function At(e, t) {
4361
+ const n = Array.isArray(t) ? t.find((r) => r.name === e.name)?.policy : void 0;
4362
+ return n ? n !== "read" : e.access ? e.access !== "read" : !0;
4363
+ }
4364
+ function Ri(e) {
4365
+ return e.produces === "draft";
4355
4366
  }
4356
- function Ed(e, t) {
4357
- return Ni(e, t) !== null;
4367
+ function Md(e, t) {
4368
+ if (t.allowed) {
4369
+ const n = t.personalTools === "allow" && e.personal === !0;
4370
+ if (!t.allowed.has(e.name) && !n) return "hidden";
4371
+ }
4372
+ 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";
4358
4373
  }
4359
- const Sd = 10 * 1024 * 1024, Td = 25 * 1024 * 1024, Id = "sync-target", kd = 20, Oi = {
4374
+ const Di = {
4360
4375
  afrikaans: [
4361
4376
  "[Muziek]",
4362
4377
  "(C) TV GELDERLAND 2021",
@@ -4506,14 +4521,14 @@ const Sd = 10 * 1024 * 1024, Td = 25 * 1024 * 1024, Id = "sync-target", kd = 20,
4506
4521
  "[MÚSICA]",
4507
4522
  "[Music cuts in British]"
4508
4523
  ]
4509
- }, xi = (e) => {
4524
+ }, $i = (e) => {
4510
4525
  let t = e;
4511
- return Object.values(Oi).forEach((n) => {
4526
+ return Object.values(Di).forEach((n) => {
4512
4527
  n.forEach((r) => {
4513
4528
  t = t.replaceAll(r, "");
4514
4529
  });
4515
4530
  }), t = t.replace(/\(.*?\)/g, ""), t = t.replace(/\[.*?\]/g, ""), t;
4516
- }, Ri = 6e4, Di = 8e3, $i = 2, Li = 0.4, Pi = 3, Ki = /* @__PURE__ */ new Set([
4531
+ }, Li = 6e4, Pi = 8e3, Ki = 2, Ui = 0.4, Fi = 3, Bi = /* @__PURE__ */ new Set([
4517
4532
  "aan",
4518
4533
  "als",
4519
4534
  "ben",
@@ -4626,13 +4641,13 @@ const Sd = 10 * 1024 * 1024, Td = 25 * 1024 * 1024, Id = "sync-target", kd = 20,
4626
4641
  "you",
4627
4642
  "your"
4628
4643
  ]);
4629
- function Ui(e) {
4644
+ function ji(e) {
4630
4645
  const t = /* @__PURE__ */ new Set();
4631
4646
  for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
4632
- n.length < Pi || Ki.has(n) || t.add(n);
4647
+ n.length < Fi || Bi.has(n) || t.add(n);
4633
4648
  return [...t];
4634
4649
  }
4635
- function Fi(e, t) {
4650
+ function Hi(e, t) {
4636
4651
  if (!e.length) return 0;
4637
4652
  if (!t.length) return 1;
4638
4653
  const n = new Set(t), r = new Set(e);
@@ -4640,32 +4655,32 @@ function Fi(e, t) {
4640
4655
  for (const i of r) n.has(i) || (o += 1);
4641
4656
  return o / r.size;
4642
4657
  }
4643
- function Bi(e, t = Ri) {
4658
+ function Gi(e, t = Li) {
4644
4659
  const n = e.filter((s) => !s.partial && typeof s.text == "string");
4645
4660
  if (!n.length) return { text: "", segmentCount: 0 };
4646
4661
  const o = n.reduce((s, a) => Math.max(s, a.endedAt ?? 0), 0) - t;
4647
- return { text: n.filter((s) => (s.endedAt ?? 0) >= o).map((s) => xi(s.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
4662
+ 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 };
4648
4663
  }
4649
- const ji = 60;
4650
- function wd(e, t, n = ji) {
4664
+ const Wi = 60;
4665
+ function Cd(e, t, n = Wi) {
4651
4666
  const r = new Set(e), o = [...e];
4652
4667
  for (const i of t)
4653
4668
  !i || r.has(i) || (r.add(i), o.push(i));
4654
4669
  return o.slice(-n);
4655
4670
  }
4656
- function vd(e) {
4671
+ function Od(e) {
4657
4672
  const { segments: t, now: n, state: r } = e;
4658
- if (r.lastTriggerAt && n - r.lastTriggerAt < Di)
4673
+ if (r.lastTriggerAt && n - r.lastTriggerAt < Pi)
4659
4674
  return { trigger: !1, reason: "too_soon" };
4660
- const o = Bi(t, e.windowMs);
4675
+ const o = Gi(t, e.windowMs);
4661
4676
  if (!o.text) return { trigger: !1, reason: "no_speech" };
4662
4677
  const i = o.segmentCount - (r.lastSegmentCount ?? 0);
4663
- if (r.lastQueryTerms && i < $i)
4678
+ if (r.lastQueryTerms && i < Ki)
4664
4679
  return { trigger: !1, reason: "too_few_new" };
4665
- const s = Ui(o.text);
4666
- return s.length ? r.lastQueryTerms?.length && Fi(s, r.lastQueryTerms) < Li ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: o.text, terms: s, segmentCount: o.segmentCount } : { trigger: !1, reason: "no_speech" };
4680
+ const s = ji(o.text);
4681
+ 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" };
4667
4682
  }
4668
- const Md = [
4683
+ const Nd = [
4669
4684
  "personal",
4670
4685
  "organization",
4671
4686
  "connections",
@@ -4673,7 +4688,7 @@ const Md = [
4673
4688
  "work",
4674
4689
  "administration",
4675
4690
  "ai"
4676
- ], Cd = "navNotice", Fe = {
4691
+ ], xd = "navNotice", Fe = {
4677
4692
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
4678
4693
  // shorter than geographic numbers, and a too-strict minimum silently drops them.
4679
4694
  // An over-permissive key is harmless — it simply matches nothing.
@@ -4696,19 +4711,19 @@ const Md = [
4696
4711
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
4697
4712
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
4698
4713
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
4699
- }, Hi = "NL", Gi = 15, Wi = 8, zi = Array.from(
4714
+ }, zi = "NL", Vi = 15, Xi = 8, Yi = Array.from(
4700
4715
  new Set(Object.values(Fe).map((e) => e.callingCode))
4701
4716
  ).sort((e, t) => t.length - e.length);
4702
- function At(e) {
4717
+ function _t(e) {
4703
4718
  if (e)
4704
4719
  return Fe[e.trim().toUpperCase()];
4705
4720
  }
4706
4721
  function ee(e, t) {
4707
4722
  return e.length >= t.nsnMin && e.length <= t.nsnMax;
4708
4723
  }
4709
- function _t(e) {
4710
- if (e.length > Gi) return null;
4711
- for (const t of zi) {
4724
+ function Et(e) {
4725
+ if (e.length > Vi) return null;
4726
+ for (const t of Yi) {
4712
4727
  if (!e.startsWith(t)) continue;
4713
4728
  const n = e.slice(t.length);
4714
4729
  for (const r of Object.values(Fe)) {
@@ -4718,31 +4733,31 @@ function _t(e) {
4718
4733
  }
4719
4734
  return null;
4720
4735
  }
4721
- return e.length < Wi ? null : `+${e}`;
4736
+ return e.length < Xi ? null : `+${e}`;
4722
4737
  }
4723
- function Vi(e) {
4738
+ function qi(e) {
4724
4739
  let t = e.trim();
4725
4740
  const n = t.match(/^(sips?|tel|whatsapp):/i);
4726
4741
  n && (t = t.slice(n[0].length));
4727
4742
  const r = t.indexOf("@");
4728
4743
  return r >= 0 && (t = t.slice(0, r)), t.trim();
4729
4744
  }
4730
- function Nd(e) {
4745
+ function Rd(e) {
4731
4746
  if (!e) return !1;
4732
4747
  const t = e.indexOf("@");
4733
4748
  if (t <= 0) return !1;
4734
4749
  const n = e.slice(0, t).trim();
4735
4750
  return !/^[+\d\s().-]+$/.test(n);
4736
4751
  }
4737
- function Et(e, t) {
4752
+ function St(e, t) {
4738
4753
  if (!e) return null;
4739
- const n = Vi(e);
4754
+ const n = qi(e);
4740
4755
  if (!n) return null;
4741
4756
  const r = n.startsWith("+"), o = n.replace(/\D/g, "");
4742
4757
  if (!o) return null;
4743
- if (r) return _t(o);
4744
- if (o.startsWith("00")) return _t(o.slice(2));
4745
- const i = At(t) ?? At(Hi);
4758
+ if (r) return Et(o);
4759
+ if (o.startsWith("00")) return Et(o.slice(2));
4760
+ const i = _t(t) ?? _t(zi);
4746
4761
  if (!i) return null;
4747
4762
  const s = i.trunkPrefix;
4748
4763
  if (s && o.startsWith(s)) {
@@ -4755,22 +4770,22 @@ function Et(e, t) {
4755
4770
  }
4756
4771
  return !s && ee(o, i) ? `+${i.callingCode}${o}` : null;
4757
4772
  }
4758
- function Od(e, t = 9) {
4773
+ function Dd(e, t = 9) {
4759
4774
  const n = (e ?? "").replace(/\D/g, "");
4760
4775
  return n.length < t ? null : n.slice(-t);
4761
4776
  }
4762
- function cn(e) {
4777
+ function ln(e) {
4763
4778
  if (!e) return null;
4764
4779
  const t = e.trim().toLowerCase(), n = t.lastIndexOf("@");
4765
4780
  if (n <= 0 || n === t.length - 1) return null;
4766
4781
  const r = t.slice(0, n).split("+")[0], o = t.slice(n + 1);
4767
4782
  return !r || !o.includes(".") ? null : `${r}@${o}`;
4768
4783
  }
4769
- function xd(e) {
4770
- const t = cn(e);
4784
+ function $d(e) {
4785
+ const t = ln(e);
4771
4786
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
4772
4787
  }
4773
- const Xi = /* @__PURE__ */ new Set([
4788
+ const Qi = /* @__PURE__ */ new Set([
4774
4789
  "co.uk",
4775
4790
  "org.uk",
4776
4791
  "gov.uk",
@@ -4780,14 +4795,14 @@ const Xi = /* @__PURE__ */ new Set([
4780
4795
  "com.br",
4781
4796
  "co.za"
4782
4797
  ]);
4783
- function Yi(e) {
4798
+ function Zi(e) {
4784
4799
  if (!e) return null;
4785
4800
  const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
4786
4801
  if (t.length < 2) return null;
4787
4802
  const n = t.slice(-2).join(".");
4788
- return Xi.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
4803
+ return Qi.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
4789
4804
  }
4790
- const qi = /* @__PURE__ */ new Set([
4805
+ const Ji = /* @__PURE__ */ new Set([
4791
4806
  "gmail.com",
4792
4807
  "googlemail.com",
4793
4808
  "outlook.com",
@@ -4832,34 +4847,34 @@ const qi = /* @__PURE__ */ new Set([
4832
4847
  "proximus.be",
4833
4848
  "scarlet.be"
4834
4849
  ]);
4835
- function Rd(e) {
4836
- const t = Yi(e);
4837
- return t ? qi.has(t) : !1;
4850
+ function Ld(e) {
4851
+ const t = Zi(e);
4852
+ return t ? Ji.has(t) : !1;
4838
4853
  }
4839
- function Dd(e) {
4854
+ function Pd(e) {
4840
4855
  if (!e) return !1;
4841
4856
  const t = e.trim().toLowerCase();
4842
4857
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
4843
4858
  }
4844
- function $d(e, t, n) {
4859
+ function Kd(e, t, n) {
4845
4860
  if (!e || !t) return null;
4846
4861
  const r = e.trim().toLowerCase();
4847
4862
  if (r === "tel" || r === "sms" || r === "whatsapp") {
4848
- const i = Et(t, n);
4863
+ const i = St(t, n);
4849
4864
  return i ? `tel:${i}` : null;
4850
4865
  }
4851
4866
  if (r === "fax") {
4852
- const i = Et(t, n);
4867
+ const i = St(t, n);
4853
4868
  return i ? `fax:${i}` : null;
4854
4869
  }
4855
4870
  if (r === "mailto" || r === "email") {
4856
- const i = cn(t);
4871
+ const i = ln(t);
4857
4872
  return i ? `mailto:${i}` : null;
4858
4873
  }
4859
4874
  const o = t.trim().toLowerCase();
4860
4875
  return o ? `${r}:${o}` : null;
4861
4876
  }
4862
- const Qi = [
4877
+ const es = [
4863
4878
  /<blockquote/i,
4864
4879
  /class="?gmail_quote/i,
4865
4880
  // Gmail quote container
@@ -4872,24 +4887,24 @@ const Qi = [
4872
4887
  // Outlook underscore separator before "From:"
4873
4888
  /\bOn\b[\s\S]{0,200}?\bwrote:/i
4874
4889
  // Gmail "On <date> <name> wrote:"
4875
- ], St = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Zi = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
4876
- function Ji(e) {
4890
+ ], 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;
4891
+ function ns(e) {
4877
4892
  const t = e.split(`
4878
4893
  `);
4879
4894
  for (let n = 0; n < t.length; n++)
4880
- if (Zi.test(t[n]) || St.test(t[n]) && t.slice(n + 1, n + 4).some((r) => St.test(r)))
4895
+ if (ts.test(t[n]) || Tt.test(t[n]) && t.slice(n + 1, n + 4).some((r) => Tt.test(r)))
4881
4896
  return t.slice(0, n).join(`
4882
4897
  `).trim();
4883
4898
  return e;
4884
4899
  }
4885
- const es = /^(?:https?:|mailto:|tel:)/i, ts = /^(?:https?:|cid:|data:image\/)/i;
4900
+ const rs = /^(?:https?:|mailto:|tel:)/i, os = /^(?:https?:|cid:|data:image\/)/i;
4886
4901
  function ge(e, t) {
4887
4902
  const n = e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`, "i"));
4888
4903
  return (n?.[1] ?? n?.[2] ?? n?.[3] ?? "").trim();
4889
4904
  }
4890
- const ns = /(!\[[^\]]*\]\([^)]*\))/;
4891
- function Tt(e) {
4892
- return e.replace(/\s+/g, " ").trim().split(ns).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
4905
+ const is = /(!\[[^\]]*\]\([^)]*\))/;
4906
+ function It(e) {
4907
+ return e.replace(/\s+/g, " ").trim().split(is).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
4893
4908
  }
4894
4909
  function he(e) {
4895
4910
  return e.replace(
@@ -4897,47 +4912,47 @@ function he(e) {
4897
4912
  (t) => `%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2, "0")}`
4898
4913
  );
4899
4914
  }
4900
- function rs(e) {
4915
+ function ss(e) {
4901
4916
  return e.replace(/<img\b([^>]*?)\/?>/gi, (n, r) => {
4902
4917
  const o = ge(r, "src");
4903
- return ts.test(o) ? `![${Tt(ge(r, "alt"))}](${he(o)})` : "";
4918
+ return os.test(o) ? `![${It(ge(r, "alt"))}](${he(o)})` : "";
4904
4919
  }).replace(
4905
4920
  /<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,
4906
4921
  (n, r, o) => {
4907
- const i = Tt(o.replace(/<[^>]*>/g, "")), s = ge(r, "href");
4908
- return es.test(s) ? `[${i || he(s)}](${he(s)})` : i;
4922
+ const i = It(o.replace(/<[^>]*>/g, "")), s = ge(r, "href");
4923
+ return rs.test(s) ? `[${i || he(s)}](${he(s)})` : i;
4909
4924
  }
4910
4925
  );
4911
4926
  }
4912
- const os = /<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i, is = /<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi, ss = /<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;
4913
- function as(e, t) {
4927
+ 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;
4928
+ function us(e, t) {
4914
4929
  return /<table\b/i.test(e) || e.includes(`
4915
4930
 
4916
4931
  |`) || t.includes("![") || t.length > 200;
4917
4932
  }
4918
- const cs = 40, ls = { left: "---", center: ":---:", right: "---:" };
4919
- function us(e) {
4933
+ const ds = 40, fs = { left: "---", center: ":---:", right: "---:" };
4934
+ function ps(e) {
4920
4935
  const t = e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);
4921
4936
  return t ? t[1].toLowerCase() : "left";
4922
4937
  }
4923
- function ds(e) {
4938
+ function ms(e) {
4924
4939
  return e.replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().replace(/\|/g, "\\|");
4925
4940
  }
4926
- function fs(e) {
4941
+ function gs(e) {
4927
4942
  const t = [];
4928
- for (const s of e.matchAll(is)) {
4943
+ for (const s of e.matchAll(cs)) {
4929
4944
  const a = [];
4930
- for (const u of s[1].matchAll(ss)) {
4931
- const l = ds(u[3]);
4932
- if (as(u[3], l)) return null;
4933
- a.push({ text: l, align: us(u[2]) });
4945
+ for (const u of s[1].matchAll(ls)) {
4946
+ const l = ms(u[3]);
4947
+ if (us(u[3], l)) return null;
4948
+ a.push({ text: l, align: ps(u[2]) });
4934
4949
  }
4935
4950
  if (a.length === 0) return null;
4936
4951
  a.some((u) => u.text !== "") && t.push(a);
4937
4952
  }
4938
4953
  const n = t[0]?.length ?? 0;
4939
4954
  if (t.length < 2 || n < 2 || t.some((s) => s.length !== n)) return null;
4940
- const r = (s) => `| ${s.map((a) => a.text).join(" | ")} |`, o = t[1].map((s) => ls[s.align]).join(" | "), i = t.slice(1).map(r).join(`
4955
+ 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(`
4941
4956
  `);
4942
4957
  return `
4943
4958
 
@@ -4947,36 +4962,36 @@ ${i}
4947
4962
 
4948
4963
  `;
4949
4964
  }
4950
- function ps(e) {
4965
+ function hs(e) {
4951
4966
  return e.replace(/<\/(t[dh])\s*>/gi, " ").replace(/<\/tr\s*>/gi, `
4952
4967
  `).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi, "").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi, "");
4953
4968
  }
4954
- function ms(e) {
4969
+ function ys(e) {
4955
4970
  let t = e;
4956
- for (let n = 0; n < cs; n++) {
4957
- const r = os.exec(t);
4971
+ for (let n = 0; n < ds; n++) {
4972
+ const r = as.exec(t);
4958
4973
  if (!r || r.index === void 0) break;
4959
- const i = fs(r[1]) ?? `
4974
+ const i = gs(r[1]) ?? `
4960
4975
 
4961
- ${ps(r[1])}
4976
+ ${hs(r[1])}
4962
4977
 
4963
4978
  `;
4964
4979
  t = t.slice(0, r.index) + i + t.slice(r.index + r[0].length);
4965
4980
  }
4966
4981
  return t;
4967
4982
  }
4968
- function It(e, t) {
4983
+ function kt(e, t) {
4969
4984
  let n = e;
4970
4985
  return n = n.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), n = n.replace(/<!--[\s\S]*?-->/g, ""), n = n.replace(/<br\s*\/?>/gi, `
4971
- `), t && (n = ms(rs(n))), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
4986
+ `), t && (n = ys(ss(n))), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
4972
4987
 
4973
4988
  `), n = n.replace(/<\/(div|li|tr)>/gi, `
4974
4989
  `), n = n.replace(/<\/(td|th)>/gi, " "), n = n.replace(/<[^>]+>/g, ""), n = n.replace(/<[^>]*$/, ""), n;
4975
4990
  }
4976
- function kt(e) {
4991
+ function wt(e) {
4977
4992
  return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
4978
4993
  }
4979
- const gs = {
4994
+ const bs = {
4980
4995
  euro: "€",
4981
4996
  pound: "£",
4982
4997
  yen: "¥",
@@ -4998,542 +5013,544 @@ const gs = {
4998
5013
  rdquo: "”",
4999
5014
  apos: "'"
5000
5015
  };
5001
- function wt(e) {
5002
- return e.replace(/&nbsp;/gi, " ").replace(/&([a-z]+);/gi, (t, n) => gs[n.toLowerCase()] ?? t).replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => kt(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => kt(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
5003
- }
5004
5016
  function vt(e) {
5017
+ 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, "&");
5018
+ }
5019
+ function Mt(e) {
5005
5020
  return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
5006
5021
  `).replace(/\n{3,}/g, `
5007
5022
 
5008
5023
  `).trim();
5009
5024
  }
5010
- const hs = /<\s*(html|body|div|p|table|br|span)\b/i;
5011
- function Ld(e) {
5012
- return hs.test(e);
5025
+ const As = /<\s*(html|body|div|p|table|br|span)\b/i;
5026
+ function Ud(e) {
5027
+ return As.test(e);
5013
5028
  }
5014
- function Pd(e) {
5015
- return ln(e, !1);
5029
+ function Fd(e) {
5030
+ return un(e, !1);
5016
5031
  }
5017
- function Kd(e) {
5018
- return ln(e, !0);
5032
+ function Bd(e) {
5033
+ return un(e, !0);
5019
5034
  }
5020
- function ln(e, t) {
5035
+ function un(e, t) {
5021
5036
  if (typeof e != "string" || !e) return "";
5022
5037
  let n = e.length;
5023
- for (const s of Qi) {
5038
+ for (const s of es) {
5024
5039
  const a = e.search(s);
5025
5040
  a >= 0 && a < n && (n = a);
5026
5041
  }
5027
5042
  const r = e.slice(0, n);
5028
- let o = vt(wt(It(r, t)));
5029
- return o || (o = vt(wt(It(e, t)))), Ji(o) || o;
5043
+ let o = Mt(vt(kt(r, t)));
5044
+ return o || (o = Mt(vt(kt(e, t)))), ns(o) || o;
5030
5045
  }
5031
5046
  export {
5032
- da as ACTIVE_ASSIGNMENT_STATUSES,
5047
+ ma as ACTIVE_ASSIGNMENT_STATUSES,
5033
5048
  R as ACTIVITY_CATALOG,
5034
- di as AI_ATTACHMENT_LIMITS,
5035
- _u as AI_ATTACHMENT_MAX_PER_TURN,
5036
- Au as AI_ATTACHMENT_TURN_BUDGET,
5037
- Oe as AI_CAPABILITIES,
5049
+ fi as AI_ATTACHMENT_LIMITS,
5050
+ Tu as AI_ATTACHMENT_MAX_PER_TURN,
5051
+ Su as AI_ATTACHMENT_TURN_BUDGET,
5052
+ Ne as AI_CAPABILITIES,
5038
5053
  Nt as AI_VENDORS,
5039
- On as ALLOWED_LINK_SCHEMES,
5040
- id as APP_PERMISSIONS,
5054
+ xn as ALLOWED_LINK_SCHEMES,
5055
+ ad as APP_PERMISSIONS,
5041
5056
  Ye as ARTIFACT_MAX_BLOCKS,
5042
- oa as ARTIFACT_MAX_BODY_BYTES,
5057
+ aa as ARTIFACT_MAX_BODY_BYTES,
5043
5058
  Z as ARTIFACT_MAX_CELL_LEN,
5044
5059
  Je as ARTIFACT_MAX_KPI_ITEMS,
5045
5060
  qe as ARTIFACT_MAX_LIST_ITEMS,
5046
5061
  Ze as ARTIFACT_MAX_TABLE_COLUMNS,
5047
5062
  Qe as ARTIFACT_MAX_TABLE_ROWS,
5048
- xt as ARTIFACT_MAX_TEXT_LEN,
5049
- Bn as ASSIGNMENT_SCOPE_KIND,
5050
- ku as ASSIST_BANDS,
5051
- Iu as ASSIST_SOURCE_PROVIDER_GROUP,
5052
- fr as ATTENTION_STATUSES,
5053
- Ro as AT_RISK_GAP,
5054
- sn as AUTH_APP_NAME,
5055
- mo as AUTO_READY_MIN_PROPOSALS,
5056
- go as AUTO_READY_RATE,
5057
- _n as ActivityTypeRegistry,
5058
- Ds as BUILT_IN_ONLY,
5059
- pr as BULK_PENALTY,
5060
- Aa as BUSINESS_ENTITY_LIST_SERVICE,
5061
- Di as CADENCE_FLOOR_MS,
5062
- $i as CADENCE_MIN_NEW_SEGMENTS,
5063
- Li as CADENCE_MIN_NOVELTY,
5064
- Ri as CADENCE_WINDOW_MS,
5065
- Pc as CLASSIFY_VARS,
5066
- Wu as CONNECTOR_PROVIDER_GROUP,
5067
- zu as CONTEXT_COLLECT_SERVICE,
5068
- Ys as CORE_DIMENSIONS,
5069
- yi as CommunicationScheme,
5070
- rr as DAY_MS,
5063
+ Rt as ARTIFACT_MAX_TEXT_LEN,
5064
+ jn as ASSIGNMENT_SCOPE_KIND,
5065
+ vu as ASSIST_BANDS,
5066
+ wu as ASSIST_SOURCE_PROVIDER_GROUP,
5067
+ pr as ATTENTION_STATUSES,
5068
+ Do as AT_RISK_GAP,
5069
+ an as AUTH_APP_NAME,
5070
+ go as AUTO_READY_MIN_PROPOSALS,
5071
+ ho as AUTO_READY_RATE,
5072
+ En as ActivityTypeRegistry,
5073
+ Ps as BUILT_IN_ONLY,
5074
+ mr as BULK_PENALTY,
5075
+ Sa as BUSINESS_ENTITY_LIST_SERVICE,
5076
+ Pi as CADENCE_FLOOR_MS,
5077
+ Ki as CADENCE_MIN_NEW_SEGMENTS,
5078
+ Ui as CADENCE_MIN_NOVELTY,
5079
+ Li as CADENCE_WINDOW_MS,
5080
+ Fc as CLASSIFY_VARS,
5081
+ Vu as CONNECTOR_PROVIDER_GROUP,
5082
+ Xu as CONTEXT_COLLECT_SERVICE,
5083
+ Zs as CORE_DIMENSIONS,
5084
+ Ai as CommunicationScheme,
5085
+ or as DAY_MS,
5071
5086
  No as DEFAULT_CHECK_IN_DAYS,
5072
- Wr as DEFAULT_FORECAST_WEEKS,
5073
- ic as DEFAULT_MEMORY_BUDGET,
5074
- Fl as DEFAULT_NUMBER_PADDING,
5075
- Hi as DEFAULT_PHONE_REGION,
5076
- Ll as DEFAULT_QUOTE_TEMPLATE_BLOCKS,
5077
- $l as DEFAULT_TEMPLATE_CONDITIONS,
5078
- hc as DEMAND_SOURCE_PROVIDER_GROUP,
5079
- Ju as DOCUMENT_APPLY_SERVICE,
5080
- Qu as DOCUMENT_DESCRIBE_SERVICE,
5081
- Zu as DOCUMENT_INSPECT_SERVICE,
5087
+ zr as DEFAULT_FORECAST_WEEKS,
5088
+ cc as DEFAULT_MEMORY_BUDGET,
5089
+ Hl as DEFAULT_NUMBER_PADDING,
5090
+ zi as DEFAULT_PHONE_REGION,
5091
+ Ul as DEFAULT_QUOTE_TEMPLATE_BLOCKS,
5092
+ Kl as DEFAULT_TEMPLATE_CONDITIONS,
5093
+ Ac as DEMAND_SOURCE_PROVIDER_GROUP,
5094
+ td as DOCUMENT_APPLY_SERVICE,
5095
+ Ju as DOCUMENT_DESCRIBE_SERVICE,
5096
+ ed as DOCUMENT_INSPECT_SERVICE,
5082
5097
  Ye as DOCUMENT_MAX_BLOCKS,
5083
- oa as DOCUMENT_MAX_BODY_BYTES,
5098
+ aa as DOCUMENT_MAX_BODY_BYTES,
5084
5099
  Z as DOCUMENT_MAX_CELL_LEN,
5085
5100
  Je as DOCUMENT_MAX_KPI_ITEMS,
5086
5101
  et as DOCUMENT_MAX_LETTERHEAD_FIELDS,
5087
5102
  qe as DOCUMENT_MAX_LIST_ITEMS,
5088
- Cn as DOCUMENT_MAX_RECIPIENT_LINES,
5103
+ On as DOCUMENT_MAX_RECIPIENT_LINES,
5089
5104
  Ze as DOCUMENT_MAX_TABLE_COLUMNS,
5090
5105
  Qe as DOCUMENT_MAX_TABLE_ROWS,
5091
- xt as DOCUMENT_MAX_TEXT_LEN,
5106
+ Rt as DOCUMENT_MAX_TEXT_LEN,
5092
5107
  tt as DOCUMENT_MAX_TOTALS_ROWS,
5093
- nn as DOCUMENT_OPERATIONS,
5094
- Go as DUTCH_SLOT_LABELS,
5095
- Uc as EMPTY_WORKFLOW,
5096
- jo as ENABLED_TRANSACTION_KINDS,
5097
- Bu as FEATURE_FOLDER_MANAGEMENT,
5098
- Hu as FEATURE_MESSAGE_REACTIONS,
5099
- ju as FEATURE_REMOTE_SEARCH,
5108
+ rn as DOCUMENT_OPERATIONS,
5109
+ Wo as DUTCH_SLOT_LABELS,
5110
+ jc as EMPTY_WORKFLOW,
5111
+ Ho as ENABLED_TRANSACTION_KINDS,
5112
+ Hu as FEATURE_FOLDER_MANAGEMENT,
5113
+ Wu as FEATURE_MESSAGE_REACTIONS,
5114
+ Gu as FEATURE_REMOTE_SEARCH,
5100
5115
  De as FIXED_KINDS,
5101
5116
  ie as FIXED_LEVELS,
5102
5117
  Ke as FIXED_TYPES,
5103
- ka as FIXED_UNITS,
5104
- gr as FOLLOW_UP_HOURS,
5105
- Ol as FROZEN_WRITABLE_FIELDS,
5106
- nr as HOUR_MS,
5107
- hs as HTML_BODY_RE,
5118
+ Ma as FIXED_UNITS,
5119
+ hr as FOLLOW_UP_HOURS,
5120
+ Dl as FROZEN_WRITABLE_FIELDS,
5121
+ rr as HOUR_MS,
5122
+ As as HTML_BODY_RE,
5108
5123
  L as INELIGIBLE,
5109
- td as INSTALLATION_HEADER,
5110
- co as INTERACTION_KIND,
5111
- Uu as InteractionParticipantRole,
5112
- Tr as KB_FALLBACK_LOCALE,
5124
+ rd as INSTALLATION_HEADER,
5125
+ lo as INTERACTION_KIND,
5126
+ Bu as InteractionParticipantRole,
5127
+ Ir as KB_FALLBACK_LOCALE,
5113
5128
  ot as KB_LOCALES,
5114
5129
  ot as LOCALES,
5115
5130
  Ue as LOOSE_STATUSES,
5116
- cr as MAIL_HINT_HEADERS,
5117
- _s as MAX_ACTIONS,
5118
- jn as MAX_ASSIGNMENT_TURNS,
5119
- ys as MAX_BLOCKS,
5120
- Ft as MAX_COLLECTION_DEPTH,
5121
- Hn as MAX_DELEGATION_DEPTH,
5122
- Sd as MAX_EDITABLE_FILE_BYTES,
5123
- bs as MAX_FIELDS,
5124
- As as MAX_LIST_ITEMS,
5125
- tc as MAX_MEMORY_BROWSE,
5126
- oc as MAX_MEMORY_BUDGET,
5127
- nc as MAX_MEMORY_CHARS,
5128
- ji as MAX_SHOWN_KEYS,
5129
- Ko as MAX_TOPIC_CANDIDATES,
5130
- Po as MAX_TOPIC_EXAMPLES,
5131
+ lr as MAIL_HINT_HEADERS,
5132
+ Ts as MAX_ACTIONS,
5133
+ Hn as MAX_ASSIGNMENT_TURNS,
5134
+ _s as MAX_BLOCKS,
5135
+ Bt as MAX_COLLECTION_DEPTH,
5136
+ Gn as MAX_DELEGATION_DEPTH,
5137
+ Id as MAX_EDITABLE_FILE_BYTES,
5138
+ Es as MAX_FIELDS,
5139
+ Ss as MAX_LIST_ITEMS,
5140
+ oc as MAX_MEMORY_BROWSE,
5141
+ ac as MAX_MEMORY_BUDGET,
5142
+ ic as MAX_MEMORY_CHARS,
5143
+ Wi as MAX_SHOWN_KEYS,
5144
+ Uo as MAX_TOPIC_CANDIDATES,
5145
+ Ko as MAX_TOPIC_EXAMPLES,
5131
5146
  me as MAX_TOPIC_EXAMPLE_CHARS,
5132
- Td as MAX_VIEWABLE_FILE_BYTES,
5133
- rc as MIN_MEMORY_BUDGET,
5134
- Cd as NAV_NOTICE_SLOT,
5135
- Vl as NL_PAYMENT_TERMS,
5136
- ac as NL_TAX_RATES,
5137
- rd as NOTIFICATION_SOURCE_PROVIDER_GROUP,
5138
- Do as OFF_TRACK_GAP,
5139
- lc as ONBOARDING_SOURCE_PROVIDER_GROUP,
5147
+ kd as MAX_VIEWABLE_FILE_BYTES,
5148
+ sc as MIN_MEMORY_BUDGET,
5149
+ xd as NAV_NOTICE_SLOT,
5150
+ ql as NL_PAYMENT_TERMS,
5151
+ uc as NL_TAX_RATES,
5152
+ id as NOTIFICATION_SOURCE_PROVIDER_GROUP,
5153
+ $o as OFF_TRACK_GAP,
5154
+ fc as ONBOARDING_SOURCE_PROVIDER_GROUP,
5140
5155
  ve as PAUSE_HOLD,
5141
5156
  ke as PAUSE_SNOOZED,
5142
5157
  we as PAUSE_WAITING_FOR_CUSTOMER,
5143
- Hl as PAYMENT_TERM_METHODS,
5158
+ zl as PAYMENT_TERM_METHODS,
5144
5159
  Fe as PHONE_REGIONS,
5145
- rn as PRESENCE_ONLINE_WINDOW_MS,
5146
- Ii as PRESENCE_SURVIVES_OFFLINE,
5147
- Qo as PRODUCT_SCOPE_KIND,
5148
- dc as PROFILE_TOOL_DISPOSITIONS,
5149
- Ku as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
5150
- Pu as PROVIDER_FEATURE_MESSAGE_WINDOW,
5151
- qi as PUBLIC_EMAIL_DOMAINS,
5160
+ on as PRESENCE_ONLINE_WINDOW_MS,
5161
+ wi as PRESENCE_SURVIVES_OFFLINE,
5162
+ Zo as PRODUCT_SCOPE_KIND,
5163
+ mc as PROFILE_TOOL_DISPOSITIONS,
5164
+ Fu as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
5165
+ Uu as PROVIDER_FEATURE_MESSAGE_WINDOW,
5166
+ Ji as PUBLIC_EMAIL_DOMAINS,
5152
5167
  it as READ_STEP_TYPES,
5153
- wr as RELATED_SUBJECT_KINDS,
5154
- tn as RESERVED_STATUS_KEYS,
5155
- Jl as RESERVED_TYPE_KEYS,
5156
- pd as RESOURCE_ATTACHED_SERVICE,
5157
- ud as RESOURCE_DESCRIBE_SERVICE,
5158
- fd as RESOURCE_RESOLVE_SERVICE,
5159
- dd as RESOURCE_SEARCH_SERVICE,
5160
- Qr as SCHEDULE_ENTRY_SCOPE_KIND,
5161
- yd as SCOPE_ACTS_ROUTE,
5162
- hd as SCOPE_READ_ROUTE,
5163
- gd as SCOPE_RELATED_ROUTE,
5164
- Md as SETTINGS_CATEGORIES,
5165
- wa as SIGNATURE_INTENTS,
5166
- mr as SLA_HOURS_BY_PRIORITY,
5167
- Qc as SLA_METRICS,
5168
- Zc as SLA_PAUSE_REASONS,
5169
- fo as STEP_MAX_TOKENS_MAX,
5170
- uo as STEP_MAX_TOKENS_MIN,
5171
- Mo as STRATEGY_ITEM_SCOPE_KIND,
5172
- ar as SUMMARY_MIN_LAST_CHARS,
5173
- sr as SUMMARY_MIN_MESSAGES,
5174
- kd as SYNC_RUN_MAX_ERRORS,
5175
- Id as SYNC_TARGET_PROVIDER_GROUP,
5176
- Fn as TERMINAL_ASSIGNMENT_STATUSES,
5177
- ho as TERMINAL_RUN_STATUSES,
5168
+ vr as RELATED_SUBJECT_KINDS,
5169
+ nn as RESERVED_STATUS_KEYS,
5170
+ nu as RESERVED_TYPE_KEYS,
5171
+ gd as RESOURCE_ATTACHED_SERVICE,
5172
+ fd as RESOURCE_DESCRIBE_SERVICE,
5173
+ md as RESOURCE_RESOLVE_SERVICE,
5174
+ pd as RESOURCE_SEARCH_SERVICE,
5175
+ Zr as SCHEDULE_ENTRY_SCOPE_KIND,
5176
+ Ad as SCOPE_ACTS_ROUTE,
5177
+ bd as SCOPE_READ_ROUTE,
5178
+ yd as SCOPE_RELATED_ROUTE,
5179
+ Nd as SETTINGS_CATEGORIES,
5180
+ Ca as SIGNATURE_INTENTS,
5181
+ gr as SLA_HOURS_BY_PRIORITY,
5182
+ el as SLA_METRICS,
5183
+ tl as SLA_PAUSE_REASONS,
5184
+ po as STEP_MAX_TOKENS_MAX,
5185
+ fo as STEP_MAX_TOKENS_MIN,
5186
+ Co as STRATEGY_ITEM_SCOPE_KIND,
5187
+ cr as SUMMARY_MIN_LAST_CHARS,
5188
+ ar as SUMMARY_MIN_MESSAGES,
5189
+ vd as SYNC_RUN_MAX_ERRORS,
5190
+ wd as SYNC_TARGET_PROVIDER_GROUP,
5191
+ Bn as TERMINAL_ASSIGNMENT_STATUSES,
5192
+ yo as TERMINAL_RUN_STATUSES,
5178
5193
  Pe as TRANSACTION_KINDS,
5179
- qo as TRANSACTION_SCOPE_KINDS,
5180
- $c as TRIGGER_VARS,
5181
- Cr as UNKNOWN_KIND,
5182
- Co as UNKNOWN_LEVEL_ORDER,
5183
- Gu as UNSUPPORTED,
5184
- wn as USAGE_DIMENSIONS,
5185
- vn as USAGE_DIMENSION_IDS,
5186
- Zr as WORKSTREAM_SCOPE_KIND,
5187
- ni as WORK_ACTIVITY_SCOPE_KIND,
5188
- uc as WORK_AREAS,
5189
- Yl as WORK_COMMENT_ADDED,
5190
- ou as WORK_CYCLE_SYNC_KIND,
5191
- ql as WORK_ITEM_ASSIGNED,
5192
- ei as WORK_ITEM_SCOPE_KIND,
5193
- Ql as WORK_ITEM_STATUS_CHANGED,
5194
- ti as WORK_PROJECT_SCOPE_KIND,
5194
+ Qo as TRANSACTION_SCOPE_KINDS,
5195
+ Kc as TRIGGER_VARS,
5196
+ Or as UNKNOWN_KIND,
5197
+ Oo as UNKNOWN_LEVEL_ORDER,
5198
+ zu as UNSUPPORTED,
5199
+ vn as USAGE_DIMENSIONS,
5200
+ Mn as USAGE_DIMENSION_IDS,
5201
+ Jr as WORKSTREAM_SCOPE_KIND,
5202
+ ri as WORK_ACTIVITY_SCOPE_KIND,
5203
+ pc as WORK_AREAS,
5204
+ Zl as WORK_COMMENT_ADDED,
5205
+ au as WORK_CYCLE_SYNC_KIND,
5206
+ Jl as WORK_ITEM_ASSIGNED,
5207
+ ti as WORK_ITEM_SCOPE_KIND,
5208
+ eu as WORK_ITEM_STATUS_CHANGED,
5209
+ ni as WORK_PROJECT_SCOPE_KIND,
5195
5210
  te as W_PRIORITY,
5196
- vl as acceptExampleCandidate,
5197
- no as actingIdentityKey,
5198
- kl as activeWorkTypes,
5199
- Ss as activityIconOf,
5200
- xs as activityJoinUrl,
5201
- hn as activitySnippet,
5202
- yn as activityTextParams,
5203
- Os as activityTimelineText,
5204
- En as activityTimestamp,
5211
+ Ol as acceptExampleCandidate,
5212
+ ro as actingIdentityKey,
5213
+ Ml as activeWorkTypes,
5214
+ ks as activityIconOf,
5215
+ $s as activityJoinUrl,
5216
+ yn as activitySnippet,
5217
+ bn as activityTextParams,
5218
+ Ds as activityTimelineText,
5219
+ Sn as activityTimestamp,
5205
5220
  k as activityTypeInfo,
5206
- Mc as actorKey,
5207
- wl as addExampleCandidate,
5221
+ Nc as actorKey,
5222
+ Cl as addExampleCandidate,
5208
5223
  $e as addWorkingMs,
5209
- ad as agePresenceEntry,
5210
- ui as aiAttachmentKind,
5211
- Eu as aiAttachmentRejection,
5224
+ ld as agePresenceEntry,
5225
+ di as aiAttachmentKind,
5226
+ Iu as aiAttachmentRejection,
5212
5227
  Xe as aiBudgetLimit,
5213
- Vs as aiBudgetPeriodKey,
5214
- Sn as aiBudgetPeriodStart,
5215
- zs as aiBudgetState,
5216
- Ws as aiVendorAcceptsAttachment,
5217
- js as aiVendorDefaultModel,
5218
- Bs as aiVendorLabel,
5219
- Gs as aiVendorNeedsBaseUrl,
5220
- Hs as aiVendorsWith,
5221
- zn as allocate,
5222
- an as appNameFromPath,
5223
- ra as applyApprovalDecision,
5224
- _l as applyRounding,
5225
- va as applySignature,
5226
- po as approvalRate,
5227
- sa as artifactBodyBytes,
5228
- aa as artifactOutline,
5229
- Un as artifactToMarkdown,
5230
- xc as assignmentMismatch,
5231
- pa as assignmentScopeKey,
5232
- ha as assignmentSubject,
5233
- gc as availabilityByPerson,
5234
- fc as belongsOnCalendar,
5235
- _a as belongsToEntity,
5236
- Rs as buildActivityPreview,
5237
- xu as buildChannelIntents,
5238
- ca as buildShareKeys,
5239
- Bi as buildWindow,
5240
- tr as businessEntitySender,
5241
- Or as calendarDaysBetween,
5228
+ qs as aiBudgetPeriodKey,
5229
+ Tn as aiBudgetPeriodStart,
5230
+ Ys as aiBudgetState,
5231
+ Xs as aiVendorAcceptsAttachment,
5232
+ Ws as aiVendorDefaultModel,
5233
+ Gs as aiVendorLabel,
5234
+ Vs as aiVendorNeedsBaseUrl,
5235
+ zs as aiVendorsWith,
5236
+ Vn as allocate,
5237
+ cn as appNameFromPath,
5238
+ sa as applyApprovalDecision,
5239
+ Tl as applyRounding,
5240
+ Oa as applySignature,
5241
+ mo as approvalRate,
5242
+ la as artifactBodyBytes,
5243
+ ua as artifactOutline,
5244
+ Fn as artifactToMarkdown,
5245
+ $c as assignmentMismatch,
5246
+ ha as assignmentScopeKey,
5247
+ Aa as assignmentSubject,
5248
+ bc as availabilityByPerson,
5249
+ gc as belongsOnCalendar,
5250
+ Ta as belongsToEntity,
5251
+ Ls as buildActivityPreview,
5252
+ Du as buildChannelIntents,
5253
+ da as buildShareKeys,
5254
+ Gi as buildWindow,
5255
+ nr as businessEntitySender,
5256
+ xr as calendarDaysBetween,
5242
5257
  Le as calendarOf,
5243
- Ya as canNestUnder,
5244
- al as canParent,
5245
- Ks as capabilityDefaultFlag,
5246
- pc as capacityTotal,
5247
- Ic as capacityWeights,
5248
- vs as carriesText,
5249
- Qa as categoryLabel,
5250
- ii as categoryOf,
5251
- Lu as channelKindForScheme,
5252
- Ts as channelKindOf,
5253
- yl as checkInOverdueMs,
5254
- Kc as clampStepMaxTokens,
5255
- Pa as classifyMail,
5256
- Kd as cleanMessageMarkdown,
5257
- Pd as cleanMessageText,
5258
- Ea as codeQuery,
5259
- vu as compareAssistRank,
5260
- Lo as compareWorkTypes,
5261
- er as conditionHolds,
5262
- Ho as copyFrom,
5258
+ Za as canNestUnder,
5259
+ ul as canParent,
5260
+ Bs as capabilityDefaultFlag,
5261
+ hc as capacityTotal,
5262
+ vc as capacityWeights,
5263
+ Os as carriesText,
5264
+ ec as categoryLabel,
5265
+ si as categoryOf,
5266
+ Ku as channelKindForScheme,
5267
+ ws as channelKindOf,
5268
+ _l as checkInOverdueMs,
5269
+ Bc as clampStepMaxTokens,
5270
+ Fa as classifyMail,
5271
+ Bd as cleanMessageMarkdown,
5272
+ Fd as cleanMessageText,
5273
+ Ia as codeQuery,
5274
+ Cu as compareAssistRank,
5275
+ Po as compareWorkTypes,
5276
+ tr as conditionHolds,
5277
+ Go as copyFrom,
5263
5278
  V as countsAsPlanned,
5264
- mc as coverageByPerson,
5265
- bc as coverageFor,
5266
- jt as coversWorkstream,
5267
- jl as currentPeriod,
5268
- Ht as cycleDayIndex,
5269
- yu as cycleOrder,
5270
- bu as cycleState,
5271
- ya as decideAssignmentState,
5272
- vd as decideCadence,
5273
- Nu as decideIncomingCall,
5274
- Ir as defaultLocaleOf,
5275
- fu as defaultStatusKey,
5276
- Xo as defaultTemplateBlocks,
5277
- Fu as defineIntent,
5278
- ba as delegationRefusal,
5279
- Er as depthOf,
5280
- sd as derivePresence,
5281
- Zs as describeClause,
5282
- Ou as disabledIntentsFromCapabilities,
5283
- sa as documentBodyBytes,
5284
- ed as documentKindOf,
5285
- aa as documentOutline,
5286
- Un as documentToMarkdown,
5287
- qu as documentToText,
5288
- tl as dueAtOf,
5289
- Gl as dueDateFrom,
5290
- Al as elapsedSeconds,
5291
- xd as emailDomain,
5292
- $d as endpointKey,
5293
- $r as erlangC,
5294
- vi as extractParams,
5295
- Ui as extractTerms,
5296
- Oa as fillDocument,
5297
- Jn as fillText,
5298
- Du as filterByEndpoint,
5299
- Ru as filterByIntent,
5300
- hi as filterByTargetScheme,
5301
- Qs as filterableDimensions,
5279
+ yc as coverageByPerson,
5280
+ Ec as coverageFor,
5281
+ Ht as coversWorkstream,
5282
+ Wl as currentPeriod,
5283
+ Gt as cycleDayIndex,
5284
+ _u as cycleOrder,
5285
+ Eu as cycleState,
5286
+ _a as decideAssignmentState,
5287
+ Od as decideCadence,
5288
+ xu as decideIncomingCall,
5289
+ kr as defaultLocaleOf,
5290
+ gu as defaultStatusKey,
5291
+ Yo as defaultTemplateBlocks,
5292
+ ju as defineIntent,
5293
+ Ea as delegationRefusal,
5294
+ Sr as depthOf,
5295
+ cd as derivePresence,
5296
+ ta as describeClause,
5297
+ Ru as disabledIntentsFromCapabilities,
5298
+ la as documentBodyBytes,
5299
+ nd as documentKindOf,
5300
+ ua as documentOutline,
5301
+ Fn as documentToMarkdown,
5302
+ Zu as documentToText,
5303
+ ol as dueAtOf,
5304
+ Vl as dueDateFrom,
5305
+ Sl as elapsedSeconds,
5306
+ $d as emailDomain,
5307
+ Kd as endpointKey,
5308
+ Lr as erlangC,
5309
+ Ci as extractParams,
5310
+ ji as extractTerms,
5311
+ Da as fillDocument,
5312
+ er as fillText,
5313
+ Lu as filterByEndpoint,
5314
+ $u as filterByIntent,
5315
+ bi as filterByTargetScheme,
5316
+ ea as filterableDimensions,
5302
5317
  oe as findAiVendor,
5303
- ll as fixedLevelForName,
5304
- nu as fixedTypeForName,
5305
- ru as fixedTypes,
5306
- nd as flattenLocales,
5318
+ fl as fixedLevelForName,
5319
+ iu as fixedTypeForName,
5320
+ su as fixedTypes,
5321
+ od as flattenLocales,
5307
5322
  W as floorToPeriod,
5308
- Ec as forecastIntervals,
5309
- to as formatActingIdentity,
5323
+ Ic as forecastIntervals,
5324
+ no as formatActingIdentity,
5310
5325
  D as formatCents,
5311
- Sl as formatClock,
5312
- El as formatHm,
5313
- su as formatItemKey,
5326
+ kl as formatClock,
5327
+ Il as formatHm,
5328
+ lu as formatItemKey,
5314
5329
  G as formatPeriod,
5315
- Bl as formatSeriesNumber,
5316
- ol as formatSlaDuration,
5317
- Tu as freshSources,
5318
- $s as getActivitySeenUserIds,
5319
- Ma as getContactEndpoints,
5320
- Ga as getShortTitle,
5321
- Ha as getUrgencyScore,
5322
- Xc as hasReacted,
5323
- ul as healthCategory,
5324
- dl as healthsInCategory,
5325
- Bt as heightOf,
5326
- za as helpCenterText,
5327
- Rc as humanizeAction,
5328
- lo as interactionIdOf,
5329
- Xl as isAgentUser,
5330
- Ba as isAssigned,
5331
- fa as isAssignmentTerminal,
5332
- io as isAssignmentTrigger,
5333
- jc as isAutoReady,
5334
- _r as isAwaitingThem,
5335
- Ps as isChatMessageActivity,
5336
- ja as isClosed,
5337
- Cs as isConnectedType,
5338
- bd as isDeepLink,
5339
- Sr as isDescendant,
5340
- Ra as isEligible,
5341
- Ls as isEmailActivity,
5342
- Nl as isFrozen,
5343
- el as isHeldClock,
5344
- Ld as isHtmlBody,
5345
- Gc as isInFlight,
5346
- dr as isInteractionUnseen,
5347
- Ad as isLandingPath,
5348
- ir as isLikelyBulk,
5349
- Mt as isMessageShape,
5350
- Is as isMessageType,
5351
- Ci as isMoreSpecificPattern,
5352
- Ct as isNoteShape,
5353
- vo as isOpenClock,
5354
- Su as isOutwardTool,
5355
- yr as isParked,
5356
- yo as isPaused,
5357
- Ms as isPlaybookAuthoredType,
5358
- Rd as isPublicEmailDomain,
5359
- Ed as isPublicPath,
5360
- br as isReminderActive,
5361
- ws as isReplyableType,
5362
- Ua as isSlaAtRisk,
5363
- Hc as isTerminal,
5364
- $a as isThreadLongEnough,
5365
- Ns as isTranscriptType,
5366
- pu as isWorkClosed,
5367
- Il as isWorkTypeVisible,
5368
- lu as itemDossierKeys,
5330
+ Gl as formatSeriesNumber,
5331
+ al as formatSlaDuration,
5332
+ ku as freshSources,
5333
+ Ks as getActivitySeenUserIds,
5334
+ Na as getContactEndpoints,
5335
+ Va as getShortTitle,
5336
+ za as getUrgencyScore,
5337
+ Qc as hasReacted,
5338
+ pl as healthCategory,
5339
+ ml as healthsInCategory,
5340
+ jt as heightOf,
5341
+ Ya as helpCenterText,
5342
+ Lc as humanizeAction,
5343
+ uo as interactionIdOf,
5344
+ Ql as isAgentUser,
5345
+ Ga as isAssigned,
5346
+ ga as isAssignmentTerminal,
5347
+ so as isAssignmentTrigger,
5348
+ Wc as isAutoReady,
5349
+ Er as isAwaitingThem,
5350
+ Fs as isChatMessageActivity,
5351
+ Wa as isClosed,
5352
+ xs as isConnectedType,
5353
+ _d as isDeepLink,
5354
+ Tr as isDescendant,
5355
+ La as isEligible,
5356
+ Us as isEmailActivity,
5357
+ Rl as isFrozen,
5358
+ rl as isHeldClock,
5359
+ Ud as isHtmlBody,
5360
+ Vc as isInFlight,
5361
+ fr as isInteractionUnseen,
5362
+ Ed as isLandingPath,
5363
+ sr as isLikelyBulk,
5364
+ Ct as isMessageShape,
5365
+ vs as isMessageType,
5366
+ Ni as isMoreSpecificPattern,
5367
+ Ot as isNoteShape,
5368
+ Mo as isOpenClock,
5369
+ pi as isOutwardTool,
5370
+ br as isParked,
5371
+ bo as isPaused,
5372
+ Ns as isPlaybookAuthoredType,
5373
+ Ld as isPublicEmailDomain,
5374
+ Td as isPublicPath,
5375
+ Ar as isReminderActive,
5376
+ Cs as isReplyableType,
5377
+ ja as isSlaAtRisk,
5378
+ zc as isTerminal,
5379
+ Ka as isThreadLongEnough,
5380
+ Rs as isTranscriptType,
5381
+ hu as isWorkClosed,
5382
+ vl as isWorkTypeVisible,
5383
+ At as isWriteTool,
5384
+ fu as itemDossierKeys,
5369
5385
  x as kindFor,
5370
- oi as ladderFor,
5371
- Oo as levelIn,
5386
+ ii as ladderFor,
5387
+ xo as levelIn,
5372
5388
  Ce as levelOrder,
5373
- Mr as lineNet,
5374
- Wa as linkLabel,
5375
- Cl as listedTransactionKinds,
5376
- Xs as listeningAllowed,
5377
- Xa as localeInstruction,
5378
- Va as localeName,
5379
- qa as localesOf,
5380
- Nd as looksLikeEmail,
5381
- $t as lookup,
5382
- Ta as marginCents,
5383
- Yu as markdownToDocument,
5384
- ta as matchApprovalPolicy,
5385
- $u as matchContactToIntents,
5386
- Ni as matchPublicRoute,
5387
- Ja as mcpCredentialScope,
5388
- ec as mcpToolPrefix,
5389
- fl as measureRatio,
5390
- Fs as mergeDefaultFlags,
5391
- wd as mergeShownKeys,
5392
- gn as messageCountsAs,
5393
- Js as metricOption,
5394
- Gt as minutesOn,
5395
- Dd as needsPhoneRegion,
5396
- ks as nestsUnderParent,
5397
- cl as nextLevelBelow,
5398
- nl as nextSlaClock,
5399
- xl as nextVersion,
5400
- ia as normalizeArtifactBlocks,
5401
- Es as normalizeBlocks,
5402
- ia as normalizeDocumentBlocks,
5403
- cn as normalizeEmail,
5389
+ Cr as lineNet,
5390
+ Xa as linkLabel,
5391
+ xl as listedTransactionKinds,
5392
+ Qs as listeningAllowed,
5393
+ Qa as localeInstruction,
5394
+ qa as localeName,
5395
+ Ja as localesOf,
5396
+ Rd as looksLikeEmail,
5397
+ Lt as lookup,
5398
+ wa as marginCents,
5399
+ Qu as markdownToDocument,
5400
+ oa as matchApprovalPolicy,
5401
+ Pu as matchContactToIntents,
5402
+ xi as matchPublicRoute,
5403
+ nc as mcpCredentialScope,
5404
+ rc as mcpToolPrefix,
5405
+ gl as measureRatio,
5406
+ Hs as mergeDefaultFlags,
5407
+ Cd as mergeShownKeys,
5408
+ hn as messageCountsAs,
5409
+ na as metricOption,
5410
+ Wt as minutesOn,
5411
+ Pd as needsPhoneRegion,
5412
+ Ms as nestsUnderParent,
5413
+ dl as nextLevelBelow,
5414
+ il as nextSlaClock,
5415
+ $l as nextVersion,
5416
+ ca as normalizeArtifactBlocks,
5417
+ Is as normalizeBlocks,
5418
+ ca as normalizeDocumentBlocks,
5419
+ ln as normalizeEmail,
5404
5420
  P as normalizeExample,
5405
- Gn as normalizeGtin,
5406
- od as notificationPrefKey,
5407
- Fi as novelty,
5408
- Xu as operationDescriptor,
5409
- Vu as operationsForKind,
5410
- xa as organizationSender,
5421
+ Wn as normalizeGtin,
5422
+ sd as notificationPrefKey,
5423
+ Hi as novelty,
5424
+ qu as operationDescriptor,
5425
+ Yu as operationsForKind,
5426
+ $a as organizationSender,
5411
5427
  fe as overlapSeconds,
5412
- yc as overlaps,
5413
- pl as paceRatio,
5414
- Da as parkMarksById,
5415
- wc as parseActingIdentity,
5416
- Sa as parseAmount,
5417
- Yc as parseClockMinutes,
5418
- au as parseItemKey,
5419
- wi as pathToRegex,
5420
- zt as patternFor,
5421
- Wt as patternStartTime,
5422
- qc as pauseBitFor,
5423
- na as pendingApprovers,
5424
- qs as periodsInRange,
5425
- Od as phoneSuffix,
5426
- La as pickMailHeaders,
5427
- Na as pickTemplate,
5428
- kc as placeLumps,
5429
- pn as plainTextFromMarkdown,
5430
- Jc as planSlaEvent,
5431
- Ac as plannedBillable,
5432
- Hr as plannedWorkTypeKey,
5433
- oo as playbookActor,
5434
- Bc as procedureOf,
5435
- Pl as productScopeKey,
5436
- uu as projectDossierKeys,
5437
- Mi as publicBasePathFor,
5438
- _d as publicRoutePatterns,
5439
- ga as reactionWakesAssignment,
5440
- Us as readDefaultFlags,
5428
+ _c as overlaps,
5429
+ hl as paceRatio,
5430
+ Pa as parkMarksById,
5431
+ Cc as parseActingIdentity,
5432
+ ka as parseAmount,
5433
+ Zc as parseClockMinutes,
5434
+ uu as parseItemKey,
5435
+ Mi as pathToRegex,
5436
+ Vt as patternFor,
5437
+ zt as patternStartTime,
5438
+ Jc as pauseBitFor,
5439
+ ia as pendingApprovers,
5440
+ Js as periodsInRange,
5441
+ Dd as phoneSuffix,
5442
+ Ua as pickMailHeaders,
5443
+ Ra as pickTemplate,
5444
+ Mc as placeLumps,
5445
+ mn as plainTextFromMarkdown,
5446
+ nl as planSlaEvent,
5447
+ Sc as plannedBillable,
5448
+ Gr as plannedWorkTypeKey,
5449
+ io as playbookActor,
5450
+ Gc as procedureOf,
5451
+ Fl as productScopeKey,
5452
+ pu as projectDossierKeys,
5453
+ Oi as publicBasePathFor,
5454
+ Sd as publicRoutePatterns,
5455
+ ba as reactionWakesAssignment,
5456
+ js as readDefaultFlags,
5441
5457
  ye as readPath,
5442
5458
  de as readStepError,
5443
- hr as recencyOf,
5444
- Ca as recipientLocale,
5445
- ao as refKey,
5446
- Yi as registrableDomain,
5447
- Fo as rejectExampleCandidate,
5448
- sc as relatedByDefault,
5459
+ yr as recencyOf,
5460
+ xa as recipientLocale,
5461
+ co as refKey,
5462
+ Zi as registrableDomain,
5463
+ Bo as rejectExampleCandidate,
5464
+ lc as relatedByDefault,
5449
5465
  Me as remainingMsOf,
5450
- Kr as requiredAgents,
5451
- jr as requirementFor,
5452
- mi as resolveAccountCapabilities,
5466
+ Ur as requiredAgents,
5467
+ Hr as requirementFor,
5468
+ hi as resolveAccountCapabilities,
5453
5469
  be as resolveActivityText,
5454
- pi as resolveChannelIntents,
5455
- Ia as resolvePrice,
5456
- qn as resolveSignature,
5457
- cd as resolveWorkMode,
5458
- md as resourceKindOf,
5459
- hl as rollupChildren,
5470
+ gi as resolveChannelIntents,
5471
+ va as resolvePrice,
5472
+ Qn as resolveSignature,
5473
+ ud as resolveWorkMode,
5474
+ hd as resourceKindOf,
5475
+ Al as rollupChildren,
5460
5476
  z as roundHalfUp,
5461
- vc as runActor,
5462
- zc as runInteractionId,
5463
- $n as sanitizeInline,
5464
- xi as sanitizeTranscript,
5465
- Sc as scheduleEntryScopeKey,
5466
- Fa as scoreInteraction,
5467
- Zl as scoreWorkItem,
5468
- Za as selectLenses,
5469
- Lr as serviceLevel,
5470
- Cu as sessionsHoldCannotReach,
5471
- Mu as sessionsToHold,
5472
- Wl as shadowTermsByCode,
5473
- Dt as shareKeyForTeam,
5474
- Rt as shareKeyForUser,
5475
- la as shareKeysForViewer,
5476
- _c as shortfalls,
5477
- ld as shouldRunAudioPipeline,
5478
- rl as slaBadgeTone,
5479
- Ka as slaHoursByInbox,
5480
- Ar as slaHoursFor,
5481
- si as sortStatuses,
5482
- fi as sourceKey,
5483
- eo as spreadOverWeights,
5484
- du as statusIn,
5485
- hu as statusRequiresApproval,
5486
- Fc as stepsOf,
5487
- sl as strategyAncestorKeysFor,
5488
- il as strategyDossierKeys,
5489
- Jt as strategyItemScopeKey,
5490
- mn as stripHtml,
5491
- Wc as subjectKeyOf,
5492
- Vt as subjectOf,
5493
- wu as subjectRef,
5494
- cu as suggestProjectKey,
5495
- ml as suggestedHealth,
5496
- Vc as summarizeReactions,
5497
- Oc as targetById,
5498
- Nc as targetForActivityType,
5499
- bl as targetOrder,
5500
- vr as taxRateFor,
5501
- xr as termsFor,
5502
- ro as toActingIdentity,
5503
- Et as toE164,
5504
- zl as toTransactionTerm,
5505
- so as toolBareName,
5506
- Dc as toolDisplayName,
5477
+ Oc as runActor,
5478
+ Yc as runInteractionId,
5479
+ Ln as sanitizeInline,
5480
+ $i as sanitizeTranscript,
5481
+ kc as scheduleEntryScopeKey,
5482
+ Ha as scoreInteraction,
5483
+ tu as scoreWorkItem,
5484
+ tc as selectLenses,
5485
+ Pr as serviceLevel,
5486
+ Nu as sessionsHoldCannotReach,
5487
+ Ou as sessionsToHold,
5488
+ Xl as shadowTermsByCode,
5489
+ $t as shareKeyForTeam,
5490
+ Dt as shareKeyForUser,
5491
+ fa as shareKeysForViewer,
5492
+ Tc as shortfalls,
5493
+ dd as shouldRunAudioPipeline,
5494
+ sl as slaBadgeTone,
5495
+ Ba as slaHoursByInbox,
5496
+ _r as slaHoursFor,
5497
+ ai as sortStatuses,
5498
+ mi as sourceKey,
5499
+ to as spreadOverWeights,
5500
+ mu as statusIn,
5501
+ Au as statusRequiresApproval,
5502
+ Hc as stepsOf,
5503
+ ll as strategyAncestorKeysFor,
5504
+ cl as strategyDossierKeys,
5505
+ en as strategyItemScopeKey,
5506
+ gn as stripHtml,
5507
+ Xc as subjectKeyOf,
5508
+ Xt as subjectOf,
5509
+ Mu as subjectRef,
5510
+ du as suggestProjectKey,
5511
+ yl as suggestedHealth,
5512
+ qc as summarizeReactions,
5513
+ Dc as targetById,
5514
+ Rc as targetForActivityType,
5515
+ El as targetOrder,
5516
+ Mr as taxRateFor,
5517
+ Rr as termsFor,
5518
+ oo as toActingIdentity,
5519
+ St as toE164,
5520
+ Yl as toTransactionTerm,
5521
+ ao as toolBareName,
5522
+ Pc as toolDisplayName,
5507
5523
  ne as toolName,
5508
- ua as toolSourceKinds,
5509
- Bo as topicOfferedForTeam,
5510
- Ml as topicsForTeam,
5511
- Pr as trafficIntensity,
5512
- Rl as transactionContext,
5513
- Ul as transactionDossierKeys,
5514
- Kl as transactionIdFromScope,
5524
+ pa as toolSourceKinds,
5525
+ Md as toolVerdict,
5526
+ jo as topicOfferedForTeam,
5527
+ Nl as topicsForTeam,
5528
+ Kr as trafficIntensity,
5529
+ Ll as transactionContext,
5530
+ jl as transactionDossierKeys,
5531
+ Bl as transactionIdFromScope,
5515
5532
  F as transactionKind,
5516
- Zo as transactionScopeKey,
5517
- Dl as transactionSlots,
5518
- cc as transactionTotals,
5519
- Lc as triggerFillsVar,
5520
- Uo as truncateExample,
5521
- tu as typeIn,
5522
- eu as typesFor,
5523
- mu as uniqueWorkStatusKey,
5524
- Tl as uniqueWorkTypeKey,
5525
- Mn as usageMetricId,
5526
- ea as usageMetrics,
5527
- gu as validateStatuses,
5528
- Cc as valueAtPath,
5533
+ Jo as transactionScopeKey,
5534
+ Pl as transactionSlots,
5535
+ dc as transactionTotals,
5536
+ Uc as triggerFillsVar,
5537
+ Fo as truncateExample,
5538
+ ou as typeIn,
5539
+ ru as typesFor,
5540
+ yu as uniqueWorkStatusKey,
5541
+ wl as uniqueWorkTypeKey,
5542
+ Cn as usageMetricId,
5543
+ ra as usageMetrics,
5544
+ bu as validateStatuses,
5545
+ xc as valueAtPath,
5529
5546
  Re as waitHoursOf,
5530
- ma as wakesAssignment,
5531
- iu as workActivityScopeKey,
5532
- ri as workItemScopeKey,
5533
- en as workProjectScopeKey,
5534
- gl as workRatio,
5535
- ai as workStatusKey,
5536
- $o as workTypeKey,
5547
+ ya as wakesAssignment,
5548
+ cu as workActivityScopeKey,
5549
+ oi as workItemScopeKey,
5550
+ tn as workProjectScopeKey,
5551
+ bl as workRatio,
5552
+ ci as workStatusKey,
5553
+ Lo as workTypeKey,
5537
5554
  Ie as workingMsBetween,
5538
- Tc as workstreamScopeKey
5555
+ wc as workstreamScopeKey
5539
5556
  };