@opencxh/domain 1.162.0 → 1.165.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
@@ -4,7 +4,7 @@ function Cn(e) {
4
4
  function wn(e) {
5
5
  return e.type === "CHAT_MESSAGE_SENT" || e.type === "CHAT_MESSAGE_RECEIVED";
6
6
  }
7
- const D = 10, _ = 10, I = 10, M = 5, we = /* @__PURE__ */ new Set([
7
+ const L = 10, T = 10, I = 10, M = 5, we = /* @__PURE__ */ new Set([
8
8
  "header",
9
9
  "section",
10
10
  "context",
@@ -25,8 +25,8 @@ function Nn(e, t = () => {
25
25
  if (!Array.isArray(e)) return [];
26
26
  const n = [];
27
27
  for (const r of e) {
28
- if (n.length >= D) {
29
- t("more than " + D + " blocks; the rest was dropped");
28
+ if (n.length >= L) {
29
+ t("more than " + L + " blocks; the rest was dropped");
30
30
  break;
31
31
  }
32
32
  if (!r || typeof r != "object") continue;
@@ -55,7 +55,7 @@ function Nn(e, t = () => {
55
55
  }
56
56
  break;
57
57
  case "section":
58
- Array.isArray(i.fields) && i.fields.length > _ && (t("more than " + _ + " fields in a section"), i.fields = i.fields.slice(0, _));
58
+ Array.isArray(i.fields) && i.fields.length > T && (t("more than " + T + " fields in a section"), i.fields = i.fields.slice(0, T));
59
59
  break;
60
60
  case "list":
61
61
  if (!Array.isArray(i.items) || i.items.length === 0) {
@@ -83,7 +83,7 @@ function A(e) {
83
83
  const t = Math.floor(e / 60), n = Math.floor(e % 60);
84
84
  return `${t}:${n.toString().padStart(2, "0")}`;
85
85
  }
86
- function R(e) {
86
+ function D(e) {
87
87
  return e ? ` — ${Math.floor(e / 60)}m ${e % 60}s` : "";
88
88
  }
89
89
  function C(e) {
@@ -92,7 +92,7 @@ function C(e) {
92
92
  function b(e) {
93
93
  return e.map((t) => t.name).join(", ");
94
94
  }
95
- function K(e) {
95
+ function P(e) {
96
96
  return e === "meeting" ? "Meeting" : e === "video" ? "Video call" : "Audio call";
97
97
  }
98
98
  const m = {
@@ -130,7 +130,7 @@ const m = {
130
130
  channelKind: "voice",
131
131
  icon: "phone",
132
132
  snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${A(e.payload.duration)})` : ""}`,
133
- timeline: (e) => `Call ended${R(e.payload.duration)}`
133
+ timeline: (e) => `Call ended${D(e.payload.duration)}`
134
134
  },
135
135
  VOICE_CALL_MISSED: {
136
136
  shape: "event",
@@ -212,7 +212,7 @@ const m = {
212
212
  replyable: !0,
213
213
  carriesText: !0,
214
214
  countsAs: "inbound_message",
215
- snippet: P
215
+ snippet: K
216
216
  },
217
217
  EMAIL_SENT: {
218
218
  shape: "message",
@@ -222,7 +222,7 @@ const m = {
222
222
  replyable: !0,
223
223
  carriesText: !0,
224
224
  countsAs: "outbound_message",
225
- snippet: P
225
+ snippet: K
226
226
  },
227
227
  /* ---- chat ---- */
228
228
  CHAT_MESSAGE_SENT: {
@@ -279,7 +279,7 @@ const m = {
279
279
  channelKind: "chat",
280
280
  icon: "message-circle",
281
281
  snippet: () => "Gesprek gestart",
282
- timeline: (e) => `${K(e.payload.callType)} started${e.payload.initiator ? ` by ${e.payload.initiator.name}` : ""}`,
282
+ timeline: (e) => `${P(e.payload.callType)} started${e.payload.initiator ? ` by ${e.payload.initiator.name}` : ""}`,
283
283
  joinUrl: (e) => e.payload.joinUrl
284
284
  },
285
285
  CHAT_CALL_ENDED: {
@@ -287,7 +287,7 @@ const m = {
287
287
  channelKind: "chat",
288
288
  icon: "message-circle",
289
289
  snippet: (e) => `Gesprek beëindigd${e.payload.duration ? ` (${A(e.payload.duration)})` : ""}`,
290
- timeline: (e) => `${K(e.payload.callType)} ended${R(e.payload.duration)}`,
290
+ timeline: (e) => `${P(e.payload.callType)} ended${D(e.payload.duration)}`,
291
291
  joinUrl: (e) => e.payload.joinUrl
292
292
  },
293
293
  CHAT_EVENT: {
@@ -413,7 +413,7 @@ const m = {
413
413
  timeline: (e, t) => `Assigned by ${t}`
414
414
  }
415
415
  };
416
- function P(e) {
416
+ function K(e) {
417
417
  const t = e.payload, n = t.bodySnippet?.trim() || Ne(t.body ?? "");
418
418
  return t.subject ? `${t.subject} — ${n}` : n;
419
419
  }
@@ -423,31 +423,31 @@ function d(e) {
423
423
  function vn(e) {
424
424
  return d(e)?.icon ?? "circle";
425
425
  }
426
- function xn(e) {
426
+ function On(e) {
427
427
  return d(e)?.channelKind;
428
428
  }
429
429
  function ce(e) {
430
430
  return e === "message" || e === "note";
431
431
  }
432
- function On(e) {
432
+ function xn(e) {
433
433
  return ce(d(e)?.shape);
434
434
  }
435
435
  function $n(e) {
436
436
  return d(e)?.replyable === !0;
437
437
  }
438
- function Ln(e) {
438
+ function Rn(e) {
439
439
  return d(e)?.carriesText === !0;
440
440
  }
441
- function Dn(e) {
441
+ function Ln(e) {
442
442
  return d(e)?.countsAs;
443
443
  }
444
- function Rn(e) {
444
+ function Dn(e) {
445
445
  return d(e)?.playbookAuthored === !0;
446
446
  }
447
- function Kn(e) {
447
+ function Pn(e) {
448
448
  return d(e)?.connected === !0;
449
449
  }
450
- function Pn(e) {
450
+ function Kn(e) {
451
451
  const t = d(e);
452
452
  return t?.shape === "artifact" && t?.carriesText === !0;
453
453
  }
@@ -463,7 +463,7 @@ function jn(e) {
463
463
  const t = d(e.type)?.joinUrl;
464
464
  return t ? t(e) : void 0;
465
465
  }
466
- function x(e, t) {
466
+ function O(e, t) {
467
467
  let n = e;
468
468
  for (const r of t.split(".")) {
469
469
  if (n == null || typeof n != "object") return "";
@@ -471,25 +471,25 @@ function x(e, t) {
471
471
  }
472
472
  return n == null ? "" : typeof n == "string" ? n : typeof n == "number" || typeof n == "boolean" ? String(n) : "";
473
473
  }
474
- function O(e, t, n) {
474
+ function x(e, t, n) {
475
475
  if (e === void 0) return null;
476
476
  if (typeof e == "string") return e || null;
477
477
  if ("value" in e)
478
- return x(t, e.value) || null;
478
+ return O(t, e.value) || null;
479
479
  const r = {};
480
480
  for (const [a, o] of Object.entries(e.params ?? {}))
481
- r[a] = x(t, o);
481
+ r[a] = O(t, o);
482
482
  const i = n(e.key, r);
483
483
  return i === e.key ? null : i;
484
484
  }
485
- function xe(e, t) {
485
+ function Oe(e, t) {
486
486
  if (!e || typeof e == "string" || "value" in e) return null;
487
487
  const n = {};
488
488
  for (const [r, i] of Object.entries(e.params ?? {}))
489
- n[r] = x(t, i);
489
+ n[r] = O(t, i);
490
490
  return { key: e.key, params: n };
491
491
  }
492
- const Oe = (e) => e;
492
+ const xe = (e) => e;
493
493
  function U(e) {
494
494
  const t = m[e];
495
495
  return {
@@ -522,7 +522,7 @@ function j(e) {
522
522
  };
523
523
  }
524
524
  class $e {
525
- constructor(t = [], n = Oe) {
525
+ constructor(t = [], n = xe) {
526
526
  this.translate = n;
527
527
  for (const r of t)
528
528
  r?.type && (r.type in m || this.declared.has(r.type) || this.declared.set(r.type, r));
@@ -547,14 +547,14 @@ class $e {
547
547
  const r = m[t.type];
548
548
  if (r?.timeline) return r.timeline(t, n);
549
549
  const i = this.declared.get(t.type);
550
- return O(i?.text, t, this.translate) ?? t.type.replace(/_/g, " ").toLowerCase();
550
+ return x(i?.text, t, this.translate) ?? t.type.replace(/_/g, " ").toLowerCase();
551
551
  }
552
552
  /** De regel voor de inboxlijst. Leeg wanneer het type niets te tonen heeft. */
553
553
  snippet(t) {
554
554
  const n = m[t.type];
555
555
  if (n?.snippet) return n.snippet(t);
556
556
  const r = this.declared.get(t.type);
557
- return O(r?.text, t, this.translate) ?? "";
557
+ return x(r?.text, t, this.translate) ?? "";
558
558
  }
559
559
  /** De descriptor zoals hij binnenkwam; nodig om `text` als sleutel op te slaan. */
560
560
  descriptor(t) {
@@ -608,16 +608,16 @@ class $e {
608
608
  }
609
609
  }
610
610
  const Gn = new $e(), G = 140;
611
- function Le(e) {
611
+ function Re(e) {
612
612
  const t = e.trim();
613
613
  return t.length <= G ? t : t.slice(0, G - 1).trimEnd() + "…";
614
614
  }
615
615
  function Bn(e, t) {
616
- const n = xe(t?.text, e), r = t ? O(t.text, e, (i) => i) : null;
616
+ const n = Oe(t?.text, e), r = t ? x(t.text, e, (i) => i) : null;
617
617
  return {
618
618
  activityId: e.id,
619
619
  type: e.type,
620
- snippet: Le(r ?? ve(e)),
620
+ snippet: Re(r ?? ve(e)),
621
621
  authorName: e.author?.name ?? "",
622
622
  direction: e.direction,
623
623
  createdAt: e.createdAt ?? Date.now(),
@@ -630,10 +630,10 @@ function Fn(e, t, n = []) {
630
630
  const i = new Set(n);
631
631
  return e.author.type === "user" && e.author.id && i.add(e.author.id), Object.entries(t).filter(([a, o]) => o >= r && !i.has(a)).map(([a]) => a);
632
632
  }
633
- function Hn(e) {
633
+ function Vn(e) {
634
634
  return e.createdAt ?? 0;
635
635
  }
636
- const Vn = [
636
+ const Hn = [
637
637
  { id: "agent", label: "Agent", labelSource: "user" },
638
638
  { id: "team", label: "Team", labelSource: "team" },
639
639
  { id: "inbox", label: "Inbox", labelSource: "inbox" },
@@ -653,19 +653,19 @@ function Wn(e) {
653
653
  function w(e) {
654
654
  return e < 10 ? `0${e}` : `${e}`;
655
655
  }
656
- function De(e, t) {
656
+ function Le(e, t) {
657
657
  const n = new Date(e), r = `${n.getUTCFullYear()}-${w(n.getUTCMonth() + 1)}-${w(n.getUTCDate())}`;
658
658
  return t === "day" ? r : `${r}T${w(n.getUTCHours())}`;
659
659
  }
660
- function Re(e, t) {
660
+ function De(e, t) {
661
661
  const n = new Date(e);
662
662
  return n.setUTCMinutes(0, 0, 0), t === "day" && n.setUTCHours(0), n.getTime();
663
663
  }
664
- const Ke = 36e5, Pe = 864e5;
664
+ const Pe = 36e5, Ke = 864e5;
665
665
  function zn(e, t, n) {
666
- const r = n === "hour" ? Ke : Pe, i = [];
667
- for (let a = Re(e, n); a <= t; a += r)
668
- i.push(De(a, n));
666
+ const r = n === "hour" ? Pe : Ke, i = [];
667
+ for (let a = De(e, n); a <= t; a += r)
668
+ i.push(Le(a, n));
669
669
  return i;
670
670
  }
671
671
  const Ue = [
@@ -690,7 +690,7 @@ function Xn(e, t) {
690
690
  ]
691
691
  }));
692
692
  }
693
- const ue = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), B = 200, F = 100, H = 200, V = 12, W = 4, de = 4e3, N = 500, Yn = 256 * 1024, Be = /* @__PURE__ */ new Set([
693
+ const ue = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), B = 200, F = 100, V = 200, H = 12, W = 4, de = 4e3, N = 500, Yn = 256 * 1024, Be = /* @__PURE__ */ new Set([
694
694
  "heading",
695
695
  "paragraph",
696
696
  "list",
@@ -700,14 +700,14 @@ const ue = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]
700
700
  "table",
701
701
  "kpi",
702
702
  "callout"
703
- ]), Fe = ["http:", "https:", "mailto:", "tel:"], He = /^[a-z][a-z0-9+.-]*:/i;
703
+ ]), Fe = ["http:", "https:", "mailto:", "tel:"], Ve = /^[a-z][a-z0-9+.-]*:/i;
704
704
  function pe(e) {
705
705
  const t = e.trim().replace(/^<|>$/g, "");
706
706
  if (!t) return !1;
707
- const n = He.exec(t)?.[0];
707
+ const n = Ve.exec(t)?.[0];
708
708
  return n ? Fe.includes(n.toLowerCase()) : !t.startsWith("//");
709
709
  }
710
- const Ve = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
710
+ const He = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
711
711
  function We(e) {
712
712
  let t = "", n = 0;
713
713
  for (; n < e.length; ) {
@@ -746,7 +746,7 @@ function z(e, t, n, r) {
746
746
  }
747
747
  function ze(e) {
748
748
  return We(e).replace(
749
- Ve,
749
+ He,
750
750
  (t, n, r) => pe(r) ? t : ""
751
751
  );
752
752
  }
@@ -840,12 +840,12 @@ function qn(e, t = () => {
840
840
  case "table": {
841
841
  const o = Array.isArray(i.columns) ? i.columns : [], s = [];
842
842
  for (const c of o) {
843
- if (s.length >= V) {
844
- t("more than " + V + " table columns");
843
+ if (s.length >= H) {
844
+ t("more than " + H + " table columns");
845
845
  break;
846
846
  }
847
- const y = u(c?.label, N), T = c?.align === "right" ? "right" : void 0;
848
- s.push(T ? { label: y, align: T } : { label: y });
847
+ const y = u(c?.label, N), _ = c?.align === "right" ? "right" : void 0;
848
+ s.push(_ ? { label: y, align: _ } : { label: y });
849
849
  }
850
850
  if (s.length === 0) {
851
851
  t("a table without columns");
@@ -853,13 +853,13 @@ function qn(e, t = () => {
853
853
  }
854
854
  const l = Array.isArray(i.rows) ? i.rows : [], p = [];
855
855
  for (const c of l) {
856
- if (p.length >= H) {
857
- t("more than " + H + " table rows");
856
+ if (p.length >= V) {
857
+ t("more than " + V + " table rows");
858
858
  break;
859
859
  }
860
860
  const y = Array.isArray(c) ? c : [];
861
861
  p.push(
862
- s.map((T, Ce) => u(y[Ce], N))
862
+ s.map((_, Ce) => u(y[Ce], N))
863
863
  );
864
864
  }
865
865
  const f = u(i.caption, N);
@@ -1185,11 +1185,11 @@ const Er = { kind: "workflow", steps: [] };
1185
1185
  function Sr(e) {
1186
1186
  return e?.kind === "workflow" ? e.steps : [];
1187
1187
  }
1188
- function Tr(e) {
1188
+ function _r(e) {
1189
1189
  return e?.kind === "procedure" ? e.procedure : void 0;
1190
1190
  }
1191
1191
  const ut = ["done", "escalated", "failed", "stopped"];
1192
- function _r(e) {
1192
+ function Tr(e) {
1193
1193
  return ut.includes(e);
1194
1194
  }
1195
1195
  function dt(e) {
@@ -1252,7 +1252,7 @@ function pt(e, t) {
1252
1252
  }
1253
1253
  return r;
1254
1254
  }
1255
- function xr(e, t, n) {
1255
+ function Or(e, t, n) {
1256
1256
  if (!e) return !0;
1257
1257
  if (e === t) return !1;
1258
1258
  const r = new Map(n.map((o) => [o.id, o]));
@@ -1280,7 +1280,7 @@ const mt = "en";
1280
1280
  function gt(e) {
1281
1281
  return e.defaultLocale || e.locale || mt;
1282
1282
  }
1283
- function Or(e) {
1283
+ function xr(e) {
1284
1284
  const t = /* @__PURE__ */ new Set(), n = [];
1285
1285
  for (const r of [gt(e), ...e.locales ?? []])
1286
1286
  !r || t.has(r) || (t.add(r), n.push(r));
@@ -1300,7 +1300,7 @@ function At(e) {
1300
1300
  const n = t.slice(0, v), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
1301
1301
  return r > v * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
1302
1302
  }
1303
- function Lr(e, t) {
1303
+ function Rr(e, t) {
1304
1304
  const n = At(t.text), r = g(n);
1305
1305
  if (!r || (e.examples ?? []).some((o) => g(o) === r)) return null;
1306
1306
  const i = e.exampleCandidates ?? [], a = i.findIndex((o) => g(o.text) === r);
@@ -1314,7 +1314,7 @@ function Lr(e, t) {
1314
1314
  function Q(e) {
1315
1315
  return [...e].sort((t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt);
1316
1316
  }
1317
- function Dr(e, t) {
1317
+ function Lr(e, t) {
1318
1318
  const n = g(t), r = (e.examples ?? []).filter((a) => a.trim());
1319
1319
  return { examples: r.some((a) => g(a) === n) ? r : [...r, t].slice(-ht), exampleCandidates: bt(e, t) };
1320
1320
  }
@@ -1326,7 +1326,7 @@ function Et(e, t) {
1326
1326
  const n = e.ownerScope;
1327
1327
  return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
1328
1328
  }
1329
- function Rr(e, t) {
1329
+ function Dr(e, t) {
1330
1330
  return e.filter((n) => Et(n, t));
1331
1331
  }
1332
1332
  const be = [
@@ -1423,10 +1423,10 @@ const be = [
1423
1423
  function S(e) {
1424
1424
  return be.find((t) => t.id === e);
1425
1425
  }
1426
- function Kr(e) {
1426
+ function Pr(e) {
1427
1427
  return S(e)?.label ?? e;
1428
1428
  }
1429
- function Pr(e, t = "gpt-5-mini") {
1429
+ function Kr(e, t = "gpt-5-mini") {
1430
1430
  return S(e)?.defaultModel ?? t;
1431
1431
  }
1432
1432
  function Ur(e) {
@@ -1455,61 +1455,67 @@ function Fr(e, t = "month") {
1455
1455
  const n = new Date(St(e, t));
1456
1456
  return `${n.getUTCFullYear()}-${String(n.getUTCMonth() + 1).padStart(2, "0")}`;
1457
1457
  }
1458
- function Hr(e) {
1458
+ function Vr(e) {
1459
1459
  return e?.listeningEnabled !== !1;
1460
1460
  }
1461
- const Vr = /* @__PURE__ */ new Set(["mail", "message"]);
1462
- function Tt(e, t) {
1461
+ function Hr(e) {
1462
+ return e.credentialScope ? e.credentialScope : (e.authMode ?? "header") === "header" || e.oauth?.scope === "org" ? "shared" : "per-user";
1463
+ }
1464
+ function Wr(e) {
1465
+ return `mcp__${e}__`;
1466
+ }
1467
+ const zr = /* @__PURE__ */ new Set(["mail", "message"]);
1468
+ function _t(e, t) {
1463
1469
  const n = e.settings?.signatures?.[t];
1464
1470
  return !n || !n.enabled || !n.body || n.body.trim() === "" ? null : n;
1465
1471
  }
1466
- function Wr(e, t, n, r = "html") {
1472
+ function Xr(e, t, n, r = "html") {
1467
1473
  if (!e) return n;
1468
- const i = Tt(e, t);
1474
+ const i = _t(e, t);
1469
1475
  return i ? `${n}${r === "text" ? `
1470
1476
 
1471
1477
  ` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${i.body}` : n;
1472
1478
  }
1473
- function zr(e) {
1479
+ function Yr(e) {
1474
1480
  return e.endpoints ?? [];
1475
1481
  }
1476
- const Xr = (e) => !!e.assignedUserId || !!e.assignedInboxId, Yr = (e) => e.status === "closed", qr = (e) => ({
1482
+ const qr = (e) => !!e.assignedUserId || !!e.assignedInboxId, Jr = (e) => e.status === "closed", Zr = (e) => ({
1477
1483
  urgent: 10,
1478
1484
  high: 5,
1479
1485
  normal: 2,
1480
1486
  low: 1
1481
- })[e.priority] || 0, Jr = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1482
- function Zr(e, t) {
1487
+ })[e.priority] || 0, Qr = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1488
+ function ei(e, t) {
1483
1489
  return e.lastActivityAt ? !(e.seenBy ?? []).includes(t) : !1;
1484
1490
  }
1485
- const Qr = 1e3, ei = 2e3, ti = 500, ni = 12e3, ri = 4e3, _t = ["contact", "company"];
1486
- function ii(e) {
1491
+ const ti = 1e3, ni = 2e3, ri = 500, ii = 12e3, ai = 4e3, Tt = ["contact", "company"];
1492
+ function oi(e) {
1487
1493
  if (!e) return !1;
1488
1494
  const t = e.slice(0, e.indexOf(":"));
1489
- return _t.includes(t);
1495
+ return Tt.includes(t);
1490
1496
  }
1491
- function ai(e, t) {
1497
+ function si(e, t) {
1492
1498
  const n = e.accumulatedSeconds || 0;
1493
1499
  return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
1494
1500
  }
1495
- function oi(e, t) {
1501
+ function li(e, t) {
1496
1502
  const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
1497
1503
  if (!t || t === "exact") return n * 60;
1498
1504
  const r = Number(t);
1499
1505
  return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
1500
1506
  }
1501
- function si(e) {
1507
+ function ci(e) {
1502
1508
  const t = Math.max(0, Math.round(e / 60));
1503
1509
  return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
1504
1510
  }
1505
- function li(e) {
1511
+ function ui(e) {
1506
1512
  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);
1507
1513
  return i > 0 ? `${i}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
1508
1514
  }
1509
1515
  function It(e) {
1510
1516
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
1511
1517
  }
1512
- function ci(e, t) {
1518
+ function di(e, t) {
1513
1519
  const n = It(e) || "werksoort", r = new Set(t);
1514
1520
  if (!r.has(n)) return n;
1515
1521
  for (let i = 2; i < 500; i++) {
@@ -1518,18 +1524,18 @@ function ci(e, t) {
1518
1524
  }
1519
1525
  return `${n}-${r.size + 1}`;
1520
1526
  }
1521
- function ui(e, t) {
1527
+ function pi(e, t) {
1522
1528
  const n = e.ownerScope;
1523
1529
  return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
1524
1530
  }
1525
- function di(e) {
1531
+ function fi(e) {
1526
1532
  return e.filter((t) => !t.archived).sort(Mt);
1527
1533
  }
1528
1534
  function Mt(e, t) {
1529
1535
  const n = (e.order ?? 0) - (t.order ?? 0);
1530
1536
  return n !== 0 ? n : (e.label || "").localeCompare(t.label || "");
1531
1537
  }
1532
- function pi(e) {
1538
+ function mi(e) {
1533
1539
  return e.type === "agent";
1534
1540
  }
1535
1541
  const kt = "work_item", Ct = "work_project";
@@ -1539,11 +1545,11 @@ function wt(e) {
1539
1545
  function Ee(e) {
1540
1546
  return `${Ct}:${e}`;
1541
1547
  }
1542
- function fi(e, t, n) {
1548
+ function gi(e, t, n) {
1543
1549
  const r = `${e}-${t}`;
1544
1550
  return n ? `${r}-${n}` : r;
1545
1551
  }
1546
- function mi(e) {
1552
+ function hi(e) {
1547
1553
  const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
1548
1554
  return t ? {
1549
1555
  projectKey: t[1].toUpperCase(),
@@ -1551,17 +1557,17 @@ function mi(e) {
1551
1557
  ...t[3] ? { subSequence: Number(t[3]) } : {}
1552
1558
  } : null;
1553
1559
  }
1554
- function gi(e) {
1560
+ function yi(e) {
1555
1561
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
1556
1562
  }
1557
- function hi(e, t = 25) {
1563
+ function Ai(e, t = 25) {
1558
1564
  const n = /* @__PURE__ */ new Set([wt(e.id)]);
1559
1565
  e.projectId && n.add(Ee(e.projectId));
1560
1566
  for (const r of e.ancestorKeys ?? []) n.add(r);
1561
1567
  for (const r of e.partyKeys ?? []) n.add(r);
1562
1568
  return Array.from(n).slice(0, t);
1563
1569
  }
1564
- function yi(e) {
1570
+ function bi(e) {
1565
1571
  return [Ee(e.id)];
1566
1572
  }
1567
1573
  const $ = [
@@ -1575,27 +1581,27 @@ function Nt(e) {
1575
1581
  function vt(e, t) {
1576
1582
  return t.find((n) => n.key === e)?.category ?? "todo";
1577
1583
  }
1578
- function Ai(e, t) {
1584
+ function Ei(e, t) {
1579
1585
  return t.find((n) => n.key === e);
1580
1586
  }
1581
- function bi(e) {
1587
+ function Si(e) {
1582
1588
  const t = Nt(e), n = e?.defaultStatusKey;
1583
- return n && t.some((r) => r.key === n) ? n : xt(t)[0]?.key ?? $[0].key;
1589
+ return n && t.some((r) => r.key === n) ? n : Ot(t)[0]?.key ?? $[0].key;
1584
1590
  }
1585
- function xt(e) {
1591
+ function Ot(e) {
1586
1592
  return [...e].sort((t, n) => {
1587
1593
  const r = (t.order ?? 0) - (n.order ?? 0);
1588
1594
  return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
1589
1595
  });
1590
1596
  }
1591
- function Ei(e, t) {
1597
+ function _i(e, t) {
1592
1598
  return vt(e, t) === "done";
1593
1599
  }
1594
- function Ot(e) {
1600
+ function xt(e) {
1595
1601
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
1596
1602
  }
1597
- function Si(e, t) {
1598
- const n = Ot(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Se]);
1603
+ function Ti(e, t) {
1604
+ const n = xt(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Se]);
1599
1605
  if (!r.has(n)) return n;
1600
1606
  for (let i = 2; i < 500; i++) {
1601
1607
  const a = `${n}-${i}`;
@@ -1603,7 +1609,7 @@ function Si(e, t) {
1603
1609
  }
1604
1610
  return `${n}-${r.size + 1}`;
1605
1611
  }
1606
- function Ti(e) {
1612
+ function Ii(e) {
1607
1613
  const t = [];
1608
1614
  if (!e.length) return [{ index: -1, reason: "empty" }];
1609
1615
  const n = /* @__PURE__ */ new Set();
@@ -1615,7 +1621,7 @@ function Ti(e) {
1615
1621
  Se.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);
1616
1622
  }), 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;
1617
1623
  }
1618
- const L = {
1624
+ const R = {
1619
1625
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
1620
1626
  // shorter than geographic numbers, and a too-strict minimum silently drops them.
1621
1627
  // An over-permissive key is harmless — it simply matches nothing.
@@ -1638,38 +1644,38 @@ const L = {
1638
1644
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
1639
1645
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
1640
1646
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
1641
- }, $t = "NL", Lt = 15, Dt = 8, Rt = Array.from(
1642
- new Set(Object.values(L).map((e) => e.callingCode))
1647
+ }, $t = "NL", Rt = 15, Lt = 8, Dt = Array.from(
1648
+ new Set(Object.values(R).map((e) => e.callingCode))
1643
1649
  ).sort((e, t) => t.length - e.length);
1644
1650
  function te(e) {
1645
1651
  if (e)
1646
- return L[e.trim().toUpperCase()];
1652
+ return R[e.trim().toUpperCase()];
1647
1653
  }
1648
1654
  function E(e, t) {
1649
1655
  return e.length >= t.nsnMin && e.length <= t.nsnMax;
1650
1656
  }
1651
1657
  function ne(e) {
1652
- if (e.length > Lt) return null;
1653
- for (const t of Rt) {
1658
+ if (e.length > Rt) return null;
1659
+ for (const t of Dt) {
1654
1660
  if (!e.startsWith(t)) continue;
1655
1661
  const n = e.slice(t.length);
1656
- for (const r of Object.values(L)) {
1662
+ for (const r of Object.values(R)) {
1657
1663
  if (r.callingCode !== t) continue;
1658
1664
  const i = r.trunkPrefix, a = i && n.startsWith(i) ? n.slice(i.length) : n;
1659
1665
  if (E(a, r)) return `+${t}${a}`;
1660
1666
  }
1661
1667
  return null;
1662
1668
  }
1663
- return e.length < Dt ? null : `+${e}`;
1669
+ return e.length < Lt ? null : `+${e}`;
1664
1670
  }
1665
- function Kt(e) {
1671
+ function Pt(e) {
1666
1672
  let t = e.trim();
1667
1673
  const n = t.match(/^(sips?|tel|whatsapp):/i);
1668
1674
  n && (t = t.slice(n[0].length));
1669
1675
  const r = t.indexOf("@");
1670
1676
  return r >= 0 && (t = t.slice(0, r)), t.trim();
1671
1677
  }
1672
- function _i(e) {
1678
+ function Mi(e) {
1673
1679
  if (!e) return !1;
1674
1680
  const t = e.indexOf("@");
1675
1681
  if (t <= 0) return !1;
@@ -1678,7 +1684,7 @@ function _i(e) {
1678
1684
  }
1679
1685
  function re(e, t) {
1680
1686
  if (!e) return null;
1681
- const n = Kt(e);
1687
+ const n = Pt(e);
1682
1688
  if (!n) return null;
1683
1689
  const r = n.startsWith("+"), i = n.replace(/\D/g, "");
1684
1690
  if (!i) return null;
@@ -1697,22 +1703,22 @@ function re(e, t) {
1697
1703
  }
1698
1704
  return !o && E(i, a) ? `+${a.callingCode}${i}` : null;
1699
1705
  }
1700
- function Ii(e, t = 9) {
1706
+ function ki(e, t = 9) {
1701
1707
  const n = (e ?? "").replace(/\D/g, "");
1702
1708
  return n.length < t ? null : n.slice(-t);
1703
1709
  }
1704
- function Te(e) {
1710
+ function _e(e) {
1705
1711
  if (!e) return null;
1706
1712
  const t = e.trim().toLowerCase(), n = t.lastIndexOf("@");
1707
1713
  if (n <= 0 || n === t.length - 1) return null;
1708
1714
  const r = t.slice(0, n).split("+")[0], i = t.slice(n + 1);
1709
1715
  return !r || !i.includes(".") ? null : `${r}@${i}`;
1710
1716
  }
1711
- function Mi(e) {
1712
- const t = Te(e);
1717
+ function Ci(e) {
1718
+ const t = _e(e);
1713
1719
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
1714
1720
  }
1715
- const Pt = /* @__PURE__ */ new Set([
1721
+ const Kt = /* @__PURE__ */ new Set([
1716
1722
  "co.uk",
1717
1723
  "org.uk",
1718
1724
  "gov.uk",
@@ -1727,7 +1733,7 @@ function Ut(e) {
1727
1733
  const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
1728
1734
  if (t.length < 2) return null;
1729
1735
  const n = t.slice(-2).join(".");
1730
- return Pt.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
1736
+ return Kt.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
1731
1737
  }
1732
1738
  const jt = /* @__PURE__ */ new Set([
1733
1739
  "gmail.com",
@@ -1774,16 +1780,16 @@ const jt = /* @__PURE__ */ new Set([
1774
1780
  "proximus.be",
1775
1781
  "scarlet.be"
1776
1782
  ]);
1777
- function ki(e) {
1783
+ function wi(e) {
1778
1784
  const t = Ut(e);
1779
1785
  return t ? jt.has(t) : !1;
1780
1786
  }
1781
- function Ci(e) {
1787
+ function Ni(e) {
1782
1788
  if (!e) return !1;
1783
1789
  const t = e.trim().toLowerCase();
1784
1790
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
1785
1791
  }
1786
- function wi(e, t, n) {
1792
+ function vi(e, t, n) {
1787
1793
  if (!e || !t) return null;
1788
1794
  const r = e.trim().toLowerCase();
1789
1795
  if (r === "tel" || r === "sms" || r === "whatsapp") {
@@ -1795,14 +1801,14 @@ function wi(e, t, n) {
1795
1801
  return a ? `fax:${a}` : null;
1796
1802
  }
1797
1803
  if (r === "mailto" || r === "email") {
1798
- const a = Te(t);
1804
+ const a = _e(t);
1799
1805
  return a ? `mailto:${a}` : null;
1800
1806
  }
1801
1807
  const i = t.trim().toLowerCase();
1802
1808
  return i ? `${r}:${i}` : null;
1803
1809
  }
1804
1810
  const Gt = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, Bt = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
1805
- function Ni(e) {
1811
+ function Oi(e) {
1806
1812
  if (typeof e != "string" || !e) return "";
1807
1813
  let t = e;
1808
1814
  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(`
@@ -1824,12 +1830,12 @@ const Ft = [
1824
1830
  // Outlook underscore separator before "From:"
1825
1831
  /\bOn\b[\s\S]{0,200}?\bwrote:/i
1826
1832
  // Gmail "On <date> <name> wrote:"
1827
- ], ie = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Ht = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
1828
- function Vt(e) {
1833
+ ], ie = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Vt = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
1834
+ function Ht(e) {
1829
1835
  const t = e.split(`
1830
1836
  `);
1831
1837
  for (let n = 0; n < t.length; n++)
1832
- if (Ht.test(t[n]) || ie.test(t[n]) && t.slice(n + 1, n + 4).some((r) => ie.test(r)))
1838
+ if (Vt.test(t[n]) || ie.test(t[n]) && t.slice(n + 1, n + 4).some((r) => ie.test(r)))
1833
1839
  return t.slice(0, n).join(`
1834
1840
  `).trim();
1835
1841
  return e;
@@ -1854,7 +1860,7 @@ function le(e) {
1854
1860
 
1855
1861
  `).trim();
1856
1862
  }
1857
- function vi(e) {
1863
+ function xi(e) {
1858
1864
  if (typeof e != "string" || !e) return "";
1859
1865
  let t = e.length;
1860
1866
  for (const a of Ft) {
@@ -1863,14 +1869,14 @@ function vi(e) {
1863
1869
  }
1864
1870
  const n = e.slice(0, t);
1865
1871
  let r = le(se(ae(n)));
1866
- return r || (r = le(se(ae(e)))), Vt(r) || r;
1872
+ return r || (r = le(se(ae(e)))), Ht(r) || r;
1867
1873
  }
1868
1874
  const Wt = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, zt = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
1869
- function xi(e, t) {
1875
+ function $i(e, t) {
1870
1876
  return !!(e && Wt.test(e) || t && zt.test(t));
1871
1877
  }
1872
1878
  const Xt = 3, Yt = 600;
1873
- function Oi(e, t) {
1879
+ function Ri(e, t) {
1874
1880
  return e >= Xt || t >= Yt;
1875
1881
  }
1876
1882
  const qt = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), Jt = /* @__PURE__ */ new Set([
@@ -1891,15 +1897,15 @@ const h = 1024 * 1024, Qt = {
1891
1897
  pdf: 20 * h,
1892
1898
  text: 1 * h,
1893
1899
  audio: 20 * h
1894
- }, $i = 25 * h, Li = 5;
1895
- function Di(e, t) {
1900
+ }, Li = 25 * h, Di = 5;
1901
+ function Pi(e, t) {
1896
1902
  const n = Zt(e);
1897
1903
  return n === "unsupported" ? "unsupported" : t > Qt[n] ? "too-large" : null;
1898
1904
  }
1899
1905
  function en(e) {
1900
1906
  return `${e.kind}:${e.id || e.url || e.title}`;
1901
1907
  }
1902
- function Ri(e, t = []) {
1908
+ function Ki(e, t = []) {
1903
1909
  const n = new Set(t), r = [], i = [];
1904
1910
  for (const a of e) {
1905
1911
  const o = en(a);
@@ -1924,7 +1930,7 @@ function nn(e, t) {
1924
1930
  }
1925
1931
  return n;
1926
1932
  }
1927
- function Ki(e, t) {
1933
+ function Ui(e, t) {
1928
1934
  const n = nn(e, t);
1929
1935
  return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
1930
1936
  }
@@ -1935,7 +1941,7 @@ function rn(e, t) {
1935
1941
  transport: t.transport ?? e.transport
1936
1942
  } : e;
1937
1943
  }
1938
- function Pi(e, t) {
1944
+ function ji(e, t) {
1939
1945
  const n = [];
1940
1946
  for (const r of e) {
1941
1947
  if (!r.enabled) continue;
@@ -1946,16 +1952,16 @@ function Pi(e, t) {
1946
1952
  }
1947
1953
  return n;
1948
1954
  }
1949
- function Ui(e, t) {
1955
+ function Gi(e, t) {
1950
1956
  return t.filter((n) => n.capability.intent === e);
1951
1957
  }
1952
1958
  function an(e, t) {
1953
1959
  return t.filter((n) => n.capability.targetSchemes.includes(e));
1954
1960
  }
1955
- function ji(e, t) {
1961
+ function Bi(e, t) {
1956
1962
  return an(e.scheme, t);
1957
1963
  }
1958
- function Gi(e, t, n) {
1964
+ function Fi(e, t, n) {
1959
1965
  const r = [];
1960
1966
  for (const i of e)
1961
1967
  for (const a of n)
@@ -1985,10 +1991,10 @@ const sn = {
1985
1991
  id: "note",
1986
1992
  custom: "note"
1987
1993
  };
1988
- function Bi(e) {
1994
+ function Vi(e) {
1989
1995
  return e ? sn[e] ?? "note" : "note";
1990
1996
  }
1991
- const Fi = "message_window", Hi = "message_templates", Vi = {
1997
+ const Hi = "message_window", Wi = "message_templates", zi = {
1992
1998
  // E-mail
1993
1999
  FROM: "from",
1994
2000
  TO: "to",
@@ -2005,17 +2011,22 @@ const Fi = "message_window", Hi = "message_templates", Vi = {
2005
2011
  // Voice/conference
2006
2012
  HOST: "host",
2007
2013
  PARTICIPANT: "participant"
2008
- }, Wi = (e, t) => ({ intent: e, ...t }), zi = "folder_management", Xi = "remote_search", Yi = { ok: !1, code: "UNSUPPORTED", message: "Provider does not support this op" }, _e = "auth";
2014
+ }, Xi = (e, t) => ({ intent: e, ...t }), Yi = "folder_management", qi = "remote_search", Ji = { ok: !1, code: "UNSUPPORTED", message: "Provider does not support this op" }, Zi = "resources.describe", Qi = "resources.search", ea = "resources.resolve";
2015
+ function ta(e) {
2016
+ const t = e.indexOf(":");
2017
+ return t === -1 ? e : e.slice(0, t);
2018
+ }
2019
+ const Te = "auth";
2009
2020
  function Ie(e) {
2010
2021
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
2011
2022
  return t ? t[1] : null;
2012
2023
  }
2013
- function qi(e) {
2024
+ function na(e) {
2014
2025
  const t = Ie(e);
2015
- return t ? t !== _e : typeof e == "string" && e.startsWith("/wake");
2026
+ return t ? t !== Te : typeof e == "string" && e.startsWith("/wake");
2016
2027
  }
2017
- function Ji(e) {
2018
- return typeof e != "string" || e === "" || e === "/" ? !0 : Ie(e) === _e;
2028
+ function ra(e) {
2029
+ return typeof e != "string" || e === "" || e === "/" ? !0 : Ie(e) === Te;
2019
2030
  }
2020
2031
  function ln(e) {
2021
2032
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
@@ -2036,7 +2047,7 @@ function un(e, t) {
2036
2047
  function dn(e) {
2037
2048
  return e.publicBasePath ?? `/apps/${e.name}`;
2038
2049
  }
2039
- function Zi(e) {
2050
+ function ia(e) {
2040
2051
  const t = [];
2041
2052
  for (const n of e) {
2042
2053
  if (!n?.name) continue;
@@ -2069,10 +2080,10 @@ function fn(e, t) {
2069
2080
  cn(r.pattern).test(e) && (!n || pn(r.pattern, n.pattern)) && (n = r);
2070
2081
  return n ? { ...n, params: { ...n.props, ...un(n.pattern, e) } } : null;
2071
2082
  }
2072
- function Qi(e, t) {
2083
+ function aa(e, t) {
2073
2084
  return fn(e, t) !== null;
2074
2085
  }
2075
- const mn = {
2086
+ const oa = "sync-source", sa = "sync-target", la = 20, mn = {
2076
2087
  afrikaans: [
2077
2088
  "[Muziek]",
2078
2089
  "(C) TV GELDERLAND 2021",
@@ -2342,13 +2353,13 @@ const mn = {
2342
2353
  "you",
2343
2354
  "your"
2344
2355
  ]);
2345
- function Tn(e) {
2356
+ function _n(e) {
2346
2357
  const t = /* @__PURE__ */ new Set();
2347
2358
  for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
2348
2359
  n.length < En || Sn.has(n) || t.add(n);
2349
2360
  return [...t];
2350
2361
  }
2351
- function _n(e, t) {
2362
+ function Tn(e, t) {
2352
2363
  if (!e.length) return 0;
2353
2364
  if (!t.length) return 1;
2354
2365
  const n = new Set(t), r = new Set(e);
@@ -2363,13 +2374,13 @@ function In(e, t = hn) {
2363
2374
  return { text: n.filter((o) => (o.endedAt ?? 0) >= i).map((o) => gn(o.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
2364
2375
  }
2365
2376
  const Mn = 60;
2366
- function ea(e, t, n = Mn) {
2377
+ function ca(e, t, n = Mn) {
2367
2378
  const r = new Set(e), i = [...e];
2368
2379
  for (const a of t)
2369
2380
  !a || r.has(a) || (r.add(a), i.push(a));
2370
2381
  return i.slice(-n);
2371
2382
  }
2372
- function ta(e) {
2383
+ function ua(e) {
2373
2384
  const { segments: t, now: n, state: r } = e;
2374
2385
  if (r.lastTriggerAt && n - r.lastTriggerAt < yn)
2375
2386
  return { trigger: !1, reason: "too_soon" };
@@ -2378,32 +2389,32 @@ function ta(e) {
2378
2389
  const a = i.segmentCount - (r.lastSegmentCount ?? 0);
2379
2390
  if (r.lastQueryTerms && a < An)
2380
2391
  return { trigger: !1, reason: "too_few_new" };
2381
- const o = Tn(i.text);
2382
- return o.length ? r.lastQueryTerms?.length && _n(o, r.lastQueryTerms) < bn ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: i.text, terms: o, segmentCount: i.segmentCount } : { trigger: !1, reason: "no_speech" };
2392
+ const o = _n(i.text);
2393
+ return o.length ? r.lastQueryTerms?.length && Tn(o, r.lastQueryTerms) < bn ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: i.text, terms: o, segmentCount: i.segmentCount } : { trigger: !1, reason: "no_speech" };
2383
2394
  }
2384
2395
  const Me = 9e4, kn = ["out_of_office"], ke = (e) => kn.includes(e);
2385
- function na(e, t, n) {
2396
+ function da(e, t, n) {
2386
2397
  const r = n - e < Me, i = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
2387
2398
  if (!i?.status) return { online: r, status: r ? "available" : "offline" };
2388
2399
  const a = i.status;
2389
2400
  return !r && !ke(a) ? { online: !1, status: "offline" } : { online: r, status: a, message: i.message };
2390
2401
  }
2391
- function ra(e, t) {
2402
+ function pa(e, t) {
2392
2403
  const n = t - e.lastSeenAt < Me, r = n || ke(e.status) ? e.status : "offline";
2393
2404
  return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
2394
2405
  }
2395
- function ia(e, t) {
2406
+ function fa(e, t) {
2396
2407
  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 };
2397
2408
  }
2398
- function aa(e) {
2409
+ function ma(e) {
2399
2410
  return e.providerAvailable && e.allowed;
2400
2411
  }
2401
- const oa = "installation-id";
2412
+ const ga = "installation-id";
2402
2413
  export {
2403
2414
  m as ACTIVITY_CATALOG,
2404
2415
  Qt as AI_ATTACHMENT_LIMITS,
2405
- Li as AI_ATTACHMENT_MAX_PER_TURN,
2406
- $i as AI_ATTACHMENT_TURN_BUDGET,
2416
+ Di as AI_ATTACHMENT_MAX_PER_TURN,
2417
+ Li as AI_ATTACHMENT_TURN_BUDGET,
2407
2418
  be as AI_VENDORS,
2408
2419
  Fe as ALLOWED_LINK_SCHEMES,
2409
2420
  B as ARTIFACT_MAX_BLOCKS,
@@ -2411,11 +2422,11 @@ export {
2411
2422
  N as ARTIFACT_MAX_CELL_LEN,
2412
2423
  W as ARTIFACT_MAX_KPI_ITEMS,
2413
2424
  F as ARTIFACT_MAX_LIST_ITEMS,
2414
- V as ARTIFACT_MAX_TABLE_COLUMNS,
2415
- H as ARTIFACT_MAX_TABLE_ROWS,
2425
+ H as ARTIFACT_MAX_TABLE_COLUMNS,
2426
+ V as ARTIFACT_MAX_TABLE_ROWS,
2416
2427
  de as ARTIFACT_MAX_TEXT_LEN,
2417
2428
  Ze as ASSIGNMENT_SCOPE_KIND,
2418
- _e as AUTH_APP_NAME,
2429
+ Te as AUTH_APP_NAME,
2419
2430
  $e as ActivityTypeRegistry,
2420
2431
  Gn as BUILT_IN_ONLY,
2421
2432
  yn as CADENCE_FLOOR_MS,
@@ -2423,82 +2434,88 @@ export {
2423
2434
  bn as CADENCE_MIN_NOVELTY,
2424
2435
  hn as CADENCE_WINDOW_MS,
2425
2436
  dr as CLASSIFY_VARS,
2426
- Vn as CORE_DIMENSIONS,
2437
+ Hn as CORE_DIMENSIONS,
2427
2438
  on as CommunicationScheme,
2428
- ri as DEFAULT_MEMORY_BUDGET,
2439
+ ai as DEFAULT_MEMORY_BUDGET,
2429
2440
  $t as DEFAULT_PHONE_REGION,
2430
2441
  Er as EMPTY_WORKFLOW,
2431
- zi as FEATURE_FOLDER_MANAGEMENT,
2432
- Xi as FEATURE_REMOTE_SEARCH,
2433
- oa as INSTALLATION_HEADER,
2442
+ Yi as FEATURE_FOLDER_MANAGEMENT,
2443
+ qi as FEATURE_REMOTE_SEARCH,
2444
+ ga as INSTALLATION_HEADER,
2434
2445
  ot as INTERACTION_KIND,
2435
- Vi as InteractionParticipantRole,
2446
+ zi as InteractionParticipantRole,
2436
2447
  mt as KB_FALLBACK_LOCALE,
2437
2448
  Z as KB_LOCALES,
2438
2449
  $ as LOOSE_STATUSES,
2439
2450
  M as MAX_ACTIONS,
2440
2451
  Qe as MAX_ASSIGNMENT_TURNS,
2441
- D as MAX_BLOCKS,
2452
+ L as MAX_BLOCKS,
2442
2453
  ye as MAX_COLLECTION_DEPTH,
2443
- _ as MAX_FIELDS,
2454
+ T as MAX_FIELDS,
2444
2455
  I as MAX_LIST_ITEMS,
2445
- Qr as MAX_MEMORY_BROWSE,
2446
- ni as MAX_MEMORY_BUDGET,
2447
- ei as MAX_MEMORY_CHARS,
2456
+ ti as MAX_MEMORY_BROWSE,
2457
+ ii as MAX_MEMORY_BUDGET,
2458
+ ni as MAX_MEMORY_CHARS,
2448
2459
  Mn as MAX_SHOWN_KEYS,
2449
2460
  yt as MAX_TOPIC_CANDIDATES,
2450
2461
  ht as MAX_TOPIC_EXAMPLES,
2451
2462
  v as MAX_TOPIC_EXAMPLE_CHARS,
2452
- ti as MIN_MEMORY_BUDGET,
2453
- L as PHONE_REGIONS,
2463
+ ri as MIN_MEMORY_BUDGET,
2464
+ R as PHONE_REGIONS,
2454
2465
  Me as PRESENCE_ONLINE_WINDOW_MS,
2455
2466
  kn as PRESENCE_SURVIVES_OFFLINE,
2456
- Hi as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
2457
- Fi as PROVIDER_FEATURE_MESSAGE_WINDOW,
2467
+ Wi as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
2468
+ Hi as PROVIDER_FEATURE_MESSAGE_WINDOW,
2458
2469
  jt as PUBLIC_EMAIL_DOMAINS,
2459
2470
  q as READ_STEP_TYPES,
2460
- _t as RELATED_SUBJECT_KINDS,
2471
+ Tt as RELATED_SUBJECT_KINDS,
2461
2472
  Se as RESERVED_STATUS_KEYS,
2462
- Vr as SIGNATURE_INTENTS,
2473
+ Zi as RESOURCE_DESCRIBE_SERVICE,
2474
+ ea as RESOURCE_RESOLVE_SERVICE,
2475
+ Qi as RESOURCE_SEARCH_SERVICE,
2476
+ zr as SIGNATURE_INTENTS,
2463
2477
  ct as STEP_MAX_TOKENS_MAX,
2464
2478
  lt as STEP_MAX_TOKENS_MIN,
2465
2479
  Yt as SUMMARY_MIN_LAST_CHARS,
2466
2480
  Xt as SUMMARY_MIN_MESSAGES,
2481
+ la as SYNC_RUN_MAX_ERRORS,
2482
+ oa as SYNC_SOURCE_PROVIDER_GROUP,
2483
+ sa as SYNC_TARGET_PROVIDER_GROUP,
2467
2484
  Je as TERMINAL_ASSIGNMENT_STATUSES,
2468
2485
  ut as TERMINAL_RUN_STATUSES,
2469
2486
  ur as TRIGGER_VARS,
2470
- Yi as UNSUPPORTED,
2487
+ Ji as UNSUPPORTED,
2471
2488
  Ue as USAGE_DIMENSIONS,
2472
2489
  je as USAGE_DIMENSION_IDS,
2473
2490
  kt as WORK_ITEM_SCOPE_KIND,
2474
2491
  Ct as WORK_PROJECT_SCOPE_KIND,
2475
- Dr as acceptExampleCandidate,
2492
+ Lr as acceptExampleCandidate,
2476
2493
  nt as actingIdentityKey,
2477
- di as activeWorkTypes,
2494
+ fi as activeWorkTypes,
2478
2495
  vn as activityIconOf,
2479
2496
  jn as activityJoinUrl,
2480
2497
  ve as activitySnippet,
2481
- xe as activityTextParams,
2498
+ Oe as activityTextParams,
2482
2499
  Un as activityTimelineText,
2483
- Hn as activityTimestamp,
2500
+ Vn as activityTimestamp,
2484
2501
  d as activityTypeInfo,
2485
2502
  mr as actorKey,
2486
- Lr as addExampleCandidate,
2487
- ra as agePresenceEntry,
2503
+ Rr as addExampleCandidate,
2504
+ pa as agePresenceEntry,
2488
2505
  Zt as aiAttachmentKind,
2489
- Di as aiAttachmentRejection,
2506
+ Pi as aiAttachmentRejection,
2490
2507
  ee as aiBudgetLimit,
2491
2508
  Fr as aiBudgetPeriodKey,
2492
2509
  St as aiBudgetPeriodStart,
2493
2510
  Br as aiBudgetState,
2494
2511
  Gr as aiVendorAcceptsAttachment,
2495
- Pr as aiVendorDefaultModel,
2496
- Kr as aiVendorLabel,
2512
+ Kr as aiVendorDefaultModel,
2513
+ Pr as aiVendorLabel,
2497
2514
  jr as aiVendorNeedsBaseUrl,
2498
2515
  Ur as aiVendorsWith,
2499
2516
  Ie as appNameFromPath,
2500
- oi as applyRounding,
2501
- Wr as applySignature,
2517
+ li as applyRounding,
2518
+ Xr as applySignature,
2502
2519
  Jn as artifactBodyBytes,
2503
2520
  Zn as artifactOutline,
2504
2521
  Qn as artifactToMarkdown,
@@ -2506,118 +2523,121 @@ export {
2506
2523
  ir as assignmentScopeKey,
2507
2524
  or as assignmentSubject,
2508
2525
  Bn as buildActivityPreview,
2509
- Pi as buildChannelIntents,
2526
+ ji as buildChannelIntents,
2510
2527
  er as buildShareKeys,
2511
2528
  In as buildWindow,
2512
- xr as canNestUnder,
2513
- Ln as carriesText,
2529
+ Or as canNestUnder,
2530
+ Rn as carriesText,
2514
2531
  $r as categoryLabel,
2515
2532
  vt as categoryOf,
2516
- Bi as channelKindForScheme,
2517
- xn as channelKindOf,
2533
+ Vi as channelKindForScheme,
2534
+ On as channelKindOf,
2518
2535
  br as clampStepMaxTokens,
2519
- vi as cleanMessageText,
2536
+ xi as cleanMessageText,
2520
2537
  Mt as compareWorkTypes,
2521
2538
  sr as decideAssignmentState,
2522
- ta as decideCadence,
2539
+ ua as decideCadence,
2523
2540
  gt as defaultLocaleOf,
2524
- bi as defaultStatusKey,
2525
- Wi as defineIntent,
2541
+ Si as defaultStatusKey,
2542
+ Xi as defineIntent,
2526
2543
  pt as depthOf,
2527
- na as derivePresence,
2528
- Ki as disabledIntentsFromCapabilities,
2529
- ai as elapsedSeconds,
2530
- Mi as emailDomain,
2531
- wi as endpointKey,
2544
+ da as derivePresence,
2545
+ Ui as disabledIntentsFromCapabilities,
2546
+ si as elapsedSeconds,
2547
+ Ci as emailDomain,
2548
+ vi as endpointKey,
2532
2549
  un as extractParams,
2533
- Tn as extractTerms,
2534
- ji as filterByEndpoint,
2535
- Ui as filterByIntent,
2550
+ _n as extractTerms,
2551
+ Bi as filterByEndpoint,
2552
+ Gi as filterByIntent,
2536
2553
  an as filterByTargetScheme,
2537
2554
  S as findAiVendor,
2538
2555
  Wn as flattenLocales,
2539
- Re as floorToPeriod,
2556
+ De as floorToPeriod,
2540
2557
  tt as formatActingIdentity,
2541
- li as formatClock,
2542
- si as formatHm,
2543
- fi as formatItemKey,
2544
- De as formatPeriod,
2545
- Ri as freshSources,
2558
+ ui as formatClock,
2559
+ ci as formatHm,
2560
+ gi as formatItemKey,
2561
+ Le as formatPeriod,
2562
+ Ki as freshSources,
2546
2563
  Fn as getActivitySeenUserIds,
2547
- zr as getContactEndpoints,
2548
- Jr as getShortTitle,
2549
- qr as getUrgencyScore,
2564
+ Yr as getContactEndpoints,
2565
+ Qr as getShortTitle,
2566
+ Zr as getUrgencyScore,
2550
2567
  Ae as heightOf,
2551
2568
  wr as helpCenterText,
2552
2569
  cr as humanizeAction,
2553
2570
  st as interactionIdOf,
2554
- pi as isAgentUser,
2555
- Xr as isAssigned,
2571
+ mi as isAgentUser,
2572
+ qr as isAssigned,
2556
2573
  rr as isAssignmentTerminal,
2557
2574
  it as isAssignmentTrigger,
2558
2575
  wn as isChatMessageActivity,
2559
- Yr as isClosed,
2560
- Kn as isConnectedType,
2561
- qi as isDeepLink,
2576
+ Jr as isClosed,
2577
+ Pn as isConnectedType,
2578
+ na as isDeepLink,
2562
2579
  ft as isDescendant,
2563
2580
  Cn as isEmailActivity,
2564
2581
  Ir as isInFlight,
2565
- Zr as isInteractionUnseen,
2566
- Ji as isLandingPath,
2567
- xi as isLikelyBulk,
2582
+ ei as isInteractionUnseen,
2583
+ ra as isLandingPath,
2584
+ $i as isLikelyBulk,
2568
2585
  ce as isMessageShape,
2569
- On as isMessageType,
2586
+ xn as isMessageType,
2570
2587
  pn as isMoreSpecificPattern,
2571
2588
  dt as isPaused,
2572
- Rn as isPlaybookAuthoredType,
2573
- ki as isPublicEmailDomain,
2574
- Qi as isPublicPath,
2589
+ Dn as isPlaybookAuthoredType,
2590
+ wi as isPublicEmailDomain,
2591
+ aa as isPublicPath,
2575
2592
  $n as isReplyableType,
2576
- _r as isTerminal,
2577
- Oi as isThreadLongEnough,
2578
- Pn as isTranscriptType,
2579
- Ei as isWorkClosed,
2580
- ui as isWorkTypeVisible,
2581
- hi as itemDossierKeys,
2593
+ Tr as isTerminal,
2594
+ Ri as isThreadLongEnough,
2595
+ Kn as isTranscriptType,
2596
+ _i as isWorkClosed,
2597
+ pi as isWorkTypeVisible,
2598
+ Ai as itemDossierKeys,
2582
2599
  Nt as ladderFor,
2583
2600
  Cr as linkLabel,
2584
- Hr as listeningAllowed,
2601
+ Vr as listeningAllowed,
2585
2602
  vr as localeInstruction,
2586
2603
  Nr as localeName,
2587
- Or as localesOf,
2588
- _i as looksLikeEmail,
2589
- Gi as matchContactToIntents,
2604
+ xr as localesOf,
2605
+ Mi as looksLikeEmail,
2606
+ Fi as matchContactToIntents,
2590
2607
  fn as matchPublicRoute,
2591
- ea as mergeShownKeys,
2592
- Dn as messageCountsAs,
2593
- Ci as needsPhoneRegion,
2608
+ Hr as mcpCredentialScope,
2609
+ Wr as mcpToolPrefix,
2610
+ ca as mergeShownKeys,
2611
+ Ln as messageCountsAs,
2612
+ Ni as needsPhoneRegion,
2594
2613
  qn as normalizeArtifactBlocks,
2595
2614
  Nn as normalizeBlocks,
2596
- Te as normalizeEmail,
2615
+ _e as normalizeEmail,
2597
2616
  g as normalizeExample,
2598
- _n as novelty,
2617
+ Tn as novelty,
2599
2618
  pr as parseActingIdentity,
2600
- mi as parseItemKey,
2619
+ hi as parseItemKey,
2601
2620
  cn as pathToRegex,
2602
2621
  zn as periodsInRange,
2603
- Ii as phoneSuffix,
2604
- Ni as plainTextFromMarkdown,
2622
+ ki as phoneSuffix,
2623
+ Oi as plainTextFromMarkdown,
2605
2624
  rt as playbookActor,
2606
- Tr as procedureOf,
2607
- yi as projectDossierKeys,
2625
+ _r as procedureOf,
2626
+ bi as projectDossierKeys,
2608
2627
  dn as publicBasePathFor,
2609
- Zi as publicRoutePatterns,
2610
- x as readPath,
2628
+ ia as publicRoutePatterns,
2629
+ O as readPath,
2611
2630
  J as readStepError,
2612
2631
  at as refKey,
2613
2632
  Ut as registrableDomain,
2614
2633
  bt as rejectExampleCandidate,
2615
- ii as relatedByDefault,
2634
+ oi as relatedByDefault,
2616
2635
  nn as resolveAccountCapabilities,
2617
- O as resolveActivityText,
2636
+ x as resolveActivityText,
2618
2637
  tn as resolveChannelIntents,
2619
- Tt as resolveSignature,
2620
- ia as resolveWorkMode,
2638
+ _t as resolveSignature,
2639
+ fa as resolveWorkMode,
2640
+ ta as resourceKindOf,
2621
2641
  fr as runActor,
2622
2642
  kr as runInteractionId,
2623
2643
  ze as sanitizeInline,
@@ -2626,31 +2646,31 @@ export {
2626
2646
  me as shareKeyForTeam,
2627
2647
  fe as shareKeyForUser,
2628
2648
  tr as shareKeysForViewer,
2629
- aa as shouldRunAudioPipeline,
2630
- xt as sortStatuses,
2649
+ ma as shouldRunAudioPipeline,
2650
+ Ot as sortStatuses,
2631
2651
  en as sourceKey,
2632
- Ai as statusIn,
2652
+ Ei as statusIn,
2633
2653
  Sr as stepsOf,
2634
2654
  Ne as stripHtml,
2635
2655
  Mr as subjectKeyOf,
2636
2656
  ge as subjectOf,
2637
- gi as suggestProjectKey,
2657
+ yi as suggestProjectKey,
2638
2658
  yr as targetById,
2639
2659
  hr as targetForActivityType,
2640
2660
  re as toE164,
2641
2661
  nr as toolSourceKinds,
2642
2662
  Et as topicOfferedForTeam,
2643
- Rr as topicsForTeam,
2663
+ Dr as topicsForTeam,
2644
2664
  At as truncateExample,
2645
- Si as uniqueWorkStatusKey,
2646
- ci as uniqueWorkTypeKey,
2665
+ Ti as uniqueWorkStatusKey,
2666
+ di as uniqueWorkTypeKey,
2647
2667
  Ge as usageMetricId,
2648
2668
  Xn as usageMetrics,
2649
- Ti as validateStatuses,
2669
+ Ii as validateStatuses,
2650
2670
  gr as valueAtPath,
2651
2671
  ar as wakesAssignment,
2652
2672
  wt as workItemScopeKey,
2653
2673
  Ee as workProjectScopeKey,
2654
- Ot as workStatusKey,
2674
+ xt as workStatusKey,
2655
2675
  It as workTypeKey
2656
2676
  };