Angular had no counterpart to `useComponent` in react-core and vue, so the only way to let an agent display one of your components was `registerFrontendTool` with a handler the component does not need, or `registerRenderToolCall`, which requires the tool to already exist in the agent. `FrontendToolConfig.handler` becomes optional, and `#bindClientTool` returns the config unwrapped when it is absent. Core already has the render-only path: a tool declaring no handler gets an empty tool result and completes the turn. Binding a wrapper regardless called `undefined` on the first tool call, and a stub handler would write a fabricated result into the thread instead. `registerComponent` is that shape with the model-facing description built for it, identical to the one react-core and vue build, so the tool reads the same to the model whichever frontend registered the component. The component stays an ordinary `ToolRenderer` reading `toolCall().args`. The tool is declared by the frontend and forwarded over AG-UI, so a display-only component needs nothing added to the agent, on any framework. Refs OSS-1034 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
8.1 KiB
Angular public API
This file is the exhaustive public-export contract for @copilotkit/angular.
Every symbol listed below is supported for application use unless it appears
under Internal extension points. Removing or incompatibly changing a public
symbol requires the package's normal breaking-change process.
For task-oriented examples, start with the package README and the
Angular documentation. The high-level
APIs most applications need are provideCopilotKit, CopilotChat,
CopilotPopup, CopilotSidebar, injectAgentStore, injectCapabilities, the
register* helpers, and the inject* controllers. The remaining components
and context types are supported customization primitives for replacing
individual chat slots.
Root entry point
Import these symbols from @copilotkit/angular.
A2UIConfigA2UIDebugExposureA2UILifecycleContentA2UILifecycleStatusA2UIRecoveryOptionsAGUI_SEND_STATE_SNAPSHOT_TOOL_NAMEActivityRendererAgentStoreAngularActivityContentParseResultAngularActivityContentSchemaAngularToolCallAssistantMessageAssistantMessageCopyButtonContextAssistantMessageMarkdownRendererContextAssistantMessageToolbarContextAttachmentAttachmentModalityAttachmentUploadErrorAttachmentUploadResultAttachmentsConfigAudioRecorderErrorAudioRecorderStateBranchNavigationContextCOPILOT_CHAT_CONFIGURATIONCOPILOT_CHAT_CONFIGURATION_OPTIONSCOPILOT_CHAT_DEFAULT_LABELSCOPILOT_CHAT_LABELSCOPILOT_KIT_CONFIGChatStateClientToolConnectAgentContextConfigCopilotA2UIActivityRendererCopilotA2UIProgressCopilotA2UIRecoveryCopilotA2UIToolRendererCopilotChatCopilotChatAddFileButtonCopilotChatAssistantMessageCopilotChatAssistantMessageCopyButtonCopilotChatAssistantMessageOnReadAloudPropsCopilotChatAssistantMessageOnRegeneratePropsCopilotChatAssistantMessageOnThumbsDownPropsCopilotChatAssistantMessageOnThumbsUpPropsCopilotChatAssistantMessageReadAloudButtonCopilotChatAssistantMessageRegenerateButtonCopilotChatAssistantMessageRendererCopilotChatAssistantMessageThumbsDownButtonCopilotChatAssistantMessageThumbsUpButtonCopilotChatAssistantMessageToolbarCopilotChatAssistantMessageToolbarButtonCopilotChatAttachmentQueueCopilotChatAttachmentRendererCopilotChatAttachmentsDirectiveCopilotChatAudioRecorderCopilotChatAudioRecorderPropsCopilotChatButtonPropsCopilotChatCancelTranscribeButtonCopilotChatConfigurationCopilotChatConfigurationOptionsCopilotChatFinishTranscribeButtonCopilotChatInputCopilotChatInputConfigCopilotChatInputDefaultsCopilotChatInputModeCopilotChatInputOutputsCopilotChatInputSlotsCopilotChatLabelsCopilotChatMessageViewCopilotChatMessageViewCursorCopilotChatMessageViewPropsCopilotChatReasoningMessageCopilotChatSendButtonCopilotChatStartTranscribeButtonCopilotChatSuggestionPillCopilotChatSuggestionViewCopilotChatTextareaCopilotChatTextareaPropsCopilotChatToolCallsViewCopilotChatToolbarCopilotChatToolbarButtonCopilotChatToolbarButtonPropsCopilotChatToolbarPropsCopilotChatToolsButtonPropsCopilotChatToolsMenuCopilotChatUserMessageCopilotChatUserMessageBranchNavigationCopilotChatUserMessageCopyButtonCopilotChatUserMessageEditButtonCopilotChatUserMessageOnEditMessagePropsCopilotChatUserMessageOnSwitchToBranchPropsCopilotChatUserMessageRendererCopilotChatUserMessageToolbarCopilotChatUserMessageToolbarButtonCopilotChatViewCopilotChatViewDisclaimerCopilotChatViewFeatherCopilotChatViewHandlersCopilotChatViewInputContainerCopilotChatViewInputMeasureCopilotChatViewLayoutContextCopilotChatViewPropsCopilotChatViewScrollToBottomButtonCopilotChatViewScrollViewCopilotDefaultToolRendererCopilotKitCopilotKitAgentContextCopilotKitConfigCopilotOpenGenerativeUIActivityRendererCopilotOpenGenerativeUIRendererCopilotOpenGenerativeUIToolRendererCopilotPopupCopilotSidebarCopilotSidebarModeCopilotSidebarPositionCopilotSlotCopilotThreadsDrawerCopilotThreadsDrawerRowCopilotTooltipCopilotkitAgentFactoryCopilotkitThreadsFactoryCopyButtonContextCursorContextDEFAULT_OPEN_GENERATIVE_UI_DESIGN_SKILLDynamicSuggestionsConfigEditButtonContextFrontendToolConfigGENERATE_SANDBOXED_UI_DESCRIPTIONGENERATE_SANDBOXED_UI_TOOL_NAMEGenerateSandboxedUiArgsGenerateSandboxedUiArgsSchemaHumanInTheLoopConfigHumanInTheLoopToolCallHumanInTheLoopToolRendererInjectInterruptOptionsInjectThreadsInputInjectThreadsResultInterruptControllerInterruptEventInterruptExpiredErrorInterruptHandlerPropsInterruptRunOptionsInterruptRunnerInterruptViewMemoriesControllerMemoryMemoryChangesMemoryKindMemoryScopeMessageMessageRendererContextMessageViewContextNewMemoryOPEN_GENERATIVE_UI_ACTIVITY_TYPEOPEN_GENERATIVE_UI_WEBSANDBOX_LOADEROpenGenerativeUIConfigOpenGenerativeUIContentOpenGenerativeUIContentSchemaRENDER_A2UI_TOOL_NAMEReadAloudButtonContextRegenerateButtonContextRegisterComponentConfigRenderA2UIArgsRenderA2UIArgsSchemaRenderActivityMessageConfigRenderSlotOptionsRenderToolCallConfigRenderToolCallsResizeObserverServiceResizeStateSLOT_CONFIGSandboxFunctionScrollBehaviorScrollPositionScrollStateSendButtonContextSlotConfigSlotContextSlotRegistryEntrySlotValueStaticSuggestionsConfigStickToBottomSuggestionSuggestionsConfigThreadThreadsStoreThumbsDownButtonContextThumbsUpButtonContextToolCallHandlerToolRendererToolbarContextToolsMenuItemTooltipContentTranscriptionErrorTranscriptionErrorCodeTranscriptionErrorInfoTranscriptionResultUserMessageToolbarContextWithSlotsanyActivityContentSchemacnconnectAgentContextcreateSlotConfigcreateSlotRenderergetSlotConfiginjectAgentStoreinjectCapabilitiesinjectChatConfigurationinjectChatLabelsinjectChatStateinjectCopilotKitConfiginjectInterruptinjectMemoriesinjectThreadsisComponentTypeisSlotValuenormalizeSlotValueparseToolCallArgumentspickToolCallHandlerprovideCopilotChatConfigurationprovideCopilotChatLabelsprovideCopilotKitprovideSlotsreadA2UILifecycleContentregisterComponentregisterFrontendToolregisterHumanInTheLoopregisterRenderActivityMessageregisterRenderToolCallrenderSlotsafeToolValuetranscribeAudio
Internal extension points
The following exported Angular DI tokens exist only so CopilotKit-maintained
code can hook Inspector development mode and built-in renderers. Applications
must not depend on them; the ɵ prefix and TSDoc mark them internal.
ɵCOPILOTKIT_BUILT_IN_ACTIVITY_RENDERERSɵCOPILOTKIT_INSPECTOR_DEVELOPMENT_MODE
MCP Apps entry point
Import these opt-in symbols from @copilotkit/angular/mcp-apps. This secondary
entry point keeps the MCP Apps sandbox and protocol code out of applications
that do not enable it. Prefer provideMCPApps; the remaining exports support
custom hosts, renderers, and protocol testing.
CopilotMCPAppsActivityRendererCopilotMCPAppsWidgetDEFAULT_MCP_APPS_CONFIGMCPAppsConfigMCPAppsHostInfoMCPAppsSnapshotContentMCP_APPS_CONFIGmcpAppsActivityRendererConfigmcpAppsSnapshotContentSchemaprovideMCPApps
The MCP Apps renderer uses the same inline srcdoc proxy, sandbox permissions,
and resource-domain CSP as the React SDK.