@omg-dev/app 0.1.404 → 0.1.406

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.
@@ -19,7 +19,7 @@ import { Switch as _c } from "@base-ui/react/switch";
19
19
  import { AlertDialog as Hr } from "@base-ui/react/alert-dialog";
20
20
  import { mergeProps as qp } from "@base-ui/react/merge-props";
21
21
  import { useRender as Vp } from "@base-ui/react/use-render";
22
- import { Drawer as Yt } from "vaul";
22
+ import { Drawer as Xt } from "vaul";
23
23
  import { Collapsible as il } from "@base-ui/react/collapsible";
24
24
  import { Popover as An } from "@base-ui/react/popover";
25
25
  import { Menu as nn } from "@base-ui/react/menu";
@@ -346,7 +346,7 @@ function xh(e = {}) {
346
346
  openLiveSocket: () => o("/api/live/ws")
347
347
  };
348
348
  }
349
- function LS(e) {
349
+ function DS(e) {
350
350
  const t = e.fetch ?? globalThis.fetch, r = e.WebSocket ?? globalThis.WebSocket, s = e.XMLHttpRequest ?? globalThis.XMLHttpRequest, o = yu(e.baseUrl);
351
351
  let i = null;
352
352
  const a = async (m = !1) => (!m && i && i.expiresAt - Date.now() > hh || (i = await e.getGrant({ forceRefresh: m })), i), l = async (m, f = {}) => {
@@ -412,10 +412,10 @@ function wh(e, t, r) {
412
412
  function kh() {
413
413
  return Vn.openLiveSocket();
414
414
  }
415
- function DS(e) {
415
+ function jS(e) {
416
416
  return Vn.openSocket(e);
417
417
  }
418
- function en(e) {
418
+ function Kt(e) {
419
419
  const t = e.startsWith("/") ? e : `/${e}`;
420
420
  return `${ku}${t}`;
421
421
  }
@@ -2748,13 +2748,13 @@ function jr({
2748
2748
  }
2749
2749
  );
2750
2750
  }
2751
- const lx = "20260814b";
2751
+ const lx = "20260819a";
2752
2752
  function Zn(e) {
2753
2753
  const t = `?v=${lx}`;
2754
- return en(e === "codex" || e === "codex-aisdk" ? `/agent-codex.svg${t}` : e === "grok" ? `/agent-grok.svg${t}` : e === "cursor" ? `/agent-cursor.svg${t}` : e === "hermes" ? `/agent-hermes.svg${t}` : e === "opencode" ? `/agent-opencode.svg${t}` : e === "jcode" ? `/agent-jcode.svg${t}` : e === "pi" ? `/agent-pi.svg${t}` : e === "copilot" ? `/agent-copilot.svg${t}` : `/agent-claude.svg${t}`);
2754
+ return Kt(e === "codex" || e === "codex-aisdk" ? `/agent-codex.svg${t}` : e === "grok" ? `/agent-grok.svg${t}` : e === "cursor" ? `/agent-cursor.svg${t}` : e === "fx" ? `/agent-fx.svg${t}` : e === "hermes" ? `/agent-hermes.svg${t}` : e === "opencode" ? `/agent-opencode.svg${t}` : e === "jcode" ? `/agent-jcode.svg${t}` : e === "pi" ? `/agent-pi.svg${t}` : e === "copilot" ? `/agent-copilot.svg${t}` : `/agent-claude.svg${t}`);
2755
2755
  }
2756
2756
  function Oi(e) {
2757
- return e === "codex" || e === "codex-aisdk" ? "Codex" : e === "grok" ? "Grok" : e === "cursor" ? "Cursor" : e === "hermes" ? "Hermes" : e === "opencode" ? "OpenCode" : e === "jcode" ? "Jcode" : e === "pi" ? "pi" : e === "copilot" ? "Copilot" : "Claude";
2757
+ return e === "codex" || e === "codex-aisdk" ? "Codex" : e === "grok" ? "Grok" : e === "cursor" ? "Cursor" : e === "fx" ? "fx" : e === "hermes" ? "Hermes" : e === "opencode" ? "OpenCode" : e === "jcode" ? "Jcode" : e === "pi" ? "pi" : e === "copilot" ? "Copilot" : "Claude";
2758
2758
  }
2759
2759
  function cx(e) {
2760
2760
  if (!e) return "unknown";
@@ -2766,7 +2766,7 @@ function cx(e) {
2766
2766
  return s < 48 ? `${s}h ago` : `${Math.round(s / 24)}d ago`;
2767
2767
  }
2768
2768
  const Yu = Wt(() => {
2769
- }), jS = 15, dx = 24;
2769
+ }), US = 15, dx = 24;
2770
2770
  function Gn(e) {
2771
2771
  var t;
2772
2772
  return e.title || e.lastUserText || e.tmuxName || e.project || ((t = e.sessionId) == null ? void 0 : t.slice(0, 8)) || "session";
@@ -2776,7 +2776,10 @@ const Xu = {
2776
2776
  aisdk: "Claude",
2777
2777
  codex: "Codex",
2778
2778
  "codex-aisdk": "Codex",
2779
- grok: "Grok"
2779
+ grok: "Grok",
2780
+ // `fx login` is itself the Vercel device flow — there is no --device-auth
2781
+ // variant to pick, so the browser path is the only sensible one.
2782
+ fx: "Vercel"
2780
2783
  }, Ju = new Set(
2781
2784
  Object.keys(Xu)
2782
2785
  ), bl = Wt(void 0);
@@ -2852,7 +2855,7 @@ function hx({
2852
2855
  /* @__PURE__ */ n(
2853
2856
  "img",
2854
2857
  {
2855
- src: en(No),
2858
+ src: Kt(No),
2856
2859
  alt: "omg",
2857
2860
  className: "size-7 shrink-0"
2858
2861
  }
@@ -3684,7 +3687,7 @@ function Nl({
3684
3687
  }
3685
3688
  );
3686
3689
  }
3687
- function US({
3690
+ function BS({
3688
3691
  path: e,
3689
3692
  cacheKey: t,
3690
3693
  className: r
@@ -5226,13 +5229,13 @@ function qn(e, t, r = Vr()) {
5226
5229
  const s = _o(r), o = s.findIndex((i) => i.id === e);
5227
5230
  o < 0 || (s[o] = { ...s[o], status: t, updatedAt: Date.now() }, Ss(s, r));
5228
5231
  }
5229
- function BS(e, t = Vr()) {
5232
+ function FS(e, t = Vr()) {
5230
5233
  t && Ss(
5231
5234
  _o(t).filter((r) => r.id !== e),
5232
5235
  t
5233
5236
  );
5234
5237
  }
5235
- function FS(e = Vr()) {
5238
+ function HS(e = Vr()) {
5236
5239
  e && Ss([], e);
5237
5240
  }
5238
5241
  const xf = /* @__PURE__ */ new Map();
@@ -7732,7 +7735,7 @@ const $w = Es(function({
7732
7735
  ] }) : null;
7733
7736
  }), zw = Wr(
7734
7737
  "session-files-panel",
7735
- () => import("./SessionFilesPanel-C3L50Tos.js")
7738
+ () => import("./SessionFilesPanel-DSiAeU8Y.js")
7736
7739
  );
7737
7740
  function Pl({ className: e, ...t }) {
7738
7741
  return /* @__PURE__ */ n(
@@ -7822,19 +7825,19 @@ function Io({
7822
7825
  }
7823
7826
  ) });
7824
7827
  }
7825
- return /* @__PURE__ */ n(ki.Provider, { value: !1, children: /* @__PURE__ */ n(Yt.Root, { "data-slot": "drawer", ...a }) });
7828
+ return /* @__PURE__ */ n(ki.Provider, { value: !1, children: /* @__PURE__ */ n(Xt.Root, { "data-slot": "drawer", ...a }) });
7826
7829
  }
7827
7830
  function Lw({
7828
7831
  ...e
7829
7832
  }) {
7830
- return /* @__PURE__ */ n(Yt.Portal, { "data-slot": "drawer-portal", ...e });
7833
+ return /* @__PURE__ */ n(Xt.Portal, { "data-slot": "drawer-portal", ...e });
7831
7834
  }
7832
7835
  function Dw({
7833
7836
  className: e,
7834
7837
  ...t
7835
7838
  }) {
7836
7839
  return /* @__PURE__ */ n(
7837
- Yt.Overlay,
7840
+ Xt.Overlay,
7838
7841
  {
7839
7842
  "data-slot": "drawer-overlay",
7840
7843
  className: $(
@@ -7871,7 +7874,7 @@ function Ao({
7871
7874
  ) }) : /* @__PURE__ */ n(hd.Provider, { value: f, children: /* @__PURE__ */ c(Lw, { "data-slot": "drawer-portal", children: [
7872
7875
  /* @__PURE__ */ n(Dw, { className: t }),
7873
7876
  /* @__PURE__ */ c(
7874
- Yt.Content,
7877
+ Xt.Content,
7875
7878
  {
7876
7879
  "data-slot": "drawer-content",
7877
7880
  "data-paged": f ? "true" : "false",
@@ -7913,7 +7916,7 @@ function $o({
7913
7916
  ...t
7914
7917
  }
7915
7918
  ) : /* @__PURE__ */ n(
7916
- Yt.Title,
7919
+ Xt.Title,
7917
7920
  {
7918
7921
  "data-slot": "drawer-title",
7919
7922
  className: $(
@@ -8072,7 +8075,7 @@ function Cs({ ...e }) {
8072
8075
  }
8073
8076
  );
8074
8077
  }
8075
- function Kt({
8078
+ function Yt({
8076
8079
  className: e,
8077
8080
  children: t,
8078
8081
  inset: r,
@@ -8440,7 +8443,7 @@ async function Sd(e) {
8440
8443
  } catch {
8441
8444
  }
8442
8445
  }
8443
- async function HS() {
8446
+ async function qS() {
8444
8447
  var t;
8445
8448
  if (typeof window > "u") return;
8446
8449
  if ("serviceWorker" in navigator)
@@ -8456,7 +8459,7 @@ async function HS() {
8456
8459
  }
8457
8460
  }
8458
8461
  const s1 = Ii(
8459
- () => import("./streamdown-response-DWBNl_5M.js").then((e) => e.a).then((e) => ({ default: e.StreamdownResponse }))
8462
+ () => import("./streamdown-response-BwfVYuvw.js").then((e) => e.a).then((e) => ({ default: e.StreamdownResponse }))
8460
8463
  );
8461
8464
  function qs({ className: e, from: t, ...r }) {
8462
8465
  return /* @__PURE__ */ n(
@@ -8886,7 +8889,7 @@ function f1() {
8886
8889
  /* @__PURE__ */ n(
8887
8890
  "img",
8888
8891
  {
8889
- src: en(No),
8892
+ src: Kt(No),
8890
8893
  alt: "",
8891
8894
  className: "size-10 shrink-0 rounded-xl"
8892
8895
  }
@@ -10750,6 +10753,7 @@ const On = [
10750
10753
  { key: "grok", label: "grok", scheduled: !0 },
10751
10754
  { key: "cursor", label: "cursor", scheduled: !0 },
10752
10755
  { key: "opencode", label: "opencode", scheduled: !0 },
10756
+ { key: "fx", label: "fx", scheduled: !0 },
10753
10757
  { key: "jcode", label: "jcode" },
10754
10758
  { key: "pi", label: "pi" },
10755
10759
  { key: "copilot", label: "copilot" }
@@ -10862,30 +10866,31 @@ function vk({ className: e, isStreaming: t, children: r, ...s }) {
10862
10866
  function wk({ className: e, children: t, ...r }) {
10863
10867
  return /* @__PURE__ */ n(zf, { className: $("mt-2 text-sm", e), ...r, children: /* @__PURE__ */ n(Ro, { className: "ai-live-text max-w-full opacity-90", children: t }) });
10864
10868
  }
10865
- const kk = Ii(() => import("./chat-engine-wFKQL2DM.js"));
10869
+ const kk = Ii(() => import("./chat-engine-CKmh0olR.js"));
10866
10870
  function Nk() {
10867
- const e = () => void import("./chat-engine-wFKQL2DM.js"), t = globalThis.requestIdleCallback;
10871
+ const e = () => void import("./chat-engine-CKmh0olR.js"), t = globalThis.requestIdleCallback;
10868
10872
  typeof t == "function" ? t(e, { timeout: 3e3 }) : setTimeout(e, 1500);
10869
10873
  }
10870
10874
  const am = Wr(
10871
10875
  "TermView",
10872
- () => import("./TermView-DTxC-T-3.js").then((e) => ({ default: e.TermView }))
10873
- ), Ld = Wr("ShippedPage", () => import("./shipped-page-sNLoxWMn.js")), Sk = Wr(
10876
+ () => import("./TermView-DCq_8WnF.js").then((e) => ({ default: e.TermView }))
10877
+ ), Ld = Wr("ShippedPage", () => import("./shipped-page-B63sycvm.js")), Sk = Wr(
10874
10878
  "SessionTokenUsageDialog",
10875
- () => import("./session-token-usage-Flb66cae.js")
10879
+ () => import("./session-token-usage-CYJ-BCQb.js")
10876
10880
  ), Ck = Wr(
10877
10881
  "CodingAgentsPage",
10878
- () => import("./coding-agents-page-DuAIHgmr.js")
10882
+ () => import("./coding-agents-page-DLbdqNe8.js")
10879
10883
  ), Dd = Wr(
10880
10884
  "ResumeSessionSheet",
10881
- () => import("./resume-session-sheet-BRKjcqzv.js")
10885
+ () => import("./resume-session-sheet-vTxY9ABZ.js")
10882
10886
  ), Mk = Wr(
10883
10887
  "ChangelogPage",
10884
- () => import("./ChangelogPage-DOHszuMO.js")
10888
+ () => import("./ChangelogPage-DbS7dvKY.js")
10885
10889
  ), Bi = Wt("configured"), Tk = {
10886
10890
  claude: "Claude",
10887
10891
  codex: "Codex",
10888
10892
  grok: "Grok",
10893
+ fx: "Vercel",
10889
10894
  github: "GitHub",
10890
10895
  "pi-anthropic": "Claude",
10891
10896
  "pi-codex": "ChatGPT"
@@ -10926,10 +10931,19 @@ const am = Wr(
10926
10931
  "cursor-grok-4.6"
10927
10932
  ], Ok = [
10928
10933
  "opencode/deepseek-v4-flash-free"
10929
- ], Rk = ["fable", "opus", "sonnet", "haiku", "deepseek/deepseek-v4-flash"], Lk = ["claude-sonnet-4.5", "claude-sonnet-4", "gpt-5"], Dk = ["auto"], jk = ["low", "medium", "high", "xhigh"];
10934
+ ], Rk = ["fable", "opus", "sonnet", "haiku", "deepseek/deepseek-v4-flash"], Lk = ["claude-sonnet-4.5", "claude-sonnet-4", "gpt-5"], Dk = ["auto"], jk = [
10935
+ "auto",
10936
+ "anthropic/claude-opus-5",
10937
+ "anthropic/claude-sonnet-5",
10938
+ "openai/gpt-5.6-sol",
10939
+ "openai/gpt-5.5",
10940
+ "xai/grok-4.6",
10941
+ "moonshotai/kimi-k3",
10942
+ "zai/glm-5.2"
10943
+ ], Uk = ["low", "medium", "high", "xhigh"];
10930
10944
  function Xn() {
10931
10945
  const e = localStorage.getItem("lfg_thinking_level");
10932
- return e && jk.includes(e) ? e : "medium";
10946
+ return e && Uk.includes(e) ? e : "medium";
10933
10947
  }
10934
10948
  function un(e) {
10935
10949
  return e === "claude" || e === "aisdk" || e === "grok" || e === "cursor" || e === "codex" || e === "codex-aisdk" || e === "jcode" || e === "pi";
@@ -10941,6 +10955,7 @@ const Kn = {
10941
10955
  "codex-aisdk": $k,
10942
10956
  grok: zk,
10943
10957
  cursor: Pk,
10958
+ fx: jk,
10944
10959
  opencode: Ok,
10945
10960
  jcode: Dk,
10946
10961
  pi: Rk,
@@ -10952,6 +10967,7 @@ const Kn = {
10952
10967
  "codex-aisdk": "gpt-5.6-sol",
10953
10968
  grok: "grok-4.6",
10954
10969
  cursor: "auto",
10970
+ fx: "auto",
10955
10971
  opencode: "opencode/deepseek-v4-flash-free",
10956
10972
  jcode: "auto",
10957
10973
  pi: "sonnet",
@@ -10964,6 +10980,9 @@ const Kn = {
10964
10980
  // grok's CLI exits on anything above high, so these are all it can take.
10965
10981
  grok: ["low", "medium", "high"],
10966
10982
  cursor: ["low", "medium", "high", "xhigh", "max"],
10983
+ // fx keeps reasoning effort in ~/.fx/settings.json and takes no per-launch
10984
+ // flag on `fx acp`, so the selector stays hidden.
10985
+ fx: [],
10967
10986
  opencode: [],
10968
10987
  jcode: ["low", "medium", "high", "xhigh", "max"],
10969
10988
  // pi's own list, straight from its --thinking help. It has a real "off".
@@ -10998,7 +11017,7 @@ function gr(e) {
10998
11017
  function Hi(e) {
10999
11018
  return Zr().thinkingLevels[e] ?? fm[e] ?? [];
11000
11019
  }
11001
- const Uk = fk();
11020
+ const Bk = fk();
11002
11021
  function qi(e, t = "configured", r = {}) {
11003
11022
  var a, l;
11004
11023
  const s = r.scheduledOnly ? On.filter((d) => d.scheduled) : On, o = Hl(s, e, t), i = (l = (a = e == null ? void 0 : e.find((d) => d.key === "aisdk")) == null ? void 0 : a.status.accounts) == null ? void 0 : l.filter((d) => d.connected);
@@ -11022,7 +11041,7 @@ function qi(e, t = "configured", r = {}) {
11022
11041
  ] : [d]
11023
11042
  ) : o;
11024
11043
  }
11025
- function Bk(e, t = "configured") {
11044
+ function Fk(e, t = "configured") {
11026
11045
  const r = qi(e, t), s = new Set(
11027
11046
  gk(On, e, t).map((o) => o.key)
11028
11047
  );
@@ -11032,7 +11051,7 @@ function Bk(e, t = "configured") {
11032
11051
  }) : r;
11033
11052
  }
11034
11053
  const Qa = "omg:hosted-intro-done:v1";
11035
- function Fk() {
11054
+ function Hk() {
11036
11055
  try {
11037
11056
  return localStorage.getItem(Qa) === "1";
11038
11057
  } catch {
@@ -11041,11 +11060,11 @@ function Fk() {
11041
11060
  }
11042
11061
  const pm = Wt(() => {
11043
11062
  });
11044
- function Hk() {
11063
+ function qk() {
11045
11064
  const { onOpenSettingsPage: e } = ys(), t = Tt(pm);
11046
11065
  return e ?? t;
11047
11066
  }
11048
- function qk() {
11067
+ function Vk() {
11049
11068
  const { onPlanLimit: e } = ys();
11050
11069
  return se(
11051
11070
  (t, r) => !e || !yh(t) ? !1 : (e({
@@ -11066,7 +11085,7 @@ function gm(e, t, r) {
11066
11085
  }
11067
11086
  const ql = Wt(() => {
11068
11087
  });
11069
- function Vk({
11088
+ function Wk({
11070
11089
  sessionId: e,
11071
11090
  session: t,
11072
11091
  onClose: r
@@ -11134,7 +11153,7 @@ function Vk({
11134
11153
  )
11135
11154
  );
11136
11155
  }
11137
- function Wk({
11156
+ function Gk({
11138
11157
  artifact: e,
11139
11158
  onClose: t
11140
11159
  }) {
@@ -11245,7 +11264,7 @@ function ym({
11245
11264
  }
11246
11265
  );
11247
11266
  }
11248
- function Gk(e, t, r, s) {
11267
+ function Kk(e, t, r, s) {
11249
11268
  return Rh(
11250
11269
  wh,
11251
11270
  e,
@@ -11261,14 +11280,14 @@ function Vl(e, t) {
11261
11280
  body: JSON.stringify({ source: t })
11262
11281
  });
11263
11282
  }
11264
- function Kk(e, t) {
11283
+ function Yk(e, t) {
11265
11284
  return ve(`/api/sessions/${encodeURIComponent(e)}/title`, {
11266
11285
  method: "PUT",
11267
11286
  headers: { "Content-Type": "application/json" },
11268
11287
  body: JSON.stringify({ title: t })
11269
11288
  });
11270
11289
  }
11271
- function Yk(e, t) {
11290
+ function Xk(e, t) {
11272
11291
  return ve("/api/sessions/close-all", {
11273
11292
  method: "POST",
11274
11293
  headers: { "Content-Type": "application/json" },
@@ -11276,10 +11295,10 @@ function Yk(e, t) {
11276
11295
  });
11277
11296
  }
11278
11297
  let Ws = null, jd = 0, Ca = [];
11279
- const Xk = 3e4;
11280
- function Jk() {
11298
+ const Jk = 3e4;
11299
+ function Zk() {
11281
11300
  const e = Date.now();
11282
- return Ca.length && e - jd < Xk ? Promise.resolve(Ca) : (Ws || (Ws = ve("/api/skills").then((t) => {
11301
+ return Ca.length && e - jd < Jk ? Promise.resolve(Ca) : (Ws || (Ws = ve("/api/skills").then((t) => {
11283
11302
  const r = Array.isArray(t.skills) ? t.skills : [];
11284
11303
  return Ca = r, jd = Date.now(), r;
11285
11304
  }).catch((t) => {
@@ -11288,7 +11307,7 @@ function Jk() {
11288
11307
  Ws = null;
11289
11308
  })), Ws);
11290
11309
  }
11291
- function Zk(e, t) {
11310
+ function Qk(e, t) {
11292
11311
  if (t == null) return null;
11293
11312
  const s = e.slice(0, t).match(/(^|\s)\/([A-Za-z0-9_:-]{0,80})$/);
11294
11313
  return s ? {
@@ -11328,7 +11347,7 @@ ${s}`].filter(Boolean).join(`
11328
11347
 
11329
11348
  `);
11330
11349
  }
11331
- function Qk(e, t, r, s, o) {
11350
+ function eN(e, t, r, s, o) {
11332
11351
  const i = URL.createObjectURL(s);
11333
11352
  t.current.push(i);
11334
11353
  let a = null;
@@ -11343,7 +11362,7 @@ function Qk(e, t, r, s, o) {
11343
11362
  a && (o == null || o(a));
11344
11363
  });
11345
11364
  }
11346
- function eN(e) {
11365
+ function tN(e) {
11347
11366
  const t = U(e);
11348
11367
  t.current = e;
11349
11368
  const r = U(/* @__PURE__ */ new Map()), s = U(/* @__PURE__ */ new Map()), o = se((u) => {
@@ -11353,7 +11372,7 @@ function eN(e) {
11353
11372
  s.current.set(u.id, p);
11354
11373
  const b = () => s.current.get(u.id) === p;
11355
11374
  f(u.id, { status: "uploading", progress: 0, error: void 0 });
11356
- const x = Gk(h, u.file, u.type, (y) => {
11375
+ const x = Kk(h, u.file, u.type, (y) => {
11357
11376
  b() && f(u.id, { progress: y });
11358
11377
  }).then((y) => {
11359
11378
  const w = { name: y.name || u.name, path: y.path };
@@ -11559,7 +11578,7 @@ function Kl({
11559
11578
  resolveUpload: x,
11560
11579
  forgetUpload: y,
11561
11580
  forgetAllUploads: w
11562
- } = eN({ endpoint: e, onPatch: p });
11581
+ } = tN({ endpoint: e, onPatch: p });
11563
11582
  F(() => () => {
11564
11583
  for (const P of f.current) URL.revokeObjectURL(P);
11565
11584
  f.current = [];
@@ -11706,7 +11725,7 @@ function Kl({
11706
11725
  P || u(null);
11707
11726
  },
11708
11727
  onSave: (P) => {
11709
- d && Qk(
11728
+ d && eN(
11710
11729
  i,
11711
11730
  f,
11712
11731
  d,
@@ -11772,14 +11791,14 @@ function Ti(e, t, r) {
11772
11791
  const s = e.indexOf(t);
11773
11792
  return s === -1 ? r === 1 ? e[0] : e[e.length - 1] : e.length <= 1 ? t : e[(s + r + e.length) % e.length];
11774
11793
  }
11775
- function tN(e) {
11794
+ function nN(e) {
11776
11795
  const t = e.split(/[\\/]/).filter(Boolean), r = t.lastIndexOf("repos");
11777
11796
  return r >= 0 && t[r + 1] ? t[r + 1] : t[t.length - 1] || e;
11778
11797
  }
11779
11798
  function Sn(e) {
11780
- return e.project || tN(e.cwd);
11799
+ return e.project || nN(e.cwd);
11781
11800
  }
11782
- const nN = [
11801
+ const rN = [
11783
11802
  {
11784
11803
  id: "review",
11785
11804
  label: "Review current sessions",
@@ -11811,14 +11830,14 @@ const nN = [
11811
11830
  task: "Manage the selected session scope end to end: review current live sessions, summarize the plan, close only sessions that are clearly completed, send concise follow-up nudges for sessions with local commits or open PRs, and report remaining blockers. Leave anything uncertain open."
11812
11831
  }
11813
11832
  ];
11814
- function rN(e) {
11833
+ function sN(e) {
11815
11834
  return e === "__all" ? "All projects. This was explicitly selected in the UI; include every live project visible to the current user filter." : `Project "${Yn(e)}" (project key: ${e}). Manage only sessions whose project matches this selected project scope.`;
11816
11835
  }
11817
- function sN(e, t) {
11836
+ function oN(e, t) {
11818
11837
  return [
11819
11838
  `Manage Sessions: ${e.label}`,
11820
11839
  "",
11821
- `Selected project scope: ${rN(t)}`,
11840
+ `Selected project scope: ${sN(t)}`,
11822
11841
  "",
11823
11842
  `Task: ${e.task}`,
11824
11843
  "",
@@ -11839,7 +11858,7 @@ function Ma(e, t) {
11839
11858
  const r = ((o = t.find((a) => a.name === "lfg")) == null ? void 0 : o.cwd) || ((i = t[0]) == null ? void 0 : i.cwd) || "", s = e.cwd || r;
11840
11859
  return s ? Sn(t.find((a) => a.cwd === s) ?? { cwd: s }) : "-";
11841
11860
  }
11842
- function oN(e) {
11861
+ function iN(e) {
11843
11862
  return `LFG session reference: ${e}`;
11844
11863
  }
11845
11864
  function vm(e) {
@@ -11856,7 +11875,7 @@ function io(e) {
11856
11875
  s.kind === "thinking" && ((r = t[t.length - 1]) == null ? void 0 : r.kind) === "thinking" ? t[t.length - 1] = s : t.push(s);
11857
11876
  return t;
11858
11877
  }
11859
- function iN(e, t) {
11878
+ function aN(e, t) {
11860
11879
  return [...e, t];
11861
11880
  }
11862
11881
  function Ud(e, t) {
@@ -11896,7 +11915,7 @@ function cs(e, t) {
11896
11915
  const r = Fd(e), s = Fd(t);
11897
11916
  return !r || !s ? !1 : r.includes(s) || s.includes(r);
11898
11917
  }
11899
- function aN(e) {
11918
+ function lN(e) {
11900
11919
  return {
11901
11920
  id: `queue-${e.id}`,
11902
11921
  role: "user",
@@ -11907,7 +11926,7 @@ function aN(e) {
11907
11926
  ...Sl(e)
11908
11927
  };
11909
11928
  }
11910
- function lN(e) {
11929
+ function cN(e) {
11911
11930
  const t = e.sessionId, r = e.last, s = (r == null ? void 0 : r.kind) === "text" && (r.role === "assistant" || r.role === "user") && !!r.text, o = Yl(s ? r.text : e.lastUserText || "");
11912
11931
  if (!t || !o) return null;
11913
11932
  const i = s && r.role === "assistant" ? "assistant" : "user", a = (s ? r.ts : null) ?? e.lastActivityAt ?? e.startedAt ?? Date.now();
@@ -11921,7 +11940,7 @@ function lN(e) {
11921
11940
  seed: !0
11922
11941
  };
11923
11942
  }
11924
- function cN(e, t) {
11943
+ function dN(e, t) {
11925
11944
  const r = new ArrayBuffer(44 + e.length * 2), s = new DataView(r), o = (a, l) => {
11926
11945
  for (let d = 0; d < l.length; d++) s.setUint8(a + d, l.charCodeAt(d));
11927
11946
  };
@@ -11933,7 +11952,7 @@ function cN(e, t) {
11933
11952
  }
11934
11953
  return new Blob([r], { type: "application/octet-stream" });
11935
11954
  }
11936
- function dN(e, t) {
11955
+ function uN(e, t) {
11937
11956
  const r = (a) => {
11938
11957
  const l = Math.max(-1, Math.min(1, a));
11939
11958
  return l < 0 ? l * 32768 : l * 32767;
@@ -11953,7 +11972,7 @@ function dN(e, t) {
11953
11972
  function Ta(e, t) {
11954
11973
  return [e, t].map((r) => r.trim()).filter(Boolean).join(" ");
11955
11974
  }
11956
- const uN = 0.01, fN = 0.22, mN = 0.55, pN = 0.1;
11975
+ const fN = 0.01, mN = 0.22, pN = 0.55, hN = 0.1;
11957
11976
  function wm(e) {
11958
11977
  const t = 1.34 + e * 0.16, r = 16 + e * 26, s = 4 + e * 8, o = Math.round(45 + e * 45);
11959
11978
  return {
@@ -11964,9 +11983,9 @@ function wm(e) {
11964
11983
  transition: "transform 80ms linear, box-shadow 80ms linear"
11965
11984
  };
11966
11985
  }
11967
- const Hd = 6e4, hN = {
11986
+ const Hd = 6e4, gN = {
11968
11987
  audio: { echoCancellation: !0, noiseSuppression: !0, autoGainControl: !0 }
11969
- }, gN = 1200, bN = 3e4, ii = Symbol("mic-acquire-aborted"), Ks = Symbol("mic-acquire-expired");
11988
+ }, bN = 1200, xN = 3e4, ii = Symbol("mic-acquire-aborted"), Ks = Symbol("mic-acquire-expired");
11970
11989
  function qd(e) {
11971
11990
  switch ((e == null ? void 0 : e.name) ?? "") {
11972
11991
  case "NotAllowedError":
@@ -12064,7 +12083,7 @@ function km(e) {
12064
12083
  const Z = await Pt("/api/voice/stt", {
12065
12084
  method: "POST",
12066
12085
  headers: { "Content-Type": "application/octet-stream" },
12067
- body: cN(J, j.rate)
12086
+ body: dN(J, j.rate)
12068
12087
  }), be = ((await Z.json().catch(() => ({}))).text || "").trim();
12069
12088
  Z.ok && be ? M(be) : T && M(T);
12070
12089
  } catch {
@@ -12089,7 +12108,7 @@ function km(e) {
12089
12108
  b.current = P;
12090
12109
  let M;
12091
12110
  const T = new Promise((pe) => {
12092
- M = window.setTimeout(() => pe(Ks), bN);
12111
+ M = window.setTimeout(() => pe(Ks), xN);
12093
12112
  }), I = (pe) => Promise.race([pe, _, T]), J = () => {
12094
12113
  clearTimeout(M), b.current === P && (b.current = null);
12095
12114
  }, re = (pe) => {
@@ -12107,9 +12126,9 @@ function km(e) {
12107
12126
  try {
12108
12127
  if (!ge || !ge.getAudioTracks().some((pe) => pe.readyState === "live")) {
12109
12128
  ge == null || ge.getTracks().forEach((be) => be.stop()), x.current = null;
12110
- const pe = navigator.mediaDevices.getUserMedia(hN), Z = window.setTimeout(() => {
12129
+ const pe = navigator.mediaDevices.getUserMedia(gN), Z = window.setTimeout(() => {
12111
12130
  f.current && !h.current && we("Waiting for the microphone… check for a permission prompt");
12112
- }, gN);
12131
+ }, bN);
12113
12132
  let le;
12114
12133
  try {
12115
12134
  le = await I(pe);
@@ -12227,7 +12246,7 @@ function km(e) {
12227
12246
  i.current = Te;
12228
12247
  const Pe = d.current;
12229
12248
  if (Pe && Pe.ws && !Pe.broken) {
12230
- const rt = dN(ne, Pe.rate);
12249
+ const rt = uN(ne, Pe.rate);
12231
12250
  if (Pe.ws.readyState === WebSocket.OPEN)
12232
12251
  try {
12233
12252
  Pe.ws.send(rt);
@@ -12236,7 +12255,7 @@ function km(e) {
12236
12255
  }
12237
12256
  else Pe.ws.readyState === WebSocket.CONNECTING && Pe.pending.push(rt);
12238
12257
  }
12239
- S.current && Te > uN && (he = !0, Ce = Date.now());
12258
+ S.current && Te > fN && (he = !0, Ce = Date.now());
12240
12259
  };
12241
12260
  const Ze = ie && S.current ? setInterval(() => {
12242
12261
  !d.current || !he || Date.now() - Ce >= Q && z(!0);
@@ -12262,7 +12281,7 @@ function km(e) {
12262
12281
  l.current = null;
12263
12282
  return;
12264
12283
  }
12265
- const Ne = Math.min(1, i.current / fN), ne = a.current, V = Ne > ne ? mN : pN, Te = ne + (Ne - ne) * V;
12284
+ const Ne = Math.min(1, i.current / mN), ne = a.current, V = Ne > ne ? pN : hN, Te = ne + (Ne - ne) * V;
12266
12285
  a.current = Te, o(Math.round(Te * 1e3) / 1e3), l.current = requestAnimationFrame(Fe);
12267
12286
  };
12268
12287
  l.current = requestAnimationFrame(Fe), J(), r("recording"), f.current = !1;
@@ -12285,7 +12304,7 @@ function km(e) {
12285
12304
  ), { state: t, toggle: oe, start: ee, stop: z, cancel: ue, supported: W, level: s };
12286
12305
  }
12287
12306
  const Nm = 300, Sm = 48, _a = 10, Ea = 32;
12288
- function xN({
12307
+ function yN({
12289
12308
  anchorRef: e,
12290
12309
  visible: t,
12291
12310
  onCancel: r
@@ -12421,7 +12440,7 @@ const Wi = _i(function({ onText: t, onAutoSubmit: r, onInterim: s, onCancel: o,
12421
12440
  const ie = f === "recording", j = rw(), P = ie ? wm(w) : void 0;
12422
12441
  return /* @__PURE__ */ c(Ue, { children: [
12423
12442
  /* @__PURE__ */ n(
12424
- xN,
12443
+ yN,
12425
12444
  {
12426
12445
  anchorRef: W,
12427
12446
  visible: ie || f === "starting",
@@ -12460,7 +12479,7 @@ const Wi = _i(function({ onText: t, onAutoSubmit: r, onInterim: s, onCancel: o,
12460
12479
  )
12461
12480
  ] });
12462
12481
  });
12463
- function yN({
12482
+ function vN({
12464
12483
  canSend: e,
12465
12484
  sending: t,
12466
12485
  baseText: r,
@@ -12580,8 +12599,8 @@ function yN({
12580
12599
  }
12581
12600
  );
12582
12601
  }
12583
- const vN = "relative flex h-dvh flex-col overflow-hidden bg-background text-foreground", wN = "relative bg-background text-foreground";
12584
- function kN() {
12602
+ const wN = "relative flex h-dvh flex-col overflow-hidden bg-background text-foreground", kN = "relative bg-background text-foreground";
12603
+ function NN() {
12585
12604
  return /* @__PURE__ */ c(
12586
12605
  "div",
12587
12606
  {
@@ -12595,7 +12614,7 @@ function kN() {
12595
12614
  }
12596
12615
  );
12597
12616
  }
12598
- function NN() {
12617
+ function SN() {
12599
12618
  return /* @__PURE__ */ n("div", { className: "mx-auto max-w-xl space-y-8 pb-10", "data-lfg-page-column": !0, "aria-hidden": !0, children: [3, 2].map((e, t) => /* @__PURE__ */ c("section", { className: "space-y-2", children: [
12600
12619
  /* @__PURE__ */ n("div", { className: "mx-4 h-3 w-24 animate-pulse rounded bg-muted" }),
12601
12620
  /* @__PURE__ */ n("div", { className: "overflow-hidden rounded-2xl border border-border bg-card/40", children: Array.from({ length: e }, (r, s) => /* @__PURE__ */ c(
@@ -12654,15 +12673,15 @@ function cr(e) {
12654
12673
  return null;
12655
12674
  }
12656
12675
  }
12657
- const SN = !0;
12658
- function CN(e) {
12676
+ const CN = !0;
12677
+ function MN(e) {
12659
12678
  try {
12660
12679
  const t = localStorage.getItem(`lfg-collapsed:${e}`);
12661
12680
  if (t === "1") return !0;
12662
12681
  if (t === "0") return !1;
12663
12682
  } catch {
12664
12683
  }
12665
- return SN;
12684
+ return CN;
12666
12685
  }
12667
12686
  function Mm(e) {
12668
12687
  try {
@@ -12672,23 +12691,23 @@ function Mm(e) {
12672
12691
  window.dispatchEvent(new Event("lfg-collapse-change"));
12673
12692
  }
12674
12693
  const Xl = /* @__PURE__ */ new Set();
12675
- function MN(e) {
12694
+ function TN(e) {
12676
12695
  Xl.add(e), window.dispatchEvent(new Event("lfg-collapse-change"));
12677
12696
  }
12678
- function TN(e) {
12697
+ function _N(e) {
12679
12698
  Xl.delete(e) && window.dispatchEvent(new Event("lfg-collapse-change"));
12680
12699
  }
12681
- const _N = 3e4, vo = /* @__PURE__ */ new Set();
12700
+ const EN = 3e4, vo = /* @__PURE__ */ new Set();
12682
12701
  function Qs(e) {
12683
12702
  vo.add(e), window.setTimeout(() => vo.delete(e), 2e3), mh(e, al());
12684
12703
  }
12685
- function EN(e, t = !1) {
12704
+ function IN(e, t = !1) {
12686
12705
  const r = xr(), s = De(
12687
12706
  () => e.map((d) => d.sessionId).filter((d) => !!d),
12688
12707
  [e]
12689
12708
  ), o = s.join(","), i = se(
12690
12709
  () => s.filter(
12691
- (d) => Xl.has(d) || (r ? !1 : t ? !0 : !CN(d))
12710
+ (d) => Xl.has(d) || (r ? !1 : t ? !0 : !MN(d))
12692
12711
  ),
12693
12712
  // eslint-disable-next-line react-hooks/exhaustive-deps
12694
12713
  [o, t, r]
@@ -12701,7 +12720,7 @@ function EN(e, t = !1) {
12701
12720
  };
12702
12721
  }, [i]), a;
12703
12722
  }
12704
- function IN(e, t) {
12723
+ function AN(e, t) {
12705
12724
  const r = De(
12706
12725
  () => t.filter((W) => !!W),
12707
12726
  [t]
@@ -12713,7 +12732,7 @@ function IN(e, t) {
12713
12732
  }, [e]), i = De(() => {
12714
12733
  const W = {};
12715
12734
  for (const z of e) {
12716
- const ee = lN(z);
12735
+ const ee = cN(z);
12717
12736
  z.sessionId && ee && (W[z.sessionId] = ee);
12718
12737
  }
12719
12738
  return W;
@@ -12796,7 +12815,7 @@ function IN(e, t) {
12796
12815
  else {
12797
12816
  const Z = I.role === "user" && I.kind === "text";
12798
12817
  let le = !1;
12799
- pe = Z ? ge.filter((be) => !be.pending || le || !cs(I.text, be.text) ? !0 : (le = !0, !1)) : ge.filter((be) => !(be.kind === "thinking" || I.role === "assistant" && I.kind === "text" && yo(be))), pe = iN(pe, I);
12818
+ pe = Z ? ge.filter((be) => !be.pending || le || !cs(I.text, be.text) ? !0 : (le = !0, !1)) : ge.filter((be) => !(be.kind === "thinking" || I.role === "assistant" && I.kind === "text" && yo(be))), pe = aN(pe, I);
12800
12819
  }
12801
12820
  return { ...re, [T]: pe.slice(-80) };
12802
12821
  });
@@ -12886,7 +12905,7 @@ function IN(e, t) {
12886
12905
  const T = Array.isArray(M.queue) ? M.queue : [];
12887
12906
  l((I) => ({
12888
12907
  ...I,
12889
- [M.sid]: af(I[M.sid] ?? [], T, aN)
12908
+ [M.sid]: af(I[M.sid] ?? [], T, lN)
12890
12909
  }));
12891
12910
  }), ie.onerror = () => {
12892
12911
  lr("live_stream_client_error", {
@@ -13007,7 +13026,7 @@ function IN(e, t) {
13007
13026
  loadOlderMessages: G
13008
13027
  };
13009
13028
  }
13010
- function AN({ user: e }) {
13029
+ function $N({ user: e }) {
13011
13030
  const [t, r] = v(!1), [s, o] = v(!1), [i] = v(() => Kw());
13012
13031
  if (F(() => {
13013
13032
  i || Qw().then(r);
@@ -13051,8 +13070,8 @@ function AN({ user: e }) {
13051
13070
  }
13052
13071
  );
13053
13072
  }
13054
- const $N = 2e4, zN = 5 * 6e4;
13055
- function PN() {
13073
+ const zN = 2e4, PN = 5 * 6e4;
13074
+ function ON() {
13056
13075
  const e = U({}), t = U({});
13057
13076
  F(() => {
13058
13077
  let r = !1;
@@ -13067,7 +13086,7 @@ function PN() {
13067
13086
  if (r || !i) return;
13068
13087
  const a = Date.now(), l = (x, y, w, C) => {
13069
13088
  const E = e.current[x] ?? 0;
13070
- e.current[x] = y, !(y === 0 || y <= E) && (a - (t.current[x] ?? 0) < zN || (t.current[x] = a, (y >= 2 ? we.error : we.warning)(w, { description: C })));
13089
+ e.current[x] = y, !(y === 0 || y <= E) && (a - (t.current[x] ?? 0) < PN || (t.current[x] = a, (y >= 2 ? we.error : we.warning)(w, { description: C })));
13071
13090
  }, d = ((h = (f = i.pressure) == null ? void 0 : f.memory) == null ? void 0 : h.some10) ?? 0;
13072
13091
  l(
13073
13092
  "psiMem",
@@ -13103,16 +13122,16 @@ function PN() {
13103
13122
  }
13104
13123
  };
13105
13124
  s();
13106
- const o = window.setInterval(() => void s(), $N);
13125
+ const o = window.setInterval(() => void s(), zN);
13107
13126
  return () => {
13108
13127
  r = !0, window.clearInterval(o);
13109
13128
  };
13110
13129
  }, []);
13111
13130
  }
13112
- function ON() {
13131
+ function RN() {
13113
13132
  var Sc;
13114
13133
  const e = $l();
13115
- PN();
13134
+ ON();
13116
13135
  const [t, r] = v(() => document.documentElement.classList.contains("dark"));
13117
13136
  F(() => {
13118
13137
  const g = () => {
@@ -13263,7 +13282,7 @@ function ON() {
13263
13282
  });
13264
13283
  },
13265
13284
  [Ye]
13266
- ), Xt = Vw(), { onOpenHostSettings: Qn } = ys(), Cn = w && !!Qn, Rn = se(() => Xe("notifications"), [Xe]), [yr, Ut] = v(() => R), [Qr, es] = v(!1), [Jt, rn] = v(!1);
13285
+ ), Jt = Vw(), { onOpenHostSettings: Qn } = ys(), Cn = w && !!Qn, Rn = se(() => Xe("notifications"), [Xe]), [yr, Ut] = v(() => R), [Qr, es] = v(!1), [Zt, rn] = v(!1);
13267
13286
  F(() => {
13268
13287
  me === "live" && Ut(!0), me === "notifications" && es(!0), me === "artifacts" && rn(!0);
13269
13288
  }, [me]), F(() => {
@@ -13291,7 +13310,7 @@ function ON() {
13291
13310
  const B = window.setTimeout(A, 800);
13292
13311
  return () => window.clearTimeout(B);
13293
13312
  }, [_e]);
13294
- const [zt, Zt] = v([]), [Mn, vr] = v([]), Ln = De(
13313
+ const [zt, Qt] = v([]), [Mn, vr] = v([]), Ln = De(
13295
13314
  () => new Map(Mn.map((g) => [g.id, g])),
13296
13315
  [Mn]
13297
13316
  ), [er, tr] = v(!1), [Bt, nr] = v({
@@ -13385,7 +13404,7 @@ function ON() {
13385
13404
  idleAgentArchiveMinutes: 0,
13386
13405
  transcriptView: "full",
13387
13406
  skippedUpdateVersion: ""
13388
- }), he(g.sessions ?? []), Te(g.users ?? []), Le(g.repos ?? []), Zt(((tt = g.auto) == null ? void 0 : tt.agents) ?? []), vr(A.bots ?? []), rr(((ot = g.settings) == null ? void 0 : ot.timeZone) ?? ((mt = g.auto) == null ? void 0 : mt.tz) ?? $r);
13407
+ }), he(g.sessions ?? []), Te(g.users ?? []), Le(g.repos ?? []), Qt(((tt = g.auto) == null ? void 0 : tt.agents) ?? []), vr(A.bots ?? []), rr(((ot = g.settings) == null ? void 0 : ot.timeZone) ?? ((mt = g.auto) == null ? void 0 : mt.tz) ?? $r);
13389
13408
  const B = ((ft = g.auto) == null ? void 0 : ft.findings) ?? [];
13390
13409
  fn(B), B.forEach((ut) => wt.current.add(ut.id)), vt.current = !0, Ve(null);
13391
13410
  }, [w]), [Dn, xn] = v(() => /* @__PURE__ */ new Set()), ts = se((g) => {
@@ -13414,7 +13433,7 @@ function ON() {
13414
13433
  ve("/api/auto/agents"),
13415
13434
  ve("/api/auto/findings?status=open")
13416
13435
  ]), B = A.findings ?? [];
13417
- if (Zt(g.agents ?? []), g.tz && rr(g.tz), fn(B), !vt.current) {
13436
+ if (Qt(g.agents ?? []), g.tz && rr(g.tz), fn(B), !vt.current) {
13418
13437
  B.forEach((ze) => wt.current.add(ze.id)), vt.current = !0;
13419
13438
  return;
13420
13439
  }
@@ -13453,7 +13472,7 @@ function ON() {
13453
13472
  }
13454
13473
  );
13455
13474
  }
13456
- }, [Bo, Fo]), Qt = se(async (g) => {
13475
+ }, [Bo, Fo]), en = se(async (g) => {
13457
13476
  const A = ne.current, B = g == null ? void 0 : g.seed;
13458
13477
  B != null && B.sessionId && (A.set(B.sessionId, { session: B, at: Date.now() }), he(
13459
13478
  (ft) => ft.some((ut) => ut.sessionId === B.sessionId) ? ft : [...ft, B]
@@ -13466,7 +13485,7 @@ function ON() {
13466
13485
  return !ut || !$t ? ft : $t.persistedAfterFetch !== null && de > $t.persistedAfterFetch && ($t.confirmedAt ?? ($t.confirmedAt = Date.now()), Date.now() - $t.confirmedAt >= 1e4) ? (We.delete(ut), ft) : { ...ft, title: $t.title };
13467
13486
  }), ot = new Set(tt.map((ft) => ft.sessionId)), mt = Date.now();
13468
13487
  for (const [ft, ut] of A) {
13469
- if (ot.has(ft) || mt - ut.at > _N) {
13488
+ if (ot.has(ft) || mt - ut.at > EN) {
13470
13489
  A.delete(ft);
13471
13490
  continue;
13472
13491
  }
@@ -13492,9 +13511,9 @@ function ON() {
13492
13511
  );
13493
13512
  const We = (Fe.current.get(g) ?? Promise.resolve()).catch(() => {
13494
13513
  }).then(async () => {
13495
- await Kk(g, B);
13514
+ await Yk(g, B);
13496
13515
  const tt = Ce.current.get(g);
13497
- (tt == null ? void 0 : tt.revision) === de && (tt.persistedAfterFetch = Ae.current, await Qt());
13516
+ (tt == null ? void 0 : tt.revision) === de && (tt.persistedAfterFetch = Ae.current, await en());
13498
13517
  });
13499
13518
  Fe.current.set(g, We);
13500
13519
  try {
@@ -13502,13 +13521,13 @@ function ON() {
13502
13521
  } catch (tt) {
13503
13522
  const ot = Ce.current.get(g);
13504
13523
  if ((ot == null ? void 0 : ot.revision) !== de) return;
13505
- throw Ce.current.delete(g), await Qt().catch(() => {
13524
+ throw Ce.current.delete(g), await en().catch(() => {
13506
13525
  }), tt;
13507
13526
  } finally {
13508
13527
  Fe.current.get(g) === We && Fe.current.delete(g);
13509
13528
  }
13510
13529
  },
13511
- [Qt]
13530
+ [en]
13512
13531
  );
13513
13532
  F(() => {
13514
13533
  let g = !1;
@@ -13537,7 +13556,7 @@ function ON() {
13537
13556
  }, [_e, me]), F(() => {
13538
13557
  let g = null;
13539
13558
  const A = () => {
13540
- Qt().catch(() => {
13559
+ en().catch(() => {
13541
13560
  }), kr().catch(() => {
13542
13561
  }), st().catch(() => {
13543
13562
  });
@@ -13555,7 +13574,7 @@ function ON() {
13555
13574
  return document.hidden || B(), document.addEventListener("visibilitychange", ze), () => {
13556
13575
  de(), document.removeEventListener("visibilitychange", ze);
13557
13576
  };
13558
- }, [Qt, kr, st]), F(() => {
13577
+ }, [en, kr, st]), F(() => {
13559
13578
  const g = () => {
13560
13579
  ve("/api/users").then((A) => Te(A.users ?? [])).catch(() => {
13561
13580
  });
@@ -13766,7 +13785,7 @@ function ON() {
13766
13785
  };
13767
13786
  return window.addEventListener("keydown", g), () => window.removeEventListener("keydown", g);
13768
13787
  }, []);
13769
- const pc = EN(jn, !1), sp = IN(jn, Un ? [] : pc), ns = hy(jn, pc, {
13788
+ const pc = IN(jn, !1), sp = AN(jn, Un ? [] : pc), ns = hy(jn, pc, {
13770
13789
  enabled: Un,
13771
13790
  onStatusRows: Qi
13772
13791
  }), Os = Un ? ns : sp;
@@ -13833,7 +13852,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
13833
13852
  method: "POST",
13834
13853
  headers: { "Content-Type": "application/json" },
13835
13854
  body: JSON.stringify({ status: "session" })
13836
- }), fn((Ls) => Ls.filter((rs) => rs.id !== g.id)), Xe("live"), await Promise.all([Qt(), kr()]);
13855
+ }), fn((Ls) => Ls.filter((rs) => rs.id !== g.id)), Xe("live"), await Promise.all([en(), kr()]);
13837
13856
  } catch (yn) {
13838
13857
  if (!Bn && gm(yn, "finding", () => void $t(!0))) return;
13839
13858
  we.error(yn instanceof Error ? yn.message : String(yn));
@@ -13924,19 +13943,19 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
13924
13943
  }
13925
13944
  async function fp(g) {
13926
13945
  try {
13927
- await ve(`/api/bots/${encodeURIComponent(g)}`, { method: "DELETE" }), It(), await Promise.all([st(), Qt()]), we.success("Bot deleted");
13946
+ await ve(`/api/bots/${encodeURIComponent(g)}`, { method: "DELETE" }), It(), await Promise.all([st(), en()]), we.success("Bot deleted");
13928
13947
  } catch (A) {
13929
13948
  we.error(A instanceof Error ? A.message : String(A));
13930
13949
  }
13931
13950
  }
13932
13951
  async function gc(g) {
13933
- Zt(
13952
+ Qt(
13934
13953
  (A) => A.map((B) => B.id === g ? { ...B, running: !0 } : B)
13935
13954
  );
13936
13955
  try {
13937
13956
  await ve(`/api/auto/agents/${g}/run`, { method: "POST" });
13938
13957
  } catch (A) {
13939
- Zt(
13958
+ Qt(
13940
13959
  (B) => B.map((de) => de.id === g ? { ...de, running: !1 } : de)
13941
13960
  ), we.error(A instanceof Error ? A.message : String(A));
13942
13961
  }
@@ -13976,7 +13995,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
13976
13995
  thinkingLevel: un(de) ? Xn() : void 0
13977
13996
  })
13978
13997
  });
13979
- tt.sessionId && Qs(tt.sessionId), Xe("live"), await Qt(), we.success(
13998
+ tt.sessionId && Qs(tt.sessionId), Xe("live"), await en(), we.success(
13980
13999
  `Started triage & execute for ${g.length} finding${g.length === 1 ? "" : "s"}`
13981
14000
  );
13982
14001
  } catch (tt) {
@@ -14010,12 +14029,12 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14010
14029
  })) {
14011
14030
  B.forEach((mt) => ts(mt));
14012
14031
  try {
14013
- const mt = await Yk(B, "live_clear_idle"), ft = ((tt = mt.closed) == null ? void 0 : tt.length) ?? 0, ut = ((ot = mt.failed) == null ? void 0 : ot.length) ?? 0;
14032
+ const mt = await Xk(B, "live_clear_idle"), ft = ((tt = mt.closed) == null ? void 0 : tt.length) ?? 0, ut = ((ot = mt.failed) == null ? void 0 : ot.length) ?? 0;
14014
14033
  ut ? we.warning(`Archived ${ft}, ${ut} could not be archived`) : we.success(`Archived ${ft} session${ft === 1 ? "" : "s"}`);
14015
14034
  } catch (mt) {
14016
14035
  we.error(mt instanceof Error ? mt.message : "Could not archive sessions");
14017
14036
  } finally {
14018
- await Qt().catch(() => {
14037
+ await en().catch(() => {
14019
14038
  });
14020
14039
  }
14021
14040
  }
@@ -14027,7 +14046,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14027
14046
  ), de = localStorage.getItem(`lfg_model_${B}`) || localStorage.getItem("lfg_model") || be.defaults[B] || Fr[B], ze = Ke === "__unassigned" ? "" : dr(
14028
14047
  Ke !== "__all" ? Ke : localStorage.getItem("lfg_user"),
14029
14048
  V
14030
- ), We = sN(g, Je);
14049
+ ), We = oN(g, Je);
14031
14050
  try {
14032
14051
  const tt = await ve("/api/sessions/new", {
14033
14052
  method: "POST",
@@ -14041,7 +14060,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14041
14060
  thinkingLevel: un(B) ? Xn() : void 0
14042
14061
  })
14043
14062
  });
14044
- tt.sessionId && Qs(tt.sessionId), Xe("live"), await Qt(), we.success(`Started ${g.label.toLowerCase()}`);
14063
+ tt.sessionId && Qs(tt.sessionId), Xe("live"), await en(), we.success(`Started ${g.label.toLowerCase()}`);
14045
14064
  } catch (tt) {
14046
14065
  we.error(tt instanceof Error ? tt.message : "Could not start management session");
14047
14066
  }
@@ -14308,7 +14327,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14308
14327
  }), H(null), _(null);
14309
14328
  },
14310
14329
  complete: na
14311
- }, wc = Pe ? Pe.hosted ? !!Pe.hosted.introDoneAt : Fk() : !1;
14330
+ }, wc = Pe ? Pe.hosted ? !!Pe.hosted.introDoneAt : Hk() : !1;
14312
14331
  sh({
14313
14332
  embedded: w,
14314
14333
  bare: C,
@@ -14363,7 +14382,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14363
14382
  ] });
14364
14383
  if (!w && O)
14365
14384
  return /* @__PURE__ */ n(
14366
- BN,
14385
+ FN,
14367
14386
  {
14368
14387
  onboarding: Pe,
14369
14388
  version: L,
@@ -14381,7 +14400,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14381
14400
  );
14382
14401
  if (!w && !je && V.length)
14383
14402
  return /* @__PURE__ */ n(
14384
- FN,
14403
+ HN,
14385
14404
  {
14386
14405
  users: V,
14387
14406
  onPick: (g) => {
@@ -14409,7 +14428,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14409
14428
  "aria-describedby": _e ? "lfg-startup-status" : void 0,
14410
14429
  "data-startup-state": _e ? "connecting" : "ready",
14411
14430
  className: $(
14412
- C ? wN : vN,
14431
+ C ? kN : wN,
14413
14432
  _e && "[&_button]:cursor-wait [&_button]:opacity-60 [&_input]:cursor-wait [&_input]:opacity-60 [&_select]:cursor-wait [&_select]:opacity-60 [&_textarea]:cursor-wait [&_textarea]:opacity-60",
14414
14433
  // Embed: leave a blank band of our own background under the host
14415
14434
  // compact pill so list/inline composer sit above it. Full-bleed
@@ -14420,7 +14439,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14420
14439
  w && !C && "pb-[var(--lfg-host-bottom-inset)]"
14421
14440
  ),
14422
14441
  children: [
14423
- i ? /* @__PURE__ */ n(Wk, { artifact: i, onClose: m }) : null,
14442
+ i ? /* @__PURE__ */ n(Gk, { artifact: i, onClose: m }) : null,
14424
14443
  C ? null : /* @__PURE__ */ c(
14425
14444
  "div",
14426
14445
  {
@@ -14445,7 +14464,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14445
14464
  ),
14446
14465
  children: [
14447
14466
  /* @__PURE__ */ n(
14448
- RN,
14467
+ LN,
14449
14468
  {
14450
14469
  intro: Ct,
14451
14470
  hosted: w,
@@ -14479,7 +14498,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14479
14498
  {
14480
14499
  tab: me,
14481
14500
  onOpenTab: Xe,
14482
- extraTabs: Xt,
14501
+ extraTabs: Jt,
14483
14502
  showSettings: !1,
14484
14503
  onOpenHostSettings: Cn ? Qn : void 0
14485
14504
  }
@@ -14499,7 +14518,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14499
14518
  {
14500
14519
  tab: me,
14501
14520
  onOpenTab: Xe,
14502
- extraTabs: Xt,
14521
+ extraTabs: Jt,
14503
14522
  showSettings: !0
14504
14523
  }
14505
14524
  )
@@ -14624,7 +14643,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14624
14643
  {
14625
14644
  tab: me,
14626
14645
  onOpenTab: Xe,
14627
- extraTabs: Xt,
14646
+ extraTabs: Jt,
14628
14647
  showSettings: !w
14629
14648
  }
14630
14649
  )
@@ -14671,7 +14690,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14671
14690
  sa ? "overflow-hidden pb-3" : `overflow-y-auto ${Mp}`
14672
14691
  ]
14673
14692
  ),
14674
- children: C && _e ? /* @__PURE__ */ n(NN, {}) : /* @__PURE__ */ c(Ue, { children: [
14693
+ children: C && _e ? /* @__PURE__ */ n(SN, {}) : /* @__PURE__ */ c(Ue, { children: [
14675
14694
  yr || Wo ? /* @__PURE__ */ n(
14676
14695
  "div",
14677
14696
  {
@@ -14683,7 +14702,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14683
14702
  ),
14684
14703
  "aria-hidden": !Wo,
14685
14704
  children: /* @__PURE__ */ n(
14686
- GN,
14705
+ KN,
14687
14706
  {
14688
14707
  sessions: jn,
14689
14708
  shippedReview: p,
@@ -14711,7 +14730,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14711
14730
  {
14712
14731
  tab: me,
14713
14732
  onOpenTab: Xe,
14714
- extraTabs: Xt,
14733
+ extraTabs: Jt,
14715
14734
  showSettings: !w
14716
14735
  }
14717
14736
  ),
@@ -14722,7 +14741,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14722
14741
  busyBySid: Os.busyBySid,
14723
14742
  promptsBySid: Os.promptsBySid,
14724
14743
  onSubscribeTranscript: Un ? ns.subscribeTranscript : void 0,
14725
- onRefresh: Qt,
14744
+ onRefresh: en,
14726
14745
  onRenameSession: tp,
14727
14746
  onRemove: ts,
14728
14747
  onNew: () => q ? bt((g) => g + 1) : Y(!0),
@@ -14741,7 +14760,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14741
14760
  }
14742
14761
  ) : null,
14743
14762
  me === "bots" && !Nc && (!ar || q) ? /* @__PURE__ */ n(
14744
- oS,
14763
+ iS,
14745
14764
  {
14746
14765
  bots: Mn,
14747
14766
  sessions: xe,
@@ -14754,11 +14773,11 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14754
14773
  onNew: () => qt("new"),
14755
14774
  onEdit: (g) => qt(g),
14756
14775
  onRefreshBots: st,
14757
- onRefreshSessions: Qt
14776
+ onRefreshSessions: en
14758
14777
  }
14759
14778
  ) : null,
14760
14779
  ar ? /* @__PURE__ */ n(
14761
- iS,
14780
+ aS,
14762
14781
  {
14763
14782
  bot: ar,
14764
14783
  repos: ye,
@@ -14772,7 +14791,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14772
14791
  ar === "new" ? "new" : ar.id
14773
14792
  ) : null,
14774
14793
  me === "auto" ? /* @__PURE__ */ n(
14775
- aS,
14794
+ lS,
14776
14795
  {
14777
14796
  autoAgents: zt,
14778
14797
  findings: sr,
@@ -14785,7 +14804,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14785
14804
  onSettingsChange: Rs
14786
14805
  }
14787
14806
  ) : null,
14788
- me === "usage" ? /* @__PURE__ */ n(Z2, {}) : null,
14807
+ me === "usage" ? /* @__PURE__ */ n(Q2, {}) : null,
14789
14808
  me === "coding-agents" ? /* @__PURE__ */ n(on, { fallback: /* @__PURE__ */ n("div", { className: "py-10 text-center text-sm text-muted-foreground", children: "Loading…" }), children: /* @__PURE__ */ n(
14790
14809
  Ck,
14791
14810
  {
@@ -14821,7 +14840,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14821
14840
  onReviewSession: uc
14822
14841
  }
14823
14842
  ) }) }) : null,
14824
- Jt || me === "artifacts" ? /* @__PURE__ */ n("div", { className: me === "artifacts" ? void 0 : "hidden", "aria-hidden": me !== "artifacts", children: /* @__PURE__ */ n(on, { fallback: /* @__PURE__ */ n("div", { className: "py-10 text-center text-sm text-muted-foreground", children: "Loading…" }), children: /* @__PURE__ */ n(
14843
+ Zt || me === "artifacts" ? /* @__PURE__ */ n("div", { className: me === "artifacts" ? void 0 : "hidden", "aria-hidden": me !== "artifacts", children: /* @__PURE__ */ n(on, { fallback: /* @__PURE__ */ n("div", { className: "py-10 text-center text-sm text-muted-foreground", children: "Loading…" }), children: /* @__PURE__ */ n(
14825
14844
  Ld,
14826
14845
  {
14827
14846
  artifactsOnly: !0,
@@ -14834,9 +14853,9 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14834
14853
  ) }) }) : null,
14835
14854
  me === "changelog" ? /* @__PURE__ */ n(on, { fallback: /* @__PURE__ */ n("div", { className: "py-10 text-center text-sm text-muted-foreground", children: "Loading changelog…" }), children: /* @__PURE__ */ n(Mk, {}) }) : null,
14836
14855
  me === "term" ? /* @__PURE__ */ n(on, { fallback: /* @__PURE__ */ n("div", { className: "py-10 text-center text-sm text-muted-foreground", children: "Loading terminal…" }), children: /* @__PURE__ */ n(am, {}) }) : null,
14837
- me === "storage" ? /* @__PURE__ */ n(F2, {}) : null,
14856
+ me === "storage" ? /* @__PURE__ */ n(H2, {}) : null,
14838
14857
  me === "more" ? /* @__PURE__ */ n(
14839
- eS,
14858
+ tS,
14840
14859
  {
14841
14860
  dark: t,
14842
14861
  toggleTheme: op,
@@ -14845,13 +14864,13 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14845
14864
  onOpenUsage: () => Xe("usage"),
14846
14865
  onOpenChangelog: () => Xe("changelog"),
14847
14866
  onRedoOnboarding: w ? gp : pp,
14848
- extTabs: Xt,
14867
+ extTabs: Jt,
14849
14868
  onOpenExt: (g) => Xe(g)
14850
14869
  }
14851
14870
  ) : null,
14852
- Xt.some((g) => g.id === me) ? Xt.find((g) => g.id === me).render() : null,
14853
- me !== "live" && me !== "auto" && me !== "usage" && me !== "coding-agents" && me !== "notifications" && me !== "artifacts" && me !== "changelog" && me !== "term" && me !== "bots" && me !== "storage" && me !== "more" && !Xt.some((g) => g.id === me) ? /* @__PURE__ */ n(
14854
- Q2,
14871
+ Jt.some((g) => g.id === me) ? Jt.find((g) => g.id === me).render() : null,
14872
+ me !== "live" && me !== "auto" && me !== "usage" && me !== "coding-agents" && me !== "notifications" && me !== "artifacts" && me !== "changelog" && me !== "term" && me !== "bots" && me !== "storage" && me !== "more" && !Jt.some((g) => g.id === me) ? /* @__PURE__ */ n(
14873
+ eS,
14855
14874
  {
14856
14875
  user: Ke !== "__all" && Ke !== "__unassigned" ? Ke : null,
14857
14876
  onOpenCodingAgents: () => Xe("coding-agents"),
@@ -14895,7 +14914,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14895
14914
  onClose: () => Re(!1),
14896
14915
  onCreated: async (g) => {
14897
14916
  const A = g == null ? void 0 : g.launchId;
14898
- await Qt({
14917
+ await en({
14899
14918
  ...A ? { retireLaunchId: A } : {},
14900
14919
  seed: (g == null ? void 0 : g.session) ?? null
14901
14920
  });
@@ -14904,7 +14923,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14904
14923
  )
14905
14924
  ) : null }),
14906
14925
  $e ? /* @__PURE__ */ n(
14907
- I2,
14926
+ A2,
14908
14927
  {
14909
14928
  finding: $e,
14910
14929
  agentName: ea($e.agentId),
@@ -14918,7 +14937,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14918
14937
  $e.id
14919
14938
  ) : null,
14920
14939
  nt === "new" ? /* @__PURE__ */ n(
14921
- A2,
14940
+ $2,
14922
14941
  {
14923
14942
  repos: ye,
14924
14943
  scopedProject: Je,
@@ -14927,7 +14946,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14927
14946
  onCreate: cp
14928
14947
  }
14929
14948
  ) : nt ? /* @__PURE__ */ n(
14930
- $2,
14949
+ z2,
14931
14950
  {
14932
14951
  agent: nt,
14933
14952
  repos: ye,
@@ -14955,7 +14974,7 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
14955
14974
  Y(!1);
14956
14975
  },
14957
14976
  onCreated: async (g) => {
14958
- Y(!1), Xe("live"), await Qt({ seed: (g == null ? void 0 : g.session) ?? null });
14977
+ Y(!1), Xe("live"), await en({ seed: (g == null ? void 0 : g.session) ?? null });
14959
14978
  }
14960
14979
  }
14961
14980
  ),
@@ -15009,9 +15028,9 @@ ${g.reasoning.map((Bn) => `- ${Bn}`).join(`
15009
15028
  ]
15010
15029
  }
15011
15030
  ),
15012
- _e ? /* @__PURE__ */ n(kN, {}) : null,
15031
+ _e ? /* @__PURE__ */ n(NN, {}) : null,
15013
15032
  l ? /* @__PURE__ */ n(
15014
- Vk,
15033
+ Wk,
15015
15034
  {
15016
15035
  sessionId: l,
15017
15036
  session: xe.find((g) => g.sessionId === l) ?? null,
@@ -15076,13 +15095,13 @@ function Jl({
15076
15095
  ] }) : /* @__PURE__ */ n(
15077
15096
  "img",
15078
15097
  {
15079
- src: en(No),
15098
+ src: Kt(No),
15080
15099
  alt: "omg",
15081
15100
  className: "mx-1 size-6 shrink-0 rounded-md"
15082
15101
  }
15083
15102
  );
15084
15103
  }
15085
- function RN({
15104
+ function LN({
15086
15105
  intro: e,
15087
15106
  hosted: t = !1,
15088
15107
  viewerName: r,
@@ -15212,16 +15231,16 @@ function el({
15212
15231
  onValueChange: (i) => r(typeof i == "string" ? i : "__all"),
15213
15232
  children: [
15214
15233
  /* @__PURE__ */ n(Br, { children: "Filter by user" }),
15215
- /* @__PURE__ */ c(Kt, { value: "__all", children: [
15234
+ /* @__PURE__ */ c(Yt, { value: "__all", children: [
15216
15235
  /* @__PURE__ */ n(Pa, { className: "size-5 shrink-0 text-muted-foreground" }),
15217
15236
  "All users"
15218
15237
  ] }),
15219
- /* @__PURE__ */ c(Kt, { value: "__unassigned", children: [
15238
+ /* @__PURE__ */ c(Yt, { value: "__unassigned", children: [
15220
15239
  /* @__PURE__ */ n("span", { className: "flex size-5 shrink-0 items-center justify-center rounded-full bg-muted", children: /* @__PURE__ */ n(cn, { className: "size-3" }) }),
15221
15240
  "Unassigned"
15222
15241
  ] }),
15223
15242
  t.length ? /* @__PURE__ */ n(Or, {}) : null,
15224
- t.map((i) => /* @__PURE__ */ c(Kt, { value: i.email, children: [
15243
+ t.map((i) => /* @__PURE__ */ c(Yt, { value: i.email, children: [
15225
15244
  i.avatar ? /* @__PURE__ */ n("img", { src: i.avatar, alt: "", className: "size-5 shrink-0 rounded-full object-cover" }) : /* @__PURE__ */ n("span", { className: "flex size-5 shrink-0 items-center justify-center rounded-full bg-muted", children: /* @__PURE__ */ n(cn, { className: "size-3" }) }),
15226
15245
  /* @__PURE__ */ n("span", { className: "truncate capitalize", children: i.name ?? Ms(i.email) })
15227
15246
  ] }, i.email))
@@ -15231,7 +15250,7 @@ function el({
15231
15250
  ] });
15232
15251
  }
15233
15252
  const Rr = ["#fb923c", "#38bdf8", "#a78bfa", "#34d399"];
15234
- function LN(e) {
15253
+ function DN(e) {
15235
15254
  const t = (r) => {
15236
15255
  const s = r.toLowerCase();
15237
15256
  return s.includes("week") || s.includes("7 day") ? 0 : s.includes("5") && (s.includes("hr") || s.includes("hour")) ? 1 : 2;
@@ -15278,7 +15297,7 @@ function Ia({
15278
15297
  }
15279
15298
  );
15280
15299
  }
15281
- function DN({
15300
+ function jN({
15282
15301
  size: e = 22,
15283
15302
  className: t
15284
15303
  }) {
@@ -15328,21 +15347,21 @@ function DN({
15328
15347
  }
15329
15348
  );
15330
15349
  }
15331
- function jN() {
15350
+ function UN() {
15332
15351
  return /* @__PURE__ */ n(
15333
15352
  "span",
15334
15353
  {
15335
15354
  className: "flex shrink-0 items-center justify-center rounded-full p-1 pl-4 md:pl-1",
15336
15355
  title: "Loading usage",
15337
- children: /* @__PURE__ */ n(DN, {})
15356
+ children: /* @__PURE__ */ n(jN, {})
15338
15357
  }
15339
15358
  );
15340
15359
  }
15341
- function UN({
15360
+ function BN({
15342
15361
  provider: e,
15343
15362
  className: t
15344
15363
  }) {
15345
- const r = LN(e.windows ?? []), s = dk();
15364
+ const r = DN(e.windows ?? []), s = dk();
15346
15365
  return /* @__PURE__ */ c(Xr, { children: [
15347
15366
  /* @__PURE__ */ n(
15348
15367
  Jr,
@@ -15455,7 +15474,7 @@ function Zl({
15455
15474
  ),
15456
15475
  /* @__PURE__ */ n(Or, {})
15457
15476
  ] }) : null,
15458
- nN.map((i) => /* @__PURE__ */ c(
15477
+ rN.map((i) => /* @__PURE__ */ c(
15459
15478
  sn,
15460
15479
  {
15461
15480
  className: "flex cursor-pointer flex-col items-start gap-0.5 py-2",
@@ -15507,25 +15526,25 @@ function ai({
15507
15526
  },
15508
15527
  children: [
15509
15528
  /* @__PURE__ */ n(Br, { children: "Pages" }),
15510
- /* @__PURE__ */ c(Kt, { value: "live", children: [
15529
+ /* @__PURE__ */ c(Yt, { value: "live", children: [
15511
15530
  /* @__PURE__ */ n(O0, { className: "size-5 shrink-0 text-muted-foreground" }),
15512
15531
  "Live"
15513
15532
  ] }),
15514
- /* @__PURE__ */ c(Kt, { value: "bots", children: [
15533
+ /* @__PURE__ */ c(Yt, { value: "bots", children: [
15515
15534
  /* @__PURE__ */ n($i, { className: "size-5 shrink-0 text-muted-foreground" }),
15516
15535
  "Bots"
15517
15536
  ] }),
15518
- /* @__PURE__ */ c(Kt, { value: "notifications", children: [
15537
+ /* @__PURE__ */ c(Yt, { value: "notifications", children: [
15519
15538
  /* @__PURE__ */ n($u, { className: "size-5 shrink-0 text-muted-foreground" }),
15520
15539
  "Notifications"
15521
15540
  ] }),
15522
- /* @__PURE__ */ c(Kt, { value: "artifacts", children: [
15541
+ /* @__PURE__ */ c(Yt, { value: "artifacts", children: [
15523
15542
  /* @__PURE__ */ n(ju, { className: "size-5 shrink-0 text-muted-foreground" }),
15524
15543
  "Artifacts"
15525
15544
  ] }),
15526
15545
  s ? /* @__PURE__ */ c(Ue, { children: [
15527
15546
  /* @__PURE__ */ n(Or, {}),
15528
- /* @__PURE__ */ c(Kt, { value: "settings", children: [
15547
+ /* @__PURE__ */ c(Yt, { value: "settings", children: [
15529
15548
  /* @__PURE__ */ n(lo, { className: "size-5 shrink-0 text-muted-foreground" }),
15530
15549
  "Settings"
15531
15550
  ] })
@@ -15546,7 +15565,7 @@ function ai({
15546
15565
  )
15547
15566
  ] }) : null,
15548
15567
  r.length ? /* @__PURE__ */ n(Or, {}) : null,
15549
- r.map((m) => /* @__PURE__ */ c(Kt, { value: m.id, children: [
15568
+ r.map((m) => /* @__PURE__ */ c(Yt, { value: m.id, children: [
15550
15569
  /* @__PURE__ */ n("span", { className: "flex size-5 shrink-0 items-center justify-center text-muted-foreground", children: m.icon ?? /* @__PURE__ */ n(Lu, { className: "size-4" }) }),
15551
15570
  /* @__PURE__ */ n("span", { className: "truncate", children: m.label })
15552
15571
  ] }, m.id))
@@ -15623,7 +15642,7 @@ function eo({
15623
15642
  }
15624
15643
  );
15625
15644
  }
15626
- function BN({
15645
+ function FN({
15627
15646
  onboarding: e,
15628
15647
  version: t,
15629
15648
  codingAgents: r,
@@ -15797,7 +15816,7 @@ function BN({
15797
15816
  /* @__PURE__ */ n(
15798
15817
  "img",
15799
15818
  {
15800
- src: en(No),
15819
+ src: Kt(No),
15801
15820
  alt: "omg",
15802
15821
  className: "size-7 shrink-0"
15803
15822
  }
@@ -16126,7 +16145,7 @@ function BN({
16126
16145
  }
16127
16146
  );
16128
16147
  }
16129
- function FN({
16148
+ function HN({
16130
16149
  users: e,
16131
16150
  onPick: t
16132
16151
  }) {
@@ -16134,7 +16153,7 @@ function FN({
16134
16153
  /* @__PURE__ */ n("div", { className: "mb-4 flex items-center gap-2", children: /* @__PURE__ */ n(
16135
16154
  "img",
16136
16155
  {
16137
- src: en(No),
16156
+ src: Kt(No),
16138
16157
  alt: "omg",
16139
16158
  className: "size-7 shrink-0"
16140
16159
  }
@@ -16175,7 +16194,7 @@ function xr() {
16175
16194
  return s(), r.addEventListener("change", s), () => r.removeEventListener("change", s);
16176
16195
  }, []), e;
16177
16196
  }
16178
- function HN(e) {
16197
+ function qN(e) {
16179
16198
  return e instanceof HTMLElement ? e.isContentEditable || e instanceof HTMLTextAreaElement ? !0 : e instanceof HTMLInputElement ? !["button", "checkbox", "file", "hidden", "radio", "range", "reset", "submit"].includes(
16180
16199
  e.type
16181
16200
  ) : !1 : !1;
@@ -16184,9 +16203,9 @@ function Tm(e) {
16184
16203
  const t = e instanceof HTMLElement ? e : null, r = t == null ? void 0 : t.closest("form");
16185
16204
  if (!r) return !1;
16186
16205
  const s = document.activeElement;
16187
- return s instanceof HTMLElement && r.contains(s) && HN(s);
16206
+ return s instanceof HTMLElement && r.contains(s) && qN(s);
16188
16207
  }
16189
- function qN(e) {
16208
+ function VN(e) {
16190
16209
  let t = e instanceof HTMLElement ? e : null;
16191
16210
  for (; t && t !== document.body; ) {
16192
16211
  const s = window.getComputedStyle(t).overflowX;
@@ -16195,9 +16214,9 @@ function qN(e) {
16195
16214
  }
16196
16215
  return !1;
16197
16216
  }
16198
- function VN(e) {
16217
+ function WN(e) {
16199
16218
  const t = e instanceof Element ? e : null;
16200
- return t ? qN(e) ? !0 : !!t.closest(
16219
+ return t ? VN(e) ? !0 : !!t.closest(
16201
16220
  [
16202
16221
  "a[href]",
16203
16222
  "button",
@@ -16301,7 +16320,7 @@ function Am(e, t) {
16301
16320
  const d = (h) => t(h.session) || h.children.some(d), u = (h) => h.flatMap((p) => [p.session, ...u(p.children)]);
16302
16321
  return { roots: i, effectiveBusy: d, flatten: u, nodeForSessionId: (h) => r.get(s.get(h) ?? h) ?? null, rootForSessionId: (h) => a.get(h) ?? null };
16303
16322
  }
16304
- function WN(e, t) {
16323
+ function GN(e, t) {
16305
16324
  const [r, s] = v(
16306
16325
  () => {
16307
16326
  var o;
@@ -16390,7 +16409,7 @@ function $m({
16390
16409
  }
16391
16410
  );
16392
16411
  }
16393
- function GN({
16412
+ function KN({
16394
16413
  // Defense-in-depth: `sessions`/`findings`/`autoAgents` are read via `.length`
16395
16414
  // unconditionally below (the original `findings.length` crash site). The fetch
16396
16415
  // layer already guards these to [], but default here too so any future caller
@@ -16439,7 +16458,7 @@ function GN({
16439
16458
  hosted: re = !1,
16440
16459
  focus: ge
16441
16460
  }) {
16442
- const pe = _m(), Z = WN(
16461
+ const pe = _m(), Z = GN(
16443
16462
  i,
16444
16463
  !!_
16445
16464
  ), [le, be] = v(null), [ke, Ge] = v(rl), qe = U(ke);
@@ -16572,7 +16591,7 @@ function GN({
16572
16591
  ] : [Le(te.session, 0)];
16573
16592
  if (pe)
16574
16593
  return /* @__PURE__ */ n(
16575
- KN,
16594
+ YN,
16576
16595
  {
16577
16596
  sessions: e,
16578
16597
  shippedReview: t,
@@ -16659,7 +16678,7 @@ function GN({
16659
16678
  }
16660
16679
  ),
16661
16680
  /* @__PURE__ */ n("div", { className: "grid grid-cols-1 gap-2.5 md:grid-cols-2 xl:grid-cols-2", children: b.map((te) => /* @__PURE__ */ n(
16662
- JN,
16681
+ ZN,
16663
16682
  {
16664
16683
  finding: te,
16665
16684
  agentName: ye(te.agentId),
@@ -16722,7 +16741,7 @@ function GN({
16722
16741
  ] }) : null
16723
16742
  ] }),
16724
16743
  le && Ve ? /* @__PURE__ */ n(
16725
- l2,
16744
+ c2,
16726
16745
  {
16727
16746
  sid: le.sid,
16728
16747
  session: Ve,
@@ -16743,7 +16762,7 @@ function GN({
16743
16762
  ) : null
16744
16763
  ] });
16745
16764
  }
16746
- function KN({
16765
+ function YN({
16747
16766
  sessions: e = [],
16748
16767
  shippedReview: t,
16749
16768
  users: r,
@@ -16971,11 +16990,11 @@ function KN({
16971
16990
  [e, i]
16972
16991
  ), yt = new Set(J), Xe = (D) => yt.has($n(D.session)) || D.children.some(Xe), Ht = St.roots.filter(Xe), It = (D) => !!D.session.botId, qt = St.roots.filter(
16973
16992
  (D) => !Xe(D) && It(D)
16974
- ), Xt = St.roots.filter(
16993
+ ), Jt = St.roots.filter(
16975
16994
  (D) => !Xe(D) && !It(D) && St.effectiveBusy(D)
16976
16995
  ), Qn = St.roots.filter(
16977
16996
  (D) => !Xe(D) && !It(D) && !St.effectiveBusy(D)
16978
- ), Cn = St.flatten(Ht), Rn = St.flatten(qt), yr = St.flatten(Xt), Ut = St.flatten(Qn), Qr = De(() => {
16997
+ ), Cn = St.flatten(Ht), Rn = St.flatten(qt), yr = St.flatten(Jt), Ut = St.flatten(Qn), Qr = De(() => {
16979
16998
  if (s !== "__all") return [];
16980
16999
  const D = /* @__PURE__ */ new Map();
16981
17000
  for (const N of St.roots.filter(
@@ -16989,16 +17008,16 @@ function KN({
16989
17008
  ...Cn,
16990
17009
  ...Rn,
16991
17010
  ...Qr.flatMap((D) => St.flatten(D.nodes))
16992
- ] : [...Cn, ...Rn, ...yr, ...Ut], Jt = De(() => {
17011
+ ] : [...Cn, ...Rn, ...yr, ...Ut], Zt = De(() => {
16993
17012
  const D = [];
16994
17013
  for (const N of es)
16995
17014
  N.sessionId && D.push(N.sessionId);
16996
17015
  return D;
16997
17016
  }, [es]);
16998
17017
  F(() => {
16999
- V((D) => D && Jt.includes(D) ? D : Jt[0] ?? null);
17000
- }, [Jt]);
17001
- const rn = Jt.slice(0, 8).join(",");
17018
+ V((D) => D && Zt.includes(D) ? D : Zt[0] ?? null);
17019
+ }, [Zt]);
17020
+ const rn = Zt.slice(0, 8).join(",");
17002
17021
  F(() => {
17003
17022
  rn && pf(rn.split(","), zm);
17004
17023
  }, [rn]), F(() => {
@@ -17007,17 +17026,17 @@ function KN({
17007
17026
  }, [ne]);
17008
17027
  const zt = se(
17009
17028
  (D) => {
17010
- const N = te.current ? Jt.indexOf(te.current) : -1, K = Jt.indexOf(D);
17029
+ const N = te.current ? Zt.indexOf(te.current) : -1, K = Zt.indexOf(D);
17011
17030
  if (N < 0 || K < 0) {
17012
17031
  te.current = D, V(D), Fe(D);
17013
17032
  return;
17014
17033
  }
17015
17034
  const [$e, Ee] = N < K ? [N, K] : [K, N];
17016
- let nt = Jt.slice($e, Ee + 1);
17035
+ let nt = Zt.slice($e, Ee + 1);
17017
17036
  nt.length > Z && (we.error(`${Z} panes max — selection trimmed`), nt = K >= N ? nt.slice(nt.length - Z) : nt.slice(0, Z)), Ce(nt), Fe(null), V(D);
17018
17037
  },
17019
- [Jt]
17020
- ), Zt = se(
17038
+ [Zt]
17039
+ ), Qt = se(
17021
17040
  (D, N) => {
17022
17041
  if (N && te.current) {
17023
17042
  zt(D), Re(D);
@@ -17060,11 +17079,11 @@ function KN({
17060
17079
  [pe, fe, me, m, d]
17061
17080
  ), Ln = Tt(ql), er = U({
17062
17081
  openTerminal: Ln,
17063
- orderedSids: Jt,
17082
+ orderedSids: Zt,
17064
17083
  cursor: ne,
17065
17084
  preview: Ze,
17066
17085
  columnIds: bt,
17067
- activate: Zt,
17086
+ activate: Qt,
17068
17087
  pulseStage: Re,
17069
17088
  selectTo: zt,
17070
17089
  togglePin: xt,
@@ -17082,11 +17101,11 @@ function KN({
17082
17101
  });
17083
17102
  er.current = {
17084
17103
  openTerminal: Ln,
17085
- orderedSids: Jt,
17104
+ orderedSids: Zt,
17086
17105
  cursor: ne,
17087
17106
  preview: Ze,
17088
17107
  columnIds: bt,
17089
- activate: Zt,
17108
+ activate: Qt,
17090
17109
  pulseStage: Re,
17091
17110
  selectTo: zt,
17092
17111
  togglePin: xt,
@@ -17195,7 +17214,7 @@ function KN({
17195
17214
  const tr = (D) => {
17196
17215
  const N = D.sessionId ?? "";
17197
17216
  return /* @__PURE__ */ n(
17198
- o2,
17217
+ i2,
17199
17218
  {
17200
17219
  session: D,
17201
17220
  busy: !!i[N],
@@ -17206,10 +17225,10 @@ function KN({
17206
17225
  onToggleTopPin: re,
17207
17226
  stagePinned: gt.includes(N),
17208
17227
  onToggleStagePin: () => xt(N),
17209
- onOpen: () => Zt(N, !1),
17228
+ onOpen: () => Qt(N, !1),
17210
17229
  onCloseColumn: bt.includes(N) && bt.length > 1 ? () => me(N) : void 0,
17211
17230
  children: /* @__PURE__ */ n(
17212
- XN,
17231
+ JN,
17213
17232
  {
17214
17233
  session: D,
17215
17234
  busy: !!i[N],
@@ -17219,7 +17238,7 @@ function KN({
17219
17238
  pinned: gt.includes(N),
17220
17239
  topPinned: yt.has(N),
17221
17240
  collapsed: Ae,
17222
- onActivate: (K) => Zt(N, K),
17241
+ onActivate: (K) => Qt(N, K),
17223
17242
  onTogglePin: () => xt(N)
17224
17243
  }
17225
17244
  )
@@ -17367,7 +17386,7 @@ function KN({
17367
17386
  type: "button",
17368
17387
  title: Ae ? D.name : void 0,
17369
17388
  onClick: () => {
17370
- ee == null || ee(D.id), N && Zt(N, !1);
17389
+ ee == null || ee(D.id), N && Qt(N, !1);
17371
17390
  },
17372
17391
  className: $(
17373
17392
  "flex w-full items-center rounded-lg text-left transition-colors",
@@ -17542,7 +17561,7 @@ function KN({
17542
17561
  )),
17543
17562
  rr
17544
17563
  ] }) : /* @__PURE__ */ c(Ue, { children: [
17545
- yr.length ? /* @__PURE__ */ n(Er, { label: "Working", count: yr.length, collapsed: Ae, children: Xt.map((D) => Bt(D)) }) : null,
17564
+ yr.length ? /* @__PURE__ */ n(Er, { label: "Working", count: yr.length, collapsed: Ae, children: Jt.map((D) => Bt(D)) }) : null,
17546
17565
  rr,
17547
17566
  Ut.length ? /* @__PURE__ */ n(Er, { label: "Idle", count: Ut.length, collapsed: Ae, children: Qn.map((D) => Bt(D)) }) : null
17548
17567
  ] }),
@@ -17594,7 +17613,7 @@ function KN({
17594
17613
  },
17595
17614
  D
17596
17615
  )) : Q === "chat" ? /* @__PURE__ */ n(
17597
- tS,
17616
+ nS,
17598
17617
  {
17599
17618
  bot: kt,
17600
17619
  onNewBot: oe,
@@ -17624,7 +17643,7 @@ function KN({
17624
17643
  ] }) })
17625
17644
  }
17626
17645
  ),
17627
- _e ? /* @__PURE__ */ n(YN, { onClose: () => Be(!1) }) : null,
17646
+ _e ? /* @__PURE__ */ n(XN, { onClose: () => Be(!1) }) : null,
17628
17647
  X ? /* @__PURE__ */ c(Ue, { children: [
17629
17648
  /* @__PURE__ */ n(
17630
17649
  Fm,
@@ -17661,7 +17680,7 @@ function KN({
17661
17680
  ] }) : null
17662
17681
  ] });
17663
17682
  }
17664
- function YN({ onClose: e }) {
17683
+ function XN({ onClose: e }) {
17665
17684
  return /* @__PURE__ */ c("div", { className: "fixed inset-0 z-[60] flex items-center justify-center p-4", children: [
17666
17685
  /* @__PURE__ */ n(
17667
17686
  "button",
@@ -17735,7 +17754,7 @@ function Er({
17735
17754
  /* @__PURE__ */ n("div", { className: "flex flex-col gap-0.5", children: o })
17736
17755
  ] });
17737
17756
  }
17738
- const XN = Es(function({
17757
+ const JN = Es(function({
17739
17758
  session: t,
17740
17759
  busy: r,
17741
17760
  latest: s,
@@ -17902,7 +17921,7 @@ function jo(e) {
17902
17921
  const s = Math.floor(r / 60);
17903
17922
  return s < 24 ? `${s}h` : `${Math.floor(s / 24)}d`;
17904
17923
  }
17905
- function JN({
17924
+ function ZN({
17906
17925
  finding: e,
17907
17926
  agentName: t,
17908
17927
  onOpen: r,
@@ -18052,10 +18071,10 @@ function ec({
18052
18071
  }
18053
18072
  );
18054
18073
  }
18055
- function ZN({ session: e }) {
18074
+ function QN({ session: e }) {
18056
18075
  return e.capabilitiesStale ? /* @__PURE__ */ n("div", { className: "border-b border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs text-amber-900 dark:text-amber-200", children: "This session started with an older omg.dev capability contract. Close and resume it to load the latest shipped tools and guidance." }) : null;
18057
18076
  }
18058
- function QN({
18077
+ function e2({
18059
18078
  session: e,
18060
18079
  onRefresh: t,
18061
18080
  onContinue: r
@@ -18168,7 +18187,7 @@ function QN({
18168
18187
  ) : null
18169
18188
  ] });
18170
18189
  }
18171
- function e2({
18190
+ function t2({
18172
18191
  active: e,
18173
18192
  onPick: t
18174
18193
  }) {
@@ -18176,7 +18195,7 @@ function e2({
18176
18195
  F(() => {
18177
18196
  if (!e) return;
18178
18197
  let m = !1;
18179
- return Jk().then((f) => {
18198
+ return Zk().then((f) => {
18180
18199
  m || s(f);
18181
18200
  }).catch(() => {
18182
18201
  m || s([]);
@@ -18257,7 +18276,7 @@ function e2({
18257
18276
  }
18258
18277
  );
18259
18278
  }
18260
- function t2(e, t, r) {
18279
+ function n2(e, t, r) {
18261
18280
  if (!t) return !1;
18262
18281
  const s = Array.from(
18263
18282
  (r == null ? void 0 : r.querySelectorAll("[data-skill-suggest-option]")) ?? []
@@ -18291,7 +18310,7 @@ function Uo({
18291
18310
  x(S), S && f.current !== a && (S.scrollTop = S.scrollHeight, f.current = a);
18292
18311
  }, [e, x, a]);
18293
18312
  function w(S) {
18294
- b(Zk(S.value, S.selectionStart));
18313
+ b(Qk(S.value, S.selectionStart));
18295
18314
  }
18296
18315
  function C(S) {
18297
18316
  if (!p) return;
@@ -18307,7 +18326,7 @@ function Uo({
18307
18326
  });
18308
18327
  }
18309
18328
  return /* @__PURE__ */ c("div", { ref: u, className: "relative min-w-0 flex-1", children: [
18310
- /* @__PURE__ */ n(e2, { active: p, onPick: C }),
18329
+ /* @__PURE__ */ n(t2, { active: p, onPick: C }),
18311
18330
  /* @__PURE__ */ n(
18312
18331
  Pl,
18313
18332
  {
@@ -18332,7 +18351,7 @@ function Uo({
18332
18351
  S.preventDefault(), b(null);
18333
18352
  return;
18334
18353
  }
18335
- if (t2(S, p, u.current)) return;
18354
+ if (n2(S, p, u.current)) return;
18336
18355
  }
18337
18356
  r == null || r(S);
18338
18357
  }
@@ -18384,20 +18403,20 @@ function nc(e) {
18384
18403
  }) : void 0,
18385
18404
  [o, l, i]
18386
18405
  ), u = se((f) => a(f), [a]);
18387
- return /* @__PURE__ */ n(on, { fallback: /* @__PURE__ */ n(n2, {}), children: /* @__PURE__ */ n(
18406
+ return /* @__PURE__ */ n(on, { fallback: /* @__PURE__ */ n(r2, {}), children: /* @__PURE__ */ n(
18388
18407
  kk,
18389
18408
  {
18390
18409
  id: o ?? "missing-session",
18391
18410
  transport: d,
18392
18411
  onError: u,
18393
- children: /* @__PURE__ */ n(r2, { ...s })
18412
+ children: /* @__PURE__ */ n(s2, { ...s })
18394
18413
  }
18395
18414
  ) });
18396
18415
  }
18397
- function n2() {
18416
+ function r2() {
18398
18417
  return /* @__PURE__ */ n("div", { className: "flex flex-1 items-center justify-center py-10 text-sm text-muted-foreground", children: "Loading chat…" });
18399
18418
  }
18400
- function r2({
18419
+ function s2({
18401
18420
  session: e,
18402
18421
  bot: t,
18403
18422
  busy: r,
@@ -18587,9 +18606,9 @@ function r2({
18587
18606
  [u, i]
18588
18607
  );
18589
18608
  return /* @__PURE__ */ c("div", { className: "flex min-h-0 flex-1 flex-col", children: [
18590
- /* @__PURE__ */ n(ZN, { session: e }),
18609
+ /* @__PURE__ */ n(QN, { session: e }),
18591
18610
  /* @__PURE__ */ n(
18592
- QN,
18611
+ e2,
18593
18612
  {
18594
18613
  session: e,
18595
18614
  onRefresh: l,
@@ -18597,7 +18616,7 @@ function r2({
18597
18616
  }
18598
18617
  ),
18599
18618
  /* @__PURE__ */ n(
18600
- d2,
18619
+ u2,
18601
18620
  {
18602
18621
  sid: u,
18603
18622
  messages: J,
@@ -18609,7 +18628,7 @@ function r2({
18609
18628
  }
18610
18629
  ),
18611
18630
  /* @__PURE__ */ n(a1, { sessionIds: [e.sessionId, e.nativeSessionId] }),
18612
- /* @__PURE__ */ n(N2, { prompt: s, sid: u, onError: i }),
18631
+ /* @__PURE__ */ n(S2, { prompt: s, sid: u, onError: i }),
18613
18632
  o ? /* @__PURE__ */ n("div", { className: "border-t border-border/70 px-3 py-1.5 text-xs text-destructive", children: o }) : null,
18614
18633
  t && !t.enabled ? /* @__PURE__ */ n("div", { className: "px-2 pb-[calc(0.5rem+var(--lfg-safe-bottom))] pt-2", children: /* @__PURE__ */ n("div", { className: "flex items-center gap-3 rounded-2xl border border-dashed border-border bg-muted/40 px-4 py-3 text-sm text-muted-foreground", children: /* @__PURE__ */ n("span", { className: "min-w-0 flex-1", children: "This bot is disabled. Re-enable it in settings to keep talking to it." }) }) }) : hr(e) || m ? /* @__PURE__ */ c(
18615
18634
  "form",
@@ -18726,7 +18745,7 @@ function r2({
18726
18745
  }
18727
18746
  ) : null,
18728
18747
  /* @__PURE__ */ n(
18729
- yN,
18748
+ vN,
18730
18749
  {
18731
18750
  className: "size-11 md:size-9",
18732
18751
  sending: b,
@@ -18805,7 +18824,7 @@ function Pm({
18805
18824
  );
18806
18825
  }
18807
18826
  const li = "cubic-bezier(0.32, 0.72, 0, 1)", is = 420;
18808
- function s2({ title: e }) {
18827
+ function o2({ title: e }) {
18809
18828
  const t = U(null), [r, s] = v(0);
18810
18829
  Vt(() => {
18811
18830
  s(0);
@@ -18869,7 +18888,7 @@ function Om({
18869
18888
  async function f() {
18870
18889
  if (l)
18871
18890
  try {
18872
- await rc(oN(l)), we.success("Session reference copied");
18891
+ await rc(iN(l)), we.success("Session reference copied");
18873
18892
  } catch (p) {
18874
18893
  o(p instanceof Error ? p.message : "Could not copy session reference");
18875
18894
  }
@@ -18981,11 +19000,11 @@ function Rm({
18981
19000
  onValueChange: (G) => void C(typeof G == "string" ? G : ""),
18982
19001
  children: [
18983
19002
  /* @__PURE__ */ n(Br, { children: "Assign to" }),
18984
- /* @__PURE__ */ c(Kt, { value: "", children: [
19003
+ /* @__PURE__ */ c(Yt, { value: "", children: [
18985
19004
  /* @__PURE__ */ n("span", { className: "flex size-5 shrink-0 items-center justify-center rounded-full bg-muted", children: /* @__PURE__ */ n(cn, { className: "size-3" }) }),
18986
19005
  "Unassigned"
18987
19006
  ] }),
18988
- r.map((G) => /* @__PURE__ */ c(Kt, { value: G.email, children: [
19007
+ r.map((G) => /* @__PURE__ */ c(Yt, { value: G.email, children: [
18989
19008
  G.avatar ? /* @__PURE__ */ n(
18990
19009
  "img",
18991
19010
  {
@@ -19016,14 +19035,14 @@ function Rm({
19016
19035
  },
19017
19036
  children: [
19018
19037
  /* @__PURE__ */ n(Br, { children: "Global message view" }),
19019
- /* @__PURE__ */ n(Kt, { value: "full", children: "Full transcript" }),
19020
- /* @__PURE__ */ n(Kt, { value: "user-lfg-output", children: "User + omg.dev output" })
19038
+ /* @__PURE__ */ n(Yt, { value: "full", children: "Full transcript" }),
19039
+ /* @__PURE__ */ n(Yt, { value: "user-lfg-output", children: "User + omg.dev output" })
19021
19040
  ]
19022
19041
  }
19023
19042
  ) })
19024
19043
  ] }),
19025
19044
  /* @__PURE__ */ n(
19026
- a2,
19045
+ l2,
19027
19046
  {
19028
19047
  session: e,
19029
19048
  onRefresh: s,
@@ -19086,7 +19105,7 @@ function Rm({
19086
19105
  ] })
19087
19106
  ] });
19088
19107
  }
19089
- function o2({
19108
+ function i2({
19090
19109
  session: e,
19091
19110
  busy: t,
19092
19111
  users: r,
@@ -19251,7 +19270,7 @@ function o2({
19251
19270
  ] })
19252
19271
  ] });
19253
19272
  }
19254
- const i2 = /* @__PURE__ */ new Set([
19273
+ const a2 = /* @__PURE__ */ new Set([
19255
19274
  "claude",
19256
19275
  "aisdk",
19257
19276
  "codex-aisdk",
@@ -19259,13 +19278,13 @@ const i2 = /* @__PURE__ */ new Set([
19259
19278
  "cursor",
19260
19279
  "pi"
19261
19280
  ]);
19262
- function a2({
19281
+ function l2({
19263
19282
  session: e,
19264
19283
  onRefresh: t,
19265
19284
  onError: r
19266
19285
  }) {
19267
19286
  const s = e.sessionId, o = e.agent, i = Hi(o ?? "aisdk"), a = o === "aisdk" ? i.filter((m) => m !== "max") : i, [l, d] = v(!1);
19268
- if (!s || !o || e.shippedReview || !i2.has(o) || o === "cursor" && e.model === "auto" || !a.length) return null;
19287
+ if (!s || !o || e.shippedReview || !a2.has(o) || o === "cursor" && e.model === "auto" || !a.length) return null;
19269
19288
  async function u(m) {
19270
19289
  if (!(!s || !m || m === e.thinkingLevel || l)) {
19271
19290
  d(!0), r(null);
@@ -19295,13 +19314,13 @@ function a2({
19295
19314
  onValueChange: (m) => void u(typeof m == "string" ? m : ""),
19296
19315
  children: [
19297
19316
  /* @__PURE__ */ n(Br, { children: "Thinking level" }),
19298
- a.map((m) => /* @__PURE__ */ n(Kt, { value: m, children: m }, m))
19317
+ a.map((m) => /* @__PURE__ */ n(Yt, { value: m, children: m }, m))
19299
19318
  ]
19300
19319
  }
19301
19320
  ) })
19302
19321
  ] });
19303
19322
  }
19304
- function l2({
19323
+ function c2({
19305
19324
  sid: e,
19306
19325
  session: t,
19307
19326
  users: r,
@@ -19344,10 +19363,10 @@ function l2({
19344
19363
  [m, e]
19345
19364
  ), ce = U(/* @__PURE__ */ new Set());
19346
19365
  F(() => {
19347
- ce.current.add(e), MN(e);
19366
+ ce.current.add(e), TN(e);
19348
19367
  }, [e]), F(
19349
19368
  () => () => {
19350
- for (const M of ce.current) TN(M);
19369
+ for (const M of ce.current) _N(M);
19351
19370
  },
19352
19371
  []
19353
19372
  );
@@ -19384,7 +19403,7 @@ function l2({
19384
19403
  const be = le.target instanceof Element ? le.target : null;
19385
19404
  if (!!(be != null && be.closest("form"))) {
19386
19405
  if (Tm(le.target)) return;
19387
- } else if (VN(le.target))
19406
+ } else if (WN(le.target))
19388
19407
  return;
19389
19408
  const Ge = le.touches[0];
19390
19409
  I.active = !0, I.decided = !1, I.horizontal = !1, I.x0 = Ge.clientX, I.y0 = Ge.clientY, I.dx = 0;
@@ -19616,7 +19635,7 @@ function l2({
19616
19635
  onClick: () => {
19617
19636
  t.shippedReview || (ht("selection"), C(!0));
19618
19637
  },
19619
- children: /* @__PURE__ */ n(s2, { title: P })
19638
+ children: /* @__PURE__ */ n(o2, { title: P })
19620
19639
  }
19621
19640
  ),
19622
19641
  t.shippedReview ? /* @__PURE__ */ n("span", { className: "shrink-0 rounded-full bg-emerald-500/10 px-2 py-0.5 text-[10px] font-semibold text-emerald-600 dark:text-emerald-400", children: "Shipped" }) : null,
@@ -19659,7 +19678,7 @@ function l2({
19659
19678
  document.body
19660
19679
  );
19661
19680
  }
19662
- function c2(e, t) {
19681
+ function d2(e, t) {
19663
19682
  var o;
19664
19683
  const r = localStorage.getItem("lfg_fork_agent");
19665
19684
  if (r && t.some((i) => i.key === r)) return r;
@@ -19675,7 +19694,7 @@ function Lm({
19675
19694
  const o = t === "continue", i = Zr(), a = Tt(bl), l = Tt(Bi), d = De(
19676
19695
  () => qi(a, l),
19677
19696
  [l, a]
19678
- ), u = (z) => i.defaults[z] ?? Fr[z], m = c2(e.agent, d), [f, h] = v(() => m), [p, b] = v(""), [x, y] = v(
19697
+ ), u = (z) => i.defaults[z] ?? Fr[z], m = d2(e.agent, d), [f, h] = v(() => m), [p, b] = v(""), [x, y] = v(
19679
19698
  () => localStorage.getItem(`lfg_fork_model_${m}`) || u(m)
19680
19699
  ), [w, C] = v(() => Xn()), [E, S] = v(""), k = e.sessionId, R = i.models[f] ?? Kn[f], q = Hi(f), G = f === "aisdk" && p ? `aisdk:${p}` : f, Q = Kl({
19681
19700
  endpoint: (z) => `/api/uploads?filename=${encodeURIComponent(z.name)}`
@@ -20140,7 +20159,7 @@ const Dm = Es(function({
20140
20159
  children: /* @__PURE__ */ n(lo, { className: "size-4" })
20141
20160
  }
20142
20161
  ) : null,
20143
- !Ae && !Q && t.botId && t.botName ? /* @__PURE__ */ n(rS, { session: t }) : null,
20162
+ !Ae && !Q && t.botId && t.botName ? /* @__PURE__ */ n(sS, { session: t }) : null,
20144
20163
  !Ae && !Q && ((t.agent === "claude" || t.agent === "opencode") && (t.tmuxTarget || t.agent === "opencode") && z ? /* @__PURE__ */ c(Xr, { children: [
20145
20164
  /* @__PURE__ */ n(
20146
20165
  Jr,
@@ -20163,7 +20182,7 @@ const Dm = Es(function({
20163
20182
  onValueChange: (V) => void ue(typeof V == "string" ? V : ""),
20164
20183
  children: [
20165
20184
  /* @__PURE__ */ n(Br, { children: "Model" }),
20166
- (C.models[t.agent] ?? Kn[t.agent] ?? um).map((V) => /* @__PURE__ */ n(Kt, { value: V, children: V }, V))
20185
+ (C.models[t.agent] ?? Kn[t.agent] ?? um).map((V) => /* @__PURE__ */ n(Yt, { value: V, children: V }, V))
20167
20186
  ]
20168
20187
  }
20169
20188
  ) })
@@ -20229,7 +20248,7 @@ const Dm = Es(function({
20229
20248
  }
20230
20249
  )
20231
20250
  ] });
20232
- }), d2 = Es(function({
20251
+ }), u2 = Es(function({
20233
20252
  sid: t,
20234
20253
  messages: r,
20235
20254
  busy: s,
@@ -20241,7 +20260,7 @@ const Dm = Es(function({
20241
20260
  const d = U(null), u = Tt(Fi), [m, f] = v(!0), [h, p] = v(!1), [b, x] = v(!0), [y, w] = v(!1), C = U(null), E = De(
20242
20261
  () => {
20243
20262
  const H = r.filter(
20244
- (j) => !j.seed && (!l || !w2(j) && !k2(j) && // A conversation does not narrate its own mechanics. The full log
20263
+ (j) => !j.seed && (!l || !k2(j) && !N2(j) && // A conversation does not narrate its own mechanics. The full log
20245
20264
  // is still one click away, in this session's ordinary view.
20246
20265
  !zh(j.kind))
20247
20266
  );
@@ -20325,7 +20344,7 @@ const Dm = Es(function({
20325
20344
  ] }) : null,
20326
20345
  k.map(
20327
20346
  (H, ie) => H.type === "tools" ? /* @__PURE__ */ n(
20328
- h2,
20347
+ g2,
20329
20348
  {
20330
20349
  items: H.items,
20331
20350
  live: s && ie === k.length - 1
@@ -20403,8 +20422,8 @@ const Dm = Es(function({
20403
20422
  ),
20404
20423
  l ? null : /* @__PURE__ */ n($w, { sid: t, onVisibilityChange: w })
20405
20424
  ] });
20406
- }), u2 = 450, f2 = 120, m2 = 450;
20407
- function p2(e) {
20425
+ }), f2 = 450, m2 = 120, p2 = 450;
20426
+ function h2(e) {
20408
20427
  const [t, r] = v(!1), s = U(e), o = U(null), i = !e && s.current;
20409
20428
  return Vt(() => {
20410
20429
  if (o.current && (clearTimeout(o.current), o.current = null), e) {
@@ -20414,7 +20433,7 @@ function p2(e) {
20414
20433
  if (s.current)
20415
20434
  return s.current = !1, r(!0), o.current = setTimeout(() => {
20416
20435
  o.current = null, r(!1);
20417
- }, m2), () => {
20436
+ }, p2), () => {
20418
20437
  o.current && (clearTimeout(o.current), o.current = null);
20419
20438
  };
20420
20439
  }, [e]), {
@@ -20426,7 +20445,7 @@ function jm({
20426
20445
  active: e,
20427
20446
  className: t
20428
20447
  }) {
20429
- const r = `lfg-organic-activity-${ol().replace(/:/g, "")}`, s = p2(e);
20448
+ const r = `lfg-organic-activity-${ol().replace(/:/g, "")}`, s = h2(e);
20430
20449
  return s.present ? /* @__PURE__ */ c(Ue, { children: [
20431
20450
  /* @__PURE__ */ n(
20432
20451
  "svg",
@@ -20495,7 +20514,7 @@ function jm({
20495
20514
  )
20496
20515
  ] }) : null;
20497
20516
  }
20498
- function h2({ items: e, live: t }) {
20517
+ function g2({ items: e, live: t }) {
20499
20518
  const r = Nf(e), s = xr(), [o, i] = v(!1), a = U(o);
20500
20519
  a.current = o;
20501
20520
  const l = U(null), d = U(null), u = () => {
@@ -20505,11 +20524,11 @@ function h2({ items: e, live: t }) {
20505
20524
  const m = () => {
20506
20525
  s || (d.current && (clearTimeout(d.current), d.current = null), !(a.current || l.current) && (l.current = setTimeout(() => {
20507
20526
  l.current = null, i(!0);
20508
- }, u2)));
20527
+ }, f2)));
20509
20528
  }, f = () => {
20510
20529
  s || (u(), i(!0));
20511
20530
  }, h = () => {
20512
- s || (l.current && (clearTimeout(l.current), l.current = null), d.current = setTimeout(() => i(!1), f2));
20531
+ s || (l.current && (clearTimeout(l.current), l.current = null), d.current = setTimeout(() => i(!1), m2));
20513
20532
  }, p = () => {
20514
20533
  u(), i((w) => !w);
20515
20534
  }, b = (w) => {
@@ -20555,11 +20574,11 @@ function h2({ items: e, live: t }) {
20555
20574
  );
20556
20575
  return s ? /* @__PURE__ */ c("div", { className: "w-fit max-w-full", children: [
20557
20576
  y,
20558
- /* @__PURE__ */ n(Yt.Root, { open: o, onOpenChange: b, repositionInputs: !1, shouldScaleBackground: !1, children: /* @__PURE__ */ c(Yt.Portal, { children: [
20559
- /* @__PURE__ */ n(Yt.Overlay, { className: "fixed inset-0 z-[149] bg-black/80" }),
20560
- /* @__PURE__ */ c(Yt.Content, { className: "fixed inset-x-0 bottom-0 z-[150] mx-auto flex max-h-[82dvh] max-w-lg flex-col rounded-t-[2rem] border border-border bg-background p-4 pb-[max(var(--lfg-safe-bottom),1rem)] text-foreground shadow-2xl outline-none", children: [
20577
+ /* @__PURE__ */ n(Xt.Root, { open: o, onOpenChange: b, repositionInputs: !1, shouldScaleBackground: !1, children: /* @__PURE__ */ c(Xt.Portal, { children: [
20578
+ /* @__PURE__ */ n(Xt.Overlay, { className: "fixed inset-0 z-[149] bg-black/80" }),
20579
+ /* @__PURE__ */ c(Xt.Content, { className: "fixed inset-x-0 bottom-0 z-[150] mx-auto flex max-h-[82dvh] max-w-lg flex-col rounded-t-[2rem] border border-border bg-background p-4 pb-[max(var(--lfg-safe-bottom),1rem)] text-foreground shadow-2xl outline-none", children: [
20561
20580
  /* @__PURE__ */ n("div", { className: "mx-auto mb-3 h-1.5 w-24 shrink-0 rounded-full bg-muted" }),
20562
- /* @__PURE__ */ n(Yt.Title, { className: "mb-3 text-base font-semibold", children: "Command details" }),
20581
+ /* @__PURE__ */ n(Xt.Title, { className: "mb-3 text-base font-semibold", children: "Command details" }),
20563
20582
  /* @__PURE__ */ n("div", { className: "min-h-0 overflow-y-auto", children: x })
20564
20583
  ] })
20565
20584
  ] }) })
@@ -20593,7 +20612,7 @@ function Um({ visible: e = !0, bot: t }) {
20593
20612
  }
20594
20613
  );
20595
20614
  }
20596
- function g2(e, t) {
20615
+ function b2(e, t) {
20597
20616
  const r = Fv(e);
20598
20617
  return r.attachments.length ? {
20599
20618
  html: Ts(r.body).replace(/\n/g, "<br>"),
@@ -20606,7 +20625,7 @@ function Wd({ name: e }) {
20606
20625
  /* @__PURE__ */ n("span", { className: "min-w-0 truncate", children: e })
20607
20626
  ] });
20608
20627
  }
20609
- function b2({
20628
+ function x2({
20610
20629
  attachments: e,
20611
20630
  pending: t
20612
20631
  }) {
@@ -20624,7 +20643,7 @@ function b2({
20624
20643
  ) : /* @__PURE__ */ n(Wd, { name: r.name }, r.path)
20625
20644
  ) });
20626
20645
  }
20627
- function x2({
20646
+ function y2({
20628
20647
  html: e,
20629
20648
  pending: t,
20630
20649
  queued: r,
@@ -20684,7 +20703,7 @@ function x2({
20684
20703
  }
20685
20704
  );
20686
20705
  }
20687
- function y2({
20706
+ function v2({
20688
20707
  instructions: e,
20689
20708
  version: t
20690
20709
  }) {
@@ -20714,7 +20733,7 @@ function y2({
20714
20733
  r ? /* @__PURE__ */ n("pre", { className: "mt-1 max-h-72 w-[min(42rem,85vw)] max-w-full overflow-auto whitespace-pre-wrap rounded-xl border border-border/70 bg-muted/30 p-3 text-left font-mono text-[11px] leading-relaxed text-muted-foreground", children: e }) : null
20715
20734
  ] });
20716
20735
  }
20717
- const v2 = 460, Gd = 10;
20736
+ const w2 = 460, Gd = 10;
20718
20737
  async function rc(e) {
20719
20738
  var s;
20720
20739
  if ((s = navigator.clipboard) != null && s.writeText) {
@@ -20761,7 +20780,7 @@ function Kd({
20761
20780
  !e || S.pointerType !== "touch" && S.pointerType !== "pen" || S.target.closest("button, a, input, textarea") || (a.current = !1, i.current = { x: S.clientX, y: S.clientY }, p(), o.current = window.setTimeout(() => {
20762
20781
  var k;
20763
20782
  o.current = null, a.current = !0, (k = window.getSelection()) == null || k.removeAllRanges(), ht("selection"), d({ x: i.current.x, y: i.current.y });
20764
- }, v2));
20783
+ }, w2));
20765
20784
  }, w = (S) => {
20766
20785
  o.current !== null && (Math.abs(S.clientX - i.current.x) > Gd || Math.abs(S.clientY - i.current.y) > Gd) && p();
20767
20786
  }, C = (S) => {
@@ -20874,7 +20893,7 @@ function Yd({
20874
20893
  () => e.role === "user" ? Vv(e.text || "") : null,
20875
20894
  [e.role, e.text]
20876
20895
  ), u = De(
20877
- () => e.role === "user" ? g2(
20896
+ () => e.role === "user" ? b2(
20878
20897
  _s((d == null ? void 0 : d.task) ?? e.text ?? "", o),
20879
20898
  d || o ? void 0 : e.html
20880
20899
  ) : { html: "", attachments: [] },
@@ -20996,7 +21015,7 @@ function Yd({
20996
21015
  from: "user",
20997
21016
  children: /* @__PURE__ */ c("div", { className: "flex w-full min-w-0 flex-col items-end gap-1.5", children: [
20998
21017
  d ? /* @__PURE__ */ n(
20999
- y2,
21018
+ v2,
21000
21019
  {
21001
21020
  instructions: d.instructions,
21002
21021
  version: d.version
@@ -21025,8 +21044,8 @@ function Yd({
21025
21044
  }
21026
21045
  ) : null
21027
21046
  ] }) : null,
21028
- u.attachments.length > 0 ? /* @__PURE__ */ n(b2, { attachments: u.attachments, pending: e.pending }) : null,
21029
- u.html ? /* @__PURE__ */ n(Kd, { text: _s((d == null ? void 0 : d.task) ?? e.text ?? "", o), isUser: !0, children: /* @__PURE__ */ n(x2, { html: u.html, pending: e.pending, queued: p, failed: b }) }) : null
21047
+ u.attachments.length > 0 ? /* @__PURE__ */ n(x2, { attachments: u.attachments, pending: e.pending }) : null,
21048
+ u.html ? /* @__PURE__ */ n(Kd, { text: _s((d == null ? void 0 : d.task) ?? e.text ?? "", o), isUser: !0, children: /* @__PURE__ */ n(y2, { html: u.html, pending: e.pending, queued: p, failed: b }) }) : null
21030
21049
  ] })
21031
21050
  }
21032
21051
  );
@@ -21081,13 +21100,13 @@ function Yd({
21081
21100
  function _s(e, t) {
21082
21101
  return Eh(e, !!t);
21083
21102
  }
21084
- function w2(e) {
21103
+ function k2(e) {
21085
21104
  return (e.role === "user" || e.role === "system") && Ih(e.text ?? "");
21086
21105
  }
21087
- function k2(e) {
21106
+ function N2(e) {
21088
21107
  return (e.role === "user" || e.role === "system") && dl(e.text ?? "");
21089
21108
  }
21090
- function N2({
21109
+ function S2({
21091
21110
  prompt: e,
21092
21111
  sid: t,
21093
21112
  onError: r
@@ -21889,7 +21908,7 @@ function Xd({
21889
21908
  project: It
21890
21909
  });
21891
21910
  }
21892
- function Xt() {
21911
+ function Jt() {
21893
21912
  Pe(!1), L(!0);
21894
21913
  }
21895
21914
  function Qn(N) {
@@ -21909,7 +21928,7 @@ function Xd({
21909
21928
  }, [Dt, z]), F(() => {
21910
21929
  kt.length && !kt.includes(oe) && ue(kt.includes("high") ? "high" : kt[0]);
21911
21930
  }, [oe, kt]);
21912
- const Ut = De(() => qi(x, C), [C, x]), Qr = De(() => Bk(x, C), [C, x]), es = Hk(), Jt = qk(), rn = k === "aisdk" && q ? `aisdk:${q}` : k;
21931
+ const Ut = De(() => qi(x, C), [C, x]), Qr = De(() => Fk(x, C), [C, x]), es = qk(), Zt = Vk(), rn = k === "aisdk" && q ? `aisdk:${q}` : k;
21913
21932
  F(() => {
21914
21933
  var K;
21915
21934
  if (Ut.some(($e) => $e.key === k)) return;
@@ -21928,7 +21947,7 @@ function Xd({
21928
21947
  localStorage.getItem(`lfg_model_${y.kind}`) || S(y.kind)
21929
21948
  ));
21930
21949
  }, [y]), !e && !Ae) return null;
21931
- function Zt(N, K, $e) {
21950
+ function Qt(N, K, $e) {
21932
21951
  var Oe, je;
21933
21952
  if (N == null || N.preventDefault(), Ht) return;
21934
21953
  const Ee = (K ?? ie).trim(), nt = ke;
@@ -21992,7 +22011,7 @@ function Xd({
21992
22011
  }
21993
22012
  await Ct(Ot);
21994
22013
  } catch (dt) {
21995
- if (qn(Je == null ? void 0 : Je.id, "draft"), j((Ot) => Ot || Ee), Jt(dt, "start-session")) return;
22014
+ if (qn(Je == null ? void 0 : Je.id, "draft"), j((Ot) => Ot || Ee), Zt(dt, "start-session")) return;
21996
22015
  const st = dt instanceof Error ? dt.message : String(dt);
21997
22016
  le(st), we.error(st || "Couldn't create session");
21998
22017
  } finally {
@@ -22064,7 +22083,7 @@ function Xd({
22064
22083
  "button",
22065
22084
  {
22066
22085
  type: "button",
22067
- onClick: Xt,
22086
+ onClick: Jt,
22068
22087
  "aria-label": "Choose project",
22069
22088
  className: "max-w-28 truncate pr-1 text-xs font-medium outline-none",
22070
22089
  children: ((D = t.find((N) => N.cwd === yt)) == null ? void 0 : D.name) || "Choose project"
@@ -22135,7 +22154,7 @@ function Xd({
22135
22154
  /* @__PURE__ */ c(
22136
22155
  "form",
22137
22156
  {
22138
- onSubmit: Zt,
22157
+ onSubmit: Qt,
22139
22158
  ...be.dropZoneProps,
22140
22159
  "aria-busy": Ht,
22141
22160
  className: $(
@@ -22207,7 +22226,7 @@ function Xd({
22207
22226
  },
22208
22227
  onAutoSubmit: (N, K) => {
22209
22228
  const $e = K.trim() ? `${K.trimEnd()} ${N}` : N;
22210
- Zt(void 0, $e);
22229
+ Qt(void 0, $e);
22211
22230
  },
22212
22231
  onCancel: (N) => qt(N)
22213
22232
  }
@@ -22240,7 +22259,7 @@ function Xd({
22240
22259
  Mn ? "mt-2" : "mt-3"
22241
22260
  ),
22242
22261
  children: [
22243
- yr ? /* @__PURE__ */ n(jN, {}) : Rn ? /* @__PURE__ */ n(UN, { provider: Rn }) : null,
22262
+ yr ? /* @__PURE__ */ n(UN, {}) : Rn ? /* @__PURE__ */ n(BN, { provider: Rn }) : null,
22244
22263
  /* @__PURE__ */ n(
22245
22264
  "span",
22246
22265
  {
@@ -22260,7 +22279,7 @@ function Xd({
22260
22279
  type: "button",
22261
22280
  variant: "outline",
22262
22281
  className: "h-8 max-w-36 rounded-full px-2.5 shadow-sm",
22263
- onClick: Xt,
22282
+ onClick: Jt,
22264
22283
  "aria-label": `Choose project. Current project: ${Xe}`,
22265
22284
  title: yt || "Choose project",
22266
22285
  children: [
@@ -22283,13 +22302,13 @@ function Xd({
22283
22302
  }
22284
22303
  ),
22285
22304
  /* @__PURE__ */ n(
22286
- E2,
22305
+ I2,
22287
22306
  {
22288
22307
  disabled: !vr,
22289
22308
  thinkingLevel: oe,
22290
22309
  thinkingLevels: un(k) ? kt : [],
22291
22310
  onLaunch: (N) => {
22292
- ue(N), Zt(void 0, void 0, N);
22311
+ ue(N), Qt(void 0, void 0, N);
22293
22312
  }
22294
22313
  }
22295
22314
  )
@@ -22405,7 +22424,7 @@ function oc({
22405
22424
  immersive: i = !1
22406
22425
  }) {
22407
22426
  return un(e) ? i ? /* @__PURE__ */ n(
22408
- _2,
22427
+ E2,
22409
22428
  {
22410
22429
  value: t,
22411
22430
  levels: r,
@@ -22427,7 +22446,7 @@ function oc({
22427
22446
  )
22428
22447
  ] }) : null;
22429
22448
  }
22430
- const S2 = 360, Jd = 6, C2 = 30, M2 = 21;
22449
+ const C2 = 360, Jd = 6, M2 = 30, T2 = 21;
22431
22450
  function Zd(e) {
22432
22451
  return Math.max(34, Math.min(52, 240 / Math.max(1, e - 1)));
22433
22452
  }
@@ -22451,7 +22470,7 @@ function qm(e) {
22451
22470
  const r = Math.max(0, Math.min(1, e)) * (di.length - 1), s = Math.floor(r), o = r - s, i = di[s], a = di[Math.min(s + 1, di.length - 1)], l = Math.round(i[0] + (a[0] - i[0]) * o), d = Math.round(i[1] + (a[1] - i[1]) * o), u = Math.round(i[2] + (a[2] - i[2]) * o);
22452
22471
  return `rgb(${l}, ${d}, ${u})`;
22453
22472
  }
22454
- function T2({
22473
+ function _2({
22455
22474
  value: e,
22456
22475
  levels: t
22457
22476
  }) {
@@ -22516,7 +22535,7 @@ function Vm({
22516
22535
  if (T) {
22517
22536
  const Ve = Math.max(
22518
22537
  12,
22519
- Math.min(window.innerWidth - 168 - 12, L + C2 - 168)
22538
+ Math.min(window.innerWidth - 168 - 12, L + M2 - 168)
22520
22539
  ), te = I + 70, Y = Math.max(12, ae.top - te - 12);
22521
22540
  ce("above"), oe({ left: Ve, top: Y, width: 168, transformOrigin: `${L - Ve}px 100%` });
22522
22541
  return;
@@ -22607,7 +22626,7 @@ function Vm({
22607
22626
  return Math.round(ye((Qe - ae) / te) * (t.length - 1));
22608
22627
  }
22609
22628
  if (X.width <= 0) return null;
22610
- const Le = Math.min(X.width / 2, M2 / 2), _e = Math.max(1, X.width - Le * 2);
22629
+ const Le = Math.min(X.width / 2, T2 / 2), _e = Math.max(1, X.width - Le * 2);
22611
22630
  return Math.round(ye((O - X.left - Le) / _e) * (t.length - 1));
22612
22631
  }, Ne = (O) => {
22613
22632
  const ae = Ae(O.clientX, O.clientY);
@@ -22633,7 +22652,7 @@ function Vm({
22633
22652
  if (!ie || O.button !== 0) return;
22634
22653
  J(), d.current = { x: O.clientX, y: O.clientY }, u.current = null, p.current = !1, b.current = q.current, q.current = !1, m.current = H, ge(), O.currentTarget.setPointerCapture(O.pointerId), ht("light");
22635
22654
  const ae = O.currentTarget;
22636
- l.current = window.setTimeout(() => le(ae), S2);
22655
+ l.current = window.setTimeout(() => le(ae), C2);
22637
22656
  },
22638
22657
  onPointerMove: (O) => {
22639
22658
  if (!h.current) {
@@ -22784,7 +22803,7 @@ function Vm({
22784
22803
  panel: rt
22785
22804
  };
22786
22805
  }
22787
- function _2({
22806
+ function E2({
22788
22807
  value: e,
22789
22808
  levels: t,
22790
22809
  onChange: r,
@@ -22830,7 +22849,7 @@ function _2({
22830
22849
  (o.scrubbing || o.sticky) && "scale-[1.02] bg-foreground/10"
22831
22850
  ),
22832
22851
  children: [
22833
- /* @__PURE__ */ n(T2, { value: a, levels: t }),
22852
+ /* @__PURE__ */ n(_2, { value: a, levels: t }),
22834
22853
  /* @__PURE__ */ n("span", { className: "text-xs font-medium", children: "Thinking" }),
22835
22854
  /* @__PURE__ */ n("span", { "aria-hidden": "true", className: "text-[11px] text-muted-foreground/60", children: "·" }),
22836
22855
  /* @__PURE__ */ n(
@@ -22850,7 +22869,7 @@ function _2({
22850
22869
  o.panel
22851
22870
  ] });
22852
22871
  }
22853
- function E2({
22872
+ function I2({
22854
22873
  disabled: e,
22855
22874
  thinkingLevel: t,
22856
22875
  thinkingLevels: r,
@@ -23002,23 +23021,23 @@ function ic({
23002
23021
  }
23003
23022
  ),
23004
23023
  u ? /* @__PURE__ */ n(
23005
- Yt.Root,
23024
+ Xt.Root,
23006
23025
  {
23007
23026
  open: l,
23008
23027
  onOpenChange: d,
23009
23028
  repositionInputs: !1,
23010
23029
  shouldScaleBackground: !1,
23011
- children: /* @__PURE__ */ c(Yt.Portal, { children: [
23012
- /* @__PURE__ */ n(Yt.Overlay, { className: "fixed inset-0 z-[179] bg-black/80" }),
23030
+ children: /* @__PURE__ */ c(Xt.Portal, { children: [
23031
+ /* @__PURE__ */ n(Xt.Overlay, { className: "fixed inset-0 z-[179] bg-black/80" }),
23013
23032
  /* @__PURE__ */ c(
23014
- Yt.Content,
23033
+ Xt.Content,
23015
23034
  {
23016
23035
  "data-slot": "model-picker-drawer-content",
23017
23036
  className: "fixed inset-x-0 bottom-0 z-[180] mx-auto flex max-h-[82dvh] max-w-lg select-none flex-col rounded-t-[2rem] border border-border bg-background p-4 pb-[max(var(--lfg-safe-bottom),1rem)] text-foreground shadow-2xl outline-none",
23018
23037
  "aria-label": "Model",
23019
23038
  children: [
23020
23039
  /* @__PURE__ */ n("div", { className: "mx-auto mb-3 h-1.5 w-24 shrink-0 rounded-full bg-muted" }),
23021
- /* @__PURE__ */ n(Yt.Title, { className: "mb-3 text-base font-semibold", children: "Model" }),
23040
+ /* @__PURE__ */ n(Xt.Title, { className: "mb-3 text-base font-semibold", children: "Model" }),
23022
23041
  /* @__PURE__ */ c("div", { className: "min-h-0 space-y-3", children: [
23023
23042
  S,
23024
23043
  k
@@ -23142,7 +23161,7 @@ function ac({
23142
23161
  }
23143
23162
  );
23144
23163
  }
23145
- function I2({
23164
+ function A2({
23146
23165
  finding: e,
23147
23166
  agentName: t,
23148
23167
  sourceAgent: r,
@@ -23489,7 +23508,7 @@ function I2({
23489
23508
  ] }) : null
23490
23509
  ] }) });
23491
23510
  }
23492
- function A2({
23511
+ function $2({
23493
23512
  repos: e,
23494
23513
  scopedProject: t,
23495
23514
  codingAgents: r,
@@ -23571,7 +23590,7 @@ function A2({
23571
23590
  )
23572
23591
  ] }) });
23573
23592
  }
23574
- function $2({
23593
+ function z2({
23575
23594
  agent: e,
23576
23595
  repos: t,
23577
23596
  tz: r,
@@ -23953,7 +23972,7 @@ function $2({
23953
23972
  );
23954
23973
  }
23955
23974
  const eu = typeof navigator < "u" ? navigator.language : void 0;
23956
- function z2({ expr: e, tz: t }) {
23975
+ function P2({ expr: e, tz: t }) {
23957
23976
  const r = De(() => nf(e, eu), [e]), [s, o] = v(0), i = De(() => ef(e, t), [e, t, s]);
23958
23977
  return F(() => {
23959
23978
  const a = setInterval(() => {
@@ -23971,7 +23990,7 @@ function z2({ expr: e, tz: t }) {
23971
23990
  ] })
23972
23991
  ] });
23973
23992
  }
23974
- function P2({
23993
+ function O2({
23975
23994
  icon: e,
23976
23995
  label: t,
23977
23996
  value: r,
@@ -24000,7 +24019,7 @@ function P2({
24000
24019
  )
24001
24020
  ] });
24002
24021
  }
24003
- function O2() {
24022
+ function R2() {
24004
24023
  const [e, t] = v(null), [r, s] = v(!1);
24005
24024
  F(() => {
24006
24025
  let l = !0;
@@ -24028,7 +24047,7 @@ function O2() {
24028
24047
  return /* @__PURE__ */ c("section", { className: "space-y-2", children: [
24029
24048
  /* @__PURE__ */ n("h2", { className: "px-4 text-xs font-semibold uppercase tracking-wider text-muted-foreground", children: "Voice" }),
24030
24049
  /* @__PURE__ */ n("div", { className: "overflow-hidden rounded-2xl border border-border bg-card/40 divide-y divide-border", children: /* @__PURE__ */ n(
24031
- P2,
24050
+ O2,
24032
24051
  {
24033
24052
  icon: /* @__PURE__ */ n(ml, { className: "size-4" }),
24034
24053
  label: "Voice input",
@@ -24061,7 +24080,7 @@ function sl() {
24061
24080
  return $r;
24062
24081
  }
24063
24082
  }
24064
- function R2(e) {
24083
+ function L2(e) {
24065
24084
  var o;
24066
24085
  const t = Intl, r = ((o = t.supportedValuesOf) == null ? void 0 : o.call(t, "timeZone")) ?? [], s = /* @__PURE__ */ new Set();
24067
24086
  for (const i of [$r, sl(), e])
@@ -24069,11 +24088,11 @@ function R2(e) {
24069
24088
  for (const i of r) s.add(i);
24070
24089
  return [...s].sort((i, a) => i.localeCompare(a));
24071
24090
  }
24072
- function L2({
24091
+ function D2({
24073
24092
  settings: e,
24074
24093
  onChange: t
24075
24094
  }) {
24076
- const [r, s] = v(!1), o = De(() => R2(e.timeZone), [e.timeZone]);
24095
+ const [r, s] = v(!1), o = De(() => L2(e.timeZone), [e.timeZone]);
24077
24096
  async function i(a) {
24078
24097
  if (!(!a || a === e.timeZone || r)) {
24079
24098
  s(!0);
@@ -24141,7 +24160,7 @@ function Wm(e, t = 3e3) {
24141
24160
  };
24142
24161
  }, [e, t]), r;
24143
24162
  }
24144
- function D2(e, t = 15e3) {
24163
+ function j2(e, t = 15e3) {
24145
24164
  const [r, s] = v(null);
24146
24165
  return F(() => {
24147
24166
  if (!e) return;
@@ -24160,11 +24179,11 @@ function D2(e, t = 15e3) {
24160
24179
  };
24161
24180
  }, [e, t]), r;
24162
24181
  }
24163
- const j2 = [0, 4, 8, 10, 12, 16, 24, 32], U2 = [0, 30, 60, 120, 240, 480, 1440];
24182
+ const U2 = [0, 4, 8, 10, 12, 16, 24, 32], B2 = [0, 30, 60, 120, 240, 480, 1440];
24164
24183
  function Aa(e) {
24165
24184
  return e < 60 ? `${e}m` : e % 1440 === 0 ? `${e / 1440}d` : `${e / 60}h`;
24166
24185
  }
24167
- function B2({
24186
+ function F2({
24168
24187
  settings: e,
24169
24188
  onChange: t
24170
24189
  }) {
@@ -24241,7 +24260,7 @@ function B2({
24241
24260
  disabled: r,
24242
24261
  "aria-label": "Maximum live agents",
24243
24262
  className: "appearance-none bg-transparent text-right text-xs font-medium outline-none",
24244
- children: j2.map((y) => /* @__PURE__ */ n("option", { value: y, children: y === 0 ? "Unlimited" : y }, y))
24263
+ children: U2.map((y) => /* @__PURE__ */ n("option", { value: y, children: y === 0 ? "Unlimited" : y }, y))
24245
24264
  }
24246
24265
  ),
24247
24266
  /* @__PURE__ */ n(bn, { className: "size-3 text-muted-foreground/70" })
@@ -24291,7 +24310,7 @@ function B2({
24291
24310
  disabled: a,
24292
24311
  "aria-label": "Archive idle agents after",
24293
24312
  className: "appearance-none bg-transparent text-right text-xs font-medium outline-none",
24294
- children: U2.map((y) => /* @__PURE__ */ n("option", { value: y, children: y === 0 ? "Off" : Aa(y) }, y))
24313
+ children: B2.map((y) => /* @__PURE__ */ n("option", { value: y, children: y === 0 ? "Off" : Aa(y) }, y))
24295
24314
  }
24296
24315
  ),
24297
24316
  /* @__PURE__ */ n(bn, { className: "size-3 text-muted-foreground/70" })
@@ -24301,7 +24320,7 @@ function B2({
24301
24320
  /* @__PURE__ */ n("p", { className: "px-4 text-xs text-muted-foreground", children: "The limit counts every live agent, idle ones included — an idle agent has stopped using CPU but still holds its memory. New agents past the limit (or while paused) are rejected; in-flight agents keep running. The systemd slice is the hard memory bound. Archiving stops an unattended agent and keeps its transcript, so it can be resumed where it left off; agents mid-turn are never archived." })
24302
24321
  ] });
24303
24322
  }
24304
- function F2() {
24323
+ function H2() {
24305
24324
  var i, a;
24306
24325
  const e = Wm(!0), t = ((i = e == null ? void 0 : e.disk) == null ? void 0 : i.totalBytes) ?? null, r = ((a = e == null ? void 0 : e.disk) == null ? void 0 : a.freeBytes) ?? null, s = t != null && r != null ? Math.max(0, t - r) : null, o = s != null && t != null && t > 0 ? Math.min(100, Math.round(s / t * 100)) : null;
24307
24326
  return /* @__PURE__ */ c("div", { className: "mx-auto max-w-xl space-y-8 pb-10", "data-lfg-page-column": !0, children: [
@@ -24348,8 +24367,8 @@ function F2() {
24348
24367
  ] }),
24349
24368
  /* @__PURE__ */ n("p", { className: "px-4 text-xs text-muted-foreground", children: "Whole-filesystem usage for the volume holding omg.dev's data directory." })
24350
24369
  ] }),
24351
- /* @__PURE__ */ n(V2, { stats: e }),
24352
- /* @__PURE__ */ n(Y2, {})
24370
+ /* @__PURE__ */ n(W2, { stats: e }),
24371
+ /* @__PURE__ */ n(X2, {})
24353
24372
  ] });
24354
24373
  }
24355
24374
  const Gm = {
@@ -24357,7 +24376,7 @@ const Gm = {
24357
24376
  warn: "text-amber-500",
24358
24377
  crit: "text-destructive",
24359
24378
  neutral: "text-muted-foreground"
24360
- }, H2 = {
24379
+ }, q2 = {
24361
24380
  ok: null,
24362
24381
  warn: "elevated",
24363
24382
  crit: "high",
@@ -24366,7 +24385,7 @@ const Gm = {
24366
24385
  function Ys(e, t, r) {
24367
24386
  return e >= r ? "crit" : e >= t ? "warn" : "ok";
24368
24387
  }
24369
- function q2({
24388
+ function V2({
24370
24389
  values: e,
24371
24390
  max: t,
24372
24391
  tone: r,
@@ -24437,7 +24456,7 @@ function Ir({
24437
24456
  tone: a,
24438
24457
  format: l
24439
24458
  }) {
24440
- const d = H2[a];
24459
+ const d = q2[a];
24441
24460
  return /* @__PURE__ */ c("div", { className: "px-4 py-3", children: [
24442
24461
  /* @__PURE__ */ c("div", { className: "flex items-center justify-between gap-3", children: [
24443
24462
  /* @__PURE__ */ c("div", { className: "flex min-w-0 items-center gap-3", children: [
@@ -24452,10 +24471,10 @@ function Ir({
24452
24471
  ] }),
24453
24472
  /* @__PURE__ */ n("div", { className: "shrink-0 text-sm font-semibold tabular-nums", children: r })
24454
24473
  ] }),
24455
- /* @__PURE__ */ n(q2, { values: o, max: i, tone: a, label: t, format: l })
24474
+ /* @__PURE__ */ n(V2, { values: o, max: i, tone: a, label: t, format: l })
24456
24475
  ] });
24457
24476
  }
24458
- function V2({ stats: e }) {
24477
+ function W2({ stats: e }) {
24459
24478
  var h, p, b;
24460
24479
  const t = e ? Math.min(100, Math.round(e.cpu.load1 / Math.max(1, e.cpu.cores) * 100)) : 0, r = e ? e.memory.hostTotalBytes - e.memory.hostFreeBytes : 0, s = e && e.memory.hostTotalBytes > 0 ? Math.round(r / e.memory.hostTotalBytes * 100) : 0, o = (e == null ? void 0 : e.history) ?? [], i = e == null ? void 0 : e.pressure, a = (x) => `${_t(x)}/s`, l = (x) => `${Math.round(x)}%`, d = ((h = i == null ? void 0 : i.memory) == null ? void 0 : h.some10) ?? 0, u = ((p = i == null ? void 0 : i.cpu) == null ? void 0 : p.some10) ?? 0, m = ((b = i == null ? void 0 : i.io) == null ? void 0 : b.some10) ?? 0, f = !!i && (i.memory != null || i.cpu != null || i.io != null);
24461
24480
  return /* @__PURE__ */ c(Ue, { children: [
@@ -24571,10 +24590,10 @@ const hi = {
24571
24590
  "browser",
24572
24591
  "other"
24573
24592
  ];
24574
- function W2(e) {
24593
+ function G2(e) {
24575
24594
  return e == null ? "" : e < 60 ? `${e}s` : e < 3600 ? `${Math.round(e / 60)}m` : e < 86400 ? `${(e / 3600).toFixed(1)}h` : `${(e / 86400).toFixed(1)}d`;
24576
24595
  }
24577
- function G2({ row: e }) {
24596
+ function K2({ row: e }) {
24578
24597
  const t = Math.max(1, e.memBytes);
24579
24598
  return /* @__PURE__ */ n("div", { className: "mt-2 flex h-2 overflow-hidden rounded-full bg-foreground/[0.08]", children: Km.map((r) => {
24580
24599
  const s = e.byComponent[r] ?? 0;
@@ -24588,7 +24607,7 @@ function G2({ row: e }) {
24588
24607
  );
24589
24608
  }) });
24590
24609
  }
24591
- function K2({ row: e, hostTotal: t }) {
24610
+ function Y2({ row: e, hostTotal: t }) {
24592
24611
  var l;
24593
24612
  const [r, s] = v(!1), o = t > 0 ? Math.round(e.memBytes / t * 100) : 0, i = Km.filter((d) => (e.byComponent[d] ?? 0) > 0), a = e.managedName ?? ((l = e.sessionId) == null ? void 0 : l.slice(0, 8)) ?? "unknown";
24594
24613
  return /* @__PURE__ */ c("div", { className: "px-4 py-3", children: [
@@ -24629,7 +24648,7 @@ function K2({ row: e, hostTotal: t }) {
24629
24648
  ]
24630
24649
  }
24631
24650
  ),
24632
- /* @__PURE__ */ n(G2, { row: e }),
24651
+ /* @__PURE__ */ n(K2, { row: e }),
24633
24652
  /* @__PURE__ */ n("div", { className: "mt-1.5 flex flex-wrap gap-x-3 gap-y-1", children: i.map((d) => /* @__PURE__ */ c(
24634
24653
  "span",
24635
24654
  {
@@ -24664,15 +24683,15 @@ function K2({ row: e, hostTotal: t }) {
24664
24683
  " ",
24665
24684
  d.label
24666
24685
  ] }),
24667
- /* @__PURE__ */ n("span", { className: "shrink-0 tabular-nums text-muted-foreground", children: W2(d.ageSec) }),
24686
+ /* @__PURE__ */ n("span", { className: "shrink-0 tabular-nums text-muted-foreground", children: G2(d.ageSec) }),
24668
24687
  /* @__PURE__ */ n("span", { className: "w-16 shrink-0 text-right tabular-nums", children: _t(d.pssBytes ?? d.rssBytes) })
24669
24688
  ] }, d.pid)),
24670
24689
  e.worktreePath ? /* @__PURE__ */ n("div", { className: "truncate pt-1 font-mono text-[11px] text-muted-foreground", children: e.worktreePath }) : null
24671
24690
  ] }) : null
24672
24691
  ] });
24673
24692
  }
24674
- function Y2() {
24675
- const [e, t] = v(!1), r = D2(e), s = r == null ? void 0 : r.host, o = (r == null ? void 0 : r.sessions) ?? [], i = o.filter((l) => l.orphan), a = o.some((l) => l.memBasis === "rss");
24693
+ function X2() {
24694
+ const [e, t] = v(!1), r = j2(e), s = r == null ? void 0 : r.host, o = (r == null ? void 0 : r.sessions) ?? [], i = o.filter((l) => l.orphan), a = o.some((l) => l.memBasis === "rss");
24676
24695
  return /* @__PURE__ */ c("section", { className: "space-y-2", children: [
24677
24696
  /* @__PURE__ */ n("h2", { className: "px-4 text-xs font-semibold uppercase tracking-wider text-muted-foreground", children: "Per-session breakdown" }),
24678
24697
  /* @__PURE__ */ c("div", { className: "overflow-hidden rounded-2xl border border-border bg-card/40", children: [
@@ -24737,7 +24756,7 @@ function Y2() {
24737
24756
  /* @__PURE__ */ n("div", { className: "mt-0.5 text-[11px] text-muted-foreground", children: "Closing a session stops its agent, tmux and browser, but not the dev servers it started — those keep running until something reclaims them." })
24738
24757
  ] }) : null,
24739
24758
  /* @__PURE__ */ n("div", { className: "divide-y divide-border border-t border-border", children: o.length ? o.map((l) => /* @__PURE__ */ n(
24740
- K2,
24759
+ Y2,
24741
24760
  {
24742
24761
  row: l,
24743
24762
  hostTotal: s.memTotalBytes
@@ -24934,7 +24953,7 @@ function Xm(e) {
24934
24953
  const s = Math.round(r / 60);
24935
24954
  return s < 48 ? `resets in ${s}h` : `resets in ${Math.round(s / 24)}d`;
24936
24955
  }
24937
- function X2({ w: e }) {
24956
+ function J2({ w: e }) {
24938
24957
  const t = e.pct == null ? null : Math.max(0, Math.min(100, e.pct)), r = t == null ? "bg-muted-foreground/40" : t >= 90 ? "bg-destructive" : t >= 70 ? "bg-amber-500" : "bg-primary";
24939
24958
  return /* @__PURE__ */ c("div", { className: "space-y-1", children: [
24940
24959
  /* @__PURE__ */ c("div", { className: "flex items-baseline justify-between text-xs", children: [
@@ -24953,7 +24972,7 @@ function X2({ w: e }) {
24953
24972
  ) })
24954
24973
  ] });
24955
24974
  }
24956
- function J2() {
24975
+ function Z2() {
24957
24976
  const { refs: e, providers: t, error: r, refreshing: s, refresh: o } = tm(), i = De(
24958
24977
  () => new Map(t.map((a) => [a.id, a])),
24959
24978
  [t]
@@ -24994,7 +25013,7 @@ function J2() {
24994
25013
  ] }),
24995
25014
  l && !l.available ? /* @__PURE__ */ n("span", { className: "text-xs text-muted-foreground/70", children: "unavailable" }) : null
24996
25015
  ] }),
24997
- l ? l.available && ((d = l.windows) != null && d.length) ? /* @__PURE__ */ n("div", { className: "space-y-2 pl-10", children: l.windows.map((u) => /* @__PURE__ */ n(X2, { w: u }, u.label)) }) : /* @__PURE__ */ n("p", { className: "pl-10 text-xs text-muted-foreground", children: l.note ?? "No data" }) : /* @__PURE__ */ n("p", { className: "pl-10 text-xs text-muted-foreground", children: "Reading limits…" })
25016
+ l ? l.available && ((d = l.windows) != null && d.length) ? /* @__PURE__ */ n("div", { className: "space-y-2 pl-10", children: l.windows.map((u) => /* @__PURE__ */ n(J2, { w: u }, u.label)) }) : /* @__PURE__ */ n("p", { className: "pl-10 text-xs text-muted-foreground", children: l.note ?? "No data" }) : /* @__PURE__ */ n("p", { className: "pl-10 text-xs text-muted-foreground", children: "Reading limits…" })
24998
25017
  ] }, a.id);
24999
25018
  }) }),
25000
25019
  /* @__PURE__ */ c("p", { className: "px-4 text-xs text-muted-foreground", children: [
@@ -25005,10 +25024,10 @@ function J2() {
25005
25024
  ] })
25006
25025
  ] });
25007
25026
  }
25008
- function Z2() {
25009
- return /* @__PURE__ */ n("div", { className: "mx-auto max-w-xl space-y-8 pb-10", "data-lfg-page-column": !0, children: /* @__PURE__ */ n(J2, {}) });
25027
+ function Q2() {
25028
+ return /* @__PURE__ */ n("div", { className: "mx-auto max-w-xl space-y-8 pb-10", "data-lfg-page-column": !0, children: /* @__PURE__ */ n(Z2, {}) });
25010
25029
  }
25011
- function Q2({
25030
+ function eS({
25012
25031
  user: e,
25013
25032
  settings: t,
25014
25033
  onSettingsChange: r,
@@ -25103,7 +25122,7 @@ function Q2({
25103
25122
  ] })
25104
25123
  ] }),
25105
25124
  /* @__PURE__ */ n(
25106
- B2,
25125
+ F2,
25107
25126
  {
25108
25127
  settings: t,
25109
25128
  onChange: r
@@ -25130,7 +25149,7 @@ function Q2({
25130
25149
  ) }) })
25131
25150
  ] });
25132
25151
  }
25133
- function eS({
25152
+ function tS({
25134
25153
  dark: e,
25135
25154
  toggleTheme: t,
25136
25155
  user: r,
@@ -25179,7 +25198,7 @@ function eS({
25179
25198
  )
25180
25199
  ] })
25181
25200
  ] }),
25182
- /* @__PURE__ */ n(O2, {}),
25201
+ /* @__PURE__ */ n(R2, {}),
25183
25202
  l.length ? /* @__PURE__ */ c("section", { className: "space-y-2", children: [
25184
25203
  /* @__PURE__ */ n("h2", { className: "px-4 text-xs font-semibold uppercase tracking-wider text-muted-foreground", children: "Extensions" }),
25185
25204
  /* @__PURE__ */ n("div", { className: "overflow-hidden rounded-2xl border border-border bg-card/40 divide-y divide-border", children: l.map((m) => /* @__PURE__ */ c(
@@ -25222,7 +25241,7 @@ function eS({
25222
25241
  /* @__PURE__ */ n("span", { className: "flex size-7 items-center justify-center rounded-[7px] bg-destructive text-white", children: /* @__PURE__ */ n($u, { className: "size-4" }) }),
25223
25242
  /* @__PURE__ */ n("span", { className: "text-sm font-medium", children: "Push notifications" })
25224
25243
  ] }),
25225
- /* @__PURE__ */ n(AN, { user: r })
25244
+ /* @__PURE__ */ n($N, { user: r })
25226
25245
  ] }),
25227
25246
  /* @__PURE__ */ c("div", { className: "flex items-center justify-between gap-4 px-4 py-2.5", children: [
25228
25247
  /* @__PURE__ */ c("div", { className: "flex items-center gap-3", children: [
@@ -25295,7 +25314,7 @@ function eS({
25295
25314
  ] })
25296
25315
  ] });
25297
25316
  }
25298
- function tS({
25317
+ function nS({
25299
25318
  bot: e,
25300
25319
  onNewBot: t,
25301
25320
  onStarted: r
@@ -25354,7 +25373,7 @@ function Jm({
25354
25373
  }
25355
25374
  );
25356
25375
  }
25357
- function nS(e) {
25376
+ function rS(e) {
25358
25377
  let t = 0;
25359
25378
  for (let r = 0; r < e.length; r++) t = t * 31 + e.charCodeAt(r) | 0;
25360
25379
  return Math.abs(t);
@@ -25382,14 +25401,14 @@ function zn({
25382
25401
  colorway: e.colorway,
25383
25402
  size: t,
25384
25403
  state: o,
25385
- seed: nS(e.id),
25404
+ seed: rS(e.id),
25386
25405
  title: e.name
25387
25406
  }
25388
25407
  )
25389
25408
  }
25390
25409
  );
25391
25410
  }
25392
- function rS({ session: e }) {
25411
+ function sS({ session: e }) {
25393
25412
  const t = Tt(Lo), r = Tt(cm);
25394
25413
  if (!e.botId || !e.botName) return null;
25395
25414
  const s = t.get(e.botId);
@@ -25485,10 +25504,10 @@ function Zm({
25485
25504
  }
25486
25505
  );
25487
25506
  }
25488
- function sS(e) {
25507
+ function oS(e) {
25489
25508
  e && we.error(e);
25490
25509
  }
25491
- function oS({
25510
+ function iS({
25492
25511
  bots: e,
25493
25512
  sessions: t,
25494
25513
  selectedBotId: r,
@@ -25530,7 +25549,7 @@ function oS({
25530
25549
  busy: w,
25531
25550
  prompt: null,
25532
25551
  error: null,
25533
- onError: sS,
25552
+ onError: oS,
25534
25553
  onSubscribeTranscript: o,
25535
25554
  onRefresh: async () => {
25536
25555
  await Promise.all([m(), f()]);
@@ -25691,7 +25710,7 @@ function oS({
25691
25710
  ] })
25692
25711
  ] });
25693
25712
  }
25694
- function iS({
25713
+ function aS({
25695
25714
  bot: e,
25696
25715
  repos: t,
25697
25716
  codingAgents: r,
@@ -25918,7 +25937,7 @@ function iS({
25918
25937
  /* @__PURE__ */ n("div", { className: "pt-4", children: P })
25919
25938
  ] });
25920
25939
  }
25921
- function aS({
25940
+ function lS({
25922
25941
  autoAgents: e = [],
25923
25942
  findings: t = [],
25924
25943
  tz: r,
@@ -25993,7 +26012,7 @@ function aS({
25993
26012
  ]
25994
26013
  }
25995
26014
  ),
25996
- /* @__PURE__ */ n("div", { className: "order-5 flex w-full min-w-0 items-center gap-1 pl-5 text-xs text-muted-foreground sm:order-3 sm:w-auto sm:max-w-[11rem] sm:pl-0", children: /* @__PURE__ */ n(z2, { expr: m.schedule, tz: r }) }),
26015
+ /* @__PURE__ */ n("div", { className: "order-5 flex w-full min-w-0 items-center gap-1 pl-5 text-xs text-muted-foreground sm:order-3 sm:w-auto sm:max-w-[11rem] sm:pl-0", children: /* @__PURE__ */ n(P2, { expr: m.schedule, tz: r }) }),
25997
26016
  /* @__PURE__ */ c("div", { className: "order-6 flex w-full min-w-0 items-center gap-1 pl-5 text-xs text-muted-foreground sm:order-4 sm:w-auto sm:max-w-[10rem] sm:pl-0", children: [
25998
26017
  /* @__PURE__ */ n(
25999
26018
  "img",
@@ -26004,7 +26023,7 @@ function aS({
26004
26023
  }
26005
26024
  ),
26006
26025
  /* @__PURE__ */ c("span", { className: "truncate", children: [
26007
- ((f = Uk.find((h) => h.key === (m.agent ?? "aisdk"))) == null ? void 0 : f.label) ?? "claude",
26026
+ ((f = Bk.find((h) => h.key === (m.agent ?? "aisdk"))) == null ? void 0 : f.label) ?? "claude",
26008
26027
  m.model ? /* @__PURE__ */ c("span", { className: "text-muted-foreground/70", children: [
26009
26028
  " · ",
26010
26029
  m.model
@@ -26051,7 +26070,7 @@ function aS({
26051
26070
  ]
26052
26071
  }
26053
26072
  ),
26054
- l && d ? /* @__PURE__ */ n("div", { className: "mt-6", children: /* @__PURE__ */ n(L2, { settings: l, onChange: d }) }) : null
26073
+ l && d ? /* @__PURE__ */ n("div", { className: "mt-6", children: /* @__PURE__ */ n(D2, { settings: l, onChange: d }) }) : null
26055
26074
  ] });
26056
26075
  }
26057
26076
  let Xs = 0;
@@ -26063,8 +26082,8 @@ function Qm() {
26063
26082
  };
26064
26083
  }
26065
26084
  const $s = jp({
26066
- component: ON
26067
- }), lS = wo({
26085
+ component: RN
26086
+ }), cS = wo({
26068
26087
  getParentRoute: () => $s,
26069
26088
  path: "/",
26070
26089
  validateSearch: Xp,
@@ -26079,7 +26098,7 @@ const $s = jp({
26079
26098
  }
26080
26099
  },
26081
26100
  component: () => null
26082
- }), cS = wo({
26101
+ }), dS = wo({
26083
26102
  getParentRoute: () => $s,
26084
26103
  path: "$tab",
26085
26104
  validateSearch: ko,
@@ -26093,31 +26112,31 @@ const $s = jp({
26093
26112
  });
26094
26113
  },
26095
26114
  component: () => null
26096
- }), dS = wo({
26115
+ }), uS = wo({
26097
26116
  getParentRoute: () => $s,
26098
26117
  path: "bots/$botId",
26099
26118
  validateSearch: ko,
26100
26119
  component: () => null
26101
- }), uS = wo({
26120
+ }), fS = wo({
26102
26121
  getParentRoute: () => $s,
26103
26122
  path: "bots/new",
26104
26123
  validateSearch: ko,
26105
26124
  component: () => null
26106
- }), fS = wo({
26125
+ }), mS = wo({
26107
26126
  getParentRoute: () => $s,
26108
26127
  path: "bots/$botId/edit",
26109
26128
  validateSearch: ko,
26110
26129
  component: () => null
26111
- }), mS = $s.addChildren([
26112
- lS,
26130
+ }), pS = $s.addChildren([
26113
26131
  cS,
26114
26132
  dS,
26115
26133
  uS,
26116
- fS
26134
+ fS,
26135
+ mS
26117
26136
  ]);
26118
26137
  function lc(e) {
26119
26138
  return Up({
26120
- routeTree: mS,
26139
+ routeTree: pS,
26121
26140
  defaultPreload: !1,
26122
26141
  history: e,
26123
26142
  // App is the ROOT route component, so any uncaught render error in the app
@@ -26138,7 +26157,7 @@ function lc(e) {
26138
26157
  });
26139
26158
  }
26140
26159
  lc();
26141
- function pS(e) {
26160
+ function hS(e) {
26142
26161
  const t = new URLSearchParams({ embed: "true" });
26143
26162
  return e && t.set("session", e), `/?${t.toString()}`;
26144
26163
  }
@@ -26152,10 +26171,10 @@ function nu(e) {
26152
26171
  const t = e.split("/").filter(Boolean)[0], r = t ? decodeURIComponent(t) : "settings";
26153
26172
  return ep.includes(r) ? r : null;
26154
26173
  }
26155
- function hS(e) {
26174
+ function gS(e) {
26156
26175
  return ep.includes(e) ? e : "settings";
26157
26176
  }
26158
- function qS({
26177
+ function VS({
26159
26178
  transport: e,
26160
26179
  assetBaseUrl: t,
26161
26180
  page: r = "settings",
@@ -26164,7 +26183,7 @@ function qS({
26164
26183
  errorSink: i,
26165
26184
  hostedPush: a
26166
26185
  }) {
26167
- const l = hS(r);
26186
+ const l = gS(r);
26168
26187
  Su(e, { assetBaseUrl: t, errorSink: i }), Rf(!0), Of(a ?? null);
26169
26188
  const [d] = v(
26170
26189
  () => lc(
@@ -26179,7 +26198,7 @@ function qS({
26179
26198
  nu(d.state.location.pathname) !== l && d.navigate({ to: `/${l}`, search: { embed: !0 }, replace: !0 });
26180
26199
  }, [d, l]), Vt(() => Qm(), []), /* @__PURE__ */ n("div", { className: o, "data-lfg-app-surface": "", "data-lfg-settings-surface": r, children: /* @__PURE__ */ n(fu, { bare: !0, children: /* @__PURE__ */ n(Cm, { children: /* @__PURE__ */ n(Ef, { children: /* @__PURE__ */ n(lu, { router: d }) }) }) }) });
26181
26200
  }
26182
- function VS({
26201
+ function WS({
26183
26202
  transport: e,
26184
26203
  assetBaseUrl: t,
26185
26204
  sessionId: r,
@@ -26197,7 +26216,7 @@ function VS({
26197
26216
  Su(e, { assetBaseUrl: t, errorSink: h }), Rf(!0), Of(d ?? null);
26198
26217
  const [p] = v(
26199
26218
  () => lc(
26200
- au({ initialEntries: [pS(r)] })
26219
+ au({ initialEntries: [hS(r)] })
26201
26220
  )
26202
26221
  );
26203
26222
  return Vt(() => Qm(), []), /* @__PURE__ */ n("div", { className: s, "data-lfg-app-surface": "", children: /* @__PURE__ */ n(
@@ -26244,7 +26263,7 @@ export {
26244
26263
  Is as R,
26245
26264
  qu as S,
26246
26265
  ks as T,
26247
- jS as U,
26266
+ US as U,
26248
26267
  Yu as V,
26249
26268
  $l as W,
26250
26269
  Lt as X,
@@ -26254,19 +26273,19 @@ export {
26254
26273
  ve as a,
26255
26274
  rd as a0,
26256
26275
  ho as a1,
26257
- HS as a2,
26258
- US as a3,
26276
+ qS as a2,
26277
+ BS as a3,
26259
26278
  kl as a4,
26260
26279
  ju as a5,
26261
26280
  jy as a6,
26262
26281
  Ou as a7,
26263
26282
  Lr as a8,
26264
- DS as a9,
26283
+ jS as a9,
26265
26284
  ur as aa,
26266
26285
  Kx as ab,
26267
- VS as ac,
26268
- qS as ad,
26269
- LS as ae,
26286
+ WS as ac,
26287
+ VS as ad,
26288
+ DS as ae,
26270
26289
  Kr as b,
26271
26290
  Eo as c,
26272
26291
  Yr as d,
@@ -26282,12 +26301,12 @@ export {
26282
26301
  Io as n,
26283
26302
  Ao as o,
26284
26303
  $o as p,
26285
- FS as q,
26304
+ HS as q,
26286
26305
  _o as r,
26287
26306
  Hu as s,
26288
26307
  Gn as t,
26289
26308
  cx as u,
26290
- BS as v,
26309
+ FS as v,
26291
26310
  xl as w,
26292
26311
  jt as x,
26293
26312
  Me as y,