diff --git a/client/src/App.tsx b/client/src/App.tsx index 313eb80..d14ebed 100644 --- a/client/src/App.tsx +++ b/client/src/App.tsx @@ -145,8 +145,8 @@ const App = () => { sendWebSocketMessage({ type: "listPrompts" }); }; - const getPrompt = (name: string) => { - sendWebSocketMessage({ type: "getPrompt", name }); + const getPrompt = (name: string, args: Record = {}) => { + sendWebSocketMessage({ type: "getPrompt", name, args }); }; const listTools = () => { diff --git a/client/src/components/PromptsTab.tsx b/client/src/components/PromptsTab.tsx index c2b53a6..7b3c358 100644 --- a/client/src/components/PromptsTab.tsx +++ b/client/src/components/PromptsTab.tsx @@ -1,13 +1,19 @@ -import { Send, AlertCircle } from "lucide-react"; +import { AlertCircle } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { TabsContent } from "@/components/ui/tabs"; import { Input } from "@/components/ui/input"; import { Textarea } from "@/components/ui/textarea"; +import { useState } from "react"; export type Prompt = { - id: string; name: string; + description?: string; + arguments?: { + name: string; + description?: string; + required?: boolean; + }[]; }; const PromptsTab = ({ @@ -21,12 +27,24 @@ const PromptsTab = ({ }: { prompts: Prompt[]; listPrompts: () => void; - getPrompt: (name: string) => void; + getPrompt: (name: string, args: Record) => void; selectedPrompt: Prompt | null; setSelectedPrompt: (prompt: Prompt) => void; promptContent: string; error: string | null; }) => { + const [promptArgs, setPromptArgs] = useState>({}); + + const handleInputChange = (argName: string, value: string) => { + setPromptArgs((prev) => ({ ...prev, [argName]: value })); + }; + + const handleGetPrompt = () => { + if (selectedPrompt) { + getPrompt(selectedPrompt.name, promptArgs); + } + }; + return (
@@ -44,11 +62,11 @@ const PromptsTab = ({
{prompts.map((prompt) => (
{ setSelectedPrompt(prompt); - getPrompt(prompt.name); + setPromptArgs({}); }} > {prompt.name} @@ -73,18 +91,40 @@ const PromptsTab = ({ ) : selectedPrompt ? (
-