UNPKG

rapida-react

Version:

An easy to use react client for building generative ai application using Rapida platform.

46 lines (44 loc) 1.39 kB
import { agentConnectionStateObservable, agentServerEventObserver, useMaybeVoiceAgent } from "./chunk-4GCYRWZH.mjs"; import { cn } from "./chunk-32YFHJN5.mjs"; // src/components/live-transcript.tsx import React, { useState } from "react"; import { jsx } from "react/jsx-runtime"; var AgentLiveTranscript = ({ className, placeholder }) => { const agentContext = useMaybeVoiceAgent(); const [connected, setConnected] = useState(false); const [transcript, setTranscript] = useState(""); React.useEffect(() => { const listener = agentConnectionStateObservable(agentContext).subscribe( (x) => { setConnected(x.isConnected); } ); return () => listener.unsubscribe(); }, [agentContext]); React.useEffect(() => { const serverEventListner = agentServerEventObserver( agentContext ).subscribe((agentEvents) => { if (agentEvents?.eventType === "talk.onTranscript" /* Transcript */ || agentEvents?.eventType === "talk.onComplete" /* Complete */) { setTranscript(agentEvents.transcript); } }); return () => { serverEventListner.unsubscribe(); }; }, [agentContext]); return /* @__PURE__ */ jsx("div", { className: cn(className), children: !connected ? placeholder : transcript ? transcript : placeholder }); }; export { AgentLiveTranscript }; //# sourceMappingURL=chunk-VPQXUIH3.mjs.map