@burdenoff/microfe-vibecontrols 2026.601.4 → 2026.601.6
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/generated/wspace-operations.js +6 -2
- package/dist/generated/wspace-operations.js.map +1 -1
- package/dist/generated/wspace-types.js.map +1 -1
- package/dist/node_modules/@apollo/client/utilities/internal/getMainDefinition.js +17 -0
- package/dist/node_modules/@apollo/client/utilities/internal/getMainDefinition.js.map +1 -0
- package/dist/pages/AgentDetailsPage.js +136 -115
- package/dist/pages/AgentDetailsPage.js.map +1 -1
- package/dist/pages/AgentGraphPage.js +65 -65
- package/dist/pages/AgentGraphPage.js.map +1 -1
- package/dist/pages/TargetsPage.js +105 -92
- package/dist/pages/TargetsPage.js.map +1 -1
- package/dist/pages/VibeCalendarPage.js +2 -1
- package/dist/pages/VibeCalendarPage.js.map +1 -1
- package/dist/providers/VibeControlsProvider.js +147 -113
- package/dist/providers/VibeControlsProvider.js.map +1 -1
- package/package.json +1 -1
|
@@ -67,10 +67,10 @@ function Qe() {
|
|
|
67
67
|
},
|
|
68
68
|
skip: !f,
|
|
69
69
|
fetchPolicy: "cache-first"
|
|
70
|
-
}), { agents: Jt, refetch:
|
|
70
|
+
}), { agents: Jt, refetch: Y } = ue(), [Yt] = e({
|
|
71
71
|
refetchQueries: ["VibeControlsInitialData", "ListTargets"],
|
|
72
72
|
awaitRefetchQueries: !0
|
|
73
|
-
}), { setDraftTagIds:
|
|
73
|
+
}), { setDraftTagIds: Xt, flushTags: Zt } = pe("VIBECONTROLS_TARGET"), [Qt] = ae(), [$t] = re(), [en] = ne(), [X] = t(), [tn] = ee(), [nn] = ie(), [rn] = n({ fetchPolicy: "network-only" }), Z = o(() => (qt?.targets?.items ?? []).map((e) => ({
|
|
74
74
|
id: e.id,
|
|
75
75
|
type: e.type || "DIRECT",
|
|
76
76
|
name: e.name,
|
|
@@ -89,28 +89,28 @@ function Qe() {
|
|
|
89
89
|
version: e.version,
|
|
90
90
|
isActive: e.isActive
|
|
91
91
|
}))
|
|
92
|
-
})), [qt]),
|
|
92
|
+
})), [qt]), Q = o(() => Jt.map((e) => ({
|
|
93
93
|
id: e.id,
|
|
94
94
|
name: e.name,
|
|
95
95
|
isActive: e.isActive,
|
|
96
96
|
tunnelUrl: e.tunnelUrl ?? null,
|
|
97
97
|
agentApiKey: null
|
|
98
|
-
})), [Jt]),
|
|
99
|
-
let e =
|
|
98
|
+
})), [Jt]), $ = o(() => {
|
|
99
|
+
let e = Z;
|
|
100
100
|
if (h) {
|
|
101
101
|
let t = h.toLowerCase();
|
|
102
102
|
e = e.filter((e) => e.name.toLowerCase().includes(t) || e.host?.toLowerCase().includes(t) || e.label?.toLowerCase().includes(t));
|
|
103
103
|
}
|
|
104
104
|
return g && (e = e.filter((e) => e.agents.some((e) => e.id === g))), _ !== "all" && (e = e.filter((e) => e.type === _)), v !== "all" && (e = e.filter((e) => e.status === v)), e;
|
|
105
105
|
}, [
|
|
106
|
-
|
|
106
|
+
Z,
|
|
107
107
|
h,
|
|
108
108
|
g,
|
|
109
109
|
_,
|
|
110
110
|
v
|
|
111
111
|
]);
|
|
112
112
|
Te(() => {
|
|
113
|
-
if (!m ||
|
|
113
|
+
if (!m || !$.find((e) => e.id === m)) return;
|
|
114
114
|
let e = window.setTimeout(() => {
|
|
115
115
|
document.getElementById(`target-row-${m}`)?.scrollIntoView({
|
|
116
116
|
behavior: "smooth",
|
|
@@ -118,12 +118,12 @@ function Qe() {
|
|
|
118
118
|
});
|
|
119
119
|
}, 150);
|
|
120
120
|
return () => window.clearTimeout(e);
|
|
121
|
-
}, [
|
|
122
|
-
let
|
|
121
|
+
}, [$, m]);
|
|
122
|
+
let an = Z.filter((e) => e.status === "connected").length, on = $.length > 0 && $.every((e) => S.has(e.id)), sn = S.size > 0;
|
|
123
123
|
Te(() => {
|
|
124
124
|
if (!mt || !O) return;
|
|
125
125
|
let e = !1, t = () => {
|
|
126
|
-
|
|
126
|
+
rn({ variables: {
|
|
127
127
|
targetId: O.id,
|
|
128
128
|
jobId: mt
|
|
129
129
|
} }).then((t) => {
|
|
@@ -136,7 +136,7 @@ function Qe() {
|
|
|
136
136
|
steps: n.steps ?? [],
|
|
137
137
|
result: n.result ?? void 0,
|
|
138
138
|
error: n.error ?? void 0
|
|
139
|
-
}), (n.status === "completed" || n.status === "failed") && n.status === "completed" && J());
|
|
139
|
+
}), (n.status === "completed" || n.status === "failed") && n.status === "completed" && (J(), Y()));
|
|
140
140
|
}).catch(() => {});
|
|
141
141
|
};
|
|
142
142
|
t();
|
|
@@ -147,12 +147,13 @@ function Qe() {
|
|
|
147
147
|
}, [
|
|
148
148
|
mt,
|
|
149
149
|
O,
|
|
150
|
-
|
|
150
|
+
rn,
|
|
151
|
+
Y,
|
|
151
152
|
J
|
|
152
153
|
]);
|
|
153
|
-
let
|
|
154
|
+
let cn = a(async () => {
|
|
154
155
|
if (!(!B || !f) && !(z !== "DIRECT" && (!H || !U || !W))) try {
|
|
155
|
-
let e = await
|
|
156
|
+
let e = await Yt({ variables: {
|
|
156
157
|
workspaceId: f,
|
|
157
158
|
input: {
|
|
158
159
|
type: z,
|
|
@@ -181,7 +182,7 @@ function Qe() {
|
|
|
181
182
|
return;
|
|
182
183
|
}
|
|
183
184
|
let t = e.data?.createTarget?.id;
|
|
184
|
-
y(!1), Mt(""), Ft(""), Rt(""), Vt(""), Ut(""), Gt(""), Kt(""), t && await
|
|
185
|
+
y(!1), Mt(""), Ft(""), Rt(""), Vt(""), Ut(""), Gt(""), Kt(""), t && await Zt(t), J(), Y();
|
|
185
186
|
} catch (e) {
|
|
186
187
|
if (r(e)) {
|
|
187
188
|
y(!1), i(), E("target");
|
|
@@ -207,23 +208,28 @@ function Qe() {
|
|
|
207
208
|
V,
|
|
208
209
|
z,
|
|
209
210
|
f,
|
|
210
|
-
|
|
211
|
-
|
|
211
|
+
Yt,
|
|
212
|
+
Zt,
|
|
213
|
+
Y,
|
|
212
214
|
J
|
|
213
|
-
]),
|
|
214
|
-
let t = (await
|
|
215
|
+
]), ln = a(async (e) => {
|
|
216
|
+
let t = (await $t({ variables: { id: e } })).data?.testTarget;
|
|
215
217
|
t && (T({
|
|
216
218
|
id: e,
|
|
217
219
|
success: t.success,
|
|
218
220
|
message: t.message || ""
|
|
219
|
-
}), setTimeout(() => T(null), 5e3), J());
|
|
220
|
-
}, [
|
|
221
|
-
|
|
221
|
+
}), setTimeout(() => T(null), 5e3), J(), Y());
|
|
222
|
+
}, [
|
|
223
|
+
$t,
|
|
224
|
+
Y,
|
|
225
|
+
J
|
|
226
|
+
]), [un, dn] = s(/* @__PURE__ */ new Set()), fn = a(async (e) => {
|
|
227
|
+
dn((t) => {
|
|
222
228
|
let n = new Set(t);
|
|
223
229
|
return n.add(e), n;
|
|
224
230
|
});
|
|
225
231
|
try {
|
|
226
|
-
let t = await
|
|
232
|
+
let t = await en({ variables: { targetId: e } });
|
|
227
233
|
if (t.error && r(t.error)) {
|
|
228
234
|
i(), E("environment");
|
|
229
235
|
return;
|
|
@@ -237,49 +243,55 @@ function Qe() {
|
|
|
237
243
|
}
|
|
238
244
|
throw e;
|
|
239
245
|
} finally {
|
|
240
|
-
|
|
246
|
+
dn((t) => {
|
|
241
247
|
if (!t.has(e)) return t;
|
|
242
248
|
let n = new Set(t);
|
|
243
249
|
return n.delete(e), n;
|
|
244
250
|
});
|
|
245
251
|
}
|
|
246
|
-
}, [
|
|
252
|
+
}, [en, p]), pn = a(async () => {
|
|
247
253
|
if (b) {
|
|
248
254
|
try {
|
|
249
|
-
await
|
|
255
|
+
await X({ variables: { id: b } }), be() && xe("success");
|
|
250
256
|
} catch (e) {
|
|
251
257
|
throw be() && xe("error"), e;
|
|
252
258
|
}
|
|
253
259
|
x(null), C((e) => {
|
|
254
260
|
let t = new Set(e);
|
|
255
261
|
return t.delete(b), t;
|
|
256
|
-
}), J();
|
|
262
|
+
}), J(), Y();
|
|
257
263
|
}
|
|
258
264
|
}, [
|
|
259
265
|
b,
|
|
266
|
+
X,
|
|
260
267
|
Y,
|
|
261
268
|
J
|
|
262
|
-
]),
|
|
269
|
+
]), mn = a(async () => {
|
|
263
270
|
let e = Array.from(S);
|
|
264
|
-
await Promise.all(e.map((e) =>
|
|
271
|
+
await Promise.all(e.map((e) => X({ variables: { id: e } }))), C(/* @__PURE__ */ new Set()), ut(!1), J(), Y();
|
|
265
272
|
}, [
|
|
266
273
|
S,
|
|
274
|
+
X,
|
|
267
275
|
Y,
|
|
268
276
|
J
|
|
269
|
-
]),
|
|
277
|
+
]), hn = a(async (e) => {
|
|
270
278
|
ft(e), pt(null), ht(null);
|
|
271
|
-
let t =
|
|
279
|
+
let t = Q.find((e) => e.isActive);
|
|
272
280
|
if (!t) return;
|
|
273
|
-
let n = (await
|
|
281
|
+
let n = (await tn({ variables: {
|
|
274
282
|
targetId: e.id,
|
|
275
283
|
sourceAgentId: t.id
|
|
276
284
|
} })).data?.installAgentOnTarget;
|
|
277
285
|
n?.jobId && ht(n.jobId);
|
|
278
|
-
}, [
|
|
279
|
-
await
|
|
280
|
-
}, [
|
|
286
|
+
}, [tn, Q]), gn = a(async (e) => {
|
|
287
|
+
await nn({ variables: { targetId: e.id } }), J(), Y();
|
|
288
|
+
}, [
|
|
289
|
+
nn,
|
|
290
|
+
Y,
|
|
291
|
+
J
|
|
292
|
+
]), _n = a((e) => {
|
|
281
293
|
j(e), vt(e.name), bt(e.label ?? ""), St(e.host ?? ""), wt(e.port ?? 22), Et(e.username ?? ""), Dt("key"), Ot(""), kt(""), At(e.tags.join(", ")), N(null);
|
|
282
|
-
}, []),
|
|
294
|
+
}, []), vn = a(async () => {
|
|
283
295
|
if (A) {
|
|
284
296
|
if (!P.trim()) {
|
|
285
297
|
N("Name is required");
|
|
@@ -287,7 +299,7 @@ function Qe() {
|
|
|
287
299
|
}
|
|
288
300
|
gt(!0), N(null);
|
|
289
301
|
try {
|
|
290
|
-
let e = await
|
|
302
|
+
let e = await Qt({ variables: {
|
|
291
303
|
id: A.id,
|
|
292
304
|
input: {
|
|
293
305
|
name: P.trim(),
|
|
@@ -304,7 +316,7 @@ function Qe() {
|
|
|
304
316
|
N(e.error.message || "Failed to update target");
|
|
305
317
|
return;
|
|
306
318
|
}
|
|
307
|
-
j(null), J();
|
|
319
|
+
j(null), J(), Y();
|
|
308
320
|
} catch (e) {
|
|
309
321
|
N(e instanceof Error ? e.message : "Failed to update target");
|
|
310
322
|
} finally {
|
|
@@ -322,27 +334,28 @@ function Qe() {
|
|
|
322
334
|
I,
|
|
323
335
|
L,
|
|
324
336
|
R,
|
|
325
|
-
|
|
337
|
+
Qt,
|
|
338
|
+
Y,
|
|
326
339
|
J
|
|
327
|
-
]),
|
|
340
|
+
]), yn = a(() => {
|
|
328
341
|
ft(null), pt(null), ht(null);
|
|
329
|
-
}, []),
|
|
330
|
-
C(
|
|
342
|
+
}, []), bn = a(() => {
|
|
343
|
+
C(on ? (e) => {
|
|
331
344
|
let t = new Set(e);
|
|
332
|
-
return
|
|
345
|
+
return $.forEach((e) => t.delete(e.id)), t;
|
|
333
346
|
} : (e) => {
|
|
334
347
|
let t = new Set(e);
|
|
335
|
-
return
|
|
348
|
+
return $.forEach((e) => t.add(e.id)), t;
|
|
336
349
|
});
|
|
337
|
-
}, [
|
|
350
|
+
}, [on, $]), xn = a((e) => {
|
|
338
351
|
C((t) => {
|
|
339
352
|
let n = new Set(t);
|
|
340
353
|
return n.has(e) ? n.delete(e) : n.add(e), n;
|
|
341
354
|
});
|
|
342
|
-
}, []),
|
|
343
|
-
total:
|
|
344
|
-
connected:
|
|
345
|
-
},
|
|
355
|
+
}, []), Sn = {
|
|
356
|
+
total: Z.length,
|
|
357
|
+
connected: an
|
|
358
|
+
}, Cn = o(() => [
|
|
346
359
|
{
|
|
347
360
|
value: "all",
|
|
348
361
|
label: D("targets.filterTypeAll", "All Types")
|
|
@@ -355,7 +368,7 @@ function Qe() {
|
|
|
355
368
|
value: "SSH",
|
|
356
369
|
label: "SSH"
|
|
357
370
|
}
|
|
358
|
-
], [D]),
|
|
371
|
+
], [D]), wn = o(() => [
|
|
359
372
|
{
|
|
360
373
|
value: "all",
|
|
361
374
|
label: D("targets.filterStatusAll", "All Statuses")
|
|
@@ -372,7 +385,7 @@ function Qe() {
|
|
|
372
385
|
value: "unknown",
|
|
373
386
|
label: D("targets.unknown", "Unknown")
|
|
374
387
|
}
|
|
375
|
-
], [D]),
|
|
388
|
+
], [D]), Tn = h || g || _ !== "all" || v !== "all";
|
|
376
389
|
return et ? /* @__PURE__ */ u("div", {
|
|
377
390
|
className: "flex items-center justify-center min-h-[400px]",
|
|
378
391
|
children: /* @__PURE__ */ u("p", {
|
|
@@ -392,7 +405,7 @@ function Qe() {
|
|
|
392
405
|
}),
|
|
393
406
|
/* @__PURE__ */ u(de, {
|
|
394
407
|
title: D("nav.targets", "Targets"),
|
|
395
|
-
description: `${
|
|
408
|
+
description: `${Sn.connected} of ${Sn.total} targets online`,
|
|
396
409
|
actions: /* @__PURE__ */ d("div", {
|
|
397
410
|
className: "flex flex-col sm:flex-row items-stretch sm:items-center gap-2",
|
|
398
411
|
children: [/* @__PURE__ */ u("button", {
|
|
@@ -410,7 +423,7 @@ function Qe() {
|
|
|
410
423
|
})]
|
|
411
424
|
})
|
|
412
425
|
}),
|
|
413
|
-
|
|
426
|
+
Q.length === 0 && !q && /* @__PURE__ */ u(_e, {
|
|
414
427
|
variant: "full",
|
|
415
428
|
dismissKey: "vibecontrols-targets-setup-banner"
|
|
416
429
|
}),
|
|
@@ -445,19 +458,19 @@ function Qe() {
|
|
|
445
458
|
/* @__PURE__ */ u(ge, {
|
|
446
459
|
label: D("sessions.filterType", "Type"),
|
|
447
460
|
value: _,
|
|
448
|
-
options:
|
|
461
|
+
options: Cn,
|
|
449
462
|
onChange: it
|
|
450
463
|
}),
|
|
451
464
|
/* @__PURE__ */ u(ge, {
|
|
452
465
|
label: D("sessions.filterStatus", "Status"),
|
|
453
466
|
value: v,
|
|
454
|
-
options:
|
|
467
|
+
options: wn,
|
|
455
468
|
onChange: at
|
|
456
469
|
}),
|
|
457
470
|
/* @__PURE__ */ u(ye, {
|
|
458
471
|
value: g ?? "",
|
|
459
472
|
onChange: (e) => rt(e || null),
|
|
460
|
-
options:
|
|
473
|
+
options: Q.map((e) => ({
|
|
461
474
|
value: e.id,
|
|
462
475
|
label: e.name
|
|
463
476
|
})),
|
|
@@ -469,19 +482,19 @@ function Qe() {
|
|
|
469
482
|
]
|
|
470
483
|
})]
|
|
471
484
|
}),
|
|
472
|
-
|
|
485
|
+
$.length > 0 && /* @__PURE__ */ u("div", {
|
|
473
486
|
className: "flex items-center gap-2 flex-wrap",
|
|
474
487
|
children: /* @__PURE__ */ u("div", {
|
|
475
488
|
className: "ml-auto flex items-center gap-2",
|
|
476
489
|
children: /* @__PURE__ */ d("button", {
|
|
477
490
|
type: "button",
|
|
478
|
-
onClick:
|
|
491
|
+
onClick: bn,
|
|
479
492
|
className: "flex items-center gap-1.5 px-3 py-1.5 text-xs text-text-secondary hover:text-text-primary transition-colors",
|
|
480
|
-
children: [/* @__PURE__ */ u(ke, { className: "size-3.5" }),
|
|
493
|
+
children: [/* @__PURE__ */ u(ke, { className: "size-3.5" }), on ? D("targets.deselectAll", "Deselect All") : D("targets.selectAll", "Select All")]
|
|
481
494
|
})
|
|
482
495
|
})
|
|
483
496
|
}),
|
|
484
|
-
|
|
497
|
+
sn && /* @__PURE__ */ d("div", {
|
|
485
498
|
className: "flex flex-col sm:flex-row items-start sm:items-center gap-3 px-4 py-2 bg-action-primary-bg/10 border border-action-primary-bg/20 rounded-lg",
|
|
486
499
|
children: [/* @__PURE__ */ d("span", {
|
|
487
500
|
className: "text-sm font-medium text-text-primary",
|
|
@@ -516,9 +529,9 @@ function Qe() {
|
|
|
516
529
|
})]
|
|
517
530
|
})]
|
|
518
531
|
}),
|
|
519
|
-
|
|
532
|
+
Tn ? /* @__PURE__ */ d("p", {
|
|
520
533
|
className: "text-sm text-text-secondary",
|
|
521
|
-
children: [D("targets.showingResults", "Showing {{filtered}} of {{total}} targets").replace("{{filtered}}", String(
|
|
534
|
+
children: [D("targets.showingResults", "Showing {{filtered}} of {{total}} targets").replace("{{filtered}}", String($.length)).replace("{{total}}", String(Z.length)), q && /* @__PURE__ */ d("span", {
|
|
522
535
|
className: "ml-2 text-text-muted",
|
|
523
536
|
children: [
|
|
524
537
|
"(",
|
|
@@ -527,35 +540,35 @@ function Qe() {
|
|
|
527
540
|
]
|
|
528
541
|
})]
|
|
529
542
|
}) : null,
|
|
530
|
-
q &&
|
|
543
|
+
q && Z.length === 0 ? /* @__PURE__ */ u(Ce, {
|
|
531
544
|
variant: "rows",
|
|
532
545
|
count: 6
|
|
533
|
-
}) :
|
|
546
|
+
}) : $.length > 0 ? /* @__PURE__ */ u(He, {
|
|
534
547
|
mode: "wait",
|
|
535
548
|
children: ot === "grid" ? /* @__PURE__ */ u(We, {
|
|
536
549
|
stagger: .04,
|
|
537
550
|
className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",
|
|
538
|
-
children:
|
|
551
|
+
children: $.map((e) => /* @__PURE__ */ u(Ue, {
|
|
539
552
|
className: "h-full",
|
|
540
553
|
children: /* @__PURE__ */ u(we, {
|
|
541
554
|
target: e,
|
|
542
|
-
onTest: (e) => void
|
|
543
|
-
onTerminal: (e) => void
|
|
555
|
+
onTest: (e) => void ln(e),
|
|
556
|
+
onTerminal: (e) => void fn(e),
|
|
544
557
|
onOpenDetail: (e) => p(`/targets/${e}`),
|
|
545
|
-
onEdit: (e) =>
|
|
546
|
-
onInstallAgent: (e) => void
|
|
547
|
-
onUninstallAgent: (e) => void
|
|
558
|
+
onEdit: (e) => _n(e),
|
|
559
|
+
onInstallAgent: (e) => void hn(e),
|
|
560
|
+
onUninstallAgent: (e) => void gn(e),
|
|
548
561
|
onDelete: (e) => x(e),
|
|
549
562
|
selected: S.has(e.id),
|
|
550
|
-
onToggleSelect: () =>
|
|
563
|
+
onToggleSelect: () => xn(e.id),
|
|
551
564
|
highlighted: m === e.id,
|
|
552
|
-
isStartingTerminal:
|
|
565
|
+
isStartingTerminal: un.has(e.id)
|
|
553
566
|
})
|
|
554
567
|
}, e.id))
|
|
555
568
|
}, "grid-view") : /* @__PURE__ */ u(We, {
|
|
556
569
|
stagger: .04,
|
|
557
570
|
className: "space-y-2",
|
|
558
|
-
children:
|
|
571
|
+
children: $.map((e) => {
|
|
559
572
|
let t = Ze(e), n = m === e.id;
|
|
560
573
|
return /* @__PURE__ */ u(Ue, {
|
|
561
574
|
variant: "fadeRight",
|
|
@@ -568,7 +581,7 @@ function Qe() {
|
|
|
568
581
|
"aria-label": "control",
|
|
569
582
|
type: "checkbox",
|
|
570
583
|
checked: S.has(e.id),
|
|
571
|
-
onChange: () =>
|
|
584
|
+
onChange: () => xn(e.id),
|
|
572
585
|
className: "rounded border-border-default mt-1"
|
|
573
586
|
}), /* @__PURE__ */ d("div", {
|
|
574
587
|
className: "flex min-w-0 flex-1 flex-wrap items-start gap-2",
|
|
@@ -635,39 +648,39 @@ function Qe() {
|
|
|
635
648
|
children: [
|
|
636
649
|
/* @__PURE__ */ u("button", {
|
|
637
650
|
type: "button",
|
|
638
|
-
onClick: () => void
|
|
651
|
+
onClick: () => void ln(e.id),
|
|
639
652
|
title: D("targets.testConnectivity", "Test connectivity"),
|
|
640
653
|
className: "flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded-md border border-border-default bg-bg-surface hover:bg-bg-sunken transition-colors",
|
|
641
654
|
children: D("targets.test", "Test")
|
|
642
655
|
}),
|
|
643
656
|
/* @__PURE__ */ u("button", {
|
|
644
657
|
type: "button",
|
|
645
|
-
onClick: () => void
|
|
646
|
-
disabled:
|
|
658
|
+
onClick: () => void fn(e.id),
|
|
659
|
+
disabled: un.has(e.id),
|
|
647
660
|
title: D("targets.openTerminal", "Open terminal"),
|
|
648
661
|
className: "flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded-md border border-border-default bg-bg-surface hover:bg-bg-sunken transition-colors disabled:opacity-60 disabled:cursor-not-allowed",
|
|
649
|
-
children:
|
|
662
|
+
children: un.has(e.id) ? /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u(Me, {
|
|
650
663
|
size: 12,
|
|
651
664
|
className: "animate-spin"
|
|
652
665
|
}), D("targets.starting", "Starting…")] }) : D("targets.terminal", "Terminal")
|
|
653
666
|
}),
|
|
654
667
|
/* @__PURE__ */ d("button", {
|
|
655
668
|
type: "button",
|
|
656
|
-
onClick: () =>
|
|
669
|
+
onClick: () => _n(e),
|
|
657
670
|
title: "Edit target configuration",
|
|
658
671
|
className: "flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded-md border border-border-default bg-bg-surface hover:bg-bg-sunken transition-colors",
|
|
659
672
|
children: [/* @__PURE__ */ u(Ne, { size: 14 }), "Edit"]
|
|
660
673
|
}),
|
|
661
674
|
e.type !== "DIRECT" && !t && /* @__PURE__ */ u("button", {
|
|
662
675
|
type: "button",
|
|
663
|
-
onClick: () => void
|
|
676
|
+
onClick: () => void hn(e),
|
|
664
677
|
title: D("targets.installAgent", "Install agent"),
|
|
665
678
|
className: "flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium bg-action-primary-bg text-action-primary-text hover:bg-action-primary-bg-hover transition-colors",
|
|
666
679
|
children: D("targets.installAgent", "Install Agent")
|
|
667
680
|
}),
|
|
668
681
|
e.type !== "DIRECT" && t && /* @__PURE__ */ u("button", {
|
|
669
682
|
type: "button",
|
|
670
|
-
onClick: () => void
|
|
683
|
+
onClick: () => void gn(e),
|
|
671
684
|
title: D("targets.uninstallAgent", "Uninstall agent"),
|
|
672
685
|
className: "flex items-center gap-1.5 rounded-md border border-status-error-text/20 px-3 py-1.5 text-xs font-medium text-status-error-text hover:bg-status-error-bg/80 transition-colors",
|
|
673
686
|
children: D("targets.uninstall", "Uninstall")
|
|
@@ -688,9 +701,9 @@ function Qe() {
|
|
|
688
701
|
}, "list-view")
|
|
689
702
|
}) : /* @__PURE__ */ u(me, {
|
|
690
703
|
icon: /* @__PURE__ */ u(Ie, { className: "size-8 text-text-secondary" }),
|
|
691
|
-
title:
|
|
692
|
-
description:
|
|
693
|
-
action:
|
|
704
|
+
title: Tn ? D("targets.emptyNoTargetsFound", "No targets found") : D("targets.emptyNoTargetsConfigured", "No targets configured"),
|
|
705
|
+
description: Tn ? D("targets.emptyAdjustSearch", "Try adjusting your search or filters") : D("targets.emptyDescription", "Add a target to start managing servers, workstations, and environments."),
|
|
706
|
+
action: Tn ? void 0 : /* @__PURE__ */ d("div", {
|
|
694
707
|
className: "flex items-center gap-2",
|
|
695
708
|
children: [/* @__PURE__ */ d("button", {
|
|
696
709
|
type: "button",
|
|
@@ -781,7 +794,7 @@ function Qe() {
|
|
|
781
794
|
children: [/* @__PURE__ */ u("option", {
|
|
782
795
|
value: "",
|
|
783
796
|
children: D("targets.selectAgentConnectFrom", "Select an agent to connect from")
|
|
784
|
-
}),
|
|
797
|
+
}), Q.map((e) => /* @__PURE__ */ u("option", {
|
|
785
798
|
value: e.id,
|
|
786
799
|
children: e.name
|
|
787
800
|
}, e.id))]
|
|
@@ -900,7 +913,7 @@ function Qe() {
|
|
|
900
913
|
children: D("targets.tags", "Tags")
|
|
901
914
|
}), /* @__PURE__ */ u(fe, {
|
|
902
915
|
entityType: "VIBECONTROLS_TARGET",
|
|
903
|
-
onDraftChange:
|
|
916
|
+
onDraftChange: Xt
|
|
904
917
|
})]
|
|
905
918
|
}),
|
|
906
919
|
/* @__PURE__ */ d("div", {
|
|
@@ -912,7 +925,7 @@ function Qe() {
|
|
|
912
925
|
children: D("common.cancel", "Cancel")
|
|
913
926
|
}), /* @__PURE__ */ u("button", {
|
|
914
927
|
type: "button",
|
|
915
|
-
onClick: () => void
|
|
928
|
+
onClick: () => void cn(),
|
|
916
929
|
className: "px-4 py-2 text-sm rounded-md bg-action-primary-bg text-action-primary-text hover:bg-action-primary-bg-hover transition-colors",
|
|
917
930
|
children: D("targets.addTarget", "Add Target")
|
|
918
931
|
})]
|
|
@@ -1100,7 +1113,7 @@ function Qe() {
|
|
|
1100
1113
|
children: "Cancel"
|
|
1101
1114
|
}), /* @__PURE__ */ u("button", {
|
|
1102
1115
|
type: "button",
|
|
1103
|
-
onClick: () => void
|
|
1116
|
+
onClick: () => void vn(),
|
|
1104
1117
|
disabled: M,
|
|
1105
1118
|
className: "rounded-lg bg-action-primary-bg px-4 py-2 text-sm text-action-primary-text transition-colors hover:bg-action-primary-bg-hover disabled:opacity-50",
|
|
1106
1119
|
children: M ? "Saving..." : "Save Changes"
|
|
@@ -1112,7 +1125,7 @@ function Qe() {
|
|
|
1112
1125
|
/* @__PURE__ */ u(oe, {
|
|
1113
1126
|
isOpen: !!b,
|
|
1114
1127
|
onClose: () => x(null),
|
|
1115
|
-
onConfirm: () => void
|
|
1128
|
+
onConfirm: () => void pn(),
|
|
1116
1129
|
title: D("targets.deleteTarget", "Delete Target"),
|
|
1117
1130
|
message: D("targets.deleteTargetMessage", "This will remove the target and its connection from the agent. Active terminals will be disconnected."),
|
|
1118
1131
|
confirmLabel: D("common.delete", "Delete"),
|
|
@@ -1121,7 +1134,7 @@ function Qe() {
|
|
|
1121
1134
|
/* @__PURE__ */ u(oe, {
|
|
1122
1135
|
isOpen: lt,
|
|
1123
1136
|
onClose: () => ut(!1),
|
|
1124
|
-
onConfirm: () => void
|
|
1137
|
+
onConfirm: () => void mn(),
|
|
1125
1138
|
title: D("targets.deleteSelectedTargets", "Delete Selected Targets"),
|
|
1126
1139
|
message: `${D("targets.confirmDeleteSelectedPrefix", "Are you sure you want to delete")} ${S.size} ${D("nav.targets", "target")}${S.size === 1 ? "" : "s"}? ${D("targets.confirmDeleteSelectedSuffix", "This action cannot be undone.")}`,
|
|
1127
1140
|
confirmLabel: D("targets.deleteAll", "Delete All"),
|
|
@@ -1143,7 +1156,7 @@ function Qe() {
|
|
|
1143
1156
|
]
|
|
1144
1157
|
}), k?.status !== "running" && /* @__PURE__ */ u("button", {
|
|
1145
1158
|
type: "button",
|
|
1146
|
-
onClick:
|
|
1159
|
+
onClick: yn,
|
|
1147
1160
|
className: "p-1 rounded hover:bg-bg-sunken",
|
|
1148
1161
|
children: /* @__PURE__ */ u(c, { size: 16 })
|
|
1149
1162
|
})]
|
|
@@ -1199,7 +1212,7 @@ function Qe() {
|
|
|
1199
1212
|
}),
|
|
1200
1213
|
/* @__PURE__ */ u("button", {
|
|
1201
1214
|
type: "button",
|
|
1202
|
-
onClick:
|
|
1215
|
+
onClick: yn,
|
|
1203
1216
|
disabled: k?.status === "running",
|
|
1204
1217
|
className: "mt-4 w-full px-4 py-2 rounded-md border border-border-default hover:bg-bg-sunken transition-colors disabled:opacity-50 disabled:cursor-not-allowed text-sm font-medium",
|
|
1205
1218
|
children: !k || k.status === "running" ? D("targets.installing", "Installing...") : D("common.close", "Close")
|