@opencxh/domain 1.243.0 → 1.245.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 os = 10, is = 10, ss = 10, as = 5, on = /* @__PURE__ */ new Set([
1
+ const is = 10, ss = 10, as = 10, cs = 5, on = /* @__PURE__ */ new Set([
2
2
  "header",
3
3
  "section",
4
4
  "context",
@@ -14,7 +14,7 @@ function oe(e) {
14
14
  const t = e;
15
15
  return typeof t.key == "string" || typeof t.value == "string";
16
16
  }
17
- function cs(e, t = () => {
17
+ function ls(e, t = () => {
18
18
  }) {
19
19
  if (!Array.isArray(e)) return [];
20
20
  const n = [];
@@ -467,40 +467,40 @@ function Ke(e) {
467
467
  function w(e) {
468
468
  return R[e];
469
469
  }
470
- function ls(e) {
470
+ function us(e) {
471
471
  return w(e)?.icon ?? "circle";
472
472
  }
473
- function us(e) {
473
+ function ds(e) {
474
474
  return w(e)?.channelKind;
475
475
  }
476
476
  function St(e) {
477
477
  return e === "message" || e === "note";
478
478
  }
479
- function ds(e) {
479
+ function ps(e) {
480
480
  return St(w(e)?.shape);
481
481
  }
482
482
  function It(e) {
483
483
  return e === "note";
484
484
  }
485
- function ps(e) {
485
+ function fs(e) {
486
486
  return It(w(e)?.shape);
487
487
  }
488
- function fs(e) {
488
+ function ms(e) {
489
489
  return w(e)?.replyable === !0;
490
490
  }
491
- function ms(e) {
491
+ function hs(e) {
492
492
  return w(e)?.carriesText === !0;
493
493
  }
494
494
  function un(e) {
495
495
  return w(e)?.countsAs;
496
496
  }
497
- function hs(e) {
497
+ function gs(e) {
498
498
  return w(e)?.playbookAuthored === !0;
499
499
  }
500
- function gs(e) {
500
+ function ys(e) {
501
501
  return w(e)?.connected === !0;
502
502
  }
503
- function ys(e) {
503
+ function bs(e) {
504
504
  const t = w(e);
505
505
  return t?.shape === "artifact" && t?.carriesText === !0;
506
506
  }
@@ -508,11 +508,11 @@ function dn(e) {
508
508
  const t = w(e.type)?.snippet;
509
509
  return t ? t(e) : "";
510
510
  }
511
- function bs(e, t) {
511
+ function As(e, t) {
512
512
  const n = w(e.type)?.timeline;
513
513
  return n ? n(e, t) : e.type.replace(/_/g, " ").toLowerCase();
514
514
  }
515
- function As(e) {
515
+ function _s(e) {
516
516
  const t = w(e.type)?.joinUrl;
517
517
  return t ? t(e) : void 0;
518
518
  }
@@ -547,7 +547,7 @@ function fn(e) {
547
547
  const t = e.trim();
548
548
  return t.length <= Ue ? t : `${t.slice(0, Ue - 1).trimEnd()}…`;
549
549
  }
550
- function _s(e, t) {
550
+ function Es(e, t) {
551
551
  const n = pn(t?.text, e), r = t ? me(t.text, e, (o) => o) : null;
552
552
  return {
553
553
  activityId: e.id,
@@ -681,8 +681,8 @@ class hn {
681
681
  return this.translate;
682
682
  }
683
683
  }
684
- const Es = new hn();
685
- function Ss(e, t, n = []) {
684
+ const Ss = new hn();
685
+ function Is(e, t, n = []) {
686
686
  const r = e.createdAt;
687
687
  if (!r) return [];
688
688
  const o = new Set(n);
@@ -691,10 +691,10 @@ function Ss(e, t, n = []) {
691
691
  function gn(e) {
692
692
  return e.createdAt ?? 0;
693
693
  }
694
- function Is(e) {
694
+ function Ts(e) {
695
695
  return e.type === "EMAIL_RECEIVED" || e.type === "EMAIL_SENT";
696
696
  }
697
- function Ts(e) {
697
+ function ws(e) {
698
698
  return e.type === "CHAT_MESSAGE_SENT" || e.type === "CHAT_MESSAGE_RECEIVED";
699
699
  }
700
700
  const Tt = [
@@ -790,23 +790,23 @@ const Tt = [
790
790
  function te(e) {
791
791
  return Tt.find((t) => t.id === e);
792
792
  }
793
- function ws(e) {
793
+ function ks(e) {
794
794
  return te(e)?.label ?? e;
795
795
  }
796
- function ks(e, t = "gpt-5-mini") {
796
+ function Ms(e, t = "gpt-5-mini") {
797
797
  return te(e)?.defaultModel ?? t;
798
798
  }
799
- function Ms(e) {
799
+ function vs(e) {
800
800
  return Tt.filter((t) => t.capabilities.includes(e));
801
801
  }
802
- function vs(e) {
802
+ function Cs(e) {
803
803
  const t = te(e);
804
804
  return !!t && !t.baseUrl;
805
805
  }
806
- function Cs(e, t) {
806
+ function Os(e, t) {
807
807
  return t === "text" ? !0 : te(e)?.attachmentKinds?.includes(t) === !0;
808
808
  }
809
- function Os(e, t) {
809
+ function xs(e, t) {
810
810
  if (!e.enabled) return "ok";
811
811
  const n = je(e.hardLimitNanos), r = je(e.softLimitNanos);
812
812
  return n !== void 0 && t >= n ? "hard" : r !== void 0 && t >= r ? "soft" : "ok";
@@ -818,14 +818,14 @@ function yn(e, t = "month") {
818
818
  const n = new Date(e);
819
819
  return Date.UTC(n.getUTCFullYear(), n.getUTCMonth(), 1);
820
820
  }
821
- function xs(e, t = "month") {
821
+ function Ns(e, t = "month") {
822
822
  const n = new Date(yn(e, t));
823
823
  return `${n.getUTCFullYear()}-${String(n.getUTCMonth() + 1).padStart(2, "0")}`;
824
824
  }
825
- function Ns(e) {
825
+ function Rs(e) {
826
826
  return e?.listeningEnabled !== !1;
827
827
  }
828
- const Rs = [
828
+ const Ds = [
829
829
  { id: "agent", label: "Agent", labelSource: "user" },
830
830
  { id: "team", label: "Team", labelSource: "team" },
831
831
  { id: "inbox", label: "Inbox", labelSource: "inbox" },
@@ -847,14 +847,14 @@ function H(e, t) {
847
847
  return n.setUTCMinutes(0, 0, 0), t === "day" && n.setUTCHours(0), n.getTime();
848
848
  }
849
849
  const bn = 36e5, An = 864e5;
850
- function Ds(e, t, n) {
850
+ function $s(e, t, n) {
851
851
  const r = n === "hour" ? bn : An, o = [];
852
852
  for (let i = H(e, n); i <= t; i += r)
853
853
  o.push(j(i, n));
854
854
  return o;
855
855
  }
856
856
  const _n = /* @__PURE__ */ new Set(["time"]);
857
- function $s(e, t, n) {
857
+ function Ls(e, t, n) {
858
858
  if (!e) return [];
859
859
  const r = new Set(e.supportedDimensions ?? []);
860
860
  return t.filter((o) => r.has(o.id) && !_n.has(o.id)).map((o) => ({
@@ -863,11 +863,11 @@ function $s(e, t, n) {
863
863
  options: o.options?.length ? o.options : n[o.id] ?? []
864
864
  })).filter((o) => o.options.length > 0);
865
865
  }
866
- function Ls(e, t) {
866
+ function Ps(e, t) {
867
867
  const n = t.find((o) => o.id === e.dimensionId), r = n?.options.find((o) => o.value === e.value);
868
868
  return `${n?.label ?? e.dimensionId} · ${r?.label ?? e.value}`;
869
869
  }
870
- function Ps(e) {
870
+ function Ks(e) {
871
871
  return { value: e.id, label: `${e.category} · ${e.label}` };
872
872
  }
873
873
  const En = [
@@ -877,7 +877,7 @@ const En = [
877
877
  function In(e, t) {
878
878
  return `${e}.usage.${t}`;
879
879
  }
880
- function Ks(e, t) {
880
+ function Us(e, t) {
881
881
  return t.map((n) => ({
882
882
  id: In(e, n.unit),
883
883
  label: n.label,
@@ -892,7 +892,7 @@ function Ks(e, t) {
892
892
  ]
893
893
  }));
894
894
  }
895
- const wt = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), He = 200, Ge = 100, We = 200, Ve = 12, ze = 4, Xe = 10, Tn = 8, Ye = 12, kt = 4e3, q = 500, Us = 1024 * 1024, wn = /* @__PURE__ */ new Set([
895
+ const wt = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), He = 200, Ge = 100, We = 200, Ve = 12, ze = 4, Xe = 10, Tn = 8, Ye = 12, kt = 4e3, q = 500, Fs = 1024 * 1024, wn = /* @__PURE__ */ new Set([
896
896
  "heading",
897
897
  "paragraph",
898
898
  "list",
@@ -968,7 +968,7 @@ function U(e, t = 200) {
968
968
  function Nn(e, t = "info") {
969
969
  return typeof e == "string" && wt.has(e) ? e : t;
970
970
  }
971
- function Fs(e, t = () => {
971
+ function Bs(e, t = () => {
972
972
  }) {
973
973
  if (!Array.isArray(e)) return [];
974
974
  const n = [];
@@ -1028,15 +1028,15 @@ function Fs(e, t = () => {
1028
1028
  break;
1029
1029
  case "list": {
1030
1030
  const s = Array.isArray(o.items) ? o.items : [], a = [];
1031
- for (const l of s) {
1031
+ for (const u of s) {
1032
1032
  if (a.length >= Ge) {
1033
1033
  t(`more than ${Ge} list items`);
1034
1034
  break;
1035
1035
  }
1036
- const d = T(l?.text);
1036
+ const d = T(u?.text);
1037
1037
  if (!d) continue;
1038
- const u = T(l?.lead, 200);
1039
- a.push(u ? { lead: u, text: d } : { text: d });
1038
+ const l = T(u?.lead, 200);
1039
+ a.push(l ? { lead: l, text: d } : { text: d });
1040
1040
  }
1041
1041
  if (a.length === 0) {
1042
1042
  t("a list without usable items");
@@ -1048,33 +1048,33 @@ function Fs(e, t = () => {
1048
1048
  }
1049
1049
  case "table": {
1050
1050
  const s = Array.isArray(o.columns) ? o.columns : [], a = [];
1051
- for (const u of s) {
1051
+ for (const l of s) {
1052
1052
  if (a.length >= Ve) {
1053
1053
  t(`more than ${Ve} table columns`);
1054
1054
  break;
1055
1055
  }
1056
- const p = T(u?.label, q), f = u?.align === "right" ? "right" : void 0;
1056
+ const p = T(l?.label, q), f = l?.align === "right" ? "right" : void 0;
1057
1057
  a.push(f ? { label: p, align: f } : { label: p });
1058
1058
  }
1059
1059
  if (a.length === 0) {
1060
1060
  t("a table without columns");
1061
1061
  continue;
1062
1062
  }
1063
- const c = Array.isArray(o.rows) ? o.rows : [], l = [];
1064
- for (const u of c) {
1065
- if (l.length >= We) {
1063
+ const c = Array.isArray(o.rows) ? o.rows : [], u = [];
1064
+ for (const l of c) {
1065
+ if (u.length >= We) {
1066
1066
  t(`more than ${We} table rows`);
1067
1067
  break;
1068
1068
  }
1069
- const p = Array.isArray(u) ? u : [];
1070
- l.push(a.map((f, y) => T(p[y], q)));
1069
+ const p = Array.isArray(l) ? l : [];
1070
+ u.push(a.map((f, y) => T(p[y], q)));
1071
1071
  }
1072
1072
  const d = T(o.caption, q);
1073
1073
  n.push({
1074
1074
  ...i,
1075
1075
  type: "table",
1076
1076
  columns: a,
1077
- rows: l,
1077
+ rows: u,
1078
1078
  ...d ? { caption: d } : {}
1079
1079
  });
1080
1080
  break;
@@ -1086,11 +1086,11 @@ function Fs(e, t = () => {
1086
1086
  t(`more than ${ze} kpi items`);
1087
1087
  break;
1088
1088
  }
1089
- const l = T(c?.value, 40), d = T(c?.label, 80);
1090
- if (!l || !d) continue;
1091
- const u = c?.tone;
1089
+ const u = T(c?.value, 40), d = T(c?.label, 80);
1090
+ if (!u || !d) continue;
1091
+ const l = c?.tone;
1092
1092
  a.push(
1093
- typeof u == "string" && wt.has(u) ? { value: l, label: d, tone: u } : { value: l, label: d }
1093
+ typeof l == "string" && wt.has(l) ? { value: u, label: d, tone: l } : { value: u, label: d }
1094
1094
  );
1095
1095
  }
1096
1096
  if (a.length === 0) {
@@ -1123,13 +1123,13 @@ function Fs(e, t = () => {
1123
1123
  t(`more than ${Xe} letterhead fields`);
1124
1124
  break;
1125
1125
  }
1126
- const u = d, p = typeof u?.key == "string" ? u.key.slice(0, 48) : "", f = U(u?.value);
1126
+ const l = d, p = typeof l?.key == "string" ? l.key.slice(0, 48) : "", f = U(l?.value);
1127
1127
  if (!p || !f) continue;
1128
- const y = U(u?.label, 80);
1128
+ const y = U(l?.label, 80);
1129
1129
  a.push(y ? { key: p, label: y, value: f } : { key: p, value: f });
1130
1130
  }
1131
- const l = (Array.isArray(o.recipient) ? o.recipient : []).slice(0, Tn).map((d) => U(d)).filter(Boolean);
1132
- if (a.length === 0 && l.length === 0) {
1131
+ const u = (Array.isArray(o.recipient) ? o.recipient : []).slice(0, Tn).map((d) => U(d)).filter(Boolean);
1132
+ if (a.length === 0 && u.length === 0) {
1133
1133
  t("a letterhead without fields or recipient");
1134
1134
  continue;
1135
1135
  }
@@ -1137,26 +1137,26 @@ function Fs(e, t = () => {
1137
1137
  ...i,
1138
1138
  type: "letterhead",
1139
1139
  fields: a,
1140
- ...l.length > 0 ? { recipient: l } : {}
1140
+ ...u.length > 0 ? { recipient: u } : {}
1141
1141
  });
1142
1142
  break;
1143
1143
  }
1144
1144
  case "totals": {
1145
- const s = (l) => {
1146
- const d = Array.isArray(l) ? l : [], u = [];
1145
+ const s = (u) => {
1146
+ const d = Array.isArray(u) ? u : [], l = [];
1147
1147
  for (const p of d) {
1148
- if (u.length >= Ye) {
1148
+ if (l.length >= Ye) {
1149
1149
  t(`more than ${Ye} totals rows`);
1150
1150
  break;
1151
1151
  }
1152
1152
  const f = p, y = U(f?.label), m = U(f?.amount, 40);
1153
- !y || !m || u.push(
1153
+ !y || !m || l.push(
1154
1154
  f?.emphasis === !0 ? { label: y, amount: m, emphasis: !0 } : { label: y, amount: m }
1155
1155
  );
1156
1156
  }
1157
- return u;
1157
+ return l;
1158
1158
  }, a = s(o.rows);
1159
- if (a.length === 0) {
1159
+ if (a.length === 0 && !o.block_id) {
1160
1160
  t("a totals block without usable rows");
1161
1161
  continue;
1162
1162
  }
@@ -1187,10 +1187,10 @@ function Fs(e, t = () => {
1187
1187
  }
1188
1188
  return n;
1189
1189
  }
1190
- function Bs(e) {
1190
+ function js(e) {
1191
1191
  return JSON.stringify(e).length;
1192
1192
  }
1193
- function js(e) {
1193
+ function Hs(e) {
1194
1194
  return {
1195
1195
  blocks: e.length,
1196
1196
  types: e.map((t) => t.type),
@@ -1278,44 +1278,44 @@ function Dn(e, t) {
1278
1278
  `;
1279
1279
  }
1280
1280
  const Mt = (e) => `user:${e}`, vt = (e) => `team:${e}`;
1281
- function Hs(e) {
1281
+ function Gs(e) {
1282
1282
  const t = /* @__PURE__ */ new Set();
1283
1283
  for (const n of e ?? [])
1284
1284
  n?.id && (n.kind === "user" && t.add(Mt(n.id)), n.kind === "team" && t.add(vt(n.id)));
1285
1285
  return [...t].sort();
1286
1286
  }
1287
- function Gs(e, t) {
1287
+ function Ws(e, t) {
1288
1288
  return [Mt(e), ...t.map(vt)];
1289
1289
  }
1290
- function Ws(e) {
1290
+ function Vs(e) {
1291
1291
  const t = /* @__PURE__ */ new Set();
1292
1292
  for (const n of e ?? [])
1293
1293
  n?.kind && t.add(n.kind);
1294
1294
  return [...t];
1295
1295
  }
1296
- const $n = ["done", "escalated"], Vs = ["open", "waiting"];
1297
- function zs(e) {
1296
+ const $n = ["done", "escalated"], zs = ["open", "waiting"];
1297
+ function Xs(e) {
1298
1298
  return $n.includes(e);
1299
1299
  }
1300
1300
  const Ln = "assignment";
1301
- function Xs(e) {
1301
+ function Ys(e) {
1302
1302
  return `${Ln}:${e}`;
1303
1303
  }
1304
- function Ys(e, t, n, r) {
1304
+ function qs(e, t, n, r) {
1305
1305
  if (e.direction === "inbound") return !0;
1306
1306
  if (e.author?.type === "user" && e.author.id === t) return !1;
1307
1307
  const o = e.payload?.mentions;
1308
1308
  return Array.isArray(o) && o.includes(t) || r && r === t ? !0 : n === "reply";
1309
1309
  }
1310
- function qs(e) {
1310
+ function Qs(e) {
1311
1311
  const { targetAuthorId: t, reactorId: n, agentId: r, on: o } = e;
1312
1312
  return !o || !t || t !== r ? !1 : n !== r;
1313
1313
  }
1314
- function Qs(e) {
1314
+ function Zs(e) {
1315
1315
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
1316
1316
  }
1317
1317
  const Pn = 12;
1318
- function Zs(e, t, n = Pn) {
1318
+ function Js(e, t, n = Pn) {
1319
1319
  const r = t + 1;
1320
1320
  return e ? e.kind === "done" ? { status: "done", waitingOn: null, turns: r, reason: e.note } : e.kind === "escalate" ? { status: "escalated", waitingOn: null, turns: r, reason: e.reason } : r >= n ? {
1321
1321
  status: "escalated",
@@ -1341,7 +1341,7 @@ function Un(e) {
1341
1341
  t += Number(e[n]) * (n % 2 === 0 ? 3 : 1);
1342
1342
  return (10 - t % 10) % 10;
1343
1343
  }
1344
- function Js(e, t) {
1344
+ function ea(e, t) {
1345
1345
  const n = t.trim(), r = Kn(n), o = [{ sku: n }, { barcodes: { $in: [n] } }];
1346
1346
  return r && o.push({ gtin: r }), { organizationId: e, $or: o };
1347
1347
  }
@@ -1350,11 +1350,11 @@ function G(e) {
1350
1350
  }
1351
1351
  function Fn(e, t) {
1352
1352
  if (t.length === 0) return [];
1353
- const n = t.reduce((c, l) => c + l, 0);
1354
- if (n === 0) return t.map((c, l) => l === 0 ? e : 0);
1353
+ const n = t.reduce((c, u) => c + u, 0);
1354
+ if (n === 0) return t.map((c, u) => u === 0 ? e : 0);
1355
1355
  const r = t.map((c) => e * c / n), o = r.map((c) => Math.trunc(c));
1356
- let i = e - o.reduce((c, l) => c + l, 0);
1357
- const s = r.map((c, l) => ({ index: l, fraction: Math.abs(c - o[l]) })).sort((c, l) => l.fraction - c.fraction), a = i < 0 ? -1 : 1;
1356
+ let i = e - o.reduce((c, u) => c + u, 0);
1357
+ const s = r.map((c, u) => ({ index: u, fraction: Math.abs(c - o[u]) })).sort((c, u) => u.fraction - c.fraction), a = i < 0 ? -1 : 1;
1358
1358
  for (let c = 0; i !== 0 && c < s.length; c++)
1359
1359
  o[s[c].index] += a, i -= a;
1360
1360
  return o;
@@ -1362,26 +1362,26 @@ function Fn(e, t) {
1362
1362
  function D(e, t = {}) {
1363
1363
  const n = t.decimal ?? ",", r = t.group ?? ".", o = e < 0, i = Math.abs(Math.trunc(e)).toString().padStart(3, "0"), s = i.slice(0, -2), a = i.slice(-2);
1364
1364
  let c = "";
1365
- for (let l = 0; l < s.length; l++)
1366
- l > 0 && (s.length - l) % 3 === 0 && (c += r), c += s[l];
1365
+ for (let u = 0; u < s.length; u++)
1366
+ u > 0 && (s.length - u) % 3 === 0 && (c += r), c += s[u];
1367
1367
  return `${o ? "-" : ""}${c}${n}${a}`;
1368
1368
  }
1369
- function ea(e) {
1369
+ function ta(e) {
1370
1370
  const t = e.trim().replace(/[\s ]/g, "");
1371
1371
  if (!t) return;
1372
1372
  const n = t.replace(/^[-+]?[^\d.,-]*/, "").replace(/[^\d.,-]+$/, ""), r = /^-/.test(t) || /-$/.test(t), o = n.replace(/-/g, "");
1373
1373
  if (!o || !/^[\d.,]+$/.test(o)) return;
1374
- const i = o.lastIndexOf(","), s = o.lastIndexOf("."), a = Math.max(i, s), c = a === -1 ? "" : o.slice(a + 1), l = a !== -1 && c.length >= 1 && c.length <= 2, d = l ? o.slice(0, a) : o;
1374
+ const i = o.lastIndexOf(","), s = o.lastIndexOf("."), a = Math.max(i, s), c = a === -1 ? "" : o.slice(a + 1), u = a !== -1 && c.length >= 1 && c.length <= 2, d = u ? o.slice(0, a) : o;
1375
1375
  if (!Bn(d)) return;
1376
- const u = d.replace(/[.,]/g, ""), p = l ? c.padEnd(2, "0") : "00";
1377
- if (u === "") return;
1378
- const f = Number(u) * 100 + Number(p);
1376
+ const l = d.replace(/[.,]/g, ""), p = u ? c.padEnd(2, "0") : "00";
1377
+ if (l === "") return;
1378
+ const f = Number(l) * 100 + Number(p);
1379
1379
  return r ? -f : f;
1380
1380
  }
1381
1381
  function Bn(e) {
1382
1382
  return /^\d+$/.test(e) ? !0 : e.includes(".") && e.includes(",") ? !1 : /^\d{1,3}([.,]\d{3})*$/.test(e);
1383
1383
  }
1384
- function ta(e) {
1384
+ function na(e) {
1385
1385
  return e.costPriceCents == null ? e.netCents : e.netCents - G(e.costPriceCents * e.quantity);
1386
1386
  }
1387
1387
  const jn = [
@@ -1406,7 +1406,7 @@ const jn = [
1406
1406
  matches: (e, t) => !e.contractId && !e.companyId && !!e.segmentKey && e.segmentKey === t.segmentKey && !!e.categoryKey
1407
1407
  }
1408
1408
  ];
1409
- function na(e, t, n) {
1409
+ function ra(e, t, n) {
1410
1410
  const r = n.filter(
1411
1411
  (o) => o.currency === e.currency && (o.validFrom == null || o.validFrom <= t.at) && (o.validTo == null || o.validTo >= t.at) && (o.minQuantity == null || t.quantity >= o.minQuantity) && (o.productId == null || o.productId === e.id) && (o.categoryKey == null || o.categoryKey === e.categoryKey) && (o.productId != null || o.categoryKey != null)
1412
1412
  );
@@ -1427,19 +1427,19 @@ function na(e, t, n) {
1427
1427
  function Hn(e, t) {
1428
1428
  return e.unitPriceCents != null ? e.unitPriceCents : e.discountPercent != null ? G(t * (1 - e.discountPercent / 100)) : t;
1429
1429
  }
1430
- const ra = ["piece", "hour", "day", "month", "km", "license"], oa = /* @__PURE__ */ new Set(["mail", "message"]);
1430
+ const oa = ["piece", "hour", "day", "month", "km", "license"], ia = /* @__PURE__ */ new Set(["mail", "message"]);
1431
1431
  function Gn(e, t) {
1432
1432
  const n = e.settings?.signatures?.[t];
1433
1433
  return !n?.enabled || !n.body || n.body.trim() === "" ? null : n;
1434
1434
  }
1435
- function ia(e, t, n, r = "html") {
1435
+ function sa(e, t, n, r = "html") {
1436
1436
  if (!e) return n;
1437
1437
  const o = Gn(e, t);
1438
1438
  return o ? `${n}${r === "text" ? `
1439
1439
 
1440
1440
  ` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${o.body}` : n;
1441
1441
  }
1442
- function sa(e) {
1442
+ function aa(e) {
1443
1443
  return e.endpoints ?? [];
1444
1444
  }
1445
1445
  function $(e) {
@@ -1447,10 +1447,10 @@ function $(e) {
1447
1447
  if (t)
1448
1448
  return t.split(/[-_]/)[0] || void 0;
1449
1449
  }
1450
- function aa(e) {
1450
+ function ca(e) {
1451
1451
  return $(e.contactLocale) ?? $(e.companyLocale) ?? $(e.organizationLocale);
1452
1452
  }
1453
- function ca(e, t, n, r) {
1453
+ function la(e, t, n, r) {
1454
1454
  const o = e.filter((a) => a.key === t && !a.archived);
1455
1455
  if (o.length === 0) return;
1456
1456
  const i = $(n), s = $(r);
@@ -1469,12 +1469,12 @@ function Ct(e, t) {
1469
1469
  function Vn(e) {
1470
1470
  return typeof e == "string" ? e : typeof e == "number" || typeof e == "boolean" ? String(e) : "";
1471
1471
  }
1472
- function zn(e, t) {
1473
- const n = [];
1474
- return { text: e.replace(Wn, (o, i) => {
1475
- const s = Ct(t, i);
1476
- return s == null || s === "" ? (n.includes(i) || n.push(i), `{${i}}`) : Vn(s);
1477
- }), unresolved: n };
1472
+ function zn(e, t, n) {
1473
+ const r = [];
1474
+ return { text: e.replace(Wn, (i, s) => {
1475
+ const a = Ct(t, s);
1476
+ return a == null || a === "" ? (r.includes(s) || r.push(s), n ?? `{${s}}`) : Vn(a);
1477
+ }), unresolved: r };
1478
1478
  }
1479
1479
  function Xn(e, t) {
1480
1480
  if (!e) return !0;
@@ -1485,106 +1485,120 @@ function Xn(e, t) {
1485
1485
  }
1486
1486
  return e.equals !== void 0 ? n === e.equals : !0;
1487
1487
  }
1488
- function la(e, t, n, r) {
1489
- const o = [], i = [], s = (a) => {
1490
- const c = zn(a, t);
1491
- for (const l of c.unresolved) o.includes(l) || o.push(l);
1492
- return c.text;
1488
+ function ua(e, t, n, r, o) {
1489
+ const i = [], s = [], a = (c) => {
1490
+ const u = zn(c, t, o);
1491
+ for (const d of u.unresolved) i.includes(d) || i.push(d);
1492
+ return u.text;
1493
1493
  };
1494
- for (const a of e) {
1495
- if (a.block_id && !Xn(n?.[a.block_id], t)) continue;
1496
- const c = a.block_id ? r?.[a.block_id] : void 0;
1497
- if (c) {
1498
- i.push(...c);
1494
+ for (const c of e) {
1495
+ if (c.block_id && !Xn(n?.[c.block_id], t)) continue;
1496
+ const u = c.block_id ? r?.[c.block_id] : void 0;
1497
+ if (u) {
1498
+ s.push(...u);
1499
1499
  continue;
1500
1500
  }
1501
- switch (a.type) {
1501
+ switch (c.type) {
1502
1502
  case "heading":
1503
1503
  case "paragraph":
1504
1504
  case "quote":
1505
- i.push({ ...a, text: s(a.text) });
1505
+ s.push({ ...c, text: a(c.text) });
1506
1506
  break;
1507
1507
  case "callout":
1508
- i.push({
1509
- ...a,
1510
- ...a.title ? { title: s(a.title) } : {},
1511
- text: s(a.text)
1508
+ s.push({
1509
+ ...c,
1510
+ ...c.title ? { title: a(c.title) } : {},
1511
+ text: a(c.text)
1512
1512
  });
1513
1513
  break;
1514
1514
  case "code":
1515
- i.push(a);
1515
+ s.push(c);
1516
1516
  break;
1517
1517
  case "list":
1518
- i.push({
1519
- ...a,
1520
- items: a.items.map((l) => ({
1521
- ...l.lead ? { lead: s(l.lead) } : {},
1522
- text: s(l.text)
1518
+ s.push({
1519
+ ...c,
1520
+ items: c.items.map((d) => ({
1521
+ ...d.lead ? { lead: a(d.lead) } : {},
1522
+ text: a(d.text)
1523
1523
  }))
1524
1524
  });
1525
1525
  break;
1526
1526
  case "table":
1527
- i.push({
1528
- ...a,
1529
- columns: a.columns.map((l) => ({ ...l, label: s(l.label) })),
1530
- rows: a.rows.map((l) => l.map(s)),
1531
- ...a.caption ? { caption: s(a.caption) } : {}
1527
+ s.push({
1528
+ ...c,
1529
+ columns: c.columns.map((d) => ({ ...d, label: a(d.label) })),
1530
+ rows: c.rows.map((d) => d.map(a)),
1531
+ ...c.caption ? { caption: a(c.caption) } : {}
1532
1532
  });
1533
1533
  break;
1534
1534
  case "kpi":
1535
- i.push({
1536
- ...a,
1537
- items: a.items.map((l) => ({
1538
- ...l,
1539
- value: s(l.value),
1540
- label: s(l.label)
1535
+ s.push({
1536
+ ...c,
1537
+ items: c.items.map((d) => ({
1538
+ ...d,
1539
+ value: a(d.value),
1540
+ label: a(d.label)
1541
1541
  }))
1542
1542
  });
1543
1543
  break;
1544
1544
  case "letterhead":
1545
- i.push({
1546
- ...a,
1547
- fields: a.fields.map((l) => ({ ...l, value: s(l.value) })),
1548
- ...a.recipient ? { recipient: a.recipient.map(s) } : {}
1545
+ s.push({
1546
+ ...c,
1547
+ fields: c.fields.map((d) => ({ ...d, value: a(d.value) })),
1548
+ ...c.recipient ? { recipient: c.recipient.map(a) } : {}
1549
1549
  });
1550
1550
  break;
1551
1551
  case "totals":
1552
- i.push({
1553
- ...a,
1554
- rows: a.rows.map((l) => ({
1555
- ...l,
1556
- label: s(l.label),
1557
- amount: s(l.amount)
1552
+ s.push({
1553
+ ...c,
1554
+ rows: c.rows.map((d) => ({
1555
+ ...d,
1556
+ label: a(d.label),
1557
+ amount: a(d.amount)
1558
1558
  })),
1559
- ...a.taxRows ? {
1560
- taxRows: a.taxRows.map((l) => ({
1561
- ...l,
1562
- label: s(l.label),
1563
- amount: s(l.amount)
1559
+ ...c.taxRows ? {
1560
+ taxRows: c.taxRows.map((d) => ({
1561
+ ...d,
1562
+ label: a(d.label),
1563
+ amount: a(d.amount)
1564
1564
  }))
1565
1565
  } : {}
1566
1566
  });
1567
1567
  break;
1568
1568
  case "image":
1569
- i.push({
1570
- ...a,
1571
- url: s(a.url),
1572
- ...a.alt ? { alt: s(a.alt) } : {}
1569
+ s.push({
1570
+ ...c,
1571
+ url: a(c.url),
1572
+ ...c.alt ? { alt: a(c.alt) } : {}
1573
1573
  });
1574
1574
  break;
1575
1575
  default:
1576
- i.push(a);
1576
+ s.push(c);
1577
1577
  }
1578
1578
  }
1579
- return { blocks: i, unresolved: o };
1579
+ return { blocks: s, unresolved: i };
1580
1580
  }
1581
- const Yn = 36e5, qn = 864e5, L = -1 / 0, ua = (e) => e.score > L, J = {
1581
+ function da(e) {
1582
+ const t = e?.billing, n = e?.address, r = e?.houseStyle, o = [n?.street, n?.houseNumber].filter(Boolean).join(" "), i = [n?.postalCode, n?.city].filter(Boolean).join(" ");
1583
+ return {
1584
+ name: t?.companyName || e?.name || e?.displayName || "",
1585
+ addressLines: [o, i, n?.country ?? ""].filter(Boolean),
1586
+ footerLines: [
1587
+ r?.footerText ?? "",
1588
+ t?.kvkNumber ? `KvK ${t.kvkNumber}` : "",
1589
+ t?.vatNumber ? `Btw ${t.vatNumber}` : "",
1590
+ r?.iban ? `IBAN ${r.iban}` : ""
1591
+ ].filter(Boolean),
1592
+ ...e?.logo ? { logo: e.logo } : {}
1593
+ };
1594
+ }
1595
+ const Yn = 36e5, qn = 864e5, L = -1 / 0, pa = (e) => e.score > L, J = {
1582
1596
  urgent: 40,
1583
1597
  high: 25,
1584
1598
  normal: 10,
1585
1599
  low: 0
1586
1600
  };
1587
- function da(e) {
1601
+ function fa(e) {
1588
1602
  return Object.fromEntries(e.map((t) => [t.resourceId, t]));
1589
1603
  }
1590
1604
  const Qn = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, Ot = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
@@ -1592,7 +1606,7 @@ function Zn(e, t) {
1592
1606
  return !!(e && Qn.test(e) || t && Ot.test(t));
1593
1607
  }
1594
1608
  const Jn = 3, er = 600;
1595
- function pa(e, t) {
1609
+ function ma(e, t) {
1596
1610
  return e >= Jn || t >= er;
1597
1611
  }
1598
1612
  const tr = [
@@ -1605,7 +1619,7 @@ const tr = [
1605
1619
  "feedback-id",
1606
1620
  "x-mailer"
1607
1621
  ];
1608
- function fa(e) {
1622
+ function ha(e) {
1609
1623
  const t = {};
1610
1624
  for (const n of e) {
1611
1625
  const r = n.name?.toLowerCase();
@@ -1614,7 +1628,7 @@ function fa(e) {
1614
1628
  return t;
1615
1629
  }
1616
1630
  const nr = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i, rr = /(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;
1617
- function ma(e) {
1631
+ function ga(e) {
1618
1632
  const t = e.headers ?? {}, n = e.from?.email, r = t["auto-submitted"]?.toLowerCase();
1619
1633
  if (r && r !== "no" || t["x-auto-response-suppress"] || n && nr.test(n))
1620
1634
  return "automated";
@@ -1648,20 +1662,20 @@ function pr(e, t) {
1648
1662
  const n = e.assignedInboxId ? t?.[e.assignedInboxId] : void 0;
1649
1663
  return typeof n == "number" && n > 0 ? n : ar[e.priority ?? "normal"];
1650
1664
  }
1651
- function ha(e) {
1665
+ function ya(e) {
1652
1666
  const t = {};
1653
1667
  for (const n of e)
1654
1668
  typeof n.slaHours == "number" && n.slaHours > 0 && (t[n.id] = n.slaHours);
1655
1669
  return t;
1656
1670
  }
1657
- function ga(e, t, n) {
1671
+ function ba(e, t, n) {
1658
1672
  return !Nt(e.status) || e.firstResponseAt ? !1 : ve(e, t) > pr(e, n);
1659
1673
  }
1660
1674
  function fr(e, t) {
1661
1675
  const n = e.lastActivityPreview;
1662
1676
  return n?.direction !== "outbound" || !xt(n.type) ? !1 : ve(e, t) < cr;
1663
1677
  }
1664
- function ya(e, t) {
1678
+ function Aa(e, t) {
1665
1679
  if (!Nt(e.status)) return { score: L, reasons: [] };
1666
1680
  if (e.snoozedTill && e.snoozedTill > t.now) return { score: L, reasons: [] };
1667
1681
  if (fr(e, t.now)) return { score: L, reasons: [] };
@@ -1677,17 +1691,17 @@ function ya(e, t) {
1677
1691
  const s = e.lastActivityPreview;
1678
1692
  return s?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), s?.direction === "outbound" && xt(s.type) && (n += 10, r.push("no-reply")), !e.firstResponseAt && e.lastActivityPreview?.direction === "inbound" && (n += 10, r.push("awaiting-reply")), (e.tags?.some((c) => c === "marketing" || c === "automated") || Zn(e.remoteParty?.resource, e.lastActivityPreview?.snippet)) && (n -= sr, r.push("bulk")), { score: n, reasons: r };
1679
1693
  }
1680
- const ba = (e) => !!e.assignedUserId || !!e.assignedInboxId, Aa = (e) => e.status === "closed", _a = (e) => ({
1694
+ const _a = (e) => !!e.assignedUserId || !!e.assignedInboxId, Ea = (e) => e.status === "closed", Sa = (e) => ({
1681
1695
  urgent: 10,
1682
1696
  high: 5,
1683
1697
  normal: 2,
1684
1698
  low: 1
1685
- })[e.priority] || 0, Ea = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1686
- function Sa(e, t) {
1699
+ })[e.priority] || 0, Ia = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1700
+ function Ta(e, t) {
1687
1701
  const n = e.labels ?? [];
1688
1702
  return n.find((r) => r.locale === t)?.label ?? n[0]?.label ?? e.url;
1689
1703
  }
1690
- function Ia(e, t, n) {
1704
+ function wa(e, t, n) {
1691
1705
  const r = e.translations ?? [];
1692
1706
  return r.find((o) => o.locale === t) ?? (n ? r.find((o) => o.locale === n) : void 0) ?? { locale: t };
1693
1707
  }
@@ -1710,10 +1724,10 @@ function Rt(e) {
1710
1724
  const t = (e ?? "").toLowerCase();
1711
1725
  return Ze.find((n) => n.code === t) ?? Ze.find((n) => n.code === t.split("-")[0]);
1712
1726
  }
1713
- function Ta(e) {
1727
+ function ka(e) {
1714
1728
  return Rt(e)?.label ?? e;
1715
1729
  }
1716
- function wa(e) {
1730
+ function Ma(e) {
1717
1731
  const t = Rt(e);
1718
1732
  return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
1719
1733
  }
@@ -1727,7 +1741,7 @@ function mr(e, t) {
1727
1741
  }
1728
1742
  return r;
1729
1743
  }
1730
- function ka(e, t, n) {
1744
+ function va(e, t, n) {
1731
1745
  if (!e) return !0;
1732
1746
  if (e === t) return !1;
1733
1747
  const r = new Map(n.map((s) => [s.id, s]));
@@ -1755,13 +1769,13 @@ const gr = "en";
1755
1769
  function yr(e) {
1756
1770
  return e.defaultLocale || e.locale || gr;
1757
1771
  }
1758
- function Ma(e) {
1772
+ function Ca(e) {
1759
1773
  const t = /* @__PURE__ */ new Set(), n = [];
1760
1774
  for (const r of [yr(e), ...e.locales ?? []])
1761
1775
  !r || t.has(r) || (t.add(r), n.push(r));
1762
1776
  return n;
1763
1777
  }
1764
- function va(e, t, n) {
1778
+ function Oa(e, t, n) {
1765
1779
  const r = e.translations ?? [];
1766
1780
  return r.find((o) => o.locale === t)?.name ?? (n ? r.find((o) => o.locale === n)?.name : void 0) ?? e.name;
1767
1781
  }
@@ -1792,22 +1806,22 @@ function br(e, t) {
1792
1806
  return e.userId === t.userId;
1793
1807
  }
1794
1808
  }
1795
- function Ca(e, t) {
1809
+ function xa(e, t) {
1796
1810
  return e.filter((n) => n.enabled && br(n.ownerScope, t));
1797
1811
  }
1798
- function Oa(e) {
1812
+ function Na(e) {
1799
1813
  return e.credentialScope ? e.credentialScope : (e.authMode ?? "header") === "header" || e.oauth?.scope === "org" ? "shared" : "per-user";
1800
1814
  }
1801
- function xa(e) {
1815
+ function Ra(e) {
1802
1816
  return `mcp__${e}__`;
1803
1817
  }
1804
- const Na = 1e3, Ra = 2e3, Da = 500, $a = 12e3, La = 4e3, Ar = ["contact", "company", "work_item"];
1805
- function Pa(e) {
1818
+ const Da = 1e3, $a = 2e3, La = 500, Pa = 12e3, Ka = 4e3, Ar = ["contact", "company", "work_item"];
1819
+ function Ua(e) {
1806
1820
  if (!e) return !1;
1807
1821
  const t = e.slice(0, e.indexOf(":"));
1808
1822
  return Ar.includes(t);
1809
1823
  }
1810
- const Ka = [
1824
+ const Fa = [
1811
1825
  { key: "high", label: "tax_high", percent: 21, kind: "standard" },
1812
1826
  { key: "low", label: "tax_low", percent: 9, kind: "reduced" },
1813
1827
  { key: "zero", label: "tax_zero", percent: 0, kind: "zero" },
@@ -1827,25 +1841,25 @@ function Er(e) {
1827
1841
  const t = 1 - (e.discountPercent ?? 0) / 100;
1828
1842
  return G(e.quantity * e.unitPriceCents * t);
1829
1843
  }
1830
- function Ua(e, t, n) {
1831
- const r = e.map((l) => ({ ...l, netCents: Er(l), taxCents: 0 })), o = /* @__PURE__ */ new Map();
1832
- for (let l = 0; l < r.length; l++) {
1833
- if (r[l].kind !== "product") continue;
1834
- const d = n ?? r[l].taxRateKey, u = o.get(d);
1835
- u ? u.push(l) : o.set(d, [l]);
1844
+ function Ba(e, t, n) {
1845
+ const r = e.map((u) => ({ ...u, netCents: Er(u), taxCents: 0 })), o = /* @__PURE__ */ new Map();
1846
+ for (let u = 0; u < r.length; u++) {
1847
+ if (r[u].kind !== "product" || r[u].optional) continue;
1848
+ const d = n ?? r[u].taxRateKey, l = o.get(d);
1849
+ l ? l.push(u) : o.set(d, [u]);
1836
1850
  }
1837
1851
  const i = [];
1838
1852
  let s = 0, a = 0;
1839
- for (const [l, d] of o) {
1840
- const u = _r(l, t), p = d.reduce((m, S) => m + r[S].netCents, 0), f = G(p * u.percent / 100), y = Fn(
1853
+ for (const [u, d] of o) {
1854
+ const l = _r(u, t), p = d.reduce((m, S) => m + r[S].netCents, 0), f = G(p * l.percent / 100), y = Fn(
1841
1855
  f,
1842
1856
  d.map((m) => r[m].netCents)
1843
1857
  );
1844
1858
  for (let m = 0; m < d.length; m++) r[d[m]].taxCents = y[m];
1845
- i.push({ taxRateKey: l, netCents: p, taxCents: f }), s += p, a += f;
1859
+ i.push({ taxRateKey: u, netCents: p, taxCents: f }), s += p, a += f;
1846
1860
  }
1847
1861
  const c = r.reduce(
1848
- (l, d) => d.costPriceCents == null ? l : l + G(d.costPriceCents * d.quantity),
1862
+ (u, d) => d.costPriceCents == null || d.optional ? u : u + G(d.costPriceCents * d.quantity),
1849
1863
  0
1850
1864
  );
1851
1865
  return {
@@ -1859,7 +1873,7 @@ function Ua(e, t, n) {
1859
1873
  }
1860
1874
  };
1861
1875
  }
1862
- const Fa = "onboarding-source", Ba = ["support", "billing", "availability", "sales", "onboarding"], ja = ["keep", "replace"], Ce = [
1876
+ const ja = "onboarding-source", Ha = ["support", "billing", "availability", "sales", "onboarding"], Ga = ["keep", "replace"], Ce = [
1863
1877
  {
1864
1878
  key: "shift",
1865
1879
  label: "kind_shift",
@@ -1951,7 +1965,7 @@ function Lt(e, t, n = Ce) {
1951
1965
  const r = N(e.kindKey, n);
1952
1966
  return r.absent ? !1 : r.productive || r.capacity;
1953
1967
  }
1954
- function Ha(e, t = Ce) {
1968
+ function Wa(e, t = Ce) {
1955
1969
  if (!e.userId || !W(e.status)) return !1;
1956
1970
  const n = N(e.kindKey, t);
1957
1971
  return n.capacity || n.productive || n.absent;
@@ -1973,7 +1987,7 @@ function Ut(e, t) {
1973
1987
  function Ft(e, t, n, r) {
1974
1988
  const o = e.filter(
1975
1989
  (a) => a.effectiveFrom === void 0 || a.effectiveFrom <= r
1976
- ), i = (a) => a.sort((c, l) => (l.effectiveFrom ?? 0) - (c.effectiveFrom ?? 0))[0], s = i(o.filter((a) => a.userId === t));
1990
+ ), i = (a) => a.sort((c, u) => (u.effectiveFrom ?? 0) - (c.effectiveFrom ?? 0))[0], s = i(o.filter((a) => a.userId === t));
1977
1991
  return s || i(
1978
1992
  o.filter((a) => !a.userId && a.teamId && n.includes(a.teamId))
1979
1993
  );
@@ -1993,34 +2007,34 @@ function ge(e, t, n, r) {
1993
2007
  return o > 0 ? o / 1e3 : 0;
1994
2008
  }
1995
2009
  const tt = { interval: 0, day: 1, week: 2 };
1996
- function Ga(e, t) {
2010
+ function Va(e, t) {
1997
2011
  const { entries: n, patterns: r = [], terms: o = [] } = t, i = n.filter(
1998
- (u) => u.userId && W(u.status) && N(u.kindKey).capacity
2012
+ (l) => l.userId && W(l.status) && N(l.kindKey).capacity
1999
2013
  ), s = n.filter(
2000
- (u) => u.userId && W(u.status) && N(u.kindKey).absent
2014
+ (l) => l.userId && W(l.status) && N(l.kindKey).absent
2001
2015
  ), a = t.userIds ?? [
2002
2016
  .../* @__PURE__ */ new Set([
2003
- ...i.map((u) => u.userId),
2004
- ...r.map((u) => u.userId),
2005
- ...o.map((u) => u.userId)
2017
+ ...i.map((l) => l.userId),
2018
+ ...r.map((l) => l.userId),
2019
+ ...o.map((l) => l.userId)
2006
2020
  ])
2007
- ].filter((u) => !!u), c = {};
2008
- let l = "interval";
2009
- const d = (u) => {
2010
- tt[u] > tt[l] && (l = u);
2021
+ ].filter((l) => !!l), c = {};
2022
+ let u = "interval";
2023
+ const d = (l) => {
2024
+ tt[l] > tt[u] && (u = l);
2011
2025
  };
2012
- for (const u of a) {
2013
- const p = t.teamIdsOf?.(u) ?? [];
2026
+ for (const l of a) {
2027
+ const p = t.teamIdsOf?.(l) ?? [];
2014
2028
  let f = 0, y = 0, m = 0;
2015
2029
  for (const h of kr(e)) {
2016
2030
  const E = Math.max(h, e.from), x = Math.min(h + he, e.to);
2017
2031
  m++;
2018
- const C = i.filter((k) => k.userId === u).reduce((k, $e) => k + ge($e.start, $e.end, E, x), 0);
2032
+ const C = i.filter((k) => k.userId === l).reduce((k, $e) => k + ge($e.start, $e.end, E, x), 0);
2019
2033
  if (C > 0) {
2020
2034
  f += C;
2021
2035
  continue;
2022
2036
  }
2023
- const M = Ft(r, u, p, h), O = M ? Kt(M, h) : 0;
2037
+ const M = Ft(r, l, p, h), O = M ? Kt(M, h) : 0;
2024
2038
  if (M && O > 0) {
2025
2039
  f += O * 60, d(Ut(M, h) ? "interval" : "day");
2026
2040
  continue;
@@ -2028,22 +2042,22 @@ function Ga(e, t) {
2028
2042
  M || y++;
2029
2043
  }
2030
2044
  if (y > 0) {
2031
- const h = wr(o, u, e.from);
2045
+ const h = wr(o, l, e.from);
2032
2046
  h && (f += h.weeklyMinutes * 60 * (y / 7), d("week"));
2033
2047
  }
2034
- const S = s.filter((h) => h.userId === u).reduce(
2048
+ const S = s.filter((h) => h.userId === l).reduce(
2035
2049
  (h, E) => h + ge(E.start, E.end, e.from, e.to),
2036
2050
  0
2037
2051
  ), g = Math.max(0, f - S);
2038
- (g > 0 || m > 0) && (c[u] = g);
2052
+ (g > 0 || m > 0) && (c[l] = g);
2039
2053
  }
2040
2054
  return {
2041
- seconds: Object.values(c).reduce((u, p) => u + p, 0),
2042
- precision: l,
2055
+ seconds: Object.values(c).reduce((l, p) => l + p, 0),
2056
+ precision: u,
2043
2057
  byUser: c
2044
2058
  };
2045
2059
  }
2046
- function Wa(e, t) {
2060
+ function za(e, t) {
2047
2061
  if (!e.some((a) => a.userId)) return [];
2048
2062
  const n = "", r = /* @__PURE__ */ new Map();
2049
2063
  for (const a of e) {
@@ -2054,41 +2068,41 @@ function Wa(e, t) {
2054
2068
  ...Object.keys(t.byUser),
2055
2069
  ...[...r.keys()].filter((a) => a !== n)
2056
2070
  ])].map((a) => {
2057
- const c = r.get(a) ?? 0, l = t.byUser[a] ?? 0;
2071
+ const c = r.get(a) ?? 0, u = t.byUser[a] ?? 0;
2058
2072
  return {
2059
2073
  userId: a,
2060
2074
  requiredSeconds: c,
2061
- capacitySeconds: l,
2062
- netSeconds: l - c
2075
+ capacitySeconds: u,
2076
+ netSeconds: u - c
2063
2077
  };
2064
2078
  });
2065
2079
  i.sort((a, c) => a.netSeconds - c.netSeconds);
2066
2080
  const s = r.get(n) ?? 0;
2067
2081
  return s > 0 && i.push({ requiredSeconds: s, capacitySeconds: 0, netSeconds: -s }), i;
2068
2082
  }
2069
- function Va(e, t, n, r) {
2083
+ function Xa(e, t, n, r) {
2070
2084
  const o = e.filter(
2071
2085
  (s) => s.userId && W(s.status) && !N(s.kindKey).absent
2072
2086
  ), i = Object.entries(r.byUser).map(
2073
2087
  ([s, a]) => {
2074
- let c = 0, l = 0;
2088
+ let c = 0, u = 0;
2075
2089
  for (const d of o) {
2076
2090
  if (d.userId !== s || N(d.kindKey).capacity && !d.workstreamId) continue;
2077
- const u = ge(d.start, d.end, n.from, n.to);
2078
- u <= 0 || (Lt(d, t) ? c += u : l += u);
2091
+ const l = ge(d.start, d.end, n.from, n.to);
2092
+ l <= 0 || (Lt(d, t) ? c += l : u += l);
2079
2093
  }
2080
2094
  return {
2081
2095
  userId: s,
2082
2096
  capacitySeconds: a,
2083
2097
  onThisSeconds: c,
2084
- elsewhereSeconds: l,
2085
- freeSeconds: Math.max(0, a - c - l)
2098
+ elsewhereSeconds: u,
2099
+ freeSeconds: Math.max(0, a - c - u)
2086
2100
  };
2087
2101
  }
2088
2102
  );
2089
2103
  return i.sort((s, a) => a.freeSeconds - s.freeSeconds), i;
2090
2104
  }
2091
- const za = "demand-source", nt = 1e3;
2105
+ const Ya = "demand-source", nt = 1e3;
2092
2106
  function Mr(e, t) {
2093
2107
  let n = 1;
2094
2108
  for (let r = 1; r <= e; r++)
@@ -2122,7 +2136,7 @@ const Nr = 36e5, Rr = 864e5;
2122
2136
  function Dr(e) {
2123
2137
  return e === "day" ? Rr : Nr;
2124
2138
  }
2125
- function Xa(e, t) {
2139
+ function qa(e, t) {
2126
2140
  return e.start < t.end && t.start < e.end;
2127
2141
  }
2128
2142
  function ce(e, t, n) {
@@ -2139,12 +2153,12 @@ function $r(e, t, n) {
2139
2153
  }
2140
2154
  return { seconds: o, headcount: o / n * s };
2141
2155
  }
2142
- function Ya(e) {
2143
- const { entries: t, workstreamId: n, staffing: r, demand: o, range: i } = e, s = e.grain ?? "hour", a = Dr(s), c = a / 1e3, l = e.kinds, d = t.filter((m) => W(m.status)), u = d.filter((m) => Lt(m, n, l)), p = d.filter((m) => N(m.kindKey, l).capacity), f = d.filter((m) => N(m.kindKey, l).absent), y = [];
2156
+ function Qa(e) {
2157
+ const { entries: t, workstreamId: n, staffing: r, demand: o, range: i } = e, s = e.grain ?? "hour", a = Dr(s), c = a / 1e3, u = e.kinds, d = t.filter((m) => W(m.status)), l = d.filter((m) => Lt(m, n, u)), p = d.filter((m) => N(m.kindKey, u).capacity), f = d.filter((m) => N(m.kindKey, u).absent), y = [];
2144
2158
  for (let m = H(i.from, s); m < i.to; m += a) {
2145
2159
  const S = m + a, g = j(m, s);
2146
2160
  let h = 0;
2147
- for (const k of u) h += ce(k, m, S);
2161
+ for (const k of l) h += ce(k, m, S);
2148
2162
  let E = 0;
2149
2163
  for (const k of p) E += ce(k, m, S);
2150
2164
  let x = 0;
@@ -2167,11 +2181,11 @@ function Ya(e) {
2167
2181
  function Lr(e, t) {
2168
2182
  return e.workTypeKey ?? t?.defaultWorkTypeKey;
2169
2183
  }
2170
- function qa(e, t, n) {
2184
+ function Za(e, t, n) {
2171
2185
  const r = Lr(e, t);
2172
2186
  return r ? n.find((o) => o.key === r)?.defaultBillable ?? !1 : !1;
2173
2187
  }
2174
- function Qa(e) {
2188
+ function Ja(e) {
2175
2189
  return e.filter(
2176
2190
  (t) => t.netHeadcount < 0 && t.requiredHeadcount > 0
2177
2191
  );
@@ -2185,10 +2199,10 @@ function jr(e, t, n) {
2185
2199
  const r = [];
2186
2200
  for (let i = 0; i < n; i++) {
2187
2201
  const s = t - i * ye, a = s - ye;
2188
- let c = 0, l = !1;
2189
- for (const [d, u] of e)
2190
- d >= a && d < s && (c += u, l = !0);
2191
- l && r.push(c);
2202
+ let c = 0, u = !1;
2203
+ for (const [d, l] of e)
2204
+ d >= a && d < s && (c += l, u = !0);
2205
+ u && r.push(c);
2192
2206
  }
2193
2207
  if (r.length < 2) return 1;
2194
2208
  const o = r.reduce((i, s) => i + s, 0) / r.length;
@@ -2201,30 +2215,30 @@ function Hr(e, t) {
2201
2215
  t >= r.from && t < r.to && (n = r);
2202
2216
  return n;
2203
2217
  }
2204
- function Za(e, t, n) {
2218
+ function ec(e, t, n) {
2205
2219
  const r = Math.max(1, n?.weeks ?? Kr), o = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set();
2206
2220
  for (const c of e)
2207
2221
  o.set(Br(c.period), c.value), i.add(c.period.slice(0, 10));
2208
2222
  const s = jr(o, H(t.from, "hour"), r), a = [];
2209
2223
  for (let c = H(t.from, "hour"); c < t.to; c += Pr) {
2210
- let l = 0, d = 0;
2224
+ let u = 0, d = 0;
2211
2225
  for (let f = 1; f <= r; f++) {
2212
2226
  const y = c - f * ye, S = o.get(y) ?? (i.has(j(y, "day")) ? 0 : void 0);
2213
2227
  if (S === void 0) continue;
2214
2228
  const g = r - f + 1;
2215
- l += S * g, d += g;
2229
+ u += S * g, d += g;
2216
2230
  }
2217
- let u = d > 0 ? l / d * s : 0;
2231
+ let l = d > 0 ? u / d * s : 0;
2218
2232
  const p = Hr(n?.adjustments, c);
2219
- p?.absoluteVolume !== void 0 ? u = p.absoluteVolume : p?.factor !== void 0 && (u *= p.factor), a.push({ period: j(c, "hour"), volume: u });
2233
+ p?.absoluteVolume !== void 0 ? l = p.absoluteVolume : p?.factor !== void 0 && (l *= p.factor), a.push({ period: j(c, "hour"), volume: l });
2220
2234
  }
2221
2235
  return a;
2222
2236
  }
2223
2237
  const Gr = "schedule_entry", Wr = "workstream";
2224
- function Ja(e) {
2238
+ function tc(e) {
2225
2239
  return `${Gr}:${e}`;
2226
2240
  }
2227
- function ec(e) {
2241
+ function nc(e) {
2228
2242
  return `${Wr}:${e}`;
2229
2243
  }
2230
2244
  const be = 36e5, K = 864e5;
@@ -2241,29 +2255,29 @@ function le(e, t, n, r) {
2241
2255
  const o = Math.min(t, r) - Math.max(e, n);
2242
2256
  return o > 0 ? o / 1e3 : 0;
2243
2257
  }
2244
- function tc(e, t, n = {}) {
2245
- const r = n.grain ?? "hour", o = Vr(t, r), i = r === "day" ? K : be, s = new Map(o.map((u) => [u, 0])), a = e.filter((u) => u.userId && N(u.kindKey).capacity), c = n.userIds?.length ? new Set(n.userIds) : null, l = /* @__PURE__ */ new Set();
2246
- for (const u of a)
2247
- if (!(c && u.userId && !c.has(u.userId))) {
2258
+ function rc(e, t, n = {}) {
2259
+ const r = n.grain ?? "hour", o = Vr(t, r), i = r === "day" ? K : be, s = new Map(o.map((l) => [l, 0])), a = e.filter((l) => l.userId && N(l.kindKey).capacity), c = n.userIds?.length ? new Set(n.userIds) : null, u = /* @__PURE__ */ new Set();
2260
+ for (const l of a)
2261
+ if (!(c && l.userId && !c.has(l.userId))) {
2248
2262
  for (const p of o) {
2249
- const f = le(u.start, u.end, p, p + i);
2263
+ const f = le(l.start, l.end, p, p + i);
2250
2264
  f > 0 && s.set(p, (s.get(p) ?? 0) + f);
2251
2265
  }
2252
2266
  for (const p of rt(t))
2253
- le(u.start, u.end, p, p + K) > 0 && l.add(`${u.userId}:${p}`);
2267
+ le(l.start, l.end, p, p + K) > 0 && u.add(`${l.userId}:${p}`);
2254
2268
  }
2255
2269
  const d = n.userIds ?? [
2256
2270
  .../* @__PURE__ */ new Set([
2257
- ...a.map((u) => u.userId),
2258
- ...(n.patterns ?? []).map((u) => u.userId)
2271
+ ...a.map((l) => l.userId),
2272
+ ...(n.patterns ?? []).map((l) => l.userId)
2259
2273
  ])
2260
- ].filter((u) => !!u);
2274
+ ].filter((l) => !!l);
2261
2275
  if (n.patterns?.length)
2262
- for (const u of d) {
2263
- const p = n.teamIdsOf?.(u) ?? [];
2276
+ for (const l of d) {
2277
+ const p = n.teamIdsOf?.(l) ?? [];
2264
2278
  for (const f of rt(t)) {
2265
- if (l.has(`${u}:${f}`)) continue;
2266
- const y = Ft(n.patterns, u, p, f);
2279
+ if (u.has(`${l}:${f}`)) continue;
2280
+ const y = Ft(n.patterns, l, p, f);
2267
2281
  if (!y) continue;
2268
2282
  const m = Kt(y, f);
2269
2283
  if (m <= 0) continue;
@@ -2282,7 +2296,7 @@ function tc(e, t, n = {}) {
2282
2296
  for (const E of g) s.set(E, (s.get(E) ?? 0) + h);
2283
2297
  }
2284
2298
  }
2285
- return o.map((u) => ({ period: j(u, r), weight: s.get(u) ?? 0 }));
2299
+ return o.map((l) => ({ period: j(l, r), weight: s.get(l) ?? 0 }));
2286
2300
  }
2287
2301
  function zr(e, t) {
2288
2302
  if (e <= 0 || !t.length) return [];
@@ -2293,13 +2307,13 @@ function zr(e, t) {
2293
2307
  }
2294
2308
  return t.filter((r) => r.weight > 0).map((r) => ({ period: r.period, seconds: e * r.weight / n }));
2295
2309
  }
2296
- function nc(e, t, n) {
2310
+ function oc(e, t, n) {
2297
2311
  const r = /* @__PURE__ */ new Map();
2298
2312
  for (const o of e) {
2299
2313
  const i = o.by ? t.filter((a) => n(a.period) < o.by) : t, s = i.length ? i : t;
2300
2314
  for (const a of zr(o.seconds, s)) {
2301
- const c = `${a.period}|${o.userId ?? ""}`, l = r.get(c);
2302
- l ? l.seconds += a.seconds : r.set(c, { ...a, userId: o.userId });
2315
+ const c = `${a.period}|${o.userId ?? ""}`, u = r.get(c);
2316
+ u ? u.seconds += a.seconds : r.set(c, { ...a, userId: o.userId });
2303
2317
  }
2304
2318
  }
2305
2319
  return [...r.values()].sort(
@@ -2316,7 +2330,7 @@ function Xr(e) {
2316
2330
  return "org";
2317
2331
  }
2318
2332
  }
2319
- function rc(e) {
2333
+ function ic(e) {
2320
2334
  if (typeof e != "string") return;
2321
2335
  const t = e.trim();
2322
2336
  if (t === "org") return { kind: "org" };
@@ -2342,13 +2356,13 @@ function qr(e) {
2342
2356
  }
2343
2357
  }
2344
2358
  const Qr = qr;
2345
- function oc(e) {
2359
+ function sc(e) {
2346
2360
  return e.agentId ? { kind: "user", userId: e.agentId } : Qr(e.ownerScope);
2347
2361
  }
2348
- function ic(e) {
2362
+ function ac(e) {
2349
2363
  return Yr(e);
2350
2364
  }
2351
- function sc(e, t) {
2365
+ function cc(e, t) {
2352
2366
  if (!t) return;
2353
2367
  let n = e;
2354
2368
  for (const r of t.split(".")) {
@@ -2357,24 +2371,24 @@ function sc(e, t) {
2357
2371
  }
2358
2372
  return n;
2359
2373
  }
2360
- function ac(e, t) {
2374
+ function lc(e, t) {
2361
2375
  return e.targets.find((n) => n.activityTypes.includes(t));
2362
2376
  }
2363
- function cc(e, t) {
2377
+ function uc(e, t) {
2364
2378
  if (t)
2365
2379
  return e.targets.find((n) => n.id === t);
2366
2380
  }
2367
2381
  function Zr(e) {
2368
2382
  return e?.kind === "assignment";
2369
2383
  }
2370
- function lc(e) {
2384
+ function dc(e) {
2371
2385
  const { trigger: t, agentId: n, target: r, activityType: o, assigneeUserId: i, authorUserId: s } = e;
2372
2386
  return Zr(t) ? n ? r ? r.activityTypes.includes(o) ? i ? i !== n ? "assigned to someone else" : s && s === n ? "the agent assigned this to itself, which would restart its own run" : null : `no assignee found at ${r.assigneePath}` : `activity type ${o} does not announce an assignment for ${r.id}` : `assignment target kind "${t.targetKind}" is not declared by any installed app` : "this playbook has no agent, so an assignment can never be for it" : "trigger is not an assignment trigger";
2373
2387
  }
2374
- function uc(e) {
2388
+ function pc(e) {
2375
2389
  return (e.startsWith("tool:") ? e.slice(5) : e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
2376
2390
  }
2377
- const dc = [
2391
+ const fc = [
2378
2392
  { name: "text", type: "string" },
2379
2393
  { name: "subject", type: "string" },
2380
2394
  { name: "from", type: "string" },
@@ -2414,7 +2428,7 @@ const dc = [
2414
2428
  // `buildTriggerVars` cannot fill it itself: the job does that with the catalog in hand, before
2415
2429
  // the trigger filter runs — like contactId/companyId above.
2416
2430
  { name: "assigneeUserId", type: "string" }
2417
- ], pc = {
2431
+ ], mc = {
2418
2432
  topics: [
2419
2433
  { name: "topicId", type: "string" },
2420
2434
  { name: "topic", type: "string" },
@@ -2436,16 +2450,16 @@ function to(e) {
2436
2450
  return e?.type === eo ? e.id : void 0;
2437
2451
  }
2438
2452
  const no = 64, ro = 8e3;
2439
- function fc(e) {
2453
+ function hc(e) {
2440
2454
  const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
2441
2455
  if (!(!Number.isFinite(t) || t <= 0))
2442
2456
  return Math.min(Math.max(Math.round(t), no), ro);
2443
2457
  }
2444
- const mc = { kind: "workflow", steps: [] };
2445
- function hc(e) {
2458
+ const gc = { kind: "workflow", steps: [] };
2459
+ function yc(e) {
2446
2460
  return e?.kind === "workflow" ? e.steps : [];
2447
2461
  }
2448
- function gc(e) {
2462
+ function bc(e) {
2449
2463
  return e?.kind === "procedure" ? e.procedure : void 0;
2450
2464
  }
2451
2465
  function oo(e) {
@@ -2453,31 +2467,31 @@ function oo(e) {
2453
2467
  return { total: n, rate: n ? t / n : 0 };
2454
2468
  }
2455
2469
  const io = 10, so = 0.9;
2456
- function yc(e) {
2470
+ function Ac(e) {
2457
2471
  const { total: t, rate: n } = oo(e);
2458
2472
  return t >= io && n >= so;
2459
2473
  }
2460
2474
  const ao = ["done", "escalated", "failed", "stopped"];
2461
- function bc(e) {
2475
+ function _c(e) {
2462
2476
  return ao.includes(e);
2463
2477
  }
2464
2478
  function co(e) {
2465
2479
  return e === "waiting";
2466
2480
  }
2467
- function Ac(e) {
2481
+ function Ec(e) {
2468
2482
  return e === "running" || co(e);
2469
2483
  }
2470
2484
  function Bt(e) {
2471
2485
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
2472
2486
  }
2473
- function _c(e) {
2487
+ function Sc(e) {
2474
2488
  const t = Bt(e);
2475
2489
  return t ? Jr(t) : void 0;
2476
2490
  }
2477
- function Ec(e) {
2491
+ function Ic(e) {
2478
2492
  return to(Bt(e));
2479
2493
  }
2480
- function Sc(e) {
2494
+ function Tc(e) {
2481
2495
  const t = [], n = /* @__PURE__ */ new Map();
2482
2496
  for (const r of [...e].sort(lo)) {
2483
2497
  const o = n.get(r.emoji);
@@ -2493,7 +2507,7 @@ function Sc(e) {
2493
2507
  }).sort((r, o) => o.count - r.count || t.indexOf(r.emoji) - t.indexOf(o.emoji));
2494
2508
  }
2495
2509
  const lo = (e, t) => (e.createdAt ?? 0) - (t.createdAt ?? 0);
2496
- function Ic(e, t) {
2510
+ function wc(e, t) {
2497
2511
  return t ? e.actors.some((n) => n.type === "user" && n.id === t) : !1;
2498
2512
  }
2499
2513
  const Ae = 6e4, uo = 36e5, V = 864e5, jt = 800;
@@ -2556,25 +2570,25 @@ function Oe(e, t, n) {
2556
2570
  }
2557
2571
  return e + t;
2558
2572
  }
2559
- function Tc(e) {
2573
+ function kc(e) {
2560
2574
  const t = /^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);
2561
2575
  return t ? Number(t[1]) * 60 + Number(t[2]) : null;
2562
2576
  }
2563
2577
  const Ee = 1, Se = 2;
2564
- function wc(e) {
2578
+ function Mc(e) {
2565
2579
  return e === "snoozed" ? Ee : Se;
2566
2580
  }
2567
2581
  function xe(e) {
2568
2582
  const t = e.calendar;
2569
2583
  return t && Array.isArray(t.days) ? t : null;
2570
2584
  }
2571
- const kc = [
2585
+ const vc = [
2572
2586
  "speed_of_answer",
2573
2587
  "first_response",
2574
2588
  "next_response",
2575
2589
  "resolution",
2576
2590
  "close"
2577
- ], Mc = ["snoozed", "waiting_for_customer"], mo = 6e4, Vt = ["speed_of_answer", "first_response", "next_response"], ho = [...Vt, "resolution", "close"];
2591
+ ], Cc = ["snoozed", "waiting_for_customer"], mo = 6e4, Vt = ["speed_of_answer", "first_response", "next_response"], ho = [...Vt, "resolution", "close"];
2578
2592
  function z(e) {
2579
2593
  return e.state === "running" || e.state === "paused";
2580
2594
  }
@@ -2594,19 +2608,19 @@ function bo(e, t, n, r) {
2594
2608
  const o = e.pauseBits & ~t;
2595
2609
  return o !== 0 ? { pauseBits: o } : { pauseBits: o, state: "running", dueAt: Oe(n, e.remainingMs, r) };
2596
2610
  }
2597
- function vc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2598
- const i = xe(o), s = Math.min(t, n), a = r.map((g) => ({ ...g })), c = [], l = (g, h) => {
2611
+ function Oc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2612
+ const i = xe(o), s = Math.min(t, n), a = r.map((g) => ({ ...g })), c = [], u = (g, h) => {
2599
2613
  h && (c.push({ op: "patch", clockId: g.id, patch: h }), Object.assign(g, h));
2600
2614
  }, d = (g) => {
2601
2615
  for (const h of a)
2602
- h.metric === g && l(h, go(h, s));
2603
- }, u = (g) => {
2616
+ h.metric === g && u(h, go(h, s));
2617
+ }, l = (g) => {
2604
2618
  for (const h of a)
2605
- g.includes(h.metric) && l(h, it(h));
2619
+ g.includes(h.metric) && u(h, it(h));
2606
2620
  }, p = (g) => {
2607
- for (const h of a) l(h, yo(h, g, s, i));
2621
+ for (const h of a) u(h, yo(h, g, s, i));
2608
2622
  }, f = (g) => {
2609
- for (const h of a) l(h, bo(h, g, s, i));
2623
+ for (const h of a) u(h, bo(h, g, s, i));
2610
2624
  }, y = (g) => a.reduce((h, E) => E.metric === g ? Math.max(h, E.attempt) : h, 0) + 1, m = (g) => a.some((h) => h.metric === g && z(h)), S = (g, h) => {
2611
2625
  const E = o.targets.find((C) => C.metric === g);
2612
2626
  if (!E) return;
@@ -2623,7 +2637,7 @@ function vc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2623
2637
  switch (e) {
2624
2638
  case "apply": {
2625
2639
  for (const g of a)
2626
- g.profileId !== o.id && l(g, it(g));
2640
+ g.profileId !== o.id && u(g, it(g));
2627
2641
  for (const g of o.targets) {
2628
2642
  if (g.metric === "next_response") continue;
2629
2643
  a.some(
@@ -2647,7 +2661,7 @@ function vc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2647
2661
  d("resolution");
2648
2662
  break;
2649
2663
  case "closed":
2650
- d("close"), d("resolution"), u(Vt);
2664
+ d("close"), d("resolution"), l(Vt);
2651
2665
  break;
2652
2666
  case "reopened":
2653
2667
  m("resolution") || S("resolution", s), m("close") || S("close", s);
@@ -2659,7 +2673,7 @@ function vc({ event: e, at: t, now: n, clocks: r, profile: o }) {
2659
2673
  f(Ee);
2660
2674
  break;
2661
2675
  case "discarded":
2662
- u(ho);
2676
+ l(ho);
2663
2677
  break;
2664
2678
  }
2665
2679
  return c;
@@ -2671,10 +2685,10 @@ function Ie(e, t) {
2671
2685
  const n = xe(e);
2672
2686
  return e.state === "paused" ? e.remainingMs : t >= e.dueAt ? -_e(e.dueAt, t, n) : _e(t, e.dueAt, n);
2673
2687
  }
2674
- function Cc(e, t) {
2688
+ function xc(e, t) {
2675
2689
  return e.state === "paused" ? Oe(t, e.remainingMs, xe(e)) : e.dueAt;
2676
2690
  }
2677
- function Oc(e, t) {
2691
+ function Nc(e, t) {
2678
2692
  const n = e.filter(Ao);
2679
2693
  if (!n.length) return;
2680
2694
  const r = n.filter((i) => i.state === "running");
@@ -2682,7 +2696,7 @@ function Oc(e, t) {
2682
2696
  (i, s) => Ie(s, t) < Ie(i, t) ? s : i
2683
2697
  );
2684
2698
  }
2685
- function xc(e, t) {
2699
+ function Rc(e, t) {
2686
2700
  if (e.state === "missed") return "breached";
2687
2701
  if (e.state === "hit") return "met";
2688
2702
  if (e.state === "paused") return "paused";
@@ -2690,7 +2704,7 @@ function xc(e, t) {
2690
2704
  const n = Ie(e, t);
2691
2705
  return n <= 0 ? "breached" : n <= e.targetMs / 5 ? "urgent" : "running";
2692
2706
  }
2693
- function Nc(e) {
2707
+ function Dc(e) {
2694
2708
  const t = Math.floor(Math.abs(e) / 1e3), n = Math.floor(t / 86400), r = Math.floor(t % 86400 / 3600), o = Math.floor(t % 3600 / 60);
2695
2709
  return n ? r ? `${n}d ${r}u` : `${n}d` : r ? o ? `${r}u ${o}m` : `${r}u` : o ? `${o}m` : `${t % 60}s`;
2696
2710
  }
@@ -2698,12 +2712,12 @@ const _o = "strategy_item";
2698
2712
  function zt(e) {
2699
2713
  return `${_o}:${e}`;
2700
2714
  }
2701
- function Rc(e, t = 25) {
2715
+ function $c(e, t = 25) {
2702
2716
  const n = /* @__PURE__ */ new Set([zt(e.id)]);
2703
2717
  for (const r of e.ancestorKeys ?? []) n.add(r);
2704
2718
  return Array.from(n).slice(0, t);
2705
2719
  }
2706
- function Dc(e) {
2720
+ function Lc(e) {
2707
2721
  return e ? [...e.ancestorKeys ?? [], zt(e.id)] : [];
2708
2722
  }
2709
2723
  const ne = [
@@ -2717,14 +2731,14 @@ function Io(e, t = ne) {
2717
2731
  function Te(e, t = ne) {
2718
2732
  return Io(e, t)?.order ?? Eo;
2719
2733
  }
2720
- function $c(e, t, n = ne) {
2734
+ function Pc(e, t, n = ne) {
2721
2735
  return Te(t, n) <= Te(e, n);
2722
2736
  }
2723
- function Lc(e, t = ne) {
2737
+ function Kc(e, t = ne) {
2724
2738
  const n = Te(e, t);
2725
2739
  return t.filter((o) => o.order > n).sort((o, i) => o.order - i.order)[0]?.key ?? e;
2726
2740
  }
2727
- function Pc(e) {
2741
+ function Uc(e) {
2728
2742
  const t = e.trim().toLowerCase();
2729
2743
  return t ? t.includes("key result") || t.includes("keyresult") || t === "kr" ? "key_result" : t.includes("objective") || t.includes("goal") || t.includes("doel") ? "objective" : t.includes("focus") || t.includes("area") || t.includes("theme") ? "area" : null : null;
2730
2744
  }
@@ -2737,73 +2751,73 @@ const we = {
2737
2751
  achieved: "closed",
2738
2752
  missed: "closed"
2739
2753
  };
2740
- function Kc(e) {
2754
+ function Fc(e) {
2741
2755
  return we[e] ?? "open";
2742
2756
  }
2743
- function Uc(e) {
2757
+ function Bc(e) {
2744
2758
  return Object.keys(we).filter(
2745
2759
  (t) => e.includes(we[t])
2746
2760
  );
2747
2761
  }
2748
2762
  const To = 864e5, re = (e) => e <= 0 ? 0 : e > 1 ? 1 : e;
2749
- function Fc(e, t) {
2763
+ function jc(e, t) {
2750
2764
  const { direction: n } = e, r = e.startValue ?? 0, o = e.targetValue ?? 0;
2751
2765
  if (!Number.isFinite(t)) return 0;
2752
2766
  const i = n === "down" ? t <= o : t >= o, s = o - r;
2753
2767
  return (n === "down" ? s < 0 : s > 0) ? re((t - r) / s) : i ? 1 : 0;
2754
2768
  }
2755
- function Bc(e, t) {
2769
+ function Hc(e, t) {
2756
2770
  const { startDate: n, targetDate: r } = e;
2757
2771
  if (!(typeof n != "number" || typeof r != "number") && !(r <= n))
2758
2772
  return re((t - n) / (r - n));
2759
2773
  }
2760
2774
  const wo = 0.1, ko = 0.25;
2761
- function jc(e, t) {
2775
+ function Gc(e, t) {
2762
2776
  if (typeof e != "number" || typeof t != "number") return;
2763
2777
  if (e >= 1) return "achieved";
2764
2778
  const n = t - e;
2765
2779
  return n >= ko ? "off_track" : n >= wo ? "at_risk" : "on_track";
2766
2780
  }
2767
- function Hc(e, t) {
2781
+ function Wc(e, t) {
2768
2782
  if (t)
2769
2783
  return re(e / t);
2770
2784
  }
2771
- function Gc(e) {
2785
+ function Vc(e) {
2772
2786
  const t = e.map((n) => n.progress?.ratio).filter((n) => typeof n == "number" && Number.isFinite(n));
2773
2787
  if (t.length)
2774
2788
  return re(t.reduce((n, r) => n + r, 0) / t.length);
2775
2789
  }
2776
- function Wc(e, t) {
2790
+ function zc(e, t) {
2777
2791
  const n = e.lastCheckInAt ?? e.createdAt;
2778
2792
  if (typeof n != "number") return 0;
2779
2793
  const r = (e.checkInEveryDays ?? So) * To, o = t - n - r;
2780
2794
  return o > 0 ? o : 0;
2781
2795
  }
2782
- function Vc(e) {
2796
+ function Xc(e) {
2783
2797
  return e.targetDate ?? Number.MAX_SAFE_INTEGER;
2784
2798
  }
2785
- function zc(e, t) {
2799
+ function Yc(e, t) {
2786
2800
  const n = e.accumulatedSeconds || 0;
2787
2801
  return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
2788
2802
  }
2789
- function Xc(e, t) {
2803
+ function qc(e, t) {
2790
2804
  const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
2791
2805
  if (!t || t === "exact") return n * 60;
2792
2806
  const r = Number(t);
2793
2807
  return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
2794
2808
  }
2795
- function Yc(e) {
2809
+ function Qc(e) {
2796
2810
  const t = Math.max(0, Math.round(e / 60));
2797
2811
  return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
2798
2812
  }
2799
- function qc(e) {
2813
+ function Zc(e) {
2800
2814
  const t = Math.max(0, Math.floor(e)), n = (i) => String(i).padStart(2, "0"), r = Math.floor(t / 60) % 60, o = Math.floor(t / 3600);
2801
2815
  return o > 0 ? `${o}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
2802
2816
  }
2803
2817
  function Mo(e) {
2804
2818
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
2805
2819
  }
2806
- function Qc(e, t) {
2820
+ function Jc(e, t) {
2807
2821
  const n = Mo(e) || "werksoort", r = new Set(t);
2808
2822
  if (!r.has(n)) return n;
2809
2823
  for (let o = 2; o < 500; o++) {
@@ -2812,11 +2826,11 @@ function Qc(e, t) {
2812
2826
  }
2813
2827
  return `${n}-${r.size + 1}`;
2814
2828
  }
2815
- function Zc(e, t) {
2829
+ function el(e, t) {
2816
2830
  const n = e.ownerScope;
2817
2831
  return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
2818
2832
  }
2819
- function Jc(e) {
2833
+ function tl(e) {
2820
2834
  return e.filter((t) => !t.archived).sort(vo);
2821
2835
  }
2822
2836
  function vo(e, t) {
@@ -2833,7 +2847,7 @@ function xo(e) {
2833
2847
  const n = t.slice(0, ue), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
2834
2848
  return r > ue * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
2835
2849
  }
2836
- function el(e, t) {
2850
+ function nl(e, t) {
2837
2851
  const n = xo(t.text), r = P(n);
2838
2852
  if (!r || (e.examples ?? []).some((s) => P(s) === r)) return null;
2839
2853
  const o = e.exampleCandidates ?? [], i = o.findIndex((s) => P(s.text) === r);
@@ -2849,7 +2863,7 @@ function st(e) {
2849
2863
  (t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt
2850
2864
  );
2851
2865
  }
2852
- function tl(e, t) {
2866
+ function rl(e, t) {
2853
2867
  const n = P(t), r = (e.examples ?? []).filter((i) => i.trim());
2854
2868
  return { examples: r.some((i) => P(i) === n) ? r : [...r, t].slice(-Co), exampleCandidates: No(e, t) };
2855
2869
  }
@@ -2861,7 +2875,7 @@ function Ro(e, t) {
2861
2875
  const n = e.ownerScope;
2862
2876
  return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
2863
2877
  }
2864
- function nl(e, t) {
2878
+ function ol(e, t) {
2865
2879
  return e.filter((n) => Ro(n, t));
2866
2880
  }
2867
2881
  const Xt = [
@@ -2903,10 +2917,10 @@ function ke(e) {
2903
2917
  statuses: ["draft"]
2904
2918
  };
2905
2919
  }
2906
- function rl(e) {
2920
+ function il(e) {
2907
2921
  return e.issuedAt != null;
2908
2922
  }
2909
- const ol = [
2923
+ const sl = [
2910
2924
  "status",
2911
2925
  "fileRef",
2912
2926
  "number",
@@ -2944,7 +2958,7 @@ function Do(e, t) {
2944
2958
  source: e.source
2945
2959
  };
2946
2960
  }
2947
- function il(e) {
2961
+ function al(e) {
2948
2962
  return {
2949
2963
  ...Do(e, e.kindKey),
2950
2964
  sourceTransactionId: e.sourceTransactionId,
@@ -2954,7 +2968,7 @@ function il(e) {
2954
2968
  totals: e.totals
2955
2969
  };
2956
2970
  }
2957
- function sl(e, t = {}) {
2971
+ function cl(e, t = {}) {
2958
2972
  const n = ke(e.kindKey), r = e.totals ?? { netCents: 0, taxCents: 0, grossCents: 0 };
2959
2973
  return {
2960
2974
  customer: {
@@ -2963,7 +2977,7 @@ function sl(e, t = {}) {
2963
2977
  // One token per line of the address, plus `street` on its own for a template that wants
2964
2978
  // the house number elsewhere. Empty stays empty: `fillText` reports it as a hole, and a
2965
2979
  // recipient block missing its street is exactly what the issue gate has to refuse.
2966
- address: Lo(t.companyAddress),
2980
+ address: Po(t.companyAddress),
2967
2981
  street: t.companyAddress?.street ?? "",
2968
2982
  house_number: t.companyAddress?.houseNumber ?? "",
2969
2983
  postal_code: t.companyAddress?.postalCode ?? "",
@@ -2988,7 +3002,7 @@ function sl(e, t = {}) {
2988
3002
  }
2989
3003
  };
2990
3004
  }
2991
- function al(e, t = [], n = $o) {
3005
+ function ll(e, t = [], n = $o) {
2992
3006
  const r = e.totals ?? { netCents: 0, grossCents: 0, byRate: [] }, o = (a) => t.find((c) => c.key === a)?.percent ?? 0, i = {
2993
3007
  block_id: "lines",
2994
3008
  type: "table",
@@ -3003,8 +3017,8 @@ function al(e, t = [], n = $o) {
3003
3017
  // A text line spans as a heading: empty money cells would read as "free".
3004
3018
  [a.name, "", "", ""]
3005
3019
  ) : [
3006
- a.description ? `${a.name} — ${a.description}` : a.name,
3007
- Po(a.quantity),
3020
+ Lo(a.name, a.description, a.optional, n.optional),
3021
+ Ko(a.quantity),
3008
3022
  D(a.unitPriceCents),
3009
3023
  D(a.netCents)
3010
3024
  ]
@@ -3025,16 +3039,21 @@ function al(e, t = [], n = $o) {
3025
3039
  }
3026
3040
  const $o = {
3027
3041
  description: "Omschrijving",
3042
+ optional: "optioneel",
3028
3043
  quantity: "Aantal",
3029
3044
  unitPrice: "Stuksprijs",
3030
3045
  net: "Netto",
3031
3046
  tax: "Btw",
3032
3047
  gross: "Totaal"
3033
3048
  };
3034
- function Lo(e) {
3035
- return e?.street ? [e.street, e.houseNumber].filter(Boolean).join(" ") : "";
3049
+ function Lo(e, t, n, r) {
3050
+ const o = t ? `${e} ${t}` : e;
3051
+ return n ? `${o} (${r})` : o;
3036
3052
  }
3037
3053
  function Po(e) {
3054
+ return e?.street ? [e.street, e.houseNumber].filter(Boolean).join(" ") : "";
3055
+ }
3056
+ function Ko(e) {
3038
3057
  return Number.isInteger(e) ? String(e) : String(e).replace(".", ",");
3039
3058
  }
3040
3059
  function at(e) {
@@ -3042,7 +3061,7 @@ function at(e) {
3042
3061
  const t = new Date(e), n = (r) => String(r).padStart(2, "0");
3043
3062
  return `${n(t.getDate())}-${n(t.getMonth() + 1)}-${t.getFullYear()}`;
3044
3063
  }
3045
- const cl = [
3064
+ const ul = [
3046
3065
  {
3047
3066
  block_id: "head",
3048
3067
  type: "letterhead",
@@ -3075,38 +3094,38 @@ Hierbij onze offerte. Hieronder vindt u de specificatie.`
3075
3094
  type: "paragraph",
3076
3095
  text: "Genoemde bedragen zijn exclusief btw tenzij anders vermeld. Deze offerte is geldig tot {quote.valid_until}."
3077
3096
  }
3078
- ], Ko = Xt.map((e) => e.key), Uo = "product";
3079
- function ll(e, t) {
3097
+ ], Uo = Xt.map((e) => e.key), Fo = "product";
3098
+ function dl(e, t) {
3080
3099
  return `${e}:${t}`;
3081
3100
  }
3082
- function ul(e) {
3083
- return `${Uo}:${e}`;
3101
+ function pl(e) {
3102
+ return `${Fo}:${e}`;
3084
3103
  }
3085
- function dl(e) {
3104
+ function fl(e) {
3086
3105
  const t = e.indexOf(":");
3087
3106
  if (t < 0) return;
3088
3107
  const n = e.slice(0, t);
3089
- return Ko.includes(n) ? e.slice(t + 1) : void 0;
3108
+ return Uo.includes(n) ? e.slice(t + 1) : void 0;
3090
3109
  }
3091
- function pl(e) {
3110
+ function ml(e) {
3092
3111
  return e.type === "agent";
3093
3112
  }
3094
- const fl = "WORK_COMMENT_ADDED", ml = "WORK_ITEM_ASSIGNED", hl = "WORK_ITEM_STATUS_CHANGED";
3095
- function Fo(e, t) {
3113
+ const hl = "WORK_COMMENT_ADDED", gl = "WORK_ITEM_ASSIGNED", yl = "WORK_ITEM_STATUS_CHANGED";
3114
+ function Bo(e, t) {
3096
3115
  const n = (r) => {
3097
3116
  const o = new Date(r);
3098
3117
  return o.setHours(0, 0, 0, 0), o.getTime();
3099
3118
  };
3100
3119
  return Math.round((n(e) - n(t)) / qn);
3101
3120
  }
3102
- function gl(e, t) {
3121
+ function bl(e, t) {
3103
3122
  if (e.closedAt != null) return { score: L, reasons: [] };
3104
3123
  const n = t.remindersById?.[e.id];
3105
3124
  if (n && n.remindAt > t.now) return { score: L, reasons: [] };
3106
3125
  let r = 0;
3107
3126
  const o = [], i = e.priority ?? "normal";
3108
3127
  if (J[i] > 0 && (r += J[i], o.push(`priority:${i}`)), typeof e.dueDate == "number") {
3109
- const s = Fo(e.dueDate, t.now);
3128
+ const s = Bo(e.dueDate, t.now);
3110
3129
  s < 0 ? (r += 35, o.push("overdue")) : s === 0 && (r += 20, o.push("due-today"));
3111
3130
  }
3112
3131
  return e.source?.initiator === "system" && e.source.systemReason && (r += 15, o.push(`auto:${e.source.systemReason}`)), { score: r, reasons: o };
@@ -3119,35 +3138,35 @@ const Ne = [
3119
3138
  { key: "subtask", label: "type_subtask" },
3120
3139
  { key: "case", label: "type_case" },
3121
3140
  { key: "deal", label: "type_deal" }
3122
- ], yl = Ne.map((e) => e.key);
3123
- function bl(e) {
3141
+ ], Al = Ne.map((e) => e.key);
3142
+ function _l(e) {
3124
3143
  return e?.types?.length ? e.types : Ne;
3125
3144
  }
3126
- function Al(e, t) {
3145
+ function El(e, t) {
3127
3146
  return t.find((n) => n.key === e);
3128
3147
  }
3129
- function _l(e) {
3148
+ function Sl(e) {
3130
3149
  const t = e.trim().toLowerCase();
3131
3150
  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;
3132
3151
  }
3133
- function El(...e) {
3152
+ function Il(...e) {
3134
3153
  return e.map((t) => Ne.find((n) => n.key === t)).filter((t) => !!t);
3135
3154
  }
3136
- const Bo = "work_item", jo = "work_project", Ho = "work_activity", Sl = "work_cycle";
3137
- function Go(e) {
3138
- return `${Bo}:${e}`;
3139
- }
3140
- function Yt(e) {
3155
+ const jo = "work_item", Ho = "work_project", Go = "work_activity", Tl = "work_cycle";
3156
+ function Wo(e) {
3141
3157
  return `${jo}:${e}`;
3142
3158
  }
3143
- function Il(e) {
3159
+ function Yt(e) {
3144
3160
  return `${Ho}:${e}`;
3145
3161
  }
3146
- function Tl(e, t, n) {
3162
+ function wl(e) {
3163
+ return `${Go}:${e}`;
3164
+ }
3165
+ function kl(e, t, n) {
3147
3166
  const r = `${e}-${t}`;
3148
3167
  return n ? `${r}-${n}` : r;
3149
3168
  }
3150
- function wl(e) {
3169
+ function Ml(e) {
3151
3170
  const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
3152
3171
  return t ? {
3153
3172
  projectKey: t[1].toUpperCase(),
@@ -3155,17 +3174,17 @@ function wl(e) {
3155
3174
  ...t[3] ? { subSequence: Number(t[3]) } : {}
3156
3175
  } : null;
3157
3176
  }
3158
- function kl(e) {
3177
+ function vl(e) {
3159
3178
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
3160
3179
  }
3161
- function Ml(e, t = 25) {
3162
- const n = /* @__PURE__ */ new Set([Go(e.id)]);
3180
+ function Cl(e, t = 25) {
3181
+ const n = /* @__PURE__ */ new Set([Wo(e.id)]);
3163
3182
  e.projectId && n.add(Yt(e.projectId));
3164
3183
  for (const r of e.ancestorKeys ?? []) n.add(r);
3165
3184
  for (const r of e.partyKeys ?? []) n.add(r);
3166
3185
  return Array.from(n).slice(0, t);
3167
3186
  }
3168
- function vl(e) {
3187
+ function Ol(e) {
3169
3188
  return [Yt(e.id)];
3170
3189
  }
3171
3190
  const Re = [
@@ -3174,33 +3193,33 @@ const Re = [
3174
3193
  { key: "done", label: "status_done", category: "done", order: 2 },
3175
3194
  { key: "cancelled", label: "status_cancelled", category: "done", order: 3 }
3176
3195
  ], qt = Re.map((e) => e.key);
3177
- function Wo(e) {
3196
+ function Vo(e) {
3178
3197
  return e?.statuses?.length ? e.statuses : Re;
3179
3198
  }
3180
- function Vo(e, t) {
3199
+ function zo(e, t) {
3181
3200
  return t.find((n) => n.key === e)?.category ?? "todo";
3182
3201
  }
3183
- function Cl(e, t) {
3202
+ function xl(e, t) {
3184
3203
  return t.find((n) => n.key === e);
3185
3204
  }
3186
- function Ol(e) {
3187
- const t = Wo(e), n = e?.defaultStatusKey;
3188
- return n && t.some((r) => r.key === n) ? n : zo(t)[0]?.key ?? Re[0].key;
3205
+ function Nl(e) {
3206
+ const t = Vo(e), n = e?.defaultStatusKey;
3207
+ return n && t.some((r) => r.key === n) ? n : Xo(t)[0]?.key ?? Re[0].key;
3189
3208
  }
3190
- function zo(e) {
3209
+ function Xo(e) {
3191
3210
  return [...e].sort((t, n) => {
3192
3211
  const r = (t.order ?? 0) - (n.order ?? 0);
3193
3212
  return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
3194
3213
  });
3195
3214
  }
3196
- function xl(e, t) {
3197
- return Vo(e, t) === "done";
3215
+ function Rl(e, t) {
3216
+ return zo(e, t) === "done";
3198
3217
  }
3199
- function Xo(e) {
3218
+ function Yo(e) {
3200
3219
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
3201
3220
  }
3202
- function Nl(e, t) {
3203
- const n = Xo(e) || "status", r = /* @__PURE__ */ new Set([...t, ...qt]);
3221
+ function Dl(e, t) {
3222
+ const n = Yo(e) || "status", r = /* @__PURE__ */ new Set([...t, ...qt]);
3204
3223
  if (!r.has(n)) return n;
3205
3224
  for (let o = 2; o < 500; o++) {
3206
3225
  const i = `${n}-${o}`;
@@ -3208,7 +3227,7 @@ function Nl(e, t) {
3208
3227
  }
3209
3228
  return `${n}-${r.size + 1}`;
3210
3229
  }
3211
- function Rl(e) {
3230
+ function $l(e) {
3212
3231
  const t = [];
3213
3232
  if (!e.length) return [{ index: -1, reason: "empty" }];
3214
3233
  const n = /* @__PURE__ */ new Set();
@@ -3220,13 +3239,13 @@ function Rl(e) {
3220
3239
  qt.includes(r.key) && t.push({ index: o, reason: "reserved_key", key: r.key }), n.has(r.key) && t.push({ index: o, reason: "duplicate_key", key: r.key }), n.add(r.key);
3221
3240
  }), 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;
3222
3241
  }
3223
- function Dl(e) {
3242
+ function Ll(e) {
3224
3243
  return e.startDate ?? Number.MAX_SAFE_INTEGER;
3225
3244
  }
3226
- function $l(e) {
3245
+ function Pl(e) {
3227
3246
  return e.completedAt ? "completed" : e.startedAt ? "active" : "planned";
3228
3247
  }
3229
- const Yo = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), qo = /* @__PURE__ */ new Set([
3248
+ const qo = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), Qo = /* @__PURE__ */ new Set([
3230
3249
  "text/plain",
3231
3250
  "text/markdown",
3232
3251
  "text/csv",
@@ -3235,67 +3254,67 @@ const Yo = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
3235
3254
  "application/xml",
3236
3255
  "text/xml"
3237
3256
  ]);
3238
- function Qo(e) {
3257
+ function Zo(e) {
3239
3258
  const t = (e ?? "").trim().toLowerCase().split(";")[0];
3240
- return t ? Yo.has(t) ? "image" : t === "application/pdf" ? "pdf" : qo.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
3259
+ return t ? qo.has(t) ? "image" : t === "application/pdf" ? "pdf" : Qo.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
3241
3260
  }
3242
- const F = 1024 * 1024, Zo = {
3261
+ const F = 1024 * 1024, Jo = {
3243
3262
  image: 5 * F,
3244
3263
  pdf: 20 * F,
3245
3264
  text: 1 * F,
3246
3265
  audio: 20 * F
3247
- }, Ll = 25 * F, Pl = 5;
3248
- function Kl(e, t) {
3249
- const n = Qo(e);
3250
- return n === "unsupported" ? "unsupported" : t > Zo[n] ? "too-large" : null;
3266
+ }, Kl = 25 * F, Ul = 5;
3267
+ function Fl(e, t) {
3268
+ const n = Zo(e);
3269
+ return n === "unsupported" ? "unsupported" : t > Jo[n] ? "too-large" : null;
3251
3270
  }
3252
- function Ul(e) {
3271
+ function Bl(e) {
3253
3272
  return e.access !== "read" && e.effect !== "internal";
3254
3273
  }
3255
- function Jo(e) {
3274
+ function ei(e) {
3256
3275
  return `${e.kind}:${e.id || e.url || e.title}`;
3257
3276
  }
3258
- function Fl(e, t = []) {
3277
+ function jl(e, t = []) {
3259
3278
  const n = new Set(t), r = [], o = [];
3260
3279
  for (const i of e) {
3261
- const s = Jo(i);
3280
+ const s = ei(i);
3262
3281
  n.has(s) || (n.add(s), r.push(i), o.push(s));
3263
3282
  }
3264
3283
  return { sources: r, keys: o };
3265
3284
  }
3266
- const Bl = "assist-source", jl = ["blocking", "due", "open"];
3267
- function Hl(e, t) {
3285
+ const Hl = "assist-source", Gl = ["blocking", "due", "open"];
3286
+ function Wl(e, t) {
3268
3287
  const [n, r] = (e.subjectKey ?? "").split(":");
3269
3288
  return n === t && r ? r : void 0;
3270
3289
  }
3271
3290
  const ct = { blocking: 0, due: 1, open: 2 };
3272
- function Gl(e, t) {
3291
+ function Vl(e, t) {
3273
3292
  return ct[e.band ?? "open"] - ct[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
3274
3293
  }
3275
- function Wl(e) {
3294
+ function zl(e) {
3276
3295
  return e.sessions.filter(
3277
3296
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
3278
3297
  );
3279
3298
  }
3280
- function Vl(e) {
3299
+ function Xl(e) {
3281
3300
  return e.sessions.filter(
3282
3301
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
3283
3302
  );
3284
3303
  }
3285
- function zl(e) {
3304
+ function Yl(e) {
3286
3305
  return e.sessions.some(
3287
3306
  (n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
3288
3307
  ) ? { admit: !1, reason: "busy" } : { admit: !0 };
3289
3308
  }
3290
- function ei(e, t) {
3291
- const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((s) => !n.has(s.intent)).map((s) => ni(s, r[s.intent]));
3309
+ function ti(e, t) {
3310
+ const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, o = t.intents.filter((s) => !n.has(s.intent)).map((s) => ri(s, r[s.intent]));
3292
3311
  if (!e.extraIntents || e.extraIntents.length === 0) return o;
3293
3312
  const i = new Set(o.map((s) => s.intent));
3294
3313
  for (const s of e.extraIntents)
3295
3314
  i.has(s.intent) || (o.push(s), i.add(s.intent));
3296
3315
  return o;
3297
3316
  }
3298
- function ti(e, t) {
3317
+ function ni(e, t) {
3299
3318
  const n = {};
3300
3319
  for (const r of e.intents) {
3301
3320
  if (!r.togglable) continue;
@@ -3304,46 +3323,46 @@ function ti(e, t) {
3304
3323
  }
3305
3324
  return n;
3306
3325
  }
3307
- function Xl(e, t) {
3308
- const n = ti(e, t);
3326
+ function ql(e, t) {
3327
+ const n = ni(e, t);
3309
3328
  return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
3310
3329
  }
3311
- function ni(e, t) {
3330
+ function ri(e, t) {
3312
3331
  return t ? {
3313
3332
  intent: t.intent ?? e.intent,
3314
3333
  targetSchemes: t.targetSchemes ?? e.targetSchemes,
3315
3334
  transport: t.transport ?? e.transport
3316
3335
  } : e;
3317
3336
  }
3318
- function Yl(e, t) {
3337
+ function Ql(e, t) {
3319
3338
  const n = [];
3320
3339
  for (const r of e) {
3321
3340
  if (!r.enabled) continue;
3322
3341
  const o = t[r.providerId];
3323
3342
  if (o)
3324
- for (const i of ei(r, o))
3343
+ for (const i of ti(r, o))
3325
3344
  n.push({ channel: r, description: o, capability: i });
3326
3345
  }
3327
3346
  return n;
3328
3347
  }
3329
- function ql(e, t) {
3348
+ function Zl(e, t) {
3330
3349
  return t.filter((n) => n.capability.intent === e);
3331
3350
  }
3332
- function ri(e, t) {
3351
+ function oi(e, t) {
3333
3352
  return t.filter((n) => n.capability.targetSchemes.includes(e));
3334
3353
  }
3335
- function Ql(e, t) {
3336
- return ri(e.scheme, t);
3354
+ function Jl(e, t) {
3355
+ return oi(e.scheme, t);
3337
3356
  }
3338
- function Zl(e, t, n) {
3357
+ function eu(e, t, n) {
3339
3358
  const r = [];
3340
3359
  for (const o of e)
3341
3360
  for (const i of n)
3342
3361
  i.capability.intent === t && i.capability.targetSchemes.includes(o.scheme) && r.push({ channelIntent: i, endpoint: o });
3343
3362
  return r;
3344
3363
  }
3345
- var oi = /* @__PURE__ */ ((e) => (e.MAILTO = "mailto", e.SIP = "sip", e.TEL = "tel", e.WEBHOOK = "webhook", e.USERNAME = "username", e.ID = "id", e.CUSTOM = "custom", e.URL = "url", e.TELEGRAM = "telegram", e.WHATSAPP = "whatsapp", e.MESSENGER = "messenger", e.INSTAGRAM = "instagram", e.VIBER = "viber", e.SMS = "sms", e.FAX = "fax", e.TEAMS = "teams", e.CALENDAR = "calendar", e))(oi || {});
3346
- const ii = {
3364
+ var ii = /* @__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))(ii || {});
3365
+ const si = {
3347
3366
  mailto: "mail",
3348
3367
  sip: "tel",
3349
3368
  tel: "tel",
@@ -3364,10 +3383,10 @@ const ii = {
3364
3383
  id: "note",
3365
3384
  custom: "note"
3366
3385
  };
3367
- function Jl(e) {
3368
- return e ? ii[e] ?? "note" : "note";
3386
+ function tu(e) {
3387
+ return e ? si[e] ?? "note" : "note";
3369
3388
  }
3370
- const eu = "message_window", tu = "message_templates", nu = {
3389
+ const nu = "message_window", ru = "message_templates", ou = {
3371
3390
  // E-mail
3372
3391
  FROM: "from",
3373
3392
  TO: "to",
@@ -3384,11 +3403,11 @@ const eu = "message_window", tu = "message_templates", nu = {
3384
3403
  // Voice/conference
3385
3404
  HOST: "host",
3386
3405
  PARTICIPANT: "participant"
3387
- }, ru = (e, t) => ({ intent: e, ...t }), ou = "folder_management", iu = "remote_search", su = "message_reactions", au = {
3406
+ }, iu = (e, t) => ({ intent: e, ...t }), su = "folder_management", au = "remote_search", cu = "message_reactions", lu = {
3388
3407
  ok: !1,
3389
3408
  code: "UNSUPPORTED",
3390
3409
  message: "Provider does not support this op"
3391
- }, cu = "connector", lu = "context.collect", _ = (e) => ({ type: "string", description: e }), A = (e) => ({ type: "number", description: e }), Q = (e) => ({ type: "boolean", description: e }), v = _("Sheet name. Omit for the sheet the user is looking at."), lt = _("Slide id, as `inspect` reports it.");
3410
+ }, uu = "connector", du = "context.collect", _ = (e) => ({ type: "string", description: e }), A = (e) => ({ type: "number", description: e }), Q = (e) => ({ type: "boolean", description: e }), v = _("Sheet name. Omit for the sheet the user is looking at."), lt = _("Slide id, as `inspect` reports it.");
3392
3411
  function b(e, t, n, r, o, i) {
3393
3412
  return {
3394
3413
  op: e,
@@ -3399,7 +3418,7 @@ function b(e, t, n, r, o, i) {
3399
3418
  visible: i.visible
3400
3419
  };
3401
3420
  }
3402
- const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut = { undoable: !1, visible: !0 }, ee = { undoable: !1, visible: !1 }, si = [
3421
+ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut = { undoable: !1, visible: !0 }, ee = { undoable: !1, visible: !1 }, ai = [
3403
3422
  b(
3404
3423
  "pdf.goToPage",
3405
3424
  ["pdf"],
@@ -3494,7 +3513,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3494
3513
  ["page", "text"],
3495
3514
  ee
3496
3515
  )
3497
- ], ai = [
3516
+ ], ci = [
3498
3517
  b(
3499
3518
  "sheet.setValues",
3500
3519
  ["sheet"],
@@ -3646,7 +3665,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3646
3665
  [],
3647
3666
  B
3648
3667
  )
3649
- ], ci = [
3668
+ ], li = [
3650
3669
  b(
3651
3670
  "word.replaceParagraph",
3652
3671
  ["word"],
@@ -3708,7 +3727,7 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3708
3727
  ["start"],
3709
3728
  B
3710
3729
  )
3711
- ], li = [
3730
+ ], ui = [
3712
3731
  b(
3713
3732
  "slides.setText",
3714
3733
  ["slides"],
@@ -3737,23 +3756,23 @@ const B = { undoable: !1, visible: !0 }, I = { undoable: !0, visible: !0 }, ut =
3737
3756
  ee
3738
3757
  )
3739
3758
  ], Qt = [
3740
- ...si,
3741
3759
  ...ai,
3742
3760
  ...ci,
3743
- ...li
3761
+ ...li,
3762
+ ...ui
3744
3763
  ];
3745
- function uu(e) {
3764
+ function pu(e) {
3746
3765
  return Qt.filter((t) => t.kinds.includes(e));
3747
3766
  }
3748
- function du(e) {
3767
+ function fu(e) {
3749
3768
  return Qt.find((t) => t.op === e);
3750
3769
  }
3751
- const dt = /(?: {2,}|\\)$/, ui = /^\*\*([^*]+)\*\*\s+(.*)$/;
3770
+ const dt = /(?: {2,}|\\)$/, di = /^\*\*([^*]+)\*\*\s+(.*)$/;
3752
3771
  function pt(e) {
3753
- const t = ui.exec(e);
3772
+ const t = di.exec(e);
3754
3773
  return t ? { lead: t[1], text: t[2] } : { text: e };
3755
3774
  }
3756
- function pu(e) {
3775
+ function mu(e) {
3757
3776
  const t = (e ?? "").replace(/\r\n/g, `
3758
3777
  `).split(`
3759
3778
  `), n = [];
@@ -3769,21 +3788,21 @@ function pu(e) {
3769
3788
  const p = s.join("").trim();
3770
3789
  p && n.push({ type: "paragraph", text: p }), s = [];
3771
3790
  }
3772
- }, l = () => {
3791
+ }, u = () => {
3773
3792
  a.length && (n.push({ type: "quote", text: a.join(`
3774
3793
  `) }), a = []);
3775
3794
  }, d = () => {
3776
- c(), l(), o();
3795
+ c(), u(), o();
3777
3796
  };
3778
- let u = 0;
3779
- for (; u < t.length; ) {
3780
- const p = t[u] ?? "", f = p.match(/^```(\w*)\s*$/);
3797
+ let l = 0;
3798
+ for (; l < t.length; ) {
3799
+ const p = t[l] ?? "", f = p.match(/^```(\w*)\s*$/);
3781
3800
  if (f) {
3782
3801
  d();
3783
3802
  const g = [];
3784
- for (u++; u < t.length && !/^```\s*$/.test(t[u] ?? ""); )
3785
- g.push(t[u] ?? ""), u++;
3786
- u++, n.push({ type: "code", ...f[1] ? { lang: f[1] } : {}, text: g.join(`
3803
+ for (l++; l < t.length && !/^```\s*$/.test(t[l] ?? ""); )
3804
+ g.push(t[l] ?? ""), l++;
3805
+ l++, n.push({ type: "code", ...f[1] ? { lang: f[1] } : {}, text: g.join(`
3787
3806
  `) });
3788
3807
  continue;
3789
3808
  }
@@ -3793,7 +3812,7 @@ function pu(e) {
3793
3812
  type: "heading",
3794
3813
  level: y[1].length,
3795
3814
  text: y[2].trim()
3796
- }), u++;
3815
+ }), l++;
3797
3816
  continue;
3798
3817
  }
3799
3818
  const m = p.match(/^!\[([^\]]*)\]\(([^)\s]+)\)\s*$/);
@@ -3802,57 +3821,57 @@ function pu(e) {
3802
3821
  type: "image",
3803
3822
  url: m[2],
3804
3823
  ...m[1] ? { alt: m[1] } : {}
3805
- }), u++;
3824
+ }), l++;
3806
3825
  continue;
3807
3826
  }
3808
3827
  if (/^\s*[-*]\s+/.test(p)) {
3809
- c(), l(), i("bulleted", p.replace(/^\s*[-*]\s+/, "")), u++;
3828
+ c(), u(), i("bulleted", p.replace(/^\s*[-*]\s+/, "")), l++;
3810
3829
  continue;
3811
3830
  }
3812
3831
  if (/^\s*\d+\.\s+/.test(p)) {
3813
- c(), l(), i("numbered", p.replace(/^\s*\d+\.\s+/, "")), u++;
3832
+ c(), u(), i("numbered", p.replace(/^\s*\d+\.\s+/, "")), l++;
3814
3833
  continue;
3815
3834
  }
3816
3835
  if (/^\s*(-{3,}|\*{3,}|_{3,})\s*$/.test(p)) {
3817
- d(), n.push({ type: "divider" }), u++;
3836
+ d(), n.push({ type: "divider" }), l++;
3818
3837
  continue;
3819
3838
  }
3820
3839
  if (/^>\s?/.test(p)) {
3821
- c(), o(), a.push(p.replace(/^>\s?/, "")), u++;
3840
+ c(), o(), a.push(p.replace(/^>\s?/, "")), l++;
3822
3841
  continue;
3823
3842
  }
3824
3843
  if (p.trim() === "") {
3825
- d(), u++;
3844
+ d(), l++;
3826
3845
  continue;
3827
3846
  }
3828
- l(), o();
3847
+ u(), o();
3829
3848
  const S = dt.test(p);
3830
3849
  s.push(p.replace(dt, "").trim() + (S ? `
3831
- ` : " ")), u++;
3850
+ ` : " ")), l++;
3832
3851
  }
3833
3852
  return d(), n;
3834
3853
  }
3835
- function fu(e, t) {
3854
+ function hu(e, t) {
3836
3855
  return Dn(e, t).replace(/^```.*$/gm, "").replace(/^\|[\s:|-]*\|$/gm, "").replace(/[ \t]*\|[ \t]*/g, " ").replace(/^[ \t]*(#{1,6}|>|[-*+]|\d+\.)[ \t]+/gm, "").replace(/!\[([^\]]*)\]\([^)]*\)/g, "$1").replace(/\[([^\]]+)\]\([^)]*\)/g, "$1").replace(/(\*\*|__|\*|_|`|~~)/g, "").replace(/[ \t]+$/gm, "").replace(/\n{3,}/g, `
3837
3856
 
3838
3857
  `).trim();
3839
3858
  }
3840
- const mu = "documents.describe", hu = "documents.inspect", gu = "documents.apply";
3841
- function yu(e) {
3859
+ const gu = "documents.describe", yu = "documents.inspect", bu = "documents.apply";
3860
+ function Au(e) {
3842
3861
  const t = e.indexOf(":");
3843
3862
  if (t !== -1) return e.slice(0, t);
3844
3863
  const n = e.indexOf(".");
3845
3864
  return n === -1 ? e : e.slice(0, n);
3846
3865
  }
3847
- const bu = "installation-id";
3848
- function Au(e) {
3866
+ const _u = "installation-id";
3867
+ function Eu(e) {
3849
3868
  const t = [];
3850
3869
  for (const n of Object.keys(e))
3851
3870
  for (const r of Object.keys(e[n]))
3852
3871
  t.push({ lang: n, key: r, value: e[n][r] });
3853
3872
  return t;
3854
3873
  }
3855
- const _u = "notification-source", Eu = (e, t) => `${e}.pref.${t}`, Su = {
3874
+ const Su = "notification-source", Iu = (e, t) => `${e}.pref.${t}`, Tu = {
3856
3875
  ai: [
3857
3876
  "account.read",
3858
3877
  "account.write",
@@ -3987,48 +4006,48 @@ const _u = "notification-source", Eu = (e, t) => `${e}.pref.${t}`, Su = {
3987
4006
  time: ["entry.read", "entry.write", "work-type.read", "work-type.write"],
3988
4007
  user: ["user.read", "user.write"],
3989
4008
  work: ["item.read", "item.write", "project.read", "project.write"]
3990
- }, Zt = 9e4, di = ["out_of_office"], Jt = (e) => di.includes(e);
3991
- function Iu(e, t, n) {
4009
+ }, Zt = 9e4, pi = ["out_of_office"], Jt = (e) => pi.includes(e);
4010
+ function wu(e, t, n) {
3992
4011
  const r = n - e < Zt, o = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
3993
4012
  if (!o?.status) return { online: r, status: r ? "available" : "offline" };
3994
4013
  const i = o.status;
3995
4014
  return !r && !Jt(i) ? { online: !1, status: "offline" } : { online: r, status: i, message: o.message };
3996
4015
  }
3997
- function Tu(e, t) {
4016
+ function ku(e, t) {
3998
4017
  const n = t - e.lastSeenAt < Zt, r = n || Jt(e.status) ? e.status : "offline";
3999
4018
  return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
4000
4019
  }
4001
- function wu(e, t) {
4020
+ function Mu(e, t) {
4002
4021
  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 };
4003
4022
  }
4004
- function ku(e) {
4023
+ function vu(e) {
4005
4024
  return e.providerAvailable && e.allowed;
4006
4025
  }
4007
- const Mu = "resources.describe", vu = "resources.search", Cu = "resources.resolve", Ou = "resources.attached";
4008
- function xu(e) {
4026
+ const Cu = "resources.describe", Ou = "resources.search", xu = "resources.resolve", Nu = "resources.attached";
4027
+ function Ru(e) {
4009
4028
  const t = e.indexOf(":");
4010
4029
  return t === -1 ? e : e.slice(0, t);
4011
4030
  }
4012
- const Nu = "/provider/scope/related", Ru = "/provider/scope/read", en = "auth";
4031
+ const Du = "/provider/scope/related", $u = "/provider/scope/read", en = "auth";
4013
4032
  function tn(e) {
4014
4033
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
4015
4034
  return t ? t[1] : null;
4016
4035
  }
4017
- function Du(e) {
4036
+ function Lu(e) {
4018
4037
  const t = tn(e);
4019
4038
  return t ? t !== en : typeof e == "string" && e.startsWith("/wake");
4020
4039
  }
4021
- function $u(e) {
4040
+ function Pu(e) {
4022
4041
  return typeof e != "string" || e === "" || e === "/" ? !0 : tn(e) === en;
4023
4042
  }
4024
- function pi(e) {
4043
+ function fi(e) {
4025
4044
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
4026
4045
  }
4027
- function fi(e) {
4028
- const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${pi(r)}`).join("");
4046
+ function mi(e) {
4047
+ const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${fi(r)}`).join("");
4029
4048
  return new RegExp(`^${n}\\/?$`);
4030
4049
  }
4031
- function mi(e, t) {
4050
+ function hi(e, t) {
4032
4051
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean), o = {};
4033
4052
  return n.forEach((i, s) => {
4034
4053
  if (i.startsWith(":")) {
@@ -4037,14 +4056,14 @@ function mi(e, t) {
4037
4056
  }
4038
4057
  }), o;
4039
4058
  }
4040
- function hi(e) {
4059
+ function gi(e) {
4041
4060
  return e.publicBasePath ?? `/apps/${e.name}`;
4042
4061
  }
4043
- function Lu(e) {
4062
+ function Ku(e) {
4044
4063
  const t = [];
4045
4064
  for (const n of e) {
4046
4065
  if (!n?.name) continue;
4047
- const r = hi(n);
4066
+ const r = gi(n);
4048
4067
  for (const o of n.routes ?? []) {
4049
4068
  if (!o.public) continue;
4050
4069
  const i = o.path === "/" ? "" : o.path;
@@ -4058,7 +4077,7 @@ function Lu(e) {
4058
4077
  }
4059
4078
  return t;
4060
4079
  }
4061
- function gi(e, t) {
4080
+ function yi(e, t) {
4062
4081
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean);
4063
4082
  for (let o = 0; o < Math.min(n.length, r.length); o++) {
4064
4083
  const i = n[o].startsWith(":"), s = r[o].startsWith(":");
@@ -4066,17 +4085,17 @@ function gi(e, t) {
4066
4085
  }
4067
4086
  return n.length > r.length;
4068
4087
  }
4069
- function yi(e, t) {
4088
+ function bi(e, t) {
4070
4089
  if (typeof e != "string") return null;
4071
4090
  let n = null;
4072
4091
  for (const r of t)
4073
- fi(r.pattern).test(e) && (!n || gi(r.pattern, n.pattern)) && (n = r);
4074
- return n ? { ...n, params: { ...n.props, ...mi(n.pattern, e) } } : null;
4092
+ mi(r.pattern).test(e) && (!n || yi(r.pattern, n.pattern)) && (n = r);
4093
+ return n ? { ...n, params: { ...n.props, ...hi(n.pattern, e) } } : null;
4075
4094
  }
4076
- function Pu(e, t) {
4077
- return yi(e, t) !== null;
4095
+ function Uu(e, t) {
4096
+ return bi(e, t) !== null;
4078
4097
  }
4079
- const Ku = 10 * 1024 * 1024, Uu = 25 * 1024 * 1024, Fu = "sync-target", Bu = 20, bi = {
4098
+ const Fu = 10 * 1024 * 1024, Bu = 25 * 1024 * 1024, ju = "sync-target", Hu = 20, Ai = {
4080
4099
  afrikaans: [
4081
4100
  "[Muziek]",
4082
4101
  "(C) TV GELDERLAND 2021",
@@ -4226,14 +4245,14 @@ const Ku = 10 * 1024 * 1024, Uu = 25 * 1024 * 1024, Fu = "sync-target", Bu = 20,
4226
4245
  "[MÚSICA]",
4227
4246
  "[Music cuts in British]"
4228
4247
  ]
4229
- }, Ai = (e) => {
4248
+ }, _i = (e) => {
4230
4249
  let t = e;
4231
- return Object.values(bi).forEach((n) => {
4250
+ return Object.values(Ai).forEach((n) => {
4232
4251
  n.forEach((r) => {
4233
4252
  t = t.replaceAll(r, "");
4234
4253
  });
4235
4254
  }), t = t.replace(/\(.*?\)/g, ""), t = t.replace(/\[.*?\]/g, ""), t;
4236
- }, _i = 6e4, Ei = 8e3, Si = 2, Ii = 0.4, Ti = 3, wi = /* @__PURE__ */ new Set([
4255
+ }, Ei = 6e4, Si = 8e3, Ii = 2, Ti = 0.4, wi = 3, ki = /* @__PURE__ */ new Set([
4237
4256
  "aan",
4238
4257
  "als",
4239
4258
  "ben",
@@ -4346,13 +4365,13 @@ const Ku = 10 * 1024 * 1024, Uu = 25 * 1024 * 1024, Fu = "sync-target", Bu = 20,
4346
4365
  "you",
4347
4366
  "your"
4348
4367
  ]);
4349
- function ki(e) {
4368
+ function Mi(e) {
4350
4369
  const t = /* @__PURE__ */ new Set();
4351
4370
  for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
4352
- n.length < Ti || wi.has(n) || t.add(n);
4371
+ n.length < wi || ki.has(n) || t.add(n);
4353
4372
  return [...t];
4354
4373
  }
4355
- function Mi(e, t) {
4374
+ function vi(e, t) {
4356
4375
  if (!e.length) return 0;
4357
4376
  if (!t.length) return 1;
4358
4377
  const n = new Set(t), r = new Set(e);
@@ -4360,38 +4379,38 @@ function Mi(e, t) {
4360
4379
  for (const i of r) n.has(i) || (o += 1);
4361
4380
  return o / r.size;
4362
4381
  }
4363
- function vi(e, t = _i) {
4382
+ function Ci(e, t = Ei) {
4364
4383
  const n = e.filter((s) => !s.partial && typeof s.text == "string");
4365
4384
  if (!n.length) return { text: "", segmentCount: 0 };
4366
4385
  const o = n.reduce((s, a) => Math.max(s, a.endedAt ?? 0), 0) - t;
4367
- return { text: n.filter((s) => (s.endedAt ?? 0) >= o).map((s) => Ai(s.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
4386
+ return { text: n.filter((s) => (s.endedAt ?? 0) >= o).map((s) => _i(s.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
4368
4387
  }
4369
- const Ci = 60;
4370
- function ju(e, t, n = Ci) {
4388
+ const Oi = 60;
4389
+ function Gu(e, t, n = Oi) {
4371
4390
  const r = new Set(e), o = [...e];
4372
4391
  for (const i of t)
4373
4392
  !i || r.has(i) || (r.add(i), o.push(i));
4374
4393
  return o.slice(-n);
4375
4394
  }
4376
- function Hu(e) {
4395
+ function Wu(e) {
4377
4396
  const { segments: t, now: n, state: r } = e;
4378
- if (r.lastTriggerAt && n - r.lastTriggerAt < Ei)
4397
+ if (r.lastTriggerAt && n - r.lastTriggerAt < Si)
4379
4398
  return { trigger: !1, reason: "too_soon" };
4380
- const o = vi(t, e.windowMs);
4399
+ const o = Ci(t, e.windowMs);
4381
4400
  if (!o.text) return { trigger: !1, reason: "no_speech" };
4382
4401
  const i = o.segmentCount - (r.lastSegmentCount ?? 0);
4383
- if (r.lastQueryTerms && i < Si)
4402
+ if (r.lastQueryTerms && i < Ii)
4384
4403
  return { trigger: !1, reason: "too_few_new" };
4385
- const s = ki(o.text);
4386
- return s.length ? r.lastQueryTerms?.length && Mi(s, r.lastQueryTerms) < Ii ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: o.text, terms: s, segmentCount: o.segmentCount } : { trigger: !1, reason: "no_speech" };
4404
+ const s = Mi(o.text);
4405
+ return s.length ? r.lastQueryTerms?.length && vi(s, r.lastQueryTerms) < Ti ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: o.text, terms: s, segmentCount: o.segmentCount } : { trigger: !1, reason: "no_speech" };
4387
4406
  }
4388
- const Gu = [
4407
+ const Vu = [
4389
4408
  "personal",
4390
4409
  "workspace",
4391
4410
  "connections",
4392
4411
  "work",
4393
4412
  "ai"
4394
- ], Wu = "navNotice", De = {
4413
+ ], zu = "navNotice", De = {
4395
4414
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
4396
4415
  // shorter than geographic numbers, and a too-strict minimum silently drops them.
4397
4416
  // An over-permissive key is harmless — it simply matches nothing.
@@ -4414,7 +4433,7 @@ const Gu = [
4414
4433
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
4415
4434
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
4416
4435
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
4417
- }, Oi = "NL", xi = 15, Ni = 8, Ri = Array.from(
4436
+ }, xi = "NL", Ni = 15, Ri = 8, Di = Array.from(
4418
4437
  new Set(Object.values(De).map((e) => e.callingCode))
4419
4438
  ).sort((e, t) => t.length - e.length);
4420
4439
  function ft(e) {
@@ -4425,8 +4444,8 @@ function Z(e, t) {
4425
4444
  return e.length >= t.nsnMin && e.length <= t.nsnMax;
4426
4445
  }
4427
4446
  function mt(e) {
4428
- if (e.length > xi) return null;
4429
- for (const t of Ri) {
4447
+ if (e.length > Ni) return null;
4448
+ for (const t of Di) {
4430
4449
  if (!e.startsWith(t)) continue;
4431
4450
  const n = e.slice(t.length);
4432
4451
  for (const r of Object.values(De)) {
@@ -4436,16 +4455,16 @@ function mt(e) {
4436
4455
  }
4437
4456
  return null;
4438
4457
  }
4439
- return e.length < Ni ? null : `+${e}`;
4458
+ return e.length < Ri ? null : `+${e}`;
4440
4459
  }
4441
- function Di(e) {
4460
+ function $i(e) {
4442
4461
  let t = e.trim();
4443
4462
  const n = t.match(/^(sips?|tel|whatsapp):/i);
4444
4463
  n && (t = t.slice(n[0].length));
4445
4464
  const r = t.indexOf("@");
4446
4465
  return r >= 0 && (t = t.slice(0, r)), t.trim();
4447
4466
  }
4448
- function Vu(e) {
4467
+ function Xu(e) {
4449
4468
  if (!e) return !1;
4450
4469
  const t = e.indexOf("@");
4451
4470
  if (t <= 0) return !1;
@@ -4454,13 +4473,13 @@ function Vu(e) {
4454
4473
  }
4455
4474
  function ht(e, t) {
4456
4475
  if (!e) return null;
4457
- const n = Di(e);
4476
+ const n = $i(e);
4458
4477
  if (!n) return null;
4459
4478
  const r = n.startsWith("+"), o = n.replace(/\D/g, "");
4460
4479
  if (!o) return null;
4461
4480
  if (r) return mt(o);
4462
4481
  if (o.startsWith("00")) return mt(o.slice(2));
4463
- const i = ft(t) ?? ft(Oi);
4482
+ const i = ft(t) ?? ft(xi);
4464
4483
  if (!i) return null;
4465
4484
  const s = i.trunkPrefix;
4466
4485
  if (s && o.startsWith(s)) {
@@ -4473,7 +4492,7 @@ function ht(e, t) {
4473
4492
  }
4474
4493
  return !s && Z(o, i) ? `+${i.callingCode}${o}` : null;
4475
4494
  }
4476
- function zu(e, t = 9) {
4495
+ function Yu(e, t = 9) {
4477
4496
  const n = (e ?? "").replace(/\D/g, "");
4478
4497
  return n.length < t ? null : n.slice(-t);
4479
4498
  }
@@ -4484,11 +4503,11 @@ function nn(e) {
4484
4503
  const r = t.slice(0, n).split("+")[0], o = t.slice(n + 1);
4485
4504
  return !r || !o.includes(".") ? null : `${r}@${o}`;
4486
4505
  }
4487
- function Xu(e) {
4506
+ function qu(e) {
4488
4507
  const t = nn(e);
4489
4508
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
4490
4509
  }
4491
- const $i = /* @__PURE__ */ new Set([
4510
+ const Li = /* @__PURE__ */ new Set([
4492
4511
  "co.uk",
4493
4512
  "org.uk",
4494
4513
  "gov.uk",
@@ -4498,14 +4517,14 @@ const $i = /* @__PURE__ */ new Set([
4498
4517
  "com.br",
4499
4518
  "co.za"
4500
4519
  ]);
4501
- function Li(e) {
4520
+ function Pi(e) {
4502
4521
  if (!e) return null;
4503
4522
  const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
4504
4523
  if (t.length < 2) return null;
4505
4524
  const n = t.slice(-2).join(".");
4506
- return $i.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
4525
+ return Li.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
4507
4526
  }
4508
- const Pi = /* @__PURE__ */ new Set([
4527
+ const Ki = /* @__PURE__ */ new Set([
4509
4528
  "gmail.com",
4510
4529
  "googlemail.com",
4511
4530
  "outlook.com",
@@ -4550,16 +4569,16 @@ const Pi = /* @__PURE__ */ new Set([
4550
4569
  "proximus.be",
4551
4570
  "scarlet.be"
4552
4571
  ]);
4553
- function Yu(e) {
4554
- const t = Li(e);
4555
- return t ? Pi.has(t) : !1;
4572
+ function Qu(e) {
4573
+ const t = Pi(e);
4574
+ return t ? Ki.has(t) : !1;
4556
4575
  }
4557
- function qu(e) {
4576
+ function Zu(e) {
4558
4577
  if (!e) return !1;
4559
4578
  const t = e.trim().toLowerCase();
4560
4579
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
4561
4580
  }
4562
- function Qu(e, t, n) {
4581
+ function Ju(e, t, n) {
4563
4582
  if (!e || !t) return null;
4564
4583
  const r = e.trim().toLowerCase();
4565
4584
  if (r === "tel" || r === "sms" || r === "whatsapp") {
@@ -4577,7 +4596,7 @@ function Qu(e, t, n) {
4577
4596
  const o = t.trim().toLowerCase();
4578
4597
  return o ? `${r}:${o}` : null;
4579
4598
  }
4580
- const Ki = [
4599
+ const Ui = [
4581
4600
  /<blockquote/i,
4582
4601
  /class="?gmail_quote/i,
4583
4602
  // Gmail quote container
@@ -4590,24 +4609,24 @@ const Ki = [
4590
4609
  // Outlook underscore separator before "From:"
4591
4610
  /\bOn\b[\s\S]{0,200}?\bwrote:/i
4592
4611
  // Gmail "On <date> <name> wrote:"
4593
- ], gt = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Ui = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
4594
- function Fi(e) {
4612
+ ], gt = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Fi = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
4613
+ function Bi(e) {
4595
4614
  const t = e.split(`
4596
4615
  `);
4597
4616
  for (let n = 0; n < t.length; n++)
4598
- if (Ui.test(t[n]) || gt.test(t[n]) && t.slice(n + 1, n + 4).some((r) => gt.test(r)))
4617
+ if (Fi.test(t[n]) || gt.test(t[n]) && t.slice(n + 1, n + 4).some((r) => gt.test(r)))
4599
4618
  return t.slice(0, n).join(`
4600
4619
  `).trim();
4601
4620
  return e;
4602
4621
  }
4603
- const Bi = /^(?:https?:|mailto:|tel:)/i, ji = /^(?:https?:|cid:|data:image\/)/i;
4622
+ const ji = /^(?:https?:|mailto:|tel:)/i, Hi = /^(?:https?:|cid:|data:image\/)/i;
4604
4623
  function de(e, t) {
4605
4624
  const n = e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`, "i"));
4606
4625
  return (n?.[1] ?? n?.[2] ?? n?.[3] ?? "").trim();
4607
4626
  }
4608
- const Hi = /(!\[[^\]]*\]\([^)]*\))/;
4627
+ const Gi = /(!\[[^\]]*\]\([^)]*\))/;
4609
4628
  function yt(e) {
4610
- return e.replace(/\s+/g, " ").trim().split(Hi).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
4629
+ return e.replace(/\s+/g, " ").trim().split(Gi).map((t, n) => n % 2 === 1 ? t : t.replace(/[[\]]/g, "\\$&")).join("");
4611
4630
  }
4612
4631
  function pe(e) {
4613
4632
  return e.replace(
@@ -4615,47 +4634,47 @@ function pe(e) {
4615
4634
  (t) => `%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2, "0")}`
4616
4635
  );
4617
4636
  }
4618
- function Gi(e) {
4637
+ function Wi(e) {
4619
4638
  return e.replace(/<img\b([^>]*?)\/?>/gi, (n, r) => {
4620
4639
  const o = de(r, "src");
4621
- return ji.test(o) ? `![${yt(de(r, "alt"))}](${pe(o)})` : "";
4640
+ return Hi.test(o) ? `![${yt(de(r, "alt"))}](${pe(o)})` : "";
4622
4641
  }).replace(
4623
4642
  /<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,
4624
4643
  (n, r, o) => {
4625
4644
  const i = yt(o.replace(/<[^>]*>/g, "")), s = de(r, "href");
4626
- return Bi.test(s) ? `[${i || pe(s)}](${pe(s)})` : i;
4645
+ return ji.test(s) ? `[${i || pe(s)}](${pe(s)})` : i;
4627
4646
  }
4628
4647
  );
4629
4648
  }
4630
- const Wi = /<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i, Vi = /<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi, zi = /<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;
4631
- function Xi(e, t) {
4649
+ const Vi = /<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i, zi = /<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi, Xi = /<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;
4650
+ function Yi(e, t) {
4632
4651
  return /<table\b/i.test(e) || e.includes(`
4633
4652
 
4634
4653
  |`) || t.includes("![") || t.length > 200;
4635
4654
  }
4636
- const Yi = 40, qi = { left: "---", center: ":---:", right: "---:" };
4637
- function Qi(e) {
4655
+ const qi = 40, Qi = { left: "---", center: ":---:", right: "---:" };
4656
+ function Zi(e) {
4638
4657
  const t = e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);
4639
4658
  return t ? t[1].toLowerCase() : "left";
4640
4659
  }
4641
- function Zi(e) {
4660
+ function Ji(e) {
4642
4661
  return e.replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().replace(/\|/g, "\\|");
4643
4662
  }
4644
- function Ji(e) {
4663
+ function es(e) {
4645
4664
  const t = [];
4646
- for (const s of e.matchAll(Vi)) {
4665
+ for (const s of e.matchAll(zi)) {
4647
4666
  const a = [];
4648
- for (const c of s[1].matchAll(zi)) {
4649
- const l = Zi(c[3]);
4650
- if (Xi(c[3], l)) return null;
4651
- a.push({ text: l, align: Qi(c[2]) });
4667
+ for (const c of s[1].matchAll(Xi)) {
4668
+ const u = Ji(c[3]);
4669
+ if (Yi(c[3], u)) return null;
4670
+ a.push({ text: u, align: Zi(c[2]) });
4652
4671
  }
4653
4672
  if (a.length === 0) return null;
4654
4673
  a.some((c) => c.text !== "") && t.push(a);
4655
4674
  }
4656
4675
  const n = t[0]?.length ?? 0;
4657
4676
  if (t.length < 2 || n < 2 || t.some((s) => s.length !== n)) return null;
4658
- const r = (s) => `| ${s.map((a) => a.text).join(" | ")} |`, o = t[1].map((s) => qi[s.align]).join(" | "), i = t.slice(1).map(r).join(`
4677
+ const r = (s) => `| ${s.map((a) => a.text).join(" | ")} |`, o = t[1].map((s) => Qi[s.align]).join(" | "), i = t.slice(1).map(r).join(`
4659
4678
  `);
4660
4679
  return `
4661
4680
 
@@ -4665,18 +4684,18 @@ ${i}
4665
4684
 
4666
4685
  `;
4667
4686
  }
4668
- function es(e) {
4687
+ function ts(e) {
4669
4688
  return e.replace(/<\/(t[dh])\s*>/gi, " ").replace(/<\/tr\s*>/gi, `
4670
4689
  `).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi, "").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi, "");
4671
4690
  }
4672
- function ts(e) {
4691
+ function ns(e) {
4673
4692
  let t = e;
4674
- for (let n = 0; n < Yi; n++) {
4675
- const r = Wi.exec(t);
4693
+ for (let n = 0; n < qi; n++) {
4694
+ const r = Vi.exec(t);
4676
4695
  if (!r || r.index === void 0) break;
4677
- const i = Ji(r[1]) ?? `
4696
+ const i = es(r[1]) ?? `
4678
4697
 
4679
- ${es(r[1])}
4698
+ ${ts(r[1])}
4680
4699
 
4681
4700
  `;
4682
4701
  t = t.slice(0, r.index) + i + t.slice(r.index + r[0].length);
@@ -4686,7 +4705,7 @@ ${es(r[1])}
4686
4705
  function bt(e, t) {
4687
4706
  let n = e;
4688
4707
  return n = n.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), n = n.replace(/<!--[\s\S]*?-->/g, ""), n = n.replace(/<br\s*\/?>/gi, `
4689
- `), t && (n = ts(Gi(n))), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
4708
+ `), t && (n = ns(Wi(n))), n = n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
4690
4709
 
4691
4710
  `), n = n.replace(/<\/(div|li|tr)>/gi, `
4692
4711
  `), n = n.replace(/<\/(td|th)>/gi, " "), n = n.replace(/<[^>]+>/g, ""), n = n.replace(/<[^>]*$/, ""), n;
@@ -4694,7 +4713,7 @@ function bt(e, t) {
4694
4713
  function At(e) {
4695
4714
  return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
4696
4715
  }
4697
- const ns = {
4716
+ const rs = {
4698
4717
  euro: "€",
4699
4718
  pound: "£",
4700
4719
  yen: "¥",
@@ -4717,7 +4736,7 @@ const ns = {
4717
4736
  apos: "'"
4718
4737
  };
4719
4738
  function _t(e) {
4720
- return e.replace(/&nbsp;/gi, " ").replace(/&([a-z]+);/gi, (t, n) => ns[n.toLowerCase()] ?? t).replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => At(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => At(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
4739
+ return e.replace(/&nbsp;/gi, " ").replace(/&([a-z]+);/gi, (t, n) => rs[n.toLowerCase()] ?? t).replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => At(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => At(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
4721
4740
  }
4722
4741
  function Et(e) {
4723
4742
  return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
@@ -4725,38 +4744,38 @@ function Et(e) {
4725
4744
 
4726
4745
  `).trim();
4727
4746
  }
4728
- const rs = /<\s*(html|body|div|p|table|br|span)\b/i;
4729
- function Zu(e) {
4730
- return rs.test(e);
4747
+ const os = /<\s*(html|body|div|p|table|br|span)\b/i;
4748
+ function ed(e) {
4749
+ return os.test(e);
4731
4750
  }
4732
- function Ju(e) {
4751
+ function td(e) {
4733
4752
  return rn(e, !1);
4734
4753
  }
4735
- function ed(e) {
4754
+ function nd(e) {
4736
4755
  return rn(e, !0);
4737
4756
  }
4738
4757
  function rn(e, t) {
4739
4758
  if (typeof e != "string" || !e) return "";
4740
4759
  let n = e.length;
4741
- for (const s of Ki) {
4760
+ for (const s of Ui) {
4742
4761
  const a = e.search(s);
4743
4762
  a >= 0 && a < n && (n = a);
4744
4763
  }
4745
4764
  const r = e.slice(0, n);
4746
4765
  let o = Et(_t(bt(r, t)));
4747
- return o || (o = Et(_t(bt(e, t)))), Fi(o) || o;
4766
+ return o || (o = Et(_t(bt(e, t)))), Bi(o) || o;
4748
4767
  }
4749
4768
  export {
4750
- Vs as ACTIVE_ASSIGNMENT_STATUSES,
4769
+ zs as ACTIVE_ASSIGNMENT_STATUSES,
4751
4770
  R as ACTIVITY_CATALOG,
4752
- Zo as AI_ATTACHMENT_LIMITS,
4753
- Pl as AI_ATTACHMENT_MAX_PER_TURN,
4754
- Ll as AI_ATTACHMENT_TURN_BUDGET,
4771
+ Jo as AI_ATTACHMENT_LIMITS,
4772
+ Ul as AI_ATTACHMENT_MAX_PER_TURN,
4773
+ Kl as AI_ATTACHMENT_TURN_BUDGET,
4755
4774
  Tt as AI_VENDORS,
4756
4775
  kn as ALLOWED_LINK_SCHEMES,
4757
- Su as APP_PERMISSIONS,
4776
+ Tu as APP_PERMISSIONS,
4758
4777
  He as ARTIFACT_MAX_BLOCKS,
4759
- Us as ARTIFACT_MAX_BODY_BYTES,
4778
+ Fs as ARTIFACT_MAX_BODY_BYTES,
4760
4779
  q as ARTIFACT_MAX_CELL_LEN,
4761
4780
  ze as ARTIFACT_MAX_KPI_ITEMS,
4762
4781
  Ge as ARTIFACT_MAX_LIST_ITEMS,
@@ -4764,37 +4783,37 @@ export {
4764
4783
  We as ARTIFACT_MAX_TABLE_ROWS,
4765
4784
  kt as ARTIFACT_MAX_TEXT_LEN,
4766
4785
  Ln as ASSIGNMENT_SCOPE_KIND,
4767
- jl as ASSIST_BANDS,
4768
- Bl as ASSIST_SOURCE_PROVIDER_GROUP,
4786
+ Gl as ASSIST_BANDS,
4787
+ Hl as ASSIST_SOURCE_PROVIDER_GROUP,
4769
4788
  ir as ATTENTION_STATUSES,
4770
4789
  wo as AT_RISK_GAP,
4771
4790
  en as AUTH_APP_NAME,
4772
4791
  io as AUTO_READY_MIN_PROPOSALS,
4773
4792
  so as AUTO_READY_RATE,
4774
4793
  hn as ActivityTypeRegistry,
4775
- Es as BUILT_IN_ONLY,
4794
+ Ss as BUILT_IN_ONLY,
4776
4795
  sr as BULK_PENALTY,
4777
- Ei as CADENCE_FLOOR_MS,
4778
- Si as CADENCE_MIN_NEW_SEGMENTS,
4779
- Ii as CADENCE_MIN_NOVELTY,
4780
- _i as CADENCE_WINDOW_MS,
4781
- pc as CLASSIFY_VARS,
4782
- cu as CONNECTOR_PROVIDER_GROUP,
4783
- lu as CONTEXT_COLLECT_SERVICE,
4784
- Rs as CORE_DIMENSIONS,
4785
- oi as CommunicationScheme,
4796
+ Si as CADENCE_FLOOR_MS,
4797
+ Ii as CADENCE_MIN_NEW_SEGMENTS,
4798
+ Ti as CADENCE_MIN_NOVELTY,
4799
+ Ei as CADENCE_WINDOW_MS,
4800
+ mc as CLASSIFY_VARS,
4801
+ uu as CONNECTOR_PROVIDER_GROUP,
4802
+ du as CONTEXT_COLLECT_SERVICE,
4803
+ Ds as CORE_DIMENSIONS,
4804
+ ii as CommunicationScheme,
4786
4805
  qn as DAY_MS,
4787
4806
  So as DEFAULT_CHECK_IN_DAYS,
4788
4807
  Kr as DEFAULT_FORECAST_WEEKS,
4789
- La as DEFAULT_MEMORY_BUDGET,
4790
- Oi as DEFAULT_PHONE_REGION,
4791
- cl as DEFAULT_QUOTE_TEMPLATE_BLOCKS,
4792
- za as DEMAND_SOURCE_PROVIDER_GROUP,
4793
- gu as DOCUMENT_APPLY_SERVICE,
4794
- mu as DOCUMENT_DESCRIBE_SERVICE,
4795
- hu as DOCUMENT_INSPECT_SERVICE,
4808
+ Ka as DEFAULT_MEMORY_BUDGET,
4809
+ xi as DEFAULT_PHONE_REGION,
4810
+ ul as DEFAULT_QUOTE_TEMPLATE_BLOCKS,
4811
+ Ya as DEMAND_SOURCE_PROVIDER_GROUP,
4812
+ bu as DOCUMENT_APPLY_SERVICE,
4813
+ gu as DOCUMENT_DESCRIBE_SERVICE,
4814
+ yu as DOCUMENT_INSPECT_SERVICE,
4796
4815
  He as DOCUMENT_MAX_BLOCKS,
4797
- Us as DOCUMENT_MAX_BODY_BYTES,
4816
+ Fs as DOCUMENT_MAX_BODY_BYTES,
4798
4817
  q as DOCUMENT_MAX_CELL_LEN,
4799
4818
  ze as DOCUMENT_MAX_KPI_ITEMS,
4800
4819
  Xe as DOCUMENT_MAX_LETTERHEAD_FIELDS,
@@ -4806,418 +4825,419 @@ export {
4806
4825
  Ye as DOCUMENT_MAX_TOTALS_ROWS,
4807
4826
  Qt as DOCUMENT_OPERATIONS,
4808
4827
  $o as DUTCH_SLOT_LABELS,
4809
- mc as EMPTY_WORKFLOW,
4810
- ou as FEATURE_FOLDER_MANAGEMENT,
4811
- su as FEATURE_MESSAGE_REACTIONS,
4812
- iu as FEATURE_REMOTE_SEARCH,
4828
+ gc as EMPTY_WORKFLOW,
4829
+ su as FEATURE_FOLDER_MANAGEMENT,
4830
+ cu as FEATURE_MESSAGE_REACTIONS,
4831
+ au as FEATURE_REMOTE_SEARCH,
4813
4832
  Ce as FIXED_KINDS,
4814
4833
  ne as FIXED_LEVELS,
4815
4834
  Ne as FIXED_TYPES,
4816
- ra as FIXED_UNITS,
4835
+ oa as FIXED_UNITS,
4817
4836
  cr as FOLLOW_UP_HOURS,
4818
- ol as FROZEN_WRITABLE_FIELDS,
4837
+ sl as FROZEN_WRITABLE_FIELDS,
4819
4838
  Yn as HOUR_MS,
4820
- rs as HTML_BODY_RE,
4839
+ os as HTML_BODY_RE,
4821
4840
  L as INELIGIBLE,
4822
- bu as INSTALLATION_HEADER,
4841
+ _u as INSTALLATION_HEADER,
4823
4842
  eo as INTERACTION_KIND,
4824
- nu as InteractionParticipantRole,
4843
+ ou as InteractionParticipantRole,
4825
4844
  gr as KB_FALLBACK_LOCALE,
4826
4845
  Ze as KB_LOCALES,
4827
4846
  Ze as LOCALES,
4828
4847
  Re as LOOSE_STATUSES,
4829
4848
  tr as MAIL_HINT_HEADERS,
4830
- as as MAX_ACTIONS,
4849
+ cs as MAX_ACTIONS,
4831
4850
  Pn as MAX_ASSIGNMENT_TURNS,
4832
- os as MAX_BLOCKS,
4851
+ is as MAX_BLOCKS,
4833
4852
  Dt as MAX_COLLECTION_DEPTH,
4834
- Ku as MAX_EDITABLE_FILE_BYTES,
4835
- is as MAX_FIELDS,
4836
- ss as MAX_LIST_ITEMS,
4837
- Na as MAX_MEMORY_BROWSE,
4838
- $a as MAX_MEMORY_BUDGET,
4839
- Ra as MAX_MEMORY_CHARS,
4840
- Ci as MAX_SHOWN_KEYS,
4853
+ Fu as MAX_EDITABLE_FILE_BYTES,
4854
+ ss as MAX_FIELDS,
4855
+ as as MAX_LIST_ITEMS,
4856
+ Da as MAX_MEMORY_BROWSE,
4857
+ Pa as MAX_MEMORY_BUDGET,
4858
+ $a as MAX_MEMORY_CHARS,
4859
+ Oi as MAX_SHOWN_KEYS,
4841
4860
  Oo as MAX_TOPIC_CANDIDATES,
4842
4861
  Co as MAX_TOPIC_EXAMPLES,
4843
4862
  ue as MAX_TOPIC_EXAMPLE_CHARS,
4844
- Uu as MAX_VIEWABLE_FILE_BYTES,
4845
- Da as MIN_MEMORY_BUDGET,
4846
- Wu as NAV_NOTICE_SLOT,
4847
- Ka as NL_TAX_RATES,
4848
- _u as NOTIFICATION_SOURCE_PROVIDER_GROUP,
4863
+ Bu as MAX_VIEWABLE_FILE_BYTES,
4864
+ La as MIN_MEMORY_BUDGET,
4865
+ zu as NAV_NOTICE_SLOT,
4866
+ Fa as NL_TAX_RATES,
4867
+ Su as NOTIFICATION_SOURCE_PROVIDER_GROUP,
4849
4868
  ko as OFF_TRACK_GAP,
4850
- Fa as ONBOARDING_SOURCE_PROVIDER_GROUP,
4869
+ ja as ONBOARDING_SOURCE_PROVIDER_GROUP,
4851
4870
  Ee as PAUSE_SNOOZED,
4852
4871
  Se as PAUSE_WAITING_FOR_CUSTOMER,
4853
4872
  De as PHONE_REGIONS,
4854
4873
  Zt as PRESENCE_ONLINE_WINDOW_MS,
4855
- di as PRESENCE_SURVIVES_OFFLINE,
4856
- Uo as PRODUCT_SCOPE_KIND,
4857
- ja as PROFILE_TOOL_DISPOSITIONS,
4858
- tu as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
4859
- eu as PROVIDER_FEATURE_MESSAGE_WINDOW,
4860
- Pi as PUBLIC_EMAIL_DOMAINS,
4874
+ pi as PRESENCE_SURVIVES_OFFLINE,
4875
+ Fo as PRODUCT_SCOPE_KIND,
4876
+ Ga as PROFILE_TOOL_DISPOSITIONS,
4877
+ ru as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
4878
+ nu as PROVIDER_FEATURE_MESSAGE_WINDOW,
4879
+ Ki as PUBLIC_EMAIL_DOMAINS,
4861
4880
  Je as READ_STEP_TYPES,
4862
4881
  Ar as RELATED_SUBJECT_KINDS,
4863
4882
  qt as RESERVED_STATUS_KEYS,
4864
- yl as RESERVED_TYPE_KEYS,
4865
- Ou as RESOURCE_ATTACHED_SERVICE,
4866
- Mu as RESOURCE_DESCRIBE_SERVICE,
4867
- Cu as RESOURCE_RESOLVE_SERVICE,
4868
- vu as RESOURCE_SEARCH_SERVICE,
4883
+ Al as RESERVED_TYPE_KEYS,
4884
+ Nu as RESOURCE_ATTACHED_SERVICE,
4885
+ Cu as RESOURCE_DESCRIBE_SERVICE,
4886
+ xu as RESOURCE_RESOLVE_SERVICE,
4887
+ Ou as RESOURCE_SEARCH_SERVICE,
4869
4888
  Gr as SCHEDULE_ENTRY_SCOPE_KIND,
4870
- Ru as SCOPE_READ_ROUTE,
4871
- Nu as SCOPE_RELATED_ROUTE,
4872
- Gu as SETTINGS_CATEGORIES,
4873
- oa as SIGNATURE_INTENTS,
4889
+ $u as SCOPE_READ_ROUTE,
4890
+ Du as SCOPE_RELATED_ROUTE,
4891
+ Vu as SETTINGS_CATEGORIES,
4892
+ ia as SIGNATURE_INTENTS,
4874
4893
  ar as SLA_HOURS_BY_PRIORITY,
4875
- kc as SLA_METRICS,
4876
- Mc as SLA_PAUSE_REASONS,
4894
+ vc as SLA_METRICS,
4895
+ Cc as SLA_PAUSE_REASONS,
4877
4896
  ro as STEP_MAX_TOKENS_MAX,
4878
4897
  no as STEP_MAX_TOKENS_MIN,
4879
4898
  _o as STRATEGY_ITEM_SCOPE_KIND,
4880
4899
  er as SUMMARY_MIN_LAST_CHARS,
4881
4900
  Jn as SUMMARY_MIN_MESSAGES,
4882
- Bu as SYNC_RUN_MAX_ERRORS,
4883
- Fu as SYNC_TARGET_PROVIDER_GROUP,
4901
+ Hu as SYNC_RUN_MAX_ERRORS,
4902
+ ju as SYNC_TARGET_PROVIDER_GROUP,
4884
4903
  $n as TERMINAL_ASSIGNMENT_STATUSES,
4885
4904
  ao as TERMINAL_RUN_STATUSES,
4886
4905
  Xt as TRANSACTION_KINDS,
4887
- Ko as TRANSACTION_SCOPE_KINDS,
4888
- dc as TRIGGER_VARS,
4906
+ Uo as TRANSACTION_SCOPE_KINDS,
4907
+ fc as TRIGGER_VARS,
4889
4908
  Sr as UNKNOWN_KIND,
4890
4909
  Eo as UNKNOWN_LEVEL_ORDER,
4891
- au as UNSUPPORTED,
4910
+ lu as UNSUPPORTED,
4892
4911
  En as USAGE_DIMENSIONS,
4893
4912
  Sn as USAGE_DIMENSION_IDS,
4894
4913
  Wr as WORKSTREAM_SCOPE_KIND,
4895
- Ho as WORK_ACTIVITY_SCOPE_KIND,
4896
- Ba as WORK_AREAS,
4897
- fl as WORK_COMMENT_ADDED,
4898
- Sl as WORK_CYCLE_SYNC_KIND,
4899
- ml as WORK_ITEM_ASSIGNED,
4900
- Bo as WORK_ITEM_SCOPE_KIND,
4901
- hl as WORK_ITEM_STATUS_CHANGED,
4902
- jo as WORK_PROJECT_SCOPE_KIND,
4914
+ Go as WORK_ACTIVITY_SCOPE_KIND,
4915
+ Ha as WORK_AREAS,
4916
+ hl as WORK_COMMENT_ADDED,
4917
+ Tl as WORK_CYCLE_SYNC_KIND,
4918
+ gl as WORK_ITEM_ASSIGNED,
4919
+ jo as WORK_ITEM_SCOPE_KIND,
4920
+ yl as WORK_ITEM_STATUS_CHANGED,
4921
+ Ho as WORK_PROJECT_SCOPE_KIND,
4903
4922
  J as W_PRIORITY,
4904
- tl as acceptExampleCandidate,
4923
+ rl as acceptExampleCandidate,
4905
4924
  Yr as actingIdentityKey,
4906
- Jc as activeWorkTypes,
4907
- ls as activityIconOf,
4908
- As as activityJoinUrl,
4925
+ tl as activeWorkTypes,
4926
+ us as activityIconOf,
4927
+ _s as activityJoinUrl,
4909
4928
  dn as activitySnippet,
4910
4929
  pn as activityTextParams,
4911
- bs as activityTimelineText,
4930
+ As as activityTimelineText,
4912
4931
  gn as activityTimestamp,
4913
4932
  w as activityTypeInfo,
4914
- ic as actorKey,
4915
- el as addExampleCandidate,
4933
+ ac as actorKey,
4934
+ nl as addExampleCandidate,
4916
4935
  Oe as addWorkingMs,
4917
- Tu as agePresenceEntry,
4918
- Qo as aiAttachmentKind,
4919
- Kl as aiAttachmentRejection,
4936
+ ku as agePresenceEntry,
4937
+ Zo as aiAttachmentKind,
4938
+ Fl as aiAttachmentRejection,
4920
4939
  je as aiBudgetLimit,
4921
- xs as aiBudgetPeriodKey,
4940
+ Ns as aiBudgetPeriodKey,
4922
4941
  yn as aiBudgetPeriodStart,
4923
- Os as aiBudgetState,
4924
- Cs as aiVendorAcceptsAttachment,
4925
- ks as aiVendorDefaultModel,
4926
- ws as aiVendorLabel,
4927
- vs as aiVendorNeedsBaseUrl,
4928
- Ms as aiVendorsWith,
4942
+ xs as aiBudgetState,
4943
+ Os as aiVendorAcceptsAttachment,
4944
+ Ms as aiVendorDefaultModel,
4945
+ ks as aiVendorLabel,
4946
+ Cs as aiVendorNeedsBaseUrl,
4947
+ vs as aiVendorsWith,
4929
4948
  Fn as allocate,
4930
4949
  tn as appNameFromPath,
4931
- Xc as applyRounding,
4932
- ia as applySignature,
4950
+ qc as applyRounding,
4951
+ sa as applySignature,
4933
4952
  oo as approvalRate,
4934
- Bs as artifactBodyBytes,
4935
- js as artifactOutline,
4953
+ js as artifactBodyBytes,
4954
+ Hs as artifactOutline,
4936
4955
  Dn as artifactToMarkdown,
4937
- lc as assignmentMismatch,
4938
- Xs as assignmentScopeKey,
4939
- Qs as assignmentSubject,
4940
- Va as availabilityByPerson,
4941
- Ha as belongsOnCalendar,
4942
- _s as buildActivityPreview,
4943
- Yl as buildChannelIntents,
4944
- Hs as buildShareKeys,
4945
- vi as buildWindow,
4956
+ dc as assignmentMismatch,
4957
+ Ys as assignmentScopeKey,
4958
+ Zs as assignmentSubject,
4959
+ Xa as availabilityByPerson,
4960
+ Wa as belongsOnCalendar,
4961
+ Es as buildActivityPreview,
4962
+ Ql as buildChannelIntents,
4963
+ Gs as buildShareKeys,
4964
+ Ci as buildWindow,
4946
4965
  Tr as calendarDaysBetween,
4947
4966
  xe as calendarOf,
4948
- ka as canNestUnder,
4949
- $c as canParent,
4950
- Ga as capacityTotal,
4951
- tc as capacityWeights,
4952
- ms as carriesText,
4953
- va as categoryLabel,
4954
- Vo as categoryOf,
4955
- Jl as channelKindForScheme,
4956
- us as channelKindOf,
4957
- Wc as checkInOverdueMs,
4958
- fc as clampStepMaxTokens,
4959
- ma as classifyMail,
4960
- ed as cleanMessageMarkdown,
4961
- Ju as cleanMessageText,
4962
- Js as codeQuery,
4963
- Gl as compareAssistRank,
4967
+ va as canNestUnder,
4968
+ Pc as canParent,
4969
+ Va as capacityTotal,
4970
+ rc as capacityWeights,
4971
+ hs as carriesText,
4972
+ Oa as categoryLabel,
4973
+ zo as categoryOf,
4974
+ tu as channelKindForScheme,
4975
+ ds as channelKindOf,
4976
+ zc as checkInOverdueMs,
4977
+ hc as clampStepMaxTokens,
4978
+ ga as classifyMail,
4979
+ nd as cleanMessageMarkdown,
4980
+ td as cleanMessageText,
4981
+ ea as codeQuery,
4982
+ Vl as compareAssistRank,
4964
4983
  vo as compareWorkTypes,
4965
4984
  Xn as conditionHolds,
4966
4985
  Do as copyFrom,
4967
4986
  W as countsAsPlanned,
4968
- Wa as coverageByPerson,
4969
- Ya as coverageFor,
4987
+ za as coverageByPerson,
4988
+ Qa as coverageFor,
4970
4989
  Lt as coversWorkstream,
4971
4990
  Pt as cycleDayIndex,
4972
- Dl as cycleOrder,
4973
- $l as cycleState,
4974
- Zs as decideAssignmentState,
4975
- Hu as decideCadence,
4976
- zl as decideIncomingCall,
4991
+ Ll as cycleOrder,
4992
+ Pl as cycleState,
4993
+ Js as decideAssignmentState,
4994
+ Wu as decideCadence,
4995
+ Yl as decideIncomingCall,
4977
4996
  yr as defaultLocaleOf,
4978
- Ol as defaultStatusKey,
4979
- ru as defineIntent,
4997
+ Nl as defaultStatusKey,
4998
+ iu as defineIntent,
4980
4999
  mr as depthOf,
4981
- Iu as derivePresence,
4982
- Ls as describeClause,
4983
- Xl as disabledIntentsFromCapabilities,
4984
- Bs as documentBodyBytes,
4985
- yu as documentKindOf,
4986
- js as documentOutline,
5000
+ wu as derivePresence,
5001
+ Ps as describeClause,
5002
+ ql as disabledIntentsFromCapabilities,
5003
+ js as documentBodyBytes,
5004
+ Au as documentKindOf,
5005
+ Hs as documentOutline,
4987
5006
  Dn as documentToMarkdown,
4988
- fu as documentToText,
4989
- Cc as dueAtOf,
4990
- zc as elapsedSeconds,
4991
- Xu as emailDomain,
4992
- Qu as endpointKey,
5007
+ hu as documentToText,
5008
+ xc as dueAtOf,
5009
+ Yc as elapsedSeconds,
5010
+ qu as emailDomain,
5011
+ Ju as endpointKey,
4993
5012
  vr as erlangC,
4994
- mi as extractParams,
4995
- ki as extractTerms,
4996
- la as fillDocument,
5013
+ hi as extractParams,
5014
+ Mi as extractTerms,
5015
+ ua as fillDocument,
4997
5016
  zn as fillText,
4998
- Ql as filterByEndpoint,
4999
- ql as filterByIntent,
5000
- ri as filterByTargetScheme,
5001
- $s as filterableDimensions,
5017
+ Jl as filterByEndpoint,
5018
+ Zl as filterByIntent,
5019
+ oi as filterByTargetScheme,
5020
+ Ls as filterableDimensions,
5002
5021
  te as findAiVendor,
5003
- Pc as fixedLevelForName,
5004
- _l as fixedTypeForName,
5005
- El as fixedTypes,
5006
- Au as flattenLocales,
5022
+ Uc as fixedLevelForName,
5023
+ Sl as fixedTypeForName,
5024
+ Il as fixedTypes,
5025
+ Eu as flattenLocales,
5007
5026
  H as floorToPeriod,
5008
- Za as forecastIntervals,
5027
+ ec as forecastIntervals,
5009
5028
  Xr as formatActingIdentity,
5010
5029
  D as formatCents,
5011
- qc as formatClock,
5012
- Yc as formatHm,
5013
- Tl as formatItemKey,
5030
+ Zc as formatClock,
5031
+ Qc as formatHm,
5032
+ kl as formatItemKey,
5014
5033
  j as formatPeriod,
5015
- Nc as formatSlaDuration,
5016
- Fl as freshSources,
5017
- Ss as getActivitySeenUserIds,
5018
- sa as getContactEndpoints,
5019
- Ea as getShortTitle,
5020
- _a as getUrgencyScore,
5021
- Ic as hasReacted,
5022
- Kc as healthCategory,
5023
- Uc as healthsInCategory,
5034
+ Dc as formatSlaDuration,
5035
+ jl as freshSources,
5036
+ Is as getActivitySeenUserIds,
5037
+ aa as getContactEndpoints,
5038
+ Ia as getShortTitle,
5039
+ Sa as getUrgencyScore,
5040
+ wc as hasReacted,
5041
+ Fc as healthCategory,
5042
+ Bc as healthsInCategory,
5024
5043
  $t as heightOf,
5025
- Ia as helpCenterText,
5026
- uc as humanizeAction,
5044
+ wa as helpCenterText,
5045
+ pc as humanizeAction,
5027
5046
  to as interactionIdOf,
5028
- pl as isAgentUser,
5029
- ba as isAssigned,
5030
- zs as isAssignmentTerminal,
5047
+ ml as isAgentUser,
5048
+ _a as isAssigned,
5049
+ Xs as isAssignmentTerminal,
5031
5050
  Zr as isAssignmentTrigger,
5032
- yc as isAutoReady,
5051
+ Ac as isAutoReady,
5033
5052
  fr as isAwaitingThem,
5034
- Ts as isChatMessageActivity,
5035
- Aa as isClosed,
5036
- gs as isConnectedType,
5037
- Du as isDeepLink,
5053
+ ws as isChatMessageActivity,
5054
+ Ea as isClosed,
5055
+ ys as isConnectedType,
5056
+ Lu as isDeepLink,
5038
5057
  hr as isDescendant,
5039
- ua as isEligible,
5040
- Is as isEmailActivity,
5041
- rl as isFrozen,
5042
- Zu as isHtmlBody,
5043
- Ac as isInFlight,
5058
+ pa as isEligible,
5059
+ Ts as isEmailActivity,
5060
+ il as isFrozen,
5061
+ ed as isHtmlBody,
5062
+ Ec as isInFlight,
5044
5063
  or as isInteractionUnseen,
5045
- $u as isLandingPath,
5064
+ Pu as isLandingPath,
5046
5065
  Zn as isLikelyBulk,
5047
5066
  St as isMessageShape,
5048
- ds as isMessageType,
5049
- gi as isMoreSpecificPattern,
5067
+ ps as isMessageType,
5068
+ yi as isMoreSpecificPattern,
5050
5069
  It as isNoteShape,
5051
5070
  Ao as isOpenClock,
5052
- Ul as isOutwardTool,
5071
+ Bl as isOutwardTool,
5053
5072
  ur as isParked,
5054
5073
  co as isPaused,
5055
- hs as isPlaybookAuthoredType,
5056
- Yu as isPublicEmailDomain,
5057
- Pu as isPublicPath,
5074
+ gs as isPlaybookAuthoredType,
5075
+ Qu as isPublicEmailDomain,
5076
+ Uu as isPublicPath,
5058
5077
  dr as isReminderActive,
5059
- fs as isReplyableType,
5060
- ga as isSlaAtRisk,
5061
- bc as isTerminal,
5062
- pa as isThreadLongEnough,
5063
- ys as isTranscriptType,
5064
- xl as isWorkClosed,
5065
- Zc as isWorkTypeVisible,
5066
- Ml as itemDossierKeys,
5078
+ ms as isReplyableType,
5079
+ ba as isSlaAtRisk,
5080
+ _c as isTerminal,
5081
+ ma as isThreadLongEnough,
5082
+ bs as isTranscriptType,
5083
+ Rl as isWorkClosed,
5084
+ el as isWorkTypeVisible,
5085
+ Cl as itemDossierKeys,
5067
5086
  N as kindFor,
5068
- Wo as ladderFor,
5087
+ Vo as ladderFor,
5069
5088
  Io as levelIn,
5070
5089
  Te as levelOrder,
5071
5090
  Er as lineNet,
5072
- Sa as linkLabel,
5073
- Ns as listeningAllowed,
5074
- wa as localeInstruction,
5075
- Ta as localeName,
5076
- Ma as localesOf,
5077
- Vu as looksLikeEmail,
5091
+ Ta as linkLabel,
5092
+ Rs as listeningAllowed,
5093
+ Ma as localeInstruction,
5094
+ ka as localeName,
5095
+ Ca as localesOf,
5096
+ Xu as looksLikeEmail,
5078
5097
  Ct as lookup,
5079
- ta as marginCents,
5080
- pu as markdownToDocument,
5081
- Zl as matchContactToIntents,
5082
- yi as matchPublicRoute,
5083
- Oa as mcpCredentialScope,
5084
- xa as mcpToolPrefix,
5085
- Fc as measureRatio,
5086
- ju as mergeShownKeys,
5098
+ na as marginCents,
5099
+ mu as markdownToDocument,
5100
+ eu as matchContactToIntents,
5101
+ bi as matchPublicRoute,
5102
+ Na as mcpCredentialScope,
5103
+ Ra as mcpToolPrefix,
5104
+ jc as measureRatio,
5105
+ Gu as mergeShownKeys,
5087
5106
  un as messageCountsAs,
5088
- Ps as metricOption,
5107
+ Ks as metricOption,
5089
5108
  Kt as minutesOn,
5090
- qu as needsPhoneRegion,
5091
- ps as nestsUnderParent,
5092
- Lc as nextLevelBelow,
5093
- Oc as nextSlaClock,
5094
- il as nextVersion,
5095
- Fs as normalizeArtifactBlocks,
5096
- cs as normalizeBlocks,
5097
- Fs as normalizeDocumentBlocks,
5109
+ Zu as needsPhoneRegion,
5110
+ fs as nestsUnderParent,
5111
+ Kc as nextLevelBelow,
5112
+ Nc as nextSlaClock,
5113
+ al as nextVersion,
5114
+ Bs as normalizeArtifactBlocks,
5115
+ ls as normalizeBlocks,
5116
+ Bs as normalizeDocumentBlocks,
5098
5117
  nn as normalizeEmail,
5099
5118
  P as normalizeExample,
5100
5119
  Kn as normalizeGtin,
5101
- Eu as notificationPrefKey,
5102
- Mi as novelty,
5103
- du as operationDescriptor,
5104
- uu as operationsForKind,
5120
+ Iu as notificationPrefKey,
5121
+ vi as novelty,
5122
+ fu as operationDescriptor,
5123
+ pu as operationsForKind,
5124
+ da as organizationSender,
5105
5125
  ce as overlapSeconds,
5106
- Xa as overlaps,
5107
- Bc as paceRatio,
5108
- da as parkMarksById,
5109
- rc as parseActingIdentity,
5110
- ea as parseAmount,
5111
- Tc as parseClockMinutes,
5112
- wl as parseItemKey,
5113
- fi as pathToRegex,
5126
+ qa as overlaps,
5127
+ Hc as paceRatio,
5128
+ fa as parkMarksById,
5129
+ ic as parseActingIdentity,
5130
+ ta as parseAmount,
5131
+ kc as parseClockMinutes,
5132
+ Ml as parseItemKey,
5133
+ mi as pathToRegex,
5114
5134
  Ft as patternFor,
5115
5135
  Ut as patternStartTime,
5116
- wc as pauseBitFor,
5117
- Ds as periodsInRange,
5118
- zu as phoneSuffix,
5119
- fa as pickMailHeaders,
5120
- ca as pickTemplate,
5121
- nc as placeLumps,
5136
+ Mc as pauseBitFor,
5137
+ $s as periodsInRange,
5138
+ Yu as phoneSuffix,
5139
+ ha as pickMailHeaders,
5140
+ la as pickTemplate,
5141
+ oc as placeLumps,
5122
5142
  cn as plainTextFromMarkdown,
5123
- vc as planSlaEvent,
5124
- qa as plannedBillable,
5143
+ Oc as planSlaEvent,
5144
+ Za as plannedBillable,
5125
5145
  Lr as plannedWorkTypeKey,
5126
5146
  Qr as playbookActor,
5127
- gc as procedureOf,
5128
- ul as productScopeKey,
5129
- vl as projectDossierKeys,
5130
- hi as publicBasePathFor,
5131
- Lu as publicRoutePatterns,
5132
- qs as reactionWakesAssignment,
5147
+ bc as procedureOf,
5148
+ pl as productScopeKey,
5149
+ Ol as projectDossierKeys,
5150
+ gi as publicBasePathFor,
5151
+ Ku as publicRoutePatterns,
5152
+ Qs as reactionWakesAssignment,
5133
5153
  fe as readPath,
5134
5154
  et as readStepError,
5135
5155
  lr as recencyOf,
5136
- aa as recipientLocale,
5156
+ ca as recipientLocale,
5137
5157
  Jr as refKey,
5138
- Li as registrableDomain,
5158
+ Pi as registrableDomain,
5139
5159
  No as rejectExampleCandidate,
5140
- Pa as relatedByDefault,
5160
+ Ua as relatedByDefault,
5141
5161
  Ie as remainingMsOf,
5142
5162
  xr as requiredAgents,
5143
5163
  $r as requirementFor,
5144
- ti as resolveAccountCapabilities,
5164
+ ni as resolveAccountCapabilities,
5145
5165
  me as resolveActivityText,
5146
- ei as resolveChannelIntents,
5147
- na as resolvePrice,
5166
+ ti as resolveChannelIntents,
5167
+ ra as resolvePrice,
5148
5168
  Gn as resolveSignature,
5149
- wu as resolveWorkMode,
5150
- xu as resourceKindOf,
5151
- Gc as rollupChildren,
5169
+ Mu as resolveWorkMode,
5170
+ Ru as resourceKindOf,
5171
+ Vc as rollupChildren,
5152
5172
  G as roundHalfUp,
5153
- oc as runActor,
5154
- Ec as runInteractionId,
5173
+ sc as runActor,
5174
+ Ic as runInteractionId,
5155
5175
  On as sanitizeInline,
5156
- Ai as sanitizeTranscript,
5157
- Ja as scheduleEntryScopeKey,
5158
- ya as scoreInteraction,
5159
- gl as scoreWorkItem,
5160
- Ca as selectLenses,
5176
+ _i as sanitizeTranscript,
5177
+ tc as scheduleEntryScopeKey,
5178
+ Aa as scoreInteraction,
5179
+ bl as scoreWorkItem,
5180
+ xa as selectLenses,
5161
5181
  Cr as serviceLevel,
5162
- Vl as sessionsHoldCannotReach,
5163
- Wl as sessionsToHold,
5182
+ Xl as sessionsHoldCannotReach,
5183
+ zl as sessionsToHold,
5164
5184
  vt as shareKeyForTeam,
5165
5185
  Mt as shareKeyForUser,
5166
- Gs as shareKeysForViewer,
5167
- Qa as shortfalls,
5168
- ku as shouldRunAudioPipeline,
5169
- xc as slaBadgeTone,
5170
- ha as slaHoursByInbox,
5186
+ Ws as shareKeysForViewer,
5187
+ Ja as shortfalls,
5188
+ vu as shouldRunAudioPipeline,
5189
+ Rc as slaBadgeTone,
5190
+ ya as slaHoursByInbox,
5171
5191
  pr as slaHoursFor,
5172
- zo as sortStatuses,
5173
- Jo as sourceKey,
5192
+ Xo as sortStatuses,
5193
+ ei as sourceKey,
5174
5194
  zr as spreadOverWeights,
5175
- Cl as statusIn,
5176
- hc as stepsOf,
5177
- Dc as strategyAncestorKeysFor,
5178
- Rc as strategyDossierKeys,
5195
+ xl as statusIn,
5196
+ yc as stepsOf,
5197
+ Lc as strategyAncestorKeysFor,
5198
+ $c as strategyDossierKeys,
5179
5199
  zt as strategyItemScopeKey,
5180
5200
  ln as stripHtml,
5181
- _c as subjectKeyOf,
5201
+ Sc as subjectKeyOf,
5182
5202
  Bt as subjectOf,
5183
- Hl as subjectRef,
5184
- kl as suggestProjectKey,
5185
- jc as suggestedHealth,
5186
- Sc as summarizeReactions,
5187
- cc as targetById,
5188
- ac as targetForActivityType,
5189
- Vc as targetOrder,
5203
+ Wl as subjectRef,
5204
+ vl as suggestProjectKey,
5205
+ Gc as suggestedHealth,
5206
+ Tc as summarizeReactions,
5207
+ uc as targetById,
5208
+ lc as targetForActivityType,
5209
+ Xc as targetOrder,
5190
5210
  _r as taxRateFor,
5191
5211
  wr as termsFor,
5192
5212
  qr as toActingIdentity,
5193
5213
  ht as toE164,
5194
- Ws as toolSourceKinds,
5214
+ Vs as toolSourceKinds,
5195
5215
  Ro as topicOfferedForTeam,
5196
- nl as topicsForTeam,
5216
+ ol as topicsForTeam,
5197
5217
  Or as trafficIntensity,
5198
- sl as transactionContext,
5199
- dl as transactionIdFromScope,
5218
+ cl as transactionContext,
5219
+ fl as transactionIdFromScope,
5200
5220
  ke as transactionKind,
5201
- ll as transactionScopeKey,
5202
- al as transactionSlots,
5203
- Ua as transactionTotals,
5221
+ dl as transactionScopeKey,
5222
+ ll as transactionSlots,
5223
+ Ba as transactionTotals,
5204
5224
  xo as truncateExample,
5205
- Al as typeIn,
5206
- bl as typesFor,
5207
- Nl as uniqueWorkStatusKey,
5208
- Qc as uniqueWorkTypeKey,
5225
+ El as typeIn,
5226
+ _l as typesFor,
5227
+ Dl as uniqueWorkStatusKey,
5228
+ Jc as uniqueWorkTypeKey,
5209
5229
  In as usageMetricId,
5210
- Ks as usageMetrics,
5211
- Rl as validateStatuses,
5212
- sc as valueAtPath,
5230
+ Us as usageMetrics,
5231
+ $l as validateStatuses,
5232
+ cc as valueAtPath,
5213
5233
  ve as waitHoursOf,
5214
- Ys as wakesAssignment,
5215
- Il as workActivityScopeKey,
5216
- Go as workItemScopeKey,
5234
+ qs as wakesAssignment,
5235
+ wl as workActivityScopeKey,
5236
+ Wo as workItemScopeKey,
5217
5237
  Yt as workProjectScopeKey,
5218
- Hc as workRatio,
5219
- Xo as workStatusKey,
5238
+ Wc as workRatio,
5239
+ Yo as workStatusKey,
5220
5240
  Mo as workTypeKey,
5221
5241
  _e as workingMsBetween,
5222
- ec as workstreamScopeKey
5242
+ nc as workstreamScopeKey
5223
5243
  };