@opencxh/domain 1.264.4 → 1.265.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- const 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,70 @@ 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
+ }
3532
+ function ku(e) {
3533
+ return e.access === "read" ? "idempotent" : e.reversible ?? "none";
3531
3534
  }
3532
- function Su(e) {
3535
+ function pi(e) {
3533
3536
  return e.access !== "read" && e.effect !== "internal";
3534
3537
  }
3535
- function fi(e) {
3538
+ function mi(e) {
3536
3539
  return `${e.kind}:${e.id || e.url || e.title}`;
3537
3540
  }
3538
- function Tu(e, t = []) {
3541
+ function wu(e, t = []) {
3539
3542
  const n = new Set(t), r = [], o = [];
3540
3543
  for (const i of e) {
3541
- const s = fi(i);
3544
+ const s = mi(i);
3542
3545
  n.has(s) || (n.add(s), r.push(i), o.push(s));
3543
3546
  }
3544
3547
  return { sources: r, keys: o };
3545
3548
  }
3546
- const Iu = "assist-source", ku = ["blocking", "due", "open"];
3547
- function wu(e, t) {
3549
+ const vu = "assist-source", Mu = ["blocking", "due", "open"];
3550
+ function Cu(e, t) {
3548
3551
  const [n, r] = (e.subjectKey ?? "").split(":");
3549
3552
  return n === t && r ? r : void 0;
3550
3553
  }
3551
3554
  const mt = { blocking: 0, due: 1, open: 2 };
3552
- function vu(e, t) {
3555
+ function Ou(e, t) {
3553
3556
  return mt[e.band ?? "open"] - mt[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
3554
3557
  }
3555
- function Mu(e) {
3558
+ function Nu(e) {
3556
3559
  return e.sessions.filter(
3557
3560
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
3558
3561
  );
3559
3562
  }
3560
- function Cu(e) {
3563
+ function xu(e) {
3561
3564
  return e.sessions.filter(
3562
3565
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
3563
3566
  );
3564
3567
  }
3565
- function Nu(e) {
3568
+ function Ru(e) {
3566
3569
  return e.sessions.some(
3567
3570
  (n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
3568
3571
  ) ? { admit: !1, reason: "busy" } : { admit: !0 };
3569
3572
  }
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]));
3573
+ function gi(e, t) {
3574
+ const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((s) => !n.has(s.intent)).map((s) => yi(s, r[s.intent]));
3572
3575
  if (!e.extraIntents || e.extraIntents.length === 0) return o;
3573
3576
  const i = new Set(o.map((s) => s.intent));
3574
3577
  for (const s of e.extraIntents)
3575
3578
  i.has(s.intent) || (o.push(s), i.add(s.intent));
3576
3579
  return o;
3577
3580
  }
3578
- function mi(e, t) {
3581
+ function hi(e, t) {
3579
3582
  const n = {};
3580
3583
  for (const r of e.intents) {
3581
3584
  if (!r.togglable) continue;
@@ -3584,46 +3587,46 @@ function mi(e, t) {
3584
3587
  }
3585
3588
  return n;
3586
3589
  }
3587
- function Ou(e, t) {
3588
- const n = mi(e, t);
3590
+ function Du(e, t) {
3591
+ const n = hi(e, t);
3589
3592
  return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
3590
3593
  }
3591
- function gi(e, t) {
3594
+ function yi(e, t) {
3592
3595
  return t ? {
3593
3596
  intent: t.intent ?? e.intent,
3594
3597
  targetSchemes: t.targetSchemes ?? e.targetSchemes,
3595
3598
  transport: t.transport ?? e.transport
3596
3599
  } : e;
3597
3600
  }
3598
- function xu(e, t) {
3601
+ function $u(e, t) {
3599
3602
  const n = [];
3600
3603
  for (const r of e) {
3601
3604
  if (!r.enabled) continue;
3602
3605
  const o = t[r.providerId];
3603
3606
  if (o)
3604
- for (const i of pi(r, o))
3607
+ for (const i of gi(r, o))
3605
3608
  n.push({ channel: r, description: o, capability: i });
3606
3609
  }
3607
3610
  return n;
3608
3611
  }
3609
- function Ru(e, t) {
3612
+ function Lu(e, t) {
3610
3613
  return t.filter((n) => n.capability.intent === e);
3611
3614
  }
3612
- function hi(e, t) {
3615
+ function bi(e, t) {
3613
3616
  return t.filter((n) => n.capability.targetSchemes.includes(e));
3614
3617
  }
3615
- function Du(e, t) {
3616
- return hi(e.scheme, t);
3618
+ function Pu(e, t) {
3619
+ return bi(e.scheme, t);
3617
3620
  }
3618
- function $u(e, t, n) {
3621
+ function Ku(e, t, n) {
3619
3622
  const r = [];
3620
3623
  for (const o of e)
3621
3624
  for (const i of n)
3622
3625
  i.capability.intent === t && i.capability.targetSchemes.includes(o.scheme) && r.push({ channelIntent: i, endpoint: o });
3623
3626
  return r;
3624
3627
  }
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 = {
3628
+ var Ai = /* @__PURE__ */ ((e) => (e.MAILTO = "mailto", e.SIP = "sip", e.TEL = "tel", e.WEBHOOK = "webhook", e.USERNAME = "username", e.ID = "id", e.CUSTOM = "custom", e.URL = "url", e.TELEGRAM = "telegram", e.WHATSAPP = "whatsapp", e.MESSENGER = "messenger", e.INSTAGRAM = "instagram", e.VIBER = "viber", e.SMS = "sms", e.FAX = "fax", e.TEAMS = "teams", e.CALENDAR = "calendar", e))(Ai || {});
3629
+ const _i = {
3627
3630
  mailto: "mail",
3628
3631
  sip: "tel",
3629
3632
  tel: "tel",
@@ -3644,10 +3647,10 @@ const bi = {
3644
3647
  id: "note",
3645
3648
  custom: "note"
3646
3649
  };
3647
- function Lu(e) {
3648
- return e ? bi[e] ?? "note" : "note";
3650
+ function Uu(e) {
3651
+ return e ? _i[e] ?? "note" : "note";
3649
3652
  }
3650
- const Pu = "message_window", Ku = "message_templates", Uu = {
3653
+ const Fu = "message_window", Bu = "message_templates", ju = {
3651
3654
  // E-mail
3652
3655
  FROM: "from",
3653
3656
  TO: "to",
@@ -3664,11 +3667,11 @@ const Pu = "message_window", Ku = "message_templates", Uu = {
3664
3667
  // Voice/conference
3665
3668
  HOST: "host",
3666
3669
  PARTICIPANT: "participant"
3667
- }, Fu = (e, t) => ({ intent: e, ...t }), Bu = "folder_management", ju = "remote_search", Hu = "message_reactions", Gu = {
3670
+ }, Hu = (e, t) => ({ intent: e, ...t }), Gu = "folder_management", Wu = "remote_search", zu = "message_reactions", Vu = {
3668
3671
  ok: !1,
3669
3672
  code: "UNSUPPORTED",
3670
3673
  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.");
3674
+ }, Xu = "connector", Yu = "context.collect", _ = (e) => ({ type: "string", description: e }), A = (e) => ({ type: "number", description: e }), J = (e) => ({ type: "boolean", description: e }), M = _("Sheet name. Omit for the sheet the user is looking at."), gt = _("Slide id, as `inspect` reports it.");
3672
3675
  function b(e, t, n, r, o, i) {
3673
3676
  return {
3674
3677
  op: e,
@@ -3679,7 +3682,7 @@ function b(e, t, n, r, o, i) {
3679
3682
  visible: i.visible
3680
3683
  };
3681
3684
  }
3682
- const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht = { undoable: !1, visible: !0 }, re = { undoable: !1, visible: !1 }, Ai = [
3685
+ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht = { undoable: !1, visible: !0 }, re = { undoable: !1, visible: !1 }, Ei = [
3683
3686
  b(
3684
3687
  "pdf.goToPage",
3685
3688
  ["pdf"],
@@ -3774,7 +3777,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3774
3777
  ["page", "text"],
3775
3778
  re
3776
3779
  )
3777
- ], _i = [
3780
+ ], Si = [
3778
3781
  b(
3779
3782
  "sheet.setValues",
3780
3783
  ["sheet"],
@@ -3926,7 +3929,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3926
3929
  [],
3927
3930
  H
3928
3931
  )
3929
- ], Ei = [
3932
+ ], Ti = [
3930
3933
  b(
3931
3934
  "word.replaceParagraph",
3932
3935
  ["word"],
@@ -3988,7 +3991,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3988
3991
  ["start"],
3989
3992
  H
3990
3993
  )
3991
- ], Si = [
3994
+ ], Ii = [
3992
3995
  b(
3993
3996
  "slides.setText",
3994
3997
  ["slides"],
@@ -4016,24 +4019,24 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
4016
4019
  ["slide", "element"],
4017
4020
  re
4018
4021
  )
4019
- ], nn = [
4020
- ...Ai,
4021
- ..._i,
4022
+ ], rn = [
4022
4023
  ...Ei,
4023
- ...Si
4024
+ ...Si,
4025
+ ...Ti,
4026
+ ...Ii
4024
4027
  ];
4025
- function Vu(e) {
4026
- return nn.filter((t) => t.kinds.includes(e));
4028
+ function qu(e) {
4029
+ return rn.filter((t) => t.kinds.includes(e));
4027
4030
  }
4028
- function Xu(e) {
4029
- return nn.find((t) => t.op === e);
4031
+ function Qu(e) {
4032
+ return rn.find((t) => t.op === e);
4030
4033
  }
4031
- const yt = /(?: {2,}|\\)$/, Ti = /^\*\*([^*]+)\*\*\s+(.*)$/;
4034
+ const yt = /(?: {2,}|\\)$/, ki = /^\*\*([^*]+)\*\*\s+(.*)$/;
4032
4035
  function bt(e) {
4033
- const t = Ti.exec(e);
4036
+ const t = ki.exec(e);
4034
4037
  return t ? { lead: t[1], text: t[2] } : { text: e };
4035
4038
  }
4036
- function Yu(e) {
4039
+ function Zu(e) {
4037
4040
  const t = (e ?? "").replace(/\r\n/g, `
4038
4041
  `).split(`
4039
4042
  `), n = [];
@@ -4112,27 +4115,27 @@ function Yu(e) {
4112
4115
  }
4113
4116
  return d(), n;
4114
4117
  }
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, `
4118
+ function Ju(e, t) {
4119
+ return Fn(e, t).replace(/^```.*$/gm, "").replace(/^\|[\s:|-]*\|$/gm, "").replace(/[ \t]*\|[ \t]*/g, " ").replace(/^[ \t]*(#{1,6}|>|[-*+]|\d+\.)[ \t]+/gm, "").replace(/!\[([^\]]*)\]\([^)]*\)/g, "$1").replace(/\[([^\]]+)\]\([^)]*\)/g, "$1").replace(/(\*\*|__|\*|_|`|~~)/g, "").replace(/[ \t]+$/gm, "").replace(/\n{3,}/g, `
4117
4120
 
4118
4121
  `).trim();
4119
4122
  }
4120
- const Qu = "documents.describe", Zu = "documents.inspect", Ju = "documents.apply";
4121
- function ed(e) {
4123
+ const ed = "documents.describe", td = "documents.inspect", nd = "documents.apply";
4124
+ function rd(e) {
4122
4125
  const t = e.indexOf(":");
4123
4126
  if (t !== -1) return e.slice(0, t);
4124
4127
  const n = e.indexOf(".");
4125
4128
  return n === -1 ? e : e.slice(0, n);
4126
4129
  }
4127
- const td = "installation-id";
4128
- function nd(e) {
4130
+ const od = "installation-id";
4131
+ function id(e) {
4129
4132
  const t = [];
4130
4133
  for (const n of Object.keys(e))
4131
4134
  for (const r of Object.keys(e[n]))
4132
4135
  t.push({ lang: n, key: r, value: e[n][r] });
4133
4136
  return t;
4134
4137
  }
4135
- const rd = "notification-source", od = (e, t) => `${e}.pref.${t}`, id = {
4138
+ const sd = "notification-source", ad = (e, t) => `${e}.pref.${t}`, cd = {
4136
4139
  ai: [
4137
4140
  "account.read",
4138
4141
  "account.write",
@@ -4267,48 +4270,48 @@ const rd = "notification-source", od = (e, t) => `${e}.pref.${t}`, id = {
4267
4270
  time: ["entry.read", "entry.write", "work-type.read", "work-type.write"],
4268
4271
  user: ["user.read", "user.write"],
4269
4272
  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;
4273
+ }, on = 9e4, wi = ["out_of_office"], sn = (e) => wi.includes(e);
4274
+ function ld(e, t, n) {
4275
+ const r = n - e < on, o = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
4273
4276
  if (!o?.status) return { online: r, status: r ? "available" : "offline" };
4274
4277
  const i = o.status;
4275
- return !r && !on(i) ? { online: !1, status: "offline" } : { online: r, status: i, message: o.message };
4278
+ return !r && !sn(i) ? { online: !1, status: "offline" } : { online: r, status: i, message: o.message };
4276
4279
  }
4277
- function ad(e, t) {
4278
- const n = t - e.lastSeenAt < rn, r = n || on(e.status) ? e.status : "offline";
4280
+ function ud(e, t) {
4281
+ const n = t - e.lastSeenAt < on, r = n || sn(e.status) ? e.status : "offline";
4279
4282
  return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
4280
4283
  }
4281
- function cd(e, t) {
4284
+ function dd(e, t) {
4282
4285
  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
4286
  }
4284
- function ld(e) {
4287
+ function fd(e) {
4285
4288
  return e.providerAvailable && e.allowed;
4286
4289
  }
4287
- const ud = "resources.describe", dd = "resources.search", fd = "resources.resolve", pd = "resources.attached";
4288
- function md(e) {
4290
+ const pd = "resources.describe", md = "resources.search", gd = "resources.resolve", hd = "resources.attached";
4291
+ function yd(e) {
4289
4292
  const t = e.indexOf(":");
4290
4293
  return t === -1 ? e : e.slice(0, t);
4291
4294
  }
4292
- const gd = "/provider/scope/related", hd = "/provider/scope/read", yd = "/provider/scope/acts", sn = "auth";
4293
- function an(e) {
4295
+ const bd = "/provider/scope/related", Ad = "/provider/scope/read", _d = "/provider/scope/acts", an = "auth";
4296
+ function cn(e) {
4294
4297
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
4295
4298
  return t ? t[1] : null;
4296
4299
  }
4297
- function bd(e) {
4298
- const t = an(e);
4299
- return t ? t !== sn : typeof e == "string" && e.startsWith("/wake");
4300
+ function Ed(e) {
4301
+ const t = cn(e);
4302
+ return t ? t !== an : typeof e == "string" && e.startsWith("/wake");
4300
4303
  }
4301
- function Ad(e) {
4302
- return typeof e != "string" || e === "" || e === "/" ? !0 : an(e) === sn;
4304
+ function Sd(e) {
4305
+ return typeof e != "string" || e === "" || e === "/" ? !0 : cn(e) === an;
4303
4306
  }
4304
- function ki(e) {
4307
+ function vi(e) {
4305
4308
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
4306
4309
  }
4307
- function wi(e) {
4308
- const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${ki(r)}`).join("");
4310
+ function Mi(e) {
4311
+ const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${vi(r)}`).join("");
4309
4312
  return new RegExp(`^${n}\\/?$`);
4310
4313
  }
4311
- function vi(e, t) {
4314
+ function Ci(e, t) {
4312
4315
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean), o = {};
4313
4316
  return n.forEach((i, s) => {
4314
4317
  if (i.startsWith(":")) {
@@ -4317,14 +4320,14 @@ function vi(e, t) {
4317
4320
  }
4318
4321
  }), o;
4319
4322
  }
4320
- function Mi(e) {
4323
+ function Oi(e) {
4321
4324
  return e.publicBasePath ?? `/apps/${e.name}`;
4322
4325
  }
4323
- function _d(e) {
4326
+ function Td(e) {
4324
4327
  const t = [];
4325
4328
  for (const n of e) {
4326
4329
  if (!n?.name) continue;
4327
- const r = Mi(n);
4330
+ const r = Oi(n);
4328
4331
  for (const o of n.routes ?? []) {
4329
4332
  if (!o.public) continue;
4330
4333
  const i = o.path === "/" ? "" : o.path;
@@ -4338,7 +4341,7 @@ function _d(e) {
4338
4341
  }
4339
4342
  return t;
4340
4343
  }
4341
- function Ci(e, t) {
4344
+ function Ni(e, t) {
4342
4345
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean);
4343
4346
  for (let o = 0; o < Math.min(n.length, r.length); o++) {
4344
4347
  const i = n[o].startsWith(":"), s = r[o].startsWith(":");
@@ -4346,17 +4349,32 @@ function Ci(e, t) {
4346
4349
  }
4347
4350
  return n.length > r.length;
4348
4351
  }
4349
- function Ni(e, t) {
4352
+ function xi(e, t) {
4350
4353
  if (typeof e != "string") return null;
4351
4354
  let n = null;
4352
4355
  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;
4356
+ Mi(r.pattern).test(e) && (!n || Ni(r.pattern, n.pattern)) && (n = r);
4357
+ return n ? { ...n, params: { ...n.props, ...Ci(n.pattern, e) } } : null;
4355
4358
  }
4356
- function Ed(e, t) {
4357
- return Ni(e, t) !== null;
4359
+ function Id(e, t) {
4360
+ return xi(e, t) !== null;
4358
4361
  }
4359
- const Sd = 10 * 1024 * 1024, Td = 25 * 1024 * 1024, Id = "sync-target", kd = 20, Oi = {
4362
+ const kd = 10 * 1024 * 1024, wd = 25 * 1024 * 1024, vd = "sync-target", Md = 20;
4363
+ function At(e, t) {
4364
+ const n = Array.isArray(t) ? t.find((r) => r.name === e.name)?.policy : void 0;
4365
+ return n ? n !== "read" : e.access ? e.access !== "read" : !0;
4366
+ }
4367
+ function Ri(e) {
4368
+ return e.produces === "draft";
4369
+ }
4370
+ function Cd(e, t) {
4371
+ if (t.allowed) {
4372
+ const n = t.personalTools === "allow" && e.personal === !0;
4373
+ if (!t.allowed.has(e.name) && !n) return "hidden";
4374
+ }
4375
+ return t.narrow && !t.narrow.has(e.name) || !t.attended && (e.personal === !0 || e.surface === "interactive") || t.readOnly && e.access !== "read" || t.mode === "ask" && At(e) || t.mode === "draft" && (pi(e) || e.access !== "read" && !Ri(e)) ? "hidden" : At(e, t.policy) && t.gate ? "held" : "free";
4376
+ }
4377
+ const Di = {
4360
4378
  afrikaans: [
4361
4379
  "[Muziek]",
4362
4380
  "(C) TV GELDERLAND 2021",
@@ -4506,14 +4524,14 @@ const Sd = 10 * 1024 * 1024, Td = 25 * 1024 * 1024, Id = "sync-target", kd = 20,
4506
4524
  "[MÚSICA]",
4507
4525
  "[Music cuts in British]"
4508
4526
  ]
4509
- }, xi = (e) => {
4527
+ }, $i = (e) => {
4510
4528
  let t = e;
4511
- return Object.values(Oi).forEach((n) => {
4529
+ return Object.values(Di).forEach((n) => {
4512
4530
  n.forEach((r) => {
4513
4531
  t = t.replaceAll(r, "");
4514
4532
  });
4515
4533
  }), 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([
4534
+ }, Li = 6e4, Pi = 8e3, Ki = 2, Ui = 0.4, Fi = 3, Bi = /* @__PURE__ */ new Set([
4517
4535
  "aan",
4518
4536
  "als",
4519
4537
  "ben",
@@ -4626,13 +4644,13 @@ const Sd = 10 * 1024 * 1024, Td = 25 * 1024 * 1024, Id = "sync-target", kd = 20,
4626
4644
  "you",
4627
4645
  "your"
4628
4646
  ]);
4629
- function Ui(e) {
4647
+ function ji(e) {
4630
4648
  const t = /* @__PURE__ */ new Set();
4631
4649
  for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
4632
- n.length < Pi || Ki.has(n) || t.add(n);
4650
+ n.length < Fi || Bi.has(n) || t.add(n);
4633
4651
  return [...t];
4634
4652
  }
4635
- function Fi(e, t) {
4653
+ function Hi(e, t) {
4636
4654
  if (!e.length) return 0;
4637
4655
  if (!t.length) return 1;
4638
4656
  const n = new Set(t), r = new Set(e);
@@ -4640,32 +4658,32 @@ function Fi(e, t) {
4640
4658
  for (const i of r) n.has(i) || (o += 1);
4641
4659
  return o / r.size;
4642
4660
  }
4643
- function Bi(e, t = Ri) {
4661
+ function Gi(e, t = Li) {
4644
4662
  const n = e.filter((s) => !s.partial && typeof s.text == "string");
4645
4663
  if (!n.length) return { text: "", segmentCount: 0 };
4646
4664
  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 };
4665
+ return { text: n.filter((s) => (s.endedAt ?? 0) >= o).map((s) => $i(s.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
4648
4666
  }
4649
- const ji = 60;
4650
- function wd(e, t, n = ji) {
4667
+ const Wi = 60;
4668
+ function Od(e, t, n = Wi) {
4651
4669
  const r = new Set(e), o = [...e];
4652
4670
  for (const i of t)
4653
4671
  !i || r.has(i) || (r.add(i), o.push(i));
4654
4672
  return o.slice(-n);
4655
4673
  }
4656
- function vd(e) {
4674
+ function Nd(e) {
4657
4675
  const { segments: t, now: n, state: r } = e;
4658
- if (r.lastTriggerAt && n - r.lastTriggerAt < Di)
4676
+ if (r.lastTriggerAt && n - r.lastTriggerAt < Pi)
4659
4677
  return { trigger: !1, reason: "too_soon" };
4660
- const o = Bi(t, e.windowMs);
4678
+ const o = Gi(t, e.windowMs);
4661
4679
  if (!o.text) return { trigger: !1, reason: "no_speech" };
4662
4680
  const i = o.segmentCount - (r.lastSegmentCount ?? 0);
4663
- if (r.lastQueryTerms && i < $i)
4681
+ if (r.lastQueryTerms && i < Ki)
4664
4682
  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" };
4683
+ const s = ji(o.text);
4684
+ return s.length ? r.lastQueryTerms?.length && Hi(s, r.lastQueryTerms) < Ui ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: o.text, terms: s, segmentCount: o.segmentCount } : { trigger: !1, reason: "no_speech" };
4667
4685
  }
4668
- const Md = [
4686
+ const xd = [
4669
4687
  "personal",
4670
4688
  "organization",
4671
4689
  "connections",
@@ -4673,7 +4691,7 @@ const Md = [
4673
4691
  "work",
4674
4692
  "administration",
4675
4693
  "ai"
4676
- ], Cd = "navNotice", Fe = {
4694
+ ], Rd = "navNotice", Fe = {
4677
4695
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
4678
4696
  // shorter than geographic numbers, and a too-strict minimum silently drops them.
4679
4697
  // An over-permissive key is harmless — it simply matches nothing.
@@ -4696,19 +4714,19 @@ const Md = [
4696
4714
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
4697
4715
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
4698
4716
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
4699
- }, Hi = "NL", Gi = 15, Wi = 8, zi = Array.from(
4717
+ }, zi = "NL", Vi = 15, Xi = 8, Yi = Array.from(
4700
4718
  new Set(Object.values(Fe).map((e) => e.callingCode))
4701
4719
  ).sort((e, t) => t.length - e.length);
4702
- function At(e) {
4720
+ function _t(e) {
4703
4721
  if (e)
4704
4722
  return Fe[e.trim().toUpperCase()];
4705
4723
  }
4706
4724
  function ee(e, t) {
4707
4725
  return e.length >= t.nsnMin && e.length <= t.nsnMax;
4708
4726
  }
4709
- function _t(e) {
4710
- if (e.length > Gi) return null;
4711
- for (const t of zi) {
4727
+ function Et(e) {
4728
+ if (e.length > Vi) return null;
4729
+ for (const t of Yi) {
4712
4730
  if (!e.startsWith(t)) continue;
4713
4731
  const n = e.slice(t.length);
4714
4732
  for (const r of Object.values(Fe)) {
@@ -4718,31 +4736,31 @@ function _t(e) {
4718
4736
  }
4719
4737
  return null;
4720
4738
  }
4721
- return e.length < Wi ? null : `+${e}`;
4739
+ return e.length < Xi ? null : `+${e}`;
4722
4740
  }
4723
- function Vi(e) {
4741
+ function qi(e) {
4724
4742
  let t = e.trim();
4725
4743
  const n = t.match(/^(sips?|tel|whatsapp):/i);
4726
4744
  n && (t = t.slice(n[0].length));
4727
4745
  const r = t.indexOf("@");
4728
4746
  return r >= 0 && (t = t.slice(0, r)), t.trim();
4729
4747
  }
4730
- function Nd(e) {
4748
+ function Dd(e) {
4731
4749
  if (!e) return !1;
4732
4750
  const t = e.indexOf("@");
4733
4751
  if (t <= 0) return !1;
4734
4752
  const n = e.slice(0, t).trim();
4735
4753
  return !/^[+\d\s().-]+$/.test(n);
4736
4754
  }
4737
- function Et(e, t) {
4755
+ function St(e, t) {
4738
4756
  if (!e) return null;
4739
- const n = Vi(e);
4757
+ const n = qi(e);
4740
4758
  if (!n) return null;
4741
4759
  const r = n.startsWith("+"), o = n.replace(/\D/g, "");
4742
4760
  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);
4761
+ if (r) return Et(o);
4762
+ if (o.startsWith("00")) return Et(o.slice(2));
4763
+ const i = _t(t) ?? _t(zi);
4746
4764
  if (!i) return null;
4747
4765
  const s = i.trunkPrefix;
4748
4766
  if (s && o.startsWith(s)) {
@@ -4755,22 +4773,22 @@ function Et(e, t) {
4755
4773
  }
4756
4774
  return !s && ee(o, i) ? `+${i.callingCode}${o}` : null;
4757
4775
  }
4758
- function Od(e, t = 9) {
4776
+ function $d(e, t = 9) {
4759
4777
  const n = (e ?? "").replace(/\D/g, "");
4760
4778
  return n.length < t ? null : n.slice(-t);
4761
4779
  }
4762
- function cn(e) {
4780
+ function ln(e) {
4763
4781
  if (!e) return null;
4764
4782
  const t = e.trim().toLowerCase(), n = t.lastIndexOf("@");
4765
4783
  if (n <= 0 || n === t.length - 1) return null;
4766
4784
  const r = t.slice(0, n).split("+")[0], o = t.slice(n + 1);
4767
4785
  return !r || !o.includes(".") ? null : `${r}@${o}`;
4768
4786
  }
4769
- function xd(e) {
4770
- const t = cn(e);
4787
+ function Ld(e) {
4788
+ const t = ln(e);
4771
4789
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
4772
4790
  }
4773
- const Xi = /* @__PURE__ */ new Set([
4791
+ const Qi = /* @__PURE__ */ new Set([
4774
4792
  "co.uk",
4775
4793
  "org.uk",
4776
4794
  "gov.uk",
@@ -4780,14 +4798,14 @@ const Xi = /* @__PURE__ */ new Set([
4780
4798
  "com.br",
4781
4799
  "co.za"
4782
4800
  ]);
4783
- function Yi(e) {
4801
+ function Zi(e) {
4784
4802
  if (!e) return null;
4785
4803
  const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
4786
4804
  if (t.length < 2) return null;
4787
4805
  const n = t.slice(-2).join(".");
4788
- return Xi.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
4806
+ return Qi.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
4789
4807
  }
4790
- const qi = /* @__PURE__ */ new Set([
4808
+ const Ji = /* @__PURE__ */ new Set([
4791
4809
  "gmail.com",
4792
4810
  "googlemail.com",
4793
4811
  "outlook.com",
@@ -4832,34 +4850,34 @@ const qi = /* @__PURE__ */ new Set([
4832
4850
  "proximus.be",
4833
4851
  "scarlet.be"
4834
4852
  ]);
4835
- function Rd(e) {
4836
- const t = Yi(e);
4837
- return t ? qi.has(t) : !1;
4853
+ function Pd(e) {
4854
+ const t = Zi(e);
4855
+ return t ? Ji.has(t) : !1;
4838
4856
  }
4839
- function Dd(e) {
4857
+ function Kd(e) {
4840
4858
  if (!e) return !1;
4841
4859
  const t = e.trim().toLowerCase();
4842
4860
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
4843
4861
  }
4844
- function $d(e, t, n) {
4862
+ function Ud(e, t, n) {
4845
4863
  if (!e || !t) return null;
4846
4864
  const r = e.trim().toLowerCase();
4847
4865
  if (r === "tel" || r === "sms" || r === "whatsapp") {
4848
- const i = Et(t, n);
4866
+ const i = St(t, n);
4849
4867
  return i ? `tel:${i}` : null;
4850
4868
  }
4851
4869
  if (r === "fax") {
4852
- const i = Et(t, n);
4870
+ const i = St(t, n);
4853
4871
  return i ? `fax:${i}` : null;
4854
4872
  }
4855
4873
  if (r === "mailto" || r === "email") {
4856
- const i = cn(t);
4874
+ const i = ln(t);
4857
4875
  return i ? `mailto:${i}` : null;
4858
4876
  }
4859
4877
  const o = t.trim().toLowerCase();
4860
4878
  return o ? `${r}:${o}` : null;
4861
4879
  }
4862
- const Qi = [
4880
+ const es = [
4863
4881
  /<blockquote/i,
4864
4882
  /class="?gmail_quote/i,
4865
4883
  // Gmail quote container
@@ -4872,24 +4890,24 @@ const Qi = [
4872
4890
  // Outlook underscore separator before "From:"
4873
4891
  /\bOn\b[\s\S]{0,200}?\bwrote:/i
4874
4892
  // 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) {
4893
+ ], Tt = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, ts = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
4894
+ function ns(e) {
4877
4895
  const t = e.split(`
4878
4896
  `);
4879
4897
  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)))
4898
+ if (ts.test(t[n]) || Tt.test(t[n]) && t.slice(n + 1, n + 4).some((r) => Tt.test(r)))
4881
4899
  return t.slice(0, n).join(`
4882
4900
  `).trim();
4883
4901
  return e;
4884
4902
  }
4885
- const es = /^(?:https?:|mailto:|tel:)/i, ts = /^(?:https?:|cid:|data:image\/)/i;
4903
+ const rs = /^(?:https?:|mailto:|tel:)/i, os = /^(?:https?:|cid:|data:image\/)/i;
4886
4904
  function ge(e, t) {
4887
4905
  const n = e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`, "i"));
4888
4906
  return (n?.[1] ?? n?.[2] ?? n?.[3] ?? "").trim();
4889
4907
  }
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("");
4908
+ const is = /(!\[[^\]]*\]\([^)]*\))/;
4909
+ function It(e) {
4910
+ return e.replace(/\s+/g, " ").trim().split(is).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
4893
4911
  }
4894
4912
  function he(e) {
4895
4913
  return e.replace(
@@ -4897,47 +4915,47 @@ function he(e) {
4897
4915
  (t) => `%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2, "0")}`
4898
4916
  );
4899
4917
  }
4900
- function rs(e) {
4918
+ function ss(e) {
4901
4919
  return e.replace(/<img\b([^>]*?)\/?>/gi, (n, r) => {
4902
4920
  const o = ge(r, "src");
4903
- return ts.test(o) ? `![${Tt(ge(r, "alt"))}](${he(o)})` : "";
4921
+ return os.test(o) ? `![${It(ge(r, "alt"))}](${he(o)})` : "";
4904
4922
  }).replace(
4905
4923
  /<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,
4906
4924
  (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;
4925
+ const i = It(o.replace(/<[^>]*>/g, "")), s = ge(r, "href");
4926
+ return rs.test(s) ? `[${i || he(s)}](${he(s)})` : i;
4909
4927
  }
4910
4928
  );
4911
4929
  }
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) {
4930
+ const as = /<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i, cs = /<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi, ls = /<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;
4931
+ function us(e, t) {
4914
4932
  return /<table\b/i.test(e) || e.includes(`
4915
4933
 
4916
4934
  |`) || t.includes("![") || t.length > 200;
4917
4935
  }
4918
- const cs = 40, ls = { left: "---", center: ":---:", right: "---:" };
4919
- function us(e) {
4936
+ const ds = 40, fs = { left: "---", center: ":---:", right: "---:" };
4937
+ function ps(e) {
4920
4938
  const t = e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);
4921
4939
  return t ? t[1].toLowerCase() : "left";
4922
4940
  }
4923
- function ds(e) {
4941
+ function ms(e) {
4924
4942
  return e.replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().replace(/\|/g, "\\|");
4925
4943
  }
4926
- function fs(e) {
4944
+ function gs(e) {
4927
4945
  const t = [];
4928
- for (const s of e.matchAll(is)) {
4946
+ for (const s of e.matchAll(cs)) {
4929
4947
  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]) });
4948
+ for (const u of s[1].matchAll(ls)) {
4949
+ const l = ms(u[3]);
4950
+ if (us(u[3], l)) return null;
4951
+ a.push({ text: l, align: ps(u[2]) });
4934
4952
  }
4935
4953
  if (a.length === 0) return null;
4936
4954
  a.some((u) => u.text !== "") && t.push(a);
4937
4955
  }
4938
4956
  const n = t[0]?.length ?? 0;
4939
4957
  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(`
4958
+ const r = (s) => `| ${s.map((a) => a.text).join(" | ")} |`, o = t[1].map((s) => fs[s.align]).join(" | "), i = t.slice(1).map(r).join(`
4941
4959
  `);
4942
4960
  return `
4943
4961
 
@@ -4947,36 +4965,36 @@ ${i}
4947
4965
 
4948
4966
  `;
4949
4967
  }
4950
- function ps(e) {
4968
+ function hs(e) {
4951
4969
  return e.replace(/<\/(t[dh])\s*>/gi, " ").replace(/<\/tr\s*>/gi, `
4952
4970
  `).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi, "").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi, "");
4953
4971
  }
4954
- function ms(e) {
4972
+ function ys(e) {
4955
4973
  let t = e;
4956
- for (let n = 0; n < cs; n++) {
4957
- const r = os.exec(t);
4974
+ for (let n = 0; n < ds; n++) {
4975
+ const r = as.exec(t);
4958
4976
  if (!r || r.index === void 0) break;
4959
- const i = fs(r[1]) ?? `
4977
+ const i = gs(r[1]) ?? `
4960
4978
 
4961
- ${ps(r[1])}
4979
+ ${hs(r[1])}
4962
4980
 
4963
4981
  `;
4964
4982
  t = t.slice(0, r.index) + i + t.slice(r.index + r[0].length);
4965
4983
  }
4966
4984
  return t;
4967
4985
  }
4968
- function It(e, t) {
4986
+ function kt(e, t) {
4969
4987
  let n = e;
4970
4988
  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, `
4989
+ `), t && (n = ys(ss(n))), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
4972
4990
 
4973
4991
  `), n = n.replace(/<\/(div|li|tr)>/gi, `
4974
4992
  `), n = n.replace(/<\/(td|th)>/gi, " "), n = n.replace(/<[^>]+>/g, ""), n = n.replace(/<[^>]*$/, ""), n;
4975
4993
  }
4976
- function kt(e) {
4994
+ function wt(e) {
4977
4995
  return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
4978
4996
  }
4979
- const gs = {
4997
+ const bs = {
4980
4998
  euro: "€",
4981
4999
  pound: "£",
4982
5000
  yen: "¥",
@@ -4998,542 +5016,545 @@ const gs = {
4998
5016
  rdquo: "”",
4999
5017
  apos: "'"
5000
5018
  };
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
5019
  function vt(e) {
5020
+ return e.replace(/&nbsp;/gi, " ").replace(/&([a-z]+);/gi, (t, n) => bs[n.toLowerCase()] ?? t).replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => wt(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => wt(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
5021
+ }
5022
+ function Mt(e) {
5005
5023
  return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
5006
5024
  `).replace(/\n{3,}/g, `
5007
5025
 
5008
5026
  `).trim();
5009
5027
  }
5010
- const hs = /<\s*(html|body|div|p|table|br|span)\b/i;
5011
- function Ld(e) {
5012
- return hs.test(e);
5028
+ const As = /<\s*(html|body|div|p|table|br|span)\b/i;
5029
+ function Fd(e) {
5030
+ return As.test(e);
5013
5031
  }
5014
- function Pd(e) {
5015
- return ln(e, !1);
5032
+ function Bd(e) {
5033
+ return un(e, !1);
5016
5034
  }
5017
- function Kd(e) {
5018
- return ln(e, !0);
5035
+ function jd(e) {
5036
+ return un(e, !0);
5019
5037
  }
5020
- function ln(e, t) {
5038
+ function un(e, t) {
5021
5039
  if (typeof e != "string" || !e) return "";
5022
5040
  let n = e.length;
5023
- for (const s of Qi) {
5041
+ for (const s of es) {
5024
5042
  const a = e.search(s);
5025
5043
  a >= 0 && a < n && (n = a);
5026
5044
  }
5027
5045
  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;
5046
+ let o = Mt(vt(kt(r, t)));
5047
+ return o || (o = Mt(vt(kt(e, t)))), ns(o) || o;
5030
5048
  }
5031
5049
  export {
5032
- da as ACTIVE_ASSIGNMENT_STATUSES,
5050
+ ma as ACTIVE_ASSIGNMENT_STATUSES,
5033
5051
  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,
5052
+ fi as AI_ATTACHMENT_LIMITS,
5053
+ Tu as AI_ATTACHMENT_MAX_PER_TURN,
5054
+ Su as AI_ATTACHMENT_TURN_BUDGET,
5055
+ Ne as AI_CAPABILITIES,
5038
5056
  Nt as AI_VENDORS,
5039
- On as ALLOWED_LINK_SCHEMES,
5040
- id as APP_PERMISSIONS,
5057
+ xn as ALLOWED_LINK_SCHEMES,
5058
+ cd as APP_PERMISSIONS,
5041
5059
  Ye as ARTIFACT_MAX_BLOCKS,
5042
- oa as ARTIFACT_MAX_BODY_BYTES,
5060
+ aa as ARTIFACT_MAX_BODY_BYTES,
5043
5061
  Z as ARTIFACT_MAX_CELL_LEN,
5044
5062
  Je as ARTIFACT_MAX_KPI_ITEMS,
5045
5063
  qe as ARTIFACT_MAX_LIST_ITEMS,
5046
5064
  Ze as ARTIFACT_MAX_TABLE_COLUMNS,
5047
5065
  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,
5066
+ Rt as ARTIFACT_MAX_TEXT_LEN,
5067
+ jn as ASSIGNMENT_SCOPE_KIND,
5068
+ Mu as ASSIST_BANDS,
5069
+ vu as ASSIST_SOURCE_PROVIDER_GROUP,
5070
+ pr as ATTENTION_STATUSES,
5071
+ Do as AT_RISK_GAP,
5072
+ an as AUTH_APP_NAME,
5073
+ go as AUTO_READY_MIN_PROPOSALS,
5074
+ ho as AUTO_READY_RATE,
5075
+ En as ActivityTypeRegistry,
5076
+ Ps as BUILT_IN_ONLY,
5077
+ mr as BULK_PENALTY,
5078
+ Sa as BUSINESS_ENTITY_LIST_SERVICE,
5079
+ Pi as CADENCE_FLOOR_MS,
5080
+ Ki as CADENCE_MIN_NEW_SEGMENTS,
5081
+ Ui as CADENCE_MIN_NOVELTY,
5082
+ Li as CADENCE_WINDOW_MS,
5083
+ Fc as CLASSIFY_VARS,
5084
+ Xu as CONNECTOR_PROVIDER_GROUP,
5085
+ Yu as CONTEXT_COLLECT_SERVICE,
5086
+ Zs as CORE_DIMENSIONS,
5087
+ Ai as CommunicationScheme,
5088
+ or as DAY_MS,
5071
5089
  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,
5090
+ zr as DEFAULT_FORECAST_WEEKS,
5091
+ cc as DEFAULT_MEMORY_BUDGET,
5092
+ Hl as DEFAULT_NUMBER_PADDING,
5093
+ zi as DEFAULT_PHONE_REGION,
5094
+ Ul as DEFAULT_QUOTE_TEMPLATE_BLOCKS,
5095
+ Kl as DEFAULT_TEMPLATE_CONDITIONS,
5096
+ Ac as DEMAND_SOURCE_PROVIDER_GROUP,
5097
+ nd as DOCUMENT_APPLY_SERVICE,
5098
+ ed as DOCUMENT_DESCRIBE_SERVICE,
5099
+ td as DOCUMENT_INSPECT_SERVICE,
5082
5100
  Ye as DOCUMENT_MAX_BLOCKS,
5083
- oa as DOCUMENT_MAX_BODY_BYTES,
5101
+ aa as DOCUMENT_MAX_BODY_BYTES,
5084
5102
  Z as DOCUMENT_MAX_CELL_LEN,
5085
5103
  Je as DOCUMENT_MAX_KPI_ITEMS,
5086
5104
  et as DOCUMENT_MAX_LETTERHEAD_FIELDS,
5087
5105
  qe as DOCUMENT_MAX_LIST_ITEMS,
5088
- Cn as DOCUMENT_MAX_RECIPIENT_LINES,
5106
+ On as DOCUMENT_MAX_RECIPIENT_LINES,
5089
5107
  Ze as DOCUMENT_MAX_TABLE_COLUMNS,
5090
5108
  Qe as DOCUMENT_MAX_TABLE_ROWS,
5091
- xt as DOCUMENT_MAX_TEXT_LEN,
5109
+ Rt as DOCUMENT_MAX_TEXT_LEN,
5092
5110
  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,
5111
+ rn as DOCUMENT_OPERATIONS,
5112
+ Wo as DUTCH_SLOT_LABELS,
5113
+ jc as EMPTY_WORKFLOW,
5114
+ Ho as ENABLED_TRANSACTION_KINDS,
5115
+ Gu as FEATURE_FOLDER_MANAGEMENT,
5116
+ zu as FEATURE_MESSAGE_REACTIONS,
5117
+ Wu as FEATURE_REMOTE_SEARCH,
5100
5118
  De as FIXED_KINDS,
5101
5119
  ie as FIXED_LEVELS,
5102
5120
  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,
5121
+ Ma as FIXED_UNITS,
5122
+ hr as FOLLOW_UP_HOURS,
5123
+ Dl as FROZEN_WRITABLE_FIELDS,
5124
+ rr as HOUR_MS,
5125
+ As as HTML_BODY_RE,
5108
5126
  L as INELIGIBLE,
5109
- td as INSTALLATION_HEADER,
5110
- co as INTERACTION_KIND,
5111
- Uu as InteractionParticipantRole,
5112
- Tr as KB_FALLBACK_LOCALE,
5127
+ od as INSTALLATION_HEADER,
5128
+ lo as INTERACTION_KIND,
5129
+ ju as InteractionParticipantRole,
5130
+ Ir as KB_FALLBACK_LOCALE,
5113
5131
  ot as KB_LOCALES,
5114
5132
  ot as LOCALES,
5115
5133
  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,
5134
+ lr as MAIL_HINT_HEADERS,
5135
+ Ts as MAX_ACTIONS,
5136
+ Hn as MAX_ASSIGNMENT_TURNS,
5137
+ _s as MAX_BLOCKS,
5138
+ Bt as MAX_COLLECTION_DEPTH,
5139
+ Gn as MAX_DELEGATION_DEPTH,
5140
+ kd as MAX_EDITABLE_FILE_BYTES,
5141
+ Es as MAX_FIELDS,
5142
+ Ss as MAX_LIST_ITEMS,
5143
+ oc as MAX_MEMORY_BROWSE,
5144
+ ac as MAX_MEMORY_BUDGET,
5145
+ ic as MAX_MEMORY_CHARS,
5146
+ Wi as MAX_SHOWN_KEYS,
5147
+ Uo as MAX_TOPIC_CANDIDATES,
5148
+ Ko as MAX_TOPIC_EXAMPLES,
5131
5149
  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,
5150
+ wd as MAX_VIEWABLE_FILE_BYTES,
5151
+ sc as MIN_MEMORY_BUDGET,
5152
+ Rd as NAV_NOTICE_SLOT,
5153
+ ql as NL_PAYMENT_TERMS,
5154
+ uc as NL_TAX_RATES,
5155
+ sd as NOTIFICATION_SOURCE_PROVIDER_GROUP,
5156
+ $o as OFF_TRACK_GAP,
5157
+ fc as ONBOARDING_SOURCE_PROVIDER_GROUP,
5140
5158
  ve as PAUSE_HOLD,
5141
5159
  ke as PAUSE_SNOOZED,
5142
5160
  we as PAUSE_WAITING_FOR_CUSTOMER,
5143
- Hl as PAYMENT_TERM_METHODS,
5161
+ zl as PAYMENT_TERM_METHODS,
5144
5162
  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,
5163
+ on as PRESENCE_ONLINE_WINDOW_MS,
5164
+ wi as PRESENCE_SURVIVES_OFFLINE,
5165
+ Zo as PRODUCT_SCOPE_KIND,
5166
+ mc as PROFILE_TOOL_DISPOSITIONS,
5167
+ Bu as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
5168
+ Fu as PROVIDER_FEATURE_MESSAGE_WINDOW,
5169
+ Ji as PUBLIC_EMAIL_DOMAINS,
5152
5170
  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,
5171
+ vr as RELATED_SUBJECT_KINDS,
5172
+ nn as RESERVED_STATUS_KEYS,
5173
+ nu as RESERVED_TYPE_KEYS,
5174
+ hd as RESOURCE_ATTACHED_SERVICE,
5175
+ pd as RESOURCE_DESCRIBE_SERVICE,
5176
+ gd as RESOURCE_RESOLVE_SERVICE,
5177
+ md as RESOURCE_SEARCH_SERVICE,
5178
+ Zr as SCHEDULE_ENTRY_SCOPE_KIND,
5179
+ _d as SCOPE_ACTS_ROUTE,
5180
+ Ad as SCOPE_READ_ROUTE,
5181
+ bd as SCOPE_RELATED_ROUTE,
5182
+ xd as SETTINGS_CATEGORIES,
5183
+ Ca as SIGNATURE_INTENTS,
5184
+ gr as SLA_HOURS_BY_PRIORITY,
5185
+ el as SLA_METRICS,
5186
+ tl as SLA_PAUSE_REASONS,
5187
+ po as STEP_MAX_TOKENS_MAX,
5188
+ fo as STEP_MAX_TOKENS_MIN,
5189
+ Co as STRATEGY_ITEM_SCOPE_KIND,
5190
+ cr as SUMMARY_MIN_LAST_CHARS,
5191
+ ar as SUMMARY_MIN_MESSAGES,
5192
+ Md as SYNC_RUN_MAX_ERRORS,
5193
+ vd as SYNC_TARGET_PROVIDER_GROUP,
5194
+ Bn as TERMINAL_ASSIGNMENT_STATUSES,
5195
+ yo as TERMINAL_RUN_STATUSES,
5178
5196
  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,
5197
+ Qo as TRANSACTION_SCOPE_KINDS,
5198
+ Kc as TRIGGER_VARS,
5199
+ Or as UNKNOWN_KIND,
5200
+ Oo as UNKNOWN_LEVEL_ORDER,
5201
+ Vu as UNSUPPORTED,
5202
+ vn as USAGE_DIMENSIONS,
5203
+ Mn as USAGE_DIMENSION_IDS,
5204
+ Jr as WORKSTREAM_SCOPE_KIND,
5205
+ ri as WORK_ACTIVITY_SCOPE_KIND,
5206
+ pc as WORK_AREAS,
5207
+ Zl as WORK_COMMENT_ADDED,
5208
+ au as WORK_CYCLE_SYNC_KIND,
5209
+ Jl as WORK_ITEM_ASSIGNED,
5210
+ ti as WORK_ITEM_SCOPE_KIND,
5211
+ eu as WORK_ITEM_STATUS_CHANGED,
5212
+ ni as WORK_PROJECT_SCOPE_KIND,
5195
5213
  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,
5214
+ Ol as acceptExampleCandidate,
5215
+ ro as actingIdentityKey,
5216
+ Ml as activeWorkTypes,
5217
+ ks as activityIconOf,
5218
+ $s as activityJoinUrl,
5219
+ yn as activitySnippet,
5220
+ bn as activityTextParams,
5221
+ Ds as activityTimelineText,
5222
+ Sn as activityTimestamp,
5205
5223
  k as activityTypeInfo,
5206
- Mc as actorKey,
5207
- wl as addExampleCandidate,
5224
+ Nc as actorKey,
5225
+ Cl as addExampleCandidate,
5208
5226
  $e as addWorkingMs,
5209
- ad as agePresenceEntry,
5210
- ui as aiAttachmentKind,
5211
- Eu as aiAttachmentRejection,
5227
+ ud as agePresenceEntry,
5228
+ di as aiAttachmentKind,
5229
+ Iu as aiAttachmentRejection,
5212
5230
  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,
5231
+ qs as aiBudgetPeriodKey,
5232
+ Tn as aiBudgetPeriodStart,
5233
+ Ys as aiBudgetState,
5234
+ Xs as aiVendorAcceptsAttachment,
5235
+ Ws as aiVendorDefaultModel,
5236
+ Gs as aiVendorLabel,
5237
+ Vs as aiVendorNeedsBaseUrl,
5238
+ zs as aiVendorsWith,
5239
+ Vn as allocate,
5240
+ cn as appNameFromPath,
5241
+ sa as applyApprovalDecision,
5242
+ Tl as applyRounding,
5243
+ Oa as applySignature,
5244
+ mo as approvalRate,
5245
+ la as artifactBodyBytes,
5246
+ ua as artifactOutline,
5247
+ Fn as artifactToMarkdown,
5248
+ $c as assignmentMismatch,
5249
+ ha as assignmentScopeKey,
5250
+ Aa as assignmentSubject,
5251
+ bc as availabilityByPerson,
5252
+ gc as belongsOnCalendar,
5253
+ Ta as belongsToEntity,
5254
+ Ls as buildActivityPreview,
5255
+ $u as buildChannelIntents,
5256
+ da as buildShareKeys,
5257
+ Gi as buildWindow,
5258
+ nr as businessEntitySender,
5259
+ xr as calendarDaysBetween,
5242
5260
  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,
5261
+ Za as canNestUnder,
5262
+ ul as canParent,
5263
+ Bs as capabilityDefaultFlag,
5264
+ hc as capacityTotal,
5265
+ vc as capacityWeights,
5266
+ Os as carriesText,
5267
+ ec as categoryLabel,
5268
+ si as categoryOf,
5269
+ Uu as channelKindForScheme,
5270
+ ws as channelKindOf,
5271
+ _l as checkInOverdueMs,
5272
+ Bc as clampStepMaxTokens,
5273
+ Fa as classifyMail,
5274
+ jd as cleanMessageMarkdown,
5275
+ Bd as cleanMessageText,
5276
+ Ia as codeQuery,
5277
+ Ou as compareAssistRank,
5278
+ Po as compareWorkTypes,
5279
+ tr as conditionHolds,
5280
+ Go as copyFrom,
5263
5281
  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,
5282
+ yc as coverageByPerson,
5283
+ Ec as coverageFor,
5284
+ Ht as coversWorkstream,
5285
+ Wl as currentPeriod,
5286
+ Gt as cycleDayIndex,
5287
+ _u as cycleOrder,
5288
+ Eu as cycleState,
5289
+ _a as decideAssignmentState,
5290
+ Nd as decideCadence,
5291
+ Ru as decideIncomingCall,
5292
+ kr as defaultLocaleOf,
5293
+ gu as defaultStatusKey,
5294
+ Yo as defaultTemplateBlocks,
5295
+ Hu as defineIntent,
5296
+ Ea as delegationRefusal,
5297
+ Sr as depthOf,
5298
+ ld as derivePresence,
5299
+ ta as describeClause,
5300
+ Du as disabledIntentsFromCapabilities,
5301
+ la as documentBodyBytes,
5302
+ rd as documentKindOf,
5303
+ ua as documentOutline,
5304
+ Fn as documentToMarkdown,
5305
+ Ju as documentToText,
5306
+ ol as dueAtOf,
5307
+ Vl as dueDateFrom,
5308
+ Sl as elapsedSeconds,
5309
+ Ld as emailDomain,
5310
+ Ud as endpointKey,
5311
+ Lr as erlangC,
5312
+ Ci as extractParams,
5313
+ ji as extractTerms,
5314
+ Da as fillDocument,
5315
+ er as fillText,
5316
+ Pu as filterByEndpoint,
5317
+ Lu as filterByIntent,
5318
+ bi as filterByTargetScheme,
5319
+ ea as filterableDimensions,
5302
5320
  oe as findAiVendor,
5303
- ll as fixedLevelForName,
5304
- nu as fixedTypeForName,
5305
- ru as fixedTypes,
5306
- nd as flattenLocales,
5321
+ fl as fixedLevelForName,
5322
+ iu as fixedTypeForName,
5323
+ su as fixedTypes,
5324
+ id as flattenLocales,
5307
5325
  W as floorToPeriod,
5308
- Ec as forecastIntervals,
5309
- to as formatActingIdentity,
5326
+ Ic as forecastIntervals,
5327
+ no as formatActingIdentity,
5310
5328
  D as formatCents,
5311
- Sl as formatClock,
5312
- El as formatHm,
5313
- su as formatItemKey,
5329
+ kl as formatClock,
5330
+ Il as formatHm,
5331
+ lu as formatItemKey,
5314
5332
  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,
5333
+ Gl as formatSeriesNumber,
5334
+ al as formatSlaDuration,
5335
+ wu as freshSources,
5336
+ Ks as getActivitySeenUserIds,
5337
+ Na as getContactEndpoints,
5338
+ Va as getShortTitle,
5339
+ za as getUrgencyScore,
5340
+ Qc as hasReacted,
5341
+ pl as healthCategory,
5342
+ ml as healthsInCategory,
5343
+ jt as heightOf,
5344
+ Ya as helpCenterText,
5345
+ Lc as humanizeAction,
5346
+ uo as interactionIdOf,
5347
+ Ql as isAgentUser,
5348
+ Ga as isAssigned,
5349
+ ga as isAssignmentTerminal,
5350
+ so as isAssignmentTrigger,
5351
+ Wc as isAutoReady,
5352
+ Er as isAwaitingThem,
5353
+ Fs as isChatMessageActivity,
5354
+ Wa as isClosed,
5355
+ xs as isConnectedType,
5356
+ Ed as isDeepLink,
5357
+ Tr as isDescendant,
5358
+ La as isEligible,
5359
+ Us as isEmailActivity,
5360
+ Rl as isFrozen,
5361
+ rl as isHeldClock,
5362
+ Fd as isHtmlBody,
5363
+ Vc as isInFlight,
5364
+ fr as isInteractionUnseen,
5365
+ Sd as isLandingPath,
5366
+ sr as isLikelyBulk,
5367
+ Ct as isMessageShape,
5368
+ vs as isMessageType,
5369
+ Ni as isMoreSpecificPattern,
5370
+ Ot as isNoteShape,
5371
+ Mo as isOpenClock,
5372
+ pi as isOutwardTool,
5373
+ br as isParked,
5374
+ bo as isPaused,
5375
+ Ns as isPlaybookAuthoredType,
5376
+ Pd as isPublicEmailDomain,
5377
+ Id as isPublicPath,
5378
+ Ar as isReminderActive,
5379
+ Cs as isReplyableType,
5380
+ ja as isSlaAtRisk,
5381
+ zc as isTerminal,
5382
+ Ka as isThreadLongEnough,
5383
+ Rs as isTranscriptType,
5384
+ hu as isWorkClosed,
5385
+ vl as isWorkTypeVisible,
5386
+ At as isWriteTool,
5387
+ fu as itemDossierKeys,
5369
5388
  x as kindFor,
5370
- oi as ladderFor,
5371
- Oo as levelIn,
5389
+ ii as ladderFor,
5390
+ xo as levelIn,
5372
5391
  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,
5392
+ Cr as lineNet,
5393
+ Xa as linkLabel,
5394
+ xl as listedTransactionKinds,
5395
+ Qs as listeningAllowed,
5396
+ Qa as localeInstruction,
5397
+ qa as localeName,
5398
+ Ja as localesOf,
5399
+ Dd as looksLikeEmail,
5400
+ Lt as lookup,
5401
+ wa as marginCents,
5402
+ Zu as markdownToDocument,
5403
+ oa as matchApprovalPolicy,
5404
+ Ku as matchContactToIntents,
5405
+ xi as matchPublicRoute,
5406
+ nc as mcpCredentialScope,
5407
+ rc as mcpToolPrefix,
5408
+ gl as measureRatio,
5409
+ Hs as mergeDefaultFlags,
5410
+ Od as mergeShownKeys,
5411
+ hn as messageCountsAs,
5412
+ na as metricOption,
5413
+ Wt as minutesOn,
5414
+ Kd as needsPhoneRegion,
5415
+ Ms as nestsUnderParent,
5416
+ dl as nextLevelBelow,
5417
+ il as nextSlaClock,
5418
+ $l as nextVersion,
5419
+ ca as normalizeArtifactBlocks,
5420
+ Is as normalizeBlocks,
5421
+ ca as normalizeDocumentBlocks,
5422
+ ln as normalizeEmail,
5404
5423
  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,
5424
+ Wn as normalizeGtin,
5425
+ ad as notificationPrefKey,
5426
+ Hi as novelty,
5427
+ Qu as operationDescriptor,
5428
+ qu as operationsForKind,
5429
+ $a as organizationSender,
5411
5430
  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,
5431
+ _c as overlaps,
5432
+ hl as paceRatio,
5433
+ Pa as parkMarksById,
5434
+ Cc as parseActingIdentity,
5435
+ ka as parseAmount,
5436
+ Zc as parseClockMinutes,
5437
+ uu as parseItemKey,
5438
+ Mi as pathToRegex,
5439
+ Vt as patternFor,
5440
+ zt as patternStartTime,
5441
+ Jc as pauseBitFor,
5442
+ ia as pendingApprovers,
5443
+ Js as periodsInRange,
5444
+ $d as phoneSuffix,
5445
+ Ua as pickMailHeaders,
5446
+ Ra as pickTemplate,
5447
+ Mc as placeLumps,
5448
+ mn as plainTextFromMarkdown,
5449
+ nl as planSlaEvent,
5450
+ Sc as plannedBillable,
5451
+ Gr as plannedWorkTypeKey,
5452
+ io as playbookActor,
5453
+ Gc as procedureOf,
5454
+ Fl as productScopeKey,
5455
+ pu as projectDossierKeys,
5456
+ Oi as publicBasePathFor,
5457
+ Td as publicRoutePatterns,
5458
+ ba as reactionWakesAssignment,
5459
+ js as readDefaultFlags,
5441
5460
  ye as readPath,
5442
5461
  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,
5462
+ yr as recencyOf,
5463
+ xa as recipientLocale,
5464
+ co as refKey,
5465
+ Zi as registrableDomain,
5466
+ Bo as rejectExampleCandidate,
5467
+ lc as relatedByDefault,
5449
5468
  Me as remainingMsOf,
5450
- Kr as requiredAgents,
5451
- jr as requirementFor,
5452
- mi as resolveAccountCapabilities,
5469
+ Ur as requiredAgents,
5470
+ Hr as requirementFor,
5471
+ hi as resolveAccountCapabilities,
5453
5472
  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,
5473
+ gi as resolveChannelIntents,
5474
+ va as resolvePrice,
5475
+ Qn as resolveSignature,
5476
+ dd as resolveWorkMode,
5477
+ yd as resourceKindOf,
5478
+ Al as rollupChildren,
5460
5479
  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,
5480
+ Oc as runActor,
5481
+ Yc as runInteractionId,
5482
+ Ln as sanitizeInline,
5483
+ $i as sanitizeTranscript,
5484
+ kc as scheduleEntryScopeKey,
5485
+ Ha as scoreInteraction,
5486
+ tu as scoreWorkItem,
5487
+ tc as selectLenses,
5488
+ Pr as serviceLevel,
5489
+ xu as sessionsHoldCannotReach,
5490
+ Nu as sessionsToHold,
5491
+ Xl as shadowTermsByCode,
5492
+ $t as shareKeyForTeam,
5493
+ Dt as shareKeyForUser,
5494
+ fa as shareKeysForViewer,
5495
+ Tc as shortfalls,
5496
+ fd as shouldRunAudioPipeline,
5497
+ sl as slaBadgeTone,
5498
+ Ba as slaHoursByInbox,
5499
+ _r as slaHoursFor,
5500
+ ai as sortStatuses,
5501
+ mi as sourceKey,
5502
+ to as spreadOverWeights,
5503
+ mu as statusIn,
5504
+ Au as statusRequiresApproval,
5505
+ Hc as stepsOf,
5506
+ ll as strategyAncestorKeysFor,
5507
+ cl as strategyDossierKeys,
5508
+ en as strategyItemScopeKey,
5509
+ gn as stripHtml,
5510
+ Xc as subjectKeyOf,
5511
+ Xt as subjectOf,
5512
+ Cu as subjectRef,
5513
+ du as suggestProjectKey,
5514
+ yl as suggestedHealth,
5515
+ qc as summarizeReactions,
5516
+ Dc as targetById,
5517
+ Rc as targetForActivityType,
5518
+ El as targetOrder,
5519
+ Mr as taxRateFor,
5520
+ Rr as termsFor,
5521
+ oo as toActingIdentity,
5522
+ St as toE164,
5523
+ Yl as toTransactionTerm,
5524
+ ao as toolBareName,
5525
+ Pc as toolDisplayName,
5507
5526
  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,
5527
+ ku as toolReversible,
5528
+ pa as toolSourceKinds,
5529
+ Cd as toolVerdict,
5530
+ jo as topicOfferedForTeam,
5531
+ Nl as topicsForTeam,
5532
+ Kr as trafficIntensity,
5533
+ Ll as transactionContext,
5534
+ jl as transactionDossierKeys,
5535
+ Bl as transactionIdFromScope,
5515
5536
  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,
5537
+ Jo as transactionScopeKey,
5538
+ Pl as transactionSlots,
5539
+ dc as transactionTotals,
5540
+ Uc as triggerFillsVar,
5541
+ Fo as truncateExample,
5542
+ ou as typeIn,
5543
+ ru as typesFor,
5544
+ yu as uniqueWorkStatusKey,
5545
+ wl as uniqueWorkTypeKey,
5546
+ Cn as usageMetricId,
5547
+ ra as usageMetrics,
5548
+ bu as validateStatuses,
5549
+ xc as valueAtPath,
5529
5550
  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,
5551
+ ya as wakesAssignment,
5552
+ cu as workActivityScopeKey,
5553
+ oi as workItemScopeKey,
5554
+ tn as workProjectScopeKey,
5555
+ bl as workRatio,
5556
+ ci as workStatusKey,
5557
+ Lo as workTypeKey,
5537
5558
  Ie as workingMsBetween,
5538
- Tc as workstreamScopeKey
5559
+ wc as workstreamScopeKey
5539
5560
  };