@getcatalystiq/agent-plane-ui 0.1.10 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +91 -1
- package/dist/index.d.cts +8 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.js +91 -2
- package/package.json +8 -8
package/dist/index.cjs
CHANGED
|
@@ -1525,7 +1525,7 @@ function PluginMarketplaceDetailPage({ marketplaceId, initialData, initialPlugin
|
|
|
1525
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(
|
|
1526
1526
|
LinkComponent,
|
|
1527
1527
|
{
|
|
1528
|
-
href: `${basePath}/plugin-marketplaces/${marketplaceId}/${plugin.name}`,
|
|
1528
|
+
href: `${basePath}/plugin-marketplaces/${marketplaceId}/plugins/${plugin.name}`,
|
|
1529
1529
|
children: /* @__PURE__ */ jsxRuntime.jsxs(Card, { className: "hover:border-primary/50 transition-colors cursor-pointer h-full", children: [
|
|
1530
1530
|
/* @__PURE__ */ jsxRuntime.jsx(CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsxs(CardTitle, { className: "text-sm font-medium flex items-center justify-between", children: [
|
|
1531
1531
|
plugin.displayName,
|
|
@@ -1549,6 +1549,95 @@ function PluginMarketplaceDetailPage({ marketplaceId, initialData, initialPlugin
|
|
|
1549
1549
|
] })
|
|
1550
1550
|
] });
|
|
1551
1551
|
}
|
|
1552
|
+
function AgentsTab({ agents }) {
|
|
1553
|
+
if (agents.length === 0) {
|
|
1554
|
+
return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground py-4", children: "No agents defined in this plugin." });
|
|
1555
|
+
}
|
|
1556
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: agents.map((agent) => /* @__PURE__ */ jsxRuntime.jsxs(Card, { children: [
|
|
1557
|
+
/* @__PURE__ */ jsxRuntime.jsx(CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle, { className: "text-sm font-medium", children: agent.name }) }),
|
|
1558
|
+
/* @__PURE__ */ jsxRuntime.jsxs(CardContent, { children: [
|
|
1559
|
+
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" }),
|
|
1560
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground/60 mt-2 font-mono", children: agent.filename })
|
|
1561
|
+
] })
|
|
1562
|
+
] }, agent.filename)) });
|
|
1563
|
+
}
|
|
1564
|
+
function SkillsTab({ skills }) {
|
|
1565
|
+
if (skills.length === 0) {
|
|
1566
|
+
return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground py-4", children: "No skills defined in this plugin." });
|
|
1567
|
+
}
|
|
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(Card, { children: [
|
|
1569
|
+
/* @__PURE__ */ jsxRuntime.jsx(CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle, { className: "text-sm font-medium", children: skill }) }),
|
|
1570
|
+
/* @__PURE__ */ jsxRuntime.jsx(CardContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs text-muted-foreground font-mono", children: [
|
|
1571
|
+
"skills/",
|
|
1572
|
+
skill,
|
|
1573
|
+
"/"
|
|
1574
|
+
] }) })
|
|
1575
|
+
] }, skill)) });
|
|
1576
|
+
}
|
|
1577
|
+
function ConnectorsTab({ hasMcpJson }) {
|
|
1578
|
+
if (!hasMcpJson) {
|
|
1579
|
+
return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground py-4", children: "No connectors defined in this plugin." });
|
|
1580
|
+
}
|
|
1581
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Card, { children: [
|
|
1582
|
+
/* @__PURE__ */ jsxRuntime.jsx(CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle, { className: "text-sm font-medium", children: ".mcp.json" }) }),
|
|
1583
|
+
/* @__PURE__ */ jsxRuntime.jsx(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." }) })
|
|
1584
|
+
] });
|
|
1585
|
+
}
|
|
1586
|
+
function PluginDetailPage({ marketplaceId, pluginName }) {
|
|
1587
|
+
const { LinkComponent, basePath } = useNavigation();
|
|
1588
|
+
const { data: plugin, error, isLoading } = useApi(
|
|
1589
|
+
`marketplace-${marketplaceId}-plugin-${pluginName}`,
|
|
1590
|
+
(c) => c.pluginMarketplaces.getPlugin(marketplaceId, pluginName)
|
|
1591
|
+
);
|
|
1592
|
+
if (error) {
|
|
1593
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center min-h-[40vh]", children: /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-destructive", children: [
|
|
1594
|
+
"Failed to load plugin: ",
|
|
1595
|
+
error.message
|
|
1596
|
+
] }) });
|
|
1597
|
+
}
|
|
1598
|
+
if (isLoading || !plugin) {
|
|
1599
|
+
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" })
|
|
1603
|
+
] });
|
|
1604
|
+
}
|
|
1605
|
+
const tabs = [
|
|
1606
|
+
{
|
|
1607
|
+
label: `Agents (${plugin.agents.length})`,
|
|
1608
|
+
content: /* @__PURE__ */ jsxRuntime.jsx(AgentsTab, { agents: plugin.agents })
|
|
1609
|
+
},
|
|
1610
|
+
{
|
|
1611
|
+
label: `Skills (${plugin.skills.length})`,
|
|
1612
|
+
content: /* @__PURE__ */ jsxRuntime.jsx(SkillsTab, { skills: plugin.skills })
|
|
1613
|
+
},
|
|
1614
|
+
{
|
|
1615
|
+
label: `Connectors (${plugin.hasMcpJson ? 1 : 0})`,
|
|
1616
|
+
content: /* @__PURE__ */ jsxRuntime.jsx(ConnectorsTab, { hasMcpJson: plugin.hasMcpJson })
|
|
1617
|
+
}
|
|
1618
|
+
];
|
|
1619
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
1620
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1621
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-3 mb-1", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1622
|
+
LinkComponent,
|
|
1623
|
+
{
|
|
1624
|
+
href: `${basePath}/plugin-marketplaces/${marketplaceId}`,
|
|
1625
|
+
className: "text-muted-foreground hover:text-foreground text-sm",
|
|
1626
|
+
children: "\u2190 Back to marketplace"
|
|
1627
|
+
}
|
|
1628
|
+
) }),
|
|
1629
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
1630
|
+
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-2xl font-semibold", children: plugin.displayName }),
|
|
1631
|
+
plugin.version && /* @__PURE__ */ jsxRuntime.jsxs(Badge, { variant: "outline", children: [
|
|
1632
|
+
"v",
|
|
1633
|
+
plugin.version
|
|
1634
|
+
] })
|
|
1635
|
+
] }),
|
|
1636
|
+
plugin.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground mt-1", children: plugin.description })
|
|
1637
|
+
] }),
|
|
1638
|
+
/* @__PURE__ */ jsxRuntime.jsx(Tabs, { tabs })
|
|
1639
|
+
] });
|
|
1640
|
+
}
|
|
1552
1641
|
var TIMEZONES = typeof Intl !== "undefined" && Intl.supportedValuesOf ? Intl.supportedValuesOf("timeZone") : ["UTC"];
|
|
1553
1642
|
function SettingsPage({ initialData, hideDangerZone }) {
|
|
1554
1643
|
const { mutate } = useSWR.useSWRConfig();
|
|
@@ -4265,6 +4354,7 @@ exports.McpServerListPage = McpServerListPage;
|
|
|
4265
4354
|
exports.MetricCard = MetricCard;
|
|
4266
4355
|
exports.ModelSelector = ModelSelector;
|
|
4267
4356
|
exports.PaginationBar = PaginationBar;
|
|
4357
|
+
exports.PluginDetailPage = PluginDetailPage;
|
|
4268
4358
|
exports.PluginMarketplaceDetailPage = PluginMarketplaceDetailPage;
|
|
4269
4359
|
exports.PluginMarketplaceListPage = PluginMarketplaceListPage;
|
|
4270
4360
|
exports.RunDetailPage = RunDetailPage;
|
package/dist/index.d.cts
CHANGED
|
@@ -102,6 +102,7 @@ interface AgentPlaneClient {
|
|
|
102
102
|
list(): Promise<unknown[]>;
|
|
103
103
|
get(marketplaceId: string): Promise<unknown>;
|
|
104
104
|
listPlugins(marketplaceId: string): Promise<unknown[]>;
|
|
105
|
+
getPlugin(marketplaceId: string, pluginName: string): Promise<unknown>;
|
|
105
106
|
create(params: Record<string, unknown>): Promise<unknown>;
|
|
106
107
|
delete(marketplaceId: string): Promise<void>;
|
|
107
108
|
updateToken(marketplaceId: string, params: Record<string, unknown>): Promise<unknown>;
|
|
@@ -485,6 +486,12 @@ interface PluginMarketplaceDetailPageProps {
|
|
|
485
486
|
}
|
|
486
487
|
declare function PluginMarketplaceDetailPage({ marketplaceId, initialData, initialPlugins }: PluginMarketplaceDetailPageProps): react_jsx_runtime.JSX.Element;
|
|
487
488
|
|
|
489
|
+
interface PluginDetailPageProps {
|
|
490
|
+
marketplaceId: string;
|
|
491
|
+
pluginName: string;
|
|
492
|
+
}
|
|
493
|
+
declare function PluginDetailPage({ marketplaceId, pluginName }: PluginDetailPageProps): react_jsx_runtime.JSX.Element;
|
|
494
|
+
|
|
488
495
|
interface Tenant {
|
|
489
496
|
id: string;
|
|
490
497
|
name: string;
|
|
@@ -626,4 +633,4 @@ interface Props {
|
|
|
626
633
|
}
|
|
627
634
|
declare function ToolkitMultiselect({ value, onChange }: Props): react_jsx_runtime.JSX.Element;
|
|
628
635
|
|
|
629
|
-
export { AdminTable, AdminTableHead, AdminTableRow, AgentA2aInfo, AgentConnectorsManager, AgentDetailPage, AgentEditForm, AgentListPage, type AgentPlaneClient, AgentPlaneProvider, type AgentPlaneProviderProps, AgentPluginManager, AgentRuns, AgentScheduleForm, AgentSkillManager, Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, CardDescription, CardHeader, CardTitle, ConfirmDialog, CopyButton, DashboardPage, type DashboardPageProps, DetailPageHeader, Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, EmptyRow, FormError, FormField, Input, type LinkComponentProps, LocalDate, McpServerListPage, type McpServerListPageProps, MetricCard, ModelSelector, type NavigationProps, PaginationBar, PluginMarketplaceDetailPage, type PluginMarketplaceDetailPageProps, PluginMarketplaceListPage, type PluginMarketplaceListPageProps, RunDetailPage, type RunDetailPageProps, RunListPage, type RunListPageProps, RunSourceBadge, RunStatusBadge, SectionHeader, Select, SettingsPage, type SettingsPageProps, Skeleton, Tabs, Textarea, type TextareaProps, Th, ToolkitMultiselect, TranscriptViewer, badgeVariants, buttonVariants, cn, parsePaginationParams, useAgentPlaneClient, useApi, useAuthError, useNavigation };
|
|
636
|
+
export { AdminTable, AdminTableHead, AdminTableRow, AgentA2aInfo, AgentConnectorsManager, AgentDetailPage, AgentEditForm, AgentListPage, type AgentPlaneClient, AgentPlaneProvider, type AgentPlaneProviderProps, AgentPluginManager, AgentRuns, AgentScheduleForm, AgentSkillManager, Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, CardDescription, CardHeader, CardTitle, ConfirmDialog, CopyButton, DashboardPage, type DashboardPageProps, DetailPageHeader, Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, EmptyRow, FormError, FormField, Input, type LinkComponentProps, LocalDate, McpServerListPage, type McpServerListPageProps, MetricCard, ModelSelector, type NavigationProps, PaginationBar, PluginDetailPage, type PluginDetailPageProps, PluginMarketplaceDetailPage, type PluginMarketplaceDetailPageProps, PluginMarketplaceListPage, type PluginMarketplaceListPageProps, RunDetailPage, type RunDetailPageProps, RunListPage, type RunListPageProps, RunSourceBadge, RunStatusBadge, SectionHeader, Select, SettingsPage, type SettingsPageProps, Skeleton, Tabs, Textarea, type TextareaProps, Th, ToolkitMultiselect, TranscriptViewer, badgeVariants, buttonVariants, cn, parsePaginationParams, useAgentPlaneClient, useApi, useAuthError, useNavigation };
|
package/dist/index.d.ts
CHANGED
|
@@ -102,6 +102,7 @@ interface AgentPlaneClient {
|
|
|
102
102
|
list(): Promise<unknown[]>;
|
|
103
103
|
get(marketplaceId: string): Promise<unknown>;
|
|
104
104
|
listPlugins(marketplaceId: string): Promise<unknown[]>;
|
|
105
|
+
getPlugin(marketplaceId: string, pluginName: string): Promise<unknown>;
|
|
105
106
|
create(params: Record<string, unknown>): Promise<unknown>;
|
|
106
107
|
delete(marketplaceId: string): Promise<void>;
|
|
107
108
|
updateToken(marketplaceId: string, params: Record<string, unknown>): Promise<unknown>;
|
|
@@ -485,6 +486,12 @@ interface PluginMarketplaceDetailPageProps {
|
|
|
485
486
|
}
|
|
486
487
|
declare function PluginMarketplaceDetailPage({ marketplaceId, initialData, initialPlugins }: PluginMarketplaceDetailPageProps): react_jsx_runtime.JSX.Element;
|
|
487
488
|
|
|
489
|
+
interface PluginDetailPageProps {
|
|
490
|
+
marketplaceId: string;
|
|
491
|
+
pluginName: string;
|
|
492
|
+
}
|
|
493
|
+
declare function PluginDetailPage({ marketplaceId, pluginName }: PluginDetailPageProps): react_jsx_runtime.JSX.Element;
|
|
494
|
+
|
|
488
495
|
interface Tenant {
|
|
489
496
|
id: string;
|
|
490
497
|
name: string;
|
|
@@ -626,4 +633,4 @@ interface Props {
|
|
|
626
633
|
}
|
|
627
634
|
declare function ToolkitMultiselect({ value, onChange }: Props): react_jsx_runtime.JSX.Element;
|
|
628
635
|
|
|
629
|
-
export { AdminTable, AdminTableHead, AdminTableRow, AgentA2aInfo, AgentConnectorsManager, AgentDetailPage, AgentEditForm, AgentListPage, type AgentPlaneClient, AgentPlaneProvider, type AgentPlaneProviderProps, AgentPluginManager, AgentRuns, AgentScheduleForm, AgentSkillManager, Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, CardDescription, CardHeader, CardTitle, ConfirmDialog, CopyButton, DashboardPage, type DashboardPageProps, DetailPageHeader, Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, EmptyRow, FormError, FormField, Input, type LinkComponentProps, LocalDate, McpServerListPage, type McpServerListPageProps, MetricCard, ModelSelector, type NavigationProps, PaginationBar, PluginMarketplaceDetailPage, type PluginMarketplaceDetailPageProps, PluginMarketplaceListPage, type PluginMarketplaceListPageProps, RunDetailPage, type RunDetailPageProps, RunListPage, type RunListPageProps, RunSourceBadge, RunStatusBadge, SectionHeader, Select, SettingsPage, type SettingsPageProps, Skeleton, Tabs, Textarea, type TextareaProps, Th, ToolkitMultiselect, TranscriptViewer, badgeVariants, buttonVariants, cn, parsePaginationParams, useAgentPlaneClient, useApi, useAuthError, useNavigation };
|
|
636
|
+
export { AdminTable, AdminTableHead, AdminTableRow, AgentA2aInfo, AgentConnectorsManager, AgentDetailPage, AgentEditForm, AgentListPage, type AgentPlaneClient, AgentPlaneProvider, type AgentPlaneProviderProps, AgentPluginManager, AgentRuns, AgentScheduleForm, AgentSkillManager, Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, CardDescription, CardHeader, CardTitle, ConfirmDialog, CopyButton, DashboardPage, type DashboardPageProps, DetailPageHeader, Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, EmptyRow, FormError, FormField, Input, type LinkComponentProps, LocalDate, McpServerListPage, type McpServerListPageProps, MetricCard, ModelSelector, type NavigationProps, PaginationBar, PluginDetailPage, type PluginDetailPageProps, PluginMarketplaceDetailPage, type PluginMarketplaceDetailPageProps, PluginMarketplaceListPage, type PluginMarketplaceListPageProps, RunDetailPage, type RunDetailPageProps, RunListPage, type RunListPageProps, RunSourceBadge, RunStatusBadge, SectionHeader, Select, SettingsPage, type SettingsPageProps, Skeleton, Tabs, Textarea, type TextareaProps, Th, ToolkitMultiselect, TranscriptViewer, badgeVariants, buttonVariants, cn, parsePaginationParams, useAgentPlaneClient, useApi, useAuthError, useNavigation };
|
package/dist/index.js
CHANGED
|
@@ -1499,7 +1499,7 @@ function PluginMarketplaceDetailPage({ marketplaceId, initialData, initialPlugin
|
|
|
1499
1499
|
!plugins ? /* @__PURE__ */ jsx(Skeleton, { className: "h-48 rounded-lg" }) : plugins.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: "No plugins found in this marketplace." }) : /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4", children: plugins.map((plugin) => /* @__PURE__ */ jsx(
|
|
1500
1500
|
LinkComponent,
|
|
1501
1501
|
{
|
|
1502
|
-
href: `${basePath}/plugin-marketplaces/${marketplaceId}/${plugin.name}`,
|
|
1502
|
+
href: `${basePath}/plugin-marketplaces/${marketplaceId}/plugins/${plugin.name}`,
|
|
1503
1503
|
children: /* @__PURE__ */ jsxs(Card, { className: "hover:border-primary/50 transition-colors cursor-pointer h-full", children: [
|
|
1504
1504
|
/* @__PURE__ */ jsx(CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsxs(CardTitle, { className: "text-sm font-medium flex items-center justify-between", children: [
|
|
1505
1505
|
plugin.displayName,
|
|
@@ -1523,6 +1523,95 @@ function PluginMarketplaceDetailPage({ marketplaceId, initialData, initialPlugin
|
|
|
1523
1523
|
] })
|
|
1524
1524
|
] });
|
|
1525
1525
|
}
|
|
1526
|
+
function AgentsTab({ agents }) {
|
|
1527
|
+
if (agents.length === 0) {
|
|
1528
|
+
return /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground py-4", children: "No agents defined in this plugin." });
|
|
1529
|
+
}
|
|
1530
|
+
return /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: agents.map((agent) => /* @__PURE__ */ jsxs(Card, { children: [
|
|
1531
|
+
/* @__PURE__ */ jsx(CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsx(CardTitle, { className: "text-sm font-medium", children: agent.name }) }),
|
|
1532
|
+
/* @__PURE__ */ jsxs(CardContent, { children: [
|
|
1533
|
+
agent.description ? /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: agent.description }) : /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground italic", children: "No description" }),
|
|
1534
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground/60 mt-2 font-mono", children: agent.filename })
|
|
1535
|
+
] })
|
|
1536
|
+
] }, agent.filename)) });
|
|
1537
|
+
}
|
|
1538
|
+
function SkillsTab({ skills }) {
|
|
1539
|
+
if (skills.length === 0) {
|
|
1540
|
+
return /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground py-4", children: "No skills defined in this plugin." });
|
|
1541
|
+
}
|
|
1542
|
+
return /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4", children: skills.map((skill) => /* @__PURE__ */ jsxs(Card, { children: [
|
|
1543
|
+
/* @__PURE__ */ jsx(CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsx(CardTitle, { className: "text-sm font-medium", children: skill }) }),
|
|
1544
|
+
/* @__PURE__ */ jsx(CardContent, { children: /* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground font-mono", children: [
|
|
1545
|
+
"skills/",
|
|
1546
|
+
skill,
|
|
1547
|
+
"/"
|
|
1548
|
+
] }) })
|
|
1549
|
+
] }, skill)) });
|
|
1550
|
+
}
|
|
1551
|
+
function ConnectorsTab({ hasMcpJson }) {
|
|
1552
|
+
if (!hasMcpJson) {
|
|
1553
|
+
return /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground py-4", children: "No connectors defined in this plugin." });
|
|
1554
|
+
}
|
|
1555
|
+
return /* @__PURE__ */ jsxs(Card, { children: [
|
|
1556
|
+
/* @__PURE__ */ jsx(CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsx(CardTitle, { className: "text-sm font-medium", children: ".mcp.json" }) }),
|
|
1557
|
+
/* @__PURE__ */ jsx(CardContent, { children: /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: "This plugin includes an MCP connector configuration that will be suggested to agents using it." }) })
|
|
1558
|
+
] });
|
|
1559
|
+
}
|
|
1560
|
+
function PluginDetailPage({ marketplaceId, pluginName }) {
|
|
1561
|
+
const { LinkComponent, basePath } = useNavigation();
|
|
1562
|
+
const { data: plugin, error, isLoading } = useApi(
|
|
1563
|
+
`marketplace-${marketplaceId}-plugin-${pluginName}`,
|
|
1564
|
+
(c) => c.pluginMarketplaces.getPlugin(marketplaceId, pluginName)
|
|
1565
|
+
);
|
|
1566
|
+
if (error) {
|
|
1567
|
+
return /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center min-h-[40vh]", children: /* @__PURE__ */ jsxs("p", { className: "text-destructive", children: [
|
|
1568
|
+
"Failed to load plugin: ",
|
|
1569
|
+
error.message
|
|
1570
|
+
] }) });
|
|
1571
|
+
}
|
|
1572
|
+
if (isLoading || !plugin) {
|
|
1573
|
+
return /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
|
|
1574
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-8 w-48" }),
|
|
1575
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-96" }),
|
|
1576
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-64 rounded-lg" })
|
|
1577
|
+
] });
|
|
1578
|
+
}
|
|
1579
|
+
const tabs = [
|
|
1580
|
+
{
|
|
1581
|
+
label: `Agents (${plugin.agents.length})`,
|
|
1582
|
+
content: /* @__PURE__ */ jsx(AgentsTab, { agents: plugin.agents })
|
|
1583
|
+
},
|
|
1584
|
+
{
|
|
1585
|
+
label: `Skills (${plugin.skills.length})`,
|
|
1586
|
+
content: /* @__PURE__ */ jsx(SkillsTab, { skills: plugin.skills })
|
|
1587
|
+
},
|
|
1588
|
+
{
|
|
1589
|
+
label: `Connectors (${plugin.hasMcpJson ? 1 : 0})`,
|
|
1590
|
+
content: /* @__PURE__ */ jsx(ConnectorsTab, { hasMcpJson: plugin.hasMcpJson })
|
|
1591
|
+
}
|
|
1592
|
+
];
|
|
1593
|
+
return /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
|
|
1594
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
1595
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-3 mb-1", children: /* @__PURE__ */ jsx(
|
|
1596
|
+
LinkComponent,
|
|
1597
|
+
{
|
|
1598
|
+
href: `${basePath}/plugin-marketplaces/${marketplaceId}`,
|
|
1599
|
+
className: "text-muted-foreground hover:text-foreground text-sm",
|
|
1600
|
+
children: "\u2190 Back to marketplace"
|
|
1601
|
+
}
|
|
1602
|
+
) }),
|
|
1603
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
1604
|
+
/* @__PURE__ */ jsx("h1", { className: "text-2xl font-semibold", children: plugin.displayName }),
|
|
1605
|
+
plugin.version && /* @__PURE__ */ jsxs(Badge, { variant: "outline", children: [
|
|
1606
|
+
"v",
|
|
1607
|
+
plugin.version
|
|
1608
|
+
] })
|
|
1609
|
+
] }),
|
|
1610
|
+
plugin.description && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground mt-1", children: plugin.description })
|
|
1611
|
+
] }),
|
|
1612
|
+
/* @__PURE__ */ jsx(Tabs, { tabs })
|
|
1613
|
+
] });
|
|
1614
|
+
}
|
|
1526
1615
|
var TIMEZONES = typeof Intl !== "undefined" && Intl.supportedValuesOf ? Intl.supportedValuesOf("timeZone") : ["UTC"];
|
|
1527
1616
|
function SettingsPage({ initialData, hideDangerZone }) {
|
|
1528
1617
|
const { mutate } = useSWRConfig();
|
|
@@ -4199,4 +4288,4 @@ function ScheduleCard({
|
|
|
4199
4288
|
] });
|
|
4200
4289
|
}
|
|
4201
4290
|
|
|
4202
|
-
export { AdminTable, AdminTableHead, AdminTableRow, AgentA2aInfo, AgentConnectorsManager, AgentDetailPage, AgentEditForm, AgentListPage, AgentPlaneProvider, AgentPluginManager, AgentRuns, AgentScheduleForm, AgentSkillManager, Badge, Button, Card, CardContent, CardDescription, CardHeader, CardTitle, ConfirmDialog, CopyButton, DashboardPage, DetailPageHeader, Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, EmptyRow, FormError, FormField, Input, LocalDate, McpServerListPage, MetricCard, ModelSelector, PaginationBar, PluginMarketplaceDetailPage, PluginMarketplaceListPage, RunDetailPage, RunListPage, RunSourceBadge, RunStatusBadge, SectionHeader, Select, SettingsPage, Skeleton, Tabs, Textarea, Th, ToolkitMultiselect, TranscriptViewer, badgeVariants, buttonVariants, cn, parsePaginationParams, useAgentPlaneClient, useApi, useAuthError, useNavigation };
|
|
4291
|
+
export { AdminTable, AdminTableHead, AdminTableRow, AgentA2aInfo, AgentConnectorsManager, AgentDetailPage, AgentEditForm, AgentListPage, AgentPlaneProvider, AgentPluginManager, AgentRuns, AgentScheduleForm, AgentSkillManager, Badge, Button, Card, CardContent, CardDescription, CardHeader, CardTitle, ConfirmDialog, CopyButton, DashboardPage, DetailPageHeader, Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, EmptyRow, FormError, FormField, Input, LocalDate, McpServerListPage, MetricCard, ModelSelector, PaginationBar, PluginDetailPage, PluginMarketplaceDetailPage, PluginMarketplaceListPage, RunDetailPage, RunListPage, RunSourceBadge, RunStatusBadge, SectionHeader, Select, SettingsPage, Skeleton, Tabs, Textarea, Th, ToolkitMultiselect, TranscriptViewer, badgeVariants, buttonVariants, cn, parsePaginationParams, useAgentPlaneClient, useApi, useAuthError, useNavigation };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getcatalystiq/agent-plane-ui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.12",
|
|
4
4
|
"description": "Embeddable React component library for AgentPlane",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -51,17 +51,17 @@
|
|
|
51
51
|
"typecheck": "tsc --noEmit"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
54
|
+
"@codemirror/lang-javascript": "^6.0.0",
|
|
55
|
+
"@codemirror/lang-json": "^6.0.0",
|
|
56
|
+
"@codemirror/lang-markdown": "^6.0.0",
|
|
57
|
+
"@codemirror/theme-one-dark": "^6.0.0",
|
|
58
|
+
"@getcatalystiq/agent-plane": "^0.5.9",
|
|
59
|
+
"@uiw/react-codemirror": "^4.0.0",
|
|
54
60
|
"react": "^18.0.0 || ^19.0.0",
|
|
55
61
|
"react-dom": "^18.0.0 || ^19.0.0",
|
|
56
|
-
"@getcatalystiq/agent-plane": "*",
|
|
57
|
-
"swr": "^2.0.0",
|
|
58
62
|
"react-markdown": "^9.0.0",
|
|
59
63
|
"recharts": "^2.0.0",
|
|
60
|
-
"
|
|
61
|
-
"@codemirror/lang-markdown": "^6.0.0",
|
|
62
|
-
"@codemirror/lang-javascript": "^6.0.0",
|
|
63
|
-
"@codemirror/lang-json": "^6.0.0",
|
|
64
|
-
"@codemirror/theme-one-dark": "^6.0.0"
|
|
64
|
+
"swr": "^2.0.0"
|
|
65
65
|
},
|
|
66
66
|
"peerDependenciesMeta": {
|
|
67
67
|
"react-markdown": {
|