Runtime Hooks

ThreadListRuntime

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;
ThreadListRuntime
getStaterequired: () => ThreadListState

subscriberequired: (callback: () => void) => Unsubscribe

mainrequired: ThreadRuntime

getByIdrequired: (threadId: string) => ThreadRuntime

mainItemrequired: ThreadListItemRuntime

getItemByIdrequired: (threadId: string) => ThreadListItemRuntime

getItemByIndexrequired: (idx: number) => ThreadListItemRuntime

getArchivedItemByIndexrequired: (idx: number) => ThreadListItemRuntime

switchToThreadrequired: (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);
ThreadListState
mainThreadIdrequired: string

newThreadIdrequired: string | undefined

threadIdsrequired: readonly string[]

archivedThreadIdsrequired: readonly string[]

isLoadingrequired: boolean

threadItemsrequired: Readonly<Record<string, Omit<ThreadListItemState, "isMain" | "threadId">>>