UNPKG

@copilotkit/react-core

Version:

<img src="https://github.com/user-attachments/assets/0a6b64d9-e193-4940-a3f6-60334ac34084" alt="banner" style="border-radius: 12px; border: 2px solid #d6d4fa;" />

148 lines (145 loc) 4.82 kB
import { ForwardedParametersInput } from '@copilotkit/runtime-client-gql'; import { ReactNode } from 'react'; import { f as AuthState } from '../../copilot-context-cf9de848.js'; import { CopilotErrorHandler } from '@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; /** * Your public license key for accessing premium CopilotKit features. * * Don't have it yet? Go to https://cloud.copilotkit.ai and get one for free. */ publicLicenseKey?: 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. * Can include threadMetadata for thread creation and authorization for LangGraph Platform authentication. * For example: * ```js * { * 'user_id': 'users_id', * 'authorization': 'your-auth-token', // For LangGraph Platform authentication * threadMetadata: { * 'account_id': '123', * 'user_type': 'premium' * } * } * ``` * * **Note**: The `authorization` property is automatically forwarded to LangGraph agents. See the [LangGraph Agent Authentication Guide](/coagents/shared/guides/langgraph-platform-authentication) for details. */ 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. * * Set to `true` to show error banners and toasts, `false` to hide all error UI. * Defaults to `false` for production safety. */ showDevConsole?: boolean; /** * 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; /** * Optional error handler for comprehensive debugging and observability. * * **Requires publicApiKey**: Error handling only works when publicApiKey is provided. * This is a premium Copilot Cloud feature. * * @param errorEvent - Structured error event with rich debugging context * * @example * ```typescript * <CopilotKit * publicApiKey="ck_pub_your_key" * onError={(errorEvent) => { * debugDashboard.capture(errorEvent); * }} * > * ``` */ onError?: CopilotErrorHandler; } export { CopilotKitProps };