useAskAI
Access AskAI state and actions
Overview
Accesses the AskAI context for state, messages, and actions. Use it inside AskAI or AskAIProvider.
Type Definition
import type { ChatStatus, UIMessage } from 'ai';
export type AskAIActionOptions = {
open?: boolean;
};
export interface AskAIContextValue {
open: boolean;
setOpen: (open: boolean) => void;
toggleOpen: () => void;
input: string;
setInput: (value: string, options?: AskAIActionOptions) => void;
messages: UIMessage[];
status: ChatStatus;
error: Error | undefined;
isLoading: boolean;
sendMessage: (message: { text: string }, options?: AskAIActionOptions) => void;
handleSubmit: (message: { text?: string }) => void;
regenerate: (options?: { messageId?: string }) => void;
clearMessages: () => void | Promise<void>;
}
export declare function useAskAI(): AskAIContextValue;Usage
import { useAskAI } from 'peam/client';
export function AskButton() {
const { sendMessage, setOpen } = useAskAI();
return (
<button
onClick={() => {
setOpen(true);
sendMessage({ text: 'What does this page cover?' });
}}
>
Ask AI
</button>
);
}Notes
setInputandsendMessageacceptoptions.open(defaulttrue) to control whether the UI opens.- The hook must be used inside AskAI or AskAIProvider.