@opencxh/domain 1.242.0 → 1.243.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 rs = 10, os = 10, is = 10, ss = 5, on = /* @__PURE__ */ new Set([
1
+ const os = 10, is = 10, ss = 10, as = 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 as(e, t = () => {
17
+ function cs(e, t = () => {
18
18
  }) {
19
19
  if (!Array.isArray(e)) return [];
20
20
  const n = [];
@@ -467,40 +467,40 @@ function Ke(e) {
467
467
  function w(e) {
468
468
  return R[e];
469
469
  }
470
- function cs(e) {
470
+ function ls(e) {
471
471
  return w(e)?.icon ?? "circle";
472
472
  }
473
- function ls(e) {
473
+ function us(e) {
474
474
  return w(e)?.channelKind;
475
475
  }
476
476
  function St(e) {
477
477
  return e === "message" || e === "note";
478
478
  }
479
- function us(e) {
479
+ function ds(e) {
480
480
  return St(w(e)?.shape);
481
481
  }
482
482
  function It(e) {
483
483
  return e === "note";
484
484
  }
485
- function ds(e) {
485
+ function ps(e) {
486
486
  return It(w(e)?.shape);
487
487
  }
488
- function ps(e) {
488
+ function fs(e) {
489
489
  return w(e)?.replyable === !0;
490
490
  }
491
- function fs(e) {
491
+ function ms(e) {
492
492
  return w(e)?.carriesText === !0;
493
493
  }
494
494
  function un(e) {
495
495
  return w(e)?.countsAs;
496
496
  }
497
- function ms(e) {
497
+ function hs(e) {
498
498
  return w(e)?.playbookAuthored === !0;
499
499
  }
500
500
  function gs(e) {
501
501
  return w(e)?.connected === !0;
502
502
  }
503
- function hs(e) {
503
+ function ys(e) {
504
504
  const t = w(e);
505
505
  return t?.shape === "artifact" && t?.carriesText === !0;
506
506
  }
@@ -508,11 +508,11 @@ function dn(e) {
508
508
  const t = w(e.type)?.snippet;
509
509
  return t ? t(e) : "";
510
510
  }
511
- function ys(e, t) {
511
+ function bs(e, t) {
512
512
  const n = w(e.type)?.timeline;
513
513
  return n ? n(e, t) : e.type.replace(/_/g, " ").toLowerCase();
514
514
  }
515
- function bs(e) {
515
+ function As(e) {
516
516
  const t = w(e.type)?.joinUrl;
517
517
  return t ? t(e) : void 0;
518
518
  }
@@ -591,7 +591,7 @@ function Be(e) {
591
591
  displayNameKey: e.displayNameKey
592
592
  };
593
593
  }
594
- class gn {
594
+ class hn {
595
595
  constructor(t = [], n = mn) {
596
596
  this.translate = n;
597
597
  for (const r of t)
@@ -681,20 +681,20 @@ class gn {
681
681
  return this.translate;
682
682
  }
683
683
  }
684
- const As = new gn();
685
- function Es(e, t, n = []) {
684
+ const Es = new hn();
685
+ function Ss(e, t, n = []) {
686
686
  const r = e.createdAt;
687
687
  if (!r) return [];
688
688
  const o = new Set(n);
689
689
  return e.author.type === "user" && e.author.id && o.add(e.author.id), Object.entries(t).filter(([i, s]) => s >= r && !o.has(i)).map(([i]) => i);
690
690
  }
691
- function hn(e) {
691
+ function gn(e) {
692
692
  return e.createdAt ?? 0;
693
693
  }
694
- function Ss(e) {
694
+ function Is(e) {
695
695
  return e.type === "EMAIL_RECEIVED" || e.type === "EMAIL_SENT";
696
696
  }
697
- function Is(e) {
697
+ function Ts(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 Ts(e) {
793
+ function ws(e) {
794
794
  return te(e)?.label ?? e;
795
795
  }
796
- function ws(e, t = "gpt-5-mini") {
796
+ function ks(e, t = "gpt-5-mini") {
797
797
  return te(e)?.defaultModel ?? t;
798
798
  }
799
- function ks(e) {
799
+ function Ms(e) {
800
800
  return Tt.filter((t) => t.capabilities.includes(e));
801
801
  }
802
- function Ms(e) {
802
+ function vs(e) {
803
803
  const t = te(e);
804
804
  return !!t && !t.baseUrl;
805
805
  }
806
- function vs(e, t) {
806
+ function Cs(e, t) {
807
807
  return t === "text" ? !0 : te(e)?.attachmentKinds?.includes(t) === !0;
808
808
  }
809
- function Cs(e, t) {
809
+ function Os(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 Os(e, t = "month") {
821
+ function xs(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
- function xs(e) {
825
+ function Ns(e) {
826
826
  return e?.listeningEnabled !== !1;
827
827
  }
828
- const Ns = [
828
+ const Rs = [
829
829
  { id: "agent", label: "Agent", labelSource: "user" },
830
830
  { id: "team", label: "Team", labelSource: "team" },
831
831
  { id: "inbox", label: "Inbox", labelSource: "inbox" },
@@ -846,28 +846,28 @@ function H(e, t) {
846
846
  const n = new Date(e);
847
847
  return n.setUTCMinutes(0, 0, 0), t === "day" && n.setUTCHours(0), n.getTime();
848
848
  }
849
- const bn = 36e5, _n = 864e5;
850
- function Rs(e, t, n) {
851
- const r = n === "hour" ? bn : _n, o = [];
849
+ const bn = 36e5, An = 864e5;
850
+ function Ds(e, t, n) {
851
+ const r = n === "hour" ? bn : An, o = [];
852
852
  for (let i = H(e, n); i <= t; i += r)
853
853
  o.push(j(i, n));
854
854
  return o;
855
855
  }
856
- const An = /* @__PURE__ */ new Set(["time"]);
857
- function Ds(e, t, n) {
856
+ const _n = /* @__PURE__ */ new Set(["time"]);
857
+ function $s(e, t, n) {
858
858
  if (!e) return [];
859
859
  const r = new Set(e.supportedDimensions ?? []);
860
- return t.filter((o) => r.has(o.id) && !An.has(o.id)).map((o) => ({
860
+ return t.filter((o) => r.has(o.id) && !_n.has(o.id)).map((o) => ({
861
861
  id: o.id,
862
862
  label: o.label,
863
863
  options: o.options?.length ? o.options : n[o.id] ?? []
864
864
  })).filter((o) => o.options.length > 0);
865
865
  }
866
- function $s(e, t) {
866
+ function Ls(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 Ls(e) {
870
+ function Ps(e) {
871
871
  return { value: e.id, label: `${e.category} · ${e.label}` };
872
872
  }
873
873
  const En = [
@@ -877,7 +877,7 @@ const En = [
877
877
  function In(e, t) {
878
878
  return `${e}.usage.${t}`;
879
879
  }
880
- function Ps(e, t) {
880
+ function Ks(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 Ps(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, Ks = 1024 * 1024, wn = /* @__PURE__ */ new Set([
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, Us = 1024 * 1024, wn = /* @__PURE__ */ new Set([
896
896
  "heading",
897
897
  "paragraph",
898
898
  "list",
@@ -968,7 +968,7 @@ function U(e, t = 200) {
968
968
  function Nn(e, t = "info") {
969
969
  return typeof e == "string" && wt.has(e) ? e : t;
970
970
  }
971
- function Us(e, t = () => {
971
+ function Fs(e, t = () => {
972
972
  }) {
973
973
  if (!Array.isArray(e)) return [];
974
974
  const n = [];
@@ -1187,10 +1187,10 @@ function Us(e, t = () => {
1187
1187
  }
1188
1188
  return n;
1189
1189
  }
1190
- function Fs(e) {
1190
+ function Bs(e) {
1191
1191
  return JSON.stringify(e).length;
1192
1192
  }
1193
- function Bs(e) {
1193
+ function js(e) {
1194
1194
  return {
1195
1195
  blocks: e.length,
1196
1196
  types: e.map((t) => t.type),
@@ -1278,44 +1278,44 @@ function Dn(e, t) {
1278
1278
  `;
1279
1279
  }
1280
1280
  const Mt = (e) => `user:${e}`, vt = (e) => `team:${e}`;
1281
- function js(e) {
1281
+ function Hs(e) {
1282
1282
  const t = /* @__PURE__ */ new Set();
1283
1283
  for (const n of e ?? [])
1284
1284
  n?.id && (n.kind === "user" && t.add(Mt(n.id)), n.kind === "team" && t.add(vt(n.id)));
1285
1285
  return [...t].sort();
1286
1286
  }
1287
- function Hs(e, t) {
1287
+ function Gs(e, t) {
1288
1288
  return [Mt(e), ...t.map(vt)];
1289
1289
  }
1290
- function Gs(e) {
1290
+ function Ws(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"], Ws = ["open", "waiting"];
1297
- function Vs(e) {
1296
+ const $n = ["done", "escalated"], Vs = ["open", "waiting"];
1297
+ function zs(e) {
1298
1298
  return $n.includes(e);
1299
1299
  }
1300
1300
  const Ln = "assignment";
1301
- function zs(e) {
1301
+ function Xs(e) {
1302
1302
  return `${Ln}:${e}`;
1303
1303
  }
1304
- function Xs(e, t, n, r) {
1304
+ function Ys(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 Ys(e) {
1310
+ function qs(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 qs(e) {
1314
+ function Qs(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 Qs(e, t, n = Pn) {
1318
+ function Zs(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",
@@ -1341,7 +1341,7 @@ function Un(e) {
1341
1341
  t += Number(e[n]) * (n % 2 === 0 ? 3 : 1);
1342
1342
  return (10 - t % 10) % 10;
1343
1343
  }
1344
- function Zs(e, t) {
1344
+ function Js(e, t) {
1345
1345
  const n = t.trim(), r = Kn(n), o = [{ sku: n }, { barcodes: { $in: [n] } }];
1346
1346
  return r && o.push({ gtin: r }), { organizationId: e, $or: o };
1347
1347
  }
@@ -1366,7 +1366,7 @@ function D(e, t = {}) {
1366
1366
  l > 0 && (s.length - l) % 3 === 0 && (c += r), c += s[l];
1367
1367
  return `${o ? "-" : ""}${c}${n}${a}`;
1368
1368
  }
1369
- function Js(e) {
1369
+ function ea(e) {
1370
1370
  const t = e.trim().replace(/[\s ]/g, "");
1371
1371
  if (!t) return;
1372
1372
  const n = t.replace(/^[-+]?[^\d.,-]*/, "").replace(/[^\d.,-]+$/, ""), r = /^-/.test(t) || /-$/.test(t), o = n.replace(/-/g, "");
@@ -1381,7 +1381,7 @@ function Js(e) {
1381
1381
  function Bn(e) {
1382
1382
  return /^\d+$/.test(e) ? !0 : e.includes(".") && e.includes(",") ? !1 : /^\d{1,3}([.,]\d{3})*$/.test(e);
1383
1383
  }
1384
- function ea(e) {
1384
+ function ta(e) {
1385
1385
  return e.costPriceCents == null ? e.netCents : e.netCents - G(e.costPriceCents * e.quantity);
1386
1386
  }
1387
1387
  const jn = [
@@ -1406,7 +1406,7 @@ const jn = [
1406
1406
  matches: (e, t) => !e.contractId && !e.companyId && !!e.segmentKey && e.segmentKey === t.segmentKey && !!e.categoryKey
1407
1407
  }
1408
1408
  ];
1409
- function ta(e, t, n) {
1409
+ function na(e, t, n) {
1410
1410
  const r = n.filter(
1411
1411
  (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)
1412
1412
  );
@@ -1427,19 +1427,19 @@ function ta(e, t, n) {
1427
1427
  function Hn(e, t) {
1428
1428
  return e.unitPriceCents != null ? e.unitPriceCents : e.discountPercent != null ? G(t * (1 - e.discountPercent / 100)) : t;
1429
1429
  }
1430
- const na = ["piece", "hour", "day", "month", "km", "license"], ra = /* @__PURE__ */ new Set(["mail", "message"]);
1430
+ const ra = ["piece", "hour", "day", "month", "km", "license"], oa = /* @__PURE__ */ new Set(["mail", "message"]);
1431
1431
  function Gn(e, t) {
1432
1432
  const n = e.settings?.signatures?.[t];
1433
1433
  return !n?.enabled || !n.body || n.body.trim() === "" ? null : n;
1434
1434
  }
1435
- function oa(e, t, n, r = "html") {
1435
+ function ia(e, t, n, r = "html") {
1436
1436
  if (!e) return n;
1437
1437
  const o = Gn(e, t);
1438
1438
  return o ? `${n}${r === "text" ? `
1439
1439
 
1440
1440
  ` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${o.body}` : n;
1441
1441
  }
1442
- function ia(e) {
1442
+ function sa(e) {
1443
1443
  return e.endpoints ?? [];
1444
1444
  }
1445
1445
  function $(e) {
@@ -1447,10 +1447,10 @@ function $(e) {
1447
1447
  if (t)
1448
1448
  return t.split(/[-_]/)[0] || void 0;
1449
1449
  }
1450
- function sa(e) {
1450
+ function aa(e) {
1451
1451
  return $(e.contactLocale) ?? $(e.companyLocale) ?? $(e.organizationLocale);
1452
1452
  }
1453
- function aa(e, t, n, r) {
1453
+ function ca(e, t, n, r) {
1454
1454
  const o = e.filter((a) => a.key === t && !a.archived);
1455
1455
  if (o.length === 0) return;
1456
1456
  const i = $(n), s = $(r);
@@ -1485,7 +1485,7 @@ function Xn(e, t) {
1485
1485
  }
1486
1486
  return e.equals !== void 0 ? n === e.equals : !0;
1487
1487
  }
1488
- function ca(e, t, n, r) {
1488
+ function la(e, t, n, r) {
1489
1489
  const o = [], i = [], s = (a) => {
1490
1490
  const c = zn(a, t);
1491
1491
  for (const l of c.unresolved) o.includes(l) || o.push(l);
@@ -1578,13 +1578,13 @@ function ca(e, t, n, r) {
1578
1578
  }
1579
1579
  return { blocks: i, unresolved: o };
1580
1580
  }
1581
- const Yn = 36e5, qn = 864e5, L = -1 / 0, la = (e) => e.score > L, J = {
1581
+ const Yn = 36e5, qn = 864e5, L = -1 / 0, ua = (e) => e.score > L, J = {
1582
1582
  urgent: 40,
1583
1583
  high: 25,
1584
1584
  normal: 10,
1585
1585
  low: 0
1586
1586
  };
1587
- function ua(e) {
1587
+ function da(e) {
1588
1588
  return Object.fromEntries(e.map((t) => [t.resourceId, t]));
1589
1589
  }
1590
1590
  const Qn = /(^|[._+-])(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;
@@ -1592,7 +1592,7 @@ function Zn(e, t) {
1592
1592
  return !!(e && Qn.test(e) || t && Ot.test(t));
1593
1593
  }
1594
1594
  const Jn = 3, er = 600;
1595
- function da(e, t) {
1595
+ function pa(e, t) {
1596
1596
  return e >= Jn || t >= er;
1597
1597
  }
1598
1598
  const tr = [
@@ -1605,7 +1605,7 @@ const tr = [
1605
1605
  "feedback-id",
1606
1606
  "x-mailer"
1607
1607
  ];
1608
- function pa(e) {
1608
+ function fa(e) {
1609
1609
  const t = {};
1610
1610
  for (const n of e) {
1611
1611
  const r = n.name?.toLowerCase();
@@ -1614,7 +1614,7 @@ function pa(e) {
1614
1614
  return t;
1615
1615
  }
1616
1616
  const nr = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i, rr = /(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;
1617
- function fa(e) {
1617
+ function ma(e) {
1618
1618
  const t = e.headers ?? {}, n = e.from?.email, r = t["auto-submitted"]?.toLowerCase();
1619
1619
  if (r && r !== "no" || t["x-auto-response-suppress"] || n && nr.test(n))
1620
1620
  return "automated";
@@ -1632,7 +1632,7 @@ const ir = ["open"], sr = 1e3, ar = {
1632
1632
  low: 24
1633
1633
  }, cr = 72;
1634
1634
  function lr(e) {
1635
- return e.lastActivityAt ?? (e.createdAt ? new Date(hn(e)).getTime() : 0);
1635
+ return e.lastActivityAt ?? (e.createdAt ? new Date(gn(e)).getTime() : 0);
1636
1636
  }
1637
1637
  function ur(e, t) {
1638
1638
  return dr(t.remindersById?.[e.id], e, t.now);
@@ -1648,7 +1648,7 @@ function pr(e, t) {
1648
1648
  const n = e.assignedInboxId ? t?.[e.assignedInboxId] : void 0;
1649
1649
  return typeof n == "number" && n > 0 ? n : ar[e.priority ?? "normal"];
1650
1650
  }
1651
- function ma(e) {
1651
+ function ha(e) {
1652
1652
  const t = {};
1653
1653
  for (const n of e)
1654
1654
  typeof n.slaHours == "number" && n.slaHours > 0 && (t[n.id] = n.slaHours);
@@ -1661,7 +1661,7 @@ function fr(e, t) {
1661
1661
  const n = e.lastActivityPreview;
1662
1662
  return n?.direction !== "outbound" || !xt(n.type) ? !1 : ve(e, t) < cr;
1663
1663
  }
1664
- function ha(e, t) {
1664
+ function ya(e, t) {
1665
1665
  if (!Nt(e.status)) return { score: L, reasons: [] };
1666
1666
  if (e.snoozedTill && e.snoozedTill > t.now) return { score: L, reasons: [] };
1667
1667
  if (fr(e, t.now)) return { score: L, reasons: [] };
@@ -1677,17 +1677,17 @@ function ha(e, t) {
1677
1677
  const s = e.lastActivityPreview;
1678
1678
  return s?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), s?.direction === "outbound" && xt(s.type) && (n += 10, r.push("no-reply")), !e.firstResponseAt && e.lastActivityPreview?.direction === "inbound" && (n += 10, r.push("awaiting-reply")), (e.tags?.some((c) => c === "marketing" || c === "automated") || Zn(e.remoteParty?.resource, e.lastActivityPreview?.snippet)) && (n -= sr, r.push("bulk")), { score: n, reasons: r };
1679
1679
  }
1680
- const ya = (e) => !!e.assignedUserId || !!e.assignedInboxId, ba = (e) => e.status === "closed", _a = (e) => ({
1680
+ const ba = (e) => !!e.assignedUserId || !!e.assignedInboxId, Aa = (e) => e.status === "closed", _a = (e) => ({
1681
1681
  urgent: 10,
1682
1682
  high: 5,
1683
1683
  normal: 2,
1684
1684
  low: 1
1685
- })[e.priority] || 0, Aa = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1686
- function Ea(e, t) {
1685
+ })[e.priority] || 0, Ea = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1686
+ function Sa(e, t) {
1687
1687
  const n = e.labels ?? [];
1688
1688
  return n.find((r) => r.locale === t)?.label ?? n[0]?.label ?? e.url;
1689
1689
  }
1690
- function Sa(e, t, n) {
1690
+ function Ia(e, t, n) {
1691
1691
  const r = e.translations ?? [];
1692
1692
  return r.find((o) => o.locale === t) ?? (n ? r.find((o) => o.locale === n) : void 0) ?? { locale: t };
1693
1693
  }
@@ -1710,10 +1710,10 @@ function Rt(e) {
1710
1710
  const t = (e ?? "").toLowerCase();
1711
1711
  return Ze.find((n) => n.code === t) ?? Ze.find((n) => n.code === t.split("-")[0]);
1712
1712
  }
1713
- function Ia(e) {
1713
+ function Ta(e) {
1714
1714
  return Rt(e)?.label ?? e;
1715
1715
  }
1716
- function Ta(e) {
1716
+ function wa(e) {
1717
1717
  const t = Rt(e);
1718
1718
  return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
1719
1719
  }
@@ -1727,15 +1727,15 @@ function mr(e, t) {
1727
1727
  }
1728
1728
  return r;
1729
1729
  }
1730
- function wa(e, t, n) {
1730
+ function ka(e, t, n) {
1731
1731
  if (!e) return !0;
1732
1732
  if (e === t) return !1;
1733
1733
  const r = new Map(n.map((s) => [s.id, s]));
1734
- if (!r.has(e) || t && gr(e, t, r)) return !1;
1734
+ if (!r.has(e) || t && hr(e, t, r)) return !1;
1735
1735
  const o = mr(e, r), i = t ? $t(t, n) : 1;
1736
1736
  return o + i <= Dt;
1737
1737
  }
1738
- function gr(e, t, n) {
1738
+ function hr(e, t, n) {
1739
1739
  const r = /* @__PURE__ */ new Set();
1740
1740
  let o = n.get(e)?.parentId;
1741
1741
  for (; o; ) {
@@ -1751,17 +1751,17 @@ function $t(e, t, n = /* @__PURE__ */ new Set()) {
1751
1751
  const r = t.filter((o) => o.parentId === e);
1752
1752
  return r.length ? 1 + Math.max(...r.map((o) => $t(o.id, t, n))) : 1;
1753
1753
  }
1754
- const hr = "en";
1754
+ const gr = "en";
1755
1755
  function yr(e) {
1756
- return e.defaultLocale || e.locale || hr;
1756
+ return e.defaultLocale || e.locale || gr;
1757
1757
  }
1758
- function ka(e) {
1758
+ function Ma(e) {
1759
1759
  const t = /* @__PURE__ */ new Set(), n = [];
1760
1760
  for (const r of [yr(e), ...e.locales ?? []])
1761
1761
  !r || t.has(r) || (t.add(r), n.push(r));
1762
1762
  return n;
1763
1763
  }
1764
- function Ma(e, t, n) {
1764
+ function va(e, t, n) {
1765
1765
  const r = e.translations ?? [];
1766
1766
  return r.find((o) => o.locale === t)?.name ?? (n ? r.find((o) => o.locale === n)?.name : void 0) ?? e.name;
1767
1767
  }
@@ -1792,29 +1792,29 @@ function br(e, t) {
1792
1792
  return e.userId === t.userId;
1793
1793
  }
1794
1794
  }
1795
- function va(e, t) {
1795
+ function Ca(e, t) {
1796
1796
  return e.filter((n) => n.enabled && br(n.ownerScope, t));
1797
1797
  }
1798
- function Ca(e) {
1798
+ function Oa(e) {
1799
1799
  return e.credentialScope ? e.credentialScope : (e.authMode ?? "header") === "header" || e.oauth?.scope === "org" ? "shared" : "per-user";
1800
1800
  }
1801
- function Oa(e) {
1801
+ function xa(e) {
1802
1802
  return `mcp__${e}__`;
1803
1803
  }
1804
- const xa = 1e3, Na = 2e3, Ra = 500, Da = 12e3, $a = 4e3, _r = ["contact", "company", "work_item"];
1805
- function La(e) {
1804
+ const Na = 1e3, Ra = 2e3, Da = 500, $a = 12e3, La = 4e3, Ar = ["contact", "company", "work_item"];
1805
+ function Pa(e) {
1806
1806
  if (!e) return !1;
1807
1807
  const t = e.slice(0, e.indexOf(":"));
1808
- return _r.includes(t);
1808
+ return Ar.includes(t);
1809
1809
  }
1810
- const Pa = [
1810
+ const Ka = [
1811
1811
  { key: "high", label: "tax_high", percent: 21, kind: "standard" },
1812
1812
  { key: "low", label: "tax_low", percent: 9, kind: "reduced" },
1813
1813
  { key: "zero", label: "tax_zero", percent: 0, kind: "zero" },
1814
1814
  { key: "reverse_charge", label: "tax_reverse_charge", percent: 0, kind: "reverse_charge" },
1815
1815
  { key: "exempt", label: "tax_exempt", percent: 0, kind: "exempt" }
1816
1816
  ];
1817
- function Ar(e, t) {
1817
+ function _r(e, t) {
1818
1818
  return t.find((n) => n.key === e) ?? {
1819
1819
  key: e,
1820
1820
  label: e,
@@ -1827,7 +1827,7 @@ function Er(e) {
1827
1827
  const t = 1 - (e.discountPercent ?? 0) / 100;
1828
1828
  return G(e.quantity * e.unitPriceCents * t);
1829
1829
  }
1830
- function Ka(e, t, n) {
1830
+ function Ua(e, t, n) {
1831
1831
  const r = e.map((l) => ({ ...l, netCents: Er(l), taxCents: 0 })), o = /* @__PURE__ */ new Map();
1832
1832
  for (let l = 0; l < r.length; l++) {
1833
1833
  if (r[l].kind !== "product") continue;
@@ -1837,7 +1837,7 @@ function Ka(e, t, n) {
1837
1837
  const i = [];
1838
1838
  let s = 0, a = 0;
1839
1839
  for (const [l, d] of o) {
1840
- const u = Ar(l, t), p = d.reduce((m, S) => m + r[S].netCents, 0), f = G(p * u.percent / 100), y = Fn(
1840
+ const u = _r(l, t), p = d.reduce((m, S) => m + r[S].netCents, 0), f = G(p * u.percent / 100), y = Fn(
1841
1841
  f,
1842
1842
  d.map((m) => r[m].netCents)
1843
1843
  );
@@ -1859,7 +1859,7 @@ function Ka(e, t, n) {
1859
1859
  }
1860
1860
  };
1861
1861
  }
1862
- const Ua = "onboarding-source", Fa = ["support", "billing", "availability", "sales", "onboarding"], Ba = ["keep", "replace"], Ce = [
1862
+ const Fa = "onboarding-source", Ba = ["support", "billing", "availability", "sales", "onboarding"], ja = ["keep", "replace"], Ce = [
1863
1863
  {
1864
1864
  key: "shift",
1865
1865
  label: "kind_shift",
@@ -1951,7 +1951,7 @@ function Lt(e, t, n = Ce) {
1951
1951
  const r = N(e.kindKey, n);
1952
1952
  return r.absent ? !1 : r.productive || r.capacity;
1953
1953
  }
1954
- function ja(e, t = Ce) {
1954
+ function Ha(e, t = Ce) {
1955
1955
  if (!e.userId || !W(e.status)) return !1;
1956
1956
  const n = N(e.kindKey, t);
1957
1957
  return n.capacity || n.productive || n.absent;
@@ -1983,17 +1983,17 @@ function wr(e, t, n) {
1983
1983
  (r) => r.userId === t && (r.effectiveFrom === void 0 || r.effectiveFrom <= n)
1984
1984
  ).sort((r, o) => (o.effectiveFrom ?? 0) - (r.effectiveFrom ?? 0))[0];
1985
1985
  }
1986
- const ge = 864e5;
1986
+ const he = 864e5;
1987
1987
  function kr(e) {
1988
- const t = Math.max(1, Math.round((e.to - e.from) / ge));
1989
- return Array.from({ length: t }, (n, r) => e.from + r * ge);
1988
+ const t = Math.max(1, Math.round((e.to - e.from) / he));
1989
+ return Array.from({ length: t }, (n, r) => e.from + r * he);
1990
1990
  }
1991
- function he(e, t, n, r) {
1991
+ function ge(e, t, n, r) {
1992
1992
  const o = Math.min(t, r) - Math.max(e, n);
1993
1993
  return o > 0 ? o / 1e3 : 0;
1994
1994
  }
1995
1995
  const tt = { interval: 0, day: 1, week: 2 };
1996
- function Ha(e, t) {
1996
+ function Ga(e, t) {
1997
1997
  const { entries: n, patterns: r = [], terms: o = [] } = t, i = n.filter(
1998
1998
  (u) => u.userId && W(u.status) && N(u.kindKey).capacity
1999
1999
  ), s = n.filter(
@@ -2012,30 +2012,30 @@ function Ha(e, t) {
2012
2012
  for (const u of a) {
2013
2013
  const p = t.teamIdsOf?.(u) ?? [];
2014
2014
  let f = 0, y = 0, m = 0;
2015
- for (const g of kr(e)) {
2016
- const E = Math.max(g, e.from), x = Math.min(g + ge, e.to);
2015
+ for (const h of kr(e)) {
2016
+ const E = Math.max(h, e.from), x = Math.min(h + he, e.to);
2017
2017
  m++;
2018
- const C = i.filter((k) => k.userId === u).reduce((k, $e) => k + he($e.start, $e.end, E, x), 0);
2018
+ const C = i.filter((k) => k.userId === u).reduce((k, $e) => k + ge($e.start, $e.end, E, x), 0);
2019
2019
  if (C > 0) {
2020
2020
  f += C;
2021
2021
  continue;
2022
2022
  }
2023
- const M = Ft(r, u, p, g), O = M ? Kt(M, g) : 0;
2023
+ const M = Ft(r, u, p, h), O = M ? Kt(M, h) : 0;
2024
2024
  if (M && O > 0) {
2025
- f += O * 60, d(Ut(M, g) ? "interval" : "day");
2025
+ f += O * 60, d(Ut(M, h) ? "interval" : "day");
2026
2026
  continue;
2027
2027
  }
2028
2028
  M || y++;
2029
2029
  }
2030
2030
  if (y > 0) {
2031
- const g = wr(o, u, e.from);
2032
- g && (f += g.weeklyMinutes * 60 * (y / 7), d("week"));
2031
+ const h = wr(o, u, e.from);
2032
+ h && (f += h.weeklyMinutes * 60 * (y / 7), d("week"));
2033
2033
  }
2034
- const S = s.filter((g) => g.userId === u).reduce(
2035
- (g, E) => g + he(E.start, E.end, e.from, e.to),
2034
+ const S = s.filter((h) => h.userId === u).reduce(
2035
+ (h, E) => h + ge(E.start, E.end, e.from, e.to),
2036
2036
  0
2037
- ), h = Math.max(0, f - S);
2038
- (h > 0 || m > 0) && (c[u] = h);
2037
+ ), g = Math.max(0, f - S);
2038
+ (g > 0 || m > 0) && (c[u] = g);
2039
2039
  }
2040
2040
  return {
2041
2041
  seconds: Object.values(c).reduce((u, p) => u + p, 0),
@@ -2043,7 +2043,7 @@ function Ha(e, t) {
2043
2043
  byUser: c
2044
2044
  };
2045
2045
  }
2046
- function Ga(e, t) {
2046
+ function Wa(e, t) {
2047
2047
  if (!e.some((a) => a.userId)) return [];
2048
2048
  const n = "", r = /* @__PURE__ */ new Map();
2049
2049
  for (const a of e) {
@@ -2066,7 +2066,7 @@ function Ga(e, t) {
2066
2066
  const s = r.get(n) ?? 0;
2067
2067
  return s > 0 && i.push({ requiredSeconds: s, capacitySeconds: 0, netSeconds: -s }), i;
2068
2068
  }
2069
- function Wa(e, t, n, r) {
2069
+ function Va(e, t, n, r) {
2070
2070
  const o = e.filter(
2071
2071
  (s) => s.userId && W(s.status) && !N(s.kindKey).absent
2072
2072
  ), i = Object.entries(r.byUser).map(
@@ -2074,7 +2074,7 @@ function Wa(e, t, n, r) {
2074
2074
  let c = 0, l = 0;
2075
2075
  for (const d of o) {
2076
2076
  if (d.userId !== s || N(d.kindKey).capacity && !d.workstreamId) continue;
2077
- const u = he(d.start, d.end, n.from, n.to);
2077
+ const u = ge(d.start, d.end, n.from, n.to);
2078
2078
  u <= 0 || (Lt(d, t) ? c += u : l += u);
2079
2079
  }
2080
2080
  return {
@@ -2088,7 +2088,7 @@ function Wa(e, t, n, r) {
2088
2088
  );
2089
2089
  return i.sort((s, a) => a.freeSeconds - s.freeSeconds), i;
2090
2090
  }
2091
- const Va = "demand-source", nt = 1e3;
2091
+ const za = "demand-source", nt = 1e3;
2092
2092
  function Mr(e, t) {
2093
2093
  let n = 1;
2094
2094
  for (let r = 1; r <= e; r++)
@@ -2122,7 +2122,7 @@ const Nr = 36e5, Rr = 864e5;
2122
2122
  function Dr(e) {
2123
2123
  return e === "day" ? Rr : Nr;
2124
2124
  }
2125
- function za(e, t) {
2125
+ function Xa(e, t) {
2126
2126
  return e.start < t.end && t.start < e.end;
2127
2127
  }
2128
2128
  function ce(e, t, n) {
@@ -2139,23 +2139,23 @@ function $r(e, t, n) {
2139
2139
  }
2140
2140
  return { seconds: o, headcount: o / n * s };
2141
2141
  }
2142
- function Xa(e) {
2142
+ function Ya(e) {
2143
2143
  const { entries: t, workstreamId: n, staffing: r, demand: o, range: i } = e, s = e.grain ?? "hour", a = Dr(s), c = a / 1e3, l = e.kinds, d = t.filter((m) => W(m.status)), u = 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 = [];
2144
2144
  for (let m = H(i.from, s); m < i.to; m += a) {
2145
- const S = m + a, h = j(m, s);
2146
- let g = 0;
2147
- for (const k of u) g += ce(k, m, S);
2145
+ const S = m + a, g = j(m, s);
2146
+ let h = 0;
2147
+ for (const k of u) h += ce(k, m, S);
2148
2148
  let E = 0;
2149
2149
  for (const k of p) E += ce(k, m, S);
2150
2150
  let x = 0;
2151
2151
  for (const k of f) x += ce(k, m, S);
2152
- const C = o?.[h] ?? {}, M = $r(C, r, c), O = g / c;
2152
+ const C = o?.[g] ?? {}, M = $r(C, r, c), O = h / c;
2153
2153
  y.push({
2154
- period: h,
2154
+ period: g,
2155
2155
  forecastVolume: C.volume,
2156
2156
  requiredSeconds: M.seconds,
2157
2157
  requiredHeadcount: M.headcount,
2158
- scheduledSeconds: g,
2158
+ scheduledSeconds: h,
2159
2159
  scheduledHeadcount: O,
2160
2160
  netHeadcount: O - M.headcount,
2161
2161
  capacitySeconds: E,
@@ -2167,11 +2167,11 @@ function Xa(e) {
2167
2167
  function Lr(e, t) {
2168
2168
  return e.workTypeKey ?? t?.defaultWorkTypeKey;
2169
2169
  }
2170
- function Ya(e, t, n) {
2170
+ function qa(e, t, n) {
2171
2171
  const r = Lr(e, t);
2172
2172
  return r ? n.find((o) => o.key === r)?.defaultBillable ?? !1 : !1;
2173
2173
  }
2174
- function qa(e) {
2174
+ function Qa(e) {
2175
2175
  return e.filter(
2176
2176
  (t) => t.netHeadcount < 0 && t.requiredHeadcount > 0
2177
2177
  );
@@ -2201,7 +2201,7 @@ function Hr(e, t) {
2201
2201
  t >= r.from && t < r.to && (n = r);
2202
2202
  return n;
2203
2203
  }
2204
- function Qa(e, t, n) {
2204
+ function Za(e, t, n) {
2205
2205
  const r = Math.max(1, n?.weeks ?? Kr), o = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set();
2206
2206
  for (const c of e)
2207
2207
  o.set(Br(c.period), c.value), i.add(c.period.slice(0, 10));
@@ -2211,8 +2211,8 @@ function Qa(e, t, n) {
2211
2211
  for (let f = 1; f <= r; f++) {
2212
2212
  const y = c - f * ye, S = o.get(y) ?? (i.has(j(y, "day")) ? 0 : void 0);
2213
2213
  if (S === void 0) continue;
2214
- const h = r - f + 1;
2215
- l += S * h, d += h;
2214
+ const g = r - f + 1;
2215
+ l += S * g, d += g;
2216
2216
  }
2217
2217
  let u = d > 0 ? l / d * s : 0;
2218
2218
  const p = Hr(n?.adjustments, c);
@@ -2221,10 +2221,10 @@ function Qa(e, t, n) {
2221
2221
  return a;
2222
2222
  }
2223
2223
  const Gr = "schedule_entry", Wr = "workstream";
2224
- function Za(e) {
2224
+ function Ja(e) {
2225
2225
  return `${Gr}:${e}`;
2226
2226
  }
2227
- function Ja(e) {
2227
+ function ec(e) {
2228
2228
  return `${Wr}:${e}`;
2229
2229
  }
2230
2230
  const be = 36e5, K = 864e5;
@@ -2241,7 +2241,7 @@ function le(e, t, n, r) {
2241
2241
  const o = Math.min(t, r) - Math.max(e, n);
2242
2242
  return o > 0 ? o / 1e3 : 0;
2243
2243
  }
2244
- function ec(e, t, n = {}) {
2244
+ function tc(e, t, n = {}) {
2245
2245
  const r = n.grain ?? "hour", o = Vr(t, r), i = r === "day" ? K : be, s = new Map(o.map((u) => [u, 0])), a = e.filter((u) => u.userId && N(u.kindKey).capacity), c = n.userIds?.length ? new Set(n.userIds) : null, l = /* @__PURE__ */ new Set();
2246
2246
  for (const u of a)
2247
2247
  if (!(c && u.userId && !c.has(u.userId))) {
@@ -2276,10 +2276,10 @@ function ec(e, t, n = {}) {
2276
2276
  }
2277
2277
  continue;
2278
2278
  }
2279
- const h = o.filter((E) => E >= f && E < f + K);
2280
- if (!h.length) continue;
2281
- const g = m * 60 / h.length;
2282
- for (const E of h) s.set(E, (s.get(E) ?? 0) + g);
2279
+ const g = o.filter((E) => E >= f && E < f + K);
2280
+ if (!g.length) continue;
2281
+ const h = m * 60 / g.length;
2282
+ for (const E of g) s.set(E, (s.get(E) ?? 0) + h);
2283
2283
  }
2284
2284
  }
2285
2285
  return o.map((u) => ({ period: j(u, r), weight: s.get(u) ?? 0 }));
@@ -2293,7 +2293,7 @@ function zr(e, t) {
2293
2293
  }
2294
2294
  return t.filter((r) => r.weight > 0).map((r) => ({ period: r.period, seconds: e * r.weight / n }));
2295
2295
  }
2296
- function tc(e, t, n) {
2296
+ function nc(e, t, n) {
2297
2297
  const r = /* @__PURE__ */ new Map();
2298
2298
  for (const o of e) {
2299
2299
  const i = o.by ? t.filter((a) => n(a.period) < o.by) : t, s = i.length ? i : t;
@@ -2316,7 +2316,7 @@ function Xr(e) {
2316
2316
  return "org";
2317
2317
  }
2318
2318
  }
2319
- function nc(e) {
2319
+ function rc(e) {
2320
2320
  if (typeof e != "string") return;
2321
2321
  const t = e.trim();
2322
2322
  if (t === "org") return { kind: "org" };
@@ -2342,13 +2342,13 @@ function qr(e) {
2342
2342
  }
2343
2343
  }
2344
2344
  const Qr = qr;
2345
- function rc(e) {
2345
+ function oc(e) {
2346
2346
  return e.agentId ? { kind: "user", userId: e.agentId } : Qr(e.ownerScope);
2347
2347
  }
2348
- function oc(e) {
2348
+ function ic(e) {
2349
2349
  return Yr(e);
2350
2350
  }
2351
- function ic(e, t) {
2351
+ function sc(e, t) {
2352
2352
  if (!t) return;
2353
2353
  let n = e;
2354
2354
  for (const r of t.split(".")) {
@@ -2357,24 +2357,24 @@ function ic(e, t) {
2357
2357
  }
2358
2358
  return n;
2359
2359
  }
2360
- function sc(e, t) {
2360
+ function ac(e, t) {
2361
2361
  return e.targets.find((n) => n.activityTypes.includes(t));
2362
2362
  }
2363
- function ac(e, t) {
2363
+ function cc(e, t) {
2364
2364
  if (t)
2365
2365
  return e.targets.find((n) => n.id === t);
2366
2366
  }
2367
2367
  function Zr(e) {
2368
2368
  return e?.kind === "assignment";
2369
2369
  }
2370
- function cc(e) {
2370
+ function lc(e) {
2371
2371
  const { trigger: t, agentId: n, target: r, activityType: o, assigneeUserId: i, authorUserId: s } = e;
2372
2372
  return Zr(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";
2373
2373
  }
2374
- function lc(e) {
2374
+ function uc(e) {
2375
2375
  return (e.startsWith("tool:") ? e.slice(5) : e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
2376
2376
  }
2377
- const uc = [
2377
+ const dc = [
2378
2378
  { name: "text", type: "string" },
2379
2379
  { name: "subject", type: "string" },
2380
2380
  { name: "from", type: "string" },
@@ -2414,7 +2414,7 @@ const uc = [
2414
2414
  // `buildTriggerVars` cannot fill it itself: the job does that with the catalog in hand, before
2415
2415
  // the trigger filter runs — like contactId/companyId above.
2416
2416
  { name: "assigneeUserId", type: "string" }
2417
- ], dc = {
2417
+ ], pc = {
2418
2418
  topics: [
2419
2419
  { name: "topicId", type: "string" },
2420
2420
  { name: "topic", type: "string" },
@@ -2436,13 +2436,13 @@ function to(e) {
2436
2436
  return e?.type === eo ? e.id : void 0;
2437
2437
  }
2438
2438
  const no = 64, ro = 8e3;
2439
- function pc(e) {
2439
+ function fc(e) {
2440
2440
  const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
2441
2441
  if (!(!Number.isFinite(t) || t <= 0))
2442
2442
  return Math.min(Math.max(Math.round(t), no), ro);
2443
2443
  }
2444
- const fc = { kind: "workflow", steps: [] };
2445
- function mc(e) {
2444
+ const mc = { kind: "workflow", steps: [] };
2445
+ function hc(e) {
2446
2446
  return e?.kind === "workflow" ? e.steps : [];
2447
2447
  }
2448
2448
  function gc(e) {
@@ -2453,18 +2453,18 @@ function oo(e) {
2453
2453
  return { total: n, rate: n ? t / n : 0 };
2454
2454
  }
2455
2455
  const io = 10, so = 0.9;
2456
- function hc(e) {
2456
+ function yc(e) {
2457
2457
  const { total: t, rate: n } = oo(e);
2458
2458
  return t >= io && n >= so;
2459
2459
  }
2460
2460
  const ao = ["done", "escalated", "failed", "stopped"];
2461
- function yc(e) {
2461
+ function bc(e) {
2462
2462
  return ao.includes(e);
2463
2463
  }
2464
2464
  function co(e) {
2465
2465
  return e === "waiting";
2466
2466
  }
2467
- function bc(e) {
2467
+ function Ac(e) {
2468
2468
  return e === "running" || co(e);
2469
2469
  }
2470
2470
  function Bt(e) {
@@ -2474,10 +2474,10 @@ function _c(e) {
2474
2474
  const t = Bt(e);
2475
2475
  return t ? Jr(t) : void 0;
2476
2476
  }
2477
- function Ac(e) {
2477
+ function Ec(e) {
2478
2478
  return to(Bt(e));
2479
2479
  }
2480
- function Ec(e) {
2480
+ function Sc(e) {
2481
2481
  const t = [], n = /* @__PURE__ */ new Map();
2482
2482
  for (const r of [...e].sort(lo)) {
2483
2483
  const o = n.get(r.emoji);
@@ -2493,10 +2493,10 @@ function Ec(e) {
2493
2493
  }).sort((r, o) => o.count - r.count || t.indexOf(r.emoji) - t.indexOf(o.emoji));
2494
2494
  }
2495
2495
  const lo = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
2496
- function Sc(e, t) {
2496
+ function Ic(e, t) {
2497
2497
  return t ? e.actors.some((n) => n.type === "user" && n.id === t) : !1;
2498
2498
  }
2499
- const _e = 6e4, uo = 36e5, V = 864e5, jt = 800;
2499
+ const Ae = 6e4, uo = 36e5, V = 864e5, jt = 800;
2500
2500
  function ot(e, t) {
2501
2501
  const n = Date.UTC(e, t + 1, 0);
2502
2502
  return n - new Date(n).getUTCDay() * V + uo;
@@ -2507,7 +2507,7 @@ function po(e) {
2507
2507
  }
2508
2508
  function Ht(e, t) {
2509
2509
  const n = t.dst === "eu" && po(e) ? 60 : 0;
2510
- return (t.utcOffsetMinutes + n) * _e;
2510
+ return (t.utcOffsetMinutes + n) * Ae;
2511
2511
  }
2512
2512
  function fo(e) {
2513
2513
  return (e + 3) % 7 + 1;
@@ -2517,15 +2517,15 @@ function Gt(e, t) {
2517
2517
  if (!t.days.includes(fo(o))) return null;
2518
2518
  const i = o * V;
2519
2519
  return {
2520
- open: i + t.fromMinutes * _e - n,
2521
- close: i + t.toMinutes * _e - n
2520
+ open: i + t.fromMinutes * Ae - n,
2521
+ close: i + t.toMinutes * Ae - n
2522
2522
  };
2523
2523
  }
2524
2524
  function Wt(e, t) {
2525
2525
  const n = Ht(e, t), r = e + n;
2526
2526
  return (Math.floor(r / V) + 1) * V - n;
2527
2527
  }
2528
- function Ae(e, t, n) {
2528
+ function _e(e, t, n) {
2529
2529
  if (t <= e) return 0;
2530
2530
  if (!n) return t - e;
2531
2531
  let r = 0, o = e;
@@ -2556,29 +2556,29 @@ function Oe(e, t, n) {
2556
2556
  }
2557
2557
  return e + t;
2558
2558
  }
2559
- function Ic(e) {
2559
+ function Tc(e) {
2560
2560
  const t = /^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);
2561
2561
  return t ? Number(t[1]) * 60 + Number(t[2]) : null;
2562
2562
  }
2563
2563
  const Ee = 1, Se = 2;
2564
- function Tc(e) {
2564
+ function wc(e) {
2565
2565
  return e === "snoozed" ? Ee : Se;
2566
2566
  }
2567
2567
  function xe(e) {
2568
2568
  const t = e.calendar;
2569
2569
  return t && Array.isArray(t.days) ? t : null;
2570
2570
  }
2571
- const wc = [
2571
+ const kc = [
2572
2572
  "speed_of_answer",
2573
2573
  "first_response",
2574
2574
  "next_response",
2575
2575
  "resolution",
2576
2576
  "close"
2577
- ], kc = ["snoozed", "waiting_for_customer"], mo = 6e4, Vt = ["speed_of_answer", "first_response", "next_response"], go = [...Vt, "resolution", "close"];
2577
+ ], Mc = ["snoozed", "waiting_for_customer"], mo = 6e4, Vt = ["speed_of_answer", "first_response", "next_response"], ho = [...Vt, "resolution", "close"];
2578
2578
  function z(e) {
2579
2579
  return e.state === "running" || e.state === "paused";
2580
2580
  }
2581
- function ho(e, t) {
2581
+ function go(e, t) {
2582
2582
  return z(e) ? { state: (e.state === "paused" ? e.remainingMs > 0 : t <= e.dueAt) ? "hit" : "missed", settledAt: Math.max(t, e.startedAt) } : null;
2583
2583
  }
2584
2584
  function it(e) {
@@ -2587,48 +2587,48 @@ function it(e) {
2587
2587
  function yo(e, t, n, r) {
2588
2588
  if (!z(e) || (e.pauseBits & t) !== 0) return null;
2589
2589
  const o = e.pauseBits | t;
2590
- return e.state === "paused" ? { pauseBits: o } : { pauseBits: o, state: "paused", remainingMs: Ae(n, e.dueAt, r) };
2590
+ return e.state === "paused" ? { pauseBits: o } : { pauseBits: o, state: "paused", remainingMs: _e(n, e.dueAt, r) };
2591
2591
  }
2592
2592
  function bo(e, t, n, r) {
2593
2593
  if (!z(e) || (e.pauseBits & t) === 0) return null;
2594
2594
  const o = e.pauseBits & ~t;
2595
2595
  return o !== 0 ? { pauseBits: o } : { pauseBits: o, state: "running", dueAt: Oe(n, e.remainingMs, r) };
2596
2596
  }
2597
- function Mc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2598
- const i = xe(o), s = Math.min(t, n), a = r.map((h) => ({ ...h })), c = [], l = (h, g) => {
2599
- g && (c.push({ op: "patch", clockId: h.id, patch: g }), Object.assign(h, g));
2600
- }, d = (h) => {
2601
- for (const g of a)
2602
- g.metric === h && l(g, ho(g, s));
2603
- }, u = (h) => {
2604
- for (const g of a)
2605
- h.includes(g.metric) && l(g, it(g));
2606
- }, p = (h) => {
2607
- for (const g of a) l(g, yo(g, h, s, i));
2608
- }, f = (h) => {
2609
- for (const g of a) l(g, bo(g, h, s, i));
2610
- }, y = (h) => a.reduce((g, E) => E.metric === h ? Math.max(g, E.attempt) : g, 0) + 1, m = (h) => a.some((g) => g.metric === h && z(g)), S = (h, g) => {
2611
- const E = o.targets.find((C) => C.metric === h);
2597
+ function vc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2598
+ const i = xe(o), s = Math.min(t, n), a = r.map((g) => ({ ...g })), c = [], l = (g, h) => {
2599
+ h && (c.push({ op: "patch", clockId: g.id, patch: h }), Object.assign(g, h));
2600
+ }, d = (g) => {
2601
+ for (const h of a)
2602
+ h.metric === g && l(h, go(h, s));
2603
+ }, u = (g) => {
2604
+ for (const h of a)
2605
+ g.includes(h.metric) && l(h, it(h));
2606
+ }, p = (g) => {
2607
+ for (const h of a) l(h, yo(h, g, s, i));
2608
+ }, f = (g) => {
2609
+ for (const h of a) l(h, bo(h, g, s, i));
2610
+ }, y = (g) => a.reduce((h, E) => E.metric === g ? Math.max(h, E.attempt) : h, 0) + 1, m = (g) => a.some((h) => h.metric === g && z(h)), S = (g, h) => {
2611
+ const E = o.targets.find((C) => C.metric === g);
2612
2612
  if (!E) return;
2613
2613
  const x = E.minutes * mo;
2614
2614
  c.push({
2615
2615
  op: "start",
2616
- metric: h,
2617
- attempt: y(h),
2618
- startedAt: g,
2616
+ metric: g,
2617
+ attempt: y(g),
2618
+ startedAt: h,
2619
2619
  targetMs: x,
2620
- dueAt: Oe(g, x, i)
2620
+ dueAt: Oe(h, x, i)
2621
2621
  });
2622
2622
  };
2623
2623
  switch (e) {
2624
2624
  case "apply": {
2625
- for (const h of a)
2626
- h.profileId !== o.id && l(h, it(h));
2627
- for (const h of o.targets) {
2628
- if (h.metric === "next_response") continue;
2625
+ for (const g of a)
2626
+ g.profileId !== o.id && l(g, it(g));
2627
+ for (const g of o.targets) {
2628
+ if (g.metric === "next_response") continue;
2629
2629
  a.some(
2630
- (E) => E.metric === h.metric && E.profileId === o.id
2631
- ) || S(h.metric, s);
2630
+ (E) => E.metric === g.metric && E.profileId === o.id
2631
+ ) || S(g.metric, s);
2632
2632
  }
2633
2633
  break;
2634
2634
  }
@@ -2659,30 +2659,30 @@ function Mc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2659
2659
  f(Ee);
2660
2660
  break;
2661
2661
  case "discarded":
2662
- u(go);
2662
+ u(ho);
2663
2663
  break;
2664
2664
  }
2665
2665
  return c;
2666
2666
  }
2667
- function _o(e) {
2667
+ function Ao(e) {
2668
2668
  return e.state === "running" || e.state === "paused";
2669
2669
  }
2670
2670
  function Ie(e, t) {
2671
2671
  const n = xe(e);
2672
- return e.state === "paused" ? e.remainingMs : t >= e.dueAt ? -Ae(e.dueAt, t, n) : Ae(t, e.dueAt, n);
2672
+ return e.state === "paused" ? e.remainingMs : t >= e.dueAt ? -_e(e.dueAt, t, n) : _e(t, e.dueAt, n);
2673
2673
  }
2674
- function vc(e, t) {
2674
+ function Cc(e, t) {
2675
2675
  return e.state === "paused" ? Oe(t, e.remainingMs, xe(e)) : e.dueAt;
2676
2676
  }
2677
- function Cc(e, t) {
2678
- const n = e.filter(_o);
2677
+ function Oc(e, t) {
2678
+ const n = e.filter(Ao);
2679
2679
  if (!n.length) return;
2680
2680
  const r = n.filter((i) => i.state === "running");
2681
2681
  return (r.length ? r : n).reduce(
2682
2682
  (i, s) => Ie(s, t) < Ie(i, t) ? s : i
2683
2683
  );
2684
2684
  }
2685
- function Oc(e, t) {
2685
+ function xc(e, t) {
2686
2686
  if (e.state === "missed") return "breached";
2687
2687
  if (e.state === "hit") return "met";
2688
2688
  if (e.state === "paused") return "paused";
@@ -2690,20 +2690,20 @@ function Oc(e, t) {
2690
2690
  const n = Ie(e, t);
2691
2691
  return n <= 0 ? "breached" : n <= e.targetMs / 5 ? "urgent" : "running";
2692
2692
  }
2693
- function xc(e) {
2693
+ function Nc(e) {
2694
2694
  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);
2695
2695
  return n ? r ? `${n}d ${r}u` : `${n}d` : r ? o ? `${r}u ${o}m` : `${r}u` : o ? `${o}m` : `${t % 60}s`;
2696
2696
  }
2697
- const Ao = "strategy_item";
2697
+ const _o = "strategy_item";
2698
2698
  function zt(e) {
2699
- return `${Ao}:${e}`;
2699
+ return `${_o}:${e}`;
2700
2700
  }
2701
- function Nc(e, t = 25) {
2701
+ function Rc(e, t = 25) {
2702
2702
  const n = /* @__PURE__ */ new Set([zt(e.id)]);
2703
2703
  for (const r of e.ancestorKeys ?? []) n.add(r);
2704
2704
  return Array.from(n).slice(0, t);
2705
2705
  }
2706
- function Rc(e) {
2706
+ function Dc(e) {
2707
2707
  return e ? [...e.ancestorKeys ?? [], zt(e.id)] : [];
2708
2708
  }
2709
2709
  const ne = [
@@ -2717,14 +2717,14 @@ function Io(e, t = ne) {
2717
2717
  function Te(e, t = ne) {
2718
2718
  return Io(e, t)?.order ?? Eo;
2719
2719
  }
2720
- function Dc(e, t, n = ne) {
2720
+ function $c(e, t, n = ne) {
2721
2721
  return Te(t, n) <= Te(e, n);
2722
2722
  }
2723
- function $c(e, t = ne) {
2723
+ function Lc(e, t = ne) {
2724
2724
  const n = Te(e, t);
2725
2725
  return t.filter((o) => o.order > n).sort((o, i) => o.order - i.order)[0]?.key ?? e;
2726
2726
  }
2727
- function Lc(e) {
2727
+ function Pc(e) {
2728
2728
  const t = e.trim().toLowerCase();
2729
2729
  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;
2730
2730
  }
@@ -2737,73 +2737,73 @@ const we = {
2737
2737
  achieved: "closed",
2738
2738
  missed: "closed"
2739
2739
  };
2740
- function Pc(e) {
2740
+ function Kc(e) {
2741
2741
  return we[e] ?? "open";
2742
2742
  }
2743
- function Kc(e) {
2743
+ function Uc(e) {
2744
2744
  return Object.keys(we).filter(
2745
2745
  (t) => e.includes(we[t])
2746
2746
  );
2747
2747
  }
2748
2748
  const To = 864e5, re = (e) => e <= 0 ? 0 : e > 1 ? 1 : e;
2749
- function Uc(e, t) {
2749
+ function Fc(e, t) {
2750
2750
  const { direction: n } = e, r = e.startValue ?? 0, o = e.targetValue ?? 0;
2751
2751
  if (!Number.isFinite(t)) return 0;
2752
2752
  const i = n === "down" ? t <= o : t >= o, s = o - r;
2753
2753
  return (n === "down" ? s < 0 : s > 0) ? re((t - r) / s) : i ? 1 : 0;
2754
2754
  }
2755
- function Fc(e, t) {
2755
+ function Bc(e, t) {
2756
2756
  const { startDate: n, targetDate: r } = e;
2757
2757
  if (!(typeof n != "number" || typeof r != "number") && !(r <= n))
2758
2758
  return re((t - n) / (r - n));
2759
2759
  }
2760
2760
  const wo = 0.1, ko = 0.25;
2761
- function Bc(e, t) {
2761
+ function jc(e, t) {
2762
2762
  if (typeof e != "number" || typeof t != "number") return;
2763
2763
  if (e >= 1) return "achieved";
2764
2764
  const n = t - e;
2765
2765
  return n >= ko ? "off_track" : n >= wo ? "at_risk" : "on_track";
2766
2766
  }
2767
- function jc(e, t) {
2767
+ function Hc(e, t) {
2768
2768
  if (t)
2769
2769
  return re(e / t);
2770
2770
  }
2771
- function Hc(e) {
2771
+ function Gc(e) {
2772
2772
  const t = e.map((n) => n.progress?.ratio).filter((n) => typeof n == "number" && Number.isFinite(n));
2773
2773
  if (t.length)
2774
2774
  return re(t.reduce((n, r) => n + r, 0) / t.length);
2775
2775
  }
2776
- function Gc(e, t) {
2776
+ function Wc(e, t) {
2777
2777
  const n = e.lastCheckInAt ?? e.createdAt;
2778
2778
  if (typeof n != "number") return 0;
2779
2779
  const r = (e.checkInEveryDays ?? So) * To, o = t - n - r;
2780
2780
  return o > 0 ? o : 0;
2781
2781
  }
2782
- function Wc(e) {
2782
+ function Vc(e) {
2783
2783
  return e.targetDate ?? Number.MAX_SAFE_INTEGER;
2784
2784
  }
2785
- function Vc(e, t) {
2785
+ function zc(e, t) {
2786
2786
  const n = e.accumulatedSeconds || 0;
2787
2787
  return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
2788
2788
  }
2789
- function zc(e, t) {
2789
+ function Xc(e, t) {
2790
2790
  const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
2791
2791
  if (!t || t === "exact") return n * 60;
2792
2792
  const r = Number(t);
2793
2793
  return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
2794
2794
  }
2795
- function Xc(e) {
2795
+ function Yc(e) {
2796
2796
  const t = Math.max(0, Math.round(e / 60));
2797
2797
  return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
2798
2798
  }
2799
- function Yc(e) {
2799
+ function qc(e) {
2800
2800
  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);
2801
2801
  return o > 0 ? `${o}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
2802
2802
  }
2803
2803
  function Mo(e) {
2804
2804
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
2805
2805
  }
2806
- function qc(e, t) {
2806
+ function Qc(e, t) {
2807
2807
  const n = Mo(e) || "werksoort", r = new Set(t);
2808
2808
  if (!r.has(n)) return n;
2809
2809
  for (let o = 2; o < 500; o++) {
@@ -2812,11 +2812,11 @@ function qc(e, t) {
2812
2812
  }
2813
2813
  return `${n}-${r.size + 1}`;
2814
2814
  }
2815
- function Qc(e, t) {
2815
+ function Zc(e, t) {
2816
2816
  const n = e.ownerScope;
2817
2817
  return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
2818
2818
  }
2819
- function Zc(e) {
2819
+ function Jc(e) {
2820
2820
  return e.filter((t) => !t.archived).sort(vo);
2821
2821
  }
2822
2822
  function vo(e, t) {
@@ -2833,7 +2833,7 @@ function xo(e) {
2833
2833
  const n = t.slice(0, ue), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
2834
2834
  return r > ue * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
2835
2835
  }
2836
- function Jc(e, t) {
2836
+ function el(e, t) {
2837
2837
  const n = xo(t.text), r = P(n);
2838
2838
  if (!r || (e.examples ?? []).some((s) => P(s) === r)) return null;
2839
2839
  const o = e.exampleCandidates ?? [], i = o.findIndex((s) => P(s.text) === r);
@@ -2849,7 +2849,7 @@ function st(e) {
2849
2849
  (t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt
2850
2850
  );
2851
2851
  }
2852
- function el(e, t) {
2852
+ function tl(e, t) {
2853
2853
  const n = P(t), r = (e.examples ?? []).filter((i) => i.trim());
2854
2854
  return { examples: r.some((i) => P(i) === n) ? r : [...r, t].slice(-Co), exampleCandidates: No(e, t) };
2855
2855
  }
@@ -2861,7 +2861,7 @@ function Ro(e, t) {
2861
2861
  const n = e.ownerScope;
2862
2862
  return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
2863
2863
  }
2864
- function tl(e, t) {
2864
+ function nl(e, t) {
2865
2865
  return e.filter((n) => Ro(n, t));
2866
2866
  }
2867
2867
  const Xt = [
@@ -2903,10 +2903,10 @@ function ke(e) {
2903
2903
  statuses: ["draft"]
2904
2904
  };
2905
2905
  }
2906
- function nl(e) {
2906
+ function rl(e) {
2907
2907
  return e.issuedAt != null;
2908
2908
  }
2909
- const rl = [
2909
+ const ol = [
2910
2910
  "status",
2911
2911
  "fileRef",
2912
2912
  "number",
@@ -2944,7 +2944,7 @@ function Do(e, t) {
2944
2944
  source: e.source
2945
2945
  };
2946
2946
  }
2947
- function ol(e) {
2947
+ function il(e) {
2948
2948
  return {
2949
2949
  ...Do(e, e.kindKey),
2950
2950
  sourceTransactionId: e.sourceTransactionId,
@@ -2954,13 +2954,21 @@ function ol(e) {
2954
2954
  totals: e.totals
2955
2955
  };
2956
2956
  }
2957
- function il(e, t = {}) {
2957
+ function sl(e, t = {}) {
2958
2958
  const n = ke(e.kindKey), r = e.totals ?? { netCents: 0, taxCents: 0, grossCents: 0 };
2959
2959
  return {
2960
2960
  customer: {
2961
2961
  name: t.companyName ?? "",
2962
- city: t.companyCity ?? "",
2963
- contact: t.contactName ?? ""
2962
+ contact: t.contactName ?? "",
2963
+ // One token per line of the address, plus `street` on its own for a template that wants
2964
+ // the house number elsewhere. Empty stays empty: `fillText` reports it as a hole, and a
2965
+ // recipient block missing its street is exactly what the issue gate has to refuse.
2966
+ address: Lo(t.companyAddress),
2967
+ street: t.companyAddress?.street ?? "",
2968
+ house_number: t.companyAddress?.houseNumber ?? "",
2969
+ postal_code: t.companyAddress?.postalCode ?? "",
2970
+ city: t.companyAddress?.city ?? "",
2971
+ country: t.companyAddress?.country ?? ""
2964
2972
  },
2965
2973
  organization: { name: t.organizationName ?? "" },
2966
2974
  // Namespaced by the kind's own key, so an invoice writes `{invoice.number}` and a quote
@@ -2980,7 +2988,7 @@ function il(e, t = {}) {
2980
2988
  }
2981
2989
  };
2982
2990
  }
2983
- function sl(e, t = [], n = $o) {
2991
+ function al(e, t = [], n = $o) {
2984
2992
  const r = e.totals ?? { netCents: 0, grossCents: 0, byRate: [] }, o = (a) => t.find((c) => c.key === a)?.percent ?? 0, i = {
2985
2993
  block_id: "lines",
2986
2994
  type: "table",
@@ -2996,7 +3004,7 @@ function sl(e, t = [], n = $o) {
2996
3004
  [a.name, "", "", ""]
2997
3005
  ) : [
2998
3006
  a.description ? `${a.name} — ${a.description}` : a.name,
2999
- Lo(a.quantity),
3007
+ Po(a.quantity),
3000
3008
  D(a.unitPriceCents),
3001
3009
  D(a.netCents)
3002
3010
  ]
@@ -3024,6 +3032,9 @@ const $o = {
3024
3032
  gross: "Totaal"
3025
3033
  };
3026
3034
  function Lo(e) {
3035
+ return e?.street ? [e.street, e.houseNumber].filter(Boolean).join(" ") : "";
3036
+ }
3037
+ function Po(e) {
3027
3038
  return Number.isInteger(e) ? String(e) : String(e).replace(".", ",");
3028
3039
  }
3029
3040
  function at(e) {
@@ -3031,7 +3042,7 @@ function at(e) {
3031
3042
  const t = new Date(e), n = (r) => String(r).padStart(2, "0");
3032
3043
  return `${n(t.getDate())}-${n(t.getMonth() + 1)}-${t.getFullYear()}`;
3033
3044
  }
3034
- const al = [
3045
+ const cl = [
3035
3046
  {
3036
3047
  block_id: "head",
3037
3048
  type: "letterhead",
@@ -3041,7 +3052,12 @@ const al = [
3041
3052
  { key: "valid_until", label: "Geldig tot", value: "{quote.valid_until}" },
3042
3053
  { key: "reference", label: "Referentie", value: "{quote.reference}" }
3043
3054
  ],
3044
- recipient: ["{customer.name}", "{customer.contact}"]
3055
+ recipient: [
3056
+ "{customer.name}",
3057
+ "{customer.contact}",
3058
+ "{customer.address}",
3059
+ "{customer.postal_code} {customer.city}"
3060
+ ]
3045
3061
  },
3046
3062
  { block_id: "title", type: "heading", level: 1, text: "{quote.title}" },
3047
3063
  {
@@ -3059,24 +3075,24 @@ Hierbij onze offerte. Hieronder vindt u de specificatie.`
3059
3075
  type: "paragraph",
3060
3076
  text: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld. Deze offerte is geldig tot {quote.valid_until}."
3061
3077
  }
3062
- ], Po = Xt.map((e) => e.key), Ko = "product";
3063
- function cl(e, t) {
3078
+ ], Ko = Xt.map((e) => e.key), Uo = "product";
3079
+ function ll(e, t) {
3064
3080
  return `${e}:${t}`;
3065
3081
  }
3066
- function ll(e) {
3067
- return `${Ko}:${e}`;
3068
- }
3069
3082
  function ul(e) {
3083
+ return `${Uo}:${e}`;
3084
+ }
3085
+ function dl(e) {
3070
3086
  const t = e.indexOf(":");
3071
3087
  if (t < 0) return;
3072
3088
  const n = e.slice(0, t);
3073
- return Po.includes(n) ? e.slice(t + 1) : void 0;
3089
+ return Ko.includes(n) ? e.slice(t + 1) : void 0;
3074
3090
  }
3075
- function dl(e) {
3091
+ function pl(e) {
3076
3092
  return e.type === "agent";
3077
3093
  }
3078
- const pl = "WORK_COMMENT_ADDED", fl = "WORK_ITEM_ASSIGNED", ml = "WORK_ITEM_STATUS_CHANGED";
3079
- function Uo(e, t) {
3094
+ const fl = "WORK_COMMENT_ADDED", ml = "WORK_ITEM_ASSIGNED", hl = "WORK_ITEM_STATUS_CHANGED";
3095
+ function Fo(e, t) {
3080
3096
  const n = (r) => {
3081
3097
  const o = new Date(r);
3082
3098
  return o.setHours(0, 0, 0, 0), o.getTime();
@@ -3090,7 +3106,7 @@ function gl(e, t) {
3090
3106
  let r = 0;
3091
3107
  const o = [], i = e.priority ?? "normal";
3092
3108
  if (J[i] > 0 && (r += J[i], o.push(`priority:${i}`)), typeof e.dueDate == "number") {
3093
- const s = Uo(e.dueDate, t.now);
3109
+ const s = Fo(e.dueDate, t.now);
3094
3110
  s < 0 ? (r += 35, o.push("overdue")) : s === 0 && (r += 20, o.push("due-today"));
3095
3111
  }
3096
3112
  return e.source?.initiator === "system" && e.source.systemReason && (r += 15, o.push(`auto:${e.source.systemReason}`)), { score: r, reasons: o };
@@ -3103,35 +3119,35 @@ const Ne = [
3103
3119
  { key: "subtask", label: "type_subtask" },
3104
3120
  { key: "case", label: "type_case" },
3105
3121
  { key: "deal", label: "type_deal" }
3106
- ], hl = Ne.map((e) => e.key);
3107
- function yl(e) {
3122
+ ], yl = Ne.map((e) => e.key);
3123
+ function bl(e) {
3108
3124
  return e?.types?.length ? e.types : Ne;
3109
3125
  }
3110
- function bl(e, t) {
3126
+ function Al(e, t) {
3111
3127
  return t.find((n) => n.key === e);
3112
3128
  }
3113
3129
  function _l(e) {
3114
3130
  const t = e.trim().toLowerCase();
3115
3131
  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;
3116
3132
  }
3117
- function Al(...e) {
3133
+ function El(...e) {
3118
3134
  return e.map((t) => Ne.find((n) => n.key === t)).filter((t) => !!t);
3119
3135
  }
3120
- const Fo = "work_item", Bo = "work_project", jo = "work_activity", El = "work_cycle";
3121
- function Ho(e) {
3122
- return `${Fo}:${e}`;
3123
- }
3124
- function Yt(e) {
3136
+ const Bo = "work_item", jo = "work_project", Ho = "work_activity", Sl = "work_cycle";
3137
+ function Go(e) {
3125
3138
  return `${Bo}:${e}`;
3126
3139
  }
3127
- function Sl(e) {
3140
+ function Yt(e) {
3128
3141
  return `${jo}:${e}`;
3129
3142
  }
3130
- function Il(e, t, n) {
3143
+ function Il(e) {
3144
+ return `${Ho}:${e}`;
3145
+ }
3146
+ function Tl(e, t, n) {
3131
3147
  const r = `${e}-${t}`;
3132
3148
  return n ? `${r}-${n}` : r;
3133
3149
  }
3134
- function Tl(e) {
3150
+ function wl(e) {
3135
3151
  const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
3136
3152
  return t ? {
3137
3153
  projectKey: t[1].toUpperCase(),
@@ -3139,17 +3155,17 @@ function Tl(e) {
3139
3155
  ...t[3] ? { subSequence: Number(t[3]) } : {}
3140
3156
  } : null;
3141
3157
  }
3142
- function wl(e) {
3158
+ function kl(e) {
3143
3159
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
3144
3160
  }
3145
- function kl(e, t = 25) {
3146
- const n = /* @__PURE__ */ new Set([Ho(e.id)]);
3161
+ function Ml(e, t = 25) {
3162
+ const n = /* @__PURE__ */ new Set([Go(e.id)]);
3147
3163
  e.projectId && n.add(Yt(e.projectId));
3148
3164
  for (const r of e.ancestorKeys ?? []) n.add(r);
3149
3165
  for (const r of e.partyKeys ?? []) n.add(r);
3150
3166
  return Array.from(n).slice(0, t);
3151
3167
  }
3152
- function Ml(e) {
3168
+ function vl(e) {
3153
3169
  return [Yt(e.id)];
3154
3170
  }
3155
3171
  const Re = [
@@ -3158,33 +3174,33 @@ const Re = [
3158
3174
  { key: "done", label: "status_done", category: "done", order: 2 },
3159
3175
  { key: "cancelled", label: "status_cancelled", category: "done", order: 3 }
3160
3176
  ], qt = Re.map((e) => e.key);
3161
- function Go(e) {
3177
+ function Wo(e) {
3162
3178
  return e?.statuses?.length ? e.statuses : Re;
3163
3179
  }
3164
- function Wo(e, t) {
3180
+ function Vo(e, t) {
3165
3181
  return t.find((n) => n.key === e)?.category ?? "todo";
3166
3182
  }
3167
- function vl(e, t) {
3183
+ function Cl(e, t) {
3168
3184
  return t.find((n) => n.key === e);
3169
3185
  }
3170
- function Cl(e) {
3171
- const t = Go(e), n = e?.defaultStatusKey;
3172
- return n && t.some((r) => r.key === n) ? n : Vo(t)[0]?.key ?? Re[0].key;
3186
+ function Ol(e) {
3187
+ const t = Wo(e), n = e?.defaultStatusKey;
3188
+ return n && t.some((r) => r.key === n) ? n : zo(t)[0]?.key ?? Re[0].key;
3173
3189
  }
3174
- function Vo(e) {
3190
+ function zo(e) {
3175
3191
  return [...e].sort((t, n) => {
3176
3192
  const r = (t.order ?? 0) - (n.order ?? 0);
3177
3193
  return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
3178
3194
  });
3179
3195
  }
3180
- function Ol(e, t) {
3181
- return Wo(e, t) === "done";
3196
+ function xl(e, t) {
3197
+ return Vo(e, t) === "done";
3182
3198
  }
3183
- function zo(e) {
3199
+ function Xo(e) {
3184
3200
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
3185
3201
  }
3186
- function xl(e, t) {
3187
- const n = zo(e) || "status", r = /* @__PURE__ */ new Set([...t, ...qt]);
3202
+ function Nl(e, t) {
3203
+ const n = Xo(e) || "status", r = /* @__PURE__ */ new Set([...t, ...qt]);
3188
3204
  if (!r.has(n)) return n;
3189
3205
  for (let o = 2; o < 500; o++) {
3190
3206
  const i = `${n}-${o}`;
@@ -3192,7 +3208,7 @@ function xl(e, t) {
3192
3208
  }
3193
3209
  return `${n}-${r.size + 1}`;
3194
3210
  }
3195
- function Nl(e) {
3211
+ function Rl(e) {
3196
3212
  const t = [];
3197
3213
  if (!e.length) return [{ index: -1, reason: "empty" }];
3198
3214
  const n = /* @__PURE__ */ new Set();
@@ -3204,13 +3220,13 @@ function Nl(e) {
3204
3220
  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);
3205
3221
  }), 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;
3206
3222
  }
3207
- function Rl(e) {
3223
+ function Dl(e) {
3208
3224
  return e.startDate ?? Number.MAX_SAFE_INTEGER;
3209
3225
  }
3210
- function Dl(e) {
3226
+ function $l(e) {
3211
3227
  return e.completedAt ? "completed" : e.startedAt ? "active" : "planned";
3212
3228
  }
3213
- const Xo = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), Yo = /* @__PURE__ */ new Set([
3229
+ const Yo = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), qo = /* @__PURE__ */ new Set([
3214
3230
  "text/plain",
3215
3231
  "text/markdown",
3216
3232
  "text/csv",
@@ -3219,67 +3235,67 @@ const Xo = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
3219
3235
  "application/xml",
3220
3236
  "text/xml"
3221
3237
  ]);
3222
- function qo(e) {
3238
+ function Qo(e) {
3223
3239
  const t = (e ?? "").trim().toLowerCase().split(";")[0];
3224
- return t ? Xo.has(t) ? "image" : t === "application/pdf" ? "pdf" : Yo.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
3240
+ return t ? Yo.has(t) ? "image" : t === "application/pdf" ? "pdf" : qo.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
3225
3241
  }
3226
- const F = 1024 * 1024, Qo = {
3242
+ const F = 1024 * 1024, Zo = {
3227
3243
  image: 5 * F,
3228
3244
  pdf: 20 * F,
3229
3245
  text: 1 * F,
3230
3246
  audio: 20 * F
3231
- }, $l = 25 * F, Ll = 5;
3232
- function Pl(e, t) {
3233
- const n = qo(e);
3234
- return n === "unsupported" ? "unsupported" : t > Qo[n] ? "too-large" : null;
3247
+ }, Ll = 25 * F, Pl = 5;
3248
+ function Kl(e, t) {
3249
+ const n = Qo(e);
3250
+ return n === "unsupported" ? "unsupported" : t > Zo[n] ? "too-large" : null;
3235
3251
  }
3236
- function Kl(e) {
3252
+ function Ul(e) {
3237
3253
  return e.access !== "read" && e.effect !== "internal";
3238
3254
  }
3239
- function Zo(e) {
3255
+ function Jo(e) {
3240
3256
  return `${e.kind}:${e.id || e.url || e.title}`;
3241
3257
  }
3242
- function Ul(e, t = []) {
3258
+ function Fl(e, t = []) {
3243
3259
  const n = new Set(t), r = [], o = [];
3244
3260
  for (const i of e) {
3245
- const s = Zo(i);
3261
+ const s = Jo(i);
3246
3262
  n.has(s) || (n.add(s), r.push(i), o.push(s));
3247
3263
  }
3248
3264
  return { sources: r, keys: o };
3249
3265
  }
3250
- const Fl = "assist-source", Bl = ["blocking", "due", "open"];
3251
- function jl(e, t) {
3266
+ const Bl = "assist-source", jl = ["blocking", "due", "open"];
3267
+ function Hl(e, t) {
3252
3268
  const [n, r] = (e.subjectKey ?? "").split(":");
3253
3269
  return n === t && r ? r : void 0;
3254
3270
  }
3255
3271
  const ct = { blocking: 0, due: 1, open: 2 };
3256
- function Hl(e, t) {
3272
+ function Gl(e, t) {
3257
3273
  return ct[e.band ?? "open"] - ct[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
3258
3274
  }
3259
- function Gl(e) {
3275
+ function Wl(e) {
3260
3276
  return e.sessions.filter(
3261
3277
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
3262
3278
  );
3263
3279
  }
3264
- function Wl(e) {
3280
+ function Vl(e) {
3265
3281
  return e.sessions.filter(
3266
3282
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
3267
3283
  );
3268
3284
  }
3269
- function Vl(e) {
3285
+ function zl(e) {
3270
3286
  return e.sessions.some(
3271
3287
  (n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
3272
3288
  ) ? { admit: !1, reason: "busy" } : { admit: !0 };
3273
3289
  }
3274
- function Jo(e, t) {
3275
- const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((s) => !n.has(s.intent)).map((s) => ti(s, r[s.intent]));
3290
+ function ei(e, t) {
3291
+ const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((s) => !n.has(s.intent)).map((s) => ni(s, r[s.intent]));
3276
3292
  if (!e.extraIntents || e.extraIntents.length === 0) return o;
3277
3293
  const i = new Set(o.map((s) => s.intent));
3278
3294
  for (const s of e.extraIntents)
3279
3295
  i.has(s.intent) || (o.push(s), i.add(s.intent));
3280
3296
  return o;
3281
3297
  }
3282
- function ei(e, t) {
3298
+ function ti(e, t) {
3283
3299
  const n = {};
3284
3300
  for (const r of e.intents) {
3285
3301
  if (!r.togglable) continue;
@@ -3288,46 +3304,46 @@ function ei(e, t) {
3288
3304
  }
3289
3305
  return n;
3290
3306
  }
3291
- function zl(e, t) {
3292
- const n = ei(e, t);
3307
+ function Xl(e, t) {
3308
+ const n = ti(e, t);
3293
3309
  return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
3294
3310
  }
3295
- function ti(e, t) {
3311
+ function ni(e, t) {
3296
3312
  return t ? {
3297
3313
  intent: t.intent ?? e.intent,
3298
3314
  targetSchemes: t.targetSchemes ?? e.targetSchemes,
3299
3315
  transport: t.transport ?? e.transport
3300
3316
  } : e;
3301
3317
  }
3302
- function Xl(e, t) {
3318
+ function Yl(e, t) {
3303
3319
  const n = [];
3304
3320
  for (const r of e) {
3305
3321
  if (!r.enabled) continue;
3306
3322
  const o = t[r.providerId];
3307
3323
  if (o)
3308
- for (const i of Jo(r, o))
3324
+ for (const i of ei(r, o))
3309
3325
  n.push({ channel: r, description: o, capability: i });
3310
3326
  }
3311
3327
  return n;
3312
3328
  }
3313
- function Yl(e, t) {
3329
+ function ql(e, t) {
3314
3330
  return t.filter((n) => n.capability.intent === e);
3315
3331
  }
3316
- function ni(e, t) {
3332
+ function ri(e, t) {
3317
3333
  return t.filter((n) => n.capability.targetSchemes.includes(e));
3318
3334
  }
3319
- function ql(e, t) {
3320
- return ni(e.scheme, t);
3335
+ function Ql(e, t) {
3336
+ return ri(e.scheme, t);
3321
3337
  }
3322
- function Ql(e, t, n) {
3338
+ function Zl(e, t, n) {
3323
3339
  const r = [];
3324
3340
  for (const o of e)
3325
3341
  for (const i of n)
3326
3342
  i.capability.intent === t && i.capability.targetSchemes.includes(o.scheme) && r.push({ channelIntent: i, endpoint: o });
3327
3343
  return r;
3328
3344
  }
3329
- var ri = /* @__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))(ri || {});
3330
- const oi = {
3345
+ var oi = /* @__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))(oi || {});
3346
+ const ii = {
3331
3347
  mailto: "mail",
3332
3348
  sip: "tel",
3333
3349
  tel: "tel",
@@ -3348,10 +3364,10 @@ const oi = {
3348
3364
  id: "note",
3349
3365
  custom: "note"
3350
3366
  };
3351
- function Zl(e) {
3352
- return e ? oi[e] ?? "note" : "note";
3367
+ function Jl(e) {
3368
+ return e ? ii[e] ?? "note" : "note";
3353
3369
  }
3354
- const Jl = "message_window", eu = "message_templates", tu = {
3370
+ const eu = "message_window", tu = "message_templates", nu = {
3355
3371
  // E-mail
3356
3372
  FROM: "from",
3357
3373
  TO: "to",
@@ -3368,11 +3384,11 @@ const Jl = "message_window", eu = "message_templates", tu = {
3368
3384
  // Voice/conference
3369
3385
  HOST: "host",
3370
3386
  PARTICIPANT: "participant"
3371
- }, nu = (e, t) => ({ intent: e, ...t }), ru = "folder_management", ou = "remote_search", iu = "message_reactions", su = {
3387
+ }, ru = (e, t) => ({ intent: e, ...t }), ou = "folder_management", iu = "remote_search", su = "message_reactions", au = {
3372
3388
  ok: !1,
3373
3389
  code: "UNSUPPORTED",
3374
3390
  message: "Provider does not support this op"
3375
- }, au = "connector", cu = "context.collect", A = (e) => ({ type: "string", description: e }), _ = (e) => ({ type: "number", description: e }), Q = (e) => ({ type: "boolean", description: e }), v = A("Sheet name. Omit for the sheet the user is looking at."), lt = A("Slide id, as `inspect` reports it.");
3391
+ }, cu = "connector", lu = "context.collect", _ = (e) => ({ type: "string", description: e }), A = (e) => ({ type: "number", description: e }), Q = (e) => ({ type: "boolean", description: e }), v = _("Sheet name. Omit for the sheet the user is looking at."), lt = _("Slide id, as `inspect` reports it.");
3376
3392
  function b(e, t, n, r, o, i) {
3377
3393
  return {
3378
3394
  op: e,
@@ -3383,12 +3399,12 @@ function b(e, t, n, r, o, i) {
3383
3399
  visible: i.visible
3384
3400
  };
3385
3401
  }
3386
- const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut = { undoable: !1, visible: !0 }, ee = { undoable: !1, visible: !1 }, ii = [
3402
+ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut = { undoable: !1, visible: !0 }, ee = { undoable: !1, visible: !1 }, si = [
3387
3403
  b(
3388
3404
  "pdf.goToPage",
3389
3405
  ["pdf"],
3390
3406
  "Scroll the viewer to a page.",
3391
- { page: _("1-based page number.") },
3407
+ { page: A("1-based page number.") },
3392
3408
  ["page"],
3393
3409
  B
3394
3410
  ),
@@ -3396,7 +3412,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3396
3412
  "pdf.search",
3397
3413
  ["pdf"],
3398
3414
  "Search the document and highlight the matches, as the find bar does.",
3399
- { query: A("Text to find."), next: Q("Jump to the next match instead of the first.") },
3415
+ { query: _("Text to find."), next: Q("Jump to the next match instead of the first.") },
3400
3416
  ["query"],
3401
3417
  B
3402
3418
  ),
@@ -3419,7 +3435,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3419
3435
  ["pdf"],
3420
3436
  "Fill one form field of a fillable PDF.",
3421
3437
  {
3422
- field: A("Field name, exactly as `inspect` reports it under `fields`."),
3438
+ field: _("Field name, exactly as `inspect` reports it under `fields`."),
3423
3439
  value: {
3424
3440
  type: ["string", "boolean"],
3425
3441
  description: "Text for a text field, true/false for a checkbox or radio."
@@ -3455,13 +3471,13 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3455
3471
  ["pdf"],
3456
3472
  "Place a text note on a page. Written on save; not visible before that.",
3457
3473
  {
3458
- page: _("1-based page number."),
3459
- text: A("The note's text."),
3460
- left: _("Distance from the left edge, in PDF points (72 per inch)."),
3461
- top: _("Distance from the top edge, in PDF points."),
3462
- width: _("Box width in points. Omit for a sensible default."),
3463
- height: _("Box height in points. Omit for a sensible default."),
3464
- fontSize: _("Font size in points. Omit for 12.")
3474
+ page: A("1-based page number."),
3475
+ text: _("The note's text."),
3476
+ left: A("Distance from the left edge, in PDF points (72 per inch)."),
3477
+ top: A("Distance from the top edge, in PDF points."),
3478
+ width: A("Box width in points. Omit for a sensible default."),
3479
+ height: A("Box height in points. Omit for a sensible default."),
3480
+ fontSize: A("Font size in points. Omit for 12.")
3465
3481
  },
3466
3482
  ["page", "text", "left", "top"],
3467
3483
  ee
@@ -3471,21 +3487,21 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3471
3487
  ["pdf"],
3472
3488
  "Highlight a phrase on a page. Written on save; not visible before that.",
3473
3489
  {
3474
- page: _("1-based page number."),
3475
- text: A("The exact phrase to highlight, as it appears in the page's text."),
3476
- occurrence: _("Which occurrence on that page, 1-based. Omit for the first.")
3490
+ page: A("1-based page number."),
3491
+ text: _("The exact phrase to highlight, as it appears in the page's text."),
3492
+ occurrence: A("Which occurrence on that page, 1-based. Omit for the first.")
3477
3493
  },
3478
3494
  ["page", "text"],
3479
3495
  ee
3480
3496
  )
3481
- ], si = [
3497
+ ], ai = [
3482
3498
  b(
3483
3499
  "sheet.setValues",
3484
3500
  ["sheet"],
3485
3501
  "Write a block of values. The block's shape must match the range.",
3486
3502
  {
3487
3503
  sheet: v,
3488
- range: A("A1 notation, e.g. `B2:D5` or a single `A1`."),
3504
+ range: _("A1 notation, e.g. `B2:D5` or a single `A1`."),
3489
3505
  values: {
3490
3506
  type: "array",
3491
3507
  items: { type: "array", items: { type: ["string", "number", "boolean", "null"] } },
@@ -3499,7 +3515,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3499
3515
  "sheet.setFormula",
3500
3516
  ["sheet"],
3501
3517
  "Put a formula in every cell of a range.",
3502
- { sheet: v, range: A("A1 notation."), formula: A("Including the leading `=`.") },
3518
+ { sheet: v, range: _("A1 notation."), formula: _("Including the leading `=`.") },
3503
3519
  ["range", "formula"],
3504
3520
  I
3505
3521
  ),
@@ -3509,18 +3525,18 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3509
3525
  "Change the look of a range. Only the properties you pass are touched.",
3510
3526
  {
3511
3527
  sheet: v,
3512
- range: A("A1 notation."),
3528
+ range: _("A1 notation."),
3513
3529
  bold: Q("Bold on or off."),
3514
3530
  italic: Q("Italic on or off."),
3515
- fontSize: _("Point size."),
3516
- fontColor: A("CSS colour, e.g. `#b91c1c`."),
3517
- background: A("CSS colour for the cell fill."),
3531
+ fontSize: A("Point size."),
3532
+ fontColor: _("CSS colour, e.g. `#b91c1c`."),
3533
+ background: _("CSS colour for the cell fill."),
3518
3534
  horizontalAlignment: {
3519
3535
  type: "string",
3520
3536
  enum: ["left", "center", "right"],
3521
3537
  description: "Horizontal alignment."
3522
3538
  },
3523
- numberFormat: A("Number format pattern, e.g. `#,##0.00` or `0%`.")
3539
+ numberFormat: _("Number format pattern, e.g. `#,##0.00` or `0%`.")
3524
3540
  },
3525
3541
  ["range"],
3526
3542
  I
@@ -3531,8 +3547,8 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3531
3547
  "Insert empty rows, pushing the rest down.",
3532
3548
  {
3533
3549
  sheet: v,
3534
- at: _("1-based row number to insert before."),
3535
- count: _("How many. Omit for 1.")
3550
+ at: A("1-based row number to insert before."),
3551
+ count: A("How many. Omit for 1.")
3536
3552
  },
3537
3553
  ["at"],
3538
3554
  I
@@ -3541,7 +3557,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3541
3557
  "sheet.deleteRows",
3542
3558
  ["sheet"],
3543
3559
  "Delete rows, pulling the rest up.",
3544
- { sheet: v, at: _("1-based first row to delete."), count: _("How many. Omit for 1.") },
3560
+ { sheet: v, at: A("1-based first row to delete."), count: A("How many. Omit for 1.") },
3545
3561
  ["at"],
3546
3562
  I
3547
3563
  ),
@@ -3551,8 +3567,8 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3551
3567
  "Insert empty columns, pushing the rest right.",
3552
3568
  {
3553
3569
  sheet: v,
3554
- at: _("1-based column number to insert before."),
3555
- count: _("How many. Omit for 1.")
3570
+ at: A("1-based column number to insert before."),
3571
+ count: A("How many. Omit for 1.")
3556
3572
  },
3557
3573
  ["at"],
3558
3574
  I
@@ -3563,8 +3579,8 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3563
3579
  "Delete columns, pulling the rest left.",
3564
3580
  {
3565
3581
  sheet: v,
3566
- at: _("1-based first column to delete."),
3567
- count: _("How many. Omit for 1.")
3582
+ at: A("1-based first column to delete."),
3583
+ count: A("How many. Omit for 1.")
3568
3584
  },
3569
3585
  ["at"],
3570
3586
  I
@@ -3573,7 +3589,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3573
3589
  "sheet.merge",
3574
3590
  ["sheet"],
3575
3591
  "Merge a range into one cell.",
3576
- { sheet: v, range: A("A1 notation.") },
3592
+ { sheet: v, range: _("A1 notation.") },
3577
3593
  ["range"],
3578
3594
  I
3579
3595
  ),
@@ -3581,7 +3597,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3581
3597
  "sheet.unmerge",
3582
3598
  ["sheet"],
3583
3599
  "Break merged cells in a range apart.",
3584
- { sheet: v, range: A("A1 notation.") },
3600
+ { sheet: v, range: _("A1 notation.") },
3585
3601
  ["range"],
3586
3602
  I
3587
3603
  ),
@@ -3591,8 +3607,8 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3591
3607
  "Sort a range on one of its columns.",
3592
3608
  {
3593
3609
  sheet: v,
3594
- range: A("A1 notation covering the rows to sort, header excluded."),
3595
- column: _("1-based column *within the range*, not within the sheet."),
3610
+ range: _("A1 notation covering the rows to sort, header excluded."),
3611
+ column: A("1-based column *within the range*, not within the sheet."),
3596
3612
  ascending: Q("Ascending. Omit for ascending.")
3597
3613
  },
3598
3614
  ["range", "column"],
@@ -3602,7 +3618,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3602
3618
  "sheet.insertSheet",
3603
3619
  ["sheet"],
3604
3620
  "Add a new sheet.",
3605
- { name: A("Name for the new sheet.") },
3621
+ { name: _("Name for the new sheet.") },
3606
3622
  ["name"],
3607
3623
  I
3608
3624
  ),
@@ -3610,7 +3626,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3610
3626
  "sheet.renameSheet",
3611
3627
  ["sheet"],
3612
3628
  "Rename a sheet.",
3613
- { sheet: A("Current name."), name: A("New name.") },
3629
+ { sheet: _("Current name."), name: _("New name.") },
3614
3630
  ["sheet", "name"],
3615
3631
  I
3616
3632
  ),
@@ -3618,7 +3634,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3618
3634
  "sheet.deleteSheet",
3619
3635
  ["sheet"],
3620
3636
  "Remove a sheet and everything on it.",
3621
- { sheet: A("Name of the sheet to delete.") },
3637
+ { sheet: _("Name of the sheet to delete.") },
3622
3638
  ["sheet"],
3623
3639
  I
3624
3640
  ),
@@ -3626,18 +3642,18 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3626
3642
  "sheet.activate",
3627
3643
  ["sheet"],
3628
3644
  "Show the user a sheet and select a range on it.",
3629
- { sheet: v, range: A("A1 notation to select. Omit to only switch sheets.") },
3645
+ { sheet: v, range: _("A1 notation to select. Omit to only switch sheets.") },
3630
3646
  [],
3631
3647
  B
3632
3648
  )
3633
- ], ai = [
3649
+ ], ci = [
3634
3650
  b(
3635
3651
  "word.replaceParagraph",
3636
3652
  ["word"],
3637
3653
  "Rewrite one whole paragraph, keeping its style. This is the verb for shortening or rephrasing something; call it once per paragraph.",
3638
3654
  {
3639
- at: _("The offset the paragraph starts at, exactly as `inspect` prints it."),
3640
- text: A("The new text for that paragraph. A newline starts a further paragraph.")
3655
+ at: A("The offset the paragraph starts at, exactly as `inspect` prints it."),
3656
+ text: _("The new text for that paragraph. A newline starts a further paragraph.")
3641
3657
  },
3642
3658
  ["at", "text"],
3643
3659
  I
@@ -3647,9 +3663,9 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3647
3663
  ["word"],
3648
3664
  "Replace a stretch of text inside a paragraph - a sentence, a phrase. To rewrite whole paragraphs use word.replaceParagraph: a range covering several paragraph styles is refused, because a replacement carries one style and would set the whole span in the first.",
3649
3665
  {
3650
- start: _("Character offset where the replaced text starts, as `inspect` reports offsets."),
3651
- end: _("Character offset just past the last character to replace."),
3652
- text: A("The replacement text. A newline starts a new paragraph.")
3666
+ start: A("Character offset where the replaced text starts, as `inspect` reports offsets."),
3667
+ end: A("Character offset just past the last character to replace."),
3668
+ text: _("The replacement text. A newline starts a new paragraph.")
3653
3669
  },
3654
3670
  ["start", "end", "text"],
3655
3671
  I
@@ -3659,8 +3675,8 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3659
3675
  ["word"],
3660
3676
  "Insert text at a character offset, without removing anything.",
3661
3677
  {
3662
- index: _("Character offset, as `inspect` reports offsets."),
3663
- text: A("The text to insert.")
3678
+ index: A("Character offset, as `inspect` reports offsets."),
3679
+ text: _("The text to insert.")
3664
3680
  },
3665
3681
  ["index", "text"],
3666
3682
  I
@@ -3669,7 +3685,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3669
3685
  "word.appendText",
3670
3686
  ["word"],
3671
3687
  "Add text at the end of the document.",
3672
- { text: A("The text to append.") },
3688
+ { text: _("The text to append.") },
3673
3689
  ["text"],
3674
3690
  I
3675
3691
  ),
@@ -3678,8 +3694,8 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3678
3694
  ["word"],
3679
3695
  "Start a new paragraph, optionally with text in it.",
3680
3696
  {
3681
- text: A("Paragraph text. Newlines start further paragraphs."),
3682
- index: _("Character offset to insert at. Omit for the end of the document.")
3697
+ text: _("Paragraph text. Newlines start further paragraphs."),
3698
+ index: A("Character offset to insert at. Omit for the end of the document.")
3683
3699
  },
3684
3700
  [],
3685
3701
  I
@@ -3688,19 +3704,19 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3688
3704
  "word.setSelection",
3689
3705
  ["word"],
3690
3706
  "Put the user's cursor on a stretch of text, and move the reading window there: the page context carries one window of a long document, and the text around this offset arrives in the next turn.",
3691
- { start: _("Start character offset."), end: _("End character offset. Omit for a caret.") },
3707
+ { start: A("Start character offset."), end: A("End character offset. Omit for a caret.") },
3692
3708
  ["start"],
3693
3709
  B
3694
3710
  )
3695
- ], ci = [
3711
+ ], li = [
3696
3712
  b(
3697
3713
  "slides.setText",
3698
3714
  ["slides"],
3699
3715
  "Replace the text of one shape. Written on save; not visible before that, and not undoable.",
3700
3716
  {
3701
3717
  slide: lt,
3702
- element: A("Element id, as `inspect` reports it."),
3703
- text: A("The new text.")
3718
+ element: _("Element id, as `inspect` reports it."),
3719
+ text: _("The new text.")
3704
3720
  },
3705
3721
  ["slide", "element", "text"],
3706
3722
  ee
@@ -3711,33 +3727,33 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3711
3727
  "Move or resize one shape. Only the values you pass change. Written on save; not visible before that, and not undoable.",
3712
3728
  {
3713
3729
  slide: lt,
3714
- element: A("Element id."),
3715
- left: _("Distance from the left edge, in pixels."),
3716
- top: _("Distance from the top edge, in pixels."),
3717
- width: _("Width in pixels."),
3718
- height: _("Height in pixels.")
3730
+ element: _("Element id."),
3731
+ left: A("Distance from the left edge, in pixels."),
3732
+ top: A("Distance from the top edge, in pixels."),
3733
+ width: A("Width in pixels."),
3734
+ height: A("Height in pixels.")
3719
3735
  },
3720
3736
  ["slide", "element"],
3721
3737
  ee
3722
3738
  )
3723
3739
  ], Qt = [
3724
- ...ii,
3725
3740
  ...si,
3726
3741
  ...ai,
3727
- ...ci
3742
+ ...ci,
3743
+ ...li
3728
3744
  ];
3729
- function lu(e) {
3745
+ function uu(e) {
3730
3746
  return Qt.filter((t) => t.kinds.includes(e));
3731
3747
  }
3732
- function uu(e) {
3748
+ function du(e) {
3733
3749
  return Qt.find((t) => t.op === e);
3734
3750
  }
3735
- const dt = /(?: {2,}|\\)$/, li = /^\*\*([^*]+)\*\*\s+(.*)$/;
3751
+ const dt = /(?: {2,}|\\)$/, ui = /^\*\*([^*]+)\*\*\s+(.*)$/;
3736
3752
  function pt(e) {
3737
- const t = li.exec(e);
3753
+ const t = ui.exec(e);
3738
3754
  return t ? { lead: t[1], text: t[2] } : { text: e };
3739
3755
  }
3740
- function du(e) {
3756
+ function pu(e) {
3741
3757
  const t = (e ?? "").replace(/\r\n/g, `
3742
3758
  `).split(`
3743
3759
  `), n = [];
@@ -3764,10 +3780,10 @@ function du(e) {
3764
3780
  const p = t[u] ?? "", f = p.match(/^```(\w*)\s*$/);
3765
3781
  if (f) {
3766
3782
  d();
3767
- const h = [];
3783
+ const g = [];
3768
3784
  for (u++; u < t.length && !/^```\s*$/.test(t[u] ?? ""); )
3769
- h.push(t[u] ?? ""), u++;
3770
- u++, n.push({ type: "code", ...f[1] ? { lang: f[1] } : {}, text: h.join(`
3785
+ g.push(t[u] ?? ""), u++;
3786
+ u++, n.push({ type: "code", ...f[1] ? { lang: f[1] } : {}, text: g.join(`
3771
3787
  `) });
3772
3788
  continue;
3773
3789
  }
@@ -3816,27 +3832,27 @@ function du(e) {
3816
3832
  }
3817
3833
  return d(), n;
3818
3834
  }
3819
- function pu(e, t) {
3835
+ function fu(e, t) {
3820
3836
  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, `
3821
3837
 
3822
3838
  `).trim();
3823
3839
  }
3824
- const fu = "documents.describe", mu = "documents.inspect", gu = "documents.apply";
3825
- function hu(e) {
3840
+ const mu = "documents.describe", hu = "documents.inspect", gu = "documents.apply";
3841
+ function yu(e) {
3826
3842
  const t = e.indexOf(":");
3827
3843
  if (t !== -1) return e.slice(0, t);
3828
3844
  const n = e.indexOf(".");
3829
3845
  return n === -1 ? e : e.slice(0, n);
3830
3846
  }
3831
- const yu = "installation-id";
3832
- function bu(e) {
3847
+ const bu = "installation-id";
3848
+ function Au(e) {
3833
3849
  const t = [];
3834
3850
  for (const n of Object.keys(e))
3835
3851
  for (const r of Object.keys(e[n]))
3836
3852
  t.push({ lang: n, key: r, value: e[n][r] });
3837
3853
  return t;
3838
3854
  }
3839
- const _u = "notification-source", Au = (e, t) => `${e}.pref.${t}`, Eu = {
3855
+ const _u = "notification-source", Eu = (e, t) => `${e}.pref.${t}`, Su = {
3840
3856
  ai: [
3841
3857
  "account.read",
3842
3858
  "account.write",
@@ -3971,48 +3987,48 @@ const _u = "notification-source", Au = (e, t) => `${e}.pref.${t}`, Eu = {
3971
3987
  time: ["entry.read", "entry.write", "work-type.read", "work-type.write"],
3972
3988
  user: ["user.read", "user.write"],
3973
3989
  work: ["item.read", "item.write", "project.read", "project.write"]
3974
- }, Zt = 9e4, ui = ["out_of_office"], Jt = (e) => ui.includes(e);
3975
- function Su(e, t, n) {
3990
+ }, Zt = 9e4, di = ["out_of_office"], Jt = (e) => di.includes(e);
3991
+ function Iu(e, t, n) {
3976
3992
  const r = n - e < Zt, o = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
3977
3993
  if (!o?.status) return { online: r, status: r ? "available" : "offline" };
3978
3994
  const i = o.status;
3979
3995
  return !r && !Jt(i) ? { online: !1, status: "offline" } : { online: r, status: i, message: o.message };
3980
3996
  }
3981
- function Iu(e, t) {
3997
+ function Tu(e, t) {
3982
3998
  const n = t - e.lastSeenAt < Zt, r = n || Jt(e.status) ? e.status : "offline";
3983
3999
  return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
3984
4000
  }
3985
- function Tu(e, t) {
4001
+ function wu(e, t) {
3986
4002
  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 };
3987
4003
  }
3988
- function wu(e) {
4004
+ function ku(e) {
3989
4005
  return e.providerAvailable && e.allowed;
3990
4006
  }
3991
- const ku = "resources.describe", Mu = "resources.search", vu = "resources.resolve", Cu = "resources.attached";
3992
- function Ou(e) {
4007
+ const Mu = "resources.describe", vu = "resources.search", Cu = "resources.resolve", Ou = "resources.attached";
4008
+ function xu(e) {
3993
4009
  const t = e.indexOf(":");
3994
4010
  return t === -1 ? e : e.slice(0, t);
3995
4011
  }
3996
- const xu = "/provider/scope/related", Nu = "/provider/scope/read", en = "auth";
4012
+ const Nu = "/provider/scope/related", Ru = "/provider/scope/read", en = "auth";
3997
4013
  function tn(e) {
3998
4014
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
3999
4015
  return t ? t[1] : null;
4000
4016
  }
4001
- function Ru(e) {
4017
+ function Du(e) {
4002
4018
  const t = tn(e);
4003
4019
  return t ? t !== en : typeof e == "string" && e.startsWith("/wake");
4004
4020
  }
4005
- function Du(e) {
4021
+ function $u(e) {
4006
4022
  return typeof e != "string" || e === "" || e === "/" ? !0 : tn(e) === en;
4007
4023
  }
4008
- function di(e) {
4024
+ function pi(e) {
4009
4025
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
4010
4026
  }
4011
- function pi(e) {
4012
- const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${di(r)}`).join("");
4027
+ function fi(e) {
4028
+ const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${pi(r)}`).join("");
4013
4029
  return new RegExp(`^${n}\\/?$`);
4014
4030
  }
4015
- function fi(e, t) {
4031
+ function mi(e, t) {
4016
4032
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean), o = {};
4017
4033
  return n.forEach((i, s) => {
4018
4034
  if (i.startsWith(":")) {
@@ -4021,14 +4037,14 @@ function fi(e, t) {
4021
4037
  }
4022
4038
  }), o;
4023
4039
  }
4024
- function mi(e) {
4040
+ function hi(e) {
4025
4041
  return e.publicBasePath ?? `/apps/${e.name}`;
4026
4042
  }
4027
- function $u(e) {
4043
+ function Lu(e) {
4028
4044
  const t = [];
4029
4045
  for (const n of e) {
4030
4046
  if (!n?.name) continue;
4031
- const r = mi(n);
4047
+ const r = hi(n);
4032
4048
  for (const o of n.routes ?? []) {
4033
4049
  if (!o.public) continue;
4034
4050
  const i = o.path === "/" ? "" : o.path;
@@ -4050,17 +4066,17 @@ function gi(e, t) {
4050
4066
  }
4051
4067
  return n.length > r.length;
4052
4068
  }
4053
- function hi(e, t) {
4069
+ function yi(e, t) {
4054
4070
  if (typeof e != "string") return null;
4055
4071
  let n = null;
4056
4072
  for (const r of t)
4057
- pi(r.pattern).test(e) && (!n || gi(r.pattern, n.pattern)) && (n = r);
4058
- return n ? { ...n, params: { ...n.props, ...fi(n.pattern, e) } } : null;
4073
+ fi(r.pattern).test(e) && (!n || gi(r.pattern, n.pattern)) && (n = r);
4074
+ return n ? { ...n, params: { ...n.props, ...mi(n.pattern, e) } } : null;
4059
4075
  }
4060
- function Lu(e, t) {
4061
- return hi(e, t) !== null;
4076
+ function Pu(e, t) {
4077
+ return yi(e, t) !== null;
4062
4078
  }
4063
- const Pu = 10 * 1024 * 1024, Ku = 25 * 1024 * 1024, Uu = "sync-target", Fu = 20, yi = {
4079
+ const Ku = 10 * 1024 * 1024, Uu = 25 * 1024 * 1024, Fu = "sync-target", Bu = 20, bi = {
4064
4080
  afrikaans: [
4065
4081
  "[Muziek]",
4066
4082
  "(C) TV GELDERLAND 2021",
@@ -4210,14 +4226,14 @@ const Pu = 10 * 1024 * 1024, Ku = 25 * 1024 * 1024, Uu = "sync-target", Fu = 20,
4210
4226
  "[MÚSICA]",
4211
4227
  "[Music cuts in British]"
4212
4228
  ]
4213
- }, bi = (e) => {
4229
+ }, Ai = (e) => {
4214
4230
  let t = e;
4215
- return Object.values(yi).forEach((n) => {
4231
+ return Object.values(bi).forEach((n) => {
4216
4232
  n.forEach((r) => {
4217
4233
  t = t.replaceAll(r, "");
4218
4234
  });
4219
4235
  }), t = t.replace(/\(.*?\)/g, ""), t = t.replace(/\[.*?\]/g, ""), t;
4220
- }, _i = 6e4, Ai = 8e3, Ei = 2, Si = 0.4, Ii = 3, Ti = /* @__PURE__ */ new Set([
4236
+ }, _i = 6e4, Ei = 8e3, Si = 2, Ii = 0.4, Ti = 3, wi = /* @__PURE__ */ new Set([
4221
4237
  "aan",
4222
4238
  "als",
4223
4239
  "ben",
@@ -4330,13 +4346,13 @@ const Pu = 10 * 1024 * 1024, Ku = 25 * 1024 * 1024, Uu = "sync-target", Fu = 20,
4330
4346
  "you",
4331
4347
  "your"
4332
4348
  ]);
4333
- function wi(e) {
4349
+ function ki(e) {
4334
4350
  const t = /* @__PURE__ */ new Set();
4335
4351
  for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
4336
- n.length < Ii || Ti.has(n) || t.add(n);
4352
+ n.length < Ti || wi.has(n) || t.add(n);
4337
4353
  return [...t];
4338
4354
  }
4339
- function ki(e, t) {
4355
+ function Mi(e, t) {
4340
4356
  if (!e.length) return 0;
4341
4357
  if (!t.length) return 1;
4342
4358
  const n = new Set(t), r = new Set(e);
@@ -4344,38 +4360,38 @@ function ki(e, t) {
4344
4360
  for (const i of r) n.has(i) || (o += 1);
4345
4361
  return o / r.size;
4346
4362
  }
4347
- function Mi(e, t = _i) {
4363
+ function vi(e, t = _i) {
4348
4364
  const n = e.filter((s) => !s.partial && typeof s.text == "string");
4349
4365
  if (!n.length) return { text: "", segmentCount: 0 };
4350
4366
  const o = n.reduce((s, a) => Math.max(s, a.endedAt ?? 0), 0) - t;
4351
- return { text: n.filter((s) => (s.endedAt ?? 0) >= o).map((s) => bi(s.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
4367
+ return { text: n.filter((s) => (s.endedAt ?? 0) >= o).map((s) => Ai(s.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
4352
4368
  }
4353
- const vi = 60;
4354
- function Bu(e, t, n = vi) {
4369
+ const Ci = 60;
4370
+ function ju(e, t, n = Ci) {
4355
4371
  const r = new Set(e), o = [...e];
4356
4372
  for (const i of t)
4357
4373
  !i || r.has(i) || (r.add(i), o.push(i));
4358
4374
  return o.slice(-n);
4359
4375
  }
4360
- function ju(e) {
4376
+ function Hu(e) {
4361
4377
  const { segments: t, now: n, state: r } = e;
4362
- if (r.lastTriggerAt && n - r.lastTriggerAt < Ai)
4378
+ if (r.lastTriggerAt && n - r.lastTriggerAt < Ei)
4363
4379
  return { trigger: !1, reason: "too_soon" };
4364
- const o = Mi(t, e.windowMs);
4380
+ const o = vi(t, e.windowMs);
4365
4381
  if (!o.text) return { trigger: !1, reason: "no_speech" };
4366
4382
  const i = o.segmentCount - (r.lastSegmentCount ?? 0);
4367
- if (r.lastQueryTerms && i < Ei)
4383
+ if (r.lastQueryTerms && i < Si)
4368
4384
  return { trigger: !1, reason: "too_few_new" };
4369
- const s = wi(o.text);
4370
- return s.length ? r.lastQueryTerms?.length && ki(s, r.lastQueryTerms) < Si ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: o.text, terms: s, segmentCount: o.segmentCount } : { trigger: !1, reason: "no_speech" };
4385
+ const s = ki(o.text);
4386
+ return s.length ? r.lastQueryTerms?.length && Mi(s, r.lastQueryTerms) < Ii ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: o.text, terms: s, segmentCount: o.segmentCount } : { trigger: !1, reason: "no_speech" };
4371
4387
  }
4372
- const Hu = [
4388
+ const Gu = [
4373
4389
  "personal",
4374
4390
  "workspace",
4375
4391
  "connections",
4376
4392
  "work",
4377
4393
  "ai"
4378
- ], Gu = "navNotice", De = {
4394
+ ], Wu = "navNotice", De = {
4379
4395
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
4380
4396
  // shorter than geographic numbers, and a too-strict minimum silently drops them.
4381
4397
  // An over-permissive key is harmless — it simply matches nothing.
@@ -4398,7 +4414,7 @@ const Hu = [
4398
4414
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
4399
4415
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
4400
4416
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
4401
- }, Ci = "NL", Oi = 15, xi = 8, Ni = Array.from(
4417
+ }, Oi = "NL", xi = 15, Ni = 8, Ri = Array.from(
4402
4418
  new Set(Object.values(De).map((e) => e.callingCode))
4403
4419
  ).sort((e, t) => t.length - e.length);
4404
4420
  function ft(e) {
@@ -4409,8 +4425,8 @@ function Z(e, t) {
4409
4425
  return e.length >= t.nsnMin && e.length <= t.nsnMax;
4410
4426
  }
4411
4427
  function mt(e) {
4412
- if (e.length > Oi) return null;
4413
- for (const t of Ni) {
4428
+ if (e.length > xi) return null;
4429
+ for (const t of Ri) {
4414
4430
  if (!e.startsWith(t)) continue;
4415
4431
  const n = e.slice(t.length);
4416
4432
  for (const r of Object.values(De)) {
@@ -4420,31 +4436,31 @@ function mt(e) {
4420
4436
  }
4421
4437
  return null;
4422
4438
  }
4423
- return e.length < xi ? null : `+${e}`;
4439
+ return e.length < Ni ? null : `+${e}`;
4424
4440
  }
4425
- function Ri(e) {
4441
+ function Di(e) {
4426
4442
  let t = e.trim();
4427
4443
  const n = t.match(/^(sips?|tel|whatsapp):/i);
4428
4444
  n && (t = t.slice(n[0].length));
4429
4445
  const r = t.indexOf("@");
4430
4446
  return r >= 0 && (t = t.slice(0, r)), t.trim();
4431
4447
  }
4432
- function Wu(e) {
4448
+ function Vu(e) {
4433
4449
  if (!e) return !1;
4434
4450
  const t = e.indexOf("@");
4435
4451
  if (t <= 0) return !1;
4436
4452
  const n = e.slice(0, t).trim();
4437
4453
  return !/^[+\d\s().-]+$/.test(n);
4438
4454
  }
4439
- function gt(e, t) {
4455
+ function ht(e, t) {
4440
4456
  if (!e) return null;
4441
- const n = Ri(e);
4457
+ const n = Di(e);
4442
4458
  if (!n) return null;
4443
4459
  const r = n.startsWith("+"), o = n.replace(/\D/g, "");
4444
4460
  if (!o) return null;
4445
4461
  if (r) return mt(o);
4446
4462
  if (o.startsWith("00")) return mt(o.slice(2));
4447
- const i = ft(t) ?? ft(Ci);
4463
+ const i = ft(t) ?? ft(Oi);
4448
4464
  if (!i) return null;
4449
4465
  const s = i.trunkPrefix;
4450
4466
  if (s && o.startsWith(s)) {
@@ -4457,7 +4473,7 @@ function gt(e, t) {
4457
4473
  }
4458
4474
  return !s && Z(o, i) ? `+${i.callingCode}${o}` : null;
4459
4475
  }
4460
- function Vu(e, t = 9) {
4476
+ function zu(e, t = 9) {
4461
4477
  const n = (e ?? "").replace(/\D/g, "");
4462
4478
  return n.length < t ? null : n.slice(-t);
4463
4479
  }
@@ -4468,11 +4484,11 @@ function nn(e) {
4468
4484
  const r = t.slice(0, n).split("+")[0], o = t.slice(n + 1);
4469
4485
  return !r || !o.includes(".") ? null : `${r}@${o}`;
4470
4486
  }
4471
- function zu(e) {
4487
+ function Xu(e) {
4472
4488
  const t = nn(e);
4473
4489
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
4474
4490
  }
4475
- const Di = /* @__PURE__ */ new Set([
4491
+ const $i = /* @__PURE__ */ new Set([
4476
4492
  "co.uk",
4477
4493
  "org.uk",
4478
4494
  "gov.uk",
@@ -4482,14 +4498,14 @@ const Di = /* @__PURE__ */ new Set([
4482
4498
  "com.br",
4483
4499
  "co.za"
4484
4500
  ]);
4485
- function $i(e) {
4501
+ function Li(e) {
4486
4502
  if (!e) return null;
4487
4503
  const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
4488
4504
  if (t.length < 2) return null;
4489
4505
  const n = t.slice(-2).join(".");
4490
- return Di.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
4506
+ return $i.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
4491
4507
  }
4492
- const Li = /* @__PURE__ */ new Set([
4508
+ const Pi = /* @__PURE__ */ new Set([
4493
4509
  "gmail.com",
4494
4510
  "googlemail.com",
4495
4511
  "outlook.com",
@@ -4534,24 +4550,24 @@ const Li = /* @__PURE__ */ new Set([
4534
4550
  "proximus.be",
4535
4551
  "scarlet.be"
4536
4552
  ]);
4537
- function Xu(e) {
4538
- const t = $i(e);
4539
- return t ? Li.has(t) : !1;
4540
- }
4541
4553
  function Yu(e) {
4554
+ const t = Li(e);
4555
+ return t ? Pi.has(t) : !1;
4556
+ }
4557
+ function qu(e) {
4542
4558
  if (!e) return !1;
4543
4559
  const t = e.trim().toLowerCase();
4544
4560
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
4545
4561
  }
4546
- function qu(e, t, n) {
4562
+ function Qu(e, t, n) {
4547
4563
  if (!e || !t) return null;
4548
4564
  const r = e.trim().toLowerCase();
4549
4565
  if (r === "tel" || r === "sms" || r === "whatsapp") {
4550
- const i = gt(t, n);
4566
+ const i = ht(t, n);
4551
4567
  return i ? `tel:${i}` : null;
4552
4568
  }
4553
4569
  if (r === "fax") {
4554
- const i = gt(t, n);
4570
+ const i = ht(t, n);
4555
4571
  return i ? `fax:${i}` : null;
4556
4572
  }
4557
4573
  if (r === "mailto" || r === "email") {
@@ -4561,7 +4577,7 @@ function qu(e, t, n) {
4561
4577
  const o = t.trim().toLowerCase();
4562
4578
  return o ? `${r}:${o}` : null;
4563
4579
  }
4564
- const Pi = [
4580
+ const Ki = [
4565
4581
  /<blockquote/i,
4566
4582
  /class="?gmail_quote/i,
4567
4583
  // Gmail quote container
@@ -4574,24 +4590,24 @@ const Pi = [
4574
4590
  // Outlook underscore separator before "From:"
4575
4591
  /\bOn\b[\s\S]{0,200}?\bwrote:/i
4576
4592
  // Gmail "On <date> <name> wrote:"
4577
- ], ht = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Ki = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
4578
- function Ui(e) {
4593
+ ], gt = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Ui = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
4594
+ function Fi(e) {
4579
4595
  const t = e.split(`
4580
4596
  `);
4581
4597
  for (let n = 0; n < t.length; n++)
4582
- if (Ki.test(t[n]) || ht.test(t[n]) && t.slice(n + 1, n + 4).some((r) => ht.test(r)))
4598
+ if (Ui.test(t[n]) || gt.test(t[n]) && t.slice(n + 1, n + 4).some((r) => gt.test(r)))
4583
4599
  return t.slice(0, n).join(`
4584
4600
  `).trim();
4585
4601
  return e;
4586
4602
  }
4587
- const Fi = /^(?:https?:|mailto:|tel:)/i, Bi = /^(?:https?:|cid:|data:image\/)/i;
4603
+ const Bi = /^(?:https?:|mailto:|tel:)/i, ji = /^(?:https?:|cid:|data:image\/)/i;
4588
4604
  function de(e, t) {
4589
4605
  const n = e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`, "i"));
4590
4606
  return (n?.[1] ?? n?.[2] ?? n?.[3] ?? "").trim();
4591
4607
  }
4592
- const ji = /(!\[[^\]]*\]\([^)]*\))/;
4608
+ const Hi = /(!\[[^\]]*\]\([^)]*\))/;
4593
4609
  function yt(e) {
4594
- return e.replace(/\s+/g, " ").trim().split(ji).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
4610
+ return e.replace(/\s+/g, " ").trim().split(Hi).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
4595
4611
  }
4596
4612
  function pe(e) {
4597
4613
  return e.replace(
@@ -4599,47 +4615,47 @@ function pe(e) {
4599
4615
  (t) => `%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2, "0")}`
4600
4616
  );
4601
4617
  }
4602
- function Hi(e) {
4618
+ function Gi(e) {
4603
4619
  return e.replace(/<img\b([^>]*?)\/?>/gi, (n, r) => {
4604
4620
  const o = de(r, "src");
4605
- return Bi.test(o) ? `![${yt(de(r, "alt"))}](${pe(o)})` : "";
4621
+ return ji.test(o) ? `![${yt(de(r, "alt"))}](${pe(o)})` : "";
4606
4622
  }).replace(
4607
4623
  /<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,
4608
4624
  (n, r, o) => {
4609
4625
  const i = yt(o.replace(/<[^>]*>/g, "")), s = de(r, "href");
4610
- return Fi.test(s) ? `[${i || pe(s)}](${pe(s)})` : i;
4626
+ return Bi.test(s) ? `[${i || pe(s)}](${pe(s)})` : i;
4611
4627
  }
4612
4628
  );
4613
4629
  }
4614
- const Gi = /<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i, Wi = /<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi, Vi = /<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;
4615
- function zi(e, t) {
4630
+ const Wi = /<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i, Vi = /<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi, zi = /<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;
4631
+ function Xi(e, t) {
4616
4632
  return /<table\b/i.test(e) || e.includes(`
4617
4633
 
4618
4634
  |`) || t.includes("![") || t.length > 200;
4619
4635
  }
4620
- const Xi = 40, Yi = { left: "---", center: ":---:", right: "---:" };
4621
- function qi(e) {
4636
+ const Yi = 40, qi = { left: "---", center: ":---:", right: "---:" };
4637
+ function Qi(e) {
4622
4638
  const t = e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);
4623
4639
  return t ? t[1].toLowerCase() : "left";
4624
4640
  }
4625
- function Qi(e) {
4641
+ function Zi(e) {
4626
4642
  return e.replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().replace(/\|/g, "\\|");
4627
4643
  }
4628
- function Zi(e) {
4644
+ function Ji(e) {
4629
4645
  const t = [];
4630
- for (const s of e.matchAll(Wi)) {
4646
+ for (const s of e.matchAll(Vi)) {
4631
4647
  const a = [];
4632
- for (const c of s[1].matchAll(Vi)) {
4633
- const l = Qi(c[3]);
4634
- if (zi(c[3], l)) return null;
4635
- a.push({ text: l, align: qi(c[2]) });
4648
+ for (const c of s[1].matchAll(zi)) {
4649
+ const l = Zi(c[3]);
4650
+ if (Xi(c[3], l)) return null;
4651
+ a.push({ text: l, align: Qi(c[2]) });
4636
4652
  }
4637
4653
  if (a.length === 0) return null;
4638
4654
  a.some((c) => c.text !== "") && t.push(a);
4639
4655
  }
4640
4656
  const n = t[0]?.length ?? 0;
4641
4657
  if (t.length < 2 || n < 2 || t.some((s) => s.length !== n)) return null;
4642
- const r = (s) => `| ${s.map((a) => a.text).join(" | ")} |`, o = t[1].map((s) => Yi[s.align]).join(" | "), i = t.slice(1).map(r).join(`
4658
+ const r = (s) => `| ${s.map((a) => a.text).join(" | ")} |`, o = t[1].map((s) => qi[s.align]).join(" | "), i = t.slice(1).map(r).join(`
4643
4659
  `);
4644
4660
  return `
4645
4661
 
@@ -4649,18 +4665,18 @@ ${i}
4649
4665
 
4650
4666
  `;
4651
4667
  }
4652
- function Ji(e) {
4668
+ function es(e) {
4653
4669
  return e.replace(/<\/(t[dh])\s*>/gi, " ").replace(/<\/tr\s*>/gi, `
4654
4670
  `).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi, "").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi, "");
4655
4671
  }
4656
- function es(e) {
4672
+ function ts(e) {
4657
4673
  let t = e;
4658
- for (let n = 0; n < Xi; n++) {
4659
- const r = Gi.exec(t);
4674
+ for (let n = 0; n < Yi; n++) {
4675
+ const r = Wi.exec(t);
4660
4676
  if (!r || r.index === void 0) break;
4661
- const i = Zi(r[1]) ?? `
4677
+ const i = Ji(r[1]) ?? `
4662
4678
 
4663
- ${Ji(r[1])}
4679
+ ${es(r[1])}
4664
4680
 
4665
4681
  `;
4666
4682
  t = t.slice(0, r.index) + i + t.slice(r.index + r[0].length);
@@ -4670,15 +4686,15 @@ ${Ji(r[1])}
4670
4686
  function bt(e, t) {
4671
4687
  let n = e;
4672
4688
  return n = n.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), n = n.replace(/<!--[\s\S]*?-->/g, ""), n = n.replace(/<br\s*\/?>/gi, `
4673
- `), t && (n = es(Hi(n))), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
4689
+ `), t && (n = ts(Gi(n))), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
4674
4690
 
4675
4691
  `), n = n.replace(/<\/(div|li|tr)>/gi, `
4676
4692
  `), n = n.replace(/<\/(td|th)>/gi, " "), n = n.replace(/<[^>]+>/g, ""), n = n.replace(/<[^>]*$/, ""), n;
4677
4693
  }
4678
- function _t(e) {
4694
+ function At(e) {
4679
4695
  return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
4680
4696
  }
4681
- const ts = {
4697
+ const ns = {
4682
4698
  euro: "€",
4683
4699
  pound: "£",
4684
4700
  yen: "¥",
@@ -4700,8 +4716,8 @@ const ts = {
4700
4716
  rdquo: "”",
4701
4717
  apos: "'"
4702
4718
  };
4703
- function At(e) {
4704
- return e.replace(/&nbsp;/gi, " ").replace(/&([a-z]+);/gi, (t, n) => ts[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, "&");
4719
+ function _t(e) {
4720
+ return e.replace(/&nbsp;/gi, " ").replace(/&([a-z]+);/gi, (t, n) => ns[n.toLowerCase()] ?? t).replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => At(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => At(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
4705
4721
  }
4706
4722
  function Et(e) {
4707
4723
  return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
@@ -4709,38 +4725,38 @@ function Et(e) {
4709
4725
 
4710
4726
  `).trim();
4711
4727
  }
4712
- const ns = /<\s*(html|body|div|p|table|br|span)\b/i;
4713
- function Qu(e) {
4714
- return ns.test(e);
4715
- }
4728
+ const rs = /<\s*(html|body|div|p|table|br|span)\b/i;
4716
4729
  function Zu(e) {
4717
- return rn(e, !1);
4730
+ return rs.test(e);
4718
4731
  }
4719
4732
  function Ju(e) {
4733
+ return rn(e, !1);
4734
+ }
4735
+ function ed(e) {
4720
4736
  return rn(e, !0);
4721
4737
  }
4722
4738
  function rn(e, t) {
4723
4739
  if (typeof e != "string" || !e) return "";
4724
4740
  let n = e.length;
4725
- for (const s of Pi) {
4741
+ for (const s of Ki) {
4726
4742
  const a = e.search(s);
4727
4743
  a >= 0 && a < n && (n = a);
4728
4744
  }
4729
4745
  const r = e.slice(0, n);
4730
- let o = Et(At(bt(r, t)));
4731
- return o || (o = Et(At(bt(e, t)))), Ui(o) || o;
4746
+ let o = Et(_t(bt(r, t)));
4747
+ return o || (o = Et(_t(bt(e, t)))), Fi(o) || o;
4732
4748
  }
4733
4749
  export {
4734
- Ws as ACTIVE_ASSIGNMENT_STATUSES,
4750
+ Vs as ACTIVE_ASSIGNMENT_STATUSES,
4735
4751
  R as ACTIVITY_CATALOG,
4736
- Qo as AI_ATTACHMENT_LIMITS,
4737
- Ll as AI_ATTACHMENT_MAX_PER_TURN,
4738
- $l as AI_ATTACHMENT_TURN_BUDGET,
4752
+ Zo as AI_ATTACHMENT_LIMITS,
4753
+ Pl as AI_ATTACHMENT_MAX_PER_TURN,
4754
+ Ll as AI_ATTACHMENT_TURN_BUDGET,
4739
4755
  Tt as AI_VENDORS,
4740
4756
  kn as ALLOWED_LINK_SCHEMES,
4741
- Eu as APP_PERMISSIONS,
4757
+ Su as APP_PERMISSIONS,
4742
4758
  He as ARTIFACT_MAX_BLOCKS,
4743
- Ks as ARTIFACT_MAX_BODY_BYTES,
4759
+ Us as ARTIFACT_MAX_BODY_BYTES,
4744
4760
  q as ARTIFACT_MAX_CELL_LEN,
4745
4761
  ze as ARTIFACT_MAX_KPI_ITEMS,
4746
4762
  Ge as ARTIFACT_MAX_LIST_ITEMS,
@@ -4748,37 +4764,37 @@ export {
4748
4764
  We as ARTIFACT_MAX_TABLE_ROWS,
4749
4765
  kt as ARTIFACT_MAX_TEXT_LEN,
4750
4766
  Ln as ASSIGNMENT_SCOPE_KIND,
4751
- Bl as ASSIST_BANDS,
4752
- Fl as ASSIST_SOURCE_PROVIDER_GROUP,
4767
+ jl as ASSIST_BANDS,
4768
+ Bl as ASSIST_SOURCE_PROVIDER_GROUP,
4753
4769
  ir as ATTENTION_STATUSES,
4754
4770
  wo as AT_RISK_GAP,
4755
4771
  en as AUTH_APP_NAME,
4756
4772
  io as AUTO_READY_MIN_PROPOSALS,
4757
4773
  so as AUTO_READY_RATE,
4758
- gn as ActivityTypeRegistry,
4759
- As as BUILT_IN_ONLY,
4774
+ hn as ActivityTypeRegistry,
4775
+ Es as BUILT_IN_ONLY,
4760
4776
  sr as BULK_PENALTY,
4761
- Ai as CADENCE_FLOOR_MS,
4762
- Ei as CADENCE_MIN_NEW_SEGMENTS,
4763
- Si as CADENCE_MIN_NOVELTY,
4777
+ Ei as CADENCE_FLOOR_MS,
4778
+ Si as CADENCE_MIN_NEW_SEGMENTS,
4779
+ Ii as CADENCE_MIN_NOVELTY,
4764
4780
  _i as CADENCE_WINDOW_MS,
4765
- dc as CLASSIFY_VARS,
4766
- au as CONNECTOR_PROVIDER_GROUP,
4767
- cu as CONTEXT_COLLECT_SERVICE,
4768
- Ns as CORE_DIMENSIONS,
4769
- ri as CommunicationScheme,
4781
+ pc as CLASSIFY_VARS,
4782
+ cu as CONNECTOR_PROVIDER_GROUP,
4783
+ lu as CONTEXT_COLLECT_SERVICE,
4784
+ Rs as CORE_DIMENSIONS,
4785
+ oi as CommunicationScheme,
4770
4786
  qn as DAY_MS,
4771
4787
  So as DEFAULT_CHECK_IN_DAYS,
4772
4788
  Kr as DEFAULT_FORECAST_WEEKS,
4773
- $a as DEFAULT_MEMORY_BUDGET,
4774
- Ci as DEFAULT_PHONE_REGION,
4775
- al as DEFAULT_QUOTE_TEMPLATE_BLOCKS,
4776
- Va as DEMAND_SOURCE_PROVIDER_GROUP,
4789
+ La as DEFAULT_MEMORY_BUDGET,
4790
+ Oi as DEFAULT_PHONE_REGION,
4791
+ cl as DEFAULT_QUOTE_TEMPLATE_BLOCKS,
4792
+ za as DEMAND_SOURCE_PROVIDER_GROUP,
4777
4793
  gu as DOCUMENT_APPLY_SERVICE,
4778
- fu as DOCUMENT_DESCRIBE_SERVICE,
4779
- mu as DOCUMENT_INSPECT_SERVICE,
4794
+ mu as DOCUMENT_DESCRIBE_SERVICE,
4795
+ hu as DOCUMENT_INSPECT_SERVICE,
4780
4796
  He as DOCUMENT_MAX_BLOCKS,
4781
- Ks as DOCUMENT_MAX_BODY_BYTES,
4797
+ Us as DOCUMENT_MAX_BODY_BYTES,
4782
4798
  q as DOCUMENT_MAX_CELL_LEN,
4783
4799
  ze as DOCUMENT_MAX_KPI_ITEMS,
4784
4800
  Xe as DOCUMENT_MAX_LETTERHEAD_FIELDS,
@@ -4790,418 +4806,418 @@ export {
4790
4806
  Ye as DOCUMENT_MAX_TOTALS_ROWS,
4791
4807
  Qt as DOCUMENT_OPERATIONS,
4792
4808
  $o as DUTCH_SLOT_LABELS,
4793
- fc as EMPTY_WORKFLOW,
4794
- ru as FEATURE_FOLDER_MANAGEMENT,
4795
- iu as FEATURE_MESSAGE_REACTIONS,
4796
- ou as FEATURE_REMOTE_SEARCH,
4809
+ mc as EMPTY_WORKFLOW,
4810
+ ou as FEATURE_FOLDER_MANAGEMENT,
4811
+ su as FEATURE_MESSAGE_REACTIONS,
4812
+ iu as FEATURE_REMOTE_SEARCH,
4797
4813
  Ce as FIXED_KINDS,
4798
4814
  ne as FIXED_LEVELS,
4799
4815
  Ne as FIXED_TYPES,
4800
- na as FIXED_UNITS,
4816
+ ra as FIXED_UNITS,
4801
4817
  cr as FOLLOW_UP_HOURS,
4802
- rl as FROZEN_WRITABLE_FIELDS,
4818
+ ol as FROZEN_WRITABLE_FIELDS,
4803
4819
  Yn as HOUR_MS,
4804
- ns as HTML_BODY_RE,
4820
+ rs as HTML_BODY_RE,
4805
4821
  L as INELIGIBLE,
4806
- yu as INSTALLATION_HEADER,
4822
+ bu as INSTALLATION_HEADER,
4807
4823
  eo as INTERACTION_KIND,
4808
- tu as InteractionParticipantRole,
4809
- hr as KB_FALLBACK_LOCALE,
4824
+ nu as InteractionParticipantRole,
4825
+ gr as KB_FALLBACK_LOCALE,
4810
4826
  Ze as KB_LOCALES,
4811
4827
  Ze as LOCALES,
4812
4828
  Re as LOOSE_STATUSES,
4813
4829
  tr as MAIL_HINT_HEADERS,
4814
- ss as MAX_ACTIONS,
4830
+ as as MAX_ACTIONS,
4815
4831
  Pn as MAX_ASSIGNMENT_TURNS,
4816
- rs as MAX_BLOCKS,
4832
+ os as MAX_BLOCKS,
4817
4833
  Dt as MAX_COLLECTION_DEPTH,
4818
- Pu as MAX_EDITABLE_FILE_BYTES,
4819
- os as MAX_FIELDS,
4820
- is as MAX_LIST_ITEMS,
4821
- xa as MAX_MEMORY_BROWSE,
4822
- Da as MAX_MEMORY_BUDGET,
4823
- Na as MAX_MEMORY_CHARS,
4824
- vi as MAX_SHOWN_KEYS,
4834
+ Ku as MAX_EDITABLE_FILE_BYTES,
4835
+ is as MAX_FIELDS,
4836
+ ss as MAX_LIST_ITEMS,
4837
+ Na as MAX_MEMORY_BROWSE,
4838
+ $a as MAX_MEMORY_BUDGET,
4839
+ Ra as MAX_MEMORY_CHARS,
4840
+ Ci as MAX_SHOWN_KEYS,
4825
4841
  Oo as MAX_TOPIC_CANDIDATES,
4826
4842
  Co as MAX_TOPIC_EXAMPLES,
4827
4843
  ue as MAX_TOPIC_EXAMPLE_CHARS,
4828
- Ku as MAX_VIEWABLE_FILE_BYTES,
4829
- Ra as MIN_MEMORY_BUDGET,
4830
- Gu as NAV_NOTICE_SLOT,
4831
- Pa as NL_TAX_RATES,
4844
+ Uu as MAX_VIEWABLE_FILE_BYTES,
4845
+ Da as MIN_MEMORY_BUDGET,
4846
+ Wu as NAV_NOTICE_SLOT,
4847
+ Ka as NL_TAX_RATES,
4832
4848
  _u as NOTIFICATION_SOURCE_PROVIDER_GROUP,
4833
4849
  ko as OFF_TRACK_GAP,
4834
- Ua as ONBOARDING_SOURCE_PROVIDER_GROUP,
4850
+ Fa as ONBOARDING_SOURCE_PROVIDER_GROUP,
4835
4851
  Ee as PAUSE_SNOOZED,
4836
4852
  Se as PAUSE_WAITING_FOR_CUSTOMER,
4837
4853
  De as PHONE_REGIONS,
4838
4854
  Zt as PRESENCE_ONLINE_WINDOW_MS,
4839
- ui as PRESENCE_SURVIVES_OFFLINE,
4840
- Ko as PRODUCT_SCOPE_KIND,
4841
- Ba as PROFILE_TOOL_DISPOSITIONS,
4842
- eu as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
4843
- Jl as PROVIDER_FEATURE_MESSAGE_WINDOW,
4844
- Li as PUBLIC_EMAIL_DOMAINS,
4855
+ di as PRESENCE_SURVIVES_OFFLINE,
4856
+ Uo as PRODUCT_SCOPE_KIND,
4857
+ ja as PROFILE_TOOL_DISPOSITIONS,
4858
+ tu as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
4859
+ eu as PROVIDER_FEATURE_MESSAGE_WINDOW,
4860
+ Pi as PUBLIC_EMAIL_DOMAINS,
4845
4861
  Je as READ_STEP_TYPES,
4846
- _r as RELATED_SUBJECT_KINDS,
4862
+ Ar as RELATED_SUBJECT_KINDS,
4847
4863
  qt as RESERVED_STATUS_KEYS,
4848
- hl as RESERVED_TYPE_KEYS,
4849
- Cu as RESOURCE_ATTACHED_SERVICE,
4850
- ku as RESOURCE_DESCRIBE_SERVICE,
4851
- vu as RESOURCE_RESOLVE_SERVICE,
4852
- Mu as RESOURCE_SEARCH_SERVICE,
4864
+ yl as RESERVED_TYPE_KEYS,
4865
+ Ou as RESOURCE_ATTACHED_SERVICE,
4866
+ Mu as RESOURCE_DESCRIBE_SERVICE,
4867
+ Cu as RESOURCE_RESOLVE_SERVICE,
4868
+ vu as RESOURCE_SEARCH_SERVICE,
4853
4869
  Gr as SCHEDULE_ENTRY_SCOPE_KIND,
4854
- Nu as SCOPE_READ_ROUTE,
4855
- xu as SCOPE_RELATED_ROUTE,
4856
- Hu as SETTINGS_CATEGORIES,
4857
- ra as SIGNATURE_INTENTS,
4870
+ Ru as SCOPE_READ_ROUTE,
4871
+ Nu as SCOPE_RELATED_ROUTE,
4872
+ Gu as SETTINGS_CATEGORIES,
4873
+ oa as SIGNATURE_INTENTS,
4858
4874
  ar as SLA_HOURS_BY_PRIORITY,
4859
- wc as SLA_METRICS,
4860
- kc as SLA_PAUSE_REASONS,
4875
+ kc as SLA_METRICS,
4876
+ Mc as SLA_PAUSE_REASONS,
4861
4877
  ro as STEP_MAX_TOKENS_MAX,
4862
4878
  no as STEP_MAX_TOKENS_MIN,
4863
- Ao as STRATEGY_ITEM_SCOPE_KIND,
4879
+ _o as STRATEGY_ITEM_SCOPE_KIND,
4864
4880
  er as SUMMARY_MIN_LAST_CHARS,
4865
4881
  Jn as SUMMARY_MIN_MESSAGES,
4866
- Fu as SYNC_RUN_MAX_ERRORS,
4867
- Uu as SYNC_TARGET_PROVIDER_GROUP,
4882
+ Bu as SYNC_RUN_MAX_ERRORS,
4883
+ Fu as SYNC_TARGET_PROVIDER_GROUP,
4868
4884
  $n as TERMINAL_ASSIGNMENT_STATUSES,
4869
4885
  ao as TERMINAL_RUN_STATUSES,
4870
4886
  Xt as TRANSACTION_KINDS,
4871
- Po as TRANSACTION_SCOPE_KINDS,
4872
- uc as TRIGGER_VARS,
4887
+ Ko as TRANSACTION_SCOPE_KINDS,
4888
+ dc as TRIGGER_VARS,
4873
4889
  Sr as UNKNOWN_KIND,
4874
4890
  Eo as UNKNOWN_LEVEL_ORDER,
4875
- su as UNSUPPORTED,
4891
+ au as UNSUPPORTED,
4876
4892
  En as USAGE_DIMENSIONS,
4877
4893
  Sn as USAGE_DIMENSION_IDS,
4878
4894
  Wr as WORKSTREAM_SCOPE_KIND,
4879
- jo as WORK_ACTIVITY_SCOPE_KIND,
4880
- Fa as WORK_AREAS,
4881
- pl as WORK_COMMENT_ADDED,
4882
- El as WORK_CYCLE_SYNC_KIND,
4883
- fl as WORK_ITEM_ASSIGNED,
4884
- Fo as WORK_ITEM_SCOPE_KIND,
4885
- ml as WORK_ITEM_STATUS_CHANGED,
4886
- Bo as WORK_PROJECT_SCOPE_KIND,
4895
+ Ho as WORK_ACTIVITY_SCOPE_KIND,
4896
+ Ba as WORK_AREAS,
4897
+ fl as WORK_COMMENT_ADDED,
4898
+ Sl as WORK_CYCLE_SYNC_KIND,
4899
+ ml as WORK_ITEM_ASSIGNED,
4900
+ Bo as WORK_ITEM_SCOPE_KIND,
4901
+ hl as WORK_ITEM_STATUS_CHANGED,
4902
+ jo as WORK_PROJECT_SCOPE_KIND,
4887
4903
  J as W_PRIORITY,
4888
- el as acceptExampleCandidate,
4904
+ tl as acceptExampleCandidate,
4889
4905
  Yr as actingIdentityKey,
4890
- Zc as activeWorkTypes,
4891
- cs as activityIconOf,
4892
- bs as activityJoinUrl,
4906
+ Jc as activeWorkTypes,
4907
+ ls as activityIconOf,
4908
+ As as activityJoinUrl,
4893
4909
  dn as activitySnippet,
4894
4910
  pn as activityTextParams,
4895
- ys as activityTimelineText,
4896
- hn as activityTimestamp,
4911
+ bs as activityTimelineText,
4912
+ gn as activityTimestamp,
4897
4913
  w as activityTypeInfo,
4898
- oc as actorKey,
4899
- Jc as addExampleCandidate,
4914
+ ic as actorKey,
4915
+ el as addExampleCandidate,
4900
4916
  Oe as addWorkingMs,
4901
- Iu as agePresenceEntry,
4902
- qo as aiAttachmentKind,
4903
- Pl as aiAttachmentRejection,
4917
+ Tu as agePresenceEntry,
4918
+ Qo as aiAttachmentKind,
4919
+ Kl as aiAttachmentRejection,
4904
4920
  je as aiBudgetLimit,
4905
- Os as aiBudgetPeriodKey,
4921
+ xs as aiBudgetPeriodKey,
4906
4922
  yn as aiBudgetPeriodStart,
4907
- Cs as aiBudgetState,
4908
- vs as aiVendorAcceptsAttachment,
4909
- ws as aiVendorDefaultModel,
4910
- Ts as aiVendorLabel,
4911
- Ms as aiVendorNeedsBaseUrl,
4912
- ks as aiVendorsWith,
4923
+ Os as aiBudgetState,
4924
+ Cs as aiVendorAcceptsAttachment,
4925
+ ks as aiVendorDefaultModel,
4926
+ ws as aiVendorLabel,
4927
+ vs as aiVendorNeedsBaseUrl,
4928
+ Ms as aiVendorsWith,
4913
4929
  Fn as allocate,
4914
4930
  tn as appNameFromPath,
4915
- zc as applyRounding,
4916
- oa as applySignature,
4931
+ Xc as applyRounding,
4932
+ ia as applySignature,
4917
4933
  oo as approvalRate,
4918
- Fs as artifactBodyBytes,
4919
- Bs as artifactOutline,
4934
+ Bs as artifactBodyBytes,
4935
+ js as artifactOutline,
4920
4936
  Dn as artifactToMarkdown,
4921
- cc as assignmentMismatch,
4922
- zs as assignmentScopeKey,
4923
- qs as assignmentSubject,
4924
- Wa as availabilityByPerson,
4925
- ja as belongsOnCalendar,
4937
+ lc as assignmentMismatch,
4938
+ Xs as assignmentScopeKey,
4939
+ Qs as assignmentSubject,
4940
+ Va as availabilityByPerson,
4941
+ Ha as belongsOnCalendar,
4926
4942
  _s as buildActivityPreview,
4927
- Xl as buildChannelIntents,
4928
- js as buildShareKeys,
4929
- Mi as buildWindow,
4943
+ Yl as buildChannelIntents,
4944
+ Hs as buildShareKeys,
4945
+ vi as buildWindow,
4930
4946
  Tr as calendarDaysBetween,
4931
4947
  xe as calendarOf,
4932
- wa as canNestUnder,
4933
- Dc as canParent,
4934
- Ha as capacityTotal,
4935
- ec as capacityWeights,
4936
- fs as carriesText,
4937
- Ma as categoryLabel,
4938
- Wo as categoryOf,
4939
- Zl as channelKindForScheme,
4940
- ls as channelKindOf,
4941
- Gc as checkInOverdueMs,
4942
- pc as clampStepMaxTokens,
4943
- fa as classifyMail,
4944
- Ju as cleanMessageMarkdown,
4945
- Zu as cleanMessageText,
4946
- Zs as codeQuery,
4947
- Hl as compareAssistRank,
4948
+ ka as canNestUnder,
4949
+ $c as canParent,
4950
+ Ga as capacityTotal,
4951
+ tc as capacityWeights,
4952
+ ms as carriesText,
4953
+ va as categoryLabel,
4954
+ Vo as categoryOf,
4955
+ Jl as channelKindForScheme,
4956
+ us as channelKindOf,
4957
+ Wc as checkInOverdueMs,
4958
+ fc as clampStepMaxTokens,
4959
+ ma as classifyMail,
4960
+ ed as cleanMessageMarkdown,
4961
+ Ju as cleanMessageText,
4962
+ Js as codeQuery,
4963
+ Gl as compareAssistRank,
4948
4964
  vo as compareWorkTypes,
4949
4965
  Xn as conditionHolds,
4950
4966
  Do as copyFrom,
4951
4967
  W as countsAsPlanned,
4952
- Ga as coverageByPerson,
4953
- Xa as coverageFor,
4968
+ Wa as coverageByPerson,
4969
+ Ya as coverageFor,
4954
4970
  Lt as coversWorkstream,
4955
4971
  Pt as cycleDayIndex,
4956
- Rl as cycleOrder,
4957
- Dl as cycleState,
4958
- Qs as decideAssignmentState,
4959
- ju as decideCadence,
4960
- Vl as decideIncomingCall,
4972
+ Dl as cycleOrder,
4973
+ $l as cycleState,
4974
+ Zs as decideAssignmentState,
4975
+ Hu as decideCadence,
4976
+ zl as decideIncomingCall,
4961
4977
  yr as defaultLocaleOf,
4962
- Cl as defaultStatusKey,
4963
- nu as defineIntent,
4978
+ Ol as defaultStatusKey,
4979
+ ru as defineIntent,
4964
4980
  mr as depthOf,
4965
- Su as derivePresence,
4966
- $s as describeClause,
4967
- zl as disabledIntentsFromCapabilities,
4968
- Fs as documentBodyBytes,
4969
- hu as documentKindOf,
4970
- Bs as documentOutline,
4981
+ Iu as derivePresence,
4982
+ Ls as describeClause,
4983
+ Xl as disabledIntentsFromCapabilities,
4984
+ Bs as documentBodyBytes,
4985
+ yu as documentKindOf,
4986
+ js as documentOutline,
4971
4987
  Dn as documentToMarkdown,
4972
- pu as documentToText,
4973
- vc as dueAtOf,
4974
- Vc as elapsedSeconds,
4975
- zu as emailDomain,
4976
- qu as endpointKey,
4988
+ fu as documentToText,
4989
+ Cc as dueAtOf,
4990
+ zc as elapsedSeconds,
4991
+ Xu as emailDomain,
4992
+ Qu as endpointKey,
4977
4993
  vr as erlangC,
4978
- fi as extractParams,
4979
- wi as extractTerms,
4980
- ca as fillDocument,
4994
+ mi as extractParams,
4995
+ ki as extractTerms,
4996
+ la as fillDocument,
4981
4997
  zn as fillText,
4982
- ql as filterByEndpoint,
4983
- Yl as filterByIntent,
4984
- ni as filterByTargetScheme,
4985
- Ds as filterableDimensions,
4998
+ Ql as filterByEndpoint,
4999
+ ql as filterByIntent,
5000
+ ri as filterByTargetScheme,
5001
+ $s as filterableDimensions,
4986
5002
  te as findAiVendor,
4987
- Lc as fixedLevelForName,
5003
+ Pc as fixedLevelForName,
4988
5004
  _l as fixedTypeForName,
4989
- Al as fixedTypes,
4990
- bu as flattenLocales,
5005
+ El as fixedTypes,
5006
+ Au as flattenLocales,
4991
5007
  H as floorToPeriod,
4992
- Qa as forecastIntervals,
5008
+ Za as forecastIntervals,
4993
5009
  Xr as formatActingIdentity,
4994
5010
  D as formatCents,
4995
- Yc as formatClock,
4996
- Xc as formatHm,
4997
- Il as formatItemKey,
5011
+ qc as formatClock,
5012
+ Yc as formatHm,
5013
+ Tl as formatItemKey,
4998
5014
  j as formatPeriod,
4999
- xc as formatSlaDuration,
5000
- Ul as freshSources,
5001
- Es as getActivitySeenUserIds,
5002
- ia as getContactEndpoints,
5003
- Aa as getShortTitle,
5015
+ Nc as formatSlaDuration,
5016
+ Fl as freshSources,
5017
+ Ss as getActivitySeenUserIds,
5018
+ sa as getContactEndpoints,
5019
+ Ea as getShortTitle,
5004
5020
  _a as getUrgencyScore,
5005
- Sc as hasReacted,
5006
- Pc as healthCategory,
5007
- Kc as healthsInCategory,
5021
+ Ic as hasReacted,
5022
+ Kc as healthCategory,
5023
+ Uc as healthsInCategory,
5008
5024
  $t as heightOf,
5009
- Sa as helpCenterText,
5010
- lc as humanizeAction,
5025
+ Ia as helpCenterText,
5026
+ uc as humanizeAction,
5011
5027
  to as interactionIdOf,
5012
- dl as isAgentUser,
5013
- ya as isAssigned,
5014
- Vs as isAssignmentTerminal,
5028
+ pl as isAgentUser,
5029
+ ba as isAssigned,
5030
+ zs as isAssignmentTerminal,
5015
5031
  Zr as isAssignmentTrigger,
5016
- hc as isAutoReady,
5032
+ yc as isAutoReady,
5017
5033
  fr as isAwaitingThem,
5018
- Is as isChatMessageActivity,
5019
- ba as isClosed,
5034
+ Ts as isChatMessageActivity,
5035
+ Aa as isClosed,
5020
5036
  gs as isConnectedType,
5021
- Ru as isDeepLink,
5022
- gr as isDescendant,
5023
- la as isEligible,
5024
- Ss as isEmailActivity,
5025
- nl as isFrozen,
5026
- Qu as isHtmlBody,
5027
- bc as isInFlight,
5037
+ Du as isDeepLink,
5038
+ hr as isDescendant,
5039
+ ua as isEligible,
5040
+ Is as isEmailActivity,
5041
+ rl as isFrozen,
5042
+ Zu as isHtmlBody,
5043
+ Ac as isInFlight,
5028
5044
  or as isInteractionUnseen,
5029
- Du as isLandingPath,
5045
+ $u as isLandingPath,
5030
5046
  Zn as isLikelyBulk,
5031
5047
  St as isMessageShape,
5032
- us as isMessageType,
5048
+ ds as isMessageType,
5033
5049
  gi as isMoreSpecificPattern,
5034
5050
  It as isNoteShape,
5035
- _o as isOpenClock,
5036
- Kl as isOutwardTool,
5051
+ Ao as isOpenClock,
5052
+ Ul as isOutwardTool,
5037
5053
  ur as isParked,
5038
5054
  co as isPaused,
5039
- ms as isPlaybookAuthoredType,
5040
- Xu as isPublicEmailDomain,
5041
- Lu as isPublicPath,
5055
+ hs as isPlaybookAuthoredType,
5056
+ Yu as isPublicEmailDomain,
5057
+ Pu as isPublicPath,
5042
5058
  dr as isReminderActive,
5043
- ps as isReplyableType,
5059
+ fs as isReplyableType,
5044
5060
  ga as isSlaAtRisk,
5045
- yc as isTerminal,
5046
- da as isThreadLongEnough,
5047
- hs as isTranscriptType,
5048
- Ol as isWorkClosed,
5049
- Qc as isWorkTypeVisible,
5050
- kl as itemDossierKeys,
5061
+ bc as isTerminal,
5062
+ pa as isThreadLongEnough,
5063
+ ys as isTranscriptType,
5064
+ xl as isWorkClosed,
5065
+ Zc as isWorkTypeVisible,
5066
+ Ml as itemDossierKeys,
5051
5067
  N as kindFor,
5052
- Go as ladderFor,
5068
+ Wo as ladderFor,
5053
5069
  Io as levelIn,
5054
5070
  Te as levelOrder,
5055
5071
  Er as lineNet,
5056
- Ea as linkLabel,
5057
- xs as listeningAllowed,
5058
- Ta as localeInstruction,
5059
- Ia as localeName,
5060
- ka as localesOf,
5061
- Wu as looksLikeEmail,
5072
+ Sa as linkLabel,
5073
+ Ns as listeningAllowed,
5074
+ wa as localeInstruction,
5075
+ Ta as localeName,
5076
+ Ma as localesOf,
5077
+ Vu as looksLikeEmail,
5062
5078
  Ct as lookup,
5063
- ea as marginCents,
5064
- du as markdownToDocument,
5065
- Ql as matchContactToIntents,
5066
- hi as matchPublicRoute,
5067
- Ca as mcpCredentialScope,
5068
- Oa as mcpToolPrefix,
5069
- Uc as measureRatio,
5070
- Bu as mergeShownKeys,
5079
+ ta as marginCents,
5080
+ pu as markdownToDocument,
5081
+ Zl as matchContactToIntents,
5082
+ yi as matchPublicRoute,
5083
+ Oa as mcpCredentialScope,
5084
+ xa as mcpToolPrefix,
5085
+ Fc as measureRatio,
5086
+ ju as mergeShownKeys,
5071
5087
  un as messageCountsAs,
5072
- Ls as metricOption,
5088
+ Ps as metricOption,
5073
5089
  Kt as minutesOn,
5074
- Yu as needsPhoneRegion,
5075
- ds as nestsUnderParent,
5076
- $c as nextLevelBelow,
5077
- Cc as nextSlaClock,
5078
- ol as nextVersion,
5079
- Us as normalizeArtifactBlocks,
5080
- as as normalizeBlocks,
5081
- Us as normalizeDocumentBlocks,
5090
+ qu as needsPhoneRegion,
5091
+ ps as nestsUnderParent,
5092
+ Lc as nextLevelBelow,
5093
+ Oc as nextSlaClock,
5094
+ il as nextVersion,
5095
+ Fs as normalizeArtifactBlocks,
5096
+ cs as normalizeBlocks,
5097
+ Fs as normalizeDocumentBlocks,
5082
5098
  nn as normalizeEmail,
5083
5099
  P as normalizeExample,
5084
5100
  Kn as normalizeGtin,
5085
- Au as notificationPrefKey,
5086
- ki as novelty,
5087
- uu as operationDescriptor,
5088
- lu as operationsForKind,
5101
+ Eu as notificationPrefKey,
5102
+ Mi as novelty,
5103
+ du as operationDescriptor,
5104
+ uu as operationsForKind,
5089
5105
  ce as overlapSeconds,
5090
- za as overlaps,
5091
- Fc as paceRatio,
5092
- ua as parkMarksById,
5093
- nc as parseActingIdentity,
5094
- Js as parseAmount,
5095
- Ic as parseClockMinutes,
5096
- Tl as parseItemKey,
5097
- pi as pathToRegex,
5106
+ Xa as overlaps,
5107
+ Bc as paceRatio,
5108
+ da as parkMarksById,
5109
+ rc as parseActingIdentity,
5110
+ ea as parseAmount,
5111
+ Tc as parseClockMinutes,
5112
+ wl as parseItemKey,
5113
+ fi as pathToRegex,
5098
5114
  Ft as patternFor,
5099
5115
  Ut as patternStartTime,
5100
- Tc as pauseBitFor,
5101
- Rs as periodsInRange,
5102
- Vu as phoneSuffix,
5103
- pa as pickMailHeaders,
5104
- aa as pickTemplate,
5105
- tc as placeLumps,
5116
+ wc as pauseBitFor,
5117
+ Ds as periodsInRange,
5118
+ zu as phoneSuffix,
5119
+ fa as pickMailHeaders,
5120
+ ca as pickTemplate,
5121
+ nc as placeLumps,
5106
5122
  cn as plainTextFromMarkdown,
5107
- Mc as planSlaEvent,
5108
- Ya as plannedBillable,
5123
+ vc as planSlaEvent,
5124
+ qa as plannedBillable,
5109
5125
  Lr as plannedWorkTypeKey,
5110
5126
  Qr as playbookActor,
5111
5127
  gc as procedureOf,
5112
- ll as productScopeKey,
5113
- Ml as projectDossierKeys,
5114
- mi as publicBasePathFor,
5115
- $u as publicRoutePatterns,
5116
- Ys as reactionWakesAssignment,
5128
+ ul as productScopeKey,
5129
+ vl as projectDossierKeys,
5130
+ hi as publicBasePathFor,
5131
+ Lu as publicRoutePatterns,
5132
+ qs as reactionWakesAssignment,
5117
5133
  fe as readPath,
5118
5134
  et as readStepError,
5119
5135
  lr as recencyOf,
5120
- sa as recipientLocale,
5136
+ aa as recipientLocale,
5121
5137
  Jr as refKey,
5122
- $i as registrableDomain,
5138
+ Li as registrableDomain,
5123
5139
  No as rejectExampleCandidate,
5124
- La as relatedByDefault,
5140
+ Pa as relatedByDefault,
5125
5141
  Ie as remainingMsOf,
5126
5142
  xr as requiredAgents,
5127
5143
  $r as requirementFor,
5128
- ei as resolveAccountCapabilities,
5144
+ ti as resolveAccountCapabilities,
5129
5145
  me as resolveActivityText,
5130
- Jo as resolveChannelIntents,
5131
- ta as resolvePrice,
5146
+ ei as resolveChannelIntents,
5147
+ na as resolvePrice,
5132
5148
  Gn as resolveSignature,
5133
- Tu as resolveWorkMode,
5134
- Ou as resourceKindOf,
5135
- Hc as rollupChildren,
5149
+ wu as resolveWorkMode,
5150
+ xu as resourceKindOf,
5151
+ Gc as rollupChildren,
5136
5152
  G as roundHalfUp,
5137
- rc as runActor,
5138
- Ac as runInteractionId,
5153
+ oc as runActor,
5154
+ Ec as runInteractionId,
5139
5155
  On as sanitizeInline,
5140
- bi as sanitizeTranscript,
5141
- Za as scheduleEntryScopeKey,
5142
- ha as scoreInteraction,
5156
+ Ai as sanitizeTranscript,
5157
+ Ja as scheduleEntryScopeKey,
5158
+ ya as scoreInteraction,
5143
5159
  gl as scoreWorkItem,
5144
- va as selectLenses,
5160
+ Ca as selectLenses,
5145
5161
  Cr as serviceLevel,
5146
- Wl as sessionsHoldCannotReach,
5147
- Gl as sessionsToHold,
5162
+ Vl as sessionsHoldCannotReach,
5163
+ Wl as sessionsToHold,
5148
5164
  vt as shareKeyForTeam,
5149
5165
  Mt as shareKeyForUser,
5150
- Hs as shareKeysForViewer,
5151
- qa as shortfalls,
5152
- wu as shouldRunAudioPipeline,
5153
- Oc as slaBadgeTone,
5154
- ma as slaHoursByInbox,
5166
+ Gs as shareKeysForViewer,
5167
+ Qa as shortfalls,
5168
+ ku as shouldRunAudioPipeline,
5169
+ xc as slaBadgeTone,
5170
+ ha as slaHoursByInbox,
5155
5171
  pr as slaHoursFor,
5156
- Vo as sortStatuses,
5157
- Zo as sourceKey,
5172
+ zo as sortStatuses,
5173
+ Jo as sourceKey,
5158
5174
  zr as spreadOverWeights,
5159
- vl as statusIn,
5160
- mc as stepsOf,
5161
- Rc as strategyAncestorKeysFor,
5162
- Nc as strategyDossierKeys,
5175
+ Cl as statusIn,
5176
+ hc as stepsOf,
5177
+ Dc as strategyAncestorKeysFor,
5178
+ Rc as strategyDossierKeys,
5163
5179
  zt as strategyItemScopeKey,
5164
5180
  ln as stripHtml,
5165
5181
  _c as subjectKeyOf,
5166
5182
  Bt as subjectOf,
5167
- jl as subjectRef,
5168
- wl as suggestProjectKey,
5169
- Bc as suggestedHealth,
5170
- Ec as summarizeReactions,
5171
- ac as targetById,
5172
- sc as targetForActivityType,
5173
- Wc as targetOrder,
5174
- Ar as taxRateFor,
5183
+ Hl as subjectRef,
5184
+ kl as suggestProjectKey,
5185
+ jc as suggestedHealth,
5186
+ Sc as summarizeReactions,
5187
+ cc as targetById,
5188
+ ac as targetForActivityType,
5189
+ Vc as targetOrder,
5190
+ _r as taxRateFor,
5175
5191
  wr as termsFor,
5176
5192
  qr as toActingIdentity,
5177
- gt as toE164,
5178
- Gs as toolSourceKinds,
5193
+ ht as toE164,
5194
+ Ws as toolSourceKinds,
5179
5195
  Ro as topicOfferedForTeam,
5180
- tl as topicsForTeam,
5196
+ nl as topicsForTeam,
5181
5197
  Or as trafficIntensity,
5182
- il as transactionContext,
5183
- ul as transactionIdFromScope,
5198
+ sl as transactionContext,
5199
+ dl as transactionIdFromScope,
5184
5200
  ke as transactionKind,
5185
- cl as transactionScopeKey,
5186
- sl as transactionSlots,
5187
- Ka as transactionTotals,
5201
+ ll as transactionScopeKey,
5202
+ al as transactionSlots,
5203
+ Ua as transactionTotals,
5188
5204
  xo as truncateExample,
5189
- bl as typeIn,
5190
- yl as typesFor,
5191
- xl as uniqueWorkStatusKey,
5192
- qc as uniqueWorkTypeKey,
5205
+ Al as typeIn,
5206
+ bl as typesFor,
5207
+ Nl as uniqueWorkStatusKey,
5208
+ Qc as uniqueWorkTypeKey,
5193
5209
  In as usageMetricId,
5194
- Ps as usageMetrics,
5195
- Nl as validateStatuses,
5196
- ic as valueAtPath,
5210
+ Ks as usageMetrics,
5211
+ Rl as validateStatuses,
5212
+ sc as valueAtPath,
5197
5213
  ve as waitHoursOf,
5198
- Xs as wakesAssignment,
5199
- Sl as workActivityScopeKey,
5200
- Ho as workItemScopeKey,
5214
+ Ys as wakesAssignment,
5215
+ Il as workActivityScopeKey,
5216
+ Go as workItemScopeKey,
5201
5217
  Yt as workProjectScopeKey,
5202
- jc as workRatio,
5203
- zo as workStatusKey,
5218
+ Hc as workRatio,
5219
+ Xo as workStatusKey,
5204
5220
  Mo as workTypeKey,
5205
- Ae as workingMsBetween,
5206
- Ja as workstreamScopeKey
5221
+ _e as workingMsBetween,
5222
+ ec as workstreamScopeKey
5207
5223
  };