@burdenoff/microfe-vibecontrols 2026.528.7 → 2026.528.9

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.
Files changed (37) hide show
  1. package/dist/VibeControlsRoot.js +1 -0
  2. package/dist/VibeControlsRoot.js.map +1 -1
  3. package/dist/components/agent-manager/AgentManagerInputArea.js +70 -64
  4. package/dist/components/agent-manager/AgentManagerInputArea.js.map +1 -1
  5. package/dist/components/audit/AuditLogFilters.js +71 -47
  6. package/dist/components/audit/AuditLogFilters.js.map +1 -1
  7. package/dist/components/shared/AgentSetupBanner.js +50 -45
  8. package/dist/components/shared/AgentSetupBanner.js.map +1 -1
  9. package/dist/components/shared/LinkToVibePanel.js +97 -0
  10. package/dist/components/shared/LinkToVibePanel.js.map +1 -0
  11. package/dist/components/shared/index.js +1 -0
  12. package/dist/components/vibe/VibeLinkedEntitiesPanel.js +60 -0
  13. package/dist/components/vibe/VibeLinkedEntitiesPanel.js.map +1 -0
  14. package/dist/components/vibedeck/VibeDeckButtonTile.js +25 -23
  15. package/dist/components/vibedeck/VibeDeckButtonTile.js.map +1 -1
  16. package/dist/components/vibedeck/VibeDeckGrid.js +2 -2
  17. package/dist/components/vibedeck/VibeDeckGrid.js.map +1 -1
  18. package/dist/microfe-vibecontrols.css +1 -1
  19. package/dist/pages/AgentDetailsPage.js +2 -2
  20. package/dist/pages/AgentDetailsPage.js.map +1 -1
  21. package/dist/pages/AnalyticsPage.js +255 -204
  22. package/dist/pages/AnalyticsPage.js.map +1 -1
  23. package/dist/pages/OverviewPage.js +1 -11
  24. package/dist/pages/OverviewPage.js.map +1 -1
  25. package/dist/pages/SessionsPage.js +825 -629
  26. package/dist/pages/SessionsPage.js.map +1 -1
  27. package/dist/pages/VibeAuditPage.js +184 -153
  28. package/dist/pages/VibeAuditPage.js.map +1 -1
  29. package/dist/pages/VibeDeckPage.js +416 -379
  30. package/dist/pages/VibeDeckPage.js.map +1 -1
  31. package/dist/pages/VibeDetailsPage.js +621 -557
  32. package/dist/pages/VibeDetailsPage.js.map +1 -1
  33. package/dist/pages/tunnels/TunnelsTab.js +115 -90
  34. package/dist/pages/tunnels/TunnelsTab.js.map +1 -1
  35. package/dist/services/schedulerApi.js +37 -15
  36. package/dist/services/schedulerApi.js.map +1 -1
  37. package/package.json +1 -1
@@ -8,14 +8,14 @@ import { EmptyState as h } from "../components/shared/EmptyState.js";
8
8
  import { StatusBadge as g } from "../components/shared/StatusBadge.js";
9
9
  import { Card as _ } from "../components/shared/Card.js";
10
10
  import { SESSION_PROVIDER_PACKAGES as te } from "../constants/pluginCatalog.js";
11
- import { PluginGate as v } from "../components/shared/PluginGate.js";
12
- import { useActiveAgentProfile as ne } from "../hooks/useActiveAgentProfile.js";
11
+ import { PluginGate as ne } from "../components/shared/PluginGate.js";
12
+ import { useActiveAgentProfile as re } from "../hooks/useActiveAgentProfile.js";
13
13
  import "../components/shared/index.js";
14
- import { VIBE_PERMISSIONS as y } from "../constants/permissions.js";
15
- import { PageSkeleton as re } from "../components/shared/PageSkeleton.js";
16
- import { VibeOpenInEditorMenu as ie } from "../components/agents/VibeOpenInEditorMenu.js";
14
+ import { VIBE_PERMISSIONS as v } from "../constants/permissions.js";
15
+ import { PageSkeleton as ie } from "../components/shared/PageSkeleton.js";
16
+ import { VibeOpenInEditorMenu as ae } from "../components/agents/VibeOpenInEditorMenu.js";
17
17
  import "../components/agents/index.js";
18
- import { NotesTabPanel as ae } from "../components/notes/NotesTabPanel.js";
18
+ import { NotesTabPanel as y } from "../components/notes/NotesTabPanel.js";
19
19
  import "../components/notes/index.js";
20
20
  import { useQueryBackedTab as b } from "../hooks/useQueryBackedTab.js";
21
21
  import { appendIframeTokenParam as oe, mintScopedIframeToken as se, scheduleScopedIframeTokenRefresh as x } from "../services/iframeToken.js";
@@ -32,18 +32,19 @@ import { DEFAULT_VIBE_FEATURE_CATALOG as he, isVibeFeatureEnabled as ge } from "
32
32
  import { SecurityTabPanel as _e } from "../components/security/SecurityTabPanel.js";
33
33
  import "../components/security/index.js";
34
34
  import { VibeLlmContextTabPanel as ve } from "../components/vibe/VibeLlmContextTabPanel.js";
35
- import { useCallback as ye, useEffect as S, useMemo as C, useRef as w, useState as T } from "react";
36
- import { useI18n as be } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
37
- import { Archive as xe, ArrowLeft as Se, BarChart3 as Ce, BookOpen as we, Bot as Te, Check as E, Clock as Ee, ExternalLink as De, FileText as Oe, Folder as ke, GitBranch as Ae, GitMerge as je, Globe as Me, Info as Ne, Library as D, Link2 as Pe, Loader2 as Fe, MoreVertical as Ie, Network as Le, Pause as Re, Play as ze, Plus as O, RefreshCw as Be, Server as Ve, Settings as He, Shield as Ue, Tag as We, Terminal as k, Variable as Ge, X as Ke, Zap as A } from "lucide-react";
38
- import { useParams as qe } from "react-router-dom";
39
- import { AnimatePresence as Je, motion as j } from "framer-motion";
40
- import { Fragment as Ye, jsx as M, jsxs as N } from "react/jsx-runtime";
41
- import { useFeatureFlagDetails as P } from "@burdenoff/fe-libs/shared/feature-flags";
42
- import { MotionItem as F, MotionList as Xe, MotionPage as Ze } from "@burdenoff/fe-libs/shared/motion";
43
- import { PermissionButton as Qe } from "@burdenoff/fe-libs/shared/components";
44
- import { usePluginContributions as $e } from "@burdenoff/fe-libs/shared/plugins";
35
+ import { VibeLinkedEntitiesPanel as ye } from "../components/vibe/VibeLinkedEntitiesPanel.js";
36
+ import { useCallback as be, useEffect as S, useMemo as C, useRef as w, useState as T } from "react";
37
+ import { useI18n as xe } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
38
+ import { Archive as Se, ArrowLeft as E, BarChart3 as Ce, BookOpen as we, Bot as Te, Check as D, Clock as Ee, ExternalLink as De, FileText as Oe, Folder as ke, GitBranch as Ae, GitMerge as je, Globe as Me, Info as Ne, Library as Pe, Link2 as Fe, Loader2 as Ie, MoreVertical as Le, Network as O, Pause as Re, Play as ze, Plus as Be, RefreshCw as Ve, Server as He, Settings as Ue, Shield as We, Tag as Ge, Terminal as k, Variable as Ke, X as qe, Zap as A } from "lucide-react";
39
+ import { useParams as Je } from "react-router-dom";
40
+ import { AnimatePresence as Ye, motion as j } from "framer-motion";
41
+ import { Fragment as M, jsx as N, jsxs as P } from "react/jsx-runtime";
42
+ import { useFeatureFlagDetails as F } from "@burdenoff/fe-libs/shared/feature-flags";
43
+ import { MotionItem as I, MotionList as Xe, MotionPage as L } from "@burdenoff/fe-libs/shared/motion";
44
+ import { PermissionButton as Ze } from "@burdenoff/fe-libs/shared/components";
45
+ import { usePluginContributions as Qe } from "@burdenoff/fe-libs/shared/plugins";
45
46
  //#region src/pages/VibeDetailsPage.tsx
46
- var et = [
47
+ var $e = [
47
48
  "overview",
48
49
  "config",
49
50
  "git",
@@ -56,162 +57,168 @@ var et = [
56
57
  "gitops",
57
58
  "security",
58
59
  "related",
59
- "llmContext"
60
- ], tt = new Set(["overview", "config"]), nt = new Set(["apiPlayground"]), rt = new Set([
60
+ "llmContext",
61
+ "vibedecks",
62
+ "actions",
63
+ "scheduledJobs",
64
+ "sandboxes",
65
+ "aiPrompts",
66
+ "tunnels"
67
+ ], et = new Set(["overview", "config"]), tt = new Set(["apiPlayground"]), nt = new Set([
61
68
  "sessions",
62
69
  "gitops",
63
70
  "graphqlPlayground",
64
71
  "git",
65
72
  "security"
66
73
  ]);
67
- function it() {
68
- let { t: e } = be(), { id: r } = qe(), { basePath: s } = u(), oe = s || "", x = ee(), E = ye((t, n) => {
74
+ function rt() {
75
+ let { t: e } = xe(), { id: r } = Je(), { basePath: s } = u(), oe = s || "", x = ee(), D = be((t, n) => {
69
76
  let r = e(t);
70
77
  return r === t ? n : r;
71
- }, [e]), [De] = l({ refetchQueries: ["GetVibe"] }), [Me] = t({ refetchQueries: ["GetVibe"] }), [Fe] = n({ refetchQueries: ["GetVibe", "ListSessions"] }), { data: Ke } = i({
78
+ }, [e]), [De] = l({ refetchQueries: ["GetVibe"] }), [Me] = t({ refetchQueries: ["GetVibe"] }), [Ie] = n({ refetchQueries: ["GetVibe", "ListSessions"] }), { data: qe } = i({
72
79
  fetchPolicy: "cache-first",
73
80
  errorPolicy: "ignore"
74
- }), it = C(() => {
81
+ }), rt = C(() => {
75
82
  let e = new Map(he.map((e) => [e.id, e]));
76
- for (let t of Ke?.vibeFeatureCatalog ?? []) e.set(t.id, t);
83
+ for (let t of qe?.vibeFeatureCatalog ?? []) e.set(t.id, t);
77
84
  return Array.from(e.values());
78
- }, [Ke?.vibeFeatureCatalog]), st = C(() => it.filter((e) => !nt.has(e.id)), [it]), [ct, { loading: lt }] = c({ refetchQueries: ["GetVibe"] }), [ut, dt] = T(!1), [ft, I] = T(null), [pt, mt] = T(!1), [ht, gt] = T(null), _t = w(null), vt = w(null), yt = w(null), bt = w(null), { data: xt, loading: L, error: St, refetch: Ct } = o({
85
+ }, [qe?.vibeFeatureCatalog]), ot = C(() => rt.filter((e) => !tt.has(e.id)), [rt]), [st, { loading: ct }] = c({ refetchQueries: ["GetVibe"] }), [lt, ut] = T(!1), [dt, R] = T(null), [ft, pt] = T(!1), [mt, ht] = T(null), gt = w(null), _t = w(null), vt = w(null), yt = w(null), { data: bt, loading: z, error: xt, refetch: St } = o({
79
86
  variables: { id: r || "" },
80
87
  skip: !r,
81
88
  fetchPolicy: "cache-and-network"
82
- }), R = xt?.vibe, { data: wt } = a({
89
+ }), B = bt?.vibe, { data: Ct } = a({
83
90
  variables: { id: r || "" },
84
91
  skip: !r,
85
92
  fetchPolicy: "cache-first",
86
93
  errorPolicy: "ignore"
87
- }), Tt = R, z = wt?.vibe ?? Tt, B = ye((e) => ge(z ?? null, e, st), [z, st]), Et = P("vibes.tabs.git"), Dt = P("vibes.tabs.scorecard"), Ot = P("vibes.tabs.graphql-playground"), kt = P("vibes.tabs.git-iframe"), At = P("vibes.tabs.graphiql-iframe"), jt = P("vibes.tabs.gitops-iframe"), Mt = ye((e) => {
94
+ }), wt = B, V = Ct?.vibe ?? wt, H = be((e) => ge(V ?? null, e, ot), [V, ot]), Tt = F("vibes.tabs.git"), Et = F("vibes.tabs.scorecard"), Dt = F("vibes.tabs.graphql-playground"), Ot = F("vibes.tabs.git-iframe"), kt = F("vibes.tabs.graphiql-iframe"), At = F("vibes.tabs.gitops-iframe"), jt = be((e) => {
88
95
  switch (e) {
89
- case "git": return Et ? !!Et.value : !0;
90
- case "scorecard": return Dt ? !!Dt.value : !0;
91
- case "graphqlPlayground": return Ot ? !!Ot.value : !0;
96
+ case "git": return Tt ? !!Tt.value : !0;
97
+ case "scorecard": return Et ? !!Et.value : !0;
98
+ case "graphqlPlayground": return Dt ? !!Dt.value : !0;
92
99
  default: return !0;
93
100
  }
94
101
  }, [
102
+ Tt,
95
103
  Et,
96
- Dt,
97
- Ot
98
- ]), V = R?.agents ?? [], H = R?.sessions || [], U = R?.children || [], Nt = R?.parent || null, Pt = d((e) => r ? e.defaultAgentForVibe?.[r] : void 0), W = (Pt ? V.find((e) => e.id === Pt) ?? null : null) ?? (V.length === 1 ? V[0] : V.find((e) => !!e.tunnelUrl) ?? V[0] ?? null), G = W, K = W?.tunnelUrl ?? null, q = W?.agentApiKey ?? null, { active: J } = ne(W?.id ?? null), Y = P("vibes.tabs.iframe-host")?.value === !0, Ft = C(() => {
99
- if (!Y || !W?.tunnelUrl) return [];
100
- let e = W.id, t = J ?? "default";
104
+ Dt
105
+ ]), U = B?.agents ?? [], W = B?.sessions || [], Mt = B?.children || [], Nt = B?.parent || null, Pt = d((e) => r ? e.defaultAgentForVibe?.[r] : void 0), G = (Pt ? U.find((e) => e.id === Pt) ?? null : null) ?? (U.length === 1 ? U[0] : U.find((e) => !!e.tunnelUrl) ?? U[0] ?? null), K = G, q = G?.tunnelUrl ?? null, Ft = G?.agentApiKey ?? null, { active: J } = re(G?.id ?? null), Y = F("vibes.tabs.iframe-host")?.value === !0, It = C(() => {
106
+ if (!Y || !G?.tunnelUrl) return [];
107
+ let e = G.id, t = J ?? "default";
101
108
  return [{
102
- tunnelUrl: W.tunnelUrl,
109
+ tunnelUrl: G.tunnelUrl,
103
110
  profile: t,
104
- label: W.name ?? W.id,
111
+ label: G.name ?? G.id,
105
112
  mintIframeToken: async ({ pathPrefixes: n }) => se(e, t, n)
106
113
  }];
107
114
  }, [
108
115
  Y,
109
- W,
116
+ G,
110
117
  J
111
- ]), X = $e(Ft, {
118
+ ]), X = Qe(It, {
112
119
  mountPoint: "vibe.detailTab",
113
- enabled: Y && Ft.length > 0
114
- }), [Z, It] = b(C(() => {
120
+ enabled: Y && It.length > 0
121
+ }), [Z, Lt] = b(C(() => {
115
122
  let e = X.data.filter((e) => e.contribution.mountPoint === "vibe.detailTab").map((e) => e.contribution.id);
116
- return [...et, ...e];
117
- }, [X.data]), "overview"), [Lt, Rt] = T(!1);
123
+ return [...$e, ...e];
124
+ }, [X.data]), "overview"), [Rt, zt] = T(!1);
118
125
  S(() => {
119
- R && d.setState({
120
- activeAgentId: W?.id ?? null,
121
- selectedAgentId: W?.id ?? null,
122
- activeVibeId: R.id,
123
- selectedVibeId: R.id,
126
+ B && d.setState({
127
+ activeAgentId: G?.id ?? null,
128
+ selectedAgentId: G?.id ?? null,
129
+ activeVibeId: B.id,
130
+ selectedVibeId: B.id,
124
131
  activeSessionId: null,
125
132
  selectedSessionId: null
126
133
  });
127
- }, [R?.id, W?.id]);
128
- let zt = V.length > 0;
134
+ }, [B?.id, G?.id]);
135
+ let Bt = U.length > 0;
129
136
  S(() => {
130
- if (!L && !tt.has(Z) && (!B(Z) || !Mt(Z))) {
131
- It("overview");
137
+ if (!z && !et.has(Z) && (!H(Z) || !jt(Z))) {
138
+ Lt("overview");
132
139
  return;
133
140
  }
134
141
  }, [
135
142
  Z,
136
- B,
137
- Mt,
138
- zt,
139
- It,
140
- L
143
+ H,
144
+ jt,
145
+ Bt,
146
+ Lt,
147
+ z
141
148
  ]);
142
149
  let Q = () => {
143
150
  x("/vibes");
144
- }, Bt = async () => {
145
- if (R?.id) try {
151
+ }, Vt = async () => {
152
+ if (B?.id) try {
146
153
  await De({ variables: {
147
- id: R.id,
154
+ id: B.id,
148
155
  status: "ACTIVE"
149
156
  } });
150
157
  } catch (e) {
151
158
  console.error("Failed to activate vibe:", e);
152
159
  }
153
- }, Vt = async () => {
154
- if (R?.id) try {
160
+ }, Ht = async () => {
161
+ if (B?.id) try {
155
162
  await De({ variables: {
156
- id: R.id,
163
+ id: B.id,
157
164
  status: "INACTIVE"
158
165
  } });
159
166
  } catch (e) {
160
167
  console.error("Failed to deactivate vibe:", e);
161
168
  }
162
- }, [Ht, $] = T(!1), [Ut, Wt] = T(!1), Gt = w(null);
169
+ }, [Ut, $] = T(!1), [Wt, Gt] = T(!1), Kt = w(null);
163
170
  S(() => {
164
- if (!Ut) return;
171
+ if (!Wt) return;
165
172
  let e = (e) => {
166
- Gt.current?.contains(e.target) || Wt(!1);
173
+ Kt.current?.contains(e.target) || Gt(!1);
167
174
  };
168
175
  return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
169
- }, [Ut]);
170
- let Kt = async () => {
171
- if (R?.id) try {
172
- await Me({ variables: { id: R.id } }), $(!1);
176
+ }, [Wt]);
177
+ let qt = async () => {
178
+ if (B?.id) try {
179
+ await Me({ variables: { id: B.id } }), $(!1);
173
180
  } catch (e) {
174
181
  console.error("Failed to archive vibe:", e);
175
182
  }
176
- }, qt = () => {
177
- I(null), dt(!0);
178
- }, Jt = async () => {
179
- let e = _t.current?.value?.trim(), t = vt.current?.value, n = yt.current?.value?.trim() || void 0, r = bt.current?.value?.trim() || void 0;
183
+ }, Jt = () => {
184
+ R(null), ut(!0);
185
+ }, Yt = async () => {
186
+ let e = gt.current?.value?.trim(), t = _t.current?.value, n = vt.current?.value?.trim() || void 0, r = yt.current?.value?.trim() || void 0;
180
187
  if (!e) {
181
- I(E("vibeDetails.sessionNameRequired", "Session name is required"));
188
+ R(D("vibeDetails.sessionNameRequired", "Session name is required"));
182
189
  return;
183
190
  }
184
- let i = W?.id;
191
+ let i = G?.id;
185
192
  if (!i) {
186
- I(V.length === 0 ? E("vibeDetails.noAgentAttached", "This vibe has no agent attached. Connect an agent to this vibe before creating a session.") : E("vibeDetails.selectAgent", "Select an agent for this vibe before creating a session."));
193
+ R(U.length === 0 ? D("vibeDetails.noAgentAttached", "This vibe has no agent attached. Connect an agent to this vibe before creating a session.") : D("vibeDetails.selectAgent", "Select an agent for this vibe before creating a session."));
187
194
  return;
188
195
  }
189
- mt(!0), I(null);
196
+ pt(!0), R(null);
190
197
  try {
191
- await Fe({ variables: { input: {
198
+ await Ie({ variables: { input: {
192
199
  name: e,
193
200
  type: t || "TERMINAL",
194
201
  agentId: i,
195
- vibeId: R?.id,
202
+ vibeId: B?.id,
196
203
  command: n,
197
- workingDirectory: r || R?.path || void 0
198
- } } }), dt(!1), _t.current && (_t.current.value = ""), vt.current && (vt.current.selectedIndex = 0), yt.current && (yt.current.value = ""), bt.current && (bt.current.value = ""), gt(E("sessions.createdSuccess", "Session created successfully")), setTimeout(() => gt(null), 3e3);
204
+ workingDirectory: r || B?.path || void 0
205
+ } } }), ut(!1), gt.current && (gt.current.value = ""), _t.current && (_t.current.selectedIndex = 0), vt.current && (vt.current.value = ""), yt.current && (yt.current.value = ""), ht(D("sessions.createdSuccess", "Session created successfully")), setTimeout(() => ht(null), 3e3);
199
206
  } catch (e) {
200
- I(e instanceof Error ? e.message : E("sessions.failedCreate", "Failed to create session"));
207
+ R(e instanceof Error ? e.message : D("sessions.failedCreate", "Failed to create session"));
201
208
  } finally {
202
- mt(!1);
209
+ pt(!1);
203
210
  }
204
- }, Yt = () => {
205
- G && x(`/agents/${G.id}`);
206
- }, Xt = (e) => {
207
- x(`/sessions/${e}`);
211
+ }, Xt = () => {
212
+ K && x(`/agents/${K.id}`);
208
213
  }, Zt = (e) => {
209
- x(`/vibes/${e}`);
214
+ x(`/sessions/${e}`);
210
215
  }, Qt = (e) => {
211
- if (!e) return E("health.never", "Never");
212
- let t = Date.now() - new Date(e).getTime();
213
- return t < 6e4 ? E("health.justNow", "Just now") : t < 36e5 ? `${Math.floor(t / 6e4)}m ago` : t < 864e5 ? `${Math.floor(t / 36e5)}h ago` : new Date(e).toLocaleDateString();
216
+ x(`/vibes/${e}`);
214
217
  }, $t = (e) => {
218
+ if (!e) return D("health.never", "Never");
219
+ let t = Date.now() - new Date(e).getTime();
220
+ return t < 6e4 ? D("health.justNow", "Just now") : t < 36e5 ? `${Math.floor(t / 6e4)}m ago` : t < 864e5 ? `${Math.floor(t / 36e5)}h ago` : new Date(e).toLocaleDateString();
221
+ }, en = (e) => {
215
222
  switch (e) {
216
223
  case "clean": return "text-status-success-text";
217
224
  case "modified": return "text-status-warning-text";
@@ -219,215 +226,252 @@ function it() {
219
226
  default: return "text-text-secondary";
220
227
  }
221
228
  };
222
- if (L && !R) return /* @__PURE__ */ N(Ze, {
229
+ if (z && !B) return /* @__PURE__ */ P(L, {
223
230
  className: "space-y-6 p-4 sm:p-6 bg-bg-surface min-h-screen",
224
- children: [/* @__PURE__ */ N("button", {
231
+ children: [/* @__PURE__ */ P("button", {
225
232
  type: "button",
226
233
  onClick: Q,
227
234
  className: "flex items-center gap-2 text-text-secondary hover:text-text-primary transition-colors",
228
- children: [/* @__PURE__ */ M(Se, { className: "size-4" }), E("vibeDetails.backToVibes", "Back to Vibes")]
229
- }), /* @__PURE__ */ M(re, { variant: "detail" })]
235
+ children: [/* @__PURE__ */ N(E, { className: "size-4" }), D("vibeDetails.backToVibes", "Back to Vibes")]
236
+ }), /* @__PURE__ */ N(ie, { variant: "detail" })]
230
237
  });
231
- if (St && !R) return /* @__PURE__ */ N(Ze, {
238
+ if (xt && !B) return /* @__PURE__ */ P(L, {
232
239
  className: "space-y-6 p-4 sm:p-6 bg-bg-surface min-h-screen",
233
- children: [/* @__PURE__ */ N("button", {
240
+ children: [/* @__PURE__ */ P("button", {
234
241
  type: "button",
235
242
  onClick: Q,
236
243
  className: "flex items-center gap-2 text-text-secondary hover:text-text-primary transition-colors",
237
- children: [/* @__PURE__ */ M(Se, { className: "size-4" }), E("vibeDetails.backToVibes", "Back to Vibes")]
238
- }), /* @__PURE__ */ M(p, {
239
- title: E("vibeDetails.failedLoad", "Failed to load vibe"),
240
- message: St.message,
241
- onRetry: () => Ct()
244
+ children: [/* @__PURE__ */ N(E, { className: "size-4" }), D("vibeDetails.backToVibes", "Back to Vibes")]
245
+ }), /* @__PURE__ */ N(p, {
246
+ title: D("vibeDetails.failedLoad", "Failed to load vibe"),
247
+ message: xt.message,
248
+ onRetry: () => St()
242
249
  })]
243
250
  });
244
- if (!R) return /* @__PURE__ */ N(Ze, {
251
+ if (!B) return /* @__PURE__ */ P(L, {
245
252
  className: "space-y-6 p-4 sm:p-6 bg-bg-surface min-h-screen",
246
- children: [/* @__PURE__ */ N("button", {
253
+ children: [/* @__PURE__ */ P("button", {
247
254
  type: "button",
248
255
  onClick: Q,
249
256
  className: "flex items-center gap-2 text-text-secondary hover:text-text-primary transition-colors",
250
- children: [/* @__PURE__ */ M(Se, { className: "size-4" }), E("vibeDetails.backToVibes", "Back to Vibes")]
251
- }), /* @__PURE__ */ M(h, {
252
- icon: /* @__PURE__ */ M(A, { className: "size-8 text-text-secondary" }),
253
- title: E("vibeDetails.notFound", "Vibe not found"),
254
- description: `${E("vibeDetails.notFoundDescriptionPrefix", "No vibe with ID")} "${r}" ${E("vibeDetails.notFoundDescriptionSuffix", "exists")}`,
255
- action: /* @__PURE__ */ M("button", {
257
+ children: [/* @__PURE__ */ N(E, { className: "size-4" }), D("vibeDetails.backToVibes", "Back to Vibes")]
258
+ }), /* @__PURE__ */ N(h, {
259
+ icon: /* @__PURE__ */ N(A, { className: "size-8 text-text-secondary" }),
260
+ title: D("vibeDetails.notFound", "Vibe not found"),
261
+ description: `${D("vibeDetails.notFoundDescriptionPrefix", "No vibe with ID")} "${r}" ${D("vibeDetails.notFoundDescriptionSuffix", "exists")}`,
262
+ action: /* @__PURE__ */ N("button", {
256
263
  type: "button",
257
264
  onClick: Q,
258
265
  className: "px-4 py-2 bg-action-primary-bg text-action-primary-text rounded-md hover:bg-action-primary-bg-hover transition-colors",
259
- children: E("vibeDetails.backToVibes", "Back to Vibes")
266
+ children: D("vibeDetails.backToVibes", "Back to Vibes")
260
267
  })
261
268
  })]
262
269
  });
263
- let en = R.status === "ACTIVE" || R.status === "RUNNING", tn = H.filter((e) => e.status === "RUNNING").length, nn = U.length + +!!Nt + +!!G, rn = !!(R.gitBranch || R.gitRemote), an = [
270
+ let tn = B.status === "ACTIVE" || B.status === "RUNNING", nn = W.filter((e) => e.status === "RUNNING").length, rn = Mt.length + +!!Nt + +!!K, an = !!(B.gitBranch || B.gitRemote), on = [
264
271
  {
265
272
  id: "overview",
266
- label: E("nav.overview", "Overview"),
273
+ label: D("nav.overview", "Overview"),
267
274
  icon: Ne
268
275
  },
269
276
  {
270
277
  id: "config",
271
- label: E("vibeDetails.config", "Config"),
272
- icon: He
278
+ label: D("vibeDetails.config", "Config"),
279
+ icon: Ue
273
280
  },
274
281
  {
275
282
  id: "git",
276
- label: E("vibeDetails.git", "Git"),
283
+ label: D("vibeDetails.git", "Git"),
277
284
  icon: Ae,
278
- badge: rn && R.gitBranch || void 0
285
+ badge: an && B.gitBranch || void 0
279
286
  },
280
287
  {
281
288
  id: "sessions",
282
- label: E("nav.sessions", "Sessions"),
289
+ label: D("nav.sessions", "Sessions"),
283
290
  icon: k,
284
- badge: `${H.length}`
291
+ badge: `${W.length}`
285
292
  },
286
293
  {
287
294
  id: "notes",
288
- label: E("vibeDetails.notes", "Notes"),
295
+ label: D("vibeDetails.notes", "Notes"),
289
296
  icon: Oe
290
297
  },
291
298
  {
292
299
  id: "docs",
293
- label: E("vibeDetails.docs", "Docs"),
300
+ label: D("vibeDetails.docs", "Docs"),
294
301
  icon: we
295
302
  },
296
303
  {
297
304
  id: "scorecard",
298
- label: E("vibeDetails.scorecard", "Scorecard"),
305
+ label: D("vibeDetails.scorecard", "Scorecard"),
299
306
  icon: Ce
300
307
  },
301
308
  {
302
309
  id: "catalogs",
303
- label: E("vibeDetails.catalogs", "Catalogs"),
304
- icon: D
310
+ label: D("vibeDetails.catalogs", "Catalogs"),
311
+ icon: Pe
305
312
  },
306
313
  {
307
314
  id: "graphqlPlayground",
308
- label: E("vibeDetails.graphqlPlayground", "GraphQL"),
309
- icon: Le
315
+ label: D("vibeDetails.graphqlPlayground", "GraphQL"),
316
+ icon: O
310
317
  },
311
318
  {
312
319
  id: "gitops",
313
- label: E("vibeDetails.gitops", "GitOps"),
320
+ label: D("vibeDetails.gitops", "GitOps"),
314
321
  icon: je
315
322
  },
316
323
  {
317
324
  id: "security",
318
- label: E("vibeDetails.security", "Security"),
319
- icon: Ue
325
+ label: D("vibeDetails.security", "Security"),
326
+ icon: We
320
327
  },
321
328
  {
322
329
  id: "related",
323
- label: E("vibeDetails.related", "Related"),
324
- icon: Pe,
325
- badge: nn > 0 ? `${nn}` : void 0
330
+ label: D("vibeDetails.related", "Related"),
331
+ icon: Fe,
332
+ badge: rn > 0 ? `${rn}` : void 0
326
333
  },
327
334
  {
328
335
  id: "llmContext",
329
- label: E("vibeDetails.llmContext", "LLM Context"),
336
+ label: D("vibeDetails.llmContext", "LLM Context"),
337
+ icon: Te
338
+ },
339
+ {
340
+ id: "vibedecks",
341
+ label: D("vibeDetails.vibedecks", "Vibe Decks"),
342
+ icon: A
343
+ },
344
+ {
345
+ id: "actions",
346
+ label: D("vibeDetails.actions", "Actions"),
347
+ icon: A
348
+ },
349
+ {
350
+ id: "scheduledJobs",
351
+ label: D("vibeDetails.scheduledJobs", "Scheduled"),
352
+ icon: A
353
+ },
354
+ {
355
+ id: "sandboxes",
356
+ label: D("vibeDetails.sandboxes", "Sandboxes"),
357
+ icon: k
358
+ },
359
+ {
360
+ id: "aiPrompts",
361
+ label: D("vibeDetails.aiPrompts", "AI Prompts"),
330
362
  icon: Te
363
+ },
364
+ {
365
+ id: "tunnels",
366
+ label: D("vibeDetails.tunnels", "Tunnels"),
367
+ icon: O
331
368
  }
332
- ].filter((e) => tt.has(e.id) ? !0 : !(!B(e.id) || !Mt(e.id) || !zt && rt.has(e.id) || e.id === "git" && kt?.value === !0 || e.id === "graphqlPlayground" && At?.value === !0 || e.id === "gitops" && jt?.value === !0));
333
- return /* @__PURE__ */ N(Ze, {
369
+ ], sn = new Set([
370
+ "vibedecks",
371
+ "actions",
372
+ "scheduledJobs",
373
+ "sandboxes",
374
+ "aiPrompts",
375
+ "tunnels"
376
+ ]), cn = on.filter((e) => et.has(e.id) || sn.has(e.id) ? !0 : !(!H(e.id) || !jt(e.id) || !Bt && nt.has(e.id) || e.id === "git" && Ot?.value === !0 || e.id === "graphqlPlayground" && kt?.value === !0 || e.id === "gitops" && At?.value === !0));
377
+ return /* @__PURE__ */ P(L, {
334
378
  className: "space-y-6 p-4 sm:p-6 bg-bg-surface min-h-screen",
335
379
  children: [
336
- ht && /* @__PURE__ */ M("div", {
380
+ mt && /* @__PURE__ */ N("div", {
337
381
  className: "fixed top-4 left-4 right-4 sm:left-auto z-50 bg-status-success-bg text-status-success-text px-4 py-3 rounded-md shadow-lg",
338
- children: ht
382
+ children: mt
339
383
  }),
340
- /* @__PURE__ */ N("button", {
384
+ /* @__PURE__ */ P("button", {
341
385
  type: "button",
342
386
  onClick: Q,
343
387
  className: "flex items-center gap-2 text-text-secondary hover:text-text-primary transition-colors",
344
- children: [/* @__PURE__ */ M(Se, { className: "size-4" }), E("vibeDetails.backToVibes", "Back to Vibes")]
388
+ children: [/* @__PURE__ */ N(E, { className: "size-4" }), D("vibeDetails.backToVibes", "Back to Vibes")]
345
389
  }),
346
- /* @__PURE__ */ M(f, {
347
- title: R.name,
348
- description: R.description || E("vibeDetails.noDescription", "No description"),
390
+ /* @__PURE__ */ N(f, {
391
+ title: B.name,
392
+ description: B.description || D("vibeDetails.noDescription", "No description"),
349
393
  breadcrumb: [{
350
- label: E("nav.vibes", "Vibes"),
394
+ label: D("nav.vibes", "Vibes"),
351
395
  path: oe ? `${oe}/vibes` : "/vibes"
352
- }, { label: R.name }],
353
- actions: /* @__PURE__ */ N("div", {
396
+ }, { label: B.name }],
397
+ actions: /* @__PURE__ */ P("div", {
354
398
  className: "flex items-center gap-2 flex-wrap",
355
399
  children: [
356
- /* @__PURE__ */ M("button", {
400
+ /* @__PURE__ */ N("button", {
357
401
  type: "button",
358
- onClick: () => Ct(),
359
- disabled: L,
402
+ onClick: () => St(),
403
+ disabled: z,
360
404
  className: "flex items-center justify-center p-2 bg-bg-sunken text-text-primary rounded-md hover:bg-bg-sunken/80 transition-colors disabled:opacity-50",
361
- title: E("common.refresh", "Refresh"),
362
- children: /* @__PURE__ */ M(Be, { className: `size-4 ${L ? "animate-spin" : ""}` })
405
+ title: D("common.refresh", "Refresh"),
406
+ children: /* @__PURE__ */ N(Ve, { className: `size-4 ${z ? "animate-spin" : ""}` })
363
407
  }),
364
- /* @__PURE__ */ M(ie, {
365
- vibeId: R.id,
366
- workspacePath: R.path,
367
- tunnelUrl: K,
368
- agentApiKey: q,
408
+ /* @__PURE__ */ N(ae, {
409
+ vibeId: B.id,
410
+ workspacePath: B.path,
411
+ tunnelUrl: q,
412
+ agentApiKey: Ft,
369
413
  profile: J ?? "default",
370
- browserEditorEnabled: B("browserEditor")
414
+ browserEditorEnabled: H("browserEditor")
371
415
  }),
372
- /* @__PURE__ */ M(Qe, {
373
- permission: y.SESSION_CREATE,
416
+ /* @__PURE__ */ N(Ze, {
417
+ permission: v.SESSION_CREATE,
374
418
  deniedBehavior: "disable",
375
419
  deniedTooltip: "You don't have permission to create sessions",
376
- children: /* @__PURE__ */ N("button", {
420
+ children: /* @__PURE__ */ P("button", {
377
421
  type: "button",
378
- onClick: qt,
422
+ onClick: Jt,
379
423
  className: "flex items-center gap-1.5 px-2.5 py-1.5 sm:px-3 sm:py-2 text-xs sm:text-sm bg-action-primary-bg text-action-primary-text rounded-md hover:bg-action-primary-bg-hover transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
380
424
  children: [
381
- /* @__PURE__ */ M(O, { className: "size-3.5 sm:w-4 sm:h-4" }),
382
- /* @__PURE__ */ M("span", {
425
+ /* @__PURE__ */ N(Be, { className: "size-3.5 sm:w-4 sm:h-4" }),
426
+ /* @__PURE__ */ N("span", {
383
427
  className: "hidden sm:inline",
384
- children: E("vibeDetails.new", "New")
428
+ children: D("vibeDetails.new", "New")
385
429
  }),
386
- /* @__PURE__ */ M("span", {
430
+ /* @__PURE__ */ N("span", {
387
431
  className: "hidden sm:inline",
388
- children: E("nav.sessions", "Session")
432
+ children: D("nav.sessions", "Session")
389
433
  })
390
434
  ]
391
435
  })
392
436
  }),
393
- /* @__PURE__ */ M(Qe, {
394
- permission: y.VIBE_UPDATE,
437
+ /* @__PURE__ */ N(Ze, {
438
+ permission: v.VIBE_UPDATE,
395
439
  deniedBehavior: "disable",
396
440
  deniedTooltip: "You don't have permission to manage this vibe",
397
- children: /* @__PURE__ */ N("div", {
441
+ children: /* @__PURE__ */ P("div", {
398
442
  className: "relative",
399
- ref: Gt,
400
- children: [/* @__PURE__ */ M("button", {
443
+ ref: Kt,
444
+ children: [/* @__PURE__ */ N("button", {
401
445
  type: "button",
402
- onClick: () => Wt((e) => !e),
446
+ onClick: () => Gt((e) => !e),
403
447
  "aria-haspopup": "menu",
404
- "aria-expanded": Ut,
405
- "aria-label": E("common.moreActions", "More actions"),
406
- title: E("common.moreActions", "More actions"),
448
+ "aria-expanded": Wt,
449
+ "aria-label": D("common.moreActions", "More actions"),
450
+ title: D("common.moreActions", "More actions"),
407
451
  className: "flex items-center justify-center p-2 bg-bg-sunken text-text-primary rounded-md hover:bg-bg-sunken/80 transition-colors",
408
- children: /* @__PURE__ */ M(Ie, { className: "size-4" })
409
- }), Ut && /* @__PURE__ */ N("div", {
452
+ children: /* @__PURE__ */ N(Le, { className: "size-4" })
453
+ }), Wt && /* @__PURE__ */ P("div", {
410
454
  role: "menu",
411
455
  className: "absolute right-0 mt-2 min-w-[12rem] bg-bg-elevated border border-border-default rounded-md shadow-lg z-20 py-1",
412
456
  children: [
413
- /* @__PURE__ */ M("button", {
457
+ /* @__PURE__ */ N("button", {
414
458
  type: "button",
415
459
  role: "menuitem",
416
460
  onClick: () => {
417
- Wt(!1), en ? Vt() : Bt();
461
+ Gt(!1), tn ? Ht() : Vt();
418
462
  },
419
463
  className: "w-full flex items-center gap-2 px-3 py-2 text-sm text-text-primary hover:bg-action-ghost-bg-hover text-left",
420
- children: en ? /* @__PURE__ */ N(Ye, { children: [/* @__PURE__ */ M(Re, { className: "size-4 text-text-secondary" }), /* @__PURE__ */ M("span", { children: E("vibeDetails.pauseVibe", "Pause vibe (stop scheduled runs)") })] }) : /* @__PURE__ */ N(Ye, { children: [/* @__PURE__ */ M(ze, { className: "size-4 text-status-success-text" }), /* @__PURE__ */ M("span", { children: E("vibeDetails.resumeVibe", "Resume vibe (re-enable scheduled runs)") })] })
464
+ children: tn ? /* @__PURE__ */ P(M, { children: [/* @__PURE__ */ N(Re, { className: "size-4 text-text-secondary" }), /* @__PURE__ */ N("span", { children: D("vibeDetails.pauseVibe", "Pause vibe (stop scheduled runs)") })] }) : /* @__PURE__ */ P(M, { children: [/* @__PURE__ */ N(ze, { className: "size-4 text-status-success-text" }), /* @__PURE__ */ N("span", { children: D("vibeDetails.resumeVibe", "Resume vibe (re-enable scheduled runs)") })] })
421
465
  }),
422
- /* @__PURE__ */ M("div", { className: "border-t border-border-subtle my-1" }),
423
- /* @__PURE__ */ N("button", {
466
+ /* @__PURE__ */ N("div", { className: "border-t border-border-subtle my-1" }),
467
+ /* @__PURE__ */ P("button", {
424
468
  type: "button",
425
469
  role: "menuitem",
426
470
  onClick: () => {
427
- Wt(!1), $(!0);
471
+ Gt(!1), $(!0);
428
472
  },
429
473
  className: "w-full flex items-center gap-2 px-3 py-2 text-sm text-status-warning-text hover:bg-action-ghost-bg-hover text-left",
430
- children: [/* @__PURE__ */ M(xe, { className: "size-4" }), /* @__PURE__ */ M("span", { children: E("vibeDetails.archive", "Archive vibe…") })]
474
+ children: [/* @__PURE__ */ N(Se, { className: "size-4" }), /* @__PURE__ */ N("span", { children: D("vibeDetails.archive", "Archive vibe…") })]
431
475
  })
432
476
  ]
433
477
  })]
@@ -436,7 +480,7 @@ function it() {
436
480
  ]
437
481
  })
438
482
  }),
439
- Ht && /* @__PURE__ */ M("div", {
483
+ Ut && /* @__PURE__ */ N("div", {
440
484
  tabIndex: 0,
441
485
  onKeyDown: (e) => {
442
486
  e.key === "Escape" && (e.preventDefault(), $(!1));
@@ -448,96 +492,96 @@ function it() {
448
492
  onClick: (e) => {
449
493
  e.target === e.currentTarget && $(!1);
450
494
  },
451
- children: /* @__PURE__ */ N("div", {
495
+ children: /* @__PURE__ */ P("div", {
452
496
  className: "w-full max-w-md rounded-lg bg-bg-elevated border border-border-default shadow-xl p-5",
453
497
  children: [
454
- /* @__PURE__ */ M("h2", {
498
+ /* @__PURE__ */ N("h2", {
455
499
  id: "archive-vibe-title",
456
500
  className: "text-base font-semibold text-text-primary mb-2",
457
- children: E("vibeDetails.archiveConfirmTitle", "Archive this vibe?")
501
+ children: D("vibeDetails.archiveConfirmTitle", "Archive this vibe?")
458
502
  }),
459
- /* @__PURE__ */ M("p", {
503
+ /* @__PURE__ */ N("p", {
460
504
  className: "text-sm text-text-secondary mb-4",
461
- children: E("vibeDetails.archiveConfirmBody", "Archived vibes are hidden from the active list and their scheduled actions stop firing. You can restore the vibe later from the archived view. Existing sessions, tunnels, and audit history are preserved.")
505
+ children: D("vibeDetails.archiveConfirmBody", "Archived vibes are hidden from the active list and their scheduled actions stop firing. You can restore the vibe later from the archived view. Existing sessions, tunnels, and audit history are preserved.")
462
506
  }),
463
- /* @__PURE__ */ N("div", {
507
+ /* @__PURE__ */ P("div", {
464
508
  className: "flex justify-end gap-2",
465
- children: [/* @__PURE__ */ M("button", {
509
+ children: [/* @__PURE__ */ N("button", {
466
510
  type: "button",
467
511
  onClick: () => $(!1),
468
512
  className: "text-sm px-3 py-1.5 rounded-md border border-border-default text-text-primary hover:bg-action-ghost-bg-hover",
469
- children: E("common.cancel", "Cancel")
470
- }), /* @__PURE__ */ M("button", {
513
+ children: D("common.cancel", "Cancel")
514
+ }), /* @__PURE__ */ N("button", {
471
515
  type: "button",
472
- onClick: Kt,
516
+ onClick: qt,
473
517
  className: "text-sm px-3 py-1.5 rounded-md bg-status-warning-bg text-status-warning-text hover:opacity-80",
474
- children: E("vibeDetails.archive", "Archive")
518
+ children: D("vibeDetails.archive", "Archive")
475
519
  })]
476
520
  })
477
521
  ]
478
522
  })
479
523
  }),
480
- /* @__PURE__ */ N(Xe, {
524
+ /* @__PURE__ */ P(Xe, {
481
525
  stagger: .04,
482
526
  className: "grid grid-cols-2 sm:grid-cols-4 gap-3 sm:gap-4",
483
527
  children: [
484
- /* @__PURE__ */ M(F, { children: /* @__PURE__ */ M(_, {
528
+ /* @__PURE__ */ N(I, { children: /* @__PURE__ */ N(_, {
485
529
  className: "p-3 sm:p-4",
486
- children: /* @__PURE__ */ N("div", {
530
+ children: /* @__PURE__ */ P("div", {
487
531
  className: "flex items-center gap-2 sm:gap-3",
488
- children: [/* @__PURE__ */ M("div", {
532
+ children: [/* @__PURE__ */ N("div", {
489
533
  className: "size-8 sm:w-10 sm:h-10 rounded-lg bg-bg-sunken flex items-center justify-center flex-shrink-0",
490
- children: /* @__PURE__ */ M(A, { className: "size-4 sm:w-5 sm:h-5 text-text-secondary" })
491
- }), /* @__PURE__ */ N("div", {
534
+ children: /* @__PURE__ */ N(A, { className: "size-4 sm:w-5 sm:h-5 text-text-secondary" })
535
+ }), /* @__PURE__ */ P("div", {
492
536
  className: "min-w-0",
493
- children: [/* @__PURE__ */ M("p", {
537
+ children: [/* @__PURE__ */ N("p", {
494
538
  className: "text-xs sm:text-sm text-text-secondary",
495
- title: E("vibeDetails.statusTooltip", "ACTIVE: vibe is in your default working set and can run sessions, tunnels and GitOps via its attached agent(s). INACTIVE: vibe is parked — still visible, no sessions auto-resume. RUNNING: at least one session is live. ARCHIVED: hidden from default lists; can be restored."),
496
- children: E("sessions.filterStatus", "Status")
497
- }), /* @__PURE__ */ M(g, {
498
- status: R.status,
539
+ title: D("vibeDetails.statusTooltip", "ACTIVE: vibe is in your default working set and can run sessions, tunnels and GitOps via its attached agent(s). INACTIVE: vibe is parked — still visible, no sessions auto-resume. RUNNING: at least one session is live. ARCHIVED: hidden from default lists; can be restored."),
540
+ children: D("sessions.filterStatus", "Status")
541
+ }), /* @__PURE__ */ N(g, {
542
+ status: B.status,
499
543
  size: "md"
500
544
  })]
501
545
  })]
502
546
  })
503
547
  }) }),
504
- /* @__PURE__ */ M(F, { children: /* @__PURE__ */ M(_, {
548
+ /* @__PURE__ */ N(I, { children: /* @__PURE__ */ N(_, {
505
549
  className: "p-3 sm:p-4",
506
- children: /* @__PURE__ */ N("div", {
550
+ children: /* @__PURE__ */ P("div", {
507
551
  className: "flex items-center gap-2 sm:gap-3",
508
- children: [/* @__PURE__ */ M("div", {
552
+ children: [/* @__PURE__ */ N("div", {
509
553
  className: "size-8 sm:w-10 sm:h-10 rounded-lg bg-bg-sunken flex items-center justify-center flex-shrink-0",
510
- children: /* @__PURE__ */ M(Ve, { className: "size-4 sm:w-5 sm:h-5 text-text-secondary" })
511
- }), /* @__PURE__ */ N("div", {
554
+ children: /* @__PURE__ */ N(He, { className: "size-4 sm:w-5 sm:h-5 text-text-secondary" })
555
+ }), /* @__PURE__ */ P("div", {
512
556
  className: "min-w-0 flex-1",
513
- children: [/* @__PURE__ */ M("p", {
557
+ children: [/* @__PURE__ */ N("p", {
514
558
  className: "text-xs sm:text-sm text-text-secondary",
515
- children: E("sessions.filterAgent", "Agent")
516
- }), /* @__PURE__ */ M("p", {
559
+ children: D("sessions.filterAgent", "Agent")
560
+ }), /* @__PURE__ */ N("p", {
517
561
  className: "font-semibold text-text-primary text-sm sm:text-base truncate",
518
- children: G?.name || E("targets.unknown", "Unknown")
562
+ children: K?.name || D("targets.unknown", "Unknown")
519
563
  })]
520
564
  })]
521
565
  })
522
566
  }) }),
523
- /* @__PURE__ */ M(F, { children: /* @__PURE__ */ M(_, {
567
+ /* @__PURE__ */ N(I, { children: /* @__PURE__ */ N(_, {
524
568
  className: "p-3 sm:p-4",
525
- children: /* @__PURE__ */ N("div", {
569
+ children: /* @__PURE__ */ P("div", {
526
570
  className: "flex items-center gap-2 sm:gap-3",
527
- children: [/* @__PURE__ */ M("div", {
571
+ children: [/* @__PURE__ */ N("div", {
528
572
  className: "size-8 sm:w-10 sm:h-10 rounded-lg bg-bg-sunken flex items-center justify-center flex-shrink-0",
529
- children: /* @__PURE__ */ M(k, { className: "size-4 sm:w-5 sm:h-5 text-text-secondary" })
530
- }), /* @__PURE__ */ N("div", {
573
+ children: /* @__PURE__ */ N(k, { className: "size-4 sm:w-5 sm:h-5 text-text-secondary" })
574
+ }), /* @__PURE__ */ P("div", {
531
575
  className: "min-w-0",
532
- children: [/* @__PURE__ */ M("p", {
576
+ children: [/* @__PURE__ */ N("p", {
533
577
  className: "text-xs sm:text-sm text-text-secondary",
534
- children: E("nav.sessions", "Sessions")
535
- }), /* @__PURE__ */ N("p", {
578
+ children: D("nav.sessions", "Sessions")
579
+ }), /* @__PURE__ */ P("p", {
536
580
  className: "font-semibold text-text-primary text-sm sm:text-base",
537
581
  children: [
538
- tn,
582
+ nn,
539
583
  " ",
540
- E("health.active", "active")
584
+ D("health.active", "active")
541
585
  ]
542
586
  })]
543
587
  })]
@@ -545,24 +589,24 @@ function it() {
545
589
  }) })
546
590
  ]
547
591
  }),
548
- /* @__PURE__ */ M("div", {
592
+ /* @__PURE__ */ N("div", {
549
593
  className: "border-b border-border-default",
550
- children: /* @__PURE__ */ N("nav", {
594
+ children: /* @__PURE__ */ P("nav", {
551
595
  className: "flex gap-1 -mb-px overflow-x-auto pb-1",
552
- "aria-label": E("vibeDetails.tabsAriaLabel", "Vibe tabs"),
596
+ "aria-label": D("vibeDetails.tabsAriaLabel", "Vibe tabs"),
553
597
  children: [
554
- an.map((e) => {
598
+ cn.map((e) => {
555
599
  let t = e.icon, n = Z === e.id;
556
- return /* @__PURE__ */ N("button", {
600
+ return /* @__PURE__ */ P("button", {
557
601
  type: "button",
558
- onClick: () => It(e.id),
602
+ onClick: () => Lt(e.id),
559
603
  className: `flex shrink-0 items-center gap-1.5 px-3 py-2.5 text-xs sm:gap-2 sm:px-4 sm:text-sm font-medium border-b-2 transition-colors whitespace-nowrap ${n ? "border-action-primary-bg text-action-primary-bg" : "border-transparent text-text-secondary hover:text-text-primary hover:border-border-default"}`,
560
604
  "aria-selected": n,
561
605
  role: "tab",
562
606
  children: [
563
- /* @__PURE__ */ M(t, { className: "size-4" }),
607
+ /* @__PURE__ */ N(t, { className: "size-4" }),
564
608
  e.label,
565
- e.badge && /* @__PURE__ */ M("span", {
609
+ e.badge && /* @__PURE__ */ N("span", {
566
610
  className: `hidden rounded-full px-1.5 py-0.5 text-[10px] sm:inline-flex sm:text-xs ${n ? "bg-action-primary-bg/10 text-action-primary-bg" : "bg-bg-sunken text-text-muted"}`,
567
611
  children: e.badge
568
612
  })
@@ -571,9 +615,9 @@ function it() {
571
615
  }),
572
616
  Y && X.data.map((e) => {
573
617
  let t = Z === e.contribution.id;
574
- return /* @__PURE__ */ M("button", {
618
+ return /* @__PURE__ */ N("button", {
575
619
  type: "button",
576
- onClick: () => It(e.contribution.id),
620
+ onClick: () => Lt(e.contribution.id),
577
621
  className: `flex shrink-0 items-center gap-1.5 px-3 py-2.5 text-xs sm:gap-2 sm:px-4 sm:text-sm font-medium border-b-2 transition-colors whitespace-nowrap ${t ? "border-action-primary-bg text-action-primary-bg" : "border-transparent text-text-secondary hover:text-text-primary hover:border-border-default"}`,
578
622
  "aria-selected": t,
579
623
  role: "tab",
@@ -581,16 +625,16 @@ function it() {
581
625
  children: e.contribution.title
582
626
  }, `plugin-${e.contribution.id}`);
583
627
  }),
584
- Y && W && /* @__PURE__ */ N("button", {
628
+ Y && G && /* @__PURE__ */ P("button", {
585
629
  type: "button",
586
- onClick: () => Rt(!0),
630
+ onClick: () => zt(!0),
587
631
  className: "flex shrink-0 items-center gap-1 p-2 text-xs sm:text-sm border-b-2 border-transparent text-text-secondary hover:text-text-primary hover:border-border-default",
588
632
  title: "Install a UI plugin tab",
589
633
  "aria-label": "Add tab",
590
- children: [/* @__PURE__ */ M("span", {
634
+ children: [/* @__PURE__ */ N("span", {
591
635
  "aria-hidden": !0,
592
636
  children: "+"
593
- }), /* @__PURE__ */ M("span", {
637
+ }), /* @__PURE__ */ N("span", {
594
638
  className: "hidden sm:inline",
595
639
  children: "Add tab"
596
640
  })]
@@ -598,10 +642,10 @@ function it() {
598
642
  ]
599
643
  })
600
644
  }),
601
- /* @__PURE__ */ N(Je, {
645
+ /* @__PURE__ */ P(Ye, {
602
646
  mode: "wait",
603
647
  children: [
604
- Z === "overview" && /* @__PURE__ */ N(j.div, {
648
+ Z === "overview" && /* @__PURE__ */ P(j.div, {
605
649
  initial: {
606
650
  opacity: 0,
607
651
  y: 8
@@ -617,64 +661,64 @@ function it() {
617
661
  transition: { duration: .2 },
618
662
  className: "space-y-6",
619
663
  children: [
620
- R.description && /* @__PURE__ */ M(_, { children: /* @__PURE__ */ M("div", {
664
+ B.description && /* @__PURE__ */ N(_, { children: /* @__PURE__ */ N("div", {
621
665
  className: "p-4",
622
- children: /* @__PURE__ */ M("p", {
666
+ children: /* @__PURE__ */ N("p", {
623
667
  className: "text-text-primary",
624
- children: R.description
668
+ children: B.description
625
669
  })
626
670
  }) }),
627
- !zt && /* @__PURE__ */ M(pe, {
628
- vibeId: R.id,
629
- tr: E,
630
- onAttached: () => Ct()
671
+ !Bt && /* @__PURE__ */ N(pe, {
672
+ vibeId: B.id,
673
+ tr: D,
674
+ onAttached: () => St()
631
675
  }),
632
- zt && /* @__PURE__ */ M(me, {
633
- vibeId: R.id,
634
- attachedAgents: V,
635
- effectiveAgentId: W?.id ?? null
676
+ Bt && /* @__PURE__ */ N(me, {
677
+ vibeId: B.id,
678
+ attachedAgents: U,
679
+ effectiveAgentId: G?.id ?? null
636
680
  }),
637
- /* @__PURE__ */ N(_, { children: [/* @__PURE__ */ M("div", {
681
+ /* @__PURE__ */ P(_, { children: [/* @__PURE__ */ N("div", {
638
682
  className: "p-3 sm:p-4 border-b border-border-default",
639
- children: /* @__PURE__ */ N("h3", {
683
+ children: /* @__PURE__ */ P("h3", {
640
684
  className: "font-semibold text-text-primary flex items-center gap-2 text-sm sm:text-base",
641
- children: [/* @__PURE__ */ M(ke, { className: "size-4 sm:w-5 sm:h-5" }), E("vibeDetails.path", "Path")]
685
+ children: [/* @__PURE__ */ N(ke, { className: "size-4 sm:w-5 sm:h-5" }), D("vibeDetails.path", "Path")]
642
686
  })
643
- }), /* @__PURE__ */ M("div", {
687
+ }), /* @__PURE__ */ N("div", {
644
688
  className: "p-3 sm:p-4",
645
- children: /* @__PURE__ */ M("div", {
689
+ children: /* @__PURE__ */ N("div", {
646
690
  className: "bg-bg-sunken rounded-md p-2 sm:p-3 font-mono text-xs sm:text-sm text-text-primary overflow-x-auto break-all",
647
- children: R.path
691
+ children: B.path
648
692
  })
649
693
  })] }),
650
- /* @__PURE__ */ N(_, { children: [/* @__PURE__ */ M("div", {
694
+ /* @__PURE__ */ P(_, { children: [/* @__PURE__ */ N("div", {
651
695
  className: "p-4 border-b border-border-default",
652
- children: /* @__PURE__ */ N("h3", {
696
+ children: /* @__PURE__ */ P("h3", {
653
697
  className: "font-semibold text-text-primary flex items-center gap-2",
654
- children: [/* @__PURE__ */ M(Ee, { className: "size-5" }), E("vibeDetails.timeline", "Timeline")]
698
+ children: [/* @__PURE__ */ N(Ee, { className: "size-5" }), D("vibeDetails.timeline", "Timeline")]
655
699
  })
656
- }), /* @__PURE__ */ M("div", {
700
+ }), /* @__PURE__ */ N("div", {
657
701
  className: "p-4",
658
- children: /* @__PURE__ */ N("div", {
702
+ children: /* @__PURE__ */ P("div", {
659
703
  className: "grid grid-cols-1 sm:grid-cols-2 gap-4 text-sm",
660
- children: [/* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("p", {
704
+ children: [/* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("p", {
661
705
  className: "text-text-secondary",
662
- children: E("vibeDetails.created", "Created")
663
- }), /* @__PURE__ */ M("p", {
706
+ children: D("vibeDetails.created", "Created")
707
+ }), /* @__PURE__ */ N("p", {
664
708
  className: "font-medium text-text-primary",
665
- children: Qt(R.createdAt)
666
- })] }), /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("p", {
709
+ children: $t(B.createdAt)
710
+ })] }), /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("p", {
667
711
  className: "text-text-secondary",
668
- children: E("vibeDetails.updated", "Updated")
669
- }), /* @__PURE__ */ M("p", {
712
+ children: D("vibeDetails.updated", "Updated")
713
+ }), /* @__PURE__ */ N("p", {
670
714
  className: "font-medium text-text-primary",
671
- children: Qt(R.updatedAt)
715
+ children: $t(B.updatedAt)
672
716
  })] })]
673
717
  })
674
718
  })] })
675
719
  ]
676
720
  }, "overview"),
677
- Z === "config" && /* @__PURE__ */ N(j.div, {
721
+ Z === "config" && /* @__PURE__ */ P(j.div, {
678
722
  initial: {
679
723
  opacity: 0,
680
724
  y: 8
@@ -690,17 +734,17 @@ function it() {
690
734
  transition: { duration: .2 },
691
735
  className: "space-y-6",
692
736
  children: [
693
- /* @__PURE__ */ N(_, { children: [/* @__PURE__ */ M("div", {
737
+ /* @__PURE__ */ P(_, { children: [/* @__PURE__ */ N("div", {
694
738
  className: "p-4 border-b border-border-default",
695
- children: /* @__PURE__ */ N("h3", {
739
+ children: /* @__PURE__ */ P("h3", {
696
740
  className: "font-semibold text-text-primary flex items-center gap-2",
697
- children: [/* @__PURE__ */ M(Ge, { className: "size-5" }), E("vibeDetails.environmentVariables", "Environment Variables")]
741
+ children: [/* @__PURE__ */ N(Ke, { className: "size-5" }), D("vibeDetails.environmentVariables", "Environment Variables")]
698
742
  })
699
- }), /* @__PURE__ */ M("div", {
743
+ }), /* @__PURE__ */ N("div", {
700
744
  className: "p-4",
701
- children: R.environmentVariables && Object.keys(R.environmentVariables).length > 0 ? /* @__PURE__ */ M("div", {
745
+ children: B.environmentVariables && Object.keys(B.environmentVariables).length > 0 ? /* @__PURE__ */ N("div", {
702
746
  className: "flex flex-wrap gap-2",
703
- children: Object.entries(R.environmentVariables).map(([e, t]) => /* @__PURE__ */ N("span", {
747
+ children: Object.entries(B.environmentVariables).map(([e, t]) => /* @__PURE__ */ P("span", {
704
748
  className: "px-3 py-1 bg-bg-sunken text-text-primary text-sm rounded-full font-mono",
705
749
  children: [
706
750
  e,
@@ -708,64 +752,64 @@ function it() {
708
752
  String(t)
709
753
  ]
710
754
  }, e))
711
- }) : /* @__PURE__ */ M("p", {
755
+ }) : /* @__PURE__ */ N("p", {
712
756
  className: "text-text-secondary",
713
- children: E("vibeDetails.noEnvironmentVariables", "No environment variables configured")
757
+ children: D("vibeDetails.noEnvironmentVariables", "No environment variables configured")
714
758
  })
715
759
  })] }),
716
- /* @__PURE__ */ N(_, { children: [/* @__PURE__ */ M("div", {
760
+ /* @__PURE__ */ P(_, { children: [/* @__PURE__ */ N("div", {
717
761
  className: "p-4 border-b border-border-default",
718
- children: /* @__PURE__ */ N("h3", {
762
+ children: /* @__PURE__ */ P("h3", {
719
763
  className: "font-semibold text-text-primary flex items-center gap-2",
720
- children: [/* @__PURE__ */ M(We, { className: "size-5" }), E("vibeDetails.tags", "Tags")]
764
+ children: [/* @__PURE__ */ N(Ge, { className: "size-5" }), D("vibeDetails.tags", "Tags")]
721
765
  })
722
- }), /* @__PURE__ */ M("div", {
766
+ }), /* @__PURE__ */ N("div", {
723
767
  className: "p-4",
724
- children: /* @__PURE__ */ M(m, {
768
+ children: /* @__PURE__ */ N(m, {
725
769
  entityType: "VIBECONTROLS_VIBE",
726
- entityId: R.id
770
+ entityId: B.id
727
771
  })
728
772
  })] }),
729
- /* @__PURE__ */ N(_, { children: [/* @__PURE__ */ N("div", {
773
+ /* @__PURE__ */ P(_, { children: [/* @__PURE__ */ P("div", {
730
774
  className: "p-4 border-b border-border-default",
731
- children: [/* @__PURE__ */ N("h3", {
775
+ children: [/* @__PURE__ */ P("h3", {
732
776
  className: "font-semibold text-text-primary flex items-center gap-2",
733
- children: [/* @__PURE__ */ M(He, { className: "size-5" }), E("vibeDetails.features", "Features")]
734
- }), /* @__PURE__ */ M("p", {
777
+ children: [/* @__PURE__ */ N(Ue, { className: "size-5" }), D("vibeDetails.features", "Features")]
778
+ }), /* @__PURE__ */ N("p", {
735
779
  className: "text-sm text-text-secondary mt-1",
736
- children: E("vibeDetails.featuresDescription", "Toggle which sections show up on this vibe. Changes apply to everyone viewing the vibe.")
780
+ children: D("vibeDetails.featuresDescription", "Toggle which sections show up on this vibe. Changes apply to everyone viewing the vibe.")
737
781
  })]
738
- }), /* @__PURE__ */ M("div", {
782
+ }), /* @__PURE__ */ N("div", {
739
783
  className: "divide-y divide-border-default",
740
- children: st.map((e) => {
741
- let t = B(e.id);
742
- return /* @__PURE__ */ N("label", {
784
+ children: ot.map((e) => {
785
+ let t = H(e.id);
786
+ return /* @__PURE__ */ P("label", {
743
787
  className: "flex items-center gap-3 px-4 py-3 cursor-pointer hover:bg-bg-sunken transition-colors",
744
- children: [/* @__PURE__ */ M("input", {
788
+ children: [/* @__PURE__ */ N("input", {
745
789
  type: "checkbox",
746
790
  role: "switch",
747
791
  "aria-label": e.label,
748
792
  "aria-checked": t,
749
793
  checked: t,
750
- disabled: lt || !R.id,
794
+ disabled: ct || !B.id,
751
795
  onChange: async (t) => {
752
796
  let n = t.target.checked;
753
797
  try {
754
- await ct({
798
+ await st({
755
799
  variables: {
756
- id: R.id,
800
+ id: B.id,
757
801
  featureId: e.id,
758
802
  enabled: n
759
803
  },
760
804
  optimisticResponse: { setVibeFeatureFlag: {
761
805
  __typename: "Vibe",
762
- id: R.id,
806
+ id: B.id,
763
807
  featureFlags: {
764
- ...z?.featureFlags ?? {},
808
+ ...V?.featureFlags ?? {},
765
809
  [e.id]: n
766
810
  },
767
811
  effectiveFeatureFlags: {
768
- ...z?.effectiveFeatureFlags ?? {},
812
+ ...V?.effectiveFeatureFlags ?? {},
769
813
  [e.id]: n
770
814
  }
771
815
  } }
@@ -775,7 +819,7 @@ function it() {
775
819
  }
776
820
  },
777
821
  className: "size-4 shrink-0 accent-action-primary-bg disabled:opacity-50"
778
- }), /* @__PURE__ */ M("span", {
822
+ }), /* @__PURE__ */ N("span", {
779
823
  className: "text-sm font-medium text-text-primary",
780
824
  children: e.label
781
825
  })]
@@ -784,7 +828,7 @@ function it() {
784
828
  })] })
785
829
  ]
786
830
  }, "config"),
787
- Z === "git" && B("git") && /* @__PURE__ */ M(j.div, {
831
+ Z === "git" && H("git") && /* @__PURE__ */ N(j.div, {
788
832
  initial: {
789
833
  opacity: 0,
790
834
  y: 8
@@ -799,57 +843,57 @@ function it() {
799
843
  },
800
844
  transition: { duration: .2 },
801
845
  className: "space-y-6",
802
- children: /* @__PURE__ */ M(v, {
803
- agentId: W?.id ?? null,
846
+ children: /* @__PURE__ */ N(ne, {
847
+ agentId: G?.id ?? null,
804
848
  required: ["@vibecontrols/vibe-plugin-tool-git"],
805
849
  mode: "all",
806
- eyebrow: E("vibeDetails.gitPluginEyebrow", "Git plugin required"),
807
- title: E("vibeDetails.gitPluginTitle", "Install the git plugin"),
808
- description: E("vibeDetails.gitPluginDescription", "Live git branch, status, and remote data for this vibe are served by the vibe-plugin-tool-git agent plugin."),
809
- children: rn ? /* @__PURE__ */ N(_, { children: [/* @__PURE__ */ M("div", {
850
+ eyebrow: D("vibeDetails.gitPluginEyebrow", "Git plugin required"),
851
+ title: D("vibeDetails.gitPluginTitle", "Install the git plugin"),
852
+ description: D("vibeDetails.gitPluginDescription", "Live git branch, status, and remote data for this vibe are served by the vibe-plugin-tool-git agent plugin."),
853
+ children: an ? /* @__PURE__ */ P(_, { children: [/* @__PURE__ */ N("div", {
810
854
  className: "p-4 border-b border-border-default",
811
- children: /* @__PURE__ */ N("h3", {
855
+ children: /* @__PURE__ */ P("h3", {
812
856
  className: "font-semibold text-text-primary flex items-center gap-2",
813
- children: [/* @__PURE__ */ M(Ae, { className: "size-5" }), E("vibeDetails.gitInformation", "Git Information")]
857
+ children: [/* @__PURE__ */ N(Ae, { className: "size-5" }), D("vibeDetails.gitInformation", "Git Information")]
814
858
  })
815
- }), /* @__PURE__ */ N("div", {
859
+ }), /* @__PURE__ */ P("div", {
816
860
  className: "p-4 space-y-3",
817
- children: [/* @__PURE__ */ N("div", {
861
+ children: [/* @__PURE__ */ P("div", {
818
862
  className: "flex items-center gap-4 flex-wrap",
819
- children: [R.gitBranch && /* @__PURE__ */ N("div", {
863
+ children: [B.gitBranch && /* @__PURE__ */ P("div", {
820
864
  className: "flex items-center gap-2",
821
- children: [/* @__PURE__ */ N("span", {
865
+ children: [/* @__PURE__ */ P("span", {
822
866
  className: "text-sm text-text-secondary",
823
- children: [E("vibeDetails.branch", "Branch"), ":"]
824
- }), /* @__PURE__ */ M("span", {
867
+ children: [D("vibeDetails.branch", "Branch"), ":"]
868
+ }), /* @__PURE__ */ N("span", {
825
869
  className: "px-2 py-1 bg-bg-sunken text-text-primary text-sm rounded font-mono",
826
- children: R.gitBranch
870
+ children: B.gitBranch
827
871
  })]
828
- }), R.gitStatus && /* @__PURE__ */ N("div", {
872
+ }), B.gitStatus && /* @__PURE__ */ P("div", {
829
873
  className: "flex items-center gap-2",
830
- children: [/* @__PURE__ */ N("span", {
874
+ children: [/* @__PURE__ */ P("span", {
831
875
  className: "text-sm text-text-secondary",
832
- children: [E("sessions.filterStatus", "Status"), ":"]
833
- }), /* @__PURE__ */ M("span", {
834
- className: `font-medium ${$t(R.gitStatus)}`,
835
- children: R.gitStatus
876
+ children: [D("sessions.filterStatus", "Status"), ":"]
877
+ }), /* @__PURE__ */ N("span", {
878
+ className: `font-medium ${en(B.gitStatus)}`,
879
+ children: B.gitStatus
836
880
  })]
837
881
  })]
838
- }), R.gitRemote && /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ N("span", {
882
+ }), B.gitRemote && /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ P("span", {
839
883
  className: "text-sm text-text-secondary",
840
- children: [E("vibeDetails.remote", "Remote"), ":"]
841
- }), /* @__PURE__ */ M("p", {
884
+ children: [D("vibeDetails.remote", "Remote"), ":"]
885
+ }), /* @__PURE__ */ N("p", {
842
886
  className: "font-mono text-sm text-text-primary mt-1 break-all",
843
- children: R.gitRemote
887
+ children: B.gitRemote
844
888
  })] })]
845
- })] }) : /* @__PURE__ */ M(h, {
846
- icon: /* @__PURE__ */ M(Ae, { className: "size-8 text-text-secondary" }),
847
- title: E("vibeDetails.noGitInformation", "No git information"),
848
- description: E("vibeDetails.noGitInformationDescription", "This vibe does not have any git repository linked")
889
+ })] }) : /* @__PURE__ */ N(h, {
890
+ icon: /* @__PURE__ */ N(Ae, { className: "size-8 text-text-secondary" }),
891
+ title: D("vibeDetails.noGitInformation", "No git information"),
892
+ description: D("vibeDetails.noGitInformationDescription", "This vibe does not have any git repository linked")
849
893
  })
850
894
  })
851
895
  }, "git"),
852
- Z === "sessions" && B("sessions") && /* @__PURE__ */ M(j.div, {
896
+ Z === "sessions" && H("sessions") && /* @__PURE__ */ N(j.div, {
853
897
  initial: {
854
898
  opacity: 0,
855
899
  y: 8
@@ -863,72 +907,72 @@ function it() {
863
907
  y: -8
864
908
  },
865
909
  transition: { duration: .2 },
866
- children: /* @__PURE__ */ M(v, {
867
- agentId: W?.id ?? null,
910
+ children: /* @__PURE__ */ N(ne, {
911
+ agentId: G?.id ?? null,
868
912
  requirements: [{
869
913
  packages: ["@vibecontrols/vibe-plugin-session-manager"],
870
914
  mode: "all",
871
- eyebrow: E("vibeDetails.sessionsManagerEyebrow", "Session manager required"),
872
- title: E("vibeDetails.sessionsManagerTitle", "Install the session manager"),
873
- description: E("vibeDetails.sessionsManagerDescription", "Sessions are orchestrated by the unified session manager plugin. Install it to continue.")
915
+ eyebrow: D("vibeDetails.sessionsManagerEyebrow", "Session manager required"),
916
+ title: D("vibeDetails.sessionsManagerTitle", "Install the session manager"),
917
+ description: D("vibeDetails.sessionsManagerDescription", "Sessions are orchestrated by the unified session manager plugin. Install it to continue.")
874
918
  }, {
875
919
  packages: te,
876
920
  mode: "any",
877
- eyebrow: E("vibeDetails.sessionProviderEyebrow", "Session provider required"),
878
- title: E("vibeDetails.sessionProviderTitle", "Pick a session provider"),
879
- description: E("vibeDetails.sessionProviderDescription", "Choose the terminal multiplexer your sessions should run on. You can install more providers later.")
921
+ eyebrow: D("vibeDetails.sessionProviderEyebrow", "Session provider required"),
922
+ title: D("vibeDetails.sessionProviderTitle", "Pick a session provider"),
923
+ description: D("vibeDetails.sessionProviderDescription", "Choose the terminal multiplexer your sessions should run on. You can install more providers later.")
880
924
  }],
881
- children: /* @__PURE__ */ N(_, { children: [/* @__PURE__ */ N("div", {
925
+ children: /* @__PURE__ */ P(_, { children: [/* @__PURE__ */ P("div", {
882
926
  className: "p-4 border-b border-border-default flex items-center justify-between",
883
- children: [/* @__PURE__ */ N("h3", {
927
+ children: [/* @__PURE__ */ P("h3", {
884
928
  className: "font-semibold text-text-primary flex items-center gap-2",
885
929
  children: [
886
- /* @__PURE__ */ M(k, { className: "size-5" }),
887
- E("nav.sessions", "Sessions"),
930
+ /* @__PURE__ */ N(k, { className: "size-5" }),
931
+ D("nav.sessions", "Sessions"),
888
932
  " (",
889
- H.length,
933
+ W.length,
890
934
  ")"
891
935
  ]
892
- }), /* @__PURE__ */ N("button", {
936
+ }), /* @__PURE__ */ P("button", {
893
937
  type: "button",
894
- onClick: qt,
938
+ onClick: Jt,
895
939
  className: "flex items-center gap-1 px-2 py-1 text-sm bg-bg-sunken text-text-primary rounded hover:bg-bg-sunken/80 transition-colors",
896
- children: [/* @__PURE__ */ M(O, { className: "size-4" }), E("vibeDetails.new", "New")]
940
+ children: [/* @__PURE__ */ N(Be, { className: "size-4" }), D("vibeDetails.new", "New")]
897
941
  })]
898
- }), H.length > 0 ? /* @__PURE__ */ M(Xe, {
942
+ }), W.length > 0 ? /* @__PURE__ */ N(Xe, {
899
943
  className: "divide-y divide-border-primary",
900
- children: H.map((e) => /* @__PURE__ */ M(F, {
944
+ children: W.map((e) => /* @__PURE__ */ N(I, {
901
945
  variant: "fadeRight",
902
- children: /* @__PURE__ */ N("div", {
946
+ children: /* @__PURE__ */ P("div", {
903
947
  role: "button",
904
948
  tabIndex: 0,
905
949
  onKeyDown: (t) => {
906
- (t.key === "Enter" || t.key === " ") && (t.preventDefault(), Xt(e.id));
950
+ (t.key === "Enter" || t.key === " ") && (t.preventDefault(), Zt(e.id));
907
951
  },
908
- onClick: () => Xt(e.id),
952
+ onClick: () => Zt(e.id),
909
953
  className: "p-4 flex items-center justify-between cursor-pointer hover:bg-bg-sunken/50 transition-colors",
910
- children: [/* @__PURE__ */ N("div", {
954
+ children: [/* @__PURE__ */ P("div", {
911
955
  className: "flex items-center gap-3 min-w-0",
912
- children: [/* @__PURE__ */ M(k, { className: "size-5 text-text-secondary flex-shrink-0" }), /* @__PURE__ */ N("div", {
956
+ children: [/* @__PURE__ */ N(k, { className: "size-5 text-text-secondary flex-shrink-0" }), /* @__PURE__ */ P("div", {
913
957
  className: "min-w-0",
914
- children: [/* @__PURE__ */ M("p", {
958
+ children: [/* @__PURE__ */ N("p", {
915
959
  className: "font-medium text-text-primary truncate",
916
960
  children: e.name
917
- }), /* @__PURE__ */ M("p", {
961
+ }), /* @__PURE__ */ N("p", {
918
962
  className: "text-sm text-text-secondary truncate",
919
963
  children: e.type
920
964
  })]
921
965
  })]
922
- }), /* @__PURE__ */ M(g, { status: e.status })]
966
+ }), /* @__PURE__ */ N(g, { status: e.status })]
923
967
  })
924
968
  }, e.id))
925
- }) : /* @__PURE__ */ M("div", {
969
+ }) : /* @__PURE__ */ N("div", {
926
970
  className: "p-6 text-center text-text-secondary",
927
- children: E("vibeDetails.noSessionsForVibe", "No sessions for this vibe")
971
+ children: D("vibeDetails.noSessionsForVibe", "No sessions for this vibe")
928
972
  })] })
929
973
  })
930
974
  }, "sessions"),
931
- Z === "notes" && B("notes") && /* @__PURE__ */ M(j.div, {
975
+ Z === "notes" && H("notes") && /* @__PURE__ */ N(j.div, {
932
976
  initial: {
933
977
  opacity: 0,
934
978
  y: 8
@@ -943,12 +987,12 @@ function it() {
943
987
  },
944
988
  transition: { duration: .2 },
945
989
  className: "space-y-6",
946
- children: /* @__PURE__ */ M(ae, {
990
+ children: /* @__PURE__ */ N(y, {
947
991
  context: "vibe",
948
- vibeId: R.id
992
+ vibeId: B.id
949
993
  })
950
994
  }, "notes"),
951
- Z === "docs" && B("docs") && /* @__PURE__ */ M(j.div, {
995
+ Z === "docs" && H("docs") && /* @__PURE__ */ N(j.div, {
952
996
  initial: {
953
997
  opacity: 0,
954
998
  y: 8
@@ -963,9 +1007,9 @@ function it() {
963
1007
  },
964
1008
  transition: { duration: .2 },
965
1009
  className: "space-y-6",
966
- children: /* @__PURE__ */ M(ue, { vibeId: R.id })
1010
+ children: /* @__PURE__ */ N(ue, { vibeId: B.id })
967
1011
  }, "docs"),
968
- Z === "scorecard" && B("scorecard") && /* @__PURE__ */ M(j.div, {
1012
+ Z === "scorecard" && H("scorecard") && /* @__PURE__ */ N(j.div, {
969
1013
  initial: {
970
1014
  opacity: 0,
971
1015
  y: 8
@@ -980,12 +1024,12 @@ function it() {
980
1024
  },
981
1025
  transition: { duration: .2 },
982
1026
  className: "space-y-6",
983
- children: /* @__PURE__ */ M(de, {
1027
+ children: /* @__PURE__ */ N(de, {
984
1028
  ownerType: "VIBE",
985
- ownerId: R.id
1029
+ ownerId: B.id
986
1030
  })
987
1031
  }, "scorecard"),
988
- Z === "catalogs" && B("catalogs") && /* @__PURE__ */ M(j.div, {
1032
+ Z === "catalogs" && H("catalogs") && /* @__PURE__ */ N(j.div, {
989
1033
  initial: {
990
1034
  opacity: 0,
991
1035
  y: 8
@@ -1000,13 +1044,13 @@ function it() {
1000
1044
  },
1001
1045
  transition: { duration: .2 },
1002
1046
  className: "space-y-6",
1003
- children: /* @__PURE__ */ M(at, {
1004
- vibeId: R.id,
1005
- tr: E,
1047
+ children: /* @__PURE__ */ N(it, {
1048
+ vibeId: B.id,
1049
+ tr: D,
1006
1050
  navigate: x
1007
1051
  })
1008
1052
  }, "catalogs"),
1009
- Z === "graphqlPlayground" && B("graphqlPlayground") && /* @__PURE__ */ M(j.div, {
1053
+ Z === "graphqlPlayground" && H("graphqlPlayground") && /* @__PURE__ */ N(j.div, {
1010
1054
  initial: {
1011
1055
  opacity: 0,
1012
1056
  y: 8
@@ -1021,37 +1065,37 @@ function it() {
1021
1065
  },
1022
1066
  transition: { duration: .2 },
1023
1067
  className: "space-y-6",
1024
- children: /* @__PURE__ */ M(v, {
1025
- agentId: W?.id ?? null,
1068
+ children: /* @__PURE__ */ N(ne, {
1069
+ agentId: G?.id ?? null,
1026
1070
  required: ["@vibecontrols/vibe-plugin-tool-graphiql"],
1027
1071
  mode: "all",
1028
- eyebrow: E("vibeDetails.graphqlPluginEyebrow", "GraphQL playground plugin required"),
1029
- title: E("vibeDetails.graphqlPluginTitle", "Install the GraphQL playground"),
1030
- description: E("vibeDetails.graphqlPluginDescription", "The GraphQL Playground is served by the graphiql agent plugin. Install it to continue."),
1031
- children: K ? /* @__PURE__ */ M(ot, {
1032
- vibeId: R.id,
1033
- agentId: W?.id ?? null,
1072
+ eyebrow: D("vibeDetails.graphqlPluginEyebrow", "GraphQL playground plugin required"),
1073
+ title: D("vibeDetails.graphqlPluginTitle", "Install the GraphQL playground"),
1074
+ description: D("vibeDetails.graphqlPluginDescription", "The GraphQL Playground is served by the graphiql agent plugin. Install it to continue."),
1075
+ children: q ? /* @__PURE__ */ N(at, {
1076
+ vibeId: B.id,
1077
+ agentId: G?.id ?? null,
1034
1078
  profile: J,
1035
- tunnelUrl: K,
1036
- apiKey: q,
1079
+ tunnelUrl: q,
1080
+ apiKey: Ft,
1037
1081
  type: "graphql",
1038
- tr: E
1039
- }) : /* @__PURE__ */ M(h, {
1040
- icon: /* @__PURE__ */ M(Le, { className: "size-8 text-text-secondary" }),
1041
- title: E("vibeDetails.noAgentTunnel", "No agent tunnel available"),
1042
- description: E("vibeDetails.noAgentTunnelDesc2", "The GraphQL playground requires an active agent with a tunnel URL.")
1082
+ tr: D
1083
+ }) : /* @__PURE__ */ N(h, {
1084
+ icon: /* @__PURE__ */ N(O, { className: "size-8 text-text-secondary" }),
1085
+ title: D("vibeDetails.noAgentTunnel", "No agent tunnel available"),
1086
+ description: D("vibeDetails.noAgentTunnelDesc2", "The GraphQL playground requires an active agent with a tunnel URL.")
1043
1087
  })
1044
1088
  })
1045
1089
  }, "graphqlPlayground"),
1046
- Z === "gitops" && B("gitops") && /* @__PURE__ */ M(fe, {
1090
+ Z === "gitops" && H("gitops") && /* @__PURE__ */ N(fe, {
1047
1091
  vibeId: r || "",
1048
- agentId: W?.id ?? "",
1092
+ agentId: G?.id ?? "",
1049
1093
  profile: J,
1050
- tunnelUrl: K,
1051
- apiKey: q,
1052
- tr: E
1094
+ tunnelUrl: q,
1095
+ apiKey: Ft,
1096
+ tr: D
1053
1097
  }),
1054
- Z === "security" && B("security") && /* @__PURE__ */ M(j.div, {
1098
+ Z === "security" && H("security") && /* @__PURE__ */ N(j.div, {
1055
1099
  initial: {
1056
1100
  opacity: 0,
1057
1101
  y: 8
@@ -1066,15 +1110,15 @@ function it() {
1066
1110
  },
1067
1111
  transition: { duration: .2 },
1068
1112
  className: "space-y-6",
1069
- children: /* @__PURE__ */ M(_e, {
1113
+ children: /* @__PURE__ */ N(_e, {
1070
1114
  vibeId: r || "",
1071
- agentId: W?.id ?? null,
1115
+ agentId: G?.id ?? null,
1072
1116
  profile: J ?? "default",
1073
- tunnelUrl: K,
1074
- apiKey: q
1117
+ tunnelUrl: q,
1118
+ apiKey: Ft
1075
1119
  })
1076
1120
  }, "security"),
1077
- Z === "related" && B("related") && /* @__PURE__ */ M(j.div, {
1121
+ Z === "related" && H("related") && /* @__PURE__ */ N(j.div, {
1078
1122
  initial: {
1079
1123
  opacity: 0,
1080
1124
  y: 8
@@ -1089,98 +1133,98 @@ function it() {
1089
1133
  },
1090
1134
  transition: { duration: .2 },
1091
1135
  className: "space-y-6",
1092
- children: nn > 0 ? /* @__PURE__ */ N(Ye, { children: [
1093
- U.length > 0 && /* @__PURE__ */ N(_, { children: [/* @__PURE__ */ M("div", {
1136
+ children: rn > 0 ? /* @__PURE__ */ P(M, { children: [
1137
+ Mt.length > 0 && /* @__PURE__ */ P(_, { children: [/* @__PURE__ */ N("div", {
1094
1138
  className: "p-4 border-b border-border-default",
1095
- children: /* @__PURE__ */ N("h3", {
1139
+ children: /* @__PURE__ */ P("h3", {
1096
1140
  className: "font-semibold text-text-primary flex items-center gap-2",
1097
1141
  children: [
1098
- /* @__PURE__ */ M(A, { className: "size-5" }),
1099
- E("vibeDetails.childVibes", "Child Vibes"),
1142
+ /* @__PURE__ */ N(A, { className: "size-5" }),
1143
+ D("vibeDetails.childVibes", "Child Vibes"),
1100
1144
  " (",
1101
- U.length,
1145
+ Mt.length,
1102
1146
  ")"
1103
1147
  ]
1104
1148
  })
1105
- }), /* @__PURE__ */ M(Xe, {
1149
+ }), /* @__PURE__ */ N(Xe, {
1106
1150
  className: "divide-y divide-border-primary",
1107
- children: U.map((e) => /* @__PURE__ */ M(F, {
1151
+ children: Mt.map((e) => /* @__PURE__ */ N(I, {
1108
1152
  variant: "fadeRight",
1109
- children: /* @__PURE__ */ N("div", {
1153
+ children: /* @__PURE__ */ P("div", {
1110
1154
  role: "button",
1111
1155
  tabIndex: 0,
1112
1156
  onKeyDown: (t) => {
1113
- (t.key === "Enter" || t.key === " ") && (t.preventDefault(), Zt(e.id));
1157
+ (t.key === "Enter" || t.key === " ") && (t.preventDefault(), Qt(e.id));
1114
1158
  },
1115
- onClick: () => Zt(e.id),
1159
+ onClick: () => Qt(e.id),
1116
1160
  className: "p-4 flex items-center justify-between cursor-pointer hover:bg-bg-sunken/50 transition-colors",
1117
- children: [/* @__PURE__ */ N("div", {
1161
+ children: [/* @__PURE__ */ P("div", {
1118
1162
  className: "flex items-center gap-3 min-w-0",
1119
- children: [/* @__PURE__ */ M(A, { className: "size-5 text-text-secondary flex-shrink-0" }), /* @__PURE__ */ N("div", {
1163
+ children: [/* @__PURE__ */ N(A, { className: "size-5 text-text-secondary flex-shrink-0" }), /* @__PURE__ */ P("div", {
1120
1164
  className: "min-w-0",
1121
- children: [/* @__PURE__ */ M("p", {
1165
+ children: [/* @__PURE__ */ N("p", {
1122
1166
  className: "font-medium text-text-primary truncate",
1123
1167
  children: e.name
1124
- }), /* @__PURE__ */ M("p", {
1168
+ }), /* @__PURE__ */ N("p", {
1125
1169
  className: "text-sm text-text-secondary truncate",
1126
1170
  children: e.type
1127
1171
  })]
1128
1172
  })]
1129
- }), /* @__PURE__ */ M(g, { status: e.status })]
1173
+ }), /* @__PURE__ */ N(g, { status: e.status })]
1130
1174
  })
1131
1175
  }, e.id))
1132
1176
  })] }),
1133
- Nt && /* @__PURE__ */ M(_, {
1134
- onClick: () => Zt(Nt.id),
1177
+ Nt && /* @__PURE__ */ N(_, {
1178
+ onClick: () => Qt(Nt.id),
1135
1179
  hoverable: !0,
1136
- children: /* @__PURE__ */ N("div", {
1180
+ children: /* @__PURE__ */ P("div", {
1137
1181
  className: "p-4 flex items-center gap-3",
1138
- children: [/* @__PURE__ */ M("div", {
1182
+ children: [/* @__PURE__ */ N("div", {
1139
1183
  className: "size-10 rounded-lg bg-bg-sunken flex items-center justify-center",
1140
- children: /* @__PURE__ */ M(A, { className: "size-5 text-text-secondary" })
1141
- }), /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("p", {
1184
+ children: /* @__PURE__ */ N(A, { className: "size-5 text-text-secondary" })
1185
+ }), /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("p", {
1142
1186
  className: "text-sm text-text-secondary",
1143
- children: E("vibeDetails.parentVibe", "Parent Vibe")
1144
- }), /* @__PURE__ */ M("p", {
1187
+ children: D("vibeDetails.parentVibe", "Parent Vibe")
1188
+ }), /* @__PURE__ */ N("p", {
1145
1189
  className: "font-medium text-text-primary",
1146
1190
  children: Nt.name
1147
1191
  })] })]
1148
1192
  })
1149
1193
  }),
1150
- G && /* @__PURE__ */ M(_, {
1151
- onClick: Yt,
1194
+ K && /* @__PURE__ */ N(_, {
1195
+ onClick: Xt,
1152
1196
  hoverable: !0,
1153
- children: /* @__PURE__ */ N("div", {
1197
+ children: /* @__PURE__ */ P("div", {
1154
1198
  className: "p-4 flex items-center justify-between",
1155
- children: [/* @__PURE__ */ N("div", {
1199
+ children: [/* @__PURE__ */ P("div", {
1156
1200
  className: "flex items-center gap-3",
1157
- children: [/* @__PURE__ */ M("div", {
1201
+ children: [/* @__PURE__ */ N("div", {
1158
1202
  className: "size-10 rounded-lg bg-bg-sunken flex items-center justify-center",
1159
- children: /* @__PURE__ */ M(Ve, { className: "size-5 text-text-secondary" })
1160
- }), /* @__PURE__ */ N("div", { children: [
1161
- /* @__PURE__ */ M("p", {
1203
+ children: /* @__PURE__ */ N(He, { className: "size-5 text-text-secondary" })
1204
+ }), /* @__PURE__ */ P("div", { children: [
1205
+ /* @__PURE__ */ N("p", {
1162
1206
  className: "text-sm text-text-secondary",
1163
- children: E("vibeDetails.runningOnAgent", "Running on Agent")
1207
+ children: D("vibeDetails.runningOnAgent", "Running on Agent")
1164
1208
  }),
1165
- /* @__PURE__ */ M("p", {
1209
+ /* @__PURE__ */ N("p", {
1166
1210
  className: "font-medium text-text-primary",
1167
- children: G.name
1211
+ children: K.name
1168
1212
  }),
1169
- /* @__PURE__ */ M("p", {
1213
+ /* @__PURE__ */ N("p", {
1170
1214
  className: "text-sm text-text-secondary",
1171
- children: G.hostname
1215
+ children: K.hostname
1172
1216
  })
1173
1217
  ] })]
1174
- }), /* @__PURE__ */ M(g, { status: G.isActive ? "ACTIVE" : "OFFLINE" })]
1218
+ }), /* @__PURE__ */ N(g, { status: K.isActive ? "ACTIVE" : "OFFLINE" })]
1175
1219
  })
1176
1220
  })
1177
- ] }) : /* @__PURE__ */ M(h, {
1178
- icon: /* @__PURE__ */ M(Pe, { className: "size-8 text-text-secondary" }),
1179
- title: E("vibeDetails.noRelatedEntities", "No related entities"),
1180
- description: E("vibeDetails.noRelatedEntitiesDescription", "This vibe has no child vibes, parent vibe, or linked agent")
1221
+ ] }) : /* @__PURE__ */ N(h, {
1222
+ icon: /* @__PURE__ */ N(Fe, { className: "size-8 text-text-secondary" }),
1223
+ title: D("vibeDetails.noRelatedEntities", "No related entities"),
1224
+ description: D("vibeDetails.noRelatedEntitiesDescription", "This vibe has no child vibes, parent vibe, or linked agent")
1181
1225
  })
1182
1226
  }, "related"),
1183
- Z === "llmContext" && /* @__PURE__ */ M(j.div, {
1227
+ Z === "llmContext" && /* @__PURE__ */ N(j.div, {
1184
1228
  initial: {
1185
1229
  opacity: 0,
1186
1230
  y: 8
@@ -1195,19 +1239,39 @@ function it() {
1195
1239
  },
1196
1240
  transition: { duration: .2 },
1197
1241
  className: "space-y-6",
1198
- children: /* @__PURE__ */ M(ve, {
1199
- vibeId: R.id,
1200
- attachedAgents: V.map((e) => ({
1242
+ children: /* @__PURE__ */ N(ve, {
1243
+ vibeId: B.id,
1244
+ attachedAgents: U.map((e) => ({
1201
1245
  id: e.id,
1202
1246
  name: e.name
1203
1247
  }))
1204
1248
  })
1205
1249
  }, "llmContext"),
1250
+ (Z === "vibedecks" || Z === "actions" || Z === "scheduledJobs" || Z === "sandboxes" || Z === "aiPrompts" || Z === "tunnels") && /* @__PURE__ */ N(j.div, {
1251
+ initial: {
1252
+ opacity: 0,
1253
+ y: 8
1254
+ },
1255
+ animate: {
1256
+ opacity: 1,
1257
+ y: 0
1258
+ },
1259
+ exit: {
1260
+ opacity: 0,
1261
+ y: -8
1262
+ },
1263
+ transition: { duration: .2 },
1264
+ className: "space-y-6",
1265
+ children: /* @__PURE__ */ N(ye, {
1266
+ vibeId: B.id,
1267
+ kind: Z
1268
+ })
1269
+ }, `linked-${Z}`),
1206
1270
  Y && (() => {
1207
1271
  let e = X.data.find((e) => e.contribution.id === Z);
1208
1272
  if (!e) return null;
1209
1273
  let t = e.tunnel, n = e.capabilities.restPaths.length > 0 ? e.capabilities.restPaths : [`/ui/${e.pluginKey}`];
1210
- return /* @__PURE__ */ M(j.div, {
1274
+ return /* @__PURE__ */ N(j.div, {
1211
1275
  initial: {
1212
1276
  opacity: 0,
1213
1277
  y: 8
@@ -1222,21 +1286,21 @@ function it() {
1222
1286
  },
1223
1287
  transition: { duration: .2 },
1224
1288
  className: "space-y-6",
1225
- children: /* @__PURE__ */ M(_, { children: /* @__PURE__ */ M("div", {
1289
+ children: /* @__PURE__ */ N(_, { children: /* @__PURE__ */ N("div", {
1226
1290
  className: "p-0 h-[600px]",
1227
- children: /* @__PURE__ */ M(le, {
1291
+ children: /* @__PURE__ */ N(le, {
1228
1292
  contribution: e,
1229
1293
  tunnel: t,
1230
1294
  restPaths: n,
1231
- context: { vibeId: R.id },
1232
- agentId: W?.id ?? "",
1295
+ context: { vibeId: B.id },
1296
+ agentId: G?.id ?? "",
1233
1297
  profile: t.profile,
1234
1298
  theme: {
1235
1299
  colorMode: "light",
1236
1300
  tokens: {}
1237
1301
  },
1238
1302
  locale: "en",
1239
- featureFlags: z?.featureFlags ?? {},
1303
+ featureFlags: V?.featureFlags ?? {},
1240
1304
  hostVersion: "1.0.0"
1241
1305
  })
1242
1306
  }) })
@@ -1244,111 +1308,111 @@ function it() {
1244
1308
  })()
1245
1309
  ]
1246
1310
  }),
1247
- Y && W && /* @__PURE__ */ M(ce, {
1248
- isOpen: Lt,
1249
- onClose: () => Rt(!1),
1311
+ Y && G && /* @__PURE__ */ N(ce, {
1312
+ isOpen: Rt,
1313
+ onClose: () => zt(!1),
1250
1314
  mountPoint: "vibe.detailTab",
1251
- agentId: W.id,
1315
+ agentId: G.id,
1252
1316
  profile: J ?? "default",
1253
1317
  onInstalled: () => {
1254
1318
  X.refetch();
1255
1319
  }
1256
1320
  }),
1257
- ut && /* @__PURE__ */ M("div", {
1321
+ lt && /* @__PURE__ */ N("div", {
1258
1322
  className: "fixed inset-0 bg-bg-overlay flex items-center justify-center z-50 p-4",
1259
- children: /* @__PURE__ */ N("div", {
1323
+ children: /* @__PURE__ */ P("div", {
1260
1324
  className: "bg-bg-surface rounded-lg p-6 w-full max-w-lg",
1261
1325
  children: [
1262
- /* @__PURE__ */ N("h2", {
1326
+ /* @__PURE__ */ P("h2", {
1263
1327
  className: "text-lg font-semibold text-text-primary mb-4",
1264
1328
  children: [
1265
- E("vibeDetails.newSessionFor", "New Session for"),
1329
+ D("vibeDetails.newSessionFor", "New Session for"),
1266
1330
  " ",
1267
- R.name
1331
+ B.name
1268
1332
  ]
1269
1333
  }),
1270
- ft && /* @__PURE__ */ M("div", {
1334
+ dt && /* @__PURE__ */ N("div", {
1271
1335
  className: "mb-4 p-3 bg-status-error-bg text-status-error-text rounded-md text-sm",
1272
- children: ft
1336
+ children: dt
1273
1337
  }),
1274
- /* @__PURE__ */ N("div", {
1338
+ /* @__PURE__ */ P("div", {
1275
1339
  className: "space-y-4",
1276
1340
  children: [
1277
- /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
1341
+ /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("label", {
1278
1342
  className: "block text-sm font-medium text-text-primary mb-1",
1279
- children: E("vibeDetails.sessionName", "Session Name")
1280
- }), /* @__PURE__ */ M("input", {
1343
+ children: D("vibeDetails.sessionName", "Session Name")
1344
+ }), /* @__PURE__ */ N("input", {
1281
1345
  "aria-label": "control",
1282
- ref: _t,
1346
+ ref: gt,
1283
1347
  type: "text",
1284
- placeholder: E("vibeDetails.sessionNamePlaceholder", "dev-terminal"),
1348
+ placeholder: D("vibeDetails.sessionNamePlaceholder", "dev-terminal"),
1285
1349
  className: "w-full px-3 py-2 bg-bg-sunken border border-border-default rounded-md text-text-primary placeholder:text-text-placeholder"
1286
1350
  })] }),
1287
- /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
1351
+ /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("label", {
1288
1352
  className: "block text-sm font-medium text-text-primary mb-1",
1289
- children: E("sessions.filterType", "Type")
1290
- }), /* @__PURE__ */ N("select", {
1291
- ref: vt,
1353
+ children: D("sessions.filterType", "Type")
1354
+ }), /* @__PURE__ */ P("select", {
1355
+ ref: _t,
1292
1356
  className: "w-full px-3 py-2 bg-bg-sunken border border-border-default rounded-md text-text-primary",
1293
1357
  children: [
1294
- /* @__PURE__ */ M("option", {
1358
+ /* @__PURE__ */ N("option", {
1295
1359
  value: "TERMINAL",
1296
- children: E("sessions.typeTerminal", "Terminal")
1360
+ children: D("sessions.typeTerminal", "Terminal")
1297
1361
  }),
1298
- /* @__PURE__ */ M("option", {
1362
+ /* @__PURE__ */ N("option", {
1299
1363
  value: "TMUX",
1300
- children: E("sessions.typeTmux", "TMUX")
1364
+ children: D("sessions.typeTmux", "TMUX")
1301
1365
  }),
1302
- /* @__PURE__ */ M("option", {
1366
+ /* @__PURE__ */ N("option", {
1303
1367
  value: "SSH",
1304
- children: E("sessions.typeSsh", "SSH")
1368
+ children: D("sessions.typeSsh", "SSH")
1305
1369
  }),
1306
- /* @__PURE__ */ M("option", {
1370
+ /* @__PURE__ */ N("option", {
1307
1371
  value: "SCRIPT",
1308
- children: E("sessions.typeScript", "Script")
1372
+ children: D("sessions.typeScript", "Script")
1309
1373
  }),
1310
- /* @__PURE__ */ M("option", {
1374
+ /* @__PURE__ */ N("option", {
1311
1375
  value: "CUSTOM",
1312
- children: E("sessions.typeCustom", "Custom")
1376
+ children: D("sessions.typeCustom", "Custom")
1313
1377
  })
1314
1378
  ]
1315
1379
  })] }),
1316
- /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
1380
+ /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("label", {
1317
1381
  className: "block text-sm font-medium text-text-primary mb-1",
1318
- children: E("sessions.command", "Command")
1319
- }), /* @__PURE__ */ M("input", {
1382
+ children: D("sessions.command", "Command")
1383
+ }), /* @__PURE__ */ N("input", {
1320
1384
  "aria-label": "control",
1321
- ref: yt,
1385
+ ref: vt,
1322
1386
  type: "text",
1323
- placeholder: E("vibeDetails.sessionCommandPlaceholder", "bash"),
1387
+ placeholder: D("vibeDetails.sessionCommandPlaceholder", "bash"),
1324
1388
  className: "w-full px-3 py-2 bg-bg-sunken border border-border-default rounded-md text-text-primary placeholder:text-text-placeholder"
1325
1389
  })] }),
1326
- /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
1390
+ /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("label", {
1327
1391
  className: "block text-sm font-medium text-text-primary mb-1",
1328
- children: E("vibeDetails.workingDirectory", "Working Directory")
1329
- }), /* @__PURE__ */ M("input", {
1392
+ children: D("vibeDetails.workingDirectory", "Working Directory")
1393
+ }), /* @__PURE__ */ N("input", {
1330
1394
  "aria-label": "control",
1331
- ref: bt,
1395
+ ref: yt,
1332
1396
  type: "text",
1333
- defaultValue: R.path || "",
1397
+ defaultValue: B.path || "",
1334
1398
  className: "w-full px-3 py-2 bg-bg-sunken border border-border-default rounded-md text-text-primary"
1335
1399
  })] })
1336
1400
  ]
1337
1401
  }),
1338
- /* @__PURE__ */ N("div", {
1402
+ /* @__PURE__ */ P("div", {
1339
1403
  className: "flex flex-col sm:flex-row justify-end gap-3 mt-6",
1340
- children: [/* @__PURE__ */ M("button", {
1404
+ children: [/* @__PURE__ */ N("button", {
1341
1405
  type: "button",
1342
- onClick: () => dt(!1),
1343
- disabled: pt,
1406
+ onClick: () => ut(!1),
1407
+ disabled: ft,
1344
1408
  className: "px-4 py-2 text-text-primary hover:bg-bg-sunken rounded-md transition-colors disabled:opacity-50",
1345
- children: E("common.cancel", "Cancel")
1346
- }), /* @__PURE__ */ M("button", {
1409
+ children: D("common.cancel", "Cancel")
1410
+ }), /* @__PURE__ */ N("button", {
1347
1411
  type: "button",
1348
- onClick: Jt,
1349
- disabled: pt,
1412
+ onClick: Yt,
1413
+ disabled: ft,
1350
1414
  className: "px-4 py-2 bg-action-primary-bg text-action-primary-text rounded-md hover:bg-action-primary-bg-hover transition-colors disabled:opacity-50",
1351
- children: pt ? E("sessions.creating", "Creating...") : E("sessions.createSession", "Create Session")
1415
+ children: ft ? D("sessions.creating", "Creating...") : D("sessions.createSession", "Create Session")
1352
1416
  })]
1353
1417
  })
1354
1418
  ]
@@ -1357,7 +1421,7 @@ function it() {
1357
1421
  ]
1358
1422
  });
1359
1423
  }
1360
- function at({ vibeId: t, tr: n, navigate: i }) {
1424
+ function it({ vibeId: t, tr: n, navigate: i }) {
1361
1425
  let [a, o] = T(!1), { data: c, loading: l, refetch: u } = r({ fetchPolicy: "cache-and-network" }), [ee] = e({ refetchQueries: ["GetVibeCatalogs"] }), [d] = s({ refetchQueries: ["GetVibeCatalogs"] }), f = c?.vibecontrolsCatalogs?.items ?? [], p = f.filter((e) => e.vibes?.some((e) => e.vibeId === t)), m = f.filter((e) => !e.vibes?.some((e) => e.vibeId === t)), g = async (e) => {
1362
1426
  await ee({ variables: {
1363
1427
  catalogId: e,
@@ -1369,15 +1433,15 @@ function at({ vibeId: t, tr: n, navigate: i }) {
1369
1433
  vibeId: t
1370
1434
  } }), await u();
1371
1435
  };
1372
- return l && f.length === 0 ? /* @__PURE__ */ M(re, { variant: "detail" }) : /* @__PURE__ */ N(Ye, { children: [
1373
- /* @__PURE__ */ N("div", {
1436
+ return l && f.length === 0 ? /* @__PURE__ */ N(ie, { variant: "detail" }) : /* @__PURE__ */ P(M, { children: [
1437
+ /* @__PURE__ */ P("div", {
1374
1438
  className: "flex items-center justify-between",
1375
- children: [/* @__PURE__ */ N("h3", {
1439
+ children: [/* @__PURE__ */ P("h3", {
1376
1440
  className: "font-semibold text-text-primary flex items-center gap-2",
1377
1441
  children: [
1378
- /* @__PURE__ */ M(D, { className: "size-5" }),
1442
+ /* @__PURE__ */ N(Pe, { className: "size-5" }),
1379
1443
  n("vibeDetails.catalogsTitle", "Catalogs"),
1380
- /* @__PURE__ */ N("span", {
1444
+ /* @__PURE__ */ P("span", {
1381
1445
  className: "text-sm font-normal text-text-secondary",
1382
1446
  children: [
1383
1447
  "(",
@@ -1386,44 +1450,44 @@ function at({ vibeId: t, tr: n, navigate: i }) {
1386
1450
  ]
1387
1451
  })
1388
1452
  ]
1389
- }), /* @__PURE__ */ N("button", {
1453
+ }), /* @__PURE__ */ P("button", {
1390
1454
  type: "button",
1391
1455
  onClick: () => o(!0),
1392
1456
  className: "flex items-center gap-2 px-3 py-2 text-sm bg-action-primary-bg text-action-primary-text rounded-md hover:bg-action-primary-bg-hover transition-colors",
1393
- children: [/* @__PURE__ */ M(O, { className: "size-4" }), n("vibeDetails.addToCatalog", "Add to Catalog")]
1457
+ children: [/* @__PURE__ */ N(Be, { className: "size-4" }), n("vibeDetails.addToCatalog", "Add to Catalog")]
1394
1458
  })]
1395
1459
  }),
1396
- p.length > 0 ? /* @__PURE__ */ M("div", {
1460
+ p.length > 0 ? /* @__PURE__ */ N("div", {
1397
1461
  className: "space-y-2",
1398
- children: p.map((e) => /* @__PURE__ */ M(_, { children: /* @__PURE__ */ N("div", {
1462
+ children: p.map((e) => /* @__PURE__ */ N(_, { children: /* @__PURE__ */ P("div", {
1399
1463
  className: "p-3 flex items-center justify-between",
1400
- children: [/* @__PURE__ */ N("button", {
1464
+ children: [/* @__PURE__ */ P("button", {
1401
1465
  type: "button",
1402
1466
  onClick: () => i(`/catalogs/${e.id}`),
1403
1467
  className: "flex items-center gap-3 text-left hover:opacity-80 transition-opacity",
1404
- children: [/* @__PURE__ */ M(D, { className: "size-5 text-action-primary-bg flex-shrink-0" }), /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("p", {
1468
+ children: [/* @__PURE__ */ N(Pe, { className: "size-5 text-action-primary-bg flex-shrink-0" }), /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("p", {
1405
1469
  className: "font-medium text-text-primary text-sm",
1406
1470
  children: e.name
1407
- }), /* @__PURE__ */ M("p", {
1471
+ }), /* @__PURE__ */ N("p", {
1408
1472
  className: "text-xs text-text-secondary",
1409
1473
  children: e.visibility
1410
1474
  })] })]
1411
- }), /* @__PURE__ */ M("button", {
1475
+ }), /* @__PURE__ */ N("button", {
1412
1476
  type: "button",
1413
1477
  onClick: () => te(e.id),
1414
1478
  className: "p-1.5 text-text-muted hover:text-status-error-text hover:bg-status-error-bg rounded-md transition-colors",
1415
1479
  title: n("vibeDetails.removeFromCatalog", "Remove from catalog"),
1416
- children: /* @__PURE__ */ M(Ke, { className: "size-4" })
1480
+ children: /* @__PURE__ */ N(qe, { className: "size-4" })
1417
1481
  })]
1418
1482
  }) }, e.id))
1419
- }) : /* @__PURE__ */ M(h, {
1420
- icon: /* @__PURE__ */ M(D, { className: "size-8 text-text-secondary" }),
1483
+ }) : /* @__PURE__ */ N(h, {
1484
+ icon: /* @__PURE__ */ N(Pe, { className: "size-8 text-text-secondary" }),
1421
1485
  title: n("vibeDetails.noCatalogs", "Not in any catalogs"),
1422
1486
  description: n("vibeDetails.noCatalogsDesc", "Add this vibe to catalogs to organize and track it alongside other components")
1423
1487
  }),
1424
- a && /* @__PURE__ */ M("div", {
1488
+ a && /* @__PURE__ */ N("div", {
1425
1489
  className: "fixed inset-0 bg-bg-overlay flex items-center justify-center z-50 p-4",
1426
- children: /* @__PURE__ */ N(j.div, {
1490
+ children: /* @__PURE__ */ P(j.div, {
1427
1491
  initial: {
1428
1492
  opacity: 0,
1429
1493
  scale: .95
@@ -1434,34 +1498,34 @@ function at({ vibeId: t, tr: n, navigate: i }) {
1434
1498
  },
1435
1499
  className: "bg-bg-surface rounded-lg w-full max-w-md max-h-[60vh] flex flex-col",
1436
1500
  children: [
1437
- /* @__PURE__ */ M("div", {
1501
+ /* @__PURE__ */ N("div", {
1438
1502
  className: "p-4 border-b border-border-default",
1439
- children: /* @__PURE__ */ M("h2", {
1503
+ children: /* @__PURE__ */ N("h2", {
1440
1504
  className: "text-lg font-semibold text-text-primary",
1441
1505
  children: n("vibeDetails.addToCatalogTitle", "Add Vibe to Catalog")
1442
1506
  })
1443
1507
  }),
1444
- /* @__PURE__ */ M("div", {
1508
+ /* @__PURE__ */ N("div", {
1445
1509
  className: "flex-1 overflow-y-auto p-2",
1446
- children: m.length === 0 ? /* @__PURE__ */ M("div", {
1510
+ children: m.length === 0 ? /* @__PURE__ */ N("div", {
1447
1511
  className: "p-4 text-center text-text-secondary text-sm",
1448
1512
  children: n("vibeDetails.noAvailableCatalogs", "No available catalogs. This vibe is already in all catalogs.")
1449
- }) : m.map((e) => /* @__PURE__ */ N("button", {
1513
+ }) : m.map((e) => /* @__PURE__ */ P("button", {
1450
1514
  type: "button",
1451
1515
  onClick: () => g(e.id),
1452
1516
  className: "w-full flex items-center justify-between p-3 rounded-md hover:bg-bg-sunken transition-colors text-left",
1453
- children: [/* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("p", {
1517
+ children: [/* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("p", {
1454
1518
  className: "font-medium text-text-primary text-sm",
1455
1519
  children: e.name
1456
- }), /* @__PURE__ */ M("p", {
1520
+ }), /* @__PURE__ */ N("p", {
1457
1521
  className: "text-xs text-text-secondary",
1458
1522
  children: e.visibility
1459
- })] }), /* @__PURE__ */ M(O, { className: "size-4 text-text-secondary" })]
1523
+ })] }), /* @__PURE__ */ N(Be, { className: "size-4 text-text-secondary" })]
1460
1524
  }, e.id))
1461
1525
  }),
1462
- /* @__PURE__ */ M("div", {
1526
+ /* @__PURE__ */ N("div", {
1463
1527
  className: "p-4 border-t border-border-default",
1464
- children: /* @__PURE__ */ M("button", {
1528
+ children: /* @__PURE__ */ N("button", {
1465
1529
  type: "button",
1466
1530
  onClick: () => o(!1),
1467
1531
  className: "w-full px-4 py-2 text-text-primary hover:bg-bg-sunken rounded-md transition-colors",
@@ -1473,8 +1537,8 @@ function at({ vibeId: t, tr: n, navigate: i }) {
1473
1537
  })
1474
1538
  ] });
1475
1539
  }
1476
- function ot({ vibeId: e, agentId: t, profile: n, tunnelUrl: r, apiKey: i, type: a, tr: o }) {
1477
- let s = a === "rest", c = "graphiql", l = `${r}/api/profiles/${encodeURIComponent(n)}/${c}/config/${e}`, [u, ee] = T(""), [d, f] = T(!1), [p, m] = T(!1), [h, g] = T(!1), [te, v] = T(0);
1540
+ function at({ vibeId: e, agentId: t, profile: n, tunnelUrl: r, apiKey: i, type: a, tr: o }) {
1541
+ let s = a === "rest", c = "graphiql", l = `${r}/api/profiles/${encodeURIComponent(n)}/${c}/config/${e}`, [u, ee] = T(""), [d, f] = T(!1), [p, m] = T(!1), [h, g] = T(!1), [te, ne] = T(0);
1478
1542
  S(() => {
1479
1543
  let e = { "Content-Type": "application/json" };
1480
1544
  i && (e["x-agent-api-key"] = i), fetch(l, { headers: e }).then((e) => e.ok ? e.json() : null).then((e) => {
@@ -1489,7 +1553,7 @@ function ot({ vibeId: e, agentId: t, profile: n, tunnelUrl: r, apiKey: i, type:
1489
1553
  i,
1490
1554
  s
1491
1555
  ]);
1492
- let ne = async () => {
1556
+ let re = async () => {
1493
1557
  if (u.trim()) {
1494
1558
  m(!0), g(!1);
1495
1559
  try {
@@ -1500,12 +1564,12 @@ function ot({ vibeId: e, agentId: t, profile: n, tunnelUrl: r, apiKey: i, type:
1500
1564
  method: "PUT",
1501
1565
  headers: e,
1502
1566
  body: JSON.stringify(t)
1503
- }), g(!0), v((e) => e + 1), setTimeout(() => g(!1), 3e3);
1567
+ }), g(!0), ne((e) => e + 1), setTimeout(() => g(!1), 3e3);
1504
1568
  } catch {} finally {
1505
1569
  m(!1);
1506
1570
  }
1507
1571
  }
1508
- }, [y, re] = T(null), [ie, ae] = T(null), b = C(() => [
1572
+ }, [v, ie] = T(null), [ae, y] = T(null), b = C(() => [
1509
1573
  `/ui/${c}`,
1510
1574
  `/api/profiles/${encodeURIComponent(n)}/${c}`,
1511
1575
  `/api/${c}`
@@ -1513,12 +1577,12 @@ function ot({ vibeId: e, agentId: t, profile: n, tunnelUrl: r, apiKey: i, type:
1513
1577
  S(() => {
1514
1578
  if (!t) return;
1515
1579
  let e = !1, r = null, i = (a) => {
1516
- e || (re(a), r = x(t, n, b, a, i, (e) => ae(e.message)));
1580
+ e || (ie(a), r = x(t, n, b, a, i, (e) => y(e.message)));
1517
1581
  };
1518
1582
  return se(t, n, b).then((a) => {
1519
- e || (re(a), r = x(t, n, b, a, i, (e) => ae(e.message)));
1583
+ e || (ie(a), r = x(t, n, b, a, i, (e) => y(e.message)));
1520
1584
  }).catch((t) => {
1521
- e || ae(t instanceof Error ? t.message : String(t));
1585
+ e || y(t instanceof Error ? t.message : String(t));
1522
1586
  }), () => {
1523
1587
  e = !0, r?.cancel();
1524
1588
  };
@@ -1527,46 +1591,46 @@ function ot({ vibeId: e, agentId: t, profile: n, tunnelUrl: r, apiKey: i, type:
1527
1591
  n,
1528
1592
  b
1529
1593
  ]);
1530
- let ce = `${r}/ui/${c}?vibeId=${e}&profile=${encodeURIComponent(n)}`, le = y ? oe(ce, y.token) : ce;
1531
- return /* @__PURE__ */ N("div", {
1594
+ let ce = `${r}/ui/${c}?vibeId=${e}&profile=${encodeURIComponent(n)}`, le = v ? oe(ce, v.token) : ce;
1595
+ return /* @__PURE__ */ P("div", {
1532
1596
  className: "space-y-4",
1533
- children: [/* @__PURE__ */ M(_, { children: /* @__PURE__ */ N("div", {
1597
+ children: [/* @__PURE__ */ N(_, { children: /* @__PURE__ */ P("div", {
1534
1598
  className: "p-4",
1535
1599
  children: [
1536
- /* @__PURE__ */ N("div", {
1600
+ /* @__PURE__ */ P("div", {
1537
1601
  className: "flex items-center gap-2 mb-2",
1538
- children: [M(s ? Me : Le, { className: "size-5 text-text-secondary" }), /* @__PURE__ */ M("h3", {
1602
+ children: [N(s ? Me : O, { className: "size-5 text-text-secondary" }), /* @__PURE__ */ N("h3", {
1539
1603
  className: "font-semibold text-text-primary",
1540
1604
  children: s ? o("vibeDetails.restPlaygroundTitle", "REST API Playground") : o("vibeDetails.graphqlPlaygroundTitle", "GraphQL Playground")
1541
1605
  })]
1542
1606
  }),
1543
- /* @__PURE__ */ N("div", {
1607
+ /* @__PURE__ */ P("div", {
1544
1608
  className: "flex items-center gap-2",
1545
- children: [/* @__PURE__ */ M("input", {
1609
+ children: [/* @__PURE__ */ N("input", {
1546
1610
  "aria-label": "control",
1547
1611
  type: "url",
1548
1612
  value: u,
1549
1613
  onChange: (e) => ee(e.target.value),
1550
1614
  placeholder: s ? o("vibeDetails.enterSwaggerUrl", "Enter OpenAPI/Swagger URL (e.g. https://petstore3.swagger.io/api/v3/openapi.json)") : o("vibeDetails.enterGraphqlUrl", "Enter GraphQL endpoint URL (e.g. https://countries.trevorblades.com/graphql)"),
1551
1615
  className: "flex-1 px-3 py-2 bg-bg-sunken border border-border-default rounded-md text-text-primary placeholder:text-text-placeholder text-sm",
1552
- onKeyDown: (e) => e.key === "Enter" && ne()
1553
- }), /* @__PURE__ */ N("button", {
1616
+ onKeyDown: (e) => e.key === "Enter" && re()
1617
+ }), /* @__PURE__ */ P("button", {
1554
1618
  type: "button",
1555
- onClick: ne,
1619
+ onClick: re,
1556
1620
  disabled: p || !u.trim(),
1557
1621
  className: "flex items-center gap-2 px-4 py-2 bg-action-primary-bg text-action-primary-text rounded-md hover:bg-action-primary-bg-hover transition-colors disabled:opacity-50 text-sm whitespace-nowrap",
1558
- children: [p ? /* @__PURE__ */ M(Fe, { className: "size-4 animate-spin" }) : M(h ? E : De, { className: "size-4" }), p ? o("common.saving", "Saving...") : h ? o("common.saved", "Saved!") : o("vibeDetails.loadApi", "Load API")]
1622
+ children: [p ? /* @__PURE__ */ N(Ie, { className: "size-4 animate-spin" }) : N(h ? D : De, { className: "size-4" }), p ? o("common.saving", "Saving...") : h ? o("common.saved", "Saved!") : o("vibeDetails.loadApi", "Load API")]
1559
1623
  })]
1560
1624
  }),
1561
- !d && /* @__PURE__ */ M("p", {
1625
+ !d && /* @__PURE__ */ N("p", {
1562
1626
  className: "text-xs text-text-muted mt-1",
1563
1627
  children: o("vibeDetails.loadingConfig", "Loading saved configuration...")
1564
1628
  })
1565
1629
  ]
1566
- }) }), t && !y ? /* @__PURE__ */ M("div", {
1630
+ }) }), t && !v ? /* @__PURE__ */ N("div", {
1567
1631
  className: "p-8 text-center text-sm text-text-secondary rounded-md border border-border-default bg-bg-sunken",
1568
- children: ie ? o("vibeDetails.iframeTokenError", `Iframe token error: ${ie}`) : o("vibeDetails.mintingIframeToken", "Authorizing iframe…")
1569
- }) : /* @__PURE__ */ M("iframe", {
1632
+ children: ae ? o("vibeDetails.iframeTokenError", `Iframe token error: ${ae}`) : o("vibeDetails.mintingIframeToken", "Authorizing iframe…")
1633
+ }) : /* @__PURE__ */ N("iframe", {
1570
1634
  src: le,
1571
1635
  title: s ? "REST API Playground" : "GraphQL Playground",
1572
1636
  className: "w-full rounded-md border border-border-default bg-bg-sunken",
@@ -1576,6 +1640,6 @@ function ot({ vibeId: e, agentId: t, profile: n, tunnelUrl: r, apiKey: i, type:
1576
1640
  });
1577
1641
  }
1578
1642
  //#endregion
1579
- export { it as VibeDetailsPage };
1643
+ export { rt as VibeDetailsPage };
1580
1644
 
1581
1645
  //# sourceMappingURL=VibeDetailsPage.js.map