@copilotkitnext/react 0.0.22-alpha.3 → 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 +6 -6
- 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-3TA5QBSZ.mjs +0 -122
- package/dist/chunk-3TA5QBSZ.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-5AAT4Z3C.mjs +0 -107
- package/dist/chunk-5AAT4Z3C.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-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-BT6C5OPU.mjs +0 -278
- package/dist/chunk-BT6C5OPU.mjs.map +0 -1
- package/dist/chunk-CGLGXQAU.mjs +0 -78
- package/dist/chunk-CGLGXQAU.mjs.map +0 -1
- package/dist/chunk-CSHBUHRW.mjs +0 -69
- package/dist/chunk-CSHBUHRW.mjs.map +0 -1
- package/dist/chunk-CZ3GI3IF.mjs +0 -283
- package/dist/chunk-CZ3GI3IF.mjs.map +0 -1
- package/dist/chunk-DVUQO72Z.mjs +0 -1
- package/dist/chunk-DVUQO72Z.mjs.map +0 -1
- package/dist/chunk-E4HD4M7R.mjs +0 -76
- package/dist/chunk-E4HD4M7R.mjs.map +0 -1
- package/dist/chunk-E56GYBP3.mjs +0 -101
- package/dist/chunk-E56GYBP3.mjs.map +0 -1
- package/dist/chunk-EJ5ZEAAN.mjs +0 -57
- package/dist/chunk-EJ5ZEAAN.mjs.map +0 -1
- package/dist/chunk-ETWJDCGE.mjs +0 -1
- package/dist/chunk-ETWJDCGE.mjs.map +0 -1
- package/dist/chunk-F43IPGPA.mjs +0 -311
- package/dist/chunk-F43IPGPA.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-IA4CLXDM.mjs +0 -76
- package/dist/chunk-IA4CLXDM.mjs.map +0 -1
- package/dist/chunk-IH5VFJ4L.mjs +0 -60
- package/dist/chunk-IH5VFJ4L.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-NASFZS3N.mjs +0 -43
- package/dist/chunk-NASFZS3N.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-QFBM3ZT2.mjs +0 -45
- package/dist/chunk-QFBM3ZT2.mjs.map +0 -1
- package/dist/chunk-QJ6DZ645.mjs +0 -78
- package/dist/chunk-QJ6DZ645.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-TKFOXPXF.mjs +0 -157
- package/dist/chunk-TKFOXPXF.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-VE3SBLU7.mjs +0 -215
- package/dist/chunk-VE3SBLU7.mjs.map +0 -1
- package/dist/chunk-VUHFLJWI.mjs +0 -185
- package/dist/chunk-VUHFLJWI.mjs.map +0 -1
- package/dist/chunk-VVAXSF3M.mjs +0 -61
- package/dist/chunk-VVAXSF3M.mjs.map +0 -1
- package/dist/chunk-W5DUKRCI.mjs +0 -97
- package/dist/chunk-W5DUKRCI.mjs.map +0 -1
- package/dist/chunk-WNRDFAZ5.mjs +0 -22
- package/dist/chunk-WNRDFAZ5.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-YVPPF62K.mjs +0 -32
- package/dist/chunk-YVPPF62K.mjs.map +0 -1
- package/dist/chunk-YZUPVMHC.mjs +0 -1
- package/dist/chunk-YZUPVMHC.mjs.map +0 -1
- package/dist/chunk-Z3OIGQCZ.mjs +0 -75
- package/dist/chunk-Z3OIGQCZ.mjs.map +0 -1
- package/dist/chunk-ZIDT52TM.mjs +0 -131
- package/dist/chunk-ZIDT52TM.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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@copilotkitnext/react",
|
|
3
|
-
"version": "0.0.22-alpha.
|
|
3
|
+
"version": "0.0.22-alpha.5",
|
|
4
4
|
"description": "React components for CopilotKit2",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"tsup": "^8.5.0",
|
|
36
36
|
"typescript": "5.8.2",
|
|
37
37
|
"vitest": "^3.2.4",
|
|
38
|
-
"@copilotkitnext/
|
|
39
|
-
"@copilotkitnext/
|
|
38
|
+
"@copilotkitnext/typescript-config": "0.0.0",
|
|
39
|
+
"@copilotkitnext/eslint-config": "0.0.0"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@ag-ui/client": "0.0.41-alpha.0",
|
|
@@ -55,9 +55,9 @@
|
|
|
55
55
|
"tw-animate-css": "^1.3.5",
|
|
56
56
|
"use-stick-to-bottom": "^1.1.1",
|
|
57
57
|
"zod": "^3.25.75",
|
|
58
|
-
"@copilotkitnext/
|
|
59
|
-
"@copilotkitnext/
|
|
60
|
-
"@copilotkitnext/
|
|
58
|
+
"@copilotkitnext/core": "0.0.22-alpha.5",
|
|
59
|
+
"@copilotkitnext/shared": "0.0.22-alpha.5",
|
|
60
|
+
"@copilotkitnext/web-inspector": "0.0.22-alpha.5"
|
|
61
61
|
},
|
|
62
62
|
"peerDependencies": {
|
|
63
63
|
"react": ">=16.8.0",
|
package/dist/chunk-32YJ5VJ4.mjs
DELETED
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
CopilotChatView
|
|
3
|
-
} from "./chunk-JLVGSNAO.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-32YJ5VJ4.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-36HFWACS.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=chunk-36HFWACS.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/chunk-3TA5QBSZ.mjs
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
CopilotModalHeader
|
|
3
|
-
} from "./chunk-E56GYBP3.mjs";
|
|
4
|
-
import {
|
|
5
|
-
CopilotChatToggleButton_default
|
|
6
|
-
} from "./chunk-R5OLAA3L.mjs";
|
|
7
|
-
import {
|
|
8
|
-
CopilotChatView_default
|
|
9
|
-
} from "./chunk-F43IPGPA.mjs";
|
|
10
|
-
import {
|
|
11
|
-
renderSlot
|
|
12
|
-
} from "./chunk-FIBK3DYE.mjs";
|
|
13
|
-
import {
|
|
14
|
-
cn
|
|
15
|
-
} from "./chunk-XO4IRKSC.mjs";
|
|
16
|
-
import {
|
|
17
|
-
useCopilotChatConfiguration
|
|
18
|
-
} from "./chunk-4XJK5IVQ.mjs";
|
|
19
|
-
|
|
20
|
-
// src/components/chat/CopilotSidebarView.tsx
|
|
21
|
-
import { useEffect, useRef, useState } from "react";
|
|
22
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
23
|
-
var DEFAULT_SIDEBAR_WIDTH = 480;
|
|
24
|
-
var SIDEBAR_TRANSITION_MS = 260;
|
|
25
|
-
function CopilotSidebarView({ header, width, ...props }) {
|
|
26
|
-
const configuration = useCopilotChatConfiguration();
|
|
27
|
-
const isSidebarOpen = configuration?.isModalOpen ?? false;
|
|
28
|
-
const sidebarRef = useRef(null);
|
|
29
|
-
const [sidebarWidth, setSidebarWidth] = useState(width ?? DEFAULT_SIDEBAR_WIDTH);
|
|
30
|
-
const widthToCss = (w) => {
|
|
31
|
-
return typeof w === "number" ? `${w}px` : w;
|
|
32
|
-
};
|
|
33
|
-
const widthToMargin = (w) => {
|
|
34
|
-
if (typeof w === "number") {
|
|
35
|
-
return `${w}px`;
|
|
36
|
-
}
|
|
37
|
-
return w;
|
|
38
|
-
};
|
|
39
|
-
useEffect(() => {
|
|
40
|
-
if (width !== void 0) {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
if (typeof window === "undefined") {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
const element = sidebarRef.current;
|
|
47
|
-
if (!element) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
const updateWidth = () => {
|
|
51
|
-
const rect = element.getBoundingClientRect();
|
|
52
|
-
if (rect.width > 0) {
|
|
53
|
-
setSidebarWidth(rect.width);
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
updateWidth();
|
|
57
|
-
if (typeof ResizeObserver !== "undefined") {
|
|
58
|
-
const observer = new ResizeObserver(() => updateWidth());
|
|
59
|
-
observer.observe(element);
|
|
60
|
-
return () => observer.disconnect();
|
|
61
|
-
}
|
|
62
|
-
window.addEventListener("resize", updateWidth);
|
|
63
|
-
return () => window.removeEventListener("resize", updateWidth);
|
|
64
|
-
}, [width]);
|
|
65
|
-
const headerElement = renderSlot(header, CopilotModalHeader, {});
|
|
66
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
67
|
-
isSidebarOpen && /* @__PURE__ */ jsx(
|
|
68
|
-
"style",
|
|
69
|
-
{
|
|
70
|
-
dangerouslySetInnerHTML: {
|
|
71
|
-
__html: `
|
|
72
|
-
@media (min-width: 768px) {
|
|
73
|
-
body {
|
|
74
|
-
margin-inline-end: ${widthToMargin(sidebarWidth)};
|
|
75
|
-
transition: margin-inline-end ${SIDEBAR_TRANSITION_MS}ms ease;
|
|
76
|
-
}
|
|
77
|
-
}`
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
),
|
|
81
|
-
/* @__PURE__ */ jsx(CopilotChatToggleButton_default, {}),
|
|
82
|
-
/* @__PURE__ */ jsx(
|
|
83
|
-
"aside",
|
|
84
|
-
{
|
|
85
|
-
ref: sidebarRef,
|
|
86
|
-
"data-copilot-sidebar": true,
|
|
87
|
-
className: cn(
|
|
88
|
-
"fixed right-0 top-0 z-[1200] flex",
|
|
89
|
-
// Height with dvh fallback and safe area support
|
|
90
|
-
"h-[100vh] h-[100dvh] max-h-screen",
|
|
91
|
-
// Responsive width: full on mobile, custom on desktop
|
|
92
|
-
"w-full",
|
|
93
|
-
"border-l border-border bg-background text-foreground shadow-xl",
|
|
94
|
-
"transition-transform duration-300 ease-out",
|
|
95
|
-
isSidebarOpen ? "translate-x-0" : "translate-x-full pointer-events-none"
|
|
96
|
-
),
|
|
97
|
-
style: {
|
|
98
|
-
// Use CSS custom property for responsive width
|
|
99
|
-
["--sidebar-width"]: widthToCss(sidebarWidth),
|
|
100
|
-
// Safe area insets for iOS
|
|
101
|
-
paddingTop: "env(safe-area-inset-top)",
|
|
102
|
-
paddingBottom: "env(safe-area-inset-bottom)"
|
|
103
|
-
},
|
|
104
|
-
"aria-hidden": !isSidebarOpen,
|
|
105
|
-
"aria-label": "Copilot chat sidebar",
|
|
106
|
-
role: "complementary",
|
|
107
|
-
children: /* @__PURE__ */ jsxs("div", { className: "flex h-full w-full flex-col overflow-hidden", children: [
|
|
108
|
-
headerElement,
|
|
109
|
-
/* @__PURE__ */ jsx("div", { className: "flex-1 overflow-hidden", "data-sidebar-chat": true, children: /* @__PURE__ */ jsx(CopilotChatView_default, { ...props }) })
|
|
110
|
-
] })
|
|
111
|
-
}
|
|
112
|
-
)
|
|
113
|
-
] });
|
|
114
|
-
}
|
|
115
|
-
CopilotSidebarView.displayName = "CopilotSidebarView";
|
|
116
|
-
var CopilotSidebarView_default = CopilotSidebarView;
|
|
117
|
-
|
|
118
|
-
export {
|
|
119
|
-
CopilotSidebarView,
|
|
120
|
-
CopilotSidebarView_default
|
|
121
|
-
};
|
|
122
|
-
//# sourceMappingURL=chunk-3TA5QBSZ.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/chat/CopilotSidebarView.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\n\nimport CopilotChatView, { CopilotChatViewProps } from \"./CopilotChatView\";\nimport { useCopilotChatConfiguration } from \"@/providers/CopilotChatConfigurationProvider\";\nimport CopilotChatToggleButton from \"./CopilotChatToggleButton\";\nimport { cn } from \"@/lib/utils\";\nimport { CopilotModalHeader } from \"./CopilotModalHeader\";\nimport { renderSlot, SlotValue } from \"@/lib/slots\";\n\nconst DEFAULT_SIDEBAR_WIDTH = 480;\nconst SIDEBAR_TRANSITION_MS = 260;\n\nexport type CopilotSidebarViewProps = CopilotChatViewProps & {\n header?: SlotValue<typeof CopilotModalHeader>;\n width?: number | string;\n};\n\nexport function CopilotSidebarView({ header, width, ...props }: CopilotSidebarViewProps) {\n const configuration = useCopilotChatConfiguration();\n\n const isSidebarOpen = configuration?.isModalOpen ?? false;\n\n const sidebarRef = useRef<HTMLDivElement | null>(null);\n const [sidebarWidth, setSidebarWidth] = useState<number | string>(width ?? DEFAULT_SIDEBAR_WIDTH);\n\n // Helper to convert width to CSS value\n const widthToCss = (w: number | string): string => {\n return typeof w === \"number\" ? `${w}px` : w;\n };\n\n // Helper to extract numeric value for body margin (only works with px values)\n const widthToMargin = (w: number | string): string => {\n if (typeof w === \"number\") {\n return `${w}px`;\n }\n // For string values, use as-is (assumes valid CSS unit)\n return w;\n };\n\n useEffect(() => {\n // If width is explicitly provided, don't measure\n if (width !== undefined) {\n return;\n }\n\n if (typeof window === \"undefined\") {\n return;\n }\n\n const element = sidebarRef.current;\n if (!element) {\n return;\n }\n\n const updateWidth = () => {\n const rect = element.getBoundingClientRect();\n if (rect.width > 0) {\n setSidebarWidth(rect.width);\n }\n };\n\n updateWidth();\n\n if (typeof ResizeObserver !== \"undefined\") {\n const observer = new ResizeObserver(() => updateWidth());\n observer.observe(element);\n return () => observer.disconnect();\n }\n\n window.addEventListener(\"resize\", updateWidth);\n return () => window.removeEventListener(\"resize\", updateWidth);\n }, [width]);\n\n const headerElement = renderSlot(header, CopilotModalHeader, {});\n\n return (\n <>\n {isSidebarOpen && (\n <style\n dangerouslySetInnerHTML={{\n __html: `\n @media (min-width: 768px) {\n body {\n margin-inline-end: ${widthToMargin(sidebarWidth)};\n transition: margin-inline-end ${SIDEBAR_TRANSITION_MS}ms ease;\n }\n }`,\n }}\n />\n )}\n <CopilotChatToggleButton />\n <aside\n ref={sidebarRef}\n data-copilot-sidebar\n className={cn(\n \"fixed right-0 top-0 z-[1200] flex\",\n // Height with dvh fallback and safe area support\n \"h-[100vh] h-[100dvh] max-h-screen\",\n // Responsive width: full on mobile, custom on desktop\n \"w-full\",\n \"border-l border-border bg-background text-foreground shadow-xl\",\n \"transition-transform duration-300 ease-out\",\n isSidebarOpen ? \"translate-x-0\" : \"translate-x-full pointer-events-none\",\n )}\n style={{\n // Use CSS custom property for responsive width\n [\"--sidebar-width\" as string]: widthToCss(sidebarWidth),\n // Safe area insets for iOS\n paddingTop: \"env(safe-area-inset-top)\",\n paddingBottom: \"env(safe-area-inset-bottom)\",\n } as React.CSSProperties}\n aria-hidden={!isSidebarOpen}\n aria-label=\"Copilot chat sidebar\"\n role=\"complementary\"\n >\n <div className=\"flex h-full w-full flex-col overflow-hidden\">\n {headerElement}\n <div className=\"flex-1 overflow-hidden\" data-sidebar-chat>\n <CopilotChatView {...props} />\n </div>\n </div>\n </aside>\n </>\n );\n}\n\nCopilotSidebarView.displayName = \"CopilotSidebarView\";\n\nexport default CopilotSidebarView;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,SAAgB,WAAW,QAAQ,gBAAgB;AA4E/C,mBAEI,KAqCA,YAvCJ;AAnEJ,IAAM,wBAAwB;AAC9B,IAAM,wBAAwB;AAOvB,SAAS,mBAAmB,EAAE,QAAQ,OAAO,GAAG,MAAM,GAA4B;AACvF,QAAM,gBAAgB,4BAA4B;AAElD,QAAM,gBAAgB,eAAe,eAAe;AAEpD,QAAM,aAAa,OAA8B,IAAI;AACrD,QAAM,CAAC,cAAc,eAAe,IAAI,SAA0B,SAAS,qBAAqB;AAGhG,QAAM,aAAa,CAAC,MAA+B;AACjD,WAAO,OAAO,MAAM,WAAW,GAAG,CAAC,OAAO;AAAA,EAC5C;AAGA,QAAM,gBAAgB,CAAC,MAA+B;AACpD,QAAI,OAAO,MAAM,UAAU;AACzB,aAAO,GAAG,CAAC;AAAA,IACb;AAEA,WAAO;AAAA,EACT;AAEA,YAAU,MAAM;AAEd,QAAI,UAAU,QAAW;AACvB;AAAA,IACF;AAEA,QAAI,OAAO,WAAW,aAAa;AACjC;AAAA,IACF;AAEA,UAAM,UAAU,WAAW;AAC3B,QAAI,CAAC,SAAS;AACZ;AAAA,IACF;AAEA,UAAM,cAAc,MAAM;AACxB,YAAM,OAAO,QAAQ,sBAAsB;AAC3C,UAAI,KAAK,QAAQ,GAAG;AAClB,wBAAgB,KAAK,KAAK;AAAA,MAC5B;AAAA,IACF;AAEA,gBAAY;AAEZ,QAAI,OAAO,mBAAmB,aAAa;AACzC,YAAM,WAAW,IAAI,eAAe,MAAM,YAAY,CAAC;AACvD,eAAS,QAAQ,OAAO;AACxB,aAAO,MAAM,SAAS,WAAW;AAAA,IACnC;AAEA,WAAO,iBAAiB,UAAU,WAAW;AAC7C,WAAO,MAAM,OAAO,oBAAoB,UAAU,WAAW;AAAA,EAC/D,GAAG,CAAC,KAAK,CAAC;AAEV,QAAM,gBAAgB,WAAW,QAAQ,oBAAoB,CAAC,CAAC;AAE/D,SACE,iCACG;AAAA,qBACC;AAAA,MAAC;AAAA;AAAA,QACC,yBAAyB;AAAA,UACvB,QAAQ;AAAA;AAAA;AAAA,qCAGiB,cAAc,YAAY,CAAC;AAAA,gDAChB,qBAAqB;AAAA;AAAA;AAAA,QAG3D;AAAA;AAAA,IACF;AAAA,IAEF,oBAAC,mCAAwB;AAAA,IACzB;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,wBAAoB;AAAA,QACpB,WAAW;AAAA,UACT;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA,UACA;AAAA,UACA;AAAA,UACA,gBAAgB,kBAAkB;AAAA,QACpC;AAAA,QACA,OAAO;AAAA;AAAA,UAEL,CAAC,iBAA2B,GAAG,WAAW,YAAY;AAAA;AAAA,UAEtD,YAAY;AAAA,UACZ,eAAe;AAAA,QACjB;AAAA,QACA,eAAa,CAAC;AAAA,QACd,cAAW;AAAA,QACX,MAAK;AAAA,QAEL,+BAAC,SAAI,WAAU,+CACZ;AAAA;AAAA,UACD,oBAAC,SAAI,WAAU,0BAAyB,qBAAiB,MACvD,8BAAC,2BAAiB,GAAG,OAAO,GAC9B;AAAA,WACF;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;AAEA,mBAAmB,cAAc;AAEjC,IAAO,6BAAQ;","names":[]}
|
package/dist/chunk-46BZRXWT.mjs
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
// src/types/defineToolCallRenderer.ts
|
|
2
|
-
import { z } from "zod";
|
|
3
|
-
function defineToolCallRenderer(def) {
|
|
4
|
-
const argsSchema = def.name === "*" && !def.args ? z.any() : def.args;
|
|
5
|
-
return {
|
|
6
|
-
name: def.name,
|
|
7
|
-
args: argsSchema,
|
|
8
|
-
render: def.render,
|
|
9
|
-
...def.agentId ? { agentId: def.agentId } : {}
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export {
|
|
14
|
-
defineToolCallRenderer
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=chunk-46BZRXWT.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types/defineToolCallRenderer.ts"],"sourcesContent":["import React from \"react\";\nimport { z } from \"zod\";\nimport { ReactToolCallRenderer } from \"./react-tool-call-renderer\";\nimport { ToolCallStatus } from \"@copilotkitnext/core\";\n\n/**\n * Helper to define a type-safe tool call renderer entry.\n * - Accepts a single object whose keys match ReactToolCallRenderer's fields: { name, args, render, agentId? }.\n * - Derives `args` type from the provided Zod schema.\n * - Ensures the render function param type exactly matches ReactToolCallRenderer<T>[\"render\"]'s param.\n * - For wildcard tools (name: \"*\"), args is optional and defaults to z.any()\n */\ntype RenderProps<T> =\n | {\n name: string;\n args: Partial<T>;\n status: ToolCallStatus.InProgress;\n result: undefined;\n }\n | {\n name: string;\n args: T;\n status: ToolCallStatus.Executing;\n result: undefined;\n }\n | {\n name: string;\n args: T;\n status: ToolCallStatus.Complete;\n result: string;\n };\n\n// Overload for wildcard tools without args\nexport function defineToolCallRenderer(def: {\n name: \"*\";\n render: (props: RenderProps<any>) => React.ReactElement;\n agentId?: string;\n}): ReactToolCallRenderer<any>;\n\n// Overload for regular tools with args\nexport function defineToolCallRenderer<S extends z.ZodTypeAny>(def: {\n name: string;\n args: S;\n render: (props: RenderProps<z.infer<S>>) => React.ReactElement;\n agentId?: string;\n}): ReactToolCallRenderer<z.infer<S>>;\n\n// Implementation\nexport function defineToolCallRenderer<S extends z.ZodTypeAny>(def: {\n name: string;\n args?: S;\n render: (props: any) => React.ReactElement;\n agentId?: string;\n}): ReactToolCallRenderer<any> {\n // For wildcard tools, default to z.any() if no args provided\n const argsSchema = def.name === \"*\" && !def.args ? z.any() : def.args;\n\n return {\n name: def.name,\n args: argsSchema as any,\n render: def.render as React.ComponentType<any>,\n ...(def.agentId ? { agentId: def.agentId } : {}),\n };\n}\n"],"mappings":";AACA,SAAS,SAAS;AA+CX,SAAS,uBAA+C,KAKhC;AAE7B,QAAM,aAAa,IAAI,SAAS,OAAO,CAAC,IAAI,OAAO,EAAE,IAAI,IAAI,IAAI;AAEjE,SAAO;AAAA,IACL,MAAM,IAAI;AAAA,IACV,MAAM;AAAA,IACN,QAAQ,IAAI;AAAA,IACZ,GAAI,IAAI,UAAU,EAAE,SAAS,IAAI,QAAQ,IAAI,CAAC;AAAA,EAChD;AACF;","names":[]}
|
package/dist/chunk-4UDBR75C.mjs
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
// src/components/chat/CopilotChatAudioRecorder.tsx
|
|
2
|
-
import { useRef, useEffect, useImperativeHandle, forwardRef } from "react";
|
|
3
|
-
import { twMerge } from "tailwind-merge";
|
|
4
|
-
import { jsx } from "react/jsx-runtime";
|
|
5
|
-
var AudioRecorderError = class extends Error {
|
|
6
|
-
constructor(message) {
|
|
7
|
-
super(message);
|
|
8
|
-
this.name = "AudioRecorderError";
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
var CopilotChatAudioRecorder = forwardRef((props, ref) => {
|
|
12
|
-
const { className, ...divProps } = props;
|
|
13
|
-
const canvasRef = useRef(null);
|
|
14
|
-
const getLoudness = (n) => {
|
|
15
|
-
const elapsed = Date.now() / 1e3;
|
|
16
|
-
const samples = [];
|
|
17
|
-
for (let i = 0; i < n; i++) {
|
|
18
|
-
const position = i / n * 10 + elapsed * 0.5;
|
|
19
|
-
const wave1 = Math.sin(position * 2) * 0.3;
|
|
20
|
-
const wave2 = Math.sin(position * 5 + elapsed) * 0.2;
|
|
21
|
-
const wave3 = Math.sin(position * 0.5 + elapsed * 0.3) * 0.4;
|
|
22
|
-
const noise = (Math.random() - 0.5) * 0.1;
|
|
23
|
-
const envelope = Math.sin(elapsed * 0.7) * 0.5 + 0.5;
|
|
24
|
-
let amplitude = (wave1 + wave2 + wave3 + noise) * envelope;
|
|
25
|
-
amplitude = Math.max(0, Math.min(1, amplitude * 0.5 + 0.3));
|
|
26
|
-
samples.push(amplitude);
|
|
27
|
-
}
|
|
28
|
-
return samples;
|
|
29
|
-
};
|
|
30
|
-
useEffect(() => {
|
|
31
|
-
const canvas = canvasRef.current;
|
|
32
|
-
if (!canvas) return;
|
|
33
|
-
const ctx = canvas.getContext("2d");
|
|
34
|
-
if (!ctx) return;
|
|
35
|
-
let animationId;
|
|
36
|
-
const draw = () => {
|
|
37
|
-
const rect = canvas.getBoundingClientRect();
|
|
38
|
-
const dpr = window.devicePixelRatio || 1;
|
|
39
|
-
if (canvas.width !== rect.width * dpr || canvas.height !== rect.height * dpr) {
|
|
40
|
-
canvas.width = rect.width * dpr;
|
|
41
|
-
canvas.height = rect.height * dpr;
|
|
42
|
-
ctx.scale(dpr, dpr);
|
|
43
|
-
ctx.imageSmoothingEnabled = false;
|
|
44
|
-
}
|
|
45
|
-
const barWidth = 2;
|
|
46
|
-
const minHeight = 2;
|
|
47
|
-
const maxHeight = 20;
|
|
48
|
-
const gap = 2;
|
|
49
|
-
const numSamples = Math.ceil(rect.width / (barWidth + gap));
|
|
50
|
-
const loudnessData = getLoudness(numSamples);
|
|
51
|
-
ctx.clearRect(0, 0, rect.width, rect.height);
|
|
52
|
-
const computedStyle = getComputedStyle(canvas);
|
|
53
|
-
const currentForeground = computedStyle.color;
|
|
54
|
-
ctx.fillStyle = currentForeground;
|
|
55
|
-
const centerY = rect.height / 2;
|
|
56
|
-
for (let i = 0; i < loudnessData.length; i++) {
|
|
57
|
-
const sample = loudnessData[i] ?? 0;
|
|
58
|
-
const barHeight = Math.round(
|
|
59
|
-
sample * (maxHeight - minHeight) + minHeight
|
|
60
|
-
);
|
|
61
|
-
const x = Math.round(i * (barWidth + gap));
|
|
62
|
-
const y = Math.round(centerY - barHeight / 2);
|
|
63
|
-
ctx.fillRect(x, y, barWidth, barHeight);
|
|
64
|
-
}
|
|
65
|
-
animationId = requestAnimationFrame(draw);
|
|
66
|
-
};
|
|
67
|
-
draw();
|
|
68
|
-
return () => {
|
|
69
|
-
if (animationId) {
|
|
70
|
-
cancelAnimationFrame(animationId);
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
}, []);
|
|
74
|
-
useImperativeHandle(
|
|
75
|
-
ref,
|
|
76
|
-
() => ({
|
|
77
|
-
get state() {
|
|
78
|
-
return "idle";
|
|
79
|
-
},
|
|
80
|
-
start: async () => {
|
|
81
|
-
},
|
|
82
|
-
stop: () => new Promise((resolve) => {
|
|
83
|
-
const emptyBlob = new Blob([], { type: "audio/webm" });
|
|
84
|
-
resolve(emptyBlob);
|
|
85
|
-
}),
|
|
86
|
-
dispose: () => {
|
|
87
|
-
}
|
|
88
|
-
}),
|
|
89
|
-
[]
|
|
90
|
-
);
|
|
91
|
-
return /* @__PURE__ */ jsx("div", { className: twMerge("h-[44px] w-full px-5", className), ...divProps, children: /* @__PURE__ */ jsx(
|
|
92
|
-
"canvas",
|
|
93
|
-
{
|
|
94
|
-
ref: canvasRef,
|
|
95
|
-
className: "w-full h-full",
|
|
96
|
-
style: { imageRendering: "pixelated" }
|
|
97
|
-
}
|
|
98
|
-
) });
|
|
99
|
-
});
|
|
100
|
-
CopilotChatAudioRecorder.displayName = "WebAudioRecorder";
|
|
101
|
-
|
|
102
|
-
export {
|
|
103
|
-
AudioRecorderError,
|
|
104
|
-
CopilotChatAudioRecorder
|
|
105
|
-
};
|
|
106
|
-
//# sourceMappingURL=chunk-4UDBR75C.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/chat/CopilotChatAudioRecorder.tsx"],"sourcesContent":["import { useRef, useEffect, useImperativeHandle, forwardRef } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\n/** Finite-state machine for every recorder implementation */\nexport type AudioRecorderState = \"idle\" | \"recording\" | \"processing\";\n\n/** Error subclass so callers can `instanceof`-guard recorder failures */\nexport class AudioRecorderError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"AudioRecorderError\";\n }\n}\n\nexport const CopilotChatAudioRecorder = forwardRef<\n any,\n React.HTMLAttributes<HTMLDivElement>\n>((props, ref) => {\n const { className, ...divProps } = props;\n const canvasRef = useRef<HTMLCanvasElement>(null);\n\n // Generate fake waveform that moves with time\n const getLoudness = (n: number): number[] => {\n const elapsed = Date.now() / 1000; // Use current timestamp directly\n const samples: number[] = [];\n\n for (let i = 0; i < n; i++) {\n // Create a position that moves from left to right over time\n const position = (i / n) * 10 + elapsed * 0.5; // Scroll speed (slower)\n\n // Generate waveform using multiple sine waves for realism\n const wave1 = Math.sin(position * 2) * 0.3;\n const wave2 = Math.sin(position * 5 + elapsed) * 0.2;\n const wave3 = Math.sin(position * 0.5 + elapsed * 0.3) * 0.4;\n\n // Add some randomness for natural variation\n const noise = (Math.random() - 0.5) * 0.1;\n\n // Combine waves and add envelope for realistic amplitude variation\n const envelope = Math.sin(elapsed * 0.7) * 0.5 + 0.5; // Slow amplitude modulation\n let amplitude = (wave1 + wave2 + wave3 + noise) * envelope;\n\n // Clamp to 0-1 range\n amplitude = Math.max(0, Math.min(1, amplitude * 0.5 + 0.3));\n\n samples.push(amplitude);\n }\n\n return samples;\n };\n\n // No setup needed - stub implementation\n\n // Canvas rendering with 60fps animation\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas) return;\n\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) return;\n\n let animationId: number;\n\n const draw = () => {\n const rect = canvas.getBoundingClientRect();\n const dpr = window.devicePixelRatio || 1;\n\n // Update canvas dimensions if container resized\n if (\n canvas.width !== rect.width * dpr ||\n canvas.height !== rect.height * dpr\n ) {\n canvas.width = rect.width * dpr;\n canvas.height = rect.height * dpr;\n ctx.scale(dpr, dpr);\n ctx.imageSmoothingEnabled = false;\n }\n\n // Configuration\n const barWidth = 2;\n const minHeight = 2;\n const maxHeight = 20;\n const gap = 2;\n const numSamples = Math.ceil(rect.width / (barWidth + gap));\n\n // Get loudness data\n const loudnessData = getLoudness(numSamples);\n\n // Clear canvas\n ctx.clearRect(0, 0, rect.width, rect.height);\n\n // Get current foreground color\n const computedStyle = getComputedStyle(canvas);\n const currentForeground = computedStyle.color;\n\n // Draw bars\n ctx.fillStyle = currentForeground;\n const centerY = rect.height / 2;\n\n for (let i = 0; i < loudnessData.length; i++) {\n const sample = loudnessData[i] ?? 0;\n const barHeight = Math.round(\n sample * (maxHeight - minHeight) + minHeight\n );\n const x = Math.round(i * (barWidth + gap));\n const y = Math.round(centerY - barHeight / 2);\n\n ctx.fillRect(x, y, barWidth, barHeight);\n }\n\n animationId = requestAnimationFrame(draw);\n };\n\n draw();\n\n return () => {\n if (animationId) {\n cancelAnimationFrame(animationId);\n }\n };\n }, []);\n\n // Expose AudioRecorder API\n useImperativeHandle(\n ref,\n () => ({\n get state() {\n return \"idle\" as AudioRecorderState;\n },\n start: async () => {\n // Stub implementation - no actual recording\n },\n stop: () =>\n new Promise<Blob>((resolve) => {\n // Stub implementation - return empty blob\n const emptyBlob = new Blob([], { type: \"audio/webm\" });\n resolve(emptyBlob);\n }),\n dispose: () => {\n // No cleanup needed\n },\n }),\n []\n );\n\n return (\n <div className={twMerge(\"h-[44px] w-full px-5\", className)} {...divProps}>\n <canvas\n ref={canvasRef}\n className=\"w-full h-full\"\n style={{ imageRendering: \"pixelated\" }}\n />\n </div>\n );\n});\n\nCopilotChatAudioRecorder.displayName = \"WebAudioRecorder\";\n"],"mappings":"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","names":[]}
|
package/dist/chunk-4XJK5IVQ.mjs
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
// src/providers/CopilotChatConfigurationProvider.tsx
|
|
2
|
-
import { createContext, useContext, useMemo, useState } from "react";
|
|
3
|
-
import { DEFAULT_AGENT_ID, randomUUID } from "@copilotkitnext/shared";
|
|
4
|
-
import { jsx } from "react/jsx-runtime";
|
|
5
|
-
var CopilotChatDefaultLabels = {
|
|
6
|
-
chatInputPlaceholder: "Type a message...",
|
|
7
|
-
chatInputToolbarStartTranscribeButtonLabel: "Transcribe",
|
|
8
|
-
chatInputToolbarCancelTranscribeButtonLabel: "Cancel",
|
|
9
|
-
chatInputToolbarFinishTranscribeButtonLabel: "Finish",
|
|
10
|
-
chatInputToolbarAddButtonLabel: "Add photos or files",
|
|
11
|
-
chatInputToolbarToolsButtonLabel: "Tools",
|
|
12
|
-
assistantMessageToolbarCopyCodeLabel: "Copy",
|
|
13
|
-
assistantMessageToolbarCopyCodeCopiedLabel: "Copied",
|
|
14
|
-
assistantMessageToolbarCopyMessageLabel: "Copy",
|
|
15
|
-
assistantMessageToolbarThumbsUpLabel: "Good response",
|
|
16
|
-
assistantMessageToolbarThumbsDownLabel: "Bad response",
|
|
17
|
-
assistantMessageToolbarReadAloudLabel: "Read aloud",
|
|
18
|
-
assistantMessageToolbarRegenerateLabel: "Regenerate",
|
|
19
|
-
userMessageToolbarCopyMessageLabel: "Copy",
|
|
20
|
-
userMessageToolbarEditMessageLabel: "Edit",
|
|
21
|
-
chatDisclaimerText: "AI can make mistakes. Please verify important information.",
|
|
22
|
-
chatToggleOpenLabel: "Open chat",
|
|
23
|
-
chatToggleCloseLabel: "Close chat",
|
|
24
|
-
modalHeaderTitle: "CopilotKit Chat"
|
|
25
|
-
};
|
|
26
|
-
var CopilotChatConfiguration = createContext(null);
|
|
27
|
-
var CopilotChatConfigurationProvider = ({ children, labels, agentId, threadId, isModalDefaultOpen }) => {
|
|
28
|
-
const parentConfig = useContext(CopilotChatConfiguration);
|
|
29
|
-
const mergedLabels = useMemo(
|
|
30
|
-
() => ({
|
|
31
|
-
...CopilotChatDefaultLabels,
|
|
32
|
-
...parentConfig?.labels ?? {},
|
|
33
|
-
...labels ?? {}
|
|
34
|
-
}),
|
|
35
|
-
[labels, parentConfig?.labels]
|
|
36
|
-
);
|
|
37
|
-
const resolvedAgentId = agentId ?? parentConfig?.agentId ?? DEFAULT_AGENT_ID;
|
|
38
|
-
const resolvedThreadId = useMemo(() => {
|
|
39
|
-
if (threadId) {
|
|
40
|
-
return threadId;
|
|
41
|
-
}
|
|
42
|
-
if (parentConfig?.threadId) {
|
|
43
|
-
return parentConfig.threadId;
|
|
44
|
-
}
|
|
45
|
-
return randomUUID();
|
|
46
|
-
}, [threadId, parentConfig?.threadId]);
|
|
47
|
-
const resolvedDefaultOpen = isModalDefaultOpen ?? parentConfig?.isModalDefaultOpen ?? true;
|
|
48
|
-
const [internalModalOpen, setInternalModalOpen] = useState(
|
|
49
|
-
parentConfig?.isModalOpen ?? resolvedDefaultOpen
|
|
50
|
-
);
|
|
51
|
-
const resolvedIsModalOpen = parentConfig?.isModalOpen ?? internalModalOpen;
|
|
52
|
-
const resolvedSetModalOpen = parentConfig?.setModalOpen ?? setInternalModalOpen;
|
|
53
|
-
const configurationValue = useMemo(
|
|
54
|
-
() => ({
|
|
55
|
-
labels: mergedLabels,
|
|
56
|
-
agentId: resolvedAgentId,
|
|
57
|
-
threadId: resolvedThreadId,
|
|
58
|
-
isModalOpen: resolvedIsModalOpen,
|
|
59
|
-
setModalOpen: resolvedSetModalOpen,
|
|
60
|
-
isModalDefaultOpen: resolvedDefaultOpen
|
|
61
|
-
}),
|
|
62
|
-
[
|
|
63
|
-
mergedLabels,
|
|
64
|
-
resolvedAgentId,
|
|
65
|
-
resolvedThreadId,
|
|
66
|
-
resolvedIsModalOpen,
|
|
67
|
-
resolvedSetModalOpen,
|
|
68
|
-
resolvedDefaultOpen
|
|
69
|
-
]
|
|
70
|
-
);
|
|
71
|
-
return /* @__PURE__ */ jsx(CopilotChatConfiguration.Provider, { value: configurationValue, children });
|
|
72
|
-
};
|
|
73
|
-
var useCopilotChatConfiguration = () => {
|
|
74
|
-
const configuration = useContext(CopilotChatConfiguration);
|
|
75
|
-
return configuration;
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
export {
|
|
79
|
-
CopilotChatDefaultLabels,
|
|
80
|
-
CopilotChatConfigurationProvider,
|
|
81
|
-
useCopilotChatConfiguration
|
|
82
|
-
};
|
|
83
|
-
//# sourceMappingURL=chunk-4XJK5IVQ.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/providers/CopilotChatConfigurationProvider.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode, useMemo, useState } from \"react\";\nimport { DEFAULT_AGENT_ID, randomUUID } from \"@copilotkitnext/shared\";\n\n// Default labels\nexport const CopilotChatDefaultLabels = {\n chatInputPlaceholder: \"Type a message...\",\n chatInputToolbarStartTranscribeButtonLabel: \"Transcribe\",\n chatInputToolbarCancelTranscribeButtonLabel: \"Cancel\",\n chatInputToolbarFinishTranscribeButtonLabel: \"Finish\",\n chatInputToolbarAddButtonLabel: \"Add photos or files\",\n chatInputToolbarToolsButtonLabel: \"Tools\",\n assistantMessageToolbarCopyCodeLabel: \"Copy\",\n assistantMessageToolbarCopyCodeCopiedLabel: \"Copied\",\n assistantMessageToolbarCopyMessageLabel: \"Copy\",\n assistantMessageToolbarThumbsUpLabel: \"Good response\",\n assistantMessageToolbarThumbsDownLabel: \"Bad response\",\n assistantMessageToolbarReadAloudLabel: \"Read aloud\",\n assistantMessageToolbarRegenerateLabel: \"Regenerate\",\n userMessageToolbarCopyMessageLabel: \"Copy\",\n userMessageToolbarEditMessageLabel: \"Edit\",\n chatDisclaimerText: \"AI can make mistakes. Please verify important information.\",\n chatToggleOpenLabel: \"Open chat\",\n chatToggleCloseLabel: \"Close chat\",\n modalHeaderTitle: \"CopilotKit Chat\",\n};\n\nexport type CopilotChatLabels = typeof CopilotChatDefaultLabels;\n\n// Define the full configuration interface\nexport interface CopilotChatConfigurationValue {\n labels: CopilotChatLabels;\n agentId: string;\n threadId: string;\n isModalOpen: boolean;\n setModalOpen: (open: boolean) => void;\n isModalDefaultOpen: boolean;\n}\n\n// Create the configuration context\nconst CopilotChatConfiguration =\n createContext<CopilotChatConfigurationValue | null>(null);\n\n// Provider props interface\nexport interface CopilotChatConfigurationProviderProps {\n children: ReactNode;\n labels?: Partial<CopilotChatLabels>;\n agentId?: string;\n threadId?: string;\n isModalDefaultOpen?: boolean;\n}\n\n// Provider component\nexport const CopilotChatConfigurationProvider: React.FC<\n CopilotChatConfigurationProviderProps\n> = ({ children, labels, agentId, threadId, isModalDefaultOpen }) => {\n const parentConfig = useContext(CopilotChatConfiguration);\n\n const mergedLabels: CopilotChatLabels = useMemo(\n () => ({\n ...CopilotChatDefaultLabels,\n ...(parentConfig?.labels ?? {}),\n ...(labels ?? {}),\n }),\n [labels, parentConfig?.labels],\n );\n\n const resolvedAgentId = agentId ?? parentConfig?.agentId ?? DEFAULT_AGENT_ID;\n\n const resolvedThreadId = useMemo(() => {\n if (threadId) {\n return threadId;\n }\n if (parentConfig?.threadId) {\n return parentConfig.threadId;\n }\n return randomUUID();\n }, [threadId, parentConfig?.threadId]);\n\n const resolvedDefaultOpen = isModalDefaultOpen ?? parentConfig?.isModalDefaultOpen ?? true;\n\n const [internalModalOpen, setInternalModalOpen] = useState<boolean>(\n parentConfig?.isModalOpen ?? resolvedDefaultOpen,\n );\n\n const resolvedIsModalOpen = parentConfig?.isModalOpen ?? internalModalOpen;\n const resolvedSetModalOpen = parentConfig?.setModalOpen ?? setInternalModalOpen;\n\n const configurationValue: CopilotChatConfigurationValue = useMemo(\n () => ({\n labels: mergedLabels,\n agentId: resolvedAgentId,\n threadId: resolvedThreadId,\n isModalOpen: resolvedIsModalOpen,\n setModalOpen: resolvedSetModalOpen,\n isModalDefaultOpen: resolvedDefaultOpen,\n }),\n [\n mergedLabels,\n resolvedAgentId,\n resolvedThreadId,\n resolvedIsModalOpen,\n resolvedSetModalOpen,\n resolvedDefaultOpen,\n ],\n );\n\n return (\n <CopilotChatConfiguration.Provider value={configurationValue}>\n {children}\n </CopilotChatConfiguration.Provider>\n );\n};\n\n// Hook to use the full configuration\nexport const useCopilotChatConfiguration =\n (): CopilotChatConfigurationValue | null => {\n const configuration = useContext(CopilotChatConfiguration);\n return configuration;\n };\n"],"mappings":";AAAA,SAAgB,eAAe,YAAuB,SAAS,gBAAgB;AAC/E,SAAS,kBAAkB,kBAAkB;AA0GzC;AAvGG,IAAM,2BAA2B;AAAA,EACtC,sBAAsB;AAAA,EACtB,4CAA4C;AAAA,EAC5C,6CAA6C;AAAA,EAC7C,6CAA6C;AAAA,EAC7C,gCAAgC;AAAA,EAChC,kCAAkC;AAAA,EAClC,sCAAsC;AAAA,EACtC,4CAA4C;AAAA,EAC5C,yCAAyC;AAAA,EACzC,sCAAsC;AAAA,EACtC,wCAAwC;AAAA,EACxC,uCAAuC;AAAA,EACvC,wCAAwC;AAAA,EACxC,oCAAoC;AAAA,EACpC,oCAAoC;AAAA,EACpC,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EACtB,kBAAkB;AACpB;AAeA,IAAM,2BACJ,cAAoD,IAAI;AAYnD,IAAM,mCAET,CAAC,EAAE,UAAU,QAAQ,SAAS,UAAU,mBAAmB,MAAM;AACnE,QAAM,eAAe,WAAW,wBAAwB;AAExD,QAAM,eAAkC;AAAA,IACtC,OAAO;AAAA,MACL,GAAG;AAAA,MACH,GAAI,cAAc,UAAU,CAAC;AAAA,MAC7B,GAAI,UAAU,CAAC;AAAA,IACjB;AAAA,IACA,CAAC,QAAQ,cAAc,MAAM;AAAA,EAC/B;AAEA,QAAM,kBAAkB,WAAW,cAAc,WAAW;AAE5D,QAAM,mBAAmB,QAAQ,MAAM;AACrC,QAAI,UAAU;AACZ,aAAO;AAAA,IACT;AACA,QAAI,cAAc,UAAU;AAC1B,aAAO,aAAa;AAAA,IACtB;AACA,WAAO,WAAW;AAAA,EACpB,GAAG,CAAC,UAAU,cAAc,QAAQ,CAAC;AAErC,QAAM,sBAAsB,sBAAsB,cAAc,sBAAsB;AAEtF,QAAM,CAAC,mBAAmB,oBAAoB,IAAI;AAAA,IAChD,cAAc,eAAe;AAAA,EAC/B;AAEA,QAAM,sBAAsB,cAAc,eAAe;AACzD,QAAM,uBAAuB,cAAc,gBAAgB;AAE3D,QAAM,qBAAoD;AAAA,IACxD,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,UAAU;AAAA,MACV,aAAa;AAAA,MACb,cAAc;AAAA,MACd,oBAAoB;AAAA,IACtB;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SACE,oBAAC,yBAAyB,UAAzB,EAAkC,OAAO,oBACvC,UACH;AAEJ;AAGO,IAAM,8BACX,MAA4C;AAC1C,QAAM,gBAAgB,WAAW,wBAAwB;AACzD,SAAO;AACT;","names":[]}
|