@copilotkit/react-core 1.51.5-next.0 → 1.51.5-next.2
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/.attw.json +3 -0
- package/CHANGELOG.md +19 -0
- package/dist/index.cjs +4010 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1327 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +1327 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +3944 -148
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.js +4075 -39
- package/dist/index.umd.js.map +1 -1
- package/dist/v2/index.cjs +17 -0
- package/dist/v2/index.css +2 -3
- package/dist/v2/index.css.map +1 -1
- package/dist/v2/index.d.cts +2 -0
- package/dist/v2/index.d.mts +2 -0
- package/dist/v2/index.mjs +4 -5
- package/dist/v2/index.umd.js +24 -2
- package/package.json +21 -21
- package/src/components/copilot-provider/__tests__/copilotkit-error.test.tsx +3 -3
- package/src/hooks/__tests__/use-coagent-config.test.ts +23 -22
- package/src/hooks/__tests__/use-coagent-state-render.e2e.test.tsx +33 -35
- package/src/hooks/__tests__/use-coagent-state-render.test.tsx +19 -18
- package/src/hooks/__tests__/use-frontend-tool-available.test.tsx +72 -0
- package/src/hooks/__tests__/use-frontend-tool-remount.e2e.test.tsx +9 -7
- package/src/hooks/use-copilot-chat.ts +1 -1
- package/src/hooks/use-frontend-tool.ts +2 -1
- package/src/lib/copilot-task.ts +1 -1
- package/src/setupTests.ts +17 -16
- package/tsconfig.json +1 -1
- package/tsdown.config.ts +94 -0
- package/vitest.config.mjs +30 -0
- package/dist/chunk-2IDV5OHF.mjs +0 -11
- package/dist/chunk-2IDV5OHF.mjs.map +0 -1
- package/dist/chunk-2JZZD4RP.mjs +0 -628
- package/dist/chunk-2JZZD4RP.mjs.map +0 -1
- package/dist/chunk-2RSAYTXH.mjs +0 -137
- package/dist/chunk-2RSAYTXH.mjs.map +0 -1
- package/dist/chunk-36KQV2NA.mjs +0 -1
- package/dist/chunk-36KQV2NA.mjs.map +0 -1
- package/dist/chunk-3LZZ4RVM.mjs +0 -37
- package/dist/chunk-3LZZ4RVM.mjs.map +0 -1
- package/dist/chunk-4ZQYMC5F.mjs +0 -36
- package/dist/chunk-4ZQYMC5F.mjs.map +0 -1
- package/dist/chunk-6AWG5FWL.mjs +0 -102
- package/dist/chunk-6AWG5FWL.mjs.map +0 -1
- package/dist/chunk-6YOKPWQ7.mjs +0 -1
- package/dist/chunk-6YOKPWQ7.mjs.map +0 -1
- package/dist/chunk-7GIBHX6X.mjs +0 -195
- package/dist/chunk-7GIBHX6X.mjs.map +0 -1
- package/dist/chunk-7PJKPWMD.mjs +0 -112
- package/dist/chunk-7PJKPWMD.mjs.map +0 -1
- package/dist/chunk-7U3DNFBF.mjs +0 -20
- package/dist/chunk-7U3DNFBF.mjs.map +0 -1
- package/dist/chunk-A6NKSGH3.mjs +0 -1
- package/dist/chunk-A6NKSGH3.mjs.map +0 -1
- package/dist/chunk-AAGMWZCN.mjs +0 -439
- package/dist/chunk-AAGMWZCN.mjs.map +0 -1
- package/dist/chunk-C7HSVDHD.mjs +0 -116
- package/dist/chunk-C7HSVDHD.mjs.map +0 -1
- package/dist/chunk-CYDWEPFL.mjs +0 -1
- package/dist/chunk-CYDWEPFL.mjs.map +0 -1
- package/dist/chunk-CZT7JUIM.mjs +0 -153
- package/dist/chunk-CZT7JUIM.mjs.map +0 -1
- package/dist/chunk-DAQORGBP.mjs +0 -125
- package/dist/chunk-DAQORGBP.mjs.map +0 -1
- package/dist/chunk-DMLQZG75.mjs +0 -25
- package/dist/chunk-DMLQZG75.mjs.map +0 -1
- package/dist/chunk-FD6FGKYY.mjs +0 -1
- package/dist/chunk-FD6FGKYY.mjs.map +0 -1
- package/dist/chunk-G7SUZGGB.mjs +0 -126
- package/dist/chunk-G7SUZGGB.mjs.map +0 -1
- package/dist/chunk-GY3FQICF.mjs +0 -23
- package/dist/chunk-GY3FQICF.mjs.map +0 -1
- package/dist/chunk-I76HKHPJ.mjs +0 -32
- package/dist/chunk-I76HKHPJ.mjs.map +0 -1
- package/dist/chunk-ICIK2BSB.mjs +0 -17
- package/dist/chunk-ICIK2BSB.mjs.map +0 -1
- package/dist/chunk-IGYMBU43.mjs +0 -43
- package/dist/chunk-IGYMBU43.mjs.map +0 -1
- package/dist/chunk-IHMMKEFG.mjs +0 -64
- package/dist/chunk-IHMMKEFG.mjs.map +0 -1
- package/dist/chunk-JD7BAH7U.mjs +0 -1
- package/dist/chunk-JD7BAH7U.mjs.map +0 -1
- package/dist/chunk-K5OXUXCG.mjs +0 -76
- package/dist/chunk-K5OXUXCG.mjs.map +0 -1
- package/dist/chunk-L7GPCF2V.mjs +0 -229
- package/dist/chunk-L7GPCF2V.mjs.map +0 -1
- package/dist/chunk-LNGBARXE.mjs +0 -86
- package/dist/chunk-LNGBARXE.mjs.map +0 -1
- package/dist/chunk-LUGEI4YQ.mjs +0 -1
- package/dist/chunk-LUGEI4YQ.mjs.map +0 -1
- package/dist/chunk-MBJ7OLYI.mjs +0 -58
- package/dist/chunk-MBJ7OLYI.mjs.map +0 -1
- package/dist/chunk-NB2FKV2V.mjs +0 -1
- package/dist/chunk-NB2FKV2V.mjs.map +0 -1
- package/dist/chunk-NINJMAND.mjs +0 -86
- package/dist/chunk-NINJMAND.mjs.map +0 -1
- package/dist/chunk-O7ARI5CV.mjs +0 -31
- package/dist/chunk-O7ARI5CV.mjs.map +0 -1
- package/dist/chunk-P6ZPE4XJ.mjs +0 -86
- package/dist/chunk-P6ZPE4XJ.mjs.map +0 -1
- package/dist/chunk-QXZTCGF4.mjs +0 -163
- package/dist/chunk-QXZTCGF4.mjs.map +0 -1
- package/dist/chunk-R7BV32X4.mjs +0 -146
- package/dist/chunk-R7BV32X4.mjs.map +0 -1
- package/dist/chunk-S65UEHGI.mjs +0 -95
- package/dist/chunk-S65UEHGI.mjs.map +0 -1
- package/dist/chunk-SBRCWA4S.mjs +0 -913
- package/dist/chunk-SBRCWA4S.mjs.map +0 -1
- package/dist/chunk-SFOKX4MH.mjs +0 -195
- package/dist/chunk-SFOKX4MH.mjs.map +0 -1
- package/dist/chunk-SK2XMJUD.mjs +0 -42
- package/dist/chunk-SK2XMJUD.mjs.map +0 -1
- package/dist/chunk-SKC7AJIV.mjs +0 -61
- package/dist/chunk-SKC7AJIV.mjs.map +0 -1
- package/dist/chunk-SPCZTZCY.mjs +0 -1
- package/dist/chunk-SPCZTZCY.mjs.map +0 -1
- package/dist/chunk-SYGQHN3H.mjs +0 -27
- package/dist/chunk-SYGQHN3H.mjs.map +0 -1
- package/dist/chunk-TFZXOEY4.mjs +0 -61
- package/dist/chunk-TFZXOEY4.mjs.map +0 -1
- package/dist/chunk-TPN7WC53.mjs +0 -33
- package/dist/chunk-TPN7WC53.mjs.map +0 -1
- package/dist/chunk-UA23VX5J.mjs +0 -65
- package/dist/chunk-UA23VX5J.mjs.map +0 -1
- package/dist/chunk-V42VL2JR.mjs +0 -136
- package/dist/chunk-V42VL2JR.mjs.map +0 -1
- package/dist/chunk-VZ4NSOFQ.mjs +0 -80
- package/dist/chunk-VZ4NSOFQ.mjs.map +0 -1
- package/dist/chunk-WRALJIW5.mjs +0 -79
- package/dist/chunk-WRALJIW5.mjs.map +0 -1
- package/dist/chunk-WV2EA7SX.mjs +0 -65
- package/dist/chunk-WV2EA7SX.mjs.map +0 -1
- package/dist/chunk-Z6JV2LRY.mjs +0 -37
- package/dist/chunk-Z6JV2LRY.mjs.map +0 -1
- package/dist/chunk-ZP2IMXFY.mjs +0 -316
- package/dist/chunk-ZP2IMXFY.mjs.map +0 -1
- package/dist/chunk-ZVF5Q6IH.mjs +0 -29
- package/dist/chunk-ZVF5Q6IH.mjs.map +0 -1
- package/dist/components/CopilotListeners.d.ts +0 -3
- package/dist/components/CopilotListeners.js +0 -110
- package/dist/components/CopilotListeners.js.map +0 -1
- package/dist/components/CopilotListeners.mjs +0 -9
- package/dist/components/CopilotListeners.mjs.map +0 -1
- package/dist/components/copilot-provider/copilot-messages.d.ts +0 -24
- package/dist/components/copilot-provider/copilot-messages.js +0 -366
- package/dist/components/copilot-provider/copilot-messages.js.map +0 -1
- package/dist/components/copilot-provider/copilot-messages.mjs +0 -16
- package/dist/components/copilot-provider/copilot-messages.mjs.map +0 -1
- package/dist/components/copilot-provider/copilotkit-props.d.ts +0 -180
- package/dist/components/copilot-provider/copilotkit-props.js +0 -19
- package/dist/components/copilot-provider/copilotkit-props.js.map +0 -1
- package/dist/components/copilot-provider/copilotkit-props.mjs +0 -1
- package/dist/components/copilot-provider/copilotkit-props.mjs.map +0 -1
- package/dist/components/copilot-provider/copilotkit.d.ts +0 -19
- package/dist/components/copilot-provider/copilotkit.js +0 -2348
- package/dist/components/copilot-provider/copilotkit.js.map +0 -1
- package/dist/components/copilot-provider/copilotkit.mjs +0 -33
- package/dist/components/copilot-provider/copilotkit.mjs.map +0 -1
- package/dist/components/copilot-provider/index.d.ts +0 -14
- package/dist/components/copilot-provider/index.js +0 -2348
- package/dist/components/copilot-provider/index.js.map +0 -1
- package/dist/components/copilot-provider/index.mjs +0 -32
- package/dist/components/copilot-provider/index.mjs.map +0 -1
- package/dist/components/dev-console/console-trigger.d.ts +0 -8
- package/dist/components/dev-console/console-trigger.js +0 -1387
- package/dist/components/dev-console/console-trigger.js.map +0 -1
- package/dist/components/dev-console/console-trigger.mjs +0 -249
- package/dist/components/dev-console/console-trigger.mjs.map +0 -1
- package/dist/components/dev-console/developer-console-modal.d.ts +0 -10
- package/dist/components/dev-console/developer-console-modal.js +0 -1156
- package/dist/components/dev-console/developer-console-modal.js.map +0 -1
- package/dist/components/dev-console/developer-console-modal.mjs +0 -12
- package/dist/components/dev-console/developer-console-modal.mjs.map +0 -1
- package/dist/components/dev-console/icons.d.ts +0 -9
- package/dist/components/dev-console/icons.js +0 -140
- package/dist/components/dev-console/icons.js.map +0 -1
- package/dist/components/dev-console/icons.mjs +0 -16
- package/dist/components/dev-console/icons.mjs.map +0 -1
- package/dist/components/error-boundary/error-boundary.d.ts +0 -31
- package/dist/components/error-boundary/error-boundary.js +0 -507
- package/dist/components/error-boundary/error-boundary.js.map +0 -1
- package/dist/components/error-boundary/error-boundary.mjs +0 -15
- package/dist/components/error-boundary/error-boundary.mjs.map +0 -1
- package/dist/components/error-boundary/error-utils.d.ts +0 -11
- package/dist/components/error-boundary/error-utils.js +0 -190
- package/dist/components/error-boundary/error-utils.js.map +0 -1
- package/dist/components/error-boundary/error-utils.mjs +0 -14
- package/dist/components/error-boundary/error-utils.mjs.map +0 -1
- package/dist/components/index.d.ts +0 -14
- package/dist/components/index.js +0 -2348
- package/dist/components/index.js.map +0 -1
- package/dist/components/index.mjs +0 -33
- package/dist/components/index.mjs.map +0 -1
- package/dist/components/toast/exclamation-mark-icon.d.ts +0 -9
- package/dist/components/toast/exclamation-mark-icon.js +0 -55
- package/dist/components/toast/exclamation-mark-icon.js.map +0 -1
- package/dist/components/toast/exclamation-mark-icon.mjs +0 -8
- package/dist/components/toast/exclamation-mark-icon.mjs.map +0 -1
- package/dist/components/toast/toast-provider.d.ts +0 -27
- package/dist/components/toast/toast-provider.js +0 -353
- package/dist/components/toast/toast-provider.js.map +0 -1
- package/dist/components/toast/toast-provider.mjs +0 -10
- package/dist/components/toast/toast-provider.mjs.map +0 -1
- package/dist/components/usage-banner.d.ts +0 -29
- package/dist/components/usage-banner.js +0 -251
- package/dist/components/usage-banner.js.map +0 -1
- package/dist/components/usage-banner.mjs +0 -12
- package/dist/components/usage-banner.mjs.map +0 -1
- package/dist/context/coagent-state-renders-context.d.ts +0 -25
- package/dist/context/coagent-state-renders-context.js +0 -96
- package/dist/context/coagent-state-renders-context.js.map +0 -1
- package/dist/context/coagent-state-renders-context.mjs +0 -12
- package/dist/context/coagent-state-renders-context.mjs.map +0 -1
- package/dist/context/copilot-context.d.ts +0 -10
- package/dist/context/copilot-context.js +0 -167
- package/dist/context/copilot-context.js.map +0 -1
- package/dist/context/copilot-context.mjs +0 -10
- package/dist/context/copilot-context.mjs.map +0 -1
- package/dist/context/copilot-messages-context.d.ts +0 -18
- package/dist/context/copilot-messages-context.js +0 -60
- package/dist/context/copilot-messages-context.js.map +0 -1
- package/dist/context/copilot-messages-context.mjs +0 -10
- package/dist/context/copilot-messages-context.mjs.map +0 -1
- package/dist/context/index.d.ts +0 -15
- package/dist/context/index.js +0 -301
- package/dist/context/index.js.map +0 -1
- package/dist/context/index.mjs +0 -33
- package/dist/context/index.mjs.map +0 -1
- package/dist/context/threads-context.d.ts +0 -16
- package/dist/context/threads-context.js +0 -64
- package/dist/context/threads-context.js.map +0 -1
- package/dist/context/threads-context.mjs +0 -12
- package/dist/context/threads-context.mjs.map +0 -1
- package/dist/copilot-context-ec77e921.d.ts +0 -209
- package/dist/hooks/index.d.ts +0 -33
- package/dist/hooks/index.js +0 -2190
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/index.mjs +0 -93
- package/dist/hooks/index.mjs.map +0 -1
- package/dist/hooks/use-agent-nodename.d.ts +0 -3
- package/dist/hooks/use-agent-nodename.js +0 -56
- package/dist/hooks/use-agent-nodename.js.map +0 -1
- package/dist/hooks/use-agent-nodename.mjs +0 -8
- package/dist/hooks/use-agent-nodename.mjs.map +0 -1
- package/dist/hooks/use-coagent-state-render-bridge.d.ts +0 -100
- package/dist/hooks/use-coagent-state-render-bridge.helpers.d.ts +0 -92
- package/dist/hooks/use-coagent-state-render-bridge.helpers.js +0 -237
- package/dist/hooks/use-coagent-state-render-bridge.helpers.js.map +0 -1
- package/dist/hooks/use-coagent-state-render-bridge.helpers.mjs +0 -24
- package/dist/hooks/use-coagent-state-render-bridge.helpers.mjs.map +0 -1
- package/dist/hooks/use-coagent-state-render-bridge.js +0 -498
- package/dist/hooks/use-coagent-state-render-bridge.js.map +0 -1
- package/dist/hooks/use-coagent-state-render-bridge.mjs +0 -17
- package/dist/hooks/use-coagent-state-render-bridge.mjs.map +0 -1
- package/dist/hooks/use-coagent-state-render-registry.d.ts +0 -25
- package/dist/hooks/use-coagent-state-render-registry.js +0 -369
- package/dist/hooks/use-coagent-state-render-registry.js.map +0 -1
- package/dist/hooks/use-coagent-state-render-registry.mjs +0 -9
- package/dist/hooks/use-coagent-state-render-registry.mjs.map +0 -1
- package/dist/hooks/use-coagent-state-render.d.ts +0 -55
- package/dist/hooks/use-coagent-state-render.js +0 -268
- package/dist/hooks/use-coagent-state-render.js.map +0 -1
- package/dist/hooks/use-coagent-state-render.mjs +0 -11
- package/dist/hooks/use-coagent-state-render.mjs.map +0 -1
- package/dist/hooks/use-coagent.d.ts +0 -192
- package/dist/hooks/use-coagent.js +0 -235
- package/dist/hooks/use-coagent.js.map +0 -1
- package/dist/hooks/use-coagent.mjs +0 -9
- package/dist/hooks/use-coagent.mjs.map +0 -1
- package/dist/hooks/use-configure-chat-suggestions.d.ts +0 -36
- package/dist/hooks/use-configure-chat-suggestions.js +0 -79
- package/dist/hooks/use-configure-chat-suggestions.js.map +0 -1
- package/dist/hooks/use-configure-chat-suggestions.mjs +0 -47
- package/dist/hooks/use-configure-chat-suggestions.mjs.map +0 -1
- package/dist/hooks/use-copilot-action.d.ts +0 -103
- package/dist/hooks/use-copilot-action.js +0 -302
- package/dist/hooks/use-copilot-action.js.map +0 -1
- package/dist/hooks/use-copilot-action.mjs +0 -11
- package/dist/hooks/use-copilot-action.mjs.map +0 -1
- package/dist/hooks/use-copilot-additional-instructions.d.ts +0 -26
- package/dist/hooks/use-copilot-additional-instructions.js +0 -196
- package/dist/hooks/use-copilot-additional-instructions.js.map +0 -1
- package/dist/hooks/use-copilot-additional-instructions.mjs +0 -9
- package/dist/hooks/use-copilot-additional-instructions.mjs.map +0 -1
- package/dist/hooks/use-copilot-authenticated-action.d.ts +0 -18
- package/dist/hooks/use-copilot-authenticated-action.js +0 -477
- package/dist/hooks/use-copilot-authenticated-action.js.map +0 -1
- package/dist/hooks/use-copilot-authenticated-action.mjs +0 -13
- package/dist/hooks/use-copilot-authenticated-action.mjs.map +0 -1
- package/dist/hooks/use-copilot-chat-headless_c.d.ts +0 -25
- package/dist/hooks/use-copilot-chat-headless_c.js +0 -1410
- package/dist/hooks/use-copilot-chat-headless_c.js.map +0 -1
- package/dist/hooks/use-copilot-chat-headless_c.mjs +0 -26
- package/dist/hooks/use-copilot-chat-headless_c.mjs.map +0 -1
- package/dist/hooks/use-copilot-chat-suggestions.d.ts +0 -35
- package/dist/hooks/use-copilot-chat-suggestions.js +0 -60
- package/dist/hooks/use-copilot-chat-suggestions.js.map +0 -1
- package/dist/hooks/use-copilot-chat-suggestions.mjs +0 -8
- package/dist/hooks/use-copilot-chat-suggestions.mjs.map +0 -1
- package/dist/hooks/use-copilot-chat.d.ts +0 -92
- package/dist/hooks/use-copilot-chat.js +0 -1344
- package/dist/hooks/use-copilot-chat.js.map +0 -1
- package/dist/hooks/use-copilot-chat.mjs +0 -23
- package/dist/hooks/use-copilot-chat.mjs.map +0 -1
- package/dist/hooks/use-copilot-chat_internal.d.ts +0 -244
- package/dist/hooks/use-copilot-chat_internal.js +0 -1342
- package/dist/hooks/use-copilot-chat_internal.js.map +0 -1
- package/dist/hooks/use-copilot-chat_internal.mjs +0 -24
- package/dist/hooks/use-copilot-chat_internal.mjs.map +0 -1
- package/dist/hooks/use-copilot-readable.d.ts +0 -37
- package/dist/hooks/use-copilot-readable.js +0 -61
- package/dist/hooks/use-copilot-readable.js.map +0 -1
- package/dist/hooks/use-copilot-readable.mjs +0 -8
- package/dist/hooks/use-copilot-readable.mjs.map +0 -1
- package/dist/hooks/use-copilot-runtime-client.d.ts +0 -10
- package/dist/hooks/use-copilot-runtime-client.js +0 -206
- package/dist/hooks/use-copilot-runtime-client.js.map +0 -1
- package/dist/hooks/use-copilot-runtime-client.mjs +0 -9
- package/dist/hooks/use-copilot-runtime-client.mjs.map +0 -1
- package/dist/hooks/use-default-tool.d.ts +0 -8
- package/dist/hooks/use-default-tool.js +0 -312
- package/dist/hooks/use-default-tool.js.map +0 -1
- package/dist/hooks/use-default-tool.mjs +0 -12
- package/dist/hooks/use-default-tool.mjs.map +0 -1
- package/dist/hooks/use-flat-category-store.d.ts +0 -9
- package/dist/hooks/use-flat-category-store.js +0 -96
- package/dist/hooks/use-flat-category-store.js.map +0 -1
- package/dist/hooks/use-flat-category-store.mjs +0 -8
- package/dist/hooks/use-flat-category-store.mjs.map +0 -1
- package/dist/hooks/use-frontend-tool.d.ts +0 -11
- package/dist/hooks/use-frontend-tool.js +0 -107
- package/dist/hooks/use-frontend-tool.js.map +0 -1
- package/dist/hooks/use-frontend-tool.mjs +0 -8
- package/dist/hooks/use-frontend-tool.mjs.map +0 -1
- package/dist/hooks/use-human-in-the-loop.d.ts +0 -13
- package/dist/hooks/use-human-in-the-loop.js +0 -122
- package/dist/hooks/use-human-in-the-loop.js.map +0 -1
- package/dist/hooks/use-human-in-the-loop.mjs +0 -8
- package/dist/hooks/use-human-in-the-loop.mjs.map +0 -1
- package/dist/hooks/use-langgraph-interrupt-render.d.ts +0 -6
- package/dist/hooks/use-langgraph-interrupt-render.js +0 -335
- package/dist/hooks/use-langgraph-interrupt-render.js.map +0 -1
- package/dist/hooks/use-langgraph-interrupt-render.mjs +0 -14
- package/dist/hooks/use-langgraph-interrupt-render.mjs.map +0 -1
- package/dist/hooks/use-langgraph-interrupt.d.ts +0 -14
- package/dist/hooks/use-langgraph-interrupt.js +0 -216
- package/dist/hooks/use-langgraph-interrupt.js.map +0 -1
- package/dist/hooks/use-langgraph-interrupt.mjs +0 -10
- package/dist/hooks/use-langgraph-interrupt.mjs.map +0 -1
- package/dist/hooks/use-lazy-tool-renderer.d.ts +0 -6
- package/dist/hooks/use-lazy-tool-renderer.js +0 -53
- package/dist/hooks/use-lazy-tool-renderer.js.map +0 -1
- package/dist/hooks/use-lazy-tool-renderer.mjs +0 -8
- package/dist/hooks/use-lazy-tool-renderer.mjs.map +0 -1
- package/dist/hooks/use-make-copilot-document-readable.d.ts +0 -12
- package/dist/hooks/use-make-copilot-document-readable.js +0 -182
- package/dist/hooks/use-make-copilot-document-readable.js.map +0 -1
- package/dist/hooks/use-make-copilot-document-readable.mjs +0 -9
- package/dist/hooks/use-make-copilot-document-readable.mjs.map +0 -1
- package/dist/hooks/use-render-tool-call.d.ts +0 -12
- package/dist/hooks/use-render-tool-call.js +0 -94
- package/dist/hooks/use-render-tool-call.js.map +0 -1
- package/dist/hooks/use-render-tool-call.mjs +0 -8
- package/dist/hooks/use-render-tool-call.mjs.map +0 -1
- package/dist/hooks/use-tree.d.ts +0 -19
- package/dist/hooks/use-tree.js +0 -178
- package/dist/hooks/use-tree.js.map +0 -1
- package/dist/hooks/use-tree.mjs +0 -8
- package/dist/hooks/use-tree.mjs.map +0 -1
- package/dist/index.d.ts +0 -43
- package/dist/index.js +0 -4064
- package/dist/index.js.map +0 -1
- package/dist/lib/copilot-task.d.ts +0 -97
- package/dist/lib/copilot-task.js +0 -201
- package/dist/lib/copilot-task.js.map +0 -1
- package/dist/lib/copilot-task.mjs +0 -33
- package/dist/lib/copilot-task.mjs.map +0 -1
- package/dist/lib/index.d.ts +0 -11
- package/dist/lib/index.js +0 -203
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/index.mjs +0 -34
- package/dist/lib/index.mjs.map +0 -1
- package/dist/lib/status-checker.d.ts +0 -17
- package/dist/lib/status-checker.js +0 -102
- package/dist/lib/status-checker.js.map +0 -1
- package/dist/lib/status-checker.mjs +0 -8
- package/dist/lib/status-checker.mjs.map +0 -1
- package/dist/setupTests.d.ts +0 -2
- package/dist/setupTests.js +0 -31
- package/dist/setupTests.js.map +0 -1
- package/dist/setupTests.mjs +0 -29
- package/dist/setupTests.mjs.map +0 -1
- package/dist/test-helpers/copilot-context.d.ts +0 -14
- package/dist/test-helpers/copilot-context.js +0 -128
- package/dist/test-helpers/copilot-context.js.map +0 -1
- package/dist/test-helpers/copilot-context.mjs +0 -74
- package/dist/test-helpers/copilot-context.mjs.map +0 -1
- package/dist/types/chat-suggestion-configuration.d.ts +0 -22
- package/dist/types/chat-suggestion-configuration.js +0 -19
- package/dist/types/chat-suggestion-configuration.js.map +0 -1
- package/dist/types/chat-suggestion-configuration.mjs +0 -1
- package/dist/types/chat-suggestion-configuration.mjs.map +0 -1
- package/dist/types/coagent-action.d.ts +0 -29
- package/dist/types/coagent-action.js +0 -19
- package/dist/types/coagent-action.js.map +0 -1
- package/dist/types/coagent-action.mjs +0 -1
- package/dist/types/coagent-action.mjs.map +0 -1
- package/dist/types/coagent-state.d.ts +0 -15
- package/dist/types/coagent-state.js +0 -19
- package/dist/types/coagent-state.js.map +0 -1
- package/dist/types/coagent-state.mjs +0 -1
- package/dist/types/coagent-state.mjs.map +0 -1
- package/dist/types/crew.d.ts +0 -79
- package/dist/types/crew.js +0 -19
- package/dist/types/crew.js.map +0 -1
- package/dist/types/crew.mjs +0 -2
- package/dist/types/crew.mjs.map +0 -1
- package/dist/types/document-pointer.d.ts +0 -9
- package/dist/types/document-pointer.js +0 -19
- package/dist/types/document-pointer.js.map +0 -1
- package/dist/types/document-pointer.mjs +0 -1
- package/dist/types/document-pointer.mjs.map +0 -1
- package/dist/types/frontend-action.d.ts +0 -127
- package/dist/types/frontend-action.js +0 -55
- package/dist/types/frontend-action.js.map +0 -1
- package/dist/types/frontend-action.mjs +0 -8
- package/dist/types/frontend-action.mjs.map +0 -1
- package/dist/types/index.d.ts +0 -12
- package/dist/types/index.js +0 -19
- package/dist/types/index.js.map +0 -1
- package/dist/types/index.mjs +0 -4
- package/dist/types/index.mjs.map +0 -1
- package/dist/types/interrupt-action.d.ts +0 -10
- package/dist/types/interrupt-action.js +0 -19
- package/dist/types/interrupt-action.js.map +0 -1
- package/dist/types/interrupt-action.mjs +0 -2
- package/dist/types/interrupt-action.mjs.map +0 -1
- package/dist/types/system-message.d.ts +0 -3
- package/dist/types/system-message.js +0 -19
- package/dist/types/system-message.js.map +0 -1
- package/dist/types/system-message.mjs +0 -1
- package/dist/types/system-message.mjs.map +0 -1
- package/dist/utils/dev-console.d.ts +0 -3
- package/dist/utils/dev-console.js +0 -41
- package/dist/utils/dev-console.js.map +0 -1
- package/dist/utils/dev-console.mjs +0 -8
- package/dist/utils/dev-console.mjs.map +0 -1
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.js +0 -52
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/index.mjs +0 -13
- package/dist/utils/index.mjs.map +0 -1
- package/dist/utils/suggestions-constants.d.ts +0 -9
- package/dist/utils/suggestions-constants.js +0 -35
- package/dist/utils/suggestions-constants.js.map +0 -1
- package/dist/utils/suggestions-constants.mjs +0 -8
- package/dist/utils/suggestions-constants.mjs.map +0 -1
- package/dist/utils/utils.d.ts +0 -2
- package/dist/utils/utils.js +0 -19
- package/dist/utils/utils.js.map +0 -1
- package/dist/utils/utils.mjs +0 -1
- package/dist/utils/utils.mjs.map +0 -1
- package/dist/v2/index.d.ts +0 -2
- package/dist/v2/index.js +0 -27
- package/dist/v2/index.js.map +0 -1
- package/dist/v2/index.mjs.map +0 -1
- package/dist/v2/index.umd.js.map +0 -1
- package/jest.config.js +0 -26
- package/rollup.config.mjs +0 -92
- package/src/__mocks__/analytics-node.js +0 -9
- package/tsup.config.ts +0 -16
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
var _copilotkitnext_core = require("@copilotkitnext/core");
|
|
4
|
+
Object.keys(_copilotkitnext_core).forEach(function (k) {
|
|
5
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function () { return _copilotkitnext_core[k]; }
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
var _copilotkitnext_react = require("@copilotkitnext/react");
|
|
12
|
+
Object.keys(_copilotkitnext_react).forEach(function (k) {
|
|
13
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () { return _copilotkitnext_react[k]; }
|
|
16
|
+
});
|
|
17
|
+
});
|
package/dist/v2/index.css
CHANGED
package/dist/v2/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.css","names":[],"sources":["../../src/v2/index.css"],"sourcesContent":["@import \"@copilotkitnext/react/styles.css\";"],"mappings":""}
|
package/dist/v2/index.mjs
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
export * from "@copilotkitnext/react"
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
//# sourceMappingURL=index.mjs.map
|
|
3
|
+
export * from "@copilotkitnext/core"
|
|
4
|
+
|
|
5
|
+
export { };
|
package/dist/v2/index.umd.js
CHANGED
|
@@ -1,2 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
(function(factory) {
|
|
2
|
+
|
|
3
|
+
typeof define === 'function' && define.amd ? define([], factory) :
|
|
4
|
+
factory();
|
|
5
|
+
})(function() {
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
var _copilotkitnext_core = require("@copilotkitnext/core");
|
|
9
|
+
Object.keys(_copilotkitnext_core).forEach(function (k) {
|
|
10
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () { return _copilotkitnext_core[k]; }
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
var _copilotkitnext_react = require("@copilotkitnext/react");
|
|
17
|
+
Object.keys(_copilotkitnext_react).forEach(function (k) {
|
|
18
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () { return _copilotkitnext_react[k]; }
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
});
|
package/package.json
CHANGED
|
@@ -6,31 +6,31 @@
|
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/CopilotKit/CopilotKit.git"
|
|
8
8
|
},
|
|
9
|
+
"type": "module",
|
|
9
10
|
"publishConfig": {
|
|
10
11
|
"access": "public"
|
|
11
12
|
},
|
|
12
|
-
"version": "1.51.5-next.
|
|
13
|
+
"version": "1.51.5-next.2",
|
|
13
14
|
"sideEffects": [
|
|
14
15
|
"**/*.css"
|
|
15
16
|
],
|
|
16
|
-
"main": "./dist/index.
|
|
17
|
+
"main": "./dist/index.cjs",
|
|
17
18
|
"module": "./dist/index.mjs",
|
|
18
19
|
"exports": {
|
|
19
20
|
".": {
|
|
20
21
|
"import": "./dist/index.mjs",
|
|
21
|
-
"require": "./dist/index.
|
|
22
|
-
"types": "./dist/index.d.ts"
|
|
22
|
+
"require": "./dist/index.cjs"
|
|
23
23
|
},
|
|
24
24
|
"./v2": {
|
|
25
25
|
"import": "./dist/v2/index.mjs",
|
|
26
|
-
"require": "./dist/v2/index.
|
|
27
|
-
"types": "./dist/v2/index.d.ts"
|
|
26
|
+
"require": "./dist/v2/index.cjs"
|
|
28
27
|
},
|
|
28
|
+
"./package.json": "./package.json",
|
|
29
29
|
"./v2/styles.css": "./dist/v2/index.css"
|
|
30
30
|
},
|
|
31
31
|
"unpkg": "./dist/index.umd.js",
|
|
32
32
|
"jsdelivr": "./dist/index.umd.js",
|
|
33
|
-
"types": "./dist/index.d.
|
|
33
|
+
"types": "./dist/index.d.cts",
|
|
34
34
|
"license": "MIT",
|
|
35
35
|
"peerDependencies": {
|
|
36
36
|
"react": "^18 || ^19 || ^19.0.0-rc",
|
|
@@ -40,17 +40,14 @@
|
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@testing-library/react": "^16.3.0",
|
|
42
42
|
"@testing-library/react-hooks": "^8.0.1",
|
|
43
|
-
"@types/jest": "^29.5.4",
|
|
44
43
|
"@types/react": "^19.1.0",
|
|
45
44
|
"@types/react-dom": "^19.0.2",
|
|
46
45
|
"eslint": "^8.56.0",
|
|
47
|
-
"
|
|
48
|
-
"jest": "^29.6.4",
|
|
49
|
-
"jest-environment-jsdom": "^30.0.2",
|
|
46
|
+
"jsdom": "^26.1.0",
|
|
50
47
|
"react": "^19.1.0",
|
|
51
48
|
"react-dom": "^19.2.0",
|
|
52
|
-
"
|
|
53
|
-
"
|
|
49
|
+
"vitest": "^3.2.4",
|
|
50
|
+
"tsdown": "^0.20.3",
|
|
54
51
|
"typescript": "^5.2.3",
|
|
55
52
|
"zod": ">=3.0.0",
|
|
56
53
|
"eslint-config-custom": "1.4.8",
|
|
@@ -61,10 +58,10 @@
|
|
|
61
58
|
"@scarf/scarf": "^1.3.0",
|
|
62
59
|
"react-markdown": "^8.0.7",
|
|
63
60
|
"untruncate-json": "^0.0.1",
|
|
64
|
-
"@copilotkit/runtime-client-gql": "1.51.5-next.
|
|
65
|
-
"@copilotkit/shared": "1.51.5-next.
|
|
66
|
-
"@copilotkitnext/core": "1.51.5-next.
|
|
67
|
-
"@copilotkitnext/react": "1.51.5-next.
|
|
61
|
+
"@copilotkit/runtime-client-gql": "1.51.5-next.2",
|
|
62
|
+
"@copilotkit/shared": "1.51.5-next.2",
|
|
63
|
+
"@copilotkitnext/core": "1.51.5-next.2",
|
|
64
|
+
"@copilotkitnext/react": "1.51.5-next.2"
|
|
68
65
|
},
|
|
69
66
|
"keywords": [
|
|
70
67
|
"copilotkit",
|
|
@@ -79,11 +76,14 @@
|
|
|
79
76
|
"textarea"
|
|
80
77
|
],
|
|
81
78
|
"scripts": {
|
|
82
|
-
"build": "
|
|
83
|
-
"dev": "
|
|
84
|
-
"test": "
|
|
79
|
+
"build": "tsdown",
|
|
80
|
+
"dev": "tsdown --watch",
|
|
81
|
+
"test": "vitest run",
|
|
82
|
+
"test:watch": "vitest",
|
|
85
83
|
"check-types": "tsc --noEmit",
|
|
86
84
|
"link:global": "pnpm link --global",
|
|
87
|
-
"unlink:global": "pnpm unlink --global"
|
|
85
|
+
"unlink:global": "pnpm unlink --global",
|
|
86
|
+
"publint": "publint .",
|
|
87
|
+
"attw": "attw --pack . --profile node16"
|
|
88
88
|
}
|
|
89
89
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
import { vi, type Mock } from "vitest";
|
|
2
2
|
import { CopilotErrorEvent, CopilotErrorHandler } from "@copilotkit/shared";
|
|
3
3
|
|
|
4
4
|
describe("CopilotKit onError types", () => {
|
|
5
|
-
let mockError:
|
|
5
|
+
let mockError: Mock;
|
|
6
6
|
|
|
7
7
|
beforeEach(() => {
|
|
8
|
-
mockError =
|
|
8
|
+
mockError = vi.fn();
|
|
9
9
|
});
|
|
10
10
|
|
|
11
11
|
describe("onError type checking", () => {
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
import { vi } from "vitest";
|
|
1
2
|
import { renderHook, waitFor } from "@testing-library/react";
|
|
2
3
|
import { useCoAgent } from "../use-coagent";
|
|
3
4
|
import type { AgentSubscriber } from "@ag-ui/client";
|
|
4
5
|
|
|
5
6
|
// Mock functions for @copilotkitnext/react
|
|
6
|
-
const mockSetState =
|
|
7
|
-
const mockRunAgent =
|
|
8
|
-
const mockAbortRun =
|
|
9
|
-
const mockSubscribe =
|
|
10
|
-
const mockSetProperties =
|
|
7
|
+
const mockSetState = vi.fn();
|
|
8
|
+
const mockRunAgent = vi.fn();
|
|
9
|
+
const mockAbortRun = vi.fn();
|
|
10
|
+
const mockSubscribe = vi.fn();
|
|
11
|
+
const mockSetProperties = vi.fn();
|
|
11
12
|
|
|
12
13
|
// Store the last subscriber for triggering events
|
|
13
14
|
let lastSubscriber: AgentSubscriber | null = null;
|
|
@@ -23,14 +24,14 @@ const mockAgent = {
|
|
|
23
24
|
subscribe: mockSubscribe.mockImplementation((subscriber: AgentSubscriber) => {
|
|
24
25
|
lastSubscriber = subscriber;
|
|
25
26
|
return {
|
|
26
|
-
unsubscribe:
|
|
27
|
+
unsubscribe: vi.fn(),
|
|
27
28
|
};
|
|
28
29
|
}),
|
|
29
30
|
};
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
useAgent:
|
|
33
|
-
useCopilotKit:
|
|
32
|
+
vi.mock("@copilotkitnext/react", () => ({
|
|
33
|
+
useAgent: vi.fn(() => ({ agent: mockAgent })),
|
|
34
|
+
useCopilotKit: vi.fn(() => ({
|
|
34
35
|
copilotkit: {
|
|
35
36
|
setProperties: mockSetProperties,
|
|
36
37
|
},
|
|
@@ -38,26 +39,26 @@ jest.mock("@copilotkitnext/react", () => ({
|
|
|
38
39
|
}));
|
|
39
40
|
|
|
40
41
|
// Mock other dependencies
|
|
41
|
-
const mockAppendMessage =
|
|
42
|
-
const mockRunChatCompletion =
|
|
42
|
+
const mockAppendMessage = vi.fn();
|
|
43
|
+
const mockRunChatCompletion = vi.fn();
|
|
43
44
|
|
|
44
|
-
|
|
45
|
+
vi.mock("../use-copilot-chat_internal", () => ({
|
|
45
46
|
useCopilotChat: () => ({
|
|
46
47
|
appendMessage: mockAppendMessage,
|
|
47
48
|
runChatCompletion: mockRunChatCompletion,
|
|
48
49
|
}),
|
|
49
50
|
}));
|
|
50
51
|
|
|
51
|
-
|
|
52
|
+
vi.mock("../use-copilot-runtime-client", () => ({
|
|
52
53
|
useCopilotRuntimeClient: () => ({
|
|
53
|
-
loadAgentState:
|
|
54
|
+
loadAgentState: vi.fn().mockResolvedValue({
|
|
54
55
|
data: { loadAgentState: { state: "{}", threadExists: false } },
|
|
55
56
|
error: null,
|
|
56
57
|
}),
|
|
57
58
|
}),
|
|
58
59
|
}));
|
|
59
60
|
|
|
60
|
-
|
|
61
|
+
vi.mock("../../context", () => ({
|
|
61
62
|
useCopilotContext: () => ({
|
|
62
63
|
availableAgents: [],
|
|
63
64
|
coagentStates: {},
|
|
@@ -75,26 +76,26 @@ jest.mock("../../context", () => ({
|
|
|
75
76
|
}),
|
|
76
77
|
}));
|
|
77
78
|
|
|
78
|
-
|
|
79
|
+
vi.mock("../../components/toast/toast-provider", () => ({
|
|
79
80
|
useToast: () => ({
|
|
80
|
-
setBannerError:
|
|
81
|
+
setBannerError: vi.fn(),
|
|
81
82
|
}),
|
|
82
83
|
}));
|
|
83
84
|
|
|
84
|
-
|
|
85
|
+
vi.mock("../../components/error-boundary/error-utils", () => ({
|
|
85
86
|
useAsyncCallback: (fn: any) => fn,
|
|
86
87
|
}));
|
|
87
88
|
|
|
88
|
-
|
|
89
|
+
vi.mock("../../components/copilot-provider/copilot-messages", () => ({
|
|
89
90
|
useMessagesTap: () => ({
|
|
90
|
-
getMessagesFromTap:
|
|
91
|
-
updateTapMessages:
|
|
91
|
+
getMessagesFromTap: vi.fn(() => []),
|
|
92
|
+
updateTapMessages: vi.fn(),
|
|
92
93
|
}),
|
|
93
94
|
}));
|
|
94
95
|
|
|
95
96
|
describe("useCoAgent config synchronization", () => {
|
|
96
97
|
beforeEach(() => {
|
|
97
|
-
|
|
98
|
+
vi.clearAllMocks();
|
|
98
99
|
lastSubscriber = null;
|
|
99
100
|
});
|
|
100
101
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { vi } from "vitest";
|
|
1
2
|
import React from "react";
|
|
2
3
|
import { act, render, screen, waitFor, within } from "@testing-library/react";
|
|
3
4
|
import { useCoAgentStateRender } from "../use-coagent-state-render";
|
|
@@ -10,6 +11,7 @@ import {
|
|
|
10
11
|
} from "../../context";
|
|
11
12
|
import type { Claim } from "../use-coagent-state-render-bridge.helpers";
|
|
12
13
|
import { createTestCopilotContext } from "../../test-helpers/copilot-context";
|
|
14
|
+
import { useRenderCustomMessages } from "@copilotkitnext/react";
|
|
13
15
|
|
|
14
16
|
type TestMessage = {
|
|
15
17
|
id: string;
|
|
@@ -27,50 +29,50 @@ const mockAgent = {
|
|
|
27
29
|
messages: [] as TestMessage[],
|
|
28
30
|
state: {},
|
|
29
31
|
isRunning: true,
|
|
30
|
-
subscribe:
|
|
31
|
-
setMessages:
|
|
32
|
-
setState:
|
|
33
|
-
addMessage:
|
|
34
|
-
abortRun:
|
|
35
|
-
runAgent:
|
|
32
|
+
subscribe: vi.fn(),
|
|
33
|
+
setMessages: vi.fn(),
|
|
34
|
+
setState: vi.fn(),
|
|
35
|
+
addMessage: vi.fn(),
|
|
36
|
+
abortRun: vi.fn(),
|
|
37
|
+
runAgent: vi.fn(),
|
|
36
38
|
};
|
|
37
39
|
|
|
38
40
|
let lastSubscriber: TestAgentSubscriber | null = null;
|
|
39
41
|
|
|
40
|
-
|
|
41
|
-
useAgent:
|
|
42
|
-
useCopilotKit:
|
|
42
|
+
vi.mock("@copilotkitnext/react", () => ({
|
|
43
|
+
useAgent: vi.fn(() => ({ agent: mockAgent })),
|
|
44
|
+
useCopilotKit: vi.fn(() => ({
|
|
43
45
|
copilotkit: {
|
|
44
|
-
connectAgent:
|
|
45
|
-
getRunIdForMessage:
|
|
46
|
-
runAgent:
|
|
47
|
-
clearSuggestions:
|
|
48
|
-
addSuggestionsConfig:
|
|
49
|
-
reloadSuggestions:
|
|
46
|
+
connectAgent: vi.fn(),
|
|
47
|
+
getRunIdForMessage: vi.fn(),
|
|
48
|
+
runAgent: vi.fn(),
|
|
49
|
+
clearSuggestions: vi.fn(),
|
|
50
|
+
addSuggestionsConfig: vi.fn(),
|
|
51
|
+
reloadSuggestions: vi.fn(),
|
|
50
52
|
},
|
|
51
53
|
})),
|
|
52
|
-
useCopilotChatConfiguration:
|
|
53
|
-
useRenderCustomMessages:
|
|
54
|
-
useSuggestions:
|
|
54
|
+
useCopilotChatConfiguration: vi.fn(() => ({ agentId: "test-agent" })),
|
|
55
|
+
useRenderCustomMessages: vi.fn(() => undefined),
|
|
56
|
+
useSuggestions: vi.fn(() => ({ suggestions: [], isLoading: false })),
|
|
55
57
|
}));
|
|
56
58
|
|
|
57
|
-
|
|
59
|
+
vi.mock("../../components/toast/toast-provider", () => ({
|
|
58
60
|
useToast: () => ({
|
|
59
|
-
setBannerError:
|
|
60
|
-
addToast:
|
|
61
|
+
setBannerError: vi.fn(),
|
|
62
|
+
addToast: vi.fn(),
|
|
61
63
|
}),
|
|
62
64
|
}));
|
|
63
65
|
|
|
64
|
-
|
|
66
|
+
vi.mock("../../components/error-boundary/error-utils", () => ({
|
|
65
67
|
useAsyncCallback: <T extends (...args: unknown[]) => unknown>(fn: T) => fn,
|
|
66
68
|
}));
|
|
67
69
|
|
|
68
|
-
|
|
69
|
-
useLangGraphInterruptRender:
|
|
70
|
+
vi.mock("../use-langgraph-interrupt-render", () => ({
|
|
71
|
+
useLangGraphInterruptRender: vi.fn(() => null),
|
|
70
72
|
}));
|
|
71
73
|
|
|
72
|
-
|
|
73
|
-
useLazyToolRenderer:
|
|
74
|
+
vi.mock("../use-lazy-tool-renderer", () => ({
|
|
75
|
+
useLazyToolRenderer: vi.fn(() => () => null),
|
|
74
76
|
}));
|
|
75
77
|
|
|
76
78
|
function TestHarness({ snapshot }: { snapshot: string }) {
|
|
@@ -247,7 +249,7 @@ describe("useCoAgentStateRender", () => {
|
|
|
247
249
|
mockAgent.subscribe.mockImplementation(
|
|
248
250
|
(subscriber: TestAgentSubscriber) => {
|
|
249
251
|
lastSubscriber = subscriber;
|
|
250
|
-
return { unsubscribe:
|
|
252
|
+
return { unsubscribe: vi.fn() };
|
|
251
253
|
},
|
|
252
254
|
);
|
|
253
255
|
});
|
|
@@ -474,10 +476,7 @@ describe("useCoAgentStateRender", () => {
|
|
|
474
476
|
});
|
|
475
477
|
|
|
476
478
|
it("falls back to legacy renderer when renderCustomMessages throws", async () => {
|
|
477
|
-
|
|
478
|
-
"@copilotkitnext/react",
|
|
479
|
-
);
|
|
480
|
-
useRenderCustomMessages.mockImplementationOnce(() => () => {
|
|
479
|
+
vi.mocked(useRenderCustomMessages).mockImplementationOnce(() => () => {
|
|
481
480
|
throw new Error("boom");
|
|
482
481
|
});
|
|
483
482
|
|
|
@@ -507,11 +506,10 @@ describe("useCoAgentStateRender", () => {
|
|
|
507
506
|
});
|
|
508
507
|
|
|
509
508
|
it("prefers legacy renderer over renderCustomMessages when both exist", async () => {
|
|
510
|
-
const
|
|
511
|
-
|
|
509
|
+
const renderCustomSpy = vi.fn(() => null);
|
|
510
|
+
vi.mocked(useRenderCustomMessages).mockImplementationOnce(
|
|
511
|
+
() => renderCustomSpy,
|
|
512
512
|
);
|
|
513
|
-
const renderCustomSpy = jest.fn(() => null);
|
|
514
|
-
useRenderCustomMessages.mockImplementationOnce(() => renderCustomSpy);
|
|
515
513
|
|
|
516
514
|
const copilotContextValue = createTestCopilotContext({
|
|
517
515
|
threadId: "thread-1",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { vi, type Mock } from "vitest";
|
|
1
2
|
import React, { type ReactNode } from "react";
|
|
2
3
|
import { render, renderHook, waitFor } from "@testing-library/react";
|
|
3
4
|
import { useCoAgentStateRender } from "../use-coagent-state-render";
|
|
@@ -10,10 +11,10 @@ import {
|
|
|
10
11
|
import { CopilotKitAgentDiscoveryError, randomId } from "@copilotkit/shared";
|
|
11
12
|
import { createTestCopilotContext } from "../../test-helpers/copilot-context";
|
|
12
13
|
|
|
13
|
-
const addToast =
|
|
14
|
-
const setBannerError =
|
|
14
|
+
const addToast = vi.fn();
|
|
15
|
+
const setBannerError = vi.fn();
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
vi.mock("../../components/toast/toast-provider", () => ({
|
|
17
18
|
useToast: () => ({
|
|
18
19
|
addToast,
|
|
19
20
|
setBannerError,
|
|
@@ -61,9 +62,9 @@ describe("useCoAgentStateRender (hook behaviors)", () => {
|
|
|
61
62
|
let idCounter = 0;
|
|
62
63
|
|
|
63
64
|
beforeEach(() => {
|
|
64
|
-
|
|
65
|
+
vi.clearAllMocks();
|
|
65
66
|
idCounter = 0;
|
|
66
|
-
(randomId as
|
|
67
|
+
(randomId as Mock).mockImplementation(
|
|
67
68
|
() => `test-random-id-${++idCounter}`,
|
|
68
69
|
);
|
|
69
70
|
});
|
|
@@ -78,7 +79,7 @@ describe("useCoAgentStateRender (hook behaviors)", () => {
|
|
|
78
79
|
}),
|
|
79
80
|
);
|
|
80
81
|
|
|
81
|
-
const renderFn =
|
|
82
|
+
const renderFn = vi.fn(() => null);
|
|
82
83
|
|
|
83
84
|
const { result } = renderHook(
|
|
84
85
|
() =>
|
|
@@ -109,10 +110,10 @@ describe("useCoAgentStateRender (hook behaviors)", () => {
|
|
|
109
110
|
}),
|
|
110
111
|
);
|
|
111
112
|
|
|
112
|
-
const handlerOne =
|
|
113
|
-
const handlerTwo =
|
|
114
|
-
const renderOne =
|
|
115
|
-
const renderTwo =
|
|
113
|
+
const handlerOne = vi.fn();
|
|
114
|
+
const handlerTwo = vi.fn();
|
|
115
|
+
const renderOne = vi.fn(() => null);
|
|
116
|
+
const renderTwo = vi.fn(() => null);
|
|
116
117
|
|
|
117
118
|
const { result, rerender } = renderHook(
|
|
118
119
|
({ handler, renderFn }) =>
|
|
@@ -151,8 +152,8 @@ describe("useCoAgentStateRender (hook behaviors)", () => {
|
|
|
151
152
|
it("re-registers when dependencies change", async () => {
|
|
152
153
|
const wrapper = createWrapper(createTestCopilotContext());
|
|
153
154
|
|
|
154
|
-
const handlerOne =
|
|
155
|
-
const handlerTwo =
|
|
155
|
+
const handlerOne = vi.fn();
|
|
156
|
+
const handlerTwo = vi.fn();
|
|
156
157
|
|
|
157
158
|
const { result, rerender } = renderHook(
|
|
158
159
|
({ deps, handler }) =>
|
|
@@ -233,14 +234,14 @@ describe("useCoAgentStateRender (hook behaviors)", () => {
|
|
|
233
234
|
action={{
|
|
234
235
|
name: "agent-dup",
|
|
235
236
|
nodeName: "node-x",
|
|
236
|
-
handler:
|
|
237
|
+
handler: vi.fn(),
|
|
237
238
|
}}
|
|
238
239
|
/>
|
|
239
240
|
<HookUser
|
|
240
241
|
action={{
|
|
241
242
|
name: "agent-dup",
|
|
242
243
|
nodeName: "node-x",
|
|
243
|
-
handler:
|
|
244
|
+
handler: vi.fn(),
|
|
244
245
|
}}
|
|
245
246
|
/>
|
|
246
247
|
</>
|
|
@@ -278,14 +279,14 @@ describe("useCoAgentStateRender (hook behaviors)", () => {
|
|
|
278
279
|
action={{
|
|
279
280
|
name: "agent-ok",
|
|
280
281
|
nodeName: "node-a",
|
|
281
|
-
handler:
|
|
282
|
+
handler: vi.fn(),
|
|
282
283
|
}}
|
|
283
284
|
/>
|
|
284
285
|
<HookUser
|
|
285
286
|
action={{
|
|
286
287
|
name: "agent-ok",
|
|
287
288
|
nodeName: "node-b",
|
|
288
|
-
handler:
|
|
289
|
+
handler: vi.fn(),
|
|
289
290
|
}}
|
|
290
291
|
/>
|
|
291
292
|
</>
|
|
@@ -317,7 +318,7 @@ describe("useCoAgentStateRender (hook behaviors)", () => {
|
|
|
317
318
|
() =>
|
|
318
319
|
useHarness({
|
|
319
320
|
name: "missing-agent",
|
|
320
|
-
handler:
|
|
321
|
+
handler: vi.fn(),
|
|
321
322
|
}),
|
|
322
323
|
{ wrapper },
|
|
323
324
|
);
|
|
@@ -343,7 +344,7 @@ describe("useCoAgentStateRender (hook behaviors)", () => {
|
|
|
343
344
|
() =>
|
|
344
345
|
useHarness({
|
|
345
346
|
name: "agent-present",
|
|
346
|
-
handler:
|
|
347
|
+
handler: vi.fn(),
|
|
347
348
|
}),
|
|
348
349
|
{ wrapper },
|
|
349
350
|
);
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { vi } from "vitest";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { render, waitFor } from "@testing-library/react";
|
|
4
|
+
import { useFrontendTool } from "../use-frontend-tool";
|
|
5
|
+
|
|
6
|
+
// Track what gets passed to the v2 hook
|
|
7
|
+
let lastV2ToolCall: any = null;
|
|
8
|
+
|
|
9
|
+
vi.mock("@copilotkitnext/react", () => ({
|
|
10
|
+
useFrontendTool: vi.fn((tool: any) => {
|
|
11
|
+
lastV2ToolCall = tool;
|
|
12
|
+
}),
|
|
13
|
+
}));
|
|
14
|
+
|
|
15
|
+
describe("useFrontendTool available passthrough (v1 → v2)", () => {
|
|
16
|
+
beforeEach(() => {
|
|
17
|
+
lastV2ToolCall = null;
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it("converts available: 'disabled' to false for v2", () => {
|
|
21
|
+
const Component: React.FC = () => {
|
|
22
|
+
useFrontendTool({
|
|
23
|
+
name: "testTool",
|
|
24
|
+
description: "Test tool",
|
|
25
|
+
available: "disabled",
|
|
26
|
+
parameters: [],
|
|
27
|
+
handler: async () => "done",
|
|
28
|
+
});
|
|
29
|
+
return null;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
render(<Component />);
|
|
33
|
+
|
|
34
|
+
expect(lastV2ToolCall).toBeDefined();
|
|
35
|
+
expect(lastV2ToolCall.available).toBe(false);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it("converts available: 'enabled' to true for v2", () => {
|
|
39
|
+
const Component: React.FC = () => {
|
|
40
|
+
useFrontendTool({
|
|
41
|
+
name: "testTool",
|
|
42
|
+
description: "Test tool",
|
|
43
|
+
available: "enabled",
|
|
44
|
+
parameters: [],
|
|
45
|
+
handler: async () => "done",
|
|
46
|
+
});
|
|
47
|
+
return null;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
render(<Component />);
|
|
51
|
+
|
|
52
|
+
expect(lastV2ToolCall).toBeDefined();
|
|
53
|
+
expect(lastV2ToolCall.available).toBe(true);
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
it("does not include available when not specified", () => {
|
|
57
|
+
const Component: React.FC = () => {
|
|
58
|
+
useFrontendTool({
|
|
59
|
+
name: "testTool",
|
|
60
|
+
description: "Test tool",
|
|
61
|
+
parameters: [],
|
|
62
|
+
handler: async () => "done",
|
|
63
|
+
});
|
|
64
|
+
return null;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
render(<Component />);
|
|
68
|
+
|
|
69
|
+
expect(lastV2ToolCall).toBeDefined();
|
|
70
|
+
expect(lastV2ToolCall.available).toBeUndefined();
|
|
71
|
+
});
|
|
72
|
+
});
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
+
import { vi } from "vitest";
|
|
1
2
|
import React, { useEffect } from "react";
|
|
2
3
|
import { render, waitFor } from "@testing-library/react";
|
|
3
4
|
import { ToolCallStatus } from "@copilotkitnext/core";
|
|
4
5
|
import { useFrontendTool } from "../use-frontend-tool";
|
|
6
|
+
import * as copilotkitNextReact from "@copilotkitnext/react";
|
|
5
7
|
|
|
6
|
-
|
|
8
|
+
vi.mock("@copilotkitnext/react", () => {
|
|
7
9
|
let currentRender: any = null;
|
|
8
10
|
const listeners = new Set<() => void>();
|
|
9
11
|
|
|
10
12
|
return {
|
|
11
|
-
useFrontendTool:
|
|
13
|
+
useFrontendTool: vi.fn((tool: { render?: any }) => {
|
|
12
14
|
React.useEffect(() => {
|
|
13
15
|
currentRender = tool.render ?? null;
|
|
14
16
|
listeners.forEach((listener) => listener());
|
|
@@ -22,7 +24,7 @@ jest.mock("@copilotkitnext/react", () => {
|
|
|
22
24
|
};
|
|
23
25
|
});
|
|
24
26
|
|
|
25
|
-
const toolRenderModule =
|
|
27
|
+
const toolRenderModule = copilotkitNextReact as unknown as {
|
|
26
28
|
__getCurrentRender: () => any;
|
|
27
29
|
__subscribeRender: (listener: () => void) => () => void;
|
|
28
30
|
};
|
|
@@ -53,8 +55,8 @@ function RunActionButton({
|
|
|
53
55
|
onMount,
|
|
54
56
|
onUnmount,
|
|
55
57
|
}: {
|
|
56
|
-
onMount:
|
|
57
|
-
onUnmount:
|
|
58
|
+
onMount: () => void;
|
|
59
|
+
onUnmount: () => void;
|
|
58
60
|
}) {
|
|
59
61
|
useEffect(() => {
|
|
60
62
|
onMount();
|
|
@@ -66,8 +68,8 @@ function RunActionButton({
|
|
|
66
68
|
|
|
67
69
|
describe("useFrontendTool dependency changes", () => {
|
|
68
70
|
it("should not remount rendered tool UI when deps change", async () => {
|
|
69
|
-
const mounted =
|
|
70
|
-
const unmounted =
|
|
71
|
+
const mounted = vi.fn();
|
|
72
|
+
const unmounted = vi.fn();
|
|
71
73
|
|
|
72
74
|
const ToolUser = ({ version }: { version: number }) => {
|
|
73
75
|
useFrontendTool(
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* **Open Source Friendly** - Works without requiring a free public license key.
|
|
6
6
|
*
|
|
7
7
|
* <Callout title="Looking for fully headless UI?">
|
|
8
|
-
* Get started with [useCopilotChatHeadless_c](https://docs.copilotkit.ai/reference/hooks/useCopilotChatHeadless_c).
|
|
8
|
+
* Get started with [useCopilotChatHeadless_c](https://docs.copilotkit.ai/reference/v1/hooks/useCopilotChatHeadless_c).
|
|
9
9
|
* </Callout>
|
|
10
10
|
*
|
|
11
11
|
* ## Use Cases
|