import Link from "next/link"; import {GearIcon} from "@radix-ui/react-icons"; import {PageParams} from "@/types/next"; import {Page, PageActions, PageContent, PageDescription, PageTitle} from "@/features/layout/page"; import {formatDateLastContact} from "@/utils/date-formatting"; import {buttonVariants} from "@/components/ui/button"; import {Card, CardContent, CardHeader, CardTitle} from "@/components/ui/card"; import {CardsWithPagination} from "@/components/wrappers/common/cards-with-pagination"; import {DatabaseCard} from "@/components/wrappers/dashboard/projects/project-card/project-database-card"; import {AgentCardKey} from "@/components/wrappers/dashboard/agent/agent-card-key/agent-card-key"; import {db} from "@/db"; import * as drizzleDb from "@/db"; import {eq} from "drizzle-orm"; import {notFound} from "next/navigation"; import {ButtonDeleteAgent} from "@/components/wrappers/dashboard/agent/button-delete-agent/button-delete-agent"; import {capitalizeFirstLetter} from "@/utils/text"; import {Server} from "lucide-react"; import {generateEdgeKey} from "@/utils/edge_key"; import {getServerUrl} from "@/utils/get-server-url"; export default async function RoutePage(props: PageParams<{ agentId: string }>) { const {agentId} = await props.params const agent = await db.query.agent.findFirst({ where: eq(drizzleDb.schemas.agent.id, agentId), with: { databases: true } }) if (!agent) { notFound() } const edgeKey = await generateEdgeKey(getServerUrl(), agent.id); return (
{capitalizeFirstLetter(agent.name)}
{agent.description}
Databases
{agent.databases.length}

Databases linked to this agent

Last contact
{formatDateLastContact(agent.lastContact)}

Last contact with agent

Edge Key
) }