@opencxh/domain 1.210.0 → 1.211.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 fr = 10, mr = 10, gr = 10, hr = 5, xe = /* @__PURE__ */ new Set([
1
+ const yr = 10, Ar = 10, br = 10, Er = 5, xe = /* @__PURE__ */ new Set([
2
2
  "header",
3
3
  "section",
4
4
  "context",
@@ -14,7 +14,7 @@ function w(e) {
14
14
  const t = e;
15
15
  return typeof t.key == "string" || typeof t.value == "string";
16
16
  }
17
- function yr(e, t = () => {
17
+ function Sr(e, t = () => {
18
18
  }) {
19
19
  if (!Array.isArray(e)) return [];
20
20
  const n = [];
@@ -452,50 +452,50 @@ function K(e) {
452
452
  const t = e.payload, n = Pe(t.bodyText).trim() || t.bodySnippet?.trim() || Ue(t.body ?? "");
453
453
  return t.subject ? `${t.subject} — ${n}` : n;
454
454
  }
455
- function d(e) {
455
+ function p(e) {
456
456
  return m[e];
457
457
  }
458
- function Ar(e) {
459
- return d(e)?.icon ?? "circle";
458
+ function _r(e) {
459
+ return p(e)?.icon ?? "circle";
460
460
  }
461
- function br(e) {
462
- return d(e)?.channelKind;
461
+ function Tr(e) {
462
+ return p(e)?.channelKind;
463
463
  }
464
464
  function pe(e) {
465
465
  return e === "message" || e === "note";
466
466
  }
467
- function Er(e) {
468
- return pe(d(e)?.shape);
467
+ function Ir(e) {
468
+ return pe(p(e)?.shape);
469
469
  }
470
- function Sr(e) {
471
- return d(e)?.replyable === !0;
470
+ function wr(e) {
471
+ return p(e)?.replyable === !0;
472
472
  }
473
- function _r(e) {
474
- return d(e)?.carriesText === !0;
473
+ function Mr(e) {
474
+ return p(e)?.carriesText === !0;
475
475
  }
476
476
  function Ke(e) {
477
- return d(e)?.countsAs;
477
+ return p(e)?.countsAs;
478
478
  }
479
- function Tr(e) {
480
- return d(e)?.playbookAuthored === !0;
479
+ function kr(e) {
480
+ return p(e)?.playbookAuthored === !0;
481
481
  }
482
- function Ir(e) {
483
- return d(e)?.connected === !0;
482
+ function Cr(e) {
483
+ return p(e)?.connected === !0;
484
484
  }
485
- function wr(e) {
486
- const t = d(e);
485
+ function Or(e) {
486
+ const t = p(e);
487
487
  return t?.shape === "artifact" && t?.carriesText === !0;
488
488
  }
489
489
  function je(e) {
490
- const t = d(e.type)?.snippet;
490
+ const t = p(e.type)?.snippet;
491
491
  return t ? t(e) : "";
492
492
  }
493
- function Mr(e, t) {
494
- const n = d(e.type)?.timeline;
493
+ function Nr(e, t) {
494
+ const n = p(e.type)?.timeline;
495
495
  return n ? n(e, t) : e.type.replace(/_/g, " ").toLowerCase();
496
496
  }
497
- function kr(e) {
498
- const t = d(e.type)?.joinUrl;
497
+ function vr(e) {
498
+ const t = p(e.type)?.joinUrl;
499
499
  return t ? t(e) : void 0;
500
500
  }
501
501
  function R(e, t) {
@@ -529,7 +529,7 @@ function Be(e) {
529
529
  const t = e.trim();
530
530
  return t.length <= j ? t : `${t.slice(0, j - 1).trimEnd()}…`;
531
531
  }
532
- function Cr(e, t) {
532
+ function Rr(e, t) {
533
533
  const n = Ge(t?.text, e), r = t ? $(t.text, e, (i) => i) : null;
534
534
  return {
535
535
  activityId: e.id,
@@ -659,8 +659,8 @@ class Fe {
659
659
  return this.translate;
660
660
  }
661
661
  }
662
- const Or = new Fe();
663
- function vr(e, t, n = []) {
662
+ const $r = new Fe();
663
+ function xr(e, t, n = []) {
664
664
  const r = e.createdAt;
665
665
  if (!r) return [];
666
666
  const i = new Set(n);
@@ -669,10 +669,10 @@ function vr(e, t, n = []) {
669
669
  function We(e) {
670
670
  return e.createdAt ?? 0;
671
671
  }
672
- function Nr(e) {
672
+ function Lr(e) {
673
673
  return e.type === "EMAIL_RECEIVED" || e.type === "EMAIL_SENT";
674
674
  }
675
- function Rr(e) {
675
+ function Dr(e) {
676
676
  return e.type === "CHAT_MESSAGE_SENT" || e.type === "CHAT_MESSAGE_RECEIVED";
677
677
  }
678
678
  const fe = [
@@ -768,23 +768,23 @@ const fe = [
768
768
  function T(e) {
769
769
  return fe.find((t) => t.id === e);
770
770
  }
771
- function $r(e) {
771
+ function Pr(e) {
772
772
  return T(e)?.label ?? e;
773
773
  }
774
- function xr(e, t = "gpt-5-mini") {
774
+ function Ur(e, t = "gpt-5-mini") {
775
775
  return T(e)?.defaultModel ?? t;
776
776
  }
777
- function Lr(e) {
777
+ function Kr(e) {
778
778
  return fe.filter((t) => t.capabilities.includes(e));
779
779
  }
780
- function Dr(e) {
780
+ function jr(e) {
781
781
  const t = T(e);
782
782
  return !!t && !t.baseUrl;
783
783
  }
784
- function Pr(e, t) {
784
+ function Gr(e, t) {
785
785
  return t === "text" ? !0 : T(e)?.attachmentKinds?.includes(t) === !0;
786
786
  }
787
- function Ur(e, t) {
787
+ function Br(e, t) {
788
788
  if (!e.enabled) return "ok";
789
789
  const n = H(e.hardLimitNanos), r = H(e.softLimitNanos);
790
790
  return n !== void 0 && t >= n ? "hard" : r !== void 0 && t >= r ? "soft" : "ok";
@@ -796,14 +796,14 @@ function Ve(e, t = "month") {
796
796
  const n = new Date(e);
797
797
  return Date.UTC(n.getUTCFullYear(), n.getUTCMonth(), 1);
798
798
  }
799
- function Kr(e, t = "month") {
799
+ function Hr(e, t = "month") {
800
800
  const n = new Date(Ve(e, t));
801
801
  return `${n.getUTCFullYear()}-${String(n.getUTCMonth() + 1).padStart(2, "0")}`;
802
802
  }
803
- function jr(e) {
803
+ function Fr(e) {
804
804
  return e?.listeningEnabled !== !1;
805
805
  }
806
- const Gr = [
806
+ const Wr = [
807
807
  { id: "agent", label: "Agent", labelSource: "user" },
808
808
  { id: "team", label: "Team", labelSource: "team" },
809
809
  { id: "inbox", label: "Inbox", labelSource: "inbox" },
@@ -825,7 +825,7 @@ function Xe(e, t) {
825
825
  return n.setUTCMinutes(0, 0, 0), t === "day" && n.setUTCHours(0), n.getTime();
826
826
  }
827
827
  const Ye = 36e5, qe = 864e5;
828
- function Br(e, t, n) {
828
+ function Vr(e, t, n) {
829
829
  const r = n === "hour" ? Ye : qe, i = [];
830
830
  for (let o = Xe(e, n); o <= t; o += r)
831
831
  i.push(ze(o, n));
@@ -838,7 +838,7 @@ const Je = [
838
838
  function Qe(e, t) {
839
839
  return `${e}.usage.${t}`;
840
840
  }
841
- function Hr(e, t) {
841
+ function zr(e, t) {
842
842
  return t.map((n) => ({
843
843
  id: Qe(e, n.unit),
844
844
  label: n.label,
@@ -853,7 +853,7 @@ function Hr(e, t) {
853
853
  ]
854
854
  }));
855
855
  }
856
- const me = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), F = 200, W = 100, V = 200, z = 12, X = 4, ge = 4e3, C = 500, Fr = 256 * 1024, et = /* @__PURE__ */ new Set([
856
+ const me = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), F = 200, W = 100, V = 200, z = 12, X = 4, ge = 4e3, C = 500, Xr = 256 * 1024, et = /* @__PURE__ */ new Set([
857
857
  "heading",
858
858
  "paragraph",
859
859
  "list",
@@ -913,7 +913,7 @@ function ot(e) {
913
913
  (t, n, r) => he(r) ? t : ""
914
914
  );
915
915
  }
916
- function u(e, t = ge) {
916
+ function d(e, t = ge) {
917
917
  return typeof e == "string" ? ot(e).slice(0, t) : "";
918
918
  }
919
919
  function at(e, t = ge) {
@@ -922,7 +922,7 @@ function at(e, t = ge) {
922
922
  function st(e, t = "info") {
923
923
  return typeof e == "string" && me.has(e) ? e : t;
924
924
  }
925
- function Wr(e, t = () => {
925
+ function Yr(e, t = () => {
926
926
  }) {
927
927
  if (!Array.isArray(e)) return [];
928
928
  const n = [];
@@ -940,7 +940,7 @@ function Wr(e, t = () => {
940
940
  const o = typeof i.block_id == "string" ? { block_id: i.block_id } : {};
941
941
  switch (i.type) {
942
942
  case "heading": {
943
- const a = u(i.text);
943
+ const a = d(i.text);
944
944
  if (!a) {
945
945
  t("a heading without text");
946
946
  continue;
@@ -950,7 +950,7 @@ function Wr(e, t = () => {
950
950
  break;
951
951
  }
952
952
  case "paragraph": {
953
- const a = u(i.text);
953
+ const a = d(i.text);
954
954
  if (!a) {
955
955
  t("a paragraph without text");
956
956
  continue;
@@ -959,7 +959,7 @@ function Wr(e, t = () => {
959
959
  break;
960
960
  }
961
961
  case "quote": {
962
- const a = u(i.text);
962
+ const a = d(i.text);
963
963
  if (!a) {
964
964
  t("a quote without text");
965
965
  continue;
@@ -982,15 +982,15 @@ function Wr(e, t = () => {
982
982
  break;
983
983
  case "list": {
984
984
  const a = Array.isArray(i.items) ? i.items : [], s = [];
985
- for (const p of a) {
985
+ for (const l of a) {
986
986
  if (s.length >= W) {
987
987
  t(`more than ${W} list items`);
988
988
  break;
989
989
  }
990
- const f = u(p?.text);
990
+ const f = d(l?.text);
991
991
  if (!f) continue;
992
- const l = u(p?.lead, 200);
993
- s.push(l ? { lead: l, text: f } : { text: f });
992
+ const u = d(l?.lead, 200);
993
+ s.push(u ? { lead: u, text: f } : { text: f });
994
994
  }
995
995
  if (s.length === 0) {
996
996
  t("a list without usable items");
@@ -1002,33 +1002,33 @@ function Wr(e, t = () => {
1002
1002
  }
1003
1003
  case "table": {
1004
1004
  const a = Array.isArray(i.columns) ? i.columns : [], s = [];
1005
- for (const l of a) {
1005
+ for (const u of a) {
1006
1006
  if (s.length >= z) {
1007
1007
  t(`more than ${z} table columns`);
1008
1008
  break;
1009
1009
  }
1010
- const A = u(l?.label, C), I = l?.align === "right" ? "right" : void 0;
1010
+ const A = d(u?.label, C), I = u?.align === "right" ? "right" : void 0;
1011
1011
  s.push(I ? { label: A, align: I } : { label: A });
1012
1012
  }
1013
1013
  if (s.length === 0) {
1014
1014
  t("a table without columns");
1015
1015
  continue;
1016
1016
  }
1017
- const c = Array.isArray(i.rows) ? i.rows : [], p = [];
1018
- for (const l of c) {
1019
- if (p.length >= V) {
1017
+ const c = Array.isArray(i.rows) ? i.rows : [], l = [];
1018
+ for (const u of c) {
1019
+ if (l.length >= V) {
1020
1020
  t(`more than ${V} table rows`);
1021
1021
  break;
1022
1022
  }
1023
- const A = Array.isArray(l) ? l : [];
1024
- p.push(s.map((I, $e) => u(A[$e], C)));
1023
+ const A = Array.isArray(u) ? u : [];
1024
+ l.push(s.map((I, $e) => d(A[$e], C)));
1025
1025
  }
1026
- const f = u(i.caption, C);
1026
+ const f = d(i.caption, C);
1027
1027
  n.push({
1028
1028
  ...o,
1029
1029
  type: "table",
1030
1030
  columns: s,
1031
- rows: p,
1031
+ rows: l,
1032
1032
  ...f ? { caption: f } : {}
1033
1033
  });
1034
1034
  break;
@@ -1040,11 +1040,11 @@ function Wr(e, t = () => {
1040
1040
  t(`more than ${X} kpi items`);
1041
1041
  break;
1042
1042
  }
1043
- const p = u(c?.value, 40), f = u(c?.label, 80);
1044
- if (!p || !f) continue;
1045
- const l = c?.tone;
1043
+ const l = d(c?.value, 40), f = d(c?.label, 80);
1044
+ if (!l || !f) continue;
1045
+ const u = c?.tone;
1046
1046
  s.push(
1047
- typeof l == "string" && me.has(l) ? { value: p, label: f, tone: l } : { value: p, label: f }
1047
+ typeof u == "string" && me.has(u) ? { value: l, label: f, tone: u } : { value: l, label: f }
1048
1048
  );
1049
1049
  }
1050
1050
  if (s.length === 0) {
@@ -1055,12 +1055,12 @@ function Wr(e, t = () => {
1055
1055
  break;
1056
1056
  }
1057
1057
  case "callout": {
1058
- const a = u(i.text);
1058
+ const a = d(i.text);
1059
1059
  if (!a) {
1060
1060
  t("a callout without text");
1061
1061
  continue;
1062
1062
  }
1063
- const s = u(i.title, 200);
1063
+ const s = d(i.title, 200);
1064
1064
  n.push({
1065
1065
  ...o,
1066
1066
  type: "callout",
@@ -1074,10 +1074,10 @@ function Wr(e, t = () => {
1074
1074
  }
1075
1075
  return n;
1076
1076
  }
1077
- function Vr(e) {
1077
+ function qr(e) {
1078
1078
  return JSON.stringify(e).length;
1079
1079
  }
1080
- function zr(e) {
1080
+ function Jr(e) {
1081
1081
  return {
1082
1082
  blocks: e.length,
1083
1083
  types: e.map((t) => t.type),
@@ -1129,7 +1129,7 @@ function ct(e) {
1129
1129
  return (e.title ? `**${e.title}** ${e.text}` : e.text).split(/\r?\n/).map((n) => `> ${n}`);
1130
1130
  }
1131
1131
  }
1132
- function Xr(e, t) {
1132
+ function Zr(e, t) {
1133
1133
  const n = [], r = e.some((i) => i.type === "heading" && i.level === 1);
1134
1134
  t && !r && n.push(`# ${t}`);
1135
1135
  for (const i of e) {
@@ -1143,40 +1143,40 @@ function Xr(e, t) {
1143
1143
  `;
1144
1144
  }
1145
1145
  const ye = (e) => `user:${e}`, Ae = (e) => `team:${e}`;
1146
- function Yr(e) {
1146
+ function Qr(e) {
1147
1147
  const t = /* @__PURE__ */ new Set();
1148
1148
  for (const n of e ?? [])
1149
1149
  n?.id && (n.kind === "user" && t.add(ye(n.id)), n.kind === "team" && t.add(Ae(n.id)));
1150
1150
  return [...t].sort();
1151
1151
  }
1152
- function qr(e, t) {
1152
+ function ei(e, t) {
1153
1153
  return [ye(e), ...t.map(Ae)];
1154
1154
  }
1155
- function Jr(e) {
1155
+ function ti(e) {
1156
1156
  const t = /* @__PURE__ */ new Set();
1157
1157
  for (const n of e ?? [])
1158
1158
  n?.kind && t.add(n.kind);
1159
1159
  return [...t];
1160
1160
  }
1161
1161
  const lt = ["done", "escalated"];
1162
- function Zr(e) {
1162
+ function ni(e) {
1163
1163
  return lt.includes(e);
1164
1164
  }
1165
1165
  const ut = "assignment";
1166
- function Qr(e) {
1166
+ function ri(e) {
1167
1167
  return `${ut}:${e}`;
1168
1168
  }
1169
- function ei(e, t, n) {
1169
+ function ii(e, t, n) {
1170
1170
  if (e.direction === "inbound") return !0;
1171
1171
  if (e.author?.type === "user" && e.author.id === t) return !1;
1172
1172
  const r = e.payload?.mentions;
1173
1173
  return Array.isArray(r) && r.includes(t) ? !0 : n === "reply";
1174
1174
  }
1175
- function ti(e) {
1175
+ function oi(e) {
1176
1176
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
1177
1177
  }
1178
1178
  const dt = 12;
1179
- function ni(e, t, n = dt) {
1179
+ function ai(e, t, n = dt) {
1180
1180
  const r = t + 1;
1181
1181
  return e ? e.kind === "done" ? { status: "done", waitingOn: null, turns: r, reason: e.note } : e.kind === "escalate" ? { status: "escalated", waitingOn: null, turns: r, reason: e.reason } : r >= n ? {
1182
1182
  status: "escalated",
@@ -1190,28 +1190,28 @@ function ni(e, t, n = dt) {
1190
1190
  reason: "de agent rondde zijn beurt af zonder te zeggen wat er moet gebeuren (wachten, afronden of overdragen)"
1191
1191
  };
1192
1192
  }
1193
- const ri = /* @__PURE__ */ new Set(["mail", "message"]);
1193
+ const si = /* @__PURE__ */ new Set(["mail", "message"]);
1194
1194
  function pt(e, t) {
1195
1195
  const n = e.settings?.signatures?.[t];
1196
1196
  return !n?.enabled || !n.body || n.body.trim() === "" ? null : n;
1197
1197
  }
1198
- function ii(e, t, n, r = "html") {
1198
+ function ci(e, t, n, r = "html") {
1199
1199
  if (!e) return n;
1200
1200
  const i = pt(e, t);
1201
1201
  return i ? `${n}${r === "text" ? `
1202
1202
 
1203
1203
  ` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${i.body}` : n;
1204
1204
  }
1205
- function oi(e) {
1205
+ function li(e) {
1206
1206
  return e.endpoints ?? [];
1207
1207
  }
1208
- const ft = 36e5, mt = 864e5, g = -1 / 0, ai = (e) => e.score > g, _ = {
1208
+ const ft = 36e5, mt = 864e5, g = -1 / 0, ui = (e) => e.score > g, _ = {
1209
1209
  urgent: 40,
1210
1210
  high: 25,
1211
1211
  normal: 10,
1212
1212
  low: 0
1213
1213
  };
1214
- function si(e) {
1214
+ function di(e) {
1215
1215
  return Object.fromEntries(e.map((t) => [t.resourceId, t]));
1216
1216
  }
1217
1217
  const gt = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, ht = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
@@ -1219,7 +1219,7 @@ function yt(e, t) {
1219
1219
  return !!(e && gt.test(e) || t && ht.test(t));
1220
1220
  }
1221
1221
  const At = 3, bt = 600;
1222
- function ci(e, t) {
1222
+ function pi(e, t) {
1223
1223
  return e >= At || t >= bt;
1224
1224
  }
1225
1225
  function Et(e, t) {
@@ -1248,20 +1248,20 @@ function Ct(e, t) {
1248
1248
  const n = e.assignedInboxId ? t?.[e.assignedInboxId] : void 0;
1249
1249
  return typeof n == "number" && n > 0 ? n : Tt[e.priority ?? "normal"];
1250
1250
  }
1251
- function li(e) {
1251
+ function fi(e) {
1252
1252
  const t = {};
1253
1253
  for (const n of e)
1254
1254
  typeof n.slaHours == "number" && n.slaHours > 0 && (t[n.id] = n.slaHours);
1255
1255
  return t;
1256
1256
  }
1257
- function ui(e, t, n) {
1257
+ function mi(e, t, n) {
1258
1258
  return !Ee(e.status) || e.firstResponseAt ? !1 : x(e, t) > Ct(e, n);
1259
1259
  }
1260
1260
  function Ot(e, t) {
1261
1261
  const n = e.lastActivityPreview;
1262
1262
  return n?.direction !== "outbound" || !be(n.type) ? !1 : x(e, t) < It;
1263
1263
  }
1264
- function di(e, t) {
1264
+ function gi(e, t) {
1265
1265
  if (!Ee(e.status)) return { score: g, reasons: [] };
1266
1266
  if (e.snoozedTill && e.snoozedTill > t.now) return { score: g, reasons: [] };
1267
1267
  if (Ot(e, t.now)) return { score: g, reasons: [] };
@@ -1277,17 +1277,17 @@ function di(e, t) {
1277
1277
  const a = e.lastActivityPreview;
1278
1278
  return a?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), a?.direction === "outbound" && be(a.type) && (n += 10, r.push("no-reply")), !e.firstResponseAt && e.lastActivityPreview?.direction === "inbound" && (n += 10, r.push("awaiting-reply")), yt(e.remoteParty?.resource, e.lastActivityPreview?.snippet) && (n -= _t, r.push("bulk")), { score: n, reasons: r };
1279
1279
  }
1280
- const pi = (e) => !!e.assignedUserId || !!e.assignedInboxId, fi = (e) => e.status === "closed", mi = (e) => ({
1280
+ const hi = (e) => !!e.assignedUserId || !!e.assignedInboxId, yi = (e) => e.status === "closed", Ai = (e) => ({
1281
1281
  urgent: 10,
1282
1282
  high: 5,
1283
1283
  normal: 2,
1284
1284
  low: 1
1285
- })[e.priority] || 0, gi = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1286
- function hi(e, t) {
1285
+ })[e.priority] || 0, bi = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1286
+ function Ei(e, t) {
1287
1287
  const n = e.labels ?? [];
1288
1288
  return n.find((r) => r.locale === t)?.label ?? n[0]?.label ?? e.url;
1289
1289
  }
1290
- function yi(e, t, n) {
1290
+ function Si(e, t, n) {
1291
1291
  const r = e.translations ?? [];
1292
1292
  return r.find((i) => i.locale === t) ?? (n ? r.find((i) => i.locale === n) : void 0) ?? { locale: t };
1293
1293
  }
@@ -1310,15 +1310,15 @@ function Se(e) {
1310
1310
  const t = (e ?? "").toLowerCase();
1311
1311
  return Z.find((n) => n.code === t) ?? Z.find((n) => n.code === t.split("-")[0]);
1312
1312
  }
1313
- function Ai(e) {
1313
+ function _i(e) {
1314
1314
  return Se(e)?.label ?? e;
1315
1315
  }
1316
- function bi(e) {
1316
+ function Ti(e) {
1317
1317
  const t = Se(e);
1318
1318
  return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
1319
1319
  }
1320
1320
  const _e = 3;
1321
- function vt(e, t) {
1321
+ function Nt(e, t) {
1322
1322
  const n = /* @__PURE__ */ new Set();
1323
1323
  let r = 1, i = t.get(e)?.parentId;
1324
1324
  for (; i; ) {
@@ -1327,15 +1327,15 @@ function vt(e, t) {
1327
1327
  }
1328
1328
  return r;
1329
1329
  }
1330
- function Ei(e, t, n) {
1330
+ function Ii(e, t, n) {
1331
1331
  if (!e) return !0;
1332
1332
  if (e === t) return !1;
1333
1333
  const r = new Map(n.map((a) => [a.id, a]));
1334
- if (!r.has(e) || t && Nt(e, t, r)) return !1;
1335
- const i = vt(e, r), o = t ? Te(t, n) : 1;
1334
+ if (!r.has(e) || t && vt(e, t, r)) return !1;
1335
+ const i = Nt(e, r), o = t ? Te(t, n) : 1;
1336
1336
  return i + o <= _e;
1337
1337
  }
1338
- function Nt(e, t, n) {
1338
+ function vt(e, t, n) {
1339
1339
  const r = /* @__PURE__ */ new Set();
1340
1340
  let i = n.get(e)?.parentId;
1341
1341
  for (; i; ) {
@@ -1355,13 +1355,13 @@ const Rt = "en";
1355
1355
  function $t(e) {
1356
1356
  return e.defaultLocale || e.locale || Rt;
1357
1357
  }
1358
- function Si(e) {
1358
+ function wi(e) {
1359
1359
  const t = /* @__PURE__ */ new Set(), n = [];
1360
1360
  for (const r of [$t(e), ...e.locales ?? []])
1361
1361
  !r || t.has(r) || (t.add(r), n.push(r));
1362
1362
  return n;
1363
1363
  }
1364
- function _i(e, t, n) {
1364
+ function Mi(e, t, n) {
1365
1365
  const r = e.translations ?? [];
1366
1366
  return r.find((i) => i.locale === t)?.name ?? (n ? r.find((i) => i.locale === n)?.name : void 0) ?? e.name;
1367
1367
  }
@@ -1392,22 +1392,22 @@ function xt(e, t) {
1392
1392
  return e.userId === t.userId;
1393
1393
  }
1394
1394
  }
1395
- function Ti(e, t) {
1395
+ function ki(e, t) {
1396
1396
  return e.filter((n) => n.enabled && xt(n.ownerScope, t));
1397
1397
  }
1398
- function Ii(e) {
1398
+ function Ci(e) {
1399
1399
  return e.credentialScope ? e.credentialScope : (e.authMode ?? "header") === "header" || e.oauth?.scope === "org" ? "shared" : "per-user";
1400
1400
  }
1401
- function wi(e) {
1401
+ function Oi(e) {
1402
1402
  return `mcp__${e}__`;
1403
1403
  }
1404
- const Mi = 1e3, ki = 2e3, Ci = 500, Oi = 12e3, vi = 4e3, Lt = ["contact", "company", "work_item"];
1405
- function Ni(e) {
1404
+ const Ni = 1e3, vi = 2e3, Ri = 500, $i = 12e3, xi = 4e3, Lt = ["contact", "company", "work_item"];
1405
+ function Li(e) {
1406
1406
  if (!e) return !1;
1407
1407
  const t = e.slice(0, e.indexOf(":"));
1408
1408
  return Lt.includes(t);
1409
1409
  }
1410
- const Ri = "onboarding-source", $i = ["support", "billing", "availability", "sales", "onboarding"], xi = ["keep", "replace"];
1410
+ const Di = "onboarding-source", Pi = ["support", "billing", "availability", "sales", "onboarding"], Ui = ["keep", "replace"];
1411
1411
  function Dt(e) {
1412
1412
  switch (e.kind) {
1413
1413
  case "user":
@@ -1418,7 +1418,7 @@ function Dt(e) {
1418
1418
  return "org";
1419
1419
  }
1420
1420
  }
1421
- function Li(e) {
1421
+ function Ki(e) {
1422
1422
  if (typeof e != "string") return;
1423
1423
  const t = e.trim();
1424
1424
  if (t === "org") return { kind: "org" };
@@ -1444,13 +1444,13 @@ function Ut(e) {
1444
1444
  }
1445
1445
  }
1446
1446
  const Kt = Ut;
1447
- function Di(e) {
1447
+ function ji(e) {
1448
1448
  return e.agentId ? { kind: "user", userId: e.agentId } : Kt(e.ownerScope);
1449
1449
  }
1450
- function Pi(e) {
1450
+ function Gi(e) {
1451
1451
  return Pt(e);
1452
1452
  }
1453
- function Ui(e, t) {
1453
+ function Bi(e, t) {
1454
1454
  if (!t) return;
1455
1455
  let n = e;
1456
1456
  for (const r of t.split(".")) {
@@ -1459,24 +1459,24 @@ function Ui(e, t) {
1459
1459
  }
1460
1460
  return n;
1461
1461
  }
1462
- function Ki(e, t) {
1462
+ function Hi(e, t) {
1463
1463
  return e.targets.find((n) => n.activityTypes.includes(t));
1464
1464
  }
1465
- function ji(e, t) {
1465
+ function Fi(e, t) {
1466
1466
  if (t)
1467
1467
  return e.targets.find((n) => n.id === t);
1468
1468
  }
1469
1469
  function jt(e) {
1470
1470
  return e?.kind === "assignment";
1471
1471
  }
1472
- function Gi(e) {
1472
+ function Wi(e) {
1473
1473
  const { trigger: t, agentId: n, target: r, activityType: i, assigneeUserId: o, authorUserId: a } = e;
1474
1474
  return jt(t) ? n ? r ? r.activityTypes.includes(i) ? o ? o !== n ? "assigned to someone else" : a && a === n ? "the agent assigned this to itself, which would restart its own run" : null : `no assignee found at ${r.assigneePath}` : `activity type ${i} does not announce an assignment for ${r.id}` : `assignment target kind "${t.targetKind}" is not declared by any installed app` : "this playbook has no agent, so an assignment can never be for it" : "trigger is not an assignment trigger";
1475
1475
  }
1476
- function Bi(e) {
1476
+ function Vi(e) {
1477
1477
  return (e.startsWith("tool:") ? e.slice(5) : e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
1478
1478
  }
1479
- const Hi = [
1479
+ const zi = [
1480
1480
  { name: "text", type: "string" },
1481
1481
  { name: "subject", type: "string" },
1482
1482
  { name: "from", type: "string" },
@@ -1510,7 +1510,7 @@ const Hi = [
1510
1510
  // `buildTriggerVars` cannot fill it itself: the job does that with the catalog in hand, before
1511
1511
  // the trigger filter runs — like contactId/companyId above.
1512
1512
  { name: "assigneeUserId", type: "string" }
1513
- ], Fi = {
1513
+ ], Xi = {
1514
1514
  topics: [
1515
1515
  { name: "topicId", type: "string" },
1516
1516
  { name: "topic", type: "string" },
@@ -1532,16 +1532,16 @@ function Ht(e) {
1532
1532
  return e?.type === Bt ? e.id : void 0;
1533
1533
  }
1534
1534
  const Ft = 64, Wt = 8e3;
1535
- function Wi(e) {
1535
+ function Yi(e) {
1536
1536
  const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
1537
1537
  if (!(!Number.isFinite(t) || t <= 0))
1538
1538
  return Math.min(Math.max(Math.round(t), Ft), Wt);
1539
1539
  }
1540
- const Vi = { kind: "workflow", steps: [] };
1541
- function zi(e) {
1540
+ const qi = { kind: "workflow", steps: [] };
1541
+ function Ji(e) {
1542
1542
  return e?.kind === "workflow" ? e.steps : [];
1543
1543
  }
1544
- function Xi(e) {
1544
+ function Zi(e) {
1545
1545
  return e?.kind === "procedure" ? e.procedure : void 0;
1546
1546
  }
1547
1547
  function Vt(e) {
@@ -1549,52 +1549,52 @@ function Vt(e) {
1549
1549
  return { total: n, rate: n ? t / n : 0 };
1550
1550
  }
1551
1551
  const zt = 10, Xt = 0.9;
1552
- function Yi(e) {
1552
+ function Qi(e) {
1553
1553
  const { total: t, rate: n } = Vt(e);
1554
1554
  return t >= zt && n >= Xt;
1555
1555
  }
1556
1556
  const Yt = ["done", "escalated", "failed", "stopped"];
1557
- function qi(e) {
1557
+ function eo(e) {
1558
1558
  return Yt.includes(e);
1559
1559
  }
1560
1560
  function qt(e) {
1561
1561
  return e === "waiting";
1562
1562
  }
1563
- function Ji(e) {
1563
+ function to(e) {
1564
1564
  return e === "running" || qt(e);
1565
1565
  }
1566
1566
  function Ie(e) {
1567
1567
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
1568
1568
  }
1569
- function Zi(e) {
1569
+ function no(e) {
1570
1570
  const t = Ie(e);
1571
1571
  return t ? Gt(t) : void 0;
1572
1572
  }
1573
- function Qi(e) {
1573
+ function ro(e) {
1574
1574
  return Ht(Ie(e));
1575
1575
  }
1576
- function eo(e, t) {
1576
+ function io(e, t) {
1577
1577
  const n = e.accumulatedSeconds || 0;
1578
1578
  return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
1579
1579
  }
1580
- function to(e, t) {
1580
+ function oo(e, t) {
1581
1581
  const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
1582
1582
  if (!t || t === "exact") return n * 60;
1583
1583
  const r = Number(t);
1584
1584
  return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
1585
1585
  }
1586
- function no(e) {
1586
+ function ao(e) {
1587
1587
  const t = Math.max(0, Math.round(e / 60));
1588
1588
  return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
1589
1589
  }
1590
- function ro(e) {
1590
+ function so(e) {
1591
1591
  const t = Math.max(0, Math.floor(e)), n = (o) => String(o).padStart(2, "0"), r = Math.floor(t / 60) % 60, i = Math.floor(t / 3600);
1592
1592
  return i > 0 ? `${i}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
1593
1593
  }
1594
1594
  function Jt(e) {
1595
1595
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
1596
1596
  }
1597
- function io(e, t) {
1597
+ function co(e, t) {
1598
1598
  const n = Jt(e) || "werksoort", r = new Set(t);
1599
1599
  if (!r.has(n)) return n;
1600
1600
  for (let i = 2; i < 500; i++) {
@@ -1603,11 +1603,11 @@ function io(e, t) {
1603
1603
  }
1604
1604
  return `${n}-${r.size + 1}`;
1605
1605
  }
1606
- function oo(e, t) {
1606
+ function lo(e, t) {
1607
1607
  const n = e.ownerScope;
1608
1608
  return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
1609
1609
  }
1610
- function ao(e) {
1610
+ function uo(e) {
1611
1611
  return e.filter((t) => !t.archived).sort(Zt);
1612
1612
  }
1613
1613
  function Zt(e, t) {
@@ -1624,7 +1624,7 @@ function tn(e) {
1624
1624
  const n = t.slice(0, O), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
1625
1625
  return r > O * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
1626
1626
  }
1627
- function so(e, t) {
1627
+ function po(e, t) {
1628
1628
  const n = tn(t.text), r = h(n);
1629
1629
  if (!r || (e.examples ?? []).some((a) => h(a) === r)) return null;
1630
1630
  const i = e.exampleCandidates ?? [], o = i.findIndex((a) => h(a.text) === r);
@@ -1640,7 +1640,7 @@ function te(e) {
1640
1640
  (t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt
1641
1641
  );
1642
1642
  }
1643
- function co(e, t) {
1643
+ function fo(e, t) {
1644
1644
  const n = h(t), r = (e.examples ?? []).filter((o) => o.trim());
1645
1645
  return { examples: r.some((o) => h(o) === n) ? r : [...r, t].slice(-Qt), exampleCandidates: nn(e, t) };
1646
1646
  }
@@ -1652,13 +1652,13 @@ function rn(e, t) {
1652
1652
  const n = e.ownerScope;
1653
1653
  return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
1654
1654
  }
1655
- function lo(e, t) {
1655
+ function mo(e, t) {
1656
1656
  return e.filter((n) => rn(n, t));
1657
1657
  }
1658
- function uo(e) {
1658
+ function go(e) {
1659
1659
  return e.type === "agent";
1660
1660
  }
1661
- const po = "WORK_COMMENT_ADDED", fo = "WORK_ITEM_ASSIGNED", mo = "WORK_ITEM_STATUS_CHANGED";
1661
+ const ho = "WORK_COMMENT_ADDED", yo = "WORK_ITEM_ASSIGNED", Ao = "WORK_ITEM_STATUS_CHANGED";
1662
1662
  function on(e, t) {
1663
1663
  const n = (r) => {
1664
1664
  const i = new Date(r);
@@ -1666,7 +1666,7 @@ function on(e, t) {
1666
1666
  };
1667
1667
  return Math.round((n(e) - n(t)) / mt);
1668
1668
  }
1669
- function go(e, t) {
1669
+ function bo(e, t) {
1670
1670
  if (e.closedAt != null) return { score: g, reasons: [] };
1671
1671
  const n = t.remindersById?.[e.id];
1672
1672
  if (n && n.remindAt > t.now) return { score: g, reasons: [] };
@@ -1685,11 +1685,11 @@ function cn(e) {
1685
1685
  function we(e) {
1686
1686
  return `${sn}:${e}`;
1687
1687
  }
1688
- function ho(e, t, n) {
1688
+ function Eo(e, t, n) {
1689
1689
  const r = `${e}-${t}`;
1690
1690
  return n ? `${r}-${n}` : r;
1691
1691
  }
1692
- function yo(e) {
1692
+ function So(e) {
1693
1693
  const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
1694
1694
  return t ? {
1695
1695
  projectKey: t[1].toUpperCase(),
@@ -1697,17 +1697,17 @@ function yo(e) {
1697
1697
  ...t[3] ? { subSequence: Number(t[3]) } : {}
1698
1698
  } : null;
1699
1699
  }
1700
- function Ao(e) {
1700
+ function _o(e) {
1701
1701
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
1702
1702
  }
1703
- function bo(e, t = 25) {
1703
+ function To(e, t = 25) {
1704
1704
  const n = /* @__PURE__ */ new Set([cn(e.id)]);
1705
1705
  e.projectId && n.add(we(e.projectId));
1706
1706
  for (const r of e.ancestorKeys ?? []) n.add(r);
1707
1707
  for (const r of e.partyKeys ?? []) n.add(r);
1708
1708
  return Array.from(n).slice(0, t);
1709
1709
  }
1710
- function Eo(e) {
1710
+ function Io(e) {
1711
1711
  return [we(e.id)];
1712
1712
  }
1713
1713
  const L = [
@@ -1722,10 +1722,10 @@ function ln(e) {
1722
1722
  function un(e, t) {
1723
1723
  return t.find((n) => n.key === e)?.category ?? "todo";
1724
1724
  }
1725
- function So(e, t) {
1725
+ function wo(e, t) {
1726
1726
  return t.find((n) => n.key === e);
1727
1727
  }
1728
- function _o(e) {
1728
+ function Mo(e) {
1729
1729
  const t = ln(e), n = e?.defaultStatusKey;
1730
1730
  return n && t.some((r) => r.key === n) ? n : dn(t)[0]?.key ?? L[0].key;
1731
1731
  }
@@ -1735,13 +1735,13 @@ function dn(e) {
1735
1735
  return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
1736
1736
  });
1737
1737
  }
1738
- function To(e, t) {
1738
+ function ko(e, t) {
1739
1739
  return un(e, t) === "done";
1740
1740
  }
1741
1741
  function pn(e) {
1742
1742
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
1743
1743
  }
1744
- function Io(e, t) {
1744
+ function Co(e, t) {
1745
1745
  const n = pn(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Me]);
1746
1746
  if (!r.has(n)) return n;
1747
1747
  for (let i = 2; i < 500; i++) {
@@ -1750,7 +1750,7 @@ function Io(e, t) {
1750
1750
  }
1751
1751
  return `${n}-${r.size + 1}`;
1752
1752
  }
1753
- function wo(e) {
1753
+ function Oo(e) {
1754
1754
  const t = [];
1755
1755
  if (!e.length) return [{ index: -1, reason: "empty" }];
1756
1756
  const n = /* @__PURE__ */ new Set();
@@ -1780,18 +1780,18 @@ const y = 1024 * 1024, hn = {
1780
1780
  pdf: 20 * y,
1781
1781
  text: 1 * y,
1782
1782
  audio: 20 * y
1783
- }, Mo = 25 * y, ko = 5;
1784
- function Co(e, t) {
1783
+ }, No = 25 * y, vo = 5;
1784
+ function Ro(e, t) {
1785
1785
  const n = gn(e);
1786
1786
  return n === "unsupported" ? "unsupported" : t > hn[n] ? "too-large" : null;
1787
1787
  }
1788
- function Oo(e) {
1788
+ function $o(e) {
1789
1789
  return e.access !== "read" && e.effect !== "internal";
1790
1790
  }
1791
1791
  function yn(e) {
1792
1792
  return `${e.kind}:${e.id || e.url || e.title}`;
1793
1793
  }
1794
- function vo(e, t = []) {
1794
+ function xo(e, t = []) {
1795
1795
  const n = new Set(t), r = [], i = [];
1796
1796
  for (const o of e) {
1797
1797
  const a = yn(o);
@@ -1799,26 +1799,26 @@ function vo(e, t = []) {
1799
1799
  }
1800
1800
  return { sources: r, keys: i };
1801
1801
  }
1802
- const No = "assist-source", Ro = ["blocking", "due", "open"];
1803
- function $o(e, t) {
1802
+ const Lo = "assist-source", Do = ["blocking", "due", "open"];
1803
+ function Po(e, t) {
1804
1804
  const [n, r] = (e.subjectKey ?? "").split(":");
1805
1805
  return n === t && r ? r : void 0;
1806
1806
  }
1807
1807
  const ne = { blocking: 0, due: 1, open: 2 };
1808
- function xo(e, t) {
1808
+ function Uo(e, t) {
1809
1809
  return ne[e.band ?? "open"] - ne[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
1810
1810
  }
1811
- function Lo(e) {
1811
+ function Ko(e) {
1812
1812
  return e.sessions.filter(
1813
1813
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
1814
1814
  );
1815
1815
  }
1816
- function Do(e) {
1816
+ function jo(e) {
1817
1817
  return e.sessions.filter(
1818
1818
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
1819
1819
  );
1820
1820
  }
1821
- function Po(e) {
1821
+ function Go(e) {
1822
1822
  return e.sessions.some(
1823
1823
  (n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
1824
1824
  ) ? { admit: !1, reason: "busy" } : { admit: !0 };
@@ -1840,7 +1840,7 @@ function bn(e, t) {
1840
1840
  }
1841
1841
  return n;
1842
1842
  }
1843
- function Uo(e, t) {
1843
+ function Bo(e, t) {
1844
1844
  const n = bn(e, t);
1845
1845
  return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
1846
1846
  }
@@ -1851,7 +1851,7 @@ function En(e, t) {
1851
1851
  transport: t.transport ?? e.transport
1852
1852
  } : e;
1853
1853
  }
1854
- function Ko(e, t) {
1854
+ function Ho(e, t) {
1855
1855
  const n = [];
1856
1856
  for (const r of e) {
1857
1857
  if (!r.enabled) continue;
@@ -1862,16 +1862,16 @@ function Ko(e, t) {
1862
1862
  }
1863
1863
  return n;
1864
1864
  }
1865
- function jo(e, t) {
1865
+ function Fo(e, t) {
1866
1866
  return t.filter((n) => n.capability.intent === e);
1867
1867
  }
1868
1868
  function Sn(e, t) {
1869
1869
  return t.filter((n) => n.capability.targetSchemes.includes(e));
1870
1870
  }
1871
- function Go(e, t) {
1871
+ function Wo(e, t) {
1872
1872
  return Sn(e.scheme, t);
1873
1873
  }
1874
- function Bo(e, t, n) {
1874
+ function Vo(e, t, n) {
1875
1875
  const r = [];
1876
1876
  for (const i of e)
1877
1877
  for (const o of n)
@@ -1900,10 +1900,10 @@ const Tn = {
1900
1900
  id: "note",
1901
1901
  custom: "note"
1902
1902
  };
1903
- function Ho(e) {
1903
+ function zo(e) {
1904
1904
  return e ? Tn[e] ?? "note" : "note";
1905
1905
  }
1906
- const Fo = "message_window", Wo = "message_templates", Vo = {
1906
+ const Xo = "message_window", Yo = "message_templates", qo = {
1907
1907
  // E-mail
1908
1908
  FROM: "from",
1909
1909
  TO: "to",
@@ -1920,19 +1920,19 @@ const Fo = "message_window", Wo = "message_templates", Vo = {
1920
1920
  // Voice/conference
1921
1921
  HOST: "host",
1922
1922
  PARTICIPANT: "participant"
1923
- }, zo = (e, t) => ({ intent: e, ...t }), Xo = "folder_management", Yo = "remote_search", qo = {
1923
+ }, Jo = (e, t) => ({ intent: e, ...t }), Zo = "folder_management", Qo = "remote_search", ea = {
1924
1924
  ok: !1,
1925
1925
  code: "UNSUPPORTED",
1926
1926
  message: "Provider does not support this op"
1927
- }, Jo = "context.collect", Zo = "installation-id";
1928
- function Qo(e) {
1927
+ }, ta = "context.collect", na = "installation-id";
1928
+ function ra(e) {
1929
1929
  const t = [];
1930
1930
  for (const n of Object.keys(e))
1931
1931
  for (const r of Object.keys(e[n]))
1932
1932
  t.push({ lang: n, key: r, value: e[n][r] });
1933
1933
  return t;
1934
1934
  }
1935
- const ea = "notification-source", ta = (e, t) => `${e}.pref.${t}`, na = {
1935
+ const ia = "notification-source", oa = (e, t) => `${e}.pref.${t}`, aa = {
1936
1936
  ai: [
1937
1937
  "account.read",
1938
1938
  "account.write",
@@ -2066,38 +2066,38 @@ const ea = "notification-source", ta = (e, t) => `${e}.pref.${t}`, na = {
2066
2066
  user: ["user.read", "user.write"],
2067
2067
  work: ["item.read", "item.write", "project.read", "project.write"]
2068
2068
  }, ke = 9e4, In = ["out_of_office"], Ce = (e) => In.includes(e);
2069
- function ra(e, t, n) {
2069
+ function sa(e, t, n) {
2070
2070
  const r = n - e < ke, i = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
2071
2071
  if (!i?.status) return { online: r, status: r ? "available" : "offline" };
2072
2072
  const o = i.status;
2073
2073
  return !r && !Ce(o) ? { online: !1, status: "offline" } : { online: r, status: o, message: i.message };
2074
2074
  }
2075
- function ia(e, t) {
2075
+ function ca(e, t) {
2076
2076
  const n = t - e.lastSeenAt < ke, r = n || Ce(e.status) ? e.status : "offline";
2077
2077
  return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
2078
2078
  }
2079
- function oa(e, t) {
2079
+ function la(e, t) {
2080
2080
  return e?.teamId && t.includes(e.teamId) ? { teamId: e.teamId, mustChoose: !1 } : t.length === 1 ? { teamId: t[0], mustChoose: !1 } : { teamId: void 0, mustChoose: t.length > 1 };
2081
2081
  }
2082
- function aa(e) {
2082
+ function ua(e) {
2083
2083
  return e.providerAvailable && e.allowed;
2084
2084
  }
2085
- const sa = "resources.describe", ca = "resources.search", la = "resources.resolve", ua = "resources.attached";
2086
- function da(e) {
2085
+ const da = "resources.describe", pa = "resources.search", fa = "resources.resolve", ma = "resources.attached";
2086
+ function ga(e) {
2087
2087
  const t = e.indexOf(":");
2088
2088
  return t === -1 ? e : e.slice(0, t);
2089
2089
  }
2090
2090
  const Oe = "auth";
2091
- function ve(e) {
2091
+ function Ne(e) {
2092
2092
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
2093
2093
  return t ? t[1] : null;
2094
2094
  }
2095
- function pa(e) {
2096
- const t = ve(e);
2095
+ function ha(e) {
2096
+ const t = Ne(e);
2097
2097
  return t ? t !== Oe : typeof e == "string" && e.startsWith("/wake");
2098
2098
  }
2099
- function fa(e) {
2100
- return typeof e != "string" || e === "" || e === "/" ? !0 : ve(e) === Oe;
2099
+ function ya(e) {
2100
+ return typeof e != "string" || e === "" || e === "/" ? !0 : Ne(e) === Oe;
2101
2101
  }
2102
2102
  function wn(e) {
2103
2103
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
@@ -2118,7 +2118,7 @@ function kn(e, t) {
2118
2118
  function Cn(e) {
2119
2119
  return e.publicBasePath ?? `/apps/${e.name}`;
2120
2120
  }
2121
- function ma(e) {
2121
+ function Aa(e) {
2122
2122
  const t = [];
2123
2123
  for (const n of e) {
2124
2124
  if (!n?.name) continue;
@@ -2144,17 +2144,17 @@ function On(e, t) {
2144
2144
  }
2145
2145
  return n.length > r.length;
2146
2146
  }
2147
- function vn(e, t) {
2147
+ function Nn(e, t) {
2148
2148
  if (typeof e != "string") return null;
2149
2149
  let n = null;
2150
2150
  for (const r of t)
2151
2151
  Mn(r.pattern).test(e) && (!n || On(r.pattern, n.pattern)) && (n = r);
2152
2152
  return n ? { ...n, params: { ...n.props, ...kn(n.pattern, e) } } : null;
2153
2153
  }
2154
- function ga(e, t) {
2155
- return vn(e, t) !== null;
2154
+ function ba(e, t) {
2155
+ return Nn(e, t) !== null;
2156
2156
  }
2157
- const ha = "sync-source", ya = "sync-target", Aa = 20, Nn = {
2157
+ const Ea = "sync-source", Sa = "sync-target", _a = 20, vn = {
2158
2158
  afrikaans: [
2159
2159
  "[Muziek]",
2160
2160
  "(C) TV GELDERLAND 2021",
@@ -2306,7 +2306,7 @@ const ha = "sync-source", ya = "sync-target", Aa = 20, Nn = {
2306
2306
  ]
2307
2307
  }, Rn = (e) => {
2308
2308
  let t = e;
2309
- return Object.values(Nn).forEach((n) => {
2309
+ return Object.values(vn).forEach((n) => {
2310
2310
  n.forEach((r) => {
2311
2311
  t = t.replaceAll(r, "");
2312
2312
  });
@@ -2445,13 +2445,13 @@ function Gn(e, t = $n) {
2445
2445
  return { text: n.filter((a) => (a.endedAt ?? 0) >= i).map((a) => Rn(a.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
2446
2446
  }
2447
2447
  const Bn = 60;
2448
- function ba(e, t, n = Bn) {
2448
+ function Ta(e, t, n = Bn) {
2449
2449
  const r = new Set(e), i = [...e];
2450
2450
  for (const o of t)
2451
2451
  !o || r.has(o) || (r.add(o), i.push(o));
2452
2452
  return i.slice(-n);
2453
2453
  }
2454
- function Ea(e) {
2454
+ function Ia(e) {
2455
2455
  const { segments: t, now: n, state: r } = e;
2456
2456
  if (r.lastTriggerAt && n - r.lastTriggerAt < xn)
2457
2457
  return { trigger: !1, reason: "too_soon" };
@@ -2463,13 +2463,13 @@ function Ea(e) {
2463
2463
  const a = Kn(i.text);
2464
2464
  return a.length ? r.lastQueryTerms?.length && jn(a, r.lastQueryTerms) < Dn ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: i.text, terms: a, segmentCount: i.segmentCount } : { trigger: !1, reason: "no_speech" };
2465
2465
  }
2466
- const Sa = [
2466
+ const wa = [
2467
2467
  "personal",
2468
2468
  "workspace",
2469
2469
  "connections",
2470
2470
  "work",
2471
2471
  "ai"
2472
- ], _a = "navNotice", D = {
2472
+ ], Ma = "navNotice", D = {
2473
2473
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
2474
2474
  // shorter than geographic numbers, and a too-strict minimum silently drops them.
2475
2475
  // An over-permissive key is harmless — it simply matches nothing.
@@ -2523,7 +2523,7 @@ function zn(e) {
2523
2523
  const r = t.indexOf("@");
2524
2524
  return r >= 0 && (t = t.slice(0, r)), t.trim();
2525
2525
  }
2526
- function Ta(e) {
2526
+ function ka(e) {
2527
2527
  if (!e) return !1;
2528
2528
  const t = e.indexOf("@");
2529
2529
  if (t <= 0) return !1;
@@ -2551,19 +2551,19 @@ function oe(e, t) {
2551
2551
  }
2552
2552
  return !a && S(i, o) ? `+${o.callingCode}${i}` : null;
2553
2553
  }
2554
- function Ia(e, t = 9) {
2554
+ function Ca(e, t = 9) {
2555
2555
  const n = (e ?? "").replace(/\D/g, "");
2556
2556
  return n.length < t ? null : n.slice(-t);
2557
2557
  }
2558
- function Ne(e) {
2558
+ function ve(e) {
2559
2559
  if (!e) return null;
2560
2560
  const t = e.trim().toLowerCase(), n = t.lastIndexOf("@");
2561
2561
  if (n <= 0 || n === t.length - 1) return null;
2562
2562
  const r = t.slice(0, n).split("+")[0], i = t.slice(n + 1);
2563
2563
  return !r || !i.includes(".") ? null : `${r}@${i}`;
2564
2564
  }
2565
- function wa(e) {
2566
- const t = Ne(e);
2565
+ function Oa(e) {
2566
+ const t = ve(e);
2567
2567
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
2568
2568
  }
2569
2569
  const Xn = /* @__PURE__ */ new Set([
@@ -2628,16 +2628,16 @@ const qn = /* @__PURE__ */ new Set([
2628
2628
  "proximus.be",
2629
2629
  "scarlet.be"
2630
2630
  ]);
2631
- function Ma(e) {
2631
+ function Na(e) {
2632
2632
  const t = Yn(e);
2633
2633
  return t ? qn.has(t) : !1;
2634
2634
  }
2635
- function ka(e) {
2635
+ function va(e) {
2636
2636
  if (!e) return !1;
2637
2637
  const t = e.trim().toLowerCase();
2638
2638
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
2639
2639
  }
2640
- function Ca(e, t, n) {
2640
+ function Ra(e, t, n) {
2641
2641
  if (!e || !t) return null;
2642
2642
  const r = e.trim().toLowerCase();
2643
2643
  if (r === "tel" || r === "sms" || r === "whatsapp") {
@@ -2649,7 +2649,7 @@ function Ca(e, t, n) {
2649
2649
  return o ? `fax:${o}` : null;
2650
2650
  }
2651
2651
  if (r === "mailto" || r === "email") {
2652
- const o = Ne(t);
2652
+ const o = ve(t);
2653
2653
  return o ? `mailto:${o}` : null;
2654
2654
  }
2655
2655
  const i = t.trim().toLowerCase();
@@ -2679,7 +2679,7 @@ function Qn(e) {
2679
2679
  return e;
2680
2680
  }
2681
2681
  const er = /^(?:https?:|mailto:|tel:)/i, tr = /^(?:https?:|cid:|data:image\/)/i;
2682
- function v(e, t) {
2682
+ function N(e, t) {
2683
2683
  const n = e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`, "i"));
2684
2684
  return (n?.[1] ?? n?.[2] ?? n?.[3] ?? "").trim();
2685
2685
  }
@@ -2687,7 +2687,7 @@ const nr = /(!\[[^\]]*\]\([^)]*\))/;
2687
2687
  function se(e) {
2688
2688
  return e.replace(/\s+/g, " ").trim().split(nr).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
2689
2689
  }
2690
- function N(e) {
2690
+ function v(e) {
2691
2691
  return e.replace(
2692
2692
  /[()\s<>"]/g,
2693
2693
  (t) => `%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2, "0")}`
@@ -2695,40 +2695,45 @@ function N(e) {
2695
2695
  }
2696
2696
  function rr(e) {
2697
2697
  return e.replace(/<img\b([^>]*?)\/?>/gi, (n, r) => {
2698
- const i = v(r, "src");
2699
- return tr.test(i) ? `![${se(v(r, "alt"))}](${N(i)})` : "";
2698
+ const i = N(r, "src");
2699
+ return tr.test(i) ? `![${se(N(r, "alt"))}](${v(i)})` : "";
2700
2700
  }).replace(
2701
2701
  /<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,
2702
2702
  (n, r, i) => {
2703
- const o = se(i.replace(/<[^>]*>/g, "")), a = v(r, "href");
2704
- return er.test(a) ? `[${o || N(a)}](${N(a)})` : o;
2703
+ const o = se(i.replace(/<[^>]*>/g, "")), a = N(r, "href");
2704
+ return er.test(a) ? `[${o || v(a)}](${v(a)})` : o;
2705
2705
  }
2706
2706
  );
2707
2707
  }
2708
- const ir = /<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i, or = /<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi, ar = /<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi, sr = /<(?:div|p|table|ul|ol|h[1-6])\b/i, cr = 40;
2709
- function lr(e) {
2710
- return e.replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().replace(/\|/g, "\\|");
2708
+ const ir = /<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i, or = /<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi, ar = /<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;
2709
+ function sr(e, t) {
2710
+ return /<table\b/i.test(e) || e.includes(`
2711
+
2712
+ |`) || t.includes("![") || t.length > 200;
2711
2713
  }
2714
+ const cr = 40, lr = { left: "---", center: ":---:", right: "---:" };
2712
2715
  function ur(e) {
2716
+ const t = e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);
2717
+ return t ? t[1].toLowerCase() : "left";
2718
+ }
2719
+ function dr(e) {
2720
+ return e.replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().replace(/\|/g, "\\|");
2721
+ }
2722
+ function pr(e) {
2713
2723
  const t = [];
2714
2724
  for (const a of e.matchAll(or)) {
2715
2725
  const s = [];
2716
2726
  for (const c of a[1].matchAll(ar)) {
2717
- if (sr.test(c[3])) return null;
2718
- s.push({
2719
- text: lr(c[3]),
2720
- // Excel writes both shapes, and a column of figures reads wrong ragged.
2721
- right: /align\s*[=:]\s*["']?\s*right/i.test(c[2])
2722
- });
2727
+ const l = dr(c[3]);
2728
+ if (sr(c[3], l)) return null;
2729
+ s.push({ text: l, align: ur(c[2]) });
2723
2730
  }
2724
2731
  if (s.length === 0) return null;
2725
2732
  s.some((c) => c.text !== "") && t.push(s);
2726
2733
  }
2727
- const n = t.reduce((a, s) => Math.max(a, s.length), 0);
2728
- if (t.length < 2 || n < 2) return null;
2729
- const r = (a) => `| ${Array.from({ length: n }, (s, c) => a[c]?.text ?? "").join(" | ")} |`, i = Array.from({ length: n }, (a, s) => t[1][s]?.right ? "---:" : "---").join(
2730
- " | "
2731
- ), o = t.slice(1).map(r).join(`
2734
+ const n = t[0]?.length ?? 0;
2735
+ if (t.length < 2 || n < 2 || t.some((a) => a.length !== n)) return null;
2736
+ const r = (a) => `| ${a.map((s) => s.text).join(" | ")} |`, i = t[1].map((a) => lr[a.align]).join(" | "), o = t.slice(1).map(r).join(`
2732
2737
  `);
2733
2738
  return `
2734
2739
 
@@ -2738,12 +2743,20 @@ ${o}
2738
2743
 
2739
2744
  `;
2740
2745
  }
2741
- function dr(e) {
2746
+ function fr(e) {
2747
+ return e.replace(/<\/(t[dh])\s*>/gi, " ").replace(/<\/tr\s*>/gi, `
2748
+ `).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi, "").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi, "");
2749
+ }
2750
+ function mr(e) {
2742
2751
  let t = e;
2743
2752
  for (let n = 0; n < cr; n++) {
2744
2753
  const r = ir.exec(t);
2745
2754
  if (!r || r.index === void 0) break;
2746
- const o = ur(r[1]) ?? `<div>${r[1]}</div>`;
2755
+ const o = pr(r[1]) ?? `
2756
+
2757
+ ${fr(r[1])}
2758
+
2759
+ `;
2747
2760
  t = t.slice(0, r.index) + o + t.slice(r.index + r[0].length);
2748
2761
  }
2749
2762
  return t;
@@ -2751,7 +2764,7 @@ function dr(e) {
2751
2764
  function ce(e, t) {
2752
2765
  let n = e;
2753
2766
  return n = n.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), n = n.replace(/<!--[\s\S]*?-->/g, ""), n = n.replace(/<br\s*\/?>/gi, `
2754
- `), t && (n = dr(rr(n))), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
2767
+ `), t && (n = mr(rr(n))), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
2755
2768
 
2756
2769
  `), n = n.replace(/<\/(div|li|tr)>/gi, `
2757
2770
  `), n = n.replace(/<\/(td|th)>/gi, " "), n = n.replace(/<[^>]+>/g, ""), n = n.replace(/<[^>]*$/, ""), n;
@@ -2759,8 +2772,30 @@ function ce(e, t) {
2759
2772
  function le(e) {
2760
2773
  return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
2761
2774
  }
2775
+ const gr = {
2776
+ euro: "€",
2777
+ pound: "£",
2778
+ yen: "¥",
2779
+ cent: "¢",
2780
+ copy: "©",
2781
+ reg: "®",
2782
+ trade: "™",
2783
+ deg: "°",
2784
+ plusmn: "±",
2785
+ times: "×",
2786
+ middot: "·",
2787
+ bull: "•",
2788
+ hellip: "…",
2789
+ mdash: "—",
2790
+ ndash: "–",
2791
+ lsquo: "‘",
2792
+ rsquo: "’",
2793
+ ldquo: "“",
2794
+ rdquo: "”",
2795
+ apos: "'"
2796
+ };
2762
2797
  function ue(e) {
2763
- return e.replace(/&nbsp;/gi, " ").replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => le(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => le(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
2798
+ return e.replace(/&nbsp;/gi, " ").replace(/&([a-z]+);/gi, (t, n) => gr[n.toLowerCase()] ?? t).replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => le(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => le(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
2764
2799
  }
2765
2800
  function de(e) {
2766
2801
  return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
@@ -2768,14 +2803,14 @@ function de(e) {
2768
2803
 
2769
2804
  `).trim();
2770
2805
  }
2771
- const pr = /<\s*(html|body|div|p|table|br|span)\b/i;
2772
- function Oa(e) {
2773
- return pr.test(e);
2806
+ const hr = /<\s*(html|body|div|p|table|br|span)\b/i;
2807
+ function $a(e) {
2808
+ return hr.test(e);
2774
2809
  }
2775
- function va(e) {
2810
+ function xa(e) {
2776
2811
  return Re(e, !1);
2777
2812
  }
2778
- function Na(e) {
2813
+ function La(e) {
2779
2814
  return Re(e, !0);
2780
2815
  }
2781
2816
  function Re(e, t) {
@@ -2792,13 +2827,13 @@ function Re(e, t) {
2792
2827
  export {
2793
2828
  m as ACTIVITY_CATALOG,
2794
2829
  hn as AI_ATTACHMENT_LIMITS,
2795
- ko as AI_ATTACHMENT_MAX_PER_TURN,
2796
- Mo as AI_ATTACHMENT_TURN_BUDGET,
2830
+ vo as AI_ATTACHMENT_MAX_PER_TURN,
2831
+ No as AI_ATTACHMENT_TURN_BUDGET,
2797
2832
  fe as AI_VENDORS,
2798
2833
  tt as ALLOWED_LINK_SCHEMES,
2799
- na as APP_PERMISSIONS,
2834
+ aa as APP_PERMISSIONS,
2800
2835
  F as ARTIFACT_MAX_BLOCKS,
2801
- Fr as ARTIFACT_MAX_BODY_BYTES,
2836
+ Xr as ARTIFACT_MAX_BODY_BYTES,
2802
2837
  C as ARTIFACT_MAX_CELL_LEN,
2803
2838
  X as ARTIFACT_MAX_KPI_ITEMS,
2804
2839
  W as ARTIFACT_MAX_LIST_ITEMS,
@@ -2806,297 +2841,297 @@ export {
2806
2841
  V as ARTIFACT_MAX_TABLE_ROWS,
2807
2842
  ge as ARTIFACT_MAX_TEXT_LEN,
2808
2843
  ut as ASSIGNMENT_SCOPE_KIND,
2809
- Ro as ASSIST_BANDS,
2810
- No as ASSIST_SOURCE_PROVIDER_GROUP,
2844
+ Do as ASSIST_BANDS,
2845
+ Lo as ASSIST_SOURCE_PROVIDER_GROUP,
2811
2846
  St as ATTENTION_STATUSES,
2812
2847
  Oe as AUTH_APP_NAME,
2813
2848
  zt as AUTO_READY_MIN_PROPOSALS,
2814
2849
  Xt as AUTO_READY_RATE,
2815
2850
  Fe as ActivityTypeRegistry,
2816
- Or as BUILT_IN_ONLY,
2851
+ $r as BUILT_IN_ONLY,
2817
2852
  _t as BULK_PENALTY,
2818
2853
  xn as CADENCE_FLOOR_MS,
2819
2854
  Ln as CADENCE_MIN_NEW_SEGMENTS,
2820
2855
  Dn as CADENCE_MIN_NOVELTY,
2821
2856
  $n as CADENCE_WINDOW_MS,
2822
- Fi as CLASSIFY_VARS,
2823
- Jo as CONTEXT_COLLECT_SERVICE,
2824
- Gr as CORE_DIMENSIONS,
2857
+ Xi as CLASSIFY_VARS,
2858
+ ta as CONTEXT_COLLECT_SERVICE,
2859
+ Wr as CORE_DIMENSIONS,
2825
2860
  _n as CommunicationScheme,
2826
2861
  mt as DAY_MS,
2827
- vi as DEFAULT_MEMORY_BUDGET,
2862
+ xi as DEFAULT_MEMORY_BUDGET,
2828
2863
  Hn as DEFAULT_PHONE_REGION,
2829
- Vi as EMPTY_WORKFLOW,
2830
- Xo as FEATURE_FOLDER_MANAGEMENT,
2831
- Yo as FEATURE_REMOTE_SEARCH,
2864
+ qi as EMPTY_WORKFLOW,
2865
+ Zo as FEATURE_FOLDER_MANAGEMENT,
2866
+ Qo as FEATURE_REMOTE_SEARCH,
2832
2867
  It as FOLLOW_UP_HOURS,
2833
2868
  ft as HOUR_MS,
2834
- pr as HTML_BODY_RE,
2869
+ hr as HTML_BODY_RE,
2835
2870
  g as INELIGIBLE,
2836
- Zo as INSTALLATION_HEADER,
2871
+ na as INSTALLATION_HEADER,
2837
2872
  Bt as INTERACTION_KIND,
2838
- Vo as InteractionParticipantRole,
2873
+ qo as InteractionParticipantRole,
2839
2874
  Rt as KB_FALLBACK_LOCALE,
2840
2875
  Z as KB_LOCALES,
2841
2876
  L as LOOSE_STATUSES,
2842
- hr as MAX_ACTIONS,
2877
+ Er as MAX_ACTIONS,
2843
2878
  dt as MAX_ASSIGNMENT_TURNS,
2844
- fr as MAX_BLOCKS,
2879
+ yr as MAX_BLOCKS,
2845
2880
  _e as MAX_COLLECTION_DEPTH,
2846
- mr as MAX_FIELDS,
2847
- gr as MAX_LIST_ITEMS,
2848
- Mi as MAX_MEMORY_BROWSE,
2849
- Oi as MAX_MEMORY_BUDGET,
2850
- ki as MAX_MEMORY_CHARS,
2881
+ Ar as MAX_FIELDS,
2882
+ br as MAX_LIST_ITEMS,
2883
+ Ni as MAX_MEMORY_BROWSE,
2884
+ $i as MAX_MEMORY_BUDGET,
2885
+ vi as MAX_MEMORY_CHARS,
2851
2886
  Bn as MAX_SHOWN_KEYS,
2852
2887
  en as MAX_TOPIC_CANDIDATES,
2853
2888
  Qt as MAX_TOPIC_EXAMPLES,
2854
2889
  O as MAX_TOPIC_EXAMPLE_CHARS,
2855
- Ci as MIN_MEMORY_BUDGET,
2856
- _a as NAV_NOTICE_SLOT,
2857
- ea as NOTIFICATION_SOURCE_PROVIDER_GROUP,
2858
- Ri as ONBOARDING_SOURCE_PROVIDER_GROUP,
2890
+ Ri as MIN_MEMORY_BUDGET,
2891
+ Ma as NAV_NOTICE_SLOT,
2892
+ ia as NOTIFICATION_SOURCE_PROVIDER_GROUP,
2893
+ Di as ONBOARDING_SOURCE_PROVIDER_GROUP,
2859
2894
  D as PHONE_REGIONS,
2860
2895
  ke as PRESENCE_ONLINE_WINDOW_MS,
2861
2896
  In as PRESENCE_SURVIVES_OFFLINE,
2862
- xi as PROFILE_TOOL_DISPOSITIONS,
2863
- Wo as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
2864
- Fo as PROVIDER_FEATURE_MESSAGE_WINDOW,
2897
+ Ui as PROFILE_TOOL_DISPOSITIONS,
2898
+ Yo as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
2899
+ Xo as PROVIDER_FEATURE_MESSAGE_WINDOW,
2865
2900
  qn as PUBLIC_EMAIL_DOMAINS,
2866
2901
  Q as READ_STEP_TYPES,
2867
2902
  Lt as RELATED_SUBJECT_KINDS,
2868
2903
  Me as RESERVED_STATUS_KEYS,
2869
- ua as RESOURCE_ATTACHED_SERVICE,
2870
- sa as RESOURCE_DESCRIBE_SERVICE,
2871
- la as RESOURCE_RESOLVE_SERVICE,
2872
- ca as RESOURCE_SEARCH_SERVICE,
2873
- Sa as SETTINGS_CATEGORIES,
2874
- ri as SIGNATURE_INTENTS,
2904
+ ma as RESOURCE_ATTACHED_SERVICE,
2905
+ da as RESOURCE_DESCRIBE_SERVICE,
2906
+ fa as RESOURCE_RESOLVE_SERVICE,
2907
+ pa as RESOURCE_SEARCH_SERVICE,
2908
+ wa as SETTINGS_CATEGORIES,
2909
+ si as SIGNATURE_INTENTS,
2875
2910
  Tt as SLA_HOURS_BY_PRIORITY,
2876
2911
  Wt as STEP_MAX_TOKENS_MAX,
2877
2912
  Ft as STEP_MAX_TOKENS_MIN,
2878
2913
  bt as SUMMARY_MIN_LAST_CHARS,
2879
2914
  At as SUMMARY_MIN_MESSAGES,
2880
- Aa as SYNC_RUN_MAX_ERRORS,
2881
- ha as SYNC_SOURCE_PROVIDER_GROUP,
2882
- ya as SYNC_TARGET_PROVIDER_GROUP,
2915
+ _a as SYNC_RUN_MAX_ERRORS,
2916
+ Ea as SYNC_SOURCE_PROVIDER_GROUP,
2917
+ Sa as SYNC_TARGET_PROVIDER_GROUP,
2883
2918
  lt as TERMINAL_ASSIGNMENT_STATUSES,
2884
2919
  Yt as TERMINAL_RUN_STATUSES,
2885
- Hi as TRIGGER_VARS,
2886
- qo as UNSUPPORTED,
2920
+ zi as TRIGGER_VARS,
2921
+ ea as UNSUPPORTED,
2887
2922
  Je as USAGE_DIMENSIONS,
2888
2923
  Ze as USAGE_DIMENSION_IDS,
2889
- $i as WORK_AREAS,
2890
- po as WORK_COMMENT_ADDED,
2891
- fo as WORK_ITEM_ASSIGNED,
2924
+ Pi as WORK_AREAS,
2925
+ ho as WORK_COMMENT_ADDED,
2926
+ yo as WORK_ITEM_ASSIGNED,
2892
2927
  an as WORK_ITEM_SCOPE_KIND,
2893
- mo as WORK_ITEM_STATUS_CHANGED,
2928
+ Ao as WORK_ITEM_STATUS_CHANGED,
2894
2929
  sn as WORK_PROJECT_SCOPE_KIND,
2895
2930
  _ as W_PRIORITY,
2896
- co as acceptExampleCandidate,
2931
+ fo as acceptExampleCandidate,
2897
2932
  Pt as actingIdentityKey,
2898
- ao as activeWorkTypes,
2899
- Ar as activityIconOf,
2900
- kr as activityJoinUrl,
2933
+ uo as activeWorkTypes,
2934
+ _r as activityIconOf,
2935
+ vr as activityJoinUrl,
2901
2936
  je as activitySnippet,
2902
2937
  Ge as activityTextParams,
2903
- Mr as activityTimelineText,
2938
+ Nr as activityTimelineText,
2904
2939
  We as activityTimestamp,
2905
- d as activityTypeInfo,
2906
- Pi as actorKey,
2907
- so as addExampleCandidate,
2908
- ia as agePresenceEntry,
2940
+ p as activityTypeInfo,
2941
+ Gi as actorKey,
2942
+ po as addExampleCandidate,
2943
+ ca as agePresenceEntry,
2909
2944
  gn as aiAttachmentKind,
2910
- Co as aiAttachmentRejection,
2945
+ Ro as aiAttachmentRejection,
2911
2946
  H as aiBudgetLimit,
2912
- Kr as aiBudgetPeriodKey,
2947
+ Hr as aiBudgetPeriodKey,
2913
2948
  Ve as aiBudgetPeriodStart,
2914
- Ur as aiBudgetState,
2915
- Pr as aiVendorAcceptsAttachment,
2916
- xr as aiVendorDefaultModel,
2917
- $r as aiVendorLabel,
2918
- Dr as aiVendorNeedsBaseUrl,
2919
- Lr as aiVendorsWith,
2920
- ve as appNameFromPath,
2921
- to as applyRounding,
2922
- ii as applySignature,
2949
+ Br as aiBudgetState,
2950
+ Gr as aiVendorAcceptsAttachment,
2951
+ Ur as aiVendorDefaultModel,
2952
+ Pr as aiVendorLabel,
2953
+ jr as aiVendorNeedsBaseUrl,
2954
+ Kr as aiVendorsWith,
2955
+ Ne as appNameFromPath,
2956
+ oo as applyRounding,
2957
+ ci as applySignature,
2923
2958
  Vt as approvalRate,
2924
- Vr as artifactBodyBytes,
2925
- zr as artifactOutline,
2926
- Xr as artifactToMarkdown,
2927
- Gi as assignmentMismatch,
2928
- Qr as assignmentScopeKey,
2929
- ti as assignmentSubject,
2930
- Cr as buildActivityPreview,
2931
- Ko as buildChannelIntents,
2932
- Yr as buildShareKeys,
2959
+ qr as artifactBodyBytes,
2960
+ Jr as artifactOutline,
2961
+ Zr as artifactToMarkdown,
2962
+ Wi as assignmentMismatch,
2963
+ ri as assignmentScopeKey,
2964
+ oi as assignmentSubject,
2965
+ Rr as buildActivityPreview,
2966
+ Ho as buildChannelIntents,
2967
+ Qr as buildShareKeys,
2933
2968
  Gn as buildWindow,
2934
- Ei as canNestUnder,
2935
- _r as carriesText,
2936
- _i as categoryLabel,
2969
+ Ii as canNestUnder,
2970
+ Mr as carriesText,
2971
+ Mi as categoryLabel,
2937
2972
  un as categoryOf,
2938
- Ho as channelKindForScheme,
2939
- br as channelKindOf,
2940
- Wi as clampStepMaxTokens,
2941
- Na as cleanMessageMarkdown,
2942
- va as cleanMessageText,
2943
- xo as compareAssistRank,
2973
+ zo as channelKindForScheme,
2974
+ Tr as channelKindOf,
2975
+ Yi as clampStepMaxTokens,
2976
+ La as cleanMessageMarkdown,
2977
+ xa as cleanMessageText,
2978
+ Uo as compareAssistRank,
2944
2979
  Zt as compareWorkTypes,
2945
- ni as decideAssignmentState,
2946
- Ea as decideCadence,
2947
- Po as decideIncomingCall,
2980
+ ai as decideAssignmentState,
2981
+ Ia as decideCadence,
2982
+ Go as decideIncomingCall,
2948
2983
  $t as defaultLocaleOf,
2949
- _o as defaultStatusKey,
2950
- zo as defineIntent,
2951
- vt as depthOf,
2952
- ra as derivePresence,
2953
- Uo as disabledIntentsFromCapabilities,
2954
- eo as elapsedSeconds,
2955
- wa as emailDomain,
2956
- Ca as endpointKey,
2984
+ Mo as defaultStatusKey,
2985
+ Jo as defineIntent,
2986
+ Nt as depthOf,
2987
+ sa as derivePresence,
2988
+ Bo as disabledIntentsFromCapabilities,
2989
+ io as elapsedSeconds,
2990
+ Oa as emailDomain,
2991
+ Ra as endpointKey,
2957
2992
  kn as extractParams,
2958
2993
  Kn as extractTerms,
2959
- Go as filterByEndpoint,
2960
- jo as filterByIntent,
2994
+ Wo as filterByEndpoint,
2995
+ Fo as filterByIntent,
2961
2996
  Sn as filterByTargetScheme,
2962
2997
  T as findAiVendor,
2963
- Qo as flattenLocales,
2998
+ ra as flattenLocales,
2964
2999
  Xe as floorToPeriod,
2965
3000
  Dt as formatActingIdentity,
2966
- ro as formatClock,
2967
- no as formatHm,
2968
- ho as formatItemKey,
3001
+ so as formatClock,
3002
+ ao as formatHm,
3003
+ Eo as formatItemKey,
2969
3004
  ze as formatPeriod,
2970
- vo as freshSources,
2971
- vr as getActivitySeenUserIds,
2972
- oi as getContactEndpoints,
2973
- gi as getShortTitle,
2974
- mi as getUrgencyScore,
3005
+ xo as freshSources,
3006
+ xr as getActivitySeenUserIds,
3007
+ li as getContactEndpoints,
3008
+ bi as getShortTitle,
3009
+ Ai as getUrgencyScore,
2975
3010
  Te as heightOf,
2976
- yi as helpCenterText,
2977
- Bi as humanizeAction,
3011
+ Si as helpCenterText,
3012
+ Vi as humanizeAction,
2978
3013
  Ht as interactionIdOf,
2979
- uo as isAgentUser,
2980
- pi as isAssigned,
2981
- Zr as isAssignmentTerminal,
3014
+ go as isAgentUser,
3015
+ hi as isAssigned,
3016
+ ni as isAssignmentTerminal,
2982
3017
  jt as isAssignmentTrigger,
2983
- Yi as isAutoReady,
3018
+ Qi as isAutoReady,
2984
3019
  Ot as isAwaitingThem,
2985
- Rr as isChatMessageActivity,
2986
- fi as isClosed,
2987
- Ir as isConnectedType,
2988
- pa as isDeepLink,
2989
- Nt as isDescendant,
2990
- ai as isEligible,
2991
- Nr as isEmailActivity,
2992
- Oa as isHtmlBody,
2993
- Ji as isInFlight,
3020
+ Dr as isChatMessageActivity,
3021
+ yi as isClosed,
3022
+ Cr as isConnectedType,
3023
+ ha as isDeepLink,
3024
+ vt as isDescendant,
3025
+ ui as isEligible,
3026
+ Lr as isEmailActivity,
3027
+ $a as isHtmlBody,
3028
+ to as isInFlight,
2994
3029
  Et as isInteractionUnseen,
2995
- fa as isLandingPath,
3030
+ ya as isLandingPath,
2996
3031
  yt as isLikelyBulk,
2997
3032
  pe as isMessageShape,
2998
- Er as isMessageType,
3033
+ Ir as isMessageType,
2999
3034
  On as isMoreSpecificPattern,
3000
- Oo as isOutwardTool,
3035
+ $o as isOutwardTool,
3001
3036
  Mt as isParked,
3002
3037
  qt as isPaused,
3003
- Tr as isPlaybookAuthoredType,
3004
- Ma as isPublicEmailDomain,
3005
- ga as isPublicPath,
3038
+ kr as isPlaybookAuthoredType,
3039
+ Na as isPublicEmailDomain,
3040
+ ba as isPublicPath,
3006
3041
  kt as isReminderActive,
3007
- Sr as isReplyableType,
3008
- ui as isSlaAtRisk,
3009
- qi as isTerminal,
3010
- ci as isThreadLongEnough,
3011
- wr as isTranscriptType,
3012
- To as isWorkClosed,
3013
- oo as isWorkTypeVisible,
3014
- bo as itemDossierKeys,
3042
+ wr as isReplyableType,
3043
+ mi as isSlaAtRisk,
3044
+ eo as isTerminal,
3045
+ pi as isThreadLongEnough,
3046
+ Or as isTranscriptType,
3047
+ ko as isWorkClosed,
3048
+ lo as isWorkTypeVisible,
3049
+ To as itemDossierKeys,
3015
3050
  ln as ladderFor,
3016
- hi as linkLabel,
3017
- jr as listeningAllowed,
3018
- bi as localeInstruction,
3019
- Ai as localeName,
3020
- Si as localesOf,
3021
- Ta as looksLikeEmail,
3022
- Bo as matchContactToIntents,
3023
- vn as matchPublicRoute,
3024
- Ii as mcpCredentialScope,
3025
- wi as mcpToolPrefix,
3026
- ba as mergeShownKeys,
3051
+ Ei as linkLabel,
3052
+ Fr as listeningAllowed,
3053
+ Ti as localeInstruction,
3054
+ _i as localeName,
3055
+ wi as localesOf,
3056
+ ka as looksLikeEmail,
3057
+ Vo as matchContactToIntents,
3058
+ Nn as matchPublicRoute,
3059
+ Ci as mcpCredentialScope,
3060
+ Oi as mcpToolPrefix,
3061
+ Ta as mergeShownKeys,
3027
3062
  Ke as messageCountsAs,
3028
- ka as needsPhoneRegion,
3029
- Wr as normalizeArtifactBlocks,
3030
- yr as normalizeBlocks,
3031
- Ne as normalizeEmail,
3063
+ va as needsPhoneRegion,
3064
+ Yr as normalizeArtifactBlocks,
3065
+ Sr as normalizeBlocks,
3066
+ ve as normalizeEmail,
3032
3067
  h as normalizeExample,
3033
- ta as notificationPrefKey,
3068
+ oa as notificationPrefKey,
3034
3069
  jn as novelty,
3035
- si as parkMarksById,
3036
- Li as parseActingIdentity,
3037
- yo as parseItemKey,
3070
+ di as parkMarksById,
3071
+ Ki as parseActingIdentity,
3072
+ So as parseItemKey,
3038
3073
  Mn as pathToRegex,
3039
- Br as periodsInRange,
3040
- Ia as phoneSuffix,
3074
+ Vr as periodsInRange,
3075
+ Ca as phoneSuffix,
3041
3076
  Pe as plainTextFromMarkdown,
3042
3077
  Kt as playbookActor,
3043
- Xi as procedureOf,
3044
- Eo as projectDossierKeys,
3078
+ Zi as procedureOf,
3079
+ Io as projectDossierKeys,
3045
3080
  Cn as publicBasePathFor,
3046
- ma as publicRoutePatterns,
3081
+ Aa as publicRoutePatterns,
3047
3082
  R as readPath,
3048
3083
  ee as readStepError,
3049
3084
  wt as recencyOf,
3050
3085
  Gt as refKey,
3051
3086
  Yn as registrableDomain,
3052
3087
  nn as rejectExampleCandidate,
3053
- Ni as relatedByDefault,
3088
+ Li as relatedByDefault,
3054
3089
  bn as resolveAccountCapabilities,
3055
3090
  $ as resolveActivityText,
3056
3091
  An as resolveChannelIntents,
3057
3092
  pt as resolveSignature,
3058
- oa as resolveWorkMode,
3059
- da as resourceKindOf,
3060
- Di as runActor,
3061
- Qi as runInteractionId,
3093
+ la as resolveWorkMode,
3094
+ ga as resourceKindOf,
3095
+ ji as runActor,
3096
+ ro as runInteractionId,
3062
3097
  ot as sanitizeInline,
3063
3098
  Rn as sanitizeTranscript,
3064
- di as scoreInteraction,
3065
- go as scoreWorkItem,
3066
- Ti as selectLenses,
3067
- Do as sessionsHoldCannotReach,
3068
- Lo as sessionsToHold,
3099
+ gi as scoreInteraction,
3100
+ bo as scoreWorkItem,
3101
+ ki as selectLenses,
3102
+ jo as sessionsHoldCannotReach,
3103
+ Ko as sessionsToHold,
3069
3104
  Ae as shareKeyForTeam,
3070
3105
  ye as shareKeyForUser,
3071
- qr as shareKeysForViewer,
3072
- aa as shouldRunAudioPipeline,
3073
- li as slaHoursByInbox,
3106
+ ei as shareKeysForViewer,
3107
+ ua as shouldRunAudioPipeline,
3108
+ fi as slaHoursByInbox,
3074
3109
  Ct as slaHoursFor,
3075
3110
  dn as sortStatuses,
3076
3111
  yn as sourceKey,
3077
- So as statusIn,
3078
- zi as stepsOf,
3112
+ wo as statusIn,
3113
+ Ji as stepsOf,
3079
3114
  Ue as stripHtml,
3080
- Zi as subjectKeyOf,
3115
+ no as subjectKeyOf,
3081
3116
  Ie as subjectOf,
3082
- $o as subjectRef,
3083
- Ao as suggestProjectKey,
3084
- ji as targetById,
3085
- Ki as targetForActivityType,
3117
+ Po as subjectRef,
3118
+ _o as suggestProjectKey,
3119
+ Fi as targetById,
3120
+ Hi as targetForActivityType,
3086
3121
  Ut as toActingIdentity,
3087
3122
  oe as toE164,
3088
- Jr as toolSourceKinds,
3123
+ ti as toolSourceKinds,
3089
3124
  rn as topicOfferedForTeam,
3090
- lo as topicsForTeam,
3125
+ mo as topicsForTeam,
3091
3126
  tn as truncateExample,
3092
- Io as uniqueWorkStatusKey,
3093
- io as uniqueWorkTypeKey,
3127
+ Co as uniqueWorkStatusKey,
3128
+ co as uniqueWorkTypeKey,
3094
3129
  Qe as usageMetricId,
3095
- Hr as usageMetrics,
3096
- wo as validateStatuses,
3097
- Ui as valueAtPath,
3130
+ zr as usageMetrics,
3131
+ Oo as validateStatuses,
3132
+ Bi as valueAtPath,
3098
3133
  x as waitHoursOf,
3099
- ei as wakesAssignment,
3134
+ ii as wakesAssignment,
3100
3135
  cn as workItemScopeKey,
3101
3136
  we as workProjectScopeKey,
3102
3137
  pn as workStatusKey,