import type { ChatMessage } from '@/lib/chat-messages' export type ThreadLoadingState = 'response' | 'session' export function lastVisibleMessageIsUser(messages: ChatMessage[]): boolean { const lastVisible = [...messages].reverse().find(message => !message.hidden) return lastVisible?.role === 'user' } export function threadLoadingState( loadingSession: boolean, busy: boolean, awaitingResponse: boolean, lastVisibleIsUser: boolean ): ThreadLoadingState | undefined { if (loadingSession) { return 'session' } if (busy && awaitingResponse && lastVisibleIsUser) { return 'response' } return undefined }