@opencxh/domain 1.191.0 → 1.194.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 Hn = 10, Fn = 10, Wn = 10, Vn = 5, Ce = /* @__PURE__ */ new Set([
1
+ const Vn = 10, zn = 10, Xn = 10, Yn = 5, Ne = /* @__PURE__ */ new Set([
2
2
  "header",
3
3
  "section",
4
4
  "context",
@@ -14,7 +14,7 @@ function w(e) {
14
14
  const t = e;
15
15
  return typeof t.key == "string" || typeof t.value == "string";
16
16
  }
17
- function zn(e, t = () => {
17
+ function qn(e, t = () => {
18
18
  }) {
19
19
  if (!Array.isArray(e)) return [];
20
20
  const n = [];
@@ -25,7 +25,7 @@ function zn(e, t = () => {
25
25
  }
26
26
  if (!r || typeof r != "object") continue;
27
27
  const i = r;
28
- if (!Ce.has(i.type)) {
28
+ if (!Ne.has(i.type)) {
29
29
  t(`unknown block type ${String(i.type)}`);
30
30
  continue;
31
31
  }
@@ -69,7 +69,7 @@ function zn(e, t = () => {
69
69
  }
70
70
  return n;
71
71
  }
72
- function Oe(e) {
72
+ function ve(e) {
73
73
  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();
74
74
  }
75
75
  function b(e) {
@@ -83,7 +83,7 @@ function D(e) {
83
83
  function M(e) {
84
84
  return e?.split("@")?.[0] || e || "";
85
85
  }
86
- function E(e) {
86
+ function S(e) {
87
87
  return e.map((t) => t.name).join(", ");
88
88
  }
89
89
  function L(e) {
@@ -245,9 +245,9 @@ const m = {
245
245
  shape: "event",
246
246
  channelKind: "chat",
247
247
  icon: "message-circle",
248
- snippet: (e) => `${E(e.payload.members)} toegevoegd`,
248
+ snippet: (e) => `${S(e.payload.members)} toegevoegd`,
249
249
  timeline: (e) => {
250
- const t = E(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · added by ${e.payload.initiator.name}` : "";
250
+ const t = S(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · added by ${e.payload.initiator.name}` : "";
251
251
  return `${t} joined the chat${n}`;
252
252
  }
253
253
  },
@@ -255,9 +255,9 @@ const m = {
255
255
  shape: "event",
256
256
  channelKind: "chat",
257
257
  icon: "message-circle",
258
- snippet: (e) => `${E(e.payload.members)} verlaten`,
258
+ snippet: (e) => `${S(e.payload.members)} verlaten`,
259
259
  timeline: (e) => {
260
- const t = E(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · removed by ${e.payload.initiator.name}` : "";
260
+ const t = S(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · removed by ${e.payload.initiator.name}` : "";
261
261
  return `${t} left the chat${n}`;
262
262
  }
263
263
  },
@@ -439,56 +439,56 @@ const m = {
439
439
  }
440
440
  };
441
441
  function P(e) {
442
- const t = e.payload, n = t.bodyText?.trim() || t.bodySnippet?.trim() || Oe(t.body ?? "");
442
+ const t = e.payload, n = t.bodyText?.trim() || t.bodySnippet?.trim() || ve(t.body ?? "");
443
443
  return t.subject ? `${t.subject} — ${n}` : n;
444
444
  }
445
445
  function d(e) {
446
446
  return m[e];
447
447
  }
448
- function Xn(e) {
448
+ function Jn(e) {
449
449
  return d(e)?.icon ?? "circle";
450
450
  }
451
- function Yn(e) {
451
+ function Zn(e) {
452
452
  return d(e)?.channelKind;
453
453
  }
454
- function ce(e) {
454
+ function le(e) {
455
455
  return e === "message" || e === "note";
456
456
  }
457
- function qn(e) {
458
- return ce(d(e)?.shape);
457
+ function Qn(e) {
458
+ return le(d(e)?.shape);
459
459
  }
460
- function Jn(e) {
460
+ function er(e) {
461
461
  return d(e)?.replyable === !0;
462
462
  }
463
- function Zn(e) {
463
+ function tr(e) {
464
464
  return d(e)?.carriesText === !0;
465
465
  }
466
- function ve(e) {
466
+ function Re(e) {
467
467
  return d(e)?.countsAs;
468
468
  }
469
- function Qn(e) {
469
+ function nr(e) {
470
470
  return d(e)?.playbookAuthored === !0;
471
471
  }
472
- function er(e) {
472
+ function rr(e) {
473
473
  return d(e)?.connected === !0;
474
474
  }
475
- function tr(e) {
475
+ function ir(e) {
476
476
  const t = d(e);
477
477
  return t?.shape === "artifact" && t?.carriesText === !0;
478
478
  }
479
- function Ne(e) {
479
+ function $e(e) {
480
480
  const t = d(e.type)?.snippet;
481
481
  return t ? t(e) : "";
482
482
  }
483
- function nr(e, t) {
483
+ function ar(e, t) {
484
484
  const n = d(e.type)?.timeline;
485
485
  return n ? n(e, t) : e.type.replace(/_/g, " ").toLowerCase();
486
486
  }
487
- function rr(e) {
487
+ function or(e) {
488
488
  const t = d(e.type)?.joinUrl;
489
489
  return t ? t(e) : void 0;
490
490
  }
491
- function v(e, t) {
491
+ function N(e, t) {
492
492
  let n = e;
493
493
  for (const r of t.split(".")) {
494
494
  if (n == null || typeof n != "object") return "";
@@ -496,42 +496,42 @@ function v(e, t) {
496
496
  }
497
497
  return n == null ? "" : typeof n == "string" ? n : typeof n == "number" || typeof n == "boolean" ? String(n) : "";
498
498
  }
499
- function N(e, t, n) {
499
+ function v(e, t, n) {
500
500
  if (e === void 0) return null;
501
501
  if (typeof e == "string") return e || null;
502
502
  if ("value" in e)
503
- return v(t, e.value) || null;
503
+ return N(t, e.value) || null;
504
504
  const r = {};
505
505
  for (const [a, o] of Object.entries(e.params ?? {}))
506
- r[a] = v(t, o);
506
+ r[a] = N(t, o);
507
507
  const i = n(e.key, r);
508
508
  return i === e.key ? null : i;
509
509
  }
510
- function Re(e, t) {
510
+ function xe(e, t) {
511
511
  if (!e || typeof e == "string" || "value" in e) return null;
512
512
  const n = {};
513
513
  for (const [r, i] of Object.entries(e.params ?? {}))
514
- n[r] = v(t, i);
514
+ n[r] = N(t, i);
515
515
  return { key: e.key, params: n };
516
516
  }
517
517
  const U = 140;
518
- function $e(e) {
518
+ function De(e) {
519
519
  const t = e.trim();
520
520
  return t.length <= U ? t : `${t.slice(0, U - 1).trimEnd()}…`;
521
521
  }
522
- function ir(e, t) {
523
- const n = Re(t?.text, e), r = t ? N(t.text, e, (i) => i) : null;
522
+ function sr(e, t) {
523
+ const n = xe(t?.text, e), r = t ? v(t.text, e, (i) => i) : null;
524
524
  return {
525
525
  activityId: e.id,
526
526
  type: e.type,
527
- snippet: $e(r ?? Ne(e)),
527
+ snippet: De(r ?? $e(e)),
528
528
  authorName: e.author?.name ?? "",
529
529
  direction: e.direction,
530
530
  createdAt: e.createdAt ?? Date.now(),
531
531
  ...n ? { snippetKey: n.key, snippetParams: n.params } : {}
532
532
  };
533
533
  }
534
- const xe = (e) => e;
534
+ const Le = (e) => e;
535
535
  function K(e) {
536
536
  const t = m[e];
537
537
  return {
@@ -548,7 +548,7 @@ function K(e) {
548
548
  displayNameKey: t.displayNameKey
549
549
  };
550
550
  }
551
- function G(e) {
551
+ function j(e) {
552
552
  return {
553
553
  type: e.type,
554
554
  shape: e.shape,
@@ -563,8 +563,8 @@ function G(e) {
563
563
  displayNameKey: e.displayNameKey
564
564
  };
565
565
  }
566
- class De {
567
- constructor(t = [], n = xe) {
566
+ class Pe {
567
+ constructor(t = [], n = Le) {
568
568
  this.translate = n;
569
569
  for (const r of t)
570
570
  r?.type && (r.type in m || this.declared.has(r.type) || this.declared.set(r.type, r));
@@ -573,11 +573,11 @@ class De {
573
573
  get(t) {
574
574
  if (t in m) return K(t);
575
575
  const n = this.declared.get(t);
576
- return n ? G(n) : void 0;
576
+ return n ? j(n) : void 0;
577
577
  }
578
578
  /** Everything that may be offered as a trigger, built-in and declared. */
579
579
  triggerable() {
580
- const t = Object.keys(m).filter((r) => m[r].triggerable).map(K), n = [...this.declared.values()].map(G).filter((r) => r.triggerable);
580
+ const t = Object.keys(m).filter((r) => m[r].triggerable).map(K), n = [...this.declared.values()].map(j).filter((r) => r.triggerable);
581
581
  return [...t, ...n];
582
582
  }
583
583
  /**
@@ -589,14 +589,14 @@ class De {
589
589
  const r = m[t.type];
590
590
  if (r?.timeline) return r.timeline(t, n);
591
591
  const i = this.declared.get(t.type);
592
- return N(i?.text, t, this.translate) ?? t.type.replace(/_/g, " ").toLowerCase();
592
+ return v(i?.text, t, this.translate) ?? t.type.replace(/_/g, " ").toLowerCase();
593
593
  }
594
594
  /** The line for the inbox list. Empty when the type has nothing to show. */
595
595
  snippet(t) {
596
596
  const n = m[t.type];
597
597
  if (n?.snippet) return n.snippet(t);
598
598
  const r = this.declared.get(t.type);
599
- return N(r?.text, t, this.translate) ?? "";
599
+ return v(r?.text, t, this.translate) ?? "";
600
600
  }
601
601
  /** The descriptor as it arrived; needed to store `text` as a key. */
602
602
  descriptor(t) {
@@ -621,7 +621,7 @@ class De {
621
621
  * {@link ResolvedActivityType}.
622
622
  */
623
623
  isMessage(t) {
624
- return ce(this.get(t)?.shape);
624
+ return le(this.get(t)?.shape);
625
625
  }
626
626
  /** Can a person reply to this? Notes cannot — those go nowhere. */
627
627
  isReplyable(t) {
@@ -649,23 +649,23 @@ class De {
649
649
  return this.translate;
650
650
  }
651
651
  }
652
- const ar = new De();
653
- function or(e, t, n = []) {
652
+ const cr = new Pe();
653
+ function lr(e, t, n = []) {
654
654
  const r = e.createdAt;
655
655
  if (!r) return [];
656
656
  const i = new Set(n);
657
657
  return e.author.type === "user" && e.author.id && i.add(e.author.id), Object.entries(t).filter(([a, o]) => o >= r && !i.has(a)).map(([a]) => a);
658
658
  }
659
- function Le(e) {
659
+ function Ue(e) {
660
660
  return e.createdAt ?? 0;
661
661
  }
662
- function sr(e) {
662
+ function ur(e) {
663
663
  return e.type === "EMAIL_RECEIVED" || e.type === "EMAIL_SENT";
664
664
  }
665
- function cr(e) {
665
+ function dr(e) {
666
666
  return e.type === "CHAT_MESSAGE_SENT" || e.type === "CHAT_MESSAGE_RECEIVED";
667
667
  }
668
- const le = [
668
+ const ue = [
669
669
  {
670
670
  id: "openai",
671
671
  attachmentKinds: ["image", "pdf"],
@@ -756,51 +756,44 @@ const le = [
756
756
  }
757
757
  ];
758
758
  function T(e) {
759
- return le.find((t) => t.id === e);
759
+ return ue.find((t) => t.id === e);
760
760
  }
761
- function lr(e) {
761
+ function pr(e) {
762
762
  return T(e)?.label ?? e;
763
763
  }
764
- function ur(e, t = "gpt-5-mini") {
764
+ function fr(e, t = "gpt-5-mini") {
765
765
  return T(e)?.defaultModel ?? t;
766
766
  }
767
- function dr(e) {
768
- return le.filter((t) => t.capabilities.includes(e));
767
+ function mr(e) {
768
+ return ue.filter((t) => t.capabilities.includes(e));
769
769
  }
770
- function pr(e) {
770
+ function gr(e) {
771
771
  const t = T(e);
772
772
  return !!t && !t.baseUrl;
773
773
  }
774
- function fr(e, t) {
774
+ function hr(e, t) {
775
775
  return t === "text" ? !0 : T(e)?.attachmentKinds?.includes(t) === !0;
776
776
  }
777
- function mr(e, t) {
777
+ function yr(e, t) {
778
778
  if (!e.enabled) return "ok";
779
- const n = j(e.hardLimitNanos), r = j(e.softLimitNanos);
779
+ const n = G(e.hardLimitNanos), r = G(e.softLimitNanos);
780
780
  return n !== void 0 && t >= n ? "hard" : r !== void 0 && t >= r ? "soft" : "ok";
781
781
  }
782
- function j(e) {
782
+ function G(e) {
783
783
  return typeof e == "number" ? e : void 0;
784
784
  }
785
- function Pe(e, t = "month") {
785
+ function Ke(e, t = "month") {
786
786
  const n = new Date(e);
787
787
  return Date.UTC(n.getUTCFullYear(), n.getUTCMonth(), 1);
788
788
  }
789
- function gr(e, t = "month") {
790
- const n = new Date(Pe(e, t));
789
+ function Ar(e, t = "month") {
790
+ const n = new Date(Ke(e, t));
791
791
  return `${n.getUTCFullYear()}-${String(n.getUTCMonth() + 1).padStart(2, "0")}`;
792
792
  }
793
- function hr(e) {
793
+ function br(e) {
794
794
  return e?.listeningEnabled !== !1;
795
795
  }
796
- function yr(e) {
797
- const t = [];
798
- for (const n of Object.keys(e))
799
- for (const r of Object.keys(e[n]))
800
- t.push({ lang: n, key: r, value: e[n][r] });
801
- return t;
802
- }
803
- const Ar = [
796
+ const Sr = [
804
797
  { id: "agent", label: "Agent", labelSource: "user" },
805
798
  { id: "team", label: "Team", labelSource: "team" },
806
799
  { id: "inbox", label: "Inbox", labelSource: "inbox" },
@@ -813,44 +806,44 @@ const Ar = [
813
806
  function k(e) {
814
807
  return e < 10 ? `0${e}` : `${e}`;
815
808
  }
816
- function Ue(e, t) {
809
+ function je(e, t) {
817
810
  const n = new Date(e), r = `${n.getUTCFullYear()}-${k(n.getUTCMonth() + 1)}-${k(n.getUTCDate())}`;
818
811
  return t === "day" ? r : `${r}T${k(n.getUTCHours())}`;
819
812
  }
820
- function Ke(e, t) {
813
+ function Ge(e, t) {
821
814
  const n = new Date(e);
822
815
  return n.setUTCMinutes(0, 0, 0), t === "day" && n.setUTCHours(0), n.getTime();
823
816
  }
824
- const Ge = 36e5, je = 864e5;
825
- function br(e, t, n) {
826
- const r = n === "hour" ? Ge : je, i = [];
827
- for (let a = Ke(e, n); a <= t; a += r)
828
- i.push(Ue(a, n));
817
+ const Be = 36e5, He = 864e5;
818
+ function Er(e, t, n) {
819
+ const r = n === "hour" ? Be : He, i = [];
820
+ for (let a = Ge(e, n); a <= t; a += r)
821
+ i.push(je(a, n));
829
822
  return i;
830
823
  }
831
- const Be = [
824
+ const Fe = [
832
825
  { id: "resource", label: "Resource", labelSource: "raw" },
833
826
  { id: "origin", label: "Herkomst", labelSource: "raw" }
834
- ], He = Be.map((e) => e.id);
835
- function Fe(e, t) {
827
+ ], We = Fe.map((e) => e.id);
828
+ function Ve(e, t) {
836
829
  return `${e}.usage.${t}`;
837
830
  }
838
- function Er(e, t) {
831
+ function _r(e, t) {
839
832
  return t.map((n) => ({
840
- id: Fe(e, n.unit),
833
+ id: Ve(e, n.unit),
841
834
  label: n.label,
842
835
  category: "Verbruik",
843
836
  valueType: n.valueType ?? "count",
844
837
  aggregation: "sum",
845
838
  supportedDimensions: [
846
839
  "provider",
847
- ...He,
840
+ ...We,
848
841
  ...n.extraDimensions ?? [],
849
842
  "time"
850
843
  ]
851
844
  }));
852
845
  }
853
- const ue = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), B = 200, H = 100, F = 200, W = 12, V = 4, de = 4e3, C = 500, Sr = 256 * 1024, We = /* @__PURE__ */ new Set([
846
+ const de = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), B = 200, H = 100, F = 200, W = 12, V = 4, pe = 4e3, C = 500, Tr = 256 * 1024, ze = /* @__PURE__ */ new Set([
854
847
  "heading",
855
848
  "paragraph",
856
849
  "list",
@@ -860,15 +853,15 @@ const ue = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]
860
853
  "table",
861
854
  "kpi",
862
855
  "callout"
863
- ]), Ve = ["http:", "https:", "mailto:", "tel:"], ze = /^[a-z][a-z0-9+.-]*:/i;
864
- function pe(e) {
856
+ ]), Xe = ["http:", "https:", "mailto:", "tel:"], Ye = /^[a-z][a-z0-9+.-]*:/i;
857
+ function fe(e) {
865
858
  const t = e.trim().replace(/^<|>$/g, "");
866
859
  if (!t) return !1;
867
- const n = ze.exec(t)?.[0];
868
- return n ? Ve.includes(n.toLowerCase()) : !t.startsWith("//");
860
+ const n = Ye.exec(t)?.[0];
861
+ return n ? Xe.includes(n.toLowerCase()) : !t.startsWith("//");
869
862
  }
870
- const Xe = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
871
- function Ye(e) {
863
+ const qe = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
864
+ function Je(e) {
872
865
  let t = "", n = 0;
873
866
  for (; n < e.length; ) {
874
867
  const r = e[n] === "!" && e[n + 1] === "[";
@@ -887,7 +880,7 @@ function Ye(e) {
887
880
  continue;
888
881
  }
889
882
  const s = e.slice(i, a), c = e.slice(a + 2, o).trim().split(/\s+/)[0] ?? "";
890
- t += r || !pe(c) ? s : e.slice(n, o + 1), n = o + 1;
883
+ t += r || !fe(c) ? s : e.slice(n, o + 1), n = o + 1;
891
884
  }
892
885
  return t;
893
886
  }
@@ -904,22 +897,22 @@ function z(e, t, n, r) {
904
897
  }
905
898
  return -1;
906
899
  }
907
- function qe(e) {
908
- return Ye(e).replace(
909
- Xe,
910
- (t, n, r) => pe(r) ? t : ""
900
+ function Ze(e) {
901
+ return Je(e).replace(
902
+ qe,
903
+ (t, n, r) => fe(r) ? t : ""
911
904
  );
912
905
  }
913
- function u(e, t = de) {
914
- return typeof e == "string" ? qe(e).slice(0, t) : "";
906
+ function u(e, t = pe) {
907
+ return typeof e == "string" ? Ze(e).slice(0, t) : "";
915
908
  }
916
- function Je(e, t = de) {
909
+ function Qe(e, t = pe) {
917
910
  return typeof e == "string" ? e.slice(0, t) : "";
918
911
  }
919
- function Ze(e, t = "info") {
920
- return typeof e == "string" && ue.has(e) ? e : t;
912
+ function et(e, t = "info") {
913
+ return typeof e == "string" && de.has(e) ? e : t;
921
914
  }
922
- function _r(e, t = () => {
915
+ function Ir(e, t = () => {
923
916
  }) {
924
917
  if (!Array.isArray(e)) return [];
925
918
  const n = [];
@@ -930,7 +923,7 @@ function _r(e, t = () => {
930
923
  }
931
924
  if (!r || typeof r != "object") continue;
932
925
  const i = r;
933
- if (!We.has(i.type)) {
926
+ if (!ze.has(i.type)) {
934
927
  t(`unknown block type ${String(i.type)}`);
935
928
  continue;
936
929
  }
@@ -965,7 +958,7 @@ function _r(e, t = () => {
965
958
  break;
966
959
  }
967
960
  case "code": {
968
- const o = Je(i.text);
961
+ const o = Qe(i.text);
969
962
  if (!o) {
970
963
  t("a code block without text");
971
964
  continue;
@@ -1018,7 +1011,7 @@ function _r(e, t = () => {
1018
1011
  break;
1019
1012
  }
1020
1013
  const A = Array.isArray(l) ? l : [];
1021
- p.push(s.map((I, ke) => u(A[ke], C)));
1014
+ p.push(s.map((I, Oe) => u(A[Oe], C)));
1022
1015
  }
1023
1016
  const f = u(i.caption, C);
1024
1017
  n.push({
@@ -1041,7 +1034,7 @@ function _r(e, t = () => {
1041
1034
  if (!p || !f) continue;
1042
1035
  const l = c?.tone;
1043
1036
  s.push(
1044
- typeof l == "string" && ue.has(l) ? { value: p, label: f, tone: l } : { value: p, label: f }
1037
+ typeof l == "string" && de.has(l) ? { value: p, label: f, tone: l } : { value: p, label: f }
1045
1038
  );
1046
1039
  }
1047
1040
  if (s.length === 0) {
@@ -1061,7 +1054,7 @@ function _r(e, t = () => {
1061
1054
  n.push({
1062
1055
  ...a,
1063
1056
  type: "callout",
1064
- tone: Ze(i.tone),
1057
+ tone: et(i.tone),
1065
1058
  ...s ? { title: s } : {},
1066
1059
  text: o
1067
1060
  });
@@ -1071,10 +1064,10 @@ function _r(e, t = () => {
1071
1064
  }
1072
1065
  return n;
1073
1066
  }
1074
- function Tr(e) {
1067
+ function wr(e) {
1075
1068
  return JSON.stringify(e).length;
1076
1069
  }
1077
- function Ir(e) {
1070
+ function Mr(e) {
1078
1071
  return {
1079
1072
  blocks: e.length,
1080
1073
  types: e.map((t) => t.type),
@@ -1092,7 +1085,7 @@ function Y(e, t, n) {
1092
1085
  ...t.map((i) => `| ${i.map(X).join(" | ")} |`)
1093
1086
  ];
1094
1087
  }
1095
- function Qe(e) {
1088
+ function tt(e) {
1096
1089
  switch (e.type) {
1097
1090
  case "heading":
1098
1091
  return [`${"#".repeat(e.level)} ${e.text}`];
@@ -1126,11 +1119,11 @@ function Qe(e) {
1126
1119
  return (e.title ? `**${e.title}** ${e.text}` : e.text).split(/\r?\n/).map((n) => `> ${n}`);
1127
1120
  }
1128
1121
  }
1129
- function wr(e, t) {
1122
+ function kr(e, t) {
1130
1123
  const n = [], r = e.some((i) => i.type === "heading" && i.level === 1);
1131
1124
  t && !r && n.push(`# ${t}`);
1132
1125
  for (const i of e) {
1133
- const a = Qe(i);
1126
+ const a = tt(i);
1134
1127
  a.length > 0 && n.push(a.join(`
1135
1128
  `));
1136
1129
  }
@@ -1139,41 +1132,41 @@ function wr(e, t) {
1139
1132
  `)}
1140
1133
  `;
1141
1134
  }
1142
- const fe = (e) => `user:${e}`, me = (e) => `team:${e}`;
1143
- function Mr(e) {
1135
+ const me = (e) => `user:${e}`, ge = (e) => `team:${e}`;
1136
+ function Cr(e) {
1144
1137
  const t = /* @__PURE__ */ new Set();
1145
1138
  for (const n of e ?? [])
1146
- n?.id && (n.kind === "user" && t.add(fe(n.id)), n.kind === "team" && t.add(me(n.id)));
1139
+ n?.id && (n.kind === "user" && t.add(me(n.id)), n.kind === "team" && t.add(ge(n.id)));
1147
1140
  return [...t].sort();
1148
1141
  }
1149
- function kr(e, t) {
1150
- return [fe(e), ...t.map(me)];
1142
+ function Or(e, t) {
1143
+ return [me(e), ...t.map(ge)];
1151
1144
  }
1152
- function Cr(e) {
1145
+ function Nr(e) {
1153
1146
  const t = /* @__PURE__ */ new Set();
1154
1147
  for (const n of e ?? [])
1155
1148
  n?.kind && t.add(n.kind);
1156
1149
  return [...t];
1157
1150
  }
1158
- const et = ["done", "escalated"];
1159
- function Or(e) {
1160
- return et.includes(e);
1161
- }
1162
- const tt = "assignment";
1151
+ const nt = ["done", "escalated"];
1163
1152
  function vr(e) {
1164
- return `${tt}:${e}`;
1153
+ return nt.includes(e);
1165
1154
  }
1166
- function Nr(e, t, n) {
1155
+ const rt = "assignment";
1156
+ function Rr(e) {
1157
+ return `${rt}:${e}`;
1158
+ }
1159
+ function $r(e, t, n) {
1167
1160
  if (e.direction === "inbound") return !0;
1168
1161
  if (e.author?.type === "user" && e.author.id === t) return !1;
1169
1162
  const r = e.payload?.mentions;
1170
1163
  return Array.isArray(r) && r.includes(t) ? !0 : n === "reply";
1171
1164
  }
1172
- function Rr(e) {
1165
+ function xr(e) {
1173
1166
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
1174
1167
  }
1175
- const nt = 12;
1176
- function $r(e, t, n = nt) {
1168
+ const it = 12;
1169
+ function Dr(e, t, n = it) {
1177
1170
  const r = t + 1;
1178
1171
  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 ? {
1179
1172
  status: "escalated",
@@ -1187,90 +1180,97 @@ function $r(e, t, n = nt) {
1187
1180
  reason: "de agent rondde zijn beurt af zonder te zeggen wat er moet gebeuren (wachten, afronden of overdragen)"
1188
1181
  };
1189
1182
  }
1190
- const xr = /* @__PURE__ */ new Set(["mail", "message"]);
1191
- function rt(e, t) {
1183
+ const Lr = /* @__PURE__ */ new Set(["mail", "message"]);
1184
+ function at(e, t) {
1192
1185
  const n = e.settings?.signatures?.[t];
1193
1186
  return !n?.enabled || !n.body || n.body.trim() === "" ? null : n;
1194
1187
  }
1195
- function Dr(e, t, n, r = "html") {
1188
+ function Pr(e, t, n, r = "html") {
1196
1189
  if (!e) return n;
1197
- const i = rt(e, t);
1190
+ const i = at(e, t);
1198
1191
  return i ? `${n}${r === "text" ? `
1199
1192
 
1200
1193
  ` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${i.body}` : n;
1201
1194
  }
1202
- function Lr(e) {
1195
+ function Ur(e) {
1203
1196
  return e.endpoints ?? [];
1204
1197
  }
1205
- const h = -1 / 0, _ = {
1198
+ const ot = 36e5, st = 864e5, g = -1 / 0, Kr = (e) => e.score > g, _ = {
1206
1199
  urgent: 40,
1207
1200
  high: 25,
1208
1201
  normal: 10,
1209
1202
  low: 0
1210
- }, it = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, at = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
1211
- function ot(e, t) {
1212
- return !!(e && it.test(e) || t && at.test(t));
1203
+ };
1204
+ function jr(e) {
1205
+ return Object.fromEntries(e.map((t) => [t.resourceId, t]));
1206
+ }
1207
+ const ct = /(^|[._+-])(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;
1208
+ function ut(e, t) {
1209
+ return !!(e && ct.test(e) || t && lt.test(t));
1213
1210
  }
1214
- const st = 3, ct = 600;
1215
- function Pr(e, t) {
1216
- return e >= st || t >= ct;
1211
+ const dt = 3, pt = 600;
1212
+ function Gr(e, t) {
1213
+ return e >= dt || t >= pt;
1217
1214
  }
1218
- function lt(e, t) {
1215
+ function ft(e, t) {
1219
1216
  return e.lastActivityAt ? !(e.seenBy ?? []).includes(t) : !1;
1220
1217
  }
1221
- const ut = 1e3, dt = {
1218
+ const mt = [
1219
+ "open",
1220
+ "pending"
1221
+ ], gt = 1e3, ht = {
1222
1222
  urgent: 1,
1223
1223
  high: 4,
1224
1224
  normal: 8,
1225
1225
  low: 24
1226
- }, pt = 72, ft = 36e5;
1227
- function mt(e) {
1228
- return e.lastActivityAt ?? (e.createdAt ? new Date(Le(e)).getTime() : 0);
1226
+ }, yt = 72;
1227
+ function At(e) {
1228
+ return e.lastActivityAt ?? (e.createdAt ? new Date(Ue(e)).getTime() : 0);
1229
1229
  }
1230
- function gt(e, t) {
1231
- return ht(t.remindersById?.[e.id], e, t.now);
1230
+ function bt(e, t) {
1231
+ return St(t.remindersById?.[e.id], e, t.now);
1232
1232
  }
1233
- function ht(e, t, n) {
1233
+ function St(e, t, n) {
1234
1234
  return !e || e.remindAt <= n ? !1 : !((t.lastActivityAt ?? 0) > e.parkedAt && t.lastActivityPreview?.direction === "inbound");
1235
1235
  }
1236
- const ge = (e) => ve(e) === "outbound_message";
1236
+ const he = (e) => Re(e) === "outbound_message", ye = (e) => mt.includes(e);
1237
1237
  function R(e, t) {
1238
- return Math.max(0, (t - mt(e)) / ft);
1238
+ return Math.max(0, (t - At(e)) / ot);
1239
1239
  }
1240
- function Ur(e, t) {
1241
- return e.status !== "open" && e.status !== "pending" || e.firstResponseAt ? !1 : R(e, t) > dt[e.priority ?? "normal"];
1240
+ function Br(e, t) {
1241
+ return !ye(e.status) || e.firstResponseAt ? !1 : R(e, t) > ht[e.priority ?? "normal"];
1242
1242
  }
1243
- function yt(e, t) {
1243
+ function Et(e, t) {
1244
1244
  const n = e.lastActivityPreview;
1245
- return n?.direction !== "outbound" || !ge(n.type) ? !1 : R(e, t) < pt;
1245
+ return n?.direction !== "outbound" || !he(n.type) ? !1 : R(e, t) < yt;
1246
1246
  }
1247
- function Kr(e, t) {
1248
- if (e.status === "closed" || e.status === "snoozed") return { score: h, reasons: [] };
1249
- if (e.snoozedTill && e.snoozedTill > t.now) return { score: h, reasons: [] };
1250
- if (yt(e, t.now)) return { score: h, reasons: [] };
1251
- if (gt(e, t)) return { score: h, reasons: [] };
1247
+ function Hr(e, t) {
1248
+ if (!ye(e.status)) return { score: g, reasons: [] };
1249
+ if (e.snoozedTill && e.snoozedTill > t.now) return { score: g, reasons: [] };
1250
+ if (Et(e, t.now)) return { score: g, reasons: [] };
1251
+ if (bt(e, t)) return { score: g, reasons: [] };
1252
1252
  let n = 0;
1253
1253
  const r = [], i = e.priority ?? "normal";
1254
- _[i] > 0 && (n += _[i], r.push(`priority:${i}`)), lt(e, t.userId) && (n += 20, r.push("unseen")), e.assignedUserId && e.assignedUserId === t.userId && (n += 15, r.push("assigned-to-you"));
1254
+ _[i] > 0 && (n += _[i], r.push(`priority:${i}`)), ft(e, t.userId) && (n += 20, r.push("unseen")), e.assignedUserId && e.assignedUserId === t.userId && (n += 15, r.push("assigned-to-you"));
1255
1255
  const a = R(e, t.now);
1256
1256
  if (a > 0) {
1257
1257
  const s = Math.min(a * 2, 30);
1258
1258
  n += s, a >= 1 && r.push(`waiting:${Math.round(a)}h`);
1259
1259
  }
1260
1260
  const o = e.lastActivityPreview;
1261
- return o?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), o?.direction === "outbound" && ge(o.type) && (n += 10, r.push("no-reply")), !e.firstResponseAt && e.lastActivityPreview?.direction === "inbound" && (n += 10, r.push("awaiting-reply")), ot(e.remoteParty?.resource, e.lastActivityPreview?.snippet) && (n -= ut, r.push("bulk")), { score: n, reasons: r };
1261
+ return o?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), o?.direction === "outbound" && he(o.type) && (n += 10, r.push("no-reply")), !e.firstResponseAt && e.lastActivityPreview?.direction === "inbound" && (n += 10, r.push("awaiting-reply")), ut(e.remoteParty?.resource, e.lastActivityPreview?.snippet) && (n -= gt, r.push("bulk")), { score: n, reasons: r };
1262
1262
  }
1263
- const Gr = (e) => !!e.assignedUserId || !!e.assignedInboxId, jr = (e) => e.status === "closed", Br = (e) => ({
1263
+ const Fr = (e) => !!e.assignedUserId || !!e.assignedInboxId, Wr = (e) => e.status === "closed", Vr = (e) => ({
1264
1264
  urgent: 10,
1265
1265
  high: 5,
1266
1266
  normal: 2,
1267
1267
  low: 1
1268
- })[e.priority] || 0, Hr = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1269
- function Fr(e, t) {
1268
+ })[e.priority] || 0, zr = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1269
+ function Xr(e, t) {
1270
1270
  const n = e.labels ?? [];
1271
1271
  return n.find((r) => r.locale === t)?.label ?? n[0]?.label ?? e.url;
1272
1272
  }
1273
- function Wr(e, t, n) {
1273
+ function Yr(e, t, n) {
1274
1274
  const r = e.translations ?? [];
1275
1275
  return r.find((i) => i.locale === t) ?? (n ? r.find((i) => i.locale === n) : void 0) ?? { locale: t };
1276
1276
  }
@@ -1289,36 +1289,36 @@ const q = [
1289
1289
  { code: "fi", label: "Suomi", english: "Finnish" },
1290
1290
  { code: "tr", label: "Türkçe", english: "Turkish" }
1291
1291
  ];
1292
- function he(e) {
1292
+ function Ae(e) {
1293
1293
  const t = (e ?? "").toLowerCase();
1294
1294
  return q.find((n) => n.code === t) ?? q.find((n) => n.code === t.split("-")[0]);
1295
1295
  }
1296
- function Vr(e) {
1297
- return he(e)?.label ?? e;
1296
+ function qr(e) {
1297
+ return Ae(e)?.label ?? e;
1298
1298
  }
1299
- function zr(e) {
1300
- const t = he(e);
1299
+ function Jr(e) {
1300
+ const t = Ae(e);
1301
1301
  return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
1302
1302
  }
1303
- const ye = 3;
1304
- function At(e, t) {
1303
+ const be = 3;
1304
+ function _t(e, t) {
1305
1305
  const n = /* @__PURE__ */ new Set();
1306
1306
  let r = 1, i = t.get(e)?.parentId;
1307
1307
  for (; i; ) {
1308
- if (n.has(i) || (n.add(i), r++, r > ye + 1)) return 1 / 0;
1308
+ if (n.has(i) || (n.add(i), r++, r > be + 1)) return 1 / 0;
1309
1309
  i = t.get(i)?.parentId;
1310
1310
  }
1311
1311
  return r;
1312
1312
  }
1313
- function Xr(e, t, n) {
1313
+ function Zr(e, t, n) {
1314
1314
  if (!e) return !0;
1315
1315
  if (e === t) return !1;
1316
1316
  const r = new Map(n.map((o) => [o.id, o]));
1317
- if (!r.has(e) || t && bt(e, t, r)) return !1;
1318
- const i = At(e, r), a = t ? Ae(t, n) : 1;
1319
- return i + a <= ye;
1317
+ if (!r.has(e) || t && Tt(e, t, r)) return !1;
1318
+ const i = _t(e, r), a = t ? Se(t, n) : 1;
1319
+ return i + a <= be;
1320
1320
  }
1321
- function bt(e, t, n) {
1321
+ function Tt(e, t, n) {
1322
1322
  const r = /* @__PURE__ */ new Set();
1323
1323
  let i = n.get(e)?.parentId;
1324
1324
  for (; i; ) {
@@ -1328,23 +1328,23 @@ function bt(e, t, n) {
1328
1328
  }
1329
1329
  return !1;
1330
1330
  }
1331
- function Ae(e, t, n = /* @__PURE__ */ new Set()) {
1331
+ function Se(e, t, n = /* @__PURE__ */ new Set()) {
1332
1332
  if (n.has(e)) return 1;
1333
1333
  n.add(e);
1334
1334
  const r = t.filter((i) => i.parentId === e);
1335
- return r.length ? 1 + Math.max(...r.map((i) => Ae(i.id, t, n))) : 1;
1335
+ return r.length ? 1 + Math.max(...r.map((i) => Se(i.id, t, n))) : 1;
1336
1336
  }
1337
- const Et = "en";
1338
- function St(e) {
1339
- return e.defaultLocale || e.locale || Et;
1337
+ const It = "en";
1338
+ function wt(e) {
1339
+ return e.defaultLocale || e.locale || It;
1340
1340
  }
1341
- function Yr(e) {
1341
+ function Qr(e) {
1342
1342
  const t = /* @__PURE__ */ new Set(), n = [];
1343
- for (const r of [St(e), ...e.locales ?? []])
1343
+ for (const r of [wt(e), ...e.locales ?? []])
1344
1344
  !r || t.has(r) || (t.add(r), n.push(r));
1345
1345
  return n;
1346
1346
  }
1347
- function qr(e, t, n) {
1347
+ function ei(e, t, n) {
1348
1348
  const r = e.translations ?? [];
1349
1349
  return r.find((i) => i.locale === t)?.name ?? (n ? r.find((i) => i.locale === n)?.name : void 0) ?? e.name;
1350
1350
  }
@@ -1365,7 +1365,7 @@ function Z(e) {
1365
1365
  }
1366
1366
  return null;
1367
1367
  }
1368
- function _t(e, t) {
1368
+ function Mt(e, t) {
1369
1369
  switch (e.kind) {
1370
1370
  case "org":
1371
1371
  return !0;
@@ -1375,23 +1375,23 @@ function _t(e, t) {
1375
1375
  return e.userId === t.userId;
1376
1376
  }
1377
1377
  }
1378
- function Jr(e, t) {
1379
- return e.filter((n) => n.enabled && _t(n.ownerScope, t));
1378
+ function ti(e, t) {
1379
+ return e.filter((n) => n.enabled && Mt(n.ownerScope, t));
1380
1380
  }
1381
- function Zr(e) {
1381
+ function ni(e) {
1382
1382
  return e.credentialScope ? e.credentialScope : (e.authMode ?? "header") === "header" || e.oauth?.scope === "org" ? "shared" : "per-user";
1383
1383
  }
1384
- function Qr(e) {
1384
+ function ri(e) {
1385
1385
  return `mcp__${e}__`;
1386
1386
  }
1387
- const ei = 1e3, ti = 2e3, ni = 500, ri = 12e3, ii = 4e3, Tt = ["contact", "company", "work_item"];
1388
- function ai(e) {
1387
+ const ii = 1e3, ai = 2e3, oi = 500, si = 12e3, ci = 4e3, kt = ["contact", "company", "work_item"];
1388
+ function li(e) {
1389
1389
  if (!e) return !1;
1390
1390
  const t = e.slice(0, e.indexOf(":"));
1391
- return Tt.includes(t);
1391
+ return kt.includes(t);
1392
1392
  }
1393
- const oi = "onboarding-source", si = ["support", "billing", "availability", "sales", "onboarding"], ci = ["keep", "replace"];
1394
- function It(e) {
1393
+ const ui = "onboarding-source", di = ["support", "billing", "availability", "sales", "onboarding"], pi = ["keep", "replace"];
1394
+ function Ct(e) {
1395
1395
  switch (e.kind) {
1396
1396
  case "user":
1397
1397
  return `user:${e.userId}`;
@@ -1401,7 +1401,7 @@ function It(e) {
1401
1401
  return "org";
1402
1402
  }
1403
1403
  }
1404
- function li(e) {
1404
+ function fi(e) {
1405
1405
  if (typeof e != "string") return;
1406
1406
  const t = e.trim();
1407
1407
  if (t === "org") return { kind: "org" };
@@ -1413,10 +1413,10 @@ function li(e) {
1413
1413
  if (r === "team") return { kind: "team", teamId: i };
1414
1414
  }
1415
1415
  }
1416
- function wt(e) {
1417
- return It(e);
1416
+ function Ot(e) {
1417
+ return Ct(e);
1418
1418
  }
1419
- function Mt(e) {
1419
+ function Nt(e) {
1420
1420
  switch (e.kind) {
1421
1421
  case "personal":
1422
1422
  return { kind: "user", userId: e.userId };
@@ -1426,14 +1426,14 @@ function Mt(e) {
1426
1426
  return { kind: "org" };
1427
1427
  }
1428
1428
  }
1429
- const kt = Mt;
1430
- function ui(e) {
1431
- return e.agentId ? { kind: "user", userId: e.agentId } : kt(e.ownerScope);
1429
+ const vt = Nt;
1430
+ function mi(e) {
1431
+ return e.agentId ? { kind: "user", userId: e.agentId } : vt(e.ownerScope);
1432
1432
  }
1433
- function di(e) {
1434
- return wt(e);
1433
+ function gi(e) {
1434
+ return Ot(e);
1435
1435
  }
1436
- function pi(e, t) {
1436
+ function hi(e, t) {
1437
1437
  if (!t) return;
1438
1438
  let n = e;
1439
1439
  for (const r of t.split(".")) {
@@ -1442,24 +1442,24 @@ function pi(e, t) {
1442
1442
  }
1443
1443
  return n;
1444
1444
  }
1445
- function fi(e, t) {
1445
+ function yi(e, t) {
1446
1446
  return e.targets.find((n) => n.activityTypes.includes(t));
1447
1447
  }
1448
- function mi(e, t) {
1448
+ function Ai(e, t) {
1449
1449
  if (t)
1450
1450
  return e.targets.find((n) => n.id === t);
1451
1451
  }
1452
- function Ct(e) {
1452
+ function Rt(e) {
1453
1453
  return e?.kind === "assignment";
1454
1454
  }
1455
- function gi(e) {
1455
+ function bi(e) {
1456
1456
  const { trigger: t, agentId: n, target: r, activityType: i, assigneeUserId: a, authorUserId: o } = e;
1457
- return Ct(t) ? n ? r ? r.activityTypes.includes(i) ? a ? a !== n ? "assigned to someone else" : o && o === n ? "the agent assigned this to itself, which would restart its own run" : null : `no assignee found at ${r.assigneePath}` : `activity type ${i} 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";
1457
+ return Rt(t) ? n ? r ? r.activityTypes.includes(i) ? a ? a !== n ? "assigned to someone else" : o && o === n ? "the agent assigned this to itself, which would restart its own run" : null : `no assignee found at ${r.assigneePath}` : `activity type ${i} 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";
1458
1458
  }
1459
- function hi(e) {
1459
+ function Si(e) {
1460
1460
  return (e.startsWith("tool:") ? e.slice(5) : e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
1461
1461
  }
1462
- const yi = [
1462
+ const Ei = [
1463
1463
  { name: "text", type: "string" },
1464
1464
  { name: "subject", type: "string" },
1465
1465
  { name: "from", type: "string" },
@@ -1493,7 +1493,7 @@ const yi = [
1493
1493
  // `buildTriggerVars` cannot fill it itself: the job does that with the catalog in hand, before
1494
1494
  // the trigger filter runs — like contactId/companyId above.
1495
1495
  { name: "assigneeUserId", type: "string" }
1496
- ], Ai = {
1496
+ ], _i = {
1497
1497
  topics: [
1498
1498
  { name: "topicId", type: "string" },
1499
1499
  { name: "topic", type: "string" },
@@ -1507,69 +1507,69 @@ const yi = [
1507
1507
  // Deliberately empty: the fields come from `ClassifyStep.fields` and so differ per step.
1508
1508
  extract: []
1509
1509
  };
1510
- function Ot(e) {
1510
+ function $t(e) {
1511
1511
  return `${e.type}:${e.id}`;
1512
1512
  }
1513
- const vt = "interaction";
1514
- function Nt(e) {
1515
- return e?.type === vt ? e.id : void 0;
1513
+ const xt = "interaction";
1514
+ function Dt(e) {
1515
+ return e?.type === xt ? e.id : void 0;
1516
1516
  }
1517
- const Rt = 64, $t = 8e3;
1518
- function bi(e) {
1517
+ const Lt = 64, Pt = 8e3;
1518
+ function Ti(e) {
1519
1519
  const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
1520
1520
  if (!(!Number.isFinite(t) || t <= 0))
1521
- return Math.min(Math.max(Math.round(t), Rt), $t);
1521
+ return Math.min(Math.max(Math.round(t), Lt), Pt);
1522
1522
  }
1523
- const Ei = { kind: "workflow", steps: [] };
1524
- function Si(e) {
1523
+ const Ii = { kind: "workflow", steps: [] };
1524
+ function wi(e) {
1525
1525
  return e?.kind === "workflow" ? e.steps : [];
1526
1526
  }
1527
- function _i(e) {
1527
+ function Mi(e) {
1528
1528
  return e?.kind === "procedure" ? e.procedure : void 0;
1529
1529
  }
1530
- const xt = ["done", "escalated", "failed", "stopped"];
1531
- function Ti(e) {
1532
- return xt.includes(e);
1530
+ const Ut = ["done", "escalated", "failed", "stopped"];
1531
+ function ki(e) {
1532
+ return Ut.includes(e);
1533
1533
  }
1534
- function Dt(e) {
1534
+ function Kt(e) {
1535
1535
  return e === "waiting";
1536
1536
  }
1537
- function Ii(e) {
1538
- return e === "running" || Dt(e);
1537
+ function Ci(e) {
1538
+ return e === "running" || Kt(e);
1539
1539
  }
1540
- function be(e) {
1540
+ function Ee(e) {
1541
1541
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
1542
1542
  }
1543
- function wi(e) {
1544
- const t = be(e);
1545
- return t ? Ot(t) : void 0;
1543
+ function Oi(e) {
1544
+ const t = Ee(e);
1545
+ return t ? $t(t) : void 0;
1546
1546
  }
1547
- function Mi(e) {
1548
- return Nt(be(e));
1547
+ function Ni(e) {
1548
+ return Dt(Ee(e));
1549
1549
  }
1550
- function ki(e, t) {
1550
+ function vi(e, t) {
1551
1551
  const n = e.accumulatedSeconds || 0;
1552
1552
  return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
1553
1553
  }
1554
- function Ci(e, t) {
1554
+ function Ri(e, t) {
1555
1555
  const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
1556
1556
  if (!t || t === "exact") return n * 60;
1557
1557
  const r = Number(t);
1558
1558
  return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
1559
1559
  }
1560
- function Oi(e) {
1560
+ function $i(e) {
1561
1561
  const t = Math.max(0, Math.round(e / 60));
1562
1562
  return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
1563
1563
  }
1564
- function vi(e) {
1564
+ function xi(e) {
1565
1565
  const t = Math.max(0, Math.floor(e)), n = (a) => String(a).padStart(2, "0"), r = Math.floor(t / 60) % 60, i = Math.floor(t / 3600);
1566
1566
  return i > 0 ? `${i}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
1567
1567
  }
1568
- function Lt(e) {
1568
+ function jt(e) {
1569
1569
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
1570
1570
  }
1571
- function Ni(e, t) {
1572
- const n = Lt(e) || "werksoort", r = new Set(t);
1571
+ function Di(e, t) {
1572
+ const n = jt(e) || "werksoort", r = new Set(t);
1573
1573
  if (!r.has(n)) return n;
1574
1574
  for (let i = 2; i < 500; i++) {
1575
1575
  const a = `${n}-${i}`;
@@ -1577,93 +1577,93 @@ function Ni(e, t) {
1577
1577
  }
1578
1578
  return `${n}-${r.size + 1}`;
1579
1579
  }
1580
- function Ri(e, t) {
1580
+ function Li(e, t) {
1581
1581
  const n = e.ownerScope;
1582
1582
  return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
1583
1583
  }
1584
- function $i(e) {
1585
- return e.filter((t) => !t.archived).sort(Pt);
1584
+ function Pi(e) {
1585
+ return e.filter((t) => !t.archived).sort(Gt);
1586
1586
  }
1587
- function Pt(e, t) {
1587
+ function Gt(e, t) {
1588
1588
  const n = (e.order ?? 0) - (t.order ?? 0);
1589
1589
  return n !== 0 ? n : (e.label || "").localeCompare(t.label || "");
1590
1590
  }
1591
- const Ut = 20, Kt = 20, O = 300;
1592
- function g(e) {
1591
+ const Bt = 20, Ht = 20, O = 300;
1592
+ function h(e) {
1593
1593
  return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
1594
1594
  }
1595
- function Gt(e) {
1595
+ function Ft(e) {
1596
1596
  const t = e.replace(/\s+/g, " ").trim();
1597
1597
  if (t.length <= O) return t;
1598
1598
  const n = t.slice(0, O), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
1599
1599
  return r > O * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
1600
1600
  }
1601
- function xi(e, t) {
1602
- const n = Gt(t.text), r = g(n);
1603
- if (!r || (e.examples ?? []).some((o) => g(o) === r)) return null;
1604
- const i = e.exampleCandidates ?? [], a = i.findIndex((o) => g(o.text) === r);
1601
+ function Ui(e, t) {
1602
+ const n = Ft(t.text), r = h(n);
1603
+ if (!r || (e.examples ?? []).some((o) => h(o) === r)) return null;
1604
+ const i = e.exampleCandidates ?? [], a = i.findIndex((o) => h(o.text) === r);
1605
1605
  if (a >= 0) {
1606
1606
  if (i[a].corrected || !t.corrected) return null;
1607
1607
  const o = [...i];
1608
1608
  return o[a] = { ...o[a], corrected: !0, addedAt: t.addedAt }, Q(o);
1609
1609
  }
1610
- return Q([{ ...t, text: n }, ...i]).slice(0, Kt);
1610
+ return Q([{ ...t, text: n }, ...i]).slice(0, Ht);
1611
1611
  }
1612
1612
  function Q(e) {
1613
1613
  return [...e].sort(
1614
1614
  (t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt
1615
1615
  );
1616
1616
  }
1617
- function Di(e, t) {
1618
- const n = g(t), r = (e.examples ?? []).filter((a) => a.trim());
1619
- return { examples: r.some((a) => g(a) === n) ? r : [...r, t].slice(-Ut), exampleCandidates: jt(e, t) };
1617
+ function Ki(e, t) {
1618
+ const n = h(t), r = (e.examples ?? []).filter((a) => a.trim());
1619
+ return { examples: r.some((a) => h(a) === n) ? r : [...r, t].slice(-Bt), exampleCandidates: Wt(e, t) };
1620
1620
  }
1621
- function jt(e, t) {
1622
- const n = g(t);
1623
- return (e.exampleCandidates ?? []).filter((r) => g(r.text) !== n);
1621
+ function Wt(e, t) {
1622
+ const n = h(t);
1623
+ return (e.exampleCandidates ?? []).filter((r) => h(r.text) !== n);
1624
1624
  }
1625
- function Bt(e, t) {
1625
+ function Vt(e, t) {
1626
1626
  const n = e.ownerScope;
1627
1627
  return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
1628
1628
  }
1629
- function Li(e, t) {
1630
- return e.filter((n) => Bt(n, t));
1629
+ function ji(e, t) {
1630
+ return e.filter((n) => Vt(n, t));
1631
1631
  }
1632
- function Pi(e) {
1632
+ function Gi(e) {
1633
1633
  return e.type === "agent";
1634
1634
  }
1635
- const Ui = "WORK_COMMENT_ADDED", Ki = "WORK_ITEM_ASSIGNED", Gi = "WORK_ITEM_STATUS_CHANGED", Ht = 864e5;
1636
- function Ft(e, t) {
1635
+ const Bi = "WORK_COMMENT_ADDED", Hi = "WORK_ITEM_ASSIGNED", Fi = "WORK_ITEM_STATUS_CHANGED";
1636
+ function zt(e, t) {
1637
1637
  const n = (r) => {
1638
1638
  const i = new Date(r);
1639
1639
  return i.setHours(0, 0, 0, 0), i.getTime();
1640
1640
  };
1641
- return Math.round((n(e) - n(t)) / Ht);
1641
+ return Math.round((n(e) - n(t)) / st);
1642
1642
  }
1643
- function ji(e, t) {
1644
- if (e.closedAt != null) return { score: h, reasons: [] };
1643
+ function Wi(e, t) {
1644
+ if (e.closedAt != null) return { score: g, reasons: [] };
1645
1645
  const n = t.remindersById?.[e.id];
1646
- if (n && n.remindAt > t.now) return { score: h, reasons: [] };
1646
+ if (n && n.remindAt > t.now) return { score: g, reasons: [] };
1647
1647
  let r = 0;
1648
1648
  const i = [], a = e.priority ?? "normal";
1649
1649
  if (_[a] > 0 && (r += _[a], i.push(`priority:${a}`)), typeof e.dueDate == "number") {
1650
- const o = Ft(e.dueDate, t.now);
1650
+ const o = zt(e.dueDate, t.now);
1651
1651
  o < 0 ? (r += 35, i.push("overdue")) : o === 0 && (r += 20, i.push("due-today"));
1652
1652
  }
1653
1653
  return e.source?.initiator === "system" && e.source.systemReason && (r += 15, i.push(`auto:${e.source.systemReason}`)), { score: r, reasons: i };
1654
1654
  }
1655
- const Wt = "work_item", Vt = "work_project";
1656
- function zt(e) {
1657
- return `${Wt}:${e}`;
1655
+ const Xt = "work_item", Yt = "work_project";
1656
+ function qt(e) {
1657
+ return `${Xt}:${e}`;
1658
1658
  }
1659
- function Ee(e) {
1660
- return `${Vt}:${e}`;
1659
+ function _e(e) {
1660
+ return `${Yt}:${e}`;
1661
1661
  }
1662
- function Bi(e, t, n) {
1662
+ function Vi(e, t, n) {
1663
1663
  const r = `${e}-${t}`;
1664
1664
  return n ? `${r}-${n}` : r;
1665
1665
  }
1666
- function Hi(e) {
1666
+ function zi(e) {
1667
1667
  const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
1668
1668
  return t ? {
1669
1669
  projectKey: t[1].toUpperCase(),
@@ -1671,52 +1671,52 @@ function Hi(e) {
1671
1671
  ...t[3] ? { subSequence: Number(t[3]) } : {}
1672
1672
  } : null;
1673
1673
  }
1674
- function Fi(e) {
1674
+ function Xi(e) {
1675
1675
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
1676
1676
  }
1677
- function Wi(e, t = 25) {
1678
- const n = /* @__PURE__ */ new Set([zt(e.id)]);
1679
- e.projectId && n.add(Ee(e.projectId));
1677
+ function Yi(e, t = 25) {
1678
+ const n = /* @__PURE__ */ new Set([qt(e.id)]);
1679
+ e.projectId && n.add(_e(e.projectId));
1680
1680
  for (const r of e.ancestorKeys ?? []) n.add(r);
1681
1681
  for (const r of e.partyKeys ?? []) n.add(r);
1682
1682
  return Array.from(n).slice(0, t);
1683
1683
  }
1684
- function Vi(e) {
1685
- return [Ee(e.id)];
1684
+ function qi(e) {
1685
+ return [_e(e.id)];
1686
1686
  }
1687
1687
  const $ = [
1688
1688
  { key: "open", label: "status_open", category: "todo", order: 0 },
1689
1689
  { key: "in_progress", label: "status_in_progress", category: "in_progress", order: 1 },
1690
1690
  { key: "done", label: "status_done", category: "done", order: 2 },
1691
1691
  { key: "cancelled", label: "status_cancelled", category: "done", order: 3 }
1692
- ], Se = $.map((e) => e.key);
1693
- function Xt(e) {
1692
+ ], Te = $.map((e) => e.key);
1693
+ function Jt(e) {
1694
1694
  return e?.statuses?.length ? e.statuses : $;
1695
1695
  }
1696
- function Yt(e, t) {
1696
+ function Zt(e, t) {
1697
1697
  return t.find((n) => n.key === e)?.category ?? "todo";
1698
1698
  }
1699
- function zi(e, t) {
1699
+ function Ji(e, t) {
1700
1700
  return t.find((n) => n.key === e);
1701
1701
  }
1702
- function Xi(e) {
1703
- const t = Xt(e), n = e?.defaultStatusKey;
1704
- return n && t.some((r) => r.key === n) ? n : qt(t)[0]?.key ?? $[0].key;
1702
+ function Zi(e) {
1703
+ const t = Jt(e), n = e?.defaultStatusKey;
1704
+ return n && t.some((r) => r.key === n) ? n : Qt(t)[0]?.key ?? $[0].key;
1705
1705
  }
1706
- function qt(e) {
1706
+ function Qt(e) {
1707
1707
  return [...e].sort((t, n) => {
1708
1708
  const r = (t.order ?? 0) - (n.order ?? 0);
1709
1709
  return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
1710
1710
  });
1711
1711
  }
1712
- function Yi(e, t) {
1713
- return Yt(e, t) === "done";
1712
+ function Qi(e, t) {
1713
+ return Zt(e, t) === "done";
1714
1714
  }
1715
- function Jt(e) {
1715
+ function en(e) {
1716
1716
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
1717
1717
  }
1718
- function qi(e, t) {
1719
- const n = Jt(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Se]);
1718
+ function ea(e, t) {
1719
+ const n = en(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Te]);
1720
1720
  if (!r.has(n)) return n;
1721
1721
  for (let i = 2; i < 500; i++) {
1722
1722
  const a = `${n}-${i}`;
@@ -1724,7 +1724,7 @@ function qi(e, t) {
1724
1724
  }
1725
1725
  return `${n}-${r.size + 1}`;
1726
1726
  }
1727
- function Ji(e) {
1727
+ function ta(e) {
1728
1728
  const t = [];
1729
1729
  if (!e.length) return [{ index: -1, reason: "empty" }];
1730
1730
  const n = /* @__PURE__ */ new Set();
@@ -1733,10 +1733,10 @@ function Ji(e) {
1733
1733
  t.push({ index: i, reason: "missing_key" });
1734
1734
  return;
1735
1735
  }
1736
- Se.includes(r.key) && t.push({ index: i, reason: "reserved_key", key: r.key }), n.has(r.key) && t.push({ index: i, reason: "duplicate_key", key: r.key }), n.add(r.key);
1736
+ Te.includes(r.key) && t.push({ index: i, reason: "reserved_key", key: r.key }), n.has(r.key) && t.push({ index: i, reason: "duplicate_key", key: r.key }), n.add(r.key);
1737
1737
  }), 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;
1738
1738
  }
1739
- const Zt = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), Qt = /* @__PURE__ */ new Set([
1739
+ const tn = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), nn = /* @__PURE__ */ new Set([
1740
1740
  "text/plain",
1741
1741
  "text/markdown",
1742
1742
  "text/csv",
@@ -1745,56 +1745,67 @@ const Zt = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
1745
1745
  "application/xml",
1746
1746
  "text/xml"
1747
1747
  ]);
1748
- function en(e) {
1748
+ function rn(e) {
1749
1749
  const t = (e ?? "").trim().toLowerCase().split(";")[0];
1750
- return t ? Zt.has(t) ? "image" : t === "application/pdf" ? "pdf" : Qt.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
1750
+ return t ? tn.has(t) ? "image" : t === "application/pdf" ? "pdf" : nn.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
1751
1751
  }
1752
- const y = 1024 * 1024, tn = {
1752
+ const y = 1024 * 1024, an = {
1753
1753
  image: 5 * y,
1754
1754
  pdf: 20 * y,
1755
1755
  text: 1 * y,
1756
1756
  audio: 20 * y
1757
- }, Zi = 25 * y, Qi = 5;
1758
- function ea(e, t) {
1759
- const n = en(e);
1760
- return n === "unsupported" ? "unsupported" : t > tn[n] ? "too-large" : null;
1757
+ }, na = 25 * y, ra = 5;
1758
+ function ia(e, t) {
1759
+ const n = rn(e);
1760
+ return n === "unsupported" ? "unsupported" : t > an[n] ? "too-large" : null;
1761
+ }
1762
+ function aa(e) {
1763
+ return e.access !== "read" && e.effect !== "internal";
1761
1764
  }
1762
- function nn(e) {
1765
+ function on(e) {
1763
1766
  return `${e.kind}:${e.id || e.url || e.title}`;
1764
1767
  }
1765
- function ta(e, t = []) {
1768
+ function oa(e, t = []) {
1766
1769
  const n = new Set(t), r = [], i = [];
1767
1770
  for (const a of e) {
1768
- const o = nn(a);
1771
+ const o = on(a);
1769
1772
  n.has(o) || (n.add(o), r.push(a), i.push(o));
1770
1773
  }
1771
1774
  return { sources: r, keys: i };
1772
1775
  }
1773
- const na = "assist-source";
1774
- function ra(e) {
1776
+ const sa = "assist-source", ca = ["blocking", "due", "open"];
1777
+ function la(e, t) {
1778
+ const [n, r] = (e.subjectKey ?? "").split(":");
1779
+ return n === t && r ? r : void 0;
1780
+ }
1781
+ const ee = { blocking: 0, due: 1, open: 2 };
1782
+ function ua(e, t) {
1783
+ return ee[e.band ?? "open"] - ee[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
1784
+ }
1785
+ function da(e) {
1775
1786
  return e.sessions.filter(
1776
1787
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
1777
1788
  );
1778
1789
  }
1779
- function ia(e) {
1790
+ function pa(e) {
1780
1791
  return e.sessions.filter(
1781
1792
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
1782
1793
  );
1783
1794
  }
1784
- function aa(e) {
1795
+ function fa(e) {
1785
1796
  return e.sessions.some(
1786
1797
  (n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
1787
1798
  ) ? { admit: !1, reason: "busy" } : { admit: !0 };
1788
1799
  }
1789
- function rn(e, t) {
1790
- const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, i = t.intents.filter((o) => !n.has(o.intent)).map((o) => on(o, r[o.intent]));
1800
+ function sn(e, t) {
1801
+ const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, i = t.intents.filter((o) => !n.has(o.intent)).map((o) => ln(o, r[o.intent]));
1791
1802
  if (!e.extraIntents || e.extraIntents.length === 0) return i;
1792
1803
  const a = new Set(i.map((o) => o.intent));
1793
1804
  for (const o of e.extraIntents)
1794
1805
  a.has(o.intent) || (i.push(o), a.add(o.intent));
1795
1806
  return i;
1796
1807
  }
1797
- function an(e, t) {
1808
+ function cn(e, t) {
1798
1809
  const n = {};
1799
1810
  for (const r of e.intents) {
1800
1811
  if (!r.togglable) continue;
@@ -1803,46 +1814,46 @@ function an(e, t) {
1803
1814
  }
1804
1815
  return n;
1805
1816
  }
1806
- function oa(e, t) {
1807
- const n = an(e, t);
1817
+ function ma(e, t) {
1818
+ const n = cn(e, t);
1808
1819
  return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
1809
1820
  }
1810
- function on(e, t) {
1821
+ function ln(e, t) {
1811
1822
  return t ? {
1812
1823
  intent: t.intent ?? e.intent,
1813
1824
  targetSchemes: t.targetSchemes ?? e.targetSchemes,
1814
1825
  transport: t.transport ?? e.transport
1815
1826
  } : e;
1816
1827
  }
1817
- function sa(e, t) {
1828
+ function ga(e, t) {
1818
1829
  const n = [];
1819
1830
  for (const r of e) {
1820
1831
  if (!r.enabled) continue;
1821
1832
  const i = t[r.providerId];
1822
1833
  if (i)
1823
- for (const a of rn(r, i))
1834
+ for (const a of sn(r, i))
1824
1835
  n.push({ channel: r, description: i, capability: a });
1825
1836
  }
1826
1837
  return n;
1827
1838
  }
1828
- function ca(e, t) {
1839
+ function ha(e, t) {
1829
1840
  return t.filter((n) => n.capability.intent === e);
1830
1841
  }
1831
- function sn(e, t) {
1842
+ function un(e, t) {
1832
1843
  return t.filter((n) => n.capability.targetSchemes.includes(e));
1833
1844
  }
1834
- function la(e, t) {
1835
- return sn(e.scheme, t);
1845
+ function ya(e, t) {
1846
+ return un(e.scheme, t);
1836
1847
  }
1837
- function ua(e, t, n) {
1848
+ function Aa(e, t, n) {
1838
1849
  const r = [];
1839
1850
  for (const i of e)
1840
1851
  for (const a of n)
1841
1852
  a.capability.intent === t && a.capability.targetSchemes.includes(i.scheme) && r.push({ channelIntent: a, endpoint: i });
1842
1853
  return r;
1843
1854
  }
1844
- var cn = /* @__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))(cn || {});
1845
- const ln = {
1855
+ var dn = /* @__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))(dn || {});
1856
+ const pn = {
1846
1857
  mailto: "mail",
1847
1858
  sip: "tel",
1848
1859
  tel: "tel",
@@ -1863,10 +1874,10 @@ const ln = {
1863
1874
  id: "note",
1864
1875
  custom: "note"
1865
1876
  };
1866
- function da(e) {
1867
- return e ? ln[e] ?? "note" : "note";
1877
+ function ba(e) {
1878
+ return e ? pn[e] ?? "note" : "note";
1868
1879
  }
1869
- const pa = "message_window", fa = "message_templates", ma = {
1880
+ const Sa = "message_window", Ea = "message_templates", _a = {
1870
1881
  // E-mail
1871
1882
  FROM: "from",
1872
1883
  TO: "to",
@@ -1883,11 +1894,19 @@ const pa = "message_window", fa = "message_templates", ma = {
1883
1894
  // Voice/conference
1884
1895
  HOST: "host",
1885
1896
  PARTICIPANT: "participant"
1886
- }, ga = (e, t) => ({ intent: e, ...t }), ha = "folder_management", ya = "remote_search", Aa = {
1897
+ }, Ta = (e, t) => ({ intent: e, ...t }), Ia = "folder_management", wa = "remote_search", Ma = {
1887
1898
  ok: !1,
1888
1899
  code: "UNSUPPORTED",
1889
1900
  message: "Provider does not support this op"
1890
- }, ba = "installation-id", Ea = "notification-source", Sa = (e, t) => `${e}.pref.${t}`, _a = {
1901
+ }, ka = "installation-id";
1902
+ function Ca(e) {
1903
+ const t = [];
1904
+ for (const n of Object.keys(e))
1905
+ for (const r of Object.keys(e[n]))
1906
+ t.push({ lang: n, key: r, value: e[n][r] });
1907
+ return t;
1908
+ }
1909
+ const Oa = "notification-source", Na = (e, t) => `${e}.pref.${t}`, va = {
1891
1910
  ai: [
1892
1911
  "account.read",
1893
1912
  "account.write",
@@ -2020,48 +2039,48 @@ const pa = "message_window", fa = "message_templates", ma = {
2020
2039
  time: ["entry.read", "entry.write", "work-type.read", "work-type.write"],
2021
2040
  user: ["user.read", "user.write"],
2022
2041
  work: ["item.read", "item.write", "project.read", "project.write"]
2023
- }, _e = 9e4, un = ["out_of_office"], Te = (e) => un.includes(e);
2024
- function Ta(e, t, n) {
2025
- const r = n - e < _e, i = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
2042
+ }, Ie = 9e4, fn = ["out_of_office"], we = (e) => fn.includes(e);
2043
+ function Ra(e, t, n) {
2044
+ const r = n - e < Ie, i = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
2026
2045
  if (!i?.status) return { online: r, status: r ? "available" : "offline" };
2027
2046
  const a = i.status;
2028
- return !r && !Te(a) ? { online: !1, status: "offline" } : { online: r, status: a, message: i.message };
2047
+ return !r && !we(a) ? { online: !1, status: "offline" } : { online: r, status: a, message: i.message };
2029
2048
  }
2030
- function Ia(e, t) {
2031
- const n = t - e.lastSeenAt < _e, r = n || Te(e.status) ? e.status : "offline";
2049
+ function $a(e, t) {
2050
+ const n = t - e.lastSeenAt < Ie, r = n || we(e.status) ? e.status : "offline";
2032
2051
  return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
2033
2052
  }
2034
- function wa(e, t) {
2053
+ function xa(e, t) {
2035
2054
  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 };
2036
2055
  }
2037
- function Ma(e) {
2056
+ function Da(e) {
2038
2057
  return e.providerAvailable && e.allowed;
2039
2058
  }
2040
- const ka = "resources.describe", Ca = "resources.search", Oa = "resources.resolve";
2041
- function va(e) {
2059
+ const La = "resources.describe", Pa = "resources.search", Ua = "resources.resolve";
2060
+ function Ka(e) {
2042
2061
  const t = e.indexOf(":");
2043
2062
  return t === -1 ? e : e.slice(0, t);
2044
2063
  }
2045
- const Ie = "auth";
2046
- function we(e) {
2064
+ const Me = "auth";
2065
+ function ke(e) {
2047
2066
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
2048
2067
  return t ? t[1] : null;
2049
2068
  }
2050
- function Na(e) {
2051
- const t = we(e);
2052
- return t ? t !== Ie : typeof e == "string" && e.startsWith("/wake");
2069
+ function ja(e) {
2070
+ const t = ke(e);
2071
+ return t ? t !== Me : typeof e == "string" && e.startsWith("/wake");
2053
2072
  }
2054
- function Ra(e) {
2055
- return typeof e != "string" || e === "" || e === "/" ? !0 : we(e) === Ie;
2073
+ function Ga(e) {
2074
+ return typeof e != "string" || e === "" || e === "/" ? !0 : ke(e) === Me;
2056
2075
  }
2057
- function dn(e) {
2076
+ function mn(e) {
2058
2077
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
2059
2078
  }
2060
- function pn(e) {
2061
- const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${dn(r)}`).join("");
2079
+ function gn(e) {
2080
+ const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${mn(r)}`).join("");
2062
2081
  return new RegExp(`^${n}\\/?$`);
2063
2082
  }
2064
- function fn(e, t) {
2083
+ function hn(e, t) {
2065
2084
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean), i = {};
2066
2085
  return n.forEach((a, o) => {
2067
2086
  if (a.startsWith(":")) {
@@ -2070,14 +2089,14 @@ function fn(e, t) {
2070
2089
  }
2071
2090
  }), i;
2072
2091
  }
2073
- function mn(e) {
2092
+ function yn(e) {
2074
2093
  return e.publicBasePath ?? `/apps/${e.name}`;
2075
2094
  }
2076
- function $a(e) {
2095
+ function Ba(e) {
2077
2096
  const t = [];
2078
2097
  for (const n of e) {
2079
2098
  if (!n?.name) continue;
2080
- const r = mn(n);
2099
+ const r = yn(n);
2081
2100
  for (const i of n.routes ?? []) {
2082
2101
  if (!i.public) continue;
2083
2102
  const a = i.path === "/" ? "" : i.path;
@@ -2091,7 +2110,7 @@ function $a(e) {
2091
2110
  }
2092
2111
  return t;
2093
2112
  }
2094
- function gn(e, t) {
2113
+ function An(e, t) {
2095
2114
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean);
2096
2115
  for (let i = 0; i < Math.min(n.length, r.length); i++) {
2097
2116
  const a = n[i].startsWith(":"), o = r[i].startsWith(":");
@@ -2099,17 +2118,17 @@ function gn(e, t) {
2099
2118
  }
2100
2119
  return n.length > r.length;
2101
2120
  }
2102
- function hn(e, t) {
2121
+ function bn(e, t) {
2103
2122
  if (typeof e != "string") return null;
2104
2123
  let n = null;
2105
2124
  for (const r of t)
2106
- pn(r.pattern).test(e) && (!n || gn(r.pattern, n.pattern)) && (n = r);
2107
- return n ? { ...n, params: { ...n.props, ...fn(n.pattern, e) } } : null;
2125
+ gn(r.pattern).test(e) && (!n || An(r.pattern, n.pattern)) && (n = r);
2126
+ return n ? { ...n, params: { ...n.props, ...hn(n.pattern, e) } } : null;
2108
2127
  }
2109
- function xa(e, t) {
2110
- return hn(e, t) !== null;
2128
+ function Ha(e, t) {
2129
+ return bn(e, t) !== null;
2111
2130
  }
2112
- const Da = "sync-source", La = "sync-target", Pa = 20, yn = {
2131
+ const Fa = "sync-source", Wa = "sync-target", Va = 20, Sn = {
2113
2132
  afrikaans: [
2114
2133
  "[Muziek]",
2115
2134
  "(C) TV GELDERLAND 2021",
@@ -2259,14 +2278,14 @@ const Da = "sync-source", La = "sync-target", Pa = 20, yn = {
2259
2278
  "[MÚSICA]",
2260
2279
  "[Music cuts in British]"
2261
2280
  ]
2262
- }, An = (e) => {
2281
+ }, En = (e) => {
2263
2282
  let t = e;
2264
- return Object.values(yn).forEach((n) => {
2283
+ return Object.values(Sn).forEach((n) => {
2265
2284
  n.forEach((r) => {
2266
2285
  t = t.replaceAll(r, "");
2267
2286
  });
2268
2287
  }), t = t.replace(/\(.*?\)/g, ""), t = t.replace(/\[.*?\]/g, ""), t;
2269
- }, bn = 6e4, En = 8e3, Sn = 2, _n = 0.4, Tn = 3, In = /* @__PURE__ */ new Set([
2288
+ }, _n = 6e4, Tn = 8e3, In = 2, wn = 0.4, Mn = 3, kn = /* @__PURE__ */ new Set([
2270
2289
  "aan",
2271
2290
  "als",
2272
2291
  "ben",
@@ -2379,13 +2398,13 @@ const Da = "sync-source", La = "sync-target", Pa = 20, yn = {
2379
2398
  "you",
2380
2399
  "your"
2381
2400
  ]);
2382
- function wn(e) {
2401
+ function Cn(e) {
2383
2402
  const t = /* @__PURE__ */ new Set();
2384
2403
  for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
2385
- n.length < Tn || In.has(n) || t.add(n);
2404
+ n.length < Mn || kn.has(n) || t.add(n);
2386
2405
  return [...t];
2387
2406
  }
2388
- function Mn(e, t) {
2407
+ function On(e, t) {
2389
2408
  if (!e.length) return 0;
2390
2409
  if (!t.length) return 1;
2391
2410
  const n = new Set(t), r = new Set(e);
@@ -2393,32 +2412,32 @@ function Mn(e, t) {
2393
2412
  for (const a of r) n.has(a) || (i += 1);
2394
2413
  return i / r.size;
2395
2414
  }
2396
- function kn(e, t = bn) {
2415
+ function Nn(e, t = _n) {
2397
2416
  const n = e.filter((o) => !o.partial && typeof o.text == "string");
2398
2417
  if (!n.length) return { text: "", segmentCount: 0 };
2399
2418
  const i = n.reduce((o, s) => Math.max(o, s.endedAt ?? 0), 0) - t;
2400
- return { text: n.filter((o) => (o.endedAt ?? 0) >= i).map((o) => An(o.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
2419
+ return { text: n.filter((o) => (o.endedAt ?? 0) >= i).map((o) => En(o.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
2401
2420
  }
2402
- const Cn = 60;
2403
- function Ua(e, t, n = Cn) {
2421
+ const vn = 60;
2422
+ function za(e, t, n = vn) {
2404
2423
  const r = new Set(e), i = [...e];
2405
2424
  for (const a of t)
2406
2425
  !a || r.has(a) || (r.add(a), i.push(a));
2407
2426
  return i.slice(-n);
2408
2427
  }
2409
- function Ka(e) {
2428
+ function Xa(e) {
2410
2429
  const { segments: t, now: n, state: r } = e;
2411
- if (r.lastTriggerAt && n - r.lastTriggerAt < En)
2430
+ if (r.lastTriggerAt && n - r.lastTriggerAt < Tn)
2412
2431
  return { trigger: !1, reason: "too_soon" };
2413
- const i = kn(t, e.windowMs);
2432
+ const i = Nn(t, e.windowMs);
2414
2433
  if (!i.text) return { trigger: !1, reason: "no_speech" };
2415
2434
  const a = i.segmentCount - (r.lastSegmentCount ?? 0);
2416
- if (r.lastQueryTerms && a < Sn)
2435
+ if (r.lastQueryTerms && a < In)
2417
2436
  return { trigger: !1, reason: "too_few_new" };
2418
- const o = wn(i.text);
2419
- return o.length ? r.lastQueryTerms?.length && Mn(o, r.lastQueryTerms) < _n ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: i.text, terms: o, segmentCount: i.segmentCount } : { trigger: !1, reason: "no_speech" };
2437
+ const o = Cn(i.text);
2438
+ return o.length ? r.lastQueryTerms?.length && On(o, r.lastQueryTerms) < wn ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: i.text, terms: o, segmentCount: i.segmentCount } : { trigger: !1, reason: "no_speech" };
2420
2439
  }
2421
- const Ga = "navNotice", x = {
2440
+ const Ya = "navNotice", x = {
2422
2441
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
2423
2442
  // shorter than geographic numbers, and a too-strict minimum silently drops them.
2424
2443
  // An over-permissive key is harmless — it simply matches nothing.
@@ -2441,81 +2460,81 @@ const Ga = "navNotice", x = {
2441
2460
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
2442
2461
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
2443
2462
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
2444
- }, On = "NL", vn = 15, Nn = 8, Rn = Array.from(
2463
+ }, Rn = "NL", $n = 15, xn = 8, Dn = Array.from(
2445
2464
  new Set(Object.values(x).map((e) => e.callingCode))
2446
2465
  ).sort((e, t) => t.length - e.length);
2447
- function ee(e) {
2466
+ function te(e) {
2448
2467
  if (e)
2449
2468
  return x[e.trim().toUpperCase()];
2450
2469
  }
2451
- function S(e, t) {
2470
+ function E(e, t) {
2452
2471
  return e.length >= t.nsnMin && e.length <= t.nsnMax;
2453
2472
  }
2454
- function te(e) {
2455
- if (e.length > vn) return null;
2456
- for (const t of Rn) {
2473
+ function ne(e) {
2474
+ if (e.length > $n) return null;
2475
+ for (const t of Dn) {
2457
2476
  if (!e.startsWith(t)) continue;
2458
2477
  const n = e.slice(t.length);
2459
2478
  for (const r of Object.values(x)) {
2460
2479
  if (r.callingCode !== t) continue;
2461
2480
  const i = r.trunkPrefix, a = i && n.startsWith(i) ? n.slice(i.length) : n;
2462
- if (S(a, r)) return `+${t}${a}`;
2481
+ if (E(a, r)) return `+${t}${a}`;
2463
2482
  }
2464
2483
  return null;
2465
2484
  }
2466
- return e.length < Nn ? null : `+${e}`;
2485
+ return e.length < xn ? null : `+${e}`;
2467
2486
  }
2468
- function $n(e) {
2487
+ function Ln(e) {
2469
2488
  let t = e.trim();
2470
2489
  const n = t.match(/^(sips?|tel|whatsapp):/i);
2471
2490
  n && (t = t.slice(n[0].length));
2472
2491
  const r = t.indexOf("@");
2473
2492
  return r >= 0 && (t = t.slice(0, r)), t.trim();
2474
2493
  }
2475
- function ja(e) {
2494
+ function qa(e) {
2476
2495
  if (!e) return !1;
2477
2496
  const t = e.indexOf("@");
2478
2497
  if (t <= 0) return !1;
2479
2498
  const n = e.slice(0, t).trim();
2480
2499
  return !/^[+\d\s().-]+$/.test(n);
2481
2500
  }
2482
- function ne(e, t) {
2501
+ function re(e, t) {
2483
2502
  if (!e) return null;
2484
- const n = $n(e);
2503
+ const n = Ln(e);
2485
2504
  if (!n) return null;
2486
2505
  const r = n.startsWith("+"), i = n.replace(/\D/g, "");
2487
2506
  if (!i) return null;
2488
- if (r) return te(i);
2489
- if (i.startsWith("00")) return te(i.slice(2));
2490
- const a = ee(t) ?? ee(On);
2507
+ if (r) return ne(i);
2508
+ if (i.startsWith("00")) return ne(i.slice(2));
2509
+ const a = te(t) ?? te(Rn);
2491
2510
  if (!a) return null;
2492
2511
  const o = a.trunkPrefix;
2493
2512
  if (o && i.startsWith(o)) {
2494
2513
  const s = i.slice(o.length);
2495
- return S(s, a) ? `+${a.callingCode}${s}` : null;
2514
+ return E(s, a) ? `+${a.callingCode}${s}` : null;
2496
2515
  }
2497
2516
  if (i.startsWith(a.callingCode)) {
2498
2517
  const s = i.slice(a.callingCode.length);
2499
- if (S(s, a)) return `+${a.callingCode}${s}`;
2518
+ if (E(s, a)) return `+${a.callingCode}${s}`;
2500
2519
  }
2501
- return !o && S(i, a) ? `+${a.callingCode}${i}` : null;
2520
+ return !o && E(i, a) ? `+${a.callingCode}${i}` : null;
2502
2521
  }
2503
- function Ba(e, t = 9) {
2522
+ function Ja(e, t = 9) {
2504
2523
  const n = (e ?? "").replace(/\D/g, "");
2505
2524
  return n.length < t ? null : n.slice(-t);
2506
2525
  }
2507
- function Me(e) {
2526
+ function Ce(e) {
2508
2527
  if (!e) return null;
2509
2528
  const t = e.trim().toLowerCase(), n = t.lastIndexOf("@");
2510
2529
  if (n <= 0 || n === t.length - 1) return null;
2511
2530
  const r = t.slice(0, n).split("+")[0], i = t.slice(n + 1);
2512
2531
  return !r || !i.includes(".") ? null : `${r}@${i}`;
2513
2532
  }
2514
- function Ha(e) {
2515
- const t = Me(e);
2533
+ function Za(e) {
2534
+ const t = Ce(e);
2516
2535
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
2517
2536
  }
2518
- const xn = /* @__PURE__ */ new Set([
2537
+ const Pn = /* @__PURE__ */ new Set([
2519
2538
  "co.uk",
2520
2539
  "org.uk",
2521
2540
  "gov.uk",
@@ -2525,14 +2544,14 @@ const xn = /* @__PURE__ */ new Set([
2525
2544
  "com.br",
2526
2545
  "co.za"
2527
2546
  ]);
2528
- function Dn(e) {
2547
+ function Un(e) {
2529
2548
  if (!e) return null;
2530
2549
  const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
2531
2550
  if (t.length < 2) return null;
2532
2551
  const n = t.slice(-2).join(".");
2533
- return xn.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
2552
+ return Pn.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
2534
2553
  }
2535
- const Ln = /* @__PURE__ */ new Set([
2554
+ const Kn = /* @__PURE__ */ new Set([
2536
2555
  "gmail.com",
2537
2556
  "googlemail.com",
2538
2557
  "outlook.com",
@@ -2577,44 +2596,44 @@ const Ln = /* @__PURE__ */ new Set([
2577
2596
  "proximus.be",
2578
2597
  "scarlet.be"
2579
2598
  ]);
2580
- function Fa(e) {
2581
- const t = Dn(e);
2582
- return t ? Ln.has(t) : !1;
2599
+ function Qa(e) {
2600
+ const t = Un(e);
2601
+ return t ? Kn.has(t) : !1;
2583
2602
  }
2584
- function Wa(e) {
2603
+ function eo(e) {
2585
2604
  if (!e) return !1;
2586
2605
  const t = e.trim().toLowerCase();
2587
2606
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
2588
2607
  }
2589
- function Va(e, t, n) {
2608
+ function to(e, t, n) {
2590
2609
  if (!e || !t) return null;
2591
2610
  const r = e.trim().toLowerCase();
2592
2611
  if (r === "tel" || r === "sms" || r === "whatsapp") {
2593
- const a = ne(t, n);
2612
+ const a = re(t, n);
2594
2613
  return a ? `tel:${a}` : null;
2595
2614
  }
2596
2615
  if (r === "fax") {
2597
- const a = ne(t, n);
2616
+ const a = re(t, n);
2598
2617
  return a ? `fax:${a}` : null;
2599
2618
  }
2600
2619
  if (r === "mailto" || r === "email") {
2601
- const a = Me(t);
2620
+ const a = Ce(t);
2602
2621
  return a ? `mailto:${a}` : null;
2603
2622
  }
2604
2623
  const i = t.trim().toLowerCase();
2605
2624
  return i ? `${r}:${i}` : null;
2606
2625
  }
2607
- const Pn = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, Un = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
2608
- function za(e) {
2626
+ const jn = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, Gn = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
2627
+ function no(e) {
2609
2628
  if (typeof e != "string" || !e) return "";
2610
2629
  let t = e;
2611
2630
  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(`
2612
2631
  `).map(
2613
2632
  (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,}$/, "")
2614
2633
  ).join(`
2615
- `), t = t.replace(Pn, "$2"), t = t.replace(Un, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
2634
+ `), t = t.replace(jn, "$2"), t = t.replace(Gn, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
2616
2635
  }
2617
- const Kn = [
2636
+ const Bn = [
2618
2637
  /<blockquote/i,
2619
2638
  /class="?gmail_quote/i,
2620
2639
  // Gmail quote container
@@ -2627,17 +2646,17 @@ const Kn = [
2627
2646
  // Outlook underscore separator before "From:"
2628
2647
  /\bOn\b[\s\S]{0,200}?\bwrote:/i
2629
2648
  // Gmail "On <date> <name> wrote:"
2630
- ], re = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Gn = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
2631
- function jn(e) {
2649
+ ], ie = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Hn = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
2650
+ function Fn(e) {
2632
2651
  const t = e.split(`
2633
2652
  `);
2634
2653
  for (let n = 0; n < t.length; n++)
2635
- if (Gn.test(t[n]) || re.test(t[n]) && t.slice(n + 1, n + 4).some((r) => re.test(r)))
2654
+ if (Hn.test(t[n]) || ie.test(t[n]) && t.slice(n + 1, n + 4).some((r) => ie.test(r)))
2636
2655
  return t.slice(0, n).join(`
2637
2656
  `).trim();
2638
2657
  return e;
2639
2658
  }
2640
- function ie(e) {
2659
+ function ae(e) {
2641
2660
  let t = e;
2642
2661
  return t = t.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), t = t.replace(/<br\s*\/?>/gi, `
2643
2662
  `), t = t.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
@@ -2645,324 +2664,333 @@ function ie(e) {
2645
2664
  `), t = t.replace(/<\/(div|li|tr)>/gi, `
2646
2665
  `), t = t.replace(/<\/(td|th)>/gi, " "), t = t.replace(/<[^>]+>/g, ""), t = t.replace(/<[^>]*$/, ""), t;
2647
2666
  }
2648
- function ae(e) {
2649
- return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
2650
- }
2651
2667
  function oe(e) {
2652
- return e.replace(/&nbsp;/gi, " ").replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => ae(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => ae(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
2668
+ return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
2653
2669
  }
2654
2670
  function se(e) {
2671
+ return e.replace(/&nbsp;/gi, " ").replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => oe(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => oe(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
2672
+ }
2673
+ function ce(e) {
2655
2674
  return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
2656
2675
  `).replace(/\n{3,}/g, `
2657
2676
 
2658
2677
  `).trim();
2659
2678
  }
2660
- const Bn = /<\s*(html|body|div|p|table|br|span)\b/i;
2661
- function Xa(e) {
2662
- return Bn.test(e);
2679
+ const Wn = /<\s*(html|body|div|p|table|br|span)\b/i;
2680
+ function ro(e) {
2681
+ return Wn.test(e);
2663
2682
  }
2664
- function Ya(e) {
2683
+ function io(e) {
2665
2684
  if (typeof e != "string" || !e) return "";
2666
2685
  let t = e.length;
2667
- for (const a of Kn) {
2686
+ for (const a of Bn) {
2668
2687
  const o = e.search(a);
2669
2688
  o >= 0 && o < t && (t = o);
2670
2689
  }
2671
2690
  const n = e.slice(0, t);
2672
- let r = se(oe(ie(n)));
2673
- return r || (r = se(oe(ie(e)))), jn(r) || r;
2691
+ let r = ce(se(ae(n)));
2692
+ return r || (r = ce(se(ae(e)))), Fn(r) || r;
2674
2693
  }
2675
2694
  export {
2676
2695
  m as ACTIVITY_CATALOG,
2677
- tn as AI_ATTACHMENT_LIMITS,
2678
- Qi as AI_ATTACHMENT_MAX_PER_TURN,
2679
- Zi as AI_ATTACHMENT_TURN_BUDGET,
2680
- le as AI_VENDORS,
2681
- Ve as ALLOWED_LINK_SCHEMES,
2682
- _a as APP_PERMISSIONS,
2696
+ an as AI_ATTACHMENT_LIMITS,
2697
+ ra as AI_ATTACHMENT_MAX_PER_TURN,
2698
+ na as AI_ATTACHMENT_TURN_BUDGET,
2699
+ ue as AI_VENDORS,
2700
+ Xe as ALLOWED_LINK_SCHEMES,
2701
+ va as APP_PERMISSIONS,
2683
2702
  B as ARTIFACT_MAX_BLOCKS,
2684
- Sr as ARTIFACT_MAX_BODY_BYTES,
2703
+ Tr as ARTIFACT_MAX_BODY_BYTES,
2685
2704
  C as ARTIFACT_MAX_CELL_LEN,
2686
2705
  V as ARTIFACT_MAX_KPI_ITEMS,
2687
2706
  H as ARTIFACT_MAX_LIST_ITEMS,
2688
2707
  W as ARTIFACT_MAX_TABLE_COLUMNS,
2689
2708
  F as ARTIFACT_MAX_TABLE_ROWS,
2690
- de as ARTIFACT_MAX_TEXT_LEN,
2691
- tt as ASSIGNMENT_SCOPE_KIND,
2692
- na as ASSIST_SOURCE_PROVIDER_GROUP,
2693
- Ie as AUTH_APP_NAME,
2694
- De as ActivityTypeRegistry,
2695
- ar as BUILT_IN_ONLY,
2696
- ut as BULK_PENALTY,
2697
- En as CADENCE_FLOOR_MS,
2698
- Sn as CADENCE_MIN_NEW_SEGMENTS,
2699
- _n as CADENCE_MIN_NOVELTY,
2700
- bn as CADENCE_WINDOW_MS,
2701
- Ai as CLASSIFY_VARS,
2702
- Ar as CORE_DIMENSIONS,
2703
- cn as CommunicationScheme,
2704
- ii as DEFAULT_MEMORY_BUDGET,
2705
- On as DEFAULT_PHONE_REGION,
2706
- Ei as EMPTY_WORKFLOW,
2707
- ha as FEATURE_FOLDER_MANAGEMENT,
2708
- ya as FEATURE_REMOTE_SEARCH,
2709
- pt as FOLLOW_UP_HOURS,
2710
- Bn as HTML_BODY_RE,
2711
- h as INELIGIBLE,
2712
- ba as INSTALLATION_HEADER,
2713
- vt as INTERACTION_KIND,
2714
- ma as InteractionParticipantRole,
2715
- Et as KB_FALLBACK_LOCALE,
2709
+ pe as ARTIFACT_MAX_TEXT_LEN,
2710
+ rt as ASSIGNMENT_SCOPE_KIND,
2711
+ ca as ASSIST_BANDS,
2712
+ sa as ASSIST_SOURCE_PROVIDER_GROUP,
2713
+ mt as ATTENTION_STATUSES,
2714
+ Me as AUTH_APP_NAME,
2715
+ Pe as ActivityTypeRegistry,
2716
+ cr as BUILT_IN_ONLY,
2717
+ gt as BULK_PENALTY,
2718
+ Tn as CADENCE_FLOOR_MS,
2719
+ In as CADENCE_MIN_NEW_SEGMENTS,
2720
+ wn as CADENCE_MIN_NOVELTY,
2721
+ _n as CADENCE_WINDOW_MS,
2722
+ _i as CLASSIFY_VARS,
2723
+ Sr as CORE_DIMENSIONS,
2724
+ dn as CommunicationScheme,
2725
+ st as DAY_MS,
2726
+ ci as DEFAULT_MEMORY_BUDGET,
2727
+ Rn as DEFAULT_PHONE_REGION,
2728
+ Ii as EMPTY_WORKFLOW,
2729
+ Ia as FEATURE_FOLDER_MANAGEMENT,
2730
+ wa as FEATURE_REMOTE_SEARCH,
2731
+ yt as FOLLOW_UP_HOURS,
2732
+ ot as HOUR_MS,
2733
+ Wn as HTML_BODY_RE,
2734
+ g as INELIGIBLE,
2735
+ ka as INSTALLATION_HEADER,
2736
+ xt as INTERACTION_KIND,
2737
+ _a as InteractionParticipantRole,
2738
+ It as KB_FALLBACK_LOCALE,
2716
2739
  q as KB_LOCALES,
2717
2740
  $ as LOOSE_STATUSES,
2718
- Vn as MAX_ACTIONS,
2719
- nt as MAX_ASSIGNMENT_TURNS,
2720
- Hn as MAX_BLOCKS,
2721
- ye as MAX_COLLECTION_DEPTH,
2722
- Fn as MAX_FIELDS,
2723
- Wn as MAX_LIST_ITEMS,
2724
- ei as MAX_MEMORY_BROWSE,
2725
- ri as MAX_MEMORY_BUDGET,
2726
- ti as MAX_MEMORY_CHARS,
2727
- Cn as MAX_SHOWN_KEYS,
2728
- Kt as MAX_TOPIC_CANDIDATES,
2729
- Ut as MAX_TOPIC_EXAMPLES,
2741
+ Yn as MAX_ACTIONS,
2742
+ it as MAX_ASSIGNMENT_TURNS,
2743
+ Vn as MAX_BLOCKS,
2744
+ be as MAX_COLLECTION_DEPTH,
2745
+ zn as MAX_FIELDS,
2746
+ Xn as MAX_LIST_ITEMS,
2747
+ ii as MAX_MEMORY_BROWSE,
2748
+ si as MAX_MEMORY_BUDGET,
2749
+ ai as MAX_MEMORY_CHARS,
2750
+ vn as MAX_SHOWN_KEYS,
2751
+ Ht as MAX_TOPIC_CANDIDATES,
2752
+ Bt as MAX_TOPIC_EXAMPLES,
2730
2753
  O as MAX_TOPIC_EXAMPLE_CHARS,
2731
- ni as MIN_MEMORY_BUDGET,
2732
- Ga as NAV_NOTICE_SLOT,
2733
- Ea as NOTIFICATION_SOURCE_PROVIDER_GROUP,
2734
- oi as ONBOARDING_SOURCE_PROVIDER_GROUP,
2754
+ oi as MIN_MEMORY_BUDGET,
2755
+ Ya as NAV_NOTICE_SLOT,
2756
+ Oa as NOTIFICATION_SOURCE_PROVIDER_GROUP,
2757
+ ui as ONBOARDING_SOURCE_PROVIDER_GROUP,
2735
2758
  x as PHONE_REGIONS,
2736
- _e as PRESENCE_ONLINE_WINDOW_MS,
2737
- un as PRESENCE_SURVIVES_OFFLINE,
2738
- ci as PROFILE_TOOL_DISPOSITIONS,
2739
- fa as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
2740
- pa as PROVIDER_FEATURE_MESSAGE_WINDOW,
2741
- Ln as PUBLIC_EMAIL_DOMAINS,
2759
+ Ie as PRESENCE_ONLINE_WINDOW_MS,
2760
+ fn as PRESENCE_SURVIVES_OFFLINE,
2761
+ pi as PROFILE_TOOL_DISPOSITIONS,
2762
+ Ea as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
2763
+ Sa as PROVIDER_FEATURE_MESSAGE_WINDOW,
2764
+ Kn as PUBLIC_EMAIL_DOMAINS,
2742
2765
  J as READ_STEP_TYPES,
2743
- Tt as RELATED_SUBJECT_KINDS,
2744
- Se as RESERVED_STATUS_KEYS,
2745
- ka as RESOURCE_DESCRIBE_SERVICE,
2746
- Oa as RESOURCE_RESOLVE_SERVICE,
2747
- Ca as RESOURCE_SEARCH_SERVICE,
2748
- xr as SIGNATURE_INTENTS,
2749
- dt as SLA_HOURS_BY_PRIORITY,
2750
- $t as STEP_MAX_TOKENS_MAX,
2751
- Rt as STEP_MAX_TOKENS_MIN,
2752
- ct as SUMMARY_MIN_LAST_CHARS,
2753
- st as SUMMARY_MIN_MESSAGES,
2754
- Pa as SYNC_RUN_MAX_ERRORS,
2755
- Da as SYNC_SOURCE_PROVIDER_GROUP,
2756
- La as SYNC_TARGET_PROVIDER_GROUP,
2757
- et as TERMINAL_ASSIGNMENT_STATUSES,
2758
- xt as TERMINAL_RUN_STATUSES,
2759
- yi as TRIGGER_VARS,
2760
- Aa as UNSUPPORTED,
2761
- Be as USAGE_DIMENSIONS,
2762
- He as USAGE_DIMENSION_IDS,
2763
- si as WORK_AREAS,
2764
- Ui as WORK_COMMENT_ADDED,
2765
- Ki as WORK_ITEM_ASSIGNED,
2766
- Wt as WORK_ITEM_SCOPE_KIND,
2767
- Gi as WORK_ITEM_STATUS_CHANGED,
2768
- Vt as WORK_PROJECT_SCOPE_KIND,
2766
+ kt as RELATED_SUBJECT_KINDS,
2767
+ Te as RESERVED_STATUS_KEYS,
2768
+ La as RESOURCE_DESCRIBE_SERVICE,
2769
+ Ua as RESOURCE_RESOLVE_SERVICE,
2770
+ Pa as RESOURCE_SEARCH_SERVICE,
2771
+ Lr as SIGNATURE_INTENTS,
2772
+ ht as SLA_HOURS_BY_PRIORITY,
2773
+ Pt as STEP_MAX_TOKENS_MAX,
2774
+ Lt as STEP_MAX_TOKENS_MIN,
2775
+ pt as SUMMARY_MIN_LAST_CHARS,
2776
+ dt as SUMMARY_MIN_MESSAGES,
2777
+ Va as SYNC_RUN_MAX_ERRORS,
2778
+ Fa as SYNC_SOURCE_PROVIDER_GROUP,
2779
+ Wa as SYNC_TARGET_PROVIDER_GROUP,
2780
+ nt as TERMINAL_ASSIGNMENT_STATUSES,
2781
+ Ut as TERMINAL_RUN_STATUSES,
2782
+ Ei as TRIGGER_VARS,
2783
+ Ma as UNSUPPORTED,
2784
+ Fe as USAGE_DIMENSIONS,
2785
+ We as USAGE_DIMENSION_IDS,
2786
+ di as WORK_AREAS,
2787
+ Bi as WORK_COMMENT_ADDED,
2788
+ Hi as WORK_ITEM_ASSIGNED,
2789
+ Xt as WORK_ITEM_SCOPE_KIND,
2790
+ Fi as WORK_ITEM_STATUS_CHANGED,
2791
+ Yt as WORK_PROJECT_SCOPE_KIND,
2769
2792
  _ as W_PRIORITY,
2770
- Di as acceptExampleCandidate,
2771
- wt as actingIdentityKey,
2772
- $i as activeWorkTypes,
2773
- Xn as activityIconOf,
2774
- rr as activityJoinUrl,
2775
- Ne as activitySnippet,
2776
- Re as activityTextParams,
2777
- nr as activityTimelineText,
2778
- Le as activityTimestamp,
2793
+ Ki as acceptExampleCandidate,
2794
+ Ot as actingIdentityKey,
2795
+ Pi as activeWorkTypes,
2796
+ Jn as activityIconOf,
2797
+ or as activityJoinUrl,
2798
+ $e as activitySnippet,
2799
+ xe as activityTextParams,
2800
+ ar as activityTimelineText,
2801
+ Ue as activityTimestamp,
2779
2802
  d as activityTypeInfo,
2780
- di as actorKey,
2781
- xi as addExampleCandidate,
2782
- Ia as agePresenceEntry,
2783
- en as aiAttachmentKind,
2784
- ea as aiAttachmentRejection,
2785
- j as aiBudgetLimit,
2786
- gr as aiBudgetPeriodKey,
2787
- Pe as aiBudgetPeriodStart,
2788
- mr as aiBudgetState,
2789
- fr as aiVendorAcceptsAttachment,
2790
- ur as aiVendorDefaultModel,
2791
- lr as aiVendorLabel,
2792
- pr as aiVendorNeedsBaseUrl,
2793
- dr as aiVendorsWith,
2794
- we as appNameFromPath,
2795
- Ci as applyRounding,
2796
- Dr as applySignature,
2797
- Tr as artifactBodyBytes,
2798
- Ir as artifactOutline,
2799
- wr as artifactToMarkdown,
2800
- gi as assignmentMismatch,
2801
- vr as assignmentScopeKey,
2802
- Rr as assignmentSubject,
2803
- ir as buildActivityPreview,
2804
- sa as buildChannelIntents,
2805
- Mr as buildShareKeys,
2806
- kn as buildWindow,
2807
- Xr as canNestUnder,
2808
- Zn as carriesText,
2809
- qr as categoryLabel,
2810
- Yt as categoryOf,
2811
- da as channelKindForScheme,
2812
- Yn as channelKindOf,
2813
- bi as clampStepMaxTokens,
2814
- Ya as cleanMessageText,
2815
- Pt as compareWorkTypes,
2816
- $r as decideAssignmentState,
2817
- Ka as decideCadence,
2818
- aa as decideIncomingCall,
2819
- St as defaultLocaleOf,
2820
- Xi as defaultStatusKey,
2821
- ga as defineIntent,
2822
- At as depthOf,
2823
- Ta as derivePresence,
2824
- oa as disabledIntentsFromCapabilities,
2825
- ki as elapsedSeconds,
2826
- Ha as emailDomain,
2827
- Va as endpointKey,
2828
- fn as extractParams,
2829
- wn as extractTerms,
2830
- la as filterByEndpoint,
2831
- ca as filterByIntent,
2832
- sn as filterByTargetScheme,
2803
+ gi as actorKey,
2804
+ Ui as addExampleCandidate,
2805
+ $a as agePresenceEntry,
2806
+ rn as aiAttachmentKind,
2807
+ ia as aiAttachmentRejection,
2808
+ G as aiBudgetLimit,
2809
+ Ar as aiBudgetPeriodKey,
2810
+ Ke as aiBudgetPeriodStart,
2811
+ yr as aiBudgetState,
2812
+ hr as aiVendorAcceptsAttachment,
2813
+ fr as aiVendorDefaultModel,
2814
+ pr as aiVendorLabel,
2815
+ gr as aiVendorNeedsBaseUrl,
2816
+ mr as aiVendorsWith,
2817
+ ke as appNameFromPath,
2818
+ Ri as applyRounding,
2819
+ Pr as applySignature,
2820
+ wr as artifactBodyBytes,
2821
+ Mr as artifactOutline,
2822
+ kr as artifactToMarkdown,
2823
+ bi as assignmentMismatch,
2824
+ Rr as assignmentScopeKey,
2825
+ xr as assignmentSubject,
2826
+ sr as buildActivityPreview,
2827
+ ga as buildChannelIntents,
2828
+ Cr as buildShareKeys,
2829
+ Nn as buildWindow,
2830
+ Zr as canNestUnder,
2831
+ tr as carriesText,
2832
+ ei as categoryLabel,
2833
+ Zt as categoryOf,
2834
+ ba as channelKindForScheme,
2835
+ Zn as channelKindOf,
2836
+ Ti as clampStepMaxTokens,
2837
+ io as cleanMessageText,
2838
+ ua as compareAssistRank,
2839
+ Gt as compareWorkTypes,
2840
+ Dr as decideAssignmentState,
2841
+ Xa as decideCadence,
2842
+ fa as decideIncomingCall,
2843
+ wt as defaultLocaleOf,
2844
+ Zi as defaultStatusKey,
2845
+ Ta as defineIntent,
2846
+ _t as depthOf,
2847
+ Ra as derivePresence,
2848
+ ma as disabledIntentsFromCapabilities,
2849
+ vi as elapsedSeconds,
2850
+ Za as emailDomain,
2851
+ to as endpointKey,
2852
+ hn as extractParams,
2853
+ Cn as extractTerms,
2854
+ ya as filterByEndpoint,
2855
+ ha as filterByIntent,
2856
+ un as filterByTargetScheme,
2833
2857
  T as findAiVendor,
2834
- yr as flattenLocales,
2835
- Ke as floorToPeriod,
2836
- It as formatActingIdentity,
2837
- vi as formatClock,
2838
- Oi as formatHm,
2839
- Bi as formatItemKey,
2840
- Ue as formatPeriod,
2841
- ta as freshSources,
2842
- or as getActivitySeenUserIds,
2843
- Lr as getContactEndpoints,
2844
- Hr as getShortTitle,
2845
- Br as getUrgencyScore,
2846
- Ae as heightOf,
2847
- Wr as helpCenterText,
2848
- hi as humanizeAction,
2849
- Nt as interactionIdOf,
2850
- Pi as isAgentUser,
2851
- Gr as isAssigned,
2852
- Or as isAssignmentTerminal,
2853
- Ct as isAssignmentTrigger,
2854
- yt as isAwaitingThem,
2855
- cr as isChatMessageActivity,
2856
- jr as isClosed,
2857
- er as isConnectedType,
2858
- Na as isDeepLink,
2859
- bt as isDescendant,
2860
- sr as isEmailActivity,
2861
- Xa as isHtmlBody,
2862
- Ii as isInFlight,
2863
- lt as isInteractionUnseen,
2864
- Ra as isLandingPath,
2865
- ot as isLikelyBulk,
2866
- ce as isMessageShape,
2867
- qn as isMessageType,
2868
- gn as isMoreSpecificPattern,
2869
- gt as isParked,
2870
- Dt as isPaused,
2871
- Qn as isPlaybookAuthoredType,
2872
- Fa as isPublicEmailDomain,
2873
- xa as isPublicPath,
2874
- ht as isReminderActive,
2875
- Jn as isReplyableType,
2876
- Ur as isSlaAtRisk,
2877
- Ti as isTerminal,
2878
- Pr as isThreadLongEnough,
2879
- tr as isTranscriptType,
2880
- Yi as isWorkClosed,
2881
- Ri as isWorkTypeVisible,
2882
- Wi as itemDossierKeys,
2883
- Xt as ladderFor,
2884
- Fr as linkLabel,
2885
- hr as listeningAllowed,
2886
- zr as localeInstruction,
2887
- Vr as localeName,
2888
- Yr as localesOf,
2889
- ja as looksLikeEmail,
2890
- ua as matchContactToIntents,
2891
- hn as matchPublicRoute,
2892
- Zr as mcpCredentialScope,
2893
- Qr as mcpToolPrefix,
2894
- Ua as mergeShownKeys,
2895
- ve as messageCountsAs,
2896
- Wa as needsPhoneRegion,
2897
- _r as normalizeArtifactBlocks,
2898
- zn as normalizeBlocks,
2899
- Me as normalizeEmail,
2900
- g as normalizeExample,
2901
- Sa as notificationPrefKey,
2902
- Mn as novelty,
2903
- li as parseActingIdentity,
2904
- Hi as parseItemKey,
2905
- pn as pathToRegex,
2906
- br as periodsInRange,
2907
- Ba as phoneSuffix,
2908
- za as plainTextFromMarkdown,
2909
- kt as playbookActor,
2910
- _i as procedureOf,
2911
- Vi as projectDossierKeys,
2912
- mn as publicBasePathFor,
2913
- $a as publicRoutePatterns,
2914
- v as readPath,
2858
+ Ca as flattenLocales,
2859
+ Ge as floorToPeriod,
2860
+ Ct as formatActingIdentity,
2861
+ xi as formatClock,
2862
+ $i as formatHm,
2863
+ Vi as formatItemKey,
2864
+ je as formatPeriod,
2865
+ oa as freshSources,
2866
+ lr as getActivitySeenUserIds,
2867
+ Ur as getContactEndpoints,
2868
+ zr as getShortTitle,
2869
+ Vr as getUrgencyScore,
2870
+ Se as heightOf,
2871
+ Yr as helpCenterText,
2872
+ Si as humanizeAction,
2873
+ Dt as interactionIdOf,
2874
+ Gi as isAgentUser,
2875
+ Fr as isAssigned,
2876
+ vr as isAssignmentTerminal,
2877
+ Rt as isAssignmentTrigger,
2878
+ Et as isAwaitingThem,
2879
+ dr as isChatMessageActivity,
2880
+ Wr as isClosed,
2881
+ rr as isConnectedType,
2882
+ ja as isDeepLink,
2883
+ Tt as isDescendant,
2884
+ Kr as isEligible,
2885
+ ur as isEmailActivity,
2886
+ ro as isHtmlBody,
2887
+ Ci as isInFlight,
2888
+ ft as isInteractionUnseen,
2889
+ Ga as isLandingPath,
2890
+ ut as isLikelyBulk,
2891
+ le as isMessageShape,
2892
+ Qn as isMessageType,
2893
+ An as isMoreSpecificPattern,
2894
+ aa as isOutwardTool,
2895
+ bt as isParked,
2896
+ Kt as isPaused,
2897
+ nr as isPlaybookAuthoredType,
2898
+ Qa as isPublicEmailDomain,
2899
+ Ha as isPublicPath,
2900
+ St as isReminderActive,
2901
+ er as isReplyableType,
2902
+ Br as isSlaAtRisk,
2903
+ ki as isTerminal,
2904
+ Gr as isThreadLongEnough,
2905
+ ir as isTranscriptType,
2906
+ Qi as isWorkClosed,
2907
+ Li as isWorkTypeVisible,
2908
+ Yi as itemDossierKeys,
2909
+ Jt as ladderFor,
2910
+ Xr as linkLabel,
2911
+ br as listeningAllowed,
2912
+ Jr as localeInstruction,
2913
+ qr as localeName,
2914
+ Qr as localesOf,
2915
+ qa as looksLikeEmail,
2916
+ Aa as matchContactToIntents,
2917
+ bn as matchPublicRoute,
2918
+ ni as mcpCredentialScope,
2919
+ ri as mcpToolPrefix,
2920
+ za as mergeShownKeys,
2921
+ Re as messageCountsAs,
2922
+ eo as needsPhoneRegion,
2923
+ Ir as normalizeArtifactBlocks,
2924
+ qn as normalizeBlocks,
2925
+ Ce as normalizeEmail,
2926
+ h as normalizeExample,
2927
+ Na as notificationPrefKey,
2928
+ On as novelty,
2929
+ jr as parkMarksById,
2930
+ fi as parseActingIdentity,
2931
+ zi as parseItemKey,
2932
+ gn as pathToRegex,
2933
+ Er as periodsInRange,
2934
+ Ja as phoneSuffix,
2935
+ no as plainTextFromMarkdown,
2936
+ vt as playbookActor,
2937
+ Mi as procedureOf,
2938
+ qi as projectDossierKeys,
2939
+ yn as publicBasePathFor,
2940
+ Ba as publicRoutePatterns,
2941
+ N as readPath,
2915
2942
  Z as readStepError,
2916
- mt as recencyOf,
2917
- Ot as refKey,
2918
- Dn as registrableDomain,
2919
- jt as rejectExampleCandidate,
2920
- ai as relatedByDefault,
2921
- an as resolveAccountCapabilities,
2922
- N as resolveActivityText,
2923
- rn as resolveChannelIntents,
2924
- rt as resolveSignature,
2925
- wa as resolveWorkMode,
2926
- va as resourceKindOf,
2927
- ui as runActor,
2928
- Mi as runInteractionId,
2929
- qe as sanitizeInline,
2930
- An as sanitizeTranscript,
2931
- Kr as scoreInteraction,
2932
- ji as scoreWorkItem,
2933
- Jr as selectLenses,
2934
- ia as sessionsHoldCannotReach,
2935
- ra as sessionsToHold,
2936
- me as shareKeyForTeam,
2937
- fe as shareKeyForUser,
2938
- kr as shareKeysForViewer,
2939
- Ma as shouldRunAudioPipeline,
2940
- qt as sortStatuses,
2941
- nn as sourceKey,
2942
- zi as statusIn,
2943
- Si as stepsOf,
2944
- Oe as stripHtml,
2945
- wi as subjectKeyOf,
2946
- be as subjectOf,
2947
- Fi as suggestProjectKey,
2948
- mi as targetById,
2949
- fi as targetForActivityType,
2950
- Mt as toActingIdentity,
2951
- ne as toE164,
2952
- Cr as toolSourceKinds,
2953
- Bt as topicOfferedForTeam,
2954
- Li as topicsForTeam,
2955
- Gt as truncateExample,
2956
- qi as uniqueWorkStatusKey,
2957
- Ni as uniqueWorkTypeKey,
2958
- Fe as usageMetricId,
2959
- Er as usageMetrics,
2960
- Ji as validateStatuses,
2961
- pi as valueAtPath,
2943
+ At as recencyOf,
2944
+ $t as refKey,
2945
+ Un as registrableDomain,
2946
+ Wt as rejectExampleCandidate,
2947
+ li as relatedByDefault,
2948
+ cn as resolveAccountCapabilities,
2949
+ v as resolveActivityText,
2950
+ sn as resolveChannelIntents,
2951
+ at as resolveSignature,
2952
+ xa as resolveWorkMode,
2953
+ Ka as resourceKindOf,
2954
+ mi as runActor,
2955
+ Ni as runInteractionId,
2956
+ Ze as sanitizeInline,
2957
+ En as sanitizeTranscript,
2958
+ Hr as scoreInteraction,
2959
+ Wi as scoreWorkItem,
2960
+ ti as selectLenses,
2961
+ pa as sessionsHoldCannotReach,
2962
+ da as sessionsToHold,
2963
+ ge as shareKeyForTeam,
2964
+ me as shareKeyForUser,
2965
+ Or as shareKeysForViewer,
2966
+ Da as shouldRunAudioPipeline,
2967
+ Qt as sortStatuses,
2968
+ on as sourceKey,
2969
+ Ji as statusIn,
2970
+ wi as stepsOf,
2971
+ ve as stripHtml,
2972
+ Oi as subjectKeyOf,
2973
+ Ee as subjectOf,
2974
+ la as subjectRef,
2975
+ Xi as suggestProjectKey,
2976
+ Ai as targetById,
2977
+ yi as targetForActivityType,
2978
+ Nt as toActingIdentity,
2979
+ re as toE164,
2980
+ Nr as toolSourceKinds,
2981
+ Vt as topicOfferedForTeam,
2982
+ ji as topicsForTeam,
2983
+ Ft as truncateExample,
2984
+ ea as uniqueWorkStatusKey,
2985
+ Di as uniqueWorkTypeKey,
2986
+ Ve as usageMetricId,
2987
+ _r as usageMetrics,
2988
+ ta as validateStatuses,
2989
+ hi as valueAtPath,
2962
2990
  R as waitHoursOf,
2963
- Nr as wakesAssignment,
2964
- zt as workItemScopeKey,
2965
- Ee as workProjectScopeKey,
2966
- Jt as workStatusKey,
2967
- Lt as workTypeKey
2991
+ $r as wakesAssignment,
2992
+ qt as workItemScopeKey,
2993
+ _e as workProjectScopeKey,
2994
+ en as workStatusKey,
2995
+ jt as workTypeKey
2968
2996
  };