UNPKG

@copilotkit/react-core

Version:

<div align="center"> <a href="https://copilotkit.ai" target="_blank"> <img src="https://github.com/copilotkit/copilotkit/raw/main/assets/banner.png" alt="CopilotKit Logo"> </a>

34 lines (30 loc) 1.05 kB
import { CopilotRuntimeClient, CopilotRuntimeClientOptions, GraphQLError, } from "@copilotkit/runtime-client-gql"; import { useToast } from "../components/toast/toast-provider"; import { useMemo } from "react"; import { useErrorToast } from "../components/error-boundary/error-utils"; export const useCopilotRuntimeClient = (options: CopilotRuntimeClientOptions) => { const { addGraphQLErrorsToast } = useToast(); const addErrorToast = useErrorToast(); const { addToast } = useToast(); const runtimeClient = useMemo(() => { return new CopilotRuntimeClient({ ...options, handleGQLErrors: (error) => { if ((error as any).graphQLErrors.length) { addGraphQLErrorsToast((error as any).graphQLErrors as GraphQLError[]); } else { addErrorToast([error]); } }, handleGQLWarning: (message: string) => { console.warn(message); addToast({ type: "warning", message }); }, }); }, [options, addGraphQLErrorsToast, addToast]); return runtimeClient; };