@opencxh/domain 1.260.0 → 1.262.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
@@ -909,7 +909,33 @@ function qs(e, t) {
909
909
  ]
910
910
  }));
911
911
  }
912
- const Nt = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), Xe = 200, Ye = 100, qe = 200, Qe = 12, Ze = 4, Je = 10, Mn = 8, et = 12, Ot = 4e3, Z = 500, Qs = 1024 * 1024, Cn = /* @__PURE__ */ new Set([
912
+ function Qs(e, t) {
913
+ return e.filter((r) => !r.enabled || r.scopeKind !== t.scopeKind || r.act !== t.act ? !1 : r.minAmountCents == null ? !0 : t.amountCents != null && t.amountCents >= r.minAmountCents).sort((r, o) => {
914
+ const i = r.minAmountCents ?? -1;
915
+ return (o.minAmountCents ?? -1) - i || r.id.localeCompare(o.id);
916
+ })[0];
917
+ }
918
+ function Zs(e, t, n, r) {
919
+ const o = new Set(e.userIds);
920
+ for (const i of e.teamIds)
921
+ for (const s of t[i] ?? []) o.add(s);
922
+ return r || o.delete(n), [...o];
923
+ }
924
+ function Js(e, t) {
925
+ if (e.status !== "pending" || e.decisions.some((i) => i.userId === t.userId)) return e;
926
+ const n = [...e.decisions, t], r = e.pendingUserIds.filter((i) => i !== t.userId);
927
+ if (t.decision === "rejected")
928
+ return { ...e, decisions: n, pendingUserIds: r, status: "rejected", settledAt: t.at };
929
+ const o = e.rule === "any" || r.length === 0;
930
+ return {
931
+ ...e,
932
+ decisions: n,
933
+ pendingUserIds: r,
934
+ status: o ? "approved" : "pending",
935
+ settledAt: o ? t.at : void 0
936
+ };
937
+ }
938
+ const Nt = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), Xe = 200, Ye = 100, qe = 200, Qe = 12, Ze = 4, Je = 10, Mn = 8, et = 12, Ot = 4e3, Z = 500, ea = 1024 * 1024, Cn = /* @__PURE__ */ new Set([
913
939
  "heading",
914
940
  "paragraph",
915
941
  "list",
@@ -985,7 +1011,7 @@ function B(e, t = 200) {
985
1011
  function Ln(e, t = "info") {
986
1012
  return typeof e == "string" && Nt.has(e) ? e : t;
987
1013
  }
988
- function Zs(e, t = () => {
1014
+ function ta(e, t = () => {
989
1015
  }) {
990
1016
  if (!Array.isArray(e)) return [];
991
1017
  const n = [];
@@ -1204,10 +1230,10 @@ function Zs(e, t = () => {
1204
1230
  }
1205
1231
  return n;
1206
1232
  }
1207
- function Js(e) {
1233
+ function na(e) {
1208
1234
  return JSON.stringify(e).length;
1209
1235
  }
1210
- function ea(e) {
1236
+ function ra(e) {
1211
1237
  return {
1212
1238
  blocks: e.length,
1213
1239
  types: e.map((t) => t.type),
@@ -1295,44 +1321,44 @@ function Kn(e, t) {
1295
1321
  `;
1296
1322
  }
1297
1323
  const xt = (e) => `user:${e}`, Rt = (e) => `team:${e}`;
1298
- function ta(e) {
1324
+ function oa(e) {
1299
1325
  const t = /* @__PURE__ */ new Set();
1300
1326
  for (const n of e ?? [])
1301
1327
  n?.id && (n.kind === "user" && t.add(xt(n.id)), n.kind === "team" && t.add(Rt(n.id)));
1302
1328
  return [...t].sort();
1303
1329
  }
1304
- function na(e, t) {
1330
+ function ia(e, t) {
1305
1331
  return [xt(e), ...t.map(Rt)];
1306
1332
  }
1307
- function ra(e) {
1333
+ function sa(e) {
1308
1334
  const t = /* @__PURE__ */ new Set();
1309
1335
  for (const n of e ?? [])
1310
1336
  n?.kind && t.add(n.kind);
1311
1337
  return [...t];
1312
1338
  }
1313
- const Un = ["done", "escalated"], oa = ["open", "waiting"];
1314
- function ia(e) {
1339
+ const Un = ["done", "escalated"], aa = ["open", "waiting"];
1340
+ function ca(e) {
1315
1341
  return Un.includes(e);
1316
1342
  }
1317
1343
  const Fn = "assignment";
1318
- function sa(e) {
1344
+ function la(e) {
1319
1345
  return `${Fn}:${e}`;
1320
1346
  }
1321
- function aa(e, t, n, r) {
1347
+ function ua(e, t, n, r) {
1322
1348
  if (e.direction === "inbound") return !0;
1323
1349
  if (e.author?.type === "user" && e.author.id === t) return !1;
1324
1350
  const o = e.payload?.mentions;
1325
1351
  return Array.isArray(o) && o.includes(t) || r && r === t ? !0 : n === "reply";
1326
1352
  }
1327
- function ca(e) {
1353
+ function da(e) {
1328
1354
  const { targetAuthorId: t, reactorId: n, agentId: r, on: o } = e;
1329
1355
  return !o || !t || t !== r ? !1 : n !== r;
1330
1356
  }
1331
- function la(e) {
1357
+ function pa(e) {
1332
1358
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
1333
1359
  }
1334
1360
  const Bn = 12;
1335
- function ua(e, t, n = Bn) {
1361
+ function fa(e, t, n = Bn) {
1336
1362
  const r = t + 1;
1337
1363
  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 ? {
1338
1364
  status: "escalated",
@@ -1347,7 +1373,7 @@ function ua(e, t, n = Bn) {
1347
1373
  };
1348
1374
  }
1349
1375
  const jn = 2;
1350
- function da(e, t, n, r) {
1376
+ function ma(e, t, n, r) {
1351
1377
  if (t === n)
1352
1378
  return "een agent schakelt zichzelf niet in";
1353
1379
  if (!r?.includes(t))
@@ -1358,8 +1384,8 @@ function da(e, t, n, r) {
1358
1384
  const i = Math.max(0, o.length - 1);
1359
1385
  return i >= jn ? `er zijn al ${i} agents ingeschakeld voor deze vraag; dieper delegeren mag niet` : null;
1360
1386
  }
1361
- const pa = "organization.business-entities.list";
1362
- function fa(e, t, n) {
1387
+ const ha = "organization.business-entities.list";
1388
+ function ga(e, t, n) {
1363
1389
  return e ? e === t : n;
1364
1390
  }
1365
1391
  function Hn(e) {
@@ -1374,7 +1400,7 @@ function Gn(e) {
1374
1400
  t += Number(e[n]) * (n % 2 === 0 ? 3 : 1);
1375
1401
  return (10 - t % 10) % 10;
1376
1402
  }
1377
- function ma(e, t) {
1403
+ function ya(e, t) {
1378
1404
  const n = t.trim(), r = Hn(n), o = [{ sku: n }, { barcodes: { $in: [n] } }];
1379
1405
  return r && o.push({ gtin: r }), { organizationId: e, $or: o };
1380
1406
  }
@@ -1399,7 +1425,7 @@ function D(e, t = {}) {
1399
1425
  l > 0 && (s.length - l) % 3 === 0 && (u += r), u += s[l];
1400
1426
  return `${o ? "-" : ""}${u}${n}${a}`;
1401
1427
  }
1402
- function ha(e) {
1428
+ function ba(e) {
1403
1429
  const t = e.trim().replace(/[\s ]/g, "");
1404
1430
  if (!t) return;
1405
1431
  const n = t.replace(/^[-+]?[^\d.,-]*/, "").replace(/[^\d.,-]+$/, ""), r = /^-/.test(t) || /-$/.test(t), o = n.replace(/-/g, "");
@@ -1414,7 +1440,7 @@ function ha(e) {
1414
1440
  function zn(e) {
1415
1441
  return /^\d+$/.test(e) ? !0 : e.includes(".") && e.includes(",") ? !1 : /^\d{1,3}([.,]\d{3})*$/.test(e);
1416
1442
  }
1417
- function ga(e) {
1443
+ function _a(e) {
1418
1444
  return e.costPriceCents == null ? e.netCents : e.netCents - z(e.costPriceCents * e.quantity);
1419
1445
  }
1420
1446
  const Vn = [
@@ -1439,7 +1465,7 @@ const Vn = [
1439
1465
  matches: (e, t) => !e.contractId && !e.companyId && !!e.segmentKey && e.segmentKey === t.segmentKey && !!e.categoryKey
1440
1466
  }
1441
1467
  ];
1442
- function ya(e, t, n) {
1468
+ function Aa(e, t, n) {
1443
1469
  const r = n.filter(
1444
1470
  (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)
1445
1471
  );
@@ -1460,19 +1486,19 @@ function ya(e, t, n) {
1460
1486
  function Xn(e, t) {
1461
1487
  return e.unitPriceCents != null ? e.unitPriceCents : e.discountPercent != null ? z(t * (1 - e.discountPercent / 100)) : t;
1462
1488
  }
1463
- const ba = ["piece", "hour", "day", "month", "km", "license"], _a = /* @__PURE__ */ new Set(["mail", "message"]);
1489
+ const Ea = ["piece", "hour", "day", "month", "km", "license"], Sa = /* @__PURE__ */ new Set(["mail", "message"]);
1464
1490
  function Yn(e, t) {
1465
1491
  const n = e.settings?.signatures?.[t];
1466
1492
  return !n?.enabled || !n.body || n.body.trim() === "" ? null : n;
1467
1493
  }
1468
- function Aa(e, t, n, r = "html") {
1494
+ function Ta(e, t, n, r = "html") {
1469
1495
  if (!e) return n;
1470
1496
  const o = Yn(e, t);
1471
1497
  return o ? `${n}${r === "text" ? `
1472
1498
 
1473
1499
  ` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${o.body}` : n;
1474
1500
  }
1475
- function Ea(e) {
1501
+ function Ia(e) {
1476
1502
  return e.endpoints ?? [];
1477
1503
  }
1478
1504
  function $(e) {
@@ -1480,10 +1506,10 @@ function $(e) {
1480
1506
  if (t)
1481
1507
  return t.split(/[-_]/)[0] || void 0;
1482
1508
  }
1483
- function Sa(e) {
1509
+ function ka(e) {
1484
1510
  return $(e.contactLocale) ?? $(e.companyLocale) ?? $(e.organizationLocale);
1485
1511
  }
1486
- function Ta(e, t, n, r) {
1512
+ function wa(e, t, n, r) {
1487
1513
  const o = e.filter((a) => a.key === t && !a.archived);
1488
1514
  if (o.length === 0) return;
1489
1515
  const i = $(n), s = $(r);
@@ -1518,7 +1544,7 @@ function Jn(e, t) {
1518
1544
  }
1519
1545
  return e.equals !== void 0 ? n === e.equals : !0;
1520
1546
  }
1521
- function Ia(e, t, n, r, o) {
1547
+ function va(e, t, n, r, o) {
1522
1548
  const i = [], s = [], a = /* @__PURE__ */ new Set(), u = (l) => {
1523
1549
  const d = Zn(l, t, o);
1524
1550
  for (const c of d.unresolved) i.includes(c) || i.push(c);
@@ -1629,7 +1655,7 @@ function er(e) {
1629
1655
  ...e?.logo ? { logo: e.logo } : {}
1630
1656
  };
1631
1657
  }
1632
- function ka(e) {
1658
+ function Ma(e) {
1633
1659
  return er({
1634
1660
  name: e?.billing?.companyName || e?.name || e?.displayName || "",
1635
1661
  address: e?.address,
@@ -1640,13 +1666,13 @@ function ka(e) {
1640
1666
  logo: e?.logo
1641
1667
  });
1642
1668
  }
1643
- const tr = 36e5, nr = 864e5, L = -1 / 0, wa = (e) => e.score > L, te = {
1669
+ const tr = 36e5, nr = 864e5, L = -1 / 0, Ca = (e) => e.score > L, te = {
1644
1670
  urgent: 40,
1645
1671
  high: 25,
1646
1672
  normal: 10,
1647
1673
  low: 0
1648
1674
  };
1649
- function va(e) {
1675
+ function Na(e) {
1650
1676
  return Object.fromEntries(e.map((t) => [t.resourceId, t]));
1651
1677
  }
1652
1678
  const rr = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, $t = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
@@ -1654,7 +1680,7 @@ function or(e, t) {
1654
1680
  return !!(e && rr.test(e) || t && $t.test(t));
1655
1681
  }
1656
1682
  const ir = 3, sr = 600;
1657
- function Ma(e, t) {
1683
+ function Oa(e, t) {
1658
1684
  return e >= ir || t >= sr;
1659
1685
  }
1660
1686
  const ar = [
@@ -1667,7 +1693,7 @@ const ar = [
1667
1693
  "feedback-id",
1668
1694
  "x-mailer"
1669
1695
  ];
1670
- function Ca(e) {
1696
+ function xa(e) {
1671
1697
  const t = {};
1672
1698
  for (const n of e) {
1673
1699
  const r = n.name?.toLowerCase();
@@ -1676,7 +1702,7 @@ function Ca(e) {
1676
1702
  return t;
1677
1703
  }
1678
1704
  const cr = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i, lr = /(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;
1679
- function Na(e) {
1705
+ function Ra(e) {
1680
1706
  const t = e.headers ?? {}, n = e.from?.email, r = t["auto-submitted"]?.toLowerCase();
1681
1707
  if (r && r !== "no" || t["x-auto-response-suppress"] || n && cr.test(n))
1682
1708
  return "automated";
@@ -1710,20 +1736,20 @@ function br(e, t) {
1710
1736
  const n = e.assignedInboxId ? t?.[e.assignedInboxId] : void 0;
1711
1737
  return typeof n == "number" && n > 0 ? n : fr[e.priority ?? "normal"];
1712
1738
  }
1713
- function Oa(e) {
1739
+ function Da(e) {
1714
1740
  const t = {};
1715
1741
  for (const n of e)
1716
1742
  typeof n.slaHours == "number" && n.slaHours > 0 && (t[n.id] = n.slaHours);
1717
1743
  return t;
1718
1744
  }
1719
- function xa(e, t, n) {
1745
+ function $a(e, t, n) {
1720
1746
  return !Pt(e.status) || e.firstResponseAt ? !1 : xe(e, t) > br(e, n);
1721
1747
  }
1722
1748
  function _r(e, t) {
1723
1749
  const n = e.lastActivityPreview;
1724
1750
  return n?.direction !== "outbound" || !Lt(n.type) ? !1 : xe(e, t) < mr;
1725
1751
  }
1726
- function Ra(e, t) {
1752
+ function La(e, t) {
1727
1753
  if (!Pt(e.status)) return { score: L, reasons: [] };
1728
1754
  if (e.snoozedTill && e.snoozedTill > t.now) return { score: L, reasons: [] };
1729
1755
  if (_r(e, t.now)) return { score: L, reasons: [] };
@@ -1739,17 +1765,17 @@ function Ra(e, t) {
1739
1765
  const s = e.lastActivityPreview;
1740
1766
  return s?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), s?.direction === "outbound" && Lt(s.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") || or(e.remoteParty?.resource, e.lastActivityPreview?.snippet)) && (n -= pr, r.push("bulk")), { score: n, reasons: r };
1741
1767
  }
1742
- const Da = (e) => !!e.assignedUserId || !!e.assignedInboxId, $a = (e) => e.status === "closed", La = (e) => ({
1768
+ const Pa = (e) => !!e.assignedUserId || !!e.assignedInboxId, Ka = (e) => e.status === "closed", Ua = (e) => ({
1743
1769
  urgent: 10,
1744
1770
  high: 5,
1745
1771
  normal: 2,
1746
1772
  low: 1
1747
- })[e.priority] || 0, Pa = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1748
- function Ka(e, t) {
1773
+ })[e.priority] || 0, Fa = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1774
+ function Ba(e, t) {
1749
1775
  const n = e.labels ?? [];
1750
1776
  return n.find((r) => r.locale === t)?.label ?? n[0]?.label ?? e.url;
1751
1777
  }
1752
- function Ua(e, t, n) {
1778
+ function ja(e, t, n) {
1753
1779
  const r = e.translations ?? [];
1754
1780
  return r.find((o) => o.locale === t) ?? (n ? r.find((o) => o.locale === n) : void 0) ?? { locale: t };
1755
1781
  }
@@ -1772,10 +1798,10 @@ function Kt(e) {
1772
1798
  const t = (e ?? "").toLowerCase();
1773
1799
  return rt.find((n) => n.code === t) ?? rt.find((n) => n.code === t.split("-")[0]);
1774
1800
  }
1775
- function Fa(e) {
1801
+ function Ha(e) {
1776
1802
  return Kt(e)?.label ?? e;
1777
1803
  }
1778
- function Ba(e) {
1804
+ function Ga(e) {
1779
1805
  const t = Kt(e);
1780
1806
  return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
1781
1807
  }
@@ -1789,7 +1815,7 @@ function Ar(e, t) {
1789
1815
  }
1790
1816
  return r;
1791
1817
  }
1792
- function ja(e, t, n) {
1818
+ function Wa(e, t, n) {
1793
1819
  if (!e) return !0;
1794
1820
  if (e === t) return !1;
1795
1821
  const r = new Map(n.map((s) => [s.id, s]));
@@ -1817,13 +1843,13 @@ const Sr = "en";
1817
1843
  function Tr(e) {
1818
1844
  return e.defaultLocale || e.locale || Sr;
1819
1845
  }
1820
- function Ha(e) {
1846
+ function za(e) {
1821
1847
  const t = /* @__PURE__ */ new Set(), n = [];
1822
1848
  for (const r of [Tr(e), ...e.locales ?? []])
1823
1849
  !r || t.has(r) || (t.add(r), n.push(r));
1824
1850
  return n;
1825
1851
  }
1826
- function Ga(e, t, n) {
1852
+ function Va(e, t, n) {
1827
1853
  const r = e.translations ?? [];
1828
1854
  return r.find((o) => o.locale === t)?.name ?? (n ? r.find((o) => o.locale === n)?.name : void 0) ?? e.name;
1829
1855
  }
@@ -1858,22 +1884,22 @@ function Ir(e, t) {
1858
1884
  return e.userId === t.userId;
1859
1885
  }
1860
1886
  }
1861
- function Wa(e, t) {
1887
+ function Xa(e, t) {
1862
1888
  return e.filter((n) => n.enabled && Ir(n.ownerScope, t));
1863
1889
  }
1864
- function za(e) {
1890
+ function Ya(e) {
1865
1891
  return e.credentialScope ? e.credentialScope : (e.authMode ?? "header") === "header" || e.oauth?.scope === "org" ? "shared" : "per-user";
1866
1892
  }
1867
- function Va(e) {
1893
+ function qa(e) {
1868
1894
  return `mcp__${e}__`;
1869
1895
  }
1870
- const Xa = 1e3, Ya = 2e3, qa = 500, Qa = 12e3, Za = 4e3, kr = ["contact", "company", "work_item"];
1871
- function Ja(e) {
1896
+ const Qa = 1e3, Za = 2e3, Ja = 500, ec = 12e3, tc = 4e3, kr = ["contact", "company", "work_item"];
1897
+ function nc(e) {
1872
1898
  if (!e) return !1;
1873
1899
  const t = e.slice(0, e.indexOf(":"));
1874
1900
  return kr.includes(t);
1875
1901
  }
1876
- const ec = [
1902
+ const rc = [
1877
1903
  { key: "high", label: "tax_high", percent: 21, kind: "standard" },
1878
1904
  { key: "low", label: "tax_low", percent: 9, kind: "reduced" },
1879
1905
  { key: "zero", label: "tax_zero", percent: 0, kind: "zero" },
@@ -1893,7 +1919,7 @@ function vr(e) {
1893
1919
  const t = 1 - (e.discountPercent ?? 0) / 100;
1894
1920
  return z(e.quantity * e.unitPriceCents * t);
1895
1921
  }
1896
- function tc(e, t, n) {
1922
+ function oc(e, t, n) {
1897
1923
  const r = e.map((l) => ({ ...l, netCents: vr(l), taxCents: 0 })), o = /* @__PURE__ */ new Map();
1898
1924
  for (let l = 0; l < r.length; l++) {
1899
1925
  if (r[l].kind !== "product" || r[l].optional) continue;
@@ -1925,7 +1951,7 @@ function tc(e, t, n) {
1925
1951
  }
1926
1952
  };
1927
1953
  }
1928
- const nc = "onboarding-source", rc = ["support", "billing", "availability", "sales", "onboarding"], oc = ["keep", "replace"], Re = [
1954
+ const ic = "onboarding-source", sc = ["support", "billing", "availability", "sales", "onboarding"], ac = ["keep", "replace"], Re = [
1929
1955
  {
1930
1956
  key: "shift",
1931
1957
  label: "kind_shift",
@@ -2017,7 +2043,7 @@ function Bt(e, t, n = Re) {
2017
2043
  const r = x(e.kindKey, n);
2018
2044
  return r.absent ? !1 : r.productive || r.capacity;
2019
2045
  }
2020
- function ic(e, t = Re) {
2046
+ function cc(e, t = Re) {
2021
2047
  if (!e.userId || !V(e.status)) return !1;
2022
2048
  const n = x(e.kindKey, t);
2023
2049
  return n.capacity || n.productive || n.absent;
@@ -2059,7 +2085,7 @@ function Ae(e, t, n, r) {
2059
2085
  return o > 0 ? o / 1e3 : 0;
2060
2086
  }
2061
2087
  const it = { interval: 0, day: 1, week: 2 };
2062
- function sc(e, t) {
2088
+ function lc(e, t) {
2063
2089
  const { entries: n, patterns: r = [], terms: o = [] } = t, i = n.filter(
2064
2090
  (c) => c.userId && V(c.status) && x(c.kindKey).capacity
2065
2091
  ), s = n.filter(
@@ -2109,7 +2135,7 @@ function sc(e, t) {
2109
2135
  byUser: u
2110
2136
  };
2111
2137
  }
2112
- function ac(e, t) {
2138
+ function uc(e, t) {
2113
2139
  if (!e.some((a) => a.userId)) return [];
2114
2140
  const n = "", r = /* @__PURE__ */ new Map();
2115
2141
  for (const a of e) {
@@ -2132,7 +2158,7 @@ function ac(e, t) {
2132
2158
  const s = r.get(n) ?? 0;
2133
2159
  return s > 0 && i.push({ requiredSeconds: s, capacitySeconds: 0, netSeconds: -s }), i;
2134
2160
  }
2135
- function cc(e, t, n, r) {
2161
+ function dc(e, t, n, r) {
2136
2162
  const o = e.filter(
2137
2163
  (s) => s.userId && V(s.status) && !x(s.kindKey).absent
2138
2164
  ), i = Object.entries(r.byUser).map(
@@ -2154,7 +2180,7 @@ function cc(e, t, n, r) {
2154
2180
  );
2155
2181
  return i.sort((s, a) => a.freeSeconds - s.freeSeconds), i;
2156
2182
  }
2157
- const lc = "demand-source", st = 1e3;
2183
+ const pc = "demand-source", st = 1e3;
2158
2184
  function Rr(e, t) {
2159
2185
  let n = 1;
2160
2186
  for (let r = 1; r <= e; r++)
@@ -2188,7 +2214,7 @@ const Kr = 36e5, Ur = 864e5;
2188
2214
  function Fr(e) {
2189
2215
  return e === "day" ? Ur : Kr;
2190
2216
  }
2191
- function uc(e, t) {
2217
+ function fc(e, t) {
2192
2218
  return e.start < t.end && t.start < e.end;
2193
2219
  }
2194
2220
  function pe(e, t, n) {
@@ -2205,7 +2231,7 @@ function Br(e, t, n) {
2205
2231
  }
2206
2232
  return { seconds: o, headcount: o / n * s };
2207
2233
  }
2208
- function dc(e) {
2234
+ function mc(e) {
2209
2235
  const { entries: t, workstreamId: n, staffing: r, demand: o, range: i } = e, s = e.grain ?? "hour", a = Fr(s), u = a / 1e3, l = e.kinds, d = t.filter((m) => V(m.status)), c = d.filter((m) => Bt(m, n, l)), p = d.filter((m) => x(m.kindKey, l).capacity), f = d.filter((m) => x(m.kindKey, l).absent), y = [];
2210
2236
  for (let m = W(i.from, s); m < i.to; m += a) {
2211
2237
  const S = m + a, g = G(m, s);
@@ -2233,11 +2259,11 @@ function dc(e) {
2233
2259
  function jr(e, t) {
2234
2260
  return e.workTypeKey ?? t?.defaultWorkTypeKey;
2235
2261
  }
2236
- function pc(e, t, n) {
2262
+ function hc(e, t, n) {
2237
2263
  const r = jr(e, t);
2238
2264
  return r ? n.find((o) => o.key === r)?.defaultBillable ?? !1 : !1;
2239
2265
  }
2240
- function fc(e) {
2266
+ function gc(e) {
2241
2267
  return e.filter(
2242
2268
  (t) => t.netHeadcount < 0 && t.requiredHeadcount > 0
2243
2269
  );
@@ -2267,7 +2293,7 @@ function Yr(e, t) {
2267
2293
  t >= r.from && t < r.to && (n = r);
2268
2294
  return n;
2269
2295
  }
2270
- function mc(e, t, n) {
2296
+ function yc(e, t, n) {
2271
2297
  const r = Math.max(1, n?.weeks ?? Gr), o = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set();
2272
2298
  for (const u of e)
2273
2299
  o.set(Vr(u.period), u.value), i.add(u.period.slice(0, 10));
@@ -2287,10 +2313,10 @@ function mc(e, t, n) {
2287
2313
  return a;
2288
2314
  }
2289
2315
  const qr = "schedule_entry", Qr = "workstream";
2290
- function hc(e) {
2316
+ function bc(e) {
2291
2317
  return `${qr}:${e}`;
2292
2318
  }
2293
- function gc(e) {
2319
+ function _c(e) {
2294
2320
  return `${Qr}:${e}`;
2295
2321
  }
2296
2322
  const Se = 36e5, U = 864e5;
@@ -2307,7 +2333,7 @@ function fe(e, t, n, r) {
2307
2333
  const o = Math.min(t, r) - Math.max(e, n);
2308
2334
  return o > 0 ? o / 1e3 : 0;
2309
2335
  }
2310
- function yc(e, t, n = {}) {
2336
+ function Ac(e, t, n = {}) {
2311
2337
  const r = n.grain ?? "hour", o = Zr(t, r), i = r === "day" ? U : Se, s = new Map(o.map((c) => [c, 0])), a = e.filter((c) => c.userId && x(c.kindKey).capacity), u = n.userIds?.length ? new Set(n.userIds) : null, l = /* @__PURE__ */ new Set();
2312
2338
  for (const c of a)
2313
2339
  if (!(u && c.userId && !u.has(c.userId))) {
@@ -2359,7 +2385,7 @@ function Jr(e, t) {
2359
2385
  }
2360
2386
  return t.filter((r) => r.weight > 0).map((r) => ({ period: r.period, seconds: e * r.weight / n }));
2361
2387
  }
2362
- function bc(e, t, n) {
2388
+ function Ec(e, t, n) {
2363
2389
  const r = /* @__PURE__ */ new Map();
2364
2390
  for (const o of e) {
2365
2391
  const i = o.by ? t.filter((a) => n(a.period) < o.by) : t, s = i.length ? i : t;
@@ -2382,7 +2408,7 @@ function eo(e) {
2382
2408
  return "org";
2383
2409
  }
2384
2410
  }
2385
- function _c(e) {
2411
+ function Sc(e) {
2386
2412
  if (typeof e != "string") return;
2387
2413
  const t = e.trim();
2388
2414
  if (t === "org") return { kind: "org" };
@@ -2408,13 +2434,13 @@ function no(e) {
2408
2434
  }
2409
2435
  }
2410
2436
  const ro = no;
2411
- function Ac(e) {
2437
+ function Tc(e) {
2412
2438
  return e.agentId ? { kind: "user", userId: e.agentId } : ro(e.ownerScope);
2413
2439
  }
2414
- function Ec(e) {
2440
+ function Ic(e) {
2415
2441
  return to(e);
2416
2442
  }
2417
- function Sc(e, t) {
2443
+ function kc(e, t) {
2418
2444
  if (!t) return;
2419
2445
  let n = e;
2420
2446
  for (const r of t.split(".")) {
@@ -2423,21 +2449,21 @@ function Sc(e, t) {
2423
2449
  }
2424
2450
  return n;
2425
2451
  }
2426
- function Tc(e, t) {
2452
+ function wc(e, t) {
2427
2453
  return e.targets.find((n) => n.activityTypes.includes(t));
2428
2454
  }
2429
- function Ic(e, t) {
2455
+ function vc(e, t) {
2430
2456
  if (t)
2431
2457
  return e.targets.find((n) => n.id === t);
2432
2458
  }
2433
2459
  function oo(e) {
2434
2460
  return e?.kind === "assignment";
2435
2461
  }
2436
- function kc(e) {
2462
+ function Mc(e) {
2437
2463
  const { trigger: t, agentId: n, target: r, activityType: o, assigneeUserId: i, authorUserId: s } = e;
2438
2464
  return oo(t) ? n ? r ? r.activityTypes.includes(o) ? i ? i !== n ? "assigned to someone else" : s && s === 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";
2439
2465
  }
2440
- function wc(e) {
2466
+ function Cc(e) {
2441
2467
  return ne(e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
2442
2468
  }
2443
2469
  function ne(e) {
@@ -2447,11 +2473,11 @@ function io(e) {
2447
2473
  const t = ne(e).split("__");
2448
2474
  return t[t.length - 1] || ne(e);
2449
2475
  }
2450
- function vc(e) {
2476
+ function Nc(e) {
2451
2477
  const t = io(e).replace(/[_.]+/g, " ").trim();
2452
2478
  return t ? t.charAt(0).toUpperCase() + t.slice(1) : ne(e);
2453
2479
  }
2454
- const Mc = [
2480
+ const Oc = [
2455
2481
  { name: "text", type: "string" },
2456
2482
  { name: "subject", type: "string" },
2457
2483
  { name: "from", type: "string" },
@@ -2492,10 +2518,10 @@ const Mc = [
2492
2518
  // the trigger filter runs — like contactId/companyId above.
2493
2519
  { name: "assigneeUserId", type: "string" }
2494
2520
  ];
2495
- function Cc(e, t) {
2521
+ function xc(e, t) {
2496
2522
  return !e.onlyFor || !t?.length ? !0 : t.some((n) => e.onlyFor?.includes(n));
2497
2523
  }
2498
- const Nc = {
2524
+ const Rc = {
2499
2525
  topics: [
2500
2526
  { name: "topicId", type: "string" },
2501
2527
  { name: "topic", type: "string" },
@@ -2517,16 +2543,16 @@ function co(e) {
2517
2543
  return e?.type === ao ? e.id : void 0;
2518
2544
  }
2519
2545
  const lo = 64, uo = 8e3;
2520
- function Oc(e) {
2546
+ function Dc(e) {
2521
2547
  const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
2522
2548
  if (!(!Number.isFinite(t) || t <= 0))
2523
2549
  return Math.min(Math.max(Math.round(t), lo), uo);
2524
2550
  }
2525
- const xc = { kind: "workflow", steps: [] };
2526
- function Rc(e) {
2551
+ const $c = { kind: "workflow", steps: [] };
2552
+ function Lc(e) {
2527
2553
  return e?.kind === "workflow" ? e.steps : [];
2528
2554
  }
2529
- function Dc(e) {
2555
+ function Pc(e) {
2530
2556
  return e?.kind === "procedure" ? e.procedure : void 0;
2531
2557
  }
2532
2558
  function po(e) {
@@ -2534,31 +2560,31 @@ function po(e) {
2534
2560
  return { total: n, rate: n ? t / n : 0 };
2535
2561
  }
2536
2562
  const fo = 10, mo = 0.9;
2537
- function $c(e) {
2563
+ function Kc(e) {
2538
2564
  const { total: t, rate: n } = po(e);
2539
2565
  return t >= fo && n >= mo;
2540
2566
  }
2541
2567
  const ho = ["done", "escalated", "failed", "stopped"];
2542
- function Lc(e) {
2568
+ function Uc(e) {
2543
2569
  return ho.includes(e);
2544
2570
  }
2545
2571
  function go(e) {
2546
2572
  return e === "waiting";
2547
2573
  }
2548
- function Pc(e) {
2574
+ function Fc(e) {
2549
2575
  return e === "running" || go(e);
2550
2576
  }
2551
2577
  function zt(e) {
2552
2578
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
2553
2579
  }
2554
- function Kc(e) {
2580
+ function Bc(e) {
2555
2581
  const t = zt(e);
2556
2582
  return t ? so(t) : void 0;
2557
2583
  }
2558
- function Uc(e) {
2584
+ function jc(e) {
2559
2585
  return co(zt(e));
2560
2586
  }
2561
- function Fc(e) {
2587
+ function Hc(e) {
2562
2588
  const t = [], n = /* @__PURE__ */ new Map();
2563
2589
  for (const r of [...e].sort(yo)) {
2564
2590
  const o = n.get(r.emoji);
@@ -2574,7 +2600,7 @@ function Fc(e) {
2574
2600
  }).sort((r, o) => o.count - r.count || t.indexOf(r.emoji) - t.indexOf(o.emoji));
2575
2601
  }
2576
2602
  const yo = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
2577
- function Bc(e, t) {
2603
+ function Gc(e, t) {
2578
2604
  return t ? e.actors.some((n) => n.type === "user" && n.id === t) : !1;
2579
2605
  }
2580
2606
  const Te = 6e4, bo = 36e5, X = 864e5, Vt = 800;
@@ -2637,25 +2663,25 @@ function De(e, t, n) {
2637
2663
  }
2638
2664
  return e + t;
2639
2665
  }
2640
- function jc(e) {
2666
+ function Wc(e) {
2641
2667
  const t = /^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);
2642
2668
  return t ? Number(t[1]) * 60 + Number(t[2]) : null;
2643
2669
  }
2644
2670
  const ke = 1, we = 2, ve = 4;
2645
- function Hc(e) {
2671
+ function zc(e) {
2646
2672
  return e === "snoozed" ? ke : we;
2647
2673
  }
2648
2674
  function $e(e) {
2649
2675
  const t = e.calendar;
2650
2676
  return t && Array.isArray(t.days) ? t : null;
2651
2677
  }
2652
- const Gc = [
2678
+ const Vc = [
2653
2679
  "speed_of_answer",
2654
2680
  "first_response",
2655
2681
  "next_response",
2656
2682
  "resolution",
2657
2683
  "close"
2658
- ], Wc = ["snoozed", "waiting_for_customer"], Eo = 6e4, Qt = ["speed_of_answer", "first_response", "next_response"], So = [...Qt, "resolution", "close"];
2684
+ ], Xc = ["snoozed", "waiting_for_customer"], Eo = 6e4, Qt = ["speed_of_answer", "first_response", "next_response"], So = [...Qt, "resolution", "close"];
2659
2685
  function Y(e) {
2660
2686
  return e.state === "running" || e.state === "paused";
2661
2687
  }
@@ -2675,7 +2701,7 @@ function ko(e, t, n, r) {
2675
2701
  const o = e.pauseBits & ~t;
2676
2702
  return o !== 0 ? { pauseBits: o } : { pauseBits: o, state: "running", dueAt: De(n, e.remainingMs, r) };
2677
2703
  }
2678
- function zc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2704
+ function Yc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2679
2705
  const i = $e(o), s = Math.min(t, n), a = r.map((g) => ({ ...g })), u = [], l = (g, h) => {
2680
2706
  h && (u.push({ op: "patch", clockId: g.id, patch: h }), Object.assign(g, h));
2681
2707
  }, d = (g) => {
@@ -2757,17 +2783,17 @@ function zc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2757
2783
  function wo(e) {
2758
2784
  return e.state === "running" || e.state === "paused";
2759
2785
  }
2760
- function Vc(e) {
2786
+ function qc(e) {
2761
2787
  return (e.pauseBits & ve) !== 0;
2762
2788
  }
2763
2789
  function Me(e, t) {
2764
2790
  const n = $e(e);
2765
2791
  return e.state === "paused" ? e.remainingMs : t >= e.dueAt ? -Ie(e.dueAt, t, n) : Ie(t, e.dueAt, n);
2766
2792
  }
2767
- function Xc(e, t) {
2793
+ function Qc(e, t) {
2768
2794
  return e.state === "paused" ? De(t, e.remainingMs, $e(e)) : e.dueAt;
2769
2795
  }
2770
- function Yc(e, t) {
2796
+ function Zc(e, t) {
2771
2797
  const n = e.filter(wo);
2772
2798
  if (!n.length) return;
2773
2799
  const r = n.filter((i) => i.state === "running");
@@ -2775,7 +2801,7 @@ function Yc(e, t) {
2775
2801
  (i, s) => Me(s, t) < Me(i, t) ? s : i
2776
2802
  );
2777
2803
  }
2778
- function qc(e, t) {
2804
+ function Jc(e, t) {
2779
2805
  if (e.state === "missed") return "breached";
2780
2806
  if (e.state === "hit") return "met";
2781
2807
  if (e.state === "paused") return "paused";
@@ -2783,7 +2809,7 @@ function qc(e, t) {
2783
2809
  const n = Me(e, t);
2784
2810
  return n <= 0 ? "breached" : n <= e.targetMs / 5 ? "urgent" : "running";
2785
2811
  }
2786
- function Qc(e) {
2812
+ function el(e) {
2787
2813
  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);
2788
2814
  return n ? r ? `${n}d ${r}u` : `${n}d` : r ? o ? `${r}u ${o}m` : `${r}u` : o ? `${o}m` : `${t % 60}s`;
2789
2815
  }
@@ -2791,12 +2817,12 @@ const vo = "strategy_item";
2791
2817
  function Zt(e) {
2792
2818
  return `${vo}:${e}`;
2793
2819
  }
2794
- function Zc(e, t = 25) {
2820
+ function tl(e, t = 25) {
2795
2821
  const n = /* @__PURE__ */ new Set([Zt(e.id)]);
2796
2822
  for (const r of e.ancestorKeys ?? []) n.add(r);
2797
2823
  return Array.from(n).slice(0, t);
2798
2824
  }
2799
- function Jc(e) {
2825
+ function nl(e) {
2800
2826
  return e ? [...e.ancestorKeys ?? [], Zt(e.id)] : [];
2801
2827
  }
2802
2828
  const ie = [
@@ -2810,14 +2836,14 @@ function No(e, t = ie) {
2810
2836
  function Ce(e, t = ie) {
2811
2837
  return No(e, t)?.order ?? Mo;
2812
2838
  }
2813
- function el(e, t, n = ie) {
2839
+ function rl(e, t, n = ie) {
2814
2840
  return Ce(t, n) <= Ce(e, n);
2815
2841
  }
2816
- function tl(e, t = ie) {
2842
+ function ol(e, t = ie) {
2817
2843
  const n = Ce(e, t);
2818
2844
  return t.filter((o) => o.order > n).sort((o, i) => o.order - i.order)[0]?.key ?? e;
2819
2845
  }
2820
- function nl(e) {
2846
+ function il(e) {
2821
2847
  const t = e.trim().toLowerCase();
2822
2848
  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;
2823
2849
  }
@@ -2830,73 +2856,73 @@ const Ne = {
2830
2856
  achieved: "closed",
2831
2857
  missed: "closed"
2832
2858
  };
2833
- function rl(e) {
2859
+ function sl(e) {
2834
2860
  return Ne[e] ?? "open";
2835
2861
  }
2836
- function ol(e) {
2862
+ function al(e) {
2837
2863
  return Object.keys(Ne).filter(
2838
2864
  (t) => e.includes(Ne[t])
2839
2865
  );
2840
2866
  }
2841
2867
  const Oo = 864e5, se = (e) => e <= 0 ? 0 : e > 1 ? 1 : e;
2842
- function il(e, t) {
2868
+ function cl(e, t) {
2843
2869
  const { direction: n } = e, r = e.startValue ?? 0, o = e.targetValue ?? 0;
2844
2870
  if (!Number.isFinite(t)) return 0;
2845
2871
  const i = n === "down" ? t <= o : t >= o, s = o - r;
2846
2872
  return (n === "down" ? s < 0 : s > 0) ? se((t - r) / s) : i ? 1 : 0;
2847
2873
  }
2848
- function sl(e, t) {
2874
+ function ll(e, t) {
2849
2875
  const { startDate: n, targetDate: r } = e;
2850
2876
  if (!(typeof n != "number" || typeof r != "number") && !(r <= n))
2851
2877
  return se((t - n) / (r - n));
2852
2878
  }
2853
2879
  const xo = 0.1, Ro = 0.25;
2854
- function al(e, t) {
2880
+ function ul(e, t) {
2855
2881
  if (typeof e != "number" || typeof t != "number") return;
2856
2882
  if (e >= 1) return "achieved";
2857
2883
  const n = t - e;
2858
2884
  return n >= Ro ? "off_track" : n >= xo ? "at_risk" : "on_track";
2859
2885
  }
2860
- function cl(e, t) {
2886
+ function dl(e, t) {
2861
2887
  if (t)
2862
2888
  return se(e / t);
2863
2889
  }
2864
- function ll(e) {
2890
+ function pl(e) {
2865
2891
  const t = e.map((n) => n.progress?.ratio).filter((n) => typeof n == "number" && Number.isFinite(n));
2866
2892
  if (t.length)
2867
2893
  return se(t.reduce((n, r) => n + r, 0) / t.length);
2868
2894
  }
2869
- function ul(e, t) {
2895
+ function fl(e, t) {
2870
2896
  const n = e.lastCheckInAt ?? e.createdAt;
2871
2897
  if (typeof n != "number") return 0;
2872
2898
  const r = (e.checkInEveryDays ?? Co) * Oo, o = t - n - r;
2873
2899
  return o > 0 ? o : 0;
2874
2900
  }
2875
- function dl(e) {
2901
+ function ml(e) {
2876
2902
  return e.targetDate ?? Number.MAX_SAFE_INTEGER;
2877
2903
  }
2878
- function pl(e, t) {
2904
+ function hl(e, t) {
2879
2905
  const n = e.accumulatedSeconds || 0;
2880
2906
  return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
2881
2907
  }
2882
- function fl(e, t) {
2908
+ function gl(e, t) {
2883
2909
  const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
2884
2910
  if (!t || t === "exact") return n * 60;
2885
2911
  const r = Number(t);
2886
2912
  return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
2887
2913
  }
2888
- function ml(e) {
2914
+ function yl(e) {
2889
2915
  const t = Math.max(0, Math.round(e / 60));
2890
2916
  return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
2891
2917
  }
2892
- function hl(e) {
2918
+ function bl(e) {
2893
2919
  const t = Math.max(0, Math.floor(e)), n = (i) => String(i).padStart(2, "0"), r = Math.floor(t / 60) % 60, o = Math.floor(t / 3600);
2894
2920
  return o > 0 ? `${o}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
2895
2921
  }
2896
2922
  function Do(e) {
2897
2923
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
2898
2924
  }
2899
- function gl(e, t) {
2925
+ function _l(e, t) {
2900
2926
  const n = Do(e) || "werksoort", r = new Set(t);
2901
2927
  if (!r.has(n)) return n;
2902
2928
  for (let o = 2; o < 500; o++) {
@@ -2905,11 +2931,11 @@ function gl(e, t) {
2905
2931
  }
2906
2932
  return `${n}-${r.size + 1}`;
2907
2933
  }
2908
- function yl(e, t) {
2934
+ function Al(e, t) {
2909
2935
  const n = e.ownerScope;
2910
2936
  return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
2911
2937
  }
2912
- function bl(e) {
2938
+ function El(e) {
2913
2939
  return e.filter((t) => !t.archived).sort($o);
2914
2940
  }
2915
2941
  function $o(e, t) {
@@ -2926,7 +2952,7 @@ function Ko(e) {
2926
2952
  const n = t.slice(0, me), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
2927
2953
  return r > me * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
2928
2954
  }
2929
- function _l(e, t) {
2955
+ function Sl(e, t) {
2930
2956
  const n = Ko(t.text), r = P(n);
2931
2957
  if (!r || (e.examples ?? []).some((s) => P(s) === r)) return null;
2932
2958
  const o = e.exampleCandidates ?? [], i = o.findIndex((s) => P(s.text) === r);
@@ -2942,7 +2968,7 @@ function ut(e) {
2942
2968
  (t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt
2943
2969
  );
2944
2970
  }
2945
- function Al(e, t) {
2971
+ function Tl(e, t) {
2946
2972
  const n = P(t), r = (e.examples ?? []).filter((i) => i.trim());
2947
2973
  return { examples: r.some((i) => P(i) === n) ? r : [...r, t].slice(-Lo), exampleCandidates: Uo(e, t) };
2948
2974
  }
@@ -2954,7 +2980,7 @@ function Fo(e, t) {
2954
2980
  const n = e.ownerScope;
2955
2981
  return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
2956
2982
  }
2957
- function El(e, t) {
2983
+ function Il(e, t) {
2958
2984
  return e.filter((n) => Fo(n, t));
2959
2985
  }
2960
2986
  const Le = [
@@ -2997,7 +3023,7 @@ const Le = [
2997
3023
  issuedStatus: "open"
2998
3024
  }
2999
3025
  ], Bo = ["quote", "order", "invoice"];
3000
- function Sl() {
3026
+ function kl() {
3001
3027
  const e = /* @__PURE__ */ new Map();
3002
3028
  for (const t of Le)
3003
3029
  Bo.includes(t.key) && (e.has(t.path) || e.set(t.path, t));
@@ -3014,10 +3040,10 @@ function F(e) {
3014
3040
  issuedStatus: "draft"
3015
3041
  };
3016
3042
  }
3017
- function Tl(e) {
3043
+ function wl(e) {
3018
3044
  return e.issuedAt != null;
3019
3045
  }
3020
- const Il = [
3046
+ const vl = [
3021
3047
  "status",
3022
3048
  "fileRef",
3023
3049
  "number",
@@ -3065,7 +3091,7 @@ function jo(e, t) {
3065
3091
  source: e.source
3066
3092
  };
3067
3093
  }
3068
- function kl(e) {
3094
+ function Ml(e) {
3069
3095
  return {
3070
3096
  ...jo(e, e.kindKey),
3071
3097
  sourceTransactionId: e.sourceTransactionId,
@@ -3075,7 +3101,7 @@ function kl(e) {
3075
3101
  totals: e.totals
3076
3102
  };
3077
3103
  }
3078
- function wl(e, t = {}) {
3104
+ function Cl(e, t = {}) {
3079
3105
  const n = F(e.kindKey), r = e.totals ?? { netCents: 0, taxCents: 0, grossCents: 0 };
3080
3106
  return {
3081
3107
  customer: {
@@ -3121,7 +3147,7 @@ function wl(e, t = {}) {
3121
3147
  }
3122
3148
  };
3123
3149
  }
3124
- function vl(e, t = [], n = Ho) {
3150
+ function Nl(e, t = [], n = Ho) {
3125
3151
  const r = e.totals ?? { netCents: 0, grossCents: 0, byRate: [] }, o = (a) => t.find((u) => u.key === a)?.percent ?? 0, i = {
3126
3152
  block_id: "lines",
3127
3153
  type: "table",
@@ -3228,7 +3254,7 @@ function Vo(e) {
3228
3254
  { block_id: "terms", type: "paragraph", text: pt[n] ?? pt.quote }
3229
3255
  ];
3230
3256
  }
3231
- const Ml = (e) => ({
3257
+ const Ol = (e) => ({
3232
3258
  note: { key: `${F(e).key}.note`, exists: !0 },
3233
3259
  // Keyed on the start: a range without one is not a range, and `period_to` alone says nothing.
3234
3260
  period: { key: `${F(e).key}.period_from`, exists: !0 }
@@ -3253,42 +3279,42 @@ Hierbij onze creditnota. De onderstaande bedragen worden met u verrekend.`
3253
3279
  order: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld.",
3254
3280
  invoice: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld.",
3255
3281
  credit_note: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld."
3256
- }, Cl = Vo("quote"), Yo = Le.map((e) => e.key), qo = "product";
3282
+ }, xl = Vo("quote"), Yo = Le.map((e) => e.key), qo = "product";
3257
3283
  function Qo(e, t) {
3258
3284
  return `${e}:${t}`;
3259
3285
  }
3260
- function Nl(e) {
3286
+ function Rl(e) {
3261
3287
  return `${qo}:${e}`;
3262
3288
  }
3263
- function Ol(e) {
3289
+ function Dl(e) {
3264
3290
  const t = e.indexOf(":");
3265
3291
  if (t < 0) return;
3266
3292
  const n = e.slice(0, t);
3267
3293
  return Yo.includes(n) ? e.slice(t + 1) : void 0;
3268
3294
  }
3269
- function xl(e) {
3295
+ function $l(e) {
3270
3296
  const t = /* @__PURE__ */ new Set([Qo(e.kindKey, e.id)]);
3271
3297
  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);
3272
3298
  }
3273
- const Rl = 4;
3274
- function Dl(e, t) {
3299
+ const Ll = 4;
3300
+ function Pl(e, t) {
3275
3301
  const n = String(t).padStart(Math.max(1, e.padding), "0");
3276
3302
  return `${e.prefix}${e.period ? `${e.period}-` : ""}${n}`;
3277
3303
  }
3278
- function $l(e, t = Date.now()) {
3304
+ function Kl(e, t = Date.now()) {
3279
3305
  return e === "year" ? String(new Date(t).getFullYear()) : "";
3280
3306
  }
3281
- const Ll = [
3307
+ const Ul = [
3282
3308
  "cash",
3283
3309
  "credit",
3284
3310
  "direct_debit",
3285
3311
  "card",
3286
3312
  "other"
3287
3313
  ];
3288
- function Pl(e, t) {
3314
+ function Fl(e, t) {
3289
3315
  return e + Math.max(0, Math.round(t)) * 24 * 60 * 60 * 1e3;
3290
3316
  }
3291
- function Kl(e, t) {
3317
+ function Bl(e, t) {
3292
3318
  const n = /* @__PURE__ */ new Map();
3293
3319
  for (const r of e) r.businessEntityId || n.set(r.code, r);
3294
3320
  if (t)
@@ -3296,10 +3322,10 @@ function Kl(e, t) {
3296
3322
  r.businessEntityId === t && n.set(r.code, r);
3297
3323
  return [...n.values()];
3298
3324
  }
3299
- function Ul(e) {
3325
+ function jl(e) {
3300
3326
  return { code: e.code, label: e.label, method: e.method, dueDays: e.dueDays };
3301
3327
  }
3302
- const Fl = [
3328
+ const Hl = [
3303
3329
  {
3304
3330
  code: "14D",
3305
3331
  label: "Binnen 14 dagen",
@@ -3311,10 +3337,10 @@ const Fl = [
3311
3337
  { code: "30D", label: "Binnen 30 dagen", method: "credit", dueDays: 30, order: 1 },
3312
3338
  { code: "CONTANT", label: "Contant", method: "cash", dueDays: 0, order: 2 }
3313
3339
  ];
3314
- function Bl(e) {
3340
+ function Gl(e) {
3315
3341
  return e.type === "agent";
3316
3342
  }
3317
- const jl = "WORK_COMMENT_ADDED", Hl = "WORK_ITEM_ASSIGNED", Gl = "WORK_ITEM_STATUS_CHANGED";
3343
+ const Wl = "WORK_COMMENT_ADDED", zl = "WORK_ITEM_ASSIGNED", Vl = "WORK_ITEM_STATUS_CHANGED";
3318
3344
  function Zo(e, t) {
3319
3345
  const n = (r) => {
3320
3346
  const o = new Date(r);
@@ -3322,7 +3348,7 @@ function Zo(e, t) {
3322
3348
  };
3323
3349
  return Math.round((n(e) - n(t)) / nr);
3324
3350
  }
3325
- function Wl(e, t) {
3351
+ function Xl(e, t) {
3326
3352
  if (e.closedAt != null) return { score: L, reasons: [] };
3327
3353
  const n = t.remindersById?.[e.id];
3328
3354
  if (n && n.remindAt > t.now) return { score: L, reasons: [] };
@@ -3342,35 +3368,35 @@ const Pe = [
3342
3368
  { key: "subtask", label: "type_subtask" },
3343
3369
  { key: "case", label: "type_case" },
3344
3370
  { key: "deal", label: "type_deal" }
3345
- ], zl = Pe.map((e) => e.key);
3346
- function Vl(e) {
3371
+ ], Yl = Pe.map((e) => e.key);
3372
+ function ql(e) {
3347
3373
  return e?.types?.length ? e.types : Pe;
3348
3374
  }
3349
- function Xl(e, t) {
3375
+ function Ql(e, t) {
3350
3376
  return t.find((n) => n.key === e);
3351
3377
  }
3352
- function Yl(e) {
3378
+ function Zl(e) {
3353
3379
  const t = e.trim().toLowerCase();
3354
3380
  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;
3355
3381
  }
3356
- function ql(...e) {
3382
+ function Jl(...e) {
3357
3383
  return e.map((t) => Pe.find((n) => n.key === t)).filter((t) => !!t);
3358
3384
  }
3359
- const Jo = "work_item", ei = "work_project", ti = "work_activity", Ql = "work_cycle";
3385
+ const Jo = "work_item", ei = "work_project", ti = "work_activity", eu = "work_cycle";
3360
3386
  function ni(e) {
3361
3387
  return `${Jo}:${e}`;
3362
3388
  }
3363
3389
  function Jt(e) {
3364
3390
  return `${ei}:${e}`;
3365
3391
  }
3366
- function Zl(e) {
3392
+ function tu(e) {
3367
3393
  return `${ti}:${e}`;
3368
3394
  }
3369
- function Jl(e, t, n) {
3395
+ function nu(e, t, n) {
3370
3396
  const r = `${e}-${t}`;
3371
3397
  return n ? `${r}-${n}` : r;
3372
3398
  }
3373
- function eu(e) {
3399
+ function ru(e) {
3374
3400
  const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
3375
3401
  return t ? {
3376
3402
  projectKey: t[1].toUpperCase(),
@@ -3378,17 +3404,17 @@ function eu(e) {
3378
3404
  ...t[3] ? { subSequence: Number(t[3]) } : {}
3379
3405
  } : null;
3380
3406
  }
3381
- function tu(e) {
3407
+ function ou(e) {
3382
3408
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
3383
3409
  }
3384
- function nu(e, t = 25) {
3410
+ function iu(e, t = 25) {
3385
3411
  const n = /* @__PURE__ */ new Set([ni(e.id)]);
3386
3412
  e.projectId && n.add(Jt(e.projectId));
3387
3413
  for (const r of e.ancestorKeys ?? []) n.add(r);
3388
3414
  for (const r of e.partyKeys ?? []) n.add(r);
3389
3415
  return Array.from(n).slice(0, t);
3390
3416
  }
3391
- function ru(e) {
3417
+ function su(e) {
3392
3418
  return [Jt(e.id)];
3393
3419
  }
3394
3420
  const Ke = [
@@ -3403,10 +3429,10 @@ function ri(e) {
3403
3429
  function oi(e, t) {
3404
3430
  return t.find((n) => n.key === e)?.category ?? "todo";
3405
3431
  }
3406
- function ou(e, t) {
3432
+ function au(e, t) {
3407
3433
  return t.find((n) => n.key === e);
3408
3434
  }
3409
- function iu(e) {
3435
+ function cu(e) {
3410
3436
  const t = ri(e), n = e?.defaultStatusKey;
3411
3437
  return n && t.some((r) => r.key === n) ? n : ii(t)[0]?.key ?? Ke[0].key;
3412
3438
  }
@@ -3416,13 +3442,13 @@ function ii(e) {
3416
3442
  return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
3417
3443
  });
3418
3444
  }
3419
- function su(e, t) {
3445
+ function lu(e, t) {
3420
3446
  return oi(e, t) === "done";
3421
3447
  }
3422
3448
  function si(e) {
3423
3449
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
3424
3450
  }
3425
- function au(e, t) {
3451
+ function uu(e, t) {
3426
3452
  const n = si(e) || "status", r = /* @__PURE__ */ new Set([...t, ...en]);
3427
3453
  if (!r.has(n)) return n;
3428
3454
  for (let o = 2; o < 500; o++) {
@@ -3431,7 +3457,7 @@ function au(e, t) {
3431
3457
  }
3432
3458
  return `${n}-${r.size + 1}`;
3433
3459
  }
3434
- function cu(e) {
3460
+ function du(e) {
3435
3461
  const t = [];
3436
3462
  if (!e.length) return [{ index: -1, reason: "empty" }];
3437
3463
  const n = /* @__PURE__ */ new Set();
@@ -3443,10 +3469,13 @@ function cu(e) {
3443
3469
  en.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);
3444
3470
  }), 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;
3445
3471
  }
3446
- function lu(e) {
3472
+ function pu(e, t) {
3473
+ return t.find((n) => n.key === e)?.requiresApproval === !0;
3474
+ }
3475
+ function fu(e) {
3447
3476
  return e.startDate ?? Number.MAX_SAFE_INTEGER;
3448
3477
  }
3449
- function uu(e) {
3478
+ function mu(e) {
3450
3479
  return e.completedAt ? "completed" : e.startedAt ? "active" : "planned";
3451
3480
  }
3452
3481
  const ai = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), ci = /* @__PURE__ */ new Set([
@@ -3467,18 +3496,18 @@ const j = 1024 * 1024, ui = {
3467
3496
  pdf: 20 * j,
3468
3497
  text: 1 * j,
3469
3498
  audio: 20 * j
3470
- }, du = 25 * j, pu = 5;
3471
- function fu(e, t) {
3499
+ }, hu = 25 * j, gu = 5;
3500
+ function yu(e, t) {
3472
3501
  const n = li(e);
3473
3502
  return n === "unsupported" ? "unsupported" : t > ui[n] ? "too-large" : null;
3474
3503
  }
3475
- function mu(e) {
3504
+ function bu(e) {
3476
3505
  return e.access !== "read" && e.effect !== "internal";
3477
3506
  }
3478
3507
  function di(e) {
3479
3508
  return `${e.kind}:${e.id || e.url || e.title}`;
3480
3509
  }
3481
- function hu(e, t = []) {
3510
+ function _u(e, t = []) {
3482
3511
  const n = new Set(t), r = [], o = [];
3483
3512
  for (const i of e) {
3484
3513
  const s = di(i);
@@ -3486,26 +3515,26 @@ function hu(e, t = []) {
3486
3515
  }
3487
3516
  return { sources: r, keys: o };
3488
3517
  }
3489
- const gu = "assist-source", yu = ["blocking", "due", "open"];
3490
- function bu(e, t) {
3518
+ const Au = "assist-source", Eu = ["blocking", "due", "open"];
3519
+ function Su(e, t) {
3491
3520
  const [n, r] = (e.subjectKey ?? "").split(":");
3492
3521
  return n === t && r ? r : void 0;
3493
3522
  }
3494
3523
  const ft = { blocking: 0, due: 1, open: 2 };
3495
- function _u(e, t) {
3524
+ function Tu(e, t) {
3496
3525
  return ft[e.band ?? "open"] - ft[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
3497
3526
  }
3498
- function Au(e) {
3527
+ function Iu(e) {
3499
3528
  return e.sessions.filter(
3500
3529
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
3501
3530
  );
3502
3531
  }
3503
- function Eu(e) {
3532
+ function ku(e) {
3504
3533
  return e.sessions.filter(
3505
3534
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
3506
3535
  );
3507
3536
  }
3508
- function Su(e) {
3537
+ function wu(e) {
3509
3538
  return e.sessions.some(
3510
3539
  (n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
3511
3540
  ) ? { admit: !1, reason: "busy" } : { admit: !0 };
@@ -3527,7 +3556,7 @@ function fi(e, t) {
3527
3556
  }
3528
3557
  return n;
3529
3558
  }
3530
- function Tu(e, t) {
3559
+ function vu(e, t) {
3531
3560
  const n = fi(e, t);
3532
3561
  return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
3533
3562
  }
@@ -3538,7 +3567,7 @@ function mi(e, t) {
3538
3567
  transport: t.transport ?? e.transport
3539
3568
  } : e;
3540
3569
  }
3541
- function Iu(e, t) {
3570
+ function Mu(e, t) {
3542
3571
  const n = [];
3543
3572
  for (const r of e) {
3544
3573
  if (!r.enabled) continue;
@@ -3549,16 +3578,16 @@ function Iu(e, t) {
3549
3578
  }
3550
3579
  return n;
3551
3580
  }
3552
- function ku(e, t) {
3581
+ function Cu(e, t) {
3553
3582
  return t.filter((n) => n.capability.intent === e);
3554
3583
  }
3555
3584
  function hi(e, t) {
3556
3585
  return t.filter((n) => n.capability.targetSchemes.includes(e));
3557
3586
  }
3558
- function wu(e, t) {
3587
+ function Nu(e, t) {
3559
3588
  return hi(e.scheme, t);
3560
3589
  }
3561
- function vu(e, t, n) {
3590
+ function Ou(e, t, n) {
3562
3591
  const r = [];
3563
3592
  for (const o of e)
3564
3593
  for (const i of n)
@@ -3587,10 +3616,10 @@ const yi = {
3587
3616
  id: "note",
3588
3617
  custom: "note"
3589
3618
  };
3590
- function Mu(e) {
3619
+ function xu(e) {
3591
3620
  return e ? yi[e] ?? "note" : "note";
3592
3621
  }
3593
- const Cu = "message_window", Nu = "message_templates", Ou = {
3622
+ const Ru = "message_window", Du = "message_templates", $u = {
3594
3623
  // E-mail
3595
3624
  FROM: "from",
3596
3625
  TO: "to",
@@ -3607,11 +3636,11 @@ const Cu = "message_window", Nu = "message_templates", Ou = {
3607
3636
  // Voice/conference
3608
3637
  HOST: "host",
3609
3638
  PARTICIPANT: "participant"
3610
- }, xu = (e, t) => ({ intent: e, ...t }), Ru = "folder_management", Du = "remote_search", $u = "message_reactions", Lu = {
3639
+ }, Lu = (e, t) => ({ intent: e, ...t }), Pu = "folder_management", Ku = "remote_search", Uu = "message_reactions", Fu = {
3611
3640
  ok: !1,
3612
3641
  code: "UNSUPPORTED",
3613
3642
  message: "Provider does not support this op"
3614
- }, Pu = "connector", Ku = "context.collect", A = (e) => ({ type: "string", description: e }), _ = (e) => ({ type: "number", description: e }), J = (e) => ({ type: "boolean", description: e }), M = A("Sheet name. Omit for the sheet the user is looking at."), mt = A("Slide id, as `inspect` reports it.");
3643
+ }, Bu = "connector", ju = "context.collect", A = (e) => ({ type: "string", description: e }), _ = (e) => ({ type: "number", description: e }), J = (e) => ({ type: "boolean", description: e }), M = A("Sheet name. Omit for the sheet the user is looking at."), mt = A("Slide id, as `inspect` reports it.");
3615
3644
  function b(e, t, n, r, o, i) {
3616
3645
  return {
3617
3646
  op: e,
@@ -3965,10 +3994,10 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3965
3994
  ...Ai,
3966
3995
  ...Ei
3967
3996
  ];
3968
- function Uu(e) {
3997
+ function Hu(e) {
3969
3998
  return tn.filter((t) => t.kinds.includes(e));
3970
3999
  }
3971
- function Fu(e) {
4000
+ function Gu(e) {
3972
4001
  return tn.find((t) => t.op === e);
3973
4002
  }
3974
4003
  const gt = /(?: {2,}|\\)$/, Si = /^\*\*([^*]+)\*\*\s+(.*)$/;
@@ -3976,7 +4005,7 @@ function yt(e) {
3976
4005
  const t = Si.exec(e);
3977
4006
  return t ? { lead: t[1], text: t[2] } : { text: e };
3978
4007
  }
3979
- function Bu(e) {
4008
+ function Wu(e) {
3980
4009
  const t = (e ?? "").replace(/\r\n/g, `
3981
4010
  `).split(`
3982
4011
  `), n = [];
@@ -4055,27 +4084,27 @@ function Bu(e) {
4055
4084
  }
4056
4085
  return d(), n;
4057
4086
  }
4058
- function ju(e, t) {
4087
+ function zu(e, t) {
4059
4088
  return Kn(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, `
4060
4089
 
4061
4090
  `).trim();
4062
4091
  }
4063
- const Hu = "documents.describe", Gu = "documents.inspect", Wu = "documents.apply";
4064
- function zu(e) {
4092
+ const Vu = "documents.describe", Xu = "documents.inspect", Yu = "documents.apply";
4093
+ function qu(e) {
4065
4094
  const t = e.indexOf(":");
4066
4095
  if (t !== -1) return e.slice(0, t);
4067
4096
  const n = e.indexOf(".");
4068
4097
  return n === -1 ? e : e.slice(0, n);
4069
4098
  }
4070
- const Vu = "installation-id";
4071
- function Xu(e) {
4099
+ const Qu = "installation-id";
4100
+ function Zu(e) {
4072
4101
  const t = [];
4073
4102
  for (const n of Object.keys(e))
4074
4103
  for (const r of Object.keys(e[n]))
4075
4104
  t.push({ lang: n, key: r, value: e[n][r] });
4076
4105
  return t;
4077
4106
  }
4078
- const Yu = "notification-source", qu = (e, t) => `${e}.pref.${t}`, Qu = {
4107
+ const Ju = "notification-source", ed = (e, t) => `${e}.pref.${t}`, td = {
4079
4108
  ai: [
4080
4109
  "account.read",
4081
4110
  "account.write",
@@ -4211,37 +4240,37 @@ const Yu = "notification-source", qu = (e, t) => `${e}.pref.${t}`, Qu = {
4211
4240
  user: ["user.read", "user.write"],
4212
4241
  work: ["item.read", "item.write", "project.read", "project.write"]
4213
4242
  }, nn = 9e4, Ti = ["out_of_office"], rn = (e) => Ti.includes(e);
4214
- function Zu(e, t, n) {
4243
+ function nd(e, t, n) {
4215
4244
  const r = n - e < nn, o = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
4216
4245
  if (!o?.status) return { online: r, status: r ? "available" : "offline" };
4217
4246
  const i = o.status;
4218
4247
  return !r && !rn(i) ? { online: !1, status: "offline" } : { online: r, status: i, message: o.message };
4219
4248
  }
4220
- function Ju(e, t) {
4249
+ function rd(e, t) {
4221
4250
  const n = t - e.lastSeenAt < nn, r = n || rn(e.status) ? e.status : "offline";
4222
4251
  return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
4223
4252
  }
4224
- function ed(e, t) {
4253
+ function od(e, t) {
4225
4254
  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 };
4226
4255
  }
4227
- function td(e) {
4256
+ function id(e) {
4228
4257
  return e.providerAvailable && e.allowed;
4229
4258
  }
4230
- const nd = "resources.describe", rd = "resources.search", od = "resources.resolve", id = "resources.attached";
4231
- function sd(e) {
4259
+ const sd = "resources.describe", ad = "resources.search", cd = "resources.resolve", ld = "resources.attached";
4260
+ function ud(e) {
4232
4261
  const t = e.indexOf(":");
4233
4262
  return t === -1 ? e : e.slice(0, t);
4234
4263
  }
4235
- const ad = "/provider/scope/related", cd = "/provider/scope/read", on = "auth";
4264
+ const dd = "/provider/scope/related", pd = "/provider/scope/read", on = "auth";
4236
4265
  function sn(e) {
4237
4266
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
4238
4267
  return t ? t[1] : null;
4239
4268
  }
4240
- function ld(e) {
4269
+ function fd(e) {
4241
4270
  const t = sn(e);
4242
4271
  return t ? t !== on : typeof e == "string" && e.startsWith("/wake");
4243
4272
  }
4244
- function ud(e) {
4273
+ function md(e) {
4245
4274
  return typeof e != "string" || e === "" || e === "/" ? !0 : sn(e) === on;
4246
4275
  }
4247
4276
  function Ii(e) {
@@ -4263,7 +4292,7 @@ function wi(e, t) {
4263
4292
  function vi(e) {
4264
4293
  return e.publicBasePath ?? `/apps/${e.name}`;
4265
4294
  }
4266
- function dd(e) {
4295
+ function hd(e) {
4267
4296
  const t = [];
4268
4297
  for (const n of e) {
4269
4298
  if (!n?.name) continue;
@@ -4296,10 +4325,10 @@ function Ci(e, t) {
4296
4325
  ki(r.pattern).test(e) && (!n || Mi(r.pattern, n.pattern)) && (n = r);
4297
4326
  return n ? { ...n, params: { ...n.props, ...wi(n.pattern, e) } } : null;
4298
4327
  }
4299
- function pd(e, t) {
4328
+ function gd(e, t) {
4300
4329
  return Ci(e, t) !== null;
4301
4330
  }
4302
- const fd = 10 * 1024 * 1024, md = 25 * 1024 * 1024, hd = "sync-target", gd = 20, Ni = {
4331
+ const yd = 10 * 1024 * 1024, bd = 25 * 1024 * 1024, _d = "sync-target", Ad = 20, Ni = {
4303
4332
  afrikaans: [
4304
4333
  "[Muziek]",
4305
4334
  "(C) TV GELDERLAND 2021",
@@ -4590,13 +4619,13 @@ function Fi(e, t = xi) {
4590
4619
  return { text: n.filter((s) => (s.endedAt ?? 0) >= o).map((s) => Oi(s.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
4591
4620
  }
4592
4621
  const Bi = 60;
4593
- function yd(e, t, n = Bi) {
4622
+ function Ed(e, t, n = Bi) {
4594
4623
  const r = new Set(e), o = [...e];
4595
4624
  for (const i of t)
4596
4625
  !i || r.has(i) || (r.add(i), o.push(i));
4597
4626
  return o.slice(-n);
4598
4627
  }
4599
- function bd(e) {
4628
+ function Sd(e) {
4600
4629
  const { segments: t, now: n, state: r } = e;
4601
4630
  if (r.lastTriggerAt && n - r.lastTriggerAt < Ri)
4602
4631
  return { trigger: !1, reason: "too_soon" };
@@ -4608,7 +4637,7 @@ function bd(e) {
4608
4637
  const s = Ki(o.text);
4609
4638
  return s.length ? r.lastQueryTerms?.length && Ui(s, r.lastQueryTerms) < $i ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: o.text, terms: s, segmentCount: o.segmentCount } : { trigger: !1, reason: "no_speech" };
4610
4639
  }
4611
- const _d = [
4640
+ const Td = [
4612
4641
  "personal",
4613
4642
  "organization",
4614
4643
  "connections",
@@ -4616,7 +4645,7 @@ const _d = [
4616
4645
  "work",
4617
4646
  "administration",
4618
4647
  "ai"
4619
- ], Ad = "navNotice", Ue = {
4648
+ ], Id = "navNotice", Ue = {
4620
4649
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
4621
4650
  // shorter than geographic numbers, and a too-strict minimum silently drops them.
4622
4651
  // An over-permissive key is harmless — it simply matches nothing.
@@ -4670,7 +4699,7 @@ function zi(e) {
4670
4699
  const r = t.indexOf("@");
4671
4700
  return r >= 0 && (t = t.slice(0, r)), t.trim();
4672
4701
  }
4673
- function Ed(e) {
4702
+ function kd(e) {
4674
4703
  if (!e) return !1;
4675
4704
  const t = e.indexOf("@");
4676
4705
  if (t <= 0) return !1;
@@ -4698,7 +4727,7 @@ function At(e, t) {
4698
4727
  }
4699
4728
  return !s && ee(o, i) ? `+${i.callingCode}${o}` : null;
4700
4729
  }
4701
- function Sd(e, t = 9) {
4730
+ function wd(e, t = 9) {
4702
4731
  const n = (e ?? "").replace(/\D/g, "");
4703
4732
  return n.length < t ? null : n.slice(-t);
4704
4733
  }
@@ -4709,7 +4738,7 @@ function an(e) {
4709
4738
  const r = t.slice(0, n).split("+")[0], o = t.slice(n + 1);
4710
4739
  return !r || !o.includes(".") ? null : `${r}@${o}`;
4711
4740
  }
4712
- function Td(e) {
4741
+ function vd(e) {
4713
4742
  const t = an(e);
4714
4743
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
4715
4744
  }
@@ -4775,16 +4804,16 @@ const Yi = /* @__PURE__ */ new Set([
4775
4804
  "proximus.be",
4776
4805
  "scarlet.be"
4777
4806
  ]);
4778
- function Id(e) {
4807
+ function Md(e) {
4779
4808
  const t = Xi(e);
4780
4809
  return t ? Yi.has(t) : !1;
4781
4810
  }
4782
- function kd(e) {
4811
+ function Cd(e) {
4783
4812
  if (!e) return !1;
4784
4813
  const t = e.trim().toLowerCase();
4785
4814
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
4786
4815
  }
4787
- function wd(e, t, n) {
4816
+ function Nd(e, t, n) {
4788
4817
  if (!e || !t) return null;
4789
4818
  const r = e.trim().toLowerCase();
4790
4819
  if (r === "tel" || r === "sms" || r === "whatsapp") {
@@ -4951,13 +4980,13 @@ function wt(e) {
4951
4980
  `).trim();
4952
4981
  }
4953
4982
  const hs = /<\s*(html|body|div|p|table|br|span)\b/i;
4954
- function vd(e) {
4983
+ function Od(e) {
4955
4984
  return hs.test(e);
4956
4985
  }
4957
- function Md(e) {
4986
+ function xd(e) {
4958
4987
  return cn(e, !1);
4959
4988
  }
4960
- function Cd(e) {
4989
+ function Rd(e) {
4961
4990
  return cn(e, !0);
4962
4991
  }
4963
4992
  function cn(e, t) {
@@ -4972,16 +5001,16 @@ function cn(e, t) {
4972
5001
  return o || (o = wt(kt(Tt(e, t)))), Zi(o) || o;
4973
5002
  }
4974
5003
  export {
4975
- oa as ACTIVE_ASSIGNMENT_STATUSES,
5004
+ aa as ACTIVE_ASSIGNMENT_STATUSES,
4976
5005
  R as ACTIVITY_CATALOG,
4977
5006
  ui as AI_ATTACHMENT_LIMITS,
4978
- pu as AI_ATTACHMENT_MAX_PER_TURN,
4979
- du as AI_ATTACHMENT_TURN_BUDGET,
5007
+ gu as AI_ATTACHMENT_MAX_PER_TURN,
5008
+ hu as AI_ATTACHMENT_TURN_BUDGET,
4980
5009
  Ct as AI_VENDORS,
4981
5010
  Nn as ALLOWED_LINK_SCHEMES,
4982
- Qu as APP_PERMISSIONS,
5011
+ td as APP_PERMISSIONS,
4983
5012
  Xe as ARTIFACT_MAX_BLOCKS,
4984
- Qs as ARTIFACT_MAX_BODY_BYTES,
5013
+ ea as ARTIFACT_MAX_BODY_BYTES,
4985
5014
  Z as ARTIFACT_MAX_CELL_LEN,
4986
5015
  Ze as ARTIFACT_MAX_KPI_ITEMS,
4987
5016
  Ye as ARTIFACT_MAX_LIST_ITEMS,
@@ -4989,8 +5018,8 @@ export {
4989
5018
  qe as ARTIFACT_MAX_TABLE_ROWS,
4990
5019
  Ot as ARTIFACT_MAX_TEXT_LEN,
4991
5020
  Fn as ASSIGNMENT_SCOPE_KIND,
4992
- yu as ASSIST_BANDS,
4993
- gu as ASSIST_SOURCE_PROVIDER_GROUP,
5021
+ Eu as ASSIST_BANDS,
5022
+ Au as ASSIST_SOURCE_PROVIDER_GROUP,
4994
5023
  dr as ATTENTION_STATUSES,
4995
5024
  xo as AT_RISK_GAP,
4996
5025
  on as AUTH_APP_NAME,
@@ -4999,30 +5028,30 @@ export {
4999
5028
  _n as ActivityTypeRegistry,
5000
5029
  Rs as BUILT_IN_ONLY,
5001
5030
  pr as BULK_PENALTY,
5002
- pa as BUSINESS_ENTITY_LIST_SERVICE,
5031
+ ha as BUSINESS_ENTITY_LIST_SERVICE,
5003
5032
  Ri as CADENCE_FLOOR_MS,
5004
5033
  Di as CADENCE_MIN_NEW_SEGMENTS,
5005
5034
  $i as CADENCE_MIN_NOVELTY,
5006
5035
  xi as CADENCE_WINDOW_MS,
5007
- Nc as CLASSIFY_VARS,
5008
- Pu as CONNECTOR_PROVIDER_GROUP,
5009
- Ku as CONTEXT_COLLECT_SERVICE,
5036
+ Rc as CLASSIFY_VARS,
5037
+ Bu as CONNECTOR_PROVIDER_GROUP,
5038
+ ju as CONTEXT_COLLECT_SERVICE,
5010
5039
  Ws as CORE_DIMENSIONS,
5011
5040
  gi as CommunicationScheme,
5012
5041
  nr as DAY_MS,
5013
5042
  Co as DEFAULT_CHECK_IN_DAYS,
5014
5043
  Gr as DEFAULT_FORECAST_WEEKS,
5015
- Za as DEFAULT_MEMORY_BUDGET,
5016
- Rl as DEFAULT_NUMBER_PADDING,
5044
+ tc as DEFAULT_MEMORY_BUDGET,
5045
+ Ll as DEFAULT_NUMBER_PADDING,
5017
5046
  ji as DEFAULT_PHONE_REGION,
5018
- Cl as DEFAULT_QUOTE_TEMPLATE_BLOCKS,
5019
- Ml as DEFAULT_TEMPLATE_CONDITIONS,
5020
- lc as DEMAND_SOURCE_PROVIDER_GROUP,
5021
- Wu as DOCUMENT_APPLY_SERVICE,
5022
- Hu as DOCUMENT_DESCRIBE_SERVICE,
5023
- Gu as DOCUMENT_INSPECT_SERVICE,
5047
+ xl as DEFAULT_QUOTE_TEMPLATE_BLOCKS,
5048
+ Ol as DEFAULT_TEMPLATE_CONDITIONS,
5049
+ pc as DEMAND_SOURCE_PROVIDER_GROUP,
5050
+ Yu as DOCUMENT_APPLY_SERVICE,
5051
+ Vu as DOCUMENT_DESCRIBE_SERVICE,
5052
+ Xu as DOCUMENT_INSPECT_SERVICE,
5024
5053
  Xe as DOCUMENT_MAX_BLOCKS,
5025
- Qs as DOCUMENT_MAX_BODY_BYTES,
5054
+ ea as DOCUMENT_MAX_BODY_BYTES,
5026
5055
  Z as DOCUMENT_MAX_CELL_LEN,
5027
5056
  Ze as DOCUMENT_MAX_KPI_ITEMS,
5028
5057
  Je as DOCUMENT_MAX_LETTERHEAD_FIELDS,
@@ -5034,23 +5063,23 @@ export {
5034
5063
  et as DOCUMENT_MAX_TOTALS_ROWS,
5035
5064
  tn as DOCUMENT_OPERATIONS,
5036
5065
  Ho as DUTCH_SLOT_LABELS,
5037
- xc as EMPTY_WORKFLOW,
5066
+ $c as EMPTY_WORKFLOW,
5038
5067
  Bo as ENABLED_TRANSACTION_KINDS,
5039
- Ru as FEATURE_FOLDER_MANAGEMENT,
5040
- $u as FEATURE_MESSAGE_REACTIONS,
5041
- Du as FEATURE_REMOTE_SEARCH,
5068
+ Pu as FEATURE_FOLDER_MANAGEMENT,
5069
+ Uu as FEATURE_MESSAGE_REACTIONS,
5070
+ Ku as FEATURE_REMOTE_SEARCH,
5042
5071
  Re as FIXED_KINDS,
5043
5072
  ie as FIXED_LEVELS,
5044
5073
  Pe as FIXED_TYPES,
5045
- ba as FIXED_UNITS,
5074
+ Ea as FIXED_UNITS,
5046
5075
  mr as FOLLOW_UP_HOURS,
5047
- Il as FROZEN_WRITABLE_FIELDS,
5076
+ vl as FROZEN_WRITABLE_FIELDS,
5048
5077
  tr as HOUR_MS,
5049
5078
  hs as HTML_BODY_RE,
5050
5079
  L as INELIGIBLE,
5051
- Vu as INSTALLATION_HEADER,
5080
+ Qu as INSTALLATION_HEADER,
5052
5081
  ao as INTERACTION_KIND,
5053
- Ou as InteractionParticipantRole,
5082
+ $u as InteractionParticipantRole,
5054
5083
  Sr as KB_FALLBACK_LOCALE,
5055
5084
  rt as KB_LOCALES,
5056
5085
  rt as LOCALES,
@@ -5061,82 +5090,82 @@ export {
5061
5090
  gs as MAX_BLOCKS,
5062
5091
  Ut as MAX_COLLECTION_DEPTH,
5063
5092
  jn as MAX_DELEGATION_DEPTH,
5064
- fd as MAX_EDITABLE_FILE_BYTES,
5093
+ yd as MAX_EDITABLE_FILE_BYTES,
5065
5094
  ys as MAX_FIELDS,
5066
5095
  bs as MAX_LIST_ITEMS,
5067
- Xa as MAX_MEMORY_BROWSE,
5068
- Qa as MAX_MEMORY_BUDGET,
5069
- Ya as MAX_MEMORY_CHARS,
5096
+ Qa as MAX_MEMORY_BROWSE,
5097
+ ec as MAX_MEMORY_BUDGET,
5098
+ Za as MAX_MEMORY_CHARS,
5070
5099
  Bi as MAX_SHOWN_KEYS,
5071
5100
  Po as MAX_TOPIC_CANDIDATES,
5072
5101
  Lo as MAX_TOPIC_EXAMPLES,
5073
5102
  me as MAX_TOPIC_EXAMPLE_CHARS,
5074
- md as MAX_VIEWABLE_FILE_BYTES,
5075
- qa as MIN_MEMORY_BUDGET,
5076
- Ad as NAV_NOTICE_SLOT,
5077
- Fl as NL_PAYMENT_TERMS,
5078
- ec as NL_TAX_RATES,
5079
- Yu as NOTIFICATION_SOURCE_PROVIDER_GROUP,
5103
+ bd as MAX_VIEWABLE_FILE_BYTES,
5104
+ Ja as MIN_MEMORY_BUDGET,
5105
+ Id as NAV_NOTICE_SLOT,
5106
+ Hl as NL_PAYMENT_TERMS,
5107
+ rc as NL_TAX_RATES,
5108
+ Ju as NOTIFICATION_SOURCE_PROVIDER_GROUP,
5080
5109
  Ro as OFF_TRACK_GAP,
5081
- nc as ONBOARDING_SOURCE_PROVIDER_GROUP,
5110
+ ic as ONBOARDING_SOURCE_PROVIDER_GROUP,
5082
5111
  ve as PAUSE_HOLD,
5083
5112
  ke as PAUSE_SNOOZED,
5084
5113
  we as PAUSE_WAITING_FOR_CUSTOMER,
5085
- Ll as PAYMENT_TERM_METHODS,
5114
+ Ul as PAYMENT_TERM_METHODS,
5086
5115
  Ue as PHONE_REGIONS,
5087
5116
  nn as PRESENCE_ONLINE_WINDOW_MS,
5088
5117
  Ti as PRESENCE_SURVIVES_OFFLINE,
5089
5118
  qo as PRODUCT_SCOPE_KIND,
5090
- oc as PROFILE_TOOL_DISPOSITIONS,
5091
- Nu as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
5092
- Cu as PROVIDER_FEATURE_MESSAGE_WINDOW,
5119
+ ac as PROFILE_TOOL_DISPOSITIONS,
5120
+ Du as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
5121
+ Ru as PROVIDER_FEATURE_MESSAGE_WINDOW,
5093
5122
  Yi as PUBLIC_EMAIL_DOMAINS,
5094
5123
  ot as READ_STEP_TYPES,
5095
5124
  kr as RELATED_SUBJECT_KINDS,
5096
5125
  en as RESERVED_STATUS_KEYS,
5097
- zl as RESERVED_TYPE_KEYS,
5098
- id as RESOURCE_ATTACHED_SERVICE,
5099
- nd as RESOURCE_DESCRIBE_SERVICE,
5100
- od as RESOURCE_RESOLVE_SERVICE,
5101
- rd as RESOURCE_SEARCH_SERVICE,
5126
+ Yl as RESERVED_TYPE_KEYS,
5127
+ ld as RESOURCE_ATTACHED_SERVICE,
5128
+ sd as RESOURCE_DESCRIBE_SERVICE,
5129
+ cd as RESOURCE_RESOLVE_SERVICE,
5130
+ ad as RESOURCE_SEARCH_SERVICE,
5102
5131
  qr as SCHEDULE_ENTRY_SCOPE_KIND,
5103
- cd as SCOPE_READ_ROUTE,
5104
- ad as SCOPE_RELATED_ROUTE,
5105
- _d as SETTINGS_CATEGORIES,
5106
- _a as SIGNATURE_INTENTS,
5132
+ pd as SCOPE_READ_ROUTE,
5133
+ dd as SCOPE_RELATED_ROUTE,
5134
+ Td as SETTINGS_CATEGORIES,
5135
+ Sa as SIGNATURE_INTENTS,
5107
5136
  fr as SLA_HOURS_BY_PRIORITY,
5108
- Gc as SLA_METRICS,
5109
- Wc as SLA_PAUSE_REASONS,
5137
+ Vc as SLA_METRICS,
5138
+ Xc as SLA_PAUSE_REASONS,
5110
5139
  uo as STEP_MAX_TOKENS_MAX,
5111
5140
  lo as STEP_MAX_TOKENS_MIN,
5112
5141
  vo as STRATEGY_ITEM_SCOPE_KIND,
5113
5142
  sr as SUMMARY_MIN_LAST_CHARS,
5114
5143
  ir as SUMMARY_MIN_MESSAGES,
5115
- gd as SYNC_RUN_MAX_ERRORS,
5116
- hd as SYNC_TARGET_PROVIDER_GROUP,
5144
+ Ad as SYNC_RUN_MAX_ERRORS,
5145
+ _d as SYNC_TARGET_PROVIDER_GROUP,
5117
5146
  Un as TERMINAL_ASSIGNMENT_STATUSES,
5118
5147
  ho as TERMINAL_RUN_STATUSES,
5119
5148
  Le as TRANSACTION_KINDS,
5120
5149
  Yo as TRANSACTION_SCOPE_KINDS,
5121
- Mc as TRIGGER_VARS,
5150
+ Oc as TRIGGER_VARS,
5122
5151
  Mr as UNKNOWN_KIND,
5123
5152
  Mo as UNKNOWN_LEVEL_ORDER,
5124
- Lu as UNSUPPORTED,
5153
+ Fu as UNSUPPORTED,
5125
5154
  kn as USAGE_DIMENSIONS,
5126
5155
  wn as USAGE_DIMENSION_IDS,
5127
5156
  Qr as WORKSTREAM_SCOPE_KIND,
5128
5157
  ti as WORK_ACTIVITY_SCOPE_KIND,
5129
- rc as WORK_AREAS,
5130
- jl as WORK_COMMENT_ADDED,
5131
- Ql as WORK_CYCLE_SYNC_KIND,
5132
- Hl as WORK_ITEM_ASSIGNED,
5158
+ sc as WORK_AREAS,
5159
+ Wl as WORK_COMMENT_ADDED,
5160
+ eu as WORK_CYCLE_SYNC_KIND,
5161
+ zl as WORK_ITEM_ASSIGNED,
5133
5162
  Jo as WORK_ITEM_SCOPE_KIND,
5134
- Gl as WORK_ITEM_STATUS_CHANGED,
5163
+ Vl as WORK_ITEM_STATUS_CHANGED,
5135
5164
  ei as WORK_PROJECT_SCOPE_KIND,
5136
5165
  te as W_PRIORITY,
5137
- Al as acceptExampleCandidate,
5166
+ Tl as acceptExampleCandidate,
5138
5167
  to as actingIdentityKey,
5139
- bl as activeWorkTypes,
5168
+ El as activeWorkTypes,
5140
5169
  Es as activityIconOf,
5141
5170
  Os as activityJoinUrl,
5142
5171
  hn as activitySnippet,
@@ -5144,12 +5173,12 @@ export {
5144
5173
  Ns as activityTimelineText,
5145
5174
  An as activityTimestamp,
5146
5175
  k as activityTypeInfo,
5147
- Ec as actorKey,
5148
- _l as addExampleCandidate,
5176
+ Ic as actorKey,
5177
+ Sl as addExampleCandidate,
5149
5178
  De as addWorkingMs,
5150
- Ju as agePresenceEntry,
5179
+ rd as agePresenceEntry,
5151
5180
  li as aiAttachmentKind,
5152
- fu as aiAttachmentRejection,
5181
+ yu as aiAttachmentRejection,
5153
5182
  Ve as aiBudgetLimit,
5154
5183
  Hs as aiBudgetPeriodKey,
5155
5184
  En as aiBudgetPeriodStart,
@@ -5161,313 +5190,317 @@ export {
5161
5190
  Us as aiVendorsWith,
5162
5191
  Wn as allocate,
5163
5192
  sn as appNameFromPath,
5164
- fl as applyRounding,
5165
- Aa as applySignature,
5193
+ Js as applyApprovalDecision,
5194
+ gl as applyRounding,
5195
+ Ta as applySignature,
5166
5196
  po as approvalRate,
5167
- Js as artifactBodyBytes,
5168
- ea as artifactOutline,
5197
+ na as artifactBodyBytes,
5198
+ ra as artifactOutline,
5169
5199
  Kn as artifactToMarkdown,
5170
- kc as assignmentMismatch,
5171
- sa as assignmentScopeKey,
5172
- la as assignmentSubject,
5173
- cc as availabilityByPerson,
5174
- ic as belongsOnCalendar,
5175
- fa as belongsToEntity,
5200
+ Mc as assignmentMismatch,
5201
+ la as assignmentScopeKey,
5202
+ pa as assignmentSubject,
5203
+ dc as availabilityByPerson,
5204
+ cc as belongsOnCalendar,
5205
+ ga as belongsToEntity,
5176
5206
  xs as buildActivityPreview,
5177
- Iu as buildChannelIntents,
5178
- ta as buildShareKeys,
5207
+ Mu as buildChannelIntents,
5208
+ oa as buildShareKeys,
5179
5209
  Fi as buildWindow,
5180
5210
  er as businessEntitySender,
5181
5211
  Nr as calendarDaysBetween,
5182
5212
  $e as calendarOf,
5183
- ja as canNestUnder,
5184
- el as canParent,
5185
- sc as capacityTotal,
5186
- yc as capacityWeights,
5213
+ Wa as canNestUnder,
5214
+ rl as canParent,
5215
+ lc as capacityTotal,
5216
+ Ac as capacityWeights,
5187
5217
  ws as carriesText,
5188
- Ga as categoryLabel,
5218
+ Va as categoryLabel,
5189
5219
  oi as categoryOf,
5190
- Mu as channelKindForScheme,
5220
+ xu as channelKindForScheme,
5191
5221
  Ss as channelKindOf,
5192
- ul as checkInOverdueMs,
5193
- Oc as clampStepMaxTokens,
5194
- Na as classifyMail,
5195
- Cd as cleanMessageMarkdown,
5196
- Md as cleanMessageText,
5197
- ma as codeQuery,
5198
- _u as compareAssistRank,
5222
+ fl as checkInOverdueMs,
5223
+ Dc as clampStepMaxTokens,
5224
+ Ra as classifyMail,
5225
+ Rd as cleanMessageMarkdown,
5226
+ xd as cleanMessageText,
5227
+ ya as codeQuery,
5228
+ Tu as compareAssistRank,
5199
5229
  $o as compareWorkTypes,
5200
5230
  Jn as conditionHolds,
5201
5231
  jo as copyFrom,
5202
5232
  V as countsAsPlanned,
5203
- ac as coverageByPerson,
5204
- dc as coverageFor,
5233
+ uc as coverageByPerson,
5234
+ mc as coverageFor,
5205
5235
  Bt as coversWorkstream,
5206
- $l as currentPeriod,
5236
+ Kl as currentPeriod,
5207
5237
  jt as cycleDayIndex,
5208
- lu as cycleOrder,
5209
- uu as cycleState,
5210
- ua as decideAssignmentState,
5211
- bd as decideCadence,
5212
- Su as decideIncomingCall,
5238
+ fu as cycleOrder,
5239
+ mu as cycleState,
5240
+ fa as decideAssignmentState,
5241
+ Sd as decideCadence,
5242
+ wu as decideIncomingCall,
5213
5243
  Tr as defaultLocaleOf,
5214
- iu as defaultStatusKey,
5244
+ cu as defaultStatusKey,
5215
5245
  Vo as defaultTemplateBlocks,
5216
- xu as defineIntent,
5217
- da as delegationRefusal,
5246
+ Lu as defineIntent,
5247
+ ma as delegationRefusal,
5218
5248
  Ar as depthOf,
5219
- Zu as derivePresence,
5249
+ nd as derivePresence,
5220
5250
  Xs as describeClause,
5221
- Tu as disabledIntentsFromCapabilities,
5222
- Js as documentBodyBytes,
5223
- zu as documentKindOf,
5224
- ea as documentOutline,
5251
+ vu as disabledIntentsFromCapabilities,
5252
+ na as documentBodyBytes,
5253
+ qu as documentKindOf,
5254
+ ra as documentOutline,
5225
5255
  Kn as documentToMarkdown,
5226
- ju as documentToText,
5227
- Xc as dueAtOf,
5228
- Pl as dueDateFrom,
5229
- pl as elapsedSeconds,
5230
- Td as emailDomain,
5231
- wd as endpointKey,
5256
+ zu as documentToText,
5257
+ Qc as dueAtOf,
5258
+ Fl as dueDateFrom,
5259
+ hl as elapsedSeconds,
5260
+ vd as emailDomain,
5261
+ Nd as endpointKey,
5232
5262
  Dr as erlangC,
5233
5263
  wi as extractParams,
5234
5264
  Ki as extractTerms,
5235
- Ia as fillDocument,
5265
+ va as fillDocument,
5236
5266
  Zn as fillText,
5237
- wu as filterByEndpoint,
5238
- ku as filterByIntent,
5267
+ Nu as filterByEndpoint,
5268
+ Cu as filterByIntent,
5239
5269
  hi as filterByTargetScheme,
5240
5270
  Vs as filterableDimensions,
5241
5271
  oe as findAiVendor,
5242
- nl as fixedLevelForName,
5243
- Yl as fixedTypeForName,
5244
- ql as fixedTypes,
5245
- Xu as flattenLocales,
5272
+ il as fixedLevelForName,
5273
+ Zl as fixedTypeForName,
5274
+ Jl as fixedTypes,
5275
+ Zu as flattenLocales,
5246
5276
  W as floorToPeriod,
5247
- mc as forecastIntervals,
5277
+ yc as forecastIntervals,
5248
5278
  eo as formatActingIdentity,
5249
5279
  D as formatCents,
5250
- hl as formatClock,
5251
- ml as formatHm,
5252
- Jl as formatItemKey,
5280
+ bl as formatClock,
5281
+ yl as formatHm,
5282
+ nu as formatItemKey,
5253
5283
  G as formatPeriod,
5254
- Dl as formatSeriesNumber,
5255
- Qc as formatSlaDuration,
5256
- hu as freshSources,
5284
+ Pl as formatSeriesNumber,
5285
+ el as formatSlaDuration,
5286
+ _u as freshSources,
5257
5287
  Ds as getActivitySeenUserIds,
5258
- Ea as getContactEndpoints,
5259
- Pa as getShortTitle,
5260
- La as getUrgencyScore,
5261
- Bc as hasReacted,
5262
- rl as healthCategory,
5263
- ol as healthsInCategory,
5288
+ Ia as getContactEndpoints,
5289
+ Fa as getShortTitle,
5290
+ Ua as getUrgencyScore,
5291
+ Gc as hasReacted,
5292
+ sl as healthCategory,
5293
+ al as healthsInCategory,
5264
5294
  Ft as heightOf,
5265
- Ua as helpCenterText,
5266
- wc as humanizeAction,
5295
+ ja as helpCenterText,
5296
+ Cc as humanizeAction,
5267
5297
  co as interactionIdOf,
5268
- Bl as isAgentUser,
5269
- Da as isAssigned,
5270
- ia as isAssignmentTerminal,
5298
+ Gl as isAgentUser,
5299
+ Pa as isAssigned,
5300
+ ca as isAssignmentTerminal,
5271
5301
  oo as isAssignmentTrigger,
5272
- $c as isAutoReady,
5302
+ Kc as isAutoReady,
5273
5303
  _r as isAwaitingThem,
5274
5304
  Ls as isChatMessageActivity,
5275
- $a as isClosed,
5305
+ Ka as isClosed,
5276
5306
  Ms as isConnectedType,
5277
- ld as isDeepLink,
5307
+ fd as isDeepLink,
5278
5308
  Er as isDescendant,
5279
- wa as isEligible,
5309
+ Ca as isEligible,
5280
5310
  $s as isEmailActivity,
5281
- Tl as isFrozen,
5282
- Vc as isHeldClock,
5283
- vd as isHtmlBody,
5284
- Pc as isInFlight,
5311
+ wl as isFrozen,
5312
+ qc as isHeldClock,
5313
+ Od as isHtmlBody,
5314
+ Fc as isInFlight,
5285
5315
  ur as isInteractionUnseen,
5286
- ud as isLandingPath,
5316
+ md as isLandingPath,
5287
5317
  or as isLikelyBulk,
5288
5318
  vt as isMessageShape,
5289
5319
  Ts as isMessageType,
5290
5320
  Mi as isMoreSpecificPattern,
5291
5321
  Mt as isNoteShape,
5292
5322
  wo as isOpenClock,
5293
- mu as isOutwardTool,
5323
+ bu as isOutwardTool,
5294
5324
  gr as isParked,
5295
5325
  go as isPaused,
5296
5326
  vs as isPlaybookAuthoredType,
5297
- Id as isPublicEmailDomain,
5298
- pd as isPublicPath,
5327
+ Md as isPublicEmailDomain,
5328
+ gd as isPublicPath,
5299
5329
  yr as isReminderActive,
5300
5330
  ks as isReplyableType,
5301
- xa as isSlaAtRisk,
5302
- Lc as isTerminal,
5303
- Ma as isThreadLongEnough,
5331
+ $a as isSlaAtRisk,
5332
+ Uc as isTerminal,
5333
+ Oa as isThreadLongEnough,
5304
5334
  Cs as isTranscriptType,
5305
- su as isWorkClosed,
5306
- yl as isWorkTypeVisible,
5307
- nu as itemDossierKeys,
5335
+ lu as isWorkClosed,
5336
+ Al as isWorkTypeVisible,
5337
+ iu as itemDossierKeys,
5308
5338
  x as kindFor,
5309
5339
  ri as ladderFor,
5310
5340
  No as levelIn,
5311
5341
  Ce as levelOrder,
5312
5342
  vr as lineNet,
5313
- Ka as linkLabel,
5314
- Sl as listedTransactionKinds,
5343
+ Ba as linkLabel,
5344
+ kl as listedTransactionKinds,
5315
5345
  Gs as listeningAllowed,
5316
- Ba as localeInstruction,
5317
- Fa as localeName,
5318
- Ha as localesOf,
5319
- Ed as looksLikeEmail,
5346
+ Ga as localeInstruction,
5347
+ Ha as localeName,
5348
+ za as localesOf,
5349
+ kd as looksLikeEmail,
5320
5350
  Dt as lookup,
5321
- ga as marginCents,
5322
- Bu as markdownToDocument,
5323
- vu as matchContactToIntents,
5351
+ _a as marginCents,
5352
+ Wu as markdownToDocument,
5353
+ Qs as matchApprovalPolicy,
5354
+ Ou as matchContactToIntents,
5324
5355
  Ci as matchPublicRoute,
5325
- za as mcpCredentialScope,
5326
- Va as mcpToolPrefix,
5327
- il as measureRatio,
5328
- yd as mergeShownKeys,
5356
+ Ya as mcpCredentialScope,
5357
+ qa as mcpToolPrefix,
5358
+ cl as measureRatio,
5359
+ Ed as mergeShownKeys,
5329
5360
  mn as messageCountsAs,
5330
5361
  Ys as metricOption,
5331
5362
  Ht as minutesOn,
5332
- kd as needsPhoneRegion,
5363
+ Cd as needsPhoneRegion,
5333
5364
  Is as nestsUnderParent,
5334
- tl as nextLevelBelow,
5335
- Yc as nextSlaClock,
5336
- kl as nextVersion,
5337
- Zs as normalizeArtifactBlocks,
5365
+ ol as nextLevelBelow,
5366
+ Zc as nextSlaClock,
5367
+ Ml as nextVersion,
5368
+ ta as normalizeArtifactBlocks,
5338
5369
  As as normalizeBlocks,
5339
- Zs as normalizeDocumentBlocks,
5370
+ ta as normalizeDocumentBlocks,
5340
5371
  an as normalizeEmail,
5341
5372
  P as normalizeExample,
5342
5373
  Hn as normalizeGtin,
5343
- qu as notificationPrefKey,
5374
+ ed as notificationPrefKey,
5344
5375
  Ui as novelty,
5345
- Fu as operationDescriptor,
5346
- Uu as operationsForKind,
5347
- ka as organizationSender,
5376
+ Gu as operationDescriptor,
5377
+ Hu as operationsForKind,
5378
+ Ma as organizationSender,
5348
5379
  pe as overlapSeconds,
5349
- uc as overlaps,
5350
- sl as paceRatio,
5351
- va as parkMarksById,
5352
- _c as parseActingIdentity,
5353
- ha as parseAmount,
5354
- jc as parseClockMinutes,
5355
- eu as parseItemKey,
5380
+ fc as overlaps,
5381
+ ll as paceRatio,
5382
+ Na as parkMarksById,
5383
+ Sc as parseActingIdentity,
5384
+ ba as parseAmount,
5385
+ Wc as parseClockMinutes,
5386
+ ru as parseItemKey,
5356
5387
  ki as pathToRegex,
5357
5388
  Wt as patternFor,
5358
5389
  Gt as patternStartTime,
5359
- Hc as pauseBitFor,
5390
+ zc as pauseBitFor,
5391
+ Zs as pendingApprovers,
5360
5392
  zs as periodsInRange,
5361
- Sd as phoneSuffix,
5362
- Ca as pickMailHeaders,
5363
- Ta as pickTemplate,
5364
- bc as placeLumps,
5393
+ wd as phoneSuffix,
5394
+ xa as pickMailHeaders,
5395
+ wa as pickTemplate,
5396
+ Ec as placeLumps,
5365
5397
  pn as plainTextFromMarkdown,
5366
- zc as planSlaEvent,
5367
- pc as plannedBillable,
5398
+ Yc as planSlaEvent,
5399
+ hc as plannedBillable,
5368
5400
  jr as plannedWorkTypeKey,
5369
5401
  ro as playbookActor,
5370
- Dc as procedureOf,
5371
- Nl as productScopeKey,
5372
- ru as projectDossierKeys,
5402
+ Pc as procedureOf,
5403
+ Rl as productScopeKey,
5404
+ su as projectDossierKeys,
5373
5405
  vi as publicBasePathFor,
5374
- dd as publicRoutePatterns,
5375
- ca as reactionWakesAssignment,
5406
+ hd as publicRoutePatterns,
5407
+ da as reactionWakesAssignment,
5376
5408
  ye as readPath,
5377
5409
  de as readStepError,
5378
5410
  hr as recencyOf,
5379
- Sa as recipientLocale,
5411
+ ka as recipientLocale,
5380
5412
  so as refKey,
5381
5413
  Xi as registrableDomain,
5382
5414
  Uo as rejectExampleCandidate,
5383
- Ja as relatedByDefault,
5415
+ nc as relatedByDefault,
5384
5416
  Me as remainingMsOf,
5385
5417
  Pr as requiredAgents,
5386
5418
  Br as requirementFor,
5387
5419
  fi as resolveAccountCapabilities,
5388
5420
  be as resolveActivityText,
5389
5421
  pi as resolveChannelIntents,
5390
- ya as resolvePrice,
5422
+ Aa as resolvePrice,
5391
5423
  Yn as resolveSignature,
5392
- ed as resolveWorkMode,
5393
- sd as resourceKindOf,
5394
- ll as rollupChildren,
5424
+ od as resolveWorkMode,
5425
+ ud as resourceKindOf,
5426
+ pl as rollupChildren,
5395
5427
  z as roundHalfUp,
5396
- Ac as runActor,
5397
- Uc as runInteractionId,
5428
+ Tc as runActor,
5429
+ jc as runInteractionId,
5398
5430
  Dn as sanitizeInline,
5399
5431
  Oi as sanitizeTranscript,
5400
- hc as scheduleEntryScopeKey,
5401
- Ra as scoreInteraction,
5402
- Wl as scoreWorkItem,
5403
- Wa as selectLenses,
5432
+ bc as scheduleEntryScopeKey,
5433
+ La as scoreInteraction,
5434
+ Xl as scoreWorkItem,
5435
+ Xa as selectLenses,
5404
5436
  $r as serviceLevel,
5405
- Eu as sessionsHoldCannotReach,
5406
- Au as sessionsToHold,
5407
- Kl as shadowTermsByCode,
5437
+ ku as sessionsHoldCannotReach,
5438
+ Iu as sessionsToHold,
5439
+ Bl as shadowTermsByCode,
5408
5440
  Rt as shareKeyForTeam,
5409
5441
  xt as shareKeyForUser,
5410
- na as shareKeysForViewer,
5411
- fc as shortfalls,
5412
- td as shouldRunAudioPipeline,
5413
- qc as slaBadgeTone,
5414
- Oa as slaHoursByInbox,
5442
+ ia as shareKeysForViewer,
5443
+ gc as shortfalls,
5444
+ id as shouldRunAudioPipeline,
5445
+ Jc as slaBadgeTone,
5446
+ Da as slaHoursByInbox,
5415
5447
  br as slaHoursFor,
5416
5448
  ii as sortStatuses,
5417
5449
  di as sourceKey,
5418
5450
  Jr as spreadOverWeights,
5419
- ou as statusIn,
5420
- Rc as stepsOf,
5421
- Jc as strategyAncestorKeysFor,
5422
- Zc as strategyDossierKeys,
5451
+ au as statusIn,
5452
+ pu as statusRequiresApproval,
5453
+ Lc as stepsOf,
5454
+ nl as strategyAncestorKeysFor,
5455
+ tl as strategyDossierKeys,
5423
5456
  Zt as strategyItemScopeKey,
5424
5457
  fn as stripHtml,
5425
- Kc as subjectKeyOf,
5458
+ Bc as subjectKeyOf,
5426
5459
  zt as subjectOf,
5427
- bu as subjectRef,
5428
- tu as suggestProjectKey,
5429
- al as suggestedHealth,
5430
- Fc as summarizeReactions,
5431
- Ic as targetById,
5432
- Tc as targetForActivityType,
5433
- dl as targetOrder,
5460
+ Su as subjectRef,
5461
+ ou as suggestProjectKey,
5462
+ ul as suggestedHealth,
5463
+ Hc as summarizeReactions,
5464
+ vc as targetById,
5465
+ wc as targetForActivityType,
5466
+ ml as targetOrder,
5434
5467
  wr as taxRateFor,
5435
5468
  Or as termsFor,
5436
5469
  no as toActingIdentity,
5437
5470
  At as toE164,
5438
- Ul as toTransactionTerm,
5471
+ jl as toTransactionTerm,
5439
5472
  io as toolBareName,
5440
- vc as toolDisplayName,
5473
+ Nc as toolDisplayName,
5441
5474
  ne as toolName,
5442
- ra as toolSourceKinds,
5475
+ sa as toolSourceKinds,
5443
5476
  Fo as topicOfferedForTeam,
5444
- El as topicsForTeam,
5477
+ Il as topicsForTeam,
5445
5478
  Lr as trafficIntensity,
5446
- wl as transactionContext,
5447
- xl as transactionDossierKeys,
5448
- Ol as transactionIdFromScope,
5479
+ Cl as transactionContext,
5480
+ $l as transactionDossierKeys,
5481
+ Dl as transactionIdFromScope,
5449
5482
  F as transactionKind,
5450
5483
  Qo as transactionScopeKey,
5451
- vl as transactionSlots,
5452
- tc as transactionTotals,
5453
- Cc as triggerFillsVar,
5484
+ Nl as transactionSlots,
5485
+ oc as transactionTotals,
5486
+ xc as triggerFillsVar,
5454
5487
  Ko as truncateExample,
5455
- Xl as typeIn,
5456
- Vl as typesFor,
5457
- au as uniqueWorkStatusKey,
5458
- gl as uniqueWorkTypeKey,
5488
+ Ql as typeIn,
5489
+ ql as typesFor,
5490
+ uu as uniqueWorkStatusKey,
5491
+ _l as uniqueWorkTypeKey,
5459
5492
  vn as usageMetricId,
5460
5493
  qs as usageMetrics,
5461
- cu as validateStatuses,
5462
- Sc as valueAtPath,
5494
+ du as validateStatuses,
5495
+ kc as valueAtPath,
5463
5496
  xe as waitHoursOf,
5464
- aa as wakesAssignment,
5465
- Zl as workActivityScopeKey,
5497
+ ua as wakesAssignment,
5498
+ tu as workActivityScopeKey,
5466
5499
  ni as workItemScopeKey,
5467
5500
  Jt as workProjectScopeKey,
5468
- cl as workRatio,
5501
+ dl as workRatio,
5469
5502
  si as workStatusKey,
5470
5503
  Do as workTypeKey,
5471
5504
  Ie as workingMsBetween,
5472
- gc as workstreamScopeKey
5505
+ _c as workstreamScopeKey
5473
5506
  };