import { Button } from "@/components/ui/button"; import { useThreads } from "@/hooks/useThreads"; import { Thread } from "@langchain/langgraph-sdk"; import { useEffect, useState } from "react"; import { getContentString } from "../utils"; import { useQueryParam, StringParam } from "use-query-params"; export default function ThreadHistory() { const [threads, setThreads] = useState([]); const [threadId, setThreadId] = useQueryParam("threadId", StringParam); const { getThreads } = useThreads(); useEffect(() => { getThreads().then(setThreads).catch(console.error); }, []); return ( <>

Thread History

{threads.map((t) => { let itemText = t.thread_id; if ( typeof t.values === "object" && t.values && "messages" in t.values && Array.isArray(t.values.messages) && t.values.messages?.length > 0 ) { const firstMessage = t.values.messages[0]; itemText = getContentString(firstMessage.content); } return (
); })}
); }