@getcatalystiq/agent-plane-ui 0.1.12 → 0.1.13
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/chunk-HMB7OKXO.js +201 -0
- package/dist/chunk-TZGIXZON.cjs +242 -0
- package/dist/editor.cjs +551 -0
- package/dist/editor.d.cts +30 -1
- package/dist/editor.d.ts +30 -1
- package/dist/editor.js +545 -0
- package/dist/index.cjs +590 -458
- package/dist/index.d.cts +12 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +306 -223
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkTZGIXZON_cjs = require('./chunk-TZGIXZON.cjs');
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var tailwindMerge = require('tailwind-merge');
|
|
8
|
-
var classVarianceAuthority = require('class-variance-authority');
|
|
5
|
+
var React3 = require('react');
|
|
6
|
+
var swr = require('swr');
|
|
9
7
|
var ReactMarkdown = require('react-markdown');
|
|
10
8
|
var cmdk = require('cmdk');
|
|
11
9
|
var Popover = require('@radix-ui/react-popover');
|
|
@@ -31,198 +29,9 @@ function _interopNamespace(e) {
|
|
|
31
29
|
}
|
|
32
30
|
|
|
33
31
|
var React3__namespace = /*#__PURE__*/_interopNamespace(React3);
|
|
34
|
-
var useSWR__default = /*#__PURE__*/_interopDefault(useSWR);
|
|
35
32
|
var ReactMarkdown__default = /*#__PURE__*/_interopDefault(ReactMarkdown);
|
|
36
33
|
var Popover__namespace = /*#__PURE__*/_interopNamespace(Popover);
|
|
37
34
|
|
|
38
|
-
// src/provider.tsx
|
|
39
|
-
var ClientContext = React3.createContext(null);
|
|
40
|
-
var NavigationContext = React3.createContext(
|
|
41
|
-
null
|
|
42
|
-
);
|
|
43
|
-
function DefaultLink({ href, children, className }) {
|
|
44
|
-
return /* @__PURE__ */ jsxRuntime.jsx("a", { href, className, children });
|
|
45
|
-
}
|
|
46
|
-
function AgentPlaneProvider({
|
|
47
|
-
client,
|
|
48
|
-
onNavigate,
|
|
49
|
-
LinkComponent = DefaultLink,
|
|
50
|
-
onAuthError,
|
|
51
|
-
basePath = "",
|
|
52
|
-
children
|
|
53
|
-
}) {
|
|
54
|
-
const clientRef = React3.useRef(client);
|
|
55
|
-
clientRef.current = client;
|
|
56
|
-
const onAuthErrorRef = React3.useRef(onAuthError);
|
|
57
|
-
onAuthErrorRef.current = onAuthError;
|
|
58
|
-
const clientValue = React3.useMemo(
|
|
59
|
-
() => ({
|
|
60
|
-
// Expose a stable object whose `.client` always points to the latest ref.
|
|
61
|
-
get client() {
|
|
62
|
-
return clientRef.current;
|
|
63
|
-
},
|
|
64
|
-
get onAuthError() {
|
|
65
|
-
return onAuthErrorRef.current;
|
|
66
|
-
}
|
|
67
|
-
}),
|
|
68
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps -- intentionally stable
|
|
69
|
-
[]
|
|
70
|
-
);
|
|
71
|
-
const navigationValue = React3.useMemo(
|
|
72
|
-
() => ({
|
|
73
|
-
onNavigate,
|
|
74
|
-
LinkComponent,
|
|
75
|
-
basePath
|
|
76
|
-
}),
|
|
77
|
-
[onNavigate, LinkComponent, basePath]
|
|
78
|
-
);
|
|
79
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ClientContext.Provider, { value: clientValue, children: /* @__PURE__ */ jsxRuntime.jsx(NavigationContext.Provider, { value: navigationValue, children }) });
|
|
80
|
-
}
|
|
81
|
-
function useAgentPlaneClient() {
|
|
82
|
-
const ctx = React3.useContext(ClientContext);
|
|
83
|
-
if (!ctx) {
|
|
84
|
-
throw new Error(
|
|
85
|
-
"useAgentPlaneClient must be used within an <AgentPlaneProvider>"
|
|
86
|
-
);
|
|
87
|
-
}
|
|
88
|
-
return ctx.client;
|
|
89
|
-
}
|
|
90
|
-
function useAuthError() {
|
|
91
|
-
const ctx = React3.useContext(ClientContext);
|
|
92
|
-
if (!ctx) {
|
|
93
|
-
throw new Error(
|
|
94
|
-
"useAuthError must be used within an <AgentPlaneProvider>"
|
|
95
|
-
);
|
|
96
|
-
}
|
|
97
|
-
return ctx.onAuthError;
|
|
98
|
-
}
|
|
99
|
-
function useNavigation() {
|
|
100
|
-
const ctx = React3.useContext(NavigationContext);
|
|
101
|
-
if (!ctx) {
|
|
102
|
-
throw new Error(
|
|
103
|
-
"useNavigation must be used within an <AgentPlaneProvider>"
|
|
104
|
-
);
|
|
105
|
-
}
|
|
106
|
-
return ctx;
|
|
107
|
-
}
|
|
108
|
-
function useApi(key, fetcher, options) {
|
|
109
|
-
const client = useAgentPlaneClient();
|
|
110
|
-
const onAuthError = useAuthError();
|
|
111
|
-
return useSWR__default.default(
|
|
112
|
-
key,
|
|
113
|
-
() => fetcher(client),
|
|
114
|
-
{
|
|
115
|
-
revalidateOnFocus: false,
|
|
116
|
-
errorRetryCount: 3,
|
|
117
|
-
onError: (err) => {
|
|
118
|
-
if (onAuthError && err && typeof err === "object" && "status" in err && err.status === 401) {
|
|
119
|
-
onAuthError(err instanceof Error ? err : new Error(String(err)));
|
|
120
|
-
}
|
|
121
|
-
},
|
|
122
|
-
...options
|
|
123
|
-
}
|
|
124
|
-
);
|
|
125
|
-
}
|
|
126
|
-
function cn(...inputs) {
|
|
127
|
-
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
128
|
-
}
|
|
129
|
-
function supportsClaudeRunner(model) {
|
|
130
|
-
return !model.includes("/") || model.startsWith("anthropic/");
|
|
131
|
-
}
|
|
132
|
-
var buttonVariants = classVarianceAuthority.cva(
|
|
133
|
-
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
134
|
-
{
|
|
135
|
-
variants: {
|
|
136
|
-
variant: {
|
|
137
|
-
default: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
|
|
138
|
-
destructive: "bg-destructive text-white shadow-sm hover:bg-destructive/90",
|
|
139
|
-
outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
|
|
140
|
-
secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
|
|
141
|
-
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
142
|
-
link: "text-primary underline-offset-4 hover:underline"
|
|
143
|
-
},
|
|
144
|
-
size: {
|
|
145
|
-
default: "h-9 px-4 py-2",
|
|
146
|
-
sm: "h-8 rounded-md px-3 text-xs",
|
|
147
|
-
lg: "h-10 rounded-md px-8",
|
|
148
|
-
icon: "h-9 w-9"
|
|
149
|
-
}
|
|
150
|
-
},
|
|
151
|
-
defaultVariants: {
|
|
152
|
-
variant: "default",
|
|
153
|
-
size: "default"
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
);
|
|
157
|
-
var Button = React3__namespace.forwardRef(
|
|
158
|
-
({ className, variant, size, ...props }, ref) => {
|
|
159
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
160
|
-
"button",
|
|
161
|
-
{
|
|
162
|
-
className: cn(buttonVariants({ variant, size, className })),
|
|
163
|
-
ref,
|
|
164
|
-
...props
|
|
165
|
-
}
|
|
166
|
-
);
|
|
167
|
-
}
|
|
168
|
-
);
|
|
169
|
-
Button.displayName = "Button";
|
|
170
|
-
var Card = React3__namespace.forwardRef(
|
|
171
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("rounded-xl border bg-card text-card-foreground shadow", className), ...props })
|
|
172
|
-
);
|
|
173
|
-
Card.displayName = "Card";
|
|
174
|
-
var CardHeader = React3__namespace.forwardRef(
|
|
175
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
|
|
176
|
-
);
|
|
177
|
-
CardHeader.displayName = "CardHeader";
|
|
178
|
-
var CardTitle = React3__namespace.forwardRef(
|
|
179
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("font-semibold leading-none tracking-tight", className), ...props })
|
|
180
|
-
);
|
|
181
|
-
CardTitle.displayName = "CardTitle";
|
|
182
|
-
var CardDescription = React3__namespace.forwardRef(
|
|
183
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
|
|
184
|
-
);
|
|
185
|
-
CardDescription.displayName = "CardDescription";
|
|
186
|
-
var CardContent = React3__namespace.forwardRef(
|
|
187
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("p-6 pt-0", className), ...props })
|
|
188
|
-
);
|
|
189
|
-
CardContent.displayName = "CardContent";
|
|
190
|
-
var badgeVariants = classVarianceAuthority.cva(
|
|
191
|
-
"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
|
192
|
-
{
|
|
193
|
-
variants: {
|
|
194
|
-
variant: {
|
|
195
|
-
default: "border-transparent bg-primary text-primary-foreground shadow",
|
|
196
|
-
secondary: "border-transparent bg-secondary text-secondary-foreground",
|
|
197
|
-
destructive: "border-transparent bg-destructive text-white shadow",
|
|
198
|
-
outline: "text-foreground"
|
|
199
|
-
}
|
|
200
|
-
},
|
|
201
|
-
defaultVariants: {
|
|
202
|
-
variant: "default"
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
);
|
|
206
|
-
function Badge({ className, variant, ...props }) {
|
|
207
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(badgeVariants({ variant }), className), ...props });
|
|
208
|
-
}
|
|
209
|
-
var Input = React3__namespace.forwardRef(
|
|
210
|
-
({ className, type, ...props }, ref) => {
|
|
211
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
212
|
-
"input",
|
|
213
|
-
{
|
|
214
|
-
type,
|
|
215
|
-
className: cn(
|
|
216
|
-
"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
|
|
217
|
-
className
|
|
218
|
-
),
|
|
219
|
-
ref,
|
|
220
|
-
...props
|
|
221
|
-
}
|
|
222
|
-
);
|
|
223
|
-
}
|
|
224
|
-
);
|
|
225
|
-
Input.displayName = "Input";
|
|
226
35
|
function Select({ className = "", ...props }) {
|
|
227
36
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative w-full", children: [
|
|
228
37
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -244,7 +53,7 @@ var Textarea = React3__namespace.forwardRef(
|
|
|
244
53
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
245
54
|
"textarea",
|
|
246
55
|
{
|
|
247
|
-
className: cn(
|
|
56
|
+
className: chunkTZGIXZON_cjs.cn(
|
|
248
57
|
"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",
|
|
249
58
|
className
|
|
250
59
|
),
|
|
@@ -268,7 +77,7 @@ function FormError({ error }) {
|
|
|
268
77
|
return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-destructive", children: error });
|
|
269
78
|
}
|
|
270
79
|
function SectionHeader({ title, children, className }) {
|
|
271
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center justify-between mb-3", className), children: [
|
|
80
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkTZGIXZON_cjs.cn("flex items-center justify-between mb-3", className), children: [
|
|
272
81
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-lg font-semibold", children: title }),
|
|
273
82
|
children
|
|
274
83
|
] });
|
|
@@ -291,17 +100,14 @@ function DetailPageHeader({ backHref, backLabel, title, actions, badge, subtitle
|
|
|
291
100
|
subtitle && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1", children: subtitle })
|
|
292
101
|
] });
|
|
293
102
|
}
|
|
294
|
-
function Skeleton({ className, ...props }) {
|
|
295
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("animate-pulse rounded-md bg-muted/50", className), ...props });
|
|
296
|
-
}
|
|
297
103
|
function MetricCard({ label, children, className }) {
|
|
298
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Card, { className, children: [
|
|
299
|
-
/* @__PURE__ */ jsxRuntime.jsx(CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle, { className: "text-sm font-medium text-muted-foreground", children: label }) }),
|
|
300
|
-
/* @__PURE__ */ jsxRuntime.jsx(CardContent, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-bold", children }) })
|
|
104
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkTZGIXZON_cjs.Card, { className, children: [
|
|
105
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.CardTitle, { className: "text-sm font-medium text-muted-foreground", children: label }) }),
|
|
106
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-bold", children }) })
|
|
301
107
|
] });
|
|
302
108
|
}
|
|
303
109
|
function AdminTable({ children, footer, className }) {
|
|
304
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("rounded-lg border border-border", className), children: [
|
|
110
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkTZGIXZON_cjs.cn("rounded-lg border border-border", className), children: [
|
|
305
111
|
/* @__PURE__ */ jsxRuntime.jsx("table", { className: "w-full text-sm", children }),
|
|
306
112
|
footer
|
|
307
113
|
] });
|
|
@@ -310,10 +116,10 @@ function AdminTableHead({ children }) {
|
|
|
310
116
|
return /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsx("tr", { className: "border-b border-border bg-muted/50", children }) });
|
|
311
117
|
}
|
|
312
118
|
function Th({ children, className, align = "left" }) {
|
|
313
|
-
return /* @__PURE__ */ jsxRuntime.jsx("th", { className: cn("p-3 font-medium", align === "right" ? "text-right" : "text-left", className), children });
|
|
119
|
+
return /* @__PURE__ */ jsxRuntime.jsx("th", { className: chunkTZGIXZON_cjs.cn("p-3 font-medium", align === "right" ? "text-right" : "text-left", className), children });
|
|
314
120
|
}
|
|
315
121
|
function AdminTableRow({ children, className }) {
|
|
316
|
-
return /* @__PURE__ */ jsxRuntime.jsx("tr", { className: cn("border-b border-border hover:bg-muted/30 transition-colors", className), children });
|
|
122
|
+
return /* @__PURE__ */ jsxRuntime.jsx("tr", { className: chunkTZGIXZON_cjs.cn("border-b border-border hover:bg-muted/30 transition-colors", className), children });
|
|
317
123
|
}
|
|
318
124
|
function EmptyRow({ colSpan, children = "No results found" }) {
|
|
319
125
|
return /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan, className: "p-8 text-center text-muted-foreground", children }) });
|
|
@@ -437,7 +243,7 @@ function DialogContent({ className, children, ...props }) {
|
|
|
437
243
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
438
244
|
"div",
|
|
439
245
|
{
|
|
440
|
-
className: cn(
|
|
246
|
+
className: chunkTZGIXZON_cjs.cn(
|
|
441
247
|
"relative z-10 w-full bg-background border border-border rounded-xl shadow-2xl mx-4 max-h-[85vh] overflow-y-auto animate-dialog-content",
|
|
442
248
|
className
|
|
443
249
|
),
|
|
@@ -448,26 +254,26 @@ function DialogContent({ className, children, ...props }) {
|
|
|
448
254
|
);
|
|
449
255
|
}
|
|
450
256
|
function DialogHeader({ className, children, ...props }) {
|
|
451
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("px-6 pt-6 pb-0", className), ...props, children });
|
|
257
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkTZGIXZON_cjs.cn("px-6 pt-6 pb-0", className), ...props, children });
|
|
452
258
|
}
|
|
453
259
|
function DialogBody({ className, children, ...props }) {
|
|
454
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("px-6 py-4", className), ...props, children });
|
|
260
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkTZGIXZON_cjs.cn("px-6 py-4", className), ...props, children });
|
|
455
261
|
}
|
|
456
262
|
function DialogFooter({ className, children, ...props }) {
|
|
457
263
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
458
264
|
"div",
|
|
459
265
|
{
|
|
460
|
-
className: cn("flex items-center justify-end gap-2 px-6 py-4 border-t border-border bg-muted/30 rounded-b-xl", className),
|
|
266
|
+
className: chunkTZGIXZON_cjs.cn("flex items-center justify-end gap-2 px-6 py-4 border-t border-border bg-muted/30 rounded-b-xl", className),
|
|
461
267
|
...props,
|
|
462
268
|
children
|
|
463
269
|
}
|
|
464
270
|
);
|
|
465
271
|
}
|
|
466
272
|
function DialogTitle({ className, children, ...props }) {
|
|
467
|
-
return /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-base font-semibold", className), ...props, children });
|
|
273
|
+
return /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkTZGIXZON_cjs.cn("text-base font-semibold", className), ...props, children });
|
|
468
274
|
}
|
|
469
275
|
function DialogDescription({ className, children, ...props }) {
|
|
470
|
-
return /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm text-muted-foreground mt-1", className), ...props, children });
|
|
276
|
+
return /* @__PURE__ */ jsxRuntime.jsx("p", { className: chunkTZGIXZON_cjs.cn("text-sm text-muted-foreground mt-1", className), ...props, children });
|
|
471
277
|
}
|
|
472
278
|
function ConfirmDialog({
|
|
473
279
|
open,
|
|
@@ -488,8 +294,8 @@ function ConfirmDialog({
|
|
|
488
294
|
error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-destructive mt-3", children: error })
|
|
489
295
|
] }),
|
|
490
296
|
/* @__PURE__ */ jsxRuntime.jsxs(DialogFooter, { children: [
|
|
491
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", variant: "outline", onClick: () => onOpenChange(false), disabled: loading, children: "Cancel" }),
|
|
492
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", variant, onClick: onConfirm, disabled: loading, children: loading ? loadingLabel : confirmLabel })
|
|
297
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { size: "sm", variant: "outline", onClick: () => onOpenChange(false), disabled: loading, children: "Cancel" }),
|
|
298
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { size: "sm", variant, onClick: onConfirm, disabled: loading, children: loading ? loadingLabel : confirmLabel })
|
|
493
299
|
] })
|
|
494
300
|
] }) });
|
|
495
301
|
}
|
|
@@ -521,7 +327,7 @@ function CopyButton({ text, className = "" }) {
|
|
|
521
327
|
}
|
|
522
328
|
function RunStatusBadge({ status }) {
|
|
523
329
|
const variant = status === "completed" ? "default" : status === "running" ? "secondary" : status === "failed" || status === "timed_out" ? "destructive" : "outline";
|
|
524
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant, children: status.replace("_", " ") });
|
|
330
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant, children: status.replace("_", " ") });
|
|
525
331
|
}
|
|
526
332
|
var STYLES = {
|
|
527
333
|
schedule: "bg-blue-500/10 text-blue-400",
|
|
@@ -546,8 +352,8 @@ function LocalDate({ value, fallback = "\u2014" }) {
|
|
|
546
352
|
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: new Date(value).toLocaleString() });
|
|
547
353
|
}
|
|
548
354
|
function DashboardPage({ initialData, chartComponent: ChartComponent }) {
|
|
549
|
-
const { LinkComponent, basePath } = useNavigation();
|
|
550
|
-
const { data, error, isLoading } = useApi(
|
|
355
|
+
const { LinkComponent, basePath } = chunkTZGIXZON_cjs.useNavigation();
|
|
356
|
+
const { data, error, isLoading } = chunkTZGIXZON_cjs.useApi(
|
|
551
357
|
"dashboard",
|
|
552
358
|
async (client) => {
|
|
553
359
|
const [stats2, daily_stats2] = await Promise.all([
|
|
@@ -566,10 +372,10 @@ function DashboardPage({ initialData, chartComponent: ChartComponent }) {
|
|
|
566
372
|
}
|
|
567
373
|
if (isLoading || !data) {
|
|
568
374
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
569
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-4 gap-4", children: Array.from({ length: 4 }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-24 rounded-lg" }, i)) }),
|
|
375
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-4 gap-4", children: Array.from({ length: 4 }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-24 rounded-lg" }, i)) }),
|
|
570
376
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
571
|
-
/* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-64 rounded-lg" }),
|
|
572
|
-
/* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-64 rounded-lg" })
|
|
377
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-64 rounded-lg" }),
|
|
378
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-64 rounded-lg" })
|
|
573
379
|
] })
|
|
574
380
|
] });
|
|
575
381
|
}
|
|
@@ -597,12 +403,12 @@ var SOURCES = [
|
|
|
597
403
|
];
|
|
598
404
|
var VALID_SOURCES = SOURCES.filter((s) => s.value).map((s) => s.value);
|
|
599
405
|
function RunListPage({ initialData }) {
|
|
600
|
-
const { LinkComponent, basePath } = useNavigation();
|
|
406
|
+
const { LinkComponent, basePath } = chunkTZGIXZON_cjs.useNavigation();
|
|
601
407
|
const [page, setPage] = React3.useState(1);
|
|
602
408
|
const [pageSize, setPageSize] = React3.useState(20);
|
|
603
409
|
const [sourceFilter, setSourceFilter] = React3.useState(null);
|
|
604
410
|
const cacheKey = `runs-${page}-${pageSize}-${sourceFilter || "all"}`;
|
|
605
|
-
const { data, error, isLoading } = useApi(
|
|
411
|
+
const { data, error, isLoading } = chunkTZGIXZON_cjs.useApi(
|
|
606
412
|
cacheKey,
|
|
607
413
|
(client) => {
|
|
608
414
|
return client.runs.list({
|
|
@@ -633,8 +439,8 @@ function RunListPage({ initialData }) {
|
|
|
633
439
|
}
|
|
634
440
|
if (isLoading || !data) {
|
|
635
441
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
636
|
-
/* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-9 w-40" }),
|
|
637
|
-
/* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-96 rounded-lg" })
|
|
442
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-9 w-40" }),
|
|
443
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-96 rounded-lg" })
|
|
638
444
|
] });
|
|
639
445
|
}
|
|
640
446
|
const runs = data.data;
|
|
@@ -795,9 +601,9 @@ function buildConversation(events) {
|
|
|
795
601
|
}
|
|
796
602
|
function TranscriptViewer({ transcript, prompt }) {
|
|
797
603
|
const conversation = React3.useMemo(() => buildConversation(transcript), [transcript]);
|
|
798
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Card, { children: [
|
|
799
|
-
/* @__PURE__ */ jsxRuntime.jsx(CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle, { className: "text-base", children: "Transcript" }) }),
|
|
800
|
-
/* @__PURE__ */ jsxRuntime.jsxs(CardContent, { className: "space-y-3", children: [
|
|
604
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkTZGIXZON_cjs.Card, { children: [
|
|
605
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.CardTitle, { className: "text-base", children: "Transcript" }) }),
|
|
606
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkTZGIXZON_cjs.CardContent, { className: "space-y-3", children: [
|
|
801
607
|
prompt && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-md border border-border bg-muted/20 px-4 py-3", children: [
|
|
802
608
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs font-medium text-muted-foreground mb-1", children: "Prompt" }),
|
|
803
609
|
/* @__PURE__ */ jsxRuntime.jsx("pre", { className: "text-xs font-mono whitespace-pre-wrap", children: prompt })
|
|
@@ -835,7 +641,7 @@ function A2AIncomingItem({ item }) {
|
|
|
835
641
|
onClick: () => setExpanded(!expanded),
|
|
836
642
|
className: "w-full flex items-center gap-2 px-4 py-2 text-left hover:bg-muted/50 transition-colors",
|
|
837
643
|
children: [
|
|
838
|
-
/* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "outline", className: "text-[10px]", children: "A2A incoming" }),
|
|
644
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "outline", className: "text-[10px]", children: "A2A incoming" }),
|
|
839
645
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs text-muted-foreground", children: [
|
|
840
646
|
"to ",
|
|
841
647
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-foreground", children: item.sender })
|
|
@@ -856,7 +662,7 @@ function SystemItem({ item }) {
|
|
|
856
662
|
const [expanded, setExpanded] = React3.useState(false);
|
|
857
663
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-md border border-border bg-muted/30 overflow-hidden", children: [
|
|
858
664
|
/* @__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: [
|
|
859
|
-
/* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "outline", className: "text-[10px]", children: "system" }),
|
|
665
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "outline", className: "text-[10px]", children: "system" }),
|
|
860
666
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs text-muted-foreground flex-1", children: [
|
|
861
667
|
"Model: ",
|
|
862
668
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono", children: item.model }),
|
|
@@ -891,7 +697,7 @@ function AssistantItem({ item }) {
|
|
|
891
697
|
onClick: () => setExpanded(!expanded),
|
|
892
698
|
className: "w-full flex items-center gap-2 px-4 py-2 text-left hover:bg-muted/30 transition-colors",
|
|
893
699
|
children: [
|
|
894
|
-
/* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "outline", className: "text-[10px]", children: "assistant" }),
|
|
700
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "outline", className: "text-[10px]", children: "assistant" }),
|
|
895
701
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground truncate flex-1", children: preview }),
|
|
896
702
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground flex-shrink-0", children: expanded ? "\u25B2" : "\u25BC" })
|
|
897
703
|
]
|
|
@@ -910,9 +716,9 @@ function ToolItem({ item }) {
|
|
|
910
716
|
onClick: () => setExpanded(!expanded),
|
|
911
717
|
className: "w-full flex items-center gap-2 px-4 py-2 text-left hover:bg-muted/30 transition-colors",
|
|
912
718
|
children: [
|
|
913
|
-
/* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", className: "text-[10px]", children: "tool" }),
|
|
719
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "secondary", className: "text-[10px]", children: "tool" }),
|
|
914
720
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium font-mono", children: item.toolName }),
|
|
915
|
-
hasOutput && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "outline", className: "text-[10px] ml-auto", children: "has output" }),
|
|
721
|
+
hasOutput && /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "outline", className: "text-[10px] ml-auto", children: "has output" }),
|
|
916
722
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", children: expanded ? "\u25B2" : "\u25BC" })
|
|
917
723
|
]
|
|
918
724
|
}
|
|
@@ -951,18 +757,18 @@ function ResultItem({ item }) {
|
|
|
951
757
|
}
|
|
952
758
|
function ErrorItem({ item }) {
|
|
953
759
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-md border border-destructive/30 bg-destructive/5 px-4 py-3", children: [
|
|
954
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "destructive", className: "text-[10px]", children: "error" }) }),
|
|
760
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "destructive", className: "text-[10px]", children: "error" }) }),
|
|
955
761
|
/* @__PURE__ */ jsxRuntime.jsx("pre", { className: "mt-1 text-xs font-mono text-destructive whitespace-pre-wrap", children: item.error })
|
|
956
762
|
] });
|
|
957
763
|
}
|
|
958
764
|
function RunDetailPage({ runId, initialData, initialTranscript }) {
|
|
959
|
-
const { mutate } =
|
|
960
|
-
const { data: run, error, isLoading } = useApi(
|
|
765
|
+
const { mutate } = swr.useSWRConfig();
|
|
766
|
+
const { data: run, error, isLoading } = chunkTZGIXZON_cjs.useApi(
|
|
961
767
|
`run-${runId}`,
|
|
962
768
|
(client) => client.runs.get(runId),
|
|
963
769
|
initialData ? { fallbackData: initialData } : void 0
|
|
964
770
|
);
|
|
965
|
-
const { data: transcript } = useApi(
|
|
771
|
+
const { data: transcript } = chunkTZGIXZON_cjs.useApi(
|
|
966
772
|
run?.transcript_blob_url ? `transcript-${runId}` : null,
|
|
967
773
|
(client) => client.runs.transcriptArray(runId),
|
|
968
774
|
initialTranscript ? { fallbackData: initialTranscript } : void 0
|
|
@@ -975,14 +781,14 @@ function RunDetailPage({ runId, initialData, initialTranscript }) {
|
|
|
975
781
|
}
|
|
976
782
|
if (isLoading || !run) {
|
|
977
783
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
978
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-4 gap-4", children: Array.from({ length: 4 }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-24 rounded-lg" }, i)) }),
|
|
979
|
-
/* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-96 rounded-lg" })
|
|
784
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-4 gap-4", children: Array.from({ length: 4 }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-24 rounded-lg" }, i)) }),
|
|
785
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-96 rounded-lg" })
|
|
980
786
|
] });
|
|
981
787
|
}
|
|
982
788
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
983
789
|
(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}`) }) }),
|
|
984
790
|
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: [
|
|
985
|
-
/* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "outline", className: "text-[10px]", children: "A2A" }),
|
|
791
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "outline", className: "text-[10px]", children: "A2A" }),
|
|
986
792
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
987
793
|
"Requested by ",
|
|
988
794
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-foreground", children: run.requested_by_key_name })
|
|
@@ -1013,15 +819,15 @@ function RunDetailPage({ runId, initialData, initialTranscript }) {
|
|
|
1013
819
|
] })
|
|
1014
820
|
] })
|
|
1015
821
|
] }),
|
|
1016
|
-
run.error_messages && run.error_messages.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(Card, { children: [
|
|
1017
|
-
/* @__PURE__ */ jsxRuntime.jsx(CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle, { className: "text-base text-destructive", children: "Errors" }) }),
|
|
1018
|
-
/* @__PURE__ */ jsxRuntime.jsxs(CardContent, { className: "space-y-2", children: [
|
|
1019
|
-
run.error_type && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "destructive", children: run.error_type }),
|
|
822
|
+
run.error_messages && run.error_messages.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(chunkTZGIXZON_cjs.Card, { children: [
|
|
823
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.CardTitle, { className: "text-base text-destructive", children: "Errors" }) }),
|
|
824
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkTZGIXZON_cjs.CardContent, { className: "space-y-2", children: [
|
|
825
|
+
run.error_type && /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "destructive", children: run.error_type }),
|
|
1020
826
|
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))
|
|
1021
827
|
] })
|
|
1022
828
|
] }),
|
|
1023
829
|
/* @__PURE__ */ jsxRuntime.jsx(TranscriptViewer, { transcript: transcript || [], prompt: run.prompt }),
|
|
1024
|
-
/* @__PURE__ */ jsxRuntime.jsx(Card, { children: /* @__PURE__ */ jsxRuntime.jsxs("details", { children: [
|
|
830
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Card, { children: /* @__PURE__ */ jsxRuntime.jsxs("details", { children: [
|
|
1025
831
|
/* @__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: [
|
|
1026
832
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-base font-semibold", children: "Metadata" }),
|
|
1027
833
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", children: "\\u25BC" })
|
|
@@ -1048,7 +854,7 @@ function RunDetailPage({ runId, initialData, initialTranscript }) {
|
|
|
1048
854
|
function CancelRunButton({ runId, onCancelled }) {
|
|
1049
855
|
const [open, setOpen] = React3.useState(false);
|
|
1050
856
|
const [cancelling, setCancelling] = React3.useState(false);
|
|
1051
|
-
const client = useAgentPlaneClient();
|
|
857
|
+
const client = chunkTZGIXZON_cjs.useAgentPlaneClient();
|
|
1052
858
|
async function handleConfirm() {
|
|
1053
859
|
setCancelling(true);
|
|
1054
860
|
try {
|
|
@@ -1062,7 +868,7 @@ function CancelRunButton({ runId, onCancelled }) {
|
|
|
1062
868
|
}
|
|
1063
869
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1064
870
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1065
|
-
Button,
|
|
871
|
+
chunkTZGIXZON_cjs.Button,
|
|
1066
872
|
{
|
|
1067
873
|
variant: "destructive",
|
|
1068
874
|
size: "sm",
|
|
@@ -1076,9 +882,9 @@ function CancelRunButton({ runId, onCancelled }) {
|
|
|
1076
882
|
/* @__PURE__ */ jsxRuntime.jsx(DialogDescription, { children: "This will terminate the sandbox immediately." })
|
|
1077
883
|
] }),
|
|
1078
884
|
/* @__PURE__ */ jsxRuntime.jsxs(DialogFooter, { children: [
|
|
1079
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "outline", size: "sm", onClick: () => setOpen(false), disabled: cancelling, children: "Cancel" }),
|
|
885
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { variant: "outline", size: "sm", onClick: () => setOpen(false), disabled: cancelling, children: "Cancel" }),
|
|
1080
886
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1081
|
-
Button,
|
|
887
|
+
chunkTZGIXZON_cjs.Button,
|
|
1082
888
|
{
|
|
1083
889
|
variant: "destructive",
|
|
1084
890
|
size: "sm",
|
|
@@ -1093,9 +899,9 @@ function CancelRunButton({ runId, onCancelled }) {
|
|
|
1093
899
|
}
|
|
1094
900
|
var emptyForm = { name: "", slug: "", description: "", base_url: "", mcp_endpoint_path: "/mcp" };
|
|
1095
901
|
function McpServerListPage({ initialData }) {
|
|
1096
|
-
const { mutate } =
|
|
1097
|
-
const client = useAgentPlaneClient();
|
|
1098
|
-
const { data: servers, error, isLoading } = useApi(
|
|
902
|
+
const { mutate } = swr.useSWRConfig();
|
|
903
|
+
const client = chunkTZGIXZON_cjs.useAgentPlaneClient();
|
|
904
|
+
const { data: servers, error, isLoading } = chunkTZGIXZON_cjs.useApi(
|
|
1099
905
|
"mcp-servers",
|
|
1100
906
|
(c) => c.customConnectors.listServers(),
|
|
1101
907
|
initialData ? { fallbackData: initialData } : void 0
|
|
@@ -1165,10 +971,10 @@ function McpServerListPage({ initialData }) {
|
|
|
1165
971
|
] }) });
|
|
1166
972
|
}
|
|
1167
973
|
if (isLoading || !servers) {
|
|
1168
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-96 rounded-lg" });
|
|
974
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-96 rounded-lg" });
|
|
1169
975
|
}
|
|
1170
976
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
1171
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "outline", size: "sm", onClick: () => setShowCreate(true), children: "+ New Connector" }) }),
|
|
977
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { variant: "outline", size: "sm", onClick: () => setShowCreate(true), children: "+ New Connector" }) }),
|
|
1172
978
|
/* @__PURE__ */ jsxRuntime.jsxs(AdminTable, { children: [
|
|
1173
979
|
/* @__PURE__ */ jsxRuntime.jsxs(AdminTableHead, { children: [
|
|
1174
980
|
/* @__PURE__ */ jsxRuntime.jsx(Th, { children: "Name" }),
|
|
@@ -1195,12 +1001,12 @@ function McpServerListPage({ initialData }) {
|
|
|
1195
1001
|
) }),
|
|
1196
1002
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 font-mono text-xs text-muted-foreground", children: s.slug }),
|
|
1197
1003
|
/* @__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 }),
|
|
1198
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: s.client_id ? "default" : "secondary", children: s.client_id ? "Registered" : "No DCR" }) }),
|
|
1004
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: s.client_id ? "default" : "secondary", children: s.client_id ? "Registered" : "No DCR" }) }),
|
|
1199
1005
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-right", children: s.connection_count }),
|
|
1200
1006
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-right text-green-500", children: s.active_count }),
|
|
1201
1007
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-muted-foreground text-xs", children: new Date(s.created_at).toLocaleDateString() }),
|
|
1202
1008
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1203
|
-
Button,
|
|
1009
|
+
chunkTZGIXZON_cjs.Button,
|
|
1204
1010
|
{
|
|
1205
1011
|
variant: "destructive",
|
|
1206
1012
|
size: "sm",
|
|
@@ -1217,15 +1023,15 @@ function McpServerListPage({ initialData }) {
|
|
|
1217
1023
|
/* @__PURE__ */ jsxRuntime.jsx(DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { children: "Register Connector" }) }),
|
|
1218
1024
|
/* @__PURE__ */ jsxRuntime.jsxs(DialogBody, { className: "space-y-3", children: [
|
|
1219
1025
|
createError && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-destructive", children: createError }),
|
|
1220
|
-
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(Input, { value: createForm.name, onChange: (e) => setCreateForm({ ...createForm, name: e.target.value }), placeholder: "My MCP Server" }) }),
|
|
1221
|
-
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Slug", children: /* @__PURE__ */ jsxRuntime.jsx(Input, { value: createForm.slug, onChange: (e) => setCreateForm({ ...createForm, slug: e.target.value }), placeholder: "my-mcp-server" }) }),
|
|
1222
|
-
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Description", children: /* @__PURE__ */ jsxRuntime.jsx(Input, { value: createForm.description, onChange: (e) => setCreateForm({ ...createForm, description: e.target.value }), placeholder: "What this connector does" }) }),
|
|
1223
|
-
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Base URL", children: /* @__PURE__ */ jsxRuntime.jsx(Input, { value: createForm.base_url, onChange: (e) => setCreateForm({ ...createForm, base_url: e.target.value }), placeholder: "https://my-server.example.com" }) }),
|
|
1224
|
-
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "MCP Endpoint Path", children: /* @__PURE__ */ jsxRuntime.jsx(Input, { value: createForm.mcp_endpoint_path, onChange: (e) => setCreateForm({ ...createForm, mcp_endpoint_path: e.target.value }), placeholder: "/mcp" }) })
|
|
1026
|
+
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Input, { value: createForm.name, onChange: (e) => setCreateForm({ ...createForm, name: e.target.value }), placeholder: "My MCP Server" }) }),
|
|
1027
|
+
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Slug", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Input, { value: createForm.slug, onChange: (e) => setCreateForm({ ...createForm, slug: e.target.value }), placeholder: "my-mcp-server" }) }),
|
|
1028
|
+
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Description", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Input, { value: createForm.description, onChange: (e) => setCreateForm({ ...createForm, description: e.target.value }), placeholder: "What this connector does" }) }),
|
|
1029
|
+
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Base URL", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Input, { value: createForm.base_url, onChange: (e) => setCreateForm({ ...createForm, base_url: e.target.value }), placeholder: "https://my-server.example.com" }) }),
|
|
1030
|
+
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "MCP Endpoint Path", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Input, { value: createForm.mcp_endpoint_path, onChange: (e) => setCreateForm({ ...createForm, mcp_endpoint_path: e.target.value }), placeholder: "/mcp" }) })
|
|
1225
1031
|
] }),
|
|
1226
1032
|
/* @__PURE__ */ jsxRuntime.jsxs(DialogFooter, { children: [
|
|
1227
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "outline", onClick: () => setShowCreate(false), children: "Cancel" }),
|
|
1228
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { onClick: handleCreate, disabled: creating || !createForm.name || !createForm.base_url, children: creating ? "Creating..." : "Create" })
|
|
1033
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { variant: "outline", onClick: () => setShowCreate(false), children: "Cancel" }),
|
|
1034
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { onClick: handleCreate, disabled: creating || !createForm.name || !createForm.base_url, children: creating ? "Creating..." : "Create" })
|
|
1229
1035
|
] })
|
|
1230
1036
|
] }) }),
|
|
1231
1037
|
/* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: !!editTarget, onOpenChange: (open) => {
|
|
@@ -1234,8 +1040,8 @@ function McpServerListPage({ initialData }) {
|
|
|
1234
1040
|
/* @__PURE__ */ jsxRuntime.jsx(DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { children: "Edit Connector" }) }),
|
|
1235
1041
|
/* @__PURE__ */ jsxRuntime.jsxs(DialogBody, { className: "space-y-3", children: [
|
|
1236
1042
|
editError && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-destructive", children: editError }),
|
|
1237
|
-
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(Input, { value: editForm.name, onChange: (e) => setEditForm({ ...editForm, name: e.target.value }) }) }),
|
|
1238
|
-
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Description", children: /* @__PURE__ */ jsxRuntime.jsx(Input, { value: editForm.description, onChange: (e) => setEditForm({ ...editForm, description: e.target.value }) }) }),
|
|
1043
|
+
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Input, { value: editForm.name, onChange: (e) => setEditForm({ ...editForm, name: e.target.value }) }) }),
|
|
1044
|
+
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Description", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Input, { value: editForm.description, onChange: (e) => setEditForm({ ...editForm, description: e.target.value }) }) }),
|
|
1239
1045
|
editTarget && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-xs text-muted-foreground space-y-1", children: [
|
|
1240
1046
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1241
1047
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: "Slug:" }),
|
|
@@ -1255,8 +1061,8 @@ function McpServerListPage({ initialData }) {
|
|
|
1255
1061
|
] })
|
|
1256
1062
|
] }),
|
|
1257
1063
|
/* @__PURE__ */ jsxRuntime.jsxs(DialogFooter, { children: [
|
|
1258
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "outline", onClick: () => setEditTarget(null), children: "Cancel" }),
|
|
1259
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { onClick: handleEdit, disabled: editing || !editForm.name, children: editing ? "Saving..." : "Save" })
|
|
1064
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { variant: "outline", onClick: () => setEditTarget(null), children: "Cancel" }),
|
|
1065
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { onClick: handleEdit, disabled: editing || !editForm.name, children: editing ? "Saving..." : "Save" })
|
|
1260
1066
|
] })
|
|
1261
1067
|
] }) }),
|
|
1262
1068
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -1285,10 +1091,10 @@ function McpServerListPage({ initialData }) {
|
|
|
1285
1091
|
] });
|
|
1286
1092
|
}
|
|
1287
1093
|
function PluginMarketplaceListPage({ initialData }) {
|
|
1288
|
-
const { mutate } =
|
|
1289
|
-
const client = useAgentPlaneClient();
|
|
1290
|
-
const { LinkComponent, basePath } = useNavigation();
|
|
1291
|
-
const { data: marketplaces, error, isLoading } = useApi(
|
|
1094
|
+
const { mutate } = swr.useSWRConfig();
|
|
1095
|
+
const client = chunkTZGIXZON_cjs.useAgentPlaneClient();
|
|
1096
|
+
const { LinkComponent, basePath } = chunkTZGIXZON_cjs.useNavigation();
|
|
1097
|
+
const { data: marketplaces, error, isLoading } = chunkTZGIXZON_cjs.useApi(
|
|
1292
1098
|
"plugin-marketplaces",
|
|
1293
1099
|
(c) => c.pluginMarketplaces.list(),
|
|
1294
1100
|
initialData ? { fallbackData: initialData } : void 0
|
|
@@ -1339,10 +1145,10 @@ function PluginMarketplaceListPage({ initialData }) {
|
|
|
1339
1145
|
] }) });
|
|
1340
1146
|
}
|
|
1341
1147
|
if (isLoading || !marketplaces) {
|
|
1342
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-96 rounded-lg" });
|
|
1148
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-96 rounded-lg" });
|
|
1343
1149
|
}
|
|
1344
1150
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
1345
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "outline", size: "sm", onClick: () => setShowAdd(true), children: "+ Add Marketplace" }) }),
|
|
1151
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { variant: "outline", size: "sm", onClick: () => setShowAdd(true), children: "+ Add Marketplace" }) }),
|
|
1346
1152
|
/* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: showAdd, onOpenChange: (v) => {
|
|
1347
1153
|
setShowAdd(v);
|
|
1348
1154
|
if (!v) resetAddForm();
|
|
@@ -1350,7 +1156,7 @@ function PluginMarketplaceListPage({ initialData }) {
|
|
|
1350
1156
|
/* @__PURE__ */ jsxRuntime.jsx(DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { children: "Add Marketplace" }) }),
|
|
1351
1157
|
/* @__PURE__ */ jsxRuntime.jsxs(DialogBody, { className: "space-y-3", children: [
|
|
1352
1158
|
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1353
|
-
Input,
|
|
1159
|
+
chunkTZGIXZON_cjs.Input,
|
|
1354
1160
|
{
|
|
1355
1161
|
value: newMarketplace.name,
|
|
1356
1162
|
onChange: (e) => setNewMarketplace({ ...newMarketplace, name: e.target.value }),
|
|
@@ -1358,7 +1164,7 @@ function PluginMarketplaceListPage({ initialData }) {
|
|
|
1358
1164
|
}
|
|
1359
1165
|
) }),
|
|
1360
1166
|
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "GitHub Repo", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1361
|
-
Input,
|
|
1167
|
+
chunkTZGIXZON_cjs.Input,
|
|
1362
1168
|
{
|
|
1363
1169
|
value: newMarketplace.github_repo,
|
|
1364
1170
|
onChange: (e) => setNewMarketplace({ ...newMarketplace, github_repo: e.target.value }),
|
|
@@ -1368,11 +1174,11 @@ function PluginMarketplaceListPage({ initialData }) {
|
|
|
1368
1174
|
/* @__PURE__ */ jsxRuntime.jsx(FormError, { error: addError })
|
|
1369
1175
|
] }),
|
|
1370
1176
|
/* @__PURE__ */ jsxRuntime.jsxs(DialogFooter, { children: [
|
|
1371
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "outline", size: "sm", onClick: () => {
|
|
1177
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { variant: "outline", size: "sm", onClick: () => {
|
|
1372
1178
|
setShowAdd(false);
|
|
1373
1179
|
resetAddForm();
|
|
1374
1180
|
}, children: "Cancel" }),
|
|
1375
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", onClick: handleAdd, disabled: adding || !newMarketplace.name || !newMarketplace.github_repo, children: adding ? "Adding..." : "Add Marketplace" })
|
|
1181
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { size: "sm", onClick: handleAdd, disabled: adding || !newMarketplace.name || !newMarketplace.github_repo, children: adding ? "Adding..." : "Add Marketplace" })
|
|
1376
1182
|
] })
|
|
1377
1183
|
] }) }),
|
|
1378
1184
|
/* @__PURE__ */ jsxRuntime.jsxs(AdminTable, { children: [
|
|
@@ -1394,7 +1200,7 @@ function PluginMarketplaceListPage({ initialData }) {
|
|
|
1394
1200
|
children: m.name
|
|
1395
1201
|
}
|
|
1396
1202
|
),
|
|
1397
|
-
m.is_owned && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", className: "ml-2 text-xs", children: "Owned" })
|
|
1203
|
+
m.is_owned && /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "secondary", className: "ml-2 text-xs", children: "Owned" })
|
|
1398
1204
|
] }),
|
|
1399
1205
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1400
1206
|
"a",
|
|
@@ -1406,10 +1212,10 @@ function PluginMarketplaceListPage({ initialData }) {
|
|
|
1406
1212
|
children: m.github_repo
|
|
1407
1213
|
}
|
|
1408
1214
|
) }),
|
|
1409
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: m.agent_count > 0 ? "default" : "secondary", children: m.agent_count }) }),
|
|
1215
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: m.agent_count > 0 ? "default" : "secondary", children: m.agent_count }) }),
|
|
1410
1216
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-muted-foreground text-xs", children: new Date(m.created_at).toLocaleDateString() }),
|
|
1411
1217
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1412
|
-
Button,
|
|
1218
|
+
chunkTZGIXZON_cjs.Button,
|
|
1413
1219
|
{
|
|
1414
1220
|
variant: "destructive",
|
|
1415
1221
|
size: "sm",
|
|
@@ -1448,15 +1254,15 @@ function PluginMarketplaceListPage({ initialData }) {
|
|
|
1448
1254
|
] });
|
|
1449
1255
|
}
|
|
1450
1256
|
function PluginMarketplaceDetailPage({ marketplaceId, initialData, initialPlugins }) {
|
|
1451
|
-
const { mutate } =
|
|
1452
|
-
const client = useAgentPlaneClient();
|
|
1453
|
-
const { LinkComponent, basePath } = useNavigation();
|
|
1454
|
-
const { data: marketplace, error, isLoading } = useApi(
|
|
1257
|
+
const { mutate } = swr.useSWRConfig();
|
|
1258
|
+
const client = chunkTZGIXZON_cjs.useAgentPlaneClient();
|
|
1259
|
+
const { LinkComponent, basePath } = chunkTZGIXZON_cjs.useNavigation();
|
|
1260
|
+
const { data: marketplace, error, isLoading } = chunkTZGIXZON_cjs.useApi(
|
|
1455
1261
|
`marketplace-${marketplaceId}`,
|
|
1456
1262
|
(c) => c.pluginMarketplaces.get(marketplaceId),
|
|
1457
1263
|
initialData ? { fallbackData: initialData } : void 0
|
|
1458
1264
|
);
|
|
1459
|
-
const { data: plugins } = useApi(
|
|
1265
|
+
const { data: plugins } = chunkTZGIXZON_cjs.useApi(
|
|
1460
1266
|
`marketplace-${marketplaceId}-plugins`,
|
|
1461
1267
|
(c) => c.pluginMarketplaces.listPlugins(marketplaceId),
|
|
1462
1268
|
initialPlugins ? { fallbackData: initialPlugins } : void 0
|
|
@@ -1482,14 +1288,14 @@ function PluginMarketplaceDetailPage({ marketplaceId, initialData, initialPlugin
|
|
|
1482
1288
|
}
|
|
1483
1289
|
if (isLoading || !marketplace) {
|
|
1484
1290
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
1485
|
-
/* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-12 w-64" }),
|
|
1486
|
-
/* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-32 rounded-lg" }),
|
|
1487
|
-
/* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-64 rounded-lg" })
|
|
1291
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-12 w-64" }),
|
|
1292
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-32 rounded-lg" }),
|
|
1293
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-64 rounded-lg" })
|
|
1488
1294
|
] });
|
|
1489
1295
|
}
|
|
1490
1296
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
1491
1297
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
1492
|
-
marketplace.has_token && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", children: "Owned" }),
|
|
1298
|
+
marketplace.has_token && /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "secondary", children: "Owned" }),
|
|
1493
1299
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1494
1300
|
"a",
|
|
1495
1301
|
{
|
|
@@ -1501,13 +1307,13 @@ function PluginMarketplaceDetailPage({ marketplaceId, initialData, initialPlugin
|
|
|
1501
1307
|
}
|
|
1502
1308
|
)
|
|
1503
1309
|
] }),
|
|
1504
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Card, { children: [
|
|
1505
|
-
/* @__PURE__ */ jsxRuntime.jsx(CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle, { className: "text-base", children: "GitHub Token" }) }),
|
|
1506
|
-
/* @__PURE__ */ jsxRuntime.jsx(CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
1310
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkTZGIXZON_cjs.Card, { children: [
|
|
1311
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.CardTitle, { className: "text-base", children: "GitHub Token" }) }),
|
|
1312
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
1507
1313
|
/* @__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." }),
|
|
1508
1314
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
1509
1315
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1510
|
-
Input,
|
|
1316
|
+
chunkTZGIXZON_cjs.Input,
|
|
1511
1317
|
{
|
|
1512
1318
|
type: "password",
|
|
1513
1319
|
placeholder: "ghp_...",
|
|
@@ -1516,30 +1322,30 @@ function PluginMarketplaceDetailPage({ marketplaceId, initialData, initialPlugin
|
|
|
1516
1322
|
className: "flex-1"
|
|
1517
1323
|
}
|
|
1518
1324
|
),
|
|
1519
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", onClick: handleSaveToken, disabled: savingToken || !tokenInput, children: savingToken ? "Saving..." : marketplace.has_token ? "Update Token" : "Save Token" })
|
|
1325
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { size: "sm", onClick: handleSaveToken, disabled: savingToken || !tokenInput, children: savingToken ? "Saving..." : marketplace.has_token ? "Update Token" : "Save Token" })
|
|
1520
1326
|
] })
|
|
1521
1327
|
] }) })
|
|
1522
1328
|
] }),
|
|
1523
1329
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1524
1330
|
/* @__PURE__ */ jsxRuntime.jsx(SectionHeader, { title: "Plugins" }),
|
|
1525
|
-
!plugins ? /* @__PURE__ */ jsxRuntime.jsx(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(
|
|
1331
|
+
!plugins ? /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_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(
|
|
1526
1332
|
LinkComponent,
|
|
1527
1333
|
{
|
|
1528
1334
|
href: `${basePath}/plugin-marketplaces/${marketplaceId}/plugins/${plugin.name}`,
|
|
1529
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(Card, { className: "hover:border-primary/50 transition-colors cursor-pointer h-full", children: [
|
|
1530
|
-
/* @__PURE__ */ jsxRuntime.jsx(CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsxs(CardTitle, { className: "text-sm font-medium flex items-center justify-between", children: [
|
|
1335
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkTZGIXZON_cjs.Card, { className: "hover:border-primary/50 transition-colors cursor-pointer h-full", children: [
|
|
1336
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkTZGIXZON_cjs.CardTitle, { className: "text-sm font-medium flex items-center justify-between", children: [
|
|
1531
1337
|
plugin.displayName,
|
|
1532
1338
|
plugin.version && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs text-muted-foreground font-normal", children: [
|
|
1533
1339
|
"v",
|
|
1534
1340
|
plugin.version
|
|
1535
1341
|
] })
|
|
1536
1342
|
] }) }),
|
|
1537
|
-
/* @__PURE__ */ jsxRuntime.jsxs(CardContent, { children: [
|
|
1343
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkTZGIXZON_cjs.CardContent, { children: [
|
|
1538
1344
|
plugin.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground mb-3", children: plugin.description }),
|
|
1539
1345
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1.5", children: [
|
|
1540
|
-
plugin.hasAgents && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", className: "text-xs", children: "Agents" }),
|
|
1541
|
-
plugin.hasSkills && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", className: "text-xs", children: "Skills" }),
|
|
1542
|
-
plugin.hasMcpJson && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", className: "text-xs", children: "MCP" })
|
|
1346
|
+
plugin.hasAgents && /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "secondary", className: "text-xs", children: "Agents" }),
|
|
1347
|
+
plugin.hasSkills && /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "secondary", className: "text-xs", children: "Skills" }),
|
|
1348
|
+
plugin.hasMcpJson && /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "secondary", className: "text-xs", children: "MCP" })
|
|
1543
1349
|
] })
|
|
1544
1350
|
] })
|
|
1545
1351
|
] })
|
|
@@ -1549,46 +1355,248 @@ function PluginMarketplaceDetailPage({ marketplaceId, initialData, initialPlugin
|
|
|
1549
1355
|
] })
|
|
1550
1356
|
] });
|
|
1551
1357
|
}
|
|
1552
|
-
function AgentsTab({
|
|
1358
|
+
function AgentsTab({
|
|
1359
|
+
agents,
|
|
1360
|
+
onSelectAgent,
|
|
1361
|
+
selectedFilename
|
|
1362
|
+
}) {
|
|
1553
1363
|
if (agents.length === 0) {
|
|
1554
1364
|
return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground py-4", children: "No agents defined in this plugin." });
|
|
1555
1365
|
}
|
|
1556
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: agents.map((agent) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1366
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: agents.map((agent) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1367
|
+
chunkTZGIXZON_cjs.Card,
|
|
1368
|
+
{
|
|
1369
|
+
className: `cursor-pointer transition-colors hover:border-primary/50 ${selectedFilename === agent.filename ? "border-primary ring-1 ring-primary/30" : ""}`,
|
|
1370
|
+
onClick: () => onSelectAgent(agent.filename),
|
|
1371
|
+
children: [
|
|
1372
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.CardTitle, { className: "text-sm font-medium", children: agent.name }) }),
|
|
1373
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkTZGIXZON_cjs.CardContent, { children: [
|
|
1374
|
+
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" }),
|
|
1375
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground/60 mt-2 font-mono", children: agent.filename })
|
|
1376
|
+
] })
|
|
1377
|
+
]
|
|
1378
|
+
},
|
|
1379
|
+
agent.filename
|
|
1380
|
+
)) });
|
|
1563
1381
|
}
|
|
1564
|
-
function SkillsTab({
|
|
1382
|
+
function SkillsTab({
|
|
1383
|
+
skills,
|
|
1384
|
+
onSelectSkill,
|
|
1385
|
+
selectedSkill
|
|
1386
|
+
}) {
|
|
1565
1387
|
if (skills.length === 0) {
|
|
1566
1388
|
return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground py-4", children: "No skills defined in this plugin." });
|
|
1567
1389
|
}
|
|
1568
|
-
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(
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
"
|
|
1572
|
-
skill,
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1390
|
+
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(
|
|
1391
|
+
chunkTZGIXZON_cjs.Card,
|
|
1392
|
+
{
|
|
1393
|
+
className: `cursor-pointer transition-colors hover:border-primary/50 ${selectedSkill === skill ? "border-primary ring-1 ring-primary/30" : ""}`,
|
|
1394
|
+
onClick: () => onSelectSkill(skill),
|
|
1395
|
+
children: [
|
|
1396
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.CardTitle, { className: "text-sm font-medium", children: skill }) }),
|
|
1397
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs text-muted-foreground font-mono", children: [
|
|
1398
|
+
"skills/",
|
|
1399
|
+
skill,
|
|
1400
|
+
"/"
|
|
1401
|
+
] }) })
|
|
1402
|
+
]
|
|
1403
|
+
},
|
|
1404
|
+
skill
|
|
1405
|
+
)) });
|
|
1576
1406
|
}
|
|
1577
|
-
function ConnectorsTab({
|
|
1407
|
+
function ConnectorsTab({
|
|
1408
|
+
hasMcpJson,
|
|
1409
|
+
mcpJsonContent,
|
|
1410
|
+
onSelectConnector,
|
|
1411
|
+
selected
|
|
1412
|
+
}) {
|
|
1578
1413
|
if (!hasMcpJson) {
|
|
1579
1414
|
return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground py-4", children: "No connectors defined in this plugin." });
|
|
1580
1415
|
}
|
|
1581
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1582
|
-
|
|
1583
|
-
|
|
1416
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1417
|
+
chunkTZGIXZON_cjs.Card,
|
|
1418
|
+
{
|
|
1419
|
+
className: `cursor-pointer transition-colors hover:border-primary/50 ${selected ? "border-primary ring-1 ring-primary/30" : ""}`,
|
|
1420
|
+
onClick: onSelectConnector,
|
|
1421
|
+
children: [
|
|
1422
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.CardTitle, { className: "text-sm font-medium", children: ".mcp.json" }) }),
|
|
1423
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_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." }) })
|
|
1424
|
+
]
|
|
1425
|
+
}
|
|
1426
|
+
);
|
|
1427
|
+
}
|
|
1428
|
+
function FileEditorInline({
|
|
1429
|
+
filePath,
|
|
1430
|
+
content,
|
|
1431
|
+
onChange,
|
|
1432
|
+
onSave,
|
|
1433
|
+
onClose,
|
|
1434
|
+
saving,
|
|
1435
|
+
saveError,
|
|
1436
|
+
saveSuccess,
|
|
1437
|
+
readOnly
|
|
1438
|
+
}) {
|
|
1439
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-4 border border-border rounded-md overflow-hidden", children: [
|
|
1440
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-3 py-2 bg-muted/50 border-b border-border flex items-center justify-between", children: [
|
|
1441
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground font-mono", children: filePath }),
|
|
1442
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
1443
|
+
saveError && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-destructive", children: saveError }),
|
|
1444
|
+
saveSuccess && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-green-500", children: saveSuccess }),
|
|
1445
|
+
!readOnly && /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { size: "sm", onClick: onSave, disabled: saving, className: "h-7 text-xs", children: saving ? "Saving..." : "Save" }),
|
|
1446
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { size: "sm", variant: "ghost", onClick: onClose, className: "h-7 text-xs", children: "Close" })
|
|
1447
|
+
] })
|
|
1448
|
+
] }),
|
|
1449
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1450
|
+
"textarea",
|
|
1451
|
+
{
|
|
1452
|
+
value: content,
|
|
1453
|
+
onChange: (e) => onChange(e.target.value),
|
|
1454
|
+
readOnly,
|
|
1455
|
+
className: "w-full min-h-[400px] p-3 bg-background text-foreground text-sm font-mono resize-y focus:outline-none",
|
|
1456
|
+
spellCheck: false
|
|
1457
|
+
}
|
|
1458
|
+
)
|
|
1584
1459
|
] });
|
|
1585
1460
|
}
|
|
1586
1461
|
function PluginDetailPage({ marketplaceId, pluginName }) {
|
|
1587
|
-
const { LinkComponent, basePath } = useNavigation();
|
|
1588
|
-
const
|
|
1462
|
+
const { LinkComponent, basePath } = chunkTZGIXZON_cjs.useNavigation();
|
|
1463
|
+
const client = chunkTZGIXZON_cjs.useAgentPlaneClient();
|
|
1464
|
+
const { data: plugin, error, isLoading } = chunkTZGIXZON_cjs.useApi(
|
|
1589
1465
|
`marketplace-${marketplaceId}-plugin-${pluginName}`,
|
|
1590
1466
|
(c) => c.pluginMarketplaces.getPlugin(marketplaceId, pluginName)
|
|
1591
1467
|
);
|
|
1468
|
+
const [editorState, setEditorState] = React3.useState(null);
|
|
1469
|
+
const [pluginFiles, setPluginFiles] = React3.useState(null);
|
|
1470
|
+
const [filesLoading, setFilesLoading] = React3.useState(false);
|
|
1471
|
+
const [filesError, setFilesError] = React3.useState("");
|
|
1472
|
+
const [editedContent, setEditedContent] = React3.useState(/* @__PURE__ */ new Map());
|
|
1473
|
+
const [saving, setSaving] = React3.useState(false);
|
|
1474
|
+
const [saveError, setSaveError] = React3.useState("");
|
|
1475
|
+
const [saveSuccess, setSaveSuccess] = React3.useState("");
|
|
1476
|
+
const fetchFiles = React3.useCallback(async () => {
|
|
1477
|
+
if (pluginFiles) return pluginFiles;
|
|
1478
|
+
setFilesLoading(true);
|
|
1479
|
+
setFilesError("");
|
|
1480
|
+
try {
|
|
1481
|
+
const files = await client.pluginMarketplaces.getPluginFiles(marketplaceId, pluginName);
|
|
1482
|
+
setPluginFiles(files);
|
|
1483
|
+
return files;
|
|
1484
|
+
} catch (err) {
|
|
1485
|
+
setFilesError(err instanceof Error ? err.message : "Failed to load files");
|
|
1486
|
+
return null;
|
|
1487
|
+
} finally {
|
|
1488
|
+
setFilesLoading(false);
|
|
1489
|
+
}
|
|
1490
|
+
}, [client, marketplaceId, pluginName, pluginFiles]);
|
|
1491
|
+
const handleSelectAgent = React3.useCallback(async (filename) => {
|
|
1492
|
+
if (editorState?.type === "agent" && editorState.identifier === filename) {
|
|
1493
|
+
setEditorState(null);
|
|
1494
|
+
return;
|
|
1495
|
+
}
|
|
1496
|
+
setSaveError("");
|
|
1497
|
+
setSaveSuccess("");
|
|
1498
|
+
const files = await fetchFiles();
|
|
1499
|
+
if (files) {
|
|
1500
|
+
setEditorState({ type: "agent", identifier: filename });
|
|
1501
|
+
}
|
|
1502
|
+
}, [editorState, fetchFiles]);
|
|
1503
|
+
const handleSelectSkill = React3.useCallback(async (skill) => {
|
|
1504
|
+
if (editorState?.type === "skill" && editorState.identifier === skill) {
|
|
1505
|
+
setEditorState(null);
|
|
1506
|
+
return;
|
|
1507
|
+
}
|
|
1508
|
+
setSaveError("");
|
|
1509
|
+
setSaveSuccess("");
|
|
1510
|
+
const files = await fetchFiles();
|
|
1511
|
+
if (files) {
|
|
1512
|
+
setEditorState({ type: "skill", identifier: skill });
|
|
1513
|
+
}
|
|
1514
|
+
}, [editorState, fetchFiles]);
|
|
1515
|
+
const handleSelectConnector = React3.useCallback(async () => {
|
|
1516
|
+
if (editorState?.type === "connector") {
|
|
1517
|
+
setEditorState(null);
|
|
1518
|
+
return;
|
|
1519
|
+
}
|
|
1520
|
+
setSaveError("");
|
|
1521
|
+
setSaveSuccess("");
|
|
1522
|
+
const files = await fetchFiles();
|
|
1523
|
+
if (files) {
|
|
1524
|
+
setEditorState({ type: "connector", identifier: ".mcp.json" });
|
|
1525
|
+
}
|
|
1526
|
+
}, [editorState, fetchFiles]);
|
|
1527
|
+
function getEditorFile() {
|
|
1528
|
+
if (!editorState || !pluginFiles) return null;
|
|
1529
|
+
if (editorState.type === "agent") {
|
|
1530
|
+
const file = pluginFiles.agents.find((f) => f.path === editorState.identifier);
|
|
1531
|
+
if (!file) return null;
|
|
1532
|
+
const editedKey = `agents/${file.path}`;
|
|
1533
|
+
return {
|
|
1534
|
+
path: `agents/${file.path}`,
|
|
1535
|
+
content: editedContent.has(editedKey) ? editedContent.get(editedKey) : file.content
|
|
1536
|
+
};
|
|
1537
|
+
}
|
|
1538
|
+
if (editorState.type === "skill") {
|
|
1539
|
+
const skillFiles = pluginFiles.skills.filter((f) => f.path.startsWith(editorState.identifier + "/") || f.path === editorState.identifier);
|
|
1540
|
+
const file = skillFiles.length > 0 ? skillFiles[0] : null;
|
|
1541
|
+
if (!file) return null;
|
|
1542
|
+
const editedKey = `skills/${file.path}`;
|
|
1543
|
+
return {
|
|
1544
|
+
path: `skills/${file.path}`,
|
|
1545
|
+
content: editedContent.has(editedKey) ? editedContent.get(editedKey) : file.content
|
|
1546
|
+
};
|
|
1547
|
+
}
|
|
1548
|
+
if (editorState.type === "connector") {
|
|
1549
|
+
const editedKey = ".mcp.json";
|
|
1550
|
+
return {
|
|
1551
|
+
path: ".mcp.json",
|
|
1552
|
+
content: editedContent.has(editedKey) ? editedContent.get(editedKey) : pluginFiles.mcpJson ?? ""
|
|
1553
|
+
};
|
|
1554
|
+
}
|
|
1555
|
+
return null;
|
|
1556
|
+
}
|
|
1557
|
+
function handleContentChange(content) {
|
|
1558
|
+
const file = getEditorFile();
|
|
1559
|
+
if (!file) return;
|
|
1560
|
+
setEditedContent((prev) => new Map(prev).set(file.path, content));
|
|
1561
|
+
}
|
|
1562
|
+
async function handleSave() {
|
|
1563
|
+
if (!pluginFiles) return;
|
|
1564
|
+
setSaving(true);
|
|
1565
|
+
setSaveError("");
|
|
1566
|
+
setSaveSuccess("");
|
|
1567
|
+
const updatedSkills = pluginFiles.skills.map((f) => {
|
|
1568
|
+
const key = `skills/${f.path}`;
|
|
1569
|
+
return editedContent.has(key) ? { ...f, content: editedContent.get(key) } : f;
|
|
1570
|
+
});
|
|
1571
|
+
const updatedAgents = pluginFiles.agents.map((f) => {
|
|
1572
|
+
const key = `agents/${f.path}`;
|
|
1573
|
+
return editedContent.has(key) ? { ...f, content: editedContent.get(key) } : f;
|
|
1574
|
+
});
|
|
1575
|
+
const updatedMcpJson = editedContent.has(".mcp.json") ? editedContent.get(".mcp.json") : pluginFiles.mcpJson;
|
|
1576
|
+
try {
|
|
1577
|
+
const result = await client.pluginMarketplaces.savePluginFiles(
|
|
1578
|
+
marketplaceId,
|
|
1579
|
+
pluginName,
|
|
1580
|
+
{
|
|
1581
|
+
skills: updatedSkills,
|
|
1582
|
+
agents: updatedAgents,
|
|
1583
|
+
mcpJson: updatedMcpJson || null
|
|
1584
|
+
}
|
|
1585
|
+
);
|
|
1586
|
+
setPluginFiles({
|
|
1587
|
+
...pluginFiles,
|
|
1588
|
+
skills: updatedSkills,
|
|
1589
|
+
agents: updatedAgents,
|
|
1590
|
+
mcpJson: updatedMcpJson ?? null
|
|
1591
|
+
});
|
|
1592
|
+
setEditedContent(/* @__PURE__ */ new Map());
|
|
1593
|
+
setSaveSuccess(`Saved (commit ${result.commitSha.slice(0, 7)})`);
|
|
1594
|
+
} catch (err) {
|
|
1595
|
+
setSaveError(err instanceof Error ? err.message : "Failed to save");
|
|
1596
|
+
} finally {
|
|
1597
|
+
setSaving(false);
|
|
1598
|
+
}
|
|
1599
|
+
}
|
|
1592
1600
|
if (error) {
|
|
1593
1601
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center min-h-[40vh]", children: /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-destructive", children: [
|
|
1594
1602
|
"Failed to load plugin: ",
|
|
@@ -1597,23 +1605,95 @@ function PluginDetailPage({ marketplaceId, pluginName }) {
|
|
|
1597
1605
|
}
|
|
1598
1606
|
if (isLoading || !plugin) {
|
|
1599
1607
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
1600
|
-
/* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-8 w-48" }),
|
|
1601
|
-
/* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-4 w-96" }),
|
|
1602
|
-
/* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-64 rounded-lg" })
|
|
1608
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-8 w-48" }),
|
|
1609
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-4 w-96" }),
|
|
1610
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-64 rounded-lg" })
|
|
1603
1611
|
] });
|
|
1604
1612
|
}
|
|
1613
|
+
const readOnly = pluginFiles ? !pluginFiles.isOwned : true;
|
|
1614
|
+
const editorFile = getEditorFile();
|
|
1605
1615
|
const tabs = [
|
|
1606
1616
|
{
|
|
1607
1617
|
label: `Agents (${plugin.agents.length})`,
|
|
1608
|
-
content: /* @__PURE__ */ jsxRuntime.
|
|
1618
|
+
content: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1619
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1620
|
+
AgentsTab,
|
|
1621
|
+
{
|
|
1622
|
+
agents: plugin.agents,
|
|
1623
|
+
onSelectAgent: handleSelectAgent,
|
|
1624
|
+
selectedFilename: editorState?.type === "agent" ? editorState.identifier : null
|
|
1625
|
+
}
|
|
1626
|
+
),
|
|
1627
|
+
editorState?.type === "agent" && editorFile && (filesLoading ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-[400px] rounded-md" }) }) : filesError ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 text-sm text-destructive", children: filesError }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1628
|
+
FileEditorInline,
|
|
1629
|
+
{
|
|
1630
|
+
filePath: editorFile.path,
|
|
1631
|
+
content: editorFile.content,
|
|
1632
|
+
onChange: handleContentChange,
|
|
1633
|
+
onSave: handleSave,
|
|
1634
|
+
onClose: () => setEditorState(null),
|
|
1635
|
+
saving,
|
|
1636
|
+
saveError,
|
|
1637
|
+
saveSuccess,
|
|
1638
|
+
readOnly
|
|
1639
|
+
}
|
|
1640
|
+
))
|
|
1641
|
+
] })
|
|
1609
1642
|
},
|
|
1610
1643
|
{
|
|
1611
1644
|
label: `Skills (${plugin.skills.length})`,
|
|
1612
|
-
content: /* @__PURE__ */ jsxRuntime.
|
|
1645
|
+
content: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1646
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1647
|
+
SkillsTab,
|
|
1648
|
+
{
|
|
1649
|
+
skills: plugin.skills,
|
|
1650
|
+
onSelectSkill: handleSelectSkill,
|
|
1651
|
+
selectedSkill: editorState?.type === "skill" ? editorState.identifier : null
|
|
1652
|
+
}
|
|
1653
|
+
),
|
|
1654
|
+
editorState?.type === "skill" && editorFile && (filesLoading ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-[400px] rounded-md" }) }) : filesError ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 text-sm text-destructive", children: filesError }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1655
|
+
FileEditorInline,
|
|
1656
|
+
{
|
|
1657
|
+
filePath: editorFile.path,
|
|
1658
|
+
content: editorFile.content,
|
|
1659
|
+
onChange: handleContentChange,
|
|
1660
|
+
onSave: handleSave,
|
|
1661
|
+
onClose: () => setEditorState(null),
|
|
1662
|
+
saving,
|
|
1663
|
+
saveError,
|
|
1664
|
+
saveSuccess,
|
|
1665
|
+
readOnly
|
|
1666
|
+
}
|
|
1667
|
+
))
|
|
1668
|
+
] })
|
|
1613
1669
|
},
|
|
1614
1670
|
{
|
|
1615
1671
|
label: `Connectors (${plugin.hasMcpJson ? 1 : 0})`,
|
|
1616
|
-
content: /* @__PURE__ */ jsxRuntime.
|
|
1672
|
+
content: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1673
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1674
|
+
ConnectorsTab,
|
|
1675
|
+
{
|
|
1676
|
+
hasMcpJson: plugin.hasMcpJson,
|
|
1677
|
+
mcpJsonContent: pluginFiles?.mcpJson ?? null,
|
|
1678
|
+
onSelectConnector: handleSelectConnector,
|
|
1679
|
+
selected: editorState?.type === "connector"
|
|
1680
|
+
}
|
|
1681
|
+
),
|
|
1682
|
+
editorState?.type === "connector" && editorFile && (filesLoading ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-[400px] rounded-md" }) }) : filesError ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 text-sm text-destructive", children: filesError }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1683
|
+
FileEditorInline,
|
|
1684
|
+
{
|
|
1685
|
+
filePath: editorFile.path,
|
|
1686
|
+
content: editorFile.content,
|
|
1687
|
+
onChange: handleContentChange,
|
|
1688
|
+
onSave: handleSave,
|
|
1689
|
+
onClose: () => setEditorState(null),
|
|
1690
|
+
saving,
|
|
1691
|
+
saveError,
|
|
1692
|
+
saveSuccess,
|
|
1693
|
+
readOnly
|
|
1694
|
+
}
|
|
1695
|
+
))
|
|
1696
|
+
] })
|
|
1617
1697
|
}
|
|
1618
1698
|
];
|
|
1619
1699
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
@@ -1628,10 +1708,11 @@ function PluginDetailPage({ marketplaceId, pluginName }) {
|
|
|
1628
1708
|
) }),
|
|
1629
1709
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
1630
1710
|
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-2xl font-semibold", children: plugin.displayName }),
|
|
1631
|
-
plugin.version && /* @__PURE__ */ jsxRuntime.jsxs(Badge, { variant: "outline", children: [
|
|
1711
|
+
plugin.version && /* @__PURE__ */ jsxRuntime.jsxs(chunkTZGIXZON_cjs.Badge, { variant: "outline", children: [
|
|
1632
1712
|
"v",
|
|
1633
1713
|
plugin.version
|
|
1634
|
-
] })
|
|
1714
|
+
] }),
|
|
1715
|
+
pluginFiles && (pluginFiles.isOwned ? /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "secondary", children: "Editable" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "outline", children: "Read-only" }))
|
|
1635
1716
|
] }),
|
|
1636
1717
|
plugin.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground mt-1", children: plugin.description })
|
|
1637
1718
|
] }),
|
|
@@ -1640,13 +1721,13 @@ function PluginDetailPage({ marketplaceId, pluginName }) {
|
|
|
1640
1721
|
}
|
|
1641
1722
|
var TIMEZONES = typeof Intl !== "undefined" && Intl.supportedValuesOf ? Intl.supportedValuesOf("timeZone") : ["UTC"];
|
|
1642
1723
|
function SettingsPage({ initialData, hideDangerZone }) {
|
|
1643
|
-
const { mutate } =
|
|
1644
|
-
const { data: tenantData, error: tenantError, isLoading: tenantLoading } = useApi(
|
|
1724
|
+
const { mutate } = swr.useSWRConfig();
|
|
1725
|
+
const { data: tenantData, error: tenantError, isLoading: tenantLoading } = chunkTZGIXZON_cjs.useApi(
|
|
1645
1726
|
"settings-tenant",
|
|
1646
1727
|
(c) => c.tenants.getMe(),
|
|
1647
1728
|
initialData ? { fallbackData: initialData.tenant } : void 0
|
|
1648
1729
|
);
|
|
1649
|
-
const { data: apiKeysData, error: apiKeysError, isLoading: apiKeysLoading } = useApi(
|
|
1730
|
+
const { data: apiKeysData, error: apiKeysError, isLoading: apiKeysLoading } = chunkTZGIXZON_cjs.useApi(
|
|
1650
1731
|
"settings-keys",
|
|
1651
1732
|
(c) => c.keys.list ? c.keys.list() : Promise.resolve([]),
|
|
1652
1733
|
initialData ? { fallbackData: initialData.api_keys } : void 0
|
|
@@ -1662,8 +1743,8 @@ function SettingsPage({ initialData, hideDangerZone }) {
|
|
|
1662
1743
|
}
|
|
1663
1744
|
if (isLoading || !data) {
|
|
1664
1745
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
1665
|
-
/* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-48 rounded-lg" }),
|
|
1666
|
-
/* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-64 rounded-lg" })
|
|
1746
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-48 rounded-lg" }),
|
|
1747
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-64 rounded-lg" })
|
|
1667
1748
|
] });
|
|
1668
1749
|
}
|
|
1669
1750
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
@@ -1679,7 +1760,7 @@ function SettingsPage({ initialData, hideDangerZone }) {
|
|
|
1679
1760
|
] });
|
|
1680
1761
|
}
|
|
1681
1762
|
function CompanyForm({ tenant, onSaved }) {
|
|
1682
|
-
const client = useAgentPlaneClient();
|
|
1763
|
+
const client = chunkTZGIXZON_cjs.useAgentPlaneClient();
|
|
1683
1764
|
const fileInputRef = React3.useRef(null);
|
|
1684
1765
|
const [name, setName] = React3.useState(tenant.name);
|
|
1685
1766
|
const [budget, setBudget] = React3.useState(tenant.monthly_budget_usd.toString());
|
|
@@ -1709,8 +1790,8 @@ function CompanyForm({ tenant, onSaved }) {
|
|
|
1709
1790
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
1710
1791
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "Upload a logo for your company. Recommended size: 256x256px." }),
|
|
1711
1792
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
1712
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", variant: "outline", onClick: () => fileInputRef.current?.click(), children: "Upload image" }),
|
|
1713
|
-
logoUrl && /* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", variant: "outline", onClick: () => setLogoUrl(""), children: "Remove" }),
|
|
1793
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { size: "sm", variant: "outline", onClick: () => fileInputRef.current?.click(), children: "Upload image" }),
|
|
1794
|
+
logoUrl && /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { size: "sm", variant: "outline", onClick: () => setLogoUrl(""), children: "Remove" }),
|
|
1714
1795
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1715
1796
|
"input",
|
|
1716
1797
|
{
|
|
@@ -1735,14 +1816,14 @@ function CompanyForm({ tenant, onSaved }) {
|
|
|
1735
1816
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-muted-foreground/25 p-5", children: [
|
|
1736
1817
|
/* @__PURE__ */ jsxRuntime.jsx(SectionHeader, { title: "Company Details" }),
|
|
1737
1818
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 md:grid-cols-4 gap-4", children: [
|
|
1738
|
-
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(Input, { value: name, onChange: (e) => setName(e.target.value) }) }),
|
|
1739
|
-
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Slug", children: /* @__PURE__ */ jsxRuntime.jsx(Input, { value: tenant.slug, readOnly: true, disabled: true, className: "opacity-60" }) }),
|
|
1740
|
-
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Status", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center h-9", children: /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: tenant.status === "active" ? "default" : "destructive", children: tenant.status }) }) }),
|
|
1819
|
+
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Input, { value: name, onChange: (e) => setName(e.target.value) }) }),
|
|
1820
|
+
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Slug", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Input, { value: tenant.slug, readOnly: true, disabled: true, className: "opacity-60" }) }),
|
|
1821
|
+
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Status", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center h-9", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: tenant.status === "active" ? "default" : "destructive", children: tenant.status }) }) }),
|
|
1741
1822
|
/* @__PURE__ */ jsxRuntime.jsx(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)) }) }),
|
|
1742
1823
|
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Monthly Budget (USD)", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
1743
1824
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground text-sm", children: "$" }),
|
|
1744
1825
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1745
|
-
Input,
|
|
1826
|
+
chunkTZGIXZON_cjs.Input,
|
|
1746
1827
|
{
|
|
1747
1828
|
type: "number",
|
|
1748
1829
|
step: "0.01",
|
|
@@ -1754,11 +1835,11 @@ function CompanyForm({ tenant, onSaved }) {
|
|
|
1754
1835
|
] }) })
|
|
1755
1836
|
] })
|
|
1756
1837
|
] }),
|
|
1757
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx(Button, { onClick: handleSave, disabled: saving || !isDirty, size: "sm", children: saving ? "Saving..." : "Save Changes" }) })
|
|
1838
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { onClick: handleSave, disabled: saving || !isDirty, size: "sm", children: saving ? "Saving..." : "Save Changes" }) })
|
|
1758
1839
|
] });
|
|
1759
1840
|
}
|
|
1760
1841
|
function ApiKeysSection({ initialKeys, onChanged }) {
|
|
1761
|
-
const client = useAgentPlaneClient();
|
|
1842
|
+
const client = chunkTZGIXZON_cjs.useAgentPlaneClient();
|
|
1762
1843
|
const [creating, setCreating] = React3.useState(false);
|
|
1763
1844
|
const [newKeyName, setNewKeyName] = React3.useState("default");
|
|
1764
1845
|
const [showCreate, setShowCreate] = React3.useState(false);
|
|
@@ -1795,17 +1876,17 @@ function ApiKeysSection({ initialKeys, onChanged }) {
|
|
|
1795
1876
|
const activeKeys = initialKeys.filter((k) => !k.revoked_at);
|
|
1796
1877
|
const revokedKeys = initialKeys.filter((k) => k.revoked_at);
|
|
1797
1878
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-muted-foreground/25 p-5", children: [
|
|
1798
|
-
/* @__PURE__ */ jsxRuntime.jsx(SectionHeader, { title: "API Keys", children: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "outline", size: "sm", onClick: () => setShowCreate(!showCreate), children: showCreate ? "Cancel" : "+ New Key" }) }),
|
|
1879
|
+
/* @__PURE__ */ jsxRuntime.jsx(SectionHeader, { title: "API Keys", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { variant: "outline", size: "sm", onClick: () => setShowCreate(!showCreate), children: showCreate ? "Cancel" : "+ New Key" }) }),
|
|
1799
1880
|
rawKey && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 p-3 rounded-lg border border-yellow-500/50 bg-yellow-500/10", children: [
|
|
1800
1881
|
/* @__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:" }),
|
|
1801
1882
|
/* @__PURE__ */ jsxRuntime.jsx("code", { className: "block text-xs font-mono bg-black/20 p-2 rounded break-all select-all", children: rawKey }),
|
|
1802
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", variant: "outline", className: "mt-2", onClick: () => setRawKey(null), children: "Dismiss" })
|
|
1883
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { size: "sm", variant: "outline", className: "mt-2", onClick: () => setRawKey(null), children: "Dismiss" })
|
|
1803
1884
|
] }),
|
|
1804
1885
|
showCreate && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex gap-2 items-end", children: [
|
|
1805
1886
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
1806
1887
|
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-xs font-medium text-muted-foreground", children: "Key Name" }),
|
|
1807
1888
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1808
|
-
Input,
|
|
1889
|
+
chunkTZGIXZON_cjs.Input,
|
|
1809
1890
|
{
|
|
1810
1891
|
value: newKeyName,
|
|
1811
1892
|
onChange: (e) => setNewKeyName(e.target.value),
|
|
@@ -1814,7 +1895,7 @@ function ApiKeysSection({ initialKeys, onChanged }) {
|
|
|
1814
1895
|
}
|
|
1815
1896
|
)
|
|
1816
1897
|
] }),
|
|
1817
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", onClick: handleCreate, disabled: creating, children: creating ? "Creating..." : "Create" })
|
|
1898
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { size: "sm", onClick: handleCreate, disabled: creating, children: creating ? "Creating..." : "Create" })
|
|
1818
1899
|
] }),
|
|
1819
1900
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-lg border border-border", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-sm", children: [
|
|
1820
1901
|
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-b border-border bg-muted/50", children: [
|
|
@@ -1832,11 +1913,11 @@ function ApiKeysSection({ initialKeys, onChanged }) {
|
|
|
1832
1913
|
k.key_prefix,
|
|
1833
1914
|
"..."
|
|
1834
1915
|
] }),
|
|
1835
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "default", children: "active" }) }),
|
|
1916
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "default", children: "active" }) }),
|
|
1836
1917
|
/* @__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" }),
|
|
1837
1918
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-muted-foreground text-xs", children: new Date(k.created_at).toLocaleDateString() }),
|
|
1838
1919
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1839
|
-
Button,
|
|
1920
|
+
chunkTZGIXZON_cjs.Button,
|
|
1840
1921
|
{
|
|
1841
1922
|
size: "sm",
|
|
1842
1923
|
variant: "destructive",
|
|
@@ -1851,7 +1932,7 @@ function ApiKeysSection({ initialKeys, onChanged }) {
|
|
|
1851
1932
|
k.key_prefix,
|
|
1852
1933
|
"..."
|
|
1853
1934
|
] }),
|
|
1854
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "destructive", children: "revoked" }) }),
|
|
1935
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "destructive", children: "revoked" }) }),
|
|
1855
1936
|
/* @__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" }),
|
|
1856
1937
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-muted-foreground text-xs", children: new Date(k.created_at).toLocaleDateString() }),
|
|
1857
1938
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3" })
|
|
@@ -1884,8 +1965,8 @@ function ApiKeysSection({ initialKeys, onChanged }) {
|
|
|
1884
1965
|
] });
|
|
1885
1966
|
}
|
|
1886
1967
|
function DangerZone({ tenantId, tenantName }) {
|
|
1887
|
-
const client = useAgentPlaneClient();
|
|
1888
|
-
const { onNavigate, basePath } = useNavigation();
|
|
1968
|
+
const client = chunkTZGIXZON_cjs.useAgentPlaneClient();
|
|
1969
|
+
const { onNavigate, basePath } = chunkTZGIXZON_cjs.useNavigation();
|
|
1889
1970
|
const [open, setOpen] = React3.useState(false);
|
|
1890
1971
|
const [deleting, setDeleting] = React3.useState(false);
|
|
1891
1972
|
const [error, setError] = React3.useState("");
|
|
@@ -1908,7 +1989,7 @@ function DangerZone({ tenantId, tenantName }) {
|
|
|
1908
1989
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-lg font-semibold text-destructive", children: "Danger Zone" }),
|
|
1909
1990
|
/* @__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." })
|
|
1910
1991
|
] }),
|
|
1911
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", variant: "destructive", onClick: () => setOpen(true), children: "Delete Company" })
|
|
1992
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { size: "sm", variant: "destructive", onClick: () => setOpen(true), children: "Delete Company" })
|
|
1912
1993
|
] }),
|
|
1913
1994
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1914
1995
|
ConfirmDialog,
|
|
@@ -1968,7 +2049,7 @@ var TAG_TITLES = {
|
|
|
1968
2049
|
"image-generation": "Image Generation"
|
|
1969
2050
|
};
|
|
1970
2051
|
function ModelSelector({ value, onChange, disabled }) {
|
|
1971
|
-
const client = useAgentPlaneClient();
|
|
2052
|
+
const client = chunkTZGIXZON_cjs.useAgentPlaneClient();
|
|
1972
2053
|
const [open, setOpen] = React3.useState(false);
|
|
1973
2054
|
const [models, setModels] = React3.useState(null);
|
|
1974
2055
|
const [loading, setLoading] = React3.useState(false);
|
|
@@ -2172,7 +2253,7 @@ function ModelSelector({ value, onChange, disabled }) {
|
|
|
2172
2253
|
] });
|
|
2173
2254
|
}
|
|
2174
2255
|
function AddAgentDialog({ onCreated }) {
|
|
2175
|
-
const client = useAgentPlaneClient();
|
|
2256
|
+
const client = chunkTZGIXZON_cjs.useAgentPlaneClient();
|
|
2176
2257
|
const [open, setOpen] = React3.useState(false);
|
|
2177
2258
|
const [saving, setSaving] = React3.useState(false);
|
|
2178
2259
|
const [error, setError] = React3.useState("");
|
|
@@ -2224,7 +2305,7 @@ function AddAgentDialog({ onCreated }) {
|
|
|
2224
2305
|
}
|
|
2225
2306
|
}
|
|
2226
2307
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2227
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "outline", size: "sm", onClick: () => setOpen(true), children: "+ New Agent" }),
|
|
2308
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { variant: "outline", size: "sm", onClick: () => setOpen(true), children: "+ New Agent" }),
|
|
2228
2309
|
/* @__PURE__ */ jsxRuntime.jsx(Dialog, { open, onOpenChange: (v) => {
|
|
2229
2310
|
setOpen(v);
|
|
2230
2311
|
if (!v) resetForm();
|
|
@@ -2232,7 +2313,7 @@ function AddAgentDialog({ onCreated }) {
|
|
|
2232
2313
|
/* @__PURE__ */ jsxRuntime.jsx(DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { children: "Add Agent" }) }),
|
|
2233
2314
|
/* @__PURE__ */ jsxRuntime.jsxs(DialogBody, { className: "space-y-3", children: [
|
|
2234
2315
|
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2235
|
-
Input,
|
|
2316
|
+
chunkTZGIXZON_cjs.Input,
|
|
2236
2317
|
{
|
|
2237
2318
|
value: form.name,
|
|
2238
2319
|
onChange: (e) => setForm((f) => ({ ...f, name: e.target.value })),
|
|
@@ -2241,7 +2322,7 @@ function AddAgentDialog({ onCreated }) {
|
|
|
2241
2322
|
}
|
|
2242
2323
|
) }),
|
|
2243
2324
|
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Description", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2244
|
-
Input,
|
|
2325
|
+
chunkTZGIXZON_cjs.Input,
|
|
2245
2326
|
{
|
|
2246
2327
|
value: form.description,
|
|
2247
2328
|
onChange: (e) => setForm((f) => ({ ...f, description: e.target.value })),
|
|
@@ -2255,13 +2336,13 @@ function AddAgentDialog({ onCreated }) {
|
|
|
2255
2336
|
onChange: (modelId) => setForm((f) => ({
|
|
2256
2337
|
...f,
|
|
2257
2338
|
model: modelId,
|
|
2258
|
-
runner: supportsClaudeRunner(modelId) ? f.runner : "vercel-ai-sdk",
|
|
2259
|
-
permission_mode: supportsClaudeRunner(modelId) ? f.permission_mode : "bypassPermissions"
|
|
2339
|
+
runner: chunkTZGIXZON_cjs.supportsClaudeRunner(modelId) ? f.runner : "vercel-ai-sdk",
|
|
2340
|
+
permission_mode: chunkTZGIXZON_cjs.supportsClaudeRunner(modelId) ? f.permission_mode : "bypassPermissions"
|
|
2260
2341
|
}))
|
|
2261
2342
|
}
|
|
2262
2343
|
) }),
|
|
2263
2344
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-3", children: [
|
|
2264
|
-
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Runner", children: supportsClaudeRunner(form.model) ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2345
|
+
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Runner", children: chunkTZGIXZON_cjs.supportsClaudeRunner(form.model) ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2265
2346
|
Select,
|
|
2266
2347
|
{
|
|
2267
2348
|
value: form.runner || "claude-agent-sdk",
|
|
@@ -2277,7 +2358,7 @@ function AddAgentDialog({ onCreated }) {
|
|
|
2277
2358
|
{
|
|
2278
2359
|
value: form.permission_mode,
|
|
2279
2360
|
onChange: (e) => setForm((f) => ({ ...f, permission_mode: e.target.value })),
|
|
2280
|
-
disabled: !supportsClaudeRunner(form.model) || form.runner === "vercel-ai-sdk",
|
|
2361
|
+
disabled: !chunkTZGIXZON_cjs.supportsClaudeRunner(form.model) || form.runner === "vercel-ai-sdk",
|
|
2281
2362
|
children: [
|
|
2282
2363
|
/* @__PURE__ */ jsxRuntime.jsx("option", { value: "default", children: "default" }),
|
|
2283
2364
|
/* @__PURE__ */ jsxRuntime.jsx("option", { value: "acceptEdits", children: "acceptEdits" }),
|
|
@@ -2289,7 +2370,7 @@ function AddAgentDialog({ onCreated }) {
|
|
|
2289
2370
|
] }),
|
|
2290
2371
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-3 gap-3", children: [
|
|
2291
2372
|
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Max Turns", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2292
|
-
Input,
|
|
2373
|
+
chunkTZGIXZON_cjs.Input,
|
|
2293
2374
|
{
|
|
2294
2375
|
type: "number",
|
|
2295
2376
|
min: "1",
|
|
@@ -2302,7 +2383,7 @@ function AddAgentDialog({ onCreated }) {
|
|
|
2302
2383
|
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Max Budget", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
2303
2384
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-sm text-muted-foreground", children: "$" }),
|
|
2304
2385
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2305
|
-
Input,
|
|
2386
|
+
chunkTZGIXZON_cjs.Input,
|
|
2306
2387
|
{
|
|
2307
2388
|
type: "number",
|
|
2308
2389
|
step: "0.01",
|
|
@@ -2317,7 +2398,7 @@ function AddAgentDialog({ onCreated }) {
|
|
|
2317
2398
|
] }) }),
|
|
2318
2399
|
/* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Max Runtime", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
2319
2400
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2320
|
-
Input,
|
|
2401
|
+
chunkTZGIXZON_cjs.Input,
|
|
2321
2402
|
{
|
|
2322
2403
|
type: "number",
|
|
2323
2404
|
min: "1",
|
|
@@ -2334,17 +2415,17 @@ function AddAgentDialog({ onCreated }) {
|
|
|
2334
2415
|
/* @__PURE__ */ jsxRuntime.jsx(FormError, { error })
|
|
2335
2416
|
] }),
|
|
2336
2417
|
/* @__PURE__ */ jsxRuntime.jsxs(DialogFooter, { children: [
|
|
2337
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { type: "button", variant: "outline", size: "sm", onClick: () => {
|
|
2418
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { type: "button", variant: "outline", size: "sm", onClick: () => {
|
|
2338
2419
|
setOpen(false);
|
|
2339
2420
|
resetForm();
|
|
2340
2421
|
}, children: "Cancel" }),
|
|
2341
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { type: "submit", size: "sm", disabled: saving, children: saving ? "Creating..." : "Create Agent" })
|
|
2422
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { type: "submit", size: "sm", disabled: saving, children: saving ? "Creating..." : "Create Agent" })
|
|
2342
2423
|
] })
|
|
2343
2424
|
] }) }) })
|
|
2344
2425
|
] });
|
|
2345
2426
|
}
|
|
2346
2427
|
function DeleteAgentButton({ agentId, agentName, onDeleted }) {
|
|
2347
|
-
const client = useAgentPlaneClient();
|
|
2428
|
+
const client = chunkTZGIXZON_cjs.useAgentPlaneClient();
|
|
2348
2429
|
const [open, setOpen] = React3.useState(false);
|
|
2349
2430
|
const [deleting, setDeleting] = React3.useState(false);
|
|
2350
2431
|
const [error, setError] = React3.useState("");
|
|
@@ -2363,7 +2444,7 @@ function DeleteAgentButton({ agentId, agentName, onDeleted }) {
|
|
|
2363
2444
|
}
|
|
2364
2445
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2365
2446
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2366
|
-
Button,
|
|
2447
|
+
chunkTZGIXZON_cjs.Button,
|
|
2367
2448
|
{
|
|
2368
2449
|
size: "sm",
|
|
2369
2450
|
variant: "ghost",
|
|
@@ -2393,9 +2474,9 @@ function DeleteAgentButton({ agentId, agentName, onDeleted }) {
|
|
|
2393
2474
|
] });
|
|
2394
2475
|
}
|
|
2395
2476
|
function AgentListPage() {
|
|
2396
|
-
const { LinkComponent, basePath } = useNavigation();
|
|
2397
|
-
const { mutate } =
|
|
2398
|
-
const { data, error, isLoading } = useApi(
|
|
2477
|
+
const { LinkComponent, basePath } = chunkTZGIXZON_cjs.useNavigation();
|
|
2478
|
+
const { mutate } = swr.useSWRConfig();
|
|
2479
|
+
const { data, error, isLoading } = chunkTZGIXZON_cjs.useApi(
|
|
2399
2480
|
"agents",
|
|
2400
2481
|
(client) => client.agents.list()
|
|
2401
2482
|
);
|
|
@@ -2405,8 +2486,8 @@ function AgentListPage() {
|
|
|
2405
2486
|
}, [mutate]);
|
|
2406
2487
|
if (isLoading) {
|
|
2407
2488
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2408
|
-
/* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-9 w-32" }),
|
|
2409
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-12 w-full" }, i)) })
|
|
2489
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-9 w-32" }),
|
|
2490
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-12 w-full" }, i)) })
|
|
2410
2491
|
] });
|
|
2411
2492
|
}
|
|
2412
2493
|
if (error) {
|
|
@@ -2431,11 +2512,11 @@ function AgentListPage() {
|
|
|
2431
2512
|
agents.map((a) => /* @__PURE__ */ jsxRuntime.jsxs(AdminTableRow, { children: [
|
|
2432
2513
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 font-medium", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
2433
2514
|
/* @__PURE__ */ jsxRuntime.jsx(LinkComponent, { href: `${basePath}/agents/${a.id}`, className: "text-primary hover:underline", children: a.name }),
|
|
2434
|
-
a.a2a_enabled && /* @__PURE__ */ jsxRuntime.jsx(Badge, { className: "text-[10px] px-1.5 py-0 bg-indigo-500/10 text-indigo-400 border-indigo-500/20", children: "A2A" })
|
|
2515
|
+
a.a2a_enabled && /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { className: "text-[10px] px-1.5 py-0 bg-indigo-500/10 text-indigo-400 border-indigo-500/20", children: "A2A" })
|
|
2435
2516
|
] }) }),
|
|
2436
2517
|
/* @__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" }),
|
|
2437
2518
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 font-mono text-xs text-muted-foreground", children: a.model }),
|
|
2438
|
-
/* @__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(Badge, { variant: "secondary", className: "text-xs", children: t }, t)) }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-xs", children: "\u2014" }) }),
|
|
2519
|
+
/* @__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(chunkTZGIXZON_cjs.Badge, { variant: "secondary", className: "text-xs", children: t }, t)) }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-xs", children: "\u2014" }) }),
|
|
2439
2520
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-right", children: (a.skills ?? []).length }),
|
|
2440
2521
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-right", children: (a.plugins ?? []).length }),
|
|
2441
2522
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "p-3 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(DeleteAgentButton, { agentId: a.id, agentName: a.name, onDeleted: invalidate }) })
|
|
@@ -2446,7 +2527,7 @@ function AgentListPage() {
|
|
|
2446
2527
|
] });
|
|
2447
2528
|
}
|
|
2448
2529
|
function AgentEditForm({ agent, onSaved }) {
|
|
2449
|
-
const client = useAgentPlaneClient();
|
|
2530
|
+
const client = chunkTZGIXZON_cjs.useAgentPlaneClient();
|
|
2450
2531
|
const [name, setName] = React3.useState(agent.name);
|
|
2451
2532
|
const [description, setDescription] = React3.useState(agent.description ?? "");
|
|
2452
2533
|
const [model, setModel] = React3.useState(agent.model);
|
|
@@ -2482,13 +2563,13 @@ function AgentEditForm({ agent, onSaved }) {
|
|
|
2482
2563
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-muted-foreground/25 p-5", children: [
|
|
2483
2564
|
/* @__PURE__ */ jsxRuntime.jsxs(SectionHeader, { title: "Details", children: [
|
|
2484
2565
|
error && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-destructive mr-2", children: error }),
|
|
2485
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { onClick: handleSave, disabled: saving || !isDirty, size: "sm", children: saving ? "Saving..." : "Save Changes" })
|
|
2566
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { onClick: handleSave, disabled: saving || !isDirty, size: "sm", children: saving ? "Saving..." : "Save Changes" })
|
|
2486
2567
|
] }),
|
|
2487
2568
|
/* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
2488
2569
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-12 gap-4", children: [
|
|
2489
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-2", children: /* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(Input, { value: name, onChange: (e) => setName(e.target.value), disabled: saving }) }) }),
|
|
2570
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-2", children: /* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Name", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Input, { value: name, onChange: (e) => setName(e.target.value), disabled: saving }) }) }),
|
|
2490
2571
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-4", children: /* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Description", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2491
|
-
Input,
|
|
2572
|
+
chunkTZGIXZON_cjs.Input,
|
|
2492
2573
|
{
|
|
2493
2574
|
value: description,
|
|
2494
2575
|
onChange: (e) => setDescription(e.target.value),
|
|
@@ -2503,29 +2584,29 @@ function AgentEditForm({ agent, onSaved }) {
|
|
|
2503
2584
|
disabled: saving,
|
|
2504
2585
|
onChange: (modelId) => {
|
|
2505
2586
|
setModel(modelId);
|
|
2506
|
-
if (!supportsClaudeRunner(modelId)) {
|
|
2587
|
+
if (!chunkTZGIXZON_cjs.supportsClaudeRunner(modelId)) {
|
|
2507
2588
|
setRunner("vercel-ai-sdk");
|
|
2508
2589
|
setPermissionMode("bypassPermissions");
|
|
2509
2590
|
}
|
|
2510
2591
|
}
|
|
2511
2592
|
}
|
|
2512
2593
|
) }) }),
|
|
2513
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-3", children: /* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Runner", children: 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: [
|
|
2594
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-3", children: /* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Runner", children: chunkTZGIXZON_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: [
|
|
2514
2595
|
/* @__PURE__ */ jsxRuntime.jsx("option", { value: "claude-agent-sdk", children: "Claude SDK" }),
|
|
2515
2596
|
/* @__PURE__ */ jsxRuntime.jsx("option", { value: "vercel-ai-sdk", children: "AI SDK" })
|
|
2516
2597
|
] }) : /* @__PURE__ */ jsxRuntime.jsx(Select, { value: "vercel-ai-sdk", disabled: true, children: /* @__PURE__ */ jsxRuntime.jsx("option", { value: "vercel-ai-sdk", children: "AI SDK" }) }) }) })
|
|
2517
2598
|
] }),
|
|
2518
2599
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-12 gap-4", children: [
|
|
2519
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-2", children: /* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Max Turns", children: /* @__PURE__ */ jsxRuntime.jsx(Input, { type: "number", min: "1", max: "1000", value: maxTurns, onChange: (e) => setMaxTurns(e.target.value), disabled: saving }) }) }),
|
|
2600
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-2", children: /* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Max Turns", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Input, { type: "number", min: "1", max: "1000", value: maxTurns, onChange: (e) => setMaxTurns(e.target.value), disabled: saving }) }) }),
|
|
2520
2601
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-2", children: /* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Max Budget", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
2521
2602
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-sm text-muted-foreground", children: "$" }),
|
|
2522
|
-
/* @__PURE__ */ jsxRuntime.jsx(Input, { type: "number", step: "0.01", min: "0.01", max: "100", value: maxBudget, onChange: (e) => setMaxBudget(e.target.value), className: "pl-6", disabled: saving })
|
|
2603
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_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 })
|
|
2523
2604
|
] }) }) }),
|
|
2524
2605
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-2", children: /* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Max Runtime", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
2525
|
-
/* @__PURE__ */ jsxRuntime.jsx(Input, { type: "number", min: "1", max: "60", value: maxRuntime, onChange: (e) => setMaxRuntime(e.target.value), className: "pr-10", disabled: saving }),
|
|
2606
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Input, { type: "number", min: "1", max: "60", value: maxRuntime, onChange: (e) => setMaxRuntime(e.target.value), className: "pr-10", disabled: saving }),
|
|
2526
2607
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute right-3 top-1/2 -translate-y-1/2 text-sm text-muted-foreground", children: "min" })
|
|
2527
2608
|
] }) }) }),
|
|
2528
|
-
supportsClaudeRunner(model) && (runner === "" || runner === "claude-agent-sdk") && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-3", children: /* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Permission Mode", children: /* @__PURE__ */ jsxRuntime.jsxs(Select, { value: permissionMode, onChange: (e) => setPermissionMode(e.target.value), disabled: saving, children: [
|
|
2609
|
+
chunkTZGIXZON_cjs.supportsClaudeRunner(model) && (runner === "" || runner === "claude-agent-sdk") && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-3", children: /* @__PURE__ */ jsxRuntime.jsx(FormField, { label: "Permission Mode", children: /* @__PURE__ */ jsxRuntime.jsxs(Select, { value: permissionMode, onChange: (e) => setPermissionMode(e.target.value), disabled: saving, children: [
|
|
2529
2610
|
/* @__PURE__ */ jsxRuntime.jsx("option", { value: "default", children: "default" }),
|
|
2530
2611
|
/* @__PURE__ */ jsxRuntime.jsx("option", { value: "acceptEdits", children: "acceptEdits" }),
|
|
2531
2612
|
/* @__PURE__ */ jsxRuntime.jsx("option", { value: "bypassPermissions", children: "bypassPermissions" }),
|
|
@@ -2536,7 +2617,7 @@ function AgentEditForm({ agent, onSaved }) {
|
|
|
2536
2617
|
] });
|
|
2537
2618
|
}
|
|
2538
2619
|
function ToolkitMultiselect({ value, onChange }) {
|
|
2539
|
-
const client = useAgentPlaneClient();
|
|
2620
|
+
const client = chunkTZGIXZON_cjs.useAgentPlaneClient();
|
|
2540
2621
|
const [open, setOpen] = React3.useState(false);
|
|
2541
2622
|
const [search, setSearch] = React3.useState("");
|
|
2542
2623
|
const [toolkits, setToolkits] = React3.useState([]);
|
|
@@ -2662,7 +2743,7 @@ function ToolsModal({
|
|
|
2662
2743
|
onOpenChange,
|
|
2663
2744
|
onSave
|
|
2664
2745
|
}) {
|
|
2665
|
-
const client = useAgentPlaneClient();
|
|
2746
|
+
const client = chunkTZGIXZON_cjs.useAgentPlaneClient();
|
|
2666
2747
|
const [tools, setTools] = React3.useState([]);
|
|
2667
2748
|
const [loading, setLoading] = React3.useState(false);
|
|
2668
2749
|
const [search, setSearch] = React3.useState("");
|
|
@@ -2733,7 +2814,7 @@ function ToolsModal({
|
|
|
2733
2814
|
] })
|
|
2734
2815
|
] }),
|
|
2735
2816
|
/* @__PURE__ */ jsxRuntime.jsxs(DialogBody, { className: "space-y-3", children: [
|
|
2736
|
-
/* @__PURE__ */ jsxRuntime.jsx(Input, { placeholder: "Search tools...", value: search, onChange: (e) => setSearch(e.target.value), className: "h-8 text-sm" }),
|
|
2817
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Input, { placeholder: "Search tools...", value: search, onChange: (e) => setSearch(e.target.value), className: "h-8 text-sm" }),
|
|
2737
2818
|
loading ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground py-4 text-center", children: "Loading tools..." }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2738
2819
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between text-xs text-muted-foreground", children: [
|
|
2739
2820
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: selected.size === 0 ? "All tools (no filter)" : `${selected.size} / ${tools.length} selected` }),
|
|
@@ -2752,8 +2833,8 @@ function ToolsModal({
|
|
|
2752
2833
|
] })
|
|
2753
2834
|
] }),
|
|
2754
2835
|
/* @__PURE__ */ jsxRuntime.jsxs(DialogFooter, { children: [
|
|
2755
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", variant: "outline", onClick: () => onOpenChange(false), children: "Cancel" }),
|
|
2756
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", onClick: handleSave, disabled: saving || loading, children: saving ? "Saving..." : "Save" })
|
|
2836
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { size: "sm", variant: "outline", onClick: () => onOpenChange(false), children: "Cancel" }),
|
|
2837
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { size: "sm", onClick: handleSave, disabled: saving || loading, children: saving ? "Saving..." : "Save" })
|
|
2757
2838
|
] })
|
|
2758
2839
|
] }) });
|
|
2759
2840
|
}
|
|
@@ -2767,7 +2848,7 @@ function McpToolsModal({
|
|
|
2767
2848
|
onOpenChange,
|
|
2768
2849
|
onSave
|
|
2769
2850
|
}) {
|
|
2770
|
-
const client = useAgentPlaneClient();
|
|
2851
|
+
const client = chunkTZGIXZON_cjs.useAgentPlaneClient();
|
|
2771
2852
|
const [tools, setTools] = React3.useState([]);
|
|
2772
2853
|
const [loading, setLoading] = React3.useState(false);
|
|
2773
2854
|
const [search, setSearch] = React3.useState("");
|
|
@@ -2840,7 +2921,7 @@ function McpToolsModal({
|
|
|
2840
2921
|
] })
|
|
2841
2922
|
] }),
|
|
2842
2923
|
/* @__PURE__ */ jsxRuntime.jsxs(DialogBody, { className: "space-y-3", children: [
|
|
2843
|
-
/* @__PURE__ */ jsxRuntime.jsx(Input, { placeholder: "Search tools...", value: search, onChange: (e) => setSearch(e.target.value), className: "h-8 text-sm" }),
|
|
2924
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Input, { placeholder: "Search tools...", value: search, onChange: (e) => setSearch(e.target.value), className: "h-8 text-sm" }),
|
|
2844
2925
|
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: [
|
|
2845
2926
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between text-xs text-muted-foreground", children: [
|
|
2846
2927
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: selected.size === 0 ? "All tools (no filter)" : `${selected.size} / ${tools.length} selected` }),
|
|
@@ -2859,13 +2940,13 @@ function McpToolsModal({
|
|
|
2859
2940
|
] })
|
|
2860
2941
|
] }),
|
|
2861
2942
|
/* @__PURE__ */ jsxRuntime.jsxs(DialogFooter, { children: [
|
|
2862
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", variant: "outline", onClick: () => onOpenChange(false), children: "Cancel" }),
|
|
2863
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", onClick: handleSave, disabled: saving || loading, children: saving ? "Saving..." : "Save" })
|
|
2943
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { size: "sm", variant: "outline", onClick: () => onOpenChange(false), children: "Cancel" }),
|
|
2944
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { size: "sm", onClick: handleSave, disabled: saving || loading, children: saving ? "Saving..." : "Save" })
|
|
2864
2945
|
] })
|
|
2865
2946
|
] }) });
|
|
2866
2947
|
}
|
|
2867
2948
|
function AgentConnectorsManager({ agentId, toolkits: initialToolkits, composioAllowedTools: initialAllowedTools, onChanged }) {
|
|
2868
|
-
const client = useAgentPlaneClient();
|
|
2949
|
+
const client = chunkTZGIXZON_cjs.useAgentPlaneClient();
|
|
2869
2950
|
const [localToolkits, setLocalToolkits] = React3.useState(initialToolkits);
|
|
2870
2951
|
const [connectors, setConnectors] = React3.useState([]);
|
|
2871
2952
|
const [loading, setLoading] = React3.useState(true);
|
|
@@ -3112,7 +3193,7 @@ function AgentConnectorsManager({ agentId, toolkits: initialToolkits, composioAl
|
|
|
3112
3193
|
),
|
|
3113
3194
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-muted-foreground/25 p-5", children: [
|
|
3114
3195
|
/* @__PURE__ */ jsxRuntime.jsx(SectionHeader, { title: "Connectors", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3115
|
-
Button,
|
|
3196
|
+
chunkTZGIXZON_cjs.Button,
|
|
3116
3197
|
{
|
|
3117
3198
|
size: "sm",
|
|
3118
3199
|
variant: "outline",
|
|
@@ -3131,11 +3212,11 @@ function AgentConnectorsManager({ agentId, toolkits: initialToolkits, composioAl
|
|
|
3131
3212
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 min-w-0", children: [
|
|
3132
3213
|
s.logo_url && /* @__PURE__ */ jsxRuntime.jsx("img", { src: s.logo_url, alt: "", className: "w-5 h-5 rounded-sm object-contain flex-shrink-0" }),
|
|
3133
3214
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium truncate", children: s.name }),
|
|
3134
|
-
/* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "outline", className: "text-xs flex-shrink-0 ml-auto", children: s.slug })
|
|
3215
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "outline", className: "text-xs flex-shrink-0 ml-auto", children: s.slug })
|
|
3135
3216
|
] }),
|
|
3136
3217
|
s.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground truncate", children: s.description }),
|
|
3137
3218
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3138
|
-
Button,
|
|
3219
|
+
chunkTZGIXZON_cjs.Button,
|
|
3139
3220
|
{
|
|
3140
3221
|
size: "sm",
|
|
3141
3222
|
variant: "outline",
|
|
@@ -3147,8 +3228,8 @@ function AgentConnectorsManager({ agentId, toolkits: initialToolkits, composioAl
|
|
|
3147
3228
|
)
|
|
3148
3229
|
] }, s.id)) }),
|
|
3149
3230
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
|
|
3150
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", variant: "ghost", onClick: () => setShowAdd(false), children: "Cancel" }),
|
|
3151
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", onClick: handleApplyAdd, disabled: applyingToolkits, children: applyingToolkits ? "Saving..." : "Apply" })
|
|
3231
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { size: "sm", variant: "ghost", onClick: () => setShowAdd(false), children: "Cancel" }),
|
|
3232
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { size: "sm", onClick: handleApplyAdd, disabled: applyingToolkits, children: applyingToolkits ? "Saving..." : "Apply" })
|
|
3152
3233
|
] })
|
|
3153
3234
|
] }),
|
|
3154
3235
|
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: [
|
|
@@ -3156,7 +3237,7 @@ function AgentConnectorsManager({ agentId, toolkits: initialToolkits, composioAl
|
|
|
3156
3237
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3157
3238
|
c.logo && /* @__PURE__ */ jsxRuntime.jsx("img", { src: c.logo, alt: "", className: "w-5 h-5 rounded-sm object-contain flex-shrink-0" }),
|
|
3158
3239
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium truncate flex-1", children: c.name }),
|
|
3159
|
-
/* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: schemeBadgeVariant(c.authScheme ?? c.auth_scheme), className: "text-xs flex-shrink-0", children: c.authScheme ?? c.auth_scheme }),
|
|
3240
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: schemeBadgeVariant(c.authScheme ?? c.auth_scheme), className: "text-xs flex-shrink-0", children: c.authScheme ?? c.auth_scheme }),
|
|
3160
3241
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3161
3242
|
"button",
|
|
3162
3243
|
{
|
|
@@ -3188,7 +3269,7 @@ function AgentConnectorsManager({ agentId, toolkits: initialToolkits, composioAl
|
|
|
3188
3269
|
(c.authScheme ?? c.auth_scheme) === "API_KEY" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1 mt-auto", children: [
|
|
3189
3270
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3190
3271
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3191
|
-
Input,
|
|
3272
|
+
chunkTZGIXZON_cjs.Input,
|
|
3192
3273
|
{
|
|
3193
3274
|
type: "password",
|
|
3194
3275
|
placeholder: c.connected || c.connectionStatus === "ACTIVE" ? "Update API key\u2026" : "Enter API key\u2026",
|
|
@@ -3198,7 +3279,7 @@ function AgentConnectorsManager({ agentId, toolkits: initialToolkits, composioAl
|
|
|
3198
3279
|
}
|
|
3199
3280
|
),
|
|
3200
3281
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3201
|
-
Button,
|
|
3282
|
+
chunkTZGIXZON_cjs.Button,
|
|
3202
3283
|
{
|
|
3203
3284
|
size: "sm",
|
|
3204
3285
|
variant: "outline",
|
|
@@ -3211,14 +3292,14 @@ function AgentConnectorsManager({ agentId, toolkits: initialToolkits, composioAl
|
|
|
3211
3292
|
] }),
|
|
3212
3293
|
/* @__PURE__ */ jsxRuntime.jsx(FormError, { error: errors[c.slug] })
|
|
3213
3294
|
] }),
|
|
3214
|
-
((c.authScheme ?? c.auth_scheme) === "OAUTH2" || (c.authScheme ?? c.auth_scheme) === "OAUTH1") && c.connectionStatus !== "ACTIVE" && !c.connected && /* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", variant: "outline", className: "h-7 text-xs w-full mt-auto", onClick: () => handleComposioOauth(c.slug), children: "Connect" }),
|
|
3215
|
-
((c.authScheme ?? c.auth_scheme) === "OAUTH2" || (c.authScheme ?? c.auth_scheme) === "OAUTH1") && (c.connectionStatus === "ACTIVE" || c.connected) && /* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", variant: "ghost", className: "h-7 text-xs text-muted-foreground w-full mt-auto", onClick: () => handleComposioOauth(c.slug), children: "Reconnect" })
|
|
3295
|
+
((c.authScheme ?? c.auth_scheme) === "OAUTH2" || (c.authScheme ?? c.auth_scheme) === "OAUTH1") && c.connectionStatus !== "ACTIVE" && !c.connected && /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { size: "sm", variant: "outline", className: "h-7 text-xs w-full mt-auto", onClick: () => handleComposioOauth(c.slug), children: "Connect" }),
|
|
3296
|
+
((c.authScheme ?? c.auth_scheme) === "OAUTH2" || (c.authScheme ?? c.auth_scheme) === "OAUTH1") && (c.connectionStatus === "ACTIVE" || c.connected) && /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { size: "sm", variant: "ghost", className: "h-7 text-xs text-muted-foreground w-full mt-auto", onClick: () => handleComposioOauth(c.slug), children: "Reconnect" })
|
|
3216
3297
|
] }, `composio-${c.slug}`)),
|
|
3217
3298
|
mcpConnections.map((c) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-border p-3 flex flex-col gap-2", children: [
|
|
3218
3299
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3219
3300
|
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" }),
|
|
3220
3301
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium truncate flex-1", children: c.server_name }),
|
|
3221
|
-
/* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "outline", className: "text-xs flex-shrink-0", children: c.server_slug }),
|
|
3302
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "outline", className: "text-xs flex-shrink-0", children: c.server_slug }),
|
|
3222
3303
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3223
3304
|
"button",
|
|
3224
3305
|
{
|
|
@@ -3241,7 +3322,7 @@ function AgentConnectorsManager({ agentId, toolkits: initialToolkits, composioAl
|
|
|
3241
3322
|
}
|
|
3242
3323
|
),
|
|
3243
3324
|
(c.status === "expired" || c.status === "failed") && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3244
|
-
Button,
|
|
3325
|
+
chunkTZGIXZON_cjs.Button,
|
|
3245
3326
|
{
|
|
3246
3327
|
size: "sm",
|
|
3247
3328
|
variant: "ghost",
|
|
@@ -3517,7 +3598,7 @@ function FileTreeEditor({
|
|
|
3517
3598
|
}),
|
|
3518
3599
|
!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: [
|
|
3519
3600
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3520
|
-
Input,
|
|
3601
|
+
chunkTZGIXZON_cjs.Input,
|
|
3521
3602
|
{
|
|
3522
3603
|
value: newFileName,
|
|
3523
3604
|
onChange: (e) => setNewFileName(e.target.value),
|
|
@@ -3527,7 +3608,7 @@ function FileTreeEditor({
|
|
|
3527
3608
|
autoFocus: true
|
|
3528
3609
|
}
|
|
3529
3610
|
),
|
|
3530
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { onClick: () => addFileInDir(node.fullPath), size: "sm", className: "h-6 text-xs px-2", children: "+" })
|
|
3611
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { onClick: () => addFileInDir(node.fullPath), size: "sm", className: "h-6 text-xs px-2", children: "+" })
|
|
3531
3612
|
] }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
3532
3613
|
"button",
|
|
3533
3614
|
{
|
|
@@ -3546,10 +3627,10 @@ function FileTreeEditor({
|
|
|
3546
3627
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-3", children: [
|
|
3547
3628
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
3548
3629
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-lg font-semibold", children: title }),
|
|
3549
|
-
isDirty && !readOnly && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "destructive", className: "text-xs", children: "Unsaved changes" }),
|
|
3550
|
-
readOnly && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", className: "text-xs", children: "Read-only" })
|
|
3630
|
+
isDirty && !readOnly && /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "destructive", className: "text-xs", children: "Unsaved changes" }),
|
|
3631
|
+
readOnly && /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "secondary", className: "text-xs", children: "Read-only" })
|
|
3551
3632
|
] }),
|
|
3552
|
-
!readOnly && !hideSave && /* @__PURE__ */ jsxRuntime.jsx(Button, { onClick: handleSave, disabled: saving || !isDirty, size: "sm", children: saving ? "Saving..." : saveLabel })
|
|
3633
|
+
!readOnly && !hideSave && /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { onClick: handleSave, disabled: saving || !isDirty, size: "sm", children: saving ? "Saving..." : saveLabel })
|
|
3553
3634
|
] }),
|
|
3554
3635
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-4 min-h-[500px]", children: [
|
|
3555
3636
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-64 shrink-0 border border-border rounded-md overflow-hidden", children: [
|
|
@@ -3569,7 +3650,7 @@ function FileTreeEditor({
|
|
|
3569
3650
|
] }),
|
|
3570
3651
|
showAddFolder && !readOnly && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-2 border-b border-border flex gap-1", children: [
|
|
3571
3652
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3572
|
-
Input,
|
|
3653
|
+
chunkTZGIXZON_cjs.Input,
|
|
3573
3654
|
{
|
|
3574
3655
|
value: newFolderName,
|
|
3575
3656
|
onChange: (e) => setNewFolderName(e.target.value),
|
|
@@ -3579,7 +3660,7 @@ function FileTreeEditor({
|
|
|
3579
3660
|
autoFocus: true
|
|
3580
3661
|
}
|
|
3581
3662
|
),
|
|
3582
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { onClick: addFolder, size: "sm", className: "h-7 text-xs px-2", children: "Add" })
|
|
3663
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { onClick: addFolder, size: "sm", className: "h-7 text-xs px-2", children: "Add" })
|
|
3583
3664
|
] }),
|
|
3584
3665
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-sm overflow-y-auto", children: [
|
|
3585
3666
|
tree.rootFiles.map((file) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -3627,7 +3708,7 @@ function FileTreeEditor({
|
|
|
3627
3708
|
] });
|
|
3628
3709
|
}
|
|
3629
3710
|
function AgentSkillManager({ agentId, initialSkills, onSaved }) {
|
|
3630
|
-
const client = useAgentPlaneClient();
|
|
3711
|
+
const client = chunkTZGIXZON_cjs.useAgentPlaneClient();
|
|
3631
3712
|
const initialFiles = React3.useMemo(
|
|
3632
3713
|
() => initialSkills.flatMap(
|
|
3633
3714
|
(s) => s.files.map((f) => ({
|
|
@@ -3673,7 +3754,7 @@ function AgentSkillManager({ agentId, initialSkills, onSaved }) {
|
|
|
3673
3754
|
);
|
|
3674
3755
|
}
|
|
3675
3756
|
function AgentPluginManager({ agentId, initialPlugins, onSaved }) {
|
|
3676
|
-
const client = useAgentPlaneClient();
|
|
3757
|
+
const client = chunkTZGIXZON_cjs.useAgentPlaneClient();
|
|
3677
3758
|
const [plugins, setPlugins] = React3.useState(initialPlugins);
|
|
3678
3759
|
const [saving, setSaving] = React3.useState(false);
|
|
3679
3760
|
const [dialogOpen, setDialogOpen] = React3.useState(false);
|
|
@@ -3746,10 +3827,10 @@ function AgentPluginManager({ agentId, initialPlugins, onSaved }) {
|
|
|
3746
3827
|
}
|
|
3747
3828
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-muted-foreground/25 p-5", children: [
|
|
3748
3829
|
/* @__PURE__ */ jsxRuntime.jsx(SectionHeader, { title: "Plugins", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
3749
|
-
isDirty && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "destructive", className: "text-xs", children: "Unsaved changes" }),
|
|
3830
|
+
isDirty && /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "destructive", className: "text-xs", children: "Unsaved changes" }),
|
|
3750
3831
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
3751
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "outline", size: "sm", onClick: () => setDialogOpen(true), children: "Add Plugins" }),
|
|
3752
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { onClick: handleSave, disabled: saving || !isDirty, size: "sm", children: saving ? "Saving..." : "Save Plugins" })
|
|
3832
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { variant: "outline", size: "sm", onClick: () => setDialogOpen(true), children: "Add Plugins" }),
|
|
3833
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { onClick: handleSave, disabled: saving || !isDirty, size: "sm", children: saving ? "Saving..." : "Save Plugins" })
|
|
3753
3834
|
] })
|
|
3754
3835
|
] }) }),
|
|
3755
3836
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
@@ -3766,7 +3847,7 @@ function AgentPluginManager({ agentId, initialPlugins, onSaved }) {
|
|
|
3766
3847
|
] })
|
|
3767
3848
|
] }),
|
|
3768
3849
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3769
|
-
Button,
|
|
3850
|
+
chunkTZGIXZON_cjs.Button,
|
|
3770
3851
|
{
|
|
3771
3852
|
variant: "ghost",
|
|
3772
3853
|
size: "sm",
|
|
@@ -3783,7 +3864,7 @@ function AgentPluginManager({ agentId, initialPlugins, onSaved }) {
|
|
|
3783
3864
|
/* @__PURE__ */ jsxRuntime.jsx(DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { children: "Add Plugins" }) }),
|
|
3784
3865
|
/* @__PURE__ */ jsxRuntime.jsx(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
3866
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-2 flex-wrap", children: marketplaces.map((m) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
3786
|
-
Button,
|
|
3867
|
+
chunkTZGIXZON_cjs.Button,
|
|
3787
3868
|
{
|
|
3788
3869
|
size: "sm",
|
|
3789
3870
|
variant: selectedMarketplace === m.id ? "default" : "outline",
|
|
@@ -3810,9 +3891,9 @@ function AgentPluginManager({ agentId, initialPlugins, onSaved }) {
|
|
|
3810
3891
|
] }),
|
|
3811
3892
|
ap.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground truncate", children: ap.description }),
|
|
3812
3893
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1 mt-1", children: [
|
|
3813
|
-
ap.hasAgents && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", className: "text-[10px] px-1 py-0", children: "Agents" }),
|
|
3814
|
-
ap.hasSkills && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", className: "text-[10px] px-1 py-0", children: "Skills" }),
|
|
3815
|
-
ap.hasMcpJson && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", className: "text-[10px] px-1 py-0", children: "MCP" })
|
|
3894
|
+
ap.hasAgents && /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "secondary", className: "text-[10px] px-1 py-0", children: "Agents" }),
|
|
3895
|
+
ap.hasSkills && /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "secondary", className: "text-[10px] px-1 py-0", children: "Skills" }),
|
|
3896
|
+
ap.hasMcpJson && /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Badge, { variant: "secondary", className: "text-[10px] px-1 py-0", children: "MCP" })
|
|
3816
3897
|
] })
|
|
3817
3898
|
] }),
|
|
3818
3899
|
/* @__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" }) })
|
|
@@ -3822,20 +3903,20 @@ function AgentPluginManager({ agentId, initialPlugins, onSaved }) {
|
|
|
3822
3903
|
);
|
|
3823
3904
|
}) })
|
|
3824
3905
|
] }) }),
|
|
3825
|
-
/* @__PURE__ */ jsxRuntime.jsx(DialogFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", onClick: () => setDialogOpen(false), children: "Done" }) })
|
|
3906
|
+
/* @__PURE__ */ jsxRuntime.jsx(DialogFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { size: "sm", onClick: () => setDialogOpen(false), children: "Done" }) })
|
|
3826
3907
|
] }) })
|
|
3827
3908
|
] })
|
|
3828
3909
|
] });
|
|
3829
3910
|
}
|
|
3830
3911
|
function AgentRuns({ agentId }) {
|
|
3831
|
-
const { LinkComponent, basePath } = useNavigation();
|
|
3832
|
-
const { data, error, isLoading } = useApi(
|
|
3912
|
+
const { LinkComponent, basePath } = chunkTZGIXZON_cjs.useNavigation();
|
|
3913
|
+
const { data, error, isLoading } = chunkTZGIXZON_cjs.useApi(
|
|
3833
3914
|
`agent-runs-${agentId}`,
|
|
3834
3915
|
(client) => client.runs.list({ agent_id: agentId, limit: 50 })
|
|
3835
3916
|
);
|
|
3836
3917
|
const runs = data?.data ?? [];
|
|
3837
3918
|
if (isLoading) {
|
|
3838
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-10 w-full" }, i)) });
|
|
3919
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-10 w-full" }, i)) });
|
|
3839
3920
|
}
|
|
3840
3921
|
if (error) {
|
|
3841
3922
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-destructive text-sm py-4 text-center", children: [
|
|
@@ -3887,7 +3968,7 @@ function AgentA2aInfo({
|
|
|
3887
3968
|
initialTags,
|
|
3888
3969
|
onChanged
|
|
3889
3970
|
}) {
|
|
3890
|
-
const client = useAgentPlaneClient();
|
|
3971
|
+
const client = chunkTZGIXZON_cjs.useAgentPlaneClient();
|
|
3891
3972
|
const [enabled, setEnabled] = React3.useState(initialEnabled);
|
|
3892
3973
|
const [toggling, setToggling] = React3.useState(false);
|
|
3893
3974
|
const [detailsOpen, setDetailsOpen] = React3.useState(false);
|
|
@@ -4056,7 +4137,7 @@ function AgentA2aInfo({
|
|
|
4056
4137
|
] })
|
|
4057
4138
|
] }),
|
|
4058
4139
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
4059
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "outline", size: "sm", onClick: fetchAgentCard, disabled: loading, children: loading ? "Loading..." : cardPreview ? "Hide Agent Card" : "Agent Card" }),
|
|
4140
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Button, { variant: "outline", size: "sm", onClick: fetchAgentCard, disabled: loading, children: loading ? "Loading..." : cardPreview ? "Hide Agent Card" : "Agent Card" }),
|
|
4060
4141
|
cardPreview && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-3 relative", children: [
|
|
4061
4142
|
/* @__PURE__ */ jsxRuntime.jsx("pre", { className: "rounded bg-muted p-4 text-xs font-mono text-foreground overflow-x-auto max-h-96", children: cardPreview }),
|
|
4062
4143
|
/* @__PURE__ */ jsxRuntime.jsx(CopyButton, { text: cardPreview, className: "absolute top-2 right-2" })
|
|
@@ -4067,10 +4148,10 @@ function AgentA2aInfo({
|
|
|
4067
4148
|
] });
|
|
4068
4149
|
}
|
|
4069
4150
|
function AgentDetailPage({ agentId, a2aBaseUrl, tenantSlug }) {
|
|
4070
|
-
const { LinkComponent, basePath } = useNavigation();
|
|
4071
|
-
const { mutate } =
|
|
4151
|
+
const { LinkComponent, basePath } = chunkTZGIXZON_cjs.useNavigation();
|
|
4152
|
+
const { mutate } = swr.useSWRConfig();
|
|
4072
4153
|
const cacheKey = `agent-${agentId}`;
|
|
4073
|
-
const { data: agent, error, isLoading } = useApi(
|
|
4154
|
+
const { data: agent, error, isLoading } = chunkTZGIXZON_cjs.useApi(
|
|
4074
4155
|
cacheKey,
|
|
4075
4156
|
(client) => client.agents.get(agentId)
|
|
4076
4157
|
);
|
|
@@ -4079,9 +4160,9 @@ function AgentDetailPage({ agentId, a2aBaseUrl, tenantSlug }) {
|
|
|
4079
4160
|
}, [mutate, cacheKey]);
|
|
4080
4161
|
if (isLoading) {
|
|
4081
4162
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
4082
|
-
/* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-9 w-40" }),
|
|
4083
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-6 gap-4", children: [1, 2, 3, 4, 5, 6].map((i) => /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-20" }, i)) }),
|
|
4084
|
-
/* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-64 w-full" })
|
|
4163
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-9 w-40" }),
|
|
4164
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-6 gap-4", children: [1, 2, 3, 4, 5, 6].map((i) => /* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-20" }, i)) }),
|
|
4165
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkTZGIXZON_cjs.Skeleton, { className: "h-64 w-full" })
|
|
4085
4166
|
] });
|
|
4086
4167
|
}
|
|
4087
4168
|
if (error) {
|
|
@@ -4095,7 +4176,7 @@ function AgentDetailPage({ agentId, a2aBaseUrl, tenantSlug }) {
|
|
|
4095
4176
|
LinkComponent,
|
|
4096
4177
|
{
|
|
4097
4178
|
href: `${basePath}/agents/${agentId}/playground`,
|
|
4098
|
-
className: buttonVariants({ variant: "outline", size: "sm" }),
|
|
4179
|
+
className: chunkTZGIXZON_cjs.buttonVariants({ variant: "outline", size: "sm" }),
|
|
4099
4180
|
children: "Open Playground"
|
|
4100
4181
|
}
|
|
4101
4182
|
) }),
|
|
@@ -4230,7 +4311,7 @@ function ScheduleCard({
|
|
|
4230
4311
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded border border-muted-foreground/15 p-4 space-y-3", children: [
|
|
4231
4312
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-3", children: [
|
|
4232
4313
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4233
|
-
Input,
|
|
4314
|
+
chunkTZGIXZON_cjs.Input,
|
|
4234
4315
|
{
|
|
4235
4316
|
value: name,
|
|
4236
4317
|
onChange: (e) => setName(e.target.value),
|
|
@@ -4273,7 +4354,7 @@ function ScheduleCard({
|
|
|
4273
4354
|
}
|
|
4274
4355
|
) }),
|
|
4275
4356
|
showTimePicker && /* @__PURE__ */ jsxRuntime.jsx(FormField, { label: `Time (${timezone})`, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4276
|
-
Input,
|
|
4357
|
+
chunkTZGIXZON_cjs.Input,
|
|
4277
4358
|
{
|
|
4278
4359
|
type: "time",
|
|
4279
4360
|
value: time,
|
|
@@ -4314,6 +4395,74 @@ function ScheduleCard({
|
|
|
4314
4395
|
] });
|
|
4315
4396
|
}
|
|
4316
4397
|
|
|
4398
|
+
Object.defineProperty(exports, "AgentPlaneProvider", {
|
|
4399
|
+
enumerable: true,
|
|
4400
|
+
get: function () { return chunkTZGIXZON_cjs.AgentPlaneProvider; }
|
|
4401
|
+
});
|
|
4402
|
+
Object.defineProperty(exports, "Badge", {
|
|
4403
|
+
enumerable: true,
|
|
4404
|
+
get: function () { return chunkTZGIXZON_cjs.Badge; }
|
|
4405
|
+
});
|
|
4406
|
+
Object.defineProperty(exports, "Button", {
|
|
4407
|
+
enumerable: true,
|
|
4408
|
+
get: function () { return chunkTZGIXZON_cjs.Button; }
|
|
4409
|
+
});
|
|
4410
|
+
Object.defineProperty(exports, "Card", {
|
|
4411
|
+
enumerable: true,
|
|
4412
|
+
get: function () { return chunkTZGIXZON_cjs.Card; }
|
|
4413
|
+
});
|
|
4414
|
+
Object.defineProperty(exports, "CardContent", {
|
|
4415
|
+
enumerable: true,
|
|
4416
|
+
get: function () { return chunkTZGIXZON_cjs.CardContent; }
|
|
4417
|
+
});
|
|
4418
|
+
Object.defineProperty(exports, "CardDescription", {
|
|
4419
|
+
enumerable: true,
|
|
4420
|
+
get: function () { return chunkTZGIXZON_cjs.CardDescription; }
|
|
4421
|
+
});
|
|
4422
|
+
Object.defineProperty(exports, "CardHeader", {
|
|
4423
|
+
enumerable: true,
|
|
4424
|
+
get: function () { return chunkTZGIXZON_cjs.CardHeader; }
|
|
4425
|
+
});
|
|
4426
|
+
Object.defineProperty(exports, "CardTitle", {
|
|
4427
|
+
enumerable: true,
|
|
4428
|
+
get: function () { return chunkTZGIXZON_cjs.CardTitle; }
|
|
4429
|
+
});
|
|
4430
|
+
Object.defineProperty(exports, "Input", {
|
|
4431
|
+
enumerable: true,
|
|
4432
|
+
get: function () { return chunkTZGIXZON_cjs.Input; }
|
|
4433
|
+
});
|
|
4434
|
+
Object.defineProperty(exports, "Skeleton", {
|
|
4435
|
+
enumerable: true,
|
|
4436
|
+
get: function () { return chunkTZGIXZON_cjs.Skeleton; }
|
|
4437
|
+
});
|
|
4438
|
+
Object.defineProperty(exports, "badgeVariants", {
|
|
4439
|
+
enumerable: true,
|
|
4440
|
+
get: function () { return chunkTZGIXZON_cjs.badgeVariants; }
|
|
4441
|
+
});
|
|
4442
|
+
Object.defineProperty(exports, "buttonVariants", {
|
|
4443
|
+
enumerable: true,
|
|
4444
|
+
get: function () { return chunkTZGIXZON_cjs.buttonVariants; }
|
|
4445
|
+
});
|
|
4446
|
+
Object.defineProperty(exports, "cn", {
|
|
4447
|
+
enumerable: true,
|
|
4448
|
+
get: function () { return chunkTZGIXZON_cjs.cn; }
|
|
4449
|
+
});
|
|
4450
|
+
Object.defineProperty(exports, "useAgentPlaneClient", {
|
|
4451
|
+
enumerable: true,
|
|
4452
|
+
get: function () { return chunkTZGIXZON_cjs.useAgentPlaneClient; }
|
|
4453
|
+
});
|
|
4454
|
+
Object.defineProperty(exports, "useApi", {
|
|
4455
|
+
enumerable: true,
|
|
4456
|
+
get: function () { return chunkTZGIXZON_cjs.useApi; }
|
|
4457
|
+
});
|
|
4458
|
+
Object.defineProperty(exports, "useAuthError", {
|
|
4459
|
+
enumerable: true,
|
|
4460
|
+
get: function () { return chunkTZGIXZON_cjs.useAuthError; }
|
|
4461
|
+
});
|
|
4462
|
+
Object.defineProperty(exports, "useNavigation", {
|
|
4463
|
+
enumerable: true,
|
|
4464
|
+
get: function () { return chunkTZGIXZON_cjs.useNavigation; }
|
|
4465
|
+
});
|
|
4317
4466
|
exports.AdminTable = AdminTable;
|
|
4318
4467
|
exports.AdminTableHead = AdminTableHead;
|
|
4319
4468
|
exports.AdminTableRow = AdminTableRow;
|
|
@@ -4322,18 +4471,10 @@ exports.AgentConnectorsManager = AgentConnectorsManager;
|
|
|
4322
4471
|
exports.AgentDetailPage = AgentDetailPage;
|
|
4323
4472
|
exports.AgentEditForm = AgentEditForm;
|
|
4324
4473
|
exports.AgentListPage = AgentListPage;
|
|
4325
|
-
exports.AgentPlaneProvider = AgentPlaneProvider;
|
|
4326
4474
|
exports.AgentPluginManager = AgentPluginManager;
|
|
4327
4475
|
exports.AgentRuns = AgentRuns;
|
|
4328
4476
|
exports.AgentScheduleForm = AgentScheduleForm;
|
|
4329
4477
|
exports.AgentSkillManager = AgentSkillManager;
|
|
4330
|
-
exports.Badge = Badge;
|
|
4331
|
-
exports.Button = Button;
|
|
4332
|
-
exports.Card = Card;
|
|
4333
|
-
exports.CardContent = CardContent;
|
|
4334
|
-
exports.CardDescription = CardDescription;
|
|
4335
|
-
exports.CardHeader = CardHeader;
|
|
4336
|
-
exports.CardTitle = CardTitle;
|
|
4337
4478
|
exports.ConfirmDialog = ConfirmDialog;
|
|
4338
4479
|
exports.CopyButton = CopyButton;
|
|
4339
4480
|
exports.DashboardPage = DashboardPage;
|
|
@@ -4348,7 +4489,6 @@ exports.DialogTitle = DialogTitle;
|
|
|
4348
4489
|
exports.EmptyRow = EmptyRow;
|
|
4349
4490
|
exports.FormError = FormError;
|
|
4350
4491
|
exports.FormField = FormField;
|
|
4351
|
-
exports.Input = Input;
|
|
4352
4492
|
exports.LocalDate = LocalDate;
|
|
4353
4493
|
exports.McpServerListPage = McpServerListPage;
|
|
4354
4494
|
exports.MetricCard = MetricCard;
|
|
@@ -4364,17 +4504,9 @@ exports.RunStatusBadge = RunStatusBadge;
|
|
|
4364
4504
|
exports.SectionHeader = SectionHeader;
|
|
4365
4505
|
exports.Select = Select;
|
|
4366
4506
|
exports.SettingsPage = SettingsPage;
|
|
4367
|
-
exports.Skeleton = Skeleton;
|
|
4368
4507
|
exports.Tabs = Tabs;
|
|
4369
4508
|
exports.Textarea = Textarea;
|
|
4370
4509
|
exports.Th = Th;
|
|
4371
4510
|
exports.ToolkitMultiselect = ToolkitMultiselect;
|
|
4372
4511
|
exports.TranscriptViewer = TranscriptViewer;
|
|
4373
|
-
exports.badgeVariants = badgeVariants;
|
|
4374
|
-
exports.buttonVariants = buttonVariants;
|
|
4375
|
-
exports.cn = cn;
|
|
4376
4512
|
exports.parsePaginationParams = parsePaginationParams;
|
|
4377
|
-
exports.useAgentPlaneClient = useAgentPlaneClient;
|
|
4378
|
-
exports.useApi = useApi;
|
|
4379
|
-
exports.useAuthError = useAuthError;
|
|
4380
|
-
exports.useNavigation = useNavigation;
|