Runtime Hooks
Runtime for accessing and managing the list of threads.
Access via useAssistantRuntime
You can access the thread list runtime via the assistant runtime:
import { useAssistantRuntime } from "@assistant-ui/react";
const threadListRuntime = useAssistantRuntime().threadList;ThreadListRuntimegetStaterequired: () => ThreadListStatesubscriberequired: (callback: () => void) => Unsubscribemainrequired: ThreadRuntimegetByIdrequired: (threadId: string) => ThreadRuntimemainItemrequired: ThreadListItemRuntimegetItemByIdrequired: (threadId: string) => ThreadListItemRuntimegetItemByIndexrequired: (idx: number) => ThreadListItemRuntimegetArchivedItemByIndexrequired: (idx: number) => ThreadListItemRuntimeswitchToThreadrequired: (threadId: string) => Promise<void>switchToNewThreadrequired: () => Promise<void>useThreadList
This hook provides access to the thread list state:
import { useThreadList } from "@assistant-ui/react";
const threadList = useThreadList();
const threads = useThreadList((m) => m.threads);
const isLoading = useThreadList((m) => m.isLoading);ThreadListStatemainThreadIdrequired: stringnewThreadIdrequired: string | undefinedthreadIdsrequired: readonly string[]archivedThreadIdsrequired: readonly string[]isLoadingrequired: booleanthreadItemsrequired: Readonly<Record<string, Omit<ThreadListItemState, "isMain" | "threadId">>>