diff --git a/apps/web/src/app/tool/tool-search/page.tsx b/apps/web/src/app/tool/tool-search/page.tsx
index c9ddad5..86efb70 100644
--- a/apps/web/src/app/tool/tool-search/page.tsx
+++ b/apps/web/src/app/tool/tool-search/page.tsx
@@ -47,6 +47,11 @@ function formatDownloads(count: number): string {
return count.toString();
}
+function truncateText(text: string, maxLength: number): string {
+ if (text.length <= maxLength) return text;
+ return `${text.slice(0, maxLength).trim()}...`;
+}
+
/** Sort tools by criterion, pushing broken tools to the bottom */
function sortTools(tools: Tool[], sortBy: SortOption): Tool[] {
return [...tools].sort((a, b) => {
@@ -166,11 +171,12 @@ export default function ToolSearchPage(): React.ReactElement {
const TableHeader = useCallback(
() => (
- | Name |
- Category |
- Downloads |
- Likes |
- Install |
+ Name |
+ Description |
+ Category |
+ Downloads |
+ Likes |
+ Install |
),
[]
@@ -197,11 +203,14 @@ export default function ToolSearchPage(): React.ReactElement {
)}
-
+
{tool.package.npmPackageName}
+
+ {tool.description ? truncateText(tool.description, 60) : '—'}
+ |
{tool.package.category}
diff --git a/packages/db/prisma/schema.prisma b/packages/db/prisma/schema.prisma
index 4c0fce1..13b2c26 100644
--- a/packages/db/prisma/schema.prisma
+++ b/packages/db/prisma/schema.prisma
@@ -503,7 +503,7 @@ model Agent {
maxMessagesInContext Int @default(10) @map("max_messages_in_context")
// Visibility
- isPublic Boolean @default(false) @map("is_public")
+ isPublic Boolean @default(true) @map("is_public")
likeCount Int @default(0) @map("like_count")
// Timestamps
diff --git a/packages/types/src/agent.ts b/packages/types/src/agent.ts
index 64df1fc..f077679 100644
--- a/packages/types/src/agent.ts
+++ b/packages/types/src/agent.ts
@@ -33,7 +33,7 @@ export const CreateAgentSchema = z.object({
temperature: z.number().min(0).max(2).default(0.7),
maxToolCallsPerTurn: z.number().int().min(1).max(100).default(20),
maxMessagesInContext: z.number().int().min(1).max(100).default(10),
- isPublic: z.boolean().default(false),
+ isPublic: z.boolean().default(true),
collectionIds: z.array(z.string()).optional(),
toolIds: z.array(z.string()).optional(),
});
|