@opencxh/domain 1.195.0 → 1.197.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 Yn = 10, qn = 10, Jn = 10, Zn = 5, ve = /* @__PURE__ */ new Set([
1
+ const qn = 10, Jn = 10, Zn = 10, Qn = 5, ve = /* @__PURE__ */ new Set([
2
2
  "header",
3
3
  "section",
4
4
  "context",
@@ -14,7 +14,7 @@ function w(e) {
14
14
  const t = e;
15
15
  return typeof t.key == "string" || typeof t.value == "string";
16
16
  }
17
- function Qn(e, t = () => {
17
+ function er(e, t = () => {
18
18
  }) {
19
19
  if (!Array.isArray(e)) return [];
20
20
  const n = [];
@@ -59,9 +59,9 @@ function Qn(e, t = () => {
59
59
  i.items.length > 10 && (t("more than 10 list items"), i.items = i.items.slice(0, 10));
60
60
  break;
61
61
  case "actions": {
62
- const a = Array.isArray(i.elements) ? i.elements : [], o = a.filter((s) => s?.action_id && s.invoke && w(s.text));
63
- if (o.length !== a.length && t("an action without action_id, invoke or text"), o.length === 0) continue;
64
- o.length > 5 && t("more than 5 actions"), i.elements = o.slice(0, 5);
62
+ const o = Array.isArray(i.elements) ? i.elements : [], a = o.filter((s) => s?.action_id && s.invoke && w(s.text));
63
+ if (a.length !== o.length && t("an action without action_id, invoke or text"), a.length === 0) continue;
64
+ a.length > 5 && t("more than 5 actions"), i.elements = a.slice(0, 5);
65
65
  break;
66
66
  }
67
67
  }
@@ -445,22 +445,22 @@ function P(e) {
445
445
  function d(e) {
446
446
  return m[e];
447
447
  }
448
- function er(e) {
448
+ function tr(e) {
449
449
  return d(e)?.icon ?? "circle";
450
450
  }
451
- function tr(e) {
451
+ function nr(e) {
452
452
  return d(e)?.channelKind;
453
453
  }
454
454
  function le(e) {
455
455
  return e === "message" || e === "note";
456
456
  }
457
- function nr(e) {
457
+ function rr(e) {
458
458
  return le(d(e)?.shape);
459
459
  }
460
- function rr(e) {
460
+ function ir(e) {
461
461
  return d(e)?.replyable === !0;
462
462
  }
463
- function ir(e) {
463
+ function or(e) {
464
464
  return d(e)?.carriesText === !0;
465
465
  }
466
466
  function Re(e) {
@@ -469,10 +469,10 @@ function Re(e) {
469
469
  function ar(e) {
470
470
  return d(e)?.playbookAuthored === !0;
471
471
  }
472
- function or(e) {
472
+ function sr(e) {
473
473
  return d(e)?.connected === !0;
474
474
  }
475
- function sr(e) {
475
+ function cr(e) {
476
476
  const t = d(e);
477
477
  return t?.shape === "artifact" && t?.carriesText === !0;
478
478
  }
@@ -480,11 +480,11 @@ function $e(e) {
480
480
  const t = d(e.type)?.snippet;
481
481
  return t ? t(e) : "";
482
482
  }
483
- function cr(e, t) {
483
+ function lr(e, t) {
484
484
  const n = d(e.type)?.timeline;
485
485
  return n ? n(e, t) : e.type.replace(/_/g, " ").toLowerCase();
486
486
  }
487
- function lr(e) {
487
+ function ur(e) {
488
488
  const t = d(e.type)?.joinUrl;
489
489
  return t ? t(e) : void 0;
490
490
  }
@@ -502,8 +502,8 @@ function N(e, t, n) {
502
502
  if ("value" in e)
503
503
  return v(t, e.value) || null;
504
504
  const r = {};
505
- for (const [a, o] of Object.entries(e.params ?? {}))
506
- r[a] = v(t, o);
505
+ for (const [o, a] of Object.entries(e.params ?? {}))
506
+ r[o] = v(t, a);
507
507
  const i = n(e.key, r);
508
508
  return i === e.key ? null : i;
509
509
  }
@@ -519,7 +519,7 @@ function De(e) {
519
519
  const t = e.trim();
520
520
  return t.length <= U ? t : `${t.slice(0, U - 1).trimEnd()}…`;
521
521
  }
522
- function ur(e, t) {
522
+ function dr(e, t) {
523
523
  const n = xe(t?.text, e), r = t ? N(t.text, e, (i) => i) : null;
524
524
  return {
525
525
  activityId: e.id,
@@ -649,20 +649,20 @@ class Pe {
649
649
  return this.translate;
650
650
  }
651
651
  }
652
- const dr = new Pe();
653
- function pr(e, t, n = []) {
652
+ const pr = new Pe();
653
+ function fr(e, t, n = []) {
654
654
  const r = e.createdAt;
655
655
  if (!r) return [];
656
656
  const i = new Set(n);
657
- return e.author.type === "user" && e.author.id && i.add(e.author.id), Object.entries(t).filter(([a, o]) => o >= r && !i.has(a)).map(([a]) => a);
657
+ return e.author.type === "user" && e.author.id && i.add(e.author.id), Object.entries(t).filter(([o, a]) => a >= r && !i.has(o)).map(([o]) => o);
658
658
  }
659
659
  function Ue(e) {
660
660
  return e.createdAt ?? 0;
661
661
  }
662
- function fr(e) {
662
+ function mr(e) {
663
663
  return e.type === "EMAIL_RECEIVED" || e.type === "EMAIL_SENT";
664
664
  }
665
- function mr(e) {
665
+ function gr(e) {
666
666
  return e.type === "CHAT_MESSAGE_SENT" || e.type === "CHAT_MESSAGE_RECEIVED";
667
667
  }
668
668
  const ue = [
@@ -758,23 +758,23 @@ const ue = [
758
758
  function T(e) {
759
759
  return ue.find((t) => t.id === e);
760
760
  }
761
- function gr(e) {
761
+ function hr(e) {
762
762
  return T(e)?.label ?? e;
763
763
  }
764
- function hr(e, t = "gpt-5-mini") {
764
+ function yr(e, t = "gpt-5-mini") {
765
765
  return T(e)?.defaultModel ?? t;
766
766
  }
767
- function yr(e) {
767
+ function Ar(e) {
768
768
  return ue.filter((t) => t.capabilities.includes(e));
769
769
  }
770
- function Ar(e) {
770
+ function br(e) {
771
771
  const t = T(e);
772
772
  return !!t && !t.baseUrl;
773
773
  }
774
- function br(e, t) {
774
+ function Er(e, t) {
775
775
  return t === "text" ? !0 : T(e)?.attachmentKinds?.includes(t) === !0;
776
776
  }
777
- function Er(e, t) {
777
+ function Sr(e, t) {
778
778
  if (!e.enabled) return "ok";
779
779
  const n = G(e.hardLimitNanos), r = G(e.softLimitNanos);
780
780
  return n !== void 0 && t >= n ? "hard" : r !== void 0 && t >= r ? "soft" : "ok";
@@ -786,14 +786,14 @@ function Ke(e, t = "month") {
786
786
  const n = new Date(e);
787
787
  return Date.UTC(n.getUTCFullYear(), n.getUTCMonth(), 1);
788
788
  }
789
- function Sr(e, t = "month") {
789
+ function _r(e, t = "month") {
790
790
  const n = new Date(Ke(e, t));
791
791
  return `${n.getUTCFullYear()}-${String(n.getUTCMonth() + 1).padStart(2, "0")}`;
792
792
  }
793
- function _r(e) {
793
+ function Tr(e) {
794
794
  return e?.listeningEnabled !== !1;
795
795
  }
796
- const Tr = [
796
+ const Ir = [
797
797
  { id: "agent", label: "Agent", labelSource: "user" },
798
798
  { id: "team", label: "Team", labelSource: "team" },
799
799
  { id: "inbox", label: "Inbox", labelSource: "inbox" },
@@ -815,35 +815,35 @@ function Ge(e, t) {
815
815
  return n.setUTCMinutes(0, 0, 0), t === "day" && n.setUTCHours(0), n.getTime();
816
816
  }
817
817
  const Be = 36e5, He = 864e5;
818
- function Ir(e, t, n) {
818
+ function wr(e, t, n) {
819
819
  const r = n === "hour" ? Be : He, i = [];
820
- for (let a = Ge(e, n); a <= t; a += r)
821
- i.push(je(a, n));
820
+ for (let o = Ge(e, n); o <= t; o += r)
821
+ i.push(je(o, n));
822
822
  return i;
823
823
  }
824
824
  const Fe = [
825
825
  { id: "resource", label: "Resource", labelSource: "raw" },
826
826
  { id: "origin", label: "Herkomst", labelSource: "raw" }
827
- ], We = Fe.map((e) => e.id);
828
- function Ve(e, t) {
827
+ ], Ve = Fe.map((e) => e.id);
828
+ function We(e, t) {
829
829
  return `${e}.usage.${t}`;
830
830
  }
831
- function wr(e, t) {
831
+ function Mr(e, t) {
832
832
  return t.map((n) => ({
833
- id: Ve(e, n.unit),
833
+ id: We(e, n.unit),
834
834
  label: n.label,
835
835
  category: "Verbruik",
836
836
  valueType: n.valueType ?? "count",
837
837
  aggregation: "sum",
838
838
  supportedDimensions: [
839
839
  "provider",
840
- ...We,
840
+ ...Ve,
841
841
  ...n.extraDimensions ?? [],
842
842
  "time"
843
843
  ]
844
844
  }));
845
845
  }
846
- const de = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), B = 200, H = 100, F = 200, W = 12, V = 4, pe = 4e3, C = 500, Mr = 256 * 1024, ze = /* @__PURE__ */ new Set([
846
+ const de = /* @__PURE__ */ new Set(["info", "success", "warning", "destructive"]), B = 200, H = 100, F = 200, V = 12, W = 4, pe = 4e3, C = 500, kr = 256 * 1024, ze = /* @__PURE__ */ new Set([
847
847
  "heading",
848
848
  "paragraph",
849
849
  "list",
@@ -869,31 +869,31 @@ function Je(e) {
869
869
  t += e[n], n += 1;
870
870
  continue;
871
871
  }
872
- const i = n + (r ? 2 : 1), a = z(e, i, "[", "]");
873
- if (a < 0 || e[a + 1] !== "(") {
872
+ const i = n + (r ? 2 : 1), o = z(e, i, "[", "]");
873
+ if (o < 0 || e[o + 1] !== "(") {
874
874
  t += e[n], n += 1;
875
875
  continue;
876
876
  }
877
- const o = z(e, a + 2, "(", ")");
878
- if (o < 0) {
877
+ const a = z(e, o + 2, "(", ")");
878
+ if (a < 0) {
879
879
  t += e[n], n += 1;
880
880
  continue;
881
881
  }
882
- const s = e.slice(i, a), c = e.slice(a + 2, o).trim().split(/\s+/)[0] ?? "";
883
- t += r || !fe(c) ? s : e.slice(n, o + 1), n = o + 1;
882
+ const s = e.slice(i, o), c = e.slice(o + 2, a).trim().split(/\s+/)[0] ?? "";
883
+ t += r || !fe(c) ? s : e.slice(n, a + 1), n = a + 1;
884
884
  }
885
885
  return t;
886
886
  }
887
887
  function z(e, t, n, r) {
888
888
  let i = 1;
889
- for (let a = t; a < e.length; a += 1) {
890
- if (e[a] === "\\") {
891
- a += 1;
889
+ for (let o = t; o < e.length; o += 1) {
890
+ if (e[o] === "\\") {
891
+ o += 1;
892
892
  continue;
893
893
  }
894
- if (e[a] === n) i += 1;
895
- else if (e[a] === r && (i -= 1, i === 0))
896
- return a;
894
+ if (e[o] === n) i += 1;
895
+ else if (e[o] === r && (i -= 1, i === 0))
896
+ return o;
897
897
  }
898
898
  return -1;
899
899
  }
@@ -912,7 +912,7 @@ function Qe(e, t = pe) {
912
912
  function et(e, t = "info") {
913
913
  return typeof e == "string" && de.has(e) ? e : t;
914
914
  }
915
- function kr(e, t = () => {
915
+ function Cr(e, t = () => {
916
916
  }) {
917
917
  if (!Array.isArray(e)) return [];
918
918
  const n = [];
@@ -927,52 +927,52 @@ function kr(e, t = () => {
927
927
  t(`unknown block type ${String(i.type)}`);
928
928
  continue;
929
929
  }
930
- const a = typeof i.block_id == "string" ? { block_id: i.block_id } : {};
930
+ const o = typeof i.block_id == "string" ? { block_id: i.block_id } : {};
931
931
  switch (i.type) {
932
932
  case "heading": {
933
- const o = u(i.text);
934
- if (!o) {
933
+ const a = u(i.text);
934
+ if (!a) {
935
935
  t("a heading without text");
936
936
  continue;
937
937
  }
938
938
  const s = i.level === 2 || i.level === 3 ? i.level : 1;
939
- n.push({ ...a, type: "heading", level: s, text: o });
939
+ n.push({ ...o, type: "heading", level: s, text: a });
940
940
  break;
941
941
  }
942
942
  case "paragraph": {
943
- const o = u(i.text);
944
- if (!o) {
943
+ const a = u(i.text);
944
+ if (!a) {
945
945
  t("a paragraph without text");
946
946
  continue;
947
947
  }
948
- n.push({ ...a, type: "paragraph", text: o });
948
+ n.push({ ...o, type: "paragraph", text: a });
949
949
  break;
950
950
  }
951
951
  case "quote": {
952
- const o = u(i.text);
953
- if (!o) {
952
+ const a = u(i.text);
953
+ if (!a) {
954
954
  t("a quote without text");
955
955
  continue;
956
956
  }
957
- n.push({ ...a, type: "quote", text: o });
957
+ n.push({ ...o, type: "quote", text: a });
958
958
  break;
959
959
  }
960
960
  case "code": {
961
- const o = Qe(i.text);
962
- if (!o) {
961
+ const a = Qe(i.text);
962
+ if (!a) {
963
963
  t("a code block without text");
964
964
  continue;
965
965
  }
966
966
  const s = typeof i.lang == "string" ? { lang: i.lang.slice(0, 32) } : {};
967
- n.push({ ...a, type: "code", ...s, text: o });
967
+ n.push({ ...o, type: "code", ...s, text: a });
968
968
  break;
969
969
  }
970
970
  case "divider":
971
- n.push({ ...a, type: "divider" });
971
+ n.push({ ...o, type: "divider" });
972
972
  break;
973
973
  case "list": {
974
- const o = Array.isArray(i.items) ? i.items : [], s = [];
975
- for (const p of o) {
974
+ const a = Array.isArray(i.items) ? i.items : [], s = [];
975
+ for (const p of a) {
976
976
  if (s.length >= H) {
977
977
  t(`more than ${H} list items`);
978
978
  break;
@@ -987,14 +987,14 @@ function kr(e, t = () => {
987
987
  continue;
988
988
  }
989
989
  const c = i.style === "numbered" ? "numbered" : "bulleted";
990
- n.push({ ...a, type: "list", style: c, items: s });
990
+ n.push({ ...o, type: "list", style: c, items: s });
991
991
  break;
992
992
  }
993
993
  case "table": {
994
- const o = Array.isArray(i.columns) ? i.columns : [], s = [];
995
- for (const l of o) {
996
- if (s.length >= W) {
997
- t(`more than ${W} table columns`);
994
+ const a = Array.isArray(i.columns) ? i.columns : [], s = [];
995
+ for (const l of a) {
996
+ if (s.length >= V) {
997
+ t(`more than ${V} table columns`);
998
998
  break;
999
999
  }
1000
1000
  const A = u(l?.label, C), I = l?.align === "right" ? "right" : void 0;
@@ -1015,7 +1015,7 @@ function kr(e, t = () => {
1015
1015
  }
1016
1016
  const f = u(i.caption, C);
1017
1017
  n.push({
1018
- ...a,
1018
+ ...o,
1019
1019
  type: "table",
1020
1020
  columns: s,
1021
1021
  rows: p,
@@ -1024,10 +1024,10 @@ function kr(e, t = () => {
1024
1024
  break;
1025
1025
  }
1026
1026
  case "kpi": {
1027
- const o = Array.isArray(i.items) ? i.items : [], s = [];
1028
- for (const c of o) {
1029
- if (s.length >= V) {
1030
- t(`more than ${V} kpi items`);
1027
+ const a = Array.isArray(i.items) ? i.items : [], s = [];
1028
+ for (const c of a) {
1029
+ if (s.length >= W) {
1030
+ t(`more than ${W} kpi items`);
1031
1031
  break;
1032
1032
  }
1033
1033
  const p = u(c?.value, 40), f = u(c?.label, 80);
@@ -1041,22 +1041,22 @@ function kr(e, t = () => {
1041
1041
  t("a kpi block without usable items");
1042
1042
  continue;
1043
1043
  }
1044
- n.push({ ...a, type: "kpi", items: s });
1044
+ n.push({ ...o, type: "kpi", items: s });
1045
1045
  break;
1046
1046
  }
1047
1047
  case "callout": {
1048
- const o = u(i.text);
1049
- if (!o) {
1048
+ const a = u(i.text);
1049
+ if (!a) {
1050
1050
  t("a callout without text");
1051
1051
  continue;
1052
1052
  }
1053
1053
  const s = u(i.title, 200);
1054
1054
  n.push({
1055
- ...a,
1055
+ ...o,
1056
1056
  type: "callout",
1057
1057
  tone: et(i.tone),
1058
1058
  ...s ? { title: s } : {},
1059
- text: o
1059
+ text: a
1060
1060
  });
1061
1061
  break;
1062
1062
  }
@@ -1064,10 +1064,10 @@ function kr(e, t = () => {
1064
1064
  }
1065
1065
  return n;
1066
1066
  }
1067
- function Cr(e) {
1067
+ function Or(e) {
1068
1068
  return JSON.stringify(e).length;
1069
1069
  }
1070
- function Or(e) {
1070
+ function vr(e) {
1071
1071
  return {
1072
1072
  blocks: e.length,
1073
1073
  types: e.map((t) => t.type),
@@ -1078,7 +1078,7 @@ function X(e) {
1078
1078
  return e.replace(/\|/g, "\\|").replace(/\r?\n/g, " ").trim();
1079
1079
  }
1080
1080
  function Y(e, t, n) {
1081
- const r = e.map((i, a) => n?.[a] === "right" ? "---:" : "---");
1081
+ const r = e.map((i, o) => n?.[o] === "right" ? "---:" : "---");
1082
1082
  return [
1083
1083
  `| ${e.map(X).join(" | ")} |`,
1084
1084
  `| ${r.join(" | ")} |`,
@@ -1119,12 +1119,12 @@ function tt(e) {
1119
1119
  return (e.title ? `**${e.title}** ${e.text}` : e.text).split(/\r?\n/).map((n) => `> ${n}`);
1120
1120
  }
1121
1121
  }
1122
- function vr(e, t) {
1122
+ function Nr(e, t) {
1123
1123
  const n = [], r = e.some((i) => i.type === "heading" && i.level === 1);
1124
1124
  t && !r && n.push(`# ${t}`);
1125
1125
  for (const i of e) {
1126
- const a = tt(i);
1127
- a.length > 0 && n.push(a.join(`
1126
+ const o = tt(i);
1127
+ o.length > 0 && n.push(o.join(`
1128
1128
  `));
1129
1129
  }
1130
1130
  return `${n.join(`
@@ -1133,40 +1133,40 @@ function vr(e, t) {
1133
1133
  `;
1134
1134
  }
1135
1135
  const me = (e) => `user:${e}`, ge = (e) => `team:${e}`;
1136
- function Nr(e) {
1136
+ function Rr(e) {
1137
1137
  const t = /* @__PURE__ */ new Set();
1138
1138
  for (const n of e ?? [])
1139
1139
  n?.id && (n.kind === "user" && t.add(me(n.id)), n.kind === "team" && t.add(ge(n.id)));
1140
1140
  return [...t].sort();
1141
1141
  }
1142
- function Rr(e, t) {
1142
+ function $r(e, t) {
1143
1143
  return [me(e), ...t.map(ge)];
1144
1144
  }
1145
- function $r(e) {
1145
+ function xr(e) {
1146
1146
  const t = /* @__PURE__ */ new Set();
1147
1147
  for (const n of e ?? [])
1148
1148
  n?.kind && t.add(n.kind);
1149
1149
  return [...t];
1150
1150
  }
1151
1151
  const nt = ["done", "escalated"];
1152
- function xr(e) {
1152
+ function Dr(e) {
1153
1153
  return nt.includes(e);
1154
1154
  }
1155
1155
  const rt = "assignment";
1156
- function Dr(e) {
1156
+ function Lr(e) {
1157
1157
  return `${rt}:${e}`;
1158
1158
  }
1159
- function Lr(e, t, n) {
1159
+ function Pr(e, t, n) {
1160
1160
  if (e.direction === "inbound") return !0;
1161
1161
  if (e.author?.type === "user" && e.author.id === t) return !1;
1162
1162
  const r = e.payload?.mentions;
1163
1163
  return Array.isArray(r) && r.includes(t) ? !0 : n === "reply";
1164
1164
  }
1165
- function Pr(e) {
1165
+ function Ur(e) {
1166
1166
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
1167
1167
  }
1168
1168
  const it = 12;
1169
- function Ur(e, t, n = it) {
1169
+ function Kr(e, t, n = it) {
1170
1170
  const r = t + 1;
1171
1171
  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 ? {
1172
1172
  status: "escalated",
@@ -1180,28 +1180,28 @@ function Ur(e, t, n = it) {
1180
1180
  reason: "de agent rondde zijn beurt af zonder te zeggen wat er moet gebeuren (wachten, afronden of overdragen)"
1181
1181
  };
1182
1182
  }
1183
- const Kr = /* @__PURE__ */ new Set(["mail", "message"]);
1184
- function at(e, t) {
1183
+ const jr = /* @__PURE__ */ new Set(["mail", "message"]);
1184
+ function ot(e, t) {
1185
1185
  const n = e.settings?.signatures?.[t];
1186
1186
  return !n?.enabled || !n.body || n.body.trim() === "" ? null : n;
1187
1187
  }
1188
- function jr(e, t, n, r = "html") {
1188
+ function Gr(e, t, n, r = "html") {
1189
1189
  if (!e) return n;
1190
- const i = at(e, t);
1190
+ const i = ot(e, t);
1191
1191
  return i ? `${n}${r === "text" ? `
1192
1192
 
1193
1193
  ` : t === "mail" ? "<br><br>-- <br>" : "<br><br>"}${i.body}` : n;
1194
1194
  }
1195
- function Gr(e) {
1195
+ function Br(e) {
1196
1196
  return e.endpoints ?? [];
1197
1197
  }
1198
- const ot = 36e5, st = 864e5, g = -1 / 0, Br = (e) => e.score > g, _ = {
1198
+ const at = 36e5, st = 864e5, g = -1 / 0, Hr = (e) => e.score > g, _ = {
1199
1199
  urgent: 40,
1200
1200
  high: 25,
1201
1201
  normal: 10,
1202
1202
  low: 0
1203
1203
  };
1204
- function Hr(e) {
1204
+ function Fr(e) {
1205
1205
  return Object.fromEntries(e.map((t) => [t.resourceId, t]));
1206
1206
  }
1207
1207
  const ct = /(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i, lt = /\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;
@@ -1209,7 +1209,7 @@ function ut(e, t) {
1209
1209
  return !!(e && ct.test(e) || t && lt.test(t));
1210
1210
  }
1211
1211
  const dt = 3, pt = 600;
1212
- function Fr(e, t) {
1212
+ function Vr(e, t) {
1213
1213
  return e >= dt || t >= pt;
1214
1214
  }
1215
1215
  function ft(e, t) {
@@ -1235,42 +1235,52 @@ function Et(e, t, n) {
1235
1235
  }
1236
1236
  const he = (e) => Re(e) === "outbound_message", ye = (e) => mt.includes(e);
1237
1237
  function R(e, t) {
1238
- return Math.max(0, (t - At(e)) / ot);
1239
- }
1240
- function Wr(e, t) {
1241
- return !ye(e.status) || e.firstResponseAt ? !1 : R(e, t) > ht[e.priority ?? "normal"];
1238
+ return Math.max(0, (t - At(e)) / at);
1242
1239
  }
1243
1240
  function St(e, t) {
1241
+ const n = e.assignedInboxId ? t?.[e.assignedInboxId] : void 0;
1242
+ return typeof n == "number" && n > 0 ? n : ht[e.priority ?? "normal"];
1243
+ }
1244
+ function Wr(e) {
1245
+ const t = {};
1246
+ for (const n of e)
1247
+ typeof n.slaHours == "number" && n.slaHours > 0 && (t[n.id] = n.slaHours);
1248
+ return t;
1249
+ }
1250
+ function zr(e, t, n) {
1251
+ return !ye(e.status) || e.firstResponseAt ? !1 : R(e, t) > St(e, n);
1252
+ }
1253
+ function _t(e, t) {
1244
1254
  const n = e.lastActivityPreview;
1245
1255
  return n?.direction !== "outbound" || !he(n.type) ? !1 : R(e, t) < yt;
1246
1256
  }
1247
- function Vr(e, t) {
1257
+ function Xr(e, t) {
1248
1258
  if (!ye(e.status)) return { score: g, reasons: [] };
1249
1259
  if (e.snoozedTill && e.snoozedTill > t.now) return { score: g, reasons: [] };
1250
- if (St(e, t.now)) return { score: g, reasons: [] };
1260
+ if (_t(e, t.now)) return { score: g, reasons: [] };
1251
1261
  if (bt(e, t)) return { score: g, reasons: [] };
1252
1262
  let n = 0;
1253
1263
  const r = [], i = e.priority ?? "normal";
1254
1264
  _[i] > 0 && (n += _[i], r.push(`priority:${i}`)), ft(e, t.userId) && (n += 20, r.push("unseen")), e.assignedUserId && e.assignedUserId === t.userId && (n += 15, r.push("assigned-to-you"));
1255
- const a = R(e, t.now);
1256
- if (a > 0) {
1257
- const s = Math.min(a * 2, 30);
1258
- n += s, a >= 1 && r.push(`waiting:${Math.round(a)}h`);
1265
+ const o = R(e, t.now);
1266
+ if (o > 0) {
1267
+ const s = Math.min(o * 2, 30);
1268
+ n += s, o >= 1 && r.push(`waiting:${Math.round(o)}h`);
1259
1269
  }
1260
- const o = e.lastActivityPreview;
1261
- return o?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), o?.direction === "outbound" && he(o.type) && (n += 10, r.push("no-reply")), !e.firstResponseAt && e.lastActivityPreview?.direction === "inbound" && (n += 10, r.push("awaiting-reply")), ut(e.remoteParty?.resource, e.lastActivityPreview?.snippet) && (n -= gt, r.push("bulk")), { score: n, reasons: r };
1270
+ const a = e.lastActivityPreview;
1271
+ return a?.type === "AI_ACTION_PROPOSED" && (n += 30, r.push("awaiting-approval")), a?.direction === "outbound" && he(a.type) && (n += 10, r.push("no-reply")), !e.firstResponseAt && e.lastActivityPreview?.direction === "inbound" && (n += 10, r.push("awaiting-reply")), ut(e.remoteParty?.resource, e.lastActivityPreview?.snippet) && (n -= gt, r.push("bulk")), { score: n, reasons: r };
1262
1272
  }
1263
- const zr = (e) => !!e.assignedUserId || !!e.assignedInboxId, Xr = (e) => e.status === "closed", Yr = (e) => ({
1273
+ const Yr = (e) => !!e.assignedUserId || !!e.assignedInboxId, qr = (e) => e.status === "closed", Jr = (e) => ({
1264
1274
  urgent: 10,
1265
1275
  high: 5,
1266
1276
  normal: 2,
1267
1277
  low: 1
1268
- })[e.priority] || 0, qr = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1269
- function Jr(e, t) {
1278
+ })[e.priority] || 0, Zr = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1279
+ function Qr(e, t) {
1270
1280
  const n = e.labels ?? [];
1271
1281
  return n.find((r) => r.locale === t)?.label ?? n[0]?.label ?? e.url;
1272
1282
  }
1273
- function Zr(e, t, n) {
1283
+ function ei(e, t, n) {
1274
1284
  const r = e.translations ?? [];
1275
1285
  return r.find((i) => i.locale === t) ?? (n ? r.find((i) => i.locale === n) : void 0) ?? { locale: t };
1276
1286
  }
@@ -1293,15 +1303,15 @@ function Ae(e) {
1293
1303
  const t = (e ?? "").toLowerCase();
1294
1304
  return q.find((n) => n.code === t) ?? q.find((n) => n.code === t.split("-")[0]);
1295
1305
  }
1296
- function Qr(e) {
1306
+ function ti(e) {
1297
1307
  return Ae(e)?.label ?? e;
1298
1308
  }
1299
- function ei(e) {
1309
+ function ni(e) {
1300
1310
  const t = Ae(e);
1301
1311
  return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
1302
1312
  }
1303
1313
  const be = 3;
1304
- function _t(e, t) {
1314
+ function Tt(e, t) {
1305
1315
  const n = /* @__PURE__ */ new Set();
1306
1316
  let r = 1, i = t.get(e)?.parentId;
1307
1317
  for (; i; ) {
@@ -1310,15 +1320,15 @@ function _t(e, t) {
1310
1320
  }
1311
1321
  return r;
1312
1322
  }
1313
- function ti(e, t, n) {
1323
+ function ri(e, t, n) {
1314
1324
  if (!e) return !0;
1315
1325
  if (e === t) return !1;
1316
- const r = new Map(n.map((o) => [o.id, o]));
1317
- if (!r.has(e) || t && Tt(e, t, r)) return !1;
1318
- const i = _t(e, r), a = t ? Ee(t, n) : 1;
1319
- return i + a <= be;
1326
+ const r = new Map(n.map((a) => [a.id, a]));
1327
+ if (!r.has(e) || t && It(e, t, r)) return !1;
1328
+ const i = Tt(e, r), o = t ? Ee(t, n) : 1;
1329
+ return i + o <= be;
1320
1330
  }
1321
- function Tt(e, t, n) {
1331
+ function It(e, t, n) {
1322
1332
  const r = /* @__PURE__ */ new Set();
1323
1333
  let i = n.get(e)?.parentId;
1324
1334
  for (; i; ) {
@@ -1334,17 +1344,17 @@ function Ee(e, t, n = /* @__PURE__ */ new Set()) {
1334
1344
  const r = t.filter((i) => i.parentId === e);
1335
1345
  return r.length ? 1 + Math.max(...r.map((i) => Ee(i.id, t, n))) : 1;
1336
1346
  }
1337
- const It = "en";
1338
- function wt(e) {
1339
- return e.defaultLocale || e.locale || It;
1347
+ const wt = "en";
1348
+ function Mt(e) {
1349
+ return e.defaultLocale || e.locale || wt;
1340
1350
  }
1341
- function ni(e) {
1351
+ function ii(e) {
1342
1352
  const t = /* @__PURE__ */ new Set(), n = [];
1343
- for (const r of [wt(e), ...e.locales ?? []])
1353
+ for (const r of [Mt(e), ...e.locales ?? []])
1344
1354
  !r || t.has(r) || (t.add(r), n.push(r));
1345
1355
  return n;
1346
1356
  }
1347
- function ri(e, t, n) {
1357
+ function oi(e, t, n) {
1348
1358
  const r = e.translations ?? [];
1349
1359
  return r.find((i) => i.locale === t)?.name ?? (n ? r.find((i) => i.locale === n)?.name : void 0) ?? e.name;
1350
1360
  }
@@ -1365,7 +1375,7 @@ function Z(e) {
1365
1375
  }
1366
1376
  return null;
1367
1377
  }
1368
- function Mt(e, t) {
1378
+ function kt(e, t) {
1369
1379
  switch (e.kind) {
1370
1380
  case "org":
1371
1381
  return !0;
@@ -1375,23 +1385,23 @@ function Mt(e, t) {
1375
1385
  return e.userId === t.userId;
1376
1386
  }
1377
1387
  }
1378
- function ii(e, t) {
1379
- return e.filter((n) => n.enabled && Mt(n.ownerScope, t));
1388
+ function ai(e, t) {
1389
+ return e.filter((n) => n.enabled && kt(n.ownerScope, t));
1380
1390
  }
1381
- function ai(e) {
1391
+ function si(e) {
1382
1392
  return e.credentialScope ? e.credentialScope : (e.authMode ?? "header") === "header" || e.oauth?.scope === "org" ? "shared" : "per-user";
1383
1393
  }
1384
- function oi(e) {
1394
+ function ci(e) {
1385
1395
  return `mcp__${e}__`;
1386
1396
  }
1387
- const si = 1e3, ci = 2e3, li = 500, ui = 12e3, di = 4e3, kt = ["contact", "company", "work_item"];
1388
- function pi(e) {
1397
+ const li = 1e3, ui = 2e3, di = 500, pi = 12e3, fi = 4e3, Ct = ["contact", "company", "work_item"];
1398
+ function mi(e) {
1389
1399
  if (!e) return !1;
1390
1400
  const t = e.slice(0, e.indexOf(":"));
1391
- return kt.includes(t);
1401
+ return Ct.includes(t);
1392
1402
  }
1393
- const fi = "onboarding-source", mi = ["support", "billing", "availability", "sales", "onboarding"], gi = ["keep", "replace"];
1394
- function Ct(e) {
1403
+ const gi = "onboarding-source", hi = ["support", "billing", "availability", "sales", "onboarding"], yi = ["keep", "replace"];
1404
+ function Ot(e) {
1395
1405
  switch (e.kind) {
1396
1406
  case "user":
1397
1407
  return `user:${e.userId}`;
@@ -1401,7 +1411,7 @@ function Ct(e) {
1401
1411
  return "org";
1402
1412
  }
1403
1413
  }
1404
- function hi(e) {
1414
+ function Ai(e) {
1405
1415
  if (typeof e != "string") return;
1406
1416
  const t = e.trim();
1407
1417
  if (t === "org") return { kind: "org" };
@@ -1413,10 +1423,10 @@ function hi(e) {
1413
1423
  if (r === "team") return { kind: "team", teamId: i };
1414
1424
  }
1415
1425
  }
1416
- function Ot(e) {
1417
- return Ct(e);
1418
- }
1419
1426
  function vt(e) {
1427
+ return Ot(e);
1428
+ }
1429
+ function Nt(e) {
1420
1430
  switch (e.kind) {
1421
1431
  case "personal":
1422
1432
  return { kind: "user", userId: e.userId };
@@ -1426,14 +1436,14 @@ function vt(e) {
1426
1436
  return { kind: "org" };
1427
1437
  }
1428
1438
  }
1429
- const Nt = vt;
1430
- function yi(e) {
1431
- return e.agentId ? { kind: "user", userId: e.agentId } : Nt(e.ownerScope);
1439
+ const Rt = Nt;
1440
+ function bi(e) {
1441
+ return e.agentId ? { kind: "user", userId: e.agentId } : Rt(e.ownerScope);
1432
1442
  }
1433
- function Ai(e) {
1434
- return Ot(e);
1443
+ function Ei(e) {
1444
+ return vt(e);
1435
1445
  }
1436
- function bi(e, t) {
1446
+ function Si(e, t) {
1437
1447
  if (!t) return;
1438
1448
  let n = e;
1439
1449
  for (const r of t.split(".")) {
@@ -1442,24 +1452,24 @@ function bi(e, t) {
1442
1452
  }
1443
1453
  return n;
1444
1454
  }
1445
- function Ei(e, t) {
1455
+ function _i(e, t) {
1446
1456
  return e.targets.find((n) => n.activityTypes.includes(t));
1447
1457
  }
1448
- function Si(e, t) {
1458
+ function Ti(e, t) {
1449
1459
  if (t)
1450
1460
  return e.targets.find((n) => n.id === t);
1451
1461
  }
1452
- function Rt(e) {
1462
+ function $t(e) {
1453
1463
  return e?.kind === "assignment";
1454
1464
  }
1455
- function _i(e) {
1456
- const { trigger: t, agentId: n, target: r, activityType: i, assigneeUserId: a, authorUserId: o } = e;
1457
- return Rt(t) ? n ? r ? r.activityTypes.includes(i) ? a ? a !== n ? "assigned to someone else" : o && o === n ? "the agent assigned this to itself, which would restart its own run" : null : `no assignee found at ${r.assigneePath}` : `activity type ${i} 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";
1465
+ function Ii(e) {
1466
+ const { trigger: t, agentId: n, target: r, activityType: i, assigneeUserId: o, authorUserId: a } = e;
1467
+ return $t(t) ? n ? r ? r.activityTypes.includes(i) ? o ? o !== n ? "assigned to someone else" : a && a === n ? "the agent assigned this to itself, which would restart its own run" : null : `no assignee found at ${r.assigneePath}` : `activity type ${i} 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";
1458
1468
  }
1459
- function Ti(e) {
1469
+ function wi(e) {
1460
1470
  return (e.startsWith("tool:") ? e.slice(5) : e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
1461
1471
  }
1462
- const Ii = [
1472
+ const Mi = [
1463
1473
  { name: "text", type: "string" },
1464
1474
  { name: "subject", type: "string" },
1465
1475
  { name: "from", type: "string" },
@@ -1493,7 +1503,7 @@ const Ii = [
1493
1503
  // `buildTriggerVars` cannot fill it itself: the job does that with the catalog in hand, before
1494
1504
  // the trigger filter runs — like contactId/companyId above.
1495
1505
  { name: "assigneeUserId", type: "string" }
1496
- ], wi = {
1506
+ ], ki = {
1497
1507
  topics: [
1498
1508
  { name: "topicId", type: "string" },
1499
1509
  { name: "topic", type: "string" },
@@ -1507,172 +1517,172 @@ const Ii = [
1507
1517
  // Deliberately empty: the fields come from `ClassifyStep.fields` and so differ per step.
1508
1518
  extract: []
1509
1519
  };
1510
- function $t(e) {
1520
+ function xt(e) {
1511
1521
  return `${e.type}:${e.id}`;
1512
1522
  }
1513
- const xt = "interaction";
1514
- function Dt(e) {
1515
- return e?.type === xt ? e.id : void 0;
1523
+ const Dt = "interaction";
1524
+ function Lt(e) {
1525
+ return e?.type === Dt ? e.id : void 0;
1516
1526
  }
1517
- const Lt = 64, Pt = 8e3;
1518
- function Mi(e) {
1527
+ const Pt = 64, Ut = 8e3;
1528
+ function Ci(e) {
1519
1529
  const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
1520
1530
  if (!(!Number.isFinite(t) || t <= 0))
1521
- return Math.min(Math.max(Math.round(t), Lt), Pt);
1531
+ return Math.min(Math.max(Math.round(t), Pt), Ut);
1522
1532
  }
1523
- const ki = { kind: "workflow", steps: [] };
1524
- function Ci(e) {
1533
+ const Oi = { kind: "workflow", steps: [] };
1534
+ function vi(e) {
1525
1535
  return e?.kind === "workflow" ? e.steps : [];
1526
1536
  }
1527
- function Oi(e) {
1537
+ function Ni(e) {
1528
1538
  return e?.kind === "procedure" ? e.procedure : void 0;
1529
1539
  }
1530
- function Ut(e) {
1540
+ function Kt(e) {
1531
1541
  const t = e?.approved ?? 0, n = t + (e?.rejected ?? 0);
1532
1542
  return { total: n, rate: n ? t / n : 0 };
1533
1543
  }
1534
- const Kt = 10, jt = 0.9;
1535
- function vi(e) {
1536
- const { total: t, rate: n } = Ut(e);
1537
- return t >= Kt && n >= jt;
1544
+ const jt = 10, Gt = 0.9;
1545
+ function Ri(e) {
1546
+ const { total: t, rate: n } = Kt(e);
1547
+ return t >= jt && n >= Gt;
1538
1548
  }
1539
- const Gt = ["done", "escalated", "failed", "stopped"];
1540
- function Ni(e) {
1541
- return Gt.includes(e);
1549
+ const Bt = ["done", "escalated", "failed", "stopped"];
1550
+ function $i(e) {
1551
+ return Bt.includes(e);
1542
1552
  }
1543
- function Bt(e) {
1553
+ function Ht(e) {
1544
1554
  return e === "waiting";
1545
1555
  }
1546
- function Ri(e) {
1547
- return e === "running" || Bt(e);
1556
+ function xi(e) {
1557
+ return e === "running" || Ht(e);
1548
1558
  }
1549
1559
  function Se(e) {
1550
1560
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
1551
1561
  }
1552
- function $i(e) {
1562
+ function Di(e) {
1553
1563
  const t = Se(e);
1554
- return t ? $t(t) : void 0;
1564
+ return t ? xt(t) : void 0;
1555
1565
  }
1556
- function xi(e) {
1557
- return Dt(Se(e));
1566
+ function Li(e) {
1567
+ return Lt(Se(e));
1558
1568
  }
1559
- function Di(e, t) {
1569
+ function Pi(e, t) {
1560
1570
  const n = e.accumulatedSeconds || 0;
1561
1571
  return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
1562
1572
  }
1563
- function Li(e, t) {
1573
+ function Ui(e, t) {
1564
1574
  const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
1565
1575
  if (!t || t === "exact") return n * 60;
1566
1576
  const r = Number(t);
1567
1577
  return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
1568
1578
  }
1569
- function Pi(e) {
1579
+ function Ki(e) {
1570
1580
  const t = Math.max(0, Math.round(e / 60));
1571
1581
  return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
1572
1582
  }
1573
- function Ui(e) {
1574
- const t = Math.max(0, Math.floor(e)), n = (a) => String(a).padStart(2, "0"), r = Math.floor(t / 60) % 60, i = Math.floor(t / 3600);
1583
+ function ji(e) {
1584
+ const t = Math.max(0, Math.floor(e)), n = (o) => String(o).padStart(2, "0"), r = Math.floor(t / 60) % 60, i = Math.floor(t / 3600);
1575
1585
  return i > 0 ? `${i}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
1576
1586
  }
1577
- function Ht(e) {
1587
+ function Ft(e) {
1578
1588
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
1579
1589
  }
1580
- function Ki(e, t) {
1581
- const n = Ht(e) || "werksoort", r = new Set(t);
1590
+ function Gi(e, t) {
1591
+ const n = Ft(e) || "werksoort", r = new Set(t);
1582
1592
  if (!r.has(n)) return n;
1583
1593
  for (let i = 2; i < 500; i++) {
1584
- const a = `${n}-${i}`;
1585
- if (!r.has(a)) return a;
1594
+ const o = `${n}-${i}`;
1595
+ if (!r.has(o)) return o;
1586
1596
  }
1587
1597
  return `${n}-${r.size + 1}`;
1588
1598
  }
1589
- function ji(e, t) {
1599
+ function Bi(e, t) {
1590
1600
  const n = e.ownerScope;
1591
1601
  return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
1592
1602
  }
1593
- function Gi(e) {
1594
- return e.filter((t) => !t.archived).sort(Ft);
1603
+ function Hi(e) {
1604
+ return e.filter((t) => !t.archived).sort(Vt);
1595
1605
  }
1596
- function Ft(e, t) {
1606
+ function Vt(e, t) {
1597
1607
  const n = (e.order ?? 0) - (t.order ?? 0);
1598
1608
  return n !== 0 ? n : (e.label || "").localeCompare(t.label || "");
1599
1609
  }
1600
- const Wt = 20, Vt = 20, O = 300;
1610
+ const Wt = 20, zt = 20, O = 300;
1601
1611
  function h(e) {
1602
1612
  return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
1603
1613
  }
1604
- function zt(e) {
1614
+ function Xt(e) {
1605
1615
  const t = e.replace(/\s+/g, " ").trim();
1606
1616
  if (t.length <= O) return t;
1607
1617
  const n = t.slice(0, O), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
1608
1618
  return r > O * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
1609
1619
  }
1610
- function Bi(e, t) {
1611
- const n = zt(t.text), r = h(n);
1612
- if (!r || (e.examples ?? []).some((o) => h(o) === r)) return null;
1613
- const i = e.exampleCandidates ?? [], a = i.findIndex((o) => h(o.text) === r);
1614
- if (a >= 0) {
1615
- if (i[a].corrected || !t.corrected) return null;
1616
- const o = [...i];
1617
- return o[a] = { ...o[a], corrected: !0, addedAt: t.addedAt }, Q(o);
1620
+ function Fi(e, t) {
1621
+ const n = Xt(t.text), r = h(n);
1622
+ if (!r || (e.examples ?? []).some((a) => h(a) === r)) return null;
1623
+ const i = e.exampleCandidates ?? [], o = i.findIndex((a) => h(a.text) === r);
1624
+ if (o >= 0) {
1625
+ if (i[o].corrected || !t.corrected) return null;
1626
+ const a = [...i];
1627
+ return a[o] = { ...a[o], corrected: !0, addedAt: t.addedAt }, Q(a);
1618
1628
  }
1619
- return Q([{ ...t, text: n }, ...i]).slice(0, Vt);
1629
+ return Q([{ ...t, text: n }, ...i]).slice(0, zt);
1620
1630
  }
1621
1631
  function Q(e) {
1622
1632
  return [...e].sort(
1623
1633
  (t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt
1624
1634
  );
1625
1635
  }
1626
- function Hi(e, t) {
1627
- const n = h(t), r = (e.examples ?? []).filter((a) => a.trim());
1628
- return { examples: r.some((a) => h(a) === n) ? r : [...r, t].slice(-Wt), exampleCandidates: Xt(e, t) };
1636
+ function Vi(e, t) {
1637
+ const n = h(t), r = (e.examples ?? []).filter((o) => o.trim());
1638
+ return { examples: r.some((o) => h(o) === n) ? r : [...r, t].slice(-Wt), exampleCandidates: Yt(e, t) };
1629
1639
  }
1630
- function Xt(e, t) {
1640
+ function Yt(e, t) {
1631
1641
  const n = h(t);
1632
1642
  return (e.exampleCandidates ?? []).filter((r) => h(r.text) !== n);
1633
1643
  }
1634
- function Yt(e, t) {
1644
+ function qt(e, t) {
1635
1645
  const n = e.ownerScope;
1636
1646
  return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
1637
1647
  }
1638
- function Fi(e, t) {
1639
- return e.filter((n) => Yt(n, t));
1648
+ function Wi(e, t) {
1649
+ return e.filter((n) => qt(n, t));
1640
1650
  }
1641
- function Wi(e) {
1651
+ function zi(e) {
1642
1652
  return e.type === "agent";
1643
1653
  }
1644
- const Vi = "WORK_COMMENT_ADDED", zi = "WORK_ITEM_ASSIGNED", Xi = "WORK_ITEM_STATUS_CHANGED";
1645
- function qt(e, t) {
1654
+ const Xi = "WORK_COMMENT_ADDED", Yi = "WORK_ITEM_ASSIGNED", qi = "WORK_ITEM_STATUS_CHANGED";
1655
+ function Jt(e, t) {
1646
1656
  const n = (r) => {
1647
1657
  const i = new Date(r);
1648
1658
  return i.setHours(0, 0, 0, 0), i.getTime();
1649
1659
  };
1650
1660
  return Math.round((n(e) - n(t)) / st);
1651
1661
  }
1652
- function Yi(e, t) {
1662
+ function Ji(e, t) {
1653
1663
  if (e.closedAt != null) return { score: g, reasons: [] };
1654
1664
  const n = t.remindersById?.[e.id];
1655
1665
  if (n && n.remindAt > t.now) return { score: g, reasons: [] };
1656
1666
  let r = 0;
1657
- const i = [], a = e.priority ?? "normal";
1658
- if (_[a] > 0 && (r += _[a], i.push(`priority:${a}`)), typeof e.dueDate == "number") {
1659
- const o = qt(e.dueDate, t.now);
1660
- o < 0 ? (r += 35, i.push("overdue")) : o === 0 && (r += 20, i.push("due-today"));
1667
+ const i = [], o = e.priority ?? "normal";
1668
+ if (_[o] > 0 && (r += _[o], i.push(`priority:${o}`)), typeof e.dueDate == "number") {
1669
+ const a = Jt(e.dueDate, t.now);
1670
+ a < 0 ? (r += 35, i.push("overdue")) : a === 0 && (r += 20, i.push("due-today"));
1661
1671
  }
1662
1672
  return e.source?.initiator === "system" && e.source.systemReason && (r += 15, i.push(`auto:${e.source.systemReason}`)), { score: r, reasons: i };
1663
1673
  }
1664
- const Jt = "work_item", Zt = "work_project";
1665
- function Qt(e) {
1666
- return `${Jt}:${e}`;
1674
+ const Zt = "work_item", Qt = "work_project";
1675
+ function en(e) {
1676
+ return `${Zt}:${e}`;
1667
1677
  }
1668
1678
  function _e(e) {
1669
- return `${Zt}:${e}`;
1679
+ return `${Qt}:${e}`;
1670
1680
  }
1671
- function qi(e, t, n) {
1681
+ function Zi(e, t, n) {
1672
1682
  const r = `${e}-${t}`;
1673
1683
  return n ? `${r}-${n}` : r;
1674
1684
  }
1675
- function Ji(e) {
1685
+ function Qi(e) {
1676
1686
  const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
1677
1687
  return t ? {
1678
1688
  projectKey: t[1].toUpperCase(),
@@ -1680,17 +1690,17 @@ function Ji(e) {
1680
1690
  ...t[3] ? { subSequence: Number(t[3]) } : {}
1681
1691
  } : null;
1682
1692
  }
1683
- function Zi(e) {
1693
+ function eo(e) {
1684
1694
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
1685
1695
  }
1686
- function Qi(e, t = 25) {
1687
- const n = /* @__PURE__ */ new Set([Qt(e.id)]);
1696
+ function to(e, t = 25) {
1697
+ const n = /* @__PURE__ */ new Set([en(e.id)]);
1688
1698
  e.projectId && n.add(_e(e.projectId));
1689
1699
  for (const r of e.ancestorKeys ?? []) n.add(r);
1690
1700
  for (const r of e.partyKeys ?? []) n.add(r);
1691
1701
  return Array.from(n).slice(0, t);
1692
1702
  }
1693
- function ea(e) {
1703
+ function no(e) {
1694
1704
  return [_e(e.id)];
1695
1705
  }
1696
1706
  const $ = [
@@ -1699,41 +1709,41 @@ const $ = [
1699
1709
  { key: "done", label: "status_done", category: "done", order: 2 },
1700
1710
  { key: "cancelled", label: "status_cancelled", category: "done", order: 3 }
1701
1711
  ], Te = $.map((e) => e.key);
1702
- function en(e) {
1712
+ function tn(e) {
1703
1713
  return e?.statuses?.length ? e.statuses : $;
1704
1714
  }
1705
- function tn(e, t) {
1715
+ function nn(e, t) {
1706
1716
  return t.find((n) => n.key === e)?.category ?? "todo";
1707
1717
  }
1708
- function ta(e, t) {
1718
+ function ro(e, t) {
1709
1719
  return t.find((n) => n.key === e);
1710
1720
  }
1711
- function na(e) {
1712
- const t = en(e), n = e?.defaultStatusKey;
1713
- return n && t.some((r) => r.key === n) ? n : nn(t)[0]?.key ?? $[0].key;
1721
+ function io(e) {
1722
+ const t = tn(e), n = e?.defaultStatusKey;
1723
+ return n && t.some((r) => r.key === n) ? n : rn(t)[0]?.key ?? $[0].key;
1714
1724
  }
1715
- function nn(e) {
1725
+ function rn(e) {
1716
1726
  return [...e].sort((t, n) => {
1717
1727
  const r = (t.order ?? 0) - (n.order ?? 0);
1718
1728
  return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
1719
1729
  });
1720
1730
  }
1721
- function ra(e, t) {
1722
- return tn(e, t) === "done";
1731
+ function oo(e, t) {
1732
+ return nn(e, t) === "done";
1723
1733
  }
1724
- function rn(e) {
1734
+ function on(e) {
1725
1735
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
1726
1736
  }
1727
- function ia(e, t) {
1728
- const n = rn(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Te]);
1737
+ function ao(e, t) {
1738
+ const n = on(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Te]);
1729
1739
  if (!r.has(n)) return n;
1730
1740
  for (let i = 2; i < 500; i++) {
1731
- const a = `${n}-${i}`;
1732
- if (!r.has(a)) return a;
1741
+ const o = `${n}-${i}`;
1742
+ if (!r.has(o)) return o;
1733
1743
  }
1734
1744
  return `${n}-${r.size + 1}`;
1735
1745
  }
1736
- function aa(e) {
1746
+ function so(e) {
1737
1747
  const t = [];
1738
1748
  if (!e.length) return [{ index: -1, reason: "empty" }];
1739
1749
  const n = /* @__PURE__ */ new Set();
@@ -1745,7 +1755,7 @@ function aa(e) {
1745
1755
  Te.includes(r.key) && t.push({ index: i, reason: "reserved_key", key: r.key }), n.has(r.key) && t.push({ index: i, reason: "duplicate_key", key: r.key }), n.add(r.key);
1746
1756
  }), 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;
1747
1757
  }
1748
- const an = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), on = /* @__PURE__ */ new Set([
1758
+ const an = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), sn = /* @__PURE__ */ new Set([
1749
1759
  "text/plain",
1750
1760
  "text/markdown",
1751
1761
  "text/csv",
@@ -1754,67 +1764,67 @@ const an = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
1754
1764
  "application/xml",
1755
1765
  "text/xml"
1756
1766
  ]);
1757
- function sn(e) {
1767
+ function cn(e) {
1758
1768
  const t = (e ?? "").trim().toLowerCase().split(";")[0];
1759
- return t ? an.has(t) ? "image" : t === "application/pdf" ? "pdf" : on.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
1769
+ return t ? an.has(t) ? "image" : t === "application/pdf" ? "pdf" : sn.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
1760
1770
  }
1761
- const y = 1024 * 1024, cn = {
1771
+ const y = 1024 * 1024, ln = {
1762
1772
  image: 5 * y,
1763
1773
  pdf: 20 * y,
1764
1774
  text: 1 * y,
1765
1775
  audio: 20 * y
1766
- }, oa = 25 * y, sa = 5;
1767
- function ca(e, t) {
1768
- const n = sn(e);
1769
- return n === "unsupported" ? "unsupported" : t > cn[n] ? "too-large" : null;
1776
+ }, co = 25 * y, lo = 5;
1777
+ function uo(e, t) {
1778
+ const n = cn(e);
1779
+ return n === "unsupported" ? "unsupported" : t > ln[n] ? "too-large" : null;
1770
1780
  }
1771
- function la(e) {
1781
+ function po(e) {
1772
1782
  return e.access !== "read" && e.effect !== "internal";
1773
1783
  }
1774
- function ln(e) {
1784
+ function un(e) {
1775
1785
  return `${e.kind}:${e.id || e.url || e.title}`;
1776
1786
  }
1777
- function ua(e, t = []) {
1787
+ function fo(e, t = []) {
1778
1788
  const n = new Set(t), r = [], i = [];
1779
- for (const a of e) {
1780
- const o = ln(a);
1781
- n.has(o) || (n.add(o), r.push(a), i.push(o));
1789
+ for (const o of e) {
1790
+ const a = un(o);
1791
+ n.has(a) || (n.add(a), r.push(o), i.push(a));
1782
1792
  }
1783
1793
  return { sources: r, keys: i };
1784
1794
  }
1785
- const da = "assist-source", pa = ["blocking", "due", "open"];
1786
- function fa(e, t) {
1795
+ const mo = "assist-source", go = ["blocking", "due", "open"];
1796
+ function ho(e, t) {
1787
1797
  const [n, r] = (e.subjectKey ?? "").split(":");
1788
1798
  return n === t && r ? r : void 0;
1789
1799
  }
1790
1800
  const ee = { blocking: 0, due: 1, open: 2 };
1791
- function ma(e, t) {
1801
+ function yo(e, t) {
1792
1802
  return ee[e.band ?? "open"] - ee[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
1793
1803
  }
1794
- function ga(e) {
1804
+ function Ao(e) {
1795
1805
  return e.sessions.filter(
1796
1806
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
1797
1807
  );
1798
1808
  }
1799
- function ha(e) {
1809
+ function bo(e) {
1800
1810
  return e.sessions.filter(
1801
1811
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
1802
1812
  );
1803
1813
  }
1804
- function ya(e) {
1814
+ function Eo(e) {
1805
1815
  return e.sessions.some(
1806
1816
  (n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
1807
1817
  ) ? { admit: !1, reason: "busy" } : { admit: !0 };
1808
1818
  }
1809
- function un(e, t) {
1810
- const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, i = t.intents.filter((o) => !n.has(o.intent)).map((o) => pn(o, r[o.intent]));
1819
+ function dn(e, t) {
1820
+ const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, i = t.intents.filter((a) => !n.has(a.intent)).map((a) => fn(a, r[a.intent]));
1811
1821
  if (!e.extraIntents || e.extraIntents.length === 0) return i;
1812
- const a = new Set(i.map((o) => o.intent));
1813
- for (const o of e.extraIntents)
1814
- a.has(o.intent) || (i.push(o), a.add(o.intent));
1822
+ const o = new Set(i.map((a) => a.intent));
1823
+ for (const a of e.extraIntents)
1824
+ o.has(a.intent) || (i.push(a), o.add(a.intent));
1815
1825
  return i;
1816
1826
  }
1817
- function dn(e, t) {
1827
+ function pn(e, t) {
1818
1828
  const n = {};
1819
1829
  for (const r of e.intents) {
1820
1830
  if (!r.togglable) continue;
@@ -1823,46 +1833,46 @@ function dn(e, t) {
1823
1833
  }
1824
1834
  return n;
1825
1835
  }
1826
- function Aa(e, t) {
1827
- const n = dn(e, t);
1836
+ function So(e, t) {
1837
+ const n = pn(e, t);
1828
1838
  return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
1829
1839
  }
1830
- function pn(e, t) {
1840
+ function fn(e, t) {
1831
1841
  return t ? {
1832
1842
  intent: t.intent ?? e.intent,
1833
1843
  targetSchemes: t.targetSchemes ?? e.targetSchemes,
1834
1844
  transport: t.transport ?? e.transport
1835
1845
  } : e;
1836
1846
  }
1837
- function ba(e, t) {
1847
+ function _o(e, t) {
1838
1848
  const n = [];
1839
1849
  for (const r of e) {
1840
1850
  if (!r.enabled) continue;
1841
1851
  const i = t[r.providerId];
1842
1852
  if (i)
1843
- for (const a of un(r, i))
1844
- n.push({ channel: r, description: i, capability: a });
1853
+ for (const o of dn(r, i))
1854
+ n.push({ channel: r, description: i, capability: o });
1845
1855
  }
1846
1856
  return n;
1847
1857
  }
1848
- function Ea(e, t) {
1858
+ function To(e, t) {
1849
1859
  return t.filter((n) => n.capability.intent === e);
1850
1860
  }
1851
- function fn(e, t) {
1861
+ function mn(e, t) {
1852
1862
  return t.filter((n) => n.capability.targetSchemes.includes(e));
1853
1863
  }
1854
- function Sa(e, t) {
1855
- return fn(e.scheme, t);
1864
+ function Io(e, t) {
1865
+ return mn(e.scheme, t);
1856
1866
  }
1857
- function _a(e, t, n) {
1867
+ function wo(e, t, n) {
1858
1868
  const r = [];
1859
1869
  for (const i of e)
1860
- for (const a of n)
1861
- a.capability.intent === t && a.capability.targetSchemes.includes(i.scheme) && r.push({ channelIntent: a, endpoint: i });
1870
+ for (const o of n)
1871
+ o.capability.intent === t && o.capability.targetSchemes.includes(i.scheme) && r.push({ channelIntent: o, endpoint: i });
1862
1872
  return r;
1863
1873
  }
1864
- var mn = /* @__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))(mn || {});
1865
- const gn = {
1874
+ var gn = /* @__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))(gn || {});
1875
+ const hn = {
1866
1876
  mailto: "mail",
1867
1877
  sip: "tel",
1868
1878
  tel: "tel",
@@ -1883,10 +1893,10 @@ const gn = {
1883
1893
  id: "note",
1884
1894
  custom: "note"
1885
1895
  };
1886
- function Ta(e) {
1887
- return e ? gn[e] ?? "note" : "note";
1896
+ function Mo(e) {
1897
+ return e ? hn[e] ?? "note" : "note";
1888
1898
  }
1889
- const Ia = "message_window", wa = "message_templates", Ma = {
1899
+ const ko = "message_window", Co = "message_templates", Oo = {
1890
1900
  // E-mail
1891
1901
  FROM: "from",
1892
1902
  TO: "to",
@@ -1903,19 +1913,19 @@ const Ia = "message_window", wa = "message_templates", Ma = {
1903
1913
  // Voice/conference
1904
1914
  HOST: "host",
1905
1915
  PARTICIPANT: "participant"
1906
- }, ka = (e, t) => ({ intent: e, ...t }), Ca = "folder_management", Oa = "remote_search", va = {
1916
+ }, vo = (e, t) => ({ intent: e, ...t }), No = "folder_management", Ro = "remote_search", $o = {
1907
1917
  ok: !1,
1908
1918
  code: "UNSUPPORTED",
1909
1919
  message: "Provider does not support this op"
1910
- }, Na = "installation-id";
1911
- function Ra(e) {
1920
+ }, xo = "context.collect", Do = "installation-id";
1921
+ function Lo(e) {
1912
1922
  const t = [];
1913
1923
  for (const n of Object.keys(e))
1914
1924
  for (const r of Object.keys(e[n]))
1915
1925
  t.push({ lang: n, key: r, value: e[n][r] });
1916
1926
  return t;
1917
1927
  }
1918
- const $a = "notification-source", xa = (e, t) => `${e}.pref.${t}`, Da = {
1928
+ const Po = "notification-source", Uo = (e, t) => `${e}.pref.${t}`, Ko = {
1919
1929
  ai: [
1920
1930
  "account.read",
1921
1931
  "account.write",
@@ -2048,25 +2058,25 @@ const $a = "notification-source", xa = (e, t) => `${e}.pref.${t}`, Da = {
2048
2058
  time: ["entry.read", "entry.write", "work-type.read", "work-type.write"],
2049
2059
  user: ["user.read", "user.write"],
2050
2060
  work: ["item.read", "item.write", "project.read", "project.write"]
2051
- }, Ie = 9e4, hn = ["out_of_office"], we = (e) => hn.includes(e);
2052
- function La(e, t, n) {
2061
+ }, Ie = 9e4, yn = ["out_of_office"], we = (e) => yn.includes(e);
2062
+ function jo(e, t, n) {
2053
2063
  const r = n - e < Ie, i = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
2054
2064
  if (!i?.status) return { online: r, status: r ? "available" : "offline" };
2055
- const a = i.status;
2056
- return !r && !we(a) ? { online: !1, status: "offline" } : { online: r, status: a, message: i.message };
2065
+ const o = i.status;
2066
+ return !r && !we(o) ? { online: !1, status: "offline" } : { online: r, status: o, message: i.message };
2057
2067
  }
2058
- function Pa(e, t) {
2068
+ function Go(e, t) {
2059
2069
  const n = t - e.lastSeenAt < Ie, r = n || we(e.status) ? e.status : "offline";
2060
2070
  return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
2061
2071
  }
2062
- function Ua(e, t) {
2072
+ function Bo(e, t) {
2063
2073
  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 };
2064
2074
  }
2065
- function Ka(e) {
2075
+ function Ho(e) {
2066
2076
  return e.providerAvailable && e.allowed;
2067
2077
  }
2068
- const ja = "resources.describe", Ga = "resources.search", Ba = "resources.resolve", Ha = "resources.attached";
2069
- function Fa(e) {
2078
+ const Fo = "resources.describe", Vo = "resources.search", Wo = "resources.resolve", zo = "resources.attached";
2079
+ function Xo(e) {
2070
2080
  const t = e.indexOf(":");
2071
2081
  return t === -1 ? e : e.slice(0, t);
2072
2082
  }
@@ -2075,69 +2085,69 @@ function ke(e) {
2075
2085
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
2076
2086
  return t ? t[1] : null;
2077
2087
  }
2078
- function Wa(e) {
2088
+ function Yo(e) {
2079
2089
  const t = ke(e);
2080
2090
  return t ? t !== Me : typeof e == "string" && e.startsWith("/wake");
2081
2091
  }
2082
- function Va(e) {
2092
+ function qo(e) {
2083
2093
  return typeof e != "string" || e === "" || e === "/" ? !0 : ke(e) === Me;
2084
2094
  }
2085
- function yn(e) {
2095
+ function An(e) {
2086
2096
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
2087
2097
  }
2088
- function An(e) {
2089
- const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${yn(r)}`).join("");
2098
+ function bn(e) {
2099
+ const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${An(r)}`).join("");
2090
2100
  return new RegExp(`^${n}\\/?$`);
2091
2101
  }
2092
- function bn(e, t) {
2102
+ function En(e, t) {
2093
2103
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean), i = {};
2094
- return n.forEach((a, o) => {
2095
- if (a.startsWith(":")) {
2096
- const s = a.endsWith("?") ? a.slice(1, -1) : a.slice(1), c = r[o];
2104
+ return n.forEach((o, a) => {
2105
+ if (o.startsWith(":")) {
2106
+ const s = o.endsWith("?") ? o.slice(1, -1) : o.slice(1), c = r[a];
2097
2107
  c && (i[s] = c);
2098
2108
  }
2099
2109
  }), i;
2100
2110
  }
2101
- function En(e) {
2111
+ function Sn(e) {
2102
2112
  return e.publicBasePath ?? `/apps/${e.name}`;
2103
2113
  }
2104
- function za(e) {
2114
+ function Jo(e) {
2105
2115
  const t = [];
2106
2116
  for (const n of e) {
2107
2117
  if (!n?.name) continue;
2108
- const r = En(n);
2118
+ const r = Sn(n);
2109
2119
  for (const i of n.routes ?? []) {
2110
2120
  if (!i.public) continue;
2111
- const a = i.path === "/" ? "" : i.path;
2121
+ const o = i.path === "/" ? "" : i.path;
2112
2122
  t.push({
2113
2123
  appName: n.name,
2114
2124
  resource: i.resource,
2115
- pattern: `${r}${a}`,
2125
+ pattern: `${r}${o}`,
2116
2126
  props: i.props
2117
2127
  });
2118
2128
  }
2119
2129
  }
2120
2130
  return t;
2121
2131
  }
2122
- function Sn(e, t) {
2132
+ function _n(e, t) {
2123
2133
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean);
2124
2134
  for (let i = 0; i < Math.min(n.length, r.length); i++) {
2125
- const a = n[i].startsWith(":"), o = r[i].startsWith(":");
2126
- if (a !== o) return o;
2135
+ const o = n[i].startsWith(":"), a = r[i].startsWith(":");
2136
+ if (o !== a) return a;
2127
2137
  }
2128
2138
  return n.length > r.length;
2129
2139
  }
2130
- function _n(e, t) {
2140
+ function Tn(e, t) {
2131
2141
  if (typeof e != "string") return null;
2132
2142
  let n = null;
2133
2143
  for (const r of t)
2134
- An(r.pattern).test(e) && (!n || Sn(r.pattern, n.pattern)) && (n = r);
2135
- return n ? { ...n, params: { ...n.props, ...bn(n.pattern, e) } } : null;
2144
+ bn(r.pattern).test(e) && (!n || _n(r.pattern, n.pattern)) && (n = r);
2145
+ return n ? { ...n, params: { ...n.props, ...En(n.pattern, e) } } : null;
2136
2146
  }
2137
- function Xa(e, t) {
2138
- return _n(e, t) !== null;
2147
+ function Zo(e, t) {
2148
+ return Tn(e, t) !== null;
2139
2149
  }
2140
- const Ya = "sync-source", qa = "sync-target", Ja = 20, Tn = {
2150
+ const Qo = "sync-source", ea = "sync-target", ta = 20, In = {
2141
2151
  afrikaans: [
2142
2152
  "[Muziek]",
2143
2153
  "(C) TV GELDERLAND 2021",
@@ -2287,14 +2297,14 @@ const Ya = "sync-source", qa = "sync-target", Ja = 20, Tn = {
2287
2297
  "[MÚSICA]",
2288
2298
  "[Music cuts in British]"
2289
2299
  ]
2290
- }, In = (e) => {
2300
+ }, wn = (e) => {
2291
2301
  let t = e;
2292
- return Object.values(Tn).forEach((n) => {
2302
+ return Object.values(In).forEach((n) => {
2293
2303
  n.forEach((r) => {
2294
2304
  t = t.replaceAll(r, "");
2295
2305
  });
2296
2306
  }), t = t.replace(/\(.*?\)/g, ""), t = t.replace(/\[.*?\]/g, ""), t;
2297
- }, wn = 6e4, Mn = 8e3, kn = 2, Cn = 0.4, On = 3, vn = /* @__PURE__ */ new Set([
2307
+ }, Mn = 6e4, kn = 8e3, Cn = 2, On = 0.4, vn = 3, Nn = /* @__PURE__ */ new Set([
2298
2308
  "aan",
2299
2309
  "als",
2300
2310
  "ben",
@@ -2407,46 +2417,46 @@ const Ya = "sync-source", qa = "sync-target", Ja = 20, Tn = {
2407
2417
  "you",
2408
2418
  "your"
2409
2419
  ]);
2410
- function Nn(e) {
2420
+ function Rn(e) {
2411
2421
  const t = /* @__PURE__ */ new Set();
2412
2422
  for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
2413
- n.length < On || vn.has(n) || t.add(n);
2423
+ n.length < vn || Nn.has(n) || t.add(n);
2414
2424
  return [...t];
2415
2425
  }
2416
- function Rn(e, t) {
2426
+ function $n(e, t) {
2417
2427
  if (!e.length) return 0;
2418
2428
  if (!t.length) return 1;
2419
2429
  const n = new Set(t), r = new Set(e);
2420
2430
  let i = 0;
2421
- for (const a of r) n.has(a) || (i += 1);
2431
+ for (const o of r) n.has(o) || (i += 1);
2422
2432
  return i / r.size;
2423
2433
  }
2424
- function $n(e, t = wn) {
2425
- const n = e.filter((o) => !o.partial && typeof o.text == "string");
2434
+ function xn(e, t = Mn) {
2435
+ const n = e.filter((a) => !a.partial && typeof a.text == "string");
2426
2436
  if (!n.length) return { text: "", segmentCount: 0 };
2427
- const i = n.reduce((o, s) => Math.max(o, s.endedAt ?? 0), 0) - t;
2428
- return { text: n.filter((o) => (o.endedAt ?? 0) >= i).map((o) => In(o.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
2437
+ const i = n.reduce((a, s) => Math.max(a, s.endedAt ?? 0), 0) - t;
2438
+ return { text: n.filter((a) => (a.endedAt ?? 0) >= i).map((a) => wn(a.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
2429
2439
  }
2430
- const xn = 60;
2431
- function Za(e, t, n = xn) {
2440
+ const Dn = 60;
2441
+ function na(e, t, n = Dn) {
2432
2442
  const r = new Set(e), i = [...e];
2433
- for (const a of t)
2434
- !a || r.has(a) || (r.add(a), i.push(a));
2443
+ for (const o of t)
2444
+ !o || r.has(o) || (r.add(o), i.push(o));
2435
2445
  return i.slice(-n);
2436
2446
  }
2437
- function Qa(e) {
2447
+ function ra(e) {
2438
2448
  const { segments: t, now: n, state: r } = e;
2439
- if (r.lastTriggerAt && n - r.lastTriggerAt < Mn)
2449
+ if (r.lastTriggerAt && n - r.lastTriggerAt < kn)
2440
2450
  return { trigger: !1, reason: "too_soon" };
2441
- const i = $n(t, e.windowMs);
2451
+ const i = xn(t, e.windowMs);
2442
2452
  if (!i.text) return { trigger: !1, reason: "no_speech" };
2443
- const a = i.segmentCount - (r.lastSegmentCount ?? 0);
2444
- if (r.lastQueryTerms && a < kn)
2453
+ const o = i.segmentCount - (r.lastSegmentCount ?? 0);
2454
+ if (r.lastQueryTerms && o < Cn)
2445
2455
  return { trigger: !1, reason: "too_few_new" };
2446
- const o = Nn(i.text);
2447
- return o.length ? r.lastQueryTerms?.length && Rn(o, r.lastQueryTerms) < Cn ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: i.text, terms: o, segmentCount: i.segmentCount } : { trigger: !1, reason: "no_speech" };
2456
+ const a = Rn(i.text);
2457
+ return a.length ? r.lastQueryTerms?.length && $n(a, r.lastQueryTerms) < On ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: i.text, terms: a, segmentCount: i.segmentCount } : { trigger: !1, reason: "no_speech" };
2448
2458
  }
2449
- const eo = "navNotice", x = {
2459
+ const ia = "navNotice", x = {
2450
2460
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
2451
2461
  // shorter than geographic numbers, and a too-strict minimum silently drops them.
2452
2462
  // An over-permissive key is harmless — it simply matches nothing.
@@ -2469,7 +2479,7 @@ const eo = "navNotice", x = {
2469
2479
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
2470
2480
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
2471
2481
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
2472
- }, Dn = "NL", Ln = 15, Pn = 8, Un = Array.from(
2482
+ }, Ln = "NL", Pn = 15, Un = 8, Kn = Array.from(
2473
2483
  new Set(Object.values(x).map((e) => e.callingCode))
2474
2484
  ).sort((e, t) => t.length - e.length);
2475
2485
  function te(e) {
@@ -2480,27 +2490,27 @@ function S(e, t) {
2480
2490
  return e.length >= t.nsnMin && e.length <= t.nsnMax;
2481
2491
  }
2482
2492
  function ne(e) {
2483
- if (e.length > Ln) return null;
2484
- for (const t of Un) {
2493
+ if (e.length > Pn) return null;
2494
+ for (const t of Kn) {
2485
2495
  if (!e.startsWith(t)) continue;
2486
2496
  const n = e.slice(t.length);
2487
2497
  for (const r of Object.values(x)) {
2488
2498
  if (r.callingCode !== t) continue;
2489
- const i = r.trunkPrefix, a = i && n.startsWith(i) ? n.slice(i.length) : n;
2490
- if (S(a, r)) return `+${t}${a}`;
2499
+ const i = r.trunkPrefix, o = i && n.startsWith(i) ? n.slice(i.length) : n;
2500
+ if (S(o, r)) return `+${t}${o}`;
2491
2501
  }
2492
2502
  return null;
2493
2503
  }
2494
- return e.length < Pn ? null : `+${e}`;
2504
+ return e.length < Un ? null : `+${e}`;
2495
2505
  }
2496
- function Kn(e) {
2506
+ function jn(e) {
2497
2507
  let t = e.trim();
2498
2508
  const n = t.match(/^(sips?|tel|whatsapp):/i);
2499
2509
  n && (t = t.slice(n[0].length));
2500
2510
  const r = t.indexOf("@");
2501
2511
  return r >= 0 && (t = t.slice(0, r)), t.trim();
2502
2512
  }
2503
- function to(e) {
2513
+ function oa(e) {
2504
2514
  if (!e) return !1;
2505
2515
  const t = e.indexOf("@");
2506
2516
  if (t <= 0) return !1;
@@ -2509,26 +2519,26 @@ function to(e) {
2509
2519
  }
2510
2520
  function re(e, t) {
2511
2521
  if (!e) return null;
2512
- const n = Kn(e);
2522
+ const n = jn(e);
2513
2523
  if (!n) return null;
2514
2524
  const r = n.startsWith("+"), i = n.replace(/\D/g, "");
2515
2525
  if (!i) return null;
2516
2526
  if (r) return ne(i);
2517
2527
  if (i.startsWith("00")) return ne(i.slice(2));
2518
- const a = te(t) ?? te(Dn);
2519
- if (!a) return null;
2520
- const o = a.trunkPrefix;
2521
- if (o && i.startsWith(o)) {
2522
- const s = i.slice(o.length);
2523
- return S(s, a) ? `+${a.callingCode}${s}` : null;
2528
+ const o = te(t) ?? te(Ln);
2529
+ if (!o) return null;
2530
+ const a = o.trunkPrefix;
2531
+ if (a && i.startsWith(a)) {
2532
+ const s = i.slice(a.length);
2533
+ return S(s, o) ? `+${o.callingCode}${s}` : null;
2524
2534
  }
2525
- if (i.startsWith(a.callingCode)) {
2526
- const s = i.slice(a.callingCode.length);
2527
- if (S(s, a)) return `+${a.callingCode}${s}`;
2535
+ if (i.startsWith(o.callingCode)) {
2536
+ const s = i.slice(o.callingCode.length);
2537
+ if (S(s, o)) return `+${o.callingCode}${s}`;
2528
2538
  }
2529
- return !o && S(i, a) ? `+${a.callingCode}${i}` : null;
2539
+ return !a && S(i, o) ? `+${o.callingCode}${i}` : null;
2530
2540
  }
2531
- function no(e, t = 9) {
2541
+ function aa(e, t = 9) {
2532
2542
  const n = (e ?? "").replace(/\D/g, "");
2533
2543
  return n.length < t ? null : n.slice(-t);
2534
2544
  }
@@ -2539,11 +2549,11 @@ function Ce(e) {
2539
2549
  const r = t.slice(0, n).split("+")[0], i = t.slice(n + 1);
2540
2550
  return !r || !i.includes(".") ? null : `${r}@${i}`;
2541
2551
  }
2542
- function ro(e) {
2552
+ function sa(e) {
2543
2553
  const t = Ce(e);
2544
2554
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
2545
2555
  }
2546
- const jn = /* @__PURE__ */ new Set([
2556
+ const Gn = /* @__PURE__ */ new Set([
2547
2557
  "co.uk",
2548
2558
  "org.uk",
2549
2559
  "gov.uk",
@@ -2553,14 +2563,14 @@ const jn = /* @__PURE__ */ new Set([
2553
2563
  "com.br",
2554
2564
  "co.za"
2555
2565
  ]);
2556
- function Gn(e) {
2566
+ function Bn(e) {
2557
2567
  if (!e) return null;
2558
2568
  const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
2559
2569
  if (t.length < 2) return null;
2560
2570
  const n = t.slice(-2).join(".");
2561
- return jn.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
2571
+ return Gn.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
2562
2572
  }
2563
- const Bn = /* @__PURE__ */ new Set([
2573
+ const Hn = /* @__PURE__ */ new Set([
2564
2574
  "gmail.com",
2565
2575
  "googlemail.com",
2566
2576
  "outlook.com",
@@ -2605,42 +2615,42 @@ const Bn = /* @__PURE__ */ new Set([
2605
2615
  "proximus.be",
2606
2616
  "scarlet.be"
2607
2617
  ]);
2608
- function io(e) {
2609
- const t = Gn(e);
2610
- return t ? Bn.has(t) : !1;
2618
+ function ca(e) {
2619
+ const t = Bn(e);
2620
+ return t ? Hn.has(t) : !1;
2611
2621
  }
2612
- function ao(e) {
2622
+ function la(e) {
2613
2623
  if (!e) return !1;
2614
2624
  const t = e.trim().toLowerCase();
2615
2625
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
2616
2626
  }
2617
- function oo(e, t, n) {
2627
+ function ua(e, t, n) {
2618
2628
  if (!e || !t) return null;
2619
2629
  const r = e.trim().toLowerCase();
2620
2630
  if (r === "tel" || r === "sms" || r === "whatsapp") {
2621
- const a = re(t, n);
2622
- return a ? `tel:${a}` : null;
2631
+ const o = re(t, n);
2632
+ return o ? `tel:${o}` : null;
2623
2633
  }
2624
2634
  if (r === "fax") {
2625
- const a = re(t, n);
2626
- return a ? `fax:${a}` : null;
2635
+ const o = re(t, n);
2636
+ return o ? `fax:${o}` : null;
2627
2637
  }
2628
2638
  if (r === "mailto" || r === "email") {
2629
- const a = Ce(t);
2630
- return a ? `mailto:${a}` : null;
2639
+ const o = Ce(t);
2640
+ return o ? `mailto:${o}` : null;
2631
2641
  }
2632
2642
  const i = t.trim().toLowerCase();
2633
2643
  return i ? `${r}:${i}` : null;
2634
2644
  }
2635
- const Hn = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, Fn = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
2636
- function so(e) {
2645
+ const Fn = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, Vn = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
2646
+ function da(e) {
2637
2647
  if (typeof e != "string" || !e) return "";
2638
2648
  let t = e;
2639
2649
  return t = t.replace(/```[a-z]*\n?/gi, "").replace(/~~~[a-z]*\n?/gi, ""), t = t.replace(/!\[([^\]]*)\]\([^)]*\)/g, "$1"), t = t.replace(/\[([^\]]*)\]\([^)]*\)/g, "$1"), t = t.replace(/\[([^\]]*)\]\[[^\]]*\]/g, "$1"), t = t.replace(/<((?:https?|mailto):[^>\s]+)>/gi, "$1"), t = t.split(`
2640
2650
  `).map(
2641
2651
  (n) => n.replace(/^\s{0,3}#{1,6}\s+/, "").replace(/^\s{0,3}>\s?/, "").replace(/^\s*[-*+]\s+/, "").replace(/^\s*\d+[.)]\s+/, "").replace(/^\s*(?:[-*_]\s*){3,}$/, "")
2642
2652
  ).join(`
2643
- `), t = t.replace(Hn, "$2"), t = t.replace(Fn, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
2653
+ `), t = t.replace(Fn, "$2"), t = t.replace(Vn, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
2644
2654
  }
2645
2655
  const Wn = [
2646
2656
  /<blockquote/i,
@@ -2655,17 +2665,17 @@ const Wn = [
2655
2665
  // Outlook underscore separator before "From:"
2656
2666
  /\bOn\b[\s\S]{0,200}?\bwrote:/i
2657
2667
  // Gmail "On <date> <name> wrote:"
2658
- ], ie = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Vn = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
2659
- function zn(e) {
2668
+ ], ie = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, zn = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
2669
+ function Xn(e) {
2660
2670
  const t = e.split(`
2661
2671
  `);
2662
2672
  for (let n = 0; n < t.length; n++)
2663
- if (Vn.test(t[n]) || ie.test(t[n]) && t.slice(n + 1, n + 4).some((r) => ie.test(r)))
2673
+ if (zn.test(t[n]) || ie.test(t[n]) && t.slice(n + 1, n + 4).some((r) => ie.test(r)))
2664
2674
  return t.slice(0, n).join(`
2665
2675
  `).trim();
2666
2676
  return e;
2667
2677
  }
2668
- function ae(e) {
2678
+ function oe(e) {
2669
2679
  let t = e;
2670
2680
  return t = t.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), t = t.replace(/<br\s*\/?>/gi, `
2671
2681
  `), t = t.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
@@ -2673,11 +2683,11 @@ function ae(e) {
2673
2683
  `), t = t.replace(/<\/(div|li|tr)>/gi, `
2674
2684
  `), t = t.replace(/<\/(td|th)>/gi, " "), t = t.replace(/<[^>]+>/g, ""), t = t.replace(/<[^>]*$/, ""), t;
2675
2685
  }
2676
- function oe(e) {
2686
+ function ae(e) {
2677
2687
  return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
2678
2688
  }
2679
2689
  function se(e) {
2680
- return e.replace(/&nbsp;/gi, " ").replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => oe(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => oe(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
2690
+ return e.replace(/&nbsp;/gi, " ").replace(/&lt;/gi, "<").replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#(\d+);/g, (t, n) => ae(Number(n)) ?? t).replace(/&#x([0-9a-f]+);/gi, (t, n) => ae(parseInt(n, 16)) ?? t).replace(/&amp;/gi, "&");
2681
2691
  }
2682
2692
  function ce(e) {
2683
2693
  return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
@@ -2685,326 +2695,329 @@ function ce(e) {
2685
2695
 
2686
2696
  `).trim();
2687
2697
  }
2688
- const Xn = /<\s*(html|body|div|p|table|br|span)\b/i;
2689
- function co(e) {
2690
- return Xn.test(e);
2698
+ const Yn = /<\s*(html|body|div|p|table|br|span)\b/i;
2699
+ function pa(e) {
2700
+ return Yn.test(e);
2691
2701
  }
2692
- function lo(e) {
2702
+ function fa(e) {
2693
2703
  if (typeof e != "string" || !e) return "";
2694
2704
  let t = e.length;
2695
- for (const a of Wn) {
2696
- const o = e.search(a);
2697
- o >= 0 && o < t && (t = o);
2705
+ for (const o of Wn) {
2706
+ const a = e.search(o);
2707
+ a >= 0 && a < t && (t = a);
2698
2708
  }
2699
2709
  const n = e.slice(0, t);
2700
- let r = ce(se(ae(n)));
2701
- return r || (r = ce(se(ae(e)))), zn(r) || r;
2710
+ let r = ce(se(oe(n)));
2711
+ return r || (r = ce(se(oe(e)))), Xn(r) || r;
2702
2712
  }
2703
2713
  export {
2704
2714
  m as ACTIVITY_CATALOG,
2705
- cn as AI_ATTACHMENT_LIMITS,
2706
- sa as AI_ATTACHMENT_MAX_PER_TURN,
2707
- oa as AI_ATTACHMENT_TURN_BUDGET,
2715
+ ln as AI_ATTACHMENT_LIMITS,
2716
+ lo as AI_ATTACHMENT_MAX_PER_TURN,
2717
+ co as AI_ATTACHMENT_TURN_BUDGET,
2708
2718
  ue as AI_VENDORS,
2709
2719
  Xe as ALLOWED_LINK_SCHEMES,
2710
- Da as APP_PERMISSIONS,
2720
+ Ko as APP_PERMISSIONS,
2711
2721
  B as ARTIFACT_MAX_BLOCKS,
2712
- Mr as ARTIFACT_MAX_BODY_BYTES,
2722
+ kr as ARTIFACT_MAX_BODY_BYTES,
2713
2723
  C as ARTIFACT_MAX_CELL_LEN,
2714
- V as ARTIFACT_MAX_KPI_ITEMS,
2724
+ W as ARTIFACT_MAX_KPI_ITEMS,
2715
2725
  H as ARTIFACT_MAX_LIST_ITEMS,
2716
- W as ARTIFACT_MAX_TABLE_COLUMNS,
2726
+ V as ARTIFACT_MAX_TABLE_COLUMNS,
2717
2727
  F as ARTIFACT_MAX_TABLE_ROWS,
2718
2728
  pe as ARTIFACT_MAX_TEXT_LEN,
2719
2729
  rt as ASSIGNMENT_SCOPE_KIND,
2720
- pa as ASSIST_BANDS,
2721
- da as ASSIST_SOURCE_PROVIDER_GROUP,
2730
+ go as ASSIST_BANDS,
2731
+ mo as ASSIST_SOURCE_PROVIDER_GROUP,
2722
2732
  mt as ATTENTION_STATUSES,
2723
2733
  Me as AUTH_APP_NAME,
2724
- Kt as AUTO_READY_MIN_PROPOSALS,
2725
- jt as AUTO_READY_RATE,
2734
+ jt as AUTO_READY_MIN_PROPOSALS,
2735
+ Gt as AUTO_READY_RATE,
2726
2736
  Pe as ActivityTypeRegistry,
2727
- dr as BUILT_IN_ONLY,
2737
+ pr as BUILT_IN_ONLY,
2728
2738
  gt as BULK_PENALTY,
2729
- Mn as CADENCE_FLOOR_MS,
2730
- kn as CADENCE_MIN_NEW_SEGMENTS,
2731
- Cn as CADENCE_MIN_NOVELTY,
2732
- wn as CADENCE_WINDOW_MS,
2733
- wi as CLASSIFY_VARS,
2734
- Tr as CORE_DIMENSIONS,
2735
- mn as CommunicationScheme,
2739
+ kn as CADENCE_FLOOR_MS,
2740
+ Cn as CADENCE_MIN_NEW_SEGMENTS,
2741
+ On as CADENCE_MIN_NOVELTY,
2742
+ Mn as CADENCE_WINDOW_MS,
2743
+ ki as CLASSIFY_VARS,
2744
+ xo as CONTEXT_COLLECT_SERVICE,
2745
+ Ir as CORE_DIMENSIONS,
2746
+ gn as CommunicationScheme,
2736
2747
  st as DAY_MS,
2737
- di as DEFAULT_MEMORY_BUDGET,
2738
- Dn as DEFAULT_PHONE_REGION,
2739
- ki as EMPTY_WORKFLOW,
2740
- Ca as FEATURE_FOLDER_MANAGEMENT,
2741
- Oa as FEATURE_REMOTE_SEARCH,
2748
+ fi as DEFAULT_MEMORY_BUDGET,
2749
+ Ln as DEFAULT_PHONE_REGION,
2750
+ Oi as EMPTY_WORKFLOW,
2751
+ No as FEATURE_FOLDER_MANAGEMENT,
2752
+ Ro as FEATURE_REMOTE_SEARCH,
2742
2753
  yt as FOLLOW_UP_HOURS,
2743
- ot as HOUR_MS,
2744
- Xn as HTML_BODY_RE,
2754
+ at as HOUR_MS,
2755
+ Yn as HTML_BODY_RE,
2745
2756
  g as INELIGIBLE,
2746
- Na as INSTALLATION_HEADER,
2747
- xt as INTERACTION_KIND,
2748
- Ma as InteractionParticipantRole,
2749
- It as KB_FALLBACK_LOCALE,
2757
+ Do as INSTALLATION_HEADER,
2758
+ Dt as INTERACTION_KIND,
2759
+ Oo as InteractionParticipantRole,
2760
+ wt as KB_FALLBACK_LOCALE,
2750
2761
  q as KB_LOCALES,
2751
2762
  $ as LOOSE_STATUSES,
2752
- Zn as MAX_ACTIONS,
2763
+ Qn as MAX_ACTIONS,
2753
2764
  it as MAX_ASSIGNMENT_TURNS,
2754
- Yn as MAX_BLOCKS,
2765
+ qn as MAX_BLOCKS,
2755
2766
  be as MAX_COLLECTION_DEPTH,
2756
- qn as MAX_FIELDS,
2757
- Jn as MAX_LIST_ITEMS,
2758
- si as MAX_MEMORY_BROWSE,
2759
- ui as MAX_MEMORY_BUDGET,
2760
- ci as MAX_MEMORY_CHARS,
2761
- xn as MAX_SHOWN_KEYS,
2762
- Vt as MAX_TOPIC_CANDIDATES,
2767
+ Jn as MAX_FIELDS,
2768
+ Zn as MAX_LIST_ITEMS,
2769
+ li as MAX_MEMORY_BROWSE,
2770
+ pi as MAX_MEMORY_BUDGET,
2771
+ ui as MAX_MEMORY_CHARS,
2772
+ Dn as MAX_SHOWN_KEYS,
2773
+ zt as MAX_TOPIC_CANDIDATES,
2763
2774
  Wt as MAX_TOPIC_EXAMPLES,
2764
2775
  O as MAX_TOPIC_EXAMPLE_CHARS,
2765
- li as MIN_MEMORY_BUDGET,
2766
- eo as NAV_NOTICE_SLOT,
2767
- $a as NOTIFICATION_SOURCE_PROVIDER_GROUP,
2768
- fi as ONBOARDING_SOURCE_PROVIDER_GROUP,
2776
+ di as MIN_MEMORY_BUDGET,
2777
+ ia as NAV_NOTICE_SLOT,
2778
+ Po as NOTIFICATION_SOURCE_PROVIDER_GROUP,
2779
+ gi as ONBOARDING_SOURCE_PROVIDER_GROUP,
2769
2780
  x as PHONE_REGIONS,
2770
2781
  Ie as PRESENCE_ONLINE_WINDOW_MS,
2771
- hn as PRESENCE_SURVIVES_OFFLINE,
2772
- gi as PROFILE_TOOL_DISPOSITIONS,
2773
- wa as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
2774
- Ia as PROVIDER_FEATURE_MESSAGE_WINDOW,
2775
- Bn as PUBLIC_EMAIL_DOMAINS,
2782
+ yn as PRESENCE_SURVIVES_OFFLINE,
2783
+ yi as PROFILE_TOOL_DISPOSITIONS,
2784
+ Co as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
2785
+ ko as PROVIDER_FEATURE_MESSAGE_WINDOW,
2786
+ Hn as PUBLIC_EMAIL_DOMAINS,
2776
2787
  J as READ_STEP_TYPES,
2777
- kt as RELATED_SUBJECT_KINDS,
2788
+ Ct as RELATED_SUBJECT_KINDS,
2778
2789
  Te as RESERVED_STATUS_KEYS,
2779
- Ha as RESOURCE_ATTACHED_SERVICE,
2780
- ja as RESOURCE_DESCRIBE_SERVICE,
2781
- Ba as RESOURCE_RESOLVE_SERVICE,
2782
- Ga as RESOURCE_SEARCH_SERVICE,
2783
- Kr as SIGNATURE_INTENTS,
2790
+ zo as RESOURCE_ATTACHED_SERVICE,
2791
+ Fo as RESOURCE_DESCRIBE_SERVICE,
2792
+ Wo as RESOURCE_RESOLVE_SERVICE,
2793
+ Vo as RESOURCE_SEARCH_SERVICE,
2794
+ jr as SIGNATURE_INTENTS,
2784
2795
  ht as SLA_HOURS_BY_PRIORITY,
2785
- Pt as STEP_MAX_TOKENS_MAX,
2786
- Lt as STEP_MAX_TOKENS_MIN,
2796
+ Ut as STEP_MAX_TOKENS_MAX,
2797
+ Pt as STEP_MAX_TOKENS_MIN,
2787
2798
  pt as SUMMARY_MIN_LAST_CHARS,
2788
2799
  dt as SUMMARY_MIN_MESSAGES,
2789
- Ja as SYNC_RUN_MAX_ERRORS,
2790
- Ya as SYNC_SOURCE_PROVIDER_GROUP,
2791
- qa as SYNC_TARGET_PROVIDER_GROUP,
2800
+ ta as SYNC_RUN_MAX_ERRORS,
2801
+ Qo as SYNC_SOURCE_PROVIDER_GROUP,
2802
+ ea as SYNC_TARGET_PROVIDER_GROUP,
2792
2803
  nt as TERMINAL_ASSIGNMENT_STATUSES,
2793
- Gt as TERMINAL_RUN_STATUSES,
2794
- Ii as TRIGGER_VARS,
2795
- va as UNSUPPORTED,
2804
+ Bt as TERMINAL_RUN_STATUSES,
2805
+ Mi as TRIGGER_VARS,
2806
+ $o as UNSUPPORTED,
2796
2807
  Fe as USAGE_DIMENSIONS,
2797
- We as USAGE_DIMENSION_IDS,
2798
- mi as WORK_AREAS,
2799
- Vi as WORK_COMMENT_ADDED,
2800
- zi as WORK_ITEM_ASSIGNED,
2801
- Jt as WORK_ITEM_SCOPE_KIND,
2802
- Xi as WORK_ITEM_STATUS_CHANGED,
2803
- Zt as WORK_PROJECT_SCOPE_KIND,
2808
+ Ve as USAGE_DIMENSION_IDS,
2809
+ hi as WORK_AREAS,
2810
+ Xi as WORK_COMMENT_ADDED,
2811
+ Yi as WORK_ITEM_ASSIGNED,
2812
+ Zt as WORK_ITEM_SCOPE_KIND,
2813
+ qi as WORK_ITEM_STATUS_CHANGED,
2814
+ Qt as WORK_PROJECT_SCOPE_KIND,
2804
2815
  _ as W_PRIORITY,
2805
- Hi as acceptExampleCandidate,
2806
- Ot as actingIdentityKey,
2807
- Gi as activeWorkTypes,
2808
- er as activityIconOf,
2809
- lr as activityJoinUrl,
2816
+ Vi as acceptExampleCandidate,
2817
+ vt as actingIdentityKey,
2818
+ Hi as activeWorkTypes,
2819
+ tr as activityIconOf,
2820
+ ur as activityJoinUrl,
2810
2821
  $e as activitySnippet,
2811
2822
  xe as activityTextParams,
2812
- cr as activityTimelineText,
2823
+ lr as activityTimelineText,
2813
2824
  Ue as activityTimestamp,
2814
2825
  d as activityTypeInfo,
2815
- Ai as actorKey,
2816
- Bi as addExampleCandidate,
2817
- Pa as agePresenceEntry,
2818
- sn as aiAttachmentKind,
2819
- ca as aiAttachmentRejection,
2826
+ Ei as actorKey,
2827
+ Fi as addExampleCandidate,
2828
+ Go as agePresenceEntry,
2829
+ cn as aiAttachmentKind,
2830
+ uo as aiAttachmentRejection,
2820
2831
  G as aiBudgetLimit,
2821
- Sr as aiBudgetPeriodKey,
2832
+ _r as aiBudgetPeriodKey,
2822
2833
  Ke as aiBudgetPeriodStart,
2823
- Er as aiBudgetState,
2824
- br as aiVendorAcceptsAttachment,
2825
- hr as aiVendorDefaultModel,
2826
- gr as aiVendorLabel,
2827
- Ar as aiVendorNeedsBaseUrl,
2828
- yr as aiVendorsWith,
2834
+ Sr as aiBudgetState,
2835
+ Er as aiVendorAcceptsAttachment,
2836
+ yr as aiVendorDefaultModel,
2837
+ hr as aiVendorLabel,
2838
+ br as aiVendorNeedsBaseUrl,
2839
+ Ar as aiVendorsWith,
2829
2840
  ke as appNameFromPath,
2830
- Li as applyRounding,
2831
- jr as applySignature,
2832
- Ut as approvalRate,
2833
- Cr as artifactBodyBytes,
2834
- Or as artifactOutline,
2835
- vr as artifactToMarkdown,
2836
- _i as assignmentMismatch,
2837
- Dr as assignmentScopeKey,
2838
- Pr as assignmentSubject,
2839
- ur as buildActivityPreview,
2840
- ba as buildChannelIntents,
2841
- Nr as buildShareKeys,
2842
- $n as buildWindow,
2843
- ti as canNestUnder,
2844
- ir as carriesText,
2845
- ri as categoryLabel,
2846
- tn as categoryOf,
2847
- Ta as channelKindForScheme,
2848
- tr as channelKindOf,
2849
- Mi as clampStepMaxTokens,
2850
- lo as cleanMessageText,
2851
- ma as compareAssistRank,
2852
- Ft as compareWorkTypes,
2853
- Ur as decideAssignmentState,
2854
- Qa as decideCadence,
2855
- ya as decideIncomingCall,
2856
- wt as defaultLocaleOf,
2857
- na as defaultStatusKey,
2858
- ka as defineIntent,
2859
- _t as depthOf,
2860
- La as derivePresence,
2861
- Aa as disabledIntentsFromCapabilities,
2862
- Di as elapsedSeconds,
2863
- ro as emailDomain,
2864
- oo as endpointKey,
2865
- bn as extractParams,
2866
- Nn as extractTerms,
2867
- Sa as filterByEndpoint,
2868
- Ea as filterByIntent,
2869
- fn as filterByTargetScheme,
2841
+ Ui as applyRounding,
2842
+ Gr as applySignature,
2843
+ Kt as approvalRate,
2844
+ Or as artifactBodyBytes,
2845
+ vr as artifactOutline,
2846
+ Nr as artifactToMarkdown,
2847
+ Ii as assignmentMismatch,
2848
+ Lr as assignmentScopeKey,
2849
+ Ur as assignmentSubject,
2850
+ dr as buildActivityPreview,
2851
+ _o as buildChannelIntents,
2852
+ Rr as buildShareKeys,
2853
+ xn as buildWindow,
2854
+ ri as canNestUnder,
2855
+ or as carriesText,
2856
+ oi as categoryLabel,
2857
+ nn as categoryOf,
2858
+ Mo as channelKindForScheme,
2859
+ nr as channelKindOf,
2860
+ Ci as clampStepMaxTokens,
2861
+ fa as cleanMessageText,
2862
+ yo as compareAssistRank,
2863
+ Vt as compareWorkTypes,
2864
+ Kr as decideAssignmentState,
2865
+ ra as decideCadence,
2866
+ Eo as decideIncomingCall,
2867
+ Mt as defaultLocaleOf,
2868
+ io as defaultStatusKey,
2869
+ vo as defineIntent,
2870
+ Tt as depthOf,
2871
+ jo as derivePresence,
2872
+ So as disabledIntentsFromCapabilities,
2873
+ Pi as elapsedSeconds,
2874
+ sa as emailDomain,
2875
+ ua as endpointKey,
2876
+ En as extractParams,
2877
+ Rn as extractTerms,
2878
+ Io as filterByEndpoint,
2879
+ To as filterByIntent,
2880
+ mn as filterByTargetScheme,
2870
2881
  T as findAiVendor,
2871
- Ra as flattenLocales,
2882
+ Lo as flattenLocales,
2872
2883
  Ge as floorToPeriod,
2873
- Ct as formatActingIdentity,
2874
- Ui as formatClock,
2875
- Pi as formatHm,
2876
- qi as formatItemKey,
2884
+ Ot as formatActingIdentity,
2885
+ ji as formatClock,
2886
+ Ki as formatHm,
2887
+ Zi as formatItemKey,
2877
2888
  je as formatPeriod,
2878
- ua as freshSources,
2879
- pr as getActivitySeenUserIds,
2880
- Gr as getContactEndpoints,
2881
- qr as getShortTitle,
2882
- Yr as getUrgencyScore,
2889
+ fo as freshSources,
2890
+ fr as getActivitySeenUserIds,
2891
+ Br as getContactEndpoints,
2892
+ Zr as getShortTitle,
2893
+ Jr as getUrgencyScore,
2883
2894
  Ee as heightOf,
2884
- Zr as helpCenterText,
2885
- Ti as humanizeAction,
2886
- Dt as interactionIdOf,
2887
- Wi as isAgentUser,
2888
- zr as isAssigned,
2889
- xr as isAssignmentTerminal,
2890
- Rt as isAssignmentTrigger,
2891
- vi as isAutoReady,
2892
- St as isAwaitingThem,
2893
- mr as isChatMessageActivity,
2894
- Xr as isClosed,
2895
- or as isConnectedType,
2896
- Wa as isDeepLink,
2897
- Tt as isDescendant,
2898
- Br as isEligible,
2899
- fr as isEmailActivity,
2900
- co as isHtmlBody,
2901
- Ri as isInFlight,
2895
+ ei as helpCenterText,
2896
+ wi as humanizeAction,
2897
+ Lt as interactionIdOf,
2898
+ zi as isAgentUser,
2899
+ Yr as isAssigned,
2900
+ Dr as isAssignmentTerminal,
2901
+ $t as isAssignmentTrigger,
2902
+ Ri as isAutoReady,
2903
+ _t as isAwaitingThem,
2904
+ gr as isChatMessageActivity,
2905
+ qr as isClosed,
2906
+ sr as isConnectedType,
2907
+ Yo as isDeepLink,
2908
+ It as isDescendant,
2909
+ Hr as isEligible,
2910
+ mr as isEmailActivity,
2911
+ pa as isHtmlBody,
2912
+ xi as isInFlight,
2902
2913
  ft as isInteractionUnseen,
2903
- Va as isLandingPath,
2914
+ qo as isLandingPath,
2904
2915
  ut as isLikelyBulk,
2905
2916
  le as isMessageShape,
2906
- nr as isMessageType,
2907
- Sn as isMoreSpecificPattern,
2908
- la as isOutwardTool,
2917
+ rr as isMessageType,
2918
+ _n as isMoreSpecificPattern,
2919
+ po as isOutwardTool,
2909
2920
  bt as isParked,
2910
- Bt as isPaused,
2921
+ Ht as isPaused,
2911
2922
  ar as isPlaybookAuthoredType,
2912
- io as isPublicEmailDomain,
2913
- Xa as isPublicPath,
2923
+ ca as isPublicEmailDomain,
2924
+ Zo as isPublicPath,
2914
2925
  Et as isReminderActive,
2915
- rr as isReplyableType,
2916
- Wr as isSlaAtRisk,
2917
- Ni as isTerminal,
2918
- Fr as isThreadLongEnough,
2919
- sr as isTranscriptType,
2920
- ra as isWorkClosed,
2921
- ji as isWorkTypeVisible,
2922
- Qi as itemDossierKeys,
2923
- en as ladderFor,
2924
- Jr as linkLabel,
2925
- _r as listeningAllowed,
2926
- ei as localeInstruction,
2927
- Qr as localeName,
2928
- ni as localesOf,
2929
- to as looksLikeEmail,
2930
- _a as matchContactToIntents,
2931
- _n as matchPublicRoute,
2932
- ai as mcpCredentialScope,
2933
- oi as mcpToolPrefix,
2934
- Za as mergeShownKeys,
2926
+ ir as isReplyableType,
2927
+ zr as isSlaAtRisk,
2928
+ $i as isTerminal,
2929
+ Vr as isThreadLongEnough,
2930
+ cr as isTranscriptType,
2931
+ oo as isWorkClosed,
2932
+ Bi as isWorkTypeVisible,
2933
+ to as itemDossierKeys,
2934
+ tn as ladderFor,
2935
+ Qr as linkLabel,
2936
+ Tr as listeningAllowed,
2937
+ ni as localeInstruction,
2938
+ ti as localeName,
2939
+ ii as localesOf,
2940
+ oa as looksLikeEmail,
2941
+ wo as matchContactToIntents,
2942
+ Tn as matchPublicRoute,
2943
+ si as mcpCredentialScope,
2944
+ ci as mcpToolPrefix,
2945
+ na as mergeShownKeys,
2935
2946
  Re as messageCountsAs,
2936
- ao as needsPhoneRegion,
2937
- kr as normalizeArtifactBlocks,
2938
- Qn as normalizeBlocks,
2947
+ la as needsPhoneRegion,
2948
+ Cr as normalizeArtifactBlocks,
2949
+ er as normalizeBlocks,
2939
2950
  Ce as normalizeEmail,
2940
2951
  h as normalizeExample,
2941
- xa as notificationPrefKey,
2942
- Rn as novelty,
2943
- Hr as parkMarksById,
2944
- hi as parseActingIdentity,
2945
- Ji as parseItemKey,
2946
- An as pathToRegex,
2947
- Ir as periodsInRange,
2948
- no as phoneSuffix,
2949
- so as plainTextFromMarkdown,
2950
- Nt as playbookActor,
2951
- Oi as procedureOf,
2952
- ea as projectDossierKeys,
2953
- En as publicBasePathFor,
2954
- za as publicRoutePatterns,
2952
+ Uo as notificationPrefKey,
2953
+ $n as novelty,
2954
+ Fr as parkMarksById,
2955
+ Ai as parseActingIdentity,
2956
+ Qi as parseItemKey,
2957
+ bn as pathToRegex,
2958
+ wr as periodsInRange,
2959
+ aa as phoneSuffix,
2960
+ da as plainTextFromMarkdown,
2961
+ Rt as playbookActor,
2962
+ Ni as procedureOf,
2963
+ no as projectDossierKeys,
2964
+ Sn as publicBasePathFor,
2965
+ Jo as publicRoutePatterns,
2955
2966
  v as readPath,
2956
2967
  Z as readStepError,
2957
2968
  At as recencyOf,
2958
- $t as refKey,
2959
- Gn as registrableDomain,
2960
- Xt as rejectExampleCandidate,
2961
- pi as relatedByDefault,
2962
- dn as resolveAccountCapabilities,
2969
+ xt as refKey,
2970
+ Bn as registrableDomain,
2971
+ Yt as rejectExampleCandidate,
2972
+ mi as relatedByDefault,
2973
+ pn as resolveAccountCapabilities,
2963
2974
  N as resolveActivityText,
2964
- un as resolveChannelIntents,
2965
- at as resolveSignature,
2966
- Ua as resolveWorkMode,
2967
- Fa as resourceKindOf,
2968
- yi as runActor,
2969
- xi as runInteractionId,
2975
+ dn as resolveChannelIntents,
2976
+ ot as resolveSignature,
2977
+ Bo as resolveWorkMode,
2978
+ Xo as resourceKindOf,
2979
+ bi as runActor,
2980
+ Li as runInteractionId,
2970
2981
  Ze as sanitizeInline,
2971
- In as sanitizeTranscript,
2972
- Vr as scoreInteraction,
2973
- Yi as scoreWorkItem,
2974
- ii as selectLenses,
2975
- ha as sessionsHoldCannotReach,
2976
- ga as sessionsToHold,
2982
+ wn as sanitizeTranscript,
2983
+ Xr as scoreInteraction,
2984
+ Ji as scoreWorkItem,
2985
+ ai as selectLenses,
2986
+ bo as sessionsHoldCannotReach,
2987
+ Ao as sessionsToHold,
2977
2988
  ge as shareKeyForTeam,
2978
2989
  me as shareKeyForUser,
2979
- Rr as shareKeysForViewer,
2980
- Ka as shouldRunAudioPipeline,
2981
- nn as sortStatuses,
2982
- ln as sourceKey,
2983
- ta as statusIn,
2984
- Ci as stepsOf,
2990
+ $r as shareKeysForViewer,
2991
+ Ho as shouldRunAudioPipeline,
2992
+ Wr as slaHoursByInbox,
2993
+ St as slaHoursFor,
2994
+ rn as sortStatuses,
2995
+ un as sourceKey,
2996
+ ro as statusIn,
2997
+ vi as stepsOf,
2985
2998
  Ne as stripHtml,
2986
- $i as subjectKeyOf,
2999
+ Di as subjectKeyOf,
2987
3000
  Se as subjectOf,
2988
- fa as subjectRef,
2989
- Zi as suggestProjectKey,
2990
- Si as targetById,
2991
- Ei as targetForActivityType,
2992
- vt as toActingIdentity,
3001
+ ho as subjectRef,
3002
+ eo as suggestProjectKey,
3003
+ Ti as targetById,
3004
+ _i as targetForActivityType,
3005
+ Nt as toActingIdentity,
2993
3006
  re as toE164,
2994
- $r as toolSourceKinds,
2995
- Yt as topicOfferedForTeam,
2996
- Fi as topicsForTeam,
2997
- zt as truncateExample,
2998
- ia as uniqueWorkStatusKey,
2999
- Ki as uniqueWorkTypeKey,
3000
- Ve as usageMetricId,
3001
- wr as usageMetrics,
3002
- aa as validateStatuses,
3003
- bi as valueAtPath,
3007
+ xr as toolSourceKinds,
3008
+ qt as topicOfferedForTeam,
3009
+ Wi as topicsForTeam,
3010
+ Xt as truncateExample,
3011
+ ao as uniqueWorkStatusKey,
3012
+ Gi as uniqueWorkTypeKey,
3013
+ We as usageMetricId,
3014
+ Mr as usageMetrics,
3015
+ so as validateStatuses,
3016
+ Si as valueAtPath,
3004
3017
  R as waitHoursOf,
3005
- Lr as wakesAssignment,
3006
- Qt as workItemScopeKey,
3018
+ Pr as wakesAssignment,
3019
+ en as workItemScopeKey,
3007
3020
  _e as workProjectScopeKey,
3008
- rn as workStatusKey,
3009
- Ht as workTypeKey
3021
+ on as workStatusKey,
3022
+ Ft as workTypeKey
3010
3023
  };