@opencxh/domain 1.194.0 → 1.196.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 Vn = 10, zn = 10, Xn = 10, Yn = 5, Ne = /* @__PURE__ */ new Set([
1
+ const Yn = 10, qn = 10, Jn = 10, Zn = 5, Ne = /* @__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 Qn(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
  }
@@ -83,7 +83,7 @@ function D(e) {
83
83
  function M(e) {
84
84
  return e?.split("@")?.[0] || e || "";
85
85
  }
86
- function S(e) {
86
+ function E(e) {
87
87
  return e.map((t) => t.name).join(", ");
88
88
  }
89
89
  function L(e) {
@@ -245,9 +245,9 @@ const m = {
245
245
  shape: "event",
246
246
  channelKind: "chat",
247
247
  icon: "message-circle",
248
- snippet: (e) => `${S(e.payload.members)} toegevoegd`,
248
+ snippet: (e) => `${E(e.payload.members)} toegevoegd`,
249
249
  timeline: (e) => {
250
- const t = S(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · added by ${e.payload.initiator.name}` : "";
250
+ const t = E(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · added by ${e.payload.initiator.name}` : "";
251
251
  return `${t} joined the chat${n}`;
252
252
  }
253
253
  },
@@ -255,9 +255,9 @@ const m = {
255
255
  shape: "event",
256
256
  channelKind: "chat",
257
257
  icon: "message-circle",
258
- snippet: (e) => `${S(e.payload.members)} verlaten`,
258
+ snippet: (e) => `${E(e.payload.members)} verlaten`,
259
259
  timeline: (e) => {
260
- const t = S(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · removed by ${e.payload.initiator.name}` : "";
260
+ const t = E(e.payload.members) || "Someone", n = e.payload.initiator?.name ? ` · removed by ${e.payload.initiator.name}` : "";
261
261
  return `${t} left the chat${n}`;
262
262
  }
263
263
  },
@@ -445,34 +445,34 @@ function P(e) {
445
445
  function d(e) {
446
446
  return m[e];
447
447
  }
448
- function Jn(e) {
448
+ function er(e) {
449
449
  return d(e)?.icon ?? "circle";
450
450
  }
451
- function Zn(e) {
451
+ function tr(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 Qn(e) {
457
+ function nr(e) {
458
458
  return le(d(e)?.shape);
459
459
  }
460
- function er(e) {
460
+ function rr(e) {
461
461
  return d(e)?.replyable === !0;
462
462
  }
463
- function tr(e) {
463
+ function ir(e) {
464
464
  return d(e)?.carriesText === !0;
465
465
  }
466
466
  function Re(e) {
467
467
  return d(e)?.countsAs;
468
468
  }
469
- function nr(e) {
469
+ function or(e) {
470
470
  return d(e)?.playbookAuthored === !0;
471
471
  }
472
- function rr(e) {
472
+ function ar(e) {
473
473
  return d(e)?.connected === !0;
474
474
  }
475
- function ir(e) {
475
+ function sr(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 ar(e, t) {
483
+ function cr(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 or(e) {
487
+ function lr(e) {
488
488
  const t = d(e.type)?.joinUrl;
489
489
  return t ? t(e) : void 0;
490
490
  }
@@ -502,8 +502,8 @@ function v(e, t, n) {
502
502
  if ("value" in e)
503
503
  return N(t, e.value) || null;
504
504
  const r = {};
505
- for (const [a, o] of Object.entries(e.params ?? {}))
506
- r[a] = N(t, o);
505
+ for (const [o, a] of Object.entries(e.params ?? {}))
506
+ r[o] = N(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 sr(e, t) {
522
+ function ur(e, t) {
523
523
  const n = xe(t?.text, e), r = t ? v(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 cr = new Pe();
653
- function lr(e, t, n = []) {
652
+ const dr = new Pe();
653
+ function pr(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 ur(e) {
662
+ function fr(e) {
663
663
  return e.type === "EMAIL_RECEIVED" || e.type === "EMAIL_SENT";
664
664
  }
665
- function dr(e) {
665
+ function mr(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 pr(e) {
761
+ function gr(e) {
762
762
  return T(e)?.label ?? e;
763
763
  }
764
- function fr(e, t = "gpt-5-mini") {
764
+ function hr(e, t = "gpt-5-mini") {
765
765
  return T(e)?.defaultModel ?? t;
766
766
  }
767
- function mr(e) {
767
+ function yr(e) {
768
768
  return ue.filter((t) => t.capabilities.includes(e));
769
769
  }
770
- function gr(e) {
770
+ function Ar(e) {
771
771
  const t = T(e);
772
772
  return !!t && !t.baseUrl;
773
773
  }
774
- function hr(e, t) {
774
+ function br(e, t) {
775
775
  return t === "text" ? !0 : T(e)?.attachmentKinds?.includes(t) === !0;
776
776
  }
777
- function yr(e, t) {
777
+ function Er(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 Ar(e, t = "month") {
789
+ function Sr(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 br(e) {
793
+ function _r(e) {
794
794
  return e?.listeningEnabled !== !1;
795
795
  }
796
- const Sr = [
796
+ const Tr = [
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 Er(e, t, n) {
818
+ function Ir(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 _r(e, t) {
831
+ function wr(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, Tr = 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, Mr = 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 Ir(e, t = () => {
915
+ function kr(e, t = () => {
916
916
  }) {
917
917
  if (!Array.isArray(e)) return [];
918
918
  const n = [];
@@ -927,52 +927,52 @@ function Ir(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 Ir(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 Ir(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 Ir(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 Ir(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 Ir(e, t = () => {
1064
1064
  }
1065
1065
  return n;
1066
1066
  }
1067
- function wr(e) {
1067
+ function Cr(e) {
1068
1068
  return JSON.stringify(e).length;
1069
1069
  }
1070
- function Mr(e) {
1070
+ function Or(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 kr(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 kr(e, t) {
1133
1133
  `;
1134
1134
  }
1135
1135
  const me = (e) => `user:${e}`, ge = (e) => `team:${e}`;
1136
- function Cr(e) {
1136
+ function vr(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 Or(e, t) {
1142
+ function Rr(e, t) {
1143
1143
  return [me(e), ...t.map(ge)];
1144
1144
  }
1145
- function Nr(e) {
1145
+ function $r(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 vr(e) {
1152
+ function xr(e) {
1153
1153
  return nt.includes(e);
1154
1154
  }
1155
1155
  const rt = "assignment";
1156
- function Rr(e) {
1156
+ function Dr(e) {
1157
1157
  return `${rt}:${e}`;
1158
1158
  }
1159
- function $r(e, t, n) {
1159
+ function Lr(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 xr(e) {
1165
+ function Pr(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 Dr(e, t, n = it) {
1169
+ function Ur(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 Dr(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 Lr = /* @__PURE__ */ new Set(["mail", "message"]);
1184
- function at(e, t) {
1183
+ const Kr = /* @__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 Pr(e, t, n, r = "html") {
1188
+ function jr(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 Ur(e) {
1195
+ function Gr(e) {
1196
1196
  return e.endpoints ?? [];
1197
1197
  }
1198
- const ot = 36e5, st = 864e5, g = -1 / 0, Kr = (e) => e.score > g, _ = {
1198
+ const at = 36e5, st = 864e5, g = -1 / 0, Br = (e) => e.score > g, _ = {
1199
1199
  urgent: 40,
1200
1200
  high: 25,
1201
1201
  normal: 10,
1202
1202
  low: 0
1203
1203
  };
1204
- function jr(e) {
1204
+ function Hr(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 Gr(e, t) {
1212
+ function Fr(e, t) {
1213
1213
  return e >= dt || t >= pt;
1214
1214
  }
1215
1215
  function ft(e, t) {
@@ -1228,49 +1228,49 @@ function At(e) {
1228
1228
  return e.lastActivityAt ?? (e.createdAt ? new Date(Ue(e)).getTime() : 0);
1229
1229
  }
1230
1230
  function bt(e, t) {
1231
- return St(t.remindersById?.[e.id], e, t.now);
1231
+ return Et(t.remindersById?.[e.id], e, t.now);
1232
1232
  }
1233
- function St(e, t, n) {
1233
+ function Et(e, t, n) {
1234
1234
  return !e || e.remindAt <= n ? !1 : !((t.lastActivityAt ?? 0) > e.parkedAt && t.lastActivityPreview?.direction === "inbound");
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);
1238
+ return Math.max(0, (t - At(e)) / at);
1239
1239
  }
1240
- function Br(e, t) {
1240
+ function Vr(e, t) {
1241
1241
  return !ye(e.status) || e.firstResponseAt ? !1 : R(e, t) > ht[e.priority ?? "normal"];
1242
1242
  }
1243
- function Et(e, t) {
1243
+ function St(e, t) {
1244
1244
  const n = e.lastActivityPreview;
1245
1245
  return n?.direction !== "outbound" || !he(n.type) ? !1 : R(e, t) < yt;
1246
1246
  }
1247
- function Hr(e, t) {
1247
+ function Wr(e, t) {
1248
1248
  if (!ye(e.status)) return { score: g, reasons: [] };
1249
1249
  if (e.snoozedTill && e.snoozedTill > t.now) return { score: g, reasons: [] };
1250
- if (Et(e, t.now)) return { score: g, reasons: [] };
1250
+ if (St(e, t.now)) return { score: g, reasons: [] };
1251
1251
  if (bt(e, t)) return { score: g, reasons: [] };
1252
1252
  let n = 0;
1253
1253
  const r = [], i = e.priority ?? "normal";
1254
1254
  _[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`);
1255
+ const o = R(e, t.now);
1256
+ if (o > 0) {
1257
+ const s = Math.min(o * 2, 30);
1258
+ n += s, o >= 1 && r.push(`waiting:${Math.round(o)}h`);
1259
1259
  }
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 };
1260
+ const a = e.lastActivityPreview;
1261
+ 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
1262
  }
1263
- const Fr = (e) => !!e.assignedUserId || !!e.assignedInboxId, Wr = (e) => e.status === "closed", Vr = (e) => ({
1263
+ const zr = (e) => !!e.assignedUserId || !!e.assignedInboxId, Xr = (e) => e.status === "closed", Yr = (e) => ({
1264
1264
  urgent: 10,
1265
1265
  high: 5,
1266
1266
  normal: 2,
1267
1267
  low: 1
1268
- })[e.priority] || 0, zr = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1269
- function Xr(e, t) {
1268
+ })[e.priority] || 0, qr = (e, t = 30) => e.title?.length <= t ? e.title : `${e.title.substring(0, t)}...`;
1269
+ function Jr(e, t) {
1270
1270
  const n = e.labels ?? [];
1271
1271
  return n.find((r) => r.locale === t)?.label ?? n[0]?.label ?? e.url;
1272
1272
  }
1273
- function Yr(e, t, n) {
1273
+ function Zr(e, t, n) {
1274
1274
  const r = e.translations ?? [];
1275
1275
  return r.find((i) => i.locale === t) ?? (n ? r.find((i) => i.locale === n) : void 0) ?? { locale: t };
1276
1276
  }
@@ -1293,10 +1293,10 @@ function Ae(e) {
1293
1293
  const t = (e ?? "").toLowerCase();
1294
1294
  return q.find((n) => n.code === t) ?? q.find((n) => n.code === t.split("-")[0]);
1295
1295
  }
1296
- function qr(e) {
1296
+ function Qr(e) {
1297
1297
  return Ae(e)?.label ?? e;
1298
1298
  }
1299
- function Jr(e) {
1299
+ function ei(e) {
1300
1300
  const t = Ae(e);
1301
1301
  return t ? t.english === t.label ? `${t.english} (${t.code})` : `${t.english} — ${t.label} (${t.code})` : e;
1302
1302
  }
@@ -1310,13 +1310,13 @@ function _t(e, t) {
1310
1310
  }
1311
1311
  return r;
1312
1312
  }
1313
- function Zr(e, t, n) {
1313
+ function ti(e, t, n) {
1314
1314
  if (!e) return !0;
1315
1315
  if (e === t) return !1;
1316
- const r = new Map(n.map((o) => [o.id, o]));
1316
+ const r = new Map(n.map((a) => [a.id, a]));
1317
1317
  if (!r.has(e) || t && Tt(e, t, r)) return !1;
1318
- const i = _t(e, r), a = t ? Se(t, n) : 1;
1319
- return i + a <= be;
1318
+ const i = _t(e, r), o = t ? Ee(t, n) : 1;
1319
+ return i + o <= be;
1320
1320
  }
1321
1321
  function Tt(e, t, n) {
1322
1322
  const r = /* @__PURE__ */ new Set();
@@ -1328,23 +1328,23 @@ function Tt(e, t, n) {
1328
1328
  }
1329
1329
  return !1;
1330
1330
  }
1331
- function Se(e, t, n = /* @__PURE__ */ new Set()) {
1331
+ function Ee(e, t, n = /* @__PURE__ */ new Set()) {
1332
1332
  if (n.has(e)) return 1;
1333
1333
  n.add(e);
1334
1334
  const r = t.filter((i) => i.parentId === e);
1335
- return r.length ? 1 + Math.max(...r.map((i) => Se(i.id, t, n))) : 1;
1335
+ return r.length ? 1 + Math.max(...r.map((i) => Ee(i.id, t, n))) : 1;
1336
1336
  }
1337
1337
  const It = "en";
1338
1338
  function wt(e) {
1339
1339
  return e.defaultLocale || e.locale || It;
1340
1340
  }
1341
- function Qr(e) {
1341
+ function ni(e) {
1342
1342
  const t = /* @__PURE__ */ new Set(), n = [];
1343
1343
  for (const r of [wt(e), ...e.locales ?? []])
1344
1344
  !r || t.has(r) || (t.add(r), n.push(r));
1345
1345
  return n;
1346
1346
  }
1347
- function ei(e, t, n) {
1347
+ function ri(e, t, n) {
1348
1348
  const r = e.translations ?? [];
1349
1349
  return r.find((i) => i.locale === t)?.name ?? (n ? r.find((i) => i.locale === n)?.name : void 0) ?? e.name;
1350
1350
  }
@@ -1375,22 +1375,22 @@ function Mt(e, t) {
1375
1375
  return e.userId === t.userId;
1376
1376
  }
1377
1377
  }
1378
- function ti(e, t) {
1378
+ function ii(e, t) {
1379
1379
  return e.filter((n) => n.enabled && Mt(n.ownerScope, t));
1380
1380
  }
1381
- function ni(e) {
1381
+ function oi(e) {
1382
1382
  return e.credentialScope ? e.credentialScope : (e.authMode ?? "header") === "header" || e.oauth?.scope === "org" ? "shared" : "per-user";
1383
1383
  }
1384
- function ri(e) {
1384
+ function ai(e) {
1385
1385
  return `mcp__${e}__`;
1386
1386
  }
1387
- const ii = 1e3, ai = 2e3, oi = 500, si = 12e3, ci = 4e3, kt = ["contact", "company", "work_item"];
1388
- function li(e) {
1387
+ const si = 1e3, ci = 2e3, li = 500, ui = 12e3, di = 4e3, kt = ["contact", "company", "work_item"];
1388
+ function pi(e) {
1389
1389
  if (!e) return !1;
1390
1390
  const t = e.slice(0, e.indexOf(":"));
1391
1391
  return kt.includes(t);
1392
1392
  }
1393
- const ui = "onboarding-source", di = ["support", "billing", "availability", "sales", "onboarding"], pi = ["keep", "replace"];
1393
+ const fi = "onboarding-source", mi = ["support", "billing", "availability", "sales", "onboarding"], gi = ["keep", "replace"];
1394
1394
  function Ct(e) {
1395
1395
  switch (e.kind) {
1396
1396
  case "user":
@@ -1401,7 +1401,7 @@ function Ct(e) {
1401
1401
  return "org";
1402
1402
  }
1403
1403
  }
1404
- function fi(e) {
1404
+ function hi(e) {
1405
1405
  if (typeof e != "string") return;
1406
1406
  const t = e.trim();
1407
1407
  if (t === "org") return { kind: "org" };
@@ -1427,13 +1427,13 @@ function Nt(e) {
1427
1427
  }
1428
1428
  }
1429
1429
  const vt = Nt;
1430
- function mi(e) {
1430
+ function yi(e) {
1431
1431
  return e.agentId ? { kind: "user", userId: e.agentId } : vt(e.ownerScope);
1432
1432
  }
1433
- function gi(e) {
1433
+ function Ai(e) {
1434
1434
  return Ot(e);
1435
1435
  }
1436
- function hi(e, t) {
1436
+ function bi(e, t) {
1437
1437
  if (!t) return;
1438
1438
  let n = e;
1439
1439
  for (const r of t.split(".")) {
@@ -1442,24 +1442,24 @@ function hi(e, t) {
1442
1442
  }
1443
1443
  return n;
1444
1444
  }
1445
- function yi(e, t) {
1445
+ function Ei(e, t) {
1446
1446
  return e.targets.find((n) => n.activityTypes.includes(t));
1447
1447
  }
1448
- function Ai(e, t) {
1448
+ function Si(e, t) {
1449
1449
  if (t)
1450
1450
  return e.targets.find((n) => n.id === t);
1451
1451
  }
1452
1452
  function Rt(e) {
1453
1453
  return e?.kind === "assignment";
1454
1454
  }
1455
- function bi(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";
1455
+ function _i(e) {
1456
+ const { trigger: t, agentId: n, target: r, activityType: i, assigneeUserId: o, authorUserId: a } = e;
1457
+ return Rt(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
1458
  }
1459
- function Si(e) {
1459
+ function Ti(e) {
1460
1460
  return (e.startsWith("tool:") ? e.slice(5) : e).replace(/__/g, " · ").replace(/\./g, " · ").replace(/_/g, " ");
1461
1461
  }
1462
- const Ei = [
1462
+ const Ii = [
1463
1463
  { name: "text", type: "string" },
1464
1464
  { name: "subject", type: "string" },
1465
1465
  { name: "from", type: "string" },
@@ -1493,7 +1493,7 @@ const Ei = [
1493
1493
  // `buildTriggerVars` cannot fill it itself: the job does that with the catalog in hand, before
1494
1494
  // the trigger filter runs — like contactId/companyId above.
1495
1495
  { name: "assigneeUserId", type: "string" }
1496
- ], _i = {
1496
+ ], wi = {
1497
1497
  topics: [
1498
1498
  { name: "topicId", type: "string" },
1499
1499
  { name: "topic", type: "string" },
@@ -1515,155 +1515,164 @@ function Dt(e) {
1515
1515
  return e?.type === xt ? e.id : void 0;
1516
1516
  }
1517
1517
  const Lt = 64, Pt = 8e3;
1518
- function Ti(e) {
1518
+ function Mi(e) {
1519
1519
  const t = typeof e == "number" ? e : Number(String(e ?? "").trim());
1520
1520
  if (!(!Number.isFinite(t) || t <= 0))
1521
1521
  return Math.min(Math.max(Math.round(t), Lt), Pt);
1522
1522
  }
1523
- const Ii = { kind: "workflow", steps: [] };
1524
- function wi(e) {
1523
+ const ki = { kind: "workflow", steps: [] };
1524
+ function Ci(e) {
1525
1525
  return e?.kind === "workflow" ? e.steps : [];
1526
1526
  }
1527
- function Mi(e) {
1527
+ function Oi(e) {
1528
1528
  return e?.kind === "procedure" ? e.procedure : void 0;
1529
1529
  }
1530
- const Ut = ["done", "escalated", "failed", "stopped"];
1531
- function ki(e) {
1532
- return Ut.includes(e);
1530
+ function Ut(e) {
1531
+ const t = e?.approved ?? 0, n = t + (e?.rejected ?? 0);
1532
+ return { total: n, rate: n ? t / n : 0 };
1533
1533
  }
1534
- function Kt(e) {
1534
+ const Kt = 10, jt = 0.9;
1535
+ function Ni(e) {
1536
+ const { total: t, rate: n } = Ut(e);
1537
+ return t >= Kt && n >= jt;
1538
+ }
1539
+ const Gt = ["done", "escalated", "failed", "stopped"];
1540
+ function vi(e) {
1541
+ return Gt.includes(e);
1542
+ }
1543
+ function Bt(e) {
1535
1544
  return e === "waiting";
1536
1545
  }
1537
- function Ci(e) {
1538
- return e === "running" || Kt(e);
1546
+ function Ri(e) {
1547
+ return e === "running" || Bt(e);
1539
1548
  }
1540
- function Ee(e) {
1549
+ function Se(e) {
1541
1550
  return e.subjectKind && e.subjectId ? { type: e.subjectKind, id: e.subjectId } : void 0;
1542
1551
  }
1543
- function Oi(e) {
1544
- const t = Ee(e);
1552
+ function $i(e) {
1553
+ const t = Se(e);
1545
1554
  return t ? $t(t) : void 0;
1546
1555
  }
1547
- function Ni(e) {
1548
- return Dt(Ee(e));
1556
+ function xi(e) {
1557
+ return Dt(Se(e));
1549
1558
  }
1550
- function vi(e, t) {
1559
+ function Di(e, t) {
1551
1560
  const n = e.accumulatedSeconds || 0;
1552
1561
  return e.runningSince ? n + Math.max(0, Math.floor((t - e.runningSince) / 1e3)) : n;
1553
1562
  }
1554
- function Ri(e, t) {
1563
+ function Li(e, t) {
1555
1564
  const n = Math.max(1, Math.ceil(Math.max(0, e) / 60));
1556
1565
  if (!t || t === "exact") return n * 60;
1557
1566
  const r = Number(t);
1558
1567
  return !Number.isFinite(r) || r <= 0 ? n * 60 : Math.ceil(n / r) * r * 60;
1559
1568
  }
1560
- function $i(e) {
1569
+ function Pi(e) {
1561
1570
  const t = Math.max(0, Math.round(e / 60));
1562
1571
  return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
1563
1572
  }
1564
- function xi(e) {
1565
- 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);
1573
+ function Ui(e) {
1574
+ 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);
1566
1575
  return i > 0 ? `${i}:${n(r)}:${n(t % 60)}` : `${n(r)}:${n(t % 60)}`;
1567
1576
  }
1568
- function jt(e) {
1577
+ function Ht(e) {
1569
1578
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
1570
1579
  }
1571
- function Di(e, t) {
1572
- const n = jt(e) || "werksoort", r = new Set(t);
1580
+ function Ki(e, t) {
1581
+ const n = Ht(e) || "werksoort", r = new Set(t);
1573
1582
  if (!r.has(n)) return n;
1574
1583
  for (let i = 2; i < 500; i++) {
1575
- const a = `${n}-${i}`;
1576
- if (!r.has(a)) return a;
1584
+ const o = `${n}-${i}`;
1585
+ if (!r.has(o)) return o;
1577
1586
  }
1578
1587
  return `${n}-${r.size + 1}`;
1579
1588
  }
1580
- function Li(e, t) {
1589
+ function ji(e, t) {
1581
1590
  const n = e.ownerScope;
1582
1591
  return !n || n.kind === "org" ? !0 : t.includes(n.teamId);
1583
1592
  }
1584
- function Pi(e) {
1585
- return e.filter((t) => !t.archived).sort(Gt);
1593
+ function Gi(e) {
1594
+ return e.filter((t) => !t.archived).sort(Ft);
1586
1595
  }
1587
- function Gt(e, t) {
1596
+ function Ft(e, t) {
1588
1597
  const n = (e.order ?? 0) - (t.order ?? 0);
1589
1598
  return n !== 0 ? n : (e.label || "").localeCompare(t.label || "");
1590
1599
  }
1591
- const Bt = 20, Ht = 20, O = 300;
1600
+ const Vt = 20, Wt = 20, O = 300;
1592
1601
  function h(e) {
1593
1602
  return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
1594
1603
  }
1595
- function Ft(e) {
1604
+ function zt(e) {
1596
1605
  const t = e.replace(/\s+/g, " ").trim();
1597
1606
  if (t.length <= O) return t;
1598
1607
  const n = t.slice(0, O), r = Math.max(n.lastIndexOf(". "), n.lastIndexOf("! "), n.lastIndexOf("? "));
1599
1608
  return r > O * 0.6 ? n.slice(0, r + 1) : `${n.trimEnd()}…`;
1600
1609
  }
1601
- function Ui(e, t) {
1602
- const n = Ft(t.text), r = h(n);
1603
- if (!r || (e.examples ?? []).some((o) => h(o) === r)) return null;
1604
- const i = e.exampleCandidates ?? [], a = i.findIndex((o) => h(o.text) === r);
1605
- if (a >= 0) {
1606
- if (i[a].corrected || !t.corrected) return null;
1607
- const o = [...i];
1608
- return o[a] = { ...o[a], corrected: !0, addedAt: t.addedAt }, Q(o);
1610
+ function Bi(e, t) {
1611
+ const n = zt(t.text), r = h(n);
1612
+ if (!r || (e.examples ?? []).some((a) => h(a) === r)) return null;
1613
+ const i = e.exampleCandidates ?? [], o = i.findIndex((a) => h(a.text) === r);
1614
+ if (o >= 0) {
1615
+ if (i[o].corrected || !t.corrected) return null;
1616
+ const a = [...i];
1617
+ return a[o] = { ...a[o], corrected: !0, addedAt: t.addedAt }, Q(a);
1609
1618
  }
1610
- return Q([{ ...t, text: n }, ...i]).slice(0, Ht);
1619
+ return Q([{ ...t, text: n }, ...i]).slice(0, Wt);
1611
1620
  }
1612
1621
  function Q(e) {
1613
1622
  return [...e].sort(
1614
1623
  (t, n) => Number(n.corrected) - Number(t.corrected) || n.addedAt - t.addedAt
1615
1624
  );
1616
1625
  }
1617
- function Ki(e, t) {
1618
- const n = h(t), r = (e.examples ?? []).filter((a) => a.trim());
1619
- return { examples: r.some((a) => h(a) === n) ? r : [...r, t].slice(-Bt), exampleCandidates: Wt(e, t) };
1626
+ function Hi(e, t) {
1627
+ const n = h(t), r = (e.examples ?? []).filter((o) => o.trim());
1628
+ return { examples: r.some((o) => h(o) === n) ? r : [...r, t].slice(-Vt), exampleCandidates: Xt(e, t) };
1620
1629
  }
1621
- function Wt(e, t) {
1630
+ function Xt(e, t) {
1622
1631
  const n = h(t);
1623
1632
  return (e.exampleCandidates ?? []).filter((r) => h(r.text) !== n);
1624
1633
  }
1625
- function Vt(e, t) {
1634
+ function Yt(e, t) {
1626
1635
  const n = e.ownerScope;
1627
1636
  return n ? n.kind === "org" ? !0 : n.kind === "team" ? !!t && n.teamId === t : !1 : !1;
1628
1637
  }
1629
- function ji(e, t) {
1630
- return e.filter((n) => Vt(n, t));
1638
+ function Fi(e, t) {
1639
+ return e.filter((n) => Yt(n, t));
1631
1640
  }
1632
- function Gi(e) {
1641
+ function Vi(e) {
1633
1642
  return e.type === "agent";
1634
1643
  }
1635
- const Bi = "WORK_COMMENT_ADDED", Hi = "WORK_ITEM_ASSIGNED", Fi = "WORK_ITEM_STATUS_CHANGED";
1636
- function zt(e, t) {
1644
+ const Wi = "WORK_COMMENT_ADDED", zi = "WORK_ITEM_ASSIGNED", Xi = "WORK_ITEM_STATUS_CHANGED";
1645
+ function qt(e, t) {
1637
1646
  const n = (r) => {
1638
1647
  const i = new Date(r);
1639
1648
  return i.setHours(0, 0, 0, 0), i.getTime();
1640
1649
  };
1641
1650
  return Math.round((n(e) - n(t)) / st);
1642
1651
  }
1643
- function Wi(e, t) {
1652
+ function Yi(e, t) {
1644
1653
  if (e.closedAt != null) return { score: g, reasons: [] };
1645
1654
  const n = t.remindersById?.[e.id];
1646
1655
  if (n && n.remindAt > t.now) return { score: g, reasons: [] };
1647
1656
  let r = 0;
1648
- const i = [], a = e.priority ?? "normal";
1649
- if (_[a] > 0 && (r += _[a], i.push(`priority:${a}`)), typeof e.dueDate == "number") {
1650
- const o = zt(e.dueDate, t.now);
1651
- o < 0 ? (r += 35, i.push("overdue")) : o === 0 && (r += 20, i.push("due-today"));
1657
+ const i = [], o = e.priority ?? "normal";
1658
+ if (_[o] > 0 && (r += _[o], i.push(`priority:${o}`)), typeof e.dueDate == "number") {
1659
+ const a = qt(e.dueDate, t.now);
1660
+ a < 0 ? (r += 35, i.push("overdue")) : a === 0 && (r += 20, i.push("due-today"));
1652
1661
  }
1653
1662
  return e.source?.initiator === "system" && e.source.systemReason && (r += 15, i.push(`auto:${e.source.systemReason}`)), { score: r, reasons: i };
1654
1663
  }
1655
- const Xt = "work_item", Yt = "work_project";
1656
- function qt(e) {
1657
- return `${Xt}:${e}`;
1664
+ const Jt = "work_item", Zt = "work_project";
1665
+ function Qt(e) {
1666
+ return `${Jt}:${e}`;
1658
1667
  }
1659
1668
  function _e(e) {
1660
- return `${Yt}:${e}`;
1669
+ return `${Zt}:${e}`;
1661
1670
  }
1662
- function Vi(e, t, n) {
1671
+ function qi(e, t, n) {
1663
1672
  const r = `${e}-${t}`;
1664
1673
  return n ? `${r}-${n}` : r;
1665
1674
  }
1666
- function zi(e) {
1675
+ function Ji(e) {
1667
1676
  const t = /^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e || "").trim());
1668
1677
  return t ? {
1669
1678
  projectKey: t[1].toUpperCase(),
@@ -1671,17 +1680,17 @@ function zi(e) {
1671
1680
  ...t[3] ? { subSequence: Number(t[3]) } : {}
1672
1681
  } : null;
1673
1682
  }
1674
- function Xi(e) {
1683
+ function Zi(e) {
1675
1684
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase().replace(/[^A-Z0-9]/g, "").slice(0, 3) || "PRJ";
1676
1685
  }
1677
- function Yi(e, t = 25) {
1678
- const n = /* @__PURE__ */ new Set([qt(e.id)]);
1686
+ function Qi(e, t = 25) {
1687
+ const n = /* @__PURE__ */ new Set([Qt(e.id)]);
1679
1688
  e.projectId && n.add(_e(e.projectId));
1680
1689
  for (const r of e.ancestorKeys ?? []) n.add(r);
1681
1690
  for (const r of e.partyKeys ?? []) n.add(r);
1682
1691
  return Array.from(n).slice(0, t);
1683
1692
  }
1684
- function qi(e) {
1693
+ function eo(e) {
1685
1694
  return [_e(e.id)];
1686
1695
  }
1687
1696
  const $ = [
@@ -1690,41 +1699,41 @@ const $ = [
1690
1699
  { key: "done", label: "status_done", category: "done", order: 2 },
1691
1700
  { key: "cancelled", label: "status_cancelled", category: "done", order: 3 }
1692
1701
  ], Te = $.map((e) => e.key);
1693
- function Jt(e) {
1702
+ function en(e) {
1694
1703
  return e?.statuses?.length ? e.statuses : $;
1695
1704
  }
1696
- function Zt(e, t) {
1705
+ function tn(e, t) {
1697
1706
  return t.find((n) => n.key === e)?.category ?? "todo";
1698
1707
  }
1699
- function Ji(e, t) {
1708
+ function to(e, t) {
1700
1709
  return t.find((n) => n.key === e);
1701
1710
  }
1702
- function Zi(e) {
1703
- const t = Jt(e), n = e?.defaultStatusKey;
1704
- return n && t.some((r) => r.key === n) ? n : Qt(t)[0]?.key ?? $[0].key;
1711
+ function no(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;
1705
1714
  }
1706
- function Qt(e) {
1715
+ function nn(e) {
1707
1716
  return [...e].sort((t, n) => {
1708
1717
  const r = (t.order ?? 0) - (n.order ?? 0);
1709
1718
  return r !== 0 ? r : (t.label || "").localeCompare(n.label || "");
1710
1719
  });
1711
1720
  }
1712
- function Qi(e, t) {
1713
- return Zt(e, t) === "done";
1721
+ function ro(e, t) {
1722
+ return tn(e, t) === "done";
1714
1723
  }
1715
- function en(e) {
1724
+ function rn(e) {
1716
1725
  return (e || "").normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 48).replace(/^-+|-+$/g, "");
1717
1726
  }
1718
- function ea(e, t) {
1719
- const n = en(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Te]);
1727
+ function io(e, t) {
1728
+ const n = rn(e) || "status", r = /* @__PURE__ */ new Set([...t, ...Te]);
1720
1729
  if (!r.has(n)) return n;
1721
1730
  for (let i = 2; i < 500; i++) {
1722
- const a = `${n}-${i}`;
1723
- if (!r.has(a)) return a;
1731
+ const o = `${n}-${i}`;
1732
+ if (!r.has(o)) return o;
1724
1733
  }
1725
1734
  return `${n}-${r.size + 1}`;
1726
1735
  }
1727
- function ta(e) {
1736
+ function oo(e) {
1728
1737
  const t = [];
1729
1738
  if (!e.length) return [{ index: -1, reason: "empty" }];
1730
1739
  const n = /* @__PURE__ */ new Set();
@@ -1736,7 +1745,7 @@ function ta(e) {
1736
1745
  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);
1737
1746
  }), 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;
1738
1747
  }
1739
- const tn = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), nn = /* @__PURE__ */ new Set([
1748
+ const on = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), an = /* @__PURE__ */ new Set([
1740
1749
  "text/plain",
1741
1750
  "text/markdown",
1742
1751
  "text/csv",
@@ -1745,67 +1754,67 @@ const tn = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "ima
1745
1754
  "application/xml",
1746
1755
  "text/xml"
1747
1756
  ]);
1748
- function rn(e) {
1757
+ function sn(e) {
1749
1758
  const t = (e ?? "").trim().toLowerCase().split(";")[0];
1750
- return t ? tn.has(t) ? "image" : t === "application/pdf" ? "pdf" : nn.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
1759
+ return t ? on.has(t) ? "image" : t === "application/pdf" ? "pdf" : an.has(t) ? "text" : t.startsWith("audio/") ? "audio" : "unsupported" : "unsupported";
1751
1760
  }
1752
- const y = 1024 * 1024, an = {
1761
+ const y = 1024 * 1024, cn = {
1753
1762
  image: 5 * y,
1754
1763
  pdf: 20 * y,
1755
1764
  text: 1 * y,
1756
1765
  audio: 20 * y
1757
- }, na = 25 * y, ra = 5;
1758
- function ia(e, t) {
1759
- const n = rn(e);
1760
- return n === "unsupported" ? "unsupported" : t > an[n] ? "too-large" : null;
1766
+ }, ao = 25 * y, so = 5;
1767
+ function co(e, t) {
1768
+ const n = sn(e);
1769
+ return n === "unsupported" ? "unsupported" : t > cn[n] ? "too-large" : null;
1761
1770
  }
1762
- function aa(e) {
1771
+ function lo(e) {
1763
1772
  return e.access !== "read" && e.effect !== "internal";
1764
1773
  }
1765
- function on(e) {
1774
+ function ln(e) {
1766
1775
  return `${e.kind}:${e.id || e.url || e.title}`;
1767
1776
  }
1768
- function oa(e, t = []) {
1777
+ function uo(e, t = []) {
1769
1778
  const n = new Set(t), r = [], i = [];
1770
- for (const a of e) {
1771
- const o = on(a);
1772
- n.has(o) || (n.add(o), r.push(a), i.push(o));
1779
+ for (const o of e) {
1780
+ const a = ln(o);
1781
+ n.has(a) || (n.add(a), r.push(o), i.push(a));
1773
1782
  }
1774
1783
  return { sources: r, keys: i };
1775
1784
  }
1776
- const sa = "assist-source", ca = ["blocking", "due", "open"];
1777
- function la(e, t) {
1785
+ const po = "assist-source", fo = ["blocking", "due", "open"];
1786
+ function mo(e, t) {
1778
1787
  const [n, r] = (e.subjectKey ?? "").split(":");
1779
1788
  return n === t && r ? r : void 0;
1780
1789
  }
1781
1790
  const ee = { blocking: 0, due: 1, open: 2 };
1782
- function ua(e, t) {
1791
+ function go(e, t) {
1783
1792
  return ee[e.band ?? "open"] - ee[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
1784
1793
  }
1785
- function da(e) {
1794
+ function ho(e) {
1786
1795
  return e.sessions.filter(
1787
1796
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
1788
1797
  );
1789
1798
  }
1790
- function pa(e) {
1799
+ function yo(e) {
1791
1800
  return e.sessions.filter(
1792
1801
  (t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
1793
1802
  );
1794
1803
  }
1795
- function fa(e) {
1804
+ function Ao(e) {
1796
1805
  return e.sessions.some(
1797
1806
  (n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
1798
1807
  ) ? { admit: !1, reason: "busy" } : { admit: !0 };
1799
1808
  }
1800
- function sn(e, t) {
1801
- const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, i = t.intents.filter((o) => !n.has(o.intent)).map((o) => ln(o, r[o.intent]));
1809
+ function un(e, t) {
1810
+ const n = new Set(e.disabledIntents ?? []), r = e.intentOverrides ?? {}, i = t.intents.filter((a) => !n.has(a.intent)).map((a) => pn(a, r[a.intent]));
1802
1811
  if (!e.extraIntents || e.extraIntents.length === 0) return i;
1803
- const a = new Set(i.map((o) => o.intent));
1804
- for (const o of e.extraIntents)
1805
- a.has(o.intent) || (i.push(o), a.add(o.intent));
1812
+ const o = new Set(i.map((a) => a.intent));
1813
+ for (const a of e.extraIntents)
1814
+ o.has(a.intent) || (i.push(a), o.add(a.intent));
1806
1815
  return i;
1807
1816
  }
1808
- function cn(e, t) {
1817
+ function dn(e, t) {
1809
1818
  const n = {};
1810
1819
  for (const r of e.intents) {
1811
1820
  if (!r.togglable) continue;
@@ -1814,46 +1823,46 @@ function cn(e, t) {
1814
1823
  }
1815
1824
  return n;
1816
1825
  }
1817
- function ma(e, t) {
1818
- const n = cn(e, t);
1826
+ function bo(e, t) {
1827
+ const n = dn(e, t);
1819
1828
  return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
1820
1829
  }
1821
- function ln(e, t) {
1830
+ function pn(e, t) {
1822
1831
  return t ? {
1823
1832
  intent: t.intent ?? e.intent,
1824
1833
  targetSchemes: t.targetSchemes ?? e.targetSchemes,
1825
1834
  transport: t.transport ?? e.transport
1826
1835
  } : e;
1827
1836
  }
1828
- function ga(e, t) {
1837
+ function Eo(e, t) {
1829
1838
  const n = [];
1830
1839
  for (const r of e) {
1831
1840
  if (!r.enabled) continue;
1832
1841
  const i = t[r.providerId];
1833
1842
  if (i)
1834
- for (const a of sn(r, i))
1835
- n.push({ channel: r, description: i, capability: a });
1843
+ for (const o of un(r, i))
1844
+ n.push({ channel: r, description: i, capability: o });
1836
1845
  }
1837
1846
  return n;
1838
1847
  }
1839
- function ha(e, t) {
1848
+ function So(e, t) {
1840
1849
  return t.filter((n) => n.capability.intent === e);
1841
1850
  }
1842
- function un(e, t) {
1851
+ function fn(e, t) {
1843
1852
  return t.filter((n) => n.capability.targetSchemes.includes(e));
1844
1853
  }
1845
- function ya(e, t) {
1846
- return un(e.scheme, t);
1854
+ function _o(e, t) {
1855
+ return fn(e.scheme, t);
1847
1856
  }
1848
- function Aa(e, t, n) {
1857
+ function To(e, t, n) {
1849
1858
  const r = [];
1850
1859
  for (const i of e)
1851
- for (const a of n)
1852
- a.capability.intent === t && a.capability.targetSchemes.includes(i.scheme) && r.push({ channelIntent: a, endpoint: i });
1860
+ for (const o of n)
1861
+ o.capability.intent === t && o.capability.targetSchemes.includes(i.scheme) && r.push({ channelIntent: o, endpoint: i });
1853
1862
  return r;
1854
1863
  }
1855
- var dn = /* @__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))(dn || {});
1856
- const pn = {
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 = {
1857
1866
  mailto: "mail",
1858
1867
  sip: "tel",
1859
1868
  tel: "tel",
@@ -1874,10 +1883,10 @@ const pn = {
1874
1883
  id: "note",
1875
1884
  custom: "note"
1876
1885
  };
1877
- function ba(e) {
1878
- return e ? pn[e] ?? "note" : "note";
1886
+ function Io(e) {
1887
+ return e ? gn[e] ?? "note" : "note";
1879
1888
  }
1880
- const Sa = "message_window", Ea = "message_templates", _a = {
1889
+ const wo = "message_window", Mo = "message_templates", ko = {
1881
1890
  // E-mail
1882
1891
  FROM: "from",
1883
1892
  TO: "to",
@@ -1894,19 +1903,19 @@ const Sa = "message_window", Ea = "message_templates", _a = {
1894
1903
  // Voice/conference
1895
1904
  HOST: "host",
1896
1905
  PARTICIPANT: "participant"
1897
- }, Ta = (e, t) => ({ intent: e, ...t }), Ia = "folder_management", wa = "remote_search", Ma = {
1906
+ }, Co = (e, t) => ({ intent: e, ...t }), Oo = "folder_management", No = "remote_search", vo = {
1898
1907
  ok: !1,
1899
1908
  code: "UNSUPPORTED",
1900
1909
  message: "Provider does not support this op"
1901
- }, ka = "installation-id";
1902
- function Ca(e) {
1910
+ }, Ro = "context.collect", $o = "installation-id";
1911
+ function xo(e) {
1903
1912
  const t = [];
1904
1913
  for (const n of Object.keys(e))
1905
1914
  for (const r of Object.keys(e[n]))
1906
1915
  t.push({ lang: n, key: r, value: e[n][r] });
1907
1916
  return t;
1908
1917
  }
1909
- const Oa = "notification-source", Na = (e, t) => `${e}.pref.${t}`, va = {
1918
+ const Do = "notification-source", Lo = (e, t) => `${e}.pref.${t}`, Po = {
1910
1919
  ai: [
1911
1920
  "account.read",
1912
1921
  "account.write",
@@ -2039,25 +2048,25 @@ const Oa = "notification-source", Na = (e, t) => `${e}.pref.${t}`, va = {
2039
2048
  time: ["entry.read", "entry.write", "work-type.read", "work-type.write"],
2040
2049
  user: ["user.read", "user.write"],
2041
2050
  work: ["item.read", "item.write", "project.read", "project.write"]
2042
- }, Ie = 9e4, fn = ["out_of_office"], we = (e) => fn.includes(e);
2043
- function Ra(e, t, n) {
2051
+ }, Ie = 9e4, hn = ["out_of_office"], we = (e) => hn.includes(e);
2052
+ function Uo(e, t, n) {
2044
2053
  const r = n - e < Ie, i = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
2045
2054
  if (!i?.status) return { online: r, status: r ? "available" : "offline" };
2046
- const a = i.status;
2047
- return !r && !we(a) ? { online: !1, status: "offline" } : { online: r, status: a, message: i.message };
2055
+ const o = i.status;
2056
+ return !r && !we(o) ? { online: !1, status: "offline" } : { online: r, status: o, message: i.message };
2048
2057
  }
2049
- function $a(e, t) {
2058
+ function Ko(e, t) {
2050
2059
  const n = t - e.lastSeenAt < Ie, r = n || we(e.status) ? e.status : "offline";
2051
2060
  return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
2052
2061
  }
2053
- function xa(e, t) {
2062
+ function jo(e, t) {
2054
2063
  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 };
2055
2064
  }
2056
- function Da(e) {
2065
+ function Go(e) {
2057
2066
  return e.providerAvailable && e.allowed;
2058
2067
  }
2059
- const La = "resources.describe", Pa = "resources.search", Ua = "resources.resolve";
2060
- function Ka(e) {
2068
+ const Bo = "resources.describe", Ho = "resources.search", Fo = "resources.resolve", Vo = "resources.attached";
2069
+ function Wo(e) {
2061
2070
  const t = e.indexOf(":");
2062
2071
  return t === -1 ? e : e.slice(0, t);
2063
2072
  }
@@ -2066,69 +2075,69 @@ function ke(e) {
2066
2075
  const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
2067
2076
  return t ? t[1] : null;
2068
2077
  }
2069
- function ja(e) {
2078
+ function zo(e) {
2070
2079
  const t = ke(e);
2071
2080
  return t ? t !== Me : typeof e == "string" && e.startsWith("/wake");
2072
2081
  }
2073
- function Ga(e) {
2082
+ function Xo(e) {
2074
2083
  return typeof e != "string" || e === "" || e === "/" ? !0 : ke(e) === Me;
2075
2084
  }
2076
- function mn(e) {
2085
+ function yn(e) {
2077
2086
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
2078
2087
  }
2079
- function gn(e) {
2080
- const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${mn(r)}`).join("");
2088
+ function An(e) {
2089
+ const n = e.split("/").filter(Boolean).map((r) => r.startsWith(":") ? r.endsWith("?") ? "(?:/[^/]+)?" : "/[^/]+" : `/${yn(r)}`).join("");
2081
2090
  return new RegExp(`^${n}\\/?$`);
2082
2091
  }
2083
- function hn(e, t) {
2092
+ function bn(e, t) {
2084
2093
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean), i = {};
2085
- return n.forEach((a, o) => {
2086
- if (a.startsWith(":")) {
2087
- const s = a.endsWith("?") ? a.slice(1, -1) : a.slice(1), c = r[o];
2094
+ return n.forEach((o, a) => {
2095
+ if (o.startsWith(":")) {
2096
+ const s = o.endsWith("?") ? o.slice(1, -1) : o.slice(1), c = r[a];
2088
2097
  c && (i[s] = c);
2089
2098
  }
2090
2099
  }), i;
2091
2100
  }
2092
- function yn(e) {
2101
+ function En(e) {
2093
2102
  return e.publicBasePath ?? `/apps/${e.name}`;
2094
2103
  }
2095
- function Ba(e) {
2104
+ function Yo(e) {
2096
2105
  const t = [];
2097
2106
  for (const n of e) {
2098
2107
  if (!n?.name) continue;
2099
- const r = yn(n);
2108
+ const r = En(n);
2100
2109
  for (const i of n.routes ?? []) {
2101
2110
  if (!i.public) continue;
2102
- const a = i.path === "/" ? "" : i.path;
2111
+ const o = i.path === "/" ? "" : i.path;
2103
2112
  t.push({
2104
2113
  appName: n.name,
2105
2114
  resource: i.resource,
2106
- pattern: `${r}${a}`,
2115
+ pattern: `${r}${o}`,
2107
2116
  props: i.props
2108
2117
  });
2109
2118
  }
2110
2119
  }
2111
2120
  return t;
2112
2121
  }
2113
- function An(e, t) {
2122
+ function Sn(e, t) {
2114
2123
  const n = e.split("/").filter(Boolean), r = t.split("/").filter(Boolean);
2115
2124
  for (let i = 0; i < Math.min(n.length, r.length); i++) {
2116
- const a = n[i].startsWith(":"), o = r[i].startsWith(":");
2117
- if (a !== o) return o;
2125
+ const o = n[i].startsWith(":"), a = r[i].startsWith(":");
2126
+ if (o !== a) return a;
2118
2127
  }
2119
2128
  return n.length > r.length;
2120
2129
  }
2121
- function bn(e, t) {
2130
+ function _n(e, t) {
2122
2131
  if (typeof e != "string") return null;
2123
2132
  let n = null;
2124
2133
  for (const r of t)
2125
- gn(r.pattern).test(e) && (!n || An(r.pattern, n.pattern)) && (n = r);
2126
- return n ? { ...n, params: { ...n.props, ...hn(n.pattern, e) } } : null;
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;
2127
2136
  }
2128
- function Ha(e, t) {
2129
- return bn(e, t) !== null;
2137
+ function qo(e, t) {
2138
+ return _n(e, t) !== null;
2130
2139
  }
2131
- const Fa = "sync-source", Wa = "sync-target", Va = 20, Sn = {
2140
+ const Jo = "sync-source", Zo = "sync-target", Qo = 20, Tn = {
2132
2141
  afrikaans: [
2133
2142
  "[Muziek]",
2134
2143
  "(C) TV GELDERLAND 2021",
@@ -2278,14 +2287,14 @@ const Fa = "sync-source", Wa = "sync-target", Va = 20, Sn = {
2278
2287
  "[MÚSICA]",
2279
2288
  "[Music cuts in British]"
2280
2289
  ]
2281
- }, En = (e) => {
2290
+ }, In = (e) => {
2282
2291
  let t = e;
2283
- return Object.values(Sn).forEach((n) => {
2292
+ return Object.values(Tn).forEach((n) => {
2284
2293
  n.forEach((r) => {
2285
2294
  t = t.replaceAll(r, "");
2286
2295
  });
2287
2296
  }), t = t.replace(/\(.*?\)/g, ""), t = t.replace(/\[.*?\]/g, ""), t;
2288
- }, _n = 6e4, Tn = 8e3, In = 2, wn = 0.4, Mn = 3, kn = /* @__PURE__ */ new Set([
2297
+ }, wn = 6e4, Mn = 8e3, kn = 2, Cn = 0.4, On = 3, Nn = /* @__PURE__ */ new Set([
2289
2298
  "aan",
2290
2299
  "als",
2291
2300
  "ben",
@@ -2398,46 +2407,46 @@ const Fa = "sync-source", Wa = "sync-target", Va = 20, Sn = {
2398
2407
  "you",
2399
2408
  "your"
2400
2409
  ]);
2401
- function Cn(e) {
2410
+ function vn(e) {
2402
2411
  const t = /* @__PURE__ */ new Set();
2403
2412
  for (const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))
2404
- n.length < Mn || kn.has(n) || t.add(n);
2413
+ n.length < On || Nn.has(n) || t.add(n);
2405
2414
  return [...t];
2406
2415
  }
2407
- function On(e, t) {
2416
+ function Rn(e, t) {
2408
2417
  if (!e.length) return 0;
2409
2418
  if (!t.length) return 1;
2410
2419
  const n = new Set(t), r = new Set(e);
2411
2420
  let i = 0;
2412
- for (const a of r) n.has(a) || (i += 1);
2421
+ for (const o of r) n.has(o) || (i += 1);
2413
2422
  return i / r.size;
2414
2423
  }
2415
- function Nn(e, t = _n) {
2416
- const n = e.filter((o) => !o.partial && typeof o.text == "string");
2424
+ function $n(e, t = wn) {
2425
+ const n = e.filter((a) => !a.partial && typeof a.text == "string");
2417
2426
  if (!n.length) return { text: "", segmentCount: 0 };
2418
- const i = n.reduce((o, s) => Math.max(o, s.endedAt ?? 0), 0) - t;
2419
- return { text: n.filter((o) => (o.endedAt ?? 0) >= i).map((o) => En(o.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
2427
+ const i = n.reduce((a, s) => Math.max(a, s.endedAt ?? 0), 0) - t;
2428
+ return { text: n.filter((a) => (a.endedAt ?? 0) >= i).map((a) => In(a.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
2420
2429
  }
2421
- const vn = 60;
2422
- function za(e, t, n = vn) {
2430
+ const xn = 60;
2431
+ function ea(e, t, n = xn) {
2423
2432
  const r = new Set(e), i = [...e];
2424
- for (const a of t)
2425
- !a || r.has(a) || (r.add(a), i.push(a));
2433
+ for (const o of t)
2434
+ !o || r.has(o) || (r.add(o), i.push(o));
2426
2435
  return i.slice(-n);
2427
2436
  }
2428
- function Xa(e) {
2437
+ function ta(e) {
2429
2438
  const { segments: t, now: n, state: r } = e;
2430
- if (r.lastTriggerAt && n - r.lastTriggerAt < Tn)
2439
+ if (r.lastTriggerAt && n - r.lastTriggerAt < Mn)
2431
2440
  return { trigger: !1, reason: "too_soon" };
2432
- const i = Nn(t, e.windowMs);
2441
+ const i = $n(t, e.windowMs);
2433
2442
  if (!i.text) return { trigger: !1, reason: "no_speech" };
2434
- const a = i.segmentCount - (r.lastSegmentCount ?? 0);
2435
- if (r.lastQueryTerms && a < In)
2443
+ const o = i.segmentCount - (r.lastSegmentCount ?? 0);
2444
+ if (r.lastQueryTerms && o < kn)
2436
2445
  return { trigger: !1, reason: "too_few_new" };
2437
- const o = Cn(i.text);
2438
- return o.length ? r.lastQueryTerms?.length && On(o, r.lastQueryTerms) < wn ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: i.text, terms: o, segmentCount: i.segmentCount } : { trigger: !1, reason: "no_speech" };
2446
+ const a = vn(i.text);
2447
+ return a.length ? r.lastQueryTerms?.length && Rn(a, r.lastQueryTerms) < Cn ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: i.text, terms: a, segmentCount: i.segmentCount } : { trigger: !1, reason: "no_speech" };
2439
2448
  }
2440
- const Ya = "navNotice", x = {
2449
+ const na = "navNotice", x = {
2441
2450
  // The lower bounds are deliberately generous: service ranges (0800/0900) are
2442
2451
  // shorter than geographic numbers, and a too-strict minimum silently drops them.
2443
2452
  // An over-permissive key is harmless — it simply matches nothing.
@@ -2460,38 +2469,38 @@ const Ya = "navNotice", x = {
2460
2469
  PL: { callingCode: "48", nsnMin: 9, nsnMax: 9 },
2461
2470
  US: { callingCode: "1", nsnMin: 10, nsnMax: 10 },
2462
2471
  CA: { callingCode: "1", nsnMin: 10, nsnMax: 10 }
2463
- }, Rn = "NL", $n = 15, xn = 8, Dn = Array.from(
2472
+ }, Dn = "NL", Ln = 15, Pn = 8, Un = Array.from(
2464
2473
  new Set(Object.values(x).map((e) => e.callingCode))
2465
2474
  ).sort((e, t) => t.length - e.length);
2466
2475
  function te(e) {
2467
2476
  if (e)
2468
2477
  return x[e.trim().toUpperCase()];
2469
2478
  }
2470
- function E(e, t) {
2479
+ function S(e, t) {
2471
2480
  return e.length >= t.nsnMin && e.length <= t.nsnMax;
2472
2481
  }
2473
2482
  function ne(e) {
2474
- if (e.length > $n) return null;
2475
- for (const t of Dn) {
2483
+ if (e.length > Ln) return null;
2484
+ for (const t of Un) {
2476
2485
  if (!e.startsWith(t)) continue;
2477
2486
  const n = e.slice(t.length);
2478
2487
  for (const r of Object.values(x)) {
2479
2488
  if (r.callingCode !== t) continue;
2480
- const i = r.trunkPrefix, a = i && n.startsWith(i) ? n.slice(i.length) : n;
2481
- if (E(a, r)) return `+${t}${a}`;
2489
+ const i = r.trunkPrefix, o = i && n.startsWith(i) ? n.slice(i.length) : n;
2490
+ if (S(o, r)) return `+${t}${o}`;
2482
2491
  }
2483
2492
  return null;
2484
2493
  }
2485
- return e.length < xn ? null : `+${e}`;
2494
+ return e.length < Pn ? null : `+${e}`;
2486
2495
  }
2487
- function Ln(e) {
2496
+ function Kn(e) {
2488
2497
  let t = e.trim();
2489
2498
  const n = t.match(/^(sips?|tel|whatsapp):/i);
2490
2499
  n && (t = t.slice(n[0].length));
2491
2500
  const r = t.indexOf("@");
2492
2501
  return r >= 0 && (t = t.slice(0, r)), t.trim();
2493
2502
  }
2494
- function qa(e) {
2503
+ function ra(e) {
2495
2504
  if (!e) return !1;
2496
2505
  const t = e.indexOf("@");
2497
2506
  if (t <= 0) return !1;
@@ -2500,26 +2509,26 @@ function qa(e) {
2500
2509
  }
2501
2510
  function re(e, t) {
2502
2511
  if (!e) return null;
2503
- const n = Ln(e);
2512
+ const n = Kn(e);
2504
2513
  if (!n) return null;
2505
2514
  const r = n.startsWith("+"), i = n.replace(/\D/g, "");
2506
2515
  if (!i) return null;
2507
2516
  if (r) return ne(i);
2508
2517
  if (i.startsWith("00")) return ne(i.slice(2));
2509
- const a = te(t) ?? te(Rn);
2510
- if (!a) return null;
2511
- const o = a.trunkPrefix;
2512
- if (o && i.startsWith(o)) {
2513
- const s = i.slice(o.length);
2514
- return E(s, a) ? `+${a.callingCode}${s}` : null;
2518
+ const o = te(t) ?? te(Dn);
2519
+ if (!o) return null;
2520
+ const a = o.trunkPrefix;
2521
+ if (a && i.startsWith(a)) {
2522
+ const s = i.slice(a.length);
2523
+ return S(s, o) ? `+${o.callingCode}${s}` : null;
2515
2524
  }
2516
- if (i.startsWith(a.callingCode)) {
2517
- const s = i.slice(a.callingCode.length);
2518
- if (E(s, a)) return `+${a.callingCode}${s}`;
2525
+ if (i.startsWith(o.callingCode)) {
2526
+ const s = i.slice(o.callingCode.length);
2527
+ if (S(s, o)) return `+${o.callingCode}${s}`;
2519
2528
  }
2520
- return !o && E(i, a) ? `+${a.callingCode}${i}` : null;
2529
+ return !a && S(i, o) ? `+${o.callingCode}${i}` : null;
2521
2530
  }
2522
- function Ja(e, t = 9) {
2531
+ function ia(e, t = 9) {
2523
2532
  const n = (e ?? "").replace(/\D/g, "");
2524
2533
  return n.length < t ? null : n.slice(-t);
2525
2534
  }
@@ -2530,11 +2539,11 @@ function Ce(e) {
2530
2539
  const r = t.slice(0, n).split("+")[0], i = t.slice(n + 1);
2531
2540
  return !r || !i.includes(".") ? null : `${r}@${i}`;
2532
2541
  }
2533
- function Za(e) {
2542
+ function oa(e) {
2534
2543
  const t = Ce(e);
2535
2544
  return t ? t.slice(t.lastIndexOf("@") + 1) : null;
2536
2545
  }
2537
- const Pn = /* @__PURE__ */ new Set([
2546
+ const jn = /* @__PURE__ */ new Set([
2538
2547
  "co.uk",
2539
2548
  "org.uk",
2540
2549
  "gov.uk",
@@ -2544,14 +2553,14 @@ const Pn = /* @__PURE__ */ new Set([
2544
2553
  "com.br",
2545
2554
  "co.za"
2546
2555
  ]);
2547
- function Un(e) {
2556
+ function Gn(e) {
2548
2557
  if (!e) return null;
2549
2558
  const t = e.trim().toLowerCase().replace(/\.$/, "").split(".").filter(Boolean);
2550
2559
  if (t.length < 2) return null;
2551
2560
  const n = t.slice(-2).join(".");
2552
- return Pn.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
2561
+ return jn.has(n) && t.length >= 3 ? t.slice(-3).join(".") : n;
2553
2562
  }
2554
- const Kn = /* @__PURE__ */ new Set([
2563
+ const Bn = /* @__PURE__ */ new Set([
2555
2564
  "gmail.com",
2556
2565
  "googlemail.com",
2557
2566
  "outlook.com",
@@ -2596,44 +2605,44 @@ const Kn = /* @__PURE__ */ new Set([
2596
2605
  "proximus.be",
2597
2606
  "scarlet.be"
2598
2607
  ]);
2599
- function Qa(e) {
2600
- const t = Un(e);
2601
- return t ? Kn.has(t) : !1;
2608
+ function aa(e) {
2609
+ const t = Gn(e);
2610
+ return t ? Bn.has(t) : !1;
2602
2611
  }
2603
- function eo(e) {
2612
+ function sa(e) {
2604
2613
  if (!e) return !1;
2605
2614
  const t = e.trim().toLowerCase();
2606
2615
  return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
2607
2616
  }
2608
- function to(e, t, n) {
2617
+ function ca(e, t, n) {
2609
2618
  if (!e || !t) return null;
2610
2619
  const r = e.trim().toLowerCase();
2611
2620
  if (r === "tel" || r === "sms" || r === "whatsapp") {
2612
- const a = re(t, n);
2613
- return a ? `tel:${a}` : null;
2621
+ const o = re(t, n);
2622
+ return o ? `tel:${o}` : null;
2614
2623
  }
2615
2624
  if (r === "fax") {
2616
- const a = re(t, n);
2617
- return a ? `fax:${a}` : null;
2625
+ const o = re(t, n);
2626
+ return o ? `fax:${o}` : null;
2618
2627
  }
2619
2628
  if (r === "mailto" || r === "email") {
2620
- const a = Ce(t);
2621
- return a ? `mailto:${a}` : null;
2629
+ const o = Ce(t);
2630
+ return o ? `mailto:${o}` : null;
2622
2631
  }
2623
2632
  const i = t.trim().toLowerCase();
2624
2633
  return i ? `${r}:${i}` : null;
2625
2634
  }
2626
- const jn = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, Gn = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
2627
- function no(e) {
2635
+ const Hn = /(\*\*|__)(?=\S)([\s\S]*?\S)\1/g, Fn = /(\*|_)(?=\S)([^*_\n]*?\S)\1/g;
2636
+ function la(e) {
2628
2637
  if (typeof e != "string" || !e) return "";
2629
2638
  let t = e;
2630
2639
  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(`
2631
2640
  `).map(
2632
2641
  (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,}$/, "")
2633
2642
  ).join(`
2634
- `), t = t.replace(jn, "$2"), t = t.replace(Gn, "$2"), t = t.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "$1"), t = t.replace(/`([^`\n]+)`/g, "$1"), t.replace(/\s+/g, " ").trim();
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();
2635
2644
  }
2636
- const Bn = [
2645
+ const Vn = [
2637
2646
  /<blockquote/i,
2638
2647
  /class="?gmail_quote/i,
2639
2648
  // Gmail quote container
@@ -2646,17 +2655,17 @@ const Bn = [
2646
2655
  // Outlook underscore separator before "From:"
2647
2656
  /\bOn\b[\s\S]{0,200}?\bwrote:/i
2648
2657
  // Gmail "On <date> <name> wrote:"
2649
- ], ie = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Hn = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
2650
- function Fn(e) {
2658
+ ], ie = /^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i, Wn = /^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;
2659
+ function zn(e) {
2651
2660
  const t = e.split(`
2652
2661
  `);
2653
2662
  for (let n = 0; n < t.length; n++)
2654
- if (Hn.test(t[n]) || ie.test(t[n]) && t.slice(n + 1, n + 4).some((r) => ie.test(r)))
2663
+ if (Wn.test(t[n]) || ie.test(t[n]) && t.slice(n + 1, n + 4).some((r) => ie.test(r)))
2655
2664
  return t.slice(0, n).join(`
2656
2665
  `).trim();
2657
2666
  return e;
2658
2667
  }
2659
- function ae(e) {
2668
+ function oe(e) {
2660
2669
  let t = e;
2661
2670
  return t = t.replace(/<(script|style)[\s\S]*?<\/\1>/gi, ""), t = t.replace(/<br\s*\/?>/gi, `
2662
2671
  `), t = t.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi, `
@@ -2664,11 +2673,11 @@ function ae(e) {
2664
2673
  `), t = t.replace(/<\/(div|li|tr)>/gi, `
2665
2674
  `), t = t.replace(/<\/(td|th)>/gi, " "), t = t.replace(/<[^>]+>/g, ""), t = t.replace(/<[^>]*$/, ""), t;
2666
2675
  }
2667
- function oe(e) {
2676
+ function ae(e) {
2668
2677
  return !Number.isInteger(e) || e < 0 || e > 1114111 ? null : String.fromCodePoint(e);
2669
2678
  }
2670
2679
  function se(e) {
2671
- 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, "&");
2680
+ 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, "&");
2672
2681
  }
2673
2682
  function ce(e) {
2674
2683
  return e.replace(/\r/g, "").replace(/[ \t]+/g, " ").replace(/ *\n */g, `
@@ -2676,321 +2685,327 @@ function ce(e) {
2676
2685
 
2677
2686
  `).trim();
2678
2687
  }
2679
- const Wn = /<\s*(html|body|div|p|table|br|span)\b/i;
2680
- function ro(e) {
2681
- return Wn.test(e);
2688
+ const Xn = /<\s*(html|body|div|p|table|br|span)\b/i;
2689
+ function ua(e) {
2690
+ return Xn.test(e);
2682
2691
  }
2683
- function io(e) {
2692
+ function da(e) {
2684
2693
  if (typeof e != "string" || !e) return "";
2685
2694
  let t = e.length;
2686
- for (const a of Bn) {
2687
- const o = e.search(a);
2688
- o >= 0 && o < t && (t = o);
2695
+ for (const o of Vn) {
2696
+ const a = e.search(o);
2697
+ a >= 0 && a < t && (t = a);
2689
2698
  }
2690
2699
  const n = e.slice(0, t);
2691
- let r = ce(se(ae(n)));
2692
- return r || (r = ce(se(ae(e)))), Fn(r) || r;
2700
+ let r = ce(se(oe(n)));
2701
+ return r || (r = ce(se(oe(e)))), zn(r) || r;
2693
2702
  }
2694
2703
  export {
2695
2704
  m as ACTIVITY_CATALOG,
2696
- an as AI_ATTACHMENT_LIMITS,
2697
- ra as AI_ATTACHMENT_MAX_PER_TURN,
2698
- na as AI_ATTACHMENT_TURN_BUDGET,
2705
+ cn as AI_ATTACHMENT_LIMITS,
2706
+ so as AI_ATTACHMENT_MAX_PER_TURN,
2707
+ ao as AI_ATTACHMENT_TURN_BUDGET,
2699
2708
  ue as AI_VENDORS,
2700
2709
  Xe as ALLOWED_LINK_SCHEMES,
2701
- va as APP_PERMISSIONS,
2710
+ Po as APP_PERMISSIONS,
2702
2711
  B as ARTIFACT_MAX_BLOCKS,
2703
- Tr as ARTIFACT_MAX_BODY_BYTES,
2712
+ Mr as ARTIFACT_MAX_BODY_BYTES,
2704
2713
  C as ARTIFACT_MAX_CELL_LEN,
2705
- V as ARTIFACT_MAX_KPI_ITEMS,
2714
+ W as ARTIFACT_MAX_KPI_ITEMS,
2706
2715
  H as ARTIFACT_MAX_LIST_ITEMS,
2707
- W as ARTIFACT_MAX_TABLE_COLUMNS,
2716
+ V as ARTIFACT_MAX_TABLE_COLUMNS,
2708
2717
  F as ARTIFACT_MAX_TABLE_ROWS,
2709
2718
  pe as ARTIFACT_MAX_TEXT_LEN,
2710
2719
  rt as ASSIGNMENT_SCOPE_KIND,
2711
- ca as ASSIST_BANDS,
2712
- sa as ASSIST_SOURCE_PROVIDER_GROUP,
2720
+ fo as ASSIST_BANDS,
2721
+ po as ASSIST_SOURCE_PROVIDER_GROUP,
2713
2722
  mt as ATTENTION_STATUSES,
2714
2723
  Me as AUTH_APP_NAME,
2724
+ Kt as AUTO_READY_MIN_PROPOSALS,
2725
+ jt as AUTO_READY_RATE,
2715
2726
  Pe as ActivityTypeRegistry,
2716
- cr as BUILT_IN_ONLY,
2727
+ dr as BUILT_IN_ONLY,
2717
2728
  gt as BULK_PENALTY,
2718
- Tn as CADENCE_FLOOR_MS,
2719
- In as CADENCE_MIN_NEW_SEGMENTS,
2720
- wn as CADENCE_MIN_NOVELTY,
2721
- _n as CADENCE_WINDOW_MS,
2722
- _i as CLASSIFY_VARS,
2723
- Sr as CORE_DIMENSIONS,
2724
- dn as CommunicationScheme,
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
+ Ro as CONTEXT_COLLECT_SERVICE,
2735
+ Tr as CORE_DIMENSIONS,
2736
+ mn as CommunicationScheme,
2725
2737
  st as DAY_MS,
2726
- ci as DEFAULT_MEMORY_BUDGET,
2727
- Rn as DEFAULT_PHONE_REGION,
2728
- Ii as EMPTY_WORKFLOW,
2729
- Ia as FEATURE_FOLDER_MANAGEMENT,
2730
- wa as FEATURE_REMOTE_SEARCH,
2738
+ di as DEFAULT_MEMORY_BUDGET,
2739
+ Dn as DEFAULT_PHONE_REGION,
2740
+ ki as EMPTY_WORKFLOW,
2741
+ Oo as FEATURE_FOLDER_MANAGEMENT,
2742
+ No as FEATURE_REMOTE_SEARCH,
2731
2743
  yt as FOLLOW_UP_HOURS,
2732
- ot as HOUR_MS,
2733
- Wn as HTML_BODY_RE,
2744
+ at as HOUR_MS,
2745
+ Xn as HTML_BODY_RE,
2734
2746
  g as INELIGIBLE,
2735
- ka as INSTALLATION_HEADER,
2747
+ $o as INSTALLATION_HEADER,
2736
2748
  xt as INTERACTION_KIND,
2737
- _a as InteractionParticipantRole,
2749
+ ko as InteractionParticipantRole,
2738
2750
  It as KB_FALLBACK_LOCALE,
2739
2751
  q as KB_LOCALES,
2740
2752
  $ as LOOSE_STATUSES,
2741
- Yn as MAX_ACTIONS,
2753
+ Zn as MAX_ACTIONS,
2742
2754
  it as MAX_ASSIGNMENT_TURNS,
2743
- Vn as MAX_BLOCKS,
2755
+ Yn as MAX_BLOCKS,
2744
2756
  be as MAX_COLLECTION_DEPTH,
2745
- zn as MAX_FIELDS,
2746
- Xn as MAX_LIST_ITEMS,
2747
- ii as MAX_MEMORY_BROWSE,
2748
- si as MAX_MEMORY_BUDGET,
2749
- ai as MAX_MEMORY_CHARS,
2750
- vn as MAX_SHOWN_KEYS,
2751
- Ht as MAX_TOPIC_CANDIDATES,
2752
- Bt as MAX_TOPIC_EXAMPLES,
2757
+ qn as MAX_FIELDS,
2758
+ Jn as MAX_LIST_ITEMS,
2759
+ si as MAX_MEMORY_BROWSE,
2760
+ ui as MAX_MEMORY_BUDGET,
2761
+ ci as MAX_MEMORY_CHARS,
2762
+ xn as MAX_SHOWN_KEYS,
2763
+ Wt as MAX_TOPIC_CANDIDATES,
2764
+ Vt as MAX_TOPIC_EXAMPLES,
2753
2765
  O as MAX_TOPIC_EXAMPLE_CHARS,
2754
- oi as MIN_MEMORY_BUDGET,
2755
- Ya as NAV_NOTICE_SLOT,
2756
- Oa as NOTIFICATION_SOURCE_PROVIDER_GROUP,
2757
- ui as ONBOARDING_SOURCE_PROVIDER_GROUP,
2766
+ li as MIN_MEMORY_BUDGET,
2767
+ na as NAV_NOTICE_SLOT,
2768
+ Do as NOTIFICATION_SOURCE_PROVIDER_GROUP,
2769
+ fi as ONBOARDING_SOURCE_PROVIDER_GROUP,
2758
2770
  x as PHONE_REGIONS,
2759
2771
  Ie as PRESENCE_ONLINE_WINDOW_MS,
2760
- fn as PRESENCE_SURVIVES_OFFLINE,
2761
- pi as PROFILE_TOOL_DISPOSITIONS,
2762
- Ea as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
2763
- Sa as PROVIDER_FEATURE_MESSAGE_WINDOW,
2764
- Kn as PUBLIC_EMAIL_DOMAINS,
2772
+ hn as PRESENCE_SURVIVES_OFFLINE,
2773
+ gi as PROFILE_TOOL_DISPOSITIONS,
2774
+ Mo as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
2775
+ wo as PROVIDER_FEATURE_MESSAGE_WINDOW,
2776
+ Bn as PUBLIC_EMAIL_DOMAINS,
2765
2777
  J as READ_STEP_TYPES,
2766
2778
  kt as RELATED_SUBJECT_KINDS,
2767
2779
  Te as RESERVED_STATUS_KEYS,
2768
- La as RESOURCE_DESCRIBE_SERVICE,
2769
- Ua as RESOURCE_RESOLVE_SERVICE,
2770
- Pa as RESOURCE_SEARCH_SERVICE,
2771
- Lr as SIGNATURE_INTENTS,
2780
+ Vo as RESOURCE_ATTACHED_SERVICE,
2781
+ Bo as RESOURCE_DESCRIBE_SERVICE,
2782
+ Fo as RESOURCE_RESOLVE_SERVICE,
2783
+ Ho as RESOURCE_SEARCH_SERVICE,
2784
+ Kr as SIGNATURE_INTENTS,
2772
2785
  ht as SLA_HOURS_BY_PRIORITY,
2773
2786
  Pt as STEP_MAX_TOKENS_MAX,
2774
2787
  Lt as STEP_MAX_TOKENS_MIN,
2775
2788
  pt as SUMMARY_MIN_LAST_CHARS,
2776
2789
  dt as SUMMARY_MIN_MESSAGES,
2777
- Va as SYNC_RUN_MAX_ERRORS,
2778
- Fa as SYNC_SOURCE_PROVIDER_GROUP,
2779
- Wa as SYNC_TARGET_PROVIDER_GROUP,
2790
+ Qo as SYNC_RUN_MAX_ERRORS,
2791
+ Jo as SYNC_SOURCE_PROVIDER_GROUP,
2792
+ Zo as SYNC_TARGET_PROVIDER_GROUP,
2780
2793
  nt as TERMINAL_ASSIGNMENT_STATUSES,
2781
- Ut as TERMINAL_RUN_STATUSES,
2782
- Ei as TRIGGER_VARS,
2783
- Ma as UNSUPPORTED,
2794
+ Gt as TERMINAL_RUN_STATUSES,
2795
+ Ii as TRIGGER_VARS,
2796
+ vo as UNSUPPORTED,
2784
2797
  Fe as USAGE_DIMENSIONS,
2785
- We as USAGE_DIMENSION_IDS,
2786
- di as WORK_AREAS,
2787
- Bi as WORK_COMMENT_ADDED,
2788
- Hi as WORK_ITEM_ASSIGNED,
2789
- Xt as WORK_ITEM_SCOPE_KIND,
2790
- Fi as WORK_ITEM_STATUS_CHANGED,
2791
- Yt as WORK_PROJECT_SCOPE_KIND,
2798
+ Ve as USAGE_DIMENSION_IDS,
2799
+ mi as WORK_AREAS,
2800
+ Wi as WORK_COMMENT_ADDED,
2801
+ zi as WORK_ITEM_ASSIGNED,
2802
+ Jt as WORK_ITEM_SCOPE_KIND,
2803
+ Xi as WORK_ITEM_STATUS_CHANGED,
2804
+ Zt as WORK_PROJECT_SCOPE_KIND,
2792
2805
  _ as W_PRIORITY,
2793
- Ki as acceptExampleCandidate,
2806
+ Hi as acceptExampleCandidate,
2794
2807
  Ot as actingIdentityKey,
2795
- Pi as activeWorkTypes,
2796
- Jn as activityIconOf,
2797
- or as activityJoinUrl,
2808
+ Gi as activeWorkTypes,
2809
+ er as activityIconOf,
2810
+ lr as activityJoinUrl,
2798
2811
  $e as activitySnippet,
2799
2812
  xe as activityTextParams,
2800
- ar as activityTimelineText,
2813
+ cr as activityTimelineText,
2801
2814
  Ue as activityTimestamp,
2802
2815
  d as activityTypeInfo,
2803
- gi as actorKey,
2804
- Ui as addExampleCandidate,
2805
- $a as agePresenceEntry,
2806
- rn as aiAttachmentKind,
2807
- ia as aiAttachmentRejection,
2816
+ Ai as actorKey,
2817
+ Bi as addExampleCandidate,
2818
+ Ko as agePresenceEntry,
2819
+ sn as aiAttachmentKind,
2820
+ co as aiAttachmentRejection,
2808
2821
  G as aiBudgetLimit,
2809
- Ar as aiBudgetPeriodKey,
2822
+ Sr as aiBudgetPeriodKey,
2810
2823
  Ke as aiBudgetPeriodStart,
2811
- yr as aiBudgetState,
2812
- hr as aiVendorAcceptsAttachment,
2813
- fr as aiVendorDefaultModel,
2814
- pr as aiVendorLabel,
2815
- gr as aiVendorNeedsBaseUrl,
2816
- mr as aiVendorsWith,
2824
+ Er as aiBudgetState,
2825
+ br as aiVendorAcceptsAttachment,
2826
+ hr as aiVendorDefaultModel,
2827
+ gr as aiVendorLabel,
2828
+ Ar as aiVendorNeedsBaseUrl,
2829
+ yr as aiVendorsWith,
2817
2830
  ke as appNameFromPath,
2818
- Ri as applyRounding,
2819
- Pr as applySignature,
2820
- wr as artifactBodyBytes,
2821
- Mr as artifactOutline,
2822
- kr as artifactToMarkdown,
2823
- bi as assignmentMismatch,
2824
- Rr as assignmentScopeKey,
2825
- xr as assignmentSubject,
2826
- sr as buildActivityPreview,
2827
- ga as buildChannelIntents,
2828
- Cr as buildShareKeys,
2829
- Nn as buildWindow,
2830
- Zr as canNestUnder,
2831
- tr as carriesText,
2832
- ei as categoryLabel,
2833
- Zt as categoryOf,
2834
- ba as channelKindForScheme,
2835
- Zn as channelKindOf,
2836
- Ti as clampStepMaxTokens,
2837
- io as cleanMessageText,
2838
- ua as compareAssistRank,
2839
- Gt as compareWorkTypes,
2840
- Dr as decideAssignmentState,
2841
- Xa as decideCadence,
2842
- fa as decideIncomingCall,
2831
+ Li as applyRounding,
2832
+ jr as applySignature,
2833
+ Ut as approvalRate,
2834
+ Cr as artifactBodyBytes,
2835
+ Or as artifactOutline,
2836
+ Nr as artifactToMarkdown,
2837
+ _i as assignmentMismatch,
2838
+ Dr as assignmentScopeKey,
2839
+ Pr as assignmentSubject,
2840
+ ur as buildActivityPreview,
2841
+ Eo as buildChannelIntents,
2842
+ vr as buildShareKeys,
2843
+ $n as buildWindow,
2844
+ ti as canNestUnder,
2845
+ ir as carriesText,
2846
+ ri as categoryLabel,
2847
+ tn as categoryOf,
2848
+ Io as channelKindForScheme,
2849
+ tr as channelKindOf,
2850
+ Mi as clampStepMaxTokens,
2851
+ da as cleanMessageText,
2852
+ go as compareAssistRank,
2853
+ Ft as compareWorkTypes,
2854
+ Ur as decideAssignmentState,
2855
+ ta as decideCadence,
2856
+ Ao as decideIncomingCall,
2843
2857
  wt as defaultLocaleOf,
2844
- Zi as defaultStatusKey,
2845
- Ta as defineIntent,
2858
+ no as defaultStatusKey,
2859
+ Co as defineIntent,
2846
2860
  _t as depthOf,
2847
- Ra as derivePresence,
2848
- ma as disabledIntentsFromCapabilities,
2849
- vi as elapsedSeconds,
2850
- Za as emailDomain,
2851
- to as endpointKey,
2852
- hn as extractParams,
2853
- Cn as extractTerms,
2854
- ya as filterByEndpoint,
2855
- ha as filterByIntent,
2856
- un as filterByTargetScheme,
2861
+ Uo as derivePresence,
2862
+ bo as disabledIntentsFromCapabilities,
2863
+ Di as elapsedSeconds,
2864
+ oa as emailDomain,
2865
+ ca as endpointKey,
2866
+ bn as extractParams,
2867
+ vn as extractTerms,
2868
+ _o as filterByEndpoint,
2869
+ So as filterByIntent,
2870
+ fn as filterByTargetScheme,
2857
2871
  T as findAiVendor,
2858
- Ca as flattenLocales,
2872
+ xo as flattenLocales,
2859
2873
  Ge as floorToPeriod,
2860
2874
  Ct as formatActingIdentity,
2861
- xi as formatClock,
2862
- $i as formatHm,
2863
- Vi as formatItemKey,
2875
+ Ui as formatClock,
2876
+ Pi as formatHm,
2877
+ qi as formatItemKey,
2864
2878
  je as formatPeriod,
2865
- oa as freshSources,
2866
- lr as getActivitySeenUserIds,
2867
- Ur as getContactEndpoints,
2868
- zr as getShortTitle,
2869
- Vr as getUrgencyScore,
2870
- Se as heightOf,
2871
- Yr as helpCenterText,
2872
- Si as humanizeAction,
2879
+ uo as freshSources,
2880
+ pr as getActivitySeenUserIds,
2881
+ Gr as getContactEndpoints,
2882
+ qr as getShortTitle,
2883
+ Yr as getUrgencyScore,
2884
+ Ee as heightOf,
2885
+ Zr as helpCenterText,
2886
+ Ti as humanizeAction,
2873
2887
  Dt as interactionIdOf,
2874
- Gi as isAgentUser,
2875
- Fr as isAssigned,
2876
- vr as isAssignmentTerminal,
2888
+ Vi as isAgentUser,
2889
+ zr as isAssigned,
2890
+ xr as isAssignmentTerminal,
2877
2891
  Rt as isAssignmentTrigger,
2878
- Et as isAwaitingThem,
2879
- dr as isChatMessageActivity,
2880
- Wr as isClosed,
2881
- rr as isConnectedType,
2882
- ja as isDeepLink,
2892
+ Ni as isAutoReady,
2893
+ St as isAwaitingThem,
2894
+ mr as isChatMessageActivity,
2895
+ Xr as isClosed,
2896
+ ar as isConnectedType,
2897
+ zo as isDeepLink,
2883
2898
  Tt as isDescendant,
2884
- Kr as isEligible,
2885
- ur as isEmailActivity,
2886
- ro as isHtmlBody,
2887
- Ci as isInFlight,
2899
+ Br as isEligible,
2900
+ fr as isEmailActivity,
2901
+ ua as isHtmlBody,
2902
+ Ri as isInFlight,
2888
2903
  ft as isInteractionUnseen,
2889
- Ga as isLandingPath,
2904
+ Xo as isLandingPath,
2890
2905
  ut as isLikelyBulk,
2891
2906
  le as isMessageShape,
2892
- Qn as isMessageType,
2893
- An as isMoreSpecificPattern,
2894
- aa as isOutwardTool,
2907
+ nr as isMessageType,
2908
+ Sn as isMoreSpecificPattern,
2909
+ lo as isOutwardTool,
2895
2910
  bt as isParked,
2896
- Kt as isPaused,
2897
- nr as isPlaybookAuthoredType,
2898
- Qa as isPublicEmailDomain,
2899
- Ha as isPublicPath,
2900
- St as isReminderActive,
2901
- er as isReplyableType,
2902
- Br as isSlaAtRisk,
2903
- ki as isTerminal,
2904
- Gr as isThreadLongEnough,
2905
- ir as isTranscriptType,
2906
- Qi as isWorkClosed,
2907
- Li as isWorkTypeVisible,
2908
- Yi as itemDossierKeys,
2909
- Jt as ladderFor,
2910
- Xr as linkLabel,
2911
- br as listeningAllowed,
2912
- Jr as localeInstruction,
2913
- qr as localeName,
2914
- Qr as localesOf,
2915
- qa as looksLikeEmail,
2916
- Aa as matchContactToIntents,
2917
- bn as matchPublicRoute,
2918
- ni as mcpCredentialScope,
2919
- ri as mcpToolPrefix,
2920
- za as mergeShownKeys,
2911
+ Bt as isPaused,
2912
+ or as isPlaybookAuthoredType,
2913
+ aa as isPublicEmailDomain,
2914
+ qo as isPublicPath,
2915
+ Et as isReminderActive,
2916
+ rr as isReplyableType,
2917
+ Vr as isSlaAtRisk,
2918
+ vi as isTerminal,
2919
+ Fr as isThreadLongEnough,
2920
+ sr as isTranscriptType,
2921
+ ro as isWorkClosed,
2922
+ ji as isWorkTypeVisible,
2923
+ Qi as itemDossierKeys,
2924
+ en as ladderFor,
2925
+ Jr as linkLabel,
2926
+ _r as listeningAllowed,
2927
+ ei as localeInstruction,
2928
+ Qr as localeName,
2929
+ ni as localesOf,
2930
+ ra as looksLikeEmail,
2931
+ To as matchContactToIntents,
2932
+ _n as matchPublicRoute,
2933
+ oi as mcpCredentialScope,
2934
+ ai as mcpToolPrefix,
2935
+ ea as mergeShownKeys,
2921
2936
  Re as messageCountsAs,
2922
- eo as needsPhoneRegion,
2923
- Ir as normalizeArtifactBlocks,
2924
- qn as normalizeBlocks,
2937
+ sa as needsPhoneRegion,
2938
+ kr as normalizeArtifactBlocks,
2939
+ Qn as normalizeBlocks,
2925
2940
  Ce as normalizeEmail,
2926
2941
  h as normalizeExample,
2927
- Na as notificationPrefKey,
2928
- On as novelty,
2929
- jr as parkMarksById,
2930
- fi as parseActingIdentity,
2931
- zi as parseItemKey,
2932
- gn as pathToRegex,
2933
- Er as periodsInRange,
2934
- Ja as phoneSuffix,
2935
- no as plainTextFromMarkdown,
2942
+ Lo as notificationPrefKey,
2943
+ Rn as novelty,
2944
+ Hr as parkMarksById,
2945
+ hi as parseActingIdentity,
2946
+ Ji as parseItemKey,
2947
+ An as pathToRegex,
2948
+ Ir as periodsInRange,
2949
+ ia as phoneSuffix,
2950
+ la as plainTextFromMarkdown,
2936
2951
  vt as playbookActor,
2937
- Mi as procedureOf,
2938
- qi as projectDossierKeys,
2939
- yn as publicBasePathFor,
2940
- Ba as publicRoutePatterns,
2952
+ Oi as procedureOf,
2953
+ eo as projectDossierKeys,
2954
+ En as publicBasePathFor,
2955
+ Yo as publicRoutePatterns,
2941
2956
  N as readPath,
2942
2957
  Z as readStepError,
2943
2958
  At as recencyOf,
2944
2959
  $t as refKey,
2945
- Un as registrableDomain,
2946
- Wt as rejectExampleCandidate,
2947
- li as relatedByDefault,
2948
- cn as resolveAccountCapabilities,
2960
+ Gn as registrableDomain,
2961
+ Xt as rejectExampleCandidate,
2962
+ pi as relatedByDefault,
2963
+ dn as resolveAccountCapabilities,
2949
2964
  v as resolveActivityText,
2950
- sn as resolveChannelIntents,
2951
- at as resolveSignature,
2952
- xa as resolveWorkMode,
2953
- Ka as resourceKindOf,
2954
- mi as runActor,
2955
- Ni as runInteractionId,
2965
+ un as resolveChannelIntents,
2966
+ ot as resolveSignature,
2967
+ jo as resolveWorkMode,
2968
+ Wo as resourceKindOf,
2969
+ yi as runActor,
2970
+ xi as runInteractionId,
2956
2971
  Ze as sanitizeInline,
2957
- En as sanitizeTranscript,
2958
- Hr as scoreInteraction,
2959
- Wi as scoreWorkItem,
2960
- ti as selectLenses,
2961
- pa as sessionsHoldCannotReach,
2962
- da as sessionsToHold,
2972
+ In as sanitizeTranscript,
2973
+ Wr as scoreInteraction,
2974
+ Yi as scoreWorkItem,
2975
+ ii as selectLenses,
2976
+ yo as sessionsHoldCannotReach,
2977
+ ho as sessionsToHold,
2963
2978
  ge as shareKeyForTeam,
2964
2979
  me as shareKeyForUser,
2965
- Or as shareKeysForViewer,
2966
- Da as shouldRunAudioPipeline,
2967
- Qt as sortStatuses,
2968
- on as sourceKey,
2969
- Ji as statusIn,
2970
- wi as stepsOf,
2980
+ Rr as shareKeysForViewer,
2981
+ Go as shouldRunAudioPipeline,
2982
+ nn as sortStatuses,
2983
+ ln as sourceKey,
2984
+ to as statusIn,
2985
+ Ci as stepsOf,
2971
2986
  ve as stripHtml,
2972
- Oi as subjectKeyOf,
2973
- Ee as subjectOf,
2974
- la as subjectRef,
2975
- Xi as suggestProjectKey,
2976
- Ai as targetById,
2977
- yi as targetForActivityType,
2987
+ $i as subjectKeyOf,
2988
+ Se as subjectOf,
2989
+ mo as subjectRef,
2990
+ Zi as suggestProjectKey,
2991
+ Si as targetById,
2992
+ Ei as targetForActivityType,
2978
2993
  Nt as toActingIdentity,
2979
2994
  re as toE164,
2980
- Nr as toolSourceKinds,
2981
- Vt as topicOfferedForTeam,
2982
- ji as topicsForTeam,
2983
- Ft as truncateExample,
2984
- ea as uniqueWorkStatusKey,
2985
- Di as uniqueWorkTypeKey,
2986
- Ve as usageMetricId,
2987
- _r as usageMetrics,
2988
- ta as validateStatuses,
2989
- hi as valueAtPath,
2995
+ $r as toolSourceKinds,
2996
+ Yt as topicOfferedForTeam,
2997
+ Fi as topicsForTeam,
2998
+ zt as truncateExample,
2999
+ io as uniqueWorkStatusKey,
3000
+ Ki as uniqueWorkTypeKey,
3001
+ We as usageMetricId,
3002
+ wr as usageMetrics,
3003
+ oo as validateStatuses,
3004
+ bi as valueAtPath,
2990
3005
  R as waitHoursOf,
2991
- $r as wakesAssignment,
2992
- qt as workItemScopeKey,
3006
+ Lr as wakesAssignment,
3007
+ Qt as workItemScopeKey,
2993
3008
  _e as workProjectScopeKey,
2994
- en as workStatusKey,
2995
- jt as workTypeKey
3009
+ rn as workStatusKey,
3010
+ Ht as workTypeKey
2996
3011
  };