@opencxh/domain 1.254.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" },
@@ -2439,12 +2468,12 @@ const wc = [
2439
2468
  { name: "textRaw", type: "string" },
2440
2469
  // Only filled on INTERACTION_STATUS_CHANGED; a filter like `trigger.toStatus == "closed"` is
2441
2470
  // the trigger for "remember this when closing".
2442
- { name: "fromStatus", type: "string" },
2443
- { name: "toStatus", type: "string" },
2471
+ { name: "fromStatus", type: "string", onlyFor: ["INTERACTION_STATUS_CHANGED"] },
2472
+ { name: "toStatus", type: "string", onlyFor: ["INTERACTION_STATUS_CHANGED"] },
2444
2473
  // Only on WORK_ITEM_STATUS_CHANGED: the *category* of the new status (`todo`/`in_progress`/
2445
2474
  // `done`). A filter must key on this and not on `toStatus`, because status keys are the
2446
2475
  // organisation's own — a template shipping `"done"` as a key fits exactly one ladder.
2447
- { name: "toCategory", type: "string" },
2476
+ { name: "toCategory", type: "string", onlyFor: ["WORK_ITEM_STATUS_CHANGED"] },
2448
2477
  // Who this conversation is with. The identity layer records the resolution as
2449
2478
  // `contact:<id>`/`company:<id>` in `Interaction.partyKeys`, so this is a recorded fact and not a
2450
2479
  // guess via `remoteParty`. Empty while the identity is unresolved (an unknown number, a first
@@ -2462,7 +2491,11 @@ const wc = [
2462
2491
  // `buildTriggerVars` cannot fill it itself: the job does that with the catalog in hand, before
2463
2492
  // the trigger filter runs — like contactId/companyId above.
2464
2493
  { name: "assigneeUserId", type: "string" }
2465
- ], vc = {
2494
+ ];
2495
+ function Cc(e, t) {
2496
+ return !e.onlyFor || !t?.length ? !0 : t.some((n) => e.onlyFor?.includes(n));
2497
+ }
2498
+ const Nc = {
2466
2499
  topics: [
2467
2500
  { name: "topicId", type: "string" },
2468
2501
  { name: "topic", type: "string" },
@@ -2476,58 +2509,58 @@ const wc = [
2476
2509
  // Deliberately empty: the fields come from `ClassifyStep.fields` and so differ per step.
2477
2510
  extract: []
2478
2511
  };
2479
- function io(e) {
2512
+ function so(e) {
2480
2513
  return `${e.type}:${e.id}`;
2481
2514
  }
2482
- const so = "interaction";
2483
- function ao(e) {
2484
- 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;
2485
2518
  }
2486
- const co = 64, lo = 8e3;
2487
- function Mc(e) {
2519
+ const lo = 64, uo = 8e3;
2520
+ function Oc(e) {
2488
2521
  const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
2489
2522
  if (!(!Number.isFinite(t) || t <= 0))
2490
- return Math.min(Math.max(Math.round(t), co), lo);
2523
+ return Math.min(Math.max(Math.round(t), lo), uo);
2491
2524
  }
2492
- const Cc = { kind: "workflow", steps: [] };
2493
- function Oc(e) {
2525
+ const xc = { kind: "workflow", steps: [] };
2526
+ function Rc(e) {
2494
2527
  return e?.kind === "workflow" ? e.steps : [];
2495
2528
  }
2496
- function xc(e) {
2529
+ function Dc(e) {
2497
2530
  return e?.kind === "procedure" ? e.procedure : void 0;
2498
2531
  }
2499
- function uo(e) {
2532
+ function po(e) {
2500
2533
  const t = e?.approved ?? 0, n = t + (e?.rejected ?? 0);
2501
2534
  return { total: n, rate: n ? t / n : 0 };
2502
2535
  }
2503
- const po = 10, fo = 0.9;
2504
- function Nc(e) {
2505
- const { total: t, rate: n } = uo(e);
2506
- 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;
2507
2540
  }
2508
- const mo = ["done", "escalated", "failed", "stopped"];
2509
- function Rc(e) {
2510
- return mo.includes(e);
2541
+ const ho = ["done", "escalated", "failed", "stopped"];
2542
+ function Lc(e) {
2543
+ return ho.includes(e);
2511
2544
  }
2512
- function ho(e) {
2545
+ function go(e) {
2513
2546
  return e === "waiting";
2514
2547
  }
2515
- function Dc(e) {
2516
- return e === "running" || ho(e);
2548
+ function Pc(e) {
2549
+ return e === "running" || go(e);
2517
2550
  }
2518
- function Vt(e) {
2551
+ function zt(e) {
2519
2552
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
2520
2553
  }
2521
- function $c(e) {
2522
- const t = Vt(e);
2523
- return t ? io(t) : void 0;
2554
+ function Kc(e) {
2555
+ const t = zt(e);
2556
+ return t ? so(t) : void 0;
2524
2557
  }
2525
- function Lc(e) {
2526
- return ao(Vt(e));
2558
+ function Uc(e) {
2559
+ return co(zt(e));
2527
2560
  }
2528
- function Pc(e) {
2561
+ function Fc(e) {
2529
2562
  const t = [], n = /* @__PURE__ */ new Map();
2530
- for (const r of [...e].sort(go)) {
2563
+ for (const r of [...e].sort(yo)) {
2531
2564
  const o = n.get(r.emoji);
2532
2565
  if (o) {
2533
2566
  o.push(r.actor);
@@ -2540,29 +2573,29 @@ function Pc(e) {
2540
2573
  return { emoji: r, count: o.length, actors: o };
2541
2574
  }).sort((r, o) => o.count - r.count || t.indexOf(r.emoji) - t.indexOf(o.emoji));
2542
2575
  }
2543
- const go = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
2544
- function Kc(e, t) {
2576
+ const yo = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
2577
+ function Bc(e, t) {
2545
2578
  return t ? e.actors.some((n) => n.type === "user" && n.id === t) : !1;
2546
2579
  }
2547
- const Te = 6e4, yo = 36e5, X = 864e5, zt = 800;
2580
+ const Te = 6e4, bo = 36e5, X = 864e5, Vt = 800;
2548
2581
  function ct(e, t) {
2549
2582
  const n = Date.UTC(e, t + 1, 0);
2550
- return n - new Date(n).getUTCDay() * X + yo;
2583
+ return n - new Date(n).getUTCDay() * X + bo;
2551
2584
  }
2552
- function bo(e) {
2585
+ function _o(e) {
2553
2586
  const t = new Date(e).getUTCFullYear();
2554
2587
  return e >= ct(t, 2) && e < ct(t, 9);
2555
2588
  }
2556
2589
  function Xt(e, t) {
2557
- const n = t.dst === "eu" && bo(e) ? 60 : 0;
2590
+ const n = t.dst === "eu" && _o(e) ? 60 : 0;
2558
2591
  return (t.utcOffsetMinutes + n) * Te;
2559
2592
  }
2560
- function _o(e) {
2593
+ function Ao(e) {
2561
2594
  return (e + 3) % 7 + 1;
2562
2595
  }
2563
2596
  function Yt(e, t) {
2564
2597
  const n = Xt(e, t), r = e + n, o = Math.floor(r / X);
2565
- if (!t.days.includes(_o(o))) return null;
2598
+ if (!t.days.includes(Ao(o))) return null;
2566
2599
  const i = o * X;
2567
2600
  return {
2568
2601
  open: i + t.fromMinutes * Te - n,
@@ -2577,7 +2610,7 @@ function Ie(e, t, n) {
2577
2610
  if (t <= e) return 0;
2578
2611
  if (!n) return t - e;
2579
2612
  let r = 0, o = e;
2580
- for (let i = 0; i < zt && o < t; i++) {
2613
+ for (let i = 0; i < Vt && o < t; i++) {
2581
2614
  const s = Yt(o, n);
2582
2615
  if (s) {
2583
2616
  const a = Math.max(o, s.open), u = Math.min(t, s.close);
@@ -2590,7 +2623,7 @@ function Ie(e, t, n) {
2590
2623
  function De(e, t, n) {
2591
2624
  if (!n) return e + t;
2592
2625
  let r = t, o = e;
2593
- for (let i = 0; i < zt; i++) {
2626
+ for (let i = 0; i < Vt; i++) {
2594
2627
  const s = Yt(o, n);
2595
2628
  if (s) {
2596
2629
  const a = Math.max(o, s.open);
@@ -2604,68 +2637,68 @@ function De(e, t, n) {
2604
2637
  }
2605
2638
  return e + t;
2606
2639
  }
2607
- function Uc(e) {
2640
+ function jc(e) {
2608
2641
  const t = /^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);
2609
2642
  return t ? Number(t[1]) * 60 + Number(t[2]) : null;
2610
2643
  }
2611
2644
  const ke = 1, we = 2, ve = 4;
2612
- function Fc(e) {
2645
+ function Hc(e) {
2613
2646
  return e === "snoozed" ? ke : we;
2614
2647
  }
2615
2648
  function $e(e) {
2616
2649
  const t = e.calendar;
2617
2650
  return t && Array.isArray(t.days) ? t : null;
2618
2651
  }
2619
- const Bc = [
2652
+ const Gc = [
2620
2653
  "speed_of_answer",
2621
2654
  "first_response",
2622
2655
  "next_response",
2623
2656
  "resolution",
2624
2657
  "close"
2625
- ], jc = ["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"];
2626
2659
  function Y(e) {
2627
2660
  return e.state === "running" || e.state === "paused";
2628
2661
  }
2629
- function Eo(e, t) {
2662
+ function To(e, t) {
2630
2663
  return Y(e) ? { state: (e.state === "paused" ? e.remainingMs > 0 : t <= e.dueAt) ? "hit" : "missed", settledAt: Math.max(t, e.startedAt) } : null;
2631
2664
  }
2632
2665
  function lt(e) {
2633
2666
  return Y(e) ? { state: "void" } : null;
2634
2667
  }
2635
- function To(e, t, n, r) {
2668
+ function Io(e, t, n, r) {
2636
2669
  if (!Y(e) || (e.pauseBits & t) !== 0) return null;
2637
2670
  const o = e.pauseBits | t;
2638
2671
  return e.state === "paused" ? { pauseBits: o } : { pauseBits: o, state: "paused", remainingMs: Ie(n, e.dueAt, r) };
2639
2672
  }
2640
- function Io(e, t, n, r) {
2673
+ function ko(e, t, n, r) {
2641
2674
  if (!Y(e) || (e.pauseBits & t) === 0) return null;
2642
2675
  const o = e.pauseBits & ~t;
2643
2676
  return o !== 0 ? { pauseBits: o } : { pauseBits: o, state: "running", dueAt: De(n, e.remainingMs, r) };
2644
2677
  }
2645
- function Hc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2678
+ function zc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2646
2679
  const i = $e(o), s = Math.min(t, n), a = r.map((g) => ({ ...g })), u = [], l = (g, h) => {
2647
2680
  h && (u.push({ op: "patch", clockId: g.id, patch: h }), Object.assign(g, h));
2648
2681
  }, d = (g) => {
2649
2682
  for (const h of a)
2650
- h.metric === g && l(h, Eo(h, s));
2683
+ h.metric === g && l(h, To(h, s));
2651
2684
  }, c = (g) => {
2652
2685
  for (const h of a)
2653
2686
  g.includes(h.metric) && l(h, lt(h));
2654
2687
  }, p = (g) => {
2655
- for (const h of a) l(h, To(h, g, s, i));
2656
- }, f = (g) => {
2657
2688
  for (const h of a) l(h, Io(h, g, s, i));
2658
- }, 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) => {
2659
- const S = o.targets.find((C) => C.metric === g);
2660
- if (!S) return;
2661
- 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;
2662
2695
  u.push({
2663
2696
  op: "start",
2664
2697
  metric: g,
2665
2698
  attempt: y(g),
2666
2699
  startedAt: h,
2667
- targetMs: x,
2668
- dueAt: De(h, x, i)
2700
+ targetMs: O,
2701
+ dueAt: De(h, O, i)
2669
2702
  });
2670
2703
  };
2671
2704
  switch (e) {
@@ -2675,8 +2708,8 @@ function Hc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2675
2708
  for (const g of o.targets) {
2676
2709
  if (g.metric === "next_response") continue;
2677
2710
  a.some(
2678
- (S) => S.metric === g.metric && S.profileId === o.id
2679
- ) || E(g.metric, s);
2711
+ (E) => E.metric === g.metric && E.profileId === o.id
2712
+ ) || S(g.metric, s);
2680
2713
  }
2681
2714
  break;
2682
2715
  }
@@ -2688,7 +2721,7 @@ function Hc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2688
2721
  break;
2689
2722
  }
2690
2723
  case "inbound": {
2691
- 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);
2692
2725
  break;
2693
2726
  }
2694
2727
  case "resolved":
@@ -2698,7 +2731,7 @@ function Hc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2698
2731
  d("close"), d("resolution"), c(Qt);
2699
2732
  break;
2700
2733
  case "reopened":
2701
- m("resolution") || E("resolution", s), m("close") || E("close", s);
2734
+ m("resolution") || S("resolution", s), m("close") || S("close", s);
2702
2735
  break;
2703
2736
  case "snoozed":
2704
2737
  o.pauseOn.includes("snoozed") && p(ke);
@@ -2721,28 +2754,28 @@ function Hc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2721
2754
  }
2722
2755
  return u;
2723
2756
  }
2724
- function ko(e) {
2757
+ function wo(e) {
2725
2758
  return e.state === "running" || e.state === "paused";
2726
2759
  }
2727
- function Gc(e) {
2760
+ function Vc(e) {
2728
2761
  return (e.pauseBits & ve) !== 0;
2729
2762
  }
2730
2763
  function Me(e, t) {
2731
2764
  const n = $e(e);
2732
2765
  return e.state === "paused" ? e.remainingMs : t >= e.dueAt ? -Ie(e.dueAt, t, n) : Ie(t, e.dueAt, n);
2733
2766
  }
2734
- function Wc(e, t) {
2767
+ function Xc(e, t) {
2735
2768
  return e.state === "paused" ? De(t, e.remainingMs, $e(e)) : e.dueAt;
2736
2769
  }
2737
- function Vc(e, t) {
2738
- const n = e.filter(ko);
2770
+ function Yc(e, t) {
2771
+ const n = e.filter(wo);
2739
2772
  if (!n.length) return;
2740
2773
  const r = n.filter((i) => i.state === "running");
2741
2774
  return (r.length ? r : n).reduce(
2742
2775
  (i, s) => Me(s, t) < Me(i, t) ? s : i
2743
2776
  );
2744
2777
  }
2745
- function zc(e, t) {
2778
+ function qc(e, t) {
2746
2779
  if (e.state === "missed") return "breached";
2747
2780
  if (e.state === "hit") return "met";
2748
2781
  if (e.state === "paused") return "paused";
@@ -2750,45 +2783,45 @@ function zc(e, t) {
2750
2783
  const n = Me(e, t);
2751
2784
  return n <= 0 ? "breached" : n <= e.targetMs / 5 ? "urgent" : "running";
2752
2785
  }
2753
- function Xc(e) {
2786
+ function Qc(e) {
2754
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);
2755
2788
  return n ? r ? `${n}d ${r}u` : `${n}d` : r ? o ? `${r}u ${o}m` : `${r}u` : o ? `${o}m` : `${t % 60}s`;
2756
2789
  }
2757
- const wo = "strategy_item";
2790
+ const vo = "strategy_item";
2758
2791
  function Zt(e) {
2759
- return `${wo}:${e}`;
2792
+ return `${vo}:${e}`;
2760
2793
  }
2761
- function Yc(e, t = 25) {
2794
+ function Zc(e, t = 25) {
2762
2795
  const n = /* @__PURE__ */ new Set([Zt(e.id)]);
2763
2796
  for (const r of e.ancestorKeys ?? []) n.add(r);
2764
2797
  return Array.from(n).slice(0, t);
2765
2798
  }
2766
- function qc(e) {
2799
+ function Jc(e) {
2767
2800
  return e ? [...e.ancestorKeys ?? [], Zt(e.id)] : [];
2768
2801
  }
2769
2802
  const ie = [
2770
2803
  { key: "area", label: "level_area", order: 10, measurable: !1, icon: "compass" },
2771
2804
  { key: "objective", label: "level_objective", order: 20, measurable: !0, icon: "target" },
2772
2805
  { key: "key_result", label: "level_key_result", order: 30, measurable: !0, icon: "gauge" }
2773
- ], vo = 999, Mo = 7;
2774
- function Co(e, t = ie) {
2806
+ ], Mo = 999, Co = 7;
2807
+ function No(e, t = ie) {
2775
2808
  return t.find((n) => n.key === e);
2776
2809
  }
2777
2810
  function Ce(e, t = ie) {
2778
- return Co(e, t)?.order ?? vo;
2811
+ return No(e, t)?.order ?? Mo;
2779
2812
  }
2780
- function Qc(e, t, n = ie) {
2813
+ function el(e, t, n = ie) {
2781
2814
  return Ce(t, n) <= Ce(e, n);
2782
2815
  }
2783
- function Zc(e, t = ie) {
2816
+ function tl(e, t = ie) {
2784
2817
  const n = Ce(e, t);
2785
2818
  return t.filter((o) => o.order > n).sort((o, i) => o.order - i.order)[0]?.key ?? e;
2786
2819
  }
2787
- function Jc(e) {
2820
+ function nl(e) {
2788
2821
  const t = e.trim().toLowerCase();
2789
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;
2790
2823
  }
2791
- const Oe = {
2824
+ const Ne = {
2792
2825
  pending: "open",
2793
2826
  on_track: "open",
2794
2827
  at_risk: "open",
@@ -2797,74 +2830,74 @@ const Oe = {
2797
2830
  achieved: "closed",
2798
2831
  missed: "closed"
2799
2832
  };
2800
- function el(e) {
2801
- return Oe[e] ?? "open";
2833
+ function rl(e) {
2834
+ return Ne[e] ?? "open";
2802
2835
  }
2803
- function tl(e) {
2804
- return Object.keys(Oe).filter(
2805
- (t) => e.includes(Oe[t])
2836
+ function ol(e) {
2837
+ return Object.keys(Ne).filter(
2838
+ (t) => e.includes(Ne[t])
2806
2839
  );
2807
2840
  }
2808
2841
  const Oo = 864e5, se = (e) => e <= 0 ? 0 : e > 1 ? 1 : e;
2809
- function nl(e, t) {
2842
+ function il(e, t) {
2810
2843
  const { direction: n } = e, r = e.startValue ?? 0, o = e.targetValue ?? 0;
2811
2844
  if (!Number.isFinite(t)) return 0;
2812
2845
  const i = n === "down" ? t <= o : t >= o, s = o - r;
2813
2846
  return (n === "down" ? s < 0 : s > 0) ? se((t - r) / s) : i ? 1 : 0;
2814
2847
  }
2815
- function rl(e, t) {
2848
+ function sl(e, t) {
2816
2849
  const { startDate: n, targetDate: r } = e;
2817
2850
  if (!(typeof n != "number" || typeof r != "number") && !(r <= n))
2818
2851
  return se((t - n) / (r - n));
2819
2852
  }
2820
- const xo = 0.1, No = 0.25;
2821
- function ol(e, t) {
2853
+ const xo = 0.1, Ro = 0.25;
2854
+ function al(e, t) {
2822
2855
  if (typeof e != "number" || typeof t != "number") return;
2823
2856
  if (e >= 1) return "achieved";
2824
2857
  const n = t - e;
2825
- return n >= No ? "off_track" : n >= xo ? "at_risk" : "on_track";
2858
+ return n >= Ro ? "off_track" : n >= xo ? "at_risk" : "on_track";
2826
2859
  }
2827
- function il(e, t) {
2860
+ function cl(e, t) {
2828
2861
  if (t)
2829
2862
  return se(e / t);
2830
2863
  }
2831
- function sl(e) {
2864
+ function ll(e) {
2832
2865
  const t = e.map((n) => n.progress?.ratio).filter((n) => typeof n == "number" && Number.isFinite(n));
2833
2866
  if (t.length)
2834
2867
  return se(t.reduce((n, r) => n + r, 0) / t.length);
2835
2868
  }
2836
- function al(e, t) {
2869
+ function ul(e, t) {
2837
2870
  const n = e.lastCheckInAt ?? e.createdAt;
2838
2871
  if (typeof n != "number") return 0;
2839
- const r = (e.checkInEveryDays ?? Mo) * Oo, o = t - n - r;
2872
+ const r = (e.checkInEveryDays ?? Co) * Oo, o = t - n - r;
2840
2873
  return o > 0 ? o : 0;
2841
2874
  }
2842
- function cl(e) {
2875
+ function dl(e) {
2843
2876
  return e.targetDate ?? Number.MAX_SAFE_INTEGER;
2844
2877
  }
2845
- function ll(e, t) {
2878
+ function pl(e, t) {
2846
2879
  const n = e.accumulatedSeconds || 0;
2847
2880
  return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
2848
2881
  }
2849
- function ul(e, t) {
2882
+ function fl(e, t) {
2850
2883
  const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
2851
2884
  if (!t || t === "exact") return n * 60;
2852
2885
  const r = Number(t);
2853
2886
  return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
2854
2887
  }
2855
- function dl(e) {
2888
+ function ml(e) {
2856
2889
  const t = Math.max(0, Math.round(e / 60));
2857
2890
  return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
2858
2891
  }
2859
- function pl(e) {
2892
+ function hl(e) {
2860
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);
2861
2894
  return o > 0 ? `${o}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
2862
2895
  }
2863
- function Ro(e) {
2896
+ function Do(e) {
2864
2897
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
2865
2898
  }
2866
- function fl(e, t) {
2867
- const n = Ro(e) || "werksoort", r = new Set(t);
2899
+ function gl(e, t) {
2900
+ const n = Do(e) || "werksoort", r = new Set(t);
2868
2901
  if (!r.has(n)) return n;
2869
2902
  for (let o = 2; o < 500; o++) {
2870
2903
  const i = `${n}-${o}`;
@@ -2872,29 +2905,29 @@ function fl(e, t) {
2872
2905
  }
2873
2906
  return `${n}-${r.size + 1}`;
2874
2907
  }
2875
- function ml(e, t) {
2908
+ function yl(e, t) {
2876
2909
  const n = e.ownerScope;
2877
2910
  return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
2878
2911
  }
2879
- function hl(e) {
2880
- return e.filter((t) => !t.archived).sort(Do);
2912
+ function bl(e) {
2913
+ return e.filter((t) => !t.archived).sort($o);
2881
2914
  }
2882
- function Do(e, t) {
2915
+ function $o(e, t) {
2883
2916
  const n = (e.order ?? 0) - (t.order ?? 0);
2884
2917
  return n !== 0 ? n : (e.label || "").localeCompare(t.label || "");
2885
2918
  }
2886
- const $o = 20, Lo = 20, me = 300;
2919
+ const Lo = 20, Po = 20, me = 300;
2887
2920
  function P(e) {
2888
2921
  return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
2889
2922
  }
2890
- function Po(e) {
2923
+ function Ko(e) {
2891
2924
  const t = e.replace(/\s+/g, " ").trim();
2892
2925
  if (t.length <= me) return t;
2893
2926
  const n = t.slice(0, me), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
2894
2927
  return r > me * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
2895
2928
  }
2896
- function gl(e, t) {
2897
- const n = Po(t.text), r = P(n);
2929
+ function _l(e, t) {
2930
+ const n = Ko(t.text), r = P(n);
2898
2931
  if (!r || (e.examples ?? []).some((s) => P(s) === r)) return null;
2899
2932
  const o = e.exampleCandidates ?? [], i = o.findIndex((s) => P(s.text) === r);
2900
2933
  if (i >= 0) {
@@ -2902,27 +2935,27 @@ function gl(e, t) {
2902
2935
  const s = [...o];
2903
2936
  return s[i] = { ...s[i], corrected: !0, addedAt: t.addedAt }, ut(s);
2904
2937
  }
2905
- return ut([{ ...t, text: n }, ...o]).slice(0, Lo);
2938
+ return ut([{ ...t, text: n }, ...o]).slice(0, Po);
2906
2939
  }
2907
2940
  function ut(e) {
2908
2941
  return [...e].sort(
2909
2942
  (t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt
2910
2943
  );
2911
2944
  }
2912
- function yl(e, t) {
2945
+ function Al(e, t) {
2913
2946
  const n = P(t), r = (e.examples ?? []).filter((i) => i.trim());
2914
- 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) };
2915
2948
  }
2916
- function Ko(e, t) {
2949
+ function Uo(e, t) {
2917
2950
  const n = P(t);
2918
2951
  return (e.exampleCandidates ?? []).filter((r) => P(r.text) !== n);
2919
2952
  }
2920
- function Uo(e, t) {
2953
+ function Fo(e, t) {
2921
2954
  const n = e.ownerScope;
2922
2955
  return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
2923
2956
  }
2924
- function bl(e, t) {
2925
- return e.filter((n) => Uo(n, t));
2957
+ function El(e, t) {
2958
+ return e.filter((n) => Fo(n, t));
2926
2959
  }
2927
2960
  const Le = [
2928
2961
  {
@@ -2963,11 +2996,11 @@ const Le = [
2963
2996
  path: "invoices",
2964
2997
  issuedStatus: "open"
2965
2998
  }
2966
- ], Fo = ["quote", "order", "invoice"];
2967
- function _l() {
2999
+ ], Bo = ["quote", "order", "invoice"];
3000
+ function Sl() {
2968
3001
  const e = /* @__PURE__ */ new Map();
2969
3002
  for (const t of Le)
2970
- 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));
2971
3004
  return [...e.values()];
2972
3005
  }
2973
3006
  function F(e) {
@@ -2981,10 +3014,10 @@ function F(e) {
2981
3014
  issuedStatus: "draft"
2982
3015
  };
2983
3016
  }
2984
- function Al(e) {
3017
+ function Tl(e) {
2985
3018
  return e.issuedAt != null;
2986
3019
  }
2987
- const Sl = [
3020
+ const Il = [
2988
3021
  "status",
2989
3022
  "fileRef",
2990
3023
  "number",
@@ -2993,7 +3026,7 @@ const Sl = [
2993
3026
  "dunning",
2994
3027
  "updatedAt"
2995
3028
  ];
2996
- function Bo(e, t) {
3029
+ function jo(e, t) {
2997
3030
  const n = F(t).signFlip !== F(e.kindKey).signFlip, r = e.lines.map((o) => ({
2998
3031
  ...o,
2999
3032
  quantity: n ? -o.quantity : o.quantity,
@@ -3032,9 +3065,9 @@ function Bo(e, t) {
3032
3065
  source: e.source
3033
3066
  };
3034
3067
  }
3035
- function El(e) {
3068
+ function kl(e) {
3036
3069
  return {
3037
- ...Bo(e, e.kindKey),
3070
+ ...jo(e, e.kindKey),
3038
3071
  sourceTransactionId: e.sourceTransactionId,
3039
3072
  previousVersionId: e.id,
3040
3073
  version: e.version + 1,
@@ -3042,7 +3075,7 @@ function El(e) {
3042
3075
  totals: e.totals
3043
3076
  };
3044
3077
  }
3045
- function Tl(e, t = {}) {
3078
+ function wl(e, t = {}) {
3046
3079
  const n = F(e.kindKey), r = e.totals ?? { netCents: 0, taxCents: 0, grossCents: 0 };
3047
3080
  return {
3048
3081
  customer: {
@@ -3051,7 +3084,7 @@ function Tl(e, t = {}) {
3051
3084
  // One token per line of the address, plus `street` on its own for a template that wants
3052
3085
  // the house number elsewhere. Empty stays empty: `fillText` reports it as a hole, and a
3053
3086
  // recipient block missing its street is exactly what the issue gate has to refuse.
3054
- address: Go(t.companyAddress),
3087
+ address: Wo(t.companyAddress),
3055
3088
  street: t.companyAddress?.street ?? "",
3056
3089
  house_number: t.companyAddress?.houseNumber ?? "",
3057
3090
  postal_code: t.companyAddress?.postalCode ?? "",
@@ -3088,7 +3121,7 @@ function Tl(e, t = {}) {
3088
3121
  }
3089
3122
  };
3090
3123
  }
3091
- function Il(e, t = [], n = jo) {
3124
+ function vl(e, t = [], n = Ho) {
3092
3125
  const r = e.totals ?? { netCents: 0, grossCents: 0, byRate: [] }, o = (a) => t.find((u) => u.key === a)?.percent ?? 0, i = {
3093
3126
  block_id: "lines",
3094
3127
  type: "table",
@@ -3103,8 +3136,8 @@ function Il(e, t = [], n = jo) {
3103
3136
  // A text line spans as a heading: empty money cells would read as "free".
3104
3137
  [a.name, "", "", ""]
3105
3138
  ) : [
3106
- Ho(a.name, a.description, a.optional, n.optional),
3107
- Wo(a.quantity),
3139
+ Go(a.name, a.description, a.optional, n.optional),
3140
+ zo(a.quantity),
3108
3141
  D(a.unitPriceCents),
3109
3142
  D(a.netCents)
3110
3143
  ]
@@ -3123,7 +3156,7 @@ function Il(e, t = [], n = jo) {
3123
3156
  };
3124
3157
  return { lines: [i], totals: [s] };
3125
3158
  }
3126
- const jo = {
3159
+ const Ho = {
3127
3160
  description: "Omschrijving",
3128
3161
  optional: "optioneel",
3129
3162
  quantity: "Aantal",
@@ -3132,14 +3165,14 @@ const jo = {
3132
3165
  tax: "Btw",
3133
3166
  gross: "Totaal"
3134
3167
  };
3135
- function Ho(e, t, n, r) {
3168
+ function Go(e, t, n, r) {
3136
3169
  const o = t ? `${e} — ${t}` : e;
3137
3170
  return n ? `${o} (${r})` : o;
3138
3171
  }
3139
- function Go(e) {
3172
+ function Wo(e) {
3140
3173
  return e?.street ? [e.street, e.houseNumber].filter(Boolean).join(" ") : "";
3141
3174
  }
3142
- function Wo(e) {
3175
+ function zo(e) {
3143
3176
  return Number.isInteger(e) ? String(e) : String(e).replace(".", ",");
3144
3177
  }
3145
3178
  function K(e) {
@@ -3154,7 +3187,7 @@ function Vo(e) {
3154
3187
  block_id: "head",
3155
3188
  type: "letterhead",
3156
3189
  fields: [
3157
- ...r ? [{ key: "number", label: zo[n]?.number ?? "Nummer", value: `{${n}.number}` }] : [],
3190
+ ...r ? [{ key: "number", label: Xo[n]?.number ?? "Nummer", value: `{${n}.number}` }] : [],
3158
3191
  { key: "date", label: "Datum", value: `{${n}.date}` },
3159
3192
  ...r ? [{ key: "due_date", label: "Vervaldatum", value: `{${n}.due_date}` }] : [{ key: "valid_until", label: "Geldig tot", value: `{${n}.valid_until}` }],
3160
3193
  { key: "reference", label: "Referentie", value: `{${n}.reference}` }
@@ -3195,11 +3228,11 @@ function Vo(e) {
3195
3228
  { block_id: "terms", type: "paragraph", text: pt[n] ?? pt.quote }
3196
3229
  ];
3197
3230
  }
3198
- const kl = (e) => ({
3231
+ const Ml = (e) => ({
3199
3232
  note: { key: `${F(e).key}.note`, exists: !0 },
3200
3233
  // Keyed on the start: a range without one is not a range, and `period_to` alone says nothing.
3201
3234
  period: { key: `${F(e).key}.period_from`, exists: !0 }
3202
- }), zo = {
3235
+ }), Xo = {
3203
3236
  invoice: { number: "Factuurnummer" },
3204
3237
  credit_note: { number: "Creditnotanummer" }
3205
3238
  }, dt = {
@@ -3220,42 +3253,42 @@ Hierbij onze creditnota. De onderstaande bedragen worden met u verrekend.`
3220
3253
  order: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld.",
3221
3254
  invoice: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld.",
3222
3255
  credit_note: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld."
3223
- }, wl = Vo("quote"), Xo = Le.map((e) => e.key), Yo = "product";
3224
- function qo(e, t) {
3256
+ }, Cl = Vo("quote"), Yo = Le.map((e) => e.key), qo = "product";
3257
+ function Qo(e, t) {
3225
3258
  return `${e}:${t}`;
3226
3259
  }
3227
- function vl(e) {
3228
- return `${Yo}:${e}`;
3260
+ function Nl(e) {
3261
+ return `${qo}:${e}`;
3229
3262
  }
3230
- function Ml(e) {
3263
+ function Ol(e) {
3231
3264
  const t = e.indexOf(":");
3232
3265
  if (t < 0) return;
3233
3266
  const n = e.slice(0, t);
3234
- return Xo.includes(n) ? e.slice(t + 1) : void 0;
3267
+ return Yo.includes(n) ? e.slice(t + 1) : void 0;
3235
3268
  }
3236
- function Cl(e) {
3237
- 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)]);
3238
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);
3239
3272
  }
3240
- const Ol = 4;
3241
- function xl(e, t) {
3273
+ const Rl = 4;
3274
+ function Dl(e, t) {
3242
3275
  const n = String(t).padStart(Math.max(1, e.padding), "0");
3243
3276
  return `${e.prefix}${e.period ? `${e.period}-` : ""}${n}`;
3244
3277
  }
3245
- function Nl(e, t = Date.now()) {
3278
+ function $l(e, t = Date.now()) {
3246
3279
  return e === "year" ? String(new Date(t).getFullYear()) : "";
3247
3280
  }
3248
- const Rl = [
3281
+ const Ll = [
3249
3282
  "cash",
3250
3283
  "credit",
3251
3284
  "direct_debit",
3252
3285
  "card",
3253
3286
  "other"
3254
3287
  ];
3255
- function Dl(e, t) {
3288
+ function Pl(e, t) {
3256
3289
  return e + Math.max(0, Math.round(t)) * 24 * 60 * 60 * 1e3;
3257
3290
  }
3258
- function $l(e, t) {
3291
+ function Kl(e, t) {
3259
3292
  const n = /* @__PURE__ */ new Map();
3260
3293
  for (const r of e) r.businessEntityId || n.set(r.code, r);
3261
3294
  if (t)
@@ -3263,10 +3296,10 @@ function $l(e, t) {
3263
3296
  r.businessEntityId === t && n.set(r.code, r);
3264
3297
  return [...n.values()];
3265
3298
  }
3266
- function Ll(e) {
3299
+ function Ul(e) {
3267
3300
  return { code: e.code, label: e.label, method: e.method, dueDays: e.dueDays };
3268
3301
  }
3269
- const Pl = [
3302
+ const Fl = [
3270
3303
  {
3271
3304
  code: "14D",
3272
3305
  label: "Binnen 14 dagen",
@@ -3278,25 +3311,25 @@ const Pl = [
3278
3311
  { code: "30D", label: "Binnen 30 dagen", method: "credit", dueDays: 30, order: 1 },
3279
3312
  { code: "CONTANT", label: "Contant", method: "cash", dueDays: 0, order: 2 }
3280
3313
  ];
3281
- function Kl(e) {
3314
+ function Bl(e) {
3282
3315
  return e.type === "agent";
3283
3316
  }
3284
- const Ul = "WORK_COMMENT_ADDED", Fl = "WORK_ITEM_ASSIGNED", Bl = "WORK_ITEM_STATUS_CHANGED";
3285
- function Qo(e, t) {
3317
+ const jl = "WORK_COMMENT_ADDED", Hl = "WORK_ITEM_ASSIGNED", Gl = "WORK_ITEM_STATUS_CHANGED";
3318
+ function Zo(e, t) {
3286
3319
  const n = (r) => {
3287
3320
  const o = new Date(r);
3288
3321
  return o.setHours(0, 0, 0, 0), o.getTime();
3289
3322
  };
3290
- return Math.round((n(e) - n(t)) / tr);
3323
+ return Math.round((n(e) - n(t)) / nr);
3291
3324
  }
3292
- function jl(e, t) {
3325
+ function Wl(e, t) {
3293
3326
  if (e.closedAt != null) return { score: L, reasons: [] };
3294
3327
  const n = t.remindersById?.[e.id];
3295
3328
  if (n && n.remindAt > t.now) return { score: L, reasons: [] };
3296
3329
  let r = 0;
3297
3330
  const o = [], i = e.priority ?? "normal";
3298
3331
  if (te[i] > 0 && (r += te[i], o.push(`priority:${i}`)), typeof e.dueDate == "number") {
3299
- const s = Qo(e.dueDate, t.now);
3332
+ const s = Zo(e.dueDate, t.now);
3300
3333
  s < 0 ? (r += 35, o.push("overdue")) : s === 0 && (r += 20, o.push("due-today"));
3301
3334
  }
3302
3335
  return e.source?.initiator === "system" && e.source.systemReason && (r += 15, o.push(`auto:${e.source.systemReason}`)), { score: r, reasons: o };
@@ -3309,35 +3342,35 @@ const Pe = [
3309
3342
  { key: "subtask", label: "type_subtask" },
3310
3343
  { key: "case", label: "type_case" },
3311
3344
  { key: "deal", label: "type_deal" }
3312
- ], Hl = Pe.map((e) => e.key);
3313
- function Gl(e) {
3345
+ ], zl = Pe.map((e) => e.key);
3346
+ function Vl(e) {
3314
3347
  return e?.types?.length ? e.types : Pe;
3315
3348
  }
3316
- function Wl(e, t) {
3349
+ function Xl(e, t) {
3317
3350
  return t.find((n) => n.key === e);
3318
3351
  }
3319
- function Vl(e) {
3352
+ function Yl(e) {
3320
3353
  const t = e.trim().toLowerCase();
3321
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;
3322
3355
  }
3323
- function zl(...e) {
3356
+ function ql(...e) {
3324
3357
  return e.map((t) => Pe.find((n) => n.key === t)).filter((t) => !!t);
3325
3358
  }
3326
- const Zo = "work_item", Jo = "work_project", ei = "work_activity", Xl = "work_cycle";
3327
- function ti(e) {
3328
- return `${Zo}:${e}`;
3329
- }
3330
- function Jt(e) {
3359
+ const Jo = "work_item", ei = "work_project", ti = "work_activity", Ql = "work_cycle";
3360
+ function ni(e) {
3331
3361
  return `${Jo}:${e}`;
3332
3362
  }
3333
- function Yl(e) {
3363
+ function Jt(e) {
3334
3364
  return `${ei}:${e}`;
3335
3365
  }
3336
- function ql(e, t, n) {
3366
+ function Zl(e) {
3367
+ return `${ti}:${e}`;
3368
+ }
3369
+ function Jl(e, t, n) {
3337
3370
  const r = `${e}-${t}`;
3338
3371
  return n ? `${r}-${n}` : r;
3339
3372
  }
3340
- function Ql(e) {
3373
+ function eu(e) {
3341
3374
  const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
3342
3375
  return t ? {
3343
3376
  projectKey: t[1].toUpperCase(),
@@ -3345,17 +3378,17 @@ function Ql(e) {
3345
3378
  ...t[3] ? { subSequence: Number(t[3]) } : {}
3346
3379
  } : null;
3347
3380
  }
3348
- function Zl(e) {
3381
+ function tu(e) {
3349
3382
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
3350
3383
  }
3351
- function Jl(e, t = 25) {
3352
- const n = /* @__PURE__ */ new Set([ti(e.id)]);
3384
+ function nu(e, t = 25) {
3385
+ const n = /* @__PURE__ */ new Set([ni(e.id)]);
3353
3386
  e.projectId && n.add(Jt(e.projectId));
3354
3387
  for (const r of e.ancestorKeys ?? []) n.add(r);
3355
3388
  for (const r of e.partyKeys ?? []) n.add(r);
3356
3389
  return Array.from(n).slice(0, t);
3357
3390
  }
3358
- function eu(e) {
3391
+ function ru(e) {
3359
3392
  return [Jt(e.id)];
3360
3393
  }
3361
3394
  const Ke = [
@@ -3364,33 +3397,33 @@ const Ke = [
3364
3397
  { key: "done", label: "status_done", category: "done", order: 2 },
3365
3398
  { key: "cancelled", label: "status_cancelled", category: "done", order: 3 }
3366
3399
  ], en = Ke.map((e) => e.key);
3367
- function ni(e) {
3400
+ function ri(e) {
3368
3401
  return e?.statuses?.length ? e.statuses : Ke;
3369
3402
  }
3370
- function ri(e, t) {
3403
+ function oi(e, t) {
3371
3404
  return t.find((n) => n.key === e)?.category ?? "todo";
3372
3405
  }
3373
- function tu(e, t) {
3406
+ function ou(e, t) {
3374
3407
  return t.find((n) => n.key === e);
3375
3408
  }
3376
- function nu(e) {
3377
- const t = ni(e), n = e?.defaultStatusKey;
3378
- 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;
3379
3412
  }
3380
- function oi(e) {
3413
+ function ii(e) {
3381
3414
  return [...e].sort((t, n) => {
3382
3415
  const r = (t.order ?? 0) - (n.order ?? 0);
3383
3416
  return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
3384
3417
  });
3385
3418
  }
3386
- function ru(e, t) {
3387
- return ri(e, t) === "done";
3419
+ function su(e, t) {
3420
+ return oi(e, t) === "done";
3388
3421
  }
3389
- function ii(e) {
3422
+ function si(e) {
3390
3423
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
3391
3424
  }
3392
- function ou(e, t) {
3393
- 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]);
3394
3427
  if (!r.has(n)) return n;
3395
3428
  for (let o = 2; o < 500; o++) {
3396
3429
  const i = `${n}-${o}`;
@@ -3398,7 +3431,7 @@ function ou(e, t) {
3398
3431
  }
3399
3432
  return `${n}-${r.size + 1}`;
3400
3433
  }
3401
- function iu(e) {
3434
+ function cu(e) {
3402
3435
  const t = [];
3403
3436
  if (!e.length) return [{ index: -1, reason: "empty" }];
3404
3437
  const n = /* @__PURE__ */ new Set();
@@ -3410,13 +3443,13 @@ function iu(e) {
3410
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);
3411
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;
3412
3445
  }
3413
- function su(e) {
3446
+ function lu(e) {
3414
3447
  return e.startDate ?? Number.MAX_SAFE_INTEGER;
3415
3448
  }
3416
- function au(e) {
3449
+ function uu(e) {
3417
3450
  return e.completedAt ? "completed" : e.startedAt ? "active" : "planned";
3418
3451
  }
3419
- 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([
3420
3453
  "text/plain",
3421
3454
  "text/markdown",
3422
3455
  "text/csv",
@@ -3425,67 +3458,67 @@ const si = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
3425
3458
  "application/xml",
3426
3459
  "text/xml"
3427
3460
  ]);
3428
- function ci(e) {
3461
+ function li(e) {
3429
3462
  const t = (e ?? "").trim().toLowerCase().split(";")[0];
3430
- 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";
3431
3464
  }
3432
- const j = 1024 * 1024, li = {
3465
+ const j = 1024 * 1024, ui = {
3433
3466
  image: 5 * j,
3434
3467
  pdf: 20 * j,
3435
3468
  text: 1 * j,
3436
3469
  audio: 20 * j
3437
- }, cu = 25 * j, lu = 5;
3438
- function uu(e, t) {
3439
- const n = ci(e);
3440
- 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;
3441
3474
  }
3442
- function du(e) {
3475
+ function mu(e) {
3443
3476
  return e.access !== "read" && e.effect !== "internal";
3444
3477
  }
3445
- function ui(e) {
3478
+ function di(e) {
3446
3479
  return `${e.kind}:${e.id || e.url || e.title}`;
3447
3480
  }
3448
- function pu(e, t = []) {
3481
+ function hu(e, t = []) {
3449
3482
  const n = new Set(t), r = [], o = [];
3450
3483
  for (const i of e) {
3451
- const s = ui(i);
3484
+ const s = di(i);
3452
3485
  n.has(s) || (n.add(s), r.push(i), o.push(s));
3453
3486
  }
3454
3487
  return { sources: r, keys: o };
3455
3488
  }
3456
- const fu = "assist-source", mu = ["blocking", "due", "open"];
3457
- function hu(e, t) {
3489
+ const gu = "assist-source", yu = ["blocking", "due", "open"];
3490
+ function bu(e, t) {
3458
3491
  const [n, r] = (e.subjectKey ?? "").split(":");
3459
3492
  return n === t && r ? r : void 0;
3460
3493
  }
3461
3494
  const ft = { blocking: 0, due: 1, open: 2 };
3462
- function gu(e, t) {
3495
+ function _u(e, t) {
3463
3496
  return ft[e.band ?? "open"] - ft[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
3464
3497
  }
3465
- function yu(e) {
3498
+ function Au(e) {
3466
3499
  return e.sessions.filter(
3467
3500
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
3468
3501
  );
3469
3502
  }
3470
- function bu(e) {
3503
+ function Eu(e) {
3471
3504
  return e.sessions.filter(
3472
3505
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
3473
3506
  );
3474
3507
  }
3475
- function _u(e) {
3508
+ function Su(e) {
3476
3509
  return e.sessions.some(
3477
3510
  (n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
3478
3511
  ) ? { admit: !1, reason: "busy" } : { admit: !0 };
3479
3512
  }
3480
- function di(e, t) {
3481
- 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]));
3482
3515
  if (!e.extraIntents || e.extraIntents.length === 0) return o;
3483
3516
  const i = new Set(o.map((s) => s.intent));
3484
3517
  for (const s of e.extraIntents)
3485
3518
  i.has(s.intent) || (o.push(s), i.add(s.intent));
3486
3519
  return o;
3487
3520
  }
3488
- function pi(e, t) {
3521
+ function fi(e, t) {
3489
3522
  const n = {};
3490
3523
  for (const r of e.intents) {
3491
3524
  if (!r.togglable) continue;
@@ -3494,46 +3527,46 @@ function pi(e, t) {
3494
3527
  }
3495
3528
  return n;
3496
3529
  }
3497
- function Au(e, t) {
3498
- const n = pi(e, t);
3530
+ function Tu(e, t) {
3531
+ const n = fi(e, t);
3499
3532
  return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
3500
3533
  }
3501
- function fi(e, t) {
3534
+ function mi(e, t) {
3502
3535
  return t ? {
3503
3536
  intent: t.intent ?? e.intent,
3504
3537
  targetSchemes: t.targetSchemes ?? e.targetSchemes,
3505
3538
  transport: t.transport ?? e.transport
3506
3539
  } : e;
3507
3540
  }
3508
- function Su(e, t) {
3541
+ function Iu(e, t) {
3509
3542
  const n = [];
3510
3543
  for (const r of e) {
3511
3544
  if (!r.enabled) continue;
3512
3545
  const o = t[r.providerId];
3513
3546
  if (o)
3514
- for (const i of di(r, o))
3547
+ for (const i of pi(r, o))
3515
3548
  n.push({ channel: r, description: o, capability: i });
3516
3549
  }
3517
3550
  return n;
3518
3551
  }
3519
- function Eu(e, t) {
3552
+ function ku(e, t) {
3520
3553
  return t.filter((n) => n.capability.intent === e);
3521
3554
  }
3522
- function mi(e, t) {
3555
+ function hi(e, t) {
3523
3556
  return t.filter((n) => n.capability.targetSchemes.includes(e));
3524
3557
  }
3525
- function Tu(e, t) {
3526
- return mi(e.scheme, t);
3558
+ function wu(e, t) {
3559
+ return hi(e.scheme, t);
3527
3560
  }
3528
- function Iu(e, t, n) {
3561
+ function vu(e, t, n) {
3529
3562
  const r = [];
3530
3563
  for (const o of e)
3531
3564
  for (const i of n)
3532
3565
  i.capability.intent === t && i.capability.targetSchemes.includes(o.scheme) && r.push({ channelIntent: i, endpoint: o });
3533
3566
  return r;
3534
3567
  }
3535
- 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 || {});
3536
- 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 = {
3537
3570
  mailto: "mail",
3538
3571
  sip: "tel",
3539
3572
  tel: "tel",
@@ -3554,10 +3587,10 @@ const gi = {
3554
3587
  id: "note",
3555
3588
  custom: "note"
3556
3589
  };
3557
- function ku(e) {
3558
- return e ? gi[e] ?? "note" : "note";
3590
+ function Mu(e) {
3591
+ return e ? yi[e] ?? "note" : "note";
3559
3592
  }
3560
- const wu = "message_window", vu = "message_templates", Mu = {
3593
+ const Cu = "message_window", Nu = "message_templates", Ou = {
3561
3594
  // E-mail
3562
3595
  FROM: "from",
3563
3596
  TO: "to",
@@ -3574,11 +3607,11 @@ const wu = "message_window", vu = "message_templates", Mu = {
3574
3607
  // Voice/conference
3575
3608
  HOST: "host",
3576
3609
  PARTICIPANT: "participant"
3577
- }, Cu = (e, t) => ({ intent: e, ...t }), Ou = "folder_management", xu = "remote_search", Nu = "message_reactions", Ru = {
3610
+ }, xu = (e, t) => ({ intent: e, ...t }), Ru = "folder_management", Du = "remote_search", $u = "message_reactions", Lu = {
3578
3611
  ok: !1,
3579
3612
  code: "UNSUPPORTED",
3580
3613
  message: "Provider does not support this op"
3581
- }, Du = "connector", $u = "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.");
3582
3615
  function b(e, t, n, r, o, i) {
3583
3616
  return {
3584
3617
  op: e,
@@ -3589,7 +3622,7 @@ function b(e, t, n, r, o, i) {
3589
3622
  visible: i.visible
3590
3623
  };
3591
3624
  }
3592
- 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 = [
3593
3626
  b(
3594
3627
  "pdf.goToPage",
3595
3628
  ["pdf"],
@@ -3684,7 +3717,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3684
3717
  ["page", "text"],
3685
3718
  re
3686
3719
  )
3687
- ], bi = [
3720
+ ], _i = [
3688
3721
  b(
3689
3722
  "sheet.setValues",
3690
3723
  ["sheet"],
@@ -3836,7 +3869,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3836
3869
  [],
3837
3870
  H
3838
3871
  )
3839
- ], _i = [
3872
+ ], Ai = [
3840
3873
  b(
3841
3874
  "word.replaceParagraph",
3842
3875
  ["word"],
@@ -3898,7 +3931,7 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3898
3931
  ["start"],
3899
3932
  H
3900
3933
  )
3901
- ], Ai = [
3934
+ ], Ei = [
3902
3935
  b(
3903
3936
  "slides.setText",
3904
3937
  ["slides"],
@@ -3927,15 +3960,15 @@ const H = { undoable: !1, visible: !0 }, T = { undoable: !0, visible: !0 }, ht =
3927
3960
  re
3928
3961
  )
3929
3962
  ], tn = [
3930
- ...yi,
3931
3963
  ...bi,
3932
3964
  ..._i,
3933
- ...Ai
3965
+ ...Ai,
3966
+ ...Ei
3934
3967
  ];
3935
- function Lu(e) {
3968
+ function Uu(e) {
3936
3969
  return tn.filter((t) => t.kinds.includes(e));
3937
3970
  }
3938
- function Pu(e) {
3971
+ function Fu(e) {
3939
3972
  return tn.find((t) => t.op === e);
3940
3973
  }
3941
3974
  const gt = /(?: {2,}|\\)$/, Si = /^\*\*([^*]+)\*\*\s+(.*)$/;
@@ -3943,7 +3976,7 @@ function yt(e) {
3943
3976
  const t = Si.exec(e);
3944
3977
  return t ? { lead: t[1], text: t[2] } : { text: e };
3945
3978
  }
3946
- function Ku(e) {
3979
+ function Bu(e) {
3947
3980
  const t = (e ?? "").replace(/\r\n/g, `
3948
3981
  `).split(`
3949
3982
  `), n = [];
@@ -4016,33 +4049,33 @@ function Ku(e) {
4016
4049
  continue;
4017
4050
  }
4018
4051
  l(), o();
4019
- const E = gt.test(p);
4020
- s.push(p.replace(gt, "").trim() + (E ? `
4052
+ const S = gt.test(p);
4053
+ s.push(p.replace(gt, "").trim() + (S ? `
4021
4054
  ` : " ")), c++;
4022
4055
  }
4023
4056
  return d(), n;
4024
4057
  }
4025
- function Uu(e, t) {
4058
+ function ju(e, t) {
4026
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, `
4027
4060
 
4028
4061
  `).trim();
4029
4062
  }
4030
- const Fu = "documents.describe", Bu = "documents.inspect", ju = "documents.apply";
4031
- function Hu(e) {
4063
+ const Hu = "documents.describe", Gu = "documents.inspect", Wu = "documents.apply";
4064
+ function zu(e) {
4032
4065
  const t = e.indexOf(":");
4033
4066
  if (t !== -1) return e.slice(0, t);
4034
4067
  const n = e.indexOf(".");
4035
4068
  return n === -1 ? e : e.slice(0, n);
4036
4069
  }
4037
- const Gu = "installation-id";
4038
- function Wu(e) {
4070
+ const Vu = "installation-id";
4071
+ function Xu(e) {
4039
4072
  const t = [];
4040
4073
  for (const n of Object.keys(e))
4041
4074
  for (const r of Object.keys(e[n]))
4042
4075
  t.push({ lang: n, key: r, value: e[n][r] });
4043
4076
  return t;
4044
4077
  }
4045
- const Vu = "notification-source", zu = (e, t) => `${e}.pref.${t}`, Xu = {
4078
+ const Yu = "notification-source", qu = (e, t) => `${e}.pref.${t}`, Qu = {
4046
4079
  ai: [
4047
4080
  "account.read",
4048
4081
  "account.write",
@@ -4177,48 +4210,48 @@ const Vu = "notification-source", zu = (e, t) => `${e}.pref.${t}`, Xu = {
4177
4210
  time: ["entry.read", "entry.write", "work-type.read", "work-type.write"],
4178
4211
  user: ["user.read", "user.write"],
4179
4212
  work: ["item.read", "item.write", "project.read", "project.write"]
4180
- }, nn = 9e4, Ei = ["out_of_office"], rn = (e) => Ei.includes(e);
4181
- function Yu(e, t, n) {
4213
+ }, nn = 9e4, Ti = ["out_of_office"], rn = (e) => Ti.includes(e);
4214
+ function Zu(e, t, n) {
4182
4215
  const r = n - e < nn, o = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
4183
4216
  if (!o?.status) return { online: r, status: r ? "available" : "offline" };
4184
4217
  const i = o.status;
4185
4218
  return !r && !rn(i) ? { online: !1, status: "offline" } : { online: r, status: i, message: o.message };
4186
4219
  }
4187
- function qu(e, t) {
4220
+ function Ju(e, t) {
4188
4221
  const n = t - e.lastSeenAt < nn, r = n || rn(e.status) ? e.status : "offline";
4189
4222
  return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
4190
4223
  }
4191
- function Qu(e, t) {
4224
+ function ed(e, t) {
4192
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 };
4193
4226
  }
4194
- function Zu(e) {
4227
+ function td(e) {
4195
4228
  return e.providerAvailable && e.allowed;
4196
4229
  }
4197
- const Ju = "resources.describe", ed = "resources.search", td = "resources.resolve", nd = "resources.attached";
4198
- function rd(e) {
4230
+ const nd = "resources.describe", rd = "resources.search", od = "resources.resolve", id = "resources.attached";
4231
+ function sd(e) {
4199
4232
  const t = e.indexOf(":");
4200
4233
  return t === -1 ? e : e.slice(0, t);
4201
4234
  }
4202
- const od = "/provider/scope/related", id = "/provider/scope/read", on = "auth";
4235
+ const ad = "/provider/scope/related", cd = "/provider/scope/read", on = "auth";
4203
4236
  function sn(e) {
4204
4237
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
4205
4238
  return t ? t[1] : null;
4206
4239
  }
4207
- function sd(e) {
4240
+ function ld(e) {
4208
4241
  const t = sn(e);
4209
4242
  return t ? t !== on : typeof e == "string" && e.startsWith("/wake");
4210
4243
  }
4211
- function ad(e) {
4244
+ function ud(e) {
4212
4245
  return typeof e != "string" || e === "" || e === "/" ? !0 : sn(e) === on;
4213
4246
  }
4214
- function Ti(e) {
4247
+ function Ii(e) {
4215
4248
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
4216
4249
  }
4217
- function Ii(e) {
4218
- 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("");
4219
4252
  return new RegExp(`^${n}\\/?$`);
4220
4253
  }
4221
- function ki(e, t) {
4254
+ function wi(e, t) {
4222
4255
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean), o = {};
4223
4256
  return n.forEach((i, s) => {
4224
4257
  if (i.startsWith(":")) {
@@ -4227,14 +4260,14 @@ function ki(e, t) {
4227
4260
  }
4228
4261
  }), o;
4229
4262
  }
4230
- function wi(e) {
4263
+ function vi(e) {
4231
4264
  return e.publicBasePath ?? `/apps/${e.name}`;
4232
4265
  }
4233
- function cd(e) {
4266
+ function dd(e) {
4234
4267
  const t = [];
4235
4268
  for (const n of e) {
4236
4269
  if (!n?.name) continue;
4237
- const r = wi(n);
4270
+ const r = vi(n);
4238
4271
  for (const o of n.routes ?? []) {
4239
4272
  if (!o.public) continue;
4240
4273
  const i = o.path === "/" ? "" : o.path;
@@ -4248,7 +4281,7 @@ function cd(e) {
4248
4281
  }
4249
4282
  return t;
4250
4283
  }
4251
- function vi(e, t) {
4284
+ function Mi(e, t) {
4252
4285
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean);
4253
4286
  for (let o = 0; o < Math.min(n.length, r.length); o++) {
4254
4287
  const i = n[o].startsWith(":"), s = r[o].startsWith(":");
@@ -4256,17 +4289,17 @@ function vi(e, t) {
4256
4289
  }
4257
4290
  return n.length > r.length;
4258
4291
  }
4259
- function Mi(e, t) {
4292
+ function Ci(e, t) {
4260
4293
  if (typeof e != "string") return null;
4261
4294
  let n = null;
4262
4295
  for (const r of t)
4263
- Ii(r.pattern).test(e) && (!n || vi(r.pattern, n.pattern)) && (n = r);
4264
- 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;
4265
4298
  }
4266
- function ld(e, t) {
4267
- return Mi(e, t) !== null;
4299
+ function pd(e, t) {
4300
+ return Ci(e, t) !== null;
4268
4301
  }
4269
- const ud = 10 * 1024 * 1024, dd = 25 * 1024 * 1024, pd = "sync-target", fd = 20, Ci = {
4302
+ const fd = 10 * 1024 * 1024, md = 25 * 1024 * 1024, hd = "sync-target", gd = 20, Ni = {
4270
4303
  afrikaans: [
4271
4304
  "[Muziek]",
4272
4305
  "(C) TV GELDERLAND 2021",
@@ -4418,12 +4451,12 @@ const ud = 10 * 1024 * 1024, dd = 25 * 1024 * 1024, pd = "sync-target", fd = 20,
4418
4451
  ]
4419
4452
  }, Oi = (e) => {
4420
4453
  let t = e;
4421
- return Object.values(Ci).forEach((n) => {
4454
+ return Object.values(Ni).forEach((n) => {
4422
4455
  n.forEach((r) => {
4423
4456
  t = t.replaceAll(r, "");
4424
4457
  });
4425
4458
  }), t = t.replace(/\(.*?\)/g, ""), t = t.replace(/\[.*?\]/g, ""), t;
4426
- }, 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([
4427
4460
  "aan",
4428
4461
  "als",
4429
4462
  "ben",
@@ -4536,13 +4569,13 @@ const ud = 10 * 1024 * 1024, dd = 25 * 1024 * 1024, pd = "sync-target", fd = 20,
4536
4569
  "you",
4537
4570
  "your"
4538
4571
  ]);
4539
- function Pi(e) {
4572
+ function Ki(e) {
4540
4573
  const t = /* @__PURE__ */ new Set();
4541
4574
  for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
4542
- n.length < $i || Li.has(n) || t.add(n);
4575
+ n.length < Li || Pi.has(n) || t.add(n);
4543
4576
  return [...t];
4544
4577
  }
4545
- function Ki(e, t) {
4578
+ function Ui(e, t) {
4546
4579
  if (!e.length) return 0;
4547
4580
  if (!t.length) return 1;
4548
4581
  const n = new Set(t), r = new Set(e);
@@ -4550,32 +4583,32 @@ function Ki(e, t) {
4550
4583
  for (const i of r) n.has(i) || (o += 1);
4551
4584
  return o / r.size;
4552
4585
  }
4553
- function Ui(e, t = xi) {
4586
+ function Fi(e, t = xi) {
4554
4587
  const n = e.filter((s) => !s.partial && typeof s.text == "string");
4555
4588
  if (!n.length) return { text: "", segmentCount: 0 };
4556
4589
  const o = n.reduce((s, a) => Math.max(s, a.endedAt ?? 0), 0) - t;
4557
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 };
4558
4591
  }
4559
- const Fi = 60;
4560
- function md(e, t, n = Fi) {
4592
+ const Bi = 60;
4593
+ function yd(e, t, n = Bi) {
4561
4594
  const r = new Set(e), o = [...e];
4562
4595
  for (const i of t)
4563
4596
  !i || r.has(i) || (r.add(i), o.push(i));
4564
4597
  return o.slice(-n);
4565
4598
  }
4566
- function hd(e) {
4599
+ function bd(e) {
4567
4600
  const { segments: t, now: n, state: r } = e;
4568
- if (r.lastTriggerAt && n - r.lastTriggerAt < Ni)
4601
+ if (r.lastTriggerAt && n - r.lastTriggerAt < Ri)
4569
4602
  return { trigger: !1, reason: "too_soon" };
4570
- const o = Ui(t, e.windowMs);
4603
+ const o = Fi(t, e.windowMs);
4571
4604
  if (!o.text) return { trigger: !1, reason: "no_speech" };
4572
4605
  const i = o.segmentCount - (r.lastSegmentCount ?? 0);
4573
- if (r.lastQueryTerms && i < Ri)
4606
+ if (r.lastQueryTerms && i < Di)
4574
4607
  return { trigger: !1, reason: "too_few_new" };
4575
- const s = Pi(o.text);
4576
- 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" };
4577
4610
  }
4578
- const gd = [
4611
+ const _d = [
4579
4612
  "personal",
4580
4613
  "organization",
4581
4614
  "connections",
@@ -4583,7 +4616,7 @@ const gd = [
4583
4616
  "work",
4584
4617
  "administration",
4585
4618
  "ai"
4586
- ], yd = "navNotice", Ue = {
4619
+ ], Ad = "navNotice", Ue = {
4587
4620
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
4588
4621
  // shorter than geographic numbers, and a too-strict minimum silently drops them.
4589
4622
  // An over-permissive key is harmless — it simply matches nothing.
@@ -4606,7 +4639,7 @@ const gd = [
4606
4639
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
4607
4640
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
4608
4641
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
4609
- }, Bi = "NL", ji = 15, Hi = 8, Gi = Array.from(
4642
+ }, ji = "NL", Hi = 15, Gi = 8, Wi = Array.from(
4610
4643
  new Set(Object.values(Ue).map((e) => e.callingCode))
4611
4644
  ).sort((e, t) => t.length - e.length);
4612
4645
  function bt(e) {
@@ -4617,8 +4650,8 @@ function ee(e, t) {
4617
4650
  return e.length >= t.nsnMin && e.length <= t.nsnMax;
4618
4651
  }
4619
4652
  function _t(e) {
4620
- if (e.length > ji) return null;
4621
- for (const t of Gi) {
4653
+ if (e.length > Hi) return null;
4654
+ for (const t of Wi) {
4622
4655
  if (!e.startsWith(t)) continue;
4623
4656
  const n = e.slice(t.length);
4624
4657
  for (const r of Object.values(Ue)) {
@@ -4628,16 +4661,16 @@ function _t(e) {
4628
4661
  }
4629
4662
  return null;
4630
4663
  }
4631
- return e.length < Hi ? null : `+${e}`;
4664
+ return e.length < Gi ? null : `+${e}`;
4632
4665
  }
4633
- function Wi(e) {
4666
+ function zi(e) {
4634
4667
  let t = e.trim();
4635
4668
  const n = t.match(/^(sips?|tel|whatsapp):/i);
4636
4669
  n && (t = t.slice(n[0].length));
4637
4670
  const r = t.indexOf("@");
4638
4671
  return r >= 0 && (t = t.slice(0, r)), t.trim();
4639
4672
  }
4640
- function bd(e) {
4673
+ function Ed(e) {
4641
4674
  if (!e) return !1;
4642
4675
  const t = e.indexOf("@");
4643
4676
  if (t <= 0) return !1;
@@ -4646,13 +4679,13 @@ function bd(e) {
4646
4679
  }
4647
4680
  function At(e, t) {
4648
4681
  if (!e) return null;
4649
- const n = Wi(e);
4682
+ const n = zi(e);
4650
4683
  if (!n) return null;
4651
4684
  const r = n.startsWith("+"), o = n.replace(/\D/g, "");
4652
4685
  if (!o) return null;
4653
4686
  if (r) return _t(o);
4654
4687
  if (o.startsWith("00")) return _t(o.slice(2));
4655
- const i = bt(t) ?? bt(Bi);
4688
+ const i = bt(t) ?? bt(ji);
4656
4689
  if (!i) return null;
4657
4690
  const s = i.trunkPrefix;
4658
4691
  if (s && o.startsWith(s)) {
@@ -4665,7 +4698,7 @@ function At(e, t) {
4665
4698
  }
4666
4699
  return !s && ee(o, i) ? `+${i.callingCode}${o}` : null;
4667
4700
  }
4668
- function _d(e, t = 9) {
4701
+ function Sd(e, t = 9) {
4669
4702
  const n = (e ?? "").replace(/\D/g, "");
4670
4703
  return n.length < t ? null : n.slice(-t);
4671
4704
  }
@@ -4676,7 +4709,7 @@ function an(e) {
4676
4709
  const r = t.slice(0, n).split("+")[0], o = t.slice(n + 1);
4677
4710
  return !r || !o.includes(".") ? null : `${r}@${o}`;
4678
4711
  }
4679
- function Ad(e) {
4712
+ function Td(e) {
4680
4713
  const t = an(e);
4681
4714
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
4682
4715
  }
@@ -4690,14 +4723,14 @@ const Vi = /* @__PURE__ */ new Set([
4690
4723
  "com.br",
4691
4724
  "co.za"
4692
4725
  ]);
4693
- function zi(e) {
4726
+ function Xi(e) {
4694
4727
  if (!e) return null;
4695
4728
  const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
4696
4729
  if (t.length < 2) return null;
4697
4730
  const n = t.slice(-2).join(".");
4698
4731
  return Vi.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
4699
4732
  }
4700
- const Xi = /* @__PURE__ */ new Set([
4733
+ const Yi = /* @__PURE__ */ new Set([
4701
4734
  "gmail.com",
4702
4735
  "googlemail.com",
4703
4736
  "outlook.com",
@@ -4742,16 +4775,16 @@ const Xi = /* @__PURE__ */ new Set([
4742
4775
  "proximus.be",
4743
4776
  "scarlet.be"
4744
4777
  ]);
4745
- function Sd(e) {
4746
- const t = zi(e);
4747
- return t ? Xi.has(t) : !1;
4778
+ function Id(e) {
4779
+ const t = Xi(e);
4780
+ return t ? Yi.has(t) : !1;
4748
4781
  }
4749
- function Ed(e) {
4782
+ function kd(e) {
4750
4783
  if (!e) return !1;
4751
4784
  const t = e.trim().toLowerCase();
4752
4785
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
4753
4786
  }
4754
- function Td(e, t, n) {
4787
+ function wd(e, t, n) {
4755
4788
  if (!e || !t) return null;
4756
4789
  const r = e.trim().toLowerCase();
4757
4790
  if (r === "tel" || r === "sms" || r === "whatsapp") {
@@ -4769,7 +4802,7 @@ function Td(e, t, n) {
4769
4802
  const o = t.trim().toLowerCase();
4770
4803
  return o ? `${r}:${o}` : null;
4771
4804
  }
4772
- const Yi = [
4805
+ const qi = [
4773
4806
  /<blockquote/i,
4774
4807
  /class="?gmail_quote/i,
4775
4808
  // Gmail quote container
@@ -4782,24 +4815,24 @@ const Yi = [
4782
4815
  // Outlook underscore separator before "From:"
4783
4816
  /\bOn\b[\s\S]{0,200}?\bwrote:/i
4784
4817
  // Gmail "On <date> <name> wrote:"
4785
- ], 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;
4786
- 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) {
4787
4820
  const t = e.split(`
4788
4821
  `);
4789
4822
  for (let n = 0; n < t.length; n++)
4790
- 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)))
4791
4824
  return t.slice(0, n).join(`
4792
4825
  `).trim();
4793
4826
  return e;
4794
4827
  }
4795
- 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;
4796
4829
  function he(e, t) {
4797
4830
  const n = e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`, "i"));
4798
4831
  return (n?.[1] ?? n?.[2] ?? n?.[3] ?? "").trim();
4799
4832
  }
4800
- const es = /(!\[[^\]]*\]\([^)]*\))/;
4801
- function Et(e) {
4802
- 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("");
4803
4836
  }
4804
4837
  function ge(e) {
4805
4838
  return e.replace(
@@ -4807,47 +4840,47 @@ function ge(e) {
4807
4840
  (t) => `%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2, "0")}`
4808
4841
  );
4809
4842
  }
4810
- function ts(e) {
4843
+ function ns(e) {
4811
4844
  return e.replace(/<img\b([^>]*?)\/?>/gi, (n, r) => {
4812
4845
  const o = he(r, "src");
4813
- return Ji.test(o) ? `![${Et(he(r, "alt"))}](${ge(o)})` : "";
4846
+ return es.test(o) ? `![${St(he(r, "alt"))}](${ge(o)})` : "";
4814
4847
  }).replace(
4815
4848
  /<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,
4816
4849
  (n, r, o) => {
4817
- const i = Et(o.replace(/<[^>]*>/g, "")), s = he(r, "href");
4818
- 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;
4819
4852
  }
4820
4853
  );
4821
4854
  }
4822
- 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;
4823
- 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) {
4824
4857
  return /<table\b/i.test(e) || e.includes(`
4825
4858
 
4826
4859
  |`) || t.includes("![") || t.length > 200;
4827
4860
  }
4828
- const ss = 40, as = { left: "---", center: ":---:", right: "---:" };
4829
- function cs(e) {
4861
+ const as = 40, cs = { left: "---", center: ":---:", right: "---:" };
4862
+ function ls(e) {
4830
4863
  const t = e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);
4831
4864
  return t ? t[1].toLowerCase() : "left";
4832
4865
  }
4833
- function ls(e) {
4866
+ function us(e) {
4834
4867
  return e.replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().replace(/\|/g, "\\|");
4835
4868
  }
4836
- function us(e) {
4869
+ function ds(e) {
4837
4870
  const t = [];
4838
- for (const s of e.matchAll(rs)) {
4871
+ for (const s of e.matchAll(os)) {
4839
4872
  const a = [];
4840
- for (const u of s[1].matchAll(os)) {
4841
- const l = ls(u[3]);
4842
- if (is(u[3], l)) return null;
4843
- 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]) });
4844
4877
  }
4845
4878
  if (a.length === 0) return null;
4846
4879
  a.some((u) => u.text !== "") && t.push(a);
4847
4880
  }
4848
4881
  const n = t[0]?.length ?? 0;
4849
4882
  if (t.length < 2 || n < 2 || t.some((s) => s.length !== n)) return null;
4850
- 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(`
4851
4884
  `);
4852
4885
  return `
4853
4886
 
@@ -4857,18 +4890,18 @@ ${i}
4857
4890
 
4858
4891
  `;
4859
4892
  }
4860
- function ds(e) {
4893
+ function ps(e) {
4861
4894
  return e.replace(/<\/(t[dh])\s*>/gi, " ").replace(/<\/tr\s*>/gi, `
4862
4895
  `).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi, "").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi, "");
4863
4896
  }
4864
- function ps(e) {
4897
+ function fs(e) {
4865
4898
  let t = e;
4866
- for (let n = 0; n < ss; n++) {
4867
- const r = ns.exec(t);
4899
+ for (let n = 0; n < as; n++) {
4900
+ const r = rs.exec(t);
4868
4901
  if (!r || r.index === void 0) break;
4869
- const i = us(r[1]) ?? `
4902
+ const i = ds(r[1]) ?? `
4870
4903
 
4871
- ${ds(r[1])}
4904
+ ${ps(r[1])}
4872
4905
 
4873
4906
  `;
4874
4907
  t = t.slice(0, r.index) + i + t.slice(r.index + r[0].length);
@@ -4878,7 +4911,7 @@ ${ds(r[1])}
4878
4911
  function Tt(e, t) {
4879
4912
  let n = e;
4880
4913
  return n = n.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), n = n.replace(/<!--[\s\S]*?-->/g, ""), n = n.replace(/<br\s*\/?>/gi, `
4881
- `), 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, `
4882
4915
 
4883
4916
  `), n = n.replace(/<\/(div|li|tr)>/gi, `
4884
4917
  `), n = n.replace(/<\/(td|th)>/gi, " "), n = n.replace(/<[^>]+>/g, ""), n = n.replace(/<[^>]*$/, ""), n;
@@ -4886,7 +4919,7 @@ function Tt(e, t) {
4886
4919
  function It(e) {
4887
4920
  return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
4888
4921
  }
4889
- const fs = {
4922
+ const ms = {
4890
4923
  euro: "€",
4891
4924
  pound: "£",
4892
4925
  yen: "¥",
@@ -4909,7 +4942,7 @@ const fs = {
4909
4942
  apos: "'"
4910
4943
  };
4911
4944
  function kt(e) {
4912
- 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, "&");
4913
4946
  }
4914
4947
  function wt(e) {
4915
4948
  return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
@@ -4917,79 +4950,79 @@ function wt(e) {
4917
4950
 
4918
4951
  `).trim();
4919
4952
  }
4920
- const ms = /<\s*(html|body|div|p|table|br|span)\b/i;
4921
- function Id(e) {
4922
- 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);
4923
4956
  }
4924
- function kd(e) {
4957
+ function Md(e) {
4925
4958
  return cn(e, !1);
4926
4959
  }
4927
- function wd(e) {
4960
+ function Cd(e) {
4928
4961
  return cn(e, !0);
4929
4962
  }
4930
4963
  function cn(e, t) {
4931
4964
  if (typeof e != "string" || !e) return "";
4932
4965
  let n = e.length;
4933
- for (const s of Yi) {
4966
+ for (const s of qi) {
4934
4967
  const a = e.search(s);
4935
4968
  a >= 0 && a < n && (n = a);
4936
4969
  }
4937
4970
  const r = e.slice(0, n);
4938
4971
  let o = wt(kt(Tt(r, t)));
4939
- return o || (o = wt(kt(Tt(e, t)))), Qi(o) || o;
4972
+ return o || (o = wt(kt(Tt(e, t)))), Zi(o) || o;
4940
4973
  }
4941
4974
  export {
4942
- ra as ACTIVE_ASSIGNMENT_STATUSES,
4975
+ oa as ACTIVE_ASSIGNMENT_STATUSES,
4943
4976
  R as ACTIVITY_CATALOG,
4944
- li as AI_ATTACHMENT_LIMITS,
4945
- lu as AI_ATTACHMENT_MAX_PER_TURN,
4946
- cu 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,
4947
4980
  Ct as AI_VENDORS,
4948
- On as ALLOWED_LINK_SCHEMES,
4949
- Xu as APP_PERMISSIONS,
4981
+ Nn as ALLOWED_LINK_SCHEMES,
4982
+ Qu as APP_PERMISSIONS,
4950
4983
  Xe as ARTIFACT_MAX_BLOCKS,
4951
- qs as ARTIFACT_MAX_BODY_BYTES,
4984
+ Qs as ARTIFACT_MAX_BODY_BYTES,
4952
4985
  Z as ARTIFACT_MAX_CELL_LEN,
4953
4986
  Ze as ARTIFACT_MAX_KPI_ITEMS,
4954
4987
  Ye as ARTIFACT_MAX_LIST_ITEMS,
4955
4988
  Qe as ARTIFACT_MAX_TABLE_COLUMNS,
4956
4989
  qe as ARTIFACT_MAX_TABLE_ROWS,
4957
- xt as ARTIFACT_MAX_TEXT_LEN,
4990
+ Ot as ARTIFACT_MAX_TEXT_LEN,
4958
4991
  Fn as ASSIGNMENT_SCOPE_KIND,
4959
- mu as ASSIST_BANDS,
4960
- fu as ASSIST_SOURCE_PROVIDER_GROUP,
4961
- ur as ATTENTION_STATUSES,
4992
+ yu as ASSIST_BANDS,
4993
+ gu as ASSIST_SOURCE_PROVIDER_GROUP,
4994
+ dr as ATTENTION_STATUSES,
4962
4995
  xo as AT_RISK_GAP,
4963
4996
  on as AUTH_APP_NAME,
4964
- po as AUTO_READY_MIN_PROPOSALS,
4965
- fo as AUTO_READY_RATE,
4997
+ fo as AUTO_READY_MIN_PROPOSALS,
4998
+ mo as AUTO_READY_RATE,
4966
4999
  _n as ActivityTypeRegistry,
4967
- Ns as BUILT_IN_ONLY,
4968
- dr as BULK_PENALTY,
4969
- ua as BUSINESS_ENTITY_LIST_SERVICE,
4970
- Ni as CADENCE_FLOOR_MS,
4971
- Ri as CADENCE_MIN_NEW_SEGMENTS,
4972
- 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,
4973
5006
  xi as CADENCE_WINDOW_MS,
4974
- vc as CLASSIFY_VARS,
4975
- Du as CONNECTOR_PROVIDER_GROUP,
4976
- $u as CONTEXT_COLLECT_SERVICE,
4977
- Gs as CORE_DIMENSIONS,
4978
- hi as CommunicationScheme,
4979
- tr as DAY_MS,
4980
- Mo as DEFAULT_CHECK_IN_DAYS,
4981
- Hr as DEFAULT_FORECAST_WEEKS,
4982
- qa as DEFAULT_MEMORY_BUDGET,
4983
- Ol as DEFAULT_NUMBER_PADDING,
4984
- Bi as DEFAULT_PHONE_REGION,
4985
- wl as DEFAULT_QUOTE_TEMPLATE_BLOCKS,
4986
- kl as DEFAULT_TEMPLATE_CONDITIONS,
4987
- ac as DEMAND_SOURCE_PROVIDER_GROUP,
4988
- ju as DOCUMENT_APPLY_SERVICE,
4989
- Fu as DOCUMENT_DESCRIBE_SERVICE,
4990
- Bu 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,
4991
5024
  Xe as DOCUMENT_MAX_BLOCKS,
4992
- qs as DOCUMENT_MAX_BODY_BYTES,
5025
+ Qs as DOCUMENT_MAX_BODY_BYTES,
4993
5026
  Z as DOCUMENT_MAX_CELL_LEN,
4994
5027
  Ze as DOCUMENT_MAX_KPI_ITEMS,
4995
5028
  Je as DOCUMENT_MAX_LETTERHEAD_FIELDS,
@@ -4997,441 +5030,444 @@ export {
4997
5030
  Mn as DOCUMENT_MAX_RECIPIENT_LINES,
4998
5031
  Qe as DOCUMENT_MAX_TABLE_COLUMNS,
4999
5032
  qe as DOCUMENT_MAX_TABLE_ROWS,
5000
- xt as DOCUMENT_MAX_TEXT_LEN,
5033
+ Ot as DOCUMENT_MAX_TEXT_LEN,
5001
5034
  et as DOCUMENT_MAX_TOTALS_ROWS,
5002
5035
  tn as DOCUMENT_OPERATIONS,
5003
- jo as DUTCH_SLOT_LABELS,
5004
- Cc as EMPTY_WORKFLOW,
5005
- Fo as ENABLED_TRANSACTION_KINDS,
5006
- Ou as FEATURE_FOLDER_MANAGEMENT,
5007
- Nu as FEATURE_MESSAGE_REACTIONS,
5008
- xu 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,
5009
5042
  Re as FIXED_KINDS,
5010
5043
  ie as FIXED_LEVELS,
5011
5044
  Pe as FIXED_TYPES,
5012
- ga as FIXED_UNITS,
5013
- fr as FOLLOW_UP_HOURS,
5014
- Sl as FROZEN_WRITABLE_FIELDS,
5015
- er as HOUR_MS,
5016
- 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,
5017
5050
  L as INELIGIBLE,
5018
- Gu as INSTALLATION_HEADER,
5019
- so as INTERACTION_KIND,
5020
- Mu as InteractionParticipantRole,
5051
+ Vu as INSTALLATION_HEADER,
5052
+ ao as INTERACTION_KIND,
5053
+ Ou as InteractionParticipantRole,
5021
5054
  Sr as KB_FALLBACK_LOCALE,
5022
5055
  rt as KB_LOCALES,
5023
5056
  rt as LOCALES,
5024
5057
  Ke as LOOSE_STATUSES,
5025
- sr as MAIL_HINT_HEADERS,
5026
- bs as MAX_ACTIONS,
5058
+ ar as MAIL_HINT_HEADERS,
5059
+ _s as MAX_ACTIONS,
5027
5060
  Bn as MAX_ASSIGNMENT_TURNS,
5028
- hs as MAX_BLOCKS,
5061
+ gs as MAX_BLOCKS,
5029
5062
  Ut as MAX_COLLECTION_DEPTH,
5030
- ud as MAX_EDITABLE_FILE_BYTES,
5031
- gs as MAX_FIELDS,
5032
- ys as MAX_LIST_ITEMS,
5033
- Va as MAX_MEMORY_BROWSE,
5034
- Ya as MAX_MEMORY_BUDGET,
5035
- za as MAX_MEMORY_CHARS,
5036
- Fi as MAX_SHOWN_KEYS,
5037
- Lo as MAX_TOPIC_CANDIDATES,
5038
- $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,
5039
5073
  me as MAX_TOPIC_EXAMPLE_CHARS,
5040
- dd as MAX_VIEWABLE_FILE_BYTES,
5041
- Xa as MIN_MEMORY_BUDGET,
5042
- yd as NAV_NOTICE_SLOT,
5043
- Pl as NL_PAYMENT_TERMS,
5044
- Za as NL_TAX_RATES,
5045
- Vu as NOTIFICATION_SOURCE_PROVIDER_GROUP,
5046
- No as OFF_TRACK_GAP,
5047
- 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,
5048
5082
  ve as PAUSE_HOLD,
5049
5083
  ke as PAUSE_SNOOZED,
5050
5084
  we as PAUSE_WAITING_FOR_CUSTOMER,
5051
- Rl as PAYMENT_TERM_METHODS,
5085
+ Ll as PAYMENT_TERM_METHODS,
5052
5086
  Ue as PHONE_REGIONS,
5053
5087
  nn as PRESENCE_ONLINE_WINDOW_MS,
5054
- Ei as PRESENCE_SURVIVES_OFFLINE,
5055
- Yo as PRODUCT_SCOPE_KIND,
5056
- nc as PROFILE_TOOL_DISPOSITIONS,
5057
- vu as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
5058
- wu as PROVIDER_FEATURE_MESSAGE_WINDOW,
5059
- 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,
5060
5094
  ot as READ_STEP_TYPES,
5061
- Ir as RELATED_SUBJECT_KINDS,
5095
+ kr as RELATED_SUBJECT_KINDS,
5062
5096
  en as RESERVED_STATUS_KEYS,
5063
- Hl as RESERVED_TYPE_KEYS,
5064
- nd as RESOURCE_ATTACHED_SERVICE,
5065
- Ju as RESOURCE_DESCRIBE_SERVICE,
5066
- td as RESOURCE_RESOLVE_SERVICE,
5067
- ed as RESOURCE_SEARCH_SERVICE,
5068
- Yr as SCHEDULE_ENTRY_SCOPE_KIND,
5069
- id as SCOPE_READ_ROUTE,
5070
- od as SCOPE_RELATED_ROUTE,
5071
- gd as SETTINGS_CATEGORIES,
5072
- ya as SIGNATURE_INTENTS,
5073
- pr as SLA_HOURS_BY_PRIORITY,
5074
- Bc as SLA_METRICS,
5075
- jc as SLA_PAUSE_REASONS,
5076
- lo as STEP_MAX_TOKENS_MAX,
5077
- co as STEP_MAX_TOKENS_MIN,
5078
- wo as STRATEGY_ITEM_SCOPE_KIND,
5079
- ir as SUMMARY_MIN_LAST_CHARS,
5080
- or as SUMMARY_MIN_MESSAGES,
5081
- fd as SYNC_RUN_MAX_ERRORS,
5082
- pd 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,
5083
5117
  Un as TERMINAL_ASSIGNMENT_STATUSES,
5084
- mo as TERMINAL_RUN_STATUSES,
5118
+ ho as TERMINAL_RUN_STATUSES,
5085
5119
  Le as TRANSACTION_KINDS,
5086
- Xo as TRANSACTION_SCOPE_KINDS,
5087
- wc as TRIGGER_VARS,
5088
- vr as UNKNOWN_KIND,
5089
- vo as UNKNOWN_LEVEL_ORDER,
5090
- Ru 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,
5091
5125
  kn as USAGE_DIMENSIONS,
5092
5126
  wn as USAGE_DIMENSION_IDS,
5093
- qr as WORKSTREAM_SCOPE_KIND,
5094
- ei as WORK_ACTIVITY_SCOPE_KIND,
5095
- tc as WORK_AREAS,
5096
- Ul as WORK_COMMENT_ADDED,
5097
- Xl as WORK_CYCLE_SYNC_KIND,
5098
- Fl as WORK_ITEM_ASSIGNED,
5099
- Zo as WORK_ITEM_SCOPE_KIND,
5100
- Bl as WORK_ITEM_STATUS_CHANGED,
5101
- 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,
5102
5136
  te as W_PRIORITY,
5103
- yl as acceptExampleCandidate,
5104
- eo as actingIdentityKey,
5105
- hl as activeWorkTypes,
5106
- As as activityIconOf,
5137
+ Al as acceptExampleCandidate,
5138
+ to as actingIdentityKey,
5139
+ bl as activeWorkTypes,
5140
+ Es as activityIconOf,
5107
5141
  Os as activityJoinUrl,
5108
5142
  hn as activitySnippet,
5109
5143
  gn as activityTextParams,
5110
- Cs as activityTimelineText,
5144
+ Ns as activityTimelineText,
5111
5145
  An as activityTimestamp,
5112
5146
  k as activityTypeInfo,
5113
- _c as actorKey,
5114
- gl as addExampleCandidate,
5147
+ Ec as actorKey,
5148
+ _l as addExampleCandidate,
5115
5149
  De as addWorkingMs,
5116
- qu as agePresenceEntry,
5117
- ci as aiAttachmentKind,
5118
- uu as aiAttachmentRejection,
5119
- ze as aiBudgetLimit,
5120
- js as aiBudgetPeriodKey,
5121
- Sn as aiBudgetPeriodStart,
5122
- Bs as aiBudgetState,
5123
- Fs as aiVendorAcceptsAttachment,
5124
- Ps as aiVendorDefaultModel,
5125
- Ls as aiVendorLabel,
5126
- Us as aiVendorNeedsBaseUrl,
5127
- Ks as aiVendorsWith,
5128
- 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,
5129
5163
  sn as appNameFromPath,
5130
- ul as applyRounding,
5131
- ba as applySignature,
5132
- uo as approvalRate,
5133
- Zs as artifactBodyBytes,
5134
- Js as artifactOutline,
5164
+ fl as applyRounding,
5165
+ Aa as applySignature,
5166
+ po as approvalRate,
5167
+ Js as artifactBodyBytes,
5168
+ ea as artifactOutline,
5135
5169
  Kn as artifactToMarkdown,
5136
- Tc as assignmentMismatch,
5137
- ia as assignmentScopeKey,
5138
- ca as assignmentSubject,
5139
- sc as availabilityByPerson,
5140
- rc as belongsOnCalendar,
5141
- 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,
5142
5176
  xs as buildActivityPreview,
5143
- Su as buildChannelIntents,
5144
- ea as buildShareKeys,
5145
- Ui as buildWindow,
5146
- Jn as businessEntitySender,
5147
- Cr as calendarDaysBetween,
5177
+ Iu as buildChannelIntents,
5178
+ ta as buildShareKeys,
5179
+ Fi as buildWindow,
5180
+ er as businessEntitySender,
5181
+ Nr as calendarDaysBetween,
5148
5182
  $e as calendarOf,
5149
- Fa as canNestUnder,
5150
- Qc as canParent,
5151
- oc as capacityTotal,
5152
- hc as capacityWeights,
5153
- ks as carriesText,
5154
- ja as categoryLabel,
5155
- ri as categoryOf,
5156
- ku 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,
5157
5191
  Ss as channelKindOf,
5158
- al as checkInOverdueMs,
5159
- Mc as clampStepMaxTokens,
5160
- Ma as classifyMail,
5161
- wd as cleanMessageMarkdown,
5162
- kd as cleanMessageText,
5163
- pa as codeQuery,
5164
- gu as compareAssistRank,
5165
- Do as compareWorkTypes,
5166
- Zn as conditionHolds,
5167
- Bo as copyFrom,
5168
- z as countsAsPlanned,
5169
- ic as coverageByPerson,
5170
- 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,
5171
5205
  Bt as coversWorkstream,
5172
- Nl as currentPeriod,
5206
+ $l as currentPeriod,
5173
5207
  jt as cycleDayIndex,
5174
- su as cycleOrder,
5175
- au as cycleState,
5176
- la as decideAssignmentState,
5177
- hd as decideCadence,
5178
- _u as decideIncomingCall,
5179
- Er as defaultLocaleOf,
5180
- nu 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,
5181
5215
  Vo as defaultTemplateBlocks,
5182
- Cu as defineIntent,
5183
- _r as depthOf,
5184
- Yu as derivePresence,
5185
- zs as describeClause,
5186
- Au as disabledIntentsFromCapabilities,
5187
- Zs as documentBodyBytes,
5188
- Hu as documentKindOf,
5189
- 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,
5190
5225
  Kn as documentToMarkdown,
5191
- Uu as documentToText,
5192
- Wc as dueAtOf,
5193
- Dl as dueDateFrom,
5194
- ll as elapsedSeconds,
5195
- Ad as emailDomain,
5196
- Td as endpointKey,
5197
- Rr as erlangC,
5198
- ki as extractParams,
5199
- Pi as extractTerms,
5200
- Ea as fillDocument,
5201
- Qn as fillText,
5202
- Tu as filterByEndpoint,
5203
- Eu as filterByIntent,
5204
- 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,
5205
5240
  Vs as filterableDimensions,
5206
5241
  oe as findAiVendor,
5207
- Jc as fixedLevelForName,
5208
- Vl as fixedTypeForName,
5209
- zl as fixedTypes,
5210
- Wu as flattenLocales,
5242
+ nl as fixedLevelForName,
5243
+ Yl as fixedTypeForName,
5244
+ ql as fixedTypes,
5245
+ Xu as flattenLocales,
5211
5246
  W as floorToPeriod,
5212
- pc as forecastIntervals,
5213
- Jr as formatActingIdentity,
5247
+ mc as forecastIntervals,
5248
+ eo as formatActingIdentity,
5214
5249
  D as formatCents,
5215
- pl as formatClock,
5216
- dl as formatHm,
5217
- ql as formatItemKey,
5250
+ hl as formatClock,
5251
+ ml as formatHm,
5252
+ Jl as formatItemKey,
5218
5253
  G as formatPeriod,
5219
- xl as formatSeriesNumber,
5220
- Xc as formatSlaDuration,
5221
- pu as freshSources,
5222
- Rs as getActivitySeenUserIds,
5223
- _a as getContactEndpoints,
5224
- $a as getShortTitle,
5225
- Da as getUrgencyScore,
5226
- Kc as hasReacted,
5227
- el as healthCategory,
5228
- tl 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,
5229
5264
  Ft as heightOf,
5230
- Pa as helpCenterText,
5231
- Ic as humanizeAction,
5232
- ao as interactionIdOf,
5233
- Kl as isAgentUser,
5234
- Na as isAssigned,
5235
- oa as isAssignmentTerminal,
5236
- ro as isAssignmentTrigger,
5237
- Nc as isAutoReady,
5238
- br as isAwaitingThem,
5239
- $s as isChatMessageActivity,
5240
- Ra as isClosed,
5241
- vs as isConnectedType,
5242
- sd as isDeepLink,
5243
- Ar as isDescendant,
5244
- Ia as isEligible,
5245
- Ds as isEmailActivity,
5246
- Al as isFrozen,
5247
- Gc as isHeldClock,
5248
- Id as isHtmlBody,
5249
- Dc as isInFlight,
5250
- lr as isInteractionUnseen,
5251
- ad as isLandingPath,
5252
- 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,
5253
5288
  vt as isMessageShape,
5254
- Es as isMessageType,
5255
- vi as isMoreSpecificPattern,
5289
+ Ts as isMessageType,
5290
+ Mi as isMoreSpecificPattern,
5256
5291
  Mt as isNoteShape,
5257
- ko as isOpenClock,
5258
- du as isOutwardTool,
5259
- hr as isParked,
5260
- ho as isPaused,
5261
- ws as isPlaybookAuthoredType,
5262
- Sd as isPublicEmailDomain,
5263
- ld as isPublicPath,
5264
- gr as isReminderActive,
5265
- Is as isReplyableType,
5266
- Oa as isSlaAtRisk,
5267
- Rc as isTerminal,
5268
- wa as isThreadLongEnough,
5269
- Ms as isTranscriptType,
5270
- ru as isWorkClosed,
5271
- ml as isWorkTypeVisible,
5272
- Jl as itemDossierKeys,
5273
- N as kindFor,
5274
- ni as ladderFor,
5275
- 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,
5276
5311
  Ce as levelOrder,
5277
- wr as lineNet,
5278
- La as linkLabel,
5279
- _l as listedTransactionKinds,
5280
- Hs as listeningAllowed,
5281
- Ua as localeInstruction,
5282
- Ka as localeName,
5283
- Ba as localesOf,
5284
- bd 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,
5285
5320
  Dt as lookup,
5286
- ma as marginCents,
5287
- Ku as markdownToDocument,
5288
- Iu as matchContactToIntents,
5289
- Mi as matchPublicRoute,
5290
- Ga as mcpCredentialScope,
5291
- Wa as mcpToolPrefix,
5292
- nl as measureRatio,
5293
- md 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,
5294
5329
  mn as messageCountsAs,
5295
- Xs as metricOption,
5330
+ Ys as metricOption,
5296
5331
  Ht as minutesOn,
5297
- Ed as needsPhoneRegion,
5298
- Ts as nestsUnderParent,
5299
- Zc as nextLevelBelow,
5300
- Vc as nextSlaClock,
5301
- El as nextVersion,
5302
- Qs as normalizeArtifactBlocks,
5303
- _s as normalizeBlocks,
5304
- 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,
5305
5340
  an as normalizeEmail,
5306
5341
  P as normalizeExample,
5307
- jn as normalizeGtin,
5308
- zu as notificationPrefKey,
5309
- Ki as novelty,
5310
- Pu as operationDescriptor,
5311
- Lu as operationsForKind,
5312
- 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,
5313
5348
  pe as overlapSeconds,
5314
- cc as overlaps,
5315
- rl as paceRatio,
5316
- ka as parkMarksById,
5317
- yc as parseActingIdentity,
5318
- fa as parseAmount,
5319
- Uc as parseClockMinutes,
5320
- Ql as parseItemKey,
5321
- 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,
5322
5357
  Wt as patternFor,
5323
5358
  Gt as patternStartTime,
5324
- Fc as pauseBitFor,
5325
- Ws as periodsInRange,
5326
- _d as phoneSuffix,
5327
- va as pickMailHeaders,
5328
- Sa as pickTemplate,
5329
- 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,
5330
5365
  pn as plainTextFromMarkdown,
5331
- Hc as planSlaEvent,
5332
- uc as plannedBillable,
5333
- Br as plannedWorkTypeKey,
5334
- no as playbookActor,
5335
- xc as procedureOf,
5336
- vl as productScopeKey,
5337
- eu as projectDossierKeys,
5338
- wi as publicBasePathFor,
5339
- cd as publicRoutePatterns,
5340
- 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,
5341
5376
  ye as readPath,
5342
5377
  de as readStepError,
5343
- mr as recencyOf,
5344
- Aa as recipientLocale,
5345
- io as refKey,
5346
- zi as registrableDomain,
5347
- Ko as rejectExampleCandidate,
5348
- 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,
5349
5384
  Me as remainingMsOf,
5350
- Lr as requiredAgents,
5351
- Fr as requirementFor,
5352
- pi as resolveAccountCapabilities,
5385
+ Pr as requiredAgents,
5386
+ Br as requirementFor,
5387
+ fi as resolveAccountCapabilities,
5353
5388
  be as resolveActivityText,
5354
- di as resolveChannelIntents,
5355
- ha as resolvePrice,
5356
- Xn as resolveSignature,
5357
- Qu as resolveWorkMode,
5358
- rd as resourceKindOf,
5359
- sl as rollupChildren,
5360
- V as roundHalfUp,
5361
- bc as runActor,
5362
- Lc 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,
5363
5398
  Dn as sanitizeInline,
5364
5399
  Oi as sanitizeTranscript,
5365
- fc as scheduleEntryScopeKey,
5366
- xa as scoreInteraction,
5367
- jl as scoreWorkItem,
5368
- Ha as selectLenses,
5369
- Dr as serviceLevel,
5370
- bu as sessionsHoldCannotReach,
5371
- yu as sessionsToHold,
5372
- $l 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,
5373
5408
  Rt as shareKeyForTeam,
5374
- Nt as shareKeyForUser,
5375
- ta as shareKeysForViewer,
5376
- dc as shortfalls,
5377
- Zu as shouldRunAudioPipeline,
5378
- zc as slaBadgeTone,
5379
- Ca as slaHoursByInbox,
5380
- yr as slaHoursFor,
5381
- oi as sortStatuses,
5382
- ui as sourceKey,
5383
- Zr as spreadOverWeights,
5384
- tu as statusIn,
5385
- Oc as stepsOf,
5386
- qc as strategyAncestorKeysFor,
5387
- Yc 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,
5388
5423
  Zt as strategyItemScopeKey,
5389
5424
  fn as stripHtml,
5390
- $c as subjectKeyOf,
5391
- Vt as subjectOf,
5392
- hu as subjectRef,
5393
- Zl as suggestProjectKey,
5394
- ol as suggestedHealth,
5395
- Pc as summarizeReactions,
5396
- Ec as targetById,
5397
- Sc as targetForActivityType,
5398
- cl as targetOrder,
5399
- 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,
5400
5435
  Or as termsFor,
5401
- to as toActingIdentity,
5436
+ no as toActingIdentity,
5402
5437
  At as toE164,
5403
- Ll as toTransactionTerm,
5404
- oo as toolBareName,
5405
- kc as toolDisplayName,
5438
+ Ul as toTransactionTerm,
5439
+ io as toolBareName,
5440
+ vc as toolDisplayName,
5406
5441
  ne as toolName,
5407
- na as toolSourceKinds,
5408
- Uo as topicOfferedForTeam,
5409
- bl as topicsForTeam,
5410
- $r as trafficIntensity,
5411
- Tl as transactionContext,
5412
- Cl as transactionDossierKeys,
5413
- Ml 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,
5414
5449
  F as transactionKind,
5415
- qo as transactionScopeKey,
5416
- Il as transactionSlots,
5417
- Ja as transactionTotals,
5418
- Po as truncateExample,
5419
- Wl as typeIn,
5420
- Gl as typesFor,
5421
- ou as uniqueWorkStatusKey,
5422
- fl 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,
5423
5459
  vn as usageMetricId,
5424
- Ys as usageMetrics,
5425
- iu as validateStatuses,
5426
- Ac as valueAtPath,
5427
- Ne as waitHoursOf,
5428
- sa as wakesAssignment,
5429
- Yl as workActivityScopeKey,
5430
- 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,
5431
5467
  Jt as workProjectScopeKey,
5432
- il as workRatio,
5433
- ii as workStatusKey,
5434
- Ro as workTypeKey,
5468
+ cl as workRatio,
5469
+ si as workStatusKey,
5470
+ Do as workTypeKey,
5435
5471
  Ie as workingMsBetween,
5436
- mc as workstreamScopeKey
5472
+ gc as workstreamScopeKey
5437
5473
  };