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>

129 lines (126 loc) 4.11 kB
import { ForwardedParametersInput } from '@copilotkit/runtime-client-gql'; import { ReactNode } from 'react'; import { f as AuthState } from '../../copilot-context-0e923eb1.js'; import '@copilotkit/shared'; import '../../types/frontend-action.js'; import '../../hooks/use-tree.js'; import '../../types/document-pointer.js'; import '../../types/chat-suggestion-configuration.js'; import '../../types/coagent-action.js'; import '../../types/coagent-state.js'; /** * Props for CopilotKit. */ interface CopilotKitProps { /** * Your Copilot Cloud API key. Don't have it yet? Go to https://cloud.copilotkit.ai and get one for free. */ publicApiKey?: string; /** * Restrict input to a specific topic. * @deprecated Use `guardrails_c` instead to control input restrictions */ cloudRestrictToTopic?: { validTopics?: string[]; invalidTopics?: string[]; }; /** * Restrict input to specific topics using guardrails. * @remarks * * This feature is only available when using CopilotKit's hosted cloud service. To use this feature, sign up at https://cloud.copilotkit.ai to get your publicApiKey. The feature allows restricting chat conversations to specific topics. */ guardrails_c?: { validTopics?: string[]; invalidTopics?: string[]; }; /** * The endpoint for the Copilot Runtime instance. [Click here for more information](/concepts/copilot-runtime). */ runtimeUrl?: string; /** * The endpoint for the Copilot transcribe audio service. */ transcribeAudioUrl?: string; /** * The endpoint for the Copilot text to speech service. */ textToSpeechUrl?: string; /** * Additional headers to be sent with the request. * * For example: * ```json * { * "Authorization": "Bearer X" * } * ``` */ headers?: Record<string, string>; /** * The children to be rendered within the CopilotKit. */ children: ReactNode; /** * Custom properties to be sent with the request * For example: * ```js * { * 'user_id': 'users_id', * } * ``` */ properties?: Record<string, any>; /** * Indicates whether the user agent should send or receive cookies from the other domain * in the case of cross-origin requests. */ credentials?: RequestCredentials; /** * Whether to show the dev console. * * If set to "auto", the dev console will be show on localhost only. */ showDevConsole?: boolean | "auto"; /** * The name of the agent to use. */ agent?: string; /** * The forwarded parameters to use for the task. */ forwardedParameters?: Pick<ForwardedParametersInput, "temperature">; /** * The auth config to use for the CopilotKit. * @remarks * * This feature is only available when using CopilotKit's hosted cloud service. To use this feature, sign up at https://cloud.copilotkit.ai to get your publicApiKey. The feature allows restricting chat conversations to specific topics. */ authConfig_c?: { SignInComponent: React.ComponentType<{ onSignInComplete: (authState: AuthState) => void; }>; }; /** * The thread id to use for the CopilotKit. */ threadId?: string; /** * Config for connecting to Model Context Protocol (MCP) servers. * Enables CopilotKit runtime to access tools on external MCP servers. * * This config merges into the `properties` object with each request as `mcpEndpoints`. * It offers a typed method to set up MCP endpoints for requests. * * Each array item should have: * - `endpoint`: MCP server URL (mandatory). * - `apiKey`: Optional API key for server authentication. * * Note: A `createMCPClient` function is still needed during runtime initialization to manage these endpoints. */ mcpEndpoints?: Array<{ endpoint: string; apiKey?: string; }>; } export { CopilotKitProps };