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