"use client"; import { PlusIcon, Trash2Icon } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { Switch } from "@/components/ui/switch"; export type ParameterType = "string" | "number" | "boolean"; export interface ToolParameter { name: string; type: ParameterType; description: string; required: boolean; } interface ParameterEditorProps { parameters: ToolParameter[]; onChange: (parameters: ToolParameter[]) => void; disabled?: boolean; } export function ParameterEditor({ parameters, onChange, disabled = false, }: ParameterEditorProps) { const addParameter = () => { onChange([ ...parameters, { name: "", type: "string", description: "", required: true }, ]); }; const updateParameter = ( index: number, field: keyof ToolParameter, value: string | boolean ) => { const newParams = [...parameters]; newParams[index] = { ...newParams[index], [field]: value }; onChange(newParams); }; const removeParameter = (index: number) => { onChange(parameters.filter((_, i) => i !== index)); }; return (