@opencxh/domain 1.235.0 → 1.238.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 Oi = 10, Ci = 10, Ni = 10, xi = 5, Yt = /* @__PURE__ */ new Set([
1
+ const Ki = 10, Fi = 10, Bi = 10, Hi = 5, Qt = /* @__PURE__ */ new Set([
2
2
  "header",
3
3
  "section",
4
4
  "context",
@@ -8,13 +8,13 @@ const Oi = 10, Ci = 10, Ni = 10, xi = 5, Yt = /* @__PURE__ */ new Set([
8
8
  "actions",
9
9
  "attachments"
10
10
  ]);
11
- function te(e) {
11
+ function ne(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 Ri(e, t = () => {
17
+ function ji(e, t = () => {
18
18
  }) {
19
19
  if (!Array.isArray(e)) return [];
20
20
  const n = [];
@@ -25,19 +25,19 @@ function Ri(e, t = () => {
25
25
  }
26
26
  if (!r || typeof r != "object") continue;
27
27
  const o = r;
28
- if (!Yt.has(o.type)) {
28
+ if (!Qt.has(o.type)) {
29
29
  t(`unknown block type ${String(o.type)}`);
30
30
  continue;
31
31
  }
32
32
  switch (o.type) {
33
33
  case "header":
34
- if (!te(o.text)) {
34
+ if (!ne(o.text)) {
35
35
  t("a header without text");
36
36
  continue;
37
37
  }
38
38
  break;
39
39
  case "context":
40
- if (!te(o.text)) {
40
+ if (!ne(o.text)) {
41
41
  t("a context block without text");
42
42
  continue;
43
43
  }
@@ -59,7 +59,7 @@ function Ri(e, t = () => {
59
59
  o.items.length > 10 && (t("more than 10 list items"), o.items = o.items.slice(0, 10));
60
60
  break;
61
61
  case "actions": {
62
- const i = Array.isArray(o.elements) ? o.elements : [], s = i.filter((a) => a?.action_id && a.invoke && te(a.text));
62
+ const i = Array.isArray(o.elements) ? o.elements : [], s = i.filter((a) => a?.action_id && a.invoke && ne(a.text));
63
63
  if (s.length !== i.length && t("an action without action_id, invoke or text"), s.length === 0) continue;
64
64
  s.length > 5 && t("more than 5 actions"), o.elements = s.slice(0, 5);
65
65
  break;
@@ -69,34 +69,34 @@ function Ri(e, t = () => {
69
69
  }
70
70
  return n;
71
71
  }
72
- const qt = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, Jt = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
73
- function Zt(e) {
72
+ const en = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, tn = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
73
+ function nn(e) {
74
74
  if (typeof e != "string" || !e) return "";
75
75
  let t = e;
76
76
  return t = t.replace(/```[a-z]*\n?/gi, "").replace(/~~~[a-z]*\n?/gi, ""), t = t.replace(/!\[([^\]]*)\]\([^)]*\)/g, "$1"), t = t.replace(/\[([^\]]*)\]\([^)]*\)/g, "$1"), t = t.replace(/\[([^\]]*)\]\[[^\]]*\]/g, "$1"), t = t.replace(/<((?:https?|mailto):[^>\s]+)>/gi, "$1"), t = t.split(`
77
77
  `).map(
78
78
  (n) => n.replace(/^\s{0,3}#{1,6}\s+/, "").replace(/^\s{0,3}>\s?/, "").replace(/^\s*[-*+]\s+/, "").replace(/^\s*\d+[.)]\s+/, "").replace(/^\s*(?:[-*_]\s*){3,}$/, "")
79
79
  ).join(`
80
- `), t = t.replace(qt, "$2"), t = t.replace(Jt, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
80
+ `), t = t.replace(en, "$2"), t = t.replace(tn, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
81
81
  }
82
- function Qt(e) {
82
+ function rn(e) {
83
83
  return e.replace(/<style[\s\S]*?<\/style>/gi, " ").replace(/<script[\s\S]*?<\/script>/gi, " ").replace(/<[^>]+>/g, " ").replace(/&nbsp;/g, " ").replace(/&amp;/g, "&").replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&#39;/g, "'").replace(/\s+/g, " ").trim();
84
84
  }
85
- function G(e) {
85
+ function V(e) {
86
86
  if (!e || e < 0) return "";
87
87
  const t = Math.floor(e / 60), n = Math.floor(e % 60);
88
88
  return `${t}:${n.toString().padStart(2, "0")}`;
89
89
  }
90
- function xe(e) {
90
+ function Re(e) {
91
91
  return e ? ` — ${Math.floor(e / 60)}m ${e % 60}s` : "";
92
92
  }
93
- function ne(e) {
93
+ function re(e) {
94
94
  return e?.split("@")?.[0] || e || "";
95
95
  }
96
- function V(e) {
96
+ function z(e) {
97
97
  return e.map((t) => t.name).join(", ");
98
98
  }
99
- function Re(e) {
99
+ function De(e) {
100
100
  return e === "meeting" ? "Meeting" : e === "video" ? "Video call" : "Audio call";
101
101
  }
102
102
  const R = {
@@ -106,7 +106,7 @@ const R = {
106
106
  channelKind: "voice",
107
107
  icon: "phone",
108
108
  snippet: () => "Gesprek gestart",
109
- timeline: (e) => e.direction === "inbound" ? `Inbound call started — ${ne(e.payload.from)}` : `Outbound call started — ${ne(e.payload.to)}`
109
+ timeline: (e) => e.direction === "inbound" ? `Inbound call started — ${re(e.payload.from)}` : `Outbound call started — ${re(e.payload.to)}`
110
110
  },
111
111
  VOICE_CALL_ANSWERED: {
112
112
  shape: "event",
@@ -133,15 +133,15 @@ const R = {
133
133
  shape: "event",
134
134
  channelKind: "voice",
135
135
  icon: "phone",
136
- snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${G(e.payload.duration)})` : ""}`,
137
- timeline: (e) => `Call ended${xe(e.payload.duration)}`
136
+ snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${V(e.payload.duration)})` : ""}`,
137
+ timeline: (e) => `Call ended${Re(e.payload.duration)}`
138
138
  },
139
139
  VOICE_CALL_MISSED: {
140
140
  shape: "event",
141
141
  channelKind: "voice",
142
142
  icon: "phone",
143
143
  snippet: () => "Gemiste oproep",
144
- timeline: (e) => `Missed call — ${ne(e.payload.from)}`
144
+ timeline: (e) => `Missed call — ${re(e.payload.from)}`
145
145
  },
146
146
  VOICE_CALL_FAILED: {
147
147
  shape: "event",
@@ -188,7 +188,7 @@ const R = {
188
188
  shape: "event",
189
189
  channelKind: "video",
190
190
  icon: "video",
191
- snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${G(e.payload.duration)})` : ""}`,
191
+ snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${V(e.payload.duration)})` : ""}`,
192
192
  timeline: () => "Video call ended"
193
193
  },
194
194
  VIDEO_CALL_MISSED: {
@@ -216,7 +216,7 @@ const R = {
216
216
  replyable: !0,
217
217
  carriesText: !0,
218
218
  countsAs: "inbound_message",
219
- snippet: De
219
+ snippet: $e
220
220
  },
221
221
  EMAIL_SENT: {
222
222
  shape: "message",
@@ -226,7 +226,7 @@ const R = {
226
226
  replyable: !0,
227
227
  carriesText: !0,
228
228
  countsAs: "outbound_message",
229
- snippet: De
229
+ snippet: $e
230
230
  },
231
231
  /* ---- chat ---- */
232
232
  CHAT_MESSAGE_SENT: {
@@ -255,9 +255,9 @@ const R = {
255
255
  shape: "event",
256
256
  channelKind: "chat",
257
257
  icon: "message-circle",
258
- snippet: (e) => `${V(e.payload.members)} toegevoegd`,
258
+ snippet: (e) => `${z(e.payload.members)} toegevoegd`,
259
259
  timeline: (e) => {
260
- const t = V(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · added by ${e.payload.initiator.name}` : "";
260
+ const t = z(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · added by ${e.payload.initiator.name}` : "";
261
261
  return `${t} joined the chat${n}`;
262
262
  }
263
263
  },
@@ -265,9 +265,9 @@ const R = {
265
265
  shape: "event",
266
266
  channelKind: "chat",
267
267
  icon: "message-circle",
268
- snippet: (e) => `${V(e.payload.members)} verlaten`,
268
+ snippet: (e) => `${z(e.payload.members)} verlaten`,
269
269
  timeline: (e) => {
270
- const t = V(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · removed by ${e.payload.initiator.name}` : "";
270
+ const t = z(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · removed by ${e.payload.initiator.name}` : "";
271
271
  return `${t} left the chat${n}`;
272
272
  }
273
273
  },
@@ -283,15 +283,15 @@ const R = {
283
283
  channelKind: "chat",
284
284
  icon: "message-circle",
285
285
  snippet: () => "Gesprek gestart",
286
- timeline: (e) => `${Re(e.payload.callType)} started${e.payload.initiator ? ` by ${e.payload.initiator.name}` : ""}`,
286
+ timeline: (e) => `${De(e.payload.callType)} started${e.payload.initiator ? ` by ${e.payload.initiator.name}` : ""}`,
287
287
  joinUrl: (e) => e.payload.joinUrl
288
288
  },
289
289
  CHAT_CALL_ENDED: {
290
290
  shape: "event",
291
291
  channelKind: "chat",
292
292
  icon: "message-circle",
293
- snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${G(e.payload.duration)})` : ""}`,
294
- timeline: (e) => `${Re(e.payload.callType)} ended${xe(e.payload.duration)}`,
293
+ snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${V(e.payload.duration)})` : ""}`,
294
+ timeline: (e) => `${De(e.payload.callType)} ended${Re(e.payload.duration)}`,
295
295
  joinUrl: (e) => e.payload.joinUrl
296
296
  },
297
297
  CHAT_EVENT: {
@@ -380,7 +380,7 @@ const R = {
380
380
  MEETING_ENDED: {
381
381
  shape: "event",
382
382
  icon: "calendar",
383
- snippet: (e) => `Vergadering beëindigd${e.payload.duration ? ` (${G(e.payload.duration)})` : ""}`,
383
+ snippet: (e) => `Vergadering beëindigd${e.payload.duration ? ` (${V(e.payload.duration)})` : ""}`,
384
384
  timeline: () => "Meeting ended"
385
385
  },
386
386
  MEETING_PARTICIPANT_JOINED: {
@@ -460,63 +460,63 @@ const R = {
460
460
  timeline: (e, t) => `Status changed by ${t}`
461
461
  }
462
462
  };
463
- function De(e) {
464
- const t = e.payload, n = Zt(t.bodyText).trim() || t.bodySnippet?.trim() || Qt(t.body ?? "");
463
+ function $e(e) {
464
+ const t = e.payload, n = nn(t.bodyText).trim() || t.bodySnippet?.trim() || rn(t.body ?? "");
465
465
  return t.subject ? `${t.subject} — ${n}` : n;
466
466
  }
467
- function w(e) {
467
+ function I(e) {
468
468
  return R[e];
469
469
  }
470
- function Di(e) {
471
- return w(e)?.icon ?? "circle";
470
+ function Wi(e) {
471
+ return I(e)?.icon ?? "circle";
472
472
  }
473
- function $i(e) {
474
- return w(e)?.channelKind;
473
+ function Gi(e) {
474
+ return I(e)?.channelKind;
475
475
  }
476
- function ht(e) {
476
+ function bt(e) {
477
477
  return e === "message" || e === "note";
478
478
  }
479
- function Li(e) {
480
- return ht(w(e)?.shape);
479
+ function Vi(e) {
480
+ return bt(I(e)?.shape);
481
481
  }
482
- function gt(e) {
482
+ function At(e) {
483
483
  return e === "note";
484
484
  }
485
- function Pi(e) {
486
- return gt(w(e)?.shape);
485
+ function zi(e) {
486
+ return At(I(e)?.shape);
487
487
  }
488
- function Ui(e) {
489
- return w(e)?.replyable === !0;
488
+ function Xi(e) {
489
+ return I(e)?.replyable === !0;
490
490
  }
491
- function Ki(e) {
492
- return w(e)?.carriesText === !0;
491
+ function Yi(e) {
492
+ return I(e)?.carriesText === !0;
493
493
  }
494
- function en(e) {
495
- return w(e)?.countsAs;
494
+ function on(e) {
495
+ return I(e)?.countsAs;
496
496
  }
497
- function Fi(e) {
498
- return w(e)?.playbookAuthored === !0;
497
+ function qi(e) {
498
+ return I(e)?.playbookAuthored === !0;
499
499
  }
500
- function Bi(e) {
501
- return w(e)?.connected === !0;
500
+ function Ji(e) {
501
+ return I(e)?.connected === !0;
502
502
  }
503
- function Hi(e) {
504
- const t = w(e);
503
+ function Zi(e) {
504
+ const t = I(e);
505
505
  return t?.shape === "artifact" && t?.carriesText === !0;
506
506
  }
507
- function tn(e) {
508
- const t = w(e.type)?.snippet;
507
+ function sn(e) {
508
+ const t = I(e.type)?.snippet;
509
509
  return t ? t(e) : "";
510
510
  }
511
- function ji(e, t) {
512
- const n = w(e.type)?.timeline;
511
+ function Qi(e, t) {
512
+ const n = I(e.type)?.timeline;
513
513
  return n ? n(e, t) : e.type.replace(/_/g, " ").toLowerCase();
514
514
  }
515
- function Wi(e) {
516
- const t = w(e.type)?.joinUrl;
515
+ function es(e) {
516
+ const t = I(e.type)?.joinUrl;
517
517
  return t ? t(e) : void 0;
518
518
  }
519
- function ue(e, t) {
519
+ function de(e, t) {
520
520
  let n = e;
521
521
  for (const r of t.split(".")) {
522
522
  if (n == null || typeof n != "object") return "";
@@ -524,43 +524,43 @@ function ue(e, t) {
524
524
  }
525
525
  return n == null ? "" : typeof n == "string" ? n : typeof n == "number" || typeof n == "boolean" ? String(n) : "";
526
526
  }
527
- function de(e, t, n) {
527
+ function fe(e, t, n) {
528
528
  if (e === void 0) return null;
529
529
  if (typeof e == "string") return e || null;
530
530
  if ("value" in e)
531
- return ue(t, e.value) || null;
531
+ return de(t, e.value) || null;
532
532
  const r = {};
533
533
  for (const [i, s] of Object.entries(e.params ?? {}))
534
- r[i] = ue(t, s);
534
+ r[i] = de(t, s);
535
535
  const o = n(e.key, r);
536
536
  return o === e.key ? null : o;
537
537
  }
538
- function nn(e, t) {
538
+ function an(e, t) {
539
539
  if (!e || typeof e == "string" || "value" in e) return null;
540
540
  const n = {};
541
541
  for (const [r, o] of Object.entries(e.params ?? {}))
542
- n[r] = ue(t, o);
542
+ n[r] = de(t, o);
543
543
  return { key: e.key, params: n };
544
544
  }
545
- const $e = 140;
546
- function rn(e) {
545
+ const Le = 140;
546
+ function cn(e) {
547
547
  const t = e.trim();
548
- return t.length <= $e ? t : `${t.slice(0, $e - 1).trimEnd()}…`;
548
+ return t.length <= Le ? t : `${t.slice(0, Le - 1).trimEnd()}…`;
549
549
  }
550
- function Gi(e, t) {
551
- const n = nn(t?.text, e), r = t ? de(t.text, e, (o) => o) : null;
550
+ function ts(e, t) {
551
+ const n = an(t?.text, e), r = t ? fe(t.text, e, (o) => o) : null;
552
552
  return {
553
553
  activityId: e.id,
554
554
  type: e.type,
555
- snippet: rn(r ?? tn(e)),
555
+ snippet: cn(r ?? sn(e)),
556
556
  authorName: e.author?.name ?? "",
557
557
  direction: e.direction,
558
558
  createdAt: e.createdAt ?? Date.now(),
559
559
  ...n ? { snippetKey: n.key, snippetParams: n.params } : {}
560
560
  };
561
561
  }
562
- const on = (e) => e;
563
- function Le(e) {
562
+ const ln = (e) => e;
563
+ function Pe(e) {
564
564
  const t = R[e];
565
565
  return {
566
566
  type: e,
@@ -576,7 +576,7 @@ function Le(e) {
576
576
  displayNameKey: t.displayNameKey
577
577
  };
578
578
  }
579
- function Pe(e) {
579
+ function Ue(e) {
580
580
  return {
581
581
  type: e.type,
582
582
  shape: e.shape,
@@ -591,21 +591,21 @@ function Pe(e) {
591
591
  displayNameKey: e.displayNameKey
592
592
  };
593
593
  }
594
- class sn {
595
- constructor(t = [], n = on) {
594
+ class un {
595
+ constructor(t = [], n = ln) {
596
596
  this.translate = n;
597
597
  for (const r of t)
598
598
  r?.type && (r.type in R || this.declared.has(r.type) || this.declared.set(r.type, r));
599
599
  }
600
600
  declared = /* @__PURE__ */ new Map();
601
601
  get(t) {
602
- if (t in R) return Le(t);
602
+ if (t in R) return Pe(t);
603
603
  const n = this.declared.get(t);
604
- return n ? Pe(n) : void 0;
604
+ return n ? Ue(n) : void 0;
605
605
  }
606
606
  /** Everything that may be offered as a trigger, built-in and declared. */
607
607
  triggerable() {
608
- const t = Object.keys(R).filter((r) => R[r].triggerable).map(Le), n = [...this.declared.values()].map(Pe).filter((r) => r.triggerable);
608
+ const t = Object.keys(R).filter((r) => R[r].triggerable).map(Pe), n = [...this.declared.values()].map(Ue).filter((r) => r.triggerable);
609
609
  return [...t, ...n];
610
610
  }
611
611
  /**
@@ -617,14 +617,14 @@ class sn {
617
617
  const r = R[t.type];
618
618
  if (r?.timeline) return r.timeline(t, n);
619
619
  const o = this.declared.get(t.type);
620
- return de(o?.text, t, this.translate) ?? t.type.replace(/_/g, " ").toLowerCase();
620
+ return fe(o?.text, t, this.translate) ?? t.type.replace(/_/g, " ").toLowerCase();
621
621
  }
622
622
  /** The line for the inbox list. Empty when the type has nothing to show. */
623
623
  snippet(t) {
624
624
  const n = R[t.type];
625
625
  if (n?.snippet) return n.snippet(t);
626
626
  const r = this.declared.get(t.type);
627
- return de(r?.text, t, this.translate) ?? "";
627
+ return fe(r?.text, t, this.translate) ?? "";
628
628
  }
629
629
  /** The descriptor as it arrived; needed to store `text` as a key. */
630
630
  descriptor(t) {
@@ -649,11 +649,11 @@ class sn {
649
649
  * {@link ResolvedActivityType}.
650
650
  */
651
651
  isMessage(t) {
652
- return ht(this.get(t)?.shape);
652
+ return bt(this.get(t)?.shape);
653
653
  }
654
654
  /** Folds into the list under the message it answers. See {@link isNoteShape}. */
655
655
  nestsUnderParent(t) {
656
- return gt(this.get(t)?.shape);
656
+ return At(this.get(t)?.shape);
657
657
  }
658
658
  /** Can a person reply to this? Notes cannot — those go nowhere. */
659
659
  isReplyable(t) {
@@ -681,23 +681,23 @@ class sn {
681
681
  return this.translate;
682
682
  }
683
683
  }
684
- const Vi = new sn();
685
- function Xi(e, t, n = []) {
684
+ const ns = new un();
685
+ function rs(e, t, n = []) {
686
686
  const r = e.createdAt;
687
687
  if (!r) return [];
688
688
  const o = new Set(n);
689
689
  return e.author.type === "user" && e.author.id && o.add(e.author.id), Object.entries(t).filter(([i, s]) => s >= r && !o.has(i)).map(([i]) => i);
690
690
  }
691
- function an(e) {
691
+ function dn(e) {
692
692
  return e.createdAt ?? 0;
693
693
  }
694
- function zi(e) {
694
+ function os(e) {
695
695
  return e.type === "EMAIL_RECEIVED" || e.type === "EMAIL_SENT";
696
696
  }
697
- function Yi(e) {
697
+ function is(e) {
698
698
  return e.type === "CHAT_MESSAGE_SENT" || e.type === "CHAT_MESSAGE_RECEIVED";
699
699
  }
700
- const yt = [
700
+ const Et = [
701
701
  {
702
702
  id: "openai",
703
703
  attachmentKinds: ["image", "pdf"],
@@ -787,45 +787,45 @@ const yt = [
787
787
  defaultModel: "default"
788
788
  }
789
789
  ];
790
- function Z(e) {
791
- return yt.find((t) => t.id === e);
790
+ function Q(e) {
791
+ return Et.find((t) => t.id === e);
792
792
  }
793
- function qi(e) {
794
- return Z(e)?.label ?? e;
793
+ function ss(e) {
794
+ return Q(e)?.label ?? e;
795
795
  }
796
- function Ji(e, t = "gpt-5-mini") {
797
- return Z(e)?.defaultModel ?? t;
796
+ function as(e, t = "gpt-5-mini") {
797
+ return Q(e)?.defaultModel ?? t;
798
798
  }
799
- function Zi(e) {
800
- return yt.filter((t) => t.capabilities.includes(e));
799
+ function cs(e) {
800
+ return Et.filter((t) => t.capabilities.includes(e));
801
801
  }
802
- function Qi(e) {
803
- const t = Z(e);
802
+ function ls(e) {
803
+ const t = Q(e);
804
804
  return !!t && !t.baseUrl;
805
805
  }
806
- function es(e, t) {
807
- return t === "text" ? !0 : Z(e)?.attachmentKinds?.includes(t) === !0;
806
+ function us(e, t) {
807
+ return t === "text" ? !0 : Q(e)?.attachmentKinds?.includes(t) === !0;
808
808
  }
809
- function ts(e, t) {
809
+ function ds(e, t) {
810
810
  if (!e.enabled) return "ok";
811
- const n = Ue(e.hardLimitNanos), r = Ue(e.softLimitNanos);
811
+ const n = Ke(e.hardLimitNanos), r = Ke(e.softLimitNanos);
812
812
  return n !== void 0 && t >= n ? "hard" : r !== void 0 && t >= r ? "soft" : "ok";
813
813
  }
814
- function Ue(e) {
814
+ function Ke(e) {
815
815
  return typeof e == "number" ? e : void 0;
816
816
  }
817
- function cn(e, t = "month") {
817
+ function fn(e, t = "month") {
818
818
  const n = new Date(e);
819
819
  return Date.UTC(n.getUTCFullYear(), n.getUTCMonth(), 1);
820
820
  }
821
- function ns(e, t = "month") {
822
- const n = new Date(cn(e, t));
821
+ function fs(e, t = "month") {
822
+ const n = new Date(fn(e, t));
823
823
  return `${n.getUTCFullYear()}-${String(n.getUTCMonth() + 1).padStart(2, "0")}`;
824
824
  }
825
- function rs(e) {
825
+ function ps(e) {
826
826
  return e?.listeningEnabled !== !1;
827
827
  }
828
- const os = [
828
+ const ms = [
829
829
  { id: "agent", label: "Agent", labelSource: "user" },
830
830
  { id: "team", label: "Team", labelSource: "team" },
831
831
  { id: "inbox", label: "Inbox", labelSource: "inbox" },
@@ -835,64 +835,64 @@ const os = [
835
835
  { id: "handledBy", label: "Afhandelaar", labelSource: "raw" },
836
836
  { id: "time", label: "Tijd", labelSource: "raw" }
837
837
  ];
838
- function re(e) {
838
+ function oe(e) {
839
839
  return e < 10 ? `0${e}` : `${e}`;
840
840
  }
841
- function F(e, t) {
842
- const n = new Date(e), r = `${n.getUTCFullYear()}-${re(n.getUTCMonth() + 1)}-${re(n.getUTCDate())}`;
843
- return t === "day" ? r : `${r}T${re(n.getUTCHours())}`;
844
- }
845
841
  function B(e, t) {
842
+ const n = new Date(e), r = `${n.getUTCFullYear()}-${oe(n.getUTCMonth() + 1)}-${oe(n.getUTCDate())}`;
843
+ return t === "day" ? r : `${r}T${oe(n.getUTCHours())}`;
844
+ }
845
+ function H(e, t) {
846
846
  const n = new Date(e);
847
847
  return n.setUTCMinutes(0, 0, 0), t === "day" && n.setUTCHours(0), n.getTime();
848
848
  }
849
- const ln = 36e5, un = 864e5;
850
- function is(e, t, n) {
851
- const r = n === "hour" ? ln : un, o = [];
852
- for (let i = B(e, n); i <= t; i += r)
853
- o.push(F(i, n));
849
+ const pn = 36e5, mn = 864e5;
850
+ function hs(e, t, n) {
851
+ const r = n === "hour" ? pn : mn, o = [];
852
+ for (let i = H(e, n); i <= t; i += r)
853
+ o.push(B(i, n));
854
854
  return o;
855
855
  }
856
- const dn = /* @__PURE__ */ new Set(["time"]);
857
- function ss(e, t, n) {
856
+ const hn = /* @__PURE__ */ new Set(["time"]);
857
+ function gs(e, t, n) {
858
858
  if (!e) return [];
859
859
  const r = new Set(e.supportedDimensions ?? []);
860
- return t.filter((o) => r.has(o.id) && !dn.has(o.id)).map((o) => ({
860
+ return t.filter((o) => r.has(o.id) && !hn.has(o.id)).map((o) => ({
861
861
  id: o.id,
862
862
  label: o.label,
863
863
  options: o.options?.length ? o.options : n[o.id] ?? []
864
864
  })).filter((o) => o.options.length > 0);
865
865
  }
866
- function as(e, t) {
866
+ function ys(e, t) {
867
867
  const n = t.find((o) => o.id === e.dimensionId), r = n?.options.find((o) => o.value === e.value);
868
868
  return `${n?.label ?? e.dimensionId} · ${r?.label ?? e.value}`;
869
869
  }
870
- function cs(e) {
870
+ function bs(e) {
871
871
  return { value: e.id, label: `${e.category} · ${e.label}` };
872
872
  }
873
- const fn = [
873
+ const gn = [
874
874
  { id: "resource", label: "Resource", labelSource: "raw" },
875
875
  { id: "origin", label: "Herkomst", labelSource: "raw" }
876
- ], pn = fn.map((e) => e.id);
877
- function mn(e, t) {
876
+ ], yn = gn.map((e) => e.id);
877
+ function bn(e, t) {
878
878
  return `${e}.usage.${t}`;
879
879
  }
880
- function ls(e, t) {
880
+ function As(e, t) {
881
881
  return t.map((n) => ({
882
- id: mn(e, n.unit),
882
+ id: bn(e, n.unit),
883
883
  label: n.label,
884
884
  category: "Verbruik",
885
885
  valueType: n.valueType ?? "count",
886
886
  aggregation: "sum",
887
887
  supportedDimensions: [
888
888
  "provider",
889
- ...pn,
889
+ ...yn,
890
890
  ...n.extraDimensions ?? [],
891
891
  "time"
892
892
  ]
893
893
  }));
894
894
  }
895
- const bt = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), Ke = 200, Fe = 100, Be = 200, He = 12, je = 4, We = 10, hn = 8, Ge = 12, At = 4e3, X = 500, us = 1024 * 1024, gn = /* @__PURE__ */ new Set([
895
+ const _t = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), Fe = 200, Be = 100, He = 200, je = 12, We = 4, Ge = 10, An = 8, Ve = 12, St = 4e3, X = 500, Es = 1024 * 1024, En = /* @__PURE__ */ new Set([
896
896
  "heading",
897
897
  "paragraph",
898
898
  "list",
@@ -906,15 +906,15 @@ const bt = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]
906
906
  "letterhead",
907
907
  "totals",
908
908
  "pagebreak"
909
- ]), yn = ["http:", "https:", "mailto:", "tel:"], bn = /^[a-z][a-z0-9+.-]*:/i;
910
- function Te(e) {
909
+ ]), _n = ["http:", "https:", "mailto:", "tel:"], Sn = /^[a-z][a-z0-9+.-]*:/i;
910
+ function we(e) {
911
911
  const t = e.trim().replace(/^<|>$/g, "");
912
912
  if (!t) return !1;
913
- const n = bn.exec(t)?.[0];
914
- return n ? yn.includes(n.toLowerCase()) : !t.startsWith("//");
913
+ const n = Sn.exec(t)?.[0];
914
+ return n ? _n.includes(n.toLowerCase()) : !t.startsWith("//");
915
915
  }
916
- const An = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
917
- function En(e) {
916
+ const Tn = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
917
+ function wn(e) {
918
918
  let t = "", n = 0;
919
919
  for (; n < e.length; ) {
920
920
  const r = e[n] === "!" && e[n + 1] === "[";
@@ -922,22 +922,22 @@ function En(e) {
922
922
  t += e[n], n += 1;
923
923
  continue;
924
924
  }
925
- const o = n + (r ? 2 : 1), i = Ve(e, o, "[", "]");
925
+ const o = n + (r ? 2 : 1), i = ze(e, o, "[", "]");
926
926
  if (i < 0 || e[i + 1] !== "(") {
927
927
  t += e[n], n += 1;
928
928
  continue;
929
929
  }
930
- const s = Ve(e, i + 2, "(", ")");
930
+ const s = ze(e, i + 2, "(", ")");
931
931
  if (s < 0) {
932
932
  t += e[n], n += 1;
933
933
  continue;
934
934
  }
935
935
  const a = e.slice(o, i), l = e.slice(i + 2, s).trim().split(/\s+/)[0] ?? "";
936
- t += r || !Te(l) ? a : e.slice(n, s + 1), n = s + 1;
936
+ t += r || !we(l) ? a : e.slice(n, s + 1), n = s + 1;
937
937
  }
938
938
  return t;
939
939
  }
940
- function Ve(e, t, n, r) {
940
+ function ze(e, t, n, r) {
941
941
  let o = 1;
942
942
  for (let i = t; i < e.length; i += 1) {
943
943
  if (e[i] === "\\") {
@@ -950,43 +950,43 @@ function Ve(e, t, n, r) {
950
950
  }
951
951
  return -1;
952
952
  }
953
- function Sn(e) {
954
- return En(e).replace(
955
- An,
956
- (t, n, r) => Te(r) ? t : ""
953
+ function In(e) {
954
+ return wn(e).replace(
955
+ Tn,
956
+ (t, n, r) => we(r) ? t : ""
957
957
  );
958
958
  }
959
- function I(e, t = At) {
960
- return typeof e == "string" ? Sn(e).slice(0, t) : "";
959
+ function w(e, t = St) {
960
+ return typeof e == "string" ? In(e).slice(0, t) : "";
961
961
  }
962
- function _n(e, t = At) {
962
+ function Mn(e, t = St) {
963
963
  return typeof e == "string" ? e.slice(0, t) : "";
964
964
  }
965
- function P(e, t = 200) {
966
- return I(e, t);
965
+ function U(e, t = 200) {
966
+ return w(e, t);
967
967
  }
968
- function Tn(e, t = "info") {
969
- return typeof e == "string" && bt.has(e) ? e : t;
968
+ function kn(e, t = "info") {
969
+ return typeof e == "string" && _t.has(e) ? e : t;
970
970
  }
971
- function ds(e, t = () => {
971
+ function _s(e, t = () => {
972
972
  }) {
973
973
  if (!Array.isArray(e)) return [];
974
974
  const n = [];
975
975
  for (const r of e) {
976
- if (n.length >= Ke) {
977
- t(`more than ${Ke} blocks; the rest was dropped`);
976
+ if (n.length >= Fe) {
977
+ t(`more than ${Fe} blocks; the rest was dropped`);
978
978
  break;
979
979
  }
980
980
  if (!r || typeof r != "object") continue;
981
981
  const o = r;
982
- if (!gn.has(o.type)) {
982
+ if (!En.has(o.type)) {
983
983
  t(`unknown block type ${String(o.type)}`);
984
984
  continue;
985
985
  }
986
986
  const i = typeof o.block_id == "string" ? { block_id: o.block_id } : {};
987
987
  switch (o.type) {
988
988
  case "heading": {
989
- const s = I(o.text);
989
+ const s = w(o.text);
990
990
  if (!s) {
991
991
  t("a heading without text");
992
992
  continue;
@@ -996,7 +996,7 @@ function ds(e, t = () => {
996
996
  break;
997
997
  }
998
998
  case "paragraph": {
999
- const s = I(o.text);
999
+ const s = w(o.text);
1000
1000
  if (!s) {
1001
1001
  t("a paragraph without text");
1002
1002
  continue;
@@ -1005,7 +1005,7 @@ function ds(e, t = () => {
1005
1005
  break;
1006
1006
  }
1007
1007
  case "quote": {
1008
- const s = I(o.text);
1008
+ const s = w(o.text);
1009
1009
  if (!s) {
1010
1010
  t("a quote without text");
1011
1011
  continue;
@@ -1014,7 +1014,7 @@ function ds(e, t = () => {
1014
1014
  break;
1015
1015
  }
1016
1016
  case "code": {
1017
- const s = _n(o.text);
1017
+ const s = Mn(o.text);
1018
1018
  if (!s) {
1019
1019
  t("a code block without text");
1020
1020
  continue;
@@ -1029,14 +1029,14 @@ function ds(e, t = () => {
1029
1029
  case "list": {
1030
1030
  const s = Array.isArray(o.items) ? o.items : [], a = [];
1031
1031
  for (const u of s) {
1032
- if (a.length >= Fe) {
1033
- t(`more than ${Fe} list items`);
1032
+ if (a.length >= Be) {
1033
+ t(`more than ${Be} list items`);
1034
1034
  break;
1035
1035
  }
1036
- const d = I(u?.text);
1037
- if (!d) continue;
1038
- const c = I(u?.lead, 200);
1039
- a.push(c ? { lead: c, text: d } : { text: d });
1036
+ const f = w(u?.text);
1037
+ if (!f) continue;
1038
+ const c = w(u?.lead, 200);
1039
+ a.push(c ? { lead: c, text: f } : { text: f });
1040
1040
  }
1041
1041
  if (a.length === 0) {
1042
1042
  t("a list without usable items");
@@ -1049,12 +1049,12 @@ function ds(e, t = () => {
1049
1049
  case "table": {
1050
1050
  const s = Array.isArray(o.columns) ? o.columns : [], a = [];
1051
1051
  for (const c of s) {
1052
- if (a.length >= He) {
1053
- t(`more than ${He} table columns`);
1052
+ if (a.length >= je) {
1053
+ t(`more than ${je} table columns`);
1054
1054
  break;
1055
1055
  }
1056
- const h = I(c?.label, X), m = c?.align === "right" ? "right" : void 0;
1057
- a.push(m ? { label: h, align: m } : { label: h });
1056
+ const d = w(c?.label, X), m = c?.align === "right" ? "right" : void 0;
1057
+ a.push(m ? { label: d, align: m } : { label: d });
1058
1058
  }
1059
1059
  if (a.length === 0) {
1060
1060
  t("a table without columns");
@@ -1062,35 +1062,35 @@ function ds(e, t = () => {
1062
1062
  }
1063
1063
  const l = Array.isArray(o.rows) ? o.rows : [], u = [];
1064
1064
  for (const c of l) {
1065
- if (u.length >= Be) {
1066
- t(`more than ${Be} table rows`);
1065
+ if (u.length >= He) {
1066
+ t(`more than ${He} table rows`);
1067
1067
  break;
1068
1068
  }
1069
- const h = Array.isArray(c) ? c : [];
1070
- u.push(a.map((m, E) => I(h[E], X)));
1069
+ const d = Array.isArray(c) ? c : [];
1070
+ u.push(a.map((m, E) => w(d[E], X)));
1071
1071
  }
1072
- const d = I(o.caption, X);
1072
+ const f = w(o.caption, X);
1073
1073
  n.push({
1074
1074
  ...i,
1075
1075
  type: "table",
1076
1076
  columns: a,
1077
1077
  rows: u,
1078
- ...d ? { caption: d } : {}
1078
+ ...f ? { caption: f } : {}
1079
1079
  });
1080
1080
  break;
1081
1081
  }
1082
1082
  case "kpi": {
1083
1083
  const s = Array.isArray(o.items) ? o.items : [], a = [];
1084
1084
  for (const l of s) {
1085
- if (a.length >= je) {
1086
- t(`more than ${je} kpi items`);
1085
+ if (a.length >= We) {
1086
+ t(`more than ${We} kpi items`);
1087
1087
  break;
1088
1088
  }
1089
- const u = I(l?.value, 40), d = I(l?.label, 80);
1090
- if (!u || !d) continue;
1089
+ const u = w(l?.value, 40), f = w(l?.label, 80);
1090
+ if (!u || !f) continue;
1091
1091
  const c = l?.tone;
1092
1092
  a.push(
1093
- typeof c == "string" && bt.has(c) ? { value: u, label: d, tone: c } : { value: u, label: d }
1093
+ typeof c == "string" && _t.has(c) ? { value: u, label: f, tone: c } : { value: u, label: f }
1094
1094
  );
1095
1095
  }
1096
1096
  if (a.length === 0) {
@@ -1102,11 +1102,11 @@ function ds(e, t = () => {
1102
1102
  }
1103
1103
  case "image": {
1104
1104
  const s = typeof o.url == "string" ? o.url.trim() : "";
1105
- if (!s || !Te(s)) {
1105
+ if (!s || !we(s)) {
1106
1106
  t("an image without a usable url");
1107
1107
  continue;
1108
1108
  }
1109
- const a = I(o.alt, 200), l = I(o.caption, X);
1109
+ const a = w(o.alt, 200), l = w(o.caption, X);
1110
1110
  n.push({
1111
1111
  ...i,
1112
1112
  type: "image",
@@ -1118,17 +1118,17 @@ function ds(e, t = () => {
1118
1118
  }
1119
1119
  case "letterhead": {
1120
1120
  const s = Array.isArray(o.fields) ? o.fields : [], a = [];
1121
- for (const d of s) {
1122
- if (a.length >= We) {
1123
- t(`more than ${We} letterhead fields`);
1121
+ for (const f of s) {
1122
+ if (a.length >= Ge) {
1123
+ t(`more than ${Ge} letterhead fields`);
1124
1124
  break;
1125
1125
  }
1126
- const c = d, h = typeof c?.key == "string" ? c.key.slice(0, 48) : "", m = P(c?.value);
1127
- if (!h || !m) continue;
1128
- const E = P(c?.label, 80);
1129
- a.push(E ? { key: h, label: E, value: m } : { key: h, value: m });
1126
+ const c = f, d = typeof c?.key == "string" ? c.key.slice(0, 48) : "", m = U(c?.value);
1127
+ if (!d || !m) continue;
1128
+ const E = U(c?.label, 80);
1129
+ a.push(E ? { key: d, label: E, value: m } : { key: d, value: m });
1130
1130
  }
1131
- const u = (Array.isArray(o.recipient) ? o.recipient : []).slice(0, hn).map((d) => P(d)).filter(Boolean);
1131
+ const u = (Array.isArray(o.recipient) ? o.recipient : []).slice(0, An).map((f) => U(f)).filter(Boolean);
1132
1132
  if (a.length === 0 && u.length === 0) {
1133
1133
  t("a letterhead without fields or recipient");
1134
1134
  continue;
@@ -1143,13 +1143,13 @@ function ds(e, t = () => {
1143
1143
  }
1144
1144
  case "totals": {
1145
1145
  const s = (u) => {
1146
- const d = Array.isArray(u) ? u : [], c = [];
1147
- for (const h of d) {
1148
- if (c.length >= Ge) {
1149
- t(`more than ${Ge} totals rows`);
1146
+ const f = Array.isArray(u) ? u : [], c = [];
1147
+ for (const d of f) {
1148
+ if (c.length >= Ve) {
1149
+ t(`more than ${Ve} totals rows`);
1150
1150
  break;
1151
1151
  }
1152
- const m = h, E = P(m?.label), g = P(m?.amount, 40);
1152
+ const m = d, E = U(m?.label), g = U(m?.amount, 40);
1153
1153
  !E || !g || c.push(
1154
1154
  m?.emphasis === !0 ? { label: E, amount: g, emphasis: !0 } : { label: E, amount: g }
1155
1155
  );
@@ -1168,16 +1168,16 @@ function ds(e, t = () => {
1168
1168
  n.push({ ...i, type: "pagebreak" });
1169
1169
  break;
1170
1170
  case "callout": {
1171
- const s = I(o.text);
1171
+ const s = w(o.text);
1172
1172
  if (!s) {
1173
1173
  t("a callout without text");
1174
1174
  continue;
1175
1175
  }
1176
- const a = I(o.title, 200);
1176
+ const a = w(o.title, 200);
1177
1177
  n.push({
1178
1178
  ...i,
1179
1179
  type: "callout",
1180
- tone: Tn(o.tone),
1180
+ tone: kn(o.tone),
1181
1181
  ...a ? { title: a } : {},
1182
1182
  text: s
1183
1183
  });
@@ -1187,10 +1187,10 @@ function ds(e, t = () => {
1187
1187
  }
1188
1188
  return n;
1189
1189
  }
1190
- function fs(e) {
1190
+ function Ss(e) {
1191
1191
  return JSON.stringify(e).length;
1192
1192
  }
1193
- function ps(e) {
1193
+ function Ts(e) {
1194
1194
  return {
1195
1195
  blocks: e.length,
1196
1196
  types: e.map((t) => t.type),
@@ -1200,7 +1200,7 @@ function ps(e) {
1200
1200
  function Xe(e) {
1201
1201
  return e.replace(/\|/g, "\\|").replace(/\r?\n/g, " ").trim();
1202
1202
  }
1203
- function oe(e, t, n) {
1203
+ function ie(e, t, n) {
1204
1204
  const r = e.map((o, i) => n?.[i] === "right" ? "---:" : "---");
1205
1205
  return [
1206
1206
  `| ${e.map(Xe).join(" | ")} |`,
@@ -1208,7 +1208,7 @@ function oe(e, t, n) {
1208
1208
  ...t.map((o) => `| ${o.map(Xe).join(" | ")} |`)
1209
1209
  ];
1210
1210
  }
1211
- function In(e) {
1211
+ function vn(e) {
1212
1212
  switch (e.type) {
1213
1213
  case "heading":
1214
1214
  return [`${"#".repeat(e.level)} ${e.text}`];
@@ -1226,7 +1226,7 @@ function In(e) {
1226
1226
  return t.lead ? `${r} **${t.lead}** ${t.text}` : `${r} ${t.text}`;
1227
1227
  });
1228
1228
  case "table": {
1229
- const t = oe(
1229
+ const t = ie(
1230
1230
  e.columns.map((n) => n.label),
1231
1231
  e.rows,
1232
1232
  e.columns.map((n) => n.align ?? "left")
@@ -1234,7 +1234,7 @@ function In(e) {
1234
1234
  return e.caption ? [...t, "", `*${e.caption}*`] : t;
1235
1235
  }
1236
1236
  case "kpi":
1237
- return oe(
1237
+ return ie(
1238
1238
  e.items.map((t) => t.value),
1239
1239
  [e.items.map((t) => t.label)]
1240
1240
  );
@@ -1252,7 +1252,7 @@ function In(e) {
1252
1252
  return t.map((n, r) => r < t.length - 1 ? `${n} ` : n);
1253
1253
  }
1254
1254
  case "totals":
1255
- return oe(
1255
+ return ie(
1256
1256
  ["", ""],
1257
1257
  [...e.rows, ...e.taxRows ?? []].map((t) => [
1258
1258
  t.emphasis ? `**${t.label}**` : t.label,
@@ -1264,11 +1264,11 @@ function In(e) {
1264
1264
  return ["---"];
1265
1265
  }
1266
1266
  }
1267
- function ms(e, t) {
1267
+ function On(e, t) {
1268
1268
  const n = [], r = e.some((o) => o.type === "heading" && o.level === 1);
1269
1269
  t && !r && n.push(`# ${t}`);
1270
1270
  for (const o of e) {
1271
- const i = In(o);
1271
+ const i = vn(o);
1272
1272
  i.length > 0 && n.push(i.join(`
1273
1273
  `));
1274
1274
  }
@@ -1277,45 +1277,45 @@ function ms(e, t) {
1277
1277
  `)}
1278
1278
  `;
1279
1279
  }
1280
- const Et = (e) => `user:${e}`, St = (e) => `team:${e}`;
1281
- function hs(e) {
1280
+ const Tt = (e) => `user:${e}`, wt = (e) => `team:${e}`;
1281
+ function ws(e) {
1282
1282
  const t = /* @__PURE__ */ new Set();
1283
1283
  for (const n of e ?? [])
1284
- n?.id && (n.kind === "user" && t.add(Et(n.id)), n.kind === "team" && t.add(St(n.id)));
1284
+ n?.id && (n.kind === "user" && t.add(Tt(n.id)), n.kind === "team" && t.add(wt(n.id)));
1285
1285
  return [...t].sort();
1286
1286
  }
1287
- function gs(e, t) {
1288
- return [Et(e), ...t.map(St)];
1287
+ function Is(e, t) {
1288
+ return [Tt(e), ...t.map(wt)];
1289
1289
  }
1290
- function ys(e) {
1290
+ function Ms(e) {
1291
1291
  const t = /* @__PURE__ */ new Set();
1292
1292
  for (const n of e ?? [])
1293
1293
  n?.kind && t.add(n.kind);
1294
1294
  return [...t];
1295
1295
  }
1296
- const wn = ["done", "escalated"], bs = ["open", "waiting"];
1297
- function As(e) {
1298
- return wn.includes(e);
1296
+ const Cn = ["done", "escalated"], ks = ["open", "waiting"];
1297
+ function vs(e) {
1298
+ return Cn.includes(e);
1299
1299
  }
1300
- const Mn = "assignment";
1301
- function Es(e) {
1302
- return `${Mn}:${e}`;
1300
+ const xn = "assignment";
1301
+ function Os(e) {
1302
+ return `${xn}:${e}`;
1303
1303
  }
1304
- function Ss(e, t, n, r) {
1304
+ function Cs(e, t, n, r) {
1305
1305
  if (e.direction === "inbound") return !0;
1306
1306
  if (e.author?.type === "user" && e.author.id === t) return !1;
1307
1307
  const o = e.payload?.mentions;
1308
1308
  return Array.isArray(o) && o.includes(t) || r && r === t ? !0 : n === "reply";
1309
1309
  }
1310
- function _s(e) {
1310
+ function xs(e) {
1311
1311
  const { targetAuthorId: t, reactorId: n, agentId: r, on: o } = e;
1312
1312
  return !o || !t || t !== r ? !1 : n !== r;
1313
1313
  }
1314
- function Ts(e) {
1314
+ function Ns(e) {
1315
1315
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
1316
1316
  }
1317
- const kn = 12;
1318
- function Is(e, t, n = kn) {
1317
+ const Nn = 12;
1318
+ function Rs(e, t, n = Nn) {
1319
1319
  const r = t + 1;
1320
1320
  return e ? e.kind === "done" ? { status: "done", waitingOn: null, turns: r, reason: e.note } : e.kind === "escalate" ? { status: "escalated", waitingOn: null, turns: r, reason: e.reason } : r >= n ? {
1321
1321
  status: "escalated",
@@ -1329,39 +1329,175 @@ function Is(e, t, n = kn) {
1329
1329
  reason: "de agent rondde zijn beurt af zonder te zeggen wat er moet gebeuren (wachten, afronden of overdragen)"
1330
1330
  };
1331
1331
  }
1332
- const ws = /* @__PURE__ */ new Set(["mail", "message"]);
1333
- function vn(e, t) {
1332
+ const Ds = /* @__PURE__ */ new Set(["mail", "message"]);
1333
+ function Rn(e, t) {
1334
1334
  const n = e.settings?.signatures?.[t];
1335
1335
  return !n?.enabled || !n.body || n.body.trim() === "" ? null : n;
1336
1336
  }
1337
- function Ms(e, t, n, r = "html") {
1337
+ function $s(e, t, n, r = "html") {
1338
1338
  if (!e) return n;
1339
- const o = vn(e, t);
1339
+ const o = Rn(e, t);
1340
1340
  return o ? `${n}${r === "text" ? `
1341
1341
 
1342
1342
  ` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${o.body}` : n;
1343
1343
  }
1344
- function ks(e) {
1344
+ function Ls(e) {
1345
1345
  return e.endpoints ?? [];
1346
1346
  }
1347
- const On = 36e5, Cn = 864e5, D = -1 / 0, vs = (e) => e.score > D, q = {
1347
+ function D(e) {
1348
+ const t = (e ?? "").trim().toLowerCase();
1349
+ if (t)
1350
+ return t.split(/[-_]/)[0] || void 0;
1351
+ }
1352
+ function Ps(e) {
1353
+ return D(e.contactLocale) ?? D(e.companyLocale) ?? D(e.organizationLocale);
1354
+ }
1355
+ function Us(e, t, n, r) {
1356
+ const o = e.filter((a) => a.key === t && !a.archived);
1357
+ if (o.length === 0) return;
1358
+ const i = D(n), s = D(r);
1359
+ return o.find((a) => D(a.locale) === i) ?? o.find((a) => D(a.locale) === s) ?? // A row with no language at all is the single-language case: it is for everybody.
1360
+ o.find((a) => !a.locale) ?? o[0];
1361
+ }
1362
+ const Dn = /\{([a-zA-Z0-9_.]+)\}/g;
1363
+ function It(e, t) {
1364
+ let n = e;
1365
+ for (const r of t.split(".")) {
1366
+ if (n == null || typeof n != "object") return;
1367
+ n = n[r];
1368
+ }
1369
+ return n;
1370
+ }
1371
+ function $n(e) {
1372
+ return typeof e == "string" ? e : typeof e == "number" || typeof e == "boolean" ? String(e) : "";
1373
+ }
1374
+ function Ln(e, t) {
1375
+ const n = [];
1376
+ return { text: e.replace(Dn, (o, i) => {
1377
+ const s = It(t, i);
1378
+ return s == null || s === "" ? (n.includes(i) || n.push(i), `{${i}}`) : $n(s);
1379
+ }), unresolved: n };
1380
+ }
1381
+ function Pn(e, t) {
1382
+ if (!e) return !0;
1383
+ const n = It(t, e.key);
1384
+ if (e.exists !== void 0) {
1385
+ const r = n != null && n !== "" && n !== !1;
1386
+ return e.exists ? r : !r;
1387
+ }
1388
+ return e.equals !== void 0 ? n === e.equals : !0;
1389
+ }
1390
+ function Ks(e, t, n, r) {
1391
+ const o = [], i = [], s = (a) => {
1392
+ const l = Ln(a, t);
1393
+ for (const u of l.unresolved) o.includes(u) || o.push(u);
1394
+ return l.text;
1395
+ };
1396
+ for (const a of e) {
1397
+ if (a.block_id && !Pn(n?.[a.block_id], t)) continue;
1398
+ const l = a.block_id ? r?.[a.block_id] : void 0;
1399
+ if (l) {
1400
+ i.push(...l);
1401
+ continue;
1402
+ }
1403
+ switch (a.type) {
1404
+ case "heading":
1405
+ case "paragraph":
1406
+ case "quote":
1407
+ i.push({ ...a, text: s(a.text) });
1408
+ break;
1409
+ case "callout":
1410
+ i.push({
1411
+ ...a,
1412
+ ...a.title ? { title: s(a.title) } : {},
1413
+ text: s(a.text)
1414
+ });
1415
+ break;
1416
+ case "code":
1417
+ i.push(a);
1418
+ break;
1419
+ case "list":
1420
+ i.push({
1421
+ ...a,
1422
+ items: a.items.map((u) => ({
1423
+ ...u.lead ? { lead: s(u.lead) } : {},
1424
+ text: s(u.text)
1425
+ }))
1426
+ });
1427
+ break;
1428
+ case "table":
1429
+ i.push({
1430
+ ...a,
1431
+ columns: a.columns.map((u) => ({ ...u, label: s(u.label) })),
1432
+ rows: a.rows.map((u) => u.map(s)),
1433
+ ...a.caption ? { caption: s(a.caption) } : {}
1434
+ });
1435
+ break;
1436
+ case "kpi":
1437
+ i.push({
1438
+ ...a,
1439
+ items: a.items.map((u) => ({
1440
+ ...u,
1441
+ value: s(u.value),
1442
+ label: s(u.label)
1443
+ }))
1444
+ });
1445
+ break;
1446
+ case "letterhead":
1447
+ i.push({
1448
+ ...a,
1449
+ fields: a.fields.map((u) => ({ ...u, value: s(u.value) })),
1450
+ ...a.recipient ? { recipient: a.recipient.map(s) } : {}
1451
+ });
1452
+ break;
1453
+ case "totals":
1454
+ i.push({
1455
+ ...a,
1456
+ rows: a.rows.map((u) => ({
1457
+ ...u,
1458
+ label: s(u.label),
1459
+ amount: s(u.amount)
1460
+ })),
1461
+ ...a.taxRows ? {
1462
+ taxRows: a.taxRows.map((u) => ({
1463
+ ...u,
1464
+ label: s(u.label),
1465
+ amount: s(u.amount)
1466
+ }))
1467
+ } : {}
1468
+ });
1469
+ break;
1470
+ case "image":
1471
+ i.push({
1472
+ ...a,
1473
+ url: s(a.url),
1474
+ ...a.alt ? { alt: s(a.alt) } : {}
1475
+ });
1476
+ break;
1477
+ default:
1478
+ i.push(a);
1479
+ }
1480
+ }
1481
+ return { blocks: i, unresolved: o };
1482
+ }
1483
+ const Un = 36e5, Kn = 864e5, $ = -1 / 0, Fs = (e) => e.score > $, J = {
1348
1484
  urgent: 40,
1349
1485
  high: 25,
1350
1486
  normal: 10,
1351
1487
  low: 0
1352
1488
  };
1353
- function Os(e) {
1489
+ function Bs(e) {
1354
1490
  return Object.fromEntries(e.map((t) => [t.resourceId, t]));
1355
1491
  }
1356
- const Nn = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, _t = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
1357
- function xn(e, t) {
1358
- return !!(e && Nn.test(e) || t && _t.test(t));
1492
+ const Fn = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, Mt = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
1493
+ function Bn(e, t) {
1494
+ return !!(e && Fn.test(e) || t && Mt.test(t));
1359
1495
  }
1360
- const Rn = 3, Dn = 600;
1361
- function Cs(e, t) {
1362
- return e >= Rn || t >= Dn;
1496
+ const Hn = 3, jn = 600;
1497
+ function Hs(e, t) {
1498
+ return e >= Hn || t >= jn;
1363
1499
  }
1364
- const $n = [
1500
+ const Wn = [
1365
1501
  "list-unsubscribe",
1366
1502
  "list-unsubscribe-post",
1367
1503
  "list-id",
@@ -1371,93 +1507,93 @@ const $n = [
1371
1507
  "feedback-id",
1372
1508
  "x-mailer"
1373
1509
  ];
1374
- function Ns(e) {
1510
+ function js(e) {
1375
1511
  const t = {};
1376
1512
  for (const n of e) {
1377
1513
  const r = n.name?.toLowerCase();
1378
- r && n.value !== void 0 && $n.includes(r) && (t[r] = n.value);
1514
+ r && n.value !== void 0 && Wn.includes(r) && (t[r] = n.value);
1379
1515
  }
1380
1516
  return t;
1381
1517
  }
1382
- const Ln = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i, Pn = /(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;
1383
- function xs(e) {
1518
+ const Gn = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i, Vn = /(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;
1519
+ function Ws(e) {
1384
1520
  const t = e.headers ?? {}, n = e.from?.email, r = t["auto-submitted"]?.toLowerCase();
1385
- if (r && r !== "no" || t["x-auto-response-suppress"] || n && Ln.test(n))
1521
+ if (r && r !== "no" || t["x-auto-response-suppress"] || n && Gn.test(n))
1386
1522
  return "automated";
1387
1523
  const o = t.precedence?.toLowerCase();
1388
- if (t["list-unsubscribe"] || t["list-unsubscribe-post"] || t["list-id"] || o === "bulk" || o === "list" || e.body && _t.test(e.body) || n && Pn.test(n))
1524
+ if (t["list-unsubscribe"] || t["list-unsubscribe-post"] || t["list-id"] || o === "bulk" || o === "list" || e.body && Mt.test(e.body) || n && Vn.test(n))
1389
1525
  return "marketing";
1390
1526
  }
1391
- function Un(e, t) {
1527
+ function zn(e, t) {
1392
1528
  return e.lastActivityAt ? !(e.seenBy ?? []).includes(t) : !1;
1393
1529
  }
1394
- const Kn = ["open"], Fn = 1e3, Bn = {
1530
+ const Xn = ["open"], Yn = 1e3, qn = {
1395
1531
  urgent: 1,
1396
1532
  high: 4,
1397
1533
  normal: 8,
1398
1534
  low: 24
1399
- }, Hn = 72;
1400
- function jn(e) {
1401
- return e.lastActivityAt ?? (e.createdAt ? new Date(an(e)).getTime() : 0);
1535
+ }, Jn = 72;
1536
+ function Zn(e) {
1537
+ return e.lastActivityAt ?? (e.createdAt ? new Date(dn(e)).getTime() : 0);
1402
1538
  }
1403
- function Wn(e, t) {
1404
- return Gn(t.remindersById?.[e.id], e, t.now);
1539
+ function Qn(e, t) {
1540
+ return er(t.remindersById?.[e.id], e, t.now);
1405
1541
  }
1406
- function Gn(e, t, n) {
1542
+ function er(e, t, n) {
1407
1543
  return !e || e.remindAt <= n ? !1 : !((t.lastActivityAt ?? 0) > e.parkedAt && t.lastActivityPreview?.direction === "inbound");
1408
1544
  }
1409
- const Tt = (e) => en(e) === "outbound_message", It = (e) => Kn.includes(e);
1545
+ const kt = (e) => on(e) === "outbound_message", vt = (e) => Xn.includes(e);
1410
1546
  function Ie(e, t) {
1411
- return Math.max(0, (t - jn(e)) / On);
1547
+ return Math.max(0, (t - Zn(e)) / Un);
1412
1548
  }
1413
- function Vn(e, t) {
1549
+ function tr(e, t) {
1414
1550
  const n = e.assignedInboxId ? t?.[e.assignedInboxId] : void 0;
1415
- return typeof n == "number" && n > 0 ? n : Bn[e.priority ?? "normal"];
1551
+ return typeof n == "number" && n > 0 ? n : qn[e.priority ?? "normal"];
1416
1552
  }
1417
- function Rs(e) {
1553
+ function Gs(e) {
1418
1554
  const t = {};
1419
1555
  for (const n of e)
1420
1556
  typeof n.slaHours == "number" && n.slaHours > 0 && (t[n.id] = n.slaHours);
1421
1557
  return t;
1422
1558
  }
1423
- function Ds(e, t, n) {
1424
- return !It(e.status) || e.firstResponseAt ? !1 : Ie(e, t) > Vn(e, n);
1559
+ function Vs(e, t, n) {
1560
+ return !vt(e.status) || e.firstResponseAt ? !1 : Ie(e, t) > tr(e, n);
1425
1561
  }
1426
- function Xn(e, t) {
1562
+ function nr(e, t) {
1427
1563
  const n = e.lastActivityPreview;
1428
- return n?.direction !== "outbound" || !Tt(n.type) ? !1 : Ie(e, t) < Hn;
1564
+ return n?.direction !== "outbound" || !kt(n.type) ? !1 : Ie(e, t) < Jn;
1429
1565
  }
1430
- function $s(e, t) {
1431
- if (!It(e.status)) return { score: D, reasons: [] };
1432
- if (e.snoozedTill && e.snoozedTill > t.now) return { score: D, reasons: [] };
1433
- if (Xn(e, t.now)) return { score: D, reasons: [] };
1434
- if (Wn(e, t)) return { score: D, reasons: [] };
1566
+ function zs(e, t) {
1567
+ if (!vt(e.status)) return { score: $, reasons: [] };
1568
+ if (e.snoozedTill && e.snoozedTill > t.now) return { score: $, reasons: [] };
1569
+ if (nr(e, t.now)) return { score: $, reasons: [] };
1570
+ if (Qn(e, t)) return { score: $, reasons: [] };
1435
1571
  let n = 0;
1436
1572
  const r = [], o = e.priority ?? "normal";
1437
- q[o] > 0 && (n += q[o], r.push(`priority:${o}`)), Un(e, t.userId) && (n += 20, r.push("unseen")), e.assignedUserId && e.assignedUserId === t.userId && (n += 15, r.push("assigned-to-you"));
1573
+ J[o] > 0 && (n += J[o], r.push(`priority:${o}`)), zn(e, t.userId) && (n += 20, r.push("unseen")), e.assignedUserId && e.assignedUserId === t.userId && (n += 15, r.push("assigned-to-you"));
1438
1574
  const i = Ie(e, t.now);
1439
1575
  if (i > 0) {
1440
1576
  const l = Math.min(i * 2, 30);
1441
1577
  n += l, i >= 1 && r.push(`waiting:${Math.round(i)}h`);
1442
1578
  }
1443
1579
  const s = e.lastActivityPreview;
1444
- return s?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), s?.direction === "outbound" && Tt(s.type) && (n += 10, r.push("no-reply")), !e.firstResponseAt && e.lastActivityPreview?.direction === "inbound" && (n += 10, r.push("awaiting-reply")), (e.tags?.some((l) => l === "marketing" || l === "automated") || xn(e.remoteParty?.resource, e.lastActivityPreview?.snippet)) && (n -= Fn, r.push("bulk")), { score: n, reasons: r };
1580
+ return s?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), s?.direction === "outbound" && kt(s.type) && (n += 10, r.push("no-reply")), !e.firstResponseAt && e.lastActivityPreview?.direction === "inbound" && (n += 10, r.push("awaiting-reply")), (e.tags?.some((l) => l === "marketing" || l === "automated") || Bn(e.remoteParty?.resource, e.lastActivityPreview?.snippet)) && (n -= Yn, r.push("bulk")), { score: n, reasons: r };
1445
1581
  }
1446
- const Ls = (e) => !!e.assignedUserId || !!e.assignedInboxId, Ps = (e) => e.status === "closed", Us = (e) => ({
1582
+ const Xs = (e) => !!e.assignedUserId || !!e.assignedInboxId, Ys = (e) => e.status === "closed", qs = (e) => ({
1447
1583
  urgent: 10,
1448
1584
  high: 5,
1449
1585
  normal: 2,
1450
1586
  low: 1
1451
- })[e.priority] || 0, Ks = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1452
- function Fs(e, t) {
1587
+ })[e.priority] || 0, Js = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1588
+ function Zs(e, t) {
1453
1589
  const n = e.labels ?? [];
1454
1590
  return n.find((r) => r.locale === t)?.label ?? n[0]?.label ?? e.url;
1455
1591
  }
1456
- function Bs(e, t, n) {
1592
+ function Qs(e, t, n) {
1457
1593
  const r = e.translations ?? [];
1458
1594
  return r.find((o) => o.locale === t) ?? (n ? r.find((o) => o.locale === n) : void 0) ?? { locale: t };
1459
1595
  }
1460
- const ze = [
1596
+ const Ye = [
1461
1597
  { code: "nl", label: "Nederlands", english: "Dutch" },
1462
1598
  { code: "en", label: "English", english: "English" },
1463
1599
  { code: "de", label: "Deutsch", english: "German" },
@@ -1472,36 +1608,36 @@ const ze = [
1472
1608
  { code: "fi", label: "Suomi", english: "Finnish" },
1473
1609
  { code: "tr", label: "Türkçe", english: "Turkish" }
1474
1610
  ];
1475
- function wt(e) {
1611
+ function Ot(e) {
1476
1612
  const t = (e ?? "").toLowerCase();
1477
- return ze.find((n) => n.code === t) ?? ze.find((n) => n.code === t.split("-")[0]);
1613
+ return Ye.find((n) => n.code === t) ?? Ye.find((n) => n.code === t.split("-")[0]);
1478
1614
  }
1479
- function Hs(e) {
1480
- return wt(e)?.label ?? e;
1615
+ function ea(e) {
1616
+ return Ot(e)?.label ?? e;
1481
1617
  }
1482
- function js(e) {
1483
- const t = wt(e);
1618
+ function ta(e) {
1619
+ const t = Ot(e);
1484
1620
  return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
1485
1621
  }
1486
- const Mt = 3;
1487
- function zn(e, t) {
1622
+ const Ct = 3;
1623
+ function rr(e, t) {
1488
1624
  const n = /* @__PURE__ */ new Set();
1489
1625
  let r = 1, o = t.get(e)?.parentId;
1490
1626
  for (; o; ) {
1491
- if (n.has(o) || (n.add(o), r++, r > Mt + 1)) return 1 / 0;
1627
+ if (n.has(o) || (n.add(o), r++, r > Ct + 1)) return 1 / 0;
1492
1628
  o = t.get(o)?.parentId;
1493
1629
  }
1494
1630
  return r;
1495
1631
  }
1496
- function Ws(e, t, n) {
1632
+ function na(e, t, n) {
1497
1633
  if (!e) return !0;
1498
1634
  if (e === t) return !1;
1499
1635
  const r = new Map(n.map((s) => [s.id, s]));
1500
- if (!r.has(e) || t && Yn(e, t, r)) return !1;
1501
- const o = zn(e, r), i = t ? kt(t, n) : 1;
1502
- return o + i <= Mt;
1636
+ if (!r.has(e) || t && or(e, t, r)) return !1;
1637
+ const o = rr(e, r), i = t ? xt(t, n) : 1;
1638
+ return o + i <= Ct;
1503
1639
  }
1504
- function Yn(e, t, n) {
1640
+ function or(e, t, n) {
1505
1641
  const r = /* @__PURE__ */ new Set();
1506
1642
  let o = n.get(e)?.parentId;
1507
1643
  for (; o; ) {
@@ -1511,44 +1647,44 @@ function Yn(e, t, n) {
1511
1647
  }
1512
1648
  return !1;
1513
1649
  }
1514
- function kt(e, t, n = /* @__PURE__ */ new Set()) {
1650
+ function xt(e, t, n = /* @__PURE__ */ new Set()) {
1515
1651
  if (n.has(e)) return 1;
1516
1652
  n.add(e);
1517
1653
  const r = t.filter((o) => o.parentId === e);
1518
- return r.length ? 1 + Math.max(...r.map((o) => kt(o.id, t, n))) : 1;
1654
+ return r.length ? 1 + Math.max(...r.map((o) => xt(o.id, t, n))) : 1;
1519
1655
  }
1520
- const qn = "en";
1521
- function Jn(e) {
1522
- return e.defaultLocale || e.locale || qn;
1656
+ const ir = "en";
1657
+ function sr(e) {
1658
+ return e.defaultLocale || e.locale || ir;
1523
1659
  }
1524
- function Gs(e) {
1660
+ function ra(e) {
1525
1661
  const t = /* @__PURE__ */ new Set(), n = [];
1526
- for (const r of [Jn(e), ...e.locales ?? []])
1662
+ for (const r of [sr(e), ...e.locales ?? []])
1527
1663
  !r || t.has(r) || (t.add(r), n.push(r));
1528
1664
  return n;
1529
1665
  }
1530
- function Vs(e, t, n) {
1666
+ function oa(e, t, n) {
1531
1667
  const r = e.translations ?? [];
1532
1668
  return r.find((o) => o.locale === t)?.name ?? (n ? r.find((o) => o.locale === n)?.name : void 0) ?? e.name;
1533
1669
  }
1534
- const Ye = ["lookup", "condition", "parallel", "for-each"];
1535
- function qe(e) {
1670
+ const qe = ["lookup", "condition", "parallel", "for-each"];
1671
+ function Je(e) {
1536
1672
  for (const t of e) {
1537
- if (!Ye.includes(t.type))
1538
- return `staptype "${t.type}" mag niet meelezen (alleen ${Ye.join(", ")})`;
1673
+ if (!qe.includes(t.type))
1674
+ return `staptype "${t.type}" mag niet meelezen (alleen ${qe.join(", ")})`;
1539
1675
  if (t.type === "parallel")
1540
1676
  for (const n of t.branches ?? []) {
1541
- const r = qe(n);
1677
+ const r = Je(n);
1542
1678
  if (r) return r;
1543
1679
  }
1544
1680
  if (t.type === "for-each") {
1545
- const n = qe(t.body ?? []);
1681
+ const n = Je(t.body ?? []);
1546
1682
  if (n) return n;
1547
1683
  }
1548
1684
  }
1549
1685
  return null;
1550
1686
  }
1551
- function Zn(e, t) {
1687
+ function ar(e, t) {
1552
1688
  switch (e.kind) {
1553
1689
  case "org":
1554
1690
  return !0;
@@ -1558,22 +1694,22 @@ function Zn(e, t) {
1558
1694
  return e.userId === t.userId;
1559
1695
  }
1560
1696
  }
1561
- function Xs(e, t) {
1562
- return e.filter((n) => n.enabled && Zn(n.ownerScope, t));
1697
+ function ia(e, t) {
1698
+ return e.filter((n) => n.enabled && ar(n.ownerScope, t));
1563
1699
  }
1564
- function zs(e) {
1700
+ function sa(e) {
1565
1701
  return e.credentialScope ? e.credentialScope : (e.authMode ?? "header") === "header" || e.oauth?.scope === "org" ? "shared" : "per-user";
1566
1702
  }
1567
- function Ys(e) {
1703
+ function aa(e) {
1568
1704
  return `mcp__${e}__`;
1569
1705
  }
1570
- const qs = 1e3, Js = 2e3, Zs = 500, Qs = 12e3, ea = 4e3, Qn = ["contact", "company", "work_item"];
1571
- function ta(e) {
1706
+ const ca = 1e3, la = 2e3, ua = 500, da = 12e3, fa = 4e3, cr = ["contact", "company", "work_item"];
1707
+ function pa(e) {
1572
1708
  if (!e) return !1;
1573
1709
  const t = e.slice(0, e.indexOf(":"));
1574
- return Qn.includes(t);
1710
+ return cr.includes(t);
1575
1711
  }
1576
- const na = "onboarding-source", ra = ["support", "billing", "availability", "sales", "onboarding"], oa = ["keep", "replace"], we = [
1712
+ const ma = "onboarding-source", ha = ["support", "billing", "availability", "sales", "onboarding"], ga = ["keep", "replace"], Me = [
1577
1713
  {
1578
1714
  key: "shift",
1579
1715
  label: "kind_shift",
@@ -1647,44 +1783,44 @@ const na = "onboarding-source", ra = ["support", "billing", "availability", "sal
1647
1783
  absent: !0,
1648
1784
  icon: "party-popper"
1649
1785
  }
1650
- ], er = {
1786
+ ], lr = {
1651
1787
  key: "unknown",
1652
1788
  label: "kind_unknown",
1653
1789
  capacity: !1,
1654
1790
  productive: !1,
1655
1791
  absent: !1
1656
1792
  };
1657
- function x(e, t = we) {
1658
- return t.find((n) => n.key === e) ?? { ...er, key: e };
1793
+ function N(e, t = Me) {
1794
+ return t.find((n) => n.key === e) ?? { ...lr, key: e };
1659
1795
  }
1660
- function H(e) {
1796
+ function j(e) {
1661
1797
  return e === "published" || e === "approved";
1662
1798
  }
1663
- function vt(e, t, n = we) {
1799
+ function Nt(e, t, n = Me) {
1664
1800
  if (e.workstreamId !== t) return !1;
1665
- const r = x(e.kindKey, n);
1801
+ const r = N(e.kindKey, n);
1666
1802
  return r.absent ? !1 : r.productive || r.capacity;
1667
1803
  }
1668
- function ia(e, t = we) {
1669
- if (!e.userId || !H(e.status)) return !1;
1670
- const n = x(e.kindKey, t);
1804
+ function ya(e, t = Me) {
1805
+ if (!e.userId || !j(e.status)) return !1;
1806
+ const n = N(e.kindKey, t);
1671
1807
  return n.capacity || n.productive || n.absent;
1672
1808
  }
1673
- const tr = 864e5;
1674
- function nr(e, t) {
1675
- return Math.round((t - e) / tr);
1809
+ const ur = 864e5;
1810
+ function dr(e, t) {
1811
+ return Math.round((t - e) / ur);
1676
1812
  }
1677
- function Ot(e, t) {
1813
+ function Rt(e, t) {
1678
1814
  const n = e.cycleMinutes.length;
1679
- return n === 0 ? 0 : (nr(e.anchor, t) % n + n) % n;
1815
+ return n === 0 ? 0 : (dr(e.anchor, t) % n + n) % n;
1680
1816
  }
1681
- function Ct(e, t) {
1682
- return e.effectiveFrom !== void 0 && t < e.effectiveFrom ? 0 : e.cycleMinutes[Ot(e, t)] ?? 0;
1817
+ function Dt(e, t) {
1818
+ return e.effectiveFrom !== void 0 && t < e.effectiveFrom ? 0 : e.cycleMinutes[Rt(e, t)] ?? 0;
1683
1819
  }
1684
- function Nt(e, t) {
1685
- return e.startTimes?.[Ot(e, t)];
1820
+ function $t(e, t) {
1821
+ return e.startTimes?.[Rt(e, t)];
1686
1822
  }
1687
- function xt(e, t, n, r) {
1823
+ function Lt(e, t, n, r) {
1688
1824
  const o = e.filter(
1689
1825
  (a) => a.effectiveFrom === void 0 || a.effectiveFrom <= r
1690
1826
  ), i = (a) => a.sort((l, u) => (u.effectiveFrom ?? 0) - (l.effectiveFrom ?? 0))[0], s = i(o.filter((a) => a.userId === t));
@@ -1692,26 +1828,26 @@ function xt(e, t, n, r) {
1692
1828
  o.filter((a) => !a.userId && a.teamId && n.includes(a.teamId))
1693
1829
  );
1694
1830
  }
1695
- function rr(e, t, n) {
1831
+ function fr(e, t, n) {
1696
1832
  return e.filter(
1697
1833
  (r) => r.userId === t && (r.effectiveFrom === void 0 || r.effectiveFrom <= n)
1698
1834
  ).sort((r, o) => (o.effectiveFrom ?? 0) - (r.effectiveFrom ?? 0))[0];
1699
1835
  }
1700
- const fe = 864e5;
1701
- function or(e) {
1702
- const t = Math.max(1, Math.round((e.to - e.from) / fe));
1703
- return Array.from({ length: t }, (n, r) => e.from + r * fe);
1836
+ const pe = 864e5;
1837
+ function pr(e) {
1838
+ const t = Math.max(1, Math.round((e.to - e.from) / pe));
1839
+ return Array.from({ length: t }, (n, r) => e.from + r * pe);
1704
1840
  }
1705
- function pe(e, t, n, r) {
1841
+ function me(e, t, n, r) {
1706
1842
  const o = Math.min(t, r) - Math.max(e, n);
1707
1843
  return o > 0 ? o / 1e3 : 0;
1708
1844
  }
1709
- const Je = { interval: 0, day: 1, week: 2 };
1710
- function sa(e, t) {
1845
+ const Ze = { interval: 0, day: 1, week: 2 };
1846
+ function ba(e, t) {
1711
1847
  const { entries: n, patterns: r = [], terms: o = [] } = t, i = n.filter(
1712
- (c) => c.userId && H(c.status) && x(c.kindKey).capacity
1848
+ (c) => c.userId && j(c.status) && N(c.kindKey).capacity
1713
1849
  ), s = n.filter(
1714
- (c) => c.userId && H(c.status) && x(c.kindKey).absent
1850
+ (c) => c.userId && j(c.status) && N(c.kindKey).absent
1715
1851
  ), a = t.userIds ?? [
1716
1852
  .../* @__PURE__ */ new Set([
1717
1853
  ...i.map((c) => c.userId),
@@ -1720,44 +1856,44 @@ function sa(e, t) {
1720
1856
  ])
1721
1857
  ].filter((c) => !!c), l = {};
1722
1858
  let u = "interval";
1723
- const d = (c) => {
1724
- Je[c] > Je[u] && (u = c);
1859
+ const f = (c) => {
1860
+ Ze[c] > Ze[u] && (u = c);
1725
1861
  };
1726
1862
  for (const c of a) {
1727
- const h = t.teamIdsOf?.(c) ?? [];
1863
+ const d = t.teamIdsOf?.(c) ?? [];
1728
1864
  let m = 0, E = 0, g = 0;
1729
- for (const f of or(e)) {
1730
- const S = Math.max(f, e.from), N = Math.min(f + fe, e.to);
1865
+ for (const p of pr(e)) {
1866
+ const _ = Math.max(p, e.from), x = Math.min(p + pe, e.to);
1731
1867
  g++;
1732
- const O = i.filter((M) => M.userId === c).reduce((M, Ne) => M + pe(Ne.start, Ne.end, S, N), 0);
1868
+ const O = i.filter((M) => M.userId === c).reduce((M, Ne) => M + me(Ne.start, Ne.end, _, x), 0);
1733
1869
  if (O > 0) {
1734
1870
  m += O;
1735
1871
  continue;
1736
1872
  }
1737
- const k = xt(r, c, h, f), C = k ? Ct(k, f) : 0;
1873
+ const k = Lt(r, c, d, p), C = k ? Dt(k, p) : 0;
1738
1874
  if (k && C > 0) {
1739
- m += C * 60, d(Nt(k, f) ? "interval" : "day");
1875
+ m += C * 60, f($t(k, p) ? "interval" : "day");
1740
1876
  continue;
1741
1877
  }
1742
1878
  k || E++;
1743
1879
  }
1744
1880
  if (E > 0) {
1745
- const f = rr(o, c, e.from);
1746
- f && (m += f.weeklyMinutes * 60 * (E / 7), d("week"));
1881
+ const p = fr(o, c, e.from);
1882
+ p && (m += p.weeklyMinutes * 60 * (E / 7), f("week"));
1747
1883
  }
1748
- const T = s.filter((f) => f.userId === c).reduce(
1749
- (f, S) => f + pe(S.start, S.end, e.from, e.to),
1884
+ const T = s.filter((p) => p.userId === c).reduce(
1885
+ (p, _) => p + me(_.start, _.end, e.from, e.to),
1750
1886
  0
1751
- ), p = Math.max(0, m - T);
1752
- (p > 0 || g > 0) && (l[c] = p);
1887
+ ), h = Math.max(0, m - T);
1888
+ (h > 0 || g > 0) && (l[c] = h);
1753
1889
  }
1754
1890
  return {
1755
- seconds: Object.values(l).reduce((c, h) => c + h, 0),
1891
+ seconds: Object.values(l).reduce((c, d) => c + d, 0),
1756
1892
  precision: u,
1757
1893
  byUser: l
1758
1894
  };
1759
1895
  }
1760
- function aa(e, t) {
1896
+ function Aa(e, t) {
1761
1897
  if (!e.some((a) => a.userId)) return [];
1762
1898
  const n = "", r = /* @__PURE__ */ new Map();
1763
1899
  for (const a of e) {
@@ -1780,16 +1916,16 @@ function aa(e, t) {
1780
1916
  const s = r.get(n) ?? 0;
1781
1917
  return s > 0 && i.push({ requiredSeconds: s, capacitySeconds: 0, netSeconds: -s }), i;
1782
1918
  }
1783
- function ca(e, t, n, r) {
1919
+ function Ea(e, t, n, r) {
1784
1920
  const o = e.filter(
1785
- (s) => s.userId && H(s.status) && !x(s.kindKey).absent
1921
+ (s) => s.userId && j(s.status) && !N(s.kindKey).absent
1786
1922
  ), i = Object.entries(r.byUser).map(
1787
1923
  ([s, a]) => {
1788
1924
  let l = 0, u = 0;
1789
- for (const d of o) {
1790
- if (d.userId !== s || x(d.kindKey).capacity && !d.workstreamId) continue;
1791
- const c = pe(d.start, d.end, n.from, n.to);
1792
- c <= 0 || (vt(d, t) ? l += c : u += c);
1925
+ for (const f of o) {
1926
+ if (f.userId !== s || N(f.kindKey).capacity && !f.workstreamId) continue;
1927
+ const c = me(f.start, f.end, n.from, n.to);
1928
+ c <= 0 || (Nt(f, t) ? l += c : u += c);
1793
1929
  }
1794
1930
  return {
1795
1931
  userId: s,
@@ -1802,203 +1938,203 @@ function ca(e, t, n, r) {
1802
1938
  );
1803
1939
  return i.sort((s, a) => a.freeSeconds - s.freeSeconds), i;
1804
1940
  }
1805
- const la = "demand-source", Ze = 1e3;
1806
- function ir(e, t) {
1941
+ const _a = "demand-source", Qe = 1e3;
1942
+ function mr(e, t) {
1807
1943
  let n = 1;
1808
1944
  for (let r = 1; r <= e; r++)
1809
1945
  n = t * n / (r + t * n);
1810
1946
  return n;
1811
1947
  }
1812
- function sr(e, t) {
1948
+ function hr(e, t) {
1813
1949
  if (e <= 0) return 1;
1814
1950
  if (t <= 0) return 0;
1815
1951
  if (e <= t) return 1;
1816
- const n = ir(e, t), r = t / e;
1952
+ const n = mr(e, t), r = t / e;
1817
1953
  return n / (1 - r * (1 - n));
1818
1954
  }
1819
- function ar(e, t, n, r) {
1820
- return r <= 0 ? 1 : e <= t ? 0 : 1 - sr(e, t) * Math.exp(-(e - t) * n / r);
1955
+ function gr(e, t, n, r) {
1956
+ return r <= 0 ? 1 : e <= t ? 0 : 1 - hr(e, t) * Math.exp(-(e - t) * n / r);
1821
1957
  }
1822
- function cr(e, t, n) {
1958
+ function yr(e, t, n) {
1823
1959
  return n <= 0 ? 0 : e * t / n;
1824
1960
  }
1825
- function lr(e, t, n, r) {
1961
+ function br(e, t, n, r) {
1826
1962
  if (e <= 0 || t <= 0) return 0;
1827
- const o = cr(e, t, n);
1963
+ const o = yr(e, t, n);
1828
1964
  if (o <= 0) return 0;
1829
1965
  const i = r.serviceLevelPercent / 100, s = r.maxOccupancyPercent ? r.maxOccupancyPercent / 100 : void 0;
1830
- for (let a = Math.max(1, Math.ceil(o)); a <= Ze; a++)
1831
- if (!(a <= o) && !(ar(a, o, r.targetSeconds, t) < i) && !(s && o / a > s))
1966
+ for (let a = Math.max(1, Math.ceil(o)); a <= Qe; a++)
1967
+ if (!(a <= o) && !(gr(a, o, r.targetSeconds, t) < i) && !(s && o / a > s))
1832
1968
  return a;
1833
- return Ze;
1969
+ return Qe;
1834
1970
  }
1835
- const ur = 36e5, dr = 864e5;
1836
- function fr(e) {
1837
- return e === "day" ? dr : ur;
1971
+ const Ar = 36e5, Er = 864e5;
1972
+ function _r(e) {
1973
+ return e === "day" ? Er : Ar;
1838
1974
  }
1839
- function ua(e, t) {
1975
+ function Sa(e, t) {
1840
1976
  return e.start < t.end && t.start < e.end;
1841
1977
  }
1842
- function ie(e, t, n) {
1978
+ function se(e, t, n) {
1843
1979
  const r = Math.min(e.end, n) - Math.max(e.start, t);
1844
1980
  return r > 0 ? r / 1e3 : 0;
1845
1981
  }
1846
- function pr(e, t, n) {
1982
+ function Sr(e, t, n) {
1847
1983
  const r = e.handleSeconds ?? 0, o = e.seconds ?? (e.volume !== void 0 ? e.volume * r : 0);
1848
1984
  if (o <= 0 && !e.volume) return { seconds: 0, headcount: 0 };
1849
1985
  const i = (t.unplannedLossPercent ?? 0) / 100, s = i > 0 && i < 1 ? 1 / (1 - i) : 1;
1850
1986
  if (t.model === "queue" && e.volume !== void 0 && r > 0) {
1851
- const a = lr(e.volume, r, n, t);
1987
+ const a = br(e.volume, r, n, t);
1852
1988
  return { seconds: o, headcount: a * s };
1853
1989
  }
1854
1990
  return { seconds: o, headcount: o / n * s };
1855
1991
  }
1856
- function da(e) {
1857
- const { entries: t, workstreamId: n, staffing: r, demand: o, range: i } = e, s = e.grain ?? "hour", a = fr(s), l = a / 1e3, u = e.kinds, d = t.filter((g) => H(g.status)), c = d.filter((g) => vt(g, n, u)), h = d.filter((g) => x(g.kindKey, u).capacity), m = d.filter((g) => x(g.kindKey, u).absent), E = [];
1858
- for (let g = B(i.from, s); g < i.to; g += a) {
1859
- const T = g + a, p = F(g, s);
1860
- let f = 0;
1861
- for (const M of c) f += ie(M, g, T);
1862
- let S = 0;
1863
- for (const M of h) S += ie(M, g, T);
1864
- let N = 0;
1865
- for (const M of m) N += ie(M, g, T);
1866
- const O = o?.[p] ?? {}, k = pr(O, r, l), C = f / l;
1992
+ function Ta(e) {
1993
+ const { entries: t, workstreamId: n, staffing: r, demand: o, range: i } = e, s = e.grain ?? "hour", a = _r(s), l = a / 1e3, u = e.kinds, f = t.filter((g) => j(g.status)), c = f.filter((g) => Nt(g, n, u)), d = f.filter((g) => N(g.kindKey, u).capacity), m = f.filter((g) => N(g.kindKey, u).absent), E = [];
1994
+ for (let g = H(i.from, s); g < i.to; g += a) {
1995
+ const T = g + a, h = B(g, s);
1996
+ let p = 0;
1997
+ for (const M of c) p += se(M, g, T);
1998
+ let _ = 0;
1999
+ for (const M of d) _ += se(M, g, T);
2000
+ let x = 0;
2001
+ for (const M of m) x += se(M, g, T);
2002
+ const O = o?.[h] ?? {}, k = Sr(O, r, l), C = p / l;
1867
2003
  E.push({
1868
- period: p,
2004
+ period: h,
1869
2005
  forecastVolume: O.volume,
1870
2006
  requiredSeconds: k.seconds,
1871
2007
  requiredHeadcount: k.headcount,
1872
- scheduledSeconds: f,
2008
+ scheduledSeconds: p,
1873
2009
  scheduledHeadcount: C,
1874
2010
  netHeadcount: C - k.headcount,
1875
- capacitySeconds: S,
1876
- absentSeconds: N
2011
+ capacitySeconds: _,
2012
+ absentSeconds: x
1877
2013
  });
1878
2014
  }
1879
2015
  return E;
1880
2016
  }
1881
- function mr(e, t) {
2017
+ function Tr(e, t) {
1882
2018
  return e.workTypeKey ?? t?.defaultWorkTypeKey;
1883
2019
  }
1884
- function fa(e, t, n) {
1885
- const r = mr(e, t);
2020
+ function wa(e, t, n) {
2021
+ const r = Tr(e, t);
1886
2022
  return r ? n.find((o) => o.key === r)?.defaultBillable ?? !1 : !1;
1887
2023
  }
1888
- function pa(e) {
2024
+ function Ia(e) {
1889
2025
  return e.filter(
1890
2026
  (t) => t.netHeadcount < 0 && t.requiredHeadcount > 0
1891
2027
  );
1892
2028
  }
1893
- const hr = 36e5, me = 6048e5, gr = 8, yr = 0.5, br = 2;
1894
- function Ar(e) {
2029
+ const wr = 36e5, he = 6048e5, Ir = 8, Mr = 0.5, kr = 2;
2030
+ function vr(e) {
1895
2031
  const t = Number(e.slice(0, 4)), n = Number(e.slice(5, 7)), r = Number(e.slice(8, 10)), o = e.length > 10 ? Number(e.slice(11, 13)) : 0;
1896
2032
  return Date.UTC(t, n - 1, r, o);
1897
2033
  }
1898
- function Er(e, t, n) {
2034
+ function Or(e, t, n) {
1899
2035
  const r = [];
1900
2036
  for (let i = 0; i < n; i++) {
1901
- const s = t - i * me, a = s - me;
2037
+ const s = t - i * he, a = s - he;
1902
2038
  let l = 0, u = !1;
1903
- for (const [d, c] of e)
1904
- d >= a && d < s && (l += c, u = !0);
2039
+ for (const [f, c] of e)
2040
+ f >= a && f < s && (l += c, u = !0);
1905
2041
  u && r.push(l);
1906
2042
  }
1907
2043
  if (r.length < 2) return 1;
1908
2044
  const o = r.reduce((i, s) => i + s, 0) / r.length;
1909
- return o <= 0 ? 1 : Math.min(br, Math.max(yr, r[0] / o));
2045
+ return o <= 0 ? 1 : Math.min(kr, Math.max(Mr, r[0] / o));
1910
2046
  }
1911
- function Sr(e, t) {
2047
+ function Cr(e, t) {
1912
2048
  if (!e?.length) return;
1913
2049
  let n;
1914
2050
  for (const r of e)
1915
2051
  t >= r.from && t < r.to && (n = r);
1916
2052
  return n;
1917
2053
  }
1918
- function ma(e, t, n) {
1919
- const r = Math.max(1, n?.weeks ?? gr), o = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set();
2054
+ function Ma(e, t, n) {
2055
+ const r = Math.max(1, n?.weeks ?? Ir), o = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set();
1920
2056
  for (const l of e)
1921
- o.set(Ar(l.period), l.value), i.add(l.period.slice(0, 10));
1922
- const s = Er(o, B(t.from, "hour"), r), a = [];
1923
- for (let l = B(t.from, "hour"); l < t.to; l += hr) {
1924
- let u = 0, d = 0;
2057
+ o.set(vr(l.period), l.value), i.add(l.period.slice(0, 10));
2058
+ const s = Or(o, H(t.from, "hour"), r), a = [];
2059
+ for (let l = H(t.from, "hour"); l < t.to; l += wr) {
2060
+ let u = 0, f = 0;
1925
2061
  for (let m = 1; m <= r; m++) {
1926
- const E = l - m * me, T = o.get(E) ?? (i.has(F(E, "day")) ? 0 : void 0);
2062
+ const E = l - m * he, T = o.get(E) ?? (i.has(B(E, "day")) ? 0 : void 0);
1927
2063
  if (T === void 0) continue;
1928
- const p = r - m + 1;
1929
- u += T * p, d += p;
2064
+ const h = r - m + 1;
2065
+ u += T * h, f += h;
1930
2066
  }
1931
- let c = d > 0 ? u / d * s : 0;
1932
- const h = Sr(n?.adjustments, l);
1933
- h?.absoluteVolume !== void 0 ? c = h.absoluteVolume : h?.factor !== void 0 && (c *= h.factor), a.push({ period: F(l, "hour"), volume: c });
2067
+ let c = f > 0 ? u / f * s : 0;
2068
+ const d = Cr(n?.adjustments, l);
2069
+ d?.absoluteVolume !== void 0 ? c = d.absoluteVolume : d?.factor !== void 0 && (c *= d.factor), a.push({ period: B(l, "hour"), volume: c });
1934
2070
  }
1935
2071
  return a;
1936
2072
  }
1937
- const _r = "schedule_entry", Tr = "workstream";
1938
- function ha(e) {
1939
- return `${_r}:${e}`;
2073
+ const xr = "schedule_entry", Nr = "workstream";
2074
+ function ka(e) {
2075
+ return `${xr}:${e}`;
1940
2076
  }
1941
- function ga(e) {
1942
- return `${Tr}:${e}`;
2077
+ function va(e) {
2078
+ return `${Nr}:${e}`;
1943
2079
  }
1944
- const he = 36e5, L = 864e5;
1945
- function Ir(e, t) {
1946
- const n = t === "day" ? L : he, r = [];
1947
- for (let o = B(e.from, t); o < e.to; o += n) r.push(o);
2080
+ const ge = 36e5, P = 864e5;
2081
+ function Rr(e, t) {
2082
+ const n = t === "day" ? P : ge, r = [];
2083
+ for (let o = H(e.from, t); o < e.to; o += n) r.push(o);
1948
2084
  return r;
1949
2085
  }
1950
- function Qe(e) {
1951
- const t = Math.max(1, Math.round((e.to - e.from) / L));
1952
- return Array.from({ length: t }, (n, r) => e.from + r * L);
2086
+ function et(e) {
2087
+ const t = Math.max(1, Math.round((e.to - e.from) / P));
2088
+ return Array.from({ length: t }, (n, r) => e.from + r * P);
1953
2089
  }
1954
- function se(e, t, n, r) {
2090
+ function ae(e, t, n, r) {
1955
2091
  const o = Math.min(t, r) - Math.max(e, n);
1956
2092
  return o > 0 ? o / 1e3 : 0;
1957
2093
  }
1958
- function ya(e, t, n = {}) {
1959
- const r = n.grain ?? "hour", o = Ir(t, r), i = r === "day" ? L : he, s = new Map(o.map((c) => [c, 0])), a = e.filter((c) => c.userId && x(c.kindKey).capacity), l = n.userIds?.length ? new Set(n.userIds) : null, u = /* @__PURE__ */ new Set();
2094
+ function Oa(e, t, n = {}) {
2095
+ const r = n.grain ?? "hour", o = Rr(t, r), i = r === "day" ? P : ge, s = new Map(o.map((c) => [c, 0])), a = e.filter((c) => c.userId && N(c.kindKey).capacity), l = n.userIds?.length ? new Set(n.userIds) : null, u = /* @__PURE__ */ new Set();
1960
2096
  for (const c of a)
1961
2097
  if (!(l && c.userId && !l.has(c.userId))) {
1962
- for (const h of o) {
1963
- const m = se(c.start, c.end, h, h + i);
1964
- m > 0 && s.set(h, (s.get(h) ?? 0) + m);
2098
+ for (const d of o) {
2099
+ const m = ae(c.start, c.end, d, d + i);
2100
+ m > 0 && s.set(d, (s.get(d) ?? 0) + m);
1965
2101
  }
1966
- for (const h of Qe(t))
1967
- se(c.start, c.end, h, h + L) > 0 && u.add(`${c.userId}:${h}`);
2102
+ for (const d of et(t))
2103
+ ae(c.start, c.end, d, d + P) > 0 && u.add(`${c.userId}:${d}`);
1968
2104
  }
1969
- const d = n.userIds ?? [
2105
+ const f = n.userIds ?? [
1970
2106
  .../* @__PURE__ */ new Set([
1971
2107
  ...a.map((c) => c.userId),
1972
2108
  ...(n.patterns ?? []).map((c) => c.userId)
1973
2109
  ])
1974
2110
  ].filter((c) => !!c);
1975
2111
  if (n.patterns?.length)
1976
- for (const c of d) {
1977
- const h = n.teamIdsOf?.(c) ?? [];
1978
- for (const m of Qe(t)) {
2112
+ for (const c of f) {
2113
+ const d = n.teamIdsOf?.(c) ?? [];
2114
+ for (const m of et(t)) {
1979
2115
  if (u.has(`${c}:${m}`)) continue;
1980
- const E = xt(n.patterns, c, h, m);
2116
+ const E = Lt(n.patterns, c, d, m);
1981
2117
  if (!E) continue;
1982
- const g = Ct(E, m);
2118
+ const g = Dt(E, m);
1983
2119
  if (g <= 0) continue;
1984
- const T = Nt(E, m);
2120
+ const T = $t(E, m);
1985
2121
  if (T) {
1986
- const [S, N] = T.split(":").map(Number), O = m + S * he + (N ?? 0) * 6e4, k = O + g * 6e4;
2122
+ const [_, x] = T.split(":").map(Number), O = m + _ * ge + (x ?? 0) * 6e4, k = O + g * 6e4;
1987
2123
  for (const C of o) {
1988
- const M = se(O, k, C, C + i);
2124
+ const M = ae(O, k, C, C + i);
1989
2125
  M > 0 && s.set(C, (s.get(C) ?? 0) + M);
1990
2126
  }
1991
2127
  continue;
1992
2128
  }
1993
- const p = o.filter((S) => S >= m && S < m + L);
1994
- if (!p.length) continue;
1995
- const f = g * 60 / p.length;
1996
- for (const S of p) s.set(S, (s.get(S) ?? 0) + f);
2129
+ const h = o.filter((_) => _ >= m && _ < m + P);
2130
+ if (!h.length) continue;
2131
+ const p = g * 60 / h.length;
2132
+ for (const _ of h) s.set(_, (s.get(_) ?? 0) + p);
1997
2133
  }
1998
2134
  }
1999
- return o.map((c) => ({ period: F(c, r), weight: s.get(c) ?? 0 }));
2135
+ return o.map((c) => ({ period: B(c, r), weight: s.get(c) ?? 0 }));
2000
2136
  }
2001
- function wr(e, t) {
2137
+ function Dr(e, t) {
2002
2138
  if (e <= 0 || !t.length) return [];
2003
2139
  const n = t.reduce((r, o) => r + Math.max(0, o.weight), 0);
2004
2140
  if (n <= 0) {
@@ -2007,11 +2143,11 @@ function wr(e, t) {
2007
2143
  }
2008
2144
  return t.filter((r) => r.weight > 0).map((r) => ({ period: r.period, seconds: e * r.weight / n }));
2009
2145
  }
2010
- function ba(e, t, n) {
2146
+ function Ca(e, t, n) {
2011
2147
  const r = /* @__PURE__ */ new Map();
2012
2148
  for (const o of e) {
2013
2149
  const i = o.by ? t.filter((a) => n(a.period) < o.by) : t, s = i.length ? i : t;
2014
- for (const a of wr(o.seconds, s)) {
2150
+ for (const a of Dr(o.seconds, s)) {
2015
2151
  const l = `${a.period}|${o.userId ?? ""}`, u = r.get(l);
2016
2152
  u ? u.seconds += a.seconds : r.set(l, { ...a, userId: o.userId });
2017
2153
  }
@@ -2020,7 +2156,7 @@ function ba(e, t, n) {
2020
2156
  (o, i) => o.period.localeCompare(i.period) || (o.userId ?? "").localeCompare(i.userId ?? "")
2021
2157
  );
2022
2158
  }
2023
- function Mr(e) {
2159
+ function $r(e) {
2024
2160
  switch (e.kind) {
2025
2161
  case "user":
2026
2162
  return `user:${e.userId}`;
@@ -2030,7 +2166,7 @@ function Mr(e) {
2030
2166
  return "org";
2031
2167
  }
2032
2168
  }
2033
- function Aa(e) {
2169
+ function xa(e) {
2034
2170
  if (typeof e != "string") return;
2035
2171
  const t = e.trim();
2036
2172
  if (t === "org") return { kind: "org" };
@@ -2042,10 +2178,10 @@ function Aa(e) {
2042
2178
  if (r === "team") return { kind: "team", teamId: o };
2043
2179
  }
2044
2180
  }
2045
- function kr(e) {
2046
- return Mr(e);
2181
+ function Lr(e) {
2182
+ return $r(e);
2047
2183
  }
2048
- function vr(e) {
2184
+ function Pr(e) {
2049
2185
  switch (e.kind) {
2050
2186
  case "personal":
2051
2187
  return { kind: "user", userId: e.userId };
@@ -2055,14 +2191,14 @@ function vr(e) {
2055
2191
  return { kind: "org" };
2056
2192
  }
2057
2193
  }
2058
- const Or = vr;
2059
- function Ea(e) {
2060
- return e.agentId ? { kind: "user", userId: e.agentId } : Or(e.ownerScope);
2194
+ const Ur = Pr;
2195
+ function Na(e) {
2196
+ return e.agentId ? { kind: "user", userId: e.agentId } : Ur(e.ownerScope);
2061
2197
  }
2062
- function Sa(e) {
2063
- return kr(e);
2198
+ function Ra(e) {
2199
+ return Lr(e);
2064
2200
  }
2065
- function _a(e, t) {
2201
+ function Da(e, t) {
2066
2202
  if (!t) return;
2067
2203
  let n = e;
2068
2204
  for (const r of t.split(".")) {
@@ -2071,24 +2207,24 @@ function _a(e, t) {
2071
2207
  }
2072
2208
  return n;
2073
2209
  }
2074
- function Ta(e, t) {
2210
+ function $a(e, t) {
2075
2211
  return e.targets.find((n) => n.activityTypes.includes(t));
2076
2212
  }
2077
- function Ia(e, t) {
2213
+ function La(e, t) {
2078
2214
  if (t)
2079
2215
  return e.targets.find((n) => n.id === t);
2080
2216
  }
2081
- function Cr(e) {
2217
+ function Kr(e) {
2082
2218
  return e?.kind === "assignment";
2083
2219
  }
2084
- function wa(e) {
2220
+ function Pa(e) {
2085
2221
  const { trigger: t, agentId: n, target: r, activityType: o, assigneeUserId: i, authorUserId: s } = e;
2086
- return Cr(t) ? n ? r ? r.activityTypes.includes(o) ? i ? i !== n ? "assigned to someone else" : s && s === n ? "the agent assigned this to itself, which would restart its own run" : null : `no assignee found at ${r.assigneePath}` : `activity type ${o} does not announce an assignment for ${r.id}` : `assignment target kind "${t.targetKind}" is not declared by any installed app` : "this playbook has no agent, so an assignment can never be for it" : "trigger is not an assignment trigger";
2222
+ return Kr(t) ? n ? r ? r.activityTypes.includes(o) ? i ? i !== n ? "assigned to someone else" : s && s === n ? "the agent assigned this to itself, which would restart its own run" : null : `no assignee found at ${r.assigneePath}` : `activity type ${o} does not announce an assignment for ${r.id}` : `assignment target kind "${t.targetKind}" is not declared by any installed app` : "this playbook has no agent, so an assignment can never be for it" : "trigger is not an assignment trigger";
2087
2223
  }
2088
- function Ma(e) {
2224
+ function Ua(e) {
2089
2225
  return (e.startsWith("tool:") ? e.slice(5) : e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
2090
2226
  }
2091
- const ka = [
2227
+ const Ka = [
2092
2228
  { name: "text", type: "string" },
2093
2229
  { name: "subject", type: "string" },
2094
2230
  { name: "from", type: "string" },
@@ -2128,7 +2264,7 @@ const ka = [
2128
2264
  // `buildTriggerVars` cannot fill it itself: the job does that with the catalog in hand, before
2129
2265
  // the trigger filter runs — like contactId/companyId above.
2130
2266
  { name: "assigneeUserId", type: "string" }
2131
- ], va = {
2267
+ ], Fa = {
2132
2268
  topics: [
2133
2269
  { name: "topicId", type: "string" },
2134
2270
  { name: "topic", type: "string" },
@@ -2142,58 +2278,58 @@ const ka = [
2142
2278
  // Deliberately empty: the fields come from `ClassifyStep.fields` and so differ per step.
2143
2279
  extract: []
2144
2280
  };
2145
- function Nr(e) {
2281
+ function Fr(e) {
2146
2282
  return `${e.type}:${e.id}`;
2147
2283
  }
2148
- const xr = "interaction";
2149
- function Rr(e) {
2150
- return e?.type === xr ? e.id : void 0;
2284
+ const Br = "interaction";
2285
+ function Hr(e) {
2286
+ return e?.type === Br ? e.id : void 0;
2151
2287
  }
2152
- const Dr = 64, $r = 8e3;
2153
- function Oa(e) {
2288
+ const jr = 64, Wr = 8e3;
2289
+ function Ba(e) {
2154
2290
  const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
2155
2291
  if (!(!Number.isFinite(t) || t <= 0))
2156
- return Math.min(Math.max(Math.round(t), Dr), $r);
2292
+ return Math.min(Math.max(Math.round(t), jr), Wr);
2157
2293
  }
2158
- const Ca = { kind: "workflow", steps: [] };
2159
- function Na(e) {
2294
+ const Ha = { kind: "workflow", steps: [] };
2295
+ function ja(e) {
2160
2296
  return e?.kind === "workflow" ? e.steps : [];
2161
2297
  }
2162
- function xa(e) {
2298
+ function Wa(e) {
2163
2299
  return e?.kind === "procedure" ? e.procedure : void 0;
2164
2300
  }
2165
- function Lr(e) {
2301
+ function Gr(e) {
2166
2302
  const t = e?.approved ?? 0, n = t + (e?.rejected ?? 0);
2167
2303
  return { total: n, rate: n ? t / n : 0 };
2168
2304
  }
2169
- const Pr = 10, Ur = 0.9;
2170
- function Ra(e) {
2171
- const { total: t, rate: n } = Lr(e);
2172
- return t >= Pr && n >= Ur;
2305
+ const Vr = 10, zr = 0.9;
2306
+ function Ga(e) {
2307
+ const { total: t, rate: n } = Gr(e);
2308
+ return t >= Vr && n >= zr;
2173
2309
  }
2174
- const Kr = ["done", "escalated", "failed", "stopped"];
2175
- function Da(e) {
2176
- return Kr.includes(e);
2310
+ const Xr = ["done", "escalated", "failed", "stopped"];
2311
+ function Va(e) {
2312
+ return Xr.includes(e);
2177
2313
  }
2178
- function Fr(e) {
2314
+ function Yr(e) {
2179
2315
  return e === "waiting";
2180
2316
  }
2181
- function $a(e) {
2182
- return e === "running" || Fr(e);
2317
+ function za(e) {
2318
+ return e === "running" || Yr(e);
2183
2319
  }
2184
- function Rt(e) {
2320
+ function Pt(e) {
2185
2321
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
2186
2322
  }
2187
- function La(e) {
2188
- const t = Rt(e);
2189
- return t ? Nr(t) : void 0;
2323
+ function Xa(e) {
2324
+ const t = Pt(e);
2325
+ return t ? Fr(t) : void 0;
2190
2326
  }
2191
- function Pa(e) {
2192
- return Rr(Rt(e));
2327
+ function Ya(e) {
2328
+ return Hr(Pt(e));
2193
2329
  }
2194
- function Ua(e) {
2330
+ function qa(e) {
2195
2331
  const t = [], n = /* @__PURE__ */ new Map();
2196
- for (const r of [...e].sort(Br)) {
2332
+ for (const r of [...e].sort(qr)) {
2197
2333
  const o = n.get(r.emoji);
2198
2334
  if (o) {
2199
2335
  o.push(r.actor);
@@ -2206,58 +2342,58 @@ function Ua(e) {
2206
2342
  return { emoji: r, count: o.length, actors: o };
2207
2343
  }).sort((r, o) => o.count - r.count || t.indexOf(r.emoji) - t.indexOf(o.emoji));
2208
2344
  }
2209
- const Br = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
2210
- function Ka(e, t) {
2345
+ const qr = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
2346
+ function Ja(e, t) {
2211
2347
  return t ? e.actors.some((n) => n.type === "user" && n.id === t) : !1;
2212
2348
  }
2213
- const ge = 6e4, Hr = 36e5, j = 864e5, Dt = 800;
2214
- function et(e, t) {
2349
+ const ye = 6e4, Jr = 36e5, W = 864e5, Ut = 800;
2350
+ function tt(e, t) {
2215
2351
  const n = Date.UTC(e, t + 1, 0);
2216
- return n - new Date(n).getUTCDay() * j + Hr;
2352
+ return n - new Date(n).getUTCDay() * W + Jr;
2217
2353
  }
2218
- function jr(e) {
2354
+ function Zr(e) {
2219
2355
  const t = new Date(e).getUTCFullYear();
2220
- return e >= et(t, 2) && e < et(t, 9);
2356
+ return e >= tt(t, 2) && e < tt(t, 9);
2221
2357
  }
2222
- function $t(e, t) {
2223
- const n = t.dst === "eu" && jr(e) ? 60 : 0;
2224
- return (t.utcOffsetMinutes + n) * ge;
2358
+ function Kt(e, t) {
2359
+ const n = t.dst === "eu" && Zr(e) ? 60 : 0;
2360
+ return (t.utcOffsetMinutes + n) * ye;
2225
2361
  }
2226
- function Wr(e) {
2362
+ function Qr(e) {
2227
2363
  return (e + 3) % 7 + 1;
2228
2364
  }
2229
- function Lt(e, t) {
2230
- const n = $t(e, t), r = e + n, o = Math.floor(r / j);
2231
- if (!t.days.includes(Wr(o))) return null;
2232
- const i = o * j;
2365
+ function Ft(e, t) {
2366
+ const n = Kt(e, t), r = e + n, o = Math.floor(r / W);
2367
+ if (!t.days.includes(Qr(o))) return null;
2368
+ const i = o * W;
2233
2369
  return {
2234
- open: i + t.fromMinutes * ge - n,
2235
- close: i + t.toMinutes * ge - n
2370
+ open: i + t.fromMinutes * ye - n,
2371
+ close: i + t.toMinutes * ye - n
2236
2372
  };
2237
2373
  }
2238
- function Pt(e, t) {
2239
- const n = $t(e, t), r = e + n;
2240
- return (Math.floor(r / j) + 1) * j - n;
2374
+ function Bt(e, t) {
2375
+ const n = Kt(e, t), r = e + n;
2376
+ return (Math.floor(r / W) + 1) * W - n;
2241
2377
  }
2242
- function ye(e, t, n) {
2378
+ function be(e, t, n) {
2243
2379
  if (t <= e) return 0;
2244
2380
  if (!n) return t - e;
2245
2381
  let r = 0, o = e;
2246
- for (let i = 0; i < Dt && o < t; i++) {
2247
- const s = Lt(o, n);
2382
+ for (let i = 0; i < Ut && o < t; i++) {
2383
+ const s = Ft(o, n);
2248
2384
  if (s) {
2249
2385
  const a = Math.max(o, s.open), l = Math.min(t, s.close);
2250
2386
  l > a && (r += l - a);
2251
2387
  }
2252
- o = Pt(o, n);
2388
+ o = Bt(o, n);
2253
2389
  }
2254
2390
  return r;
2255
2391
  }
2256
- function Me(e, t, n) {
2392
+ function ke(e, t, n) {
2257
2393
  if (!n) return e + t;
2258
2394
  let r = t, o = e;
2259
- for (let i = 0; i < Dt; i++) {
2260
- const s = Lt(o, n);
2395
+ for (let i = 0; i < Ut; i++) {
2396
+ const s = Ft(o, n);
2261
2397
  if (s) {
2262
2398
  const a = Math.max(o, s.open);
2263
2399
  if (s.close > a) {
@@ -2266,183 +2402,183 @@ function Me(e, t, n) {
2266
2402
  r -= l;
2267
2403
  }
2268
2404
  }
2269
- o = Pt(o, n);
2405
+ o = Bt(o, n);
2270
2406
  }
2271
2407
  return e + t;
2272
2408
  }
2273
- function Fa(e) {
2409
+ function Za(e) {
2274
2410
  const t = /^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);
2275
2411
  return t ? Number(t[1]) * 60 + Number(t[2]) : null;
2276
2412
  }
2277
- const be = 1, Ae = 2;
2278
- function Ba(e) {
2279
- return e === "snoozed" ? be : Ae;
2413
+ const Ae = 1, Ee = 2;
2414
+ function Qa(e) {
2415
+ return e === "snoozed" ? Ae : Ee;
2280
2416
  }
2281
- function ke(e) {
2417
+ function ve(e) {
2282
2418
  const t = e.calendar;
2283
2419
  return t && Array.isArray(t.days) ? t : null;
2284
2420
  }
2285
- const Ha = [
2421
+ const ec = [
2286
2422
  "speed_of_answer",
2287
2423
  "first_response",
2288
2424
  "next_response",
2289
2425
  "resolution",
2290
2426
  "close"
2291
- ], ja = ["snoozed", "waiting_for_customer"], Gr = 6e4, Ut = ["speed_of_answer", "first_response", "next_response"], Vr = [...Ut, "resolution", "close"];
2292
- function W(e) {
2427
+ ], tc = ["snoozed", "waiting_for_customer"], eo = 6e4, Ht = ["speed_of_answer", "first_response", "next_response"], to = [...Ht, "resolution", "close"];
2428
+ function G(e) {
2293
2429
  return e.state === "running" || e.state === "paused";
2294
2430
  }
2295
- function Xr(e, t) {
2296
- return W(e) ? { state: (e.state === "paused" ? e.remainingMs > 0 : t <= e.dueAt) ? "hit" : "missed", settledAt: Math.max(t, e.startedAt) } : null;
2431
+ function no(e, t) {
2432
+ return G(e) ? { state: (e.state === "paused" ? e.remainingMs > 0 : t <= e.dueAt) ? "hit" : "missed", settledAt: Math.max(t, e.startedAt) } : null;
2297
2433
  }
2298
- function tt(e) {
2299
- return W(e) ? { state: "void" } : null;
2434
+ function nt(e) {
2435
+ return G(e) ? { state: "void" } : null;
2300
2436
  }
2301
- function zr(e, t, n, r) {
2302
- if (!W(e) || (e.pauseBits & t) !== 0) return null;
2437
+ function ro(e, t, n, r) {
2438
+ if (!G(e) || (e.pauseBits & t) !== 0) return null;
2303
2439
  const o = e.pauseBits | t;
2304
- return e.state === "paused" ? { pauseBits: o } : { pauseBits: o, state: "paused", remainingMs: ye(n, e.dueAt, r) };
2440
+ return e.state === "paused" ? { pauseBits: o } : { pauseBits: o, state: "paused", remainingMs: be(n, e.dueAt, r) };
2305
2441
  }
2306
- function Yr(e, t, n, r) {
2307
- if (!W(e) || (e.pauseBits & t) === 0) return null;
2442
+ function oo(e, t, n, r) {
2443
+ if (!G(e) || (e.pauseBits & t) === 0) return null;
2308
2444
  const o = e.pauseBits & ~t;
2309
- return o !== 0 ? { pauseBits: o } : { pauseBits: o, state: "running", dueAt: Me(n, e.remainingMs, r) };
2310
- }
2311
- function Wa({ event: e, at: t, now: n, clocks: r, profile: o }) {
2312
- const i = ke(o), s = Math.min(t, n), a = r.map((p) => ({ ...p })), l = [], u = (p, f) => {
2313
- f && (l.push({ op: "patch", clockId: p.id, patch: f }), Object.assign(p, f));
2314
- }, d = (p) => {
2315
- for (const f of a)
2316
- f.metric === p && u(f, Xr(f, s));
2317
- }, c = (p) => {
2318
- for (const f of a)
2319
- p.includes(f.metric) && u(f, tt(f));
2320
- }, h = (p) => {
2321
- for (const f of a) u(f, zr(f, p, s, i));
2322
- }, m = (p) => {
2323
- for (const f of a) u(f, Yr(f, p, s, i));
2324
- }, E = (p) => a.reduce((f, S) => S.metric === p ? Math.max(f, S.attempt) : f, 0) + 1, g = (p) => a.some((f) => f.metric === p && W(f)), T = (p, f) => {
2325
- const S = o.targets.find((O) => O.metric === p);
2326
- if (!S) return;
2327
- const N = S.minutes * Gr;
2445
+ return o !== 0 ? { pauseBits: o } : { pauseBits: o, state: "running", dueAt: ke(n, e.remainingMs, r) };
2446
+ }
2447
+ function nc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2448
+ const i = ve(o), s = Math.min(t, n), a = r.map((h) => ({ ...h })), l = [], u = (h, p) => {
2449
+ p && (l.push({ op: "patch", clockId: h.id, patch: p }), Object.assign(h, p));
2450
+ }, f = (h) => {
2451
+ for (const p of a)
2452
+ p.metric === h && u(p, no(p, s));
2453
+ }, c = (h) => {
2454
+ for (const p of a)
2455
+ h.includes(p.metric) && u(p, nt(p));
2456
+ }, d = (h) => {
2457
+ for (const p of a) u(p, ro(p, h, s, i));
2458
+ }, m = (h) => {
2459
+ for (const p of a) u(p, oo(p, h, s, i));
2460
+ }, E = (h) => a.reduce((p, _) => _.metric === h ? Math.max(p, _.attempt) : p, 0) + 1, g = (h) => a.some((p) => p.metric === h && G(p)), T = (h, p) => {
2461
+ const _ = o.targets.find((O) => O.metric === h);
2462
+ if (!_) return;
2463
+ const x = _.minutes * eo;
2328
2464
  l.push({
2329
2465
  op: "start",
2330
- metric: p,
2331
- attempt: E(p),
2332
- startedAt: f,
2333
- targetMs: N,
2334
- dueAt: Me(f, N, i)
2466
+ metric: h,
2467
+ attempt: E(h),
2468
+ startedAt: p,
2469
+ targetMs: x,
2470
+ dueAt: ke(p, x, i)
2335
2471
  });
2336
2472
  };
2337
2473
  switch (e) {
2338
2474
  case "apply": {
2339
- for (const p of a)
2340
- p.profileId !== o.id && u(p, tt(p));
2341
- for (const p of o.targets) {
2342
- if (p.metric === "next_response") continue;
2475
+ for (const h of a)
2476
+ h.profileId !== o.id && u(h, nt(h));
2477
+ for (const h of o.targets) {
2478
+ if (h.metric === "next_response") continue;
2343
2479
  a.some(
2344
- (S) => S.metric === p.metric && S.profileId === o.id
2345
- ) || T(p.metric, s);
2480
+ (_) => _.metric === h.metric && _.profileId === o.id
2481
+ ) || T(h.metric, s);
2346
2482
  }
2347
2483
  break;
2348
2484
  }
2349
2485
  case "answered":
2350
- d("speed_of_answer");
2486
+ f("speed_of_answer");
2351
2487
  break;
2352
2488
  case "outbound": {
2353
- d("first_response"), d("next_response"), o.pauseOn.includes("waiting_for_customer") && h(Ae);
2489
+ f("first_response"), f("next_response"), o.pauseOn.includes("waiting_for_customer") && d(Ee);
2354
2490
  break;
2355
2491
  }
2356
2492
  case "inbound": {
2357
- m(Ae), !g("first_response") && !g("next_response") && T("next_response", s);
2493
+ m(Ee), !g("first_response") && !g("next_response") && T("next_response", s);
2358
2494
  break;
2359
2495
  }
2360
2496
  case "resolved":
2361
- d("resolution");
2497
+ f("resolution");
2362
2498
  break;
2363
2499
  case "closed":
2364
- d("close"), d("resolution"), c(Ut);
2500
+ f("close"), f("resolution"), c(Ht);
2365
2501
  break;
2366
2502
  case "reopened":
2367
2503
  g("resolution") || T("resolution", s), g("close") || T("close", s);
2368
2504
  break;
2369
2505
  case "snoozed":
2370
- o.pauseOn.includes("snoozed") && h(be);
2506
+ o.pauseOn.includes("snoozed") && d(Ae);
2371
2507
  break;
2372
2508
  case "unsnoozed":
2373
- m(be);
2509
+ m(Ae);
2374
2510
  break;
2375
2511
  case "discarded":
2376
- c(Vr);
2512
+ c(to);
2377
2513
  break;
2378
2514
  }
2379
2515
  return l;
2380
2516
  }
2381
- function qr(e) {
2517
+ function io(e) {
2382
2518
  return e.state === "running" || e.state === "paused";
2383
2519
  }
2384
- function Ee(e, t) {
2385
- const n = ke(e);
2386
- return e.state === "paused" ? e.remainingMs : t >= e.dueAt ? -ye(e.dueAt, t, n) : ye(t, e.dueAt, n);
2520
+ function _e(e, t) {
2521
+ const n = ve(e);
2522
+ return e.state === "paused" ? e.remainingMs : t >= e.dueAt ? -be(e.dueAt, t, n) : be(t, e.dueAt, n);
2387
2523
  }
2388
- function Ga(e, t) {
2389
- return e.state === "paused" ? Me(t, e.remainingMs, ke(e)) : e.dueAt;
2524
+ function rc(e, t) {
2525
+ return e.state === "paused" ? ke(t, e.remainingMs, ve(e)) : e.dueAt;
2390
2526
  }
2391
- function Va(e, t) {
2392
- const n = e.filter(qr);
2527
+ function oc(e, t) {
2528
+ const n = e.filter(io);
2393
2529
  if (!n.length) return;
2394
2530
  const r = n.filter((i) => i.state === "running");
2395
2531
  return (r.length ? r : n).reduce(
2396
- (i, s) => Ee(s, t) < Ee(i, t) ? s : i
2532
+ (i, s) => _e(s, t) < _e(i, t) ? s : i
2397
2533
  );
2398
2534
  }
2399
- function Xa(e, t) {
2535
+ function ic(e, t) {
2400
2536
  if (e.state === "missed") return "breached";
2401
2537
  if (e.state === "hit") return "met";
2402
2538
  if (e.state === "paused") return "paused";
2403
2539
  if (e.state === "void") return "met";
2404
- const n = Ee(e, t);
2540
+ const n = _e(e, t);
2405
2541
  return n <= 0 ? "breached" : n <= e.targetMs / 5 ? "urgent" : "running";
2406
2542
  }
2407
- function za(e) {
2543
+ function sc(e) {
2408
2544
  const t = Math.floor(Math.abs(e) / 1e3), n = Math.floor(t / 86400), r = Math.floor(t % 86400 / 3600), o = Math.floor(t % 3600 / 60);
2409
2545
  return n ? r ? `${n}d ${r}u` : `${n}d` : r ? o ? `${r}u ${o}m` : `${r}u` : o ? `${o}m` : `${t % 60}s`;
2410
2546
  }
2411
- const Jr = "strategy_item";
2412
- function Kt(e) {
2413
- return `${Jr}:${e}`;
2547
+ const so = "strategy_item";
2548
+ function jt(e) {
2549
+ return `${so}:${e}`;
2414
2550
  }
2415
- function Ya(e, t = 25) {
2416
- const n = /* @__PURE__ */ new Set([Kt(e.id)]);
2551
+ function ac(e, t = 25) {
2552
+ const n = /* @__PURE__ */ new Set([jt(e.id)]);
2417
2553
  for (const r of e.ancestorKeys ?? []) n.add(r);
2418
2554
  return Array.from(n).slice(0, t);
2419
2555
  }
2420
- function qa(e) {
2421
- return e ? [...e.ancestorKeys ?? [], Kt(e.id)] : [];
2556
+ function cc(e) {
2557
+ return e ? [...e.ancestorKeys ?? [], jt(e.id)] : [];
2422
2558
  }
2423
- const Q = [
2559
+ const ee = [
2424
2560
  { key: "area", label: "level_area", order: 10, measurable: !1, icon: "compass" },
2425
2561
  { key: "objective", label: "level_objective", order: 20, measurable: !0, icon: "target" },
2426
2562
  { key: "key_result", label: "level_key_result", order: 30, measurable: !0, icon: "gauge" }
2427
- ], Zr = 999, Qr = 7;
2428
- function eo(e, t = Q) {
2563
+ ], ao = 999, co = 7;
2564
+ function lo(e, t = ee) {
2429
2565
  return t.find((n) => n.key === e);
2430
2566
  }
2431
- function Se(e, t = Q) {
2432
- return eo(e, t)?.order ?? Zr;
2567
+ function Se(e, t = ee) {
2568
+ return lo(e, t)?.order ?? ao;
2433
2569
  }
2434
- function Ja(e, t, n = Q) {
2570
+ function lc(e, t, n = ee) {
2435
2571
  return Se(t, n) <= Se(e, n);
2436
2572
  }
2437
- function Za(e, t = Q) {
2573
+ function uc(e, t = ee) {
2438
2574
  const n = Se(e, t);
2439
2575
  return t.filter((o) => o.order > n).sort((o, i) => o.order - i.order)[0]?.key ?? e;
2440
2576
  }
2441
- function Qa(e) {
2577
+ function dc(e) {
2442
2578
  const t = e.trim().toLowerCase();
2443
2579
  return t ? t.includes("key result") || t.includes("keyresult") || t === "kr" ? "key_result" : t.includes("objective") || t.includes("goal") || t.includes("doel") ? "objective" : t.includes("focus") || t.includes("area") || t.includes("theme") ? "area" : null : null;
2444
2580
  }
2445
- const _e = {
2581
+ const Te = {
2446
2582
  pending: "open",
2447
2583
  on_track: "open",
2448
2584
  at_risk: "open",
@@ -2451,74 +2587,74 @@ const _e = {
2451
2587
  achieved: "closed",
2452
2588
  missed: "closed"
2453
2589
  };
2454
- function ec(e) {
2455
- return _e[e] ?? "open";
2590
+ function fc(e) {
2591
+ return Te[e] ?? "open";
2456
2592
  }
2457
- function tc(e) {
2458
- return Object.keys(_e).filter(
2459
- (t) => e.includes(_e[t])
2593
+ function pc(e) {
2594
+ return Object.keys(Te).filter(
2595
+ (t) => e.includes(Te[t])
2460
2596
  );
2461
2597
  }
2462
- const to = 864e5, ee = (e) => e <= 0 ? 0 : e > 1 ? 1 : e;
2463
- function nc(e, t) {
2598
+ const uo = 864e5, te = (e) => e <= 0 ? 0 : e > 1 ? 1 : e;
2599
+ function mc(e, t) {
2464
2600
  const { direction: n } = e, r = e.startValue ?? 0, o = e.targetValue ?? 0;
2465
2601
  if (!Number.isFinite(t)) return 0;
2466
2602
  const i = n === "down" ? t <= o : t >= o, s = o - r;
2467
- return (n === "down" ? s < 0 : s > 0) ? ee((t - r) / s) : i ? 1 : 0;
2603
+ return (n === "down" ? s < 0 : s > 0) ? te((t - r) / s) : i ? 1 : 0;
2468
2604
  }
2469
- function rc(e, t) {
2605
+ function hc(e, t) {
2470
2606
  const { startDate: n, targetDate: r } = e;
2471
2607
  if (!(typeof n != "number" || typeof r != "number") && !(r <= n))
2472
- return ee((t - n) / (r - n));
2608
+ return te((t - n) / (r - n));
2473
2609
  }
2474
- const no = 0.1, ro = 0.25;
2475
- function oc(e, t) {
2610
+ const fo = 0.1, po = 0.25;
2611
+ function gc(e, t) {
2476
2612
  if (typeof e != "number" || typeof t != "number") return;
2477
2613
  if (e >= 1) return "achieved";
2478
2614
  const n = t - e;
2479
- return n >= ro ? "off_track" : n >= no ? "at_risk" : "on_track";
2615
+ return n >= po ? "off_track" : n >= fo ? "at_risk" : "on_track";
2480
2616
  }
2481
- function ic(e, t) {
2617
+ function yc(e, t) {
2482
2618
  if (t)
2483
- return ee(e / t);
2619
+ return te(e / t);
2484
2620
  }
2485
- function sc(e) {
2621
+ function bc(e) {
2486
2622
  const t = e.map((n) => n.progress?.ratio).filter((n) => typeof n == "number" && Number.isFinite(n));
2487
2623
  if (t.length)
2488
- return ee(t.reduce((n, r) => n + r, 0) / t.length);
2624
+ return te(t.reduce((n, r) => n + r, 0) / t.length);
2489
2625
  }
2490
- function ac(e, t) {
2626
+ function Ac(e, t) {
2491
2627
  const n = e.lastCheckInAt ?? e.createdAt;
2492
2628
  if (typeof n != "number") return 0;
2493
- const r = (e.checkInEveryDays ?? Qr) * to, o = t - n - r;
2629
+ const r = (e.checkInEveryDays ?? co) * uo, o = t - n - r;
2494
2630
  return o > 0 ? o : 0;
2495
2631
  }
2496
- function cc(e) {
2632
+ function Ec(e) {
2497
2633
  return e.targetDate ?? Number.MAX_SAFE_INTEGER;
2498
2634
  }
2499
- function lc(e, t) {
2635
+ function _c(e, t) {
2500
2636
  const n = e.accumulatedSeconds || 0;
2501
2637
  return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
2502
2638
  }
2503
- function uc(e, t) {
2639
+ function Sc(e, t) {
2504
2640
  const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
2505
2641
  if (!t || t === "exact") return n * 60;
2506
2642
  const r = Number(t);
2507
2643
  return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
2508
2644
  }
2509
- function dc(e) {
2645
+ function Tc(e) {
2510
2646
  const t = Math.max(0, Math.round(e / 60));
2511
2647
  return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
2512
2648
  }
2513
- function fc(e) {
2649
+ function wc(e) {
2514
2650
  const t = Math.max(0, Math.floor(e)), n = (i) => String(i).padStart(2, "0"), r = Math.floor(t / 60) % 60, o = Math.floor(t / 3600);
2515
2651
  return o > 0 ? `${o}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
2516
2652
  }
2517
- function oo(e) {
2653
+ function mo(e) {
2518
2654
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
2519
2655
  }
2520
- function pc(e, t) {
2521
- const n = oo(e) || "werksoort", r = new Set(t);
2656
+ function Ic(e, t) {
2657
+ const n = mo(e) || "werksoort", r = new Set(t);
2522
2658
  if (!r.has(n)) return n;
2523
2659
  for (let o = 2; o < 500; o++) {
2524
2660
  const i = `${n}-${o}`;
@@ -2526,82 +2662,82 @@ function pc(e, t) {
2526
2662
  }
2527
2663
  return `${n}-${r.size + 1}`;
2528
2664
  }
2529
- function mc(e, t) {
2665
+ function Mc(e, t) {
2530
2666
  const n = e.ownerScope;
2531
2667
  return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
2532
2668
  }
2533
- function hc(e) {
2534
- return e.filter((t) => !t.archived).sort(io);
2669
+ function kc(e) {
2670
+ return e.filter((t) => !t.archived).sort(ho);
2535
2671
  }
2536
- function io(e, t) {
2672
+ function ho(e, t) {
2537
2673
  const n = (e.order ?? 0) - (t.order ?? 0);
2538
2674
  return n !== 0 ? n : (e.label || "").localeCompare(t.label || "");
2539
2675
  }
2540
- const so = 20, ao = 20, ae = 300;
2541
- function $(e) {
2676
+ const go = 20, yo = 20, ce = 300;
2677
+ function L(e) {
2542
2678
  return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
2543
2679
  }
2544
- function co(e) {
2680
+ function bo(e) {
2545
2681
  const t = e.replace(/\s+/g, " ").trim();
2546
- if (t.length <= ae) return t;
2547
- const n = t.slice(0, ae), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
2548
- return r > ae * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
2549
- }
2550
- function gc(e, t) {
2551
- const n = co(t.text), r = $(n);
2552
- if (!r || (e.examples ?? []).some((s) => $(s) === r)) return null;
2553
- const o = e.exampleCandidates ?? [], i = o.findIndex((s) => $(s.text) === r);
2682
+ if (t.length <= ce) return t;
2683
+ const n = t.slice(0, ce), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
2684
+ return r > ce * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
2685
+ }
2686
+ function vc(e, t) {
2687
+ const n = bo(t.text), r = L(n);
2688
+ if (!r || (e.examples ?? []).some((s) => L(s) === r)) return null;
2689
+ const o = e.exampleCandidates ?? [], i = o.findIndex((s) => L(s.text) === r);
2554
2690
  if (i >= 0) {
2555
2691
  if (o[i].corrected || !t.corrected) return null;
2556
2692
  const s = [...o];
2557
- return s[i] = { ...s[i], corrected: !0, addedAt: t.addedAt }, nt(s);
2693
+ return s[i] = { ...s[i], corrected: !0, addedAt: t.addedAt }, rt(s);
2558
2694
  }
2559
- return nt([{ ...t, text: n }, ...o]).slice(0, ao);
2695
+ return rt([{ ...t, text: n }, ...o]).slice(0, yo);
2560
2696
  }
2561
- function nt(e) {
2697
+ function rt(e) {
2562
2698
  return [...e].sort(
2563
2699
  (t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt
2564
2700
  );
2565
2701
  }
2566
- function yc(e, t) {
2567
- const n = $(t), r = (e.examples ?? []).filter((i) => i.trim());
2568
- return { examples: r.some((i) => $(i) === n) ? r : [...r, t].slice(-so), exampleCandidates: lo(e, t) };
2702
+ function Oc(e, t) {
2703
+ const n = L(t), r = (e.examples ?? []).filter((i) => i.trim());
2704
+ return { examples: r.some((i) => L(i) === n) ? r : [...r, t].slice(-go), exampleCandidates: Ao(e, t) };
2569
2705
  }
2570
- function lo(e, t) {
2571
- const n = $(t);
2572
- return (e.exampleCandidates ?? []).filter((r) => $(r.text) !== n);
2706
+ function Ao(e, t) {
2707
+ const n = L(t);
2708
+ return (e.exampleCandidates ?? []).filter((r) => L(r.text) !== n);
2573
2709
  }
2574
- function uo(e, t) {
2710
+ function Eo(e, t) {
2575
2711
  const n = e.ownerScope;
2576
2712
  return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
2577
2713
  }
2578
- function bc(e, t) {
2579
- return e.filter((n) => uo(n, t));
2714
+ function Cc(e, t) {
2715
+ return e.filter((n) => Eo(n, t));
2580
2716
  }
2581
- function Ac(e) {
2717
+ function xc(e) {
2582
2718
  return e.type === "agent";
2583
2719
  }
2584
- const Ec = "WORK_COMMENT_ADDED", Sc = "WORK_ITEM_ASSIGNED", _c = "WORK_ITEM_STATUS_CHANGED";
2585
- function fo(e, t) {
2720
+ const Nc = "WORK_COMMENT_ADDED", Rc = "WORK_ITEM_ASSIGNED", Dc = "WORK_ITEM_STATUS_CHANGED";
2721
+ function _o(e, t) {
2586
2722
  const n = (r) => {
2587
2723
  const o = new Date(r);
2588
2724
  return o.setHours(0, 0, 0, 0), o.getTime();
2589
2725
  };
2590
- return Math.round((n(e) - n(t)) / Cn);
2726
+ return Math.round((n(e) - n(t)) / Kn);
2591
2727
  }
2592
- function Tc(e, t) {
2593
- if (e.closedAt != null) return { score: D, reasons: [] };
2728
+ function $c(e, t) {
2729
+ if (e.closedAt != null) return { score: $, reasons: [] };
2594
2730
  const n = t.remindersById?.[e.id];
2595
- if (n && n.remindAt > t.now) return { score: D, reasons: [] };
2731
+ if (n && n.remindAt > t.now) return { score: $, reasons: [] };
2596
2732
  let r = 0;
2597
2733
  const o = [], i = e.priority ?? "normal";
2598
- if (q[i] > 0 && (r += q[i], o.push(`priority:${i}`)), typeof e.dueDate == "number") {
2599
- const s = fo(e.dueDate, t.now);
2734
+ if (J[i] > 0 && (r += J[i], o.push(`priority:${i}`)), typeof e.dueDate == "number") {
2735
+ const s = _o(e.dueDate, t.now);
2600
2736
  s < 0 ? (r += 35, o.push("overdue")) : s === 0 && (r += 20, o.push("due-today"));
2601
2737
  }
2602
2738
  return e.source?.initiator === "system" && e.source.systemReason && (r += 15, o.push(`auto:${e.source.systemReason}`)), { score: r, reasons: o };
2603
2739
  }
2604
- const ve = [
2740
+ const Oe = [
2605
2741
  { key: "task", label: "type_task" },
2606
2742
  { key: "bug", label: "type_bug" },
2607
2743
  { key: "story", label: "type_story" },
@@ -2609,35 +2745,35 @@ const ve = [
2609
2745
  { key: "subtask", label: "type_subtask" },
2610
2746
  { key: "case", label: "type_case" },
2611
2747
  { key: "deal", label: "type_deal" }
2612
- ], Ic = ve.map((e) => e.key);
2613
- function wc(e) {
2614
- return e?.types?.length ? e.types : ve;
2748
+ ], Lc = Oe.map((e) => e.key);
2749
+ function Pc(e) {
2750
+ return e?.types?.length ? e.types : Oe;
2615
2751
  }
2616
- function Mc(e, t) {
2752
+ function Uc(e, t) {
2617
2753
  return t.find((n) => n.key === e);
2618
2754
  }
2619
- function kc(e) {
2755
+ function Kc(e) {
2620
2756
  const t = e.trim().toLowerCase();
2621
2757
  return t ? t.includes("sub-task") || t.includes("subtask") || t.includes("sub task") ? "subtask" : t.includes("bug") || t.includes("defect") ? "bug" : t.includes("epic") ? "epic" : t.includes("story") ? "story" : t.includes("incident") || t.includes("problem") || t.includes("service request") || t.includes("change") ? "case" : t.includes("task") ? "task" : null : null;
2622
2758
  }
2623
- function vc(...e) {
2624
- return e.map((t) => ve.find((n) => n.key === t)).filter((t) => !!t);
2759
+ function Fc(...e) {
2760
+ return e.map((t) => Oe.find((n) => n.key === t)).filter((t) => !!t);
2625
2761
  }
2626
- const po = "work_item", mo = "work_project", ho = "work_activity", Oc = "work_cycle";
2627
- function go(e) {
2628
- return `${po}:${e}`;
2762
+ const So = "work_item", To = "work_project", wo = "work_activity", Bc = "work_cycle";
2763
+ function Io(e) {
2764
+ return `${So}:${e}`;
2629
2765
  }
2630
- function Ft(e) {
2631
- return `${mo}:${e}`;
2766
+ function Wt(e) {
2767
+ return `${To}:${e}`;
2632
2768
  }
2633
- function Cc(e) {
2634
- return `${ho}:${e}`;
2769
+ function Hc(e) {
2770
+ return `${wo}:${e}`;
2635
2771
  }
2636
- function Nc(e, t, n) {
2772
+ function jc(e, t, n) {
2637
2773
  const r = `${e}-${t}`;
2638
2774
  return n ? `${r}-${n}` : r;
2639
2775
  }
2640
- function xc(e) {
2776
+ function Wc(e) {
2641
2777
  const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
2642
2778
  return t ? {
2643
2779
  projectKey: t[1].toUpperCase(),
@@ -2645,52 +2781,52 @@ function xc(e) {
2645
2781
  ...t[3] ? { subSequence: Number(t[3]) } : {}
2646
2782
  } : null;
2647
2783
  }
2648
- function Rc(e) {
2784
+ function Gc(e) {
2649
2785
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
2650
2786
  }
2651
- function Dc(e, t = 25) {
2652
- const n = /* @__PURE__ */ new Set([go(e.id)]);
2653
- e.projectId && n.add(Ft(e.projectId));
2787
+ function Vc(e, t = 25) {
2788
+ const n = /* @__PURE__ */ new Set([Io(e.id)]);
2789
+ e.projectId && n.add(Wt(e.projectId));
2654
2790
  for (const r of e.ancestorKeys ?? []) n.add(r);
2655
2791
  for (const r of e.partyKeys ?? []) n.add(r);
2656
2792
  return Array.from(n).slice(0, t);
2657
2793
  }
2658
- function $c(e) {
2659
- return [Ft(e.id)];
2794
+ function zc(e) {
2795
+ return [Wt(e.id)];
2660
2796
  }
2661
- const Oe = [
2797
+ const Ce = [
2662
2798
  { key: "open", label: "status_open", category: "todo", order: 0 },
2663
2799
  { key: "in_progress", label: "status_in_progress", category: "in_progress", order: 1 },
2664
2800
  { key: "done", label: "status_done", category: "done", order: 2 },
2665
2801
  { key: "cancelled", label: "status_cancelled", category: "done", order: 3 }
2666
- ], Bt = Oe.map((e) => e.key);
2667
- function yo(e) {
2668
- return e?.statuses?.length ? e.statuses : Oe;
2802
+ ], Gt = Ce.map((e) => e.key);
2803
+ function Mo(e) {
2804
+ return e?.statuses?.length ? e.statuses : Ce;
2669
2805
  }
2670
- function bo(e, t) {
2806
+ function ko(e, t) {
2671
2807
  return t.find((n) => n.key === e)?.category ?? "todo";
2672
2808
  }
2673
- function Lc(e, t) {
2809
+ function Xc(e, t) {
2674
2810
  return t.find((n) => n.key === e);
2675
2811
  }
2676
- function Pc(e) {
2677
- const t = yo(e), n = e?.defaultStatusKey;
2678
- return n && t.some((r) => r.key === n) ? n : Ao(t)[0]?.key ?? Oe[0].key;
2812
+ function Yc(e) {
2813
+ const t = Mo(e), n = e?.defaultStatusKey;
2814
+ return n && t.some((r) => r.key === n) ? n : vo(t)[0]?.key ?? Ce[0].key;
2679
2815
  }
2680
- function Ao(e) {
2816
+ function vo(e) {
2681
2817
  return [...e].sort((t, n) => {
2682
2818
  const r = (t.order ?? 0) - (n.order ?? 0);
2683
2819
  return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
2684
2820
  });
2685
2821
  }
2686
- function Uc(e, t) {
2687
- return bo(e, t) === "done";
2822
+ function qc(e, t) {
2823
+ return ko(e, t) === "done";
2688
2824
  }
2689
- function Eo(e) {
2825
+ function Oo(e) {
2690
2826
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
2691
2827
  }
2692
- function Kc(e, t) {
2693
- const n = Eo(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Bt]);
2828
+ function Jc(e, t) {
2829
+ const n = Oo(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Gt]);
2694
2830
  if (!r.has(n)) return n;
2695
2831
  for (let o = 2; o < 500; o++) {
2696
2832
  const i = `${n}-${o}`;
@@ -2698,7 +2834,7 @@ function Kc(e, t) {
2698
2834
  }
2699
2835
  return `${n}-${r.size + 1}`;
2700
2836
  }
2701
- function Fc(e) {
2837
+ function Zc(e) {
2702
2838
  const t = [];
2703
2839
  if (!e.length) return [{ index: -1, reason: "empty" }];
2704
2840
  const n = /* @__PURE__ */ new Set();
@@ -2707,16 +2843,16 @@ function Fc(e) {
2707
2843
  t.push({ index: o, reason: "missing_key" });
2708
2844
  return;
2709
2845
  }
2710
- Bt.includes(r.key) && t.push({ index: o, reason: "reserved_key", key: r.key }), n.has(r.key) && t.push({ index: o, reason: "duplicate_key", key: r.key }), n.add(r.key);
2846
+ Gt.includes(r.key) && t.push({ index: o, reason: "reserved_key", key: r.key }), n.has(r.key) && t.push({ index: o, reason: "duplicate_key", key: r.key }), n.add(r.key);
2711
2847
  }), e.some((r) => r.category === "todo" || r.category === "in_progress") || t.push({ index: -1, reason: "no_open" }), e.some((r) => r.category === "done") || t.push({ index: -1, reason: "no_done" }), t;
2712
2848
  }
2713
- function Bc(e) {
2849
+ function Qc(e) {
2714
2850
  return e.startDate ?? Number.MAX_SAFE_INTEGER;
2715
2851
  }
2716
- function Hc(e) {
2852
+ function el(e) {
2717
2853
  return e.completedAt ? "completed" : e.startedAt ? "active" : "planned";
2718
2854
  }
2719
- const So = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), _o = /* @__PURE__ */ new Set([
2855
+ const Co = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), xo = /* @__PURE__ */ new Set([
2720
2856
  "text/plain",
2721
2857
  "text/markdown",
2722
2858
  "text/csv",
@@ -2725,67 +2861,67 @@ const So = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
2725
2861
  "application/xml",
2726
2862
  "text/xml"
2727
2863
  ]);
2728
- function To(e) {
2864
+ function No(e) {
2729
2865
  const t = (e ?? "").trim().toLowerCase().split(";")[0];
2730
- return t ? So.has(t) ? "image" : t === "application/pdf" ? "pdf" : _o.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
2731
- }
2732
- const U = 1024 * 1024, Io = {
2733
- image: 5 * U,
2734
- pdf: 20 * U,
2735
- text: 1 * U,
2736
- audio: 20 * U
2737
- }, jc = 25 * U, Wc = 5;
2738
- function Gc(e, t) {
2739
- const n = To(e);
2740
- return n === "unsupported" ? "unsupported" : t > Io[n] ? "too-large" : null;
2741
- }
2742
- function Vc(e) {
2866
+ return t ? Co.has(t) ? "image" : t === "application/pdf" ? "pdf" : xo.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
2867
+ }
2868
+ const K = 1024 * 1024, Ro = {
2869
+ image: 5 * K,
2870
+ pdf: 20 * K,
2871
+ text: 1 * K,
2872
+ audio: 20 * K
2873
+ }, tl = 25 * K, nl = 5;
2874
+ function rl(e, t) {
2875
+ const n = No(e);
2876
+ return n === "unsupported" ? "unsupported" : t > Ro[n] ? "too-large" : null;
2877
+ }
2878
+ function ol(e) {
2743
2879
  return e.access !== "read" && e.effect !== "internal";
2744
2880
  }
2745
- function wo(e) {
2881
+ function Do(e) {
2746
2882
  return `${e.kind}:${e.id || e.url || e.title}`;
2747
2883
  }
2748
- function Xc(e, t = []) {
2884
+ function il(e, t = []) {
2749
2885
  const n = new Set(t), r = [], o = [];
2750
2886
  for (const i of e) {
2751
- const s = wo(i);
2887
+ const s = Do(i);
2752
2888
  n.has(s) || (n.add(s), r.push(i), o.push(s));
2753
2889
  }
2754
2890
  return { sources: r, keys: o };
2755
2891
  }
2756
- const zc = "assist-source", Yc = ["blocking", "due", "open"];
2757
- function qc(e, t) {
2892
+ const sl = "assist-source", al = ["blocking", "due", "open"];
2893
+ function cl(e, t) {
2758
2894
  const [n, r] = (e.subjectKey ?? "").split(":");
2759
2895
  return n === t && r ? r : void 0;
2760
2896
  }
2761
- const rt = { blocking: 0, due: 1, open: 2 };
2762
- function Jc(e, t) {
2763
- return rt[e.band ?? "open"] - rt[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
2897
+ const ot = { blocking: 0, due: 1, open: 2 };
2898
+ function ll(e, t) {
2899
+ return ot[e.band ?? "open"] - ot[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
2764
2900
  }
2765
- function Zc(e) {
2901
+ function ul(e) {
2766
2902
  return e.sessions.filter(
2767
2903
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
2768
2904
  );
2769
2905
  }
2770
- function Qc(e) {
2906
+ function dl(e) {
2771
2907
  return e.sessions.filter(
2772
2908
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
2773
2909
  );
2774
2910
  }
2775
- function el(e) {
2911
+ function fl(e) {
2776
2912
  return e.sessions.some(
2777
2913
  (n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
2778
2914
  ) ? { admit: !1, reason: "busy" } : { admit: !0 };
2779
2915
  }
2780
- function Mo(e, t) {
2781
- const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((s) => !n.has(s.intent)).map((s) => vo(s, r[s.intent]));
2916
+ function $o(e, t) {
2917
+ const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((s) => !n.has(s.intent)).map((s) => Po(s, r[s.intent]));
2782
2918
  if (!e.extraIntents || e.extraIntents.length === 0) return o;
2783
2919
  const i = new Set(o.map((s) => s.intent));
2784
2920
  for (const s of e.extraIntents)
2785
2921
  i.has(s.intent) || (o.push(s), i.add(s.intent));
2786
2922
  return o;
2787
2923
  }
2788
- function ko(e, t) {
2924
+ function Lo(e, t) {
2789
2925
  const n = {};
2790
2926
  for (const r of e.intents) {
2791
2927
  if (!r.togglable) continue;
@@ -2794,46 +2930,46 @@ function ko(e, t) {
2794
2930
  }
2795
2931
  return n;
2796
2932
  }
2797
- function tl(e, t) {
2798
- const n = ko(e, t);
2933
+ function pl(e, t) {
2934
+ const n = Lo(e, t);
2799
2935
  return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
2800
2936
  }
2801
- function vo(e, t) {
2937
+ function Po(e, t) {
2802
2938
  return t ? {
2803
2939
  intent: t.intent ?? e.intent,
2804
2940
  targetSchemes: t.targetSchemes ?? e.targetSchemes,
2805
2941
  transport: t.transport ?? e.transport
2806
2942
  } : e;
2807
2943
  }
2808
- function nl(e, t) {
2944
+ function ml(e, t) {
2809
2945
  const n = [];
2810
2946
  for (const r of e) {
2811
2947
  if (!r.enabled) continue;
2812
2948
  const o = t[r.providerId];
2813
2949
  if (o)
2814
- for (const i of Mo(r, o))
2950
+ for (const i of $o(r, o))
2815
2951
  n.push({ channel: r, description: o, capability: i });
2816
2952
  }
2817
2953
  return n;
2818
2954
  }
2819
- function rl(e, t) {
2955
+ function hl(e, t) {
2820
2956
  return t.filter((n) => n.capability.intent === e);
2821
2957
  }
2822
- function Oo(e, t) {
2958
+ function Uo(e, t) {
2823
2959
  return t.filter((n) => n.capability.targetSchemes.includes(e));
2824
2960
  }
2825
- function ol(e, t) {
2826
- return Oo(e.scheme, t);
2961
+ function gl(e, t) {
2962
+ return Uo(e.scheme, t);
2827
2963
  }
2828
- function il(e, t, n) {
2964
+ function yl(e, t, n) {
2829
2965
  const r = [];
2830
2966
  for (const o of e)
2831
2967
  for (const i of n)
2832
2968
  i.capability.intent === t && i.capability.targetSchemes.includes(o.scheme) && r.push({ channelIntent: i, endpoint: o });
2833
2969
  return r;
2834
2970
  }
2835
- var Co = /* @__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))(Co || {});
2836
- const No = {
2971
+ var Ko = /* @__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))(Ko || {});
2972
+ const Fo = {
2837
2973
  mailto: "mail",
2838
2974
  sip: "tel",
2839
2975
  tel: "tel",
@@ -2854,10 +2990,10 @@ const No = {
2854
2990
  id: "note",
2855
2991
  custom: "note"
2856
2992
  };
2857
- function sl(e) {
2858
- return e ? No[e] ?? "note" : "note";
2993
+ function bl(e) {
2994
+ return e ? Fo[e] ?? "note" : "note";
2859
2995
  }
2860
- const al = "message_window", cl = "message_templates", ll = {
2996
+ const Al = "message_window", El = "message_templates", _l = {
2861
2997
  // E-mail
2862
2998
  FROM: "from",
2863
2999
  TO: "to",
@@ -2874,11 +3010,11 @@ const al = "message_window", cl = "message_templates", ll = {
2874
3010
  // Voice/conference
2875
3011
  HOST: "host",
2876
3012
  PARTICIPANT: "participant"
2877
- }, ul = (e, t) => ({ intent: e, ...t }), dl = "folder_management", fl = "remote_search", pl = "message_reactions", ml = {
3013
+ }, Sl = (e, t) => ({ intent: e, ...t }), Tl = "folder_management", wl = "remote_search", Il = "message_reactions", Ml = {
2878
3014
  ok: !1,
2879
3015
  code: "UNSUPPORTED",
2880
3016
  message: "Provider does not support this op"
2881
- }, hl = "connector", gl = "context.collect", A = (e) => ({ type: "string", description: e }), b = (e) => ({ type: "number", description: e }), z = (e) => ({ type: "boolean", description: e }), v = A("Sheet name. Omit for the sheet the user is looking at."), ot = A("Slide id, as `inspect` reports it.");
3017
+ }, kl = "connector", vl = "context.collect", A = (e) => ({ type: "string", description: e }), b = (e) => ({ type: "number", description: e }), Y = (e) => ({ type: "boolean", description: e }), v = A("Sheet name. Omit for the sheet the user is looking at."), it = A("Slide id, as `inspect` reports it.");
2882
3018
  function y(e, t, n, r, o, i) {
2883
3019
  return {
2884
3020
  op: e,
@@ -2889,22 +3025,22 @@ function y(e, t, n, r, o, i) {
2889
3025
  visible: i.visible
2890
3026
  };
2891
3027
  }
2892
- const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it = { undoable: !1, visible: !0 }, J = { undoable: !1, visible: !1 }, xo = [
3028
+ const F = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, st = { undoable: !1, visible: !0 }, Z = { undoable: !1, visible: !1 }, Bo = [
2893
3029
  y(
2894
3030
  "pdf.goToPage",
2895
3031
  ["pdf"],
2896
3032
  "Scroll the viewer to a page.",
2897
3033
  { page: b("1-based page number.") },
2898
3034
  ["page"],
2899
- K
3035
+ F
2900
3036
  ),
2901
3037
  y(
2902
3038
  "pdf.search",
2903
3039
  ["pdf"],
2904
3040
  "Search the document and highlight the matches, as the find bar does.",
2905
- { query: A("Text to find."), next: z("Jump to the next match instead of the first.") },
3041
+ { query: A("Text to find."), next: Y("Jump to the next match instead of the first.") },
2906
3042
  ["query"],
2907
- K
3043
+ F
2908
3044
  ),
2909
3045
  y(
2910
3046
  "pdf.setTool",
@@ -2918,7 +3054,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
2918
3054
  }
2919
3055
  },
2920
3056
  ["tool"],
2921
- K
3057
+ F
2922
3058
  ),
2923
3059
  y(
2924
3060
  "pdf.fillField",
@@ -2932,7 +3068,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
2932
3068
  }
2933
3069
  },
2934
3070
  ["field", "value"],
2935
- _
3071
+ S
2936
3072
  ),
2937
3073
  y(
2938
3074
  "pdf.reorderPages",
@@ -2946,7 +3082,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
2946
3082
  }
2947
3083
  },
2948
3084
  ["order"],
2949
- it
3085
+ st
2950
3086
  ),
2951
3087
  y(
2952
3088
  "pdf.deletePages",
@@ -2954,7 +3090,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
2954
3090
  "Remove pages, keeping the rest in order.",
2955
3091
  { pages: { type: "array", items: { type: "number" }, description: "1-based page numbers." } },
2956
3092
  ["pages"],
2957
- it
3093
+ st
2958
3094
  ),
2959
3095
  y(
2960
3096
  "pdf.addNote",
@@ -2970,7 +3106,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
2970
3106
  fontSize: b("Font size in points. Omit for 12.")
2971
3107
  },
2972
3108
  ["page", "text", "left", "top"],
2973
- J
3109
+ Z
2974
3110
  ),
2975
3111
  y(
2976
3112
  "pdf.highlightText",
@@ -2982,9 +3118,9 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
2982
3118
  occurrence: b("Which occurrence on that page, 1-based. Omit for the first.")
2983
3119
  },
2984
3120
  ["page", "text"],
2985
- J
3121
+ Z
2986
3122
  )
2987
- ], Ro = [
3123
+ ], Ho = [
2988
3124
  y(
2989
3125
  "sheet.setValues",
2990
3126
  ["sheet"],
@@ -2999,7 +3135,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
2999
3135
  }
3000
3136
  },
3001
3137
  ["range", "values"],
3002
- _
3138
+ S
3003
3139
  ),
3004
3140
  y(
3005
3141
  "sheet.setFormula",
@@ -3007,7 +3143,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3007
3143
  "Put a formula in every cell of a range.",
3008
3144
  { sheet: v, range: A("A1 notation."), formula: A("Including the leading `=`.") },
3009
3145
  ["range", "formula"],
3010
- _
3146
+ S
3011
3147
  ),
3012
3148
  y(
3013
3149
  "sheet.setStyle",
@@ -3016,8 +3152,8 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3016
3152
  {
3017
3153
  sheet: v,
3018
3154
  range: A("A1 notation."),
3019
- bold: z("Bold on or off."),
3020
- italic: z("Italic on or off."),
3155
+ bold: Y("Bold on or off."),
3156
+ italic: Y("Italic on or off."),
3021
3157
  fontSize: b("Point size."),
3022
3158
  fontColor: A("CSS colour, e.g. `#b91c1c`."),
3023
3159
  background: A("CSS colour for the cell fill."),
@@ -3029,7 +3165,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3029
3165
  numberFormat: A("Number format pattern, e.g. `#,##0.00` or `0%`.")
3030
3166
  },
3031
3167
  ["range"],
3032
- _
3168
+ S
3033
3169
  ),
3034
3170
  y(
3035
3171
  "sheet.insertRows",
@@ -3041,7 +3177,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3041
3177
  count: b("How many. Omit for 1.")
3042
3178
  },
3043
3179
  ["at"],
3044
- _
3180
+ S
3045
3181
  ),
3046
3182
  y(
3047
3183
  "sheet.deleteRows",
@@ -3049,7 +3185,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3049
3185
  "Delete rows, pulling the rest up.",
3050
3186
  { sheet: v, at: b("1-based first row to delete."), count: b("How many. Omit for 1.") },
3051
3187
  ["at"],
3052
- _
3188
+ S
3053
3189
  ),
3054
3190
  y(
3055
3191
  "sheet.insertColumns",
@@ -3061,7 +3197,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3061
3197
  count: b("How many. Omit for 1.")
3062
3198
  },
3063
3199
  ["at"],
3064
- _
3200
+ S
3065
3201
  ),
3066
3202
  y(
3067
3203
  "sheet.deleteColumns",
@@ -3073,7 +3209,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3073
3209
  count: b("How many. Omit for 1.")
3074
3210
  },
3075
3211
  ["at"],
3076
- _
3212
+ S
3077
3213
  ),
3078
3214
  y(
3079
3215
  "sheet.merge",
@@ -3081,7 +3217,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3081
3217
  "Merge a range into one cell.",
3082
3218
  { sheet: v, range: A("A1 notation.") },
3083
3219
  ["range"],
3084
- _
3220
+ S
3085
3221
  ),
3086
3222
  y(
3087
3223
  "sheet.unmerge",
@@ -3089,7 +3225,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3089
3225
  "Break merged cells in a range apart.",
3090
3226
  { sheet: v, range: A("A1 notation.") },
3091
3227
  ["range"],
3092
- _
3228
+ S
3093
3229
  ),
3094
3230
  y(
3095
3231
  "sheet.sort",
@@ -3099,10 +3235,10 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3099
3235
  sheet: v,
3100
3236
  range: A("A1 notation covering the rows to sort, header excluded."),
3101
3237
  column: b("1-based column *within the range*, not within the sheet."),
3102
- ascending: z("Ascending. Omit for ascending.")
3238
+ ascending: Y("Ascending. Omit for ascending.")
3103
3239
  },
3104
3240
  ["range", "column"],
3105
- _
3241
+ S
3106
3242
  ),
3107
3243
  y(
3108
3244
  "sheet.insertSheet",
@@ -3110,7 +3246,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3110
3246
  "Add a new sheet.",
3111
3247
  { name: A("Name for the new sheet.") },
3112
3248
  ["name"],
3113
- _
3249
+ S
3114
3250
  ),
3115
3251
  y(
3116
3252
  "sheet.renameSheet",
@@ -3118,7 +3254,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3118
3254
  "Rename a sheet.",
3119
3255
  { sheet: A("Current name."), name: A("New name.") },
3120
3256
  ["sheet", "name"],
3121
- _
3257
+ S
3122
3258
  ),
3123
3259
  y(
3124
3260
  "sheet.deleteSheet",
@@ -3126,7 +3262,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3126
3262
  "Remove a sheet and everything on it.",
3127
3263
  { sheet: A("Name of the sheet to delete.") },
3128
3264
  ["sheet"],
3129
- _
3265
+ S
3130
3266
  ),
3131
3267
  y(
3132
3268
  "sheet.activate",
@@ -3134,9 +3270,9 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3134
3270
  "Show the user a sheet and select a range on it.",
3135
3271
  { sheet: v, range: A("A1 notation to select. Omit to only switch sheets.") },
3136
3272
  [],
3137
- K
3273
+ F
3138
3274
  )
3139
- ], Do = [
3275
+ ], jo = [
3140
3276
  y(
3141
3277
  "word.replaceParagraph",
3142
3278
  ["word"],
@@ -3146,7 +3282,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3146
3282
  text: A("The new text for that paragraph. A newline starts a further paragraph.")
3147
3283
  },
3148
3284
  ["at", "text"],
3149
- _
3285
+ S
3150
3286
  ),
3151
3287
  y(
3152
3288
  "word.replaceRange",
@@ -3158,7 +3294,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3158
3294
  text: A("The replacement text. A newline starts a new paragraph.")
3159
3295
  },
3160
3296
  ["start", "end", "text"],
3161
- _
3297
+ S
3162
3298
  ),
3163
3299
  y(
3164
3300
  "word.insertText",
@@ -3169,7 +3305,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3169
3305
  text: A("The text to insert.")
3170
3306
  },
3171
3307
  ["index", "text"],
3172
- _
3308
+ S
3173
3309
  ),
3174
3310
  y(
3175
3311
  "word.appendText",
@@ -3177,7 +3313,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3177
3313
  "Add text at the end of the document.",
3178
3314
  { text: A("The text to append.") },
3179
3315
  ["text"],
3180
- _
3316
+ S
3181
3317
  ),
3182
3318
  y(
3183
3319
  "word.insertParagraph",
@@ -3188,7 +3324,7 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3188
3324
  index: b("Character offset to insert at. Omit for the end of the document.")
3189
3325
  },
3190
3326
  [],
3191
- _
3327
+ S
3192
3328
  ),
3193
3329
  y(
3194
3330
  "word.setSelection",
@@ -3196,27 +3332,27 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3196
3332
  "Put the user's cursor on a stretch of text, and move the reading window there: the page context carries one window of a long document, and the text around this offset arrives in the next turn.",
3197
3333
  { start: b("Start character offset."), end: b("End character offset. Omit for a caret.") },
3198
3334
  ["start"],
3199
- K
3335
+ F
3200
3336
  )
3201
- ], $o = [
3337
+ ], Wo = [
3202
3338
  y(
3203
3339
  "slides.setText",
3204
3340
  ["slides"],
3205
3341
  "Replace the text of one shape. Written on save; not visible before that, and not undoable.",
3206
3342
  {
3207
- slide: ot,
3343
+ slide: it,
3208
3344
  element: A("Element id, as `inspect` reports it."),
3209
3345
  text: A("The new text.")
3210
3346
  },
3211
3347
  ["slide", "element", "text"],
3212
- J
3348
+ Z
3213
3349
  ),
3214
3350
  y(
3215
3351
  "slides.setTransform",
3216
3352
  ["slides"],
3217
3353
  "Move or resize one shape. Only the values you pass change. Written on save; not visible before that, and not undoable.",
3218
3354
  {
3219
- slide: ot,
3355
+ slide: it,
3220
3356
  element: A("Element id."),
3221
3357
  left: b("Distance from the left edge, in pixels."),
3222
3358
  top: b("Distance from the top edge, in pixels."),
@@ -3224,36 +3360,125 @@ const K = { undoable: !1, visible: !0 }, _ = { undoable: !0, visible: !0 }, it =
3224
3360
  height: b("Height in pixels.")
3225
3361
  },
3226
3362
  ["slide", "element"],
3227
- J
3363
+ Z
3228
3364
  )
3229
- ], Ht = [
3230
- ...xo,
3231
- ...Ro,
3232
- ...Do,
3233
- ...$o
3365
+ ], Vt = [
3366
+ ...Bo,
3367
+ ...Ho,
3368
+ ...jo,
3369
+ ...Wo
3234
3370
  ];
3235
- function yl(e) {
3236
- return Ht.filter((t) => t.kinds.includes(e));
3371
+ function Ol(e) {
3372
+ return Vt.filter((t) => t.kinds.includes(e));
3373
+ }
3374
+ function Cl(e) {
3375
+ return Vt.find((t) => t.op === e);
3376
+ }
3377
+ const at = /(?: {2,}|\\)$/, Go = /^\*\*([^*]+)\*\*\s+(.*)$/;
3378
+ function ct(e) {
3379
+ const t = Go.exec(e);
3380
+ return t ? { lead: t[1], text: t[2] } : { text: e };
3381
+ }
3382
+ function xl(e) {
3383
+ const t = (e ?? "").replace(/\r\n/g, `
3384
+ `).split(`
3385
+ `), n = [];
3386
+ let r = null;
3387
+ const o = () => {
3388
+ r && n.push({ type: "list", style: r.style, items: r.items }), r = null;
3389
+ }, i = (d, m) => {
3390
+ r && r.style !== d && o(), r ? r.items.push(ct(m)) : r = { style: d, items: [ct(m)] };
3391
+ };
3392
+ let s = [], a = [];
3393
+ const l = () => {
3394
+ if (s.length) {
3395
+ const d = s.join("").trim();
3396
+ d && n.push({ type: "paragraph", text: d }), s = [];
3397
+ }
3398
+ }, u = () => {
3399
+ a.length && (n.push({ type: "quote", text: a.join(`
3400
+ `) }), a = []);
3401
+ }, f = () => {
3402
+ l(), u(), o();
3403
+ };
3404
+ let c = 0;
3405
+ for (; c < t.length; ) {
3406
+ const d = t[c] ?? "", m = d.match(/^```(\w*)\s*$/);
3407
+ if (m) {
3408
+ f();
3409
+ const h = [];
3410
+ for (c++; c < t.length && !/^```\s*$/.test(t[c] ?? ""); )
3411
+ h.push(t[c] ?? ""), c++;
3412
+ c++, n.push({ type: "code", ...m[1] ? { lang: m[1] } : {}, text: h.join(`
3413
+ `) });
3414
+ continue;
3415
+ }
3416
+ const E = d.match(/^(#{1,3})\s+(.*)$/);
3417
+ if (E) {
3418
+ f(), n.push({
3419
+ type: "heading",
3420
+ level: E[1].length,
3421
+ text: E[2].trim()
3422
+ }), c++;
3423
+ continue;
3424
+ }
3425
+ const g = d.match(/^!\[([^\]]*)\]\(([^)\s]+)\)\s*$/);
3426
+ if (g) {
3427
+ f(), n.push({
3428
+ type: "image",
3429
+ url: g[2],
3430
+ ...g[1] ? { alt: g[1] } : {}
3431
+ }), c++;
3432
+ continue;
3433
+ }
3434
+ if (/^\s*[-*]\s+/.test(d)) {
3435
+ l(), u(), i("bulleted", d.replace(/^\s*[-*]\s+/, "")), c++;
3436
+ continue;
3437
+ }
3438
+ if (/^\s*\d+\.\s+/.test(d)) {
3439
+ l(), u(), i("numbered", d.replace(/^\s*\d+\.\s+/, "")), c++;
3440
+ continue;
3441
+ }
3442
+ if (/^\s*(-{3,}|\*{3,}|_{3,})\s*$/.test(d)) {
3443
+ f(), n.push({ type: "divider" }), c++;
3444
+ continue;
3445
+ }
3446
+ if (/^>\s?/.test(d)) {
3447
+ l(), o(), a.push(d.replace(/^>\s?/, "")), c++;
3448
+ continue;
3449
+ }
3450
+ if (d.trim() === "") {
3451
+ f(), c++;
3452
+ continue;
3453
+ }
3454
+ u(), o();
3455
+ const T = at.test(d);
3456
+ s.push(d.replace(at, "").trim() + (T ? `
3457
+ ` : " ")), c++;
3458
+ }
3459
+ return f(), n;
3237
3460
  }
3238
- function bl(e) {
3239
- return Ht.find((t) => t.op === e);
3461
+ function Nl(e, t) {
3462
+ return On(e, t).replace(/^```.*$/gm, "").replace(/^\|[\s:|-]*\|$/gm, "").replace(/[ \t]*\|[ \t]*/g, " ").replace(/^[ \t]*(#{1,6}|>|[-*+]|\d+\.)[ \t]+/gm, "").replace(/!\[([^\]]*)\]\([^)]*\)/g, "$1").replace(/\[([^\]]+)\]\([^)]*\)/g, "$1").replace(/(\*\*|__|\*|_|`|~~)/g, "").replace(/[ \t]+$/gm, "").replace(/\n{3,}/g, `
3463
+
3464
+ `).trim();
3240
3465
  }
3241
- const Al = "documents.describe", El = "documents.inspect", Sl = "documents.apply";
3242
- function _l(e) {
3466
+ const Rl = "documents.describe", Dl = "documents.inspect", $l = "documents.apply";
3467
+ function Ll(e) {
3243
3468
  const t = e.indexOf(":");
3244
3469
  if (t !== -1) return e.slice(0, t);
3245
3470
  const n = e.indexOf(".");
3246
3471
  return n === -1 ? e : e.slice(0, n);
3247
3472
  }
3248
- const Tl = "installation-id";
3249
- function Il(e) {
3473
+ const Pl = "installation-id";
3474
+ function Ul(e) {
3250
3475
  const t = [];
3251
3476
  for (const n of Object.keys(e))
3252
3477
  for (const r of Object.keys(e[n]))
3253
3478
  t.push({ lang: n, key: r, value: e[n][r] });
3254
3479
  return t;
3255
3480
  }
3256
- const wl = "notification-source", Ml = (e, t) => `${e}.pref.${t}`, kl = {
3481
+ const Kl = "notification-source", Fl = (e, t) => `${e}.pref.${t}`, Bl = {
3257
3482
  ai: [
3258
3483
  "account.read",
3259
3484
  "account.write",
@@ -3388,48 +3613,48 @@ const wl = "notification-source", Ml = (e, t) => `${e}.pref.${t}`, kl = {
3388
3613
  time: ["entry.read", "entry.write", "work-type.read", "work-type.write"],
3389
3614
  user: ["user.read", "user.write"],
3390
3615
  work: ["item.read", "item.write", "project.read", "project.write"]
3391
- }, jt = 9e4, Lo = ["out_of_office"], Wt = (e) => Lo.includes(e);
3392
- function vl(e, t, n) {
3393
- const r = n - e < jt, o = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
3616
+ }, zt = 9e4, Vo = ["out_of_office"], Xt = (e) => Vo.includes(e);
3617
+ function Hl(e, t, n) {
3618
+ const r = n - e < zt, o = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
3394
3619
  if (!o?.status) return { online: r, status: r ? "available" : "offline" };
3395
3620
  const i = o.status;
3396
- return !r && !Wt(i) ? { online: !1, status: "offline" } : { online: r, status: i, message: o.message };
3621
+ return !r && !Xt(i) ? { online: !1, status: "offline" } : { online: r, status: i, message: o.message };
3397
3622
  }
3398
- function Ol(e, t) {
3399
- const n = t - e.lastSeenAt < jt, r = n || Wt(e.status) ? e.status : "offline";
3623
+ function jl(e, t) {
3624
+ const n = t - e.lastSeenAt < zt, r = n || Xt(e.status) ? e.status : "offline";
3400
3625
  return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
3401
3626
  }
3402
- function Cl(e, t) {
3627
+ function Wl(e, t) {
3403
3628
  return e?.teamId && t.includes(e.teamId) ? { teamId: e.teamId, mustChoose: !1 } : t.length === 1 ? { teamId: t[0], mustChoose: !1 } : { teamId: void 0, mustChoose: t.length > 1 };
3404
3629
  }
3405
- function Nl(e) {
3630
+ function Gl(e) {
3406
3631
  return e.providerAvailable && e.allowed;
3407
3632
  }
3408
- const xl = "resources.describe", Rl = "resources.search", Dl = "resources.resolve", $l = "resources.attached";
3409
- function Ll(e) {
3633
+ const Vl = "resources.describe", zl = "resources.search", Xl = "resources.resolve", Yl = "resources.attached";
3634
+ function ql(e) {
3410
3635
  const t = e.indexOf(":");
3411
3636
  return t === -1 ? e : e.slice(0, t);
3412
3637
  }
3413
- const Pl = "/provider/scope/related", Ul = "/provider/scope/read", Gt = "auth";
3414
- function Vt(e) {
3638
+ const Jl = "/provider/scope/related", Zl = "/provider/scope/read", Yt = "auth";
3639
+ function qt(e) {
3415
3640
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
3416
3641
  return t ? t[1] : null;
3417
3642
  }
3418
- function Kl(e) {
3419
- const t = Vt(e);
3420
- return t ? t !== Gt : typeof e == "string" && e.startsWith("/wake");
3643
+ function Ql(e) {
3644
+ const t = qt(e);
3645
+ return t ? t !== Yt : typeof e == "string" && e.startsWith("/wake");
3421
3646
  }
3422
- function Fl(e) {
3423
- return typeof e != "string" || e === "" || e === "/" ? !0 : Vt(e) === Gt;
3647
+ function eu(e) {
3648
+ return typeof e != "string" || e === "" || e === "/" ? !0 : qt(e) === Yt;
3424
3649
  }
3425
- function Po(e) {
3650
+ function zo(e) {
3426
3651
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
3427
3652
  }
3428
- function Uo(e) {
3429
- const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${Po(r)}`).join("");
3653
+ function Xo(e) {
3654
+ const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${zo(r)}`).join("");
3430
3655
  return new RegExp(`^${n}\\/?$`);
3431
3656
  }
3432
- function Ko(e, t) {
3657
+ function Yo(e, t) {
3433
3658
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean), o = {};
3434
3659
  return n.forEach((i, s) => {
3435
3660
  if (i.startsWith(":")) {
@@ -3438,14 +3663,14 @@ function Ko(e, t) {
3438
3663
  }
3439
3664
  }), o;
3440
3665
  }
3441
- function Fo(e) {
3666
+ function qo(e) {
3442
3667
  return e.publicBasePath ?? `/apps/${e.name}`;
3443
3668
  }
3444
- function Bl(e) {
3669
+ function tu(e) {
3445
3670
  const t = [];
3446
3671
  for (const n of e) {
3447
3672
  if (!n?.name) continue;
3448
- const r = Fo(n);
3673
+ const r = qo(n);
3449
3674
  for (const o of n.routes ?? []) {
3450
3675
  if (!o.public) continue;
3451
3676
  const i = o.path === "/" ? "" : o.path;
@@ -3459,7 +3684,7 @@ function Bl(e) {
3459
3684
  }
3460
3685
  return t;
3461
3686
  }
3462
- function Bo(e, t) {
3687
+ function Jo(e, t) {
3463
3688
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean);
3464
3689
  for (let o = 0; o < Math.min(n.length, r.length); o++) {
3465
3690
  const i = n[o].startsWith(":"), s = r[o].startsWith(":");
@@ -3467,17 +3692,17 @@ function Bo(e, t) {
3467
3692
  }
3468
3693
  return n.length > r.length;
3469
3694
  }
3470
- function Ho(e, t) {
3695
+ function Zo(e, t) {
3471
3696
  if (typeof e != "string") return null;
3472
3697
  let n = null;
3473
3698
  for (const r of t)
3474
- Uo(r.pattern).test(e) && (!n || Bo(r.pattern, n.pattern)) && (n = r);
3475
- return n ? { ...n, params: { ...n.props, ...Ko(n.pattern, e) } } : null;
3699
+ Xo(r.pattern).test(e) && (!n || Jo(r.pattern, n.pattern)) && (n = r);
3700
+ return n ? { ...n, params: { ...n.props, ...Yo(n.pattern, e) } } : null;
3476
3701
  }
3477
- function Hl(e, t) {
3478
- return Ho(e, t) !== null;
3702
+ function nu(e, t) {
3703
+ return Zo(e, t) !== null;
3479
3704
  }
3480
- const jl = 10 * 1024 * 1024, Wl = 25 * 1024 * 1024, Gl = "sync-target", Vl = 20, jo = {
3705
+ const ru = 10 * 1024 * 1024, ou = 25 * 1024 * 1024, iu = "sync-target", su = 20, Qo = {
3481
3706
  afrikaans: [
3482
3707
  "[Muziek]",
3483
3708
  "(C) TV GELDERLAND 2021",
@@ -3627,14 +3852,14 @@ const jl = 10 * 1024 * 1024, Wl = 25 * 1024 * 1024, Gl = "sync-target", Vl = 20,
3627
3852
  "[MÚSICA]",
3628
3853
  "[Music cuts in British]"
3629
3854
  ]
3630
- }, Wo = (e) => {
3855
+ }, ei = (e) => {
3631
3856
  let t = e;
3632
- return Object.values(jo).forEach((n) => {
3857
+ return Object.values(Qo).forEach((n) => {
3633
3858
  n.forEach((r) => {
3634
3859
  t = t.replaceAll(r, "");
3635
3860
  });
3636
3861
  }), t = t.replace(/\(.*?\)/g, ""), t = t.replace(/\[.*?\]/g, ""), t;
3637
- }, Go = 6e4, Vo = 8e3, Xo = 2, zo = 0.4, Yo = 3, qo = /* @__PURE__ */ new Set([
3862
+ }, ti = 6e4, ni = 8e3, ri = 2, oi = 0.4, ii = 3, si = /* @__PURE__ */ new Set([
3638
3863
  "aan",
3639
3864
  "als",
3640
3865
  "ben",
@@ -3747,13 +3972,13 @@ const jl = 10 * 1024 * 1024, Wl = 25 * 1024 * 1024, Gl = "sync-target", Vl = 20,
3747
3972
  "you",
3748
3973
  "your"
3749
3974
  ]);
3750
- function Jo(e) {
3975
+ function ai(e) {
3751
3976
  const t = /* @__PURE__ */ new Set();
3752
3977
  for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
3753
- n.length < Yo || qo.has(n) || t.add(n);
3978
+ n.length < ii || si.has(n) || t.add(n);
3754
3979
  return [...t];
3755
3980
  }
3756
- function Zo(e, t) {
3981
+ function ci(e, t) {
3757
3982
  if (!e.length) return 0;
3758
3983
  if (!t.length) return 1;
3759
3984
  const n = new Set(t), r = new Set(e);
@@ -3761,38 +3986,38 @@ function Zo(e, t) {
3761
3986
  for (const i of r) n.has(i) || (o += 1);
3762
3987
  return o / r.size;
3763
3988
  }
3764
- function Qo(e, t = Go) {
3989
+ function li(e, t = ti) {
3765
3990
  const n = e.filter((s) => !s.partial && typeof s.text == "string");
3766
3991
  if (!n.length) return { text: "", segmentCount: 0 };
3767
3992
  const o = n.reduce((s, a) => Math.max(s, a.endedAt ?? 0), 0) - t;
3768
- return { text: n.filter((s) => (s.endedAt ?? 0) >= o).map((s) => Wo(s.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
3993
+ return { text: n.filter((s) => (s.endedAt ?? 0) >= o).map((s) => ei(s.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
3769
3994
  }
3770
- const ei = 60;
3771
- function Xl(e, t, n = ei) {
3995
+ const ui = 60;
3996
+ function au(e, t, n = ui) {
3772
3997
  const r = new Set(e), o = [...e];
3773
3998
  for (const i of t)
3774
3999
  !i || r.has(i) || (r.add(i), o.push(i));
3775
4000
  return o.slice(-n);
3776
4001
  }
3777
- function zl(e) {
4002
+ function cu(e) {
3778
4003
  const { segments: t, now: n, state: r } = e;
3779
- if (r.lastTriggerAt && n - r.lastTriggerAt < Vo)
4004
+ if (r.lastTriggerAt && n - r.lastTriggerAt < ni)
3780
4005
  return { trigger: !1, reason: "too_soon" };
3781
- const o = Qo(t, e.windowMs);
4006
+ const o = li(t, e.windowMs);
3782
4007
  if (!o.text) return { trigger: !1, reason: "no_speech" };
3783
4008
  const i = o.segmentCount - (r.lastSegmentCount ?? 0);
3784
- if (r.lastQueryTerms && i < Xo)
4009
+ if (r.lastQueryTerms && i < ri)
3785
4010
  return { trigger: !1, reason: "too_few_new" };
3786
- const s = Jo(o.text);
3787
- return s.length ? r.lastQueryTerms?.length && Zo(s, r.lastQueryTerms) < zo ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: o.text, terms: s, segmentCount: o.segmentCount } : { trigger: !1, reason: "no_speech" };
4011
+ const s = ai(o.text);
4012
+ return s.length ? r.lastQueryTerms?.length && ci(s, r.lastQueryTerms) < oi ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: o.text, terms: s, segmentCount: o.segmentCount } : { trigger: !1, reason: "no_speech" };
3788
4013
  }
3789
- const Yl = [
4014
+ const lu = [
3790
4015
  "personal",
3791
4016
  "workspace",
3792
4017
  "connections",
3793
4018
  "work",
3794
4019
  "ai"
3795
- ], ql = "navNotice", Ce = {
4020
+ ], uu = "navNotice", xe = {
3796
4021
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
3797
4022
  // shorter than geographic numbers, and a too-strict minimum silently drops them.
3798
4023
  // An over-permissive key is harmless — it simply matches nothing.
@@ -3815,81 +4040,81 @@ const Yl = [
3815
4040
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
3816
4041
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
3817
4042
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
3818
- }, ti = "NL", ni = 15, ri = 8, oi = Array.from(
3819
- new Set(Object.values(Ce).map((e) => e.callingCode))
4043
+ }, di = "NL", fi = 15, pi = 8, mi = Array.from(
4044
+ new Set(Object.values(xe).map((e) => e.callingCode))
3820
4045
  ).sort((e, t) => t.length - e.length);
3821
- function st(e) {
4046
+ function lt(e) {
3822
4047
  if (e)
3823
- return Ce[e.trim().toUpperCase()];
4048
+ return xe[e.trim().toUpperCase()];
3824
4049
  }
3825
- function Y(e, t) {
4050
+ function q(e, t) {
3826
4051
  return e.length >= t.nsnMin && e.length <= t.nsnMax;
3827
4052
  }
3828
- function at(e) {
3829
- if (e.length > ni) return null;
3830
- for (const t of oi) {
4053
+ function ut(e) {
4054
+ if (e.length > fi) return null;
4055
+ for (const t of mi) {
3831
4056
  if (!e.startsWith(t)) continue;
3832
4057
  const n = e.slice(t.length);
3833
- for (const r of Object.values(Ce)) {
4058
+ for (const r of Object.values(xe)) {
3834
4059
  if (r.callingCode !== t) continue;
3835
4060
  const o = r.trunkPrefix, i = o && n.startsWith(o) ? n.slice(o.length) : n;
3836
- if (Y(i, r)) return `+${t}${i}`;
4061
+ if (q(i, r)) return `+${t}${i}`;
3837
4062
  }
3838
4063
  return null;
3839
4064
  }
3840
- return e.length < ri ? null : `+${e}`;
4065
+ return e.length < pi ? null : `+${e}`;
3841
4066
  }
3842
- function ii(e) {
4067
+ function hi(e) {
3843
4068
  let t = e.trim();
3844
4069
  const n = t.match(/^(sips?|tel|whatsapp):/i);
3845
4070
  n && (t = t.slice(n[0].length));
3846
4071
  const r = t.indexOf("@");
3847
4072
  return r >= 0 && (t = t.slice(0, r)), t.trim();
3848
4073
  }
3849
- function Jl(e) {
4074
+ function du(e) {
3850
4075
  if (!e) return !1;
3851
4076
  const t = e.indexOf("@");
3852
4077
  if (t <= 0) return !1;
3853
4078
  const n = e.slice(0, t).trim();
3854
4079
  return !/^[+\d\s().-]+$/.test(n);
3855
4080
  }
3856
- function ct(e, t) {
4081
+ function dt(e, t) {
3857
4082
  if (!e) return null;
3858
- const n = ii(e);
4083
+ const n = hi(e);
3859
4084
  if (!n) return null;
3860
4085
  const r = n.startsWith("+"), o = n.replace(/\D/g, "");
3861
4086
  if (!o) return null;
3862
- if (r) return at(o);
3863
- if (o.startsWith("00")) return at(o.slice(2));
3864
- const i = st(t) ?? st(ti);
4087
+ if (r) return ut(o);
4088
+ if (o.startsWith("00")) return ut(o.slice(2));
4089
+ const i = lt(t) ?? lt(di);
3865
4090
  if (!i) return null;
3866
4091
  const s = i.trunkPrefix;
3867
4092
  if (s && o.startsWith(s)) {
3868
4093
  const a = o.slice(s.length);
3869
- return Y(a, i) ? `+${i.callingCode}${a}` : null;
4094
+ return q(a, i) ? `+${i.callingCode}${a}` : null;
3870
4095
  }
3871
4096
  if (o.startsWith(i.callingCode)) {
3872
4097
  const a = o.slice(i.callingCode.length);
3873
- if (Y(a, i)) return `+${i.callingCode}${a}`;
4098
+ if (q(a, i)) return `+${i.callingCode}${a}`;
3874
4099
  }
3875
- return !s && Y(o, i) ? `+${i.callingCode}${o}` : null;
4100
+ return !s && q(o, i) ? `+${i.callingCode}${o}` : null;
3876
4101
  }
3877
- function Zl(e, t = 9) {
4102
+ function fu(e, t = 9) {
3878
4103
  const n = (e ?? "").replace(/\D/g, "");
3879
4104
  return n.length < t ? null : n.slice(-t);
3880
4105
  }
3881
- function Xt(e) {
4106
+ function Jt(e) {
3882
4107
  if (!e) return null;
3883
4108
  const t = e.trim().toLowerCase(), n = t.lastIndexOf("@");
3884
4109
  if (n <= 0 || n === t.length - 1) return null;
3885
4110
  const r = t.slice(0, n).split("+")[0], o = t.slice(n + 1);
3886
4111
  return !r || !o.includes(".") ? null : `${r}@${o}`;
3887
4112
  }
3888
- function Ql(e) {
3889
- const t = Xt(e);
4113
+ function pu(e) {
4114
+ const t = Jt(e);
3890
4115
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
3891
4116
  }
3892
- const si = /* @__PURE__ */ new Set([
4117
+ const gi = /* @__PURE__ */ new Set([
3893
4118
  "co.uk",
3894
4119
  "org.uk",
3895
4120
  "gov.uk",
@@ -3899,14 +4124,14 @@ const si = /* @__PURE__ */ new Set([
3899
4124
  "com.br",
3900
4125
  "co.za"
3901
4126
  ]);
3902
- function ai(e) {
4127
+ function yi(e) {
3903
4128
  if (!e) return null;
3904
4129
  const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
3905
4130
  if (t.length < 2) return null;
3906
4131
  const n = t.slice(-2).join(".");
3907
- return si.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
4132
+ return gi.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
3908
4133
  }
3909
- const ci = /* @__PURE__ */ new Set([
4134
+ const bi = /* @__PURE__ */ new Set([
3910
4135
  "gmail.com",
3911
4136
  "googlemail.com",
3912
4137
  "outlook.com",
@@ -3951,34 +4176,34 @@ const ci = /* @__PURE__ */ new Set([
3951
4176
  "proximus.be",
3952
4177
  "scarlet.be"
3953
4178
  ]);
3954
- function eu(e) {
3955
- const t = ai(e);
3956
- return t ? ci.has(t) : !1;
4179
+ function mu(e) {
4180
+ const t = yi(e);
4181
+ return t ? bi.has(t) : !1;
3957
4182
  }
3958
- function tu(e) {
4183
+ function hu(e) {
3959
4184
  if (!e) return !1;
3960
4185
  const t = e.trim().toLowerCase();
3961
4186
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
3962
4187
  }
3963
- function nu(e, t, n) {
4188
+ function gu(e, t, n) {
3964
4189
  if (!e || !t) return null;
3965
4190
  const r = e.trim().toLowerCase();
3966
4191
  if (r === "tel" || r === "sms" || r === "whatsapp") {
3967
- const i = ct(t, n);
4192
+ const i = dt(t, n);
3968
4193
  return i ? `tel:${i}` : null;
3969
4194
  }
3970
4195
  if (r === "fax") {
3971
- const i = ct(t, n);
4196
+ const i = dt(t, n);
3972
4197
  return i ? `fax:${i}` : null;
3973
4198
  }
3974
4199
  if (r === "mailto" || r === "email") {
3975
- const i = Xt(t);
4200
+ const i = Jt(t);
3976
4201
  return i ? `mailto:${i}` : null;
3977
4202
  }
3978
4203
  const o = t.trim().toLowerCase();
3979
4204
  return o ? `${r}:${o}` : null;
3980
4205
  }
3981
- const li = [
4206
+ const Ai = [
3982
4207
  /<blockquote/i,
3983
4208
  /class="?gmail_quote/i,
3984
4209
  // Gmail quote container
@@ -3991,72 +4216,72 @@ const li = [
3991
4216
  // Outlook underscore separator before "From:"
3992
4217
  /\bOn\b[\s\S]{0,200}?\bwrote:/i
3993
4218
  // Gmail "On <date> <name> wrote:"
3994
- ], lt = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, ui = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
3995
- function di(e) {
4219
+ ], ft = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Ei = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
4220
+ function _i(e) {
3996
4221
  const t = e.split(`
3997
4222
  `);
3998
4223
  for (let n = 0; n < t.length; n++)
3999
- if (ui.test(t[n]) || lt.test(t[n]) && t.slice(n + 1, n + 4).some((r) => lt.test(r)))
4224
+ if (Ei.test(t[n]) || ft.test(t[n]) && t.slice(n + 1, n + 4).some((r) => ft.test(r)))
4000
4225
  return t.slice(0, n).join(`
4001
4226
  `).trim();
4002
4227
  return e;
4003
4228
  }
4004
- const fi = /^(?:https?:|mailto:|tel:)/i, pi = /^(?:https?:|cid:|data:image\/)/i;
4005
- function ce(e, t) {
4229
+ const Si = /^(?:https?:|mailto:|tel:)/i, Ti = /^(?:https?:|cid:|data:image\/)/i;
4230
+ function le(e, t) {
4006
4231
  const n = e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`, "i"));
4007
4232
  return (n?.[1] ?? n?.[2] ?? n?.[3] ?? "").trim();
4008
4233
  }
4009
- const mi = /(!\[[^\]]*\]\([^)]*\))/;
4010
- function ut(e) {
4011
- return e.replace(/\s+/g, " ").trim().split(mi).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
4234
+ const wi = /(!\[[^\]]*\]\([^)]*\))/;
4235
+ function pt(e) {
4236
+ return e.replace(/\s+/g, " ").trim().split(wi).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
4012
4237
  }
4013
- function le(e) {
4238
+ function ue(e) {
4014
4239
  return e.replace(
4015
4240
  /[()\s<>"]/g,
4016
4241
  (t) => `%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2, "0")}`
4017
4242
  );
4018
4243
  }
4019
- function hi(e) {
4244
+ function Ii(e) {
4020
4245
  return e.replace(/<img\b([^>]*?)\/?>/gi, (n, r) => {
4021
- const o = ce(r, "src");
4022
- return pi.test(o) ? `![${ut(ce(r, "alt"))}](${le(o)})` : "";
4246
+ const o = le(r, "src");
4247
+ return Ti.test(o) ? `![${pt(le(r, "alt"))}](${ue(o)})` : "";
4023
4248
  }).replace(
4024
4249
  /<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,
4025
4250
  (n, r, o) => {
4026
- const i = ut(o.replace(/<[^>]*>/g, "")), s = ce(r, "href");
4027
- return fi.test(s) ? `[${i || le(s)}](${le(s)})` : i;
4251
+ const i = pt(o.replace(/<[^>]*>/g, "")), s = le(r, "href");
4252
+ return Si.test(s) ? `[${i || ue(s)}](${ue(s)})` : i;
4028
4253
  }
4029
4254
  );
4030
4255
  }
4031
- const gi = /<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i, yi = /<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi, bi = /<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;
4032
- function Ai(e, t) {
4256
+ const Mi = /<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i, ki = /<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi, vi = /<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;
4257
+ function Oi(e, t) {
4033
4258
  return /<table\b/i.test(e) || e.includes(`
4034
4259
 
4035
4260
  |`) || t.includes("![") || t.length > 200;
4036
4261
  }
4037
- const Ei = 40, Si = { left: "---", center: ":---:", right: "---:" };
4038
- function _i(e) {
4262
+ const Ci = 40, xi = { left: "---", center: ":---:", right: "---:" };
4263
+ function Ni(e) {
4039
4264
  const t = e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);
4040
4265
  return t ? t[1].toLowerCase() : "left";
4041
4266
  }
4042
- function Ti(e) {
4267
+ function Ri(e) {
4043
4268
  return e.replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().replace(/\|/g, "\\|");
4044
4269
  }
4045
- function Ii(e) {
4270
+ function Di(e) {
4046
4271
  const t = [];
4047
- for (const s of e.matchAll(yi)) {
4272
+ for (const s of e.matchAll(ki)) {
4048
4273
  const a = [];
4049
- for (const l of s[1].matchAll(bi)) {
4050
- const u = Ti(l[3]);
4051
- if (Ai(l[3], u)) return null;
4052
- a.push({ text: u, align: _i(l[2]) });
4274
+ for (const l of s[1].matchAll(vi)) {
4275
+ const u = Ri(l[3]);
4276
+ if (Oi(l[3], u)) return null;
4277
+ a.push({ text: u, align: Ni(l[2]) });
4053
4278
  }
4054
4279
  if (a.length === 0) return null;
4055
4280
  a.some((l) => l.text !== "") && t.push(a);
4056
4281
  }
4057
4282
  const n = t[0]?.length ?? 0;
4058
4283
  if (t.length < 2 || n < 2 || t.some((s) => s.length !== n)) return null;
4059
- const r = (s) => `| ${s.map((a) => a.text).join(" | ")} |`, o = t[1].map((s) => Si[s.align]).join(" | "), i = t.slice(1).map(r).join(`
4284
+ const r = (s) => `| ${s.map((a) => a.text).join(" | ")} |`, o = t[1].map((s) => xi[s.align]).join(" | "), i = t.slice(1).map(r).join(`
4060
4285
  `);
4061
4286
  return `
4062
4287
 
@@ -4066,36 +4291,36 @@ ${i}
4066
4291
 
4067
4292
  `;
4068
4293
  }
4069
- function wi(e) {
4294
+ function $i(e) {
4070
4295
  return e.replace(/<\/(t[dh])\s*>/gi, " ").replace(/<\/tr\s*>/gi, `
4071
4296
  `).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi, "").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi, "");
4072
4297
  }
4073
- function Mi(e) {
4298
+ function Li(e) {
4074
4299
  let t = e;
4075
- for (let n = 0; n < Ei; n++) {
4076
- const r = gi.exec(t);
4300
+ for (let n = 0; n < Ci; n++) {
4301
+ const r = Mi.exec(t);
4077
4302
  if (!r || r.index === void 0) break;
4078
- const i = Ii(r[1]) ?? `
4303
+ const i = Di(r[1]) ?? `
4079
4304
 
4080
- ${wi(r[1])}
4305
+ ${$i(r[1])}
4081
4306
 
4082
4307
  `;
4083
4308
  t = t.slice(0, r.index) + i + t.slice(r.index + r[0].length);
4084
4309
  }
4085
4310
  return t;
4086
4311
  }
4087
- function dt(e, t) {
4312
+ function mt(e, t) {
4088
4313
  let n = e;
4089
4314
  return n = n.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), n = n.replace(/<!--[\s\S]*?-->/g, ""), n = n.replace(/<br\s*\/?>/gi, `
4090
- `), t && (n = Mi(hi(n))), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
4315
+ `), t && (n = Li(Ii(n))), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
4091
4316
 
4092
4317
  `), n = n.replace(/<\/(div|li|tr)>/gi, `
4093
4318
  `), n = n.replace(/<\/(td|th)>/gi, " "), n = n.replace(/<[^>]+>/g, ""), n = n.replace(/<[^>]*$/, ""), n;
4094
4319
  }
4095
- function ft(e) {
4320
+ function ht(e) {
4096
4321
  return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
4097
4322
  }
4098
- const ki = {
4323
+ const Pi = {
4099
4324
  euro: "€",
4100
4325
  pound: "£",
4101
4326
  yen: "¥",
@@ -4117,471 +4342,480 @@ const ki = {
4117
4342
  rdquo: "”",
4118
4343
  apos: "'"
4119
4344
  };
4120
- function pt(e) {
4121
- return e.replace(/&nbsp;/gi, " ").replace(/&([a-z]+);/gi, (t, n) => ki[n.toLowerCase()] ?? t).replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => ft(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => ft(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
4345
+ function gt(e) {
4346
+ return e.replace(/&nbsp;/gi, " ").replace(/&([a-z]+);/gi, (t, n) => Pi[n.toLowerCase()] ?? t).replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => ht(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => ht(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
4122
4347
  }
4123
- function mt(e) {
4348
+ function yt(e) {
4124
4349
  return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
4125
4350
  `).replace(/\n{3,}/g, `
4126
4351
 
4127
4352
  `).trim();
4128
4353
  }
4129
- const vi = /<\s*(html|body|div|p|table|br|span)\b/i;
4130
- function ru(e) {
4131
- return vi.test(e);
4354
+ const Ui = /<\s*(html|body|div|p|table|br|span)\b/i;
4355
+ function yu(e) {
4356
+ return Ui.test(e);
4132
4357
  }
4133
- function ou(e) {
4134
- return zt(e, !1);
4358
+ function bu(e) {
4359
+ return Zt(e, !1);
4135
4360
  }
4136
- function iu(e) {
4137
- return zt(e, !0);
4361
+ function Au(e) {
4362
+ return Zt(e, !0);
4138
4363
  }
4139
- function zt(e, t) {
4364
+ function Zt(e, t) {
4140
4365
  if (typeof e != "string" || !e) return "";
4141
4366
  let n = e.length;
4142
- for (const s of li) {
4367
+ for (const s of Ai) {
4143
4368
  const a = e.search(s);
4144
4369
  a >= 0 && a < n && (n = a);
4145
4370
  }
4146
4371
  const r = e.slice(0, n);
4147
- let o = mt(pt(dt(r, t)));
4148
- return o || (o = mt(pt(dt(e, t)))), di(o) || o;
4372
+ let o = yt(gt(mt(r, t)));
4373
+ return o || (o = yt(gt(mt(e, t)))), _i(o) || o;
4149
4374
  }
4150
4375
  export {
4151
- bs as ACTIVE_ASSIGNMENT_STATUSES,
4376
+ ks as ACTIVE_ASSIGNMENT_STATUSES,
4152
4377
  R as ACTIVITY_CATALOG,
4153
- Io as AI_ATTACHMENT_LIMITS,
4154
- Wc as AI_ATTACHMENT_MAX_PER_TURN,
4155
- jc as AI_ATTACHMENT_TURN_BUDGET,
4156
- yt as AI_VENDORS,
4157
- yn as ALLOWED_LINK_SCHEMES,
4158
- kl as APP_PERMISSIONS,
4159
- Ke as ARTIFACT_MAX_BLOCKS,
4160
- us as ARTIFACT_MAX_BODY_BYTES,
4378
+ Ro as AI_ATTACHMENT_LIMITS,
4379
+ nl as AI_ATTACHMENT_MAX_PER_TURN,
4380
+ tl as AI_ATTACHMENT_TURN_BUDGET,
4381
+ Et as AI_VENDORS,
4382
+ _n as ALLOWED_LINK_SCHEMES,
4383
+ Bl as APP_PERMISSIONS,
4384
+ Fe as ARTIFACT_MAX_BLOCKS,
4385
+ Es as ARTIFACT_MAX_BODY_BYTES,
4161
4386
  X as ARTIFACT_MAX_CELL_LEN,
4162
- je as ARTIFACT_MAX_KPI_ITEMS,
4163
- Fe as ARTIFACT_MAX_LIST_ITEMS,
4164
- He as ARTIFACT_MAX_TABLE_COLUMNS,
4165
- Be as ARTIFACT_MAX_TABLE_ROWS,
4166
- At as ARTIFACT_MAX_TEXT_LEN,
4167
- Mn as ASSIGNMENT_SCOPE_KIND,
4168
- Yc as ASSIST_BANDS,
4169
- zc as ASSIST_SOURCE_PROVIDER_GROUP,
4170
- Kn as ATTENTION_STATUSES,
4171
- no as AT_RISK_GAP,
4172
- Gt as AUTH_APP_NAME,
4173
- Pr as AUTO_READY_MIN_PROPOSALS,
4174
- Ur as AUTO_READY_RATE,
4175
- sn as ActivityTypeRegistry,
4176
- Vi as BUILT_IN_ONLY,
4177
- Fn as BULK_PENALTY,
4178
- Vo as CADENCE_FLOOR_MS,
4179
- Xo as CADENCE_MIN_NEW_SEGMENTS,
4180
- zo as CADENCE_MIN_NOVELTY,
4181
- Go as CADENCE_WINDOW_MS,
4182
- va as CLASSIFY_VARS,
4183
- hl as CONNECTOR_PROVIDER_GROUP,
4184
- gl as CONTEXT_COLLECT_SERVICE,
4185
- os as CORE_DIMENSIONS,
4186
- Co as CommunicationScheme,
4187
- Cn as DAY_MS,
4188
- Qr as DEFAULT_CHECK_IN_DAYS,
4189
- gr as DEFAULT_FORECAST_WEEKS,
4190
- ea as DEFAULT_MEMORY_BUDGET,
4191
- ti as DEFAULT_PHONE_REGION,
4192
- la as DEMAND_SOURCE_PROVIDER_GROUP,
4193
- Sl as DOCUMENT_APPLY_SERVICE,
4194
- Al as DOCUMENT_DESCRIBE_SERVICE,
4195
- El as DOCUMENT_INSPECT_SERVICE,
4196
- Ke as DOCUMENT_MAX_BLOCKS,
4197
- us as DOCUMENT_MAX_BODY_BYTES,
4387
+ We as ARTIFACT_MAX_KPI_ITEMS,
4388
+ Be as ARTIFACT_MAX_LIST_ITEMS,
4389
+ je as ARTIFACT_MAX_TABLE_COLUMNS,
4390
+ He as ARTIFACT_MAX_TABLE_ROWS,
4391
+ St as ARTIFACT_MAX_TEXT_LEN,
4392
+ xn as ASSIGNMENT_SCOPE_KIND,
4393
+ al as ASSIST_BANDS,
4394
+ sl as ASSIST_SOURCE_PROVIDER_GROUP,
4395
+ Xn as ATTENTION_STATUSES,
4396
+ fo as AT_RISK_GAP,
4397
+ Yt as AUTH_APP_NAME,
4398
+ Vr as AUTO_READY_MIN_PROPOSALS,
4399
+ zr as AUTO_READY_RATE,
4400
+ un as ActivityTypeRegistry,
4401
+ ns as BUILT_IN_ONLY,
4402
+ Yn as BULK_PENALTY,
4403
+ ni as CADENCE_FLOOR_MS,
4404
+ ri as CADENCE_MIN_NEW_SEGMENTS,
4405
+ oi as CADENCE_MIN_NOVELTY,
4406
+ ti as CADENCE_WINDOW_MS,
4407
+ Fa as CLASSIFY_VARS,
4408
+ kl as CONNECTOR_PROVIDER_GROUP,
4409
+ vl as CONTEXT_COLLECT_SERVICE,
4410
+ ms as CORE_DIMENSIONS,
4411
+ Ko as CommunicationScheme,
4412
+ Kn as DAY_MS,
4413
+ co as DEFAULT_CHECK_IN_DAYS,
4414
+ Ir as DEFAULT_FORECAST_WEEKS,
4415
+ fa as DEFAULT_MEMORY_BUDGET,
4416
+ di as DEFAULT_PHONE_REGION,
4417
+ _a as DEMAND_SOURCE_PROVIDER_GROUP,
4418
+ $l as DOCUMENT_APPLY_SERVICE,
4419
+ Rl as DOCUMENT_DESCRIBE_SERVICE,
4420
+ Dl as DOCUMENT_INSPECT_SERVICE,
4421
+ Fe as DOCUMENT_MAX_BLOCKS,
4422
+ Es as DOCUMENT_MAX_BODY_BYTES,
4198
4423
  X as DOCUMENT_MAX_CELL_LEN,
4199
- je as DOCUMENT_MAX_KPI_ITEMS,
4200
- We as DOCUMENT_MAX_LETTERHEAD_FIELDS,
4201
- Fe as DOCUMENT_MAX_LIST_ITEMS,
4202
- hn as DOCUMENT_MAX_RECIPIENT_LINES,
4203
- He as DOCUMENT_MAX_TABLE_COLUMNS,
4204
- Be as DOCUMENT_MAX_TABLE_ROWS,
4205
- At as DOCUMENT_MAX_TEXT_LEN,
4206
- Ge as DOCUMENT_MAX_TOTALS_ROWS,
4207
- Ht as DOCUMENT_OPERATIONS,
4208
- Ca as EMPTY_WORKFLOW,
4209
- dl as FEATURE_FOLDER_MANAGEMENT,
4210
- pl as FEATURE_MESSAGE_REACTIONS,
4211
- fl as FEATURE_REMOTE_SEARCH,
4212
- we as FIXED_KINDS,
4213
- Q as FIXED_LEVELS,
4214
- ve as FIXED_TYPES,
4215
- Hn as FOLLOW_UP_HOURS,
4216
- On as HOUR_MS,
4217
- vi as HTML_BODY_RE,
4218
- D as INELIGIBLE,
4219
- Tl as INSTALLATION_HEADER,
4220
- xr as INTERACTION_KIND,
4221
- ll as InteractionParticipantRole,
4222
- qn as KB_FALLBACK_LOCALE,
4223
- ze as KB_LOCALES,
4224
- Oe as LOOSE_STATUSES,
4225
- $n as MAIL_HINT_HEADERS,
4226
- xi as MAX_ACTIONS,
4227
- kn as MAX_ASSIGNMENT_TURNS,
4228
- Oi as MAX_BLOCKS,
4229
- Mt as MAX_COLLECTION_DEPTH,
4230
- jl as MAX_EDITABLE_FILE_BYTES,
4231
- Ci as MAX_FIELDS,
4232
- Ni as MAX_LIST_ITEMS,
4233
- qs as MAX_MEMORY_BROWSE,
4234
- Qs as MAX_MEMORY_BUDGET,
4235
- Js as MAX_MEMORY_CHARS,
4236
- ei as MAX_SHOWN_KEYS,
4237
- ao as MAX_TOPIC_CANDIDATES,
4238
- so as MAX_TOPIC_EXAMPLES,
4239
- ae as MAX_TOPIC_EXAMPLE_CHARS,
4240
- Wl as MAX_VIEWABLE_FILE_BYTES,
4241
- Zs as MIN_MEMORY_BUDGET,
4242
- ql as NAV_NOTICE_SLOT,
4243
- wl as NOTIFICATION_SOURCE_PROVIDER_GROUP,
4244
- ro as OFF_TRACK_GAP,
4245
- na as ONBOARDING_SOURCE_PROVIDER_GROUP,
4246
- be as PAUSE_SNOOZED,
4247
- Ae as PAUSE_WAITING_FOR_CUSTOMER,
4248
- Ce as PHONE_REGIONS,
4249
- jt as PRESENCE_ONLINE_WINDOW_MS,
4250
- Lo as PRESENCE_SURVIVES_OFFLINE,
4251
- oa as PROFILE_TOOL_DISPOSITIONS,
4252
- cl as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
4253
- al as PROVIDER_FEATURE_MESSAGE_WINDOW,
4254
- ci as PUBLIC_EMAIL_DOMAINS,
4255
- Ye as READ_STEP_TYPES,
4256
- Qn as RELATED_SUBJECT_KINDS,
4257
- Bt as RESERVED_STATUS_KEYS,
4258
- Ic as RESERVED_TYPE_KEYS,
4259
- $l as RESOURCE_ATTACHED_SERVICE,
4260
- xl as RESOURCE_DESCRIBE_SERVICE,
4261
- Dl as RESOURCE_RESOLVE_SERVICE,
4262
- Rl as RESOURCE_SEARCH_SERVICE,
4263
- _r as SCHEDULE_ENTRY_SCOPE_KIND,
4264
- Ul as SCOPE_READ_ROUTE,
4265
- Pl as SCOPE_RELATED_ROUTE,
4266
- Yl as SETTINGS_CATEGORIES,
4267
- ws as SIGNATURE_INTENTS,
4268
- Bn as SLA_HOURS_BY_PRIORITY,
4269
- Ha as SLA_METRICS,
4270
- ja as SLA_PAUSE_REASONS,
4271
- $r as STEP_MAX_TOKENS_MAX,
4272
- Dr as STEP_MAX_TOKENS_MIN,
4273
- Jr as STRATEGY_ITEM_SCOPE_KIND,
4274
- Dn as SUMMARY_MIN_LAST_CHARS,
4275
- Rn as SUMMARY_MIN_MESSAGES,
4276
- Vl as SYNC_RUN_MAX_ERRORS,
4277
- Gl as SYNC_TARGET_PROVIDER_GROUP,
4278
- wn as TERMINAL_ASSIGNMENT_STATUSES,
4279
- Kr as TERMINAL_RUN_STATUSES,
4280
- ka as TRIGGER_VARS,
4281
- er as UNKNOWN_KIND,
4282
- Zr as UNKNOWN_LEVEL_ORDER,
4283
- ml as UNSUPPORTED,
4284
- fn as USAGE_DIMENSIONS,
4285
- pn as USAGE_DIMENSION_IDS,
4286
- Tr as WORKSTREAM_SCOPE_KIND,
4287
- ho as WORK_ACTIVITY_SCOPE_KIND,
4288
- ra as WORK_AREAS,
4289
- Ec as WORK_COMMENT_ADDED,
4290
- Oc as WORK_CYCLE_SYNC_KIND,
4291
- Sc as WORK_ITEM_ASSIGNED,
4292
- po as WORK_ITEM_SCOPE_KIND,
4293
- _c as WORK_ITEM_STATUS_CHANGED,
4294
- mo as WORK_PROJECT_SCOPE_KIND,
4295
- q as W_PRIORITY,
4296
- yc as acceptExampleCandidate,
4297
- kr as actingIdentityKey,
4298
- hc as activeWorkTypes,
4299
- Di as activityIconOf,
4300
- Wi as activityJoinUrl,
4301
- tn as activitySnippet,
4302
- nn as activityTextParams,
4303
- ji as activityTimelineText,
4304
- an as activityTimestamp,
4305
- w as activityTypeInfo,
4306
- Sa as actorKey,
4307
- gc as addExampleCandidate,
4308
- Me as addWorkingMs,
4309
- Ol as agePresenceEntry,
4310
- To as aiAttachmentKind,
4311
- Gc as aiAttachmentRejection,
4312
- Ue as aiBudgetLimit,
4313
- ns as aiBudgetPeriodKey,
4314
- cn as aiBudgetPeriodStart,
4315
- ts as aiBudgetState,
4316
- es as aiVendorAcceptsAttachment,
4317
- Ji as aiVendorDefaultModel,
4318
- qi as aiVendorLabel,
4319
- Qi as aiVendorNeedsBaseUrl,
4320
- Zi as aiVendorsWith,
4321
- Vt as appNameFromPath,
4322
- uc as applyRounding,
4323
- Ms as applySignature,
4324
- Lr as approvalRate,
4325
- fs as artifactBodyBytes,
4326
- ps as artifactOutline,
4327
- ms as artifactToMarkdown,
4328
- wa as assignmentMismatch,
4329
- Es as assignmentScopeKey,
4330
- Ts as assignmentSubject,
4331
- ca as availabilityByPerson,
4332
- ia as belongsOnCalendar,
4333
- Gi as buildActivityPreview,
4334
- nl as buildChannelIntents,
4335
- hs as buildShareKeys,
4336
- Qo as buildWindow,
4337
- nr as calendarDaysBetween,
4338
- ke as calendarOf,
4339
- Ws as canNestUnder,
4340
- Ja as canParent,
4341
- sa as capacityTotal,
4342
- ya as capacityWeights,
4343
- Ki as carriesText,
4344
- Vs as categoryLabel,
4345
- bo as categoryOf,
4346
- sl as channelKindForScheme,
4347
- $i as channelKindOf,
4348
- ac as checkInOverdueMs,
4349
- Oa as clampStepMaxTokens,
4350
- xs as classifyMail,
4351
- iu as cleanMessageMarkdown,
4352
- ou as cleanMessageText,
4353
- Jc as compareAssistRank,
4354
- io as compareWorkTypes,
4355
- H as countsAsPlanned,
4356
- aa as coverageByPerson,
4357
- da as coverageFor,
4358
- vt as coversWorkstream,
4359
- Ot as cycleDayIndex,
4360
- Bc as cycleOrder,
4361
- Hc as cycleState,
4362
- Is as decideAssignmentState,
4363
- zl as decideCadence,
4364
- el as decideIncomingCall,
4365
- Jn as defaultLocaleOf,
4366
- Pc as defaultStatusKey,
4367
- ul as defineIntent,
4368
- zn as depthOf,
4369
- vl as derivePresence,
4370
- as as describeClause,
4371
- tl as disabledIntentsFromCapabilities,
4372
- fs as documentBodyBytes,
4373
- _l as documentKindOf,
4374
- ps as documentOutline,
4375
- ms as documentToMarkdown,
4376
- Ga as dueAtOf,
4377
- lc as elapsedSeconds,
4378
- Ql as emailDomain,
4379
- nu as endpointKey,
4380
- sr as erlangC,
4381
- Ko as extractParams,
4382
- Jo as extractTerms,
4383
- ol as filterByEndpoint,
4384
- rl as filterByIntent,
4385
- Oo as filterByTargetScheme,
4386
- ss as filterableDimensions,
4387
- Z as findAiVendor,
4388
- Qa as fixedLevelForName,
4389
- kc as fixedTypeForName,
4390
- vc as fixedTypes,
4391
- Il as flattenLocales,
4392
- B as floorToPeriod,
4393
- ma as forecastIntervals,
4394
- Mr as formatActingIdentity,
4395
- fc as formatClock,
4396
- dc as formatHm,
4397
- Nc as formatItemKey,
4398
- F as formatPeriod,
4399
- za as formatSlaDuration,
4400
- Xc as freshSources,
4401
- Xi as getActivitySeenUserIds,
4402
- ks as getContactEndpoints,
4403
- Ks as getShortTitle,
4404
- Us as getUrgencyScore,
4405
- Ka as hasReacted,
4406
- ec as healthCategory,
4407
- tc as healthsInCategory,
4408
- kt as heightOf,
4409
- Bs as helpCenterText,
4410
- Ma as humanizeAction,
4411
- Rr as interactionIdOf,
4412
- Ac as isAgentUser,
4413
- Ls as isAssigned,
4414
- As as isAssignmentTerminal,
4415
- Cr as isAssignmentTrigger,
4416
- Ra as isAutoReady,
4417
- Xn as isAwaitingThem,
4418
- Yi as isChatMessageActivity,
4419
- Ps as isClosed,
4420
- Bi as isConnectedType,
4421
- Kl as isDeepLink,
4422
- Yn as isDescendant,
4423
- vs as isEligible,
4424
- zi as isEmailActivity,
4425
- ru as isHtmlBody,
4426
- $a as isInFlight,
4427
- Un as isInteractionUnseen,
4428
- Fl as isLandingPath,
4429
- xn as isLikelyBulk,
4430
- ht as isMessageShape,
4431
- Li as isMessageType,
4432
- Bo as isMoreSpecificPattern,
4433
- gt as isNoteShape,
4434
- qr as isOpenClock,
4435
- Vc as isOutwardTool,
4436
- Wn as isParked,
4437
- Fr as isPaused,
4438
- Fi as isPlaybookAuthoredType,
4439
- eu as isPublicEmailDomain,
4440
- Hl as isPublicPath,
4441
- Gn as isReminderActive,
4442
- Ui as isReplyableType,
4443
- Ds as isSlaAtRisk,
4444
- Da as isTerminal,
4445
- Cs as isThreadLongEnough,
4446
- Hi as isTranscriptType,
4447
- Uc as isWorkClosed,
4448
- mc as isWorkTypeVisible,
4449
- Dc as itemDossierKeys,
4450
- x as kindFor,
4451
- yo as ladderFor,
4452
- eo as levelIn,
4424
+ We as DOCUMENT_MAX_KPI_ITEMS,
4425
+ Ge as DOCUMENT_MAX_LETTERHEAD_FIELDS,
4426
+ Be as DOCUMENT_MAX_LIST_ITEMS,
4427
+ An as DOCUMENT_MAX_RECIPIENT_LINES,
4428
+ je as DOCUMENT_MAX_TABLE_COLUMNS,
4429
+ He as DOCUMENT_MAX_TABLE_ROWS,
4430
+ St as DOCUMENT_MAX_TEXT_LEN,
4431
+ Ve as DOCUMENT_MAX_TOTALS_ROWS,
4432
+ Vt as DOCUMENT_OPERATIONS,
4433
+ Ha as EMPTY_WORKFLOW,
4434
+ Tl as FEATURE_FOLDER_MANAGEMENT,
4435
+ Il as FEATURE_MESSAGE_REACTIONS,
4436
+ wl as FEATURE_REMOTE_SEARCH,
4437
+ Me as FIXED_KINDS,
4438
+ ee as FIXED_LEVELS,
4439
+ Oe as FIXED_TYPES,
4440
+ Jn as FOLLOW_UP_HOURS,
4441
+ Un as HOUR_MS,
4442
+ Ui as HTML_BODY_RE,
4443
+ $ as INELIGIBLE,
4444
+ Pl as INSTALLATION_HEADER,
4445
+ Br as INTERACTION_KIND,
4446
+ _l as InteractionParticipantRole,
4447
+ ir as KB_FALLBACK_LOCALE,
4448
+ Ye as KB_LOCALES,
4449
+ Ye as LOCALES,
4450
+ Ce as LOOSE_STATUSES,
4451
+ Wn as MAIL_HINT_HEADERS,
4452
+ Hi as MAX_ACTIONS,
4453
+ Nn as MAX_ASSIGNMENT_TURNS,
4454
+ Ki as MAX_BLOCKS,
4455
+ Ct as MAX_COLLECTION_DEPTH,
4456
+ ru as MAX_EDITABLE_FILE_BYTES,
4457
+ Fi as MAX_FIELDS,
4458
+ Bi as MAX_LIST_ITEMS,
4459
+ ca as MAX_MEMORY_BROWSE,
4460
+ da as MAX_MEMORY_BUDGET,
4461
+ la as MAX_MEMORY_CHARS,
4462
+ ui as MAX_SHOWN_KEYS,
4463
+ yo as MAX_TOPIC_CANDIDATES,
4464
+ go as MAX_TOPIC_EXAMPLES,
4465
+ ce as MAX_TOPIC_EXAMPLE_CHARS,
4466
+ ou as MAX_VIEWABLE_FILE_BYTES,
4467
+ ua as MIN_MEMORY_BUDGET,
4468
+ uu as NAV_NOTICE_SLOT,
4469
+ Kl as NOTIFICATION_SOURCE_PROVIDER_GROUP,
4470
+ po as OFF_TRACK_GAP,
4471
+ ma as ONBOARDING_SOURCE_PROVIDER_GROUP,
4472
+ Ae as PAUSE_SNOOZED,
4473
+ Ee as PAUSE_WAITING_FOR_CUSTOMER,
4474
+ xe as PHONE_REGIONS,
4475
+ zt as PRESENCE_ONLINE_WINDOW_MS,
4476
+ Vo as PRESENCE_SURVIVES_OFFLINE,
4477
+ ga as PROFILE_TOOL_DISPOSITIONS,
4478
+ El as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
4479
+ Al as PROVIDER_FEATURE_MESSAGE_WINDOW,
4480
+ bi as PUBLIC_EMAIL_DOMAINS,
4481
+ qe as READ_STEP_TYPES,
4482
+ cr as RELATED_SUBJECT_KINDS,
4483
+ Gt as RESERVED_STATUS_KEYS,
4484
+ Lc as RESERVED_TYPE_KEYS,
4485
+ Yl as RESOURCE_ATTACHED_SERVICE,
4486
+ Vl as RESOURCE_DESCRIBE_SERVICE,
4487
+ Xl as RESOURCE_RESOLVE_SERVICE,
4488
+ zl as RESOURCE_SEARCH_SERVICE,
4489
+ xr as SCHEDULE_ENTRY_SCOPE_KIND,
4490
+ Zl as SCOPE_READ_ROUTE,
4491
+ Jl as SCOPE_RELATED_ROUTE,
4492
+ lu as SETTINGS_CATEGORIES,
4493
+ Ds as SIGNATURE_INTENTS,
4494
+ qn as SLA_HOURS_BY_PRIORITY,
4495
+ ec as SLA_METRICS,
4496
+ tc as SLA_PAUSE_REASONS,
4497
+ Wr as STEP_MAX_TOKENS_MAX,
4498
+ jr as STEP_MAX_TOKENS_MIN,
4499
+ so as STRATEGY_ITEM_SCOPE_KIND,
4500
+ jn as SUMMARY_MIN_LAST_CHARS,
4501
+ Hn as SUMMARY_MIN_MESSAGES,
4502
+ su as SYNC_RUN_MAX_ERRORS,
4503
+ iu as SYNC_TARGET_PROVIDER_GROUP,
4504
+ Cn as TERMINAL_ASSIGNMENT_STATUSES,
4505
+ Xr as TERMINAL_RUN_STATUSES,
4506
+ Ka as TRIGGER_VARS,
4507
+ lr as UNKNOWN_KIND,
4508
+ ao as UNKNOWN_LEVEL_ORDER,
4509
+ Ml as UNSUPPORTED,
4510
+ gn as USAGE_DIMENSIONS,
4511
+ yn as USAGE_DIMENSION_IDS,
4512
+ Nr as WORKSTREAM_SCOPE_KIND,
4513
+ wo as WORK_ACTIVITY_SCOPE_KIND,
4514
+ ha as WORK_AREAS,
4515
+ Nc as WORK_COMMENT_ADDED,
4516
+ Bc as WORK_CYCLE_SYNC_KIND,
4517
+ Rc as WORK_ITEM_ASSIGNED,
4518
+ So as WORK_ITEM_SCOPE_KIND,
4519
+ Dc as WORK_ITEM_STATUS_CHANGED,
4520
+ To as WORK_PROJECT_SCOPE_KIND,
4521
+ J as W_PRIORITY,
4522
+ Oc as acceptExampleCandidate,
4523
+ Lr as actingIdentityKey,
4524
+ kc as activeWorkTypes,
4525
+ Wi as activityIconOf,
4526
+ es as activityJoinUrl,
4527
+ sn as activitySnippet,
4528
+ an as activityTextParams,
4529
+ Qi as activityTimelineText,
4530
+ dn as activityTimestamp,
4531
+ I as activityTypeInfo,
4532
+ Ra as actorKey,
4533
+ vc as addExampleCandidate,
4534
+ ke as addWorkingMs,
4535
+ jl as agePresenceEntry,
4536
+ No as aiAttachmentKind,
4537
+ rl as aiAttachmentRejection,
4538
+ Ke as aiBudgetLimit,
4539
+ fs as aiBudgetPeriodKey,
4540
+ fn as aiBudgetPeriodStart,
4541
+ ds as aiBudgetState,
4542
+ us as aiVendorAcceptsAttachment,
4543
+ as as aiVendorDefaultModel,
4544
+ ss as aiVendorLabel,
4545
+ ls as aiVendorNeedsBaseUrl,
4546
+ cs as aiVendorsWith,
4547
+ qt as appNameFromPath,
4548
+ Sc as applyRounding,
4549
+ $s as applySignature,
4550
+ Gr as approvalRate,
4551
+ Ss as artifactBodyBytes,
4552
+ Ts as artifactOutline,
4553
+ On as artifactToMarkdown,
4554
+ Pa as assignmentMismatch,
4555
+ Os as assignmentScopeKey,
4556
+ Ns as assignmentSubject,
4557
+ Ea as availabilityByPerson,
4558
+ ya as belongsOnCalendar,
4559
+ ts as buildActivityPreview,
4560
+ ml as buildChannelIntents,
4561
+ ws as buildShareKeys,
4562
+ li as buildWindow,
4563
+ dr as calendarDaysBetween,
4564
+ ve as calendarOf,
4565
+ na as canNestUnder,
4566
+ lc as canParent,
4567
+ ba as capacityTotal,
4568
+ Oa as capacityWeights,
4569
+ Yi as carriesText,
4570
+ oa as categoryLabel,
4571
+ ko as categoryOf,
4572
+ bl as channelKindForScheme,
4573
+ Gi as channelKindOf,
4574
+ Ac as checkInOverdueMs,
4575
+ Ba as clampStepMaxTokens,
4576
+ Ws as classifyMail,
4577
+ Au as cleanMessageMarkdown,
4578
+ bu as cleanMessageText,
4579
+ ll as compareAssistRank,
4580
+ ho as compareWorkTypes,
4581
+ Pn as conditionHolds,
4582
+ j as countsAsPlanned,
4583
+ Aa as coverageByPerson,
4584
+ Ta as coverageFor,
4585
+ Nt as coversWorkstream,
4586
+ Rt as cycleDayIndex,
4587
+ Qc as cycleOrder,
4588
+ el as cycleState,
4589
+ Rs as decideAssignmentState,
4590
+ cu as decideCadence,
4591
+ fl as decideIncomingCall,
4592
+ sr as defaultLocaleOf,
4593
+ Yc as defaultStatusKey,
4594
+ Sl as defineIntent,
4595
+ rr as depthOf,
4596
+ Hl as derivePresence,
4597
+ ys as describeClause,
4598
+ pl as disabledIntentsFromCapabilities,
4599
+ Ss as documentBodyBytes,
4600
+ Ll as documentKindOf,
4601
+ Ts as documentOutline,
4602
+ On as documentToMarkdown,
4603
+ Nl as documentToText,
4604
+ rc as dueAtOf,
4605
+ _c as elapsedSeconds,
4606
+ pu as emailDomain,
4607
+ gu as endpointKey,
4608
+ hr as erlangC,
4609
+ Yo as extractParams,
4610
+ ai as extractTerms,
4611
+ Ks as fillDocument,
4612
+ Ln as fillText,
4613
+ gl as filterByEndpoint,
4614
+ hl as filterByIntent,
4615
+ Uo as filterByTargetScheme,
4616
+ gs as filterableDimensions,
4617
+ Q as findAiVendor,
4618
+ dc as fixedLevelForName,
4619
+ Kc as fixedTypeForName,
4620
+ Fc as fixedTypes,
4621
+ Ul as flattenLocales,
4622
+ H as floorToPeriod,
4623
+ Ma as forecastIntervals,
4624
+ $r as formatActingIdentity,
4625
+ wc as formatClock,
4626
+ Tc as formatHm,
4627
+ jc as formatItemKey,
4628
+ B as formatPeriod,
4629
+ sc as formatSlaDuration,
4630
+ il as freshSources,
4631
+ rs as getActivitySeenUserIds,
4632
+ Ls as getContactEndpoints,
4633
+ Js as getShortTitle,
4634
+ qs as getUrgencyScore,
4635
+ Ja as hasReacted,
4636
+ fc as healthCategory,
4637
+ pc as healthsInCategory,
4638
+ xt as heightOf,
4639
+ Qs as helpCenterText,
4640
+ Ua as humanizeAction,
4641
+ Hr as interactionIdOf,
4642
+ xc as isAgentUser,
4643
+ Xs as isAssigned,
4644
+ vs as isAssignmentTerminal,
4645
+ Kr as isAssignmentTrigger,
4646
+ Ga as isAutoReady,
4647
+ nr as isAwaitingThem,
4648
+ is as isChatMessageActivity,
4649
+ Ys as isClosed,
4650
+ Ji as isConnectedType,
4651
+ Ql as isDeepLink,
4652
+ or as isDescendant,
4653
+ Fs as isEligible,
4654
+ os as isEmailActivity,
4655
+ yu as isHtmlBody,
4656
+ za as isInFlight,
4657
+ zn as isInteractionUnseen,
4658
+ eu as isLandingPath,
4659
+ Bn as isLikelyBulk,
4660
+ bt as isMessageShape,
4661
+ Vi as isMessageType,
4662
+ Jo as isMoreSpecificPattern,
4663
+ At as isNoteShape,
4664
+ io as isOpenClock,
4665
+ ol as isOutwardTool,
4666
+ Qn as isParked,
4667
+ Yr as isPaused,
4668
+ qi as isPlaybookAuthoredType,
4669
+ mu as isPublicEmailDomain,
4670
+ nu as isPublicPath,
4671
+ er as isReminderActive,
4672
+ Xi as isReplyableType,
4673
+ Vs as isSlaAtRisk,
4674
+ Va as isTerminal,
4675
+ Hs as isThreadLongEnough,
4676
+ Zi as isTranscriptType,
4677
+ qc as isWorkClosed,
4678
+ Mc as isWorkTypeVisible,
4679
+ Vc as itemDossierKeys,
4680
+ N as kindFor,
4681
+ Mo as ladderFor,
4682
+ lo as levelIn,
4453
4683
  Se as levelOrder,
4454
- Fs as linkLabel,
4455
- rs as listeningAllowed,
4456
- js as localeInstruction,
4457
- Hs as localeName,
4458
- Gs as localesOf,
4459
- Jl as looksLikeEmail,
4460
- il as matchContactToIntents,
4461
- Ho as matchPublicRoute,
4462
- zs as mcpCredentialScope,
4463
- Ys as mcpToolPrefix,
4464
- nc as measureRatio,
4465
- Xl as mergeShownKeys,
4466
- en as messageCountsAs,
4467
- cs as metricOption,
4468
- Ct as minutesOn,
4469
- tu as needsPhoneRegion,
4470
- Pi as nestsUnderParent,
4471
- Za as nextLevelBelow,
4472
- Va as nextSlaClock,
4473
- ds as normalizeArtifactBlocks,
4474
- Ri as normalizeBlocks,
4475
- ds as normalizeDocumentBlocks,
4476
- Xt as normalizeEmail,
4477
- $ as normalizeExample,
4478
- Ml as notificationPrefKey,
4479
- Zo as novelty,
4480
- bl as operationDescriptor,
4481
- yl as operationsForKind,
4482
- ie as overlapSeconds,
4483
- ua as overlaps,
4484
- rc as paceRatio,
4485
- Os as parkMarksById,
4486
- Aa as parseActingIdentity,
4487
- Fa as parseClockMinutes,
4488
- xc as parseItemKey,
4489
- Uo as pathToRegex,
4490
- xt as patternFor,
4491
- Nt as patternStartTime,
4492
- Ba as pauseBitFor,
4493
- is as periodsInRange,
4494
- Zl as phoneSuffix,
4495
- Ns as pickMailHeaders,
4496
- ba as placeLumps,
4497
- Zt as plainTextFromMarkdown,
4498
- Wa as planSlaEvent,
4499
- fa as plannedBillable,
4500
- mr as plannedWorkTypeKey,
4501
- Or as playbookActor,
4502
- xa as procedureOf,
4503
- $c as projectDossierKeys,
4504
- Fo as publicBasePathFor,
4505
- Bl as publicRoutePatterns,
4506
- _s as reactionWakesAssignment,
4507
- ue as readPath,
4508
- qe as readStepError,
4509
- jn as recencyOf,
4510
- Nr as refKey,
4511
- ai as registrableDomain,
4512
- lo as rejectExampleCandidate,
4513
- ta as relatedByDefault,
4514
- Ee as remainingMsOf,
4515
- lr as requiredAgents,
4516
- pr as requirementFor,
4517
- ko as resolveAccountCapabilities,
4518
- de as resolveActivityText,
4519
- Mo as resolveChannelIntents,
4520
- vn as resolveSignature,
4521
- Cl as resolveWorkMode,
4522
- Ll as resourceKindOf,
4523
- sc as rollupChildren,
4524
- Ea as runActor,
4525
- Pa as runInteractionId,
4526
- Sn as sanitizeInline,
4527
- Wo as sanitizeTranscript,
4528
- ha as scheduleEntryScopeKey,
4529
- $s as scoreInteraction,
4530
- Tc as scoreWorkItem,
4531
- Xs as selectLenses,
4532
- ar as serviceLevel,
4533
- Qc as sessionsHoldCannotReach,
4534
- Zc as sessionsToHold,
4535
- St as shareKeyForTeam,
4536
- Et as shareKeyForUser,
4537
- gs as shareKeysForViewer,
4538
- pa as shortfalls,
4539
- Nl as shouldRunAudioPipeline,
4540
- Xa as slaBadgeTone,
4541
- Rs as slaHoursByInbox,
4542
- Vn as slaHoursFor,
4543
- Ao as sortStatuses,
4544
- wo as sourceKey,
4545
- wr as spreadOverWeights,
4546
- Lc as statusIn,
4547
- Na as stepsOf,
4548
- qa as strategyAncestorKeysFor,
4549
- Ya as strategyDossierKeys,
4550
- Kt as strategyItemScopeKey,
4551
- Qt as stripHtml,
4552
- La as subjectKeyOf,
4553
- Rt as subjectOf,
4554
- qc as subjectRef,
4555
- Rc as suggestProjectKey,
4556
- oc as suggestedHealth,
4557
- Ua as summarizeReactions,
4558
- Ia as targetById,
4559
- Ta as targetForActivityType,
4560
- cc as targetOrder,
4561
- rr as termsFor,
4562
- vr as toActingIdentity,
4563
- ct as toE164,
4564
- ys as toolSourceKinds,
4565
- uo as topicOfferedForTeam,
4566
- bc as topicsForTeam,
4567
- cr as trafficIntensity,
4568
- co as truncateExample,
4569
- Mc as typeIn,
4570
- wc as typesFor,
4571
- Kc as uniqueWorkStatusKey,
4572
- pc as uniqueWorkTypeKey,
4573
- mn as usageMetricId,
4574
- ls as usageMetrics,
4575
- Fc as validateStatuses,
4576
- _a as valueAtPath,
4684
+ Zs as linkLabel,
4685
+ ps as listeningAllowed,
4686
+ ta as localeInstruction,
4687
+ ea as localeName,
4688
+ ra as localesOf,
4689
+ du as looksLikeEmail,
4690
+ It as lookup,
4691
+ xl as markdownToDocument,
4692
+ yl as matchContactToIntents,
4693
+ Zo as matchPublicRoute,
4694
+ sa as mcpCredentialScope,
4695
+ aa as mcpToolPrefix,
4696
+ mc as measureRatio,
4697
+ au as mergeShownKeys,
4698
+ on as messageCountsAs,
4699
+ bs as metricOption,
4700
+ Dt as minutesOn,
4701
+ hu as needsPhoneRegion,
4702
+ zi as nestsUnderParent,
4703
+ uc as nextLevelBelow,
4704
+ oc as nextSlaClock,
4705
+ _s as normalizeArtifactBlocks,
4706
+ ji as normalizeBlocks,
4707
+ _s as normalizeDocumentBlocks,
4708
+ Jt as normalizeEmail,
4709
+ L as normalizeExample,
4710
+ Fl as notificationPrefKey,
4711
+ ci as novelty,
4712
+ Cl as operationDescriptor,
4713
+ Ol as operationsForKind,
4714
+ se as overlapSeconds,
4715
+ Sa as overlaps,
4716
+ hc as paceRatio,
4717
+ Bs as parkMarksById,
4718
+ xa as parseActingIdentity,
4719
+ Za as parseClockMinutes,
4720
+ Wc as parseItemKey,
4721
+ Xo as pathToRegex,
4722
+ Lt as patternFor,
4723
+ $t as patternStartTime,
4724
+ Qa as pauseBitFor,
4725
+ hs as periodsInRange,
4726
+ fu as phoneSuffix,
4727
+ js as pickMailHeaders,
4728
+ Us as pickTemplate,
4729
+ Ca as placeLumps,
4730
+ nn as plainTextFromMarkdown,
4731
+ nc as planSlaEvent,
4732
+ wa as plannedBillable,
4733
+ Tr as plannedWorkTypeKey,
4734
+ Ur as playbookActor,
4735
+ Wa as procedureOf,
4736
+ zc as projectDossierKeys,
4737
+ qo as publicBasePathFor,
4738
+ tu as publicRoutePatterns,
4739
+ xs as reactionWakesAssignment,
4740
+ de as readPath,
4741
+ Je as readStepError,
4742
+ Zn as recencyOf,
4743
+ Ps as recipientLocale,
4744
+ Fr as refKey,
4745
+ yi as registrableDomain,
4746
+ Ao as rejectExampleCandidate,
4747
+ pa as relatedByDefault,
4748
+ _e as remainingMsOf,
4749
+ br as requiredAgents,
4750
+ Sr as requirementFor,
4751
+ Lo as resolveAccountCapabilities,
4752
+ fe as resolveActivityText,
4753
+ $o as resolveChannelIntents,
4754
+ Rn as resolveSignature,
4755
+ Wl as resolveWorkMode,
4756
+ ql as resourceKindOf,
4757
+ bc as rollupChildren,
4758
+ Na as runActor,
4759
+ Ya as runInteractionId,
4760
+ In as sanitizeInline,
4761
+ ei as sanitizeTranscript,
4762
+ ka as scheduleEntryScopeKey,
4763
+ zs as scoreInteraction,
4764
+ $c as scoreWorkItem,
4765
+ ia as selectLenses,
4766
+ gr as serviceLevel,
4767
+ dl as sessionsHoldCannotReach,
4768
+ ul as sessionsToHold,
4769
+ wt as shareKeyForTeam,
4770
+ Tt as shareKeyForUser,
4771
+ Is as shareKeysForViewer,
4772
+ Ia as shortfalls,
4773
+ Gl as shouldRunAudioPipeline,
4774
+ ic as slaBadgeTone,
4775
+ Gs as slaHoursByInbox,
4776
+ tr as slaHoursFor,
4777
+ vo as sortStatuses,
4778
+ Do as sourceKey,
4779
+ Dr as spreadOverWeights,
4780
+ Xc as statusIn,
4781
+ ja as stepsOf,
4782
+ cc as strategyAncestorKeysFor,
4783
+ ac as strategyDossierKeys,
4784
+ jt as strategyItemScopeKey,
4785
+ rn as stripHtml,
4786
+ Xa as subjectKeyOf,
4787
+ Pt as subjectOf,
4788
+ cl as subjectRef,
4789
+ Gc as suggestProjectKey,
4790
+ gc as suggestedHealth,
4791
+ qa as summarizeReactions,
4792
+ La as targetById,
4793
+ $a as targetForActivityType,
4794
+ Ec as targetOrder,
4795
+ fr as termsFor,
4796
+ Pr as toActingIdentity,
4797
+ dt as toE164,
4798
+ Ms as toolSourceKinds,
4799
+ Eo as topicOfferedForTeam,
4800
+ Cc as topicsForTeam,
4801
+ yr as trafficIntensity,
4802
+ bo as truncateExample,
4803
+ Uc as typeIn,
4804
+ Pc as typesFor,
4805
+ Jc as uniqueWorkStatusKey,
4806
+ Ic as uniqueWorkTypeKey,
4807
+ bn as usageMetricId,
4808
+ As as usageMetrics,
4809
+ Zc as validateStatuses,
4810
+ Da as valueAtPath,
4577
4811
  Ie as waitHoursOf,
4578
- Ss as wakesAssignment,
4579
- Cc as workActivityScopeKey,
4580
- go as workItemScopeKey,
4581
- Ft as workProjectScopeKey,
4582
- ic as workRatio,
4583
- Eo as workStatusKey,
4584
- oo as workTypeKey,
4585
- ye as workingMsBetween,
4586
- ga as workstreamScopeKey
4812
+ Cs as wakesAssignment,
4813
+ Hc as workActivityScopeKey,
4814
+ Io as workItemScopeKey,
4815
+ Wt as workProjectScopeKey,
4816
+ yc as workRatio,
4817
+ Oo as workStatusKey,
4818
+ mo as workTypeKey,
4819
+ be as workingMsBetween,
4820
+ va as workstreamScopeKey
4587
4821
  };