@opencxh/domain 1.247.0 → 1.248.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- const ii = 10, ai = 10, ci = 10, li = 5, on = /* @__PURE__ */ new Set([
1
+ const ai = 10, ci = 10, li = 10, ui = 5, on = /* @__PURE__ */ new Set([
2
2
  "header",
3
3
  "section",
4
4
  "context",
@@ -14,7 +14,7 @@ function oe(e) {
14
14
  const t = e;
15
15
  return typeof t.key == "string" || typeof t.value == "string";
16
16
  }
17
- function ui(e, t = () => {
17
+ function di(e, t = () => {
18
18
  }) {
19
19
  if (!Array.isArray(e)) return [];
20
20
  const n = [];
@@ -464,56 +464,56 @@ function Ke(e) {
464
464
  const t = e.payload, n = cn(t.bodyText).trim() || t.bodySnippet?.trim() || ln(t.body ?? "");
465
465
  return t.subject ? `${t.subject} — ${n}` : n;
466
466
  }
467
- function w(e) {
467
+ function k(e) {
468
468
  return R[e];
469
469
  }
470
- function di(e) {
471
- return w(e)?.icon ?? "circle";
472
- }
473
470
  function pi(e) {
474
- return w(e)?.channelKind;
471
+ return k(e)?.icon ?? "circle";
472
+ }
473
+ function fi(e) {
474
+ return k(e)?.channelKind;
475
475
  }
476
476
  function Et(e) {
477
477
  return e === "message" || e === "note";
478
478
  }
479
- function fi(e) {
480
- return Et(w(e)?.shape);
479
+ function mi(e) {
480
+ return Et(k(e)?.shape);
481
481
  }
482
482
  function It(e) {
483
483
  return e === "note";
484
484
  }
485
- function mi(e) {
486
- return It(w(e)?.shape);
487
- }
488
485
  function hi(e) {
489
- return w(e)?.replyable === !0;
486
+ return It(k(e)?.shape);
490
487
  }
491
488
  function gi(e) {
492
- return w(e)?.carriesText === !0;
493
- }
494
- function un(e) {
495
- return w(e)?.countsAs;
489
+ return k(e)?.replyable === !0;
496
490
  }
497
491
  function yi(e) {
498
- return w(e)?.playbookAuthored === !0;
492
+ return k(e)?.carriesText === !0;
493
+ }
494
+ function un(e) {
495
+ return k(e)?.countsAs;
499
496
  }
500
497
  function bi(e) {
501
- return w(e)?.connected === !0;
498
+ return k(e)?.playbookAuthored === !0;
502
499
  }
503
500
  function _i(e) {
504
- const t = w(e);
501
+ return k(e)?.connected === !0;
502
+ }
503
+ function Ai(e) {
504
+ const t = k(e);
505
505
  return t?.shape === "artifact" && t?.carriesText === !0;
506
506
  }
507
507
  function dn(e) {
508
- const t = w(e.type)?.snippet;
508
+ const t = k(e.type)?.snippet;
509
509
  return t ? t(e) : "";
510
510
  }
511
- function Ai(e, t) {
512
- const n = w(e.type)?.timeline;
511
+ function Si(e, t) {
512
+ const n = k(e.type)?.timeline;
513
513
  return n ? n(e, t) : e.type.replace(/_/g, " ").toLowerCase();
514
514
  }
515
- function Si(e) {
516
- const t = w(e.type)?.joinUrl;
515
+ function Ei(e) {
516
+ const t = k(e.type)?.joinUrl;
517
517
  return t ? t(e) : void 0;
518
518
  }
519
519
  function fe(e, t) {
@@ -547,7 +547,7 @@ function fn(e) {
547
547
  const t = e.trim();
548
548
  return t.length <= Ue ? t : `${t.slice(0, Ue - 1).trimEnd()}…`;
549
549
  }
550
- function Ei(e, t) {
550
+ function Ii(e, t) {
551
551
  const n = pn(t?.text, e), r = t ? me(t.text, e, (o) => o) : null;
552
552
  return {
553
553
  activityId: e.id,
@@ -681,8 +681,8 @@ class hn {
681
681
  return this.translate;
682
682
  }
683
683
  }
684
- const Ii = new hn();
685
- function Ti(e, t, n = []) {
684
+ const Ti = new hn();
685
+ function ki(e, t, n = []) {
686
686
  const r = e.createdAt;
687
687
  if (!r) return [];
688
688
  const o = new Set(n);
@@ -694,7 +694,7 @@ function gn(e) {
694
694
  function wi(e) {
695
695
  return e.type === "EMAIL_RECEIVED" || e.type === "EMAIL_SENT";
696
696
  }
697
- function ki(e) {
697
+ function vi(e) {
698
698
  return e.type === "CHAT_MESSAGE_SENT" || e.type === "CHAT_MESSAGE_RECEIVED";
699
699
  }
700
700
  const Tt = [
@@ -790,23 +790,23 @@ const Tt = [
790
790
  function te(e) {
791
791
  return Tt.find((t) => t.id === e);
792
792
  }
793
- function vi(e) {
793
+ function Mi(e) {
794
794
  return te(e)?.label ?? e;
795
795
  }
796
- function Mi(e, t = "gpt-5-mini") {
796
+ function Ci(e, t = "gpt-5-mini") {
797
797
  return te(e)?.defaultModel ?? t;
798
798
  }
799
- function Ci(e) {
799
+ function Oi(e) {
800
800
  return Tt.filter((t) => t.capabilities.includes(e));
801
801
  }
802
- function Oi(e) {
802
+ function xi(e) {
803
803
  const t = te(e);
804
804
  return !!t && !t.baseUrl;
805
805
  }
806
- function xi(e, t) {
806
+ function Ni(e, t) {
807
807
  return t === "text" ? !0 : te(e)?.attachmentKinds?.includes(t) === !0;
808
808
  }
809
- function Ni(e, t) {
809
+ function Ri(e, t) {
810
810
  if (!e.enabled) return "ok";
811
811
  const n = je(e.hardLimitNanos), r = je(e.softLimitNanos);
812
812
  return n !== void 0 && t >= n ? "hard" : r !== void 0 && t >= r ? "soft" : "ok";
@@ -818,14 +818,14 @@ function yn(e, t = "month") {
818
818
  const n = new Date(e);
819
819
  return Date.UTC(n.getUTCFullYear(), n.getUTCMonth(), 1);
820
820
  }
821
- function Ri(e, t = "month") {
821
+ function $i(e, t = "month") {
822
822
  const n = new Date(yn(e, t));
823
823
  return `${n.getUTCFullYear()}-${String(n.getUTCMonth() + 1).padStart(2, "0")}`;
824
824
  }
825
825
  function Di(e) {
826
826
  return e?.listeningEnabled !== !1;
827
827
  }
828
- const $i = [
828
+ const Li = [
829
829
  { id: "agent", label: "Agent", labelSource: "user" },
830
830
  { id: "team", label: "Team", labelSource: "team" },
831
831
  { id: "inbox", label: "Inbox", labelSource: "inbox" },
@@ -847,14 +847,14 @@ function H(e, t) {
847
847
  return n.setUTCMinutes(0, 0, 0), t === "day" && n.setUTCHours(0), n.getTime();
848
848
  }
849
849
  const bn = 36e5, _n = 864e5;
850
- function Li(e, t, n) {
850
+ function Pi(e, t, n) {
851
851
  const r = n === "hour" ? bn : _n, o = [];
852
852
  for (let s = H(e, n); s <= t; s += r)
853
853
  o.push(j(s, n));
854
854
  return o;
855
855
  }
856
856
  const An = /* @__PURE__ */ new Set(["time"]);
857
- function Pi(e, t, n) {
857
+ function Ki(e, t, n) {
858
858
  if (!e) return [];
859
859
  const r = new Set(e.supportedDimensions ?? []);
860
860
  return t.filter((o) => r.has(o.id) && !An.has(o.id)).map((o) => ({
@@ -863,11 +863,11 @@ function Pi(e, t, n) {
863
863
  options: o.options?.length ? o.options : n[o.id] ?? []
864
864
  })).filter((o) => o.options.length > 0);
865
865
  }
866
- function Ki(e, t) {
866
+ function Ui(e, t) {
867
867
  const n = t.find((o) => o.id === e.dimensionId), r = n?.options.find((o) => o.value === e.value);
868
868
  return `${n?.label ?? e.dimensionId} · ${r?.label ?? e.value}`;
869
869
  }
870
- function Ui(e) {
870
+ function Fi(e) {
871
871
  return { value: e.id, label: `${e.category} · ${e.label}` };
872
872
  }
873
873
  const Sn = [
@@ -877,7 +877,7 @@ const Sn = [
877
877
  function In(e, t) {
878
878
  return `${e}.usage.${t}`;
879
879
  }
880
- function Fi(e, t) {
880
+ function Bi(e, t) {
881
881
  return t.map((n) => ({
882
882
  id: In(e, n.unit),
883
883
  label: n.label,
@@ -892,7 +892,7 @@ function Fi(e, t) {
892
892
  ]
893
893
  }));
894
894
  }
895
- const wt = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), He = 200, Ge = 100, We = 200, Ve = 12, ze = 4, Xe = 10, Tn = 8, Ye = 12, kt = 4e3, q = 500, Bi = 1024 * 1024, wn = /* @__PURE__ */ new Set([
895
+ const kt = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), He = 200, Ge = 100, We = 200, Ve = 12, ze = 4, Xe = 10, Tn = 8, Ye = 12, wt = 4e3, q = 500, ji = 1024 * 1024, kn = /* @__PURE__ */ new Set([
896
896
  "heading",
897
897
  "paragraph",
898
898
  "list",
@@ -906,12 +906,12 @@ const wt = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]
906
906
  "letterhead",
907
907
  "totals",
908
908
  "pagebreak"
909
- ]), kn = ["http:", "https:", "mailto:", "tel:"], vn = /^[a-z][a-z0-9+.-]*:/i;
909
+ ]), wn = ["http:", "https:", "mailto:", "tel:"], vn = /^[a-z][a-z0-9+.-]*:/i;
910
910
  function ve(e) {
911
911
  const t = e.trim().replace(/^<|>$/g, "");
912
912
  if (!t) return !1;
913
913
  const n = vn.exec(t)?.[0];
914
- return n ? kn.includes(n.toLowerCase()) : !t.startsWith("//");
914
+ return n ? wn.includes(n.toLowerCase()) : !t.startsWith("//");
915
915
  }
916
916
  const Mn = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
917
917
  function Cn(e) {
@@ -956,19 +956,19 @@ function On(e) {
956
956
  (t, n, r) => ve(r) ? t : ""
957
957
  );
958
958
  }
959
- function T(e, t = kt) {
959
+ function T(e, t = wt) {
960
960
  return typeof e == "string" ? On(e).slice(0, t) : "";
961
961
  }
962
- function xn(e, t = kt) {
962
+ function xn(e, t = wt) {
963
963
  return typeof e == "string" ? e.slice(0, t) : "";
964
964
  }
965
965
  function U(e, t = 200) {
966
966
  return T(e, t);
967
967
  }
968
968
  function Nn(e, t = "info") {
969
- return typeof e == "string" && wt.has(e) ? e : t;
969
+ return typeof e == "string" && kt.has(e) ? e : t;
970
970
  }
971
- function ji(e, t = () => {
971
+ function Hi(e, t = () => {
972
972
  }) {
973
973
  if (!Array.isArray(e)) return [];
974
974
  const n = [];
@@ -979,7 +979,7 @@ function ji(e, t = () => {
979
979
  }
980
980
  if (!r || typeof r != "object") continue;
981
981
  const o = r;
982
- if (!wn.has(o.type)) {
982
+ if (!kn.has(o.type)) {
983
983
  t(`unknown block type ${String(o.type)}`);
984
984
  continue;
985
985
  }
@@ -1090,7 +1090,7 @@ function ji(e, t = () => {
1090
1090
  if (!l || !d) continue;
1091
1091
  const c = u?.tone;
1092
1092
  a.push(
1093
- typeof c == "string" && wt.has(c) ? { value: l, label: d, tone: c } : { value: l, label: d }
1093
+ typeof c == "string" && kt.has(c) ? { value: l, label: d, tone: c } : { value: l, label: d }
1094
1094
  );
1095
1095
  }
1096
1096
  if (a.length === 0) {
@@ -1187,10 +1187,10 @@ function ji(e, t = () => {
1187
1187
  }
1188
1188
  return n;
1189
1189
  }
1190
- function Hi(e) {
1190
+ function Gi(e) {
1191
1191
  return JSON.stringify(e).length;
1192
1192
  }
1193
- function Gi(e) {
1193
+ function Wi(e) {
1194
1194
  return {
1195
1195
  blocks: e.length,
1196
1196
  types: e.map((t) => t.type),
@@ -1264,7 +1264,7 @@ function Rn(e) {
1264
1264
  return ["---"];
1265
1265
  }
1266
1266
  }
1267
- function Dn(e, t) {
1267
+ function $n(e, t) {
1268
1268
  const n = [], r = e.some((o) => o.type === "heading" && o.level === 1);
1269
1269
  t && !r && n.push(`# ${t}`);
1270
1270
  for (const o of e) {
@@ -1278,44 +1278,44 @@ function Dn(e, t) {
1278
1278
  `;
1279
1279
  }
1280
1280
  const vt = (e) => `user:${e}`, Mt = (e) => `team:${e}`;
1281
- function Wi(e) {
1281
+ function Vi(e) {
1282
1282
  const t = /* @__PURE__ */ new Set();
1283
1283
  for (const n of e ?? [])
1284
1284
  n?.id && (n.kind === "user" && t.add(vt(n.id)), n.kind === "team" && t.add(Mt(n.id)));
1285
1285
  return [...t].sort();
1286
1286
  }
1287
- function Vi(e, t) {
1287
+ function zi(e, t) {
1288
1288
  return [vt(e), ...t.map(Mt)];
1289
1289
  }
1290
- function zi(e) {
1290
+ function Xi(e) {
1291
1291
  const t = /* @__PURE__ */ new Set();
1292
1292
  for (const n of e ?? [])
1293
1293
  n?.kind && t.add(n.kind);
1294
1294
  return [...t];
1295
1295
  }
1296
- const $n = ["done", "escalated"], Xi = ["open", "waiting"];
1297
- function Yi(e) {
1298
- return $n.includes(e);
1296
+ const Dn = ["done", "escalated"], Yi = ["open", "waiting"];
1297
+ function qi(e) {
1298
+ return Dn.includes(e);
1299
1299
  }
1300
1300
  const Ln = "assignment";
1301
- function qi(e) {
1301
+ function Qi(e) {
1302
1302
  return `${Ln}:${e}`;
1303
1303
  }
1304
- function Qi(e, t, n, r) {
1304
+ function Zi(e, t, n, r) {
1305
1305
  if (e.direction === "inbound") return !0;
1306
1306
  if (e.author?.type === "user" && e.author.id === t) return !1;
1307
1307
  const o = e.payload?.mentions;
1308
1308
  return Array.isArray(o) && o.includes(t) || r && r === t ? !0 : n === "reply";
1309
1309
  }
1310
- function Zi(e) {
1310
+ function Ji(e) {
1311
1311
  const { targetAuthorId: t, reactorId: n, agentId: r, on: o } = e;
1312
1312
  return !o || !t || t !== r ? !1 : n !== r;
1313
1313
  }
1314
- function Ji(e) {
1314
+ function ea(e) {
1315
1315
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
1316
1316
  }
1317
1317
  const Pn = 12;
1318
- function ea(e, t, n = Pn) {
1318
+ function ta(e, t, n = Pn) {
1319
1319
  const r = t + 1;
1320
1320
  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 ? {
1321
1321
  status: "escalated",
@@ -1329,7 +1329,8 @@ function ea(e, t, n = Pn) {
1329
1329
  reason: "de agent rondde zijn beurt af zonder te zeggen wat er moet gebeuren (wachten, afronden of overdragen)"
1330
1330
  };
1331
1331
  }
1332
- function ta(e, t, n) {
1332
+ const na = "organization.business-entities.list";
1333
+ function ra(e, t, n) {
1333
1334
  return e ? e === t : n;
1334
1335
  }
1335
1336
  function Kn(e) {
@@ -1344,7 +1345,7 @@ function Un(e) {
1344
1345
  t += Number(e[n]) * (n % 2 === 0 ? 3 : 1);
1345
1346
  return (10 - t % 10) % 10;
1346
1347
  }
1347
- function na(e, t) {
1348
+ function oa(e, t) {
1348
1349
  const n = t.trim(), r = Kn(n), o = [{ sku: n }, { barcodes: { $in: [n] } }];
1349
1350
  return r && o.push({ gtin: r }), { organizationId: e, $or: o };
1350
1351
  }
@@ -1362,14 +1363,14 @@ function Fn(e, t) {
1362
1363
  o[i[u].index] += a, s -= a;
1363
1364
  return o;
1364
1365
  }
1365
- function D(e, t = {}) {
1366
+ function $(e, t = {}) {
1366
1367
  const n = t.decimal ?? ",", r = t.group ?? ".", o = e < 0, s = Math.abs(Math.trunc(e)).toString().padStart(3, "0"), i = s.slice(0, -2), a = s.slice(-2);
1367
1368
  let u = "";
1368
1369
  for (let l = 0; l < i.length; l++)
1369
1370
  l > 0 && (i.length - l) % 3 === 0 && (u += r), u += i[l];
1370
1371
  return `${o ? "-" : ""}${u}${n}${a}`;
1371
1372
  }
1372
- function ra(e) {
1373
+ function sa(e) {
1373
1374
  const t = e.trim().replace(/[\s ]/g, "");
1374
1375
  if (!t) return;
1375
1376
  const n = t.replace(/^[-+]?[^\d.,-]*/, "").replace(/[^\d.,-]+$/, ""), r = /^-/.test(t) || /-$/.test(t), o = n.replace(/-/g, "");
@@ -1384,7 +1385,7 @@ function ra(e) {
1384
1385
  function Bn(e) {
1385
1386
  return /^\d+$/.test(e) ? !0 : e.includes(".") && e.includes(",") ? !1 : /^\d{1,3}([.,]\d{3})*$/.test(e);
1386
1387
  }
1387
- function oa(e) {
1388
+ function ia(e) {
1388
1389
  return e.costPriceCents == null ? e.netCents : e.netCents - G(e.costPriceCents * e.quantity);
1389
1390
  }
1390
1391
  const jn = [
@@ -1409,7 +1410,7 @@ const jn = [
1409
1410
  matches: (e, t) => !e.contractId && !e.companyId && !!e.segmentKey && e.segmentKey === t.segmentKey && !!e.categoryKey
1410
1411
  }
1411
1412
  ];
1412
- function sa(e, t, n) {
1413
+ function aa(e, t, n) {
1413
1414
  const r = n.filter(
1414
1415
  (o) => o.currency === e.currency && (o.validFrom == null || o.validFrom <= t.at) && (o.validTo == null || o.validTo >= t.at) && (o.minQuantity == null || t.quantity >= o.minQuantity) && (o.productId == null || o.productId === e.id) && (o.categoryKey == null || o.categoryKey === e.categoryKey) && (o.productId != null || o.categoryKey != null)
1415
1416
  );
@@ -1430,34 +1431,34 @@ function sa(e, t, n) {
1430
1431
  function Hn(e, t) {
1431
1432
  return e.unitPriceCents != null ? e.unitPriceCents : e.discountPercent != null ? G(t * (1 - e.discountPercent / 100)) : t;
1432
1433
  }
1433
- const ia = ["piece", "hour", "day", "month", "km", "license"], aa = /* @__PURE__ */ new Set(["mail", "message"]);
1434
+ const ca = ["piece", "hour", "day", "month", "km", "license"], la = /* @__PURE__ */ new Set(["mail", "message"]);
1434
1435
  function Gn(e, t) {
1435
1436
  const n = e.settings?.signatures?.[t];
1436
1437
  return !n?.enabled || !n.body || n.body.trim() === "" ? null : n;
1437
1438
  }
1438
- function ca(e, t, n, r = "html") {
1439
+ function ua(e, t, n, r = "html") {
1439
1440
  if (!e) return n;
1440
1441
  const o = Gn(e, t);
1441
1442
  return o ? `${n}${r === "text" ? `
1442
1443
 
1443
1444
  ` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${o.body}` : n;
1444
1445
  }
1445
- function la(e) {
1446
+ function da(e) {
1446
1447
  return e.endpoints ?? [];
1447
1448
  }
1448
- function $(e) {
1449
+ function D(e) {
1449
1450
  const t = (e ?? "").trim().toLowerCase();
1450
1451
  if (t)
1451
1452
  return t.split(/[-_]/)[0] || void 0;
1452
1453
  }
1453
- function ua(e) {
1454
- return $(e.contactLocale) ?? $(e.companyLocale) ?? $(e.organizationLocale);
1454
+ function pa(e) {
1455
+ return D(e.contactLocale) ?? D(e.companyLocale) ?? D(e.organizationLocale);
1455
1456
  }
1456
- function da(e, t, n, r) {
1457
+ function fa(e, t, n, r) {
1457
1458
  const o = e.filter((a) => a.key === t && !a.archived);
1458
1459
  if (o.length === 0) return;
1459
- const s = $(n), i = $(r);
1460
- return o.find((a) => $(a.locale) === s) ?? o.find((a) => $(a.locale) === i) ?? // A row with no language at all is the single-language case: it is for everybody.
1460
+ const s = D(n), i = D(r);
1461
+ return o.find((a) => D(a.locale) === s) ?? o.find((a) => D(a.locale) === i) ?? // A row with no language at all is the single-language case: it is for everybody.
1461
1462
  o.find((a) => !a.locale) ?? o[0];
1462
1463
  }
1463
1464
  const Wn = /\{([a-zA-Z0-9_.]+)\}/g;
@@ -1488,7 +1489,7 @@ function Xn(e, t) {
1488
1489
  }
1489
1490
  return e.equals !== void 0 ? n === e.equals : !0;
1490
1491
  }
1491
- function pa(e, t, n, r, o) {
1492
+ function ma(e, t, n, r, o) {
1492
1493
  const s = [], i = [], a = /* @__PURE__ */ new Set(), u = (l) => {
1493
1494
  const d = zn(l, t, o);
1494
1495
  for (const c of d.unresolved) s.includes(c) || s.push(c);
@@ -1599,7 +1600,7 @@ function Yn(e) {
1599
1600
  ...e?.logo ? { logo: e.logo } : {}
1600
1601
  };
1601
1602
  }
1602
- function fa(e) {
1603
+ function ha(e) {
1603
1604
  return Yn({
1604
1605
  name: e?.billing?.companyName || e?.name || e?.displayName || "",
1605
1606
  address: e?.address,
@@ -1610,13 +1611,13 @@ function fa(e) {
1610
1611
  logo: e?.logo
1611
1612
  });
1612
1613
  }
1613
- const qn = 36e5, Qn = 864e5, L = -1 / 0, ma = (e) => e.score > L, J = {
1614
+ const qn = 36e5, Qn = 864e5, L = -1 / 0, ga = (e) => e.score > L, J = {
1614
1615
  urgent: 40,
1615
1616
  high: 25,
1616
1617
  normal: 10,
1617
1618
  low: 0
1618
1619
  };
1619
- function ha(e) {
1620
+ function ya(e) {
1620
1621
  return Object.fromEntries(e.map((t) => [t.resourceId, t]));
1621
1622
  }
1622
1623
  const Zn = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, Ot = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
@@ -1624,7 +1625,7 @@ function Jn(e, t) {
1624
1625
  return !!(e && Zn.test(e) || t && Ot.test(t));
1625
1626
  }
1626
1627
  const er = 3, tr = 600;
1627
- function ga(e, t) {
1628
+ function ba(e, t) {
1628
1629
  return e >= er || t >= tr;
1629
1630
  }
1630
1631
  const nr = [
@@ -1637,7 +1638,7 @@ const nr = [
1637
1638
  "feedback-id",
1638
1639
  "x-mailer"
1639
1640
  ];
1640
- function ya(e) {
1641
+ function _a(e) {
1641
1642
  const t = {};
1642
1643
  for (const n of e) {
1643
1644
  const r = n.name?.toLowerCase();
@@ -1646,7 +1647,7 @@ function ya(e) {
1646
1647
  return t;
1647
1648
  }
1648
1649
  const rr = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i, or = /(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;
1649
- function ba(e) {
1650
+ function Aa(e) {
1650
1651
  const t = e.headers ?? {}, n = e.from?.email, r = t["auto-submitted"]?.toLowerCase();
1651
1652
  if (r && r !== "no" || t["x-auto-response-suppress"] || n && rr.test(n))
1652
1653
  return "automated";
@@ -1680,20 +1681,20 @@ function fr(e, t) {
1680
1681
  const n = e.assignedInboxId ? t?.[e.assignedInboxId] : void 0;
1681
1682
  return typeof n == "number" && n > 0 ? n : cr[e.priority ?? "normal"];
1682
1683
  }
1683
- function _a(e) {
1684
+ function Sa(e) {
1684
1685
  const t = {};
1685
1686
  for (const n of e)
1686
1687
  typeof n.slaHours == "number" && n.slaHours > 0 && (t[n.id] = n.slaHours);
1687
1688
  return t;
1688
1689
  }
1689
- function Aa(e, t, n) {
1690
+ function Ea(e, t, n) {
1690
1691
  return !Nt(e.status) || e.firstResponseAt ? !1 : Me(e, t) > fr(e, n);
1691
1692
  }
1692
1693
  function mr(e, t) {
1693
1694
  const n = e.lastActivityPreview;
1694
1695
  return n?.direction !== "outbound" || !xt(n.type) ? !1 : Me(e, t) < lr;
1695
1696
  }
1696
- function Sa(e, t) {
1697
+ function Ia(e, t) {
1697
1698
  if (!Nt(e.status)) return { score: L, reasons: [] };
1698
1699
  if (e.snoozedTill && e.snoozedTill > t.now) return { score: L, reasons: [] };
1699
1700
  if (mr(e, t.now)) return { score: L, reasons: [] };
@@ -1709,17 +1710,17 @@ function Sa(e, t) {
1709
1710
  const i = e.lastActivityPreview;
1710
1711
  return i?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), i?.direction === "outbound" && xt(i.type) && (n += 10, r.push("no-reply")), !e.firstResponseAt && e.lastActivityPreview?.direction === "inbound" && (n += 10, r.push("awaiting-reply")), (e.tags?.some((u) => u === "marketing" || u === "automated") || Jn(e.remoteParty?.resource, e.lastActivityPreview?.snippet)) && (n -= ar, r.push("bulk")), { score: n, reasons: r };
1711
1712
  }
1712
- const Ea = (e) => !!e.assignedUserId || !!e.assignedInboxId, Ia = (e) => e.status === "closed", Ta = (e) => ({
1713
+ const Ta = (e) => !!e.assignedUserId || !!e.assignedInboxId, ka = (e) => e.status === "closed", wa = (e) => ({
1713
1714
  urgent: 10,
1714
1715
  high: 5,
1715
1716
  normal: 2,
1716
1717
  low: 1
1717
- })[e.priority] || 0, wa = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1718
- function ka(e, t) {
1718
+ })[e.priority] || 0, va = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1719
+ function Ma(e, t) {
1719
1720
  const n = e.labels ?? [];
1720
1721
  return n.find((r) => r.locale === t)?.label ?? n[0]?.label ?? e.url;
1721
1722
  }
1722
- function va(e, t, n) {
1723
+ function Ca(e, t, n) {
1723
1724
  const r = e.translations ?? [];
1724
1725
  return r.find((o) => o.locale === t) ?? (n ? r.find((o) => o.locale === n) : void 0) ?? { locale: t };
1725
1726
  }
@@ -1742,30 +1743,30 @@ function Rt(e) {
1742
1743
  const t = (e ?? "").toLowerCase();
1743
1744
  return Ze.find((n) => n.code === t) ?? Ze.find((n) => n.code === t.split("-")[0]);
1744
1745
  }
1745
- function Ma(e) {
1746
+ function Oa(e) {
1746
1747
  return Rt(e)?.label ?? e;
1747
1748
  }
1748
- function Ca(e) {
1749
+ function xa(e) {
1749
1750
  const t = Rt(e);
1750
1751
  return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
1751
1752
  }
1752
- const Dt = 3;
1753
+ const $t = 3;
1753
1754
  function hr(e, t) {
1754
1755
  const n = /* @__PURE__ */ new Set();
1755
1756
  let r = 1, o = t.get(e)?.parentId;
1756
1757
  for (; o; ) {
1757
- if (n.has(o) || (n.add(o), r++, r > Dt + 1)) return 1 / 0;
1758
+ if (n.has(o) || (n.add(o), r++, r > $t + 1)) return 1 / 0;
1758
1759
  o = t.get(o)?.parentId;
1759
1760
  }
1760
1761
  return r;
1761
1762
  }
1762
- function Oa(e, t, n) {
1763
+ function Na(e, t, n) {
1763
1764
  if (!e) return !0;
1764
1765
  if (e === t) return !1;
1765
1766
  const r = new Map(n.map((i) => [i.id, i]));
1766
1767
  if (!r.has(e) || t && gr(e, t, r)) return !1;
1767
- const o = hr(e, r), s = t ? $t(t, n) : 1;
1768
- return o + s <= Dt;
1768
+ const o = hr(e, r), s = t ? Dt(t, n) : 1;
1769
+ return o + s <= $t;
1769
1770
  }
1770
1771
  function gr(e, t, n) {
1771
1772
  const r = /* @__PURE__ */ new Set();
@@ -1777,23 +1778,23 @@ function gr(e, t, n) {
1777
1778
  }
1778
1779
  return !1;
1779
1780
  }
1780
- function $t(e, t, n = /* @__PURE__ */ new Set()) {
1781
+ function Dt(e, t, n = /* @__PURE__ */ new Set()) {
1781
1782
  if (n.has(e)) return 1;
1782
1783
  n.add(e);
1783
1784
  const r = t.filter((o) => o.parentId === e);
1784
- return r.length ? 1 + Math.max(...r.map((o) => $t(o.id, t, n))) : 1;
1785
+ return r.length ? 1 + Math.max(...r.map((o) => Dt(o.id, t, n))) : 1;
1785
1786
  }
1786
1787
  const yr = "en";
1787
1788
  function br(e) {
1788
1789
  return e.defaultLocale || e.locale || yr;
1789
1790
  }
1790
- function xa(e) {
1791
+ function Ra(e) {
1791
1792
  const t = /* @__PURE__ */ new Set(), n = [];
1792
1793
  for (const r of [br(e), ...e.locales ?? []])
1793
1794
  !r || t.has(r) || (t.add(r), n.push(r));
1794
1795
  return n;
1795
1796
  }
1796
- function Na(e, t, n) {
1797
+ function $a(e, t, n) {
1797
1798
  const r = e.translations ?? [];
1798
1799
  return r.find((o) => o.locale === t)?.name ?? (n ? r.find((o) => o.locale === n)?.name : void 0) ?? e.name;
1799
1800
  }
@@ -1824,22 +1825,22 @@ function _r(e, t) {
1824
1825
  return e.userId === t.userId;
1825
1826
  }
1826
1827
  }
1827
- function Ra(e, t) {
1828
+ function Da(e, t) {
1828
1829
  return e.filter((n) => n.enabled && _r(n.ownerScope, t));
1829
1830
  }
1830
- function Da(e) {
1831
+ function La(e) {
1831
1832
  return e.credentialScope ? e.credentialScope : (e.authMode ?? "header") === "header" || e.oauth?.scope === "org" ? "shared" : "per-user";
1832
1833
  }
1833
- function $a(e) {
1834
+ function Pa(e) {
1834
1835
  return `mcp__${e}__`;
1835
1836
  }
1836
- const La = 1e3, Pa = 2e3, Ka = 500, Ua = 12e3, Fa = 4e3, Ar = ["contact", "company", "work_item"];
1837
- function Ba(e) {
1837
+ const Ka = 1e3, Ua = 2e3, Fa = 500, Ba = 12e3, ja = 4e3, Ar = ["contact", "company", "work_item"];
1838
+ function Ha(e) {
1838
1839
  if (!e) return !1;
1839
1840
  const t = e.slice(0, e.indexOf(":"));
1840
1841
  return Ar.includes(t);
1841
1842
  }
1842
- const ja = [
1843
+ const Ga = [
1843
1844
  { key: "high", label: "tax_high", percent: 21, kind: "standard" },
1844
1845
  { key: "low", label: "tax_low", percent: 9, kind: "reduced" },
1845
1846
  { key: "zero", label: "tax_zero", percent: 0, kind: "zero" },
@@ -1859,7 +1860,7 @@ function Er(e) {
1859
1860
  const t = 1 - (e.discountPercent ?? 0) / 100;
1860
1861
  return G(e.quantity * e.unitPriceCents * t);
1861
1862
  }
1862
- function Ha(e, t, n) {
1863
+ function Wa(e, t, n) {
1863
1864
  const r = e.map((l) => ({ ...l, netCents: Er(l), taxCents: 0 })), o = /* @__PURE__ */ new Map();
1864
1865
  for (let l = 0; l < r.length; l++) {
1865
1866
  if (r[l].kind !== "product" || r[l].optional) continue;
@@ -1891,7 +1892,7 @@ function Ha(e, t, n) {
1891
1892
  }
1892
1893
  };
1893
1894
  }
1894
- const Ga = "onboarding-source", Wa = ["support", "billing", "availability", "sales", "onboarding"], Va = ["keep", "replace"], Ce = [
1895
+ const Va = "onboarding-source", za = ["support", "billing", "availability", "sales", "onboarding"], Xa = ["keep", "replace"], Ce = [
1895
1896
  {
1896
1897
  key: "shift",
1897
1898
  label: "kind_shift",
@@ -1983,18 +1984,18 @@ function Lt(e, t, n = Ce) {
1983
1984
  const r = N(e.kindKey, n);
1984
1985
  return r.absent ? !1 : r.productive || r.capacity;
1985
1986
  }
1986
- function za(e, t = Ce) {
1987
+ function Ya(e, t = Ce) {
1987
1988
  if (!e.userId || !W(e.status)) return !1;
1988
1989
  const n = N(e.kindKey, t);
1989
1990
  return n.capacity || n.productive || n.absent;
1990
1991
  }
1991
1992
  const Tr = 864e5;
1992
- function wr(e, t) {
1993
+ function kr(e, t) {
1993
1994
  return Math.round((t - e) / Tr);
1994
1995
  }
1995
1996
  function Pt(e, t) {
1996
1997
  const n = e.cycleMinutes.length;
1997
- return n === 0 ? 0 : (wr(e.anchor, t) % n + n) % n;
1998
+ return n === 0 ? 0 : (kr(e.anchor, t) % n + n) % n;
1998
1999
  }
1999
2000
  function Kt(e, t) {
2000
2001
  return e.effectiveFrom !== void 0 && t < e.effectiveFrom ? 0 : e.cycleMinutes[Pt(e, t)] ?? 0;
@@ -2010,7 +2011,7 @@ function Ft(e, t, n, r) {
2010
2011
  o.filter((a) => !a.userId && a.teamId && n.includes(a.teamId))
2011
2012
  );
2012
2013
  }
2013
- function kr(e, t, n) {
2014
+ function wr(e, t, n) {
2014
2015
  return e.filter(
2015
2016
  (r) => r.userId === t && (r.effectiveFrom === void 0 || r.effectiveFrom <= n)
2016
2017
  ).sort((r, o) => (o.effectiveFrom ?? 0) - (r.effectiveFrom ?? 0))[0];
@@ -2025,7 +2026,7 @@ function ge(e, t, n, r) {
2025
2026
  return o > 0 ? o / 1e3 : 0;
2026
2027
  }
2027
2028
  const tt = { interval: 0, day: 1, week: 2 };
2028
- function Xa(e, t) {
2029
+ function qa(e, t) {
2029
2030
  const { entries: n, patterns: r = [], terms: o = [] } = t, s = n.filter(
2030
2031
  (c) => c.userId && W(c.status) && N(c.kindKey).capacity
2031
2032
  ), i = n.filter(
@@ -2047,7 +2048,7 @@ function Xa(e, t) {
2047
2048
  for (const h of vr(e)) {
2048
2049
  const S = Math.max(h, e.from), x = Math.min(h + he, e.to);
2049
2050
  m++;
2050
- const C = s.filter((k) => k.userId === c).reduce((k, $e) => k + ge($e.start, $e.end, S, x), 0);
2051
+ const C = s.filter((w) => w.userId === c).reduce((w, De) => w + ge(De.start, De.end, S, x), 0);
2051
2052
  if (C > 0) {
2052
2053
  f += C;
2053
2054
  continue;
@@ -2060,7 +2061,7 @@ function Xa(e, t) {
2060
2061
  v || y++;
2061
2062
  }
2062
2063
  if (y > 0) {
2063
- const h = kr(o, c, e.from);
2064
+ const h = wr(o, c, e.from);
2064
2065
  h && (f += h.weeklyMinutes * 60 * (y / 7), d("week"));
2065
2066
  }
2066
2067
  const E = i.filter((h) => h.userId === c).reduce(
@@ -2075,7 +2076,7 @@ function Xa(e, t) {
2075
2076
  byUser: u
2076
2077
  };
2077
2078
  }
2078
- function Ya(e, t) {
2079
+ function Qa(e, t) {
2079
2080
  if (!e.some((a) => a.userId)) return [];
2080
2081
  const n = "", r = /* @__PURE__ */ new Map();
2081
2082
  for (const a of e) {
@@ -2098,7 +2099,7 @@ function Ya(e, t) {
2098
2099
  const i = r.get(n) ?? 0;
2099
2100
  return i > 0 && s.push({ requiredSeconds: i, capacitySeconds: 0, netSeconds: -i }), s;
2100
2101
  }
2101
- function qa(e, t, n, r) {
2102
+ function Za(e, t, n, r) {
2102
2103
  const o = e.filter(
2103
2104
  (i) => i.userId && W(i.status) && !N(i.kindKey).absent
2104
2105
  ), s = Object.entries(r.byUser).map(
@@ -2120,7 +2121,7 @@ function qa(e, t, n, r) {
2120
2121
  );
2121
2122
  return s.sort((i, a) => a.freeSeconds - i.freeSeconds), s;
2122
2123
  }
2123
- const Qa = "demand-source", nt = 1e3;
2124
+ const Ja = "demand-source", nt = 1e3;
2124
2125
  function Mr(e, t) {
2125
2126
  let n = 1;
2126
2127
  for (let r = 1; r <= e; r++)
@@ -2150,11 +2151,11 @@ function Nr(e, t, n, r) {
2150
2151
  return a;
2151
2152
  return nt;
2152
2153
  }
2153
- const Rr = 36e5, Dr = 864e5;
2154
- function $r(e) {
2155
- return e === "day" ? Dr : Rr;
2154
+ const Rr = 36e5, $r = 864e5;
2155
+ function Dr(e) {
2156
+ return e === "day" ? $r : Rr;
2156
2157
  }
2157
- function Za(e, t) {
2158
+ function ec(e, t) {
2158
2159
  return e.start < t.end && t.start < e.end;
2159
2160
  }
2160
2161
  function ce(e, t, n) {
@@ -2171,16 +2172,16 @@ function Lr(e, t, n) {
2171
2172
  }
2172
2173
  return { seconds: o, headcount: o / n * i };
2173
2174
  }
2174
- function Ja(e) {
2175
- const { entries: t, workstreamId: n, staffing: r, demand: o, range: s } = e, i = e.grain ?? "hour", a = $r(i), u = a / 1e3, l = e.kinds, d = t.filter((m) => W(m.status)), c = d.filter((m) => Lt(m, n, l)), p = d.filter((m) => N(m.kindKey, l).capacity), f = d.filter((m) => N(m.kindKey, l).absent), y = [];
2175
+ function tc(e) {
2176
+ const { entries: t, workstreamId: n, staffing: r, demand: o, range: s } = e, i = e.grain ?? "hour", a = Dr(i), u = a / 1e3, l = e.kinds, d = t.filter((m) => W(m.status)), c = d.filter((m) => Lt(m, n, l)), p = d.filter((m) => N(m.kindKey, l).capacity), f = d.filter((m) => N(m.kindKey, l).absent), y = [];
2176
2177
  for (let m = H(s.from, i); m < s.to; m += a) {
2177
2178
  const E = m + a, g = j(m, i);
2178
2179
  let h = 0;
2179
- for (const k of c) h += ce(k, m, E);
2180
+ for (const w of c) h += ce(w, m, E);
2180
2181
  let S = 0;
2181
- for (const k of p) S += ce(k, m, E);
2182
+ for (const w of p) S += ce(w, m, E);
2182
2183
  let x = 0;
2183
- for (const k of f) x += ce(k, m, E);
2184
+ for (const w of f) x += ce(w, m, E);
2184
2185
  const C = o?.[g] ?? {}, v = Lr(C, r, u), O = h / u;
2185
2186
  y.push({
2186
2187
  period: g,
@@ -2199,11 +2200,11 @@ function Ja(e) {
2199
2200
  function Pr(e, t) {
2200
2201
  return e.workTypeKey ?? t?.defaultWorkTypeKey;
2201
2202
  }
2202
- function ec(e, t, n) {
2203
+ function nc(e, t, n) {
2203
2204
  const r = Pr(e, t);
2204
2205
  return r ? n.find((o) => o.key === r)?.defaultBillable ?? !1 : !1;
2205
2206
  }
2206
- function tc(e) {
2207
+ function rc(e) {
2207
2208
  return e.filter(
2208
2209
  (t) => t.netHeadcount < 0 && t.requiredHeadcount > 0
2209
2210
  );
@@ -2233,7 +2234,7 @@ function Gr(e, t) {
2233
2234
  t >= r.from && t < r.to && (n = r);
2234
2235
  return n;
2235
2236
  }
2236
- function nc(e, t, n) {
2237
+ function oc(e, t, n) {
2237
2238
  const r = Math.max(1, n?.weeks ?? Ur), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Set();
2238
2239
  for (const u of e)
2239
2240
  o.set(jr(u.period), u.value), s.add(u.period.slice(0, 10));
@@ -2253,10 +2254,10 @@ function nc(e, t, n) {
2253
2254
  return a;
2254
2255
  }
2255
2256
  const Wr = "schedule_entry", Vr = "workstream";
2256
- function rc(e) {
2257
+ function sc(e) {
2257
2258
  return `${Wr}:${e}`;
2258
2259
  }
2259
- function oc(e) {
2260
+ function ic(e) {
2260
2261
  return `${Vr}:${e}`;
2261
2262
  }
2262
2263
  const be = 36e5, K = 864e5;
@@ -2273,7 +2274,7 @@ function le(e, t, n, r) {
2273
2274
  const o = Math.min(t, r) - Math.max(e, n);
2274
2275
  return o > 0 ? o / 1e3 : 0;
2275
2276
  }
2276
- function sc(e, t, n = {}) {
2277
+ function ac(e, t, n = {}) {
2277
2278
  const r = n.grain ?? "hour", o = zr(t, r), s = r === "day" ? K : be, i = new Map(o.map((c) => [c, 0])), a = e.filter((c) => c.userId && N(c.kindKey).capacity), u = n.userIds?.length ? new Set(n.userIds) : null, l = /* @__PURE__ */ new Set();
2278
2279
  for (const c of a)
2279
2280
  if (!(u && c.userId && !u.has(c.userId))) {
@@ -2303,8 +2304,8 @@ function sc(e, t, n = {}) {
2303
2304
  if (E) {
2304
2305
  const [S, x] = E.split(":").map(Number), C = f + S * be + (x ?? 0) * 6e4, v = C + m * 6e4;
2305
2306
  for (const O of o) {
2306
- const k = le(C, v, O, O + s);
2307
- k > 0 && i.set(O, (i.get(O) ?? 0) + k);
2307
+ const w = le(C, v, O, O + s);
2308
+ w > 0 && i.set(O, (i.get(O) ?? 0) + w);
2308
2309
  }
2309
2310
  continue;
2310
2311
  }
@@ -2325,7 +2326,7 @@ function Xr(e, t) {
2325
2326
  }
2326
2327
  return t.filter((r) => r.weight > 0).map((r) => ({ period: r.period, seconds: e * r.weight / n }));
2327
2328
  }
2328
- function ic(e, t, n) {
2329
+ function cc(e, t, n) {
2329
2330
  const r = /* @__PURE__ */ new Map();
2330
2331
  for (const o of e) {
2331
2332
  const s = o.by ? t.filter((a) => n(a.period) < o.by) : t, i = s.length ? s : t;
@@ -2348,7 +2349,7 @@ function Yr(e) {
2348
2349
  return "org";
2349
2350
  }
2350
2351
  }
2351
- function ac(e) {
2352
+ function lc(e) {
2352
2353
  if (typeof e != "string") return;
2353
2354
  const t = e.trim();
2354
2355
  if (t === "org") return { kind: "org" };
@@ -2374,13 +2375,13 @@ function Qr(e) {
2374
2375
  }
2375
2376
  }
2376
2377
  const Zr = Qr;
2377
- function cc(e) {
2378
+ function uc(e) {
2378
2379
  return e.agentId ? { kind: "user", userId: e.agentId } : Zr(e.ownerScope);
2379
2380
  }
2380
- function lc(e) {
2381
+ function dc(e) {
2381
2382
  return qr(e);
2382
2383
  }
2383
- function uc(e, t) {
2384
+ function pc(e, t) {
2384
2385
  if (!t) return;
2385
2386
  let n = e;
2386
2387
  for (const r of t.split(".")) {
@@ -2389,24 +2390,24 @@ function uc(e, t) {
2389
2390
  }
2390
2391
  return n;
2391
2392
  }
2392
- function dc(e, t) {
2393
+ function fc(e, t) {
2393
2394
  return e.targets.find((n) => n.activityTypes.includes(t));
2394
2395
  }
2395
- function pc(e, t) {
2396
+ function mc(e, t) {
2396
2397
  if (t)
2397
2398
  return e.targets.find((n) => n.id === t);
2398
2399
  }
2399
2400
  function Jr(e) {
2400
2401
  return e?.kind === "assignment";
2401
2402
  }
2402
- function fc(e) {
2403
+ function hc(e) {
2403
2404
  const { trigger: t, agentId: n, target: r, activityType: o, assigneeUserId: s, authorUserId: i } = e;
2404
2405
  return Jr(t) ? n ? r ? r.activityTypes.includes(o) ? s ? s !== n ? "assigned to someone else" : i && i === n ? "the agent assigned this to itself, which would restart its own run" : null : `no assignee found at ${r.assigneePath}` : `activity type ${o} 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";
2405
2406
  }
2406
- function mc(e) {
2407
+ function gc(e) {
2407
2408
  return (e.startsWith("tool:") ? e.slice(5) : e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
2408
2409
  }
2409
- const hc = [
2410
+ const yc = [
2410
2411
  { name: "text", type: "string" },
2411
2412
  { name: "subject", type: "string" },
2412
2413
  { name: "from", type: "string" },
@@ -2446,7 +2447,7 @@ const hc = [
2446
2447
  // `buildTriggerVars` cannot fill it itself: the job does that with the catalog in hand, before
2447
2448
  // the trigger filter runs — like contactId/companyId above.
2448
2449
  { name: "assigneeUserId", type: "string" }
2449
- ], gc = {
2450
+ ], bc = {
2450
2451
  topics: [
2451
2452
  { name: "topicId", type: "string" },
2452
2453
  { name: "topic", type: "string" },
@@ -2468,16 +2469,16 @@ function no(e) {
2468
2469
  return e?.type === to ? e.id : void 0;
2469
2470
  }
2470
2471
  const ro = 64, oo = 8e3;
2471
- function yc(e) {
2472
+ function _c(e) {
2472
2473
  const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
2473
2474
  if (!(!Number.isFinite(t) || t <= 0))
2474
2475
  return Math.min(Math.max(Math.round(t), ro), oo);
2475
2476
  }
2476
- const bc = { kind: "workflow", steps: [] };
2477
- function _c(e) {
2477
+ const Ac = { kind: "workflow", steps: [] };
2478
+ function Sc(e) {
2478
2479
  return e?.kind === "workflow" ? e.steps : [];
2479
2480
  }
2480
- function Ac(e) {
2481
+ function Ec(e) {
2481
2482
  return e?.kind === "procedure" ? e.procedure : void 0;
2482
2483
  }
2483
2484
  function so(e) {
@@ -2485,31 +2486,31 @@ function so(e) {
2485
2486
  return { total: n, rate: n ? t / n : 0 };
2486
2487
  }
2487
2488
  const io = 10, ao = 0.9;
2488
- function Sc(e) {
2489
+ function Ic(e) {
2489
2490
  const { total: t, rate: n } = so(e);
2490
2491
  return t >= io && n >= ao;
2491
2492
  }
2492
2493
  const co = ["done", "escalated", "failed", "stopped"];
2493
- function Ec(e) {
2494
+ function Tc(e) {
2494
2495
  return co.includes(e);
2495
2496
  }
2496
2497
  function lo(e) {
2497
2498
  return e === "waiting";
2498
2499
  }
2499
- function Ic(e) {
2500
+ function kc(e) {
2500
2501
  return e === "running" || lo(e);
2501
2502
  }
2502
2503
  function Bt(e) {
2503
2504
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
2504
2505
  }
2505
- function Tc(e) {
2506
+ function wc(e) {
2506
2507
  const t = Bt(e);
2507
2508
  return t ? eo(t) : void 0;
2508
2509
  }
2509
- function wc(e) {
2510
+ function vc(e) {
2510
2511
  return no(Bt(e));
2511
2512
  }
2512
- function kc(e) {
2513
+ function Mc(e) {
2513
2514
  const t = [], n = /* @__PURE__ */ new Map();
2514
2515
  for (const r of [...e].sort(uo)) {
2515
2516
  const o = n.get(r.emoji);
@@ -2525,7 +2526,7 @@ function kc(e) {
2525
2526
  }).sort((r, o) => o.count - r.count || t.indexOf(r.emoji) - t.indexOf(o.emoji));
2526
2527
  }
2527
2528
  const uo = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
2528
- function vc(e, t) {
2529
+ function Cc(e, t) {
2529
2530
  return t ? e.actors.some((n) => n.type === "user" && n.id === t) : !1;
2530
2531
  }
2531
2532
  const _e = 6e4, po = 36e5, V = 864e5, jt = 800;
@@ -2588,25 +2589,25 @@ function Oe(e, t, n) {
2588
2589
  }
2589
2590
  return e + t;
2590
2591
  }
2591
- function Mc(e) {
2592
+ function Oc(e) {
2592
2593
  const t = /^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);
2593
2594
  return t ? Number(t[1]) * 60 + Number(t[2]) : null;
2594
2595
  }
2595
2596
  const Se = 1, Ee = 2;
2596
- function Cc(e) {
2597
+ function xc(e) {
2597
2598
  return e === "snoozed" ? Se : Ee;
2598
2599
  }
2599
2600
  function xe(e) {
2600
2601
  const t = e.calendar;
2601
2602
  return t && Array.isArray(t.days) ? t : null;
2602
2603
  }
2603
- const Oc = [
2604
+ const Nc = [
2604
2605
  "speed_of_answer",
2605
2606
  "first_response",
2606
2607
  "next_response",
2607
2608
  "resolution",
2608
2609
  "close"
2609
- ], xc = ["snoozed", "waiting_for_customer"], ho = 6e4, Vt = ["speed_of_answer", "first_response", "next_response"], go = [...Vt, "resolution", "close"];
2610
+ ], Rc = ["snoozed", "waiting_for_customer"], ho = 6e4, Vt = ["speed_of_answer", "first_response", "next_response"], go = [...Vt, "resolution", "close"];
2610
2611
  function z(e) {
2611
2612
  return e.state === "running" || e.state === "paused";
2612
2613
  }
@@ -2626,7 +2627,7 @@ function _o(e, t, n, r) {
2626
2627
  const o = e.pauseBits & ~t;
2627
2628
  return o !== 0 ? { pauseBits: o } : { pauseBits: o, state: "running", dueAt: Oe(n, e.remainingMs, r) };
2628
2629
  }
2629
- function Nc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2630
+ function $c({ event: e, at: t, now: n, clocks: r, profile: o }) {
2630
2631
  const s = xe(o), i = Math.min(t, n), a = r.map((g) => ({ ...g })), u = [], l = (g, h) => {
2631
2632
  h && (u.push({ op: "patch", clockId: g.id, patch: h }), Object.assign(g, h));
2632
2633
  }, d = (g) => {
@@ -2703,10 +2704,10 @@ function Ie(e, t) {
2703
2704
  const n = xe(e);
2704
2705
  return e.state === "paused" ? e.remainingMs : t >= e.dueAt ? -Ae(e.dueAt, t, n) : Ae(t, e.dueAt, n);
2705
2706
  }
2706
- function Rc(e, t) {
2707
+ function Dc(e, t) {
2707
2708
  return e.state === "paused" ? Oe(t, e.remainingMs, xe(e)) : e.dueAt;
2708
2709
  }
2709
- function Dc(e, t) {
2710
+ function Lc(e, t) {
2710
2711
  const n = e.filter(Ao);
2711
2712
  if (!n.length) return;
2712
2713
  const r = n.filter((s) => s.state === "running");
@@ -2714,7 +2715,7 @@ function Dc(e, t) {
2714
2715
  (s, i) => Ie(i, t) < Ie(s, t) ? i : s
2715
2716
  );
2716
2717
  }
2717
- function $c(e, t) {
2718
+ function Pc(e, t) {
2718
2719
  if (e.state === "missed") return "breached";
2719
2720
  if (e.state === "hit") return "met";
2720
2721
  if (e.state === "paused") return "paused";
@@ -2722,7 +2723,7 @@ function $c(e, t) {
2722
2723
  const n = Ie(e, t);
2723
2724
  return n <= 0 ? "breached" : n <= e.targetMs / 5 ? "urgent" : "running";
2724
2725
  }
2725
- function Lc(e) {
2726
+ function Kc(e) {
2726
2727
  const t = Math.floor(Math.abs(e) / 1e3), n = Math.floor(t / 86400), r = Math.floor(t % 86400 / 3600), o = Math.floor(t % 3600 / 60);
2727
2728
  return n ? r ? `${n}d ${r}u` : `${n}d` : r ? o ? `${r}u ${o}m` : `${r}u` : o ? `${o}m` : `${t % 60}s`;
2728
2729
  }
@@ -2730,12 +2731,12 @@ const So = "strategy_item";
2730
2731
  function zt(e) {
2731
2732
  return `${So}:${e}`;
2732
2733
  }
2733
- function Pc(e, t = 25) {
2734
+ function Uc(e, t = 25) {
2734
2735
  const n = /* @__PURE__ */ new Set([zt(e.id)]);
2735
2736
  for (const r of e.ancestorKeys ?? []) n.add(r);
2736
2737
  return Array.from(n).slice(0, t);
2737
2738
  }
2738
- function Kc(e) {
2739
+ function Fc(e) {
2739
2740
  return e ? [...e.ancestorKeys ?? [], zt(e.id)] : [];
2740
2741
  }
2741
2742
  const ne = [
@@ -2749,18 +2750,18 @@ function To(e, t = ne) {
2749
2750
  function Te(e, t = ne) {
2750
2751
  return To(e, t)?.order ?? Eo;
2751
2752
  }
2752
- function Uc(e, t, n = ne) {
2753
+ function Bc(e, t, n = ne) {
2753
2754
  return Te(t, n) <= Te(e, n);
2754
2755
  }
2755
- function Fc(e, t = ne) {
2756
+ function jc(e, t = ne) {
2756
2757
  const n = Te(e, t);
2757
2758
  return t.filter((o) => o.order > n).sort((o, s) => o.order - s.order)[0]?.key ?? e;
2758
2759
  }
2759
- function Bc(e) {
2760
+ function Hc(e) {
2760
2761
  const t = e.trim().toLowerCase();
2761
2762
  return t ? t.includes("key result") || t.includes("keyresult") || t === "kr" ? "key_result" : t.includes("objective") || t.includes("goal") || t.includes("doel") ? "objective" : t.includes("focus") || t.includes("area") || t.includes("theme") ? "area" : null : null;
2762
2763
  }
2763
- const we = {
2764
+ const ke = {
2764
2765
  pending: "open",
2765
2766
  on_track: "open",
2766
2767
  at_risk: "open",
@@ -2769,73 +2770,73 @@ const we = {
2769
2770
  achieved: "closed",
2770
2771
  missed: "closed"
2771
2772
  };
2772
- function jc(e) {
2773
- return we[e] ?? "open";
2773
+ function Gc(e) {
2774
+ return ke[e] ?? "open";
2774
2775
  }
2775
- function Hc(e) {
2776
- return Object.keys(we).filter(
2777
- (t) => e.includes(we[t])
2776
+ function Wc(e) {
2777
+ return Object.keys(ke).filter(
2778
+ (t) => e.includes(ke[t])
2778
2779
  );
2779
2780
  }
2780
- const wo = 864e5, re = (e) => e <= 0 ? 0 : e > 1 ? 1 : e;
2781
- function Gc(e, t) {
2781
+ const ko = 864e5, re = (e) => e <= 0 ? 0 : e > 1 ? 1 : e;
2782
+ function Vc(e, t) {
2782
2783
  const { direction: n } = e, r = e.startValue ?? 0, o = e.targetValue ?? 0;
2783
2784
  if (!Number.isFinite(t)) return 0;
2784
2785
  const s = n === "down" ? t <= o : t >= o, i = o - r;
2785
2786
  return (n === "down" ? i < 0 : i > 0) ? re((t - r) / i) : s ? 1 : 0;
2786
2787
  }
2787
- function Wc(e, t) {
2788
+ function zc(e, t) {
2788
2789
  const { startDate: n, targetDate: r } = e;
2789
2790
  if (!(typeof n != "number" || typeof r != "number") && !(r <= n))
2790
2791
  return re((t - n) / (r - n));
2791
2792
  }
2792
- const ko = 0.1, vo = 0.25;
2793
- function Vc(e, t) {
2793
+ const wo = 0.1, vo = 0.25;
2794
+ function Xc(e, t) {
2794
2795
  if (typeof e != "number" || typeof t != "number") return;
2795
2796
  if (e >= 1) return "achieved";
2796
2797
  const n = t - e;
2797
- return n >= vo ? "off_track" : n >= ko ? "at_risk" : "on_track";
2798
+ return n >= vo ? "off_track" : n >= wo ? "at_risk" : "on_track";
2798
2799
  }
2799
- function zc(e, t) {
2800
+ function Yc(e, t) {
2800
2801
  if (t)
2801
2802
  return re(e / t);
2802
2803
  }
2803
- function Xc(e) {
2804
+ function qc(e) {
2804
2805
  const t = e.map((n) => n.progress?.ratio).filter((n) => typeof n == "number" && Number.isFinite(n));
2805
2806
  if (t.length)
2806
2807
  return re(t.reduce((n, r) => n + r, 0) / t.length);
2807
2808
  }
2808
- function Yc(e, t) {
2809
+ function Qc(e, t) {
2809
2810
  const n = e.lastCheckInAt ?? e.createdAt;
2810
2811
  if (typeof n != "number") return 0;
2811
- const r = (e.checkInEveryDays ?? Io) * wo, o = t - n - r;
2812
+ const r = (e.checkInEveryDays ?? Io) * ko, o = t - n - r;
2812
2813
  return o > 0 ? o : 0;
2813
2814
  }
2814
- function qc(e) {
2815
+ function Zc(e) {
2815
2816
  return e.targetDate ?? Number.MAX_SAFE_INTEGER;
2816
2817
  }
2817
- function Qc(e, t) {
2818
+ function Jc(e, t) {
2818
2819
  const n = e.accumulatedSeconds || 0;
2819
2820
  return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
2820
2821
  }
2821
- function Zc(e, t) {
2822
+ function el(e, t) {
2822
2823
  const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
2823
2824
  if (!t || t === "exact") return n * 60;
2824
2825
  const r = Number(t);
2825
2826
  return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
2826
2827
  }
2827
- function Jc(e) {
2828
+ function tl(e) {
2828
2829
  const t = Math.max(0, Math.round(e / 60));
2829
2830
  return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
2830
2831
  }
2831
- function el(e) {
2832
+ function nl(e) {
2832
2833
  const t = Math.max(0, Math.floor(e)), n = (s) => String(s).padStart(2, "0"), r = Math.floor(t / 60) % 60, o = Math.floor(t / 3600);
2833
2834
  return o > 0 ? `${o}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
2834
2835
  }
2835
2836
  function Mo(e) {
2836
2837
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
2837
2838
  }
2838
- function tl(e, t) {
2839
+ function rl(e, t) {
2839
2840
  const n = Mo(e) || "werksoort", r = new Set(t);
2840
2841
  if (!r.has(n)) return n;
2841
2842
  for (let o = 2; o < 500; o++) {
@@ -2844,11 +2845,11 @@ function tl(e, t) {
2844
2845
  }
2845
2846
  return `${n}-${r.size + 1}`;
2846
2847
  }
2847
- function nl(e, t) {
2848
+ function ol(e, t) {
2848
2849
  const n = e.ownerScope;
2849
2850
  return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
2850
2851
  }
2851
- function rl(e) {
2852
+ function sl(e) {
2852
2853
  return e.filter((t) => !t.archived).sort(Co);
2853
2854
  }
2854
2855
  function Co(e, t) {
@@ -2865,7 +2866,7 @@ function No(e) {
2865
2866
  const n = t.slice(0, ue), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
2866
2867
  return r > ue * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
2867
2868
  }
2868
- function ol(e, t) {
2869
+ function il(e, t) {
2869
2870
  const n = No(t.text), r = P(n);
2870
2871
  if (!r || (e.examples ?? []).some((i) => P(i) === r)) return null;
2871
2872
  const o = e.exampleCandidates ?? [], s = o.findIndex((i) => P(i.text) === r);
@@ -2881,7 +2882,7 @@ function it(e) {
2881
2882
  (t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt
2882
2883
  );
2883
2884
  }
2884
- function sl(e, t) {
2885
+ function al(e, t) {
2885
2886
  const n = P(t), r = (e.examples ?? []).filter((s) => s.trim());
2886
2887
  return { examples: r.some((s) => P(s) === n) ? r : [...r, t].slice(-Oo), exampleCandidates: Ro(e, t) };
2887
2888
  }
@@ -2889,12 +2890,12 @@ function Ro(e, t) {
2889
2890
  const n = P(t);
2890
2891
  return (e.exampleCandidates ?? []).filter((r) => P(r.text) !== n);
2891
2892
  }
2892
- function Do(e, t) {
2893
+ function $o(e, t) {
2893
2894
  const n = e.ownerScope;
2894
2895
  return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
2895
2896
  }
2896
- function il(e, t) {
2897
- return e.filter((n) => Do(n, t));
2897
+ function cl(e, t) {
2898
+ return e.filter((n) => $o(n, t));
2898
2899
  }
2899
2900
  const Xt = [
2900
2901
  {
@@ -2926,7 +2927,7 @@ const Xt = [
2926
2927
  statuses: ["draft", "open", "settled", "cancelled"]
2927
2928
  }
2928
2929
  ];
2929
- function ke(e) {
2930
+ function we(e) {
2930
2931
  return Xt.find((t) => t.key === e) ?? {
2931
2932
  key: e,
2932
2933
  label: e,
@@ -2935,10 +2936,10 @@ function ke(e) {
2935
2936
  statuses: ["draft"]
2936
2937
  };
2937
2938
  }
2938
- function al(e) {
2939
+ function ll(e) {
2939
2940
  return e.issuedAt != null;
2940
2941
  }
2941
- const cl = [
2942
+ const ul = [
2942
2943
  "status",
2943
2944
  "fileRef",
2944
2945
  "number",
@@ -2947,8 +2948,8 @@ const cl = [
2947
2948
  "dunning",
2948
2949
  "updatedAt"
2949
2950
  ];
2950
- function $o(e, t) {
2951
- const n = ke(t).signFlip !== ke(e.kindKey).signFlip, r = e.lines.map((o) => ({
2951
+ function Do(e, t) {
2952
+ const n = we(t).signFlip !== we(e.kindKey).signFlip, r = e.lines.map((o) => ({
2952
2953
  ...o,
2953
2954
  quantity: n ? -o.quantity : o.quantity,
2954
2955
  netCents: 0,
@@ -2979,9 +2980,9 @@ function $o(e, t) {
2979
2980
  source: e.source
2980
2981
  };
2981
2982
  }
2982
- function ll(e) {
2983
+ function dl(e) {
2983
2984
  return {
2984
- ...$o(e, e.kindKey),
2985
+ ...Do(e, e.kindKey),
2985
2986
  sourceTransactionId: e.sourceTransactionId,
2986
2987
  previousVersionId: e.id,
2987
2988
  version: e.version + 1,
@@ -2989,8 +2990,8 @@ function ll(e) {
2989
2990
  totals: e.totals
2990
2991
  };
2991
2992
  }
2992
- function ul(e, t = {}) {
2993
- const n = ke(e.kindKey), r = e.totals ?? { netCents: 0, taxCents: 0, grossCents: 0 };
2993
+ function pl(e, t = {}) {
2994
+ const n = we(e.kindKey), r = e.totals ?? { netCents: 0, taxCents: 0, grossCents: 0 };
2994
2995
  return {
2995
2996
  customer: {
2996
2997
  name: t.companyName ?? "",
@@ -3017,13 +3018,13 @@ function ul(e, t = {}) {
3017
3018
  valid_until: at(e.expiresAt)
3018
3019
  },
3019
3020
  totals: {
3020
- net: D(r.netCents),
3021
- tax: D(r.taxCents),
3022
- gross: D(r.grossCents)
3021
+ net: $(r.netCents),
3022
+ tax: $(r.taxCents),
3023
+ gross: $(r.grossCents)
3023
3024
  }
3024
3025
  };
3025
3026
  }
3026
- function dl(e, t = [], n = Lo) {
3027
+ function fl(e, t = [], n = Lo) {
3027
3028
  const r = e.totals ?? { netCents: 0, grossCents: 0, byRate: [] }, o = (a) => t.find((u) => u.key === a)?.percent ?? 0, s = {
3028
3029
  block_id: "lines",
3029
3030
  type: "table",
@@ -3040,20 +3041,20 @@ function dl(e, t = [], n = Lo) {
3040
3041
  ) : [
3041
3042
  Po(a.name, a.description, a.optional, n.optional),
3042
3043
  Uo(a.quantity),
3043
- D(a.unitPriceCents),
3044
- D(a.netCents)
3044
+ $(a.unitPriceCents),
3045
+ $(a.netCents)
3045
3046
  ]
3046
3047
  )
3047
3048
  }, i = {
3048
3049
  block_id: "totals",
3049
3050
  type: "totals",
3050
3051
  rows: [
3051
- { label: n.net, amount: D(r.netCents) },
3052
- { label: n.gross, amount: D(r.grossCents), emphasis: !0 }
3052
+ { label: n.net, amount: $(r.netCents) },
3053
+ { label: n.gross, amount: $(r.grossCents), emphasis: !0 }
3053
3054
  ],
3054
3055
  taxRows: r.byRate.map((a) => ({
3055
3056
  label: `${n.tax} ${o(a.taxRateKey)}%`,
3056
- amount: D(a.taxCents)
3057
+ amount: $(a.taxCents)
3057
3058
  }))
3058
3059
  };
3059
3060
  return { lines: [s], totals: [i] };
@@ -3082,7 +3083,7 @@ function at(e) {
3082
3083
  const t = new Date(e), n = (r) => String(r).padStart(2, "0");
3083
3084
  return `${n(t.getDate())}-${n(t.getMonth() + 1)}-${t.getFullYear()}`;
3084
3085
  }
3085
- const pl = [
3086
+ const ml = [
3086
3087
  {
3087
3088
  block_id: "head",
3088
3089
  type: "letterhead",
@@ -3116,37 +3117,41 @@ Hierbij onze offerte. Hieronder vindt u de specificatie.`
3116
3117
  text: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld. Deze offerte is geldig tot {quote.valid_until}."
3117
3118
  }
3118
3119
  ], Fo = Xt.map((e) => e.key), Bo = "product";
3119
- function fl(e, t) {
3120
+ function jo(e, t) {
3120
3121
  return `${e}:${t}`;
3121
3122
  }
3122
- function ml(e) {
3123
+ function hl(e) {
3123
3124
  return `${Bo}:${e}`;
3124
3125
  }
3125
- function hl(e) {
3126
+ function gl(e) {
3126
3127
  const t = e.indexOf(":");
3127
3128
  if (t < 0) return;
3128
3129
  const n = e.slice(0, t);
3129
3130
  return Fo.includes(n) ? e.slice(t + 1) : void 0;
3130
3131
  }
3131
- function gl(e) {
3132
+ function yl(e) {
3133
+ const t = /* @__PURE__ */ new Set([jo(e.kindKey, e.id)]);
3134
+ return e.companyId && t.add(`company:${e.companyId}`), e.contactId && t.add(`contact:${e.contactId}`), e.dealItemId && t.add(`work_item:${e.dealItemId}`), Array.from(t);
3135
+ }
3136
+ function bl(e) {
3132
3137
  return e.type === "agent";
3133
3138
  }
3134
- const yl = "WORK_COMMENT_ADDED", bl = "WORK_ITEM_ASSIGNED", _l = "WORK_ITEM_STATUS_CHANGED";
3135
- function jo(e, t) {
3139
+ const _l = "WORK_COMMENT_ADDED", Al = "WORK_ITEM_ASSIGNED", Sl = "WORK_ITEM_STATUS_CHANGED";
3140
+ function Ho(e, t) {
3136
3141
  const n = (r) => {
3137
3142
  const o = new Date(r);
3138
3143
  return o.setHours(0, 0, 0, 0), o.getTime();
3139
3144
  };
3140
3145
  return Math.round((n(e) - n(t)) / Qn);
3141
3146
  }
3142
- function Al(e, t) {
3147
+ function El(e, t) {
3143
3148
  if (e.closedAt != null) return { score: L, reasons: [] };
3144
3149
  const n = t.remindersById?.[e.id];
3145
3150
  if (n && n.remindAt > t.now) return { score: L, reasons: [] };
3146
3151
  let r = 0;
3147
3152
  const o = [], s = e.priority ?? "normal";
3148
3153
  if (J[s] > 0 && (r += J[s], o.push(`priority:${s}`)), typeof e.dueDate == "number") {
3149
- const i = jo(e.dueDate, t.now);
3154
+ const i = Ho(e.dueDate, t.now);
3150
3155
  i < 0 ? (r += 35, o.push("overdue")) : i === 0 && (r += 20, o.push("due-today"));
3151
3156
  }
3152
3157
  return e.source?.initiator === "system" && e.source.systemReason && (r += 15, o.push(`auto:${e.source.systemReason}`)), { score: r, reasons: o };
@@ -3159,35 +3164,35 @@ const Ne = [
3159
3164
  { key: "subtask", label: "type_subtask" },
3160
3165
  { key: "case", label: "type_case" },
3161
3166
  { key: "deal", label: "type_deal" }
3162
- ], Sl = Ne.map((e) => e.key);
3163
- function El(e) {
3167
+ ], Il = Ne.map((e) => e.key);
3168
+ function Tl(e) {
3164
3169
  return e?.types?.length ? e.types : Ne;
3165
3170
  }
3166
- function Il(e, t) {
3171
+ function kl(e, t) {
3167
3172
  return t.find((n) => n.key === e);
3168
3173
  }
3169
- function Tl(e) {
3174
+ function wl(e) {
3170
3175
  const t = e.trim().toLowerCase();
3171
3176
  return t ? t.includes("sub-task") || t.includes("subtask") || t.includes("sub task") ? "subtask" : t.includes("bug") || t.includes("defect") ? "bug" : t.includes("epic") ? "epic" : t.includes("story") ? "story" : t.includes("incident") || t.includes("problem") || t.includes("service request") || t.includes("change") ? "case" : t.includes("task") ? "task" : null : null;
3172
3177
  }
3173
- function wl(...e) {
3178
+ function vl(...e) {
3174
3179
  return e.map((t) => Ne.find((n) => n.key === t)).filter((t) => !!t);
3175
3180
  }
3176
- const Ho = "work_item", Go = "work_project", Wo = "work_activity", kl = "work_cycle";
3177
- function Vo(e) {
3178
- return `${Ho}:${e}`;
3179
- }
3180
- function Yt(e) {
3181
+ const Go = "work_item", Wo = "work_project", Vo = "work_activity", Ml = "work_cycle";
3182
+ function zo(e) {
3181
3183
  return `${Go}:${e}`;
3182
3184
  }
3183
- function vl(e) {
3185
+ function Yt(e) {
3184
3186
  return `${Wo}:${e}`;
3185
3187
  }
3186
- function Ml(e, t, n) {
3188
+ function Cl(e) {
3189
+ return `${Vo}:${e}`;
3190
+ }
3191
+ function Ol(e, t, n) {
3187
3192
  const r = `${e}-${t}`;
3188
3193
  return n ? `${r}-${n}` : r;
3189
3194
  }
3190
- function Cl(e) {
3195
+ function xl(e) {
3191
3196
  const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
3192
3197
  return t ? {
3193
3198
  projectKey: t[1].toUpperCase(),
@@ -3195,17 +3200,17 @@ function Cl(e) {
3195
3200
  ...t[3] ? { subSequence: Number(t[3]) } : {}
3196
3201
  } : null;
3197
3202
  }
3198
- function Ol(e) {
3203
+ function Nl(e) {
3199
3204
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
3200
3205
  }
3201
- function xl(e, t = 25) {
3202
- const n = /* @__PURE__ */ new Set([Vo(e.id)]);
3206
+ function Rl(e, t = 25) {
3207
+ const n = /* @__PURE__ */ new Set([zo(e.id)]);
3203
3208
  e.projectId && n.add(Yt(e.projectId));
3204
3209
  for (const r of e.ancestorKeys ?? []) n.add(r);
3205
3210
  for (const r of e.partyKeys ?? []) n.add(r);
3206
3211
  return Array.from(n).slice(0, t);
3207
3212
  }
3208
- function Nl(e) {
3213
+ function $l(e) {
3209
3214
  return [Yt(e.id)];
3210
3215
  }
3211
3216
  const Re = [
@@ -3214,33 +3219,33 @@ const Re = [
3214
3219
  { key: "done", label: "status_done", category: "done", order: 2 },
3215
3220
  { key: "cancelled", label: "status_cancelled", category: "done", order: 3 }
3216
3221
  ], qt = Re.map((e) => e.key);
3217
- function zo(e) {
3222
+ function Xo(e) {
3218
3223
  return e?.statuses?.length ? e.statuses : Re;
3219
3224
  }
3220
- function Xo(e, t) {
3225
+ function Yo(e, t) {
3221
3226
  return t.find((n) => n.key === e)?.category ?? "todo";
3222
3227
  }
3223
- function Rl(e, t) {
3228
+ function Dl(e, t) {
3224
3229
  return t.find((n) => n.key === e);
3225
3230
  }
3226
- function Dl(e) {
3227
- const t = zo(e), n = e?.defaultStatusKey;
3228
- return n && t.some((r) => r.key === n) ? n : Yo(t)[0]?.key ?? Re[0].key;
3231
+ function Ll(e) {
3232
+ const t = Xo(e), n = e?.defaultStatusKey;
3233
+ return n && t.some((r) => r.key === n) ? n : qo(t)[0]?.key ?? Re[0].key;
3229
3234
  }
3230
- function Yo(e) {
3235
+ function qo(e) {
3231
3236
  return [...e].sort((t, n) => {
3232
3237
  const r = (t.order ?? 0) - (n.order ?? 0);
3233
3238
  return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
3234
3239
  });
3235
3240
  }
3236
- function $l(e, t) {
3237
- return Xo(e, t) === "done";
3241
+ function Pl(e, t) {
3242
+ return Yo(e, t) === "done";
3238
3243
  }
3239
- function qo(e) {
3244
+ function Qo(e) {
3240
3245
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
3241
3246
  }
3242
- function Ll(e, t) {
3243
- const n = qo(e) || "status", r = /* @__PURE__ */ new Set([...t, ...qt]);
3247
+ function Kl(e, t) {
3248
+ const n = Qo(e) || "status", r = /* @__PURE__ */ new Set([...t, ...qt]);
3244
3249
  if (!r.has(n)) return n;
3245
3250
  for (let o = 2; o < 500; o++) {
3246
3251
  const s = `${n}-${o}`;
@@ -3248,7 +3253,7 @@ function Ll(e, t) {
3248
3253
  }
3249
3254
  return `${n}-${r.size + 1}`;
3250
3255
  }
3251
- function Pl(e) {
3256
+ function Ul(e) {
3252
3257
  const t = [];
3253
3258
  if (!e.length) return [{ index: -1, reason: "empty" }];
3254
3259
  const n = /* @__PURE__ */ new Set();
@@ -3260,13 +3265,13 @@ function Pl(e) {
3260
3265
  qt.includes(r.key) && t.push({ index: o, reason: "reserved_key", key: r.key }), n.has(r.key) && t.push({ index: o, reason: "duplicate_key", key: r.key }), n.add(r.key);
3261
3266
  }), 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;
3262
3267
  }
3263
- function Kl(e) {
3268
+ function Fl(e) {
3264
3269
  return e.startDate ?? Number.MAX_SAFE_INTEGER;
3265
3270
  }
3266
- function Ul(e) {
3271
+ function Bl(e) {
3267
3272
  return e.completedAt ? "completed" : e.startedAt ? "active" : "planned";
3268
3273
  }
3269
- const Qo = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), Zo = /* @__PURE__ */ new Set([
3274
+ const Zo = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), Jo = /* @__PURE__ */ new Set([
3270
3275
  "text/plain",
3271
3276
  "text/markdown",
3272
3277
  "text/csv",
@@ -3275,67 +3280,67 @@ const Qo = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
3275
3280
  "application/xml",
3276
3281
  "text/xml"
3277
3282
  ]);
3278
- function Jo(e) {
3283
+ function es(e) {
3279
3284
  const t = (e ?? "").trim().toLowerCase().split(";")[0];
3280
- return t ? Qo.has(t) ? "image" : t === "application/pdf" ? "pdf" : Zo.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
3285
+ return t ? Zo.has(t) ? "image" : t === "application/pdf" ? "pdf" : Jo.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
3281
3286
  }
3282
- const F = 1024 * 1024, es = {
3287
+ const F = 1024 * 1024, ts = {
3283
3288
  image: 5 * F,
3284
3289
  pdf: 20 * F,
3285
3290
  text: 1 * F,
3286
3291
  audio: 20 * F
3287
- }, Fl = 25 * F, Bl = 5;
3288
- function jl(e, t) {
3289
- const n = Jo(e);
3290
- return n === "unsupported" ? "unsupported" : t > es[n] ? "too-large" : null;
3292
+ }, jl = 25 * F, Hl = 5;
3293
+ function Gl(e, t) {
3294
+ const n = es(e);
3295
+ return n === "unsupported" ? "unsupported" : t > ts[n] ? "too-large" : null;
3291
3296
  }
3292
- function Hl(e) {
3297
+ function Wl(e) {
3293
3298
  return e.access !== "read" && e.effect !== "internal";
3294
3299
  }
3295
- function ts(e) {
3300
+ function ns(e) {
3296
3301
  return `${e.kind}:${e.id || e.url || e.title}`;
3297
3302
  }
3298
- function Gl(e, t = []) {
3303
+ function Vl(e, t = []) {
3299
3304
  const n = new Set(t), r = [], o = [];
3300
3305
  for (const s of e) {
3301
- const i = ts(s);
3306
+ const i = ns(s);
3302
3307
  n.has(i) || (n.add(i), r.push(s), o.push(i));
3303
3308
  }
3304
3309
  return { sources: r, keys: o };
3305
3310
  }
3306
- const Wl = "assist-source", Vl = ["blocking", "due", "open"];
3307
- function zl(e, t) {
3311
+ const zl = "assist-source", Xl = ["blocking", "due", "open"];
3312
+ function Yl(e, t) {
3308
3313
  const [n, r] = (e.subjectKey ?? "").split(":");
3309
3314
  return n === t && r ? r : void 0;
3310
3315
  }
3311
3316
  const ct = { blocking: 0, due: 1, open: 2 };
3312
- function Xl(e, t) {
3317
+ function ql(e, t) {
3313
3318
  return ct[e.band ?? "open"] - ct[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
3314
3319
  }
3315
- function Yl(e) {
3320
+ function Ql(e) {
3316
3321
  return e.sessions.filter(
3317
3322
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
3318
3323
  );
3319
3324
  }
3320
- function ql(e) {
3325
+ function Zl(e) {
3321
3326
  return e.sessions.filter(
3322
3327
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
3323
3328
  );
3324
3329
  }
3325
- function Ql(e) {
3330
+ function Jl(e) {
3326
3331
  return e.sessions.some(
3327
3332
  (n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
3328
3333
  ) ? { admit: !1, reason: "busy" } : { admit: !0 };
3329
3334
  }
3330
- function ns(e, t) {
3331
- const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((i) => !n.has(i.intent)).map((i) => os(i, r[i.intent]));
3335
+ function rs(e, t) {
3336
+ const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((i) => !n.has(i.intent)).map((i) => ss(i, r[i.intent]));
3332
3337
  if (!e.extraIntents || e.extraIntents.length === 0) return o;
3333
3338
  const s = new Set(o.map((i) => i.intent));
3334
3339
  for (const i of e.extraIntents)
3335
3340
  s.has(i.intent) || (o.push(i), s.add(i.intent));
3336
3341
  return o;
3337
3342
  }
3338
- function rs(e, t) {
3343
+ function os(e, t) {
3339
3344
  const n = {};
3340
3345
  for (const r of e.intents) {
3341
3346
  if (!r.togglable) continue;
@@ -3344,46 +3349,46 @@ function rs(e, t) {
3344
3349
  }
3345
3350
  return n;
3346
3351
  }
3347
- function Zl(e, t) {
3348
- const n = rs(e, t);
3352
+ function eu(e, t) {
3353
+ const n = os(e, t);
3349
3354
  return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
3350
3355
  }
3351
- function os(e, t) {
3356
+ function ss(e, t) {
3352
3357
  return t ? {
3353
3358
  intent: t.intent ?? e.intent,
3354
3359
  targetSchemes: t.targetSchemes ?? e.targetSchemes,
3355
3360
  transport: t.transport ?? e.transport
3356
3361
  } : e;
3357
3362
  }
3358
- function Jl(e, t) {
3363
+ function tu(e, t) {
3359
3364
  const n = [];
3360
3365
  for (const r of e) {
3361
3366
  if (!r.enabled) continue;
3362
3367
  const o = t[r.providerId];
3363
3368
  if (o)
3364
- for (const s of ns(r, o))
3369
+ for (const s of rs(r, o))
3365
3370
  n.push({ channel: r, description: o, capability: s });
3366
3371
  }
3367
3372
  return n;
3368
3373
  }
3369
- function eu(e, t) {
3374
+ function nu(e, t) {
3370
3375
  return t.filter((n) => n.capability.intent === e);
3371
3376
  }
3372
- function ss(e, t) {
3377
+ function is(e, t) {
3373
3378
  return t.filter((n) => n.capability.targetSchemes.includes(e));
3374
3379
  }
3375
- function tu(e, t) {
3376
- return ss(e.scheme, t);
3380
+ function ru(e, t) {
3381
+ return is(e.scheme, t);
3377
3382
  }
3378
- function nu(e, t, n) {
3383
+ function ou(e, t, n) {
3379
3384
  const r = [];
3380
3385
  for (const o of e)
3381
3386
  for (const s of n)
3382
3387
  s.capability.intent === t && s.capability.targetSchemes.includes(o.scheme) && r.push({ channelIntent: s, endpoint: o });
3383
3388
  return r;
3384
3389
  }
3385
- var is = /* @__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))(is || {});
3386
- const as = {
3390
+ var as = /* @__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))(as || {});
3391
+ const cs = {
3387
3392
  mailto: "mail",
3388
3393
  sip: "tel",
3389
3394
  tel: "tel",
@@ -3404,10 +3409,10 @@ const as = {
3404
3409
  id: "note",
3405
3410
  custom: "note"
3406
3411
  };
3407
- function ru(e) {
3408
- return e ? as[e] ?? "note" : "note";
3412
+ function su(e) {
3413
+ return e ? cs[e] ?? "note" : "note";
3409
3414
  }
3410
- const ou = "message_window", su = "message_templates", iu = {
3415
+ const iu = "message_window", au = "message_templates", cu = {
3411
3416
  // E-mail
3412
3417
  FROM: "from",
3413
3418
  TO: "to",
@@ -3424,11 +3429,11 @@ const ou = "message_window", su = "message_templates", iu = {
3424
3429
  // Voice/conference
3425
3430
  HOST: "host",
3426
3431
  PARTICIPANT: "participant"
3427
- }, au = (e, t) => ({ intent: e, ...t }), cu = "folder_management", lu = "remote_search", uu = "message_reactions", du = {
3432
+ }, lu = (e, t) => ({ intent: e, ...t }), uu = "folder_management", du = "remote_search", pu = "message_reactions", fu = {
3428
3433
  ok: !1,
3429
3434
  code: "UNSUPPORTED",
3430
3435
  message: "Provider does not support this op"
3431
- }, pu = "connector", fu = "context.collect", A = (e) => ({ type: "string", description: e }), _ = (e) => ({ type: "number", description: e }), Q = (e) => ({ type: "boolean", description: e }), M = A("Sheet name. Omit for the sheet the user is looking at."), lt = A("Slide id, as `inspect` reports it.");
3436
+ }, mu = "connector", hu = "context.collect", A = (e) => ({ type: "string", description: e }), _ = (e) => ({ type: "number", description: e }), Q = (e) => ({ type: "boolean", description: e }), M = A("Sheet name. Omit for the sheet the user is looking at."), lt = A("Slide id, as `inspect` reports it.");
3432
3437
  function b(e, t, n, r, o, s) {
3433
3438
  return {
3434
3439
  op: e,
@@ -3439,7 +3444,7 @@ function b(e, t, n, r, o, s) {
3439
3444
  visible: s.visible
3440
3445
  };
3441
3446
  }
3442
- const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut = { undoable: !1, visible: !0 }, ee = { undoable: !1, visible: !1 }, cs = [
3447
+ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut = { undoable: !1, visible: !0 }, ee = { undoable: !1, visible: !1 }, ls = [
3443
3448
  b(
3444
3449
  "pdf.goToPage",
3445
3450
  ["pdf"],
@@ -3534,7 +3539,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3534
3539
  ["page", "text"],
3535
3540
  ee
3536
3541
  )
3537
- ], ls = [
3542
+ ], us = [
3538
3543
  b(
3539
3544
  "sheet.setValues",
3540
3545
  ["sheet"],
@@ -3686,7 +3691,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3686
3691
  [],
3687
3692
  B
3688
3693
  )
3689
- ], us = [
3694
+ ], ds = [
3690
3695
  b(
3691
3696
  "word.replaceParagraph",
3692
3697
  ["word"],
@@ -3748,7 +3753,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3748
3753
  ["start"],
3749
3754
  B
3750
3755
  )
3751
- ], ds = [
3756
+ ], ps = [
3752
3757
  b(
3753
3758
  "slides.setText",
3754
3759
  ["slides"],
@@ -3777,23 +3782,23 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3777
3782
  ee
3778
3783
  )
3779
3784
  ], Qt = [
3780
- ...cs,
3781
3785
  ...ls,
3782
3786
  ...us,
3783
- ...ds
3787
+ ...ds,
3788
+ ...ps
3784
3789
  ];
3785
- function mu(e) {
3790
+ function gu(e) {
3786
3791
  return Qt.filter((t) => t.kinds.includes(e));
3787
3792
  }
3788
- function hu(e) {
3793
+ function yu(e) {
3789
3794
  return Qt.find((t) => t.op === e);
3790
3795
  }
3791
- const dt = /(?: {2,}|\\)$/, ps = /^\*\*([^*]+)\*\*\s+(.*)$/;
3796
+ const dt = /(?: {2,}|\\)$/, fs = /^\*\*([^*]+)\*\*\s+(.*)$/;
3792
3797
  function pt(e) {
3793
- const t = ps.exec(e);
3798
+ const t = fs.exec(e);
3794
3799
  return t ? { lead: t[1], text: t[2] } : { text: e };
3795
3800
  }
3796
- function gu(e) {
3801
+ function bu(e) {
3797
3802
  const t = (e ?? "").replace(/\r\n/g, `
3798
3803
  `).split(`
3799
3804
  `), n = [];
@@ -3872,27 +3877,27 @@ function gu(e) {
3872
3877
  }
3873
3878
  return d(), n;
3874
3879
  }
3875
- function yu(e, t) {
3876
- return Dn(e, t).replace(/^```.*$/gm, "").replace(/^\|[\s:|-]*\|$/gm, "").replace(/[ \t]*\|[ \t]*/g, " ").replace(/^[ \t]*(#{1,6}|>|[-*+]|\d+\.)[ \t]+/gm, "").replace(/!\[([^\]]*)\]\([^)]*\)/g, "$1").replace(/\[([^\]]+)\]\([^)]*\)/g, "$1").replace(/(\*\*|__|\*|_|`|~~)/g, "").replace(/[ \t]+$/gm, "").replace(/\n{3,}/g, `
3880
+ function _u(e, t) {
3881
+ return $n(e, t).replace(/^```.*$/gm, "").replace(/^\|[\s:|-]*\|$/gm, "").replace(/[ \t]*\|[ \t]*/g, " ").replace(/^[ \t]*(#{1,6}|>|[-*+]|\d+\.)[ \t]+/gm, "").replace(/!\[([^\]]*)\]\([^)]*\)/g, "$1").replace(/\[([^\]]+)\]\([^)]*\)/g, "$1").replace(/(\*\*|__|\*|_|`|~~)/g, "").replace(/[ \t]+$/gm, "").replace(/\n{3,}/g, `
3877
3882
 
3878
3883
  `).trim();
3879
3884
  }
3880
- const bu = "documents.describe", _u = "documents.inspect", Au = "documents.apply";
3881
- function Su(e) {
3885
+ const Au = "documents.describe", Su = "documents.inspect", Eu = "documents.apply";
3886
+ function Iu(e) {
3882
3887
  const t = e.indexOf(":");
3883
3888
  if (t !== -1) return e.slice(0, t);
3884
3889
  const n = e.indexOf(".");
3885
3890
  return n === -1 ? e : e.slice(0, n);
3886
3891
  }
3887
- const Eu = "installation-id";
3888
- function Iu(e) {
3892
+ const Tu = "installation-id";
3893
+ function ku(e) {
3889
3894
  const t = [];
3890
3895
  for (const n of Object.keys(e))
3891
3896
  for (const r of Object.keys(e[n]))
3892
3897
  t.push({ lang: n, key: r, value: e[n][r] });
3893
3898
  return t;
3894
3899
  }
3895
- const Tu = "notification-source", wu = (e, t) => `${e}.pref.${t}`, ku = {
3900
+ const wu = "notification-source", vu = (e, t) => `${e}.pref.${t}`, Mu = {
3896
3901
  ai: [
3897
3902
  "account.read",
3898
3903
  "account.write",
@@ -4027,48 +4032,48 @@ const Tu = "notification-source", wu = (e, t) => `${e}.pref.${t}`, ku = {
4027
4032
  time: ["entry.read", "entry.write", "work-type.read", "work-type.write"],
4028
4033
  user: ["user.read", "user.write"],
4029
4034
  work: ["item.read", "item.write", "project.read", "project.write"]
4030
- }, Zt = 9e4, fs = ["out_of_office"], Jt = (e) => fs.includes(e);
4031
- function vu(e, t, n) {
4035
+ }, Zt = 9e4, ms = ["out_of_office"], Jt = (e) => ms.includes(e);
4036
+ function Cu(e, t, n) {
4032
4037
  const r = n - e < Zt, o = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
4033
4038
  if (!o?.status) return { online: r, status: r ? "available" : "offline" };
4034
4039
  const s = o.status;
4035
4040
  return !r && !Jt(s) ? { online: !1, status: "offline" } : { online: r, status: s, message: o.message };
4036
4041
  }
4037
- function Mu(e, t) {
4042
+ function Ou(e, t) {
4038
4043
  const n = t - e.lastSeenAt < Zt, r = n || Jt(e.status) ? e.status : "offline";
4039
4044
  return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
4040
4045
  }
4041
- function Cu(e, t) {
4046
+ function xu(e, t) {
4042
4047
  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 };
4043
4048
  }
4044
- function Ou(e) {
4049
+ function Nu(e) {
4045
4050
  return e.providerAvailable && e.allowed;
4046
4051
  }
4047
- const xu = "resources.describe", Nu = "resources.search", Ru = "resources.resolve", Du = "resources.attached";
4048
- function $u(e) {
4052
+ const Ru = "resources.describe", $u = "resources.search", Du = "resources.resolve", Lu = "resources.attached";
4053
+ function Pu(e) {
4049
4054
  const t = e.indexOf(":");
4050
4055
  return t === -1 ? e : e.slice(0, t);
4051
4056
  }
4052
- const Lu = "/provider/scope/related", Pu = "/provider/scope/read", en = "auth";
4057
+ const Ku = "/provider/scope/related", Uu = "/provider/scope/read", en = "auth";
4053
4058
  function tn(e) {
4054
4059
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
4055
4060
  return t ? t[1] : null;
4056
4061
  }
4057
- function Ku(e) {
4062
+ function Fu(e) {
4058
4063
  const t = tn(e);
4059
4064
  return t ? t !== en : typeof e == "string" && e.startsWith("/wake");
4060
4065
  }
4061
- function Uu(e) {
4066
+ function Bu(e) {
4062
4067
  return typeof e != "string" || e === "" || e === "/" ? !0 : tn(e) === en;
4063
4068
  }
4064
- function ms(e) {
4069
+ function hs(e) {
4065
4070
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
4066
4071
  }
4067
- function hs(e) {
4068
- const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${ms(r)}`).join("");
4072
+ function gs(e) {
4073
+ const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${hs(r)}`).join("");
4069
4074
  return new RegExp(`^${n}\\/?$`);
4070
4075
  }
4071
- function gs(e, t) {
4076
+ function ys(e, t) {
4072
4077
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean), o = {};
4073
4078
  return n.forEach((s, i) => {
4074
4079
  if (s.startsWith(":")) {
@@ -4077,14 +4082,14 @@ function gs(e, t) {
4077
4082
  }
4078
4083
  }), o;
4079
4084
  }
4080
- function ys(e) {
4085
+ function bs(e) {
4081
4086
  return e.publicBasePath ?? `/apps/${e.name}`;
4082
4087
  }
4083
- function Fu(e) {
4088
+ function ju(e) {
4084
4089
  const t = [];
4085
4090
  for (const n of e) {
4086
4091
  if (!n?.name) continue;
4087
- const r = ys(n);
4092
+ const r = bs(n);
4088
4093
  for (const o of n.routes ?? []) {
4089
4094
  if (!o.public) continue;
4090
4095
  const s = o.path === "/" ? "" : o.path;
@@ -4098,7 +4103,7 @@ function Fu(e) {
4098
4103
  }
4099
4104
  return t;
4100
4105
  }
4101
- function bs(e, t) {
4106
+ function _s(e, t) {
4102
4107
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean);
4103
4108
  for (let o = 0; o < Math.min(n.length, r.length); o++) {
4104
4109
  const s = n[o].startsWith(":"), i = r[o].startsWith(":");
@@ -4106,17 +4111,17 @@ function bs(e, t) {
4106
4111
  }
4107
4112
  return n.length > r.length;
4108
4113
  }
4109
- function _s(e, t) {
4114
+ function As(e, t) {
4110
4115
  if (typeof e != "string") return null;
4111
4116
  let n = null;
4112
4117
  for (const r of t)
4113
- hs(r.pattern).test(e) && (!n || bs(r.pattern, n.pattern)) && (n = r);
4114
- return n ? { ...n, params: { ...n.props, ...gs(n.pattern, e) } } : null;
4118
+ gs(r.pattern).test(e) && (!n || _s(r.pattern, n.pattern)) && (n = r);
4119
+ return n ? { ...n, params: { ...n.props, ...ys(n.pattern, e) } } : null;
4115
4120
  }
4116
- function Bu(e, t) {
4117
- return _s(e, t) !== null;
4121
+ function Hu(e, t) {
4122
+ return As(e, t) !== null;
4118
4123
  }
4119
- const ju = 10 * 1024 * 1024, Hu = 25 * 1024 * 1024, Gu = "sync-target", Wu = 20, As = {
4124
+ const Gu = 10 * 1024 * 1024, Wu = 25 * 1024 * 1024, Vu = "sync-target", zu = 20, Ss = {
4120
4125
  afrikaans: [
4121
4126
  "[Muziek]",
4122
4127
  "(C) TV GELDERLAND 2021",
@@ -4266,14 +4271,14 @@ const ju = 10 * 1024 * 1024, Hu = 25 * 1024 * 1024, Gu = "sync-target", Wu = 20,
4266
4271
  "[MÚSICA]",
4267
4272
  "[Music cuts in British]"
4268
4273
  ]
4269
- }, Ss = (e) => {
4274
+ }, Es = (e) => {
4270
4275
  let t = e;
4271
- return Object.values(As).forEach((n) => {
4276
+ return Object.values(Ss).forEach((n) => {
4272
4277
  n.forEach((r) => {
4273
4278
  t = t.replaceAll(r, "");
4274
4279
  });
4275
4280
  }), t = t.replace(/\(.*?\)/g, ""), t = t.replace(/\[.*?\]/g, ""), t;
4276
- }, Es = 6e4, Is = 8e3, Ts = 2, ws = 0.4, ks = 3, vs = /* @__PURE__ */ new Set([
4281
+ }, Is = 6e4, Ts = 8e3, ks = 2, ws = 0.4, vs = 3, Ms = /* @__PURE__ */ new Set([
4277
4282
  "aan",
4278
4283
  "als",
4279
4284
  "ben",
@@ -4386,13 +4391,13 @@ const ju = 10 * 1024 * 1024, Hu = 25 * 1024 * 1024, Gu = "sync-target", Wu = 20,
4386
4391
  "you",
4387
4392
  "your"
4388
4393
  ]);
4389
- function Ms(e) {
4394
+ function Cs(e) {
4390
4395
  const t = /* @__PURE__ */ new Set();
4391
4396
  for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
4392
- n.length < ks || vs.has(n) || t.add(n);
4397
+ n.length < vs || Ms.has(n) || t.add(n);
4393
4398
  return [...t];
4394
4399
  }
4395
- function Cs(e, t) {
4400
+ function Os(e, t) {
4396
4401
  if (!e.length) return 0;
4397
4402
  if (!t.length) return 1;
4398
4403
  const n = new Set(t), r = new Set(e);
@@ -4400,38 +4405,38 @@ function Cs(e, t) {
4400
4405
  for (const s of r) n.has(s) || (o += 1);
4401
4406
  return o / r.size;
4402
4407
  }
4403
- function Os(e, t = Es) {
4408
+ function xs(e, t = Is) {
4404
4409
  const n = e.filter((i) => !i.partial && typeof i.text == "string");
4405
4410
  if (!n.length) return { text: "", segmentCount: 0 };
4406
4411
  const o = n.reduce((i, a) => Math.max(i, a.endedAt ?? 0), 0) - t;
4407
- return { text: n.filter((i) => (i.endedAt ?? 0) >= o).map((i) => Ss(i.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
4412
+ return { text: n.filter((i) => (i.endedAt ?? 0) >= o).map((i) => Es(i.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
4408
4413
  }
4409
- const xs = 60;
4410
- function Vu(e, t, n = xs) {
4414
+ const Ns = 60;
4415
+ function Xu(e, t, n = Ns) {
4411
4416
  const r = new Set(e), o = [...e];
4412
4417
  for (const s of t)
4413
4418
  !s || r.has(s) || (r.add(s), o.push(s));
4414
4419
  return o.slice(-n);
4415
4420
  }
4416
- function zu(e) {
4421
+ function Yu(e) {
4417
4422
  const { segments: t, now: n, state: r } = e;
4418
- if (r.lastTriggerAt && n - r.lastTriggerAt < Is)
4423
+ if (r.lastTriggerAt && n - r.lastTriggerAt < Ts)
4419
4424
  return { trigger: !1, reason: "too_soon" };
4420
- const o = Os(t, e.windowMs);
4425
+ const o = xs(t, e.windowMs);
4421
4426
  if (!o.text) return { trigger: !1, reason: "no_speech" };
4422
4427
  const s = o.segmentCount - (r.lastSegmentCount ?? 0);
4423
- if (r.lastQueryTerms && s < Ts)
4428
+ if (r.lastQueryTerms && s < ks)
4424
4429
  return { trigger: !1, reason: "too_few_new" };
4425
- const i = Ms(o.text);
4426
- return i.length ? r.lastQueryTerms?.length && Cs(i, r.lastQueryTerms) < ws ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: o.text, terms: i, segmentCount: o.segmentCount } : { trigger: !1, reason: "no_speech" };
4430
+ const i = Cs(o.text);
4431
+ return i.length ? r.lastQueryTerms?.length && Os(i, r.lastQueryTerms) < ws ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: o.text, terms: i, segmentCount: o.segmentCount } : { trigger: !1, reason: "no_speech" };
4427
4432
  }
4428
- const Xu = [
4433
+ const qu = [
4429
4434
  "personal",
4430
4435
  "workspace",
4431
4436
  "connections",
4432
4437
  "work",
4433
4438
  "ai"
4434
- ], Yu = "navNotice", De = {
4439
+ ], Qu = "navNotice", $e = {
4435
4440
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
4436
4441
  // shorter than geographic numbers, and a too-strict minimum silently drops them.
4437
4442
  // An over-permissive key is harmless — it simply matches nothing.
@@ -4454,22 +4459,22 @@ const Xu = [
4454
4459
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
4455
4460
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
4456
4461
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
4457
- }, Ns = "NL", Rs = 15, Ds = 8, $s = Array.from(
4458
- new Set(Object.values(De).map((e) => e.callingCode))
4462
+ }, Rs = "NL", $s = 15, Ds = 8, Ls = Array.from(
4463
+ new Set(Object.values($e).map((e) => e.callingCode))
4459
4464
  ).sort((e, t) => t.length - e.length);
4460
4465
  function ft(e) {
4461
4466
  if (e)
4462
- return De[e.trim().toUpperCase()];
4467
+ return $e[e.trim().toUpperCase()];
4463
4468
  }
4464
4469
  function Z(e, t) {
4465
4470
  return e.length >= t.nsnMin && e.length <= t.nsnMax;
4466
4471
  }
4467
4472
  function mt(e) {
4468
- if (e.length > Rs) return null;
4469
- for (const t of $s) {
4473
+ if (e.length > $s) return null;
4474
+ for (const t of Ls) {
4470
4475
  if (!e.startsWith(t)) continue;
4471
4476
  const n = e.slice(t.length);
4472
- for (const r of Object.values(De)) {
4477
+ for (const r of Object.values($e)) {
4473
4478
  if (r.callingCode !== t) continue;
4474
4479
  const o = r.trunkPrefix, s = o && n.startsWith(o) ? n.slice(o.length) : n;
4475
4480
  if (Z(s, r)) return `+${t}${s}`;
@@ -4478,14 +4483,14 @@ function mt(e) {
4478
4483
  }
4479
4484
  return e.length < Ds ? null : `+${e}`;
4480
4485
  }
4481
- function Ls(e) {
4486
+ function Ps(e) {
4482
4487
  let t = e.trim();
4483
4488
  const n = t.match(/^(sips?|tel|whatsapp):/i);
4484
4489
  n && (t = t.slice(n[0].length));
4485
4490
  const r = t.indexOf("@");
4486
4491
  return r >= 0 && (t = t.slice(0, r)), t.trim();
4487
4492
  }
4488
- function qu(e) {
4493
+ function Zu(e) {
4489
4494
  if (!e) return !1;
4490
4495
  const t = e.indexOf("@");
4491
4496
  if (t <= 0) return !1;
@@ -4494,13 +4499,13 @@ function qu(e) {
4494
4499
  }
4495
4500
  function ht(e, t) {
4496
4501
  if (!e) return null;
4497
- const n = Ls(e);
4502
+ const n = Ps(e);
4498
4503
  if (!n) return null;
4499
4504
  const r = n.startsWith("+"), o = n.replace(/\D/g, "");
4500
4505
  if (!o) return null;
4501
4506
  if (r) return mt(o);
4502
4507
  if (o.startsWith("00")) return mt(o.slice(2));
4503
- const s = ft(t) ?? ft(Ns);
4508
+ const s = ft(t) ?? ft(Rs);
4504
4509
  if (!s) return null;
4505
4510
  const i = s.trunkPrefix;
4506
4511
  if (i && o.startsWith(i)) {
@@ -4513,7 +4518,7 @@ function ht(e, t) {
4513
4518
  }
4514
4519
  return !i && Z(o, s) ? `+${s.callingCode}${o}` : null;
4515
4520
  }
4516
- function Qu(e, t = 9) {
4521
+ function Ju(e, t = 9) {
4517
4522
  const n = (e ?? "").replace(/\D/g, "");
4518
4523
  return n.length < t ? null : n.slice(-t);
4519
4524
  }
@@ -4524,11 +4529,11 @@ function nn(e) {
4524
4529
  const r = t.slice(0, n).split("+")[0], o = t.slice(n + 1);
4525
4530
  return !r || !o.includes(".") ? null : `${r}@${o}`;
4526
4531
  }
4527
- function Zu(e) {
4532
+ function ed(e) {
4528
4533
  const t = nn(e);
4529
4534
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
4530
4535
  }
4531
- const Ps = /* @__PURE__ */ new Set([
4536
+ const Ks = /* @__PURE__ */ new Set([
4532
4537
  "co.uk",
4533
4538
  "org.uk",
4534
4539
  "gov.uk",
@@ -4538,14 +4543,14 @@ const Ps = /* @__PURE__ */ new Set([
4538
4543
  "com.br",
4539
4544
  "co.za"
4540
4545
  ]);
4541
- function Ks(e) {
4546
+ function Us(e) {
4542
4547
  if (!e) return null;
4543
4548
  const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
4544
4549
  if (t.length < 2) return null;
4545
4550
  const n = t.slice(-2).join(".");
4546
- return Ps.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
4551
+ return Ks.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
4547
4552
  }
4548
- const Us = /* @__PURE__ */ new Set([
4553
+ const Fs = /* @__PURE__ */ new Set([
4549
4554
  "gmail.com",
4550
4555
  "googlemail.com",
4551
4556
  "outlook.com",
@@ -4590,16 +4595,16 @@ const Us = /* @__PURE__ */ new Set([
4590
4595
  "proximus.be",
4591
4596
  "scarlet.be"
4592
4597
  ]);
4593
- function Ju(e) {
4594
- const t = Ks(e);
4595
- return t ? Us.has(t) : !1;
4598
+ function td(e) {
4599
+ const t = Us(e);
4600
+ return t ? Fs.has(t) : !1;
4596
4601
  }
4597
- function ed(e) {
4602
+ function nd(e) {
4598
4603
  if (!e) return !1;
4599
4604
  const t = e.trim().toLowerCase();
4600
4605
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
4601
4606
  }
4602
- function td(e, t, n) {
4607
+ function rd(e, t, n) {
4603
4608
  if (!e || !t) return null;
4604
4609
  const r = e.trim().toLowerCase();
4605
4610
  if (r === "tel" || r === "sms" || r === "whatsapp") {
@@ -4617,7 +4622,7 @@ function td(e, t, n) {
4617
4622
  const o = t.trim().toLowerCase();
4618
4623
  return o ? `${r}:${o}` : null;
4619
4624
  }
4620
- const Fs = [
4625
+ const Bs = [
4621
4626
  /<blockquote/i,
4622
4627
  /class="?gmail_quote/i,
4623
4628
  // Gmail quote container
@@ -4630,24 +4635,24 @@ const Fs = [
4630
4635
  // Outlook underscore separator before "From:"
4631
4636
  /\bOn\b[\s\S]{0,200}?\bwrote:/i
4632
4637
  // Gmail "On <date> <name> wrote:"
4633
- ], gt = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Bs = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
4634
- function js(e) {
4638
+ ], gt = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, js = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
4639
+ function Hs(e) {
4635
4640
  const t = e.split(`
4636
4641
  `);
4637
4642
  for (let n = 0; n < t.length; n++)
4638
- if (Bs.test(t[n]) || gt.test(t[n]) && t.slice(n + 1, n + 4).some((r) => gt.test(r)))
4643
+ if (js.test(t[n]) || gt.test(t[n]) && t.slice(n + 1, n + 4).some((r) => gt.test(r)))
4639
4644
  return t.slice(0, n).join(`
4640
4645
  `).trim();
4641
4646
  return e;
4642
4647
  }
4643
- const Hs = /^(?:https?:|mailto:|tel:)/i, Gs = /^(?:https?:|cid:|data:image\/)/i;
4648
+ const Gs = /^(?:https?:|mailto:|tel:)/i, Ws = /^(?:https?:|cid:|data:image\/)/i;
4644
4649
  function de(e, t) {
4645
4650
  const n = e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`, "i"));
4646
4651
  return (n?.[1] ?? n?.[2] ?? n?.[3] ?? "").trim();
4647
4652
  }
4648
- const Ws = /(!\[[^\]]*\]\([^)]*\))/;
4653
+ const Vs = /(!\[[^\]]*\]\([^)]*\))/;
4649
4654
  function yt(e) {
4650
- return e.replace(/\s+/g, " ").trim().split(Ws).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
4655
+ return e.replace(/\s+/g, " ").trim().split(Vs).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
4651
4656
  }
4652
4657
  function pe(e) {
4653
4658
  return e.replace(
@@ -4655,47 +4660,47 @@ function pe(e) {
4655
4660
  (t) => `%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2, "0")}`
4656
4661
  );
4657
4662
  }
4658
- function Vs(e) {
4663
+ function zs(e) {
4659
4664
  return e.replace(/<img\b([^>]*?)\/?>/gi, (n, r) => {
4660
4665
  const o = de(r, "src");
4661
- return Gs.test(o) ? `![${yt(de(r, "alt"))}](${pe(o)})` : "";
4666
+ return Ws.test(o) ? `![${yt(de(r, "alt"))}](${pe(o)})` : "";
4662
4667
  }).replace(
4663
4668
  /<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,
4664
4669
  (n, r, o) => {
4665
4670
  const s = yt(o.replace(/<[^>]*>/g, "")), i = de(r, "href");
4666
- return Hs.test(i) ? `[${s || pe(i)}](${pe(i)})` : s;
4671
+ return Gs.test(i) ? `[${s || pe(i)}](${pe(i)})` : s;
4667
4672
  }
4668
4673
  );
4669
4674
  }
4670
- const zs = /<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i, Xs = /<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi, Ys = /<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;
4671
- function qs(e, t) {
4675
+ const Xs = /<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i, Ys = /<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi, qs = /<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;
4676
+ function Qs(e, t) {
4672
4677
  return /<table\b/i.test(e) || e.includes(`
4673
4678
 
4674
4679
  |`) || t.includes("![") || t.length > 200;
4675
4680
  }
4676
- const Qs = 40, Zs = { left: "---", center: ":---:", right: "---:" };
4677
- function Js(e) {
4681
+ const Zs = 40, Js = { left: "---", center: ":---:", right: "---:" };
4682
+ function ei(e) {
4678
4683
  const t = e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);
4679
4684
  return t ? t[1].toLowerCase() : "left";
4680
4685
  }
4681
- function ei(e) {
4686
+ function ti(e) {
4682
4687
  return e.replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().replace(/\|/g, "\\|");
4683
4688
  }
4684
- function ti(e) {
4689
+ function ni(e) {
4685
4690
  const t = [];
4686
- for (const i of e.matchAll(Xs)) {
4691
+ for (const i of e.matchAll(Ys)) {
4687
4692
  const a = [];
4688
- for (const u of i[1].matchAll(Ys)) {
4689
- const l = ei(u[3]);
4690
- if (qs(u[3], l)) return null;
4691
- a.push({ text: l, align: Js(u[2]) });
4693
+ for (const u of i[1].matchAll(qs)) {
4694
+ const l = ti(u[3]);
4695
+ if (Qs(u[3], l)) return null;
4696
+ a.push({ text: l, align: ei(u[2]) });
4692
4697
  }
4693
4698
  if (a.length === 0) return null;
4694
4699
  a.some((u) => u.text !== "") && t.push(a);
4695
4700
  }
4696
4701
  const n = t[0]?.length ?? 0;
4697
4702
  if (t.length < 2 || n < 2 || t.some((i) => i.length !== n)) return null;
4698
- const r = (i) => `| ${i.map((a) => a.text).join(" | ")} |`, o = t[1].map((i) => Zs[i.align]).join(" | "), s = t.slice(1).map(r).join(`
4703
+ const r = (i) => `| ${i.map((a) => a.text).join(" | ")} |`, o = t[1].map((i) => Js[i.align]).join(" | "), s = t.slice(1).map(r).join(`
4699
4704
  `);
4700
4705
  return `
4701
4706
 
@@ -4705,18 +4710,18 @@ ${s}
4705
4710
 
4706
4711
  `;
4707
4712
  }
4708
- function ni(e) {
4713
+ function ri(e) {
4709
4714
  return e.replace(/<\/(t[dh])\s*>/gi, " ").replace(/<\/tr\s*>/gi, `
4710
4715
  `).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi, "").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi, "");
4711
4716
  }
4712
- function ri(e) {
4717
+ function oi(e) {
4713
4718
  let t = e;
4714
- for (let n = 0; n < Qs; n++) {
4715
- const r = zs.exec(t);
4719
+ for (let n = 0; n < Zs; n++) {
4720
+ const r = Xs.exec(t);
4716
4721
  if (!r || r.index === void 0) break;
4717
- const s = ti(r[1]) ?? `
4722
+ const s = ni(r[1]) ?? `
4718
4723
 
4719
- ${ni(r[1])}
4724
+ ${ri(r[1])}
4720
4725
 
4721
4726
  `;
4722
4727
  t = t.slice(0, r.index) + s + t.slice(r.index + r[0].length);
@@ -4726,7 +4731,7 @@ ${ni(r[1])}
4726
4731
  function bt(e, t) {
4727
4732
  let n = e;
4728
4733
  return n = n.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), n = n.replace(/<!--[\s\S]*?-->/g, ""), n = n.replace(/<br\s*\/?>/gi, `
4729
- `), t && (n = ri(Vs(n))), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
4734
+ `), t && (n = oi(zs(n))), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
4730
4735
 
4731
4736
  `), n = n.replace(/<\/(div|li|tr)>/gi, `
4732
4737
  `), n = n.replace(/<\/(td|th)>/gi, " "), n = n.replace(/<[^>]+>/g, ""), n = n.replace(/<[^>]*$/, ""), n;
@@ -4734,7 +4739,7 @@ function bt(e, t) {
4734
4739
  function _t(e) {
4735
4740
  return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
4736
4741
  }
4737
- const oi = {
4742
+ const si = {
4738
4743
  euro: "€",
4739
4744
  pound: "£",
4740
4745
  yen: "¥",
@@ -4757,7 +4762,7 @@ const oi = {
4757
4762
  apos: "'"
4758
4763
  };
4759
4764
  function At(e) {
4760
- return e.replace(/&nbsp;/gi, " ").replace(/&([a-z]+);/gi, (t, n) => oi[n.toLowerCase()] ?? t).replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => _t(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => _t(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
4765
+ return e.replace(/&nbsp;/gi, " ").replace(/&([a-z]+);/gi, (t, n) => si[n.toLowerCase()] ?? t).replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => _t(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => _t(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
4761
4766
  }
4762
4767
  function St(e) {
4763
4768
  return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
@@ -4765,76 +4770,77 @@ function St(e) {
4765
4770
 
4766
4771
  `).trim();
4767
4772
  }
4768
- const si = /<\s*(html|body|div|p|table|br|span)\b/i;
4769
- function nd(e) {
4770
- return si.test(e);
4773
+ const ii = /<\s*(html|body|div|p|table|br|span)\b/i;
4774
+ function od(e) {
4775
+ return ii.test(e);
4771
4776
  }
4772
- function rd(e) {
4777
+ function sd(e) {
4773
4778
  return rn(e, !1);
4774
4779
  }
4775
- function od(e) {
4780
+ function id(e) {
4776
4781
  return rn(e, !0);
4777
4782
  }
4778
4783
  function rn(e, t) {
4779
4784
  if (typeof e != "string" || !e) return "";
4780
4785
  let n = e.length;
4781
- for (const i of Fs) {
4786
+ for (const i of Bs) {
4782
4787
  const a = e.search(i);
4783
4788
  a >= 0 && a < n && (n = a);
4784
4789
  }
4785
4790
  const r = e.slice(0, n);
4786
4791
  let o = St(At(bt(r, t)));
4787
- return o || (o = St(At(bt(e, t)))), js(o) || o;
4792
+ return o || (o = St(At(bt(e, t)))), Hs(o) || o;
4788
4793
  }
4789
4794
  export {
4790
- Xi as ACTIVE_ASSIGNMENT_STATUSES,
4795
+ Yi as ACTIVE_ASSIGNMENT_STATUSES,
4791
4796
  R as ACTIVITY_CATALOG,
4792
- es as AI_ATTACHMENT_LIMITS,
4793
- Bl as AI_ATTACHMENT_MAX_PER_TURN,
4794
- Fl as AI_ATTACHMENT_TURN_BUDGET,
4797
+ ts as AI_ATTACHMENT_LIMITS,
4798
+ Hl as AI_ATTACHMENT_MAX_PER_TURN,
4799
+ jl as AI_ATTACHMENT_TURN_BUDGET,
4795
4800
  Tt as AI_VENDORS,
4796
- kn as ALLOWED_LINK_SCHEMES,
4797
- ku as APP_PERMISSIONS,
4801
+ wn as ALLOWED_LINK_SCHEMES,
4802
+ Mu as APP_PERMISSIONS,
4798
4803
  He as ARTIFACT_MAX_BLOCKS,
4799
- Bi as ARTIFACT_MAX_BODY_BYTES,
4804
+ ji as ARTIFACT_MAX_BODY_BYTES,
4800
4805
  q as ARTIFACT_MAX_CELL_LEN,
4801
4806
  ze as ARTIFACT_MAX_KPI_ITEMS,
4802
4807
  Ge as ARTIFACT_MAX_LIST_ITEMS,
4803
4808
  Ve as ARTIFACT_MAX_TABLE_COLUMNS,
4804
4809
  We as ARTIFACT_MAX_TABLE_ROWS,
4805
- kt as ARTIFACT_MAX_TEXT_LEN,
4810
+ wt as ARTIFACT_MAX_TEXT_LEN,
4806
4811
  Ln as ASSIGNMENT_SCOPE_KIND,
4807
- Vl as ASSIST_BANDS,
4808
- Wl as ASSIST_SOURCE_PROVIDER_GROUP,
4812
+ Xl as ASSIST_BANDS,
4813
+ zl as ASSIST_SOURCE_PROVIDER_GROUP,
4809
4814
  ir as ATTENTION_STATUSES,
4810
- ko as AT_RISK_GAP,
4815
+ wo as AT_RISK_GAP,
4811
4816
  en as AUTH_APP_NAME,
4812
4817
  io as AUTO_READY_MIN_PROPOSALS,
4813
4818
  ao as AUTO_READY_RATE,
4814
4819
  hn as ActivityTypeRegistry,
4815
- Ii as BUILT_IN_ONLY,
4820
+ Ti as BUILT_IN_ONLY,
4816
4821
  ar as BULK_PENALTY,
4817
- Is as CADENCE_FLOOR_MS,
4818
- Ts as CADENCE_MIN_NEW_SEGMENTS,
4822
+ na as BUSINESS_ENTITY_LIST_SERVICE,
4823
+ Ts as CADENCE_FLOOR_MS,
4824
+ ks as CADENCE_MIN_NEW_SEGMENTS,
4819
4825
  ws as CADENCE_MIN_NOVELTY,
4820
- Es as CADENCE_WINDOW_MS,
4821
- gc as CLASSIFY_VARS,
4822
- pu as CONNECTOR_PROVIDER_GROUP,
4823
- fu as CONTEXT_COLLECT_SERVICE,
4824
- $i as CORE_DIMENSIONS,
4825
- is as CommunicationScheme,
4826
+ Is as CADENCE_WINDOW_MS,
4827
+ bc as CLASSIFY_VARS,
4828
+ mu as CONNECTOR_PROVIDER_GROUP,
4829
+ hu as CONTEXT_COLLECT_SERVICE,
4830
+ Li as CORE_DIMENSIONS,
4831
+ as as CommunicationScheme,
4826
4832
  Qn as DAY_MS,
4827
4833
  Io as DEFAULT_CHECK_IN_DAYS,
4828
4834
  Ur as DEFAULT_FORECAST_WEEKS,
4829
- Fa as DEFAULT_MEMORY_BUDGET,
4830
- Ns as DEFAULT_PHONE_REGION,
4831
- pl as DEFAULT_QUOTE_TEMPLATE_BLOCKS,
4832
- Qa as DEMAND_SOURCE_PROVIDER_GROUP,
4833
- Au as DOCUMENT_APPLY_SERVICE,
4834
- bu as DOCUMENT_DESCRIBE_SERVICE,
4835
- _u as DOCUMENT_INSPECT_SERVICE,
4835
+ ja as DEFAULT_MEMORY_BUDGET,
4836
+ Rs as DEFAULT_PHONE_REGION,
4837
+ ml as DEFAULT_QUOTE_TEMPLATE_BLOCKS,
4838
+ Ja as DEMAND_SOURCE_PROVIDER_GROUP,
4839
+ Eu as DOCUMENT_APPLY_SERVICE,
4840
+ Au as DOCUMENT_DESCRIBE_SERVICE,
4841
+ Su as DOCUMENT_INSPECT_SERVICE,
4836
4842
  He as DOCUMENT_MAX_BLOCKS,
4837
- Bi as DOCUMENT_MAX_BODY_BYTES,
4843
+ ji as DOCUMENT_MAX_BODY_BYTES,
4838
4844
  q as DOCUMENT_MAX_CELL_LEN,
4839
4845
  ze as DOCUMENT_MAX_KPI_ITEMS,
4840
4846
  Xe as DOCUMENT_MAX_LETTERHEAD_FIELDS,
@@ -4842,425 +4848,426 @@ export {
4842
4848
  Tn as DOCUMENT_MAX_RECIPIENT_LINES,
4843
4849
  Ve as DOCUMENT_MAX_TABLE_COLUMNS,
4844
4850
  We as DOCUMENT_MAX_TABLE_ROWS,
4845
- kt as DOCUMENT_MAX_TEXT_LEN,
4851
+ wt as DOCUMENT_MAX_TEXT_LEN,
4846
4852
  Ye as DOCUMENT_MAX_TOTALS_ROWS,
4847
4853
  Qt as DOCUMENT_OPERATIONS,
4848
4854
  Lo as DUTCH_SLOT_LABELS,
4849
- bc as EMPTY_WORKFLOW,
4850
- cu as FEATURE_FOLDER_MANAGEMENT,
4851
- uu as FEATURE_MESSAGE_REACTIONS,
4852
- lu as FEATURE_REMOTE_SEARCH,
4855
+ Ac as EMPTY_WORKFLOW,
4856
+ uu as FEATURE_FOLDER_MANAGEMENT,
4857
+ pu as FEATURE_MESSAGE_REACTIONS,
4858
+ du as FEATURE_REMOTE_SEARCH,
4853
4859
  Ce as FIXED_KINDS,
4854
4860
  ne as FIXED_LEVELS,
4855
4861
  Ne as FIXED_TYPES,
4856
- ia as FIXED_UNITS,
4862
+ ca as FIXED_UNITS,
4857
4863
  lr as FOLLOW_UP_HOURS,
4858
- cl as FROZEN_WRITABLE_FIELDS,
4864
+ ul as FROZEN_WRITABLE_FIELDS,
4859
4865
  qn as HOUR_MS,
4860
- si as HTML_BODY_RE,
4866
+ ii as HTML_BODY_RE,
4861
4867
  L as INELIGIBLE,
4862
- Eu as INSTALLATION_HEADER,
4868
+ Tu as INSTALLATION_HEADER,
4863
4869
  to as INTERACTION_KIND,
4864
- iu as InteractionParticipantRole,
4870
+ cu as InteractionParticipantRole,
4865
4871
  yr as KB_FALLBACK_LOCALE,
4866
4872
  Ze as KB_LOCALES,
4867
4873
  Ze as LOCALES,
4868
4874
  Re as LOOSE_STATUSES,
4869
4875
  nr as MAIL_HINT_HEADERS,
4870
- li as MAX_ACTIONS,
4876
+ ui as MAX_ACTIONS,
4871
4877
  Pn as MAX_ASSIGNMENT_TURNS,
4872
- ii as MAX_BLOCKS,
4873
- Dt as MAX_COLLECTION_DEPTH,
4874
- ju as MAX_EDITABLE_FILE_BYTES,
4875
- ai as MAX_FIELDS,
4876
- ci as MAX_LIST_ITEMS,
4877
- La as MAX_MEMORY_BROWSE,
4878
- Ua as MAX_MEMORY_BUDGET,
4879
- Pa as MAX_MEMORY_CHARS,
4880
- xs as MAX_SHOWN_KEYS,
4878
+ ai as MAX_BLOCKS,
4879
+ $t as MAX_COLLECTION_DEPTH,
4880
+ Gu as MAX_EDITABLE_FILE_BYTES,
4881
+ ci as MAX_FIELDS,
4882
+ li as MAX_LIST_ITEMS,
4883
+ Ka as MAX_MEMORY_BROWSE,
4884
+ Ba as MAX_MEMORY_BUDGET,
4885
+ Ua as MAX_MEMORY_CHARS,
4886
+ Ns as MAX_SHOWN_KEYS,
4881
4887
  xo as MAX_TOPIC_CANDIDATES,
4882
4888
  Oo as MAX_TOPIC_EXAMPLES,
4883
4889
  ue as MAX_TOPIC_EXAMPLE_CHARS,
4884
- Hu as MAX_VIEWABLE_FILE_BYTES,
4885
- Ka as MIN_MEMORY_BUDGET,
4886
- Yu as NAV_NOTICE_SLOT,
4887
- ja as NL_TAX_RATES,
4888
- Tu as NOTIFICATION_SOURCE_PROVIDER_GROUP,
4890
+ Wu as MAX_VIEWABLE_FILE_BYTES,
4891
+ Fa as MIN_MEMORY_BUDGET,
4892
+ Qu as NAV_NOTICE_SLOT,
4893
+ Ga as NL_TAX_RATES,
4894
+ wu as NOTIFICATION_SOURCE_PROVIDER_GROUP,
4889
4895
  vo as OFF_TRACK_GAP,
4890
- Ga as ONBOARDING_SOURCE_PROVIDER_GROUP,
4896
+ Va as ONBOARDING_SOURCE_PROVIDER_GROUP,
4891
4897
  Se as PAUSE_SNOOZED,
4892
4898
  Ee as PAUSE_WAITING_FOR_CUSTOMER,
4893
- De as PHONE_REGIONS,
4899
+ $e as PHONE_REGIONS,
4894
4900
  Zt as PRESENCE_ONLINE_WINDOW_MS,
4895
- fs as PRESENCE_SURVIVES_OFFLINE,
4901
+ ms as PRESENCE_SURVIVES_OFFLINE,
4896
4902
  Bo as PRODUCT_SCOPE_KIND,
4897
- Va as PROFILE_TOOL_DISPOSITIONS,
4898
- su as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
4899
- ou as PROVIDER_FEATURE_MESSAGE_WINDOW,
4900
- Us as PUBLIC_EMAIL_DOMAINS,
4903
+ Xa as PROFILE_TOOL_DISPOSITIONS,
4904
+ au as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
4905
+ iu as PROVIDER_FEATURE_MESSAGE_WINDOW,
4906
+ Fs as PUBLIC_EMAIL_DOMAINS,
4901
4907
  Je as READ_STEP_TYPES,
4902
4908
  Ar as RELATED_SUBJECT_KINDS,
4903
4909
  qt as RESERVED_STATUS_KEYS,
4904
- Sl as RESERVED_TYPE_KEYS,
4905
- Du as RESOURCE_ATTACHED_SERVICE,
4906
- xu as RESOURCE_DESCRIBE_SERVICE,
4907
- Ru as RESOURCE_RESOLVE_SERVICE,
4908
- Nu as RESOURCE_SEARCH_SERVICE,
4910
+ Il as RESERVED_TYPE_KEYS,
4911
+ Lu as RESOURCE_ATTACHED_SERVICE,
4912
+ Ru as RESOURCE_DESCRIBE_SERVICE,
4913
+ Du as RESOURCE_RESOLVE_SERVICE,
4914
+ $u as RESOURCE_SEARCH_SERVICE,
4909
4915
  Wr as SCHEDULE_ENTRY_SCOPE_KIND,
4910
- Pu as SCOPE_READ_ROUTE,
4911
- Lu as SCOPE_RELATED_ROUTE,
4912
- Xu as SETTINGS_CATEGORIES,
4913
- aa as SIGNATURE_INTENTS,
4916
+ Uu as SCOPE_READ_ROUTE,
4917
+ Ku as SCOPE_RELATED_ROUTE,
4918
+ qu as SETTINGS_CATEGORIES,
4919
+ la as SIGNATURE_INTENTS,
4914
4920
  cr as SLA_HOURS_BY_PRIORITY,
4915
- Oc as SLA_METRICS,
4916
- xc as SLA_PAUSE_REASONS,
4921
+ Nc as SLA_METRICS,
4922
+ Rc as SLA_PAUSE_REASONS,
4917
4923
  oo as STEP_MAX_TOKENS_MAX,
4918
4924
  ro as STEP_MAX_TOKENS_MIN,
4919
4925
  So as STRATEGY_ITEM_SCOPE_KIND,
4920
4926
  tr as SUMMARY_MIN_LAST_CHARS,
4921
4927
  er as SUMMARY_MIN_MESSAGES,
4922
- Wu as SYNC_RUN_MAX_ERRORS,
4923
- Gu as SYNC_TARGET_PROVIDER_GROUP,
4924
- $n as TERMINAL_ASSIGNMENT_STATUSES,
4928
+ zu as SYNC_RUN_MAX_ERRORS,
4929
+ Vu as SYNC_TARGET_PROVIDER_GROUP,
4930
+ Dn as TERMINAL_ASSIGNMENT_STATUSES,
4925
4931
  co as TERMINAL_RUN_STATUSES,
4926
4932
  Xt as TRANSACTION_KINDS,
4927
4933
  Fo as TRANSACTION_SCOPE_KINDS,
4928
- hc as TRIGGER_VARS,
4934
+ yc as TRIGGER_VARS,
4929
4935
  Ir as UNKNOWN_KIND,
4930
4936
  Eo as UNKNOWN_LEVEL_ORDER,
4931
- du as UNSUPPORTED,
4937
+ fu as UNSUPPORTED,
4932
4938
  Sn as USAGE_DIMENSIONS,
4933
4939
  En as USAGE_DIMENSION_IDS,
4934
4940
  Vr as WORKSTREAM_SCOPE_KIND,
4935
- Wo as WORK_ACTIVITY_SCOPE_KIND,
4936
- Wa as WORK_AREAS,
4937
- yl as WORK_COMMENT_ADDED,
4938
- kl as WORK_CYCLE_SYNC_KIND,
4939
- bl as WORK_ITEM_ASSIGNED,
4940
- Ho as WORK_ITEM_SCOPE_KIND,
4941
- _l as WORK_ITEM_STATUS_CHANGED,
4942
- Go as WORK_PROJECT_SCOPE_KIND,
4941
+ Vo as WORK_ACTIVITY_SCOPE_KIND,
4942
+ za as WORK_AREAS,
4943
+ _l as WORK_COMMENT_ADDED,
4944
+ Ml as WORK_CYCLE_SYNC_KIND,
4945
+ Al as WORK_ITEM_ASSIGNED,
4946
+ Go as WORK_ITEM_SCOPE_KIND,
4947
+ Sl as WORK_ITEM_STATUS_CHANGED,
4948
+ Wo as WORK_PROJECT_SCOPE_KIND,
4943
4949
  J as W_PRIORITY,
4944
- sl as acceptExampleCandidate,
4950
+ al as acceptExampleCandidate,
4945
4951
  qr as actingIdentityKey,
4946
- rl as activeWorkTypes,
4947
- di as activityIconOf,
4948
- Si as activityJoinUrl,
4952
+ sl as activeWorkTypes,
4953
+ pi as activityIconOf,
4954
+ Ei as activityJoinUrl,
4949
4955
  dn as activitySnippet,
4950
4956
  pn as activityTextParams,
4951
- Ai as activityTimelineText,
4957
+ Si as activityTimelineText,
4952
4958
  gn as activityTimestamp,
4953
- w as activityTypeInfo,
4954
- lc as actorKey,
4955
- ol as addExampleCandidate,
4959
+ k as activityTypeInfo,
4960
+ dc as actorKey,
4961
+ il as addExampleCandidate,
4956
4962
  Oe as addWorkingMs,
4957
- Mu as agePresenceEntry,
4958
- Jo as aiAttachmentKind,
4959
- jl as aiAttachmentRejection,
4963
+ Ou as agePresenceEntry,
4964
+ es as aiAttachmentKind,
4965
+ Gl as aiAttachmentRejection,
4960
4966
  je as aiBudgetLimit,
4961
- Ri as aiBudgetPeriodKey,
4967
+ $i as aiBudgetPeriodKey,
4962
4968
  yn as aiBudgetPeriodStart,
4963
- Ni as aiBudgetState,
4964
- xi as aiVendorAcceptsAttachment,
4965
- Mi as aiVendorDefaultModel,
4966
- vi as aiVendorLabel,
4967
- Oi as aiVendorNeedsBaseUrl,
4968
- Ci as aiVendorsWith,
4969
+ Ri as aiBudgetState,
4970
+ Ni as aiVendorAcceptsAttachment,
4971
+ Ci as aiVendorDefaultModel,
4972
+ Mi as aiVendorLabel,
4973
+ xi as aiVendorNeedsBaseUrl,
4974
+ Oi as aiVendorsWith,
4969
4975
  Fn as allocate,
4970
4976
  tn as appNameFromPath,
4971
- Zc as applyRounding,
4972
- ca as applySignature,
4977
+ el as applyRounding,
4978
+ ua as applySignature,
4973
4979
  so as approvalRate,
4974
- Hi as artifactBodyBytes,
4975
- Gi as artifactOutline,
4976
- Dn as artifactToMarkdown,
4977
- fc as assignmentMismatch,
4978
- qi as assignmentScopeKey,
4979
- Ji as assignmentSubject,
4980
- qa as availabilityByPerson,
4981
- za as belongsOnCalendar,
4982
- ta as belongsToEntity,
4983
- Ei as buildActivityPreview,
4984
- Jl as buildChannelIntents,
4985
- Wi as buildShareKeys,
4986
- Os as buildWindow,
4980
+ Gi as artifactBodyBytes,
4981
+ Wi as artifactOutline,
4982
+ $n as artifactToMarkdown,
4983
+ hc as assignmentMismatch,
4984
+ Qi as assignmentScopeKey,
4985
+ ea as assignmentSubject,
4986
+ Za as availabilityByPerson,
4987
+ Ya as belongsOnCalendar,
4988
+ ra as belongsToEntity,
4989
+ Ii as buildActivityPreview,
4990
+ tu as buildChannelIntents,
4991
+ Vi as buildShareKeys,
4992
+ xs as buildWindow,
4987
4993
  Yn as businessEntitySender,
4988
- wr as calendarDaysBetween,
4994
+ kr as calendarDaysBetween,
4989
4995
  xe as calendarOf,
4990
- Oa as canNestUnder,
4991
- Uc as canParent,
4992
- Xa as capacityTotal,
4993
- sc as capacityWeights,
4994
- gi as carriesText,
4995
- Na as categoryLabel,
4996
- Xo as categoryOf,
4997
- ru as channelKindForScheme,
4998
- pi as channelKindOf,
4999
- Yc as checkInOverdueMs,
5000
- yc as clampStepMaxTokens,
5001
- ba as classifyMail,
5002
- od as cleanMessageMarkdown,
5003
- rd as cleanMessageText,
5004
- na as codeQuery,
5005
- Xl as compareAssistRank,
4996
+ Na as canNestUnder,
4997
+ Bc as canParent,
4998
+ qa as capacityTotal,
4999
+ ac as capacityWeights,
5000
+ yi as carriesText,
5001
+ $a as categoryLabel,
5002
+ Yo as categoryOf,
5003
+ su as channelKindForScheme,
5004
+ fi as channelKindOf,
5005
+ Qc as checkInOverdueMs,
5006
+ _c as clampStepMaxTokens,
5007
+ Aa as classifyMail,
5008
+ id as cleanMessageMarkdown,
5009
+ sd as cleanMessageText,
5010
+ oa as codeQuery,
5011
+ ql as compareAssistRank,
5006
5012
  Co as compareWorkTypes,
5007
5013
  Xn as conditionHolds,
5008
- $o as copyFrom,
5014
+ Do as copyFrom,
5009
5015
  W as countsAsPlanned,
5010
- Ya as coverageByPerson,
5011
- Ja as coverageFor,
5016
+ Qa as coverageByPerson,
5017
+ tc as coverageFor,
5012
5018
  Lt as coversWorkstream,
5013
5019
  Pt as cycleDayIndex,
5014
- Kl as cycleOrder,
5015
- Ul as cycleState,
5016
- ea as decideAssignmentState,
5017
- zu as decideCadence,
5018
- Ql as decideIncomingCall,
5020
+ Fl as cycleOrder,
5021
+ Bl as cycleState,
5022
+ ta as decideAssignmentState,
5023
+ Yu as decideCadence,
5024
+ Jl as decideIncomingCall,
5019
5025
  br as defaultLocaleOf,
5020
- Dl as defaultStatusKey,
5021
- au as defineIntent,
5026
+ Ll as defaultStatusKey,
5027
+ lu as defineIntent,
5022
5028
  hr as depthOf,
5023
- vu as derivePresence,
5024
- Ki as describeClause,
5025
- Zl as disabledIntentsFromCapabilities,
5026
- Hi as documentBodyBytes,
5027
- Su as documentKindOf,
5028
- Gi as documentOutline,
5029
- Dn as documentToMarkdown,
5030
- yu as documentToText,
5031
- Rc as dueAtOf,
5032
- Qc as elapsedSeconds,
5033
- Zu as emailDomain,
5034
- td as endpointKey,
5029
+ Cu as derivePresence,
5030
+ Ui as describeClause,
5031
+ eu as disabledIntentsFromCapabilities,
5032
+ Gi as documentBodyBytes,
5033
+ Iu as documentKindOf,
5034
+ Wi as documentOutline,
5035
+ $n as documentToMarkdown,
5036
+ _u as documentToText,
5037
+ Dc as dueAtOf,
5038
+ Jc as elapsedSeconds,
5039
+ ed as emailDomain,
5040
+ rd as endpointKey,
5035
5041
  Cr as erlangC,
5036
- gs as extractParams,
5037
- Ms as extractTerms,
5038
- pa as fillDocument,
5042
+ ys as extractParams,
5043
+ Cs as extractTerms,
5044
+ ma as fillDocument,
5039
5045
  zn as fillText,
5040
- tu as filterByEndpoint,
5041
- eu as filterByIntent,
5042
- ss as filterByTargetScheme,
5043
- Pi as filterableDimensions,
5046
+ ru as filterByEndpoint,
5047
+ nu as filterByIntent,
5048
+ is as filterByTargetScheme,
5049
+ Ki as filterableDimensions,
5044
5050
  te as findAiVendor,
5045
- Bc as fixedLevelForName,
5046
- Tl as fixedTypeForName,
5047
- wl as fixedTypes,
5048
- Iu as flattenLocales,
5051
+ Hc as fixedLevelForName,
5052
+ wl as fixedTypeForName,
5053
+ vl as fixedTypes,
5054
+ ku as flattenLocales,
5049
5055
  H as floorToPeriod,
5050
- nc as forecastIntervals,
5056
+ oc as forecastIntervals,
5051
5057
  Yr as formatActingIdentity,
5052
- D as formatCents,
5053
- el as formatClock,
5054
- Jc as formatHm,
5055
- Ml as formatItemKey,
5058
+ $ as formatCents,
5059
+ nl as formatClock,
5060
+ tl as formatHm,
5061
+ Ol as formatItemKey,
5056
5062
  j as formatPeriod,
5057
- Lc as formatSlaDuration,
5058
- Gl as freshSources,
5059
- Ti as getActivitySeenUserIds,
5060
- la as getContactEndpoints,
5061
- wa as getShortTitle,
5062
- Ta as getUrgencyScore,
5063
- vc as hasReacted,
5064
- jc as healthCategory,
5065
- Hc as healthsInCategory,
5066
- $t as heightOf,
5067
- va as helpCenterText,
5068
- mc as humanizeAction,
5063
+ Kc as formatSlaDuration,
5064
+ Vl as freshSources,
5065
+ ki as getActivitySeenUserIds,
5066
+ da as getContactEndpoints,
5067
+ va as getShortTitle,
5068
+ wa as getUrgencyScore,
5069
+ Cc as hasReacted,
5070
+ Gc as healthCategory,
5071
+ Wc as healthsInCategory,
5072
+ Dt as heightOf,
5073
+ Ca as helpCenterText,
5074
+ gc as humanizeAction,
5069
5075
  no as interactionIdOf,
5070
- gl as isAgentUser,
5071
- Ea as isAssigned,
5072
- Yi as isAssignmentTerminal,
5076
+ bl as isAgentUser,
5077
+ Ta as isAssigned,
5078
+ qi as isAssignmentTerminal,
5073
5079
  Jr as isAssignmentTrigger,
5074
- Sc as isAutoReady,
5080
+ Ic as isAutoReady,
5075
5081
  mr as isAwaitingThem,
5076
- ki as isChatMessageActivity,
5077
- Ia as isClosed,
5078
- bi as isConnectedType,
5079
- Ku as isDeepLink,
5082
+ vi as isChatMessageActivity,
5083
+ ka as isClosed,
5084
+ _i as isConnectedType,
5085
+ Fu as isDeepLink,
5080
5086
  gr as isDescendant,
5081
- ma as isEligible,
5087
+ ga as isEligible,
5082
5088
  wi as isEmailActivity,
5083
- al as isFrozen,
5084
- nd as isHtmlBody,
5085
- Ic as isInFlight,
5089
+ ll as isFrozen,
5090
+ od as isHtmlBody,
5091
+ kc as isInFlight,
5086
5092
  sr as isInteractionUnseen,
5087
- Uu as isLandingPath,
5093
+ Bu as isLandingPath,
5088
5094
  Jn as isLikelyBulk,
5089
5095
  Et as isMessageShape,
5090
- fi as isMessageType,
5091
- bs as isMoreSpecificPattern,
5096
+ mi as isMessageType,
5097
+ _s as isMoreSpecificPattern,
5092
5098
  It as isNoteShape,
5093
5099
  Ao as isOpenClock,
5094
- Hl as isOutwardTool,
5100
+ Wl as isOutwardTool,
5095
5101
  dr as isParked,
5096
5102
  lo as isPaused,
5097
- yi as isPlaybookAuthoredType,
5098
- Ju as isPublicEmailDomain,
5099
- Bu as isPublicPath,
5103
+ bi as isPlaybookAuthoredType,
5104
+ td as isPublicEmailDomain,
5105
+ Hu as isPublicPath,
5100
5106
  pr as isReminderActive,
5101
- hi as isReplyableType,
5102
- Aa as isSlaAtRisk,
5103
- Ec as isTerminal,
5104
- ga as isThreadLongEnough,
5105
- _i as isTranscriptType,
5106
- $l as isWorkClosed,
5107
- nl as isWorkTypeVisible,
5108
- xl as itemDossierKeys,
5107
+ gi as isReplyableType,
5108
+ Ea as isSlaAtRisk,
5109
+ Tc as isTerminal,
5110
+ ba as isThreadLongEnough,
5111
+ Ai as isTranscriptType,
5112
+ Pl as isWorkClosed,
5113
+ ol as isWorkTypeVisible,
5114
+ Rl as itemDossierKeys,
5109
5115
  N as kindFor,
5110
- zo as ladderFor,
5116
+ Xo as ladderFor,
5111
5117
  To as levelIn,
5112
5118
  Te as levelOrder,
5113
5119
  Er as lineNet,
5114
- ka as linkLabel,
5120
+ Ma as linkLabel,
5115
5121
  Di as listeningAllowed,
5116
- Ca as localeInstruction,
5117
- Ma as localeName,
5118
- xa as localesOf,
5119
- qu as looksLikeEmail,
5122
+ xa as localeInstruction,
5123
+ Oa as localeName,
5124
+ Ra as localesOf,
5125
+ Zu as looksLikeEmail,
5120
5126
  Ct as lookup,
5121
- oa as marginCents,
5122
- gu as markdownToDocument,
5123
- nu as matchContactToIntents,
5124
- _s as matchPublicRoute,
5125
- Da as mcpCredentialScope,
5126
- $a as mcpToolPrefix,
5127
- Gc as measureRatio,
5128
- Vu as mergeShownKeys,
5127
+ ia as marginCents,
5128
+ bu as markdownToDocument,
5129
+ ou as matchContactToIntents,
5130
+ As as matchPublicRoute,
5131
+ La as mcpCredentialScope,
5132
+ Pa as mcpToolPrefix,
5133
+ Vc as measureRatio,
5134
+ Xu as mergeShownKeys,
5129
5135
  un as messageCountsAs,
5130
- Ui as metricOption,
5136
+ Fi as metricOption,
5131
5137
  Kt as minutesOn,
5132
- ed as needsPhoneRegion,
5133
- mi as nestsUnderParent,
5134
- Fc as nextLevelBelow,
5135
- Dc as nextSlaClock,
5136
- ll as nextVersion,
5137
- ji as normalizeArtifactBlocks,
5138
- ui as normalizeBlocks,
5139
- ji as normalizeDocumentBlocks,
5138
+ nd as needsPhoneRegion,
5139
+ hi as nestsUnderParent,
5140
+ jc as nextLevelBelow,
5141
+ Lc as nextSlaClock,
5142
+ dl as nextVersion,
5143
+ Hi as normalizeArtifactBlocks,
5144
+ di as normalizeBlocks,
5145
+ Hi as normalizeDocumentBlocks,
5140
5146
  nn as normalizeEmail,
5141
5147
  P as normalizeExample,
5142
5148
  Kn as normalizeGtin,
5143
- wu as notificationPrefKey,
5144
- Cs as novelty,
5145
- hu as operationDescriptor,
5146
- mu as operationsForKind,
5147
- fa as organizationSender,
5149
+ vu as notificationPrefKey,
5150
+ Os as novelty,
5151
+ yu as operationDescriptor,
5152
+ gu as operationsForKind,
5153
+ ha as organizationSender,
5148
5154
  ce as overlapSeconds,
5149
- Za as overlaps,
5150
- Wc as paceRatio,
5151
- ha as parkMarksById,
5152
- ac as parseActingIdentity,
5153
- ra as parseAmount,
5154
- Mc as parseClockMinutes,
5155
- Cl as parseItemKey,
5156
- hs as pathToRegex,
5155
+ ec as overlaps,
5156
+ zc as paceRatio,
5157
+ ya as parkMarksById,
5158
+ lc as parseActingIdentity,
5159
+ sa as parseAmount,
5160
+ Oc as parseClockMinutes,
5161
+ xl as parseItemKey,
5162
+ gs as pathToRegex,
5157
5163
  Ft as patternFor,
5158
5164
  Ut as patternStartTime,
5159
- Cc as pauseBitFor,
5160
- Li as periodsInRange,
5161
- Qu as phoneSuffix,
5162
- ya as pickMailHeaders,
5163
- da as pickTemplate,
5164
- ic as placeLumps,
5165
+ xc as pauseBitFor,
5166
+ Pi as periodsInRange,
5167
+ Ju as phoneSuffix,
5168
+ _a as pickMailHeaders,
5169
+ fa as pickTemplate,
5170
+ cc as placeLumps,
5165
5171
  cn as plainTextFromMarkdown,
5166
- Nc as planSlaEvent,
5167
- ec as plannedBillable,
5172
+ $c as planSlaEvent,
5173
+ nc as plannedBillable,
5168
5174
  Pr as plannedWorkTypeKey,
5169
5175
  Zr as playbookActor,
5170
- Ac as procedureOf,
5171
- ml as productScopeKey,
5172
- Nl as projectDossierKeys,
5173
- ys as publicBasePathFor,
5174
- Fu as publicRoutePatterns,
5175
- Zi as reactionWakesAssignment,
5176
+ Ec as procedureOf,
5177
+ hl as productScopeKey,
5178
+ $l as projectDossierKeys,
5179
+ bs as publicBasePathFor,
5180
+ ju as publicRoutePatterns,
5181
+ Ji as reactionWakesAssignment,
5176
5182
  fe as readPath,
5177
5183
  et as readStepError,
5178
5184
  ur as recencyOf,
5179
- ua as recipientLocale,
5185
+ pa as recipientLocale,
5180
5186
  eo as refKey,
5181
- Ks as registrableDomain,
5187
+ Us as registrableDomain,
5182
5188
  Ro as rejectExampleCandidate,
5183
- Ba as relatedByDefault,
5189
+ Ha as relatedByDefault,
5184
5190
  Ie as remainingMsOf,
5185
5191
  Nr as requiredAgents,
5186
5192
  Lr as requirementFor,
5187
- rs as resolveAccountCapabilities,
5193
+ os as resolveAccountCapabilities,
5188
5194
  me as resolveActivityText,
5189
- ns as resolveChannelIntents,
5190
- sa as resolvePrice,
5195
+ rs as resolveChannelIntents,
5196
+ aa as resolvePrice,
5191
5197
  Gn as resolveSignature,
5192
- Cu as resolveWorkMode,
5193
- $u as resourceKindOf,
5194
- Xc as rollupChildren,
5198
+ xu as resolveWorkMode,
5199
+ Pu as resourceKindOf,
5200
+ qc as rollupChildren,
5195
5201
  G as roundHalfUp,
5196
- cc as runActor,
5197
- wc as runInteractionId,
5202
+ uc as runActor,
5203
+ vc as runInteractionId,
5198
5204
  On as sanitizeInline,
5199
- Ss as sanitizeTranscript,
5200
- rc as scheduleEntryScopeKey,
5201
- Sa as scoreInteraction,
5202
- Al as scoreWorkItem,
5203
- Ra as selectLenses,
5205
+ Es as sanitizeTranscript,
5206
+ sc as scheduleEntryScopeKey,
5207
+ Ia as scoreInteraction,
5208
+ El as scoreWorkItem,
5209
+ Da as selectLenses,
5204
5210
  Or as serviceLevel,
5205
- ql as sessionsHoldCannotReach,
5206
- Yl as sessionsToHold,
5211
+ Zl as sessionsHoldCannotReach,
5212
+ Ql as sessionsToHold,
5207
5213
  Mt as shareKeyForTeam,
5208
5214
  vt as shareKeyForUser,
5209
- Vi as shareKeysForViewer,
5210
- tc as shortfalls,
5211
- Ou as shouldRunAudioPipeline,
5212
- $c as slaBadgeTone,
5213
- _a as slaHoursByInbox,
5215
+ zi as shareKeysForViewer,
5216
+ rc as shortfalls,
5217
+ Nu as shouldRunAudioPipeline,
5218
+ Pc as slaBadgeTone,
5219
+ Sa as slaHoursByInbox,
5214
5220
  fr as slaHoursFor,
5215
- Yo as sortStatuses,
5216
- ts as sourceKey,
5221
+ qo as sortStatuses,
5222
+ ns as sourceKey,
5217
5223
  Xr as spreadOverWeights,
5218
- Rl as statusIn,
5219
- _c as stepsOf,
5220
- Kc as strategyAncestorKeysFor,
5221
- Pc as strategyDossierKeys,
5224
+ Dl as statusIn,
5225
+ Sc as stepsOf,
5226
+ Fc as strategyAncestorKeysFor,
5227
+ Uc as strategyDossierKeys,
5222
5228
  zt as strategyItemScopeKey,
5223
5229
  ln as stripHtml,
5224
- Tc as subjectKeyOf,
5230
+ wc as subjectKeyOf,
5225
5231
  Bt as subjectOf,
5226
- zl as subjectRef,
5227
- Ol as suggestProjectKey,
5228
- Vc as suggestedHealth,
5229
- kc as summarizeReactions,
5230
- pc as targetById,
5231
- dc as targetForActivityType,
5232
- qc as targetOrder,
5232
+ Yl as subjectRef,
5233
+ Nl as suggestProjectKey,
5234
+ Xc as suggestedHealth,
5235
+ Mc as summarizeReactions,
5236
+ mc as targetById,
5237
+ fc as targetForActivityType,
5238
+ Zc as targetOrder,
5233
5239
  Sr as taxRateFor,
5234
- kr as termsFor,
5240
+ wr as termsFor,
5235
5241
  Qr as toActingIdentity,
5236
5242
  ht as toE164,
5237
- zi as toolSourceKinds,
5238
- Do as topicOfferedForTeam,
5239
- il as topicsForTeam,
5243
+ Xi as toolSourceKinds,
5244
+ $o as topicOfferedForTeam,
5245
+ cl as topicsForTeam,
5240
5246
  xr as trafficIntensity,
5241
- ul as transactionContext,
5242
- hl as transactionIdFromScope,
5243
- ke as transactionKind,
5244
- fl as transactionScopeKey,
5245
- dl as transactionSlots,
5246
- Ha as transactionTotals,
5247
+ pl as transactionContext,
5248
+ yl as transactionDossierKeys,
5249
+ gl as transactionIdFromScope,
5250
+ we as transactionKind,
5251
+ jo as transactionScopeKey,
5252
+ fl as transactionSlots,
5253
+ Wa as transactionTotals,
5247
5254
  No as truncateExample,
5248
- Il as typeIn,
5249
- El as typesFor,
5250
- Ll as uniqueWorkStatusKey,
5251
- tl as uniqueWorkTypeKey,
5255
+ kl as typeIn,
5256
+ Tl as typesFor,
5257
+ Kl as uniqueWorkStatusKey,
5258
+ rl as uniqueWorkTypeKey,
5252
5259
  In as usageMetricId,
5253
- Fi as usageMetrics,
5254
- Pl as validateStatuses,
5255
- uc as valueAtPath,
5260
+ Bi as usageMetrics,
5261
+ Ul as validateStatuses,
5262
+ pc as valueAtPath,
5256
5263
  Me as waitHoursOf,
5257
- Qi as wakesAssignment,
5258
- vl as workActivityScopeKey,
5259
- Vo as workItemScopeKey,
5264
+ Zi as wakesAssignment,
5265
+ Cl as workActivityScopeKey,
5266
+ zo as workItemScopeKey,
5260
5267
  Yt as workProjectScopeKey,
5261
- zc as workRatio,
5262
- qo as workStatusKey,
5268
+ Yc as workRatio,
5269
+ Qo as workStatusKey,
5263
5270
  Mo as workTypeKey,
5264
5271
  Ae as workingMsBetween,
5265
- oc as workstreamScopeKey
5272
+ ic as workstreamScopeKey
5266
5273
  };