@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.
Files changed (72) hide show
  1. package/dist/components/agents/AgentForm.js +129 -127
  2. package/dist/components/agents/AgentForm.js.map +1 -1
  3. package/dist/components/agents/AgentStatusBadge.js +11 -4
  4. package/dist/components/agents/AgentStatusBadge.js.map +1 -1
  5. package/dist/components/sessions/SessionStatusBadge.js +11 -8
  6. package/dist/components/sessions/SessionStatusBadge.js.map +1 -1
  7. package/dist/components/shared/EmptyState.js +14 -8
  8. package/dist/components/shared/EmptyState.js.map +1 -1
  9. package/dist/components/shared/InstallTabs.js +19 -7
  10. package/dist/components/shared/InstallTabs.js.map +1 -1
  11. package/dist/components/shared/PageHeader.js.map +1 -1
  12. package/dist/components/shared/PageSkeleton.js +4 -1
  13. package/dist/components/shared/PageSkeleton.js.map +1 -1
  14. package/dist/components/shared/SessionNotificationBanner.js +12 -5
  15. package/dist/components/shared/SessionNotificationBanner.js.map +1 -1
  16. package/dist/components/shared/StatusBadge.js +2 -2
  17. package/dist/components/shared/StatusBadge.js.map +1 -1
  18. package/dist/pages/ActionsPage.js +209 -204
  19. package/dist/pages/ActionsPage.js.map +1 -1
  20. package/dist/pages/AgentDetailsPage.js +678 -648
  21. package/dist/pages/AgentDetailsPage.js.map +1 -1
  22. package/dist/pages/AgentGraphPage.js +112 -108
  23. package/dist/pages/AgentGraphPage.js.map +1 -1
  24. package/dist/pages/AgentsPage.js +160 -155
  25. package/dist/pages/AgentsPage.js.map +1 -1
  26. package/dist/pages/AnalyticsPage.js +140 -136
  27. package/dist/pages/AnalyticsPage.js.map +1 -1
  28. package/dist/pages/CatalogDetailPage.js +249 -244
  29. package/dist/pages/CatalogDetailPage.js.map +1 -1
  30. package/dist/pages/CatalogPage.js +73 -68
  31. package/dist/pages/CatalogPage.js.map +1 -1
  32. package/dist/pages/ComponentDetailPage.js +195 -164
  33. package/dist/pages/ComponentDetailPage.js.map +1 -1
  34. package/dist/pages/ComponentsPage.js +80 -75
  35. package/dist/pages/ComponentsPage.js.map +1 -1
  36. package/dist/pages/EnvTopologyPage.js +100 -95
  37. package/dist/pages/EnvTopologyPage.js.map +1 -1
  38. package/dist/pages/HealthPage.js +331 -204
  39. package/dist/pages/HealthPage.js.map +1 -1
  40. package/dist/pages/LogsPage.js +54 -49
  41. package/dist/pages/LogsPage.js.map +1 -1
  42. package/dist/pages/OverviewPage.js +251 -241
  43. package/dist/pages/OverviewPage.js.map +1 -1
  44. package/dist/pages/PluginsCatalogPage.js +72 -78
  45. package/dist/pages/PluginsCatalogPage.js.map +1 -1
  46. package/dist/pages/SessionDetailsPage.js +517 -512
  47. package/dist/pages/SessionDetailsPage.js.map +1 -1
  48. package/dist/pages/SessionsPage.js +1084 -1078
  49. package/dist/pages/SessionsPage.js.map +1 -1
  50. package/dist/pages/SettingsPage.js +107 -103
  51. package/dist/pages/SettingsPage.js.map +1 -1
  52. package/dist/pages/TargetDetailsPage.js +131 -123
  53. package/dist/pages/TargetDetailsPage.js.map +1 -1
  54. package/dist/pages/TargetsPage.js +265 -260
  55. package/dist/pages/TargetsPage.js.map +1 -1
  56. package/dist/pages/TemplatesPage.js +77 -71
  57. package/dist/pages/TemplatesPage.js.map +1 -1
  58. package/dist/pages/VibeAuditPage.js +83 -78
  59. package/dist/pages/VibeAuditPage.js.map +1 -1
  60. package/dist/pages/VibeCalendarPage.js +109 -104
  61. package/dist/pages/VibeCalendarPage.js.map +1 -1
  62. package/dist/pages/VibeDeckPage.js +222 -217
  63. package/dist/pages/VibeDeckPage.js.map +1 -1
  64. package/dist/pages/VibeDetailsPage.js +532 -501
  65. package/dist/pages/VibeDetailsPage.js.map +1 -1
  66. package/dist/pages/VibesPage.js +138 -133
  67. package/dist/pages/VibesPage.js.map +1 -1
  68. package/dist/pages/WebhooksPage.js +329 -324
  69. package/dist/pages/WebhooksPage.js.map +1 -1
  70. package/dist/pages/ai/AIPage.js +149 -144
  71. package/dist/pages/ai/AIPage.js.map +1 -1
  72. 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 { SearchableSelect as ee } from "../shared/SearchableSelect.js";
5
- import { MotionTabPanel as te } from "../shared/MotionTabPanel.js";
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 ne, useEffect as re, useRef as ie, useState as a } from "react";
9
- import { Check as ae, CheckCircle2 as oe, ChevronDown as se, ChevronLeft as ce, ChevronRight as o, Copy as le, Download as ue, Eye as de, EyeOff as fe, Loader2 as s, Plus as pe, RefreshCw as me, Settings2 as he, Terminal as ge, XCircle as c } from "lucide-react";
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 _e, ResponsiveDialogContent as ve, ResponsiveDialogDescription as ye, ResponsiveDialogFooter as be, ResponsiveDialogHeader as xe, ResponsiveDialogTitle as Se, Select as Ce, SelectContent as we, SelectItem as m, SelectTrigger as Te, SelectValue as Ee, Stepper as De } from "@burdenoff/fe-libs/ui";
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 Oe({ onSubmit: Oe, onCancel: h, isLoading: g, onNavigate: ke, targets: _, targetsLoading: Ae, onCreateTarget: v, extraSection: je }) {
14
- let y = t(), [b, x] = a("details"), [S, Me] = a(!1), [C, Ne] = a(!1), [Pe, Fe] = a(null), [w, T] = a(""), [E, Ie] = a(!1), [D, Le] = a(""), [O, Re] = a(""), [k, ze] = a("");
15
- re(() => {
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, Be] = a(!1), [F, I] = a(null), [L, Ve] = a(!1), [R, z] = a(null), [B, V] = a(null), [He, Ue] = a(""), [We, Ge] = a("linux"), [Ke, qe] = a("x86_64"), [Je, Ye] = a("1.0.0"), [Xe, H] = a(null), [U, Ze] = a(!1), [Qe, $e] = a("default"), W = "visible", G = i({ hint: W }), K = i({ error: F }), q = i({ hint: W }), J = i({ hint: W }), Y = i({ hint: W }), et = i(), tt = i(), nt = ne((e, t) => {
25
- navigator.clipboard.writeText(e), Fe(t), setTimeout(() => Fe(null), 2e3);
26
- }, []), rt = (e) => {
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
- }, [it] = e({ fetchPolicy: "network-only" }), at = async () => {
30
- let e = rt(D);
30
+ }, [at] = e({ fetchPolicy: "network-only" }), ot = async () => {
31
+ let e = it(D);
31
32
  if (e) {
32
- Ve(!0), z(null), V(null);
33
+ He(!0), z(null), V(null);
33
34
  try {
34
- let { data: t, error: n } = await it({ variables: {
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 && Ye(r.agentVersion), V(r.identityOk ? {
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 && Ge(r.platform), r.architecture && qe(r.architecture), r.hostname && (Ue(r.hostname), !E && !k && T(r.hostname)));
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
- Ve(!1);
79
+ He(!1);
79
80
  }
80
- }, X = ie(!1), ot = async () => {
81
+ }, X = ae(!1), st = async () => {
81
82
  if (X.current) return;
82
83
  X.current = !0, H(null);
83
- let e = Qe.trim() || "default", t = {
84
- name: w || He || "Unnamed Agent",
85
- hostname: He || "unknown",
86
- platform: We,
87
- architecture: Ke,
88
- version: Je,
89
- tunnelUrl: rt(D),
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 Oe(t))?.id || null;
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
- ke ? ke(`/agents/${e}`) : h();
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
- }, st = R?.ok && B?.ok, Z = _ && _.length > 0, ct = (v || Z) && k.length === 0, lt = D.trim().length > 0 && !ct, ut = ne(async () => {
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
- Be(!0), I(null);
110
+ Ve(!0), I(null);
110
111
  try {
111
112
  let e = await v(M.trim());
112
- e ? (ze(e.id), j(!1), N("")) : r() ? (j(!1), N("")) : I(y("agentsPage.inlineTargetFailed", "Failed to create target. Please try again."));
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
- Be(!1);
117
+ Ve(!1);
117
118
  }
118
119
  }
119
120
  }, [
120
121
  v,
121
122
  M,
122
123
  y
123
- ]), dt = (e, t) => {
124
- let n = Pe === t;
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: () => nt(e, t),
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(ae, {
133
+ children: n ? /* @__PURE__ */ u(oe, {
133
134
  className: "size-3.5 text-status-success-text",
134
135
  "aria-hidden": "true"
135
- }) : /* @__PURE__ */ u(le, {
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
- }], ft = $.findIndex((e) => e.key === b);
151
- return /* @__PURE__ */ u(_e, {
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(ve, {
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(xe, { children: [/* @__PURE__ */ u(Se, { children: y("agentsPage.addNewAgent", "Add New Agent") }), /* @__PURE__ */ u(ye, { children: y("agentsPage.addNewAgentDescription", "Connect a running vibe agent to this workspace.") })] }),
161
- /* @__PURE__ */ u(De, {
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: ft,
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(te, {
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: () => Ne(!C),
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(ue, {
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-2",
198
- children: [[{
199
- label: y("agentsPage.installStep1", "1. Install the agent globally"),
200
- cmd: "bun install -g @vibecontrols/agent"
201
- }, {
202
- label: y("agentsPage.installStep2", "2. Start the agent (prints tunnel URL + API key)"),
203
- cmd: "vibe start"
204
- }].map((e) => /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("p", {
205
- className: "text-xs text-text-secondary mb-1",
206
- children: e.label
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(ge, {
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: e.cmd
217
- }),
218
- dt(e.cmd, e.cmd)
219
- ]
220
- })] }, e.cmd)), /* @__PURE__ */ u("p", {
221
- className: "text-xs text-text-secondary pt-1",
222
- children: y("agentsPage.installHint", "After running vibe start, copy the printed tunnel URL and API key into the fields above.")
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), Ie(!0);
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(ee, {
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: ze,
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(pe, {
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 && !Ae && v && !A && /* @__PURE__ */ d("div", {
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(pe, {
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(), ut());
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 ut(),
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(ae, {
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
- Ae && !Z && /* @__PURE__ */ d("div", {
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) => Le(e.target.value),
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) => Re(e.target.value),
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: () => Me(!S),
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 ? fe : de, {
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: () => Ze((e) => !e),
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(he, {
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(se, {
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: Qe,
467
- onChange: (e) => $e(e.target.value),
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
- je && /* @__PURE__ */ u("div", {
482
+ Me && /* @__PURE__ */ u("div", {
481
483
  className: "border-t border-border-default pt-4 mt-4",
482
- children: je
484
+ children: Me
483
485
  }),
484
- /* @__PURE__ */ d(be, {
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: !lt,
495
+ disabled: !ut,
494
496
  onClick: () => {
495
- x("validate"), at();
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(oe, {
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(oe, {
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: at,
596
- children: [/* @__PURE__ */ u(me, {
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
- st && /* @__PURE__ */ d("div", {
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: et.id,
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(Ce, {
613
- value: We,
614
- onValueChange: Ge,
615
- children: [/* @__PURE__ */ u(Te, {
616
- id: et.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(Ee, {})
619
- }), /* @__PURE__ */ d(we, { children: [
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: tt.id,
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(Ce, {
638
- value: Ke,
639
- onValueChange: qe,
640
- children: [/* @__PURE__ */ u(Te, {
641
- id: tt.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(Ee, {})
644
- }), /* @__PURE__ */ d(we, { children: [
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
- Xe && /* @__PURE__ */ d("div", {
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: Xe
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"), Le(""), Re(""), z(null), V(null);
682
+ H(null), x("details"), Re(""), ze(""), z(null), V(null);
681
683
  },
682
- children: [/* @__PURE__ */ u(me, {
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(be, {
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(ce, {
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: !st || g || L,
708
- onClick: ot,
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 { Oe as AgentForm };
729
+ export { ke as AgentForm };
728
730
 
729
731
  //# sourceMappingURL=AgentForm.js.map