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