@opencxh/domain 1.198.2 → 1.209.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 qn = 10, Jn = 10, Zn = 10, Qn = 5, Ne = /* @__PURE__ */ new Set([
1
+ const or = 10, ar = 10, sr = 10, cr = 5, xe = /* @__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 er(e, t = () => {
17
+ function lr(e, t = () => {
18
18
  }) {
19
19
  if (!Array.isArray(e)) return [];
20
20
  const n = [];
@@ -25,7 +25,7 @@ function er(e, t = () => {
25
25
  }
26
26
  if (!r || typeof r != "object") continue;
27
27
  const i = r;
28
- if (!Ne.has(i.type)) {
28
+ if (!xe.has(i.type)) {
29
29
  t(`unknown block type ${String(i.type)}`);
30
30
  continue;
31
31
  }
@@ -69,7 +69,17 @@ function er(e, t = () => {
69
69
  }
70
70
  return n;
71
71
  }
72
- function ve(e) {
72
+ const De = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, Le = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
73
+ function Pe(e) {
74
+ if (typeof e != "string" || !e) return "";
75
+ let t = e;
76
+ return t = t.replace(/```[a-z]*\n?/gi, "").replace(/~~~[a-z]*\n?/gi, ""), t = t.replace(/!\[([^\]]*)\]\([^)]*\)/g, "$1"), t = t.replace(/\[([^\]]*)\]\([^)]*\)/g, "$1"), t = t.replace(/\[([^\]]*)\]\[[^\]]*\]/g, "$1"), t = t.replace(/<((?:https?|mailto):[^>\s]+)>/gi, "$1"), t = t.split(`
77
+ `).map(
78
+ (n) => n.replace(/^\s{0,3}#{1,6}\s+/, "").replace(/^\s{0,3}>\s?/, "").replace(/^\s*[-*+]\s+/, "").replace(/^\s*\d+[.)]\s+/, "").replace(/^\s*(?:[-*_]\s*){3,}$/, "")
79
+ ).join(`
80
+ `), t = t.replace(De, "$2"), t = t.replace(Le, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
81
+ }
82
+ function Ue(e) {
73
83
  return e.replace(/<style[\s\S]*?<\/style>/gi, " ").replace(/<script[\s\S]*?<\/script>/gi, " ").replace(/<[^>]+>/g, " ").replace(/&nbsp;/g, " ").replace(/&amp;/g, "&").replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&#39;/g, "'").replace(/\s+/g, " ").trim();
74
84
  }
75
85
  function b(e) {
@@ -77,7 +87,7 @@ function b(e) {
77
87
  const t = Math.floor(e / 60), n = Math.floor(e % 60);
78
88
  return `${t}:${n.toString().padStart(2, "0")}`;
79
89
  }
80
- function D(e) {
90
+ function P(e) {
81
91
  return e ? ` — ${Math.floor(e / 60)}m ${e % 60}s` : "";
82
92
  }
83
93
  function M(e) {
@@ -86,7 +96,7 @@ function M(e) {
86
96
  function E(e) {
87
97
  return e.map((t) => t.name).join(", ");
88
98
  }
89
- function L(e) {
99
+ function U(e) {
90
100
  return e === "meeting" ? "Meeting" : e === "video" ? "Video call" : "Audio call";
91
101
  }
92
102
  const m = {
@@ -124,7 +134,7 @@ const m = {
124
134
  channelKind: "voice",
125
135
  icon: "phone",
126
136
  snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${b(e.payload.duration)})` : ""}`,
127
- timeline: (e) => `Call ended${D(e.payload.duration)}`
137
+ timeline: (e) => `Call ended${P(e.payload.duration)}`
128
138
  },
129
139
  VOICE_CALL_MISSED: {
130
140
  shape: "event",
@@ -206,7 +216,7 @@ const m = {
206
216
  replyable: !0,
207
217
  carriesText: !0,
208
218
  countsAs: "inbound_message",
209
- snippet: P
219
+ snippet: K
210
220
  },
211
221
  EMAIL_SENT: {
212
222
  shape: "message",
@@ -216,7 +226,7 @@ const m = {
216
226
  replyable: !0,
217
227
  carriesText: !0,
218
228
  countsAs: "outbound_message",
219
- snippet: P
229
+ snippet: K
220
230
  },
221
231
  /* ---- chat ---- */
222
232
  CHAT_MESSAGE_SENT: {
@@ -273,7 +283,7 @@ const m = {
273
283
  channelKind: "chat",
274
284
  icon: "message-circle",
275
285
  snippet: () => "Gesprek gestart",
276
- timeline: (e) => `${L(e.payload.callType)} started${e.payload.initiator ? ` by ${e.payload.initiator.name}` : ""}`,
286
+ timeline: (e) => `${U(e.payload.callType)} started${e.payload.initiator ? ` by ${e.payload.initiator.name}` : ""}`,
277
287
  joinUrl: (e) => e.payload.joinUrl
278
288
  },
279
289
  CHAT_CALL_ENDED: {
@@ -281,7 +291,7 @@ const m = {
281
291
  channelKind: "chat",
282
292
  icon: "message-circle",
283
293
  snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${b(e.payload.duration)})` : ""}`,
284
- timeline: (e) => `${L(e.payload.callType)} ended${D(e.payload.duration)}`,
294
+ timeline: (e) => `${U(e.payload.callType)} ended${P(e.payload.duration)}`,
285
295
  joinUrl: (e) => e.payload.joinUrl
286
296
  },
287
297
  CHAT_EVENT: {
@@ -438,57 +448,57 @@ const m = {
438
448
  timeline: (e, t) => `Status changed by ${t}`
439
449
  }
440
450
  };
441
- function P(e) {
442
- const t = e.payload, n = t.bodyText?.trim() || t.bodySnippet?.trim() || ve(t.body ?? "");
451
+ function K(e) {
452
+ const t = e.payload, n = Pe(t.bodyText).trim() || t.bodySnippet?.trim() || Ue(t.body ?? "");
443
453
  return t.subject ? `${t.subject} — ${n}` : n;
444
454
  }
445
455
  function d(e) {
446
456
  return m[e];
447
457
  }
448
- function tr(e) {
458
+ function ur(e) {
449
459
  return d(e)?.icon ?? "circle";
450
460
  }
451
- function nr(e) {
461
+ function dr(e) {
452
462
  return d(e)?.channelKind;
453
463
  }
454
- function le(e) {
464
+ function pe(e) {
455
465
  return e === "message" || e === "note";
456
466
  }
457
- function rr(e) {
458
- return le(d(e)?.shape);
467
+ function pr(e) {
468
+ return pe(d(e)?.shape);
459
469
  }
460
- function ir(e) {
470
+ function fr(e) {
461
471
  return d(e)?.replyable === !0;
462
472
  }
463
- function or(e) {
473
+ function mr(e) {
464
474
  return d(e)?.carriesText === !0;
465
475
  }
466
- function Re(e) {
476
+ function Ke(e) {
467
477
  return d(e)?.countsAs;
468
478
  }
469
- function ar(e) {
479
+ function gr(e) {
470
480
  return d(e)?.playbookAuthored === !0;
471
481
  }
472
- function sr(e) {
482
+ function hr(e) {
473
483
  return d(e)?.connected === !0;
474
484
  }
475
- function cr(e) {
485
+ function yr(e) {
476
486
  const t = d(e);
477
487
  return t?.shape === "artifact" && t?.carriesText === !0;
478
488
  }
479
- function $e(e) {
489
+ function Ge(e) {
480
490
  const t = d(e.type)?.snippet;
481
491
  return t ? t(e) : "";
482
492
  }
483
- function lr(e, t) {
493
+ function Ar(e, t) {
484
494
  const n = d(e.type)?.timeline;
485
495
  return n ? n(e, t) : e.type.replace(/_/g, " ").toLowerCase();
486
496
  }
487
- function ur(e) {
497
+ function br(e) {
488
498
  const t = d(e.type)?.joinUrl;
489
499
  return t ? t(e) : void 0;
490
500
  }
491
- function N(e, t) {
501
+ function R(e, t) {
492
502
  let n = e;
493
503
  for (const r of t.split(".")) {
494
504
  if (n == null || typeof n != "object") return "";
@@ -496,43 +506,43 @@ function N(e, t) {
496
506
  }
497
507
  return n == null ? "" : typeof n == "string" ? n : typeof n == "number" || typeof n == "boolean" ? String(n) : "";
498
508
  }
499
- function v(e, t, n) {
509
+ function $(e, t, n) {
500
510
  if (e === void 0) return null;
501
511
  if (typeof e == "string") return e || null;
502
512
  if ("value" in e)
503
- return N(t, e.value) || null;
513
+ return R(t, e.value) || null;
504
514
  const r = {};
505
515
  for (const [o, a] of Object.entries(e.params ?? {}))
506
- r[o] = N(t, a);
516
+ r[o] = R(t, a);
507
517
  const i = n(e.key, r);
508
518
  return i === e.key ? null : i;
509
519
  }
510
- function xe(e, t) {
520
+ function je(e, t) {
511
521
  if (!e || typeof e == "string" || "value" in e) return null;
512
522
  const n = {};
513
523
  for (const [r, i] of Object.entries(e.params ?? {}))
514
- n[r] = N(t, i);
524
+ n[r] = R(t, i);
515
525
  return { key: e.key, params: n };
516
526
  }
517
- const U = 140;
518
- function De(e) {
527
+ const G = 140;
528
+ function Be(e) {
519
529
  const t = e.trim();
520
- return t.length <= U ? t : `${t.slice(0, U - 1).trimEnd()}…`;
530
+ return t.length <= G ? t : `${t.slice(0, G - 1).trimEnd()}…`;
521
531
  }
522
- function dr(e, t) {
523
- const n = xe(t?.text, e), r = t ? v(t.text, e, (i) => i) : null;
532
+ function Er(e, t) {
533
+ const n = je(t?.text, e), r = t ? $(t.text, e, (i) => i) : null;
524
534
  return {
525
535
  activityId: e.id,
526
536
  type: e.type,
527
- snippet: De(r ?? $e(e)),
537
+ snippet: Be(r ?? Ge(e)),
528
538
  authorName: e.author?.name ?? "",
529
539
  direction: e.direction,
530
540
  createdAt: e.createdAt ?? Date.now(),
531
541
  ...n ? { snippetKey: n.key, snippetParams: n.params } : {}
532
542
  };
533
543
  }
534
- const Le = (e) => e;
535
- function K(e) {
544
+ const He = (e) => e;
545
+ function j(e) {
536
546
  const t = m[e];
537
547
  return {
538
548
  type: e,
@@ -548,7 +558,7 @@ function K(e) {
548
558
  displayNameKey: t.displayNameKey
549
559
  };
550
560
  }
551
- function G(e) {
561
+ function B(e) {
552
562
  return {
553
563
  type: e.type,
554
564
  shape: e.shape,
@@ -563,21 +573,21 @@ function G(e) {
563
573
  displayNameKey: e.displayNameKey
564
574
  };
565
575
  }
566
- class Pe {
567
- constructor(t = [], n = Le) {
576
+ class Fe {
577
+ constructor(t = [], n = He) {
568
578
  this.translate = n;
569
579
  for (const r of t)
570
580
  r?.type && (r.type in m || this.declared.has(r.type) || this.declared.set(r.type, r));
571
581
  }
572
582
  declared = /* @__PURE__ */ new Map();
573
583
  get(t) {
574
- if (t in m) return K(t);
584
+ if (t in m) return j(t);
575
585
  const n = this.declared.get(t);
576
- return n ? G(n) : void 0;
586
+ return n ? B(n) : void 0;
577
587
  }
578
588
  /** Everything that may be offered as a trigger, built-in and declared. */
579
589
  triggerable() {
580
- const t = Object.keys(m).filter((r) => m[r].triggerable).map(K), n = [...this.declared.values()].map(G).filter((r) => r.triggerable);
590
+ const t = Object.keys(m).filter((r) => m[r].triggerable).map(j), n = [...this.declared.values()].map(B).filter((r) => r.triggerable);
581
591
  return [...t, ...n];
582
592
  }
583
593
  /**
@@ -589,14 +599,14 @@ class Pe {
589
599
  const r = m[t.type];
590
600
  if (r?.timeline) return r.timeline(t, n);
591
601
  const i = this.declared.get(t.type);
592
- return v(i?.text, t, this.translate) ?? t.type.replace(/_/g, " ").toLowerCase();
602
+ return $(i?.text, t, this.translate) ?? t.type.replace(/_/g, " ").toLowerCase();
593
603
  }
594
604
  /** The line for the inbox list. Empty when the type has nothing to show. */
595
605
  snippet(t) {
596
606
  const n = m[t.type];
597
607
  if (n?.snippet) return n.snippet(t);
598
608
  const r = this.declared.get(t.type);
599
- return v(r?.text, t, this.translate) ?? "";
609
+ return $(r?.text, t, this.translate) ?? "";
600
610
  }
601
611
  /** The descriptor as it arrived; needed to store `text` as a key. */
602
612
  descriptor(t) {
@@ -621,7 +631,7 @@ class Pe {
621
631
  * {@link ResolvedActivityType}.
622
632
  */
623
633
  isMessage(t) {
624
- return le(this.get(t)?.shape);
634
+ return pe(this.get(t)?.shape);
625
635
  }
626
636
  /** Can a person reply to this? Notes cannot — those go nowhere. */
627
637
  isReplyable(t) {
@@ -649,23 +659,23 @@ class Pe {
649
659
  return this.translate;
650
660
  }
651
661
  }
652
- const pr = new Pe();
653
- function fr(e, t, n = []) {
662
+ const Sr = new Fe();
663
+ function _r(e, t, n = []) {
654
664
  const r = e.createdAt;
655
665
  if (!r) return [];
656
666
  const i = new Set(n);
657
667
  return e.author.type === "user" && e.author.id && i.add(e.author.id), Object.entries(t).filter(([o, a]) => a >= r && !i.has(o)).map(([o]) => o);
658
668
  }
659
- function Ue(e) {
669
+ function Ve(e) {
660
670
  return e.createdAt ?? 0;
661
671
  }
662
- function mr(e) {
672
+ function Tr(e) {
663
673
  return e.type === "EMAIL_RECEIVED" || e.type === "EMAIL_SENT";
664
674
  }
665
- function gr(e) {
675
+ function Ir(e) {
666
676
  return e.type === "CHAT_MESSAGE_SENT" || e.type === "CHAT_MESSAGE_RECEIVED";
667
677
  }
668
- const ue = [
678
+ const fe = [
669
679
  {
670
680
  id: "openai",
671
681
  attachmentKinds: ["image", "pdf"],
@@ -756,44 +766,44 @@ const ue = [
756
766
  }
757
767
  ];
758
768
  function T(e) {
759
- return ue.find((t) => t.id === e);
769
+ return fe.find((t) => t.id === e);
760
770
  }
761
- function hr(e) {
771
+ function wr(e) {
762
772
  return T(e)?.label ?? e;
763
773
  }
764
- function yr(e, t = "gpt-5-mini") {
774
+ function Mr(e, t = "gpt-5-mini") {
765
775
  return T(e)?.defaultModel ?? t;
766
776
  }
767
- function Ar(e) {
768
- return ue.filter((t) => t.capabilities.includes(e));
777
+ function kr(e) {
778
+ return fe.filter((t) => t.capabilities.includes(e));
769
779
  }
770
- function br(e) {
780
+ function Cr(e) {
771
781
  const t = T(e);
772
782
  return !!t && !t.baseUrl;
773
783
  }
774
- function Er(e, t) {
784
+ function Or(e, t) {
775
785
  return t === "text" ? !0 : T(e)?.attachmentKinds?.includes(t) === !0;
776
786
  }
777
- function Sr(e, t) {
787
+ function Nr(e, t) {
778
788
  if (!e.enabled) return "ok";
779
- const n = j(e.hardLimitNanos), r = j(e.softLimitNanos);
789
+ const n = H(e.hardLimitNanos), r = H(e.softLimitNanos);
780
790
  return n !== void 0 && t >= n ? "hard" : r !== void 0 && t >= r ? "soft" : "ok";
781
791
  }
782
- function j(e) {
792
+ function H(e) {
783
793
  return typeof e == "number" ? e : void 0;
784
794
  }
785
- function Ke(e, t = "month") {
795
+ function We(e, t = "month") {
786
796
  const n = new Date(e);
787
797
  return Date.UTC(n.getUTCFullYear(), n.getUTCMonth(), 1);
788
798
  }
789
- function _r(e, t = "month") {
790
- const n = new Date(Ke(e, t));
799
+ function vr(e, t = "month") {
800
+ const n = new Date(We(e, t));
791
801
  return `${n.getUTCFullYear()}-${String(n.getUTCMonth() + 1).padStart(2, "0")}`;
792
802
  }
793
- function Tr(e) {
803
+ function Rr(e) {
794
804
  return e?.listeningEnabled !== !1;
795
805
  }
796
- const Ir = [
806
+ const $r = [
797
807
  { id: "agent", label: "Agent", labelSource: "user" },
798
808
  { id: "team", label: "Team", labelSource: "team" },
799
809
  { id: "inbox", label: "Inbox", labelSource: "inbox" },
@@ -806,44 +816,44 @@ const Ir = [
806
816
  function k(e) {
807
817
  return e < 10 ? `0${e}` : `${e}`;
808
818
  }
809
- function Ge(e, t) {
819
+ function ze(e, t) {
810
820
  const n = new Date(e), r = `${n.getUTCFullYear()}-${k(n.getUTCMonth() + 1)}-${k(n.getUTCDate())}`;
811
821
  return t === "day" ? r : `${r}T${k(n.getUTCHours())}`;
812
822
  }
813
- function je(e, t) {
823
+ function Xe(e, t) {
814
824
  const n = new Date(e);
815
825
  return n.setUTCMinutes(0, 0, 0), t === "day" && n.setUTCHours(0), n.getTime();
816
826
  }
817
- const Be = 36e5, He = 864e5;
818
- function wr(e, t, n) {
819
- const r = n === "hour" ? Be : He, i = [];
820
- for (let o = je(e, n); o <= t; o += r)
821
- i.push(Ge(o, n));
827
+ const Ye = 36e5, qe = 864e5;
828
+ function xr(e, t, n) {
829
+ const r = n === "hour" ? Ye : qe, i = [];
830
+ for (let o = Xe(e, n); o <= t; o += r)
831
+ i.push(ze(o, n));
822
832
  return i;
823
833
  }
824
- const Fe = [
834
+ const Je = [
825
835
  { id: "resource", label: "Resource", labelSource: "raw" },
826
836
  { id: "origin", label: "Herkomst", labelSource: "raw" }
827
- ], Ve = Fe.map((e) => e.id);
828
- function We(e, t) {
837
+ ], Ze = Je.map((e) => e.id);
838
+ function Qe(e, t) {
829
839
  return `${e}.usage.${t}`;
830
840
  }
831
- function Mr(e, t) {
841
+ function Dr(e, t) {
832
842
  return t.map((n) => ({
833
- id: We(e, n.unit),
843
+ id: Qe(e, n.unit),
834
844
  label: n.label,
835
845
  category: "Verbruik",
836
846
  valueType: n.valueType ?? "count",
837
847
  aggregation: "sum",
838
848
  supportedDimensions: [
839
849
  "provider",
840
- ...Ve,
850
+ ...Ze,
841
851
  ...n.extraDimensions ?? [],
842
852
  "time"
843
853
  ]
844
854
  }));
845
855
  }
846
- const de = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), B = 200, H = 100, F = 200, V = 12, W = 4, pe = 4e3, C = 500, kr = 256 * 1024, ze = /* @__PURE__ */ new Set([
856
+ const me = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), F = 200, V = 100, W = 200, z = 12, X = 4, ge = 4e3, C = 500, Lr = 256 * 1024, et = /* @__PURE__ */ new Set([
847
857
  "heading",
848
858
  "paragraph",
849
859
  "list",
@@ -853,15 +863,15 @@ const de = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]
853
863
  "table",
854
864
  "kpi",
855
865
  "callout"
856
- ]), Xe = ["http:", "https:", "mailto:", "tel:"], Ye = /^[a-z][a-z0-9+.-]*:/i;
857
- function fe(e) {
866
+ ]), tt = ["http:", "https:", "mailto:", "tel:"], nt = /^[a-z][a-z0-9+.-]*:/i;
867
+ function he(e) {
858
868
  const t = e.trim().replace(/^<|>$/g, "");
859
869
  if (!t) return !1;
860
- const n = Ye.exec(t)?.[0];
861
- return n ? Xe.includes(n.toLowerCase()) : !t.startsWith("//");
870
+ const n = nt.exec(t)?.[0];
871
+ return n ? tt.includes(n.toLowerCase()) : !t.startsWith("//");
862
872
  }
863
- const qe = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
864
- function Je(e) {
873
+ const rt = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
874
+ function it(e) {
865
875
  let t = "", n = 0;
866
876
  for (; n < e.length; ) {
867
877
  const r = e[n] === "!" && e[n + 1] === "[";
@@ -869,22 +879,22 @@ function Je(e) {
869
879
  t += e[n], n += 1;
870
880
  continue;
871
881
  }
872
- const i = n + (r ? 2 : 1), o = z(e, i, "[", "]");
882
+ const i = n + (r ? 2 : 1), o = Y(e, i, "[", "]");
873
883
  if (o < 0 || e[o + 1] !== "(") {
874
884
  t += e[n], n += 1;
875
885
  continue;
876
886
  }
877
- const a = z(e, o + 2, "(", ")");
887
+ const a = Y(e, o + 2, "(", ")");
878
888
  if (a < 0) {
879
889
  t += e[n], n += 1;
880
890
  continue;
881
891
  }
882
892
  const s = e.slice(i, o), c = e.slice(o + 2, a).trim().split(/\s+/)[0] ?? "";
883
- t += r || !fe(c) ? s : e.slice(n, a + 1), n = a + 1;
893
+ t += r || !he(c) ? s : e.slice(n, a + 1), n = a + 1;
884
894
  }
885
895
  return t;
886
896
  }
887
- function z(e, t, n, r) {
897
+ function Y(e, t, n, r) {
888
898
  let i = 1;
889
899
  for (let o = t; o < e.length; o += 1) {
890
900
  if (e[o] === "\\") {
@@ -897,33 +907,33 @@ function z(e, t, n, r) {
897
907
  }
898
908
  return -1;
899
909
  }
900
- function Ze(e) {
901
- return Je(e).replace(
902
- qe,
903
- (t, n, r) => fe(r) ? t : ""
910
+ function ot(e) {
911
+ return it(e).replace(
912
+ rt,
913
+ (t, n, r) => he(r) ? t : ""
904
914
  );
905
915
  }
906
- function u(e, t = pe) {
907
- return typeof e == "string" ? Ze(e).slice(0, t) : "";
916
+ function u(e, t = ge) {
917
+ return typeof e == "string" ? ot(e).slice(0, t) : "";
908
918
  }
909
- function Qe(e, t = pe) {
919
+ function at(e, t = ge) {
910
920
  return typeof e == "string" ? e.slice(0, t) : "";
911
921
  }
912
- function et(e, t = "info") {
913
- return typeof e == "string" && de.has(e) ? e : t;
922
+ function st(e, t = "info") {
923
+ return typeof e == "string" && me.has(e) ? e : t;
914
924
  }
915
- function Cr(e, t = () => {
925
+ function Pr(e, t = () => {
916
926
  }) {
917
927
  if (!Array.isArray(e)) return [];
918
928
  const n = [];
919
929
  for (const r of e) {
920
- if (n.length >= B) {
921
- t(`more than ${B} blocks; the rest was dropped`);
930
+ if (n.length >= F) {
931
+ t(`more than ${F} blocks; the rest was dropped`);
922
932
  break;
923
933
  }
924
934
  if (!r || typeof r != "object") continue;
925
935
  const i = r;
926
- if (!ze.has(i.type)) {
936
+ if (!et.has(i.type)) {
927
937
  t(`unknown block type ${String(i.type)}`);
928
938
  continue;
929
939
  }
@@ -958,7 +968,7 @@ function Cr(e, t = () => {
958
968
  break;
959
969
  }
960
970
  case "code": {
961
- const a = Qe(i.text);
971
+ const a = at(i.text);
962
972
  if (!a) {
963
973
  t("a code block without text");
964
974
  continue;
@@ -973,8 +983,8 @@ function Cr(e, t = () => {
973
983
  case "list": {
974
984
  const a = Array.isArray(i.items) ? i.items : [], s = [];
975
985
  for (const p of a) {
976
- if (s.length >= H) {
977
- t(`more than ${H} list items`);
986
+ if (s.length >= V) {
987
+ t(`more than ${V} list items`);
978
988
  break;
979
989
  }
980
990
  const f = u(p?.text);
@@ -993,8 +1003,8 @@ function Cr(e, t = () => {
993
1003
  case "table": {
994
1004
  const a = Array.isArray(i.columns) ? i.columns : [], s = [];
995
1005
  for (const l of a) {
996
- if (s.length >= V) {
997
- t(`more than ${V} table columns`);
1006
+ if (s.length >= z) {
1007
+ t(`more than ${z} table columns`);
998
1008
  break;
999
1009
  }
1000
1010
  const A = u(l?.label, C), I = l?.align === "right" ? "right" : void 0;
@@ -1006,12 +1016,12 @@ function Cr(e, t = () => {
1006
1016
  }
1007
1017
  const c = Array.isArray(i.rows) ? i.rows : [], p = [];
1008
1018
  for (const l of c) {
1009
- if (p.length >= F) {
1010
- t(`more than ${F} table rows`);
1019
+ if (p.length >= W) {
1020
+ t(`more than ${W} table rows`);
1011
1021
  break;
1012
1022
  }
1013
1023
  const A = Array.isArray(l) ? l : [];
1014
- p.push(s.map((I, Oe) => u(A[Oe], C)));
1024
+ p.push(s.map((I, $e) => u(A[$e], C)));
1015
1025
  }
1016
1026
  const f = u(i.caption, C);
1017
1027
  n.push({
@@ -1026,15 +1036,15 @@ function Cr(e, t = () => {
1026
1036
  case "kpi": {
1027
1037
  const a = Array.isArray(i.items) ? i.items : [], s = [];
1028
1038
  for (const c of a) {
1029
- if (s.length >= W) {
1030
- t(`more than ${W} kpi items`);
1039
+ if (s.length >= X) {
1040
+ t(`more than ${X} kpi items`);
1031
1041
  break;
1032
1042
  }
1033
1043
  const p = u(c?.value, 40), f = u(c?.label, 80);
1034
1044
  if (!p || !f) continue;
1035
1045
  const l = c?.tone;
1036
1046
  s.push(
1037
- typeof l == "string" && de.has(l) ? { value: p, label: f, tone: l } : { value: p, label: f }
1047
+ typeof l == "string" && me.has(l) ? { value: p, label: f, tone: l } : { value: p, label: f }
1038
1048
  );
1039
1049
  }
1040
1050
  if (s.length === 0) {
@@ -1054,7 +1064,7 @@ function Cr(e, t = () => {
1054
1064
  n.push({
1055
1065
  ...o,
1056
1066
  type: "callout",
1057
- tone: et(i.tone),
1067
+ tone: st(i.tone),
1058
1068
  ...s ? { title: s } : {},
1059
1069
  text: a
1060
1070
  });
@@ -1064,28 +1074,28 @@ function Cr(e, t = () => {
1064
1074
  }
1065
1075
  return n;
1066
1076
  }
1067
- function Or(e) {
1077
+ function Ur(e) {
1068
1078
  return JSON.stringify(e).length;
1069
1079
  }
1070
- function Nr(e) {
1080
+ function Kr(e) {
1071
1081
  return {
1072
1082
  blocks: e.length,
1073
1083
  types: e.map((t) => t.type),
1074
1084
  headings: e.flatMap((t) => t.type === "heading" ? [t.text] : [])
1075
1085
  };
1076
1086
  }
1077
- function X(e) {
1087
+ function q(e) {
1078
1088
  return e.replace(/\|/g, "\\|").replace(/\r?\n/g, " ").trim();
1079
1089
  }
1080
- function Y(e, t, n) {
1090
+ function J(e, t, n) {
1081
1091
  const r = e.map((i, o) => n?.[o] === "right" ? "---:" : "---");
1082
1092
  return [
1083
- `| ${e.map(X).join(" | ")} |`,
1093
+ `| ${e.map(q).join(" | ")} |`,
1084
1094
  `| ${r.join(" | ")} |`,
1085
- ...t.map((i) => `| ${i.map(X).join(" | ")} |`)
1095
+ ...t.map((i) => `| ${i.map(q).join(" | ")} |`)
1086
1096
  ];
1087
1097
  }
1088
- function tt(e) {
1098
+ function ct(e) {
1089
1099
  switch (e.type) {
1090
1100
  case "heading":
1091
1101
  return [`${"#".repeat(e.level)} ${e.text}`];
@@ -1103,7 +1113,7 @@ function tt(e) {
1103
1113
  return t.lead ? `${r} **${t.lead}** ${t.text}` : `${r} ${t.text}`;
1104
1114
  });
1105
1115
  case "table": {
1106
- const t = Y(
1116
+ const t = J(
1107
1117
  e.columns.map((n) => n.label),
1108
1118
  e.rows,
1109
1119
  e.columns.map((n) => n.align ?? "left")
@@ -1111,7 +1121,7 @@ function tt(e) {
1111
1121
  return e.caption ? [...t, "", `*${e.caption}*`] : t;
1112
1122
  }
1113
1123
  case "kpi":
1114
- return Y(
1124
+ return J(
1115
1125
  e.items.map((t) => t.value),
1116
1126
  [e.items.map((t) => t.label)]
1117
1127
  );
@@ -1119,11 +1129,11 @@ function tt(e) {
1119
1129
  return (e.title ? `**${e.title}** ${e.text}` : e.text).split(/\r?\n/).map((n) => `> ${n}`);
1120
1130
  }
1121
1131
  }
1122
- function vr(e, t) {
1132
+ function Gr(e, t) {
1123
1133
  const n = [], r = e.some((i) => i.type === "heading" && i.level === 1);
1124
1134
  t && !r && n.push(`# ${t}`);
1125
1135
  for (const i of e) {
1126
- const o = tt(i);
1136
+ const o = ct(i);
1127
1137
  o.length > 0 && n.push(o.join(`
1128
1138
  `));
1129
1139
  }
@@ -1132,41 +1142,41 @@ function vr(e, t) {
1132
1142
  `)}
1133
1143
  `;
1134
1144
  }
1135
- const me = (e) => `user:${e}`, ge = (e) => `team:${e}`;
1136
- function Rr(e) {
1145
+ const ye = (e) => `user:${e}`, Ae = (e) => `team:${e}`;
1146
+ function jr(e) {
1137
1147
  const t = /* @__PURE__ */ new Set();
1138
1148
  for (const n of e ?? [])
1139
- n?.id && (n.kind === "user" && t.add(me(n.id)), n.kind === "team" && t.add(ge(n.id)));
1149
+ n?.id && (n.kind === "user" && t.add(ye(n.id)), n.kind === "team" && t.add(Ae(n.id)));
1140
1150
  return [...t].sort();
1141
1151
  }
1142
- function $r(e, t) {
1143
- return [me(e), ...t.map(ge)];
1152
+ function Br(e, t) {
1153
+ return [ye(e), ...t.map(Ae)];
1144
1154
  }
1145
- function xr(e) {
1155
+ function Hr(e) {
1146
1156
  const t = /* @__PURE__ */ new Set();
1147
1157
  for (const n of e ?? [])
1148
1158
  n?.kind && t.add(n.kind);
1149
1159
  return [...t];
1150
1160
  }
1151
- const nt = ["done", "escalated"];
1152
- function Dr(e) {
1153
- return nt.includes(e);
1161
+ const lt = ["done", "escalated"];
1162
+ function Fr(e) {
1163
+ return lt.includes(e);
1154
1164
  }
1155
- const rt = "assignment";
1156
- function Lr(e) {
1157
- return `${rt}:${e}`;
1165
+ const ut = "assignment";
1166
+ function Vr(e) {
1167
+ return `${ut}:${e}`;
1158
1168
  }
1159
- function Pr(e, t, n) {
1169
+ function Wr(e, t, n) {
1160
1170
  if (e.direction === "inbound") return !0;
1161
1171
  if (e.author?.type === "user" && e.author.id === t) return !1;
1162
1172
  const r = e.payload?.mentions;
1163
1173
  return Array.isArray(r) && r.includes(t) ? !0 : n === "reply";
1164
1174
  }
1165
- function Ur(e) {
1175
+ function zr(e) {
1166
1176
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
1167
1177
  }
1168
- const it = 12;
1169
- function Kr(e, t, n = it) {
1178
+ const dt = 12;
1179
+ function Xr(e, t, n = dt) {
1170
1180
  const r = t + 1;
1171
1181
  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 ? {
1172
1182
  status: "escalated",
@@ -1180,108 +1190,108 @@ function Kr(e, t, n = it) {
1180
1190
  reason: "de agent rondde zijn beurt af zonder te zeggen wat er moet gebeuren (wachten, afronden of overdragen)"
1181
1191
  };
1182
1192
  }
1183
- const Gr = /* @__PURE__ */ new Set(["mail", "message"]);
1184
- function ot(e, t) {
1193
+ const Yr = /* @__PURE__ */ new Set(["mail", "message"]);
1194
+ function pt(e, t) {
1185
1195
  const n = e.settings?.signatures?.[t];
1186
1196
  return !n?.enabled || !n.body || n.body.trim() === "" ? null : n;
1187
1197
  }
1188
- function jr(e, t, n, r = "html") {
1198
+ function qr(e, t, n, r = "html") {
1189
1199
  if (!e) return n;
1190
- const i = ot(e, t);
1200
+ const i = pt(e, t);
1191
1201
  return i ? `${n}${r === "text" ? `
1192
1202
 
1193
1203
  ` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${i.body}` : n;
1194
1204
  }
1195
- function Br(e) {
1205
+ function Jr(e) {
1196
1206
  return e.endpoints ?? [];
1197
1207
  }
1198
- const at = 36e5, st = 864e5, g = -1 / 0, Hr = (e) => e.score > g, _ = {
1208
+ const ft = 36e5, mt = 864e5, g = -1 / 0, Zr = (e) => e.score > g, _ = {
1199
1209
  urgent: 40,
1200
1210
  high: 25,
1201
1211
  normal: 10,
1202
1212
  low: 0
1203
1213
  };
1204
- function Fr(e) {
1214
+ function Qr(e) {
1205
1215
  return Object.fromEntries(e.map((t) => [t.resourceId, t]));
1206
1216
  }
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));
1217
+ const gt = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, ht = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
1218
+ function yt(e, t) {
1219
+ return !!(e && gt.test(e) || t && ht.test(t));
1210
1220
  }
1211
- const dt = 3, pt = 600;
1212
- function Vr(e, t) {
1213
- return e >= dt || t >= pt;
1221
+ const At = 3, bt = 600;
1222
+ function ei(e, t) {
1223
+ return e >= At || t >= bt;
1214
1224
  }
1215
- function ft(e, t) {
1225
+ function Et(e, t) {
1216
1226
  return e.lastActivityAt ? !(e.seenBy ?? []).includes(t) : !1;
1217
1227
  }
1218
- const mt = ["open"], gt = 1e3, ht = {
1228
+ const St = ["open"], _t = 1e3, Tt = {
1219
1229
  urgent: 1,
1220
1230
  high: 4,
1221
1231
  normal: 8,
1222
1232
  low: 24
1223
- }, yt = 72;
1224
- function At(e) {
1225
- return e.lastActivityAt ?? (e.createdAt ? new Date(Ue(e)).getTime() : 0);
1233
+ }, It = 72;
1234
+ function wt(e) {
1235
+ return e.lastActivityAt ?? (e.createdAt ? new Date(Ve(e)).getTime() : 0);
1226
1236
  }
1227
- function bt(e, t) {
1228
- return Et(t.remindersById?.[e.id], e, t.now);
1237
+ function Mt(e, t) {
1238
+ return kt(t.remindersById?.[e.id], e, t.now);
1229
1239
  }
1230
- function Et(e, t, n) {
1240
+ function kt(e, t, n) {
1231
1241
  return !e || e.remindAt <= n ? !1 : !((t.lastActivityAt ?? 0) > e.parkedAt && t.lastActivityPreview?.direction === "inbound");
1232
1242
  }
1233
- const he = (e) => Re(e) === "outbound_message", ye = (e) => mt.includes(e);
1234
- function R(e, t) {
1235
- return Math.max(0, (t - At(e)) / at);
1243
+ const be = (e) => Ke(e) === "outbound_message", Ee = (e) => St.includes(e);
1244
+ function x(e, t) {
1245
+ return Math.max(0, (t - wt(e)) / ft);
1236
1246
  }
1237
- function St(e, t) {
1247
+ function Ct(e, t) {
1238
1248
  const n = e.assignedInboxId ? t?.[e.assignedInboxId] : void 0;
1239
- return typeof n == "number" && n > 0 ? n : ht[e.priority ?? "normal"];
1249
+ return typeof n == "number" && n > 0 ? n : Tt[e.priority ?? "normal"];
1240
1250
  }
1241
- function Wr(e) {
1251
+ function ti(e) {
1242
1252
  const t = {};
1243
1253
  for (const n of e)
1244
1254
  typeof n.slaHours == "number" && n.slaHours > 0 && (t[n.id] = n.slaHours);
1245
1255
  return t;
1246
1256
  }
1247
- function zr(e, t, n) {
1248
- return !ye(e.status) || e.firstResponseAt ? !1 : R(e, t) > St(e, n);
1257
+ function ni(e, t, n) {
1258
+ return !Ee(e.status) || e.firstResponseAt ? !1 : x(e, t) > Ct(e, n);
1249
1259
  }
1250
- function _t(e, t) {
1260
+ function Ot(e, t) {
1251
1261
  const n = e.lastActivityPreview;
1252
- return n?.direction !== "outbound" || !he(n.type) ? !1 : R(e, t) < yt;
1262
+ return n?.direction !== "outbound" || !be(n.type) ? !1 : x(e, t) < It;
1253
1263
  }
1254
- function Xr(e, t) {
1255
- if (!ye(e.status)) return { score: g, reasons: [] };
1264
+ function ri(e, t) {
1265
+ if (!Ee(e.status)) return { score: g, reasons: [] };
1256
1266
  if (e.snoozedTill && e.snoozedTill > t.now) return { score: g, reasons: [] };
1257
- if (_t(e, t.now)) return { score: g, reasons: [] };
1258
- if (bt(e, t)) return { score: g, reasons: [] };
1267
+ if (Ot(e, t.now)) return { score: g, reasons: [] };
1268
+ if (Mt(e, t)) return { score: g, reasons: [] };
1259
1269
  let n = 0;
1260
1270
  const r = [], i = e.priority ?? "normal";
1261
- _[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"));
1262
- const o = R(e, t.now);
1271
+ _[i] > 0 && (n += _[i], r.push(`priority:${i}`)), Et(e, t.userId) && (n += 20, r.push("unseen")), e.assignedUserId && e.assignedUserId === t.userId && (n += 15, r.push("assigned-to-you"));
1272
+ const o = x(e, t.now);
1263
1273
  if (o > 0) {
1264
1274
  const s = Math.min(o * 2, 30);
1265
1275
  n += s, o >= 1 && r.push(`waiting:${Math.round(o)}h`);
1266
1276
  }
1267
1277
  const a = e.lastActivityPreview;
1268
- return a?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), a?.direction === "outbound" && he(a.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 };
1278
+ return a?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), a?.direction === "outbound" && be(a.type) && (n += 10, r.push("no-reply")), !e.firstResponseAt && e.lastActivityPreview?.direction === "inbound" && (n += 10, r.push("awaiting-reply")), yt(e.remoteParty?.resource, e.lastActivityPreview?.snippet) && (n -= _t, r.push("bulk")), { score: n, reasons: r };
1269
1279
  }
1270
- const Yr = (e) => !!e.assignedUserId || !!e.assignedInboxId, qr = (e) => e.status === "closed", Jr = (e) => ({
1280
+ const ii = (e) => !!e.assignedUserId || !!e.assignedInboxId, oi = (e) => e.status === "closed", ai = (e) => ({
1271
1281
  urgent: 10,
1272
1282
  high: 5,
1273
1283
  normal: 2,
1274
1284
  low: 1
1275
- })[e.priority] || 0, Zr = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1276
- function Qr(e, t) {
1285
+ })[e.priority] || 0, si = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1286
+ function ci(e, t) {
1277
1287
  const n = e.labels ?? [];
1278
1288
  return n.find((r) => r.locale === t)?.label ?? n[0]?.label ?? e.url;
1279
1289
  }
1280
- function ei(e, t, n) {
1290
+ function li(e, t, n) {
1281
1291
  const r = e.translations ?? [];
1282
1292
  return r.find((i) => i.locale === t) ?? (n ? r.find((i) => i.locale === n) : void 0) ?? { locale: t };
1283
1293
  }
1284
- const q = [
1294
+ const Z = [
1285
1295
  { code: "nl", label: "Nederlands", english: "Dutch" },
1286
1296
  { code: "en", label: "English", english: "English" },
1287
1297
  { code: "de", label: "Deutsch", english: "German" },
@@ -1296,36 +1306,36 @@ const q = [
1296
1306
  { code: "fi", label: "Suomi", english: "Finnish" },
1297
1307
  { code: "tr", label: "Türkçe", english: "Turkish" }
1298
1308
  ];
1299
- function Ae(e) {
1309
+ function Se(e) {
1300
1310
  const t = (e ?? "").toLowerCase();
1301
- return q.find((n) => n.code === t) ?? q.find((n) => n.code === t.split("-")[0]);
1311
+ return Z.find((n) => n.code === t) ?? Z.find((n) => n.code === t.split("-")[0]);
1302
1312
  }
1303
- function ti(e) {
1304
- return Ae(e)?.label ?? e;
1313
+ function ui(e) {
1314
+ return Se(e)?.label ?? e;
1305
1315
  }
1306
- function ni(e) {
1307
- const t = Ae(e);
1316
+ function di(e) {
1317
+ const t = Se(e);
1308
1318
  return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
1309
1319
  }
1310
- const be = 3;
1311
- function Tt(e, t) {
1320
+ const _e = 3;
1321
+ function Nt(e, t) {
1312
1322
  const n = /* @__PURE__ */ new Set();
1313
1323
  let r = 1, i = t.get(e)?.parentId;
1314
1324
  for (; i; ) {
1315
- if (n.has(i) || (n.add(i), r++, r > be + 1)) return 1 / 0;
1325
+ if (n.has(i) || (n.add(i), r++, r > _e + 1)) return 1 / 0;
1316
1326
  i = t.get(i)?.parentId;
1317
1327
  }
1318
1328
  return r;
1319
1329
  }
1320
- function ri(e, t, n) {
1330
+ function pi(e, t, n) {
1321
1331
  if (!e) return !0;
1322
1332
  if (e === t) return !1;
1323
1333
  const r = new Map(n.map((a) => [a.id, a]));
1324
- if (!r.has(e) || t && It(e, t, r)) return !1;
1325
- const i = Tt(e, r), o = t ? Ee(t, n) : 1;
1326
- return i + o <= be;
1334
+ if (!r.has(e) || t && vt(e, t, r)) return !1;
1335
+ const i = Nt(e, r), o = t ? Te(t, n) : 1;
1336
+ return i + o <= _e;
1327
1337
  }
1328
- function It(e, t, n) {
1338
+ function vt(e, t, n) {
1329
1339
  const r = /* @__PURE__ */ new Set();
1330
1340
  let i = n.get(e)?.parentId;
1331
1341
  for (; i; ) {
@@ -1335,44 +1345,44 @@ function It(e, t, n) {
1335
1345
  }
1336
1346
  return !1;
1337
1347
  }
1338
- function Ee(e, t, n = /* @__PURE__ */ new Set()) {
1348
+ function Te(e, t, n = /* @__PURE__ */ new Set()) {
1339
1349
  if (n.has(e)) return 1;
1340
1350
  n.add(e);
1341
1351
  const r = t.filter((i) => i.parentId === e);
1342
- return r.length ? 1 + Math.max(...r.map((i) => Ee(i.id, t, n))) : 1;
1352
+ return r.length ? 1 + Math.max(...r.map((i) => Te(i.id, t, n))) : 1;
1343
1353
  }
1344
- const wt = "en";
1345
- function Mt(e) {
1346
- return e.defaultLocale || e.locale || wt;
1354
+ const Rt = "en";
1355
+ function $t(e) {
1356
+ return e.defaultLocale || e.locale || Rt;
1347
1357
  }
1348
- function ii(e) {
1358
+ function fi(e) {
1349
1359
  const t = /* @__PURE__ */ new Set(), n = [];
1350
- for (const r of [Mt(e), ...e.locales ?? []])
1360
+ for (const r of [$t(e), ...e.locales ?? []])
1351
1361
  !r || t.has(r) || (t.add(r), n.push(r));
1352
1362
  return n;
1353
1363
  }
1354
- function oi(e, t, n) {
1364
+ function mi(e, t, n) {
1355
1365
  const r = e.translations ?? [];
1356
1366
  return r.find((i) => i.locale === t)?.name ?? (n ? r.find((i) => i.locale === n)?.name : void 0) ?? e.name;
1357
1367
  }
1358
- const J = ["lookup", "condition", "parallel", "for-each"];
1359
- function Z(e) {
1368
+ const Q = ["lookup", "condition", "parallel", "for-each"];
1369
+ function ee(e) {
1360
1370
  for (const t of e) {
1361
- if (!J.includes(t.type))
1362
- return `staptype "${t.type}" mag niet meelezen (alleen ${J.join(", ")})`;
1371
+ if (!Q.includes(t.type))
1372
+ return `staptype "${t.type}" mag niet meelezen (alleen ${Q.join(", ")})`;
1363
1373
  if (t.type === "parallel")
1364
1374
  for (const n of t.branches ?? []) {
1365
- const r = Z(n);
1375
+ const r = ee(n);
1366
1376
  if (r) return r;
1367
1377
  }
1368
1378
  if (t.type === "for-each") {
1369
- const n = Z(t.body ?? []);
1379
+ const n = ee(t.body ?? []);
1370
1380
  if (n) return n;
1371
1381
  }
1372
1382
  }
1373
1383
  return null;
1374
1384
  }
1375
- function kt(e, t) {
1385
+ function xt(e, t) {
1376
1386
  switch (e.kind) {
1377
1387
  case "org":
1378
1388
  return !0;
@@ -1382,23 +1392,23 @@ function kt(e, t) {
1382
1392
  return e.userId === t.userId;
1383
1393
  }
1384
1394
  }
1385
- function ai(e, t) {
1386
- return e.filter((n) => n.enabled && kt(n.ownerScope, t));
1395
+ function gi(e, t) {
1396
+ return e.filter((n) => n.enabled && xt(n.ownerScope, t));
1387
1397
  }
1388
- function si(e) {
1398
+ function hi(e) {
1389
1399
  return e.credentialScope ? e.credentialScope : (e.authMode ?? "header") === "header" || e.oauth?.scope === "org" ? "shared" : "per-user";
1390
1400
  }
1391
- function ci(e) {
1401
+ function yi(e) {
1392
1402
  return `mcp__${e}__`;
1393
1403
  }
1394
- const li = 1e3, ui = 2e3, di = 500, pi = 12e3, fi = 4e3, Ct = ["contact", "company", "work_item"];
1395
- function mi(e) {
1404
+ const Ai = 1e3, bi = 2e3, Ei = 500, Si = 12e3, _i = 4e3, Dt = ["contact", "company", "work_item"];
1405
+ function Ti(e) {
1396
1406
  if (!e) return !1;
1397
1407
  const t = e.slice(0, e.indexOf(":"));
1398
- return Ct.includes(t);
1408
+ return Dt.includes(t);
1399
1409
  }
1400
- const gi = "onboarding-source", hi = ["support", "billing", "availability", "sales", "onboarding"], yi = ["keep", "replace"];
1401
- function Ot(e) {
1410
+ const Ii = "onboarding-source", wi = ["support", "billing", "availability", "sales", "onboarding"], Mi = ["keep", "replace"];
1411
+ function Lt(e) {
1402
1412
  switch (e.kind) {
1403
1413
  case "user":
1404
1414
  return `user:${e.userId}`;
@@ -1408,7 +1418,7 @@ function Ot(e) {
1408
1418
  return "org";
1409
1419
  }
1410
1420
  }
1411
- function Ai(e) {
1421
+ function ki(e) {
1412
1422
  if (typeof e != "string") return;
1413
1423
  const t = e.trim();
1414
1424
  if (t === "org") return { kind: "org" };
@@ -1420,10 +1430,10 @@ function Ai(e) {
1420
1430
  if (r === "team") return { kind: "team", teamId: i };
1421
1431
  }
1422
1432
  }
1423
- function Nt(e) {
1424
- return Ot(e);
1433
+ function Pt(e) {
1434
+ return Lt(e);
1425
1435
  }
1426
- function vt(e) {
1436
+ function Ut(e) {
1427
1437
  switch (e.kind) {
1428
1438
  case "personal":
1429
1439
  return { kind: "user", userId: e.userId };
@@ -1433,14 +1443,14 @@ function vt(e) {
1433
1443
  return { kind: "org" };
1434
1444
  }
1435
1445
  }
1436
- const Rt = vt;
1437
- function bi(e) {
1438
- return e.agentId ? { kind: "user", userId: e.agentId } : Rt(e.ownerScope);
1446
+ const Kt = Ut;
1447
+ function Ci(e) {
1448
+ return e.agentId ? { kind: "user", userId: e.agentId } : Kt(e.ownerScope);
1439
1449
  }
1440
- function Ei(e) {
1441
- return Nt(e);
1450
+ function Oi(e) {
1451
+ return Pt(e);
1442
1452
  }
1443
- function Si(e, t) {
1453
+ function Ni(e, t) {
1444
1454
  if (!t) return;
1445
1455
  let n = e;
1446
1456
  for (const r of t.split(".")) {
@@ -1449,24 +1459,24 @@ function Si(e, t) {
1449
1459
  }
1450
1460
  return n;
1451
1461
  }
1452
- function _i(e, t) {
1462
+ function vi(e, t) {
1453
1463
  return e.targets.find((n) => n.activityTypes.includes(t));
1454
1464
  }
1455
- function Ti(e, t) {
1465
+ function Ri(e, t) {
1456
1466
  if (t)
1457
1467
  return e.targets.find((n) => n.id === t);
1458
1468
  }
1459
- function $t(e) {
1469
+ function Gt(e) {
1460
1470
  return e?.kind === "assignment";
1461
1471
  }
1462
- function Ii(e) {
1472
+ function $i(e) {
1463
1473
  const { trigger: t, agentId: n, target: r, activityType: i, assigneeUserId: o, authorUserId: a } = e;
1464
- return $t(t) ? n ? r ? r.activityTypes.includes(i) ? o ? o !== n ? "assigned to someone else" : a && a === 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";
1474
+ return Gt(t) ? n ? r ? r.activityTypes.includes(i) ? o ? o !== n ? "assigned to someone else" : a && a === 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";
1465
1475
  }
1466
- function wi(e) {
1476
+ function xi(e) {
1467
1477
  return (e.startsWith("tool:") ? e.slice(5) : e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
1468
1478
  }
1469
- const Mi = [
1479
+ const Di = [
1470
1480
  { name: "text", type: "string" },
1471
1481
  { name: "subject", type: "string" },
1472
1482
  { name: "from", type: "string" },
@@ -1500,7 +1510,7 @@ const Mi = [
1500
1510
  // `buildTriggerVars` cannot fill it itself: the job does that with the catalog in hand, before
1501
1511
  // the trigger filter runs — like contactId/companyId above.
1502
1512
  { name: "assigneeUserId", type: "string" }
1503
- ], ki = {
1513
+ ], Li = {
1504
1514
  topics: [
1505
1515
  { name: "topicId", type: "string" },
1506
1516
  { name: "topic", type: "string" },
@@ -1514,78 +1524,78 @@ const Mi = [
1514
1524
  // Deliberately empty: the fields come from `ClassifyStep.fields` and so differ per step.
1515
1525
  extract: []
1516
1526
  };
1517
- function xt(e) {
1527
+ function jt(e) {
1518
1528
  return `${e.type}:${e.id}`;
1519
1529
  }
1520
- const Dt = "interaction";
1521
- function Lt(e) {
1522
- return e?.type === Dt ? e.id : void 0;
1530
+ const Bt = "interaction";
1531
+ function Ht(e) {
1532
+ return e?.type === Bt ? e.id : void 0;
1523
1533
  }
1524
- const Pt = 64, Ut = 8e3;
1525
- function Ci(e) {
1534
+ const Ft = 64, Vt = 8e3;
1535
+ function Pi(e) {
1526
1536
  const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
1527
1537
  if (!(!Number.isFinite(t) || t <= 0))
1528
- return Math.min(Math.max(Math.round(t), Pt), Ut);
1538
+ return Math.min(Math.max(Math.round(t), Ft), Vt);
1529
1539
  }
1530
- const Oi = { kind: "workflow", steps: [] };
1531
- function Ni(e) {
1540
+ const Ui = { kind: "workflow", steps: [] };
1541
+ function Ki(e) {
1532
1542
  return e?.kind === "workflow" ? e.steps : [];
1533
1543
  }
1534
- function vi(e) {
1544
+ function Gi(e) {
1535
1545
  return e?.kind === "procedure" ? e.procedure : void 0;
1536
1546
  }
1537
- function Kt(e) {
1547
+ function Wt(e) {
1538
1548
  const t = e?.approved ?? 0, n = t + (e?.rejected ?? 0);
1539
1549
  return { total: n, rate: n ? t / n : 0 };
1540
1550
  }
1541
- const Gt = 10, jt = 0.9;
1542
- function Ri(e) {
1543
- const { total: t, rate: n } = Kt(e);
1544
- return t >= Gt && n >= jt;
1551
+ const zt = 10, Xt = 0.9;
1552
+ function ji(e) {
1553
+ const { total: t, rate: n } = Wt(e);
1554
+ return t >= zt && n >= Xt;
1545
1555
  }
1546
- const Bt = ["done", "escalated", "failed", "stopped"];
1547
- function $i(e) {
1548
- return Bt.includes(e);
1556
+ const Yt = ["done", "escalated", "failed", "stopped"];
1557
+ function Bi(e) {
1558
+ return Yt.includes(e);
1549
1559
  }
1550
- function Ht(e) {
1560
+ function qt(e) {
1551
1561
  return e === "waiting";
1552
1562
  }
1553
- function xi(e) {
1554
- return e === "running" || Ht(e);
1563
+ function Hi(e) {
1564
+ return e === "running" || qt(e);
1555
1565
  }
1556
- function Se(e) {
1566
+ function Ie(e) {
1557
1567
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
1558
1568
  }
1559
- function Di(e) {
1560
- const t = Se(e);
1561
- return t ? xt(t) : void 0;
1569
+ function Fi(e) {
1570
+ const t = Ie(e);
1571
+ return t ? jt(t) : void 0;
1562
1572
  }
1563
- function Li(e) {
1564
- return Lt(Se(e));
1573
+ function Vi(e) {
1574
+ return Ht(Ie(e));
1565
1575
  }
1566
- function Pi(e, t) {
1576
+ function Wi(e, t) {
1567
1577
  const n = e.accumulatedSeconds || 0;
1568
1578
  return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
1569
1579
  }
1570
- function Ui(e, t) {
1580
+ function zi(e, t) {
1571
1581
  const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
1572
1582
  if (!t || t === "exact") return n * 60;
1573
1583
  const r = Number(t);
1574
1584
  return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
1575
1585
  }
1576
- function Ki(e) {
1586
+ function Xi(e) {
1577
1587
  const t = Math.max(0, Math.round(e / 60));
1578
1588
  return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
1579
1589
  }
1580
- function Gi(e) {
1590
+ function Yi(e) {
1581
1591
  const t = Math.max(0, Math.floor(e)), n = (o) => String(o).padStart(2, "0"), r = Math.floor(t / 60) % 60, i = Math.floor(t / 3600);
1582
1592
  return i > 0 ? `${i}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
1583
1593
  }
1584
- function Ft(e) {
1594
+ function Jt(e) {
1585
1595
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
1586
1596
  }
1587
- function ji(e, t) {
1588
- const n = Ft(e) || "werksoort", r = new Set(t);
1597
+ function qi(e, t) {
1598
+ const n = Jt(e) || "werksoort", r = new Set(t);
1589
1599
  if (!r.has(n)) return n;
1590
1600
  for (let i = 2; i < 500; i++) {
1591
1601
  const o = `${n}-${i}`;
@@ -1593,93 +1603,93 @@ function ji(e, t) {
1593
1603
  }
1594
1604
  return `${n}-${r.size + 1}`;
1595
1605
  }
1596
- function Bi(e, t) {
1606
+ function Ji(e, t) {
1597
1607
  const n = e.ownerScope;
1598
1608
  return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
1599
1609
  }
1600
- function Hi(e) {
1601
- return e.filter((t) => !t.archived).sort(Vt);
1610
+ function Zi(e) {
1611
+ return e.filter((t) => !t.archived).sort(Zt);
1602
1612
  }
1603
- function Vt(e, t) {
1613
+ function Zt(e, t) {
1604
1614
  const n = (e.order ?? 0) - (t.order ?? 0);
1605
1615
  return n !== 0 ? n : (e.label || "").localeCompare(t.label || "");
1606
1616
  }
1607
- const Wt = 20, zt = 20, O = 300;
1617
+ const Qt = 20, en = 20, O = 300;
1608
1618
  function h(e) {
1609
1619
  return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
1610
1620
  }
1611
- function Xt(e) {
1621
+ function tn(e) {
1612
1622
  const t = e.replace(/\s+/g, " ").trim();
1613
1623
  if (t.length <= O) return t;
1614
1624
  const n = t.slice(0, O), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
1615
1625
  return r > O * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
1616
1626
  }
1617
- function Fi(e, t) {
1618
- const n = Xt(t.text), r = h(n);
1627
+ function Qi(e, t) {
1628
+ const n = tn(t.text), r = h(n);
1619
1629
  if (!r || (e.examples ?? []).some((a) => h(a) === r)) return null;
1620
1630
  const i = e.exampleCandidates ?? [], o = i.findIndex((a) => h(a.text) === r);
1621
1631
  if (o >= 0) {
1622
1632
  if (i[o].corrected || !t.corrected) return null;
1623
1633
  const a = [...i];
1624
- return a[o] = { ...a[o], corrected: !0, addedAt: t.addedAt }, Q(a);
1634
+ return a[o] = { ...a[o], corrected: !0, addedAt: t.addedAt }, te(a);
1625
1635
  }
1626
- return Q([{ ...t, text: n }, ...i]).slice(0, zt);
1636
+ return te([{ ...t, text: n }, ...i]).slice(0, en);
1627
1637
  }
1628
- function Q(e) {
1638
+ function te(e) {
1629
1639
  return [...e].sort(
1630
1640
  (t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt
1631
1641
  );
1632
1642
  }
1633
- function Vi(e, t) {
1643
+ function eo(e, t) {
1634
1644
  const n = h(t), r = (e.examples ?? []).filter((o) => o.trim());
1635
- return { examples: r.some((o) => h(o) === n) ? r : [...r, t].slice(-Wt), exampleCandidates: Yt(e, t) };
1645
+ return { examples: r.some((o) => h(o) === n) ? r : [...r, t].slice(-Qt), exampleCandidates: nn(e, t) };
1636
1646
  }
1637
- function Yt(e, t) {
1647
+ function nn(e, t) {
1638
1648
  const n = h(t);
1639
1649
  return (e.exampleCandidates ?? []).filter((r) => h(r.text) !== n);
1640
1650
  }
1641
- function qt(e, t) {
1651
+ function rn(e, t) {
1642
1652
  const n = e.ownerScope;
1643
1653
  return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
1644
1654
  }
1645
- function Wi(e, t) {
1646
- return e.filter((n) => qt(n, t));
1655
+ function to(e, t) {
1656
+ return e.filter((n) => rn(n, t));
1647
1657
  }
1648
- function zi(e) {
1658
+ function no(e) {
1649
1659
  return e.type === "agent";
1650
1660
  }
1651
- const Xi = "WORK_COMMENT_ADDED", Yi = "WORK_ITEM_ASSIGNED", qi = "WORK_ITEM_STATUS_CHANGED";
1652
- function Jt(e, t) {
1661
+ const ro = "WORK_COMMENT_ADDED", io = "WORK_ITEM_ASSIGNED", oo = "WORK_ITEM_STATUS_CHANGED";
1662
+ function on(e, t) {
1653
1663
  const n = (r) => {
1654
1664
  const i = new Date(r);
1655
1665
  return i.setHours(0, 0, 0, 0), i.getTime();
1656
1666
  };
1657
- return Math.round((n(e) - n(t)) / st);
1667
+ return Math.round((n(e) - n(t)) / mt);
1658
1668
  }
1659
- function Ji(e, t) {
1669
+ function ao(e, t) {
1660
1670
  if (e.closedAt != null) return { score: g, reasons: [] };
1661
1671
  const n = t.remindersById?.[e.id];
1662
1672
  if (n && n.remindAt > t.now) return { score: g, reasons: [] };
1663
1673
  let r = 0;
1664
1674
  const i = [], o = e.priority ?? "normal";
1665
1675
  if (_[o] > 0 && (r += _[o], i.push(`priority:${o}`)), typeof e.dueDate == "number") {
1666
- const a = Jt(e.dueDate, t.now);
1676
+ const a = on(e.dueDate, t.now);
1667
1677
  a < 0 ? (r += 35, i.push("overdue")) : a === 0 && (r += 20, i.push("due-today"));
1668
1678
  }
1669
1679
  return e.source?.initiator === "system" && e.source.systemReason && (r += 15, i.push(`auto:${e.source.systemReason}`)), { score: r, reasons: i };
1670
1680
  }
1671
- const Zt = "work_item", Qt = "work_project";
1672
- function en(e) {
1673
- return `${Zt}:${e}`;
1681
+ const an = "work_item", sn = "work_project";
1682
+ function cn(e) {
1683
+ return `${an}:${e}`;
1674
1684
  }
1675
- function _e(e) {
1676
- return `${Qt}:${e}`;
1685
+ function we(e) {
1686
+ return `${sn}:${e}`;
1677
1687
  }
1678
- function Zi(e, t, n) {
1688
+ function so(e, t, n) {
1679
1689
  const r = `${e}-${t}`;
1680
1690
  return n ? `${r}-${n}` : r;
1681
1691
  }
1682
- function Qi(e) {
1692
+ function co(e) {
1683
1693
  const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
1684
1694
  return t ? {
1685
1695
  projectKey: t[1].toUpperCase(),
@@ -1687,52 +1697,52 @@ function Qi(e) {
1687
1697
  ...t[3] ? { subSequence: Number(t[3]) } : {}
1688
1698
  } : null;
1689
1699
  }
1690
- function eo(e) {
1700
+ function lo(e) {
1691
1701
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
1692
1702
  }
1693
- function to(e, t = 25) {
1694
- const n = /* @__PURE__ */ new Set([en(e.id)]);
1695
- e.projectId && n.add(_e(e.projectId));
1703
+ function uo(e, t = 25) {
1704
+ const n = /* @__PURE__ */ new Set([cn(e.id)]);
1705
+ e.projectId && n.add(we(e.projectId));
1696
1706
  for (const r of e.ancestorKeys ?? []) n.add(r);
1697
1707
  for (const r of e.partyKeys ?? []) n.add(r);
1698
1708
  return Array.from(n).slice(0, t);
1699
1709
  }
1700
- function no(e) {
1701
- return [_e(e.id)];
1710
+ function po(e) {
1711
+ return [we(e.id)];
1702
1712
  }
1703
- const $ = [
1713
+ const D = [
1704
1714
  { key: "open", label: "status_open", category: "todo", order: 0 },
1705
1715
  { key: "in_progress", label: "status_in_progress", category: "in_progress", order: 1 },
1706
1716
  { key: "done", label: "status_done", category: "done", order: 2 },
1707
1717
  { key: "cancelled", label: "status_cancelled", category: "done", order: 3 }
1708
- ], Te = $.map((e) => e.key);
1709
- function tn(e) {
1710
- return e?.statuses?.length ? e.statuses : $;
1718
+ ], Me = D.map((e) => e.key);
1719
+ function ln(e) {
1720
+ return e?.statuses?.length ? e.statuses : D;
1711
1721
  }
1712
- function nn(e, t) {
1722
+ function un(e, t) {
1713
1723
  return t.find((n) => n.key === e)?.category ?? "todo";
1714
1724
  }
1715
- function ro(e, t) {
1725
+ function fo(e, t) {
1716
1726
  return t.find((n) => n.key === e);
1717
1727
  }
1718
- function io(e) {
1719
- const t = tn(e), n = e?.defaultStatusKey;
1720
- return n && t.some((r) => r.key === n) ? n : rn(t)[0]?.key ?? $[0].key;
1728
+ function mo(e) {
1729
+ const t = ln(e), n = e?.defaultStatusKey;
1730
+ return n && t.some((r) => r.key === n) ? n : dn(t)[0]?.key ?? D[0].key;
1721
1731
  }
1722
- function rn(e) {
1732
+ function dn(e) {
1723
1733
  return [...e].sort((t, n) => {
1724
1734
  const r = (t.order ?? 0) - (n.order ?? 0);
1725
1735
  return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
1726
1736
  });
1727
1737
  }
1728
- function oo(e, t) {
1729
- return nn(e, t) === "done";
1738
+ function go(e, t) {
1739
+ return un(e, t) === "done";
1730
1740
  }
1731
- function on(e) {
1741
+ function pn(e) {
1732
1742
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
1733
1743
  }
1734
- function ao(e, t) {
1735
- const n = on(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Te]);
1744
+ function ho(e, t) {
1745
+ const n = pn(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Me]);
1736
1746
  if (!r.has(n)) return n;
1737
1747
  for (let i = 2; i < 500; i++) {
1738
1748
  const o = `${n}-${i}`;
@@ -1740,7 +1750,7 @@ function ao(e, t) {
1740
1750
  }
1741
1751
  return `${n}-${r.size + 1}`;
1742
1752
  }
1743
- function so(e) {
1753
+ function yo(e) {
1744
1754
  const t = [];
1745
1755
  if (!e.length) return [{ index: -1, reason: "empty" }];
1746
1756
  const n = /* @__PURE__ */ new Set();
@@ -1749,10 +1759,10 @@ function so(e) {
1749
1759
  t.push({ index: i, reason: "missing_key" });
1750
1760
  return;
1751
1761
  }
1752
- 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);
1762
+ Me.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);
1753
1763
  }), 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;
1754
1764
  }
1755
- const an = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), sn = /* @__PURE__ */ new Set([
1765
+ const fn = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), mn = /* @__PURE__ */ new Set([
1756
1766
  "text/plain",
1757
1767
  "text/markdown",
1758
1768
  "text/csv",
@@ -1761,67 +1771,67 @@ const an = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
1761
1771
  "application/xml",
1762
1772
  "text/xml"
1763
1773
  ]);
1764
- function cn(e) {
1774
+ function gn(e) {
1765
1775
  const t = (e ?? "").trim().toLowerCase().split(";")[0];
1766
- return t ? an.has(t) ? "image" : t === "application/pdf" ? "pdf" : sn.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
1776
+ return t ? fn.has(t) ? "image" : t === "application/pdf" ? "pdf" : mn.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
1767
1777
  }
1768
- const y = 1024 * 1024, ln = {
1778
+ const y = 1024 * 1024, hn = {
1769
1779
  image: 5 * y,
1770
1780
  pdf: 20 * y,
1771
1781
  text: 1 * y,
1772
1782
  audio: 20 * y
1773
- }, co = 25 * y, lo = 5;
1774
- function uo(e, t) {
1775
- const n = cn(e);
1776
- return n === "unsupported" ? "unsupported" : t > ln[n] ? "too-large" : null;
1783
+ }, Ao = 25 * y, bo = 5;
1784
+ function Eo(e, t) {
1785
+ const n = gn(e);
1786
+ return n === "unsupported" ? "unsupported" : t > hn[n] ? "too-large" : null;
1777
1787
  }
1778
- function po(e) {
1788
+ function So(e) {
1779
1789
  return e.access !== "read" && e.effect !== "internal";
1780
1790
  }
1781
- function un(e) {
1791
+ function yn(e) {
1782
1792
  return `${e.kind}:${e.id || e.url || e.title}`;
1783
1793
  }
1784
- function fo(e, t = []) {
1794
+ function _o(e, t = []) {
1785
1795
  const n = new Set(t), r = [], i = [];
1786
1796
  for (const o of e) {
1787
- const a = un(o);
1797
+ const a = yn(o);
1788
1798
  n.has(a) || (n.add(a), r.push(o), i.push(a));
1789
1799
  }
1790
1800
  return { sources: r, keys: i };
1791
1801
  }
1792
- const mo = "assist-source", go = ["blocking", "due", "open"];
1793
- function ho(e, t) {
1802
+ const To = "assist-source", Io = ["blocking", "due", "open"];
1803
+ function wo(e, t) {
1794
1804
  const [n, r] = (e.subjectKey ?? "").split(":");
1795
1805
  return n === t && r ? r : void 0;
1796
1806
  }
1797
- const ee = { blocking: 0, due: 1, open: 2 };
1798
- function yo(e, t) {
1799
- return ee[e.band ?? "open"] - ee[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
1807
+ const ne = { blocking: 0, due: 1, open: 2 };
1808
+ function Mo(e, t) {
1809
+ return ne[e.band ?? "open"] - ne[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
1800
1810
  }
1801
- function Ao(e) {
1811
+ function ko(e) {
1802
1812
  return e.sessions.filter(
1803
1813
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
1804
1814
  );
1805
1815
  }
1806
- function bo(e) {
1816
+ function Co(e) {
1807
1817
  return e.sessions.filter(
1808
1818
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
1809
1819
  );
1810
1820
  }
1811
- function Eo(e) {
1821
+ function Oo(e) {
1812
1822
  return e.sessions.some(
1813
1823
  (n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
1814
1824
  ) ? { admit: !1, reason: "busy" } : { admit: !0 };
1815
1825
  }
1816
- function dn(e, t) {
1817
- const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, i = t.intents.filter((a) => !n.has(a.intent)).map((a) => fn(a, r[a.intent]));
1826
+ function An(e, t) {
1827
+ const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, i = t.intents.filter((a) => !n.has(a.intent)).map((a) => En(a, r[a.intent]));
1818
1828
  if (!e.extraIntents || e.extraIntents.length === 0) return i;
1819
1829
  const o = new Set(i.map((a) => a.intent));
1820
1830
  for (const a of e.extraIntents)
1821
1831
  o.has(a.intent) || (i.push(a), o.add(a.intent));
1822
1832
  return i;
1823
1833
  }
1824
- function pn(e, t) {
1834
+ function bn(e, t) {
1825
1835
  const n = {};
1826
1836
  for (const r of e.intents) {
1827
1837
  if (!r.togglable) continue;
@@ -1830,46 +1840,46 @@ function pn(e, t) {
1830
1840
  }
1831
1841
  return n;
1832
1842
  }
1833
- function So(e, t) {
1834
- const n = pn(e, t);
1843
+ function No(e, t) {
1844
+ const n = bn(e, t);
1835
1845
  return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
1836
1846
  }
1837
- function fn(e, t) {
1847
+ function En(e, t) {
1838
1848
  return t ? {
1839
1849
  intent: t.intent ?? e.intent,
1840
1850
  targetSchemes: t.targetSchemes ?? e.targetSchemes,
1841
1851
  transport: t.transport ?? e.transport
1842
1852
  } : e;
1843
1853
  }
1844
- function _o(e, t) {
1854
+ function vo(e, t) {
1845
1855
  const n = [];
1846
1856
  for (const r of e) {
1847
1857
  if (!r.enabled) continue;
1848
1858
  const i = t[r.providerId];
1849
1859
  if (i)
1850
- for (const o of dn(r, i))
1860
+ for (const o of An(r, i))
1851
1861
  n.push({ channel: r, description: i, capability: o });
1852
1862
  }
1853
1863
  return n;
1854
1864
  }
1855
- function To(e, t) {
1865
+ function Ro(e, t) {
1856
1866
  return t.filter((n) => n.capability.intent === e);
1857
1867
  }
1858
- function mn(e, t) {
1868
+ function Sn(e, t) {
1859
1869
  return t.filter((n) => n.capability.targetSchemes.includes(e));
1860
1870
  }
1861
- function Io(e, t) {
1862
- return mn(e.scheme, t);
1871
+ function $o(e, t) {
1872
+ return Sn(e.scheme, t);
1863
1873
  }
1864
- function wo(e, t, n) {
1874
+ function xo(e, t, n) {
1865
1875
  const r = [];
1866
1876
  for (const i of e)
1867
1877
  for (const o of n)
1868
1878
  o.capability.intent === t && o.capability.targetSchemes.includes(i.scheme) && r.push({ channelIntent: o, endpoint: i });
1869
1879
  return r;
1870
1880
  }
1871
- var gn = /* @__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))(gn || {});
1872
- const hn = {
1881
+ var _n = /* @__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))(_n || {});
1882
+ const Tn = {
1873
1883
  mailto: "mail",
1874
1884
  sip: "tel",
1875
1885
  tel: "tel",
@@ -1890,10 +1900,10 @@ const hn = {
1890
1900
  id: "note",
1891
1901
  custom: "note"
1892
1902
  };
1893
- function Mo(e) {
1894
- return e ? hn[e] ?? "note" : "note";
1903
+ function Do(e) {
1904
+ return e ? Tn[e] ?? "note" : "note";
1895
1905
  }
1896
- const ko = "message_window", Co = "message_templates", Oo = {
1906
+ const Lo = "message_window", Po = "message_templates", Uo = {
1897
1907
  // E-mail
1898
1908
  FROM: "from",
1899
1909
  TO: "to",
@@ -1910,19 +1920,19 @@ const ko = "message_window", Co = "message_templates", Oo = {
1910
1920
  // Voice/conference
1911
1921
  HOST: "host",
1912
1922
  PARTICIPANT: "participant"
1913
- }, No = (e, t) => ({ intent: e, ...t }), vo = "folder_management", Ro = "remote_search", $o = {
1923
+ }, Ko = (e, t) => ({ intent: e, ...t }), Go = "folder_management", jo = "remote_search", Bo = {
1914
1924
  ok: !1,
1915
1925
  code: "UNSUPPORTED",
1916
1926
  message: "Provider does not support this op"
1917
- }, xo = "context.collect", Do = "installation-id";
1918
- function Lo(e) {
1927
+ }, Ho = "context.collect", Fo = "installation-id";
1928
+ function Vo(e) {
1919
1929
  const t = [];
1920
1930
  for (const n of Object.keys(e))
1921
1931
  for (const r of Object.keys(e[n]))
1922
1932
  t.push({ lang: n, key: r, value: e[n][r] });
1923
1933
  return t;
1924
1934
  }
1925
- const Po = "notification-source", Uo = (e, t) => `${e}.pref.${t}`, Ko = {
1935
+ const Wo = "notification-source", zo = (e, t) => `${e}.pref.${t}`, Xo = {
1926
1936
  ai: [
1927
1937
  "account.read",
1928
1938
  "account.write",
@@ -2055,48 +2065,48 @@ const Po = "notification-source", Uo = (e, t) => `${e}.pref.${t}`, Ko = {
2055
2065
  time: ["entry.read", "entry.write", "work-type.read", "work-type.write"],
2056
2066
  user: ["user.read", "user.write"],
2057
2067
  work: ["item.read", "item.write", "project.read", "project.write"]
2058
- }, Ie = 9e4, yn = ["out_of_office"], we = (e) => yn.includes(e);
2059
- function Go(e, t, n) {
2060
- const r = n - e < Ie, i = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
2068
+ }, ke = 9e4, In = ["out_of_office"], Ce = (e) => In.includes(e);
2069
+ function Yo(e, t, n) {
2070
+ const r = n - e < ke, i = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
2061
2071
  if (!i?.status) return { online: r, status: r ? "available" : "offline" };
2062
2072
  const o = i.status;
2063
- return !r && !we(o) ? { online: !1, status: "offline" } : { online: r, status: o, message: i.message };
2073
+ return !r && !Ce(o) ? { online: !1, status: "offline" } : { online: r, status: o, message: i.message };
2064
2074
  }
2065
- function jo(e, t) {
2066
- const n = t - e.lastSeenAt < Ie, r = n || we(e.status) ? e.status : "offline";
2075
+ function qo(e, t) {
2076
+ const n = t - e.lastSeenAt < ke, r = n || Ce(e.status) ? e.status : "offline";
2067
2077
  return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
2068
2078
  }
2069
- function Bo(e, t) {
2079
+ function Jo(e, t) {
2070
2080
  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 };
2071
2081
  }
2072
- function Ho(e) {
2082
+ function Zo(e) {
2073
2083
  return e.providerAvailable && e.allowed;
2074
2084
  }
2075
- const Fo = "resources.describe", Vo = "resources.search", Wo = "resources.resolve", zo = "resources.attached";
2076
- function Xo(e) {
2085
+ const Qo = "resources.describe", ea = "resources.search", ta = "resources.resolve", na = "resources.attached";
2086
+ function ra(e) {
2077
2087
  const t = e.indexOf(":");
2078
2088
  return t === -1 ? e : e.slice(0, t);
2079
2089
  }
2080
- const Me = "auth";
2081
- function ke(e) {
2090
+ const Oe = "auth";
2091
+ function Ne(e) {
2082
2092
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
2083
2093
  return t ? t[1] : null;
2084
2094
  }
2085
- function Yo(e) {
2086
- const t = ke(e);
2087
- return t ? t !== Me : typeof e == "string" && e.startsWith("/wake");
2095
+ function ia(e) {
2096
+ const t = Ne(e);
2097
+ return t ? t !== Oe : typeof e == "string" && e.startsWith("/wake");
2088
2098
  }
2089
- function qo(e) {
2090
- return typeof e != "string" || e === "" || e === "/" ? !0 : ke(e) === Me;
2099
+ function oa(e) {
2100
+ return typeof e != "string" || e === "" || e === "/" ? !0 : Ne(e) === Oe;
2091
2101
  }
2092
- function An(e) {
2102
+ function wn(e) {
2093
2103
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
2094
2104
  }
2095
- function bn(e) {
2096
- const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${An(r)}`).join("");
2105
+ function Mn(e) {
2106
+ const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${wn(r)}`).join("");
2097
2107
  return new RegExp(`^${n}\\/?$`);
2098
2108
  }
2099
- function En(e, t) {
2109
+ function kn(e, t) {
2100
2110
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean), i = {};
2101
2111
  return n.forEach((o, a) => {
2102
2112
  if (o.startsWith(":")) {
@@ -2105,14 +2115,14 @@ function En(e, t) {
2105
2115
  }
2106
2116
  }), i;
2107
2117
  }
2108
- function Sn(e) {
2118
+ function Cn(e) {
2109
2119
  return e.publicBasePath ?? `/apps/${e.name}`;
2110
2120
  }
2111
- function Jo(e) {
2121
+ function aa(e) {
2112
2122
  const t = [];
2113
2123
  for (const n of e) {
2114
2124
  if (!n?.name) continue;
2115
- const r = Sn(n);
2125
+ const r = Cn(n);
2116
2126
  for (const i of n.routes ?? []) {
2117
2127
  if (!i.public) continue;
2118
2128
  const o = i.path === "/" ? "" : i.path;
@@ -2126,7 +2136,7 @@ function Jo(e) {
2126
2136
  }
2127
2137
  return t;
2128
2138
  }
2129
- function _n(e, t) {
2139
+ function On(e, t) {
2130
2140
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean);
2131
2141
  for (let i = 0; i < Math.min(n.length, r.length); i++) {
2132
2142
  const o = n[i].startsWith(":"), a = r[i].startsWith(":");
@@ -2134,17 +2144,17 @@ function _n(e, t) {
2134
2144
  }
2135
2145
  return n.length > r.length;
2136
2146
  }
2137
- function Tn(e, t) {
2147
+ function Nn(e, t) {
2138
2148
  if (typeof e != "string") return null;
2139
2149
  let n = null;
2140
2150
  for (const r of t)
2141
- bn(r.pattern).test(e) && (!n || _n(r.pattern, n.pattern)) && (n = r);
2142
- return n ? { ...n, params: { ...n.props, ...En(n.pattern, e) } } : null;
2151
+ Mn(r.pattern).test(e) && (!n || On(r.pattern, n.pattern)) && (n = r);
2152
+ return n ? { ...n, params: { ...n.props, ...kn(n.pattern, e) } } : null;
2143
2153
  }
2144
- function Zo(e, t) {
2145
- return Tn(e, t) !== null;
2154
+ function sa(e, t) {
2155
+ return Nn(e, t) !== null;
2146
2156
  }
2147
- const Qo = "sync-source", ea = "sync-target", ta = 20, In = {
2157
+ const ca = "sync-source", la = "sync-target", ua = 20, vn = {
2148
2158
  afrikaans: [
2149
2159
  "[Muziek]",
2150
2160
  "(C) TV GELDERLAND 2021",
@@ -2294,14 +2304,14 @@ const Qo = "sync-source", ea = "sync-target", ta = 20, In = {
2294
2304
  "[MÚSICA]",
2295
2305
  "[Music cuts in British]"
2296
2306
  ]
2297
- }, wn = (e) => {
2307
+ }, Rn = (e) => {
2298
2308
  let t = e;
2299
- return Object.values(In).forEach((n) => {
2309
+ return Object.values(vn).forEach((n) => {
2300
2310
  n.forEach((r) => {
2301
2311
  t = t.replaceAll(r, "");
2302
2312
  });
2303
2313
  }), t = t.replace(/\(.*?\)/g, ""), t = t.replace(/\[.*?\]/g, ""), t;
2304
- }, Mn = 6e4, kn = 8e3, Cn = 2, On = 0.4, Nn = 3, vn = /* @__PURE__ */ new Set([
2314
+ }, $n = 6e4, xn = 8e3, Dn = 2, Ln = 0.4, Pn = 3, Un = /* @__PURE__ */ new Set([
2305
2315
  "aan",
2306
2316
  "als",
2307
2317
  "ben",
@@ -2414,13 +2424,13 @@ const Qo = "sync-source", ea = "sync-target", ta = 20, In = {
2414
2424
  "you",
2415
2425
  "your"
2416
2426
  ]);
2417
- function Rn(e) {
2427
+ function Kn(e) {
2418
2428
  const t = /* @__PURE__ */ new Set();
2419
2429
  for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
2420
- n.length < Nn || vn.has(n) || t.add(n);
2430
+ n.length < Pn || Un.has(n) || t.add(n);
2421
2431
  return [...t];
2422
2432
  }
2423
- function $n(e, t) {
2433
+ function Gn(e, t) {
2424
2434
  if (!e.length) return 0;
2425
2435
  if (!t.length) return 1;
2426
2436
  const n = new Set(t), r = new Set(e);
@@ -2428,38 +2438,38 @@ function $n(e, t) {
2428
2438
  for (const o of r) n.has(o) || (i += 1);
2429
2439
  return i / r.size;
2430
2440
  }
2431
- function xn(e, t = Mn) {
2441
+ function jn(e, t = $n) {
2432
2442
  const n = e.filter((a) => !a.partial && typeof a.text == "string");
2433
2443
  if (!n.length) return { text: "", segmentCount: 0 };
2434
2444
  const i = n.reduce((a, s) => Math.max(a, s.endedAt ?? 0), 0) - t;
2435
- return { text: n.filter((a) => (a.endedAt ?? 0) >= i).map((a) => wn(a.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
2445
+ return { text: n.filter((a) => (a.endedAt ?? 0) >= i).map((a) => Rn(a.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
2436
2446
  }
2437
- const Dn = 60;
2438
- function na(e, t, n = Dn) {
2447
+ const Bn = 60;
2448
+ function da(e, t, n = Bn) {
2439
2449
  const r = new Set(e), i = [...e];
2440
2450
  for (const o of t)
2441
2451
  !o || r.has(o) || (r.add(o), i.push(o));
2442
2452
  return i.slice(-n);
2443
2453
  }
2444
- function ra(e) {
2454
+ function pa(e) {
2445
2455
  const { segments: t, now: n, state: r } = e;
2446
- if (r.lastTriggerAt && n - r.lastTriggerAt < kn)
2456
+ if (r.lastTriggerAt && n - r.lastTriggerAt < xn)
2447
2457
  return { trigger: !1, reason: "too_soon" };
2448
- const i = xn(t, e.windowMs);
2458
+ const i = jn(t, e.windowMs);
2449
2459
  if (!i.text) return { trigger: !1, reason: "no_speech" };
2450
2460
  const o = i.segmentCount - (r.lastSegmentCount ?? 0);
2451
- if (r.lastQueryTerms && o < Cn)
2461
+ if (r.lastQueryTerms && o < Dn)
2452
2462
  return { trigger: !1, reason: "too_few_new" };
2453
- const a = Rn(i.text);
2454
- return a.length ? r.lastQueryTerms?.length && $n(a, r.lastQueryTerms) < On ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: i.text, terms: a, segmentCount: i.segmentCount } : { trigger: !1, reason: "no_speech" };
2463
+ const a = Kn(i.text);
2464
+ return a.length ? r.lastQueryTerms?.length && Gn(a, r.lastQueryTerms) < Ln ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: i.text, terms: a, segmentCount: i.segmentCount } : { trigger: !1, reason: "no_speech" };
2455
2465
  }
2456
- const ia = [
2466
+ const fa = [
2457
2467
  "personal",
2458
2468
  "workspace",
2459
2469
  "connections",
2460
2470
  "work",
2461
2471
  "ai"
2462
- ], oa = "navNotice", x = {
2472
+ ], ma = "navNotice", L = {
2463
2473
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
2464
2474
  // shorter than geographic numbers, and a too-strict minimum silently drops them.
2465
2475
  // An over-permissive key is harmless — it simply matches nothing.
@@ -2482,53 +2492,53 @@ const ia = [
2482
2492
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
2483
2493
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
2484
2494
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
2485
- }, Ln = "NL", Pn = 15, Un = 8, Kn = Array.from(
2486
- new Set(Object.values(x).map((e) => e.callingCode))
2495
+ }, Hn = "NL", Fn = 15, Vn = 8, Wn = Array.from(
2496
+ new Set(Object.values(L).map((e) => e.callingCode))
2487
2497
  ).sort((e, t) => t.length - e.length);
2488
- function te(e) {
2498
+ function re(e) {
2489
2499
  if (e)
2490
- return x[e.trim().toUpperCase()];
2500
+ return L[e.trim().toUpperCase()];
2491
2501
  }
2492
2502
  function S(e, t) {
2493
2503
  return e.length >= t.nsnMin && e.length <= t.nsnMax;
2494
2504
  }
2495
- function ne(e) {
2496
- if (e.length > Pn) return null;
2497
- for (const t of Kn) {
2505
+ function ie(e) {
2506
+ if (e.length > Fn) return null;
2507
+ for (const t of Wn) {
2498
2508
  if (!e.startsWith(t)) continue;
2499
2509
  const n = e.slice(t.length);
2500
- for (const r of Object.values(x)) {
2510
+ for (const r of Object.values(L)) {
2501
2511
  if (r.callingCode !== t) continue;
2502
2512
  const i = r.trunkPrefix, o = i && n.startsWith(i) ? n.slice(i.length) : n;
2503
2513
  if (S(o, r)) return `+${t}${o}`;
2504
2514
  }
2505
2515
  return null;
2506
2516
  }
2507
- return e.length < Un ? null : `+${e}`;
2517
+ return e.length < Vn ? null : `+${e}`;
2508
2518
  }
2509
- function Gn(e) {
2519
+ function zn(e) {
2510
2520
  let t = e.trim();
2511
2521
  const n = t.match(/^(sips?|tel|whatsapp):/i);
2512
2522
  n && (t = t.slice(n[0].length));
2513
2523
  const r = t.indexOf("@");
2514
2524
  return r >= 0 && (t = t.slice(0, r)), t.trim();
2515
2525
  }
2516
- function aa(e) {
2526
+ function ga(e) {
2517
2527
  if (!e) return !1;
2518
2528
  const t = e.indexOf("@");
2519
2529
  if (t <= 0) return !1;
2520
2530
  const n = e.slice(0, t).trim();
2521
2531
  return !/^[+\d\s().-]+$/.test(n);
2522
2532
  }
2523
- function re(e, t) {
2533
+ function oe(e, t) {
2524
2534
  if (!e) return null;
2525
- const n = Gn(e);
2535
+ const n = zn(e);
2526
2536
  if (!n) return null;
2527
2537
  const r = n.startsWith("+"), i = n.replace(/\D/g, "");
2528
2538
  if (!i) return null;
2529
- if (r) return ne(i);
2530
- if (i.startsWith("00")) return ne(i.slice(2));
2531
- const o = te(t) ?? te(Ln);
2539
+ if (r) return ie(i);
2540
+ if (i.startsWith("00")) return ie(i.slice(2));
2541
+ const o = re(t) ?? re(Hn);
2532
2542
  if (!o) return null;
2533
2543
  const a = o.trunkPrefix;
2534
2544
  if (a && i.startsWith(a)) {
@@ -2541,22 +2551,22 @@ function re(e, t) {
2541
2551
  }
2542
2552
  return !a && S(i, o) ? `+${o.callingCode}${i}` : null;
2543
2553
  }
2544
- function sa(e, t = 9) {
2554
+ function ha(e, t = 9) {
2545
2555
  const n = (e ?? "").replace(/\D/g, "");
2546
2556
  return n.length < t ? null : n.slice(-t);
2547
2557
  }
2548
- function Ce(e) {
2558
+ function ve(e) {
2549
2559
  if (!e) return null;
2550
2560
  const t = e.trim().toLowerCase(), n = t.lastIndexOf("@");
2551
2561
  if (n <= 0 || n === t.length - 1) return null;
2552
2562
  const r = t.slice(0, n).split("+")[0], i = t.slice(n + 1);
2553
2563
  return !r || !i.includes(".") ? null : `${r}@${i}`;
2554
2564
  }
2555
- function ca(e) {
2556
- const t = Ce(e);
2565
+ function ya(e) {
2566
+ const t = ve(e);
2557
2567
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
2558
2568
  }
2559
- const jn = /* @__PURE__ */ new Set([
2569
+ const Xn = /* @__PURE__ */ new Set([
2560
2570
  "co.uk",
2561
2571
  "org.uk",
2562
2572
  "gov.uk",
@@ -2566,14 +2576,14 @@ const jn = /* @__PURE__ */ new Set([
2566
2576
  "com.br",
2567
2577
  "co.za"
2568
2578
  ]);
2569
- function Bn(e) {
2579
+ function Yn(e) {
2570
2580
  if (!e) return null;
2571
2581
  const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
2572
2582
  if (t.length < 2) return null;
2573
2583
  const n = t.slice(-2).join(".");
2574
- return jn.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
2584
+ return Xn.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
2575
2585
  }
2576
- const Hn = /* @__PURE__ */ new Set([
2586
+ const qn = /* @__PURE__ */ new Set([
2577
2587
  "gmail.com",
2578
2588
  "googlemail.com",
2579
2589
  "outlook.com",
@@ -2618,44 +2628,34 @@ const Hn = /* @__PURE__ */ new Set([
2618
2628
  "proximus.be",
2619
2629
  "scarlet.be"
2620
2630
  ]);
2621
- function la(e) {
2622
- const t = Bn(e);
2623
- return t ? Hn.has(t) : !1;
2631
+ function Aa(e) {
2632
+ const t = Yn(e);
2633
+ return t ? qn.has(t) : !1;
2624
2634
  }
2625
- function ua(e) {
2635
+ function ba(e) {
2626
2636
  if (!e) return !1;
2627
2637
  const t = e.trim().toLowerCase();
2628
2638
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
2629
2639
  }
2630
- function da(e, t, n) {
2640
+ function Ea(e, t, n) {
2631
2641
  if (!e || !t) return null;
2632
2642
  const r = e.trim().toLowerCase();
2633
2643
  if (r === "tel" || r === "sms" || r === "whatsapp") {
2634
- const o = re(t, n);
2644
+ const o = oe(t, n);
2635
2645
  return o ? `tel:${o}` : null;
2636
2646
  }
2637
2647
  if (r === "fax") {
2638
- const o = re(t, n);
2648
+ const o = oe(t, n);
2639
2649
  return o ? `fax:${o}` : null;
2640
2650
  }
2641
2651
  if (r === "mailto" || r === "email") {
2642
- const o = Ce(t);
2652
+ const o = ve(t);
2643
2653
  return o ? `mailto:${o}` : null;
2644
2654
  }
2645
2655
  const i = t.trim().toLowerCase();
2646
2656
  return i ? `${r}:${i}` : null;
2647
2657
  }
2648
- const Fn = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, Vn = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
2649
- function pa(e) {
2650
- if (typeof e != "string" || !e) return "";
2651
- let t = e;
2652
- 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(`
2653
- `).map(
2654
- (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,}$/, "")
2655
- ).join(`
2656
- `), t = t.replace(Fn, "$2"), t = t.replace(Vn, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
2657
- }
2658
- const Wn = [
2658
+ const Jn = [
2659
2659
  /<blockquote/i,
2660
2660
  /class="?gmail_quote/i,
2661
2661
  // Gmail quote container
@@ -2668,360 +2668,394 @@ const Wn = [
2668
2668
  // Outlook underscore separator before "From:"
2669
2669
  /\bOn\b[\s\S]{0,200}?\bwrote:/i
2670
2670
  // Gmail "On <date> <name> wrote:"
2671
- ], ie = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, zn = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
2672
- function Xn(e) {
2671
+ ], ae = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Zn = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
2672
+ function Qn(e) {
2673
2673
  const t = e.split(`
2674
2674
  `);
2675
2675
  for (let n = 0; n < t.length; n++)
2676
- if (zn.test(t[n]) || ie.test(t[n]) && t.slice(n + 1, n + 4).some((r) => ie.test(r)))
2676
+ if (Zn.test(t[n]) || ae.test(t[n]) && t.slice(n + 1, n + 4).some((r) => ae.test(r)))
2677
2677
  return t.slice(0, n).join(`
2678
2678
  `).trim();
2679
2679
  return e;
2680
2680
  }
2681
- function oe(e) {
2682
- let t = e;
2683
- return t = t.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), t = t.replace(/<br\s*\/?>/gi, `
2684
- `), t = t.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
2681
+ const er = /^(?:https?:|mailto:|tel:)/i, tr = /^(?:https?:|cid:|data:image\/)/i;
2682
+ function N(e, t) {
2683
+ const n = e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`, "i"));
2684
+ return (n?.[1] ?? n?.[2] ?? n?.[3] ?? "").trim();
2685
+ }
2686
+ const nr = /(!\[[^\]]*\]\([^)]*\))/;
2687
+ function se(e) {
2688
+ return e.replace(/\s+/g, " ").trim().split(nr).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
2689
+ }
2690
+ function v(e) {
2691
+ return e.replace(
2692
+ /[()\s<>"]/g,
2693
+ (t) => `%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2, "0")}`
2694
+ );
2695
+ }
2696
+ function rr(e) {
2697
+ return e.replace(/<img\b([^>]*?)\/?>/gi, (n, r) => {
2698
+ const i = N(r, "src");
2699
+ return tr.test(i) ? `![${se(N(r, "alt"))}](${v(i)})` : "";
2700
+ }).replace(
2701
+ /<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,
2702
+ (n, r, i) => {
2703
+ const o = se(i.replace(/<[^>]*>/g, "")), a = N(r, "href");
2704
+ return er.test(a) ? `[${o || v(a)}](${v(a)})` : o;
2705
+ }
2706
+ );
2707
+ }
2708
+ function ce(e, t) {
2709
+ let n = e;
2710
+ return n = n.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), n = n.replace(/<br\s*\/?>/gi, `
2711
+ `), t && (n = rr(n)), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
2685
2712
 
2686
- `), t = t.replace(/<\/(div|li|tr)>/gi, `
2687
- `), t = t.replace(/<\/(td|th)>/gi, " "), t = t.replace(/<[^>]+>/g, ""), t = t.replace(/<[^>]*$/, ""), t;
2713
+ `), n = n.replace(/<\/(div|li|tr)>/gi, `
2714
+ `), n = n.replace(/<\/(td|th)>/gi, " "), n = n.replace(/<[^>]+>/g, ""), n = n.replace(/<[^>]*$/, ""), n;
2688
2715
  }
2689
- function ae(e) {
2716
+ function le(e) {
2690
2717
  return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
2691
2718
  }
2692
- function se(e) {
2693
- 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, "&");
2719
+ function ue(e) {
2720
+ return e.replace(/&nbsp;/gi, " ").replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => le(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => le(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
2694
2721
  }
2695
- function ce(e) {
2722
+ function de(e) {
2696
2723
  return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
2697
2724
  `).replace(/\n{3,}/g, `
2698
2725
 
2699
2726
  `).trim();
2700
2727
  }
2701
- const Yn = /<\s*(html|body|div|p|table|br|span)\b/i;
2702
- function fa(e) {
2703
- return Yn.test(e);
2728
+ const ir = /<\s*(html|body|div|p|table|br|span)\b/i;
2729
+ function Sa(e) {
2730
+ return ir.test(e);
2731
+ }
2732
+ function _a(e) {
2733
+ return Re(e, !1);
2734
+ }
2735
+ function Ta(e) {
2736
+ return Re(e, !0);
2704
2737
  }
2705
- function ma(e) {
2738
+ function Re(e, t) {
2706
2739
  if (typeof e != "string" || !e) return "";
2707
- let t = e.length;
2708
- for (const o of Wn) {
2709
- const a = e.search(o);
2710
- a >= 0 && a < t && (t = a);
2740
+ let n = e.length;
2741
+ for (const a of Jn) {
2742
+ const s = e.search(a);
2743
+ s >= 0 && s < n && (n = s);
2711
2744
  }
2712
- const n = e.slice(0, t);
2713
- let r = ce(se(oe(n)));
2714
- return r || (r = ce(se(oe(e)))), Xn(r) || r;
2745
+ const r = e.slice(0, n);
2746
+ let i = de(ue(ce(r, t)));
2747
+ return i || (i = de(ue(ce(e, t)))), Qn(i) || i;
2715
2748
  }
2716
2749
  export {
2717
2750
  m as ACTIVITY_CATALOG,
2718
- ln as AI_ATTACHMENT_LIMITS,
2719
- lo as AI_ATTACHMENT_MAX_PER_TURN,
2720
- co as AI_ATTACHMENT_TURN_BUDGET,
2721
- ue as AI_VENDORS,
2722
- Xe as ALLOWED_LINK_SCHEMES,
2723
- Ko as APP_PERMISSIONS,
2724
- B as ARTIFACT_MAX_BLOCKS,
2725
- kr as ARTIFACT_MAX_BODY_BYTES,
2751
+ hn as AI_ATTACHMENT_LIMITS,
2752
+ bo as AI_ATTACHMENT_MAX_PER_TURN,
2753
+ Ao as AI_ATTACHMENT_TURN_BUDGET,
2754
+ fe as AI_VENDORS,
2755
+ tt as ALLOWED_LINK_SCHEMES,
2756
+ Xo as APP_PERMISSIONS,
2757
+ F as ARTIFACT_MAX_BLOCKS,
2758
+ Lr as ARTIFACT_MAX_BODY_BYTES,
2726
2759
  C as ARTIFACT_MAX_CELL_LEN,
2727
- W as ARTIFACT_MAX_KPI_ITEMS,
2728
- H as ARTIFACT_MAX_LIST_ITEMS,
2729
- V as ARTIFACT_MAX_TABLE_COLUMNS,
2730
- F as ARTIFACT_MAX_TABLE_ROWS,
2731
- pe as ARTIFACT_MAX_TEXT_LEN,
2732
- rt as ASSIGNMENT_SCOPE_KIND,
2733
- go as ASSIST_BANDS,
2734
- mo as ASSIST_SOURCE_PROVIDER_GROUP,
2735
- mt as ATTENTION_STATUSES,
2736
- Me as AUTH_APP_NAME,
2737
- Gt as AUTO_READY_MIN_PROPOSALS,
2738
- jt as AUTO_READY_RATE,
2739
- Pe as ActivityTypeRegistry,
2740
- pr as BUILT_IN_ONLY,
2741
- gt as BULK_PENALTY,
2742
- kn as CADENCE_FLOOR_MS,
2743
- Cn as CADENCE_MIN_NEW_SEGMENTS,
2744
- On as CADENCE_MIN_NOVELTY,
2745
- Mn as CADENCE_WINDOW_MS,
2746
- ki as CLASSIFY_VARS,
2747
- xo as CONTEXT_COLLECT_SERVICE,
2748
- Ir as CORE_DIMENSIONS,
2749
- gn as CommunicationScheme,
2750
- st as DAY_MS,
2751
- fi as DEFAULT_MEMORY_BUDGET,
2752
- Ln as DEFAULT_PHONE_REGION,
2753
- Oi as EMPTY_WORKFLOW,
2754
- vo as FEATURE_FOLDER_MANAGEMENT,
2755
- Ro as FEATURE_REMOTE_SEARCH,
2756
- yt as FOLLOW_UP_HOURS,
2757
- at as HOUR_MS,
2758
- Yn as HTML_BODY_RE,
2760
+ X as ARTIFACT_MAX_KPI_ITEMS,
2761
+ V as ARTIFACT_MAX_LIST_ITEMS,
2762
+ z as ARTIFACT_MAX_TABLE_COLUMNS,
2763
+ W as ARTIFACT_MAX_TABLE_ROWS,
2764
+ ge as ARTIFACT_MAX_TEXT_LEN,
2765
+ ut as ASSIGNMENT_SCOPE_KIND,
2766
+ Io as ASSIST_BANDS,
2767
+ To as ASSIST_SOURCE_PROVIDER_GROUP,
2768
+ St as ATTENTION_STATUSES,
2769
+ Oe as AUTH_APP_NAME,
2770
+ zt as AUTO_READY_MIN_PROPOSALS,
2771
+ Xt as AUTO_READY_RATE,
2772
+ Fe as ActivityTypeRegistry,
2773
+ Sr as BUILT_IN_ONLY,
2774
+ _t as BULK_PENALTY,
2775
+ xn as CADENCE_FLOOR_MS,
2776
+ Dn as CADENCE_MIN_NEW_SEGMENTS,
2777
+ Ln as CADENCE_MIN_NOVELTY,
2778
+ $n as CADENCE_WINDOW_MS,
2779
+ Li as CLASSIFY_VARS,
2780
+ Ho as CONTEXT_COLLECT_SERVICE,
2781
+ $r as CORE_DIMENSIONS,
2782
+ _n as CommunicationScheme,
2783
+ mt as DAY_MS,
2784
+ _i as DEFAULT_MEMORY_BUDGET,
2785
+ Hn as DEFAULT_PHONE_REGION,
2786
+ Ui as EMPTY_WORKFLOW,
2787
+ Go as FEATURE_FOLDER_MANAGEMENT,
2788
+ jo as FEATURE_REMOTE_SEARCH,
2789
+ It as FOLLOW_UP_HOURS,
2790
+ ft as HOUR_MS,
2791
+ ir as HTML_BODY_RE,
2759
2792
  g as INELIGIBLE,
2760
- Do as INSTALLATION_HEADER,
2761
- Dt as INTERACTION_KIND,
2762
- Oo as InteractionParticipantRole,
2763
- wt as KB_FALLBACK_LOCALE,
2764
- q as KB_LOCALES,
2765
- $ as LOOSE_STATUSES,
2766
- Qn as MAX_ACTIONS,
2767
- it as MAX_ASSIGNMENT_TURNS,
2768
- qn as MAX_BLOCKS,
2769
- be as MAX_COLLECTION_DEPTH,
2770
- Jn as MAX_FIELDS,
2771
- Zn as MAX_LIST_ITEMS,
2772
- li as MAX_MEMORY_BROWSE,
2773
- pi as MAX_MEMORY_BUDGET,
2774
- ui as MAX_MEMORY_CHARS,
2775
- Dn as MAX_SHOWN_KEYS,
2776
- zt as MAX_TOPIC_CANDIDATES,
2777
- Wt as MAX_TOPIC_EXAMPLES,
2793
+ Fo as INSTALLATION_HEADER,
2794
+ Bt as INTERACTION_KIND,
2795
+ Uo as InteractionParticipantRole,
2796
+ Rt as KB_FALLBACK_LOCALE,
2797
+ Z as KB_LOCALES,
2798
+ D as LOOSE_STATUSES,
2799
+ cr as MAX_ACTIONS,
2800
+ dt as MAX_ASSIGNMENT_TURNS,
2801
+ or as MAX_BLOCKS,
2802
+ _e as MAX_COLLECTION_DEPTH,
2803
+ ar as MAX_FIELDS,
2804
+ sr as MAX_LIST_ITEMS,
2805
+ Ai as MAX_MEMORY_BROWSE,
2806
+ Si as MAX_MEMORY_BUDGET,
2807
+ bi as MAX_MEMORY_CHARS,
2808
+ Bn as MAX_SHOWN_KEYS,
2809
+ en as MAX_TOPIC_CANDIDATES,
2810
+ Qt as MAX_TOPIC_EXAMPLES,
2778
2811
  O as MAX_TOPIC_EXAMPLE_CHARS,
2779
- di as MIN_MEMORY_BUDGET,
2780
- oa as NAV_NOTICE_SLOT,
2781
- Po as NOTIFICATION_SOURCE_PROVIDER_GROUP,
2782
- gi as ONBOARDING_SOURCE_PROVIDER_GROUP,
2783
- x as PHONE_REGIONS,
2784
- Ie as PRESENCE_ONLINE_WINDOW_MS,
2785
- yn as PRESENCE_SURVIVES_OFFLINE,
2786
- yi as PROFILE_TOOL_DISPOSITIONS,
2787
- Co as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
2788
- ko as PROVIDER_FEATURE_MESSAGE_WINDOW,
2789
- Hn as PUBLIC_EMAIL_DOMAINS,
2790
- J as READ_STEP_TYPES,
2791
- Ct as RELATED_SUBJECT_KINDS,
2792
- Te as RESERVED_STATUS_KEYS,
2793
- zo as RESOURCE_ATTACHED_SERVICE,
2794
- Fo as RESOURCE_DESCRIBE_SERVICE,
2795
- Wo as RESOURCE_RESOLVE_SERVICE,
2796
- Vo as RESOURCE_SEARCH_SERVICE,
2797
- ia as SETTINGS_CATEGORIES,
2798
- Gr as SIGNATURE_INTENTS,
2799
- ht as SLA_HOURS_BY_PRIORITY,
2800
- Ut as STEP_MAX_TOKENS_MAX,
2801
- Pt as STEP_MAX_TOKENS_MIN,
2802
- pt as SUMMARY_MIN_LAST_CHARS,
2803
- dt as SUMMARY_MIN_MESSAGES,
2804
- ta as SYNC_RUN_MAX_ERRORS,
2805
- Qo as SYNC_SOURCE_PROVIDER_GROUP,
2806
- ea as SYNC_TARGET_PROVIDER_GROUP,
2807
- nt as TERMINAL_ASSIGNMENT_STATUSES,
2808
- Bt as TERMINAL_RUN_STATUSES,
2809
- Mi as TRIGGER_VARS,
2810
- $o as UNSUPPORTED,
2811
- Fe as USAGE_DIMENSIONS,
2812
- Ve as USAGE_DIMENSION_IDS,
2813
- hi as WORK_AREAS,
2814
- Xi as WORK_COMMENT_ADDED,
2815
- Yi as WORK_ITEM_ASSIGNED,
2816
- Zt as WORK_ITEM_SCOPE_KIND,
2817
- qi as WORK_ITEM_STATUS_CHANGED,
2818
- Qt as WORK_PROJECT_SCOPE_KIND,
2812
+ Ei as MIN_MEMORY_BUDGET,
2813
+ ma as NAV_NOTICE_SLOT,
2814
+ Wo as NOTIFICATION_SOURCE_PROVIDER_GROUP,
2815
+ Ii as ONBOARDING_SOURCE_PROVIDER_GROUP,
2816
+ L as PHONE_REGIONS,
2817
+ ke as PRESENCE_ONLINE_WINDOW_MS,
2818
+ In as PRESENCE_SURVIVES_OFFLINE,
2819
+ Mi as PROFILE_TOOL_DISPOSITIONS,
2820
+ Po as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
2821
+ Lo as PROVIDER_FEATURE_MESSAGE_WINDOW,
2822
+ qn as PUBLIC_EMAIL_DOMAINS,
2823
+ Q as READ_STEP_TYPES,
2824
+ Dt as RELATED_SUBJECT_KINDS,
2825
+ Me as RESERVED_STATUS_KEYS,
2826
+ na as RESOURCE_ATTACHED_SERVICE,
2827
+ Qo as RESOURCE_DESCRIBE_SERVICE,
2828
+ ta as RESOURCE_RESOLVE_SERVICE,
2829
+ ea as RESOURCE_SEARCH_SERVICE,
2830
+ fa as SETTINGS_CATEGORIES,
2831
+ Yr as SIGNATURE_INTENTS,
2832
+ Tt as SLA_HOURS_BY_PRIORITY,
2833
+ Vt as STEP_MAX_TOKENS_MAX,
2834
+ Ft as STEP_MAX_TOKENS_MIN,
2835
+ bt as SUMMARY_MIN_LAST_CHARS,
2836
+ At as SUMMARY_MIN_MESSAGES,
2837
+ ua as SYNC_RUN_MAX_ERRORS,
2838
+ ca as SYNC_SOURCE_PROVIDER_GROUP,
2839
+ la as SYNC_TARGET_PROVIDER_GROUP,
2840
+ lt as TERMINAL_ASSIGNMENT_STATUSES,
2841
+ Yt as TERMINAL_RUN_STATUSES,
2842
+ Di as TRIGGER_VARS,
2843
+ Bo as UNSUPPORTED,
2844
+ Je as USAGE_DIMENSIONS,
2845
+ Ze as USAGE_DIMENSION_IDS,
2846
+ wi as WORK_AREAS,
2847
+ ro as WORK_COMMENT_ADDED,
2848
+ io as WORK_ITEM_ASSIGNED,
2849
+ an as WORK_ITEM_SCOPE_KIND,
2850
+ oo as WORK_ITEM_STATUS_CHANGED,
2851
+ sn as WORK_PROJECT_SCOPE_KIND,
2819
2852
  _ as W_PRIORITY,
2820
- Vi as acceptExampleCandidate,
2821
- Nt as actingIdentityKey,
2822
- Hi as activeWorkTypes,
2823
- tr as activityIconOf,
2824
- ur as activityJoinUrl,
2825
- $e as activitySnippet,
2826
- xe as activityTextParams,
2827
- lr as activityTimelineText,
2828
- Ue as activityTimestamp,
2853
+ eo as acceptExampleCandidate,
2854
+ Pt as actingIdentityKey,
2855
+ Zi as activeWorkTypes,
2856
+ ur as activityIconOf,
2857
+ br as activityJoinUrl,
2858
+ Ge as activitySnippet,
2859
+ je as activityTextParams,
2860
+ Ar as activityTimelineText,
2861
+ Ve as activityTimestamp,
2829
2862
  d as activityTypeInfo,
2830
- Ei as actorKey,
2831
- Fi as addExampleCandidate,
2832
- jo as agePresenceEntry,
2833
- cn as aiAttachmentKind,
2834
- uo as aiAttachmentRejection,
2835
- j as aiBudgetLimit,
2836
- _r as aiBudgetPeriodKey,
2837
- Ke as aiBudgetPeriodStart,
2838
- Sr as aiBudgetState,
2839
- Er as aiVendorAcceptsAttachment,
2840
- yr as aiVendorDefaultModel,
2841
- hr as aiVendorLabel,
2842
- br as aiVendorNeedsBaseUrl,
2843
- Ar as aiVendorsWith,
2844
- ke as appNameFromPath,
2845
- Ui as applyRounding,
2846
- jr as applySignature,
2847
- Kt as approvalRate,
2848
- Or as artifactBodyBytes,
2849
- Nr as artifactOutline,
2850
- vr as artifactToMarkdown,
2851
- Ii as assignmentMismatch,
2852
- Lr as assignmentScopeKey,
2853
- Ur as assignmentSubject,
2854
- dr as buildActivityPreview,
2855
- _o as buildChannelIntents,
2856
- Rr as buildShareKeys,
2857
- xn as buildWindow,
2858
- ri as canNestUnder,
2859
- or as carriesText,
2860
- oi as categoryLabel,
2861
- nn as categoryOf,
2862
- Mo as channelKindForScheme,
2863
- nr as channelKindOf,
2864
- Ci as clampStepMaxTokens,
2865
- ma as cleanMessageText,
2866
- yo as compareAssistRank,
2867
- Vt as compareWorkTypes,
2868
- Kr as decideAssignmentState,
2869
- ra as decideCadence,
2870
- Eo as decideIncomingCall,
2871
- Mt as defaultLocaleOf,
2872
- io as defaultStatusKey,
2873
- No as defineIntent,
2874
- Tt as depthOf,
2875
- Go as derivePresence,
2876
- So as disabledIntentsFromCapabilities,
2877
- Pi as elapsedSeconds,
2878
- ca as emailDomain,
2879
- da as endpointKey,
2880
- En as extractParams,
2881
- Rn as extractTerms,
2882
- Io as filterByEndpoint,
2883
- To as filterByIntent,
2884
- mn as filterByTargetScheme,
2863
+ Oi as actorKey,
2864
+ Qi as addExampleCandidate,
2865
+ qo as agePresenceEntry,
2866
+ gn as aiAttachmentKind,
2867
+ Eo as aiAttachmentRejection,
2868
+ H as aiBudgetLimit,
2869
+ vr as aiBudgetPeriodKey,
2870
+ We as aiBudgetPeriodStart,
2871
+ Nr as aiBudgetState,
2872
+ Or as aiVendorAcceptsAttachment,
2873
+ Mr as aiVendorDefaultModel,
2874
+ wr as aiVendorLabel,
2875
+ Cr as aiVendorNeedsBaseUrl,
2876
+ kr as aiVendorsWith,
2877
+ Ne as appNameFromPath,
2878
+ zi as applyRounding,
2879
+ qr as applySignature,
2880
+ Wt as approvalRate,
2881
+ Ur as artifactBodyBytes,
2882
+ Kr as artifactOutline,
2883
+ Gr as artifactToMarkdown,
2884
+ $i as assignmentMismatch,
2885
+ Vr as assignmentScopeKey,
2886
+ zr as assignmentSubject,
2887
+ Er as buildActivityPreview,
2888
+ vo as buildChannelIntents,
2889
+ jr as buildShareKeys,
2890
+ jn as buildWindow,
2891
+ pi as canNestUnder,
2892
+ mr as carriesText,
2893
+ mi as categoryLabel,
2894
+ un as categoryOf,
2895
+ Do as channelKindForScheme,
2896
+ dr as channelKindOf,
2897
+ Pi as clampStepMaxTokens,
2898
+ Ta as cleanMessageMarkdown,
2899
+ _a as cleanMessageText,
2900
+ Mo as compareAssistRank,
2901
+ Zt as compareWorkTypes,
2902
+ Xr as decideAssignmentState,
2903
+ pa as decideCadence,
2904
+ Oo as decideIncomingCall,
2905
+ $t as defaultLocaleOf,
2906
+ mo as defaultStatusKey,
2907
+ Ko as defineIntent,
2908
+ Nt as depthOf,
2909
+ Yo as derivePresence,
2910
+ No as disabledIntentsFromCapabilities,
2911
+ Wi as elapsedSeconds,
2912
+ ya as emailDomain,
2913
+ Ea as endpointKey,
2914
+ kn as extractParams,
2915
+ Kn as extractTerms,
2916
+ $o as filterByEndpoint,
2917
+ Ro as filterByIntent,
2918
+ Sn as filterByTargetScheme,
2885
2919
  T as findAiVendor,
2886
- Lo as flattenLocales,
2887
- je as floorToPeriod,
2888
- Ot as formatActingIdentity,
2889
- Gi as formatClock,
2890
- Ki as formatHm,
2891
- Zi as formatItemKey,
2892
- Ge as formatPeriod,
2893
- fo as freshSources,
2894
- fr as getActivitySeenUserIds,
2895
- Br as getContactEndpoints,
2896
- Zr as getShortTitle,
2897
- Jr as getUrgencyScore,
2898
- Ee as heightOf,
2899
- ei as helpCenterText,
2900
- wi as humanizeAction,
2901
- Lt as interactionIdOf,
2902
- zi as isAgentUser,
2903
- Yr as isAssigned,
2904
- Dr as isAssignmentTerminal,
2905
- $t as isAssignmentTrigger,
2906
- Ri as isAutoReady,
2907
- _t as isAwaitingThem,
2908
- gr as isChatMessageActivity,
2909
- qr as isClosed,
2910
- sr as isConnectedType,
2911
- Yo as isDeepLink,
2912
- It as isDescendant,
2913
- Hr as isEligible,
2914
- mr as isEmailActivity,
2915
- fa as isHtmlBody,
2916
- xi as isInFlight,
2917
- ft as isInteractionUnseen,
2918
- qo as isLandingPath,
2919
- ut as isLikelyBulk,
2920
- le as isMessageShape,
2921
- rr as isMessageType,
2922
- _n as isMoreSpecificPattern,
2923
- po as isOutwardTool,
2924
- bt as isParked,
2925
- Ht as isPaused,
2926
- ar as isPlaybookAuthoredType,
2927
- la as isPublicEmailDomain,
2928
- Zo as isPublicPath,
2929
- Et as isReminderActive,
2930
- ir as isReplyableType,
2931
- zr as isSlaAtRisk,
2932
- $i as isTerminal,
2933
- Vr as isThreadLongEnough,
2934
- cr as isTranscriptType,
2935
- oo as isWorkClosed,
2936
- Bi as isWorkTypeVisible,
2937
- to as itemDossierKeys,
2938
- tn as ladderFor,
2939
- Qr as linkLabel,
2940
- Tr as listeningAllowed,
2941
- ni as localeInstruction,
2942
- ti as localeName,
2943
- ii as localesOf,
2944
- aa as looksLikeEmail,
2945
- wo as matchContactToIntents,
2946
- Tn as matchPublicRoute,
2947
- si as mcpCredentialScope,
2948
- ci as mcpToolPrefix,
2949
- na as mergeShownKeys,
2950
- Re as messageCountsAs,
2951
- ua as needsPhoneRegion,
2952
- Cr as normalizeArtifactBlocks,
2953
- er as normalizeBlocks,
2954
- Ce as normalizeEmail,
2920
+ Vo as flattenLocales,
2921
+ Xe as floorToPeriod,
2922
+ Lt as formatActingIdentity,
2923
+ Yi as formatClock,
2924
+ Xi as formatHm,
2925
+ so as formatItemKey,
2926
+ ze as formatPeriod,
2927
+ _o as freshSources,
2928
+ _r as getActivitySeenUserIds,
2929
+ Jr as getContactEndpoints,
2930
+ si as getShortTitle,
2931
+ ai as getUrgencyScore,
2932
+ Te as heightOf,
2933
+ li as helpCenterText,
2934
+ xi as humanizeAction,
2935
+ Ht as interactionIdOf,
2936
+ no as isAgentUser,
2937
+ ii as isAssigned,
2938
+ Fr as isAssignmentTerminal,
2939
+ Gt as isAssignmentTrigger,
2940
+ ji as isAutoReady,
2941
+ Ot as isAwaitingThem,
2942
+ Ir as isChatMessageActivity,
2943
+ oi as isClosed,
2944
+ hr as isConnectedType,
2945
+ ia as isDeepLink,
2946
+ vt as isDescendant,
2947
+ Zr as isEligible,
2948
+ Tr as isEmailActivity,
2949
+ Sa as isHtmlBody,
2950
+ Hi as isInFlight,
2951
+ Et as isInteractionUnseen,
2952
+ oa as isLandingPath,
2953
+ yt as isLikelyBulk,
2954
+ pe as isMessageShape,
2955
+ pr as isMessageType,
2956
+ On as isMoreSpecificPattern,
2957
+ So as isOutwardTool,
2958
+ Mt as isParked,
2959
+ qt as isPaused,
2960
+ gr as isPlaybookAuthoredType,
2961
+ Aa as isPublicEmailDomain,
2962
+ sa as isPublicPath,
2963
+ kt as isReminderActive,
2964
+ fr as isReplyableType,
2965
+ ni as isSlaAtRisk,
2966
+ Bi as isTerminal,
2967
+ ei as isThreadLongEnough,
2968
+ yr as isTranscriptType,
2969
+ go as isWorkClosed,
2970
+ Ji as isWorkTypeVisible,
2971
+ uo as itemDossierKeys,
2972
+ ln as ladderFor,
2973
+ ci as linkLabel,
2974
+ Rr as listeningAllowed,
2975
+ di as localeInstruction,
2976
+ ui as localeName,
2977
+ fi as localesOf,
2978
+ ga as looksLikeEmail,
2979
+ xo as matchContactToIntents,
2980
+ Nn as matchPublicRoute,
2981
+ hi as mcpCredentialScope,
2982
+ yi as mcpToolPrefix,
2983
+ da as mergeShownKeys,
2984
+ Ke as messageCountsAs,
2985
+ ba as needsPhoneRegion,
2986
+ Pr as normalizeArtifactBlocks,
2987
+ lr as normalizeBlocks,
2988
+ ve as normalizeEmail,
2955
2989
  h as normalizeExample,
2956
- Uo as notificationPrefKey,
2957
- $n as novelty,
2958
- Fr as parkMarksById,
2959
- Ai as parseActingIdentity,
2960
- Qi as parseItemKey,
2961
- bn as pathToRegex,
2962
- wr as periodsInRange,
2963
- sa as phoneSuffix,
2964
- pa as plainTextFromMarkdown,
2965
- Rt as playbookActor,
2966
- vi as procedureOf,
2967
- no as projectDossierKeys,
2968
- Sn as publicBasePathFor,
2969
- Jo as publicRoutePatterns,
2970
- N as readPath,
2971
- Z as readStepError,
2972
- At as recencyOf,
2973
- xt as refKey,
2974
- Bn as registrableDomain,
2975
- Yt as rejectExampleCandidate,
2976
- mi as relatedByDefault,
2977
- pn as resolveAccountCapabilities,
2978
- v as resolveActivityText,
2979
- dn as resolveChannelIntents,
2980
- ot as resolveSignature,
2981
- Bo as resolveWorkMode,
2982
- Xo as resourceKindOf,
2983
- bi as runActor,
2984
- Li as runInteractionId,
2985
- Ze as sanitizeInline,
2986
- wn as sanitizeTranscript,
2987
- Xr as scoreInteraction,
2988
- Ji as scoreWorkItem,
2989
- ai as selectLenses,
2990
- bo as sessionsHoldCannotReach,
2991
- Ao as sessionsToHold,
2992
- ge as shareKeyForTeam,
2993
- me as shareKeyForUser,
2994
- $r as shareKeysForViewer,
2995
- Ho as shouldRunAudioPipeline,
2996
- Wr as slaHoursByInbox,
2997
- St as slaHoursFor,
2998
- rn as sortStatuses,
2999
- un as sourceKey,
3000
- ro as statusIn,
3001
- Ni as stepsOf,
3002
- ve as stripHtml,
3003
- Di as subjectKeyOf,
3004
- Se as subjectOf,
3005
- ho as subjectRef,
3006
- eo as suggestProjectKey,
3007
- Ti as targetById,
3008
- _i as targetForActivityType,
3009
- vt as toActingIdentity,
3010
- re as toE164,
3011
- xr as toolSourceKinds,
3012
- qt as topicOfferedForTeam,
3013
- Wi as topicsForTeam,
3014
- Xt as truncateExample,
3015
- ao as uniqueWorkStatusKey,
3016
- ji as uniqueWorkTypeKey,
3017
- We as usageMetricId,
3018
- Mr as usageMetrics,
3019
- so as validateStatuses,
3020
- Si as valueAtPath,
3021
- R as waitHoursOf,
3022
- Pr as wakesAssignment,
3023
- en as workItemScopeKey,
3024
- _e as workProjectScopeKey,
3025
- on as workStatusKey,
3026
- Ft as workTypeKey
2990
+ zo as notificationPrefKey,
2991
+ Gn as novelty,
2992
+ Qr as parkMarksById,
2993
+ ki as parseActingIdentity,
2994
+ co as parseItemKey,
2995
+ Mn as pathToRegex,
2996
+ xr as periodsInRange,
2997
+ ha as phoneSuffix,
2998
+ Pe as plainTextFromMarkdown,
2999
+ Kt as playbookActor,
3000
+ Gi as procedureOf,
3001
+ po as projectDossierKeys,
3002
+ Cn as publicBasePathFor,
3003
+ aa as publicRoutePatterns,
3004
+ R as readPath,
3005
+ ee as readStepError,
3006
+ wt as recencyOf,
3007
+ jt as refKey,
3008
+ Yn as registrableDomain,
3009
+ nn as rejectExampleCandidate,
3010
+ Ti as relatedByDefault,
3011
+ bn as resolveAccountCapabilities,
3012
+ $ as resolveActivityText,
3013
+ An as resolveChannelIntents,
3014
+ pt as resolveSignature,
3015
+ Jo as resolveWorkMode,
3016
+ ra as resourceKindOf,
3017
+ Ci as runActor,
3018
+ Vi as runInteractionId,
3019
+ ot as sanitizeInline,
3020
+ Rn as sanitizeTranscript,
3021
+ ri as scoreInteraction,
3022
+ ao as scoreWorkItem,
3023
+ gi as selectLenses,
3024
+ Co as sessionsHoldCannotReach,
3025
+ ko as sessionsToHold,
3026
+ Ae as shareKeyForTeam,
3027
+ ye as shareKeyForUser,
3028
+ Br as shareKeysForViewer,
3029
+ Zo as shouldRunAudioPipeline,
3030
+ ti as slaHoursByInbox,
3031
+ Ct as slaHoursFor,
3032
+ dn as sortStatuses,
3033
+ yn as sourceKey,
3034
+ fo as statusIn,
3035
+ Ki as stepsOf,
3036
+ Ue as stripHtml,
3037
+ Fi as subjectKeyOf,
3038
+ Ie as subjectOf,
3039
+ wo as subjectRef,
3040
+ lo as suggestProjectKey,
3041
+ Ri as targetById,
3042
+ vi as targetForActivityType,
3043
+ Ut as toActingIdentity,
3044
+ oe as toE164,
3045
+ Hr as toolSourceKinds,
3046
+ rn as topicOfferedForTeam,
3047
+ to as topicsForTeam,
3048
+ tn as truncateExample,
3049
+ ho as uniqueWorkStatusKey,
3050
+ qi as uniqueWorkTypeKey,
3051
+ Qe as usageMetricId,
3052
+ Dr as usageMetrics,
3053
+ yo as validateStatuses,
3054
+ Ni as valueAtPath,
3055
+ x as waitHoursOf,
3056
+ Wr as wakesAssignment,
3057
+ cn as workItemScopeKey,
3058
+ we as workProjectScopeKey,
3059
+ pn as workStatusKey,
3060
+ Jt as workTypeKey
3027
3061
  };