@getcatalystiq/agent-plane-ui 0.1.19 → 0.1.20

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/index.cjs CHANGED
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkVBGYWQUF_cjs = require('./chunk-VBGYWQUF.cjs');
3
+ var chunkVZ43ATC5_cjs = require('./chunk-VZ43ATC5.cjs');
4
+ var chunkXXF4U7WL_cjs = require('./chunk-XXF4U7WL.cjs');
4
5
  var jsxRuntime = require('react/jsx-runtime');
5
6
  var React = require('react');
6
7
  var swr = require('swr');
@@ -55,7 +56,7 @@ var Textarea = React__namespace.forwardRef(
55
56
  return /* @__PURE__ */ jsxRuntime.jsx(
56
57
  "textarea",
57
58
  {
58
- className: chunkVBGYWQUF_cjs.cn(
59
+ className: chunkXXF4U7WL_cjs.cn(
59
60
  "flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
60
61
  className
61
62
  ),
@@ -71,7 +72,7 @@ function FormError({ error }) {
71
72
  return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-destructive", children: error });
72
73
  }
73
74
  function SectionHeader({ title, children, className }) {
74
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkVBGYWQUF_cjs.cn("flex items-center justify-between mb-3", className), children: [
75
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkXXF4U7WL_cjs.cn("flex items-center justify-between mb-3", className), children: [
75
76
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-lg font-semibold", children: title }),
76
77
  children
77
78
  ] });
@@ -95,13 +96,13 @@ function DetailPageHeader({ backHref, backLabel, title, actions, badge, subtitle
95
96
  ] });
96
97
  }
97
98
  function MetricCard({ label, children, className }) {
98
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.Card, { className, children: [
99
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.CardTitle, { className: "text-sm font-medium text-muted-foreground", children: label }) }),
100
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-bold", children }) })
99
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkVZ43ATC5_cjs.Card, { className, children: [
100
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.CardTitle, { className: "text-sm font-medium text-muted-foreground", children: label }) }),
101
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-bold", children }) })
101
102
  ] });
102
103
  }
103
104
  function AdminTable({ children, footer, className }) {
104
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkVBGYWQUF_cjs.cn("rounded-lg border border-border", className), children: [
105
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkXXF4U7WL_cjs.cn("rounded-lg border border-border", className), children: [
105
106
  /* @__PURE__ */ jsxRuntime.jsx("table", { className: "w-full text-sm", children }),
106
107
  footer
107
108
  ] });
@@ -110,10 +111,10 @@ function AdminTableHead({ children }) {
110
111
  return /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsx("tr", { className: "border-b border-border bg-muted/50", children }) });
111
112
  }
112
113
  function Th({ children, className, align = "left" }) {
113
- return /* @__PURE__ */ jsxRuntime.jsx("th", { className: chunkVBGYWQUF_cjs.cn("p-3 font-medium", align === "right" ? "text-right" : "text-left", className), children });
114
+ return /* @__PURE__ */ jsxRuntime.jsx("th", { className: chunkXXF4U7WL_cjs.cn("p-3 font-medium", align === "right" ? "text-right" : "text-left", className), children });
114
115
  }
115
116
  function AdminTableRow({ children, className }) {
116
- return /* @__PURE__ */ jsxRuntime.jsx("tr", { className: chunkVBGYWQUF_cjs.cn("border-b border-border hover:bg-muted/30 transition-colors", className), children });
117
+ return /* @__PURE__ */ jsxRuntime.jsx("tr", { className: chunkXXF4U7WL_cjs.cn("border-b border-border hover:bg-muted/30 transition-colors", className), children });
117
118
  }
118
119
  function EmptyRow({ colSpan, children = "No results found" }) {
119
120
  return /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan, className: "p-8 text-center text-muted-foreground", children }) });
@@ -216,15 +217,15 @@ function ConfirmDialog({
216
217
  onConfirm,
217
218
  variant = "destructive"
218
219
  }) {
219
- return /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogContent, { className: "max-w-sm", children: [
220
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.DialogTitle, { children: title }) }),
221
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogBody, { children: [
220
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogContent, { className: "max-w-sm", children: [
221
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.DialogTitle, { children: title }) }),
222
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogBody, { children: [
222
223
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-muted-foreground", children }),
223
224
  error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-destructive mt-3", children: error })
224
225
  ] }),
225
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogFooter, { children: [
226
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { size: "sm", variant: "outline", onClick: () => onOpenChange(false), disabled: loading, children: "Cancel" }),
227
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { size: "sm", variant, onClick: onConfirm, disabled: loading, children: loading ? loadingLabel : confirmLabel })
226
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogFooter, { children: [
227
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { size: "sm", variant: "outline", onClick: () => onOpenChange(false), disabled: loading, children: "Cancel" }),
228
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { size: "sm", variant, onClick: onConfirm, disabled: loading, children: loading ? loadingLabel : confirmLabel })
228
229
  ] })
229
230
  ] }) });
230
231
  }
@@ -256,7 +257,7 @@ function CopyButton({ text, className = "" }) {
256
257
  }
257
258
  function RunStatusBadge({ status }) {
258
259
  const variant = status === "completed" ? "default" : status === "running" ? "secondary" : status === "failed" || status === "timed_out" ? "destructive" : "outline";
259
- return /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant, children: status.replace("_", " ") });
260
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant, children: status.replace("_", " ") });
260
261
  }
261
262
  var STYLES = {
262
263
  schedule: "bg-blue-500/10 text-blue-400",
@@ -281,8 +282,8 @@ function LocalDate({ value, fallback = "\u2014" }) {
281
282
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: new Date(value).toLocaleString() });
282
283
  }
283
284
  function DashboardPage({ initialData, chartComponent: ChartComponent }) {
284
- const { LinkComponent, basePath } = chunkVBGYWQUF_cjs.useNavigation();
285
- const { data, error, isLoading } = chunkVBGYWQUF_cjs.useApi(
285
+ const { LinkComponent, basePath } = chunkXXF4U7WL_cjs.useNavigation();
286
+ const { data, error, isLoading } = chunkVZ43ATC5_cjs.useApi(
286
287
  "dashboard",
287
288
  async (client) => {
288
289
  const [stats2, daily_stats2] = await Promise.all([
@@ -301,10 +302,10 @@ function DashboardPage({ initialData, chartComponent: ChartComponent }) {
301
302
  }
302
303
  if (isLoading || !data) {
303
304
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
304
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-4 gap-4", children: Array.from({ length: 4 }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-24 rounded-lg" }, i)) }),
305
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-4 gap-4", children: Array.from({ length: 4 }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-24 rounded-lg" }, i)) }),
305
306
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
306
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-64 rounded-lg" }),
307
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-64 rounded-lg" })
307
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-64 rounded-lg" }),
308
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-64 rounded-lg" })
308
309
  ] })
309
310
  ] });
310
311
  }
@@ -332,12 +333,12 @@ var SOURCES = [
332
333
  ];
333
334
  var VALID_SOURCES = SOURCES.filter((s) => s.value).map((s) => s.value);
334
335
  function RunListPage({ initialData }) {
335
- const { LinkComponent, basePath } = chunkVBGYWQUF_cjs.useNavigation();
336
+ const { LinkComponent, basePath } = chunkXXF4U7WL_cjs.useNavigation();
336
337
  const [page, setPage] = React.useState(1);
337
338
  const [pageSize, setPageSize] = React.useState(20);
338
339
  const [sourceFilter, setSourceFilter] = React.useState(null);
339
340
  const cacheKey = `runs-${page}-${pageSize}-${sourceFilter || "all"}`;
340
- const { data, error, isLoading } = chunkVBGYWQUF_cjs.useApi(
341
+ const { data, error, isLoading } = chunkVZ43ATC5_cjs.useApi(
341
342
  cacheKey,
342
343
  (client) => {
343
344
  return client.runs.list({
@@ -368,8 +369,8 @@ function RunListPage({ initialData }) {
368
369
  }
369
370
  if (isLoading || !data) {
370
371
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
371
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-9 w-40" }),
372
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-96 rounded-lg" })
372
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-9 w-40" }),
373
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-96 rounded-lg" })
373
374
  ] });
374
375
  }
375
376
  const runs = data.data;
@@ -530,9 +531,9 @@ function buildConversation(events) {
530
531
  }
531
532
  function TranscriptViewer({ transcript, prompt }) {
532
533
  const conversation = React.useMemo(() => buildConversation(transcript), [transcript]);
533
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.Card, { children: [
534
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.CardTitle, { className: "text-base", children: "Transcript" }) }),
535
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.CardContent, { className: "space-y-3", children: [
534
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkVZ43ATC5_cjs.Card, { children: [
535
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.CardTitle, { className: "text-base", children: "Transcript" }) }),
536
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkVZ43ATC5_cjs.CardContent, { className: "space-y-3", children: [
536
537
  prompt && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-md border border-border bg-muted/20 px-4 py-3", children: [
537
538
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs font-medium text-muted-foreground mb-1", children: "Prompt" }),
538
539
  /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "text-xs font-mono whitespace-pre-wrap", children: prompt })
@@ -570,7 +571,7 @@ function A2AIncomingItem({ item }) {
570
571
  onClick: () => setExpanded(!expanded),
571
572
  className: "w-full flex items-center gap-2 px-4 py-2 text-left hover:bg-muted/50 transition-colors",
572
573
  children: [
573
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "outline", className: "text-[10px]", children: "A2A incoming" }),
574
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "outline", className: "text-[10px]", children: "A2A incoming" }),
574
575
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs text-muted-foreground", children: [
575
576
  "to ",
576
577
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-foreground", children: item.sender })
@@ -591,7 +592,7 @@ function SystemItem({ item }) {
591
592
  const [expanded, setExpanded] = React.useState(false);
592
593
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-md border border-border bg-muted/30 overflow-hidden", children: [
593
594
  /* @__PURE__ */ jsxRuntime.jsxs("button", { onClick: () => setExpanded(!expanded), className: "w-full flex items-center gap-2 px-4 py-2 text-left hover:bg-muted/50 transition-colors", children: [
594
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "outline", className: "text-[10px]", children: "system" }),
595
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "outline", className: "text-[10px]", children: "system" }),
595
596
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs text-muted-foreground flex-1", children: [
596
597
  "Model: ",
597
598
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono", children: item.model }),
@@ -626,7 +627,7 @@ function AssistantItem({ item }) {
626
627
  onClick: () => setExpanded(!expanded),
627
628
  className: "w-full flex items-center gap-2 px-4 py-2 text-left hover:bg-muted/30 transition-colors",
628
629
  children: [
629
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "outline", className: "text-[10px]", children: "assistant" }),
630
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "outline", className: "text-[10px]", children: "assistant" }),
630
631
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground truncate flex-1", children: preview }),
631
632
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground flex-shrink-0", children: expanded ? "\u25B2" : "\u25BC" })
632
633
  ]
@@ -645,9 +646,9 @@ function ToolItem({ item }) {
645
646
  onClick: () => setExpanded(!expanded),
646
647
  className: "w-full flex items-center gap-2 px-4 py-2 text-left hover:bg-muted/30 transition-colors",
647
648
  children: [
648
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "secondary", className: "text-[10px]", children: "tool" }),
649
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "secondary", className: "text-[10px]", children: "tool" }),
649
650
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium font-mono", children: item.toolName }),
650
- hasOutput && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "outline", className: "text-[10px] ml-auto", children: "has output" }),
651
+ hasOutput && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "outline", className: "text-[10px] ml-auto", children: "has output" }),
651
652
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", children: expanded ? "\u25B2" : "\u25BC" })
652
653
  ]
653
654
  }
@@ -686,18 +687,18 @@ function ResultItem({ item }) {
686
687
  }
687
688
  function ErrorItem({ item }) {
688
689
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-md border border-destructive/30 bg-destructive/5 px-4 py-3", children: [
689
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "destructive", className: "text-[10px]", children: "error" }) }),
690
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "destructive", className: "text-[10px]", children: "error" }) }),
690
691
  /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "mt-1 text-xs font-mono text-destructive whitespace-pre-wrap", children: item.error })
691
692
  ] });
692
693
  }
693
694
  function RunDetailPage({ runId, initialData, initialTranscript }) {
694
695
  const { mutate } = swr.useSWRConfig();
695
- const { data: run, error, isLoading } = chunkVBGYWQUF_cjs.useApi(
696
+ const { data: run, error, isLoading } = chunkVZ43ATC5_cjs.useApi(
696
697
  `run-${runId}`,
697
698
  (client) => client.runs.get(runId),
698
699
  initialData ? { fallbackData: initialData } : void 0
699
700
  );
700
- const { data: transcript } = chunkVBGYWQUF_cjs.useApi(
701
+ const { data: transcript } = chunkVZ43ATC5_cjs.useApi(
701
702
  run?.transcript_blob_url ? `transcript-${runId}` : null,
702
703
  (client) => client.runs.transcriptArray(runId),
703
704
  initialTranscript ? { fallbackData: initialTranscript } : void 0
@@ -710,14 +711,14 @@ function RunDetailPage({ runId, initialData, initialTranscript }) {
710
711
  }
711
712
  if (isLoading || !run) {
712
713
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
713
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-4 gap-4", children: Array.from({ length: 4 }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-24 rounded-lg" }, i)) }),
714
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-96 rounded-lg" })
714
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-4 gap-4", children: Array.from({ length: 4 }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-24 rounded-lg" }, i)) }),
715
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-96 rounded-lg" })
715
716
  ] });
716
717
  }
717
718
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
718
719
  (run.status === "running" || run.status === "pending") && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-end", children: /* @__PURE__ */ jsxRuntime.jsx(CancelRunButton, { runId: run.id, onCancelled: () => mutate(`run-${runId}`) }) }),
719
720
  run.triggered_by === "a2a" && run.requested_by_key_name && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-sm text-muted-foreground", children: [
720
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "outline", className: "text-[10px]", children: "A2A" }),
721
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "outline", className: "text-[10px]", children: "A2A" }),
721
722
  /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
722
723
  "Requested by ",
723
724
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-foreground", children: run.requested_by_key_name })
@@ -748,15 +749,15 @@ function RunDetailPage({ runId, initialData, initialTranscript }) {
748
749
  ] })
749
750
  ] })
750
751
  ] }),
751
- run.error_messages && run.error_messages.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.Card, { children: [
752
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.CardTitle, { className: "text-base text-destructive", children: "Errors" }) }),
753
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.CardContent, { className: "space-y-2", children: [
754
- run.error_type && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "destructive", children: run.error_type }),
752
+ run.error_messages && run.error_messages.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(chunkVZ43ATC5_cjs.Card, { children: [
753
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.CardTitle, { className: "text-base text-destructive", children: "Errors" }) }),
754
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkVZ43ATC5_cjs.CardContent, { className: "space-y-2", children: [
755
+ run.error_type && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "destructive", children: run.error_type }),
755
756
  run.error_messages.map((msg, i) => /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "whitespace-pre-wrap text-sm text-destructive font-mono bg-destructive/10 rounded-md p-3", children: msg }, i))
756
757
  ] })
757
758
  ] }),
758
759
  /* @__PURE__ */ jsxRuntime.jsx(TranscriptViewer, { transcript: transcript || [], prompt: run.prompt }),
759
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Card, { children: /* @__PURE__ */ jsxRuntime.jsxs("details", { children: [
760
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Card, { children: /* @__PURE__ */ jsxRuntime.jsxs("details", { children: [
760
761
  /* @__PURE__ */ jsxRuntime.jsxs("summary", { className: "flex items-center justify-between px-6 py-4 cursor-pointer list-none hover:bg-muted/30 transition-colors rounded-xl", children: [
761
762
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-base font-semibold", children: "Metadata" }),
762
763
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", children: "\\u25BC" })
@@ -783,7 +784,7 @@ function RunDetailPage({ runId, initialData, initialTranscript }) {
783
784
  function CancelRunButton({ runId, onCancelled }) {
784
785
  const [open, setOpen] = React.useState(false);
785
786
  const [cancelling, setCancelling] = React.useState(false);
786
- const client = chunkVBGYWQUF_cjs.useAgentPlaneClient();
787
+ const client = chunkXXF4U7WL_cjs.useAgentPlaneClient();
787
788
  async function handleConfirm() {
788
789
  setCancelling(true);
789
790
  try {
@@ -797,7 +798,7 @@ function CancelRunButton({ runId, onCancelled }) {
797
798
  }
798
799
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
799
800
  /* @__PURE__ */ jsxRuntime.jsx(
800
- chunkVBGYWQUF_cjs.Button,
801
+ chunkXXF4U7WL_cjs.Button,
801
802
  {
802
803
  variant: "destructive",
803
804
  size: "sm",
@@ -805,15 +806,15 @@ function CancelRunButton({ runId, onCancelled }) {
805
806
  children: "Stop Run"
806
807
  }
807
808
  ),
808
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Dialog, { open, onOpenChange: setOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogContent, { className: "max-w-sm", children: [
809
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogHeader, { children: [
810
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.DialogTitle, { children: "Stop this run?" }),
811
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.DialogDescription, { children: "This will terminate the sandbox immediately." })
809
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Dialog, { open, onOpenChange: setOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogContent, { className: "max-w-sm", children: [
810
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogHeader, { children: [
811
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.DialogTitle, { children: "Stop this run?" }),
812
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.DialogDescription, { children: "This will terminate the sandbox immediately." })
812
813
  ] }),
813
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogFooter, { children: [
814
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { variant: "outline", size: "sm", onClick: () => setOpen(false), disabled: cancelling, children: "Cancel" }),
814
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogFooter, { children: [
815
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { variant: "outline", size: "sm", onClick: () => setOpen(false), disabled: cancelling, children: "Cancel" }),
815
816
  /* @__PURE__ */ jsxRuntime.jsx(
816
- chunkVBGYWQUF_cjs.Button,
817
+ chunkXXF4U7WL_cjs.Button,
817
818
  {
818
819
  variant: "destructive",
819
820
  size: "sm",
@@ -829,8 +830,8 @@ function CancelRunButton({ runId, onCancelled }) {
829
830
  var emptyForm = { name: "", slug: "", description: "", base_url: "", mcp_endpoint_path: "/mcp" };
830
831
  function McpServerListPage({ initialData }) {
831
832
  const { mutate } = swr.useSWRConfig();
832
- const client = chunkVBGYWQUF_cjs.useAgentPlaneClient();
833
- const { data: servers, error, isLoading } = chunkVBGYWQUF_cjs.useApi(
833
+ const client = chunkXXF4U7WL_cjs.useAgentPlaneClient();
834
+ const { data: servers, error, isLoading } = chunkVZ43ATC5_cjs.useApi(
834
835
  "mcp-servers",
835
836
  (c) => c.customConnectors.listServers(),
836
837
  initialData ? { fallbackData: initialData } : void 0
@@ -900,10 +901,10 @@ function McpServerListPage({ initialData }) {
900
901
  ] }) });
901
902
  }
902
903
  if (isLoading || !servers) {
903
- return /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-96 rounded-lg" });
904
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-96 rounded-lg" });
904
905
  }
905
906
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
906
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { variant: "outline", size: "sm", onClick: () => setShowCreate(true), children: "+ New Connector" }) }),
907
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { variant: "outline", size: "sm", onClick: () => setShowCreate(true), children: "+ New Connector" }) }),
907
908
  /* @__PURE__ */ jsxRuntime.jsxs(AdminTable, { children: [
908
909
  /* @__PURE__ */ jsxRuntime.jsxs(AdminTableHead, { children: [
909
910
  /* @__PURE__ */ jsxRuntime.jsx(Th, { children: "Name" }),
@@ -930,12 +931,12 @@ function McpServerListPage({ initialData }) {
930
931
  ) }),
931
932
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 font-mono text-xs text-muted-foreground", children: s.slug }),
932
933
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 font-mono text-xs text-muted-foreground truncate max-w-xs", title: s.base_url, children: s.base_url }),
933
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: s.client_id ? "default" : "secondary", children: s.client_id ? "Registered" : "No DCR" }) }),
934
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: s.client_id ? "default" : "secondary", children: s.client_id ? "Registered" : "No DCR" }) }),
934
935
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-right", children: s.connection_count }),
935
936
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-right text-green-500", children: s.active_count }),
936
937
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-muted-foreground text-xs", children: new Date(s.created_at).toLocaleDateString() }),
937
938
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(
938
- chunkVBGYWQUF_cjs.Button,
939
+ chunkXXF4U7WL_cjs.Button,
939
940
  {
940
941
  variant: "destructive",
941
942
  size: "sm",
@@ -948,29 +949,29 @@ function McpServerListPage({ initialData }) {
948
949
  servers.length === 0 && /* @__PURE__ */ jsxRuntime.jsx(EmptyRow, { colSpan: 8, children: 'No custom connectors registered. Click "+ New Connector" to add one.' })
949
950
  ] })
950
951
  ] }),
951
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Dialog, { open: showCreate, onOpenChange: setShowCreate, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogContent, { className: "max-w-lg", children: [
952
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.DialogTitle, { children: "Register Connector" }) }),
953
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogBody, { className: "space-y-3", children: [
952
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Dialog, { open: showCreate, onOpenChange: setShowCreate, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogContent, { className: "max-w-lg", children: [
953
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.DialogTitle, { children: "Register Connector" }) }),
954
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogBody, { className: "space-y-3", children: [
954
955
  createError && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-destructive", children: createError }),
955
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Input, { value: createForm.name, onChange: (e) => setCreateForm({ ...createForm, name: e.target.value }), placeholder: "My MCP Server" }) }),
956
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Slug", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Input, { value: createForm.slug, onChange: (e) => setCreateForm({ ...createForm, slug: e.target.value }), placeholder: "my-mcp-server" }) }),
957
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Description", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Input, { value: createForm.description, onChange: (e) => setCreateForm({ ...createForm, description: e.target.value }), placeholder: "What this connector does" }) }),
958
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Base URL", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Input, { value: createForm.base_url, onChange: (e) => setCreateForm({ ...createForm, base_url: e.target.value }), placeholder: "https://my-server.example.com" }) }),
959
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "MCP Endpoint Path", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Input, { value: createForm.mcp_endpoint_path, onChange: (e) => setCreateForm({ ...createForm, mcp_endpoint_path: e.target.value }), placeholder: "/mcp" }) })
956
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Input, { value: createForm.name, onChange: (e) => setCreateForm({ ...createForm, name: e.target.value }), placeholder: "My MCP Server" }) }),
957
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Slug", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Input, { value: createForm.slug, onChange: (e) => setCreateForm({ ...createForm, slug: e.target.value }), placeholder: "my-mcp-server" }) }),
958
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Description", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Input, { value: createForm.description, onChange: (e) => setCreateForm({ ...createForm, description: e.target.value }), placeholder: "What this connector does" }) }),
959
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Base URL", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Input, { value: createForm.base_url, onChange: (e) => setCreateForm({ ...createForm, base_url: e.target.value }), placeholder: "https://my-server.example.com" }) }),
960
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "MCP Endpoint Path", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Input, { value: createForm.mcp_endpoint_path, onChange: (e) => setCreateForm({ ...createForm, mcp_endpoint_path: e.target.value }), placeholder: "/mcp" }) })
960
961
  ] }),
961
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogFooter, { children: [
962
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { variant: "outline", onClick: () => setShowCreate(false), children: "Cancel" }),
963
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { onClick: handleCreate, disabled: creating || !createForm.name || !createForm.base_url, children: creating ? "Creating..." : "Create" })
962
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogFooter, { children: [
963
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { variant: "outline", onClick: () => setShowCreate(false), children: "Cancel" }),
964
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { onClick: handleCreate, disabled: creating || !createForm.name || !createForm.base_url, children: creating ? "Creating..." : "Create" })
964
965
  ] })
965
966
  ] }) }),
966
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Dialog, { open: !!editTarget, onOpenChange: (open) => {
967
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Dialog, { open: !!editTarget, onOpenChange: (open) => {
967
968
  if (!open) setEditTarget(null);
968
- }, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogContent, { className: "max-w-lg", children: [
969
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.DialogTitle, { children: "Edit Connector" }) }),
970
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogBody, { className: "space-y-3", children: [
969
+ }, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogContent, { className: "max-w-lg", children: [
970
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.DialogTitle, { children: "Edit Connector" }) }),
971
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogBody, { className: "space-y-3", children: [
971
972
  editError && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-destructive", children: editError }),
972
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Input, { value: editForm.name, onChange: (e) => setEditForm({ ...editForm, name: e.target.value }) }) }),
973
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Description", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Input, { value: editForm.description, onChange: (e) => setEditForm({ ...editForm, description: e.target.value }) }) }),
973
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Input, { value: editForm.name, onChange: (e) => setEditForm({ ...editForm, name: e.target.value }) }) }),
974
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Description", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Input, { value: editForm.description, onChange: (e) => setEditForm({ ...editForm, description: e.target.value }) }) }),
974
975
  editTarget && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-xs text-muted-foreground space-y-1", children: [
975
976
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
976
977
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: "Slug:" }),
@@ -989,9 +990,9 @@ function McpServerListPage({ initialData }) {
989
990
  ] })
990
991
  ] })
991
992
  ] }),
992
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogFooter, { children: [
993
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { variant: "outline", onClick: () => setEditTarget(null), children: "Cancel" }),
994
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { onClick: handleEdit, disabled: editing || !editForm.name, children: editing ? "Saving..." : "Save" })
993
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogFooter, { children: [
994
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { variant: "outline", onClick: () => setEditTarget(null), children: "Cancel" }),
995
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { onClick: handleEdit, disabled: editing || !editForm.name, children: editing ? "Saving..." : "Save" })
995
996
  ] })
996
997
  ] }) }),
997
998
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1021,9 +1022,9 @@ function McpServerListPage({ initialData }) {
1021
1022
  }
1022
1023
  function PluginMarketplaceListPage({ initialData }) {
1023
1024
  const { mutate } = swr.useSWRConfig();
1024
- const client = chunkVBGYWQUF_cjs.useAgentPlaneClient();
1025
- const { LinkComponent, basePath } = chunkVBGYWQUF_cjs.useNavigation();
1026
- const { data: marketplaces, error, isLoading } = chunkVBGYWQUF_cjs.useApi(
1025
+ const client = chunkXXF4U7WL_cjs.useAgentPlaneClient();
1026
+ const { LinkComponent, basePath } = chunkXXF4U7WL_cjs.useNavigation();
1027
+ const { data: marketplaces, error, isLoading } = chunkVZ43ATC5_cjs.useApi(
1027
1028
  "plugin-marketplaces",
1028
1029
  (c) => c.pluginMarketplaces.list(),
1029
1030
  initialData ? { fallbackData: initialData } : void 0
@@ -1074,26 +1075,26 @@ function PluginMarketplaceListPage({ initialData }) {
1074
1075
  ] }) });
1075
1076
  }
1076
1077
  if (isLoading || !marketplaces) {
1077
- return /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-96 rounded-lg" });
1078
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-96 rounded-lg" });
1078
1079
  }
1079
1080
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
1080
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { variant: "outline", size: "sm", onClick: () => setShowAdd(true), children: "+ Add Marketplace" }) }),
1081
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Dialog, { open: showAdd, onOpenChange: (v) => {
1081
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { variant: "outline", size: "sm", onClick: () => setShowAdd(true), children: "+ Add Marketplace" }) }),
1082
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Dialog, { open: showAdd, onOpenChange: (v) => {
1082
1083
  setShowAdd(v);
1083
1084
  if (!v) resetAddForm();
1084
- }, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogContent, { className: "max-w-md", children: [
1085
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.DialogTitle, { children: "Add Marketplace" }) }),
1086
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogBody, { className: "space-y-3", children: [
1087
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(
1088
- chunkVBGYWQUF_cjs.Input,
1085
+ }, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogContent, { className: "max-w-md", children: [
1086
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.DialogTitle, { children: "Add Marketplace" }) }),
1087
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogBody, { className: "space-y-3", children: [
1088
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(
1089
+ chunkXXF4U7WL_cjs.Input,
1089
1090
  {
1090
1091
  value: newMarketplace.name,
1091
1092
  onChange: (e) => setNewMarketplace({ ...newMarketplace, name: e.target.value }),
1092
1093
  placeholder: "My Marketplace"
1093
1094
  }
1094
1095
  ) }),
1095
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "GitHub Repo", children: /* @__PURE__ */ jsxRuntime.jsx(
1096
- chunkVBGYWQUF_cjs.Input,
1096
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "GitHub Repo", children: /* @__PURE__ */ jsxRuntime.jsx(
1097
+ chunkXXF4U7WL_cjs.Input,
1097
1098
  {
1098
1099
  value: newMarketplace.github_repo,
1099
1100
  onChange: (e) => setNewMarketplace({ ...newMarketplace, github_repo: e.target.value }),
@@ -1102,12 +1103,12 @@ function PluginMarketplaceListPage({ initialData }) {
1102
1103
  ) }),
1103
1104
  /* @__PURE__ */ jsxRuntime.jsx(FormError, { error: addError })
1104
1105
  ] }),
1105
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogFooter, { children: [
1106
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { variant: "outline", size: "sm", onClick: () => {
1106
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogFooter, { children: [
1107
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { variant: "outline", size: "sm", onClick: () => {
1107
1108
  setShowAdd(false);
1108
1109
  resetAddForm();
1109
1110
  }, children: "Cancel" }),
1110
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { size: "sm", onClick: handleAdd, disabled: adding || !newMarketplace.name || !newMarketplace.github_repo, children: adding ? "Adding..." : "Add Marketplace" })
1111
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { size: "sm", onClick: handleAdd, disabled: adding || !newMarketplace.name || !newMarketplace.github_repo, children: adding ? "Adding..." : "Add Marketplace" })
1111
1112
  ] })
1112
1113
  ] }) }),
1113
1114
  /* @__PURE__ */ jsxRuntime.jsxs(AdminTable, { children: [
@@ -1129,7 +1130,7 @@ function PluginMarketplaceListPage({ initialData }) {
1129
1130
  children: m.name
1130
1131
  }
1131
1132
  ),
1132
- m.is_owned && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "secondary", className: "ml-2 text-xs", children: "Owned" })
1133
+ m.is_owned && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "secondary", className: "ml-2 text-xs", children: "Owned" })
1133
1134
  ] }),
1134
1135
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsx(
1135
1136
  "a",
@@ -1141,10 +1142,10 @@ function PluginMarketplaceListPage({ initialData }) {
1141
1142
  children: m.github_repo
1142
1143
  }
1143
1144
  ) }),
1144
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: m.agent_count > 0 ? "default" : "secondary", children: m.agent_count }) }),
1145
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: m.agent_count > 0 ? "default" : "secondary", children: m.agent_count }) }),
1145
1146
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-muted-foreground text-xs", children: new Date(m.created_at).toLocaleDateString() }),
1146
1147
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(
1147
- chunkVBGYWQUF_cjs.Button,
1148
+ chunkXXF4U7WL_cjs.Button,
1148
1149
  {
1149
1150
  variant: "destructive",
1150
1151
  size: "sm",
@@ -1184,14 +1185,14 @@ function PluginMarketplaceListPage({ initialData }) {
1184
1185
  }
1185
1186
  function PluginMarketplaceDetailPage({ marketplaceId, initialData, initialPlugins }) {
1186
1187
  const { mutate } = swr.useSWRConfig();
1187
- const client = chunkVBGYWQUF_cjs.useAgentPlaneClient();
1188
- const { LinkComponent, basePath } = chunkVBGYWQUF_cjs.useNavigation();
1189
- const { data: marketplace, error, isLoading } = chunkVBGYWQUF_cjs.useApi(
1188
+ const client = chunkXXF4U7WL_cjs.useAgentPlaneClient();
1189
+ const { LinkComponent, basePath } = chunkXXF4U7WL_cjs.useNavigation();
1190
+ const { data: marketplace, error, isLoading } = chunkVZ43ATC5_cjs.useApi(
1190
1191
  `marketplace-${marketplaceId}`,
1191
1192
  (c) => c.pluginMarketplaces.get(marketplaceId),
1192
1193
  initialData ? { fallbackData: initialData } : void 0
1193
1194
  );
1194
- const { data: plugins } = chunkVBGYWQUF_cjs.useApi(
1195
+ const { data: plugins } = chunkVZ43ATC5_cjs.useApi(
1195
1196
  `marketplace-${marketplaceId}-plugins`,
1196
1197
  (c) => c.pluginMarketplaces.listPlugins(marketplaceId),
1197
1198
  initialPlugins ? { fallbackData: initialPlugins } : void 0
@@ -1217,14 +1218,14 @@ function PluginMarketplaceDetailPage({ marketplaceId, initialData, initialPlugin
1217
1218
  }
1218
1219
  if (isLoading || !marketplace) {
1219
1220
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
1220
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-12 w-64" }),
1221
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-32 rounded-lg" }),
1222
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-64 rounded-lg" })
1221
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-12 w-64" }),
1222
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-32 rounded-lg" }),
1223
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-64 rounded-lg" })
1223
1224
  ] });
1224
1225
  }
1225
1226
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
1226
1227
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
1227
- marketplace.has_token && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "secondary", children: "Owned" }),
1228
+ marketplace.has_token && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "secondary", children: "Owned" }),
1228
1229
  /* @__PURE__ */ jsxRuntime.jsx(
1229
1230
  "a",
1230
1231
  {
@@ -1236,13 +1237,13 @@ function PluginMarketplaceDetailPage({ marketplaceId, initialData, initialPlugin
1236
1237
  }
1237
1238
  )
1238
1239
  ] }),
1239
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.Card, { children: [
1240
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.CardTitle, { className: "text-base", children: "GitHub Token" }) }),
1241
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
1240
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkVZ43ATC5_cjs.Card, { children: [
1241
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.CardTitle, { className: "text-base", children: "GitHub Token" }) }),
1242
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
1242
1243
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: marketplace.has_token ? "A GitHub token is configured. You can update it below." : "Add a GitHub personal access token to enable write access and private repo support." }),
1243
1244
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
1244
1245
  /* @__PURE__ */ jsxRuntime.jsx(
1245
- chunkVBGYWQUF_cjs.Input,
1246
+ chunkXXF4U7WL_cjs.Input,
1246
1247
  {
1247
1248
  type: "password",
1248
1249
  placeholder: "ghp_...",
@@ -1251,30 +1252,30 @@ function PluginMarketplaceDetailPage({ marketplaceId, initialData, initialPlugin
1251
1252
  className: "flex-1"
1252
1253
  }
1253
1254
  ),
1254
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { size: "sm", onClick: handleSaveToken, disabled: savingToken || !tokenInput, children: savingToken ? "Saving..." : marketplace.has_token ? "Update Token" : "Save Token" })
1255
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { size: "sm", onClick: handleSaveToken, disabled: savingToken || !tokenInput, children: savingToken ? "Saving..." : marketplace.has_token ? "Update Token" : "Save Token" })
1255
1256
  ] })
1256
1257
  ] }) })
1257
1258
  ] }),
1258
1259
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1259
1260
  /* @__PURE__ */ jsxRuntime.jsx(SectionHeader, { title: "Plugins" }),
1260
- !plugins ? /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-48 rounded-lg" }) : plugins.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "No plugins found in this marketplace." }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4", children: plugins.map((plugin) => /* @__PURE__ */ jsxRuntime.jsx(
1261
+ !plugins ? /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-48 rounded-lg" }) : plugins.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "No plugins found in this marketplace." }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4", children: plugins.map((plugin) => /* @__PURE__ */ jsxRuntime.jsx(
1261
1262
  LinkComponent,
1262
1263
  {
1263
1264
  href: `${basePath}/plugin-marketplaces/${marketplaceId}/plugins/${plugin.name}`,
1264
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.Card, { className: "hover:border-primary/50 transition-colors cursor-pointer h-full", children: [
1265
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.CardTitle, { className: "text-sm font-medium flex items-center justify-between", children: [
1265
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkVZ43ATC5_cjs.Card, { className: "hover:border-primary/50 transition-colors cursor-pointer h-full", children: [
1266
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkVZ43ATC5_cjs.CardTitle, { className: "text-sm font-medium flex items-center justify-between", children: [
1266
1267
  plugin.displayName,
1267
1268
  plugin.version && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs text-muted-foreground font-normal", children: [
1268
1269
  "v",
1269
1270
  plugin.version
1270
1271
  ] })
1271
1272
  ] }) }),
1272
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.CardContent, { children: [
1273
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkVZ43ATC5_cjs.CardContent, { children: [
1273
1274
  plugin.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground mb-3", children: plugin.description }),
1274
1275
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1.5", children: [
1275
- plugin.hasAgents && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "secondary", className: "text-xs", children: "Agents" }),
1276
- plugin.hasSkills && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "secondary", className: "text-xs", children: "Skills" }),
1277
- plugin.hasMcpJson && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "secondary", className: "text-xs", children: "MCP" })
1276
+ plugin.hasAgents && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "secondary", className: "text-xs", children: "Agents" }),
1277
+ plugin.hasSkills && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "secondary", className: "text-xs", children: "Skills" }),
1278
+ plugin.hasMcpJson && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "secondary", className: "text-xs", children: "MCP" })
1278
1279
  ] })
1279
1280
  ] })
1280
1281
  ] })
@@ -1293,13 +1294,13 @@ function AgentsTab({
1293
1294
  return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground py-4", children: "No agents defined in this plugin." });
1294
1295
  }
1295
1296
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: agents.map((agent) => /* @__PURE__ */ jsxRuntime.jsxs(
1296
- chunkVBGYWQUF_cjs.Card,
1297
+ chunkVZ43ATC5_cjs.Card,
1297
1298
  {
1298
1299
  className: `cursor-pointer transition-colors hover:border-primary/50 ${selectedFilename === agent.filename ? "border-primary ring-1 ring-primary/30" : ""}`,
1299
1300
  onClick: () => onSelectAgent(agent.filename),
1300
1301
  children: [
1301
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.CardTitle, { className: "text-sm font-medium", children: agent.name }) }),
1302
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.CardContent, { children: [
1302
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.CardTitle, { className: "text-sm font-medium", children: agent.name }) }),
1303
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkVZ43ATC5_cjs.CardContent, { children: [
1303
1304
  agent.description ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: agent.description }) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground italic", children: "No description" }),
1304
1305
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground/60 mt-2 font-mono", children: agent.filename })
1305
1306
  ] })
@@ -1317,13 +1318,13 @@ function SkillsTab({
1317
1318
  return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground py-4", children: "No skills defined in this plugin." });
1318
1319
  }
1319
1320
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4", children: skills.map((skill) => /* @__PURE__ */ jsxRuntime.jsxs(
1320
- chunkVBGYWQUF_cjs.Card,
1321
+ chunkVZ43ATC5_cjs.Card,
1321
1322
  {
1322
1323
  className: `cursor-pointer transition-colors hover:border-primary/50 ${selectedSkill === skill ? "border-primary ring-1 ring-primary/30" : ""}`,
1323
1324
  onClick: () => onSelectSkill(skill),
1324
1325
  children: [
1325
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.CardTitle, { className: "text-sm font-medium", children: skill }) }),
1326
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs text-muted-foreground font-mono", children: [
1326
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.CardTitle, { className: "text-sm font-medium", children: skill }) }),
1327
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs text-muted-foreground font-mono", children: [
1327
1328
  "skills/",
1328
1329
  skill,
1329
1330
  "/"
@@ -1343,13 +1344,13 @@ function ConnectorsTab({
1343
1344
  return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground py-4", children: "No connectors defined in this plugin." });
1344
1345
  }
1345
1346
  return /* @__PURE__ */ jsxRuntime.jsxs(
1346
- chunkVBGYWQUF_cjs.Card,
1347
+ chunkVZ43ATC5_cjs.Card,
1347
1348
  {
1348
1349
  className: `cursor-pointer transition-colors hover:border-primary/50 ${selected ? "border-primary ring-1 ring-primary/30" : ""}`,
1349
1350
  onClick: onSelectConnector,
1350
1351
  children: [
1351
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.CardTitle, { className: "text-sm font-medium", children: ".mcp.json" }) }),
1352
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: "This plugin includes an MCP connector configuration that will be suggested to agents using it." }) })
1352
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.CardTitle, { className: "text-sm font-medium", children: ".mcp.json" }) }),
1353
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: "This plugin includes an MCP connector configuration that will be suggested to agents using it." }) })
1353
1354
  ]
1354
1355
  }
1355
1356
  );
@@ -1371,8 +1372,8 @@ function FileEditorInline({
1371
1372
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1372
1373
  saveError && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-destructive", children: saveError }),
1373
1374
  saveSuccess && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-green-500", children: saveSuccess }),
1374
- !readOnly && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { size: "sm", onClick: onSave, disabled: saving, className: "h-7 text-xs", children: saving ? "Saving..." : "Save" }),
1375
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { size: "sm", variant: "ghost", onClick: onClose, className: "h-7 text-xs", children: "Close" })
1375
+ !readOnly && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { size: "sm", onClick: onSave, disabled: saving, className: "h-7 text-xs", children: saving ? "Saving..." : "Save" }),
1376
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { size: "sm", variant: "ghost", onClick: onClose, className: "h-7 text-xs", children: "Close" })
1376
1377
  ] })
1377
1378
  ] }),
1378
1379
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -1388,9 +1389,9 @@ function FileEditorInline({
1388
1389
  ] });
1389
1390
  }
1390
1391
  function PluginDetailPage({ marketplaceId, pluginName }) {
1391
- const { LinkComponent, basePath } = chunkVBGYWQUF_cjs.useNavigation();
1392
- const client = chunkVBGYWQUF_cjs.useAgentPlaneClient();
1393
- const { data: plugin, error, isLoading } = chunkVBGYWQUF_cjs.useApi(
1392
+ const { LinkComponent, basePath } = chunkXXF4U7WL_cjs.useNavigation();
1393
+ const client = chunkXXF4U7WL_cjs.useAgentPlaneClient();
1394
+ const { data: plugin, error, isLoading } = chunkVZ43ATC5_cjs.useApi(
1394
1395
  `marketplace-${marketplaceId}-plugin-${pluginName}`,
1395
1396
  (c) => c.pluginMarketplaces.getPlugin(marketplaceId, pluginName)
1396
1397
  );
@@ -1534,9 +1535,9 @@ function PluginDetailPage({ marketplaceId, pluginName }) {
1534
1535
  }
1535
1536
  if (isLoading || !plugin) {
1536
1537
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
1537
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-8 w-48" }),
1538
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-4 w-96" }),
1539
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-64 rounded-lg" })
1538
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-8 w-48" }),
1539
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-4 w-96" }),
1540
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-64 rounded-lg" })
1540
1541
  ] });
1541
1542
  }
1542
1543
  const readOnly = pluginFiles ? !pluginFiles.isOwned : true;
@@ -1553,7 +1554,7 @@ function PluginDetailPage({ marketplaceId, pluginName }) {
1553
1554
  selectedFilename: editorState?.type === "agent" ? editorState.identifier : null
1554
1555
  }
1555
1556
  ),
1556
- editorState?.type === "agent" && editorFile && (filesLoading ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-[400px] rounded-md" }) }) : filesError ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 text-sm text-destructive", children: filesError }) : /* @__PURE__ */ jsxRuntime.jsx(
1557
+ editorState?.type === "agent" && editorFile && (filesLoading ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-[400px] rounded-md" }) }) : filesError ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 text-sm text-destructive", children: filesError }) : /* @__PURE__ */ jsxRuntime.jsx(
1557
1558
  FileEditorInline,
1558
1559
  {
1559
1560
  filePath: editorFile.path,
@@ -1580,7 +1581,7 @@ function PluginDetailPage({ marketplaceId, pluginName }) {
1580
1581
  selectedSkill: editorState?.type === "skill" ? editorState.identifier : null
1581
1582
  }
1582
1583
  ),
1583
- editorState?.type === "skill" && editorFile && (filesLoading ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-[400px] rounded-md" }) }) : filesError ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 text-sm text-destructive", children: filesError }) : /* @__PURE__ */ jsxRuntime.jsx(
1584
+ editorState?.type === "skill" && editorFile && (filesLoading ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-[400px] rounded-md" }) }) : filesError ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 text-sm text-destructive", children: filesError }) : /* @__PURE__ */ jsxRuntime.jsx(
1584
1585
  FileEditorInline,
1585
1586
  {
1586
1587
  filePath: editorFile.path,
@@ -1608,7 +1609,7 @@ function PluginDetailPage({ marketplaceId, pluginName }) {
1608
1609
  selected: editorState?.type === "connector"
1609
1610
  }
1610
1611
  ),
1611
- editorState?.type === "connector" && editorFile && (filesLoading ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-[400px] rounded-md" }) }) : filesError ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 text-sm text-destructive", children: filesError }) : /* @__PURE__ */ jsxRuntime.jsx(
1612
+ editorState?.type === "connector" && editorFile && (filesLoading ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-[400px] rounded-md" }) }) : filesError ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 text-sm text-destructive", children: filesError }) : /* @__PURE__ */ jsxRuntime.jsx(
1612
1613
  FileEditorInline,
1613
1614
  {
1614
1615
  filePath: editorFile.path,
@@ -1629,11 +1630,11 @@ function PluginDetailPage({ marketplaceId, pluginName }) {
1629
1630
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1630
1631
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
1631
1632
  /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-2xl font-semibold", children: plugin.displayName }),
1632
- plugin.version && /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.Badge, { variant: "outline", children: [
1633
+ plugin.version && /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.Badge, { variant: "outline", children: [
1633
1634
  "v",
1634
1635
  plugin.version
1635
1636
  ] }),
1636
- pluginFiles && (pluginFiles.isOwned ? /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "secondary", children: "Editable" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "outline", children: "Read-only" }))
1637
+ pluginFiles && (pluginFiles.isOwned ? /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "secondary", children: "Editable" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "outline", children: "Read-only" }))
1637
1638
  ] }),
1638
1639
  plugin.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground mt-1", children: plugin.description })
1639
1640
  ] }),
@@ -1643,12 +1644,12 @@ function PluginDetailPage({ marketplaceId, pluginName }) {
1643
1644
  var TIMEZONES = typeof Intl !== "undefined" && Intl.supportedValuesOf ? Intl.supportedValuesOf("timeZone") : ["UTC"];
1644
1645
  function SettingsPage({ initialData, hideDangerZone }) {
1645
1646
  const { mutate } = swr.useSWRConfig();
1646
- const { data: tenantData, error: tenantError, isLoading: tenantLoading } = chunkVBGYWQUF_cjs.useApi(
1647
+ const { data: tenantData, error: tenantError, isLoading: tenantLoading } = chunkVZ43ATC5_cjs.useApi(
1647
1648
  "settings-tenant",
1648
1649
  (c) => c.tenants.getMe(),
1649
1650
  initialData ? { fallbackData: initialData.tenant } : void 0
1650
1651
  );
1651
- const { data: apiKeysData, error: apiKeysError, isLoading: apiKeysLoading } = chunkVBGYWQUF_cjs.useApi(
1652
+ const { data: apiKeysData, error: apiKeysError, isLoading: apiKeysLoading } = chunkVZ43ATC5_cjs.useApi(
1652
1653
  "settings-keys",
1653
1654
  (c) => c.keys.list ? c.keys.list() : Promise.resolve([]),
1654
1655
  initialData ? { fallbackData: initialData.api_keys } : void 0
@@ -1664,8 +1665,8 @@ function SettingsPage({ initialData, hideDangerZone }) {
1664
1665
  }
1665
1666
  if (isLoading || !data) {
1666
1667
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
1667
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-48 rounded-lg" }),
1668
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-64 rounded-lg" })
1668
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-48 rounded-lg" }),
1669
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-64 rounded-lg" })
1669
1670
  ] });
1670
1671
  }
1671
1672
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
@@ -1681,7 +1682,7 @@ function SettingsPage({ initialData, hideDangerZone }) {
1681
1682
  ] });
1682
1683
  }
1683
1684
  function CompanyForm({ tenant, onSaved }) {
1684
- const client = chunkVBGYWQUF_cjs.useAgentPlaneClient();
1685
+ const client = chunkXXF4U7WL_cjs.useAgentPlaneClient();
1685
1686
  const fileInputRef = React.useRef(null);
1686
1687
  const [name, setName] = React.useState(tenant.name);
1687
1688
  const [budget, setBudget] = React.useState(tenant.monthly_budget_usd.toString());
@@ -1711,8 +1712,8 @@ function CompanyForm({ tenant, onSaved }) {
1711
1712
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
1712
1713
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "Upload a logo for your company. Recommended size: 256x256px." }),
1713
1714
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1714
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { size: "sm", variant: "outline", onClick: () => fileInputRef.current?.click(), children: "Upload image" }),
1715
- logoUrl && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { size: "sm", variant: "outline", onClick: () => setLogoUrl(""), children: "Remove" }),
1715
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { size: "sm", variant: "outline", onClick: () => fileInputRef.current?.click(), children: "Upload image" }),
1716
+ logoUrl && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { size: "sm", variant: "outline", onClick: () => setLogoUrl(""), children: "Remove" }),
1716
1717
  /* @__PURE__ */ jsxRuntime.jsx(
1717
1718
  "input",
1718
1719
  {
@@ -1737,14 +1738,14 @@ function CompanyForm({ tenant, onSaved }) {
1737
1738
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-muted-foreground/25 p-5", children: [
1738
1739
  /* @__PURE__ */ jsxRuntime.jsx(SectionHeader, { title: "Company Details" }),
1739
1740
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 md:grid-cols-4 gap-4", children: [
1740
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Input, { value: name, onChange: (e) => setName(e.target.value) }) }),
1741
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Slug", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Input, { value: tenant.slug, readOnly: true, disabled: true, className: "opacity-60" }) }),
1742
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Status", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center h-9", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: tenant.status === "active" ? "default" : "destructive", children: tenant.status }) }) }),
1743
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Timezone", children: /* @__PURE__ */ jsxRuntime.jsx(Select, { value: timezone, onChange: (e) => setTimezone(e.target.value), children: TIMEZONES.map((tz) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: tz, children: tz.replace(/_/g, " ") }, tz)) }) }),
1744
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Monthly Budget (USD)", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
1741
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Input, { value: name, onChange: (e) => setName(e.target.value) }) }),
1742
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Slug", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Input, { value: tenant.slug, readOnly: true, disabled: true, className: "opacity-60" }) }),
1743
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Status", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center h-9", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: tenant.status === "active" ? "default" : "destructive", children: tenant.status }) }) }),
1744
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Timezone", children: /* @__PURE__ */ jsxRuntime.jsx(Select, { value: timezone, onChange: (e) => setTimezone(e.target.value), children: TIMEZONES.map((tz) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: tz, children: tz.replace(/_/g, " ") }, tz)) }) }),
1745
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Monthly Budget (USD)", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
1745
1746
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground text-sm", children: "$" }),
1746
1747
  /* @__PURE__ */ jsxRuntime.jsx(
1747
- chunkVBGYWQUF_cjs.Input,
1748
+ chunkXXF4U7WL_cjs.Input,
1748
1749
  {
1749
1750
  type: "number",
1750
1751
  step: "0.01",
@@ -1756,11 +1757,11 @@ function CompanyForm({ tenant, onSaved }) {
1756
1757
  ] }) })
1757
1758
  ] })
1758
1759
  ] }),
1759
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { onClick: handleSave, disabled: saving || !isDirty, size: "sm", children: saving ? "Saving..." : "Save Changes" }) })
1760
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { onClick: handleSave, disabled: saving || !isDirty, size: "sm", children: saving ? "Saving..." : "Save Changes" }) })
1760
1761
  ] });
1761
1762
  }
1762
1763
  function ApiKeysSection({ initialKeys, onChanged }) {
1763
- const client = chunkVBGYWQUF_cjs.useAgentPlaneClient();
1764
+ const client = chunkXXF4U7WL_cjs.useAgentPlaneClient();
1764
1765
  const [creating, setCreating] = React.useState(false);
1765
1766
  const [newKeyName, setNewKeyName] = React.useState("default");
1766
1767
  const [showCreate, setShowCreate] = React.useState(false);
@@ -1797,17 +1798,17 @@ function ApiKeysSection({ initialKeys, onChanged }) {
1797
1798
  const activeKeys = initialKeys.filter((k) => !k.revoked_at);
1798
1799
  const revokedKeys = initialKeys.filter((k) => k.revoked_at);
1799
1800
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-muted-foreground/25 p-5", children: [
1800
- /* @__PURE__ */ jsxRuntime.jsx(SectionHeader, { title: "API Keys", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { variant: "outline", size: "sm", onClick: () => setShowCreate(!showCreate), children: showCreate ? "Cancel" : "+ New Key" }) }),
1801
+ /* @__PURE__ */ jsxRuntime.jsx(SectionHeader, { title: "API Keys", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { variant: "outline", size: "sm", onClick: () => setShowCreate(!showCreate), children: showCreate ? "Cancel" : "+ New Key" }) }),
1801
1802
  rawKey && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 p-3 rounded-lg border border-yellow-500/50 bg-yellow-500/10", children: [
1802
1803
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium mb-1", children: "New API key created \u2014 copy it now, it won't be shown again:" }),
1803
1804
  /* @__PURE__ */ jsxRuntime.jsx("code", { className: "block text-xs font-mono bg-black/20 p-2 rounded break-all select-all", children: rawKey }),
1804
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { size: "sm", variant: "outline", className: "mt-2", onClick: () => setRawKey(null), children: "Dismiss" })
1805
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { size: "sm", variant: "outline", className: "mt-2", onClick: () => setRawKey(null), children: "Dismiss" })
1805
1806
  ] }),
1806
1807
  showCreate && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex gap-2 items-end", children: [
1807
1808
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
1808
1809
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-xs font-medium text-muted-foreground", children: "Key Name" }),
1809
1810
  /* @__PURE__ */ jsxRuntime.jsx(
1810
- chunkVBGYWQUF_cjs.Input,
1811
+ chunkXXF4U7WL_cjs.Input,
1811
1812
  {
1812
1813
  value: newKeyName,
1813
1814
  onChange: (e) => setNewKeyName(e.target.value),
@@ -1816,7 +1817,7 @@ function ApiKeysSection({ initialKeys, onChanged }) {
1816
1817
  }
1817
1818
  )
1818
1819
  ] }),
1819
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { size: "sm", onClick: handleCreate, disabled: creating, children: creating ? "Creating..." : "Create" })
1820
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { size: "sm", onClick: handleCreate, disabled: creating, children: creating ? "Creating..." : "Create" })
1820
1821
  ] }),
1821
1822
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-lg border border-border", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-sm", children: [
1822
1823
  /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-b border-border bg-muted/50", children: [
@@ -1834,11 +1835,11 @@ function ApiKeysSection({ initialKeys, onChanged }) {
1834
1835
  k.key_prefix,
1835
1836
  "..."
1836
1837
  ] }),
1837
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "default", children: "active" }) }),
1838
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "default", children: "active" }) }),
1838
1839
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-muted-foreground text-xs", children: k.last_used_at ? new Date(k.last_used_at).toLocaleString() : "never" }),
1839
1840
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-muted-foreground text-xs", children: new Date(k.created_at).toLocaleDateString() }),
1840
1841
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(
1841
- chunkVBGYWQUF_cjs.Button,
1842
+ chunkXXF4U7WL_cjs.Button,
1842
1843
  {
1843
1844
  size: "sm",
1844
1845
  variant: "destructive",
@@ -1853,7 +1854,7 @@ function ApiKeysSection({ initialKeys, onChanged }) {
1853
1854
  k.key_prefix,
1854
1855
  "..."
1855
1856
  ] }),
1856
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "destructive", children: "revoked" }) }),
1857
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "destructive", children: "revoked" }) }),
1857
1858
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-muted-foreground text-xs", children: k.last_used_at ? new Date(k.last_used_at).toLocaleString() : "never" }),
1858
1859
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-muted-foreground text-xs", children: new Date(k.created_at).toLocaleDateString() }),
1859
1860
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3" })
@@ -1886,8 +1887,8 @@ function ApiKeysSection({ initialKeys, onChanged }) {
1886
1887
  ] });
1887
1888
  }
1888
1889
  function DangerZone({ tenantId, tenantName }) {
1889
- const client = chunkVBGYWQUF_cjs.useAgentPlaneClient();
1890
- const { onNavigate, basePath } = chunkVBGYWQUF_cjs.useNavigation();
1890
+ const client = chunkXXF4U7WL_cjs.useAgentPlaneClient();
1891
+ const { onNavigate, basePath } = chunkXXF4U7WL_cjs.useNavigation();
1891
1892
  const [open, setOpen] = React.useState(false);
1892
1893
  const [deleting, setDeleting] = React.useState(false);
1893
1894
  const [error, setError] = React.useState("");
@@ -1910,7 +1911,7 @@ function DangerZone({ tenantId, tenantName }) {
1910
1911
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-lg font-semibold text-destructive", children: "Danger Zone" }),
1911
1912
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground mt-1", children: "Permanently delete this company and all its agents, runs, sessions, and API keys." })
1912
1913
  ] }),
1913
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { size: "sm", variant: "destructive", onClick: () => setOpen(true), children: "Delete Company" })
1914
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { size: "sm", variant: "destructive", onClick: () => setOpen(true), children: "Delete Company" })
1914
1915
  ] }),
1915
1916
  /* @__PURE__ */ jsxRuntime.jsxs(
1916
1917
  ConfirmDialog,
@@ -1970,7 +1971,7 @@ var TAG_TITLES = {
1970
1971
  "image-generation": "Image Generation"
1971
1972
  };
1972
1973
  function ModelSelector({ value, onChange, disabled }) {
1973
- const client = chunkVBGYWQUF_cjs.useAgentPlaneClient();
1974
+ const client = chunkXXF4U7WL_cjs.useAgentPlaneClient();
1974
1975
  const [open, setOpen] = React.useState(false);
1975
1976
  const [models, setModels] = React.useState(null);
1976
1977
  const [loading, setLoading] = React.useState(false);
@@ -2174,7 +2175,7 @@ function ModelSelector({ value, onChange, disabled }) {
2174
2175
  ] });
2175
2176
  }
2176
2177
  function AddAgentDialog({ onCreated }) {
2177
- const client = chunkVBGYWQUF_cjs.useAgentPlaneClient();
2178
+ const client = chunkXXF4U7WL_cjs.useAgentPlaneClient();
2178
2179
  const [open, setOpen] = React.useState(false);
2179
2180
  const [saving, setSaving] = React.useState(false);
2180
2181
  const [error, setError] = React.useState("");
@@ -2226,15 +2227,15 @@ function AddAgentDialog({ onCreated }) {
2226
2227
  }
2227
2228
  }
2228
2229
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2229
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { variant: "outline", size: "sm", onClick: () => setOpen(true), children: "+ New Agent" }),
2230
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Dialog, { open, onOpenChange: (v) => {
2230
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { variant: "outline", size: "sm", onClick: () => setOpen(true), children: "+ New Agent" }),
2231
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Dialog, { open, onOpenChange: (v) => {
2231
2232
  setOpen(v);
2232
2233
  if (!v) resetForm();
2233
- }, children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.DialogContent, { className: "max-w-md", children: /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, children: [
2234
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.DialogTitle, { children: "Add Agent" }) }),
2235
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogBody, { className: "space-y-3", children: [
2236
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(
2237
- chunkVBGYWQUF_cjs.Input,
2234
+ }, children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.DialogContent, { className: "max-w-md", children: /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, children: [
2235
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.DialogTitle, { children: "Add Agent" }) }),
2236
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogBody, { className: "space-y-3", children: [
2237
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(
2238
+ chunkXXF4U7WL_cjs.Input,
2238
2239
  {
2239
2240
  value: form.name,
2240
2241
  onChange: (e) => setForm((f) => ({ ...f, name: e.target.value })),
@@ -2242,28 +2243,28 @@ function AddAgentDialog({ onCreated }) {
2242
2243
  required: true
2243
2244
  }
2244
2245
  ) }),
2245
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Description", children: /* @__PURE__ */ jsxRuntime.jsx(
2246
- chunkVBGYWQUF_cjs.Input,
2246
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Description", children: /* @__PURE__ */ jsxRuntime.jsx(
2247
+ chunkXXF4U7WL_cjs.Input,
2247
2248
  {
2248
2249
  value: form.description,
2249
2250
  onChange: (e) => setForm((f) => ({ ...f, description: e.target.value })),
2250
2251
  placeholder: "What does this agent do?"
2251
2252
  }
2252
2253
  ) }),
2253
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Model", children: /* @__PURE__ */ jsxRuntime.jsx(
2254
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Model", children: /* @__PURE__ */ jsxRuntime.jsx(
2254
2255
  ModelSelector,
2255
2256
  {
2256
2257
  value: form.model,
2257
2258
  onChange: (modelId) => setForm((f) => ({
2258
2259
  ...f,
2259
2260
  model: modelId,
2260
- runner: chunkVBGYWQUF_cjs.supportsClaudeRunner(modelId) ? f.runner : "vercel-ai-sdk",
2261
- permission_mode: chunkVBGYWQUF_cjs.supportsClaudeRunner(modelId) ? f.permission_mode : "bypassPermissions"
2261
+ runner: chunkXXF4U7WL_cjs.supportsClaudeRunner(modelId) ? f.runner : "vercel-ai-sdk",
2262
+ permission_mode: chunkXXF4U7WL_cjs.supportsClaudeRunner(modelId) ? f.permission_mode : "bypassPermissions"
2262
2263
  }))
2263
2264
  }
2264
2265
  ) }),
2265
2266
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-3", children: [
2266
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Runner", children: chunkVBGYWQUF_cjs.supportsClaudeRunner(form.model) ? /* @__PURE__ */ jsxRuntime.jsxs(
2267
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Runner", children: chunkXXF4U7WL_cjs.supportsClaudeRunner(form.model) ? /* @__PURE__ */ jsxRuntime.jsxs(
2267
2268
  Select,
2268
2269
  {
2269
2270
  value: form.runner || "claude-agent-sdk",
@@ -2274,12 +2275,12 @@ function AddAgentDialog({ onCreated }) {
2274
2275
  ]
2275
2276
  }
2276
2277
  ) : /* @__PURE__ */ jsxRuntime.jsx(Select, { value: "vercel-ai-sdk", disabled: true, children: /* @__PURE__ */ jsxRuntime.jsx("option", { value: "vercel-ai-sdk", children: "Vercel AI SDK" }) }) }),
2277
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Permission Mode", children: /* @__PURE__ */ jsxRuntime.jsxs(
2278
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Permission Mode", children: /* @__PURE__ */ jsxRuntime.jsxs(
2278
2279
  Select,
2279
2280
  {
2280
2281
  value: form.permission_mode,
2281
2282
  onChange: (e) => setForm((f) => ({ ...f, permission_mode: e.target.value })),
2282
- disabled: !chunkVBGYWQUF_cjs.supportsClaudeRunner(form.model) || form.runner === "vercel-ai-sdk",
2283
+ disabled: !chunkXXF4U7WL_cjs.supportsClaudeRunner(form.model) || form.runner === "vercel-ai-sdk",
2283
2284
  children: [
2284
2285
  /* @__PURE__ */ jsxRuntime.jsx("option", { value: "default", children: "default" }),
2285
2286
  /* @__PURE__ */ jsxRuntime.jsx("option", { value: "acceptEdits", children: "acceptEdits" }),
@@ -2290,8 +2291,8 @@ function AddAgentDialog({ onCreated }) {
2290
2291
  ) })
2291
2292
  ] }),
2292
2293
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-3 gap-3", children: [
2293
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Max Turns", children: /* @__PURE__ */ jsxRuntime.jsx(
2294
- chunkVBGYWQUF_cjs.Input,
2294
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Max Turns", children: /* @__PURE__ */ jsxRuntime.jsx(
2295
+ chunkXXF4U7WL_cjs.Input,
2295
2296
  {
2296
2297
  type: "number",
2297
2298
  min: "1",
@@ -2301,10 +2302,10 @@ function AddAgentDialog({ onCreated }) {
2301
2302
  required: true
2302
2303
  }
2303
2304
  ) }),
2304
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Max Budget", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
2305
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Max Budget", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
2305
2306
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-sm text-muted-foreground", children: "$" }),
2306
2307
  /* @__PURE__ */ jsxRuntime.jsx(
2307
- chunkVBGYWQUF_cjs.Input,
2308
+ chunkXXF4U7WL_cjs.Input,
2308
2309
  {
2309
2310
  type: "number",
2310
2311
  step: "0.01",
@@ -2317,9 +2318,9 @@ function AddAgentDialog({ onCreated }) {
2317
2318
  }
2318
2319
  )
2319
2320
  ] }) }),
2320
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Max Runtime", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
2321
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Max Runtime", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
2321
2322
  /* @__PURE__ */ jsxRuntime.jsx(
2322
- chunkVBGYWQUF_cjs.Input,
2323
+ chunkXXF4U7WL_cjs.Input,
2323
2324
  {
2324
2325
  type: "number",
2325
2326
  min: "1",
@@ -2335,18 +2336,18 @@ function AddAgentDialog({ onCreated }) {
2335
2336
  ] }),
2336
2337
  /* @__PURE__ */ jsxRuntime.jsx(FormError, { error })
2337
2338
  ] }),
2338
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogFooter, { children: [
2339
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { type: "button", variant: "outline", size: "sm", onClick: () => {
2339
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogFooter, { children: [
2340
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { type: "button", variant: "outline", size: "sm", onClick: () => {
2340
2341
  setOpen(false);
2341
2342
  resetForm();
2342
2343
  }, children: "Cancel" }),
2343
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { type: "submit", size: "sm", disabled: saving, children: saving ? "Creating..." : "Create Agent" })
2344
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { type: "submit", size: "sm", disabled: saving, children: saving ? "Creating..." : "Create Agent" })
2344
2345
  ] })
2345
2346
  ] }) }) })
2346
2347
  ] });
2347
2348
  }
2348
2349
  function DeleteAgentButton({ agentId, agentName, onDeleted }) {
2349
- const client = chunkVBGYWQUF_cjs.useAgentPlaneClient();
2350
+ const client = chunkXXF4U7WL_cjs.useAgentPlaneClient();
2350
2351
  const [open, setOpen] = React.useState(false);
2351
2352
  const [deleting, setDeleting] = React.useState(false);
2352
2353
  const [error, setError] = React.useState("");
@@ -2365,7 +2366,7 @@ function DeleteAgentButton({ agentId, agentName, onDeleted }) {
2365
2366
  }
2366
2367
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2367
2368
  /* @__PURE__ */ jsxRuntime.jsx(
2368
- chunkVBGYWQUF_cjs.Button,
2369
+ chunkXXF4U7WL_cjs.Button,
2369
2370
  {
2370
2371
  size: "sm",
2371
2372
  variant: "ghost",
@@ -2395,9 +2396,9 @@ function DeleteAgentButton({ agentId, agentName, onDeleted }) {
2395
2396
  ] });
2396
2397
  }
2397
2398
  function AgentListPage() {
2398
- const { LinkComponent, basePath } = chunkVBGYWQUF_cjs.useNavigation();
2399
+ const { LinkComponent, basePath } = chunkXXF4U7WL_cjs.useNavigation();
2399
2400
  const { mutate } = swr.useSWRConfig();
2400
- const { data, error, isLoading } = chunkVBGYWQUF_cjs.useApi(
2401
+ const { data, error, isLoading } = chunkVZ43ATC5_cjs.useApi(
2401
2402
  "agents",
2402
2403
  (client) => client.agents.list()
2403
2404
  );
@@ -2407,8 +2408,8 @@ function AgentListPage() {
2407
2408
  }, [mutate]);
2408
2409
  if (isLoading) {
2409
2410
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
2410
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-9 w-32" }),
2411
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-12 w-full" }, i)) })
2411
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-9 w-32" }),
2412
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-12 w-full" }, i)) })
2412
2413
  ] });
2413
2414
  }
2414
2415
  if (error) {
@@ -2433,11 +2434,11 @@ function AgentListPage() {
2433
2434
  agents.map((a) => /* @__PURE__ */ jsxRuntime.jsxs(AdminTableRow, { children: [
2434
2435
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 font-medium", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
2435
2436
  /* @__PURE__ */ jsxRuntime.jsx(LinkComponent, { href: `${basePath}/agents/${a.id}`, className: "text-primary hover:underline", children: a.name }),
2436
- a.a2a_enabled && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { className: "text-[10px] px-1.5 py-0 bg-indigo-500/10 text-indigo-400 border-indigo-500/20", children: "A2A" })
2437
+ a.a2a_enabled && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { className: "text-[10px] px-1.5 py-0 bg-indigo-500/10 text-indigo-400 border-indigo-500/20", children: "A2A" })
2437
2438
  ] }) }),
2438
2439
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-muted-foreground text-xs max-w-xs truncate", title: a.description ?? void 0, children: a.description ?? "\u2014" }),
2439
2440
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 font-mono text-xs text-muted-foreground", children: a.model }),
2440
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3", children: a.composio_toolkits.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-1 flex-wrap", children: a.composio_toolkits.map((t) => /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "secondary", className: "text-xs", children: t }, t)) }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-xs", children: "\u2014" }) }),
2441
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3", children: a.composio_toolkits.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-1 flex-wrap", children: a.composio_toolkits.map((t) => /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "secondary", className: "text-xs", children: t }, t)) }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-xs", children: "\u2014" }) }),
2441
2442
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-right", children: (a.skills ?? []).length }),
2442
2443
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-right", children: (a.plugins ?? []).length }),
2443
2444
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(DeleteAgentButton, { agentId: a.id, agentName: a.name, onDeleted: invalidate }) })
@@ -2448,7 +2449,7 @@ function AgentListPage() {
2448
2449
  ] });
2449
2450
  }
2450
2451
  function AgentEditForm({ agent, onSaved }) {
2451
- const client = chunkVBGYWQUF_cjs.useAgentPlaneClient();
2452
+ const client = chunkXXF4U7WL_cjs.useAgentPlaneClient();
2452
2453
  const [name, setName] = React.useState(agent.name);
2453
2454
  const [description, setDescription] = React.useState(agent.description ?? "");
2454
2455
  const [model, setModel] = React.useState(agent.model);
@@ -2457,10 +2458,8 @@ function AgentEditForm({ agent, onSaved }) {
2457
2458
  const [maxTurns, setMaxTurns] = React.useState(agent.max_turns.toString());
2458
2459
  const [maxBudget, setMaxBudget] = React.useState(agent.max_budget_usd.toString());
2459
2460
  const [maxRuntime, setMaxRuntime] = React.useState(Math.floor(agent.max_runtime_seconds / 60).toString());
2460
- const [soulMd, setSoulMd] = React.useState(agent.soul_md ?? "");
2461
- const [identityMd, setIdentityMd] = React.useState(agent.identity_md ?? "");
2462
2461
  const [saving, setSaving] = React.useState(false);
2463
- const isDirty = name !== agent.name || description !== (agent.description ?? "") || model !== agent.model || runner !== (agent.runner ?? "") || permissionMode !== agent.permission_mode || maxTurns !== agent.max_turns.toString() || maxBudget !== agent.max_budget_usd.toString() || maxRuntime !== Math.floor(agent.max_runtime_seconds / 60).toString() || soulMd !== (agent.soul_md ?? "") || identityMd !== (agent.identity_md ?? "");
2462
+ const isDirty = name !== agent.name || description !== (agent.description ?? "") || model !== agent.model || runner !== (agent.runner ?? "") || permissionMode !== agent.permission_mode || maxTurns !== agent.max_turns.toString() || maxBudget !== agent.max_budget_usd.toString() || maxRuntime !== Math.floor(agent.max_runtime_seconds / 60).toString();
2464
2463
  const [error, setError] = React.useState("");
2465
2464
  async function handleSave() {
2466
2465
  setSaving(true);
@@ -2474,9 +2473,7 @@ function AgentEditForm({ agent, onSaved }) {
2474
2473
  permission_mode: permissionMode,
2475
2474
  max_turns: parseInt(maxTurns) || agent.max_turns,
2476
2475
  max_budget_usd: parseFloat(maxBudget) || agent.max_budget_usd,
2477
- max_runtime_seconds: (parseInt(maxRuntime) || Math.floor(agent.max_runtime_seconds / 60)) * 60,
2478
- soul_md: soulMd || null,
2479
- identity_md: identityMd || null
2476
+ max_runtime_seconds: (parseInt(maxRuntime) || Math.floor(agent.max_runtime_seconds / 60)) * 60
2480
2477
  });
2481
2478
  onSaved?.();
2482
2479
  } catch (err) {
@@ -2488,13 +2485,13 @@ function AgentEditForm({ agent, onSaved }) {
2488
2485
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-muted-foreground/25 p-5", children: [
2489
2486
  /* @__PURE__ */ jsxRuntime.jsxs(SectionHeader, { title: "Details", children: [
2490
2487
  error && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-destructive mr-2", children: error }),
2491
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { onClick: handleSave, disabled: saving || !isDirty, size: "sm", children: saving ? "Saving..." : "Save Changes" })
2488
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { onClick: handleSave, disabled: saving || !isDirty, size: "sm", children: saving ? "Saving..." : "Save Changes" })
2492
2489
  ] }),
2493
2490
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
2494
2491
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-12 gap-4", children: [
2495
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Input, { value: name, onChange: (e) => setName(e.target.value), disabled: saving }) }) }),
2496
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Description", children: /* @__PURE__ */ jsxRuntime.jsx(
2497
- chunkVBGYWQUF_cjs.Input,
2492
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Input, { value: name, onChange: (e) => setName(e.target.value), disabled: saving }) }) }),
2493
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Description", children: /* @__PURE__ */ jsxRuntime.jsx(
2494
+ chunkXXF4U7WL_cjs.Input,
2498
2495
  {
2499
2496
  value: description,
2500
2497
  onChange: (e) => setDescription(e.target.value),
@@ -2502,83 +2499,47 @@ function AgentEditForm({ agent, onSaved }) {
2502
2499
  disabled: saving
2503
2500
  }
2504
2501
  ) }) }),
2505
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-3", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Model", children: /* @__PURE__ */ jsxRuntime.jsx(
2502
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-3", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Model", children: /* @__PURE__ */ jsxRuntime.jsx(
2506
2503
  ModelSelector,
2507
2504
  {
2508
2505
  value: model,
2509
2506
  disabled: saving,
2510
2507
  onChange: (modelId) => {
2511
2508
  setModel(modelId);
2512
- if (!chunkVBGYWQUF_cjs.supportsClaudeRunner(modelId)) {
2509
+ if (!chunkXXF4U7WL_cjs.supportsClaudeRunner(modelId)) {
2513
2510
  setRunner("vercel-ai-sdk");
2514
2511
  setPermissionMode("bypassPermissions");
2515
2512
  }
2516
2513
  }
2517
2514
  }
2518
2515
  ) }) }),
2519
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-3", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Runner", children: chunkVBGYWQUF_cjs.supportsClaudeRunner(model) ? /* @__PURE__ */ jsxRuntime.jsxs(Select, { value: runner || "claude-agent-sdk", onChange: (e) => setRunner(e.target.value === "claude-agent-sdk" ? "" : e.target.value), disabled: saving, children: [
2516
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-3", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Runner", children: chunkXXF4U7WL_cjs.supportsClaudeRunner(model) ? /* @__PURE__ */ jsxRuntime.jsxs(Select, { value: runner || "claude-agent-sdk", onChange: (e) => setRunner(e.target.value === "claude-agent-sdk" ? "" : e.target.value), disabled: saving, children: [
2520
2517
  /* @__PURE__ */ jsxRuntime.jsx("option", { value: "claude-agent-sdk", children: "Claude SDK" }),
2521
2518
  /* @__PURE__ */ jsxRuntime.jsx("option", { value: "vercel-ai-sdk", children: "AI SDK" })
2522
2519
  ] }) : /* @__PURE__ */ jsxRuntime.jsx(Select, { value: "vercel-ai-sdk", disabled: true, children: /* @__PURE__ */ jsxRuntime.jsx("option", { value: "vercel-ai-sdk", children: "AI SDK" }) }) }) })
2523
2520
  ] }),
2524
2521
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-12 gap-4", children: [
2525
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Max Turns", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Input, { type: "number", min: "1", max: "1000", value: maxTurns, onChange: (e) => setMaxTurns(e.target.value), disabled: saving }) }) }),
2526
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Max Budget", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
2522
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Max Turns", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Input, { type: "number", min: "1", max: "1000", value: maxTurns, onChange: (e) => setMaxTurns(e.target.value), disabled: saving }) }) }),
2523
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Max Budget", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
2527
2524
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-sm text-muted-foreground", children: "$" }),
2528
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Input, { type: "number", step: "0.01", min: "0.01", max: "100", value: maxBudget, onChange: (e) => setMaxBudget(e.target.value), className: "pl-6", disabled: saving })
2525
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Input, { type: "number", step: "0.01", min: "0.01", max: "100", value: maxBudget, onChange: (e) => setMaxBudget(e.target.value), className: "pl-6", disabled: saving })
2529
2526
  ] }) }) }),
2530
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Max Runtime", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
2531
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Input, { type: "number", min: "1", max: "60", value: maxRuntime, onChange: (e) => setMaxRuntime(e.target.value), className: "pr-10", disabled: saving }),
2527
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Max Runtime", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
2528
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Input, { type: "number", min: "1", max: "60", value: maxRuntime, onChange: (e) => setMaxRuntime(e.target.value), className: "pr-10", disabled: saving }),
2532
2529
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute right-3 top-1/2 -translate-y-1/2 text-sm text-muted-foreground", children: "min" })
2533
2530
  ] }) }) }),
2534
- chunkVBGYWQUF_cjs.supportsClaudeRunner(model) && (runner === "" || runner === "claude-agent-sdk") && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-3", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Permission Mode", children: /* @__PURE__ */ jsxRuntime.jsxs(Select, { value: permissionMode, onChange: (e) => setPermissionMode(e.target.value), disabled: saving, children: [
2531
+ chunkXXF4U7WL_cjs.supportsClaudeRunner(model) && (runner === "" || runner === "claude-agent-sdk") && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-3", children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Permission Mode", children: /* @__PURE__ */ jsxRuntime.jsxs(Select, { value: permissionMode, onChange: (e) => setPermissionMode(e.target.value), disabled: saving, children: [
2535
2532
  /* @__PURE__ */ jsxRuntime.jsx("option", { value: "default", children: "default" }),
2536
2533
  /* @__PURE__ */ jsxRuntime.jsx("option", { value: "acceptEdits", children: "acceptEdits" }),
2537
2534
  /* @__PURE__ */ jsxRuntime.jsx("option", { value: "bypassPermissions", children: "bypassPermissions" }),
2538
2535
  /* @__PURE__ */ jsxRuntime.jsx("option", { value: "plan", children: "plan" })
2539
2536
  ] }) }) })
2540
- ] }),
2541
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
2542
- /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.FormField, { label: "SOUL.md", children: [
2543
- /* @__PURE__ */ jsxRuntime.jsx(
2544
- Textarea,
2545
- {
2546
- value: soulMd,
2547
- onChange: (e) => setSoulMd(e.target.value),
2548
- placeholder: "## Voice & Tone\nDirect, concise, technical.\n\n## Values\nClarity over completeness.\n\n## Stance\nProactive problem-solver.\n\n## Boundaries\n- Never modify production data directly\n\n## Essence\nA focused engineering assistant.",
2549
- rows: 10,
2550
- className: "font-mono text-sm",
2551
- disabled: saving
2552
- }
2553
- ),
2554
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs text-muted-foreground mt-1 block", children: [
2555
- soulMd.split(/\s+/).filter(Boolean).length,
2556
- " words"
2557
- ] })
2558
- ] }) }),
2559
- /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.FormField, { label: "IDENTITY.md", children: [
2560
- /* @__PURE__ */ jsxRuntime.jsx(
2561
- Textarea,
2562
- {
2563
- value: identityMd,
2564
- onChange: (e) => setIdentityMd(e.target.value),
2565
- placeholder: "- **Communication Verbosity:** concise\n- **Communication Tone:** direct\n- **Decision Autonomy:** high\n- **Risk Tolerance:** moderate\n- **Collaboration Mode:** autonomous\n\n## Escalation Preferences\n- Budget over $50 -> escalate\n- Breaking changes -> escalate",
2566
- rows: 10,
2567
- className: "font-mono text-sm",
2568
- disabled: saving
2569
- }
2570
- ),
2571
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs text-muted-foreground mt-1 block", children: [
2572
- identityMd.split(/\s+/).filter(Boolean).length,
2573
- " words"
2574
- ] })
2575
- ] }) })
2576
2537
  ] })
2577
2538
  ] }) })
2578
2539
  ] });
2579
2540
  }
2580
2541
  function ToolkitMultiselect({ value, onChange }) {
2581
- const client = chunkVBGYWQUF_cjs.useAgentPlaneClient();
2542
+ const client = chunkXXF4U7WL_cjs.useAgentPlaneClient();
2582
2543
  const [open, setOpen] = React.useState(false);
2583
2544
  const [search, setSearch] = React.useState("");
2584
2545
  const [toolkits, setToolkits] = React.useState([]);
@@ -2704,7 +2665,7 @@ function ToolsModal({
2704
2665
  onOpenChange,
2705
2666
  onSave
2706
2667
  }) {
2707
- const client = chunkVBGYWQUF_cjs.useAgentPlaneClient();
2668
+ const client = chunkXXF4U7WL_cjs.useAgentPlaneClient();
2708
2669
  const [tools, setTools] = React.useState([]);
2709
2670
  const [loading, setLoading] = React.useState(false);
2710
2671
  const [search, setSearch] = React.useState("");
@@ -2762,20 +2723,20 @@ function ToolsModal({
2762
2723
  setSaving(false);
2763
2724
  }
2764
2725
  }
2765
- return /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogContent, { className: "max-w-lg", children: [
2766
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogHeader, { children: [
2767
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogTitle, { className: "capitalize flex items-center gap-2", children: [
2726
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogContent, { className: "max-w-lg", children: [
2727
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogHeader, { children: [
2728
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogTitle, { className: "capitalize flex items-center gap-2", children: [
2768
2729
  toolkitLogo && /* @__PURE__ */ jsxRuntime.jsx("img", { src: toolkitLogo, alt: "", className: "w-5 h-5 rounded-sm object-contain flex-shrink-0" }),
2769
2730
  toolkit,
2770
2731
  " Tools"
2771
2732
  ] }),
2772
- !loading && /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogDescription, { children: [
2733
+ !loading && /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogDescription, { children: [
2773
2734
  tools.length,
2774
2735
  " tools available"
2775
2736
  ] })
2776
2737
  ] }),
2777
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogBody, { className: "space-y-3", children: [
2778
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Input, { placeholder: "Search tools...", value: search, onChange: (e) => setSearch(e.target.value), className: "h-8 text-sm" }),
2738
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogBody, { className: "space-y-3", children: [
2739
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Input, { placeholder: "Search tools...", value: search, onChange: (e) => setSearch(e.target.value), className: "h-8 text-sm" }),
2779
2740
  loading ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground py-4 text-center", children: "Loading tools..." }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2780
2741
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between text-xs text-muted-foreground", children: [
2781
2742
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: selected.size === 0 ? "All tools (no filter)" : `${selected.size} / ${tools.length} selected` }),
@@ -2793,9 +2754,9 @@ function ToolsModal({
2793
2754
  ] })
2794
2755
  ] })
2795
2756
  ] }),
2796
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogFooter, { children: [
2797
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { size: "sm", variant: "outline", onClick: () => onOpenChange(false), children: "Cancel" }),
2798
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { size: "sm", onClick: handleSave, disabled: saving || loading, children: saving ? "Saving..." : "Save" })
2757
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogFooter, { children: [
2758
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { size: "sm", variant: "outline", onClick: () => onOpenChange(false), children: "Cancel" }),
2759
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { size: "sm", onClick: handleSave, disabled: saving || loading, children: saving ? "Saving..." : "Save" })
2799
2760
  ] })
2800
2761
  ] }) });
2801
2762
  }
@@ -2809,7 +2770,7 @@ function McpToolsModal({
2809
2770
  onOpenChange,
2810
2771
  onSave
2811
2772
  }) {
2812
- const client = chunkVBGYWQUF_cjs.useAgentPlaneClient();
2773
+ const client = chunkXXF4U7WL_cjs.useAgentPlaneClient();
2813
2774
  const [tools, setTools] = React.useState([]);
2814
2775
  const [loading, setLoading] = React.useState(false);
2815
2776
  const [search, setSearch] = React.useState("");
@@ -2869,20 +2830,20 @@ function McpToolsModal({
2869
2830
  setSaving(false);
2870
2831
  }
2871
2832
  }
2872
- return /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogContent, { className: "max-w-lg", children: [
2873
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogHeader, { children: [
2874
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogTitle, { className: "flex items-center gap-2", children: [
2833
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogContent, { className: "max-w-lg", children: [
2834
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogHeader, { children: [
2835
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogTitle, { className: "flex items-center gap-2", children: [
2875
2836
  serverLogo && /* @__PURE__ */ jsxRuntime.jsx("img", { src: serverLogo, alt: "", className: "w-5 h-5 rounded-sm object-contain flex-shrink-0" }),
2876
2837
  serverName,
2877
2838
  " Tools"
2878
2839
  ] }),
2879
- !loading && !error && /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogDescription, { children: [
2840
+ !loading && !error && /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogDescription, { children: [
2880
2841
  tools.length,
2881
2842
  " tools available"
2882
2843
  ] })
2883
2844
  ] }),
2884
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogBody, { className: "space-y-3", children: [
2885
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Input, { placeholder: "Search tools...", value: search, onChange: (e) => setSearch(e.target.value), className: "h-8 text-sm" }),
2845
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogBody, { className: "space-y-3", children: [
2846
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Input, { placeholder: "Search tools...", value: search, onChange: (e) => setSearch(e.target.value), className: "h-8 text-sm" }),
2886
2847
  loading ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground py-4 text-center", children: "Loading tools..." }) : error ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-destructive py-4 text-center", children: error }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2887
2848
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between text-xs text-muted-foreground", children: [
2888
2849
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: selected.size === 0 ? "All tools (no filter)" : `${selected.size} / ${tools.length} selected` }),
@@ -2900,14 +2861,14 @@ function McpToolsModal({
2900
2861
  ] })
2901
2862
  ] })
2902
2863
  ] }),
2903
- /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogFooter, { children: [
2904
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { size: "sm", variant: "outline", onClick: () => onOpenChange(false), children: "Cancel" }),
2905
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { size: "sm", onClick: handleSave, disabled: saving || loading, children: saving ? "Saving..." : "Save" })
2864
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogFooter, { children: [
2865
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { size: "sm", variant: "outline", onClick: () => onOpenChange(false), children: "Cancel" }),
2866
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { size: "sm", onClick: handleSave, disabled: saving || loading, children: saving ? "Saving..." : "Save" })
2906
2867
  ] })
2907
2868
  ] }) });
2908
2869
  }
2909
2870
  function AgentConnectorsManager({ agentId, toolkits: initialToolkits, composioAllowedTools: initialAllowedTools, onChanged }) {
2910
- const client = chunkVBGYWQUF_cjs.useAgentPlaneClient();
2871
+ const client = chunkXXF4U7WL_cjs.useAgentPlaneClient();
2911
2872
  const [localToolkits, setLocalToolkits] = React.useState(initialToolkits);
2912
2873
  const [connectors, setConnectors] = React.useState([]);
2913
2874
  const [loading, setLoading] = React.useState(true);
@@ -3154,7 +3115,7 @@ function AgentConnectorsManager({ agentId, toolkits: initialToolkits, composioAl
3154
3115
  ),
3155
3116
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-muted-foreground/25 p-5", children: [
3156
3117
  /* @__PURE__ */ jsxRuntime.jsx(SectionHeader, { title: "Connectors", children: /* @__PURE__ */ jsxRuntime.jsx(
3157
- chunkVBGYWQUF_cjs.Button,
3118
+ chunkXXF4U7WL_cjs.Button,
3158
3119
  {
3159
3120
  size: "sm",
3160
3121
  variant: "outline",
@@ -3173,11 +3134,11 @@ function AgentConnectorsManager({ agentId, toolkits: initialToolkits, composioAl
3173
3134
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 min-w-0", children: [
3174
3135
  s.logo_url && /* @__PURE__ */ jsxRuntime.jsx("img", { src: s.logo_url, alt: "", className: "w-5 h-5 rounded-sm object-contain flex-shrink-0" }),
3175
3136
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium truncate", children: s.name }),
3176
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "outline", className: "text-xs flex-shrink-0 ml-auto", children: s.slug })
3137
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "outline", className: "text-xs flex-shrink-0 ml-auto", children: s.slug })
3177
3138
  ] }),
3178
3139
  s.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground truncate", children: s.description }),
3179
3140
  /* @__PURE__ */ jsxRuntime.jsx(
3180
- chunkVBGYWQUF_cjs.Button,
3141
+ chunkXXF4U7WL_cjs.Button,
3181
3142
  {
3182
3143
  size: "sm",
3183
3144
  variant: "outline",
@@ -3189,8 +3150,8 @@ function AgentConnectorsManager({ agentId, toolkits: initialToolkits, composioAl
3189
3150
  )
3190
3151
  ] }, s.id)) }),
3191
3152
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
3192
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { size: "sm", variant: "ghost", onClick: () => setShowAdd(false), children: "Cancel" }),
3193
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { size: "sm", onClick: handleApplyAdd, disabled: applyingToolkits, children: applyingToolkits ? "Saving..." : "Apply" })
3153
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { size: "sm", variant: "ghost", onClick: () => setShowAdd(false), children: "Cancel" }),
3154
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { size: "sm", onClick: handleApplyAdd, disabled: applyingToolkits, children: applyingToolkits ? "Saving..." : "Apply" })
3194
3155
  ] })
3195
3156
  ] }),
3196
3157
  isAllLoading ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "Loading..." }) : isEmpty ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "No connectors added. Click Add to configure connectors." }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-3 gap-3", children: [
@@ -3198,7 +3159,7 @@ function AgentConnectorsManager({ agentId, toolkits: initialToolkits, composioAl
3198
3159
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
3199
3160
  c.logo && /* @__PURE__ */ jsxRuntime.jsx("img", { src: c.logo, alt: "", className: "w-5 h-5 rounded-sm object-contain flex-shrink-0" }),
3200
3161
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium truncate flex-1", children: c.name }),
3201
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: schemeBadgeVariant(c.authScheme ?? c.auth_scheme), className: "text-xs flex-shrink-0", children: c.authScheme ?? c.auth_scheme }),
3162
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: schemeBadgeVariant(c.authScheme ?? c.auth_scheme), className: "text-xs flex-shrink-0", children: c.authScheme ?? c.auth_scheme }),
3202
3163
  /* @__PURE__ */ jsxRuntime.jsx(
3203
3164
  "button",
3204
3165
  {
@@ -3230,7 +3191,7 @@ function AgentConnectorsManager({ agentId, toolkits: initialToolkits, composioAl
3230
3191
  (c.authScheme ?? c.auth_scheme) === "API_KEY" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1 mt-auto", children: [
3231
3192
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
3232
3193
  /* @__PURE__ */ jsxRuntime.jsx(
3233
- chunkVBGYWQUF_cjs.Input,
3194
+ chunkXXF4U7WL_cjs.Input,
3234
3195
  {
3235
3196
  type: "password",
3236
3197
  placeholder: c.connected || c.connectionStatus === "ACTIVE" ? "Update API key\u2026" : "Enter API key\u2026",
@@ -3240,7 +3201,7 @@ function AgentConnectorsManager({ agentId, toolkits: initialToolkits, composioAl
3240
3201
  }
3241
3202
  ),
3242
3203
  /* @__PURE__ */ jsxRuntime.jsx(
3243
- chunkVBGYWQUF_cjs.Button,
3204
+ chunkXXF4U7WL_cjs.Button,
3244
3205
  {
3245
3206
  size: "sm",
3246
3207
  variant: "outline",
@@ -3253,14 +3214,14 @@ function AgentConnectorsManager({ agentId, toolkits: initialToolkits, composioAl
3253
3214
  ] }),
3254
3215
  /* @__PURE__ */ jsxRuntime.jsx(FormError, { error: errors[c.slug] })
3255
3216
  ] }),
3256
- ((c.authScheme ?? c.auth_scheme) === "OAUTH2" || (c.authScheme ?? c.auth_scheme) === "OAUTH1") && c.connectionStatus !== "ACTIVE" && !c.connected && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { size: "sm", variant: "outline", className: "h-7 text-xs w-full mt-auto", onClick: () => handleComposioOauth(c.slug), children: "Connect" }),
3257
- ((c.authScheme ?? c.auth_scheme) === "OAUTH2" || (c.authScheme ?? c.auth_scheme) === "OAUTH1") && (c.connectionStatus === "ACTIVE" || c.connected) && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { size: "sm", variant: "ghost", className: "h-7 text-xs text-muted-foreground w-full mt-auto", onClick: () => handleComposioOauth(c.slug), children: "Reconnect" })
3217
+ ((c.authScheme ?? c.auth_scheme) === "OAUTH2" || (c.authScheme ?? c.auth_scheme) === "OAUTH1") && c.connectionStatus !== "ACTIVE" && !c.connected && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { size: "sm", variant: "outline", className: "h-7 text-xs w-full mt-auto", onClick: () => handleComposioOauth(c.slug), children: "Connect" }),
3218
+ ((c.authScheme ?? c.auth_scheme) === "OAUTH2" || (c.authScheme ?? c.auth_scheme) === "OAUTH1") && (c.connectionStatus === "ACTIVE" || c.connected) && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { size: "sm", variant: "ghost", className: "h-7 text-xs text-muted-foreground w-full mt-auto", onClick: () => handleComposioOauth(c.slug), children: "Reconnect" })
3258
3219
  ] }, `composio-${c.slug}`)),
3259
3220
  mcpConnections.map((c) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-border p-3 flex flex-col gap-2", children: [
3260
3221
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
3261
3222
  c.server_logo_url && /* @__PURE__ */ jsxRuntime.jsx("img", { src: c.server_logo_url, alt: "", className: "w-5 h-5 rounded-sm object-contain flex-shrink-0" }),
3262
3223
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium truncate flex-1", children: c.server_name }),
3263
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "outline", className: "text-xs flex-shrink-0", children: c.server_slug }),
3224
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "outline", className: "text-xs flex-shrink-0", children: c.server_slug }),
3264
3225
  /* @__PURE__ */ jsxRuntime.jsx(
3265
3226
  "button",
3266
3227
  {
@@ -3283,7 +3244,7 @@ function AgentConnectorsManager({ agentId, toolkits: initialToolkits, composioAl
3283
3244
  }
3284
3245
  ),
3285
3246
  (c.status === "expired" || c.status === "failed") && /* @__PURE__ */ jsxRuntime.jsx(
3286
- chunkVBGYWQUF_cjs.Button,
3247
+ chunkXXF4U7WL_cjs.Button,
3287
3248
  {
3288
3249
  size: "sm",
3289
3250
  variant: "ghost",
@@ -3340,7 +3301,7 @@ function buildTree(files) {
3340
3301
  if (existing) return existing;
3341
3302
  const parts = dirPath.split("/");
3342
3303
  const node = {
3343
- name: parts[parts.length - 1],
3304
+ name: parts[parts.length - 1] ?? dirPath,
3344
3305
  fullPath: dirPath,
3345
3306
  children: [],
3346
3307
  files: []
@@ -3390,7 +3351,7 @@ function collectAllDirPaths(nodes) {
3390
3351
  nodes.forEach(walk);
3391
3352
  return paths;
3392
3353
  }
3393
- function FileTreeEditor({
3354
+ function FileTreeEditor2({
3394
3355
  initialFiles,
3395
3356
  onSave,
3396
3357
  onChange,
@@ -3559,7 +3520,7 @@ function FileTreeEditor({
3559
3520
  }),
3560
3521
  !readOnly && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { paddingLeft: `${(depth + 1) * 16 + 8}px` }, className: "py-1 pr-2", children: addingFileInDir === node.fullPath ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
3561
3522
  /* @__PURE__ */ jsxRuntime.jsx(
3562
- chunkVBGYWQUF_cjs.Input,
3523
+ chunkXXF4U7WL_cjs.Input,
3563
3524
  {
3564
3525
  value: newFileName,
3565
3526
  onChange: (e) => setNewFileName(e.target.value),
@@ -3569,7 +3530,7 @@ function FileTreeEditor({
3569
3530
  autoFocus: true
3570
3531
  }
3571
3532
  ),
3572
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { onClick: () => addFileInDir(node.fullPath), size: "sm", className: "h-6 text-xs px-2", children: "+" })
3533
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { onClick: () => addFileInDir(node.fullPath), size: "sm", className: "h-6 text-xs px-2", children: "+" })
3573
3534
  ] }) : /* @__PURE__ */ jsxRuntime.jsx(
3574
3535
  "button",
3575
3536
  {
@@ -3588,10 +3549,10 @@ function FileTreeEditor({
3588
3549
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-3", children: [
3589
3550
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
3590
3551
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-lg font-semibold", children: title }),
3591
- isDirty && !readOnly && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "destructive", className: "text-xs", children: "Unsaved changes" }),
3592
- readOnly && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "secondary", className: "text-xs", children: "Read-only" })
3552
+ isDirty && !readOnly && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "destructive", className: "text-xs", children: "Unsaved changes" }),
3553
+ readOnly && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "secondary", className: "text-xs", children: "Read-only" })
3593
3554
  ] }),
3594
- !readOnly && !hideSave && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { onClick: handleSave, disabled: saving || !isDirty, size: "sm", children: saving ? "Saving..." : saveLabel })
3555
+ !readOnly && !hideSave && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { onClick: handleSave, disabled: saving || !isDirty, size: "sm", children: saving ? "Saving..." : saveLabel })
3595
3556
  ] }),
3596
3557
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-4 min-h-[500px]", children: [
3597
3558
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-64 shrink-0 border border-border rounded-md overflow-hidden", children: [
@@ -3611,7 +3572,7 @@ function FileTreeEditor({
3611
3572
  ] }),
3612
3573
  showAddFolder && !readOnly && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-2 border-b border-border flex gap-1", children: [
3613
3574
  /* @__PURE__ */ jsxRuntime.jsx(
3614
- chunkVBGYWQUF_cjs.Input,
3575
+ chunkXXF4U7WL_cjs.Input,
3615
3576
  {
3616
3577
  value: newFolderName,
3617
3578
  onChange: (e) => setNewFolderName(e.target.value),
@@ -3621,7 +3582,7 @@ function FileTreeEditor({
3621
3582
  autoFocus: true
3622
3583
  }
3623
3584
  ),
3624
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { onClick: addFolder, size: "sm", className: "h-7 text-xs px-2", children: "Add" })
3585
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { onClick: addFolder, size: "sm", className: "h-7 text-xs px-2", children: "Add" })
3625
3586
  ] }),
3626
3587
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-sm overflow-y-auto", children: [
3627
3588
  tree.rootFiles.map((file) => /* @__PURE__ */ jsxRuntime.jsxs(
@@ -3669,7 +3630,7 @@ function FileTreeEditor({
3669
3630
  ] });
3670
3631
  }
3671
3632
  function AgentSkillManager({ agentId, initialSkills, onSaved }) {
3672
- const client = chunkVBGYWQUF_cjs.useAgentPlaneClient();
3633
+ const client = chunkXXF4U7WL_cjs.useAgentPlaneClient();
3673
3634
  const initialFiles = React.useMemo(
3674
3635
  () => initialSkills.flatMap(
3675
3636
  (s) => s.files.map((f) => ({
@@ -3700,7 +3661,7 @@ function AgentSkillManager({ agentId, initialSkills, onSaved }) {
3700
3661
  onSaved?.();
3701
3662
  }, [agentId, client, onSaved]);
3702
3663
  return /* @__PURE__ */ jsxRuntime.jsx(
3703
- FileTreeEditor,
3664
+ FileTreeEditor2,
3704
3665
  {
3705
3666
  initialFiles,
3706
3667
  onSave: handleSave,
@@ -3715,7 +3676,7 @@ function AgentSkillManager({ agentId, initialSkills, onSaved }) {
3715
3676
  );
3716
3677
  }
3717
3678
  function AgentPluginManager({ agentId, initialPlugins, onSaved }) {
3718
- const client = chunkVBGYWQUF_cjs.useAgentPlaneClient();
3679
+ const client = chunkXXF4U7WL_cjs.useAgentPlaneClient();
3719
3680
  const [plugins, setPlugins] = React.useState(initialPlugins);
3720
3681
  const [saving, setSaving] = React.useState(false);
3721
3682
  const [dialogOpen, setDialogOpen] = React.useState(false);
@@ -3788,10 +3749,10 @@ function AgentPluginManager({ agentId, initialPlugins, onSaved }) {
3788
3749
  }
3789
3750
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-muted-foreground/25 p-5", children: [
3790
3751
  /* @__PURE__ */ jsxRuntime.jsx(SectionHeader, { title: "Plugins", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
3791
- isDirty && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "destructive", className: "text-xs", children: "Unsaved changes" }),
3752
+ isDirty && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "destructive", className: "text-xs", children: "Unsaved changes" }),
3792
3753
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
3793
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { variant: "outline", size: "sm", onClick: () => setDialogOpen(true), children: "Add Plugins" }),
3794
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { onClick: handleSave, disabled: saving || !isDirty, size: "sm", children: saving ? "Saving..." : "Save Plugins" })
3754
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { variant: "outline", size: "sm", onClick: () => setDialogOpen(true), children: "Add Plugins" }),
3755
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { onClick: handleSave, disabled: saving || !isDirty, size: "sm", children: saving ? "Saving..." : "Save Plugins" })
3795
3756
  ] })
3796
3757
  ] }) }),
3797
3758
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
@@ -3808,7 +3769,7 @@ function AgentPluginManager({ agentId, initialPlugins, onSaved }) {
3808
3769
  ] })
3809
3770
  ] }),
3810
3771
  /* @__PURE__ */ jsxRuntime.jsx(
3811
- chunkVBGYWQUF_cjs.Button,
3772
+ chunkXXF4U7WL_cjs.Button,
3812
3773
  {
3813
3774
  variant: "ghost",
3814
3775
  size: "sm",
@@ -3821,11 +3782,11 @@ function AgentPluginManager({ agentId, initialPlugins, onSaved }) {
3821
3782
  },
3822
3783
  `${p.marketplace_id}:${p.plugin_name}`
3823
3784
  )) }),
3824
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Dialog, { open: dialogOpen, onOpenChange: setDialogOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkVBGYWQUF_cjs.DialogContent, { className: "max-w-lg max-h-[80vh] flex flex-col", children: [
3825
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.DialogTitle, { children: "Add Plugins" }) }),
3826
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.DialogBody, { className: "flex-1 overflow-hidden flex flex-col gap-3", children: marketplaces.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "No plugin marketplaces registered. Add one from the Plugin Marketplaces page first." }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3785
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Dialog, { open: dialogOpen, onOpenChange: setDialogOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkXXF4U7WL_cjs.DialogContent, { className: "max-w-lg max-h-[80vh] flex flex-col", children: [
3786
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.DialogTitle, { children: "Add Plugins" }) }),
3787
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.DialogBody, { className: "flex-1 overflow-hidden flex flex-col gap-3", children: marketplaces.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "No plugin marketplaces registered. Add one from the Plugin Marketplaces page first." }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3827
3788
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-2 flex-wrap", children: marketplaces.map((m) => /* @__PURE__ */ jsxRuntime.jsx(
3828
- chunkVBGYWQUF_cjs.Button,
3789
+ chunkXXF4U7WL_cjs.Button,
3829
3790
  {
3830
3791
  size: "sm",
3831
3792
  variant: selectedMarketplace === m.id ? "default" : "outline",
@@ -3852,9 +3813,9 @@ function AgentPluginManager({ agentId, initialPlugins, onSaved }) {
3852
3813
  ] }),
3853
3814
  ap.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground truncate", children: ap.description }),
3854
3815
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1 mt-1", children: [
3855
- ap.hasAgents && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "secondary", className: "text-[10px] px-1 py-0", children: "Agents" }),
3856
- ap.hasSkills && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "secondary", className: "text-[10px] px-1 py-0", children: "Skills" }),
3857
- ap.hasMcpJson && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Badge, { variant: "secondary", className: "text-[10px] px-1 py-0", children: "MCP" })
3816
+ ap.hasAgents && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "secondary", className: "text-[10px] px-1 py-0", children: "Agents" }),
3817
+ ap.hasSkills && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "secondary", className: "text-[10px] px-1 py-0", children: "Skills" }),
3818
+ ap.hasMcpJson && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Badge, { variant: "secondary", className: "text-[10px] px-1 py-0", children: "MCP" })
3858
3819
  ] })
3859
3820
  ] }),
3860
3821
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: `w-4 h-4 rounded border flex items-center justify-center shrink-0 ${enabled ? "bg-primary border-primary text-primary-foreground" : "border-muted-foreground"}`, children: enabled && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs", children: "\u2713" }) })
@@ -3864,20 +3825,20 @@ function AgentPluginManager({ agentId, initialPlugins, onSaved }) {
3864
3825
  );
3865
3826
  }) })
3866
3827
  ] }) }),
3867
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.DialogFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { size: "sm", onClick: () => setDialogOpen(false), children: "Done" }) })
3828
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.DialogFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { size: "sm", onClick: () => setDialogOpen(false), children: "Done" }) })
3868
3829
  ] }) })
3869
3830
  ] })
3870
3831
  ] });
3871
3832
  }
3872
3833
  function AgentRuns({ agentId }) {
3873
- const { LinkComponent, basePath } = chunkVBGYWQUF_cjs.useNavigation();
3874
- const { data, error, isLoading } = chunkVBGYWQUF_cjs.useApi(
3834
+ const { LinkComponent, basePath } = chunkXXF4U7WL_cjs.useNavigation();
3835
+ const { data, error, isLoading } = chunkVZ43ATC5_cjs.useApi(
3875
3836
  `agent-runs-${agentId}`,
3876
3837
  (client) => client.runs.list({ agent_id: agentId, limit: 50 })
3877
3838
  );
3878
3839
  const runs = data?.data ?? [];
3879
3840
  if (isLoading) {
3880
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-10 w-full" }, i)) });
3841
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-10 w-full" }, i)) });
3881
3842
  }
3882
3843
  if (error) {
3883
3844
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-destructive text-sm py-4 text-center", children: [
@@ -3929,7 +3890,7 @@ function AgentA2aInfo({
3929
3890
  initialTags,
3930
3891
  onChanged
3931
3892
  }) {
3932
- const client = chunkVBGYWQUF_cjs.useAgentPlaneClient();
3893
+ const client = chunkXXF4U7WL_cjs.useAgentPlaneClient();
3933
3894
  const [enabled, setEnabled] = React.useState(initialEnabled);
3934
3895
  const [toggling, setToggling] = React.useState(false);
3935
3896
  const [detailsOpen, setDetailsOpen] = React.useState(false);
@@ -4098,7 +4059,7 @@ function AgentA2aInfo({
4098
4059
  ] })
4099
4060
  ] }),
4100
4061
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4101
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { variant: "outline", size: "sm", onClick: fetchAgentCard, disabled: loading, children: loading ? "Loading..." : cardPreview ? "Hide Agent Card" : "Agent Card" }),
4062
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { variant: "outline", size: "sm", onClick: fetchAgentCard, disabled: loading, children: loading ? "Loading..." : cardPreview ? "Hide Agent Card" : "Agent Card" }),
4102
4063
  cardPreview && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-3 relative", children: [
4103
4064
  /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "rounded bg-muted p-4 text-xs font-mono text-foreground overflow-x-auto max-h-96", children: cardPreview }),
4104
4065
  /* @__PURE__ */ jsxRuntime.jsx(CopyButton, { text: cardPreview, className: "absolute top-2 right-2" })
@@ -4108,11 +4069,12 @@ function AgentA2aInfo({
4108
4069
  ] })
4109
4070
  ] });
4110
4071
  }
4072
+ var AgentIdentityTab = React.lazy(() => import('./agent-identity-tab-F4MU2HP2.cjs').then((m) => ({ default: m.AgentIdentityTab })));
4111
4073
  function AgentDetailPage({ agentId, a2aBaseUrl, tenantSlug }) {
4112
- const { LinkComponent, basePath } = chunkVBGYWQUF_cjs.useNavigation();
4074
+ const { LinkComponent, basePath } = chunkXXF4U7WL_cjs.useNavigation();
4113
4075
  const { mutate } = swr.useSWRConfig();
4114
4076
  const cacheKey = `agent-${agentId}`;
4115
- const { data: agent, error, isLoading } = chunkVBGYWQUF_cjs.useApi(
4077
+ const { data: agent, error, isLoading } = chunkVZ43ATC5_cjs.useApi(
4116
4078
  cacheKey,
4117
4079
  (client) => client.agents.get(agentId)
4118
4080
  );
@@ -4121,9 +4083,9 @@ function AgentDetailPage({ agentId, a2aBaseUrl, tenantSlug }) {
4121
4083
  }, [mutate, cacheKey]);
4122
4084
  if (isLoading) {
4123
4085
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
4124
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-9 w-40" }),
4125
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-6 gap-4", children: [1, 2, 3, 4, 5, 6].map((i) => /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-20" }, i)) }),
4126
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-64 w-full" })
4086
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-9 w-40" }),
4087
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-6 gap-4", children: [1, 2, 3, 4, 5, 6].map((i) => /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-20" }, i)) }),
4088
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-64 w-full" })
4127
4089
  ] });
4128
4090
  }
4129
4091
  if (error) {
@@ -4137,7 +4099,7 @@ function AgentDetailPage({ agentId, a2aBaseUrl, tenantSlug }) {
4137
4099
  LinkComponent,
4138
4100
  {
4139
4101
  href: `${basePath}/agents/${agentId}/playground`,
4140
- className: chunkVBGYWQUF_cjs.buttonVariants({ variant: "outline", size: "sm" }),
4102
+ className: chunkXXF4U7WL_cjs.buttonVariants({ variant: "outline", size: "sm" }),
4141
4103
  children: "Open Playground"
4142
4104
  }
4143
4105
  ) }),
@@ -4177,6 +4139,10 @@ function AgentDetailPage({ agentId, a2aBaseUrl, tenantSlug }) {
4177
4139
  )
4178
4140
  ] })
4179
4141
  },
4142
+ {
4143
+ label: "Identity",
4144
+ content: /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-64 w-full" }), children: /* @__PURE__ */ jsxRuntime.jsx(AgentIdentityTab, { agent, FileTreeEditor: chunkVZ43ATC5_cjs.FileTreeEditor, onSaved: invalidate }) })
4145
+ },
4180
4146
  {
4181
4147
  label: "Connectors",
4182
4148
  content: /* @__PURE__ */ jsxRuntime.jsx(
@@ -4272,7 +4238,7 @@ function ScheduleCard({
4272
4238
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded border border-muted-foreground/15 p-4 space-y-3", children: [
4273
4239
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-3", children: [
4274
4240
  /* @__PURE__ */ jsxRuntime.jsx(
4275
- chunkVBGYWQUF_cjs.Input,
4241
+ chunkXXF4U7WL_cjs.Input,
4276
4242
  {
4277
4243
  value: name,
4278
4244
  onChange: (e) => setName(e.target.value),
@@ -4301,7 +4267,7 @@ function ScheduleCard({
4301
4267
  ] }) })
4302
4268
  ] }),
4303
4269
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
4304
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Frequency", children: /* @__PURE__ */ jsxRuntime.jsx(
4270
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Frequency", children: /* @__PURE__ */ jsxRuntime.jsx(
4305
4271
  Select,
4306
4272
  {
4307
4273
  value: frequency,
@@ -4314,15 +4280,15 @@ function ScheduleCard({
4314
4280
  children: FREQUENCIES.map((f) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: f.value, children: f.label }, f.value))
4315
4281
  }
4316
4282
  ) }),
4317
- showTimePicker && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: `Time (${timezone})`, children: /* @__PURE__ */ jsxRuntime.jsx(
4318
- chunkVBGYWQUF_cjs.Input,
4283
+ showTimePicker && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: `Time (${timezone})`, children: /* @__PURE__ */ jsxRuntime.jsx(
4284
+ chunkXXF4U7WL_cjs.Input,
4319
4285
  {
4320
4286
  type: "time",
4321
4287
  value: time,
4322
4288
  onChange: (e) => setTime(e.target.value)
4323
4289
  }
4324
4290
  ) }),
4325
- showDayPicker && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Day of Week", children: /* @__PURE__ */ jsxRuntime.jsx(
4291
+ showDayPicker && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Day of Week", children: /* @__PURE__ */ jsxRuntime.jsx(
4326
4292
  Select,
4327
4293
  {
4328
4294
  value: dayOfWeek.toString(),
@@ -4331,7 +4297,7 @@ function ScheduleCard({
4331
4297
  }
4332
4298
  ) })
4333
4299
  ] }),
4334
- frequency !== "manual" && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.FormField, { label: "Prompt", children: /* @__PURE__ */ jsxRuntime.jsx(
4300
+ frequency !== "manual" && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.FormField, { label: "Prompt", children: /* @__PURE__ */ jsxRuntime.jsx(
4335
4301
  Textarea,
4336
4302
  {
4337
4303
  value: prompt,
@@ -4516,9 +4482,9 @@ function renderEvent(event, idx) {
4516
4482
  }
4517
4483
  var TERMINAL_STATUSES = /* @__PURE__ */ new Set(["completed", "failed", "cancelled", "timed_out"]);
4518
4484
  function PlaygroundPage({ agentId }) {
4519
- const client = chunkVBGYWQUF_cjs.useAgentPlaneClient();
4520
- const { LinkComponent, basePath } = chunkVBGYWQUF_cjs.useNavigation();
4521
- const { data: agent, error: agentError, isLoading } = chunkVBGYWQUF_cjs.useApi(
4485
+ const client = chunkXXF4U7WL_cjs.useAgentPlaneClient();
4486
+ const { LinkComponent, basePath } = chunkXXF4U7WL_cjs.useNavigation();
4487
+ const { data: agent, error: agentError, isLoading } = chunkVZ43ATC5_cjs.useApi(
4522
4488
  `agent-${agentId}`,
4523
4489
  (c) => c.agents.get(agentId)
4524
4490
  );
@@ -4710,13 +4676,13 @@ function PlaygroundPage({ agentId }) {
4710
4676
  if (isLoading) {
4711
4677
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col h-[calc(100vh-6rem)]", children: [
4712
4678
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 mb-4", children: [
4713
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-8 w-24" }),
4714
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-4 w-40" })
4679
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-8 w-24" }),
4680
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-4 w-40" })
4715
4681
  ] }),
4716
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "flex-1 rounded-lg" }),
4682
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "flex-1 rounded-lg" }),
4717
4683
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-4 space-y-2", children: [
4718
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-24 w-full rounded-lg" }),
4719
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Skeleton, { className: "h-8 w-20" })
4684
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-24 w-full rounded-lg" }),
4685
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVZ43ATC5_cjs.Skeleton, { className: "h-8 w-20" })
4720
4686
  ] })
4721
4687
  ] });
4722
4688
  }
@@ -4747,7 +4713,7 @@ function PlaygroundPage({ agentId }) {
4747
4713
  ]
4748
4714
  }
4749
4715
  ),
4750
- (sessionId || events.length > 0) && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { onClick: handleNewChat, variant: "outline", size: "sm", disabled: running, children: "New Chat" }),
4716
+ (sessionId || events.length > 0) && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { onClick: handleNewChat, variant: "outline", size: "sm", disabled: running, children: "New Chat" }),
4751
4717
  sessionId && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs text-muted-foreground font-mono", children: [
4752
4718
  "Session: ",
4753
4719
  sessionId.slice(0, 12),
@@ -4785,113 +4751,113 @@ function PlaygroundPage({ agentId }) {
4785
4751
  }
4786
4752
  ),
4787
4753
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
4788
- /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { onClick: handleSend, disabled: running || !prompt.trim(), size: "sm", children: running ? "Running\u2026" : sessionId ? "Send" : "Run" }),
4789
- running && /* @__PURE__ */ jsxRuntime.jsx(chunkVBGYWQUF_cjs.Button, { onClick: handleStop, variant: "outline", size: "sm", children: "Stop" }),
4754
+ /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { onClick: handleSend, disabled: running || !prompt.trim(), size: "sm", children: running ? "Running\u2026" : sessionId ? "Send" : "Run" }),
4755
+ running && /* @__PURE__ */ jsxRuntime.jsx(chunkXXF4U7WL_cjs.Button, { onClick: handleStop, variant: "outline", size: "sm", children: "Stop" }),
4790
4756
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground ml-1", children: "\u2318+Enter to send" })
4791
4757
  ] })
4792
4758
  ] })
4793
4759
  ] });
4794
4760
  }
4795
4761
 
4796
- Object.defineProperty(exports, "AgentPlaneProvider", {
4762
+ Object.defineProperty(exports, "Card", {
4797
4763
  enumerable: true,
4798
- get: function () { return chunkVBGYWQUF_cjs.AgentPlaneProvider; }
4764
+ get: function () { return chunkVZ43ATC5_cjs.Card; }
4799
4765
  });
4800
- Object.defineProperty(exports, "Badge", {
4766
+ Object.defineProperty(exports, "CardContent", {
4801
4767
  enumerable: true,
4802
- get: function () { return chunkVBGYWQUF_cjs.Badge; }
4768
+ get: function () { return chunkVZ43ATC5_cjs.CardContent; }
4803
4769
  });
4804
- Object.defineProperty(exports, "Button", {
4770
+ Object.defineProperty(exports, "CardDescription", {
4805
4771
  enumerable: true,
4806
- get: function () { return chunkVBGYWQUF_cjs.Button; }
4772
+ get: function () { return chunkVZ43ATC5_cjs.CardDescription; }
4807
4773
  });
4808
- Object.defineProperty(exports, "Card", {
4774
+ Object.defineProperty(exports, "CardHeader", {
4809
4775
  enumerable: true,
4810
- get: function () { return chunkVBGYWQUF_cjs.Card; }
4776
+ get: function () { return chunkVZ43ATC5_cjs.CardHeader; }
4811
4777
  });
4812
- Object.defineProperty(exports, "CardContent", {
4778
+ Object.defineProperty(exports, "CardTitle", {
4813
4779
  enumerable: true,
4814
- get: function () { return chunkVBGYWQUF_cjs.CardContent; }
4780
+ get: function () { return chunkVZ43ATC5_cjs.CardTitle; }
4815
4781
  });
4816
- Object.defineProperty(exports, "CardDescription", {
4782
+ Object.defineProperty(exports, "Skeleton", {
4817
4783
  enumerable: true,
4818
- get: function () { return chunkVBGYWQUF_cjs.CardDescription; }
4784
+ get: function () { return chunkVZ43ATC5_cjs.Skeleton; }
4819
4785
  });
4820
- Object.defineProperty(exports, "CardHeader", {
4786
+ Object.defineProperty(exports, "useApi", {
4821
4787
  enumerable: true,
4822
- get: function () { return chunkVBGYWQUF_cjs.CardHeader; }
4788
+ get: function () { return chunkVZ43ATC5_cjs.useApi; }
4823
4789
  });
4824
- Object.defineProperty(exports, "CardTitle", {
4790
+ Object.defineProperty(exports, "AgentPlaneProvider", {
4791
+ enumerable: true,
4792
+ get: function () { return chunkXXF4U7WL_cjs.AgentPlaneProvider; }
4793
+ });
4794
+ Object.defineProperty(exports, "Badge", {
4795
+ enumerable: true,
4796
+ get: function () { return chunkXXF4U7WL_cjs.Badge; }
4797
+ });
4798
+ Object.defineProperty(exports, "Button", {
4825
4799
  enumerable: true,
4826
- get: function () { return chunkVBGYWQUF_cjs.CardTitle; }
4800
+ get: function () { return chunkXXF4U7WL_cjs.Button; }
4827
4801
  });
4828
4802
  Object.defineProperty(exports, "Dialog", {
4829
4803
  enumerable: true,
4830
- get: function () { return chunkVBGYWQUF_cjs.Dialog; }
4804
+ get: function () { return chunkXXF4U7WL_cjs.Dialog; }
4831
4805
  });
4832
4806
  Object.defineProperty(exports, "DialogBody", {
4833
4807
  enumerable: true,
4834
- get: function () { return chunkVBGYWQUF_cjs.DialogBody; }
4808
+ get: function () { return chunkXXF4U7WL_cjs.DialogBody; }
4835
4809
  });
4836
4810
  Object.defineProperty(exports, "DialogContent", {
4837
4811
  enumerable: true,
4838
- get: function () { return chunkVBGYWQUF_cjs.DialogContent; }
4812
+ get: function () { return chunkXXF4U7WL_cjs.DialogContent; }
4839
4813
  });
4840
4814
  Object.defineProperty(exports, "DialogDescription", {
4841
4815
  enumerable: true,
4842
- get: function () { return chunkVBGYWQUF_cjs.DialogDescription; }
4816
+ get: function () { return chunkXXF4U7WL_cjs.DialogDescription; }
4843
4817
  });
4844
4818
  Object.defineProperty(exports, "DialogFooter", {
4845
4819
  enumerable: true,
4846
- get: function () { return chunkVBGYWQUF_cjs.DialogFooter; }
4820
+ get: function () { return chunkXXF4U7WL_cjs.DialogFooter; }
4847
4821
  });
4848
4822
  Object.defineProperty(exports, "DialogHeader", {
4849
4823
  enumerable: true,
4850
- get: function () { return chunkVBGYWQUF_cjs.DialogHeader; }
4824
+ get: function () { return chunkXXF4U7WL_cjs.DialogHeader; }
4851
4825
  });
4852
4826
  Object.defineProperty(exports, "DialogTitle", {
4853
4827
  enumerable: true,
4854
- get: function () { return chunkVBGYWQUF_cjs.DialogTitle; }
4828
+ get: function () { return chunkXXF4U7WL_cjs.DialogTitle; }
4855
4829
  });
4856
4830
  Object.defineProperty(exports, "FormField", {
4857
4831
  enumerable: true,
4858
- get: function () { return chunkVBGYWQUF_cjs.FormField; }
4832
+ get: function () { return chunkXXF4U7WL_cjs.FormField; }
4859
4833
  });
4860
4834
  Object.defineProperty(exports, "Input", {
4861
4835
  enumerable: true,
4862
- get: function () { return chunkVBGYWQUF_cjs.Input; }
4863
- });
4864
- Object.defineProperty(exports, "Skeleton", {
4865
- enumerable: true,
4866
- get: function () { return chunkVBGYWQUF_cjs.Skeleton; }
4836
+ get: function () { return chunkXXF4U7WL_cjs.Input; }
4867
4837
  });
4868
4838
  Object.defineProperty(exports, "badgeVariants", {
4869
4839
  enumerable: true,
4870
- get: function () { return chunkVBGYWQUF_cjs.badgeVariants; }
4840
+ get: function () { return chunkXXF4U7WL_cjs.badgeVariants; }
4871
4841
  });
4872
4842
  Object.defineProperty(exports, "buttonVariants", {
4873
4843
  enumerable: true,
4874
- get: function () { return chunkVBGYWQUF_cjs.buttonVariants; }
4844
+ get: function () { return chunkXXF4U7WL_cjs.buttonVariants; }
4875
4845
  });
4876
4846
  Object.defineProperty(exports, "cn", {
4877
4847
  enumerable: true,
4878
- get: function () { return chunkVBGYWQUF_cjs.cn; }
4848
+ get: function () { return chunkXXF4U7WL_cjs.cn; }
4879
4849
  });
4880
4850
  Object.defineProperty(exports, "useAgentPlaneClient", {
4881
4851
  enumerable: true,
4882
- get: function () { return chunkVBGYWQUF_cjs.useAgentPlaneClient; }
4883
- });
4884
- Object.defineProperty(exports, "useApi", {
4885
- enumerable: true,
4886
- get: function () { return chunkVBGYWQUF_cjs.useApi; }
4852
+ get: function () { return chunkXXF4U7WL_cjs.useAgentPlaneClient; }
4887
4853
  });
4888
4854
  Object.defineProperty(exports, "useAuthError", {
4889
4855
  enumerable: true,
4890
- get: function () { return chunkVBGYWQUF_cjs.useAuthError; }
4856
+ get: function () { return chunkXXF4U7WL_cjs.useAuthError; }
4891
4857
  });
4892
4858
  Object.defineProperty(exports, "useNavigation", {
4893
4859
  enumerable: true,
4894
- get: function () { return chunkVBGYWQUF_cjs.useNavigation; }
4860
+ get: function () { return chunkXXF4U7WL_cjs.useNavigation; }
4895
4861
  });
4896
4862
  exports.AdminTable = AdminTable;
4897
4863
  exports.AdminTableHead = AdminTableHead;