@copilotkitnext/react 0.0.22-alpha.4 → 0.0.22-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +635 -46
- package/dist/index.d.ts +635 -46
- package/dist/index.js +325 -22
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4286 -109
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
- package/dist/chunk-32YJ5VJ4.mjs +0 -157
- package/dist/chunk-32YJ5VJ4.mjs.map +0 -1
- package/dist/chunk-36HFWACS.mjs +0 -1
- package/dist/chunk-36HFWACS.mjs.map +0 -1
- package/dist/chunk-46BZRXWT.mjs +0 -16
- package/dist/chunk-46BZRXWT.mjs.map +0 -1
- package/dist/chunk-4UDBR75C.mjs +0 -106
- package/dist/chunk-4UDBR75C.mjs.map +0 -1
- package/dist/chunk-4XJK5IVQ.mjs +0 -83
- package/dist/chunk-4XJK5IVQ.mjs.map +0 -1
- package/dist/chunk-5JNWVLQI.mjs +0 -72
- package/dist/chunk-5JNWVLQI.mjs.map +0 -1
- package/dist/chunk-5SC3CO5Q.mjs +0 -69
- package/dist/chunk-5SC3CO5Q.mjs.map +0 -1
- package/dist/chunk-6VUKDHOD.mjs +0 -1
- package/dist/chunk-6VUKDHOD.mjs.map +0 -1
- package/dist/chunk-7HM7CU5A.mjs +0 -122
- package/dist/chunk-7HM7CU5A.mjs.map +0 -1
- package/dist/chunk-AEFM73CL.mjs +0 -32
- package/dist/chunk-AEFM73CL.mjs.map +0 -1
- package/dist/chunk-AI3Z3CHN.mjs +0 -97
- package/dist/chunk-AI3Z3CHN.mjs.map +0 -1
- package/dist/chunk-AXFRCGH6.mjs +0 -107
- package/dist/chunk-AXFRCGH6.mjs.map +0 -1
- package/dist/chunk-BNT754Z2.mjs +0 -185
- package/dist/chunk-BNT754Z2.mjs.map +0 -1
- package/dist/chunk-BT6C5OPU.mjs +0 -278
- package/dist/chunk-BT6C5OPU.mjs.map +0 -1
- package/dist/chunk-CDSO65ZY.mjs +0 -157
- package/dist/chunk-CDSO65ZY.mjs.map +0 -1
- package/dist/chunk-CGLGXQAU.mjs +0 -78
- package/dist/chunk-CGLGXQAU.mjs.map +0 -1
- package/dist/chunk-DVUQO72Z.mjs +0 -1
- package/dist/chunk-DVUQO72Z.mjs.map +0 -1
- package/dist/chunk-E56GYBP3.mjs +0 -101
- package/dist/chunk-E56GYBP3.mjs.map +0 -1
- package/dist/chunk-ETWJDCGE.mjs +0 -1
- package/dist/chunk-ETWJDCGE.mjs.map +0 -1
- package/dist/chunk-FIBK3DYE.mjs +0 -26
- package/dist/chunk-FIBK3DYE.mjs.map +0 -1
- package/dist/chunk-FVURPXQK.mjs +0 -45
- package/dist/chunk-FVURPXQK.mjs.map +0 -1
- package/dist/chunk-FZR2XQKR.mjs +0 -44
- package/dist/chunk-FZR2XQKR.mjs.map +0 -1
- package/dist/chunk-GK4NXPLC.mjs +0 -60
- package/dist/chunk-GK4NXPLC.mjs.map +0 -1
- package/dist/chunk-IA4CLXDM.mjs +0 -76
- package/dist/chunk-IA4CLXDM.mjs.map +0 -1
- package/dist/chunk-IICUCI5S.mjs +0 -43
- package/dist/chunk-IICUCI5S.mjs.map +0 -1
- package/dist/chunk-JLVGSNAO.mjs +0 -311
- package/dist/chunk-JLVGSNAO.mjs.map +0 -1
- package/dist/chunk-JWOIINVV.mjs +0 -237
- package/dist/chunk-JWOIINVV.mjs.map +0 -1
- package/dist/chunk-KCVDFZJX.mjs +0 -873
- package/dist/chunk-KCVDFZJX.mjs.map +0 -1
- package/dist/chunk-KPRUSQ3K.mjs +0 -1
- package/dist/chunk-KPRUSQ3K.mjs.map +0 -1
- package/dist/chunk-MWC5OV7Z.mjs +0 -1
- package/dist/chunk-MWC5OV7Z.mjs.map +0 -1
- package/dist/chunk-N5EP5OD5.mjs +0 -1
- package/dist/chunk-N5EP5OD5.mjs.map +0 -1
- package/dist/chunk-N5HC66HU.mjs +0 -311
- package/dist/chunk-N5HC66HU.mjs.map +0 -1
- package/dist/chunk-NB2GZAKG.mjs +0 -131
- package/dist/chunk-NB2GZAKG.mjs.map +0 -1
- package/dist/chunk-NB4DFAZH.mjs +0 -185
- package/dist/chunk-NB4DFAZH.mjs.map +0 -1
- package/dist/chunk-NNAYEAP2.mjs +0 -49
- package/dist/chunk-NNAYEAP2.mjs.map +0 -1
- package/dist/chunk-NNPKBGD6.mjs +0 -37
- package/dist/chunk-NNPKBGD6.mjs.map +0 -1
- package/dist/chunk-OMPVTGXH.mjs +0 -122
- package/dist/chunk-OMPVTGXH.mjs.map +0 -1
- package/dist/chunk-R5OLAA3L.mjs +0 -135
- package/dist/chunk-R5OLAA3L.mjs.map +0 -1
- package/dist/chunk-RF2CGPHQ.mjs +0 -215
- package/dist/chunk-RF2CGPHQ.mjs.map +0 -1
- package/dist/chunk-RGD2L3Z4.mjs +0 -96
- package/dist/chunk-RGD2L3Z4.mjs.map +0 -1
- package/dist/chunk-RK5P2LG6.mjs +0 -57
- package/dist/chunk-RK5P2LG6.mjs.map +0 -1
- package/dist/chunk-RRXDJCXI.mjs +0 -60
- package/dist/chunk-RRXDJCXI.mjs.map +0 -1
- package/dist/chunk-SPDE34WC.mjs +0 -283
- package/dist/chunk-SPDE34WC.mjs.map +0 -1
- package/dist/chunk-TAUOEJH2.mjs +0 -120
- package/dist/chunk-TAUOEJH2.mjs.map +0 -1
- package/dist/chunk-TBE7ZI5G.mjs +0 -45
- package/dist/chunk-TBE7ZI5G.mjs.map +0 -1
- package/dist/chunk-UOX5D73C.mjs +0 -22
- package/dist/chunk-UOX5D73C.mjs.map +0 -1
- package/dist/chunk-US4KNAAV.mjs +0 -1
- package/dist/chunk-US4KNAAV.mjs.map +0 -1
- package/dist/chunk-UZB3CTOY.mjs +0 -873
- package/dist/chunk-UZB3CTOY.mjs.map +0 -1
- package/dist/chunk-VBI6JXPC.mjs +0 -1
- package/dist/chunk-VBI6JXPC.mjs.map +0 -1
- package/dist/chunk-VVAXSF3M.mjs +0 -61
- package/dist/chunk-VVAXSF3M.mjs.map +0 -1
- package/dist/chunk-XO4IRKSC.mjs +0 -11
- package/dist/chunk-XO4IRKSC.mjs.map +0 -1
- package/dist/chunk-XU5CEPYQ.mjs +0 -75
- package/dist/chunk-XU5CEPYQ.mjs.map +0 -1
- package/dist/chunk-YPH4BHOY.mjs +0 -39
- package/dist/chunk-YPH4BHOY.mjs.map +0 -1
- package/dist/chunk-YZUPVMHC.mjs +0 -1
- package/dist/chunk-YZUPVMHC.mjs.map +0 -1
- package/dist/components/CopilotKitInspector.d.mts +0 -13
- package/dist/components/CopilotKitInspector.d.ts +0 -13
- package/dist/components/CopilotKitInspector.js +0 -69
- package/dist/components/CopilotKitInspector.js.map +0 -1
- package/dist/components/CopilotKitInspector.mjs +0 -7
- package/dist/components/CopilotKitInspector.mjs.map +0 -1
- package/dist/components/WildcardToolCallRender.d.mts +0 -7
- package/dist/components/WildcardToolCallRender.d.ts +0 -7
- package/dist/components/WildcardToolCallRender.js +0 -106
- package/dist/components/WildcardToolCallRender.js.map +0 -1
- package/dist/components/WildcardToolCallRender.mjs +0 -8
- package/dist/components/WildcardToolCallRender.mjs.map +0 -1
- package/dist/components/chat/CopilotChat.d.mts +0 -30
- package/dist/components/chat/CopilotChat.d.ts +0 -30
- package/dist/components/chat/CopilotChat.js +0 -2934
- package/dist/components/chat/CopilotChat.js.map +0 -1
- package/dist/components/chat/CopilotChat.mjs +0 -37
- package/dist/components/chat/CopilotChat.mjs.map +0 -1
- package/dist/components/chat/CopilotChatAssistantMessage.d.mts +0 -45
- package/dist/components/chat/CopilotChatAssistantMessage.d.ts +0 -45
- package/dist/components/chat/CopilotChatAssistantMessage.js +0 -735
- package/dist/components/chat/CopilotChatAssistantMessage.js.map +0 -1
- package/dist/components/chat/CopilotChatAssistantMessage.mjs +0 -29
- package/dist/components/chat/CopilotChatAssistantMessage.mjs.map +0 -1
- package/dist/components/chat/CopilotChatAudioRecorder.d.mts +0 -11
- package/dist/components/chat/CopilotChatAudioRecorder.d.ts +0 -11
- package/dist/components/chat/CopilotChatAudioRecorder.js +0 -131
- package/dist/components/chat/CopilotChatAudioRecorder.js.map +0 -1
- package/dist/components/chat/CopilotChatAudioRecorder.mjs +0 -9
- package/dist/components/chat/CopilotChatAudioRecorder.mjs.map +0 -1
- package/dist/components/chat/CopilotChatInput.d.mts +0 -67
- package/dist/components/chat/CopilotChatInput.d.ts +0 -67
- package/dist/components/chat/CopilotChatInput.js +0 -1305
- package/dist/components/chat/CopilotChatInput.js.map +0 -1
- package/dist/components/chat/CopilotChatInput.mjs +0 -16
- package/dist/components/chat/CopilotChatInput.mjs.map +0 -1
- package/dist/components/chat/CopilotChatMessageView.d.mts +0 -29
- package/dist/components/chat/CopilotChatMessageView.d.ts +0 -29
- package/dist/components/chat/CopilotChatMessageView.js +0 -1164
- package/dist/components/chat/CopilotChatMessageView.js.map +0 -1
- package/dist/components/chat/CopilotChatMessageView.mjs +0 -31
- package/dist/components/chat/CopilotChatMessageView.mjs.map +0 -1
- package/dist/components/chat/CopilotChatSuggestionPill.d.mts +0 -11
- package/dist/components/chat/CopilotChatSuggestionPill.d.ts +0 -11
- package/dist/components/chat/CopilotChatSuggestionPill.js +0 -76
- package/dist/components/chat/CopilotChatSuggestionPill.js.map +0 -1
- package/dist/components/chat/CopilotChatSuggestionPill.mjs +0 -10
- package/dist/components/chat/CopilotChatSuggestionPill.mjs.map +0 -1
- package/dist/components/chat/CopilotChatSuggestionView.d.mts +0 -33
- package/dist/components/chat/CopilotChatSuggestionView.d.ts +0 -33
- package/dist/components/chat/CopilotChatSuggestionView.js +0 -179
- package/dist/components/chat/CopilotChatSuggestionView.js.map +0 -1
- package/dist/components/chat/CopilotChatSuggestionView.mjs +0 -12
- package/dist/components/chat/CopilotChatSuggestionView.mjs.map +0 -1
- package/dist/components/chat/CopilotChatToggleButton.d.mts +0 -14
- package/dist/components/chat/CopilotChatToggleButton.d.ts +0 -14
- package/dist/components/chat/CopilotChatToggleButton.js +0 -222
- package/dist/components/chat/CopilotChatToggleButton.js.map +0 -1
- package/dist/components/chat/CopilotChatToggleButton.mjs +0 -16
- package/dist/components/chat/CopilotChatToggleButton.mjs.map +0 -1
- package/dist/components/chat/CopilotChatToolCallsView.d.mts +0 -10
- package/dist/components/chat/CopilotChatToolCallsView.d.ts +0 -10
- package/dist/components/chat/CopilotChatToolCallsView.js +0 -264
- package/dist/components/chat/CopilotChatToolCallsView.js.map +0 -1
- package/dist/components/chat/CopilotChatToolCallsView.mjs +0 -24
- package/dist/components/chat/CopilotChatToolCallsView.mjs.map +0 -1
- package/dist/components/chat/CopilotChatUserMessage.d.mts +0 -52
- package/dist/components/chat/CopilotChatUserMessage.d.ts +0 -52
- package/dist/components/chat/CopilotChatUserMessage.js +0 -523
- package/dist/components/chat/CopilotChatUserMessage.js.map +0 -1
- package/dist/components/chat/CopilotChatUserMessage.mjs +0 -14
- package/dist/components/chat/CopilotChatUserMessage.mjs.map +0 -1
- package/dist/components/chat/CopilotChatView.d.mts +0 -54
- package/dist/components/chat/CopilotChatView.d.ts +0 -54
- package/dist/components/chat/CopilotChatView.js +0 -2640
- package/dist/components/chat/CopilotChatView.js.map +0 -1
- package/dist/components/chat/CopilotChatView.mjs +0 -38
- package/dist/components/chat/CopilotChatView.mjs.map +0 -1
- package/dist/components/chat/CopilotModalHeader.d.mts +0 -22
- package/dist/components/chat/CopilotModalHeader.d.ts +0 -22
- package/dist/components/chat/CopilotModalHeader.js +0 -186
- package/dist/components/chat/CopilotModalHeader.js.map +0 -1
- package/dist/components/chat/CopilotModalHeader.mjs +0 -12
- package/dist/components/chat/CopilotModalHeader.mjs.map +0 -1
- package/dist/components/chat/CopilotPopup.d.mts +0 -33
- package/dist/components/chat/CopilotPopup.d.ts +0 -33
- package/dist/components/chat/CopilotPopup.js +0 -3343
- package/dist/components/chat/CopilotPopup.js.map +0 -1
- package/dist/components/chat/CopilotPopup.mjs +0 -43
- package/dist/components/chat/CopilotPopup.mjs.map +0 -1
- package/dist/components/chat/CopilotPopupView.d.mts +0 -30
- package/dist/components/chat/CopilotPopupView.d.ts +0 -30
- package/dist/components/chat/CopilotPopupView.js +0 -3003
- package/dist/components/chat/CopilotPopupView.js.map +0 -1
- package/dist/components/chat/CopilotPopupView.mjs +0 -41
- package/dist/components/chat/CopilotPopupView.mjs.map +0 -1
- package/dist/components/chat/CopilotSidebar.d.mts +0 -31
- package/dist/components/chat/CopilotSidebar.d.ts +0 -31
- package/dist/components/chat/CopilotSidebar.js +0 -3266
- package/dist/components/chat/CopilotSidebar.js.map +0 -1
- package/dist/components/chat/CopilotSidebar.mjs +0 -43
- package/dist/components/chat/CopilotSidebar.mjs.map +0 -1
- package/dist/components/chat/CopilotSidebarView.d.mts +0 -28
- package/dist/components/chat/CopilotSidebarView.d.ts +0 -28
- package/dist/components/chat/CopilotSidebarView.js +0 -2941
- package/dist/components/chat/CopilotSidebarView.js.map +0 -1
- package/dist/components/chat/CopilotSidebarView.mjs +0 -41
- package/dist/components/chat/CopilotSidebarView.mjs.map +0 -1
- package/dist/components/chat/index.d.mts +0 -23
- package/dist/components/chat/index.d.ts +0 -23
- package/dist/components/chat/index.js +0 -3503
- package/dist/components/chat/index.js.map +0 -1
- package/dist/components/chat/index.mjs +0 -95
- package/dist/components/chat/index.mjs.map +0 -1
- package/dist/components/index.d.mts +0 -29
- package/dist/components/index.d.ts +0 -29
- package/dist/components/index.js +0 -3583
- package/dist/components/index.js.map +0 -1
- package/dist/components/index.mjs +0 -104
- package/dist/components/index.mjs.map +0 -1
- package/dist/components/ui/button.d.mts +0 -14
- package/dist/components/ui/button.d.ts +0 -14
- package/dist/components/ui/button.js +0 -150
- package/dist/components/ui/button.js.map +0 -1
- package/dist/components/ui/button.mjs +0 -10
- package/dist/components/ui/button.mjs.map +0 -1
- package/dist/components/ui/dropdown-menu.d.mts +0 -28
- package/dist/components/ui/dropdown-menu.d.ts +0 -28
- package/dist/components/ui/dropdown-menu.js +0 -291
- package/dist/components/ui/dropdown-menu.js.map +0 -1
- package/dist/components/ui/dropdown-menu.mjs +0 -37
- package/dist/components/ui/dropdown-menu.mjs.map +0 -1
- package/dist/components/ui/tooltip.d.mts +0 -10
- package/dist/components/ui/tooltip.d.ts +0 -10
- package/dist/components/ui/tooltip.js +0 -103
- package/dist/components/ui/tooltip.js.map +0 -1
- package/dist/components/ui/tooltip.mjs +0 -14
- package/dist/components/ui/tooltip.mjs.map +0 -1
- package/dist/hooks/index.d.mts +0 -19
- package/dist/hooks/index.d.ts +0 -19
- package/dist/hooks/index.js +0 -691
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/index.mjs +0 -45
- package/dist/hooks/index.mjs.map +0 -1
- package/dist/hooks/use-agent-context.d.mts +0 -5
- package/dist/hooks/use-agent-context.d.ts +0 -5
- package/dist/hooks/use-agent-context.js +0 -116
- package/dist/hooks/use-agent-context.js.map +0 -1
- package/dist/hooks/use-agent-context.mjs +0 -10
- package/dist/hooks/use-agent-context.mjs.map +0 -1
- package/dist/hooks/use-agent.d.mts +0 -16
- package/dist/hooks/use-agent.d.ts +0 -16
- package/dist/hooks/use-agent.js +0 -171
- package/dist/hooks/use-agent.js.map +0 -1
- package/dist/hooks/use-agent.mjs +0 -12
- package/dist/hooks/use-agent.mjs.map +0 -1
- package/dist/hooks/use-configure-suggestions.d.mts +0 -13
- package/dist/hooks/use-configure-suggestions.d.ts +0 -13
- package/dist/hooks/use-configure-suggestions.js +0 -232
- package/dist/hooks/use-configure-suggestions.js.map +0 -1
- package/dist/hooks/use-configure-suggestions.mjs +0 -11
- package/dist/hooks/use-configure-suggestions.mjs.map +0 -1
- package/dist/hooks/use-frontend-tool.d.mts +0 -8
- package/dist/hooks/use-frontend-tool.d.ts +0 -8
- package/dist/hooks/use-frontend-tool.js +0 -137
- package/dist/hooks/use-frontend-tool.js.map +0 -1
- package/dist/hooks/use-frontend-tool.mjs +0 -10
- package/dist/hooks/use-frontend-tool.mjs.map +0 -1
- package/dist/hooks/use-human-in-the-loop.d.mts +0 -7
- package/dist/hooks/use-human-in-the-loop.d.ts +0 -7
- package/dist/hooks/use-human-in-the-loop.js +0 -206
- package/dist/hooks/use-human-in-the-loop.js.map +0 -1
- package/dist/hooks/use-human-in-the-loop.mjs +0 -11
- package/dist/hooks/use-human-in-the-loop.mjs.map +0 -1
- package/dist/hooks/use-keyboard-height.d.mts +0 -15
- package/dist/hooks/use-keyboard-height.d.ts +0 -15
- package/dist/hooks/use-keyboard-height.js +0 -68
- package/dist/hooks/use-keyboard-height.js.map +0 -1
- package/dist/hooks/use-keyboard-height.mjs +0 -7
- package/dist/hooks/use-keyboard-height.mjs.map +0 -1
- package/dist/hooks/use-render-activity-message.d.mts +0 -5
- package/dist/hooks/use-render-activity-message.d.ts +0 -5
- package/dist/hooks/use-render-activity-message.js +0 -158
- package/dist/hooks/use-render-activity-message.js.map +0 -1
- package/dist/hooks/use-render-activity-message.mjs +0 -12
- package/dist/hooks/use-render-activity-message.mjs.map +0 -1
- package/dist/hooks/use-render-custom-messages.d.mts +0 -11
- package/dist/hooks/use-render-custom-messages.d.ts +0 -11
- package/dist/hooks/use-render-custom-messages.js +0 -170
- package/dist/hooks/use-render-custom-messages.js.map +0 -1
- package/dist/hooks/use-render-custom-messages.mjs +0 -12
- package/dist/hooks/use-render-custom-messages.mjs.map +0 -1
- package/dist/hooks/use-render-tool-call.d.mts +0 -16
- package/dist/hooks/use-render-tool-call.d.ts +0 -16
- package/dist/hooks/use-render-tool-call.js +0 -208
- package/dist/hooks/use-render-tool-call.js.map +0 -1
- package/dist/hooks/use-render-tool-call.mjs +0 -11
- package/dist/hooks/use-render-tool-call.mjs.map +0 -1
- package/dist/hooks/use-suggestions.d.mts +0 -14
- package/dist/hooks/use-suggestions.d.ts +0 -14
- package/dist/hooks/use-suggestions.js +0 -176
- package/dist/hooks/use-suggestions.js.map +0 -1
- package/dist/hooks/use-suggestions.mjs +0 -11
- package/dist/hooks/use-suggestions.mjs.map +0 -1
- package/dist/lib/react-core.d.mts +0 -33
- package/dist/lib/react-core.d.ts +0 -33
- package/dist/lib/react-core.js +0 -73
- package/dist/lib/react-core.js.map +0 -1
- package/dist/lib/react-core.mjs +0 -7
- package/dist/lib/react-core.mjs.map +0 -1
- package/dist/lib/slots.d.mts +0 -16
- package/dist/lib/slots.d.ts +0 -16
- package/dist/lib/slots.js +0 -60
- package/dist/lib/slots.js.map +0 -1
- package/dist/lib/slots.mjs +0 -7
- package/dist/lib/slots.mjs.map +0 -1
- package/dist/lib/utils.d.mts +0 -5
- package/dist/lib/utils.d.ts +0 -5
- package/dist/lib/utils.js +0 -35
- package/dist/lib/utils.js.map +0 -1
- package/dist/lib/utils.mjs +0 -7
- package/dist/lib/utils.mjs.map +0 -1
- package/dist/providers/CopilotChatConfigurationProvider.d.mts +0 -43
- package/dist/providers/CopilotChatConfigurationProvider.d.ts +0 -43
- package/dist/providers/CopilotChatConfigurationProvider.js +0 -109
- package/dist/providers/CopilotChatConfigurationProvider.js.map +0 -1
- package/dist/providers/CopilotChatConfigurationProvider.mjs +0 -11
- package/dist/providers/CopilotChatConfigurationProvider.mjs.map +0 -1
- package/dist/providers/CopilotKitProvider.d.mts +0 -33
- package/dist/providers/CopilotKitProvider.d.ts +0 -33
- package/dist/providers/CopilotKitProvider.js +0 -314
- package/dist/providers/CopilotKitProvider.js.map +0 -1
- package/dist/providers/CopilotKitProvider.mjs +0 -12
- package/dist/providers/CopilotKitProvider.mjs.map +0 -1
- package/dist/providers/index.d.mts +0 -13
- package/dist/providers/index.d.ts +0 -13
- package/dist/providers/index.js +0 -396
- package/dist/providers/index.js.map +0 -1
- package/dist/providers/index.mjs +0 -18
- package/dist/providers/index.mjs.map +0 -1
- package/dist/types/defineToolCallRenderer.d.mts +0 -41
- package/dist/types/defineToolCallRenderer.d.ts +0 -41
- package/dist/types/defineToolCallRenderer.js +0 -40
- package/dist/types/defineToolCallRenderer.js.map +0 -1
- package/dist/types/defineToolCallRenderer.mjs +0 -7
- package/dist/types/defineToolCallRenderer.mjs.map +0 -1
- package/dist/types/frontend-tool.d.mts +0 -9
- package/dist/types/frontend-tool.d.ts +0 -9
- package/dist/types/frontend-tool.js +0 -19
- package/dist/types/frontend-tool.js.map +0 -1
- package/dist/types/frontend-tool.mjs +0 -2
- package/dist/types/frontend-tool.mjs.map +0 -1
- package/dist/types/human-in-the-loop.d.mts +0 -29
- package/dist/types/human-in-the-loop.d.ts +0 -29
- package/dist/types/human-in-the-loop.js +0 -19
- package/dist/types/human-in-the-loop.js.map +0 -1
- package/dist/types/human-in-the-loop.mjs +0 -2
- package/dist/types/human-in-the-loop.mjs.map +0 -1
- package/dist/types/index.d.mts +0 -11
- package/dist/types/index.d.ts +0 -11
- package/dist/types/index.js +0 -42
- package/dist/types/index.js.map +0 -1
- package/dist/types/index.mjs +0 -13
- package/dist/types/index.mjs.map +0 -1
- package/dist/types/react-activity-message-renderer.d.mts +0 -29
- package/dist/types/react-activity-message-renderer.d.ts +0 -29
- package/dist/types/react-activity-message-renderer.js +0 -19
- package/dist/types/react-activity-message-renderer.js.map +0 -1
- package/dist/types/react-activity-message-renderer.mjs +0 -2
- package/dist/types/react-activity-message-renderer.mjs.map +0 -1
- package/dist/types/react-custom-message-renderer.d.mts +0 -18
- package/dist/types/react-custom-message-renderer.d.ts +0 -18
- package/dist/types/react-custom-message-renderer.js +0 -19
- package/dist/types/react-custom-message-renderer.js.map +0 -1
- package/dist/types/react-custom-message-renderer.mjs +0 -2
- package/dist/types/react-custom-message-renderer.mjs.map +0 -1
- package/dist/types/react-tool-call-renderer.d.mts +0 -30
- package/dist/types/react-tool-call-renderer.d.ts +0 -30
- package/dist/types/react-tool-call-renderer.js +0 -19
- package/dist/types/react-tool-call-renderer.js.map +0 -1
- package/dist/types/react-tool-call-renderer.mjs +0 -2
- package/dist/types/react-tool-call-renderer.mjs.map +0 -1
package/dist/chunk-BT6C5OPU.mjs
DELETED
|
@@ -1,278 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Button
|
|
3
|
-
} from "./chunk-TAUOEJH2.mjs";
|
|
4
|
-
import {
|
|
5
|
-
Tooltip,
|
|
6
|
-
TooltipContent,
|
|
7
|
-
TooltipTrigger
|
|
8
|
-
} from "./chunk-VVAXSF3M.mjs";
|
|
9
|
-
import {
|
|
10
|
-
renderSlot
|
|
11
|
-
} from "./chunk-FIBK3DYE.mjs";
|
|
12
|
-
import {
|
|
13
|
-
CopilotChatDefaultLabels,
|
|
14
|
-
useCopilotChatConfiguration
|
|
15
|
-
} from "./chunk-4XJK5IVQ.mjs";
|
|
16
|
-
|
|
17
|
-
// src/components/chat/CopilotChatUserMessage.tsx
|
|
18
|
-
import { useMemo, useState } from "react";
|
|
19
|
-
import { Copy, Check, Edit, ChevronLeft, ChevronRight } from "lucide-react";
|
|
20
|
-
import { twMerge } from "tailwind-merge";
|
|
21
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
22
|
-
function flattenUserMessageContent(content) {
|
|
23
|
-
if (!content) {
|
|
24
|
-
return "";
|
|
25
|
-
}
|
|
26
|
-
if (typeof content === "string") {
|
|
27
|
-
return content;
|
|
28
|
-
}
|
|
29
|
-
return content.map((part) => {
|
|
30
|
-
if (part && typeof part === "object" && "type" in part && part.type === "text" && typeof part.text === "string") {
|
|
31
|
-
return part.text;
|
|
32
|
-
}
|
|
33
|
-
return "";
|
|
34
|
-
}).filter((text) => text.length > 0).join("\n");
|
|
35
|
-
}
|
|
36
|
-
function CopilotChatUserMessage({
|
|
37
|
-
message,
|
|
38
|
-
onEditMessage,
|
|
39
|
-
branchIndex,
|
|
40
|
-
numberOfBranches,
|
|
41
|
-
onSwitchToBranch,
|
|
42
|
-
additionalToolbarItems,
|
|
43
|
-
messageRenderer,
|
|
44
|
-
toolbar,
|
|
45
|
-
copyButton,
|
|
46
|
-
editButton,
|
|
47
|
-
branchNavigation,
|
|
48
|
-
children,
|
|
49
|
-
className,
|
|
50
|
-
...props
|
|
51
|
-
}) {
|
|
52
|
-
const flattenedContent = useMemo(
|
|
53
|
-
() => flattenUserMessageContent(message.content),
|
|
54
|
-
[message.content]
|
|
55
|
-
);
|
|
56
|
-
const BoundMessageRenderer = renderSlot(
|
|
57
|
-
messageRenderer,
|
|
58
|
-
CopilotChatUserMessage.MessageRenderer,
|
|
59
|
-
{
|
|
60
|
-
content: flattenedContent
|
|
61
|
-
}
|
|
62
|
-
);
|
|
63
|
-
const BoundCopyButton = renderSlot(
|
|
64
|
-
copyButton,
|
|
65
|
-
CopilotChatUserMessage.CopyButton,
|
|
66
|
-
{
|
|
67
|
-
onClick: async () => {
|
|
68
|
-
if (flattenedContent) {
|
|
69
|
-
try {
|
|
70
|
-
await navigator.clipboard.writeText(flattenedContent);
|
|
71
|
-
} catch (err) {
|
|
72
|
-
console.error("Failed to copy message:", err);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
);
|
|
78
|
-
const BoundEditButton = renderSlot(
|
|
79
|
-
editButton,
|
|
80
|
-
CopilotChatUserMessage.EditButton,
|
|
81
|
-
{
|
|
82
|
-
onClick: () => onEditMessage?.({ message })
|
|
83
|
-
}
|
|
84
|
-
);
|
|
85
|
-
const BoundBranchNavigation = renderSlot(
|
|
86
|
-
branchNavigation,
|
|
87
|
-
CopilotChatUserMessage.BranchNavigation,
|
|
88
|
-
{
|
|
89
|
-
currentBranch: branchIndex,
|
|
90
|
-
numberOfBranches,
|
|
91
|
-
onSwitchToBranch,
|
|
92
|
-
message
|
|
93
|
-
}
|
|
94
|
-
);
|
|
95
|
-
const showBranchNavigation = numberOfBranches && numberOfBranches > 1 && onSwitchToBranch;
|
|
96
|
-
const BoundToolbar = renderSlot(toolbar, CopilotChatUserMessage.Toolbar, {
|
|
97
|
-
children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 justify-end", children: [
|
|
98
|
-
additionalToolbarItems,
|
|
99
|
-
BoundCopyButton,
|
|
100
|
-
onEditMessage && BoundEditButton,
|
|
101
|
-
showBranchNavigation && BoundBranchNavigation
|
|
102
|
-
] })
|
|
103
|
-
});
|
|
104
|
-
if (children) {
|
|
105
|
-
return /* @__PURE__ */ jsx(Fragment, { children: children({
|
|
106
|
-
messageRenderer: BoundMessageRenderer,
|
|
107
|
-
toolbar: BoundToolbar,
|
|
108
|
-
copyButton: BoundCopyButton,
|
|
109
|
-
editButton: BoundEditButton,
|
|
110
|
-
branchNavigation: BoundBranchNavigation,
|
|
111
|
-
message,
|
|
112
|
-
branchIndex,
|
|
113
|
-
numberOfBranches,
|
|
114
|
-
additionalToolbarItems
|
|
115
|
-
}) });
|
|
116
|
-
}
|
|
117
|
-
return /* @__PURE__ */ jsxs(
|
|
118
|
-
"div",
|
|
119
|
-
{
|
|
120
|
-
className: twMerge("flex flex-col items-end group pt-10", className),
|
|
121
|
-
"data-message-id": message.id,
|
|
122
|
-
...props,
|
|
123
|
-
children: [
|
|
124
|
-
BoundMessageRenderer,
|
|
125
|
-
BoundToolbar
|
|
126
|
-
]
|
|
127
|
-
}
|
|
128
|
-
);
|
|
129
|
-
}
|
|
130
|
-
((CopilotChatUserMessage2) => {
|
|
131
|
-
CopilotChatUserMessage2.Container = ({ children, className, ...props }) => /* @__PURE__ */ jsx(
|
|
132
|
-
"div",
|
|
133
|
-
{
|
|
134
|
-
className: twMerge("flex flex-col items-end group", className),
|
|
135
|
-
...props,
|
|
136
|
-
children
|
|
137
|
-
}
|
|
138
|
-
);
|
|
139
|
-
CopilotChatUserMessage2.MessageRenderer = ({ content, className }) => /* @__PURE__ */ jsx(
|
|
140
|
-
"div",
|
|
141
|
-
{
|
|
142
|
-
className: twMerge(
|
|
143
|
-
"prose dark:prose-invert bg-muted relative max-w-[80%] rounded-[18px] px-4 py-1.5 data-[multiline]:py-3 inline-block whitespace-pre-wrap",
|
|
144
|
-
className
|
|
145
|
-
),
|
|
146
|
-
children: content
|
|
147
|
-
}
|
|
148
|
-
);
|
|
149
|
-
CopilotChatUserMessage2.Toolbar = ({
|
|
150
|
-
className,
|
|
151
|
-
...props
|
|
152
|
-
}) => /* @__PURE__ */ jsx(
|
|
153
|
-
"div",
|
|
154
|
-
{
|
|
155
|
-
className: twMerge(
|
|
156
|
-
"w-full bg-transparent flex items-center justify-end -mr-[5px] mt-[4px] invisible group-hover:visible",
|
|
157
|
-
className
|
|
158
|
-
),
|
|
159
|
-
...props
|
|
160
|
-
}
|
|
161
|
-
);
|
|
162
|
-
CopilotChatUserMessage2.ToolbarButton = ({ title, children, className, ...props }) => {
|
|
163
|
-
return /* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
164
|
-
/* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
165
|
-
Button,
|
|
166
|
-
{
|
|
167
|
-
type: "button",
|
|
168
|
-
variant: "assistantMessageToolbarButton",
|
|
169
|
-
"aria-label": title,
|
|
170
|
-
className: twMerge(className),
|
|
171
|
-
...props,
|
|
172
|
-
children
|
|
173
|
-
}
|
|
174
|
-
) }),
|
|
175
|
-
/* @__PURE__ */ jsx(TooltipContent, { side: "bottom", children: /* @__PURE__ */ jsx("p", { children: title }) })
|
|
176
|
-
] });
|
|
177
|
-
};
|
|
178
|
-
CopilotChatUserMessage2.CopyButton = ({ className, title, onClick, ...props }) => {
|
|
179
|
-
const config = useCopilotChatConfiguration();
|
|
180
|
-
const labels = config?.labels ?? CopilotChatDefaultLabels;
|
|
181
|
-
const [copied, setCopied] = useState(false);
|
|
182
|
-
const handleClick = (event) => {
|
|
183
|
-
setCopied(true);
|
|
184
|
-
setTimeout(() => setCopied(false), 2e3);
|
|
185
|
-
if (onClick) {
|
|
186
|
-
onClick(event);
|
|
187
|
-
}
|
|
188
|
-
};
|
|
189
|
-
return /* @__PURE__ */ jsx(
|
|
190
|
-
CopilotChatUserMessage2.ToolbarButton,
|
|
191
|
-
{
|
|
192
|
-
title: title || labels.userMessageToolbarCopyMessageLabel,
|
|
193
|
-
onClick: handleClick,
|
|
194
|
-
className,
|
|
195
|
-
...props,
|
|
196
|
-
children: copied ? /* @__PURE__ */ jsx(Check, { className: "size-[18px]" }) : /* @__PURE__ */ jsx(Copy, { className: "size-[18px]" })
|
|
197
|
-
}
|
|
198
|
-
);
|
|
199
|
-
};
|
|
200
|
-
CopilotChatUserMessage2.EditButton = ({ className, title, ...props }) => {
|
|
201
|
-
const config = useCopilotChatConfiguration();
|
|
202
|
-
const labels = config?.labels ?? CopilotChatDefaultLabels;
|
|
203
|
-
return /* @__PURE__ */ jsx(
|
|
204
|
-
CopilotChatUserMessage2.ToolbarButton,
|
|
205
|
-
{
|
|
206
|
-
title: title || labels.userMessageToolbarEditMessageLabel,
|
|
207
|
-
className,
|
|
208
|
-
...props,
|
|
209
|
-
children: /* @__PURE__ */ jsx(Edit, { className: "size-[18px]" })
|
|
210
|
-
}
|
|
211
|
-
);
|
|
212
|
-
};
|
|
213
|
-
CopilotChatUserMessage2.BranchNavigation = ({
|
|
214
|
-
className,
|
|
215
|
-
currentBranch = 0,
|
|
216
|
-
numberOfBranches = 1,
|
|
217
|
-
onSwitchToBranch,
|
|
218
|
-
message,
|
|
219
|
-
...props
|
|
220
|
-
}) => {
|
|
221
|
-
if (!numberOfBranches || numberOfBranches <= 1 || !onSwitchToBranch) {
|
|
222
|
-
return null;
|
|
223
|
-
}
|
|
224
|
-
const canGoPrev = currentBranch > 0;
|
|
225
|
-
const canGoNext = currentBranch < numberOfBranches - 1;
|
|
226
|
-
return /* @__PURE__ */ jsxs("div", { className: twMerge("flex items-center gap-1", className), ...props, children: [
|
|
227
|
-
/* @__PURE__ */ jsx(
|
|
228
|
-
Button,
|
|
229
|
-
{
|
|
230
|
-
type: "button",
|
|
231
|
-
variant: "assistantMessageToolbarButton",
|
|
232
|
-
onClick: () => onSwitchToBranch?.({
|
|
233
|
-
branchIndex: currentBranch - 1,
|
|
234
|
-
numberOfBranches,
|
|
235
|
-
message
|
|
236
|
-
}),
|
|
237
|
-
disabled: !canGoPrev,
|
|
238
|
-
className: "h-6 w-6 p-0",
|
|
239
|
-
children: /* @__PURE__ */ jsx(ChevronLeft, { className: "size-[20px]" })
|
|
240
|
-
}
|
|
241
|
-
),
|
|
242
|
-
/* @__PURE__ */ jsxs("span", { className: "text-sm text-muted-foreground px-0 font-medium", children: [
|
|
243
|
-
currentBranch + 1,
|
|
244
|
-
"/",
|
|
245
|
-
numberOfBranches
|
|
246
|
-
] }),
|
|
247
|
-
/* @__PURE__ */ jsx(
|
|
248
|
-
Button,
|
|
249
|
-
{
|
|
250
|
-
type: "button",
|
|
251
|
-
variant: "assistantMessageToolbarButton",
|
|
252
|
-
onClick: () => onSwitchToBranch?.({
|
|
253
|
-
branchIndex: currentBranch + 1,
|
|
254
|
-
numberOfBranches,
|
|
255
|
-
message
|
|
256
|
-
}),
|
|
257
|
-
disabled: !canGoNext,
|
|
258
|
-
className: "h-6 w-6 p-0",
|
|
259
|
-
children: /* @__PURE__ */ jsx(ChevronRight, { className: "size-[20px]" })
|
|
260
|
-
}
|
|
261
|
-
)
|
|
262
|
-
] });
|
|
263
|
-
};
|
|
264
|
-
})(CopilotChatUserMessage || (CopilotChatUserMessage = {}));
|
|
265
|
-
CopilotChatUserMessage.Container.displayName = "CopilotChatUserMessage.Container";
|
|
266
|
-
CopilotChatUserMessage.MessageRenderer.displayName = "CopilotChatUserMessage.MessageRenderer";
|
|
267
|
-
CopilotChatUserMessage.Toolbar.displayName = "CopilotChatUserMessage.Toolbar";
|
|
268
|
-
CopilotChatUserMessage.ToolbarButton.displayName = "CopilotChatUserMessage.ToolbarButton";
|
|
269
|
-
CopilotChatUserMessage.CopyButton.displayName = "CopilotChatUserMessage.CopyButton";
|
|
270
|
-
CopilotChatUserMessage.EditButton.displayName = "CopilotChatUserMessage.EditButton";
|
|
271
|
-
CopilotChatUserMessage.BranchNavigation.displayName = "CopilotChatUserMessage.BranchNavigation";
|
|
272
|
-
var CopilotChatUserMessage_default = CopilotChatUserMessage;
|
|
273
|
-
|
|
274
|
-
export {
|
|
275
|
-
CopilotChatUserMessage,
|
|
276
|
-
CopilotChatUserMessage_default
|
|
277
|
-
};
|
|
278
|
-
//# sourceMappingURL=chunk-BT6C5OPU.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/chat/CopilotChatUserMessage.tsx"],"sourcesContent":["import { useMemo, useState } from \"react\";\nimport { Copy, Check, Edit, ChevronLeft, ChevronRight } from \"lucide-react\";\nimport {\n useCopilotChatConfiguration,\n CopilotChatDefaultLabels,\n} from \"@/providers/CopilotChatConfigurationProvider\";\nimport { twMerge } from \"tailwind-merge\";\nimport { Button } from \"@/components/ui/button\";\nimport { UserMessage } from \"@ag-ui/core\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport { renderSlot, WithSlots } from \"@/lib/slots\";\n\nfunction flattenUserMessageContent(content?: UserMessage[\"content\"]): string {\n if (!content) {\n return \"\";\n }\n\n if (typeof content === \"string\") {\n return content;\n }\n\n return content\n .map((part) => {\n if (\n part &&\n typeof part === \"object\" &&\n \"type\" in part &&\n (part as { type?: unknown }).type === \"text\" &&\n typeof (part as { text?: unknown }).text === \"string\"\n ) {\n return (part as { text: string }).text;\n }\n return \"\";\n })\n .filter((text) => text.length > 0)\n .join(\"\\n\");\n}\n\nexport interface CopilotChatUserMessageOnEditMessageProps {\n message: UserMessage;\n}\n\nexport interface CopilotChatUserMessageOnSwitchToBranchProps {\n message: UserMessage;\n branchIndex: number;\n numberOfBranches: number;\n}\n\nexport type CopilotChatUserMessageProps = WithSlots<\n {\n messageRenderer: typeof CopilotChatUserMessage.MessageRenderer;\n toolbar: typeof CopilotChatUserMessage.Toolbar;\n copyButton: typeof CopilotChatUserMessage.CopyButton;\n editButton: typeof CopilotChatUserMessage.EditButton;\n branchNavigation: typeof CopilotChatUserMessage.BranchNavigation;\n },\n {\n onEditMessage?: (props: CopilotChatUserMessageOnEditMessageProps) => void;\n onSwitchToBranch?: (\n props: CopilotChatUserMessageOnSwitchToBranchProps\n ) => void;\n message: UserMessage;\n branchIndex?: number;\n numberOfBranches?: number;\n additionalToolbarItems?: React.ReactNode;\n } & React.HTMLAttributes<HTMLDivElement>\n>;\n\nexport function CopilotChatUserMessage({\n message,\n onEditMessage,\n branchIndex,\n numberOfBranches,\n onSwitchToBranch,\n additionalToolbarItems,\n messageRenderer,\n toolbar,\n copyButton,\n editButton,\n branchNavigation,\n children,\n className,\n ...props\n}: CopilotChatUserMessageProps) {\n const flattenedContent = useMemo(\n () => flattenUserMessageContent(message.content),\n [message.content]\n );\n\n const BoundMessageRenderer = renderSlot(\n messageRenderer,\n CopilotChatUserMessage.MessageRenderer,\n {\n content: flattenedContent,\n }\n );\n\n const BoundCopyButton = renderSlot(\n copyButton,\n CopilotChatUserMessage.CopyButton,\n {\n onClick: async () => {\n if (flattenedContent) {\n try {\n await navigator.clipboard.writeText(flattenedContent);\n } catch (err) {\n console.error(\"Failed to copy message:\", err);\n }\n }\n },\n }\n );\n\n const BoundEditButton = renderSlot(\n editButton,\n CopilotChatUserMessage.EditButton,\n {\n onClick: () => onEditMessage?.({ message }),\n }\n );\n\n const BoundBranchNavigation = renderSlot(\n branchNavigation,\n CopilotChatUserMessage.BranchNavigation,\n {\n currentBranch: branchIndex,\n numberOfBranches,\n onSwitchToBranch,\n message,\n }\n );\n\n const showBranchNavigation =\n numberOfBranches && numberOfBranches > 1 && onSwitchToBranch;\n\n const BoundToolbar = renderSlot(toolbar, CopilotChatUserMessage.Toolbar, {\n children: (\n <div className=\"flex items-center gap-1 justify-end\">\n {additionalToolbarItems}\n {BoundCopyButton}\n {onEditMessage && BoundEditButton}\n {showBranchNavigation && BoundBranchNavigation}\n </div>\n ),\n });\n\n if (children) {\n return (\n <>\n {children({\n messageRenderer: BoundMessageRenderer,\n toolbar: BoundToolbar,\n copyButton: BoundCopyButton,\n editButton: BoundEditButton,\n branchNavigation: BoundBranchNavigation,\n message,\n branchIndex,\n numberOfBranches,\n additionalToolbarItems,\n })}\n </>\n );\n }\n\n return (\n <div\n className={twMerge(\"flex flex-col items-end group pt-10\", className)}\n data-message-id={message.id}\n {...props}\n >\n {BoundMessageRenderer}\n {BoundToolbar}\n </div>\n );\n}\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace CopilotChatUserMessage {\n export const Container: React.FC<\n React.PropsWithChildren<React.HTMLAttributes<HTMLDivElement>>\n > = ({ children, className, ...props }) => (\n <div\n className={twMerge(\"flex flex-col items-end group\", className)}\n {...props}\n >\n {children}\n </div>\n );\n\n export const MessageRenderer: React.FC<{\n content: string;\n className?: string;\n }> = ({ content, className }) => (\n <div\n className={twMerge(\n \"prose dark:prose-invert bg-muted relative max-w-[80%] rounded-[18px] px-4 py-1.5 data-[multiline]:py-3 inline-block whitespace-pre-wrap\",\n className\n )}\n >\n {content}\n </div>\n );\n\n export const Toolbar: React.FC<React.HTMLAttributes<HTMLDivElement>> = ({\n className,\n ...props\n }) => (\n <div\n className={twMerge(\n \"w-full bg-transparent flex items-center justify-end -mr-[5px] mt-[4px] invisible group-hover:visible\",\n className\n )}\n {...props}\n />\n );\n\n export const ToolbarButton: React.FC<\n React.ButtonHTMLAttributes<HTMLButtonElement> & {\n title: string;\n children: React.ReactNode;\n }\n > = ({ title, children, className, ...props }) => {\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n type=\"button\"\n variant=\"assistantMessageToolbarButton\"\n aria-label={title}\n className={twMerge(className)}\n {...props}\n >\n {children}\n </Button>\n </TooltipTrigger>\n <TooltipContent side=\"bottom\">\n <p>{title}</p>\n </TooltipContent>\n </Tooltip>\n );\n };\n\n export const CopyButton: React.FC<\n React.ButtonHTMLAttributes<HTMLButtonElement> & { copied?: boolean }\n > = ({ className, title, onClick, ...props }) => {\n const config = useCopilotChatConfiguration();\n const labels = config?.labels ?? CopilotChatDefaultLabels;\n const [copied, setCopied] = useState(false);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n\n if (onClick) {\n onClick(event);\n }\n };\n\n return (\n <ToolbarButton\n title={title || labels.userMessageToolbarCopyMessageLabel}\n onClick={handleClick}\n className={className}\n {...props}\n >\n {copied ? (\n <Check className=\"size-[18px]\" />\n ) : (\n <Copy className=\"size-[18px]\" />\n )}\n </ToolbarButton>\n );\n };\n\n export const EditButton: React.FC<\n React.ButtonHTMLAttributes<HTMLButtonElement>\n > = ({ className, title, ...props }) => {\n const config = useCopilotChatConfiguration();\n const labels = config?.labels ?? CopilotChatDefaultLabels;\n return (\n <ToolbarButton\n title={title || labels.userMessageToolbarEditMessageLabel}\n className={className}\n {...props}\n >\n <Edit className=\"size-[18px]\" />\n </ToolbarButton>\n );\n };\n\n export const BranchNavigation: React.FC<\n React.HTMLAttributes<HTMLDivElement> & {\n currentBranch?: number;\n numberOfBranches?: number;\n onSwitchToBranch?: (\n props: CopilotChatUserMessageOnSwitchToBranchProps\n ) => void;\n message: UserMessage;\n }\n > = ({\n className,\n currentBranch = 0,\n numberOfBranches = 1,\n onSwitchToBranch,\n message,\n ...props\n }) => {\n if (!numberOfBranches || numberOfBranches <= 1 || !onSwitchToBranch) {\n return null;\n }\n\n const canGoPrev = currentBranch > 0;\n const canGoNext = currentBranch < numberOfBranches - 1;\n\n return (\n <div className={twMerge(\"flex items-center gap-1\", className)} {...props}>\n <Button\n type=\"button\"\n variant=\"assistantMessageToolbarButton\"\n onClick={() =>\n onSwitchToBranch?.({\n branchIndex: currentBranch - 1,\n numberOfBranches,\n message,\n })\n }\n disabled={!canGoPrev}\n className=\"h-6 w-6 p-0\"\n >\n <ChevronLeft className=\"size-[20px]\" />\n </Button>\n <span className=\"text-sm text-muted-foreground px-0 font-medium\">\n {currentBranch + 1}/{numberOfBranches}\n </span>\n <Button\n type=\"button\"\n variant=\"assistantMessageToolbarButton\"\n onClick={() =>\n onSwitchToBranch?.({\n branchIndex: currentBranch + 1,\n numberOfBranches,\n message,\n })\n }\n disabled={!canGoNext}\n className=\"h-6 w-6 p-0\"\n >\n <ChevronRight className=\"size-[20px]\" />\n </Button>\n </div>\n );\n };\n}\n\nCopilotChatUserMessage.Container.displayName =\n \"CopilotChatUserMessage.Container\";\nCopilotChatUserMessage.MessageRenderer.displayName =\n \"CopilotChatUserMessage.MessageRenderer\";\nCopilotChatUserMessage.Toolbar.displayName = \"CopilotChatUserMessage.Toolbar\";\nCopilotChatUserMessage.ToolbarButton.displayName =\n \"CopilotChatUserMessage.ToolbarButton\";\nCopilotChatUserMessage.CopyButton.displayName =\n \"CopilotChatUserMessage.CopyButton\";\nCopilotChatUserMessage.EditButton.displayName =\n \"CopilotChatUserMessage.EditButton\";\nCopilotChatUserMessage.BranchNavigation.displayName =\n \"CopilotChatUserMessage.BranchNavigation\";\n\nexport default CopilotChatUserMessage;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,SAAS,SAAS,gBAAgB;AAClC,SAAS,MAAM,OAAO,MAAM,aAAa,oBAAoB;AAK7D,SAAS,eAAe;AAuIlB,SAWA,eAXA;AA7HN,SAAS,0BAA0B,SAA0C;AAC3E,MAAI,CAAC,SAAS;AACZ,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,YAAY,UAAU;AAC/B,WAAO;AAAA,EACT;AAEA,SAAO,QACJ,IAAI,CAAC,SAAS;AACb,QACE,QACA,OAAO,SAAS,YAChB,UAAU,QACT,KAA4B,SAAS,UACtC,OAAQ,KAA4B,SAAS,UAC7C;AACA,aAAQ,KAA0B;AAAA,IACpC;AACA,WAAO;AAAA,EACT,CAAC,EACA,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,EAChC,KAAK,IAAI;AACd;AAgCO,SAAS,uBAAuB;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAgC;AAC9B,QAAM,mBAAmB;AAAA,IACvB,MAAM,0BAA0B,QAAQ,OAAO;AAAA,IAC/C,CAAC,QAAQ,OAAO;AAAA,EAClB;AAEA,QAAM,uBAAuB;AAAA,IAC3B;AAAA,IACA,uBAAuB;AAAA,IACvB;AAAA,MACE,SAAS;AAAA,IACX;AAAA,EACF;AAEA,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA,uBAAuB;AAAA,IACvB;AAAA,MACE,SAAS,YAAY;AACnB,YAAI,kBAAkB;AACpB,cAAI;AACF,kBAAM,UAAU,UAAU,UAAU,gBAAgB;AAAA,UACtD,SAAS,KAAK;AACZ,oBAAQ,MAAM,2BAA2B,GAAG;AAAA,UAC9C;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA,uBAAuB;AAAA,IACvB;AAAA,MACE,SAAS,MAAM,gBAAgB,EAAE,QAAQ,CAAC;AAAA,IAC5C;AAAA,EACF;AAEA,QAAM,wBAAwB;AAAA,IAC5B;AAAA,IACA,uBAAuB;AAAA,IACvB;AAAA,MACE,eAAe;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,QAAM,uBACJ,oBAAoB,mBAAmB,KAAK;AAE9C,QAAM,eAAe,WAAW,SAAS,uBAAuB,SAAS;AAAA,IACvE,UACE,qBAAC,SAAI,WAAU,uCACZ;AAAA;AAAA,MACA;AAAA,MACA,iBAAiB;AAAA,MACjB,wBAAwB;AAAA,OAC3B;AAAA,EAEJ,CAAC;AAED,MAAI,UAAU;AACZ,WACE,gCACG,mBAAS;AAAA,MACR,iBAAiB;AAAA,MACjB,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,kBAAkB;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC,GACH;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,QAAQ,uCAAuC,SAAS;AAAA,MACnE,mBAAiB,QAAQ;AAAA,MACxB,GAAG;AAAA,MAEH;AAAA;AAAA,QACA;AAAA;AAAA;AAAA,EACH;AAEJ;AAAA,CAGO,CAAUA,4BAAV;AACE,EAAMA,wBAAA,YAET,CAAC,EAAE,UAAU,WAAW,GAAG,MAAM,MACnC;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,QAAQ,iCAAiC,SAAS;AAAA,MAC5D,GAAG;AAAA,MAEH;AAAA;AAAA,EACH;AAGK,EAAMA,wBAAA,kBAGR,CAAC,EAAE,SAAS,UAAU,MACzB;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MAEC;AAAA;AAAA,EACH;AAGK,EAAMA,wBAAA,UAA0D,CAAC;AAAA,IACtE;AAAA,IACA,GAAG;AAAA,EACL,MACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAGK,EAAMA,wBAAA,gBAKT,CAAC,EAAE,OAAO,UAAU,WAAW,GAAG,MAAM,MAAM;AAChD,WACE,qBAAC,WACC;AAAA,0BAAC,kBAAe,SAAO,MACrB;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAQ;AAAA,UACR,cAAY;AAAA,UACZ,WAAW,QAAQ,SAAS;AAAA,UAC3B,GAAG;AAAA,UAEH;AAAA;AAAA,MACH,GACF;AAAA,MACA,oBAAC,kBAAe,MAAK,UACnB,8BAAC,OAAG,iBAAM,GACZ;AAAA,OACF;AAAA,EAEJ;AAEO,EAAMA,wBAAA,aAET,CAAC,EAAE,WAAW,OAAO,SAAS,GAAG,MAAM,MAAM;AAC/C,UAAM,SAAS,4BAA4B;AAC3C,UAAM,SAAS,QAAQ,UAAU;AACjC,UAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,KAAK;AAE1C,UAAM,cAAc,CAAC,UAA+C;AAClE,gBAAU,IAAI;AACd,iBAAW,MAAM,UAAU,KAAK,GAAG,GAAI;AAEvC,UAAI,SAAS;AACX,gBAAQ,KAAK;AAAA,MACf;AAAA,IACF;AAEA,WACE;AAAA,MAACA,wBAAA;AAAA;AAAA,QACC,OAAO,SAAS,OAAO;AAAA,QACvB,SAAS;AAAA,QACT;AAAA,QACC,GAAG;AAAA,QAEH,mBACC,oBAAC,SAAM,WAAU,eAAc,IAE/B,oBAAC,QAAK,WAAU,eAAc;AAAA;AAAA,IAElC;AAAA,EAEJ;AAEO,EAAMA,wBAAA,aAET,CAAC,EAAE,WAAW,OAAO,GAAG,MAAM,MAAM;AACtC,UAAM,SAAS,4BAA4B;AAC3C,UAAM,SAAS,QAAQ,UAAU;AACjC,WACE;AAAA,MAACA,wBAAA;AAAA;AAAA,QACC,OAAO,SAAS,OAAO;AAAA,QACvB;AAAA,QACC,GAAG;AAAA,QAEJ,8BAAC,QAAK,WAAU,eAAc;AAAA;AAAA,IAChC;AAAA,EAEJ;AAEO,EAAMA,wBAAA,mBAST,CAAC;AAAA,IACH;AAAA,IACA,gBAAgB;AAAA,IAChB,mBAAmB;AAAA,IACnB;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,MAAM;AACJ,QAAI,CAAC,oBAAoB,oBAAoB,KAAK,CAAC,kBAAkB;AACnE,aAAO;AAAA,IACT;AAEA,UAAM,YAAY,gBAAgB;AAClC,UAAM,YAAY,gBAAgB,mBAAmB;AAErD,WACE,qBAAC,SAAI,WAAW,QAAQ,2BAA2B,SAAS,GAAI,GAAG,OACjE;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAQ;AAAA,UACR,SAAS,MACP,mBAAmB;AAAA,YACjB,aAAa,gBAAgB;AAAA,YAC7B;AAAA,YACA;AAAA,UACF,CAAC;AAAA,UAEH,UAAU,CAAC;AAAA,UACX,WAAU;AAAA,UAEV,8BAAC,eAAY,WAAU,eAAc;AAAA;AAAA,MACvC;AAAA,MACA,qBAAC,UAAK,WAAU,kDACb;AAAA,wBAAgB;AAAA,QAAE;AAAA,QAAE;AAAA,SACvB;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAQ;AAAA,UACR,SAAS,MACP,mBAAmB;AAAA,YACjB,aAAa,gBAAgB;AAAA,YAC7B;AAAA,YACA;AAAA,UACF,CAAC;AAAA,UAEH,UAAU,CAAC;AAAA,UACX,WAAU;AAAA,UAEV,8BAAC,gBAAa,WAAU,eAAc;AAAA;AAAA,MACxC;AAAA,OACF;AAAA,EAEJ;AAAA,GA9Ke;AAiLjB,uBAAuB,UAAU,cAC/B;AACF,uBAAuB,gBAAgB,cACrC;AACF,uBAAuB,QAAQ,cAAc;AAC7C,uBAAuB,cAAc,cACnC;AACF,uBAAuB,WAAW,cAChC;AACF,uBAAuB,WAAW,cAChC;AACF,uBAAuB,iBAAiB,cACtC;AAEF,IAAO,iCAAQ;","names":["CopilotChatUserMessage"]}
|
package/dist/chunk-CDSO65ZY.mjs
DELETED
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
CopilotChatView
|
|
3
|
-
} from "./chunk-N5HC66HU.mjs";
|
|
4
|
-
import {
|
|
5
|
-
renderSlot
|
|
6
|
-
} from "./chunk-FIBK3DYE.mjs";
|
|
7
|
-
import {
|
|
8
|
-
useSuggestions
|
|
9
|
-
} from "./chunk-XU5CEPYQ.mjs";
|
|
10
|
-
import {
|
|
11
|
-
useAgent
|
|
12
|
-
} from "./chunk-IA4CLXDM.mjs";
|
|
13
|
-
import {
|
|
14
|
-
CopilotChatConfigurationProvider,
|
|
15
|
-
useCopilotChatConfiguration
|
|
16
|
-
} from "./chunk-4XJK5IVQ.mjs";
|
|
17
|
-
import {
|
|
18
|
-
useCopilotKit
|
|
19
|
-
} from "./chunk-RF2CGPHQ.mjs";
|
|
20
|
-
|
|
21
|
-
// src/components/chat/CopilotChat.tsx
|
|
22
|
-
import { DEFAULT_AGENT_ID, randomUUID } from "@copilotkitnext/shared";
|
|
23
|
-
import { useCallback, useEffect, useMemo } from "react";
|
|
24
|
-
import { merge } from "ts-deepmerge";
|
|
25
|
-
import { AGUIConnectNotImplementedError } from "@ag-ui/client";
|
|
26
|
-
import { jsx } from "react/jsx-runtime";
|
|
27
|
-
function CopilotChat({ agentId, threadId, labels, chatView, isModalDefaultOpen, ...props }) {
|
|
28
|
-
const existingConfig = useCopilotChatConfiguration();
|
|
29
|
-
const resolvedAgentId = agentId ?? existingConfig?.agentId ?? DEFAULT_AGENT_ID;
|
|
30
|
-
const resolvedThreadId = useMemo(
|
|
31
|
-
() => threadId ?? existingConfig?.threadId ?? randomUUID(),
|
|
32
|
-
[threadId, existingConfig?.threadId]
|
|
33
|
-
);
|
|
34
|
-
const { agent } = useAgent({ agentId: resolvedAgentId });
|
|
35
|
-
const { copilotkit } = useCopilotKit();
|
|
36
|
-
const { suggestions: autoSuggestions } = useSuggestions({ agentId: resolvedAgentId });
|
|
37
|
-
const {
|
|
38
|
-
inputProps: providedInputProps,
|
|
39
|
-
messageView: providedMessageView,
|
|
40
|
-
suggestionView: providedSuggestionView,
|
|
41
|
-
...restProps
|
|
42
|
-
} = props;
|
|
43
|
-
useEffect(() => {
|
|
44
|
-
const connect = async (agent2) => {
|
|
45
|
-
try {
|
|
46
|
-
await copilotkit.connectAgent({ agent: agent2 });
|
|
47
|
-
} catch (error) {
|
|
48
|
-
if (error instanceof AGUIConnectNotImplementedError) {
|
|
49
|
-
} else {
|
|
50
|
-
throw error;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
if (agent) {
|
|
55
|
-
agent.threadId = resolvedThreadId;
|
|
56
|
-
connect(agent);
|
|
57
|
-
}
|
|
58
|
-
return () => {
|
|
59
|
-
};
|
|
60
|
-
}, [resolvedThreadId, agent, copilotkit, resolvedAgentId]);
|
|
61
|
-
const onSubmitInput = useCallback(
|
|
62
|
-
async (value) => {
|
|
63
|
-
agent?.addMessage({
|
|
64
|
-
id: randomUUID(),
|
|
65
|
-
role: "user",
|
|
66
|
-
content: value
|
|
67
|
-
});
|
|
68
|
-
if (agent) {
|
|
69
|
-
try {
|
|
70
|
-
await copilotkit.runAgent({ agent });
|
|
71
|
-
} catch (error) {
|
|
72
|
-
console.error("CopilotChat: runAgent failed", error);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
[agent, copilotkit]
|
|
77
|
-
);
|
|
78
|
-
const handleSelectSuggestion = useCallback(
|
|
79
|
-
async (suggestion) => {
|
|
80
|
-
if (!agent) {
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
agent.addMessage({
|
|
84
|
-
id: randomUUID(),
|
|
85
|
-
role: "user",
|
|
86
|
-
content: suggestion.message
|
|
87
|
-
});
|
|
88
|
-
try {
|
|
89
|
-
await copilotkit.runAgent({ agent });
|
|
90
|
-
} catch (error) {
|
|
91
|
-
console.error("CopilotChat: runAgent failed after selecting suggestion", error);
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
[agent, copilotkit]
|
|
95
|
-
);
|
|
96
|
-
const stopCurrentRun = useCallback(() => {
|
|
97
|
-
if (!agent) {
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
try {
|
|
101
|
-
copilotkit.stopAgent({ agent });
|
|
102
|
-
} catch (error) {
|
|
103
|
-
console.error("CopilotChat: stopAgent failed", error);
|
|
104
|
-
try {
|
|
105
|
-
agent.abortRun();
|
|
106
|
-
} catch (abortError) {
|
|
107
|
-
console.error("CopilotChat: abortRun fallback failed", abortError);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}, [agent, copilotkit]);
|
|
111
|
-
const mergedProps = merge(
|
|
112
|
-
{
|
|
113
|
-
isRunning: agent?.isRunning ?? false,
|
|
114
|
-
suggestions: autoSuggestions,
|
|
115
|
-
onSelectSuggestion: handleSelectSuggestion,
|
|
116
|
-
suggestionView: providedSuggestionView
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
...restProps,
|
|
120
|
-
...typeof providedMessageView === "string" ? { messageView: { className: providedMessageView } } : providedMessageView !== void 0 ? { messageView: providedMessageView } : {}
|
|
121
|
-
}
|
|
122
|
-
);
|
|
123
|
-
const providedStopHandler = providedInputProps?.onStop;
|
|
124
|
-
const hasMessages = (agent?.messages?.length ?? 0) > 0;
|
|
125
|
-
const shouldAllowStop = (agent?.isRunning ?? false) && hasMessages;
|
|
126
|
-
const effectiveStopHandler = shouldAllowStop ? providedStopHandler ?? stopCurrentRun : providedStopHandler;
|
|
127
|
-
const finalInputProps = {
|
|
128
|
-
...providedInputProps,
|
|
129
|
-
onSubmitMessage: onSubmitInput,
|
|
130
|
-
onStop: effectiveStopHandler,
|
|
131
|
-
isRunning: agent?.isRunning ?? false
|
|
132
|
-
};
|
|
133
|
-
finalInputProps.mode = agent?.isRunning ? "processing" : finalInputProps.mode ?? "input";
|
|
134
|
-
const finalProps = merge(mergedProps, {
|
|
135
|
-
messages: agent?.messages ?? [],
|
|
136
|
-
inputProps: finalInputProps
|
|
137
|
-
});
|
|
138
|
-
const RenderedChatView = renderSlot(chatView, CopilotChatView, finalProps);
|
|
139
|
-
return /* @__PURE__ */ jsx(
|
|
140
|
-
CopilotChatConfigurationProvider,
|
|
141
|
-
{
|
|
142
|
-
agentId: resolvedAgentId,
|
|
143
|
-
threadId: resolvedThreadId,
|
|
144
|
-
labels,
|
|
145
|
-
isModalDefaultOpen,
|
|
146
|
-
children: RenderedChatView
|
|
147
|
-
}
|
|
148
|
-
);
|
|
149
|
-
}
|
|
150
|
-
((CopilotChat2) => {
|
|
151
|
-
CopilotChat2.View = CopilotChatView;
|
|
152
|
-
})(CopilotChat || (CopilotChat = {}));
|
|
153
|
-
|
|
154
|
-
export {
|
|
155
|
-
CopilotChat
|
|
156
|
-
};
|
|
157
|
-
//# sourceMappingURL=chunk-CDSO65ZY.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/chat/CopilotChat.tsx"],"sourcesContent":["import { useAgent } from \"@/hooks/use-agent\";\nimport { useSuggestions } from \"@/hooks/use-suggestions\";\nimport { CopilotChatView, CopilotChatViewProps } from \"./CopilotChatView\";\nimport CopilotChatInput, { CopilotChatInputProps } from \"./CopilotChatInput\";\nimport {\n CopilotChatConfigurationProvider,\n CopilotChatLabels,\n useCopilotChatConfiguration,\n} from \"@/providers/CopilotChatConfigurationProvider\";\nimport { DEFAULT_AGENT_ID, randomUUID } from \"@copilotkitnext/shared\";\nimport { Suggestion } from \"@copilotkitnext/core\";\nimport { useCallback, useEffect, useMemo } from \"react\";\nimport { merge } from \"ts-deepmerge\";\nimport { useCopilotKit } from \"@/providers/CopilotKitProvider\";\nimport { AbstractAgent, AGUIConnectNotImplementedError } from \"@ag-ui/client\";\nimport { renderSlot, SlotValue } from \"@/lib/slots\";\n\nexport type CopilotChatProps = Omit<\n CopilotChatViewProps,\n \"messages\" | \"isRunning\" | \"suggestions\" | \"suggestionLoadingIndexes\" | \"onSelectSuggestion\"\n> & {\n agentId?: string;\n threadId?: string;\n labels?: Partial<CopilotChatLabels>;\n chatView?: SlotValue<typeof CopilotChatView>;\n isModalDefaultOpen?: boolean;\n};\nexport function CopilotChat({ agentId, threadId, labels, chatView, isModalDefaultOpen, ...props }: CopilotChatProps) {\n // Check for existing configuration provider\n const existingConfig = useCopilotChatConfiguration();\n\n // Apply priority: props > existing config > defaults\n const resolvedAgentId = agentId ?? existingConfig?.agentId ?? DEFAULT_AGENT_ID;\n const resolvedThreadId = useMemo(\n () => threadId ?? existingConfig?.threadId ?? randomUUID(),\n [threadId, existingConfig?.threadId],\n );\n const { agent } = useAgent({ agentId: resolvedAgentId });\n const { copilotkit } = useCopilotKit();\n\n const { suggestions: autoSuggestions } = useSuggestions({ agentId: resolvedAgentId });\n\n const {\n inputProps: providedInputProps,\n messageView: providedMessageView,\n suggestionView: providedSuggestionView,\n ...restProps\n } = props;\n\n useEffect(() => {\n const connect = async (agent: AbstractAgent) => {\n try {\n await copilotkit.connectAgent({ agent });\n } catch (error) {\n if (error instanceof AGUIConnectNotImplementedError) {\n // connect not implemented, ignore\n } else {\n throw error;\n }\n }\n };\n if (agent) {\n agent.threadId = resolvedThreadId;\n connect(agent);\n }\n return () => {};\n }, [resolvedThreadId, agent, copilotkit, resolvedAgentId]);\n\n const onSubmitInput = useCallback(\n async (value: string) => {\n agent?.addMessage({\n id: randomUUID(),\n role: \"user\",\n content: value,\n });\n if (agent) {\n try {\n await copilotkit.runAgent({ agent });\n } catch (error) {\n console.error(\"CopilotChat: runAgent failed\", error);\n }\n }\n },\n [agent, copilotkit],\n );\n\n const handleSelectSuggestion = useCallback(\n async (suggestion: Suggestion) => {\n if (!agent) {\n return;\n }\n\n agent.addMessage({\n id: randomUUID(),\n role: \"user\",\n content: suggestion.message,\n });\n\n try {\n await copilotkit.runAgent({ agent });\n } catch (error) {\n console.error(\"CopilotChat: runAgent failed after selecting suggestion\", error);\n }\n },\n [agent, copilotkit],\n );\n\n const stopCurrentRun = useCallback(() => {\n if (!agent) {\n return;\n }\n\n try {\n copilotkit.stopAgent({ agent });\n } catch (error) {\n console.error(\"CopilotChat: stopAgent failed\", error);\n try {\n agent.abortRun();\n } catch (abortError) {\n console.error(\"CopilotChat: abortRun fallback failed\", abortError);\n }\n }\n }, [agent, copilotkit]);\n\n const mergedProps = merge(\n {\n isRunning: agent?.isRunning ?? false,\n suggestions: autoSuggestions,\n onSelectSuggestion: handleSelectSuggestion,\n suggestionView: providedSuggestionView,\n },\n {\n ...restProps,\n ...(typeof providedMessageView === \"string\"\n ? { messageView: { className: providedMessageView } }\n : providedMessageView !== undefined\n ? { messageView: providedMessageView }\n : {}),\n },\n );\n\n const providedStopHandler = providedInputProps?.onStop;\n const hasMessages = (agent?.messages?.length ?? 0) > 0;\n const shouldAllowStop = (agent?.isRunning ?? false) && hasMessages;\n const effectiveStopHandler = shouldAllowStop ? providedStopHandler ?? stopCurrentRun : providedStopHandler;\n\n const finalInputProps = {\n ...providedInputProps,\n onSubmitMessage: onSubmitInput,\n onStop: effectiveStopHandler,\n isRunning: agent?.isRunning ?? false,\n } as Partial<CopilotChatInputProps> & { onSubmitMessage: (value: string) => void };\n\n finalInputProps.mode = agent?.isRunning ? \"processing\" : finalInputProps.mode ?? \"input\";\n\n const finalProps = merge(mergedProps, {\n messages: agent?.messages ?? [],\n inputProps: finalInputProps,\n }) as CopilotChatViewProps;\n\n // Always create a provider with merged values\n // This ensures priority: props > existing config > defaults\n const RenderedChatView = renderSlot(chatView, CopilotChatView, finalProps);\n\n return (\n <CopilotChatConfigurationProvider\n agentId={resolvedAgentId}\n threadId={resolvedThreadId}\n labels={labels}\n isModalDefaultOpen={isModalDefaultOpen}\n >\n {RenderedChatView}\n </CopilotChatConfigurationProvider>\n );\n}\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace CopilotChat {\n export const View = CopilotChatView;\n}\n"],"mappings":"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","names":["agent","CopilotChat"]}
|
package/dist/chunk-CGLGXQAU.mjs
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
useFrontendTool
|
|
3
|
-
} from "./chunk-IICUCI5S.mjs";
|
|
4
|
-
import {
|
|
5
|
-
useCopilotKit
|
|
6
|
-
} from "./chunk-RF2CGPHQ.mjs";
|
|
7
|
-
|
|
8
|
-
// src/hooks/use-human-in-the-loop.tsx
|
|
9
|
-
import { useCallback, useRef, useEffect } from "react";
|
|
10
|
-
import React from "react";
|
|
11
|
-
function useHumanInTheLoop(tool) {
|
|
12
|
-
const { copilotkit } = useCopilotKit();
|
|
13
|
-
const resolvePromiseRef = useRef(null);
|
|
14
|
-
const respond = useCallback(async (result) => {
|
|
15
|
-
if (resolvePromiseRef.current) {
|
|
16
|
-
resolvePromiseRef.current(result);
|
|
17
|
-
resolvePromiseRef.current = null;
|
|
18
|
-
}
|
|
19
|
-
}, []);
|
|
20
|
-
const handler = useCallback(async () => {
|
|
21
|
-
return new Promise((resolve) => {
|
|
22
|
-
resolvePromiseRef.current = resolve;
|
|
23
|
-
});
|
|
24
|
-
}, []);
|
|
25
|
-
const RenderComponent = useCallback(
|
|
26
|
-
(props) => {
|
|
27
|
-
const ToolComponent = tool.render;
|
|
28
|
-
if (props.status === "inProgress") {
|
|
29
|
-
const enhancedProps = {
|
|
30
|
-
...props,
|
|
31
|
-
name: tool.name,
|
|
32
|
-
description: tool.description || "",
|
|
33
|
-
respond: void 0
|
|
34
|
-
};
|
|
35
|
-
return React.createElement(ToolComponent, enhancedProps);
|
|
36
|
-
} else if (props.status === "executing") {
|
|
37
|
-
const enhancedProps = {
|
|
38
|
-
...props,
|
|
39
|
-
name: tool.name,
|
|
40
|
-
description: tool.description || "",
|
|
41
|
-
respond
|
|
42
|
-
};
|
|
43
|
-
return React.createElement(ToolComponent, enhancedProps);
|
|
44
|
-
} else if (props.status === "complete") {
|
|
45
|
-
const enhancedProps = {
|
|
46
|
-
...props,
|
|
47
|
-
name: tool.name,
|
|
48
|
-
description: tool.description || "",
|
|
49
|
-
respond: void 0
|
|
50
|
-
};
|
|
51
|
-
return React.createElement(ToolComponent, enhancedProps);
|
|
52
|
-
}
|
|
53
|
-
return React.createElement(ToolComponent, props);
|
|
54
|
-
},
|
|
55
|
-
[tool.render, tool.name, tool.description, respond]
|
|
56
|
-
);
|
|
57
|
-
const frontendTool = {
|
|
58
|
-
...tool,
|
|
59
|
-
handler,
|
|
60
|
-
render: RenderComponent
|
|
61
|
-
};
|
|
62
|
-
useFrontendTool(frontendTool);
|
|
63
|
-
useEffect(() => {
|
|
64
|
-
return () => {
|
|
65
|
-
const keyOf = (rc) => `${rc.agentId ?? ""}:${rc.name}`;
|
|
66
|
-
const currentRenderToolCalls = copilotkit.renderToolCalls;
|
|
67
|
-
const filtered = currentRenderToolCalls.filter(
|
|
68
|
-
(rc) => keyOf(rc) !== keyOf({ name: tool.name, agentId: tool.agentId })
|
|
69
|
-
);
|
|
70
|
-
copilotkit.setRenderToolCalls(filtered);
|
|
71
|
-
};
|
|
72
|
-
}, [copilotkit, tool.name, tool.agentId]);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
export {
|
|
76
|
-
useHumanInTheLoop
|
|
77
|
-
};
|
|
78
|
-
//# sourceMappingURL=chunk-CGLGXQAU.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/use-human-in-the-loop.tsx"],"sourcesContent":["import { ReactToolCallRenderer } from \"@/types/react-tool-call-renderer\";\nimport { useFrontendTool } from \"./use-frontend-tool\";\nimport { ReactFrontendTool } from \"@/types/frontend-tool\";\nimport { ReactHumanInTheLoop } from \"@/types/human-in-the-loop\";\nimport { useCallback, useRef, useEffect } from \"react\";\nimport React from \"react\";\nimport { useCopilotKit } from \"@/providers/CopilotKitProvider\";\n\nexport function useHumanInTheLoop<T extends Record<string, unknown> = Record<string, unknown>>(\n tool: ReactHumanInTheLoop<T>,\n) {\n const { copilotkit } = useCopilotKit();\n const resolvePromiseRef = useRef<((result: unknown) => void) | null>(null);\n\n const respond = useCallback(async (result: unknown) => {\n if (resolvePromiseRef.current) {\n resolvePromiseRef.current(result);\n resolvePromiseRef.current = null;\n }\n }, []);\n\n const handler = useCallback(async () => {\n return new Promise((resolve) => {\n resolvePromiseRef.current = resolve;\n });\n }, []);\n\n const RenderComponent: ReactToolCallRenderer<T>[\"render\"] = useCallback(\n (props) => {\n const ToolComponent = tool.render;\n\n // Enhance props based on current status\n if (props.status === \"inProgress\") {\n const enhancedProps = {\n ...props,\n name: tool.name,\n description: tool.description || \"\",\n respond: undefined,\n };\n return React.createElement(ToolComponent, enhancedProps);\n } else if (props.status === \"executing\") {\n const enhancedProps = {\n ...props,\n name: tool.name,\n description: tool.description || \"\",\n respond,\n };\n return React.createElement(ToolComponent, enhancedProps);\n } else if (props.status === \"complete\") {\n const enhancedProps = {\n ...props,\n name: tool.name,\n description: tool.description || \"\",\n respond: undefined,\n };\n return React.createElement(ToolComponent, enhancedProps);\n }\n\n // Fallback - just render with original props\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return React.createElement(ToolComponent, props as any);\n },\n [tool.render, tool.name, tool.description, respond],\n );\n\n const frontendTool: ReactFrontendTool<T> = {\n ...tool,\n handler,\n render: RenderComponent,\n };\n\n useFrontendTool(frontendTool);\n\n // Human-in-the-loop tools should remove their renderer on unmount\n // since they can't respond to user interactions anymore\n useEffect(() => {\n return () => {\n const keyOf = (rc: ReactToolCallRenderer<any>) => `${rc.agentId ?? \"\"}:${rc.name}`;\n const currentRenderToolCalls = copilotkit.renderToolCalls as ReactToolCallRenderer<any>[];\n const filtered = currentRenderToolCalls.filter(\n (rc) => keyOf(rc) !== keyOf({ name: tool.name, agentId: tool.agentId } as any),\n );\n copilotkit.setRenderToolCalls(filtered);\n };\n }, [copilotkit, tool.name, tool.agentId]);\n}\n"],"mappings":";;;;;;;;AAIA,SAAS,aAAa,QAAQ,iBAAiB;AAC/C,OAAO,WAAW;AAGX,SAAS,kBACd,MACA;AACA,QAAM,EAAE,WAAW,IAAI,cAAc;AACrC,QAAM,oBAAoB,OAA2C,IAAI;AAEzE,QAAM,UAAU,YAAY,OAAO,WAAoB;AACrD,QAAI,kBAAkB,SAAS;AAC7B,wBAAkB,QAAQ,MAAM;AAChC,wBAAkB,UAAU;AAAA,IAC9B;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,UAAU,YAAY,YAAY;AACtC,WAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,wBAAkB,UAAU;AAAA,IAC9B,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,QAAM,kBAAsD;AAAA,IAC1D,CAAC,UAAU;AACT,YAAM,gBAAgB,KAAK;AAG3B,UAAI,MAAM,WAAW,cAAc;AACjC,cAAM,gBAAgB;AAAA,UACpB,GAAG;AAAA,UACH,MAAM,KAAK;AAAA,UACX,aAAa,KAAK,eAAe;AAAA,UACjC,SAAS;AAAA,QACX;AACA,eAAO,MAAM,cAAc,eAAe,aAAa;AAAA,MACzD,WAAW,MAAM,WAAW,aAAa;AACvC,cAAM,gBAAgB;AAAA,UACpB,GAAG;AAAA,UACH,MAAM,KAAK;AAAA,UACX,aAAa,KAAK,eAAe;AAAA,UACjC;AAAA,QACF;AACA,eAAO,MAAM,cAAc,eAAe,aAAa;AAAA,MACzD,WAAW,MAAM,WAAW,YAAY;AACtC,cAAM,gBAAgB;AAAA,UACpB,GAAG;AAAA,UACH,MAAM,KAAK;AAAA,UACX,aAAa,KAAK,eAAe;AAAA,UACjC,SAAS;AAAA,QACX;AACA,eAAO,MAAM,cAAc,eAAe,aAAa;AAAA,MACzD;AAIA,aAAO,MAAM,cAAc,eAAe,KAAY;AAAA,IACxD;AAAA,IACA,CAAC,KAAK,QAAQ,KAAK,MAAM,KAAK,aAAa,OAAO;AAAA,EACpD;AAEA,QAAM,eAAqC;AAAA,IACzC,GAAG;AAAA,IACH;AAAA,IACA,QAAQ;AAAA,EACV;AAEA,kBAAgB,YAAY;AAI5B,YAAU,MAAM;AACd,WAAO,MAAM;AACX,YAAM,QAAQ,CAAC,OAAmC,GAAG,GAAG,WAAW,EAAE,IAAI,GAAG,IAAI;AAChF,YAAM,yBAAyB,WAAW;AAC1C,YAAM,WAAW,uBAAuB;AAAA,QACtC,CAAC,OAAO,MAAM,EAAE,MAAM,MAAM,EAAE,MAAM,KAAK,MAAM,SAAS,KAAK,QAAQ,CAAQ;AAAA,MAC/E;AACA,iBAAW,mBAAmB,QAAQ;AAAA,IACxC;AAAA,EACF,GAAG,CAAC,YAAY,KAAK,MAAM,KAAK,OAAO,CAAC;AAC1C;","names":[]}
|
package/dist/chunk-DVUQO72Z.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=chunk-DVUQO72Z.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|