@burdenoff/microfe-vibecontrols 2026.625.2 → 2026.626.1
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/agents/AgentForm.js +129 -127
- package/dist/components/agents/AgentForm.js.map +1 -1
- package/dist/components/agents/AgentStatusBadge.js +11 -4
- package/dist/components/agents/AgentStatusBadge.js.map +1 -1
- package/dist/components/sessions/SessionStatusBadge.js +11 -8
- package/dist/components/sessions/SessionStatusBadge.js.map +1 -1
- package/dist/components/shared/EmptyState.js +14 -8
- package/dist/components/shared/EmptyState.js.map +1 -1
- package/dist/components/shared/InstallTabs.js +19 -7
- package/dist/components/shared/InstallTabs.js.map +1 -1
- package/dist/components/shared/PageHeader.js.map +1 -1
- package/dist/components/shared/PageSkeleton.js +4 -1
- package/dist/components/shared/PageSkeleton.js.map +1 -1
- package/dist/components/shared/SessionNotificationBanner.js +12 -5
- package/dist/components/shared/SessionNotificationBanner.js.map +1 -1
- package/dist/components/shared/StatusBadge.js +2 -2
- package/dist/components/shared/StatusBadge.js.map +1 -1
- package/dist/pages/ActionsPage.js +209 -204
- package/dist/pages/ActionsPage.js.map +1 -1
- package/dist/pages/AgentDetailsPage.js +678 -648
- package/dist/pages/AgentDetailsPage.js.map +1 -1
- package/dist/pages/AgentGraphPage.js +112 -108
- package/dist/pages/AgentGraphPage.js.map +1 -1
- package/dist/pages/AgentsPage.js +160 -155
- package/dist/pages/AgentsPage.js.map +1 -1
- package/dist/pages/AnalyticsPage.js +140 -136
- package/dist/pages/AnalyticsPage.js.map +1 -1
- package/dist/pages/CatalogDetailPage.js +249 -244
- package/dist/pages/CatalogDetailPage.js.map +1 -1
- package/dist/pages/CatalogPage.js +73 -68
- package/dist/pages/CatalogPage.js.map +1 -1
- package/dist/pages/ComponentDetailPage.js +195 -164
- package/dist/pages/ComponentDetailPage.js.map +1 -1
- package/dist/pages/ComponentsPage.js +80 -75
- package/dist/pages/ComponentsPage.js.map +1 -1
- package/dist/pages/EnvTopologyPage.js +100 -95
- package/dist/pages/EnvTopologyPage.js.map +1 -1
- package/dist/pages/HealthPage.js +331 -204
- package/dist/pages/HealthPage.js.map +1 -1
- package/dist/pages/LogsPage.js +54 -49
- package/dist/pages/LogsPage.js.map +1 -1
- package/dist/pages/OverviewPage.js +251 -241
- package/dist/pages/OverviewPage.js.map +1 -1
- package/dist/pages/PluginsCatalogPage.js +72 -78
- package/dist/pages/PluginsCatalogPage.js.map +1 -1
- package/dist/pages/SessionDetailsPage.js +517 -512
- package/dist/pages/SessionDetailsPage.js.map +1 -1
- package/dist/pages/SessionsPage.js +1084 -1078
- package/dist/pages/SessionsPage.js.map +1 -1
- package/dist/pages/SettingsPage.js +107 -103
- package/dist/pages/SettingsPage.js.map +1 -1
- package/dist/pages/TargetDetailsPage.js +131 -123
- package/dist/pages/TargetDetailsPage.js.map +1 -1
- package/dist/pages/TargetsPage.js +265 -260
- package/dist/pages/TargetsPage.js.map +1 -1
- package/dist/pages/TemplatesPage.js +77 -71
- package/dist/pages/TemplatesPage.js.map +1 -1
- package/dist/pages/VibeAuditPage.js +83 -78
- package/dist/pages/VibeAuditPage.js.map +1 -1
- package/dist/pages/VibeCalendarPage.js +109 -104
- package/dist/pages/VibeCalendarPage.js.map +1 -1
- package/dist/pages/VibeDeckPage.js +222 -217
- package/dist/pages/VibeDeckPage.js.map +1 -1
- package/dist/pages/VibeDetailsPage.js +532 -501
- package/dist/pages/VibeDetailsPage.js.map +1 -1
- package/dist/pages/VibesPage.js +138 -133
- package/dist/pages/VibesPage.js.map +1 -1
- package/dist/pages/WebhooksPage.js +329 -324
- package/dist/pages/WebhooksPage.js.map +1 -1
- package/dist/pages/ai/AIPage.js +149 -144
- package/dist/pages/ai/AIPage.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { useProbeAgentTunnelLazyQuery as e } from "../../generated/wspace-operations.js";
|
|
2
2
|
import { useTr as t } from "../../shared/hooks/useTr.js";
|
|
3
3
|
import { isQuotaExhaustedError as n, wasQuotaHandledLocally as r } from "../../utils/quotaUtils.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { InstallTabs as ee } from "../shared/InstallTabs.js";
|
|
5
|
+
import { SearchableSelect as te } from "../shared/SearchableSelect.js";
|
|
6
|
+
import { MotionTabPanel as ne } from "../shared/MotionTabPanel.js";
|
|
6
7
|
import { useField as i } from "../../shared/hooks/useField.js";
|
|
7
8
|
import "../shared/index.js";
|
|
8
|
-
import { useCallback as
|
|
9
|
-
import { Check as
|
|
9
|
+
import { useCallback as re, useEffect as ie, useRef as ae, useState as a } from "react";
|
|
10
|
+
import { Check as oe, CheckCircle2 as se, ChevronDown as ce, ChevronLeft as le, ChevronRight as o, Copy as ue, Download as de, Eye as fe, EyeOff as pe, Loader2 as s, Plus as me, RefreshCw as he, Settings2 as ge, Terminal as _e, XCircle as c } from "lucide-react";
|
|
10
11
|
import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
11
|
-
import { Button as f, Input as p, ResponsiveDialog as
|
|
12
|
+
import { Button as f, Input as p, ResponsiveDialog as ve, ResponsiveDialogContent as ye, ResponsiveDialogDescription as be, ResponsiveDialogFooter as xe, ResponsiveDialogHeader as Se, ResponsiveDialogTitle as Ce, Select as we, SelectContent as Te, SelectItem as m, SelectTrigger as Ee, SelectValue as De, Stepper as Oe } from "@burdenoff/fe-libs/ui";
|
|
12
13
|
//#region src/components/agents/AgentForm.tsx
|
|
13
|
-
function
|
|
14
|
-
let y = t(), [b, x] = a("details"), [S,
|
|
15
|
-
|
|
14
|
+
function ke({ onSubmit: ke, onCancel: h, isLoading: g, onNavigate: Ae, targets: _, targetsLoading: je, onCreateTarget: v, extraSection: Me }) {
|
|
15
|
+
let y = t(), [b, x] = a("details"), [S, Ne] = a(!1), [C, Pe] = a(!1), [Fe, Ie] = a(null), [w, T] = a(""), [E, Le] = a(!1), [D, Re] = a(""), [O, ze] = a(""), [k, Be] = a("");
|
|
16
|
+
ie(() => {
|
|
16
17
|
if (E || !k) return;
|
|
17
18
|
let e = (_ ?? []).find((e) => e.id === k);
|
|
18
19
|
e?.name && T(e.name);
|
|
@@ -21,17 +22,17 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
21
22
|
_,
|
|
22
23
|
E
|
|
23
24
|
]);
|
|
24
|
-
let [A, j] = a(!1), [M, N] = a(""), [P,
|
|
25
|
-
navigator.clipboard.writeText(e),
|
|
26
|
-
}, []),
|
|
25
|
+
let [A, j] = a(!1), [M, N] = a(""), [P, Ve] = a(!1), [F, I] = a(null), [L, He] = a(!1), [R, z] = a(null), [B, V] = a(null), [Ue, We] = a(""), [Ge, Ke] = a("linux"), [qe, Je] = a("x86_64"), [Ye, Xe] = a("1.0.0"), [Ze, H] = a(null), [U, Qe] = a(!1), [$e, et] = a("default"), W = "visible", G = i({ hint: W }), K = i({ error: F }), q = i({ hint: W }), J = i({ hint: W }), Y = i({ hint: W }), tt = i(), nt = i(), rt = re((e, t) => {
|
|
26
|
+
navigator.clipboard.writeText(e), Ie(t), setTimeout(() => Ie(null), 2e3);
|
|
27
|
+
}, []), it = (e) => {
|
|
27
28
|
let t = e.trim();
|
|
28
29
|
return t.endsWith("/") && (t = t.slice(0, -1)), t;
|
|
29
|
-
}, [
|
|
30
|
-
let e =
|
|
30
|
+
}, [at] = e({ fetchPolicy: "network-only" }), ot = async () => {
|
|
31
|
+
let e = it(D);
|
|
31
32
|
if (e) {
|
|
32
|
-
|
|
33
|
+
He(!0), z(null), V(null);
|
|
33
34
|
try {
|
|
34
|
-
let { data: t, error: n } = await
|
|
35
|
+
let { data: t, error: n } = await at({ variables: {
|
|
35
36
|
url: e,
|
|
36
37
|
agentApiKey: O || null
|
|
37
38
|
} }), r = t?.probeAgentTunnel;
|
|
@@ -54,7 +55,7 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
54
55
|
} : {
|
|
55
56
|
ok: !1,
|
|
56
57
|
error: r.healthError ?? "Health check failed"
|
|
57
|
-
}), r.agentVersion &&
|
|
58
|
+
}), r.agentVersion && Xe(r.agentVersion), V(r.identityOk ? {
|
|
58
59
|
ok: !0,
|
|
59
60
|
data: {
|
|
60
61
|
hostname: r.hostname ?? "",
|
|
@@ -64,7 +65,7 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
64
65
|
} : {
|
|
65
66
|
ok: !1,
|
|
66
67
|
error: r.identityError ?? "Identity check failed"
|
|
67
|
-
}), r.identityOk && (r.platform &&
|
|
68
|
+
}), r.identityOk && (r.platform && Ke(r.platform), r.architecture && Je(r.architecture), r.hostname && (We(r.hostname), !E && !k && T(r.hostname)));
|
|
68
69
|
} catch (e) {
|
|
69
70
|
let t = e instanceof Error ? e.message : "Probe failed";
|
|
70
71
|
z({
|
|
@@ -75,64 +76,64 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
75
76
|
error: t
|
|
76
77
|
});
|
|
77
78
|
}
|
|
78
|
-
|
|
79
|
+
He(!1);
|
|
79
80
|
}
|
|
80
|
-
}, X =
|
|
81
|
+
}, X = ae(!1), st = async () => {
|
|
81
82
|
if (X.current) return;
|
|
82
83
|
X.current = !0, H(null);
|
|
83
|
-
let e =
|
|
84
|
-
name: w ||
|
|
85
|
-
hostname:
|
|
86
|
-
platform:
|
|
87
|
-
architecture:
|
|
88
|
-
version:
|
|
89
|
-
tunnelUrl:
|
|
84
|
+
let e = $e.trim() || "default", t = {
|
|
85
|
+
name: w || Ue || "Unnamed Agent",
|
|
86
|
+
hostname: Ue || "unknown",
|
|
87
|
+
platform: Ge,
|
|
88
|
+
architecture: qe,
|
|
89
|
+
version: Ye,
|
|
90
|
+
tunnelUrl: it(D),
|
|
90
91
|
tunnelStatus: "ACTIVE",
|
|
91
92
|
agentApiKey: O,
|
|
92
93
|
metadata: { profile: e },
|
|
93
94
|
...k ? { targetId: k } : {}
|
|
94
95
|
};
|
|
95
96
|
try {
|
|
96
|
-
let e = (await
|
|
97
|
+
let e = (await ke(t))?.id || null;
|
|
97
98
|
if (!e) {
|
|
98
99
|
H("Agent creation returned no ID. The agent may already exist.");
|
|
99
100
|
return;
|
|
100
101
|
}
|
|
101
|
-
|
|
102
|
+
Ae ? Ae(`/agents/${e}`) : h();
|
|
102
103
|
} catch (e) {
|
|
103
104
|
H(e instanceof Error ? e.message : "Failed to create agent");
|
|
104
105
|
} finally {
|
|
105
106
|
X.current = !1;
|
|
106
107
|
}
|
|
107
|
-
},
|
|
108
|
+
}, ct = R?.ok && B?.ok, Z = _ && _.length > 0, lt = (v || Z) && k.length === 0, ut = D.trim().length > 0 && !lt, dt = re(async () => {
|
|
108
109
|
if (!(!v || !M.trim())) {
|
|
109
|
-
|
|
110
|
+
Ve(!0), I(null);
|
|
110
111
|
try {
|
|
111
112
|
let e = await v(M.trim());
|
|
112
|
-
e ? (
|
|
113
|
+
e ? (Be(e.id), j(!1), N("")) : r() ? (j(!1), N("")) : I(y("agentsPage.inlineTargetFailed", "Failed to create target. Please try again."));
|
|
113
114
|
} catch (e) {
|
|
114
115
|
n(e) ? (j(!1), N("")) : I(e instanceof Error ? e.message : "Failed to create target");
|
|
115
116
|
} finally {
|
|
116
|
-
|
|
117
|
+
Ve(!1);
|
|
117
118
|
}
|
|
118
119
|
}
|
|
119
120
|
}, [
|
|
120
121
|
v,
|
|
121
122
|
M,
|
|
122
123
|
y
|
|
123
|
-
]),
|
|
124
|
-
let n =
|
|
124
|
+
]), ft = (e, t) => {
|
|
125
|
+
let n = Fe === t;
|
|
125
126
|
return /* @__PURE__ */ u(f, {
|
|
126
127
|
type: "button",
|
|
127
128
|
variant: "ghost",
|
|
128
129
|
size: "icon-sm",
|
|
129
|
-
onClick: () =>
|
|
130
|
+
onClick: () => rt(e, t),
|
|
130
131
|
"aria-label": n ? y("agentsPage.copied", "Copied") : y("agentsPage.copy", "Copy"),
|
|
131
132
|
className: "shrink-0",
|
|
132
|
-
children: n ? /* @__PURE__ */ u(
|
|
133
|
+
children: n ? /* @__PURE__ */ u(oe, {
|
|
133
134
|
className: "size-3.5 text-status-success-text",
|
|
134
135
|
"aria-hidden": "true"
|
|
135
|
-
}) : /* @__PURE__ */ u(
|
|
136
|
+
}) : /* @__PURE__ */ u(ue, {
|
|
136
137
|
className: "size-3.5 text-text-secondary",
|
|
137
138
|
"aria-hidden": "true"
|
|
138
139
|
})
|
|
@@ -147,26 +148,26 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
147
148
|
}, {
|
|
148
149
|
key: "validate",
|
|
149
150
|
label: y("agentsPage.stepValidate", "Validate")
|
|
150
|
-
}],
|
|
151
|
-
return /* @__PURE__ */ u(
|
|
151
|
+
}], pt = $.findIndex((e) => e.key === b);
|
|
152
|
+
return /* @__PURE__ */ u(ve, {
|
|
152
153
|
open: !0,
|
|
153
154
|
onOpenChange: (e) => {
|
|
154
155
|
!e && !g && h();
|
|
155
156
|
},
|
|
156
|
-
children: /* @__PURE__ */ d(
|
|
157
|
+
children: /* @__PURE__ */ d(ye, {
|
|
157
158
|
className: "sm:max-w-xl md:max-h-[min(90vh,52rem)] md:overflow-y-auto",
|
|
158
159
|
onPointerDownOutside: (e) => e.preventDefault(),
|
|
159
160
|
children: [
|
|
160
|
-
/* @__PURE__ */ d(
|
|
161
|
-
/* @__PURE__ */ u(
|
|
161
|
+
/* @__PURE__ */ d(Se, { children: [/* @__PURE__ */ u(Ce, { children: y("agentsPage.addNewAgent", "Add New Agent") }), /* @__PURE__ */ u(be, { children: y("agentsPage.addNewAgentDescription", "Connect a running vibe agent to this workspace.") })] }),
|
|
162
|
+
/* @__PURE__ */ u(Oe, {
|
|
162
163
|
steps: $,
|
|
163
|
-
active:
|
|
164
|
+
active: pt,
|
|
164
165
|
onStepClick: (e) => {
|
|
165
166
|
let t = $[e];
|
|
166
167
|
t && x(t.key === "validate" ? "validate" : "details");
|
|
167
168
|
}
|
|
168
169
|
}),
|
|
169
|
-
/* @__PURE__ */ u(
|
|
170
|
+
/* @__PURE__ */ u(ne, {
|
|
170
171
|
tabKey: b,
|
|
171
172
|
children: b === "details" ? /* @__PURE__ */ d("div", {
|
|
172
173
|
className: "space-y-4",
|
|
@@ -175,12 +176,12 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
175
176
|
className: "border border-border-default rounded-lg overflow-hidden",
|
|
176
177
|
children: [/* @__PURE__ */ d("button", {
|
|
177
178
|
type: "button",
|
|
178
|
-
onClick: () =>
|
|
179
|
+
onClick: () => Pe(!C),
|
|
179
180
|
"aria-expanded": C,
|
|
180
181
|
className: "w-full flex items-center justify-between px-4 py-3 bg-bg-sunken hover:bg-bg-sunken/80 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus",
|
|
181
182
|
children: [/* @__PURE__ */ d("div", {
|
|
182
183
|
className: "flex items-center gap-2",
|
|
183
|
-
children: [/* @__PURE__ */ u(
|
|
184
|
+
children: [/* @__PURE__ */ u(de, {
|
|
184
185
|
className: "size-4 text-text-secondary",
|
|
185
186
|
"aria-hidden": "true"
|
|
186
187
|
}), /* @__PURE__ */ u("span", {
|
|
@@ -194,33 +195,34 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
194
195
|
}), C && /* @__PURE__ */ u("div", {
|
|
195
196
|
className: "px-4 py-3 space-y-3 border-t border-border-default",
|
|
196
197
|
children: /* @__PURE__ */ d("div", {
|
|
197
|
-
className: "space-y-
|
|
198
|
-
children: [
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
]
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
198
|
+
className: "space-y-3",
|
|
199
|
+
children: [
|
|
200
|
+
/* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("p", {
|
|
201
|
+
className: "text-xs text-text-secondary mb-2",
|
|
202
|
+
children: y("agentsPage.installStep1", "1. Install the agent globally")
|
|
203
|
+
}), /* @__PURE__ */ u(ee, { compact: !0 })] }),
|
|
204
|
+
/* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("p", {
|
|
205
|
+
className: "text-xs text-text-secondary mb-1",
|
|
206
|
+
children: y("agentsPage.installStep2", "2. Start the agent (prints tunnel URL + API key)")
|
|
207
|
+
}), /* @__PURE__ */ d("div", {
|
|
208
|
+
className: "flex items-center gap-2 bg-bg-sunken rounded-md px-3 py-1.5 font-mono text-xs text-text-primary",
|
|
209
|
+
children: [
|
|
210
|
+
/* @__PURE__ */ u(_e, {
|
|
211
|
+
className: "size-3 text-text-muted flex-shrink-0",
|
|
212
|
+
"aria-hidden": "true"
|
|
213
|
+
}),
|
|
214
|
+
/* @__PURE__ */ u("code", {
|
|
215
|
+
className: "flex-1 min-w-0 break-words",
|
|
216
|
+
children: "vibe start"
|
|
217
|
+
}),
|
|
218
|
+
ft("vibe start", "vibe start")
|
|
219
|
+
]
|
|
220
|
+
})] }),
|
|
221
|
+
/* @__PURE__ */ u("p", {
|
|
222
|
+
className: "text-xs text-text-secondary pt-1",
|
|
223
|
+
children: y("agentsPage.installHint", "After running vibe start, copy the printed tunnel URL and API key into the fields above.")
|
|
224
|
+
})
|
|
225
|
+
]
|
|
224
226
|
})
|
|
225
227
|
})]
|
|
226
228
|
}),
|
|
@@ -235,7 +237,7 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
235
237
|
type: "text",
|
|
236
238
|
value: w,
|
|
237
239
|
onChange: (e) => {
|
|
238
|
-
T(e.target.value),
|
|
240
|
+
T(e.target.value), Le(!0);
|
|
239
241
|
},
|
|
240
242
|
placeholder: y("agentsPage.namePlaceholderUpfront", "My laptop, prod jump-host, …"),
|
|
241
243
|
className: "text-base md:text-sm",
|
|
@@ -252,7 +254,7 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
252
254
|
className: "mb-1.5 block text-sm font-medium text-text-primary",
|
|
253
255
|
children: [y("agentsPage.target", "Target"), Q]
|
|
254
256
|
}),
|
|
255
|
-
Z && !A && /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u(
|
|
257
|
+
Z && !A && /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u(te, {
|
|
256
258
|
placeholder: y("agentsPage.selectTarget", "Select a target..."),
|
|
257
259
|
searchPlaceholder: y("agentsPage.searchTargets", "Search targets..."),
|
|
258
260
|
options: (_ ?? []).map((e) => ({
|
|
@@ -261,7 +263,7 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
261
263
|
description: `${e.type}${e.status ? ` · ${e.status}` : ""}`
|
|
262
264
|
})),
|
|
263
265
|
value: k,
|
|
264
|
-
onChange:
|
|
266
|
+
onChange: Be,
|
|
265
267
|
clearable: !0
|
|
266
268
|
}), /* @__PURE__ */ d("p", {
|
|
267
269
|
className: "mt-1.5 text-xs text-text-muted",
|
|
@@ -274,14 +276,14 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
274
276
|
j(!0), N(w.trim() || "");
|
|
275
277
|
},
|
|
276
278
|
className: "text-text-link hover:text-text-linkHover hover:underline inline-flex items-center gap-1 rounded-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus",
|
|
277
|
-
children: [/* @__PURE__ */ u(
|
|
279
|
+
children: [/* @__PURE__ */ u(me, {
|
|
278
280
|
className: "size-3",
|
|
279
281
|
"aria-hidden": "true"
|
|
280
282
|
}), y("agentsPage.createNewTarget", "Create a new target")]
|
|
281
283
|
})
|
|
282
284
|
]
|
|
283
285
|
})] }),
|
|
284
|
-
!Z && !
|
|
286
|
+
!Z && !je && v && !A && /* @__PURE__ */ d("div", {
|
|
285
287
|
className: "p-3 bg-bg-sunken border border-border-default rounded-lg",
|
|
286
288
|
children: [/* @__PURE__ */ u("p", {
|
|
287
289
|
className: "text-sm text-text-secondary mb-2",
|
|
@@ -292,7 +294,7 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
292
294
|
onClick: () => {
|
|
293
295
|
j(!0), N(w.trim() || "");
|
|
294
296
|
},
|
|
295
|
-
children: [/* @__PURE__ */ u(
|
|
297
|
+
children: [/* @__PURE__ */ u(me, {
|
|
296
298
|
className: "size-4",
|
|
297
299
|
"aria-hidden": "true"
|
|
298
300
|
}), y("agentsPage.createFirstTarget", "Create first target")]
|
|
@@ -319,7 +321,7 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
319
321
|
placeholder: y("agentsPage.targetName", "Target name"),
|
|
320
322
|
className: "text-base md:text-sm",
|
|
321
323
|
onKeyDown: (e) => {
|
|
322
|
-
e.key === "Enter" && (e.preventDefault(),
|
|
324
|
+
e.key === "Enter" && (e.preventDefault(), dt());
|
|
323
325
|
}
|
|
324
326
|
}),
|
|
325
327
|
F && /* @__PURE__ */ u("p", {
|
|
@@ -334,13 +336,13 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
334
336
|
children: [/* @__PURE__ */ d(f, {
|
|
335
337
|
type: "button",
|
|
336
338
|
size: "sm",
|
|
337
|
-
onClick: () => void
|
|
339
|
+
onClick: () => void dt(),
|
|
338
340
|
disabled: !M.trim() || P,
|
|
339
341
|
"aria-busy": P,
|
|
340
342
|
children: [P ? /* @__PURE__ */ u(s, {
|
|
341
343
|
className: "size-3.5 animate-spin",
|
|
342
344
|
"aria-hidden": "true"
|
|
343
|
-
}) : /* @__PURE__ */ u(
|
|
345
|
+
}) : /* @__PURE__ */ u(oe, {
|
|
344
346
|
className: "size-3.5",
|
|
345
347
|
"aria-hidden": "true"
|
|
346
348
|
}), y("agentsPage.create", "Create")]
|
|
@@ -356,7 +358,7 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
356
358
|
})
|
|
357
359
|
]
|
|
358
360
|
}),
|
|
359
|
-
|
|
361
|
+
je && !Z && /* @__PURE__ */ d("div", {
|
|
360
362
|
role: "status",
|
|
361
363
|
className: "p-3 bg-bg-sunken border border-border-default rounded-lg flex items-center gap-2 text-sm text-text-secondary",
|
|
362
364
|
children: [/* @__PURE__ */ u(s, {
|
|
@@ -375,7 +377,7 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
375
377
|
...q.inputProps,
|
|
376
378
|
type: "url",
|
|
377
379
|
value: D,
|
|
378
|
-
onChange: (e) =>
|
|
380
|
+
onChange: (e) => Re(e.target.value),
|
|
379
381
|
placeholder: "https://your-tunnel.trycloudflare.com",
|
|
380
382
|
"aria-required": "true",
|
|
381
383
|
className: "text-base md:text-sm font-mono"
|
|
@@ -398,7 +400,7 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
398
400
|
...J.inputProps,
|
|
399
401
|
type: S ? "text" : "password",
|
|
400
402
|
value: O,
|
|
401
|
-
onChange: (e) =>
|
|
403
|
+
onChange: (e) => ze(e.target.value),
|
|
402
404
|
placeholder: "vcak_...",
|
|
403
405
|
"aria-required": "true",
|
|
404
406
|
className: "pr-10 text-base md:text-sm font-mono"
|
|
@@ -406,11 +408,11 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
406
408
|
type: "button",
|
|
407
409
|
variant: "ghost",
|
|
408
410
|
size: "icon-sm",
|
|
409
|
-
onClick: () =>
|
|
411
|
+
onClick: () => Ne(!S),
|
|
410
412
|
"aria-label": S ? y("agentsPage.hideApiKey", "Hide API key") : y("agentsPage.showApiKey", "Show API key"),
|
|
411
413
|
"aria-pressed": S,
|
|
412
414
|
className: "absolute right-1 top-1/2 -translate-y-1/2",
|
|
413
|
-
children: u(S ?
|
|
415
|
+
children: u(S ? pe : fe, {
|
|
414
416
|
className: "size-4 text-text-secondary",
|
|
415
417
|
"aria-hidden": "true"
|
|
416
418
|
})
|
|
@@ -435,20 +437,20 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
435
437
|
className: "border border-border-default rounded-lg overflow-hidden",
|
|
436
438
|
children: [/* @__PURE__ */ d("button", {
|
|
437
439
|
type: "button",
|
|
438
|
-
onClick: () =>
|
|
440
|
+
onClick: () => Qe((e) => !e),
|
|
439
441
|
className: "w-full flex items-center justify-between px-4 py-2.5 bg-bg-sunken hover:bg-bg-sunken/80 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus",
|
|
440
442
|
"aria-expanded": U,
|
|
441
443
|
"data-testid": "agent-form-advanced-toggle",
|
|
442
444
|
children: [/* @__PURE__ */ d("div", {
|
|
443
445
|
className: "flex items-center gap-2",
|
|
444
|
-
children: [/* @__PURE__ */ u(
|
|
446
|
+
children: [/* @__PURE__ */ u(ge, {
|
|
445
447
|
className: "size-4 text-text-secondary",
|
|
446
448
|
"aria-hidden": "true"
|
|
447
449
|
}), /* @__PURE__ */ u("span", {
|
|
448
450
|
className: "text-sm font-medium text-text-primary",
|
|
449
451
|
children: y("agentsPage.advancedOptions", "Advanced options")
|
|
450
452
|
})]
|
|
451
|
-
}), /* @__PURE__ */ u(
|
|
453
|
+
}), /* @__PURE__ */ u(ce, {
|
|
452
454
|
"aria-hidden": "true",
|
|
453
455
|
className: `size-4 text-text-secondary transition-transform ${U ? "rotate-180" : ""}`
|
|
454
456
|
})]
|
|
@@ -463,8 +465,8 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
463
465
|
/* @__PURE__ */ u(p, {
|
|
464
466
|
...Y.inputProps,
|
|
465
467
|
type: "text",
|
|
466
|
-
value:
|
|
467
|
-
onChange: (e) =>
|
|
468
|
+
value: $e,
|
|
469
|
+
onChange: (e) => et(e.target.value),
|
|
468
470
|
placeholder: "default",
|
|
469
471
|
className: "text-base md:text-sm font-mono",
|
|
470
472
|
"data-testid": "agent-form-profile-input"
|
|
@@ -477,11 +479,11 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
477
479
|
] })
|
|
478
480
|
})]
|
|
479
481
|
}),
|
|
480
|
-
|
|
482
|
+
Me && /* @__PURE__ */ u("div", {
|
|
481
483
|
className: "border-t border-border-default pt-4 mt-4",
|
|
482
|
-
children:
|
|
484
|
+
children: Me
|
|
483
485
|
}),
|
|
484
|
-
/* @__PURE__ */ d(
|
|
486
|
+
/* @__PURE__ */ d(xe, {
|
|
485
487
|
className: "pt-2",
|
|
486
488
|
children: [/* @__PURE__ */ u(f, {
|
|
487
489
|
type: "button",
|
|
@@ -490,9 +492,9 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
490
492
|
children: y("agentsPage.cancel", "Cancel")
|
|
491
493
|
}), /* @__PURE__ */ d(f, {
|
|
492
494
|
type: "button",
|
|
493
|
-
disabled: !
|
|
495
|
+
disabled: !ut,
|
|
494
496
|
onClick: () => {
|
|
495
|
-
x("validate"),
|
|
497
|
+
x("validate"), ot();
|
|
496
498
|
},
|
|
497
499
|
children: [y("agentsPage.nextValidate", "Next: Validate"), /* @__PURE__ */ u(o, {
|
|
498
500
|
className: "size-4",
|
|
@@ -512,7 +514,7 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
512
514
|
children: [L && !R ? /* @__PURE__ */ u(s, {
|
|
513
515
|
className: "size-5 text-text-secondary animate-spin",
|
|
514
516
|
"aria-hidden": "true"
|
|
515
|
-
}) : R?.ok ? /* @__PURE__ */ u(
|
|
517
|
+
}) : R?.ok ? /* @__PURE__ */ u(se, {
|
|
516
518
|
className: "size-5 text-status-success-text",
|
|
517
519
|
"aria-hidden": "true"
|
|
518
520
|
}) : R ? /* @__PURE__ */ u(c, {
|
|
@@ -552,7 +554,7 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
552
554
|
children: [L && !B ? /* @__PURE__ */ u(s, {
|
|
553
555
|
className: "size-5 text-text-secondary animate-spin",
|
|
554
556
|
"aria-hidden": "true"
|
|
555
|
-
}) : B?.ok ? /* @__PURE__ */ u(
|
|
557
|
+
}) : B?.ok ? /* @__PURE__ */ u(se, {
|
|
556
558
|
className: "size-5 text-status-success-text",
|
|
557
559
|
"aria-hidden": "true"
|
|
558
560
|
}) : B ? /* @__PURE__ */ u(c, {
|
|
@@ -592,13 +594,13 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
592
594
|
type: "button",
|
|
593
595
|
variant: "ghost",
|
|
594
596
|
size: "sm",
|
|
595
|
-
onClick:
|
|
596
|
-
children: [/* @__PURE__ */ u(
|
|
597
|
+
onClick: ot,
|
|
598
|
+
children: [/* @__PURE__ */ u(he, {
|
|
597
599
|
className: "size-3.5",
|
|
598
600
|
"aria-hidden": "true"
|
|
599
601
|
}), y("agentsPage.retryValidation", "Retry validation")]
|
|
600
602
|
}),
|
|
601
|
-
|
|
603
|
+
ct && /* @__PURE__ */ d("div", {
|
|
602
604
|
className: "space-y-3 pt-2",
|
|
603
605
|
children: [/* @__PURE__ */ u("p", {
|
|
604
606
|
className: "text-sm font-medium text-text-primary",
|
|
@@ -606,17 +608,17 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
606
608
|
}), /* @__PURE__ */ d("div", {
|
|
607
609
|
className: "grid grid-cols-1 sm:grid-cols-2 gap-3",
|
|
608
610
|
children: [/* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("label", {
|
|
609
|
-
htmlFor:
|
|
611
|
+
htmlFor: tt.id,
|
|
610
612
|
className: "mb-1.5 block text-sm font-medium text-text-primary",
|
|
611
613
|
children: y("agentsPage.platform", "Platform")
|
|
612
|
-
}), /* @__PURE__ */ d(
|
|
613
|
-
value:
|
|
614
|
-
onValueChange:
|
|
615
|
-
children: [/* @__PURE__ */ u(
|
|
616
|
-
id:
|
|
614
|
+
}), /* @__PURE__ */ d(we, {
|
|
615
|
+
value: Ge,
|
|
616
|
+
onValueChange: Ke,
|
|
617
|
+
children: [/* @__PURE__ */ u(Ee, {
|
|
618
|
+
id: tt.id,
|
|
617
619
|
className: "text-base md:text-sm",
|
|
618
|
-
children: /* @__PURE__ */ u(
|
|
619
|
-
}), /* @__PURE__ */ d(
|
|
620
|
+
children: /* @__PURE__ */ u(De, {})
|
|
621
|
+
}), /* @__PURE__ */ d(Te, { children: [
|
|
620
622
|
/* @__PURE__ */ u(m, {
|
|
621
623
|
value: "linux",
|
|
622
624
|
children: "Linux"
|
|
@@ -631,17 +633,17 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
631
633
|
})
|
|
632
634
|
] })]
|
|
633
635
|
})] }), /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("label", {
|
|
634
|
-
htmlFor:
|
|
636
|
+
htmlFor: nt.id,
|
|
635
637
|
className: "mb-1.5 block text-sm font-medium text-text-primary",
|
|
636
638
|
children: y("agentsPage.architecture", "Architecture")
|
|
637
|
-
}), /* @__PURE__ */ d(
|
|
638
|
-
value:
|
|
639
|
-
onValueChange:
|
|
640
|
-
children: [/* @__PURE__ */ u(
|
|
641
|
-
id:
|
|
639
|
+
}), /* @__PURE__ */ d(we, {
|
|
640
|
+
value: qe,
|
|
641
|
+
onValueChange: Je,
|
|
642
|
+
children: [/* @__PURE__ */ u(Ee, {
|
|
643
|
+
id: nt.id,
|
|
642
644
|
className: "text-base md:text-sm",
|
|
643
|
-
children: /* @__PURE__ */ u(
|
|
644
|
-
}), /* @__PURE__ */ d(
|
|
645
|
+
children: /* @__PURE__ */ u(De, {})
|
|
646
|
+
}), /* @__PURE__ */ d(Te, { children: [
|
|
645
647
|
/* @__PURE__ */ u(m, {
|
|
646
648
|
value: "x86_64",
|
|
647
649
|
children: "x86_64"
|
|
@@ -658,7 +660,7 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
658
660
|
})] })]
|
|
659
661
|
})]
|
|
660
662
|
}),
|
|
661
|
-
|
|
663
|
+
Ze && /* @__PURE__ */ d("div", {
|
|
662
664
|
role: "alert",
|
|
663
665
|
className: "p-3 bg-status-error-bg-subtle border border-status-error-border rounded-lg",
|
|
664
666
|
children: [/* @__PURE__ */ d("div", {
|
|
@@ -668,7 +670,7 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
668
670
|
"aria-hidden": "true"
|
|
669
671
|
}), /* @__PURE__ */ u("p", {
|
|
670
672
|
className: "text-sm text-status-error-text break-words",
|
|
671
|
-
children:
|
|
673
|
+
children: Ze
|
|
672
674
|
})]
|
|
673
675
|
}), /* @__PURE__ */ d("div", {
|
|
674
676
|
className: "flex flex-wrap items-center gap-2 mt-3",
|
|
@@ -677,9 +679,9 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
677
679
|
variant: "outline",
|
|
678
680
|
size: "sm",
|
|
679
681
|
onClick: () => {
|
|
680
|
-
H(null), x("details"),
|
|
682
|
+
H(null), x("details"), Re(""), ze(""), z(null), V(null);
|
|
681
683
|
},
|
|
682
|
-
children: [/* @__PURE__ */ u(
|
|
684
|
+
children: [/* @__PURE__ */ u(he, {
|
|
683
685
|
className: "size-3.5",
|
|
684
686
|
"aria-hidden": "true"
|
|
685
687
|
}), y("agentsPage.tryDifferentAgent", "Try Different Agent")]
|
|
@@ -692,20 +694,20 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
692
694
|
})]
|
|
693
695
|
})]
|
|
694
696
|
}),
|
|
695
|
-
/* @__PURE__ */ d(
|
|
697
|
+
/* @__PURE__ */ d(xe, {
|
|
696
698
|
className: "pt-2",
|
|
697
699
|
children: [/* @__PURE__ */ d(f, {
|
|
698
700
|
type: "button",
|
|
699
701
|
variant: "outline",
|
|
700
702
|
onClick: () => x("details"),
|
|
701
|
-
children: [/* @__PURE__ */ u(
|
|
703
|
+
children: [/* @__PURE__ */ u(le, {
|
|
702
704
|
className: "size-4",
|
|
703
705
|
"aria-hidden": "true"
|
|
704
706
|
}), y("agentsPage.back", "Back")]
|
|
705
707
|
}), /* @__PURE__ */ u(f, {
|
|
706
708
|
type: "button",
|
|
707
|
-
disabled: !
|
|
708
|
-
onClick:
|
|
709
|
+
disabled: !ct || g || L,
|
|
710
|
+
onClick: st,
|
|
709
711
|
"aria-busy": g,
|
|
710
712
|
children: g ? /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u(s, {
|
|
711
713
|
className: "size-4 animate-spin",
|
|
@@ -724,6 +726,6 @@ function Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets:
|
|
|
724
726
|
});
|
|
725
727
|
}
|
|
726
728
|
//#endregion
|
|
727
|
-
export {
|
|
729
|
+
export { ke as AgentForm };
|
|
728
730
|
|
|
729
731
|
//# sourceMappingURL=AgentForm.js.map
|