UNPKG

@assistant-ui/react

Version:

TypeScript/React library for AI Chat

21 lines (19 loc) 655 B
import { useMemo } from "react"; import type { AssistantTransportCommand, AssistantTransportState, AssistantTransportStateConverter, } from "./types"; import type { ToolExecutionStatus } from "./useToolInvocations"; export function useConvertedState<T>( converter: AssistantTransportStateConverter<T>, agentState: T, pendingCommands: AssistantTransportCommand[], isSending: boolean, toolStatuses: Record<string, ToolExecutionStatus>, ): AssistantTransportState { return useMemo( () => converter(agentState, { pendingCommands, isSending, toolStatuses }), [converter, agentState, pendingCommands, isSending, toolStatuses], ); }