@omg-dev/app 0.6.68 → 0.6.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist-lib/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
3
  import "@tanstack/react-router";
4
- import { ai as m, aj as o, ak as i } from "./embedded-DoqmW6eM.js";
4
+ import { ak as e, al as o, am as s } from "./embedded-Dw2pU919.js";
5
5
  export {
6
- m as OmgAppSurface,
6
+ e as OmgAppSurface,
7
7
  o as OmgSettingsSurface,
8
- i as createGrantTransport
8
+ s as createGrantTransport
9
9
  };
@@ -1,4 +1,4 @@
1
- import { y as e } from "./embedded-DoqmW6eM.js";
1
+ import { z as e } from "./embedded-Dw2pU919.js";
2
2
  /**
3
3
  * @license lucide-react v0.577.0 - ISC
4
4
  *
@@ -1,76 +1,76 @@
1
- import { jsx as t, jsxs as s, Fragment as R } from "react/jsx-runtime";
2
- import { r as X, P as J, a as le, f as oe, g as ie, h as ce, X as K, A as P, R as Y, i as de, S as ue, j as Z, T as me, k as he, l as pe, C as fe, L as ge } from "./embedded-DoqmW6eM.js";
3
- import { cn as x } from "cnfast";
4
- import { useState as a, useRef as E, useEffect as C, useCallback as xe } from "react";
5
- function be(r) {
6
- if (!r) return "";
7
- const i = r.split("/").filter(Boolean);
1
+ import { jsx as t, jsxs as s, Fragment as E } from "react/jsx-runtime";
2
+ import { r as Y, P as Z, a as de, f as ue, g as me, h as he, X as ee, A as $, R as te, i as pe, S as fe, C as ge, j as se, T as xe, k as be, l as Ne, m as ve, L as we } from "./embedded-Dw2pU919.js";
3
+ import { cn as m } from "cnfast";
4
+ import { useState as a, useRef as D, useEffect as A, useCallback as ye } from "react";
5
+ function Se(n) {
6
+ if (!n) return "";
7
+ const i = n.split("/").filter(Boolean);
8
8
  return i[i.length - 1] ?? "";
9
9
  }
10
- function Ne(r, i) {
11
- const u = (i ?? "").trim();
12
- if (!u) return "";
13
- const b = (h) => h.replace(/\s+/g, " ").trim().toLowerCase(), d = b(u), m = b(r);
14
- return !m || d === m || d.startsWith(m) || m.startsWith(d) ? "" : u;
10
+ function ke(n, i) {
11
+ const h = (i ?? "").trim();
12
+ if (!h) return "";
13
+ const y = (f) => f.replace(/\s+/g, " ").trim().toLowerCase(), d = y(h), p = y(n);
14
+ return !p || d === p || d.startsWith(p) || p.startsWith(d) ? "" : h;
15
15
  }
16
- function ke({
17
- initial: r,
16
+ function Te({
17
+ initial: n,
18
18
  scopedProject: i,
19
- onRestore: u,
20
- onPick: b,
19
+ onRestore: h,
20
+ onPick: y,
21
21
  onClose: d
22
22
  }) {
23
- const h = i && i !== "__all" ? i : "all", D = X(), [l, F] = a(
24
- () => D.some((e) => e.status !== "sent") ? "stash" : "sessions"
25
- ), [N, ee] = a(D), [p, z] = a(""), [v, te] = a(""), [f, M] = a("all"), [n, _] = a(h), [c, $] = a(
26
- h === "all" && r ? r : []
27
- ), [w, I] = a(h === "all" && r ? r.length : 0), [y, G] = a({ agents: [], projects: [] }), [O, U] = a(!1), [V, W] = a(!1), q = E(null), B = E(c), g = E(0);
28
- C(() => {
29
- B.current = c;
30
- }, [c]), C(() => {
31
- const e = () => ee(X());
32
- return window.addEventListener(J, e), window.addEventListener("storage", e), () => {
33
- window.removeEventListener(J, e), window.removeEventListener("storage", e);
23
+ const f = i && i !== "__all" ? i : "all", F = Y(), [l, M] = a(
24
+ () => F.some((e) => e.status !== "sent") ? "stash" : "sessions"
25
+ ), [S, ae] = a(F), [g, T] = a(""), [k, re] = a(""), [x, _] = a("all"), [r, I] = a(f), [u, ne] = a(!1), [c, G] = a(
26
+ f === "all" && n ? n : []
27
+ ), [C, H] = a(f === "all" && n ? n.length : 0), [j, O] = a({ agents: [], projects: [] }), [b, U] = a(0), [V, W] = a(!1), [q, B] = a(!1), Q = D(null), X = D(c), N = D(0);
28
+ A(() => {
29
+ X.current = c;
30
+ }, [c]), A(() => {
31
+ const e = () => ae(Y());
32
+ return window.addEventListener(Z, e), window.addEventListener("storage", e), () => {
33
+ window.removeEventListener(Z, e), window.removeEventListener("storage", e);
34
34
  };
35
- }, []), C(() => {
36
- const e = window.setTimeout(() => te(p.trim()), 220);
35
+ }, []), A(() => {
36
+ const e = window.setTimeout(() => re(g.trim()), 220);
37
37
  return () => window.clearTimeout(e);
38
- }, [p]);
39
- const A = xe(
38
+ }, [g]);
39
+ const L = ye(
40
40
  (e) => {
41
- const o = e ? ++g.current : g.current, S = e ? 0 : B.current.length;
42
- e ? U(!0) : W(!0);
43
- const k = new URLSearchParams({ limit: String(25), offset: String(S) });
44
- v && k.set("search", v), f !== "all" && k.set("agent", f), n !== "all" && k.set("project", n), le(`/api/sessions/resumable?${k.toString()}`).then((j) => {
45
- if (o !== g.current) return;
46
- const T = Array.isArray(j.sessions) ? j.sessions : [];
47
- $((re) => e ? T : [...re, ...T]), I(j.total ?? T.length), G(j.facets ?? { agents: [], projects: [] });
41
+ const o = e ? ++N.current : N.current, z = e ? 0 : X.current.length;
42
+ e ? W(!0) : B(!0);
43
+ const v = new URLSearchParams({ limit: String(25), offset: String(z) });
44
+ k && v.set("search", k), x !== "all" && v.set("agent", x), r !== "all" && v.set("project", r), u && v.set("includeScheduled", "1"), de(`/api/sessions/resumable?${v.toString()}`).then((w) => {
45
+ if (o !== N.current) return;
46
+ const P = Array.isArray(w.sessions) ? w.sessions : [];
47
+ G((ce) => e ? P : [...ce, ...P]), H(w.total ?? P.length), U(w.scheduledTotal ?? 0), O(w.facets ?? { agents: [], projects: [] });
48
48
  }).catch(() => {
49
- o !== g.current || !e || ($([]), I(0), G({ agents: [], projects: [] }));
49
+ o !== N.current || !e || (G([]), H(0), U(0), O({ agents: [], projects: [] }));
50
50
  }).finally(() => {
51
- o === g.current && (e ? U(!1) : W(!1));
51
+ o === N.current && (e ? W(!1) : B(!1));
52
52
  });
53
53
  },
54
- [f, v, n]
54
+ [x, k, r, u]
55
55
  );
56
- C(() => {
57
- l === "sessions" && A(!0);
58
- }, [A, l]);
59
- const L = p.trim().toLowerCase(), H = N.filter(
60
- (e) => L ? `${e.text} ${e.sessionTitle ?? ""} ${e.project ?? ""}`.toLowerCase().includes(L) : !0
61
- ), se = O && !c.length, Q = f !== "all" || n !== "all" || !!v, ae = c.length < w, ne = (e) => e === "draft" ? "Draft" : e === "sending" ? "Sending" : e === "failed" ? "Failed" : "Sent";
56
+ A(() => {
57
+ l === "sessions" && L(!0);
58
+ }, [L, l]);
59
+ const R = g.trim().toLowerCase(), J = S.filter(
60
+ (e) => R ? `${e.text} ${e.sessionTitle ?? ""} ${e.project ?? ""}`.toLowerCase().includes(R) : !0
61
+ ), le = V && !c.length, K = x !== "all" || r !== "all" || !!k, oe = c.length < C, ie = (e) => e === "draft" ? "Draft" : e === "sending" ? "Sending" : e === "failed" ? "Failed" : "Sent";
62
62
  return /* @__PURE__ */ t(
63
- oe,
63
+ ue,
64
64
  {
65
65
  open: !0,
66
66
  repositionInputs: !1,
67
67
  onOpenChange: (e) => {
68
68
  e || d();
69
69
  },
70
- children: /* @__PURE__ */ t(ie, { className: "mx-auto w-full max-w-2xl sm:max-w-2xl", children: /* @__PURE__ */ s("div", { className: "flex min-h-0 flex-col overflow-hidden max-h-[72dvh] group-data-[paged=true]/drawer-content:max-h-none group-data-[paged=true]/drawer-content:flex-1", children: [
70
+ children: /* @__PURE__ */ t(me, { className: "mx-auto w-full max-w-2xl sm:max-w-2xl", children: /* @__PURE__ */ s("div", { className: "flex min-h-0 flex-col overflow-hidden max-h-[72dvh] group-data-[paged=true]/drawer-content:max-h-none group-data-[paged=true]/drawer-content:flex-1", children: [
71
71
  /* @__PURE__ */ s("header", { className: "shrink-0 border-b border-border/70 pb-2", children: [
72
72
  /* @__PURE__ */ s("div", { className: "flex h-9 items-center gap-2", children: [
73
- /* @__PURE__ */ t(ce, { className: "text-[15px] font-semibold", children: "Resume" }),
73
+ /* @__PURE__ */ t(he, { className: "text-[15px] font-semibold", children: "Resume" }),
74
74
  /* @__PURE__ */ t("span", { className: "text-xs text-muted-foreground", children: "Stash & sessions" }),
75
75
  /* @__PURE__ */ t(
76
76
  "button",
@@ -79,7 +79,7 @@ function ke({
79
79
  onClick: d,
80
80
  "aria-label": "Close",
81
81
  className: "ml-auto flex size-8 items-center justify-center rounded-full bg-muted text-muted-foreground transition hover:text-foreground active:scale-95",
82
- children: /* @__PURE__ */ t(K, { className: "size-4" })
82
+ children: /* @__PURE__ */ t(ee, { className: "size-4" })
83
83
  }
84
84
  )
85
85
  ] }),
@@ -89,15 +89,15 @@ function ke({
89
89
  "button",
90
90
  {
91
91
  type: "button",
92
- onClick: () => F("stash"),
93
- className: x(
92
+ onClick: () => M("stash"),
93
+ className: m(
94
94
  "flex h-7 items-center gap-1.5 rounded-full px-3 transition",
95
95
  l === "stash" ? "bg-background text-foreground shadow-sm" : "text-muted-foreground"
96
96
  ),
97
97
  children: [
98
- /* @__PURE__ */ t(P, { className: "size-3.5" }),
98
+ /* @__PURE__ */ t($, { className: "size-3.5" }),
99
99
  "Stash",
100
- N.length ? /* @__PURE__ */ t("span", { className: "tabular-nums opacity-60", children: N.length }) : null
100
+ S.length ? /* @__PURE__ */ t("span", { className: "tabular-nums opacity-60", children: S.length }) : null
101
101
  ]
102
102
  }
103
103
  ),
@@ -105,24 +105,24 @@ function ke({
105
105
  "button",
106
106
  {
107
107
  type: "button",
108
- onClick: () => F("sessions"),
109
- className: x(
108
+ onClick: () => M("sessions"),
109
+ className: m(
110
110
  "flex h-7 items-center gap-1.5 rounded-full px-3 transition",
111
111
  l === "sessions" ? "bg-background text-foreground shadow-sm" : "text-muted-foreground"
112
112
  ),
113
113
  children: [
114
- /* @__PURE__ */ t(Y, { className: "size-3.5" }),
114
+ /* @__PURE__ */ t(te, { className: "size-3.5" }),
115
115
  "Sessions",
116
- w ? /* @__PURE__ */ t("span", { className: "tabular-nums opacity-60", children: w }) : null
116
+ C ? /* @__PURE__ */ t("span", { className: "tabular-nums opacity-60", children: C }) : null
117
117
  ]
118
118
  }
119
119
  )
120
120
  ] }),
121
- l === "stash" && N.length ? /* @__PURE__ */ t(
121
+ l === "stash" && S.length ? /* @__PURE__ */ t(
122
122
  "button",
123
123
  {
124
124
  type: "button",
125
- onClick: () => de(),
125
+ onClick: () => pe(),
126
126
  className: "ml-auto h-8 rounded-full px-2.5 text-xs font-medium text-muted-foreground transition hover:bg-muted hover:text-destructive",
127
127
  children: "Clear"
128
128
  }
@@ -130,43 +130,43 @@ function ke({
130
130
  ] }),
131
131
  /* @__PURE__ */ s("div", { className: "mt-2 flex items-center gap-1.5", children: [
132
132
  /* @__PURE__ */ s("div", { className: "relative min-w-0 flex-1", children: [
133
- /* @__PURE__ */ t(ue, { className: "pointer-events-none absolute left-3 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground/70" }),
133
+ /* @__PURE__ */ t(fe, { className: "pointer-events-none absolute left-3 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground/70" }),
134
134
  /* @__PURE__ */ t(
135
135
  "input",
136
136
  {
137
- ref: q,
138
- value: p,
139
- onChange: (e) => z(e.target.value),
137
+ ref: Q,
138
+ value: g,
139
+ onChange: (e) => T(e.target.value),
140
140
  placeholder: l === "stash" ? "Search prompts" : "Search sessions",
141
141
  "aria-label": l === "stash" ? "Search stashed prompts" : "Search resumable sessions",
142
142
  autoComplete: "off",
143
143
  className: "h-8 w-full rounded-full border border-border bg-muted/40 pl-8 pr-8 text-xs outline-none transition focus:border-ring focus:bg-background"
144
144
  }
145
145
  ),
146
- p ? /* @__PURE__ */ t(
146
+ g ? /* @__PURE__ */ t(
147
147
  "button",
148
148
  {
149
149
  type: "button",
150
150
  onClick: () => {
151
- z(""), q.current?.focus();
151
+ T(""), Q.current?.focus();
152
152
  },
153
153
  "aria-label": "Clear search",
154
154
  className: "absolute right-1.5 top-1/2 flex size-6 -translate-y-1/2 items-center justify-center rounded-full text-muted-foreground",
155
- children: /* @__PURE__ */ t(K, { className: "size-3.5" })
155
+ children: /* @__PURE__ */ t(ee, { className: "size-3.5" })
156
156
  }
157
157
  ) : null
158
158
  ] }),
159
- l === "sessions" ? /* @__PURE__ */ s(R, { children: [
159
+ l === "sessions" ? /* @__PURE__ */ s(E, { children: [
160
160
  /* @__PURE__ */ s(
161
161
  "select",
162
162
  {
163
- value: f,
164
- onChange: (e) => M(e.target.value),
163
+ value: x,
164
+ onChange: (e) => _(e.target.value),
165
165
  "aria-label": "Filter by agent",
166
166
  className: "h-8 max-w-28 rounded-full border border-border bg-background px-2 text-xs outline-none",
167
167
  children: [
168
168
  /* @__PURE__ */ t("option", { value: "all", children: "All agents" }),
169
- y.agents.map((e) => /* @__PURE__ */ s("option", { value: e.agent, children: [
169
+ j.agents.map((e) => /* @__PURE__ */ s("option", { value: e.agent, children: [
170
170
  e.agent,
171
171
  " · ",
172
172
  e.count
@@ -174,28 +174,45 @@ function ke({
174
174
  ]
175
175
  }
176
176
  ),
177
- y.projects.length || n !== "all" ? /* @__PURE__ */ s(
177
+ j.projects.length || r !== "all" ? /* @__PURE__ */ s(
178
178
  "select",
179
179
  {
180
- value: n,
181
- onChange: (e) => _(e.target.value),
180
+ value: r,
181
+ onChange: (e) => I(e.target.value),
182
182
  "aria-label": "Filter by project",
183
183
  className: "h-8 max-w-32 rounded-full border border-border bg-background px-2 text-xs outline-none",
184
184
  children: [
185
185
  /* @__PURE__ */ t("option", { value: "all", children: "All projects" }),
186
- n !== "all" && !y.projects.some((e) => e.project === n) ? /* @__PURE__ */ t("option", { value: n, children: n }) : null,
187
- y.projects.map((e) => /* @__PURE__ */ s("option", { value: e.project, children: [
186
+ r !== "all" && !j.projects.some((e) => e.project === r) ? /* @__PURE__ */ t("option", { value: r, children: r }) : null,
187
+ j.projects.map((e) => /* @__PURE__ */ s("option", { value: e.project, children: [
188
188
  e.project,
189
189
  " · ",
190
190
  e.count
191
191
  ] }, e.project))
192
192
  ]
193
193
  }
194
+ ) : null,
195
+ b || u ? /* @__PURE__ */ s(
196
+ "button",
197
+ {
198
+ type: "button",
199
+ onClick: () => ne((e) => !e),
200
+ "aria-pressed": u,
201
+ title: u ? "Hide scheduled auto-agent runs" : `Show ${b} scheduled auto-agent run${b === 1 ? "" : "s"}`,
202
+ className: m(
203
+ "flex h-8 shrink-0 items-center gap-1 rounded-full border px-2.5 text-xs font-medium transition",
204
+ u ? "border-transparent bg-foreground text-background" : "border-border bg-background text-muted-foreground hover:text-foreground"
205
+ ),
206
+ children: [
207
+ /* @__PURE__ */ t(ge, { className: "size-3.5" }),
208
+ b ? /* @__PURE__ */ t("span", { className: "tabular-nums opacity-70", children: b }) : null
209
+ ]
210
+ }
194
211
  ) : null
195
212
  ] }) : null
196
213
  ] })
197
214
  ] }),
198
- /* @__PURE__ */ t("div", { className: "min-h-0 max-h-[min(28rem,55dvh)] overflow-y-auto overscroll-contain pt-1", children: l === "stash" ? H.length ? /* @__PURE__ */ t("div", { className: "space-y-0.5", children: H.map((e) => /* @__PURE__ */ s(
215
+ /* @__PURE__ */ t("div", { className: "min-h-0 max-h-[min(28rem,55dvh)] overflow-y-auto overscroll-contain pt-1", children: l === "stash" ? J.length ? /* @__PURE__ */ t("div", { className: "space-y-0.5", children: J.map((e) => /* @__PURE__ */ s(
199
216
  "div",
200
217
  {
201
218
  className: "group flex items-center gap-1 rounded-xl transition hover:bg-muted",
@@ -205,18 +222,18 @@ function ke({
205
222
  {
206
223
  type: "button",
207
224
  onClick: () => {
208
- u(e), d();
225
+ h(e), d();
209
226
  },
210
227
  className: "flex min-w-0 flex-1 items-center gap-2.5 px-2 py-2 text-left active:scale-[0.99]",
211
228
  children: [
212
229
  /* @__PURE__ */ t(
213
230
  "span",
214
231
  {
215
- className: x(
232
+ className: m(
216
233
  "flex size-7 shrink-0 items-center justify-center rounded-lg",
217
234
  e.status === "draft" || e.status === "failed" ? "bg-primary/12 text-primary" : "bg-muted text-muted-foreground"
218
235
  ),
219
- children: /* @__PURE__ */ t(P, { className: "size-3.5" })
236
+ children: /* @__PURE__ */ t($, { className: "size-3.5" })
220
237
  }
221
238
  ),
222
239
  /* @__PURE__ */ s("span", { className: "min-w-0 flex-1", children: [
@@ -225,18 +242,18 @@ function ke({
225
242
  /* @__PURE__ */ t(
226
243
  "span",
227
244
  {
228
- className: x(
245
+ className: m(
229
246
  "font-medium",
230
247
  e.status === "failed" && "text-destructive",
231
248
  e.status === "draft" && "text-primary"
232
249
  ),
233
- children: ne(e.status)
250
+ children: ie(e.status)
234
251
  }
235
252
  ),
236
253
  /* @__PURE__ */ t("span", { children: "·" }),
237
254
  /* @__PURE__ */ t("span", { className: "truncate", children: e.source === "new-session" ? e.project || "New session" : e.sessionTitle || "Session" }),
238
255
  /* @__PURE__ */ t("span", { children: "·" }),
239
- /* @__PURE__ */ t("span", { className: "shrink-0 tabular-nums", children: Z(e.updatedAt) })
256
+ /* @__PURE__ */ t("span", { className: "shrink-0 tabular-nums", children: se(e.updatedAt) })
240
257
  ] })
241
258
  ] })
242
259
  ]
@@ -246,19 +263,19 @@ function ke({
246
263
  "button",
247
264
  {
248
265
  type: "button",
249
- onClick: () => he(e.id),
266
+ onClick: () => be(e.id),
250
267
  "aria-label": "Remove from Stash",
251
268
  className: "mr-1 flex size-7 shrink-0 items-center justify-center rounded-full text-muted-foreground opacity-60 transition hover:bg-background hover:text-destructive group-hover:opacity-100",
252
- children: /* @__PURE__ */ t(me, { className: "size-3.5" })
269
+ children: /* @__PURE__ */ t(xe, { className: "size-3.5" })
253
270
  }
254
271
  )
255
272
  ]
256
273
  },
257
274
  e.id
258
275
  )) }) : /* @__PURE__ */ s("div", { className: "flex h-full min-h-48 flex-col items-center justify-center gap-2 px-4 text-center text-sm text-muted-foreground", children: [
259
- /* @__PURE__ */ t(P, { className: "size-5" }),
260
- /* @__PURE__ */ t("span", { children: L ? "No stashed prompts match" : "Typed and dictated prompts will appear here" })
261
- ] }) : se ? /* @__PURE__ */ t("div", { className: "animate-pulse space-y-1.5", "aria-hidden": !0, children: Array.from({ length: 6 }).map((e, o) => /* @__PURE__ */ s(
276
+ /* @__PURE__ */ t($, { className: "size-5" }),
277
+ /* @__PURE__ */ t("span", { children: R ? "No stashed prompts match" : "Typed and dictated prompts will appear here" })
278
+ ] }) : le ? /* @__PURE__ */ t("div", { className: "animate-pulse space-y-1.5", "aria-hidden": !0, children: Array.from({ length: 6 }).map((e, o) => /* @__PURE__ */ s(
262
279
  "div",
263
280
  {
264
281
  className: "flex items-center gap-3 rounded-xl border border-transparent bg-card px-3 py-2.5",
@@ -273,32 +290,32 @@ function ke({
273
290
  },
274
291
  o
275
292
  )) }) : c.length === 0 ? /* @__PURE__ */ s("div", { className: "flex h-full min-h-48 flex-col items-center justify-center gap-2 px-4 text-center text-sm text-muted-foreground", children: [
276
- /* @__PURE__ */ t(Y, { className: "size-5" }),
277
- /* @__PURE__ */ t("span", { children: Q ? "No sessions match" : "No recent sessions to resume" }),
278
- Q ? /* @__PURE__ */ t(
293
+ /* @__PURE__ */ t(te, { className: "size-5" }),
294
+ /* @__PURE__ */ t("span", { children: K ? "No sessions match" : "No recent sessions to resume" }),
295
+ K ? /* @__PURE__ */ t(
279
296
  "button",
280
297
  {
281
298
  type: "button",
282
299
  onClick: () => {
283
- z(""), M("all"), _("all");
300
+ T(""), _("all"), I("all");
284
301
  },
285
302
  className: "rounded-full border border-border px-3 py-1 text-xs font-medium text-foreground",
286
303
  children: "Clear filters"
287
304
  }
288
305
  ) : null
289
- ] }) : /* @__PURE__ */ s(R, { children: [
290
- /* @__PURE__ */ t("div", { className: x("space-y-1.5 transition-opacity", O && "opacity-60"), children: c.map((e) => {
291
- const o = be(e.cwd), S = Ne(e.title, e.lastUserText);
306
+ ] }) : /* @__PURE__ */ s(E, { children: [
307
+ /* @__PURE__ */ t("div", { className: m("space-y-1.5 transition-opacity", V && "opacity-60"), children: c.map((e) => {
308
+ const o = Se(e.cwd), z = ke(e.title, e.lastUserText);
292
309
  return /* @__PURE__ */ s(
293
310
  "button",
294
311
  {
295
312
  type: "button",
296
- onClick: () => b(e),
313
+ onClick: () => y(e),
297
314
  title: e.cwd || e.title,
298
315
  className: "lfg-gborder flex w-full items-center gap-3 rounded-xl border border-transparent bg-card px-3 py-2.5 text-left transition hover:border-border hover:bg-muted/60 active:scale-[0.99]",
299
316
  children: [
300
317
  /* @__PURE__ */ t(
301
- pe,
318
+ Ne,
302
319
  {
303
320
  session: e,
304
321
  className: "size-8 rounded-md",
@@ -309,31 +326,31 @@ function ke({
309
326
  /* @__PURE__ */ s("span", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
310
327
  /* @__PURE__ */ s("span", { className: "flex items-baseline gap-1.5", children: [
311
328
  /* @__PURE__ */ t("span", { className: "min-w-0 flex-1 truncate text-sm font-medium leading-tight", children: e.title }),
312
- /* @__PURE__ */ t("span", { className: "shrink-0 text-[10px] leading-tight tabular-nums text-muted-foreground/70", children: Z(e.lastActivityAt) })
329
+ /* @__PURE__ */ t("span", { className: "shrink-0 text-[10px] leading-tight tabular-nums text-muted-foreground/70", children: se(e.archivedAt ?? e.lastActivityAt) })
313
330
  ] }),
314
- S ? /* @__PURE__ */ t("span", { className: "truncate text-xs leading-tight text-muted-foreground", children: S }) : null,
331
+ z ? /* @__PURE__ */ t("span", { className: "truncate text-xs leading-tight text-muted-foreground", children: z }) : null,
315
332
  /* @__PURE__ */ s("span", { className: "flex min-w-0 items-center gap-1", children: [
316
333
  /* @__PURE__ */ t("span", { className: "max-w-[50%] truncate rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground", children: e.project }),
317
334
  o && o !== e.project ? /* @__PURE__ */ t("span", { className: "max-w-[50%] truncate rounded-full bg-muted/60 px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground/80", children: o }) : null
318
335
  ] })
319
336
  ] }),
320
- /* @__PURE__ */ t(fe, { className: "size-3.5 shrink-0 text-muted-foreground/60" })
337
+ /* @__PURE__ */ t(ve, { className: "size-3.5 shrink-0 text-muted-foreground/60" })
321
338
  ]
322
339
  },
323
340
  e.sessionId
324
341
  );
325
342
  }) }),
326
- ae ? /* @__PURE__ */ t(
343
+ oe ? /* @__PURE__ */ t(
327
344
  "button",
328
345
  {
329
346
  type: "button",
330
- onClick: () => A(!1),
331
- disabled: V,
347
+ onClick: () => L(!1),
348
+ disabled: q,
332
349
  className: "mt-1 flex w-full items-center justify-center gap-2 rounded-xl px-3 py-2.5 text-xs font-medium text-muted-foreground transition hover:bg-muted disabled:opacity-60",
333
- children: V ? /* @__PURE__ */ s(R, { children: [
334
- /* @__PURE__ */ t(ge, { className: "size-3.5 animate-spin" }),
350
+ children: q ? /* @__PURE__ */ s(E, { children: [
351
+ /* @__PURE__ */ t(we, { className: "size-3.5 animate-spin" }),
335
352
  " Loading…"
336
- ] }) : `Load ${Math.min(25, w - c.length)} more`
353
+ ] }) : `Load ${Math.min(25, C - c.length)} more`
337
354
  }
338
355
  ) : null
339
356
  ] }) })
@@ -342,5 +359,5 @@ function ke({
342
359
  );
343
360
  }
344
361
  export {
345
- ke as default
362
+ Te as default
346
363
  };
@@ -1,5 +1,5 @@
1
1
  import { jsx as s, jsxs as a, Fragment as w } from "react/jsx-runtime";
2
- import { a as $, D as C, b as T, c as M, d as D, G as S, e as F, t as L, L as R } from "./embedded-DoqmW6eM.js";
2
+ import { a as $, D as C, b as T, c as M, d as D, G as S, e as F, t as L, L as R } from "./embedded-Dw2pU919.js";
3
3
  import { useState as g, useCallback as j, useEffect as z } from "react";
4
4
  import "@base-ui/react/collapsible";
5
5
  import { cn as P } from "cnfast";