import React from "react"; import { Button } from "@/components/ui/button"; import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, } from "@/components/ui/dialog"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { Textarea } from "@/components/ui/textarea"; import { toolTemplates } from "@/lib/tool-templates"; import { BackendTag } from "./backend-tag"; interface ToolConfigurationDialogProps { open: boolean; onOpenChange: (open: boolean) => void; editingIndex: number | null; selectedTemplate: string; editingSchemaStr: string; isJsonValid: boolean; onTemplateChange: (val: string) => void; onSchemaChange: (val: string) => void; onSave: () => void; backendTools: any[]; // schemas returned from the server } export const ToolConfigurationDialog: React.FC< ToolConfigurationDialogProps > = ({ open, onOpenChange, editingIndex, selectedTemplate, editingSchemaStr, isJsonValid, onTemplateChange, onSchemaChange, onSave, backendTools, }) => { // Combine local templates and backend templates const localTemplateOptions = toolTemplates.map((template) => ({ ...template, source: "local", })); const backendTemplateOptions = backendTools.map((t: any) => ({ ...t, source: "backend", })); const allTemplates = [...localTemplateOptions, ...backendTemplateOptions]; return ( {editingIndex === null ? "Add Tool" : "Edit Tool"}