@burdenoff/microfe-vibecontrols 2026.521.3 → 2026.522.2
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/VibeControlsRoot.js +86 -78
- package/dist/VibeControlsRoot.js.map +1 -1
- package/dist/VibeControlsRoutes.js +168 -125
- package/dist/VibeControlsRoutes.js.map +1 -1
- package/dist/components/agent-manager/AgentManagerBookmarksDrawer.js +174 -0
- package/dist/components/agent-manager/AgentManagerBookmarksDrawer.js.map +1 -0
- package/dist/components/agent-manager/AgentManagerChatPane.js +149 -94
- package/dist/components/agent-manager/AgentManagerChatPane.js.map +1 -1
- package/dist/components/agent-manager/AgentManagerMessageItem.js +52 -41
- package/dist/components/agent-manager/AgentManagerMessageItem.js.map +1 -1
- package/dist/components/agent-manager/AgentManagerMessageList.js +22 -15
- package/dist/components/agent-manager/AgentManagerMessageList.js.map +1 -1
- package/dist/components/agents/OpenInEditorMenu.js +241 -0
- package/dist/components/agents/OpenInEditorMenu.js.map +1 -0
- package/dist/components/agents/VibeOpenInEditorMenu.js +20 -0
- package/dist/components/agents/VibeOpenInEditorMenu.js.map +1 -0
- package/dist/components/agents/idePresets.js +148 -0
- package/dist/components/agents/idePresets.js.map +1 -0
- package/dist/components/agents/index.js +3 -0
- package/dist/components/ai/AIPlanPanel.js +332 -0
- package/dist/components/ai/AIPlanPanel.js.map +1 -0
- package/dist/components/analytics/index.js +2 -2
- package/dist/components/assistant/AssistantMessageItem.js +55 -47
- package/dist/components/assistant/AssistantMessageItem.js.map +1 -1
- package/dist/components/audit/AuditExportButton.js +87 -41
- package/dist/components/audit/AuditExportButton.js.map +1 -1
- package/dist/components/gitops/CIDurationChart.js +11 -11
- package/dist/components/security/SecurityEmptyState.js +33 -0
- package/dist/components/security/SecurityEmptyState.js.map +1 -0
- package/dist/components/security/SecurityEvidenceList.js +42 -0
- package/dist/components/security/SecurityEvidenceList.js.map +1 -0
- package/dist/components/security/SecurityFindingsTable.js +201 -0
- package/dist/components/security/SecurityFindingsTable.js.map +1 -0
- package/dist/components/security/SecurityHeaderStrip.js +67 -0
- package/dist/components/security/SecurityHeaderStrip.js.map +1 -0
- package/dist/components/security/SecurityLifecycleStepper.js +66 -0
- package/dist/components/security/SecurityLifecycleStepper.js.map +1 -0
- package/dist/components/security/SecurityProviderDrawer.js +112 -0
- package/dist/components/security/SecurityProviderDrawer.js.map +1 -0
- package/dist/components/security/SecurityTabPanel.js +105 -0
- package/dist/components/security/SecurityTabPanel.js.map +1 -0
- package/dist/components/security/gql.js +128 -0
- package/dist/components/security/gql.js.map +1 -0
- package/dist/components/security/index.js +8 -0
- package/dist/components/security/types.js +80 -0
- package/dist/components/security/types.js.map +1 -0
- package/dist/components/settings/IdePreferencesSection.js +66 -0
- package/dist/components/settings/IdePreferencesSection.js.map +1 -0
- package/dist/components/shared/PageSkeleton.js +88 -0
- package/dist/components/shared/PageSkeleton.js.map +1 -0
- package/dist/constants/pluginCatalog.js +20 -8
- package/dist/constants/pluginCatalog.js.map +1 -1
- package/dist/generated/wspace-operations.js +1350 -1262
- package/dist/generated/wspace-operations.js.map +1 -1
- package/dist/generated/wspace-types.js.map +1 -1
- package/dist/hooks/useToggleAgentBookmark.js +32 -0
- package/dist/hooks/useToggleAgentBookmark.js.map +1 -0
- package/dist/index.js +10 -10
- package/dist/pages/AgentDetailsPage.js +25 -25
- package/dist/pages/AgentDetailsPage.js.map +1 -1
- package/dist/pages/AgentsPage.js +326 -327
- package/dist/pages/AgentsPage.js.map +1 -1
- package/dist/pages/AnalyticsPage.js +425 -420
- package/dist/pages/AnalyticsPage.js.map +1 -1
- package/dist/pages/CatalogDetailPage.js +258 -249
- package/dist/pages/CatalogDetailPage.js.map +1 -1
- package/dist/pages/CatalogPage.js +22 -22
- package/dist/pages/CatalogPage.js.map +1 -1
- package/dist/pages/ComponentDetailPage.js +30 -30
- package/dist/pages/ComponentDetailPage.js.map +1 -1
- package/dist/pages/ComponentsPage.js +23 -23
- package/dist/pages/ComponentsPage.js.map +1 -1
- package/dist/pages/LogsPage.js +107 -0
- package/dist/pages/LogsPage.js.map +1 -0
- package/dist/pages/NoteDetailsPage.js +12 -12
- package/dist/pages/NoteDetailsPage.js.map +1 -1
- package/dist/pages/SessionDetailsPage.js +12 -12
- package/dist/pages/SessionDetailsPage.js.map +1 -1
- package/dist/pages/SessionsPage.js +158 -136
- package/dist/pages/SessionsPage.js.map +1 -1
- package/dist/pages/SettingsPage.js +60 -52
- package/dist/pages/SettingsPage.js.map +1 -1
- package/dist/pages/TargetDetailsPage.js +18 -18
- package/dist/pages/TargetDetailsPage.js.map +1 -1
- package/dist/pages/TargetsPage.js +328 -331
- package/dist/pages/TargetsPage.js.map +1 -1
- package/dist/pages/TemplateDetailPage.js +17 -17
- package/dist/pages/TemplateDetailPage.js.map +1 -1
- package/dist/pages/TemplatesPage.js +17 -17
- package/dist/pages/TemplatesPage.js.map +1 -1
- package/dist/pages/VibeDetailsPage.js +552 -535
- package/dist/pages/VibeDetailsPage.js.map +1 -1
- package/dist/pages/VibesPage.js +321 -296
- package/dist/pages/VibesPage.js.map +1 -1
- package/dist/pages/ai/AIBookmarksPage.js +184 -0
- package/dist/pages/ai/AIBookmarksPage.js.map +1 -0
- package/dist/pages/ai/AIPage.js +138 -109
- package/dist/pages/ai/AIPage.js.map +1 -1
- package/dist/services/planApi.js +18 -0
- package/dist/services/planApi.js.map +1 -0
- package/dist/store/vibeControlsStore.js +20 -2
- package/dist/store/vibeControlsStore.js.map +1 -1
- package/dist/translations/en.js +30 -1
- package/dist/translations/en.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,45 +1,47 @@
|
|
|
1
1
|
import { useAddVibeToCatalogMutation as e, useArchiveVibeMutation as t, useCreateSessionMutation as n, useGetVibeCatalogsQuery as r, useGetVibeFeatureCatalogQuery as i, useGetVibeFeatureFlagsQuery as a, useGetVibeQuery as o, useRemoveVibeFromCatalogMutation as s, useSetVibeFeatureFlagMutation as c, useUpdateVibeStatusMutation as l } from "../generated/wspace-operations.js";
|
|
2
|
-
import { useVibeControls as u, useVibeNavigate as
|
|
3
|
-
import { useVibeControlsStore as
|
|
4
|
-
import { PageHeader as
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { useActiveAgentProfile as re } from "../hooks/useActiveAgentProfile.js";
|
|
2
|
+
import { useVibeControls as u, useVibeNavigate as d } from "../providers/VibeControlsProvider.js";
|
|
3
|
+
import { useVibeControlsStore as f } from "../store/vibeControlsStore.js";
|
|
4
|
+
import { PageHeader as p } from "../components/shared/PageHeader.js";
|
|
5
|
+
import { ErrorState as m } from "../components/shared/ErrorState.js";
|
|
6
|
+
import { EntityTagPicker as h } from "../components/shared/EntityTagPicker.js";
|
|
7
|
+
import { EmptyState as g } from "../components/shared/EmptyState.js";
|
|
8
|
+
import { StatusBadge as _ } from "../components/shared/StatusBadge.js";
|
|
9
|
+
import { Card as v } from "../components/shared/Card.js";
|
|
10
|
+
import { SESSION_PROVIDER_PACKAGES as ee } from "../constants/pluginCatalog.js";
|
|
11
|
+
import { PluginGate as te } from "../components/shared/PluginGate.js";
|
|
12
|
+
import { useActiveAgentProfile as ne } from "../hooks/useActiveAgentProfile.js";
|
|
14
13
|
import "../components/shared/index.js";
|
|
15
14
|
import { VIBE_PERMISSIONS as y } from "../constants/permissions.js";
|
|
16
|
-
import {
|
|
15
|
+
import { PageSkeleton as b } from "../components/shared/PageSkeleton.js";
|
|
16
|
+
import { VibeOpenInEditorMenu as re } from "../components/agents/VibeOpenInEditorMenu.js";
|
|
17
17
|
import "../components/agents/index.js";
|
|
18
|
-
import { NotesTabPanel as
|
|
18
|
+
import { NotesTabPanel as x } from "../components/notes/NotesTabPanel.js";
|
|
19
19
|
import "../components/notes/index.js";
|
|
20
|
-
import { useQueryBackedTab as
|
|
21
|
-
import { appendIframeTokenParam as
|
|
22
|
-
import { AddTabDialog as
|
|
23
|
-
import { PluginIframeMount as
|
|
24
|
-
import { ScorecardPanel as
|
|
20
|
+
import { useQueryBackedTab as S } from "../hooks/useQueryBackedTab.js";
|
|
21
|
+
import { appendIframeTokenParam as ie, mintIframeToken as C, mintScopedIframeToken as ae, scheduleIframeTokenRefresh as w } from "../services/iframeToken.js";
|
|
22
|
+
import { AddTabDialog as oe } from "../components/plugins/AddTabDialog.js";
|
|
23
|
+
import { PluginIframeMount as se } from "../components/plugins/PluginIframeMount.js";
|
|
24
|
+
import { ScorecardPanel as ce } from "../components/scorecard/ScorecardPanel.js";
|
|
25
25
|
import "../components/scorecard/index.js";
|
|
26
|
-
import { DocsTabPanel as
|
|
26
|
+
import { DocsTabPanel as le } from "../components/docs/DocsTabPanel.js";
|
|
27
27
|
import "../components/docs/index.js";
|
|
28
|
-
import { VibeGitOpsTab as
|
|
29
|
-
import { VibeAgentEmptyState as
|
|
30
|
-
import { DEFAULT_VIBE_FEATURE_CATALOG as
|
|
31
|
-
import {
|
|
32
|
-
import
|
|
33
|
-
import {
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
36
|
-
import {
|
|
37
|
-
import {
|
|
38
|
-
import {
|
|
39
|
-
import {
|
|
40
|
-
import {
|
|
28
|
+
import { VibeGitOpsTab as ue } from "../components/gitops/VibeGitOpsTab.js";
|
|
29
|
+
import { VibeAgentEmptyState as de } from "../components/vibe/VibeAgentEmptyState.js";
|
|
30
|
+
import { DEFAULT_VIBE_FEATURE_CATALOG as fe, isVibeFeatureEnabled as pe } from "../lib/vibeFeatures.js";
|
|
31
|
+
import { SecurityTabPanel as me } from "../components/security/SecurityTabPanel.js";
|
|
32
|
+
import "../components/security/index.js";
|
|
33
|
+
import { useCallback as he, useEffect as ge, useMemo as T, useRef as _e, useState as E } from "react";
|
|
34
|
+
import { useI18n as ve } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
35
|
+
import { Archive as ye, ArrowLeft as D, BarChart3 as be, BookOpen as xe, Check as Se, Clock as Ce, ExternalLink as we, FileText as Te, Folder as Ee, GitBranch as De, GitMerge as Oe, Globe as ke, Info as Ae, Library as O, Link2 as je, Loader2 as Me, Network as Ne, Pause as Pe, Play as Fe, Plus as k, RefreshCw as Ie, Server as Le, Settings as Re, Shield as ze, Tag as Be, Terminal as A, Variable as Ve, X as He, Zap as j } from "lucide-react";
|
|
36
|
+
import { useParams as Ue } from "react-router-dom";
|
|
37
|
+
import { AnimatePresence as We, motion as M } from "framer-motion";
|
|
38
|
+
import { Fragment as Ge, jsx as N, jsxs as P } from "react/jsx-runtime";
|
|
39
|
+
import { useFeatureFlagDetails as F } from "@burdenoff/fe-libs/shared/feature-flags";
|
|
40
|
+
import { MotionItem as I, MotionList as Ke, MotionPage as L } from "@burdenoff/fe-libs/shared/motion";
|
|
41
|
+
import { PermissionButton as qe } from "@burdenoff/fe-libs/shared/components";
|
|
42
|
+
import { usePluginContributions as Je } from "@burdenoff/fe-libs/shared/plugins";
|
|
41
43
|
//#region src/pages/VibeDetailsPage.tsx
|
|
42
|
-
var
|
|
44
|
+
var Ye = [
|
|
43
45
|
"overview",
|
|
44
46
|
"config",
|
|
45
47
|
"git",
|
|
@@ -50,66 +52,68 @@ var Ze = [
|
|
|
50
52
|
"catalogs",
|
|
51
53
|
"graphqlPlayground",
|
|
52
54
|
"gitops",
|
|
55
|
+
"security",
|
|
53
56
|
"related"
|
|
54
|
-
],
|
|
57
|
+
], Xe = new Set(["overview", "config"]), Ze = new Set(["apiPlayground"]), Qe = new Set([
|
|
55
58
|
"sessions",
|
|
56
59
|
"gitops",
|
|
57
60
|
"graphqlPlayground",
|
|
58
|
-
"git"
|
|
61
|
+
"git",
|
|
62
|
+
"security"
|
|
59
63
|
]);
|
|
60
|
-
function
|
|
61
|
-
let { t: e } =
|
|
64
|
+
function R() {
|
|
65
|
+
let { t: e } = ve(), { id: r } = Ue(), { basePath: s } = u(), ie = s || "", C = d(), w = he((t, n) => {
|
|
62
66
|
let r = e(t);
|
|
63
67
|
return r === t ? n : r;
|
|
64
|
-
}, [e]), [
|
|
68
|
+
}, [e]), [Se] = l({ refetchQueries: ["GetVibe"] }), [we] = t({ refetchQueries: ["GetVibe"] }), [ke] = n({ refetchQueries: ["GetVibe", "ListSessions"] }), { data: Me } = i({
|
|
65
69
|
fetchPolicy: "cache-first",
|
|
66
70
|
errorPolicy: "ignore"
|
|
67
|
-
}),
|
|
68
|
-
let e = new Map(
|
|
69
|
-
for (let t of
|
|
71
|
+
}), He = T(() => {
|
|
72
|
+
let e = new Map(fe.map((e) => [e.id, e]));
|
|
73
|
+
for (let t of Me?.vibeFeatureCatalog ?? []) e.set(t.id, t);
|
|
70
74
|
return Array.from(e.values());
|
|
71
|
-
}, [
|
|
75
|
+
}, [Me?.vibeFeatureCatalog]), R = T(() => He.filter((e) => !Ze.has(e.id)), [He]), [tt, { loading: nt }] = c({ refetchQueries: ["GetVibe"] }), [rt, it] = E(!1), [at, z] = E(null), [ot, st] = E(!1), [ct, lt] = E(null), ut = _e(null), dt = _e(null), ft = _e(null), pt = _e(null), { data: mt, loading: ht, error: gt, refetch: _t } = o({
|
|
72
76
|
variables: { id: r || "" },
|
|
73
77
|
skip: !r,
|
|
74
78
|
fetchPolicy: "cache-and-network"
|
|
75
|
-
}), B =
|
|
79
|
+
}), B = mt?.vibe, { data: vt } = a({
|
|
76
80
|
variables: { id: r || "" },
|
|
77
81
|
skip: !r,
|
|
78
82
|
fetchPolicy: "cache-first",
|
|
79
83
|
errorPolicy: "ignore"
|
|
80
|
-
}),
|
|
84
|
+
}), yt = B, V = vt?.vibe ?? yt, H = he((e) => pe(V ?? null, e, R), [V, R]), bt = F("vibes.tabs.git"), xt = F("vibes.tabs.scorecard"), St = F("vibes.tabs.graphql-playground"), Ct = F("vibes.tabs.git-iframe"), wt = F("vibes.tabs.graphiql-iframe"), Tt = F("vibes.tabs.gitops-iframe"), Et = he((e) => {
|
|
81
85
|
switch (e) {
|
|
82
|
-
case "git": return
|
|
83
|
-
case "scorecard": return
|
|
84
|
-
case "graphqlPlayground": return
|
|
86
|
+
case "git": return bt ? !!bt.value : !0;
|
|
87
|
+
case "scorecard": return xt ? !!xt.value : !0;
|
|
88
|
+
case "graphqlPlayground": return St ? !!St.value : !0;
|
|
85
89
|
default: return !0;
|
|
86
90
|
}
|
|
87
91
|
}, [
|
|
88
|
-
yt,
|
|
89
92
|
bt,
|
|
90
|
-
xt
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
93
|
+
xt,
|
|
94
|
+
St
|
|
95
|
+
]), U = B?.agents ?? [], W = B?.sessions || [], Dt = B?.children || [], Ot = B?.parent || null, kt = f((e) => r ? e.defaultAgentForVibe?.[r] : void 0), G = (kt ? U.find((e) => e.id === kt) ?? null : null) ?? (U.length === 1 ? U[0] : U.find((e) => !!e.tunnelUrl) ?? U[0] ?? null), K = G, At = G?.tunnelUrl ?? null, jt = G?.agentApiKey ?? null, { active: q } = ne(G?.id ?? null), J = F("vibes.tabs.iframe-host")?.value === !0, Mt = T(() => {
|
|
96
|
+
if (!J || !G?.tunnelUrl) return [];
|
|
97
|
+
let e = G.id, t = q ?? "default";
|
|
94
98
|
return [{
|
|
95
99
|
tunnelUrl: G.tunnelUrl,
|
|
96
100
|
profile: t,
|
|
97
101
|
label: G.name ?? G.id,
|
|
98
|
-
mintIframeToken: async ({ pathPrefixes: n }) =>
|
|
102
|
+
mintIframeToken: async ({ pathPrefixes: n }) => ae(e, t, n)
|
|
99
103
|
}];
|
|
100
104
|
}, [
|
|
101
|
-
|
|
105
|
+
J,
|
|
102
106
|
G,
|
|
103
|
-
|
|
104
|
-
]),
|
|
107
|
+
q
|
|
108
|
+
]), Y = Je(Mt, {
|
|
105
109
|
mountPoint: "vibe.detailTab",
|
|
106
|
-
enabled:
|
|
107
|
-
}), [
|
|
108
|
-
let e =
|
|
109
|
-
return [...
|
|
110
|
-
}, [
|
|
111
|
-
|
|
112
|
-
B &&
|
|
110
|
+
enabled: J && Mt.length > 0
|
|
111
|
+
}), [X, Z] = S(T(() => {
|
|
112
|
+
let e = Y.data.filter((e) => e.contribution.mountPoint === "vibe.detailTab").map((e) => e.contribution.id);
|
|
113
|
+
return [...Ye, ...e];
|
|
114
|
+
}, [Y.data]), "overview"), [Nt, Pt] = E(!1);
|
|
115
|
+
ge(() => {
|
|
116
|
+
B && f.setState({
|
|
113
117
|
activeAgentId: G?.id ?? null,
|
|
114
118
|
selectedAgentId: G?.id ?? null,
|
|
115
119
|
activeVibeId: B.id,
|
|
@@ -118,88 +122,86 @@ function tt() {
|
|
|
118
122
|
selectedSessionId: null
|
|
119
123
|
});
|
|
120
124
|
}, [B?.id, G?.id]);
|
|
121
|
-
let
|
|
122
|
-
|
|
123
|
-
if (!
|
|
124
|
-
if (!H(
|
|
125
|
-
|
|
125
|
+
let Q = U.length > 0;
|
|
126
|
+
ge(() => {
|
|
127
|
+
if (!Xe.has(X)) {
|
|
128
|
+
if (!H(X) || !Et(X)) {
|
|
129
|
+
Z("overview");
|
|
126
130
|
return;
|
|
127
131
|
}
|
|
128
|
-
!
|
|
132
|
+
!Q && Qe.has(X) && Z("overview");
|
|
129
133
|
}
|
|
130
134
|
}, [
|
|
131
|
-
|
|
135
|
+
X,
|
|
132
136
|
H,
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
137
|
+
Et,
|
|
138
|
+
Q,
|
|
139
|
+
Z
|
|
136
140
|
]);
|
|
137
141
|
let $ = () => {
|
|
138
|
-
|
|
139
|
-
},
|
|
142
|
+
C("/vibes");
|
|
143
|
+
}, Ft = async () => {
|
|
140
144
|
if (B?.id) try {
|
|
141
|
-
await
|
|
145
|
+
await Se({ variables: {
|
|
142
146
|
id: B.id,
|
|
143
147
|
status: "ACTIVE"
|
|
144
148
|
} });
|
|
145
149
|
} catch (e) {
|
|
146
150
|
console.error("Failed to activate vibe:", e);
|
|
147
151
|
}
|
|
148
|
-
},
|
|
152
|
+
}, It = async () => {
|
|
149
153
|
if (B?.id) try {
|
|
150
|
-
await
|
|
154
|
+
await Se({ variables: {
|
|
151
155
|
id: B.id,
|
|
152
156
|
status: "INACTIVE"
|
|
153
157
|
} });
|
|
154
158
|
} catch (e) {
|
|
155
159
|
console.error("Failed to deactivate vibe:", e);
|
|
156
160
|
}
|
|
157
|
-
},
|
|
161
|
+
}, Lt = async () => {
|
|
158
162
|
if (B?.id) try {
|
|
159
|
-
await
|
|
163
|
+
await we({ variables: { id: B.id } });
|
|
160
164
|
} catch (e) {
|
|
161
165
|
console.error("Failed to archive vibe:", e);
|
|
162
166
|
}
|
|
163
|
-
}, Lt = () => {
|
|
164
|
-
B?.path ? window.location.href = `vscode://file/${B.path}` : (F(S("vibesPage.openEditorPathMissing", "No path available to open in editor")), setTimeout(() => F(null), 3e3));
|
|
165
167
|
}, Rt = () => {
|
|
166
|
-
|
|
168
|
+
z(null), it(!0);
|
|
167
169
|
}, zt = async () => {
|
|
168
|
-
let e =
|
|
170
|
+
let e = ut.current?.value?.trim(), t = dt.current?.value, n = ft.current?.value?.trim() || void 0, r = pt.current?.value?.trim() || void 0;
|
|
169
171
|
if (!e) {
|
|
170
|
-
|
|
172
|
+
z(w("vibeDetails.sessionNameRequired", "Session name is required"));
|
|
171
173
|
return;
|
|
172
174
|
}
|
|
173
175
|
let i = B?.agentId;
|
|
174
176
|
if (!i) {
|
|
175
|
-
|
|
177
|
+
z(w("vibeDetails.noAgentAttached", "This vibe has no agent attached. Connect an agent to this vibe before creating a session."));
|
|
176
178
|
return;
|
|
177
179
|
}
|
|
178
|
-
|
|
180
|
+
st(!0), z(null);
|
|
179
181
|
try {
|
|
180
|
-
await
|
|
182
|
+
await ke({ variables: { input: {
|
|
181
183
|
name: e,
|
|
182
184
|
type: t || "TERMINAL",
|
|
183
185
|
agentId: i,
|
|
184
186
|
vibeId: B?.id,
|
|
185
187
|
command: n,
|
|
186
188
|
workingDirectory: r || B?.path || void 0
|
|
187
|
-
} } }),
|
|
189
|
+
} } }), it(!1), ut.current && (ut.current.value = ""), dt.current && (dt.current.selectedIndex = 0), ft.current && (ft.current.value = ""), pt.current && (pt.current.value = ""), lt(w("sessions.createdSuccess", "Session created successfully")), setTimeout(() => lt(null), 3e3);
|
|
188
190
|
} catch (e) {
|
|
189
|
-
|
|
191
|
+
z(e instanceof Error ? e.message : w("sessions.failedCreate", "Failed to create session"));
|
|
190
192
|
} finally {
|
|
191
|
-
|
|
193
|
+
st(!1);
|
|
192
194
|
}
|
|
193
195
|
}, Bt = () => {
|
|
194
|
-
K &&
|
|
196
|
+
K && C(`/agents/${K.id}`);
|
|
195
197
|
}, Vt = (e) => {
|
|
196
|
-
|
|
198
|
+
C(`/sessions/${e}`);
|
|
197
199
|
}, Ht = (e) => {
|
|
198
|
-
|
|
200
|
+
C(`/vibes/${e}`);
|
|
199
201
|
}, Ut = (e) => {
|
|
200
|
-
if (!e) return
|
|
202
|
+
if (!e) return w("health.never", "Never");
|
|
201
203
|
let t = Date.now() - new Date(e).getTime();
|
|
202
|
-
return t < 6e4 ?
|
|
204
|
+
return t < 6e4 ? w("health.justNow", "Just now") : t < 36e5 ? `${Math.floor(t / 6e4)}m ago` : t < 864e5 ? `${Math.floor(t / 36e5)}h ago` : new Date(e).toLocaleDateString();
|
|
203
205
|
}, Wt = (e) => {
|
|
204
206
|
switch (e) {
|
|
205
207
|
case "clean": return "text-status-success-text";
|
|
@@ -208,283 +210,281 @@ function tt() {
|
|
|
208
210
|
default: return "text-text-secondary";
|
|
209
211
|
}
|
|
210
212
|
};
|
|
211
|
-
if (
|
|
213
|
+
if (ht && !B) return /* @__PURE__ */ P(L, {
|
|
212
214
|
className: "space-y-6 p-4 sm:p-6 bg-bg-surface min-h-screen",
|
|
213
|
-
children: [/* @__PURE__ */
|
|
215
|
+
children: [/* @__PURE__ */ P("button", {
|
|
214
216
|
onClick: $,
|
|
215
217
|
className: "flex items-center gap-2 text-text-secondary hover:text-text-primary transition-colors",
|
|
216
|
-
children: [/* @__PURE__ */
|
|
217
|
-
}), /* @__PURE__ */
|
|
218
|
+
children: [/* @__PURE__ */ N(D, { className: "w-4 h-4" }), w("vibeDetails.backToVibes", "Back to Vibes")]
|
|
219
|
+
}), /* @__PURE__ */ N(b, { variant: "detail" })]
|
|
218
220
|
});
|
|
219
|
-
if (
|
|
221
|
+
if (gt && !B) return /* @__PURE__ */ P(L, {
|
|
220
222
|
className: "space-y-6 p-4 sm:p-6 bg-bg-surface min-h-screen",
|
|
221
|
-
children: [/* @__PURE__ */
|
|
223
|
+
children: [/* @__PURE__ */ P("button", {
|
|
222
224
|
onClick: $,
|
|
223
225
|
className: "flex items-center gap-2 text-text-secondary hover:text-text-primary transition-colors",
|
|
224
|
-
children: [/* @__PURE__ */
|
|
225
|
-
}), /* @__PURE__ */
|
|
226
|
-
title:
|
|
227
|
-
message:
|
|
228
|
-
onRetry: () =>
|
|
226
|
+
children: [/* @__PURE__ */ N(D, { className: "w-4 h-4" }), w("vibeDetails.backToVibes", "Back to Vibes")]
|
|
227
|
+
}), /* @__PURE__ */ N(m, {
|
|
228
|
+
title: w("vibeDetails.failedLoad", "Failed to load vibe"),
|
|
229
|
+
message: gt.message,
|
|
230
|
+
onRetry: () => _t()
|
|
229
231
|
})]
|
|
230
232
|
});
|
|
231
|
-
if (!B) return /* @__PURE__ */
|
|
233
|
+
if (!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
|
onClick: $,
|
|
235
237
|
className: "flex items-center gap-2 text-text-secondary hover:text-text-primary transition-colors",
|
|
236
|
-
children: [/* @__PURE__ */
|
|
237
|
-
}), /* @__PURE__ */
|
|
238
|
-
icon: /* @__PURE__ */
|
|
239
|
-
title:
|
|
240
|
-
description: `${
|
|
241
|
-
action: /* @__PURE__ */
|
|
238
|
+
children: [/* @__PURE__ */ N(D, { className: "w-4 h-4" }), w("vibeDetails.backToVibes", "Back to Vibes")]
|
|
239
|
+
}), /* @__PURE__ */ N(g, {
|
|
240
|
+
icon: /* @__PURE__ */ N(j, { className: "w-8 h-8 text-text-secondary" }),
|
|
241
|
+
title: w("vibeDetails.notFound", "Vibe not found"),
|
|
242
|
+
description: `${w("vibeDetails.notFoundDescriptionPrefix", "No vibe with ID")} "${r}" ${w("vibeDetails.notFoundDescriptionSuffix", "exists")}`,
|
|
243
|
+
action: /* @__PURE__ */ N("button", {
|
|
242
244
|
onClick: $,
|
|
243
245
|
className: "px-4 py-2 bg-action-primary-bg text-action-primary-text rounded-md hover:bg-action-primary-bg-hover transition-colors",
|
|
244
|
-
children:
|
|
246
|
+
children: w("vibeDetails.backToVibes", "Back to Vibes")
|
|
245
247
|
})
|
|
246
248
|
})]
|
|
247
249
|
});
|
|
248
|
-
let Gt = B.status === "ACTIVE" || B.status === "RUNNING", Kt = W.filter((e) => e.status === "RUNNING").length, qt =
|
|
250
|
+
let Gt = B.status === "ACTIVE" || B.status === "RUNNING", Kt = W.filter((e) => e.status === "RUNNING").length, qt = Dt.length + +!!Ot + +!!K, Jt = !!(B.gitBranch || B.gitRemote), Yt = [
|
|
249
251
|
{
|
|
250
252
|
id: "overview",
|
|
251
|
-
label:
|
|
252
|
-
icon:
|
|
253
|
+
label: w("nav.overview", "Overview"),
|
|
254
|
+
icon: Ae
|
|
253
255
|
},
|
|
254
256
|
{
|
|
255
257
|
id: "config",
|
|
256
|
-
label:
|
|
257
|
-
icon:
|
|
258
|
+
label: w("vibeDetails.config", "Config"),
|
|
259
|
+
icon: Re
|
|
258
260
|
},
|
|
259
261
|
{
|
|
260
262
|
id: "git",
|
|
261
|
-
label:
|
|
262
|
-
icon:
|
|
263
|
+
label: w("vibeDetails.git", "Git"),
|
|
264
|
+
icon: De,
|
|
263
265
|
badge: Jt && B.gitBranch || void 0
|
|
264
266
|
},
|
|
265
267
|
{
|
|
266
268
|
id: "sessions",
|
|
267
|
-
label:
|
|
268
|
-
icon:
|
|
269
|
+
label: w("nav.sessions", "Sessions"),
|
|
270
|
+
icon: A,
|
|
269
271
|
badge: `${W.length}`
|
|
270
272
|
},
|
|
271
273
|
{
|
|
272
274
|
id: "notes",
|
|
273
|
-
label:
|
|
274
|
-
icon:
|
|
275
|
+
label: w("vibeDetails.notes", "Notes"),
|
|
276
|
+
icon: Te
|
|
275
277
|
},
|
|
276
278
|
{
|
|
277
279
|
id: "docs",
|
|
278
|
-
label:
|
|
279
|
-
icon:
|
|
280
|
+
label: w("vibeDetails.docs", "Docs"),
|
|
281
|
+
icon: xe
|
|
280
282
|
},
|
|
281
283
|
{
|
|
282
284
|
id: "scorecard",
|
|
283
|
-
label:
|
|
284
|
-
icon:
|
|
285
|
+
label: w("vibeDetails.scorecard", "Scorecard"),
|
|
286
|
+
icon: be
|
|
285
287
|
},
|
|
286
288
|
{
|
|
287
289
|
id: "catalogs",
|
|
288
|
-
label:
|
|
289
|
-
icon:
|
|
290
|
+
label: w("vibeDetails.catalogs", "Catalogs"),
|
|
291
|
+
icon: O
|
|
290
292
|
},
|
|
291
293
|
{
|
|
292
294
|
id: "graphqlPlayground",
|
|
293
|
-
label:
|
|
294
|
-
icon:
|
|
295
|
+
label: w("vibeDetails.graphqlPlayground", "GraphQL"),
|
|
296
|
+
icon: Ne
|
|
295
297
|
},
|
|
296
298
|
{
|
|
297
299
|
id: "gitops",
|
|
298
|
-
label:
|
|
299
|
-
icon:
|
|
300
|
+
label: w("vibeDetails.gitops", "GitOps"),
|
|
301
|
+
icon: Oe
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
id: "security",
|
|
305
|
+
label: w("vibeDetails.security", "Security"),
|
|
306
|
+
icon: ze
|
|
300
307
|
},
|
|
301
308
|
{
|
|
302
309
|
id: "related",
|
|
303
|
-
label:
|
|
304
|
-
icon:
|
|
310
|
+
label: w("vibeDetails.related", "Related"),
|
|
311
|
+
icon: je,
|
|
305
312
|
badge: qt > 0 ? `${qt}` : void 0
|
|
306
313
|
}
|
|
307
|
-
].filter((e) =>
|
|
308
|
-
return /* @__PURE__ */
|
|
314
|
+
].filter((e) => Xe.has(e.id) ? !0 : !(!H(e.id) || !Et(e.id) || !Q && Qe.has(e.id) || e.id === "git" && Ct?.value === !0 || e.id === "graphqlPlayground" && wt?.value === !0 || e.id === "gitops" && Tt?.value === !0));
|
|
315
|
+
return /* @__PURE__ */ P(L, {
|
|
309
316
|
className: "space-y-6 p-4 sm:p-6 bg-bg-surface min-h-screen",
|
|
310
317
|
children: [
|
|
311
|
-
|
|
318
|
+
ct && /* @__PURE__ */ N("div", {
|
|
312
319
|
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",
|
|
313
|
-
children:
|
|
320
|
+
children: ct
|
|
314
321
|
}),
|
|
315
|
-
/* @__PURE__ */
|
|
322
|
+
/* @__PURE__ */ P("button", {
|
|
316
323
|
onClick: $,
|
|
317
324
|
className: "flex items-center gap-2 text-text-secondary hover:text-text-primary transition-colors",
|
|
318
|
-
children: [/* @__PURE__ */
|
|
325
|
+
children: [/* @__PURE__ */ N(D, { className: "w-4 h-4" }), w("vibeDetails.backToVibes", "Back to Vibes")]
|
|
319
326
|
}),
|
|
320
|
-
/* @__PURE__ */
|
|
327
|
+
/* @__PURE__ */ N(p, {
|
|
321
328
|
title: B.name,
|
|
322
|
-
description: B.description ||
|
|
329
|
+
description: B.description || w("vibeDetails.noDescription", "No description"),
|
|
323
330
|
breadcrumb: [{
|
|
324
|
-
label:
|
|
325
|
-
path:
|
|
331
|
+
label: w("nav.vibes", "Vibes"),
|
|
332
|
+
path: ie ? `${ie}/vibes` : "/vibes"
|
|
326
333
|
}, { label: B.name }],
|
|
327
|
-
actions: /* @__PURE__ */
|
|
334
|
+
actions: /* @__PURE__ */ P("div", {
|
|
328
335
|
className: "flex items-center gap-2 flex-wrap",
|
|
329
336
|
children: [
|
|
330
|
-
/* @__PURE__ */
|
|
331
|
-
onClick: () =>
|
|
332
|
-
disabled:
|
|
337
|
+
/* @__PURE__ */ N("button", {
|
|
338
|
+
onClick: () => _t(),
|
|
339
|
+
disabled: ht,
|
|
333
340
|
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",
|
|
334
|
-
title:
|
|
335
|
-
children: /* @__PURE__ */
|
|
341
|
+
title: w("common.refresh", "Refresh"),
|
|
342
|
+
children: /* @__PURE__ */ N(Ie, { className: `w-4 h-4 ${ht ? "animate-spin" : ""}` })
|
|
336
343
|
}),
|
|
337
|
-
/* @__PURE__ */
|
|
344
|
+
/* @__PURE__ */ N(qe, {
|
|
338
345
|
permission: y.VIBE_UPDATE,
|
|
339
346
|
deniedBehavior: "disable",
|
|
340
347
|
deniedTooltip: "You don't have permission to update vibes",
|
|
341
|
-
children: Gt ? /* @__PURE__ */
|
|
342
|
-
onClick:
|
|
348
|
+
children: Gt ? /* @__PURE__ */ P("button", {
|
|
349
|
+
onClick: It,
|
|
343
350
|
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 disabled:opacity-50 disabled:cursor-not-allowed",
|
|
344
|
-
children: [/* @__PURE__ */
|
|
351
|
+
children: [/* @__PURE__ */ N(Pe, { className: "w-3.5 h-3.5 sm:w-4 sm:h-4" }), /* @__PURE__ */ N("span", {
|
|
345
352
|
className: "hidden sm:inline",
|
|
346
|
-
children:
|
|
353
|
+
children: w("vibeDetails.deactivate", "Deactivate")
|
|
347
354
|
})]
|
|
348
|
-
}) : /* @__PURE__ */
|
|
349
|
-
onClick:
|
|
355
|
+
}) : /* @__PURE__ */ P("button", {
|
|
356
|
+
onClick: Ft,
|
|
350
357
|
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-status-success-bg text-status-success-text rounded-md hover:opacity-80 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
|
|
351
|
-
children: [/* @__PURE__ */
|
|
358
|
+
children: [/* @__PURE__ */ N(Fe, { className: "w-3.5 h-3.5 sm:w-4 sm:h-4" }), /* @__PURE__ */ N("span", {
|
|
352
359
|
className: "hidden sm:inline",
|
|
353
|
-
children:
|
|
360
|
+
children: w("vibeDetails.activate", "Activate")
|
|
354
361
|
})]
|
|
355
362
|
})
|
|
356
363
|
}),
|
|
357
|
-
/* @__PURE__ */
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
})]
|
|
365
|
-
}),
|
|
366
|
-
H("browserEditor") && /* @__PURE__ */ A(ie, {
|
|
367
|
-
tunnelUrl: q,
|
|
368
|
-
agentApiKey: kt,
|
|
369
|
-
profile: J,
|
|
370
|
-
workspacePath: B.path || void 0
|
|
364
|
+
/* @__PURE__ */ N(re, {
|
|
365
|
+
vibeId: B.id,
|
|
366
|
+
workspacePath: B.path,
|
|
367
|
+
tunnelUrl: At,
|
|
368
|
+
agentApiKey: jt,
|
|
369
|
+
profile: q ?? "default",
|
|
370
|
+
browserEditorEnabled: H("browserEditor")
|
|
371
371
|
}),
|
|
372
|
-
/* @__PURE__ */
|
|
372
|
+
/* @__PURE__ */ N(qe, {
|
|
373
373
|
permission: y.SESSION_CREATE,
|
|
374
374
|
deniedBehavior: "disable",
|
|
375
375
|
deniedTooltip: "You don't have permission to create sessions",
|
|
376
|
-
children: /* @__PURE__ */
|
|
376
|
+
children: /* @__PURE__ */ P("button", {
|
|
377
377
|
onClick: Rt,
|
|
378
378
|
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",
|
|
379
379
|
children: [
|
|
380
|
-
/* @__PURE__ */
|
|
381
|
-
/* @__PURE__ */
|
|
380
|
+
/* @__PURE__ */ N(k, { className: "w-3.5 h-3.5 sm:w-4 sm:h-4" }),
|
|
381
|
+
/* @__PURE__ */ N("span", {
|
|
382
382
|
className: "hidden sm:inline",
|
|
383
|
-
children:
|
|
383
|
+
children: w("vibeDetails.new", "New")
|
|
384
384
|
}),
|
|
385
|
-
/* @__PURE__ */
|
|
385
|
+
/* @__PURE__ */ N("span", {
|
|
386
386
|
className: "hidden sm:inline",
|
|
387
|
-
children:
|
|
387
|
+
children: w("nav.sessions", "Session")
|
|
388
388
|
})
|
|
389
389
|
]
|
|
390
390
|
})
|
|
391
391
|
}),
|
|
392
|
-
/* @__PURE__ */
|
|
392
|
+
/* @__PURE__ */ N(qe, {
|
|
393
393
|
permission: y.VIBE_UPDATE,
|
|
394
394
|
deniedBehavior: "disable",
|
|
395
395
|
deniedTooltip: "You don't have permission to archive vibes",
|
|
396
|
-
children: /* @__PURE__ */
|
|
397
|
-
onClick:
|
|
396
|
+
children: /* @__PURE__ */ P("button", {
|
|
397
|
+
onClick: Lt,
|
|
398
398
|
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-status-warning-bg text-status-warning-text rounded-md hover:opacity-80 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
|
|
399
|
-
title:
|
|
400
|
-
children: [/* @__PURE__ */
|
|
399
|
+
title: w("vibeDetails.archive", "Archive"),
|
|
400
|
+
children: [/* @__PURE__ */ N(ye, { className: "w-3.5 h-3.5 sm:w-4 sm:h-4" }), /* @__PURE__ */ N("span", {
|
|
401
401
|
className: "hidden sm:inline",
|
|
402
|
-
children:
|
|
402
|
+
children: w("vibeDetails.archive", "Archive")
|
|
403
403
|
})]
|
|
404
404
|
})
|
|
405
405
|
})
|
|
406
406
|
]
|
|
407
407
|
})
|
|
408
408
|
}),
|
|
409
|
-
/* @__PURE__ */
|
|
409
|
+
/* @__PURE__ */ P(Ke, {
|
|
410
410
|
stagger: .04,
|
|
411
411
|
className: "grid grid-cols-2 sm:grid-cols-4 gap-3 sm:gap-4",
|
|
412
412
|
children: [
|
|
413
|
-
/* @__PURE__ */
|
|
413
|
+
/* @__PURE__ */ N(I, { children: /* @__PURE__ */ N(v, {
|
|
414
414
|
className: "p-3 sm:p-4",
|
|
415
|
-
children: /* @__PURE__ */
|
|
415
|
+
children: /* @__PURE__ */ P("div", {
|
|
416
416
|
className: "flex items-center gap-2 sm:gap-3",
|
|
417
|
-
children: [/* @__PURE__ */
|
|
417
|
+
children: [/* @__PURE__ */ N("div", {
|
|
418
418
|
className: "w-8 h-8 sm:w-10 sm:h-10 rounded-lg bg-bg-sunken flex items-center justify-center flex-shrink-0",
|
|
419
|
-
children: /* @__PURE__ */
|
|
420
|
-
}), /* @__PURE__ */
|
|
419
|
+
children: /* @__PURE__ */ N(j, { className: "w-4 h-4 sm:w-5 sm:h-5 text-text-secondary" })
|
|
420
|
+
}), /* @__PURE__ */ P("div", {
|
|
421
421
|
className: "min-w-0",
|
|
422
|
-
children: [/* @__PURE__ */
|
|
422
|
+
children: [/* @__PURE__ */ N("p", {
|
|
423
423
|
className: "text-xs sm:text-sm text-text-secondary",
|
|
424
|
-
children:
|
|
425
|
-
}), /* @__PURE__ */
|
|
424
|
+
children: w("sessions.filterStatus", "Status")
|
|
425
|
+
}), /* @__PURE__ */ N(_, {
|
|
426
426
|
status: B.status,
|
|
427
427
|
size: "md"
|
|
428
428
|
})]
|
|
429
429
|
})]
|
|
430
430
|
})
|
|
431
431
|
}) }),
|
|
432
|
-
/* @__PURE__ */
|
|
432
|
+
/* @__PURE__ */ N(I, { children: /* @__PURE__ */ N(v, {
|
|
433
433
|
className: "p-3 sm:p-4",
|
|
434
|
-
children: /* @__PURE__ */
|
|
434
|
+
children: /* @__PURE__ */ P("div", {
|
|
435
435
|
className: "flex items-center gap-2 sm:gap-3",
|
|
436
|
-
children: [/* @__PURE__ */
|
|
436
|
+
children: [/* @__PURE__ */ N("div", {
|
|
437
437
|
className: "w-8 h-8 sm:w-10 sm:h-10 rounded-lg bg-bg-sunken flex items-center justify-center flex-shrink-0",
|
|
438
|
-
children: /* @__PURE__ */
|
|
439
|
-
}), /* @__PURE__ */
|
|
438
|
+
children: /* @__PURE__ */ N(Ee, { className: "w-4 h-4 sm:w-5 sm:h-5 text-text-secondary" })
|
|
439
|
+
}), /* @__PURE__ */ P("div", {
|
|
440
440
|
className: "min-w-0",
|
|
441
|
-
children: [/* @__PURE__ */
|
|
441
|
+
children: [/* @__PURE__ */ N("p", {
|
|
442
442
|
className: "text-xs sm:text-sm text-text-secondary",
|
|
443
|
-
children:
|
|
444
|
-
}), /* @__PURE__ */
|
|
443
|
+
children: w("sessions.filterType", "Type")
|
|
444
|
+
}), /* @__PURE__ */ N("p", {
|
|
445
445
|
className: "font-semibold text-text-primary text-sm sm:text-base truncate",
|
|
446
446
|
children: B.type
|
|
447
447
|
})]
|
|
448
448
|
})]
|
|
449
449
|
})
|
|
450
450
|
}) }),
|
|
451
|
-
/* @__PURE__ */
|
|
451
|
+
/* @__PURE__ */ N(I, { children: /* @__PURE__ */ N(v, {
|
|
452
452
|
className: "p-3 sm:p-4",
|
|
453
|
-
children: /* @__PURE__ */
|
|
453
|
+
children: /* @__PURE__ */ P("div", {
|
|
454
454
|
className: "flex items-center gap-2 sm:gap-3",
|
|
455
|
-
children: [/* @__PURE__ */
|
|
455
|
+
children: [/* @__PURE__ */ N("div", {
|
|
456
456
|
className: "w-8 h-8 sm:w-10 sm:h-10 rounded-lg bg-bg-sunken flex items-center justify-center flex-shrink-0",
|
|
457
|
-
children: /* @__PURE__ */
|
|
458
|
-
}), /* @__PURE__ */
|
|
457
|
+
children: /* @__PURE__ */ N(Le, { className: "w-4 h-4 sm:w-5 sm:h-5 text-text-secondary" })
|
|
458
|
+
}), /* @__PURE__ */ P("div", {
|
|
459
459
|
className: "min-w-0 flex-1",
|
|
460
|
-
children: [/* @__PURE__ */
|
|
460
|
+
children: [/* @__PURE__ */ N("p", {
|
|
461
461
|
className: "text-xs sm:text-sm text-text-secondary",
|
|
462
|
-
children:
|
|
463
|
-
}), /* @__PURE__ */
|
|
462
|
+
children: w("sessions.filterAgent", "Agent")
|
|
463
|
+
}), /* @__PURE__ */ N("p", {
|
|
464
464
|
className: "font-semibold text-text-primary text-sm sm:text-base truncate",
|
|
465
|
-
children: K?.name ||
|
|
465
|
+
children: K?.name || w("targets.unknown", "Unknown")
|
|
466
466
|
})]
|
|
467
467
|
})]
|
|
468
468
|
})
|
|
469
469
|
}) }),
|
|
470
|
-
/* @__PURE__ */
|
|
470
|
+
/* @__PURE__ */ N(I, { children: /* @__PURE__ */ N(v, {
|
|
471
471
|
className: "p-3 sm:p-4",
|
|
472
|
-
children: /* @__PURE__ */
|
|
472
|
+
children: /* @__PURE__ */ P("div", {
|
|
473
473
|
className: "flex items-center gap-2 sm:gap-3",
|
|
474
|
-
children: [/* @__PURE__ */
|
|
474
|
+
children: [/* @__PURE__ */ N("div", {
|
|
475
475
|
className: "w-8 h-8 sm:w-10 sm:h-10 rounded-lg bg-bg-sunken flex items-center justify-center flex-shrink-0",
|
|
476
|
-
children: /* @__PURE__ */ A
|
|
477
|
-
}), /* @__PURE__ */
|
|
476
|
+
children: /* @__PURE__ */ N(A, { className: "w-4 h-4 sm:w-5 sm:h-5 text-text-secondary" })
|
|
477
|
+
}), /* @__PURE__ */ P("div", {
|
|
478
478
|
className: "min-w-0",
|
|
479
|
-
children: [/* @__PURE__ */
|
|
479
|
+
children: [/* @__PURE__ */ N("p", {
|
|
480
480
|
className: "text-xs sm:text-sm text-text-secondary",
|
|
481
|
-
children:
|
|
482
|
-
}), /* @__PURE__ */
|
|
481
|
+
children: w("nav.sessions", "Sessions")
|
|
482
|
+
}), /* @__PURE__ */ P("p", {
|
|
483
483
|
className: "font-semibold text-text-primary text-sm sm:text-base",
|
|
484
484
|
children: [
|
|
485
485
|
Kt,
|
|
486
486
|
" ",
|
|
487
|
-
|
|
487
|
+
w("health.active", "active")
|
|
488
488
|
]
|
|
489
489
|
})]
|
|
490
490
|
})]
|
|
@@ -492,33 +492,33 @@ function tt() {
|
|
|
492
492
|
}) })
|
|
493
493
|
]
|
|
494
494
|
}),
|
|
495
|
-
/* @__PURE__ */
|
|
495
|
+
/* @__PURE__ */ N("div", {
|
|
496
496
|
className: "border-b border-border-default",
|
|
497
|
-
children: /* @__PURE__ */
|
|
497
|
+
children: /* @__PURE__ */ P("nav", {
|
|
498
498
|
className: "flex gap-1 -mb-px overflow-x-auto pb-1",
|
|
499
|
-
"aria-label":
|
|
499
|
+
"aria-label": w("vibeDetails.tabsAriaLabel", "Vibe tabs"),
|
|
500
500
|
children: [
|
|
501
501
|
Yt.map((e) => {
|
|
502
|
-
let t = e.icon, n =
|
|
503
|
-
return /* @__PURE__ */
|
|
504
|
-
onClick: () =>
|
|
502
|
+
let t = e.icon, n = X === e.id;
|
|
503
|
+
return /* @__PURE__ */ P("button", {
|
|
504
|
+
onClick: () => Z(e.id),
|
|
505
505
|
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"}`,
|
|
506
506
|
"aria-selected": n,
|
|
507
507
|
role: "tab",
|
|
508
508
|
children: [
|
|
509
|
-
/* @__PURE__ */
|
|
509
|
+
/* @__PURE__ */ N(t, { className: "w-4 h-4" }),
|
|
510
510
|
e.label,
|
|
511
|
-
e.badge && /* @__PURE__ */
|
|
511
|
+
e.badge && /* @__PURE__ */ N("span", {
|
|
512
512
|
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"}`,
|
|
513
513
|
children: e.badge
|
|
514
514
|
})
|
|
515
515
|
]
|
|
516
516
|
}, e.id);
|
|
517
517
|
}),
|
|
518
|
-
|
|
519
|
-
let t =
|
|
520
|
-
return /* @__PURE__ */
|
|
521
|
-
onClick: () =>
|
|
518
|
+
J && Y.data.map((e) => {
|
|
519
|
+
let t = X === e.contribution.id;
|
|
520
|
+
return /* @__PURE__ */ N("button", {
|
|
521
|
+
onClick: () => Z(e.contribution.id),
|
|
522
522
|
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"}`,
|
|
523
523
|
"aria-selected": t,
|
|
524
524
|
role: "tab",
|
|
@@ -526,16 +526,16 @@ function tt() {
|
|
|
526
526
|
children: e.contribution.title
|
|
527
527
|
}, `plugin-${e.contribution.id}`);
|
|
528
528
|
}),
|
|
529
|
-
|
|
529
|
+
J && G && /* @__PURE__ */ P("button", {
|
|
530
530
|
type: "button",
|
|
531
|
-
onClick: () =>
|
|
531
|
+
onClick: () => Pt(!0),
|
|
532
532
|
className: "flex shrink-0 items-center gap-1 px-2 py-2 text-xs sm:text-sm border-b-2 border-transparent text-text-secondary hover:text-text-primary hover:border-border-default",
|
|
533
533
|
title: "Install a UI plugin tab",
|
|
534
534
|
"aria-label": "Add tab",
|
|
535
|
-
children: [/* @__PURE__ */
|
|
535
|
+
children: [/* @__PURE__ */ N("span", {
|
|
536
536
|
"aria-hidden": !0,
|
|
537
537
|
children: "+"
|
|
538
|
-
}), /* @__PURE__ */
|
|
538
|
+
}), /* @__PURE__ */ N("span", {
|
|
539
539
|
className: "hidden sm:inline",
|
|
540
540
|
children: "Add tab"
|
|
541
541
|
})]
|
|
@@ -543,10 +543,10 @@ function tt() {
|
|
|
543
543
|
]
|
|
544
544
|
})
|
|
545
545
|
}),
|
|
546
|
-
/* @__PURE__ */
|
|
546
|
+
/* @__PURE__ */ P(We, {
|
|
547
547
|
mode: "wait",
|
|
548
548
|
children: [
|
|
549
|
-
|
|
549
|
+
X === "overview" && /* @__PURE__ */ P(M.div, {
|
|
550
550
|
initial: {
|
|
551
551
|
opacity: 0,
|
|
552
552
|
y: 8
|
|
@@ -562,50 +562,50 @@ function tt() {
|
|
|
562
562
|
transition: { duration: .2 },
|
|
563
563
|
className: "space-y-6",
|
|
564
564
|
children: [
|
|
565
|
-
B.description && /* @__PURE__ */
|
|
565
|
+
B.description && /* @__PURE__ */ N(v, { children: /* @__PURE__ */ N("div", {
|
|
566
566
|
className: "p-4",
|
|
567
|
-
children: /* @__PURE__ */
|
|
567
|
+
children: /* @__PURE__ */ N("p", {
|
|
568
568
|
className: "text-text-primary",
|
|
569
569
|
children: B.description
|
|
570
570
|
})
|
|
571
571
|
}) }),
|
|
572
|
-
!
|
|
572
|
+
!Q && /* @__PURE__ */ N(de, {
|
|
573
573
|
vibeId: B.id,
|
|
574
|
-
tr:
|
|
574
|
+
tr: w
|
|
575
575
|
}),
|
|
576
|
-
/* @__PURE__ */
|
|
576
|
+
/* @__PURE__ */ P(v, { children: [/* @__PURE__ */ N("div", {
|
|
577
577
|
className: "p-3 sm:p-4 border-b border-border-default",
|
|
578
|
-
children: /* @__PURE__ */
|
|
578
|
+
children: /* @__PURE__ */ P("h3", {
|
|
579
579
|
className: "font-semibold text-text-primary flex items-center gap-2 text-sm sm:text-base",
|
|
580
|
-
children: [/* @__PURE__ */
|
|
580
|
+
children: [/* @__PURE__ */ N(Ee, { className: "w-4 h-4 sm:w-5 sm:h-5" }), w("vibeDetails.path", "Path")]
|
|
581
581
|
})
|
|
582
|
-
}), /* @__PURE__ */
|
|
582
|
+
}), /* @__PURE__ */ N("div", {
|
|
583
583
|
className: "p-3 sm:p-4",
|
|
584
|
-
children: /* @__PURE__ */
|
|
584
|
+
children: /* @__PURE__ */ N("div", {
|
|
585
585
|
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",
|
|
586
586
|
children: B.path
|
|
587
587
|
})
|
|
588
588
|
})] }),
|
|
589
|
-
/* @__PURE__ */
|
|
589
|
+
/* @__PURE__ */ P(v, { children: [/* @__PURE__ */ N("div", {
|
|
590
590
|
className: "p-4 border-b border-border-default",
|
|
591
|
-
children: /* @__PURE__ */
|
|
591
|
+
children: /* @__PURE__ */ P("h3", {
|
|
592
592
|
className: "font-semibold text-text-primary flex items-center gap-2",
|
|
593
|
-
children: [/* @__PURE__ */
|
|
593
|
+
children: [/* @__PURE__ */ N(Ce, { className: "w-5 h-5" }), w("vibeDetails.timeline", "Timeline")]
|
|
594
594
|
})
|
|
595
|
-
}), /* @__PURE__ */
|
|
595
|
+
}), /* @__PURE__ */ N("div", {
|
|
596
596
|
className: "p-4",
|
|
597
|
-
children: /* @__PURE__ */
|
|
597
|
+
children: /* @__PURE__ */ P("div", {
|
|
598
598
|
className: "grid grid-cols-1 sm:grid-cols-2 gap-4 text-sm",
|
|
599
|
-
children: [/* @__PURE__ */
|
|
599
|
+
children: [/* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("p", {
|
|
600
600
|
className: "text-text-secondary",
|
|
601
|
-
children:
|
|
602
|
-
}), /* @__PURE__ */
|
|
601
|
+
children: w("vibeDetails.created", "Created")
|
|
602
|
+
}), /* @__PURE__ */ N("p", {
|
|
603
603
|
className: "font-medium text-text-primary",
|
|
604
604
|
children: Ut(B.createdAt)
|
|
605
|
-
})] }), /* @__PURE__ */
|
|
605
|
+
})] }), /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("p", {
|
|
606
606
|
className: "text-text-secondary",
|
|
607
|
-
children:
|
|
608
|
-
}), /* @__PURE__ */
|
|
607
|
+
children: w("vibeDetails.updated", "Updated")
|
|
608
|
+
}), /* @__PURE__ */ N("p", {
|
|
609
609
|
className: "font-medium text-text-primary",
|
|
610
610
|
children: Ut(B.updatedAt)
|
|
611
611
|
})] })]
|
|
@@ -613,7 +613,7 @@ function tt() {
|
|
|
613
613
|
})] })
|
|
614
614
|
]
|
|
615
615
|
}, "overview"),
|
|
616
|
-
|
|
616
|
+
X === "config" && /* @__PURE__ */ P(M.div, {
|
|
617
617
|
initial: {
|
|
618
618
|
opacity: 0,
|
|
619
619
|
y: 8
|
|
@@ -629,17 +629,17 @@ function tt() {
|
|
|
629
629
|
transition: { duration: .2 },
|
|
630
630
|
className: "space-y-6",
|
|
631
631
|
children: [
|
|
632
|
-
/* @__PURE__ */
|
|
632
|
+
/* @__PURE__ */ P(v, { children: [/* @__PURE__ */ N("div", {
|
|
633
633
|
className: "p-4 border-b border-border-default",
|
|
634
|
-
children: /* @__PURE__ */
|
|
634
|
+
children: /* @__PURE__ */ P("h3", {
|
|
635
635
|
className: "font-semibold text-text-primary flex items-center gap-2",
|
|
636
|
-
children: [/* @__PURE__ */
|
|
636
|
+
children: [/* @__PURE__ */ N(Ve, { className: "w-5 h-5" }), w("vibeDetails.environmentVariables", "Environment Variables")]
|
|
637
637
|
})
|
|
638
|
-
}), /* @__PURE__ */
|
|
638
|
+
}), /* @__PURE__ */ N("div", {
|
|
639
639
|
className: "p-4",
|
|
640
|
-
children: B.environmentVariables && Object.keys(B.environmentVariables).length > 0 ? /* @__PURE__ */
|
|
640
|
+
children: B.environmentVariables && Object.keys(B.environmentVariables).length > 0 ? /* @__PURE__ */ N("div", {
|
|
641
641
|
className: "flex flex-wrap gap-2",
|
|
642
|
-
children: Object.entries(B.environmentVariables).map(([e, t]) => /* @__PURE__ */
|
|
642
|
+
children: Object.entries(B.environmentVariables).map(([e, t]) => /* @__PURE__ */ P("span", {
|
|
643
643
|
className: "px-3 py-1 bg-bg-sunken text-text-primary text-sm rounded-full font-mono",
|
|
644
644
|
children: [
|
|
645
645
|
e,
|
|
@@ -647,52 +647,52 @@ function tt() {
|
|
|
647
647
|
String(t)
|
|
648
648
|
]
|
|
649
649
|
}, e))
|
|
650
|
-
}) : /* @__PURE__ */
|
|
650
|
+
}) : /* @__PURE__ */ N("p", {
|
|
651
651
|
className: "text-text-secondary",
|
|
652
|
-
children:
|
|
652
|
+
children: w("vibeDetails.noEnvironmentVariables", "No environment variables configured")
|
|
653
653
|
})
|
|
654
654
|
})] }),
|
|
655
|
-
/* @__PURE__ */
|
|
655
|
+
/* @__PURE__ */ P(v, { children: [/* @__PURE__ */ N("div", {
|
|
656
656
|
className: "p-4 border-b border-border-default",
|
|
657
|
-
children: /* @__PURE__ */
|
|
657
|
+
children: /* @__PURE__ */ P("h3", {
|
|
658
658
|
className: "font-semibold text-text-primary flex items-center gap-2",
|
|
659
|
-
children: [/* @__PURE__ */
|
|
659
|
+
children: [/* @__PURE__ */ N(Be, { className: "w-5 h-5" }), w("vibeDetails.tags", "Tags")]
|
|
660
660
|
})
|
|
661
|
-
}), /* @__PURE__ */
|
|
661
|
+
}), /* @__PURE__ */ N("div", {
|
|
662
662
|
className: "p-4",
|
|
663
|
-
children: /* @__PURE__ */
|
|
663
|
+
children: /* @__PURE__ */ N(h, {
|
|
664
664
|
entityType: "VIBECONTROLS_VIBE",
|
|
665
665
|
entityId: B.id
|
|
666
666
|
})
|
|
667
667
|
})] }),
|
|
668
|
-
/* @__PURE__ */
|
|
668
|
+
/* @__PURE__ */ P(v, { children: [/* @__PURE__ */ P("div", {
|
|
669
669
|
className: "p-4 border-b border-border-default",
|
|
670
|
-
children: [/* @__PURE__ */
|
|
670
|
+
children: [/* @__PURE__ */ P("h3", {
|
|
671
671
|
className: "font-semibold text-text-primary flex items-center gap-2",
|
|
672
|
-
children: [/* @__PURE__ */
|
|
673
|
-
}), /* @__PURE__ */
|
|
672
|
+
children: [/* @__PURE__ */ N(Re, { className: "w-5 h-5" }), w("vibeDetails.features", "Features")]
|
|
673
|
+
}), /* @__PURE__ */ N("p", {
|
|
674
674
|
className: "text-sm text-text-secondary mt-1",
|
|
675
|
-
children:
|
|
675
|
+
children: w("vibeDetails.featuresDescription", "Toggle which sections show up on this vibe. Changes apply to everyone viewing the vibe.")
|
|
676
676
|
})]
|
|
677
|
-
}), /* @__PURE__ */
|
|
677
|
+
}), /* @__PURE__ */ N("div", {
|
|
678
678
|
className: "p-4 space-y-2",
|
|
679
|
-
children:
|
|
679
|
+
children: R.map((e) => {
|
|
680
680
|
let t = H(e.id);
|
|
681
|
-
return /* @__PURE__ */
|
|
681
|
+
return /* @__PURE__ */ P("label", {
|
|
682
682
|
className: "flex items-center justify-between gap-4 py-2 cursor-pointer",
|
|
683
|
-
children: [/* @__PURE__ */
|
|
683
|
+
children: [/* @__PURE__ */ N("span", {
|
|
684
684
|
className: "text-sm font-medium text-text-primary",
|
|
685
685
|
children: e.label
|
|
686
|
-
}), /* @__PURE__ */
|
|
686
|
+
}), /* @__PURE__ */ N("input", {
|
|
687
687
|
type: "checkbox",
|
|
688
688
|
role: "switch",
|
|
689
689
|
"aria-label": e.label,
|
|
690
690
|
checked: t,
|
|
691
|
-
disabled:
|
|
691
|
+
disabled: nt || !B.id,
|
|
692
692
|
onChange: async (t) => {
|
|
693
693
|
let n = t.target.checked;
|
|
694
694
|
try {
|
|
695
|
-
await
|
|
695
|
+
await tt({
|
|
696
696
|
variables: {
|
|
697
697
|
id: B.id,
|
|
698
698
|
featureId: e.id,
|
|
@@ -722,7 +722,7 @@ function tt() {
|
|
|
722
722
|
})] })
|
|
723
723
|
]
|
|
724
724
|
}, "config"),
|
|
725
|
-
|
|
725
|
+
X === "git" && H("git") && /* @__PURE__ */ N(M.div, {
|
|
726
726
|
initial: {
|
|
727
727
|
opacity: 0,
|
|
728
728
|
y: 8
|
|
@@ -737,57 +737,57 @@ function tt() {
|
|
|
737
737
|
},
|
|
738
738
|
transition: { duration: .2 },
|
|
739
739
|
className: "space-y-6",
|
|
740
|
-
children: /* @__PURE__ */
|
|
740
|
+
children: /* @__PURE__ */ N(te, {
|
|
741
741
|
agentId: G?.id ?? null,
|
|
742
742
|
required: ["@vibecontrols/vibe-plugin-tool-git"],
|
|
743
743
|
mode: "all",
|
|
744
|
-
eyebrow:
|
|
745
|
-
title:
|
|
746
|
-
description:
|
|
747
|
-
children: Jt ? /* @__PURE__ */
|
|
744
|
+
eyebrow: w("vibeDetails.gitPluginEyebrow", "Git plugin required"),
|
|
745
|
+
title: w("vibeDetails.gitPluginTitle", "Install the git plugin"),
|
|
746
|
+
description: w("vibeDetails.gitPluginDescription", "Live git branch, status, and remote data for this vibe are served by the vibe-plugin-tool-git agent plugin."),
|
|
747
|
+
children: Jt ? /* @__PURE__ */ P(v, { children: [/* @__PURE__ */ N("div", {
|
|
748
748
|
className: "p-4 border-b border-border-default",
|
|
749
|
-
children: /* @__PURE__ */
|
|
749
|
+
children: /* @__PURE__ */ P("h3", {
|
|
750
750
|
className: "font-semibold text-text-primary flex items-center gap-2",
|
|
751
|
-
children: [/* @__PURE__ */
|
|
751
|
+
children: [/* @__PURE__ */ N(De, { className: "w-5 h-5" }), w("vibeDetails.gitInformation", "Git Information")]
|
|
752
752
|
})
|
|
753
|
-
}), /* @__PURE__ */
|
|
753
|
+
}), /* @__PURE__ */ P("div", {
|
|
754
754
|
className: "p-4 space-y-3",
|
|
755
|
-
children: [/* @__PURE__ */
|
|
755
|
+
children: [/* @__PURE__ */ P("div", {
|
|
756
756
|
className: "flex items-center gap-4 flex-wrap",
|
|
757
|
-
children: [B.gitBranch && /* @__PURE__ */
|
|
757
|
+
children: [B.gitBranch && /* @__PURE__ */ P("div", {
|
|
758
758
|
className: "flex items-center gap-2",
|
|
759
|
-
children: [/* @__PURE__ */
|
|
759
|
+
children: [/* @__PURE__ */ P("span", {
|
|
760
760
|
className: "text-sm text-text-secondary",
|
|
761
|
-
children: [
|
|
762
|
-
}), /* @__PURE__ */
|
|
761
|
+
children: [w("vibeDetails.branch", "Branch"), ":"]
|
|
762
|
+
}), /* @__PURE__ */ N("span", {
|
|
763
763
|
className: "px-2 py-1 bg-bg-sunken text-text-primary text-sm rounded font-mono",
|
|
764
764
|
children: B.gitBranch
|
|
765
765
|
})]
|
|
766
|
-
}), B.gitStatus && /* @__PURE__ */
|
|
766
|
+
}), B.gitStatus && /* @__PURE__ */ P("div", {
|
|
767
767
|
className: "flex items-center gap-2",
|
|
768
|
-
children: [/* @__PURE__ */
|
|
768
|
+
children: [/* @__PURE__ */ P("span", {
|
|
769
769
|
className: "text-sm text-text-secondary",
|
|
770
|
-
children: [
|
|
771
|
-
}), /* @__PURE__ */
|
|
770
|
+
children: [w("sessions.filterStatus", "Status"), ":"]
|
|
771
|
+
}), /* @__PURE__ */ N("span", {
|
|
772
772
|
className: `font-medium ${Wt(B.gitStatus)}`,
|
|
773
773
|
children: B.gitStatus
|
|
774
774
|
})]
|
|
775
775
|
})]
|
|
776
|
-
}), B.gitRemote && /* @__PURE__ */
|
|
776
|
+
}), B.gitRemote && /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ P("span", {
|
|
777
777
|
className: "text-sm text-text-secondary",
|
|
778
|
-
children: [
|
|
779
|
-
}), /* @__PURE__ */
|
|
778
|
+
children: [w("vibeDetails.remote", "Remote"), ":"]
|
|
779
|
+
}), /* @__PURE__ */ N("p", {
|
|
780
780
|
className: "font-mono text-sm text-text-primary mt-1 break-all",
|
|
781
781
|
children: B.gitRemote
|
|
782
782
|
})] })]
|
|
783
|
-
})] }) : /* @__PURE__ */
|
|
784
|
-
icon: /* @__PURE__ */
|
|
785
|
-
title:
|
|
786
|
-
description:
|
|
783
|
+
})] }) : /* @__PURE__ */ N(g, {
|
|
784
|
+
icon: /* @__PURE__ */ N(De, { className: "w-8 h-8 text-text-secondary" }),
|
|
785
|
+
title: w("vibeDetails.noGitInformation", "No git information"),
|
|
786
|
+
description: w("vibeDetails.noGitInformationDescription", "This vibe does not have any git repository linked")
|
|
787
787
|
})
|
|
788
788
|
})
|
|
789
789
|
}, "git"),
|
|
790
|
-
|
|
790
|
+
X === "sessions" && H("sessions") && /* @__PURE__ */ N(M.div, {
|
|
791
791
|
initial: {
|
|
792
792
|
opacity: 0,
|
|
793
793
|
y: 8
|
|
@@ -801,66 +801,66 @@ function tt() {
|
|
|
801
801
|
y: -8
|
|
802
802
|
},
|
|
803
803
|
transition: { duration: .2 },
|
|
804
|
-
children: /* @__PURE__ */
|
|
804
|
+
children: /* @__PURE__ */ N(te, {
|
|
805
805
|
agentId: G?.id ?? null,
|
|
806
806
|
requirements: [{
|
|
807
807
|
packages: ["@vibecontrols/vibe-plugin-session-manager"],
|
|
808
808
|
mode: "all",
|
|
809
|
-
eyebrow:
|
|
810
|
-
title:
|
|
811
|
-
description:
|
|
809
|
+
eyebrow: w("vibeDetails.sessionsManagerEyebrow", "Session manager required"),
|
|
810
|
+
title: w("vibeDetails.sessionsManagerTitle", "Install the session manager"),
|
|
811
|
+
description: w("vibeDetails.sessionsManagerDescription", "Sessions are orchestrated by the unified session manager plugin. Install it to continue.")
|
|
812
812
|
}, {
|
|
813
|
-
packages:
|
|
813
|
+
packages: ee,
|
|
814
814
|
mode: "any",
|
|
815
|
-
eyebrow:
|
|
816
|
-
title:
|
|
817
|
-
description:
|
|
815
|
+
eyebrow: w("vibeDetails.sessionProviderEyebrow", "Session provider required"),
|
|
816
|
+
title: w("vibeDetails.sessionProviderTitle", "Pick a session provider"),
|
|
817
|
+
description: w("vibeDetails.sessionProviderDescription", "Choose the terminal multiplexer your sessions should run on. You can install more providers later.")
|
|
818
818
|
}],
|
|
819
|
-
children: /* @__PURE__ */
|
|
819
|
+
children: /* @__PURE__ */ P(v, { children: [/* @__PURE__ */ P("div", {
|
|
820
820
|
className: "p-4 border-b border-border-default flex items-center justify-between",
|
|
821
|
-
children: [/* @__PURE__ */
|
|
821
|
+
children: [/* @__PURE__ */ P("h3", {
|
|
822
822
|
className: "font-semibold text-text-primary flex items-center gap-2",
|
|
823
823
|
children: [
|
|
824
|
-
/* @__PURE__ */ A
|
|
825
|
-
|
|
824
|
+
/* @__PURE__ */ N(A, { className: "w-5 h-5" }),
|
|
825
|
+
w("nav.sessions", "Sessions"),
|
|
826
826
|
" (",
|
|
827
827
|
W.length,
|
|
828
828
|
")"
|
|
829
829
|
]
|
|
830
|
-
}), /* @__PURE__ */
|
|
830
|
+
}), /* @__PURE__ */ P("button", {
|
|
831
831
|
onClick: Rt,
|
|
832
832
|
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",
|
|
833
|
-
children: [/* @__PURE__ */
|
|
833
|
+
children: [/* @__PURE__ */ N(k, { className: "w-4 h-4" }), w("vibeDetails.new", "New")]
|
|
834
834
|
})]
|
|
835
|
-
}), W.length > 0 ? /* @__PURE__ */
|
|
835
|
+
}), W.length > 0 ? /* @__PURE__ */ N(Ke, {
|
|
836
836
|
className: "divide-y divide-border-primary",
|
|
837
|
-
children: W.map((e) => /* @__PURE__ */
|
|
837
|
+
children: W.map((e) => /* @__PURE__ */ N(I, {
|
|
838
838
|
variant: "fadeRight",
|
|
839
|
-
children: /* @__PURE__ */
|
|
839
|
+
children: /* @__PURE__ */ P("div", {
|
|
840
840
|
onClick: () => Vt(e.id),
|
|
841
841
|
className: "p-4 flex items-center justify-between cursor-pointer hover:bg-bg-sunken/50 transition-colors",
|
|
842
|
-
children: [/* @__PURE__ */
|
|
842
|
+
children: [/* @__PURE__ */ P("div", {
|
|
843
843
|
className: "flex items-center gap-3 min-w-0",
|
|
844
|
-
children: [/* @__PURE__ */ A
|
|
844
|
+
children: [/* @__PURE__ */ N(A, { className: "w-5 h-5 text-text-secondary flex-shrink-0" }), /* @__PURE__ */ P("div", {
|
|
845
845
|
className: "min-w-0",
|
|
846
|
-
children: [/* @__PURE__ */
|
|
846
|
+
children: [/* @__PURE__ */ N("p", {
|
|
847
847
|
className: "font-medium text-text-primary truncate",
|
|
848
848
|
children: e.name
|
|
849
|
-
}), /* @__PURE__ */
|
|
849
|
+
}), /* @__PURE__ */ N("p", {
|
|
850
850
|
className: "text-sm text-text-secondary truncate",
|
|
851
851
|
children: e.type
|
|
852
852
|
})]
|
|
853
853
|
})]
|
|
854
|
-
}), /* @__PURE__ */
|
|
854
|
+
}), /* @__PURE__ */ N(_, { status: e.status })]
|
|
855
855
|
})
|
|
856
856
|
}, e.id))
|
|
857
|
-
}) : /* @__PURE__ */
|
|
857
|
+
}) : /* @__PURE__ */ N("div", {
|
|
858
858
|
className: "p-6 text-center text-text-secondary",
|
|
859
|
-
children:
|
|
859
|
+
children: w("vibeDetails.noSessionsForVibe", "No sessions for this vibe")
|
|
860
860
|
})] })
|
|
861
861
|
})
|
|
862
862
|
}, "sessions"),
|
|
863
|
-
|
|
863
|
+
X === "notes" && H("notes") && /* @__PURE__ */ N(M.div, {
|
|
864
864
|
initial: {
|
|
865
865
|
opacity: 0,
|
|
866
866
|
y: 8
|
|
@@ -875,12 +875,12 @@ function tt() {
|
|
|
875
875
|
},
|
|
876
876
|
transition: { duration: .2 },
|
|
877
877
|
className: "space-y-6",
|
|
878
|
-
children: /* @__PURE__ */
|
|
878
|
+
children: /* @__PURE__ */ N(x, {
|
|
879
879
|
context: "vibe",
|
|
880
880
|
vibeId: B.id
|
|
881
881
|
})
|
|
882
882
|
}, "notes"),
|
|
883
|
-
|
|
883
|
+
X === "docs" && H("docs") && /* @__PURE__ */ N(M.div, {
|
|
884
884
|
initial: {
|
|
885
885
|
opacity: 0,
|
|
886
886
|
y: 8
|
|
@@ -895,9 +895,9 @@ function tt() {
|
|
|
895
895
|
},
|
|
896
896
|
transition: { duration: .2 },
|
|
897
897
|
className: "space-y-6",
|
|
898
|
-
children: /* @__PURE__ */
|
|
898
|
+
children: /* @__PURE__ */ N(le, { vibeId: B.id })
|
|
899
899
|
}, "docs"),
|
|
900
|
-
|
|
900
|
+
X === "scorecard" && H("scorecard") && /* @__PURE__ */ N(M.div, {
|
|
901
901
|
initial: {
|
|
902
902
|
opacity: 0,
|
|
903
903
|
y: 8
|
|
@@ -912,12 +912,12 @@ function tt() {
|
|
|
912
912
|
},
|
|
913
913
|
transition: { duration: .2 },
|
|
914
914
|
className: "space-y-6",
|
|
915
|
-
children: /* @__PURE__ */
|
|
915
|
+
children: /* @__PURE__ */ N(ce, {
|
|
916
916
|
ownerType: "VIBE",
|
|
917
917
|
ownerId: B.id
|
|
918
918
|
})
|
|
919
919
|
}, "scorecard"),
|
|
920
|
-
|
|
920
|
+
X === "catalogs" && H("catalogs") && /* @__PURE__ */ N(M.div, {
|
|
921
921
|
initial: {
|
|
922
922
|
opacity: 0,
|
|
923
923
|
y: 8
|
|
@@ -932,13 +932,13 @@ function tt() {
|
|
|
932
932
|
},
|
|
933
933
|
transition: { duration: .2 },
|
|
934
934
|
className: "space-y-6",
|
|
935
|
-
children: /* @__PURE__ */
|
|
935
|
+
children: /* @__PURE__ */ N($e, {
|
|
936
936
|
vibeId: B.id,
|
|
937
|
-
tr:
|
|
938
|
-
navigate:
|
|
937
|
+
tr: w,
|
|
938
|
+
navigate: C
|
|
939
939
|
})
|
|
940
940
|
}, "catalogs"),
|
|
941
|
-
|
|
941
|
+
X === "graphqlPlayground" && H("graphqlPlayground") && /* @__PURE__ */ N(M.div, {
|
|
942
942
|
initial: {
|
|
943
943
|
opacity: 0,
|
|
944
944
|
y: 8
|
|
@@ -953,37 +953,54 @@ function tt() {
|
|
|
953
953
|
},
|
|
954
954
|
transition: { duration: .2 },
|
|
955
955
|
className: "space-y-6",
|
|
956
|
-
children: /* @__PURE__ */
|
|
956
|
+
children: /* @__PURE__ */ N(te, {
|
|
957
957
|
agentId: G?.id ?? null,
|
|
958
958
|
required: ["@vibecontrols/vibe-plugin-tool-graphiql"],
|
|
959
959
|
mode: "all",
|
|
960
|
-
eyebrow:
|
|
961
|
-
title:
|
|
962
|
-
description:
|
|
963
|
-
children:
|
|
960
|
+
eyebrow: w("vibeDetails.graphqlPluginEyebrow", "GraphQL playground plugin required"),
|
|
961
|
+
title: w("vibeDetails.graphqlPluginTitle", "Install the GraphQL playground"),
|
|
962
|
+
description: w("vibeDetails.graphqlPluginDescription", "The GraphQL Playground is served by the graphiql agent plugin. Install it to continue."),
|
|
963
|
+
children: At ? /* @__PURE__ */ N(et, {
|
|
964
964
|
vibeId: B.id,
|
|
965
965
|
agentId: G?.id ?? null,
|
|
966
|
-
profile:
|
|
967
|
-
tunnelUrl:
|
|
968
|
-
apiKey:
|
|
966
|
+
profile: q,
|
|
967
|
+
tunnelUrl: At,
|
|
968
|
+
apiKey: jt,
|
|
969
969
|
type: "graphql",
|
|
970
|
-
tr:
|
|
971
|
-
}) : /* @__PURE__ */
|
|
972
|
-
icon: /* @__PURE__ */
|
|
973
|
-
title:
|
|
974
|
-
description:
|
|
970
|
+
tr: w
|
|
971
|
+
}) : /* @__PURE__ */ N(g, {
|
|
972
|
+
icon: /* @__PURE__ */ N(Ne, { className: "w-8 h-8 text-text-secondary" }),
|
|
973
|
+
title: w("vibeDetails.noAgentTunnel", "No agent tunnel available"),
|
|
974
|
+
description: w("vibeDetails.noAgentTunnelDesc2", "The GraphQL playground requires an active agent with a tunnel URL.")
|
|
975
975
|
})
|
|
976
976
|
})
|
|
977
977
|
}, "graphqlPlayground"),
|
|
978
|
-
|
|
978
|
+
X === "gitops" && H("gitops") && /* @__PURE__ */ N(ue, {
|
|
979
979
|
vibeId: r || "",
|
|
980
980
|
agentId: G?.id ?? "",
|
|
981
|
-
profile:
|
|
982
|
-
tunnelUrl:
|
|
983
|
-
apiKey:
|
|
984
|
-
tr:
|
|
981
|
+
profile: q,
|
|
982
|
+
tunnelUrl: At,
|
|
983
|
+
apiKey: jt,
|
|
984
|
+
tr: w
|
|
985
985
|
}),
|
|
986
|
-
|
|
986
|
+
X === "security" && H("security") && /* @__PURE__ */ N(M.div, {
|
|
987
|
+
initial: {
|
|
988
|
+
opacity: 0,
|
|
989
|
+
y: 8
|
|
990
|
+
},
|
|
991
|
+
animate: {
|
|
992
|
+
opacity: 1,
|
|
993
|
+
y: 0
|
|
994
|
+
},
|
|
995
|
+
exit: {
|
|
996
|
+
opacity: 0,
|
|
997
|
+
y: -8
|
|
998
|
+
},
|
|
999
|
+
transition: { duration: .2 },
|
|
1000
|
+
className: "space-y-6",
|
|
1001
|
+
children: /* @__PURE__ */ N(me, { vibeId: r || "" })
|
|
1002
|
+
}, "security"),
|
|
1003
|
+
X === "related" && H("related") && /* @__PURE__ */ N(M.div, {
|
|
987
1004
|
initial: {
|
|
988
1005
|
opacity: 0,
|
|
989
1006
|
y: 8
|
|
@@ -998,97 +1015,97 @@ function tt() {
|
|
|
998
1015
|
},
|
|
999
1016
|
transition: { duration: .2 },
|
|
1000
1017
|
className: "space-y-6",
|
|
1001
|
-
children: qt > 0 ? /* @__PURE__ */
|
|
1002
|
-
|
|
1018
|
+
children: qt > 0 ? /* @__PURE__ */ P(Ge, { children: [
|
|
1019
|
+
Dt.length > 0 && /* @__PURE__ */ P(v, { children: [/* @__PURE__ */ N("div", {
|
|
1003
1020
|
className: "p-4 border-b border-border-default",
|
|
1004
|
-
children: /* @__PURE__ */
|
|
1021
|
+
children: /* @__PURE__ */ P("h3", {
|
|
1005
1022
|
className: "font-semibold text-text-primary flex items-center gap-2",
|
|
1006
1023
|
children: [
|
|
1007
|
-
/* @__PURE__ */
|
|
1008
|
-
|
|
1024
|
+
/* @__PURE__ */ N(j, { className: "w-5 h-5" }),
|
|
1025
|
+
w("vibeDetails.childVibes", "Child Vibes"),
|
|
1009
1026
|
" (",
|
|
1010
|
-
|
|
1027
|
+
Dt.length,
|
|
1011
1028
|
")"
|
|
1012
1029
|
]
|
|
1013
1030
|
})
|
|
1014
|
-
}), /* @__PURE__ */
|
|
1031
|
+
}), /* @__PURE__ */ N(Ke, {
|
|
1015
1032
|
className: "divide-y divide-border-primary",
|
|
1016
|
-
children:
|
|
1033
|
+
children: Dt.map((e) => /* @__PURE__ */ N(I, {
|
|
1017
1034
|
variant: "fadeRight",
|
|
1018
|
-
children: /* @__PURE__ */
|
|
1035
|
+
children: /* @__PURE__ */ P("div", {
|
|
1019
1036
|
onClick: () => Ht(e.id),
|
|
1020
1037
|
className: "p-4 flex items-center justify-between cursor-pointer hover:bg-bg-sunken/50 transition-colors",
|
|
1021
|
-
children: [/* @__PURE__ */
|
|
1038
|
+
children: [/* @__PURE__ */ P("div", {
|
|
1022
1039
|
className: "flex items-center gap-3 min-w-0",
|
|
1023
|
-
children: [/* @__PURE__ */
|
|
1040
|
+
children: [/* @__PURE__ */ N(j, { className: "w-5 h-5 text-text-secondary flex-shrink-0" }), /* @__PURE__ */ P("div", {
|
|
1024
1041
|
className: "min-w-0",
|
|
1025
|
-
children: [/* @__PURE__ */
|
|
1042
|
+
children: [/* @__PURE__ */ N("p", {
|
|
1026
1043
|
className: "font-medium text-text-primary truncate",
|
|
1027
1044
|
children: e.name
|
|
1028
|
-
}), /* @__PURE__ */
|
|
1045
|
+
}), /* @__PURE__ */ N("p", {
|
|
1029
1046
|
className: "text-sm text-text-secondary truncate",
|
|
1030
1047
|
children: e.type
|
|
1031
1048
|
})]
|
|
1032
1049
|
})]
|
|
1033
|
-
}), /* @__PURE__ */
|
|
1050
|
+
}), /* @__PURE__ */ N(_, { status: e.status })]
|
|
1034
1051
|
})
|
|
1035
1052
|
}, e.id))
|
|
1036
1053
|
})] }),
|
|
1037
|
-
|
|
1038
|
-
onClick: () => Ht(
|
|
1054
|
+
Ot && /* @__PURE__ */ N(v, {
|
|
1055
|
+
onClick: () => Ht(Ot.id),
|
|
1039
1056
|
hoverable: !0,
|
|
1040
|
-
children: /* @__PURE__ */
|
|
1057
|
+
children: /* @__PURE__ */ P("div", {
|
|
1041
1058
|
className: "p-4 flex items-center gap-3",
|
|
1042
|
-
children: [/* @__PURE__ */
|
|
1059
|
+
children: [/* @__PURE__ */ N("div", {
|
|
1043
1060
|
className: "w-10 h-10 rounded-lg bg-bg-sunken flex items-center justify-center",
|
|
1044
|
-
children: /* @__PURE__ */
|
|
1045
|
-
}), /* @__PURE__ */
|
|
1061
|
+
children: /* @__PURE__ */ N(j, { className: "w-5 h-5 text-text-secondary" })
|
|
1062
|
+
}), /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("p", {
|
|
1046
1063
|
className: "text-sm text-text-secondary",
|
|
1047
|
-
children:
|
|
1048
|
-
}), /* @__PURE__ */
|
|
1064
|
+
children: w("vibeDetails.parentVibe", "Parent Vibe")
|
|
1065
|
+
}), /* @__PURE__ */ N("p", {
|
|
1049
1066
|
className: "font-medium text-text-primary",
|
|
1050
|
-
children:
|
|
1067
|
+
children: Ot.name
|
|
1051
1068
|
})] })]
|
|
1052
1069
|
})
|
|
1053
1070
|
}),
|
|
1054
|
-
K && /* @__PURE__ */
|
|
1071
|
+
K && /* @__PURE__ */ N(v, {
|
|
1055
1072
|
onClick: Bt,
|
|
1056
1073
|
hoverable: !0,
|
|
1057
|
-
children: /* @__PURE__ */
|
|
1074
|
+
children: /* @__PURE__ */ P("div", {
|
|
1058
1075
|
className: "p-4 flex items-center justify-between",
|
|
1059
|
-
children: [/* @__PURE__ */
|
|
1076
|
+
children: [/* @__PURE__ */ P("div", {
|
|
1060
1077
|
className: "flex items-center gap-3",
|
|
1061
|
-
children: [/* @__PURE__ */
|
|
1078
|
+
children: [/* @__PURE__ */ N("div", {
|
|
1062
1079
|
className: "w-10 h-10 rounded-lg bg-bg-sunken flex items-center justify-center",
|
|
1063
|
-
children: /* @__PURE__ */
|
|
1064
|
-
}), /* @__PURE__ */
|
|
1065
|
-
/* @__PURE__ */
|
|
1080
|
+
children: /* @__PURE__ */ N(Le, { className: "w-5 h-5 text-text-secondary" })
|
|
1081
|
+
}), /* @__PURE__ */ P("div", { children: [
|
|
1082
|
+
/* @__PURE__ */ N("p", {
|
|
1066
1083
|
className: "text-sm text-text-secondary",
|
|
1067
|
-
children:
|
|
1084
|
+
children: w("vibeDetails.runningOnAgent", "Running on Agent")
|
|
1068
1085
|
}),
|
|
1069
|
-
/* @__PURE__ */
|
|
1086
|
+
/* @__PURE__ */ N("p", {
|
|
1070
1087
|
className: "font-medium text-text-primary",
|
|
1071
1088
|
children: K.name
|
|
1072
1089
|
}),
|
|
1073
|
-
/* @__PURE__ */
|
|
1090
|
+
/* @__PURE__ */ N("p", {
|
|
1074
1091
|
className: "text-sm text-text-secondary",
|
|
1075
1092
|
children: K.hostname
|
|
1076
1093
|
})
|
|
1077
1094
|
] })]
|
|
1078
|
-
}), /* @__PURE__ */
|
|
1095
|
+
}), /* @__PURE__ */ N(_, { status: K.isActive ? "ACTIVE" : "OFFLINE" })]
|
|
1079
1096
|
})
|
|
1080
1097
|
})
|
|
1081
|
-
] }) : /* @__PURE__ */
|
|
1082
|
-
icon: /* @__PURE__ */
|
|
1083
|
-
title:
|
|
1084
|
-
description:
|
|
1098
|
+
] }) : /* @__PURE__ */ N(g, {
|
|
1099
|
+
icon: /* @__PURE__ */ N(je, { className: "w-8 h-8 text-text-secondary" }),
|
|
1100
|
+
title: w("vibeDetails.noRelatedEntities", "No related entities"),
|
|
1101
|
+
description: w("vibeDetails.noRelatedEntitiesDescription", "This vibe has no child vibes, parent vibe, or linked agent")
|
|
1085
1102
|
})
|
|
1086
1103
|
}, "related"),
|
|
1087
|
-
|
|
1088
|
-
let e =
|
|
1104
|
+
J && (() => {
|
|
1105
|
+
let e = Y.data.find((e) => e.contribution.id === X);
|
|
1089
1106
|
if (!e) return null;
|
|
1090
1107
|
let t = e.tunnel, n = e.capabilities.restPaths.length > 0 ? e.capabilities.restPaths : [`/ui/${e.pluginKey}`];
|
|
1091
|
-
return /* @__PURE__ */
|
|
1108
|
+
return /* @__PURE__ */ N(M.div, {
|
|
1092
1109
|
initial: {
|
|
1093
1110
|
opacity: 0,
|
|
1094
1111
|
y: 8
|
|
@@ -1103,9 +1120,9 @@ function tt() {
|
|
|
1103
1120
|
},
|
|
1104
1121
|
transition: { duration: .2 },
|
|
1105
1122
|
className: "space-y-6",
|
|
1106
|
-
children: /* @__PURE__ */
|
|
1123
|
+
children: /* @__PURE__ */ N(v, { children: /* @__PURE__ */ N("div", {
|
|
1107
1124
|
className: "p-0 h-[600px]",
|
|
1108
|
-
children: /* @__PURE__ */
|
|
1125
|
+
children: /* @__PURE__ */ N(se, {
|
|
1109
1126
|
contribution: e,
|
|
1110
1127
|
tunnel: t,
|
|
1111
1128
|
restPaths: n,
|
|
@@ -1125,106 +1142,106 @@ function tt() {
|
|
|
1125
1142
|
})()
|
|
1126
1143
|
]
|
|
1127
1144
|
}),
|
|
1128
|
-
|
|
1129
|
-
isOpen:
|
|
1130
|
-
onClose: () =>
|
|
1145
|
+
J && G && /* @__PURE__ */ N(oe, {
|
|
1146
|
+
isOpen: Nt,
|
|
1147
|
+
onClose: () => Pt(!1),
|
|
1131
1148
|
mountPoint: "vibe.detailTab",
|
|
1132
1149
|
agentId: G.id,
|
|
1133
|
-
profile:
|
|
1150
|
+
profile: q ?? "default",
|
|
1134
1151
|
onInstalled: () => {
|
|
1135
|
-
|
|
1152
|
+
Y.refetch();
|
|
1136
1153
|
}
|
|
1137
1154
|
}),
|
|
1138
|
-
|
|
1155
|
+
rt && /* @__PURE__ */ N("div", {
|
|
1139
1156
|
className: "fixed inset-0 bg-bg-overlay flex items-center justify-center z-50 p-4",
|
|
1140
|
-
children: /* @__PURE__ */
|
|
1157
|
+
children: /* @__PURE__ */ P("div", {
|
|
1141
1158
|
className: "bg-bg-surface rounded-lg p-6 w-full max-w-lg",
|
|
1142
1159
|
children: [
|
|
1143
|
-
/* @__PURE__ */
|
|
1160
|
+
/* @__PURE__ */ P("h2", {
|
|
1144
1161
|
className: "text-lg font-semibold text-text-primary mb-4",
|
|
1145
1162
|
children: [
|
|
1146
|
-
|
|
1163
|
+
w("vibeDetails.newSessionFor", "New Session for"),
|
|
1147
1164
|
" ",
|
|
1148
1165
|
B.name
|
|
1149
1166
|
]
|
|
1150
1167
|
}),
|
|
1151
|
-
|
|
1168
|
+
at && /* @__PURE__ */ N("div", {
|
|
1152
1169
|
className: "mb-4 p-3 bg-status-error-bg text-status-error-text rounded-md text-sm",
|
|
1153
|
-
children:
|
|
1170
|
+
children: at
|
|
1154
1171
|
}),
|
|
1155
|
-
/* @__PURE__ */
|
|
1172
|
+
/* @__PURE__ */ P("div", {
|
|
1156
1173
|
className: "space-y-4",
|
|
1157
1174
|
children: [
|
|
1158
|
-
/* @__PURE__ */
|
|
1175
|
+
/* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("label", {
|
|
1159
1176
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
1160
|
-
children:
|
|
1161
|
-
}), /* @__PURE__ */
|
|
1162
|
-
ref:
|
|
1177
|
+
children: w("vibeDetails.sessionName", "Session Name")
|
|
1178
|
+
}), /* @__PURE__ */ N("input", {
|
|
1179
|
+
ref: ut,
|
|
1163
1180
|
type: "text",
|
|
1164
|
-
placeholder:
|
|
1181
|
+
placeholder: w("vibeDetails.sessionNamePlaceholder", "dev-terminal"),
|
|
1165
1182
|
className: "w-full px-3 py-2 bg-bg-sunken border border-border-default rounded-md text-text-primary placeholder:text-text-placeholder"
|
|
1166
1183
|
})] }),
|
|
1167
|
-
/* @__PURE__ */
|
|
1184
|
+
/* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("label", {
|
|
1168
1185
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
1169
|
-
children:
|
|
1170
|
-
}), /* @__PURE__ */
|
|
1171
|
-
ref:
|
|
1186
|
+
children: w("sessions.filterType", "Type")
|
|
1187
|
+
}), /* @__PURE__ */ P("select", {
|
|
1188
|
+
ref: dt,
|
|
1172
1189
|
className: "w-full px-3 py-2 bg-bg-sunken border border-border-default rounded-md text-text-primary",
|
|
1173
1190
|
children: [
|
|
1174
|
-
/* @__PURE__ */
|
|
1191
|
+
/* @__PURE__ */ N("option", {
|
|
1175
1192
|
value: "TERMINAL",
|
|
1176
|
-
children:
|
|
1193
|
+
children: w("sessions.typeTerminal", "Terminal")
|
|
1177
1194
|
}),
|
|
1178
|
-
/* @__PURE__ */
|
|
1195
|
+
/* @__PURE__ */ N("option", {
|
|
1179
1196
|
value: "TMUX",
|
|
1180
|
-
children:
|
|
1197
|
+
children: w("sessions.typeTmux", "TMUX")
|
|
1181
1198
|
}),
|
|
1182
|
-
/* @__PURE__ */
|
|
1199
|
+
/* @__PURE__ */ N("option", {
|
|
1183
1200
|
value: "SSH",
|
|
1184
|
-
children:
|
|
1201
|
+
children: w("sessions.typeSsh", "SSH")
|
|
1185
1202
|
}),
|
|
1186
|
-
/* @__PURE__ */
|
|
1203
|
+
/* @__PURE__ */ N("option", {
|
|
1187
1204
|
value: "SCRIPT",
|
|
1188
|
-
children:
|
|
1205
|
+
children: w("sessions.typeScript", "Script")
|
|
1189
1206
|
}),
|
|
1190
|
-
/* @__PURE__ */
|
|
1207
|
+
/* @__PURE__ */ N("option", {
|
|
1191
1208
|
value: "CUSTOM",
|
|
1192
|
-
children:
|
|
1209
|
+
children: w("sessions.typeCustom", "Custom")
|
|
1193
1210
|
})
|
|
1194
1211
|
]
|
|
1195
1212
|
})] }),
|
|
1196
|
-
/* @__PURE__ */
|
|
1213
|
+
/* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("label", {
|
|
1197
1214
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
1198
|
-
children:
|
|
1199
|
-
}), /* @__PURE__ */
|
|
1200
|
-
ref:
|
|
1215
|
+
children: w("sessions.command", "Command")
|
|
1216
|
+
}), /* @__PURE__ */ N("input", {
|
|
1217
|
+
ref: ft,
|
|
1201
1218
|
type: "text",
|
|
1202
|
-
placeholder:
|
|
1219
|
+
placeholder: w("vibeDetails.sessionCommandPlaceholder", "bash"),
|
|
1203
1220
|
className: "w-full px-3 py-2 bg-bg-sunken border border-border-default rounded-md text-text-primary placeholder:text-text-placeholder"
|
|
1204
1221
|
})] }),
|
|
1205
|
-
/* @__PURE__ */
|
|
1222
|
+
/* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("label", {
|
|
1206
1223
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
1207
|
-
children:
|
|
1208
|
-
}), /* @__PURE__ */
|
|
1209
|
-
ref:
|
|
1224
|
+
children: w("vibeDetails.workingDirectory", "Working Directory")
|
|
1225
|
+
}), /* @__PURE__ */ N("input", {
|
|
1226
|
+
ref: pt,
|
|
1210
1227
|
type: "text",
|
|
1211
1228
|
defaultValue: B.path || "",
|
|
1212
1229
|
className: "w-full px-3 py-2 bg-bg-sunken border border-border-default rounded-md text-text-primary"
|
|
1213
1230
|
})] })
|
|
1214
1231
|
]
|
|
1215
1232
|
}),
|
|
1216
|
-
/* @__PURE__ */
|
|
1233
|
+
/* @__PURE__ */ P("div", {
|
|
1217
1234
|
className: "flex flex-col sm:flex-row justify-end gap-3 mt-6",
|
|
1218
|
-
children: [/* @__PURE__ */
|
|
1219
|
-
onClick: () =>
|
|
1220
|
-
disabled:
|
|
1235
|
+
children: [/* @__PURE__ */ N("button", {
|
|
1236
|
+
onClick: () => it(!1),
|
|
1237
|
+
disabled: ot,
|
|
1221
1238
|
className: "px-4 py-2 text-text-primary hover:bg-bg-sunken rounded-md transition-colors disabled:opacity-50",
|
|
1222
|
-
children:
|
|
1223
|
-
}), /* @__PURE__ */
|
|
1239
|
+
children: w("common.cancel", "Cancel")
|
|
1240
|
+
}), /* @__PURE__ */ N("button", {
|
|
1224
1241
|
onClick: zt,
|
|
1225
|
-
disabled:
|
|
1242
|
+
disabled: ot,
|
|
1226
1243
|
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",
|
|
1227
|
-
children:
|
|
1244
|
+
children: ot ? w("sessions.creating", "Creating...") : w("sessions.createSession", "Create Session")
|
|
1228
1245
|
})]
|
|
1229
1246
|
})
|
|
1230
1247
|
]
|
|
@@ -1233,70 +1250,70 @@ function tt() {
|
|
|
1233
1250
|
]
|
|
1234
1251
|
});
|
|
1235
1252
|
}
|
|
1236
|
-
function
|
|
1237
|
-
let [a, o] =
|
|
1238
|
-
await
|
|
1253
|
+
function $e({ vibeId: t, tr: n, navigate: i }) {
|
|
1254
|
+
let [a, o] = E(!1), { data: c, loading: l, refetch: u } = r({ fetchPolicy: "cache-and-network" }), [d] = e({ refetchQueries: ["GetVibeCatalogs"] }), [f] = s({ refetchQueries: ["GetVibeCatalogs"] }), p = c?.vibecontrolsCatalogs?.items ?? [], m = p.filter((e) => e.vibes?.some((e) => e.vibeId === t)), h = p.filter((e) => !e.vibes?.some((e) => e.vibeId === t)), _ = async (e) => {
|
|
1255
|
+
await d({ variables: {
|
|
1239
1256
|
catalogId: e,
|
|
1240
1257
|
vibeId: t
|
|
1241
1258
|
} }), await u(), o(!1);
|
|
1242
|
-
},
|
|
1243
|
-
await
|
|
1259
|
+
}, ee = async (e) => {
|
|
1260
|
+
await f({ variables: {
|
|
1244
1261
|
catalogId: e,
|
|
1245
1262
|
vibeId: t
|
|
1246
1263
|
} }), await u();
|
|
1247
1264
|
};
|
|
1248
|
-
return l &&
|
|
1249
|
-
/* @__PURE__ */
|
|
1265
|
+
return l && p.length === 0 ? /* @__PURE__ */ N(b, { variant: "detail" }) : /* @__PURE__ */ P(Ge, { children: [
|
|
1266
|
+
/* @__PURE__ */ P("div", {
|
|
1250
1267
|
className: "flex items-center justify-between",
|
|
1251
|
-
children: [/* @__PURE__ */
|
|
1268
|
+
children: [/* @__PURE__ */ P("h3", {
|
|
1252
1269
|
className: "font-semibold text-text-primary flex items-center gap-2",
|
|
1253
1270
|
children: [
|
|
1254
|
-
/* @__PURE__ */
|
|
1271
|
+
/* @__PURE__ */ N(O, { className: "w-5 h-5" }),
|
|
1255
1272
|
n("vibeDetails.catalogsTitle", "Catalogs"),
|
|
1256
|
-
/* @__PURE__ */
|
|
1273
|
+
/* @__PURE__ */ P("span", {
|
|
1257
1274
|
className: "text-sm font-normal text-text-secondary",
|
|
1258
1275
|
children: [
|
|
1259
1276
|
"(",
|
|
1260
|
-
|
|
1277
|
+
m.length,
|
|
1261
1278
|
")"
|
|
1262
1279
|
]
|
|
1263
1280
|
})
|
|
1264
1281
|
]
|
|
1265
|
-
}), /* @__PURE__ */
|
|
1282
|
+
}), /* @__PURE__ */ P("button", {
|
|
1266
1283
|
onClick: () => o(!0),
|
|
1267
1284
|
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",
|
|
1268
|
-
children: [/* @__PURE__ */
|
|
1285
|
+
children: [/* @__PURE__ */ N(k, { className: "w-4 h-4" }), n("vibeDetails.addToCatalog", "Add to Catalog")]
|
|
1269
1286
|
})]
|
|
1270
1287
|
}),
|
|
1271
|
-
|
|
1288
|
+
m.length > 0 ? /* @__PURE__ */ N("div", {
|
|
1272
1289
|
className: "space-y-2",
|
|
1273
|
-
children:
|
|
1290
|
+
children: m.map((e) => /* @__PURE__ */ N(v, { children: /* @__PURE__ */ P("div", {
|
|
1274
1291
|
className: "p-3 flex items-center justify-between",
|
|
1275
|
-
children: [/* @__PURE__ */
|
|
1292
|
+
children: [/* @__PURE__ */ P("button", {
|
|
1276
1293
|
onClick: () => i(`/catalogs/${e.id}`),
|
|
1277
1294
|
className: "flex items-center gap-3 text-left hover:opacity-80 transition-opacity",
|
|
1278
|
-
children: [/* @__PURE__ */
|
|
1295
|
+
children: [/* @__PURE__ */ N(O, { className: "w-5 h-5 text-action-primary-bg flex-shrink-0" }), /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("p", {
|
|
1279
1296
|
className: "font-medium text-text-primary text-sm",
|
|
1280
1297
|
children: e.name
|
|
1281
|
-
}), /* @__PURE__ */
|
|
1298
|
+
}), /* @__PURE__ */ N("p", {
|
|
1282
1299
|
className: "text-xs text-text-secondary",
|
|
1283
1300
|
children: e.visibility
|
|
1284
1301
|
})] })]
|
|
1285
|
-
}), /* @__PURE__ */
|
|
1286
|
-
onClick: () =>
|
|
1302
|
+
}), /* @__PURE__ */ N("button", {
|
|
1303
|
+
onClick: () => ee(e.id),
|
|
1287
1304
|
className: "p-1.5 text-text-muted hover:text-status-error-text hover:bg-status-error-bg rounded-md transition-colors",
|
|
1288
1305
|
title: n("vibeDetails.removeFromCatalog", "Remove from catalog"),
|
|
1289
|
-
children: /* @__PURE__ */
|
|
1306
|
+
children: /* @__PURE__ */ N(He, { className: "w-4 h-4" })
|
|
1290
1307
|
})]
|
|
1291
1308
|
}) }, e.id))
|
|
1292
|
-
}) : /* @__PURE__ */
|
|
1293
|
-
icon: /* @__PURE__ */
|
|
1309
|
+
}) : /* @__PURE__ */ N(g, {
|
|
1310
|
+
icon: /* @__PURE__ */ N(O, { className: "w-8 h-8 text-text-secondary" }),
|
|
1294
1311
|
title: n("vibeDetails.noCatalogs", "Not in any catalogs"),
|
|
1295
1312
|
description: n("vibeDetails.noCatalogsDesc", "Add this vibe to catalogs to organize and track it alongside other components")
|
|
1296
1313
|
}),
|
|
1297
|
-
a && /* @__PURE__ */
|
|
1314
|
+
a && /* @__PURE__ */ N("div", {
|
|
1298
1315
|
className: "fixed inset-0 bg-bg-overlay flex items-center justify-center z-50 p-4",
|
|
1299
|
-
children: /* @__PURE__ */
|
|
1316
|
+
children: /* @__PURE__ */ P(M.div, {
|
|
1300
1317
|
initial: {
|
|
1301
1318
|
opacity: 0,
|
|
1302
1319
|
scale: .95
|
|
@@ -1307,33 +1324,33 @@ function nt({ vibeId: t, tr: n, navigate: i }) {
|
|
|
1307
1324
|
},
|
|
1308
1325
|
className: "bg-bg-surface rounded-lg w-full max-w-md max-h-[60vh] flex flex-col",
|
|
1309
1326
|
children: [
|
|
1310
|
-
/* @__PURE__ */
|
|
1327
|
+
/* @__PURE__ */ N("div", {
|
|
1311
1328
|
className: "p-4 border-b border-border-default",
|
|
1312
|
-
children: /* @__PURE__ */
|
|
1329
|
+
children: /* @__PURE__ */ N("h2", {
|
|
1313
1330
|
className: "text-lg font-semibold text-text-primary",
|
|
1314
1331
|
children: n("vibeDetails.addToCatalogTitle", "Add Vibe to Catalog")
|
|
1315
1332
|
})
|
|
1316
1333
|
}),
|
|
1317
|
-
/* @__PURE__ */
|
|
1334
|
+
/* @__PURE__ */ N("div", {
|
|
1318
1335
|
className: "flex-1 overflow-y-auto p-2",
|
|
1319
|
-
children:
|
|
1336
|
+
children: h.length === 0 ? /* @__PURE__ */ N("div", {
|
|
1320
1337
|
className: "p-4 text-center text-text-secondary text-sm",
|
|
1321
1338
|
children: n("vibeDetails.noAvailableCatalogs", "No available catalogs. This vibe is already in all catalogs.")
|
|
1322
|
-
}) :
|
|
1323
|
-
onClick: () =>
|
|
1339
|
+
}) : h.map((e) => /* @__PURE__ */ P("button", {
|
|
1340
|
+
onClick: () => _(e.id),
|
|
1324
1341
|
className: "w-full flex items-center justify-between p-3 rounded-md hover:bg-bg-sunken transition-colors text-left",
|
|
1325
|
-
children: [/* @__PURE__ */
|
|
1342
|
+
children: [/* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("p", {
|
|
1326
1343
|
className: "font-medium text-text-primary text-sm",
|
|
1327
1344
|
children: e.name
|
|
1328
|
-
}), /* @__PURE__ */
|
|
1345
|
+
}), /* @__PURE__ */ N("p", {
|
|
1329
1346
|
className: "text-xs text-text-secondary",
|
|
1330
1347
|
children: e.visibility
|
|
1331
|
-
})] }), /* @__PURE__ */
|
|
1348
|
+
})] }), /* @__PURE__ */ N(k, { className: "w-4 h-4 text-text-secondary" })]
|
|
1332
1349
|
}, e.id))
|
|
1333
1350
|
}),
|
|
1334
|
-
/* @__PURE__ */
|
|
1351
|
+
/* @__PURE__ */ N("div", {
|
|
1335
1352
|
className: "p-4 border-t border-border-default",
|
|
1336
|
-
children: /* @__PURE__ */
|
|
1353
|
+
children: /* @__PURE__ */ N("button", {
|
|
1337
1354
|
onClick: () => o(!1),
|
|
1338
1355
|
className: "w-full px-4 py-2 text-text-primary hover:bg-bg-sunken rounded-md transition-colors",
|
|
1339
1356
|
children: n("common.close", "Close")
|
|
@@ -1344,25 +1361,25 @@ function nt({ vibeId: t, tr: n, navigate: i }) {
|
|
|
1344
1361
|
})
|
|
1345
1362
|
] });
|
|
1346
1363
|
}
|
|
1347
|
-
function
|
|
1348
|
-
let s = a === "rest", c = "graphiql", l = `${r}/api/profiles/${encodeURIComponent(n)}/${c}/config/${e}`, [u,
|
|
1349
|
-
|
|
1364
|
+
function et({ vibeId: e, agentId: t, profile: n, tunnelUrl: r, apiKey: i, type: a, tr: o }) {
|
|
1365
|
+
let s = a === "rest", c = "graphiql", l = `${r}/api/profiles/${encodeURIComponent(n)}/${c}/config/${e}`, [u, d] = E(""), [f, p] = E(!1), [m, h] = E(!1), [g, _] = E(!1), [ee, te] = E(0);
|
|
1366
|
+
ge(() => {
|
|
1350
1367
|
let e = { "Content-Type": "application/json" };
|
|
1351
1368
|
i && (e["x-agent-api-key"] = i), fetch(l, { headers: e }).then((e) => e.ok ? e.json() : null).then((e) => {
|
|
1352
1369
|
if (e) {
|
|
1353
1370
|
let t = s ? e.openapiUrl || e.url : e.graphqlUrl || e.url;
|
|
1354
|
-
t &&
|
|
1371
|
+
t && d(t);
|
|
1355
1372
|
}
|
|
1356
|
-
|
|
1357
|
-
}).catch(() =>
|
|
1373
|
+
p(!0);
|
|
1374
|
+
}).catch(() => p(!0));
|
|
1358
1375
|
}, [
|
|
1359
1376
|
l,
|
|
1360
1377
|
i,
|
|
1361
1378
|
s
|
|
1362
1379
|
]);
|
|
1363
|
-
let
|
|
1380
|
+
let ne = async () => {
|
|
1364
1381
|
if (u.trim()) {
|
|
1365
|
-
|
|
1382
|
+
h(!0), _(!1);
|
|
1366
1383
|
try {
|
|
1367
1384
|
let e = { "Content-Type": "application/json" };
|
|
1368
1385
|
i && (e["x-agent-api-key"] = i);
|
|
@@ -1371,76 +1388,76 @@ function rt({ vibeId: e, agentId: t, profile: n, tunnelUrl: r, apiKey: i, type:
|
|
|
1371
1388
|
method: "PUT",
|
|
1372
1389
|
headers: e,
|
|
1373
1390
|
body: JSON.stringify(t)
|
|
1374
|
-
}),
|
|
1391
|
+
}), _(!0), te((e) => e + 1), setTimeout(() => _(!1), 3e3);
|
|
1375
1392
|
} catch {} finally {
|
|
1376
|
-
|
|
1393
|
+
h(!1);
|
|
1377
1394
|
}
|
|
1378
1395
|
}
|
|
1379
|
-
}, [
|
|
1380
|
-
|
|
1396
|
+
}, [y, b] = E(null), [re, x] = E(null), S = `/ui/${c}`;
|
|
1397
|
+
ge(() => {
|
|
1381
1398
|
if (!t) return;
|
|
1382
1399
|
let e = !1, r = null, i = (a) => {
|
|
1383
|
-
e || (
|
|
1400
|
+
e || (b(a), r = w(t, n, S, a, i, (e) => x(e.message)));
|
|
1384
1401
|
};
|
|
1385
|
-
return
|
|
1386
|
-
e || (
|
|
1402
|
+
return C(t, n, S).then((a) => {
|
|
1403
|
+
e || (b(a), r = w(t, n, S, a, i, (e) => x(e.message)));
|
|
1387
1404
|
}).catch((t) => {
|
|
1388
|
-
e ||
|
|
1405
|
+
e || x(t instanceof Error ? t.message : String(t));
|
|
1389
1406
|
}), () => {
|
|
1390
1407
|
e = !0, r?.cancel();
|
|
1391
1408
|
};
|
|
1392
1409
|
}, [
|
|
1393
1410
|
t,
|
|
1394
1411
|
n,
|
|
1395
|
-
|
|
1412
|
+
S
|
|
1396
1413
|
]);
|
|
1397
|
-
let
|
|
1398
|
-
return /* @__PURE__ */
|
|
1414
|
+
let ae = `${r}/ui/${c}?vibeId=${e}`, oe = y ? ie(ae, y.token) : ae;
|
|
1415
|
+
return /* @__PURE__ */ P("div", {
|
|
1399
1416
|
className: "space-y-4",
|
|
1400
|
-
children: [/* @__PURE__ */
|
|
1417
|
+
children: [/* @__PURE__ */ N(v, { children: /* @__PURE__ */ P("div", {
|
|
1401
1418
|
className: "p-4",
|
|
1402
1419
|
children: [
|
|
1403
|
-
/* @__PURE__ */
|
|
1420
|
+
/* @__PURE__ */ P("div", {
|
|
1404
1421
|
className: "flex items-center gap-2 mb-2",
|
|
1405
|
-
children: [
|
|
1422
|
+
children: [N(s ? ke : Ne, { className: "w-5 h-5 text-text-secondary" }), /* @__PURE__ */ N("h3", {
|
|
1406
1423
|
className: "font-semibold text-text-primary",
|
|
1407
1424
|
children: s ? o("vibeDetails.restPlaygroundTitle", "REST API Playground") : o("vibeDetails.graphqlPlaygroundTitle", "GraphQL Playground")
|
|
1408
1425
|
})]
|
|
1409
1426
|
}),
|
|
1410
|
-
/* @__PURE__ */
|
|
1427
|
+
/* @__PURE__ */ P("div", {
|
|
1411
1428
|
className: "flex items-center gap-2",
|
|
1412
|
-
children: [/* @__PURE__ */
|
|
1429
|
+
children: [/* @__PURE__ */ N("input", {
|
|
1413
1430
|
type: "url",
|
|
1414
1431
|
value: u,
|
|
1415
|
-
onChange: (e) =>
|
|
1432
|
+
onChange: (e) => d(e.target.value),
|
|
1416
1433
|
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)"),
|
|
1417
1434
|
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",
|
|
1418
|
-
onKeyDown: (e) => e.key === "Enter" &&
|
|
1419
|
-
}), /* @__PURE__ */
|
|
1420
|
-
onClick:
|
|
1421
|
-
disabled:
|
|
1435
|
+
onKeyDown: (e) => e.key === "Enter" && ne()
|
|
1436
|
+
}), /* @__PURE__ */ P("button", {
|
|
1437
|
+
onClick: ne,
|
|
1438
|
+
disabled: m || !u.trim(),
|
|
1422
1439
|
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",
|
|
1423
|
-
children: [
|
|
1440
|
+
children: [m ? /* @__PURE__ */ N(Me, { className: "w-4 h-4 animate-spin" }) : N(g ? Se : we, { className: "w-4 h-4" }), m ? o("common.saving", "Saving...") : g ? o("common.saved", "Saved!") : o("vibeDetails.loadApi", "Load API")]
|
|
1424
1441
|
})]
|
|
1425
1442
|
}),
|
|
1426
|
-
!
|
|
1443
|
+
!f && /* @__PURE__ */ N("p", {
|
|
1427
1444
|
className: "text-xs text-text-muted mt-1",
|
|
1428
1445
|
children: o("vibeDetails.loadingConfig", "Loading saved configuration...")
|
|
1429
1446
|
})
|
|
1430
1447
|
]
|
|
1431
|
-
}) }), t && !
|
|
1448
|
+
}) }), t && !y ? /* @__PURE__ */ N("div", {
|
|
1432
1449
|
className: "p-8 text-center text-sm text-text-secondary rounded-md border border-border-default bg-bg-sunken",
|
|
1433
|
-
children:
|
|
1434
|
-
}) : /* @__PURE__ */
|
|
1435
|
-
src:
|
|
1450
|
+
children: re ? o("vibeDetails.iframeTokenError", `Iframe token error: ${re}`) : o("vibeDetails.mintingIframeToken", "Authorizing iframe…")
|
|
1451
|
+
}) : /* @__PURE__ */ N("iframe", {
|
|
1452
|
+
src: oe,
|
|
1436
1453
|
title: s ? "REST API Playground" : "GraphQL Playground",
|
|
1437
1454
|
className: "w-full rounded-md border border-border-default bg-bg-sunken",
|
|
1438
1455
|
style: { height: "700px" },
|
|
1439
1456
|
sandbox: "allow-scripts allow-same-origin allow-forms allow-popups"
|
|
1440
|
-
},
|
|
1457
|
+
}, ee)]
|
|
1441
1458
|
});
|
|
1442
1459
|
}
|
|
1443
1460
|
//#endregion
|
|
1444
|
-
export {
|
|
1461
|
+
export { R as VibeDetailsPage };
|
|
1445
1462
|
|
|
1446
1463
|
//# sourceMappingURL=VibeDetailsPage.js.map
|