import type { ReactNode } from "react"; import { use } from "react"; import { ApolloProvider as BaseApolloProvider } from "@apollo/client/react"; import { ApolloClient as OpenAiApolloClient } from "../openai/core/ApolloClient.js"; import { ApolloClient as McpApolloClient } from "../mcp/core/ApolloClient.js"; import type { ApolloClient as FallbackApolloClient } from "../core/ApolloClient.js"; import { __DEV__ } from "@apollo/client/utilities/environment"; import { aiClientSymbol, invariant } from "../utilities/index.js"; type ApolloClient = OpenAiApolloClient | McpApolloClient | FallbackApolloClient; export declare namespace ApolloProvider { export interface Props { children?: ReactNode; client: ApolloClient; } } export function ApolloProvider({ children, client }: ApolloProvider.Props) { if (__DEV__) { invariant( client[aiClientSymbol], 'The "client" instance provided to is the wrong instance. You might have imported `ApolloClient` from `@apollo/client`. Please import `ApolloClient` from `@apollo/client-ai-apps` instead.' ); } use(client.connect()); return {children}; }