@opencxh/domain 1.149.0 → 1.151.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 St = 10, Mt = 10, Ct = 10, Nt = 5, pe = /* @__PURE__ */ new Set([
1
+ const Lt = 10, $t = 10, Rt = 10, wt = 5, me = /* @__PURE__ */ new Set([
2
2
  "header",
3
3
  "section",
4
4
  "context",
@@ -8,36 +8,36 @@ const St = 10, Mt = 10, Ct = 10, Nt = 5, pe = /* @__PURE__ */ new Set([
8
8
  "actions",
9
9
  "attachments"
10
10
  ]);
11
- function T(e) {
11
+ function I(e) {
12
12
  if (typeof e == "string") return e.length > 0;
13
13
  if (!e || typeof e != "object") return !1;
14
14
  const t = e;
15
15
  return typeof t.key == "string" || typeof t.value == "string";
16
16
  }
17
- function vt(e, t = () => {
17
+ function Dt(e, t = () => {
18
18
  }) {
19
19
  if (!Array.isArray(e)) return [];
20
20
  const n = [];
21
- for (const a of e) {
21
+ for (const r of e) {
22
22
  if (n.length >= 10) {
23
23
  t("more than 10 blocks; the rest was dropped");
24
24
  break;
25
25
  }
26
- if (!a || typeof a != "object") continue;
27
- const i = a;
28
- if (!pe.has(i.type)) {
26
+ if (!r || typeof r != "object") continue;
27
+ const i = r;
28
+ if (!me.has(i.type)) {
29
29
  t("unknown block type " + String(i.type));
30
30
  continue;
31
31
  }
32
32
  switch (i.type) {
33
33
  case "header":
34
- if (!T(i.text)) {
34
+ if (!I(i.text)) {
35
35
  t("a header without text");
36
36
  continue;
37
37
  }
38
38
  break;
39
39
  case "context":
40
- if (!T(i.text)) {
40
+ if (!I(i.text)) {
41
41
  t("a context block without text");
42
42
  continue;
43
43
  }
@@ -59,8 +59,8 @@ function vt(e, t = () => {
59
59
  i.items.length > 10 && (t("more than 10 list items"), i.items = i.items.slice(0, 10));
60
60
  break;
61
61
  case "actions": {
62
- const r = Array.isArray(i.elements) ? i.elements : [], o = r.filter((s) => s && s.action_id && s.invoke && T(s.text));
63
- if (o.length !== r.length && t("an action without action_id, invoke or text"), o.length === 0) continue;
62
+ const a = Array.isArray(i.elements) ? i.elements : [], o = a.filter((s) => s && s.action_id && s.invoke && I(s.text));
63
+ if (o.length !== a.length && t("an action without action_id, invoke or text"), o.length === 0) continue;
64
64
  o.length > 5 && t("more than 5 actions"), i.elements = o.slice(0, 5);
65
65
  break;
66
66
  }
@@ -69,24 +69,24 @@ function vt(e, t = () => {
69
69
  }
70
70
  return n;
71
71
  }
72
- function de(e) {
72
+ function ge(e) {
73
73
  return e.replace(/<style[\s\S]*?<\/style>/gi, " ").replace(/<script[\s\S]*?<\/script>/gi, " ").replace(/<[^>]+>/g, " ").replace(/&nbsp;/g, " ").replace(/&amp;/g, "&").replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&#39;/g, "'").replace(/\s+/g, " ").trim();
74
74
  }
75
- function y(e) {
75
+ function b(e) {
76
76
  if (!e || e < 0) return "";
77
77
  const t = Math.floor(e / 60), n = Math.floor(e % 60);
78
78
  return `${t}:${n.toString().padStart(2, "0")}`;
79
79
  }
80
- function k(e) {
80
+ function O(e) {
81
81
  return e ? ` — ${Math.floor(e / 60)}m ${e % 60}s` : "";
82
82
  }
83
- function I(e) {
83
+ function S(e) {
84
84
  return e?.split("@")?.[0] || e || "";
85
85
  }
86
- function b(e) {
86
+ function A(e) {
87
87
  return e.map((t) => t.name).join(", ");
88
88
  }
89
- function x(e) {
89
+ function L(e) {
90
90
  return e === "meeting" ? "Meeting" : e === "video" ? "Video call" : "Audio call";
91
91
  }
92
92
  const m = {
@@ -96,7 +96,7 @@ const m = {
96
96
  channelKind: "voice",
97
97
  icon: "phone",
98
98
  snippet: () => "Gesprek gestart",
99
- timeline: (e) => e.direction === "inbound" ? `Inbound call started — ${I(e.payload.from)}` : `Outbound call started — ${I(e.payload.to)}`
99
+ timeline: (e) => e.direction === "inbound" ? `Inbound call started — ${S(e.payload.from)}` : `Outbound call started — ${S(e.payload.to)}`
100
100
  },
101
101
  VOICE_CALL_ANSWERED: {
102
102
  shape: "event",
@@ -122,15 +122,15 @@ const m = {
122
122
  shape: "event",
123
123
  channelKind: "voice",
124
124
  icon: "phone",
125
- snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${y(e.payload.duration)})` : ""}`,
126
- timeline: (e) => `Call ended${k(e.payload.duration)}`
125
+ snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${b(e.payload.duration)})` : ""}`,
126
+ timeline: (e) => `Call ended${O(e.payload.duration)}`
127
127
  },
128
128
  VOICE_CALL_MISSED: {
129
129
  shape: "event",
130
130
  channelKind: "voice",
131
131
  icon: "phone",
132
132
  snippet: () => "Gemiste oproep",
133
- timeline: (e) => `Missed call — ${I(e.payload.from)}`
133
+ timeline: (e) => `Missed call — ${S(e.payload.from)}`
134
134
  },
135
135
  VOICE_CALL_FAILED: {
136
136
  shape: "event",
@@ -176,7 +176,7 @@ const m = {
176
176
  shape: "event",
177
177
  channelKind: "video",
178
178
  icon: "video",
179
- snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${y(e.payload.duration)})` : ""}`,
179
+ snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${b(e.payload.duration)})` : ""}`,
180
180
  timeline: () => "Video call ended"
181
181
  },
182
182
  VIDEO_CALL_MISSED: {
@@ -204,7 +204,7 @@ const m = {
204
204
  replyable: !0,
205
205
  carriesText: !0,
206
206
  countsAs: "inbound_message",
207
- snippet: L
207
+ snippet: $
208
208
  },
209
209
  EMAIL_SENT: {
210
210
  shape: "message",
@@ -214,7 +214,7 @@ const m = {
214
214
  replyable: !0,
215
215
  carriesText: !0,
216
216
  countsAs: "outbound_message",
217
- snippet: L
217
+ snippet: $
218
218
  },
219
219
  /* ---- chat ---- */
220
220
  CHAT_MESSAGE_SENT: {
@@ -243,9 +243,9 @@ const m = {
243
243
  shape: "event",
244
244
  channelKind: "chat",
245
245
  icon: "message-circle",
246
- snippet: (e) => `${b(e.payload.members)} toegevoegd`,
246
+ snippet: (e) => `${A(e.payload.members)} toegevoegd`,
247
247
  timeline: (e) => {
248
- const t = b(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · added by ${e.payload.initiator.name}` : "";
248
+ const t = A(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · added by ${e.payload.initiator.name}` : "";
249
249
  return `${t} joined the chat${n}`;
250
250
  }
251
251
  },
@@ -253,9 +253,9 @@ const m = {
253
253
  shape: "event",
254
254
  channelKind: "chat",
255
255
  icon: "message-circle",
256
- snippet: (e) => `${b(e.payload.members)} verlaten`,
256
+ snippet: (e) => `${A(e.payload.members)} verlaten`,
257
257
  timeline: (e) => {
258
- const t = b(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · removed by ${e.payload.initiator.name}` : "";
258
+ const t = A(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · removed by ${e.payload.initiator.name}` : "";
259
259
  return `${t} left the chat${n}`;
260
260
  }
261
261
  },
@@ -271,15 +271,15 @@ const m = {
271
271
  channelKind: "chat",
272
272
  icon: "message-circle",
273
273
  snippet: () => "Gesprek gestart",
274
- timeline: (e) => `${x(e.payload.callType)} started${e.payload.initiator ? ` by ${e.payload.initiator.name}` : ""}`,
274
+ timeline: (e) => `${L(e.payload.callType)} started${e.payload.initiator ? ` by ${e.payload.initiator.name}` : ""}`,
275
275
  joinUrl: (e) => e.payload.joinUrl
276
276
  },
277
277
  CHAT_CALL_ENDED: {
278
278
  shape: "event",
279
279
  channelKind: "chat",
280
280
  icon: "message-circle",
281
- snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${y(e.payload.duration)})` : ""}`,
282
- timeline: (e) => `${x(e.payload.callType)} ended${k(e.payload.duration)}`,
281
+ snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${b(e.payload.duration)})` : ""}`,
282
+ timeline: (e) => `${L(e.payload.callType)} ended${O(e.payload.duration)}`,
283
283
  joinUrl: (e) => e.payload.joinUrl
284
284
  },
285
285
  CHAT_EVENT: {
@@ -367,7 +367,7 @@ const m = {
367
367
  MEETING_ENDED: {
368
368
  shape: "event",
369
369
  icon: "calendar",
370
- snippet: (e) => `Vergadering beëindigd${e.payload.duration ? ` (${y(e.payload.duration)})` : ""}`,
370
+ snippet: (e) => `Vergadering beëindigd${e.payload.duration ? ` (${b(e.payload.duration)})` : ""}`,
371
371
  timeline: () => "Meeting ended"
372
372
  },
373
373
  MEETING_PARTICIPANT_JOINED: {
@@ -404,75 +404,75 @@ const m = {
404
404
  timeline: (e, t) => `Assigned by ${t}`
405
405
  }
406
406
  };
407
- function L(e) {
408
- const t = e.payload, n = t.bodySnippet?.trim() || de(t.body ?? "");
407
+ function $(e) {
408
+ const t = e.payload, n = t.bodySnippet?.trim() || ge(t.body ?? "");
409
409
  return t.subject ? `${t.subject} — ${n}` : n;
410
410
  }
411
411
  function f(e) {
412
412
  return m[e];
413
413
  }
414
- function kt(e) {
414
+ function Pt(e) {
415
415
  return f(e)?.icon ?? "circle";
416
416
  }
417
- function xt(e) {
417
+ function Ut(e) {
418
418
  return f(e)?.channelKind;
419
419
  }
420
- function Lt(e) {
420
+ function Kt(e) {
421
421
  const t = f(e)?.shape;
422
422
  return t === "message" || t === "note";
423
423
  }
424
- function $t(e) {
424
+ function Bt(e) {
425
425
  return f(e)?.replyable === !0;
426
426
  }
427
- function Ot(e) {
427
+ function Gt(e) {
428
428
  return f(e)?.carriesText === !0;
429
429
  }
430
- function Rt(e) {
430
+ function Ft(e) {
431
431
  return f(e)?.countsAs;
432
432
  }
433
- function wt(e) {
433
+ function Ht(e) {
434
434
  return f(e)?.playbookAuthored === !0;
435
435
  }
436
- function fe(e) {
436
+ function he(e) {
437
437
  const t = f(e.type)?.snippet;
438
438
  return t ? t(e) : "";
439
439
  }
440
- function Dt(e, t) {
440
+ function jt(e, t) {
441
441
  const n = f(e.type)?.timeline;
442
442
  return n ? n(e, t) : e.type.replace(/_/g, " ").toLowerCase();
443
443
  }
444
- function Pt(e) {
444
+ function Vt(e) {
445
445
  const t = f(e.type)?.joinUrl;
446
446
  return t ? t(e) : void 0;
447
447
  }
448
- function C(e, t) {
448
+ function N(e, t) {
449
449
  let n = e;
450
- for (const a of t.split(".")) {
450
+ for (const r of t.split(".")) {
451
451
  if (n == null || typeof n != "object") return "";
452
- n = n[a];
452
+ n = n[r];
453
453
  }
454
454
  return n == null ? "" : typeof n == "string" ? n : typeof n == "number" || typeof n == "boolean" ? String(n) : "";
455
455
  }
456
- function N(e, t, n) {
456
+ function k(e, t, n) {
457
457
  if (e === void 0) return null;
458
458
  if (typeof e == "string") return e || null;
459
459
  if ("value" in e)
460
- return C(t, e.value) || null;
461
- const a = {};
462
- for (const [r, o] of Object.entries(e.params ?? {}))
463
- a[r] = C(t, o);
464
- const i = n(e.key, a);
460
+ return N(t, e.value) || null;
461
+ const r = {};
462
+ for (const [a, o] of Object.entries(e.params ?? {}))
463
+ r[a] = N(t, o);
464
+ const i = n(e.key, r);
465
465
  return i === e.key ? null : i;
466
466
  }
467
- function me(e, t) {
467
+ function ye(e, t) {
468
468
  if (!e || typeof e == "string" || "value" in e) return null;
469
469
  const n = {};
470
- for (const [a, i] of Object.entries(e.params ?? {}))
471
- n[a] = C(t, i);
470
+ for (const [r, i] of Object.entries(e.params ?? {}))
471
+ n[r] = N(t, i);
472
472
  return { key: e.key, params: n };
473
473
  }
474
- const ge = (e) => e;
475
- function $(e) {
474
+ const be = (e) => e;
475
+ function R(e) {
476
476
  const t = m[e];
477
477
  return {
478
478
  type: e,
@@ -488,7 +488,7 @@ function $(e) {
488
488
  displayNameKey: t.displayNameKey
489
489
  };
490
490
  }
491
- function O(e) {
491
+ function w(e) {
492
492
  return {
493
493
  type: e.type,
494
494
  shape: e.shape,
@@ -503,21 +503,21 @@ function O(e) {
503
503
  displayNameKey: e.displayNameKey
504
504
  };
505
505
  }
506
- class he {
507
- constructor(t = [], n = ge) {
506
+ class Ae {
507
+ constructor(t = [], n = be) {
508
508
  this.translate = n;
509
- for (const a of t)
510
- a?.type && (a.type in m || this.declared.has(a.type) || this.declared.set(a.type, a));
509
+ for (const r of t)
510
+ r?.type && (r.type in m || this.declared.has(r.type) || this.declared.set(r.type, r));
511
511
  }
512
512
  declared = /* @__PURE__ */ new Map();
513
513
  get(t) {
514
- if (t in m) return $(t);
514
+ if (t in m) return R(t);
515
515
  const n = this.declared.get(t);
516
- return n ? O(n) : void 0;
516
+ return n ? w(n) : void 0;
517
517
  }
518
518
  /** Alles wat als trigger aangeboden mag worden, ingebouwd en gedeclareerd. */
519
519
  triggerable() {
520
- const t = Object.keys(m).filter((a) => m[a].triggerable).map($), n = [...this.declared.values()].map(O).filter((a) => a.triggerable);
520
+ const t = Object.keys(m).filter((r) => m[r].triggerable).map(R), n = [...this.declared.values()].map(w).filter((r) => r.triggerable);
521
521
  return [...t, ...n];
522
522
  }
523
523
  /**
@@ -526,17 +526,17 @@ class he {
526
526
  * typenaam — dezelfde regel die de feed altijd al toonde voor onbekende types.
527
527
  */
528
528
  timelineText(t, n) {
529
- const a = m[t.type];
530
- if (a?.timeline) return a.timeline(t, n);
529
+ const r = m[t.type];
530
+ if (r?.timeline) return r.timeline(t, n);
531
531
  const i = this.declared.get(t.type);
532
- return N(i?.text, t, this.translate) ?? t.type.replace(/_/g, " ").toLowerCase();
532
+ return k(i?.text, t, this.translate) ?? t.type.replace(/_/g, " ").toLowerCase();
533
533
  }
534
534
  /** De regel voor de inboxlijst. Leeg wanneer het type niets te tonen heeft. */
535
535
  snippet(t) {
536
536
  const n = m[t.type];
537
537
  if (n?.snippet) return n.snippet(t);
538
- const a = this.declared.get(t.type);
539
- return N(a?.text, t, this.translate) ?? "";
538
+ const r = this.declared.get(t.type);
539
+ return k(r?.text, t, this.translate) ?? "";
540
540
  }
541
541
  /** De descriptor zoals hij binnenkwam; nodig om `text` als sleutel op te slaan. */
542
542
  descriptor(t) {
@@ -552,33 +552,33 @@ class he {
552
552
  return this.translate;
553
553
  }
554
554
  }
555
- const Ut = new he(), R = 140;
556
- function ye(e) {
555
+ const Xt = new Ae(), D = 140;
556
+ function Ee(e) {
557
557
  const t = e.trim();
558
- return t.length <= R ? t : t.slice(0, R - 1).trimEnd() + "…";
558
+ return t.length <= D ? t : t.slice(0, D - 1).trimEnd() + "…";
559
559
  }
560
- function Kt(e, t) {
561
- const n = me(t?.text, e), a = t ? N(t.text, e, (i) => i) : null;
560
+ function Wt(e, t) {
561
+ const n = ye(t?.text, e), r = t ? k(t.text, e, (i) => i) : null;
562
562
  return {
563
563
  activityId: e.id,
564
564
  type: e.type,
565
- snippet: ye(a ?? fe(e)),
565
+ snippet: Ee(r ?? he(e)),
566
566
  authorName: e.author?.name ?? "",
567
567
  direction: e.direction,
568
568
  createdAt: e.createdAt ?? Date.now(),
569
569
  ...n ? { snippetKey: n.key, snippetParams: n.params } : {}
570
570
  };
571
571
  }
572
- function Bt(e, t, n = []) {
573
- const a = e.createdAt;
574
- if (!a) return [];
572
+ function zt(e, t, n = []) {
573
+ const r = e.createdAt;
574
+ if (!r) return [];
575
575
  const i = new Set(n);
576
- return e.author.type === "user" && e.author.id && i.add(e.author.id), Object.entries(t).filter(([r, o]) => o >= a && !i.has(r)).map(([r]) => r);
576
+ return e.author.type === "user" && e.author.id && i.add(e.author.id), Object.entries(t).filter(([a, o]) => o >= r && !i.has(a)).map(([a]) => a);
577
577
  }
578
- function Gt(e) {
578
+ function Yt(e) {
579
579
  return e.createdAt ?? 0;
580
580
  }
581
- const Ft = [
581
+ const qt = [
582
582
  { id: "agent", label: "Agent", labelSource: "user" },
583
583
  { id: "team", label: "Team", labelSource: "team" },
584
584
  { id: "inbox", label: "Inbox", labelSource: "inbox" },
@@ -588,54 +588,54 @@ const Ft = [
588
588
  { id: "handledBy", label: "Afhandelaar", labelSource: "raw" },
589
589
  { id: "time", label: "Tijd", labelSource: "raw" }
590
590
  ];
591
- function Ht(e) {
591
+ function Jt(e) {
592
592
  const t = [];
593
593
  for (const n of Object.keys(e))
594
- for (const a of Object.keys(e[n]))
595
- t.push({ lang: n, key: a, value: e[n][a] });
594
+ for (const r of Object.keys(e[n]))
595
+ t.push({ lang: n, key: r, value: e[n][r] });
596
596
  return t;
597
597
  }
598
- function S(e) {
598
+ function M(e) {
599
599
  return e < 10 ? `0${e}` : `${e}`;
600
600
  }
601
- function be(e, t) {
602
- const n = new Date(e), a = `${n.getUTCFullYear()}-${S(n.getUTCMonth() + 1)}-${S(n.getUTCDate())}`;
603
- return t === "day" ? a : `${a}T${S(n.getUTCHours())}`;
601
+ function _e(e, t) {
602
+ const n = new Date(e), r = `${n.getUTCFullYear()}-${M(n.getUTCMonth() + 1)}-${M(n.getUTCDate())}`;
603
+ return t === "day" ? r : `${r}T${M(n.getUTCHours())}`;
604
604
  }
605
- function Ae(e, t) {
605
+ function Te(e, t) {
606
606
  const n = new Date(e);
607
607
  return n.setUTCMinutes(0, 0, 0), t === "day" && n.setUTCHours(0), n.getTime();
608
608
  }
609
- const Ee = 36e5, _e = 864e5;
610
- function jt(e, t, n) {
611
- const a = n === "hour" ? Ee : _e, i = [];
612
- for (let r = Ae(e, n); r <= t; r += a)
613
- i.push(be(r, n));
609
+ const Ie = 36e5, Se = 864e5;
610
+ function Qt(e, t, n) {
611
+ const r = n === "hour" ? Ie : Se, i = [];
612
+ for (let a = Te(e, n); a <= t; a += r)
613
+ i.push(_e(a, n));
614
614
  return i;
615
615
  }
616
- const Te = [
616
+ const Me = [
617
617
  { id: "resource", label: "Resource", labelSource: "raw" },
618
618
  { id: "origin", label: "Herkomst", labelSource: "raw" }
619
- ], Ie = Te.map((e) => e.id);
620
- function Se(e, t) {
619
+ ], Ce = Me.map((e) => e.id);
620
+ function xe(e, t) {
621
621
  return `${e}.usage.${t}`;
622
622
  }
623
- function Vt(e, t) {
623
+ function Zt(e, t) {
624
624
  return t.map((n) => ({
625
- id: Se(e, n.unit),
625
+ id: xe(e, n.unit),
626
626
  label: n.label,
627
627
  category: "Verbruik",
628
628
  valueType: n.valueType ?? "count",
629
629
  aggregation: "sum",
630
630
  supportedDimensions: [
631
631
  "provider",
632
- ...Ie,
632
+ ...Ce,
633
633
  ...n.extraDimensions ?? [],
634
634
  "time"
635
635
  ]
636
636
  }));
637
637
  }
638
- const Q = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), w = 200, D = 100, P = 200, U = 12, K = 4, Z = 4e3, M = 500, Xt = 256 * 1024, Me = /* @__PURE__ */ new Set([
638
+ const te = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), P = 200, U = 100, K = 200, B = 12, G = 4, ne = 4e3, C = 500, en = 256 * 1024, Ne = /* @__PURE__ */ new Set([
639
639
  "heading",
640
640
  "paragraph",
641
641
  "list",
@@ -645,81 +645,81 @@ const Q = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"])
645
645
  "table",
646
646
  "kpi",
647
647
  "callout"
648
- ]), Ce = ["http:", "https:", "mailto:", "tel:"], Ne = /^[a-z][a-z0-9+.-]*:/i;
649
- function ee(e) {
648
+ ]), ke = ["http:", "https:", "mailto:", "tel:"], ve = /^[a-z][a-z0-9+.-]*:/i;
649
+ function ie(e) {
650
650
  const t = e.trim().replace(/^<|>$/g, "");
651
651
  if (!t) return !1;
652
- const n = Ne.exec(t)?.[0];
653
- return n ? Ce.includes(n.toLowerCase()) : !t.startsWith("//");
652
+ const n = ve.exec(t)?.[0];
653
+ return n ? ke.includes(n.toLowerCase()) : !t.startsWith("//");
654
654
  }
655
- const ve = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
656
- function ke(e) {
655
+ const Oe = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
656
+ function Le(e) {
657
657
  let t = "", n = 0;
658
658
  for (; n < e.length; ) {
659
- const a = e[n] === "!" && e[n + 1] === "[";
660
- if (e[n] !== "[" && !a) {
659
+ const r = e[n] === "!" && e[n + 1] === "[";
660
+ if (e[n] !== "[" && !r) {
661
661
  t += e[n], n += 1;
662
662
  continue;
663
663
  }
664
- const i = n + (a ? 2 : 1), r = B(e, i, "[", "]");
665
- if (r < 0 || e[r + 1] !== "(") {
664
+ const i = n + (r ? 2 : 1), a = F(e, i, "[", "]");
665
+ if (a < 0 || e[a + 1] !== "(") {
666
666
  t += e[n], n += 1;
667
667
  continue;
668
668
  }
669
- const o = B(e, r + 2, "(", ")");
669
+ const o = F(e, a + 2, "(", ")");
670
670
  if (o < 0) {
671
671
  t += e[n], n += 1;
672
672
  continue;
673
673
  }
674
- const s = e.slice(i, r), l = e.slice(r + 2, o).trim().split(/\s+/)[0] ?? "";
675
- t += a || !ee(l) ? s : e.slice(n, o + 1), n = o + 1;
674
+ const s = e.slice(i, a), l = e.slice(a + 2, o).trim().split(/\s+/)[0] ?? "";
675
+ t += r || !ie(l) ? s : e.slice(n, o + 1), n = o + 1;
676
676
  }
677
677
  return t;
678
678
  }
679
- function B(e, t, n, a) {
679
+ function F(e, t, n, r) {
680
680
  let i = 1;
681
- for (let r = t; r < e.length; r += 1) {
682
- if (e[r] === "\\") {
683
- r += 1;
681
+ for (let a = t; a < e.length; a += 1) {
682
+ if (e[a] === "\\") {
683
+ a += 1;
684
684
  continue;
685
685
  }
686
- if (e[r] === n) i += 1;
687
- else if (e[r] === a && (i -= 1, i === 0))
688
- return r;
686
+ if (e[a] === n) i += 1;
687
+ else if (e[a] === r && (i -= 1, i === 0))
688
+ return a;
689
689
  }
690
690
  return -1;
691
691
  }
692
- function xe(e) {
693
- return ke(e).replace(
694
- ve,
695
- (t, n, a) => ee(a) ? t : ""
692
+ function $e(e) {
693
+ return Le(e).replace(
694
+ Oe,
695
+ (t, n, r) => ie(r) ? t : ""
696
696
  );
697
697
  }
698
- function u(e, t = Z) {
699
- return typeof e == "string" ? xe(e).slice(0, t) : "";
698
+ function u(e, t = ne) {
699
+ return typeof e == "string" ? $e(e).slice(0, t) : "";
700
700
  }
701
- function Le(e, t = Z) {
701
+ function Re(e, t = ne) {
702
702
  return typeof e == "string" ? e.slice(0, t) : "";
703
703
  }
704
- function $e(e, t = "info") {
705
- return typeof e == "string" && Q.has(e) ? e : t;
704
+ function we(e, t = "info") {
705
+ return typeof e == "string" && te.has(e) ? e : t;
706
706
  }
707
- function Wt(e, t = () => {
707
+ function tn(e, t = () => {
708
708
  }) {
709
709
  if (!Array.isArray(e)) return [];
710
710
  const n = [];
711
- for (const a of e) {
712
- if (n.length >= w) {
713
- t("more than " + w + " blocks; the rest was dropped");
711
+ for (const r of e) {
712
+ if (n.length >= P) {
713
+ t("more than " + P + " blocks; the rest was dropped");
714
714
  break;
715
715
  }
716
- if (!a || typeof a != "object") continue;
717
- const i = a;
718
- if (!Me.has(i.type)) {
716
+ if (!r || typeof r != "object") continue;
717
+ const i = r;
718
+ if (!Ne.has(i.type)) {
719
719
  t("unknown block type " + String(i.type));
720
720
  continue;
721
721
  }
722
- const r = typeof i.block_id == "string" ? { block_id: i.block_id } : {};
722
+ const a = typeof i.block_id == "string" ? { block_id: i.block_id } : {};
723
723
  switch (i.type) {
724
724
  case "heading": {
725
725
  const o = u(i.text);
@@ -728,7 +728,7 @@ function Wt(e, t = () => {
728
728
  continue;
729
729
  }
730
730
  const s = i.level === 2 || i.level === 3 ? i.level : 1;
731
- n.push({ ...r, type: "heading", level: s, text: o });
731
+ n.push({ ...a, type: "heading", level: s, text: o });
732
732
  break;
733
733
  }
734
734
  case "paragraph": {
@@ -737,7 +737,7 @@ function Wt(e, t = () => {
737
737
  t("a paragraph without text");
738
738
  continue;
739
739
  }
740
- n.push({ ...r, type: "paragraph", text: o });
740
+ n.push({ ...a, type: "paragraph", text: o });
741
741
  break;
742
742
  }
743
743
  case "quote": {
@@ -746,27 +746,27 @@ function Wt(e, t = () => {
746
746
  t("a quote without text");
747
747
  continue;
748
748
  }
749
- n.push({ ...r, type: "quote", text: o });
749
+ n.push({ ...a, type: "quote", text: o });
750
750
  break;
751
751
  }
752
752
  case "code": {
753
- const o = Le(i.text);
753
+ const o = Re(i.text);
754
754
  if (!o) {
755
755
  t("a code block without text");
756
756
  continue;
757
757
  }
758
758
  const s = typeof i.lang == "string" ? { lang: i.lang.slice(0, 32) } : {};
759
- n.push({ ...r, type: "code", ...s, text: o });
759
+ n.push({ ...a, type: "code", ...s, text: o });
760
760
  break;
761
761
  }
762
762
  case "divider":
763
- n.push({ ...r, type: "divider" });
763
+ n.push({ ...a, type: "divider" });
764
764
  break;
765
765
  case "list": {
766
766
  const o = Array.isArray(i.items) ? i.items : [], s = [];
767
767
  for (const p of o) {
768
- if (s.length >= D) {
769
- t("more than " + D + " list items");
768
+ if (s.length >= U) {
769
+ t("more than " + U + " list items");
770
770
  break;
771
771
  }
772
772
  const d = u(p?.text);
@@ -779,18 +779,18 @@ function Wt(e, t = () => {
779
779
  continue;
780
780
  }
781
781
  const l = i.style === "numbered" ? "numbered" : "bulleted";
782
- n.push({ ...r, type: "list", style: l, items: s });
782
+ n.push({ ...a, type: "list", style: l, items: s });
783
783
  break;
784
784
  }
785
785
  case "table": {
786
786
  const o = Array.isArray(i.columns) ? i.columns : [], s = [];
787
787
  for (const c of o) {
788
- if (s.length >= U) {
789
- t("more than " + U + " table columns");
788
+ if (s.length >= B) {
789
+ t("more than " + B + " table columns");
790
790
  break;
791
791
  }
792
- const h = u(c?.label, M), _ = c?.align === "right" ? "right" : void 0;
793
- s.push(_ ? { label: h, align: _ } : { label: h });
792
+ const y = u(c?.label, C), T = c?.align === "right" ? "right" : void 0;
793
+ s.push(T ? { label: y, align: T } : { label: y });
794
794
  }
795
795
  if (s.length === 0) {
796
796
  t("a table without columns");
@@ -798,18 +798,18 @@ function Wt(e, t = () => {
798
798
  }
799
799
  const l = Array.isArray(i.rows) ? i.rows : [], p = [];
800
800
  for (const c of l) {
801
- if (p.length >= P) {
802
- t("more than " + P + " table rows");
801
+ if (p.length >= K) {
802
+ t("more than " + K + " table rows");
803
803
  break;
804
804
  }
805
- const h = Array.isArray(c) ? c : [];
805
+ const y = Array.isArray(c) ? c : [];
806
806
  p.push(
807
- s.map((_, ue) => u(h[ue], M))
807
+ s.map((T, fe) => u(y[fe], C))
808
808
  );
809
809
  }
810
- const d = u(i.caption, M);
810
+ const d = u(i.caption, C);
811
811
  n.push({
812
- ...r,
812
+ ...a,
813
813
  type: "table",
814
814
  columns: s,
815
815
  rows: p,
@@ -820,22 +820,22 @@ function Wt(e, t = () => {
820
820
  case "kpi": {
821
821
  const o = Array.isArray(i.items) ? i.items : [], s = [];
822
822
  for (const l of o) {
823
- if (s.length >= K) {
824
- t("more than " + K + " kpi items");
823
+ if (s.length >= G) {
824
+ t("more than " + G + " kpi items");
825
825
  break;
826
826
  }
827
827
  const p = u(l?.value, 40), d = u(l?.label, 80);
828
828
  if (!p || !d) continue;
829
829
  const c = l?.tone;
830
830
  s.push(
831
- typeof c == "string" && Q.has(c) ? { value: p, label: d, tone: c } : { value: p, label: d }
831
+ typeof c == "string" && te.has(c) ? { value: p, label: d, tone: c } : { value: p, label: d }
832
832
  );
833
833
  }
834
834
  if (s.length === 0) {
835
835
  t("a kpi block without usable items");
836
836
  continue;
837
837
  }
838
- n.push({ ...r, type: "kpi", items: s });
838
+ n.push({ ...a, type: "kpi", items: s });
839
839
  break;
840
840
  }
841
841
  case "callout": {
@@ -846,9 +846,9 @@ function Wt(e, t = () => {
846
846
  }
847
847
  const s = u(i.title, 200);
848
848
  n.push({
849
- ...r,
849
+ ...a,
850
850
  type: "callout",
851
- tone: $e(i.tone),
851
+ tone: we(i.tone),
852
852
  ...s ? { title: s } : {},
853
853
  text: o
854
854
  });
@@ -858,28 +858,28 @@ function Wt(e, t = () => {
858
858
  }
859
859
  return n;
860
860
  }
861
- function zt(e) {
861
+ function nn(e) {
862
862
  return JSON.stringify(e).length;
863
863
  }
864
- function Yt(e) {
864
+ function rn(e) {
865
865
  return {
866
866
  blocks: e.length,
867
867
  types: e.map((t) => t.type),
868
868
  headings: e.flatMap((t) => t.type === "heading" ? [t.text] : [])
869
869
  };
870
870
  }
871
- function G(e) {
871
+ function H(e) {
872
872
  return e.replace(/\|/g, "\\|").replace(/\r?\n/g, " ").trim();
873
873
  }
874
- function F(e, t, n) {
875
- const a = e.map((i, r) => n?.[r] === "right" ? "---:" : "---");
874
+ function j(e, t, n) {
875
+ const r = e.map((i, a) => n?.[a] === "right" ? "---:" : "---");
876
876
  return [
877
- `| ${e.map(G).join(" | ")} |`,
878
- `| ${a.join(" | ")} |`,
879
- ...t.map((i) => `| ${i.map(G).join(" | ")} |`)
877
+ `| ${e.map(H).join(" | ")} |`,
878
+ `| ${r.join(" | ")} |`,
879
+ ...t.map((i) => `| ${i.map(H).join(" | ")} |`)
880
880
  ];
881
881
  }
882
- function Oe(e) {
882
+ function De(e) {
883
883
  switch (e.type) {
884
884
  case "heading":
885
885
  return [`${"#".repeat(e.level)} ${e.text}`];
@@ -893,11 +893,11 @@ function Oe(e) {
893
893
  return ["---"];
894
894
  case "list":
895
895
  return e.items.map((t, n) => {
896
- const a = e.style === "numbered" ? `${n + 1}.` : "-";
897
- return t.lead ? `${a} **${t.lead}** ${t.text}` : `${a} ${t.text}`;
896
+ const r = e.style === "numbered" ? `${n + 1}.` : "-";
897
+ return t.lead ? `${r} **${t.lead}** ${t.text}` : `${r} ${t.text}`;
898
898
  });
899
899
  case "table": {
900
- const t = F(
900
+ const t = j(
901
901
  e.columns.map((n) => n.label),
902
902
  e.rows,
903
903
  e.columns.map((n) => n.align ?? "left")
@@ -905,7 +905,7 @@ function Oe(e) {
905
905
  return e.caption ? [...t, "", `*${e.caption}*`] : t;
906
906
  }
907
907
  case "kpi":
908
- return F(
908
+ return j(
909
909
  e.items.map((t) => t.value),
910
910
  [e.items.map((t) => t.label)]
911
911
  );
@@ -913,12 +913,12 @@ function Oe(e) {
913
913
  return (e.title ? `**${e.title}** ${e.text}` : e.text).split(/\r?\n/).map((n) => `> ${n}`);
914
914
  }
915
915
  }
916
- function qt(e, t) {
917
- const n = [], a = e.some((i) => i.type === "heading" && i.level === 1);
918
- t && !a && n.push(`# ${t}`);
916
+ function an(e, t) {
917
+ const n = [], r = e.some((i) => i.type === "heading" && i.level === 1);
918
+ t && !r && n.push(`# ${t}`);
919
919
  for (const i of e) {
920
- const r = Oe(i);
921
- r.length > 0 && n.push(r.join(`
920
+ const a = De(i);
921
+ a.length > 0 && n.push(a.join(`
922
922
  `));
923
923
  }
924
924
  return `${n.join(`
@@ -926,26 +926,26 @@ function qt(e, t) {
926
926
  `)}
927
927
  `;
928
928
  }
929
- const te = (e) => `user:${e}`, ne = (e) => `team:${e}`;
930
- function Jt(e) {
929
+ const re = (e) => `user:${e}`, ae = (e) => `team:${e}`;
930
+ function on(e) {
931
931
  const t = /* @__PURE__ */ new Set();
932
932
  for (const n of e ?? [])
933
- n?.id && (n.kind === "user" && t.add(te(n.id)), n.kind === "team" && t.add(ne(n.id)));
933
+ n?.id && (n.kind === "user" && t.add(re(n.id)), n.kind === "team" && t.add(ae(n.id)));
934
934
  return [...t].sort();
935
935
  }
936
- function Qt(e, t) {
937
- return [te(e), ...t.map(ne)];
936
+ function sn(e, t) {
937
+ return [re(e), ...t.map(ae)];
938
938
  }
939
- function Zt(e) {
939
+ function ln(e) {
940
940
  const t = /* @__PURE__ */ new Set();
941
941
  for (const n of e ?? [])
942
942
  n?.kind && t.add(n.kind);
943
943
  return [...t];
944
944
  }
945
- function en(e) {
945
+ function cn(e) {
946
946
  return (e.startsWith("tool:") ? e.slice(5) : e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
947
947
  }
948
- const tn = [
948
+ const un = [
949
949
  { name: "text", type: "string" },
950
950
  { name: "subject", type: "string" },
951
951
  { name: "from", type: "string" },
@@ -968,7 +968,7 @@ const tn = [
968
968
  // een nieuw adres) — een stap die hierop leunt hoort dus een `condition` te hebben.
969
969
  { name: "contactId", type: "string" },
970
970
  { name: "companyId", type: "string" }
971
- ], nn = {
971
+ ], pn = {
972
972
  topics: [
973
973
  { name: "topic", type: "string" },
974
974
  { name: "confidence", type: "number" }
@@ -979,7 +979,7 @@ const tn = [
979
979
  ],
980
980
  extract: []
981
981
  };
982
- function Re(e) {
982
+ function Pe(e) {
983
983
  switch (e.kind) {
984
984
  case "user":
985
985
  return `user:${e.userId}`;
@@ -989,22 +989,22 @@ function Re(e) {
989
989
  return "org";
990
990
  }
991
991
  }
992
- function an(e) {
992
+ function dn(e) {
993
993
  if (typeof e != "string") return;
994
994
  const t = e.trim();
995
995
  if (t === "org") return { kind: "org" };
996
996
  const n = t.indexOf(":");
997
997
  if (n <= 0) return;
998
- const a = t.slice(0, n), i = t.slice(n + 1).trim();
998
+ const r = t.slice(0, n), i = t.slice(n + 1).trim();
999
999
  if (i) {
1000
- if (a === "user") return { kind: "user", userId: i };
1001
- if (a === "team") return { kind: "team", teamId: i };
1000
+ if (r === "user") return { kind: "user", userId: i };
1001
+ if (r === "team") return { kind: "team", teamId: i };
1002
1002
  }
1003
1003
  }
1004
- function we(e) {
1005
- return Re(e);
1004
+ function Ue(e) {
1005
+ return Pe(e);
1006
1006
  }
1007
- function rn(e) {
1007
+ function fn(e) {
1008
1008
  switch (e.kind) {
1009
1009
  case "personal":
1010
1010
  return { kind: "user", userId: e.userId };
@@ -1014,28 +1014,28 @@ function rn(e) {
1014
1014
  return { kind: "org" };
1015
1015
  }
1016
1016
  }
1017
- function on(e) {
1018
- return we(e);
1017
+ function mn(e) {
1018
+ return Ue(e);
1019
1019
  }
1020
- const De = ["done", "escalated", "failed", "timed_out", "stopped"], Pe = ["awaiting_approval", "awaiting_reply"];
1021
- function Ue(e) {
1022
- return De.includes(e);
1020
+ const Ke = ["done", "escalated", "failed", "timed_out", "stopped"], Be = ["awaiting_approval", "awaiting_reply"];
1021
+ function Ge(e) {
1022
+ return Ke.includes(e);
1023
1023
  }
1024
- function sn(e) {
1025
- return Ue(e);
1024
+ function gn(e) {
1025
+ return Ge(e);
1026
1026
  }
1027
- function ln(e) {
1028
- return Pe.includes(e);
1027
+ function hn(e) {
1028
+ return Be.includes(e);
1029
1029
  }
1030
- function cn(e, t) {
1030
+ function yn(e, t) {
1031
1031
  const n = e.labels ?? [];
1032
- return n.find((a) => a.locale === t)?.label ?? n[0]?.label ?? e.url;
1032
+ return n.find((r) => r.locale === t)?.label ?? n[0]?.label ?? e.url;
1033
1033
  }
1034
- function un(e, t, n) {
1035
- const a = e.translations ?? [];
1036
- return a.find((i) => i.locale === t) ?? (n ? a.find((i) => i.locale === n) : void 0) ?? { locale: t };
1034
+ function bn(e, t, n) {
1035
+ const r = e.translations ?? [];
1036
+ return r.find((i) => i.locale === t) ?? (n ? r.find((i) => i.locale === n) : void 0) ?? { locale: t };
1037
1037
  }
1038
- const H = [
1038
+ const V = [
1039
1039
  { code: "nl", label: "Nederlands", english: "Dutch" },
1040
1040
  { code: "en", label: "English", english: "English" },
1041
1041
  { code: "de", label: "Deutsch", english: "German" },
@@ -1050,66 +1050,105 @@ const H = [
1050
1050
  { code: "fi", label: "Suomi", english: "Finnish" },
1051
1051
  { code: "tr", label: "Türkçe", english: "Turkish" }
1052
1052
  ];
1053
- function ie(e) {
1053
+ function oe(e) {
1054
1054
  const t = (e ?? "").toLowerCase();
1055
- return H.find((n) => n.code === t) ?? H.find((n) => n.code === t.split("-")[0]);
1055
+ return V.find((n) => n.code === t) ?? V.find((n) => n.code === t.split("-")[0]);
1056
1056
  }
1057
- function pn(e) {
1058
- return ie(e)?.label ?? e;
1057
+ function An(e) {
1058
+ return oe(e)?.label ?? e;
1059
1059
  }
1060
- function dn(e) {
1061
- const t = ie(e);
1060
+ function En(e) {
1061
+ const t = oe(e);
1062
1062
  return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
1063
1063
  }
1064
- const ae = 3;
1065
- function Ke(e, t) {
1064
+ const se = 3;
1065
+ function Fe(e, t) {
1066
1066
  const n = /* @__PURE__ */ new Set();
1067
- let a = 1, i = t.get(e)?.parentId;
1067
+ let r = 1, i = t.get(e)?.parentId;
1068
1068
  for (; i; ) {
1069
- if (n.has(i) || (n.add(i), a++, a > ae + 1)) return 1 / 0;
1069
+ if (n.has(i) || (n.add(i), r++, r > se + 1)) return 1 / 0;
1070
1070
  i = t.get(i)?.parentId;
1071
1071
  }
1072
- return a;
1072
+ return r;
1073
1073
  }
1074
- function fn(e, t, n) {
1074
+ function _n(e, t, n) {
1075
1075
  if (!e) return !0;
1076
1076
  if (e === t) return !1;
1077
- const a = new Map(n.map((o) => [o.id, o]));
1078
- if (!a.has(e) || t && Be(e, t, a)) return !1;
1079
- const i = Ke(e, a), r = t ? re(t, n) : 1;
1080
- return i + r <= ae;
1077
+ const r = new Map(n.map((o) => [o.id, o]));
1078
+ if (!r.has(e) || t && He(e, t, r)) return !1;
1079
+ const i = Fe(e, r), a = t ? le(t, n) : 1;
1080
+ return i + a <= se;
1081
1081
  }
1082
- function Be(e, t, n) {
1083
- const a = /* @__PURE__ */ new Set();
1082
+ function He(e, t, n) {
1083
+ const r = /* @__PURE__ */ new Set();
1084
1084
  let i = n.get(e)?.parentId;
1085
1085
  for (; i; ) {
1086
1086
  if (i === t) return !0;
1087
- if (a.has(i)) return !1;
1088
- a.add(i), i = n.get(i)?.parentId;
1087
+ if (r.has(i)) return !1;
1088
+ r.add(i), i = n.get(i)?.parentId;
1089
1089
  }
1090
1090
  return !1;
1091
1091
  }
1092
- function re(e, t, n = /* @__PURE__ */ new Set()) {
1092
+ function le(e, t, n = /* @__PURE__ */ new Set()) {
1093
1093
  if (n.has(e)) return 1;
1094
1094
  n.add(e);
1095
- const a = t.filter((i) => i.parentId === e);
1096
- return a.length ? 1 + Math.max(...a.map((i) => re(i.id, t, n))) : 1;
1095
+ const r = t.filter((i) => i.parentId === e);
1096
+ return r.length ? 1 + Math.max(...r.map((i) => le(i.id, t, n))) : 1;
1097
1097
  }
1098
- const Ge = "en";
1099
- function Fe(e) {
1100
- return e.defaultLocale || e.locale || Ge;
1098
+ const je = "en";
1099
+ function Ve(e) {
1100
+ return e.defaultLocale || e.locale || je;
1101
1101
  }
1102
- function mn(e) {
1102
+ function Tn(e) {
1103
1103
  const t = /* @__PURE__ */ new Set(), n = [];
1104
- for (const a of [Fe(e), ...e.locales ?? []])
1105
- !a || t.has(a) || (t.add(a), n.push(a));
1104
+ for (const r of [Ve(e), ...e.locales ?? []])
1105
+ !r || t.has(r) || (t.add(r), n.push(r));
1106
1106
  return n;
1107
1107
  }
1108
- function gn(e, t, n) {
1109
- const a = e.translations ?? [];
1110
- return a.find((i) => i.locale === t)?.name ?? (n ? a.find((i) => i.locale === n)?.name : void 0) ?? e.name;
1108
+ function In(e, t, n) {
1109
+ const r = e.translations ?? [];
1110
+ return r.find((i) => i.locale === t)?.name ?? (n ? r.find((i) => i.locale === n)?.name : void 0) ?? e.name;
1111
+ }
1112
+ const Xe = 20, We = 20, x = 300;
1113
+ function g(e) {
1114
+ return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
1115
+ }
1116
+ function ze(e) {
1117
+ const t = e.replace(/\s+/g, " ").trim();
1118
+ if (t.length <= x) return t;
1119
+ const n = t.slice(0, x), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
1120
+ return r > x * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
1121
+ }
1122
+ function Sn(e, t) {
1123
+ const n = ze(t.text), r = g(n);
1124
+ if (!r || (e.examples ?? []).some((o) => g(o) === r)) return null;
1125
+ const i = e.exampleCandidates ?? [], a = i.findIndex((o) => g(o.text) === r);
1126
+ if (a >= 0) {
1127
+ if (i[a].corrected || !t.corrected) return null;
1128
+ const o = [...i];
1129
+ return o[a] = { ...o[a], corrected: !0, addedAt: t.addedAt }, X(o);
1130
+ }
1131
+ return X([{ ...t, text: n }, ...i]).slice(0, We);
1132
+ }
1133
+ function X(e) {
1134
+ return [...e].sort((t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt);
1135
+ }
1136
+ function Mn(e, t) {
1137
+ const n = g(t), r = (e.examples ?? []).filter((a) => a.trim());
1138
+ return { examples: r.some((a) => g(a) === n) ? r : [...r, t].slice(-Xe), exampleCandidates: Ye(e, t) };
1139
+ }
1140
+ function Ye(e, t) {
1141
+ const n = g(t);
1142
+ return (e.exampleCandidates ?? []).filter((r) => g(r.text) !== n);
1111
1143
  }
1112
- const oe = [
1144
+ function qe(e, t) {
1145
+ const n = e.ownerScope;
1146
+ return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
1147
+ }
1148
+ function Cn(e, t) {
1149
+ return e.filter((n) => qe(n, t));
1150
+ }
1151
+ const ce = [
1113
1152
  {
1114
1153
  id: "openai",
1115
1154
  attachmentKinds: ["image", "pdf"],
@@ -1200,54 +1239,54 @@ const oe = [
1200
1239
  defaultModel: "default"
1201
1240
  }
1202
1241
  ];
1203
- function E(e) {
1204
- return oe.find((t) => t.id === e);
1242
+ function _(e) {
1243
+ return ce.find((t) => t.id === e);
1205
1244
  }
1206
- function hn(e) {
1207
- return E(e)?.label ?? e;
1245
+ function xn(e) {
1246
+ return _(e)?.label ?? e;
1208
1247
  }
1209
- function yn(e, t = "gpt-5-mini") {
1210
- return E(e)?.defaultModel ?? t;
1248
+ function Nn(e, t = "gpt-5-mini") {
1249
+ return _(e)?.defaultModel ?? t;
1211
1250
  }
1212
- function bn(e) {
1213
- return oe.filter((t) => t.capabilities.includes(e));
1251
+ function kn(e) {
1252
+ return ce.filter((t) => t.capabilities.includes(e));
1214
1253
  }
1215
- function An(e) {
1216
- const t = E(e);
1254
+ function vn(e) {
1255
+ const t = _(e);
1217
1256
  return !!t && !t.baseUrl;
1218
1257
  }
1219
- function En(e, t) {
1220
- return t === "text" ? !0 : E(e)?.attachmentKinds?.includes(t) === !0;
1258
+ function On(e, t) {
1259
+ return t === "text" ? !0 : _(e)?.attachmentKinds?.includes(t) === !0;
1221
1260
  }
1222
- const _n = /* @__PURE__ */ new Set(["mail", "message"]);
1223
- function He(e, t) {
1261
+ const Ln = /* @__PURE__ */ new Set(["mail", "message"]);
1262
+ function Je(e, t) {
1224
1263
  const n = e.settings?.signatures?.[t];
1225
1264
  return !n || !n.enabled || !n.body || n.body.trim() === "" ? null : n;
1226
1265
  }
1227
- function Tn(e, t, n, a = "html") {
1266
+ function $n(e, t, n, r = "html") {
1228
1267
  if (!e) return n;
1229
- const i = He(e, t);
1230
- return i ? `${n}${a === "text" ? `
1268
+ const i = Je(e, t);
1269
+ return i ? `${n}${r === "text" ? `
1231
1270
 
1232
1271
  ` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${i.body}` : n;
1233
1272
  }
1234
- function In(e) {
1273
+ function Rn(e) {
1235
1274
  return e.endpoints ?? [];
1236
1275
  }
1237
- const Sn = (e) => !!e.assignedUserId || !!e.assignedInboxId, Mn = (e) => e.status === "closed", Cn = (e) => ({
1276
+ const wn = (e) => !!e.assignedUserId || !!e.assignedInboxId, Dn = (e) => e.status === "closed", Pn = (e) => ({
1238
1277
  urgent: 10,
1239
1278
  high: 5,
1240
1279
  normal: 2,
1241
1280
  low: 1
1242
- })[e.priority] || 0, Nn = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1243
- function vn(e, t) {
1281
+ })[e.priority] || 0, Un = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1282
+ function Kn(e, t) {
1244
1283
  return e.lastActivityAt ? !(e.seenBy ?? []).includes(t) : !1;
1245
1284
  }
1246
- const kn = 2e3, xn = 500, Ln = 12e3, $n = 4e3, je = ["contact", "company"];
1247
- function On(e) {
1285
+ const Bn = 1e3, Gn = 2e3, Fn = 500, Hn = 12e3, jn = 4e3, Qe = ["contact", "company"];
1286
+ function Vn(e) {
1248
1287
  if (!e) return !1;
1249
1288
  const t = e.slice(0, e.indexOf(":"));
1250
- return je.includes(t);
1289
+ return Qe.includes(t);
1251
1290
  }
1252
1291
  const v = {
1253
1292
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
@@ -1272,81 +1311,81 @@ const v = {
1272
1311
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
1273
1312
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
1274
1313
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
1275
- }, Ve = "NL", Xe = 15, We = 8, ze = Array.from(
1314
+ }, Ze = "NL", et = 15, tt = 8, nt = Array.from(
1276
1315
  new Set(Object.values(v).map((e) => e.callingCode))
1277
1316
  ).sort((e, t) => t.length - e.length);
1278
- function j(e) {
1317
+ function W(e) {
1279
1318
  if (e)
1280
1319
  return v[e.trim().toUpperCase()];
1281
1320
  }
1282
- function A(e, t) {
1321
+ function E(e, t) {
1283
1322
  return e.length >= t.nsnMin && e.length <= t.nsnMax;
1284
1323
  }
1285
- function V(e) {
1286
- if (e.length > Xe) return null;
1287
- for (const t of ze) {
1324
+ function z(e) {
1325
+ if (e.length > et) return null;
1326
+ for (const t of nt) {
1288
1327
  if (!e.startsWith(t)) continue;
1289
1328
  const n = e.slice(t.length);
1290
- for (const a of Object.values(v)) {
1291
- if (a.callingCode !== t) continue;
1292
- const i = a.trunkPrefix, r = i && n.startsWith(i) ? n.slice(i.length) : n;
1293
- if (A(r, a)) return `+${t}${r}`;
1329
+ for (const r of Object.values(v)) {
1330
+ if (r.callingCode !== t) continue;
1331
+ const i = r.trunkPrefix, a = i && n.startsWith(i) ? n.slice(i.length) : n;
1332
+ if (E(a, r)) return `+${t}${a}`;
1294
1333
  }
1295
1334
  return null;
1296
1335
  }
1297
- return e.length < We ? null : `+${e}`;
1336
+ return e.length < tt ? null : `+${e}`;
1298
1337
  }
1299
- function Ye(e) {
1338
+ function it(e) {
1300
1339
  let t = e.trim();
1301
1340
  const n = t.match(/^(sips?|tel|whatsapp):/i);
1302
1341
  n && (t = t.slice(n[0].length));
1303
- const a = t.indexOf("@");
1304
- return a >= 0 && (t = t.slice(0, a)), t.trim();
1342
+ const r = t.indexOf("@");
1343
+ return r >= 0 && (t = t.slice(0, r)), t.trim();
1305
1344
  }
1306
- function Rn(e) {
1345
+ function Xn(e) {
1307
1346
  if (!e) return !1;
1308
1347
  const t = e.indexOf("@");
1309
1348
  if (t <= 0) return !1;
1310
1349
  const n = e.slice(0, t).trim();
1311
1350
  return !/^[+\d\s().-]+$/.test(n);
1312
1351
  }
1313
- function X(e, t) {
1352
+ function Y(e, t) {
1314
1353
  if (!e) return null;
1315
- const n = Ye(e);
1354
+ const n = it(e);
1316
1355
  if (!n) return null;
1317
- const a = n.startsWith("+"), i = n.replace(/\D/g, "");
1356
+ const r = n.startsWith("+"), i = n.replace(/\D/g, "");
1318
1357
  if (!i) return null;
1319
- if (a) return V(i);
1320
- if (i.startsWith("00")) return V(i.slice(2));
1321
- const r = j(t) ?? j(Ve);
1322
- if (!r) return null;
1323
- const o = r.trunkPrefix;
1358
+ if (r) return z(i);
1359
+ if (i.startsWith("00")) return z(i.slice(2));
1360
+ const a = W(t) ?? W(Ze);
1361
+ if (!a) return null;
1362
+ const o = a.trunkPrefix;
1324
1363
  if (o && i.startsWith(o)) {
1325
1364
  const s = i.slice(o.length);
1326
- return A(s, r) ? `+${r.callingCode}${s}` : null;
1365
+ return E(s, a) ? `+${a.callingCode}${s}` : null;
1327
1366
  }
1328
- if (i.startsWith(r.callingCode)) {
1329
- const s = i.slice(r.callingCode.length);
1330
- if (A(s, r)) return `+${r.callingCode}${s}`;
1367
+ if (i.startsWith(a.callingCode)) {
1368
+ const s = i.slice(a.callingCode.length);
1369
+ if (E(s, a)) return `+${a.callingCode}${s}`;
1331
1370
  }
1332
- return !o && A(i, r) ? `+${r.callingCode}${i}` : null;
1371
+ return !o && E(i, a) ? `+${a.callingCode}${i}` : null;
1333
1372
  }
1334
- function wn(e, t = 9) {
1373
+ function Wn(e, t = 9) {
1335
1374
  const n = (e ?? "").replace(/\D/g, "");
1336
1375
  return n.length < t ? null : n.slice(-t);
1337
1376
  }
1338
- function se(e) {
1377
+ function ue(e) {
1339
1378
  if (!e) return null;
1340
1379
  const t = e.trim().toLowerCase(), n = t.lastIndexOf("@");
1341
1380
  if (n <= 0 || n === t.length - 1) return null;
1342
- const a = t.slice(0, n).split("+")[0], i = t.slice(n + 1);
1343
- return !a || !i.includes(".") ? null : `${a}@${i}`;
1381
+ const r = t.slice(0, n).split("+")[0], i = t.slice(n + 1);
1382
+ return !r || !i.includes(".") ? null : `${r}@${i}`;
1344
1383
  }
1345
- function Dn(e) {
1346
- const t = se(e);
1384
+ function zn(e) {
1385
+ const t = ue(e);
1347
1386
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
1348
1387
  }
1349
- const qe = /* @__PURE__ */ new Set([
1388
+ const rt = /* @__PURE__ */ new Set([
1350
1389
  "co.uk",
1351
1390
  "org.uk",
1352
1391
  "gov.uk",
@@ -1356,14 +1395,14 @@ const qe = /* @__PURE__ */ new Set([
1356
1395
  "com.br",
1357
1396
  "co.za"
1358
1397
  ]);
1359
- function Je(e) {
1398
+ function at(e) {
1360
1399
  if (!e) return null;
1361
1400
  const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
1362
1401
  if (t.length < 2) return null;
1363
1402
  const n = t.slice(-2).join(".");
1364
- return qe.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
1403
+ return rt.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
1365
1404
  }
1366
- const Qe = /* @__PURE__ */ new Set([
1405
+ const ot = /* @__PURE__ */ new Set([
1367
1406
  "gmail.com",
1368
1407
  "googlemail.com",
1369
1408
  "outlook.com",
@@ -1408,44 +1447,44 @@ const Qe = /* @__PURE__ */ new Set([
1408
1447
  "proximus.be",
1409
1448
  "scarlet.be"
1410
1449
  ]);
1411
- function Pn(e) {
1412
- const t = Je(e);
1413
- return t ? Qe.has(t) : !1;
1450
+ function Yn(e) {
1451
+ const t = at(e);
1452
+ return t ? ot.has(t) : !1;
1414
1453
  }
1415
- function Un(e) {
1454
+ function qn(e) {
1416
1455
  if (!e) return !1;
1417
1456
  const t = e.trim().toLowerCase();
1418
1457
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
1419
1458
  }
1420
- function Kn(e, t, n) {
1459
+ function Jn(e, t, n) {
1421
1460
  if (!e || !t) return null;
1422
- const a = e.trim().toLowerCase();
1423
- if (a === "tel" || a === "sms" || a === "whatsapp") {
1424
- const r = X(t, n);
1425
- return r ? `tel:${r}` : null;
1461
+ const r = e.trim().toLowerCase();
1462
+ if (r === "tel" || r === "sms" || r === "whatsapp") {
1463
+ const a = Y(t, n);
1464
+ return a ? `tel:${a}` : null;
1426
1465
  }
1427
- if (a === "fax") {
1428
- const r = X(t, n);
1429
- return r ? `fax:${r}` : null;
1466
+ if (r === "fax") {
1467
+ const a = Y(t, n);
1468
+ return a ? `fax:${a}` : null;
1430
1469
  }
1431
- if (a === "mailto" || a === "email") {
1432
- const r = se(t);
1433
- return r ? `mailto:${r}` : null;
1470
+ if (r === "mailto" || r === "email") {
1471
+ const a = ue(t);
1472
+ return a ? `mailto:${a}` : null;
1434
1473
  }
1435
1474
  const i = t.trim().toLowerCase();
1436
- return i ? `${a}:${i}` : null;
1475
+ return i ? `${r}:${i}` : null;
1437
1476
  }
1438
- const Ze = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, et = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
1439
- function Bn(e) {
1477
+ const st = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, lt = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
1478
+ function Qn(e) {
1440
1479
  if (typeof e != "string" || !e) return "";
1441
1480
  let t = e;
1442
1481
  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(`
1443
1482
  `).map(
1444
1483
  (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,}$/, "")
1445
1484
  ).join(`
1446
- `), t = t.replace(Ze, "$2"), t = t.replace(et, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
1485
+ `), t = t.replace(st, "$2"), t = t.replace(lt, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
1447
1486
  }
1448
- const tt = [
1487
+ const ct = [
1449
1488
  /<blockquote/i,
1450
1489
  /class="?gmail_quote/i,
1451
1490
  // Gmail quote container
@@ -1458,17 +1497,17 @@ const tt = [
1458
1497
  // Outlook underscore separator before "From:"
1459
1498
  /\bOn\b[\s\S]{0,200}?\bwrote:/i
1460
1499
  // Gmail "On <date> <name> wrote:"
1461
- ], W = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, nt = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
1462
- function it(e) {
1500
+ ], q = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, ut = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
1501
+ function pt(e) {
1463
1502
  const t = e.split(`
1464
1503
  `);
1465
1504
  for (let n = 0; n < t.length; n++)
1466
- if (nt.test(t[n]) || W.test(t[n]) && t.slice(n + 1, n + 4).some((a) => W.test(a)))
1505
+ if (ut.test(t[n]) || q.test(t[n]) && t.slice(n + 1, n + 4).some((r) => q.test(r)))
1467
1506
  return t.slice(0, n).join(`
1468
1507
  `).trim();
1469
1508
  return e;
1470
1509
  }
1471
- function z(e) {
1510
+ function J(e) {
1472
1511
  let t = e;
1473
1512
  return t = t.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), t = t.replace(/<br\s*\/?>/gi, `
1474
1513
  `), t = t.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
@@ -1476,38 +1515,38 @@ function z(e) {
1476
1515
  `), t = t.replace(/<\/(div|li|tr)>/gi, `
1477
1516
  `), t = t.replace(/<\/(td|th)>/gi, " "), t = t.replace(/<[^>]+>/g, ""), t = t.replace(/<[^>]*$/, ""), t;
1478
1517
  }
1479
- function Y(e) {
1518
+ function Q(e) {
1480
1519
  return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
1481
1520
  }
1482
- function q(e) {
1483
- return e.replace(/&nbsp;/gi, " ").replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => Y(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => Y(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
1521
+ function Z(e) {
1522
+ return e.replace(/&nbsp;/gi, " ").replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => Q(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => Q(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
1484
1523
  }
1485
- function J(e) {
1524
+ function ee(e) {
1486
1525
  return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
1487
1526
  `).replace(/\n{3,}/g, `
1488
1527
 
1489
1528
  `).trim();
1490
1529
  }
1491
- function Gn(e) {
1530
+ function Zn(e) {
1492
1531
  if (typeof e != "string" || !e) return "";
1493
1532
  let t = e.length;
1494
- for (const r of tt) {
1495
- const o = e.search(r);
1533
+ for (const a of ct) {
1534
+ const o = e.search(a);
1496
1535
  o >= 0 && o < t && (t = o);
1497
1536
  }
1498
1537
  const n = e.slice(0, t);
1499
- let a = J(q(z(n)));
1500
- return a || (a = J(q(z(e)))), it(a) || a;
1538
+ let r = ee(Z(J(n)));
1539
+ return r || (r = ee(Z(J(e)))), pt(r) || r;
1501
1540
  }
1502
- const at = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, rt = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
1503
- function Fn(e, t) {
1504
- return !!(e && at.test(e) || t && rt.test(t));
1541
+ const dt = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, ft = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
1542
+ function ei(e, t) {
1543
+ return !!(e && dt.test(e) || t && ft.test(t));
1505
1544
  }
1506
- const ot = 3, st = 600;
1507
- function Hn(e, t) {
1508
- return e >= ot || t >= st;
1545
+ const mt = 3, gt = 600;
1546
+ function ti(e, t) {
1547
+ return e >= mt || t >= gt;
1509
1548
  }
1510
- const lt = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), ct = /* @__PURE__ */ new Set([
1549
+ const ht = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), yt = /* @__PURE__ */ new Set([
1511
1550
  "text/plain",
1512
1551
  "text/markdown",
1513
1552
  "text/csv",
@@ -1516,77 +1555,77 @@ const lt = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
1516
1555
  "application/xml",
1517
1556
  "text/xml"
1518
1557
  ]);
1519
- function ut(e) {
1558
+ function bt(e) {
1520
1559
  const t = (e ?? "").trim().toLowerCase().split(";")[0];
1521
- return t ? lt.has(t) ? "image" : t === "application/pdf" ? "pdf" : ct.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
1522
- }
1523
- const g = 1024 * 1024, pt = {
1524
- image: 5 * g,
1525
- pdf: 20 * g,
1526
- text: 1 * g,
1527
- audio: 20 * g
1528
- }, jn = 25 * g, Vn = 5;
1529
- function Xn(e, t) {
1530
- const n = ut(e);
1531
- return n === "unsupported" ? "unsupported" : t > pt[n] ? "too-large" : null;
1532
- }
1533
- function dt(e, t) {
1534
- const n = new Set(e.disabledIntents ?? []), a = e.intentOverrides ?? {}, i = t.intents.filter((o) => !n.has(o.intent)).map((o) => mt(o, a[o.intent]));
1560
+ return t ? ht.has(t) ? "image" : t === "application/pdf" ? "pdf" : yt.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
1561
+ }
1562
+ const h = 1024 * 1024, At = {
1563
+ image: 5 * h,
1564
+ pdf: 20 * h,
1565
+ text: 1 * h,
1566
+ audio: 20 * h
1567
+ }, ni = 25 * h, ii = 5;
1568
+ function ri(e, t) {
1569
+ const n = bt(e);
1570
+ return n === "unsupported" ? "unsupported" : t > At[n] ? "too-large" : null;
1571
+ }
1572
+ function Et(e, t) {
1573
+ const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, i = t.intents.filter((o) => !n.has(o.intent)).map((o) => Tt(o, r[o.intent]));
1535
1574
  if (!e.extraIntents || e.extraIntents.length === 0) return i;
1536
- const r = new Set(i.map((o) => o.intent));
1575
+ const a = new Set(i.map((o) => o.intent));
1537
1576
  for (const o of e.extraIntents)
1538
- r.has(o.intent) || (i.push(o), r.add(o.intent));
1577
+ a.has(o.intent) || (i.push(o), a.add(o.intent));
1539
1578
  return i;
1540
1579
  }
1541
- function ft(e, t) {
1580
+ function _t(e, t) {
1542
1581
  const n = {};
1543
- for (const a of e.intents) {
1544
- if (!a.togglable) continue;
1545
- const i = t?.[a.intent];
1546
- n[a.intent] = i ?? a.defaultEnabled ?? !0;
1582
+ for (const r of e.intents) {
1583
+ if (!r.togglable) continue;
1584
+ const i = t?.[r.intent];
1585
+ n[r.intent] = i ?? r.defaultEnabled ?? !0;
1547
1586
  }
1548
1587
  return n;
1549
1588
  }
1550
- function Wn(e, t) {
1551
- const n = ft(e, t);
1552
- return Object.entries(n).filter(([, a]) => !a).map(([a]) => a);
1589
+ function ai(e, t) {
1590
+ const n = _t(e, t);
1591
+ return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
1553
1592
  }
1554
- function mt(e, t) {
1593
+ function Tt(e, t) {
1555
1594
  return t ? {
1556
1595
  intent: t.intent ?? e.intent,
1557
1596
  targetSchemes: t.targetSchemes ?? e.targetSchemes,
1558
1597
  transport: t.transport ?? e.transport
1559
1598
  } : e;
1560
1599
  }
1561
- function zn(e, t) {
1600
+ function oi(e, t) {
1562
1601
  const n = [];
1563
- for (const a of e) {
1564
- if (!a.enabled) continue;
1565
- const i = t[a.providerId];
1602
+ for (const r of e) {
1603
+ if (!r.enabled) continue;
1604
+ const i = t[r.providerId];
1566
1605
  if (i)
1567
- for (const r of dt(a, i))
1568
- n.push({ channel: a, description: i, capability: r });
1606
+ for (const a of Et(r, i))
1607
+ n.push({ channel: r, description: i, capability: a });
1569
1608
  }
1570
1609
  return n;
1571
1610
  }
1572
- function Yn(e, t) {
1611
+ function si(e, t) {
1573
1612
  return t.filter((n) => n.capability.intent === e);
1574
1613
  }
1575
- function gt(e, t) {
1614
+ function It(e, t) {
1576
1615
  return t.filter((n) => n.capability.targetSchemes.includes(e));
1577
1616
  }
1578
- function qn(e, t) {
1579
- return gt(e.scheme, t);
1617
+ function li(e, t) {
1618
+ return It(e.scheme, t);
1580
1619
  }
1581
- function Jn(e, t, n) {
1582
- const a = [];
1620
+ function ci(e, t, n) {
1621
+ const r = [];
1583
1622
  for (const i of e)
1584
- for (const r of n)
1585
- r.capability.intent === t && r.capability.targetSchemes.includes(i.scheme) && a.push({ channelIntent: r, endpoint: i });
1586
- return a;
1623
+ for (const a of n)
1624
+ a.capability.intent === t && a.capability.targetSchemes.includes(i.scheme) && r.push({ channelIntent: a, endpoint: i });
1625
+ return r;
1587
1626
  }
1588
- var ht = /* @__PURE__ */ ((e) => (e.MAILTO = "mailto", e.SIP = "sip", e.TEL = "tel", e.WEBHOOK = "webhook", e.USERNAME = "username", e.ID = "id", e.CUSTOM = "custom", e.URL = "url", e.TELEGRAM = "telegram", e.WHATSAPP = "whatsapp", e.MESSENGER = "messenger", e.INSTAGRAM = "instagram", e.VIBER = "viber", e.SMS = "sms", e.FAX = "fax", e.TEAMS = "teams", e.CALENDAR = "calendar", e))(ht || {});
1589
- const yt = {
1627
+ var St = /* @__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))(St || {});
1628
+ const Mt = {
1590
1629
  mailto: "mail",
1591
1630
  sip: "tel",
1592
1631
  tel: "tel",
@@ -1608,10 +1647,10 @@ const yt = {
1608
1647
  id: "note",
1609
1648
  custom: "note"
1610
1649
  };
1611
- function Qn(e) {
1612
- return e ? yt[e] ?? "note" : "note";
1650
+ function ui(e) {
1651
+ return e ? Mt[e] ?? "note" : "note";
1613
1652
  }
1614
- const Zn = "message_window", ei = "message_templates", ti = {
1653
+ const pi = "message_window", di = "message_templates", fi = {
1615
1654
  // E-mail
1616
1655
  FROM: "from",
1617
1656
  TO: "to",
@@ -1628,229 +1667,240 @@ const Zn = "message_window", ei = "message_templates", ti = {
1628
1667
  // Voice/conference
1629
1668
  HOST: "host",
1630
1669
  PARTICIPANT: "participant"
1631
- }, ni = (e, t) => ({ intent: e, ...t }), ii = "folder_management", ai = "remote_search", ri = { ok: !1, code: "UNSUPPORTED", message: "Provider does not support this op" }, le = "auth";
1632
- function ce(e) {
1670
+ }, mi = (e, t) => ({ intent: e, ...t }), gi = "folder_management", hi = "remote_search", yi = { ok: !1, code: "UNSUPPORTED", message: "Provider does not support this op" }, pe = "auth";
1671
+ function de(e) {
1633
1672
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
1634
1673
  return t ? t[1] : null;
1635
1674
  }
1636
- function oi(e) {
1637
- const t = ce(e);
1638
- return t ? t !== le : typeof e == "string" && e.startsWith("/wake");
1675
+ function bi(e) {
1676
+ const t = de(e);
1677
+ return t ? t !== pe : typeof e == "string" && e.startsWith("/wake");
1639
1678
  }
1640
- function si(e) {
1641
- return typeof e != "string" || e === "" || e === "/" ? !0 : ce(e) === le;
1679
+ function Ai(e) {
1680
+ return typeof e != "string" || e === "" || e === "/" ? !0 : de(e) === pe;
1642
1681
  }
1643
- function bt(e) {
1682
+ function Ct(e) {
1644
1683
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
1645
1684
  }
1646
- function At(e) {
1647
- const n = e.split("/").filter(Boolean).map((a) => a.startsWith(":") ? a.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : "/" + bt(a)).join("");
1685
+ function xt(e) {
1686
+ const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : "/" + Ct(r)).join("");
1648
1687
  return new RegExp(`^${n}\\/?$`);
1649
1688
  }
1650
- function Et(e, t) {
1651
- const n = e.split("/").filter(Boolean), a = t.split("/").filter(Boolean), i = {};
1652
- return n.forEach((r, o) => {
1653
- if (r.startsWith(":")) {
1654
- const s = r.endsWith("?") ? r.slice(1, -1) : r.slice(1), l = a[o];
1689
+ function Nt(e, t) {
1690
+ const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean), i = {};
1691
+ return n.forEach((a, o) => {
1692
+ if (a.startsWith(":")) {
1693
+ const s = a.endsWith("?") ? a.slice(1, -1) : a.slice(1), l = r[o];
1655
1694
  l && (i[s] = l);
1656
1695
  }
1657
1696
  }), i;
1658
1697
  }
1659
- function _t(e) {
1698
+ function kt(e) {
1660
1699
  return e.publicBasePath ?? `/apps/${e.name}`;
1661
1700
  }
1662
- function li(e) {
1701
+ function Ei(e) {
1663
1702
  const t = [];
1664
1703
  for (const n of e) {
1665
1704
  if (!n?.name) continue;
1666
- const a = _t(n);
1705
+ const r = kt(n);
1667
1706
  for (const i of n.routes ?? []) {
1668
1707
  if (!i.public) continue;
1669
- const r = i.path === "/" ? "" : i.path;
1708
+ const a = i.path === "/" ? "" : i.path;
1670
1709
  t.push({
1671
1710
  appName: n.name,
1672
1711
  resource: i.resource,
1673
- pattern: `${a}${r}`,
1712
+ pattern: `${r}${a}`,
1674
1713
  props: i.props
1675
1714
  });
1676
1715
  }
1677
1716
  }
1678
1717
  return t;
1679
1718
  }
1680
- function Tt(e, t) {
1681
- const n = e.split("/").filter(Boolean), a = t.split("/").filter(Boolean);
1682
- for (let i = 0; i < Math.min(n.length, a.length); i++) {
1683
- const r = n[i].startsWith(":"), o = a[i].startsWith(":");
1684
- if (r !== o) return o;
1719
+ function vt(e, t) {
1720
+ const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean);
1721
+ for (let i = 0; i < Math.min(n.length, r.length); i++) {
1722
+ const a = n[i].startsWith(":"), o = r[i].startsWith(":");
1723
+ if (a !== o) return o;
1685
1724
  }
1686
- return n.length > a.length;
1725
+ return n.length > r.length;
1687
1726
  }
1688
- function It(e, t) {
1727
+ function Ot(e, t) {
1689
1728
  if (typeof e != "string") return null;
1690
1729
  let n = null;
1691
- for (const a of t)
1692
- At(a.pattern).test(e) && (!n || Tt(a.pattern, n.pattern)) && (n = a);
1693
- return n ? { ...n, params: { ...n.props, ...Et(n.pattern, e) } } : null;
1730
+ for (const r of t)
1731
+ xt(r.pattern).test(e) && (!n || vt(r.pattern, n.pattern)) && (n = r);
1732
+ return n ? { ...n, params: { ...n.props, ...Nt(n.pattern, e) } } : null;
1694
1733
  }
1695
- function ci(e, t) {
1696
- return It(e, t) !== null;
1734
+ function _i(e, t) {
1735
+ return Ot(e, t) !== null;
1697
1736
  }
1698
- const ui = 9e4, pi = "installation-id";
1737
+ const Ti = 9e4, Ii = "installation-id";
1699
1738
  export {
1700
1739
  m as ACTIVITY_CATALOG,
1701
- pt as AI_ATTACHMENT_LIMITS,
1702
- Vn as AI_ATTACHMENT_MAX_PER_TURN,
1703
- jn as AI_ATTACHMENT_TURN_BUDGET,
1704
- oe as AI_VENDORS,
1705
- Ce as ALLOWED_LINK_SCHEMES,
1706
- w as ARTIFACT_MAX_BLOCKS,
1707
- Xt as ARTIFACT_MAX_BODY_BYTES,
1708
- M as ARTIFACT_MAX_CELL_LEN,
1709
- K as ARTIFACT_MAX_KPI_ITEMS,
1710
- D as ARTIFACT_MAX_LIST_ITEMS,
1711
- U as ARTIFACT_MAX_TABLE_COLUMNS,
1712
- P as ARTIFACT_MAX_TABLE_ROWS,
1713
- Z as ARTIFACT_MAX_TEXT_LEN,
1714
- le as AUTH_APP_NAME,
1715
- he as ActivityTypeRegistry,
1716
- Ut as BUILT_IN_ONLY,
1717
- nn as CLASSIFY_VARS,
1718
- Ft as CORE_DIMENSIONS,
1719
- ht as CommunicationScheme,
1720
- $n as DEFAULT_MEMORY_BUDGET,
1721
- Ve as DEFAULT_PHONE_REGION,
1722
- ii as FEATURE_FOLDER_MANAGEMENT,
1723
- ai as FEATURE_REMOTE_SEARCH,
1724
- pi as INSTALLATION_HEADER,
1725
- ti as InteractionParticipantRole,
1726
- Ge as KB_FALLBACK_LOCALE,
1727
- H as KB_LOCALES,
1728
- Nt as MAX_ACTIONS,
1729
- St as MAX_BLOCKS,
1730
- ae as MAX_COLLECTION_DEPTH,
1731
- Mt as MAX_FIELDS,
1732
- Ct as MAX_LIST_ITEMS,
1733
- Ln as MAX_MEMORY_BUDGET,
1734
- kn as MAX_MEMORY_CHARS,
1735
- xn as MIN_MEMORY_BUDGET,
1736
- Pe as PAUSED_RUN_STATUSES,
1740
+ At as AI_ATTACHMENT_LIMITS,
1741
+ ii as AI_ATTACHMENT_MAX_PER_TURN,
1742
+ ni as AI_ATTACHMENT_TURN_BUDGET,
1743
+ ce as AI_VENDORS,
1744
+ ke as ALLOWED_LINK_SCHEMES,
1745
+ P as ARTIFACT_MAX_BLOCKS,
1746
+ en as ARTIFACT_MAX_BODY_BYTES,
1747
+ C as ARTIFACT_MAX_CELL_LEN,
1748
+ G as ARTIFACT_MAX_KPI_ITEMS,
1749
+ U as ARTIFACT_MAX_LIST_ITEMS,
1750
+ B as ARTIFACT_MAX_TABLE_COLUMNS,
1751
+ K as ARTIFACT_MAX_TABLE_ROWS,
1752
+ ne as ARTIFACT_MAX_TEXT_LEN,
1753
+ pe as AUTH_APP_NAME,
1754
+ Ae as ActivityTypeRegistry,
1755
+ Xt as BUILT_IN_ONLY,
1756
+ pn as CLASSIFY_VARS,
1757
+ qt as CORE_DIMENSIONS,
1758
+ St as CommunicationScheme,
1759
+ jn as DEFAULT_MEMORY_BUDGET,
1760
+ Ze as DEFAULT_PHONE_REGION,
1761
+ gi as FEATURE_FOLDER_MANAGEMENT,
1762
+ hi as FEATURE_REMOTE_SEARCH,
1763
+ Ii as INSTALLATION_HEADER,
1764
+ fi as InteractionParticipantRole,
1765
+ je as KB_FALLBACK_LOCALE,
1766
+ V as KB_LOCALES,
1767
+ wt as MAX_ACTIONS,
1768
+ Lt as MAX_BLOCKS,
1769
+ se as MAX_COLLECTION_DEPTH,
1770
+ $t as MAX_FIELDS,
1771
+ Rt as MAX_LIST_ITEMS,
1772
+ Bn as MAX_MEMORY_BROWSE,
1773
+ Hn as MAX_MEMORY_BUDGET,
1774
+ Gn as MAX_MEMORY_CHARS,
1775
+ We as MAX_TOPIC_CANDIDATES,
1776
+ Xe as MAX_TOPIC_EXAMPLES,
1777
+ x as MAX_TOPIC_EXAMPLE_CHARS,
1778
+ Fn as MIN_MEMORY_BUDGET,
1779
+ Be as PAUSED_RUN_STATUSES,
1737
1780
  v as PHONE_REGIONS,
1738
- ui as PRESENCE_ONLINE_WINDOW_MS,
1739
- ei as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
1740
- Zn as PROVIDER_FEATURE_MESSAGE_WINDOW,
1741
- Qe as PUBLIC_EMAIL_DOMAINS,
1742
- je as RELATED_SUBJECT_KINDS,
1743
- _n as SIGNATURE_INTENTS,
1744
- st as SUMMARY_MIN_LAST_CHARS,
1745
- ot as SUMMARY_MIN_MESSAGES,
1746
- De as TERMINAL_RUN_STATUSES,
1747
- tn as TRIGGER_VARS,
1748
- ri as UNSUPPORTED,
1749
- Te as USAGE_DIMENSIONS,
1750
- Ie as USAGE_DIMENSION_IDS,
1751
- we as actingIdentityKey,
1752
- kt as activityIconOf,
1753
- Pt as activityJoinUrl,
1754
- fe as activitySnippet,
1755
- me as activityTextParams,
1756
- Dt as activityTimelineText,
1757
- Gt as activityTimestamp,
1781
+ Ti as PRESENCE_ONLINE_WINDOW_MS,
1782
+ di as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
1783
+ pi as PROVIDER_FEATURE_MESSAGE_WINDOW,
1784
+ ot as PUBLIC_EMAIL_DOMAINS,
1785
+ Qe as RELATED_SUBJECT_KINDS,
1786
+ Ln as SIGNATURE_INTENTS,
1787
+ gt as SUMMARY_MIN_LAST_CHARS,
1788
+ mt as SUMMARY_MIN_MESSAGES,
1789
+ Ke as TERMINAL_RUN_STATUSES,
1790
+ un as TRIGGER_VARS,
1791
+ yi as UNSUPPORTED,
1792
+ Me as USAGE_DIMENSIONS,
1793
+ Ce as USAGE_DIMENSION_IDS,
1794
+ Mn as acceptExampleCandidate,
1795
+ Ue as actingIdentityKey,
1796
+ Pt as activityIconOf,
1797
+ Vt as activityJoinUrl,
1798
+ he as activitySnippet,
1799
+ ye as activityTextParams,
1800
+ jt as activityTimelineText,
1801
+ Yt as activityTimestamp,
1758
1802
  f as activityTypeInfo,
1759
- on as actorKey,
1760
- ut as aiAttachmentKind,
1761
- Xn as aiAttachmentRejection,
1762
- En as aiVendorAcceptsAttachment,
1763
- yn as aiVendorDefaultModel,
1764
- hn as aiVendorLabel,
1765
- An as aiVendorNeedsBaseUrl,
1766
- bn as aiVendorsWith,
1767
- ce as appNameFromPath,
1768
- Tn as applySignature,
1769
- zt as artifactBodyBytes,
1770
- Yt as artifactOutline,
1771
- qt as artifactToMarkdown,
1772
- Kt as buildActivityPreview,
1773
- zn as buildChannelIntents,
1774
- Jt as buildShareKeys,
1775
- fn as canNestUnder,
1776
- Ot as carriesText,
1777
- gn as categoryLabel,
1778
- Qn as channelKindForScheme,
1779
- xt as channelKindOf,
1780
- Gn as cleanMessageText,
1781
- Fe as defaultLocaleOf,
1782
- ni as defineIntent,
1783
- Ke as depthOf,
1784
- Wn as disabledIntentsFromCapabilities,
1785
- Dn as emailDomain,
1786
- Kn as endpointKey,
1787
- Et as extractParams,
1788
- qn as filterByEndpoint,
1789
- Yn as filterByIntent,
1790
- gt as filterByTargetScheme,
1791
- E as findAiVendor,
1792
- Ht as flattenLocales,
1793
- Ae as floorToPeriod,
1794
- Re as formatActingIdentity,
1795
- be as formatPeriod,
1796
- Bt as getActivitySeenUserIds,
1797
- In as getContactEndpoints,
1798
- Nn as getShortTitle,
1799
- Cn as getUrgencyScore,
1800
- re as heightOf,
1801
- un as helpCenterText,
1802
- en as humanizeAction,
1803
- Sn as isAssigned,
1804
- Mn as isClosed,
1805
- oi as isDeepLink,
1806
- Be as isDescendant,
1807
- vn as isInteractionUnseen,
1808
- si as isLandingPath,
1809
- Fn as isLikelyBulk,
1810
- Lt as isMessageType,
1811
- Tt as isMoreSpecificPattern,
1812
- ln as isPaused,
1813
- wt as isPlaybookAuthoredType,
1814
- Pn as isPublicEmailDomain,
1815
- ci as isPublicPath,
1816
- $t as isReplyableType,
1817
- sn as isRetryable,
1818
- Ue as isTerminal,
1819
- Hn as isThreadLongEnough,
1820
- cn as linkLabel,
1821
- dn as localeInstruction,
1822
- pn as localeName,
1823
- mn as localesOf,
1824
- Rn as looksLikeEmail,
1825
- Jn as matchContactToIntents,
1826
- It as matchPublicRoute,
1827
- Rt as messageCountsAs,
1828
- Un as needsPhoneRegion,
1829
- Wt as normalizeArtifactBlocks,
1830
- vt as normalizeBlocks,
1831
- se as normalizeEmail,
1832
- an as parseActingIdentity,
1833
- At as pathToRegex,
1834
- jt as periodsInRange,
1835
- wn as phoneSuffix,
1836
- Bn as plainTextFromMarkdown,
1837
- rn as playbookActor,
1838
- _t as publicBasePathFor,
1839
- li as publicRoutePatterns,
1840
- C as readPath,
1841
- Je as registrableDomain,
1842
- On as relatedByDefault,
1843
- ft as resolveAccountCapabilities,
1844
- N as resolveActivityText,
1845
- dt as resolveChannelIntents,
1846
- He as resolveSignature,
1847
- xe as sanitizeInline,
1848
- ne as shareKeyForTeam,
1849
- te as shareKeyForUser,
1850
- Qt as shareKeysForViewer,
1851
- de as stripHtml,
1852
- X as toE164,
1853
- Zt as toolSourceKinds,
1854
- Se as usageMetricId,
1855
- Vt as usageMetrics
1803
+ mn as actorKey,
1804
+ Sn as addExampleCandidate,
1805
+ bt as aiAttachmentKind,
1806
+ ri as aiAttachmentRejection,
1807
+ On as aiVendorAcceptsAttachment,
1808
+ Nn as aiVendorDefaultModel,
1809
+ xn as aiVendorLabel,
1810
+ vn as aiVendorNeedsBaseUrl,
1811
+ kn as aiVendorsWith,
1812
+ de as appNameFromPath,
1813
+ $n as applySignature,
1814
+ nn as artifactBodyBytes,
1815
+ rn as artifactOutline,
1816
+ an as artifactToMarkdown,
1817
+ Wt as buildActivityPreview,
1818
+ oi as buildChannelIntents,
1819
+ on as buildShareKeys,
1820
+ _n as canNestUnder,
1821
+ Gt as carriesText,
1822
+ In as categoryLabel,
1823
+ ui as channelKindForScheme,
1824
+ Ut as channelKindOf,
1825
+ Zn as cleanMessageText,
1826
+ Ve as defaultLocaleOf,
1827
+ mi as defineIntent,
1828
+ Fe as depthOf,
1829
+ ai as disabledIntentsFromCapabilities,
1830
+ zn as emailDomain,
1831
+ Jn as endpointKey,
1832
+ Nt as extractParams,
1833
+ li as filterByEndpoint,
1834
+ si as filterByIntent,
1835
+ It as filterByTargetScheme,
1836
+ _ as findAiVendor,
1837
+ Jt as flattenLocales,
1838
+ Te as floorToPeriod,
1839
+ Pe as formatActingIdentity,
1840
+ _e as formatPeriod,
1841
+ zt as getActivitySeenUserIds,
1842
+ Rn as getContactEndpoints,
1843
+ Un as getShortTitle,
1844
+ Pn as getUrgencyScore,
1845
+ le as heightOf,
1846
+ bn as helpCenterText,
1847
+ cn as humanizeAction,
1848
+ wn as isAssigned,
1849
+ Dn as isClosed,
1850
+ bi as isDeepLink,
1851
+ He as isDescendant,
1852
+ Kn as isInteractionUnseen,
1853
+ Ai as isLandingPath,
1854
+ ei as isLikelyBulk,
1855
+ Kt as isMessageType,
1856
+ vt as isMoreSpecificPattern,
1857
+ hn as isPaused,
1858
+ Ht as isPlaybookAuthoredType,
1859
+ Yn as isPublicEmailDomain,
1860
+ _i as isPublicPath,
1861
+ Bt as isReplyableType,
1862
+ gn as isRetryable,
1863
+ Ge as isTerminal,
1864
+ ti as isThreadLongEnough,
1865
+ yn as linkLabel,
1866
+ En as localeInstruction,
1867
+ An as localeName,
1868
+ Tn as localesOf,
1869
+ Xn as looksLikeEmail,
1870
+ ci as matchContactToIntents,
1871
+ Ot as matchPublicRoute,
1872
+ Ft as messageCountsAs,
1873
+ qn as needsPhoneRegion,
1874
+ tn as normalizeArtifactBlocks,
1875
+ Dt as normalizeBlocks,
1876
+ ue as normalizeEmail,
1877
+ g as normalizeExample,
1878
+ dn as parseActingIdentity,
1879
+ xt as pathToRegex,
1880
+ Qt as periodsInRange,
1881
+ Wn as phoneSuffix,
1882
+ Qn as plainTextFromMarkdown,
1883
+ fn as playbookActor,
1884
+ kt as publicBasePathFor,
1885
+ Ei as publicRoutePatterns,
1886
+ N as readPath,
1887
+ at as registrableDomain,
1888
+ Ye as rejectExampleCandidate,
1889
+ Vn as relatedByDefault,
1890
+ _t as resolveAccountCapabilities,
1891
+ k as resolveActivityText,
1892
+ Et as resolveChannelIntents,
1893
+ Je as resolveSignature,
1894
+ $e as sanitizeInline,
1895
+ ae as shareKeyForTeam,
1896
+ re as shareKeyForUser,
1897
+ sn as shareKeysForViewer,
1898
+ ge as stripHtml,
1899
+ Y as toE164,
1900
+ ln as toolSourceKinds,
1901
+ qe as topicOfferedForTeam,
1902
+ Cn as topicsForTeam,
1903
+ ze as truncateExample,
1904
+ xe as usageMetricId,
1905
+ Zt as usageMetrics
1856
1906
  };