import { useState } from "react"; import { listWorkflows, runThread } from "../api.ts"; import { useFetch } from "../hooks.ts"; type Props = { onClose: () => void; onCreated: (threadId: string) => void; }; export function RunDialog({ onClose, onCreated }: Props) { const workflows = useFetch(() => listWorkflows(), []); const [workflow, setWorkflow] = useState(""); const [prompt, setPrompt] = useState(""); const [maxRounds, setMaxRounds] = useState(10); const [submitting, setSubmitting] = useState(false); const [error, setError] = useState(null); async function handleSubmit(e: React.FormEvent) { e.preventDefault(); if (!workflow || !prompt) return; setSubmitting(true); setError(null); try { const result = await runThread(workflow, prompt, maxRounds); onCreated(result.threadId); } catch (err) { setError(err instanceof Error ? err.message : String(err)); setSubmitting(false); } } return (

Run Thread