@burdenoff/microfe-vibecontrols 2026.528.8 → 2026.528.10

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.
@@ -1,476 +1,506 @@
1
1
  import { ConfirmDialog as e } from "../components/shared/ConfirmDialog.js";
2
2
  import { getQuotaDialogContent as t, isQuotaExhaustedError as n, markQuotaHandledLocally as r } from "../utils/quotaUtils.js";
3
- import { useGetSessionQuery as i, useRestartSessionMutation as a, useRestartSessionTerminalMutation as o, useStartSessionMutation as s, useStartSessionTerminalMutation as ee, useStopSessionMutation as te, useUpdateSessionMutation as ne } from "../generated/wspace-operations.js";
4
- import { useVibeControls as re, useVibeNavigate as ie } from "../providers/VibeControlsProvider.js";
5
- import { useVibeControlsStore as ae } from "../store/vibeControlsStore.js";
6
- import { PageHeader as oe } from "../components/shared/PageHeader.js";
7
- import { ErrorState as se } from "../components/shared/ErrorState.js";
8
- import { EntityTagPicker as ce } from "../components/shared/EntityTagPicker.js";
9
- import { EmptyState as le } from "../components/shared/EmptyState.js";
3
+ import { useGetSessionQuery as i, useMintAgentCapabilityMutation as a, useRestartSessionMutation as o, useRestartSessionTerminalMutation as s, useStartSessionMutation as ee, useStartSessionTerminalMutation as te, useStopSessionMutation as ne, useUpdateSessionMutation as re } from "../generated/wspace-operations.js";
4
+ import { useVibeControls as ie, useVibeNavigate as ae } from "../providers/VibeControlsProvider.js";
5
+ import { useVibeControlsStore as oe } from "../store/vibeControlsStore.js";
6
+ import { PageHeader as se } from "../components/shared/PageHeader.js";
7
+ import { ErrorState as ce } from "../components/shared/ErrorState.js";
8
+ import { AgentCapabilityScope as le } from "../generated/wspace-types.js";
9
+ import { EntityTagPicker as ue } from "../components/shared/EntityTagPicker.js";
10
+ import { EmptyState as de } from "../components/shared/EmptyState.js";
10
11
  import { StatusBadge as c } from "../components/shared/StatusBadge.js";
11
12
  import { Card as l } from "../components/shared/Card.js";
12
13
  import "../components/shared/index.js";
13
- import { VIBE_PERMISSIONS as ue } from "../constants/permissions.js";
14
- import { PageSkeleton as de } from "../components/shared/PageSkeleton.js";
14
+ import { VIBE_PERMISSIONS as fe } from "../constants/permissions.js";
15
+ import { PageSkeleton as pe } from "../components/shared/PageSkeleton.js";
15
16
  import { useCallback as u, useEffect as d, useRef as f, useState as p } from "react";
16
- import { useI18n as fe } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
17
- import { AlertCircle as m, ArrowLeft as h, Check as pe, ChevronDown as me, ChevronUp as he, Clock as ge, Code as _e, ExternalLink as ve, Folder as ye, Hash as be, Loader2 as g, Maximize2 as xe, Minimize2 as Se, Pencil as Ce, Play as we, RefreshCw as Te, RotateCcw as _, Server as Ee, Square as De, Tag as Oe, Terminal as v, Variable as ke, X as Ae, Zap as je } from "lucide-react";
18
- import { useParams as Me } from "react-router-dom";
19
- import { usePermissions as Ne } from "@burdenoff/fe-libs/shared/providers/shell";
20
- import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
21
- import { MotionItem as S, MotionList as Pe, MotionPage as C } from "@burdenoff/fe-libs/shared/motion";
17
+ import { useI18n as me } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
18
+ import { AlertCircle as m, ArrowLeft as h, Check as he, ChevronDown as ge, ChevronUp as _e, Clock as ve, Code as ye, ExternalLink as be, Folder as xe, Hash as Se, Loader2 as g, Maximize2 as Ce, Minimize2 as we, Pencil as Te, Play as Ee, RefreshCw as De, RotateCcw as Oe, Server as ke, Square as Ae, Tag as je, Terminal as _, Variable as Me, X as Ne, Zap as Pe } from "lucide-react";
19
+ import { useParams as Fe } from "react-router-dom";
20
+ import { usePermissions as Ie } from "@burdenoff/fe-libs/shared/providers/shell";
21
+ import { Fragment as v, jsx as y, jsxs as b } from "react/jsx-runtime";
22
+ import { MotionItem as x, MotionList as Le, MotionPage as S } from "@burdenoff/fe-libs/shared/motion";
22
23
  //#region src/pages/SessionDetailsPage.tsx
23
- function Fe(e) {
24
+ function Re(e) {
24
25
  let t = e.ttydUrl;
25
26
  if (!t) return null;
26
- let n = e.agent?.agentApiKey;
27
- if (!n) return t;
28
27
  try {
29
28
  let e = new URL(t);
30
- return e.searchParams.has("apiKey") || e.searchParams.set("apiKey", n), e.toString();
29
+ return e.searchParams.delete("apiKey"), e.toString();
31
30
  } catch {
32
31
  return t;
33
32
  }
34
33
  }
35
- var Ie = (e) => e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
36
- function w() {
37
- let { t: w } = fe(), T = u((e, t, n) => {
38
- let r = w(e, n);
39
- return r === e ? n ? Object.entries(n).reduce((e, [t, n]) => e.replace(RegExp(`\\{\\{${Ie(t)}\\}\\}`, "g"), () => String(n)), t) : t : r;
40
- }, [w]), { id: E } = Me(), { basePath: Le } = re(), Re = Le || "", D = ie(), { hasPermission: ze, isLoading: Be, permissions: Ve } = Ne(), [He] = s({ refetchQueries: ["GetSession"] }), [Ue] = te({ refetchQueries: ["GetSession"] }), [We] = a({ refetchQueries: ["GetSession"] }), [O] = ee({ refetchQueries: ["GetSession"] }), [Ge] = o({ refetchQueries: ["GetSession"] }), [Ke] = ne({ refetchQueries: ["GetSession"] }), [qe, k] = p(!1), [Je, Ye] = p(""), [Xe, A] = p(""), [j, Ze] = p(!1), Qe = () => {
41
- Ye(N?.command || ""), A(N?.workingDirectory || ""), k(!0);
42
- }, $e = async () => {
43
- if (N?.id) {
44
- Ze(!0);
34
+ var ze = (e) => e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
35
+ function C() {
36
+ let { t: C } = me(), w = u((e, t, n) => {
37
+ let r = C(e, n);
38
+ return r === e ? n ? Object.entries(n).reduce((e, [t, n]) => e.replace(RegExp(`\\{\\{${ze(t)}\\}\\}`, "g"), () => String(n)), t) : t : r;
39
+ }, [C]), { id: T } = Fe(), { basePath: Be } = ie(), Ve = Be || "", E = ae(), { hasPermission: He, isLoading: Ue, permissions: We } = Ie(), [Ge] = ee({ refetchQueries: ["GetSession"] }), [Ke] = ne({ refetchQueries: ["GetSession"] }), [qe] = o({ refetchQueries: ["GetSession"] }), [Je] = te({ refetchQueries: ["GetSession"] }), [Ye] = s({ refetchQueries: ["GetSession"] }), [Xe] = re({ refetchQueries: ["GetSession"] }), [Ze, D] = p(!1), [Qe, $e] = p(""), [et, tt] = p(""), [O, nt] = p(!1), rt = () => {
40
+ $e(A?.command || ""), tt(A?.workingDirectory || ""), D(!0);
41
+ }, it = async () => {
42
+ if (A?.id) {
43
+ nt(!0);
45
44
  try {
46
- await Ke({ variables: {
47
- id: N.id,
45
+ await Xe({ variables: {
46
+ id: A.id,
48
47
  input: {
49
- command: Je || null,
50
- workingDirectory: Xe || null
48
+ command: Qe || null,
49
+ workingDirectory: et || null
51
50
  }
52
- } }), k(!1);
51
+ } }), D(!1);
53
52
  } finally {
54
- Ze(!1);
53
+ nt(!1);
55
54
  }
56
55
  }
57
- }, { data: et, loading: M, error: tt, refetch: nt } = i({
58
- variables: { id: E || "" },
59
- skip: !E,
56
+ }, { data: at, loading: k, error: ot, refetch: st } = i({
57
+ variables: { id: T || "" },
58
+ skip: !T,
60
59
  fetchPolicy: "cache-and-network"
61
- }), N = et?.session, P = N?.agent || null, F = N?.vibe || null;
60
+ }), A = at?.session, j = A?.agent || null, M = A?.vibe || null;
62
61
  d(() => {
63
- N && ae.setState({
64
- activeAgentId: P?.id ?? null,
65
- selectedAgentId: P?.id ?? null,
66
- activeVibeId: F?.id ?? null,
67
- selectedVibeId: F?.id ?? null,
68
- activeSessionId: N.id,
69
- selectedSessionId: N.id
62
+ A && oe.setState({
63
+ activeAgentId: j?.id ?? null,
64
+ selectedAgentId: j?.id ?? null,
65
+ activeVibeId: M?.id ?? null,
66
+ selectedVibeId: M?.id ?? null,
67
+ activeSessionId: A.id,
68
+ selectedSessionId: A.id
70
69
  });
71
70
  }, [
72
- N?.id,
73
- P?.id,
74
- F?.id
71
+ A?.id,
72
+ j?.id,
73
+ M?.id
75
74
  ]);
76
- let [I, L] = p(!0), [R, rt] = p(!1), [z, it] = p(!1), [B, V] = p(null), [at, H] = p(!1), [ot, U] = p(!1), [W, G] = p(null), K = f(null), st = f(null), ct = f(!1), q = f(!1), J = N ? Fe(N) : null, Y = () => {
77
- D("/sessions");
78
- }, lt = async () => {
79
- if (N?.id) try {
80
- await He({ variables: { id: N.id } });
75
+ let [N, P] = p(!0), [F, ct] = p(!1), [I, lt] = p(!1), [ut, L] = p(null), [dt, R] = p(!1), [ft, z] = p(!1), [B, V] = p(null), H = f(null), pt = f(null), mt = f(!1), U = f(!1), W = A ? Re(A) : null, [ht] = a(), [gt, G] = p(null), [K, q] = p(null), [_t, vt] = p(!1), [yt, bt] = p(0), xt = u(() => bt((e) => e + 1), []), J = j?.id ?? null, Y = A?.id ?? null;
76
+ d(() => {
77
+ let e = !1;
78
+ if (!W || !J || !Y) {
79
+ G(null), q(null);
80
+ return;
81
+ }
82
+ return vt(!0), q(null), ht({ variables: {
83
+ agentId: J,
84
+ profile: "default",
85
+ scope: le.TerminalSession,
86
+ resourceId: Y,
87
+ ttlSeconds: 60
88
+ } }).then((t) => {
89
+ if (e) return;
90
+ let n = t.data?.mintAgentCapability?.token ?? null;
91
+ n ? G(n) : (q("Failed to mint terminal capability"), G(null));
92
+ }).catch((t) => {
93
+ e || (q(t instanceof Error ? t.message : "Failed to mint terminal capability"), G(null));
94
+ }).finally(() => {
95
+ e || vt(!1);
96
+ }), () => {
97
+ e = !0;
98
+ };
99
+ }, [
100
+ W,
101
+ J,
102
+ Y,
103
+ yt,
104
+ ht
105
+ ]);
106
+ let X = W && gt ? `${W}#vt=${encodeURIComponent(gt)}` : null, Z = () => {
107
+ E("/sessions");
108
+ }, St = async () => {
109
+ if (A?.id) try {
110
+ await Ge({ variables: { id: A.id } });
81
111
  } catch (e) {
82
112
  if (n(e)) {
83
- r(), H(!0);
113
+ r(), R(!0);
84
114
  return;
85
115
  }
86
116
  console.error("Failed to start session:", e);
87
117
  }
88
- }, ut = async () => {
89
- if (N?.id) try {
90
- await Ue({ variables: { id: N.id } });
118
+ }, Ct = async () => {
119
+ if (A?.id) try {
120
+ await Ke({ variables: { id: A.id } });
91
121
  } catch (e) {
92
122
  console.error("Failed to stop session:", e);
93
123
  }
94
- }, dt = async () => {
95
- if (N?.id) try {
96
- await We({ variables: { id: N.id } });
124
+ }, wt = async () => {
125
+ if (A?.id) try {
126
+ await qe({ variables: { id: A.id } });
97
127
  } catch (e) {
98
128
  if (n(e)) {
99
- r(), H(!0);
129
+ r(), R(!0);
100
130
  return;
101
131
  }
102
132
  console.error("Failed to restart session:", e);
103
133
  }
104
- }, X = u(() => {
134
+ }, Q = u(() => {
105
135
  requestAnimationFrame(() => {
106
- st.current?.scrollIntoView({
136
+ pt.current?.scrollIntoView({
107
137
  behavior: "smooth",
108
138
  block: "end"
109
139
  });
110
140
  });
111
- }, []), Z = u(async (e, t, i) => {
112
- let a = N?.id;
141
+ }, []), $ = u(async (e, t, i) => {
142
+ let a = A?.id;
113
143
  if (!a) return;
114
- it(!0), V(null);
144
+ lt(!0), L(null);
115
145
  let o = !1;
116
146
  try {
117
147
  let s = await e(a);
118
- s.error && n(s.error) ? (r(), H(!0)) : s.error ? V(s.error.message) : !s.data || !s.data[t] ? V(i) : (L(!0), o = !0);
148
+ s.error && n(s.error) ? (r(), R(!0)) : s.error ? L(s.error.message) : !s.data || !s.data[t] ? L(i) : (P(!0), o = !0);
119
149
  } catch (e) {
120
150
  if (n(e)) {
121
- r(), H(!0);
151
+ r(), R(!0);
122
152
  return;
123
153
  }
124
- V(e instanceof Error ? e.message : i);
154
+ L(e instanceof Error ? e.message : i);
125
155
  } finally {
126
- it(!1), o && X();
156
+ lt(!1), o && Q();
127
157
  }
128
- }, [N?.id, X]), Q = u(() => Z((e) => O({ variables: { id: e } }), "startSessionTerminal", "Failed to start terminal"), [O, Z]), ft = u(() => Z((e) => Ge({ variables: { id: e } }), "restartSessionTerminal", "Failed to restart terminal"), [Ge, Z]);
158
+ }, [A?.id, Q]), Tt = u(() => $((e) => Je({ variables: { id: e } }), "startSessionTerminal", "Failed to start terminal"), [Je, $]), Et = u(() => $((e) => Ye({ variables: { id: e } }), "restartSessionTerminal", "Failed to restart terminal"), [Ye, $]);
129
159
  d(() => {
130
- if (!ct.current) {
131
- ct.current = !0, q.current = I;
160
+ if (!mt.current) {
161
+ mt.current = !0, U.current = N;
132
162
  return;
133
163
  }
134
- let e = I && !q.current;
135
- q.current = I, e && X();
136
- }, [I, X]);
137
- let $ = N?.id ?? null, pt = f(null);
164
+ let e = N && !U.current;
165
+ U.current = N, e && Q();
166
+ }, [N, Q]);
167
+ let Dt = A?.id ?? null, Ot = f(null);
138
168
  d(() => {
139
- let e = N?.status ?? null, t = N?.exitCode ?? null;
140
- if ($ !== pt.current) {
141
- pt.current = $, K.current = e, G(null);
169
+ let e = A?.status ?? null, t = A?.exitCode ?? null;
170
+ if (Dt !== Ot.current) {
171
+ Ot.current = Dt, H.current = e, V(null);
142
172
  return;
143
173
  }
144
174
  if (e === "RUNNING" || e === "STARTING") {
145
- G(null), K.current = e;
175
+ V(null), H.current = e;
146
176
  return;
147
177
  }
148
- let n = K.current;
149
- e === "STOPPED" && (n === "RUNNING" || n === "STARTING") && I ? G({ exitCode: t }) : e === "STOPPED" && I && t !== null && G((e) => e && e.exitCode === null ? { exitCode: t } : e), K.current = e;
178
+ let n = H.current;
179
+ e === "STOPPED" && (n === "RUNNING" || n === "STARTING") && N ? V({ exitCode: t }) : e === "STOPPED" && N && t !== null && V((e) => e && e.exitCode === null ? { exitCode: t } : e), H.current = e;
150
180
  }, [
151
- $,
152
- N?.status,
153
- N?.exitCode,
154
- I
181
+ Dt,
182
+ A?.status,
183
+ A?.exitCode,
184
+ N
155
185
  ]);
156
- let mt = u(() => {
157
- J && window.open(J, "_blank");
158
- }, [J]);
159
- if (Be) return /* @__PURE__ */ b("div", {
186
+ let kt = u(() => {
187
+ X && window.open(X, "_blank");
188
+ }, [X]);
189
+ if (Ue) return /* @__PURE__ */ y("div", {
160
190
  className: "flex items-center justify-center min-h-[400px]",
161
- children: /* @__PURE__ */ b("p", {
191
+ children: /* @__PURE__ */ y("p", {
162
192
  className: "text-text-secondary",
163
- children: T("sessionDetails.loadingPermissions", "Loading permissions...")
193
+ children: w("sessionDetails.loadingPermissions", "Loading permissions...")
164
194
  })
165
195
  });
166
- if (Ve && (Ve.permissionStrings?.length ?? 0) > 0 && !ze(ue.SESSION_READ)) return /* @__PURE__ */ b("div", {
196
+ if (We && (We.permissionStrings?.length ?? 0) > 0 && !He(fe.SESSION_READ)) return /* @__PURE__ */ y("div", {
167
197
  className: "flex items-center justify-center min-h-[400px]",
168
- children: /* @__PURE__ */ x("div", {
198
+ children: /* @__PURE__ */ b("div", {
169
199
  className: "text-center space-y-2",
170
- children: [/* @__PURE__ */ b("h2", {
200
+ children: [/* @__PURE__ */ y("h2", {
171
201
  className: "text-lg font-semibold text-foreground",
172
- children: T("sessionDetails.accessDenied", "Access Denied")
173
- }), /* @__PURE__ */ b("p", {
202
+ children: w("sessionDetails.accessDenied", "Access Denied")
203
+ }), /* @__PURE__ */ y("p", {
174
204
  className: "text-sm text-text-secondary",
175
- children: T("sessionDetails.accessDeniedDesc", "You don't have permission to access this page.")
205
+ children: w("sessionDetails.accessDeniedDesc", "You don't have permission to access this page.")
176
206
  })]
177
207
  })
178
208
  });
179
- let ht = () => {
180
- P && D(`/agents/${P.id}`);
181
- }, gt = () => {
182
- F && D(`/vibes/${F.id}`);
183
- }, _t = (e) => {
209
+ let At = () => {
210
+ j && E(`/agents/${j.id}`);
211
+ }, jt = () => {
212
+ M && E(`/vibes/${M.id}`);
213
+ }, Mt = (e) => {
184
214
  if (!e) return "Never";
185
215
  let t = Date.now() - new Date(e).getTime();
186
216
  return t < 6e4 ? "Just now" : t < 36e5 ? `${Math.floor(t / 6e4)}m ago` : t < 864e5 ? `${Math.floor(t / 36e5)}h ago` : new Date(e).toLocaleDateString();
187
217
  };
188
- if (M && !N) return /* @__PURE__ */ x(C, {
218
+ if (k && !A) return /* @__PURE__ */ b(S, {
189
219
  className: "space-y-6 p-4 sm:p-6 bg-bg-surface min-h-screen",
190
- children: [/* @__PURE__ */ x("button", {
220
+ children: [/* @__PURE__ */ b("button", {
191
221
  type: "button",
192
- onClick: Y,
222
+ onClick: Z,
193
223
  className: "flex items-center gap-2 text-text-secondary hover:text-text-primary transition-colors",
194
- children: [/* @__PURE__ */ b(h, { className: "size-4" }), T("sessionDetails.backToSessions", "Back to Sessions")]
195
- }), /* @__PURE__ */ b(de, { variant: "detail" })]
224
+ children: [/* @__PURE__ */ y(h, { className: "size-4" }), w("sessionDetails.backToSessions", "Back to Sessions")]
225
+ }), /* @__PURE__ */ y(pe, { variant: "detail" })]
196
226
  });
197
- if (tt && !N) return /* @__PURE__ */ x(C, {
227
+ if (ot && !A) return /* @__PURE__ */ b(S, {
198
228
  className: "space-y-6 p-4 sm:p-6 bg-bg-surface min-h-screen",
199
- children: [/* @__PURE__ */ x("button", {
229
+ children: [/* @__PURE__ */ b("button", {
200
230
  type: "button",
201
- onClick: Y,
231
+ onClick: Z,
202
232
  className: "flex items-center gap-2 text-text-secondary hover:text-text-primary transition-colors",
203
- children: [/* @__PURE__ */ b(h, { className: "size-4" }), "Back to Sessions"]
204
- }), /* @__PURE__ */ b(se, {
205
- title: T("sessionDetails.failedLoad", "Failed to load session"),
206
- message: tt.message,
207
- onRetry: () => nt()
233
+ children: [/* @__PURE__ */ y(h, { className: "size-4" }), "Back to Sessions"]
234
+ }), /* @__PURE__ */ y(ce, {
235
+ title: w("sessionDetails.failedLoad", "Failed to load session"),
236
+ message: ot.message,
237
+ onRetry: () => st()
208
238
  })]
209
239
  });
210
- if (!N) return /* @__PURE__ */ x(C, {
240
+ if (!A) return /* @__PURE__ */ b(S, {
211
241
  className: "space-y-6 p-4 sm:p-6 bg-bg-surface min-h-screen",
212
- children: [/* @__PURE__ */ x("button", {
242
+ children: [/* @__PURE__ */ b("button", {
213
243
  type: "button",
214
- onClick: Y,
244
+ onClick: Z,
215
245
  className: "flex items-center gap-2 text-text-secondary hover:text-text-primary transition-colors",
216
- children: [/* @__PURE__ */ b(h, { className: "size-4" }), "Back to Sessions"]
217
- }), /* @__PURE__ */ b(le, {
218
- icon: /* @__PURE__ */ b(v, { className: "size-8 text-text-secondary" }),
219
- title: T("sessionDetails.notFound", "Session not found"),
220
- description: `${T("sessionDetails.notFoundDescPrefix", "No session with ID")} "${E}" ${T("sessionDetails.notFoundDescSuffix", "exists")}`,
221
- action: /* @__PURE__ */ b("button", {
246
+ children: [/* @__PURE__ */ y(h, { className: "size-4" }), "Back to Sessions"]
247
+ }), /* @__PURE__ */ y(de, {
248
+ icon: /* @__PURE__ */ y(_, { className: "size-8 text-text-secondary" }),
249
+ title: w("sessionDetails.notFound", "Session not found"),
250
+ description: `${w("sessionDetails.notFoundDescPrefix", "No session with ID")} "${T}" ${w("sessionDetails.notFoundDescSuffix", "exists")}`,
251
+ action: /* @__PURE__ */ y("button", {
222
252
  type: "button",
223
- onClick: Y,
253
+ onClick: Z,
224
254
  className: "px-4 py-2 bg-action-primary-bg text-action-primary-text rounded-md hover:bg-action-primary-bg-hover transition-colors",
225
- children: T("sessionDetails.backToSessions", "Back to Sessions")
255
+ children: w("sessionDetails.backToSessions", "Back to Sessions")
226
256
  })
227
257
  })]
228
258
  });
229
- let vt = N.status === "RUNNING", yt = R ? "h-[calc(100vh-200px)]" : "h-[280px] sm:h-[420px]";
230
- return /* @__PURE__ */ x(C, {
259
+ let Nt = A.status === "RUNNING", Pt = F ? "h-[calc(100vh-200px)]" : "h-[280px] sm:h-[420px]";
260
+ return /* @__PURE__ */ b(S, {
231
261
  className: "flex flex-col bg-bg-surface min-h-screen",
232
262
  children: [
233
- /* @__PURE__ */ x("div", {
234
- className: `flex-1 overflow-y-auto space-y-6 p-4 sm:p-6 ${I && J ? "pb-2" : ""}`,
263
+ /* @__PURE__ */ b("div", {
264
+ className: `flex-1 overflow-y-auto space-y-6 p-4 sm:p-6 ${N && X ? "pb-2" : ""}`,
235
265
  children: [
236
- /* @__PURE__ */ x("button", {
266
+ /* @__PURE__ */ b("button", {
237
267
  type: "button",
238
- onClick: Y,
268
+ onClick: Z,
239
269
  className: "flex items-center gap-2 text-text-secondary hover:text-text-primary transition-colors",
240
- children: [/* @__PURE__ */ b(h, { className: "size-4" }), "Back to Sessions"]
270
+ children: [/* @__PURE__ */ y(h, { className: "size-4" }), "Back to Sessions"]
241
271
  }),
242
- /* @__PURE__ */ b(oe, {
243
- title: N.name,
244
- description: N.command || "No command specified",
272
+ /* @__PURE__ */ y(se, {
273
+ title: A.name,
274
+ description: A.command || "No command specified",
245
275
  breadcrumb: [{
246
276
  label: "Sessions",
247
- path: Re ? `${Re}/sessions` : "/sessions"
248
- }, { label: N.name }],
249
- actions: /* @__PURE__ */ x("div", {
277
+ path: Ve ? `${Ve}/sessions` : "/sessions"
278
+ }, { label: A.name }],
279
+ actions: /* @__PURE__ */ b("div", {
250
280
  className: "flex items-center gap-2 flex-wrap",
251
281
  children: [
252
- /* @__PURE__ */ b("button", {
282
+ /* @__PURE__ */ y("button", {
253
283
  type: "button",
254
- onClick: () => nt(),
255
- disabled: M,
284
+ onClick: () => st(),
285
+ disabled: k,
256
286
  className: "flex items-center gap-2 px-3 py-2 bg-bg-sunken text-text-primary rounded-md hover:bg-bg-sunken/80 transition-colors disabled:opacity-50",
257
287
  title: "Refresh",
258
- children: /* @__PURE__ */ b(Te, { className: `size-4 ${M ? "animate-spin" : ""}` })
288
+ children: /* @__PURE__ */ y(De, { className: `size-4 ${k ? "animate-spin" : ""}` })
259
289
  }),
260
- vt ? /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ x("button", {
290
+ Nt ? /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ b("button", {
261
291
  type: "button",
262
- onClick: ut,
292
+ onClick: Ct,
263
293
  className: "flex items-center gap-2 px-3 py-2 bg-bg-sunken text-text-primary rounded-md hover:bg-bg-sunken/80 transition-colors",
264
- children: [/* @__PURE__ */ b(De, { className: "size-4" }), T("sessionDetails.stopCommand", "Stop Command")]
265
- }), /* @__PURE__ */ x("button", {
294
+ children: [/* @__PURE__ */ y(Ae, { className: "size-4" }), w("sessionDetails.stopCommand", "Stop Command")]
295
+ }), /* @__PURE__ */ b("button", {
266
296
  type: "button",
267
- onClick: dt,
297
+ onClick: wt,
268
298
  className: "flex items-center gap-2 px-3 py-2 bg-bg-sunken text-text-primary rounded-md hover:bg-bg-sunken/80 transition-colors",
269
- children: [/* @__PURE__ */ b(_, { className: "size-4" }), T("sessionDetails.restartCommand", "Restart Command")]
270
- })] }) : /* @__PURE__ */ x("button", {
299
+ children: [/* @__PURE__ */ y(Oe, { className: "size-4" }), w("sessionDetails.restartCommand", "Restart Command")]
300
+ })] }) : /* @__PURE__ */ b("button", {
271
301
  type: "button",
272
- onClick: lt,
302
+ onClick: St,
273
303
  className: "flex items-center gap-2 px-3 py-2 bg-status-success-bg text-status-success-text rounded-md hover:opacity-80 transition-colors",
274
- children: [/* @__PURE__ */ b(we, { className: "size-4" }), T("sessionDetails.runCommand", "Run Command")]
304
+ children: [/* @__PURE__ */ y(Ee, { className: "size-4" }), w("sessionDetails.runCommand", "Run Command")]
275
305
  }),
276
- J ? /* @__PURE__ */ x(y, { children: [
277
- /* @__PURE__ */ x("button", {
306
+ X ? /* @__PURE__ */ b(v, { children: [
307
+ /* @__PURE__ */ b("button", {
278
308
  type: "button",
279
- onClick: () => L((e) => !e),
280
- className: `flex items-center gap-2 px-3 py-2 rounded-md transition-colors ${I ? "bg-action-primary-bg text-action-primary-text hover:bg-action-primary-bg-hover" : "bg-bg-sunken text-text-primary hover:bg-bg-sunken/80"}`,
281
- title: I ? T("sessionDetails.hideTerminal", "Hide terminal") : T("sessionDetails.showTerminal", "Show terminal"),
282
- children: [/* @__PURE__ */ b(v, { className: "size-4" }), T("sessionDetails.terminal", "Terminal")]
309
+ onClick: () => P((e) => !e),
310
+ className: `flex items-center gap-2 px-3 py-2 rounded-md transition-colors ${N ? "bg-action-primary-bg text-action-primary-text hover:bg-action-primary-bg-hover" : "bg-bg-sunken text-text-primary hover:bg-bg-sunken/80"}`,
311
+ title: N ? w("sessionDetails.hideTerminal", "Hide terminal") : w("sessionDetails.showTerminal", "Show terminal"),
312
+ children: [/* @__PURE__ */ y(_, { className: "size-4" }), w("sessionDetails.terminal", "Terminal")]
283
313
  }),
284
- /* @__PURE__ */ x("button", {
314
+ /* @__PURE__ */ b("button", {
285
315
  type: "button",
286
- onClick: () => U(!0),
287
- disabled: z,
316
+ onClick: () => z(!0),
317
+ disabled: I,
288
318
  className: "flex items-center gap-1.5 p-2 bg-bg-sunken text-text-secondary rounded-md hover:text-text-primary hover:bg-bg-sunken/80 transition-colors disabled:opacity-50",
289
- title: T("sessionDetails.restartTerminalTitle", "Restart terminal — kills the tmux session and re-runs the command"),
290
- children: [z ? /* @__PURE__ */ b(g, { className: "size-3.5 animate-spin" }) : /* @__PURE__ */ b(_, { className: "size-3.5" }), /* @__PURE__ */ b("span", {
319
+ title: w("sessionDetails.restartTerminalTitle", "Restart terminal — kills the tmux session and re-runs the command"),
320
+ children: [I ? /* @__PURE__ */ y(g, { className: "size-3.5 animate-spin" }) : /* @__PURE__ */ y(Oe, { className: "size-3.5" }), /* @__PURE__ */ y("span", {
291
321
  className: "text-xs",
292
- children: T("sessionDetails.restartTerminalShort", "Restart")
322
+ children: w("sessionDetails.restartTerminalShort", "Restart")
293
323
  })]
294
324
  }),
295
- /* @__PURE__ */ b("button", {
325
+ /* @__PURE__ */ y("button", {
296
326
  type: "button",
297
- onClick: mt,
327
+ onClick: kt,
298
328
  className: "flex items-center p-2 bg-bg-sunken text-text-secondary rounded-md hover:text-text-primary hover:bg-bg-sunken/80 transition-colors",
299
- title: T("sessionDetails.openInNewTab", "Open terminal in new tab"),
300
- children: /* @__PURE__ */ b(ve, { className: "size-4" })
329
+ title: w("sessionDetails.openInNewTab", "Open terminal in new tab"),
330
+ children: /* @__PURE__ */ y(be, { className: "size-4" })
301
331
  })
302
- ] }) : /* @__PURE__ */ x("button", {
332
+ ] }) : /* @__PURE__ */ b("button", {
303
333
  type: "button",
304
- onClick: Q,
305
- disabled: z || !P,
334
+ onClick: Tt,
335
+ disabled: I || !j,
306
336
  className: "flex items-center gap-2 px-3 py-2 bg-action-primary-bg text-action-primary-text rounded-md hover:bg-action-primary-bg-hover transition-colors disabled:opacity-50",
307
- title: P ? P.tunnelUrl ? T("sessionDetails.openTerminal", "Open terminal") : T("sessionDetails.agentNoTunnelUrl", "Agent has no tunnel URL configured") : T("sessionDetails.noAgentAssigned", "No agent assigned"),
308
- children: [z ? /* @__PURE__ */ b(g, { className: "size-4 animate-spin" }) : /* @__PURE__ */ b(v, { className: "size-4" }), T("sessionDetails.openTerminal", "Open Terminal")]
337
+ title: j ? j.tunnelUrl ? w("sessionDetails.openTerminal", "Open terminal") : w("sessionDetails.agentNoTunnelUrl", "Agent has no tunnel URL configured") : w("sessionDetails.noAgentAssigned", "No agent assigned"),
338
+ children: [I ? /* @__PURE__ */ y(g, { className: "size-4 animate-spin" }) : /* @__PURE__ */ y(_, { className: "size-4" }), w("sessionDetails.openTerminal", "Open Terminal")]
309
339
  })
310
340
  ]
311
341
  })
312
342
  }),
313
- /* @__PURE__ */ x(Pe, {
343
+ /* @__PURE__ */ b(Le, {
314
344
  stagger: .04,
315
345
  className: "grid grid-cols-2 sm:grid-cols-4 gap-4",
316
346
  children: [
317
- /* @__PURE__ */ b(S, { children: /* @__PURE__ */ b(l, {
347
+ /* @__PURE__ */ y(x, { children: /* @__PURE__ */ y(l, {
318
348
  className: "p-4",
319
- children: /* @__PURE__ */ x("div", {
349
+ children: /* @__PURE__ */ b("div", {
320
350
  className: "flex items-center gap-3",
321
- children: [/* @__PURE__ */ b("div", {
351
+ children: [/* @__PURE__ */ y("div", {
322
352
  className: "size-10 rounded-lg bg-bg-sunken flex items-center justify-center",
323
- children: /* @__PURE__ */ b(v, { className: "size-5 text-text-secondary" })
324
- }), /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
353
+ children: /* @__PURE__ */ y(_, { className: "size-5 text-text-secondary" })
354
+ }), /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
325
355
  className: "text-sm text-text-secondary",
326
- children: T("sessionDetails.statusLabel", "Status")
327
- }), /* @__PURE__ */ b(c, {
328
- status: N.status,
356
+ children: w("sessionDetails.statusLabel", "Status")
357
+ }), /* @__PURE__ */ y(c, {
358
+ status: A.status,
329
359
  size: "md"
330
360
  })] })]
331
361
  })
332
362
  }) }),
333
- /* @__PURE__ */ b(S, { children: /* @__PURE__ */ b(l, {
363
+ /* @__PURE__ */ y(x, { children: /* @__PURE__ */ y(l, {
334
364
  className: "p-4",
335
- children: /* @__PURE__ */ x("div", {
365
+ children: /* @__PURE__ */ b("div", {
336
366
  className: "flex items-center gap-3",
337
- children: [/* @__PURE__ */ b("div", {
367
+ children: [/* @__PURE__ */ y("div", {
338
368
  className: "size-10 rounded-lg bg-bg-sunken flex items-center justify-center",
339
- children: /* @__PURE__ */ b(_e, { className: "size-5 text-text-secondary" })
340
- }), /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
369
+ children: /* @__PURE__ */ y(ye, { className: "size-5 text-text-secondary" })
370
+ }), /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
341
371
  className: "text-sm text-text-secondary",
342
- children: T("sessionDetails.typeLabel", "Type")
343
- }), /* @__PURE__ */ b("p", {
372
+ children: w("sessionDetails.typeLabel", "Type")
373
+ }), /* @__PURE__ */ y("p", {
344
374
  className: "font-semibold text-text-primary",
345
- children: N.type
375
+ children: A.type
346
376
  })] })]
347
377
  })
348
378
  }) }),
349
- /* @__PURE__ */ b(S, { children: /* @__PURE__ */ b(l, {
379
+ /* @__PURE__ */ y(x, { children: /* @__PURE__ */ y(l, {
350
380
  className: "p-4",
351
- children: /* @__PURE__ */ x("div", {
381
+ children: /* @__PURE__ */ b("div", {
352
382
  className: "flex items-center gap-3",
353
- children: [/* @__PURE__ */ b("div", {
383
+ children: [/* @__PURE__ */ y("div", {
354
384
  className: "size-10 rounded-lg bg-bg-sunken flex items-center justify-center",
355
- children: /* @__PURE__ */ b(be, { className: "size-5 text-text-secondary" })
356
- }), /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
385
+ children: /* @__PURE__ */ y(Se, { className: "size-5 text-text-secondary" })
386
+ }), /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
357
387
  className: "text-sm text-text-secondary",
358
- children: T("sessionDetails.pidLabel", "PID")
359
- }), /* @__PURE__ */ b("p", {
388
+ children: w("sessionDetails.pidLabel", "PID")
389
+ }), /* @__PURE__ */ y("p", {
360
390
  className: "font-semibold text-text-primary",
361
- children: N.pid || "N/A"
391
+ children: A.pid || "N/A"
362
392
  })] })]
363
393
  })
364
394
  }) }),
365
- /* @__PURE__ */ b(S, { children: /* @__PURE__ */ b(l, {
395
+ /* @__PURE__ */ y(x, { children: /* @__PURE__ */ y(l, {
366
396
  className: "p-4",
367
- children: /* @__PURE__ */ x("div", {
397
+ children: /* @__PURE__ */ b("div", {
368
398
  className: "flex items-center gap-3",
369
- children: [/* @__PURE__ */ b("div", {
399
+ children: [/* @__PURE__ */ y("div", {
370
400
  className: "size-10 rounded-lg bg-bg-sunken flex items-center justify-center",
371
- children: /* @__PURE__ */ b(Ee, { className: "size-5 text-text-secondary" })
372
- }), /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
401
+ children: /* @__PURE__ */ y(ke, { className: "size-5 text-text-secondary" })
402
+ }), /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
373
403
  className: "text-sm text-text-secondary",
374
- children: T("sessionDetails.agentLabel", "Agent")
375
- }), /* @__PURE__ */ b("p", {
404
+ children: w("sessionDetails.agentLabel", "Agent")
405
+ }), /* @__PURE__ */ y("p", {
376
406
  className: "font-semibold text-text-primary truncate",
377
- children: P?.name || "Unknown"
407
+ children: j?.name || "Unknown"
378
408
  })] })]
379
409
  })
380
410
  }) })
381
411
  ]
382
412
  }),
383
- /* @__PURE__ */ x(l, { children: [/* @__PURE__ */ x("div", {
413
+ /* @__PURE__ */ b(l, { children: [/* @__PURE__ */ b("div", {
384
414
  className: "p-4 border-b border-border-default flex items-center justify-between",
385
- children: [/* @__PURE__ */ x("h3", {
415
+ children: [/* @__PURE__ */ b("h3", {
386
416
  className: "font-semibold text-text-primary flex items-center gap-2",
387
- children: [/* @__PURE__ */ b(_e, { className: "size-5" }), T("sessionDetails.commandTitle", "Command")]
388
- }), !qe && /* @__PURE__ */ b("button", {
417
+ children: [/* @__PURE__ */ y(ye, { className: "size-5" }), w("sessionDetails.commandTitle", "Command")]
418
+ }), !Ze && /* @__PURE__ */ y("button", {
389
419
  type: "button",
390
- onClick: Qe,
420
+ onClick: rt,
391
421
  className: "p-1.5 rounded text-text-secondary hover:text-text-primary hover:bg-bg-sunken transition-colors",
392
- title: T("sessionDetails.editCommandTitle", "Edit command and working directory"),
393
- children: /* @__PURE__ */ b(Ce, { className: "size-4" })
422
+ title: w("sessionDetails.editCommandTitle", "Edit command and working directory"),
423
+ children: /* @__PURE__ */ y(Te, { className: "size-4" })
394
424
  })]
395
- }), /* @__PURE__ */ b("div", {
425
+ }), /* @__PURE__ */ y("div", {
396
426
  className: "p-4",
397
- children: qe ? /* @__PURE__ */ x("div", {
427
+ children: Ze ? /* @__PURE__ */ b("div", {
398
428
  className: "space-y-3",
399
429
  children: [
400
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("label", {
430
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("label", {
401
431
  className: "block text-xs font-medium text-text-secondary mb-1",
402
- children: T("sessionDetails.commandLabel", "Command")
403
- }), /* @__PURE__ */ b("input", {
432
+ children: w("sessionDetails.commandLabel", "Command")
433
+ }), /* @__PURE__ */ y("input", {
404
434
  "aria-label": "control",
405
435
  type: "text",
406
- value: Je,
407
- onChange: (e) => Ye(e.target.value),
408
- placeholder: T("sessionDetails.commandPlaceholder", "bun run dev"),
436
+ value: Qe,
437
+ onChange: (e) => $e(e.target.value),
438
+ placeholder: w("sessionDetails.commandPlaceholder", "bun run dev"),
409
439
  className: "w-full px-3 py-2 text-sm bg-bg-sunken border border-border-default rounded-md text-text-primary placeholder:text-text-placeholder focus:outline-none focus:ring-2 focus:ring-action-primary-bg font-mono"
410
440
  })] }),
411
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("label", {
441
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("label", {
412
442
  className: "block text-xs font-medium text-text-secondary mb-1",
413
- children: T("sessionDetails.workingDirLabel", "Working Directory")
414
- }), /* @__PURE__ */ b("input", {
443
+ children: w("sessionDetails.workingDirLabel", "Working Directory")
444
+ }), /* @__PURE__ */ y("input", {
415
445
  "aria-label": "control",
416
446
  type: "text",
417
- value: Xe,
418
- onChange: (e) => A(e.target.value),
419
- placeholder: T("sessionDetails.workingDirPlaceholder", "/home/user/myproject"),
447
+ value: et,
448
+ onChange: (e) => tt(e.target.value),
449
+ placeholder: w("sessionDetails.workingDirPlaceholder", "/home/user/myproject"),
420
450
  className: "w-full px-3 py-2 text-sm bg-bg-sunken border border-border-default rounded-md text-text-primary placeholder:text-text-placeholder focus:outline-none focus:ring-2 focus:ring-action-primary-bg font-mono"
421
451
  })] }),
422
- /* @__PURE__ */ x("div", {
452
+ /* @__PURE__ */ b("div", {
423
453
  className: "flex items-center gap-2",
424
- children: [/* @__PURE__ */ x("button", {
454
+ children: [/* @__PURE__ */ b("button", {
425
455
  type: "button",
426
- onClick: $e,
427
- disabled: j,
456
+ onClick: it,
457
+ disabled: O,
428
458
  className: "flex items-center gap-1.5 px-3 py-1.5 text-sm bg-action-primary-bg text-action-primary-text rounded-md hover:bg-action-primary-bg-hover transition-colors disabled:opacity-50",
429
- children: [j ? /* @__PURE__ */ b(g, { className: "size-3.5 animate-spin" }) : /* @__PURE__ */ b(pe, { className: "size-3.5" }), T("sessionDetails.save", "Save")]
430
- }), /* @__PURE__ */ x("button", {
459
+ children: [O ? /* @__PURE__ */ y(g, { className: "size-3.5 animate-spin" }) : /* @__PURE__ */ y(he, { className: "size-3.5" }), w("sessionDetails.save", "Save")]
460
+ }), /* @__PURE__ */ b("button", {
431
461
  type: "button",
432
- onClick: () => k(!1),
433
- disabled: j,
462
+ onClick: () => D(!1),
463
+ disabled: O,
434
464
  className: "flex items-center gap-1.5 px-3 py-1.5 text-sm bg-bg-sunken text-text-primary rounded-md hover:bg-bg-elevated transition-colors disabled:opacity-50",
435
- children: [/* @__PURE__ */ b(Ae, { className: "size-3.5" }), T("sessionDetails.cancel", "Cancel")]
465
+ children: [/* @__PURE__ */ y(Ne, { className: "size-3.5" }), w("sessionDetails.cancel", "Cancel")]
436
466
  })]
437
467
  })
438
468
  ]
439
- }) : /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ x("div", {
469
+ }) : /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ b("div", {
440
470
  className: "bg-bg-sunken rounded-md p-3 font-mono text-sm text-text-primary overflow-x-auto",
441
471
  children: [
442
472
  "$",
443
473
  " ",
444
- N.command || T("sessionDetails.noCommandSpecified", "No command specified")
474
+ A.command || w("sessionDetails.noCommandSpecified", "No command specified")
445
475
  ]
446
- }), /* @__PURE__ */ x("div", {
476
+ }), /* @__PURE__ */ b("div", {
447
477
  className: "mt-3 flex items-center gap-2 text-sm text-text-secondary",
448
478
  children: [
449
- /* @__PURE__ */ b(ye, { className: "size-4" }),
450
- T("sessionDetails.workingDirectory", "Working Directory"),
479
+ /* @__PURE__ */ y(xe, { className: "size-4" }),
480
+ w("sessionDetails.workingDirectory", "Working Directory"),
451
481
  ":",
452
482
  " ",
453
- /* @__PURE__ */ b("span", {
483
+ /* @__PURE__ */ y("span", {
454
484
  className: "text-text-primary font-mono",
455
- children: N.workingDirectory || /* @__PURE__ */ b("em", {
485
+ children: A.workingDirectory || /* @__PURE__ */ y("em", {
456
486
  className: "not-italic text-text-placeholder",
457
- children: T("sessionDetails.workingDirDefault", "not set — defaults to OS home")
487
+ children: w("sessionDetails.workingDirDefault", "not set — defaults to OS home")
458
488
  })
459
489
  })
460
490
  ]
461
491
  })] })
462
492
  })] }),
463
- /* @__PURE__ */ x(l, { children: [/* @__PURE__ */ b("div", {
493
+ /* @__PURE__ */ b(l, { children: [/* @__PURE__ */ y("div", {
464
494
  className: "p-4 border-b border-border-default",
465
- children: /* @__PURE__ */ x("h3", {
495
+ children: /* @__PURE__ */ b("h3", {
466
496
  className: "font-semibold text-text-primary flex items-center gap-2",
467
- children: [/* @__PURE__ */ b(ke, { className: "size-5" }), T("sessionDetails.envVars", "Environment Variables")]
497
+ children: [/* @__PURE__ */ y(Me, { className: "size-5" }), w("sessionDetails.envVars", "Environment Variables")]
468
498
  })
469
- }), /* @__PURE__ */ b("div", {
499
+ }), /* @__PURE__ */ y("div", {
470
500
  className: "p-4",
471
- children: N.environmentVariables && Object.keys(N.environmentVariables).length > 0 ? /* @__PURE__ */ b("div", {
501
+ children: A.environmentVariables && Object.keys(A.environmentVariables).length > 0 ? /* @__PURE__ */ y("div", {
472
502
  className: "flex flex-wrap gap-2",
473
- children: Object.entries(N.environmentVariables).map(([e, t]) => /* @__PURE__ */ x("span", {
503
+ children: Object.entries(A.environmentVariables).map(([e, t]) => /* @__PURE__ */ b("span", {
474
504
  className: "px-3 py-1 bg-bg-sunken text-text-primary text-sm rounded-full font-mono",
475
505
  children: [
476
506
  e,
@@ -478,265 +508,291 @@ function w() {
478
508
  String(t)
479
509
  ]
480
510
  }, e))
481
- }) : /* @__PURE__ */ b("p", {
511
+ }) : /* @__PURE__ */ y("p", {
482
512
  className: "text-text-secondary",
483
- children: T("sessionDetails.noEnvVars", "No environment variables configured")
513
+ children: w("sessionDetails.noEnvVars", "No environment variables configured")
484
514
  })
485
515
  })] }),
486
- /* @__PURE__ */ x(l, { children: [/* @__PURE__ */ b("div", {
516
+ /* @__PURE__ */ b(l, { children: [/* @__PURE__ */ y("div", {
487
517
  className: "p-4 border-b border-border-default",
488
- children: /* @__PURE__ */ x("h3", {
518
+ children: /* @__PURE__ */ b("h3", {
489
519
  className: "font-semibold text-text-primary flex items-center gap-2",
490
- children: [/* @__PURE__ */ b(v, { className: "size-5" }), T("sessionDetails.lastOutput", "Last Output")]
520
+ children: [/* @__PURE__ */ y(_, { className: "size-5" }), w("sessionDetails.lastOutput", "Last Output")]
491
521
  })
492
- }), /* @__PURE__ */ b("div", {
522
+ }), /* @__PURE__ */ y("div", {
493
523
  className: "p-4",
494
- children: N.lastOutput ? /* @__PURE__ */ b("div", {
524
+ children: A.lastOutput ? /* @__PURE__ */ y("div", {
495
525
  className: "bg-bg-sunken rounded-md p-3 font-mono text-sm text-text-primary overflow-x-auto whitespace-pre-wrap",
496
- children: N.lastOutput
497
- }) : /* @__PURE__ */ b("p", {
526
+ children: A.lastOutput
527
+ }) : /* @__PURE__ */ y("p", {
498
528
  className: "text-text-secondary",
499
- children: T("sessionDetails.noOutput", "No output captured")
529
+ children: w("sessionDetails.noOutput", "No output captured")
500
530
  })
501
531
  })] }),
502
- F && /* @__PURE__ */ b(l, {
503
- onClick: gt,
532
+ M && /* @__PURE__ */ y(l, {
533
+ onClick: jt,
504
534
  hoverable: !0,
505
- children: /* @__PURE__ */ x("div", {
535
+ children: /* @__PURE__ */ b("div", {
506
536
  className: "p-4 flex items-center justify-between",
507
- children: [/* @__PURE__ */ x("div", {
537
+ children: [/* @__PURE__ */ b("div", {
508
538
  className: "flex items-center gap-3",
509
- children: [/* @__PURE__ */ b("div", {
539
+ children: [/* @__PURE__ */ y("div", {
510
540
  className: "size-10 rounded-lg bg-bg-sunken flex items-center justify-center",
511
- children: /* @__PURE__ */ b(je, { className: "size-5 text-text-secondary" })
512
- }), /* @__PURE__ */ x("div", { children: [
513
- /* @__PURE__ */ b("p", {
541
+ children: /* @__PURE__ */ y(Pe, { className: "size-5 text-text-secondary" })
542
+ }), /* @__PURE__ */ b("div", { children: [
543
+ /* @__PURE__ */ y("p", {
514
544
  className: "text-sm text-text-secondary",
515
- children: T("sessionDetails.relatedVibe", "Related Vibe")
545
+ children: w("sessionDetails.relatedVibe", "Related Vibe")
516
546
  }),
517
- /* @__PURE__ */ b("p", {
547
+ /* @__PURE__ */ y("p", {
518
548
  className: "font-medium text-text-primary",
519
- children: F.name
549
+ children: M.name
520
550
  }),
521
- F.path && /* @__PURE__ */ b("p", {
551
+ M.path && /* @__PURE__ */ y("p", {
522
552
  className: "text-sm text-text-secondary truncate max-w-md",
523
- children: F.path
553
+ children: M.path
524
554
  })
525
555
  ] })]
526
- }), /* @__PURE__ */ b(c, { status: F.status })]
556
+ }), /* @__PURE__ */ y(c, { status: M.status })]
527
557
  })
528
558
  }),
529
- P && /* @__PURE__ */ b(l, {
530
- onClick: ht,
559
+ j && /* @__PURE__ */ y(l, {
560
+ onClick: At,
531
561
  hoverable: !0,
532
- children: /* @__PURE__ */ x("div", {
562
+ children: /* @__PURE__ */ b("div", {
533
563
  className: "p-4 flex items-center justify-between",
534
- children: [/* @__PURE__ */ x("div", {
564
+ children: [/* @__PURE__ */ b("div", {
535
565
  className: "flex items-center gap-3",
536
- children: [/* @__PURE__ */ b("div", {
566
+ children: [/* @__PURE__ */ y("div", {
537
567
  className: "size-10 rounded-lg bg-bg-sunken flex items-center justify-center",
538
- children: /* @__PURE__ */ b(Ee, { className: "size-5 text-text-secondary" })
539
- }), /* @__PURE__ */ x("div", { children: [
540
- /* @__PURE__ */ b("p", {
568
+ children: /* @__PURE__ */ y(ke, { className: "size-5 text-text-secondary" })
569
+ }), /* @__PURE__ */ b("div", { children: [
570
+ /* @__PURE__ */ y("p", {
541
571
  className: "text-sm text-text-secondary",
542
- children: T("sessionDetails.runningOnAgent", "Running on Agent")
572
+ children: w("sessionDetails.runningOnAgent", "Running on Agent")
543
573
  }),
544
- /* @__PURE__ */ b("p", {
574
+ /* @__PURE__ */ y("p", {
545
575
  className: "font-medium text-text-primary",
546
- children: P.name
576
+ children: j.name
547
577
  }),
548
- /* @__PURE__ */ b("p", {
578
+ /* @__PURE__ */ y("p", {
549
579
  className: "text-sm text-text-secondary",
550
- children: P.hostname
580
+ children: j.hostname
551
581
  })
552
582
  ] })]
553
- }), /* @__PURE__ */ b(c, { status: P.isActive ? "ACTIVE" : "OFFLINE" })]
583
+ }), /* @__PURE__ */ y(c, { status: j.isActive ? "ACTIVE" : "OFFLINE" })]
554
584
  })
555
585
  }),
556
- /* @__PURE__ */ x(l, { children: [/* @__PURE__ */ b("div", {
586
+ /* @__PURE__ */ b(l, { children: [/* @__PURE__ */ y("div", {
557
587
  className: "p-4 border-b border-border-default",
558
- children: /* @__PURE__ */ x("h3", {
588
+ children: /* @__PURE__ */ b("h3", {
559
589
  className: "font-semibold text-text-primary flex items-center gap-2",
560
- children: [/* @__PURE__ */ b(ge, { className: "size-5" }), T("sessionDetails.timeline", "Timeline")]
590
+ children: [/* @__PURE__ */ y(ve, { className: "size-5" }), w("sessionDetails.timeline", "Timeline")]
561
591
  })
562
- }), /* @__PURE__ */ x("div", {
592
+ }), /* @__PURE__ */ b("div", {
563
593
  className: "p-4",
564
- children: [/* @__PURE__ */ x("div", {
594
+ children: [/* @__PURE__ */ b("div", {
565
595
  className: "grid grid-cols-1 sm:grid-cols-3 gap-4 text-sm",
566
596
  children: [
567
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
597
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
568
598
  className: "text-text-secondary",
569
- children: T("sessionDetails.autoStart", "Auto Start")
570
- }), /* @__PURE__ */ b("p", {
599
+ children: w("sessionDetails.autoStart", "Auto Start")
600
+ }), /* @__PURE__ */ y("p", {
571
601
  className: "font-medium text-text-primary",
572
- children: N.autoStart ? T("sessionDetails.yes", "Yes") : T("sessionDetails.no", "No")
602
+ children: A.autoStart ? w("sessionDetails.yes", "Yes") : w("sessionDetails.no", "No")
573
603
  })] }),
574
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
604
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
575
605
  className: "text-text-secondary",
576
- children: T("sessionDetails.created", "Created")
577
- }), /* @__PURE__ */ b("p", {
606
+ children: w("sessionDetails.created", "Created")
607
+ }), /* @__PURE__ */ y("p", {
578
608
  className: "font-medium text-text-primary",
579
- children: _t(N.createdAt)
609
+ children: Mt(A.createdAt)
580
610
  })] }),
581
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
611
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
582
612
  className: "text-text-secondary",
583
- children: T("sessionDetails.updated", "Updated")
584
- }), /* @__PURE__ */ b("p", {
613
+ children: w("sessionDetails.updated", "Updated")
614
+ }), /* @__PURE__ */ y("p", {
585
615
  className: "font-medium text-text-primary",
586
- children: _t(N.updatedAt)
616
+ children: Mt(A.updatedAt)
587
617
  })] })
588
618
  ]
589
- }), N.exitCode !== null && N.exitCode !== void 0 && /* @__PURE__ */ x("div", {
619
+ }), A.exitCode !== null && A.exitCode !== void 0 && /* @__PURE__ */ b("div", {
590
620
  className: "mt-4 pt-4 border-t border-border-default",
591
- children: [/* @__PURE__ */ b("p", {
621
+ children: [/* @__PURE__ */ y("p", {
592
622
  className: "text-sm text-text-secondary",
593
- children: T("sessionDetails.exitCode", "Exit Code")
594
- }), /* @__PURE__ */ b("p", {
595
- className: `font-medium ${N.exitCode === 0 ? "text-status-success-text" : "text-status-error-text"}`,
596
- children: N.exitCode
623
+ children: w("sessionDetails.exitCode", "Exit Code")
624
+ }), /* @__PURE__ */ y("p", {
625
+ className: `font-medium ${A.exitCode === 0 ? "text-status-success-text" : "text-status-error-text"}`,
626
+ children: A.exitCode
597
627
  })]
598
628
  })]
599
629
  })] }),
600
- /* @__PURE__ */ x(l, { children: [/* @__PURE__ */ b("div", {
630
+ /* @__PURE__ */ b(l, { children: [/* @__PURE__ */ y("div", {
601
631
  className: "p-4 border-b border-border-default",
602
- children: /* @__PURE__ */ x("h3", {
632
+ children: /* @__PURE__ */ b("h3", {
603
633
  className: "font-semibold text-text-primary flex items-center gap-2",
604
- children: [/* @__PURE__ */ b(Oe, { className: "size-5" }), T("sessionDetails.tags", "Tags")]
634
+ children: [/* @__PURE__ */ y(je, { className: "size-5" }), w("sessionDetails.tags", "Tags")]
605
635
  })
606
- }), /* @__PURE__ */ b("div", {
636
+ }), /* @__PURE__ */ y("div", {
607
637
  className: "p-4",
608
- children: /* @__PURE__ */ b(ce, {
638
+ children: /* @__PURE__ */ y(ue, {
609
639
  entityType: "VIBECONTROLS_SESSION",
610
- entityId: N.id
640
+ entityId: A.id
611
641
  })
612
642
  })] })
613
643
  ]
614
644
  }),
615
- I && /* @__PURE__ */ x("div", {
616
- ref: st,
645
+ N && /* @__PURE__ */ b("div", {
646
+ ref: pt,
617
647
  className: "border-t border-border-default bg-bg-surface shrink-0",
618
648
  children: [
619
- /* @__PURE__ */ x("div", {
649
+ /* @__PURE__ */ b("div", {
620
650
  className: "flex items-center bg-bg-sunken border-b border-border-default",
621
651
  children: [
622
- /* @__PURE__ */ x("button", {
652
+ /* @__PURE__ */ b("button", {
623
653
  type: "button",
624
- onClick: () => L(!1),
654
+ onClick: () => P(!1),
625
655
  className: "flex items-center gap-1.5 px-3 py-2 text-text-secondary hover:text-text-primary transition-colors text-xs font-medium uppercase tracking-wide",
626
- title: T("sessionDetails.collapseTerminal", "Collapse terminal"),
656
+ title: w("sessionDetails.collapseTerminal", "Collapse terminal"),
627
657
  children: [
628
- /* @__PURE__ */ b(v, { className: "size-3.5" }),
629
- T("sessionDetails.terminal", "Terminal"),
630
- /* @__PURE__ */ b(me, { className: "size-3" })
658
+ /* @__PURE__ */ y(_, { className: "size-3.5" }),
659
+ w("sessionDetails.terminal", "Terminal"),
660
+ /* @__PURE__ */ y(ge, { className: "size-3" })
631
661
  ]
632
662
  }),
633
- /* @__PURE__ */ x("div", {
663
+ /* @__PURE__ */ b("div", {
634
664
  className: "flex items-center px-3 py-1.5 text-xs bg-bg-surface text-text-primary border-r border-border-subtle border-b-2 border-b-action-primary-bg",
635
- children: [/* @__PURE__ */ b(v, { className: "size-3 mr-1.5" }), N.name]
665
+ children: [/* @__PURE__ */ y(_, { className: "size-3 mr-1.5" }), A.name]
636
666
  }),
637
- /* @__PURE__ */ b("div", { className: "flex-1" }),
638
- /* @__PURE__ */ x("div", {
667
+ /* @__PURE__ */ y("div", { className: "flex-1" }),
668
+ /* @__PURE__ */ b("div", {
639
669
  className: "flex items-center gap-1 px-2",
640
- children: [J && /* @__PURE__ */ b("button", {
670
+ children: [X && /* @__PURE__ */ y("button", {
641
671
  type: "button",
642
- onClick: mt,
672
+ onClick: kt,
643
673
  className: "p-1 text-text-secondary hover:text-text-primary transition-colors",
644
- title: T("sessionDetails.openInNewTabShort", "Open in new tab"),
645
- children: /* @__PURE__ */ b(ve, { className: "size-3.5" })
646
- }), /* @__PURE__ */ b("button", {
674
+ title: w("sessionDetails.openInNewTabShort", "Open in new tab"),
675
+ children: /* @__PURE__ */ y(be, { className: "size-3.5" })
676
+ }), /* @__PURE__ */ y("button", {
647
677
  type: "button",
648
- onClick: () => rt((e) => !e),
678
+ onClick: () => ct((e) => !e),
649
679
  className: "p-1 text-text-secondary hover:text-text-primary transition-colors",
650
- title: R ? T("sessionDetails.restoreSize", "Restore size") : T("sessionDetails.maximize", "Maximize"),
651
- children: b(R ? Se : xe, { className: "size-3.5" })
680
+ title: F ? w("sessionDetails.restoreSize", "Restore size") : w("sessionDetails.maximize", "Maximize"),
681
+ children: y(F ? we : Ce, { className: "size-3.5" })
652
682
  })]
653
683
  })
654
684
  ]
655
685
  }),
656
- W && /* @__PURE__ */ x("div", {
686
+ B && /* @__PURE__ */ b("div", {
657
687
  role: "status",
658
688
  className: "flex items-start justify-between gap-3 px-3 py-2 bg-status-warning-bg/30 text-status-warning-text border-b border-status-warning-bg/50 text-xs",
659
- children: [/* @__PURE__ */ x("div", {
689
+ children: [/* @__PURE__ */ b("div", {
660
690
  className: "flex items-center gap-2 flex-1",
661
- children: [/* @__PURE__ */ b(m, { className: "size-3.5 shrink-0" }), /* @__PURE__ */ b("span", { children: T("sessionDetails.commandExited", "Command exited{{code}} — click Run Command to run it again.", { code: W.exitCode === null ? "" : ` (exit ${W.exitCode})` }) })]
662
- }), /* @__PURE__ */ b("button", {
691
+ children: [/* @__PURE__ */ y(m, { className: "size-3.5 shrink-0" }), /* @__PURE__ */ y("span", { children: w("sessionDetails.commandExited", "Command exited{{code}} — click Run Command to run it again.", { code: B.exitCode === null ? "" : ` (exit ${B.exitCode})` }) })]
692
+ }), /* @__PURE__ */ y("button", {
663
693
  type: "button",
664
- onClick: () => G(null),
694
+ onClick: () => V(null),
665
695
  className: "text-text-secondary hover:text-text-primary",
666
- title: T("common.dismiss", "Dismiss"),
667
- children: /* @__PURE__ */ b(Ae, { className: "size-3.5" })
696
+ title: w("common.dismiss", "Dismiss"),
697
+ children: /* @__PURE__ */ y(Ne, { className: "size-3.5" })
668
698
  })]
669
699
  }),
670
- /* @__PURE__ */ b("div", {
671
- className: `${yt} bg-bg-inverse text-text-inverse`,
672
- children: z ? /* @__PURE__ */ b("div", {
700
+ /* @__PURE__ */ y("div", {
701
+ className: `${Pt} bg-bg-inverse text-text-inverse`,
702
+ children: I ? /* @__PURE__ */ y("div", {
673
703
  className: "flex items-center justify-center h-full",
674
- children: /* @__PURE__ */ x("div", {
704
+ children: /* @__PURE__ */ b("div", {
675
705
  className: "text-center",
676
706
  children: [
677
- /* @__PURE__ */ b(g, { className: "size-8 text-text-secondary animate-spin mx-auto mb-3" }),
678
- /* @__PURE__ */ x("p", {
707
+ /* @__PURE__ */ y(g, { className: "size-8 text-text-secondary animate-spin mx-auto mb-3" }),
708
+ /* @__PURE__ */ b("p", {
679
709
  className: "text-text-secondary text-sm",
680
710
  children: [
681
- T("sessionDetails.startingTerminal", "Starting terminal for"),
711
+ w("sessionDetails.startingTerminal", "Starting terminal for"),
682
712
  " ",
683
- N.name,
713
+ A.name,
684
714
  "..."
685
715
  ]
686
716
  }),
687
- /* @__PURE__ */ b("p", {
717
+ /* @__PURE__ */ y("p", {
688
718
  className: "text-text-tertiary text-xs mt-1",
689
- children: T("sessionDetails.settingUpTunnel", "Setting up tmux + ttyd + cloudflared tunnel")
719
+ children: w("sessionDetails.settingUpTunnel", "Setting up tmux + ttyd + cloudflared tunnel")
690
720
  })
691
721
  ]
692
722
  })
693
- }) : B ? /* @__PURE__ */ b("div", {
723
+ }) : ut ? /* @__PURE__ */ y("div", {
694
724
  className: "flex items-center justify-center h-full",
695
- children: /* @__PURE__ */ x("div", {
725
+ children: /* @__PURE__ */ b("div", {
696
726
  className: "text-center max-w-md",
697
727
  children: [
698
- /* @__PURE__ */ b(m, { className: "size-8 text-status-error-text mx-auto mb-3" }),
699
- /* @__PURE__ */ b("p", {
728
+ /* @__PURE__ */ y(m, { className: "size-8 text-status-error-text mx-auto mb-3" }),
729
+ /* @__PURE__ */ y("p", {
700
730
  className: "text-status-error-text text-sm font-medium",
701
- children: T("sessionDetails.failedStartTerminal", "Failed to start terminal")
731
+ children: w("sessionDetails.failedStartTerminal", "Failed to start terminal")
702
732
  }),
703
- /* @__PURE__ */ b("p", {
733
+ /* @__PURE__ */ y("p", {
704
734
  className: "text-text-secondary text-xs mt-2",
705
- children: B
735
+ children: ut
706
736
  }),
707
- /* @__PURE__ */ b("button", {
737
+ /* @__PURE__ */ y("button", {
708
738
  type: "button",
709
- onClick: Q,
739
+ onClick: Tt,
710
740
  className: "mt-4 px-4 py-2 bg-bg-muted text-text-primary text-sm rounded-md hover:bg-bg-sunken transition-colors",
711
- children: T("sessionDetails.retry", "Retry")
741
+ children: w("sessionDetails.retry", "Retry")
712
742
  })
713
743
  ]
714
744
  })
715
- }) : J ? /* @__PURE__ */ b("iframe", {
716
- src: J,
717
- title: `Terminal - ${N.name}`,
745
+ }) : X ? /* @__PURE__ */ y("iframe", {
746
+ src: X,
747
+ title: `Terminal - ${A.name}`,
718
748
  className: "w-full h-full border-0",
719
- allow: "clipboard-read; clipboard-write"
720
- }) : /* @__PURE__ */ b("div", {
749
+ allow: "clipboard-read; clipboard-write",
750
+ onError: xt
751
+ }) : W && (_t || K) ? /* @__PURE__ */ y("div", {
752
+ className: "flex items-center justify-center h-full",
753
+ children: /* @__PURE__ */ y("div", {
754
+ className: "text-center",
755
+ children: K ? /* @__PURE__ */ b(v, { children: [
756
+ /* @__PURE__ */ y(m, { className: "size-8 text-status-error mx-auto mb-3" }),
757
+ /* @__PURE__ */ y("p", {
758
+ className: "text-text-secondary text-sm",
759
+ children: w("sessionDetails.terminalCapabilityFailed", "Could not prepare terminal access")
760
+ }),
761
+ /* @__PURE__ */ y("p", {
762
+ className: "text-text-tertiary text-xs mt-1",
763
+ children: K
764
+ }),
765
+ /* @__PURE__ */ y("button", {
766
+ type: "button",
767
+ onClick: xt,
768
+ className: "mt-4 px-4 py-2 bg-bg-muted text-text-primary text-sm rounded-md hover:bg-bg-sunken transition-colors",
769
+ children: w("sessionDetails.retry", "Retry")
770
+ })
771
+ ] }) : /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y(g, { className: "size-6 text-text-tertiary mx-auto mb-3 animate-spin" }), /* @__PURE__ */ y("p", {
772
+ className: "text-text-secondary text-sm",
773
+ children: w("sessionDetails.preparingTerminal", "Preparing terminal…")
774
+ })] })
775
+ })
776
+ }) : /* @__PURE__ */ y("div", {
721
777
  className: "flex items-center justify-center h-full",
722
- children: /* @__PURE__ */ x("div", {
778
+ children: /* @__PURE__ */ b("div", {
723
779
  className: "text-center",
724
780
  children: [
725
- /* @__PURE__ */ b(v, { className: "size-8 text-text-tertiary mx-auto mb-3" }),
726
- /* @__PURE__ */ b("p", {
781
+ /* @__PURE__ */ y(_, { className: "size-8 text-text-tertiary mx-auto mb-3" }),
782
+ /* @__PURE__ */ y("p", {
727
783
  className: "text-text-secondary text-sm",
728
- children: T("sessionDetails.noTerminalRunning", "No terminal running")
784
+ children: w("sessionDetails.noTerminalRunning", "No terminal running")
729
785
  }),
730
- /* @__PURE__ */ b("p", {
786
+ /* @__PURE__ */ y("p", {
731
787
  className: "text-text-tertiary text-xs mt-1",
732
- children: P ? T("sessionDetails.clickOpenTerminalHint", "Click \"Open Terminal\" to create a tmux session with a browser terminal.") : T("sessionDetails.noAgentForSession", "No agent is assigned to this session.")
788
+ children: j ? w("sessionDetails.clickOpenTerminalHint", "Click \"Open Terminal\" to create a tmux session with a browser terminal.") : w("sessionDetails.noAgentForSession", "No agent is assigned to this session.")
733
789
  }),
734
- P && /* @__PURE__ */ b("button", {
790
+ j && /* @__PURE__ */ y("button", {
735
791
  type: "button",
736
- onClick: Q,
737
- disabled: z,
792
+ onClick: Tt,
793
+ disabled: I,
738
794
  className: "mt-4 px-4 py-2 bg-bg-muted text-text-primary text-sm rounded-md hover:bg-bg-sunken transition-colors disabled:opacity-50",
739
- children: z ? T("sessionDetails.opening", "Opening...") : T("sessionDetails.openTerminal", "Open Terminal")
795
+ children: I ? w("sessionDetails.opening", "Opening...") : w("sessionDetails.openTerminal", "Open Terminal")
740
796
  })
741
797
  ]
742
798
  })
@@ -744,27 +800,27 @@ function w() {
744
800
  })
745
801
  ]
746
802
  }),
747
- !I && (J || B) && /* @__PURE__ */ b("div", {
803
+ !N && (X || ut) && /* @__PURE__ */ y("div", {
748
804
  className: "border-t border-border-default bg-bg-sunken shrink-0",
749
- children: /* @__PURE__ */ x("button", {
805
+ children: /* @__PURE__ */ b("button", {
750
806
  type: "button",
751
- onClick: () => L(!0),
807
+ onClick: () => P(!0),
752
808
  className: "flex items-center gap-1.5 px-3 py-1.5 text-text-secondary hover:text-text-primary transition-colors text-xs font-medium uppercase tracking-wide w-full",
753
- title: T("sessionDetails.expandTerminal", "Expand terminal"),
809
+ title: w("sessionDetails.expandTerminal", "Expand terminal"),
754
810
  children: [
755
- /* @__PURE__ */ b(v, { className: "size-3.5" }),
756
- T("sessionDetails.terminal", "Terminal"),
811
+ /* @__PURE__ */ y(_, { className: "size-3.5" }),
812
+ w("sessionDetails.terminal", "Terminal"),
757
813
  " - ",
758
- N.name,
759
- /* @__PURE__ */ b(he, { className: "size-3 ml-1" })
814
+ A.name,
815
+ /* @__PURE__ */ y(_e, { className: "size-3 ml-1" })
760
816
  ]
761
817
  })
762
818
  }),
763
- /* @__PURE__ */ b(e, {
764
- isOpen: at,
765
- onClose: () => H(!1),
819
+ /* @__PURE__ */ y(e, {
820
+ isOpen: dt,
821
+ onClose: () => R(!1),
766
822
  onConfirm: () => {
767
- H(!1), D("/billing");
823
+ R(!1), E("/billing");
768
824
  },
769
825
  title: t("session").title,
770
826
  message: t("session").message,
@@ -772,22 +828,22 @@ function w() {
772
828
  cancelLabel: "Dismiss",
773
829
  variant: "warning"
774
830
  }),
775
- /* @__PURE__ */ b(e, {
776
- isOpen: ot,
777
- onClose: () => U(!1),
831
+ /* @__PURE__ */ y(e, {
832
+ isOpen: ft,
833
+ onClose: () => z(!1),
778
834
  onConfirm: () => {
779
- U(!1), ft();
835
+ z(!1), Et();
780
836
  },
781
- title: T("sessionDetails.restartTerminalConfirmTitle", "Restart terminal?"),
782
- message: T("sessionDetails.restartTerminalConfirmBody", "This kills the current tmux session and re-runs the command from scratch. Any in-progress output will be lost."),
783
- confirmLabel: T("sessionDetails.restartTerminalConfirmLabel", "Restart terminal"),
784
- cancelLabel: T("common.cancel", "Cancel"),
837
+ title: w("sessionDetails.restartTerminalConfirmTitle", "Restart terminal?"),
838
+ message: w("sessionDetails.restartTerminalConfirmBody", "This kills the current tmux session and re-runs the command from scratch. Any in-progress output will be lost."),
839
+ confirmLabel: w("sessionDetails.restartTerminalConfirmLabel", "Restart terminal"),
840
+ cancelLabel: w("common.cancel", "Cancel"),
785
841
  variant: "warning"
786
842
  })
787
843
  ]
788
844
  });
789
845
  }
790
846
  //#endregion
791
- export { w as SessionDetailsPage };
847
+ export { C as SessionDetailsPage };
792
848
 
793
849
  //# sourceMappingURL=SessionDetailsPage.js.map