"use client"; import { AgentActivityStatus } from "@/components/agent-activity-status"; import { prefetchOnIdle } from "@/components/chat-chunk-prefetch"; import { ChatMessageContent } from "@/components/chat-message-content"; import { ConsultationRunTimeline } from "@/components/consultation-run-timeline"; import type { ChatMessageView } from "@/lib/chat-message-view"; import { useEffect, useLayoutEffect, useRef, type ReactNode } from "react"; type GsapCore = typeof import("gsap")["gsap"]; const useEntryEffect = typeof window === "undefined" ? useEffect : useLayoutEffect; let gsapCore: GsapCore | undefined; let gsapRequest: Promise | undefined; function loadGsap() { gsapRequest ??= import("gsap").then((module) => { const core = module.gsap ?? module.default; gsapCore = (core as GsapCore & { gsap?: GsapCore }).gsap ?? core; return gsapCore; }); return gsapRequest; } function motionPreferred() { return typeof window !== "undefined" && typeof window.matchMedia === "function" && !window.matchMedia("(prefers-reduced-motion: reduce)").matches; } if (motionPreferred()) prefetchOnIdle(loadGsap); export function AgentAvatar() { return