@opencxh/domain 1.147.0 → 1.149.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 Tt = 10, It = 10, St = 10, Mt = 5, ce = /* @__PURE__ */ new Set([
1
+ const St = 10, Mt = 10, Ct = 10, Nt = 5, pe = /* @__PURE__ */ new Set([
2
2
  "header",
3
3
  "section",
4
4
  "context",
@@ -14,7 +14,7 @@ function T(e) {
14
14
  const t = e;
15
15
  return typeof t.key == "string" || typeof t.value == "string";
16
16
  }
17
- function Ct(e, t = () => {
17
+ function vt(e, t = () => {
18
18
  }) {
19
19
  if (!Array.isArray(e)) return [];
20
20
  const n = [];
@@ -25,7 +25,7 @@ function Ct(e, t = () => {
25
25
  }
26
26
  if (!a || typeof a != "object") continue;
27
27
  const i = a;
28
- if (!ce.has(i.type)) {
28
+ if (!pe.has(i.type)) {
29
29
  t("unknown block type " + String(i.type));
30
30
  continue;
31
31
  }
@@ -69,7 +69,7 @@ function Ct(e, t = () => {
69
69
  }
70
70
  return n;
71
71
  }
72
- function ue(e) {
72
+ function de(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 y(e) {
@@ -77,7 +77,7 @@ function y(e) {
77
77
  const t = Math.floor(e / 60), n = Math.floor(e % 60);
78
78
  return `${t}:${n.toString().padStart(2, "0")}`;
79
79
  }
80
- function x(e) {
80
+ function k(e) {
81
81
  return e ? ` — ${Math.floor(e / 60)}m ${e % 60}s` : "";
82
82
  }
83
83
  function I(e) {
@@ -86,7 +86,7 @@ function I(e) {
86
86
  function b(e) {
87
87
  return e.map((t) => t.name).join(", ");
88
88
  }
89
- function L(e) {
89
+ function x(e) {
90
90
  return e === "meeting" ? "Meeting" : e === "video" ? "Video call" : "Audio call";
91
91
  }
92
92
  const m = {
@@ -123,7 +123,7 @@ const m = {
123
123
  channelKind: "voice",
124
124
  icon: "phone",
125
125
  snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${y(e.payload.duration)})` : ""}`,
126
- timeline: (e) => `Call ended${x(e.payload.duration)}`
126
+ timeline: (e) => `Call ended${k(e.payload.duration)}`
127
127
  },
128
128
  VOICE_CALL_MISSED: {
129
129
  shape: "event",
@@ -204,7 +204,7 @@ const m = {
204
204
  replyable: !0,
205
205
  carriesText: !0,
206
206
  countsAs: "inbound_message",
207
- snippet: k
207
+ snippet: L
208
208
  },
209
209
  EMAIL_SENT: {
210
210
  shape: "message",
@@ -214,7 +214,7 @@ const m = {
214
214
  replyable: !0,
215
215
  carriesText: !0,
216
216
  countsAs: "outbound_message",
217
- snippet: k
217
+ snippet: L
218
218
  },
219
219
  /* ---- chat ---- */
220
220
  CHAT_MESSAGE_SENT: {
@@ -271,7 +271,7 @@ const m = {
271
271
  channelKind: "chat",
272
272
  icon: "message-circle",
273
273
  snippet: () => "Gesprek gestart",
274
- timeline: (e) => `${L(e.payload.callType)} started${e.payload.initiator ? ` by ${e.payload.initiator.name}` : ""}`,
274
+ timeline: (e) => `${x(e.payload.callType)} started${e.payload.initiator ? ` by ${e.payload.initiator.name}` : ""}`,
275
275
  joinUrl: (e) => e.payload.joinUrl
276
276
  },
277
277
  CHAT_CALL_ENDED: {
@@ -279,7 +279,7 @@ const m = {
279
279
  channelKind: "chat",
280
280
  icon: "message-circle",
281
281
  snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${y(e.payload.duration)})` : ""}`,
282
- timeline: (e) => `${L(e.payload.callType)} ended${x(e.payload.duration)}`,
282
+ timeline: (e) => `${x(e.payload.callType)} ended${k(e.payload.duration)}`,
283
283
  joinUrl: (e) => e.payload.joinUrl
284
284
  },
285
285
  CHAT_EVENT: {
@@ -404,44 +404,44 @@ const m = {
404
404
  timeline: (e, t) => `Assigned by ${t}`
405
405
  }
406
406
  };
407
- function k(e) {
408
- const t = e.payload, n = t.bodySnippet?.trim() || ue(t.body ?? "");
407
+ function L(e) {
408
+ const t = e.payload, n = t.bodySnippet?.trim() || de(t.body ?? "");
409
409
  return t.subject ? `${t.subject} — ${n}` : n;
410
410
  }
411
411
  function f(e) {
412
412
  return m[e];
413
413
  }
414
- function Nt(e) {
414
+ function kt(e) {
415
415
  return f(e)?.icon ?? "circle";
416
416
  }
417
- function vt(e) {
417
+ function xt(e) {
418
418
  return f(e)?.channelKind;
419
419
  }
420
- function xt(e) {
420
+ function Lt(e) {
421
421
  const t = f(e)?.shape;
422
422
  return t === "message" || t === "note";
423
423
  }
424
- function Lt(e) {
424
+ function $t(e) {
425
425
  return f(e)?.replyable === !0;
426
426
  }
427
- function kt(e) {
427
+ function Ot(e) {
428
428
  return f(e)?.carriesText === !0;
429
429
  }
430
- function Ot(e) {
430
+ function Rt(e) {
431
431
  return f(e)?.countsAs;
432
432
  }
433
- function $t(e) {
433
+ function wt(e) {
434
434
  return f(e)?.playbookAuthored === !0;
435
435
  }
436
- function pe(e) {
436
+ function fe(e) {
437
437
  const t = f(e.type)?.snippet;
438
438
  return t ? t(e) : "";
439
439
  }
440
- function Rt(e, t) {
440
+ function Dt(e, t) {
441
441
  const n = f(e.type)?.timeline;
442
442
  return n ? n(e, t) : e.type.replace(/_/g, " ").toLowerCase();
443
443
  }
444
- function wt(e) {
444
+ function Pt(e) {
445
445
  const t = f(e.type)?.joinUrl;
446
446
  return t ? t(e) : void 0;
447
447
  }
@@ -464,15 +464,15 @@ function N(e, t, n) {
464
464
  const i = n(e.key, a);
465
465
  return i === e.key ? null : i;
466
466
  }
467
- function de(e, t) {
467
+ function me(e, t) {
468
468
  if (!e || typeof e == "string" || "value" in e) return null;
469
469
  const n = {};
470
470
  for (const [a, i] of Object.entries(e.params ?? {}))
471
471
  n[a] = C(t, i);
472
472
  return { key: e.key, params: n };
473
473
  }
474
- const fe = (e) => e;
475
- function O(e) {
474
+ const ge = (e) => e;
475
+ function $(e) {
476
476
  const t = m[e];
477
477
  return {
478
478
  type: e,
@@ -488,7 +488,7 @@ function O(e) {
488
488
  displayNameKey: t.displayNameKey
489
489
  };
490
490
  }
491
- function $(e) {
491
+ function O(e) {
492
492
  return {
493
493
  type: e.type,
494
494
  shape: e.shape,
@@ -503,21 +503,21 @@ function $(e) {
503
503
  displayNameKey: e.displayNameKey
504
504
  };
505
505
  }
506
- class me {
507
- constructor(t = [], n = fe) {
506
+ class he {
507
+ constructor(t = [], n = ge) {
508
508
  this.translate = n;
509
509
  for (const a of t)
510
510
  a?.type && (a.type in m || this.declared.has(a.type) || this.declared.set(a.type, a));
511
511
  }
512
512
  declared = /* @__PURE__ */ new Map();
513
513
  get(t) {
514
- if (t in m) return O(t);
514
+ if (t in m) return $(t);
515
515
  const n = this.declared.get(t);
516
- return n ? $(n) : void 0;
516
+ return n ? O(n) : void 0;
517
517
  }
518
518
  /** Alles wat als trigger aangeboden mag worden, ingebouwd en gedeclareerd. */
519
519
  triggerable() {
520
- const t = Object.keys(m).filter((a) => m[a].triggerable).map(O), n = [...this.declared.values()].map($).filter((a) => a.triggerable);
520
+ const t = Object.keys(m).filter((a) => m[a].triggerable).map($), n = [...this.declared.values()].map(O).filter((a) => a.triggerable);
521
521
  return [...t, ...n];
522
522
  }
523
523
  /**
@@ -552,33 +552,33 @@ class me {
552
552
  return this.translate;
553
553
  }
554
554
  }
555
- const Dt = new me(), R = 140;
556
- function ge(e) {
555
+ const Ut = new he(), R = 140;
556
+ function ye(e) {
557
557
  const t = e.trim();
558
558
  return t.length <= R ? t : t.slice(0, R - 1).trimEnd() + "…";
559
559
  }
560
- function Pt(e, t) {
561
- const n = de(t?.text, e), a = t ? N(t.text, e, (i) => i) : null;
560
+ function Kt(e, t) {
561
+ const n = me(t?.text, e), a = t ? N(t.text, e, (i) => i) : null;
562
562
  return {
563
563
  activityId: e.id,
564
564
  type: e.type,
565
- snippet: ge(a ?? pe(e)),
565
+ snippet: ye(a ?? fe(e)),
566
566
  authorName: e.author?.name ?? "",
567
567
  direction: e.direction,
568
568
  createdAt: e.createdAt ?? Date.now(),
569
569
  ...n ? { snippetKey: n.key, snippetParams: n.params } : {}
570
570
  };
571
571
  }
572
- function Ut(e, t, n = []) {
572
+ function Bt(e, t, n = []) {
573
573
  const a = e.createdAt;
574
574
  if (!a) return [];
575
575
  const i = new Set(n);
576
576
  return e.author.type === "user" && e.author.id && i.add(e.author.id), Object.entries(t).filter(([r, o]) => o >= a && !i.has(r)).map(([r]) => r);
577
577
  }
578
- function Kt(e) {
578
+ function Gt(e) {
579
579
  return e.createdAt ?? 0;
580
580
  }
581
- const Gt = [
581
+ const Ft = [
582
582
  { id: "agent", label: "Agent", labelSource: "user" },
583
583
  { id: "team", label: "Team", labelSource: "team" },
584
584
  { id: "inbox", label: "Inbox", labelSource: "inbox" },
@@ -588,7 +588,7 @@ const Gt = [
588
588
  { id: "handledBy", label: "Afhandelaar", labelSource: "raw" },
589
589
  { id: "time", label: "Tijd", labelSource: "raw" }
590
590
  ];
591
- function Bt(e) {
591
+ function Ht(e) {
592
592
  const t = [];
593
593
  for (const n of Object.keys(e))
594
594
  for (const a of Object.keys(e[n]))
@@ -598,44 +598,44 @@ function Bt(e) {
598
598
  function S(e) {
599
599
  return e < 10 ? `0${e}` : `${e}`;
600
600
  }
601
- function he(e, t) {
601
+ function be(e, t) {
602
602
  const n = new Date(e), a = `${n.getUTCFullYear()}-${S(n.getUTCMonth() + 1)}-${S(n.getUTCDate())}`;
603
603
  return t === "day" ? a : `${a}T${S(n.getUTCHours())}`;
604
604
  }
605
- function ye(e, t) {
605
+ function Ae(e, t) {
606
606
  const n = new Date(e);
607
607
  return n.setUTCMinutes(0, 0, 0), t === "day" && n.setUTCHours(0), n.getTime();
608
608
  }
609
- const be = 36e5, Ae = 864e5;
610
- function Ht(e, t, n) {
611
- const a = n === "hour" ? be : Ae, i = [];
612
- for (let r = ye(e, n); r <= t; r += a)
613
- i.push(he(r, n));
609
+ const Ee = 36e5, _e = 864e5;
610
+ function jt(e, t, n) {
611
+ const a = n === "hour" ? Ee : _e, i = [];
612
+ for (let r = Ae(e, n); r <= t; r += a)
613
+ i.push(be(r, n));
614
614
  return i;
615
615
  }
616
- const Ee = [
616
+ const Te = [
617
617
  { id: "resource", label: "Resource", labelSource: "raw" },
618
618
  { id: "origin", label: "Herkomst", labelSource: "raw" }
619
- ], _e = Ee.map((e) => e.id);
620
- function Te(e, t) {
619
+ ], Ie = Te.map((e) => e.id);
620
+ function Se(e, t) {
621
621
  return `${e}.usage.${t}`;
622
622
  }
623
- function jt(e, t) {
623
+ function Vt(e, t) {
624
624
  return t.map((n) => ({
625
- id: Te(e, n.unit),
625
+ id: Se(e, n.unit),
626
626
  label: n.label,
627
627
  category: "Verbruik",
628
628
  valueType: n.valueType ?? "count",
629
629
  aggregation: "sum",
630
630
  supportedDimensions: [
631
631
  "provider",
632
- ..._e,
632
+ ...Ie,
633
633
  ...n.extraDimensions ?? [],
634
634
  "time"
635
635
  ]
636
636
  }));
637
637
  }
638
- const J = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), w = 200, D = 100, P = 200, U = 12, K = 4, Q = 4e3, M = 500, Vt = 256 * 1024, Ie = /* @__PURE__ */ new Set([
638
+ const Q = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), w = 200, D = 100, P = 200, U = 12, K = 4, Z = 4e3, M = 500, Xt = 256 * 1024, Me = /* @__PURE__ */ new Set([
639
639
  "heading",
640
640
  "paragraph",
641
641
  "list",
@@ -645,15 +645,15 @@ const J = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"])
645
645
  "table",
646
646
  "kpi",
647
647
  "callout"
648
- ]), Se = ["http:", "https:", "mailto:", "tel:"], Me = /^[a-z][a-z0-9+.-]*:/i;
649
- function Z(e) {
648
+ ]), Ce = ["http:", "https:", "mailto:", "tel:"], Ne = /^[a-z][a-z0-9+.-]*:/i;
649
+ function ee(e) {
650
650
  const t = e.trim().replace(/^<|>$/g, "");
651
651
  if (!t) return !1;
652
- const n = Me.exec(t)?.[0];
653
- return n ? Se.includes(n.toLowerCase()) : !t.startsWith("//");
652
+ const n = Ne.exec(t)?.[0];
653
+ return n ? Ce.includes(n.toLowerCase()) : !t.startsWith("//");
654
654
  }
655
- const Ce = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
656
- function Ne(e) {
655
+ const ve = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
656
+ function ke(e) {
657
657
  let t = "", n = 0;
658
658
  for (; n < e.length; ) {
659
659
  const a = e[n] === "!" && e[n + 1] === "[";
@@ -661,22 +661,22 @@ function Ne(e) {
661
661
  t += e[n], n += 1;
662
662
  continue;
663
663
  }
664
- const i = n + (a ? 2 : 1), r = G(e, i, "[", "]");
664
+ const i = n + (a ? 2 : 1), r = B(e, i, "[", "]");
665
665
  if (r < 0 || e[r + 1] !== "(") {
666
666
  t += e[n], n += 1;
667
667
  continue;
668
668
  }
669
- const o = G(e, r + 2, "(", ")");
669
+ const o = B(e, r + 2, "(", ")");
670
670
  if (o < 0) {
671
671
  t += e[n], n += 1;
672
672
  continue;
673
673
  }
674
674
  const s = e.slice(i, r), l = e.slice(r + 2, o).trim().split(/\s+/)[0] ?? "";
675
- t += a || !Z(l) ? s : e.slice(n, o + 1), n = o + 1;
675
+ t += a || !ee(l) ? s : e.slice(n, o + 1), n = o + 1;
676
676
  }
677
677
  return t;
678
678
  }
679
- function G(e, t, n, a) {
679
+ function B(e, t, n, a) {
680
680
  let i = 1;
681
681
  for (let r = t; r < e.length; r += 1) {
682
682
  if (e[r] === "\\") {
@@ -689,22 +689,22 @@ function G(e, t, n, a) {
689
689
  }
690
690
  return -1;
691
691
  }
692
- function ve(e) {
693
- return Ne(e).replace(
694
- Ce,
695
- (t, n, a) => Z(a) ? t : ""
692
+ function xe(e) {
693
+ return ke(e).replace(
694
+ ve,
695
+ (t, n, a) => ee(a) ? t : ""
696
696
  );
697
697
  }
698
- function u(e, t = Q) {
699
- return typeof e == "string" ? ve(e).slice(0, t) : "";
698
+ function u(e, t = Z) {
699
+ return typeof e == "string" ? xe(e).slice(0, t) : "";
700
700
  }
701
- function xe(e, t = Q) {
701
+ function Le(e, t = Z) {
702
702
  return typeof e == "string" ? e.slice(0, t) : "";
703
703
  }
704
- function Le(e, t = "info") {
705
- return typeof e == "string" && J.has(e) ? e : t;
704
+ function $e(e, t = "info") {
705
+ return typeof e == "string" && Q.has(e) ? e : t;
706
706
  }
707
- function Ft(e, t = () => {
707
+ function Wt(e, t = () => {
708
708
  }) {
709
709
  if (!Array.isArray(e)) return [];
710
710
  const n = [];
@@ -715,7 +715,7 @@ function Ft(e, t = () => {
715
715
  }
716
716
  if (!a || typeof a != "object") continue;
717
717
  const i = a;
718
- if (!Ie.has(i.type)) {
718
+ if (!Me.has(i.type)) {
719
719
  t("unknown block type " + String(i.type));
720
720
  continue;
721
721
  }
@@ -750,7 +750,7 @@ function Ft(e, t = () => {
750
750
  break;
751
751
  }
752
752
  case "code": {
753
- const o = xe(i.text);
753
+ const o = Le(i.text);
754
754
  if (!o) {
755
755
  t("a code block without text");
756
756
  continue;
@@ -804,7 +804,7 @@ function Ft(e, t = () => {
804
804
  }
805
805
  const h = Array.isArray(c) ? c : [];
806
806
  p.push(
807
- s.map((_, le) => u(h[le], M))
807
+ s.map((_, ue) => u(h[ue], M))
808
808
  );
809
809
  }
810
810
  const d = u(i.caption, M);
@@ -828,7 +828,7 @@ function Ft(e, t = () => {
828
828
  if (!p || !d) continue;
829
829
  const c = l?.tone;
830
830
  s.push(
831
- typeof c == "string" && J.has(c) ? { value: p, label: d, tone: c } : { value: p, label: d }
831
+ typeof c == "string" && Q.has(c) ? { value: p, label: d, tone: c } : { value: p, label: d }
832
832
  );
833
833
  }
834
834
  if (s.length === 0) {
@@ -848,7 +848,7 @@ function Ft(e, t = () => {
848
848
  n.push({
849
849
  ...r,
850
850
  type: "callout",
851
- tone: Le(i.tone),
851
+ tone: $e(i.tone),
852
852
  ...s ? { title: s } : {},
853
853
  text: o
854
854
  });
@@ -858,28 +858,28 @@ function Ft(e, t = () => {
858
858
  }
859
859
  return n;
860
860
  }
861
- function Xt(e) {
861
+ function zt(e) {
862
862
  return JSON.stringify(e).length;
863
863
  }
864
- function Wt(e) {
864
+ function Yt(e) {
865
865
  return {
866
866
  blocks: e.length,
867
867
  types: e.map((t) => t.type),
868
868
  headings: e.flatMap((t) => t.type === "heading" ? [t.text] : [])
869
869
  };
870
870
  }
871
- function B(e) {
871
+ function G(e) {
872
872
  return e.replace(/\|/g, "\\|").replace(/\r?\n/g, " ").trim();
873
873
  }
874
- function H(e, t, n) {
874
+ function F(e, t, n) {
875
875
  const a = e.map((i, r) => n?.[r] === "right" ? "---:" : "---");
876
876
  return [
877
- `| ${e.map(B).join(" | ")} |`,
877
+ `| ${e.map(G).join(" | ")} |`,
878
878
  `| ${a.join(" | ")} |`,
879
- ...t.map((i) => `| ${i.map(B).join(" | ")} |`)
879
+ ...t.map((i) => `| ${i.map(G).join(" | ")} |`)
880
880
  ];
881
881
  }
882
- function ke(e) {
882
+ function Oe(e) {
883
883
  switch (e.type) {
884
884
  case "heading":
885
885
  return [`${"#".repeat(e.level)} ${e.text}`];
@@ -897,7 +897,7 @@ function ke(e) {
897
897
  return t.lead ? `${a} **${t.lead}** ${t.text}` : `${a} ${t.text}`;
898
898
  });
899
899
  case "table": {
900
- const t = H(
900
+ const t = F(
901
901
  e.columns.map((n) => n.label),
902
902
  e.rows,
903
903
  e.columns.map((n) => n.align ?? "left")
@@ -905,7 +905,7 @@ function ke(e) {
905
905
  return e.caption ? [...t, "", `*${e.caption}*`] : t;
906
906
  }
907
907
  case "kpi":
908
- return H(
908
+ return F(
909
909
  e.items.map((t) => t.value),
910
910
  [e.items.map((t) => t.label)]
911
911
  );
@@ -913,11 +913,11 @@ function ke(e) {
913
913
  return (e.title ? `**${e.title}** ${e.text}` : e.text).split(/\r?\n/).map((n) => `> ${n}`);
914
914
  }
915
915
  }
916
- function zt(e, t) {
916
+ function qt(e, t) {
917
917
  const n = [], a = e.some((i) => i.type === "heading" && i.level === 1);
918
918
  t && !a && n.push(`# ${t}`);
919
919
  for (const i of e) {
920
- const r = ke(i);
920
+ const r = Oe(i);
921
921
  r.length > 0 && n.push(r.join(`
922
922
  `));
923
923
  }
@@ -926,26 +926,26 @@ function zt(e, t) {
926
926
  `)}
927
927
  `;
928
928
  }
929
- const ee = (e) => `user:${e}`, te = (e) => `team:${e}`;
930
- function Yt(e) {
929
+ const te = (e) => `user:${e}`, ne = (e) => `team:${e}`;
930
+ function Jt(e) {
931
931
  const t = /* @__PURE__ */ new Set();
932
932
  for (const n of e ?? [])
933
- n?.id && (n.kind === "user" && t.add(ee(n.id)), n.kind === "team" && t.add(te(n.id)));
933
+ n?.id && (n.kind === "user" && t.add(te(n.id)), n.kind === "team" && t.add(ne(n.id)));
934
934
  return [...t].sort();
935
935
  }
936
- function qt(e, t) {
937
- return [ee(e), ...t.map(te)];
936
+ function Qt(e, t) {
937
+ return [te(e), ...t.map(ne)];
938
938
  }
939
- function Jt(e) {
939
+ function Zt(e) {
940
940
  const t = /* @__PURE__ */ new Set();
941
941
  for (const n of e ?? [])
942
942
  n?.kind && t.add(n.kind);
943
943
  return [...t];
944
944
  }
945
- function Qt(e) {
945
+ function en(e) {
946
946
  return (e.startsWith("tool:") ? e.slice(5) : e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
947
947
  }
948
- const Zt = [
948
+ const tn = [
949
949
  { name: "text", type: "string" },
950
950
  { name: "subject", type: "string" },
951
951
  { name: "from", type: "string" },
@@ -968,7 +968,7 @@ const Zt = [
968
968
  // een nieuw adres) — een stap die hierop leunt hoort dus een `condition` te hebben.
969
969
  { name: "contactId", type: "string" },
970
970
  { name: "companyId", type: "string" }
971
- ], en = {
971
+ ], nn = {
972
972
  topics: [
973
973
  { name: "topic", type: "string" },
974
974
  { name: "confidence", type: "number" }
@@ -979,7 +979,7 @@ const Zt = [
979
979
  ],
980
980
  extract: []
981
981
  };
982
- function Oe(e) {
982
+ function Re(e) {
983
983
  switch (e.kind) {
984
984
  case "user":
985
985
  return `user:${e.userId}`;
@@ -989,7 +989,7 @@ function Oe(e) {
989
989
  return "org";
990
990
  }
991
991
  }
992
- function tn(e) {
992
+ function an(e) {
993
993
  if (typeof e != "string") return;
994
994
  const t = e.trim();
995
995
  if (t === "org") return { kind: "org" };
@@ -1001,10 +1001,10 @@ function tn(e) {
1001
1001
  if (a === "team") return { kind: "team", teamId: i };
1002
1002
  }
1003
1003
  }
1004
- function $e(e) {
1005
- return Oe(e);
1004
+ function we(e) {
1005
+ return Re(e);
1006
1006
  }
1007
- function nn(e) {
1007
+ function rn(e) {
1008
1008
  switch (e.kind) {
1009
1009
  case "personal":
1010
1010
  return { kind: "user", userId: e.userId };
@@ -1014,46 +1014,72 @@ function nn(e) {
1014
1014
  return { kind: "org" };
1015
1015
  }
1016
1016
  }
1017
- function an(e) {
1018
- return $e(e);
1017
+ function on(e) {
1018
+ return we(e);
1019
1019
  }
1020
- const Re = ["done", "escalated", "failed", "timed_out", "stopped"], we = ["awaiting_approval", "awaiting_reply"];
1021
- function De(e) {
1022
- return Re.includes(e);
1020
+ const De = ["done", "escalated", "failed", "timed_out", "stopped"], Pe = ["awaiting_approval", "awaiting_reply"];
1021
+ function Ue(e) {
1022
+ return De.includes(e);
1023
1023
  }
1024
- function rn(e) {
1025
- return De(e);
1024
+ function sn(e) {
1025
+ return Ue(e);
1026
1026
  }
1027
- function on(e) {
1028
- return we.includes(e);
1027
+ function ln(e) {
1028
+ return Pe.includes(e);
1029
1029
  }
1030
- function sn(e, t) {
1030
+ function cn(e, t) {
1031
1031
  const n = e.labels ?? [];
1032
1032
  return n.find((a) => a.locale === t)?.label ?? n[0]?.label ?? e.url;
1033
1033
  }
1034
- function ln(e, t, n) {
1034
+ function un(e, t, n) {
1035
1035
  const a = e.translations ?? [];
1036
1036
  return a.find((i) => i.locale === t) ?? (n ? a.find((i) => i.locale === n) : void 0) ?? { locale: t };
1037
1037
  }
1038
- const ne = 3;
1039
- function Pe(e, t) {
1038
+ const H = [
1039
+ { code: "nl", label: "Nederlands", english: "Dutch" },
1040
+ { code: "en", label: "English", english: "English" },
1041
+ { code: "de", label: "Deutsch", english: "German" },
1042
+ { code: "fr", label: "Français", english: "French" },
1043
+ { code: "es", label: "Español", english: "Spanish" },
1044
+ { code: "it", label: "Italiano", english: "Italian" },
1045
+ { code: "pt", label: "Português", english: "Portuguese" },
1046
+ { code: "pl", label: "Polski", english: "Polish" },
1047
+ { code: "sv", label: "Svenska", english: "Swedish" },
1048
+ { code: "da", label: "Dansk", english: "Danish" },
1049
+ { code: "nb", label: "Norsk bokmål", english: "Norwegian Bokmål" },
1050
+ { code: "fi", label: "Suomi", english: "Finnish" },
1051
+ { code: "tr", label: "Türkçe", english: "Turkish" }
1052
+ ];
1053
+ function ie(e) {
1054
+ const t = (e ?? "").toLowerCase();
1055
+ return H.find((n) => n.code === t) ?? H.find((n) => n.code === t.split("-")[0]);
1056
+ }
1057
+ function pn(e) {
1058
+ return ie(e)?.label ?? e;
1059
+ }
1060
+ function dn(e) {
1061
+ const t = ie(e);
1062
+ return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
1063
+ }
1064
+ const ae = 3;
1065
+ function Ke(e, t) {
1040
1066
  const n = /* @__PURE__ */ new Set();
1041
1067
  let a = 1, i = t.get(e)?.parentId;
1042
1068
  for (; i; ) {
1043
- if (n.has(i) || (n.add(i), a++, a > ne + 1)) return 1 / 0;
1069
+ if (n.has(i) || (n.add(i), a++, a > ae + 1)) return 1 / 0;
1044
1070
  i = t.get(i)?.parentId;
1045
1071
  }
1046
1072
  return a;
1047
1073
  }
1048
- function cn(e, t, n) {
1074
+ function fn(e, t, n) {
1049
1075
  if (!e) return !0;
1050
1076
  if (e === t) return !1;
1051
1077
  const a = new Map(n.map((o) => [o.id, o]));
1052
- if (!a.has(e) || t && Ue(e, t, a)) return !1;
1053
- const i = Pe(e, a), r = t ? ie(t, n) : 1;
1054
- return i + r <= ne;
1078
+ if (!a.has(e) || t && Be(e, t, a)) return !1;
1079
+ const i = Ke(e, a), r = t ? re(t, n) : 1;
1080
+ return i + r <= ae;
1055
1081
  }
1056
- function Ue(e, t, n) {
1082
+ function Be(e, t, n) {
1057
1083
  const a = /* @__PURE__ */ new Set();
1058
1084
  let i = n.get(e)?.parentId;
1059
1085
  for (; i; ) {
@@ -1063,27 +1089,27 @@ function Ue(e, t, n) {
1063
1089
  }
1064
1090
  return !1;
1065
1091
  }
1066
- function ie(e, t, n = /* @__PURE__ */ new Set()) {
1092
+ function re(e, t, n = /* @__PURE__ */ new Set()) {
1067
1093
  if (n.has(e)) return 1;
1068
1094
  n.add(e);
1069
1095
  const a = t.filter((i) => i.parentId === e);
1070
- return a.length ? 1 + Math.max(...a.map((i) => ie(i.id, t, n))) : 1;
1096
+ return a.length ? 1 + Math.max(...a.map((i) => re(i.id, t, n))) : 1;
1071
1097
  }
1072
- const Ke = "en";
1073
- function Ge(e) {
1074
- return e.defaultLocale || e.locale || Ke;
1098
+ const Ge = "en";
1099
+ function Fe(e) {
1100
+ return e.defaultLocale || e.locale || Ge;
1075
1101
  }
1076
- function un(e) {
1102
+ function mn(e) {
1077
1103
  const t = /* @__PURE__ */ new Set(), n = [];
1078
- for (const a of [Ge(e), ...e.locales ?? []])
1104
+ for (const a of [Fe(e), ...e.locales ?? []])
1079
1105
  !a || t.has(a) || (t.add(a), n.push(a));
1080
1106
  return n;
1081
1107
  }
1082
- function pn(e, t, n) {
1108
+ function gn(e, t, n) {
1083
1109
  const a = e.translations ?? [];
1084
1110
  return a.find((i) => i.locale === t)?.name ?? (n ? a.find((i) => i.locale === n)?.name : void 0) ?? e.name;
1085
1111
  }
1086
- const ae = [
1112
+ const oe = [
1087
1113
  {
1088
1114
  id: "openai",
1089
1115
  attachmentKinds: ["image", "pdf"],
@@ -1175,53 +1201,53 @@ const ae = [
1175
1201
  }
1176
1202
  ];
1177
1203
  function E(e) {
1178
- return ae.find((t) => t.id === e);
1204
+ return oe.find((t) => t.id === e);
1179
1205
  }
1180
- function dn(e) {
1206
+ function hn(e) {
1181
1207
  return E(e)?.label ?? e;
1182
1208
  }
1183
- function fn(e, t = "gpt-5-mini") {
1209
+ function yn(e, t = "gpt-5-mini") {
1184
1210
  return E(e)?.defaultModel ?? t;
1185
1211
  }
1186
- function mn(e) {
1187
- return ae.filter((t) => t.capabilities.includes(e));
1212
+ function bn(e) {
1213
+ return oe.filter((t) => t.capabilities.includes(e));
1188
1214
  }
1189
- function gn(e) {
1215
+ function An(e) {
1190
1216
  const t = E(e);
1191
1217
  return !!t && !t.baseUrl;
1192
1218
  }
1193
- function hn(e, t) {
1219
+ function En(e, t) {
1194
1220
  return t === "text" ? !0 : E(e)?.attachmentKinds?.includes(t) === !0;
1195
1221
  }
1196
- const yn = /* @__PURE__ */ new Set(["mail", "message"]);
1197
- function Be(e, t) {
1222
+ const _n = /* @__PURE__ */ new Set(["mail", "message"]);
1223
+ function He(e, t) {
1198
1224
  const n = e.settings?.signatures?.[t];
1199
1225
  return !n || !n.enabled || !n.body || n.body.trim() === "" ? null : n;
1200
1226
  }
1201
- function bn(e, t, n, a = "html") {
1227
+ function Tn(e, t, n, a = "html") {
1202
1228
  if (!e) return n;
1203
- const i = Be(e, t);
1229
+ const i = He(e, t);
1204
1230
  return i ? `${n}${a === "text" ? `
1205
1231
 
1206
1232
  ` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${i.body}` : n;
1207
1233
  }
1208
- function An(e) {
1234
+ function In(e) {
1209
1235
  return e.endpoints ?? [];
1210
1236
  }
1211
- const En = (e) => !!e.assignedUserId || !!e.assignedInboxId, _n = (e) => e.status === "closed", Tn = (e) => ({
1237
+ const Sn = (e) => !!e.assignedUserId || !!e.assignedInboxId, Mn = (e) => e.status === "closed", Cn = (e) => ({
1212
1238
  urgent: 10,
1213
1239
  high: 5,
1214
1240
  normal: 2,
1215
1241
  low: 1
1216
- })[e.priority] || 0, In = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1217
- function Sn(e, t) {
1242
+ })[e.priority] || 0, Nn = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1243
+ function vn(e, t) {
1218
1244
  return e.lastActivityAt ? !(e.seenBy ?? []).includes(t) : !1;
1219
1245
  }
1220
- const Mn = 2e3, Cn = 500, Nn = 12e3, vn = 4e3, He = ["contact", "company"];
1221
- function xn(e) {
1246
+ const kn = 2e3, xn = 500, Ln = 12e3, $n = 4e3, je = ["contact", "company"];
1247
+ function On(e) {
1222
1248
  if (!e) return !1;
1223
1249
  const t = e.slice(0, e.indexOf(":"));
1224
- return He.includes(t);
1250
+ return je.includes(t);
1225
1251
  }
1226
1252
  const v = {
1227
1253
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
@@ -1246,7 +1272,7 @@ const v = {
1246
1272
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
1247
1273
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
1248
1274
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
1249
- }, je = "NL", Ve = 15, Fe = 8, Xe = Array.from(
1275
+ }, Ve = "NL", Xe = 15, We = 8, ze = Array.from(
1250
1276
  new Set(Object.values(v).map((e) => e.callingCode))
1251
1277
  ).sort((e, t) => t.length - e.length);
1252
1278
  function j(e) {
@@ -1257,8 +1283,8 @@ function A(e, t) {
1257
1283
  return e.length >= t.nsnMin && e.length <= t.nsnMax;
1258
1284
  }
1259
1285
  function V(e) {
1260
- if (e.length > Ve) return null;
1261
- for (const t of Xe) {
1286
+ if (e.length > Xe) return null;
1287
+ for (const t of ze) {
1262
1288
  if (!e.startsWith(t)) continue;
1263
1289
  const n = e.slice(t.length);
1264
1290
  for (const a of Object.values(v)) {
@@ -1268,31 +1294,31 @@ function V(e) {
1268
1294
  }
1269
1295
  return null;
1270
1296
  }
1271
- return e.length < Fe ? null : `+${e}`;
1297
+ return e.length < We ? null : `+${e}`;
1272
1298
  }
1273
- function We(e) {
1299
+ function Ye(e) {
1274
1300
  let t = e.trim();
1275
1301
  const n = t.match(/^(sips?|tel|whatsapp):/i);
1276
1302
  n && (t = t.slice(n[0].length));
1277
1303
  const a = t.indexOf("@");
1278
1304
  return a >= 0 && (t = t.slice(0, a)), t.trim();
1279
1305
  }
1280
- function Ln(e) {
1306
+ function Rn(e) {
1281
1307
  if (!e) return !1;
1282
1308
  const t = e.indexOf("@");
1283
1309
  if (t <= 0) return !1;
1284
1310
  const n = e.slice(0, t).trim();
1285
1311
  return !/^[+\d\s().-]+$/.test(n);
1286
1312
  }
1287
- function F(e, t) {
1313
+ function X(e, t) {
1288
1314
  if (!e) return null;
1289
- const n = We(e);
1315
+ const n = Ye(e);
1290
1316
  if (!n) return null;
1291
1317
  const a = n.startsWith("+"), i = n.replace(/\D/g, "");
1292
1318
  if (!i) return null;
1293
1319
  if (a) return V(i);
1294
1320
  if (i.startsWith("00")) return V(i.slice(2));
1295
- const r = j(t) ?? j(je);
1321
+ const r = j(t) ?? j(Ve);
1296
1322
  if (!r) return null;
1297
1323
  const o = r.trunkPrefix;
1298
1324
  if (o && i.startsWith(o)) {
@@ -1305,22 +1331,22 @@ function F(e, t) {
1305
1331
  }
1306
1332
  return !o && A(i, r) ? `+${r.callingCode}${i}` : null;
1307
1333
  }
1308
- function kn(e, t = 9) {
1334
+ function wn(e, t = 9) {
1309
1335
  const n = (e ?? "").replace(/\D/g, "");
1310
1336
  return n.length < t ? null : n.slice(-t);
1311
1337
  }
1312
- function re(e) {
1338
+ function se(e) {
1313
1339
  if (!e) return null;
1314
1340
  const t = e.trim().toLowerCase(), n = t.lastIndexOf("@");
1315
1341
  if (n <= 0 || n === t.length - 1) return null;
1316
1342
  const a = t.slice(0, n).split("+")[0], i = t.slice(n + 1);
1317
1343
  return !a || !i.includes(".") ? null : `${a}@${i}`;
1318
1344
  }
1319
- function On(e) {
1320
- const t = re(e);
1345
+ function Dn(e) {
1346
+ const t = se(e);
1321
1347
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
1322
1348
  }
1323
- const ze = /* @__PURE__ */ new Set([
1349
+ const qe = /* @__PURE__ */ new Set([
1324
1350
  "co.uk",
1325
1351
  "org.uk",
1326
1352
  "gov.uk",
@@ -1330,14 +1356,14 @@ const ze = /* @__PURE__ */ new Set([
1330
1356
  "com.br",
1331
1357
  "co.za"
1332
1358
  ]);
1333
- function Ye(e) {
1359
+ function Je(e) {
1334
1360
  if (!e) return null;
1335
1361
  const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
1336
1362
  if (t.length < 2) return null;
1337
1363
  const n = t.slice(-2).join(".");
1338
- return ze.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
1364
+ return qe.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
1339
1365
  }
1340
- const qe = /* @__PURE__ */ new Set([
1366
+ const Qe = /* @__PURE__ */ new Set([
1341
1367
  "gmail.com",
1342
1368
  "googlemail.com",
1343
1369
  "outlook.com",
@@ -1382,44 +1408,44 @@ const qe = /* @__PURE__ */ new Set([
1382
1408
  "proximus.be",
1383
1409
  "scarlet.be"
1384
1410
  ]);
1385
- function $n(e) {
1386
- const t = Ye(e);
1387
- return t ? qe.has(t) : !1;
1411
+ function Pn(e) {
1412
+ const t = Je(e);
1413
+ return t ? Qe.has(t) : !1;
1388
1414
  }
1389
- function Rn(e) {
1415
+ function Un(e) {
1390
1416
  if (!e) return !1;
1391
1417
  const t = e.trim().toLowerCase();
1392
1418
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
1393
1419
  }
1394
- function wn(e, t, n) {
1420
+ function Kn(e, t, n) {
1395
1421
  if (!e || !t) return null;
1396
1422
  const a = e.trim().toLowerCase();
1397
1423
  if (a === "tel" || a === "sms" || a === "whatsapp") {
1398
- const r = F(t, n);
1424
+ const r = X(t, n);
1399
1425
  return r ? `tel:${r}` : null;
1400
1426
  }
1401
1427
  if (a === "fax") {
1402
- const r = F(t, n);
1428
+ const r = X(t, n);
1403
1429
  return r ? `fax:${r}` : null;
1404
1430
  }
1405
1431
  if (a === "mailto" || a === "email") {
1406
- const r = re(t);
1432
+ const r = se(t);
1407
1433
  return r ? `mailto:${r}` : null;
1408
1434
  }
1409
1435
  const i = t.trim().toLowerCase();
1410
1436
  return i ? `${a}:${i}` : null;
1411
1437
  }
1412
- const Je = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, Qe = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
1413
- function Dn(e) {
1438
+ const Ze = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, et = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
1439
+ function Bn(e) {
1414
1440
  if (typeof e != "string" || !e) return "";
1415
1441
  let t = e;
1416
1442
  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(`
1417
1443
  `).map(
1418
1444
  (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,}$/, "")
1419
1445
  ).join(`
1420
- `), t = t.replace(Je, "$2"), t = t.replace(Qe, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
1446
+ `), t = t.replace(Ze, "$2"), t = t.replace(et, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
1421
1447
  }
1422
- const Ze = [
1448
+ const tt = [
1423
1449
  /<blockquote/i,
1424
1450
  /class="?gmail_quote/i,
1425
1451
  // Gmail quote container
@@ -1432,17 +1458,17 @@ const Ze = [
1432
1458
  // Outlook underscore separator before "From:"
1433
1459
  /\bOn\b[\s\S]{0,200}?\bwrote:/i
1434
1460
  // Gmail "On <date> <name> wrote:"
1435
- ], X = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, et = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
1436
- function tt(e) {
1461
+ ], W = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, nt = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
1462
+ function it(e) {
1437
1463
  const t = e.split(`
1438
1464
  `);
1439
1465
  for (let n = 0; n < t.length; n++)
1440
- if (et.test(t[n]) || X.test(t[n]) && t.slice(n + 1, n + 4).some((a) => X.test(a)))
1466
+ if (nt.test(t[n]) || W.test(t[n]) && t.slice(n + 1, n + 4).some((a) => W.test(a)))
1441
1467
  return t.slice(0, n).join(`
1442
1468
  `).trim();
1443
1469
  return e;
1444
1470
  }
1445
- function W(e) {
1471
+ function z(e) {
1446
1472
  let t = e;
1447
1473
  return t = t.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), t = t.replace(/<br\s*\/?>/gi, `
1448
1474
  `), t = t.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
@@ -1450,38 +1476,38 @@ function W(e) {
1450
1476
  `), t = t.replace(/<\/(div|li|tr)>/gi, `
1451
1477
  `), t = t.replace(/<\/(td|th)>/gi, " "), t = t.replace(/<[^>]+>/g, ""), t = t.replace(/<[^>]*$/, ""), t;
1452
1478
  }
1453
- function z(e) {
1454
- return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
1455
- }
1456
1479
  function Y(e) {
1457
- return e.replace(/&nbsp;/gi, " ").replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => z(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => z(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
1480
+ return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
1458
1481
  }
1459
1482
  function q(e) {
1483
+ return e.replace(/&nbsp;/gi, " ").replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => Y(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => Y(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
1484
+ }
1485
+ function J(e) {
1460
1486
  return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
1461
1487
  `).replace(/\n{3,}/g, `
1462
1488
 
1463
1489
  `).trim();
1464
1490
  }
1465
- function Pn(e) {
1491
+ function Gn(e) {
1466
1492
  if (typeof e != "string" || !e) return "";
1467
1493
  let t = e.length;
1468
- for (const r of Ze) {
1494
+ for (const r of tt) {
1469
1495
  const o = e.search(r);
1470
1496
  o >= 0 && o < t && (t = o);
1471
1497
  }
1472
1498
  const n = e.slice(0, t);
1473
- let a = q(Y(W(n)));
1474
- return a || (a = q(Y(W(e)))), tt(a) || a;
1499
+ let a = J(q(z(n)));
1500
+ return a || (a = J(q(z(e)))), it(a) || a;
1475
1501
  }
1476
- const nt = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, it = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
1477
- function Un(e, t) {
1478
- return !!(e && nt.test(e) || t && it.test(t));
1502
+ const at = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, rt = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
1503
+ function Fn(e, t) {
1504
+ return !!(e && at.test(e) || t && rt.test(t));
1479
1505
  }
1480
- const at = 3, rt = 600;
1481
- function Kn(e, t) {
1482
- return e >= at || t >= rt;
1506
+ const ot = 3, st = 600;
1507
+ function Hn(e, t) {
1508
+ return e >= ot || t >= st;
1483
1509
  }
1484
- const ot = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), st = /* @__PURE__ */ new Set([
1510
+ const lt = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), ct = /* @__PURE__ */ new Set([
1485
1511
  "text/plain",
1486
1512
  "text/markdown",
1487
1513
  "text/csv",
@@ -1490,29 +1516,29 @@ const ot = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
1490
1516
  "application/xml",
1491
1517
  "text/xml"
1492
1518
  ]);
1493
- function lt(e) {
1519
+ function ut(e) {
1494
1520
  const t = (e ?? "").trim().toLowerCase().split(";")[0];
1495
- return t ? ot.has(t) ? "image" : t === "application/pdf" ? "pdf" : st.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
1521
+ return t ? lt.has(t) ? "image" : t === "application/pdf" ? "pdf" : ct.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
1496
1522
  }
1497
- const g = 1024 * 1024, ct = {
1523
+ const g = 1024 * 1024, pt = {
1498
1524
  image: 5 * g,
1499
1525
  pdf: 20 * g,
1500
1526
  text: 1 * g,
1501
1527
  audio: 20 * g
1502
- }, Gn = 25 * g, Bn = 5;
1503
- function Hn(e, t) {
1504
- const n = lt(e);
1505
- return n === "unsupported" ? "unsupported" : t > ct[n] ? "too-large" : null;
1528
+ }, jn = 25 * g, Vn = 5;
1529
+ function Xn(e, t) {
1530
+ const n = ut(e);
1531
+ return n === "unsupported" ? "unsupported" : t > pt[n] ? "too-large" : null;
1506
1532
  }
1507
- function ut(e, t) {
1508
- const n = new Set(e.disabledIntents ?? []), a = e.intentOverrides ?? {}, i = t.intents.filter((o) => !n.has(o.intent)).map((o) => dt(o, a[o.intent]));
1533
+ function dt(e, t) {
1534
+ const n = new Set(e.disabledIntents ?? []), a = e.intentOverrides ?? {}, i = t.intents.filter((o) => !n.has(o.intent)).map((o) => mt(o, a[o.intent]));
1509
1535
  if (!e.extraIntents || e.extraIntents.length === 0) return i;
1510
1536
  const r = new Set(i.map((o) => o.intent));
1511
1537
  for (const o of e.extraIntents)
1512
1538
  r.has(o.intent) || (i.push(o), r.add(o.intent));
1513
1539
  return i;
1514
1540
  }
1515
- function pt(e, t) {
1541
+ function ft(e, t) {
1516
1542
  const n = {};
1517
1543
  for (const a of e.intents) {
1518
1544
  if (!a.togglable) continue;
@@ -1521,46 +1547,46 @@ function pt(e, t) {
1521
1547
  }
1522
1548
  return n;
1523
1549
  }
1524
- function jn(e, t) {
1525
- const n = pt(e, t);
1550
+ function Wn(e, t) {
1551
+ const n = ft(e, t);
1526
1552
  return Object.entries(n).filter(([, a]) => !a).map(([a]) => a);
1527
1553
  }
1528
- function dt(e, t) {
1554
+ function mt(e, t) {
1529
1555
  return t ? {
1530
1556
  intent: t.intent ?? e.intent,
1531
1557
  targetSchemes: t.targetSchemes ?? e.targetSchemes,
1532
1558
  transport: t.transport ?? e.transport
1533
1559
  } : e;
1534
1560
  }
1535
- function Vn(e, t) {
1561
+ function zn(e, t) {
1536
1562
  const n = [];
1537
1563
  for (const a of e) {
1538
1564
  if (!a.enabled) continue;
1539
1565
  const i = t[a.providerId];
1540
1566
  if (i)
1541
- for (const r of ut(a, i))
1567
+ for (const r of dt(a, i))
1542
1568
  n.push({ channel: a, description: i, capability: r });
1543
1569
  }
1544
1570
  return n;
1545
1571
  }
1546
- function Fn(e, t) {
1572
+ function Yn(e, t) {
1547
1573
  return t.filter((n) => n.capability.intent === e);
1548
1574
  }
1549
- function ft(e, t) {
1575
+ function gt(e, t) {
1550
1576
  return t.filter((n) => n.capability.targetSchemes.includes(e));
1551
1577
  }
1552
- function Xn(e, t) {
1553
- return ft(e.scheme, t);
1578
+ function qn(e, t) {
1579
+ return gt(e.scheme, t);
1554
1580
  }
1555
- function Wn(e, t, n) {
1581
+ function Jn(e, t, n) {
1556
1582
  const a = [];
1557
1583
  for (const i of e)
1558
1584
  for (const r of n)
1559
1585
  r.capability.intent === t && r.capability.targetSchemes.includes(i.scheme) && a.push({ channelIntent: r, endpoint: i });
1560
1586
  return a;
1561
1587
  }
1562
- var mt = /* @__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))(mt || {});
1563
- const gt = {
1588
+ var ht = /* @__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))(ht || {});
1589
+ const yt = {
1564
1590
  mailto: "mail",
1565
1591
  sip: "tel",
1566
1592
  tel: "tel",
@@ -1582,10 +1608,10 @@ const gt = {
1582
1608
  id: "note",
1583
1609
  custom: "note"
1584
1610
  };
1585
- function zn(e) {
1586
- return e ? gt[e] ?? "note" : "note";
1611
+ function Qn(e) {
1612
+ return e ? yt[e] ?? "note" : "note";
1587
1613
  }
1588
- const Yn = "message_window", qn = "message_templates", Jn = {
1614
+ const Zn = "message_window", ei = "message_templates", ti = {
1589
1615
  // E-mail
1590
1616
  FROM: "from",
1591
1617
  TO: "to",
@@ -1602,26 +1628,26 @@ const Yn = "message_window", qn = "message_templates", Jn = {
1602
1628
  // Voice/conference
1603
1629
  HOST: "host",
1604
1630
  PARTICIPANT: "participant"
1605
- }, Qn = (e, t) => ({ intent: e, ...t }), Zn = "folder_management", ei = "remote_search", ti = { ok: !1, code: "UNSUPPORTED", message: "Provider does not support this op" }, oe = "auth";
1606
- function se(e) {
1631
+ }, ni = (e, t) => ({ intent: e, ...t }), ii = "folder_management", ai = "remote_search", ri = { ok: !1, code: "UNSUPPORTED", message: "Provider does not support this op" }, le = "auth";
1632
+ function ce(e) {
1607
1633
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
1608
1634
  return t ? t[1] : null;
1609
1635
  }
1610
- function ni(e) {
1611
- const t = se(e);
1612
- return t ? t !== oe : typeof e == "string" && e.startsWith("/wake");
1636
+ function oi(e) {
1637
+ const t = ce(e);
1638
+ return t ? t !== le : typeof e == "string" && e.startsWith("/wake");
1613
1639
  }
1614
- function ii(e) {
1615
- return typeof e != "string" || e === "" || e === "/" ? !0 : se(e) === oe;
1640
+ function si(e) {
1641
+ return typeof e != "string" || e === "" || e === "/" ? !0 : ce(e) === le;
1616
1642
  }
1617
- function ht(e) {
1643
+ function bt(e) {
1618
1644
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
1619
1645
  }
1620
- function yt(e) {
1621
- const n = e.split("/").filter(Boolean).map((a) => a.startsWith(":") ? a.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : "/" + ht(a)).join("");
1646
+ function At(e) {
1647
+ const n = e.split("/").filter(Boolean).map((a) => a.startsWith(":") ? a.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : "/" + bt(a)).join("");
1622
1648
  return new RegExp(`^${n}\\/?$`);
1623
1649
  }
1624
- function bt(e, t) {
1650
+ function Et(e, t) {
1625
1651
  const n = e.split("/").filter(Boolean), a = t.split("/").filter(Boolean), i = {};
1626
1652
  return n.forEach((r, o) => {
1627
1653
  if (r.startsWith(":")) {
@@ -1630,14 +1656,14 @@ function bt(e, t) {
1630
1656
  }
1631
1657
  }), i;
1632
1658
  }
1633
- function At(e) {
1659
+ function _t(e) {
1634
1660
  return e.publicBasePath ?? `/apps/${e.name}`;
1635
1661
  }
1636
- function ai(e) {
1662
+ function li(e) {
1637
1663
  const t = [];
1638
1664
  for (const n of e) {
1639
1665
  if (!n?.name) continue;
1640
- const a = At(n);
1666
+ const a = _t(n);
1641
1667
  for (const i of n.routes ?? []) {
1642
1668
  if (!i.public) continue;
1643
1669
  const r = i.path === "/" ? "" : i.path;
@@ -1651,7 +1677,7 @@ function ai(e) {
1651
1677
  }
1652
1678
  return t;
1653
1679
  }
1654
- function Et(e, t) {
1680
+ function Tt(e, t) {
1655
1681
  const n = e.split("/").filter(Boolean), a = t.split("/").filter(Boolean);
1656
1682
  for (let i = 0; i < Math.min(n.length, a.length); i++) {
1657
1683
  const r = n[i].startsWith(":"), o = a[i].startsWith(":");
@@ -1659,169 +1685,172 @@ function Et(e, t) {
1659
1685
  }
1660
1686
  return n.length > a.length;
1661
1687
  }
1662
- function _t(e, t) {
1688
+ function It(e, t) {
1663
1689
  if (typeof e != "string") return null;
1664
1690
  let n = null;
1665
1691
  for (const a of t)
1666
- yt(a.pattern).test(e) && (!n || Et(a.pattern, n.pattern)) && (n = a);
1667
- return n ? { ...n, params: { ...n.props, ...bt(n.pattern, e) } } : null;
1692
+ At(a.pattern).test(e) && (!n || Tt(a.pattern, n.pattern)) && (n = a);
1693
+ return n ? { ...n, params: { ...n.props, ...Et(n.pattern, e) } } : null;
1668
1694
  }
1669
- function ri(e, t) {
1670
- return _t(e, t) !== null;
1695
+ function ci(e, t) {
1696
+ return It(e, t) !== null;
1671
1697
  }
1672
- const oi = 9e4, si = "installation-id";
1698
+ const ui = 9e4, pi = "installation-id";
1673
1699
  export {
1674
1700
  m as ACTIVITY_CATALOG,
1675
- ct as AI_ATTACHMENT_LIMITS,
1676
- Bn as AI_ATTACHMENT_MAX_PER_TURN,
1677
- Gn as AI_ATTACHMENT_TURN_BUDGET,
1678
- ae as AI_VENDORS,
1679
- Se as ALLOWED_LINK_SCHEMES,
1701
+ pt as AI_ATTACHMENT_LIMITS,
1702
+ Vn as AI_ATTACHMENT_MAX_PER_TURN,
1703
+ jn as AI_ATTACHMENT_TURN_BUDGET,
1704
+ oe as AI_VENDORS,
1705
+ Ce as ALLOWED_LINK_SCHEMES,
1680
1706
  w as ARTIFACT_MAX_BLOCKS,
1681
- Vt as ARTIFACT_MAX_BODY_BYTES,
1707
+ Xt as ARTIFACT_MAX_BODY_BYTES,
1682
1708
  M as ARTIFACT_MAX_CELL_LEN,
1683
1709
  K as ARTIFACT_MAX_KPI_ITEMS,
1684
1710
  D as ARTIFACT_MAX_LIST_ITEMS,
1685
1711
  U as ARTIFACT_MAX_TABLE_COLUMNS,
1686
1712
  P as ARTIFACT_MAX_TABLE_ROWS,
1687
- Q as ARTIFACT_MAX_TEXT_LEN,
1688
- oe as AUTH_APP_NAME,
1689
- me as ActivityTypeRegistry,
1690
- Dt as BUILT_IN_ONLY,
1691
- en as CLASSIFY_VARS,
1692
- Gt as CORE_DIMENSIONS,
1693
- mt as CommunicationScheme,
1694
- vn as DEFAULT_MEMORY_BUDGET,
1695
- je as DEFAULT_PHONE_REGION,
1696
- Zn as FEATURE_FOLDER_MANAGEMENT,
1697
- ei as FEATURE_REMOTE_SEARCH,
1698
- si as INSTALLATION_HEADER,
1699
- Jn as InteractionParticipantRole,
1700
- Ke as KB_FALLBACK_LOCALE,
1701
- Mt as MAX_ACTIONS,
1702
- Tt as MAX_BLOCKS,
1703
- ne as MAX_COLLECTION_DEPTH,
1704
- It as MAX_FIELDS,
1705
- St as MAX_LIST_ITEMS,
1706
- Nn as MAX_MEMORY_BUDGET,
1707
- Mn as MAX_MEMORY_CHARS,
1708
- Cn as MIN_MEMORY_BUDGET,
1709
- we as PAUSED_RUN_STATUSES,
1713
+ Z as ARTIFACT_MAX_TEXT_LEN,
1714
+ le as AUTH_APP_NAME,
1715
+ he as ActivityTypeRegistry,
1716
+ Ut as BUILT_IN_ONLY,
1717
+ nn as CLASSIFY_VARS,
1718
+ Ft as CORE_DIMENSIONS,
1719
+ ht as CommunicationScheme,
1720
+ $n as DEFAULT_MEMORY_BUDGET,
1721
+ Ve as DEFAULT_PHONE_REGION,
1722
+ ii as FEATURE_FOLDER_MANAGEMENT,
1723
+ ai as FEATURE_REMOTE_SEARCH,
1724
+ pi as INSTALLATION_HEADER,
1725
+ ti as InteractionParticipantRole,
1726
+ Ge as KB_FALLBACK_LOCALE,
1727
+ H as KB_LOCALES,
1728
+ Nt as MAX_ACTIONS,
1729
+ St as MAX_BLOCKS,
1730
+ ae as MAX_COLLECTION_DEPTH,
1731
+ Mt as MAX_FIELDS,
1732
+ Ct as MAX_LIST_ITEMS,
1733
+ Ln as MAX_MEMORY_BUDGET,
1734
+ kn as MAX_MEMORY_CHARS,
1735
+ xn as MIN_MEMORY_BUDGET,
1736
+ Pe as PAUSED_RUN_STATUSES,
1710
1737
  v as PHONE_REGIONS,
1711
- oi as PRESENCE_ONLINE_WINDOW_MS,
1712
- qn as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
1713
- Yn as PROVIDER_FEATURE_MESSAGE_WINDOW,
1714
- qe as PUBLIC_EMAIL_DOMAINS,
1715
- He as RELATED_SUBJECT_KINDS,
1716
- yn as SIGNATURE_INTENTS,
1717
- rt as SUMMARY_MIN_LAST_CHARS,
1718
- at as SUMMARY_MIN_MESSAGES,
1719
- Re as TERMINAL_RUN_STATUSES,
1720
- Zt as TRIGGER_VARS,
1721
- ti as UNSUPPORTED,
1722
- Ee as USAGE_DIMENSIONS,
1723
- _e as USAGE_DIMENSION_IDS,
1724
- $e as actingIdentityKey,
1725
- Nt as activityIconOf,
1726
- wt as activityJoinUrl,
1727
- pe as activitySnippet,
1728
- de as activityTextParams,
1729
- Rt as activityTimelineText,
1730
- Kt as activityTimestamp,
1738
+ ui as PRESENCE_ONLINE_WINDOW_MS,
1739
+ ei as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
1740
+ Zn as PROVIDER_FEATURE_MESSAGE_WINDOW,
1741
+ Qe as PUBLIC_EMAIL_DOMAINS,
1742
+ je as RELATED_SUBJECT_KINDS,
1743
+ _n as SIGNATURE_INTENTS,
1744
+ st as SUMMARY_MIN_LAST_CHARS,
1745
+ ot as SUMMARY_MIN_MESSAGES,
1746
+ De as TERMINAL_RUN_STATUSES,
1747
+ tn as TRIGGER_VARS,
1748
+ ri as UNSUPPORTED,
1749
+ Te as USAGE_DIMENSIONS,
1750
+ Ie as USAGE_DIMENSION_IDS,
1751
+ we as actingIdentityKey,
1752
+ kt as activityIconOf,
1753
+ Pt as activityJoinUrl,
1754
+ fe as activitySnippet,
1755
+ me as activityTextParams,
1756
+ Dt as activityTimelineText,
1757
+ Gt as activityTimestamp,
1731
1758
  f as activityTypeInfo,
1732
- an as actorKey,
1733
- lt as aiAttachmentKind,
1734
- Hn as aiAttachmentRejection,
1735
- hn as aiVendorAcceptsAttachment,
1736
- fn as aiVendorDefaultModel,
1737
- dn as aiVendorLabel,
1738
- gn as aiVendorNeedsBaseUrl,
1739
- mn as aiVendorsWith,
1740
- se as appNameFromPath,
1741
- bn as applySignature,
1742
- Xt as artifactBodyBytes,
1743
- Wt as artifactOutline,
1744
- zt as artifactToMarkdown,
1745
- Pt as buildActivityPreview,
1746
- Vn as buildChannelIntents,
1747
- Yt as buildShareKeys,
1748
- cn as canNestUnder,
1749
- kt as carriesText,
1750
- pn as categoryLabel,
1751
- zn as channelKindForScheme,
1752
- vt as channelKindOf,
1753
- Pn as cleanMessageText,
1754
- Ge as defaultLocaleOf,
1755
- Qn as defineIntent,
1756
- Pe as depthOf,
1757
- jn as disabledIntentsFromCapabilities,
1758
- On as emailDomain,
1759
- wn as endpointKey,
1760
- bt as extractParams,
1761
- Xn as filterByEndpoint,
1762
- Fn as filterByIntent,
1763
- ft as filterByTargetScheme,
1759
+ on as actorKey,
1760
+ ut as aiAttachmentKind,
1761
+ Xn as aiAttachmentRejection,
1762
+ En as aiVendorAcceptsAttachment,
1763
+ yn as aiVendorDefaultModel,
1764
+ hn as aiVendorLabel,
1765
+ An as aiVendorNeedsBaseUrl,
1766
+ bn as aiVendorsWith,
1767
+ ce as appNameFromPath,
1768
+ Tn as applySignature,
1769
+ zt as artifactBodyBytes,
1770
+ Yt as artifactOutline,
1771
+ qt as artifactToMarkdown,
1772
+ Kt as buildActivityPreview,
1773
+ zn as buildChannelIntents,
1774
+ Jt as buildShareKeys,
1775
+ fn as canNestUnder,
1776
+ Ot as carriesText,
1777
+ gn as categoryLabel,
1778
+ Qn as channelKindForScheme,
1779
+ xt as channelKindOf,
1780
+ Gn as cleanMessageText,
1781
+ Fe as defaultLocaleOf,
1782
+ ni as defineIntent,
1783
+ Ke as depthOf,
1784
+ Wn as disabledIntentsFromCapabilities,
1785
+ Dn as emailDomain,
1786
+ Kn as endpointKey,
1787
+ Et as extractParams,
1788
+ qn as filterByEndpoint,
1789
+ Yn as filterByIntent,
1790
+ gt as filterByTargetScheme,
1764
1791
  E as findAiVendor,
1765
- Bt as flattenLocales,
1766
- ye as floorToPeriod,
1767
- Oe as formatActingIdentity,
1768
- he as formatPeriod,
1769
- Ut as getActivitySeenUserIds,
1770
- An as getContactEndpoints,
1771
- In as getShortTitle,
1772
- Tn as getUrgencyScore,
1773
- ie as heightOf,
1774
- ln as helpCenterText,
1775
- Qt as humanizeAction,
1776
- En as isAssigned,
1777
- _n as isClosed,
1778
- ni as isDeepLink,
1779
- Ue as isDescendant,
1780
- Sn as isInteractionUnseen,
1781
- ii as isLandingPath,
1782
- Un as isLikelyBulk,
1783
- xt as isMessageType,
1784
- Et as isMoreSpecificPattern,
1785
- on as isPaused,
1786
- $t as isPlaybookAuthoredType,
1787
- $n as isPublicEmailDomain,
1788
- ri as isPublicPath,
1789
- Lt as isReplyableType,
1790
- rn as isRetryable,
1791
- De as isTerminal,
1792
- Kn as isThreadLongEnough,
1793
- sn as linkLabel,
1794
- un as localesOf,
1795
- Ln as looksLikeEmail,
1796
- Wn as matchContactToIntents,
1797
- _t as matchPublicRoute,
1798
- Ot as messageCountsAs,
1799
- Rn as needsPhoneRegion,
1800
- Ft as normalizeArtifactBlocks,
1801
- Ct as normalizeBlocks,
1802
- re as normalizeEmail,
1803
- tn as parseActingIdentity,
1804
- yt as pathToRegex,
1805
- Ht as periodsInRange,
1806
- kn as phoneSuffix,
1807
- Dn as plainTextFromMarkdown,
1808
- nn as playbookActor,
1809
- At as publicBasePathFor,
1810
- ai as publicRoutePatterns,
1792
+ Ht as flattenLocales,
1793
+ Ae as floorToPeriod,
1794
+ Re as formatActingIdentity,
1795
+ be as formatPeriod,
1796
+ Bt as getActivitySeenUserIds,
1797
+ In as getContactEndpoints,
1798
+ Nn as getShortTitle,
1799
+ Cn as getUrgencyScore,
1800
+ re as heightOf,
1801
+ un as helpCenterText,
1802
+ en as humanizeAction,
1803
+ Sn as isAssigned,
1804
+ Mn as isClosed,
1805
+ oi as isDeepLink,
1806
+ Be as isDescendant,
1807
+ vn as isInteractionUnseen,
1808
+ si as isLandingPath,
1809
+ Fn as isLikelyBulk,
1810
+ Lt as isMessageType,
1811
+ Tt as isMoreSpecificPattern,
1812
+ ln as isPaused,
1813
+ wt as isPlaybookAuthoredType,
1814
+ Pn as isPublicEmailDomain,
1815
+ ci as isPublicPath,
1816
+ $t as isReplyableType,
1817
+ sn as isRetryable,
1818
+ Ue as isTerminal,
1819
+ Hn as isThreadLongEnough,
1820
+ cn as linkLabel,
1821
+ dn as localeInstruction,
1822
+ pn as localeName,
1823
+ mn as localesOf,
1824
+ Rn as looksLikeEmail,
1825
+ Jn as matchContactToIntents,
1826
+ It as matchPublicRoute,
1827
+ Rt as messageCountsAs,
1828
+ Un as needsPhoneRegion,
1829
+ Wt as normalizeArtifactBlocks,
1830
+ vt as normalizeBlocks,
1831
+ se as normalizeEmail,
1832
+ an as parseActingIdentity,
1833
+ At as pathToRegex,
1834
+ jt as periodsInRange,
1835
+ wn as phoneSuffix,
1836
+ Bn as plainTextFromMarkdown,
1837
+ rn as playbookActor,
1838
+ _t as publicBasePathFor,
1839
+ li as publicRoutePatterns,
1811
1840
  C as readPath,
1812
- Ye as registrableDomain,
1813
- xn as relatedByDefault,
1814
- pt as resolveAccountCapabilities,
1841
+ Je as registrableDomain,
1842
+ On as relatedByDefault,
1843
+ ft as resolveAccountCapabilities,
1815
1844
  N as resolveActivityText,
1816
- ut as resolveChannelIntents,
1817
- Be as resolveSignature,
1818
- ve as sanitizeInline,
1819
- te as shareKeyForTeam,
1820
- ee as shareKeyForUser,
1821
- qt as shareKeysForViewer,
1822
- ue as stripHtml,
1823
- F as toE164,
1824
- Jt as toolSourceKinds,
1825
- Te as usageMetricId,
1826
- jt as usageMetrics
1845
+ dt as resolveChannelIntents,
1846
+ He as resolveSignature,
1847
+ xe as sanitizeInline,
1848
+ ne as shareKeyForTeam,
1849
+ te as shareKeyForUser,
1850
+ Qt as shareKeysForViewer,
1851
+ de as stripHtml,
1852
+ X as toE164,
1853
+ Zt as toolSourceKinds,
1854
+ Se as usageMetricId,
1855
+ Vt as usageMetrics
1827
1856
  };