@opencxh/domain 1.132.0 → 1.134.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,31 +1,102 @@
1
- function $(e) {
1
+ const _e = 10, Te = 10, Me = 10, Se = 5, x = /* @__PURE__ */ new Set([
2
+ "header",
3
+ "section",
4
+ "context",
5
+ "divider",
6
+ "image",
7
+ "list",
8
+ "actions",
9
+ "attachments"
10
+ ]);
11
+ function m(e) {
12
+ if (typeof e == "string") return e.length > 0;
13
+ if (!e || typeof e != "object") return !1;
14
+ const n = e;
15
+ return typeof n.key == "string" || typeof n.value == "string";
16
+ }
17
+ function Ce(e, n = () => {
18
+ }) {
19
+ if (!Array.isArray(e)) return [];
20
+ const t = [];
21
+ for (const i of e) {
22
+ if (t.length >= 10) {
23
+ n("more than 10 blocks; the rest was dropped");
24
+ break;
25
+ }
26
+ if (!i || typeof i != "object") continue;
27
+ const a = i;
28
+ if (!x.has(a.type)) {
29
+ n("unknown block type " + String(a.type));
30
+ continue;
31
+ }
32
+ switch (a.type) {
33
+ case "header":
34
+ if (!m(a.text)) {
35
+ n("a header without text");
36
+ continue;
37
+ }
38
+ break;
39
+ case "context":
40
+ if (!m(a.text)) {
41
+ n("a context block without text");
42
+ continue;
43
+ }
44
+ break;
45
+ case "image":
46
+ if (!a.url || !a.alt) {
47
+ n("an image without url or alt");
48
+ continue;
49
+ }
50
+ break;
51
+ case "section":
52
+ Array.isArray(a.fields) && a.fields.length > 10 && (n("more than 10 fields in a section"), a.fields = a.fields.slice(0, 10));
53
+ break;
54
+ case "list":
55
+ if (!Array.isArray(a.items) || a.items.length === 0) {
56
+ n("a list without items");
57
+ continue;
58
+ }
59
+ a.items.length > 10 && (n("more than 10 list items"), a.items = a.items.slice(0, 10));
60
+ break;
61
+ case "actions": {
62
+ const r = Array.isArray(a.elements) ? a.elements : [], o = r.filter((s) => s && s.action_id && s.invoke && m(s.text));
63
+ if (o.length !== r.length && n("an action without action_id, invoke or text"), o.length === 0) continue;
64
+ o.length > 5 && n("more than 5 actions"), a.elements = o.slice(0, 5);
65
+ break;
66
+ }
67
+ }
68
+ t.push(a);
69
+ }
70
+ return t;
71
+ }
72
+ function U(e) {
2
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();
3
74
  }
4
- function p(e) {
75
+ function u(e) {
5
76
  if (!e || e < 0) return "";
6
77
  const n = Math.floor(e / 60), t = Math.floor(e % 60);
7
78
  return `${n}:${t.toString().padStart(2, "0")}`;
8
79
  }
9
- function b(e) {
80
+ function A(e) {
10
81
  return e ? ` — ${Math.floor(e / 60)}m ${e % 60}s` : "";
11
82
  }
12
- function m(e) {
83
+ function f(e) {
13
84
  return e?.split("@")?.[0] || e || "";
14
85
  }
15
- function u(e) {
86
+ function p(e) {
16
87
  return e.map((n) => n.name).join(", ");
17
88
  }
18
- function A(e) {
89
+ function I(e) {
19
90
  return e === "meeting" ? "Meeting" : e === "video" ? "Video call" : "Audio call";
20
91
  }
21
- const s = {
92
+ const c = {
22
93
  /* ---- voice ---- */
23
94
  VOICE_CALL_STARTED: {
24
95
  shape: "event",
25
96
  channelKind: "voice",
26
97
  icon: "phone",
27
98
  snippet: () => "Gesprek gestart",
28
- timeline: (e) => e.direction === "inbound" ? `Inbound call started — ${m(e.payload.from)}` : `Outbound call started — ${m(e.payload.to)}`
99
+ timeline: (e) => e.direction === "inbound" ? `Inbound call started — ${f(e.payload.from)}` : `Outbound call started — ${f(e.payload.to)}`
29
100
  },
30
101
  VOICE_CALL_ANSWERED: {
31
102
  shape: "event",
@@ -51,15 +122,15 @@ const s = {
51
122
  shape: "event",
52
123
  channelKind: "voice",
53
124
  icon: "phone",
54
- snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${p(e.payload.duration)})` : ""}`,
55
- timeline: (e) => `Call ended${b(e.payload.duration)}`
125
+ snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${u(e.payload.duration)})` : ""}`,
126
+ timeline: (e) => `Call ended${A(e.payload.duration)}`
56
127
  },
57
128
  VOICE_CALL_MISSED: {
58
129
  shape: "event",
59
130
  channelKind: "voice",
60
131
  icon: "phone",
61
132
  snippet: () => "Gemiste oproep",
62
- timeline: (e) => `Missed call — ${m(e.payload.from)}`
133
+ timeline: (e) => `Missed call — ${f(e.payload.from)}`
63
134
  },
64
135
  VOICE_CALL_FAILED: {
65
136
  shape: "event",
@@ -105,7 +176,7 @@ const s = {
105
176
  shape: "event",
106
177
  channelKind: "video",
107
178
  icon: "video",
108
- snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${p(e.payload.duration)})` : ""}`,
179
+ snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${u(e.payload.duration)})` : ""}`,
109
180
  timeline: () => "Video call ended"
110
181
  },
111
182
  VIDEO_CALL_MISSED: {
@@ -133,7 +204,7 @@ const s = {
133
204
  replyable: !0,
134
205
  carriesText: !0,
135
206
  countsAs: "inbound_message",
136
- snippet: I
207
+ snippet: _
137
208
  },
138
209
  EMAIL_SENT: {
139
210
  shape: "message",
@@ -143,7 +214,7 @@ const s = {
143
214
  replyable: !0,
144
215
  carriesText: !0,
145
216
  countsAs: "outbound_message",
146
- snippet: I
217
+ snippet: _
147
218
  },
148
219
  /* ---- chat ---- */
149
220
  CHAT_MESSAGE_SENT: {
@@ -172,9 +243,9 @@ const s = {
172
243
  shape: "event",
173
244
  channelKind: "chat",
174
245
  icon: "message-circle",
175
- snippet: (e) => `${u(e.payload.members)} toegevoegd`,
246
+ snippet: (e) => `${p(e.payload.members)} toegevoegd`,
176
247
  timeline: (e) => {
177
- const n = u(e.payload.members) || "Someone", t = e.payload.initiator?.name ? ` · added by ${e.payload.initiator.name}` : "";
248
+ const n = p(e.payload.members) || "Someone", t = e.payload.initiator?.name ? ` · added by ${e.payload.initiator.name}` : "";
178
249
  return `${n} joined the chat${t}`;
179
250
  }
180
251
  },
@@ -182,9 +253,9 @@ const s = {
182
253
  shape: "event",
183
254
  channelKind: "chat",
184
255
  icon: "message-circle",
185
- snippet: (e) => `${u(e.payload.members)} verlaten`,
256
+ snippet: (e) => `${p(e.payload.members)} verlaten`,
186
257
  timeline: (e) => {
187
- const n = u(e.payload.members) || "Someone", t = e.payload.initiator?.name ? ` · removed by ${e.payload.initiator.name}` : "";
258
+ const n = p(e.payload.members) || "Someone", t = e.payload.initiator?.name ? ` · removed by ${e.payload.initiator.name}` : "";
188
259
  return `${n} left the chat${t}`;
189
260
  }
190
261
  },
@@ -200,15 +271,15 @@ const s = {
200
271
  channelKind: "chat",
201
272
  icon: "message-circle",
202
273
  snippet: () => "Gesprek gestart",
203
- timeline: (e) => `${A(e.payload.callType)} started${e.payload.initiator ? ` by ${e.payload.initiator.name}` : ""}`,
274
+ timeline: (e) => `${I(e.payload.callType)} started${e.payload.initiator ? ` by ${e.payload.initiator.name}` : ""}`,
204
275
  joinUrl: (e) => e.payload.joinUrl
205
276
  },
206
277
  CHAT_CALL_ENDED: {
207
278
  shape: "event",
208
279
  channelKind: "chat",
209
280
  icon: "message-circle",
210
- snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${p(e.payload.duration)})` : ""}`,
211
- timeline: (e) => `${A(e.payload.callType)} ended${b(e.payload.duration)}`,
281
+ snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${u(e.payload.duration)})` : ""}`,
282
+ timeline: (e) => `${I(e.payload.callType)} ended${A(e.payload.duration)}`,
212
283
  joinUrl: (e) => e.payload.joinUrl
213
284
  },
214
285
  CHAT_EVENT: {
@@ -296,7 +367,7 @@ const s = {
296
367
  MEETING_ENDED: {
297
368
  shape: "event",
298
369
  icon: "calendar",
299
- snippet: (e) => `Vergadering beëindigd${e.payload.duration ? ` (${p(e.payload.duration)})` : ""}`,
370
+ snippet: (e) => `Vergadering beëindigd${e.payload.duration ? ` (${u(e.payload.duration)})` : ""}`,
300
371
  timeline: () => "Meeting ended"
301
372
  },
302
373
  MEETING_PARTICIPANT_JOINED: {
@@ -333,48 +404,48 @@ const s = {
333
404
  timeline: (e, n) => `Assigned by ${n}`
334
405
  }
335
406
  };
336
- function I(e) {
337
- const n = e.payload, t = n.bodySnippet?.trim() || $(n.body ?? "");
407
+ function _(e) {
408
+ const n = e.payload, t = n.bodySnippet?.trim() || U(n.body ?? "");
338
409
  return n.subject ? `${n.subject} — ${t}` : t;
339
410
  }
340
411
  function l(e) {
341
- return s[e];
412
+ return c[e];
342
413
  }
343
- function Ae(e) {
414
+ function ve(e) {
344
415
  return l(e)?.icon ?? "circle";
345
416
  }
346
- function Ie(e) {
417
+ function Ne(e) {
347
418
  return l(e)?.channelKind;
348
419
  }
349
- function _e(e) {
420
+ function Oe(e) {
350
421
  const n = l(e)?.shape;
351
422
  return n === "message" || n === "note";
352
423
  }
353
- function Te(e) {
424
+ function ke(e) {
354
425
  return l(e)?.replyable === !0;
355
426
  }
356
- function Me(e) {
427
+ function De(e) {
357
428
  return l(e)?.carriesText === !0;
358
429
  }
359
- function Se(e) {
430
+ function Le(e) {
360
431
  return l(e)?.countsAs;
361
432
  }
362
- function ve(e) {
433
+ function Re(e) {
363
434
  return l(e)?.playbookAuthored === !0;
364
435
  }
365
- function x(e) {
436
+ function P(e) {
366
437
  const n = l(e.type)?.snippet;
367
438
  return n ? n(e) : "";
368
439
  }
369
- function Ce(e, n) {
440
+ function $e(e, n) {
370
441
  const t = l(e.type)?.timeline;
371
442
  return t ? t(e, n) : e.type.replace(/_/g, " ").toLowerCase();
372
443
  }
373
- function De(e) {
444
+ function xe(e) {
374
445
  const n = l(e.type)?.joinUrl;
375
446
  return n ? n(e) : void 0;
376
447
  }
377
- function g(e, n) {
448
+ function h(e, n) {
378
449
  let t = e;
379
450
  for (const i of n.split(".")) {
380
451
  if (t == null || typeof t != "object") return "";
@@ -382,27 +453,27 @@ function g(e, n) {
382
453
  }
383
454
  return t == null ? "" : typeof t == "string" ? t : typeof t == "number" || typeof t == "boolean" ? String(t) : "";
384
455
  }
385
- function h(e, n, t) {
456
+ function y(e, n, t) {
386
457
  if (e === void 0) return null;
387
458
  if (typeof e == "string") return e || null;
388
459
  if ("value" in e)
389
- return g(n, e.value) || null;
460
+ return h(n, e.value) || null;
390
461
  const i = {};
391
462
  for (const [r, o] of Object.entries(e.params ?? {}))
392
- i[r] = g(n, o);
463
+ i[r] = h(n, o);
393
464
  const a = t(e.key, i);
394
465
  return a === e.key ? null : a;
395
466
  }
396
- function U(e, n) {
467
+ function w(e, n) {
397
468
  if (!e || typeof e == "string" || "value" in e) return null;
398
469
  const t = {};
399
470
  for (const [i, a] of Object.entries(e.params ?? {}))
400
- t[i] = g(n, a);
471
+ t[i] = h(n, a);
401
472
  return { key: e.key, params: t };
402
473
  }
403
- const P = (e) => e;
404
- function _(e) {
405
- const n = s[e];
474
+ const K = (e) => e;
475
+ function T(e) {
476
+ const n = c[e];
406
477
  return {
407
478
  type: e,
408
479
  shape: n.shape,
@@ -417,7 +488,7 @@ function _(e) {
417
488
  displayNameKey: n.displayNameKey
418
489
  };
419
490
  }
420
- function T(e) {
491
+ function M(e) {
421
492
  return {
422
493
  type: e.type,
423
494
  shape: e.shape,
@@ -432,21 +503,21 @@ function T(e) {
432
503
  displayNameKey: e.displayNameKey
433
504
  };
434
505
  }
435
- class K {
436
- constructor(n = [], t = P) {
506
+ class G {
507
+ constructor(n = [], t = K) {
437
508
  this.translate = t;
438
509
  for (const i of n)
439
- i?.type && (i.type in s || this.declared.has(i.type) || this.declared.set(i.type, i));
510
+ i?.type && (i.type in c || this.declared.has(i.type) || this.declared.set(i.type, i));
440
511
  }
441
512
  declared = /* @__PURE__ */ new Map();
442
513
  get(n) {
443
- if (n in s) return _(n);
514
+ if (n in c) return T(n);
444
515
  const t = this.declared.get(n);
445
- return t ? T(t) : void 0;
516
+ return t ? M(t) : void 0;
446
517
  }
447
518
  /** Alles wat als trigger aangeboden mag worden, ingebouwd en gedeclareerd. */
448
519
  triggerable() {
449
- const n = Object.keys(s).filter((i) => s[i].triggerable).map(_), t = [...this.declared.values()].map(T).filter((i) => i.triggerable);
520
+ const n = Object.keys(c).filter((i) => c[i].triggerable).map(T), t = [...this.declared.values()].map(M).filter((i) => i.triggerable);
450
521
  return [...n, ...t];
451
522
  }
452
523
  /**
@@ -455,50 +526,59 @@ class K {
455
526
  * typenaam — dezelfde regel die de feed altijd al toonde voor onbekende types.
456
527
  */
457
528
  timelineText(n, t) {
458
- const i = s[n.type];
529
+ const i = c[n.type];
459
530
  if (i?.timeline) return i.timeline(n, t);
460
531
  const a = this.declared.get(n.type);
461
- return h(a?.text, n, this.translate) ?? n.type.replace(/_/g, " ").toLowerCase();
532
+ return y(a?.text, n, this.translate) ?? n.type.replace(/_/g, " ").toLowerCase();
462
533
  }
463
534
  /** De regel voor de inboxlijst. Leeg wanneer het type niets te tonen heeft. */
464
535
  snippet(n) {
465
- const t = s[n.type];
536
+ const t = c[n.type];
466
537
  if (t?.snippet) return t.snippet(n);
467
538
  const i = this.declared.get(n.type);
468
- return h(i?.text, n, this.translate) ?? "";
539
+ return y(i?.text, n, this.translate) ?? "";
469
540
  }
470
541
  /** De descriptor zoals hij binnenkwam; nodig om `text` als sleutel op te slaan. */
471
542
  descriptor(n) {
472
543
  return this.declared.get(n);
473
544
  }
545
+ /** De declaratieve blokken van een type, als het er heeft. */
546
+ blocks(n) {
547
+ const t = this.declared.get(n)?.render;
548
+ return t?.length ? t : void 0;
549
+ }
550
+ /** De vertaler die bij deze registry hoort, voor het oplossen van blokteksten. */
551
+ get translator() {
552
+ return this.translate;
553
+ }
474
554
  }
475
- const Ne = new K(), M = 140;
476
- function G(e) {
555
+ const Ue = new G(), S = 140;
556
+ function V(e) {
477
557
  const n = e.trim();
478
- return n.length <= M ? n : n.slice(0, M - 1).trimEnd() + "…";
558
+ return n.length <= S ? n : n.slice(0, S - 1).trimEnd() + "…";
479
559
  }
480
- function Oe(e, n) {
481
- const t = U(n?.text, e), i = n ? h(n.text, e, (a) => a) : null;
560
+ function Pe(e, n) {
561
+ const t = w(n?.text, e), i = n ? y(n.text, e, (a) => a) : null;
482
562
  return {
483
563
  activityId: e.id,
484
564
  type: e.type,
485
- snippet: G(i ?? x(e)),
565
+ snippet: V(i ?? P(e)),
486
566
  authorName: e.author?.name ?? "",
487
567
  direction: e.direction,
488
568
  createdAt: e.createdAt ?? Date.now(),
489
569
  ...t ? { snippetKey: t.key, snippetParams: t.params } : {}
490
570
  };
491
571
  }
492
- function Le(e, n, t = []) {
572
+ function we(e, n, t = []) {
493
573
  const i = e.createdAt;
494
574
  if (!i) return [];
495
575
  const a = new Set(t);
496
576
  return e.author.type === "user" && e.author.id && a.add(e.author.id), Object.entries(n).filter(([r, o]) => o >= i && !a.has(r)).map(([r]) => r);
497
577
  }
498
- function ke(e) {
578
+ function Ke(e) {
499
579
  return e.createdAt ?? 0;
500
580
  }
501
- const Re = [
581
+ const Ge = [
502
582
  { id: "agent", label: "Agent", labelSource: "user" },
503
583
  { id: "team", label: "Team", labelSource: "team" },
504
584
  { id: "inbox", label: "Inbox", labelSource: "inbox" },
@@ -508,57 +588,57 @@ const Re = [
508
588
  { id: "handledBy", label: "Afhandelaar", labelSource: "raw" },
509
589
  { id: "time", label: "Tijd", labelSource: "raw" }
510
590
  ];
511
- function $e(e) {
591
+ function Ve(e) {
512
592
  const n = [];
513
593
  for (const t of Object.keys(e))
514
594
  for (const i of Object.keys(e[t]))
515
595
  n.push({ lang: t, key: i, value: e[t][i] });
516
596
  return n;
517
597
  }
518
- function f(e) {
598
+ function g(e) {
519
599
  return e < 10 ? `0${e}` : `${e}`;
520
600
  }
521
- function w(e, n) {
522
- const t = new Date(e), i = `${t.getUTCFullYear()}-${f(t.getUTCMonth() + 1)}-${f(t.getUTCDate())}`;
523
- return n === "day" ? i : `${i}T${f(t.getUTCHours())}`;
601
+ function H(e, n) {
602
+ const t = new Date(e), i = `${t.getUTCFullYear()}-${g(t.getUTCMonth() + 1)}-${g(t.getUTCDate())}`;
603
+ return n === "day" ? i : `${i}T${g(t.getUTCHours())}`;
524
604
  }
525
- function V(e, n) {
605
+ function B(e, n) {
526
606
  const t = new Date(e);
527
607
  return t.setUTCMinutes(0, 0, 0), n === "day" && t.setUTCHours(0), t.getTime();
528
608
  }
529
- const H = 36e5, j = 864e5;
530
- function xe(e, n, t) {
531
- const i = t === "hour" ? H : j, a = [];
532
- for (let r = V(e, t); r <= n; r += i)
533
- a.push(w(r, t));
609
+ const j = 36e5, F = 864e5;
610
+ function He(e, n, t) {
611
+ const i = t === "hour" ? j : F, a = [];
612
+ for (let r = B(e, t); r <= n; r += i)
613
+ a.push(H(r, t));
534
614
  return a;
535
615
  }
536
- const B = [
616
+ const X = [
537
617
  { id: "resource", label: "Resource", labelSource: "raw" },
538
618
  { id: "origin", label: "Herkomst", labelSource: "raw" }
539
- ], F = B.map((e) => e.id);
540
- function W(e, n) {
619
+ ], W = X.map((e) => e.id);
620
+ function Y(e, n) {
541
621
  return `${e}.usage.${n}`;
542
622
  }
543
- function Ue(e, n) {
623
+ function Be(e, n) {
544
624
  return n.map((t) => ({
545
- id: W(e, t.unit),
625
+ id: Y(e, t.unit),
546
626
  label: t.label,
547
627
  category: "Verbruik",
548
628
  valueType: t.valueType ?? "count",
549
629
  aggregation: "sum",
550
630
  supportedDimensions: [
551
631
  "provider",
552
- ...F,
632
+ ...W,
553
633
  ...t.extraDimensions ?? [],
554
634
  "time"
555
635
  ]
556
636
  }));
557
637
  }
558
- function Pe(e) {
638
+ function je(e) {
559
639
  return (e.startsWith("tool:") ? e.slice(5) : e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
560
640
  }
561
- const Ke = [
641
+ const Fe = [
562
642
  { name: "text", type: "string" },
563
643
  { name: "subject", type: "string" },
564
644
  { name: "from", type: "string" },
@@ -581,7 +661,7 @@ const Ke = [
581
661
  // een nieuw adres) — een stap die hierop leunt hoort dus een `condition` te hebben.
582
662
  { name: "contactId", type: "string" },
583
663
  { name: "companyId", type: "string" }
584
- ], Ge = {
664
+ ], Xe = {
585
665
  topics: [
586
666
  { name: "topic", type: "string" },
587
667
  { name: "confidence", type: "number" }
@@ -592,7 +672,7 @@ const Ke = [
592
672
  ],
593
673
  extract: []
594
674
  };
595
- function Y(e) {
675
+ function z(e) {
596
676
  switch (e.kind) {
597
677
  case "user":
598
678
  return `user:${e.userId}`;
@@ -602,7 +682,7 @@ function Y(e) {
602
682
  return "org";
603
683
  }
604
684
  }
605
- function we(e) {
685
+ function We(e) {
606
686
  if (typeof e != "string") return;
607
687
  const n = e.trim();
608
688
  if (n === "org") return { kind: "org" };
@@ -614,10 +694,10 @@ function we(e) {
614
694
  if (i === "team") return { kind: "team", teamId: a };
615
695
  }
616
696
  }
617
- function z(e) {
618
- return Y(e);
697
+ function q(e) {
698
+ return z(e);
619
699
  }
620
- function Ve(e) {
700
+ function Ye(e) {
621
701
  switch (e.kind) {
622
702
  case "personal":
623
703
  return { kind: "user", userId: e.userId };
@@ -627,20 +707,20 @@ function Ve(e) {
627
707
  return { kind: "org" };
628
708
  }
629
709
  }
630
- function He(e) {
631
- return z(e);
710
+ function ze(e) {
711
+ return q(e);
632
712
  }
633
- const q = ["done", "escalated", "failed", "timed_out", "stopped"], X = ["awaiting_approval", "awaiting_reply"];
634
- function J(e) {
635
- return q.includes(e);
713
+ const J = ["done", "escalated", "failed", "timed_out", "stopped"], Q = ["awaiting_approval", "awaiting_reply"];
714
+ function Z(e) {
715
+ return J.includes(e);
636
716
  }
637
- function je(e) {
638
- return J(e);
717
+ function qe(e) {
718
+ return Z(e);
639
719
  }
640
- function Be(e) {
641
- return X.includes(e);
720
+ function Je(e) {
721
+ return Q.includes(e);
642
722
  }
643
- const k = [
723
+ const R = [
644
724
  {
645
725
  id: "openai",
646
726
  label: "OpenAI",
@@ -729,52 +809,52 @@ const k = [
729
809
  }
730
810
  ];
731
811
  function E(e) {
732
- return k.find((n) => n.id === e);
812
+ return R.find((n) => n.id === e);
733
813
  }
734
- function Fe(e) {
814
+ function Qe(e) {
735
815
  return E(e)?.label ?? e;
736
816
  }
737
- function We(e, n = "gpt-5-mini") {
817
+ function Ze(e, n = "gpt-5-mini") {
738
818
  return E(e)?.defaultModel ?? n;
739
819
  }
740
- function Ye(e) {
741
- return k.filter((n) => n.capabilities.includes(e));
820
+ function en(e) {
821
+ return R.filter((n) => n.capabilities.includes(e));
742
822
  }
743
- function ze(e) {
823
+ function nn(e) {
744
824
  const n = E(e);
745
825
  return !!n && !n.baseUrl;
746
826
  }
747
- const qe = /* @__PURE__ */ new Set(["mail", "message"]);
748
- function Q(e, n) {
827
+ const tn = /* @__PURE__ */ new Set(["mail", "message"]);
828
+ function ee(e, n) {
749
829
  const t = e.settings?.signatures?.[n];
750
830
  return !t || !t.enabled || !t.body || t.body.trim() === "" ? null : t;
751
831
  }
752
- function Xe(e, n, t, i = "html") {
832
+ function an(e, n, t, i = "html") {
753
833
  if (!e) return t;
754
- const a = Q(e, n);
834
+ const a = ee(e, n);
755
835
  return a ? `${t}${i === "text" ? `
756
836
 
757
837
  ` : n === "mail" ? "<br><br>-- <br>" : "<br><br>"}${a.body}` : t;
758
838
  }
759
- function Je(e) {
839
+ function rn(e) {
760
840
  return e.endpoints ?? [];
761
841
  }
762
- const Qe = (e) => !!e.assignedUserId || !!e.assignedInboxId, Ze = (e) => e.status === "closed", en = (e) => ({
842
+ const on = (e) => !!e.assignedUserId || !!e.assignedInboxId, sn = (e) => e.status === "closed", ln = (e) => ({
763
843
  urgent: 10,
764
844
  high: 5,
765
845
  normal: 2,
766
846
  low: 1
767
- })[e.priority] || 0, nn = (e, n = 30) => e.title?.length <= n ? e.title : `${e.title.substring(0, n)}...`;
768
- function tn(e, n) {
847
+ })[e.priority] || 0, cn = (e, n = 30) => e.title?.length <= n ? e.title : `${e.title.substring(0, n)}...`;
848
+ function un(e, n) {
769
849
  return e.lastActivityAt ? !(e.seenBy ?? []).includes(n) : !1;
770
850
  }
771
- const an = 2e3, rn = 500, on = 12e3, ln = 4e3, Z = ["contact", "company"];
772
- function sn(e) {
851
+ const pn = 2e3, dn = 500, mn = 12e3, fn = 4e3, ne = ["contact", "company"];
852
+ function gn(e) {
773
853
  if (!e) return !1;
774
854
  const n = e.slice(0, e.indexOf(":"));
775
- return Z.includes(n);
855
+ return ne.includes(n);
776
856
  }
777
- const y = {
857
+ const b = {
778
858
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
779
859
  // shorter than geographic numbers, and a too-strict minimum silently drops them.
780
860
  // An over-permissive key is harmless — it simply matches nothing.
@@ -797,81 +877,81 @@ const y = {
797
877
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
798
878
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
799
879
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
800
- }, ee = "NL", ne = 15, te = 8, ie = Array.from(
801
- new Set(Object.values(y).map((e) => e.callingCode))
880
+ }, te = "NL", ie = 15, ae = 8, re = Array.from(
881
+ new Set(Object.values(b).map((e) => e.callingCode))
802
882
  ).sort((e, n) => n.length - e.length);
803
- function S(e) {
883
+ function C(e) {
804
884
  if (e)
805
- return y[e.trim().toUpperCase()];
885
+ return b[e.trim().toUpperCase()];
806
886
  }
807
887
  function d(e, n) {
808
888
  return e.length >= n.nsnMin && e.length <= n.nsnMax;
809
889
  }
810
890
  function v(e) {
811
- if (e.length > ne) return null;
812
- for (const n of ie) {
891
+ if (e.length > ie) return null;
892
+ for (const n of re) {
813
893
  if (!e.startsWith(n)) continue;
814
894
  const t = e.slice(n.length);
815
- for (const i of Object.values(y)) {
895
+ for (const i of Object.values(b)) {
816
896
  if (i.callingCode !== n) continue;
817
897
  const a = i.trunkPrefix, r = a && t.startsWith(a) ? t.slice(a.length) : t;
818
898
  if (d(r, i)) return `+${n}${r}`;
819
899
  }
820
900
  return null;
821
901
  }
822
- return e.length < te ? null : `+${e}`;
902
+ return e.length < ae ? null : `+${e}`;
823
903
  }
824
- function ae(e) {
904
+ function oe(e) {
825
905
  let n = e.trim();
826
906
  const t = n.match(/^(sips?|tel|whatsapp):/i);
827
907
  t && (n = n.slice(t[0].length));
828
908
  const i = n.indexOf("@");
829
909
  return i >= 0 && (n = n.slice(0, i)), n.trim();
830
910
  }
831
- function cn(e) {
911
+ function hn(e) {
832
912
  if (!e) return !1;
833
913
  const n = e.indexOf("@");
834
914
  if (n <= 0) return !1;
835
915
  const t = e.slice(0, n).trim();
836
916
  return !/^[+\d\s().-]+$/.test(t);
837
917
  }
838
- function C(e, n) {
918
+ function N(e, n) {
839
919
  if (!e) return null;
840
- const t = ae(e);
920
+ const t = oe(e);
841
921
  if (!t) return null;
842
922
  const i = t.startsWith("+"), a = t.replace(/\D/g, "");
843
923
  if (!a) return null;
844
924
  if (i) return v(a);
845
925
  if (a.startsWith("00")) return v(a.slice(2));
846
- const r = S(n) ?? S(ee);
926
+ const r = C(n) ?? C(te);
847
927
  if (!r) return null;
848
928
  const o = r.trunkPrefix;
849
929
  if (o && a.startsWith(o)) {
850
- const c = a.slice(o.length);
851
- return d(c, r) ? `+${r.callingCode}${c}` : null;
930
+ const s = a.slice(o.length);
931
+ return d(s, r) ? `+${r.callingCode}${s}` : null;
852
932
  }
853
933
  if (a.startsWith(r.callingCode)) {
854
- const c = a.slice(r.callingCode.length);
855
- if (d(c, r)) return `+${r.callingCode}${c}`;
934
+ const s = a.slice(r.callingCode.length);
935
+ if (d(s, r)) return `+${r.callingCode}${s}`;
856
936
  }
857
937
  return !o && d(a, r) ? `+${r.callingCode}${a}` : null;
858
938
  }
859
- function pn(e, n = 9) {
939
+ function yn(e, n = 9) {
860
940
  const t = (e ?? "").replace(/\D/g, "");
861
941
  return t.length < n ? null : t.slice(-n);
862
942
  }
863
- function R(e) {
943
+ function $(e) {
864
944
  if (!e) return null;
865
945
  const n = e.trim().toLowerCase(), t = n.lastIndexOf("@");
866
946
  if (t <= 0 || t === n.length - 1) return null;
867
947
  const i = n.slice(0, t).split("+")[0], a = n.slice(t + 1);
868
948
  return !i || !a.includes(".") ? null : `${i}@${a}`;
869
949
  }
870
- function un(e) {
871
- const n = R(e);
950
+ function En(e) {
951
+ const n = $(e);
872
952
  return n ? n.slice(n.lastIndexOf("@") + 1) : null;
873
953
  }
874
- const re = /* @__PURE__ */ new Set([
954
+ const se = /* @__PURE__ */ new Set([
875
955
  "co.uk",
876
956
  "org.uk",
877
957
  "gov.uk",
@@ -881,14 +961,14 @@ const re = /* @__PURE__ */ new Set([
881
961
  "com.br",
882
962
  "co.za"
883
963
  ]);
884
- function oe(e) {
964
+ function le(e) {
885
965
  if (!e) return null;
886
966
  const n = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
887
967
  if (n.length < 2) return null;
888
968
  const t = n.slice(-2).join(".");
889
- return re.has(t) && n.length >= 3 ? n.slice(-3).join(".") : t;
969
+ return se.has(t) && n.length >= 3 ? n.slice(-3).join(".") : t;
890
970
  }
891
- const le = /* @__PURE__ */ new Set([
971
+ const ce = /* @__PURE__ */ new Set([
892
972
  "gmail.com",
893
973
  "googlemail.com",
894
974
  "outlook.com",
@@ -933,34 +1013,34 @@ const le = /* @__PURE__ */ new Set([
933
1013
  "proximus.be",
934
1014
  "scarlet.be"
935
1015
  ]);
936
- function dn(e) {
937
- const n = oe(e);
938
- return n ? le.has(n) : !1;
1016
+ function bn(e) {
1017
+ const n = le(e);
1018
+ return n ? ce.has(n) : !1;
939
1019
  }
940
- function mn(e) {
1020
+ function An(e) {
941
1021
  if (!e) return !1;
942
1022
  const n = e.trim().toLowerCase();
943
1023
  return n === "tel" || n === "sms" || n === "whatsapp" || n === "fax";
944
1024
  }
945
- function fn(e, n, t) {
1025
+ function In(e, n, t) {
946
1026
  if (!e || !n) return null;
947
1027
  const i = e.trim().toLowerCase();
948
1028
  if (i === "tel" || i === "sms" || i === "whatsapp") {
949
- const r = C(n, t);
1029
+ const r = N(n, t);
950
1030
  return r ? `tel:${r}` : null;
951
1031
  }
952
1032
  if (i === "fax") {
953
- const r = C(n, t);
1033
+ const r = N(n, t);
954
1034
  return r ? `fax:${r}` : null;
955
1035
  }
956
1036
  if (i === "mailto" || i === "email") {
957
- const r = R(n);
1037
+ const r = $(n);
958
1038
  return r ? `mailto:${r}` : null;
959
1039
  }
960
1040
  const a = n.trim().toLowerCase();
961
1041
  return a ? `${i}:${a}` : null;
962
1042
  }
963
- const se = [
1043
+ const ue = [
964
1044
  /<blockquote/i,
965
1045
  /class="?gmail_quote/i,
966
1046
  // Gmail quote container
@@ -973,23 +1053,23 @@ const se = [
973
1053
  // Outlook underscore separator before "From:"
974
1054
  /\bOn\b[\s\S]{0,200}?\bwrote:/i
975
1055
  // Gmail "On <date> <name> wrote:"
976
- ], D = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, ce = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
977
- function pe(e) {
1056
+ ], O = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, pe = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
1057
+ function de(e) {
978
1058
  const n = e.split(`
979
1059
  `);
980
1060
  for (let t = 0; t < n.length; t++)
981
- if (ce.test(n[t]) || D.test(n[t]) && n.slice(t + 1, t + 4).some((i) => D.test(i)))
1061
+ if (pe.test(n[t]) || O.test(n[t]) && n.slice(t + 1, t + 4).some((i) => O.test(i)))
982
1062
  return n.slice(0, t).join(`
983
1063
  `).trim();
984
1064
  return e;
985
1065
  }
986
- function N(e) {
1066
+ function k(e) {
987
1067
  let n = e;
988
1068
  return n = n.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), n = n.replace(/<br\s*\/?>/gi, `
989
1069
  `), n = n.replace(/<\/(p|div|li|tr|h[1-6]|ul|ol|table)>/gi, `
990
1070
  `), n = n.replace(/<[^>]+>/g, ""), n = n.replace(/<[^>]*$/, ""), n;
991
1071
  }
992
- function O(e) {
1072
+ function D(e) {
993
1073
  return e.replace(/&nbsp;/gi, " ").replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#39;/gi, "'").replace(/&#(\d+);/g, (n, t) => String.fromCharCode(Number(t))).replace(/&amp;/gi, "&");
994
1074
  }
995
1075
  function L(e) {
@@ -998,34 +1078,34 @@ function L(e) {
998
1078
 
999
1079
  `).trim();
1000
1080
  }
1001
- function gn(e) {
1081
+ function _n(e) {
1002
1082
  if (typeof e != "string" || !e) return "";
1003
1083
  let n = e.length;
1004
- for (const r of se) {
1084
+ for (const r of ue) {
1005
1085
  const o = e.search(r);
1006
1086
  o >= 0 && o < n && (n = o);
1007
1087
  }
1008
1088
  const t = e.slice(0, n);
1009
- let i = L(O(N(t)));
1010
- return i || (i = L(O(N(e)))), pe(i) || i;
1089
+ let i = L(D(k(t)));
1090
+ return i || (i = L(D(k(e)))), de(i) || i;
1011
1091
  }
1012
- const ue = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, de = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
1013
- function hn(e, n) {
1014
- return !!(e && ue.test(e) || n && de.test(n));
1092
+ const me = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, fe = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
1093
+ function Tn(e, n) {
1094
+ return !!(e && me.test(e) || n && fe.test(n));
1015
1095
  }
1016
- const me = 3, fe = 600;
1017
- function En(e, n) {
1018
- return e >= me || n >= fe;
1096
+ const ge = 3, he = 600;
1097
+ function Mn(e, n) {
1098
+ return e >= ge || n >= he;
1019
1099
  }
1020
- function ge(e, n) {
1021
- const t = new Set(e.disabledIntents ?? []), i = e.intentOverrides ?? {}, a = n.intents.filter((o) => !t.has(o.intent)).map((o) => Ee(o, i[o.intent]));
1100
+ function ye(e, n) {
1101
+ const t = new Set(e.disabledIntents ?? []), i = e.intentOverrides ?? {}, a = n.intents.filter((o) => !t.has(o.intent)).map((o) => be(o, i[o.intent]));
1022
1102
  if (!e.extraIntents || e.extraIntents.length === 0) return a;
1023
1103
  const r = new Set(a.map((o) => o.intent));
1024
1104
  for (const o of e.extraIntents)
1025
1105
  r.has(o.intent) || (a.push(o), r.add(o.intent));
1026
1106
  return a;
1027
1107
  }
1028
- function he(e, n) {
1108
+ function Ee(e, n) {
1029
1109
  const t = {};
1030
1110
  for (const i of e.intents) {
1031
1111
  if (!i.togglable) continue;
@@ -1034,46 +1114,46 @@ function he(e, n) {
1034
1114
  }
1035
1115
  return t;
1036
1116
  }
1037
- function yn(e, n) {
1038
- const t = he(e, n);
1117
+ function Sn(e, n) {
1118
+ const t = Ee(e, n);
1039
1119
  return Object.entries(t).filter(([, i]) => !i).map(([i]) => i);
1040
1120
  }
1041
- function Ee(e, n) {
1121
+ function be(e, n) {
1042
1122
  return n ? {
1043
1123
  intent: n.intent ?? e.intent,
1044
1124
  targetSchemes: n.targetSchemes ?? e.targetSchemes,
1045
1125
  transport: n.transport ?? e.transport
1046
1126
  } : e;
1047
1127
  }
1048
- function bn(e, n) {
1128
+ function Cn(e, n) {
1049
1129
  const t = [];
1050
1130
  for (const i of e) {
1051
1131
  if (!i.enabled) continue;
1052
1132
  const a = n[i.providerId];
1053
1133
  if (a)
1054
- for (const r of ge(i, a))
1134
+ for (const r of ye(i, a))
1055
1135
  t.push({ channel: i, description: a, capability: r });
1056
1136
  }
1057
1137
  return t;
1058
1138
  }
1059
- function An(e, n) {
1139
+ function vn(e, n) {
1060
1140
  return n.filter((t) => t.capability.intent === e);
1061
1141
  }
1062
- function ye(e, n) {
1142
+ function Ae(e, n) {
1063
1143
  return n.filter((t) => t.capability.targetSchemes.includes(e));
1064
1144
  }
1065
- function In(e, n) {
1066
- return ye(e.scheme, n);
1145
+ function Nn(e, n) {
1146
+ return Ae(e.scheme, n);
1067
1147
  }
1068
- function _n(e, n, t) {
1148
+ function On(e, n, t) {
1069
1149
  const i = [];
1070
1150
  for (const a of e)
1071
1151
  for (const r of t)
1072
1152
  r.capability.intent === n && r.capability.targetSchemes.includes(a.scheme) && i.push({ channelIntent: r, endpoint: a });
1073
1153
  return i;
1074
1154
  }
1075
- var be = /* @__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))(be || {});
1076
- const Tn = "message_window", Mn = "message_templates", Sn = {
1155
+ var Ie = /* @__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))(Ie || {});
1156
+ const kn = "message_window", Dn = "message_templates", Ln = {
1077
1157
  // E-mail
1078
1158
  FROM: "from",
1079
1159
  TO: "to",
@@ -1090,105 +1170,110 @@ const Tn = "message_window", Mn = "message_templates", Sn = {
1090
1170
  // Voice/conference
1091
1171
  HOST: "host",
1092
1172
  PARTICIPANT: "participant"
1093
- }, vn = (e, n) => ({ intent: e, ...n }), Cn = "folder_management", Dn = "remote_search", Nn = { ok: !1, code: "UNSUPPORTED", message: "Provider does not support this op" }, On = 9e4, Ln = "installation-id";
1173
+ }, Rn = (e, n) => ({ intent: e, ...n }), $n = "folder_management", xn = "remote_search", Un = { ok: !1, code: "UNSUPPORTED", message: "Provider does not support this op" }, Pn = 9e4, wn = "installation-id";
1094
1174
  export {
1095
- s as ACTIVITY_CATALOG,
1096
- k as AI_VENDORS,
1097
- K as ActivityTypeRegistry,
1098
- Ne as BUILT_IN_ONLY,
1099
- Ge as CLASSIFY_VARS,
1100
- Re as CORE_DIMENSIONS,
1101
- be as CommunicationScheme,
1102
- ln as DEFAULT_MEMORY_BUDGET,
1103
- ee as DEFAULT_PHONE_REGION,
1104
- Cn as FEATURE_FOLDER_MANAGEMENT,
1105
- Dn as FEATURE_REMOTE_SEARCH,
1106
- Ln as INSTALLATION_HEADER,
1107
- Sn as InteractionParticipantRole,
1108
- on as MAX_MEMORY_BUDGET,
1109
- an as MAX_MEMORY_CHARS,
1110
- rn as MIN_MEMORY_BUDGET,
1111
- X as PAUSED_RUN_STATUSES,
1112
- y as PHONE_REGIONS,
1113
- On as PRESENCE_ONLINE_WINDOW_MS,
1114
- Mn as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
1115
- Tn as PROVIDER_FEATURE_MESSAGE_WINDOW,
1116
- le as PUBLIC_EMAIL_DOMAINS,
1117
- Z as RELATED_SUBJECT_KINDS,
1118
- qe as SIGNATURE_INTENTS,
1119
- fe as SUMMARY_MIN_LAST_CHARS,
1120
- me as SUMMARY_MIN_MESSAGES,
1121
- q as TERMINAL_RUN_STATUSES,
1122
- Ke as TRIGGER_VARS,
1123
- Nn as UNSUPPORTED,
1124
- B as USAGE_DIMENSIONS,
1125
- F as USAGE_DIMENSION_IDS,
1126
- z as actingIdentityKey,
1127
- Ae as activityIconOf,
1128
- De as activityJoinUrl,
1129
- x as activitySnippet,
1130
- U as activityTextParams,
1131
- Ce as activityTimelineText,
1132
- ke as activityTimestamp,
1175
+ c as ACTIVITY_CATALOG,
1176
+ R as AI_VENDORS,
1177
+ G as ActivityTypeRegistry,
1178
+ Ue as BUILT_IN_ONLY,
1179
+ Xe as CLASSIFY_VARS,
1180
+ Ge as CORE_DIMENSIONS,
1181
+ Ie as CommunicationScheme,
1182
+ fn as DEFAULT_MEMORY_BUDGET,
1183
+ te as DEFAULT_PHONE_REGION,
1184
+ $n as FEATURE_FOLDER_MANAGEMENT,
1185
+ xn as FEATURE_REMOTE_SEARCH,
1186
+ wn as INSTALLATION_HEADER,
1187
+ Ln as InteractionParticipantRole,
1188
+ Se as MAX_ACTIONS,
1189
+ _e as MAX_BLOCKS,
1190
+ Te as MAX_FIELDS,
1191
+ Me as MAX_LIST_ITEMS,
1192
+ mn as MAX_MEMORY_BUDGET,
1193
+ pn as MAX_MEMORY_CHARS,
1194
+ dn as MIN_MEMORY_BUDGET,
1195
+ Q as PAUSED_RUN_STATUSES,
1196
+ b as PHONE_REGIONS,
1197
+ Pn as PRESENCE_ONLINE_WINDOW_MS,
1198
+ Dn as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
1199
+ kn as PROVIDER_FEATURE_MESSAGE_WINDOW,
1200
+ ce as PUBLIC_EMAIL_DOMAINS,
1201
+ ne as RELATED_SUBJECT_KINDS,
1202
+ tn as SIGNATURE_INTENTS,
1203
+ he as SUMMARY_MIN_LAST_CHARS,
1204
+ ge as SUMMARY_MIN_MESSAGES,
1205
+ J as TERMINAL_RUN_STATUSES,
1206
+ Fe as TRIGGER_VARS,
1207
+ Un as UNSUPPORTED,
1208
+ X as USAGE_DIMENSIONS,
1209
+ W as USAGE_DIMENSION_IDS,
1210
+ q as actingIdentityKey,
1211
+ ve as activityIconOf,
1212
+ xe as activityJoinUrl,
1213
+ P as activitySnippet,
1214
+ w as activityTextParams,
1215
+ $e as activityTimelineText,
1216
+ Ke as activityTimestamp,
1133
1217
  l as activityTypeInfo,
1134
- He as actorKey,
1135
- We as aiVendorDefaultModel,
1136
- Fe as aiVendorLabel,
1137
- ze as aiVendorNeedsBaseUrl,
1138
- Ye as aiVendorsWith,
1139
- Xe as applySignature,
1140
- Oe as buildActivityPreview,
1141
- bn as buildChannelIntents,
1142
- Me as carriesText,
1143
- Ie as channelKindOf,
1144
- gn as cleanMessageText,
1145
- vn as defineIntent,
1146
- yn as disabledIntentsFromCapabilities,
1147
- un as emailDomain,
1148
- fn as endpointKey,
1149
- In as filterByEndpoint,
1150
- An as filterByIntent,
1151
- ye as filterByTargetScheme,
1218
+ ze as actorKey,
1219
+ Ze as aiVendorDefaultModel,
1220
+ Qe as aiVendorLabel,
1221
+ nn as aiVendorNeedsBaseUrl,
1222
+ en as aiVendorsWith,
1223
+ an as applySignature,
1224
+ Pe as buildActivityPreview,
1225
+ Cn as buildChannelIntents,
1226
+ De as carriesText,
1227
+ Ne as channelKindOf,
1228
+ _n as cleanMessageText,
1229
+ Rn as defineIntent,
1230
+ Sn as disabledIntentsFromCapabilities,
1231
+ En as emailDomain,
1232
+ In as endpointKey,
1233
+ Nn as filterByEndpoint,
1234
+ vn as filterByIntent,
1235
+ Ae as filterByTargetScheme,
1152
1236
  E as findAiVendor,
1153
- $e as flattenLocales,
1154
- V as floorToPeriod,
1155
- Y as formatActingIdentity,
1156
- w as formatPeriod,
1157
- Le as getActivitySeenUserIds,
1158
- Je as getContactEndpoints,
1159
- nn as getShortTitle,
1160
- en as getUrgencyScore,
1161
- Pe as humanizeAction,
1162
- Qe as isAssigned,
1163
- Ze as isClosed,
1164
- tn as isInteractionUnseen,
1165
- hn as isLikelyBulk,
1166
- _e as isMessageType,
1167
- Be as isPaused,
1168
- ve as isPlaybookAuthoredType,
1169
- dn as isPublicEmailDomain,
1170
- Te as isReplyableType,
1171
- je as isRetryable,
1172
- J as isTerminal,
1173
- En as isThreadLongEnough,
1174
- cn as looksLikeEmail,
1175
- _n as matchContactToIntents,
1176
- Se as messageCountsAs,
1177
- mn as needsPhoneRegion,
1178
- R as normalizeEmail,
1179
- we as parseActingIdentity,
1180
- xe as periodsInRange,
1181
- pn as phoneSuffix,
1182
- Ve as playbookActor,
1183
- g as readPath,
1184
- oe as registrableDomain,
1185
- sn as relatedByDefault,
1186
- he as resolveAccountCapabilities,
1187
- h as resolveActivityText,
1188
- ge as resolveChannelIntents,
1189
- Q as resolveSignature,
1190
- $ as stripHtml,
1191
- C as toE164,
1192
- W as usageMetricId,
1193
- Ue as usageMetrics
1237
+ Ve as flattenLocales,
1238
+ B as floorToPeriod,
1239
+ z as formatActingIdentity,
1240
+ H as formatPeriod,
1241
+ we as getActivitySeenUserIds,
1242
+ rn as getContactEndpoints,
1243
+ cn as getShortTitle,
1244
+ ln as getUrgencyScore,
1245
+ je as humanizeAction,
1246
+ on as isAssigned,
1247
+ sn as isClosed,
1248
+ un as isInteractionUnseen,
1249
+ Tn as isLikelyBulk,
1250
+ Oe as isMessageType,
1251
+ Je as isPaused,
1252
+ Re as isPlaybookAuthoredType,
1253
+ bn as isPublicEmailDomain,
1254
+ ke as isReplyableType,
1255
+ qe as isRetryable,
1256
+ Z as isTerminal,
1257
+ Mn as isThreadLongEnough,
1258
+ hn as looksLikeEmail,
1259
+ On as matchContactToIntents,
1260
+ Le as messageCountsAs,
1261
+ An as needsPhoneRegion,
1262
+ Ce as normalizeBlocks,
1263
+ $ as normalizeEmail,
1264
+ We as parseActingIdentity,
1265
+ He as periodsInRange,
1266
+ yn as phoneSuffix,
1267
+ Ye as playbookActor,
1268
+ h as readPath,
1269
+ le as registrableDomain,
1270
+ gn as relatedByDefault,
1271
+ Ee as resolveAccountCapabilities,
1272
+ y as resolveActivityText,
1273
+ ye as resolveChannelIntents,
1274
+ ee as resolveSignature,
1275
+ U as stripHtml,
1276
+ N as toE164,
1277
+ Y as usageMetricId,
1278
+ Be as usageMetrics
1194
1279
  };