@opencxh/domain 1.193.0 → 1.195.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 Vn = 10, zn = 10, Xn = 10, Yn = 5, Ne = /* @__PURE__ */ new Set([
1
+ const Yn = 10, qn = 10, Jn = 10, Zn = 5, ve = /* @__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 qn(e, t = () => {
17
+ function Qn(e, t = () => {
18
18
  }) {
19
19
  if (!Array.isArray(e)) return [];
20
20
  const n = [];
@@ -25,7 +25,7 @@ function qn(e, t = () => {
25
25
  }
26
26
  if (!r || typeof r != "object") continue;
27
27
  const i = r;
28
- if (!Ne.has(i.type)) {
28
+ if (!ve.has(i.type)) {
29
29
  t(`unknown block type ${String(i.type)}`);
30
30
  continue;
31
31
  }
@@ -69,7 +69,7 @@ function qn(e, t = () => {
69
69
  }
70
70
  return n;
71
71
  }
72
- function ve(e) {
72
+ function Ne(e) {
73
73
  return e.replace(/<style[\s\S]*?<\/style>/gi, " ").replace(/<script[\s\S]*?<\/script>/gi, " ").replace(/<[^>]+>/g, " ").replace(/&nbsp;/g, " ").replace(/&amp;/g, "&").replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&#39;/g, "'").replace(/\s+/g, " ").trim();
74
74
  }
75
75
  function b(e) {
@@ -83,7 +83,7 @@ function D(e) {
83
83
  function M(e) {
84
84
  return e?.split("@")?.[0] || e || "";
85
85
  }
86
- function S(e) {
86
+ function E(e) {
87
87
  return e.map((t) => t.name).join(", ");
88
88
  }
89
89
  function L(e) {
@@ -245,9 +245,9 @@ const m = {
245
245
  shape: "event",
246
246
  channelKind: "chat",
247
247
  icon: "message-circle",
248
- snippet: (e) => `${S(e.payload.members)} toegevoegd`,
248
+ snippet: (e) => `${E(e.payload.members)} toegevoegd`,
249
249
  timeline: (e) => {
250
- const t = S(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · added by ${e.payload.initiator.name}` : "";
250
+ const t = E(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · added by ${e.payload.initiator.name}` : "";
251
251
  return `${t} joined the chat${n}`;
252
252
  }
253
253
  },
@@ -255,9 +255,9 @@ const m = {
255
255
  shape: "event",
256
256
  channelKind: "chat",
257
257
  icon: "message-circle",
258
- snippet: (e) => `${S(e.payload.members)} verlaten`,
258
+ snippet: (e) => `${E(e.payload.members)} verlaten`,
259
259
  timeline: (e) => {
260
- const t = S(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · removed by ${e.payload.initiator.name}` : "";
260
+ const t = E(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · removed by ${e.payload.initiator.name}` : "";
261
261
  return `${t} left the chat${n}`;
262
262
  }
263
263
  },
@@ -439,40 +439,40 @@ const m = {
439
439
  }
440
440
  };
441
441
  function P(e) {
442
- const t = e.payload, n = t.bodyText?.trim() || t.bodySnippet?.trim() || ve(t.body ?? "");
442
+ const t = e.payload, n = t.bodyText?.trim() || t.bodySnippet?.trim() || Ne(t.body ?? "");
443
443
  return t.subject ? `${t.subject} — ${n}` : n;
444
444
  }
445
445
  function d(e) {
446
446
  return m[e];
447
447
  }
448
- function Jn(e) {
448
+ function er(e) {
449
449
  return d(e)?.icon ?? "circle";
450
450
  }
451
- function Zn(e) {
451
+ function tr(e) {
452
452
  return d(e)?.channelKind;
453
453
  }
454
454
  function le(e) {
455
455
  return e === "message" || e === "note";
456
456
  }
457
- function Qn(e) {
457
+ function nr(e) {
458
458
  return le(d(e)?.shape);
459
459
  }
460
- function er(e) {
460
+ function rr(e) {
461
461
  return d(e)?.replyable === !0;
462
462
  }
463
- function tr(e) {
463
+ function ir(e) {
464
464
  return d(e)?.carriesText === !0;
465
465
  }
466
466
  function Re(e) {
467
467
  return d(e)?.countsAs;
468
468
  }
469
- function nr(e) {
469
+ function ar(e) {
470
470
  return d(e)?.playbookAuthored === !0;
471
471
  }
472
- function rr(e) {
472
+ function or(e) {
473
473
  return d(e)?.connected === !0;
474
474
  }
475
- function ir(e) {
475
+ function sr(e) {
476
476
  const t = d(e);
477
477
  return t?.shape === "artifact" && t?.carriesText === !0;
478
478
  }
@@ -480,15 +480,15 @@ function $e(e) {
480
480
  const t = d(e.type)?.snippet;
481
481
  return t ? t(e) : "";
482
482
  }
483
- function ar(e, t) {
483
+ function cr(e, t) {
484
484
  const n = d(e.type)?.timeline;
485
485
  return n ? n(e, t) : e.type.replace(/_/g, " ").toLowerCase();
486
486
  }
487
- function or(e) {
487
+ function lr(e) {
488
488
  const t = d(e.type)?.joinUrl;
489
489
  return t ? t(e) : void 0;
490
490
  }
491
- function N(e, t) {
491
+ function v(e, t) {
492
492
  let n = e;
493
493
  for (const r of t.split(".")) {
494
494
  if (n == null || typeof n != "object") return "";
@@ -496,14 +496,14 @@ function N(e, t) {
496
496
  }
497
497
  return n == null ? "" : typeof n == "string" ? n : typeof n == "number" || typeof n == "boolean" ? String(n) : "";
498
498
  }
499
- function v(e, t, n) {
499
+ function N(e, t, n) {
500
500
  if (e === void 0) return null;
501
501
  if (typeof e == "string") return e || null;
502
502
  if ("value" in e)
503
- return N(t, e.value) || null;
503
+ return v(t, e.value) || null;
504
504
  const r = {};
505
505
  for (const [a, o] of Object.entries(e.params ?? {}))
506
- r[a] = N(t, o);
506
+ r[a] = v(t, o);
507
507
  const i = n(e.key, r);
508
508
  return i === e.key ? null : i;
509
509
  }
@@ -511,7 +511,7 @@ function xe(e, t) {
511
511
  if (!e || typeof e == "string" || "value" in e) return null;
512
512
  const n = {};
513
513
  for (const [r, i] of Object.entries(e.params ?? {}))
514
- n[r] = N(t, i);
514
+ n[r] = v(t, i);
515
515
  return { key: e.key, params: n };
516
516
  }
517
517
  const U = 140;
@@ -519,8 +519,8 @@ function De(e) {
519
519
  const t = e.trim();
520
520
  return t.length <= U ? t : `${t.slice(0, U - 1).trimEnd()}…`;
521
521
  }
522
- function sr(e, t) {
523
- const n = xe(t?.text, e), r = t ? v(t.text, e, (i) => i) : null;
522
+ function ur(e, t) {
523
+ const n = xe(t?.text, e), r = t ? N(t.text, e, (i) => i) : null;
524
524
  return {
525
525
  activityId: e.id,
526
526
  type: e.type,
@@ -589,14 +589,14 @@ class Pe {
589
589
  const r = m[t.type];
590
590
  if (r?.timeline) return r.timeline(t, n);
591
591
  const i = this.declared.get(t.type);
592
- return v(i?.text, t, this.translate) ?? t.type.replace(/_/g, " ").toLowerCase();
592
+ return N(i?.text, t, this.translate) ?? t.type.replace(/_/g, " ").toLowerCase();
593
593
  }
594
594
  /** The line for the inbox list. Empty when the type has nothing to show. */
595
595
  snippet(t) {
596
596
  const n = m[t.type];
597
597
  if (n?.snippet) return n.snippet(t);
598
598
  const r = this.declared.get(t.type);
599
- return v(r?.text, t, this.translate) ?? "";
599
+ return N(r?.text, t, this.translate) ?? "";
600
600
  }
601
601
  /** The descriptor as it arrived; needed to store `text` as a key. */
602
602
  descriptor(t) {
@@ -649,8 +649,8 @@ class Pe {
649
649
  return this.translate;
650
650
  }
651
651
  }
652
- const cr = new Pe();
653
- function lr(e, t, n = []) {
652
+ const dr = new Pe();
653
+ function pr(e, t, n = []) {
654
654
  const r = e.createdAt;
655
655
  if (!r) return [];
656
656
  const i = new Set(n);
@@ -659,10 +659,10 @@ function lr(e, t, n = []) {
659
659
  function Ue(e) {
660
660
  return e.createdAt ?? 0;
661
661
  }
662
- function ur(e) {
662
+ function fr(e) {
663
663
  return e.type === "EMAIL_RECEIVED" || e.type === "EMAIL_SENT";
664
664
  }
665
- function dr(e) {
665
+ function mr(e) {
666
666
  return e.type === "CHAT_MESSAGE_SENT" || e.type === "CHAT_MESSAGE_RECEIVED";
667
667
  }
668
668
  const ue = [
@@ -758,23 +758,23 @@ const ue = [
758
758
  function T(e) {
759
759
  return ue.find((t) => t.id === e);
760
760
  }
761
- function pr(e) {
761
+ function gr(e) {
762
762
  return T(e)?.label ?? e;
763
763
  }
764
- function fr(e, t = "gpt-5-mini") {
764
+ function hr(e, t = "gpt-5-mini") {
765
765
  return T(e)?.defaultModel ?? t;
766
766
  }
767
- function mr(e) {
767
+ function yr(e) {
768
768
  return ue.filter((t) => t.capabilities.includes(e));
769
769
  }
770
- function gr(e) {
770
+ function Ar(e) {
771
771
  const t = T(e);
772
772
  return !!t && !t.baseUrl;
773
773
  }
774
- function hr(e, t) {
774
+ function br(e, t) {
775
775
  return t === "text" ? !0 : T(e)?.attachmentKinds?.includes(t) === !0;
776
776
  }
777
- function yr(e, t) {
777
+ function Er(e, t) {
778
778
  if (!e.enabled) return "ok";
779
779
  const n = G(e.hardLimitNanos), r = G(e.softLimitNanos);
780
780
  return n !== void 0 && t >= n ? "hard" : r !== void 0 && t >= r ? "soft" : "ok";
@@ -786,14 +786,14 @@ function Ke(e, t = "month") {
786
786
  const n = new Date(e);
787
787
  return Date.UTC(n.getUTCFullYear(), n.getUTCMonth(), 1);
788
788
  }
789
- function Ar(e, t = "month") {
789
+ function Sr(e, t = "month") {
790
790
  const n = new Date(Ke(e, t));
791
791
  return `${n.getUTCFullYear()}-${String(n.getUTCMonth() + 1).padStart(2, "0")}`;
792
792
  }
793
- function br(e) {
793
+ function _r(e) {
794
794
  return e?.listeningEnabled !== !1;
795
795
  }
796
- const Sr = [
796
+ const Tr = [
797
797
  { id: "agent", label: "Agent", labelSource: "user" },
798
798
  { id: "team", label: "Team", labelSource: "team" },
799
799
  { id: "inbox", label: "Inbox", labelSource: "inbox" },
@@ -815,7 +815,7 @@ function Ge(e, t) {
815
815
  return n.setUTCMinutes(0, 0, 0), t === "day" && n.setUTCHours(0), n.getTime();
816
816
  }
817
817
  const Be = 36e5, He = 864e5;
818
- function Er(e, t, n) {
818
+ function Ir(e, t, n) {
819
819
  const r = n === "hour" ? Be : He, i = [];
820
820
  for (let a = Ge(e, n); a <= t; a += r)
821
821
  i.push(je(a, n));
@@ -828,7 +828,7 @@ const Fe = [
828
828
  function Ve(e, t) {
829
829
  return `${e}.usage.${t}`;
830
830
  }
831
- function _r(e, t) {
831
+ function wr(e, t) {
832
832
  return t.map((n) => ({
833
833
  id: Ve(e, n.unit),
834
834
  label: n.label,
@@ -843,7 +843,7 @@ function _r(e, t) {
843
843
  ]
844
844
  }));
845
845
  }
846
- const de = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), B = 200, H = 100, F = 200, W = 12, V = 4, pe = 4e3, C = 500, Tr = 256 * 1024, ze = /* @__PURE__ */ new Set([
846
+ const de = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), B = 200, H = 100, F = 200, W = 12, V = 4, pe = 4e3, C = 500, Mr = 256 * 1024, ze = /* @__PURE__ */ new Set([
847
847
  "heading",
848
848
  "paragraph",
849
849
  "list",
@@ -912,7 +912,7 @@ function Qe(e, t = pe) {
912
912
  function et(e, t = "info") {
913
913
  return typeof e == "string" && de.has(e) ? e : t;
914
914
  }
915
- function Ir(e, t = () => {
915
+ function kr(e, t = () => {
916
916
  }) {
917
917
  if (!Array.isArray(e)) return [];
918
918
  const n = [];
@@ -1064,10 +1064,10 @@ function Ir(e, t = () => {
1064
1064
  }
1065
1065
  return n;
1066
1066
  }
1067
- function wr(e) {
1067
+ function Cr(e) {
1068
1068
  return JSON.stringify(e).length;
1069
1069
  }
1070
- function Mr(e) {
1070
+ function Or(e) {
1071
1071
  return {
1072
1072
  blocks: e.length,
1073
1073
  types: e.map((t) => t.type),
@@ -1119,7 +1119,7 @@ function tt(e) {
1119
1119
  return (e.title ? `**${e.title}** ${e.text}` : e.text).split(/\r?\n/).map((n) => `> ${n}`);
1120
1120
  }
1121
1121
  }
1122
- function kr(e, t) {
1122
+ function vr(e, t) {
1123
1123
  const n = [], r = e.some((i) => i.type === "heading" && i.level === 1);
1124
1124
  t && !r && n.push(`# ${t}`);
1125
1125
  for (const i of e) {
@@ -1133,40 +1133,40 @@ function kr(e, t) {
1133
1133
  `;
1134
1134
  }
1135
1135
  const me = (e) => `user:${e}`, ge = (e) => `team:${e}`;
1136
- function Cr(e) {
1136
+ function Nr(e) {
1137
1137
  const t = /* @__PURE__ */ new Set();
1138
1138
  for (const n of e ?? [])
1139
1139
  n?.id && (n.kind === "user" && t.add(me(n.id)), n.kind === "team" && t.add(ge(n.id)));
1140
1140
  return [...t].sort();
1141
1141
  }
1142
- function Or(e, t) {
1142
+ function Rr(e, t) {
1143
1143
  return [me(e), ...t.map(ge)];
1144
1144
  }
1145
- function Nr(e) {
1145
+ function $r(e) {
1146
1146
  const t = /* @__PURE__ */ new Set();
1147
1147
  for (const n of e ?? [])
1148
1148
  n?.kind && t.add(n.kind);
1149
1149
  return [...t];
1150
1150
  }
1151
1151
  const nt = ["done", "escalated"];
1152
- function vr(e) {
1152
+ function xr(e) {
1153
1153
  return nt.includes(e);
1154
1154
  }
1155
1155
  const rt = "assignment";
1156
- function Rr(e) {
1156
+ function Dr(e) {
1157
1157
  return `${rt}:${e}`;
1158
1158
  }
1159
- function $r(e, t, n) {
1159
+ function Lr(e, t, n) {
1160
1160
  if (e.direction === "inbound") return !0;
1161
1161
  if (e.author?.type === "user" && e.author.id === t) return !1;
1162
1162
  const r = e.payload?.mentions;
1163
1163
  return Array.isArray(r) && r.includes(t) ? !0 : n === "reply";
1164
1164
  }
1165
- function xr(e) {
1165
+ function Pr(e) {
1166
1166
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
1167
1167
  }
1168
1168
  const it = 12;
1169
- function Dr(e, t, n = it) {
1169
+ function Ur(e, t, n = it) {
1170
1170
  const r = t + 1;
1171
1171
  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 ? {
1172
1172
  status: "escalated",
@@ -1180,28 +1180,28 @@ function Dr(e, t, n = it) {
1180
1180
  reason: "de agent rondde zijn beurt af zonder te zeggen wat er moet gebeuren (wachten, afronden of overdragen)"
1181
1181
  };
1182
1182
  }
1183
- const Lr = /* @__PURE__ */ new Set(["mail", "message"]);
1183
+ const Kr = /* @__PURE__ */ new Set(["mail", "message"]);
1184
1184
  function at(e, t) {
1185
1185
  const n = e.settings?.signatures?.[t];
1186
1186
  return !n?.enabled || !n.body || n.body.trim() === "" ? null : n;
1187
1187
  }
1188
- function Pr(e, t, n, r = "html") {
1188
+ function jr(e, t, n, r = "html") {
1189
1189
  if (!e) return n;
1190
1190
  const i = at(e, t);
1191
1191
  return i ? `${n}${r === "text" ? `
1192
1192
 
1193
1193
  ` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${i.body}` : n;
1194
1194
  }
1195
- function Ur(e) {
1195
+ function Gr(e) {
1196
1196
  return e.endpoints ?? [];
1197
1197
  }
1198
- const ot = 36e5, st = 864e5, g = -1 / 0, Kr = (e) => e.score > g, _ = {
1198
+ const ot = 36e5, st = 864e5, g = -1 / 0, Br = (e) => e.score > g, _ = {
1199
1199
  urgent: 40,
1200
1200
  high: 25,
1201
1201
  normal: 10,
1202
1202
  low: 0
1203
1203
  };
1204
- function jr(e) {
1204
+ function Hr(e) {
1205
1205
  return Object.fromEntries(e.map((t) => [t.resourceId, t]));
1206
1206
  }
1207
1207
  const ct = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, lt = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
@@ -1209,7 +1209,7 @@ function ut(e, t) {
1209
1209
  return !!(e && ct.test(e) || t && lt.test(t));
1210
1210
  }
1211
1211
  const dt = 3, pt = 600;
1212
- function Gr(e, t) {
1212
+ function Fr(e, t) {
1213
1213
  return e >= dt || t >= pt;
1214
1214
  }
1215
1215
  function ft(e, t) {
@@ -1228,26 +1228,26 @@ function At(e) {
1228
1228
  return e.lastActivityAt ?? (e.createdAt ? new Date(Ue(e)).getTime() : 0);
1229
1229
  }
1230
1230
  function bt(e, t) {
1231
- return St(t.remindersById?.[e.id], e, t.now);
1231
+ return Et(t.remindersById?.[e.id], e, t.now);
1232
1232
  }
1233
- function St(e, t, n) {
1233
+ function Et(e, t, n) {
1234
1234
  return !e || e.remindAt <= n ? !1 : !((t.lastActivityAt ?? 0) > e.parkedAt && t.lastActivityPreview?.direction === "inbound");
1235
1235
  }
1236
1236
  const he = (e) => Re(e) === "outbound_message", ye = (e) => mt.includes(e);
1237
1237
  function R(e, t) {
1238
1238
  return Math.max(0, (t - At(e)) / ot);
1239
1239
  }
1240
- function Br(e, t) {
1240
+ function Wr(e, t) {
1241
1241
  return !ye(e.status) || e.firstResponseAt ? !1 : R(e, t) > ht[e.priority ?? "normal"];
1242
1242
  }
1243
- function Et(e, t) {
1243
+ function St(e, t) {
1244
1244
  const n = e.lastActivityPreview;
1245
1245
  return n?.direction !== "outbound" || !he(n.type) ? !1 : R(e, t) < yt;
1246
1246
  }
1247
- function Hr(e, t) {
1247
+ function Vr(e, t) {
1248
1248
  if (!ye(e.status)) return { score: g, reasons: [] };
1249
1249
  if (e.snoozedTill && e.snoozedTill > t.now) return { score: g, reasons: [] };
1250
- if (Et(e, t.now)) return { score: g, reasons: [] };
1250
+ if (St(e, t.now)) return { score: g, reasons: [] };
1251
1251
  if (bt(e, t)) return { score: g, reasons: [] };
1252
1252
  let n = 0;
1253
1253
  const r = [], i = e.priority ?? "normal";
@@ -1260,17 +1260,17 @@ function Hr(e, t) {
1260
1260
  const o = e.lastActivityPreview;
1261
1261
  return o?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), o?.direction === "outbound" && he(o.type) && (n += 10, r.push("no-reply")), !e.firstResponseAt && e.lastActivityPreview?.direction === "inbound" && (n += 10, r.push("awaiting-reply")), ut(e.remoteParty?.resource, e.lastActivityPreview?.snippet) && (n -= gt, r.push("bulk")), { score: n, reasons: r };
1262
1262
  }
1263
- const Fr = (e) => !!e.assignedUserId || !!e.assignedInboxId, Wr = (e) => e.status === "closed", Vr = (e) => ({
1263
+ const zr = (e) => !!e.assignedUserId || !!e.assignedInboxId, Xr = (e) => e.status === "closed", Yr = (e) => ({
1264
1264
  urgent: 10,
1265
1265
  high: 5,
1266
1266
  normal: 2,
1267
1267
  low: 1
1268
- })[e.priority] || 0, zr = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1269
- function Xr(e, t) {
1268
+ })[e.priority] || 0, qr = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1269
+ function Jr(e, t) {
1270
1270
  const n = e.labels ?? [];
1271
1271
  return n.find((r) => r.locale === t)?.label ?? n[0]?.label ?? e.url;
1272
1272
  }
1273
- function Yr(e, t, n) {
1273
+ function Zr(e, t, n) {
1274
1274
  const r = e.translations ?? [];
1275
1275
  return r.find((i) => i.locale === t) ?? (n ? r.find((i) => i.locale === n) : void 0) ?? { locale: t };
1276
1276
  }
@@ -1293,10 +1293,10 @@ function Ae(e) {
1293
1293
  const t = (e ?? "").toLowerCase();
1294
1294
  return q.find((n) => n.code === t) ?? q.find((n) => n.code === t.split("-")[0]);
1295
1295
  }
1296
- function qr(e) {
1296
+ function Qr(e) {
1297
1297
  return Ae(e)?.label ?? e;
1298
1298
  }
1299
- function Jr(e) {
1299
+ function ei(e) {
1300
1300
  const t = Ae(e);
1301
1301
  return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
1302
1302
  }
@@ -1310,12 +1310,12 @@ function _t(e, t) {
1310
1310
  }
1311
1311
  return r;
1312
1312
  }
1313
- function Zr(e, t, n) {
1313
+ function ti(e, t, n) {
1314
1314
  if (!e) return !0;
1315
1315
  if (e === t) return !1;
1316
1316
  const r = new Map(n.map((o) => [o.id, o]));
1317
1317
  if (!r.has(e) || t && Tt(e, t, r)) return !1;
1318
- const i = _t(e, r), a = t ? Se(t, n) : 1;
1318
+ const i = _t(e, r), a = t ? Ee(t, n) : 1;
1319
1319
  return i + a <= be;
1320
1320
  }
1321
1321
  function Tt(e, t, n) {
@@ -1328,23 +1328,23 @@ function Tt(e, t, n) {
1328
1328
  }
1329
1329
  return !1;
1330
1330
  }
1331
- function Se(e, t, n = /* @__PURE__ */ new Set()) {
1331
+ function Ee(e, t, n = /* @__PURE__ */ new Set()) {
1332
1332
  if (n.has(e)) return 1;
1333
1333
  n.add(e);
1334
1334
  const r = t.filter((i) => i.parentId === e);
1335
- return r.length ? 1 + Math.max(...r.map((i) => Se(i.id, t, n))) : 1;
1335
+ return r.length ? 1 + Math.max(...r.map((i) => Ee(i.id, t, n))) : 1;
1336
1336
  }
1337
1337
  const It = "en";
1338
1338
  function wt(e) {
1339
1339
  return e.defaultLocale || e.locale || It;
1340
1340
  }
1341
- function Qr(e) {
1341
+ function ni(e) {
1342
1342
  const t = /* @__PURE__ */ new Set(), n = [];
1343
1343
  for (const r of [wt(e), ...e.locales ?? []])
1344
1344
  !r || t.has(r) || (t.add(r), n.push(r));
1345
1345
  return n;
1346
1346
  }
1347
- function ei(e, t, n) {
1347
+ function ri(e, t, n) {
1348
1348
  const r = e.translations ?? [];
1349
1349
  return r.find((i) => i.locale === t)?.name ?? (n ? r.find((i) => i.locale === n)?.name : void 0) ?? e.name;
1350
1350
  }
@@ -1375,22 +1375,22 @@ function Mt(e, t) {
1375
1375
  return e.userId === t.userId;
1376
1376
  }
1377
1377
  }
1378
- function ti(e, t) {
1378
+ function ii(e, t) {
1379
1379
  return e.filter((n) => n.enabled && Mt(n.ownerScope, t));
1380
1380
  }
1381
- function ni(e) {
1381
+ function ai(e) {
1382
1382
  return e.credentialScope ? e.credentialScope : (e.authMode ?? "header") === "header" || e.oauth?.scope === "org" ? "shared" : "per-user";
1383
1383
  }
1384
- function ri(e) {
1384
+ function oi(e) {
1385
1385
  return `mcp__${e}__`;
1386
1386
  }
1387
- const ii = 1e3, ai = 2e3, oi = 500, si = 12e3, ci = 4e3, kt = ["contact", "company", "work_item"];
1388
- function li(e) {
1387
+ const si = 1e3, ci = 2e3, li = 500, ui = 12e3, di = 4e3, kt = ["contact", "company", "work_item"];
1388
+ function pi(e) {
1389
1389
  if (!e) return !1;
1390
1390
  const t = e.slice(0, e.indexOf(":"));
1391
1391
  return kt.includes(t);
1392
1392
  }
1393
- const ui = "onboarding-source", di = ["support", "billing", "availability", "sales", "onboarding"], pi = ["keep", "replace"];
1393
+ const fi = "onboarding-source", mi = ["support", "billing", "availability", "sales", "onboarding"], gi = ["keep", "replace"];
1394
1394
  function Ct(e) {
1395
1395
  switch (e.kind) {
1396
1396
  case "user":
@@ -1401,7 +1401,7 @@ function Ct(e) {
1401
1401
  return "org";
1402
1402
  }
1403
1403
  }
1404
- function fi(e) {
1404
+ function hi(e) {
1405
1405
  if (typeof e != "string") return;
1406
1406
  const t = e.trim();
1407
1407
  if (t === "org") return { kind: "org" };
@@ -1416,7 +1416,7 @@ function fi(e) {
1416
1416
  function Ot(e) {
1417
1417
  return Ct(e);
1418
1418
  }
1419
- function Nt(e) {
1419
+ function vt(e) {
1420
1420
  switch (e.kind) {
1421
1421
  case "personal":
1422
1422
  return { kind: "user", userId: e.userId };
@@ -1426,14 +1426,14 @@ function Nt(e) {
1426
1426
  return { kind: "org" };
1427
1427
  }
1428
1428
  }
1429
- const vt = Nt;
1430
- function mi(e) {
1431
- return e.agentId ? { kind: "user", userId: e.agentId } : vt(e.ownerScope);
1429
+ const Nt = vt;
1430
+ function yi(e) {
1431
+ return e.agentId ? { kind: "user", userId: e.agentId } : Nt(e.ownerScope);
1432
1432
  }
1433
- function gi(e) {
1433
+ function Ai(e) {
1434
1434
  return Ot(e);
1435
1435
  }
1436
- function hi(e, t) {
1436
+ function bi(e, t) {
1437
1437
  if (!t) return;
1438
1438
  let n = e;
1439
1439
  for (const r of t.split(".")) {
@@ -1442,24 +1442,24 @@ function hi(e, t) {
1442
1442
  }
1443
1443
  return n;
1444
1444
  }
1445
- function yi(e, t) {
1445
+ function Ei(e, t) {
1446
1446
  return e.targets.find((n) => n.activityTypes.includes(t));
1447
1447
  }
1448
- function Ai(e, t) {
1448
+ function Si(e, t) {
1449
1449
  if (t)
1450
1450
  return e.targets.find((n) => n.id === t);
1451
1451
  }
1452
1452
  function Rt(e) {
1453
1453
  return e?.kind === "assignment";
1454
1454
  }
1455
- function bi(e) {
1455
+ function _i(e) {
1456
1456
  const { trigger: t, agentId: n, target: r, activityType: i, assigneeUserId: a, authorUserId: o } = e;
1457
1457
  return Rt(t) ? n ? r ? r.activityTypes.includes(i) ? a ? a !== n ? "assigned to someone else" : o && o === 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";
1458
1458
  }
1459
- function Si(e) {
1459
+ function Ti(e) {
1460
1460
  return (e.startsWith("tool:") ? e.slice(5) : e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
1461
1461
  }
1462
- const Ei = [
1462
+ const Ii = [
1463
1463
  { name: "text", type: "string" },
1464
1464
  { name: "subject", type: "string" },
1465
1465
  { name: "from", type: "string" },
@@ -1493,7 +1493,7 @@ const Ei = [
1493
1493
  // `buildTriggerVars` cannot fill it itself: the job does that with the catalog in hand, before
1494
1494
  // the trigger filter runs — like contactId/companyId above.
1495
1495
  { name: "assigneeUserId", type: "string" }
1496
- ], _i = {
1496
+ ], wi = {
1497
1497
  topics: [
1498
1498
  { name: "topicId", type: "string" },
1499
1499
  { name: "topic", type: "string" },
@@ -1515,61 +1515,70 @@ function Dt(e) {
1515
1515
  return e?.type === xt ? e.id : void 0;
1516
1516
  }
1517
1517
  const Lt = 64, Pt = 8e3;
1518
- function Ti(e) {
1518
+ function Mi(e) {
1519
1519
  const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
1520
1520
  if (!(!Number.isFinite(t) || t <= 0))
1521
1521
  return Math.min(Math.max(Math.round(t), Lt), Pt);
1522
1522
  }
1523
- const Ii = { kind: "workflow", steps: [] };
1524
- function wi(e) {
1523
+ const ki = { kind: "workflow", steps: [] };
1524
+ function Ci(e) {
1525
1525
  return e?.kind === "workflow" ? e.steps : [];
1526
1526
  }
1527
- function Mi(e) {
1527
+ function Oi(e) {
1528
1528
  return e?.kind === "procedure" ? e.procedure : void 0;
1529
1529
  }
1530
- const Ut = ["done", "escalated", "failed", "stopped"];
1531
- function ki(e) {
1532
- return Ut.includes(e);
1530
+ function Ut(e) {
1531
+ const t = e?.approved ?? 0, n = t + (e?.rejected ?? 0);
1532
+ return { total: n, rate: n ? t / n : 0 };
1533
+ }
1534
+ const Kt = 10, jt = 0.9;
1535
+ function vi(e) {
1536
+ const { total: t, rate: n } = Ut(e);
1537
+ return t >= Kt && n >= jt;
1538
+ }
1539
+ const Gt = ["done", "escalated", "failed", "stopped"];
1540
+ function Ni(e) {
1541
+ return Gt.includes(e);
1533
1542
  }
1534
- function Kt(e) {
1543
+ function Bt(e) {
1535
1544
  return e === "waiting";
1536
1545
  }
1537
- function Ci(e) {
1538
- return e === "running" || Kt(e);
1546
+ function Ri(e) {
1547
+ return e === "running" || Bt(e);
1539
1548
  }
1540
- function Ee(e) {
1549
+ function Se(e) {
1541
1550
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
1542
1551
  }
1543
- function Oi(e) {
1544
- const t = Ee(e);
1552
+ function $i(e) {
1553
+ const t = Se(e);
1545
1554
  return t ? $t(t) : void 0;
1546
1555
  }
1547
- function Ni(e) {
1548
- return Dt(Ee(e));
1556
+ function xi(e) {
1557
+ return Dt(Se(e));
1549
1558
  }
1550
- function vi(e, t) {
1559
+ function Di(e, t) {
1551
1560
  const n = e.accumulatedSeconds || 0;
1552
1561
  return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
1553
1562
  }
1554
- function Ri(e, t) {
1563
+ function Li(e, t) {
1555
1564
  const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
1556
1565
  if (!t || t === "exact") return n * 60;
1557
1566
  const r = Number(t);
1558
1567
  return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
1559
1568
  }
1560
- function $i(e) {
1569
+ function Pi(e) {
1561
1570
  const t = Math.max(0, Math.round(e / 60));
1562
1571
  return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
1563
1572
  }
1564
- function xi(e) {
1573
+ function Ui(e) {
1565
1574
  const t = Math.max(0, Math.floor(e)), n = (a) => String(a).padStart(2, "0"), r = Math.floor(t / 60) % 60, i = Math.floor(t / 3600);
1566
1575
  return i > 0 ? `${i}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
1567
1576
  }
1568
- function jt(e) {
1577
+ function Ht(e) {
1569
1578
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
1570
1579
  }
1571
- function Di(e, t) {
1572
- const n = jt(e) || "werksoort", r = new Set(t);
1580
+ function Ki(e, t) {
1581
+ const n = Ht(e) || "werksoort", r = new Set(t);
1573
1582
  if (!r.has(n)) return n;
1574
1583
  for (let i = 2; i < 500; i++) {
1575
1584
  const a = `${n}-${i}`;
@@ -1577,29 +1586,29 @@ function Di(e, t) {
1577
1586
  }
1578
1587
  return `${n}-${r.size + 1}`;
1579
1588
  }
1580
- function Li(e, t) {
1589
+ function ji(e, t) {
1581
1590
  const n = e.ownerScope;
1582
1591
  return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
1583
1592
  }
1584
- function Pi(e) {
1585
- return e.filter((t) => !t.archived).sort(Gt);
1593
+ function Gi(e) {
1594
+ return e.filter((t) => !t.archived).sort(Ft);
1586
1595
  }
1587
- function Gt(e, t) {
1596
+ function Ft(e, t) {
1588
1597
  const n = (e.order ?? 0) - (t.order ?? 0);
1589
1598
  return n !== 0 ? n : (e.label || "").localeCompare(t.label || "");
1590
1599
  }
1591
- const Bt = 20, Ht = 20, O = 300;
1600
+ const Wt = 20, Vt = 20, O = 300;
1592
1601
  function h(e) {
1593
1602
  return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
1594
1603
  }
1595
- function Ft(e) {
1604
+ function zt(e) {
1596
1605
  const t = e.replace(/\s+/g, " ").trim();
1597
1606
  if (t.length <= O) return t;
1598
1607
  const n = t.slice(0, O), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
1599
1608
  return r > O * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
1600
1609
  }
1601
- function Ui(e, t) {
1602
- const n = Ft(t.text), r = h(n);
1610
+ function Bi(e, t) {
1611
+ const n = zt(t.text), r = h(n);
1603
1612
  if (!r || (e.examples ?? []).some((o) => h(o) === r)) return null;
1604
1613
  const i = e.exampleCandidates ?? [], a = i.findIndex((o) => h(o.text) === r);
1605
1614
  if (a >= 0) {
@@ -1607,63 +1616,63 @@ function Ui(e, t) {
1607
1616
  const o = [...i];
1608
1617
  return o[a] = { ...o[a], corrected: !0, addedAt: t.addedAt }, Q(o);
1609
1618
  }
1610
- return Q([{ ...t, text: n }, ...i]).slice(0, Ht);
1619
+ return Q([{ ...t, text: n }, ...i]).slice(0, Vt);
1611
1620
  }
1612
1621
  function Q(e) {
1613
1622
  return [...e].sort(
1614
1623
  (t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt
1615
1624
  );
1616
1625
  }
1617
- function Ki(e, t) {
1626
+ function Hi(e, t) {
1618
1627
  const n = h(t), r = (e.examples ?? []).filter((a) => a.trim());
1619
- return { examples: r.some((a) => h(a) === n) ? r : [...r, t].slice(-Bt), exampleCandidates: Wt(e, t) };
1628
+ return { examples: r.some((a) => h(a) === n) ? r : [...r, t].slice(-Wt), exampleCandidates: Xt(e, t) };
1620
1629
  }
1621
- function Wt(e, t) {
1630
+ function Xt(e, t) {
1622
1631
  const n = h(t);
1623
1632
  return (e.exampleCandidates ?? []).filter((r) => h(r.text) !== n);
1624
1633
  }
1625
- function Vt(e, t) {
1634
+ function Yt(e, t) {
1626
1635
  const n = e.ownerScope;
1627
1636
  return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
1628
1637
  }
1629
- function ji(e, t) {
1630
- return e.filter((n) => Vt(n, t));
1638
+ function Fi(e, t) {
1639
+ return e.filter((n) => Yt(n, t));
1631
1640
  }
1632
- function Gi(e) {
1641
+ function Wi(e) {
1633
1642
  return e.type === "agent";
1634
1643
  }
1635
- const Bi = "WORK_COMMENT_ADDED", Hi = "WORK_ITEM_ASSIGNED", Fi = "WORK_ITEM_STATUS_CHANGED";
1636
- function zt(e, t) {
1644
+ const Vi = "WORK_COMMENT_ADDED", zi = "WORK_ITEM_ASSIGNED", Xi = "WORK_ITEM_STATUS_CHANGED";
1645
+ function qt(e, t) {
1637
1646
  const n = (r) => {
1638
1647
  const i = new Date(r);
1639
1648
  return i.setHours(0, 0, 0, 0), i.getTime();
1640
1649
  };
1641
1650
  return Math.round((n(e) - n(t)) / st);
1642
1651
  }
1643
- function Wi(e, t) {
1652
+ function Yi(e, t) {
1644
1653
  if (e.closedAt != null) return { score: g, reasons: [] };
1645
1654
  const n = t.remindersById?.[e.id];
1646
1655
  if (n && n.remindAt > t.now) return { score: g, reasons: [] };
1647
1656
  let r = 0;
1648
1657
  const i = [], a = e.priority ?? "normal";
1649
1658
  if (_[a] > 0 && (r += _[a], i.push(`priority:${a}`)), typeof e.dueDate == "number") {
1650
- const o = zt(e.dueDate, t.now);
1659
+ const o = qt(e.dueDate, t.now);
1651
1660
  o < 0 ? (r += 35, i.push("overdue")) : o === 0 && (r += 20, i.push("due-today"));
1652
1661
  }
1653
1662
  return e.source?.initiator === "system" && e.source.systemReason && (r += 15, i.push(`auto:${e.source.systemReason}`)), { score: r, reasons: i };
1654
1663
  }
1655
- const Xt = "work_item", Yt = "work_project";
1656
- function qt(e) {
1657
- return `${Xt}:${e}`;
1664
+ const Jt = "work_item", Zt = "work_project";
1665
+ function Qt(e) {
1666
+ return `${Jt}:${e}`;
1658
1667
  }
1659
1668
  function _e(e) {
1660
- return `${Yt}:${e}`;
1669
+ return `${Zt}:${e}`;
1661
1670
  }
1662
- function Vi(e, t, n) {
1671
+ function qi(e, t, n) {
1663
1672
  const r = `${e}-${t}`;
1664
1673
  return n ? `${r}-${n}` : r;
1665
1674
  }
1666
- function zi(e) {
1675
+ function Ji(e) {
1667
1676
  const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
1668
1677
  return t ? {
1669
1678
  projectKey: t[1].toUpperCase(),
@@ -1671,17 +1680,17 @@ function zi(e) {
1671
1680
  ...t[3] ? { subSequence: Number(t[3]) } : {}
1672
1681
  } : null;
1673
1682
  }
1674
- function Xi(e) {
1683
+ function Zi(e) {
1675
1684
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
1676
1685
  }
1677
- function Yi(e, t = 25) {
1678
- const n = /* @__PURE__ */ new Set([qt(e.id)]);
1686
+ function Qi(e, t = 25) {
1687
+ const n = /* @__PURE__ */ new Set([Qt(e.id)]);
1679
1688
  e.projectId && n.add(_e(e.projectId));
1680
1689
  for (const r of e.ancestorKeys ?? []) n.add(r);
1681
1690
  for (const r of e.partyKeys ?? []) n.add(r);
1682
1691
  return Array.from(n).slice(0, t);
1683
1692
  }
1684
- function qi(e) {
1693
+ function ea(e) {
1685
1694
  return [_e(e.id)];
1686
1695
  }
1687
1696
  const $ = [
@@ -1690,33 +1699,33 @@ const $ = [
1690
1699
  { key: "done", label: "status_done", category: "done", order: 2 },
1691
1700
  { key: "cancelled", label: "status_cancelled", category: "done", order: 3 }
1692
1701
  ], Te = $.map((e) => e.key);
1693
- function Jt(e) {
1702
+ function en(e) {
1694
1703
  return e?.statuses?.length ? e.statuses : $;
1695
1704
  }
1696
- function Zt(e, t) {
1705
+ function tn(e, t) {
1697
1706
  return t.find((n) => n.key === e)?.category ?? "todo";
1698
1707
  }
1699
- function Ji(e, t) {
1708
+ function ta(e, t) {
1700
1709
  return t.find((n) => n.key === e);
1701
1710
  }
1702
- function Zi(e) {
1703
- const t = Jt(e), n = e?.defaultStatusKey;
1704
- return n && t.some((r) => r.key === n) ? n : Qt(t)[0]?.key ?? $[0].key;
1711
+ function na(e) {
1712
+ const t = en(e), n = e?.defaultStatusKey;
1713
+ return n && t.some((r) => r.key === n) ? n : nn(t)[0]?.key ?? $[0].key;
1705
1714
  }
1706
- function Qt(e) {
1715
+ function nn(e) {
1707
1716
  return [...e].sort((t, n) => {
1708
1717
  const r = (t.order ?? 0) - (n.order ?? 0);
1709
1718
  return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
1710
1719
  });
1711
1720
  }
1712
- function Qi(e, t) {
1713
- return Zt(e, t) === "done";
1721
+ function ra(e, t) {
1722
+ return tn(e, t) === "done";
1714
1723
  }
1715
- function en(e) {
1724
+ function rn(e) {
1716
1725
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
1717
1726
  }
1718
- function ea(e, t) {
1719
- const n = en(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Te]);
1727
+ function ia(e, t) {
1728
+ const n = rn(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Te]);
1720
1729
  if (!r.has(n)) return n;
1721
1730
  for (let i = 2; i < 500; i++) {
1722
1731
  const a = `${n}-${i}`;
@@ -1724,7 +1733,7 @@ function ea(e, t) {
1724
1733
  }
1725
1734
  return `${n}-${r.size + 1}`;
1726
1735
  }
1727
- function ta(e) {
1736
+ function aa(e) {
1728
1737
  const t = [];
1729
1738
  if (!e.length) return [{ index: -1, reason: "empty" }];
1730
1739
  const n = /* @__PURE__ */ new Set();
@@ -1736,7 +1745,7 @@ function ta(e) {
1736
1745
  Te.includes(r.key) && t.push({ index: i, reason: "reserved_key", key: r.key }), n.has(r.key) && t.push({ index: i, reason: "duplicate_key", key: r.key }), n.add(r.key);
1737
1746
  }), e.some((r) => r.category === "todo" || r.category === "in_progress") || t.push({ index: -1, reason: "no_open" }), e.some((r) => r.category === "done") || t.push({ index: -1, reason: "no_done" }), t;
1738
1747
  }
1739
- const tn = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), nn = /* @__PURE__ */ new Set([
1748
+ const an = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), on = /* @__PURE__ */ new Set([
1740
1749
  "text/plain",
1741
1750
  "text/markdown",
1742
1751
  "text/csv",
@@ -1745,67 +1754,67 @@ const tn = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
1745
1754
  "application/xml",
1746
1755
  "text/xml"
1747
1756
  ]);
1748
- function rn(e) {
1757
+ function sn(e) {
1749
1758
  const t = (e ?? "").trim().toLowerCase().split(";")[0];
1750
- return t ? tn.has(t) ? "image" : t === "application/pdf" ? "pdf" : nn.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
1759
+ return t ? an.has(t) ? "image" : t === "application/pdf" ? "pdf" : on.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
1751
1760
  }
1752
- const y = 1024 * 1024, an = {
1761
+ const y = 1024 * 1024, cn = {
1753
1762
  image: 5 * y,
1754
1763
  pdf: 20 * y,
1755
1764
  text: 1 * y,
1756
1765
  audio: 20 * y
1757
- }, na = 25 * y, ra = 5;
1758
- function ia(e, t) {
1759
- const n = rn(e);
1760
- return n === "unsupported" ? "unsupported" : t > an[n] ? "too-large" : null;
1766
+ }, oa = 25 * y, sa = 5;
1767
+ function ca(e, t) {
1768
+ const n = sn(e);
1769
+ return n === "unsupported" ? "unsupported" : t > cn[n] ? "too-large" : null;
1761
1770
  }
1762
- function aa(e) {
1771
+ function la(e) {
1763
1772
  return e.access !== "read" && e.effect !== "internal";
1764
1773
  }
1765
- function on(e) {
1774
+ function ln(e) {
1766
1775
  return `${e.kind}:${e.id || e.url || e.title}`;
1767
1776
  }
1768
- function oa(e, t = []) {
1777
+ function ua(e, t = []) {
1769
1778
  const n = new Set(t), r = [], i = [];
1770
1779
  for (const a of e) {
1771
- const o = on(a);
1780
+ const o = ln(a);
1772
1781
  n.has(o) || (n.add(o), r.push(a), i.push(o));
1773
1782
  }
1774
1783
  return { sources: r, keys: i };
1775
1784
  }
1776
- const sa = "assist-source", ca = ["blocking", "due", "open"];
1777
- function la(e, t) {
1785
+ const da = "assist-source", pa = ["blocking", "due", "open"];
1786
+ function fa(e, t) {
1778
1787
  const [n, r] = (e.subjectKey ?? "").split(":");
1779
1788
  return n === t && r ? r : void 0;
1780
1789
  }
1781
1790
  const ee = { blocking: 0, due: 1, open: 2 };
1782
- function ua(e, t) {
1791
+ function ma(e, t) {
1783
1792
  return ee[e.band ?? "open"] - ee[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
1784
1793
  }
1785
- function da(e) {
1794
+ function ga(e) {
1786
1795
  return e.sessions.filter(
1787
1796
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
1788
1797
  );
1789
1798
  }
1790
- function pa(e) {
1799
+ function ha(e) {
1791
1800
  return e.sessions.filter(
1792
1801
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
1793
1802
  );
1794
1803
  }
1795
- function fa(e) {
1804
+ function ya(e) {
1796
1805
  return e.sessions.some(
1797
1806
  (n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
1798
1807
  ) ? { admit: !1, reason: "busy" } : { admit: !0 };
1799
1808
  }
1800
- function sn(e, t) {
1801
- const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, i = t.intents.filter((o) => !n.has(o.intent)).map((o) => ln(o, r[o.intent]));
1809
+ function un(e, t) {
1810
+ const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, i = t.intents.filter((o) => !n.has(o.intent)).map((o) => pn(o, r[o.intent]));
1802
1811
  if (!e.extraIntents || e.extraIntents.length === 0) return i;
1803
1812
  const a = new Set(i.map((o) => o.intent));
1804
1813
  for (const o of e.extraIntents)
1805
1814
  a.has(o.intent) || (i.push(o), a.add(o.intent));
1806
1815
  return i;
1807
1816
  }
1808
- function cn(e, t) {
1817
+ function dn(e, t) {
1809
1818
  const n = {};
1810
1819
  for (const r of e.intents) {
1811
1820
  if (!r.togglable) continue;
@@ -1814,46 +1823,46 @@ function cn(e, t) {
1814
1823
  }
1815
1824
  return n;
1816
1825
  }
1817
- function ma(e, t) {
1818
- const n = cn(e, t);
1826
+ function Aa(e, t) {
1827
+ const n = dn(e, t);
1819
1828
  return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
1820
1829
  }
1821
- function ln(e, t) {
1830
+ function pn(e, t) {
1822
1831
  return t ? {
1823
1832
  intent: t.intent ?? e.intent,
1824
1833
  targetSchemes: t.targetSchemes ?? e.targetSchemes,
1825
1834
  transport: t.transport ?? e.transport
1826
1835
  } : e;
1827
1836
  }
1828
- function ga(e, t) {
1837
+ function ba(e, t) {
1829
1838
  const n = [];
1830
1839
  for (const r of e) {
1831
1840
  if (!r.enabled) continue;
1832
1841
  const i = t[r.providerId];
1833
1842
  if (i)
1834
- for (const a of sn(r, i))
1843
+ for (const a of un(r, i))
1835
1844
  n.push({ channel: r, description: i, capability: a });
1836
1845
  }
1837
1846
  return n;
1838
1847
  }
1839
- function ha(e, t) {
1848
+ function Ea(e, t) {
1840
1849
  return t.filter((n) => n.capability.intent === e);
1841
1850
  }
1842
- function un(e, t) {
1851
+ function fn(e, t) {
1843
1852
  return t.filter((n) => n.capability.targetSchemes.includes(e));
1844
1853
  }
1845
- function ya(e, t) {
1846
- return un(e.scheme, t);
1854
+ function Sa(e, t) {
1855
+ return fn(e.scheme, t);
1847
1856
  }
1848
- function Aa(e, t, n) {
1857
+ function _a(e, t, n) {
1849
1858
  const r = [];
1850
1859
  for (const i of e)
1851
1860
  for (const a of n)
1852
1861
  a.capability.intent === t && a.capability.targetSchemes.includes(i.scheme) && r.push({ channelIntent: a, endpoint: i });
1853
1862
  return r;
1854
1863
  }
1855
- var dn = /* @__PURE__ */ ((e) => (e.MAILTO = "mailto", e.SIP = "sip", e.TEL = "tel", e.WEBHOOK = "webhook", e.USERNAME = "username", e.ID = "id", e.CUSTOM = "custom", e.URL = "url", e.TELEGRAM = "telegram", e.WHATSAPP = "whatsapp", e.MESSENGER = "messenger", e.INSTAGRAM = "instagram", e.VIBER = "viber", e.SMS = "sms", e.FAX = "fax", e.TEAMS = "teams", e.CALENDAR = "calendar", e))(dn || {});
1856
- const pn = {
1864
+ var mn = /* @__PURE__ */ ((e) => (e.MAILTO = "mailto", e.SIP = "sip", e.TEL = "tel", e.WEBHOOK = "webhook", e.USERNAME = "username", e.ID = "id", e.CUSTOM = "custom", e.URL = "url", e.TELEGRAM = "telegram", e.WHATSAPP = "whatsapp", e.MESSENGER = "messenger", e.INSTAGRAM = "instagram", e.VIBER = "viber", e.SMS = "sms", e.FAX = "fax", e.TEAMS = "teams", e.CALENDAR = "calendar", e))(mn || {});
1865
+ const gn = {
1857
1866
  mailto: "mail",
1858
1867
  sip: "tel",
1859
1868
  tel: "tel",
@@ -1874,10 +1883,10 @@ const pn = {
1874
1883
  id: "note",
1875
1884
  custom: "note"
1876
1885
  };
1877
- function ba(e) {
1878
- return e ? pn[e] ?? "note" : "note";
1886
+ function Ta(e) {
1887
+ return e ? gn[e] ?? "note" : "note";
1879
1888
  }
1880
- const Sa = "message_window", Ea = "message_templates", _a = {
1889
+ const Ia = "message_window", wa = "message_templates", Ma = {
1881
1890
  // E-mail
1882
1891
  FROM: "from",
1883
1892
  TO: "to",
@@ -1894,19 +1903,19 @@ const Sa = "message_window", Ea = "message_templates", _a = {
1894
1903
  // Voice/conference
1895
1904
  HOST: "host",
1896
1905
  PARTICIPANT: "participant"
1897
- }, Ta = (e, t) => ({ intent: e, ...t }), Ia = "folder_management", wa = "remote_search", Ma = {
1906
+ }, ka = (e, t) => ({ intent: e, ...t }), Ca = "folder_management", Oa = "remote_search", va = {
1898
1907
  ok: !1,
1899
1908
  code: "UNSUPPORTED",
1900
1909
  message: "Provider does not support this op"
1901
- }, ka = "installation-id";
1902
- function Ca(e) {
1910
+ }, Na = "installation-id";
1911
+ function Ra(e) {
1903
1912
  const t = [];
1904
1913
  for (const n of Object.keys(e))
1905
1914
  for (const r of Object.keys(e[n]))
1906
1915
  t.push({ lang: n, key: r, value: e[n][r] });
1907
1916
  return t;
1908
1917
  }
1909
- const Oa = "notification-source", Na = (e, t) => `${e}.pref.${t}`, va = {
1918
+ const $a = "notification-source", xa = (e, t) => `${e}.pref.${t}`, Da = {
1910
1919
  ai: [
1911
1920
  "account.read",
1912
1921
  "account.write",
@@ -2039,25 +2048,25 @@ const Oa = "notification-source", Na = (e, t) => `${e}.pref.${t}`, va = {
2039
2048
  time: ["entry.read", "entry.write", "work-type.read", "work-type.write"],
2040
2049
  user: ["user.read", "user.write"],
2041
2050
  work: ["item.read", "item.write", "project.read", "project.write"]
2042
- }, Ie = 9e4, fn = ["out_of_office"], we = (e) => fn.includes(e);
2043
- function Ra(e, t, n) {
2051
+ }, Ie = 9e4, hn = ["out_of_office"], we = (e) => hn.includes(e);
2052
+ function La(e, t, n) {
2044
2053
  const r = n - e < Ie, i = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
2045
2054
  if (!i?.status) return { online: r, status: r ? "available" : "offline" };
2046
2055
  const a = i.status;
2047
2056
  return !r && !we(a) ? { online: !1, status: "offline" } : { online: r, status: a, message: i.message };
2048
2057
  }
2049
- function $a(e, t) {
2058
+ function Pa(e, t) {
2050
2059
  const n = t - e.lastSeenAt < Ie, r = n || we(e.status) ? e.status : "offline";
2051
2060
  return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
2052
2061
  }
2053
- function xa(e, t) {
2062
+ function Ua(e, t) {
2054
2063
  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 };
2055
2064
  }
2056
- function Da(e) {
2065
+ function Ka(e) {
2057
2066
  return e.providerAvailable && e.allowed;
2058
2067
  }
2059
- const La = "resources.describe", Pa = "resources.search", Ua = "resources.resolve";
2060
- function Ka(e) {
2068
+ const ja = "resources.describe", Ga = "resources.search", Ba = "resources.resolve", Ha = "resources.attached";
2069
+ function Fa(e) {
2061
2070
  const t = e.indexOf(":");
2062
2071
  return t === -1 ? e : e.slice(0, t);
2063
2072
  }
@@ -2066,21 +2075,21 @@ function ke(e) {
2066
2075
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
2067
2076
  return t ? t[1] : null;
2068
2077
  }
2069
- function ja(e) {
2078
+ function Wa(e) {
2070
2079
  const t = ke(e);
2071
2080
  return t ? t !== Me : typeof e == "string" && e.startsWith("/wake");
2072
2081
  }
2073
- function Ga(e) {
2082
+ function Va(e) {
2074
2083
  return typeof e != "string" || e === "" || e === "/" ? !0 : ke(e) === Me;
2075
2084
  }
2076
- function mn(e) {
2085
+ function yn(e) {
2077
2086
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
2078
2087
  }
2079
- function gn(e) {
2080
- const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${mn(r)}`).join("");
2088
+ function An(e) {
2089
+ const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${yn(r)}`).join("");
2081
2090
  return new RegExp(`^${n}\\/?$`);
2082
2091
  }
2083
- function hn(e, t) {
2092
+ function bn(e, t) {
2084
2093
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean), i = {};
2085
2094
  return n.forEach((a, o) => {
2086
2095
  if (a.startsWith(":")) {
@@ -2089,14 +2098,14 @@ function hn(e, t) {
2089
2098
  }
2090
2099
  }), i;
2091
2100
  }
2092
- function yn(e) {
2101
+ function En(e) {
2093
2102
  return e.publicBasePath ?? `/apps/${e.name}`;
2094
2103
  }
2095
- function Ba(e) {
2104
+ function za(e) {
2096
2105
  const t = [];
2097
2106
  for (const n of e) {
2098
2107
  if (!n?.name) continue;
2099
- const r = yn(n);
2108
+ const r = En(n);
2100
2109
  for (const i of n.routes ?? []) {
2101
2110
  if (!i.public) continue;
2102
2111
  const a = i.path === "/" ? "" : i.path;
@@ -2110,7 +2119,7 @@ function Ba(e) {
2110
2119
  }
2111
2120
  return t;
2112
2121
  }
2113
- function An(e, t) {
2122
+ function Sn(e, t) {
2114
2123
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean);
2115
2124
  for (let i = 0; i < Math.min(n.length, r.length); i++) {
2116
2125
  const a = n[i].startsWith(":"), o = r[i].startsWith(":");
@@ -2118,17 +2127,17 @@ function An(e, t) {
2118
2127
  }
2119
2128
  return n.length > r.length;
2120
2129
  }
2121
- function bn(e, t) {
2130
+ function _n(e, t) {
2122
2131
  if (typeof e != "string") return null;
2123
2132
  let n = null;
2124
2133
  for (const r of t)
2125
- gn(r.pattern).test(e) && (!n || An(r.pattern, n.pattern)) && (n = r);
2126
- return n ? { ...n, params: { ...n.props, ...hn(n.pattern, e) } } : null;
2134
+ An(r.pattern).test(e) && (!n || Sn(r.pattern, n.pattern)) && (n = r);
2135
+ return n ? { ...n, params: { ...n.props, ...bn(n.pattern, e) } } : null;
2127
2136
  }
2128
- function Ha(e, t) {
2129
- return bn(e, t) !== null;
2137
+ function Xa(e, t) {
2138
+ return _n(e, t) !== null;
2130
2139
  }
2131
- const Fa = "sync-source", Wa = "sync-target", Va = 20, Sn = {
2140
+ const Ya = "sync-source", qa = "sync-target", Ja = 20, Tn = {
2132
2141
  afrikaans: [
2133
2142
  "[Muziek]",
2134
2143
  "(C) TV GELDERLAND 2021",
@@ -2278,14 +2287,14 @@ const Fa = "sync-source", Wa = "sync-target", Va = 20, Sn = {
2278
2287
  "[MÚSICA]",
2279
2288
  "[Music cuts in British]"
2280
2289
  ]
2281
- }, En = (e) => {
2290
+ }, In = (e) => {
2282
2291
  let t = e;
2283
- return Object.values(Sn).forEach((n) => {
2292
+ return Object.values(Tn).forEach((n) => {
2284
2293
  n.forEach((r) => {
2285
2294
  t = t.replaceAll(r, "");
2286
2295
  });
2287
2296
  }), t = t.replace(/\(.*?\)/g, ""), t = t.replace(/\[.*?\]/g, ""), t;
2288
- }, _n = 6e4, Tn = 8e3, In = 2, wn = 0.4, Mn = 3, kn = /* @__PURE__ */ new Set([
2297
+ }, wn = 6e4, Mn = 8e3, kn = 2, Cn = 0.4, On = 3, vn = /* @__PURE__ */ new Set([
2289
2298
  "aan",
2290
2299
  "als",
2291
2300
  "ben",
@@ -2398,13 +2407,13 @@ const Fa = "sync-source", Wa = "sync-target", Va = 20, Sn = {
2398
2407
  "you",
2399
2408
  "your"
2400
2409
  ]);
2401
- function Cn(e) {
2410
+ function Nn(e) {
2402
2411
  const t = /* @__PURE__ */ new Set();
2403
2412
  for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
2404
- n.length < Mn || kn.has(n) || t.add(n);
2413
+ n.length < On || vn.has(n) || t.add(n);
2405
2414
  return [...t];
2406
2415
  }
2407
- function On(e, t) {
2416
+ function Rn(e, t) {
2408
2417
  if (!e.length) return 0;
2409
2418
  if (!t.length) return 1;
2410
2419
  const n = new Set(t), r = new Set(e);
@@ -2412,32 +2421,32 @@ function On(e, t) {
2412
2421
  for (const a of r) n.has(a) || (i += 1);
2413
2422
  return i / r.size;
2414
2423
  }
2415
- function Nn(e, t = _n) {
2424
+ function $n(e, t = wn) {
2416
2425
  const n = e.filter((o) => !o.partial && typeof o.text == "string");
2417
2426
  if (!n.length) return { text: "", segmentCount: 0 };
2418
2427
  const i = n.reduce((o, s) => Math.max(o, s.endedAt ?? 0), 0) - t;
2419
- return { text: n.filter((o) => (o.endedAt ?? 0) >= i).map((o) => En(o.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
2428
+ return { text: n.filter((o) => (o.endedAt ?? 0) >= i).map((o) => In(o.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
2420
2429
  }
2421
- const vn = 60;
2422
- function za(e, t, n = vn) {
2430
+ const xn = 60;
2431
+ function Za(e, t, n = xn) {
2423
2432
  const r = new Set(e), i = [...e];
2424
2433
  for (const a of t)
2425
2434
  !a || r.has(a) || (r.add(a), i.push(a));
2426
2435
  return i.slice(-n);
2427
2436
  }
2428
- function Xa(e) {
2437
+ function Qa(e) {
2429
2438
  const { segments: t, now: n, state: r } = e;
2430
- if (r.lastTriggerAt && n - r.lastTriggerAt < Tn)
2439
+ if (r.lastTriggerAt && n - r.lastTriggerAt < Mn)
2431
2440
  return { trigger: !1, reason: "too_soon" };
2432
- const i = Nn(t, e.windowMs);
2441
+ const i = $n(t, e.windowMs);
2433
2442
  if (!i.text) return { trigger: !1, reason: "no_speech" };
2434
2443
  const a = i.segmentCount - (r.lastSegmentCount ?? 0);
2435
- if (r.lastQueryTerms && a < In)
2444
+ if (r.lastQueryTerms && a < kn)
2436
2445
  return { trigger: !1, reason: "too_few_new" };
2437
- const o = Cn(i.text);
2438
- return o.length ? r.lastQueryTerms?.length && On(o, r.lastQueryTerms) < wn ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: i.text, terms: o, segmentCount: i.segmentCount } : { trigger: !1, reason: "no_speech" };
2446
+ const o = Nn(i.text);
2447
+ return o.length ? r.lastQueryTerms?.length && Rn(o, r.lastQueryTerms) < Cn ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: i.text, terms: o, segmentCount: i.segmentCount } : { trigger: !1, reason: "no_speech" };
2439
2448
  }
2440
- const Ya = "navNotice", x = {
2449
+ const eo = "navNotice", x = {
2441
2450
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
2442
2451
  // shorter than geographic numbers, and a too-strict minimum silently drops them.
2443
2452
  // An over-permissive key is harmless — it simply matches nothing.
@@ -2460,38 +2469,38 @@ const Ya = "navNotice", x = {
2460
2469
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
2461
2470
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
2462
2471
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
2463
- }, Rn = "NL", $n = 15, xn = 8, Dn = Array.from(
2472
+ }, Dn = "NL", Ln = 15, Pn = 8, Un = Array.from(
2464
2473
  new Set(Object.values(x).map((e) => e.callingCode))
2465
2474
  ).sort((e, t) => t.length - e.length);
2466
2475
  function te(e) {
2467
2476
  if (e)
2468
2477
  return x[e.trim().toUpperCase()];
2469
2478
  }
2470
- function E(e, t) {
2479
+ function S(e, t) {
2471
2480
  return e.length >= t.nsnMin && e.length <= t.nsnMax;
2472
2481
  }
2473
2482
  function ne(e) {
2474
- if (e.length > $n) return null;
2475
- for (const t of Dn) {
2483
+ if (e.length > Ln) return null;
2484
+ for (const t of Un) {
2476
2485
  if (!e.startsWith(t)) continue;
2477
2486
  const n = e.slice(t.length);
2478
2487
  for (const r of Object.values(x)) {
2479
2488
  if (r.callingCode !== t) continue;
2480
2489
  const i = r.trunkPrefix, a = i && n.startsWith(i) ? n.slice(i.length) : n;
2481
- if (E(a, r)) return `+${t}${a}`;
2490
+ if (S(a, r)) return `+${t}${a}`;
2482
2491
  }
2483
2492
  return null;
2484
2493
  }
2485
- return e.length < xn ? null : `+${e}`;
2494
+ return e.length < Pn ? null : `+${e}`;
2486
2495
  }
2487
- function Ln(e) {
2496
+ function Kn(e) {
2488
2497
  let t = e.trim();
2489
2498
  const n = t.match(/^(sips?|tel|whatsapp):/i);
2490
2499
  n && (t = t.slice(n[0].length));
2491
2500
  const r = t.indexOf("@");
2492
2501
  return r >= 0 && (t = t.slice(0, r)), t.trim();
2493
2502
  }
2494
- function qa(e) {
2503
+ function to(e) {
2495
2504
  if (!e) return !1;
2496
2505
  const t = e.indexOf("@");
2497
2506
  if (t <= 0) return !1;
@@ -2500,26 +2509,26 @@ function qa(e) {
2500
2509
  }
2501
2510
  function re(e, t) {
2502
2511
  if (!e) return null;
2503
- const n = Ln(e);
2512
+ const n = Kn(e);
2504
2513
  if (!n) return null;
2505
2514
  const r = n.startsWith("+"), i = n.replace(/\D/g, "");
2506
2515
  if (!i) return null;
2507
2516
  if (r) return ne(i);
2508
2517
  if (i.startsWith("00")) return ne(i.slice(2));
2509
- const a = te(t) ?? te(Rn);
2518
+ const a = te(t) ?? te(Dn);
2510
2519
  if (!a) return null;
2511
2520
  const o = a.trunkPrefix;
2512
2521
  if (o && i.startsWith(o)) {
2513
2522
  const s = i.slice(o.length);
2514
- return E(s, a) ? `+${a.callingCode}${s}` : null;
2523
+ return S(s, a) ? `+${a.callingCode}${s}` : null;
2515
2524
  }
2516
2525
  if (i.startsWith(a.callingCode)) {
2517
2526
  const s = i.slice(a.callingCode.length);
2518
- if (E(s, a)) return `+${a.callingCode}${s}`;
2527
+ if (S(s, a)) return `+${a.callingCode}${s}`;
2519
2528
  }
2520
- return !o && E(i, a) ? `+${a.callingCode}${i}` : null;
2529
+ return !o && S(i, a) ? `+${a.callingCode}${i}` : null;
2521
2530
  }
2522
- function Ja(e, t = 9) {
2531
+ function no(e, t = 9) {
2523
2532
  const n = (e ?? "").replace(/\D/g, "");
2524
2533
  return n.length < t ? null : n.slice(-t);
2525
2534
  }
@@ -2530,11 +2539,11 @@ function Ce(e) {
2530
2539
  const r = t.slice(0, n).split("+")[0], i = t.slice(n + 1);
2531
2540
  return !r || !i.includes(".") ? null : `${r}@${i}`;
2532
2541
  }
2533
- function Za(e) {
2542
+ function ro(e) {
2534
2543
  const t = Ce(e);
2535
2544
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
2536
2545
  }
2537
- const Pn = /* @__PURE__ */ new Set([
2546
+ const jn = /* @__PURE__ */ new Set([
2538
2547
  "co.uk",
2539
2548
  "org.uk",
2540
2549
  "gov.uk",
@@ -2544,14 +2553,14 @@ const Pn = /* @__PURE__ */ new Set([
2544
2553
  "com.br",
2545
2554
  "co.za"
2546
2555
  ]);
2547
- function Un(e) {
2556
+ function Gn(e) {
2548
2557
  if (!e) return null;
2549
2558
  const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
2550
2559
  if (t.length < 2) return null;
2551
2560
  const n = t.slice(-2).join(".");
2552
- return Pn.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
2561
+ return jn.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
2553
2562
  }
2554
- const Kn = /* @__PURE__ */ new Set([
2563
+ const Bn = /* @__PURE__ */ new Set([
2555
2564
  "gmail.com",
2556
2565
  "googlemail.com",
2557
2566
  "outlook.com",
@@ -2596,16 +2605,16 @@ const Kn = /* @__PURE__ */ new Set([
2596
2605
  "proximus.be",
2597
2606
  "scarlet.be"
2598
2607
  ]);
2599
- function Qa(e) {
2600
- const t = Un(e);
2601
- return t ? Kn.has(t) : !1;
2608
+ function io(e) {
2609
+ const t = Gn(e);
2610
+ return t ? Bn.has(t) : !1;
2602
2611
  }
2603
- function eo(e) {
2612
+ function ao(e) {
2604
2613
  if (!e) return !1;
2605
2614
  const t = e.trim().toLowerCase();
2606
2615
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
2607
2616
  }
2608
- function to(e, t, n) {
2617
+ function oo(e, t, n) {
2609
2618
  if (!e || !t) return null;
2610
2619
  const r = e.trim().toLowerCase();
2611
2620
  if (r === "tel" || r === "sms" || r === "whatsapp") {
@@ -2623,17 +2632,17 @@ function to(e, t, n) {
2623
2632
  const i = t.trim().toLowerCase();
2624
2633
  return i ? `${r}:${i}` : null;
2625
2634
  }
2626
- const jn = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, Gn = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
2627
- function no(e) {
2635
+ const Hn = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, Fn = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
2636
+ function so(e) {
2628
2637
  if (typeof e != "string" || !e) return "";
2629
2638
  let t = e;
2630
2639
  return t = t.replace(/```[a-z]*\n?/gi, "").replace(/~~~[a-z]*\n?/gi, ""), t = t.replace(/!\[([^\]]*)\]\([^)]*\)/g, "$1"), t = t.replace(/\[([^\]]*)\]\([^)]*\)/g, "$1"), t = t.replace(/\[([^\]]*)\]\[[^\]]*\]/g, "$1"), t = t.replace(/<((?:https?|mailto):[^>\s]+)>/gi, "$1"), t = t.split(`
2631
2640
  `).map(
2632
2641
  (n) => n.replace(/^\s{0,3}#{1,6}\s+/, "").replace(/^\s{0,3}>\s?/, "").replace(/^\s*[-*+]\s+/, "").replace(/^\s*\d+[.)]\s+/, "").replace(/^\s*(?:[-*_]\s*){3,}$/, "")
2633
2642
  ).join(`
2634
- `), t = t.replace(jn, "$2"), t = t.replace(Gn, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
2643
+ `), t = t.replace(Hn, "$2"), t = t.replace(Fn, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
2635
2644
  }
2636
- const Bn = [
2645
+ const Wn = [
2637
2646
  /<blockquote/i,
2638
2647
  /class="?gmail_quote/i,
2639
2648
  // Gmail quote container
@@ -2646,12 +2655,12 @@ const Bn = [
2646
2655
  // Outlook underscore separator before "From:"
2647
2656
  /\bOn\b[\s\S]{0,200}?\bwrote:/i
2648
2657
  // Gmail "On <date> <name> wrote:"
2649
- ], ie = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Hn = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
2650
- function Fn(e) {
2658
+ ], ie = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Vn = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
2659
+ function zn(e) {
2651
2660
  const t = e.split(`
2652
2661
  `);
2653
2662
  for (let n = 0; n < t.length; n++)
2654
- if (Hn.test(t[n]) || ie.test(t[n]) && t.slice(n + 1, n + 4).some((r) => ie.test(r)))
2663
+ if (Vn.test(t[n]) || ie.test(t[n]) && t.slice(n + 1, n + 4).some((r) => ie.test(r)))
2655
2664
  return t.slice(0, n).join(`
2656
2665
  `).trim();
2657
2666
  return e;
@@ -2676,31 +2685,31 @@ function ce(e) {
2676
2685
 
2677
2686
  `).trim();
2678
2687
  }
2679
- const Wn = /<\s*(html|body|div|p|table|br|span)\b/i;
2680
- function ro(e) {
2681
- return Wn.test(e);
2688
+ const Xn = /<\s*(html|body|div|p|table|br|span)\b/i;
2689
+ function co(e) {
2690
+ return Xn.test(e);
2682
2691
  }
2683
- function io(e) {
2692
+ function lo(e) {
2684
2693
  if (typeof e != "string" || !e) return "";
2685
2694
  let t = e.length;
2686
- for (const a of Bn) {
2695
+ for (const a of Wn) {
2687
2696
  const o = e.search(a);
2688
2697
  o >= 0 && o < t && (t = o);
2689
2698
  }
2690
2699
  const n = e.slice(0, t);
2691
2700
  let r = ce(se(ae(n)));
2692
- return r || (r = ce(se(ae(e)))), Fn(r) || r;
2701
+ return r || (r = ce(se(ae(e)))), zn(r) || r;
2693
2702
  }
2694
2703
  export {
2695
2704
  m as ACTIVITY_CATALOG,
2696
- an as AI_ATTACHMENT_LIMITS,
2697
- ra as AI_ATTACHMENT_MAX_PER_TURN,
2698
- na as AI_ATTACHMENT_TURN_BUDGET,
2705
+ cn as AI_ATTACHMENT_LIMITS,
2706
+ sa as AI_ATTACHMENT_MAX_PER_TURN,
2707
+ oa as AI_ATTACHMENT_TURN_BUDGET,
2699
2708
  ue as AI_VENDORS,
2700
2709
  Xe as ALLOWED_LINK_SCHEMES,
2701
- va as APP_PERMISSIONS,
2710
+ Da as APP_PERMISSIONS,
2702
2711
  B as ARTIFACT_MAX_BLOCKS,
2703
- Tr as ARTIFACT_MAX_BODY_BYTES,
2712
+ Mr as ARTIFACT_MAX_BODY_BYTES,
2704
2713
  C as ARTIFACT_MAX_CELL_LEN,
2705
2714
  V as ARTIFACT_MAX_KPI_ITEMS,
2706
2715
  H as ARTIFACT_MAX_LIST_ITEMS,
@@ -2708,289 +2717,294 @@ export {
2708
2717
  F as ARTIFACT_MAX_TABLE_ROWS,
2709
2718
  pe as ARTIFACT_MAX_TEXT_LEN,
2710
2719
  rt as ASSIGNMENT_SCOPE_KIND,
2711
- ca as ASSIST_BANDS,
2712
- sa as ASSIST_SOURCE_PROVIDER_GROUP,
2720
+ pa as ASSIST_BANDS,
2721
+ da as ASSIST_SOURCE_PROVIDER_GROUP,
2713
2722
  mt as ATTENTION_STATUSES,
2714
2723
  Me as AUTH_APP_NAME,
2724
+ Kt as AUTO_READY_MIN_PROPOSALS,
2725
+ jt as AUTO_READY_RATE,
2715
2726
  Pe as ActivityTypeRegistry,
2716
- cr as BUILT_IN_ONLY,
2727
+ dr as BUILT_IN_ONLY,
2717
2728
  gt as BULK_PENALTY,
2718
- Tn as CADENCE_FLOOR_MS,
2719
- In as CADENCE_MIN_NEW_SEGMENTS,
2720
- wn as CADENCE_MIN_NOVELTY,
2721
- _n as CADENCE_WINDOW_MS,
2722
- _i as CLASSIFY_VARS,
2723
- Sr as CORE_DIMENSIONS,
2724
- dn as CommunicationScheme,
2729
+ Mn as CADENCE_FLOOR_MS,
2730
+ kn as CADENCE_MIN_NEW_SEGMENTS,
2731
+ Cn as CADENCE_MIN_NOVELTY,
2732
+ wn as CADENCE_WINDOW_MS,
2733
+ wi as CLASSIFY_VARS,
2734
+ Tr as CORE_DIMENSIONS,
2735
+ mn as CommunicationScheme,
2725
2736
  st as DAY_MS,
2726
- ci as DEFAULT_MEMORY_BUDGET,
2727
- Rn as DEFAULT_PHONE_REGION,
2728
- Ii as EMPTY_WORKFLOW,
2729
- Ia as FEATURE_FOLDER_MANAGEMENT,
2730
- wa as FEATURE_REMOTE_SEARCH,
2737
+ di as DEFAULT_MEMORY_BUDGET,
2738
+ Dn as DEFAULT_PHONE_REGION,
2739
+ ki as EMPTY_WORKFLOW,
2740
+ Ca as FEATURE_FOLDER_MANAGEMENT,
2741
+ Oa as FEATURE_REMOTE_SEARCH,
2731
2742
  yt as FOLLOW_UP_HOURS,
2732
2743
  ot as HOUR_MS,
2733
- Wn as HTML_BODY_RE,
2744
+ Xn as HTML_BODY_RE,
2734
2745
  g as INELIGIBLE,
2735
- ka as INSTALLATION_HEADER,
2746
+ Na as INSTALLATION_HEADER,
2736
2747
  xt as INTERACTION_KIND,
2737
- _a as InteractionParticipantRole,
2748
+ Ma as InteractionParticipantRole,
2738
2749
  It as KB_FALLBACK_LOCALE,
2739
2750
  q as KB_LOCALES,
2740
2751
  $ as LOOSE_STATUSES,
2741
- Yn as MAX_ACTIONS,
2752
+ Zn as MAX_ACTIONS,
2742
2753
  it as MAX_ASSIGNMENT_TURNS,
2743
- Vn as MAX_BLOCKS,
2754
+ Yn as MAX_BLOCKS,
2744
2755
  be as MAX_COLLECTION_DEPTH,
2745
- zn as MAX_FIELDS,
2746
- Xn as MAX_LIST_ITEMS,
2747
- ii as MAX_MEMORY_BROWSE,
2748
- si as MAX_MEMORY_BUDGET,
2749
- ai as MAX_MEMORY_CHARS,
2750
- vn as MAX_SHOWN_KEYS,
2751
- Ht as MAX_TOPIC_CANDIDATES,
2752
- Bt as MAX_TOPIC_EXAMPLES,
2756
+ qn as MAX_FIELDS,
2757
+ Jn as MAX_LIST_ITEMS,
2758
+ si as MAX_MEMORY_BROWSE,
2759
+ ui as MAX_MEMORY_BUDGET,
2760
+ ci as MAX_MEMORY_CHARS,
2761
+ xn as MAX_SHOWN_KEYS,
2762
+ Vt as MAX_TOPIC_CANDIDATES,
2763
+ Wt as MAX_TOPIC_EXAMPLES,
2753
2764
  O as MAX_TOPIC_EXAMPLE_CHARS,
2754
- oi as MIN_MEMORY_BUDGET,
2755
- Ya as NAV_NOTICE_SLOT,
2756
- Oa as NOTIFICATION_SOURCE_PROVIDER_GROUP,
2757
- ui as ONBOARDING_SOURCE_PROVIDER_GROUP,
2765
+ li as MIN_MEMORY_BUDGET,
2766
+ eo as NAV_NOTICE_SLOT,
2767
+ $a as NOTIFICATION_SOURCE_PROVIDER_GROUP,
2768
+ fi as ONBOARDING_SOURCE_PROVIDER_GROUP,
2758
2769
  x as PHONE_REGIONS,
2759
2770
  Ie as PRESENCE_ONLINE_WINDOW_MS,
2760
- fn as PRESENCE_SURVIVES_OFFLINE,
2761
- pi as PROFILE_TOOL_DISPOSITIONS,
2762
- Ea as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
2763
- Sa as PROVIDER_FEATURE_MESSAGE_WINDOW,
2764
- Kn as PUBLIC_EMAIL_DOMAINS,
2771
+ hn as PRESENCE_SURVIVES_OFFLINE,
2772
+ gi as PROFILE_TOOL_DISPOSITIONS,
2773
+ wa as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
2774
+ Ia as PROVIDER_FEATURE_MESSAGE_WINDOW,
2775
+ Bn as PUBLIC_EMAIL_DOMAINS,
2765
2776
  J as READ_STEP_TYPES,
2766
2777
  kt as RELATED_SUBJECT_KINDS,
2767
2778
  Te as RESERVED_STATUS_KEYS,
2768
- La as RESOURCE_DESCRIBE_SERVICE,
2769
- Ua as RESOURCE_RESOLVE_SERVICE,
2770
- Pa as RESOURCE_SEARCH_SERVICE,
2771
- Lr as SIGNATURE_INTENTS,
2779
+ Ha as RESOURCE_ATTACHED_SERVICE,
2780
+ ja as RESOURCE_DESCRIBE_SERVICE,
2781
+ Ba as RESOURCE_RESOLVE_SERVICE,
2782
+ Ga as RESOURCE_SEARCH_SERVICE,
2783
+ Kr as SIGNATURE_INTENTS,
2772
2784
  ht as SLA_HOURS_BY_PRIORITY,
2773
2785
  Pt as STEP_MAX_TOKENS_MAX,
2774
2786
  Lt as STEP_MAX_TOKENS_MIN,
2775
2787
  pt as SUMMARY_MIN_LAST_CHARS,
2776
2788
  dt as SUMMARY_MIN_MESSAGES,
2777
- Va as SYNC_RUN_MAX_ERRORS,
2778
- Fa as SYNC_SOURCE_PROVIDER_GROUP,
2779
- Wa as SYNC_TARGET_PROVIDER_GROUP,
2789
+ Ja as SYNC_RUN_MAX_ERRORS,
2790
+ Ya as SYNC_SOURCE_PROVIDER_GROUP,
2791
+ qa as SYNC_TARGET_PROVIDER_GROUP,
2780
2792
  nt as TERMINAL_ASSIGNMENT_STATUSES,
2781
- Ut as TERMINAL_RUN_STATUSES,
2782
- Ei as TRIGGER_VARS,
2783
- Ma as UNSUPPORTED,
2793
+ Gt as TERMINAL_RUN_STATUSES,
2794
+ Ii as TRIGGER_VARS,
2795
+ va as UNSUPPORTED,
2784
2796
  Fe as USAGE_DIMENSIONS,
2785
2797
  We as USAGE_DIMENSION_IDS,
2786
- di as WORK_AREAS,
2787
- Bi as WORK_COMMENT_ADDED,
2788
- Hi as WORK_ITEM_ASSIGNED,
2789
- Xt as WORK_ITEM_SCOPE_KIND,
2790
- Fi as WORK_ITEM_STATUS_CHANGED,
2791
- Yt as WORK_PROJECT_SCOPE_KIND,
2798
+ mi as WORK_AREAS,
2799
+ Vi as WORK_COMMENT_ADDED,
2800
+ zi as WORK_ITEM_ASSIGNED,
2801
+ Jt as WORK_ITEM_SCOPE_KIND,
2802
+ Xi as WORK_ITEM_STATUS_CHANGED,
2803
+ Zt as WORK_PROJECT_SCOPE_KIND,
2792
2804
  _ as W_PRIORITY,
2793
- Ki as acceptExampleCandidate,
2805
+ Hi as acceptExampleCandidate,
2794
2806
  Ot as actingIdentityKey,
2795
- Pi as activeWorkTypes,
2796
- Jn as activityIconOf,
2797
- or as activityJoinUrl,
2807
+ Gi as activeWorkTypes,
2808
+ er as activityIconOf,
2809
+ lr as activityJoinUrl,
2798
2810
  $e as activitySnippet,
2799
2811
  xe as activityTextParams,
2800
- ar as activityTimelineText,
2812
+ cr as activityTimelineText,
2801
2813
  Ue as activityTimestamp,
2802
2814
  d as activityTypeInfo,
2803
- gi as actorKey,
2804
- Ui as addExampleCandidate,
2805
- $a as agePresenceEntry,
2806
- rn as aiAttachmentKind,
2807
- ia as aiAttachmentRejection,
2815
+ Ai as actorKey,
2816
+ Bi as addExampleCandidate,
2817
+ Pa as agePresenceEntry,
2818
+ sn as aiAttachmentKind,
2819
+ ca as aiAttachmentRejection,
2808
2820
  G as aiBudgetLimit,
2809
- Ar as aiBudgetPeriodKey,
2821
+ Sr as aiBudgetPeriodKey,
2810
2822
  Ke as aiBudgetPeriodStart,
2811
- yr as aiBudgetState,
2812
- hr as aiVendorAcceptsAttachment,
2813
- fr as aiVendorDefaultModel,
2814
- pr as aiVendorLabel,
2815
- gr as aiVendorNeedsBaseUrl,
2816
- mr as aiVendorsWith,
2823
+ Er as aiBudgetState,
2824
+ br as aiVendorAcceptsAttachment,
2825
+ hr as aiVendorDefaultModel,
2826
+ gr as aiVendorLabel,
2827
+ Ar as aiVendorNeedsBaseUrl,
2828
+ yr as aiVendorsWith,
2817
2829
  ke as appNameFromPath,
2818
- Ri as applyRounding,
2819
- Pr as applySignature,
2820
- wr as artifactBodyBytes,
2821
- Mr as artifactOutline,
2822
- kr as artifactToMarkdown,
2823
- bi as assignmentMismatch,
2824
- Rr as assignmentScopeKey,
2825
- xr as assignmentSubject,
2826
- sr as buildActivityPreview,
2827
- ga as buildChannelIntents,
2828
- Cr as buildShareKeys,
2829
- Nn as buildWindow,
2830
- Zr as canNestUnder,
2831
- tr as carriesText,
2832
- ei as categoryLabel,
2833
- Zt as categoryOf,
2834
- ba as channelKindForScheme,
2835
- Zn as channelKindOf,
2836
- Ti as clampStepMaxTokens,
2837
- io as cleanMessageText,
2838
- ua as compareAssistRank,
2839
- Gt as compareWorkTypes,
2840
- Dr as decideAssignmentState,
2841
- Xa as decideCadence,
2842
- fa as decideIncomingCall,
2830
+ Li as applyRounding,
2831
+ jr as applySignature,
2832
+ Ut as approvalRate,
2833
+ Cr as artifactBodyBytes,
2834
+ Or as artifactOutline,
2835
+ vr as artifactToMarkdown,
2836
+ _i as assignmentMismatch,
2837
+ Dr as assignmentScopeKey,
2838
+ Pr as assignmentSubject,
2839
+ ur as buildActivityPreview,
2840
+ ba as buildChannelIntents,
2841
+ Nr as buildShareKeys,
2842
+ $n as buildWindow,
2843
+ ti as canNestUnder,
2844
+ ir as carriesText,
2845
+ ri as categoryLabel,
2846
+ tn as categoryOf,
2847
+ Ta as channelKindForScheme,
2848
+ tr as channelKindOf,
2849
+ Mi as clampStepMaxTokens,
2850
+ lo as cleanMessageText,
2851
+ ma as compareAssistRank,
2852
+ Ft as compareWorkTypes,
2853
+ Ur as decideAssignmentState,
2854
+ Qa as decideCadence,
2855
+ ya as decideIncomingCall,
2843
2856
  wt as defaultLocaleOf,
2844
- Zi as defaultStatusKey,
2845
- Ta as defineIntent,
2857
+ na as defaultStatusKey,
2858
+ ka as defineIntent,
2846
2859
  _t as depthOf,
2847
- Ra as derivePresence,
2848
- ma as disabledIntentsFromCapabilities,
2849
- vi as elapsedSeconds,
2850
- Za as emailDomain,
2851
- to as endpointKey,
2852
- hn as extractParams,
2853
- Cn as extractTerms,
2854
- ya as filterByEndpoint,
2855
- ha as filterByIntent,
2856
- un as filterByTargetScheme,
2860
+ La as derivePresence,
2861
+ Aa as disabledIntentsFromCapabilities,
2862
+ Di as elapsedSeconds,
2863
+ ro as emailDomain,
2864
+ oo as endpointKey,
2865
+ bn as extractParams,
2866
+ Nn as extractTerms,
2867
+ Sa as filterByEndpoint,
2868
+ Ea as filterByIntent,
2869
+ fn as filterByTargetScheme,
2857
2870
  T as findAiVendor,
2858
- Ca as flattenLocales,
2871
+ Ra as flattenLocales,
2859
2872
  Ge as floorToPeriod,
2860
2873
  Ct as formatActingIdentity,
2861
- xi as formatClock,
2862
- $i as formatHm,
2863
- Vi as formatItemKey,
2874
+ Ui as formatClock,
2875
+ Pi as formatHm,
2876
+ qi as formatItemKey,
2864
2877
  je as formatPeriod,
2865
- oa as freshSources,
2866
- lr as getActivitySeenUserIds,
2867
- Ur as getContactEndpoints,
2868
- zr as getShortTitle,
2869
- Vr as getUrgencyScore,
2870
- Se as heightOf,
2871
- Yr as helpCenterText,
2872
- Si as humanizeAction,
2878
+ ua as freshSources,
2879
+ pr as getActivitySeenUserIds,
2880
+ Gr as getContactEndpoints,
2881
+ qr as getShortTitle,
2882
+ Yr as getUrgencyScore,
2883
+ Ee as heightOf,
2884
+ Zr as helpCenterText,
2885
+ Ti as humanizeAction,
2873
2886
  Dt as interactionIdOf,
2874
- Gi as isAgentUser,
2875
- Fr as isAssigned,
2876
- vr as isAssignmentTerminal,
2887
+ Wi as isAgentUser,
2888
+ zr as isAssigned,
2889
+ xr as isAssignmentTerminal,
2877
2890
  Rt as isAssignmentTrigger,
2878
- Et as isAwaitingThem,
2879
- dr as isChatMessageActivity,
2880
- Wr as isClosed,
2881
- rr as isConnectedType,
2882
- ja as isDeepLink,
2891
+ vi as isAutoReady,
2892
+ St as isAwaitingThem,
2893
+ mr as isChatMessageActivity,
2894
+ Xr as isClosed,
2895
+ or as isConnectedType,
2896
+ Wa as isDeepLink,
2883
2897
  Tt as isDescendant,
2884
- Kr as isEligible,
2885
- ur as isEmailActivity,
2886
- ro as isHtmlBody,
2887
- Ci as isInFlight,
2898
+ Br as isEligible,
2899
+ fr as isEmailActivity,
2900
+ co as isHtmlBody,
2901
+ Ri as isInFlight,
2888
2902
  ft as isInteractionUnseen,
2889
- Ga as isLandingPath,
2903
+ Va as isLandingPath,
2890
2904
  ut as isLikelyBulk,
2891
2905
  le as isMessageShape,
2892
- Qn as isMessageType,
2893
- An as isMoreSpecificPattern,
2894
- aa as isOutwardTool,
2906
+ nr as isMessageType,
2907
+ Sn as isMoreSpecificPattern,
2908
+ la as isOutwardTool,
2895
2909
  bt as isParked,
2896
- Kt as isPaused,
2897
- nr as isPlaybookAuthoredType,
2898
- Qa as isPublicEmailDomain,
2899
- Ha as isPublicPath,
2900
- St as isReminderActive,
2901
- er as isReplyableType,
2902
- Br as isSlaAtRisk,
2903
- ki as isTerminal,
2904
- Gr as isThreadLongEnough,
2905
- ir as isTranscriptType,
2906
- Qi as isWorkClosed,
2907
- Li as isWorkTypeVisible,
2908
- Yi as itemDossierKeys,
2909
- Jt as ladderFor,
2910
- Xr as linkLabel,
2911
- br as listeningAllowed,
2912
- Jr as localeInstruction,
2913
- qr as localeName,
2914
- Qr as localesOf,
2915
- qa as looksLikeEmail,
2916
- Aa as matchContactToIntents,
2917
- bn as matchPublicRoute,
2918
- ni as mcpCredentialScope,
2919
- ri as mcpToolPrefix,
2920
- za as mergeShownKeys,
2910
+ Bt as isPaused,
2911
+ ar as isPlaybookAuthoredType,
2912
+ io as isPublicEmailDomain,
2913
+ Xa as isPublicPath,
2914
+ Et as isReminderActive,
2915
+ rr as isReplyableType,
2916
+ Wr as isSlaAtRisk,
2917
+ Ni as isTerminal,
2918
+ Fr as isThreadLongEnough,
2919
+ sr as isTranscriptType,
2920
+ ra as isWorkClosed,
2921
+ ji as isWorkTypeVisible,
2922
+ Qi as itemDossierKeys,
2923
+ en as ladderFor,
2924
+ Jr as linkLabel,
2925
+ _r as listeningAllowed,
2926
+ ei as localeInstruction,
2927
+ Qr as localeName,
2928
+ ni as localesOf,
2929
+ to as looksLikeEmail,
2930
+ _a as matchContactToIntents,
2931
+ _n as matchPublicRoute,
2932
+ ai as mcpCredentialScope,
2933
+ oi as mcpToolPrefix,
2934
+ Za as mergeShownKeys,
2921
2935
  Re as messageCountsAs,
2922
- eo as needsPhoneRegion,
2923
- Ir as normalizeArtifactBlocks,
2924
- qn as normalizeBlocks,
2936
+ ao as needsPhoneRegion,
2937
+ kr as normalizeArtifactBlocks,
2938
+ Qn as normalizeBlocks,
2925
2939
  Ce as normalizeEmail,
2926
2940
  h as normalizeExample,
2927
- Na as notificationPrefKey,
2928
- On as novelty,
2929
- jr as parkMarksById,
2930
- fi as parseActingIdentity,
2931
- zi as parseItemKey,
2932
- gn as pathToRegex,
2933
- Er as periodsInRange,
2934
- Ja as phoneSuffix,
2935
- no as plainTextFromMarkdown,
2936
- vt as playbookActor,
2937
- Mi as procedureOf,
2938
- qi as projectDossierKeys,
2939
- yn as publicBasePathFor,
2940
- Ba as publicRoutePatterns,
2941
- N as readPath,
2941
+ xa as notificationPrefKey,
2942
+ Rn as novelty,
2943
+ Hr as parkMarksById,
2944
+ hi as parseActingIdentity,
2945
+ Ji as parseItemKey,
2946
+ An as pathToRegex,
2947
+ Ir as periodsInRange,
2948
+ no as phoneSuffix,
2949
+ so as plainTextFromMarkdown,
2950
+ Nt as playbookActor,
2951
+ Oi as procedureOf,
2952
+ ea as projectDossierKeys,
2953
+ En as publicBasePathFor,
2954
+ za as publicRoutePatterns,
2955
+ v as readPath,
2942
2956
  Z as readStepError,
2943
2957
  At as recencyOf,
2944
2958
  $t as refKey,
2945
- Un as registrableDomain,
2946
- Wt as rejectExampleCandidate,
2947
- li as relatedByDefault,
2948
- cn as resolveAccountCapabilities,
2949
- v as resolveActivityText,
2950
- sn as resolveChannelIntents,
2959
+ Gn as registrableDomain,
2960
+ Xt as rejectExampleCandidate,
2961
+ pi as relatedByDefault,
2962
+ dn as resolveAccountCapabilities,
2963
+ N as resolveActivityText,
2964
+ un as resolveChannelIntents,
2951
2965
  at as resolveSignature,
2952
- xa as resolveWorkMode,
2953
- Ka as resourceKindOf,
2954
- mi as runActor,
2955
- Ni as runInteractionId,
2966
+ Ua as resolveWorkMode,
2967
+ Fa as resourceKindOf,
2968
+ yi as runActor,
2969
+ xi as runInteractionId,
2956
2970
  Ze as sanitizeInline,
2957
- En as sanitizeTranscript,
2958
- Hr as scoreInteraction,
2959
- Wi as scoreWorkItem,
2960
- ti as selectLenses,
2961
- pa as sessionsHoldCannotReach,
2962
- da as sessionsToHold,
2971
+ In as sanitizeTranscript,
2972
+ Vr as scoreInteraction,
2973
+ Yi as scoreWorkItem,
2974
+ ii as selectLenses,
2975
+ ha as sessionsHoldCannotReach,
2976
+ ga as sessionsToHold,
2963
2977
  ge as shareKeyForTeam,
2964
2978
  me as shareKeyForUser,
2965
- Or as shareKeysForViewer,
2966
- Da as shouldRunAudioPipeline,
2967
- Qt as sortStatuses,
2968
- on as sourceKey,
2969
- Ji as statusIn,
2970
- wi as stepsOf,
2971
- ve as stripHtml,
2972
- Oi as subjectKeyOf,
2973
- Ee as subjectOf,
2974
- la as subjectRef,
2975
- Xi as suggestProjectKey,
2976
- Ai as targetById,
2977
- yi as targetForActivityType,
2978
- Nt as toActingIdentity,
2979
+ Rr as shareKeysForViewer,
2980
+ Ka as shouldRunAudioPipeline,
2981
+ nn as sortStatuses,
2982
+ ln as sourceKey,
2983
+ ta as statusIn,
2984
+ Ci as stepsOf,
2985
+ Ne as stripHtml,
2986
+ $i as subjectKeyOf,
2987
+ Se as subjectOf,
2988
+ fa as subjectRef,
2989
+ Zi as suggestProjectKey,
2990
+ Si as targetById,
2991
+ Ei as targetForActivityType,
2992
+ vt as toActingIdentity,
2979
2993
  re as toE164,
2980
- Nr as toolSourceKinds,
2981
- Vt as topicOfferedForTeam,
2982
- ji as topicsForTeam,
2983
- Ft as truncateExample,
2984
- ea as uniqueWorkStatusKey,
2985
- Di as uniqueWorkTypeKey,
2994
+ $r as toolSourceKinds,
2995
+ Yt as topicOfferedForTeam,
2996
+ Fi as topicsForTeam,
2997
+ zt as truncateExample,
2998
+ ia as uniqueWorkStatusKey,
2999
+ Ki as uniqueWorkTypeKey,
2986
3000
  Ve as usageMetricId,
2987
- _r as usageMetrics,
2988
- ta as validateStatuses,
2989
- hi as valueAtPath,
3001
+ wr as usageMetrics,
3002
+ aa as validateStatuses,
3003
+ bi as valueAtPath,
2990
3004
  R as waitHoursOf,
2991
- $r as wakesAssignment,
2992
- qt as workItemScopeKey,
3005
+ Lr as wakesAssignment,
3006
+ Qt as workItemScopeKey,
2993
3007
  _e as workProjectScopeKey,
2994
- en as workStatusKey,
2995
- jt as workTypeKey
3008
+ rn as workStatusKey,
3009
+ Ht as workTypeKey
2996
3010
  };