rapida-react
Version:
An easy to use react client for building generative ai application using Rapida platform.
46 lines (44 loc) • 1.39 kB
JavaScript
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