@codemem/server 0.35.1 → 0.36.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/static/app.js CHANGED
@@ -11,22 +11,22 @@
11
11
  return target;
12
12
  };
13
13
  //#endregion
14
- //#region ../../node_modules/.pnpm/preact@10.29.0/node_modules/preact/dist/preact.module.js
15
- var n$1, l$3, u$3, t$2, i$3, r$2, o$3, e$2, f$3, c$2, s$2, a$2, h$3, p$3 = {}, v$2 = [], y$3 = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, d$3 = Array.isArray;
16
- function w$4(n, l) {
14
+ //#region ../../node_modules/.pnpm/preact@10.29.2/node_modules/preact/dist/preact.module.js
15
+ var n$1, l$3, u$3, t$2, i$3, r$2, o$3, e$2, f$3, c$2, a$2, s$2, h$3, p$3, v$2, y$3, d$3 = {}, w$4 = [], _$3 = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, g$4 = Array.isArray;
16
+ function m$3(n, l) {
17
17
  for (var u in l) n[u] = l[u];
18
18
  return n;
19
19
  }
20
- function g$4(n) {
20
+ function b$3(n) {
21
21
  n && n.parentNode && n.parentNode.removeChild(n);
22
22
  }
23
- function _$3(l, u, t) {
23
+ function k$3(l, u, t) {
24
24
  var i, r, o, e = {};
25
25
  for (o in u) "key" == o ? i = u[o] : "ref" == o ? r = u[o] : e[o] = u[o];
26
26
  if (arguments.length > 2 && (e.children = arguments.length > 3 ? n$1.call(arguments, 2) : t), "function" == typeof l && null != l.defaultProps) for (o in l.defaultProps) void 0 === e[o] && (e[o] = l.defaultProps[o]);
27
- return m$3(l, e, i, r, null);
27
+ return x$4(l, e, i, r, null);
28
28
  }
29
- function m$3(n, t, i, r, o) {
29
+ function x$4(n, t, i, r, o) {
30
30
  var e = {
31
31
  type: n,
32
32
  props: t,
@@ -44,88 +44,88 @@
44
44
  };
45
45
  return null == o && null != l$3.vnode && l$3.vnode(e), e;
46
46
  }
47
- function b$3() {
47
+ function M$1() {
48
48
  return { current: null };
49
49
  }
50
- function k$3(n) {
50
+ function S$1(n) {
51
51
  return n.children;
52
52
  }
53
- function x$4(n, l) {
53
+ function C$2(n, l) {
54
54
  this.props = n, this.context = l;
55
55
  }
56
- function S$1(n, l) {
57
- if (null == l) return n.__ ? S$1(n.__, n.__i + 1) : null;
56
+ function $$2(n, l) {
57
+ if (null == l) return n.__ ? $$2(n.__, n.__i + 1) : null;
58
58
  for (var u; l < n.__k.length; l++) if (null != (u = n.__k[l]) && null != u.__e) return u.__e;
59
- return "function" == typeof n.type ? S$1(n) : null;
59
+ return "function" == typeof n.type ? $$2(n) : null;
60
60
  }
61
- function C$3(n) {
61
+ function I$1(n) {
62
62
  if (n.__P && n.__d) {
63
- var u = n.__v, t = u.__e, i = [], r = [], o = w$4({}, u);
64
- o.__v = u.__v + 1, l$3.vnode && l$3.vnode(o), z$2(n.__P, o, u, n.__n, n.__P.namespaceURI, 32 & u.__u ? [t] : null, i, null == t ? S$1(u) : t, !!(32 & u.__u), r), o.__v = u.__v, o.__.__k[o.__i] = o, V$1(i, o, r), u.__e = u.__ = null, o.__e != t && M$1(o);
63
+ var u = n.__v, t = u.__e, i = [], r = [], o = m$3({}, u);
64
+ o.__v = u.__v + 1, l$3.vnode && l$3.vnode(o), q$3(n.__P, o, u, n.__n, n.__P.namespaceURI, 32 & u.__u ? [t] : null, i, null == t ? $$2(u) : t, !!(32 & u.__u), r), o.__v = u.__v, o.__.__k[o.__i] = o, D$2(i, o, r), u.__e = u.__ = null, o.__e != t && P$2(o);
65
65
  }
66
66
  }
67
- function M$1(n) {
67
+ function P$2(n) {
68
68
  if (null != (n = n.__) && null != n.__c) return n.__e = n.__c.base = null, n.__k.some(function(l) {
69
69
  if (null != l && null != l.__e) return n.__e = n.__c.base = l.__e;
70
- }), M$1(n);
70
+ }), P$2(n);
71
71
  }
72
- function $$2(n) {
73
- (!n.__d && (n.__d = !0) && i$3.push(n) && !I$1.__r++ || r$2 != l$3.debounceRendering) && ((r$2 = l$3.debounceRendering) || o$3)(I$1);
72
+ function A$2(n) {
73
+ (!n.__d && (n.__d = !0) && i$3.push(n) && !H$1.__r++ || r$2 != l$3.debounceRendering) && ((r$2 = l$3.debounceRendering) || o$3)(H$1);
74
74
  }
75
- function I$1() {
75
+ function H$1() {
76
76
  try {
77
- for (var n, l = 1; i$3.length;) i$3.length > l && i$3.sort(e$2), n = i$3.shift(), l = i$3.length, C$3(n);
77
+ for (var n, l = 1; i$3.length;) i$3.length > l && i$3.sort(e$2), n = i$3.shift(), l = i$3.length, I$1(n);
78
78
  } finally {
79
- i$3.length = I$1.__r = 0;
79
+ i$3.length = H$1.__r = 0;
80
80
  }
81
81
  }
82
- function P$2(n, l, u, t, i, r, o, e, f, c, s) {
83
- var a, h, y, d, w, g, _, m = t && t.__k || v$2, b = l.length;
84
- for (f = A$2(u, l, m, f, b), a = 0; a < b; a++) null != (y = u.__k[a]) && (h = -1 != y.__i && m[y.__i] || p$3, y.__i = a, g = z$2(n, y, h, i, r, o, e, f, c, s), d = y.__e, y.ref && h.ref != y.ref && (h.ref && D$2(h.ref, null, y), s.push(y.ref, y.__c || d, y)), null == w && null != d && (w = d), (_ = !!(4 & y.__u)) || h.__k === y.__k ? f = H$1(y, f, n, _) : "function" == typeof y.type && void 0 !== g ? f = g : d && (f = d.nextSibling), y.__u &= -7);
85
- return u.__e = w, f;
82
+ function L$1(n, l, u, t, i, r, o, e, f, c, a) {
83
+ var s, h, p, v, y, _, g, m = t && t.__k || w$4, b = l.length;
84
+ for (f = T$2(u, l, m, f, b), s = 0; s < b; s++) null != (p = u.__k[s]) && (h = -1 != p.__i && m[p.__i] || d$3, p.__i = s, _ = q$3(n, p, h, i, r, o, e, f, c, a), v = p.__e, p.ref && h.ref != p.ref && (h.ref && J$1(h.ref, null, p), a.push(p.ref, p.__c || v, p)), null == y && null != v && (y = v), (g = !!(4 & p.__u)) || h.__k === p.__k ? (f = j$3(p, f, n, g), g && h.__e && (h.__e = null)) : "function" == typeof p.type && void 0 !== _ ? f = _ : v && (f = v.nextSibling), p.__u &= -7);
85
+ return u.__e = y, f;
86
86
  }
87
- function A$2(n, l, u, t, i) {
88
- var r, o, e, f, c, s = u.length, a = s, h = 0;
89
- for (n.__k = new Array(i), r = 0; r < i; r++) null != (o = l[r]) && "boolean" != typeof o && "function" != typeof o ? ("string" == typeof o || "number" == typeof o || "bigint" == typeof o || o.constructor == String ? o = n.__k[r] = m$3(null, o, null, null, null) : d$3(o) ? o = n.__k[r] = m$3(k$3, { children: o }, null, null, null) : void 0 === o.constructor && o.__b > 0 ? o = n.__k[r] = m$3(o.type, o.props, o.key, o.ref ? o.ref : null, o.__v) : n.__k[r] = o, f = r + h, o.__ = n, o.__b = n.__b + 1, e = null, -1 != (c = o.__i = T$2(o, u, f, a)) && (a--, (e = u[c]) && (e.__u |= 2)), null == e || null == e.__v ? (-1 == c && (i > s ? h-- : i < s && h++), "function" != typeof o.type && (o.__u |= 4)) : c != f && (c == f - 1 ? h-- : c == f + 1 ? h++ : (c > f ? h-- : h++, o.__u |= 4))) : n.__k[r] = null;
90
- if (a) for (r = 0; r < s; r++) null != (e = u[r]) && 0 == (2 & e.__u) && (e.__e == t && (t = S$1(e)), E$2(e, e));
87
+ function T$2(n, l, u, t, i) {
88
+ var r, o, e, f, c, a = u.length, s = a, h = 0;
89
+ for (n.__k = new Array(i), r = 0; r < i; r++) null != (o = l[r]) && "boolean" != typeof o && "function" != typeof o ? ("string" == typeof o || "number" == typeof o || "bigint" == typeof o || o.constructor == String ? o = n.__k[r] = x$4(null, o, null, null, null) : g$4(o) ? o = n.__k[r] = x$4(S$1, { children: o }, null, null, null) : void 0 === o.constructor && o.__b > 0 ? o = n.__k[r] = x$4(o.type, o.props, o.key, o.ref ? o.ref : null, o.__v) : n.__k[r] = o, f = r + h, o.__ = n, o.__b = n.__b + 1, e = null, -1 != (c = o.__i = O$1(o, u, f, s)) && (s--, (e = u[c]) && (e.__u |= 2)), null == e || null == e.__v ? (-1 == c && (i > a ? h-- : i < a && h++), "function" != typeof o.type && (o.__u |= 4)) : c != f && (c == f - 1 ? h-- : c == f + 1 ? h++ : (c > f ? h-- : h++, o.__u |= 4))) : n.__k[r] = null;
90
+ if (s) for (r = 0; r < a; r++) null != (e = u[r]) && 0 == (2 & e.__u) && (e.__e == t && (t = $$2(e)), K$1(e, e));
91
91
  return t;
92
92
  }
93
- function H$1(n, l, u, t) {
93
+ function j$3(n, l, u, t) {
94
94
  var i, r;
95
95
  if ("function" == typeof n.type) {
96
- for (i = n.__k, r = 0; i && r < i.length; r++) i[r] && (i[r].__ = n, l = H$1(i[r], l, u, t));
96
+ for (i = n.__k, r = 0; i && r < i.length; r++) i[r] && (i[r].__ = n, l = j$3(i[r], l, u, t));
97
97
  return l;
98
98
  }
99
- n.__e != l && (t && (l && n.type && !l.parentNode && (l = S$1(n)), u.insertBefore(n.__e, l || null)), l = n.__e);
99
+ n.__e != l && (t && (l && n.type && !l.parentNode && (l = $$2(n)), u.insertBefore(n.__e, l || null)), l = n.__e);
100
100
  do
101
101
  l = l && l.nextSibling;
102
102
  while (null != l && 8 == l.nodeType);
103
103
  return l;
104
104
  }
105
- function L$1(n, l) {
106
- return l = l || [], null == n || "boolean" == typeof n || (d$3(n) ? n.some(function(n) {
107
- L$1(n, l);
105
+ function F$3(n, l) {
106
+ return l = l || [], null == n || "boolean" == typeof n || (g$4(n) ? n.some(function(n) {
107
+ F$3(n, l);
108
108
  }) : l.push(n)), l;
109
109
  }
110
- function T$2(n, l, u, t) {
111
- var i, r, o, e = n.key, f = n.type, c = l[u], s = null != c && 0 == (2 & c.__u);
112
- if (null === c && null == e || s && e == c.key && f == c.type) return u;
113
- if (t > (s ? 1 : 0)) {
110
+ function O$1(n, l, u, t) {
111
+ var i, r, o, e = n.key, f = n.type, c = l[u], a = null != c && 0 == (2 & c.__u);
112
+ if (null === c && null == e || a && e == c.key && f == c.type) return u;
113
+ if (t > (a ? 1 : 0)) {
114
114
  for (i = u - 1, r = u + 1; i >= 0 || r < l.length;) if (null != (c = l[o = i >= 0 ? i-- : r++]) && 0 == (2 & c.__u) && e == c.key && f == c.type) return o;
115
115
  }
116
116
  return -1;
117
117
  }
118
- function j$2(n, l, u) {
119
- "-" == l[0] ? n.setProperty(l, null == u ? "" : u) : n[l] = null == u ? "" : "number" != typeof u || y$3.test(l) ? u : u + "px";
118
+ function z$2(n, l, u) {
119
+ "-" == l[0] ? n.setProperty(l, null == u ? "" : u) : n[l] = null == u ? "" : "number" != typeof u || _$3.test(l) ? u : u + "px";
120
120
  }
121
- function F$3(n, l, u, t, i) {
121
+ function N$1(n, l, u, t, i) {
122
122
  var r, o;
123
123
  n: if ("style" == l) if ("string" == typeof u) n.style.cssText = u;
124
124
  else {
125
- if ("string" == typeof t && (n.style.cssText = t = ""), t) for (l in t) u && l in u || j$2(n.style, l, "");
126
- if (u) for (l in u) t && u[l] == t[l] || j$2(n.style, l, u[l]);
125
+ if ("string" == typeof t && (n.style.cssText = t = ""), t) for (l in t) u && l in u || z$2(n.style, l, "");
126
+ if (u) for (l in u) t && u[l] == t[l] || z$2(n.style, l, u[l]);
127
127
  }
128
- else if ("o" == l[0] && "n" == l[1]) r = l != (l = l.replace(f$3, "$1")), o = l.toLowerCase(), l = o in n || "onFocusOut" == l || "onFocusIn" == l ? o.slice(2) : l.slice(2), n.l || (n.l = {}), n.l[l + r] = u, u ? t ? u.u = t.u : (u.u = c$2, n.addEventListener(l, r ? a$2 : s$2, r)) : n.removeEventListener(l, r ? a$2 : s$2, r);
128
+ else if ("o" == l[0] && "n" == l[1]) r = l != (l = l.replace(s$2, "$1")), o = l.toLowerCase(), l = o in n || "onFocusOut" == l || "onFocusIn" == l ? o.slice(2) : l.slice(2), n.l || (n.l = {}), n.l[l + r] = u, u ? t ? u[a$2] = t[a$2] : (u[a$2] = h$3, n.addEventListener(l, r ? v$2 : p$3, r)) : n.removeEventListener(l, r ? v$2 : p$3, r);
129
129
  else {
130
130
  if ("http://www.w3.org/2000/svg" == i) l = l.replace(/xlink(H|:h)/, "h").replace(/sName$/, "s");
131
131
  else if ("width" != l && "height" != l && "href" != l && "list" != l && "form" != l && "tabIndex" != l && "download" != l && "rowSpan" != l && "colSpan" != l && "role" != l && "popover" != l && l in n) try {
@@ -135,57 +135,57 @@
135
135
  "function" == typeof u || (null == u || !1 === u && "-" != l[4] ? n.removeAttribute(l) : n.setAttribute(l, "popover" == l && 1 == u ? "" : u));
136
136
  }
137
137
  }
138
- function O$1(n) {
138
+ function V$1(n) {
139
139
  return function(u) {
140
140
  if (this.l) {
141
141
  var t = this.l[u.type + n];
142
- if (null == u.t) u.t = c$2++;
143
- else if (u.t < t.u) return;
142
+ if (null == u[c$2]) u[c$2] = h$3++;
143
+ else if (u[c$2] < t[a$2]) return;
144
144
  return t(l$3.event ? l$3.event(u) : u);
145
145
  }
146
146
  };
147
147
  }
148
- function z$2(n, u, t, i, r, o, e, f, c, s) {
149
- var a, h, p, y, _, m, b, S, C, M, $, I, A, H, L, T = u.type;
148
+ function q$3(n, u, t, i, r, o, e, f, c, a) {
149
+ var s, h, p, v, y, d, _, k, x, M, $, I, P, A, H, T = u.type;
150
150
  if (void 0 !== u.constructor) return null;
151
- 128 & t.__u && (c = !!(32 & t.__u), o = [f = u.__e = t.__e]), (a = l$3.__b) && a(u);
151
+ 128 & t.__u && (c = !!(32 & t.__u), o = [f = u.__e = t.__e]), (s = l$3.__b) && s(u);
152
152
  n: if ("function" == typeof T) try {
153
- if (S = u.props, C = T.prototype && T.prototype.render, M = (a = T.contextType) && i[a.__c], $ = a ? M ? M.props.value : a.__ : i, t.__c ? b = (h = u.__c = t.__c).__ = h.__E : (C ? u.__c = h = new T(S, $) : (u.__c = h = new x$4(S, $), h.constructor = T, h.render = G$1), M && M.sub(h), h.state || (h.state = {}), h.__n = i, p = h.__d = !0, h.__h = [], h._sb = []), C && null == h.__s && (h.__s = h.state), C && null != T.getDerivedStateFromProps && (h.__s == h.state && (h.__s = w$4({}, h.__s)), w$4(h.__s, T.getDerivedStateFromProps(S, h.__s))), y = h.props, _ = h.state, h.__v = u, p) C && null == T.getDerivedStateFromProps && null != h.componentWillMount && h.componentWillMount(), C && null != h.componentDidMount && h.__h.push(h.componentDidMount);
153
+ if (k = u.props, x = T.prototype && T.prototype.render, M = (s = T.contextType) && i[s.__c], $ = s ? M ? M.props.value : s.__ : i, t.__c ? _ = (h = u.__c = t.__c).__ = h.__E : (x ? u.__c = h = new T(k, $) : (u.__c = h = new C$2(k, $), h.constructor = T, h.render = Q$1), M && M.sub(h), h.state || (h.state = {}), h.__n = i, p = h.__d = !0, h.__h = [], h._sb = []), x && null == h.__s && (h.__s = h.state), x && null != T.getDerivedStateFromProps && (h.__s == h.state && (h.__s = m$3({}, h.__s)), m$3(h.__s, T.getDerivedStateFromProps(k, h.__s))), v = h.props, y = h.state, h.__v = u, p) x && null == T.getDerivedStateFromProps && null != h.componentWillMount && h.componentWillMount(), x && null != h.componentDidMount && h.__h.push(h.componentDidMount);
154
154
  else {
155
- if (C && null == T.getDerivedStateFromProps && S !== y && null != h.componentWillReceiveProps && h.componentWillReceiveProps(S, $), u.__v == t.__v || !h.__e && null != h.shouldComponentUpdate && !1 === h.shouldComponentUpdate(S, h.__s, $)) {
156
- u.__v != t.__v && (h.props = S, h.state = h.__s, h.__d = !1), u.__e = t.__e, u.__k = t.__k, u.__k.some(function(n) {
155
+ if (x && null == T.getDerivedStateFromProps && k !== v && null != h.componentWillReceiveProps && h.componentWillReceiveProps(k, $), u.__v == t.__v || !h.__e && null != h.shouldComponentUpdate && !1 === h.shouldComponentUpdate(k, h.__s, $)) {
156
+ u.__v != t.__v && (h.props = k, h.state = h.__s, h.__d = !1), u.__e = t.__e, u.__k = t.__k, u.__k.some(function(n) {
157
157
  n && (n.__ = u);
158
- }), v$2.push.apply(h.__h, h._sb), h._sb = [], h.__h.length && e.push(h);
158
+ }), w$4.push.apply(h.__h, h._sb), h._sb = [], h.__h.length && e.push(h);
159
159
  break n;
160
160
  }
161
- null != h.componentWillUpdate && h.componentWillUpdate(S, h.__s, $), C && null != h.componentDidUpdate && h.__h.push(function() {
162
- h.componentDidUpdate(y, _, m);
161
+ null != h.componentWillUpdate && h.componentWillUpdate(k, h.__s, $), x && null != h.componentDidUpdate && h.__h.push(function() {
162
+ h.componentDidUpdate(v, y, d);
163
163
  });
164
164
  }
165
- if (h.context = $, h.props = S, h.__P = n, h.__e = !1, I = l$3.__r, A = 0, C) h.state = h.__s, h.__d = !1, I && I(u), a = h.render(h.props, h.state, h.context), v$2.push.apply(h.__h, h._sb), h._sb = [];
165
+ if (h.context = $, h.props = k, h.__P = n, h.__e = !1, I = l$3.__r, P = 0, x) h.state = h.__s, h.__d = !1, I && I(u), s = h.render(h.props, h.state, h.context), w$4.push.apply(h.__h, h._sb), h._sb = [];
166
166
  else do
167
- h.__d = !1, I && I(u), a = h.render(h.props, h.state, h.context), h.state = h.__s;
168
- while (h.__d && ++A < 25);
169
- h.state = h.__s, null != h.getChildContext && (i = w$4(w$4({}, i), h.getChildContext())), C && !p && null != h.getSnapshotBeforeUpdate && (m = h.getSnapshotBeforeUpdate(y, _)), H = null != a && a.type === k$3 && null == a.key ? q$3(a.props.children) : a, f = P$2(n, d$3(H) ? H : [H], u, t, i, r, o, e, f, c, s), h.base = u.__e, u.__u &= -161, h.__h.length && e.push(h), b && (h.__E = h.__ = null);
167
+ h.__d = !1, I && I(u), s = h.render(h.props, h.state, h.context), h.state = h.__s;
168
+ while (h.__d && ++P < 25);
169
+ h.state = h.__s, null != h.getChildContext && (i = m$3(m$3({}, i), h.getChildContext())), x && !p && null != h.getSnapshotBeforeUpdate && (d = h.getSnapshotBeforeUpdate(v, y)), A = null != s && s.type === S$1 && null == s.key ? E$2(s.props.children) : s, f = L$1(n, g$4(A) ? A : [A], u, t, i, r, o, e, f, c, a), h.base = u.__e, u.__u &= -161, h.__h.length && e.push(h), _ && (h.__E = h.__ = null);
170
170
  } catch (n) {
171
171
  if (u.__v = null, c || null != o) if (n.then) {
172
172
  for (u.__u |= c ? 160 : 128; f && 8 == f.nodeType && f.nextSibling;) f = f.nextSibling;
173
173
  o[o.indexOf(f)] = null, u.__e = f;
174
174
  } else {
175
- for (L = o.length; L--;) g$4(o[L]);
176
- N$1(u);
175
+ for (H = o.length; H--;) b$3(o[H]);
176
+ B$2(u);
177
177
  }
178
- else u.__e = t.__e, u.__k = t.__k, n.then || N$1(u);
178
+ else u.__e = t.__e, u.__k = t.__k, n.then || B$2(u);
179
179
  l$3.__e(n, u, t);
180
180
  }
181
- else null == o && u.__v == t.__v ? (u.__k = t.__k, u.__e = t.__e) : f = u.__e = B$2(t.__e, u, t, i, r, o, e, c, s);
182
- return (a = l$3.diffed) && a(u), 128 & u.__u ? void 0 : f;
181
+ else null == o && u.__v == t.__v ? (u.__k = t.__k, u.__e = t.__e) : f = u.__e = G$1(t.__e, u, t, i, r, o, e, c, a);
182
+ return (s = l$3.diffed) && s(u), 128 & u.__u ? void 0 : f;
183
183
  }
184
- function N$1(n) {
185
- n && (n.__c && (n.__c.__e = !0), n.__k && n.__k.some(N$1));
184
+ function B$2(n) {
185
+ n && (n.__c && (n.__c.__e = !0), n.__k && n.__k.some(B$2));
186
186
  }
187
- function V$1(n, u, t) {
188
- for (var i = 0; i < t.length; i++) D$2(t[i], t[++i], t[++i]);
187
+ function D$2(n, u, t) {
188
+ for (var i = 0; i < t.length; i++) J$1(t[i], t[++i], t[++i]);
189
189
  l$3.__c && l$3.__c(u, n), n.some(function(u) {
190
190
  try {
191
191
  n = u.__h, u.__h = [], n.some(function(n) {
@@ -196,14 +196,14 @@
196
196
  }
197
197
  });
198
198
  }
199
- function q$3(n) {
200
- return "object" != typeof n || null == n || n.__b > 0 ? n : d$3(n) ? n.map(q$3) : w$4({}, n);
199
+ function E$2(n) {
200
+ return "object" != typeof n || null == n || n.__b > 0 ? n : g$4(n) ? n.map(E$2) : void 0 !== n.constructor ? null : m$3({}, n);
201
201
  }
202
- function B$2(u, t, i, r, o, e, f, c, s) {
203
- var a, h, v, y, w, _, m, b = i.props || p$3, k = t.props, x = t.type;
202
+ function G$1(u, t, i, r, o, e, f, c, a) {
203
+ var s, h, p, v, y, w, _, m = i.props || d$3, k = t.props, x = t.type;
204
204
  if ("svg" == x ? o = "http://www.w3.org/2000/svg" : "math" == x ? o = "http://www.w3.org/1998/Math/MathML" : o || (o = "http://www.w3.org/1999/xhtml"), null != e) {
205
- for (a = 0; a < e.length; a++) if ((w = e[a]) && "setAttribute" in w == !!x && (x ? w.localName == x : 3 == w.nodeType)) {
206
- u = w, e[a] = null;
205
+ for (s = 0; s < e.length; s++) if ((y = e[s]) && "setAttribute" in y == !!x && (x ? y.localName == x : 3 == y.nodeType)) {
206
+ u = y, e[s] = null;
207
207
  break;
208
208
  }
209
209
  }
@@ -211,18 +211,18 @@
211
211
  if (null == x) return document.createTextNode(k);
212
212
  u = document.createElementNS(o, x, k.is && k), c && (l$3.__m && l$3.__m(t, e), c = !1), e = null;
213
213
  }
214
- if (null == x) b === k || c && u.data == k || (u.data = k);
214
+ if (null == x) m === k || c && u.data == k || (u.data = k);
215
215
  else {
216
- if (e = e && n$1.call(u.childNodes), !c && null != e) for (b = {}, a = 0; a < u.attributes.length; a++) b[(w = u.attributes[a]).name] = w.value;
217
- for (a in b) w = b[a], "dangerouslySetInnerHTML" == a ? v = w : "children" == a || a in k || "value" == a && "defaultValue" in k || "checked" == a && "defaultChecked" in k || F$3(u, a, null, w, o);
218
- for (a in k) w = k[a], "children" == a ? y = w : "dangerouslySetInnerHTML" == a ? h = w : "value" == a ? _ = w : "checked" == a ? m = w : c && "function" != typeof w || b[a] === w || F$3(u, a, w, b[a], o);
219
- if (h) c || v && (h.__html == v.__html || h.__html == u.innerHTML) || (u.innerHTML = h.__html), t.__k = [];
220
- else if (v && (u.innerHTML = ""), P$2("template" == t.type ? u.content : u, d$3(y) ? y : [y], t, i, r, "foreignObject" == x ? "http://www.w3.org/1999/xhtml" : o, e, f, e ? e[0] : i.__k && S$1(i, 0), c, s), null != e) for (a = e.length; a--;) g$4(e[a]);
221
- c || (a = "value", "progress" == x && null == _ ? u.removeAttribute("value") : null != _ && (_ !== u[a] || "progress" == x && !_ || "option" == x && _ != b[a]) && F$3(u, a, _, b[a], o), a = "checked", null != m && m != u[a] && F$3(u, a, m, b[a], o));
216
+ if (e = "textarea" == x && null != k.defaultValue ? null : e && n$1.call(u.childNodes), !c && null != e) for (m = {}, s = 0; s < u.attributes.length; s++) m[(y = u.attributes[s]).name] = y.value;
217
+ for (s in m) y = m[s], "dangerouslySetInnerHTML" == s ? p = y : "children" == s || s in k || "value" == s && "defaultValue" in k || "checked" == s && "defaultChecked" in k || N$1(u, s, null, y, o);
218
+ for (s in k) y = k[s], "children" == s ? v = y : "dangerouslySetInnerHTML" == s ? h = y : "value" == s ? w = y : "checked" == s ? _ = y : c && "function" != typeof y || m[s] === y || N$1(u, s, y, m[s], o);
219
+ if (h) c || p && (h.__html == p.__html || h.__html == u.innerHTML) || (u.innerHTML = h.__html), t.__k = [];
220
+ else if (p && (u.innerHTML = ""), L$1("template" == t.type ? u.content : u, g$4(v) ? v : [v], t, i, r, "foreignObject" == x ? "http://www.w3.org/1999/xhtml" : o, e, f, e ? e[0] : i.__k && $$2(i, 0), c, a), null != e) for (s = e.length; s--;) b$3(e[s]);
221
+ c && "textarea" != x || (s = "value", "progress" == x && null == w ? u.removeAttribute("value") : null != w && (w !== u[s] || "progress" == x && !w || "option" == x && w != m[s]) && N$1(u, s, w, m[s], o), s = "checked", null != _ && _ != u[s] && N$1(u, s, _, m[s], o));
222
222
  }
223
223
  return u;
224
224
  }
225
- function D$2(n, u, t) {
225
+ function J$1(n, u, t) {
226
226
  try {
227
227
  if ("function" == typeof n) {
228
228
  var i = "function" == typeof n.__u;
@@ -232,9 +232,9 @@
232
232
  l$3.__e(n, t);
233
233
  }
234
234
  }
235
- function E$2(n, u, t) {
235
+ function K$1(n, u, t) {
236
236
  var i, r;
237
- if (l$3.unmount && l$3.unmount(n), (i = n.ref) && (i.current && i.current != n.__e || D$2(i, null, u)), null != (i = n.__c)) {
237
+ if (l$3.unmount && l$3.unmount(n), (i = n.ref) && (i.current && i.current != n.__e || J$1(i, null, u)), null != (i = n.__c)) {
238
238
  if (i.componentWillUnmount) try {
239
239
  i.componentWillUnmount();
240
240
  } catch (n) {
@@ -242,25 +242,25 @@
242
242
  }
243
243
  i.base = i.__P = null;
244
244
  }
245
- if (i = n.__k) for (r = 0; r < i.length; r++) i[r] && E$2(i[r], u, t || "function" != typeof n.type);
246
- t || g$4(n.__e), n.__c = n.__ = n.__e = void 0;
245
+ if (i = n.__k) for (r = 0; r < i.length; r++) i[r] && K$1(i[r], u, t || "function" != typeof n.type);
246
+ t || b$3(n.__e), n.__c = n.__ = n.__e = void 0;
247
247
  }
248
- function G$1(n, l, u) {
248
+ function Q$1(n, l, u) {
249
249
  return this.constructor(n, u);
250
250
  }
251
- function J$1(u, t, i) {
251
+ function R$1(u, t, i) {
252
252
  var r, o, e, f;
253
- t == document && (t = document.documentElement), l$3.__ && l$3.__(u, t), o = (r = "function" == typeof i) ? null : i && i.__k || t.__k, e = [], f = [], z$2(t, u = (!r && i || t).__k = _$3(k$3, null, [u]), o || p$3, p$3, t.namespaceURI, !r && i ? [i] : o ? null : t.firstChild ? n$1.call(t.childNodes) : null, e, !r && i ? i : o ? o.__e : t.firstChild, r, f), V$1(e, u, f);
253
+ t == document && (t = document.documentElement), l$3.__ && l$3.__(u, t), o = (r = "function" == typeof i) ? null : i && i.__k || t.__k, e = [], f = [], q$3(t, u = (!r && i || t).__k = k$3(S$1, null, [u]), o || d$3, d$3, t.namespaceURI, !r && i ? [i] : o ? null : t.firstChild ? n$1.call(t.childNodes) : null, e, !r && i ? i : o ? o.__e : t.firstChild, r, f), D$2(e, u, f);
254
254
  }
255
- function K$1(n, l) {
256
- J$1(n, l, K$1);
255
+ function U$1(n, l) {
256
+ R$1(n, l, U$1);
257
257
  }
258
- function Q$1(l, u, t) {
259
- var i, r, o, e, f = w$4({}, l.props);
258
+ function W$1(l, u, t) {
259
+ var i, r, o, e, f = m$3({}, l.props);
260
260
  for (o in l.type && l.type.defaultProps && (e = l.type.defaultProps), u) "key" == o ? i = u[o] : "ref" == o ? r = u[o] : f[o] = void 0 === u[o] && null != e ? e[o] : u[o];
261
- return arguments.length > 2 && (f.children = arguments.length > 3 ? n$1.call(arguments, 2) : t), m$3(l.type, f, i || l.key, r || l.ref, null);
261
+ return arguments.length > 2 && (f.children = arguments.length > 3 ? n$1.call(arguments, 2) : t), x$4(l.type, f, i || l.key, r || l.ref, null);
262
262
  }
263
- function R$1(n) {
263
+ function X$1(n) {
264
264
  function l(n) {
265
265
  var u, t;
266
266
  return this.getChildContext || (u = /* @__PURE__ */ new Set(), (t = {})[l.__c] = this, this.getChildContext = function() {
@@ -269,7 +269,7 @@
269
269
  u = null;
270
270
  }, this.shouldComponentUpdate = function(n) {
271
271
  this.props.value != n.value && u.forEach(function(n) {
272
- n.__e = !0, $$2(n);
272
+ n.__e = !0, A$2(n);
273
273
  });
274
274
  }, this.sub = function(n) {
275
275
  u.add(n);
@@ -279,11 +279,11 @@
279
279
  };
280
280
  }), n.children;
281
281
  }
282
- return l.__c = "__cC" + h$3++, l.__ = n, l.Provider = l.__l = (l.Consumer = function(n, l) {
282
+ return l.__c = "__cC" + y$3++, l.__ = n, l.Provider = l.__l = (l.Consumer = function(n, l) {
283
283
  return n.children(l);
284
284
  }).contextType = l, l;
285
285
  }
286
- n$1 = v$2.slice, l$3 = { __e: function(n, l, u, t) {
286
+ n$1 = w$4.slice, l$3 = { __e: function(n, l, u, t) {
287
287
  for (var i, r, o; l = l.__;) if ((i = l.__c) && !i.__) try {
288
288
  if ((r = i.constructor) && null != r.getDerivedStateFromError && (i.setState(r.getDerivedStateFromError(n)), o = i.__d), null != i.componentDidCatch && (i.componentDidCatch(n, t || {}), o = i.__d), o) return i.__E = i;
289
289
  } catch (l) {
@@ -292,16 +292,16 @@
292
292
  throw n;
293
293
  } }, u$3 = 0, t$2 = function(n) {
294
294
  return null != n && void 0 === n.constructor;
295
- }, x$4.prototype.setState = function(n, l) {
296
- var u = null != this.__s && this.__s != this.state ? this.__s : this.__s = w$4({}, this.state);
297
- "function" == typeof n && (n = n(w$4({}, u), this.props)), n && w$4(u, n), null != n && this.__v && (l && this._sb.push(l), $$2(this));
298
- }, x$4.prototype.forceUpdate = function(n) {
299
- this.__v && (this.__e = !0, n && this.__h.push(n), $$2(this));
300
- }, x$4.prototype.render = k$3, i$3 = [], o$3 = "function" == typeof Promise ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, e$2 = function(n, l) {
295
+ }, C$2.prototype.setState = function(n, l) {
296
+ var u = null != this.__s && this.__s != this.state ? this.__s : this.__s = m$3({}, this.state);
297
+ "function" == typeof n && (n = n(m$3({}, u), this.props)), n && m$3(u, n), null != n && this.__v && (l && this._sb.push(l), A$2(this));
298
+ }, C$2.prototype.forceUpdate = function(n) {
299
+ this.__v && (this.__e = !0, n && this.__h.push(n), A$2(this));
300
+ }, C$2.prototype.render = S$1, i$3 = [], o$3 = "function" == typeof Promise ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, e$2 = function(n, l) {
301
301
  return n.__v.__b - l.__v.__b;
302
- }, I$1.__r = 0, f$3 = /(PointerCapture)$|Capture$/i, c$2 = 0, s$2 = O$1(!1), a$2 = O$1(!0), h$3 = 0;
302
+ }, H$1.__r = 0, f$3 = Math.random().toString(8), c$2 = "__d" + f$3, a$2 = "__a" + f$3, s$2 = /(PointerCapture)$|Capture$/i, h$3 = 0, p$3 = V$1(!1), v$2 = V$1(!0), y$3 = 0;
303
303
  //#endregion
304
- //#region ../../node_modules/.pnpm/preact@10.29.0/node_modules/preact/hooks/dist/hooks.module.js
304
+ //#region ../../node_modules/.pnpm/preact@10.29.2/node_modules/preact/hooks/dist/hooks.module.js
305
305
  var t$1, r$1, u$2, i$2, o$2 = 0, f$2 = [], c$1 = l$3, e$1 = c$1.__b, a$1 = c$1.__r, v$1 = c$1.diffed, l$2 = c$1.__c, m$2 = c$1.unmount, s$1 = c$1.__;
306
306
  function p$2(n, t) {
307
307
  c$1.__h && c$1.__h(r$1, n, o$2 || t), o$2 = 0;
@@ -350,11 +350,11 @@
350
350
  }
351
351
  function y$2(n, u) {
352
352
  var i = p$2(t$1++, 3);
353
- !c$1.__s && C$2(i.__H, u) && (i.__ = n, i.u = u, r$1.__H.__h.push(i));
353
+ !c$1.__s && C$1(i.__H, u) && (i.__ = n, i.u = u, r$1.__H.__h.push(i));
354
354
  }
355
355
  function _$2(n, u) {
356
356
  var i = p$2(t$1++, 4);
357
- !c$1.__s && C$2(i.__H, u) && (i.__ = n, i.u = u, r$1.__h.push(i));
357
+ !c$1.__s && C$1(i.__H, u) && (i.__ = n, i.u = u, r$1.__h.push(i));
358
358
  }
359
359
  function A$1(n) {
360
360
  return o$2 = 5, T$1(function() {
@@ -376,7 +376,7 @@
376
376
  }
377
377
  function T$1(n, r) {
378
378
  var u = p$2(t$1++, 7);
379
- return C$2(u.__H, r) && (u.__ = n(), u.__H = r, u.__h = n), u.__;
379
+ return C$1(u.__H, r) && (u.__ = n(), u.__H = r, u.__h = n), u.__;
380
380
  }
381
381
  function q$2(n, t) {
382
382
  return o$2 = 8, T$1(function() {
@@ -407,7 +407,7 @@
407
407
  }
408
408
  return n.__;
409
409
  }
410
- function j$1() {
410
+ function j$2() {
411
411
  for (var n; n = f$2.shift();) {
412
412
  var t = n.__H;
413
413
  if (n.__P && t) try {
@@ -430,7 +430,7 @@
430
430
  }, c$1.diffed = function(n) {
431
431
  v$1 && v$1(n);
432
432
  var t = n.__c;
433
- t && t.__H && (t.__H.__h.length && (1 !== f$2.push(t) && i$2 === c$1.requestAnimationFrame || ((i$2 = c$1.requestAnimationFrame) || w$3)(j$1)), t.__H.__.some(function(n) {
433
+ t && t.__H && (t.__H.__h.length && (1 !== f$2.push(t) && i$2 === c$1.requestAnimationFrame || ((i$2 = c$1.requestAnimationFrame) || w$3)(j$2)), t.__H.__.some(function(n) {
434
434
  n.u && (n.__H = n.u), n.u = void 0;
435
435
  })), u$2 = r$1 = null;
436
436
  }, c$1.__c = function(n, t) {
@@ -471,7 +471,7 @@
471
471
  var t = r$1;
472
472
  n.__c = n.__(), r$1 = t;
473
473
  }
474
- function C$2(n, t) {
474
+ function C$1(n, t) {
475
475
  return !n || n.length !== t.length || t.some(function(t, r) {
476
476
  return t !== n[r];
477
477
  });
@@ -480,14 +480,14 @@
480
480
  return "function" == typeof t ? t(n) : t;
481
481
  }
482
482
  //#endregion
483
- //#region ../../node_modules/.pnpm/@preact+signals-core@1.14.0/node_modules/@preact/signals-core/dist/signals-core.module.js
483
+ //#region ../../node_modules/.pnpm/@preact+signals-core@1.14.2/node_modules/@preact/signals-core/dist/signals-core.module.js
484
484
  var i$1 = Symbol.for("preact-signals");
485
485
  function t() {
486
486
  if (!(s > 1)) {
487
487
  var i, t = !1;
488
488
  (function() {
489
- var i = d$1;
490
- d$1 = void 0;
489
+ var i = c;
490
+ c = void 0;
491
491
  while (void 0 !== i) {
492
492
  if (i.S.v === i.v) i.S.i = i.i;
493
493
  i = i.o;
@@ -537,7 +537,7 @@
537
537
  r = t;
538
538
  }
539
539
  }
540
- var f$1, h$1 = void 0, s = 0, v = 0, u$1 = 0, e = 0, d$1 = void 0, c = 0;
540
+ var f$1, h$1 = void 0, s = 0, v = 0, u$1 = 0, e = 0, c = void 0, d$1 = 0;
541
541
  function a(i) {
542
542
  if (void 0 !== r) {
543
543
  var t = i.n;
@@ -620,7 +620,7 @@
620
620
  };
621
621
  l$1.prototype.subscribe = function(i) {
622
622
  var t = this;
623
- return C$1(function() {
623
+ return j$1(function() {
624
624
  var n = t.value, o = r;
625
625
  r = void 0;
626
626
  try {
@@ -640,13 +640,10 @@
640
640
  return this.value;
641
641
  };
642
642
  l$1.prototype.peek = function() {
643
- var i = r;
644
- r = void 0;
645
- try {
646
- return this.value;
647
- } finally {
648
- r = i;
649
- }
643
+ var i = this;
644
+ return o$1(function() {
645
+ return i.value;
646
+ });
650
647
  };
651
648
  Object.defineProperty(l$1.prototype, "value", {
652
649
  get: function() {
@@ -661,18 +658,18 @@
661
658
  if (0 !== s && 0 === v) {
662
659
  if (i.l !== e) {
663
660
  i.l = e;
664
- d$1 = {
661
+ c = {
665
662
  S: i,
666
663
  v: i.v,
667
664
  i: i.i,
668
- o: d$1
665
+ o: c
669
666
  };
670
667
  }
671
668
  }
672
669
  })(this);
673
670
  this.v = i;
674
671
  this.i++;
675
- c++;
672
+ d$1++;
676
673
  s++;
677
674
  try {
678
675
  for (var n = this.t; void 0 !== n; n = n.x) n.t.N();
@@ -720,7 +717,7 @@
720
717
  l$1.call(this, void 0);
721
718
  this.x = i;
722
719
  this.s = void 0;
723
- this.g = c - 1;
720
+ this.g = d$1 - 1;
724
721
  this.f = 4;
725
722
  this.W = null == t ? void 0 : t.watched;
726
723
  this.Z = null == t ? void 0 : t.unwatched;
@@ -732,8 +729,8 @@
732
729
  if (1 & this.f) return !1;
733
730
  if (32 == (36 & this.f)) return !0;
734
731
  this.f &= -5;
735
- if (this.g === c) return !0;
736
- this.g = c;
732
+ if (this.g === d$1) return !0;
733
+ this.g = d$1;
737
734
  this.f |= 1;
738
735
  if (this.i > 0 && !w$2(this)) {
739
736
  this.f &= -2;
@@ -871,7 +868,7 @@
871
868
  E$1.prototype.dispose = function() {
872
869
  this.d();
873
870
  };
874
- function C$1(i, t) {
871
+ function j$1(i, t) {
875
872
  var n = new E$1(i, t);
876
873
  try {
877
874
  n.c();
@@ -884,9 +881,9 @@
884
881
  return r;
885
882
  }
886
883
  //#endregion
887
- //#region ../../node_modules/.pnpm/@preact+signals@2.9.0_preact@10.29.0/node_modules/@preact/signals/dist/signals.module.js
884
+ //#region ../../node_modules/.pnpm/@preact+signals@2.9.1_preact@10.29.2/node_modules/@preact/signals/dist/signals.module.js
888
885
  var l, h, p = "undefined" != typeof window && !!window.__PREACT_SIGNALS_DEVTOOLS__, _ = [];
889
- C$1(function() {
886
+ j$1(function() {
890
887
  l = this.N;
891
888
  })();
892
889
  function g$1(i, r) {
@@ -914,7 +911,7 @@
914
911
  return 0 === i ? 0 : !0 === i ? "" : i || "";
915
912
  }), f = g$2(function() {
916
913
  return !Array.isArray(o.value) && !t$2(o.value);
917
- }), a = C$1(function() {
914
+ }), a = j$1(function() {
918
915
  this.N = F$1;
919
916
  if (f.value) {
920
917
  var n = o.value;
@@ -969,14 +966,14 @@
969
966
  });
970
967
  g$1("__r", function(i, n) {
971
968
  i(n);
972
- if (n.type !== k$3) {
969
+ if (n.type !== S$1) {
973
970
  b();
974
971
  var r, o = n.__c;
975
972
  if (o) {
976
973
  o.__$f &= -2;
977
974
  if (void 0 === (r = o.__$u)) o.__$u = r = function(i, n) {
978
975
  var r;
979
- C$1(function() {
976
+ j$1(function() {
980
977
  r = this;
981
978
  }, { name: n });
982
979
  r.c = i;
@@ -1020,7 +1017,6 @@
1020
1017
  e[a] = c;
1021
1018
  } else c.o(v, o);
1022
1019
  }
1023
- for (var s in t) o[s] = t[s];
1024
1020
  }
1025
1021
  }
1026
1022
  i(n);
@@ -1032,7 +1028,7 @@
1032
1028
  e.value = i;
1033
1029
  f = i.peek();
1034
1030
  },
1035
- d: C$1(function() {
1031
+ d: j$1(function() {
1036
1032
  this.N = F$1;
1037
1033
  var r = e.value.value;
1038
1034
  if (f !== r) {
@@ -1057,14 +1053,19 @@
1057
1053
  }
1058
1054
  }
1059
1055
  }
1056
+ var f = n.__np;
1057
+ if (f) {
1058
+ var u = n.props;
1059
+ for (var a in f) u[a] = f[a];
1060
+ }
1060
1061
  n.__np = void 0;
1061
1062
  } else {
1062
- var f = n.__c;
1063
- if (f) {
1064
- var u = f.__$u;
1065
- if (u) {
1066
- f.__$u = void 0;
1067
- u.d();
1063
+ var c = n.__c;
1064
+ if (c) {
1065
+ var v = c.__$u;
1066
+ if (v) {
1067
+ c.__$u = void 0;
1068
+ v.d();
1068
1069
  }
1069
1070
  }
1070
1071
  }
@@ -1074,7 +1075,7 @@
1074
1075
  if (t < 3 || 9 === t) n.__$f |= 2;
1075
1076
  i(n, r, t);
1076
1077
  });
1077
- x$4.prototype.shouldComponentUpdate = function(i, n) {
1078
+ C$2.prototype.shouldComponentUpdate = function(i, n) {
1078
1079
  if (this.__R) return !0;
1079
1080
  var r = this.__$u, t = r && void 0 !== r.s;
1080
1081
  for (var o in n) return !0;
@@ -1110,22 +1111,22 @@
1110
1111
  if (1 === _.push(this)) (l$3.requestAnimationFrame || q$1)(x$1);
1111
1112
  }
1112
1113
  //#endregion
1113
- //#region ../../node_modules/.pnpm/preact@10.29.0/node_modules/preact/compat/dist/compat.module.js
1114
+ //#region ../../node_modules/.pnpm/preact@10.29.2/node_modules/preact/compat/dist/compat.module.js
1114
1115
  var compat_module_exports = /* @__PURE__ */ __exportAll({
1115
1116
  Children: () => L,
1116
- Component: () => x$4,
1117
- Fragment: () => k$3,
1117
+ Component: () => C$2,
1118
+ Fragment: () => S$1,
1118
1119
  PureComponent: () => M,
1119
- StrictMode: () => k$3,
1120
+ StrictMode: () => S$1,
1120
1121
  Suspense: () => P,
1121
1122
  SuspenseList: () => B,
1122
1123
  __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: () => fn,
1123
1124
  cloneElement: () => mn,
1124
- createContext: () => R$1,
1125
- createElement: () => _$3,
1125
+ createContext: () => X$1,
1126
+ createElement: () => k$3,
1126
1127
  createFactory: () => sn,
1127
1128
  createPortal: () => $$1,
1128
- createRef: () => b$3,
1129
+ createRef: () => M$1,
1129
1130
  default: () => gn,
1130
1131
  findDOMNode: () => yn,
1131
1132
  flushSync: () => bn,
@@ -1212,11 +1213,11 @@
1212
1213
  return t != n.ref && t && ("function" == typeof t ? t(null) : t.current = null), e ? !e(this.props, n) || t != n.ref : E(this.props, n);
1213
1214
  }
1214
1215
  function u(e) {
1215
- return this.shouldComponentUpdate = r, _$3(n, e);
1216
+ return this.shouldComponentUpdate = r, k$3(n, e);
1216
1217
  }
1217
1218
  return u.displayName = "Memo(" + (n.displayName || n.name) + ")", u.__f = u.prototype.isReactComponent = !0, u.type = n, u;
1218
1219
  }
1219
- (M.prototype = new x$4()).isPureReactComponent = !0, M.prototype.shouldComponentUpdate = function(n, t) {
1220
+ (M.prototype = new C$2()).isPureReactComponent = !0, M.prototype.shouldComponentUpdate = function(n, t) {
1220
1221
  return E(this.props, n) || E(this.state, t);
1221
1222
  };
1222
1223
  var T = l$3.__b;
@@ -1232,19 +1233,19 @@
1232
1233
  return t.$$typeof = A, t.render = n, t.prototype.isReactComponent = t.__f = !0, t.displayName = "ForwardRef(" + (n.displayName || n.name) + ")", t;
1233
1234
  }
1234
1235
  var F = function(n, t) {
1235
- return null == n ? null : L$1(L$1(n).map(t));
1236
+ return null == n ? null : F$3(F$3(n).map(t));
1236
1237
  }, L = {
1237
1238
  map: F,
1238
1239
  forEach: F,
1239
1240
  count: function(n) {
1240
- return n ? L$1(n).length : 0;
1241
+ return n ? F$3(n).length : 0;
1241
1242
  },
1242
1243
  only: function(n) {
1243
- var t = L$1(n);
1244
+ var t = F$3(n);
1244
1245
  if (1 !== t.length) throw "Children.only";
1245
1246
  return t[0];
1246
1247
  },
1247
- toArray: L$1
1248
+ toArray: F$3
1248
1249
  }, O = l$3.__e;
1249
1250
  l$3.__e = function(n, t, e, r) {
1250
1251
  if (n.then) {
@@ -1281,7 +1282,7 @@
1281
1282
  r = n, u = !0;
1282
1283
  }), r) throw r;
1283
1284
  if (!u) throw e;
1284
- return o ? _$3(o, i) : null;
1285
+ return o ? k$3(o, i) : null;
1285
1286
  }
1286
1287
  return i.displayName = "Lazy", i.__f = !0, i;
1287
1288
  }
@@ -1291,7 +1292,7 @@
1291
1292
  l$3.unmount = function(n) {
1292
1293
  var t = n.__c;
1293
1294
  t && (t.__z = !0), t && t.__R && t.__R(), t && 32 & n.__u && (n.type = null), U && U(n);
1294
- }, (P.prototype = new x$4()).__c = function(n, t) {
1295
+ }, (P.prototype = new C$2()).__c = function(n, t) {
1295
1296
  var e = t.__c, r = this;
1296
1297
  r.o ??= [], r.o.push(e);
1297
1298
  var u = j(r.__v), o = !1, i = function() {
@@ -1321,8 +1322,8 @@
1321
1322
  }
1322
1323
  this.__b = null;
1323
1324
  }
1324
- var i = e.__a && _$3(k$3, null, n.fallback);
1325
- return i && (i.__u &= -33), [_$3(k$3, null, e.__a ? null : n.children), i];
1325
+ var i = e.__a && k$3(S$1, null, n.fallback);
1326
+ return i && (i.__u &= -33), [k$3(S$1, null, e.__a ? null : n.children), i];
1326
1327
  };
1327
1328
  var H = function(n, t, e) {
1328
1329
  if (++e[1] === e[0] && n.l.delete(t), n.props.revealOrder && ("t" !== n.props.revealOrder[0] || !n.l.size)) for (e = n.i; e;) {
@@ -1339,7 +1340,7 @@
1339
1340
  function Y(n) {
1340
1341
  var e = this, r = n.h;
1341
1342
  if (e.componentWillUnmount = function() {
1342
- J$1(null, e.v), e.v = null, e.h = null;
1343
+ R$1(null, e.v), e.v = null, e.h = null;
1343
1344
  }, e.h && e.h !== r && e.componentWillUnmount(), !e.v) {
1344
1345
  for (var u = e.__v; null !== u && !u.__m && null !== u.__;) u = u.__;
1345
1346
  e.h = r, e.v = {
@@ -1359,16 +1360,16 @@
1359
1360
  }
1360
1361
  };
1361
1362
  }
1362
- J$1(_$3(Z, { context: e.context }, n.__v), e.v);
1363
+ R$1(k$3(Z, { context: e.context }, n.__v), e.v);
1363
1364
  }
1364
1365
  function $$1(n, e) {
1365
- var r = _$3(Y, {
1366
+ var r = k$3(Y, {
1366
1367
  __v: n,
1367
1368
  h: e
1368
1369
  });
1369
1370
  return r.containerInfo = e, r;
1370
1371
  }
1371
- (B.prototype = new x$4()).__a = function(n) {
1372
+ (B.prototype = new C$2()).__a = function(n) {
1372
1373
  var t = this, e = j(t.__v), r = t.l.get(n);
1373
1374
  return r[0]++, function(u) {
1374
1375
  var o = function() {
@@ -1378,7 +1379,7 @@
1378
1379
  };
1379
1380
  }, B.prototype.render = function(n) {
1380
1381
  this.i = null, this.l = /* @__PURE__ */ new Map();
1381
- var t = L$1(n.children);
1382
+ var t = F$3(n.children);
1382
1383
  n.revealOrder && "b" === n.revealOrder[0] && t.reverse();
1383
1384
  for (var e = t.length; e--;) this.l.set(t[e], this.i = [
1384
1385
  1,
@@ -1396,17 +1397,17 @@
1396
1397
  return ("undefined" != typeof Symbol && "symbol" == typeof Symbol() ? /fil|che|rad/ : /fil|che|ra/).test(n);
1397
1398
  };
1398
1399
  function nn(n, t, e) {
1399
- return t.__k ?? (t.textContent = ""), J$1(n, t), "function" == typeof e && e(), n ? n.__c : null;
1400
+ return t.__k ?? (t.textContent = ""), R$1(n, t), "function" == typeof e && e(), n ? n.__c : null;
1400
1401
  }
1401
1402
  function tn(n, t, e) {
1402
- return K$1(n, t), "function" == typeof e && e(), n ? n.__c : null;
1403
+ return U$1(n, t), "function" == typeof e && e(), n ? n.__c : null;
1403
1404
  }
1404
- x$4.prototype.isReactComponent = !0, [
1405
+ C$2.prototype.isReactComponent = !0, [
1405
1406
  "componentWillMount",
1406
1407
  "componentWillReceiveProps",
1407
1408
  "componentWillUpdate"
1408
1409
  ].forEach(function(t) {
1409
- Object.defineProperty(x$4.prototype, t, {
1410
+ Object.defineProperty(C$2.prototype, t, {
1410
1411
  configurable: !0,
1411
1412
  get: function() {
1412
1413
  return this["UNSAFE_" + t];
@@ -1444,9 +1445,9 @@
1444
1445
  "defaultValue" === i && "value" in t && null == t.value ? i = "value" : "download" === i && !0 === l ? l = "" : "translate" === c && "no" === l ? l = !1 : "o" === c[0] && "n" === c[1] ? "ondoubleclick" === c ? i = "ondblclick" : "onchange" !== c || "input" !== e && "textarea" !== e || X(t.type) ? "onfocus" === c ? i = "onfocusin" : "onblur" === c ? i = "onfocusout" : J.test(i) && (i = c) : c = i = "oninput" : o && G.test(i) ? i = i.replace(K, "-$&").toLowerCase() : null === l && (l = void 0), "oninput" === c && u[i = c] && (i = "oninputCapture"), u[i] = l;
1445
1446
  }
1446
1447
  }
1447
- "select" == e && (u.multiple && Array.isArray(u.value) && (u.value = L$1(t.children).forEach(function(n) {
1448
+ "select" == e && (u.multiple && Array.isArray(u.value) && (u.value = F$3(t.children).forEach(function(n) {
1448
1449
  n.props.selected = -1 != u.value.indexOf(n.props.value);
1449
- })), null != u.defaultValue && (u.value = L$1(t.children).forEach(function(n) {
1450
+ })), null != u.defaultValue && (u.value = F$3(t.children).forEach(function(n) {
1450
1451
  n.props.selected = u.multiple ? -1 != u.defaultValue.indexOf(n.props.value) : u.defaultValue == n.props.value;
1451
1452
  }))), t.class && !t.className ? (u.class = t.class, Object.defineProperty(u, "className", un)) : t.className && (u.class = u.className = t.className), n.props = u;
1452
1453
  }(n), n.$$typeof = q, on && on(n);
@@ -1482,22 +1483,22 @@
1482
1483
  useTransition: k
1483
1484
  } } }, an = "18.3.1";
1484
1485
  function sn(n) {
1485
- return _$3.bind(null, n);
1486
+ return k$3.bind(null, n);
1486
1487
  }
1487
1488
  function hn(n) {
1488
1489
  return !!n && n.$$typeof === q;
1489
1490
  }
1490
1491
  function vn(n) {
1491
- return hn(n) && n.type === k$3;
1492
+ return hn(n) && n.type === S$1;
1492
1493
  }
1493
1494
  function dn(n) {
1494
1495
  return !!n && "string" == typeof n.displayName && 0 == n.displayName.indexOf("Memo(");
1495
1496
  }
1496
1497
  function mn(n) {
1497
- return hn(n) ? Q$1.apply(null, arguments) : n;
1498
+ return hn(n) ? W$1.apply(null, arguments) : n;
1498
1499
  }
1499
1500
  function pn(n) {
1500
- return !!n.__k && (J$1(null, n), !0);
1501
+ return !!n.__k && (R$1(null, n), !0);
1501
1502
  }
1502
1503
  function yn(n) {
1503
1504
  return n && (n.base || 1 === n.nodeType && n) || null;
@@ -1534,24 +1535,24 @@
1534
1535
  hydrate: tn,
1535
1536
  unmountComponentAtNode: pn,
1536
1537
  createPortal: $$1,
1537
- createElement: _$3,
1538
- createContext: R$1,
1538
+ createElement: k$3,
1539
+ createContext: X$1,
1539
1540
  createFactory: sn,
1540
1541
  cloneElement: mn,
1541
- createRef: b$3,
1542
- Fragment: k$3,
1542
+ createRef: M$1,
1543
+ Fragment: S$1,
1543
1544
  isValidElement: hn,
1544
1545
  isElement: Sn,
1545
1546
  isFragment: vn,
1546
1547
  isMemo: dn,
1547
1548
  findDOMNode: yn,
1548
- Component: x$4,
1549
+ Component: C$2,
1549
1550
  PureComponent: M,
1550
1551
  memo: N,
1551
1552
  forwardRef: D,
1552
1553
  flushSync: bn,
1553
1554
  unstable_batchedUpdates: _n,
1554
- StrictMode: k$3,
1555
+ StrictMode: S$1,
1555
1556
  Suspense: P,
1556
1557
  SuspenseList: B,
1557
1558
  lazy: z,
@@ -1591,7 +1592,7 @@
1591
1592
  return q$2(composeRefs(...refs), refs);
1592
1593
  }
1593
1594
  //#endregion
1594
- //#region ../../node_modules/.pnpm/preact@10.29.0/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js
1595
+ //#region ../../node_modules/.pnpm/preact@10.29.2/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js
1595
1596
  var f = 0;
1596
1597
  Array.isArray;
1597
1598
  function u(e, t, n, o, i, u) {
@@ -1621,7 +1622,7 @@
1621
1622
  //#endregion
1622
1623
  //#region ../../node_modules/.pnpm/@radix-ui+react-context@1.1.2_react@19.2.4/node_modules/@radix-ui/react-context/dist/index.mjs
1623
1624
  function createContext2(rootComponentName, defaultContext) {
1624
- const Context = R$1(defaultContext);
1625
+ const Context = X$1(defaultContext);
1625
1626
  const Provider = (props) => {
1626
1627
  const { children, ...context } = props;
1627
1628
  const value = T$1(() => context, Object.values(context));
@@ -1642,7 +1643,7 @@
1642
1643
  function createContextScope(scopeName, createContextScopeDeps = []) {
1643
1644
  let defaultContexts = [];
1644
1645
  function createContext3(rootComponentName, defaultContext) {
1645
- const BaseContext = R$1(defaultContext);
1646
+ const BaseContext = X$1(defaultContext);
1646
1647
  const index = defaultContexts.length;
1647
1648
  defaultContexts = [...defaultContexts, defaultContext];
1648
1649
  const Provider = (props) => {
@@ -1665,7 +1666,7 @@
1665
1666
  }
1666
1667
  const createScope = () => {
1667
1668
  const scopeContexts = defaultContexts.map((defaultContext) => {
1668
- return R$1(defaultContext);
1669
+ return X$1(defaultContext);
1669
1670
  });
1670
1671
  return function useScope(scope) {
1671
1672
  const contexts = scope?.[scopeName] || scopeContexts;
@@ -1739,7 +1740,7 @@
1739
1740
  if (hn(children)) {
1740
1741
  const childrenRef = getElementRef$1(children);
1741
1742
  const props2 = mergeProps(slotProps, children.props);
1742
- if (children.type !== k$3) props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
1743
+ if (children.type !== S$1) props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
1743
1744
  return mn(children, props2);
1744
1745
  }
1745
1746
  return L.count(children) > 1 ? L.only(null) : null;
@@ -1751,7 +1752,7 @@
1751
1752
  /* @__NO_SIDE_EFFECTS__ */
1752
1753
  function createSlottable(ownerName) {
1753
1754
  const Slottable2 = ({ children }) => {
1754
- return /* @__PURE__ */ u(k$3, { children });
1755
+ return /* @__PURE__ */ u(S$1, { children });
1755
1756
  };
1756
1757
  Slottable2.displayName = `${ownerName}.Slottable`;
1757
1758
  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
@@ -1932,7 +1933,7 @@
1932
1933
  var POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
1933
1934
  var FOCUS_OUTSIDE = "dismissableLayer.focusOutside";
1934
1935
  var originalBodyPointerEvents;
1935
- var DismissableLayerContext = R$1({
1936
+ var DismissableLayerContext = X$1({
1936
1937
  layers: /* @__PURE__ */ new Set(),
1937
1938
  layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
1938
1939
  branches: /* @__PURE__ */ new Set()
@@ -2585,7 +2586,7 @@
2585
2586
  return node ? getAnnounceTextContent(node) : null;
2586
2587
  }, [node]);
2587
2588
  if (!context.viewport) return null;
2588
- return /* @__PURE__ */ u(k$3, { children: [announceTextContent && /* @__PURE__ */ u(ToastAnnounce, {
2589
+ return /* @__PURE__ */ u(S$1, { children: [announceTextContent && /* @__PURE__ */ u(ToastAnnounce, {
2589
2590
  __scopeToast,
2590
2591
  role: "status",
2591
2592
  "aria-live": type === "foreground" ? "assertive" : "polite",
@@ -2690,7 +2691,7 @@
2690
2691
  asChild: true,
2691
2692
  children: /* @__PURE__ */ u(VisuallyHidden, {
2692
2693
  ...announceProps,
2693
- children: renderAnnounceText && /* @__PURE__ */ u(k$3, { children: [
2694
+ children: renderAnnounceText && /* @__PURE__ */ u(S$1, { children: [
2694
2695
  context.label,
2695
2696
  " ",
2696
2697
  children
@@ -2885,7 +2886,7 @@
2885
2886
  * Idempotent — calls render() which replaces any previous tree.
2886
2887
  */
2887
2888
  function mountToastHost(root) {
2888
- J$1(/* @__PURE__ */ u(ToastHost, {}), root);
2889
+ R$1(/* @__PURE__ */ u(ToastHost, {}), root);
2889
2890
  }
2890
2891
  //#endregion
2891
2892
  //#region src/lib/api/internal.ts
@@ -3799,7 +3800,7 @@
3799
3800
  }
3800
3801
  //#endregion
3801
3802
  //#region ../../node_modules/.pnpm/@radix-ui+react-direction@1.1.1_react@19.2.4/node_modules/@radix-ui/react-direction/dist/index.mjs
3802
- var DirectionContext = R$1(void 0);
3803
+ var DirectionContext = X$1(void 0);
3803
3804
  function useDirection(localDir) {
3804
3805
  const globalDir = x$3(DirectionContext);
3805
3806
  return localDir || globalDir || "ltr";
@@ -4202,27 +4203,27 @@
4202
4203
  function renderDevicesPanel(deps) {
4203
4204
  const { summary, runDevice } = deps;
4204
4205
  const items = Array.isArray(state.lastCoordinatorAdminDevices) ? state.lastCoordinatorAdminDevices : [];
4205
- return _$3(RadixTabsContent, {
4206
+ return k$3(RadixTabsContent, {
4206
4207
  className: "coordinator-admin-panel",
4207
4208
  value: "devices"
4208
- }, _$3("h3", null, "Enrolled devices"), _$3("p", { class: "peer-submeta" }, summary.readiness === "ready" ? "Rename, disable, re-enable, or remove Team devices here. Space access is granted from Spaces below; Team membership alone does not share memories." : "Finish setup first. Device administration stays disabled until coordinator admin is ready."), !items.length ? _$3("div", { class: "peer-meta" }, summary.readiness === "ready" ? "No enrolled devices found for the active coordinator group." : "Device administration will appear here once setup is complete.") : _$3("div", { class: "peer-list" }, items.map((item) => {
4209
+ }, k$3("h3", null, "Enrolled devices"), k$3("p", { class: "peer-submeta" }, summary.readiness === "ready" ? "Rename, disable, re-enable, or remove Team devices here. Space access is granted from Spaces below; Team membership alone does not share memories." : "Finish setup first. Device administration stays disabled until Teams is ready."), !items.length ? k$3("div", { class: "peer-meta" }, summary.readiness === "ready" ? "No enrolled devices found for the active coordinator group." : "Device administration will appear here once setup is complete.") : k$3("div", { class: "peer-list" }, items.map((item) => {
4209
4210
  const copy = coordinatorAdminDeviceCardCopy(item, String(state.lastCoordinatorAdminStatus?.active_group || ""));
4210
4211
  const { deviceId, displayName, teamId } = copy;
4211
4212
  const pending = coordinatorAdminState.deviceActionPendingId === deviceId;
4212
4213
  const draft = coordinatorAdminState.deviceRenameDrafts.get(deviceId) ?? String(item.display_name || "");
4213
4214
  const enabled = item.enabled !== false && item.enabled !== 0;
4214
4215
  const actionDisabled = !deviceId || pending || summary.readiness !== "ready";
4215
- return _$3("div", {
4216
+ return k$3("div", {
4216
4217
  class: "peer-card peer-card--padded",
4217
4218
  key: deviceId || String(item.fingerprint || "unknown")
4218
- }, _$3("div", { class: "peer-title" }, _$3("strong", null, draft || displayName)), _$3("div", { class: "peer-submeta" }, copy.statusLabel), _$3("div", { class: "peer-meta" }, copy.advancedDetail), _$3("form", {
4219
+ }, k$3("div", { class: "peer-title" }, k$3("strong", null, displayName)), k$3("div", { class: "peer-submeta" }, copy.statusLabel), k$3("div", { class: "peer-meta" }, copy.advancedDetail), k$3("form", {
4219
4220
  class: "coordinator-admin-form",
4220
4221
  onSubmit: (event) => {
4221
4222
  event.preventDefault();
4222
4223
  if (actionDisabled) return;
4223
4224
  runDevice(deviceId, teamId, displayName, "rename");
4224
4225
  }
4225
- }, _$3("div", { class: "coordinator-admin-form-grid" }, _$3("label", { class: "coordinator-admin-field" }, _$3("span", null, "Display name"), _$3(TextInput, {
4226
+ }, k$3("div", { class: "coordinator-admin-form-grid" }, k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "Display name"), k$3(TextInput, {
4226
4227
  class: "peer-scope-input",
4227
4228
  disabled: summary.readiness !== "ready" || pending,
4228
4229
  onInput: (event) => {
@@ -4230,21 +4231,21 @@
4230
4231
  },
4231
4232
  type: "text",
4232
4233
  value: draft
4233
- }))), _$3("div", { class: "peer-actions" }, _$3("button", {
4234
+ }))), k$3("div", { class: "peer-actions" }, k$3("button", {
4234
4235
  class: "settings-button",
4235
4236
  disabled: actionDisabled,
4236
4237
  type: "submit"
4237
- }, pending && coordinatorAdminState.deviceActionPendingKind === "rename" ? "Renaming…" : "Rename"), enabled ? _$3("button", {
4238
+ }, pending && coordinatorAdminState.deviceActionPendingKind === "rename" ? "Renaming…" : "Rename"), enabled ? k$3("button", {
4238
4239
  class: "settings-button danger",
4239
4240
  disabled: actionDisabled,
4240
4241
  onClick: () => runDevice(deviceId, teamId, displayName, "disable"),
4241
4242
  type: "button"
4242
- }, pending && coordinatorAdminState.deviceActionPendingKind === "disable" ? "Disabling…" : "Disable") : _$3("button", {
4243
+ }, pending && coordinatorAdminState.deviceActionPendingKind === "disable" ? "Disabling…" : "Disable") : k$3("button", {
4243
4244
  class: "settings-button",
4244
4245
  disabled: actionDisabled,
4245
4246
  onClick: () => runDevice(deviceId, teamId, displayName, "enable"),
4246
4247
  type: "button"
4247
- }, pending && coordinatorAdminState.deviceActionPendingKind === "enable" ? "Enabling…" : "Enable"), _$3("button", {
4248
+ }, pending && coordinatorAdminState.deviceActionPendingKind === "enable" ? "Enabling…" : "Enable"), k$3("button", {
4248
4249
  class: "settings-button danger",
4249
4250
  disabled: actionDisabled,
4250
4251
  onClick: () => runDevice(deviceId, teamId, displayName, "remove"),
@@ -6862,7 +6863,7 @@
6862
6863
  if (!sideCar) throw new Error("Sidecar: please provide `sideCar` property to import the right car");
6863
6864
  var Target = sideCar.read();
6864
6865
  if (!Target) throw new Error("Sidecar medium not found");
6865
- return _$3(Target, __assign({}, rest));
6866
+ return k$3(Target, __assign({}, rest));
6866
6867
  };
6867
6868
  SideCar.isSideCarExport = true;
6868
6869
  function exportSidecar(medium, exported) {
@@ -6903,7 +6904,7 @@
6903
6904
  var SideCar = sideCar;
6904
6905
  var containerRef = useMergeRefs([ref, parentRef]);
6905
6906
  var containerProps = __assign(__assign({}, rest), callbacks);
6906
- return _$3(k$3, null, enabled && _$3(SideCar, {
6907
+ return k$3(S$1, null, enabled && k$3(SideCar, {
6907
6908
  sideCar: effectCar,
6908
6909
  removeScrollBar,
6909
6910
  shards,
@@ -6914,7 +6915,7 @@
6914
6915
  allowPinchZoom: !!allowPinchZoom,
6915
6916
  lockRef: ref,
6916
6917
  gapMode
6917
- }), forwardProps ? mn(L.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : _$3(Container, __assign({}, containerProps, {
6918
+ }), forwardProps ? mn(L.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : k$3(Container, __assign({}, containerProps, {
6918
6919
  className,
6919
6920
  ref: containerRef
6920
6921
  }), children));
@@ -7081,7 +7082,7 @@
7081
7082
  var RemoveScrollBar = function(_a) {
7082
7083
  var noRelative = _a.noRelative, noImportant = _a.noImportant, _b = _a.gapMode, gapMode = _b === void 0 ? "margin" : _b;
7083
7084
  useLockAttribute();
7084
- return _$3(Style, { styles: getStyles(T$1(function() {
7085
+ return k$3(Style, { styles: getStyles(T$1(function() {
7085
7086
  return getGapWidth(gapMode);
7086
7087
  }, [gapMode]), !noRelative, gapMode, !noImportant ? "!important" : "") });
7087
7088
  };
@@ -7321,7 +7322,7 @@
7321
7322
  };
7322
7323
  }, []);
7323
7324
  var removeScrollBar = props.removeScrollBar, inert = props.inert;
7324
- return _$3(k$3, null, inert ? _$3(Style, { styles: generateStyle(id) }) : null, removeScrollBar ? _$3(RemoveScrollBar, {
7325
+ return k$3(S$1, null, inert ? k$3(Style, { styles: generateStyle(id) }) : null, removeScrollBar ? k$3(RemoveScrollBar, {
7325
7326
  noRelative: props.noRelative,
7326
7327
  gapMode: props.gapMode
7327
7328
  }) : null);
@@ -7343,7 +7344,7 @@
7343
7344
  //#endregion
7344
7345
  //#region ../../node_modules/.pnpm/react-remove-scroll@2.7.2_react@19.2.4/node_modules/react-remove-scroll/dist/es2015/Combination.js
7345
7346
  var ReactRemoveScroll = D(function(props, ref) {
7346
- return _$3(RemoveScroll, __assign({}, props, {
7347
+ return k$3(RemoveScroll, __assign({}, props, {
7347
7348
  ref,
7348
7349
  sideCar: sidecar_default
7349
7350
  }));
@@ -8205,7 +8206,7 @@
8205
8206
  const contentRef = A$1(null);
8206
8207
  const composedRefs = useComposedRefs(forwardedRef, contentRef);
8207
8208
  useFocusGuards();
8208
- return /* @__PURE__ */ u(k$3, { children: [/* @__PURE__ */ u(FocusScope, {
8209
+ return /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u(FocusScope, {
8209
8210
  asChild: true,
8210
8211
  loop: true,
8211
8212
  trapped: trapFocus,
@@ -8221,7 +8222,7 @@
8221
8222
  ref: composedRefs,
8222
8223
  onDismiss: () => context.onOpenChange(false)
8223
8224
  })
8224
- }), /* @__PURE__ */ u(k$3, { children: [/* @__PURE__ */ u(TitleWarning, { titleId: context.titleId }), /* @__PURE__ */ u(DescriptionWarning, {
8225
+ }), /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u(TitleWarning, { titleId: context.titleId }), /* @__PURE__ */ u(DescriptionWarning, {
8225
8226
  contentRef,
8226
8227
  descriptionId: context.descriptionId
8227
8228
  })] })] });
@@ -8932,7 +8933,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
8932
8933
  ...valueProps,
8933
8934
  ref: composedRefs,
8934
8935
  style: { pointerEvents: "none" },
8935
- children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ u(k$3, { children: placeholder }) : children
8936
+ children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ u(S$1, { children: placeholder }) : children
8936
8937
  });
8937
8938
  });
8938
8939
  SelectValue.displayName = VALUE_NAME;
@@ -9326,7 +9327,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
9326
9327
  const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);
9327
9328
  const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);
9328
9329
  const prevScrollTopRef = A$1(0);
9329
- return /* @__PURE__ */ u(k$3, { children: [/* @__PURE__ */ u("style", {
9330
+ return /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u("style", {
9330
9331
  dangerouslySetInnerHTML: { __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}` },
9331
9332
  nonce
9332
9333
  }), /* @__PURE__ */ u(Collection$1.Slot, {
@@ -9499,7 +9500,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
9499
9500
  onNativeOptionRemove,
9500
9501
  nativeOption
9501
9502
  ]);
9502
- return /* @__PURE__ */ u(k$3, { children: [/* @__PURE__ */ u(Primitive.span, {
9503
+ return /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u(Primitive.span, {
9503
9504
  id: itemContext.textId,
9504
9505
  ...itemTextProps,
9505
9506
  ref: composedRefs
@@ -9796,7 +9797,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
9796
9797
  const mergeCandidates = request.actors.filter((actor) => actor.actorId !== primaryActorId);
9797
9798
  const secondary = mergeCandidates.find((actor) => actor.actorId === secondaryActorId) || mergeCandidates[0];
9798
9799
  const primaryOptions = request.actors.map((actor) => ({
9799
- label: /* @__PURE__ */ u(k$3, { children: [actor.label, actor.isLocal ? " (You)" : ""] }),
9800
+ label: /* @__PURE__ */ u(S$1, { children: [actor.label, actor.isLocal ? " (You)" : ""] }),
9800
9801
  value: actor.actorId
9801
9802
  }));
9802
9803
  const mergeOptions = mergeCandidates.map((actor) => ({
@@ -10101,7 +10102,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10101
10102
  dialogMount.id = "syncDialogMount";
10102
10103
  document.body.appendChild(dialogMount);
10103
10104
  }
10104
- J$1(/* @__PURE__ */ u(SyncDialogHost, {}), dialogMount);
10105
+ R$1(/* @__PURE__ */ u(SyncDialogHost, {}), dialogMount);
10105
10106
  }
10106
10107
  function openSyncConfirmDialog(request) {
10107
10108
  ensureSyncDialogHost();
@@ -10406,22 +10407,22 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10406
10407
  function renderMembershipRows(groupId, scope, draft, ready, renderShell) {
10407
10408
  const scopeId = String(scope.scope_id || "").trim();
10408
10409
  const rows = deriveScopeMembershipDeviceRows(coordinatorAdminDevicesForGroup(draft.devices, state.lastCoordinatorAdminDevices, groupId, draft.devicesLoaded), draft.membersByScope.get(scopeId) ?? []);
10409
- if (!rows.length) return _$3("div", { class: "peer-submeta coordinator-admin-empty-state" }, "No enrolled devices in this Team yet. Enroll a device before granting this Space.");
10410
- return _$3("div", { class: "coordinator-admin-scope-member-list" }, rows.map((row) => {
10410
+ if (!rows.length) return k$3("div", { class: "peer-submeta coordinator-admin-empty-state" }, "No enrolled devices in this Team yet. Enroll a device before granting this Space.");
10411
+ return k$3("div", { class: "coordinator-admin-scope-member-list" }, rows.map((row) => {
10411
10412
  const pendingKey = `${draft.actionPendingKind}:${scopeId}:${row.deviceId}`;
10412
10413
  const pending = draft.actionPendingKey === pendingKey;
10413
10414
  const canGrant = row.enabled && row.status !== "active";
10414
10415
  const canRevoke = row.status === "active";
10415
10416
  const copy = spaceAccessDeviceCopy(row);
10416
- return _$3("div", {
10417
+ return k$3("div", {
10417
10418
  class: "coordinator-admin-scope-member-row",
10418
10419
  key: row.deviceId
10419
- }, _$3("div", { class: "coordinator-admin-scope-member-copy" }, _$3("strong", null, row.displayName), _$3("span", null, copy.detail), _$3("span", { class: "peer-meta" }, copy.advancedDetail), row.enabled ? null : _$3("span", null, "Device is disabled in this Team.")), _$3("div", { class: "peer-actions" }, canGrant ? _$3("button", {
10420
+ }, k$3("div", { class: "coordinator-admin-scope-member-copy" }, k$3("strong", null, row.displayName), k$3("span", null, copy.detail), k$3("span", { class: "peer-meta" }, copy.advancedDetail), row.enabled ? null : k$3("span", null, "Device is disabled in this Team.")), k$3("div", { class: "peer-actions" }, canGrant ? k$3("button", {
10420
10421
  class: "settings-button",
10421
10422
  disabled: !ready || Boolean(draft.actionPendingKey),
10422
10423
  onClick: () => void grantMember(groupId, scopeId, row.deviceId, renderShell),
10423
10424
  type: "button"
10424
- }, pending && draft.actionPendingKind === "grant" ? "Granting…" : "Grant access") : null, canRevoke ? _$3("button", {
10425
+ }, pending && draft.actionPendingKind === "grant" ? "Granting…" : "Grant access") : null, canRevoke ? k$3("button", {
10425
10426
  class: "settings-button danger",
10426
10427
  disabled: !ready || Boolean(draft.actionPendingKey),
10427
10428
  onClick: () => void revokeMember(groupId, scope, row.deviceId, row.displayName, renderShell),
@@ -10432,23 +10433,23 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10432
10433
  function renderScopeCard(groupId, scope, draft, ready, renderShell) {
10433
10434
  const scopeId = String(scope.scope_id || "").trim();
10434
10435
  const copy = spaceCardCopy(scope);
10435
- return _$3("div", {
10436
+ return k$3("div", {
10436
10437
  class: "peer-card peer-card--padded coordinator-admin-scope-card",
10437
10438
  key: scopeId || copy.title
10438
- }, _$3("div", { class: "peer-title" }, _$3("strong", null, copy.title)), _$3("div", { class: "peer-submeta" }, copy.summary), _$3("div", { class: "peer-meta" }, copy.advancedDetail), _$3("div", { class: "peer-submeta" }, "Devices below are enrolled in the Team; only active Space members can sync this data boundary."), renderMembershipRows(groupId, scope, draft, ready, renderShell));
10439
+ }, k$3("div", { class: "peer-title" }, k$3("strong", null, copy.title)), k$3("div", { class: "peer-submeta" }, copy.summary), k$3("div", { class: "peer-meta" }, copy.advancedDetail), k$3("div", { class: "peer-submeta" }, "Devices below are enrolled in the Team; only active Space members can sync this data boundary."), renderMembershipRows(groupId, scope, draft, ready, renderShell));
10439
10440
  }
10440
10441
  function renderGroupScopeManagementPanel(deps) {
10441
10442
  const { groupId, ready, summary, renderShell } = deps;
10442
10443
  const draft = coordinatorAdminState.groupScopeManagementDrafts.get(groupId);
10443
10444
  if (!draft) return null;
10444
10445
  const readinessMessage = scopeManagementReadinessMessage(summary);
10445
- if (readinessMessage) return _$3("div", { class: "peer-meta coordinator-admin-inline-warning" }, readinessMessage);
10446
- if (!draft.loaded) return _$3("div", { class: "peer-submeta" }, "Loading Spaces…");
10446
+ if (readinessMessage) return k$3("div", { class: "peer-meta coordinator-admin-inline-warning" }, readinessMessage);
10447
+ if (!draft.loaded) return k$3("div", { class: "peer-submeta" }, "Loading Spaces…");
10447
10448
  const disabled = !ready || Boolean(draft.actionPendingKey) || draft.loading;
10448
- return _$3(k$3, null, _$3("h4", { class: "coordinator-admin-drawer-title" }, "Spaces"), _$3("div", { class: "peer-submeta" }, "Teams discover and enroll devices. Spaces grant data access. Granting a device here is explicit; Team membership alone does not share memories."), _$3("label", { class: "coordinator-admin-inline-filter" }, _$3("span", {
10449
+ return k$3(S$1, null, k$3("h4", { class: "coordinator-admin-drawer-title" }, "Spaces"), k$3("div", { class: "peer-submeta" }, "Teams discover and enroll devices. Spaces grant data access. Granting a device here is explicit; Team membership alone does not share memories."), k$3("label", { class: "coordinator-admin-inline-filter" }, k$3("span", {
10449
10450
  class: "section-meta",
10450
10451
  id: `coord-admin-domain-inactive-${groupId}`
10451
- }, "Show inactive Spaces"), _$3(RadixSwitch, {
10452
+ }, "Show inactive Spaces"), k$3(RadixSwitch, {
10452
10453
  "aria-labelledby": `coord-admin-domain-inactive-${groupId}`,
10453
10454
  checked: draft.includeInactive,
10454
10455
  className: "coordinator-admin-switch",
@@ -10457,14 +10458,14 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10457
10458
  loadGroupScopeManagement(groupId, renderShell, checked);
10458
10459
  },
10459
10460
  thumbClassName: "coordinator-admin-switch-thumb"
10460
- })), _$3("form", {
10461
+ })), k$3("form", {
10461
10462
  class: "coordinator-admin-form",
10462
10463
  onSubmit: (event) => {
10463
10464
  event.preventDefault();
10464
10465
  if (disabled) return;
10465
10466
  createScope(groupId, renderShell);
10466
10467
  }
10467
- }, _$3("div", { class: "coordinator-admin-form-grid" }, _$3("label", { class: "coordinator-admin-field" }, _$3("span", null, "New Space id"), _$3(TextInput, {
10468
+ }, k$3("div", { class: "coordinator-admin-form-grid" }, k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "New Space id"), k$3(TextInput, {
10468
10469
  class: "peer-scope-input",
10469
10470
  disabled,
10470
10471
  onInput: (event) => {
@@ -10476,7 +10477,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10476
10477
  placeholder: "acme-work",
10477
10478
  type: "text",
10478
10479
  value: draft.createScopeId
10479
- })), _$3("label", { class: "coordinator-admin-field" }, _$3("span", null, "Label"), _$3(TextInput, {
10480
+ })), k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "Label"), k$3(TextInput, {
10480
10481
  class: "peer-scope-input",
10481
10482
  disabled,
10482
10483
  onInput: (event) => {
@@ -10488,7 +10489,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10488
10489
  placeholder: "Acme Work",
10489
10490
  type: "text",
10490
10491
  value: draft.createLabel
10491
- })), _$3("label", { class: "coordinator-admin-field" }, _$3("span", null, "Kind"), _$3(TextInput, {
10492
+ })), k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "Kind"), k$3(TextInput, {
10492
10493
  class: "peer-scope-input",
10493
10494
  disabled,
10494
10495
  onInput: (event) => {
@@ -10500,21 +10501,21 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10500
10501
  placeholder: "team",
10501
10502
  type: "text",
10502
10503
  value: draft.createKind
10503
- }))), _$3("div", { class: "peer-actions" }, _$3("button", {
10504
+ }))), k$3("div", { class: "peer-actions" }, k$3("button", {
10504
10505
  class: "settings-button",
10505
10506
  disabled,
10506
10507
  type: "submit"
10507
- }, draft.actionPendingKind === "create" ? "Creating…" : "Create Space"), _$3("button", {
10508
+ }, draft.actionPendingKind === "create" ? "Creating…" : "Create Space"), k$3("button", {
10508
10509
  class: "settings-button",
10509
10510
  disabled,
10510
10511
  onClick: () => void loadGroupScopeManagement(groupId, renderShell, draft.includeInactive),
10511
10512
  type: "button"
10512
- }, draft.loading ? "Refreshing…" : "Refresh"))), draft.error ? _$3("div", { class: "peer-submeta coordinator-admin-error" }, draft.error) : null, draft.scopes.length ? _$3("div", { class: "coordinator-admin-scope-card-list" }, draft.scopes.map((scope) => renderScopeCard(groupId, scope, draft, ready, renderShell))) : _$3("div", { class: "peer-meta coordinator-admin-empty-state" }, "No Spaces are defined for this Team yet. Create a Space, then grant specific devices. Projects stay local-only until assigned to a Space."));
10513
+ }, draft.loading ? "Refreshing…" : "Refresh"))), draft.error ? k$3("div", { class: "peer-submeta coordinator-admin-error" }, draft.error) : null, draft.scopes.length ? k$3("div", { class: "coordinator-admin-scope-card-list" }, draft.scopes.map((scope) => renderScopeCard(groupId, scope, draft, ready, renderShell))) : k$3("div", { class: "peer-meta coordinator-admin-empty-state" }, "No Spaces are defined for this Team yet. Create a Space, then grant specific devices. Projects stay local-only until assigned to a Space."));
10513
10514
  }
10514
10515
  //#endregion
10515
10516
  //#region src/tabs/coordinator-admin/components/groups-panel.ts
10516
10517
  function ChevronRightIcon$1() {
10517
- return _$3("svg", {
10518
+ return k$3("svg", {
10518
10519
  "aria-hidden": "true",
10519
10520
  fill: "none",
10520
10521
  stroke: "currentColor",
@@ -10523,7 +10524,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10523
10524
  "stroke-width": "2",
10524
10525
  viewBox: "0 0 24 24",
10525
10526
  xmlns: "http://www.w3.org/2000/svg"
10526
- }, _$3("title", null, "Chevron"), _$3("path", { d: "m9 18 6-6-6-6" }));
10527
+ }, k$3("title", null, "Chevron"), k$3("path", { d: "m9 18 6-6-6-6" }));
10527
10528
  }
10528
10529
  function emptyDraft() {
10529
10530
  return {
@@ -10603,16 +10604,16 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10603
10604
  function renderGroupPreferencesEditor(groupId, renderShell, ready) {
10604
10605
  const draft = coordinatorAdminState.groupPreferencesDrafts.get(groupId);
10605
10606
  if (!draft) return null;
10606
- if (!draft.loaded) return _$3("div", { class: "peer-submeta" }, "Loading project defaults…");
10607
+ if (!draft.loaded) return k$3("div", { class: "peer-submeta" }, "Loading project defaults…");
10607
10608
  const autoSeedLabelId = `coord-admin-scope-autoseed-${groupId}`;
10608
10609
  const autoGrantLabelId = `coord-admin-default-space-autogrant-${groupId}`;
10609
10610
  const includeLabelId = `coord-admin-scope-include-${groupId}`;
10610
10611
  const excludeLabelId = `coord-admin-scope-exclude-${groupId}`;
10611
10612
  const fieldsDisabled = !ready || draft.saving || !draft.auto_seed_scope;
10612
- return _$3(k$3, null, _$3("h4", { class: "coordinator-admin-drawer-title" }, "Team defaults"), _$3("div", { class: "peer-submeta" }, "Space access grants decide what new devices can sync. Advanced sharing rules only narrow future writes after Space access already exists."), _$3("label", { class: "coordinator-admin-inline-filter" }, _$3("span", {
10613
+ return k$3(S$1, null, k$3("h4", { class: "coordinator-admin-drawer-title" }, "Team defaults"), k$3("div", { class: "peer-submeta" }, "Space access grants decide what new devices can sync. Advanced sharing rules only narrow future writes after Space access already exists."), k$3("label", { class: "coordinator-admin-inline-filter" }, k$3("span", {
10613
10614
  class: "section-meta",
10614
10615
  id: autoSeedLabelId
10615
- }, "Auto-apply advanced rules to new devices"), _$3(RadixSwitch, {
10616
+ }, "Auto-apply advanced rules to new devices"), k$3(RadixSwitch, {
10616
10617
  "aria-labelledby": autoSeedLabelId,
10617
10618
  checked: draft.auto_seed_scope,
10618
10619
  className: "coordinator-admin-switch",
@@ -10626,10 +10627,10 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10626
10627
  renderShell();
10627
10628
  },
10628
10629
  thumbClassName: "coordinator-admin-switch-thumb"
10629
- })), _$3("label", { class: "coordinator-admin-inline-filter" }, _$3("span", {
10630
+ })), k$3("label", { class: "coordinator-admin-inline-filter" }, k$3("span", {
10630
10631
  class: "section-meta",
10631
10632
  id: autoGrantLabelId
10632
- }, "Auto-grant default Space on join"), _$3(RadixSwitch, {
10633
+ }, "Auto-grant default Space on join"), k$3(RadixSwitch, {
10633
10634
  "aria-labelledby": autoGrantLabelId,
10634
10635
  checked: draft.auto_grant_default_space_on_join,
10635
10636
  className: "coordinator-admin-switch",
@@ -10643,7 +10644,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10643
10644
  renderShell();
10644
10645
  },
10645
10646
  thumbClassName: "coordinator-admin-switch-thumb"
10646
- })), draft.default_space_scope_id ? _$3("div", { class: "peer-submeta" }, "Default Space configured.") : _$3("div", { class: "peer-submeta" }, "No default Space has been created yet."), _$3("div", { class: "coordinator-admin-field" }, _$3("span", { id: includeLabelId }, "Include template"), _$3(ProjectScopePicker, {
10647
+ })), draft.default_space_scope_id ? k$3("div", { class: "peer-submeta" }, "Default Space configured.") : k$3("div", { class: "peer-submeta" }, "No default Space has been created yet."), k$3("div", { class: "coordinator-admin-field" }, k$3("span", { id: includeLabelId }, "Include template"), k$3(ProjectScopePicker, {
10647
10648
  "aria-labelledby": includeLabelId,
10648
10649
  availableProjects: coordinatorAdminState.availableProjects,
10649
10650
  disabled: fieldsDisabled,
@@ -10658,7 +10659,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10658
10659
  },
10659
10660
  placeholder: "Add project",
10660
10661
  values: draft.projects_include
10661
- }), _$3("span", { class: "peer-submeta" }, "Leave empty to allow every project inside the granted Space. Type to search or create a new name.")), _$3("div", { class: "coordinator-admin-field" }, _$3("span", { id: excludeLabelId }, "Exclude template"), _$3(ProjectScopePicker, {
10662
+ }), k$3("span", { class: "peer-submeta" }, "Leave empty to allow every project inside the granted Space. Type to search or create a new name.")), k$3("div", { class: "coordinator-admin-field" }, k$3("span", { id: excludeLabelId }, "Exclude template"), k$3(ProjectScopePicker, {
10662
10663
  "aria-labelledby": excludeLabelId,
10663
10664
  availableProjects: coordinatorAdminState.availableProjects,
10664
10665
  disabled: fieldsDisabled,
@@ -10673,12 +10674,12 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10673
10674
  },
10674
10675
  placeholder: "Add project",
10675
10676
  values: draft.projects_exclude
10676
- })), draft.error ? _$3("div", { class: "peer-submeta coordinator-admin-error" }, draft.error) : null, _$3("div", { class: "peer-actions" }, _$3("button", {
10677
+ })), draft.error ? k$3("div", { class: "peer-submeta coordinator-admin-error" }, draft.error) : null, k$3("div", { class: "peer-actions" }, k$3("button", {
10677
10678
  class: "settings-button",
10678
10679
  disabled: !ready || draft.saving,
10679
10680
  onClick: () => void saveGroupPreferences(groupId, renderShell),
10680
10681
  type: "button"
10681
- }, draft.saving ? "Saving…" : "Save defaults"), _$3("button", {
10682
+ }, draft.saving ? "Saving…" : "Save defaults"), k$3("button", {
10682
10683
  class: "settings-button",
10683
10684
  disabled: draft.saving,
10684
10685
  onClick: () => closeGroupPreferences(groupId, renderShell),
@@ -10693,20 +10694,20 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10693
10694
  default_space: "default Space setup",
10694
10695
  default_space_grant: "default Space access grant"
10695
10696
  }[guide.setupWarning?.step || ""] || "default Space setup";
10696
- return _$3("div", { class: "peer-meta coordinator-admin-empty-state" }, _$3("h4", { class: "coordinator-admin-drawer-title" }, `Set up ${title}`), _$3("div", { class: "peer-submeta" }, "A Team organizes people and devices. The default Space is the memory boundary; Team membership only grants data access when default Space auto-grant is enabled."), guide.setupWarning ? _$3("div", { class: "peer-meta coordinator-admin-inline-warning" }, `Team created, but ${warningStep} failed. Automatic repair is not available yet; use Spaces to inspect or create access manually before inviting teammates.`) : _$3("div", { class: "peer-submeta" }, guide.defaultSpaceScopeId ? guide.defaultSpaceLabel ? `Default Space ready: ${guide.defaultSpaceLabel}. New devices can receive this Space when auto-grant is enabled.` : "Default Space ready. New devices can receive this Space when auto-grant is enabled." : "Default Space status is unknown. Check Spaces before inviting teammates."), _$3("ol", { class: "peer-submeta" }, _$3("li", null, "Review Team defaults and the auto-grant default Space setting."), _$3("li", null, "Invite teammates or other devices."), _$3("li", null, "Assign projects to Spaces from the Projects tab.")), _$3("div", { class: "peer-actions" }, _$3("button", {
10697
+ return k$3("div", { class: "peer-meta coordinator-admin-empty-state" }, k$3("h4", { class: "coordinator-admin-drawer-title" }, `Set up ${title}`), k$3("div", { class: "peer-submeta" }, "A Team organizes people and devices. The default Space is the memory boundary; Team membership only grants data access when default Space auto-grant is enabled."), guide.setupWarning ? k$3("div", { class: "peer-meta coordinator-admin-inline-warning" }, `Team created, but ${warningStep} failed. Automatic repair is not available yet; use Spaces to inspect or create access manually before inviting teammates.`) : k$3("div", { class: "peer-submeta" }, guide.defaultSpaceScopeId ? guide.defaultSpaceLabel ? `Default Space ready: ${guide.defaultSpaceLabel}. New devices can receive this Space when auto-grant is enabled.` : "Default Space ready. New devices can receive this Space when auto-grant is enabled." : "Default Space status is unknown. Check Spaces before inviting teammates."), k$3("ol", { class: "peer-submeta" }, k$3("li", null, "Review Team defaults and the auto-grant default Space setting."), k$3("li", null, "Invite teammates or other devices."), k$3("li", null, "Assign projects to Spaces from the Projects tab.")), k$3("div", { class: "peer-actions" }, k$3("button", {
10697
10698
  class: "settings-button",
10698
10699
  onClick: () => {
10699
10700
  coordinatorAdminState.groupPreferencesOpen.add(guide.groupId);
10700
10701
  openGroupPreferences(guide.groupId, renderShell);
10701
10702
  },
10702
10703
  type: "button"
10703
- }, "Review Team defaults"), _$3("button", {
10704
+ }, "Review Team defaults"), k$3("button", {
10704
10705
  class: "settings-button",
10705
10706
  onClick: () => {
10706
10707
  openGroupScopeManagement(guide.groupId, renderShell);
10707
10708
  },
10708
10709
  type: "button"
10709
- }, "Check Spaces"), _$3("button", {
10710
+ }, "Check Spaces"), k$3("button", {
10710
10711
  class: "settings-button",
10711
10712
  onClick: () => {
10712
10713
  coordinatorAdminState.inviteGroup = guide.groupId;
@@ -10714,13 +10715,13 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10714
10715
  renderShell();
10715
10716
  },
10716
10717
  type: "button"
10717
- }, "Invite devices"), _$3("button", {
10718
+ }, "Invite devices"), k$3("button", {
10718
10719
  class: "settings-button",
10719
10720
  onClick: () => {
10720
10721
  window.location.hash = "projects";
10721
10722
  },
10722
10723
  type: "button"
10723
- }, "Assign projects"), _$3("button", {
10724
+ }, "Assign projects"), k$3("button", {
10724
10725
  class: "settings-button",
10725
10726
  onClick: () => {
10726
10727
  coordinatorAdminState.teamSetupGuide = null;
@@ -10744,19 +10745,19 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10744
10745
  const targetExists = selectedGroup ? groups.some((group) => group.group_id === selectedGroup) : false;
10745
10746
  const countParts = [`${activeGroups.length} active`];
10746
10747
  if (archivedGroups.length) countParts.push(`${archivedGroups.length} archived`);
10747
- return _$3(RadixTabsContent, {
10748
+ return k$3(RadixTabsContent, {
10748
10749
  className: "coordinator-admin-panel",
10749
10750
  value: "groups"
10750
- }, _$3("h3", null, "Teams"), _$3("p", { class: "peer-submeta" }, selectedGroup ? `Managing ${selectedGroup}${configuredGroup && configuredGroup !== selectedGroup ? ` · this node uses ${configuredGroup} for discovery` : ""}` : configuredGroup ? `This node uses ${configuredGroup} for discovery. Select a Team below to manage it.` : "No Team selected yet. Create one or select an existing Team to manage."), groups.length ? _$3("p", { class: "peer-submeta" }, countParts.join(" · ")) : null, !targetExists && selectedGroup ? _$3("div", { class: "peer-meta coordinator-admin-inline-warning" }, `The selected Team (${selectedGroup}) is configured locally but does not exist in the coordinator yet. Create it below or switch to another Team once one exists.`) : null, renderTeamSetupGuide(renderShell), (() => {
10751
+ }, k$3("h3", null, "Teams"), k$3("p", { class: "peer-submeta" }, selectedGroup ? `Managing ${selectedGroup}${configuredGroup && configuredGroup !== selectedGroup ? ` · this node uses ${configuredGroup} for discovery` : ""}` : configuredGroup ? `This node uses ${configuredGroup} for discovery. Select a Team below to manage it.` : "No Team selected yet. Create one or select an existing Team to manage."), groups.length ? k$3("p", { class: "peer-submeta" }, countParts.join(" · ")) : null, !targetExists && selectedGroup ? k$3("div", { class: "peer-meta coordinator-admin-inline-warning" }, `The selected Team (${selectedGroup}) is configured locally but does not exist in the coordinator yet. Create it below or switch to another Team once one exists.`) : null, renderTeamSetupGuide(renderShell), (() => {
10751
10752
  const createGroupDisabled = summary.readiness !== "ready" || coordinatorAdminState.groupActionPendingKind === "create";
10752
- return _$3("form", {
10753
+ return k$3("form", {
10753
10754
  class: "coordinator-admin-form",
10754
10755
  onSubmit: (event) => {
10755
10756
  event.preventDefault();
10756
10757
  if (createGroupDisabled) return;
10757
10758
  createGroup();
10758
10759
  }
10759
- }, _$3("div", { class: "coordinator-admin-form-grid" }, _$3("label", { class: "coordinator-admin-field" }, _$3("span", null, "New Team id"), _$3(TextInput, {
10760
+ }, k$3("div", { class: "coordinator-admin-form-grid" }, k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "New Team id"), k$3(TextInput, {
10760
10761
  class: "peer-scope-input",
10761
10762
  disabled: createGroupDisabled,
10762
10763
  onInput: (event) => {
@@ -10765,7 +10766,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10765
10766
  placeholder: "team-alpha",
10766
10767
  type: "text",
10767
10768
  value: coordinatorAdminState.createGroupId
10768
- })), _$3("label", { class: "coordinator-admin-field" }, _$3("span", null, "Display name"), _$3(TextInput, {
10769
+ })), k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "Display name"), k$3(TextInput, {
10769
10770
  class: "peer-scope-input",
10770
10771
  disabled: createGroupDisabled,
10771
10772
  onInput: (event) => {
@@ -10774,14 +10775,14 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10774
10775
  placeholder: "Team Alpha",
10775
10776
  type: "text",
10776
10777
  value: coordinatorAdminState.createGroupDisplayName
10777
- }))), _$3("div", { class: "section-actions coordinator-admin-groups-toolbar" }, _$3("div", { class: "coordinator-admin-primary-actions" }, _$3("button", {
10778
+ }))), k$3("div", { class: "section-actions coordinator-admin-groups-toolbar" }, k$3("div", { class: "coordinator-admin-primary-actions" }, k$3("button", {
10778
10779
  class: "settings-button",
10779
10780
  disabled: createGroupDisabled,
10780
10781
  type: "submit"
10781
- }, coordinatorAdminState.groupActionPendingKind === "create" ? "Creating…" : "Create Team")), _$3("div", { class: "coordinator-admin-secondary-actions" }, _$3("label", { class: "coordinator-admin-inline-filter" }, _$3("span", {
10782
+ }, coordinatorAdminState.groupActionPendingKind === "create" ? "Creating…" : "Create Team")), k$3("div", { class: "coordinator-admin-secondary-actions" }, k$3("label", { class: "coordinator-admin-inline-filter" }, k$3("span", {
10782
10783
  class: "section-meta",
10783
10784
  id: "coordinatorAdminShowArchivedLabel"
10784
- }, "Show archived"), _$3(RadixSwitch, {
10785
+ }, "Show archived"), k$3(RadixSwitch, {
10785
10786
  "aria-labelledby": "coordinatorAdminShowArchivedLabel",
10786
10787
  checked: coordinatorAdminState.showArchivedGroups,
10787
10788
  className: "coordinator-admin-switch",
@@ -10792,7 +10793,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10792
10793
  },
10793
10794
  thumbClassName: "coordinator-admin-switch-thumb"
10794
10795
  })))));
10795
- })(), !visibleGroups.length ? _$3("div", { class: "peer-meta coordinator-admin-empty-state" }, summary.readiness === "ready" ? coordinatorAdminState.showArchivedGroups ? "No Teams are available yet." : "No active Teams yet. Create one to get started." : "Team browsing will appear here once setup is complete.") : _$3("div", { class: "peer-list" }, visibleGroups.map((group) => {
10796
+ })(), !visibleGroups.length ? k$3("div", { class: "peer-meta coordinator-admin-empty-state" }, summary.readiness === "ready" ? coordinatorAdminState.showArchivedGroups ? "No Teams are available yet." : "No active Teams yet. Create one to get started." : "Team browsing will appear here once setup is complete.") : k$3("div", { class: "peer-list" }, visibleGroups.map((group) => {
10796
10797
  const selected = group.group_id === selectedGroup;
10797
10798
  const pending = coordinatorAdminState.groupActionPendingId === group.group_id;
10798
10799
  const archived = Boolean(group.archived_at);
@@ -10807,10 +10808,10 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10807
10808
  scopeManagement: coordinatorAdminState.groupScopeManagementDrafts.get(group.group_id),
10808
10809
  setupGuide: coordinatorAdminState.teamSetupGuide
10809
10810
  });
10810
- return _$3("div", {
10811
+ return k$3("div", {
10811
10812
  class: "peer-card peer-card--padded",
10812
10813
  key: group.group_id
10813
- }, _$3("div", { class: "peer-title" }, _$3("strong", null, draftName)), _$3("div", { class: "peer-submeta" }, archived ? "Archived Team" : "Active Team"), _$3("div", { class: "peer-meta" }, `Advanced: Team ID ${group.group_id}`), _$3("div", { class: "coordinator-admin-summary-grid" }, _$3("div", { class: "coordinator-admin-summary-card" }, _$3("span", { class: "section-meta" }, "Default Space"), _$3("strong", null, overview.defaultSpace)), _$3("div", { class: "coordinator-admin-summary-card" }, _$3("span", { class: "section-meta" }, "Auto-grant"), _$3("strong", null, overview.autoGrant)), _$3("div", { class: "coordinator-admin-summary-card" }, _$3("span", { class: "section-meta" }, "Spaces"), _$3("strong", null, overview.spaces))), configuredGroup === group.group_id ? _$3("div", { class: "peer-submeta" }, "This node uses this Team for coordinator-backed discovery.") : null, _$3("label", { class: "coordinator-admin-field" }, _$3("span", null, "Display name"), _$3(TextInput, {
10814
+ }, k$3("div", { class: "peer-title" }, k$3("strong", null, draftName)), k$3("div", { class: "peer-submeta" }, archived ? "Archived Team" : "Active Team"), k$3("div", { class: "peer-meta" }, `Advanced: Team ID ${group.group_id}`), k$3("div", { class: "coordinator-admin-summary-grid" }, k$3("div", { class: "coordinator-admin-summary-card" }, k$3("span", { class: "section-meta" }, "Default Space"), k$3("strong", null, overview.defaultSpace)), k$3("div", { class: "coordinator-admin-summary-card" }, k$3("span", { class: "section-meta" }, "Auto-grant"), k$3("strong", null, overview.autoGrant)), k$3("div", { class: "coordinator-admin-summary-card" }, k$3("span", { class: "section-meta" }, "Spaces"), k$3("strong", null, overview.spaces))), configuredGroup === group.group_id ? k$3("div", { class: "peer-submeta" }, "This node uses this Team for coordinator-backed discovery.") : null, k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "Display name"), k$3(TextInput, {
10814
10815
  class: "peer-scope-input",
10815
10816
  disabled: summary.readiness !== "ready" || pending,
10816
10817
  onInput: (event) => {
@@ -10818,7 +10819,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10818
10819
  },
10819
10820
  type: "text",
10820
10821
  value: draftName
10821
- })), _$3("div", { class: "peer-actions" }, _$3("button", {
10822
+ })), k$3("div", { class: "peer-actions" }, k$3("button", {
10822
10823
  class: "settings-button",
10823
10824
  disabled: summary.readiness !== "ready" || selected,
10824
10825
  onClick: () => {
@@ -10826,12 +10827,12 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10826
10827
  reloadData();
10827
10828
  },
10828
10829
  type: "button"
10829
- }, selected ? "Managing" : "Manage Team"), _$3("button", {
10830
+ }, selected ? "Managing" : "Manage Team"), k$3("button", {
10830
10831
  class: "settings-button",
10831
10832
  disabled: summary.readiness !== "ready" || pending,
10832
10833
  onClick: () => runGroup(group.group_id, draftName, "rename"),
10833
10834
  type: "button"
10834
- }, pending && coordinatorAdminState.groupActionPendingKind === "rename" ? "Renaming…" : "Rename"), _$3("button", {
10835
+ }, pending && coordinatorAdminState.groupActionPendingKind === "rename" ? "Renaming…" : "Rename"), k$3("button", {
10835
10836
  "aria-expanded": scopeOpen,
10836
10837
  "aria-controls": `coord-admin-project-defaults-drawer-${group.group_id}`,
10837
10838
  class: "settings-button coordinator-admin-scope-trigger",
@@ -10842,10 +10843,10 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10842
10843
  else openGroupPreferences(group.group_id, renderShell);
10843
10844
  },
10844
10845
  type: "button"
10845
- }, _$3("span", null, "Team defaults"), _$3("span", {
10846
+ }, k$3("span", null, "Team defaults"), k$3("span", {
10846
10847
  "aria-hidden": "true",
10847
10848
  class: "device-row-chevron"
10848
- }, _$3(ChevronRightIcon$1, null))), _$3("button", {
10849
+ }, k$3(ChevronRightIcon$1, null))), k$3("button", {
10849
10850
  "aria-expanded": domainsOpen,
10850
10851
  "aria-controls": `coord-admin-spaces-drawer-${group.group_id}`,
10851
10852
  class: "settings-button coordinator-admin-scope-trigger",
@@ -10856,31 +10857,31 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10856
10857
  else openGroupScopeManagement(group.group_id, renderShell);
10857
10858
  },
10858
10859
  type: "button"
10859
- }, _$3("span", null, "Spaces & access"), _$3("span", {
10860
+ }, k$3("span", null, "Spaces & access"), k$3("span", {
10860
10861
  "aria-hidden": "true",
10861
10862
  class: "device-row-chevron"
10862
- }, _$3(ChevronRightIcon$1, null))), _$3("button", {
10863
+ }, k$3(ChevronRightIcon$1, null))), k$3("button", {
10863
10864
  class: archived ? "settings-button" : "settings-button danger",
10864
10865
  disabled: summary.readiness !== "ready" || pending,
10865
10866
  onClick: () => runGroup(group.group_id, group.display_name || group.group_id, archiveActionKind),
10866
10867
  type: "button"
10867
- }, archiveActionLabel)), _$3(Root$3, {
10868
+ }, archiveActionLabel)), k$3(Root$3, {
10868
10869
  open: scopeOpen,
10869
10870
  onOpenChange: (open) => {
10870
10871
  if (open) openGroupPreferences(group.group_id, renderShell);
10871
10872
  else closeGroupPreferences(group.group_id, renderShell);
10872
10873
  }
10873
- }, _$3(Content$2, {
10874
+ }, k$3(Content$2, {
10874
10875
  "aria-label": `Project defaults for ${draftName}`,
10875
10876
  class: "coordinator-admin-group-preferences",
10876
10877
  id: `coord-admin-project-defaults-drawer-${group.group_id}`
10877
- }, scopeOpen ? renderGroupPreferencesEditor(group.group_id, renderShell, summary.readiness === "ready") : null)), _$3(Root$3, {
10878
+ }, scopeOpen ? renderGroupPreferencesEditor(group.group_id, renderShell, summary.readiness === "ready") : null)), k$3(Root$3, {
10878
10879
  open: domainsOpen,
10879
10880
  onOpenChange: (open) => {
10880
10881
  if (open) openGroupScopeManagement(group.group_id, renderShell);
10881
10882
  else closeGroupScopeManagement(group.group_id, renderShell);
10882
10883
  }
10883
- }, _$3(Content$2, {
10884
+ }, k$3(Content$2, {
10884
10885
  "aria-label": `Spaces for ${draftName}`,
10885
10886
  class: "coordinator-admin-group-preferences coordinator-admin-domain-management",
10886
10887
  id: `coord-admin-spaces-drawer-${group.group_id}`
@@ -10907,17 +10908,17 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10907
10908
  const output = String(state.lastTeamInvite?.encoded || "").trim();
10908
10909
  const warnings = Array.isArray(state.lastTeamInvite?.warnings) ? state.lastTeamInvite?.warnings : [];
10909
10910
  const inviteDisabled = summary.readiness !== "ready" || coordinatorAdminState.invitePending;
10910
- return _$3(RadixTabsContent, {
10911
+ return k$3(RadixTabsContent, {
10911
10912
  className: "coordinator-admin-panel",
10912
10913
  value: "invites"
10913
- }, _$3("h3", null, "Create teammate invite"), _$3("p", { class: "peer-submeta" }, summary.readiness === "ready" ? "Generate an invite for the selected Team. Default Space access is controlled by that Team's auto-grant setting." : "Finish setup first. Invite creation stays disabled until the local coordinator admin configuration is ready."), _$3("form", {
10914
+ }, k$3("h3", null, "Create teammate invite"), k$3("p", { class: "peer-submeta" }, summary.readiness === "ready" ? "Generate an invite for the selected Team. Default Space access is controlled by that Team's auto-grant setting." : "Finish setup first. Invite creation stays disabled until the local Teams configuration is ready."), k$3("form", {
10914
10915
  class: "coordinator-admin-form",
10915
10916
  onSubmit: (event) => {
10916
10917
  event.preventDefault();
10917
10918
  if (inviteDisabled) return;
10918
10919
  createInvite();
10919
10920
  }
10920
- }, _$3("div", { class: "coordinator-admin-form-grid" }, _$3("label", { class: "coordinator-admin-field" }, _$3("span", null, "Team"), _$3(TextInput, {
10921
+ }, k$3("div", { class: "coordinator-admin-form-grid" }, k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "Team"), k$3(TextInput, {
10921
10922
  class: "peer-scope-input",
10922
10923
  disabled: summary.readiness !== "ready",
10923
10924
  onInput: (event) => {
@@ -10927,7 +10928,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10927
10928
  placeholder: activeGroup || "team-alpha",
10928
10929
  type: "text",
10929
10930
  value: coordinatorAdminState.inviteGroup
10930
- })), _$3("label", { class: "coordinator-admin-field" }, _$3("span", null, "Join policy"), _$3(RadixSelect, {
10931
+ })), k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "Join policy"), k$3(RadixSelect, {
10931
10932
  ariaLabel: "Invite join policy",
10932
10933
  contentClassName: "sync-radix-select-content sync-actor-select-content",
10933
10934
  disabled: summary.readiness !== "ready",
@@ -10947,7 +10948,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10947
10948
  triggerClassName: "sync-radix-select-trigger sync-actor-select",
10948
10949
  value: coordinatorAdminState.invitePolicy,
10949
10950
  viewportClassName: "sync-radix-select-viewport"
10950
- })), _$3("label", { class: "coordinator-admin-field" }, _$3("span", null, "Expires in (hours)"), _$3(TextInput, {
10951
+ })), k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "Expires in (hours)"), k$3(TextInput, {
10951
10952
  class: "peer-scope-input",
10952
10953
  disabled: summary.readiness !== "ready",
10953
10954
  min: "1",
@@ -10956,42 +10957,45 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
10956
10957
  },
10957
10958
  type: "number",
10958
10959
  value: coordinatorAdminState.inviteTtlHours
10959
- }))), _$3("div", { class: "section-actions" }, _$3("button", {
10960
+ }))), k$3("div", { class: "section-actions" }, k$3("button", {
10960
10961
  class: "settings-button",
10961
10962
  disabled: inviteDisabled,
10962
10963
  type: "submit"
10963
- }, coordinatorAdminState.invitePending ? "Creating…" : "Create invite"), effectiveGroup ? _$3("span", { class: "peer-submeta" }, `Using Team ${effectiveGroup}`) : null)), output ? _$3("label", { class: "coordinator-admin-field" }, _$3("span", null, "Generated invite"), _$3(TextArea, {
10964
+ }, coordinatorAdminState.invitePending ? "Creating…" : "Create invite"), effectiveGroup ? k$3("span", { class: "peer-submeta" }, `Using Team ${effectiveGroup}`) : null)), output ? k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "Generated invite"), k$3(TextArea, {
10964
10965
  class: "feed-search coordinator-admin-output",
10965
10966
  readOnly: true,
10966
10967
  value: output
10967
- }), _$3("button", {
10968
+ }), k$3("button", {
10968
10969
  class: "settings-button sync-action-copy",
10969
10970
  type: "button",
10970
10971
  onClick: (event) => copyToClipboard(output, event.currentTarget)
10971
- }, "Copy")) : null, warnings?.length ? _$3("div", { class: "peer-meta coordinator-admin-warning-list" }, warnings.join(" · ")) : null);
10972
+ }, "Copy")) : null, warnings?.length ? k$3("div", { class: "peer-meta coordinator-admin-warning-list" }, warnings.join(" · ")) : null);
10972
10973
  }
10973
10974
  //#endregion
10974
10975
  //#region src/tabs/coordinator-admin/components/join-requests-panel.ts
10975
10976
  function renderJoinRequestsPanel(deps) {
10976
10977
  const { summary, reviewJoinRequest } = deps;
10977
10978
  const items = Array.isArray(state.lastCoordinatorAdminJoinRequests) ? state.lastCoordinatorAdminJoinRequests : [];
10978
- return _$3(RadixTabsContent, {
10979
+ return k$3(RadixTabsContent, {
10979
10980
  className: "coordinator-admin-panel",
10980
10981
  value: "join-requests"
10981
- }, _$3("h3", null, "Pending join requests"), _$3("p", { class: "peer-submeta" }, summary.readiness === "ready" ? "Approve or deny devices that want to join this Team. Default Space access is handled by Team defaults and can be reviewed in Spaces." : "Finish setup first. Join request review stays disabled until coordinator admin is ready."), !items.length ? _$3("div", { class: "peer-meta" }, summary.readiness === "ready" ? "No pending join requests right now." : "Join request review will appear here once setup is complete.") : _$3("div", { class: "peer-list" }, items.map((item) => {
10982
+ }, k$3("h3", null, "Pending join requests"), k$3("p", { class: "peer-submeta" }, summary.readiness === "ready" ? "Approve or deny devices that want to join this Team. Default Space access is handled by Team defaults and can be reviewed in Spaces." : "Finish setup first. Join request review stays disabled until Teams is ready."), !items.length ? k$3("div", { class: "peer-meta" }, summary.readiness === "ready" ? "No pending join requests right now." : "Join request review will appear here once setup is complete.") : k$3("div", { class: "peer-list" }, items.map((item) => {
10982
10983
  const requestId = String(item.request_id || "").trim();
10983
10984
  const deviceId = String(item.device_id || "unknown-device");
10984
- const displayName = String(item.display_name || deviceId);
10985
+ const displayName = String(item.display_name || deviceId).trim() || deviceId;
10986
+ const fingerprint = String(item.fingerprint || "").trim();
10987
+ const advancedDetails = [`Device ID ${deviceId}`];
10988
+ if (fingerprint) advancedDetails.push(`Fingerprint ${fingerprint}`);
10985
10989
  const pending = coordinatorAdminState.joinReviewPendingId === requestId;
10986
- return _$3("div", {
10990
+ return k$3("div", {
10987
10991
  class: "peer-card peer-card--padded",
10988
10992
  key: requestId || deviceId
10989
- }, _$3("div", { class: "peer-title" }, _$3("strong", null, displayName)), _$3("div", { class: "peer-meta" }, `Advanced: Device ID ${deviceId}`), _$3("div", { class: "peer-actions" }, _$3("button", {
10993
+ }, k$3("div", { class: "peer-title" }, k$3("strong", null, displayName)), k$3("div", { class: "peer-meta" }, `Advanced: ${advancedDetails.join(" · ")}`), k$3("div", { class: "peer-actions" }, k$3("button", {
10990
10994
  class: "settings-button",
10991
10995
  disabled: !requestId || pending,
10992
10996
  onClick: () => reviewJoinRequest(requestId, "approve"),
10993
10997
  type: "button"
10994
- }, pending && coordinatorAdminState.joinReviewPendingAction === "approve" ? "Approving…" : "Approve"), _$3("button", {
10998
+ }, pending && coordinatorAdminState.joinReviewPendingAction === "approve" ? "Approving…" : "Approve"), k$3("button", {
10995
10999
  class: "settings-button danger",
10996
11000
  disabled: !requestId || pending,
10997
11001
  onClick: () => reviewJoinRequest(requestId, "deny"),
@@ -11187,23 +11191,23 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
11187
11191
  const status = state.lastCoordinatorAdminStatus;
11188
11192
  if (!status) return {
11189
11193
  readiness: "partial",
11190
- title: "Checking coordinator admin readiness…",
11191
- detail: "Loading local coordinator admin configuration from the viewer server."
11194
+ title: "Checking Teams readiness…",
11195
+ detail: "Loading local Teams configuration from the viewer server."
11192
11196
  };
11193
11197
  if (status.readiness === "ready") return {
11194
11198
  readiness: "ready",
11195
- title: "Coordinator admin is ready",
11196
- detail: "This viewer can use the local admin configuration to manage invites, join requests, and enrolled devices without exposing the admin secret to the browser."
11199
+ title: "Teams is ready",
11200
+ detail: "This viewer can use the local Teams admin configuration to manage invites, join requests, and enrolled devices without exposing the admin secret to the browser."
11197
11201
  };
11198
11202
  if (status.readiness === "partial") return {
11199
11203
  readiness: "partial",
11200
- title: "Coordinator admin setup is incomplete",
11201
- detail: status.has_admin_secret === false ? "Set a coordinator admin secret for the viewer server before using invite and device admin actions." : "Finish configuring the coordinator target and group before using admin actions."
11204
+ title: "Teams setup is incomplete",
11205
+ detail: status.has_admin_secret === false ? "Set a coordinator admin secret for the viewer server before using Teams invite and device actions." : "Finish configuring the coordinator target and Team before using Teams actions."
11202
11206
  };
11203
11207
  return {
11204
11208
  readiness: "not_configured",
11205
- title: "Coordinator admin is not configured",
11206
- detail: "Set a coordinator URL, group, and admin secret locally to enable remote coordinator administration from this viewer."
11209
+ title: "Teams is not configured",
11210
+ detail: "Set a coordinator URL, Team, and admin secret locally to enable remote Teams administration from this viewer."
11207
11211
  };
11208
11212
  }
11209
11213
  //#endregion
@@ -11232,8 +11236,8 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
11232
11236
  const deviceCount = Array.isArray(state.lastCoordinatorAdminDevices) ? state.lastCoordinatorAdminDevices.length : 0;
11233
11237
  const headerMessage = summary.readiness !== "ready" ? summary.detail : targetArchived ? "The selected Team is archived. Restore it or switch Teams before creating invites." : "";
11234
11238
  if (coordinatorAdminState.activeSection === "invites" && !invitesEnabled || coordinatorAdminState.activeSection === "groups" && !groupsEnabled || coordinatorAdminState.activeSection === "join-requests" && !joinRequestsEnabled || coordinatorAdminState.activeSection === "devices" && !devicesEnabled) coordinatorAdminState.activeSection = summary.readiness === "ready" ? "groups" : "invites";
11235
- J$1(_$3("div", { class: "coordinator-admin-shell" }, _$3("div", { class: "card coordinator-admin-header" }, _$3("div", { class: "section-header" }, _$3("h2", null, "Teams")), _$3("div", { class: "coordinator-admin-summary-grid" }, _$3("div", { class: "coordinator-admin-summary-card" }, _$3("span", { class: "section-meta" }, "Team admin target"), _$3("strong", null, targetGroup || "None selected")), _$3("div", { class: "coordinator-admin-summary-card" }, _$3("span", { class: "section-meta" }, "Node discovery Team"), _$3("strong", null, activeGroup || "None")), _$3("div", { class: "coordinator-admin-summary-card" }, _$3("span", { class: "section-meta" }, "Teams"), _$3("strong", null, `${activeGroupCount} active${archivedGroupCount ? ` · ${archivedGroupCount} archived` : ""}`)), _$3("div", { class: "coordinator-admin-summary-card" }, _$3("span", { class: "section-meta" }, "Selected Team activity"), _$3("strong", null, `${joinRequestCount} join requests · ${deviceCount} devices`))), headerMessage ? _$3("div", { class: "peer-meta coordinator-admin-inline-warning" }, headerMessage) : null, coordinatorUrl ? _$3("div", { class: "section-meta coordinator-admin-inline-meta" }, `Coordinator: ${coordinatorUrl}`) : null), _$3("div", { class: "card coordinator-admin-sections" }, _$3(RadixTabs, {
11236
- ariaLabel: "Coordinator admin sections",
11239
+ R$1(k$3("div", { class: "coordinator-admin-shell" }, k$3("div", { class: "card coordinator-admin-header" }, k$3("div", { class: "section-header" }, k$3("h2", null, "Teams")), k$3("div", { class: "coordinator-admin-summary-grid" }, k$3("div", { class: "coordinator-admin-summary-card" }, k$3("span", { class: "section-meta" }, "Team admin target"), k$3("strong", null, targetGroup || "None selected")), k$3("div", { class: "coordinator-admin-summary-card" }, k$3("span", { class: "section-meta" }, "Node discovery Team"), k$3("strong", null, activeGroup || "None")), k$3("div", { class: "coordinator-admin-summary-card" }, k$3("span", { class: "section-meta" }, "Teams"), k$3("strong", null, `${activeGroupCount} active${archivedGroupCount ? ` · ${archivedGroupCount} archived` : ""}`)), k$3("div", { class: "coordinator-admin-summary-card" }, k$3("span", { class: "section-meta" }, "Selected Team activity"), k$3("strong", null, `${joinRequestCount} join requests · ${deviceCount} devices`))), headerMessage ? k$3("div", { class: "peer-meta coordinator-admin-inline-warning" }, headerMessage) : null, coordinatorUrl ? k$3("div", { class: "section-meta coordinator-admin-inline-meta" }, `Coordinator: ${coordinatorUrl}`) : null), k$3("div", { class: "card coordinator-admin-sections" }, k$3(RadixTabs, {
11240
+ ariaLabel: "Teams sections",
11237
11241
  listClassName: "coordinator-admin-tabs-list",
11238
11242
  onValueChange: (value) => {
11239
11243
  coordinatorAdminState.activeSection = value || "groups";
@@ -11279,7 +11283,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
11279
11283
  }), renderDevicesPanel({
11280
11284
  summary,
11281
11285
  runDevice: (deviceId, groupId, displayName, kind) => void runDeviceAction(deviceId, groupId, displayName, kind)
11282
- })), _$3("div", { class: "section-meta coordinator-admin-context-line" }, targetArchived ? `Selected Team ${targetGroup || "—"} is archived. Switch or restore it to enable invite operations.` : targetGroup ? `Actions below apply to ${targetGroup}.` : "Select a Team to start managing people, Spaces, and access."))), mount);
11286
+ })), k$3("div", { class: "section-meta coordinator-admin-context-line" }, targetArchived ? `Selected Team ${targetGroup || "—"} is archived. Switch or restore it to enable invite operations.` : targetGroup ? `Actions below apply to ${targetGroup}.` : "Select a Team to start managing people, Spaces, and access."))), mount);
11283
11287
  }
11284
11288
  function initCoordinatorAdminTab() {
11285
11289
  renderShell();
@@ -12121,7 +12125,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
12121
12125
  * adjacent tooltips can share `skipDelayDuration` for quick handoff.
12122
12126
  */
12123
12127
  function Tooltip({ children, label, side = "top", align = "center", sideOffset = 6, asChild = true, disabled = false }) {
12124
- if (disabled) return /* @__PURE__ */ u(k$3, { children });
12128
+ if (disabled) return /* @__PURE__ */ u(S$1, { children });
12125
12129
  return /* @__PURE__ */ u(Root3$1, { children: [/* @__PURE__ */ u(Trigger$1, {
12126
12130
  asChild,
12127
12131
  children
@@ -12145,7 +12149,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
12145
12149
  }
12146
12150
  function renderIntoFeedMount(mount, content) {
12147
12151
  markFeedMount(mount);
12148
- J$1(_$3(TooltipProvider, null, content), mount);
12152
+ R$1(k$3(TooltipProvider, null, content), mount);
12149
12153
  }
12150
12154
  //#endregion
12151
12155
  //#region src/tabs/feed/data/inspector-query.ts
@@ -12224,10 +12228,10 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
12224
12228
  //#region src/tabs/feed/components/TraceCandidateGroup.tsx
12225
12229
  function TraceCandidateGroup({ label, candidates }) {
12226
12230
  if (candidates.length === 0) return null;
12227
- return _$3("div", { className: "trace-group" }, _$3("div", { className: "section-meta" }, label), _$3("div", { className: "feed-list" }, candidates.map((candidate) => _$3("div", {
12231
+ return k$3("div", { className: "trace-group" }, k$3("div", { className: "section-meta" }, label), k$3("div", { className: "feed-list" }, candidates.map((candidate) => k$3("div", {
12228
12232
  className: "feed-card",
12229
12233
  key: `${label}:${candidate.id}`
12230
- }, _$3("div", { className: "feed-card-header" }, [_$3("div", { className: "feed-card-title" }, `${candidate.rank}. ${candidate.title}`), _$3("div", { className: "feed-card-meta" }, `#${candidate.id} · ${candidate.kind}${candidate.section ? ` · ${candidate.section}` : ""}`)]), _$3("div", { className: "feed-card-body" }, [_$3("div", null, candidate.preview || "No preview available."), candidate.reasons.length ? _$3("div", { className: "section-meta" }, `Reasons: ${candidate.reasons.join(", ")}`) : null])))));
12234
+ }, k$3("div", { className: "feed-card-header" }, [k$3("div", { className: "feed-card-title" }, `${candidate.rank}. ${candidate.title}`), k$3("div", { className: "feed-card-meta" }, `#${candidate.id} · ${candidate.kind}${candidate.section ? ` · ${candidate.section}` : ""}`)]), k$3("div", { className: "feed-card-body" }, [k$3("div", null, candidate.preview || "No preview available."), candidate.reasons.length ? k$3("div", { className: "section-meta" }, `Reasons: ${candidate.reasons.join(", ")}`) : null])))));
12231
12235
  }
12232
12236
  //#endregion
12233
12237
  //#region src/tabs/feed/components/ContextInspectorPanel.tsx
@@ -12324,14 +12328,14 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
12324
12328
  const dropped = visibleTrace?.retrieval.candidates.filter((candidate) => candidate.disposition === "dropped") || [];
12325
12329
  const deduped = visibleTrace?.retrieval.candidates.filter((candidate) => candidate.disposition === "deduped") || [];
12326
12330
  const trimmed = visibleTrace?.retrieval.candidates.filter((candidate) => candidate.disposition === "trimmed") || [];
12327
- return open ? _$3("div", { className: "feed-inspector" }, _$3("div", {
12331
+ return open ? k$3("div", { className: "feed-inspector" }, k$3("div", {
12328
12332
  className: "feed-card",
12329
12333
  id: "contextInspectorPanel",
12330
12334
  style: "margin-top:12px;"
12331
12335
  }, [
12332
- _$3("div", { className: "feed-card-header" }, [_$3("div", { className: "feed-card-title" }, "Context Inspector"), _$3("div", { className: "feed-card-meta" }, hasInspectorOverride ? "Tracing an inspector-specific query" : "Seeded from the feed search on first open")]),
12333
- _$3("div", { className: "feed-card-body" }, [
12334
- _$3("input", {
12336
+ k$3("div", { className: "feed-card-header" }, [k$3("div", { className: "feed-card-title" }, "Context Inspector"), k$3("div", { className: "feed-card-meta" }, hasInspectorOverride ? "Tracing an inspector-specific query" : "Seeded from the feed search on first open")]),
12337
+ k$3("div", { className: "feed-card-body" }, [
12338
+ k$3("input", {
12335
12339
  className: "feed-search",
12336
12340
  onInput: (event) => {
12337
12341
  setInspectorQuery(String(event.currentTarget.value || ""));
@@ -12343,54 +12347,54 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
12343
12347
  placeholder: "Trace a pack query…",
12344
12348
  value: inspectorQuery
12345
12349
  }),
12346
- _$3("div", {
12350
+ k$3("div", {
12347
12351
  className: "section-meta",
12348
12352
  style: "margin-top:8px;"
12349
12353
  }, hasInspectorOverride ? "Inspector query is independent from the live feed search." : "Inspector query was seeded from the feed search and will stay independent until you change it."),
12350
- _$3("textarea", {
12354
+ k$3("textarea", {
12351
12355
  className: "feed-inspector-files",
12352
12356
  onInput: (event) => setWorkingSetText(String(event.currentTarget.value || "")),
12353
12357
  placeholder: "Optional working-set files, one per line",
12354
12358
  rows: 3,
12355
12359
  value: workingSetText
12356
12360
  }),
12357
- _$3("div", { style: "display:flex; gap:8px; margin-top:8px; align-items:center;" }, _$3("button", {
12361
+ k$3("div", { style: "display:flex; gap:8px; margin-top:8px; align-items:center;" }, k$3("button", {
12358
12362
  className: "toggle-button active",
12359
12363
  disabled: loading,
12360
12364
  onClick: () => void runTrace(),
12361
12365
  type: "button"
12362
- }, loading ? "Tracing…" : "Run trace"), visibleTrace ? _$3("span", { className: "section-meta" }, `mode=${visibleTrace.mode.selected} · candidates=${visibleTrace.retrieval.candidate_count} · tokens=${visibleTrace.output.estimated_tokens}`) : null),
12363
- trace && !visibleTrace ? _$3("div", {
12366
+ }, loading ? "Tracing…" : "Run trace"), visibleTrace ? k$3("span", { className: "section-meta" }, `mode=${visibleTrace.mode.selected} · candidates=${visibleTrace.retrieval.candidate_count} · tokens=${visibleTrace.output.estimated_tokens}`) : null),
12367
+ trace && !visibleTrace ? k$3("div", {
12364
12368
  className: "section-meta",
12365
12369
  style: "margin-top:8px;"
12366
12370
  }, "Trace inputs changed. Run trace again for the current query, project, and working set.") : null,
12367
- visibleError ? _$3("div", {
12371
+ visibleError ? k$3("div", {
12368
12372
  className: "section-meta",
12369
12373
  style: "margin-top:8px; color:#d96c6c;"
12370
12374
  }, visibleError) : null
12371
12375
  ]),
12372
- visibleTrace ? _$3(k$3, null, [
12373
- _$3(TraceCandidateGroup, {
12376
+ visibleTrace ? k$3(S$1, null, [
12377
+ k$3(TraceCandidateGroup, {
12374
12378
  label: "Selected",
12375
12379
  candidates: selected
12376
12380
  }),
12377
- _$3(TraceCandidateGroup, {
12381
+ k$3(TraceCandidateGroup, {
12378
12382
  label: "Dropped",
12379
12383
  candidates: dropped
12380
12384
  }),
12381
- _$3(TraceCandidateGroup, {
12385
+ k$3(TraceCandidateGroup, {
12382
12386
  label: "Deduped",
12383
12387
  candidates: deduped
12384
12388
  }),
12385
- _$3(TraceCandidateGroup, {
12389
+ k$3(TraceCandidateGroup, {
12386
12390
  label: "Trimmed",
12387
12391
  candidates: trimmed
12388
12392
  }),
12389
- _$3("div", { className: "feed-card-body" }, [
12390
- visibleTrace.assembly.collapsed_groups.length ? _$3("div", { className: "section-meta" }, `Collapsed duplicates: ${visibleTrace.assembly.collapsed_groups.map((group) => `kept #${group.kept} from [${group.dropped.join(", ")}]`).join(" · ")}`) : null,
12391
- visibleTrace.assembly.trim_reasons.length ? _$3("div", { className: "section-meta" }, `Trim reasons: ${visibleTrace.assembly.trim_reasons.join(", ")}`) : null,
12392
- _$3("div", { className: "section-meta" }, "Final pack"),
12393
- _$3("pre", { style: "white-space:pre-wrap; overflow:auto;" }, visibleTrace.output.pack_text)
12393
+ k$3("div", { className: "feed-card-body" }, [
12394
+ visibleTrace.assembly.collapsed_groups.length ? k$3("div", { className: "section-meta" }, `Collapsed duplicates: ${visibleTrace.assembly.collapsed_groups.map((group) => `kept #${group.kept} from [${group.dropped.join(", ")}]`).join(" · ")}`) : null,
12395
+ visibleTrace.assembly.trim_reasons.length ? k$3("div", { className: "section-meta" }, `Trim reasons: ${visibleTrace.assembly.trim_reasons.join(", ")}`) : null,
12396
+ k$3("div", { className: "section-meta" }, "Final pack"),
12397
+ k$3("pre", { style: "white-space:pre-wrap; overflow:auto;" }, visibleTrace.output.pack_text)
12394
12398
  ])
12395
12399
  ]) : null
12396
12400
  ])) : null;
@@ -12501,10 +12505,10 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
12501
12505
  return preferred.filter((k) => keys.includes(k)).map((key) => {
12502
12506
  const content = String(summary[key] || "").trim();
12503
12507
  if (!content) return null;
12504
- return _$3("div", {
12508
+ return k$3("div", {
12505
12509
  className: "summary-section",
12506
12510
  key
12507
- }, _$3("div", { className: "summary-section-label" }, toTitleLabel(key)), _$3("div", {
12511
+ }, k$3("div", { className: "summary-section-label" }, toTitleLabel(key)), k$3("div", {
12508
12512
  className: "summary-section-content",
12509
12513
  dangerouslySetInnerHTML: { __html: renderMarkdownSafe(content) }
12510
12514
  }));
@@ -12519,22 +12523,22 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
12519
12523
  const labelText = fact.slice(0, splitAt).trim();
12520
12524
  const contentText = fact.slice(splitAt + 1).trim();
12521
12525
  if (!labelText || !contentText) return null;
12522
- return _$3("div", {
12526
+ return k$3("div", {
12523
12527
  className: "summary-section",
12524
12528
  key: `${labelText}-${index}`
12525
- }, _$3("div", { className: "summary-section-label" }, labelText), _$3("div", {
12529
+ }, k$3("div", { className: "summary-section-label" }, labelText), k$3("div", {
12526
12530
  className: "summary-section-content",
12527
12531
  dangerouslySetInnerHTML: { __html: renderMarkdownSafe(contentText) }
12528
12532
  }));
12529
12533
  }).filter(Boolean);
12530
- if (rows.length) return _$3("div", { className: "feed-body facts" }, rows);
12534
+ if (rows.length) return k$3("div", { className: "feed-body facts" }, rows);
12531
12535
  }
12532
- return _$3("div", { className: "feed-body" }, _$3("ul", null, trimmed.map((fact, index) => _$3("li", { key: `${fact}-${index}` }, fact))));
12536
+ return k$3("div", { className: "feed-body" }, k$3("ul", null, trimmed.map((fact, index) => k$3("li", { key: `${fact}-${index}` }, fact))));
12533
12537
  }
12534
12538
  function renderNarrativeContent(narrative, className = "feed-body") {
12535
12539
  const content = String(narrative || "").trim();
12536
12540
  if (!content) return null;
12537
- return _$3("div", {
12541
+ return k$3("div", {
12538
12542
  className,
12539
12543
  dangerouslySetInnerHTML: { __html: renderMarkdownSafe(content) }
12540
12544
  });
@@ -12786,7 +12790,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
12786
12790
  const pointerGraceIntentRef = A$1(null);
12787
12791
  const pointerDirRef = A$1("right");
12788
12792
  const lastPointerXRef = A$1(0);
12789
- const ScrollLockWrapper = disableOutsideScroll ? ReactRemoveScroll : k$3;
12793
+ const ScrollLockWrapper = disableOutsideScroll ? ReactRemoveScroll : S$1;
12790
12794
  const scrollLockWrapperProps = disableOutsideScroll ? {
12791
12795
  as: Slot,
12792
12796
  allowPinchZoom: true
@@ -13606,20 +13610,20 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
13606
13610
  //#endregion
13607
13611
  //#region src/tabs/feed/components/FeedItemMenu.tsx
13608
13612
  function FeedItemMenu({ assignProjectDisabled, disabled, onAssignProject, onForget, title }) {
13609
- return _$3(Root2, null, _$3(Trigger, { asChild: true }, _$3("button", {
13613
+ return k$3(Root2, null, k$3(Trigger, { asChild: true }, k$3("button", {
13610
13614
  "aria-label": `Actions for ${title}`,
13611
13615
  className: "feed-menu-trigger",
13612
13616
  type: "button"
13613
- }, "⋯")), _$3(Portal2, null, _$3(Content2, {
13617
+ }, "⋯")), k$3(Portal2, null, k$3(Content2, {
13614
13618
  align: "end",
13615
13619
  className: "feed-menu-panel",
13616
13620
  side: "bottom",
13617
13621
  sideOffset: 4
13618
- }, _$3(Item2, {
13622
+ }, k$3(Item2, {
13619
13623
  className: "feed-menu-item",
13620
13624
  disabled: assignProjectDisabled,
13621
13625
  onSelect: () => onAssignProject()
13622
- }, assignProjectDisabled ? "Moving…" : "Assign to project…"), _$3(Item2, {
13626
+ }, assignProjectDisabled ? "Moving…" : "Assign to project…"), k$3(Item2, {
13623
13627
  className: "feed-menu-item danger",
13624
13628
  disabled,
13625
13629
  onSelect: () => onForget()
@@ -13629,7 +13633,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
13629
13633
  //#region src/tabs/feed/components/FeedViewToggle.tsx
13630
13634
  function FeedViewToggle({ modes, active, onSelect }) {
13631
13635
  if (modes.length <= 1) return null;
13632
- return _$3("div", { className: "feed-toggle" }, modes.map((mode) => _$3("button", {
13636
+ return k$3("div", { className: "feed-toggle" }, modes.map((mode) => k$3("button", {
13633
13637
  key: mode.id,
13634
13638
  className: `toggle-button${mode.id === active ? " active" : ""}`,
13635
13639
  "data-filter": mode.id,
@@ -13640,7 +13644,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
13640
13644
  //#endregion
13641
13645
  //#region src/tabs/feed/components/ProvenanceChip.tsx
13642
13646
  function ProvenanceChip({ label, variant = "" }) {
13643
- return _$3(Chip, {
13647
+ return k$3(Chip, {
13644
13648
  variant: "provenance",
13645
13649
  tone: variant || void 0
13646
13650
  }, label);
@@ -13650,7 +13654,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
13650
13654
  function TagChip({ tag }) {
13651
13655
  const display = formatTagLabel(tag);
13652
13656
  if (!display) return null;
13653
- return _$3(Chip, {
13657
+ return k$3(Chip, {
13654
13658
  variant: "tag",
13655
13659
  title: String(tag)
13656
13660
  }, display);
@@ -13739,7 +13743,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
13739
13743
  const metaText = [`${tagContent}${fileContent}`.trim(), provenanceDetails].filter(Boolean).join(" · ");
13740
13744
  const canClamp = Boolean(observationData) && shouldClampBody(activeMode, observationData);
13741
13745
  const bodyClassName = [activeMode === "facts" ? "feed-body facts" : "feed-body", canClamp && !expanded ? clampClass(activeMode).join(" ") : ""].filter(Boolean).join(" ");
13742
- const bodyContent = isSessionSummary ? summarySections.length ? _$3("div", { className: "feed-body facts" }, summarySections) : renderNarrativeContent(String(item.body_text || "")) || _$3("div", { className: "feed-body" }) : observationData ? activeMode === "facts" ? renderFactsContent(observationData.facts) || _$3("div", { className: bodyClassName }) : renderNarrativeContent(activeMode === "narrative" ? observationData.narrative : observationData.summary, bodyClassName) || _$3("div", { className: bodyClassName }) : _$3("div", { className: "feed-body" });
13746
+ const bodyContent = isSessionSummary ? summarySections.length ? k$3("div", { className: "feed-body facts" }, summarySections) : renderNarrativeContent(String(item.body_text || "")) || k$3("div", { className: "feed-body" }) : observationData ? activeMode === "facts" ? renderFactsContent(observationData.facts) || k$3("div", { className: bodyClassName }) : renderNarrativeContent(activeMode === "narrative" ? observationData.narrative : observationData.summary, bodyClassName) || k$3("div", { className: bodyClassName }) : k$3("div", { className: "feed-body" });
13743
13747
  async function saveVisibility(nextVisibility) {
13744
13748
  const previousVisibility = currentVisibility;
13745
13749
  setSelectedVisibility(nextVisibility);
@@ -13823,48 +13827,48 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
13823
13827
  }
13824
13828
  }
13825
13829
  const kindChipLabel = displayKindValue.replace(/_/g, " ");
13826
- const filesRow = files.length ? _$3("div", { className: "feed-files" }, files.map((file, index) => _$3("span", {
13830
+ const filesRow = files.length ? k$3("div", { className: "feed-files" }, files.map((file, index) => k$3("span", {
13827
13831
  className: "feed-file",
13828
13832
  key: `${String(file)}-${index}`
13829
13833
  }, String(file)))) : null;
13830
- return _$3("article", {
13834
+ return k$3("article", {
13831
13835
  className: `feed-item ${displayKindValue}${isNew ? " new-item" : ""}`.trim(),
13832
13836
  "data-key": rowKey
13833
- }, _$3("div", { className: "feed-kind-banner" }, _$3(Chip, {
13837
+ }, k$3("div", { className: "feed-kind-banner" }, k$3(Chip, {
13834
13838
  variant: "kind",
13835
13839
  tone: displayKindValue
13836
- }, kindChipLabel)), _$3("div", { className: "feed-card-body" }, _$3("div", { className: "feed-card-header" }, _$3("div", { className: "feed-header" }, _$3("div", {
13840
+ }, kindChipLabel)), k$3("div", { className: "feed-card-body" }, k$3("div", { className: "feed-card-header" }, k$3("div", { className: "feed-header" }, k$3("div", {
13837
13841
  className: "feed-title title",
13838
13842
  dangerouslySetInnerHTML: { __html: highlightText(displayTitle, state.feedQuery) }
13839
- }), _$3("div", { className: "feed-card-subtitle small" }, secondaryMeta)), _$3("div", { className: "feed-actions" }, observationData ? _$3(FeedViewToggle, {
13843
+ }), k$3("div", { className: "feed-card-subtitle small" }, secondaryMeta)), k$3("div", { className: "feed-actions" }, observationData ? k$3(FeedViewToggle, {
13840
13844
  active: activeMode,
13841
13845
  modes,
13842
13846
  onSelect: (mode) => setActiveMode(mode)
13843
- }) : null, _$3(Tooltip, {
13847
+ }) : null, k$3(Tooltip, {
13844
13848
  label: formatDate(createdAtRaw),
13845
13849
  side: "left"
13846
- }, _$3("div", { className: "small feed-age" }, relative)), item.owned_by_self && memoryId > 0 ? _$3(FeedItemMenu, {
13850
+ }, k$3("div", { className: "small feed-age" }, relative)), item.owned_by_self && memoryId > 0 ? k$3(FeedItemMenu, {
13847
13851
  assignProjectDisabled: movingProject,
13848
13852
  disabled: deletingMemory,
13849
13853
  onAssignProject: () => void moveProject(),
13850
13854
  onForget: () => void forgetMemory$1(),
13851
13855
  title: String(displayTitle || "memory")
13852
- }) : null)), _$3("div", { className: "feed-provenance" }, _$3(ProvenanceChip, {
13856
+ }) : null)), k$3("div", { className: "feed-provenance" }, k$3(ProvenanceChip, {
13853
13857
  label: actor,
13854
13858
  variant: actor === "You" ? "mine" : "author"
13855
- }), _$3(ProvenanceChip, {
13859
+ }), k$3(ProvenanceChip, {
13856
13860
  label: visibility || "private",
13857
13861
  variant: visibility || "private"
13858
- }), memoryIdLabel ? _$3(Tooltip, {
13862
+ }), memoryIdLabel ? k$3(Tooltip, {
13859
13863
  label: `Memory database id ${memoryId}`,
13860
13864
  side: "top"
13861
- }, _$3(ProvenanceChip, {
13865
+ }, k$3(ProvenanceChip, {
13862
13866
  label: memoryIdLabel,
13863
13867
  variant: "memory-id"
13864
- })) : null), _$3("div", { className: "feed-meta" }, metaText || "No tags, files, or provenance details attached."), bodyContent, _$3("div", { className: "feed-footer" }, _$3("div", { className: "feed-footer-left" }, tags.length ? _$3("div", { className: "feed-tags" }, tags.map((tag, index) => _$3(TagChip, {
13868
+ })) : null), k$3("div", { className: "feed-meta" }, metaText || "No tags, files, or provenance details attached."), bodyContent, k$3("div", { className: "feed-footer" }, k$3("div", { className: "feed-footer-left" }, tags.length ? k$3("div", { className: "feed-tags" }, tags.map((tag, index) => k$3(TagChip, {
13865
13869
  key: `${String(tag)}-${index}`,
13866
13870
  tag
13867
- }))) : null, item.owned_by_self && memoryId > 0 ? _$3("div", { className: "feed-visibility-controls" }, _$3("select", {
13871
+ }))) : null, item.owned_by_self && memoryId > 0 ? k$3("div", { className: "feed-visibility-controls" }, k$3("select", {
13868
13872
  "aria-label": `Visibility for ${String(item.title || "memory")}`,
13869
13873
  className: "feed-visibility-select",
13870
13874
  disabled: savingVisibility,
@@ -13872,7 +13876,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
13872
13876
  saveVisibility(String(event.currentTarget.value) === "shared" ? "shared" : "private");
13873
13877
  },
13874
13878
  value: currentVisibility
13875
- }, _$3("option", { value: "private" }, "Only me"), _$3("option", { value: "shared" }, "Share with peers")), _$3("div", { className: "feed-visibility-note" }, visibilityNote)) : null), _$3("div", { className: "feed-footer-right" }, canClamp ? _$3("button", {
13879
+ }, k$3("option", { value: "private" }, "Only me"), k$3("option", { value: "shared" }, "Share with peers")), k$3("div", { className: "feed-visibility-note" }, visibilityNote)) : null), k$3("div", { className: "feed-footer-right" }, canClamp ? k$3("button", {
13876
13880
  className: "feed-expand",
13877
13881
  onClick: () => {
13878
13882
  const nextValue = !expanded;
@@ -13891,15 +13895,15 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
13891
13895
  ["w-65", "w-85"]
13892
13896
  ];
13893
13897
  const [first, second] = bodyWidths[index % bodyWidths.length];
13894
- return _$3("div", {
13898
+ return k$3("div", {
13895
13899
  className: "feed-skeleton-item",
13896
13900
  "aria-hidden": "true"
13897
- }, _$3("div", { className: "feed-skeleton-banner" }), _$3("div", { className: "feed-skeleton-body" }, _$3("div", { className: `feed-skeleton-line ${first}` }), _$3("div", { className: `feed-skeleton-line ${second}` }), _$3("div", { className: "feed-skeleton-footer" }, _$3("div", { className: "feed-skeleton-chip w-36" }), _$3("div", { className: "feed-skeleton-chip w-56" }), _$3("div", { className: "feed-skeleton-chip" }))));
13901
+ }, k$3("div", { className: "feed-skeleton-banner" }), k$3("div", { className: "feed-skeleton-body" }, k$3("div", { className: `feed-skeleton-line ${first}` }), k$3("div", { className: `feed-skeleton-line ${second}` }), k$3("div", { className: "feed-skeleton-footer" }, k$3("div", { className: "feed-skeleton-chip w-36" }), k$3("div", { className: "feed-skeleton-chip w-56" }), k$3("div", { className: "feed-skeleton-chip" }))));
13898
13902
  }
13899
13903
  //#endregion
13900
13904
  //#region src/tabs/feed/components/FeedList.tsx
13901
13905
  function FeedList({ items, loadingText, ops }) {
13902
- if (loadingText) return _$3("div", {
13906
+ if (loadingText) return k$3("div", {
13903
13907
  className: "feed-skeleton",
13904
13908
  role: "status",
13905
13909
  "aria-label": loadingText
@@ -13908,15 +13912,15 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
13908
13912
  1,
13909
13913
  2,
13910
13914
  3
13911
- ].map((i) => _$3(FeedSkeletonItem, {
13915
+ ].map((i) => k$3(FeedSkeletonItem, {
13912
13916
  index: i,
13913
13917
  key: `skeleton-${i}`
13914
13918
  })));
13915
13919
  if (!items.length) {
13916
13920
  const hasFilters = Boolean(state.feedQuery.trim()) || state.feedTypeFilter !== "all" || state.feedScopeFilter !== "all";
13917
- return _$3("div", { className: "small feed-empty-state" }, _$3("strong", null, hasFilters ? "No memories match the current filters." : "No memories yet."), _$3("div", null, hasFilters ? "Try clearing filters, changing the scope, or using a broader search." : "Memories and session summaries will appear here once codemem has something worth keeping."));
13921
+ return k$3("div", { className: "small feed-empty-state" }, k$3("strong", null, hasFilters ? "No memories match the current filters." : "No memories yet."), k$3("div", null, hasFilters ? "Try clearing filters, changing the scope, or using a broader search." : "Memories and session summaries will appear here once codemem has something worth keeping."));
13918
13922
  }
13919
- return _$3(k$3, null, items.map((item) => _$3(FeedItemCard, {
13923
+ return k$3(S$1, null, items.map((item) => k$3(FeedItemCard, {
13920
13924
  item,
13921
13925
  key: itemKey(item),
13922
13926
  onReplace: ops.replaceFeedItem,
@@ -13928,12 +13932,12 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
13928
13932
  //#endregion
13929
13933
  //#region src/tabs/feed/components/FeedToggle.tsx
13930
13934
  function FeedToggle({ id, active, options, onSelect }) {
13931
- return _$3("div", {
13935
+ return k$3("div", {
13932
13936
  className: "feed-toggle",
13933
13937
  id
13934
13938
  }, options.map(({ value, label }) => {
13935
13939
  const selected = value === active;
13936
- return _$3("button", {
13940
+ return k$3("button", {
13937
13941
  "aria-pressed": selected ? "true" : "false",
13938
13942
  className: `toggle-button${selected ? " active" : ""}`,
13939
13943
  "data-filter": value,
@@ -13947,10 +13951,10 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
13947
13951
  //#region src/tabs/feed/components/FeedTabView.tsx
13948
13952
  function FeedTabView({ items, loadingText, ops }) {
13949
13953
  const [inspectorOpen, setInspectorOpen] = d$2(false);
13950
- return _$3(k$3, null, _$3("div", { className: "feed-controls" }, _$3("div", {
13954
+ return k$3(S$1, null, k$3("div", { className: "feed-controls" }, k$3("div", {
13951
13955
  className: "section-meta",
13952
13956
  id: "feedMeta"
13953
- }, loadingText || feedMetaText(items.length, ops.hasMorePages())), _$3("div", { className: "feed-controls-right" }, _$3("input", {
13957
+ }, loadingText || feedMetaText(items.length, ops.hasMorePages())), k$3("div", { className: "feed-controls-right" }, k$3("input", {
13954
13958
  className: "feed-search",
13955
13959
  id: "feedSearch",
13956
13960
  onInput: (event) => {
@@ -13959,7 +13963,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
13959
13963
  },
13960
13964
  placeholder: "Search title, body, tags…",
13961
13965
  value: state.feedQuery
13962
- }), _$3(FeedToggle, {
13966
+ }), k$3(FeedToggle, {
13963
13967
  active: state.feedScopeFilter,
13964
13968
  id: "feedScopeToggle",
13965
13969
  onSelect: (value) => {
@@ -13981,7 +13985,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
13981
13985
  label: "Other people"
13982
13986
  }
13983
13987
  ]
13984
- }), _$3(FeedToggle, {
13988
+ }), k$3(FeedToggle, {
13985
13989
  active: state.feedTypeFilter,
13986
13990
  id: "feedTypeToggle",
13987
13991
  onSelect: (value) => {
@@ -14003,16 +14007,16 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
14003
14007
  label: "Summaries"
14004
14008
  }
14005
14009
  ]
14006
- }), _$3("button", {
14010
+ }), k$3("button", {
14007
14011
  "aria-controls": "contextInspectorPanel",
14008
14012
  "aria-expanded": inspectorOpen,
14009
14013
  className: "settings-button feed-inspector-button",
14010
14014
  onClick: () => setInspectorOpen((current) => !current),
14011
14015
  type: "button"
14012
- }, inspectorOpen ? "Hide Context Inspector" : "Context Inspector"))), _$3(ContextInspectorPanel, { open: inspectorOpen }), _$3("div", {
14016
+ }, inspectorOpen ? "Hide Context Inspector" : "Context Inspector"))), k$3(ContextInspectorPanel, { open: inspectorOpen }), k$3("div", {
14013
14017
  className: "feed-list",
14014
14018
  id: "feedList"
14015
- }, _$3(FeedList, {
14019
+ }, k$3(FeedList, {
14016
14020
  items,
14017
14021
  loadingText,
14018
14022
  ops
@@ -14152,7 +14156,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
14152
14156
  function renderFeedTab(items, options) {
14153
14157
  const feedTab = document.getElementById("tab-feed");
14154
14158
  if (!feedTab) return false;
14155
- renderIntoFeedMount(feedTab, _$3(FeedTabView, {
14159
+ renderIntoFeedMount(feedTab, k$3(FeedTabView, {
14156
14160
  items,
14157
14161
  loadingText: options?.loadingText,
14158
14162
  ops: feedOps
@@ -14236,14 +14240,14 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
14236
14240
  return input;
14237
14241
  }
14238
14242
  function HealthCard({ label, value, detail, icon, className, title }) {
14239
- const card = _$3("div", {
14243
+ const card = k$3("div", {
14240
14244
  class: `stat${className ? ` ${className}` : ""}`,
14241
14245
  style: title ? "cursor: help;" : void 0
14242
- }, icon ? _$3("i", {
14246
+ }, icon ? k$3("i", {
14243
14247
  "data-lucide": icon,
14244
14248
  class: "stat-icon"
14245
- }) : null, _$3("div", { class: "stat-content" }, _$3("div", { class: "value" }, value), _$3("div", { class: "label" }, label), detail ? _$3("div", { class: "small" }, detail) : null));
14246
- return title ? _$3(Tooltip, { label: title }, card) : card;
14249
+ }) : null, k$3("div", { class: "stat-content" }, k$3("div", { class: "value" }, value), k$3("div", { class: "label" }, label), detail ? k$3("div", { class: "small" }, detail) : null));
14250
+ return title ? k$3(Tooltip, { label: title }, card) : card;
14247
14251
  }
14248
14252
  function HealthActionRow({ item }) {
14249
14253
  let actionButton = null;
@@ -14263,13 +14267,13 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
14263
14267
  if (!item.command || !copyButton) return;
14264
14268
  copyToClipboard(item.command, copyButton);
14265
14269
  }
14266
- return _$3("div", { class: "health-action" }, _$3("div", { class: "health-action-text" }, item.label, item.command ? _$3("span", { class: "health-action-command" }, item.command) : null), _$3("div", { class: "health-action-buttons" }, item.action ? _$3("button", {
14270
+ return k$3("div", { class: "health-action" }, k$3("div", { class: "health-action-text" }, item.label, item.command ? k$3("span", { class: "health-action-command" }, item.command) : null), k$3("div", { class: "health-action-buttons" }, item.action ? k$3("button", {
14267
14271
  class: "settings-button",
14268
14272
  onClick: handleAction,
14269
14273
  ref: (node) => {
14270
14274
  actionButton = node;
14271
14275
  }
14272
- }, actionLabel) : null, item.command ? _$3("button", {
14276
+ }, actionLabel) : null, item.command ? k$3("button", {
14273
14277
  class: "settings-button health-action-copy",
14274
14278
  onClick: handleCopy,
14275
14279
  ref: (node) => {
@@ -14283,25 +14287,25 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
14283
14287
  return String(value);
14284
14288
  }
14285
14289
  function StatBlock({ label, value, icon, tooltip }) {
14286
- const card = _$3("div", {
14290
+ const card = k$3("div", {
14287
14291
  class: "stat",
14288
14292
  style: tooltip ? "cursor: help;" : void 0
14289
- }, _$3("i", {
14293
+ }, k$3("i", {
14290
14294
  "data-lucide": icon,
14291
14295
  class: "stat-icon"
14292
- }), _$3("div", { class: "stat-content" }, _$3("div", { class: "value" }, formatStatValue(value)), _$3("div", { class: "label" }, label)));
14293
- return tooltip ? _$3(Tooltip, { label: tooltip }, card) : card;
14296
+ }), k$3("div", { class: "stat-content" }, k$3("div", { class: "value" }, formatStatValue(value)), k$3("div", { class: "label" }, label)));
14297
+ return tooltip ? k$3(Tooltip, { label: tooltip }, card) : card;
14294
14298
  }
14295
14299
  function renderStatBlocks(container, items) {
14296
14300
  if (!container) return;
14297
- J$1(_$3(TooltipProvider, null, items.map((item) => _$3(StatBlock, {
14301
+ R$1(k$3(TooltipProvider, null, items.map((item) => k$3(StatBlock, {
14298
14302
  ...item,
14299
14303
  key: `${item.label}-${item.icon}`
14300
14304
  }))), container);
14301
14305
  }
14302
14306
  function renderText(container, value) {
14303
14307
  if (!container) return;
14304
- J$1(_$3(k$3, null, value), container);
14308
+ R$1(k$3(S$1, null, value), container);
14305
14309
  }
14306
14310
  function renderIcons() {
14307
14311
  const lucide = globalThis.lucide;
@@ -14309,7 +14313,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
14309
14313
  }
14310
14314
  function renderHealthCards(container, cards) {
14311
14315
  if (!container) return;
14312
- J$1(_$3(TooltipProvider, null, cards.map((card) => _$3(HealthCard, {
14316
+ R$1(k$3(TooltipProvider, null, cards.map((card) => k$3(HealthCard, {
14313
14317
  ...card,
14314
14318
  key: card.key ?? card.label
14315
14319
  }))), container);
@@ -14318,11 +14322,11 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
14318
14322
  if (!container) return;
14319
14323
  if (!actions.length) {
14320
14324
  container.hidden = true;
14321
- J$1(null, container);
14325
+ R$1(null, container);
14322
14326
  return;
14323
14327
  }
14324
14328
  container.hidden = false;
14325
- J$1(_$3(k$3, null, actions.slice(0, 3).map((item, index) => _$3(HealthActionRow, {
14329
+ R$1(k$3(S$1, null, actions.slice(0, 3).map((item, index) => k$3(HealthActionRow, {
14326
14330
  item,
14327
14331
  key: `${item.label}-${index}`
14328
14332
  }))), container);
@@ -15310,7 +15314,11 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
15310
15314
  actions.appendChild(note);
15311
15315
  row.appendChild(actions);
15312
15316
  } else {
15313
- const hasGuardrailWarnings = assignableProjects.some((project) => (project.guardrail_warnings ?? []).length > 0);
15317
+ const projectsWithBlockingWarnings = assignableProjects.map((project) => ({
15318
+ project,
15319
+ warnings: (project.guardrail_warnings ?? []).filter((warning) => warning.requires_confirmation)
15320
+ }));
15321
+ const hasBlockingGuardrailWarnings = projectsWithBlockingWarnings.some(({ warnings }) => warnings.length > 0);
15314
15322
  const suggestedScopes = new Set(assignableProjects.map((project) => project.suggested_scope_id).filter((scopeId) => Boolean(scopeId)));
15315
15323
  const resolvedScopes = new Set(assignableProjects.map((project) => project.resolved_scope_id));
15316
15324
  const select = document.createElement("select");
@@ -15326,19 +15334,33 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
15326
15334
  save.className = "settings-button";
15327
15335
  save.type = "button";
15328
15336
  save.textContent = `Save Space for ${assignableProjects.length} identit${assignableProjects.length === 1 ? "y" : "ies"}`;
15329
- save.disabled = !select.value || hasGuardrailWarnings;
15337
+ save.disabled = !select.value || hasBlockingGuardrailWarnings;
15330
15338
  save.addEventListener("click", () => void saveProjectClusterMapping(assignableProjects, select.value));
15331
15339
  select.addEventListener("change", () => {
15332
15340
  if (select.value) draftClusterDomainSelections.set(clusterKey, select.value);
15333
15341
  else draftClusterDomainSelections.delete(clusterKey);
15334
- save.disabled = !select.value || hasGuardrailWarnings;
15342
+ save.disabled = !select.value || hasBlockingGuardrailWarnings;
15335
15343
  });
15336
15344
  select.addEventListener("blur", refreshSkippedProjectDataAfterSelectBlur);
15337
15345
  actions.append(select, save);
15338
- if (suggestedScopes.size > 1 || resolvedScopes.size > 1 || hasGuardrailWarnings) {
15346
+ if (suggestedScopes.size > 1 || resolvedScopes.size > 1 || hasBlockingGuardrailWarnings) {
15339
15347
  const note = document.createElement("div");
15340
15348
  note.className = "settings-note project-attention-note";
15341
- note.textContent = hasGuardrailWarnings ? "One or more identities in this group need individual review before bulk assignment." : "This group has mixed suggestions or current Spaces. Choose a Space explicitly before bulk assignment.";
15349
+ note.textContent = hasBlockingGuardrailWarnings ? "One or more identities in this group need individual review before bulk assignment." : "This group has mixed suggestions or current Spaces. Choose a Space explicitly before bulk assignment.";
15350
+ if (hasBlockingGuardrailWarnings) {
15351
+ const blockers = document.createElement("ul");
15352
+ for (const { project, warnings } of projectsWithBlockingWarnings) {
15353
+ if (warnings.length === 0) continue;
15354
+ const item = document.createElement("li");
15355
+ const label = document.createElement("strong");
15356
+ label.textContent = `Blocked identity: ${project.workspace_identity}`;
15357
+ const detail = document.createElement("span");
15358
+ detail.textContent = ` — ${warnings.map((warning) => warning.message).join(" ")}`;
15359
+ item.append(label, detail);
15360
+ blockers.appendChild(item);
15361
+ }
15362
+ note.appendChild(blockers);
15363
+ }
15342
15364
  actions.appendChild(note);
15343
15365
  }
15344
15366
  row.appendChild(actions);
@@ -16059,7 +16081,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
16059
16081
  id: "observerStatusBanner",
16060
16082
  className: "observer-status-banner",
16061
16083
  children: [
16062
- active ? /* @__PURE__ */ u(k$3, { children: [/* @__PURE__ */ u("div", {
16084
+ active ? /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u("div", {
16063
16085
  className: "status-label",
16064
16086
  children: "Active observer"
16065
16087
  }), /* @__PURE__ */ u("div", {
@@ -16082,14 +16104,14 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
16082
16104
  })
16083
16105
  })
16084
16106
  ]
16085
- })] }) : /* @__PURE__ */ u(k$3, { children: [/* @__PURE__ */ u("div", {
16107
+ })] }) : /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u("div", {
16086
16108
  className: "status-label",
16087
16109
  children: "Observer status"
16088
16110
  }), /* @__PURE__ */ u("div", {
16089
16111
  className: "status-active",
16090
16112
  children: "Not yet initialized (waiting for first session)"
16091
16113
  })] }),
16092
- credentialEntries.length ? /* @__PURE__ */ u(k$3, { children: [/* @__PURE__ */ u("div", {
16114
+ credentialEntries.length ? /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u("div", {
16093
16115
  className: "status-label",
16094
16116
  children: "Available credentials"
16095
16117
  }), /* @__PURE__ */ u("div", { children: credentialEntries.map(([provider, creds], index) => {
@@ -16115,7 +16137,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
16115
16137
  ]
16116
16138
  }, provider);
16117
16139
  }) })] }) : null,
16118
- failure && typeof failure === "object" ? /* @__PURE__ */ u(k$3, { children: [/* @__PURE__ */ u("div", {
16140
+ failure && typeof failure === "object" ? /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u("div", {
16119
16141
  className: "status-label",
16120
16142
  children: "Latest processing issue"
16121
16143
  }), /* @__PURE__ */ u("div", {
@@ -16374,7 +16396,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
16374
16396
  const close = q$2(() => {
16375
16397
  if (settingsState.startPolling && settingsState.refresh) onClose(settingsState.startPolling, settingsState.refresh);
16376
16398
  }, [onClose]);
16377
- return /* @__PURE__ */ u(k$3, { children: [/* @__PURE__ */ u(RadixDialog, {
16399
+ return /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u(RadixDialog, {
16378
16400
  ariaDescribedby: "settingsDescription",
16379
16401
  ariaLabelledby: "settingsTitle",
16380
16402
  contentClassName: "modal",
@@ -16435,7 +16457,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
16435
16457
  //#endregion
16436
16458
  //#region src/tabs/settings/components/ObserverPanel.tsx
16437
16459
  function ObserverPanel({ values, observerMaxCharsDefault, providerOptions, showAuthFile, showAuthCommand, hiddenUnlessAdvanced, onTextInput, onSelectValueChange, getObserverModelLabel, getObserverModelTooltip, getObserverModelDescription, getObserverModelHint, protectedConfigHelp, observerStatusBannerSlot }) {
16438
- return /* @__PURE__ */ u(k$3, { children: [
16460
+ return /* @__PURE__ */ u(S$1, { children: [
16439
16461
  /* @__PURE__ */ u(SettingsSectionIntro, {
16440
16462
  detail: "Set how codemem reaches your model provider and where it should look for credentials.",
16441
16463
  title: "Connection and credentials"
@@ -16799,7 +16821,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
16799
16821
  //#endregion
16800
16822
  //#region src/tabs/settings/components/ProcessingPanel.tsx
16801
16823
  function ProcessingPanel({ values, showTieredRouting, hiddenUnlessAdvanced, onTextInput, onSwitchInput, getTieredRoutingHelperText }) {
16802
- return /* @__PURE__ */ u(k$3, { children: [
16824
+ return /* @__PURE__ */ u(S$1, { children: [
16803
16825
  /* @__PURE__ */ u(SettingsSectionIntro, {
16804
16826
  detail: "Control how often codemem processes queued work and, if needed, how it routes lighter vs richer model requests.",
16805
16827
  title: "Processing and routing"
@@ -17048,7 +17070,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
17048
17070
  //#endregion
17049
17071
  //#region src/tabs/settings/components/SyncPanel.tsx
17050
17072
  function SyncPanel({ values, hiddenUnlessAdvanced, onTextInput, onSwitchInput, protectedConfigHelp }) {
17051
- return /* @__PURE__ */ u(k$3, { children: [/* @__PURE__ */ u(SettingsSectionIntro, {
17073
+ return /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u(SettingsSectionIntro, {
17052
17074
  detail: "Choose whether this device syncs at all, how often it checks peers, and which coordinator group it should join.",
17053
17075
  title: "Device sync"
17054
17076
  }), /* @__PURE__ */ u("div", {
@@ -17464,7 +17486,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
17464
17486
  function renderSettingsShell() {
17465
17487
  const mount = $("settingsDialogMount");
17466
17488
  if (!mount) return;
17467
- J$1(/* @__PURE__ */ u(SettingsDialogShellBound, {}), mount);
17489
+ R$1(/* @__PURE__ */ u(SettingsDialogShellBound, {}), mount);
17468
17490
  }
17469
17491
  function ensureSettingsShell() {
17470
17492
  if (!$("settingsDialogMount")) return;
@@ -17551,11 +17573,11 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
17551
17573
  }
17552
17574
  function renderIntoSyncMount(mount, content) {
17553
17575
  markMount(mount);
17554
- J$1(content, mount);
17576
+ R$1(content, mount);
17555
17577
  }
17556
17578
  function clearSyncMount(mount) {
17557
17579
  if (mount.dataset.syncRenderRoot !== "preact") return;
17558
- J$1(null, mount);
17580
+ R$1(null, mount);
17559
17581
  }
17560
17582
  //#endregion
17561
17583
  //#region src/tabs/sync/diagnostics/helpers.ts
@@ -17622,7 +17644,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
17622
17644
  //#endregion
17623
17645
  //#region src/tabs/sync/components/sync-diagnostics.tsx
17624
17646
  function DiagnosticsGrid({ items }) {
17625
- return /* @__PURE__ */ u(k$3, { children: items.map((item, index) => /* @__PURE__ */ u("div", {
17647
+ return /* @__PURE__ */ u(S$1, { children: items.map((item, index) => /* @__PURE__ */ u("div", {
17626
17648
  class: "stat",
17627
17649
  children: /* @__PURE__ */ u("div", {
17628
17650
  class: "stat-content",
@@ -17637,21 +17659,29 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
17637
17659
  }, `${item.label}-${index}`)) });
17638
17660
  }
17639
17661
  function AttemptsList({ attempts, note }) {
17640
- return /* @__PURE__ */ u(k$3, { children: [note ? /* @__PURE__ */ u("div", {
17662
+ return /* @__PURE__ */ u(S$1, { children: [note ? /* @__PURE__ */ u("div", {
17641
17663
  class: "small",
17642
17664
  children: note
17643
17665
  }) : null, attempts.map((attempt, index) => /* @__PURE__ */ u("div", {
17644
17666
  class: "diag-line",
17645
17667
  children: [/* @__PURE__ */ u("div", {
17646
17668
  class: "left",
17647
- children: [/* @__PURE__ */ u("div", { children: [
17648
- attempt.peerLabel,
17649
- " — ",
17650
- attempt.status
17651
- ] }), attempt.detail ? /* @__PURE__ */ u("div", {
17652
- class: "small",
17653
- children: attempt.detail
17654
- }) : null]
17669
+ children: [
17670
+ /* @__PURE__ */ u("div", { children: [
17671
+ attempt.peerLabel,
17672
+ " — ",
17673
+ attempt.status
17674
+ ] }),
17675
+ attempt.detail ? /* @__PURE__ */ u("div", {
17676
+ class: "small",
17677
+ children: attempt.detail
17678
+ }) : null,
17679
+ attempt.actionHref && attempt.actionLabel ? /* @__PURE__ */ u("a", {
17680
+ class: "small",
17681
+ href: attempt.actionHref,
17682
+ children: attempt.actionLabel
17683
+ }) : null
17684
+ ]
17655
17685
  }), /* @__PURE__ */ u("div", {
17656
17686
  class: "right",
17657
17687
  children: attempt.startedAt
@@ -17659,7 +17689,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
17659
17689
  }, `${attempt.startedAt}-${attempt.peerLabel}-${index}`))] });
17660
17690
  }
17661
17691
  function PairingText({ text }) {
17662
- return /* @__PURE__ */ u(k$3, { children: text });
17692
+ return /* @__PURE__ */ u(S$1, { children: text });
17663
17693
  }
17664
17694
  function SyncEmptyState$1({ title, detail }) {
17665
17695
  return /* @__PURE__ */ u("div", {
@@ -17968,12 +17998,12 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
17968
17998
  warning: false
17969
17999
  };
17970
18000
  }
17971
- if (failedItems.filter((item) => isTrustFailureError(cleanText(item.error))).length === failedItems.length) return {
18001
+ if (failedItems.filter((item) => failureCategoryForItem(item) === "trust").length === failedItems.length) return {
17972
18002
  ok: false,
17973
18003
  message: "This device no longer has two-way trust with the peer. Pair it again from the other device, or remove the stale local record if it should be gone.",
17974
18004
  warning: true
17975
18005
  };
17976
- if (failedItems.filter((item) => isScopeMembershipFailureError(cleanText(item.error))).length === failedItems.length) return {
18006
+ if (failedItems.filter((item) => failureCategoryForItem(item) === "scope").length === failedItems.length) return {
17977
18007
  ok: false,
17978
18008
  message: "Sync ran, but the peer is not authorized for one or more Spaces. Review Space access for this device in Teams, then sync again.",
17979
18009
  warning: true
@@ -17989,6 +18019,15 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
17989
18019
  warning: true
17990
18020
  };
17991
18021
  }
18022
+ function failureCategoryForItem(item) {
18023
+ if (item.failureCategory) return item.failureCategory;
18024
+ const scopeCategories = Array.isArray(item.perScopeResults) ? item.perScopeResults.filter((scope) => scope && scope.ok === false).map((scope) => scope.failureCategory).filter((category) => Boolean(category)) : [];
18025
+ if (scopeCategories.length) return new Set(scopeCategories).size === 1 ? scopeCategories[0] : "other";
18026
+ const error = cleanText(item.error);
18027
+ if (isTrustFailureError(error)) return "trust";
18028
+ if (isScopeMembershipFailureError(error)) return "scope";
18029
+ return null;
18030
+ }
17992
18031
  /**
17993
18032
  * True when a sync-failure error string looks like a two-way-trust failure
17994
18033
  * (401 unauthorized on the peer's /v1/status), which is the only class of
@@ -18197,6 +18236,38 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
18197
18236
  emptyMessage: "No Space access grants exist for this device yet. Advanced project filters cannot send data by themselves."
18198
18237
  };
18199
18238
  }
18239
+ function derivePeerScopeSyncView(peer) {
18240
+ const rows = (Array.isArray(peer.per_scope_sync) ? peer.per_scope_sync : []).map((scope) => {
18241
+ const scopeId = cleanText(scope.scope_id);
18242
+ const rawLabel = cleanText(scope.label);
18243
+ if (!scopeId && !rawLabel) return null;
18244
+ const label = rawLabel || "Untitled Space";
18245
+ const lastApplied = cleanText(scope.last_applied_cursor);
18246
+ const lastAcked = cleanText(scope.last_acked_cursor);
18247
+ const status = scope.bootstrapped === true || Boolean(lastApplied) ? "received" : "pending";
18248
+ const authority = labelPart(cleanText(scope.authority_type), "local");
18249
+ const epoch = Number(scope.membership_epoch ?? 0);
18250
+ const detail = [
18251
+ `Scope id: ${scopeId || "unknown"}`,
18252
+ `${authority} authority`,
18253
+ Number.isFinite(epoch) ? `membership epoch ${epoch}` : null,
18254
+ lastApplied ? `last applied ${lastApplied}` : null,
18255
+ lastAcked ? `last acknowledged ${lastAcked}` : null
18256
+ ].filter((value) => Boolean(value)).join(" · ");
18257
+ return {
18258
+ scopeId: scopeId || label,
18259
+ label,
18260
+ status,
18261
+ badgeLabel: status === "received" ? "Received" : "Pending",
18262
+ detail
18263
+ };
18264
+ }).filter((item) => item != null);
18265
+ return {
18266
+ total: rows.length,
18267
+ rows,
18268
+ emptyMessage: "No per-Space sync progress is available yet. Run sync after both devices have Space access."
18269
+ };
18270
+ }
18200
18271
  var PERSONAL_SCOPE_WORDS = [
18201
18272
  "personal",
18202
18273
  "private",
@@ -18386,6 +18457,23 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
18386
18457
  deviceId: device.id
18387
18458
  };
18388
18459
  }
18460
+ function deriveCoordinatorSetupBlocker(coordinator) {
18461
+ const coordinatorUrl = cleanText(coordinator?.coordinator_url);
18462
+ const groups = Array.isArray(coordinator?.groups) ? coordinator.groups : [];
18463
+ if (!coordinatorUrl) return {
18464
+ reason: "coordinator_url_missing",
18465
+ message: "Configure a coordinator URL before pairing team devices."
18466
+ };
18467
+ if (!groups.some((group) => cleanText(group))) return {
18468
+ reason: "coordinator_groups_empty",
18469
+ message: "Join or configure a team before pairing team devices."
18470
+ };
18471
+ if (coordinator?.sync_enabled === false) return {
18472
+ reason: "sync_disabled",
18473
+ message: "Enable sync before pairing team devices."
18474
+ };
18475
+ return null;
18476
+ }
18389
18477
  function mergeDevices(peers, discoveredDevices) {
18390
18478
  const devices = /* @__PURE__ */ new Map();
18391
18479
  const getOrCreate = (deviceId) => {
@@ -18716,7 +18804,11 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
18716
18804
  status: attempt.status || "unknown",
18717
18805
  peerLabel,
18718
18806
  detail: detailParts.join(" · "),
18719
- startedAt: time ? formatTimestamp(time) : ""
18807
+ startedAt: time ? formatTimestamp(time) : "",
18808
+ ...shouldShowSyncAttemptRedactionHint(attempt, redact) ? {
18809
+ actionHref: "#sync/diagnostics",
18810
+ actionLabel: "Open Advanced diagnostics Redact setting"
18811
+ } : {}
18720
18812
  };
18721
18813
  }), historyOnlyNote);
18722
18814
  }
@@ -18968,7 +19060,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
18968
19060
  function renderRedactControl() {
18969
19061
  const mount = document.getElementById(SYNC_REDACT_MOUNT_ID);
18970
19062
  if (!mount) return;
18971
- renderIntoSyncMount(mount, _$3(RadixSwitch, {
19063
+ renderIntoSyncMount(mount, k$3(RadixSwitch, {
18972
19064
  "aria-labelledby": SYNC_REDACT_LABEL_ID,
18973
19065
  checked: isSyncRedactionEnabled(),
18974
19066
  className: "sync-redact-switch",
@@ -19141,7 +19233,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
19141
19233
  children: actor.is_local ? /* @__PURE__ */ u("div", {
19142
19234
  className: "peer-meta",
19143
19235
  children: "Rename yourself in config"
19144
- }) : /* @__PURE__ */ u(k$3, { children: [
19236
+ }) : /* @__PURE__ */ u(S$1, { children: [
19145
19237
  /* @__PURE__ */ u(TextInput, {
19146
19238
  "aria-label": `Rename ${label}`,
19147
19239
  className: "peer-scope-input actor-name-input",
@@ -19184,7 +19276,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
19184
19276
  onClick: () => setAdvancedOpen((open) => !open),
19185
19277
  children: advancedOpen ? "Hide duplicate cleanup" : "Show duplicate cleanup"
19186
19278
  }),
19187
- advancedOpen ? /* @__PURE__ */ u(k$3, { children: [
19279
+ advancedOpen ? /* @__PURE__ */ u(S$1, { children: [
19188
19280
  /* @__PURE__ */ u("div", {
19189
19281
  className: "peer-meta actor-merge-note",
19190
19282
  children: "Use this only when combining duplicate people into one."
@@ -19224,7 +19316,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
19224
19316
  detail: "Create a named person here, then assign devices below so team ownership stays readable.",
19225
19317
  title: "No people set up yet."
19226
19318
  });
19227
- return /* @__PURE__ */ u(k$3, { children: actors.map((actor) => {
19319
+ return /* @__PURE__ */ u(S$1, { children: actors.map((actor) => {
19228
19320
  const actorId = String(actor.actor_id || actor.display_name || actor.is_local || "");
19229
19321
  return /* @__PURE__ */ u(SyncActorRow, {
19230
19322
  actor,
@@ -19249,7 +19341,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
19249
19341
  return "Detected from older synced memories not yet attached to a current device.";
19250
19342
  }
19251
19343
  function LegacyClaimMeta({ devices }) {
19252
- return /* @__PURE__ */ u(k$3, { children: metaText(devices) });
19344
+ return /* @__PURE__ */ u(S$1, { children: metaText(devices) });
19253
19345
  }
19254
19346
  function option(device) {
19255
19347
  const deviceId = String(device.origin_device_id || "").trim();
@@ -19395,6 +19487,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
19395
19487
  const pendingScopeReview = rawPendingScopeReview && authorizedDomains.total === 0;
19396
19488
  const grantRoleMismatch = derivePeerGrantRoleMismatchView(peer);
19397
19489
  const scopeRejections = derivePeerScopeRejectionsView(peer);
19490
+ const scopeSync = derivePeerScopeSyncView(peer);
19398
19491
  const projectNarrowing = derivePeerProjectNarrowingView(peer.project_scope || {});
19399
19492
  const primaryAddress = pickPrimaryAddress(peer.addresses);
19400
19493
  const peerAddresses = Array.isArray(peer.addresses) ? Array.from(new Set(peer.addresses.filter(Boolean).map((value) => String(value)))) : [];
@@ -19731,6 +19824,28 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
19731
19824
  className: "peer-meta",
19732
19825
  children: projectNarrowing.note
19733
19826
  }),
19827
+ /* @__PURE__ */ u("div", {
19828
+ className: "peer-scope-summary",
19829
+ children: "Space sync progress"
19830
+ }),
19831
+ /* @__PURE__ */ u("div", {
19832
+ className: "peer-meta",
19833
+ children: scopeSync.total > 0 ? "Per-Space progress for this device. Open details to see technical identifiers." : scopeSync.emptyMessage
19834
+ }),
19835
+ scopeSync.rows.length > 0 ? /* @__PURE__ */ u("ul", {
19836
+ className: "peer-scope-rejections-list",
19837
+ "aria-label": "Per-Space sync progress",
19838
+ children: scopeSync.rows.map((row) => /* @__PURE__ */ u("li", {
19839
+ title: row.detail,
19840
+ children: [/* @__PURE__ */ u("span", {
19841
+ className: "peer-scope-rejection-label",
19842
+ children: row.label
19843
+ }), /* @__PURE__ */ u("span", {
19844
+ className: `badge ${row.status === "received" ? "badge-online" : "actor-badge"}`,
19845
+ children: row.badgeLabel
19846
+ })]
19847
+ }, row.scopeId))
19848
+ }) : null,
19734
19849
  scopeRejections.total > 0 ? /* @__PURE__ */ u("div", {
19735
19850
  className: "peer-scope-rejections",
19736
19851
  "data-peer-rejection-count": scopeRejections.total,
@@ -19832,11 +19947,11 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
19832
19947
  const sectionFeedback = state.syncPeersSectionFeedback;
19833
19948
  const syncStatus = state.lastSyncStatus;
19834
19949
  const syncDisabled = syncStatus?.daemon_state === "disabled" || syncStatus?.enabled === false;
19835
- if (!props.peers.length) return /* @__PURE__ */ u(k$3, { children: [/* @__PURE__ */ u(SyncInlineFeedback, { feedback: sectionFeedback }), /* @__PURE__ */ u(SyncEmptyState, {
19950
+ if (!props.peers.length) return /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u(SyncInlineFeedback, { feedback: sectionFeedback }), /* @__PURE__ */ u(SyncEmptyState, {
19836
19951
  detail: syncDisabled ? "Turn on sync in Settings → Device Sync first. Then use Invite a teammate or Paste an invite above to connect another device." : "Use Invite a teammate above to share a join code, or Paste an invite to enroll this device on an existing team.",
19837
19952
  title: "No teammates yet"
19838
19953
  })] });
19839
- return /* @__PURE__ */ u(k$3, { children: [/* @__PURE__ */ u(SyncInlineFeedback, { feedback: sectionFeedback }), props.peers.map((peer) => {
19954
+ return /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u(SyncInlineFeedback, { feedback: sectionFeedback }), props.peers.map((peer) => {
19840
19955
  const peerId = String(peer.peer_device_id || peer.name || "unknown-peer");
19841
19956
  return /* @__PURE__ */ u(SyncPeerCard, {
19842
19957
  peer,
@@ -20162,10 +20277,10 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
20162
20277
  if (readiness === "ready") {
20163
20278
  syncCreateInviteButton.disabled = false;
20164
20279
  hint.hidden = false;
20165
- hint.textContent = activeGroup ? `Remote coordinator admin is ready for ${activeGroup}. Advanced admin tools now live in Coordinator Admin.` : "Remote coordinator admin is ready. Advanced admin tools now live in Coordinator Admin.";
20280
+ hint.textContent = activeGroup ? `Teams is ready for ${activeGroup}. Advanced admin tools now live in Teams.` : "Teams is ready. Advanced admin tools now live in Teams.";
20166
20281
  return;
20167
20282
  }
20168
- const message = readiness === "partial" ? "Finish coordinator admin setup before creating remote invites. Use Coordinator Admin to check what is missing." : "Configure a coordinator URL, group, and admin secret before creating remote invites. Use Coordinator Admin to finish setup.";
20283
+ const message = readiness === "partial" ? "Finish Teams setup before creating remote invites. Use Teams to check what is missing." : "Configure a coordinator URL, Team, and admin secret before creating remote invites. Use Teams to finish setup.";
20169
20284
  syncCreateInviteButton.disabled = true;
20170
20285
  hint.hidden = false;
20171
20286
  hint.textContent = message;
@@ -20215,7 +20330,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
20215
20330
  function renderInvitePolicySelect() {
20216
20331
  const mount = document.getElementById("syncInvitePolicyMount");
20217
20332
  if (!mount) return;
20218
- renderIntoSyncMount(mount, _$3(RadixSelect, {
20333
+ renderIntoSyncMount(mount, k$3(RadixSelect, {
20219
20334
  ariaLabel: "Join policy",
20220
20335
  contentClassName: "sync-radix-select-content sync-actor-select-content",
20221
20336
  id: "syncInvitePolicy",
@@ -20381,7 +20496,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
20381
20496
  return /* @__PURE__ */ u("div", { ref: hostRef });
20382
20497
  }
20383
20498
  function InviteToggleRow({ invitePanel, invitePanelOpen, inviteRestoreParent, onToggle }) {
20384
- return /* @__PURE__ */ u(k$3, { children: [/* @__PURE__ */ u("div", {
20499
+ return /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u("div", {
20385
20500
  className: "sync-action",
20386
20501
  children: [/* @__PURE__ */ u("div", {
20387
20502
  className: "sync-action-text",
@@ -20419,7 +20534,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
20419
20534
  });
20420
20535
  }
20421
20536
  function JoinToggleRow({ joinPanel, joinPanelOpen, joinRestoreParent, onToggle }) {
20422
- return /* @__PURE__ */ u(k$3, { children: [/* @__PURE__ */ u("div", {
20537
+ return /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u("div", {
20423
20538
  className: "sync-action",
20424
20539
  children: [/* @__PURE__ */ u("div", {
20425
20540
  className: "sync-action-text",
@@ -20441,8 +20556,8 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
20441
20556
  }
20442
20557
  function SyncInviteJoinPanels({ invitePanel, invitePanelOpen, inviteRestoreParent, joinPanel, joinPanelOpen, joinRestoreParent, onToggleInvitePanel, onToggleJoinPanel, pairedPeerCount, presenceStatus }) {
20443
20558
  const notEnrolled = presenceStatus === "not_enrolled";
20444
- return /* @__PURE__ */ u(k$3, { children: [
20445
- notEnrolled ? /* @__PURE__ */ u(k$3, { children: [
20559
+ return /* @__PURE__ */ u(S$1, { children: [
20560
+ notEnrolled ? /* @__PURE__ */ u(S$1, { children: [
20446
20561
  /* @__PURE__ */ u("div", {
20447
20562
  className: "sync-action",
20448
20563
  children: /* @__PURE__ */ u("div", {
@@ -20473,7 +20588,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
20473
20588
  })]
20474
20589
  })
20475
20590
  })
20476
- ] }) : /* @__PURE__ */ u(k$3, { children: [/* @__PURE__ */ u(JoinToggleRow, {
20591
+ ] }) : /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u(JoinToggleRow, {
20477
20592
  joinPanel,
20478
20593
  joinPanelOpen,
20479
20594
  joinRestoreParent,
@@ -20663,7 +20778,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
20663
20778
  },
20664
20779
  children: reviewLabel
20665
20780
  }) : null,
20666
- (row.mode === "stale" || row.mode === "ambiguous" || row.mode === "scope-pending") && row.actionMessage ? /* @__PURE__ */ u("div", {
20781
+ (row.mode === "stale" || row.mode === "ambiguous" || row.mode === "scope-pending" || row.mode === "setup-blocked") && row.actionMessage ? /* @__PURE__ */ u("div", {
20667
20782
  className: "peer-meta",
20668
20783
  children: row.actionMessage
20669
20784
  }) : null,
@@ -20671,7 +20786,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
20671
20786
  className: "peer-meta",
20672
20787
  children: row.pairedMessage
20673
20788
  }) : null,
20674
- row.mode === "conflict" ? /* @__PURE__ */ u(k$3, { children: [/* @__PURE__ */ u("button", {
20789
+ row.mode === "conflict" ? /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u("button", {
20675
20790
  type: "button",
20676
20791
  className: "settings-button",
20677
20792
  "aria-label": `Open details for ${row.displayName}`,
@@ -20707,7 +20822,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
20707
20822
  const hasAttentionItems = props.actionItems.length > 0;
20708
20823
  const hasOtherActionableWork = props.actionableCount > props.actionItems.length;
20709
20824
  const showNextStepsLabel = hasAttentionItems || hasOtherActionableWork || props.presenceStatus !== "posted";
20710
- return /* @__PURE__ */ u(k$3, { children: [
20825
+ return /* @__PURE__ */ u(S$1, { children: [
20711
20826
  showNextStepsLabel ? /* @__PURE__ */ u(SectionHeading, { label: "Needs attention" }) : null,
20712
20827
  showNextStepsLabel ? /* @__PURE__ */ u(SectionNote, { children: "Start here when something needs review, re-pairing, or approval." }) : null,
20713
20828
  hasAttentionItems ? props.actionItems.map((item) => /* @__PURE__ */ u(AttentionRow, {
@@ -20742,7 +20857,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
20742
20857
  }
20743
20858
  function TeamActionsContent({ children }) {
20744
20859
  if (!children) return null;
20745
- return /* @__PURE__ */ u(k$3, { children: [
20860
+ return /* @__PURE__ */ u(S$1, { children: [
20746
20861
  /* @__PURE__ */ u(SectionHeading, { label: "Add devices & teammates" }),
20747
20862
  /* @__PURE__ */ u(SectionNote, { children: "Use these flows when you are enrolling, inviting, or pairing something new." }),
20748
20863
  children
@@ -20750,7 +20865,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
20750
20865
  }
20751
20866
  function DiscoveredPortal({ mount, rows, onInspectConflict, onRemoveConflict, onReview }) {
20752
20867
  if (!mount || !rows.length && !state.syncDiscoveredFeedback) return null;
20753
- return $$1(/* @__PURE__ */ u(k$3, { children: [
20868
+ return $$1(/* @__PURE__ */ u(S$1, { children: [
20754
20869
  /* @__PURE__ */ u(SectionHeading, {
20755
20870
  count: rows.length || void 0,
20756
20871
  label: "Devices waiting for review"
@@ -20767,7 +20882,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
20767
20882
  }
20768
20883
  function PendingRequestsPortal({ mount, requests, onApprove, onDeny }) {
20769
20884
  if (!mount || !requests.length && !state.syncJoinRequestsFeedback) return null;
20770
- return $$1(/* @__PURE__ */ u(k$3, { children: [
20885
+ return $$1(/* @__PURE__ */ u(S$1, { children: [
20771
20886
  /* @__PURE__ */ u(SectionHeading, {
20772
20887
  count: requests.length || void 0,
20773
20888
  label: "Join requests to review"
@@ -20782,7 +20897,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
20782
20897
  ] }), mount);
20783
20898
  }
20784
20899
  function TeamSyncPanel(props) {
20785
- return /* @__PURE__ */ u(k$3, { children: [
20900
+ return /* @__PURE__ */ u(S$1, { children: [
20786
20901
  /* @__PURE__ */ u(ActionContent, { ...props }),
20787
20902
  /* @__PURE__ */ u(TeamActionsContent, { children: props.children }),
20788
20903
  /* @__PURE__ */ u(PendingRequestsPortal, {
@@ -20979,7 +21094,8 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
20979
21094
  });
20980
21095
  };
20981
21096
  const configured = Boolean(coordinator?.configured);
20982
- meta.textContent = configured ? `Team: ${(coordinator.groups || []).join(", ") || "none"}` : "Start by joining an existing team or creating one, then connect people and devices.";
21097
+ const setupBlocker = deriveCoordinatorSetupBlocker(coordinator);
21098
+ meta.textContent = configured ? `Team: ${(coordinator.groups || []).join(", ") || "none"}` : setupBlocker?.message || "Start by joining an existing team or creating one, then connect people and devices.";
20983
21099
  meta.title = configured ? String(coordinator.coordinator_url || "").trim() : "";
20984
21100
  const onlineBadge = document.getElementById("syncOnlineBadge");
20985
21101
  if (onlineBadge) updateSyncOnlineBadge(onlineBadge, configured, String(coordinator?.presence_status || ""));
@@ -21012,7 +21128,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
21012
21128
  });
21013
21129
  const pairedFingerprint = String(pairedPeer?.fingerprint || "").trim();
21014
21130
  const hasConflict = Boolean(pairedPeer) && Boolean(fingerprint) && Boolean(pairedFingerprint) && pairedFingerprint !== fingerprint;
21015
- const canAccept = shouldShowCoordinatorReviewAction({
21131
+ const canAccept = !setupBlocker && shouldShowCoordinatorReviewAction({
21016
21132
  device,
21017
21133
  hasAmbiguousCoordinatorGroup,
21018
21134
  pairedLocally: Boolean(pairedPeer)
@@ -21026,7 +21142,10 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
21026
21142
  let mode = canAccept ? "accept" : "none";
21027
21143
  let pairedMessage = null;
21028
21144
  if (hasConflict) mode = "conflict";
21029
- else if (hasAmbiguousCoordinatorGroup) {
21145
+ else if (setupBlocker && (!pairedPeer || approvalSummary.state === "needs-your-approval")) {
21146
+ actionMessage = setupBlocker.message;
21147
+ mode = "setup-blocked";
21148
+ } else if (hasAmbiguousCoordinatorGroup) {
21030
21149
  actionMessage = "This device appears in multiple coordinator groups. Review team setup first or ask an admin to clean up the duplicate enrollment before approving it here.";
21031
21150
  mode = "ambiguous";
21032
21151
  } else if (pairedPeer && isPeerScopeReviewPending(deviceId)) {
@@ -21071,10 +21190,10 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
21071
21190
  const actionMount = document.createElement("div");
21072
21191
  actionMount.id = TEAM_SYNC_ACTIONS_MOUNT_ID;
21073
21192
  actions.appendChild(actionMount);
21074
- renderIntoSyncMount(actionMount, _$3(TeamSyncPanel, {
21193
+ renderIntoSyncMount(actionMount, k$3(TeamSyncPanel, {
21075
21194
  actionItems: attentionItems,
21076
21195
  actionableCount,
21077
- children: _$3(SyncInviteJoinPanels, {
21196
+ children: k$3(SyncInviteJoinPanels, {
21078
21197
  invitePanel,
21079
21198
  invitePanelOpen: teamInvitePanelOpen,
21080
21199
  inviteRestoreParent,
@@ -21700,7 +21819,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
21700
21819
  });
21701
21820
  }
21702
21821
  function SyncSharingReview({ items, legacyReview, onLegacyReassign, onLegacyReview, onReview }) {
21703
- return /* @__PURE__ */ u(k$3, { children: [legacyReview ? /* @__PURE__ */ u(LegacySharedReviewRow, {
21822
+ return /* @__PURE__ */ u(S$1, { children: [legacyReview ? /* @__PURE__ */ u(LegacySharedReviewRow, {
21704
21823
  item: legacyReview,
21705
21824
  onReassign: onLegacyReassign,
21706
21825
  onReview: onLegacyReview ?? onReview
@@ -21799,7 +21918,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
21799
21918
  if (title) title.textContent = legacyReview ? "Sharing review" : "What teammates will receive";
21800
21919
  const scopeLabel = state.currentProject ? `current project (${state.currentProject})` : "all allowed projects";
21801
21920
  meta.textContent = legacyReview ? `Review conservative upgrade state before promoting historical shared data. Teammates receive memories from ${scopeLabel} by default once Sharing-domain grants allow it.` : `Teammates receive memories from ${scopeLabel} by default. Use Only me on a memory when it should stay local.`;
21802
- renderIntoSyncMount(list, _$3(SyncSharingReview, {
21921
+ renderIntoSyncMount(list, k$3(SyncSharingReview, {
21803
21922
  items: items.map((item) => ({
21804
21923
  actorDisplayName: String(item.actor_display_name || item.actor_id || "unknown"),
21805
21924
  actorId: String(item.actor_id || "unknown"),
@@ -21996,7 +22115,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
21996
22115
  try {
21997
22116
  const runtime = await loadRuntimeInfo();
21998
22117
  if (!runtime?.version) return;
21999
- setRuntimeLabel(runtime.version, "f92f1a6");
22118
+ setRuntimeLabel(runtime.version, "ca0006d");
22000
22119
  } catch {}
22001
22120
  }
22002
22121
  var lastAnnouncedRefreshState = null;