@opencxh/domain 1.233.1 → 1.234.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 Ii = 10, Mi = 10, ki = 10, vi = 5, Wt = /* @__PURE__ */ new Set([
1
+ const wi = 10, Mi = 10, ki = 10, vi = 5, Wt = /* @__PURE__ */ new Set([
2
2
  "header",
3
3
  "section",
4
4
  "context",
@@ -8,7 +8,7 @@ const Ii = 10, Mi = 10, ki = 10, vi = 5, Wt = /* @__PURE__ */ new Set([
8
8
  "actions",
9
9
  "attachments"
10
10
  ]);
11
- function te(e) {
11
+ function Q(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;
@@ -31,13 +31,13 @@ function Oi(e, t = () => {
31
31
  }
32
32
  switch (o.type) {
33
33
  case "header":
34
- if (!te(o.text)) {
34
+ if (!Q(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 (!Q(o.text)) {
41
41
  t("a context block without text");
42
42
  continue;
43
43
  }
@@ -59,7 +59,7 @@ function Oi(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 && Q(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;
@@ -82,31 +82,31 @@ function Yt(e) {
82
82
  function Xt(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 j(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 ke(e) {
90
+ function ve(e) {
91
91
  return e ? ` — ${Math.floor(e / 60)}m ${e % 60}s` : "";
92
92
  }
93
- function ne(e) {
93
+ function ee(e) {
94
94
  return e?.split("@")?.[0] || e || "";
95
95
  }
96
- function W(e) {
96
+ function G(e) {
97
97
  return e.map((t) => t.name).join(", ");
98
98
  }
99
- function ve(e) {
99
+ function Oe(e) {
100
100
  return e === "meeting" ? "Meeting" : e === "video" ? "Video call" : "Audio call";
101
101
  }
102
- const N = {
102
+ const x = {
103
103
  /* ---- voice ---- */
104
104
  VOICE_CALL_STARTED: {
105
105
  shape: "event",
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 — ${ee(e.payload.from)}` : `Outbound call started — ${ee(e.payload.to)}`
110
110
  },
111
111
  VOICE_CALL_ANSWERED: {
112
112
  shape: "event",
@@ -133,15 +133,15 @@ const N = {
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${ke(e.payload.duration)}`
136
+ snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${j(e.payload.duration)})` : ""}`,
137
+ timeline: (e) => `Call ended${ve(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 — ${ee(e.payload.from)}`
145
145
  },
146
146
  VOICE_CALL_FAILED: {
147
147
  shape: "event",
@@ -188,7 +188,7 @@ const N = {
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 ? ` (${j(e.payload.duration)})` : ""}`,
192
192
  timeline: () => "Video call ended"
193
193
  },
194
194
  VIDEO_CALL_MISSED: {
@@ -216,7 +216,7 @@ const N = {
216
216
  replyable: !0,
217
217
  carriesText: !0,
218
218
  countsAs: "inbound_message",
219
- snippet: Oe
219
+ snippet: Ce
220
220
  },
221
221
  EMAIL_SENT: {
222
222
  shape: "message",
@@ -226,7 +226,7 @@ const N = {
226
226
  replyable: !0,
227
227
  carriesText: !0,
228
228
  countsAs: "outbound_message",
229
- snippet: Oe
229
+ snippet: Ce
230
230
  },
231
231
  /* ---- chat ---- */
232
232
  CHAT_MESSAGE_SENT: {
@@ -255,9 +255,9 @@ const N = {
255
255
  shape: "event",
256
256
  channelKind: "chat",
257
257
  icon: "message-circle",
258
- snippet: (e) => `${W(e.payload.members)} toegevoegd`,
258
+ snippet: (e) => `${G(e.payload.members)} toegevoegd`,
259
259
  timeline: (e) => {
260
- const t = W(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · added by ${e.payload.initiator.name}` : "";
260
+ const t = G(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 N = {
265
265
  shape: "event",
266
266
  channelKind: "chat",
267
267
  icon: "message-circle",
268
- snippet: (e) => `${W(e.payload.members)} verlaten`,
268
+ snippet: (e) => `${G(e.payload.members)} verlaten`,
269
269
  timeline: (e) => {
270
- const t = W(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · removed by ${e.payload.initiator.name}` : "";
270
+ const t = G(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 N = {
283
283
  channelKind: "chat",
284
284
  icon: "message-circle",
285
285
  snippet: () => "Gesprek gestart",
286
- timeline: (e) => `${ve(e.payload.callType)} started${e.payload.initiator ? ` by ${e.payload.initiator.name}` : ""}`,
286
+ timeline: (e) => `${Oe(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) => `${ve(e.payload.callType)} ended${ke(e.payload.duration)}`,
293
+ snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${j(e.payload.duration)})` : ""}`,
294
+ timeline: (e) => `${Oe(e.payload.callType)} ended${ve(e.payload.duration)}`,
295
295
  joinUrl: (e) => e.payload.joinUrl
296
296
  },
297
297
  CHAT_EVENT: {
@@ -380,7 +380,7 @@ const N = {
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 ? ` (${j(e.payload.duration)})` : ""}`,
384
384
  timeline: () => "Meeting ended"
385
385
  },
386
386
  MEETING_PARTICIPANT_JOINED: {
@@ -460,63 +460,63 @@ const N = {
460
460
  timeline: (e, t) => `Status changed by ${t}`
461
461
  }
462
462
  };
463
- function Oe(e) {
463
+ function Ce(e) {
464
464
  const t = e.payload, n = Yt(t.bodyText).trim() || t.bodySnippet?.trim() || Xt(t.body ?? "");
465
465
  return t.subject ? `${t.subject} — ${n}` : n;
466
466
  }
467
- function M(e) {
468
- return N[e];
467
+ function T(e) {
468
+ return x[e];
469
469
  }
470
470
  function Ci(e) {
471
- return M(e)?.icon ?? "circle";
471
+ return T(e)?.icon ?? "circle";
472
472
  }
473
473
  function Ni(e) {
474
- return M(e)?.channelKind;
474
+ return T(e)?.channelKind;
475
475
  }
476
476
  function dt(e) {
477
477
  return e === "message" || e === "note";
478
478
  }
479
479
  function xi(e) {
480
- return dt(M(e)?.shape);
480
+ return dt(T(e)?.shape);
481
481
  }
482
482
  function ft(e) {
483
483
  return e === "note";
484
484
  }
485
485
  function Ri(e) {
486
- return ft(M(e)?.shape);
486
+ return ft(T(e)?.shape);
487
487
  }
488
488
  function Di(e) {
489
- return M(e)?.replyable === !0;
489
+ return T(e)?.replyable === !0;
490
490
  }
491
491
  function $i(e) {
492
- return M(e)?.carriesText === !0;
492
+ return T(e)?.carriesText === !0;
493
493
  }
494
494
  function qt(e) {
495
- return M(e)?.countsAs;
495
+ return T(e)?.countsAs;
496
496
  }
497
497
  function Li(e) {
498
- return M(e)?.playbookAuthored === !0;
498
+ return T(e)?.playbookAuthored === !0;
499
499
  }
500
500
  function Pi(e) {
501
- return M(e)?.connected === !0;
501
+ return T(e)?.connected === !0;
502
502
  }
503
503
  function Ui(e) {
504
- const t = M(e);
504
+ const t = T(e);
505
505
  return t?.shape === "artifact" && t?.carriesText === !0;
506
506
  }
507
507
  function Jt(e) {
508
- const t = M(e.type)?.snippet;
508
+ const t = T(e.type)?.snippet;
509
509
  return t ? t(e) : "";
510
510
  }
511
511
  function Ki(e, t) {
512
- const n = M(e.type)?.timeline;
512
+ const n = T(e.type)?.timeline;
513
513
  return n ? n(e, t) : e.type.replace(/_/g, " ").toLowerCase();
514
514
  }
515
515
  function Fi(e) {
516
- const t = M(e.type)?.joinUrl;
516
+ const t = T(e.type)?.joinUrl;
517
517
  return t ? t(e) : void 0;
518
518
  }
519
- function le(e, t) {
519
+ function ce(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,14 +524,14 @@ function le(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 ue(e, t, n) {
527
+ function le(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 le(t, e.value) || null;
531
+ return ce(t, e.value) || null;
532
532
  const r = {};
533
533
  for (const [i, s] of Object.entries(e.params ?? {}))
534
- r[i] = le(t, s);
534
+ r[i] = ce(t, s);
535
535
  const o = n(e.key, r);
536
536
  return o === e.key ? null : o;
537
537
  }
@@ -539,16 +539,16 @@ function Zt(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] = le(t, o);
542
+ n[r] = ce(t, o);
543
543
  return { key: e.key, params: n };
544
544
  }
545
- const Ce = 140;
545
+ const Ne = 140;
546
546
  function Qt(e) {
547
547
  const t = e.trim();
548
- return t.length <= Ce ? t : `${t.slice(0, Ce - 1).trimEnd()}…`;
548
+ return t.length <= Ne ? t : `${t.slice(0, Ne - 1).trimEnd()}…`;
549
549
  }
550
550
  function Bi(e, t) {
551
- const n = Zt(t?.text, e), r = t ? ue(t.text, e, (o) => o) : null;
551
+ const n = Zt(t?.text, e), r = t ? le(t.text, e, (o) => o) : null;
552
552
  return {
553
553
  activityId: e.id,
554
554
  type: e.type,
@@ -560,8 +560,8 @@ function Bi(e, t) {
560
560
  };
561
561
  }
562
562
  const en = (e) => e;
563
- function Ne(e) {
564
- const t = N[e];
563
+ function xe(e) {
564
+ const t = x[e];
565
565
  return {
566
566
  type: e,
567
567
  shape: t.shape,
@@ -576,7 +576,7 @@ function Ne(e) {
576
576
  displayNameKey: t.displayNameKey
577
577
  };
578
578
  }
579
- function xe(e) {
579
+ function Re(e) {
580
580
  return {
581
581
  type: e.type,
582
582
  shape: e.shape,
@@ -595,17 +595,17 @@ class tn {
595
595
  constructor(t = [], n = en) {
596
596
  this.translate = n;
597
597
  for (const r of t)
598
- r?.type && (r.type in N || this.declared.has(r.type) || this.declared.set(r.type, r));
598
+ r?.type && (r.type in x || 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 N) return Ne(t);
602
+ if (t in x) return xe(t);
603
603
  const n = this.declared.get(t);
604
- return n ? xe(n) : void 0;
604
+ return n ? Re(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(N).filter((r) => N[r].triggerable).map(Ne), n = [...this.declared.values()].map(xe).filter((r) => r.triggerable);
608
+ const t = Object.keys(x).filter((r) => x[r].triggerable).map(xe), n = [...this.declared.values()].map(Re).filter((r) => r.triggerable);
609
609
  return [...t, ...n];
610
610
  }
611
611
  /**
@@ -614,17 +614,17 @@ class tn {
614
614
  * the feed always showed for unknown types.
615
615
  */
616
616
  timelineText(t, n) {
617
- const r = N[t.type];
617
+ const r = x[t.type];
618
618
  if (r?.timeline) return r.timeline(t, n);
619
619
  const o = this.declared.get(t.type);
620
- return ue(o?.text, t, this.translate) ?? t.type.replace(/_/g, " ").toLowerCase();
620
+ return le(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
- const n = N[t.type];
624
+ const n = x[t.type];
625
625
  if (n?.snippet) return n.snippet(t);
626
626
  const r = this.declared.get(t.type);
627
- return ue(r?.text, t, this.translate) ?? "";
627
+ return le(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) {
@@ -787,31 +787,31 @@ const pt = [
787
787
  defaultModel: "default"
788
788
  }
789
789
  ];
790
- function Z(e) {
790
+ function q(e) {
791
791
  return pt.find((t) => t.id === e);
792
792
  }
793
793
  function Vi(e) {
794
- return Z(e)?.label ?? e;
794
+ return q(e)?.label ?? e;
795
795
  }
796
796
  function zi(e, t = "gpt-5-mini") {
797
- return Z(e)?.defaultModel ?? t;
797
+ return q(e)?.defaultModel ?? t;
798
798
  }
799
799
  function Yi(e) {
800
800
  return pt.filter((t) => t.capabilities.includes(e));
801
801
  }
802
802
  function Xi(e) {
803
- const t = Z(e);
803
+ const t = q(e);
804
804
  return !!t && !t.baseUrl;
805
805
  }
806
806
  function qi(e, t) {
807
- return t === "text" ? !0 : Z(e)?.attachmentKinds?.includes(t) === !0;
807
+ return t === "text" ? !0 : q(e)?.attachmentKinds?.includes(t) === !0;
808
808
  }
809
809
  function Ji(e, t) {
810
810
  if (!e.enabled) return "ok";
811
- const n = Re(e.hardLimitNanos), r = Re(e.softLimitNanos);
811
+ const n = De(e.hardLimitNanos), r = De(e.softLimitNanos);
812
812
  return n !== void 0 && t >= n ? "hard" : r !== void 0 && t >= r ? "soft" : "ok";
813
813
  }
814
- function Re(e) {
814
+ function De(e) {
815
815
  return typeof e == "number" ? e : void 0;
816
816
  }
817
817
  function rn(e, t = "month") {
@@ -835,22 +835,22 @@ const es = [
835
835
  { id: "handledBy", label: "Afhandelaar", labelSource: "raw" },
836
836
  { id: "time", label: "Tijd", labelSource: "raw" }
837
837
  ];
838
- function re(e) {
838
+ function te(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())}`;
841
+ function K(e, t) {
842
+ const n = new Date(e), r = `${n.getUTCFullYear()}-${te(n.getUTCMonth() + 1)}-${te(n.getUTCDate())}`;
843
+ return t === "day" ? r : `${r}T${te(n.getUTCHours())}`;
844
844
  }
845
- function B(e, t) {
845
+ function F(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
849
  const on = 36e5, sn = 864e5;
850
850
  function ts(e, t, n) {
851
851
  const r = n === "hour" ? on : sn, o = [];
852
- for (let i = B(e, n); i <= t; i += r)
853
- o.push(F(i, n));
852
+ for (let i = F(e, n); i <= t; i += r)
853
+ o.push(K(i, n));
854
854
  return o;
855
855
  }
856
856
  const an = /* @__PURE__ */ new Set(["time"]);
@@ -892,7 +892,7 @@ function is(e, t) {
892
892
  ]
893
893
  }));
894
894
  }
895
- const mt = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), De = 200, $e = 100, Le = 200, Pe = 12, Ue = 4, gt = 4e3, oe = 500, ss = 256 * 1024, dn = /* @__PURE__ */ new Set([
895
+ const mt = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), $e = 200, Le = 100, Pe = 200, Ue = 12, Ke = 4, ht = 4e3, ne = 500, ss = 256 * 1024, dn = /* @__PURE__ */ new Set([
896
896
  "heading",
897
897
  "paragraph",
898
898
  "list",
@@ -903,14 +903,14 @@ const mt = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]
903
903
  "kpi",
904
904
  "callout"
905
905
  ]), fn = ["http:", "https:", "mailto:", "tel:"], pn = /^[a-z][a-z0-9+.-]*:/i;
906
- function ht(e) {
906
+ function gt(e) {
907
907
  const t = e.trim().replace(/^<|>$/g, "");
908
908
  if (!t) return !1;
909
909
  const n = pn.exec(t)?.[0];
910
910
  return n ? fn.includes(n.toLowerCase()) : !t.startsWith("//");
911
911
  }
912
912
  const mn = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
913
- function gn(e) {
913
+ function hn(e) {
914
914
  let t = "", n = 0;
915
915
  for (; n < e.length; ) {
916
916
  const r = e[n] === "!" && e[n + 1] === "[";
@@ -918,22 +918,22 @@ function gn(e) {
918
918
  t += e[n], n += 1;
919
919
  continue;
920
920
  }
921
- const o = n + (r ? 2 : 1), i = Ke(e, o, "[", "]");
921
+ const o = n + (r ? 2 : 1), i = Fe(e, o, "[", "]");
922
922
  if (i < 0 || e[i + 1] !== "(") {
923
923
  t += e[n], n += 1;
924
924
  continue;
925
925
  }
926
- const s = Ke(e, i + 2, "(", ")");
926
+ const s = Fe(e, i + 2, "(", ")");
927
927
  if (s < 0) {
928
928
  t += e[n], n += 1;
929
929
  continue;
930
930
  }
931
931
  const a = e.slice(o, i), l = e.slice(i + 2, s).trim().split(/\s+/)[0] ?? "";
932
- t += r || !ht(l) ? a : e.slice(n, s + 1), n = s + 1;
932
+ t += r || !gt(l) ? a : e.slice(n, s + 1), n = s + 1;
933
933
  }
934
934
  return t;
935
935
  }
936
- function Ke(e, t, n, r) {
936
+ function Fe(e, t, n, r) {
937
937
  let o = 1;
938
938
  for (let i = t; i < e.length; i += 1) {
939
939
  if (e[i] === "\\") {
@@ -946,16 +946,16 @@ function Ke(e, t, n, r) {
946
946
  }
947
947
  return -1;
948
948
  }
949
- function hn(e) {
950
- return gn(e).replace(
949
+ function gn(e) {
950
+ return hn(e).replace(
951
951
  mn,
952
- (t, n, r) => ht(r) ? t : ""
952
+ (t, n, r) => gt(r) ? t : ""
953
953
  );
954
954
  }
955
- function v(e, t = gt) {
956
- return typeof e == "string" ? hn(e).slice(0, t) : "";
955
+ function M(e, t = ht) {
956
+ return typeof e == "string" ? gn(e).slice(0, t) : "";
957
957
  }
958
- function yn(e, t = gt) {
958
+ function yn(e, t = ht) {
959
959
  return typeof e == "string" ? e.slice(0, t) : "";
960
960
  }
961
961
  function bn(e, t = "info") {
@@ -966,8 +966,8 @@ function as(e, t = () => {
966
966
  if (!Array.isArray(e)) return [];
967
967
  const n = [];
968
968
  for (const r of e) {
969
- if (n.length >= De) {
970
- t(`more than ${De} blocks; the rest was dropped`);
969
+ if (n.length >= $e) {
970
+ t(`more than ${$e} blocks; the rest was dropped`);
971
971
  break;
972
972
  }
973
973
  if (!r || typeof r != "object") continue;
@@ -979,7 +979,7 @@ function as(e, t = () => {
979
979
  const i = typeof o.block_id == "string" ? { block_id: o.block_id } : {};
980
980
  switch (o.type) {
981
981
  case "heading": {
982
- const s = v(o.text);
982
+ const s = M(o.text);
983
983
  if (!s) {
984
984
  t("a heading without text");
985
985
  continue;
@@ -989,7 +989,7 @@ function as(e, t = () => {
989
989
  break;
990
990
  }
991
991
  case "paragraph": {
992
- const s = v(o.text);
992
+ const s = M(o.text);
993
993
  if (!s) {
994
994
  t("a paragraph without text");
995
995
  continue;
@@ -998,7 +998,7 @@ function as(e, t = () => {
998
998
  break;
999
999
  }
1000
1000
  case "quote": {
1001
- const s = v(o.text);
1001
+ const s = M(o.text);
1002
1002
  if (!s) {
1003
1003
  t("a quote without text");
1004
1004
  continue;
@@ -1022,13 +1022,13 @@ function as(e, t = () => {
1022
1022
  case "list": {
1023
1023
  const s = Array.isArray(o.items) ? o.items : [], a = [];
1024
1024
  for (const d of s) {
1025
- if (a.length >= $e) {
1026
- t(`more than ${$e} list items`);
1025
+ if (a.length >= Le) {
1026
+ t(`more than ${Le} list items`);
1027
1027
  break;
1028
1028
  }
1029
- const p = v(d?.text);
1029
+ const p = M(d?.text);
1030
1030
  if (!p) continue;
1031
- const c = v(d?.lead, 200);
1031
+ const c = M(d?.lead, 200);
1032
1032
  a.push(c ? { lead: c, text: p } : { text: p });
1033
1033
  }
1034
1034
  if (a.length === 0) {
@@ -1042,12 +1042,12 @@ function as(e, t = () => {
1042
1042
  case "table": {
1043
1043
  const s = Array.isArray(o.columns) ? o.columns : [], a = [];
1044
1044
  for (const c of s) {
1045
- if (a.length >= Pe) {
1046
- t(`more than ${Pe} table columns`);
1045
+ if (a.length >= Ue) {
1046
+ t(`more than ${Ue} table columns`);
1047
1047
  break;
1048
1048
  }
1049
- const h = v(c?.label, oe), A = c?.align === "right" ? "right" : void 0;
1050
- a.push(A ? { label: h, align: A } : { label: h });
1049
+ const g = M(c?.label, ne), y = c?.align === "right" ? "right" : void 0;
1050
+ a.push(y ? { label: g, align: y } : { label: g });
1051
1051
  }
1052
1052
  if (a.length === 0) {
1053
1053
  t("a table without columns");
@@ -1055,14 +1055,14 @@ function as(e, t = () => {
1055
1055
  }
1056
1056
  const l = Array.isArray(o.rows) ? o.rows : [], d = [];
1057
1057
  for (const c of l) {
1058
- if (d.length >= Le) {
1059
- t(`more than ${Le} table rows`);
1058
+ if (d.length >= Pe) {
1059
+ t(`more than ${Pe} table rows`);
1060
1060
  break;
1061
1061
  }
1062
- const h = Array.isArray(c) ? c : [];
1063
- d.push(a.map((A, E) => v(h[E], oe)));
1062
+ const g = Array.isArray(c) ? c : [];
1063
+ d.push(a.map((y, _) => M(g[_], ne)));
1064
1064
  }
1065
- const p = v(o.caption, oe);
1065
+ const p = M(o.caption, ne);
1066
1066
  n.push({
1067
1067
  ...i,
1068
1068
  type: "table",
@@ -1075,11 +1075,11 @@ function as(e, t = () => {
1075
1075
  case "kpi": {
1076
1076
  const s = Array.isArray(o.items) ? o.items : [], a = [];
1077
1077
  for (const l of s) {
1078
- if (a.length >= Ue) {
1079
- t(`more than ${Ue} kpi items`);
1078
+ if (a.length >= Ke) {
1079
+ t(`more than ${Ke} kpi items`);
1080
1080
  break;
1081
1081
  }
1082
- const d = v(l?.value, 40), p = v(l?.label, 80);
1082
+ const d = M(l?.value, 40), p = M(l?.label, 80);
1083
1083
  if (!d || !p) continue;
1084
1084
  const c = l?.tone;
1085
1085
  a.push(
@@ -1094,12 +1094,12 @@ function as(e, t = () => {
1094
1094
  break;
1095
1095
  }
1096
1096
  case "callout": {
1097
- const s = v(o.text);
1097
+ const s = M(o.text);
1098
1098
  if (!s) {
1099
1099
  t("a callout without text");
1100
1100
  continue;
1101
1101
  }
1102
- const a = v(o.title, 200);
1102
+ const a = M(o.title, 200);
1103
1103
  n.push({
1104
1104
  ...i,
1105
1105
  type: "callout",
@@ -1123,15 +1123,15 @@ function ls(e) {
1123
1123
  headings: e.flatMap((t) => t.type === "heading" ? [t.text] : [])
1124
1124
  };
1125
1125
  }
1126
- function Fe(e) {
1126
+ function Be(e) {
1127
1127
  return e.replace(/\|/g, "\\|").replace(/\r?\n/g, " ").trim();
1128
1128
  }
1129
- function Be(e, t, n) {
1129
+ function He(e, t, n) {
1130
1130
  const r = e.map((o, i) => n?.[i] === "right" ? "---:" : "---");
1131
1131
  return [
1132
- `| ${e.map(Fe).join(" | ")} |`,
1132
+ `| ${e.map(Be).join(" | ")} |`,
1133
1133
  `| ${r.join(" | ")} |`,
1134
- ...t.map((o) => `| ${o.map(Fe).join(" | ")} |`)
1134
+ ...t.map((o) => `| ${o.map(Be).join(" | ")} |`)
1135
1135
  ];
1136
1136
  }
1137
1137
  function An(e) {
@@ -1152,7 +1152,7 @@ function An(e) {
1152
1152
  return t.lead ? `${r} **${t.lead}** ${t.text}` : `${r} ${t.text}`;
1153
1153
  });
1154
1154
  case "table": {
1155
- const t = Be(
1155
+ const t = He(
1156
1156
  e.columns.map((n) => n.label),
1157
1157
  e.rows,
1158
1158
  e.columns.map((n) => n.align ?? "left")
@@ -1160,7 +1160,7 @@ function An(e) {
1160
1160
  return e.caption ? [...t, "", `*${e.caption}*`] : t;
1161
1161
  }
1162
1162
  case "kpi":
1163
- return Be(
1163
+ return He(
1164
1164
  e.items.map((t) => t.value),
1165
1165
  [e.items.map((t) => t.label)]
1166
1166
  );
@@ -1198,11 +1198,11 @@ function ps(e) {
1198
1198
  return [...t];
1199
1199
  }
1200
1200
  const En = ["done", "escalated"], ms = ["open", "waiting"];
1201
- function gs(e) {
1201
+ function hs(e) {
1202
1202
  return En.includes(e);
1203
1203
  }
1204
1204
  const Sn = "assignment";
1205
- function hs(e) {
1205
+ function gs(e) {
1206
1206
  return `${Sn}:${e}`;
1207
1207
  }
1208
1208
  function ys(e, t, n, r) {
@@ -1234,27 +1234,27 @@ function Es(e, t, n = _n) {
1234
1234
  };
1235
1235
  }
1236
1236
  const Ss = /* @__PURE__ */ new Set(["mail", "message"]);
1237
- function Tn(e, t) {
1237
+ function In(e, t) {
1238
1238
  const n = e.settings?.signatures?.[t];
1239
1239
  return !n?.enabled || !n.body || n.body.trim() === "" ? null : n;
1240
1240
  }
1241
1241
  function _s(e, t, n, r = "html") {
1242
1242
  if (!e) return n;
1243
- const o = Tn(e, t);
1243
+ const o = In(e, t);
1244
1244
  return o ? `${n}${r === "text" ? `
1245
1245
 
1246
1246
  ` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${o.body}` : n;
1247
1247
  }
1248
- function Ts(e) {
1248
+ function Is(e) {
1249
1249
  return e.endpoints ?? [];
1250
1250
  }
1251
- const wn = 36e5, In = 864e5, R = -1 / 0, ws = (e) => e.score > R, X = {
1251
+ const Tn = 36e5, wn = 864e5, R = -1 / 0, Ts = (e) => e.score > R, z = {
1252
1252
  urgent: 40,
1253
1253
  high: 25,
1254
1254
  normal: 10,
1255
1255
  low: 0
1256
1256
  };
1257
- function Is(e) {
1257
+ function ws(e) {
1258
1258
  return Object.fromEntries(e.map((t) => [t.resourceId, t]));
1259
1259
  }
1260
1260
  const Mn = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, At = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
@@ -1312,7 +1312,7 @@ function Fn(e, t, n) {
1312
1312
  }
1313
1313
  const Et = (e) => qt(e) === "outbound_message", St = (e) => Dn.includes(e);
1314
1314
  function Ee(e, t) {
1315
- return Math.max(0, (t - Un(e)) / wn);
1315
+ return Math.max(0, (t - Un(e)) / Tn);
1316
1316
  }
1317
1317
  function Bn(e, t) {
1318
1318
  const n = e.assignedInboxId ? t?.[e.assignedInboxId] : void 0;
@@ -1338,7 +1338,7 @@ function Ns(e, t) {
1338
1338
  if (Kn(e, t)) return { score: R, reasons: [] };
1339
1339
  let n = 0;
1340
1340
  const r = [], o = e.priority ?? "normal";
1341
- X[o] > 0 && (n += X[o], r.push(`priority:${o}`)), Rn(e, t.userId) && (n += 20, r.push("unseen")), e.assignedUserId && e.assignedUserId === t.userId && (n += 15, r.push("assigned-to-you"));
1341
+ z[o] > 0 && (n += z[o], r.push(`priority:${o}`)), Rn(e, t.userId) && (n += 20, r.push("unseen")), e.assignedUserId && e.assignedUserId === t.userId && (n += 15, r.push("assigned-to-you"));
1342
1342
  const i = Ee(e, t.now);
1343
1343
  if (i > 0) {
1344
1344
  const l = Math.min(i * 2, 30);
@@ -1361,7 +1361,7 @@ function Ps(e, t, n) {
1361
1361
  const r = e.translations ?? [];
1362
1362
  return r.find((o) => o.locale === t) ?? (n ? r.find((o) => o.locale === n) : void 0) ?? { locale: t };
1363
1363
  }
1364
- const He = [
1364
+ const je = [
1365
1365
  { code: "nl", label: "Nederlands", english: "Dutch" },
1366
1366
  { code: "en", label: "English", english: "English" },
1367
1367
  { code: "de", label: "Deutsch", english: "German" },
@@ -1378,7 +1378,7 @@ const He = [
1378
1378
  ];
1379
1379
  function _t(e) {
1380
1380
  const t = (e ?? "").toLowerCase();
1381
- return He.find((n) => n.code === t) ?? He.find((n) => n.code === t.split("-")[0]);
1381
+ return je.find((n) => n.code === t) ?? je.find((n) => n.code === t.split("-")[0]);
1382
1382
  }
1383
1383
  function Us(e) {
1384
1384
  return _t(e)?.label ?? e;
@@ -1387,12 +1387,12 @@ function Ks(e) {
1387
1387
  const t = _t(e);
1388
1388
  return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
1389
1389
  }
1390
- const Tt = 3;
1390
+ const It = 3;
1391
1391
  function jn(e, t) {
1392
1392
  const n = /* @__PURE__ */ new Set();
1393
1393
  let r = 1, o = t.get(e)?.parentId;
1394
1394
  for (; o; ) {
1395
- if (n.has(o) || (n.add(o), r++, r > Tt + 1)) return 1 / 0;
1395
+ if (n.has(o) || (n.add(o), r++, r > It + 1)) return 1 / 0;
1396
1396
  o = t.get(o)?.parentId;
1397
1397
  }
1398
1398
  return r;
@@ -1402,8 +1402,8 @@ function Fs(e, t, n) {
1402
1402
  if (e === t) return !1;
1403
1403
  const r = new Map(n.map((s) => [s.id, s]));
1404
1404
  if (!r.has(e) || t && Gn(e, t, r)) return !1;
1405
- const o = jn(e, r), i = t ? wt(t, n) : 1;
1406
- return o + i <= Tt;
1405
+ const o = jn(e, r), i = t ? Tt(t, n) : 1;
1406
+ return o + i <= It;
1407
1407
  }
1408
1408
  function Gn(e, t, n) {
1409
1409
  const r = /* @__PURE__ */ new Set();
@@ -1415,11 +1415,11 @@ function Gn(e, t, n) {
1415
1415
  }
1416
1416
  return !1;
1417
1417
  }
1418
- function wt(e, t, n = /* @__PURE__ */ new Set()) {
1418
+ function Tt(e, t, n = /* @__PURE__ */ new Set()) {
1419
1419
  if (n.has(e)) return 1;
1420
1420
  n.add(e);
1421
1421
  const r = t.filter((o) => o.parentId === e);
1422
- return r.length ? 1 + Math.max(...r.map((o) => wt(o.id, t, n))) : 1;
1422
+ return r.length ? 1 + Math.max(...r.map((o) => Tt(o.id, t, n))) : 1;
1423
1423
  }
1424
1424
  const Wn = "en";
1425
1425
  function Vn(e) {
@@ -1435,18 +1435,18 @@ function Hs(e, t, n) {
1435
1435
  const r = e.translations ?? [];
1436
1436
  return r.find((o) => o.locale === t)?.name ?? (n ? r.find((o) => o.locale === n)?.name : void 0) ?? e.name;
1437
1437
  }
1438
- const je = ["lookup", "condition", "parallel", "for-each"];
1439
- function Ge(e) {
1438
+ const Ge = ["lookup", "condition", "parallel", "for-each"];
1439
+ function We(e) {
1440
1440
  for (const t of e) {
1441
- if (!je.includes(t.type))
1442
- return `staptype "${t.type}" mag niet meelezen (alleen ${je.join(", ")})`;
1441
+ if (!Ge.includes(t.type))
1442
+ return `staptype "${t.type}" mag niet meelezen (alleen ${Ge.join(", ")})`;
1443
1443
  if (t.type === "parallel")
1444
1444
  for (const n of t.branches ?? []) {
1445
- const r = Ge(n);
1445
+ const r = We(n);
1446
1446
  if (r) return r;
1447
1447
  }
1448
1448
  if (t.type === "for-each") {
1449
- const n = Ge(t.body ?? []);
1449
+ const n = We(t.body ?? []);
1450
1450
  if (n) return n;
1451
1451
  }
1452
1452
  }
@@ -1561,7 +1561,7 @@ const Zs = "onboarding-source", Qs = ["support", "billing", "availability", "sal
1561
1561
  function $(e, t = Se) {
1562
1562
  return t.find((n) => n.key === e) ?? { ...Xn, key: e };
1563
1563
  }
1564
- function q(e) {
1564
+ function Y(e) {
1565
1565
  return e === "published" || e === "approved";
1566
1566
  }
1567
1567
  function qn(e, t, n = Se) {
@@ -1570,24 +1570,23 @@ function qn(e, t, n = Se) {
1570
1570
  return r.absent ? !1 : r.productive || r.capacity;
1571
1571
  }
1572
1572
  function ta(e, t = Se) {
1573
- if (!e.userId || !q(e.status)) return !1;
1573
+ if (!e.userId || !Y(e.status)) return !1;
1574
1574
  const n = $(e.kindKey, t);
1575
1575
  return n.capacity || n.productive || n.absent;
1576
1576
  }
1577
1577
  const Jn = 864e5;
1578
1578
  function Zn(e, t) {
1579
- const n = new Date(e), r = new Date(t);
1580
- return n.setHours(12, 0, 0, 0), r.setHours(12, 0, 0, 0), Math.round((r.getTime() - n.getTime()) / Jn);
1579
+ return Math.round((t - e) / Jn);
1581
1580
  }
1582
- function It(e, t) {
1581
+ function wt(e, t) {
1583
1582
  const n = e.cycleMinutes.length;
1584
1583
  return n === 0 ? 0 : (Zn(e.anchor, t) % n + n) % n;
1585
1584
  }
1586
1585
  function Mt(e, t) {
1587
- return e.effectiveFrom !== void 0 && t < e.effectiveFrom ? 0 : e.cycleMinutes[It(e, t)] ?? 0;
1586
+ return e.effectiveFrom !== void 0 && t < e.effectiveFrom ? 0 : e.cycleMinutes[wt(e, t)] ?? 0;
1588
1587
  }
1589
1588
  function kt(e, t) {
1590
- return e.startTimes?.[It(e, t)];
1589
+ return e.startTimes?.[wt(e, t)];
1591
1590
  }
1592
1591
  function vt(e, t, n, r) {
1593
1592
  const o = e.filter(
@@ -1602,10 +1601,10 @@ function Qn(e, t, n) {
1602
1601
  (r) => r.userId === t && (r.effectiveFrom === void 0 || r.effectiveFrom <= n)
1603
1602
  ).sort((r, o) => (o.effectiveFrom ?? 0) - (r.effectiveFrom ?? 0))[0];
1604
1603
  }
1605
- const We = 864e5;
1604
+ const ue = 864e5;
1606
1605
  function er(e) {
1607
- const t = new Date(e);
1608
- return t.setHours(0, 0, 0, 0), t.getTime();
1606
+ const t = Math.max(1, Math.round((e.to - e.from) / ue));
1607
+ return Array.from({ length: t }, (n, r) => e.from + r * ue);
1609
1608
  }
1610
1609
  function Ve(e, t, n, r) {
1611
1610
  const o = Math.min(t, r) - Math.max(e, n);
@@ -1614,9 +1613,9 @@ function Ve(e, t, n, r) {
1614
1613
  const ze = { interval: 0, day: 1, week: 2 };
1615
1614
  function na(e, t) {
1616
1615
  const { entries: n, patterns: r = [], terms: o = [] } = t, i = n.filter(
1617
- (c) => c.userId && q(c.status) && $(c.kindKey).capacity
1616
+ (c) => c.userId && Y(c.status) && $(c.kindKey).capacity
1618
1617
  ), s = n.filter(
1619
- (c) => c.userId && q(c.status) && $(c.kindKey).absent
1618
+ (c) => c.userId && Y(c.status) && $(c.kindKey).absent
1620
1619
  ), a = t.userIds ?? [
1621
1620
  .../* @__PURE__ */ new Set([
1622
1621
  ...i.map((c) => c.userId),
@@ -1629,35 +1628,35 @@ function na(e, t) {
1629
1628
  ze[c] > ze[d] && (d = c);
1630
1629
  };
1631
1630
  for (const c of a) {
1632
- const h = t.teamIdsOf?.(c) ?? [];
1633
- let A = 0, E = 0, b = 0;
1634
- for (let u = er(e.from); u < e.to; u += We) {
1635
- const _ = Math.max(u, e.from), w = Math.min(u + We, e.to);
1636
- b++;
1637
- const C = i.filter((I) => I.userId === c).reduce((I, L) => I + Ve(L.start, L.end, _, w), 0);
1638
- if (C > 0) {
1639
- A += C;
1631
+ const g = t.teamIdsOf?.(c) ?? [];
1632
+ let y = 0, _ = 0, A = 0;
1633
+ for (const u of er(e)) {
1634
+ const E = Math.max(u, e.from), N = Math.min(u + ue, e.to);
1635
+ A++;
1636
+ const O = i.filter((w) => w.userId === c).reduce((w, ke) => w + Ve(ke.start, ke.end, E, N), 0);
1637
+ if (O > 0) {
1638
+ y += O;
1640
1639
  continue;
1641
1640
  }
1642
- const k = vt(r, c, h, u), x = k ? Mt(k, u) : 0;
1643
- if (k && x > 0) {
1644
- A += x * 60, p(kt(k, u) ? "interval" : "day");
1641
+ const k = vt(r, c, g, u), C = k ? Mt(k, u) : 0;
1642
+ if (k && C > 0) {
1643
+ y += C * 60, p(kt(k, u) ? "interval" : "day");
1645
1644
  continue;
1646
1645
  }
1647
- k || E++;
1646
+ k || _++;
1648
1647
  }
1649
- if (E > 0) {
1648
+ if (_ > 0) {
1650
1649
  const u = Qn(o, c, e.from);
1651
- u && (A += u.weeklyMinutes * 60 * (E / 7), p("week"));
1650
+ u && (y += u.weeklyMinutes * 60 * (_ / 7), p("week"));
1652
1651
  }
1653
- const T = s.filter((u) => u.userId === c).reduce(
1654
- (u, _) => u + Ve(_.start, _.end, e.from, e.to),
1652
+ const I = s.filter((u) => u.userId === c).reduce(
1653
+ (u, E) => u + Ve(E.start, E.end, e.from, e.to),
1655
1654
  0
1656
- ), f = Math.max(0, A - T);
1657
- (f > 0 || b > 0) && (l[c] = f);
1655
+ ), f = Math.max(0, y - I);
1656
+ (f > 0 || A > 0) && (l[c] = f);
1658
1657
  }
1659
1658
  return {
1660
- seconds: Object.values(l).reduce((c, h) => c + h, 0),
1659
+ seconds: Object.values(l).reduce((c, g) => c + g, 0),
1661
1660
  precision: d,
1662
1661
  byUser: l
1663
1662
  };
@@ -1721,7 +1720,7 @@ function cr(e) {
1721
1720
  function ia(e, t) {
1722
1721
  return e.start < t.end && t.start < e.end;
1723
1722
  }
1724
- function ie(e, t, n) {
1723
+ function re(e, t, n) {
1725
1724
  const r = Math.min(e.end, n) - Math.max(e.start, t);
1726
1725
  return r > 0 ? r / 1e3 : 0;
1727
1726
  }
@@ -1736,29 +1735,29 @@ function lr(e, t, n) {
1736
1735
  return { seconds: o, headcount: o / n * s };
1737
1736
  }
1738
1737
  function sa(e) {
1739
- const { entries: t, workstreamId: n, staffing: r, demand: o, range: i } = e, s = e.grain ?? "hour", a = cr(s), l = a / 1e3, d = e.kinds, p = t.filter((b) => q(b.status)), c = p.filter((b) => qn(b, n, d)), h = p.filter((b) => $(b.kindKey, d).capacity), A = p.filter((b) => $(b.kindKey, d).absent), E = [];
1740
- for (let b = B(i.from, s); b < i.to; b += a) {
1741
- const T = b + a, f = F(b, s);
1738
+ const { entries: t, workstreamId: n, staffing: r, demand: o, range: i } = e, s = e.grain ?? "hour", a = cr(s), l = a / 1e3, d = e.kinds, p = t.filter((A) => Y(A.status)), c = p.filter((A) => qn(A, n, d)), g = p.filter((A) => $(A.kindKey, d).capacity), y = p.filter((A) => $(A.kindKey, d).absent), _ = [];
1739
+ for (let A = F(i.from, s); A < i.to; A += a) {
1740
+ const I = A + a, f = K(A, s);
1742
1741
  let u = 0;
1743
- for (const I of c) u += ie(I, b, T);
1744
- let _ = 0;
1745
- for (const I of h) _ += ie(I, b, T);
1746
- let w = 0;
1747
- for (const I of A) w += ie(I, b, T);
1748
- const C = o?.[f] ?? {}, k = lr(C, r, l), x = u / l;
1749
- E.push({
1742
+ for (const w of c) u += re(w, A, I);
1743
+ let E = 0;
1744
+ for (const w of g) E += re(w, A, I);
1745
+ let N = 0;
1746
+ for (const w of y) N += re(w, A, I);
1747
+ const O = o?.[f] ?? {}, k = lr(O, r, l), C = u / l;
1748
+ _.push({
1750
1749
  period: f,
1751
- forecastVolume: C.volume,
1750
+ forecastVolume: O.volume,
1752
1751
  requiredSeconds: k.seconds,
1753
1752
  requiredHeadcount: k.headcount,
1754
1753
  scheduledSeconds: u,
1755
- scheduledHeadcount: x,
1756
- netHeadcount: x - k.headcount,
1757
- capacitySeconds: _,
1758
- absentSeconds: w
1754
+ scheduledHeadcount: C,
1755
+ netHeadcount: C - k.headcount,
1756
+ capacitySeconds: E,
1757
+ absentSeconds: N
1759
1758
  });
1760
1759
  }
1761
- return E;
1760
+ return _;
1762
1761
  }
1763
1762
  function ur(e, t) {
1764
1763
  return e.workTypeKey ?? t?.defaultWorkTypeKey;
@@ -1773,11 +1772,11 @@ function ca(e) {
1773
1772
  );
1774
1773
  }
1775
1774
  const dr = 36e5, de = 6048e5, fr = 8, pr = 0.5, mr = 2;
1776
- function gr(e) {
1775
+ function hr(e) {
1777
1776
  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;
1778
1777
  return Date.UTC(t, n - 1, r, o);
1779
1778
  }
1780
- function hr(e, t, n) {
1779
+ function gr(e, t, n) {
1781
1780
  const r = [];
1782
1781
  for (let i = 0; i < n; i++) {
1783
1782
  const s = t - i * de, a = s - de;
@@ -1800,19 +1799,19 @@ function yr(e, t) {
1800
1799
  function la(e, t, n) {
1801
1800
  const r = Math.max(1, n?.weeks ?? fr), o = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set();
1802
1801
  for (const l of e)
1803
- o.set(gr(l.period), l.value), i.add(l.period.slice(0, 10));
1804
- const s = hr(o, B(t.from, "hour"), r), a = [];
1805
- for (let l = B(t.from, "hour"); l < t.to; l += dr) {
1802
+ o.set(hr(l.period), l.value), i.add(l.period.slice(0, 10));
1803
+ const s = gr(o, F(t.from, "hour"), r), a = [];
1804
+ for (let l = F(t.from, "hour"); l < t.to; l += dr) {
1806
1805
  let d = 0, p = 0;
1807
- for (let A = 1; A <= r; A++) {
1808
- const E = l - A * de, T = o.get(E) ?? (i.has(F(E, "day")) ? 0 : void 0);
1809
- if (T === void 0) continue;
1810
- const f = r - A + 1;
1811
- d += T * f, p += f;
1806
+ for (let y = 1; y <= r; y++) {
1807
+ const _ = l - y * de, I = o.get(_) ?? (i.has(K(_, "day")) ? 0 : void 0);
1808
+ if (I === void 0) continue;
1809
+ const f = r - y + 1;
1810
+ d += I * f, p += f;
1812
1811
  }
1813
1812
  let c = p > 0 ? d / p * s : 0;
1814
- const h = yr(n?.adjustments, l);
1815
- h?.absoluteVolume !== void 0 ? c = h.absoluteVolume : h?.factor !== void 0 && (c *= h.factor), a.push({ period: F(l, "hour"), volume: c });
1813
+ const g = yr(n?.adjustments, l);
1814
+ g?.absoluteVolume !== void 0 ? c = g.absoluteVolume : g?.factor !== void 0 && (c *= g.factor), a.push({ period: K(l, "hour"), volume: c });
1816
1815
  }
1817
1816
  return a;
1818
1817
  }
@@ -1823,60 +1822,62 @@ function ua(e) {
1823
1822
  function da(e) {
1824
1823
  return `${Ar}:${e}`;
1825
1824
  }
1826
- const fe = 36e5, P = 864e5;
1825
+ const fe = 36e5, L = 864e5;
1827
1826
  function Er(e, t) {
1828
- const n = t === "day" ? P : fe, r = [];
1829
- for (let o = B(e.from, t); o < e.to; o += n) r.push(o);
1827
+ const n = t === "day" ? L : fe, r = [];
1828
+ for (let o = F(e.from, t); o < e.to; o += n) r.push(o);
1830
1829
  return r;
1831
1830
  }
1832
- function Xe(e, t, n, r) {
1831
+ function Xe(e) {
1832
+ const t = Math.max(1, Math.round((e.to - e.from) / L));
1833
+ return Array.from({ length: t }, (n, r) => e.from + r * L);
1834
+ }
1835
+ function oe(e, t, n, r) {
1833
1836
  const o = Math.min(t, r) - Math.max(e, n);
1834
1837
  return o > 0 ? o / 1e3 : 0;
1835
1838
  }
1836
1839
  function fa(e, t, n = {}) {
1837
- const r = n.grain ?? "hour", o = Er(t, r), i = r === "day" ? P : fe, s = new Map(o.map((c) => [c, 0])), a = e.filter((c) => c.userId && $(c.kindKey).capacity), l = n.userIds?.length ? new Set(n.userIds) : null, d = /* @__PURE__ */ new Set();
1840
+ const r = n.grain ?? "hour", o = Er(t, r), i = r === "day" ? L : fe, s = new Map(o.map((c) => [c, 0])), a = e.filter((c) => c.userId && $(c.kindKey).capacity), l = n.userIds?.length ? new Set(n.userIds) : null, d = /* @__PURE__ */ new Set();
1838
1841
  for (const c of a)
1839
1842
  if (!(l && c.userId && !l.has(c.userId))) {
1840
- for (const h of o) {
1841
- const A = Xe(c.start, c.end, h, h + i);
1842
- A > 0 && s.set(h, (s.get(h) ?? 0) + A);
1843
+ for (const g of o) {
1844
+ const y = oe(c.start, c.end, g, g + i);
1845
+ y > 0 && s.set(g, (s.get(g) ?? 0) + y);
1843
1846
  }
1844
- for (let h = V(c.start); h < c.end; h += P)
1845
- d.add(`${c.userId}:${V(h)}`);
1847
+ for (const g of Xe(t))
1848
+ oe(c.start, c.end, g, g + L) > 0 && d.add(`${c.userId}:${g}`);
1846
1849
  }
1847
1850
  const p = n.userIds ?? [
1848
- ...new Set(a.map((c) => c.userId).filter(Boolean))
1849
- ];
1851
+ .../* @__PURE__ */ new Set([
1852
+ ...a.map((c) => c.userId),
1853
+ ...(n.patterns ?? []).map((c) => c.userId)
1854
+ ])
1855
+ ].filter((c) => !!c);
1850
1856
  if (n.patterns?.length)
1851
1857
  for (const c of p) {
1852
- const h = n.teamIdsOf?.(c) ?? [];
1853
- for (let A = V(t.from); A < t.to; A += P) {
1854
- const E = V(A);
1855
- if (d.has(`${c}:${E}`)) continue;
1856
- const b = vt(n.patterns, c, h, E);
1857
- if (!b) continue;
1858
- const T = Mt(b, E);
1859
- if (T <= 0) continue;
1860
- const f = kt(b, E);
1861
- if (f) {
1862
- const [w, C] = f.split(":").map(Number), k = E + w * fe + (C ?? 0) * 6e4, x = k + T * 6e4;
1863
- for (const I of o) {
1864
- const L = Xe(k, x, I, I + i);
1865
- L > 0 && s.set(I, (s.get(I) ?? 0) + L);
1858
+ const g = n.teamIdsOf?.(c) ?? [];
1859
+ for (const y of Xe(t)) {
1860
+ if (d.has(`${c}:${y}`)) continue;
1861
+ const _ = vt(n.patterns, c, g, y);
1862
+ if (!_) continue;
1863
+ const A = Mt(_, y);
1864
+ if (A <= 0) continue;
1865
+ const I = kt(_, y);
1866
+ if (I) {
1867
+ const [E, N] = I.split(":").map(Number), O = y + E * fe + (N ?? 0) * 6e4, k = O + A * 6e4;
1868
+ for (const C of o) {
1869
+ const w = oe(O, k, C, C + i);
1870
+ w > 0 && s.set(C, (s.get(C) ?? 0) + w);
1866
1871
  }
1867
1872
  continue;
1868
1873
  }
1869
- const u = o.filter((w) => w >= E && w < E + P);
1870
- if (!u.length) continue;
1871
- const _ = T * 60 / u.length;
1872
- for (const w of u) s.set(w, (s.get(w) ?? 0) + _);
1874
+ const f = o.filter((E) => E >= y && E < y + L);
1875
+ if (!f.length) continue;
1876
+ const u = A * 60 / f.length;
1877
+ for (const E of f) s.set(E, (s.get(E) ?? 0) + u);
1873
1878
  }
1874
1879
  }
1875
- return o.map((c) => ({ period: F(c, r), weight: s.get(c) ?? 0 }));
1876
- }
1877
- function V(e) {
1878
- const t = new Date(e);
1879
- return t.setHours(0, 0, 0, 0), t.getTime();
1880
+ return o.map((c) => ({ period: K(c, r), weight: s.get(c) ?? 0 }));
1880
1881
  }
1881
1882
  function Sr(e, t) {
1882
1883
  if (e <= 0 || !t.length) return [];
@@ -1922,10 +1923,10 @@ function ma(e) {
1922
1923
  if (r === "team") return { kind: "team", teamId: o };
1923
1924
  }
1924
1925
  }
1925
- function Tr(e) {
1926
+ function Ir(e) {
1926
1927
  return _r(e);
1927
1928
  }
1928
- function wr(e) {
1929
+ function Tr(e) {
1929
1930
  switch (e.kind) {
1930
1931
  case "personal":
1931
1932
  return { kind: "user", userId: e.userId };
@@ -1935,12 +1936,12 @@ function wr(e) {
1935
1936
  return { kind: "org" };
1936
1937
  }
1937
1938
  }
1938
- const Ir = wr;
1939
- function ga(e) {
1940
- return e.agentId ? { kind: "user", userId: e.agentId } : Ir(e.ownerScope);
1941
- }
1939
+ const wr = Tr;
1942
1940
  function ha(e) {
1943
- return Tr(e);
1941
+ return e.agentId ? { kind: "user", userId: e.agentId } : wr(e.ownerScope);
1942
+ }
1943
+ function ga(e) {
1944
+ return Ir(e);
1944
1945
  }
1945
1946
  function ya(e, t) {
1946
1947
  if (!t) return;
@@ -2008,7 +2009,7 @@ const _a = [
2008
2009
  // `buildTriggerVars` cannot fill it itself: the job does that with the catalog in hand, before
2009
2010
  // the trigger filter runs — like contactId/companyId above.
2010
2011
  { name: "assigneeUserId", type: "string" }
2011
- ], Ta = {
2012
+ ], Ia = {
2012
2013
  topics: [
2013
2014
  { name: "topicId", type: "string" },
2014
2015
  { name: "topic", type: "string" },
@@ -2030,12 +2031,12 @@ function Or(e) {
2030
2031
  return e?.type === vr ? e.id : void 0;
2031
2032
  }
2032
2033
  const Cr = 64, Nr = 8e3;
2033
- function wa(e) {
2034
+ function Ta(e) {
2034
2035
  const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
2035
2036
  if (!(!Number.isFinite(t) || t <= 0))
2036
2037
  return Math.min(Math.max(Math.round(t), Cr), Nr);
2037
2038
  }
2038
- const Ia = { kind: "workflow", steps: [] };
2039
+ const wa = { kind: "workflow", steps: [] };
2039
2040
  function Ma(e) {
2040
2041
  return e?.kind === "workflow" ? e.steps : [];
2041
2042
  }
@@ -2090,10 +2091,10 @@ const Pr = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
2090
2091
  function Da(e, t) {
2091
2092
  return t ? e.actors.some((n) => n.type === "user" && n.id === t) : !1;
2092
2093
  }
2093
- const pe = 6e4, Ur = 36e5, H = 864e5, Ct = 800;
2094
+ const pe = 6e4, Ur = 36e5, B = 864e5, Ct = 800;
2094
2095
  function qe(e, t) {
2095
2096
  const n = Date.UTC(e, t + 1, 0);
2096
- return n - new Date(n).getUTCDay() * H + Ur;
2097
+ return n - new Date(n).getUTCDay() * B + Ur;
2097
2098
  }
2098
2099
  function Kr(e) {
2099
2100
  const t = new Date(e).getUTCFullYear();
@@ -2107,9 +2108,9 @@ function Fr(e) {
2107
2108
  return (e + 3) % 7 + 1;
2108
2109
  }
2109
2110
  function xt(e, t) {
2110
- const n = Nt(e, t), r = e + n, o = Math.floor(r / H);
2111
+ const n = Nt(e, t), r = e + n, o = Math.floor(r / B);
2111
2112
  if (!t.days.includes(Fr(o))) return null;
2112
- const i = o * H;
2113
+ const i = o * B;
2113
2114
  return {
2114
2115
  open: i + t.fromMinutes * pe - n,
2115
2116
  close: i + t.toMinutes * pe - n
@@ -2117,7 +2118,7 @@ function xt(e, t) {
2117
2118
  }
2118
2119
  function Rt(e, t) {
2119
2120
  const n = Nt(e, t), r = e + n;
2120
- return (Math.floor(r / H) + 1) * H - n;
2121
+ return (Math.floor(r / B) + 1) * B - n;
2121
2122
  }
2122
2123
  function me(e, t, n) {
2123
2124
  if (t <= e) return 0;
@@ -2154,11 +2155,11 @@ function $a(e) {
2154
2155
  const t = /^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);
2155
2156
  return t ? Number(t[1]) * 60 + Number(t[2]) : null;
2156
2157
  }
2157
- const ge = 1, he = 2;
2158
+ const he = 1, ge = 2;
2158
2159
  function La(e) {
2159
- return e === "snoozed" ? ge : he;
2160
+ return e === "snoozed" ? he : ge;
2160
2161
  }
2161
- function Te(e) {
2162
+ function Ie(e) {
2162
2163
  const t = e.calendar;
2163
2164
  return t && Array.isArray(t.days) ? t : null;
2164
2165
  }
@@ -2169,27 +2170,27 @@ const Pa = [
2169
2170
  "resolution",
2170
2171
  "close"
2171
2172
  ], Ua = ["snoozed", "waiting_for_customer"], Br = 6e4, Dt = ["speed_of_answer", "first_response", "next_response"], Hr = [...Dt, "resolution", "close"];
2172
- function j(e) {
2173
+ function H(e) {
2173
2174
  return e.state === "running" || e.state === "paused";
2174
2175
  }
2175
2176
  function jr(e, t) {
2176
- return j(e) ? { state: (e.state === "paused" ? e.remainingMs > 0 : t <= e.dueAt) ? "hit" : "missed", settledAt: Math.max(t, e.startedAt) } : null;
2177
+ return H(e) ? { state: (e.state === "paused" ? e.remainingMs > 0 : t <= e.dueAt) ? "hit" : "missed", settledAt: Math.max(t, e.startedAt) } : null;
2177
2178
  }
2178
2179
  function Je(e) {
2179
- return j(e) ? { state: "void" } : null;
2180
+ return H(e) ? { state: "void" } : null;
2180
2181
  }
2181
2182
  function Gr(e, t, n, r) {
2182
- if (!j(e) || (e.pauseBits & t) !== 0) return null;
2183
+ if (!H(e) || (e.pauseBits & t) !== 0) return null;
2183
2184
  const o = e.pauseBits | t;
2184
2185
  return e.state === "paused" ? { pauseBits: o } : { pauseBits: o, state: "paused", remainingMs: me(n, e.dueAt, r) };
2185
2186
  }
2186
2187
  function Wr(e, t, n, r) {
2187
- if (!j(e) || (e.pauseBits & t) === 0) return null;
2188
+ if (!H(e) || (e.pauseBits & t) === 0) return null;
2188
2189
  const o = e.pauseBits & ~t;
2189
2190
  return o !== 0 ? { pauseBits: o } : { pauseBits: o, state: "running", dueAt: _e(n, e.remainingMs, r) };
2190
2191
  }
2191
2192
  function Ka({ event: e, at: t, now: n, clocks: r, profile: o }) {
2192
- const i = Te(o), s = Math.min(t, n), a = r.map((f) => ({ ...f })), l = [], d = (f, u) => {
2193
+ const i = Ie(o), s = Math.min(t, n), a = r.map((f) => ({ ...f })), l = [], d = (f, u) => {
2193
2194
  u && (l.push({ op: "patch", clockId: f.id, patch: u }), Object.assign(f, u));
2194
2195
  }, p = (f) => {
2195
2196
  for (const u of a)
@@ -2197,21 +2198,21 @@ function Ka({ event: e, at: t, now: n, clocks: r, profile: o }) {
2197
2198
  }, c = (f) => {
2198
2199
  for (const u of a)
2199
2200
  f.includes(u.metric) && d(u, Je(u));
2200
- }, h = (f) => {
2201
+ }, g = (f) => {
2201
2202
  for (const u of a) d(u, Gr(u, f, s, i));
2202
- }, A = (f) => {
2203
+ }, y = (f) => {
2203
2204
  for (const u of a) d(u, Wr(u, f, s, i));
2204
- }, E = (f) => a.reduce((u, _) => _.metric === f ? Math.max(u, _.attempt) : u, 0) + 1, b = (f) => a.some((u) => u.metric === f && j(u)), T = (f, u) => {
2205
- const _ = o.targets.find((C) => C.metric === f);
2206
- if (!_) return;
2207
- const w = _.minutes * Br;
2205
+ }, _ = (f) => a.reduce((u, E) => E.metric === f ? Math.max(u, E.attempt) : u, 0) + 1, A = (f) => a.some((u) => u.metric === f && H(u)), I = (f, u) => {
2206
+ const E = o.targets.find((O) => O.metric === f);
2207
+ if (!E) return;
2208
+ const N = E.minutes * Br;
2208
2209
  l.push({
2209
2210
  op: "start",
2210
2211
  metric: f,
2211
- attempt: E(f),
2212
+ attempt: _(f),
2212
2213
  startedAt: u,
2213
- targetMs: w,
2214
- dueAt: _e(u, w, i)
2214
+ targetMs: N,
2215
+ dueAt: _e(u, N, i)
2215
2216
  });
2216
2217
  };
2217
2218
  switch (e) {
@@ -2221,8 +2222,8 @@ function Ka({ event: e, at: t, now: n, clocks: r, profile: o }) {
2221
2222
  for (const f of o.targets) {
2222
2223
  if (f.metric === "next_response") continue;
2223
2224
  a.some(
2224
- (_) => _.metric === f.metric && _.profileId === o.id
2225
- ) || T(f.metric, s);
2225
+ (E) => E.metric === f.metric && E.profileId === o.id
2226
+ ) || I(f.metric, s);
2226
2227
  }
2227
2228
  break;
2228
2229
  }
@@ -2230,11 +2231,11 @@ function Ka({ event: e, at: t, now: n, clocks: r, profile: o }) {
2230
2231
  p("speed_of_answer");
2231
2232
  break;
2232
2233
  case "outbound": {
2233
- p("first_response"), p("next_response"), o.pauseOn.includes("waiting_for_customer") && h(he);
2234
+ p("first_response"), p("next_response"), o.pauseOn.includes("waiting_for_customer") && g(ge);
2234
2235
  break;
2235
2236
  }
2236
2237
  case "inbound": {
2237
- A(he), !b("first_response") && !b("next_response") && T("next_response", s);
2238
+ y(ge), !A("first_response") && !A("next_response") && I("next_response", s);
2238
2239
  break;
2239
2240
  }
2240
2241
  case "resolved":
@@ -2244,13 +2245,13 @@ function Ka({ event: e, at: t, now: n, clocks: r, profile: o }) {
2244
2245
  p("close"), p("resolution"), c(Dt);
2245
2246
  break;
2246
2247
  case "reopened":
2247
- b("resolution") || T("resolution", s), b("close") || T("close", s);
2248
+ A("resolution") || I("resolution", s), A("close") || I("close", s);
2248
2249
  break;
2249
2250
  case "snoozed":
2250
- o.pauseOn.includes("snoozed") && h(ge);
2251
+ o.pauseOn.includes("snoozed") && g(he);
2251
2252
  break;
2252
2253
  case "unsnoozed":
2253
- A(ge);
2254
+ y(he);
2254
2255
  break;
2255
2256
  case "discarded":
2256
2257
  c(Hr);
@@ -2262,11 +2263,11 @@ function Vr(e) {
2262
2263
  return e.state === "running" || e.state === "paused";
2263
2264
  }
2264
2265
  function ye(e, t) {
2265
- const n = Te(e);
2266
+ const n = Ie(e);
2266
2267
  return e.state === "paused" ? e.remainingMs : t >= e.dueAt ? -me(e.dueAt, t, n) : me(t, e.dueAt, n);
2267
2268
  }
2268
2269
  function Fa(e, t) {
2269
- return e.state === "paused" ? _e(t, e.remainingMs, Te(e)) : e.dueAt;
2270
+ return e.state === "paused" ? _e(t, e.remainingMs, Ie(e)) : e.dueAt;
2270
2271
  }
2271
2272
  function Ba(e, t) {
2272
2273
  const n = e.filter(Vr);
@@ -2300,21 +2301,21 @@ function Ga(e, t = 25) {
2300
2301
  function Wa(e) {
2301
2302
  return e ? [...e.ancestorKeys ?? [], $t(e.id)] : [];
2302
2303
  }
2303
- const Q = [
2304
+ const J = [
2304
2305
  { key: "area", label: "level_area", order: 10, measurable: !1, icon: "compass" },
2305
2306
  { key: "objective", label: "level_objective", order: 20, measurable: !0, icon: "target" },
2306
2307
  { key: "key_result", label: "level_key_result", order: 30, measurable: !0, icon: "gauge" }
2307
2308
  ], Yr = 999, Xr = 7;
2308
- function qr(e, t = Q) {
2309
+ function qr(e, t = J) {
2309
2310
  return t.find((n) => n.key === e);
2310
2311
  }
2311
- function be(e, t = Q) {
2312
+ function be(e, t = J) {
2312
2313
  return qr(e, t)?.order ?? Yr;
2313
2314
  }
2314
- function Va(e, t, n = Q) {
2315
+ function Va(e, t, n = J) {
2315
2316
  return be(t, n) <= be(e, n);
2316
2317
  }
2317
- function za(e, t = Q) {
2318
+ function za(e, t = J) {
2318
2319
  const n = be(e, t);
2319
2320
  return t.filter((o) => o.order > n).sort((o, i) => o.order - i.order)[0]?.key ?? e;
2320
2321
  }
@@ -2339,17 +2340,17 @@ function qa(e) {
2339
2340
  (t) => e.includes(Ae[t])
2340
2341
  );
2341
2342
  }
2342
- const Jr = 864e5, ee = (e) => e <= 0 ? 0 : e > 1 ? 1 : e;
2343
+ const Jr = 864e5, Z = (e) => e <= 0 ? 0 : e > 1 ? 1 : e;
2343
2344
  function Ja(e, t) {
2344
2345
  const { direction: n } = e, r = e.startValue ?? 0, o = e.targetValue ?? 0;
2345
2346
  if (!Number.isFinite(t)) return 0;
2346
2347
  const i = n === "down" ? t <= o : t >= o, s = o - r;
2347
- return (n === "down" ? s < 0 : s > 0) ? ee((t - r) / s) : i ? 1 : 0;
2348
+ return (n === "down" ? s < 0 : s > 0) ? Z((t - r) / s) : i ? 1 : 0;
2348
2349
  }
2349
2350
  function Za(e, t) {
2350
2351
  const { startDate: n, targetDate: r } = e;
2351
2352
  if (!(typeof n != "number" || typeof r != "number") && !(r <= n))
2352
- return ee((t - n) / (r - n));
2353
+ return Z((t - n) / (r - n));
2353
2354
  }
2354
2355
  const Zr = 0.1, Qr = 0.25;
2355
2356
  function Qa(e, t) {
@@ -2360,12 +2361,12 @@ function Qa(e, t) {
2360
2361
  }
2361
2362
  function ec(e, t) {
2362
2363
  if (t)
2363
- return ee(e / t);
2364
+ return Z(e / t);
2364
2365
  }
2365
2366
  function tc(e) {
2366
2367
  const t = e.map((n) => n.progress?.ratio).filter((n) => typeof n == "number" && Number.isFinite(n));
2367
2368
  if (t.length)
2368
- return ee(t.reduce((n, r) => n + r, 0) / t.length);
2369
+ return Z(t.reduce((n, r) => n + r, 0) / t.length);
2369
2370
  }
2370
2371
  function nc(e, t) {
2371
2372
  const n = e.lastCheckInAt ?? e.createdAt;
@@ -2417,15 +2418,15 @@ function to(e, t) {
2417
2418
  const n = (e.order ?? 0) - (t.order ?? 0);
2418
2419
  return n !== 0 ? n : (e.label || "").localeCompare(t.label || "");
2419
2420
  }
2420
- const no = 20, ro = 20, se = 300;
2421
+ const no = 20, ro = 20, ie = 300;
2421
2422
  function D(e) {
2422
2423
  return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
2423
2424
  }
2424
2425
  function oo(e) {
2425
2426
  const t = e.replace(/\s+/g, " ").trim();
2426
- if (t.length <= se) return t;
2427
- const n = t.slice(0, se), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
2428
- return r > se * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
2427
+ if (t.length <= ie) return t;
2428
+ const n = t.slice(0, ie), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
2429
+ return r > ie * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
2429
2430
  }
2430
2431
  function dc(e, t) {
2431
2432
  const n = oo(t.text), r = D(n);
@@ -2461,13 +2462,13 @@ function pc(e, t) {
2461
2462
  function mc(e) {
2462
2463
  return e.type === "agent";
2463
2464
  }
2464
- const gc = "WORK_COMMENT_ADDED", hc = "WORK_ITEM_ASSIGNED", yc = "WORK_ITEM_STATUS_CHANGED";
2465
+ const hc = "WORK_COMMENT_ADDED", gc = "WORK_ITEM_ASSIGNED", yc = "WORK_ITEM_STATUS_CHANGED";
2465
2466
  function ao(e, t) {
2466
2467
  const n = (r) => {
2467
2468
  const o = new Date(r);
2468
2469
  return o.setHours(0, 0, 0, 0), o.getTime();
2469
2470
  };
2470
- return Math.round((n(e) - n(t)) / In);
2471
+ return Math.round((n(e) - n(t)) / wn);
2471
2472
  }
2472
2473
  function bc(e, t) {
2473
2474
  if (e.closedAt != null) return { score: R, reasons: [] };
@@ -2475,13 +2476,13 @@ function bc(e, t) {
2475
2476
  if (n && n.remindAt > t.now) return { score: R, reasons: [] };
2476
2477
  let r = 0;
2477
2478
  const o = [], i = e.priority ?? "normal";
2478
- if (X[i] > 0 && (r += X[i], o.push(`priority:${i}`)), typeof e.dueDate == "number") {
2479
+ if (z[i] > 0 && (r += z[i], o.push(`priority:${i}`)), typeof e.dueDate == "number") {
2479
2480
  const s = ao(e.dueDate, t.now);
2480
2481
  s < 0 ? (r += 35, o.push("overdue")) : s === 0 && (r += 20, o.push("due-today"));
2481
2482
  }
2482
2483
  return e.source?.initiator === "system" && e.source.systemReason && (r += 15, o.push(`auto:${e.source.systemReason}`)), { score: r, reasons: o };
2483
2484
  }
2484
- const we = [
2485
+ const Te = [
2485
2486
  { key: "task", label: "type_task" },
2486
2487
  { key: "bug", label: "type_bug" },
2487
2488
  { key: "story", label: "type_story" },
@@ -2489,9 +2490,9 @@ const we = [
2489
2490
  { key: "subtask", label: "type_subtask" },
2490
2491
  { key: "case", label: "type_case" },
2491
2492
  { key: "deal", label: "type_deal" }
2492
- ], Ac = we.map((e) => e.key);
2493
+ ], Ac = Te.map((e) => e.key);
2493
2494
  function Ec(e) {
2494
- return e?.types?.length ? e.types : we;
2495
+ return e?.types?.length ? e.types : Te;
2495
2496
  }
2496
2497
  function Sc(e, t) {
2497
2498
  return t.find((n) => n.key === e);
@@ -2500,17 +2501,17 @@ function _c(e) {
2500
2501
  const t = e.trim().toLowerCase();
2501
2502
  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;
2502
2503
  }
2503
- function Tc(...e) {
2504
- return e.map((t) => we.find((n) => n.key === t)).filter((t) => !!t);
2504
+ function Ic(...e) {
2505
+ return e.map((t) => Te.find((n) => n.key === t)).filter((t) => !!t);
2505
2506
  }
2506
- const co = "work_item", lo = "work_project", uo = "work_activity", wc = "work_cycle";
2507
+ const co = "work_item", lo = "work_project", uo = "work_activity", Tc = "work_cycle";
2507
2508
  function fo(e) {
2508
2509
  return `${co}:${e}`;
2509
2510
  }
2510
2511
  function Lt(e) {
2511
2512
  return `${lo}:${e}`;
2512
2513
  }
2513
- function Ic(e) {
2514
+ function wc(e) {
2514
2515
  return `${uo}:${e}`;
2515
2516
  }
2516
2517
  function Mc(e, t, n) {
@@ -2538,14 +2539,14 @@ function Oc(e, t = 25) {
2538
2539
  function Cc(e) {
2539
2540
  return [Lt(e.id)];
2540
2541
  }
2541
- const Ie = [
2542
+ const we = [
2542
2543
  { key: "open", label: "status_open", category: "todo", order: 0 },
2543
2544
  { key: "in_progress", label: "status_in_progress", category: "in_progress", order: 1 },
2544
2545
  { key: "done", label: "status_done", category: "done", order: 2 },
2545
2546
  { key: "cancelled", label: "status_cancelled", category: "done", order: 3 }
2546
- ], Pt = Ie.map((e) => e.key);
2547
+ ], Pt = we.map((e) => e.key);
2547
2548
  function po(e) {
2548
- return e?.statuses?.length ? e.statuses : Ie;
2549
+ return e?.statuses?.length ? e.statuses : we;
2549
2550
  }
2550
2551
  function mo(e, t) {
2551
2552
  return t.find((n) => n.key === e)?.category ?? "todo";
@@ -2555,9 +2556,9 @@ function Nc(e, t) {
2555
2556
  }
2556
2557
  function xc(e) {
2557
2558
  const t = po(e), n = e?.defaultStatusKey;
2558
- return n && t.some((r) => r.key === n) ? n : go(t)[0]?.key ?? Ie[0].key;
2559
+ return n && t.some((r) => r.key === n) ? n : ho(t)[0]?.key ?? we[0].key;
2559
2560
  }
2560
- function go(e) {
2561
+ function ho(e) {
2561
2562
  return [...e].sort((t, n) => {
2562
2563
  const r = (t.order ?? 0) - (n.order ?? 0);
2563
2564
  return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
@@ -2566,11 +2567,11 @@ function go(e) {
2566
2567
  function Rc(e, t) {
2567
2568
  return mo(e, t) === "done";
2568
2569
  }
2569
- function ho(e) {
2570
+ function go(e) {
2570
2571
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
2571
2572
  }
2572
2573
  function Dc(e, t) {
2573
- const n = ho(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Pt]);
2574
+ const n = go(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Pt]);
2574
2575
  if (!r.has(n)) return n;
2575
2576
  for (let o = 2; o < 500; o++) {
2576
2577
  const i = `${n}-${o}`;
@@ -2609,12 +2610,12 @@ function Ao(e) {
2609
2610
  const t = (e ?? "").trim().toLowerCase().split(";")[0];
2610
2611
  return t ? yo.has(t) ? "image" : t === "application/pdf" ? "pdf" : bo.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
2611
2612
  }
2612
- const U = 1024 * 1024, Eo = {
2613
- image: 5 * U,
2614
- pdf: 20 * U,
2615
- text: 1 * U,
2616
- audio: 20 * U
2617
- }, Uc = 25 * U, Kc = 5;
2613
+ const P = 1024 * 1024, Eo = {
2614
+ image: 5 * P,
2615
+ pdf: 20 * P,
2616
+ text: 1 * P,
2617
+ audio: 20 * P
2618
+ }, Uc = 25 * P, Kc = 5;
2618
2619
  function Fc(e, t) {
2619
2620
  const n = Ao(e);
2620
2621
  return n === "unsupported" ? "unsupported" : t > Eo[n] ? "too-large" : null;
@@ -2658,14 +2659,14 @@ function Xc(e) {
2658
2659
  ) ? { admit: !1, reason: "busy" } : { admit: !0 };
2659
2660
  }
2660
2661
  function _o(e, t) {
2661
- const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((s) => !n.has(s.intent)).map((s) => wo(s, r[s.intent]));
2662
+ const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((s) => !n.has(s.intent)).map((s) => To(s, r[s.intent]));
2662
2663
  if (!e.extraIntents || e.extraIntents.length === 0) return o;
2663
2664
  const i = new Set(o.map((s) => s.intent));
2664
2665
  for (const s of e.extraIntents)
2665
2666
  i.has(s.intent) || (o.push(s), i.add(s.intent));
2666
2667
  return o;
2667
2668
  }
2668
- function To(e, t) {
2669
+ function Io(e, t) {
2669
2670
  const n = {};
2670
2671
  for (const r of e.intents) {
2671
2672
  if (!r.togglable) continue;
@@ -2675,10 +2676,10 @@ function To(e, t) {
2675
2676
  return n;
2676
2677
  }
2677
2678
  function qc(e, t) {
2678
- const n = To(e, t);
2679
+ const n = Io(e, t);
2679
2680
  return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
2680
2681
  }
2681
- function wo(e, t) {
2682
+ function To(e, t) {
2682
2683
  return t ? {
2683
2684
  intent: t.intent ?? e.intent,
2684
2685
  targetSchemes: t.targetSchemes ?? e.targetSchemes,
@@ -2699,11 +2700,11 @@ function Jc(e, t) {
2699
2700
  function Zc(e, t) {
2700
2701
  return t.filter((n) => n.capability.intent === e);
2701
2702
  }
2702
- function Io(e, t) {
2703
+ function wo(e, t) {
2703
2704
  return t.filter((n) => n.capability.targetSchemes.includes(e));
2704
2705
  }
2705
2706
  function Qc(e, t) {
2706
- return Io(e.scheme, t);
2707
+ return wo(e.scheme, t);
2707
2708
  }
2708
2709
  function el(e, t, n) {
2709
2710
  const r = [];
@@ -2758,7 +2759,7 @@ const nl = "message_window", rl = "message_templates", ol = {
2758
2759
  ok: !1,
2759
2760
  code: "UNSUPPORTED",
2760
2761
  message: "Provider does not support this op"
2761
- }, ul = "connector", dl = "context.collect", y = (e) => ({ type: "string", description: e }), g = (e) => ({ type: "number", description: e }), z = (e) => ({ type: "boolean", description: e }), O = y("Sheet name. Omit for the sheet the user is looking at."), et = y("Slide id, as `inspect` reports it.");
2762
+ }, ul = "connector", dl = "context.collect", b = (e) => ({ type: "string", description: e }), h = (e) => ({ type: "number", description: e }), W = (e) => ({ type: "boolean", description: e }), v = b("Sheet name. Omit for the sheet the user is looking at."), et = b("Slide id, as `inspect` reports it.");
2762
2763
  function m(e, t, n, r, o, i) {
2763
2764
  return {
2764
2765
  op: e,
@@ -2769,22 +2770,22 @@ function m(e, t, n, r, o, i) {
2769
2770
  visible: i.visible
2770
2771
  };
2771
2772
  }
2772
- const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt = { undoable: !1, visible: !0 }, J = { undoable: !1, visible: !1 }, vo = [
2773
+ const U = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt = { undoable: !1, visible: !0 }, X = { undoable: !1, visible: !1 }, vo = [
2773
2774
  m(
2774
2775
  "pdf.goToPage",
2775
2776
  ["pdf"],
2776
2777
  "Scroll the viewer to a page.",
2777
- { page: g("1-based page number.") },
2778
+ { page: h("1-based page number.") },
2778
2779
  ["page"],
2779
- K
2780
+ U
2780
2781
  ),
2781
2782
  m(
2782
2783
  "pdf.search",
2783
2784
  ["pdf"],
2784
2785
  "Search the document and highlight the matches, as the find bar does.",
2785
- { query: y("Text to find."), next: z("Jump to the next match instead of the first.") },
2786
+ { query: b("Text to find."), next: W("Jump to the next match instead of the first.") },
2786
2787
  ["query"],
2787
- K
2788
+ U
2788
2789
  ),
2789
2790
  m(
2790
2791
  "pdf.setTool",
@@ -2798,14 +2799,14 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
2798
2799
  }
2799
2800
  },
2800
2801
  ["tool"],
2801
- K
2802
+ U
2802
2803
  ),
2803
2804
  m(
2804
2805
  "pdf.fillField",
2805
2806
  ["pdf"],
2806
2807
  "Fill one form field of a fillable PDF.",
2807
2808
  {
2808
- field: y("Field name, exactly as `inspect` reports it under `fields`."),
2809
+ field: b("Field name, exactly as `inspect` reports it under `fields`."),
2809
2810
  value: {
2810
2811
  type: ["string", "boolean"],
2811
2812
  description: "Text for a text field, true/false for a checkbox or radio."
@@ -2841,28 +2842,28 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
2841
2842
  ["pdf"],
2842
2843
  "Place a text note on a page. Written on save; not visible before that.",
2843
2844
  {
2844
- page: g("1-based page number."),
2845
- text: y("The note's text."),
2846
- left: g("Distance from the left edge, in PDF points (72 per inch)."),
2847
- top: g("Distance from the top edge, in PDF points."),
2848
- width: g("Box width in points. Omit for a sensible default."),
2849
- height: g("Box height in points. Omit for a sensible default."),
2850
- fontSize: g("Font size in points. Omit for 12.")
2845
+ page: h("1-based page number."),
2846
+ text: b("The note's text."),
2847
+ left: h("Distance from the left edge, in PDF points (72 per inch)."),
2848
+ top: h("Distance from the top edge, in PDF points."),
2849
+ width: h("Box width in points. Omit for a sensible default."),
2850
+ height: h("Box height in points. Omit for a sensible default."),
2851
+ fontSize: h("Font size in points. Omit for 12.")
2851
2852
  },
2852
2853
  ["page", "text", "left", "top"],
2853
- J
2854
+ X
2854
2855
  ),
2855
2856
  m(
2856
2857
  "pdf.highlightText",
2857
2858
  ["pdf"],
2858
2859
  "Highlight a phrase on a page. Written on save; not visible before that.",
2859
2860
  {
2860
- page: g("1-based page number."),
2861
- text: y("The exact phrase to highlight, as it appears in the page's text."),
2862
- occurrence: g("Which occurrence on that page, 1-based. Omit for the first.")
2861
+ page: h("1-based page number."),
2862
+ text: b("The exact phrase to highlight, as it appears in the page's text."),
2863
+ occurrence: h("Which occurrence on that page, 1-based. Omit for the first.")
2863
2864
  },
2864
2865
  ["page", "text"],
2865
- J
2866
+ X
2866
2867
  )
2867
2868
  ], Oo = [
2868
2869
  m(
@@ -2870,8 +2871,8 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
2870
2871
  ["sheet"],
2871
2872
  "Write a block of values. The block's shape must match the range.",
2872
2873
  {
2873
- sheet: O,
2874
- range: y("A1 notation, e.g. `B2:D5` or a single `A1`."),
2874
+ sheet: v,
2875
+ range: b("A1 notation, e.g. `B2:D5` or a single `A1`."),
2875
2876
  values: {
2876
2877
  type: "array",
2877
2878
  items: { type: "array", items: { type: ["string", "number", "boolean", "null"] } },
@@ -2885,7 +2886,7 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
2885
2886
  "sheet.setFormula",
2886
2887
  ["sheet"],
2887
2888
  "Put a formula in every cell of a range.",
2888
- { sheet: O, range: y("A1 notation."), formula: y("Including the leading `=`.") },
2889
+ { sheet: v, range: b("A1 notation."), formula: b("Including the leading `=`.") },
2889
2890
  ["range", "formula"],
2890
2891
  S
2891
2892
  ),
@@ -2894,19 +2895,19 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
2894
2895
  ["sheet"],
2895
2896
  "Change the look of a range. Only the properties you pass are touched.",
2896
2897
  {
2897
- sheet: O,
2898
- range: y("A1 notation."),
2899
- bold: z("Bold on or off."),
2900
- italic: z("Italic on or off."),
2901
- fontSize: g("Point size."),
2902
- fontColor: y("CSS colour, e.g. `#b91c1c`."),
2903
- background: y("CSS colour for the cell fill."),
2898
+ sheet: v,
2899
+ range: b("A1 notation."),
2900
+ bold: W("Bold on or off."),
2901
+ italic: W("Italic on or off."),
2902
+ fontSize: h("Point size."),
2903
+ fontColor: b("CSS colour, e.g. `#b91c1c`."),
2904
+ background: b("CSS colour for the cell fill."),
2904
2905
  horizontalAlignment: {
2905
2906
  type: "string",
2906
2907
  enum: ["left", "center", "right"],
2907
2908
  description: "Horizontal alignment."
2908
2909
  },
2909
- numberFormat: y("Number format pattern, e.g. `#,##0.00` or `0%`.")
2910
+ numberFormat: b("Number format pattern, e.g. `#,##0.00` or `0%`.")
2910
2911
  },
2911
2912
  ["range"],
2912
2913
  S
@@ -2916,9 +2917,9 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
2916
2917
  ["sheet"],
2917
2918
  "Insert empty rows, pushing the rest down.",
2918
2919
  {
2919
- sheet: O,
2920
- at: g("1-based row number to insert before."),
2921
- count: g("How many. Omit for 1.")
2920
+ sheet: v,
2921
+ at: h("1-based row number to insert before."),
2922
+ count: h("How many. Omit for 1.")
2922
2923
  },
2923
2924
  ["at"],
2924
2925
  S
@@ -2927,7 +2928,7 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
2927
2928
  "sheet.deleteRows",
2928
2929
  ["sheet"],
2929
2930
  "Delete rows, pulling the rest up.",
2930
- { sheet: O, at: g("1-based first row to delete."), count: g("How many. Omit for 1.") },
2931
+ { sheet: v, at: h("1-based first row to delete."), count: h("How many. Omit for 1.") },
2931
2932
  ["at"],
2932
2933
  S
2933
2934
  ),
@@ -2936,9 +2937,9 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
2936
2937
  ["sheet"],
2937
2938
  "Insert empty columns, pushing the rest right.",
2938
2939
  {
2939
- sheet: O,
2940
- at: g("1-based column number to insert before."),
2941
- count: g("How many. Omit for 1.")
2940
+ sheet: v,
2941
+ at: h("1-based column number to insert before."),
2942
+ count: h("How many. Omit for 1.")
2942
2943
  },
2943
2944
  ["at"],
2944
2945
  S
@@ -2948,9 +2949,9 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
2948
2949
  ["sheet"],
2949
2950
  "Delete columns, pulling the rest left.",
2950
2951
  {
2951
- sheet: O,
2952
- at: g("1-based first column to delete."),
2953
- count: g("How many. Omit for 1.")
2952
+ sheet: v,
2953
+ at: h("1-based first column to delete."),
2954
+ count: h("How many. Omit for 1.")
2954
2955
  },
2955
2956
  ["at"],
2956
2957
  S
@@ -2959,7 +2960,7 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
2959
2960
  "sheet.merge",
2960
2961
  ["sheet"],
2961
2962
  "Merge a range into one cell.",
2962
- { sheet: O, range: y("A1 notation.") },
2963
+ { sheet: v, range: b("A1 notation.") },
2963
2964
  ["range"],
2964
2965
  S
2965
2966
  ),
@@ -2967,7 +2968,7 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
2967
2968
  "sheet.unmerge",
2968
2969
  ["sheet"],
2969
2970
  "Break merged cells in a range apart.",
2970
- { sheet: O, range: y("A1 notation.") },
2971
+ { sheet: v, range: b("A1 notation.") },
2971
2972
  ["range"],
2972
2973
  S
2973
2974
  ),
@@ -2976,10 +2977,10 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
2976
2977
  ["sheet"],
2977
2978
  "Sort a range on one of its columns.",
2978
2979
  {
2979
- sheet: O,
2980
- range: y("A1 notation covering the rows to sort, header excluded."),
2981
- column: g("1-based column *within the range*, not within the sheet."),
2982
- ascending: z("Ascending. Omit for ascending.")
2980
+ sheet: v,
2981
+ range: b("A1 notation covering the rows to sort, header excluded."),
2982
+ column: h("1-based column *within the range*, not within the sheet."),
2983
+ ascending: W("Ascending. Omit for ascending.")
2983
2984
  },
2984
2985
  ["range", "column"],
2985
2986
  S
@@ -2988,7 +2989,7 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
2988
2989
  "sheet.insertSheet",
2989
2990
  ["sheet"],
2990
2991
  "Add a new sheet.",
2991
- { name: y("Name for the new sheet.") },
2992
+ { name: b("Name for the new sheet.") },
2992
2993
  ["name"],
2993
2994
  S
2994
2995
  ),
@@ -2996,7 +2997,7 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
2996
2997
  "sheet.renameSheet",
2997
2998
  ["sheet"],
2998
2999
  "Rename a sheet.",
2999
- { sheet: y("Current name."), name: y("New name.") },
3000
+ { sheet: b("Current name."), name: b("New name.") },
3000
3001
  ["sheet", "name"],
3001
3002
  S
3002
3003
  ),
@@ -3004,7 +3005,7 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
3004
3005
  "sheet.deleteSheet",
3005
3006
  ["sheet"],
3006
3007
  "Remove a sheet and everything on it.",
3007
- { sheet: y("Name of the sheet to delete.") },
3008
+ { sheet: b("Name of the sheet to delete.") },
3008
3009
  ["sheet"],
3009
3010
  S
3010
3011
  ),
@@ -3012,9 +3013,9 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
3012
3013
  "sheet.activate",
3013
3014
  ["sheet"],
3014
3015
  "Show the user a sheet and select a range on it.",
3015
- { sheet: O, range: y("A1 notation to select. Omit to only switch sheets.") },
3016
+ { sheet: v, range: b("A1 notation to select. Omit to only switch sheets.") },
3016
3017
  [],
3017
- K
3018
+ U
3018
3019
  )
3019
3020
  ], Co = [
3020
3021
  m(
@@ -3022,8 +3023,8 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
3022
3023
  ["word"],
3023
3024
  "Rewrite one whole paragraph, keeping its style. This is the verb for shortening or rephrasing something; call it once per paragraph.",
3024
3025
  {
3025
- at: g("The offset the paragraph starts at, exactly as `inspect` prints it."),
3026
- text: y("The new text for that paragraph. A newline starts a further paragraph.")
3026
+ at: h("The offset the paragraph starts at, exactly as `inspect` prints it."),
3027
+ text: b("The new text for that paragraph. A newline starts a further paragraph.")
3027
3028
  },
3028
3029
  ["at", "text"],
3029
3030
  S
@@ -3033,9 +3034,9 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
3033
3034
  ["word"],
3034
3035
  "Replace a stretch of text inside a paragraph - a sentence, a phrase. To rewrite whole paragraphs use word.replaceParagraph: a range covering several paragraph styles is refused, because a replacement carries one style and would set the whole span in the first.",
3035
3036
  {
3036
- start: g("Character offset where the replaced text starts, as `inspect` reports offsets."),
3037
- end: g("Character offset just past the last character to replace."),
3038
- text: y("The replacement text. A newline starts a new paragraph.")
3037
+ start: h("Character offset where the replaced text starts, as `inspect` reports offsets."),
3038
+ end: h("Character offset just past the last character to replace."),
3039
+ text: b("The replacement text. A newline starts a new paragraph.")
3039
3040
  },
3040
3041
  ["start", "end", "text"],
3041
3042
  S
@@ -3045,8 +3046,8 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
3045
3046
  ["word"],
3046
3047
  "Insert text at a character offset, without removing anything.",
3047
3048
  {
3048
- index: g("Character offset, as `inspect` reports offsets."),
3049
- text: y("The text to insert.")
3049
+ index: h("Character offset, as `inspect` reports offsets."),
3050
+ text: b("The text to insert.")
3050
3051
  },
3051
3052
  ["index", "text"],
3052
3053
  S
@@ -3055,7 +3056,7 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
3055
3056
  "word.appendText",
3056
3057
  ["word"],
3057
3058
  "Add text at the end of the document.",
3058
- { text: y("The text to append.") },
3059
+ { text: b("The text to append.") },
3059
3060
  ["text"],
3060
3061
  S
3061
3062
  ),
@@ -3064,8 +3065,8 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
3064
3065
  ["word"],
3065
3066
  "Start a new paragraph, optionally with text in it.",
3066
3067
  {
3067
- text: y("Paragraph text. Newlines start further paragraphs."),
3068
- index: g("Character offset to insert at. Omit for the end of the document.")
3068
+ text: b("Paragraph text. Newlines start further paragraphs."),
3069
+ index: h("Character offset to insert at. Omit for the end of the document.")
3069
3070
  },
3070
3071
  [],
3071
3072
  S
@@ -3074,9 +3075,9 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
3074
3075
  "word.setSelection",
3075
3076
  ["word"],
3076
3077
  "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.",
3077
- { start: g("Start character offset."), end: g("End character offset. Omit for a caret.") },
3078
+ { start: h("Start character offset."), end: h("End character offset. Omit for a caret.") },
3078
3079
  ["start"],
3079
- K
3080
+ U
3080
3081
  )
3081
3082
  ], No = [
3082
3083
  m(
@@ -3085,11 +3086,11 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
3085
3086
  "Replace the text of one shape. Written on save; not visible before that, and not undoable.",
3086
3087
  {
3087
3088
  slide: et,
3088
- element: y("Element id, as `inspect` reports it."),
3089
- text: y("The new text.")
3089
+ element: b("Element id, as `inspect` reports it."),
3090
+ text: b("The new text.")
3090
3091
  },
3091
3092
  ["slide", "element", "text"],
3092
- J
3093
+ X
3093
3094
  ),
3094
3095
  m(
3095
3096
  "slides.setTransform",
@@ -3097,14 +3098,14 @@ const K = { undoable: !1, visible: !0 }, S = { undoable: !0, visible: !0 }, tt =
3097
3098
  "Move or resize one shape. Only the values you pass change. Written on save; not visible before that, and not undoable.",
3098
3099
  {
3099
3100
  slide: et,
3100
- element: y("Element id."),
3101
- left: g("Distance from the left edge, in pixels."),
3102
- top: g("Distance from the top edge, in pixels."),
3103
- width: g("Width in pixels."),
3104
- height: g("Height in pixels.")
3101
+ element: b("Element id."),
3102
+ left: h("Distance from the left edge, in pixels."),
3103
+ top: h("Distance from the top edge, in pixels."),
3104
+ width: h("Width in pixels."),
3105
+ height: h("Height in pixels.")
3105
3106
  },
3106
3107
  ["slide", "element"],
3107
- J
3108
+ X
3108
3109
  )
3109
3110
  ], Ut = [
3110
3111
  ...vo,
@@ -3118,7 +3119,7 @@ function fl(e) {
3118
3119
  function pl(e) {
3119
3120
  return Ut.find((t) => t.op === e);
3120
3121
  }
3121
- const ml = "documents.describe", gl = "documents.inspect", hl = "documents.apply";
3122
+ const ml = "documents.describe", hl = "documents.inspect", gl = "documents.apply";
3122
3123
  function yl(e) {
3123
3124
  const t = e.indexOf(":");
3124
3125
  if (t !== -1) return e.slice(0, t);
@@ -3269,17 +3270,17 @@ const El = "notification-source", Sl = (e, t) => `${e}.pref.${t}`, _l = {
3269
3270
  user: ["user.read", "user.write"],
3270
3271
  work: ["item.read", "item.write", "project.read", "project.write"]
3271
3272
  }, Kt = 9e4, xo = ["out_of_office"], Ft = (e) => xo.includes(e);
3272
- function Tl(e, t, n) {
3273
+ function Il(e, t, n) {
3273
3274
  const r = n - e < Kt, o = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
3274
3275
  if (!o?.status) return { online: r, status: r ? "available" : "offline" };
3275
3276
  const i = o.status;
3276
3277
  return !r && !Ft(i) ? { online: !1, status: "offline" } : { online: r, status: i, message: o.message };
3277
3278
  }
3278
- function wl(e, t) {
3279
+ function Tl(e, t) {
3279
3280
  const n = t - e.lastSeenAt < Kt, r = n || Ft(e.status) ? e.status : "offline";
3280
3281
  return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
3281
3282
  }
3282
- function Il(e, t) {
3283
+ function wl(e, t) {
3283
3284
  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 };
3284
3285
  }
3285
3286
  function Ml(e) {
@@ -3702,7 +3703,7 @@ function nt(e) {
3702
3703
  if (e)
3703
3704
  return Me[e.trim().toUpperCase()];
3704
3705
  }
3705
- function Y(e, t) {
3706
+ function V(e, t) {
3706
3707
  return e.length >= t.nsnMin && e.length <= t.nsnMax;
3707
3708
  }
3708
3709
  function rt(e) {
@@ -3713,7 +3714,7 @@ function rt(e) {
3713
3714
  for (const r of Object.values(Me)) {
3714
3715
  if (r.callingCode !== t) continue;
3715
3716
  const o = r.trunkPrefix, i = o && n.startsWith(o) ? n.slice(o.length) : n;
3716
- if (Y(i, r)) return `+${t}${i}`;
3717
+ if (V(i, r)) return `+${t}${i}`;
3717
3718
  }
3718
3719
  return null;
3719
3720
  }
@@ -3746,13 +3747,13 @@ function ot(e, t) {
3746
3747
  const s = i.trunkPrefix;
3747
3748
  if (s && o.startsWith(s)) {
3748
3749
  const a = o.slice(s.length);
3749
- return Y(a, i) ? `+${i.callingCode}${a}` : null;
3750
+ return V(a, i) ? `+${i.callingCode}${a}` : null;
3750
3751
  }
3751
3752
  if (o.startsWith(i.callingCode)) {
3752
3753
  const a = o.slice(i.callingCode.length);
3753
- if (Y(a, i)) return `+${i.callingCode}${a}`;
3754
+ if (V(a, i)) return `+${i.callingCode}${a}`;
3754
3755
  }
3755
- return !s && Y(o, i) ? `+${i.callingCode}${o}` : null;
3756
+ return !s && V(o, i) ? `+${i.callingCode}${o}` : null;
3756
3757
  }
3757
3758
  function zl(e, t = 9) {
3758
3759
  const n = (e ?? "").replace(/\D/g, "");
@@ -3882,7 +3883,7 @@ function ai(e) {
3882
3883
  return e;
3883
3884
  }
3884
3885
  const ci = /^(?:https?:|mailto:|tel:)/i, li = /^(?:https?:|cid:|data:image\/)/i;
3885
- function ae(e, t) {
3886
+ function se(e, t) {
3886
3887
  const n = e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`, "i"));
3887
3888
  return (n?.[1] ?? n?.[2] ?? n?.[3] ?? "").trim();
3888
3889
  }
@@ -3890,7 +3891,7 @@ const ui = /(!\[[^\]]*\]\([^)]*\))/;
3890
3891
  function st(e) {
3891
3892
  return e.replace(/\s+/g, " ").trim().split(ui).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
3892
3893
  }
3893
- function ce(e) {
3894
+ function ae(e) {
3894
3895
  return e.replace(
3895
3896
  /[()\s<>"]/g,
3896
3897
  (t) => `%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2, "0")}`
@@ -3898,23 +3899,23 @@ function ce(e) {
3898
3899
  }
3899
3900
  function di(e) {
3900
3901
  return e.replace(/<img\b([^>]*?)\/?>/gi, (n, r) => {
3901
- const o = ae(r, "src");
3902
- return li.test(o) ? `![${st(ae(r, "alt"))}](${ce(o)})` : "";
3902
+ const o = se(r, "src");
3903
+ return li.test(o) ? `![${st(se(r, "alt"))}](${ae(o)})` : "";
3903
3904
  }).replace(
3904
3905
  /<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,
3905
3906
  (n, r, o) => {
3906
- const i = st(o.replace(/<[^>]*>/g, "")), s = ae(r, "href");
3907
- return ci.test(s) ? `[${i || ce(s)}](${ce(s)})` : i;
3907
+ const i = st(o.replace(/<[^>]*>/g, "")), s = se(r, "href");
3908
+ return ci.test(s) ? `[${i || ae(s)}](${ae(s)})` : i;
3908
3909
  }
3909
3910
  );
3910
3911
  }
3911
3912
  const fi = /<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i, pi = /<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi, mi = /<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;
3912
- function gi(e, t) {
3913
+ function hi(e, t) {
3913
3914
  return /<table\b/i.test(e) || e.includes(`
3914
3915
 
3915
3916
  |`) || t.includes("![") || t.length > 200;
3916
3917
  }
3917
- const hi = 40, yi = { left: "---", center: ":---:", right: "---:" };
3918
+ const gi = 40, yi = { left: "---", center: ":---:", right: "---:" };
3918
3919
  function bi(e) {
3919
3920
  const t = e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);
3920
3921
  return t ? t[1].toLowerCase() : "left";
@@ -3928,7 +3929,7 @@ function Ei(e) {
3928
3929
  const a = [];
3929
3930
  for (const l of s[1].matchAll(mi)) {
3930
3931
  const d = Ai(l[3]);
3931
- if (gi(l[3], d)) return null;
3932
+ if (hi(l[3], d)) return null;
3932
3933
  a.push({ text: d, align: bi(l[2]) });
3933
3934
  }
3934
3935
  if (a.length === 0) return null;
@@ -3952,7 +3953,7 @@ function Si(e) {
3952
3953
  }
3953
3954
  function _i(e) {
3954
3955
  let t = e;
3955
- for (let n = 0; n < hi; n++) {
3956
+ for (let n = 0; n < gi; n++) {
3956
3957
  const r = fi.exec(t);
3957
3958
  if (!r || r.index === void 0) break;
3958
3959
  const i = Ei(r[1]) ?? `
@@ -3975,7 +3976,7 @@ function at(e, t) {
3975
3976
  function ct(e) {
3976
3977
  return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
3977
3978
  }
3978
- const Ti = {
3979
+ const Ii = {
3979
3980
  euro: "€",
3980
3981
  pound: "£",
3981
3982
  yen: "¥",
@@ -3998,7 +3999,7 @@ const Ti = {
3998
3999
  apos: "'"
3999
4000
  };
4000
4001
  function lt(e) {
4001
- return e.replace(/&nbsp;/gi, " ").replace(/&([a-z]+);/gi, (t, n) => Ti[n.toLowerCase()] ?? t).replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => ct(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => ct(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
4002
+ return e.replace(/&nbsp;/gi, " ").replace(/&([a-z]+);/gi, (t, n) => Ii[n.toLowerCase()] ?? t).replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => ct(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => ct(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
4002
4003
  }
4003
4004
  function ut(e) {
4004
4005
  return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
@@ -4006,9 +4007,9 @@ function ut(e) {
4006
4007
 
4007
4008
  `).trim();
4008
4009
  }
4009
- const wi = /<\s*(html|body|div|p|table|br|span)\b/i;
4010
+ const Ti = /<\s*(html|body|div|p|table|br|span)\b/i;
4010
4011
  function Zl(e) {
4011
- return wi.test(e);
4012
+ return Ti.test(e);
4012
4013
  }
4013
4014
  function Ql(e) {
4014
4015
  return Gt(e, !1);
@@ -4029,21 +4030,21 @@ function Gt(e, t) {
4029
4030
  }
4030
4031
  export {
4031
4032
  ms as ACTIVE_ASSIGNMENT_STATUSES,
4032
- N as ACTIVITY_CATALOG,
4033
+ x as ACTIVITY_CATALOG,
4033
4034
  Eo as AI_ATTACHMENT_LIMITS,
4034
4035
  Kc as AI_ATTACHMENT_MAX_PER_TURN,
4035
4036
  Uc as AI_ATTACHMENT_TURN_BUDGET,
4036
4037
  pt as AI_VENDORS,
4037
4038
  fn as ALLOWED_LINK_SCHEMES,
4038
4039
  _l as APP_PERMISSIONS,
4039
- De as ARTIFACT_MAX_BLOCKS,
4040
+ $e as ARTIFACT_MAX_BLOCKS,
4040
4041
  ss as ARTIFACT_MAX_BODY_BYTES,
4041
- oe as ARTIFACT_MAX_CELL_LEN,
4042
- Ue as ARTIFACT_MAX_KPI_ITEMS,
4043
- $e as ARTIFACT_MAX_LIST_ITEMS,
4044
- Pe as ARTIFACT_MAX_TABLE_COLUMNS,
4045
- Le as ARTIFACT_MAX_TABLE_ROWS,
4046
- gt as ARTIFACT_MAX_TEXT_LEN,
4042
+ ne as ARTIFACT_MAX_CELL_LEN,
4043
+ Ke as ARTIFACT_MAX_KPI_ITEMS,
4044
+ Le as ARTIFACT_MAX_LIST_ITEMS,
4045
+ Ue as ARTIFACT_MAX_TABLE_COLUMNS,
4046
+ Pe as ARTIFACT_MAX_TABLE_ROWS,
4047
+ ht as ARTIFACT_MAX_TEXT_LEN,
4047
4048
  Sn as ASSIGNMENT_SCOPE_KIND,
4048
4049
  Gc as ASSIST_BANDS,
4049
4050
  jc as ASSIST_SOURCE_PROVIDER_GROUP,
@@ -4059,43 +4060,43 @@ export {
4059
4060
  jo as CADENCE_MIN_NEW_SEGMENTS,
4060
4061
  Go as CADENCE_MIN_NOVELTY,
4061
4062
  Bo as CADENCE_WINDOW_MS,
4062
- Ta as CLASSIFY_VARS,
4063
+ Ia as CLASSIFY_VARS,
4063
4064
  ul as CONNECTOR_PROVIDER_GROUP,
4064
4065
  dl as CONTEXT_COLLECT_SERVICE,
4065
4066
  es as CORE_DIMENSIONS,
4066
4067
  Mo as CommunicationScheme,
4067
- In as DAY_MS,
4068
+ wn as DAY_MS,
4068
4069
  Xr as DEFAULT_CHECK_IN_DAYS,
4069
4070
  fr as DEFAULT_FORECAST_WEEKS,
4070
4071
  qs as DEFAULT_MEMORY_BUDGET,
4071
4072
  Jo as DEFAULT_PHONE_REGION,
4072
4073
  oa as DEMAND_SOURCE_PROVIDER_GROUP,
4073
- hl as DOCUMENT_APPLY_SERVICE,
4074
+ gl as DOCUMENT_APPLY_SERVICE,
4074
4075
  ml as DOCUMENT_DESCRIBE_SERVICE,
4075
- gl as DOCUMENT_INSPECT_SERVICE,
4076
+ hl as DOCUMENT_INSPECT_SERVICE,
4076
4077
  Ut as DOCUMENT_OPERATIONS,
4077
- Ia as EMPTY_WORKFLOW,
4078
+ wa as EMPTY_WORKFLOW,
4078
4079
  sl as FEATURE_FOLDER_MANAGEMENT,
4079
4080
  cl as FEATURE_MESSAGE_REACTIONS,
4080
4081
  al as FEATURE_REMOTE_SEARCH,
4081
4082
  Se as FIXED_KINDS,
4082
- Q as FIXED_LEVELS,
4083
- we as FIXED_TYPES,
4083
+ J as FIXED_LEVELS,
4084
+ Te as FIXED_TYPES,
4084
4085
  Pn as FOLLOW_UP_HOURS,
4085
- wn as HOUR_MS,
4086
- wi as HTML_BODY_RE,
4086
+ Tn as HOUR_MS,
4087
+ Ti as HTML_BODY_RE,
4087
4088
  R as INELIGIBLE,
4088
4089
  bl as INSTALLATION_HEADER,
4089
4090
  vr as INTERACTION_KIND,
4090
4091
  ol as InteractionParticipantRole,
4091
4092
  Wn as KB_FALLBACK_LOCALE,
4092
- He as KB_LOCALES,
4093
- Ie as LOOSE_STATUSES,
4093
+ je as KB_LOCALES,
4094
+ we as LOOSE_STATUSES,
4094
4095
  Cn as MAIL_HINT_HEADERS,
4095
4096
  vi as MAX_ACTIONS,
4096
4097
  _n as MAX_ASSIGNMENT_TURNS,
4097
- Ii as MAX_BLOCKS,
4098
- Tt as MAX_COLLECTION_DEPTH,
4098
+ wi as MAX_BLOCKS,
4099
+ It as MAX_COLLECTION_DEPTH,
4099
4100
  Ul as MAX_EDITABLE_FILE_BYTES,
4100
4101
  Mi as MAX_FIELDS,
4101
4102
  ki as MAX_LIST_ITEMS,
@@ -4105,15 +4106,15 @@ export {
4105
4106
  qo as MAX_SHOWN_KEYS,
4106
4107
  ro as MAX_TOPIC_CANDIDATES,
4107
4108
  no as MAX_TOPIC_EXAMPLES,
4108
- se as MAX_TOPIC_EXAMPLE_CHARS,
4109
+ ie as MAX_TOPIC_EXAMPLE_CHARS,
4109
4110
  Kl as MAX_VIEWABLE_FILE_BYTES,
4110
4111
  Ys as MIN_MEMORY_BUDGET,
4111
4112
  Wl as NAV_NOTICE_SLOT,
4112
4113
  El as NOTIFICATION_SOURCE_PROVIDER_GROUP,
4113
4114
  Qr as OFF_TRACK_GAP,
4114
4115
  Zs as ONBOARDING_SOURCE_PROVIDER_GROUP,
4115
- ge as PAUSE_SNOOZED,
4116
- he as PAUSE_WAITING_FOR_CUSTOMER,
4116
+ he as PAUSE_SNOOZED,
4117
+ ge as PAUSE_WAITING_FOR_CUSTOMER,
4117
4118
  Me as PHONE_REGIONS,
4118
4119
  Kt as PRESENCE_ONLINE_WINDOW_MS,
4119
4120
  xo as PRESENCE_SURVIVES_OFFLINE,
@@ -4121,7 +4122,7 @@ export {
4121
4122
  rl as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
4122
4123
  nl as PROVIDER_FEATURE_MESSAGE_WINDOW,
4123
4124
  oi as PUBLIC_EMAIL_DOMAINS,
4124
- je as READ_STEP_TYPES,
4125
+ Ge as READ_STEP_TYPES,
4125
4126
  Yn as RELATED_SUBJECT_KINDS,
4126
4127
  Pt as RESERVED_STATUS_KEYS,
4127
4128
  Ac as RESERVED_TYPE_KEYS,
@@ -4155,15 +4156,15 @@ export {
4155
4156
  Ar as WORKSTREAM_SCOPE_KIND,
4156
4157
  uo as WORK_ACTIVITY_SCOPE_KIND,
4157
4158
  Qs as WORK_AREAS,
4158
- gc as WORK_COMMENT_ADDED,
4159
- wc as WORK_CYCLE_SYNC_KIND,
4160
- hc as WORK_ITEM_ASSIGNED,
4159
+ hc as WORK_COMMENT_ADDED,
4160
+ Tc as WORK_CYCLE_SYNC_KIND,
4161
+ gc as WORK_ITEM_ASSIGNED,
4161
4162
  co as WORK_ITEM_SCOPE_KIND,
4162
4163
  yc as WORK_ITEM_STATUS_CHANGED,
4163
4164
  lo as WORK_PROJECT_SCOPE_KIND,
4164
- X as W_PRIORITY,
4165
+ z as W_PRIORITY,
4165
4166
  fc as acceptExampleCandidate,
4166
- Tr as actingIdentityKey,
4167
+ Ir as actingIdentityKey,
4167
4168
  uc as activeWorkTypes,
4168
4169
  Ci as activityIconOf,
4169
4170
  Fi as activityJoinUrl,
@@ -4171,14 +4172,14 @@ export {
4171
4172
  Zt as activityTextParams,
4172
4173
  Ki as activityTimelineText,
4173
4174
  nn as activityTimestamp,
4174
- M as activityTypeInfo,
4175
- ha as actorKey,
4175
+ T as activityTypeInfo,
4176
+ ga as actorKey,
4176
4177
  dc as addExampleCandidate,
4177
4178
  _e as addWorkingMs,
4178
- wl as agePresenceEntry,
4179
+ Tl as agePresenceEntry,
4179
4180
  Ao as aiAttachmentKind,
4180
4181
  Fc as aiAttachmentRejection,
4181
- Re as aiBudgetLimit,
4182
+ De as aiBudgetLimit,
4182
4183
  Zi as aiBudgetPeriodKey,
4183
4184
  rn as aiBudgetPeriodStart,
4184
4185
  Ji as aiBudgetState,
@@ -4195,7 +4196,7 @@ export {
4195
4196
  ls as artifactOutline,
4196
4197
  us as artifactToMarkdown,
4197
4198
  Ea as assignmentMismatch,
4198
- hs as assignmentScopeKey,
4199
+ gs as assignmentScopeKey,
4199
4200
  As as assignmentSubject,
4200
4201
  ta as belongsOnCalendar,
4201
4202
  Bi as buildActivityPreview,
@@ -4203,7 +4204,7 @@ export {
4203
4204
  ds as buildShareKeys,
4204
4205
  Xo as buildWindow,
4205
4206
  Zn as calendarDaysBetween,
4206
- Te as calendarOf,
4207
+ Ie as calendarOf,
4207
4208
  Fs as canNestUnder,
4208
4209
  Va as canParent,
4209
4210
  na as capacityTotal,
@@ -4214,17 +4215,17 @@ export {
4214
4215
  tl as channelKindForScheme,
4215
4216
  Ni as channelKindOf,
4216
4217
  nc as checkInOverdueMs,
4217
- wa as clampStepMaxTokens,
4218
+ Ta as clampStepMaxTokens,
4218
4219
  vs as classifyMail,
4219
4220
  eu as cleanMessageMarkdown,
4220
4221
  Ql as cleanMessageText,
4221
4222
  Vc as compareAssistRank,
4222
4223
  to as compareWorkTypes,
4223
- q as countsAsPlanned,
4224
+ Y as countsAsPlanned,
4224
4225
  ra as coverageByPerson,
4225
4226
  sa as coverageFor,
4226
4227
  qn as coversWorkstream,
4227
- It as cycleDayIndex,
4228
+ wt as cycleDayIndex,
4228
4229
  Lc as cycleOrder,
4229
4230
  Pc as cycleState,
4230
4231
  Es as decideAssignmentState,
@@ -4234,7 +4235,7 @@ export {
4234
4235
  xc as defaultStatusKey,
4235
4236
  il as defineIntent,
4236
4237
  jn as depthOf,
4237
- Tl as derivePresence,
4238
+ Il as derivePresence,
4238
4239
  rs as describeClause,
4239
4240
  qc as disabledIntentsFromCapabilities,
4240
4241
  yl as documentKindOf,
@@ -4247,36 +4248,36 @@ export {
4247
4248
  zo as extractTerms,
4248
4249
  Qc as filterByEndpoint,
4249
4250
  Zc as filterByIntent,
4250
- Io as filterByTargetScheme,
4251
+ wo as filterByTargetScheme,
4251
4252
  ns as filterableDimensions,
4252
- Z as findAiVendor,
4253
+ q as findAiVendor,
4253
4254
  Ya as fixedLevelForName,
4254
4255
  _c as fixedTypeForName,
4255
- Tc as fixedTypes,
4256
+ Ic as fixedTypes,
4256
4257
  Al as flattenLocales,
4257
- B as floorToPeriod,
4258
+ F as floorToPeriod,
4258
4259
  la as forecastIntervals,
4259
4260
  _r as formatActingIdentity,
4260
4261
  ac as formatClock,
4261
4262
  sc as formatHm,
4262
4263
  Mc as formatItemKey,
4263
- F as formatPeriod,
4264
+ K as formatPeriod,
4264
4265
  ja as formatSlaDuration,
4265
4266
  Hc as freshSources,
4266
4267
  ji as getActivitySeenUserIds,
4267
- Ts as getContactEndpoints,
4268
+ Is as getContactEndpoints,
4268
4269
  $s as getShortTitle,
4269
4270
  Ds as getUrgencyScore,
4270
4271
  Da as hasReacted,
4271
4272
  Xa as healthCategory,
4272
4273
  qa as healthsInCategory,
4273
- wt as heightOf,
4274
+ Tt as heightOf,
4274
4275
  Ps as helpCenterText,
4275
4276
  Sa as humanizeAction,
4276
4277
  Or as interactionIdOf,
4277
4278
  mc as isAgentUser,
4278
4279
  xs as isAssigned,
4279
- gs as isAssignmentTerminal,
4280
+ hs as isAssignmentTerminal,
4280
4281
  Mr as isAssignmentTrigger,
4281
4282
  va as isAutoReady,
4282
4283
  Hn as isAwaitingThem,
@@ -4285,7 +4286,7 @@ export {
4285
4286
  Pi as isConnectedType,
4286
4287
  Dl as isDeepLink,
4287
4288
  Gn as isDescendant,
4288
- ws as isEligible,
4289
+ Ts as isEligible,
4289
4290
  Gi as isEmailActivity,
4290
4291
  Zl as isHtmlBody,
4291
4292
  Ca as isInFlight,
@@ -4343,10 +4344,10 @@ export {
4343
4344
  Yo as novelty,
4344
4345
  pl as operationDescriptor,
4345
4346
  fl as operationsForKind,
4346
- ie as overlapSeconds,
4347
+ re as overlapSeconds,
4347
4348
  ia as overlaps,
4348
4349
  Za as paceRatio,
4349
- Is as parkMarksById,
4350
+ ws as parkMarksById,
4350
4351
  ma as parseActingIdentity,
4351
4352
  $a as parseClockMinutes,
4352
4353
  kc as parseItemKey,
@@ -4362,14 +4363,14 @@ export {
4362
4363
  Ka as planSlaEvent,
4363
4364
  aa as plannedBillable,
4364
4365
  ur as plannedWorkTypeKey,
4365
- Ir as playbookActor,
4366
+ wr as playbookActor,
4366
4367
  ka as procedureOf,
4367
4368
  Cc as projectDossierKeys,
4368
4369
  Lo as publicBasePathFor,
4369
4370
  Ll as publicRoutePatterns,
4370
4371
  bs as reactionWakesAssignment,
4371
- le as readPath,
4372
- Ge as readStepError,
4372
+ ce as readPath,
4373
+ We as readStepError,
4373
4374
  Un as recencyOf,
4374
4375
  kr as refKey,
4375
4376
  ri as registrableDomain,
@@ -4378,16 +4379,16 @@ export {
4378
4379
  ye as remainingMsOf,
4379
4380
  ir as requiredAgents,
4380
4381
  lr as requirementFor,
4381
- To as resolveAccountCapabilities,
4382
- ue as resolveActivityText,
4382
+ Io as resolveAccountCapabilities,
4383
+ le as resolveActivityText,
4383
4384
  _o as resolveChannelIntents,
4384
- Tn as resolveSignature,
4385
- Il as resolveWorkMode,
4385
+ In as resolveSignature,
4386
+ wl as resolveWorkMode,
4386
4387
  Nl as resourceKindOf,
4387
4388
  tc as rollupChildren,
4388
- ga as runActor,
4389
+ ha as runActor,
4389
4390
  xa as runInteractionId,
4390
- hn as sanitizeInline,
4391
+ gn as sanitizeInline,
4391
4392
  Fo as sanitizeTranscript,
4392
4393
  ua as scheduleEntryScopeKey,
4393
4394
  Ns as scoreInteraction,
@@ -4404,7 +4405,7 @@ export {
4404
4405
  Ha as slaBadgeTone,
4405
4406
  Os as slaHoursByInbox,
4406
4407
  Bn as slaHoursFor,
4407
- go as sortStatuses,
4408
+ ho as sortStatuses,
4408
4409
  So as sourceKey,
4409
4410
  Sr as spreadOverWeights,
4410
4411
  Nc as statusIn,
@@ -4423,7 +4424,7 @@ export {
4423
4424
  ba as targetForActivityType,
4424
4425
  rc as targetOrder,
4425
4426
  Qn as termsFor,
4426
- wr as toActingIdentity,
4427
+ Tr as toActingIdentity,
4427
4428
  ot as toE164,
4428
4429
  ps as toolSourceKinds,
4429
4430
  so as topicOfferedForTeam,
@@ -4440,11 +4441,11 @@ export {
4440
4441
  ya as valueAtPath,
4441
4442
  Ee as waitHoursOf,
4442
4443
  ys as wakesAssignment,
4443
- Ic as workActivityScopeKey,
4444
+ wc as workActivityScopeKey,
4444
4445
  fo as workItemScopeKey,
4445
4446
  Lt as workProjectScopeKey,
4446
4447
  ec as workRatio,
4447
- ho as workStatusKey,
4448
+ go as workStatusKey,
4448
4449
  eo as workTypeKey,
4449
4450
  me as workingMsBetween,
4450
4451
  da as workstreamScopeKey