UNPKG

rapida-react

Version:

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

50 lines (48 loc) 1.46 kB
import { agentConnectionStateObservable, agentServerEventObserver, toContentText, useMaybeVoiceAgent } from "./chunk-RNZXK3QH.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 */) { if (agentEvents.argument) { let arg = agentEvents.argument; setTranscript(toContentText(arg.getMessage()?.getContentsList())); } } }); return () => { serverEventListner.unsubscribe(); }; }, [agentContext]); return /* @__PURE__ */ jsx("div", { className: cn(className), children: !connected ? placeholder : transcript ? transcript : placeholder }); }; export { AgentLiveTranscript }; //# sourceMappingURL=chunk-57DPD7E7.mjs.map