@opencxh/domain 1.196.0 → 1.198.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 Yn = 10, qn = 10, Jn = 10, Zn = 5, Ne = /* @__PURE__ */ new Set([
1
+ const qn = 10, Jn = 10, Zn = 10, Qn = 5, Ne = /* @__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 er(e, t = () => {
18
18
  }) {
19
19
  if (!Array.isArray(e)) return [];
20
20
  const n = [];
@@ -445,34 +445,34 @@ function P(e) {
445
445
  function d(e) {
446
446
  return m[e];
447
447
  }
448
- function er(e) {
448
+ function tr(e) {
449
449
  return d(e)?.icon ?? "circle";
450
450
  }
451
- function tr(e) {
451
+ function nr(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 nr(e) {
457
+ function rr(e) {
458
458
  return le(d(e)?.shape);
459
459
  }
460
- function rr(e) {
460
+ function ir(e) {
461
461
  return d(e)?.replyable === !0;
462
462
  }
463
- function ir(e) {
463
+ function or(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 or(e) {
469
+ function ar(e) {
470
470
  return d(e)?.playbookAuthored === !0;
471
471
  }
472
- function ar(e) {
472
+ function sr(e) {
473
473
  return d(e)?.connected === !0;
474
474
  }
475
- function sr(e) {
475
+ function cr(e) {
476
476
  const t = d(e);
477
477
  return t?.shape === "artifact" && t?.carriesText === !0;
478
478
  }
@@ -480,11 +480,11 @@ function $e(e) {
480
480
  const t = d(e.type)?.snippet;
481
481
  return t ? t(e) : "";
482
482
  }
483
- function cr(e, t) {
483
+ function lr(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 lr(e) {
487
+ function ur(e) {
488
488
  const t = d(e.type)?.joinUrl;
489
489
  return t ? t(e) : void 0;
490
490
  }
@@ -519,7 +519,7 @@ 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 ur(e, t) {
522
+ function dr(e, t) {
523
523
  const n = xe(t?.text, e), r = t ? v(t.text, e, (i) => i) : null;
524
524
  return {
525
525
  activityId: e.id,
@@ -548,7 +548,7 @@ function K(e) {
548
548
  displayNameKey: t.displayNameKey
549
549
  };
550
550
  }
551
- function j(e) {
551
+ function G(e) {
552
552
  return {
553
553
  type: e.type,
554
554
  shape: e.shape,
@@ -573,11 +573,11 @@ class Pe {
573
573
  get(t) {
574
574
  if (t in m) return K(t);
575
575
  const n = this.declared.get(t);
576
- return n ? j(n) : void 0;
576
+ return n ? G(n) : void 0;
577
577
  }
578
578
  /** Everything that may be offered as a trigger, built-in and declared. */
579
579
  triggerable() {
580
- const t = Object.keys(m).filter((r) => m[r].triggerable).map(K), n = [...this.declared.values()].map(j).filter((r) => r.triggerable);
580
+ const t = Object.keys(m).filter((r) => m[r].triggerable).map(K), n = [...this.declared.values()].map(G).filter((r) => r.triggerable);
581
581
  return [...t, ...n];
582
582
  }
583
583
  /**
@@ -649,8 +649,8 @@ class Pe {
649
649
  return this.translate;
650
650
  }
651
651
  }
652
- const dr = new Pe();
653
- function pr(e, t, n = []) {
652
+ const pr = new Pe();
653
+ function fr(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 pr(e, t, n = []) {
659
659
  function Ue(e) {
660
660
  return e.createdAt ?? 0;
661
661
  }
662
- function fr(e) {
662
+ function mr(e) {
663
663
  return e.type === "EMAIL_RECEIVED" || e.type === "EMAIL_SENT";
664
664
  }
665
- function mr(e) {
665
+ function gr(e) {
666
666
  return e.type === "CHAT_MESSAGE_SENT" || e.type === "CHAT_MESSAGE_RECEIVED";
667
667
  }
668
668
  const ue = [
@@ -758,42 +758,42 @@ const ue = [
758
758
  function T(e) {
759
759
  return ue.find((t) => t.id === e);
760
760
  }
761
- function gr(e) {
761
+ function hr(e) {
762
762
  return T(e)?.label ?? e;
763
763
  }
764
- function hr(e, t = "gpt-5-mini") {
764
+ function yr(e, t = "gpt-5-mini") {
765
765
  return T(e)?.defaultModel ?? t;
766
766
  }
767
- function yr(e) {
767
+ function Ar(e) {
768
768
  return ue.filter((t) => t.capabilities.includes(e));
769
769
  }
770
- function Ar(e) {
770
+ function br(e) {
771
771
  const t = T(e);
772
772
  return !!t && !t.baseUrl;
773
773
  }
774
- function br(e, t) {
774
+ function Er(e, t) {
775
775
  return t === "text" ? !0 : T(e)?.attachmentKinds?.includes(t) === !0;
776
776
  }
777
- function Er(e, t) {
777
+ function Sr(e, t) {
778
778
  if (!e.enabled) return "ok";
779
- const n = G(e.hardLimitNanos), r = G(e.softLimitNanos);
779
+ const n = j(e.hardLimitNanos), r = j(e.softLimitNanos);
780
780
  return n !== void 0 && t >= n ? "hard" : r !== void 0 && t >= r ? "soft" : "ok";
781
781
  }
782
- function G(e) {
782
+ function j(e) {
783
783
  return typeof e == "number" ? e : void 0;
784
784
  }
785
785
  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 Sr(e, t = "month") {
789
+ function _r(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 _r(e) {
793
+ function Tr(e) {
794
794
  return e?.listeningEnabled !== !1;
795
795
  }
796
- const Tr = [
796
+ const Ir = [
797
797
  { id: "agent", label: "Agent", labelSource: "user" },
798
798
  { id: "team", label: "Team", labelSource: "team" },
799
799
  { id: "inbox", label: "Inbox", labelSource: "inbox" },
@@ -806,19 +806,19 @@ const Tr = [
806
806
  function k(e) {
807
807
  return e < 10 ? `0${e}` : `${e}`;
808
808
  }
809
- function je(e, t) {
809
+ function Ge(e, t) {
810
810
  const n = new Date(e), r = `${n.getUTCFullYear()}-${k(n.getUTCMonth() + 1)}-${k(n.getUTCDate())}`;
811
811
  return t === "day" ? r : `${r}T${k(n.getUTCHours())}`;
812
812
  }
813
- function Ge(e, t) {
813
+ function je(e, t) {
814
814
  const n = new Date(e);
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 Ir(e, t, n) {
818
+ function wr(e, t, n) {
819
819
  const r = n === "hour" ? Be : He, i = [];
820
- for (let o = Ge(e, n); o <= t; o += r)
821
- i.push(je(o, n));
820
+ for (let o = je(e, n); o <= t; o += r)
821
+ i.push(Ge(o, n));
822
822
  return i;
823
823
  }
824
824
  const Fe = [
@@ -828,7 +828,7 @@ const Fe = [
828
828
  function We(e, t) {
829
829
  return `${e}.usage.${t}`;
830
830
  }
831
- function wr(e, t) {
831
+ function Mr(e, t) {
832
832
  return t.map((n) => ({
833
833
  id: We(e, n.unit),
834
834
  label: n.label,
@@ -843,7 +843,7 @@ function wr(e, t) {
843
843
  ]
844
844
  }));
845
845
  }
846
- const de = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), B = 200, H = 100, F = 200, V = 12, W = 4, pe = 4e3, C = 500, Mr = 256 * 1024, ze = /* @__PURE__ */ new Set([
846
+ const de = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), B = 200, H = 100, F = 200, V = 12, W = 4, pe = 4e3, C = 500, kr = 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 kr(e, t = () => {
915
+ function Cr(e, t = () => {
916
916
  }) {
917
917
  if (!Array.isArray(e)) return [];
918
918
  const n = [];
@@ -1064,10 +1064,10 @@ function kr(e, t = () => {
1064
1064
  }
1065
1065
  return n;
1066
1066
  }
1067
- function Cr(e) {
1067
+ function Or(e) {
1068
1068
  return JSON.stringify(e).length;
1069
1069
  }
1070
- function Or(e) {
1070
+ function Nr(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 Nr(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 Nr(e, t) {
1133
1133
  `;
1134
1134
  }
1135
1135
  const me = (e) => `user:${e}`, ge = (e) => `team:${e}`;
1136
- function vr(e) {
1136
+ function Rr(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 Rr(e, t) {
1142
+ function $r(e, t) {
1143
1143
  return [me(e), ...t.map(ge)];
1144
1144
  }
1145
- function $r(e) {
1145
+ function xr(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 xr(e) {
1152
+ function Dr(e) {
1153
1153
  return nt.includes(e);
1154
1154
  }
1155
1155
  const rt = "assignment";
1156
- function Dr(e) {
1156
+ function Lr(e) {
1157
1157
  return `${rt}:${e}`;
1158
1158
  }
1159
- function Lr(e, t, n) {
1159
+ function Pr(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 Pr(e) {
1165
+ function Ur(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 Ur(e, t, n = it) {
1169
+ function Kr(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,7 +1180,7 @@ function Ur(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 Kr = /* @__PURE__ */ new Set(["mail", "message"]);
1183
+ const Gr = /* @__PURE__ */ new Set(["mail", "message"]);
1184
1184
  function ot(e, t) {
1185
1185
  const n = e.settings?.signatures?.[t];
1186
1186
  return !n?.enabled || !n.body || n.body.trim() === "" ? null : n;
@@ -1192,16 +1192,16 @@ function jr(e, t, n, r = "html") {
1192
1192
 
1193
1193
  ` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${i.body}` : n;
1194
1194
  }
1195
- function Gr(e) {
1195
+ function Br(e) {
1196
1196
  return e.endpoints ?? [];
1197
1197
  }
1198
- const at = 36e5, st = 864e5, g = -1 / 0, Br = (e) => e.score > g, _ = {
1198
+ const at = 36e5, st = 864e5, g = -1 / 0, Hr = (e) => e.score > g, _ = {
1199
1199
  urgent: 40,
1200
1200
  high: 25,
1201
1201
  normal: 10,
1202
1202
  low: 0
1203
1203
  };
1204
- function Hr(e) {
1204
+ function Fr(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 Fr(e, t) {
1212
+ function Vr(e, t) {
1213
1213
  return e >= dt || t >= pt;
1214
1214
  }
1215
1215
  function ft(e, t) {
@@ -1237,17 +1237,27 @@ 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)) / at);
1239
1239
  }
1240
- function Vr(e, t) {
1241
- return !ye(e.status) || e.firstResponseAt ? !1 : R(e, t) > ht[e.priority ?? "normal"];
1242
- }
1243
1240
  function St(e, t) {
1241
+ const n = e.assignedInboxId ? t?.[e.assignedInboxId] : void 0;
1242
+ return typeof n == "number" && n > 0 ? n : ht[e.priority ?? "normal"];
1243
+ }
1244
+ function Wr(e) {
1245
+ const t = {};
1246
+ for (const n of e)
1247
+ typeof n.slaHours == "number" && n.slaHours > 0 && (t[n.id] = n.slaHours);
1248
+ return t;
1249
+ }
1250
+ function zr(e, t, n) {
1251
+ return !ye(e.status) || e.firstResponseAt ? !1 : R(e, t) > St(e, n);
1252
+ }
1253
+ function _t(e, t) {
1244
1254
  const n = e.lastActivityPreview;
1245
1255
  return n?.direction !== "outbound" || !he(n.type) ? !1 : R(e, t) < yt;
1246
1256
  }
1247
- function Wr(e, t) {
1257
+ function Xr(e, t) {
1248
1258
  if (!ye(e.status)) return { score: g, reasons: [] };
1249
1259
  if (e.snoozedTill && e.snoozedTill > t.now) return { score: g, reasons: [] };
1250
- if (St(e, t.now)) return { score: g, reasons: [] };
1260
+ if (_t(e, t.now)) return { score: g, reasons: [] };
1251
1261
  if (bt(e, t)) return { score: g, reasons: [] };
1252
1262
  let n = 0;
1253
1263
  const r = [], i = e.priority ?? "normal";
@@ -1260,17 +1270,17 @@ function Wr(e, t) {
1260
1270
  const a = e.lastActivityPreview;
1261
1271
  return a?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), a?.direction === "outbound" && he(a.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
1272
  }
1263
- const zr = (e) => !!e.assignedUserId || !!e.assignedInboxId, Xr = (e) => e.status === "closed", Yr = (e) => ({
1273
+ const Yr = (e) => !!e.assignedUserId || !!e.assignedInboxId, qr = (e) => e.status === "closed", Jr = (e) => ({
1264
1274
  urgent: 10,
1265
1275
  high: 5,
1266
1276
  normal: 2,
1267
1277
  low: 1
1268
- })[e.priority] || 0, qr = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1269
- function Jr(e, t) {
1278
+ })[e.priority] || 0, Zr = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1279
+ function Qr(e, t) {
1270
1280
  const n = e.labels ?? [];
1271
1281
  return n.find((r) => r.locale === t)?.label ?? n[0]?.label ?? e.url;
1272
1282
  }
1273
- function Zr(e, t, n) {
1283
+ function ei(e, t, n) {
1274
1284
  const r = e.translations ?? [];
1275
1285
  return r.find((i) => i.locale === t) ?? (n ? r.find((i) => i.locale === n) : void 0) ?? { locale: t };
1276
1286
  }
@@ -1293,15 +1303,15 @@ function Ae(e) {
1293
1303
  const t = (e ?? "").toLowerCase();
1294
1304
  return q.find((n) => n.code === t) ?? q.find((n) => n.code === t.split("-")[0]);
1295
1305
  }
1296
- function Qr(e) {
1306
+ function ti(e) {
1297
1307
  return Ae(e)?.label ?? e;
1298
1308
  }
1299
- function ei(e) {
1309
+ function ni(e) {
1300
1310
  const t = Ae(e);
1301
1311
  return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
1302
1312
  }
1303
1313
  const be = 3;
1304
- function _t(e, t) {
1314
+ function Tt(e, t) {
1305
1315
  const n = /* @__PURE__ */ new Set();
1306
1316
  let r = 1, i = t.get(e)?.parentId;
1307
1317
  for (; i; ) {
@@ -1310,15 +1320,15 @@ function _t(e, t) {
1310
1320
  }
1311
1321
  return r;
1312
1322
  }
1313
- function ti(e, t, n) {
1323
+ function ri(e, t, n) {
1314
1324
  if (!e) return !0;
1315
1325
  if (e === t) return !1;
1316
1326
  const r = new Map(n.map((a) => [a.id, a]));
1317
- if (!r.has(e) || t && Tt(e, t, r)) return !1;
1318
- const i = _t(e, r), o = t ? Ee(t, n) : 1;
1327
+ if (!r.has(e) || t && It(e, t, r)) return !1;
1328
+ const i = Tt(e, r), o = t ? Ee(t, n) : 1;
1319
1329
  return i + o <= be;
1320
1330
  }
1321
- function Tt(e, t, n) {
1331
+ function It(e, t, n) {
1322
1332
  const r = /* @__PURE__ */ new Set();
1323
1333
  let i = n.get(e)?.parentId;
1324
1334
  for (; i; ) {
@@ -1334,17 +1344,17 @@ function Ee(e, t, n = /* @__PURE__ */ new Set()) {
1334
1344
  const r = t.filter((i) => i.parentId === e);
1335
1345
  return r.length ? 1 + Math.max(...r.map((i) => Ee(i.id, t, n))) : 1;
1336
1346
  }
1337
- const It = "en";
1338
- function wt(e) {
1339
- return e.defaultLocale || e.locale || It;
1347
+ const wt = "en";
1348
+ function Mt(e) {
1349
+ return e.defaultLocale || e.locale || wt;
1340
1350
  }
1341
- function ni(e) {
1351
+ function ii(e) {
1342
1352
  const t = /* @__PURE__ */ new Set(), n = [];
1343
- for (const r of [wt(e), ...e.locales ?? []])
1353
+ for (const r of [Mt(e), ...e.locales ?? []])
1344
1354
  !r || t.has(r) || (t.add(r), n.push(r));
1345
1355
  return n;
1346
1356
  }
1347
- function ri(e, t, n) {
1357
+ function oi(e, t, n) {
1348
1358
  const r = e.translations ?? [];
1349
1359
  return r.find((i) => i.locale === t)?.name ?? (n ? r.find((i) => i.locale === n)?.name : void 0) ?? e.name;
1350
1360
  }
@@ -1365,7 +1375,7 @@ function Z(e) {
1365
1375
  }
1366
1376
  return null;
1367
1377
  }
1368
- function Mt(e, t) {
1378
+ function kt(e, t) {
1369
1379
  switch (e.kind) {
1370
1380
  case "org":
1371
1381
  return !0;
@@ -1375,23 +1385,23 @@ function Mt(e, t) {
1375
1385
  return e.userId === t.userId;
1376
1386
  }
1377
1387
  }
1378
- function ii(e, t) {
1379
- return e.filter((n) => n.enabled && Mt(n.ownerScope, t));
1388
+ function ai(e, t) {
1389
+ return e.filter((n) => n.enabled && kt(n.ownerScope, t));
1380
1390
  }
1381
- function oi(e) {
1391
+ function si(e) {
1382
1392
  return e.credentialScope ? e.credentialScope : (e.authMode ?? "header") === "header" || e.oauth?.scope === "org" ? "shared" : "per-user";
1383
1393
  }
1384
- function ai(e) {
1394
+ function ci(e) {
1385
1395
  return `mcp__${e}__`;
1386
1396
  }
1387
- const si = 1e3, ci = 2e3, li = 500, ui = 12e3, di = 4e3, kt = ["contact", "company", "work_item"];
1388
- function pi(e) {
1397
+ const li = 1e3, ui = 2e3, di = 500, pi = 12e3, fi = 4e3, Ct = ["contact", "company", "work_item"];
1398
+ function mi(e) {
1389
1399
  if (!e) return !1;
1390
1400
  const t = e.slice(0, e.indexOf(":"));
1391
- return kt.includes(t);
1401
+ return Ct.includes(t);
1392
1402
  }
1393
- const fi = "onboarding-source", mi = ["support", "billing", "availability", "sales", "onboarding"], gi = ["keep", "replace"];
1394
- function Ct(e) {
1403
+ const gi = "onboarding-source", hi = ["support", "billing", "availability", "sales", "onboarding"], yi = ["keep", "replace"];
1404
+ function Ot(e) {
1395
1405
  switch (e.kind) {
1396
1406
  case "user":
1397
1407
  return `user:${e.userId}`;
@@ -1401,7 +1411,7 @@ function Ct(e) {
1401
1411
  return "org";
1402
1412
  }
1403
1413
  }
1404
- function hi(e) {
1414
+ function Ai(e) {
1405
1415
  if (typeof e != "string") return;
1406
1416
  const t = e.trim();
1407
1417
  if (t === "org") return { kind: "org" };
@@ -1413,10 +1423,10 @@ function hi(e) {
1413
1423
  if (r === "team") return { kind: "team", teamId: i };
1414
1424
  }
1415
1425
  }
1416
- function Ot(e) {
1417
- return Ct(e);
1418
- }
1419
1426
  function Nt(e) {
1427
+ return Ot(e);
1428
+ }
1429
+ function vt(e) {
1420
1430
  switch (e.kind) {
1421
1431
  case "personal":
1422
1432
  return { kind: "user", userId: e.userId };
@@ -1426,14 +1436,14 @@ function Nt(e) {
1426
1436
  return { kind: "org" };
1427
1437
  }
1428
1438
  }
1429
- const vt = Nt;
1430
- function yi(e) {
1431
- return e.agentId ? { kind: "user", userId: e.agentId } : vt(e.ownerScope);
1439
+ const Rt = vt;
1440
+ function bi(e) {
1441
+ return e.agentId ? { kind: "user", userId: e.agentId } : Rt(e.ownerScope);
1432
1442
  }
1433
- function Ai(e) {
1434
- return Ot(e);
1443
+ function Ei(e) {
1444
+ return Nt(e);
1435
1445
  }
1436
- function bi(e, t) {
1446
+ function Si(e, t) {
1437
1447
  if (!t) return;
1438
1448
  let n = e;
1439
1449
  for (const r of t.split(".")) {
@@ -1442,24 +1452,24 @@ function bi(e, t) {
1442
1452
  }
1443
1453
  return n;
1444
1454
  }
1445
- function Ei(e, t) {
1455
+ function _i(e, t) {
1446
1456
  return e.targets.find((n) => n.activityTypes.includes(t));
1447
1457
  }
1448
- function Si(e, t) {
1458
+ function Ti(e, t) {
1449
1459
  if (t)
1450
1460
  return e.targets.find((n) => n.id === t);
1451
1461
  }
1452
- function Rt(e) {
1462
+ function $t(e) {
1453
1463
  return e?.kind === "assignment";
1454
1464
  }
1455
- function _i(e) {
1465
+ function Ii(e) {
1456
1466
  const { trigger: t, agentId: n, target: r, activityType: i, assigneeUserId: o, authorUserId: a } = e;
1457
- return Rt(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";
1467
+ return $t(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";
1458
1468
  }
1459
- function Ti(e) {
1469
+ function wi(e) {
1460
1470
  return (e.startsWith("tool:") ? e.slice(5) : e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
1461
1471
  }
1462
- const Ii = [
1472
+ const Mi = [
1463
1473
  { name: "text", type: "string" },
1464
1474
  { name: "subject", type: "string" },
1465
1475
  { name: "from", type: "string" },
@@ -1493,7 +1503,7 @@ const Ii = [
1493
1503
  // `buildTriggerVars` cannot fill it itself: the job does that with the catalog in hand, before
1494
1504
  // the trigger filter runs — like contactId/companyId above.
1495
1505
  { name: "assigneeUserId", type: "string" }
1496
- ], wi = {
1506
+ ], ki = {
1497
1507
  topics: [
1498
1508
  { name: "topicId", type: "string" },
1499
1509
  { name: "topic", type: "string" },
@@ -1507,78 +1517,78 @@ const Ii = [
1507
1517
  // Deliberately empty: the fields come from `ClassifyStep.fields` and so differ per step.
1508
1518
  extract: []
1509
1519
  };
1510
- function $t(e) {
1520
+ function xt(e) {
1511
1521
  return `${e.type}:${e.id}`;
1512
1522
  }
1513
- const xt = "interaction";
1514
- function Dt(e) {
1515
- return e?.type === xt ? e.id : void 0;
1523
+ const Dt = "interaction";
1524
+ function Lt(e) {
1525
+ return e?.type === Dt ? e.id : void 0;
1516
1526
  }
1517
- const Lt = 64, Pt = 8e3;
1518
- function Mi(e) {
1527
+ const Pt = 64, Ut = 8e3;
1528
+ function Ci(e) {
1519
1529
  const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
1520
1530
  if (!(!Number.isFinite(t) || t <= 0))
1521
- return Math.min(Math.max(Math.round(t), Lt), Pt);
1531
+ return Math.min(Math.max(Math.round(t), Pt), Ut);
1522
1532
  }
1523
- const ki = { kind: "workflow", steps: [] };
1524
- function Ci(e) {
1533
+ const Oi = { kind: "workflow", steps: [] };
1534
+ function Ni(e) {
1525
1535
  return e?.kind === "workflow" ? e.steps : [];
1526
1536
  }
1527
- function Oi(e) {
1537
+ function vi(e) {
1528
1538
  return e?.kind === "procedure" ? e.procedure : void 0;
1529
1539
  }
1530
- function Ut(e) {
1540
+ function Kt(e) {
1531
1541
  const t = e?.approved ?? 0, n = t + (e?.rejected ?? 0);
1532
1542
  return { total: n, rate: n ? t / n : 0 };
1533
1543
  }
1534
- const Kt = 10, jt = 0.9;
1535
- function Ni(e) {
1536
- const { total: t, rate: n } = Ut(e);
1537
- return t >= Kt && n >= jt;
1544
+ const Gt = 10, jt = 0.9;
1545
+ function Ri(e) {
1546
+ const { total: t, rate: n } = Kt(e);
1547
+ return t >= Gt && n >= jt;
1538
1548
  }
1539
- const Gt = ["done", "escalated", "failed", "stopped"];
1540
- function vi(e) {
1541
- return Gt.includes(e);
1549
+ const Bt = ["done", "escalated", "failed", "stopped"];
1550
+ function $i(e) {
1551
+ return Bt.includes(e);
1542
1552
  }
1543
- function Bt(e) {
1553
+ function Ht(e) {
1544
1554
  return e === "waiting";
1545
1555
  }
1546
- function Ri(e) {
1547
- return e === "running" || Bt(e);
1556
+ function xi(e) {
1557
+ return e === "running" || Ht(e);
1548
1558
  }
1549
1559
  function Se(e) {
1550
1560
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
1551
1561
  }
1552
- function $i(e) {
1562
+ function Di(e) {
1553
1563
  const t = Se(e);
1554
- return t ? $t(t) : void 0;
1564
+ return t ? xt(t) : void 0;
1555
1565
  }
1556
- function xi(e) {
1557
- return Dt(Se(e));
1566
+ function Li(e) {
1567
+ return Lt(Se(e));
1558
1568
  }
1559
- function Di(e, t) {
1569
+ function Pi(e, t) {
1560
1570
  const n = e.accumulatedSeconds || 0;
1561
1571
  return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
1562
1572
  }
1563
- function Li(e, t) {
1573
+ function Ui(e, t) {
1564
1574
  const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
1565
1575
  if (!t || t === "exact") return n * 60;
1566
1576
  const r = Number(t);
1567
1577
  return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
1568
1578
  }
1569
- function Pi(e) {
1579
+ function Ki(e) {
1570
1580
  const t = Math.max(0, Math.round(e / 60));
1571
1581
  return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
1572
1582
  }
1573
- function Ui(e) {
1583
+ function Gi(e) {
1574
1584
  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);
1575
1585
  return i > 0 ? `${i}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
1576
1586
  }
1577
- function Ht(e) {
1587
+ function Ft(e) {
1578
1588
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
1579
1589
  }
1580
- function Ki(e, t) {
1581
- const n = Ht(e) || "werksoort", r = new Set(t);
1590
+ function ji(e, t) {
1591
+ const n = Ft(e) || "werksoort", r = new Set(t);
1582
1592
  if (!r.has(n)) return n;
1583
1593
  for (let i = 2; i < 500; i++) {
1584
1594
  const o = `${n}-${i}`;
@@ -1586,29 +1596,29 @@ function Ki(e, t) {
1586
1596
  }
1587
1597
  return `${n}-${r.size + 1}`;
1588
1598
  }
1589
- function ji(e, t) {
1599
+ function Bi(e, t) {
1590
1600
  const n = e.ownerScope;
1591
1601
  return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
1592
1602
  }
1593
- function Gi(e) {
1594
- return e.filter((t) => !t.archived).sort(Ft);
1603
+ function Hi(e) {
1604
+ return e.filter((t) => !t.archived).sort(Vt);
1595
1605
  }
1596
- function Ft(e, t) {
1606
+ function Vt(e, t) {
1597
1607
  const n = (e.order ?? 0) - (t.order ?? 0);
1598
1608
  return n !== 0 ? n : (e.label || "").localeCompare(t.label || "");
1599
1609
  }
1600
- const Vt = 20, Wt = 20, O = 300;
1610
+ const Wt = 20, zt = 20, O = 300;
1601
1611
  function h(e) {
1602
1612
  return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
1603
1613
  }
1604
- function zt(e) {
1614
+ function Xt(e) {
1605
1615
  const t = e.replace(/\s+/g, " ").trim();
1606
1616
  if (t.length <= O) return t;
1607
1617
  const n = t.slice(0, O), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
1608
1618
  return r > O * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
1609
1619
  }
1610
- function Bi(e, t) {
1611
- const n = zt(t.text), r = h(n);
1620
+ function Fi(e, t) {
1621
+ const n = Xt(t.text), r = h(n);
1612
1622
  if (!r || (e.examples ?? []).some((a) => h(a) === r)) return null;
1613
1623
  const i = e.exampleCandidates ?? [], o = i.findIndex((a) => h(a.text) === r);
1614
1624
  if (o >= 0) {
@@ -1616,63 +1626,63 @@ function Bi(e, t) {
1616
1626
  const a = [...i];
1617
1627
  return a[o] = { ...a[o], corrected: !0, addedAt: t.addedAt }, Q(a);
1618
1628
  }
1619
- return Q([{ ...t, text: n }, ...i]).slice(0, Wt);
1629
+ return Q([{ ...t, text: n }, ...i]).slice(0, zt);
1620
1630
  }
1621
1631
  function Q(e) {
1622
1632
  return [...e].sort(
1623
1633
  (t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt
1624
1634
  );
1625
1635
  }
1626
- function Hi(e, t) {
1636
+ function Vi(e, t) {
1627
1637
  const n = h(t), r = (e.examples ?? []).filter((o) => o.trim());
1628
- return { examples: r.some((o) => h(o) === n) ? r : [...r, t].slice(-Vt), exampleCandidates: Xt(e, t) };
1638
+ return { examples: r.some((o) => h(o) === n) ? r : [...r, t].slice(-Wt), exampleCandidates: Yt(e, t) };
1629
1639
  }
1630
- function Xt(e, t) {
1640
+ function Yt(e, t) {
1631
1641
  const n = h(t);
1632
1642
  return (e.exampleCandidates ?? []).filter((r) => h(r.text) !== n);
1633
1643
  }
1634
- function Yt(e, t) {
1644
+ function qt(e, t) {
1635
1645
  const n = e.ownerScope;
1636
1646
  return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
1637
1647
  }
1638
- function Fi(e, t) {
1639
- return e.filter((n) => Yt(n, t));
1648
+ function Wi(e, t) {
1649
+ return e.filter((n) => qt(n, t));
1640
1650
  }
1641
- function Vi(e) {
1651
+ function zi(e) {
1642
1652
  return e.type === "agent";
1643
1653
  }
1644
- const Wi = "WORK_COMMENT_ADDED", zi = "WORK_ITEM_ASSIGNED", Xi = "WORK_ITEM_STATUS_CHANGED";
1645
- function qt(e, t) {
1654
+ const Xi = "WORK_COMMENT_ADDED", Yi = "WORK_ITEM_ASSIGNED", qi = "WORK_ITEM_STATUS_CHANGED";
1655
+ function Jt(e, t) {
1646
1656
  const n = (r) => {
1647
1657
  const i = new Date(r);
1648
1658
  return i.setHours(0, 0, 0, 0), i.getTime();
1649
1659
  };
1650
1660
  return Math.round((n(e) - n(t)) / st);
1651
1661
  }
1652
- function Yi(e, t) {
1662
+ function Ji(e, t) {
1653
1663
  if (e.closedAt != null) return { score: g, reasons: [] };
1654
1664
  const n = t.remindersById?.[e.id];
1655
1665
  if (n && n.remindAt > t.now) return { score: g, reasons: [] };
1656
1666
  let r = 0;
1657
1667
  const i = [], o = e.priority ?? "normal";
1658
1668
  if (_[o] > 0 && (r += _[o], i.push(`priority:${o}`)), typeof e.dueDate == "number") {
1659
- const a = qt(e.dueDate, t.now);
1669
+ const a = Jt(e.dueDate, t.now);
1660
1670
  a < 0 ? (r += 35, i.push("overdue")) : a === 0 && (r += 20, i.push("due-today"));
1661
1671
  }
1662
1672
  return e.source?.initiator === "system" && e.source.systemReason && (r += 15, i.push(`auto:${e.source.systemReason}`)), { score: r, reasons: i };
1663
1673
  }
1664
- const Jt = "work_item", Zt = "work_project";
1665
- function Qt(e) {
1666
- return `${Jt}:${e}`;
1674
+ const Zt = "work_item", Qt = "work_project";
1675
+ function en(e) {
1676
+ return `${Zt}:${e}`;
1667
1677
  }
1668
1678
  function _e(e) {
1669
- return `${Zt}:${e}`;
1679
+ return `${Qt}:${e}`;
1670
1680
  }
1671
- function qi(e, t, n) {
1681
+ function Zi(e, t, n) {
1672
1682
  const r = `${e}-${t}`;
1673
1683
  return n ? `${r}-${n}` : r;
1674
1684
  }
1675
- function Ji(e) {
1685
+ function Qi(e) {
1676
1686
  const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
1677
1687
  return t ? {
1678
1688
  projectKey: t[1].toUpperCase(),
@@ -1680,17 +1690,17 @@ function Ji(e) {
1680
1690
  ...t[3] ? { subSequence: Number(t[3]) } : {}
1681
1691
  } : null;
1682
1692
  }
1683
- function Zi(e) {
1693
+ function eo(e) {
1684
1694
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
1685
1695
  }
1686
- function Qi(e, t = 25) {
1687
- const n = /* @__PURE__ */ new Set([Qt(e.id)]);
1696
+ function to(e, t = 25) {
1697
+ const n = /* @__PURE__ */ new Set([en(e.id)]);
1688
1698
  e.projectId && n.add(_e(e.projectId));
1689
1699
  for (const r of e.ancestorKeys ?? []) n.add(r);
1690
1700
  for (const r of e.partyKeys ?? []) n.add(r);
1691
1701
  return Array.from(n).slice(0, t);
1692
1702
  }
1693
- function eo(e) {
1703
+ function no(e) {
1694
1704
  return [_e(e.id)];
1695
1705
  }
1696
1706
  const $ = [
@@ -1699,33 +1709,33 @@ const $ = [
1699
1709
  { key: "done", label: "status_done", category: "done", order: 2 },
1700
1710
  { key: "cancelled", label: "status_cancelled", category: "done", order: 3 }
1701
1711
  ], Te = $.map((e) => e.key);
1702
- function en(e) {
1712
+ function tn(e) {
1703
1713
  return e?.statuses?.length ? e.statuses : $;
1704
1714
  }
1705
- function tn(e, t) {
1715
+ function nn(e, t) {
1706
1716
  return t.find((n) => n.key === e)?.category ?? "todo";
1707
1717
  }
1708
- function to(e, t) {
1718
+ function ro(e, t) {
1709
1719
  return t.find((n) => n.key === e);
1710
1720
  }
1711
- function no(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;
1721
+ function io(e) {
1722
+ const t = tn(e), n = e?.defaultStatusKey;
1723
+ return n && t.some((r) => r.key === n) ? n : rn(t)[0]?.key ?? $[0].key;
1714
1724
  }
1715
- function nn(e) {
1725
+ function rn(e) {
1716
1726
  return [...e].sort((t, n) => {
1717
1727
  const r = (t.order ?? 0) - (n.order ?? 0);
1718
1728
  return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
1719
1729
  });
1720
1730
  }
1721
- function ro(e, t) {
1722
- return tn(e, t) === "done";
1731
+ function oo(e, t) {
1732
+ return nn(e, t) === "done";
1723
1733
  }
1724
- function rn(e) {
1734
+ function on(e) {
1725
1735
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
1726
1736
  }
1727
- function io(e, t) {
1728
- const n = rn(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Te]);
1737
+ function ao(e, t) {
1738
+ const n = on(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Te]);
1729
1739
  if (!r.has(n)) return n;
1730
1740
  for (let i = 2; i < 500; i++) {
1731
1741
  const o = `${n}-${i}`;
@@ -1733,7 +1743,7 @@ function io(e, t) {
1733
1743
  }
1734
1744
  return `${n}-${r.size + 1}`;
1735
1745
  }
1736
- function oo(e) {
1746
+ function so(e) {
1737
1747
  const t = [];
1738
1748
  if (!e.length) return [{ index: -1, reason: "empty" }];
1739
1749
  const n = /* @__PURE__ */ new Set();
@@ -1745,7 +1755,7 @@ function oo(e) {
1745
1755
  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);
1746
1756
  }), 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;
1747
1757
  }
1748
- const on = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), an = /* @__PURE__ */ new Set([
1758
+ const an = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), sn = /* @__PURE__ */ new Set([
1749
1759
  "text/plain",
1750
1760
  "text/markdown",
1751
1761
  "text/csv",
@@ -1754,67 +1764,67 @@ const on = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
1754
1764
  "application/xml",
1755
1765
  "text/xml"
1756
1766
  ]);
1757
- function sn(e) {
1767
+ function cn(e) {
1758
1768
  const t = (e ?? "").trim().toLowerCase().split(";")[0];
1759
- return t ? on.has(t) ? "image" : t === "application/pdf" ? "pdf" : an.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
1769
+ return t ? an.has(t) ? "image" : t === "application/pdf" ? "pdf" : sn.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
1760
1770
  }
1761
- const y = 1024 * 1024, cn = {
1771
+ const y = 1024 * 1024, ln = {
1762
1772
  image: 5 * y,
1763
1773
  pdf: 20 * y,
1764
1774
  text: 1 * y,
1765
1775
  audio: 20 * y
1766
- }, ao = 25 * y, so = 5;
1767
- function co(e, t) {
1768
- const n = sn(e);
1769
- return n === "unsupported" ? "unsupported" : t > cn[n] ? "too-large" : null;
1776
+ }, co = 25 * y, lo = 5;
1777
+ function uo(e, t) {
1778
+ const n = cn(e);
1779
+ return n === "unsupported" ? "unsupported" : t > ln[n] ? "too-large" : null;
1770
1780
  }
1771
- function lo(e) {
1781
+ function po(e) {
1772
1782
  return e.access !== "read" && e.effect !== "internal";
1773
1783
  }
1774
- function ln(e) {
1784
+ function un(e) {
1775
1785
  return `${e.kind}:${e.id || e.url || e.title}`;
1776
1786
  }
1777
- function uo(e, t = []) {
1787
+ function fo(e, t = []) {
1778
1788
  const n = new Set(t), r = [], i = [];
1779
1789
  for (const o of e) {
1780
- const a = ln(o);
1790
+ const a = un(o);
1781
1791
  n.has(a) || (n.add(a), r.push(o), i.push(a));
1782
1792
  }
1783
1793
  return { sources: r, keys: i };
1784
1794
  }
1785
- const po = "assist-source", fo = ["blocking", "due", "open"];
1786
- function mo(e, t) {
1795
+ const mo = "assist-source", go = ["blocking", "due", "open"];
1796
+ function ho(e, t) {
1787
1797
  const [n, r] = (e.subjectKey ?? "").split(":");
1788
1798
  return n === t && r ? r : void 0;
1789
1799
  }
1790
1800
  const ee = { blocking: 0, due: 1, open: 2 };
1791
- function go(e, t) {
1801
+ function yo(e, t) {
1792
1802
  return ee[e.band ?? "open"] - ee[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
1793
1803
  }
1794
- function ho(e) {
1804
+ function Ao(e) {
1795
1805
  return e.sessions.filter(
1796
1806
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
1797
1807
  );
1798
1808
  }
1799
- function yo(e) {
1809
+ function bo(e) {
1800
1810
  return e.sessions.filter(
1801
1811
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
1802
1812
  );
1803
1813
  }
1804
- function Ao(e) {
1814
+ function Eo(e) {
1805
1815
  return e.sessions.some(
1806
1816
  (n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
1807
1817
  ) ? { admit: !1, reason: "busy" } : { admit: !0 };
1808
1818
  }
1809
- function un(e, t) {
1810
- const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, i = t.intents.filter((a) => !n.has(a.intent)).map((a) => pn(a, r[a.intent]));
1819
+ function dn(e, t) {
1820
+ const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, i = t.intents.filter((a) => !n.has(a.intent)).map((a) => fn(a, r[a.intent]));
1811
1821
  if (!e.extraIntents || e.extraIntents.length === 0) return i;
1812
1822
  const o = new Set(i.map((a) => a.intent));
1813
1823
  for (const a of e.extraIntents)
1814
1824
  o.has(a.intent) || (i.push(a), o.add(a.intent));
1815
1825
  return i;
1816
1826
  }
1817
- function dn(e, t) {
1827
+ function pn(e, t) {
1818
1828
  const n = {};
1819
1829
  for (const r of e.intents) {
1820
1830
  if (!r.togglable) continue;
@@ -1823,46 +1833,46 @@ function dn(e, t) {
1823
1833
  }
1824
1834
  return n;
1825
1835
  }
1826
- function bo(e, t) {
1827
- const n = dn(e, t);
1836
+ function So(e, t) {
1837
+ const n = pn(e, t);
1828
1838
  return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
1829
1839
  }
1830
- function pn(e, t) {
1840
+ function fn(e, t) {
1831
1841
  return t ? {
1832
1842
  intent: t.intent ?? e.intent,
1833
1843
  targetSchemes: t.targetSchemes ?? e.targetSchemes,
1834
1844
  transport: t.transport ?? e.transport
1835
1845
  } : e;
1836
1846
  }
1837
- function Eo(e, t) {
1847
+ function _o(e, t) {
1838
1848
  const n = [];
1839
1849
  for (const r of e) {
1840
1850
  if (!r.enabled) continue;
1841
1851
  const i = t[r.providerId];
1842
1852
  if (i)
1843
- for (const o of un(r, i))
1853
+ for (const o of dn(r, i))
1844
1854
  n.push({ channel: r, description: i, capability: o });
1845
1855
  }
1846
1856
  return n;
1847
1857
  }
1848
- function So(e, t) {
1858
+ function To(e, t) {
1849
1859
  return t.filter((n) => n.capability.intent === e);
1850
1860
  }
1851
- function fn(e, t) {
1861
+ function mn(e, t) {
1852
1862
  return t.filter((n) => n.capability.targetSchemes.includes(e));
1853
1863
  }
1854
- function _o(e, t) {
1855
- return fn(e.scheme, t);
1864
+ function Io(e, t) {
1865
+ return mn(e.scheme, t);
1856
1866
  }
1857
- function To(e, t, n) {
1867
+ function wo(e, t, n) {
1858
1868
  const r = [];
1859
1869
  for (const i of e)
1860
1870
  for (const o of n)
1861
1871
  o.capability.intent === t && o.capability.targetSchemes.includes(i.scheme) && r.push({ channelIntent: o, endpoint: i });
1862
1872
  return r;
1863
1873
  }
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 = {
1874
+ var gn = /* @__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))(gn || {});
1875
+ const hn = {
1866
1876
  mailto: "mail",
1867
1877
  sip: "tel",
1868
1878
  tel: "tel",
@@ -1883,10 +1893,10 @@ const gn = {
1883
1893
  id: "note",
1884
1894
  custom: "note"
1885
1895
  };
1886
- function Io(e) {
1887
- return e ? gn[e] ?? "note" : "note";
1896
+ function Mo(e) {
1897
+ return e ? hn[e] ?? "note" : "note";
1888
1898
  }
1889
- const wo = "message_window", Mo = "message_templates", ko = {
1899
+ const ko = "message_window", Co = "message_templates", Oo = {
1890
1900
  // E-mail
1891
1901
  FROM: "from",
1892
1902
  TO: "to",
@@ -1903,19 +1913,19 @@ const wo = "message_window", Mo = "message_templates", ko = {
1903
1913
  // Voice/conference
1904
1914
  HOST: "host",
1905
1915
  PARTICIPANT: "participant"
1906
- }, Co = (e, t) => ({ intent: e, ...t }), Oo = "folder_management", No = "remote_search", vo = {
1916
+ }, No = (e, t) => ({ intent: e, ...t }), vo = "folder_management", Ro = "remote_search", $o = {
1907
1917
  ok: !1,
1908
1918
  code: "UNSUPPORTED",
1909
1919
  message: "Provider does not support this op"
1910
- }, Ro = "context.collect", $o = "installation-id";
1911
- function xo(e) {
1920
+ }, xo = "context.collect", Do = "installation-id";
1921
+ function Lo(e) {
1912
1922
  const t = [];
1913
1923
  for (const n of Object.keys(e))
1914
1924
  for (const r of Object.keys(e[n]))
1915
1925
  t.push({ lang: n, key: r, value: e[n][r] });
1916
1926
  return t;
1917
1927
  }
1918
- const Do = "notification-source", Lo = (e, t) => `${e}.pref.${t}`, Po = {
1928
+ const Po = "notification-source", Uo = (e, t) => `${e}.pref.${t}`, Ko = {
1919
1929
  ai: [
1920
1930
  "account.read",
1921
1931
  "account.write",
@@ -2048,25 +2058,25 @@ const Do = "notification-source", Lo = (e, t) => `${e}.pref.${t}`, Po = {
2048
2058
  time: ["entry.read", "entry.write", "work-type.read", "work-type.write"],
2049
2059
  user: ["user.read", "user.write"],
2050
2060
  work: ["item.read", "item.write", "project.read", "project.write"]
2051
- }, Ie = 9e4, hn = ["out_of_office"], we = (e) => hn.includes(e);
2052
- function Uo(e, t, n) {
2061
+ }, Ie = 9e4, yn = ["out_of_office"], we = (e) => yn.includes(e);
2062
+ function Go(e, t, n) {
2053
2063
  const r = n - e < Ie, i = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
2054
2064
  if (!i?.status) return { online: r, status: r ? "available" : "offline" };
2055
2065
  const o = i.status;
2056
2066
  return !r && !we(o) ? { online: !1, status: "offline" } : { online: r, status: o, message: i.message };
2057
2067
  }
2058
- function Ko(e, t) {
2068
+ function jo(e, t) {
2059
2069
  const n = t - e.lastSeenAt < Ie, r = n || we(e.status) ? e.status : "offline";
2060
2070
  return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
2061
2071
  }
2062
- function jo(e, t) {
2072
+ function Bo(e, t) {
2063
2073
  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 };
2064
2074
  }
2065
- function Go(e) {
2075
+ function Ho(e) {
2066
2076
  return e.providerAvailable && e.allowed;
2067
2077
  }
2068
- const Bo = "resources.describe", Ho = "resources.search", Fo = "resources.resolve", Vo = "resources.attached";
2069
- function Wo(e) {
2078
+ const Fo = "resources.describe", Vo = "resources.search", Wo = "resources.resolve", zo = "resources.attached";
2079
+ function Xo(e) {
2070
2080
  const t = e.indexOf(":");
2071
2081
  return t === -1 ? e : e.slice(0, t);
2072
2082
  }
@@ -2075,21 +2085,21 @@ function ke(e) {
2075
2085
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
2076
2086
  return t ? t[1] : null;
2077
2087
  }
2078
- function zo(e) {
2088
+ function Yo(e) {
2079
2089
  const t = ke(e);
2080
2090
  return t ? t !== Me : typeof e == "string" && e.startsWith("/wake");
2081
2091
  }
2082
- function Xo(e) {
2092
+ function qo(e) {
2083
2093
  return typeof e != "string" || e === "" || e === "/" ? !0 : ke(e) === Me;
2084
2094
  }
2085
- function yn(e) {
2095
+ function An(e) {
2086
2096
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
2087
2097
  }
2088
- function An(e) {
2089
- const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${yn(r)}`).join("");
2098
+ function bn(e) {
2099
+ const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${An(r)}`).join("");
2090
2100
  return new RegExp(`^${n}\\/?$`);
2091
2101
  }
2092
- function bn(e, t) {
2102
+ function En(e, t) {
2093
2103
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean), i = {};
2094
2104
  return n.forEach((o, a) => {
2095
2105
  if (o.startsWith(":")) {
@@ -2098,14 +2108,14 @@ function bn(e, t) {
2098
2108
  }
2099
2109
  }), i;
2100
2110
  }
2101
- function En(e) {
2111
+ function Sn(e) {
2102
2112
  return e.publicBasePath ?? `/apps/${e.name}`;
2103
2113
  }
2104
- function Yo(e) {
2114
+ function Jo(e) {
2105
2115
  const t = [];
2106
2116
  for (const n of e) {
2107
2117
  if (!n?.name) continue;
2108
- const r = En(n);
2118
+ const r = Sn(n);
2109
2119
  for (const i of n.routes ?? []) {
2110
2120
  if (!i.public) continue;
2111
2121
  const o = i.path === "/" ? "" : i.path;
@@ -2119,7 +2129,7 @@ function Yo(e) {
2119
2129
  }
2120
2130
  return t;
2121
2131
  }
2122
- function Sn(e, t) {
2132
+ function _n(e, t) {
2123
2133
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean);
2124
2134
  for (let i = 0; i < Math.min(n.length, r.length); i++) {
2125
2135
  const o = n[i].startsWith(":"), a = r[i].startsWith(":");
@@ -2127,17 +2137,17 @@ function Sn(e, t) {
2127
2137
  }
2128
2138
  return n.length > r.length;
2129
2139
  }
2130
- function _n(e, t) {
2140
+ function Tn(e, t) {
2131
2141
  if (typeof e != "string") return null;
2132
2142
  let n = null;
2133
2143
  for (const r of t)
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;
2144
+ bn(r.pattern).test(e) && (!n || _n(r.pattern, n.pattern)) && (n = r);
2145
+ return n ? { ...n, params: { ...n.props, ...En(n.pattern, e) } } : null;
2136
2146
  }
2137
- function qo(e, t) {
2138
- return _n(e, t) !== null;
2147
+ function Zo(e, t) {
2148
+ return Tn(e, t) !== null;
2139
2149
  }
2140
- const Jo = "sync-source", Zo = "sync-target", Qo = 20, Tn = {
2150
+ const Qo = "sync-source", ea = "sync-target", ta = 20, In = {
2141
2151
  afrikaans: [
2142
2152
  "[Muziek]",
2143
2153
  "(C) TV GELDERLAND 2021",
@@ -2287,14 +2297,14 @@ const Jo = "sync-source", Zo = "sync-target", Qo = 20, Tn = {
2287
2297
  "[MÚSICA]",
2288
2298
  "[Music cuts in British]"
2289
2299
  ]
2290
- }, In = (e) => {
2300
+ }, wn = (e) => {
2291
2301
  let t = e;
2292
- return Object.values(Tn).forEach((n) => {
2302
+ return Object.values(In).forEach((n) => {
2293
2303
  n.forEach((r) => {
2294
2304
  t = t.replaceAll(r, "");
2295
2305
  });
2296
2306
  }), t = t.replace(/\(.*?\)/g, ""), t = t.replace(/\[.*?\]/g, ""), t;
2297
- }, wn = 6e4, Mn = 8e3, kn = 2, Cn = 0.4, On = 3, Nn = /* @__PURE__ */ new Set([
2307
+ }, Mn = 6e4, kn = 8e3, Cn = 2, On = 0.4, Nn = 3, vn = /* @__PURE__ */ new Set([
2298
2308
  "aan",
2299
2309
  "als",
2300
2310
  "ben",
@@ -2407,13 +2417,13 @@ const Jo = "sync-source", Zo = "sync-target", Qo = 20, Tn = {
2407
2417
  "you",
2408
2418
  "your"
2409
2419
  ]);
2410
- function vn(e) {
2420
+ function Rn(e) {
2411
2421
  const t = /* @__PURE__ */ new Set();
2412
2422
  for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
2413
- n.length < On || Nn.has(n) || t.add(n);
2423
+ n.length < Nn || vn.has(n) || t.add(n);
2414
2424
  return [...t];
2415
2425
  }
2416
- function Rn(e, t) {
2426
+ function $n(e, t) {
2417
2427
  if (!e.length) return 0;
2418
2428
  if (!t.length) return 1;
2419
2429
  const n = new Set(t), r = new Set(e);
@@ -2421,32 +2431,38 @@ function Rn(e, t) {
2421
2431
  for (const o of r) n.has(o) || (i += 1);
2422
2432
  return i / r.size;
2423
2433
  }
2424
- function $n(e, t = wn) {
2434
+ function xn(e, t = Mn) {
2425
2435
  const n = e.filter((a) => !a.partial && typeof a.text == "string");
2426
2436
  if (!n.length) return { text: "", segmentCount: 0 };
2427
2437
  const i = n.reduce((a, s) => Math.max(a, s.endedAt ?? 0), 0) - t;
2428
- return { text: n.filter((a) => (a.endedAt ?? 0) >= i).map((a) => In(a.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
2438
+ return { text: n.filter((a) => (a.endedAt ?? 0) >= i).map((a) => wn(a.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
2429
2439
  }
2430
- const xn = 60;
2431
- function ea(e, t, n = xn) {
2440
+ const Dn = 60;
2441
+ function na(e, t, n = Dn) {
2432
2442
  const r = new Set(e), i = [...e];
2433
2443
  for (const o of t)
2434
2444
  !o || r.has(o) || (r.add(o), i.push(o));
2435
2445
  return i.slice(-n);
2436
2446
  }
2437
- function ta(e) {
2447
+ function ra(e) {
2438
2448
  const { segments: t, now: n, state: r } = e;
2439
- if (r.lastTriggerAt && n - r.lastTriggerAt < Mn)
2449
+ if (r.lastTriggerAt && n - r.lastTriggerAt < kn)
2440
2450
  return { trigger: !1, reason: "too_soon" };
2441
- const i = $n(t, e.windowMs);
2451
+ const i = xn(t, e.windowMs);
2442
2452
  if (!i.text) return { trigger: !1, reason: "no_speech" };
2443
2453
  const o = i.segmentCount - (r.lastSegmentCount ?? 0);
2444
- if (r.lastQueryTerms && o < kn)
2454
+ if (r.lastQueryTerms && o < Cn)
2445
2455
  return { trigger: !1, reason: "too_few_new" };
2446
- const a = vn(i.text);
2447
- return a.length ? r.lastQueryTerms?.length && Rn(a, r.lastQueryTerms) < Cn ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: i.text, terms: a, segmentCount: i.segmentCount } : { trigger: !1, reason: "no_speech" };
2448
- }
2449
- const na = "navNotice", x = {
2456
+ const a = Rn(i.text);
2457
+ return a.length ? r.lastQueryTerms?.length && $n(a, r.lastQueryTerms) < On ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: i.text, terms: a, segmentCount: i.segmentCount } : { trigger: !1, reason: "no_speech" };
2458
+ }
2459
+ const ia = [
2460
+ "personal",
2461
+ "workspace",
2462
+ "connections",
2463
+ "work",
2464
+ "ai"
2465
+ ], oa = "navNotice", x = {
2450
2466
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
2451
2467
  // shorter than geographic numbers, and a too-strict minimum silently drops them.
2452
2468
  // An over-permissive key is harmless — it simply matches nothing.
@@ -2469,7 +2485,7 @@ const na = "navNotice", x = {
2469
2485
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
2470
2486
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
2471
2487
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
2472
- }, Dn = "NL", Ln = 15, Pn = 8, Un = Array.from(
2488
+ }, Ln = "NL", Pn = 15, Un = 8, Kn = Array.from(
2473
2489
  new Set(Object.values(x).map((e) => e.callingCode))
2474
2490
  ).sort((e, t) => t.length - e.length);
2475
2491
  function te(e) {
@@ -2480,8 +2496,8 @@ function S(e, t) {
2480
2496
  return e.length >= t.nsnMin && e.length <= t.nsnMax;
2481
2497
  }
2482
2498
  function ne(e) {
2483
- if (e.length > Ln) return null;
2484
- for (const t of Un) {
2499
+ if (e.length > Pn) return null;
2500
+ for (const t of Kn) {
2485
2501
  if (!e.startsWith(t)) continue;
2486
2502
  const n = e.slice(t.length);
2487
2503
  for (const r of Object.values(x)) {
@@ -2491,16 +2507,16 @@ function ne(e) {
2491
2507
  }
2492
2508
  return null;
2493
2509
  }
2494
- return e.length < Pn ? null : `+${e}`;
2510
+ return e.length < Un ? null : `+${e}`;
2495
2511
  }
2496
- function Kn(e) {
2512
+ function Gn(e) {
2497
2513
  let t = e.trim();
2498
2514
  const n = t.match(/^(sips?|tel|whatsapp):/i);
2499
2515
  n && (t = t.slice(n[0].length));
2500
2516
  const r = t.indexOf("@");
2501
2517
  return r >= 0 && (t = t.slice(0, r)), t.trim();
2502
2518
  }
2503
- function ra(e) {
2519
+ function aa(e) {
2504
2520
  if (!e) return !1;
2505
2521
  const t = e.indexOf("@");
2506
2522
  if (t <= 0) return !1;
@@ -2509,13 +2525,13 @@ function ra(e) {
2509
2525
  }
2510
2526
  function re(e, t) {
2511
2527
  if (!e) return null;
2512
- const n = Kn(e);
2528
+ const n = Gn(e);
2513
2529
  if (!n) return null;
2514
2530
  const r = n.startsWith("+"), i = n.replace(/\D/g, "");
2515
2531
  if (!i) return null;
2516
2532
  if (r) return ne(i);
2517
2533
  if (i.startsWith("00")) return ne(i.slice(2));
2518
- const o = te(t) ?? te(Dn);
2534
+ const o = te(t) ?? te(Ln);
2519
2535
  if (!o) return null;
2520
2536
  const a = o.trunkPrefix;
2521
2537
  if (a && i.startsWith(a)) {
@@ -2528,7 +2544,7 @@ function re(e, t) {
2528
2544
  }
2529
2545
  return !a && S(i, o) ? `+${o.callingCode}${i}` : null;
2530
2546
  }
2531
- function ia(e, t = 9) {
2547
+ function sa(e, t = 9) {
2532
2548
  const n = (e ?? "").replace(/\D/g, "");
2533
2549
  return n.length < t ? null : n.slice(-t);
2534
2550
  }
@@ -2539,7 +2555,7 @@ function Ce(e) {
2539
2555
  const r = t.slice(0, n).split("+")[0], i = t.slice(n + 1);
2540
2556
  return !r || !i.includes(".") ? null : `${r}@${i}`;
2541
2557
  }
2542
- function oa(e) {
2558
+ function ca(e) {
2543
2559
  const t = Ce(e);
2544
2560
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
2545
2561
  }
@@ -2553,14 +2569,14 @@ const jn = /* @__PURE__ */ new Set([
2553
2569
  "com.br",
2554
2570
  "co.za"
2555
2571
  ]);
2556
- function Gn(e) {
2572
+ function Bn(e) {
2557
2573
  if (!e) return null;
2558
2574
  const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
2559
2575
  if (t.length < 2) return null;
2560
2576
  const n = t.slice(-2).join(".");
2561
2577
  return jn.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
2562
2578
  }
2563
- const Bn = /* @__PURE__ */ new Set([
2579
+ const Hn = /* @__PURE__ */ new Set([
2564
2580
  "gmail.com",
2565
2581
  "googlemail.com",
2566
2582
  "outlook.com",
@@ -2605,16 +2621,16 @@ const Bn = /* @__PURE__ */ new Set([
2605
2621
  "proximus.be",
2606
2622
  "scarlet.be"
2607
2623
  ]);
2608
- function aa(e) {
2609
- const t = Gn(e);
2610
- return t ? Bn.has(t) : !1;
2624
+ function la(e) {
2625
+ const t = Bn(e);
2626
+ return t ? Hn.has(t) : !1;
2611
2627
  }
2612
- function sa(e) {
2628
+ function ua(e) {
2613
2629
  if (!e) return !1;
2614
2630
  const t = e.trim().toLowerCase();
2615
2631
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
2616
2632
  }
2617
- function ca(e, t, n) {
2633
+ function da(e, t, n) {
2618
2634
  if (!e || !t) return null;
2619
2635
  const r = e.trim().toLowerCase();
2620
2636
  if (r === "tel" || r === "sms" || r === "whatsapp") {
@@ -2632,17 +2648,17 @@ function ca(e, t, n) {
2632
2648
  const i = t.trim().toLowerCase();
2633
2649
  return i ? `${r}:${i}` : null;
2634
2650
  }
2635
- const Hn = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, Fn = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
2636
- function la(e) {
2651
+ const Fn = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, Vn = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
2652
+ function pa(e) {
2637
2653
  if (typeof e != "string" || !e) return "";
2638
2654
  let t = e;
2639
2655
  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(`
2640
2656
  `).map(
2641
2657
  (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,}$/, "")
2642
2658
  ).join(`
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();
2659
+ `), t = t.replace(Fn, "$2"), t = t.replace(Vn, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
2644
2660
  }
2645
- const Vn = [
2661
+ const Wn = [
2646
2662
  /<blockquote/i,
2647
2663
  /class="?gmail_quote/i,
2648
2664
  // Gmail quote container
@@ -2655,12 +2671,12 @@ const Vn = [
2655
2671
  // Outlook underscore separator before "From:"
2656
2672
  /\bOn\b[\s\S]{0,200}?\bwrote:/i
2657
2673
  // Gmail "On <date> <name> wrote:"
2658
- ], ie = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Wn = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
2659
- function zn(e) {
2674
+ ], ie = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, zn = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
2675
+ function Xn(e) {
2660
2676
  const t = e.split(`
2661
2677
  `);
2662
2678
  for (let n = 0; n < t.length; n++)
2663
- if (Wn.test(t[n]) || ie.test(t[n]) && t.slice(n + 1, n + 4).some((r) => ie.test(r)))
2679
+ if (zn.test(t[n]) || ie.test(t[n]) && t.slice(n + 1, n + 4).some((r) => ie.test(r)))
2664
2680
  return t.slice(0, n).join(`
2665
2681
  `).trim();
2666
2682
  return e;
@@ -2685,31 +2701,31 @@ function ce(e) {
2685
2701
 
2686
2702
  `).trim();
2687
2703
  }
2688
- const Xn = /<\s*(html|body|div|p|table|br|span)\b/i;
2689
- function ua(e) {
2690
- return Xn.test(e);
2704
+ const Yn = /<\s*(html|body|div|p|table|br|span)\b/i;
2705
+ function fa(e) {
2706
+ return Yn.test(e);
2691
2707
  }
2692
- function da(e) {
2708
+ function ma(e) {
2693
2709
  if (typeof e != "string" || !e) return "";
2694
2710
  let t = e.length;
2695
- for (const o of Vn) {
2711
+ for (const o of Wn) {
2696
2712
  const a = e.search(o);
2697
2713
  a >= 0 && a < t && (t = a);
2698
2714
  }
2699
2715
  const n = e.slice(0, t);
2700
2716
  let r = ce(se(oe(n)));
2701
- return r || (r = ce(se(oe(e)))), zn(r) || r;
2717
+ return r || (r = ce(se(oe(e)))), Xn(r) || r;
2702
2718
  }
2703
2719
  export {
2704
2720
  m as ACTIVITY_CATALOG,
2705
- cn as AI_ATTACHMENT_LIMITS,
2706
- so as AI_ATTACHMENT_MAX_PER_TURN,
2707
- ao as AI_ATTACHMENT_TURN_BUDGET,
2721
+ ln as AI_ATTACHMENT_LIMITS,
2722
+ lo as AI_ATTACHMENT_MAX_PER_TURN,
2723
+ co as AI_ATTACHMENT_TURN_BUDGET,
2708
2724
  ue as AI_VENDORS,
2709
2725
  Xe as ALLOWED_LINK_SCHEMES,
2710
- Po as APP_PERMISSIONS,
2726
+ Ko as APP_PERMISSIONS,
2711
2727
  B as ARTIFACT_MAX_BLOCKS,
2712
- Mr as ARTIFACT_MAX_BODY_BYTES,
2728
+ kr as ARTIFACT_MAX_BODY_BYTES,
2713
2729
  C as ARTIFACT_MAX_CELL_LEN,
2714
2730
  W as ARTIFACT_MAX_KPI_ITEMS,
2715
2731
  H as ARTIFACT_MAX_LIST_ITEMS,
@@ -2717,295 +2733,298 @@ export {
2717
2733
  F as ARTIFACT_MAX_TABLE_ROWS,
2718
2734
  pe as ARTIFACT_MAX_TEXT_LEN,
2719
2735
  rt as ASSIGNMENT_SCOPE_KIND,
2720
- fo as ASSIST_BANDS,
2721
- po as ASSIST_SOURCE_PROVIDER_GROUP,
2736
+ go as ASSIST_BANDS,
2737
+ mo as ASSIST_SOURCE_PROVIDER_GROUP,
2722
2738
  mt as ATTENTION_STATUSES,
2723
2739
  Me as AUTH_APP_NAME,
2724
- Kt as AUTO_READY_MIN_PROPOSALS,
2740
+ Gt as AUTO_READY_MIN_PROPOSALS,
2725
2741
  jt as AUTO_READY_RATE,
2726
2742
  Pe as ActivityTypeRegistry,
2727
- dr as BUILT_IN_ONLY,
2743
+ pr as BUILT_IN_ONLY,
2728
2744
  gt as BULK_PENALTY,
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
- Ro as CONTEXT_COLLECT_SERVICE,
2735
- Tr as CORE_DIMENSIONS,
2736
- mn as CommunicationScheme,
2745
+ kn as CADENCE_FLOOR_MS,
2746
+ Cn as CADENCE_MIN_NEW_SEGMENTS,
2747
+ On as CADENCE_MIN_NOVELTY,
2748
+ Mn as CADENCE_WINDOW_MS,
2749
+ ki as CLASSIFY_VARS,
2750
+ xo as CONTEXT_COLLECT_SERVICE,
2751
+ Ir as CORE_DIMENSIONS,
2752
+ gn as CommunicationScheme,
2737
2753
  st as DAY_MS,
2738
- di as DEFAULT_MEMORY_BUDGET,
2739
- Dn as DEFAULT_PHONE_REGION,
2740
- ki as EMPTY_WORKFLOW,
2741
- Oo as FEATURE_FOLDER_MANAGEMENT,
2742
- No as FEATURE_REMOTE_SEARCH,
2754
+ fi as DEFAULT_MEMORY_BUDGET,
2755
+ Ln as DEFAULT_PHONE_REGION,
2756
+ Oi as EMPTY_WORKFLOW,
2757
+ vo as FEATURE_FOLDER_MANAGEMENT,
2758
+ Ro as FEATURE_REMOTE_SEARCH,
2743
2759
  yt as FOLLOW_UP_HOURS,
2744
2760
  at as HOUR_MS,
2745
- Xn as HTML_BODY_RE,
2761
+ Yn as HTML_BODY_RE,
2746
2762
  g as INELIGIBLE,
2747
- $o as INSTALLATION_HEADER,
2748
- xt as INTERACTION_KIND,
2749
- ko as InteractionParticipantRole,
2750
- It as KB_FALLBACK_LOCALE,
2763
+ Do as INSTALLATION_HEADER,
2764
+ Dt as INTERACTION_KIND,
2765
+ Oo as InteractionParticipantRole,
2766
+ wt as KB_FALLBACK_LOCALE,
2751
2767
  q as KB_LOCALES,
2752
2768
  $ as LOOSE_STATUSES,
2753
- Zn as MAX_ACTIONS,
2769
+ Qn as MAX_ACTIONS,
2754
2770
  it as MAX_ASSIGNMENT_TURNS,
2755
- Yn as MAX_BLOCKS,
2771
+ qn as MAX_BLOCKS,
2756
2772
  be as MAX_COLLECTION_DEPTH,
2757
- qn as MAX_FIELDS,
2758
- Jn as MAX_LIST_ITEMS,
2759
- si as MAX_MEMORY_BROWSE,
2760
- ui as MAX_MEMORY_BUDGET,
2761
- ci as MAX_MEMORY_CHARS,
2762
- xn as MAX_SHOWN_KEYS,
2763
- Wt as MAX_TOPIC_CANDIDATES,
2764
- Vt as MAX_TOPIC_EXAMPLES,
2773
+ Jn as MAX_FIELDS,
2774
+ Zn as MAX_LIST_ITEMS,
2775
+ li as MAX_MEMORY_BROWSE,
2776
+ pi as MAX_MEMORY_BUDGET,
2777
+ ui as MAX_MEMORY_CHARS,
2778
+ Dn as MAX_SHOWN_KEYS,
2779
+ zt as MAX_TOPIC_CANDIDATES,
2780
+ Wt as MAX_TOPIC_EXAMPLES,
2765
2781
  O as MAX_TOPIC_EXAMPLE_CHARS,
2766
- li as MIN_MEMORY_BUDGET,
2767
- na as NAV_NOTICE_SLOT,
2768
- Do as NOTIFICATION_SOURCE_PROVIDER_GROUP,
2769
- fi as ONBOARDING_SOURCE_PROVIDER_GROUP,
2782
+ di as MIN_MEMORY_BUDGET,
2783
+ oa as NAV_NOTICE_SLOT,
2784
+ Po as NOTIFICATION_SOURCE_PROVIDER_GROUP,
2785
+ gi as ONBOARDING_SOURCE_PROVIDER_GROUP,
2770
2786
  x as PHONE_REGIONS,
2771
2787
  Ie as PRESENCE_ONLINE_WINDOW_MS,
2772
- hn as PRESENCE_SURVIVES_OFFLINE,
2773
- gi as PROFILE_TOOL_DISPOSITIONS,
2774
- Mo as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
2775
- wo as PROVIDER_FEATURE_MESSAGE_WINDOW,
2776
- Bn as PUBLIC_EMAIL_DOMAINS,
2788
+ yn as PRESENCE_SURVIVES_OFFLINE,
2789
+ yi as PROFILE_TOOL_DISPOSITIONS,
2790
+ Co as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
2791
+ ko as PROVIDER_FEATURE_MESSAGE_WINDOW,
2792
+ Hn as PUBLIC_EMAIL_DOMAINS,
2777
2793
  J as READ_STEP_TYPES,
2778
- kt as RELATED_SUBJECT_KINDS,
2794
+ Ct as RELATED_SUBJECT_KINDS,
2779
2795
  Te as RESERVED_STATUS_KEYS,
2780
- Vo as RESOURCE_ATTACHED_SERVICE,
2781
- Bo as RESOURCE_DESCRIBE_SERVICE,
2782
- Fo as RESOURCE_RESOLVE_SERVICE,
2783
- Ho as RESOURCE_SEARCH_SERVICE,
2784
- Kr as SIGNATURE_INTENTS,
2796
+ zo as RESOURCE_ATTACHED_SERVICE,
2797
+ Fo as RESOURCE_DESCRIBE_SERVICE,
2798
+ Wo as RESOURCE_RESOLVE_SERVICE,
2799
+ Vo as RESOURCE_SEARCH_SERVICE,
2800
+ ia as SETTINGS_CATEGORIES,
2801
+ Gr as SIGNATURE_INTENTS,
2785
2802
  ht as SLA_HOURS_BY_PRIORITY,
2786
- Pt as STEP_MAX_TOKENS_MAX,
2787
- Lt as STEP_MAX_TOKENS_MIN,
2803
+ Ut as STEP_MAX_TOKENS_MAX,
2804
+ Pt as STEP_MAX_TOKENS_MIN,
2788
2805
  pt as SUMMARY_MIN_LAST_CHARS,
2789
2806
  dt as SUMMARY_MIN_MESSAGES,
2790
- Qo as SYNC_RUN_MAX_ERRORS,
2791
- Jo as SYNC_SOURCE_PROVIDER_GROUP,
2792
- Zo as SYNC_TARGET_PROVIDER_GROUP,
2807
+ ta as SYNC_RUN_MAX_ERRORS,
2808
+ Qo as SYNC_SOURCE_PROVIDER_GROUP,
2809
+ ea as SYNC_TARGET_PROVIDER_GROUP,
2793
2810
  nt as TERMINAL_ASSIGNMENT_STATUSES,
2794
- Gt as TERMINAL_RUN_STATUSES,
2795
- Ii as TRIGGER_VARS,
2796
- vo as UNSUPPORTED,
2811
+ Bt as TERMINAL_RUN_STATUSES,
2812
+ Mi as TRIGGER_VARS,
2813
+ $o as UNSUPPORTED,
2797
2814
  Fe as USAGE_DIMENSIONS,
2798
2815
  Ve as USAGE_DIMENSION_IDS,
2799
- mi as WORK_AREAS,
2800
- Wi as WORK_COMMENT_ADDED,
2801
- zi as WORK_ITEM_ASSIGNED,
2802
- Jt as WORK_ITEM_SCOPE_KIND,
2803
- Xi as WORK_ITEM_STATUS_CHANGED,
2804
- Zt as WORK_PROJECT_SCOPE_KIND,
2816
+ hi as WORK_AREAS,
2817
+ Xi as WORK_COMMENT_ADDED,
2818
+ Yi as WORK_ITEM_ASSIGNED,
2819
+ Zt as WORK_ITEM_SCOPE_KIND,
2820
+ qi as WORK_ITEM_STATUS_CHANGED,
2821
+ Qt as WORK_PROJECT_SCOPE_KIND,
2805
2822
  _ as W_PRIORITY,
2806
- Hi as acceptExampleCandidate,
2807
- Ot as actingIdentityKey,
2808
- Gi as activeWorkTypes,
2809
- er as activityIconOf,
2810
- lr as activityJoinUrl,
2823
+ Vi as acceptExampleCandidate,
2824
+ Nt as actingIdentityKey,
2825
+ Hi as activeWorkTypes,
2826
+ tr as activityIconOf,
2827
+ ur as activityJoinUrl,
2811
2828
  $e as activitySnippet,
2812
2829
  xe as activityTextParams,
2813
- cr as activityTimelineText,
2830
+ lr as activityTimelineText,
2814
2831
  Ue as activityTimestamp,
2815
2832
  d as activityTypeInfo,
2816
- Ai as actorKey,
2817
- Bi as addExampleCandidate,
2818
- Ko as agePresenceEntry,
2819
- sn as aiAttachmentKind,
2820
- co as aiAttachmentRejection,
2821
- G as aiBudgetLimit,
2822
- Sr as aiBudgetPeriodKey,
2833
+ Ei as actorKey,
2834
+ Fi as addExampleCandidate,
2835
+ jo as agePresenceEntry,
2836
+ cn as aiAttachmentKind,
2837
+ uo as aiAttachmentRejection,
2838
+ j as aiBudgetLimit,
2839
+ _r as aiBudgetPeriodKey,
2823
2840
  Ke as aiBudgetPeriodStart,
2824
- Er as aiBudgetState,
2825
- br as aiVendorAcceptsAttachment,
2826
- hr as aiVendorDefaultModel,
2827
- gr as aiVendorLabel,
2828
- Ar as aiVendorNeedsBaseUrl,
2829
- yr as aiVendorsWith,
2841
+ Sr as aiBudgetState,
2842
+ Er as aiVendorAcceptsAttachment,
2843
+ yr as aiVendorDefaultModel,
2844
+ hr as aiVendorLabel,
2845
+ br as aiVendorNeedsBaseUrl,
2846
+ Ar as aiVendorsWith,
2830
2847
  ke as appNameFromPath,
2831
- Li as applyRounding,
2848
+ Ui as applyRounding,
2832
2849
  jr as applySignature,
2833
- Ut as approvalRate,
2834
- Cr as artifactBodyBytes,
2835
- Or as artifactOutline,
2836
- Nr as artifactToMarkdown,
2837
- _i as assignmentMismatch,
2838
- Dr as assignmentScopeKey,
2839
- Pr as assignmentSubject,
2840
- ur as buildActivityPreview,
2841
- Eo as buildChannelIntents,
2842
- vr as buildShareKeys,
2843
- $n as buildWindow,
2844
- ti as canNestUnder,
2845
- ir as carriesText,
2846
- ri as categoryLabel,
2847
- tn as categoryOf,
2848
- Io as channelKindForScheme,
2849
- tr as channelKindOf,
2850
- Mi as clampStepMaxTokens,
2851
- da as cleanMessageText,
2852
- go as compareAssistRank,
2853
- Ft as compareWorkTypes,
2854
- Ur as decideAssignmentState,
2855
- ta as decideCadence,
2856
- Ao as decideIncomingCall,
2857
- wt as defaultLocaleOf,
2858
- no as defaultStatusKey,
2859
- Co as defineIntent,
2860
- _t as depthOf,
2861
- Uo as derivePresence,
2862
- bo as disabledIntentsFromCapabilities,
2863
- Di as elapsedSeconds,
2864
- oa as emailDomain,
2865
- ca as endpointKey,
2866
- bn as extractParams,
2867
- vn as extractTerms,
2868
- _o as filterByEndpoint,
2869
- So as filterByIntent,
2870
- fn as filterByTargetScheme,
2850
+ Kt as approvalRate,
2851
+ Or as artifactBodyBytes,
2852
+ Nr as artifactOutline,
2853
+ vr as artifactToMarkdown,
2854
+ Ii as assignmentMismatch,
2855
+ Lr as assignmentScopeKey,
2856
+ Ur as assignmentSubject,
2857
+ dr as buildActivityPreview,
2858
+ _o as buildChannelIntents,
2859
+ Rr as buildShareKeys,
2860
+ xn as buildWindow,
2861
+ ri as canNestUnder,
2862
+ or as carriesText,
2863
+ oi as categoryLabel,
2864
+ nn as categoryOf,
2865
+ Mo as channelKindForScheme,
2866
+ nr as channelKindOf,
2867
+ Ci as clampStepMaxTokens,
2868
+ ma as cleanMessageText,
2869
+ yo as compareAssistRank,
2870
+ Vt as compareWorkTypes,
2871
+ Kr as decideAssignmentState,
2872
+ ra as decideCadence,
2873
+ Eo as decideIncomingCall,
2874
+ Mt as defaultLocaleOf,
2875
+ io as defaultStatusKey,
2876
+ No as defineIntent,
2877
+ Tt as depthOf,
2878
+ Go as derivePresence,
2879
+ So as disabledIntentsFromCapabilities,
2880
+ Pi as elapsedSeconds,
2881
+ ca as emailDomain,
2882
+ da as endpointKey,
2883
+ En as extractParams,
2884
+ Rn as extractTerms,
2885
+ Io as filterByEndpoint,
2886
+ To as filterByIntent,
2887
+ mn as filterByTargetScheme,
2871
2888
  T as findAiVendor,
2872
- xo as flattenLocales,
2873
- Ge as floorToPeriod,
2874
- Ct as formatActingIdentity,
2875
- Ui as formatClock,
2876
- Pi as formatHm,
2877
- qi as formatItemKey,
2878
- je as formatPeriod,
2879
- uo as freshSources,
2880
- pr as getActivitySeenUserIds,
2881
- Gr as getContactEndpoints,
2882
- qr as getShortTitle,
2883
- Yr as getUrgencyScore,
2889
+ Lo as flattenLocales,
2890
+ je as floorToPeriod,
2891
+ Ot as formatActingIdentity,
2892
+ Gi as formatClock,
2893
+ Ki as formatHm,
2894
+ Zi as formatItemKey,
2895
+ Ge as formatPeriod,
2896
+ fo as freshSources,
2897
+ fr as getActivitySeenUserIds,
2898
+ Br as getContactEndpoints,
2899
+ Zr as getShortTitle,
2900
+ Jr as getUrgencyScore,
2884
2901
  Ee as heightOf,
2885
- Zr as helpCenterText,
2886
- Ti as humanizeAction,
2887
- Dt as interactionIdOf,
2888
- Vi as isAgentUser,
2889
- zr as isAssigned,
2890
- xr as isAssignmentTerminal,
2891
- Rt as isAssignmentTrigger,
2892
- Ni as isAutoReady,
2893
- St as isAwaitingThem,
2894
- mr as isChatMessageActivity,
2895
- Xr as isClosed,
2896
- ar as isConnectedType,
2897
- zo as isDeepLink,
2898
- Tt as isDescendant,
2899
- Br as isEligible,
2900
- fr as isEmailActivity,
2901
- ua as isHtmlBody,
2902
- Ri as isInFlight,
2902
+ ei as helpCenterText,
2903
+ wi as humanizeAction,
2904
+ Lt as interactionIdOf,
2905
+ zi as isAgentUser,
2906
+ Yr as isAssigned,
2907
+ Dr as isAssignmentTerminal,
2908
+ $t as isAssignmentTrigger,
2909
+ Ri as isAutoReady,
2910
+ _t as isAwaitingThem,
2911
+ gr as isChatMessageActivity,
2912
+ qr as isClosed,
2913
+ sr as isConnectedType,
2914
+ Yo as isDeepLink,
2915
+ It as isDescendant,
2916
+ Hr as isEligible,
2917
+ mr as isEmailActivity,
2918
+ fa as isHtmlBody,
2919
+ xi as isInFlight,
2903
2920
  ft as isInteractionUnseen,
2904
- Xo as isLandingPath,
2921
+ qo as isLandingPath,
2905
2922
  ut as isLikelyBulk,
2906
2923
  le as isMessageShape,
2907
- nr as isMessageType,
2908
- Sn as isMoreSpecificPattern,
2909
- lo as isOutwardTool,
2924
+ rr as isMessageType,
2925
+ _n as isMoreSpecificPattern,
2926
+ po as isOutwardTool,
2910
2927
  bt as isParked,
2911
- Bt as isPaused,
2912
- or as isPlaybookAuthoredType,
2913
- aa as isPublicEmailDomain,
2914
- qo as isPublicPath,
2928
+ Ht as isPaused,
2929
+ ar as isPlaybookAuthoredType,
2930
+ la as isPublicEmailDomain,
2931
+ Zo as isPublicPath,
2915
2932
  Et as isReminderActive,
2916
- rr as isReplyableType,
2917
- Vr as isSlaAtRisk,
2918
- vi as isTerminal,
2919
- Fr as isThreadLongEnough,
2920
- sr as isTranscriptType,
2921
- ro as isWorkClosed,
2922
- ji as isWorkTypeVisible,
2923
- Qi as itemDossierKeys,
2924
- en as ladderFor,
2925
- Jr as linkLabel,
2926
- _r as listeningAllowed,
2927
- ei as localeInstruction,
2928
- Qr as localeName,
2929
- ni as localesOf,
2930
- ra as looksLikeEmail,
2931
- To as matchContactToIntents,
2932
- _n as matchPublicRoute,
2933
- oi as mcpCredentialScope,
2934
- ai as mcpToolPrefix,
2935
- ea as mergeShownKeys,
2933
+ ir as isReplyableType,
2934
+ zr as isSlaAtRisk,
2935
+ $i as isTerminal,
2936
+ Vr as isThreadLongEnough,
2937
+ cr as isTranscriptType,
2938
+ oo as isWorkClosed,
2939
+ Bi as isWorkTypeVisible,
2940
+ to as itemDossierKeys,
2941
+ tn as ladderFor,
2942
+ Qr as linkLabel,
2943
+ Tr as listeningAllowed,
2944
+ ni as localeInstruction,
2945
+ ti as localeName,
2946
+ ii as localesOf,
2947
+ aa as looksLikeEmail,
2948
+ wo as matchContactToIntents,
2949
+ Tn as matchPublicRoute,
2950
+ si as mcpCredentialScope,
2951
+ ci as mcpToolPrefix,
2952
+ na as mergeShownKeys,
2936
2953
  Re as messageCountsAs,
2937
- sa as needsPhoneRegion,
2938
- kr as normalizeArtifactBlocks,
2939
- Qn as normalizeBlocks,
2954
+ ua as needsPhoneRegion,
2955
+ Cr as normalizeArtifactBlocks,
2956
+ er as normalizeBlocks,
2940
2957
  Ce as normalizeEmail,
2941
2958
  h as normalizeExample,
2942
- Lo as notificationPrefKey,
2943
- Rn as novelty,
2944
- Hr as parkMarksById,
2945
- hi as parseActingIdentity,
2946
- Ji as parseItemKey,
2947
- An as pathToRegex,
2948
- Ir as periodsInRange,
2949
- ia as phoneSuffix,
2950
- la as plainTextFromMarkdown,
2951
- vt as playbookActor,
2952
- Oi as procedureOf,
2953
- eo as projectDossierKeys,
2954
- En as publicBasePathFor,
2955
- Yo as publicRoutePatterns,
2959
+ Uo as notificationPrefKey,
2960
+ $n as novelty,
2961
+ Fr as parkMarksById,
2962
+ Ai as parseActingIdentity,
2963
+ Qi as parseItemKey,
2964
+ bn as pathToRegex,
2965
+ wr as periodsInRange,
2966
+ sa as phoneSuffix,
2967
+ pa as plainTextFromMarkdown,
2968
+ Rt as playbookActor,
2969
+ vi as procedureOf,
2970
+ no as projectDossierKeys,
2971
+ Sn as publicBasePathFor,
2972
+ Jo as publicRoutePatterns,
2956
2973
  N as readPath,
2957
2974
  Z as readStepError,
2958
2975
  At as recencyOf,
2959
- $t as refKey,
2960
- Gn as registrableDomain,
2961
- Xt as rejectExampleCandidate,
2962
- pi as relatedByDefault,
2963
- dn as resolveAccountCapabilities,
2976
+ xt as refKey,
2977
+ Bn as registrableDomain,
2978
+ Yt as rejectExampleCandidate,
2979
+ mi as relatedByDefault,
2980
+ pn as resolveAccountCapabilities,
2964
2981
  v as resolveActivityText,
2965
- un as resolveChannelIntents,
2982
+ dn as resolveChannelIntents,
2966
2983
  ot as resolveSignature,
2967
- jo as resolveWorkMode,
2968
- Wo as resourceKindOf,
2969
- yi as runActor,
2970
- xi as runInteractionId,
2984
+ Bo as resolveWorkMode,
2985
+ Xo as resourceKindOf,
2986
+ bi as runActor,
2987
+ Li as runInteractionId,
2971
2988
  Ze as sanitizeInline,
2972
- In as sanitizeTranscript,
2973
- Wr as scoreInteraction,
2974
- Yi as scoreWorkItem,
2975
- ii as selectLenses,
2976
- yo as sessionsHoldCannotReach,
2977
- ho as sessionsToHold,
2989
+ wn as sanitizeTranscript,
2990
+ Xr as scoreInteraction,
2991
+ Ji as scoreWorkItem,
2992
+ ai as selectLenses,
2993
+ bo as sessionsHoldCannotReach,
2994
+ Ao as sessionsToHold,
2978
2995
  ge as shareKeyForTeam,
2979
2996
  me as shareKeyForUser,
2980
- Rr as shareKeysForViewer,
2981
- Go as shouldRunAudioPipeline,
2982
- nn as sortStatuses,
2983
- ln as sourceKey,
2984
- to as statusIn,
2985
- Ci as stepsOf,
2997
+ $r as shareKeysForViewer,
2998
+ Ho as shouldRunAudioPipeline,
2999
+ Wr as slaHoursByInbox,
3000
+ St as slaHoursFor,
3001
+ rn as sortStatuses,
3002
+ un as sourceKey,
3003
+ ro as statusIn,
3004
+ Ni as stepsOf,
2986
3005
  ve as stripHtml,
2987
- $i as subjectKeyOf,
3006
+ Di as subjectKeyOf,
2988
3007
  Se as subjectOf,
2989
- mo as subjectRef,
2990
- Zi as suggestProjectKey,
2991
- Si as targetById,
2992
- Ei as targetForActivityType,
2993
- Nt as toActingIdentity,
3008
+ ho as subjectRef,
3009
+ eo as suggestProjectKey,
3010
+ Ti as targetById,
3011
+ _i as targetForActivityType,
3012
+ vt as toActingIdentity,
2994
3013
  re as toE164,
2995
- $r as toolSourceKinds,
2996
- Yt as topicOfferedForTeam,
2997
- Fi as topicsForTeam,
2998
- zt as truncateExample,
2999
- io as uniqueWorkStatusKey,
3000
- Ki as uniqueWorkTypeKey,
3014
+ xr as toolSourceKinds,
3015
+ qt as topicOfferedForTeam,
3016
+ Wi as topicsForTeam,
3017
+ Xt as truncateExample,
3018
+ ao as uniqueWorkStatusKey,
3019
+ ji as uniqueWorkTypeKey,
3001
3020
  We as usageMetricId,
3002
- wr as usageMetrics,
3003
- oo as validateStatuses,
3004
- bi as valueAtPath,
3021
+ Mr as usageMetrics,
3022
+ so as validateStatuses,
3023
+ Si as valueAtPath,
3005
3024
  R as waitHoursOf,
3006
- Lr as wakesAssignment,
3007
- Qt as workItemScopeKey,
3025
+ Pr as wakesAssignment,
3026
+ en as workItemScopeKey,
3008
3027
  _e as workProjectScopeKey,
3009
- rn as workStatusKey,
3010
- Ht as workTypeKey
3028
+ on as workStatusKey,
3029
+ Ft as workTypeKey
3011
3030
  };