@assistant-ui/react
Version:
Typescript/React library for AI Chat
25 lines • 799 B
JavaScript
"use client";
import { useCallback } from "react";
import { useMessage, useMessageRuntime } from "../../context";
import {
createActionButton
} from "../../utils/createActionButton";
const useActionBarSpeak = () => {
const messageRuntime = useMessageRuntime();
const callback = useCallback(async () => {
messageRuntime.speak();
}, [messageRuntime]);
const hasSpeakableContent = useMessage((m) => {
return (m.role !== "assistant" || m.status.type !== "running") && m.content.some((c) => c.type === "text" && c.text.length > 0);
});
if (!hasSpeakableContent) return null;
return callback;
};
const ActionBarPrimitiveSpeak = createActionButton(
"ActionBarPrimitive.Speak",
useActionBarSpeak
);
export {
ActionBarPrimitiveSpeak
};
//# sourceMappingURL=ActionBarSpeak.js.map