@opencxh/domain 1.255.0 → 1.256.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 hs = 10, gs = 10, ys = 10, bs = 5, ln = /* @__PURE__ */ new Set([
1
+ const gs = 10, ys = 10, bs = 10, _s = 5, ln = /* @__PURE__ */ new Set([
2
2
  "header",
3
3
  "section",
4
4
  "context",
@@ -14,7 +14,7 @@ function ae(e) {
14
14
  const t = e;
15
15
  return typeof t.key == "string" || typeof t.value == "string";
16
16
  }
17
- function _s(e, t = () => {
17
+ function As(e, t = () => {
18
18
  }) {
19
19
  if (!Array.isArray(e)) return [];
20
20
  const n = [];
@@ -361,6 +361,23 @@ const R = {
361
361
  snippet: () => "Playbook geëscaleerd naar een mens",
362
362
  timeline: () => "Playbook geëscaleerd naar een mens"
363
363
  },
364
+ AGENT_DELEGATED: {
365
+ shape: "event",
366
+ icon: "circle",
367
+ // The whole loop story. `isPlaybookAuthoredType` reads this flag, so these two markers never
368
+ // trigger a playbook and never wake an assignment - which is what lets them be written on the
369
+ // very timeline the agents are working on.
370
+ playbookAuthored: !0,
371
+ snippet: (e) => `${e.payload.fromAgentName} vroeg ${e.payload.toAgentName ?? "een collega"}${e.payload.ask ? `: ${e.payload.ask}` : ""}`,
372
+ timeline: (e) => `${e.payload.fromAgentName} schakelde ${e.payload.toAgentName ?? "een collega"} in`
373
+ },
374
+ AGENT_ANSWERED: {
375
+ shape: "event",
376
+ icon: "circle",
377
+ playbookAuthored: !0,
378
+ snippet: (e) => `${e.payload.fromAgentName} beantwoordde de deelvraag`,
379
+ timeline: (e) => `${e.payload.fromAgentName} beantwoordde de deelvraag`
380
+ },
364
381
  /* ---- meetings ---- */
365
382
  MEETING_SCHEDULED: {
366
383
  shape: "event",
@@ -467,7 +484,7 @@ function He(e) {
467
484
  function k(e) {
468
485
  return R[e];
469
486
  }
470
- function As(e) {
487
+ function Es(e) {
471
488
  return k(e)?.icon ?? "circle";
472
489
  }
473
490
  function Ss(e) {
@@ -476,31 +493,31 @@ function Ss(e) {
476
493
  function vt(e) {
477
494
  return e === "message" || e === "note";
478
495
  }
479
- function Es(e) {
496
+ function Ts(e) {
480
497
  return vt(k(e)?.shape);
481
498
  }
482
499
  function Mt(e) {
483
500
  return e === "note";
484
501
  }
485
- function Ts(e) {
502
+ function Is(e) {
486
503
  return Mt(k(e)?.shape);
487
504
  }
488
- function Is(e) {
505
+ function ks(e) {
489
506
  return k(e)?.replyable === !0;
490
507
  }
491
- function ks(e) {
508
+ function ws(e) {
492
509
  return k(e)?.carriesText === !0;
493
510
  }
494
511
  function mn(e) {
495
512
  return k(e)?.countsAs;
496
513
  }
497
- function ws(e) {
514
+ function vs(e) {
498
515
  return k(e)?.playbookAuthored === !0;
499
516
  }
500
- function vs(e) {
517
+ function Ms(e) {
501
518
  return k(e)?.connected === !0;
502
519
  }
503
- function Ms(e) {
520
+ function Cs(e) {
504
521
  const t = k(e);
505
522
  return t?.shape === "artifact" && t?.carriesText === !0;
506
523
  }
@@ -508,7 +525,7 @@ function hn(e) {
508
525
  const t = k(e.type)?.snippet;
509
526
  return t ? t(e) : "";
510
527
  }
511
- function Cs(e, t) {
528
+ function Ns(e, t) {
512
529
  const n = k(e.type)?.timeline;
513
530
  return n ? n(e, t) : e.type.replace(/_/g, " ").toLowerCase();
514
531
  }
@@ -576,7 +593,7 @@ function We(e) {
576
593
  displayNameKey: t.displayNameKey
577
594
  };
578
595
  }
579
- function Ve(e) {
596
+ function ze(e) {
580
597
  return {
581
598
  type: e.type,
582
599
  shape: e.shape,
@@ -601,11 +618,11 @@ class _n {
601
618
  get(t) {
602
619
  if (t in R) return We(t);
603
620
  const n = this.declared.get(t);
604
- return n ? Ve(n) : void 0;
621
+ return n ? ze(n) : void 0;
605
622
  }
606
623
  /** Everything that may be offered as a trigger, built-in and declared. */
607
624
  triggerable() {
608
- const t = Object.keys(R).filter((r) => R[r].triggerable).map(We), n = [...this.declared.values()].map(Ve).filter((r) => r.triggerable);
625
+ const t = Object.keys(R).filter((r) => R[r].triggerable).map(We), n = [...this.declared.values()].map(ze).filter((r) => r.triggerable);
609
626
  return [...t, ...n];
610
627
  }
611
628
  /**
@@ -681,8 +698,8 @@ class _n {
681
698
  return this.translate;
682
699
  }
683
700
  }
684
- const Ns = new _n();
685
- function Rs(e, t, n = []) {
701
+ const Rs = new _n();
702
+ function Ds(e, t, n = []) {
686
703
  const r = e.createdAt;
687
704
  if (!r) return [];
688
705
  const o = new Set(n);
@@ -691,10 +708,10 @@ function Rs(e, t, n = []) {
691
708
  function An(e) {
692
709
  return e.createdAt ?? 0;
693
710
  }
694
- function Ds(e) {
711
+ function $s(e) {
695
712
  return e.type === "EMAIL_RECEIVED" || e.type === "EMAIL_SENT";
696
713
  }
697
- function $s(e) {
714
+ function Ls(e) {
698
715
  return e.type === "CHAT_MESSAGE_SENT" || e.type === "CHAT_MESSAGE_RECEIVED";
699
716
  }
700
717
  const Ct = [
@@ -790,42 +807,42 @@ const Ct = [
790
807
  function oe(e) {
791
808
  return Ct.find((t) => t.id === e);
792
809
  }
793
- function Ls(e) {
810
+ function Ps(e) {
794
811
  return oe(e)?.label ?? e;
795
812
  }
796
- function Ps(e, t = "gpt-5-mini") {
813
+ function Ks(e, t = "gpt-5-mini") {
797
814
  return oe(e)?.defaultModel ?? t;
798
815
  }
799
- function Ks(e) {
816
+ function Us(e) {
800
817
  return Ct.filter((t) => t.capabilities.includes(e));
801
818
  }
802
- function Us(e) {
819
+ function Fs(e) {
803
820
  const t = oe(e);
804
821
  return !!t && !t.baseUrl;
805
822
  }
806
- function Fs(e, t) {
823
+ function Bs(e, t) {
807
824
  return t === "text" ? !0 : oe(e)?.attachmentKinds?.includes(t) === !0;
808
825
  }
809
- function Bs(e, t) {
826
+ function js(e, t) {
810
827
  if (!e.enabled) return "ok";
811
- const n = ze(e.hardLimitNanos), r = ze(e.softLimitNanos);
828
+ const n = Ve(e.hardLimitNanos), r = Ve(e.softLimitNanos);
812
829
  return n !== void 0 && t >= n ? "hard" : r !== void 0 && t >= r ? "soft" : "ok";
813
830
  }
814
- function ze(e) {
831
+ function Ve(e) {
815
832
  return typeof e == "number" ? e : void 0;
816
833
  }
817
- function Sn(e, t = "month") {
834
+ function En(e, t = "month") {
818
835
  const n = new Date(e);
819
836
  return Date.UTC(n.getUTCFullYear(), n.getUTCMonth(), 1);
820
837
  }
821
- function js(e, t = "month") {
822
- const n = new Date(Sn(e, t));
838
+ function Hs(e, t = "month") {
839
+ const n = new Date(En(e, t));
823
840
  return `${n.getUTCFullYear()}-${String(n.getUTCMonth() + 1).padStart(2, "0")}`;
824
841
  }
825
- function Hs(e) {
842
+ function Gs(e) {
826
843
  return e?.listeningEnabled !== !1;
827
844
  }
828
- const Gs = [
845
+ const Ws = [
829
846
  { id: "agent", label: "Agent", labelSource: "user" },
830
847
  { id: "team", label: "Team", labelSource: "team" },
831
848
  { id: "inbox", label: "Inbox", labelSource: "inbox" },
@@ -846,9 +863,9 @@ function W(e, t) {
846
863
  const n = new Date(e);
847
864
  return n.setUTCMinutes(0, 0, 0), t === "day" && n.setUTCHours(0), n.getTime();
848
865
  }
849
- const En = 36e5, Tn = 864e5;
850
- function Ws(e, t, n) {
851
- const r = n === "hour" ? En : Tn, o = [];
866
+ const Sn = 36e5, Tn = 864e5;
867
+ function zs(e, t, n) {
868
+ const r = n === "hour" ? Sn : Tn, o = [];
852
869
  for (let i = W(e, n); i <= t; i += r)
853
870
  o.push(G(i, n));
854
871
  return o;
@@ -863,11 +880,11 @@ function Vs(e, t, n) {
863
880
  options: o.options?.length ? o.options : n[o.id] ?? []
864
881
  })).filter((o) => o.options.length > 0);
865
882
  }
866
- function zs(e, t) {
883
+ function Xs(e, t) {
867
884
  const n = t.find((o) => o.id === e.dimensionId), r = n?.options.find((o) => o.value === e.value);
868
885
  return `${n?.label ?? e.dimensionId} · ${r?.label ?? e.value}`;
869
886
  }
870
- function Xs(e) {
887
+ function Ys(e) {
871
888
  return { value: e.id, label: `${e.category} · ${e.label}` };
872
889
  }
873
890
  const kn = [
@@ -877,7 +894,7 @@ const kn = [
877
894
  function vn(e, t) {
878
895
  return `${e}.usage.${t}`;
879
896
  }
880
- function Ys(e, t) {
897
+ function qs(e, t) {
881
898
  return t.map((n) => ({
882
899
  id: vn(e, n.unit),
883
900
  label: n.label,
@@ -892,7 +909,7 @@ function Ys(e, t) {
892
909
  ]
893
910
  }));
894
911
  }
895
- const Ot = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), Xe = 200, Ye = 100, qe = 200, Qe = 12, Ze = 4, Je = 10, Mn = 8, et = 12, xt = 4e3, Z = 500, qs = 1024 * 1024, Cn = /* @__PURE__ */ new Set([
912
+ const Nt = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), Xe = 200, Ye = 100, qe = 200, Qe = 12, Ze = 4, Je = 10, Mn = 8, et = 12, Ot = 4e3, Z = 500, Qs = 1024 * 1024, Cn = /* @__PURE__ */ new Set([
896
913
  "heading",
897
914
  "paragraph",
898
915
  "list",
@@ -906,14 +923,14 @@ const Ot = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]
906
923
  "letterhead",
907
924
  "totals",
908
925
  "pagebreak"
909
- ]), On = ["http:", "https:", "mailto:", "tel:"], xn = /^[a-z][a-z0-9+.-]*:/i;
910
- function xe(e) {
926
+ ]), Nn = ["http:", "https:", "mailto:", "tel:"], On = /^[a-z][a-z0-9+.-]*:/i;
927
+ function Oe(e) {
911
928
  const t = e.trim().replace(/^<|>$/g, "");
912
929
  if (!t) return !1;
913
- const n = xn.exec(t)?.[0];
914
- return n ? On.includes(n.toLowerCase()) : !t.startsWith("//");
930
+ const n = On.exec(t)?.[0];
931
+ return n ? Nn.includes(n.toLowerCase()) : !t.startsWith("//");
915
932
  }
916
- const Nn = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
933
+ const xn = /^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;
917
934
  function Rn(e) {
918
935
  let t = "", n = 0;
919
936
  for (; n < e.length; ) {
@@ -933,7 +950,7 @@ function Rn(e) {
933
950
  continue;
934
951
  }
935
952
  const a = e.slice(o, i), u = e.slice(i + 2, s).trim().split(/\s+/)[0] ?? "";
936
- t += r || !xe(u) ? a : e.slice(n, s + 1), n = s + 1;
953
+ t += r || !Oe(u) ? a : e.slice(n, s + 1), n = s + 1;
937
954
  }
938
955
  return t;
939
956
  }
@@ -952,23 +969,23 @@ function tt(e, t, n, r) {
952
969
  }
953
970
  function Dn(e) {
954
971
  return Rn(e).replace(
955
- Nn,
956
- (t, n, r) => xe(r) ? t : ""
972
+ xn,
973
+ (t, n, r) => Oe(r) ? t : ""
957
974
  );
958
975
  }
959
- function I(e, t = xt) {
976
+ function I(e, t = Ot) {
960
977
  return typeof e == "string" ? Dn(e).slice(0, t) : "";
961
978
  }
962
- function $n(e, t = xt) {
979
+ function $n(e, t = Ot) {
963
980
  return typeof e == "string" ? e.slice(0, t) : "";
964
981
  }
965
982
  function B(e, t = 200) {
966
983
  return I(e, t);
967
984
  }
968
985
  function Ln(e, t = "info") {
969
- return typeof e == "string" && Ot.has(e) ? e : t;
986
+ return typeof e == "string" && Nt.has(e) ? e : t;
970
987
  }
971
- function Qs(e, t = () => {
988
+ function Zs(e, t = () => {
972
989
  }) {
973
990
  if (!Array.isArray(e)) return [];
974
991
  const n = [];
@@ -1090,7 +1107,7 @@ function Qs(e, t = () => {
1090
1107
  if (!l || !d) continue;
1091
1108
  const c = u?.tone;
1092
1109
  a.push(
1093
- typeof c == "string" && Ot.has(c) ? { value: l, label: d, tone: c } : { value: l, label: d }
1110
+ typeof c == "string" && Nt.has(c) ? { value: l, label: d, tone: c } : { value: l, label: d }
1094
1111
  );
1095
1112
  }
1096
1113
  if (a.length === 0) {
@@ -1102,7 +1119,7 @@ function Qs(e, t = () => {
1102
1119
  }
1103
1120
  case "image": {
1104
1121
  const s = typeof o.url == "string" ? o.url.trim() : "";
1105
- if (!s || !xe(s)) {
1122
+ if (!s || !Oe(s)) {
1106
1123
  t("an image without a usable url");
1107
1124
  continue;
1108
1125
  }
@@ -1187,10 +1204,10 @@ function Qs(e, t = () => {
1187
1204
  }
1188
1205
  return n;
1189
1206
  }
1190
- function Zs(e) {
1207
+ function Js(e) {
1191
1208
  return JSON.stringify(e).length;
1192
1209
  }
1193
- function Js(e) {
1210
+ function ea(e) {
1194
1211
  return {
1195
1212
  blocks: e.length,
1196
1213
  types: e.map((t) => t.type),
@@ -1277,45 +1294,45 @@ function Kn(e, t) {
1277
1294
  `)}
1278
1295
  `;
1279
1296
  }
1280
- const Nt = (e) => `user:${e}`, Rt = (e) => `team:${e}`;
1281
- function ea(e) {
1297
+ const xt = (e) => `user:${e}`, Rt = (e) => `team:${e}`;
1298
+ function ta(e) {
1282
1299
  const t = /* @__PURE__ */ new Set();
1283
1300
  for (const n of e ?? [])
1284
- n?.id && (n.kind === "user" && t.add(Nt(n.id)), n.kind === "team" && t.add(Rt(n.id)));
1301
+ n?.id && (n.kind === "user" && t.add(xt(n.id)), n.kind === "team" && t.add(Rt(n.id)));
1285
1302
  return [...t].sort();
1286
1303
  }
1287
- function ta(e, t) {
1288
- return [Nt(e), ...t.map(Rt)];
1304
+ function na(e, t) {
1305
+ return [xt(e), ...t.map(Rt)];
1289
1306
  }
1290
- function na(e) {
1307
+ function ra(e) {
1291
1308
  const t = /* @__PURE__ */ new Set();
1292
1309
  for (const n of e ?? [])
1293
1310
  n?.kind && t.add(n.kind);
1294
1311
  return [...t];
1295
1312
  }
1296
- const Un = ["done", "escalated"], ra = ["open", "waiting"];
1297
- function oa(e) {
1313
+ const Un = ["done", "escalated"], oa = ["open", "waiting"];
1314
+ function ia(e) {
1298
1315
  return Un.includes(e);
1299
1316
  }
1300
1317
  const Fn = "assignment";
1301
- function ia(e) {
1318
+ function sa(e) {
1302
1319
  return `${Fn}:${e}`;
1303
1320
  }
1304
- function sa(e, t, n, r) {
1321
+ function aa(e, t, n, r) {
1305
1322
  if (e.direction === "inbound") return !0;
1306
1323
  if (e.author?.type === "user" && e.author.id === t) return !1;
1307
1324
  const o = e.payload?.mentions;
1308
1325
  return Array.isArray(o) && o.includes(t) || r && r === t ? !0 : n === "reply";
1309
1326
  }
1310
- function aa(e) {
1327
+ function ca(e) {
1311
1328
  const { targetAuthorId: t, reactorId: n, agentId: r, on: o } = e;
1312
1329
  return !o || !t || t !== r ? !1 : n !== r;
1313
1330
  }
1314
- function ca(e) {
1331
+ function la(e) {
1315
1332
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
1316
1333
  }
1317
1334
  const Bn = 12;
1318
- function la(e, t, n = Bn) {
1335
+ function ua(e, t, n = Bn) {
1319
1336
  const r = t + 1;
1320
1337
  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
1338
  status: "escalated",
@@ -1329,30 +1346,42 @@ function la(e, t, n = Bn) {
1329
1346
  reason: "de agent rondde zijn beurt af zonder te zeggen wat er moet gebeuren (wachten, afronden of overdragen)"
1330
1347
  };
1331
1348
  }
1332
- const ua = "organization.business-entities.list";
1333
- function da(e, t, n) {
1349
+ const jn = 2;
1350
+ function da(e, t, n, r) {
1351
+ if (t === n)
1352
+ return "een agent schakelt zichzelf niet in";
1353
+ if (!r?.includes(t))
1354
+ return "deze agent staat niet in de lijst die je mag inschakelen";
1355
+ const o = e ?? [];
1356
+ if (o.includes(t))
1357
+ return "die agent zit al in deze keten; dat zou een kringetje worden";
1358
+ const i = Math.max(0, o.length - 1);
1359
+ return i >= jn ? `er zijn al ${i} agents ingeschakeld voor deze vraag; dieper delegeren mag niet` : null;
1360
+ }
1361
+ const pa = "organization.business-entities.list";
1362
+ function fa(e, t, n) {
1334
1363
  return e ? e === t : n;
1335
1364
  }
1336
- function jn(e) {
1365
+ function Hn(e) {
1337
1366
  const t = e.trim().replace(/[\s-]/g, "");
1338
1367
  if (!/^\d+$/.test(t) || ![8, 12, 13, 14].includes(t.length)) return;
1339
1368
  const n = t.padStart(14, "0");
1340
- return Hn(n.slice(0, 13)) === Number(n[13]) ? n : void 0;
1369
+ return Gn(n.slice(0, 13)) === Number(n[13]) ? n : void 0;
1341
1370
  }
1342
- function Hn(e) {
1371
+ function Gn(e) {
1343
1372
  let t = 0;
1344
1373
  for (let n = 0; n < e.length; n++)
1345
1374
  t += Number(e[n]) * (n % 2 === 0 ? 3 : 1);
1346
1375
  return (10 - t % 10) % 10;
1347
1376
  }
1348
- function pa(e, t) {
1349
- const n = t.trim(), r = jn(n), o = [{ sku: n }, { barcodes: { $in: [n] } }];
1377
+ function ma(e, t) {
1378
+ const n = t.trim(), r = Hn(n), o = [{ sku: n }, { barcodes: { $in: [n] } }];
1350
1379
  return r && o.push({ gtin: r }), { organizationId: e, $or: o };
1351
1380
  }
1352
- function V(e) {
1381
+ function z(e) {
1353
1382
  return e < 0 ? -Math.round(-e) : Math.round(e);
1354
1383
  }
1355
- function Gn(e, t) {
1384
+ function Wn(e, t) {
1356
1385
  if (t.length === 0) return [];
1357
1386
  const n = t.reduce((u, l) => u + l, 0);
1358
1387
  if (n === 0) return t.map((u, l) => l === 0 ? e : 0);
@@ -1370,23 +1399,23 @@ function D(e, t = {}) {
1370
1399
  l > 0 && (s.length - l) % 3 === 0 && (u += r), u += s[l];
1371
1400
  return `${o ? "-" : ""}${u}${n}${a}`;
1372
1401
  }
1373
- function fa(e) {
1402
+ function ha(e) {
1374
1403
  const t = e.trim().replace(/[\s ]/g, "");
1375
1404
  if (!t) return;
1376
1405
  const n = t.replace(/^[-+]?[^\d.,-]*/, "").replace(/[^\d.,-]+$/, ""), r = /^-/.test(t) || /-$/.test(t), o = n.replace(/-/g, "");
1377
1406
  if (!o || !/^[\d.,]+$/.test(o)) return;
1378
1407
  const i = o.lastIndexOf(","), s = o.lastIndexOf("."), a = Math.max(i, s), u = a === -1 ? "" : o.slice(a + 1), l = a !== -1 && u.length >= 1 && u.length <= 2, d = l ? o.slice(0, a) : o;
1379
- if (!Wn(d)) return;
1408
+ if (!zn(d)) return;
1380
1409
  const c = d.replace(/[.,]/g, ""), p = l ? u.padEnd(2, "0") : "00";
1381
1410
  if (c === "") return;
1382
1411
  const f = Number(c) * 100 + Number(p);
1383
1412
  return r ? -f : f;
1384
1413
  }
1385
- function Wn(e) {
1414
+ function zn(e) {
1386
1415
  return /^\d+$/.test(e) ? !0 : e.includes(".") && e.includes(",") ? !1 : /^\d{1,3}([.,]\d{3})*$/.test(e);
1387
1416
  }
1388
- function ma(e) {
1389
- return e.costPriceCents == null ? e.netCents : e.netCents - V(e.costPriceCents * e.quantity);
1417
+ function ga(e) {
1418
+ return e.costPriceCents == null ? e.netCents : e.netCents - z(e.costPriceCents * e.quantity);
1390
1419
  }
1391
1420
  const Vn = [
1392
1421
  {
@@ -1410,7 +1439,7 @@ const Vn = [
1410
1439
  matches: (e, t) => !e.contractId && !e.companyId && !!e.segmentKey && e.segmentKey === t.segmentKey && !!e.categoryKey
1411
1440
  }
1412
1441
  ];
1413
- function ha(e, t, n) {
1442
+ function ya(e, t, n) {
1414
1443
  const r = n.filter(
1415
1444
  (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)
1416
1445
  );
@@ -1421,29 +1450,29 @@ function ha(e, t, n) {
1421
1450
  (a, u) => (u.minQuantity ?? 0) >= (a.minQuantity ?? 0) ? u : a
1422
1451
  );
1423
1452
  return {
1424
- unitPriceCents: zn(s, e.listPriceCents),
1453
+ unitPriceCents: Xn(s, e.listPriceCents),
1425
1454
  sourceKey: (s.minQuantity ?? 0) > 1 ? "tier" : o.key,
1426
1455
  ruleId: s.id
1427
1456
  };
1428
1457
  }
1429
1458
  return { unitPriceCents: e.listPriceCents, sourceKey: "list" };
1430
1459
  }
1431
- function zn(e, t) {
1432
- return e.unitPriceCents != null ? e.unitPriceCents : e.discountPercent != null ? V(t * (1 - e.discountPercent / 100)) : t;
1433
- }
1434
- const ga = ["piece", "hour", "day", "month", "km", "license"], ya = /* @__PURE__ */ new Set(["mail", "message"]);
1435
1460
  function Xn(e, t) {
1461
+ return e.unitPriceCents != null ? e.unitPriceCents : e.discountPercent != null ? z(t * (1 - e.discountPercent / 100)) : t;
1462
+ }
1463
+ const ba = ["piece", "hour", "day", "month", "km", "license"], _a = /* @__PURE__ */ new Set(["mail", "message"]);
1464
+ function Yn(e, t) {
1436
1465
  const n = e.settings?.signatures?.[t];
1437
1466
  return !n?.enabled || !n.body || n.body.trim() === "" ? null : n;
1438
1467
  }
1439
- function ba(e, t, n, r = "html") {
1468
+ function Aa(e, t, n, r = "html") {
1440
1469
  if (!e) return n;
1441
- const o = Xn(e, t);
1470
+ const o = Yn(e, t);
1442
1471
  return o ? `${n}${r === "text" ? `
1443
1472
 
1444
1473
  ` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${o.body}` : n;
1445
1474
  }
1446
- function _a(e) {
1475
+ function Ea(e) {
1447
1476
  return e.endpoints ?? [];
1448
1477
  }
1449
1478
  function $(e) {
@@ -1451,17 +1480,17 @@ function $(e) {
1451
1480
  if (t)
1452
1481
  return t.split(/[-_]/)[0] || void 0;
1453
1482
  }
1454
- function Aa(e) {
1483
+ function Sa(e) {
1455
1484
  return $(e.contactLocale) ?? $(e.companyLocale) ?? $(e.organizationLocale);
1456
1485
  }
1457
- function Sa(e, t, n, r) {
1486
+ function Ta(e, t, n, r) {
1458
1487
  const o = e.filter((a) => a.key === t && !a.archived);
1459
1488
  if (o.length === 0) return;
1460
1489
  const i = $(n), s = $(r);
1461
1490
  return o.find((a) => $(a.locale) === i) ?? o.find((a) => $(a.locale) === s) ?? // A row with no language at all is the single-language case: it is for everybody.
1462
1491
  o.find((a) => !a.locale) ?? o[0];
1463
1492
  }
1464
- const Yn = /\{([a-zA-Z0-9_.]+)\}/g;
1493
+ const qn = /\{([a-zA-Z0-9_.]+)\}/g;
1465
1494
  function Dt(e, t) {
1466
1495
  let n = e;
1467
1496
  for (const r of t.split(".")) {
@@ -1470,17 +1499,17 @@ function Dt(e, t) {
1470
1499
  }
1471
1500
  return n;
1472
1501
  }
1473
- function qn(e) {
1502
+ function Qn(e) {
1474
1503
  return typeof e == "string" ? e : typeof e == "number" || typeof e == "boolean" ? String(e) : "";
1475
1504
  }
1476
- function Qn(e, t, n) {
1505
+ function Zn(e, t, n) {
1477
1506
  const r = [];
1478
- return { text: e.replace(Yn, (i, s) => {
1507
+ return { text: e.replace(qn, (i, s) => {
1479
1508
  const a = Dt(t, s);
1480
- return a == null || a === "" ? (r.includes(s) || r.push(s), n ?? `{${s}}`) : qn(a);
1509
+ return a == null || a === "" ? (r.includes(s) || r.push(s), n ?? `{${s}}`) : Qn(a);
1481
1510
  }), unresolved: r };
1482
1511
  }
1483
- function Zn(e, t) {
1512
+ function Jn(e, t) {
1484
1513
  if (!e) return !0;
1485
1514
  const n = Dt(t, e.key);
1486
1515
  if (e.exists !== void 0) {
@@ -1489,14 +1518,14 @@ function Zn(e, t) {
1489
1518
  }
1490
1519
  return e.equals !== void 0 ? n === e.equals : !0;
1491
1520
  }
1492
- function Ea(e, t, n, r, o) {
1521
+ function Ia(e, t, n, r, o) {
1493
1522
  const i = [], s = [], a = /* @__PURE__ */ new Set(), u = (l) => {
1494
- const d = Qn(l, t, o);
1523
+ const d = Zn(l, t, o);
1495
1524
  for (const c of d.unresolved) i.includes(c) || i.push(c);
1496
1525
  return d.text;
1497
1526
  };
1498
1527
  for (const l of e) {
1499
- if (l.block_id && !Zn(n?.[l.block_id], t)) continue;
1528
+ if (l.block_id && !Jn(n?.[l.block_id], t)) continue;
1500
1529
  const d = l.block_id ? r?.[l.block_id] : void 0;
1501
1530
  if (d && l.block_id) {
1502
1531
  a.add(l.block_id), s.push(...d);
@@ -1586,7 +1615,7 @@ function Ea(e, t, n, r, o) {
1586
1615
  unusedSlots: Object.keys(r ?? {}).filter((l) => !a.has(l))
1587
1616
  };
1588
1617
  }
1589
- function Jn(e) {
1618
+ function er(e) {
1590
1619
  const t = e?.address, n = [t?.street, t?.houseNumber].filter(Boolean).join(" "), r = [t?.postalCode, t?.city].filter(Boolean).join(" ");
1591
1620
  return {
1592
1621
  name: e?.name ?? "",
@@ -1600,8 +1629,8 @@ function Jn(e) {
1600
1629
  ...e?.logo ? { logo: e.logo } : {}
1601
1630
  };
1602
1631
  }
1603
- function Ta(e) {
1604
- return Jn({
1632
+ function ka(e) {
1633
+ return er({
1605
1634
  name: e?.billing?.companyName || e?.name || e?.displayName || "",
1606
1635
  address: e?.address,
1607
1636
  kvkNumber: e?.billing?.kvkNumber,
@@ -1611,24 +1640,24 @@ function Ta(e) {
1611
1640
  logo: e?.logo
1612
1641
  });
1613
1642
  }
1614
- const er = 36e5, tr = 864e5, L = -1 / 0, Ia = (e) => e.score > L, te = {
1643
+ const tr = 36e5, nr = 864e5, L = -1 / 0, wa = (e) => e.score > L, te = {
1615
1644
  urgent: 40,
1616
1645
  high: 25,
1617
1646
  normal: 10,
1618
1647
  low: 0
1619
1648
  };
1620
- function ka(e) {
1649
+ function va(e) {
1621
1650
  return Object.fromEntries(e.map((t) => [t.resourceId, t]));
1622
1651
  }
1623
- const nr = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, $t = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
1624
- function rr(e, t) {
1625
- return !!(e && nr.test(e) || t && $t.test(t));
1652
+ const rr = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, $t = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
1653
+ function or(e, t) {
1654
+ return !!(e && rr.test(e) || t && $t.test(t));
1626
1655
  }
1627
- const or = 3, ir = 600;
1628
- function wa(e, t) {
1629
- return e >= or || t >= ir;
1656
+ const ir = 3, sr = 600;
1657
+ function Ma(e, t) {
1658
+ return e >= ir || t >= sr;
1630
1659
  }
1631
- const sr = [
1660
+ const ar = [
1632
1661
  "list-unsubscribe",
1633
1662
  "list-unsubscribe-post",
1634
1663
  "list-id",
@@ -1638,89 +1667,89 @@ const sr = [
1638
1667
  "feedback-id",
1639
1668
  "x-mailer"
1640
1669
  ];
1641
- function va(e) {
1670
+ function Ca(e) {
1642
1671
  const t = {};
1643
1672
  for (const n of e) {
1644
1673
  const r = n.name?.toLowerCase();
1645
- r && n.value !== void 0 && sr.includes(r) && (t[r] = n.value);
1674
+ r && n.value !== void 0 && ar.includes(r) && (t[r] = n.value);
1646
1675
  }
1647
1676
  return t;
1648
1677
  }
1649
- const ar = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i, cr = /(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;
1650
- function Ma(e) {
1678
+ const cr = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i, lr = /(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;
1679
+ function Na(e) {
1651
1680
  const t = e.headers ?? {}, n = e.from?.email, r = t["auto-submitted"]?.toLowerCase();
1652
- if (r && r !== "no" || t["x-auto-response-suppress"] || n && ar.test(n))
1681
+ if (r && r !== "no" || t["x-auto-response-suppress"] || n && cr.test(n))
1653
1682
  return "automated";
1654
1683
  const o = t.precedence?.toLowerCase();
1655
- if (t["list-unsubscribe"] || t["list-unsubscribe-post"] || t["list-id"] || o === "bulk" || o === "list" || e.body && $t.test(e.body) || n && cr.test(n))
1684
+ if (t["list-unsubscribe"] || t["list-unsubscribe-post"] || t["list-id"] || o === "bulk" || o === "list" || e.body && $t.test(e.body) || n && lr.test(n))
1656
1685
  return "marketing";
1657
1686
  }
1658
- function lr(e, t) {
1687
+ function ur(e, t) {
1659
1688
  return e.lastActivityAt ? !(e.seenBy ?? []).includes(t) : !1;
1660
1689
  }
1661
- const ur = ["open"], dr = 1e3, pr = {
1690
+ const dr = ["open"], pr = 1e3, fr = {
1662
1691
  urgent: 1,
1663
1692
  high: 4,
1664
1693
  normal: 8,
1665
1694
  low: 24
1666
- }, fr = 72;
1667
- function mr(e) {
1695
+ }, mr = 72;
1696
+ function hr(e) {
1668
1697
  return e.lastActivityAt ?? (e.createdAt ? new Date(An(e)).getTime() : 0);
1669
1698
  }
1670
- function hr(e, t) {
1671
- return gr(t.remindersById?.[e.id], e, t.now);
1699
+ function gr(e, t) {
1700
+ return yr(t.remindersById?.[e.id], e, t.now);
1672
1701
  }
1673
- function gr(e, t, n) {
1702
+ function yr(e, t, n) {
1674
1703
  return !e || e.remindAt <= n ? !1 : !((t.lastActivityAt ?? 0) > e.parkedAt && t.lastActivityPreview?.direction === "inbound");
1675
1704
  }
1676
- const Lt = (e) => mn(e) === "outbound_message", Pt = (e) => ur.includes(e);
1677
- function Ne(e, t) {
1678
- return Math.max(0, (t - mr(e)) / er);
1705
+ const Lt = (e) => mn(e) === "outbound_message", Pt = (e) => dr.includes(e);
1706
+ function xe(e, t) {
1707
+ return Math.max(0, (t - hr(e)) / tr);
1679
1708
  }
1680
- function yr(e, t) {
1709
+ function br(e, t) {
1681
1710
  const n = e.assignedInboxId ? t?.[e.assignedInboxId] : void 0;
1682
- return typeof n == "number" && n > 0 ? n : pr[e.priority ?? "normal"];
1711
+ return typeof n == "number" && n > 0 ? n : fr[e.priority ?? "normal"];
1683
1712
  }
1684
- function Ca(e) {
1713
+ function Oa(e) {
1685
1714
  const t = {};
1686
1715
  for (const n of e)
1687
1716
  typeof n.slaHours == "number" && n.slaHours > 0 && (t[n.id] = n.slaHours);
1688
1717
  return t;
1689
1718
  }
1690
- function Oa(e, t, n) {
1691
- return !Pt(e.status) || e.firstResponseAt ? !1 : Ne(e, t) > yr(e, n);
1719
+ function xa(e, t, n) {
1720
+ return !Pt(e.status) || e.firstResponseAt ? !1 : xe(e, t) > br(e, n);
1692
1721
  }
1693
- function br(e, t) {
1722
+ function _r(e, t) {
1694
1723
  const n = e.lastActivityPreview;
1695
- return n?.direction !== "outbound" || !Lt(n.type) ? !1 : Ne(e, t) < fr;
1724
+ return n?.direction !== "outbound" || !Lt(n.type) ? !1 : xe(e, t) < mr;
1696
1725
  }
1697
- function xa(e, t) {
1726
+ function Ra(e, t) {
1698
1727
  if (!Pt(e.status)) return { score: L, reasons: [] };
1699
1728
  if (e.snoozedTill && e.snoozedTill > t.now) return { score: L, reasons: [] };
1700
- if (br(e, t.now)) return { score: L, reasons: [] };
1701
- if (hr(e, t)) return { score: L, reasons: [] };
1729
+ if (_r(e, t.now)) return { score: L, reasons: [] };
1730
+ if (gr(e, t)) return { score: L, reasons: [] };
1702
1731
  let n = 0;
1703
1732
  const r = [], o = e.priority ?? "normal";
1704
- te[o] > 0 && (n += te[o], r.push(`priority:${o}`)), lr(e, t.userId) && (n += 20, r.push("unseen")), e.assignedUserId && e.assignedUserId === t.userId && (n += 15, r.push("assigned-to-you"));
1705
- const i = Ne(e, t.now);
1733
+ te[o] > 0 && (n += te[o], r.push(`priority:${o}`)), ur(e, t.userId) && (n += 20, r.push("unseen")), e.assignedUserId && e.assignedUserId === t.userId && (n += 15, r.push("assigned-to-you"));
1734
+ const i = xe(e, t.now);
1706
1735
  if (i > 0) {
1707
1736
  const u = Math.min(i * 2, 30);
1708
1737
  n += u, i >= 1 && r.push(`waiting:${Math.round(i)}h`);
1709
1738
  }
1710
1739
  const s = e.lastActivityPreview;
1711
- return s?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), s?.direction === "outbound" && Lt(s.type) && (n += 10, r.push("no-reply")), !e.firstResponseAt && e.lastActivityPreview?.direction === "inbound" && (n += 10, r.push("awaiting-reply")), (e.tags?.some((u) => u === "marketing" || u === "automated") || rr(e.remoteParty?.resource, e.lastActivityPreview?.snippet)) && (n -= dr, r.push("bulk")), { score: n, reasons: r };
1740
+ return s?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), s?.direction === "outbound" && Lt(s.type) && (n += 10, r.push("no-reply")), !e.firstResponseAt && e.lastActivityPreview?.direction === "inbound" && (n += 10, r.push("awaiting-reply")), (e.tags?.some((u) => u === "marketing" || u === "automated") || or(e.remoteParty?.resource, e.lastActivityPreview?.snippet)) && (n -= pr, r.push("bulk")), { score: n, reasons: r };
1712
1741
  }
1713
- const Na = (e) => !!e.assignedUserId || !!e.assignedInboxId, Ra = (e) => e.status === "closed", Da = (e) => ({
1742
+ const Da = (e) => !!e.assignedUserId || !!e.assignedInboxId, $a = (e) => e.status === "closed", La = (e) => ({
1714
1743
  urgent: 10,
1715
1744
  high: 5,
1716
1745
  normal: 2,
1717
1746
  low: 1
1718
- })[e.priority] || 0, $a = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1719
- function La(e, t) {
1747
+ })[e.priority] || 0, Pa = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1748
+ function Ka(e, t) {
1720
1749
  const n = e.labels ?? [];
1721
1750
  return n.find((r) => r.locale === t)?.label ?? n[0]?.label ?? e.url;
1722
1751
  }
1723
- function Pa(e, t, n) {
1752
+ function Ua(e, t, n) {
1724
1753
  const r = e.translations ?? [];
1725
1754
  return r.find((o) => o.locale === t) ?? (n ? r.find((o) => o.locale === n) : void 0) ?? { locale: t };
1726
1755
  }
@@ -1743,15 +1772,15 @@ function Kt(e) {
1743
1772
  const t = (e ?? "").toLowerCase();
1744
1773
  return rt.find((n) => n.code === t) ?? rt.find((n) => n.code === t.split("-")[0]);
1745
1774
  }
1746
- function Ka(e) {
1775
+ function Fa(e) {
1747
1776
  return Kt(e)?.label ?? e;
1748
1777
  }
1749
- function Ua(e) {
1778
+ function Ba(e) {
1750
1779
  const t = Kt(e);
1751
1780
  return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
1752
1781
  }
1753
1782
  const Ut = 3;
1754
- function _r(e, t) {
1783
+ function Ar(e, t) {
1755
1784
  const n = /* @__PURE__ */ new Set();
1756
1785
  let r = 1, o = t.get(e)?.parentId;
1757
1786
  for (; o; ) {
@@ -1760,15 +1789,15 @@ function _r(e, t) {
1760
1789
  }
1761
1790
  return r;
1762
1791
  }
1763
- function Fa(e, t, n) {
1792
+ function ja(e, t, n) {
1764
1793
  if (!e) return !0;
1765
1794
  if (e === t) return !1;
1766
1795
  const r = new Map(n.map((s) => [s.id, s]));
1767
- if (!r.has(e) || t && Ar(e, t, r)) return !1;
1768
- const o = _r(e, r), i = t ? Ft(t, n) : 1;
1796
+ if (!r.has(e) || t && Er(e, t, r)) return !1;
1797
+ const o = Ar(e, r), i = t ? Ft(t, n) : 1;
1769
1798
  return o + i <= Ut;
1770
1799
  }
1771
- function Ar(e, t, n) {
1800
+ function Er(e, t, n) {
1772
1801
  const r = /* @__PURE__ */ new Set();
1773
1802
  let o = n.get(e)?.parentId;
1774
1803
  for (; o; ) {
@@ -1785,16 +1814,16 @@ function Ft(e, t, n = /* @__PURE__ */ new Set()) {
1785
1814
  return r.length ? 1 + Math.max(...r.map((o) => Ft(o.id, t, n))) : 1;
1786
1815
  }
1787
1816
  const Sr = "en";
1788
- function Er(e) {
1817
+ function Tr(e) {
1789
1818
  return e.defaultLocale || e.locale || Sr;
1790
1819
  }
1791
- function Ba(e) {
1820
+ function Ha(e) {
1792
1821
  const t = /* @__PURE__ */ new Set(), n = [];
1793
- for (const r of [Er(e), ...e.locales ?? []])
1822
+ for (const r of [Tr(e), ...e.locales ?? []])
1794
1823
  !r || t.has(r) || (t.add(r), n.push(r));
1795
1824
  return n;
1796
1825
  }
1797
- function ja(e, t, n) {
1826
+ function Ga(e, t, n) {
1798
1827
  const r = e.translations ?? [];
1799
1828
  return r.find((o) => o.locale === t)?.name ?? (n ? r.find((o) => o.locale === n)?.name : void 0) ?? e.name;
1800
1829
  }
@@ -1819,7 +1848,7 @@ function de(e) {
1819
1848
  }
1820
1849
  return null;
1821
1850
  }
1822
- function Tr(e, t) {
1851
+ function Ir(e, t) {
1823
1852
  switch (e.kind) {
1824
1853
  case "org":
1825
1854
  return !0;
@@ -1829,29 +1858,29 @@ function Tr(e, t) {
1829
1858
  return e.userId === t.userId;
1830
1859
  }
1831
1860
  }
1832
- function Ha(e, t) {
1833
- return e.filter((n) => n.enabled && Tr(n.ownerScope, t));
1861
+ function Wa(e, t) {
1862
+ return e.filter((n) => n.enabled && Ir(n.ownerScope, t));
1834
1863
  }
1835
- function Ga(e) {
1864
+ function za(e) {
1836
1865
  return e.credentialScope ? e.credentialScope : (e.authMode ?? "header") === "header" || e.oauth?.scope === "org" ? "shared" : "per-user";
1837
1866
  }
1838
- function Wa(e) {
1867
+ function Va(e) {
1839
1868
  return `mcp__${e}__`;
1840
1869
  }
1841
- const Va = 1e3, za = 2e3, Xa = 500, Ya = 12e3, qa = 4e3, Ir = ["contact", "company", "work_item"];
1842
- function Qa(e) {
1870
+ const Xa = 1e3, Ya = 2e3, qa = 500, Qa = 12e3, Za = 4e3, kr = ["contact", "company", "work_item"];
1871
+ function Ja(e) {
1843
1872
  if (!e) return !1;
1844
1873
  const t = e.slice(0, e.indexOf(":"));
1845
- return Ir.includes(t);
1874
+ return kr.includes(t);
1846
1875
  }
1847
- const Za = [
1876
+ const ec = [
1848
1877
  { key: "high", label: "tax_high", percent: 21, kind: "standard" },
1849
1878
  { key: "low", label: "tax_low", percent: 9, kind: "reduced" },
1850
1879
  { key: "zero", label: "tax_zero", percent: 0, kind: "zero" },
1851
1880
  { key: "reverse_charge", label: "tax_reverse_charge", percent: 0, kind: "reverse_charge" },
1852
1881
  { key: "exempt", label: "tax_exempt", percent: 0, kind: "exempt" }
1853
1882
  ];
1854
- function kr(e, t) {
1883
+ function wr(e, t) {
1855
1884
  return t.find((n) => n.key === e) ?? {
1856
1885
  key: e,
1857
1886
  label: e,
@@ -1859,13 +1888,13 @@ function kr(e, t) {
1859
1888
  kind: "zero"
1860
1889
  };
1861
1890
  }
1862
- function wr(e) {
1891
+ function vr(e) {
1863
1892
  if (e.kind !== "product") return 0;
1864
1893
  const t = 1 - (e.discountPercent ?? 0) / 100;
1865
- return V(e.quantity * e.unitPriceCents * t);
1894
+ return z(e.quantity * e.unitPriceCents * t);
1866
1895
  }
1867
- function Ja(e, t, n) {
1868
- const r = e.map((l) => ({ ...l, netCents: wr(l), taxCents: 0 })), o = /* @__PURE__ */ new Map();
1896
+ function tc(e, t, n) {
1897
+ const r = e.map((l) => ({ ...l, netCents: vr(l), taxCents: 0 })), o = /* @__PURE__ */ new Map();
1869
1898
  for (let l = 0; l < r.length; l++) {
1870
1899
  if (r[l].kind !== "product" || r[l].optional) continue;
1871
1900
  const d = n ?? r[l].taxRateKey, c = o.get(d);
@@ -1874,7 +1903,7 @@ function Ja(e, t, n) {
1874
1903
  const i = [];
1875
1904
  let s = 0, a = 0;
1876
1905
  for (const [l, d] of o) {
1877
- const c = kr(l, t), p = d.reduce((m, E) => m + r[E].netCents, 0), f = V(p * c.percent / 100), y = Gn(
1906
+ const c = wr(l, t), p = d.reduce((m, S) => m + r[S].netCents, 0), f = z(p * c.percent / 100), y = Wn(
1878
1907
  f,
1879
1908
  d.map((m) => r[m].netCents)
1880
1909
  );
@@ -1882,7 +1911,7 @@ function Ja(e, t, n) {
1882
1911
  i.push({ taxRateKey: l, netCents: p, taxCents: f }), s += p, a += f;
1883
1912
  }
1884
1913
  const u = r.reduce(
1885
- (l, d) => d.costPriceCents == null || d.optional ? l : l + V(d.costPriceCents * d.quantity),
1914
+ (l, d) => d.costPriceCents == null || d.optional ? l : l + z(d.costPriceCents * d.quantity),
1886
1915
  0
1887
1916
  );
1888
1917
  return {
@@ -1896,7 +1925,7 @@ function Ja(e, t, n) {
1896
1925
  }
1897
1926
  };
1898
1927
  }
1899
- const ec = "onboarding-source", tc = ["support", "billing", "availability", "sales", "onboarding"], nc = ["keep", "replace"], Re = [
1928
+ const nc = "onboarding-source", rc = ["support", "billing", "availability", "sales", "onboarding"], oc = ["keep", "replace"], Re = [
1900
1929
  {
1901
1930
  key: "shift",
1902
1931
  label: "kind_shift",
@@ -1970,36 +1999,36 @@ const ec = "onboarding-source", tc = ["support", "billing", "availability", "sal
1970
1999
  absent: !0,
1971
2000
  icon: "party-popper"
1972
2001
  }
1973
- ], vr = {
2002
+ ], Mr = {
1974
2003
  key: "unknown",
1975
2004
  label: "kind_unknown",
1976
2005
  capacity: !1,
1977
2006
  productive: !1,
1978
2007
  absent: !1
1979
2008
  };
1980
- function N(e, t = Re) {
1981
- return t.find((n) => n.key === e) ?? { ...vr, key: e };
2009
+ function x(e, t = Re) {
2010
+ return t.find((n) => n.key === e) ?? { ...Mr, key: e };
1982
2011
  }
1983
- function z(e) {
2012
+ function V(e) {
1984
2013
  return e === "published" || e === "approved";
1985
2014
  }
1986
2015
  function Bt(e, t, n = Re) {
1987
2016
  if (e.workstreamId !== t) return !1;
1988
- const r = N(e.kindKey, n);
2017
+ const r = x(e.kindKey, n);
1989
2018
  return r.absent ? !1 : r.productive || r.capacity;
1990
2019
  }
1991
- function rc(e, t = Re) {
1992
- if (!e.userId || !z(e.status)) return !1;
1993
- const n = N(e.kindKey, t);
2020
+ function ic(e, t = Re) {
2021
+ if (!e.userId || !V(e.status)) return !1;
2022
+ const n = x(e.kindKey, t);
1994
2023
  return n.capacity || n.productive || n.absent;
1995
2024
  }
1996
- const Mr = 864e5;
1997
- function Cr(e, t) {
1998
- return Math.round((t - e) / Mr);
2025
+ const Cr = 864e5;
2026
+ function Nr(e, t) {
2027
+ return Math.round((t - e) / Cr);
1999
2028
  }
2000
2029
  function jt(e, t) {
2001
2030
  const n = e.cycleMinutes.length;
2002
- return n === 0 ? 0 : (Cr(e.anchor, t) % n + n) % n;
2031
+ return n === 0 ? 0 : (Nr(e.anchor, t) % n + n) % n;
2003
2032
  }
2004
2033
  function Ht(e, t) {
2005
2034
  return e.effectiveFrom !== void 0 && t < e.effectiveFrom ? 0 : e.cycleMinutes[jt(e, t)] ?? 0;
@@ -2030,11 +2059,11 @@ function Ae(e, t, n, r) {
2030
2059
  return o > 0 ? o / 1e3 : 0;
2031
2060
  }
2032
2061
  const it = { interval: 0, day: 1, week: 2 };
2033
- function oc(e, t) {
2062
+ function sc(e, t) {
2034
2063
  const { entries: n, patterns: r = [], terms: o = [] } = t, i = n.filter(
2035
- (c) => c.userId && z(c.status) && N(c.kindKey).capacity
2064
+ (c) => c.userId && V(c.status) && x(c.kindKey).capacity
2036
2065
  ), s = n.filter(
2037
- (c) => c.userId && z(c.status) && N(c.kindKey).absent
2066
+ (c) => c.userId && V(c.status) && x(c.kindKey).absent
2038
2067
  ), a = t.userIds ?? [
2039
2068
  .../* @__PURE__ */ new Set([
2040
2069
  ...i.map((c) => c.userId),
@@ -2050,16 +2079,16 @@ function oc(e, t) {
2050
2079
  const p = t.teamIdsOf?.(c) ?? [];
2051
2080
  let f = 0, y = 0, m = 0;
2052
2081
  for (const h of xr(e)) {
2053
- const S = Math.max(h, e.from), x = Math.min(h + _e, e.to);
2082
+ const E = Math.max(h, e.from), O = Math.min(h + _e, e.to);
2054
2083
  m++;
2055
- const C = i.filter((w) => w.userId === c).reduce((w, Fe) => w + Ae(Fe.start, Fe.end, S, x), 0);
2084
+ const C = i.filter((w) => w.userId === c).reduce((w, Fe) => w + Ae(Fe.start, Fe.end, E, O), 0);
2056
2085
  if (C > 0) {
2057
2086
  f += C;
2058
2087
  continue;
2059
2088
  }
2060
- const v = Wt(r, c, p, h), O = v ? Ht(v, h) : 0;
2061
- if (v && O > 0) {
2062
- f += O * 60, d(Gt(v, h) ? "interval" : "day");
2089
+ const v = Wt(r, c, p, h), N = v ? Ht(v, h) : 0;
2090
+ if (v && N > 0) {
2091
+ f += N * 60, d(Gt(v, h) ? "interval" : "day");
2063
2092
  continue;
2064
2093
  }
2065
2094
  v || y++;
@@ -2068,10 +2097,10 @@ function oc(e, t) {
2068
2097
  const h = Or(o, c, e.from);
2069
2098
  h && (f += h.weeklyMinutes * 60 * (y / 7), d("week"));
2070
2099
  }
2071
- const E = s.filter((h) => h.userId === c).reduce(
2072
- (h, S) => h + Ae(S.start, S.end, e.from, e.to),
2100
+ const S = s.filter((h) => h.userId === c).reduce(
2101
+ (h, E) => h + Ae(E.start, E.end, e.from, e.to),
2073
2102
  0
2074
- ), g = Math.max(0, f - E);
2103
+ ), g = Math.max(0, f - S);
2075
2104
  (g > 0 || m > 0) && (u[c] = g);
2076
2105
  }
2077
2106
  return {
@@ -2080,7 +2109,7 @@ function oc(e, t) {
2080
2109
  byUser: u
2081
2110
  };
2082
2111
  }
2083
- function ic(e, t) {
2112
+ function ac(e, t) {
2084
2113
  if (!e.some((a) => a.userId)) return [];
2085
2114
  const n = "", r = /* @__PURE__ */ new Map();
2086
2115
  for (const a of e) {
@@ -2103,14 +2132,14 @@ function ic(e, t) {
2103
2132
  const s = r.get(n) ?? 0;
2104
2133
  return s > 0 && i.push({ requiredSeconds: s, capacitySeconds: 0, netSeconds: -s }), i;
2105
2134
  }
2106
- function sc(e, t, n, r) {
2135
+ function cc(e, t, n, r) {
2107
2136
  const o = e.filter(
2108
- (s) => s.userId && z(s.status) && !N(s.kindKey).absent
2137
+ (s) => s.userId && V(s.status) && !x(s.kindKey).absent
2109
2138
  ), i = Object.entries(r.byUser).map(
2110
2139
  ([s, a]) => {
2111
2140
  let u = 0, l = 0;
2112
2141
  for (const d of o) {
2113
- if (d.userId !== s || N(d.kindKey).capacity && !d.workstreamId) continue;
2142
+ if (d.userId !== s || x(d.kindKey).capacity && !d.workstreamId) continue;
2114
2143
  const c = Ae(d.start, d.end, n.from, n.to);
2115
2144
  c <= 0 || (Bt(d, t) ? u += c : l += c);
2116
2145
  }
@@ -2125,103 +2154,103 @@ function sc(e, t, n, r) {
2125
2154
  );
2126
2155
  return i.sort((s, a) => a.freeSeconds - s.freeSeconds), i;
2127
2156
  }
2128
- const ac = "demand-source", st = 1e3;
2129
- function Nr(e, t) {
2157
+ const lc = "demand-source", st = 1e3;
2158
+ function Rr(e, t) {
2130
2159
  let n = 1;
2131
2160
  for (let r = 1; r <= e; r++)
2132
2161
  n = t * n / (r + t * n);
2133
2162
  return n;
2134
2163
  }
2135
- function Rr(e, t) {
2164
+ function Dr(e, t) {
2136
2165
  if (e <= 0) return 1;
2137
2166
  if (t <= 0) return 0;
2138
2167
  if (e <= t) return 1;
2139
- const n = Nr(e, t), r = t / e;
2168
+ const n = Rr(e, t), r = t / e;
2140
2169
  return n / (1 - r * (1 - n));
2141
2170
  }
2142
- function Dr(e, t, n, r) {
2143
- return r <= 0 ? 1 : e <= t ? 0 : 1 - Rr(e, t) * Math.exp(-(e - t) * n / r);
2171
+ function $r(e, t, n, r) {
2172
+ return r <= 0 ? 1 : e <= t ? 0 : 1 - Dr(e, t) * Math.exp(-(e - t) * n / r);
2144
2173
  }
2145
- function $r(e, t, n) {
2174
+ function Lr(e, t, n) {
2146
2175
  return n <= 0 ? 0 : e * t / n;
2147
2176
  }
2148
- function Lr(e, t, n, r) {
2177
+ function Pr(e, t, n, r) {
2149
2178
  if (e <= 0 || t <= 0) return 0;
2150
- const o = $r(e, t, n);
2179
+ const o = Lr(e, t, n);
2151
2180
  if (o <= 0) return 0;
2152
2181
  const i = r.serviceLevelPercent / 100, s = r.maxOccupancyPercent ? r.maxOccupancyPercent / 100 : void 0;
2153
2182
  for (let a = Math.max(1, Math.ceil(o)); a <= st; a++)
2154
- if (!(a <= o) && !(Dr(a, o, r.targetSeconds, t) < i) && !(s && o / a > s))
2183
+ if (!(a <= o) && !($r(a, o, r.targetSeconds, t) < i) && !(s && o / a > s))
2155
2184
  return a;
2156
2185
  return st;
2157
2186
  }
2158
- const Pr = 36e5, Kr = 864e5;
2159
- function Ur(e) {
2160
- return e === "day" ? Kr : Pr;
2187
+ const Kr = 36e5, Ur = 864e5;
2188
+ function Fr(e) {
2189
+ return e === "day" ? Ur : Kr;
2161
2190
  }
2162
- function cc(e, t) {
2191
+ function uc(e, t) {
2163
2192
  return e.start < t.end && t.start < e.end;
2164
2193
  }
2165
2194
  function pe(e, t, n) {
2166
2195
  const r = Math.min(e.end, n) - Math.max(e.start, t);
2167
2196
  return r > 0 ? r / 1e3 : 0;
2168
2197
  }
2169
- function Fr(e, t, n) {
2198
+ function Br(e, t, n) {
2170
2199
  const r = e.handleSeconds ?? 0, o = e.seconds ?? (e.volume !== void 0 ? e.volume * r : 0);
2171
2200
  if (o <= 0 && !e.volume) return { seconds: 0, headcount: 0 };
2172
2201
  const i = (t.unplannedLossPercent ?? 0) / 100, s = i > 0 && i < 1 ? 1 / (1 - i) : 1;
2173
2202
  if (t.model === "queue" && e.volume !== void 0 && r > 0) {
2174
- const a = Lr(e.volume, r, n, t);
2203
+ const a = Pr(e.volume, r, n, t);
2175
2204
  return { seconds: o, headcount: a * s };
2176
2205
  }
2177
2206
  return { seconds: o, headcount: o / n * s };
2178
2207
  }
2179
- function lc(e) {
2180
- const { entries: t, workstreamId: n, staffing: r, demand: o, range: i } = e, s = e.grain ?? "hour", a = Ur(s), u = a / 1e3, l = e.kinds, d = t.filter((m) => z(m.status)), c = d.filter((m) => Bt(m, n, l)), p = d.filter((m) => N(m.kindKey, l).capacity), f = d.filter((m) => N(m.kindKey, l).absent), y = [];
2208
+ function dc(e) {
2209
+ const { entries: t, workstreamId: n, staffing: r, demand: o, range: i } = e, s = e.grain ?? "hour", a = Fr(s), u = a / 1e3, l = e.kinds, d = t.filter((m) => V(m.status)), c = d.filter((m) => Bt(m, n, l)), p = d.filter((m) => x(m.kindKey, l).capacity), f = d.filter((m) => x(m.kindKey, l).absent), y = [];
2181
2210
  for (let m = W(i.from, s); m < i.to; m += a) {
2182
- const E = m + a, g = G(m, s);
2211
+ const S = m + a, g = G(m, s);
2183
2212
  let h = 0;
2184
- for (const w of c) h += pe(w, m, E);
2185
- let S = 0;
2186
- for (const w of p) S += pe(w, m, E);
2187
- let x = 0;
2188
- for (const w of f) x += pe(w, m, E);
2189
- const C = o?.[g] ?? {}, v = Fr(C, r, u), O = h / u;
2213
+ for (const w of c) h += pe(w, m, S);
2214
+ let E = 0;
2215
+ for (const w of p) E += pe(w, m, S);
2216
+ let O = 0;
2217
+ for (const w of f) O += pe(w, m, S);
2218
+ const C = o?.[g] ?? {}, v = Br(C, r, u), N = h / u;
2190
2219
  y.push({
2191
2220
  period: g,
2192
2221
  forecastVolume: C.volume,
2193
2222
  requiredSeconds: v.seconds,
2194
2223
  requiredHeadcount: v.headcount,
2195
2224
  scheduledSeconds: h,
2196
- scheduledHeadcount: O,
2197
- netHeadcount: O - v.headcount,
2198
- capacitySeconds: S,
2199
- absentSeconds: x
2225
+ scheduledHeadcount: N,
2226
+ netHeadcount: N - v.headcount,
2227
+ capacitySeconds: E,
2228
+ absentSeconds: O
2200
2229
  });
2201
2230
  }
2202
2231
  return y;
2203
2232
  }
2204
- function Br(e, t) {
2233
+ function jr(e, t) {
2205
2234
  return e.workTypeKey ?? t?.defaultWorkTypeKey;
2206
2235
  }
2207
- function uc(e, t, n) {
2208
- const r = Br(e, t);
2236
+ function pc(e, t, n) {
2237
+ const r = jr(e, t);
2209
2238
  return r ? n.find((o) => o.key === r)?.defaultBillable ?? !1 : !1;
2210
2239
  }
2211
- function dc(e) {
2240
+ function fc(e) {
2212
2241
  return e.filter(
2213
2242
  (t) => t.netHeadcount < 0 && t.requiredHeadcount > 0
2214
2243
  );
2215
2244
  }
2216
- const jr = 36e5, Se = 6048e5, Hr = 8, Gr = 0.5, Wr = 2;
2245
+ const Hr = 36e5, Ee = 6048e5, Gr = 8, Wr = 0.5, zr = 2;
2217
2246
  function Vr(e) {
2218
2247
  const t = Number(e.slice(0, 4)), n = Number(e.slice(5, 7)), r = Number(e.slice(8, 10)), o = e.length > 10 ? Number(e.slice(11, 13)) : 0;
2219
2248
  return Date.UTC(t, n - 1, r, o);
2220
2249
  }
2221
- function zr(e, t, n) {
2250
+ function Xr(e, t, n) {
2222
2251
  const r = [];
2223
2252
  for (let i = 0; i < n; i++) {
2224
- const s = t - i * Se, a = s - Se;
2253
+ const s = t - i * Ee, a = s - Ee;
2225
2254
  let u = 0, l = !1;
2226
2255
  for (const [d, c] of e)
2227
2256
  d >= a && d < s && (u += c, l = !0);
@@ -2229,44 +2258,44 @@ function zr(e, t, n) {
2229
2258
  }
2230
2259
  if (r.length < 2) return 1;
2231
2260
  const o = r.reduce((i, s) => i + s, 0) / r.length;
2232
- return o <= 0 ? 1 : Math.min(Wr, Math.max(Gr, r[0] / o));
2261
+ return o <= 0 ? 1 : Math.min(zr, Math.max(Wr, r[0] / o));
2233
2262
  }
2234
- function Xr(e, t) {
2263
+ function Yr(e, t) {
2235
2264
  if (!e?.length) return;
2236
2265
  let n;
2237
2266
  for (const r of e)
2238
2267
  t >= r.from && t < r.to && (n = r);
2239
2268
  return n;
2240
2269
  }
2241
- function pc(e, t, n) {
2242
- const r = Math.max(1, n?.weeks ?? Hr), o = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set();
2270
+ function mc(e, t, n) {
2271
+ const r = Math.max(1, n?.weeks ?? Gr), o = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set();
2243
2272
  for (const u of e)
2244
2273
  o.set(Vr(u.period), u.value), i.add(u.period.slice(0, 10));
2245
- const s = zr(o, W(t.from, "hour"), r), a = [];
2246
- for (let u = W(t.from, "hour"); u < t.to; u += jr) {
2274
+ const s = Xr(o, W(t.from, "hour"), r), a = [];
2275
+ for (let u = W(t.from, "hour"); u < t.to; u += Hr) {
2247
2276
  let l = 0, d = 0;
2248
2277
  for (let f = 1; f <= r; f++) {
2249
- const y = u - f * Se, E = o.get(y) ?? (i.has(G(y, "day")) ? 0 : void 0);
2250
- if (E === void 0) continue;
2278
+ const y = u - f * Ee, S = o.get(y) ?? (i.has(G(y, "day")) ? 0 : void 0);
2279
+ if (S === void 0) continue;
2251
2280
  const g = r - f + 1;
2252
- l += E * g, d += g;
2281
+ l += S * g, d += g;
2253
2282
  }
2254
2283
  let c = d > 0 ? l / d * s : 0;
2255
- const p = Xr(n?.adjustments, u);
2284
+ const p = Yr(n?.adjustments, u);
2256
2285
  p?.absoluteVolume !== void 0 ? c = p.absoluteVolume : p?.factor !== void 0 && (c *= p.factor), a.push({ period: G(u, "hour"), volume: c });
2257
2286
  }
2258
2287
  return a;
2259
2288
  }
2260
- const Yr = "schedule_entry", qr = "workstream";
2261
- function fc(e) {
2262
- return `${Yr}:${e}`;
2263
- }
2264
- function mc(e) {
2289
+ const qr = "schedule_entry", Qr = "workstream";
2290
+ function hc(e) {
2265
2291
  return `${qr}:${e}`;
2266
2292
  }
2267
- const Ee = 36e5, U = 864e5;
2268
- function Qr(e, t) {
2269
- const n = t === "day" ? U : Ee, r = [];
2293
+ function gc(e) {
2294
+ return `${Qr}:${e}`;
2295
+ }
2296
+ const Se = 36e5, U = 864e5;
2297
+ function Zr(e, t) {
2298
+ const n = t === "day" ? U : Se, r = [];
2270
2299
  for (let o = W(e.from, t); o < e.to; o += n) r.push(o);
2271
2300
  return r;
2272
2301
  }
@@ -2278,8 +2307,8 @@ function fe(e, t, n, r) {
2278
2307
  const o = Math.min(t, r) - Math.max(e, n);
2279
2308
  return o > 0 ? o / 1e3 : 0;
2280
2309
  }
2281
- function hc(e, t, n = {}) {
2282
- const r = n.grain ?? "hour", o = Qr(t, r), i = r === "day" ? U : Ee, s = new Map(o.map((c) => [c, 0])), a = e.filter((c) => c.userId && N(c.kindKey).capacity), u = n.userIds?.length ? new Set(n.userIds) : null, l = /* @__PURE__ */ new Set();
2310
+ function yc(e, t, n = {}) {
2311
+ const r = n.grain ?? "hour", o = Zr(t, r), i = r === "day" ? U : Se, s = new Map(o.map((c) => [c, 0])), a = e.filter((c) => c.userId && x(c.kindKey).capacity), u = n.userIds?.length ? new Set(n.userIds) : null, l = /* @__PURE__ */ new Set();
2283
2312
  for (const c of a)
2284
2313
  if (!(u && c.userId && !u.has(c.userId))) {
2285
2314
  for (const p of o) {
@@ -2304,24 +2333,24 @@ function hc(e, t, n = {}) {
2304
2333
  if (!y) continue;
2305
2334
  const m = Ht(y, f);
2306
2335
  if (m <= 0) continue;
2307
- const E = Gt(y, f);
2308
- if (E) {
2309
- const [S, x] = E.split(":").map(Number), C = f + S * Ee + (x ?? 0) * 6e4, v = C + m * 6e4;
2310
- for (const O of o) {
2311
- const w = fe(C, v, O, O + i);
2312
- w > 0 && s.set(O, (s.get(O) ?? 0) + w);
2336
+ const S = Gt(y, f);
2337
+ if (S) {
2338
+ const [E, O] = S.split(":").map(Number), C = f + E * Se + (O ?? 0) * 6e4, v = C + m * 6e4;
2339
+ for (const N of o) {
2340
+ const w = fe(C, v, N, N + i);
2341
+ w > 0 && s.set(N, (s.get(N) ?? 0) + w);
2313
2342
  }
2314
2343
  continue;
2315
2344
  }
2316
- const g = o.filter((S) => S >= f && S < f + U);
2345
+ const g = o.filter((E) => E >= f && E < f + U);
2317
2346
  if (!g.length) continue;
2318
2347
  const h = m * 60 / g.length;
2319
- for (const S of g) s.set(S, (s.get(S) ?? 0) + h);
2348
+ for (const E of g) s.set(E, (s.get(E) ?? 0) + h);
2320
2349
  }
2321
2350
  }
2322
2351
  return o.map((c) => ({ period: G(c, r), weight: s.get(c) ?? 0 }));
2323
2352
  }
2324
- function Zr(e, t) {
2353
+ function Jr(e, t) {
2325
2354
  if (e <= 0 || !t.length) return [];
2326
2355
  const n = t.reduce((r, o) => r + Math.max(0, o.weight), 0);
2327
2356
  if (n <= 0) {
@@ -2330,11 +2359,11 @@ function Zr(e, t) {
2330
2359
  }
2331
2360
  return t.filter((r) => r.weight > 0).map((r) => ({ period: r.period, seconds: e * r.weight / n }));
2332
2361
  }
2333
- function gc(e, t, n) {
2362
+ function bc(e, t, n) {
2334
2363
  const r = /* @__PURE__ */ new Map();
2335
2364
  for (const o of e) {
2336
2365
  const i = o.by ? t.filter((a) => n(a.period) < o.by) : t, s = i.length ? i : t;
2337
- for (const a of Zr(o.seconds, s)) {
2366
+ for (const a of Jr(o.seconds, s)) {
2338
2367
  const u = `${a.period}|${o.userId ?? ""}`, l = r.get(u);
2339
2368
  l ? l.seconds += a.seconds : r.set(u, { ...a, userId: o.userId });
2340
2369
  }
@@ -2343,7 +2372,7 @@ function gc(e, t, n) {
2343
2372
  (o, i) => o.period.localeCompare(i.period) || (o.userId ?? "").localeCompare(i.userId ?? "")
2344
2373
  );
2345
2374
  }
2346
- function Jr(e) {
2375
+ function eo(e) {
2347
2376
  switch (e.kind) {
2348
2377
  case "user":
2349
2378
  return `user:${e.userId}`;
@@ -2353,7 +2382,7 @@ function Jr(e) {
2353
2382
  return "org";
2354
2383
  }
2355
2384
  }
2356
- function yc(e) {
2385
+ function _c(e) {
2357
2386
  if (typeof e != "string") return;
2358
2387
  const t = e.trim();
2359
2388
  if (t === "org") return { kind: "org" };
@@ -2365,10 +2394,10 @@ function yc(e) {
2365
2394
  if (r === "team") return { kind: "team", teamId: o };
2366
2395
  }
2367
2396
  }
2368
- function eo(e) {
2369
- return Jr(e);
2370
- }
2371
2397
  function to(e) {
2398
+ return eo(e);
2399
+ }
2400
+ function no(e) {
2372
2401
  switch (e.kind) {
2373
2402
  case "personal":
2374
2403
  return { kind: "user", userId: e.userId };
@@ -2378,14 +2407,14 @@ function to(e) {
2378
2407
  return { kind: "org" };
2379
2408
  }
2380
2409
  }
2381
- const no = to;
2382
- function bc(e) {
2383
- return e.agentId ? { kind: "user", userId: e.agentId } : no(e.ownerScope);
2410
+ const ro = no;
2411
+ function Ac(e) {
2412
+ return e.agentId ? { kind: "user", userId: e.agentId } : ro(e.ownerScope);
2384
2413
  }
2385
- function _c(e) {
2386
- return eo(e);
2414
+ function Ec(e) {
2415
+ return to(e);
2387
2416
  }
2388
- function Ac(e, t) {
2417
+ function Sc(e, t) {
2389
2418
  if (!t) return;
2390
2419
  let n = e;
2391
2420
  for (const r of t.split(".")) {
@@ -2394,35 +2423,35 @@ function Ac(e, t) {
2394
2423
  }
2395
2424
  return n;
2396
2425
  }
2397
- function Sc(e, t) {
2426
+ function Tc(e, t) {
2398
2427
  return e.targets.find((n) => n.activityTypes.includes(t));
2399
2428
  }
2400
- function Ec(e, t) {
2429
+ function Ic(e, t) {
2401
2430
  if (t)
2402
2431
  return e.targets.find((n) => n.id === t);
2403
2432
  }
2404
- function ro(e) {
2433
+ function oo(e) {
2405
2434
  return e?.kind === "assignment";
2406
2435
  }
2407
- function Tc(e) {
2436
+ function kc(e) {
2408
2437
  const { trigger: t, agentId: n, target: r, activityType: o, assigneeUserId: i, authorUserId: s } = e;
2409
- return ro(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";
2438
+ return oo(t) ? n ? r ? r.activityTypes.includes(o) ? i ? i !== n ? "assigned to someone else" : s && s === n ? "the agent assigned this to itself, which would restart its own run" : null : `no assignee found at ${r.assigneePath}` : `activity type ${o} does not announce an assignment for ${r.id}` : `assignment target kind "${t.targetKind}" is not declared by any installed app` : "this playbook has no agent, so an assignment can never be for it" : "trigger is not an assignment trigger";
2410
2439
  }
2411
- function Ic(e) {
2440
+ function wc(e) {
2412
2441
  return ne(e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
2413
2442
  }
2414
2443
  function ne(e) {
2415
2444
  return e.startsWith("tool:") ? e.slice(5) : e;
2416
2445
  }
2417
- function oo(e) {
2446
+ function io(e) {
2418
2447
  const t = ne(e).split("__");
2419
2448
  return t[t.length - 1] || ne(e);
2420
2449
  }
2421
- function kc(e) {
2422
- const t = oo(e).replace(/[_.]+/g, " ").trim();
2450
+ function vc(e) {
2451
+ const t = io(e).replace(/[_.]+/g, " ").trim();
2423
2452
  return t ? t.charAt(0).toUpperCase() + t.slice(1) : ne(e);
2424
2453
  }
2425
- const wc = [
2454
+ const Mc = [
2426
2455
  { name: "text", type: "string" },
2427
2456
  { name: "subject", type: "string" },
2428
2457
  { name: "from", type: "string" },
@@ -2463,10 +2492,10 @@ const wc = [
2463
2492
  // the trigger filter runs — like contactId/companyId above.
2464
2493
  { name: "assigneeUserId", type: "string" }
2465
2494
  ];
2466
- function vc(e, t) {
2495
+ function Cc(e, t) {
2467
2496
  return !e.onlyFor || !t?.length ? !0 : t.some((n) => e.onlyFor?.includes(n));
2468
2497
  }
2469
- const Mc = {
2498
+ const Nc = {
2470
2499
  topics: [
2471
2500
  { name: "topicId", type: "string" },
2472
2501
  { name: "topic", type: "string" },
@@ -2480,58 +2509,58 @@ const Mc = {
2480
2509
  // Deliberately empty: the fields come from `ClassifyStep.fields` and so differ per step.
2481
2510
  extract: []
2482
2511
  };
2483
- function io(e) {
2512
+ function so(e) {
2484
2513
  return `${e.type}:${e.id}`;
2485
2514
  }
2486
- const so = "interaction";
2487
- function ao(e) {
2488
- return e?.type === so ? e.id : void 0;
2515
+ const ao = "interaction";
2516
+ function co(e) {
2517
+ return e?.type === ao ? e.id : void 0;
2489
2518
  }
2490
- const co = 64, lo = 8e3;
2491
- function Cc(e) {
2519
+ const lo = 64, uo = 8e3;
2520
+ function Oc(e) {
2492
2521
  const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
2493
2522
  if (!(!Number.isFinite(t) || t <= 0))
2494
- return Math.min(Math.max(Math.round(t), co), lo);
2523
+ return Math.min(Math.max(Math.round(t), lo), uo);
2495
2524
  }
2496
- const Oc = { kind: "workflow", steps: [] };
2497
- function xc(e) {
2525
+ const xc = { kind: "workflow", steps: [] };
2526
+ function Rc(e) {
2498
2527
  return e?.kind === "workflow" ? e.steps : [];
2499
2528
  }
2500
- function Nc(e) {
2529
+ function Dc(e) {
2501
2530
  return e?.kind === "procedure" ? e.procedure : void 0;
2502
2531
  }
2503
- function uo(e) {
2532
+ function po(e) {
2504
2533
  const t = e?.approved ?? 0, n = t + (e?.rejected ?? 0);
2505
2534
  return { total: n, rate: n ? t / n : 0 };
2506
2535
  }
2507
- const po = 10, fo = 0.9;
2508
- function Rc(e) {
2509
- const { total: t, rate: n } = uo(e);
2510
- return t >= po && n >= fo;
2536
+ const fo = 10, mo = 0.9;
2537
+ function $c(e) {
2538
+ const { total: t, rate: n } = po(e);
2539
+ return t >= fo && n >= mo;
2511
2540
  }
2512
- const mo = ["done", "escalated", "failed", "stopped"];
2513
- function Dc(e) {
2514
- return mo.includes(e);
2541
+ const ho = ["done", "escalated", "failed", "stopped"];
2542
+ function Lc(e) {
2543
+ return ho.includes(e);
2515
2544
  }
2516
- function ho(e) {
2545
+ function go(e) {
2517
2546
  return e === "waiting";
2518
2547
  }
2519
- function $c(e) {
2520
- return e === "running" || ho(e);
2548
+ function Pc(e) {
2549
+ return e === "running" || go(e);
2521
2550
  }
2522
- function Vt(e) {
2551
+ function zt(e) {
2523
2552
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
2524
2553
  }
2525
- function Lc(e) {
2526
- const t = Vt(e);
2527
- return t ? io(t) : void 0;
2554
+ function Kc(e) {
2555
+ const t = zt(e);
2556
+ return t ? so(t) : void 0;
2528
2557
  }
2529
- function Pc(e) {
2530
- return ao(Vt(e));
2558
+ function Uc(e) {
2559
+ return co(zt(e));
2531
2560
  }
2532
- function Kc(e) {
2561
+ function Fc(e) {
2533
2562
  const t = [], n = /* @__PURE__ */ new Map();
2534
- for (const r of [...e].sort(go)) {
2563
+ for (const r of [...e].sort(yo)) {
2535
2564
  const o = n.get(r.emoji);
2536
2565
  if (o) {
2537
2566
  o.push(r.actor);
@@ -2544,29 +2573,29 @@ function Kc(e) {
2544
2573
  return { emoji: r, count: o.length, actors: o };
2545
2574
  }).sort((r, o) => o.count - r.count || t.indexOf(r.emoji) - t.indexOf(o.emoji));
2546
2575
  }
2547
- const go = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
2548
- function Uc(e, t) {
2576
+ const yo = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
2577
+ function Bc(e, t) {
2549
2578
  return t ? e.actors.some((n) => n.type === "user" && n.id === t) : !1;
2550
2579
  }
2551
- const Te = 6e4, yo = 36e5, X = 864e5, zt = 800;
2580
+ const Te = 6e4, bo = 36e5, X = 864e5, Vt = 800;
2552
2581
  function ct(e, t) {
2553
2582
  const n = Date.UTC(e, t + 1, 0);
2554
- return n - new Date(n).getUTCDay() * X + yo;
2583
+ return n - new Date(n).getUTCDay() * X + bo;
2555
2584
  }
2556
- function bo(e) {
2585
+ function _o(e) {
2557
2586
  const t = new Date(e).getUTCFullYear();
2558
2587
  return e >= ct(t, 2) && e < ct(t, 9);
2559
2588
  }
2560
2589
  function Xt(e, t) {
2561
- const n = t.dst === "eu" && bo(e) ? 60 : 0;
2590
+ const n = t.dst === "eu" && _o(e) ? 60 : 0;
2562
2591
  return (t.utcOffsetMinutes + n) * Te;
2563
2592
  }
2564
- function _o(e) {
2593
+ function Ao(e) {
2565
2594
  return (e + 3) % 7 + 1;
2566
2595
  }
2567
2596
  function Yt(e, t) {
2568
2597
  const n = Xt(e, t), r = e + n, o = Math.floor(r / X);
2569
- if (!t.days.includes(_o(o))) return null;
2598
+ if (!t.days.includes(Ao(o))) return null;
2570
2599
  const i = o * X;
2571
2600
  return {
2572
2601
  open: i + t.fromMinutes * Te - n,
@@ -2581,7 +2610,7 @@ function Ie(e, t, n) {
2581
2610
  if (t <= e) return 0;
2582
2611
  if (!n) return t - e;
2583
2612
  let r = 0, o = e;
2584
- for (let i = 0; i < zt && o < t; i++) {
2613
+ for (let i = 0; i < Vt && o < t; i++) {
2585
2614
  const s = Yt(o, n);
2586
2615
  if (s) {
2587
2616
  const a = Math.max(o, s.open), u = Math.min(t, s.close);
@@ -2594,7 +2623,7 @@ function Ie(e, t, n) {
2594
2623
  function De(e, t, n) {
2595
2624
  if (!n) return e + t;
2596
2625
  let r = t, o = e;
2597
- for (let i = 0; i < zt; i++) {
2626
+ for (let i = 0; i < Vt; i++) {
2598
2627
  const s = Yt(o, n);
2599
2628
  if (s) {
2600
2629
  const a = Math.max(o, s.open);
@@ -2608,68 +2637,68 @@ function De(e, t, n) {
2608
2637
  }
2609
2638
  return e + t;
2610
2639
  }
2611
- function Fc(e) {
2640
+ function jc(e) {
2612
2641
  const t = /^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);
2613
2642
  return t ? Number(t[1]) * 60 + Number(t[2]) : null;
2614
2643
  }
2615
2644
  const ke = 1, we = 2, ve = 4;
2616
- function Bc(e) {
2645
+ function Hc(e) {
2617
2646
  return e === "snoozed" ? ke : we;
2618
2647
  }
2619
2648
  function $e(e) {
2620
2649
  const t = e.calendar;
2621
2650
  return t && Array.isArray(t.days) ? t : null;
2622
2651
  }
2623
- const jc = [
2652
+ const Gc = [
2624
2653
  "speed_of_answer",
2625
2654
  "first_response",
2626
2655
  "next_response",
2627
2656
  "resolution",
2628
2657
  "close"
2629
- ], Hc = ["snoozed", "waiting_for_customer"], Ao = 6e4, Qt = ["speed_of_answer", "first_response", "next_response"], So = [...Qt, "resolution", "close"];
2658
+ ], Wc = ["snoozed", "waiting_for_customer"], Eo = 6e4, Qt = ["speed_of_answer", "first_response", "next_response"], So = [...Qt, "resolution", "close"];
2630
2659
  function Y(e) {
2631
2660
  return e.state === "running" || e.state === "paused";
2632
2661
  }
2633
- function Eo(e, t) {
2662
+ function To(e, t) {
2634
2663
  return Y(e) ? { state: (e.state === "paused" ? e.remainingMs > 0 : t <= e.dueAt) ? "hit" : "missed", settledAt: Math.max(t, e.startedAt) } : null;
2635
2664
  }
2636
2665
  function lt(e) {
2637
2666
  return Y(e) ? { state: "void" } : null;
2638
2667
  }
2639
- function To(e, t, n, r) {
2668
+ function Io(e, t, n, r) {
2640
2669
  if (!Y(e) || (e.pauseBits & t) !== 0) return null;
2641
2670
  const o = e.pauseBits | t;
2642
2671
  return e.state === "paused" ? { pauseBits: o } : { pauseBits: o, state: "paused", remainingMs: Ie(n, e.dueAt, r) };
2643
2672
  }
2644
- function Io(e, t, n, r) {
2673
+ function ko(e, t, n, r) {
2645
2674
  if (!Y(e) || (e.pauseBits & t) === 0) return null;
2646
2675
  const o = e.pauseBits & ~t;
2647
2676
  return o !== 0 ? { pauseBits: o } : { pauseBits: o, state: "running", dueAt: De(n, e.remainingMs, r) };
2648
2677
  }
2649
- function Gc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2678
+ function zc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2650
2679
  const i = $e(o), s = Math.min(t, n), a = r.map((g) => ({ ...g })), u = [], l = (g, h) => {
2651
2680
  h && (u.push({ op: "patch", clockId: g.id, patch: h }), Object.assign(g, h));
2652
2681
  }, d = (g) => {
2653
2682
  for (const h of a)
2654
- h.metric === g && l(h, Eo(h, s));
2683
+ h.metric === g && l(h, To(h, s));
2655
2684
  }, c = (g) => {
2656
2685
  for (const h of a)
2657
2686
  g.includes(h.metric) && l(h, lt(h));
2658
2687
  }, p = (g) => {
2659
- for (const h of a) l(h, To(h, g, s, i));
2660
- }, f = (g) => {
2661
2688
  for (const h of a) l(h, Io(h, g, s, i));
2662
- }, y = (g) => a.reduce((h, S) => S.metric === g ? Math.max(h, S.attempt) : h, 0) + 1, m = (g) => a.some((h) => h.metric === g && Y(h)), E = (g, h) => {
2663
- const S = o.targets.find((C) => C.metric === g);
2664
- if (!S) return;
2665
- const x = S.minutes * Ao;
2689
+ }, f = (g) => {
2690
+ for (const h of a) l(h, ko(h, g, s, i));
2691
+ }, 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 && Y(h)), S = (g, h) => {
2692
+ const E = o.targets.find((C) => C.metric === g);
2693
+ if (!E) return;
2694
+ const O = E.minutes * Eo;
2666
2695
  u.push({
2667
2696
  op: "start",
2668
2697
  metric: g,
2669
2698
  attempt: y(g),
2670
2699
  startedAt: h,
2671
- targetMs: x,
2672
- dueAt: De(h, x, i)
2700
+ targetMs: O,
2701
+ dueAt: De(h, O, i)
2673
2702
  });
2674
2703
  };
2675
2704
  switch (e) {
@@ -2679,8 +2708,8 @@ function Gc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2679
2708
  for (const g of o.targets) {
2680
2709
  if (g.metric === "next_response") continue;
2681
2710
  a.some(
2682
- (S) => S.metric === g.metric && S.profileId === o.id
2683
- ) || E(g.metric, s);
2711
+ (E) => E.metric === g.metric && E.profileId === o.id
2712
+ ) || S(g.metric, s);
2684
2713
  }
2685
2714
  break;
2686
2715
  }
@@ -2692,7 +2721,7 @@ function Gc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2692
2721
  break;
2693
2722
  }
2694
2723
  case "inbound": {
2695
- f(we), !m("first_response") && !m("next_response") && E("next_response", s);
2724
+ f(we), !m("first_response") && !m("next_response") && S("next_response", s);
2696
2725
  break;
2697
2726
  }
2698
2727
  case "resolved":
@@ -2702,7 +2731,7 @@ function Gc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2702
2731
  d("close"), d("resolution"), c(Qt);
2703
2732
  break;
2704
2733
  case "reopened":
2705
- m("resolution") || E("resolution", s), m("close") || E("close", s);
2734
+ m("resolution") || S("resolution", s), m("close") || S("close", s);
2706
2735
  break;
2707
2736
  case "snoozed":
2708
2737
  o.pauseOn.includes("snoozed") && p(ke);
@@ -2725,28 +2754,28 @@ function Gc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2725
2754
  }
2726
2755
  return u;
2727
2756
  }
2728
- function ko(e) {
2757
+ function wo(e) {
2729
2758
  return e.state === "running" || e.state === "paused";
2730
2759
  }
2731
- function Wc(e) {
2760
+ function Vc(e) {
2732
2761
  return (e.pauseBits & ve) !== 0;
2733
2762
  }
2734
2763
  function Me(e, t) {
2735
2764
  const n = $e(e);
2736
2765
  return e.state === "paused" ? e.remainingMs : t >= e.dueAt ? -Ie(e.dueAt, t, n) : Ie(t, e.dueAt, n);
2737
2766
  }
2738
- function Vc(e, t) {
2767
+ function Xc(e, t) {
2739
2768
  return e.state === "paused" ? De(t, e.remainingMs, $e(e)) : e.dueAt;
2740
2769
  }
2741
- function zc(e, t) {
2742
- const n = e.filter(ko);
2770
+ function Yc(e, t) {
2771
+ const n = e.filter(wo);
2743
2772
  if (!n.length) return;
2744
2773
  const r = n.filter((i) => i.state === "running");
2745
2774
  return (r.length ? r : n).reduce(
2746
2775
  (i, s) => Me(s, t) < Me(i, t) ? s : i
2747
2776
  );
2748
2777
  }
2749
- function Xc(e, t) {
2778
+ function qc(e, t) {
2750
2779
  if (e.state === "missed") return "breached";
2751
2780
  if (e.state === "hit") return "met";
2752
2781
  if (e.state === "paused") return "paused";
@@ -2754,45 +2783,45 @@ function Xc(e, t) {
2754
2783
  const n = Me(e, t);
2755
2784
  return n <= 0 ? "breached" : n <= e.targetMs / 5 ? "urgent" : "running";
2756
2785
  }
2757
- function Yc(e) {
2786
+ function Qc(e) {
2758
2787
  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);
2759
2788
  return n ? r ? `${n}d ${r}u` : `${n}d` : r ? o ? `${r}u ${o}m` : `${r}u` : o ? `${o}m` : `${t % 60}s`;
2760
2789
  }
2761
- const wo = "strategy_item";
2790
+ const vo = "strategy_item";
2762
2791
  function Zt(e) {
2763
- return `${wo}:${e}`;
2792
+ return `${vo}:${e}`;
2764
2793
  }
2765
- function qc(e, t = 25) {
2794
+ function Zc(e, t = 25) {
2766
2795
  const n = /* @__PURE__ */ new Set([Zt(e.id)]);
2767
2796
  for (const r of e.ancestorKeys ?? []) n.add(r);
2768
2797
  return Array.from(n).slice(0, t);
2769
2798
  }
2770
- function Qc(e) {
2799
+ function Jc(e) {
2771
2800
  return e ? [...e.ancestorKeys ?? [], Zt(e.id)] : [];
2772
2801
  }
2773
2802
  const ie = [
2774
2803
  { key: "area", label: "level_area", order: 10, measurable: !1, icon: "compass" },
2775
2804
  { key: "objective", label: "level_objective", order: 20, measurable: !0, icon: "target" },
2776
2805
  { key: "key_result", label: "level_key_result", order: 30, measurable: !0, icon: "gauge" }
2777
- ], vo = 999, Mo = 7;
2778
- function Co(e, t = ie) {
2806
+ ], Mo = 999, Co = 7;
2807
+ function No(e, t = ie) {
2779
2808
  return t.find((n) => n.key === e);
2780
2809
  }
2781
2810
  function Ce(e, t = ie) {
2782
- return Co(e, t)?.order ?? vo;
2811
+ return No(e, t)?.order ?? Mo;
2783
2812
  }
2784
- function Zc(e, t, n = ie) {
2813
+ function el(e, t, n = ie) {
2785
2814
  return Ce(t, n) <= Ce(e, n);
2786
2815
  }
2787
- function Jc(e, t = ie) {
2816
+ function tl(e, t = ie) {
2788
2817
  const n = Ce(e, t);
2789
2818
  return t.filter((o) => o.order > n).sort((o, i) => o.order - i.order)[0]?.key ?? e;
2790
2819
  }
2791
- function el(e) {
2820
+ function nl(e) {
2792
2821
  const t = e.trim().toLowerCase();
2793
2822
  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;
2794
2823
  }
2795
- const Oe = {
2824
+ const Ne = {
2796
2825
  pending: "open",
2797
2826
  on_track: "open",
2798
2827
  at_risk: "open",
@@ -2801,74 +2830,74 @@ const Oe = {
2801
2830
  achieved: "closed",
2802
2831
  missed: "closed"
2803
2832
  };
2804
- function tl(e) {
2805
- return Oe[e] ?? "open";
2833
+ function rl(e) {
2834
+ return Ne[e] ?? "open";
2806
2835
  }
2807
- function nl(e) {
2808
- return Object.keys(Oe).filter(
2809
- (t) => e.includes(Oe[t])
2836
+ function ol(e) {
2837
+ return Object.keys(Ne).filter(
2838
+ (t) => e.includes(Ne[t])
2810
2839
  );
2811
2840
  }
2812
2841
  const Oo = 864e5, se = (e) => e <= 0 ? 0 : e > 1 ? 1 : e;
2813
- function rl(e, t) {
2842
+ function il(e, t) {
2814
2843
  const { direction: n } = e, r = e.startValue ?? 0, o = e.targetValue ?? 0;
2815
2844
  if (!Number.isFinite(t)) return 0;
2816
2845
  const i = n === "down" ? t <= o : t >= o, s = o - r;
2817
2846
  return (n === "down" ? s < 0 : s > 0) ? se((t - r) / s) : i ? 1 : 0;
2818
2847
  }
2819
- function ol(e, t) {
2848
+ function sl(e, t) {
2820
2849
  const { startDate: n, targetDate: r } = e;
2821
2850
  if (!(typeof n != "number" || typeof r != "number") && !(r <= n))
2822
2851
  return se((t - n) / (r - n));
2823
2852
  }
2824
- const xo = 0.1, No = 0.25;
2825
- function il(e, t) {
2853
+ const xo = 0.1, Ro = 0.25;
2854
+ function al(e, t) {
2826
2855
  if (typeof e != "number" || typeof t != "number") return;
2827
2856
  if (e >= 1) return "achieved";
2828
2857
  const n = t - e;
2829
- return n >= No ? "off_track" : n >= xo ? "at_risk" : "on_track";
2858
+ return n >= Ro ? "off_track" : n >= xo ? "at_risk" : "on_track";
2830
2859
  }
2831
- function sl(e, t) {
2860
+ function cl(e, t) {
2832
2861
  if (t)
2833
2862
  return se(e / t);
2834
2863
  }
2835
- function al(e) {
2864
+ function ll(e) {
2836
2865
  const t = e.map((n) => n.progress?.ratio).filter((n) => typeof n == "number" && Number.isFinite(n));
2837
2866
  if (t.length)
2838
2867
  return se(t.reduce((n, r) => n + r, 0) / t.length);
2839
2868
  }
2840
- function cl(e, t) {
2869
+ function ul(e, t) {
2841
2870
  const n = e.lastCheckInAt ?? e.createdAt;
2842
2871
  if (typeof n != "number") return 0;
2843
- const r = (e.checkInEveryDays ?? Mo) * Oo, o = t - n - r;
2872
+ const r = (e.checkInEveryDays ?? Co) * Oo, o = t - n - r;
2844
2873
  return o > 0 ? o : 0;
2845
2874
  }
2846
- function ll(e) {
2875
+ function dl(e) {
2847
2876
  return e.targetDate ?? Number.MAX_SAFE_INTEGER;
2848
2877
  }
2849
- function ul(e, t) {
2878
+ function pl(e, t) {
2850
2879
  const n = e.accumulatedSeconds || 0;
2851
2880
  return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
2852
2881
  }
2853
- function dl(e, t) {
2882
+ function fl(e, t) {
2854
2883
  const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
2855
2884
  if (!t || t === "exact") return n * 60;
2856
2885
  const r = Number(t);
2857
2886
  return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
2858
2887
  }
2859
- function pl(e) {
2888
+ function ml(e) {
2860
2889
  const t = Math.max(0, Math.round(e / 60));
2861
2890
  return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
2862
2891
  }
2863
- function fl(e) {
2892
+ function hl(e) {
2864
2893
  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);
2865
2894
  return o > 0 ? `${o}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
2866
2895
  }
2867
- function Ro(e) {
2896
+ function Do(e) {
2868
2897
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
2869
2898
  }
2870
- function ml(e, t) {
2871
- const n = Ro(e) || "werksoort", r = new Set(t);
2899
+ function gl(e, t) {
2900
+ const n = Do(e) || "werksoort", r = new Set(t);
2872
2901
  if (!r.has(n)) return n;
2873
2902
  for (let o = 2; o < 500; o++) {
2874
2903
  const i = `${n}-${o}`;
@@ -2876,29 +2905,29 @@ function ml(e, t) {
2876
2905
  }
2877
2906
  return `${n}-${r.size + 1}`;
2878
2907
  }
2879
- function hl(e, t) {
2908
+ function yl(e, t) {
2880
2909
  const n = e.ownerScope;
2881
2910
  return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
2882
2911
  }
2883
- function gl(e) {
2884
- return e.filter((t) => !t.archived).sort(Do);
2912
+ function bl(e) {
2913
+ return e.filter((t) => !t.archived).sort($o);
2885
2914
  }
2886
- function Do(e, t) {
2915
+ function $o(e, t) {
2887
2916
  const n = (e.order ?? 0) - (t.order ?? 0);
2888
2917
  return n !== 0 ? n : (e.label || "").localeCompare(t.label || "");
2889
2918
  }
2890
- const $o = 20, Lo = 20, me = 300;
2919
+ const Lo = 20, Po = 20, me = 300;
2891
2920
  function P(e) {
2892
2921
  return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
2893
2922
  }
2894
- function Po(e) {
2923
+ function Ko(e) {
2895
2924
  const t = e.replace(/\s+/g, " ").trim();
2896
2925
  if (t.length <= me) return t;
2897
2926
  const n = t.slice(0, me), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
2898
2927
  return r > me * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
2899
2928
  }
2900
- function yl(e, t) {
2901
- const n = Po(t.text), r = P(n);
2929
+ function _l(e, t) {
2930
+ const n = Ko(t.text), r = P(n);
2902
2931
  if (!r || (e.examples ?? []).some((s) => P(s) === r)) return null;
2903
2932
  const o = e.exampleCandidates ?? [], i = o.findIndex((s) => P(s.text) === r);
2904
2933
  if (i >= 0) {
@@ -2906,27 +2935,27 @@ function yl(e, t) {
2906
2935
  const s = [...o];
2907
2936
  return s[i] = { ...s[i], corrected: !0, addedAt: t.addedAt }, ut(s);
2908
2937
  }
2909
- return ut([{ ...t, text: n }, ...o]).slice(0, Lo);
2938
+ return ut([{ ...t, text: n }, ...o]).slice(0, Po);
2910
2939
  }
2911
2940
  function ut(e) {
2912
2941
  return [...e].sort(
2913
2942
  (t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt
2914
2943
  );
2915
2944
  }
2916
- function bl(e, t) {
2945
+ function Al(e, t) {
2917
2946
  const n = P(t), r = (e.examples ?? []).filter((i) => i.trim());
2918
- return { examples: r.some((i) => P(i) === n) ? r : [...r, t].slice(-$o), exampleCandidates: Ko(e, t) };
2947
+ return { examples: r.some((i) => P(i) === n) ? r : [...r, t].slice(-Lo), exampleCandidates: Uo(e, t) };
2919
2948
  }
2920
- function Ko(e, t) {
2949
+ function Uo(e, t) {
2921
2950
  const n = P(t);
2922
2951
  return (e.exampleCandidates ?? []).filter((r) => P(r.text) !== n);
2923
2952
  }
2924
- function Uo(e, t) {
2953
+ function Fo(e, t) {
2925
2954
  const n = e.ownerScope;
2926
2955
  return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
2927
2956
  }
2928
- function _l(e, t) {
2929
- return e.filter((n) => Uo(n, t));
2957
+ function El(e, t) {
2958
+ return e.filter((n) => Fo(n, t));
2930
2959
  }
2931
2960
  const Le = [
2932
2961
  {
@@ -2967,11 +2996,11 @@ const Le = [
2967
2996
  path: "invoices",
2968
2997
  issuedStatus: "open"
2969
2998
  }
2970
- ], Fo = ["quote", "order", "invoice"];
2971
- function Al() {
2999
+ ], Bo = ["quote", "order", "invoice"];
3000
+ function Sl() {
2972
3001
  const e = /* @__PURE__ */ new Map();
2973
3002
  for (const t of Le)
2974
- Fo.includes(t.key) && (e.has(t.path) || e.set(t.path, t));
3003
+ Bo.includes(t.key) && (e.has(t.path) || e.set(t.path, t));
2975
3004
  return [...e.values()];
2976
3005
  }
2977
3006
  function F(e) {
@@ -2985,10 +3014,10 @@ function F(e) {
2985
3014
  issuedStatus: "draft"
2986
3015
  };
2987
3016
  }
2988
- function Sl(e) {
3017
+ function Tl(e) {
2989
3018
  return e.issuedAt != null;
2990
3019
  }
2991
- const El = [
3020
+ const Il = [
2992
3021
  "status",
2993
3022
  "fileRef",
2994
3023
  "number",
@@ -2997,7 +3026,7 @@ const El = [
2997
3026
  "dunning",
2998
3027
  "updatedAt"
2999
3028
  ];
3000
- function Bo(e, t) {
3029
+ function jo(e, t) {
3001
3030
  const n = F(t).signFlip !== F(e.kindKey).signFlip, r = e.lines.map((o) => ({
3002
3031
  ...o,
3003
3032
  quantity: n ? -o.quantity : o.quantity,
@@ -3036,9 +3065,9 @@ function Bo(e, t) {
3036
3065
  source: e.source
3037
3066
  };
3038
3067
  }
3039
- function Tl(e) {
3068
+ function kl(e) {
3040
3069
  return {
3041
- ...Bo(e, e.kindKey),
3070
+ ...jo(e, e.kindKey),
3042
3071
  sourceTransactionId: e.sourceTransactionId,
3043
3072
  previousVersionId: e.id,
3044
3073
  version: e.version + 1,
@@ -3046,7 +3075,7 @@ function Tl(e) {
3046
3075
  totals: e.totals
3047
3076
  };
3048
3077
  }
3049
- function Il(e, t = {}) {
3078
+ function wl(e, t = {}) {
3050
3079
  const n = F(e.kindKey), r = e.totals ?? { netCents: 0, taxCents: 0, grossCents: 0 };
3051
3080
  return {
3052
3081
  customer: {
@@ -3055,7 +3084,7 @@ function Il(e, t = {}) {
3055
3084
  // One token per line of the address, plus `street` on its own for a template that wants
3056
3085
  // the house number elsewhere. Empty stays empty: `fillText` reports it as a hole, and a
3057
3086
  // recipient block missing its street is exactly what the issue gate has to refuse.
3058
- address: Go(t.companyAddress),
3087
+ address: Wo(t.companyAddress),
3059
3088
  street: t.companyAddress?.street ?? "",
3060
3089
  house_number: t.companyAddress?.houseNumber ?? "",
3061
3090
  postal_code: t.companyAddress?.postalCode ?? "",
@@ -3092,7 +3121,7 @@ function Il(e, t = {}) {
3092
3121
  }
3093
3122
  };
3094
3123
  }
3095
- function kl(e, t = [], n = jo) {
3124
+ function vl(e, t = [], n = Ho) {
3096
3125
  const r = e.totals ?? { netCents: 0, grossCents: 0, byRate: [] }, o = (a) => t.find((u) => u.key === a)?.percent ?? 0, i = {
3097
3126
  block_id: "lines",
3098
3127
  type: "table",
@@ -3107,8 +3136,8 @@ function kl(e, t = [], n = jo) {
3107
3136
  // A text line spans as a heading: empty money cells would read as "free".
3108
3137
  [a.name, "", "", ""]
3109
3138
  ) : [
3110
- Ho(a.name, a.description, a.optional, n.optional),
3111
- Wo(a.quantity),
3139
+ Go(a.name, a.description, a.optional, n.optional),
3140
+ zo(a.quantity),
3112
3141
  D(a.unitPriceCents),
3113
3142
  D(a.netCents)
3114
3143
  ]
@@ -3127,7 +3156,7 @@ function kl(e, t = [], n = jo) {
3127
3156
  };
3128
3157
  return { lines: [i], totals: [s] };
3129
3158
  }
3130
- const jo = {
3159
+ const Ho = {
3131
3160
  description: "Omschrijving",
3132
3161
  optional: "optioneel",
3133
3162
  quantity: "Aantal",
@@ -3136,14 +3165,14 @@ const jo = {
3136
3165
  tax: "Btw",
3137
3166
  gross: "Totaal"
3138
3167
  };
3139
- function Ho(e, t, n, r) {
3168
+ function Go(e, t, n, r) {
3140
3169
  const o = t ? `${e} — ${t}` : e;
3141
3170
  return n ? `${o} (${r})` : o;
3142
3171
  }
3143
- function Go(e) {
3172
+ function Wo(e) {
3144
3173
  return e?.street ? [e.street, e.houseNumber].filter(Boolean).join(" ") : "";
3145
3174
  }
3146
- function Wo(e) {
3175
+ function zo(e) {
3147
3176
  return Number.isInteger(e) ? String(e) : String(e).replace(".", ",");
3148
3177
  }
3149
3178
  function K(e) {
@@ -3158,7 +3187,7 @@ function Vo(e) {
3158
3187
  block_id: "head",
3159
3188
  type: "letterhead",
3160
3189
  fields: [
3161
- ...r ? [{ key: "number", label: zo[n]?.number ?? "Nummer", value: `{${n}.number}` }] : [],
3190
+ ...r ? [{ key: "number", label: Xo[n]?.number ?? "Nummer", value: `{${n}.number}` }] : [],
3162
3191
  { key: "date", label: "Datum", value: `{${n}.date}` },
3163
3192
  ...r ? [{ key: "due_date", label: "Vervaldatum", value: `{${n}.due_date}` }] : [{ key: "valid_until", label: "Geldig tot", value: `{${n}.valid_until}` }],
3164
3193
  { key: "reference", label: "Referentie", value: `{${n}.reference}` }
@@ -3199,11 +3228,11 @@ function Vo(e) {
3199
3228
  { block_id: "terms", type: "paragraph", text: pt[n] ?? pt.quote }
3200
3229
  ];
3201
3230
  }
3202
- const wl = (e) => ({
3231
+ const Ml = (e) => ({
3203
3232
  note: { key: `${F(e).key}.note`, exists: !0 },
3204
3233
  // Keyed on the start: a range without one is not a range, and `period_to` alone says nothing.
3205
3234
  period: { key: `${F(e).key}.period_from`, exists: !0 }
3206
- }), zo = {
3235
+ }), Xo = {
3207
3236
  invoice: { number: "Factuurnummer" },
3208
3237
  credit_note: { number: "Creditnotanummer" }
3209
3238
  }, dt = {
@@ -3224,42 +3253,42 @@ Hierbij onze creditnota. De onderstaande bedragen worden met u verrekend.`
3224
3253
  order: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld.",
3225
3254
  invoice: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld.",
3226
3255
  credit_note: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld."
3227
- }, vl = Vo("quote"), Xo = Le.map((e) => e.key), Yo = "product";
3228
- function qo(e, t) {
3256
+ }, Cl = Vo("quote"), Yo = Le.map((e) => e.key), qo = "product";
3257
+ function Qo(e, t) {
3229
3258
  return `${e}:${t}`;
3230
3259
  }
3231
- function Ml(e) {
3232
- return `${Yo}:${e}`;
3260
+ function Nl(e) {
3261
+ return `${qo}:${e}`;
3233
3262
  }
3234
- function Cl(e) {
3263
+ function Ol(e) {
3235
3264
  const t = e.indexOf(":");
3236
3265
  if (t < 0) return;
3237
3266
  const n = e.slice(0, t);
3238
- return Xo.includes(n) ? e.slice(t + 1) : void 0;
3267
+ return Yo.includes(n) ? e.slice(t + 1) : void 0;
3239
3268
  }
3240
- function Ol(e) {
3241
- const t = /* @__PURE__ */ new Set([qo(e.kindKey, e.id)]);
3269
+ function xl(e) {
3270
+ const t = /* @__PURE__ */ new Set([Qo(e.kindKey, e.id)]);
3242
3271
  return e.companyId && t.add(`company:${e.companyId}`), e.contactId && t.add(`contact:${e.contactId}`), e.dealItemId && t.add(`work_item:${e.dealItemId}`), Array.from(t);
3243
3272
  }
3244
- const xl = 4;
3245
- function Nl(e, t) {
3273
+ const Rl = 4;
3274
+ function Dl(e, t) {
3246
3275
  const n = String(t).padStart(Math.max(1, e.padding), "0");
3247
3276
  return `${e.prefix}${e.period ? `${e.period}-` : ""}${n}`;
3248
3277
  }
3249
- function Rl(e, t = Date.now()) {
3278
+ function $l(e, t = Date.now()) {
3250
3279
  return e === "year" ? String(new Date(t).getFullYear()) : "";
3251
3280
  }
3252
- const Dl = [
3281
+ const Ll = [
3253
3282
  "cash",
3254
3283
  "credit",
3255
3284
  "direct_debit",
3256
3285
  "card",
3257
3286
  "other"
3258
3287
  ];
3259
- function $l(e, t) {
3288
+ function Pl(e, t) {
3260
3289
  return e + Math.max(0, Math.round(t)) * 24 * 60 * 60 * 1e3;
3261
3290
  }
3262
- function Ll(e, t) {
3291
+ function Kl(e, t) {
3263
3292
  const n = /* @__PURE__ */ new Map();
3264
3293
  for (const r of e) r.businessEntityId || n.set(r.code, r);
3265
3294
  if (t)
@@ -3267,10 +3296,10 @@ function Ll(e, t) {
3267
3296
  r.businessEntityId === t && n.set(r.code, r);
3268
3297
  return [...n.values()];
3269
3298
  }
3270
- function Pl(e) {
3299
+ function Ul(e) {
3271
3300
  return { code: e.code, label: e.label, method: e.method, dueDays: e.dueDays };
3272
3301
  }
3273
- const Kl = [
3302
+ const Fl = [
3274
3303
  {
3275
3304
  code: "14D",
3276
3305
  label: "Binnen 14 dagen",
@@ -3282,25 +3311,25 @@ const Kl = [
3282
3311
  { code: "30D", label: "Binnen 30 dagen", method: "credit", dueDays: 30, order: 1 },
3283
3312
  { code: "CONTANT", label: "Contant", method: "cash", dueDays: 0, order: 2 }
3284
3313
  ];
3285
- function Ul(e) {
3314
+ function Bl(e) {
3286
3315
  return e.type === "agent";
3287
3316
  }
3288
- const Fl = "WORK_COMMENT_ADDED", Bl = "WORK_ITEM_ASSIGNED", jl = "WORK_ITEM_STATUS_CHANGED";
3289
- function Qo(e, t) {
3317
+ const jl = "WORK_COMMENT_ADDED", Hl = "WORK_ITEM_ASSIGNED", Gl = "WORK_ITEM_STATUS_CHANGED";
3318
+ function Zo(e, t) {
3290
3319
  const n = (r) => {
3291
3320
  const o = new Date(r);
3292
3321
  return o.setHours(0, 0, 0, 0), o.getTime();
3293
3322
  };
3294
- return Math.round((n(e) - n(t)) / tr);
3323
+ return Math.round((n(e) - n(t)) / nr);
3295
3324
  }
3296
- function Hl(e, t) {
3325
+ function Wl(e, t) {
3297
3326
  if (e.closedAt != null) return { score: L, reasons: [] };
3298
3327
  const n = t.remindersById?.[e.id];
3299
3328
  if (n && n.remindAt > t.now) return { score: L, reasons: [] };
3300
3329
  let r = 0;
3301
3330
  const o = [], i = e.priority ?? "normal";
3302
3331
  if (te[i] > 0 && (r += te[i], o.push(`priority:${i}`)), typeof e.dueDate == "number") {
3303
- const s = Qo(e.dueDate, t.now);
3332
+ const s = Zo(e.dueDate, t.now);
3304
3333
  s < 0 ? (r += 35, o.push("overdue")) : s === 0 && (r += 20, o.push("due-today"));
3305
3334
  }
3306
3335
  return e.source?.initiator === "system" && e.source.systemReason && (r += 15, o.push(`auto:${e.source.systemReason}`)), { score: r, reasons: o };
@@ -3313,35 +3342,35 @@ const Pe = [
3313
3342
  { key: "subtask", label: "type_subtask" },
3314
3343
  { key: "case", label: "type_case" },
3315
3344
  { key: "deal", label: "type_deal" }
3316
- ], Gl = Pe.map((e) => e.key);
3317
- function Wl(e) {
3345
+ ], zl = Pe.map((e) => e.key);
3346
+ function Vl(e) {
3318
3347
  return e?.types?.length ? e.types : Pe;
3319
3348
  }
3320
- function Vl(e, t) {
3349
+ function Xl(e, t) {
3321
3350
  return t.find((n) => n.key === e);
3322
3351
  }
3323
- function zl(e) {
3352
+ function Yl(e) {
3324
3353
  const t = e.trim().toLowerCase();
3325
3354
  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;
3326
3355
  }
3327
- function Xl(...e) {
3356
+ function ql(...e) {
3328
3357
  return e.map((t) => Pe.find((n) => n.key === t)).filter((t) => !!t);
3329
3358
  }
3330
- const Zo = "work_item", Jo = "work_project", ei = "work_activity", Yl = "work_cycle";
3331
- function ti(e) {
3332
- return `${Zo}:${e}`;
3333
- }
3334
- function Jt(e) {
3359
+ const Jo = "work_item", ei = "work_project", ti = "work_activity", Ql = "work_cycle";
3360
+ function ni(e) {
3335
3361
  return `${Jo}:${e}`;
3336
3362
  }
3337
- function ql(e) {
3363
+ function Jt(e) {
3338
3364
  return `${ei}:${e}`;
3339
3365
  }
3340
- function Ql(e, t, n) {
3366
+ function Zl(e) {
3367
+ return `${ti}:${e}`;
3368
+ }
3369
+ function Jl(e, t, n) {
3341
3370
  const r = `${e}-${t}`;
3342
3371
  return n ? `${r}-${n}` : r;
3343
3372
  }
3344
- function Zl(e) {
3373
+ function eu(e) {
3345
3374
  const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
3346
3375
  return t ? {
3347
3376
  projectKey: t[1].toUpperCase(),
@@ -3349,17 +3378,17 @@ function Zl(e) {
3349
3378
  ...t[3] ? { subSequence: Number(t[3]) } : {}
3350
3379
  } : null;
3351
3380
  }
3352
- function Jl(e) {
3381
+ function tu(e) {
3353
3382
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
3354
3383
  }
3355
- function eu(e, t = 25) {
3356
- const n = /* @__PURE__ */ new Set([ti(e.id)]);
3384
+ function nu(e, t = 25) {
3385
+ const n = /* @__PURE__ */ new Set([ni(e.id)]);
3357
3386
  e.projectId && n.add(Jt(e.projectId));
3358
3387
  for (const r of e.ancestorKeys ?? []) n.add(r);
3359
3388
  for (const r of e.partyKeys ?? []) n.add(r);
3360
3389
  return Array.from(n).slice(0, t);
3361
3390
  }
3362
- function tu(e) {
3391
+ function ru(e) {
3363
3392
  return [Jt(e.id)];
3364
3393
  }
3365
3394
  const Ke = [
@@ -3368,33 +3397,33 @@ const Ke = [
3368
3397
  { key: "done", label: "status_done", category: "done", order: 2 },
3369
3398
  { key: "cancelled", label: "status_cancelled", category: "done", order: 3 }
3370
3399
  ], en = Ke.map((e) => e.key);
3371
- function ni(e) {
3400
+ function ri(e) {
3372
3401
  return e?.statuses?.length ? e.statuses : Ke;
3373
3402
  }
3374
- function ri(e, t) {
3403
+ function oi(e, t) {
3375
3404
  return t.find((n) => n.key === e)?.category ?? "todo";
3376
3405
  }
3377
- function nu(e, t) {
3406
+ function ou(e, t) {
3378
3407
  return t.find((n) => n.key === e);
3379
3408
  }
3380
- function ru(e) {
3381
- const t = ni(e), n = e?.defaultStatusKey;
3382
- return n && t.some((r) => r.key === n) ? n : oi(t)[0]?.key ?? Ke[0].key;
3409
+ function iu(e) {
3410
+ const t = ri(e), n = e?.defaultStatusKey;
3411
+ return n && t.some((r) => r.key === n) ? n : ii(t)[0]?.key ?? Ke[0].key;
3383
3412
  }
3384
- function oi(e) {
3413
+ function ii(e) {
3385
3414
  return [...e].sort((t, n) => {
3386
3415
  const r = (t.order ?? 0) - (n.order ?? 0);
3387
3416
  return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
3388
3417
  });
3389
3418
  }
3390
- function ou(e, t) {
3391
- return ri(e, t) === "done";
3419
+ function su(e, t) {
3420
+ return oi(e, t) === "done";
3392
3421
  }
3393
- function ii(e) {
3422
+ function si(e) {
3394
3423
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
3395
3424
  }
3396
- function iu(e, t) {
3397
- const n = ii(e) || "status", r = /* @__PURE__ */ new Set([...t, ...en]);
3425
+ function au(e, t) {
3426
+ const n = si(e) || "status", r = /* @__PURE__ */ new Set([...t, ...en]);
3398
3427
  if (!r.has(n)) return n;
3399
3428
  for (let o = 2; o < 500; o++) {
3400
3429
  const i = `${n}-${o}`;
@@ -3402,7 +3431,7 @@ function iu(e, t) {
3402
3431
  }
3403
3432
  return `${n}-${r.size + 1}`;
3404
3433
  }
3405
- function su(e) {
3434
+ function cu(e) {
3406
3435
  const t = [];
3407
3436
  if (!e.length) return [{ index: -1, reason: "empty" }];
3408
3437
  const n = /* @__PURE__ */ new Set();
@@ -3414,13 +3443,13 @@ function su(e) {
3414
3443
  en.includes(r.key) && t.push({ index: o, reason: "reserved_key", key: r.key }), n.has(r.key) && t.push({ index: o, reason: "duplicate_key", key: r.key }), n.add(r.key);
3415
3444
  }), 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;
3416
3445
  }
3417
- function au(e) {
3446
+ function lu(e) {
3418
3447
  return e.startDate ?? Number.MAX_SAFE_INTEGER;
3419
3448
  }
3420
- function cu(e) {
3449
+ function uu(e) {
3421
3450
  return e.completedAt ? "completed" : e.startedAt ? "active" : "planned";
3422
3451
  }
3423
- const si = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), ai = /* @__PURE__ */ new Set([
3452
+ const ai = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), ci = /* @__PURE__ */ new Set([
3424
3453
  "text/plain",
3425
3454
  "text/markdown",
3426
3455
  "text/csv",
@@ -3429,67 +3458,67 @@ const si = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
3429
3458
  "application/xml",
3430
3459
  "text/xml"
3431
3460
  ]);
3432
- function ci(e) {
3461
+ function li(e) {
3433
3462
  const t = (e ?? "").trim().toLowerCase().split(";")[0];
3434
- return t ? si.has(t) ? "image" : t === "application/pdf" ? "pdf" : ai.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
3463
+ return t ? ai.has(t) ? "image" : t === "application/pdf" ? "pdf" : ci.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
3435
3464
  }
3436
- const j = 1024 * 1024, li = {
3465
+ const j = 1024 * 1024, ui = {
3437
3466
  image: 5 * j,
3438
3467
  pdf: 20 * j,
3439
3468
  text: 1 * j,
3440
3469
  audio: 20 * j
3441
- }, lu = 25 * j, uu = 5;
3442
- function du(e, t) {
3443
- const n = ci(e);
3444
- return n === "unsupported" ? "unsupported" : t > li[n] ? "too-large" : null;
3470
+ }, du = 25 * j, pu = 5;
3471
+ function fu(e, t) {
3472
+ const n = li(e);
3473
+ return n === "unsupported" ? "unsupported" : t > ui[n] ? "too-large" : null;
3445
3474
  }
3446
- function pu(e) {
3475
+ function mu(e) {
3447
3476
  return e.access !== "read" && e.effect !== "internal";
3448
3477
  }
3449
- function ui(e) {
3478
+ function di(e) {
3450
3479
  return `${e.kind}:${e.id || e.url || e.title}`;
3451
3480
  }
3452
- function fu(e, t = []) {
3481
+ function hu(e, t = []) {
3453
3482
  const n = new Set(t), r = [], o = [];
3454
3483
  for (const i of e) {
3455
- const s = ui(i);
3484
+ const s = di(i);
3456
3485
  n.has(s) || (n.add(s), r.push(i), o.push(s));
3457
3486
  }
3458
3487
  return { sources: r, keys: o };
3459
3488
  }
3460
- const mu = "assist-source", hu = ["blocking", "due", "open"];
3461
- function gu(e, t) {
3489
+ const gu = "assist-source", yu = ["blocking", "due", "open"];
3490
+ function bu(e, t) {
3462
3491
  const [n, r] = (e.subjectKey ?? "").split(":");
3463
3492
  return n === t && r ? r : void 0;
3464
3493
  }
3465
3494
  const ft = { blocking: 0, due: 1, open: 2 };
3466
- function yu(e, t) {
3495
+ function _u(e, t) {
3467
3496
  return ft[e.band ?? "open"] - ft[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
3468
3497
  }
3469
- function bu(e) {
3498
+ function Au(e) {
3470
3499
  return e.sessions.filter(
3471
3500
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
3472
3501
  );
3473
3502
  }
3474
- function _u(e) {
3503
+ function Eu(e) {
3475
3504
  return e.sessions.filter(
3476
3505
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
3477
3506
  );
3478
3507
  }
3479
- function Au(e) {
3508
+ function Su(e) {
3480
3509
  return e.sessions.some(
3481
3510
  (n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
3482
3511
  ) ? { admit: !1, reason: "busy" } : { admit: !0 };
3483
3512
  }
3484
- function di(e, t) {
3485
- const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((s) => !n.has(s.intent)).map((s) => fi(s, r[s.intent]));
3513
+ function pi(e, t) {
3514
+ const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((s) => !n.has(s.intent)).map((s) => mi(s, r[s.intent]));
3486
3515
  if (!e.extraIntents || e.extraIntents.length === 0) return o;
3487
3516
  const i = new Set(o.map((s) => s.intent));
3488
3517
  for (const s of e.extraIntents)
3489
3518
  i.has(s.intent) || (o.push(s), i.add(s.intent));
3490
3519
  return o;
3491
3520
  }
3492
- function pi(e, t) {
3521
+ function fi(e, t) {
3493
3522
  const n = {};
3494
3523
  for (const r of e.intents) {
3495
3524
  if (!r.togglable) continue;
@@ -3498,46 +3527,46 @@ function pi(e, t) {
3498
3527
  }
3499
3528
  return n;
3500
3529
  }
3501
- function Su(e, t) {
3502
- const n = pi(e, t);
3530
+ function Tu(e, t) {
3531
+ const n = fi(e, t);
3503
3532
  return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
3504
3533
  }
3505
- function fi(e, t) {
3534
+ function mi(e, t) {
3506
3535
  return t ? {
3507
3536
  intent: t.intent ?? e.intent,
3508
3537
  targetSchemes: t.targetSchemes ?? e.targetSchemes,
3509
3538
  transport: t.transport ?? e.transport
3510
3539
  } : e;
3511
3540
  }
3512
- function Eu(e, t) {
3541
+ function Iu(e, t) {
3513
3542
  const n = [];
3514
3543
  for (const r of e) {
3515
3544
  if (!r.enabled) continue;
3516
3545
  const o = t[r.providerId];
3517
3546
  if (o)
3518
- for (const i of di(r, o))
3547
+ for (const i of pi(r, o))
3519
3548
  n.push({ channel: r, description: o, capability: i });
3520
3549
  }
3521
3550
  return n;
3522
3551
  }
3523
- function Tu(e, t) {
3552
+ function ku(e, t) {
3524
3553
  return t.filter((n) => n.capability.intent === e);
3525
3554
  }
3526
- function mi(e, t) {
3555
+ function hi(e, t) {
3527
3556
  return t.filter((n) => n.capability.targetSchemes.includes(e));
3528
3557
  }
3529
- function Iu(e, t) {
3530
- return mi(e.scheme, t);
3558
+ function wu(e, t) {
3559
+ return hi(e.scheme, t);
3531
3560
  }
3532
- function ku(e, t, n) {
3561
+ function vu(e, t, n) {
3533
3562
  const r = [];
3534
3563
  for (const o of e)
3535
3564
  for (const i of n)
3536
3565
  i.capability.intent === t && i.capability.targetSchemes.includes(o.scheme) && r.push({ channelIntent: i, endpoint: o });
3537
3566
  return r;
3538
3567
  }
3539
- var hi = /* @__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))(hi || {});
3540
- const gi = {
3568
+ var gi = /* @__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))(gi || {});
3569
+ const yi = {
3541
3570
  mailto: "mail",
3542
3571
  sip: "tel",
3543
3572
  tel: "tel",
@@ -3558,10 +3587,10 @@ const gi = {
3558
3587
  id: "note",
3559
3588
  custom: "note"
3560
3589
  };
3561
- function wu(e) {
3562
- return e ? gi[e] ?? "note" : "note";
3590
+ function Mu(e) {
3591
+ return e ? yi[e] ?? "note" : "note";
3563
3592
  }
3564
- const vu = "message_window", Mu = "message_templates", Cu = {
3593
+ const Cu = "message_window", Nu = "message_templates", Ou = {
3565
3594
  // E-mail
3566
3595
  FROM: "from",
3567
3596
  TO: "to",
@@ -3578,11 +3607,11 @@ const vu = "message_window", Mu = "message_templates", Cu = {
3578
3607
  // Voice/conference
3579
3608
  HOST: "host",
3580
3609
  PARTICIPANT: "participant"
3581
- }, Ou = (e, t) => ({ intent: e, ...t }), xu = "folder_management", Nu = "remote_search", Ru = "message_reactions", Du = {
3610
+ }, xu = (e, t) => ({ intent: e, ...t }), Ru = "folder_management", Du = "remote_search", $u = "message_reactions", Lu = {
3582
3611
  ok: !1,
3583
3612
  code: "UNSUPPORTED",
3584
3613
  message: "Provider does not support this op"
3585
- }, $u = "connector", Lu = "context.collect", A = (e) => ({ type: "string", description: e }), _ = (e) => ({ type: "number", description: e }), J = (e) => ({ type: "boolean", description: e }), M = A("Sheet name. Omit for the sheet the user is looking at."), mt = A("Slide id, as `inspect` reports it.");
3614
+ }, Pu = "connector", Ku = "context.collect", A = (e) => ({ type: "string", description: e }), _ = (e) => ({ type: "number", description: e }), J = (e) => ({ type: "boolean", description: e }), M = A("Sheet name. Omit for the sheet the user is looking at."), mt = A("Slide id, as `inspect` reports it.");
3586
3615
  function b(e, t, n, r, o, i) {
3587
3616
  return {
3588
3617
  op: e,
@@ -3593,7 +3622,7 @@ function b(e, t, n, r, o, i) {
3593
3622
  visible: i.visible
3594
3623
  };
3595
3624
  }
3596
- const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht = { undoable: !1, visible: !0 }, re = { undoable: !1, visible: !1 }, yi = [
3625
+ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht = { undoable: !1, visible: !0 }, re = { undoable: !1, visible: !1 }, bi = [
3597
3626
  b(
3598
3627
  "pdf.goToPage",
3599
3628
  ["pdf"],
@@ -3688,7 +3717,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3688
3717
  ["page", "text"],
3689
3718
  re
3690
3719
  )
3691
- ], bi = [
3720
+ ], _i = [
3692
3721
  b(
3693
3722
  "sheet.setValues",
3694
3723
  ["sheet"],
@@ -3840,7 +3869,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3840
3869
  [],
3841
3870
  H
3842
3871
  )
3843
- ], _i = [
3872
+ ], Ai = [
3844
3873
  b(
3845
3874
  "word.replaceParagraph",
3846
3875
  ["word"],
@@ -3902,7 +3931,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3902
3931
  ["start"],
3903
3932
  H
3904
3933
  )
3905
- ], Ai = [
3934
+ ], Ei = [
3906
3935
  b(
3907
3936
  "slides.setText",
3908
3937
  ["slides"],
@@ -3931,15 +3960,15 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3931
3960
  re
3932
3961
  )
3933
3962
  ], tn = [
3934
- ...yi,
3935
3963
  ...bi,
3936
3964
  ..._i,
3937
- ...Ai
3965
+ ...Ai,
3966
+ ...Ei
3938
3967
  ];
3939
- function Pu(e) {
3968
+ function Uu(e) {
3940
3969
  return tn.filter((t) => t.kinds.includes(e));
3941
3970
  }
3942
- function Ku(e) {
3971
+ function Fu(e) {
3943
3972
  return tn.find((t) => t.op === e);
3944
3973
  }
3945
3974
  const gt = /(?: {2,}|\\)$/, Si = /^\*\*([^*]+)\*\*\s+(.*)$/;
@@ -3947,7 +3976,7 @@ function yt(e) {
3947
3976
  const t = Si.exec(e);
3948
3977
  return t ? { lead: t[1], text: t[2] } : { text: e };
3949
3978
  }
3950
- function Uu(e) {
3979
+ function Bu(e) {
3951
3980
  const t = (e ?? "").replace(/\r\n/g, `
3952
3981
  `).split(`
3953
3982
  `), n = [];
@@ -4020,33 +4049,33 @@ function Uu(e) {
4020
4049
  continue;
4021
4050
  }
4022
4051
  l(), o();
4023
- const E = gt.test(p);
4024
- s.push(p.replace(gt, "").trim() + (E ? `
4052
+ const S = gt.test(p);
4053
+ s.push(p.replace(gt, "").trim() + (S ? `
4025
4054
  ` : " ")), c++;
4026
4055
  }
4027
4056
  return d(), n;
4028
4057
  }
4029
- function Fu(e, t) {
4058
+ function ju(e, t) {
4030
4059
  return Kn(e, t).replace(/^```.*$/gm, "").replace(/^\|[\s:|-]*\|$/gm, "").replace(/[ \t]*\|[ \t]*/g, " ").replace(/^[ \t]*(#{1,6}|>|[-*+]|\d+\.)[ \t]+/gm, "").replace(/!\[([^\]]*)\]\([^)]*\)/g, "$1").replace(/\[([^\]]+)\]\([^)]*\)/g, "$1").replace(/(\*\*|__|\*|_|`|~~)/g, "").replace(/[ \t]+$/gm, "").replace(/\n{3,}/g, `
4031
4060
 
4032
4061
  `).trim();
4033
4062
  }
4034
- const Bu = "documents.describe", ju = "documents.inspect", Hu = "documents.apply";
4035
- function Gu(e) {
4063
+ const Hu = "documents.describe", Gu = "documents.inspect", Wu = "documents.apply";
4064
+ function zu(e) {
4036
4065
  const t = e.indexOf(":");
4037
4066
  if (t !== -1) return e.slice(0, t);
4038
4067
  const n = e.indexOf(".");
4039
4068
  return n === -1 ? e : e.slice(0, n);
4040
4069
  }
4041
- const Wu = "installation-id";
4042
- function Vu(e) {
4070
+ const Vu = "installation-id";
4071
+ function Xu(e) {
4043
4072
  const t = [];
4044
4073
  for (const n of Object.keys(e))
4045
4074
  for (const r of Object.keys(e[n]))
4046
4075
  t.push({ lang: n, key: r, value: e[n][r] });
4047
4076
  return t;
4048
4077
  }
4049
- const zu = "notification-source", Xu = (e, t) => `${e}.pref.${t}`, Yu = {
4078
+ const Yu = "notification-source", qu = (e, t) => `${e}.pref.${t}`, Qu = {
4050
4079
  ai: [
4051
4080
  "account.read",
4052
4081
  "account.write",
@@ -4181,48 +4210,48 @@ const zu = "notification-source", Xu = (e, t) => `${e}.pref.${t}`, Yu = {
4181
4210
  time: ["entry.read", "entry.write", "work-type.read", "work-type.write"],
4182
4211
  user: ["user.read", "user.write"],
4183
4212
  work: ["item.read", "item.write", "project.read", "project.write"]
4184
- }, nn = 9e4, Ei = ["out_of_office"], rn = (e) => Ei.includes(e);
4185
- function qu(e, t, n) {
4213
+ }, nn = 9e4, Ti = ["out_of_office"], rn = (e) => Ti.includes(e);
4214
+ function Zu(e, t, n) {
4186
4215
  const r = n - e < nn, o = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
4187
4216
  if (!o?.status) return { online: r, status: r ? "available" : "offline" };
4188
4217
  const i = o.status;
4189
4218
  return !r && !rn(i) ? { online: !1, status: "offline" } : { online: r, status: i, message: o.message };
4190
4219
  }
4191
- function Qu(e, t) {
4220
+ function Ju(e, t) {
4192
4221
  const n = t - e.lastSeenAt < nn, r = n || rn(e.status) ? e.status : "offline";
4193
4222
  return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
4194
4223
  }
4195
- function Zu(e, t) {
4224
+ function ed(e, t) {
4196
4225
  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 };
4197
4226
  }
4198
- function Ju(e) {
4227
+ function td(e) {
4199
4228
  return e.providerAvailable && e.allowed;
4200
4229
  }
4201
- const ed = "resources.describe", td = "resources.search", nd = "resources.resolve", rd = "resources.attached";
4202
- function od(e) {
4230
+ const nd = "resources.describe", rd = "resources.search", od = "resources.resolve", id = "resources.attached";
4231
+ function sd(e) {
4203
4232
  const t = e.indexOf(":");
4204
4233
  return t === -1 ? e : e.slice(0, t);
4205
4234
  }
4206
- const id = "/provider/scope/related", sd = "/provider/scope/read", on = "auth";
4235
+ const ad = "/provider/scope/related", cd = "/provider/scope/read", on = "auth";
4207
4236
  function sn(e) {
4208
4237
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
4209
4238
  return t ? t[1] : null;
4210
4239
  }
4211
- function ad(e) {
4240
+ function ld(e) {
4212
4241
  const t = sn(e);
4213
4242
  return t ? t !== on : typeof e == "string" && e.startsWith("/wake");
4214
4243
  }
4215
- function cd(e) {
4244
+ function ud(e) {
4216
4245
  return typeof e != "string" || e === "" || e === "/" ? !0 : sn(e) === on;
4217
4246
  }
4218
- function Ti(e) {
4247
+ function Ii(e) {
4219
4248
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
4220
4249
  }
4221
- function Ii(e) {
4222
- const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${Ti(r)}`).join("");
4250
+ function ki(e) {
4251
+ const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${Ii(r)}`).join("");
4223
4252
  return new RegExp(`^${n}\\/?$`);
4224
4253
  }
4225
- function ki(e, t) {
4254
+ function wi(e, t) {
4226
4255
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean), o = {};
4227
4256
  return n.forEach((i, s) => {
4228
4257
  if (i.startsWith(":")) {
@@ -4231,14 +4260,14 @@ function ki(e, t) {
4231
4260
  }
4232
4261
  }), o;
4233
4262
  }
4234
- function wi(e) {
4263
+ function vi(e) {
4235
4264
  return e.publicBasePath ?? `/apps/${e.name}`;
4236
4265
  }
4237
- function ld(e) {
4266
+ function dd(e) {
4238
4267
  const t = [];
4239
4268
  for (const n of e) {
4240
4269
  if (!n?.name) continue;
4241
- const r = wi(n);
4270
+ const r = vi(n);
4242
4271
  for (const o of n.routes ?? []) {
4243
4272
  if (!o.public) continue;
4244
4273
  const i = o.path === "/" ? "" : o.path;
@@ -4252,7 +4281,7 @@ function ld(e) {
4252
4281
  }
4253
4282
  return t;
4254
4283
  }
4255
- function vi(e, t) {
4284
+ function Mi(e, t) {
4256
4285
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean);
4257
4286
  for (let o = 0; o < Math.min(n.length, r.length); o++) {
4258
4287
  const i = n[o].startsWith(":"), s = r[o].startsWith(":");
@@ -4260,17 +4289,17 @@ function vi(e, t) {
4260
4289
  }
4261
4290
  return n.length > r.length;
4262
4291
  }
4263
- function Mi(e, t) {
4292
+ function Ci(e, t) {
4264
4293
  if (typeof e != "string") return null;
4265
4294
  let n = null;
4266
4295
  for (const r of t)
4267
- Ii(r.pattern).test(e) && (!n || vi(r.pattern, n.pattern)) && (n = r);
4268
- return n ? { ...n, params: { ...n.props, ...ki(n.pattern, e) } } : null;
4296
+ ki(r.pattern).test(e) && (!n || Mi(r.pattern, n.pattern)) && (n = r);
4297
+ return n ? { ...n, params: { ...n.props, ...wi(n.pattern, e) } } : null;
4269
4298
  }
4270
- function ud(e, t) {
4271
- return Mi(e, t) !== null;
4299
+ function pd(e, t) {
4300
+ return Ci(e, t) !== null;
4272
4301
  }
4273
- const dd = 10 * 1024 * 1024, pd = 25 * 1024 * 1024, fd = "sync-target", md = 20, Ci = {
4302
+ const fd = 10 * 1024 * 1024, md = 25 * 1024 * 1024, hd = "sync-target", gd = 20, Ni = {
4274
4303
  afrikaans: [
4275
4304
  "[Muziek]",
4276
4305
  "(C) TV GELDERLAND 2021",
@@ -4422,12 +4451,12 @@ const dd = 10 * 1024 * 1024, pd = 25 * 1024 * 1024, fd = "sync-target", md = 20,
4422
4451
  ]
4423
4452
  }, Oi = (e) => {
4424
4453
  let t = e;
4425
- return Object.values(Ci).forEach((n) => {
4454
+ return Object.values(Ni).forEach((n) => {
4426
4455
  n.forEach((r) => {
4427
4456
  t = t.replaceAll(r, "");
4428
4457
  });
4429
4458
  }), t = t.replace(/\(.*?\)/g, ""), t = t.replace(/\[.*?\]/g, ""), t;
4430
- }, xi = 6e4, Ni = 8e3, Ri = 2, Di = 0.4, $i = 3, Li = /* @__PURE__ */ new Set([
4459
+ }, xi = 6e4, Ri = 8e3, Di = 2, $i = 0.4, Li = 3, Pi = /* @__PURE__ */ new Set([
4431
4460
  "aan",
4432
4461
  "als",
4433
4462
  "ben",
@@ -4540,13 +4569,13 @@ const dd = 10 * 1024 * 1024, pd = 25 * 1024 * 1024, fd = "sync-target", md = 20,
4540
4569
  "you",
4541
4570
  "your"
4542
4571
  ]);
4543
- function Pi(e) {
4572
+ function Ki(e) {
4544
4573
  const t = /* @__PURE__ */ new Set();
4545
4574
  for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
4546
- n.length < $i || Li.has(n) || t.add(n);
4575
+ n.length < Li || Pi.has(n) || t.add(n);
4547
4576
  return [...t];
4548
4577
  }
4549
- function Ki(e, t) {
4578
+ function Ui(e, t) {
4550
4579
  if (!e.length) return 0;
4551
4580
  if (!t.length) return 1;
4552
4581
  const n = new Set(t), r = new Set(e);
@@ -4554,32 +4583,32 @@ function Ki(e, t) {
4554
4583
  for (const i of r) n.has(i) || (o += 1);
4555
4584
  return o / r.size;
4556
4585
  }
4557
- function Ui(e, t = xi) {
4586
+ function Fi(e, t = xi) {
4558
4587
  const n = e.filter((s) => !s.partial && typeof s.text == "string");
4559
4588
  if (!n.length) return { text: "", segmentCount: 0 };
4560
4589
  const o = n.reduce((s, a) => Math.max(s, a.endedAt ?? 0), 0) - t;
4561
4590
  return { text: n.filter((s) => (s.endedAt ?? 0) >= o).map((s) => Oi(s.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
4562
4591
  }
4563
- const Fi = 60;
4564
- function hd(e, t, n = Fi) {
4592
+ const Bi = 60;
4593
+ function yd(e, t, n = Bi) {
4565
4594
  const r = new Set(e), o = [...e];
4566
4595
  for (const i of t)
4567
4596
  !i || r.has(i) || (r.add(i), o.push(i));
4568
4597
  return o.slice(-n);
4569
4598
  }
4570
- function gd(e) {
4599
+ function bd(e) {
4571
4600
  const { segments: t, now: n, state: r } = e;
4572
- if (r.lastTriggerAt && n - r.lastTriggerAt < Ni)
4601
+ if (r.lastTriggerAt && n - r.lastTriggerAt < Ri)
4573
4602
  return { trigger: !1, reason: "too_soon" };
4574
- const o = Ui(t, e.windowMs);
4603
+ const o = Fi(t, e.windowMs);
4575
4604
  if (!o.text) return { trigger: !1, reason: "no_speech" };
4576
4605
  const i = o.segmentCount - (r.lastSegmentCount ?? 0);
4577
- if (r.lastQueryTerms && i < Ri)
4606
+ if (r.lastQueryTerms && i < Di)
4578
4607
  return { trigger: !1, reason: "too_few_new" };
4579
- const s = Pi(o.text);
4580
- return s.length ? r.lastQueryTerms?.length && Ki(s, r.lastQueryTerms) < Di ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: o.text, terms: s, segmentCount: o.segmentCount } : { trigger: !1, reason: "no_speech" };
4608
+ const s = Ki(o.text);
4609
+ return s.length ? r.lastQueryTerms?.length && Ui(s, r.lastQueryTerms) < $i ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: o.text, terms: s, segmentCount: o.segmentCount } : { trigger: !1, reason: "no_speech" };
4581
4610
  }
4582
- const yd = [
4611
+ const _d = [
4583
4612
  "personal",
4584
4613
  "organization",
4585
4614
  "connections",
@@ -4587,7 +4616,7 @@ const yd = [
4587
4616
  "work",
4588
4617
  "administration",
4589
4618
  "ai"
4590
- ], bd = "navNotice", Ue = {
4619
+ ], Ad = "navNotice", Ue = {
4591
4620
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
4592
4621
  // shorter than geographic numbers, and a too-strict minimum silently drops them.
4593
4622
  // An over-permissive key is harmless — it simply matches nothing.
@@ -4610,7 +4639,7 @@ const yd = [
4610
4639
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
4611
4640
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
4612
4641
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
4613
- }, Bi = "NL", ji = 15, Hi = 8, Gi = Array.from(
4642
+ }, ji = "NL", Hi = 15, Gi = 8, Wi = Array.from(
4614
4643
  new Set(Object.values(Ue).map((e) => e.callingCode))
4615
4644
  ).sort((e, t) => t.length - e.length);
4616
4645
  function bt(e) {
@@ -4621,8 +4650,8 @@ function ee(e, t) {
4621
4650
  return e.length >= t.nsnMin && e.length <= t.nsnMax;
4622
4651
  }
4623
4652
  function _t(e) {
4624
- if (e.length > ji) return null;
4625
- for (const t of Gi) {
4653
+ if (e.length > Hi) return null;
4654
+ for (const t of Wi) {
4626
4655
  if (!e.startsWith(t)) continue;
4627
4656
  const n = e.slice(t.length);
4628
4657
  for (const r of Object.values(Ue)) {
@@ -4632,16 +4661,16 @@ function _t(e) {
4632
4661
  }
4633
4662
  return null;
4634
4663
  }
4635
- return e.length < Hi ? null : `+${e}`;
4664
+ return e.length < Gi ? null : `+${e}`;
4636
4665
  }
4637
- function Wi(e) {
4666
+ function zi(e) {
4638
4667
  let t = e.trim();
4639
4668
  const n = t.match(/^(sips?|tel|whatsapp):/i);
4640
4669
  n && (t = t.slice(n[0].length));
4641
4670
  const r = t.indexOf("@");
4642
4671
  return r >= 0 && (t = t.slice(0, r)), t.trim();
4643
4672
  }
4644
- function _d(e) {
4673
+ function Ed(e) {
4645
4674
  if (!e) return !1;
4646
4675
  const t = e.indexOf("@");
4647
4676
  if (t <= 0) return !1;
@@ -4650,13 +4679,13 @@ function _d(e) {
4650
4679
  }
4651
4680
  function At(e, t) {
4652
4681
  if (!e) return null;
4653
- const n = Wi(e);
4682
+ const n = zi(e);
4654
4683
  if (!n) return null;
4655
4684
  const r = n.startsWith("+"), o = n.replace(/\D/g, "");
4656
4685
  if (!o) return null;
4657
4686
  if (r) return _t(o);
4658
4687
  if (o.startsWith("00")) return _t(o.slice(2));
4659
- const i = bt(t) ?? bt(Bi);
4688
+ const i = bt(t) ?? bt(ji);
4660
4689
  if (!i) return null;
4661
4690
  const s = i.trunkPrefix;
4662
4691
  if (s && o.startsWith(s)) {
@@ -4669,7 +4698,7 @@ function At(e, t) {
4669
4698
  }
4670
4699
  return !s && ee(o, i) ? `+${i.callingCode}${o}` : null;
4671
4700
  }
4672
- function Ad(e, t = 9) {
4701
+ function Sd(e, t = 9) {
4673
4702
  const n = (e ?? "").replace(/\D/g, "");
4674
4703
  return n.length < t ? null : n.slice(-t);
4675
4704
  }
@@ -4680,7 +4709,7 @@ function an(e) {
4680
4709
  const r = t.slice(0, n).split("+")[0], o = t.slice(n + 1);
4681
4710
  return !r || !o.includes(".") ? null : `${r}@${o}`;
4682
4711
  }
4683
- function Sd(e) {
4712
+ function Td(e) {
4684
4713
  const t = an(e);
4685
4714
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
4686
4715
  }
@@ -4694,14 +4723,14 @@ const Vi = /* @__PURE__ */ new Set([
4694
4723
  "com.br",
4695
4724
  "co.za"
4696
4725
  ]);
4697
- function zi(e) {
4726
+ function Xi(e) {
4698
4727
  if (!e) return null;
4699
4728
  const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
4700
4729
  if (t.length < 2) return null;
4701
4730
  const n = t.slice(-2).join(".");
4702
4731
  return Vi.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
4703
4732
  }
4704
- const Xi = /* @__PURE__ */ new Set([
4733
+ const Yi = /* @__PURE__ */ new Set([
4705
4734
  "gmail.com",
4706
4735
  "googlemail.com",
4707
4736
  "outlook.com",
@@ -4746,16 +4775,16 @@ const Xi = /* @__PURE__ */ new Set([
4746
4775
  "proximus.be",
4747
4776
  "scarlet.be"
4748
4777
  ]);
4749
- function Ed(e) {
4750
- const t = zi(e);
4751
- return t ? Xi.has(t) : !1;
4778
+ function Id(e) {
4779
+ const t = Xi(e);
4780
+ return t ? Yi.has(t) : !1;
4752
4781
  }
4753
- function Td(e) {
4782
+ function kd(e) {
4754
4783
  if (!e) return !1;
4755
4784
  const t = e.trim().toLowerCase();
4756
4785
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
4757
4786
  }
4758
- function Id(e, t, n) {
4787
+ function wd(e, t, n) {
4759
4788
  if (!e || !t) return null;
4760
4789
  const r = e.trim().toLowerCase();
4761
4790
  if (r === "tel" || r === "sms" || r === "whatsapp") {
@@ -4773,7 +4802,7 @@ function Id(e, t, n) {
4773
4802
  const o = t.trim().toLowerCase();
4774
4803
  return o ? `${r}:${o}` : null;
4775
4804
  }
4776
- const Yi = [
4805
+ const qi = [
4777
4806
  /<blockquote/i,
4778
4807
  /class="?gmail_quote/i,
4779
4808
  // Gmail quote container
@@ -4786,24 +4815,24 @@ const Yi = [
4786
4815
  // Outlook underscore separator before "From:"
4787
4816
  /\bOn\b[\s\S]{0,200}?\bwrote:/i
4788
4817
  // Gmail "On <date> <name> wrote:"
4789
- ], St = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, qi = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
4790
- function Qi(e) {
4818
+ ], Et = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Qi = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
4819
+ function Zi(e) {
4791
4820
  const t = e.split(`
4792
4821
  `);
4793
4822
  for (let n = 0; n < t.length; n++)
4794
- if (qi.test(t[n]) || St.test(t[n]) && t.slice(n + 1, n + 4).some((r) => St.test(r)))
4823
+ if (Qi.test(t[n]) || Et.test(t[n]) && t.slice(n + 1, n + 4).some((r) => Et.test(r)))
4795
4824
  return t.slice(0, n).join(`
4796
4825
  `).trim();
4797
4826
  return e;
4798
4827
  }
4799
- const Zi = /^(?:https?:|mailto:|tel:)/i, Ji = /^(?:https?:|cid:|data:image\/)/i;
4828
+ const Ji = /^(?:https?:|mailto:|tel:)/i, es = /^(?:https?:|cid:|data:image\/)/i;
4800
4829
  function he(e, t) {
4801
4830
  const n = e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`, "i"));
4802
4831
  return (n?.[1] ?? n?.[2] ?? n?.[3] ?? "").trim();
4803
4832
  }
4804
- const es = /(!\[[^\]]*\]\([^)]*\))/;
4805
- function Et(e) {
4806
- return e.replace(/\s+/g, " ").trim().split(es).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
4833
+ const ts = /(!\[[^\]]*\]\([^)]*\))/;
4834
+ function St(e) {
4835
+ return e.replace(/\s+/g, " ").trim().split(ts).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
4807
4836
  }
4808
4837
  function ge(e) {
4809
4838
  return e.replace(
@@ -4811,47 +4840,47 @@ function ge(e) {
4811
4840
  (t) => `%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2, "0")}`
4812
4841
  );
4813
4842
  }
4814
- function ts(e) {
4843
+ function ns(e) {
4815
4844
  return e.replace(/<img\b([^>]*?)\/?>/gi, (n, r) => {
4816
4845
  const o = he(r, "src");
4817
- return Ji.test(o) ? `![${Et(he(r, "alt"))}](${ge(o)})` : "";
4846
+ return es.test(o) ? `![${St(he(r, "alt"))}](${ge(o)})` : "";
4818
4847
  }).replace(
4819
4848
  /<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,
4820
4849
  (n, r, o) => {
4821
- const i = Et(o.replace(/<[^>]*>/g, "")), s = he(r, "href");
4822
- return Zi.test(s) ? `[${i || ge(s)}](${ge(s)})` : i;
4850
+ const i = St(o.replace(/<[^>]*>/g, "")), s = he(r, "href");
4851
+ return Ji.test(s) ? `[${i || ge(s)}](${ge(s)})` : i;
4823
4852
  }
4824
4853
  );
4825
4854
  }
4826
- const ns = /<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i, rs = /<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi, os = /<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;
4827
- function is(e, t) {
4855
+ const rs = /<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i, os = /<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi, is = /<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;
4856
+ function ss(e, t) {
4828
4857
  return /<table\b/i.test(e) || e.includes(`
4829
4858
 
4830
4859
  |`) || t.includes("![") || t.length > 200;
4831
4860
  }
4832
- const ss = 40, as = { left: "---", center: ":---:", right: "---:" };
4833
- function cs(e) {
4861
+ const as = 40, cs = { left: "---", center: ":---:", right: "---:" };
4862
+ function ls(e) {
4834
4863
  const t = e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);
4835
4864
  return t ? t[1].toLowerCase() : "left";
4836
4865
  }
4837
- function ls(e) {
4866
+ function us(e) {
4838
4867
  return e.replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().replace(/\|/g, "\\|");
4839
4868
  }
4840
- function us(e) {
4869
+ function ds(e) {
4841
4870
  const t = [];
4842
- for (const s of e.matchAll(rs)) {
4871
+ for (const s of e.matchAll(os)) {
4843
4872
  const a = [];
4844
- for (const u of s[1].matchAll(os)) {
4845
- const l = ls(u[3]);
4846
- if (is(u[3], l)) return null;
4847
- a.push({ text: l, align: cs(u[2]) });
4873
+ for (const u of s[1].matchAll(is)) {
4874
+ const l = us(u[3]);
4875
+ if (ss(u[3], l)) return null;
4876
+ a.push({ text: l, align: ls(u[2]) });
4848
4877
  }
4849
4878
  if (a.length === 0) return null;
4850
4879
  a.some((u) => u.text !== "") && t.push(a);
4851
4880
  }
4852
4881
  const n = t[0]?.length ?? 0;
4853
4882
  if (t.length < 2 || n < 2 || t.some((s) => s.length !== n)) return null;
4854
- const r = (s) => `| ${s.map((a) => a.text).join(" | ")} |`, o = t[1].map((s) => as[s.align]).join(" | "), i = t.slice(1).map(r).join(`
4883
+ const r = (s) => `| ${s.map((a) => a.text).join(" | ")} |`, o = t[1].map((s) => cs[s.align]).join(" | "), i = t.slice(1).map(r).join(`
4855
4884
  `);
4856
4885
  return `
4857
4886
 
@@ -4861,18 +4890,18 @@ ${i}
4861
4890
 
4862
4891
  `;
4863
4892
  }
4864
- function ds(e) {
4893
+ function ps(e) {
4865
4894
  return e.replace(/<\/(t[dh])\s*>/gi, " ").replace(/<\/tr\s*>/gi, `
4866
4895
  `).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi, "").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi, "");
4867
4896
  }
4868
- function ps(e) {
4897
+ function fs(e) {
4869
4898
  let t = e;
4870
- for (let n = 0; n < ss; n++) {
4871
- const r = ns.exec(t);
4899
+ for (let n = 0; n < as; n++) {
4900
+ const r = rs.exec(t);
4872
4901
  if (!r || r.index === void 0) break;
4873
- const i = us(r[1]) ?? `
4902
+ const i = ds(r[1]) ?? `
4874
4903
 
4875
- ${ds(r[1])}
4904
+ ${ps(r[1])}
4876
4905
 
4877
4906
  `;
4878
4907
  t = t.slice(0, r.index) + i + t.slice(r.index + r[0].length);
@@ -4882,7 +4911,7 @@ ${ds(r[1])}
4882
4911
  function Tt(e, t) {
4883
4912
  let n = e;
4884
4913
  return n = n.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), n = n.replace(/<!--[\s\S]*?-->/g, ""), n = n.replace(/<br\s*\/?>/gi, `
4885
- `), t && (n = ps(ts(n))), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
4914
+ `), t && (n = fs(ns(n))), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
4886
4915
 
4887
4916
  `), n = n.replace(/<\/(div|li|tr)>/gi, `
4888
4917
  `), n = n.replace(/<\/(td|th)>/gi, " "), n = n.replace(/<[^>]+>/g, ""), n = n.replace(/<[^>]*$/, ""), n;
@@ -4890,7 +4919,7 @@ function Tt(e, t) {
4890
4919
  function It(e) {
4891
4920
  return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
4892
4921
  }
4893
- const fs = {
4922
+ const ms = {
4894
4923
  euro: "€",
4895
4924
  pound: "£",
4896
4925
  yen: "¥",
@@ -4913,7 +4942,7 @@ const fs = {
4913
4942
  apos: "'"
4914
4943
  };
4915
4944
  function kt(e) {
4916
- return e.replace(/&nbsp;/gi, " ").replace(/&([a-z]+);/gi, (t, n) => fs[n.toLowerCase()] ?? t).replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => It(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => It(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
4945
+ return e.replace(/&nbsp;/gi, " ").replace(/&([a-z]+);/gi, (t, n) => ms[n.toLowerCase()] ?? t).replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => It(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => It(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
4917
4946
  }
4918
4947
  function wt(e) {
4919
4948
  return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
@@ -4921,79 +4950,79 @@ function wt(e) {
4921
4950
 
4922
4951
  `).trim();
4923
4952
  }
4924
- const ms = /<\s*(html|body|div|p|table|br|span)\b/i;
4925
- function kd(e) {
4926
- return ms.test(e);
4953
+ const hs = /<\s*(html|body|div|p|table|br|span)\b/i;
4954
+ function vd(e) {
4955
+ return hs.test(e);
4927
4956
  }
4928
- function wd(e) {
4957
+ function Md(e) {
4929
4958
  return cn(e, !1);
4930
4959
  }
4931
- function vd(e) {
4960
+ function Cd(e) {
4932
4961
  return cn(e, !0);
4933
4962
  }
4934
4963
  function cn(e, t) {
4935
4964
  if (typeof e != "string" || !e) return "";
4936
4965
  let n = e.length;
4937
- for (const s of Yi) {
4966
+ for (const s of qi) {
4938
4967
  const a = e.search(s);
4939
4968
  a >= 0 && a < n && (n = a);
4940
4969
  }
4941
4970
  const r = e.slice(0, n);
4942
4971
  let o = wt(kt(Tt(r, t)));
4943
- return o || (o = wt(kt(Tt(e, t)))), Qi(o) || o;
4972
+ return o || (o = wt(kt(Tt(e, t)))), Zi(o) || o;
4944
4973
  }
4945
4974
  export {
4946
- ra as ACTIVE_ASSIGNMENT_STATUSES,
4975
+ oa as ACTIVE_ASSIGNMENT_STATUSES,
4947
4976
  R as ACTIVITY_CATALOG,
4948
- li as AI_ATTACHMENT_LIMITS,
4949
- uu as AI_ATTACHMENT_MAX_PER_TURN,
4950
- lu as AI_ATTACHMENT_TURN_BUDGET,
4977
+ ui as AI_ATTACHMENT_LIMITS,
4978
+ pu as AI_ATTACHMENT_MAX_PER_TURN,
4979
+ du as AI_ATTACHMENT_TURN_BUDGET,
4951
4980
  Ct as AI_VENDORS,
4952
- On as ALLOWED_LINK_SCHEMES,
4953
- Yu as APP_PERMISSIONS,
4981
+ Nn as ALLOWED_LINK_SCHEMES,
4982
+ Qu as APP_PERMISSIONS,
4954
4983
  Xe as ARTIFACT_MAX_BLOCKS,
4955
- qs as ARTIFACT_MAX_BODY_BYTES,
4984
+ Qs as ARTIFACT_MAX_BODY_BYTES,
4956
4985
  Z as ARTIFACT_MAX_CELL_LEN,
4957
4986
  Ze as ARTIFACT_MAX_KPI_ITEMS,
4958
4987
  Ye as ARTIFACT_MAX_LIST_ITEMS,
4959
4988
  Qe as ARTIFACT_MAX_TABLE_COLUMNS,
4960
4989
  qe as ARTIFACT_MAX_TABLE_ROWS,
4961
- xt as ARTIFACT_MAX_TEXT_LEN,
4990
+ Ot as ARTIFACT_MAX_TEXT_LEN,
4962
4991
  Fn as ASSIGNMENT_SCOPE_KIND,
4963
- hu as ASSIST_BANDS,
4964
- mu as ASSIST_SOURCE_PROVIDER_GROUP,
4965
- ur as ATTENTION_STATUSES,
4992
+ yu as ASSIST_BANDS,
4993
+ gu as ASSIST_SOURCE_PROVIDER_GROUP,
4994
+ dr as ATTENTION_STATUSES,
4966
4995
  xo as AT_RISK_GAP,
4967
4996
  on as AUTH_APP_NAME,
4968
- po as AUTO_READY_MIN_PROPOSALS,
4969
- fo as AUTO_READY_RATE,
4997
+ fo as AUTO_READY_MIN_PROPOSALS,
4998
+ mo as AUTO_READY_RATE,
4970
4999
  _n as ActivityTypeRegistry,
4971
- Ns as BUILT_IN_ONLY,
4972
- dr as BULK_PENALTY,
4973
- ua as BUSINESS_ENTITY_LIST_SERVICE,
4974
- Ni as CADENCE_FLOOR_MS,
4975
- Ri as CADENCE_MIN_NEW_SEGMENTS,
4976
- Di as CADENCE_MIN_NOVELTY,
5000
+ Rs as BUILT_IN_ONLY,
5001
+ pr as BULK_PENALTY,
5002
+ pa as BUSINESS_ENTITY_LIST_SERVICE,
5003
+ Ri as CADENCE_FLOOR_MS,
5004
+ Di as CADENCE_MIN_NEW_SEGMENTS,
5005
+ $i as CADENCE_MIN_NOVELTY,
4977
5006
  xi as CADENCE_WINDOW_MS,
4978
- Mc as CLASSIFY_VARS,
4979
- $u as CONNECTOR_PROVIDER_GROUP,
4980
- Lu as CONTEXT_COLLECT_SERVICE,
4981
- Gs as CORE_DIMENSIONS,
4982
- hi as CommunicationScheme,
4983
- tr as DAY_MS,
4984
- Mo as DEFAULT_CHECK_IN_DAYS,
4985
- Hr as DEFAULT_FORECAST_WEEKS,
4986
- qa as DEFAULT_MEMORY_BUDGET,
4987
- xl as DEFAULT_NUMBER_PADDING,
4988
- Bi as DEFAULT_PHONE_REGION,
4989
- vl as DEFAULT_QUOTE_TEMPLATE_BLOCKS,
4990
- wl as DEFAULT_TEMPLATE_CONDITIONS,
4991
- ac as DEMAND_SOURCE_PROVIDER_GROUP,
4992
- Hu as DOCUMENT_APPLY_SERVICE,
4993
- Bu as DOCUMENT_DESCRIBE_SERVICE,
4994
- ju as DOCUMENT_INSPECT_SERVICE,
5007
+ Nc as CLASSIFY_VARS,
5008
+ Pu as CONNECTOR_PROVIDER_GROUP,
5009
+ Ku as CONTEXT_COLLECT_SERVICE,
5010
+ Ws as CORE_DIMENSIONS,
5011
+ gi as CommunicationScheme,
5012
+ nr as DAY_MS,
5013
+ Co as DEFAULT_CHECK_IN_DAYS,
5014
+ Gr as DEFAULT_FORECAST_WEEKS,
5015
+ Za as DEFAULT_MEMORY_BUDGET,
5016
+ Rl as DEFAULT_NUMBER_PADDING,
5017
+ ji as DEFAULT_PHONE_REGION,
5018
+ Cl as DEFAULT_QUOTE_TEMPLATE_BLOCKS,
5019
+ Ml as DEFAULT_TEMPLATE_CONDITIONS,
5020
+ lc as DEMAND_SOURCE_PROVIDER_GROUP,
5021
+ Wu as DOCUMENT_APPLY_SERVICE,
5022
+ Hu as DOCUMENT_DESCRIBE_SERVICE,
5023
+ Gu as DOCUMENT_INSPECT_SERVICE,
4995
5024
  Xe as DOCUMENT_MAX_BLOCKS,
4996
- qs as DOCUMENT_MAX_BODY_BYTES,
5025
+ Qs as DOCUMENT_MAX_BODY_BYTES,
4997
5026
  Z as DOCUMENT_MAX_CELL_LEN,
4998
5027
  Ze as DOCUMENT_MAX_KPI_ITEMS,
4999
5028
  Je as DOCUMENT_MAX_LETTERHEAD_FIELDS,
@@ -5001,442 +5030,444 @@ export {
5001
5030
  Mn as DOCUMENT_MAX_RECIPIENT_LINES,
5002
5031
  Qe as DOCUMENT_MAX_TABLE_COLUMNS,
5003
5032
  qe as DOCUMENT_MAX_TABLE_ROWS,
5004
- xt as DOCUMENT_MAX_TEXT_LEN,
5033
+ Ot as DOCUMENT_MAX_TEXT_LEN,
5005
5034
  et as DOCUMENT_MAX_TOTALS_ROWS,
5006
5035
  tn as DOCUMENT_OPERATIONS,
5007
- jo as DUTCH_SLOT_LABELS,
5008
- Oc as EMPTY_WORKFLOW,
5009
- Fo as ENABLED_TRANSACTION_KINDS,
5010
- xu as FEATURE_FOLDER_MANAGEMENT,
5011
- Ru as FEATURE_MESSAGE_REACTIONS,
5012
- Nu as FEATURE_REMOTE_SEARCH,
5036
+ Ho as DUTCH_SLOT_LABELS,
5037
+ xc as EMPTY_WORKFLOW,
5038
+ Bo as ENABLED_TRANSACTION_KINDS,
5039
+ Ru as FEATURE_FOLDER_MANAGEMENT,
5040
+ $u as FEATURE_MESSAGE_REACTIONS,
5041
+ Du as FEATURE_REMOTE_SEARCH,
5013
5042
  Re as FIXED_KINDS,
5014
5043
  ie as FIXED_LEVELS,
5015
5044
  Pe as FIXED_TYPES,
5016
- ga as FIXED_UNITS,
5017
- fr as FOLLOW_UP_HOURS,
5018
- El as FROZEN_WRITABLE_FIELDS,
5019
- er as HOUR_MS,
5020
- ms as HTML_BODY_RE,
5045
+ ba as FIXED_UNITS,
5046
+ mr as FOLLOW_UP_HOURS,
5047
+ Il as FROZEN_WRITABLE_FIELDS,
5048
+ tr as HOUR_MS,
5049
+ hs as HTML_BODY_RE,
5021
5050
  L as INELIGIBLE,
5022
- Wu as INSTALLATION_HEADER,
5023
- so as INTERACTION_KIND,
5024
- Cu as InteractionParticipantRole,
5051
+ Vu as INSTALLATION_HEADER,
5052
+ ao as INTERACTION_KIND,
5053
+ Ou as InteractionParticipantRole,
5025
5054
  Sr as KB_FALLBACK_LOCALE,
5026
5055
  rt as KB_LOCALES,
5027
5056
  rt as LOCALES,
5028
5057
  Ke as LOOSE_STATUSES,
5029
- sr as MAIL_HINT_HEADERS,
5030
- bs as MAX_ACTIONS,
5058
+ ar as MAIL_HINT_HEADERS,
5059
+ _s as MAX_ACTIONS,
5031
5060
  Bn as MAX_ASSIGNMENT_TURNS,
5032
- hs as MAX_BLOCKS,
5061
+ gs as MAX_BLOCKS,
5033
5062
  Ut as MAX_COLLECTION_DEPTH,
5034
- dd as MAX_EDITABLE_FILE_BYTES,
5035
- gs as MAX_FIELDS,
5036
- ys as MAX_LIST_ITEMS,
5037
- Va as MAX_MEMORY_BROWSE,
5038
- Ya as MAX_MEMORY_BUDGET,
5039
- za as MAX_MEMORY_CHARS,
5040
- Fi as MAX_SHOWN_KEYS,
5041
- Lo as MAX_TOPIC_CANDIDATES,
5042
- $o as MAX_TOPIC_EXAMPLES,
5063
+ jn as MAX_DELEGATION_DEPTH,
5064
+ fd as MAX_EDITABLE_FILE_BYTES,
5065
+ ys as MAX_FIELDS,
5066
+ bs as MAX_LIST_ITEMS,
5067
+ Xa as MAX_MEMORY_BROWSE,
5068
+ Qa as MAX_MEMORY_BUDGET,
5069
+ Ya as MAX_MEMORY_CHARS,
5070
+ Bi as MAX_SHOWN_KEYS,
5071
+ Po as MAX_TOPIC_CANDIDATES,
5072
+ Lo as MAX_TOPIC_EXAMPLES,
5043
5073
  me as MAX_TOPIC_EXAMPLE_CHARS,
5044
- pd as MAX_VIEWABLE_FILE_BYTES,
5045
- Xa as MIN_MEMORY_BUDGET,
5046
- bd as NAV_NOTICE_SLOT,
5047
- Kl as NL_PAYMENT_TERMS,
5048
- Za as NL_TAX_RATES,
5049
- zu as NOTIFICATION_SOURCE_PROVIDER_GROUP,
5050
- No as OFF_TRACK_GAP,
5051
- ec as ONBOARDING_SOURCE_PROVIDER_GROUP,
5074
+ md as MAX_VIEWABLE_FILE_BYTES,
5075
+ qa as MIN_MEMORY_BUDGET,
5076
+ Ad as NAV_NOTICE_SLOT,
5077
+ Fl as NL_PAYMENT_TERMS,
5078
+ ec as NL_TAX_RATES,
5079
+ Yu as NOTIFICATION_SOURCE_PROVIDER_GROUP,
5080
+ Ro as OFF_TRACK_GAP,
5081
+ nc as ONBOARDING_SOURCE_PROVIDER_GROUP,
5052
5082
  ve as PAUSE_HOLD,
5053
5083
  ke as PAUSE_SNOOZED,
5054
5084
  we as PAUSE_WAITING_FOR_CUSTOMER,
5055
- Dl as PAYMENT_TERM_METHODS,
5085
+ Ll as PAYMENT_TERM_METHODS,
5056
5086
  Ue as PHONE_REGIONS,
5057
5087
  nn as PRESENCE_ONLINE_WINDOW_MS,
5058
- Ei as PRESENCE_SURVIVES_OFFLINE,
5059
- Yo as PRODUCT_SCOPE_KIND,
5060
- nc as PROFILE_TOOL_DISPOSITIONS,
5061
- Mu as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
5062
- vu as PROVIDER_FEATURE_MESSAGE_WINDOW,
5063
- Xi as PUBLIC_EMAIL_DOMAINS,
5088
+ Ti as PRESENCE_SURVIVES_OFFLINE,
5089
+ qo as PRODUCT_SCOPE_KIND,
5090
+ oc as PROFILE_TOOL_DISPOSITIONS,
5091
+ Nu as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
5092
+ Cu as PROVIDER_FEATURE_MESSAGE_WINDOW,
5093
+ Yi as PUBLIC_EMAIL_DOMAINS,
5064
5094
  ot as READ_STEP_TYPES,
5065
- Ir as RELATED_SUBJECT_KINDS,
5095
+ kr as RELATED_SUBJECT_KINDS,
5066
5096
  en as RESERVED_STATUS_KEYS,
5067
- Gl as RESERVED_TYPE_KEYS,
5068
- rd as RESOURCE_ATTACHED_SERVICE,
5069
- ed as RESOURCE_DESCRIBE_SERVICE,
5070
- nd as RESOURCE_RESOLVE_SERVICE,
5071
- td as RESOURCE_SEARCH_SERVICE,
5072
- Yr as SCHEDULE_ENTRY_SCOPE_KIND,
5073
- sd as SCOPE_READ_ROUTE,
5074
- id as SCOPE_RELATED_ROUTE,
5075
- yd as SETTINGS_CATEGORIES,
5076
- ya as SIGNATURE_INTENTS,
5077
- pr as SLA_HOURS_BY_PRIORITY,
5078
- jc as SLA_METRICS,
5079
- Hc as SLA_PAUSE_REASONS,
5080
- lo as STEP_MAX_TOKENS_MAX,
5081
- co as STEP_MAX_TOKENS_MIN,
5082
- wo as STRATEGY_ITEM_SCOPE_KIND,
5083
- ir as SUMMARY_MIN_LAST_CHARS,
5084
- or as SUMMARY_MIN_MESSAGES,
5085
- md as SYNC_RUN_MAX_ERRORS,
5086
- fd as SYNC_TARGET_PROVIDER_GROUP,
5097
+ zl as RESERVED_TYPE_KEYS,
5098
+ id as RESOURCE_ATTACHED_SERVICE,
5099
+ nd as RESOURCE_DESCRIBE_SERVICE,
5100
+ od as RESOURCE_RESOLVE_SERVICE,
5101
+ rd as RESOURCE_SEARCH_SERVICE,
5102
+ qr as SCHEDULE_ENTRY_SCOPE_KIND,
5103
+ cd as SCOPE_READ_ROUTE,
5104
+ ad as SCOPE_RELATED_ROUTE,
5105
+ _d as SETTINGS_CATEGORIES,
5106
+ _a as SIGNATURE_INTENTS,
5107
+ fr as SLA_HOURS_BY_PRIORITY,
5108
+ Gc as SLA_METRICS,
5109
+ Wc as SLA_PAUSE_REASONS,
5110
+ uo as STEP_MAX_TOKENS_MAX,
5111
+ lo as STEP_MAX_TOKENS_MIN,
5112
+ vo as STRATEGY_ITEM_SCOPE_KIND,
5113
+ sr as SUMMARY_MIN_LAST_CHARS,
5114
+ ir as SUMMARY_MIN_MESSAGES,
5115
+ gd as SYNC_RUN_MAX_ERRORS,
5116
+ hd as SYNC_TARGET_PROVIDER_GROUP,
5087
5117
  Un as TERMINAL_ASSIGNMENT_STATUSES,
5088
- mo as TERMINAL_RUN_STATUSES,
5118
+ ho as TERMINAL_RUN_STATUSES,
5089
5119
  Le as TRANSACTION_KINDS,
5090
- Xo as TRANSACTION_SCOPE_KINDS,
5091
- wc as TRIGGER_VARS,
5092
- vr as UNKNOWN_KIND,
5093
- vo as UNKNOWN_LEVEL_ORDER,
5094
- Du as UNSUPPORTED,
5120
+ Yo as TRANSACTION_SCOPE_KINDS,
5121
+ Mc as TRIGGER_VARS,
5122
+ Mr as UNKNOWN_KIND,
5123
+ Mo as UNKNOWN_LEVEL_ORDER,
5124
+ Lu as UNSUPPORTED,
5095
5125
  kn as USAGE_DIMENSIONS,
5096
5126
  wn as USAGE_DIMENSION_IDS,
5097
- qr as WORKSTREAM_SCOPE_KIND,
5098
- ei as WORK_ACTIVITY_SCOPE_KIND,
5099
- tc as WORK_AREAS,
5100
- Fl as WORK_COMMENT_ADDED,
5101
- Yl as WORK_CYCLE_SYNC_KIND,
5102
- Bl as WORK_ITEM_ASSIGNED,
5103
- Zo as WORK_ITEM_SCOPE_KIND,
5104
- jl as WORK_ITEM_STATUS_CHANGED,
5105
- Jo as WORK_PROJECT_SCOPE_KIND,
5127
+ Qr as WORKSTREAM_SCOPE_KIND,
5128
+ ti as WORK_ACTIVITY_SCOPE_KIND,
5129
+ rc as WORK_AREAS,
5130
+ jl as WORK_COMMENT_ADDED,
5131
+ Ql as WORK_CYCLE_SYNC_KIND,
5132
+ Hl as WORK_ITEM_ASSIGNED,
5133
+ Jo as WORK_ITEM_SCOPE_KIND,
5134
+ Gl as WORK_ITEM_STATUS_CHANGED,
5135
+ ei as WORK_PROJECT_SCOPE_KIND,
5106
5136
  te as W_PRIORITY,
5107
- bl as acceptExampleCandidate,
5108
- eo as actingIdentityKey,
5109
- gl as activeWorkTypes,
5110
- As as activityIconOf,
5137
+ Al as acceptExampleCandidate,
5138
+ to as actingIdentityKey,
5139
+ bl as activeWorkTypes,
5140
+ Es as activityIconOf,
5111
5141
  Os as activityJoinUrl,
5112
5142
  hn as activitySnippet,
5113
5143
  gn as activityTextParams,
5114
- Cs as activityTimelineText,
5144
+ Ns as activityTimelineText,
5115
5145
  An as activityTimestamp,
5116
5146
  k as activityTypeInfo,
5117
- _c as actorKey,
5118
- yl as addExampleCandidate,
5147
+ Ec as actorKey,
5148
+ _l as addExampleCandidate,
5119
5149
  De as addWorkingMs,
5120
- Qu as agePresenceEntry,
5121
- ci as aiAttachmentKind,
5122
- du as aiAttachmentRejection,
5123
- ze as aiBudgetLimit,
5124
- js as aiBudgetPeriodKey,
5125
- Sn as aiBudgetPeriodStart,
5126
- Bs as aiBudgetState,
5127
- Fs as aiVendorAcceptsAttachment,
5128
- Ps as aiVendorDefaultModel,
5129
- Ls as aiVendorLabel,
5130
- Us as aiVendorNeedsBaseUrl,
5131
- Ks as aiVendorsWith,
5132
- Gn as allocate,
5150
+ Ju as agePresenceEntry,
5151
+ li as aiAttachmentKind,
5152
+ fu as aiAttachmentRejection,
5153
+ Ve as aiBudgetLimit,
5154
+ Hs as aiBudgetPeriodKey,
5155
+ En as aiBudgetPeriodStart,
5156
+ js as aiBudgetState,
5157
+ Bs as aiVendorAcceptsAttachment,
5158
+ Ks as aiVendorDefaultModel,
5159
+ Ps as aiVendorLabel,
5160
+ Fs as aiVendorNeedsBaseUrl,
5161
+ Us as aiVendorsWith,
5162
+ Wn as allocate,
5133
5163
  sn as appNameFromPath,
5134
- dl as applyRounding,
5135
- ba as applySignature,
5136
- uo as approvalRate,
5137
- Zs as artifactBodyBytes,
5138
- Js as artifactOutline,
5164
+ fl as applyRounding,
5165
+ Aa as applySignature,
5166
+ po as approvalRate,
5167
+ Js as artifactBodyBytes,
5168
+ ea as artifactOutline,
5139
5169
  Kn as artifactToMarkdown,
5140
- Tc as assignmentMismatch,
5141
- ia as assignmentScopeKey,
5142
- ca as assignmentSubject,
5143
- sc as availabilityByPerson,
5144
- rc as belongsOnCalendar,
5145
- da as belongsToEntity,
5170
+ kc as assignmentMismatch,
5171
+ sa as assignmentScopeKey,
5172
+ la as assignmentSubject,
5173
+ cc as availabilityByPerson,
5174
+ ic as belongsOnCalendar,
5175
+ fa as belongsToEntity,
5146
5176
  xs as buildActivityPreview,
5147
- Eu as buildChannelIntents,
5148
- ea as buildShareKeys,
5149
- Ui as buildWindow,
5150
- Jn as businessEntitySender,
5151
- Cr as calendarDaysBetween,
5177
+ Iu as buildChannelIntents,
5178
+ ta as buildShareKeys,
5179
+ Fi as buildWindow,
5180
+ er as businessEntitySender,
5181
+ Nr as calendarDaysBetween,
5152
5182
  $e as calendarOf,
5153
- Fa as canNestUnder,
5154
- Zc as canParent,
5155
- oc as capacityTotal,
5156
- hc as capacityWeights,
5157
- ks as carriesText,
5158
- ja as categoryLabel,
5159
- ri as categoryOf,
5160
- wu as channelKindForScheme,
5183
+ ja as canNestUnder,
5184
+ el as canParent,
5185
+ sc as capacityTotal,
5186
+ yc as capacityWeights,
5187
+ ws as carriesText,
5188
+ Ga as categoryLabel,
5189
+ oi as categoryOf,
5190
+ Mu as channelKindForScheme,
5161
5191
  Ss as channelKindOf,
5162
- cl as checkInOverdueMs,
5163
- Cc as clampStepMaxTokens,
5164
- Ma as classifyMail,
5165
- vd as cleanMessageMarkdown,
5166
- wd as cleanMessageText,
5167
- pa as codeQuery,
5168
- yu as compareAssistRank,
5169
- Do as compareWorkTypes,
5170
- Zn as conditionHolds,
5171
- Bo as copyFrom,
5172
- z as countsAsPlanned,
5173
- ic as coverageByPerson,
5174
- lc as coverageFor,
5192
+ ul as checkInOverdueMs,
5193
+ Oc as clampStepMaxTokens,
5194
+ Na as classifyMail,
5195
+ Cd as cleanMessageMarkdown,
5196
+ Md as cleanMessageText,
5197
+ ma as codeQuery,
5198
+ _u as compareAssistRank,
5199
+ $o as compareWorkTypes,
5200
+ Jn as conditionHolds,
5201
+ jo as copyFrom,
5202
+ V as countsAsPlanned,
5203
+ ac as coverageByPerson,
5204
+ dc as coverageFor,
5175
5205
  Bt as coversWorkstream,
5176
- Rl as currentPeriod,
5206
+ $l as currentPeriod,
5177
5207
  jt as cycleDayIndex,
5178
- au as cycleOrder,
5179
- cu as cycleState,
5180
- la as decideAssignmentState,
5181
- gd as decideCadence,
5182
- Au as decideIncomingCall,
5183
- Er as defaultLocaleOf,
5184
- ru as defaultStatusKey,
5208
+ lu as cycleOrder,
5209
+ uu as cycleState,
5210
+ ua as decideAssignmentState,
5211
+ bd as decideCadence,
5212
+ Su as decideIncomingCall,
5213
+ Tr as defaultLocaleOf,
5214
+ iu as defaultStatusKey,
5185
5215
  Vo as defaultTemplateBlocks,
5186
- Ou as defineIntent,
5187
- _r as depthOf,
5188
- qu as derivePresence,
5189
- zs as describeClause,
5190
- Su as disabledIntentsFromCapabilities,
5191
- Zs as documentBodyBytes,
5192
- Gu as documentKindOf,
5193
- Js as documentOutline,
5216
+ xu as defineIntent,
5217
+ da as delegationRefusal,
5218
+ Ar as depthOf,
5219
+ Zu as derivePresence,
5220
+ Xs as describeClause,
5221
+ Tu as disabledIntentsFromCapabilities,
5222
+ Js as documentBodyBytes,
5223
+ zu as documentKindOf,
5224
+ ea as documentOutline,
5194
5225
  Kn as documentToMarkdown,
5195
- Fu as documentToText,
5196
- Vc as dueAtOf,
5197
- $l as dueDateFrom,
5198
- ul as elapsedSeconds,
5199
- Sd as emailDomain,
5200
- Id as endpointKey,
5201
- Rr as erlangC,
5202
- ki as extractParams,
5203
- Pi as extractTerms,
5204
- Ea as fillDocument,
5205
- Qn as fillText,
5206
- Iu as filterByEndpoint,
5207
- Tu as filterByIntent,
5208
- mi as filterByTargetScheme,
5226
+ ju as documentToText,
5227
+ Xc as dueAtOf,
5228
+ Pl as dueDateFrom,
5229
+ pl as elapsedSeconds,
5230
+ Td as emailDomain,
5231
+ wd as endpointKey,
5232
+ Dr as erlangC,
5233
+ wi as extractParams,
5234
+ Ki as extractTerms,
5235
+ Ia as fillDocument,
5236
+ Zn as fillText,
5237
+ wu as filterByEndpoint,
5238
+ ku as filterByIntent,
5239
+ hi as filterByTargetScheme,
5209
5240
  Vs as filterableDimensions,
5210
5241
  oe as findAiVendor,
5211
- el as fixedLevelForName,
5212
- zl as fixedTypeForName,
5213
- Xl as fixedTypes,
5214
- Vu as flattenLocales,
5242
+ nl as fixedLevelForName,
5243
+ Yl as fixedTypeForName,
5244
+ ql as fixedTypes,
5245
+ Xu as flattenLocales,
5215
5246
  W as floorToPeriod,
5216
- pc as forecastIntervals,
5217
- Jr as formatActingIdentity,
5247
+ mc as forecastIntervals,
5248
+ eo as formatActingIdentity,
5218
5249
  D as formatCents,
5219
- fl as formatClock,
5220
- pl as formatHm,
5221
- Ql as formatItemKey,
5250
+ hl as formatClock,
5251
+ ml as formatHm,
5252
+ Jl as formatItemKey,
5222
5253
  G as formatPeriod,
5223
- Nl as formatSeriesNumber,
5224
- Yc as formatSlaDuration,
5225
- fu as freshSources,
5226
- Rs as getActivitySeenUserIds,
5227
- _a as getContactEndpoints,
5228
- $a as getShortTitle,
5229
- Da as getUrgencyScore,
5230
- Uc as hasReacted,
5231
- tl as healthCategory,
5232
- nl as healthsInCategory,
5254
+ Dl as formatSeriesNumber,
5255
+ Qc as formatSlaDuration,
5256
+ hu as freshSources,
5257
+ Ds as getActivitySeenUserIds,
5258
+ Ea as getContactEndpoints,
5259
+ Pa as getShortTitle,
5260
+ La as getUrgencyScore,
5261
+ Bc as hasReacted,
5262
+ rl as healthCategory,
5263
+ ol as healthsInCategory,
5233
5264
  Ft as heightOf,
5234
- Pa as helpCenterText,
5235
- Ic as humanizeAction,
5236
- ao as interactionIdOf,
5237
- Ul as isAgentUser,
5238
- Na as isAssigned,
5239
- oa as isAssignmentTerminal,
5240
- ro as isAssignmentTrigger,
5241
- Rc as isAutoReady,
5242
- br as isAwaitingThem,
5243
- $s as isChatMessageActivity,
5244
- Ra as isClosed,
5245
- vs as isConnectedType,
5246
- ad as isDeepLink,
5247
- Ar as isDescendant,
5248
- Ia as isEligible,
5249
- Ds as isEmailActivity,
5250
- Sl as isFrozen,
5251
- Wc as isHeldClock,
5252
- kd as isHtmlBody,
5253
- $c as isInFlight,
5254
- lr as isInteractionUnseen,
5255
- cd as isLandingPath,
5256
- rr as isLikelyBulk,
5265
+ Ua as helpCenterText,
5266
+ wc as humanizeAction,
5267
+ co as interactionIdOf,
5268
+ Bl as isAgentUser,
5269
+ Da as isAssigned,
5270
+ ia as isAssignmentTerminal,
5271
+ oo as isAssignmentTrigger,
5272
+ $c as isAutoReady,
5273
+ _r as isAwaitingThem,
5274
+ Ls as isChatMessageActivity,
5275
+ $a as isClosed,
5276
+ Ms as isConnectedType,
5277
+ ld as isDeepLink,
5278
+ Er as isDescendant,
5279
+ wa as isEligible,
5280
+ $s as isEmailActivity,
5281
+ Tl as isFrozen,
5282
+ Vc as isHeldClock,
5283
+ vd as isHtmlBody,
5284
+ Pc as isInFlight,
5285
+ ur as isInteractionUnseen,
5286
+ ud as isLandingPath,
5287
+ or as isLikelyBulk,
5257
5288
  vt as isMessageShape,
5258
- Es as isMessageType,
5259
- vi as isMoreSpecificPattern,
5289
+ Ts as isMessageType,
5290
+ Mi as isMoreSpecificPattern,
5260
5291
  Mt as isNoteShape,
5261
- ko as isOpenClock,
5262
- pu as isOutwardTool,
5263
- hr as isParked,
5264
- ho as isPaused,
5265
- ws as isPlaybookAuthoredType,
5266
- Ed as isPublicEmailDomain,
5267
- ud as isPublicPath,
5268
- gr as isReminderActive,
5269
- Is as isReplyableType,
5270
- Oa as isSlaAtRisk,
5271
- Dc as isTerminal,
5272
- wa as isThreadLongEnough,
5273
- Ms as isTranscriptType,
5274
- ou as isWorkClosed,
5275
- hl as isWorkTypeVisible,
5276
- eu as itemDossierKeys,
5277
- N as kindFor,
5278
- ni as ladderFor,
5279
- Co as levelIn,
5292
+ wo as isOpenClock,
5293
+ mu as isOutwardTool,
5294
+ gr as isParked,
5295
+ go as isPaused,
5296
+ vs as isPlaybookAuthoredType,
5297
+ Id as isPublicEmailDomain,
5298
+ pd as isPublicPath,
5299
+ yr as isReminderActive,
5300
+ ks as isReplyableType,
5301
+ xa as isSlaAtRisk,
5302
+ Lc as isTerminal,
5303
+ Ma as isThreadLongEnough,
5304
+ Cs as isTranscriptType,
5305
+ su as isWorkClosed,
5306
+ yl as isWorkTypeVisible,
5307
+ nu as itemDossierKeys,
5308
+ x as kindFor,
5309
+ ri as ladderFor,
5310
+ No as levelIn,
5280
5311
  Ce as levelOrder,
5281
- wr as lineNet,
5282
- La as linkLabel,
5283
- Al as listedTransactionKinds,
5284
- Hs as listeningAllowed,
5285
- Ua as localeInstruction,
5286
- Ka as localeName,
5287
- Ba as localesOf,
5288
- _d as looksLikeEmail,
5312
+ vr as lineNet,
5313
+ Ka as linkLabel,
5314
+ Sl as listedTransactionKinds,
5315
+ Gs as listeningAllowed,
5316
+ Ba as localeInstruction,
5317
+ Fa as localeName,
5318
+ Ha as localesOf,
5319
+ Ed as looksLikeEmail,
5289
5320
  Dt as lookup,
5290
- ma as marginCents,
5291
- Uu as markdownToDocument,
5292
- ku as matchContactToIntents,
5293
- Mi as matchPublicRoute,
5294
- Ga as mcpCredentialScope,
5295
- Wa as mcpToolPrefix,
5296
- rl as measureRatio,
5297
- hd as mergeShownKeys,
5321
+ ga as marginCents,
5322
+ Bu as markdownToDocument,
5323
+ vu as matchContactToIntents,
5324
+ Ci as matchPublicRoute,
5325
+ za as mcpCredentialScope,
5326
+ Va as mcpToolPrefix,
5327
+ il as measureRatio,
5328
+ yd as mergeShownKeys,
5298
5329
  mn as messageCountsAs,
5299
- Xs as metricOption,
5330
+ Ys as metricOption,
5300
5331
  Ht as minutesOn,
5301
- Td as needsPhoneRegion,
5302
- Ts as nestsUnderParent,
5303
- Jc as nextLevelBelow,
5304
- zc as nextSlaClock,
5305
- Tl as nextVersion,
5306
- Qs as normalizeArtifactBlocks,
5307
- _s as normalizeBlocks,
5308
- Qs as normalizeDocumentBlocks,
5332
+ kd as needsPhoneRegion,
5333
+ Is as nestsUnderParent,
5334
+ tl as nextLevelBelow,
5335
+ Yc as nextSlaClock,
5336
+ kl as nextVersion,
5337
+ Zs as normalizeArtifactBlocks,
5338
+ As as normalizeBlocks,
5339
+ Zs as normalizeDocumentBlocks,
5309
5340
  an as normalizeEmail,
5310
5341
  P as normalizeExample,
5311
- jn as normalizeGtin,
5312
- Xu as notificationPrefKey,
5313
- Ki as novelty,
5314
- Ku as operationDescriptor,
5315
- Pu as operationsForKind,
5316
- Ta as organizationSender,
5342
+ Hn as normalizeGtin,
5343
+ qu as notificationPrefKey,
5344
+ Ui as novelty,
5345
+ Fu as operationDescriptor,
5346
+ Uu as operationsForKind,
5347
+ ka as organizationSender,
5317
5348
  pe as overlapSeconds,
5318
- cc as overlaps,
5319
- ol as paceRatio,
5320
- ka as parkMarksById,
5321
- yc as parseActingIdentity,
5322
- fa as parseAmount,
5323
- Fc as parseClockMinutes,
5324
- Zl as parseItemKey,
5325
- Ii as pathToRegex,
5349
+ uc as overlaps,
5350
+ sl as paceRatio,
5351
+ va as parkMarksById,
5352
+ _c as parseActingIdentity,
5353
+ ha as parseAmount,
5354
+ jc as parseClockMinutes,
5355
+ eu as parseItemKey,
5356
+ ki as pathToRegex,
5326
5357
  Wt as patternFor,
5327
5358
  Gt as patternStartTime,
5328
- Bc as pauseBitFor,
5329
- Ws as periodsInRange,
5330
- Ad as phoneSuffix,
5331
- va as pickMailHeaders,
5332
- Sa as pickTemplate,
5333
- gc as placeLumps,
5359
+ Hc as pauseBitFor,
5360
+ zs as periodsInRange,
5361
+ Sd as phoneSuffix,
5362
+ Ca as pickMailHeaders,
5363
+ Ta as pickTemplate,
5364
+ bc as placeLumps,
5334
5365
  pn as plainTextFromMarkdown,
5335
- Gc as planSlaEvent,
5336
- uc as plannedBillable,
5337
- Br as plannedWorkTypeKey,
5338
- no as playbookActor,
5339
- Nc as procedureOf,
5340
- Ml as productScopeKey,
5341
- tu as projectDossierKeys,
5342
- wi as publicBasePathFor,
5343
- ld as publicRoutePatterns,
5344
- aa as reactionWakesAssignment,
5366
+ zc as planSlaEvent,
5367
+ pc as plannedBillable,
5368
+ jr as plannedWorkTypeKey,
5369
+ ro as playbookActor,
5370
+ Dc as procedureOf,
5371
+ Nl as productScopeKey,
5372
+ ru as projectDossierKeys,
5373
+ vi as publicBasePathFor,
5374
+ dd as publicRoutePatterns,
5375
+ ca as reactionWakesAssignment,
5345
5376
  ye as readPath,
5346
5377
  de as readStepError,
5347
- mr as recencyOf,
5348
- Aa as recipientLocale,
5349
- io as refKey,
5350
- zi as registrableDomain,
5351
- Ko as rejectExampleCandidate,
5352
- Qa as relatedByDefault,
5378
+ hr as recencyOf,
5379
+ Sa as recipientLocale,
5380
+ so as refKey,
5381
+ Xi as registrableDomain,
5382
+ Uo as rejectExampleCandidate,
5383
+ Ja as relatedByDefault,
5353
5384
  Me as remainingMsOf,
5354
- Lr as requiredAgents,
5355
- Fr as requirementFor,
5356
- pi as resolveAccountCapabilities,
5385
+ Pr as requiredAgents,
5386
+ Br as requirementFor,
5387
+ fi as resolveAccountCapabilities,
5357
5388
  be as resolveActivityText,
5358
- di as resolveChannelIntents,
5359
- ha as resolvePrice,
5360
- Xn as resolveSignature,
5361
- Zu as resolveWorkMode,
5362
- od as resourceKindOf,
5363
- al as rollupChildren,
5364
- V as roundHalfUp,
5365
- bc as runActor,
5366
- Pc as runInteractionId,
5389
+ pi as resolveChannelIntents,
5390
+ ya as resolvePrice,
5391
+ Yn as resolveSignature,
5392
+ ed as resolveWorkMode,
5393
+ sd as resourceKindOf,
5394
+ ll as rollupChildren,
5395
+ z as roundHalfUp,
5396
+ Ac as runActor,
5397
+ Uc as runInteractionId,
5367
5398
  Dn as sanitizeInline,
5368
5399
  Oi as sanitizeTranscript,
5369
- fc as scheduleEntryScopeKey,
5370
- xa as scoreInteraction,
5371
- Hl as scoreWorkItem,
5372
- Ha as selectLenses,
5373
- Dr as serviceLevel,
5374
- _u as sessionsHoldCannotReach,
5375
- bu as sessionsToHold,
5376
- Ll as shadowTermsByCode,
5400
+ hc as scheduleEntryScopeKey,
5401
+ Ra as scoreInteraction,
5402
+ Wl as scoreWorkItem,
5403
+ Wa as selectLenses,
5404
+ $r as serviceLevel,
5405
+ Eu as sessionsHoldCannotReach,
5406
+ Au as sessionsToHold,
5407
+ Kl as shadowTermsByCode,
5377
5408
  Rt as shareKeyForTeam,
5378
- Nt as shareKeyForUser,
5379
- ta as shareKeysForViewer,
5380
- dc as shortfalls,
5381
- Ju as shouldRunAudioPipeline,
5382
- Xc as slaBadgeTone,
5383
- Ca as slaHoursByInbox,
5384
- yr as slaHoursFor,
5385
- oi as sortStatuses,
5386
- ui as sourceKey,
5387
- Zr as spreadOverWeights,
5388
- nu as statusIn,
5389
- xc as stepsOf,
5390
- Qc as strategyAncestorKeysFor,
5391
- qc as strategyDossierKeys,
5409
+ xt as shareKeyForUser,
5410
+ na as shareKeysForViewer,
5411
+ fc as shortfalls,
5412
+ td as shouldRunAudioPipeline,
5413
+ qc as slaBadgeTone,
5414
+ Oa as slaHoursByInbox,
5415
+ br as slaHoursFor,
5416
+ ii as sortStatuses,
5417
+ di as sourceKey,
5418
+ Jr as spreadOverWeights,
5419
+ ou as statusIn,
5420
+ Rc as stepsOf,
5421
+ Jc as strategyAncestorKeysFor,
5422
+ Zc as strategyDossierKeys,
5392
5423
  Zt as strategyItemScopeKey,
5393
5424
  fn as stripHtml,
5394
- Lc as subjectKeyOf,
5395
- Vt as subjectOf,
5396
- gu as subjectRef,
5397
- Jl as suggestProjectKey,
5398
- il as suggestedHealth,
5399
- Kc as summarizeReactions,
5400
- Ec as targetById,
5401
- Sc as targetForActivityType,
5402
- ll as targetOrder,
5403
- kr as taxRateFor,
5425
+ Kc as subjectKeyOf,
5426
+ zt as subjectOf,
5427
+ bu as subjectRef,
5428
+ tu as suggestProjectKey,
5429
+ al as suggestedHealth,
5430
+ Fc as summarizeReactions,
5431
+ Ic as targetById,
5432
+ Tc as targetForActivityType,
5433
+ dl as targetOrder,
5434
+ wr as taxRateFor,
5404
5435
  Or as termsFor,
5405
- to as toActingIdentity,
5436
+ no as toActingIdentity,
5406
5437
  At as toE164,
5407
- Pl as toTransactionTerm,
5408
- oo as toolBareName,
5409
- kc as toolDisplayName,
5438
+ Ul as toTransactionTerm,
5439
+ io as toolBareName,
5440
+ vc as toolDisplayName,
5410
5441
  ne as toolName,
5411
- na as toolSourceKinds,
5412
- Uo as topicOfferedForTeam,
5413
- _l as topicsForTeam,
5414
- $r as trafficIntensity,
5415
- Il as transactionContext,
5416
- Ol as transactionDossierKeys,
5417
- Cl as transactionIdFromScope,
5442
+ ra as toolSourceKinds,
5443
+ Fo as topicOfferedForTeam,
5444
+ El as topicsForTeam,
5445
+ Lr as trafficIntensity,
5446
+ wl as transactionContext,
5447
+ xl as transactionDossierKeys,
5448
+ Ol as transactionIdFromScope,
5418
5449
  F as transactionKind,
5419
- qo as transactionScopeKey,
5420
- kl as transactionSlots,
5421
- Ja as transactionTotals,
5422
- vc as triggerFillsVar,
5423
- Po as truncateExample,
5424
- Vl as typeIn,
5425
- Wl as typesFor,
5426
- iu as uniqueWorkStatusKey,
5427
- ml as uniqueWorkTypeKey,
5450
+ Qo as transactionScopeKey,
5451
+ vl as transactionSlots,
5452
+ tc as transactionTotals,
5453
+ Cc as triggerFillsVar,
5454
+ Ko as truncateExample,
5455
+ Xl as typeIn,
5456
+ Vl as typesFor,
5457
+ au as uniqueWorkStatusKey,
5458
+ gl as uniqueWorkTypeKey,
5428
5459
  vn as usageMetricId,
5429
- Ys as usageMetrics,
5430
- su as validateStatuses,
5431
- Ac as valueAtPath,
5432
- Ne as waitHoursOf,
5433
- sa as wakesAssignment,
5434
- ql as workActivityScopeKey,
5435
- ti as workItemScopeKey,
5460
+ qs as usageMetrics,
5461
+ cu as validateStatuses,
5462
+ Sc as valueAtPath,
5463
+ xe as waitHoursOf,
5464
+ aa as wakesAssignment,
5465
+ Zl as workActivityScopeKey,
5466
+ ni as workItemScopeKey,
5436
5467
  Jt as workProjectScopeKey,
5437
- sl as workRatio,
5438
- ii as workStatusKey,
5439
- Ro as workTypeKey,
5468
+ cl as workRatio,
5469
+ si as workStatusKey,
5470
+ Do as workTypeKey,
5440
5471
  Ie as workingMsBetween,
5441
- mc as workstreamScopeKey
5472
+ gc as workstreamScopeKey
5442
5473
  };