@omg-dev/app 0.1.393 → 0.1.394

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.
@@ -12,7 +12,7 @@ import { useSearch as Pp, useNavigate as Op, useRouterState as Rp, createRootRou
12
12
  import jp, { createPortal as pr } from "react-dom";
13
13
  import { Button as Up } from "@base-ui/react/button";
14
14
  import { cva as ou } from "class-variance-authority";
15
- import { cn as P } from "cnfast";
15
+ import { cn as z } from "cnfast";
16
16
  import { Input as Bp } from "@base-ui/react/input";
17
17
  import { Dialog as ur } from "@base-ui/react/dialog";
18
18
  import { Switch as Nc } from "@base-ui/react/switch";
@@ -2378,7 +2378,7 @@ function Me({
2378
2378
  Up,
2379
2379
  {
2380
2380
  "data-slot": "button",
2381
- className: P(Ab({ variant: t, size: r, className: e })),
2381
+ className: z(Ab({ variant: t, size: r, className: e })),
2382
2382
  onClick: (a) => {
2383
2383
  !o && !i.disabled && t !== "link" && pn.tap(), s == null || s(a);
2384
2384
  },
@@ -2531,7 +2531,7 @@ component stack:${t}` : null
2531
2531
  return d ? /* @__PURE__ */ n(
2532
2532
  "div",
2533
2533
  {
2534
- className: P(
2534
+ className: z(
2535
2535
  "flex flex-col items-center justify-center bg-background p-6 text-foreground",
2536
2536
  s === "screen" ? "h-full min-h-dvh" : "rounded-xl border border-border/60 py-12",
2537
2537
  i
@@ -2559,7 +2559,7 @@ component stack:${t}` : null
2559
2559
  ) : /* @__PURE__ */ n(
2560
2560
  "div",
2561
2561
  {
2562
- className: P(
2562
+ className: z(
2563
2563
  "flex flex-col items-center justify-center gap-4 bg-background p-6 text-foreground",
2564
2564
  s === "screen" ? "h-full min-h-dvh" : "rounded-xl border border-border/60",
2565
2565
  i
@@ -2723,7 +2723,7 @@ function Lr({
2723
2723
  const w = d.current, M = u.current, _ = m.current, S = f.current;
2724
2724
  if (!w || !M || !_ || !S) return;
2725
2725
  const k = tx(), D = o % 10 * 0.7;
2726
- let B = (qo[p.current] ?? us).slice(), W = B.slice(), ne = B.slice(), V = 0, z = 0, re = null, ie = null;
2726
+ let B = (qo[p.current] ?? us).slice(), W = B.slice(), ne = B.slice(), V = 0, P = 0, re = null, ie = null;
2727
2727
  const fe = { ...Ho[h.current].pupil };
2728
2728
  if (k) {
2729
2729
  const U = Ho[h.current], R = (qo[p.current] ?? us).map(
@@ -2741,11 +2741,11 @@ function Lr({
2741
2741
  q();
2742
2742
  const ae = ex((U, R) => {
2743
2743
  const I = Ho[h.current], T = (qo[p.current] ?? us).map((Q, se) => Q * (I.radii[se] / Ln));
2744
- re !== h.current || ie !== p.current ? (B = ne.slice(), W = T, V = R, z = I.dur, re = h.current, ie = p.current, _.style.transform = `rotate(${I.tilt}deg)`, S.style.transform = I.closed ? Fc : la) : z === 0 && (W = T);
2744
+ re !== h.current || ie !== p.current ? (B = ne.slice(), W = T, V = R, P = I.dur, re = h.current, ie = p.current, _.style.transform = `rotate(${I.tilt}deg)`, S.style.transform = I.closed ? Fc : la) : P === 0 && (W = T);
2745
2745
  let E;
2746
- if (z > 0) {
2747
- const Q = Math.min(1, (R - V) / z), se = qb(Q);
2748
- E = B.map((xe, he) => xe + (W[he] - xe) * se), Q >= 1 && (z = 0);
2746
+ if (P > 0) {
2747
+ const Q = Math.min(1, (R - V) / P), se = qb(Q);
2748
+ E = B.map((xe, he) => xe + (W[he] - xe) * se), Q >= 1 && (P = 0);
2749
2749
  } else
2750
2750
  E = W.slice();
2751
2751
  E = E.map(
@@ -2761,7 +2761,7 @@ function Lr({
2761
2761
  viewBox: "-8 -8 216 216",
2762
2762
  width: r,
2763
2763
  height: r,
2764
- className: P("shrink-0", !x && "bot-breathe", i),
2764
+ className: z("shrink-0", !x && "bot-breathe", i),
2765
2765
  role: a ? "img" : void 0,
2766
2766
  "aria-label": a,
2767
2767
  "aria-hidden": a ? void 0 : !0,
@@ -2858,7 +2858,7 @@ function lx({
2858
2858
  "span",
2859
2859
  {
2860
2860
  "aria-hidden": !0,
2861
- className: P(
2861
+ className: z(
2862
2862
  "pointer-events-none absolute -bottom-0.5 -right-0.5 flex items-center justify-center rounded-full bg-foreground font-bold leading-none text-background ring-1 ring-background",
2863
2863
  t === "sm" ? "size-3 text-[7px]" : "size-3.5 text-[8px]",
2864
2864
  r
@@ -2882,7 +2882,7 @@ function pl({
2882
2882
  className: t
2883
2883
  }
2884
2884
  );
2885
- return o == null && !s ? a : /* @__PURE__ */ c("span", { className: P("relative inline-flex shrink-0", s), children: [
2885
+ return o == null && !s ? a : /* @__PURE__ */ c("span", { className: z("relative inline-flex shrink-0", s), children: [
2886
2886
  a,
2887
2887
  /* @__PURE__ */ n(lx, { number: o, size: r })
2888
2888
  ] });
@@ -3147,11 +3147,11 @@ function vx({
3147
3147
  D && a((B) => {
3148
3148
  const W = ca(_, zn, Vo);
3149
3149
  if (W === zn) return Nr;
3150
- const ne = D.getBoundingClientRect(), V = S - ne.left, z = k - ne.top, re = W / B.scale;
3150
+ const ne = D.getBoundingClientRect(), V = S - ne.left, P = k - ne.top, re = W / B.scale;
3151
3151
  return {
3152
3152
  scale: W,
3153
3153
  ox: B.ox + V * (1 - re),
3154
- oy: B.oy + z * (1 - re)
3154
+ oy: B.oy + P * (1 - re)
3155
3155
  };
3156
3156
  });
3157
3157
  }, []), p = oe(
@@ -3163,8 +3163,8 @@ function vx({
3163
3163
  if (!D) return k;
3164
3164
  const B = ca(k.scale * S, zn, Vo);
3165
3165
  if (B === zn) return Nr;
3166
- const W = D.getBoundingClientRect(), ne = _.clientX - W.left, V = _.clientY - W.top, z = B / k.scale;
3167
- return { scale: B, ox: k.ox + ne * (1 - z), oy: k.oy + V * (1 - z) };
3166
+ const W = D.getBoundingClientRect(), ne = _.clientX - W.left, V = _.clientY - W.top, P = B / k.scale;
3167
+ return { scale: B, ox: k.ox + ne * (1 - P), oy: k.oy + V * (1 - P) };
3168
3168
  });
3169
3169
  },
3170
3170
  []
@@ -3184,9 +3184,9 @@ function vx({
3184
3184
  if (!k) return;
3185
3185
  const D = { x: _.clientX, y: _.clientY };
3186
3186
  if (S.set(_.pointerId, D), S.size >= 2 && d.current) {
3187
- const [B, W] = [...S.values()], ne = Math.hypot(B.x - W.x, B.y - W.y), V = (B.x + W.x) / 2, z = (B.y + W.y) / 2, re = o.current;
3187
+ const [B, W] = [...S.values()], ne = Math.hypot(B.x - W.x, B.y - W.y), V = (B.x + W.x) / 2, P = (B.y + W.y) / 2, re = o.current;
3188
3188
  if (re && d.current.dist > 0) {
3189
- const ie = re.getBoundingClientRect(), fe = ne / d.current.dist, K = V - d.current.mx, q = z - d.current.my, ae = V - ie.left, U = z - ie.top;
3189
+ const ie = re.getBoundingClientRect(), fe = ne / d.current.dist, K = V - d.current.mx, q = P - d.current.my, ae = V - ie.left, U = P - ie.top;
3190
3190
  a((R) => {
3191
3191
  const I = ca(R.scale * fe, zn, Vo);
3192
3192
  if (I === zn) return Nr;
@@ -3198,7 +3198,7 @@ function vx({
3198
3198
  };
3199
3199
  }), u.current = !0;
3200
3200
  }
3201
- d.current = { dist: ne, mx: V, my: z };
3201
+ d.current = { dist: ne, mx: V, my: P };
3202
3202
  return;
3203
3203
  }
3204
3204
  if (S.size === 1) {
@@ -3266,7 +3266,7 @@ function vx({
3266
3266
  onPointerUp: y,
3267
3267
  onPointerCancel: y,
3268
3268
  onDoubleClick: w,
3269
- className: P(
3269
+ className: z(
3270
3270
  "max-h-[92vh] max-w-[92vw] touch-none select-none object-contain",
3271
3271
  M ? "cursor-grab active:cursor-grabbing" : "cursor-zoom-out"
3272
3272
  ),
@@ -3299,7 +3299,7 @@ function Wo({
3299
3299
  title: e,
3300
3300
  onClick: t,
3301
3301
  disabled: r,
3302
- className: P(
3302
+ className: z(
3303
3303
  "flex size-9 items-center justify-center rounded-full bg-white/10 text-white backdrop-blur-sm transition-colors",
3304
3304
  "hover:bg-white/20 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/50",
3305
3305
  "disabled:pointer-events-none disabled:opacity-40"
@@ -3336,7 +3336,7 @@ function gl({ className: e }) {
3336
3336
  "div",
3337
3337
  {
3338
3338
  role: "status",
3339
- className: P(
3339
+ className: z(
3340
3340
  "flex min-h-28 min-w-40 items-center justify-center bg-muted/35 px-4 text-center text-xs text-muted-foreground",
3341
3341
  e
3342
3342
  ),
@@ -3358,7 +3358,7 @@ function bl({
3358
3358
  aspectRatio: `${t} / ${r}`,
3359
3359
  width: `min(${t}px, calc(24rem * ${t / r}))`
3360
3360
  } : void 0,
3361
- className: P(
3361
+ className: z(
3362
3362
  "animate-pulse bg-muted/35",
3363
3363
  !s && "min-h-28 min-w-40",
3364
3364
  e
@@ -3386,7 +3386,7 @@ function wx({
3386
3386
  loading: "lazy",
3387
3387
  decoding: "async",
3388
3388
  onClick: () => l(!0),
3389
- className: P("cursor-zoom-in", i)
3389
+ className: z("cursor-zoom-in", i)
3390
3390
  }
3391
3391
  ),
3392
3392
  /* @__PURE__ */ n(
@@ -3467,7 +3467,7 @@ function Xu({
3467
3467
  type: "button",
3468
3468
  onClick: () => a(!0),
3469
3469
  "aria-label": t ? `Play ${t}` : "Play video",
3470
- className: P(
3470
+ className: z(
3471
3471
  "group relative flex items-center justify-center bg-black/90",
3472
3472
  o
3473
3473
  ),
@@ -3700,7 +3700,7 @@ function Dx({
3700
3700
  "div",
3701
3701
  {
3702
3702
  role: "status",
3703
- className: P(
3703
+ className: z(
3704
3704
  "flex min-h-28 items-center justify-center bg-muted/35 px-4 text-center text-xs text-muted-foreground",
3705
3705
  t
3706
3706
  ),
@@ -3721,14 +3721,14 @@ function yl({
3721
3721
  return m.current = a, F(() => {
3722
3722
  var f;
3723
3723
  l.status === "ready" && ((f = m.current) == null || f.call(m, u));
3724
- }, [l.status, u]), l.status === "error" ? /* @__PURE__ */ n(Dx, { className: s, children: "Artifact couldn’t load." }) : l.status === "loading" ? /* @__PURE__ */ n("div", { "aria-hidden": !0, className: P("min-h-28 animate-pulse bg-muted/35", s) }) : u && r ? /* @__PURE__ */ n(
3724
+ }, [l.status, u]), l.status === "error" ? /* @__PURE__ */ n(Dx, { className: s, children: "Artifact couldn’t load." }) : l.status === "loading" ? /* @__PURE__ */ n("div", { "aria-hidden": !0, className: z("min-h-28 animate-pulse bg-muted/35", s) }) : u && r ? /* @__PURE__ */ n(
3725
3725
  "iframe",
3726
3726
  {
3727
3727
  srcDoc: xx(l.value.source, d),
3728
3728
  sandbox: "allow-scripts",
3729
3729
  title: i,
3730
3730
  style: o,
3731
- className: P("border-0 bg-card", s)
3731
+ className: z("border-0 bg-card", s)
3732
3732
  }
3733
3733
  ) : /* @__PURE__ */ n(
3734
3734
  Lx,
@@ -3761,7 +3761,7 @@ function $S({
3761
3761
  { rootMargin: "300px" }
3762
3762
  );
3763
3763
  return u.observe(d), () => u.disconnect();
3764
- }, [s]), /* @__PURE__ */ c("div", { ref: l, className: P("relative overflow-hidden bg-card", r), children: [
3764
+ }, [s]), /* @__PURE__ */ c("div", { ref: l, className: z("relative overflow-hidden bg-card", r), children: [
3765
3765
  s ? /* @__PURE__ */ n(
3766
3766
  yl,
3767
3767
  {
@@ -3808,7 +3808,7 @@ function jx({
3808
3808
  () => u ? { height: r } : i ? void 0 : { maxHeight: r },
3809
3809
  [u, i, r]
3810
3810
  );
3811
- return /* @__PURE__ */ c("div", { className: P("relative w-full", o), children: [
3811
+ return /* @__PURE__ */ c("div", { className: z("relative w-full", o), children: [
3812
3812
  /* @__PURE__ */ c(
3813
3813
  "div",
3814
3814
  {
@@ -3823,7 +3823,7 @@ function jx({
3823
3823
  cacheKey: t,
3824
3824
  title: s,
3825
3825
  onNeedsFrame: m,
3826
- className: P("block w-full", u && "h-full")
3826
+ className: z("block w-full", u && "h-full")
3827
3827
  }
3828
3828
  ),
3829
3829
  !u && !i && l ? /* @__PURE__ */ n("div", { className: "pointer-events-none absolute inset-x-0 bottom-0 h-16 bg-gradient-to-t from-white to-transparent" }) : null
@@ -4259,7 +4259,7 @@ function dy(e, t, r = {}) {
4259
4259
  Z.sessionId && ge && ($[Z.sessionId] = ge);
4260
4260
  }
4261
4261
  return $;
4262
- }, [e]), [u, m] = v({}), [f, h] = v({}), [p, b] = v({}), [x, y] = v({}), [w, M] = v({}), _ = j(null), S = j(!1), k = j(/* @__PURE__ */ new Set()), D = j(/* @__PURE__ */ new Set()), B = j(/* @__PURE__ */ new Map()), W = j(/* @__PURE__ */ new Set()), ne = j(/* @__PURE__ */ new Set()), V = j({}), z = j({}), re = j({}), ie = j({}), fe = j({}), K = j(u), q = j(w), ae = j({}), U = j(/* @__PURE__ */ new Set()), R = j(/* @__PURE__ */ new Set()), I = j(0), C = j(0), T = j(!1), E = j(Ko), Q = j(null), se = j(!1), xe = j(0), he = j(null), J = j(null), de = j(() => {
4262
+ }, [e]), [u, m] = v({}), [f, h] = v({}), [p, b] = v({}), [x, y] = v({}), [w, M] = v({}), _ = j(null), S = j(!1), k = j(/* @__PURE__ */ new Set()), D = j(/* @__PURE__ */ new Set()), B = j(/* @__PURE__ */ new Map()), W = j(/* @__PURE__ */ new Set()), ne = j(/* @__PURE__ */ new Set()), V = j({}), P = j({}), re = j({}), ie = j({}), fe = j({}), K = j(u), q = j(w), ae = j({}), U = j(/* @__PURE__ */ new Set()), R = j(/* @__PURE__ */ new Set()), I = j(0), C = j(0), T = j(!1), E = j(Ko), Q = j(null), se = j(!1), xe = j(0), he = j(null), J = j(null), de = j(() => {
4263
4263
  }), [ve, Ne] = v(cy), He = oe(($, Z) => {
4264
4264
  const ge = re.current[$];
4265
4265
  if (ge != null && ge.size)
@@ -4314,7 +4314,7 @@ function dy(e, t, r = {}) {
4314
4314
  }
4315
4315
  if ($.t === "error") {
4316
4316
  const pe = $.message || $.code || "live socket error";
4317
- $.kind === "transcript" && He($.key, { type: "error", error: pe }), $.kind === "agent_run" && ((Oe = (ge = z.current[$.key]) == null ? void 0 : ge.onError) == null || Oe.call(ge, pe));
4317
+ $.kind === "transcript" && He($.key, { type: "error", error: pe }), $.kind === "agent_run" && ((Oe = (ge = P.current[$.key]) == null ? void 0 : ge.onError) == null || Oe.call(ge, pe));
4318
4318
  return;
4319
4319
  }
4320
4320
  if ($.t === "gap" || $.t === "resumed") return;
@@ -4329,7 +4329,7 @@ function dy(e, t, r = {}) {
4329
4329
  return;
4330
4330
  }
4331
4331
  if ($.kind === "agent_run" && $.run) {
4332
- (De = (Ve = z.current[$.key]) == null ? void 0 : Ve.onSnapshot) == null || De.call(Ve, $.run);
4332
+ (De = (Ve = P.current[$.key]) == null ? void 0 : Ve.onSnapshot) == null || De.call(Ve, $.run);
4333
4333
  return;
4334
4334
  }
4335
4335
  }
@@ -4341,7 +4341,7 @@ function dy(e, t, r = {}) {
4341
4341
  return;
4342
4342
  }
4343
4343
  if ($.kind === "agent_run" && pe.event) {
4344
- (Ke = (Qe = z.current[$.key]) == null ? void 0 : Qe.onEvent) == null || Ke.call(Qe, pe.event);
4344
+ (Ke = (Qe = P.current[$.key]) == null ? void 0 : Qe.onEvent) == null || Ke.call(Qe, pe.event);
4345
4345
  return;
4346
4346
  }
4347
4347
  }
@@ -4692,8 +4692,8 @@ function dy(e, t, r = {}) {
4692
4692
  }), (ge.nextBefore ?? null) !== null;
4693
4693
  }, []), nt = oe(($, Z) => {
4694
4694
  const ge = { kind: "agent_run", key: $ }, Oe = mn(ge);
4695
- return z.current[$] = Z, B.current.set(Oe, ge), s && ye([ge]) && W.current.add(Oe), () => {
4696
- delete z.current[$], B.current.delete(Oe), s && _e([ge]) && W.current.delete(Oe);
4695
+ return P.current[$] = Z, B.current.set(Oe, ge), s && ye([ge]) && W.current.add(Oe), () => {
4696
+ delete P.current[$], B.current.delete(Oe), s && _e([ge]) && W.current.delete(Oe);
4697
4697
  };
4698
4698
  }, [s, ye, _e]), O = oe(($, Z) => {
4699
4699
  (re.current[$] || (re.current[$] = /* @__PURE__ */ new Set())).add(Z);
@@ -5721,7 +5721,7 @@ function bv(e) {
5721
5721
  }
5722
5722
  const xv = (e) => {
5723
5723
  var t, r, s, o, i, a, l, d, u;
5724
- const { invert: m, toast: f, unstyled: h, interacting: p, setHeights: b, visibleToasts: x, heights: y, index: w, toasts: M, expanded: _, removeToast: S, defaultRichColors: k, closeButton: D, style: B, cancelButtonStyle: W, actionButtonStyle: ne, className: V = "", descriptionClassName: z = "", duration: re, position: ie, gap: fe, expandByDefault: K, classNames: q, icons: ae, closeButtonAriaLabel: U = "Close toast" } = e, [R, I] = Ee.useState(null), [C, T] = Ee.useState(null), [E, Q] = Ee.useState(!1), [se, xe] = Ee.useState(!1), [he, J] = Ee.useState(!1), [de, ve] = Ee.useState(!1), [Ne, He] = Ee.useState(!1), [Be, be] = Ee.useState(0), [ye, _e] = Ee.useState(0), Je = Ee.useRef(f.duration || re || td), Ge = Ee.useRef(null), Ae = Ee.useRef(null), me = w === 0, ee = w + 1 <= x, X = f.type, Ce = f.dismissible !== !1, Re = f.className || "", nt = f.descriptionClassName || "", O = Ee.useMemo(() => y.findIndex((le) => le.toastId === f.id) || 0, [
5724
+ const { invert: m, toast: f, unstyled: h, interacting: p, setHeights: b, visibleToasts: x, heights: y, index: w, toasts: M, expanded: _, removeToast: S, defaultRichColors: k, closeButton: D, style: B, cancelButtonStyle: W, actionButtonStyle: ne, className: V = "", descriptionClassName: P = "", duration: re, position: ie, gap: fe, expandByDefault: K, classNames: q, icons: ae, closeButtonAriaLabel: U = "Close toast" } = e, [R, I] = Ee.useState(null), [C, T] = Ee.useState(null), [E, Q] = Ee.useState(!1), [se, xe] = Ee.useState(!1), [he, J] = Ee.useState(!1), [de, ve] = Ee.useState(!1), [Ne, He] = Ee.useState(!1), [Be, be] = Ee.useState(0), [ye, _e] = Ee.useState(0), Je = Ee.useRef(f.duration || re || td), Ge = Ee.useRef(null), Ae = Ee.useRef(null), me = w === 0, ee = w + 1 <= x, X = f.type, Ce = f.dismissible !== !1, Re = f.className || "", nt = f.descriptionClassName || "", O = Ee.useMemo(() => y.findIndex((le) => le.toastId === f.id) || 0, [
5725
5725
  y,
5726
5726
  f.id
5727
5727
  ]), ce = Ee.useMemo(() => {
@@ -5946,7 +5946,7 @@ const xv = (e) => {
5946
5946
  className: Pn(q == null ? void 0 : q.title, f == null || (a = f.classNames) == null ? void 0 : a.title)
5947
5947
  }, f.jsx ? f.jsx : typeof f.title == "function" ? f.title() : f.title), f.description ? /* @__PURE__ */ Ee.createElement("div", {
5948
5948
  "data-description": "",
5949
- className: Pn(z, nt, q == null ? void 0 : q.description, f == null || (l = f.classNames) == null ? void 0 : l.description)
5949
+ className: Pn(P, nt, q == null ? void 0 : q.description, f == null || (l = f.classNames) == null ? void 0 : l.description)
5950
5950
  }, typeof f.description == "function" ? f.description() : f.description) : null), /* @__PURE__ */ Ee.isValidElement(f.cancel) ? f.cancel : f.cancel && Xo(f.cancel) ? /* @__PURE__ */ Ee.createElement("button", {
5951
5951
  "data-button": !0,
5952
5952
  "data-cancel": !0,
@@ -6009,7 +6009,7 @@ const vv = /* @__PURE__ */ Ee.forwardRef(function(t, r) {
6009
6009
  ].concat(W.filter((E) => E.position).map((E) => E.position)))), [
6010
6010
  W,
6011
6011
  i
6012
- ]), [V, z] = Ee.useState([]), [re, ie] = Ee.useState(!1), [fe, K] = Ee.useState(!1), [q, ae] = Ee.useState(h !== "system" ? h : typeof window < "u" && window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"), U = Ee.useRef(null), R = a.join("+").replace(/Key/g, "").replace(/Digit/g, ""), I = Ee.useRef(null), C = Ee.useRef(!1), T = Ee.useCallback((E) => {
6012
+ ]), [V, P] = Ee.useState([]), [re, ie] = Ee.useState(!1), [fe, K] = Ee.useState(!1), [q, ae] = Ee.useState(h !== "system" ? h : typeof window < "u" && window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"), U = Ee.useRef(null), R = a.join("+").replace(/Key/g, "").replace(/Digit/g, ""), I = Ee.useRef(null), C = Ee.useRef(!1), T = Ee.useCallback((E) => {
6013
6013
  B((Q) => {
6014
6014
  var se;
6015
6015
  return (se = Q.find((xe) => xe.id === E.id)) != null && se.delete || Zt.dismiss(E.id), Q.filter(({ id: xe }) => xe !== E.id);
@@ -6164,7 +6164,7 @@ const vv = /* @__PURE__ */ Ee.forwardRef(function(t, r) {
6164
6164
  removeToast: T,
6165
6165
  toasts: W.filter((He) => He.position == J.position),
6166
6166
  heights: V.filter((He) => He.position == J.position),
6167
- setHeights: z,
6167
+ setHeights: P,
6168
6168
  expandByDefault: l,
6169
6169
  gap: _,
6170
6170
  expanded: re,
@@ -6463,7 +6463,7 @@ function Wv({ className: e, type: t, ...r }) {
6463
6463
  {
6464
6464
  type: t,
6465
6465
  "data-slot": "input",
6466
- className: P(
6466
+ className: z(
6467
6467
  "lfg-gfield h-9 w-full min-w-0 rounded-4xl px-3 py-1 text-base transition-colors outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 md:text-sm dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
6468
6468
  e
6469
6469
  ),
@@ -6485,7 +6485,7 @@ function Kv({
6485
6485
  ur.Backdrop,
6486
6486
  {
6487
6487
  "data-slot": "dialog-overlay",
6488
- className: P(
6488
+ className: z(
6489
6489
  // z-[160] sits above every app-level sheet and drawer (the full-screen
6490
6490
  // session sheet is z-[90] and the tallest drawers are z-[150]). A
6491
6491
  // Dialog opened from one of those surfaces must remain visible and
@@ -6545,12 +6545,12 @@ function Wr({
6545
6545
  ), p = (f ? Array.from(f.querySelectorAll("button:not(:disabled)")) : []).at(-1);
6546
6546
  p && (u.preventDefault(), p.click());
6547
6547
  },
6548
- className: P(
6548
+ className: z(
6549
6549
  "pointer-events-auto fixed top-1/2 left-1/2 z-[160] w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 overflow-hidden rounded-4xl bg-background text-sm ring-1 ring-foreground/5 data-open:duration-[var(--duration-fast)] data-closed:duration-[var(--duration-quick)] ease-ios outline-none sm:max-w-md data-open:animate-in data-open:fade-in-0 data-open:zoom-in-[0.96] data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-[0.96]",
6550
6550
  e
6551
6551
  ),
6552
6552
  ...a,
6553
- children: /* @__PURE__ */ c("div", { ref: d, className: P("grid gap-6 p-6", s), children: [
6553
+ children: /* @__PURE__ */ c("div", { ref: d, className: z("grid gap-6 p-6", s), children: [
6554
6554
  t,
6555
6555
  r && /* @__PURE__ */ c(
6556
6556
  ur.Close,
@@ -6583,7 +6583,7 @@ function Mo({ className: e, ...t }) {
6583
6583
  "div",
6584
6584
  {
6585
6585
  "data-slot": "dialog-header",
6586
- className: P("flex flex-col gap-2", e),
6586
+ className: z("flex flex-col gap-2", e),
6587
6587
  ...t
6588
6588
  }
6589
6589
  );
@@ -6598,7 +6598,7 @@ function Nl({
6598
6598
  "div",
6599
6599
  {
6600
6600
  "data-slot": "dialog-footer",
6601
- className: P(
6601
+ className: z(
6602
6602
  "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
6603
6603
  e
6604
6604
  ),
@@ -6615,7 +6615,7 @@ function Gr({ className: e, ...t }) {
6615
6615
  ur.Title,
6616
6616
  {
6617
6617
  "data-slot": "dialog-title",
6618
- className: P(
6618
+ className: z(
6619
6619
  "font-heading text-base leading-none font-medium",
6620
6620
  e
6621
6621
  ),
@@ -6631,7 +6631,7 @@ function Ai({
6631
6631
  ur.Description,
6632
6632
  {
6633
6633
  "data-slot": "dialog-description",
6634
- className: P(
6634
+ className: z(
6635
6635
  "text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",
6636
6636
  e
6637
6637
  ),
@@ -6894,7 +6894,7 @@ function Ml({
6894
6894
  {
6895
6895
  "data-slot": "shimmer-text",
6896
6896
  "data-text": e,
6897
- className: P("lfg-shimmer-text", t),
6897
+ className: z("lfg-shimmer-text", t),
6898
6898
  ...r,
6899
6899
  children: e
6900
6900
  }
@@ -6960,7 +6960,7 @@ function $r({
6960
6960
  onCheckedChange: (s, o) => {
6961
6961
  pn.toggle(s), t == null || t(s, o);
6962
6962
  },
6963
- className: P(
6963
+ className: z(
6964
6964
  "relative inline-flex h-[31px] w-[51px] shrink-0 items-center rounded-full p-0.5",
6965
6965
  "bg-foreground/[0.12] transition-colors duration-200 ease-apple",
6966
6966
  "data-[checked]:bg-success",
@@ -6972,7 +6972,7 @@ function $r({
6972
6972
  children: /* @__PURE__ */ n(
6973
6973
  Nc.Thumb,
6974
6974
  {
6975
- className: P(
6975
+ className: z(
6976
6976
  "pointer-events-none size-[27px] rounded-full bg-white",
6977
6977
  "shadow-[0_1px_1px_rgba(0,0,0,0.08),0_3px_8px_rgba(0,0,0,0.18)]",
6978
6978
  "transition-transform duration-200 ease-apple",
@@ -6997,7 +6997,7 @@ function lw({
6997
6997
  Br.Backdrop,
6998
6998
  {
6999
6999
  "data-slot": "alert-dialog-overlay",
7000
- className: P(
7000
+ className: z(
7001
7001
  // z-[160] sits above every app-level sheet and drawer (the full-screen
7002
7002
  // session sheet is z-[90] and the tallest drawers are z-[150]). A
7003
7003
  // destructive confirmation opened from one of those surfaces must
@@ -7035,7 +7035,7 @@ function cw({
7035
7035
  o.stopPropagation(), r == null || r(o);
7036
7036
  },
7037
7037
  "data-size": t,
7038
- className: P(
7038
+ className: z(
7039
7039
  "group/alert-dialog-content pointer-events-auto fixed top-1/2 left-1/2 z-[160] grid w-full -translate-x-1/2 -translate-y-1/2 gap-6 rounded-4xl bg-background p-6 ring-1 ring-foreground/5 data-open:duration-[var(--duration-fast)] data-closed:duration-[var(--duration-quick)] ease-ios outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-md data-open:animate-in data-open:fade-in-0 data-open:zoom-in-[0.96] data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-[0.96]",
7040
7040
  e
7041
7041
  ),
@@ -7052,7 +7052,7 @@ function dw({
7052
7052
  "div",
7053
7053
  {
7054
7054
  "data-slot": "alert-dialog-header",
7055
- className: P(
7055
+ className: z(
7056
7056
  "grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",
7057
7057
  e
7058
7058
  ),
@@ -7068,7 +7068,7 @@ function uw({
7068
7068
  "div",
7069
7069
  {
7070
7070
  "data-slot": "alert-dialog-footer",
7071
- className: P(
7071
+ className: z(
7072
7072
  "flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",
7073
7073
  e
7074
7074
  ),
@@ -7084,7 +7084,7 @@ function fw({
7084
7084
  Br.Title,
7085
7085
  {
7086
7086
  "data-slot": "alert-dialog-title",
7087
- className: P(
7087
+ className: z(
7088
7088
  "font-heading text-lg font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",
7089
7089
  e
7090
7090
  ),
@@ -7100,7 +7100,7 @@ function mw({
7100
7100
  Br.Description,
7101
7101
  {
7102
7102
  "data-slot": "alert-dialog-description",
7103
- className: P(
7103
+ className: z(
7104
7104
  "text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",
7105
7105
  e
7106
7106
  ),
@@ -7116,7 +7116,7 @@ function pw({
7116
7116
  Me,
7117
7117
  {
7118
7118
  "data-slot": "alert-dialog-action",
7119
- className: P(e),
7119
+ className: z(e),
7120
7120
  ...t
7121
7121
  }
7122
7122
  );
@@ -7131,7 +7131,7 @@ function hw({
7131
7131
  Br.Close,
7132
7132
  {
7133
7133
  "data-slot": "alert-dialog-cancel",
7134
- className: P(e),
7134
+ className: z(e),
7135
7135
  render: /* @__PURE__ */ n(Me, { variant: t, size: r }),
7136
7136
  ...s
7137
7137
  }
@@ -7278,7 +7278,7 @@ function bw({
7278
7278
  defaultTagName: "span",
7279
7279
  props: Fp(
7280
7280
  {
7281
- className: P(gw({ variant: t }), e)
7281
+ className: z(gw({ variant: t }), e)
7282
7282
  },
7283
7283
  s
7284
7284
  ),
@@ -7381,7 +7381,7 @@ function yw({
7381
7381
  const T = C.getBoundingClientRect(), E = C.width / T.width, Q = C.height / T.height;
7382
7382
  return { x: (I.clientX - T.left) * E, y: (I.clientY - T.top) * Q };
7383
7383
  }
7384
- function z(I) {
7384
+ function P(I) {
7385
7385
  if (!a) return;
7386
7386
  const C = V(I);
7387
7387
  if (d === "text") {
@@ -7473,7 +7473,7 @@ function yw({
7473
7473
  type: "button",
7474
7474
  "aria-label": `Color ${I}`,
7475
7475
  onClick: () => f(I),
7476
- className: P(
7476
+ className: z(
7477
7477
  "size-6 shrink-0 rounded-full ring-1 ring-border/60 transition-transform",
7478
7478
  m === I && "scale-110 ring-2 ring-foreground"
7479
7479
  ),
@@ -7517,7 +7517,7 @@ function yw({
7517
7517
  {
7518
7518
  ref: o,
7519
7519
  className: "max-h-[calc(92dvh-14rem)] max-w-full touch-none rounded-2xl",
7520
- onPointerDown: z,
7520
+ onPointerDown: P,
7521
7521
  onPointerMove: re,
7522
7522
  onPointerUp: ie,
7523
7523
  onPointerLeave: ie,
@@ -7580,7 +7580,7 @@ function Nw() {
7580
7580
  }
7581
7581
  const Sw = { dark: "github-dark", light: "github-light" };
7582
7582
  function _f({ additions: e, deletions: t, className: r }) {
7583
- return /* @__PURE__ */ c("span", { className: P("flex items-center gap-1.5 font-mono text-[11px] tabular-nums", r), children: [
7583
+ return /* @__PURE__ */ c("span", { className: z("flex items-center gap-1.5 font-mono text-[11px] tabular-nums", r), children: [
7584
7584
  /* @__PURE__ */ c("span", { className: "text-[var(--success)]", children: [
7585
7585
  "+",
7586
7586
  e
@@ -7620,7 +7620,7 @@ const Cw = _s(function({
7620
7620
  onClick: p,
7621
7621
  className: "flex w-full items-center gap-2 px-3 py-2 text-left transition-colors hover:bg-muted/50",
7622
7622
  children: [
7623
- /* @__PURE__ */ n(gn, { className: P("size-3.5 shrink-0 text-muted-foreground transition-transform", !i && "-rotate-90") }),
7623
+ /* @__PURE__ */ n(gn, { className: z("size-3.5 shrink-0 text-muted-foreground transition-transform", !i && "-rotate-90") }),
7624
7624
  /* @__PURE__ */ c("span", { className: "min-w-0 flex-1 truncate font-mono text-[12px] text-foreground", children: [
7625
7625
  r.oldPath && r.oldPath !== r.path ? /* @__PURE__ */ c("span", { className: "text-muted-foreground", children: [
7626
7626
  r.oldPath,
@@ -7629,7 +7629,7 @@ const Cw = _s(function({
7629
7629
  r.path
7630
7630
  ] }),
7631
7631
  u ? /* @__PURE__ */ n(ht, { className: "size-3 shrink-0 animate-spin text-muted-foreground" }) : null,
7632
- /* @__PURE__ */ n("span", { className: P("shrink-0 text-[10px] font-medium uppercase tracking-wide", kw[r.status]), children: ww[r.status] }),
7632
+ /* @__PURE__ */ n("span", { className: z("shrink-0 text-[10px] font-medium uppercase tracking-wide", kw[r.status]), children: ww[r.status] }),
7633
7633
  /* @__PURE__ */ n(_f, { additions: r.additions, deletions: r.deletions, className: "shrink-0" })
7634
7634
  ]
7635
7635
  }
@@ -7693,7 +7693,7 @@ function Mw({ sid: e, onClose: t }) {
7693
7693
  type: "button",
7694
7694
  onClick: () => l("unified"),
7695
7695
  "aria-label": "Unified view",
7696
- className: P("rounded-md p-1.5 text-muted-foreground transition-colors hover:text-foreground", a === "unified" && "bg-muted text-foreground"),
7696
+ className: z("rounded-md p-1.5 text-muted-foreground transition-colors hover:text-foreground", a === "unified" && "bg-muted text-foreground"),
7697
7697
  children: /* @__PURE__ */ n(D0, { className: "size-3.5" })
7698
7698
  }
7699
7699
  ),
@@ -7703,7 +7703,7 @@ function Mw({ sid: e, onClose: t }) {
7703
7703
  type: "button",
7704
7704
  onClick: () => l("split"),
7705
7705
  "aria-label": "Split view",
7706
- className: P("rounded-md p-1.5 text-muted-foreground transition-colors hover:text-foreground", a === "split" && "bg-muted text-foreground"),
7706
+ className: z("rounded-md p-1.5 text-muted-foreground transition-colors hover:text-foreground", a === "split" && "bg-muted text-foreground"),
7707
7707
  children: /* @__PURE__ */ n(Sg, { className: "size-3.5" })
7708
7708
  }
7709
7709
  )
@@ -7760,7 +7760,7 @@ const Tw = _s(function({
7760
7760
  {
7761
7761
  type: "button",
7762
7762
  onClick: () => a(!0),
7763
- className: P(
7763
+ className: z(
7764
7764
  "lfg-scroll-pill pointer-events-auto flex items-center gap-2 rounded-full border px-3.5 py-1.5 text-xs font-medium shadow-md backdrop-blur transition-colors",
7765
7765
  s != null && s.merged ? "border-[var(--success)]/35 bg-[var(--success)]/10 text-foreground hover:bg-[var(--success)]/15" : "border-border bg-card/95 text-foreground hover:bg-card"
7766
7766
  ),
@@ -7780,7 +7780,7 @@ const Tw = _s(function({
7780
7780
  s.deletions
7781
7781
  ] })
7782
7782
  ] }),
7783
- /* @__PURE__ */ n("span", { className: P("text-[11px]", s != null && s.merged ? "font-semibold text-[var(--success)]" : "text-muted-foreground"), children: s != null && s.merged ? "Merged" : "Review" })
7783
+ /* @__PURE__ */ n("span", { className: z("text-[11px]", s != null && s.merged ? "font-semibold text-[var(--success)]" : "text-muted-foreground"), children: s != null && s.merged ? "Merged" : "Review" })
7784
7784
  ]
7785
7785
  }
7786
7786
  ) : null }),
@@ -7788,14 +7788,14 @@ const Tw = _s(function({
7788
7788
  ] }) : null;
7789
7789
  }), _w = Hr(
7790
7790
  "session-files-panel",
7791
- () => import("./SessionFilesPanel-CcoAnIn7.js")
7791
+ () => import("./SessionFilesPanel-gR33YDDX.js")
7792
7792
  );
7793
7793
  function Il({ className: e, ...t }) {
7794
7794
  return /* @__PURE__ */ n(
7795
7795
  "textarea",
7796
7796
  {
7797
7797
  "data-slot": "textarea",
7798
- className: P(
7798
+ className: z(
7799
7799
  "flex field-sizing-content min-h-16 w-full resize-none rounded-xl border border-input bg-input/30 px-3 py-3 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 md:text-sm dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
7800
7800
  e
7801
7801
  ),
@@ -7893,7 +7893,7 @@ function zw({
7893
7893
  Xt.Overlay,
7894
7894
  {
7895
7895
  "data-slot": "drawer-overlay",
7896
- className: P(
7896
+ className: z(
7897
7897
  "fixed inset-0 z-[70] bg-black/80 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",
7898
7898
  e
7899
7899
  ),
@@ -7907,47 +7907,57 @@ function _o({
7907
7907
  children: r,
7908
7908
  expandOnFocus: s = !0,
7909
7909
  page: o = !1,
7910
- onPointerDownCapture: i,
7911
- onFocusCapture: a,
7912
- onBlurCapture: l,
7913
- ...d
7910
+ bleed: i = !1,
7911
+ onPointerDownCapture: a,
7912
+ onFocusCapture: l,
7913
+ onBlurCapture: d,
7914
+ ...u
7914
7915
  }) {
7915
- const u = ot.useContext(bi), m = Iw(s && !u), f = o || m.paged;
7916
- return u ? /* @__PURE__ */ n(ud.Provider, { value: !1, children: /* @__PURE__ */ n(
7916
+ const m = ot.useContext(bi), f = Iw(s && !m), h = o || f.paged;
7917
+ return m ? /* @__PURE__ */ n(ud.Provider, { value: !1, children: /* @__PURE__ */ n(
7917
7918
  Wr,
7918
7919
  {
7919
7920
  "data-slot": "drawer-content",
7920
7921
  showCloseButton: !1,
7921
7922
  overlayClassName: t,
7922
- className: P("max-h-[85dvh] overflow-hidden", e),
7923
+ className: z("max-h-[85dvh] overflow-hidden", e),
7923
7924
  innerClassName: "flex h-full min-h-0 flex-col overflow-hidden p-4",
7924
- ...d,
7925
+ ...u,
7925
7926
  children: r
7926
7927
  }
7927
- ) }) : /* @__PURE__ */ n(ud.Provider, { value: f, children: /* @__PURE__ */ c($w, { "data-slot": "drawer-portal", children: [
7928
+ ) }) : /* @__PURE__ */ n(ud.Provider, { value: h, children: /* @__PURE__ */ c($w, { "data-slot": "drawer-portal", children: [
7928
7929
  /* @__PURE__ */ n(zw, { className: t }),
7929
7930
  /* @__PURE__ */ c(
7930
7931
  Xt.Content,
7931
7932
  {
7932
7933
  "data-slot": "drawer-content",
7933
- "data-paged": f ? "true" : "false",
7934
- className: P(
7934
+ "data-paged": h ? "true" : "false",
7935
+ className: z(
7935
7936
  "group/drawer-content fixed z-[70] flex h-auto flex-col bg-transparent p-4 text-sm before:absolute before:inset-2 before:-z-10 before:rounded-4xl before:border before:border-border before:bg-background data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm",
7936
- f && "lfg-sheet-page",
7937
+ h && "lfg-sheet-page",
7938
+ h && i && "max-md:p-0 max-md:before:inset-0 max-md:before:rounded-none max-md:before:border-0",
7937
7939
  e
7938
7940
  ),
7939
- onPointerDownCapture: (h) => {
7940
- m.onPointerDownCapture(), i == null || i(h);
7941
+ onPointerDownCapture: (p) => {
7942
+ f.onPointerDownCapture(), a == null || a(p);
7941
7943
  },
7942
- onFocusCapture: (h) => {
7943
- m.onFocusCapture(h), a == null || a(h);
7944
+ onFocusCapture: (p) => {
7945
+ f.onFocusCapture(p), l == null || l(p);
7944
7946
  },
7945
- onBlurCapture: (h) => {
7946
- m.onBlurCapture(h), l == null || l(h);
7947
+ onBlurCapture: (p) => {
7948
+ f.onBlurCapture(p), d == null || d(p);
7947
7949
  },
7948
- ...d,
7950
+ ...u,
7949
7951
  children: [
7950
- /* @__PURE__ */ n("div", { className: "mx-auto mt-4 hidden h-1.5 w-[100px] shrink-0 rounded-full bg-muted group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
7952
+ /* @__PURE__ */ n(
7953
+ "div",
7954
+ {
7955
+ className: z(
7956
+ "mx-auto mt-4 hidden h-1.5 w-[100px] shrink-0 rounded-full bg-muted group-data-[vaul-drawer-direction=bottom]/drawer-content:block",
7957
+ h && i && "max-md:!hidden"
7958
+ )
7959
+ }
7960
+ ),
7951
7961
  r
7952
7962
  ]
7953
7963
  }
@@ -7962,7 +7972,7 @@ function Eo({
7962
7972
  Gr,
7963
7973
  {
7964
7974
  "data-slot": "drawer-title",
7965
- className: P(
7975
+ className: z(
7966
7976
  "font-heading text-base font-medium text-foreground",
7967
7977
  e
7968
7978
  ),
@@ -7972,7 +7982,7 @@ function Eo({
7972
7982
  Xt.Title,
7973
7983
  {
7974
7984
  "data-slot": "drawer-title",
7975
- className: P(
7985
+ className: z(
7976
7986
  "font-heading text-base font-medium text-foreground",
7977
7987
  e
7978
7988
  ),
@@ -8016,7 +8026,7 @@ function hr({
8016
8026
  Qt.Popup,
8017
8027
  {
8018
8028
  "data-slot": "dropdown-menu-content",
8019
- className: P(
8029
+ className: z(
8020
8030
  Al,
8021
8031
  "dark z-[170] max-h-(--available-height) w-(--anchor-width) min-w-48 origin-(--transform-origin) overflow-x-hidden overflow-y-auto text-popover-foreground data-open:duration-[var(--duration-fast)] data-closed:duration-[var(--duration-quick)] ease-ios outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:ring-foreground/10 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-[0.97] data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-[0.99] relative **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!",
8022
8032
  o
@@ -8040,7 +8050,7 @@ function jr({
8040
8050
  {
8041
8051
  "data-slot": "dropdown-menu-label",
8042
8052
  "data-inset": t,
8043
- className: P(
8053
+ className: z(
8044
8054
  "px-3 py-2.5 text-xs text-muted-foreground data-inset:pl-9.5",
8045
8055
  e
8046
8056
  ),
@@ -8060,7 +8070,7 @@ function tn({
8060
8070
  "data-slot": "dropdown-menu-item",
8061
8071
  "data-inset": t,
8062
8072
  "data-variant": r,
8063
- className: P(
8073
+ className: z(
8064
8074
  "group/dropdown-menu-item relative flex cursor-default items-center gap-2.5 rounded-xl px-3 py-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-9.5 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",
8065
8075
  e
8066
8076
  ),
@@ -8082,7 +8092,7 @@ function Ra({
8082
8092
  {
8083
8093
  "data-slot": "dropdown-menu-sub-trigger",
8084
8094
  "data-inset": t,
8085
- className: P(
8095
+ className: z(
8086
8096
  "flex cursor-default items-center gap-2 rounded-xl px-3 py-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-9.5 data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
8087
8097
  e
8088
8098
  ),
@@ -8106,7 +8116,7 @@ function La({
8106
8116
  hr,
8107
8117
  {
8108
8118
  "data-slot": "dropdown-menu-sub-content",
8109
- className: P(
8119
+ className: z(
8110
8120
  Al,
8111
8121
  "dark w-auto min-w-36 text-popover-foreground data-open:duration-[var(--duration-fast)] data-closed:duration-[var(--duration-quick)] ease-ios data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-[0.97] data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-[0.99] animate-none! relative **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!",
8112
8122
  o
@@ -8139,7 +8149,7 @@ function Yt({
8139
8149
  {
8140
8150
  "data-slot": "dropdown-menu-radio-item",
8141
8151
  "data-inset": r,
8142
- className: P(
8152
+ className: z(
8143
8153
  "relative flex cursor-default items-center gap-2.5 rounded-xl py-2 pr-8 pl-3 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-9.5 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
8144
8154
  e
8145
8155
  ),
@@ -8169,7 +8179,7 @@ function zr({
8169
8179
  Qt.Separator,
8170
8180
  {
8171
8181
  "data-slot": "dropdown-menu-separator",
8172
- className: P("-mx-1 my-1 h-px bg-border/50", e),
8182
+ className: z("-mx-1 my-1 h-px bg-border/50", e),
8173
8183
  ...t
8174
8184
  }
8175
8185
  );
@@ -8185,7 +8195,7 @@ function Rw({
8185
8195
  an.Trigger,
8186
8196
  {
8187
8197
  "data-slot": "context-menu-trigger",
8188
- className: P(e),
8198
+ className: z(e),
8189
8199
  ...t
8190
8200
  }
8191
8201
  );
@@ -8210,7 +8220,7 @@ function $f({
8210
8220
  an.Popup,
8211
8221
  {
8212
8222
  "data-slot": "context-menu-content",
8213
- className: P(
8223
+ className: z(
8214
8224
  Al,
8215
8225
  "dark z-[170] max-h-(--available-height) min-w-48 origin-(--transform-origin) overflow-x-hidden overflow-y-auto text-popover-foreground data-open:duration-[var(--duration-fast)] data-closed:duration-[var(--duration-quick)] ease-ios outline-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-[0.97] data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-[0.99] relative **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!",
8216
8226
  e
@@ -8231,7 +8241,7 @@ function fd({
8231
8241
  {
8232
8242
  "data-slot": "context-menu-label",
8233
8243
  "data-inset": t,
8234
- className: P(
8244
+ className: z(
8235
8245
  "px-3 py-2.5 text-xs text-muted-foreground data-inset:pl-9.5",
8236
8246
  e
8237
8247
  ),
@@ -8251,7 +8261,7 @@ function Wn({
8251
8261
  "data-slot": "context-menu-item",
8252
8262
  "data-inset": t,
8253
8263
  "data-variant": r,
8254
- className: P(
8264
+ className: z(
8255
8265
  "group/context-menu-item relative flex cursor-default items-center gap-2.5 rounded-xl px-3 py-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-9.5 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",
8256
8266
  e
8257
8267
  ),
@@ -8273,7 +8283,7 @@ function pd({
8273
8283
  {
8274
8284
  "data-slot": "context-menu-sub-trigger",
8275
8285
  "data-inset": t,
8276
- className: P(
8286
+ className: z(
8277
8287
  "flex cursor-default items-center gap-2 rounded-xl px-3 py-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-9.5 data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
8278
8288
  e
8279
8289
  ),
@@ -8293,7 +8303,7 @@ function hd({
8293
8303
  $f,
8294
8304
  {
8295
8305
  "data-slot": "context-menu-sub-content",
8296
- className: P("dark w-auto min-w-36", e),
8306
+ className: z("dark w-auto min-w-36", e),
8297
8307
  ...t
8298
8308
  }
8299
8309
  );
@@ -8320,7 +8330,7 @@ function Zo({
8320
8330
  {
8321
8331
  "data-slot": "context-menu-radio-item",
8322
8332
  "data-inset": r,
8323
- className: P(
8333
+ className: z(
8324
8334
  "relative flex cursor-default items-center gap-2.5 rounded-xl py-2 pr-8 pl-3 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-9.5 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
8325
8335
  e
8326
8336
  ),
@@ -8347,7 +8357,7 @@ function bd({
8347
8357
  an.Separator,
8348
8358
  {
8349
8359
  "data-slot": "context-menu-separator",
8350
- className: P("-mx-1 my-1 h-px bg-border/50", e),
8360
+ className: z("-mx-1 my-1 h-px bg-border/50", e),
8351
8361
  ...t
8352
8362
  }
8353
8363
  );
@@ -8512,13 +8522,13 @@ async function OS() {
8512
8522
  }
8513
8523
  }
8514
8524
  const Qw = Si(
8515
- () => import("./streamdown-response-BX85yCiU.js").then((e) => e.a).then((e) => ({ default: e.StreamdownResponse }))
8525
+ () => import("./streamdown-response-26liHi0p.js").then((e) => e.a).then((e) => ({ default: e.StreamdownResponse }))
8516
8526
  );
8517
8527
  function Fs({ className: e, from: t, ...r }) {
8518
8528
  return /* @__PURE__ */ n(
8519
8529
  "div",
8520
8530
  {
8521
- className: P(
8531
+ className: z(
8522
8532
  "group/message flex w-full min-w-0",
8523
8533
  t === "user" ? "justify-end" : "justify-start",
8524
8534
  e
@@ -8532,7 +8542,7 @@ function Ys({ className: e, ...t }) {
8532
8542
  return /* @__PURE__ */ n(
8533
8543
  "div",
8534
8544
  {
8535
- className: P(
8545
+ className: z(
8536
8546
  // Default cap for assistant content that is a direct Message child.
8537
8547
  // User turns cap width on MessageActions instead (so the percentage
8538
8548
  // resolves against Message's definite width and stays right-aligned).
@@ -8547,7 +8557,7 @@ const zo = _s(
8547
8557
  ({ className: e, mode: t = "static", ...r }) => /* @__PURE__ */ n(
8548
8558
  nn,
8549
8559
  {
8550
- fallback: /* @__PURE__ */ n("div", { className: P("markdown msg-text size-full whitespace-pre-wrap", e), children: typeof r.children == "string" ? r.children : null }),
8560
+ fallback: /* @__PURE__ */ n("div", { className: z("markdown msg-text size-full whitespace-pre-wrap", e), children: typeof r.children == "string" ? r.children : null }),
8551
8561
  children: /* @__PURE__ */ n(Qw, { className: e, mode: t, ...r })
8552
8562
  }
8553
8563
  ),
@@ -8665,7 +8675,7 @@ function Lf({
8665
8675
  "aria-current": e ? "page" : void 0,
8666
8676
  "aria-label": `${s} question${s === 1 ? "" : "s"} for you`,
8667
8677
  title: `${s} waiting for you`,
8668
- className: P(
8678
+ className: z(
8669
8679
  "relative flex size-9 shrink-0 items-center justify-center rounded-full bg-primary/12 text-primary transition-colors duration-200 ease-out active:scale-[0.96]"
8670
8680
  ),
8671
8681
  children: [
@@ -8722,7 +8732,7 @@ function r1({
8722
8732
  a ? /* @__PURE__ */ n(
8723
8733
  zo,
8724
8734
  {
8725
- className: P(
8735
+ className: z(
8726
8736
  "mt-0.5 text-[13px] leading-relaxed",
8727
8737
  // Demote headings: a question card must never look like a pile
8728
8738
  // of h1s inside a notification row.
@@ -8971,7 +8981,7 @@ function l1() {
8971
8981
  type: "button",
8972
8982
  onClick: () => void s.act(),
8973
8983
  disabled: s.busy,
8974
- className: P(
8984
+ className: z(
8975
8985
  "flex w-full items-center justify-between gap-4 px-4 py-2.5 text-left transition-colors duration-150 ease-ios hover:bg-foreground/[0.03] active:bg-foreground/[0.06]",
8976
8986
  s.busy && "opacity-50"
8977
8987
  ),
@@ -9126,7 +9136,7 @@ function p1() {
9126
9136
  /* @__PURE__ */ n(
9127
9137
  "div",
9128
9138
  {
9129
- className: P(
9139
+ className: z(
9130
9140
  "text-xs text-muted-foreground",
9131
9141
  o || m ? "text-pretty" : "truncate",
9132
9142
  o && "text-destructive"
@@ -9140,7 +9150,7 @@ function p1() {
9140
9150
  /* @__PURE__ */ n(ys, { className: "size-4" }),
9141
9151
  "Update"
9142
9152
  ] }) : /* @__PURE__ */ c(Me, { size: "sm", variant: "outline", onClick: () => void i(!0), disabled: s || !u, children: [
9143
- /* @__PURE__ */ n(Es, { className: P("size-4", s && "animate-spin") }),
9153
+ /* @__PURE__ */ n(Es, { className: z("size-4", s && "animate-spin") }),
9144
9154
  "Check"
9145
9155
  ] })
9146
9156
  ] }) }),
@@ -9237,7 +9247,7 @@ function x1() {
9237
9247
  /* @__PURE__ */ n("div", { className: "markdown text-sm", children: /* @__PURE__ */ n(zo, { children: M.bodyMarkdown }) })
9238
9248
  ] }, M.version)) }) : /* @__PURE__ */ n("p", { className: "text-sm text-muted-foreground", children: s != null && s.latestVersion ? `Version ${s.latestVersion} is available.` : s != null && s.latestSha ? `${s.latestSha.slice(0, 7)} is available.` : s == null ? void 0 : s.message }) }),
9239
9249
  u.phase === "confirmed" ? null : /* @__PURE__ */ c("div", { className: "mt-auto flex shrink-0 items-center justify-between gap-2 border-t border-border/70 pt-3", children: [
9240
- /* @__PURE__ */ n("span", { className: P("min-w-0 truncate text-xs text-muted-foreground", u.phase === "failed" && "text-destructive"), children: w }),
9250
+ /* @__PURE__ */ n("span", { className: z("min-w-0 truncate text-xs text-muted-foreground", u.phase === "failed" && "text-destructive"), children: w }),
9241
9251
  /* @__PURE__ */ n("div", { className: "flex shrink-0 items-center gap-2", children: u.phase === "failed" ? /* @__PURE__ */ c(qe, { children: [
9242
9252
  /* @__PURE__ */ n(Me, { size: "sm", variant: "outline", onClick: y, children: "Skip" }),
9243
9253
  /* @__PURE__ */ n(Me, { size: "sm", onClick: () => void x(), children: "Retry" })
@@ -10392,7 +10402,7 @@ function rk({
10392
10402
  (U) => U.resetsAt != null && U.resetsAt > o && U.resetsAt !== B
10393
10403
  ).sort((U, R) => (U.resetsAt ?? 0) - (R.resetsAt ?? 0)) : [],
10394
10404
  [k, B, o]
10395
- ), V = (S == null ? void 0 : S.members) ?? [], z = k ? Id(k) : null, re = k != null && B == null && (z == null ? void 0 : z.pct) != null, ie = u ? "60%" : "55%", fe = rm(p, u), K = fe.logo, q = fe.ring, ae = fe.logo;
10405
+ ), V = (S == null ? void 0 : S.members) ?? [], P = k ? Id(k) : null, re = k != null && B == null && (P == null ? void 0 : P.pct) != null, ie = u ? "60%" : "55%", fe = rm(p, u), K = fe.logo, q = fe.ring, ae = fe.logo;
10396
10406
  return /* @__PURE__ */ c(
10397
10407
  "div",
10398
10408
  {
@@ -10498,7 +10508,7 @@ function rk({
10498
10508
  animation: "lfg-ember-shimmer 1.4s ease-in-out infinite"
10499
10509
  }
10500
10510
  }
10501
- ) : re && (z == null ? void 0 : z.pct) != null ? `${Math.round(z.pct)}%` : B ? /* @__PURE__ */ n(W1, { resetsAt: B, now: o }) : "—"
10511
+ ) : re && (P == null ? void 0 : P.pct) != null ? `${Math.round(P.pct)}%` : B ? /* @__PURE__ */ n(W1, { resetsAt: B, now: o }) : "—"
10502
10512
  }
10503
10513
  ),
10504
10514
  /* @__PURE__ */ n(
@@ -10506,7 +10516,7 @@ function rk({
10506
10516
  {
10507
10517
  className: "min-h-[1.15rem] max-w-[16rem] text-[12px] sm:text-[13px]",
10508
10518
  style: { color: S ? Ut.label : Ut.soft },
10509
- children: s || (h ? "Reading agent limits…" : re && k && z ? `${k.label} · ${z.label}` : W || (S && !k ? `Reading ${S.label}…` : d.length ? "No upcoming resets reported" : "No agents reporting usage"))
10519
+ children: s || (h ? "Reading agent limits…" : re && k && P ? `${k.label} · ${P.label}` : W || (S && !k ? `Reading ${S.label}…` : d.length ? "No upcoming resets reported" : "No agents reporting usage"))
10510
10520
  }
10511
10521
  ),
10512
10522
  ne.length ? /* @__PURE__ */ n(
@@ -10527,12 +10537,12 @@ function rk({
10527
10537
  {
10528
10538
  className: "mt-1 flex items-center justify-center gap-2.5 text-[10px] tabular-nums sm:text-[11px]",
10529
10539
  style: { color: Ut.soft },
10530
- "aria-label": `Usage by account${z ? `, ${z.label}` : ""}`,
10540
+ "aria-label": `Usage by account${P ? `, ${P.label}` : ""}`,
10531
10541
  children: [
10532
- z ? /* @__PURE__ */ n("span", { style: { color: Ut.label }, children: z.label }) : null,
10542
+ P ? /* @__PURE__ */ n("span", { style: { color: Ut.label }, children: P.label }) : null,
10533
10543
  V.map((U) => {
10534
10544
  var C;
10535
- const R = z ? (((C = U.usage) == null ? void 0 : C.windows) ?? []).find((T) => T.label === z.label) : null, I = (R == null ? void 0 : R.pct) ?? null;
10545
+ const R = P ? (((C = U.usage) == null ? void 0 : C.windows) ?? []).find((T) => T.label === P.label) : null, I = (R == null ? void 0 : R.pct) ?? null;
10536
10546
  return /* @__PURE__ */ c("span", { className: "inline-flex items-center gap-1", children: [
10537
10547
  /* @__PURE__ */ n("span", { style: { color: Ut.label }, children: U.label }),
10538
10548
  /* @__PURE__ */ n("span", { style: { color: I == null ? Ut.faint : Va(I) }, children: U.usage == null ? "…" : I == null ? Ed(U.usage.note) : `${Math.round(I)}%` })
@@ -10600,7 +10610,7 @@ function rk({
10600
10610
  },
10601
10611
  onFocus: () => y(U.id),
10602
10612
  onBlur: () => y((J) => J === U.id ? null : J),
10603
- className: P(
10613
+ className: z(
10604
10614
  "lfg-campfire-arc-item absolute z-20 flex select-none flex-col items-center gap-1 rounded-2xl px-1 py-1.5",
10605
10615
  l ? "cursor-pointer" : "cursor-default",
10606
10616
  // left/top animate too: when the last source lands, any slot
@@ -10849,7 +10859,7 @@ const sm = ki(
10849
10859
  "div",
10850
10860
  {
10851
10861
  ref: r,
10852
- className: P("relative min-h-0 flex-1 overflow-y-auto", e),
10862
+ className: z("relative min-h-0 flex-1 overflow-y-auto", e),
10853
10863
  role: "log",
10854
10864
  ...t
10855
10865
  }
@@ -10857,7 +10867,7 @@ const sm = ki(
10857
10867
  );
10858
10868
  sm.displayName = "Conversation";
10859
10869
  function fk({ className: e, ...t }) {
10860
- return /* @__PURE__ */ n("div", { className: P("flex flex-col gap-3", e), ...t });
10870
+ return /* @__PURE__ */ n("div", { className: z("flex flex-col gap-3", e), ...t });
10861
10871
  }
10862
10872
  function $d({
10863
10873
  className: e,
@@ -10870,7 +10880,7 @@ function $d({
10870
10880
  return /* @__PURE__ */ n(
10871
10881
  "div",
10872
10882
  {
10873
- className: P(
10883
+ className: z(
10874
10884
  "flex h-full min-h-64 flex-col items-center justify-center gap-2 text-center text-sm text-muted-foreground",
10875
10885
  e
10876
10886
  ),
@@ -10887,13 +10897,13 @@ function mk({
10887
10897
  children: e,
10888
10898
  className: t
10889
10899
  }) {
10890
- return /* @__PURE__ */ n(Ml, { className: P(t), children: e });
10900
+ return /* @__PURE__ */ n(Ml, { className: z(t), children: e });
10891
10901
  }
10892
10902
  function pk({ className: e, isStreaming: t, ...r }) {
10893
10903
  return /* @__PURE__ */ n(
10894
10904
  Ef,
10895
10905
  {
10896
- className: P("group/reasoning not-prose w-full text-muted-foreground", e),
10906
+ className: z("group/reasoning not-prose w-full text-muted-foreground", e),
10897
10907
  ...r
10898
10908
  }
10899
10909
  );
@@ -10902,7 +10912,7 @@ function hk({ className: e, isStreaming: t, children: r, ...s }) {
10902
10912
  return /* @__PURE__ */ n(
10903
10913
  If,
10904
10914
  {
10905
- className: P(
10915
+ className: z(
10906
10916
  "flex items-center gap-2 text-xs text-muted-foreground transition-colors hover:text-foreground",
10907
10917
  e
10908
10918
  ),
@@ -10916,28 +10926,28 @@ function hk({ className: e, isStreaming: t, children: r, ...s }) {
10916
10926
  );
10917
10927
  }
10918
10928
  function gk({ className: e, children: t, ...r }) {
10919
- return /* @__PURE__ */ n(Af, { className: P("mt-2 text-sm", e), ...r, children: /* @__PURE__ */ n(zo, { className: "ai-live-text max-w-full opacity-90", children: t }) });
10929
+ return /* @__PURE__ */ n(Af, { className: z("mt-2 text-sm", e), ...r, children: /* @__PURE__ */ n(zo, { className: "ai-live-text max-w-full opacity-90", children: t }) });
10920
10930
  }
10921
- const bk = Si(() => import("./chat-engine-BCCF67hx.js"));
10931
+ const bk = Si(() => import("./chat-engine-D64FdYKy.js"));
10922
10932
  function xk() {
10923
- const e = () => void import("./chat-engine-BCCF67hx.js"), t = globalThis.requestIdleCallback;
10933
+ const e = () => void import("./chat-engine-D64FdYKy.js"), t = globalThis.requestIdleCallback;
10924
10934
  typeof t == "function" ? t(e, { timeout: 3e3 }) : setTimeout(e, 1500);
10925
10935
  }
10926
10936
  const om = Hr(
10927
10937
  "TermView",
10928
- () => import("./TermView-Cw7wA8KX.js").then((e) => ({ default: e.TermView }))
10929
- ), zd = Hr("ShippedPage", () => import("./shipped-page-B-rOFEsi.js")), yk = Hr(
10938
+ () => import("./TermView-DMyzpXd_.js").then((e) => ({ default: e.TermView }))
10939
+ ), zd = Hr("ShippedPage", () => import("./shipped-page-B9mc4jvi.js")), yk = Hr(
10930
10940
  "SessionTokenUsageDialog",
10931
- () => import("./session-token-usage-egXwXgeJ.js")
10941
+ () => import("./session-token-usage-Bnnx3b-K.js")
10932
10942
  ), vk = Hr(
10933
10943
  "CodingAgentsPage",
10934
- () => import("./coding-agents-page-DeQ24X7K.js")
10944
+ () => import("./coding-agents-page-CjOctv8U.js")
10935
10945
  ), Pd = Hr(
10936
10946
  "ResumeSessionSheet",
10937
- () => import("./resume-session-sheet-DD6ETLvw.js")
10947
+ () => import("./resume-session-sheet-DF1YLTeE.js")
10938
10948
  ), wk = Hr(
10939
10949
  "ChangelogPage",
10940
- () => import("./ChangelogPage-BpCDr6cZ.js")
10950
+ () => import("./ChangelogPage-kkSTCd6O.js")
10941
10951
  ), Pi = Ht("configured"), kk = {
10942
10952
  claude: "Claude",
10943
10953
  codex: "Codex",
@@ -11235,7 +11245,7 @@ function Bk({
11235
11245
  /* @__PURE__ */ n(
11236
11246
  "div",
11237
11247
  {
11238
- className: P(
11248
+ className: z(
11239
11249
  "h-full bg-background",
11240
11250
  r ? "overflow-hidden" : "overflow-y-auto overscroll-contain"
11241
11251
  ),
@@ -11246,7 +11256,7 @@ function Bk({
11246
11256
  cacheKey: e.cacheKey ?? e.version ?? 0,
11247
11257
  title: o,
11248
11258
  onNeedsFrame: s,
11249
- className: P("block w-full", r && "h-full")
11259
+ className: z("block w-full", r && "h-full")
11250
11260
  }
11251
11261
  )
11252
11262
  }
@@ -11281,7 +11291,7 @@ function bm({
11281
11291
  {
11282
11292
  "aria-label": "paused",
11283
11293
  title: "Paused",
11284
- className: P(
11294
+ className: z(
11285
11295
  "flex shrink-0 items-center justify-center rounded-full bg-warning/15 text-warning",
11286
11296
  r === "avatar" ? "absolute -right-0.5 -top-0.5 size-3.5 ring-2 ring-card" : "size-4 ring-1 ring-inset ring-warning/30",
11287
11297
  s
@@ -11292,7 +11302,7 @@ function bm({
11292
11302
  "span",
11293
11303
  {
11294
11304
  "aria-label": e ? "working" : "idle",
11295
- className: P(
11305
+ className: z(
11296
11306
  "shrink-0 rounded-full",
11297
11307
  r === "avatar" ? "absolute -right-0.5 -top-0.5 size-2.5 ring-2 ring-card" : "size-2",
11298
11308
  e ? hm : gm,
@@ -11449,7 +11459,7 @@ function Fl({
11449
11459
  return e.length ? /* @__PURE__ */ n(
11450
11460
  "div",
11451
11461
  {
11452
- className: P(
11462
+ className: z(
11453
11463
  "inline-flex h-8 items-center text-xs font-semibold",
11454
11464
  o ? "gap-0.5" : "rounded-full bg-muted p-0.5",
11455
11465
  i
@@ -11463,7 +11473,7 @@ function Fl({
11463
11473
  title: p ? `Connect ${u}` : u,
11464
11474
  "aria-label": p ? `Connect ${u}` : u,
11465
11475
  onClick: () => p ? s == null ? void 0 : s(d) : r(d, { accountId: f, selectorId: m }),
11466
- className: P(
11476
+ className: z(
11467
11477
  "relative flex h-7 w-9 items-center justify-center rounded-full transition",
11468
11478
  b ? o ? (
11469
11479
  // The flat strip has no track of its own, so the selected
@@ -11481,7 +11491,7 @@ function Fl({
11481
11491
  {
11482
11492
  src: nr(d),
11483
11493
  alt: "",
11484
- className: P(
11494
+ className: z(
11485
11495
  "size-5",
11486
11496
  // Greyscale AND dimmed. Most of these marks are strongly
11487
11497
  // branded colour, so opacity alone still read as a live,
@@ -11516,10 +11526,10 @@ function ql({
11516
11526
  onRemove: o,
11517
11527
  onToggleHd: i
11518
11528
  }) {
11519
- return e.length ? /* @__PURE__ */ n("div", { className: P("flex gap-1.5 overflow-x-auto pb-0.5", t), children: e.map(({ att: a, locked: l }) => /* @__PURE__ */ c(
11529
+ return e.length ? /* @__PURE__ */ n("div", { className: z("flex gap-1.5 overflow-x-auto pb-0.5", t), children: e.map(({ att: a, locked: l }) => /* @__PURE__ */ c(
11520
11530
  "div",
11521
11531
  {
11522
- className: P(
11532
+ className: z(
11523
11533
  // Wide enough that "96 KB · compressed" and the HD toggle fit on
11524
11534
  // one line next to the thumbnail; the row scrolls horizontally.
11525
11535
  "group relative flex h-12 max-w-64 shrink-0 items-center gap-2 overflow-hidden rounded-lg border bg-muted/55 pl-1.5 pr-1.5 text-xs",
@@ -11554,7 +11564,7 @@ function ql({
11554
11564
  "button",
11555
11565
  {
11556
11566
  type: "button",
11557
- className: P(
11567
+ className: z(
11558
11568
  "flex h-6 shrink-0 items-center justify-center rounded-full px-1.5 text-[10px] font-bold tracking-wide disabled:pointer-events-none",
11559
11569
  a.hd || !a.preparing && !(a.original && a.compressed) ? "bg-foreground text-background" : "text-muted-foreground hover:bg-background hover:text-foreground",
11560
11570
  a.preparing && "opacity-40"
@@ -11712,7 +11722,7 @@ function Hl({
11712
11722
  return x(E);
11713
11723
  },
11714
11724
  [x]
11715
- ), z = oe(
11725
+ ), P = oe(
11716
11726
  (R) => {
11717
11727
  W(R), i((I) => {
11718
11728
  const C = I.find((T) => T.id === R);
@@ -11777,7 +11787,7 @@ function Hl({
11777
11787
  items: o.map((R) => ({ att: R })),
11778
11788
  disabled: r,
11779
11789
  onAnnotate: u,
11780
- onRemove: z,
11790
+ onRemove: P,
11781
11791
  onToggleHd: B
11782
11792
  }
11783
11793
  );
@@ -11786,7 +11796,7 @@ function Hl({
11786
11796
  setAttachments: i,
11787
11797
  draggingFiles: a,
11788
11798
  addFiles: D,
11789
- removeAttachment: z,
11799
+ removeAttachment: P,
11790
11800
  setAttachmentHd: B,
11791
11801
  setAnnotatingId: u,
11792
11802
  fileInputRef: m,
@@ -12051,7 +12061,7 @@ function vm(e) {
12051
12061
  (q = x.current) == null || q.getAudioTracks().forEach((ae) => ae.enabled = !1), y.current !== null && clearTimeout(y.current), y.current = setTimeout(w, jd);
12052
12062
  }, [w]), _ = j(e.onText), S = j(e.onAutoSubmit), k = j(e.onInterim), D = j(e.onCancel), B = j(e.baseText ?? ""), W = j(""), ne = e.silenceMs ?? 2500;
12053
12063
  _.current = e.onText, S.current = e.onAutoSubmit, k.current = e.onInterim, D.current = e.onCancel, B.current = e.baseText ?? "";
12054
- const V = typeof navigator < "u" && !!((K = navigator.mediaDevices) != null && K.getUserMedia), z = oe(
12064
+ const V = typeof navigator < "u" && !!((K = navigator.mediaDevices) != null && K.getUserMedia), P = oe(
12055
12065
  async (q = !1, ae = !1) => {
12056
12066
  var xe, he;
12057
12067
  const U = d.current;
@@ -12295,7 +12305,7 @@ function vm(e) {
12295
12305
  S.current && Ce > iN && (ye = !0, _e = Date.now());
12296
12306
  };
12297
12307
  const Je = ae && S.current ? setInterval(() => {
12298
- !d.current || !ye || Date.now() - _e >= ne && z(!0);
12308
+ !d.current || !ye || Date.now() - _e >= ne && P(!0);
12299
12309
  }, 200) : null;
12300
12310
  d.current = {
12301
12311
  ac: J,
@@ -12323,22 +12333,22 @@ function vm(e) {
12323
12333
  };
12324
12334
  l.current = requestAnimationFrame(Ge), Q(), r("recording"), f.current = !1;
12325
12335
  const Ae = h.current;
12326
- Ae && (h.current = null, z(Ae.auto, Ae.discard));
12336
+ Ae && (h.current = null, P(Ae.auto, Ae.discard));
12327
12337
  } catch (he) {
12328
12338
  M(), se(Ud(he));
12329
12339
  }
12330
- }, [ne, z, M]), ie = oe(() => {
12331
- t !== "transcribing" && (d.current || f.current ? z(!0) : re());
12332
- }, [t, re, z]), fe = oe(() => {
12333
- t !== "transcribing" && z(!1, !0);
12334
- }, [t, z]);
12340
+ }, [ne, P, M]), ie = oe(() => {
12341
+ t !== "transcribing" && (d.current || f.current ? P(!0) : re());
12342
+ }, [t, re, P]), fe = oe(() => {
12343
+ t !== "transcribing" && P(!1, !0);
12344
+ }, [t, P]);
12335
12345
  return F(
12336
12346
  () => () => {
12337
12347
  var q;
12338
12348
  p.current += 1, (q = b.current) == null || q.call(b), w();
12339
12349
  },
12340
12350
  [w]
12341
- ), { state: t, toggle: ie, start: re, stop: z, cancel: fe, supported: V, level: s };
12351
+ ), { state: t, toggle: ie, start: re, stop: P, cancel: fe, supported: V, level: s };
12342
12352
  }
12343
12353
  const wm = 300, km = 48, ka = 10, Na = 32;
12344
12354
  function mN({
@@ -12421,7 +12431,7 @@ const ji = ki(function({ onText: t, onAutoSubmit: r, onInterim: s, onCancel: o,
12421
12431
  };
12422
12432
  return document.addEventListener("keydown", I), () => document.removeEventListener("keydown", I);
12423
12433
  }, [f, x]);
12424
- const M = j(null), _ = j(!1), S = j(null), k = j(!1), D = j(!1), B = j(!1), [W, ne] = v(!1), V = j(null), z = oe(() => {
12434
+ const M = j(null), _ = j(!1), S = j(null), k = j(!1), D = j(!1), B = j(!1), [W, ne] = v(!1), V = j(null), P = oe(() => {
12425
12435
  M.current !== null && (clearTimeout(M.current), M.current = null);
12426
12436
  }, []), re = oe(
12427
12437
  (I) => {
@@ -12431,12 +12441,12 @@ const ji = ki(function({ onText: t, onAutoSubmit: r, onInterim: s, onCancel: o,
12431
12441
  I.currentTarget.setPointerCapture(I.pointerId);
12432
12442
  } catch {
12433
12443
  }
12434
- f === "idle" && (z(), M.current = window.setTimeout(() => {
12444
+ f === "idle" && (P(), M.current = window.setTimeout(() => {
12435
12445
  M.current = null, _.current = !0, pt("heavy"), p({ autoStop: !1 });
12436
12446
  }, wm));
12437
12447
  }
12438
12448
  },
12439
- [f, p, z]
12449
+ [f, p, P]
12440
12450
  ), ie = oe(
12441
12451
  (I) => {
12442
12452
  if (!D.current || !_.current && f !== "recording" && f !== "starting") return;
@@ -12454,17 +12464,17 @@ const ji = ki(function({ onText: t, onAutoSubmit: r, onInterim: s, onCancel: o,
12454
12464
  I.currentTarget.releasePointerCapture(I.pointerId);
12455
12465
  } catch {
12456
12466
  }
12457
- z(), ne(!1);
12467
+ P(), ne(!1);
12458
12468
  const C = k.current;
12459
12469
  k.current = !1, C ? (_.current = !1, pt("selection"), x()) : _.current ? (_.current = !1, b(!0)) : (pt("medium"), h());
12460
12470
  },
12461
- [b, h, x, z]
12471
+ [b, h, x, P]
12462
12472
  ), K = oe(() => {
12463
12473
  if (!D.current) return;
12464
- D.current = !1, z(), ne(!1);
12474
+ D.current = !1, P(), ne(!1);
12465
12475
  const I = k.current;
12466
12476
  k.current = !1, I ? (_.current = !1, x()) : _.current && (_.current = !1, b(!0));
12467
- }, [b, x, z]), q = oe(() => {
12477
+ }, [b, x, P]), q = oe(() => {
12468
12478
  if (B.current) {
12469
12479
  B.current = !1;
12470
12480
  return;
@@ -12502,7 +12512,7 @@ const ji = ki(function({ onText: t, onAutoSubmit: r, onInterim: s, onCancel: o,
12502
12512
  U ? ae ? "Transcribes after you stop · X or Esc to cancel" : "Tap to dictate · transcript appears after you stop" : ae ? "Tap to send · X or Esc to cancel" : "Tap to dictate · hold to talk"
12503
12513
  ),
12504
12514
  style: R,
12505
- className: P(
12515
+ className: z(
12506
12516
  "flex shrink-0 touch-none select-none items-center justify-center rounded-full transition",
12507
12517
  ae ? W ? "z-10 bg-muted-foreground text-background" : "z-10 bg-destructive text-destructive-foreground" : d ? "relative z-10 bg-transparent text-muted-foreground hover:bg-transparent hover:text-foreground" : "text-muted-foreground hover:bg-muted",
12508
12518
  l
@@ -12563,7 +12573,7 @@ function pN({
12563
12573
  }
12564
12574
  },
12565
12575
  [f, t, e, o, x, h, ne]
12566
- ), z = oe(
12576
+ ), P = oe(
12567
12577
  (R) => {
12568
12578
  if (!k.current || M.current === "queue" || !M.current && f !== "recording" && f !== "starting") return;
12569
12579
  const I = _.current;
@@ -12618,7 +12628,7 @@ function pN({
12618
12628
  {
12619
12629
  type: "button",
12620
12630
  onPointerDown: V,
12621
- onPointerMove: z,
12631
+ onPointerMove: P,
12622
12632
  onPointerUp: re,
12623
12633
  onPointerCancel: ie,
12624
12634
  onClick: fe,
@@ -12626,7 +12636,7 @@ function pN({
12626
12636
  "aria-label": K ? B ? "Release to cancel voice message" : "Release to send voice message — drag away, or press Esc, to cancel" : e ? "Steer — hold to queue" : "Hold to talk",
12627
12637
  title: K ? "Release to send · drag away or Esc to cancel" : e ? "Tap to steer · hold (or ⌘/Ctrl+Enter) to queue" : "Hold to talk",
12628
12638
  style: U,
12629
- className: P(
12639
+ className: z(
12630
12640
  "flex shrink-0 touch-none select-none items-center justify-center rounded-full font-semibold transition active:scale-[0.97]",
12631
12641
  K ? B ? "z-10 bg-muted-foreground text-background" : "z-10 bg-destructive text-destructive-foreground" : "relative z-10 bg-foreground/[0.08] text-foreground/80 shadow-sm hover:bg-foreground/[0.12] hover:text-foreground",
12632
12642
  ae && "opacity-50",
@@ -12763,14 +12773,14 @@ function CN(e, t) {
12763
12773
  [t]
12764
12774
  ), s = r.join(","), o = je(() => {
12765
12775
  const V = {};
12766
- for (const z of e)
12767
- z.sessionId && (V[z.sessionId] = !!z.busy);
12776
+ for (const P of e)
12777
+ P.sessionId && (V[P.sessionId] = !!P.busy);
12768
12778
  return V;
12769
12779
  }, [e]), i = je(() => {
12770
12780
  const V = {};
12771
- for (const z of e) {
12772
- const re = rN(z);
12773
- z.sessionId && re && (V[z.sessionId] = re);
12781
+ for (const P of e) {
12782
+ const re = rN(P);
12783
+ P.sessionId && re && (V[P.sessionId] = re);
12774
12784
  }
12775
12785
  return V;
12776
12786
  }, [e]), [a, l] = v({}), [d, u] = v({}), [m, f] = v({}), [h, p] = v({}), [b, x] = v({}), y = j({}), w = j(a), M = j(b);
@@ -12782,12 +12792,12 @@ function CN(e, t) {
12782
12792
  const _ = j({});
12783
12793
  F(() => {
12784
12794
  var R;
12785
- const V = new Set(r), z = new Set(Object.keys(o));
12795
+ const V = new Set(r), P = new Set(Object.keys(o));
12786
12796
  if (y.current = Object.fromEntries(
12787
- Object.entries(y.current).filter(([I]) => z.has(I))
12797
+ Object.entries(y.current).filter(([I]) => P.has(I))
12788
12798
  ), l((I) => {
12789
12799
  const C = {};
12790
- for (const T of /* @__PURE__ */ new Set([...z, ...V])) {
12800
+ for (const T of /* @__PURE__ */ new Set([...P, ...V])) {
12791
12801
  const E = I[T];
12792
12802
  C[T] = E != null && E.length ? E : i[T] ? [i[T]] : [];
12793
12803
  }
@@ -12797,10 +12807,10 @@ function CN(e, t) {
12797
12807
  ), f(
12798
12808
  (I) => Object.fromEntries(Object.entries(I).filter(([C]) => V.has(C)))
12799
12809
  ), x(
12800
- (I) => Object.fromEntries(Object.entries(I).filter(([C]) => z.has(C) || V.has(C)))
12810
+ (I) => Object.fromEntries(Object.entries(I).filter(([C]) => P.has(C) || V.has(C)))
12801
12811
  ), p((I) => {
12802
12812
  var T;
12803
- const C = Object.fromEntries(Object.entries(I).filter(([E]) => z.has(E)));
12813
+ const C = Object.fromEntries(Object.entries(I).filter(([E]) => P.has(E)));
12804
12814
  for (const E of V)
12805
12815
  (T = w.current[E]) != null && T.some((Q) => !Q.seed) || (C[E] = !0);
12806
12816
  return C;
@@ -12967,13 +12977,13 @@ function CN(e, t) {
12967
12977
  clearTimeout(_.current[I]), delete _.current[I];
12968
12978
  };
12969
12979
  }, [s]);
12970
- const S = oe((V, z) => {
12980
+ const S = oe((V, P) => {
12971
12981
  const re = {
12972
12982
  id: `optimistic-${Date.now()}`,
12973
12983
  role: "user",
12974
12984
  kind: "text",
12975
- text: z,
12976
- html: Ms(z).replace(/\n/g, "<br>"),
12985
+ text: P,
12986
+ html: Ms(P).replace(/\n/g, "<br>"),
12977
12987
  ts: Date.now(),
12978
12988
  pending: !0
12979
12989
  };
@@ -12981,14 +12991,14 @@ function CN(e, t) {
12981
12991
  ...ie,
12982
12992
  [V]: [...(ie[V] ?? []).filter((fe) => fe.kind !== "thinking"), re].slice(-80)
12983
12993
  })), u((ie) => ({ ...ie, [V]: !0 }));
12984
- }, []), k = oe((V, z) => {
12994
+ }, []), k = oe((V, P) => {
12985
12995
  l((re) => {
12986
12996
  const ie = re[V] ?? [];
12987
12997
  let fe = !1;
12988
- const K = ie.filter((q) => fe || !q.pending || !as(q.text, z) ? !0 : (fe = !0, !1));
12998
+ const K = ie.filter((q) => fe || !q.pending || !as(q.text, P) ? !0 : (fe = !0, !1));
12989
12999
  return K.length === ie.length ? re : { ...re, [V]: K };
12990
13000
  });
12991
- }, []), D = oe(async (V, z, re = {}) => {
13001
+ }, []), D = oe(async (V, P, re = {}) => {
12992
13002
  const ie = await ke(
12993
13003
  `/api/sessions/${encodeURIComponent(V)}/messages?limit=80`
12994
13004
  ), fe = so(Array.isArray(ie.messages) ? ie.messages : []), K = y.current[V] || (y.current[V] = /* @__PURE__ */ new Set());
@@ -12996,34 +13006,34 @@ function CN(e, t) {
12996
13006
  q.id && q.kind !== "thinking" && K.add(q.id);
12997
13007
  return K.size > 800 && (y.current[V] = new Set(Array.from(K).slice(-400))), p((q) => ({ ...q, [V]: !1 })), l((q) => {
12998
13008
  const ae = q[V] ?? [], U = Rd(ae, fe);
12999
- return !re.dropOptimistic || !z ? { ...q, [V]: U } : {
13009
+ return !re.dropOptimistic || !P ? { ...q, [V]: U } : {
13000
13010
  ...q,
13001
- [V]: U.filter((R) => !R.pending || !as(R.text, z))
13011
+ [V]: U.filter((R) => !R.pending || !as(R.text, P))
13002
13012
  };
13003
13013
  }), fe;
13004
13014
  }, []), B = oe(
13005
- (V, z, re) => {
13015
+ (V, P, re) => {
13006
13016
  (async () => {
13007
13017
  const ie = re == null ? void 0 : re.id;
13008
13018
  for (let fe = 0; fe < 45; fe++) {
13009
13019
  fe > 0 && await new Promise((K) => window.setTimeout(K, fe < 8 ? 500 : 1200));
13010
13020
  try {
13011
- const K = fe === 0 || fe % 3 === 0 ? await D(V, z) : null;
13021
+ const K = fe === 0 || fe % 3 === 0 ? await D(V, P) : null;
13012
13022
  if (K != null && K.some(
13013
- (R) => R.role === "user" && R.kind === "text" && as(R.text, z)
13023
+ (R) => R.role === "user" && R.kind === "text" && as(R.text, P)
13014
13024
  )) {
13015
- k(V, z);
13025
+ k(V, P);
13016
13026
  return;
13017
13027
  }
13018
13028
  const q = await ke(
13019
13029
  `/api/sessions/${encodeURIComponent(V)}/queue`
13020
- ), ae = Array.isArray(q.queue) ? q.queue : [], U = (ie ? ae.find((R) => R.id === ie) : null) ?? ae.find((R) => as(R.text, z));
13030
+ ), ae = Array.isArray(q.queue) ? q.queue : [], U = (ie ? ae.find((R) => R.id === ie) : null) ?? ae.find((R) => as(R.text, P));
13021
13031
  if (!U) {
13022
- await D(V, z, { dropOptimistic: !0 }).catch(() => null), k(V, z);
13032
+ await D(V, P, { dropOptimistic: !0 }).catch(() => null), k(V, P);
13023
13033
  return;
13024
13034
  }
13025
13035
  if (U.status === "delivered") {
13026
- await D(V, z, { dropOptimistic: !0 }).catch(() => null), k(V, z);
13036
+ await D(V, P, { dropOptimistic: !0 }).catch(() => null), k(V, P);
13027
13037
  return;
13028
13038
  }
13029
13039
  if (U.status === "failed") return;
@@ -13035,10 +13045,10 @@ function CN(e, t) {
13035
13045
  [D, k]
13036
13046
  ), W = oe(async (V) => {
13037
13047
  if (!(V in M.current)) return !0;
13038
- const z = M.current[V];
13039
- if (z == null) return !1;
13048
+ const P = M.current[V];
13049
+ if (P == null) return !1;
13040
13050
  const re = await ke(
13041
- `/api/sessions/${encodeURIComponent(V)}/messages?page=backward&before=${z}&limit=80`
13051
+ `/api/sessions/${encodeURIComponent(V)}/messages?page=backward&before=${P}&limit=80`
13042
13052
  ), ie = so(Array.isArray(re.messages) ? re.messages : []);
13043
13053
  if (x((K) => ({ ...K, [V]: re.nextBefore ?? null })), !ie.length) return (re.nextBefore ?? null) !== null;
13044
13054
  const fe = y.current[V] || (y.current[V] = /* @__PURE__ */ new Set());
@@ -13264,7 +13274,7 @@ function IN() {
13264
13274
  g.removeEventListener("scroll", $e), window.removeEventListener("resize", $e), Xe.disconnect(), Ue.disconnect(), ue && cancelAnimationFrame(ue), A.style.removeProperty("--lfg-mobile-header-fade-opacity"), H.style.removeProperty("--lfg-mobile-composer-fade-opacity");
13265
13275
  };
13266
13276
  }, [B, ne]);
13267
- const [z, re] = v(!1), [ie, fe] = v([]), [K, q] = v(null), [ae, U] = v(null), [R, I] = v(null), [C, T] = v(null), [E, Q] = v(!1), se = j(!1), [xe, he] = v(), [J, de] = v(
13277
+ const [P, re] = v(!1), [ie, fe] = v([]), [K, q] = v(null), [ae, U] = v(null), [R, I] = v(null), [C, T] = v(null), [E, Q] = v(!1), se = j(!1), [xe, he] = v(), [J, de] = v(
13268
13278
  () => is()
13269
13279
  ), [ve, Ne] = v([]), [He, Be] = v([]), be = j(
13270
13280
  /* @__PURE__ */ new Map()
@@ -14439,7 +14449,7 @@ ${g.reasoning.map((Vn) => `- ${Vn}`).join(`
14439
14449
  // composer mounted underneath means it rides the keyboard up and down (and
14440
14450
  // repads <main> as it goes) behind the sheet — motion you can see through
14441
14451
  // the backdrop, for a control you can't reach.
14442
- !l && le === "live", Sp = bc ? "pb-[var(--lfg-inline-composer-height,var(--lfg-composer-clear))] [scroll-padding-bottom:var(--lfg-inline-composer-height,var(--lfg-composer-clear))]" : le === "live" ? z ? "pb-[calc(var(--lfg-inline-composer-height,var(--lfg-composer-clear))+0.75rem)] md:pb-3" : "pb-[var(--lfg-above-orb)] md:pb-3" : "pb-3", xc = le === "bots" && W, Bo = le === "live" || xc, Zi = Bo && W;
14452
+ !l && le === "live", Sp = bc ? "pb-[var(--lfg-inline-composer-height,var(--lfg-composer-clear))] [scroll-padding-bottom:var(--lfg-inline-composer-height,var(--lfg-composer-clear))]" : le === "live" ? P ? "pb-[calc(var(--lfg-inline-composer-height,var(--lfg-composer-clear))+0.75rem)] md:pb-3" : "pb-[var(--lfg-above-orb)] md:pb-3" : "pb-3", xc = le === "bots" && W, Bo = le === "live" || xc, Zi = Bo && W;
14443
14453
  return /* @__PURE__ */ n(
14444
14454
  Pi.Provider,
14445
14455
  {
@@ -14454,7 +14464,7 @@ ${g.reasoning.map((Vn) => `- ${Vn}`).join(`
14454
14464
  "aria-disabled": ge || void 0,
14455
14465
  "aria-describedby": ge ? "lfg-startup-status" : void 0,
14456
14466
  "data-startup-state": ge ? "connecting" : "ready",
14457
- className: P(
14467
+ className: z(
14458
14468
  M ? gN : hN,
14459
14469
  ge && "[&_button]:cursor-wait [&_button]:opacity-60 [&_input]:cursor-wait [&_input]:opacity-60 [&_select]:cursor-wait [&_select]:opacity-60 [&_textarea]:cursor-wait [&_textarea]:opacity-60",
14460
14470
  // Embed: leave a blank band of our own background under the host
@@ -14471,7 +14481,7 @@ ${g.reasoning.map((Vn) => `- ${Vn}`).join(`
14471
14481
  "div",
14472
14482
  {
14473
14483
  ref: V,
14474
- className: P(
14484
+ className: z(
14475
14485
  "relative z-40 flex shrink-0 flex-col",
14476
14486
  B && "mobile-scroll-header-fade"
14477
14487
  ),
@@ -14485,7 +14495,7 @@ ${g.reasoning.map((Vn) => `- ${Vn}`).join(`
14485
14495
  /* @__PURE__ */ c(
14486
14496
  "header",
14487
14497
  {
14488
- className: P(
14498
+ className: z(
14489
14499
  "z-40 flex min-w-0 shrink-0 items-center justify-between gap-2 pb-1 pt-[calc(0.5rem+env(safe-area-inset-top))]",
14490
14500
  w ? "pl-3 pr-[calc(0.75rem+var(--lfg-host-top-inset))]" : "px-2 md:px-3"
14491
14501
  ),
@@ -14698,7 +14708,7 @@ ${g.reasoning.map((Vn) => `- ${Vn}`).join(`
14698
14708
  "main",
14699
14709
  {
14700
14710
  ref: o,
14701
- className: P(
14711
+ className: z(
14702
14712
  "min-h-0",
14703
14713
  // Every rule below exists to accommodate LFG's own chrome. A bare
14704
14714
  // surface has none of it: the gutter would double up on the host's
@@ -14721,7 +14731,7 @@ ${g.reasoning.map((Vn) => `- ${Vn}`).join(`
14721
14731
  Pt || Bo ? /* @__PURE__ */ n(
14722
14732
  "div",
14723
14733
  {
14724
- className: P(
14734
+ className: z(
14725
14735
  // Desktop RailStage fills main via h-full; keep that chain intact
14726
14736
  // when live is active. Mobile scrolls inside main, so no height
14727
14737
  // lock there. Hidden when another tab is up.
@@ -15072,7 +15082,7 @@ function ls({
15072
15082
  return /* @__PURE__ */ n(
15073
15083
  "div",
15074
15084
  {
15075
- className: P(
15085
+ className: z(
15076
15086
  "rounded-full",
15077
15087
  r && "bg-gradient-to-b from-white/70 via-white/25 to-white/10 p-px shadow-[0_8px_28px_rgba(0,0,0,0.18)] dark:from-white/25 dark:via-white/10 dark:to-white/5",
15078
15088
  t
@@ -15087,7 +15097,7 @@ function Bd({ className: e }) {
15087
15097
  "svg",
15088
15098
  {
15089
15099
  viewBox: "0 0 100 100",
15090
- className: P("size-6 shrink-0", e),
15100
+ className: z("size-6 shrink-0", e),
15091
15101
  "aria-hidden": !0,
15092
15102
  children: [
15093
15103
  /* @__PURE__ */ c("mask", { id: t, children: [
@@ -15146,7 +15156,7 @@ function AN({
15146
15156
  window.getComputedStyle(document.documentElement).getPropertyValue("--text-swap-dur")
15147
15157
  ) || 150;
15148
15158
  _.current = window.setTimeout(() => {
15149
- x((z) => !z), w("enter");
15159
+ x((P) => !P), w("enter");
15150
15160
  }, V);
15151
15161
  }, W);
15152
15162
  return () => {
@@ -15163,7 +15173,7 @@ function AN({
15163
15173
  ls,
15164
15174
  {
15165
15175
  surface: h,
15166
- className: P(
15176
+ className: z(
15167
15177
  "shrink-0 overflow-hidden transition-[width] duration-500 ease-ios",
15168
15178
  e ? "w-11" : t ? "w-[min(17rem,calc(100vw-var(--lfg-host-top-inset)-1.5rem))]" : "w-[min(17rem,calc(100vw-6.75rem))]"
15169
15179
  ),
@@ -15176,7 +15186,7 @@ function AN({
15176
15186
  },
15177
15187
  "aria-label": e ? "omg.dev" : f ? `${D}. Tap to open notifications` : p ? `${k}. ${S}` : k,
15178
15188
  title: e ? "omg.dev" : "Open notifications",
15179
- className: P(
15189
+ className: z(
15180
15190
  "relative flex h-11 w-full items-center overflow-hidden rounded-full text-left transition-colors active:scale-[0.98]",
15181
15191
  h && "glass-island",
15182
15192
  "text-foreground"
@@ -15186,7 +15196,7 @@ function AN({
15186
15196
  "span",
15187
15197
  {
15188
15198
  "aria-hidden": !0,
15189
- className: P(
15199
+ className: z(
15190
15200
  "absolute inset-0 flex items-center justify-center transition-all duration-300 ease-ios",
15191
15201
  e ? "scale-100 opacity-100" : "scale-75 opacity-0"
15192
15202
  ),
@@ -15197,7 +15207,7 @@ function AN({
15197
15207
  "span",
15198
15208
  {
15199
15209
  "aria-live": f ? "polite" : "off",
15200
- className: P(
15210
+ className: z(
15201
15211
  "flex min-w-0 items-center px-1 transition-all duration-300 ease-ios",
15202
15212
  e ? "translate-y-1 opacity-0" : "translate-y-0 opacity-100 delay-150"
15203
15213
  ),
@@ -15205,7 +15215,7 @@ function AN({
15205
15215
  "span",
15206
15216
  {
15207
15217
  ref: M,
15208
- className: P(
15218
+ className: z(
15209
15219
  "t-text-swap block truncate tracking-[-0.01em]",
15210
15220
  y === "exit" && "is-exit",
15211
15221
  y === "enter" && "is-enter-start",
@@ -15238,7 +15248,7 @@ function Ka({
15238
15248
  type: "button",
15239
15249
  "aria-label": "Filter live sessions by user",
15240
15250
  title: o ? o.name ?? Cs(o.email) : s ? "Unassigned" : "All users",
15241
- className: P(
15251
+ className: z(
15242
15252
  "relative inline-flex size-8 shrink-0 items-center justify-center overflow-hidden rounded-full border transition",
15243
15253
  s ? "border-primary/40 text-primary" : "border-border bg-muted/70 text-foreground"
15244
15254
  )
@@ -15292,7 +15302,7 @@ function Sa({
15292
15302
  width: t,
15293
15303
  height: t,
15294
15304
  viewBox: `0 0 ${t} ${t}`,
15295
- className: P("shrink-0 -rotate-90", r),
15305
+ className: z("shrink-0 -rotate-90", r),
15296
15306
  role: "img",
15297
15307
  "aria-label": l.map((d) => `${d.label} ${Math.round(d.pct ?? 0)}%`).join(", "),
15298
15308
  children: l.map((d, u) => {
@@ -15331,7 +15341,7 @@ function zN({
15331
15341
  width: e,
15332
15342
  height: e,
15333
15343
  viewBox: `0 0 ${e} ${e}`,
15334
- className: P("shrink-0 -rotate-90 animate-spin motion-reduce:animate-none", t),
15344
+ className: z("shrink-0 -rotate-90 animate-spin motion-reduce:animate-none", t),
15335
15345
  role: "status",
15336
15346
  "aria-label": "Loading usage",
15337
15347
  children: [0, 1, 2].map((a) => {
@@ -15395,7 +15405,7 @@ function ON({
15395
15405
  type: "button",
15396
15406
  "aria-label": `${e.label} usage. Long-press for all agents.`,
15397
15407
  title: `${e.label} usage · long-press for all agents · Shift`,
15398
- className: P(
15408
+ className: z(
15399
15409
  // The wider left pad keeps the rings clear of the screen edge on
15400
15410
  // the mobile inline composer; on desktop it just reads as a gap.
15401
15411
  "flex shrink-0 touch-none select-none items-center justify-center rounded-full p-1 pl-4 transition active:scale-90 [-webkit-touch-callout:none] md:pl-1",
@@ -15461,7 +15471,7 @@ function Kl({
15461
15471
  type: "button",
15462
15472
  "aria-label": "Manage sessions",
15463
15473
  title: `Manage sessions: ${o}`,
15464
- className: P(
15474
+ className: z(
15465
15475
  "flex shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors duration-200 ease-out hover:text-foreground active:scale-[0.96]",
15466
15476
  s ? "gap-1 px-2 py-0.5 text-[11px] font-medium hover:bg-primary/10 hover:text-primary" : "size-9"
15467
15477
  )
@@ -15531,7 +15541,7 @@ function ni({
15531
15541
  type: "button",
15532
15542
  "aria-label": "Pages",
15533
15543
  title: "Pages",
15534
- className: P(
15544
+ className: z(
15535
15545
  "flex size-8 shrink-0 items-center justify-center rounded-lg text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",
15536
15546
  i
15537
15547
  )
@@ -15606,7 +15616,7 @@ function Zs({
15606
15616
  }) {
15607
15617
  const i = e !== "__all", a = t, l = j(null), d = j(!1), u = (p) => {
15608
15618
  r(wi(a, e, p));
15609
- }, m = P(
15619
+ }, m = z(
15610
15620
  "relative inline-flex h-8 shrink-0 touch-none select-none items-center justify-center gap-1 rounded-full border transition",
15611
15621
  i ? "max-w-[45vw] px-2.5 sm:max-w-[12rem]" : "size-8",
15612
15622
  s ? i ? "lfg-gborder border-transparent bg-background text-foreground shadow-sm" : "lfg-gborder border-transparent bg-background text-muted-foreground shadow-sm" : i ? "border-primary/30 bg-primary/10 text-primary" : "border-border bg-muted/70 text-muted-foreground"
@@ -15678,10 +15688,10 @@ function RN({
15678
15688
  var Re, nt;
15679
15689
  const d = e == null ? void 0 : e.steps, [u, m] = v(
15680
15690
  () => d != null && d.profile ? d != null && d.agents ? d != null && d.repo ? "session" : "repo" : "agents" : "profile"
15681
- ), [f, h] = v(!1), [p, b] = v(null), [x, y] = v(() => /* @__PURE__ */ new Set()), [w, M] = v({ lines: [], running: !1, error: null }), _ = j(null), S = (e == null ? void 0 : e.profiles.find((O) => O.email === o)) ?? (e == null ? void 0 : e.profiles[0]), [k, D] = v((S == null ? void 0 : S.name) ?? ""), [B, W] = v((S == null ? void 0 : S.email) ?? ""), [ne, V] = v(null), z = je(() => ne ? URL.createObjectURL(ne) : null, [ne]);
15691
+ ), [f, h] = v(!1), [p, b] = v(null), [x, y] = v(() => /* @__PURE__ */ new Set()), [w, M] = v({ lines: [], running: !1, error: null }), _ = j(null), S = (e == null ? void 0 : e.profiles.find((O) => O.email === o)) ?? (e == null ? void 0 : e.profiles[0]), [k, D] = v((S == null ? void 0 : S.name) ?? ""), [B, W] = v((S == null ? void 0 : S.email) ?? ""), [ne, V] = v(null), P = je(() => ne ? URL.createObjectURL(ne) : null, [ne]);
15682
15692
  F(() => () => {
15683
- z && URL.revokeObjectURL(z);
15684
- }, [z]);
15693
+ P && URL.revokeObjectURL(P);
15694
+ }, [P]);
15685
15695
  const [re, ie] = v(s);
15686
15696
  F(() => {
15687
15697
  s.length && ie((O) => O.length ? O : s);
@@ -15871,10 +15881,10 @@ function RN({
15871
15881
  }
15872
15882
  }
15873
15883
  ),
15874
- z ? /* @__PURE__ */ n(
15884
+ P ? /* @__PURE__ */ n(
15875
15885
  "img",
15876
15886
  {
15877
- src: z,
15887
+ src: P,
15878
15888
  alt: "",
15879
15889
  className: "size-14 shrink-0 rounded-full border border-border object-cover"
15880
15890
  }
@@ -15942,7 +15952,7 @@ function RN({
15942
15952
  return /* @__PURE__ */ c(
15943
15953
  "label",
15944
15954
  {
15945
- className: P(
15955
+ className: z(
15946
15956
  "flex items-center gap-3 rounded-xl border border-border bg-muted/40 px-3 py-2.5",
15947
15957
  !O.status.configured && O.status.canAutoSetup && !se ? "cursor-pointer" : "cursor-default"
15948
15958
  ),
@@ -16278,13 +16288,13 @@ function Tm({
16278
16288
  "span",
16279
16289
  {
16280
16290
  "aria-hidden": !0,
16281
- className: P("pointer-events-none absolute", t, e),
16291
+ className: z("pointer-events-none absolute", t, e),
16282
16292
  children: r ? /* @__PURE__ */ c(qe, { children: [
16283
- /* @__PURE__ */ n("span", { className: P("absolute left-0 top-0 bottom-0 w-[1.5px]", o) }),
16293
+ /* @__PURE__ */ n("span", { className: z("absolute left-0 top-0 bottom-0 w-[1.5px]", o) }),
16284
16294
  /* @__PURE__ */ n(
16285
16295
  "span",
16286
16296
  {
16287
- className: P(
16297
+ className: z(
16288
16298
  "absolute left-0 top-1/2 -translate-y-1/2 h-[1.5px] w-3",
16289
16299
  o
16290
16300
  )
@@ -16295,7 +16305,7 @@ function Tm({
16295
16305
  /* @__PURE__ */ n(
16296
16306
  "span",
16297
16307
  {
16298
- className: P(
16308
+ className: z(
16299
16309
  "absolute left-0 top-0 bottom-1/2 w-3 rounded-bl-lg border-b-[1.5px] border-l-[1.5px]",
16300
16310
  "border-current"
16301
16311
  )
@@ -16371,7 +16381,7 @@ function Im({
16371
16381
  type: "button",
16372
16382
  onClick: () => t(e),
16373
16383
  title: `Open shipped session: ${e.title}`,
16374
- className: P(
16384
+ className: z(
16375
16385
  "group flex w-full items-center text-left outline-none transition-[transform,background-color] focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary/60",
16376
16386
  r ? "live-pane lfg-gborder gap-3 rounded-xl border border-transparent bg-card px-3 py-2.5 active:scale-[0.99]" : "gap-2 rounded-xl border border-transparent px-2 py-1.5 hover:bg-muted/70"
16377
16387
  ),
@@ -16379,7 +16389,7 @@ function Im({
16379
16389
  /* @__PURE__ */ c(
16380
16390
  "span",
16381
16391
  {
16382
- className: P(
16392
+ className: z(
16383
16393
  "relative flex shrink-0 items-center justify-center",
16384
16394
  r ? "size-8" : "size-6"
16385
16395
  ),
@@ -16389,7 +16399,7 @@ function Im({
16389
16399
  {
16390
16400
  src: nr(e.agent),
16391
16401
  alt: _i(e.agent),
16392
- className: P("rounded-md", r ? "size-8" : "size-6")
16402
+ className: z("rounded-md", r ? "size-8" : "size-6")
16393
16403
  }
16394
16404
  ),
16395
16405
  /* @__PURE__ */ n(
@@ -16408,7 +16418,7 @@ function Im({
16408
16418
  /* @__PURE__ */ n(
16409
16419
  "span",
16410
16420
  {
16411
- className: P(
16421
+ className: z(
16412
16422
  "min-w-0 flex-1 truncate font-medium leading-tight",
16413
16423
  r ? "text-sm" : "text-[13px]"
16414
16424
  ),
@@ -16420,7 +16430,7 @@ function Im({
16420
16430
  /* @__PURE__ */ n(
16421
16431
  "span",
16422
16432
  {
16423
- className: P(
16433
+ className: z(
16424
16434
  "truncate leading-tight text-muted-foreground",
16425
16435
  r ? "mt-0.5 text-xs" : "text-[11px]"
16426
16436
  ),
@@ -16464,7 +16474,7 @@ function FN({
16464
16474
  onOpenAsk: W,
16465
16475
  onOpenBots: ne,
16466
16476
  onOpenSessions: V,
16467
- railSurface: z = "sessions",
16477
+ railSurface: P = "sessions",
16468
16478
  bots: re = [],
16469
16479
  selectedBotId: ie = null,
16470
16480
  onOpenBot: fe,
@@ -16535,7 +16545,7 @@ function FN({
16535
16545
  }, Oe = (te, Y = 0) => /* @__PURE__ */ n(
16536
16546
  "div",
16537
16547
  {
16538
- className: P(
16548
+ className: z(
16539
16549
  Y > 0 && "md:col-span-2"
16540
16550
  ),
16541
16551
  children: /* @__PURE__ */ n(
@@ -16641,7 +16651,7 @@ function FN({
16641
16651
  onOpenAsk: W,
16642
16652
  onOpenBots: ne,
16643
16653
  onOpenSessions: V,
16644
- railSurface: z,
16654
+ railSurface: P,
16645
16655
  bots: re,
16646
16656
  selectedBotId: ie,
16647
16657
  onOpenBot: fe,
@@ -16814,7 +16824,7 @@ function qN({
16814
16824
  },
16815
16825
  railSurface: ne = "sessions",
16816
16826
  bots: V = [],
16817
- selectedBotId: z = null,
16827
+ selectedBotId: P = null,
16818
16828
  onOpenBot: re,
16819
16829
  onNewBot: ie,
16820
16830
  onEditBot: fe,
@@ -17002,9 +17012,9 @@ function qN({
17002
17012
  },
17003
17013
  [_t]
17004
17014
  ), wt = je(
17005
- () => z ? V.find((L) => L.id === z) ?? null : null,
17006
- [V, z]
17007
- ), Nt = z ? et(z) : null;
17015
+ () => P ? V.find((L) => L.id === P) ?? null : null,
17016
+ [V, P]
17017
+ ), Nt = P ? et(P) : null;
17008
17018
  F(() => {
17009
17019
  ne !== "chat" || !Nt || (Ge((L) => L === Nt ? L : Nt), X(Nt));
17010
17020
  }, [ne, Nt]);
@@ -17373,7 +17383,7 @@ function qN({
17373
17383
  onClick: () => p(L),
17374
17384
  className: "flex w-full items-center gap-2 rounded-lg px-2 py-1.5 text-left hover:bg-muted",
17375
17385
  children: [
17376
- /* @__PURE__ */ n("span", { className: P("size-2 shrink-0 rounded-full", Yl[L.severity]) }),
17386
+ /* @__PURE__ */ n("span", { className: z("size-2 shrink-0 rounded-full", Yl[L.severity]) }),
17377
17387
  /* @__PURE__ */ c("span", { className: "flex min-w-0 flex-1 flex-col", children: [
17378
17388
  /* @__PURE__ */ n("span", { className: "truncate text-[13px] font-medium leading-tight", children: h(L.agentId) }),
17379
17389
  /* @__PURE__ */ n("span", { className: "truncate text-[11px] leading-tight text-muted-foreground", children: L.title })
@@ -17402,7 +17412,7 @@ function qN({
17402
17412
  ) : null,
17403
17413
  V.map((L) => {
17404
17414
  var Ye;
17405
- const N = et(L.id), G = N ? e.find((gt) => gt.sessionId === N) : void 0, ze = !!(N && i[N]), Ie = z === L.id, Se = ((Ye = G == null ? void 0 : G.last) == null ? void 0 : Ye.text) || (G == null ? void 0 : G.lastUserText) || "", Ze = Se ? Di(Ts(Se, L)) : "Say hi to get started.";
17415
+ const N = et(L.id), G = N ? e.find((gt) => gt.sessionId === N) : void 0, ze = !!(N && i[N]), Ie = P === L.id, Se = ((Ye = G == null ? void 0 : G.last) == null ? void 0 : Ye.text) || (G == null ? void 0 : G.lastUserText) || "", Ze = Se ? Di(Ts(Se, L)) : "Say hi to get started.";
17406
17416
  return /* @__PURE__ */ c(
17407
17417
  "button",
17408
17418
  {
@@ -17411,7 +17421,7 @@ function qN({
17411
17421
  onClick: () => {
17412
17422
  re == null || re(L.id), N && dn(N, !1);
17413
17423
  },
17414
- className: P(
17424
+ className: z(
17415
17425
  "flex w-full items-center rounded-lg text-left transition-colors",
17416
17426
  Ae ? "justify-center px-1 py-1.5" : "gap-2 px-2 py-1.5",
17417
17427
  Ie ? "bg-muted" : "hover:bg-muted/60"
@@ -17422,7 +17432,7 @@ function qN({
17422
17432
  /* @__PURE__ */ n(
17423
17433
  "span",
17424
17434
  {
17425
- className: P(
17435
+ className: z(
17426
17436
  "truncate text-[13px] font-medium leading-tight",
17427
17437
  !L.enabled && "text-muted-foreground"
17428
17438
  ),
@@ -17619,7 +17629,7 @@ function qN({
17619
17629
  /* @__PURE__ */ n(
17620
17630
  "div",
17621
17631
  {
17622
- className: P(
17632
+ className: z(
17623
17633
  "grid h-full min-h-0 min-w-0 flex-1 gap-3",
17624
17634
  // 1 pane → full; 2 → side by side; 3-4 → 2×2 (panes 1&2 top, 3&4 bottom).
17625
17635
  En.length <= 1 ? "grid-cols-1 grid-rows-1" : En.length === 2 ? "grid-cols-2 grid-rows-1" : "grid-cols-2 grid-rows-2"
@@ -17809,7 +17819,7 @@ const VN = _s(function({
17809
17819
  "div",
17810
17820
  {
17811
17821
  "data-rail-sid": t.sessionId ?? "",
17812
- className: P(
17822
+ className: z(
17813
17823
  "lfg-rail-in relative rounded-xl",
17814
17824
  x ? "overflow-hidden" : "overflow-visible",
17815
17825
  i && "ring-2 ring-inset ring-primary/60"
@@ -17819,14 +17829,14 @@ const VN = _s(function({
17819
17829
  "div",
17820
17830
  {
17821
17831
  "aria-hidden": !0,
17822
- className: P(
17832
+ className: z(
17823
17833
  "pointer-events-none absolute inset-0 flex items-center px-3",
17824
17834
  a ? "justify-end" : "justify-start"
17825
17835
  ),
17826
17836
  children: /* @__PURE__ */ n(
17827
17837
  cr,
17828
17838
  {
17829
- className: P("size-4", a ? "text-muted-foreground" : "text-primary"),
17839
+ className: z("size-4", a ? "text-muted-foreground" : "text-primary"),
17830
17840
  fill: a ? "none" : "currentColor"
17831
17841
  }
17832
17842
  )
@@ -17852,7 +17862,7 @@ const VN = _s(function({
17852
17862
  onTouchMove: _,
17853
17863
  onTouchEnd: S,
17854
17864
  title: d ? Zn(t) : void 0,
17855
- className: P(
17865
+ className: z(
17856
17866
  "group relative flex cursor-pointer touch-pan-y select-none items-center gap-2 rounded-xl border py-1.5 outline-none transition-[background-color,box-shadow,border-color] duration-150",
17857
17867
  d ? "justify-center px-0" : "px-2",
17858
17868
  x ? "border-transparent bg-card" : o ? (
@@ -17864,7 +17874,7 @@ const VN = _s(function({
17864
17874
  /* @__PURE__ */ c(
17865
17875
  "span",
17866
17876
  {
17867
- className: P(
17877
+ className: z(
17868
17878
  "relative flex shrink-0 items-center justify-center",
17869
17879
  // The creature is a silhouette with no plate behind it, so it reads
17870
17880
  // smaller than a square harness mark at the same box size. Giving
@@ -17917,7 +17927,7 @@ const VN = _s(function({
17917
17927
  k.stopPropagation(), m();
17918
17928
  },
17919
17929
  "aria-label": a ? "Unpin column" : "Pin as column",
17920
- className: P(
17930
+ className: z(
17921
17931
  "flex size-6 shrink-0 items-center justify-center rounded-md transition-opacity",
17922
17932
  a ? "text-primary opacity-100" : "text-muted-foreground opacity-0 hover:bg-muted group-hover:opacity-100"
17923
17933
  ),
@@ -18009,7 +18019,7 @@ function WN({
18009
18019
  "aria-label": `Dismiss finding from ${t}`,
18010
18020
  tabIndex: i ? 0 : -1,
18011
18021
  onClick: p,
18012
- className: P(
18022
+ className: z(
18013
18023
  "absolute inset-0 flex items-center justify-end gap-2 rounded-xl bg-destructive pr-5 text-sm font-semibold text-white",
18014
18024
  i || l ? "" : "hidden",
18015
18025
  i ? "" : "pointer-events-none"
@@ -18043,7 +18053,7 @@ function WN({
18043
18053
  className: "live-pane lfg-gborder relative z-[1] flex w-full touch-pan-y flex-col gap-1 rounded-xl border border-transparent bg-card px-3 py-2.5 text-left transition-[transform,opacity] active:scale-[0.99]",
18044
18054
  children: [
18045
18055
  /* @__PURE__ */ c("div", { className: "flex w-full items-center gap-2", children: [
18046
- /* @__PURE__ */ n("span", { className: P("size-2 shrink-0 rounded-full", Yl[e.severity]) }),
18056
+ /* @__PURE__ */ n("span", { className: z("size-2 shrink-0 rounded-full", Yl[e.severity]) }),
18047
18057
  /* @__PURE__ */ n("span", { className: "text-[13px] font-semibold", children: t }),
18048
18058
  /* @__PURE__ */ n("span", { className: "ml-auto text-[11px] text-muted-foreground", children: Ro(e.createdAt) })
18049
18059
  ] }),
@@ -18060,7 +18070,7 @@ function rs({
18060
18070
  action: s
18061
18071
  }) {
18062
18072
  return /* @__PURE__ */ c("div", { className: "mb-2 flex items-center gap-2 px-0.5", children: [
18063
- /* @__PURE__ */ n("span", { className: P("size-1.5 rounded-full", r) }),
18073
+ /* @__PURE__ */ n("span", { className: z("size-1.5 rounded-full", r) }),
18064
18074
  /* @__PURE__ */ n("span", { className: "text-[11px] font-semibold uppercase tracking-wide text-muted-foreground", children: e }),
18065
18075
  /* @__PURE__ */ n("span", { className: "rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-medium tabular-nums text-muted-foreground", children: t }),
18066
18076
  s ? /* @__PURE__ */ n("div", { className: "ml-auto flex items-center", children: s }) : null
@@ -18082,7 +18092,7 @@ function Xl({
18082
18092
  disabled: t || e === 0,
18083
18093
  onClick: r,
18084
18094
  "aria-label": `Triage and execute ${e} auto finding${e === 1 ? "" : "s"}`,
18085
- className: P(
18095
+ className: z(
18086
18096
  o && "gap-1.5",
18087
18097
  s && "size-5 rounded-md [&_svg]:size-3"
18088
18098
  ),
@@ -18276,7 +18286,7 @@ function YN({
18276
18286
  },
18277
18287
  onClick: () => t(m),
18278
18288
  onMouseEnter: () => i(f),
18279
- className: P(
18289
+ className: z(
18280
18290
  "flex w-full items-center gap-2 rounded-lg px-2.5 py-2 text-left text-sm",
18281
18291
  f === o ? "bg-accent text-accent-foreground" : "hover:bg-accent/70"
18282
18292
  ),
@@ -18356,7 +18366,7 @@ function Lo({
18356
18366
  ...d,
18357
18367
  ref: y,
18358
18368
  value: e,
18359
- className: P(
18369
+ className: z(
18360
18370
  "relative z-0",
18361
18371
  d.className,
18362
18372
  o && "!pl-11",
@@ -18400,7 +18410,7 @@ function Jl({ className: e, ...t }) {
18400
18410
  Lo,
18401
18411
  {
18402
18412
  ...t,
18403
- className: P(
18413
+ className: z(
18404
18414
  "max-h-40 min-w-0 flex-1 resize-none overflow-y-auto [field-sizing:fixed] md:max-h-36",
18405
18415
  e
18406
18416
  )
@@ -18455,7 +18465,7 @@ function ZN({
18455
18465
  var be;
18456
18466
  return ((be = Ia(f)) == null ? void 0 : be.text) ?? "";
18457
18467
  }
18458
- ), [b, x] = v(!1), [y, w] = v(!1), [M, _] = v(null), [S, k] = v(!1), D = j(null), [B, W] = v(0), [ne, V] = v(!1), z = Hl({
18468
+ ), [b, x] = v(!1), [y, w] = v(!1), [M, _] = v(null), [S, k] = v(!1), D = j(null), [B, W] = v(0), [ne, V] = v(!1), P = Hl({
18459
18469
  endpoint: (be) => u ? m ? `/api/uploads?filename=${encodeURIComponent(be.name)}` : `/api/sessions/${u}/upload?filename=${encodeURIComponent(be.name)}` : null,
18460
18470
  disabled: b
18461
18471
  }), {
@@ -18465,7 +18475,7 @@ function ZN({
18465
18475
  removeAttachment: K,
18466
18476
  resolveUpload: q,
18467
18477
  forgetAllUploads: ae
18468
- } = z, [U] = v(() => new uy()), R = Hx(), { messages: I, setMessages: C, sendMessage: T, status: E } = R, Q = je(() => hy(I), [I]), [se, xe] = v(!1), he = r || se || E === "submitted" || E === "streaming", J = oe(
18478
+ } = P, [U] = v(() => new uy()), R = Hx(), { messages: I, setMessages: C, sendMessage: T, status: E } = R, Q = je(() => hy(I), [I]), [se, xe] = v(!1), he = r || se || E === "submitted" || E === "streaming", J = oe(
18469
18479
  (be) => {
18470
18480
  p(be), u && hf({
18471
18481
  contextKey: f,
@@ -18657,8 +18667,8 @@ function ZN({
18657
18667
  "form",
18658
18668
  {
18659
18669
  onSubmit: Ne,
18660
- ...z.dropZoneProps,
18661
- className: P(
18670
+ ...P.dropZoneProps,
18671
+ className: z(
18662
18672
  // Sit on the same surface as the chat (no card/border seam) and let
18663
18673
  // the transcript melt into the bar via a soft gradient fade so the
18664
18674
  // composer reads as part of the conversation, not a bolted-on panel.
@@ -18670,22 +18680,22 @@ function ZN({
18670
18680
  S && "lfg-composer-launching"
18671
18681
  ),
18672
18682
  children: [
18673
- z.fileInput,
18683
+ P.fileInput,
18674
18684
  /* @__PURE__ */ n(
18675
18685
  ql,
18676
18686
  {
18677
18687
  className: "mb-2",
18678
18688
  items: re.map((be) => ({ att: be })),
18679
18689
  disabled: b,
18680
- onAnnotate: z.setAnnotatingId,
18690
+ onAnnotate: P.setAnnotatingId,
18681
18691
  onRemove: K,
18682
- onToggleHd: z.setAttachmentHd
18692
+ onToggleHd: P.setAttachmentHd
18683
18693
  }
18684
18694
  ),
18685
18695
  /* @__PURE__ */ c(
18686
18696
  "div",
18687
18697
  {
18688
- className: P(
18698
+ className: z(
18689
18699
  "flex gap-2",
18690
18700
  ne ? "items-end" : "items-center"
18691
18701
  ),
@@ -18697,7 +18707,7 @@ function ZN({
18697
18707
  type: "button",
18698
18708
  variant: fe ? "brand-soft" : "tint",
18699
18709
  className: "size-11 md:size-9",
18700
- onClick: z.openFilePicker,
18710
+ onClick: P.openFilePicker,
18701
18711
  "aria-label": "Attach files",
18702
18712
  title: "Attach files",
18703
18713
  disabled: b,
@@ -18716,7 +18726,7 @@ function ZN({
18716
18726
  scrollToEndNonce: B,
18717
18727
  showSkillButton: !0,
18718
18728
  insetEnd: !0,
18719
- onPaste: z.onPasteFiles,
18729
+ onPaste: P.onPasteFiles,
18720
18730
  onKeyDown: (be) => {
18721
18731
  var ye;
18722
18732
  if (!(be.key !== "Enter" || be.shiftKey)) {
@@ -18730,7 +18740,7 @@ function ZN({
18730
18740
  placeholder: re.length ? "Add a note" : t ? `Message ${t.name}…` : m ? "Message to resume" : "Message",
18731
18741
  disabled: b,
18732
18742
  rows: 1,
18733
- className: P(
18743
+ className: z(
18734
18744
  // Height and follow-scroll are owned by ComposerTextarea.
18735
18745
  // Rest at one line; the shared cap stops before the transcript.
18736
18746
  "lfg-gfield min-h-11 rounded-2xl border-transparent px-4 py-3 text-base leading-5 shadow-sm transition-[background-color,border-color,box-shadow] duration-300 ease-ios placeholder:text-muted-foreground md:min-h-9 md:rounded-[1.125rem] md:px-3.5 md:py-2 md:text-sm"
@@ -18793,7 +18803,7 @@ function ZN({
18793
18803
  ]
18794
18804
  }
18795
18805
  ) : null,
18796
- z.annotator
18806
+ P.annotator
18797
18807
  ] });
18798
18808
  }
18799
18809
  function $m({
@@ -18864,7 +18874,7 @@ function QN({ title: e }) {
18864
18874
  "div",
18865
18875
  {
18866
18876
  ref: t,
18867
- className: P(
18877
+ className: z(
18868
18878
  "text-[17px] font-semibold leading-tight whitespace-nowrap",
18869
18879
  o ? "lfg-marquee inline-block" : "overflow-hidden text-ellipsis"
18870
18880
  ),
@@ -18992,7 +19002,7 @@ function Pm({
18992
19002
  "button",
18993
19003
  {
18994
19004
  type: "button",
18995
- className: P(
19005
+ className: z(
18996
19006
  "flex size-7 shrink-0 items-center justify-center rounded-lg text-muted-foreground hover:bg-muted",
18997
19007
  l
18998
19008
  ),
@@ -19361,7 +19371,7 @@ function r2({
19361
19371
  onClose: b
19362
19372
  }) {
19363
19373
  var I;
19364
- const [x, y] = v(null), [w, M] = v(!1), _ = j(null), S = j(null), k = j(null), D = j(!1), B = j(null), W = !!o[e], ne = i[e] ?? null, V = s.indexOf(e), z = V > 0 ? s[V - 1] : null, re = V >= 0 && V < s.length - 1 ? s[V + 1] : null, ie = oe(
19374
+ const [x, y] = v(null), [w, M] = v(!1), _ = j(null), S = j(null), k = j(null), D = j(!1), B = j(null), W = !!o[e], ne = i[e] ?? null, V = s.indexOf(e), P = V > 0 ? s[V - 1] : null, re = V >= 0 && V < s.length - 1 ? s[V + 1] : null, ie = oe(
19365
19375
  (C) => {
19366
19376
  if (!C || D.current) return;
19367
19377
  const E = s.indexOf(C) > V ? 1 : -1;
@@ -19442,19 +19452,19 @@ function r2({
19442
19452
  }
19443
19453
  if (!E.horizontal) return;
19444
19454
  de.preventDefault(), E.dx = Ne;
19445
- const Be = Ne > 0 ? !z : !re;
19455
+ const Be = Ne > 0 ? !P : !re;
19446
19456
  Q(Ne * (Be ? 0.18 : 0.5));
19447
19457
  }, J = () => {
19448
19458
  if (!E.active) return;
19449
19459
  const { horizontal: de, dx: ve } = E;
19450
19460
  if (E.active = !1, !de) return;
19451
- const Ne = ve > T ? z : ve < -T ? re : null;
19461
+ const Ne = ve > T ? P : ve < -T ? re : null;
19452
19462
  Ne ? ie(Ne) : se();
19453
19463
  };
19454
19464
  return C.addEventListener("touchstart", xe, { passive: !0 }), C.addEventListener("touchmove", he, { passive: !1 }), C.addEventListener("touchend", J, { passive: !0 }), C.addEventListener("touchcancel", J, { passive: !0 }), () => {
19455
19465
  C.removeEventListener("touchstart", xe), C.removeEventListener("touchmove", he), C.removeEventListener("touchend", J), C.removeEventListener("touchcancel", J);
19456
19466
  };
19457
- }, [ie, z, re]);
19467
+ }, [ie, P, re]);
19458
19468
  const ae = oe(() => {
19459
19469
  const C = window.innerWidth || 1, T = window.innerHeight || 1, E = Math.max(a.width / C, 1e-4), Q = Math.max(a.height / T, 1e-4);
19460
19470
  return `translate(${a.left}px, ${a.top}px) scale(${E}, ${Q})`;
@@ -19577,14 +19587,14 @@ function r2({
19577
19587
  U();
19578
19588
  return;
19579
19589
  }
19580
- Dr(E.target) || Dr() || w || (E.key === "ArrowLeft" || E.key === "ArrowUp" ? (E.preventDefault(), ie(z)) : (E.key === "ArrowRight" || E.key === "ArrowDown") && (E.preventDefault(), ie(re)));
19590
+ Dr(E.target) || Dr() || w || (E.key === "ArrowLeft" || E.key === "ArrowUp" ? (E.preventDefault(), ie(P)) : (E.key === "ArrowRight" || E.key === "ArrowDown") && (E.preventDefault(), ie(re)));
19581
19591
  };
19582
19592
  document.addEventListener("keydown", C);
19583
19593
  const T = document.body.style.overflow;
19584
19594
  return document.body.style.overflow = "hidden", () => {
19585
19595
  document.removeEventListener("keydown", C), document.body.style.overflow = T;
19586
19596
  };
19587
- }, [U, ie, z, re, w]);
19597
+ }, [U, ie, P, re, w]);
19588
19598
  const R = Zn(t);
19589
19599
  return pr(
19590
19600
  /* @__PURE__ */ c(
@@ -19717,27 +19727,27 @@ function Om({
19717
19727
  const o = t === "continue", i = Xr(), a = Mt(ml), l = Mt(Pi), d = je(
19718
19728
  () => Li(a, l),
19719
19729
  [l, a]
19720
- ), u = (z) => i.defaults[z] ?? Ur[z], m = s2(e.agent, d), [f, h] = v(() => m), [p, b] = v(""), [x, y] = v(
19730
+ ), u = (P) => i.defaults[P] ?? Ur[P], m = s2(e.agent, d), [f, h] = v(() => m), [p, b] = v(""), [x, y] = v(
19721
19731
  () => localStorage.getItem(`lfg_fork_model_${m}`) || u(m)
19722
19732
  ), [w, M] = v(() => tr()), [_, S] = v(""), k = e.sessionId, D = i.models[f] ?? Qn[f], B = Ri(f), W = f === "aisdk" && p ? `aisdk:${p}` : f, ne = Hl({
19723
- endpoint: (z) => `/api/uploads?filename=${encodeURIComponent(z.name)}`
19733
+ endpoint: (P) => `/api/uploads?filename=${encodeURIComponent(P.name)}`
19724
19734
  });
19725
19735
  F(() => {
19726
19736
  D.includes(x) || y(D[0]);
19727
19737
  }, [D, x]), F(() => {
19728
19738
  var re;
19729
19739
  if (d.some((ie) => ie.key === f)) return;
19730
- const z = (re = d[0]) == null ? void 0 : re.key;
19731
- z && (h(z), y(localStorage.getItem(`lfg_fork_model_${z}`) || u(z)));
19740
+ const P = (re = d[0]) == null ? void 0 : re.key;
19741
+ P && (h(P), y(localStorage.getItem(`lfg_fork_model_${P}`) || u(P)));
19732
19742
  }, [f, d]), F(() => {
19733
19743
  if (f !== "aisdk" || d.some((re) => (re.selectorId ?? re.key) === W)) return;
19734
- const z = d.find((re) => re.key === "aisdk");
19735
- b((z == null ? void 0 : z.accountId) ?? "");
19744
+ const P = d.find((re) => re.key === "aisdk");
19745
+ b((P == null ? void 0 : P.accountId) ?? "");
19736
19746
  }, [f, d, W]), F(() => {
19737
19747
  B.length && !B.includes(w) && M(B.includes("high") ? "high" : B[0]);
19738
19748
  }, [w, B]);
19739
- function V(z, re) {
19740
- if (z == null || z.preventDefault(), !k) return;
19749
+ function V(P, re) {
19750
+ if (P == null || P.preventDefault(), !k) return;
19741
19751
  if (!d.some((K) => K.key === f)) {
19742
19752
  we.error(
19743
19753
  `Set up and sign in to a coding agent before ${o ? "continuing" : "forking"} a session.`
@@ -19774,8 +19784,8 @@ function Om({
19774
19784
  Vr,
19775
19785
  {
19776
19786
  open: !0,
19777
- onOpenChange: (z) => {
19778
- z || r();
19787
+ onOpenChange: (P) => {
19788
+ P || r();
19779
19789
  },
19780
19790
  children: /* @__PURE__ */ c(
19781
19791
  Wr,
@@ -19790,7 +19800,7 @@ function Om({
19790
19800
  {
19791
19801
  onSubmit: V,
19792
19802
  ...ne.dropZoneProps,
19793
- className: P(
19803
+ className: z(
19794
19804
  "min-w-0 px-4 pb-5 pt-3 transition-colors",
19795
19805
  ne.draggingFiles && "bg-primary/8"
19796
19806
  ),
@@ -19810,9 +19820,9 @@ function Om({
19810
19820
  value: _,
19811
19821
  onValueChange: S,
19812
19822
  onPaste: ne.onPasteFiles,
19813
- onKeyDown: (z) => {
19823
+ onKeyDown: (P) => {
19814
19824
  var re;
19815
- (z.metaKey || z.ctrlKey) && z.key === "Enter" && (z.preventDefault(), (re = z.currentTarget.form) == null || re.requestSubmit());
19825
+ (P.metaKey || P.ctrlKey) && P.key === "Enter" && (P.preventDefault(), (re = P.currentTarget.form) == null || re.requestSubmit());
19816
19826
  },
19817
19827
  placeholder: ne.attachments.length ? "Add a note for the files…" : "Extra prompt for the new agent…",
19818
19828
  className: "min-h-32 max-h-[42dvh] resize-none overflow-y-auto border-0 bg-transparent px-1 py-1 pr-10 text-base leading-relaxed shadow-none focus-visible:border-0 focus-visible:ring-0"
@@ -19825,13 +19835,13 @@ function Om({
19825
19835
  className: "absolute bottom-1 right-1 size-9 shrink-0",
19826
19836
  silenceMs: 2500,
19827
19837
  baseText: _,
19828
- onText: (z, re) => S(re.trim() ? `${re.trimEnd()} ${z}` : z),
19829
- onInterim: (z, re) => S(re.trim() ? `${re.trimEnd()} ${z}` : z),
19830
- onAutoSubmit: (z, re) => {
19831
- const ie = re.trim() ? `${re.trimEnd()} ${z}` : z;
19838
+ onText: (P, re) => S(re.trim() ? `${re.trimEnd()} ${P}` : P),
19839
+ onInterim: (P, re) => S(re.trim() ? `${re.trimEnd()} ${P}` : P),
19840
+ onAutoSubmit: (P, re) => {
19841
+ const ie = re.trim() ? `${re.trimEnd()} ${P}` : P;
19832
19842
  S(ie), V(void 0, ie);
19833
19843
  },
19834
- onCancel: (z) => S(z)
19844
+ onCancel: (P) => S(P)
19835
19845
  }
19836
19846
  )
19837
19847
  ] }),
@@ -19843,8 +19853,8 @@ function Om({
19843
19853
  options: d,
19844
19854
  value: f,
19845
19855
  selectedId: W,
19846
- onSelect: (z, re) => {
19847
- h(z), z === "aisdk" && b((re == null ? void 0 : re.accountId) ?? ""), y(localStorage.getItem(`lfg_fork_model_${z}`) || u(z));
19856
+ onSelect: (P, re) => {
19857
+ h(P), P === "aisdk" && b((re == null ? void 0 : re.accountId) ?? ""), y(localStorage.getItem(`lfg_fork_model_${P}`) || u(P));
19848
19858
  }
19849
19859
  }
19850
19860
  ),
@@ -19911,27 +19921,27 @@ const Rm = _s(function({
19911
19921
  onTogglePin: y
19912
19922
  }) {
19913
19923
  var me, ee;
19914
- const w = _l(), M = Xr(), _ = Jr(), [S, k] = v(null), [D, B] = v(!1), W = Mt(Po), ne = t.botId ? W.get(t.botId) ?? null : null, V = Mt(lm), z = t.sessionId, re = oe(() => {
19915
- z && (pt("selection"), B(!0));
19916
- }, [z]), ie = oe(
19924
+ const w = _l(), M = Xr(), _ = Jr(), [S, k] = v(null), [D, B] = v(!1), W = Mt(Po), ne = t.botId ? W.get(t.botId) ?? null : null, V = Mt(lm), P = t.sessionId, re = oe(() => {
19925
+ P && (pt("selection"), B(!0));
19926
+ }, [P]), ie = oe(
19917
19927
  async (X) => {
19918
- if (z) {
19928
+ if (P) {
19919
19929
  k(null), B(!1);
19920
19930
  try {
19921
- await d(z, X), we.success("Session renamed");
19931
+ await d(P, X), we.success("Session renamed");
19922
19932
  } catch (Ce) {
19923
19933
  const Re = Ce instanceof Error ? Ce.message : String(Ce);
19924
19934
  throw k(Re), B(!0), Ce;
19925
19935
  }
19926
19936
  }
19927
19937
  },
19928
- [d, z]
19938
+ [d, P]
19929
19939
  );
19930
19940
  async function fe(X) {
19931
- if (!(!z || !X || X === t.model)) {
19941
+ if (!(!P || !X || X === t.model)) {
19932
19942
  k(null);
19933
19943
  try {
19934
- await ke(`/api/sessions/${z}/model`, {
19944
+ await ke(`/api/sessions/${P}/model`, {
19935
19945
  method: "POST",
19936
19946
  headers: { "Content-Type": "application/json" },
19937
19947
  body: JSON.stringify({ model: X })
@@ -19975,10 +19985,10 @@ const Rm = _s(function({
19975
19985
  Re.style.transform = [nt, O].filter(Boolean).join(" ") || "";
19976
19986
  };
19977
19987
  async function He() {
19978
- if (z) {
19979
- u(z);
19988
+ if (P) {
19989
+ u(P);
19980
19990
  try {
19981
- await Bl(z, "mobile_swipe_archive");
19991
+ await Bl(P, "mobile_swipe_archive");
19982
19992
  } catch {
19983
19993
  } finally {
19984
19994
  await l().catch(() => {
@@ -19988,7 +19998,7 @@ const Rm = _s(function({
19988
19998
  }
19989
19999
  async function Be() {
19990
20000
  const X = q.current;
19991
- if (!z) {
20001
+ if (!P) {
19992
20002
  be();
19993
20003
  return;
19994
20004
  }
@@ -20059,10 +20069,10 @@ const Rm = _s(function({
20059
20069
  be();
20060
20070
  return;
20061
20071
  }
20062
- !m || !z || (pt("selection"), m(z, X.currentTarget.getBoundingClientRect()));
20072
+ !m || !P || (pt("selection"), m(P, X.currentTarget.getBoundingClientRect()));
20063
20073
  }
20064
20074
  }, Ae = _;
20065
- return /* @__PURE__ */ c("div", { className: P("relative min-w-0 md:static", f === "stage" && "md:h-full"), children: [
20075
+ return /* @__PURE__ */ c("div", { className: z("relative min-w-0 md:static", f === "stage" && "md:h-full"), children: [
20066
20076
  /* @__PURE__ */ c(
20067
20077
  "button",
20068
20078
  {
@@ -20070,7 +20080,7 @@ const Rm = _s(function({
20070
20080
  "aria-label": "Archive session",
20071
20081
  tabIndex: T ? 0 : -1,
20072
20082
  onClick: () => void Be(),
20073
- className: P(
20083
+ className: z(
20074
20084
  "absolute inset-0 flex items-center justify-end gap-2 rounded-xl bg-destructive pr-6 text-sm font-semibold text-white md:hidden",
20075
20085
  T || Q === "archive" ? "" : "hidden",
20076
20086
  // out of the paint tree unless mid-swipe
@@ -20090,7 +20100,7 @@ const Rm = _s(function({
20090
20100
  onTouchMove: _e,
20091
20101
  onTouchEnd: Je,
20092
20102
  style: _ ? { height: I } : void 0,
20093
- className: P(
20103
+ className: z(
20094
20104
  "live-pane relative z-[1] flex h-[22rem] touch-pan-y flex-col overflow-hidden rounded-xl border bg-card text-card-foreground transition-[height,transform,border-color,box-shadow] duration-300 ease-ios md:static md:transition-[border-color,box-shadow]",
20095
20105
  p && "lfg-card-in",
20096
20106
  f === "stage" ? "md:h-full" : "md:h-[clamp(30rem,72vh,46rem)]",
@@ -20124,7 +20134,7 @@ const Rm = _s(function({
20124
20134
  pl,
20125
20135
  {
20126
20136
  session: t,
20127
- className: P(
20137
+ className: z(
20128
20138
  "rounded-lg transition-all duration-300 ease-ios",
20129
20139
  o ? "size-4" : "size-6"
20130
20140
  ),
@@ -20151,7 +20161,7 @@ const Rm = _s(function({
20151
20161
  onSelect: (X) => X.preventDefault(),
20152
20162
  onContextMenu: (X) => X.preventDefault(),
20153
20163
  title: _ || t.shippedReview ? void 0 : "Double-click to rename",
20154
- className: P(
20164
+ className: z(
20155
20165
  "flex min-w-0 flex-1 touch-manipulation select-none items-center gap-2 text-left outline-none [-webkit-touch-callout:none] [-webkit-user-drag:none] [-webkit-user-select:none] [user-select:none]",
20156
20166
  !_ && !t.shippedReview && "cursor-text rounded-md hover:bg-muted/50"
20157
20167
  ),
@@ -20183,7 +20193,7 @@ const Rm = _s(function({
20183
20193
  }
20184
20194
  ) : null,
20185
20195
  !Ae && !ne && t.botId && t.botName ? /* @__PURE__ */ n(J2, { session: t }) : null,
20186
- !Ae && ((t.agent === "claude" || t.agent === "opencode") && (t.tmuxTarget || t.agent === "opencode") && z ? /* @__PURE__ */ c(Kr, { children: [
20196
+ !Ae && ((t.agent === "claude" || t.agent === "opencode") && (t.tmuxTarget || t.agent === "opencode") && P ? /* @__PURE__ */ c(Kr, { children: [
20187
20197
  /* @__PURE__ */ n(
20188
20198
  Yr,
20189
20199
  {
@@ -20300,17 +20310,17 @@ const Rm = _s(function({
20300
20310
  ), { items: k, queued: D } = je(
20301
20311
  () => Ev(kf(S)),
20302
20312
  [S]
20303
- ), B = k[k.length - 1], W = (B == null ? void 0 : B.type) === "msg" ? B.message : void 0, ne = s && (W == null ? void 0 : W.kind) !== "thinking", V = j(/* @__PURE__ */ new Set()), z = j(/* @__PURE__ */ new Map()), re = j(null);
20313
+ ), B = k[k.length - 1], W = (B == null ? void 0 : B.type) === "msg" ? B.message : void 0, ne = s && (W == null ? void 0 : W.kind) !== "thinking", V = j(/* @__PURE__ */ new Set()), P = j(/* @__PURE__ */ new Map()), re = j(null);
20304
20314
  if (re.current !== t)
20305
20315
  re.current = t, V.current = new Set(
20306
20316
  S.filter((K) => K.id && Ld(K)).map((K) => K.id)
20307
- ), z.current = /* @__PURE__ */ new Map();
20317
+ ), P.current = /* @__PURE__ */ new Map();
20308
20318
  else {
20309
20319
  const K = Date.now();
20310
- for (const [q, ae] of z.current)
20311
- ae <= K && z.current.delete(q);
20320
+ for (const [q, ae] of P.current)
20321
+ ae <= K && P.current.delete(q);
20312
20322
  for (const q of S)
20313
- !q.id || !Ld(q) || V.current.has(q.id) || (V.current.add(q.id), s && z.current.set(q.id, K + 500));
20323
+ !q.id || !Ld(q) || V.current.has(q.id) || (V.current.add(q.id), s && P.current.set(q.id, K + 500));
20314
20324
  }
20315
20325
  F(() => {
20316
20326
  x(!0), M.current = null;
@@ -20349,7 +20359,7 @@ const Rm = _s(function({
20349
20359
  const q = K.currentTarget;
20350
20360
  f(q.scrollHeight - q.scrollTop - q.clientHeight < 72), fe();
20351
20361
  },
20352
- className: P(
20362
+ className: z(
20353
20363
  "chat-stream min-h-0 flex-1 overflow-y-auto bg-background px-3 pt-3",
20354
20364
  // Only reserve room for the floating "files changed / Review" bar
20355
20365
  // while it's actually shown, so it never overlaps the last message.
@@ -20373,7 +20383,7 @@ const Rm = _s(function({
20373
20383
  {
20374
20384
  message: K.message,
20375
20385
  live: s && q === k.length - 1,
20376
- entering: !!K.message.id && z.current.has(K.message.id),
20386
+ entering: !!K.message.id && P.current.has(K.message.id),
20377
20387
  onRetryQueued: a,
20378
20388
  bot: l
20379
20389
  },
@@ -20413,7 +20423,7 @@ const Rm = _s(function({
20413
20423
  /* @__PURE__ */ n(
20414
20424
  "div",
20415
20425
  {
20416
- className: P(
20426
+ className: z(
20417
20427
  "pointer-events-none absolute inset-x-0 z-10 flex justify-center transition-[bottom] duration-200 ease-out",
20418
20428
  y ? "bottom-14" : "bottom-3"
20419
20429
  ),
@@ -20425,7 +20435,7 @@ const Rm = _s(function({
20425
20435
  "aria-hidden": m,
20426
20436
  tabIndex: m ? -1 : 0,
20427
20437
  "aria-label": "Scroll to latest",
20428
- className: P(
20438
+ className: z(
20429
20439
  "lfg-scroll-pill pointer-events-auto flex items-center gap-1.5 rounded-full border border-border bg-card/95 px-3 py-1.5 text-xs font-medium text-foreground shadow-md backdrop-blur",
20430
20440
  m && "lfg-scroll-pill--hidden"
20431
20441
  ),
@@ -20509,7 +20519,7 @@ function Lm({
20509
20519
  /* @__PURE__ */ c(
20510
20520
  "span",
20511
20521
  {
20512
- className: P(
20522
+ className: z(
20513
20523
  "lfg-organic-activity",
20514
20524
  t,
20515
20525
  s.exiting ? "is-exiting" : "is-active"
@@ -20554,7 +20564,7 @@ function d2({ items: e, live: t }) {
20554
20564
  const _ = w.kind === "tool_use", S = w.text || (_ ? "No command details" : "No result details"), k = _ ? S.indexOf(":") : -1, D = _ ? (k >= 0 ? S.slice(0, k) : S) || "Command" : `Result${e.filter((W) => W.kind === "tool_result").length > 1 ? ` ${M + 1}` : ""}`, B = _ && k >= 0 ? S.slice(k + 1).trim() : _ ? "" : S;
20555
20565
  return /* @__PURE__ */ c("div", { className: "min-w-0", children: [
20556
20566
  /* @__PURE__ */ c("div", { className: "mb-1 flex items-center gap-2 text-xs font-semibold text-foreground", children: [
20557
- /* @__PURE__ */ n("span", { className: P("size-1.5 rounded-full", _ ? "bg-primary" : "bg-muted-foreground/60") }),
20567
+ /* @__PURE__ */ n("span", { className: z("size-1.5 rounded-full", _ ? "bg-primary" : "bg-muted-foreground/60") }),
20558
20568
  /* @__PURE__ */ n("span", { className: "truncate font-mono", children: D })
20559
20569
  ] }),
20560
20570
  B ? /* @__PURE__ */ n("pre", { className: "max-h-52 overflow-auto whitespace-pre-wrap break-words rounded-xl bg-muted/60 p-2.5 font-mono text-[11px] leading-relaxed text-muted-foreground", children: B }) : null
@@ -20563,7 +20573,7 @@ function d2({ items: e, live: t }) {
20563
20573
  "button",
20564
20574
  {
20565
20575
  type: "button",
20566
- className: P(
20576
+ className: z(
20567
20577
  "tool-call-row not-prose flex w-fit max-w-full cursor-pointer items-center gap-2 rounded-full px-2.5 py-1 text-left text-xs text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring",
20568
20578
  t && "tool-call-row--live text-foreground"
20569
20579
  ),
@@ -20578,7 +20588,7 @@ function d2({ items: e, live: t }) {
20578
20588
  /* @__PURE__ */ n(
20579
20589
  "span",
20580
20590
  {
20581
- className: P(
20591
+ className: z(
20582
20592
  "relative z-[1] size-1.5 shrink-0 rounded-full bg-muted-foreground/55",
20583
20593
  t && "animate-pulse bg-foreground"
20584
20594
  ),
@@ -20619,7 +20629,7 @@ function Dm({ visible: e = !0, bot: t }) {
20619
20629
  return /* @__PURE__ */ n(
20620
20630
  "div",
20621
20631
  {
20622
- className: P("typing-indicator-slot", e && "is-visible"),
20632
+ className: z("typing-indicator-slot", e && "is-visible"),
20623
20633
  "aria-hidden": !e,
20624
20634
  children: t ? /* @__PURE__ */ n("div", { className: "typing-mascot", role: "status", "aria-label": `${t.name} is working`, children: /* @__PURE__ */ n(Xn, { bot: t, working: !0, size: 30 }) }) : /* @__PURE__ */ c("div", { className: "typing-indicator", role: "status", "aria-label": "Assistant is typing", children: [
20625
20635
  /* @__PURE__ */ n("span", { "aria-hidden": "true" }),
@@ -20646,7 +20656,7 @@ function f2({
20646
20656
  attachments: e,
20647
20657
  pending: t
20648
20658
  }) {
20649
- return /* @__PURE__ */ n("div", { className: P("user-attachments", t && "is-pending"), children: e.map(
20659
+ return /* @__PURE__ */ n("div", { className: z("user-attachments", t && "is-pending"), children: e.map(
20650
20660
  (r) => r.url ? /* @__PURE__ */ n(
20651
20661
  xl,
20652
20662
  {
@@ -20678,7 +20688,7 @@ function m2({
20678
20688
  }, [e, o]), /* @__PURE__ */ c(
20679
20689
  Ys,
20680
20690
  {
20681
- className: P(
20691
+ className: z(
20682
20692
  // MessageContent's own base classes include text-sm; since it and
20683
20693
  // .msg-text.markdown's font-size both land on this same element,
20684
20694
  // Tailwind's utilities layer beats our @layer components rule
@@ -20699,7 +20709,7 @@ function m2({
20699
20709
  "div",
20700
20710
  {
20701
20711
  ref: d,
20702
- className: P(
20712
+ className: z(
20703
20713
  "user-bubble-body relative z-[1]",
20704
20714
  !o && "user-bubble-clamp"
20705
20715
  ),
@@ -20740,7 +20750,7 @@ function p2({
20740
20750
  /* @__PURE__ */ n(
20741
20751
  jt,
20742
20752
  {
20743
- className: P("size-3 transition-transform", r && "rotate-90"),
20753
+ className: z("size-3 transition-transform", r && "rotate-90"),
20744
20754
  "aria-hidden": "true"
20745
20755
  }
20746
20756
  )
@@ -20809,7 +20819,7 @@ function Hd({
20809
20819
  return /* @__PURE__ */ c(
20810
20820
  "div",
20811
20821
  {
20812
- className: P(
20822
+ className: z(
20813
20823
  // Cap width on this direct child of Message (which has a definite
20814
20824
  // w-full). Nested max-w-[85%] on the bubble used to resolve against a
20815
20825
  // content-sized ancestor after MessageActions was introduced, so the
@@ -20932,7 +20942,7 @@ function Vd({
20932
20942
  ] }) }) });
20933
20943
  if (e.kind === "html" && e.url) {
20934
20944
  const m = e.title || e.caption || e.text || e.name || "Artifact";
20935
- return /* @__PURE__ */ n(Fs, { className: P("msg", r && "lfg-msg-in"), from: "assistant", children: /* @__PURE__ */ c(Ys, { className: "not-prose w-full max-w-[min(42rem,92vw)] overflow-hidden rounded-lg border border-border bg-card p-0 shadow-sm", children: [
20945
+ return /* @__PURE__ */ n(Fs, { className: z("msg", r && "lfg-msg-in"), from: "assistant", children: /* @__PURE__ */ c(Ys, { className: "not-prose w-full max-w-[min(42rem,92vw)] overflow-hidden rounded-lg border border-border bg-card p-0 shadow-sm", children: [
20936
20946
  /* @__PURE__ */ c("div", { className: "flex items-center justify-between gap-3 border-b border-border px-3 py-2 text-xs", children: [
20937
20947
  /* @__PURE__ */ c(
20938
20948
  "button",
@@ -20995,7 +21005,7 @@ function Vd({
20995
21005
  }
20996
21006
  if ((e.kind === "image" || e.kind === "video") && e.url) {
20997
21007
  const m = e.kind === "video", f = e.caption || e.text || e.name || (m ? "Video" : "Image");
20998
- return /* @__PURE__ */ n(Fs, { className: P("msg", r && "lfg-msg-in"), from: "assistant", children: /* @__PURE__ */ c(Ys, { className: "not-prose inline-flex w-fit max-w-[min(34rem,92vw)] flex-col items-start overflow-hidden rounded-lg border border-border bg-card p-0 shadow-sm", children: [
21008
+ return /* @__PURE__ */ n(Fs, { className: z("msg", r && "lfg-msg-in"), from: "assistant", children: /* @__PURE__ */ c(Ys, { className: "not-prose inline-flex w-fit max-w-[min(34rem,92vw)] flex-col items-start overflow-hidden rounded-lg border border-border bg-card p-0 shadow-sm", children: [
20999
21009
  m ? /* @__PURE__ */ n(
21000
21010
  Xu,
21001
21011
  {
@@ -21027,7 +21037,7 @@ function Vd({
21027
21037
  Fs,
21028
21038
  {
21029
21039
  ref: a,
21030
- className: P("msg", r && "lfg-msg-in", e.pending && "lfg-user-send"),
21040
+ className: z("msg", r && "lfg-msg-in", e.pending && "lfg-user-send"),
21031
21041
  from: "user",
21032
21042
  children: /* @__PURE__ */ c("div", { className: "flex w-full min-w-0 flex-col items-end gap-1.5", children: [
21033
21043
  l ? /* @__PURE__ */ n(
@@ -21070,7 +21080,7 @@ function Vd({
21070
21080
  Fs,
21071
21081
  {
21072
21082
  ref: a,
21073
- className: P(
21083
+ className: z(
21074
21084
  "msg",
21075
21085
  r && "lfg-msg-in",
21076
21086
  // A just-sent (optimistic) user turn springs up out of the composer.
@@ -21312,7 +21322,7 @@ function ec({
21312
21322
  return /* @__PURE__ */ n(To, { open: e, onOpenChange: s, shouldScaleBackground: !1, children: /* @__PURE__ */ c(
21313
21323
  _o,
21314
21324
  {
21315
- className: P(
21325
+ className: z(
21316
21326
  "mx-auto max-w-lg overflow-hidden",
21317
21327
  y ? "h-auto" : "h-[min(82dvh,42rem)]"
21318
21328
  ),
@@ -21466,15 +21476,15 @@ function Um({
21466
21476
  headers: { "Content-Type": "application/json" },
21467
21477
  body: JSON.stringify({ cwd: V.cwd })
21468
21478
  }), we.success(`Removed ${V.name}`, { description: "The folder is still on disk." }), await (u == null ? void 0 : u(V.cwd));
21469
- } catch (z) {
21470
- we.error(z instanceof Error ? z.message : "Couldn't remove that project");
21479
+ } catch (P) {
21480
+ we.error(P instanceof Error ? P.message : "Couldn't remove that project");
21471
21481
  } finally {
21472
21482
  M(null);
21473
21483
  }
21474
21484
  }
21475
21485
  const B = je(() => k ? t.filter(
21476
21486
  (V) => V.name.toLowerCase().includes(k) || V.cwd.toLowerCase().includes(k)
21477
- ) : t, [t, k]), W = l && !r, ne = P(
21487
+ ) : t, [t, k]), W = l && !r, ne = z(
21478
21488
  "flex w-full items-center gap-2.5 border-b border-border px-3 text-left last:border-0 active:bg-muted",
21479
21489
  m ? "py-2.5" : "py-2"
21480
21490
  );
@@ -21494,7 +21504,7 @@ function Um({
21494
21504
  onClick: () => b((V) => !V),
21495
21505
  "aria-pressed": p,
21496
21506
  title: p ? "Done managing" : "Manage projects",
21497
- className: P(
21507
+ className: z(
21498
21508
  "flex h-8 items-center gap-1.5 rounded-full px-2.5 text-xs font-medium transition-colors",
21499
21509
  p ? "bg-blue-500/15 text-blue-500" : "bg-muted text-muted-foreground"
21500
21510
  ),
@@ -21511,7 +21521,7 @@ function Um({
21511
21521
  onClick: () => kv({ showPaths: !m }),
21512
21522
  "aria-pressed": m,
21513
21523
  title: m ? "Hide folder paths" : "Show folder paths",
21514
- className: P(
21524
+ className: z(
21515
21525
  "flex h-8 items-center gap-1.5 rounded-full px-2.5 text-xs font-medium transition-colors",
21516
21526
  m ? "bg-blue-500/15 text-blue-500" : "bg-muted text-muted-foreground"
21517
21527
  ),
@@ -21669,7 +21679,7 @@ function Wd({
21669
21679
  var In, L;
21670
21680
  const w = Xr(), M = Mt(Pi), { defaultAgent: _ } = xs(), S = (N) => w.defaults[N] ?? Ur[N], [k, D] = v(
21671
21681
  () => Wa(localStorage.getItem("lfg_v2_agent"), _)
21672
- ), [B, W] = v(""), [ne, V] = v(() => localStorage.getItem("lfg_v2_repo") || ""), [z, re] = v(
21682
+ ), [B, W] = v(""), [ne, V] = v(() => localStorage.getItem("lfg_v2_repo") || ""), [P, re] = v(
21673
21683
  () => localStorage.getItem(`lfg_model_${k}`) || localStorage.getItem("lfg_model") || S(k)
21674
21684
  ), [ie, fe] = v(
21675
21685
  () => tr()
@@ -21839,7 +21849,7 @@ function Wd({
21839
21849
  sessionId: N.sessionId,
21840
21850
  sessionTitle: N.title,
21841
21851
  project: N.project
21842
- }), Ie = N.agent === "claude" ? ["fable", "opus", "sonnet", "haiku"].includes(z) ? z : void 0 : N.agent === "opencode" ? (w.models.opencode ?? Qn.opencode).includes(z) ? z : S("opencode") : N.agent === "codex" ? (w.models["codex-aisdk"] ?? Qn["codex-aisdk"]).includes(z) ? z : S("codex-aisdk") : void 0, Se = lr(K, r);
21852
+ }), Ie = N.agent === "claude" ? ["fable", "opus", "sonnet", "haiku"].includes(P) ? P : void 0 : N.agent === "opencode" ? (w.models.opencode ?? Qn.opencode).includes(P) ? P : S("opencode") : N.agent === "codex" ? (w.models["codex-aisdk"] ?? Qn["codex-aisdk"]).includes(P) ? P : S("codex-aisdk") : void 0, Se = lr(K, r);
21843
21853
  l();
21844
21854
  const Ze = (Ye) => we.promise(
21845
21855
  ke("/api/sessions/resume", {
@@ -21917,8 +21927,8 @@ function Wd({
21917
21927
  enabled: e
21918
21928
  });
21919
21929
  F(() => {
21920
- et.includes(z) || re(et[0]);
21921
- }, [et, z]), F(() => {
21930
+ et.includes(P) || re(et[0]);
21931
+ }, [et, P]), F(() => {
21922
21932
  wt.length && !wt.includes(ie) && fe(wt.includes("high") ? "high" : wt[0]);
21923
21933
  }, [ie, wt]);
21924
21934
  const Ot = je(() => Li(x, M), [M, x]), Bn = je(() => Rk(x, M), [M, x]), xr = Dk(), Vt = jk(), $t = k === "aisdk" && B ? `aisdk:${B}` : k;
@@ -21950,7 +21960,7 @@ function Wd({
21950
21960
  de(rt), we.error(rt);
21951
21961
  return;
21952
21962
  }
21953
- const Ze = lr(K, r) || null, Ye = k, gt = z, It = ze ?? ie, at = Ye === "aisdk" && B || void 0, St = Aa({
21963
+ const Ze = lr(K, r) || null, Ye = k, gt = P, It = ze ?? ie, at = Ye === "aisdk" && B || void 0, St = Aa({
21954
21964
  contextKey: "new-session",
21955
21965
  source: "new-session",
21956
21966
  text: Ie,
@@ -22053,7 +22063,7 @@ function Wd({
22053
22063
  /* @__PURE__ */ n(
22054
22064
  nc,
22055
22065
  {
22056
- value: z,
22066
+ value: P,
22057
22067
  models: et,
22058
22068
  onChange: re,
22059
22069
  flat: f === "inline",
@@ -22120,7 +22130,7 @@ function Wd({
22120
22130
  src: nr(k),
22121
22131
  alt: "",
22122
22132
  draggable: !1,
22123
- className: P(
22133
+ className: z(
22124
22134
  "size-5 select-none",
22125
22135
  Y > 0 && (Ke === 1 ? "animate-in fade-in-0 slide-in-from-bottom-2 duration-200" : "animate-in fade-in-0 slide-in-from-top-2 duration-200")
22126
22136
  )
@@ -22150,7 +22160,7 @@ function Wd({
22150
22160
  onSubmit: dn,
22151
22161
  ...ve.dropZoneProps,
22152
22162
  "aria-busy": cn,
22153
- className: P(
22163
+ className: z(
22154
22164
  // Inline home: original device home-indicator pad when standalone.
22155
22165
  // Embed cancels --lfg-device-safe-bottom to 0 (host owns that zone) and
22156
22166
  // the shell still applies host-inset, so Start clears the pill without
@@ -22164,11 +22174,11 @@ function Wd({
22164
22174
  /* @__PURE__ */ c(
22165
22175
  "div",
22166
22176
  {
22167
- className: P(
22177
+ className: z(
22168
22178
  "lfg-gfield relative rounded-2xl",
22169
22179
  // Inline: a single row with the agent icon, field, and mic all
22170
22180
  // centered at rest, then pinned to the bottom as the textarea grows.
22171
- f === "inline" ? P(
22181
+ f === "inline" ? z(
22172
22182
  "flex gap-1.5 overflow-visible px-2.5 py-2",
22173
22183
  T ? "items-end" : "items-center"
22174
22184
  ) : "relative px-2 py-1"
@@ -22198,7 +22208,7 @@ function Wd({
22198
22208
  (N.metaKey || N.ctrlKey) && N.key === "Enter" && (N.preventDefault(), (G = N.currentTarget.form) == null || G.requestSubmit());
22199
22209
  },
22200
22210
  placeholder: Ne.length ? "Add a note for the files…" : "What should we work on?",
22201
- className: P(
22211
+ className: z(
22202
22212
  "border-0 bg-transparent text-base leading-relaxed shadow-none focus-visible:border-0 focus-visible:ring-0",
22203
22213
  f === "inline" ? "min-h-9 flex-1 px-1 py-1.5" : "min-h-40 max-h-[42dvh] px-1 py-1 pr-10"
22204
22214
  )
@@ -22208,7 +22218,7 @@ function Wd({
22208
22218
  ji,
22209
22219
  {
22210
22220
  minimal: !0,
22211
- className: P("size-9 shrink-0", f !== "inline" && "absolute bottom-1 right-1"),
22221
+ className: z("size-9 shrink-0", f !== "inline" && "absolute bottom-1 right-1"),
22212
22222
  silenceMs: 2500,
22213
22223
  baseText: ae,
22214
22224
  onText: (N, G) => {
@@ -22247,7 +22257,7 @@ function Wd({
22247
22257
  /* @__PURE__ */ c(
22248
22258
  "div",
22249
22259
  {
22250
- className: P(
22260
+ className: z(
22251
22261
  "flex items-center gap-2",
22252
22262
  Zr ? "mt-2" : "mt-3"
22253
22263
  ),
@@ -22256,7 +22266,7 @@ function Wd({
22256
22266
  /* @__PURE__ */ n(
22257
22267
  "span",
22258
22268
  {
22259
- className: P(
22269
+ className: z(
22260
22270
  "min-w-0 flex-1 truncate text-xs",
22261
22271
  J ? "text-destructive" : "text-muted-foreground"
22262
22272
  ),
@@ -22396,7 +22406,7 @@ function Bm({ icon: e, children: t, flat: r = !1 }) {
22396
22406
  return /* @__PURE__ */ c(
22397
22407
  "label",
22398
22408
  {
22399
- className: P(
22409
+ className: z(
22400
22410
  "relative inline-flex h-8 cursor-pointer items-center gap-1.5 rounded-full text-foreground",
22401
22411
  r ? "px-1" : "bg-muted px-3"
22402
22412
  ),
@@ -22478,7 +22488,7 @@ function w2({
22478
22488
  return /* @__PURE__ */ n(
22479
22489
  "span",
22480
22490
  {
22481
- className: P(
22491
+ className: z(
22482
22492
  "w-0.5 rounded-full bg-foreground/20 transition-[height,background-color,box-shadow] duration-200",
22483
22493
  d && l === o - 1 && "shadow-[0_0_8px_currentColor]"
22484
22494
  ),
@@ -22503,7 +22513,7 @@ function qm({
22503
22513
  openOnDrag: i = !1,
22504
22514
  orientation: a = "horizontal"
22505
22515
  }) {
22506
- const l = j(null), d = j({ x: 0, y: 0 }), u = j(null), m = j(0), f = j(0), h = j(!1), p = j(!1), b = j(!1), x = j(null), y = j(!1), [w, M] = v(!1), [_, S] = v(!1), k = j(!1), D = j(!1), B = j(!1), W = j(null), ne = j(null), [V, z] = v(() => Math.max(0, t.indexOf(e))), [re, ie] = v({}), [fe, K] = v("above"), q = Math.max(0, t.indexOf(e)), ae = s && t.length > 1, U = Math.max(0, Math.min(t.length - 1, V)), R = t[U] ?? e, I = t.length > 1 ? U / (t.length - 1) : 0, C = Fm(I), T = a === "vertical", E = Math.round(
22516
+ const l = j(null), d = j({ x: 0, y: 0 }), u = j(null), m = j(0), f = j(0), h = j(!1), p = j(!1), b = j(!1), x = j(null), y = j(!1), [w, M] = v(!1), [_, S] = v(!1), k = j(!1), D = j(!1), B = j(!1), W = j(null), ne = j(null), [V, P] = v(() => Math.max(0, t.indexOf(e))), [re, ie] = v({}), [fe, K] = v("above"), q = Math.max(0, t.indexOf(e)), ae = s && t.length > 1, U = Math.max(0, Math.min(t.length - 1, V)), R = t[U] ?? e, I = t.length > 1 ? U / (t.length - 1) : 0, C = Fm(I), T = a === "vertical", E = Math.round(
22507
22517
  Math.max(120, Math.min(260, (t.length - 1) * Kd(t.length)))
22508
22518
  ), Q = () => {
22509
22519
  l.current != null && (window.clearTimeout(l.current), l.current = null);
@@ -22521,7 +22531,7 @@ function qm({
22521
22531
  if (w)
22522
22532
  return document.body.classList.add("thinking-scrubbing"), () => document.body.classList.remove("thinking-scrubbing");
22523
22533
  }, [w]), F(() => {
22524
- !h.current && !D.current && (f.current = q, z(q));
22534
+ !h.current && !D.current && (f.current = q, P(q));
22525
22535
  }, [q]);
22526
22536
  const J = (O) => {
22527
22537
  const ce = O.getBoundingClientRect(), $ = ce.left + ce.width / 2;
@@ -22544,19 +22554,19 @@ function qm({
22544
22554
  var $;
22545
22555
  if (h.current) return;
22546
22556
  const ce = Math.max(0, t.indexOf(e));
22547
- ($ = document.getSelection()) == null || $.removeAllRanges(), f.current = ce, u.current = null, y.current = !1, h.current = !0, p.current = !0, z(ce), J(O), M(!0), pt("heavy");
22557
+ ($ = document.getSelection()) == null || $.removeAllRanges(), f.current = ce, u.current = null, y.current = !1, h.current = !0, p.current = !0, P(ce), J(O), M(!0), pt("heavy");
22548
22558
  }, ve = (O) => {
22549
22559
  if (Q(), !!h.current && (h.current = !1, M(!1), O)) {
22550
22560
  const ce = t[f.current];
22551
22561
  pn.success(), ce && r(ce);
22552
22562
  }
22553
22563
  }, Ne = () => {
22554
- k.current && (k.current = !1, D.current = !1, S(!1), f.current = q, z(q));
22564
+ k.current && (k.current = !1, D.current = !1, S(!1), f.current = q, P(q));
22555
22565
  }, He = (O) => {
22556
22566
  if (!ae || h.current) return;
22557
22567
  ne.current = O;
22558
22568
  const ce = Math.max(0, t.indexOf(e));
22559
- f.current = ce, z(ce), J(O), k.current = !0, S(!0), pt("light");
22569
+ f.current = ce, P(ce), J(O), k.current = !0, S(!0), pt("light");
22560
22570
  }, Be = (O) => {
22561
22571
  k.current ? Ne() : He(O);
22562
22572
  }, be = (O) => {
@@ -22608,7 +22618,7 @@ function qm({
22608
22618
  );
22609
22619
  }, Ge = (O) => {
22610
22620
  const ce = Math.max(0, Math.min(t.length - 1, O));
22611
- ce !== f.current && (f.current = ce, z(ce), pt("medium"));
22621
+ ce !== f.current && (f.current = ce, P(ce), pt("medium"));
22612
22622
  }, Ae = (O, ce) => {
22613
22623
  const $ = x.current;
22614
22624
  if (!$) return null;
@@ -22678,7 +22688,7 @@ function qm({
22678
22688
  "aria-live": "polite",
22679
22689
  "aria-label": `${o} ${R}`,
22680
22690
  style: re,
22681
- className: P(
22691
+ className: z(
22682
22692
  "fixed z-[220] select-none animate-in fade-in-0 zoom-in-90 duration-200",
22683
22693
  // A gesture panel is pure readout under a captured pointer; a
22684
22694
  // clicked-open one is the control itself, so it takes the pointer.
@@ -22836,7 +22846,7 @@ function k2({
22836
22846
  WebkitUserSelect: "none",
22837
22847
  WebkitTouchCallout: "none"
22838
22848
  },
22839
- className: P(
22849
+ className: z(
22840
22850
  "relative inline-flex h-8 cursor-pointer select-none items-center gap-1.5 rounded-full text-foreground outline-none transition-all duration-200 focus-visible:ring-2 focus-visible:ring-ring active:scale-[0.98]",
22841
22851
  s ? "px-1" : "bg-muted px-3",
22842
22852
  (o.scrubbing || o.sticky) && "scale-[1.02] bg-foreground/10"
@@ -22848,7 +22858,7 @@ function k2({
22848
22858
  /* @__PURE__ */ n(
22849
22859
  "span",
22850
22860
  {
22851
- className: P(
22861
+ className: z(
22852
22862
  "max-w-14 truncate text-[11px] font-medium capitalize transition-colors duration-150",
22853
22863
  o.scrubbing ? "text-foreground" : "text-muted-foreground"
22854
22864
  ),
@@ -22945,7 +22955,7 @@ function nc({
22945
22955
  }, [a, u, i]), F(() => () => i == null ? void 0 : i(!1), [i]);
22946
22956
  const w = (D) => {
22947
22957
  r(D), d(!1);
22948
- }, M = P(
22958
+ }, M = z(
22949
22959
  "inline-flex min-w-0 cursor-pointer items-center gap-1.5 rounded-full text-foreground transition active:scale-[0.98]",
22950
22960
  a ? "h-11" : "h-8",
22951
22961
  s ? a ? "px-2" : "px-1" : a ? "bg-muted px-4" : "bg-muted px-3"
@@ -22958,8 +22968,8 @@ function nc({
22958
22968
  "aria-expanded": l,
22959
22969
  className: M,
22960
22970
  children: [
22961
- /* @__PURE__ */ n("span", { className: P("truncate text-xs font-medium", a && "text-sm", o), children: e || "model" }),
22962
- /* @__PURE__ */ n(gn, { className: P("shrink-0 text-muted-foreground/70", a ? "size-4" : "size-3") })
22971
+ /* @__PURE__ */ n("span", { className: z("truncate text-xs font-medium", a && "text-sm", o), children: e || "model" }),
22972
+ /* @__PURE__ */ n(gn, { className: z("shrink-0 text-muted-foreground/70", a ? "size-4" : "size-3") })
22963
22973
  ]
22964
22974
  }
22965
22975
  ), S = y ? /* @__PURE__ */ c("div", { className: "relative", children: [
@@ -22977,20 +22987,20 @@ function nc({
22977
22987
  className: "h-10 w-full rounded-xl border border-border bg-background pl-9 pr-3 text-sm outline-none transition-colors placeholder:text-muted-foreground focus:border-foreground/30"
22978
22988
  }
22979
22989
  )
22980
- ] }) : null, k = /* @__PURE__ */ n("div", { className: P("overflow-y-auto pr-1", a ? "max-h-[52dvh]" : "max-h-72"), children: x.length ? x.map((D) => {
22990
+ ] }) : null, k = /* @__PURE__ */ n("div", { className: z("overflow-y-auto pr-1", a ? "max-h-[52dvh]" : "max-h-72"), children: x.length ? x.map((D) => {
22981
22991
  const B = e === D;
22982
22992
  return /* @__PURE__ */ c(
22983
22993
  "button",
22984
22994
  {
22985
22995
  type: "button",
22986
22996
  onClick: () => w(D),
22987
- className: P(
22997
+ className: z(
22988
22998
  "flex w-full min-w-0 items-center gap-3 rounded-xl px-3 text-left text-sm outline-none transition-colors",
22989
22999
  a ? "h-12" : "h-10",
22990
- B ? "bg-primary/12 text-foreground ring-1 ring-inset ring-primary/20" : P("text-foreground focus-visible:bg-muted", !a && "hover:bg-muted")
23000
+ B ? "bg-primary/12 text-foreground ring-1 ring-inset ring-primary/20" : z("text-foreground focus-visible:bg-muted", !a && "hover:bg-muted")
22991
23001
  ),
22992
23002
  children: [
22993
- /* @__PURE__ */ n(Rt, { className: P("size-4 shrink-0 text-primary", B ? "opacity-100" : "opacity-0") }),
23003
+ /* @__PURE__ */ n(Rt, { className: z("size-4 shrink-0 text-primary", B ? "opacity-100" : "opacity-0") }),
22994
23004
  /* @__PURE__ */ n("span", { className: "min-w-0 flex-1 truncate", children: D })
22995
23005
  ]
22996
23006
  },
@@ -23008,7 +23018,7 @@ function nc({
23008
23018
  onClick: () => d(!0),
23009
23019
  className: M,
23010
23020
  children: [
23011
- /* @__PURE__ */ n("span", { className: P("truncate text-sm font-medium", o), children: e || "model" }),
23021
+ /* @__PURE__ */ n("span", { className: z("truncate text-sm font-medium", o), children: e || "model" }),
23012
23022
  /* @__PURE__ */ n(gn, { className: "size-4 shrink-0 text-muted-foreground/70" })
23013
23023
  ]
23014
23024
  }
@@ -23123,17 +23133,18 @@ function Fi({
23123
23133
  onClose: e,
23124
23134
  title: t,
23125
23135
  page: r = !1,
23126
- expandOnFocus: s = !0,
23127
- footer: o,
23128
- children: i
23136
+ bleed: s = !1,
23137
+ expandOnFocus: o = !0,
23138
+ footer: i,
23139
+ children: a
23129
23140
  }) {
23130
23141
  return /* @__PURE__ */ n(
23131
23142
  To,
23132
23143
  {
23133
23144
  open: !0,
23134
23145
  repositionInputs: !1,
23135
- onOpenChange: (a) => {
23136
- a || e();
23146
+ onOpenChange: (l) => {
23147
+ l || e();
23137
23148
  },
23138
23149
  children: /* @__PURE__ */ c(
23139
23150
  _o,
@@ -23141,12 +23152,13 @@ function Fi({
23141
23152
  overlayClassName: "z-[100]",
23142
23153
  className: "z-[100]",
23143
23154
  page: r,
23144
- expandOnFocus: s,
23155
+ bleed: s,
23156
+ expandOnFocus: o,
23145
23157
  children: [
23146
23158
  /* @__PURE__ */ n(Eo, { className: "sr-only", children: t }),
23147
23159
  /* @__PURE__ */ c("div", { className: "flex min-h-0 flex-auto flex-col", children: [
23148
- /* @__PURE__ */ n("div", { className: "flex min-h-0 flex-auto flex-col overflow-y-auto overscroll-contain", children: i }),
23149
- o ? /* @__PURE__ */ n("div", { className: "shrink-0", children: o }) : null
23160
+ /* @__PURE__ */ n("div", { className: "flex min-h-0 flex-auto flex-col overflow-y-auto overscroll-contain", children: a }),
23161
+ i ? /* @__PURE__ */ n("div", { className: "shrink-0", children: i }) : null
23150
23162
  ] })
23151
23163
  ]
23152
23164
  }
@@ -23164,7 +23176,7 @@ function S2({
23164
23176
  onDismiss: a,
23165
23177
  onRefineAgent: l
23166
23178
  }) {
23167
- const d = mr((r == null ? void 0 : r.agent) ?? "aisdk"), [u, m] = v(""), [f, h] = v(!1), [p, b] = v(!1), [x, y] = v(!1), [w, M] = v(!1), [_, S] = v(""), [k, D] = v(!1), B = j(null), W = j(null), [ne, V] = v((r == null ? void 0 : r.agent) ?? "aisdk"), [z, re] = v((r == null ? void 0 : r.claudeAccountId) ?? ""), [ie, fe] = v(
23179
+ const d = mr((r == null ? void 0 : r.agent) ?? "aisdk"), [u, m] = v(""), [f, h] = v(!1), [p, b] = v(!1), [x, y] = v(!1), [w, M] = v(!1), [_, S] = v(""), [k, D] = v(!1), B = j(null), W = j(null), [ne, V] = v((r == null ? void 0 : r.agent) ?? "aisdk"), [P, re] = v((r == null ? void 0 : r.claudeAccountId) ?? ""), [ie, fe] = v(
23168
23180
  (r == null ? void 0 : r.model) ?? d
23169
23181
  ), [K, q] = v(
23170
23182
  (r == null ? void 0 : r.thinkingLevel) ?? tr()
@@ -23180,7 +23192,7 @@ function S2({
23180
23192
  );
23181
23193
  },
23182
23194
  [s]
23183
- ), T = z && C.has(z) ? z : "", E = () => ({
23195
+ ), T = P && C.has(P) ? P : "", E = () => ({
23184
23196
  agent: ne,
23185
23197
  model: ie,
23186
23198
  thinkingLevel: I ? K : void 0,
@@ -23254,7 +23266,7 @@ function S2({
23254
23266
  /* @__PURE__ */ n(
23255
23267
  gn,
23256
23268
  {
23257
- className: P("size-3 shrink-0 transition-transform", p && "rotate-180")
23269
+ className: z("size-3 shrink-0 transition-transform", p && "rotate-180")
23258
23270
  }
23259
23271
  )
23260
23272
  ]
@@ -23463,9 +23475,9 @@ function S2({
23463
23475
  ] })
23464
23476
  }
23465
23477
  );
23466
- return /* @__PURE__ */ n(Fi, { onClose: o, title: `${t} finding`, page: Q, footer: me, children: /* @__PURE__ */ c("div", { className: P("px-2 pb-2 pt-1", Q && "mt-auto"), children: [
23478
+ return /* @__PURE__ */ n(Fi, { onClose: o, title: `${t} finding`, page: Q, footer: me, children: /* @__PURE__ */ c("div", { className: z("px-2 pb-2 pt-1", Q && "mt-auto"), children: [
23467
23479
  /* @__PURE__ */ c("div", { className: "flex items-center gap-2 text-xs text-muted-foreground", children: [
23468
- /* @__PURE__ */ n("span", { className: P("size-2 shrink-0 rounded-full", Yl[e.severity]) }),
23480
+ /* @__PURE__ */ n("span", { className: z("size-2 shrink-0 rounded-full", Yl[e.severity]) }),
23469
23481
  /* @__PURE__ */ n("span", { className: "truncate font-medium text-foreground/75", children: t }),
23470
23482
  /* @__PURE__ */ n("span", { "aria-hidden": !0, children: "·" }),
23471
23483
  /* @__PURE__ */ n("span", { className: "shrink-0", children: Ro(e.createdAt) })
@@ -23618,7 +23630,7 @@ function M2({
23618
23630
  const Je = { ..._e, ...ye };
23619
23631
  return y(Qx(Je)), Je;
23620
23632
  });
23621
- }, [ne, V] = v((m == null ? void 0 : m.enabled) ?? !0), [z, re] = v((m == null ? void 0 : m.cwd) ?? ((be = t[0]) == null ? void 0 : be.cwd) ?? ""), [ie, fe] = v((m == null ? void 0 : m.agent) ?? "aisdk"), [K, q] = v((m == null ? void 0 : m.claudeAccountId) ?? ""), ae = mr((m == null ? void 0 : m.agent) ?? "aisdk"), [U, R] = v(
23633
+ }, [ne, V] = v((m == null ? void 0 : m.enabled) ?? !0), [P, re] = v((m == null ? void 0 : m.cwd) ?? ((be = t[0]) == null ? void 0 : be.cwd) ?? ""), [ie, fe] = v((m == null ? void 0 : m.agent) ?? "aisdk"), [K, q] = v((m == null ? void 0 : m.claudeAccountId) ?? ""), ae = mr((m == null ? void 0 : m.agent) ?? "aisdk"), [U, R] = v(
23622
23634
  (m == null ? void 0 : m.model) ?? ae
23623
23635
  ), [I, C] = v(
23624
23636
  (m == null ? void 0 : m.thinkingLevel) ?? tr()
@@ -23636,7 +23648,7 @@ function M2({
23636
23648
  body: JSON.stringify({
23637
23649
  prompt: p.trim(),
23638
23650
  name: f.trim() || void 0,
23639
- cwd: z || void 0
23651
+ cwd: P || void 0
23640
23652
  })
23641
23653
  });
23642
23654
  (ye = _e.prompt) != null && ye.trim() && b(_e.prompt.trim());
@@ -23657,7 +23669,7 @@ function M2({
23657
23669
  prompt: p.trim(),
23658
23670
  schedule: x.trim(),
23659
23671
  enabled: ne,
23660
- cwd: z || void 0,
23672
+ cwd: P || void 0,
23661
23673
  agent: ie,
23662
23674
  model: U.trim() || void 0,
23663
23675
  thinkingLevel: Ne ? I : void 0,
@@ -23845,7 +23857,7 @@ function M2({
23845
23857
  /* @__PURE__ */ c(
23846
23858
  "select",
23847
23859
  {
23848
- value: z,
23860
+ value: P,
23849
23861
  onChange: (ye) => re(ye.target.value),
23850
23862
  "aria-label": "Repo",
23851
23863
  className: "max-w-44 appearance-none truncate bg-transparent text-right text-[13px] font-medium outline-none",
@@ -23885,14 +23897,14 @@ function M2({
23885
23897
  /* @__PURE__ */ n(
23886
23898
  "span",
23887
23899
  {
23888
- className: P(
23900
+ className: z(
23889
23901
  "relative h-6 w-11 rounded-full transition-colors",
23890
23902
  ne ? "bg-success" : "bg-border"
23891
23903
  ),
23892
23904
  children: /* @__PURE__ */ n(
23893
23905
  "span",
23894
23906
  {
23895
- className: P(
23907
+ className: z(
23896
23908
  "absolute left-0.5 top-0.5 size-5 rounded-full bg-white transition-transform",
23897
23909
  ne ? "translate-x-5" : ""
23898
23910
  )
@@ -24238,7 +24250,7 @@ function O2({
24238
24250
  " live"
24239
24251
  ] })
24240
24252
  ] }),
24241
- /* @__PURE__ */ n("div", { className: P(
24253
+ /* @__PURE__ */ n("div", { className: z(
24242
24254
  "text-xs",
24243
24255
  x ? "font-medium text-warning" : "text-muted-foreground"
24244
24256
  ), children: b === 0 ? "No limit" : x ? `Limit reached · ${p}/${b} live` : `${p}/${b} live · limit` })
@@ -24261,13 +24273,13 @@ function O2({
24261
24273
  ] }),
24262
24274
  /* @__PURE__ */ c("div", { className: "flex w-full items-center justify-between gap-3 px-4 py-2.5 text-left", children: [
24263
24275
  /* @__PURE__ */ c("div", { className: "flex min-w-0 items-center gap-3", children: [
24264
- /* @__PURE__ */ n("span", { className: P(
24276
+ /* @__PURE__ */ n("span", { className: z(
24265
24277
  "flex size-7 shrink-0 items-center justify-center rounded-[7px] text-white transition-colors duration-200 ease-apple",
24266
24278
  e.agentsPaused ? "bg-warning" : "bg-foreground/70"
24267
24279
  ), children: /* @__PURE__ */ n(No, { className: "size-4" }) }),
24268
24280
  /* @__PURE__ */ c("div", { className: "min-w-0", children: [
24269
24281
  /* @__PURE__ */ n("div", { className: "text-sm font-medium", children: "Pause new agents" }),
24270
- /* @__PURE__ */ n("div", { className: P(
24282
+ /* @__PURE__ */ n("div", { className: z(
24271
24283
  "text-xs",
24272
24284
  e.agentsPaused ? "font-medium text-warning" : "text-muted-foreground"
24273
24285
  ), children: e.agentsPaused ? "Paused — new sessions are blocked" : "Blocks creating & resuming agents" })
@@ -24285,7 +24297,7 @@ function O2({
24285
24297
  ] }),
24286
24298
  /* @__PURE__ */ c("div", { className: "flex w-full items-center justify-between gap-3 px-4 py-2.5 text-left", children: [
24287
24299
  /* @__PURE__ */ c("div", { className: "flex min-w-0 items-center gap-3", children: [
24288
- /* @__PURE__ */ n("span", { className: P(
24300
+ /* @__PURE__ */ n("span", { className: z(
24289
24301
  "flex size-7 shrink-0 items-center justify-center rounded-[7px] text-white transition-colors duration-200 ease-apple",
24290
24302
  e.idleAgentArchiveMinutes > 0 ? "bg-primary" : "bg-foreground/70"
24291
24303
  ), children: /* @__PURE__ */ n(vo, { className: "size-4" }) }),
@@ -24348,7 +24360,7 @@ function R2() {
24348
24360
  children: /* @__PURE__ */ n(
24349
24361
  "div",
24350
24362
  {
24351
- className: P(
24363
+ className: z(
24352
24364
  "h-full rounded-md transition-all duration-300 ease-ios",
24353
24365
  o != null && o >= 90 ? "bg-destructive" : o != null && o >= 75 ? "bg-amber-500" : "bg-primary"
24354
24366
  ),
@@ -24389,7 +24401,7 @@ function D2({
24389
24401
  if (e.length < 2)
24390
24402
  return /* @__PURE__ */ n("div", { className: "mt-2 flex h-[34px] items-center text-[11px] text-muted-foreground", children: "Collecting…" });
24391
24403
  const m = Math.max(t ?? 0, ...e, 1e-6), f = e.length, h = (M) => M / (f - 1) * l, p = (M) => d - u - Math.min(M, m) / m * (d - u * 2), b = e.map((M, _) => `${_ ? "L" : "M"}${h(_).toFixed(1)},${p(M).toFixed(1)}`).join(" "), x = `${b} L${l.toFixed(1)},${d} L0,${d} Z`, y = e[e.length - 1], w = i != null ? e[i] : y;
24392
- return /* @__PURE__ */ c("div", { className: P("relative mt-2", Vm[r]), children: [
24404
+ return /* @__PURE__ */ c("div", { className: z("relative mt-2", Vm[r]), children: [
24393
24405
  /* @__PURE__ */ c(
24394
24406
  "svg",
24395
24407
  {
@@ -24457,7 +24469,7 @@ function Tr({
24457
24469
  /* @__PURE__ */ c("div", { className: "min-w-0", children: [
24458
24470
  /* @__PURE__ */ c("div", { className: "flex items-center gap-1.5 text-sm font-medium", children: [
24459
24471
  t,
24460
- d ? /* @__PURE__ */ n("span", { className: P("text-[10px] font-semibold uppercase tracking-wide", Vm[a]), children: d }) : null
24472
+ d ? /* @__PURE__ */ n("span", { className: z("text-[10px] font-semibold uppercase tracking-wide", Vm[a]), children: d }) : null
24461
24473
  ] }),
24462
24474
  s ? /* @__PURE__ */ n("div", { className: "text-xs text-muted-foreground tabular-nums", children: s }) : null
24463
24475
  ] })
@@ -24593,7 +24605,7 @@ function B2({ row: e }) {
24593
24605
  return s <= 0 ? null : /* @__PURE__ */ n(
24594
24606
  "div",
24595
24607
  {
24596
- className: P("h-full", di[r].bar),
24608
+ className: z("h-full", di[r].bar),
24597
24609
  style: { width: `${s / t * 100}%` }
24598
24610
  },
24599
24611
  r
@@ -24631,7 +24643,7 @@ function F2({ row: e, hostTotal: t }) {
24631
24643
  /* @__PURE__ */ n(
24632
24644
  gn,
24633
24645
  {
24634
- className: P(
24646
+ className: z(
24635
24647
  "size-4 text-muted-foreground transition-transform duration-200",
24636
24648
  r && "rotate-180"
24637
24649
  )
@@ -24650,7 +24662,7 @@ function F2({ row: e, hostTotal: t }) {
24650
24662
  /* @__PURE__ */ n(
24651
24663
  "span",
24652
24664
  {
24653
- className: P("size-2 shrink-0 rounded-[2px]", di[d].bar)
24665
+ className: z("size-2 shrink-0 rounded-[2px]", di[d].bar)
24654
24666
  }
24655
24667
  ),
24656
24668
  di[d].label,
@@ -24666,7 +24678,7 @@ function F2({ row: e, hostTotal: t }) {
24666
24678
  /* @__PURE__ */ n(
24667
24679
  "span",
24668
24680
  {
24669
- className: P(
24681
+ className: z(
24670
24682
  "mr-1.5 inline-block size-2 rounded-[2px] align-middle",
24671
24683
  di[d.component].bar
24672
24684
  )
@@ -24706,7 +24718,7 @@ function q2() {
24706
24718
  /* @__PURE__ */ n(
24707
24719
  gn,
24708
24720
  {
24709
- className: P(
24721
+ className: z(
24710
24722
  "size-4 shrink-0 text-muted-foreground transition-transform duration-200",
24711
24723
  e && "rotate-180"
24712
24724
  )
@@ -24824,7 +24836,7 @@ function Gm({
24824
24836
  }
24825
24837
  }
24826
24838
  const f = bs(e.provider);
24827
- return /* @__PURE__ */ n("div", { className: P("space-y-4", o && "mt-3 rounded-xl border border-warning/25 bg-background/70 p-3"), children: e.status === "error" ? /* @__PURE__ */ c("div", { className: "space-y-3", children: [
24839
+ return /* @__PURE__ */ n("div", { className: z("space-y-4", o && "mt-3 rounded-xl border border-warning/25 bg-background/70 p-3"), children: e.status === "error" ? /* @__PURE__ */ c("div", { className: "space-y-3", children: [
24828
24840
  /* @__PURE__ */ n("p", { className: "rounded-2xl bg-destructive/10 px-4 py-3 text-sm text-destructive", children: e.error || "Login failed. Please try again." }),
24829
24841
  /* @__PURE__ */ n(Me, { variant: "outline", className: "w-full", onClick: () => void u(), children: "Close" })
24830
24842
  ] }) : /* @__PURE__ */ c(qe, { children: [
@@ -24936,7 +24948,7 @@ function H2({ w: e }) {
24936
24948
  /* @__PURE__ */ n("div", { className: "h-1.5 overflow-hidden rounded-full bg-foreground/[0.08]", children: /* @__PURE__ */ n(
24937
24949
  "div",
24938
24950
  {
24939
- className: P("h-full rounded-full transition-all duration-300 ease-ios", r),
24951
+ className: z("h-full rounded-full transition-all duration-300 ease-ios", r),
24940
24952
  style: { width: `${t ?? 0}%` }
24941
24953
  }
24942
24954
  ) })
@@ -24958,7 +24970,7 @@ function V2() {
24958
24970
  disabled: s,
24959
24971
  className: "flex items-center gap-1 text-xs text-muted-foreground transition-colors hover:text-foreground disabled:opacity-50",
24960
24972
  children: [
24961
- /* @__PURE__ */ n(Es, { className: P("size-3.5", s && "animate-spin") }),
24973
+ /* @__PURE__ */ n(Es, { className: z("size-3.5", s && "animate-spin") }),
24962
24974
  "Refresh"
24963
24975
  ]
24964
24976
  }
@@ -25030,7 +25042,7 @@ function G2({
25030
25042
  /* @__PURE__ */ n(
25031
25043
  "span",
25032
25044
  {
25033
- className: P(
25045
+ className: z(
25034
25046
  "size-2 rounded-full",
25035
25047
  (l == null ? void 0 : l.status) !== "live" ? "bg-muted-foreground/40" : l.latencyMs == null ? "animate-pulse bg-primary" : l.latencyMs <= 150 ? "bg-success" : l.latencyMs <= 300 ? "bg-warning" : "bg-destructive"
25036
25048
  )
@@ -25332,7 +25344,7 @@ function Ym({
25332
25344
  role: "tab",
25333
25345
  "aria-selected": e === o,
25334
25346
  onClick: a,
25335
- className: P(
25347
+ className: z(
25336
25348
  "flex h-[26px] flex-1 items-center justify-center rounded-full px-3 text-xs font-semibold transition-[background-color,color,box-shadow] duration-150",
25337
25349
  e === o ? "bg-card text-foreground shadow-sm" : "text-muted-foreground hover:text-foreground"
25338
25350
  ),
@@ -25358,7 +25370,7 @@ function Xn({
25358
25370
  return /* @__PURE__ */ n(
25359
25371
  "span",
25360
25372
  {
25361
- className: P(
25373
+ className: z(
25362
25374
  "relative flex shrink-0 items-center justify-center leading-none",
25363
25375
  !e.enabled && "opacity-60",
25364
25376
  r
@@ -25639,7 +25651,7 @@ function Q2({
25639
25651
  children: [
25640
25652
  /* @__PURE__ */ n(Xn, { bot: b, working: y, size: 44 }),
25641
25653
  /* @__PURE__ */ c("span", { className: "flex min-w-0 flex-1 flex-col", children: [
25642
- /* @__PURE__ */ n("span", { className: P("truncate text-[13px] font-semibold", !b.enabled && "text-muted-foreground"), children: b.name }),
25654
+ /* @__PURE__ */ n("span", { className: z("truncate text-[13px] font-semibold", !b.enabled && "text-muted-foreground"), children: b.name }),
25643
25655
  /* @__PURE__ */ n("span", { className: "truncate text-xs text-muted-foreground", children: y ? `Working — ${M}` : M })
25644
25656
  ] }),
25645
25657
  b.lastMessageAt ? /* @__PURE__ */ n("span", { className: "shrink-0 text-[10px] tabular-nums text-muted-foreground/70", children: Ro(b.lastMessageAt) }) : null,
@@ -25697,7 +25709,7 @@ function eS({
25697
25709
  a ? e.shape ?? "circle" : oa[Math.floor(Math.random() * oa.length)]
25698
25710
  ), [_, S] = v(
25699
25711
  a ? e.colorway ?? "warm" : ia[Math.floor(Math.random() * ia.length)]
25700
- ), [k, D] = v(l), [B, W] = v(a ? e.model ?? d : d), [ne, V] = v(a ? e.thinkingLevel ?? tr() : tr()), [z, re] = v(!1), ie = Oo(k), fe = mr(k);
25712
+ ), [k, D] = v(l), [B, W] = v(a ? e.model ?? d : d), [ne, V] = v(a ? e.thinkingLevel ?? tr() : tr()), [P, re] = v(!1), ie = Oo(k), fe = mr(k);
25701
25713
  F(() => {
25702
25714
  ie.includes(B) || W(fe);
25703
25715
  }, [fe, B, ie]);
@@ -25721,7 +25733,7 @@ function eS({
25721
25733
  // keyboard is up immediately. A content-sized card had to morph mid-open
25722
25734
  // and left the shape/color rows crowded against the keyboard. Full height
25723
25735
  // from the start on mobile; desktop keeps the centred 85dvh dialog.
25724
- /* @__PURE__ */ n(Fi, { page: !0, onClose: s, title: a ? "Edit bot" : "New bot", children: /* @__PURE__ */ c("div", { className: "px-2 pb-4 pt-1", children: [
25736
+ /* @__PURE__ */ n(Fi, { page: !0, bleed: !0, onClose: s, title: a ? "Edit bot" : "New bot", children: /* @__PURE__ */ c("div", { className: "px-4 pb-4 pt-[calc(0.5rem+env(safe-area-inset-top))] md:px-2 md:pt-1", children: [
25725
25737
  /* @__PURE__ */ c("div", { className: "flex items-center gap-2", children: [
25726
25738
  /* @__PURE__ */ n(wo, { className: "size-5 text-primary" }),
25727
25739
  /* @__PURE__ */ n("span", { className: "min-w-0 flex-1 text-[15px] font-semibold", children: a ? "Edit bot" : "New bot" }),
@@ -25770,7 +25782,7 @@ function eS({
25770
25782
  onClick: () => M(q),
25771
25783
  "aria-pressed": w === q,
25772
25784
  title: Fb[q],
25773
- className: P(
25785
+ className: z(
25774
25786
  "rounded-2xl border p-1 transition",
25775
25787
  w === q ? "border-primary bg-primary/10" : "border-transparent hover:bg-muted"
25776
25788
  ),
@@ -25795,7 +25807,7 @@ function eS({
25795
25807
  onClick: () => S(q),
25796
25808
  "aria-pressed": _ === q,
25797
25809
  title: ds[q].name,
25798
- className: P(
25810
+ className: z(
25799
25811
  "size-9 rounded-full border-2 transition",
25800
25812
  _ === q ? "border-primary scale-110" : "border-transparent hover:scale-105"
25801
25813
  ),
@@ -25821,10 +25833,10 @@ function eS({
25821
25833
  /* @__PURE__ */ n("span", { className: "text-sm", children: "Enabled" }),
25822
25834
  /* @__PURE__ */ n($r, { checked: p, onCheckedChange: b, "aria-label": "Enable bot" })
25823
25835
  ] }) : null,
25824
- /* @__PURE__ */ c(Ef, { open: z, onOpenChange: re, className: "mt-3", children: [
25836
+ /* @__PURE__ */ c(Ef, { open: P, onOpenChange: re, className: "mt-3", children: [
25825
25837
  /* @__PURE__ */ c(If, { className: "flex w-full items-center justify-between rounded-xl border border-border px-3 py-2 text-sm", children: [
25826
25838
  /* @__PURE__ */ c("span", { className: "flex items-center gap-1.5", children: [
25827
- /* @__PURE__ */ n(jt, { className: P("size-3.5 transition-transform duration-150", z && "rotate-90") }),
25839
+ /* @__PURE__ */ n(jt, { className: z("size-3.5 transition-transform duration-150", P && "rotate-90") }),
25828
25840
  "Advanced"
25829
25841
  ] }),
25830
25842
  /* @__PURE__ */ c("span", { className: "max-w-[55%] truncate text-xs text-muted-foreground", children: [
@@ -25917,7 +25929,7 @@ function tS({
25917
25929
  /* @__PURE__ */ n(
25918
25930
  "span",
25919
25931
  {
25920
- className: P(
25932
+ className: z(
25921
25933
  "order-1 size-2.5 shrink-0 rounded-full",
25922
25934
  m.enabled ? "bg-success" : "bg-muted-foreground/40"
25923
25935
  )