diff --git a/src/interface/web/app/components/agentCard/agentCard.tsx b/src/interface/web/app/components/agentCard/agentCard.tsx index b0371b6f..08a12658 100644 --- a/src/interface/web/app/components/agentCard/agentCard.tsx +++ b/src/interface/web/app/components/agentCard/agentCard.tsx @@ -91,6 +91,8 @@ import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover import ShareLink from "@/app/components/shareLink/shareLink"; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip"; +import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; + export interface AgentData { slug: string; name: string; @@ -427,7 +429,9 @@ export function AgentCard(props: AgentCardProps) { {props.editCard ? ( Edit {props.data.name} @@ -534,12 +538,13 @@ export function AgentModificationForm(props: AgentModificationFormProps) { { name: "persona", label: "Personality" }, ]; - const advancedFields = [ - { name: "files", label: "Knowledge Base" }, + const toolsFields = [ { name: "input_tools", label: "Input Tools" }, { name: "output_modes", label: "Output Modes" }, ]; + const knowledgeBaseFields = [{ name: "files", label: "Knowledge Base" }]; + const customizationFields = [ { name: "color", label: "Color" }, { name: "icon", label: "Icon" }, @@ -548,9 +553,10 @@ export function AgentModificationForm(props: AgentModificationFormProps) { ]; const formGroups = [ - { fields: basicFields, label: "Basic Settings" }, - { fields: customizationFields, label: "Customization & Access" }, - { fields: advancedFields, label: "Advanced Settings" }, + { fields: basicFields, label: "Basic Settings", tabName: "basic" }, + { fields: customizationFields, label: "Customization & Access", tabName: "customize" }, + { fields: knowledgeBaseFields, label: "Knowledge Base", tabName: "knowledge" }, + { fields: toolsFields, label: "Tools Settings", tabName: "tools" }, ]; const fileInputRef = useRef(null); @@ -749,7 +755,7 @@ export function AgentModificationForm(props: AgentModificationFormProps) { control={props.form.control} name="chat_model" render={({ field }) => ( - + Chat Model {!props.isSubscribed ? ( @@ -796,7 +802,7 @@ export function AgentModificationForm(props: AgentModificationFormProps) { control={props.form.control} name="privacy_level" render={({ field }) => ( - +
Privacy Level
@@ -1080,7 +1086,7 @@ export function AgentModificationForm(props: AgentModificationFormProps) { control={props.form.control} name="input_tools" render={({ field }) => ( - + Restrict Input Tools Which knowledge retrieval tools should this agent be limited to? @@ -1166,7 +1172,7 @@ export function AgentModificationForm(props: AgentModificationFormProps) { control={props.form.control} name="output_modes" render={({ field }) => ( - + Restrict Output Modes Which output modes should this agent be limited to? @@ -1252,10 +1258,32 @@ export function AgentModificationForm(props: AgentModificationFormProps) { return (
- -
{formGroups[currentStep].label}
- {currentStep < formGroups.length && - formGroups[currentStep].fields.map((field) => renderFormField(field.name))} + + + + {formGroups.map((group) => ( + + setCurrentStep( + formGroups.findIndex((g) => g.tabName === group.tabName), + ) + } + > + {group.label} + + ))} + + {formGroups.map((group) => ( + + {group.fields.map((field) => renderFormField(field.name))} + + ))} +