@copilotkit/vue 2.0.0-rc.2 → 2.0.0-rc.21

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.
Files changed (335) hide show
  1. package/PARITY.md +3 -3
  2. package/dist/hooks/use-copilot-action.d.ts.map +1 -1
  3. package/dist/hooks/use-frontend-tool.d.ts +1 -1
  4. package/dist/hooks/use-frontend-tool.d.ts.map +1 -1
  5. package/dist/hooks/zod-parameters.d.ts +14 -0
  6. package/dist/hooks/zod-parameters.d.ts.map +1 -0
  7. package/dist/index.cjs +1 -73
  8. package/dist/index.cjs.map +1 -1
  9. package/dist/index.mjs +365 -16920
  10. package/dist/index.mjs.map +1 -1
  11. package/dist/use-render-activity-message-BAhbpSDh.js +16200 -0
  12. package/dist/use-render-activity-message-BAhbpSDh.js.map +1 -0
  13. package/dist/use-render-activity-message-DJ6q1qHV.cjs +114 -0
  14. package/dist/use-render-activity-message-DJ6q1qHV.cjs.map +1 -0
  15. package/dist/v2/components/A2UIMessageRenderer.d.ts +14 -0
  16. package/dist/v2/components/A2UIMessageRenderer.d.ts.map +1 -1
  17. package/dist/v2/components/A2UISurfaceActivityRenderer.vue.d.ts +10 -3
  18. package/dist/v2/components/A2UISurfaceActivityRenderer.vue.d.ts.map +1 -1
  19. package/dist/v2/components/CopilotKitInspector.vue.d.ts +5 -1
  20. package/dist/v2/components/CopilotKitInspector.vue.d.ts.map +1 -1
  21. package/dist/v2/components/InlineFeatureWarning.vue.d.ts.map +1 -1
  22. package/dist/v2/components/LicenseWarningBanner.vue.d.ts +2 -2
  23. package/dist/v2/components/LicenseWarningBanner.vue.d.ts.map +1 -1
  24. package/dist/v2/components/MCPAppsActivityRenderer.d.ts.map +1 -1
  25. package/dist/v2/components/OpenGenerativeUIRenderer.d.ts +13 -59
  26. package/dist/v2/components/OpenGenerativeUIRenderer.d.ts.map +1 -1
  27. package/dist/v2/components/a2ui/A2UIBuiltInToolCallRenderer.d.ts +0 -5
  28. package/dist/v2/components/a2ui/A2UIBuiltInToolCallRenderer.d.ts.map +1 -1
  29. package/dist/v2/components/a2ui/A2UICatalogContext.d.ts +10 -15
  30. package/dist/v2/components/a2ui/A2UICatalogContext.d.ts.map +1 -1
  31. package/dist/v2/components/a2ui/A2UIRecoveryStates.d.ts +14 -130
  32. package/dist/v2/components/a2ui/A2UIRecoveryStates.d.ts.map +1 -1
  33. package/dist/v2/components/a2ui/catalog.d.ts.map +1 -1
  34. package/dist/v2/components/a2ui/utils.d.ts +3 -15
  35. package/dist/v2/components/a2ui/utils.d.ts.map +1 -1
  36. package/dist/v2/components/a2ui.d.ts +9 -8
  37. package/dist/v2/components/a2ui.d.ts.map +1 -1
  38. package/dist/v2/components/chat/CopilotChat.vue.d.ts +2 -2
  39. package/dist/v2/components/chat/CopilotChat.vue.d.ts.map +1 -1
  40. package/dist/v2/components/chat/CopilotChatAssistantMessage.vue.d.ts.map +1 -1
  41. package/dist/v2/components/chat/CopilotChatAttachmentQueue.vue.d.ts.map +1 -1
  42. package/dist/v2/components/chat/CopilotChatAttachmentRenderer.vue.d.ts.map +1 -1
  43. package/dist/v2/components/chat/CopilotChatAudioRecorder.vue.d.ts +4 -8
  44. package/dist/v2/components/chat/CopilotChatAudioRecorder.vue.d.ts.map +1 -1
  45. package/dist/v2/components/chat/CopilotChatFeedbackCommentPopover.vue.d.ts +1 -1
  46. package/dist/v2/components/chat/CopilotChatFeedbackCommentPopover.vue.d.ts.map +1 -1
  47. package/dist/v2/components/chat/CopilotChatInput.vue.d.ts +6 -270
  48. package/dist/v2/components/chat/CopilotChatInput.vue.d.ts.map +1 -1
  49. package/dist/v2/components/chat/CopilotChatInspectorButton.vue.d.ts.map +1 -1
  50. package/dist/v2/components/chat/CopilotChatLightbox.vue.d.ts.map +1 -1
  51. package/dist/v2/components/chat/CopilotChatMessageView.vue.d.ts +1 -1
  52. package/dist/v2/components/chat/CopilotChatMessageView.vue.d.ts.map +1 -1
  53. package/dist/v2/components/chat/CopilotChatReasoningMessage.vue.d.ts.map +1 -1
  54. package/dist/v2/components/chat/CopilotChatToolCallGroup.vue.d.ts +1 -1
  55. package/dist/v2/components/chat/CopilotChatToolCallGroup.vue.d.ts.map +1 -1
  56. package/dist/v2/components/chat/CopilotChatToolCallItem.vue.d.ts.map +1 -1
  57. package/dist/v2/components/chat/CopilotChatToolCallsView.vue.d.ts +1 -1
  58. package/dist/v2/components/chat/CopilotChatToolCallsView.vue.d.ts.map +1 -1
  59. package/dist/v2/components/chat/CopilotChatUserMessage.vue.d.ts.map +1 -1
  60. package/dist/v2/components/chat/CopilotChatView.vue.d.ts +3 -3
  61. package/dist/v2/components/chat/CopilotChatView.vue.d.ts.map +1 -1
  62. package/dist/v2/components/chat/CopilotChatWorkSummary.vue.d.ts.map +1 -1
  63. package/dist/v2/components/chat/CopilotModalHeader.vue.d.ts.map +1 -1
  64. package/dist/v2/components/chat/CopilotPopup.vue.d.ts +8 -3
  65. package/dist/v2/components/chat/CopilotPopup.vue.d.ts.map +1 -1
  66. package/dist/v2/components/chat/CopilotPopupView.vue.d.ts +5 -3
  67. package/dist/v2/components/chat/CopilotPopupView.vue.d.ts.map +1 -1
  68. package/dist/v2/components/chat/CopilotPopupViewInternal.vue.d.ts +5 -3
  69. package/dist/v2/components/chat/CopilotPopupViewInternal.vue.d.ts.map +1 -1
  70. package/dist/v2/components/chat/CopilotSidebar.vue.d.ts +8 -3
  71. package/dist/v2/components/chat/CopilotSidebar.vue.d.ts.map +1 -1
  72. package/dist/v2/components/chat/CopilotSidebarView.vue.d.ts +6 -4
  73. package/dist/v2/components/chat/CopilotSidebarView.vue.d.ts.map +1 -1
  74. package/dist/v2/components/chat/CopilotSidebarViewInternal.vue.d.ts +6 -4
  75. package/dist/v2/components/chat/CopilotSidebarViewInternal.vue.d.ts.map +1 -1
  76. package/dist/v2/components/chat/CopilotThreadsDrawer.vue.d.ts.map +1 -1
  77. package/dist/v2/components/chat/StreamingMarkdownDefault.vue.d.ts +1 -0
  78. package/dist/v2/components/chat/StreamingMarkdownDefault.vue.d.ts.map +1 -1
  79. package/dist/v2/components/chat/audioRecorder.d.ts +3 -4
  80. package/dist/v2/components/chat/audioRecorder.d.ts.map +1 -1
  81. package/dist/v2/components/chat/copilotChatToolCallItemRender.d.ts +3 -3
  82. package/dist/v2/components/chat/copilotChatToolCallItemRender.d.ts.map +1 -1
  83. package/dist/v2/components/chat/forwarded-slots.d.ts +12 -0
  84. package/dist/v2/components/chat/forwarded-slots.d.ts.map +1 -0
  85. package/dist/v2/components/chat/index.d.ts +34 -31
  86. package/dist/v2/components/chat/index.d.ts.map +1 -1
  87. package/dist/v2/components/chat/inspector-shortcuts.d.ts +2 -1
  88. package/dist/v2/components/chat/inspector-shortcuts.d.ts.map +1 -1
  89. package/dist/v2/components/chat/message-feedback.d.ts +18 -49
  90. package/dist/v2/components/chat/message-feedback.d.ts.map +1 -1
  91. package/dist/v2/components/chat/tool-call-display-context.d.ts +4 -19
  92. package/dist/v2/components/chat/tool-call-display-context.d.ts.map +1 -1
  93. package/dist/v2/components/chat/tool-call-group-parts.d.ts +7 -20
  94. package/dist/v2/components/chat/tool-call-group-parts.d.ts.map +1 -1
  95. package/dist/v2/components/chat/turn-work.d.ts +0 -2
  96. package/dist/v2/components/chat/turn-work.d.ts.map +1 -1
  97. package/dist/v2/components/chat/types.d.ts +9 -4
  98. package/dist/v2/components/chat/types.d.ts.map +1 -1
  99. package/dist/v2/components/chat/use-chat-labels.d.ts +8 -0
  100. package/dist/v2/components/chat/use-chat-labels.d.ts.map +1 -0
  101. package/dist/v2/components/chat/use-copy-feedback.d.ts +11 -0
  102. package/dist/v2/components/chat/use-copy-feedback.d.ts.map +1 -0
  103. package/dist/v2/components/chat/use-lightbox.d.ts.map +1 -1
  104. package/dist/v2/components/icons/index.d.ts +968 -1
  105. package/dist/v2/components/icons/index.d.ts.map +1 -1
  106. package/dist/v2/components/ui/CopilotDropdownMenuContent.vue.d.ts +1 -1
  107. package/dist/v2/components/ui/CopilotDropdownMenuContent.vue.d.ts.map +1 -1
  108. package/dist/v2/hooks/use-agent-context.d.ts +2 -3
  109. package/dist/v2/hooks/use-agent-context.d.ts.map +1 -1
  110. package/dist/v2/hooks/use-agent.d.ts +4 -1
  111. package/dist/v2/hooks/use-agent.d.ts.map +1 -1
  112. package/dist/v2/hooks/use-attachments.d.ts +7 -0
  113. package/dist/v2/hooks/use-attachments.d.ts.map +1 -1
  114. package/dist/v2/hooks/use-capabilities.d.ts.map +1 -1
  115. package/dist/v2/hooks/use-component.d.ts +1 -0
  116. package/dist/v2/hooks/use-component.d.ts.map +1 -1
  117. package/dist/v2/hooks/use-configure-suggestions.d.ts +4 -9
  118. package/dist/v2/hooks/use-configure-suggestions.d.ts.map +1 -1
  119. package/dist/v2/hooks/use-default-render-tool.d.ts.map +1 -1
  120. package/dist/v2/hooks/use-frontend-tool.d.ts +5 -0
  121. package/dist/v2/hooks/use-frontend-tool.d.ts.map +1 -1
  122. package/dist/v2/hooks/use-human-in-the-loop.d.ts +2 -1
  123. package/dist/v2/hooks/use-human-in-the-loop.d.ts.map +1 -1
  124. package/dist/v2/hooks/use-interrupt.d.ts +0 -1
  125. package/dist/v2/hooks/use-interrupt.d.ts.map +1 -1
  126. package/dist/v2/hooks/use-keyboard-height.d.ts +1 -1
  127. package/dist/v2/hooks/use-keyboard-height.d.ts.map +1 -1
  128. package/dist/v2/hooks/use-pin-to-send.d.ts +4 -12
  129. package/dist/v2/hooks/use-pin-to-send.d.ts.map +1 -1
  130. package/dist/v2/hooks/use-render-activity-message.d.ts +13 -9
  131. package/dist/v2/hooks/use-render-activity-message.d.ts.map +1 -1
  132. package/dist/v2/hooks/use-render-custom-messages.d.ts +5 -7
  133. package/dist/v2/hooks/use-render-custom-messages.d.ts.map +1 -1
  134. package/dist/v2/hooks/use-suggestions.d.ts.map +1 -1
  135. package/dist/v2/hooks/use-threads.d.ts +0 -8
  136. package/dist/v2/hooks/use-threads.d.ts.map +1 -1
  137. package/dist/v2/index.cjs +1 -1
  138. package/dist/v2/index.mjs +197 -200
  139. package/dist/v2/index.mjs.map +1 -1
  140. package/dist/v2/lib/processPartialHtml.d.ts +1 -2
  141. package/dist/v2/lib/processPartialHtml.d.ts.map +1 -1
  142. package/dist/v2/lib/shallow-stable.d.ts.map +1 -1
  143. package/dist/v2/lib/vue-core.d.ts +12 -12
  144. package/dist/v2/lib/vue-core.d.ts.map +1 -1
  145. package/dist/v2/providers/CopilotChatConfigurationProvider.vue.d.ts.map +1 -1
  146. package/dist/v2/providers/CopilotKitProvider.types.d.ts +9 -129
  147. package/dist/v2/providers/CopilotKitProvider.types.d.ts.map +1 -1
  148. package/dist/v2/providers/CopilotKitProvider.vue.d.ts +9 -10
  149. package/dist/v2/providers/CopilotKitProvider.vue.d.ts.map +1 -1
  150. package/dist/v2/providers/chat-configuration-store-key.d.ts +8 -0
  151. package/dist/v2/providers/chat-configuration-store-key.d.ts.map +1 -0
  152. package/dist/v2/providers/markdown-renderer.d.ts +4 -2
  153. package/dist/v2/providers/markdown-renderer.d.ts.map +1 -1
  154. package/dist/v2/providers/types.d.ts +3 -46
  155. package/dist/v2/providers/types.d.ts.map +1 -1
  156. package/dist/v2/providers/use-inspector-thread-override.d.ts +5 -0
  157. package/dist/v2/providers/use-inspector-thread-override.d.ts.map +1 -1
  158. package/dist/v2/types/human-in-the-loop.d.ts +8 -29
  159. package/dist/v2/types/human-in-the-loop.d.ts.map +1 -1
  160. package/dist/v2/types/interrupt.d.ts +1 -22
  161. package/dist/v2/types/interrupt.d.ts.map +1 -1
  162. package/dist/v2/types/vue-activity-message-renderer.d.ts +16 -15
  163. package/dist/v2/types/vue-activity-message-renderer.d.ts.map +1 -1
  164. package/dist/v2/types/vue-custom-message-renderer.d.ts +7 -16
  165. package/dist/v2/types/vue-custom-message-renderer.d.ts.map +1 -1
  166. package/dist/v2/types/vue-tool-call-renderer.d.ts +16 -35
  167. package/dist/v2/types/vue-tool-call-renderer.d.ts.map +1 -1
  168. package/package.json +10 -11
  169. package/src/__tests__/build-entries.test.ts +27 -0
  170. package/src/hooks/__tests__/zod-parameters.test.ts +520 -0
  171. package/src/hooks/use-copilot-action.ts +2 -1
  172. package/src/hooks/use-frontend-tool.ts +3 -6
  173. package/src/hooks/zod-parameters.ts +162 -0
  174. package/src/v2/__tests__/exports.test.ts +10 -0
  175. package/src/v2/__tests__/mocks/web-inspector.ts +6 -0
  176. package/src/v2/__tests__/utils/test-helpers.ts +34 -4
  177. package/src/v2/components/A2UIMessageRenderer.ts +98 -68
  178. package/src/v2/components/A2UISurfaceActivityRenderer.vue +68 -103
  179. package/src/v2/components/CopilotKitInspector.vue +104 -51
  180. package/src/v2/components/InlineFeatureWarning.vue +20 -21
  181. package/src/v2/components/LicenseWarningBanner.vue +27 -135
  182. package/src/v2/components/MCPAppsActivityRenderer.ts +75 -201
  183. package/src/v2/components/OpenGenerativeUIRenderer.ts +122 -446
  184. package/src/v2/components/__tests__/A2UIMessageRenderer.test.ts +171 -8
  185. package/src/v2/components/__tests__/CopilotKitInspector.test.ts +42 -0
  186. package/src/v2/components/__tests__/LicenseWarningBanner.test.ts +60 -0
  187. package/src/v2/components/__tests__/OpenGenerativeUIRenderer.test.ts +64 -8
  188. package/src/v2/components/__tests__/OpenGenerativeUIToolRenderer.test.ts +38 -0
  189. package/src/v2/components/a2ui/A2UIBuiltInToolCallRenderer.ts +2 -7
  190. package/src/v2/components/a2ui/A2UICatalogContext.ts +27 -185
  191. package/src/v2/components/a2ui/A2UIRecoveryStates.ts +127 -327
  192. package/src/v2/components/a2ui/catalog.ts +3 -3
  193. package/src/v2/components/a2ui/utils.ts +13 -65
  194. package/src/v2/components/a2ui.ts +15 -22
  195. package/src/v2/components/chat/CopilotChat.vue +147 -356
  196. package/src/v2/components/chat/CopilotChatAssistantMessage.vue +19 -43
  197. package/src/v2/components/chat/CopilotChatAttachmentQueue.vue +36 -55
  198. package/src/v2/components/chat/CopilotChatAttachmentRenderer.vue +14 -6
  199. package/src/v2/components/chat/CopilotChatAudioRecorder.vue +19 -246
  200. package/src/v2/components/chat/CopilotChatFeedbackCommentPopover.vue +2 -2
  201. package/src/v2/components/chat/CopilotChatInput.vue +108 -436
  202. package/src/v2/components/chat/CopilotChatInspectorButton.vue +45 -108
  203. package/src/v2/components/chat/CopilotChatLightbox.vue +10 -31
  204. package/src/v2/components/chat/CopilotChatMessageView.vue +82 -210
  205. package/src/v2/components/chat/CopilotChatReasoningMessage.vue +7 -15
  206. package/src/v2/components/chat/CopilotChatToolCallGroup.vue +63 -71
  207. package/src/v2/components/chat/CopilotChatToolCallItem.vue +8 -6
  208. package/src/v2/components/chat/CopilotChatToolCallsView.vue +31 -32
  209. package/src/v2/components/chat/CopilotChatUserMessage.vue +24 -112
  210. package/src/v2/components/chat/CopilotChatView.vue +33 -28
  211. package/src/v2/components/chat/CopilotChatWorkSummary.vue +26 -36
  212. package/src/v2/components/chat/CopilotModalHeader.vue +11 -23
  213. package/src/v2/components/chat/CopilotPopup.vue +23 -25
  214. package/src/v2/components/chat/CopilotPopupView.vue +10 -39
  215. package/src/v2/components/chat/CopilotPopupViewInternal.vue +35 -131
  216. package/src/v2/components/chat/CopilotSidebar.vue +23 -25
  217. package/src/v2/components/chat/CopilotSidebarView.vue +10 -39
  218. package/src/v2/components/chat/CopilotSidebarViewInternal.vue +38 -59
  219. package/src/v2/components/chat/CopilotThreadsDrawer.vue +37 -102
  220. package/src/v2/components/chat/StreamingMarkdownDefault.vue +15 -28
  221. package/src/v2/components/chat/__tests__/CopilotChat.labels.test.ts +19 -4
  222. package/src/v2/components/chat/__tests__/CopilotChat.test.ts +12 -10
  223. package/src/v2/components/chat/__tests__/CopilotChatActivityRendering.e2e.test.ts +26 -9
  224. package/src/v2/components/chat/__tests__/CopilotChatAssistantMessage.learningFeedback.test.ts +5 -5
  225. package/src/v2/components/chat/__tests__/CopilotChatAttachmentQueue.test.ts +28 -0
  226. package/src/v2/components/chat/__tests__/CopilotChatInput.test.ts +89 -1
  227. package/src/v2/components/chat/__tests__/CopilotChatMessageView.test.ts +247 -403
  228. package/src/v2/components/chat/__tests__/CopilotChatMessageView.toolCallDisplay.test.ts +1 -99
  229. package/src/v2/components/chat/__tests__/CopilotPopup.test.ts +90 -1
  230. package/src/v2/components/chat/__tests__/CopilotPopupView.test.ts +19 -0
  231. package/src/v2/components/chat/__tests__/CopilotSidebar.test.ts +90 -1
  232. package/src/v2/components/chat/__tests__/CopilotSidebarView.position.test.ts +32 -8
  233. package/src/v2/components/chat/__tests__/CopilotSidebarView.test.ts +2 -1
  234. package/src/v2/components/chat/__tests__/StreamingMarkdownDefault.test.ts +54 -0
  235. package/src/v2/components/chat/audioRecorder.ts +4 -7
  236. package/src/v2/components/chat/copilotChatToolCallItemRender.ts +24 -89
  237. package/src/v2/components/chat/forwarded-slots.ts +17 -0
  238. package/src/v2/components/chat/index.ts +0 -1
  239. package/src/v2/components/chat/inspector-shortcuts.ts +10 -16
  240. package/src/v2/components/chat/message-feedback.ts +62 -197
  241. package/src/v2/components/chat/tool-call-display-context.ts +6 -22
  242. package/src/v2/components/chat/tool-call-group-parts.ts +47 -108
  243. package/src/v2/components/chat/turn-work.ts +0 -9
  244. package/src/v2/components/chat/types.ts +12 -4
  245. package/src/v2/components/chat/use-chat-labels.ts +16 -0
  246. package/src/v2/components/chat/use-copy-feedback.ts +21 -0
  247. package/src/v2/components/chat/use-lightbox.ts +15 -33
  248. package/src/v2/components/icons/__tests__/icons.test.ts +72 -68
  249. package/src/v2/components/icons/index.ts +109 -27
  250. package/src/v2/hooks/__tests__/use-agent-error-state.test.ts +5 -3
  251. package/src/v2/hooks/__tests__/use-agent-stability.test.ts +25 -4
  252. package/src/v2/hooks/__tests__/use-agent-throttle.test.ts +5 -1
  253. package/src/v2/hooks/__tests__/use-agent.test.ts +6 -3
  254. package/src/v2/hooks/__tests__/use-component.test.ts +21 -0
  255. package/src/v2/hooks/__tests__/use-configure-suggestions.test.ts +30 -1
  256. package/src/v2/hooks/__tests__/use-default-render-tool.test.ts +10 -10
  257. package/src/v2/hooks/__tests__/use-frontend-tool.e2e.test.ts +66 -1
  258. package/src/v2/hooks/__tests__/use-human-in-the-loop.e2e.test.ts +6 -1
  259. package/src/v2/hooks/__tests__/use-human-in-the-loop.test.ts +187 -12
  260. package/src/v2/hooks/__tests__/use-interrupt.test.ts +97 -0
  261. package/src/v2/hooks/__tests__/use-render-activity-message.test.ts +106 -0
  262. package/src/v2/hooks/__tests__/use-render-tool.test.ts +3 -6
  263. package/src/v2/hooks/__tests__/use-threads.test.ts +48 -6
  264. package/src/v2/hooks/__tests__/zod-regression.test.ts +5 -4
  265. package/src/v2/hooks/use-agent-context.ts +4 -10
  266. package/src/v2/hooks/use-agent.ts +86 -290
  267. package/src/v2/hooks/use-attachments.ts +48 -168
  268. package/src/v2/hooks/use-capabilities.ts +2 -7
  269. package/src/v2/hooks/use-component.ts +7 -4
  270. package/src/v2/hooks/use-configure-suggestions.ts +28 -218
  271. package/src/v2/hooks/use-default-render-tool.ts +34 -94
  272. package/src/v2/hooks/use-frontend-tool.ts +10 -10
  273. package/src/v2/hooks/use-human-in-the-loop.ts +11 -80
  274. package/src/v2/hooks/use-interrupt.ts +29 -308
  275. package/src/v2/hooks/use-keyboard-height.ts +17 -40
  276. package/src/v2/hooks/use-pin-to-send.ts +15 -99
  277. package/src/v2/hooks/use-render-activity-message.ts +31 -55
  278. package/src/v2/hooks/use-render-custom-messages.ts +24 -88
  279. package/src/v2/hooks/use-suggestions.ts +9 -33
  280. package/src/v2/hooks/use-threads.ts +43 -273
  281. package/src/v2/lib/__tests__/shallow-stable.test.ts +54 -0
  282. package/src/v2/lib/__tests__/vue-core-renderers.test.ts +42 -0
  283. package/src/v2/lib/processPartialHtml.ts +6 -21
  284. package/src/v2/lib/shallow-stable.ts +2 -16
  285. package/src/v2/lib/vue-core.ts +69 -78
  286. package/src/v2/providers/CopilotChatConfigurationProvider.vue +48 -186
  287. package/src/v2/providers/CopilotKitProvider.types.ts +12 -132
  288. package/src/v2/providers/CopilotKitProvider.vue +237 -510
  289. package/src/v2/providers/__tests__/CopilotChatConfigurationProvider.test.ts +22 -2
  290. package/src/v2/providers/__tests__/CopilotKitProvider.a2ui.test.ts +20 -2
  291. package/src/v2/providers/__tests__/CopilotKitProvider.config.test.ts +124 -0
  292. package/src/v2/providers/__tests__/CopilotKitProvider.headersAtSendTime.test.ts +3 -3
  293. package/src/v2/providers/__tests__/CopilotKitProvider.learning.test.ts +3 -1
  294. package/src/v2/providers/__tests__/CopilotKitProvider.sandboxFunctions.test.ts +4 -1
  295. package/src/v2/providers/__tests__/CopilotKitProvider.test.ts +53 -26
  296. package/src/v2/providers/chat-configuration-store-key.ts +9 -0
  297. package/src/v2/providers/markdown-renderer.ts +8 -2
  298. package/src/v2/providers/types.ts +3 -49
  299. package/src/v2/providers/use-inspector-thread-override.ts +22 -80
  300. package/src/v2/types/__tests__/defineToolCallRenderer.test.ts +28 -33
  301. package/src/v2/types/defineToolCallRenderer.ts +5 -4
  302. package/src/v2/types/human-in-the-loop.ts +8 -32
  303. package/src/v2/types/interrupt.ts +7 -31
  304. package/src/v2/types/vue-activity-message-renderer.ts +24 -15
  305. package/src/v2/types/vue-custom-message-renderer.ts +12 -16
  306. package/src/v2/types/vue-tool-call-renderer.ts +23 -38
  307. package/tsconfig.json +0 -1
  308. package/vite.config.ts +8 -5
  309. package/vitest.config.ts +12 -7
  310. package/dist/v2/components/chat/BasicMarkdown.vue.d.ts +0 -9
  311. package/dist/v2/components/chat/BasicMarkdown.vue.d.ts.map +0 -1
  312. package/dist/v2/components/chat/normalize-auto-scroll.d.ts +0 -3
  313. package/dist/v2/components/chat/normalize-auto-scroll.d.ts.map +0 -1
  314. package/dist/v2/components/chat/tool-call-layout.d.ts +0 -115
  315. package/dist/v2/components/chat/tool-call-layout.d.ts.map +0 -1
  316. package/dist/v2/lib/is-mobile-viewport.d.ts +0 -15
  317. package/dist/v2/lib/is-mobile-viewport.d.ts.map +0 -1
  318. package/dist/v2/lib/message-feedback.d.ts +0 -33
  319. package/dist/v2/lib/message-feedback.d.ts.map +0 -1
  320. package/dist/v2/lib/transcription-client.d.ts +0 -19
  321. package/dist/v2/lib/transcription-client.d.ts.map +0 -1
  322. package/src/v2/components/__tests__/A2UICatalogContext.test.ts +0 -63
  323. package/src/v2/components/a2ui/__tests__/A2UIRecoveryStates.test.ts +0 -175
  324. package/src/v2/components/chat/BasicMarkdown.vue +0 -160
  325. package/src/v2/components/chat/__tests__/BasicMarkdown.test.ts +0 -69
  326. package/src/v2/components/chat/__tests__/normalize-auto-scroll.test.ts +0 -39
  327. package/src/v2/components/chat/normalize-auto-scroll.ts +0 -17
  328. package/src/v2/components/chat/tool-call-layout.ts +0 -304
  329. package/src/v2/lib/__tests__/is-mobile-viewport.test.ts +0 -48
  330. package/src/v2/lib/__tests__/message-feedback.test.ts +0 -152
  331. package/src/v2/lib/__tests__/processPartialHtml.test.ts +0 -84
  332. package/src/v2/lib/__tests__/transcription-client.test.ts +0 -67
  333. package/src/v2/lib/is-mobile-viewport.ts +0 -23
  334. package/src/v2/lib/message-feedback.ts +0 -120
  335. package/src/v2/lib/transcription-client.ts +0 -151
@@ -2,11 +2,30 @@ import { describe, it, expect } from "vitest";
2
2
  import { defineComponent, h } from "vue";
3
3
  import { z } from "zod";
4
4
  import { ToolCallStatus } from "@copilotkit/core";
5
+ import type { VNode } from "vue";
5
6
  import { defineToolCallRenderer } from "../defineToolCallRenderer";
6
- import type { VueToolCallRenderer } from "../vue-tool-call-renderer";
7
+ import type {
8
+ VueToolCallRenderer,
9
+ VueToolCallRendererRenderProps,
10
+ } from "../vue-tool-call-renderer";
11
+
12
+ /**
13
+ * Calls a renderer built from a render function. `render` is typed as a
14
+ * function or a component, and TypeScript cannot tell which one this test
15
+ * passed, so the narrowing cast lives here once.
16
+ */
17
+ function callRender<T>(
18
+ renderer: VueToolCallRenderer<T>,
19
+ props: VueToolCallRendererRenderProps<T>,
20
+ ) {
21
+ const render = renderer.render as (
22
+ props: VueToolCallRendererRenderProps<T>,
23
+ ) => VNode;
24
+ return render(props);
25
+ }
7
26
 
8
27
  describe("defineToolCallRenderer", () => {
9
- it("defaults wildcard args to z.any and preserves runtime tool name", () => {
28
+ it("defaults wildcard args to a schema that accepts any value and preserves runtime tool name", () => {
10
29
  const wildcardRenderer = defineToolCallRenderer({
11
30
  name: "*",
12
31
  render: ({ name, args, status }) =>
@@ -18,19 +37,11 @@ describe("defineToolCallRenderer", () => {
18
37
  });
19
38
 
20
39
  expect(wildcardRenderer.name).toBe("*");
21
- expect(wildcardRenderer.args.safeParse({ anything: true }).success).toBe(
22
- true,
23
- );
24
-
25
- const rendered = (
26
- wildcardRenderer.render as (props: {
27
- name: string;
28
- toolCallId: string;
29
- args: Record<string, unknown>;
30
- status: ToolCallStatus;
31
- result: string | undefined;
32
- }) => ReturnType<typeof h>
33
- )({
40
+ expect(
41
+ wildcardRenderer.args["~standard"].validate({ anything: true }),
42
+ ).toEqual({ value: { anything: true } });
43
+
44
+ const rendered = callRender(wildcardRenderer, {
34
45
  name: "customTool",
35
46
  toolCallId: "tc-wildcard-1",
36
47
  args: { x: 1 },
@@ -53,15 +64,7 @@ describe("defineToolCallRenderer", () => {
53
64
  ),
54
65
  });
55
66
 
56
- const rendered = (
57
- wildcardRenderer.render as (props: {
58
- name: string;
59
- toolCallId: string;
60
- args: Record<string, unknown>;
61
- status: ToolCallStatus;
62
- result: string | undefined;
63
- }) => ReturnType<typeof h>
64
- )({
67
+ const rendered = callRender(wildcardRenderer, {
65
68
  name: "customTool",
66
69
  toolCallId: "tc-123",
67
70
  args: {},
@@ -136,15 +139,7 @@ describe("defineToolCallRenderer", () => {
136
139
  },
137
140
  });
138
141
 
139
- const rendered = (
140
- typedRenderer.render as (props: {
141
- name: string;
142
- toolCallId: string;
143
- args: { location: string; units?: "celsius" | "fahrenheit" };
144
- status: ToolCallStatus;
145
- result: string | undefined;
146
- }) => ReturnType<typeof h>
147
- )({
142
+ const rendered = callRender(typedRenderer, {
148
143
  name: "get_weather",
149
144
  toolCallId: "tc-weather-1",
150
145
  args: { location: "Paris", units: "celsius" },
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { ɵanySchema } from "@copilotkit/shared";
2
2
  import type { StandardSchemaV1, InferSchemaOutput } from "@copilotkit/shared";
3
3
  import type { VueToolCallRenderer } from "./vue-tool-call-renderer";
4
4
  import type { VueToolCallRendererRenderFn } from "./vue-tool-call-renderer";
@@ -25,11 +25,12 @@ export function defineToolCallRenderer<S extends StandardSchemaV1>(def: {
25
25
  agentId?: string;
26
26
  group?: boolean;
27
27
  }): VueToolCallRenderer<unknown> {
28
- const argsSchema = def.name === "*" && !def.args ? z.any() : def.args;
28
+ // Only a "*" renderer may leave out `args`; it accepts any arguments.
29
+ const args = def.args ?? ɵanySchema;
29
30
  return {
30
31
  name: def.name,
31
- args: argsSchema as StandardSchemaV1<any, unknown>,
32
- render: def.render as VueToolCallRenderer<unknown>["render"],
32
+ args,
33
+ render: def.render,
33
34
  ...(def.agentId ? { agentId: def.agentId } : {}),
34
35
  ...(def.group ? { group: true } : {}),
35
36
  };
@@ -1,37 +1,13 @@
1
- import type { FrontendTool, ToolCallStatus } from "@copilotkit/core";
1
+ import type { FrontendTool, HumanInTheLoopRenderProps } from "@copilotkit/core";
2
2
  import type { Component, VNodeChild } from "vue";
3
3
 
4
- export type VueHumanInTheLoopRenderProps<T> =
5
- | {
6
- name: string;
7
- description: string;
8
- toolCallId: string;
9
- agentId?: string;
10
- args: Partial<T>;
11
- status: ToolCallStatus.InProgress;
12
- result: undefined;
13
- respond: undefined;
14
- }
15
- | {
16
- name: string;
17
- description: string;
18
- toolCallId: string;
19
- agentId?: string;
20
- args: T;
21
- status: ToolCallStatus.Executing;
22
- result: undefined;
23
- respond: (result: unknown) => Promise<void>;
24
- }
25
- | {
26
- name: string;
27
- description: string;
28
- toolCallId: string;
29
- agentId?: string;
30
- args: T;
31
- status: ToolCallStatus.Complete;
32
- result: string;
33
- respond: undefined;
34
- };
4
+ /**
5
+ * Props a Vue human-in-the-loop renderer receives. Same as core's
6
+ * `HumanInTheLoopRenderProps`.
7
+ *
8
+ * @typeParam T - The shape of the tool arguments.
9
+ */
10
+ export type VueHumanInTheLoopRenderProps<T> = HumanInTheLoopRenderProps<T>;
35
11
 
36
12
  export type VueHumanInTheLoopRenderFn<T> =
37
13
  | ((props: VueHumanInTheLoopRenderProps<T>) => VNodeChild)
@@ -1,31 +1,7 @@
1
- import type { Interrupt, RunAgentResult } from "@ag-ui/client";
2
-
3
- export interface InterruptEvent<TValue = unknown> {
4
- name: string;
5
- value: TValue;
6
- }
7
-
8
- export type InterruptResolveFn = (
9
- payload?: unknown,
10
- interruptId?: string,
11
- ) => Promise<RunAgentResult | void>;
12
- export type InterruptCancelFn = (
13
- interruptId?: string,
14
- ) => Promise<RunAgentResult | void>;
15
-
16
- export interface InterruptHandlerProps<TValue = unknown> {
17
- event: InterruptEvent<TValue>;
18
- interrupt: Interrupt | null;
19
- interrupts: Interrupt[];
20
- resolve: InterruptResolveFn;
21
- cancel: InterruptCancelFn;
22
- }
23
-
24
- export interface InterruptRenderProps<TValue = unknown, TResult = unknown> {
25
- event: InterruptEvent<TValue>;
26
- interrupt: Interrupt | null;
27
- interrupts: Interrupt[];
28
- result: TResult;
29
- resolve: InterruptResolveFn;
30
- cancel: InterruptCancelFn;
31
- }
1
+ export type {
2
+ InterruptEvent,
3
+ InterruptResolveFn,
4
+ InterruptCancelFn,
5
+ InterruptHandlerProps,
6
+ InterruptRenderProps,
7
+ } from "@copilotkit/core";
@@ -1,22 +1,31 @@
1
- import type { ActivityMessage } from "@ag-ui/core";
2
- import type { AbstractAgent } from "@ag-ui/client";
3
- import type { z } from "zod";
1
+ import type {
2
+ ActivityMessageRenderProps,
3
+ ActivityMessageRendererDef,
4
+ } from "@copilotkit/core";
4
5
  import type { Component, VNodeChild } from "vue";
5
6
 
6
- export interface VueActivityMessageRendererProps<TActivityContent> {
7
- activityType: string;
8
- content: TActivityContent;
9
- message: ActivityMessage;
10
- agent: AbstractAgent | undefined;
11
- }
7
+ /**
8
+ * Props a Vue activity message renderer receives. Same as core's
9
+ * `ActivityMessageRenderProps`.
10
+ *
11
+ * @typeParam TActivityContent - The shape of the activity content.
12
+ */
13
+ export type VueActivityMessageRendererProps<TActivityContent> =
14
+ ActivityMessageRenderProps<TActivityContent>;
12
15
 
13
16
  export type VueActivityMessageRendererRenderFn<TActivityContent> =
14
17
  | ((props: VueActivityMessageRendererProps<TActivityContent>) => VNodeChild)
15
18
  | Component<VueActivityMessageRendererProps<TActivityContent>>;
16
19
 
17
- export interface VueActivityMessageRenderer<TActivityContent> {
18
- activityType: string;
19
- agentId?: string;
20
- content: z.ZodSchema<TActivityContent>;
21
- render: VueActivityMessageRendererRenderFn<TActivityContent>;
22
- }
20
+ /**
21
+ * A Vue activity message renderer registration. `content` takes any
22
+ * Standard Schema (zod, valibot, arktype, and so on). The chat validates the
23
+ * activity content with it and passes the result to `render`.
24
+ *
25
+ * @typeParam TActivityContent - The shape of the activity content.
26
+ */
27
+ export type VueActivityMessageRenderer<TActivityContent> =
28
+ ActivityMessageRendererDef<
29
+ TActivityContent,
30
+ VueActivityMessageRendererRenderFn<TActivityContent>
31
+ >;
@@ -1,24 +1,20 @@
1
- import type { Message } from "@ag-ui/core";
1
+ import type {
2
+ CustomMessageRendererDef,
3
+ CustomMessageRendererPosition,
4
+ CustomMessageRenderProps,
5
+ } from "@copilotkit/core";
2
6
  import type { Component, VNodeChild } from "vue";
3
7
 
4
- export type VueCustomMessageRendererPosition = "before" | "after";
8
+ /** Where a custom message renderer draws. Same as core's type. */
9
+ export type VueCustomMessageRendererPosition = CustomMessageRendererPosition;
5
10
 
6
- export interface VueCustomMessageRendererProps {
7
- message: Message;
8
- position: VueCustomMessageRendererPosition;
9
- runId: string;
10
- messageIndex: number;
11
- messageIndexInRun: number;
12
- numberOfMessagesInRun: number;
13
- agentId: string;
14
- stateSnapshot: unknown;
15
- }
11
+ /** Props a Vue custom message renderer receives. Same as core's type. */
12
+ export type VueCustomMessageRendererProps = CustomMessageRenderProps;
16
13
 
17
14
  export type VueCustomMessageRendererRenderFn =
18
15
  | ((props: VueCustomMessageRendererProps) => VNodeChild)
19
16
  | Component<VueCustomMessageRendererProps>;
20
17
 
21
- export interface VueCustomMessageRenderer {
22
- agentId?: string;
23
- render: VueCustomMessageRendererRenderFn;
24
- }
18
+ /** A Vue custom message renderer registration. */
19
+ export type VueCustomMessageRenderer =
20
+ CustomMessageRendererDef<VueCustomMessageRendererRenderFn>;
@@ -1,32 +1,16 @@
1
- import type { ToolCallStatus } from "@copilotkit/core";
2
- import type { StandardSchemaV1 } from "@copilotkit/shared";
1
+ import type {
2
+ ToolCallRenderProps,
3
+ ToolCallRendererDef,
4
+ } from "@copilotkit/core";
3
5
  import type { Component, VNodeChild } from "vue";
4
6
 
5
7
  /**
6
- * Props passed to a Vue tool call render function.
8
+ * Props passed to a Vue tool call render function. Same as core's
9
+ * `ToolCallRenderProps`.
10
+ *
11
+ * @typeParam T - The shape of the tool arguments.
7
12
  */
8
- export type VueToolCallRendererRenderProps<T> =
9
- | {
10
- name: string;
11
- toolCallId: string;
12
- args: Partial<T>;
13
- status: ToolCallStatus.InProgress;
14
- result: undefined;
15
- }
16
- | {
17
- name: string;
18
- toolCallId: string;
19
- args: T;
20
- status: ToolCallStatus.Executing;
21
- result: undefined;
22
- }
23
- | {
24
- name: string;
25
- toolCallId: string;
26
- args: T;
27
- status: ToolCallStatus.Complete;
28
- result: string;
29
- };
13
+ export type VueToolCallRendererRenderProps<T> = ToolCallRenderProps<T>;
30
14
 
31
15
  /**
32
16
  * Vue component or render function for tool call rendering.
@@ -36,16 +20,17 @@ export type VueToolCallRendererRenderFn<T> =
36
20
  | ((props: VueToolCallRendererRenderProps<T>) => VNodeChild)
37
21
  | Component<VueToolCallRendererRenderProps<T>>;
38
22
 
39
- export interface VueToolCallRenderer<T = unknown> {
40
- name: string;
41
- args: StandardSchemaV1<any, T>;
42
- agentId?: string;
43
- /**
44
- * Whether calls this renderer draws join the chat's tool-call groups (see
45
- * `toolCallDisplay` on `CopilotChatMessageView`). CopilotKit's built-in card
46
- * sets it; a renderer that leaves it unset always shows its calls on their
47
- * own, since the chat can't tell what it draws (it may even draw nothing).
48
- */
49
- group?: boolean;
50
- render: VueToolCallRendererRenderFn<T>;
51
- }
23
+ type VueToolCallRendererDef<T> = ToolCallRendererDef<
24
+ T,
25
+ VueToolCallRendererRenderFn<T>
26
+ >;
27
+
28
+ /**
29
+ * A Vue tool call renderer registration: core's `ToolCallRendererDef` with a
30
+ * Vue render function. `args` is required here. Use `defineToolCallRenderer`
31
+ * to build one; it fills in `args` for a `"*"` renderer that has no schema.
32
+ *
33
+ * @typeParam T - The shape of the tool arguments.
34
+ */
35
+ export type VueToolCallRenderer<T = unknown> = VueToolCallRendererDef<T> &
36
+ Required<Pick<VueToolCallRendererDef<T>, "args">>;
package/tsconfig.json CHANGED
@@ -7,7 +7,6 @@
7
7
  "target": "ES2022",
8
8
  "outDir": "dist",
9
9
  "rootDir": "src",
10
- "baseUrl": ".",
11
10
  "paths": {
12
11
  "@/*": ["./src/*"],
13
12
  "@copilotkit/core": ["../core/dist/index.d.mts", "../core/src/index.ts"],
package/vite.config.ts CHANGED
@@ -13,7 +13,7 @@ export default defineConfig({
13
13
  lib: {
14
14
  entry: {
15
15
  index: resolve(__dirname, "src/index.ts"),
16
- "v2/index": resolve(__dirname, "src/index.ts"),
16
+ "v2/index": resolve(__dirname, "src/v2/index.ts"),
17
17
  },
18
18
  name: "CopilotKitVue",
19
19
  formats: ["es", "cjs"],
@@ -28,6 +28,11 @@ export default defineConfig({
28
28
  "@a2ui/web_core/v0_9/basic_catalog",
29
29
  "@ag-ui/client",
30
30
  "@ag-ui/core",
31
+ // The framework-neutral A2UI catalog description subpath (no React).
32
+ "@copilotkit/a2ui-renderer/catalog-schema",
33
+ // The framework-neutral A2UI engine subpath (no React).
34
+ "@copilotkit/a2ui-renderer/engine",
35
+ "@copilotkit/a2ui-renderer/engine-core",
31
36
  // Core and its `/styles` subpath, so the stylesheet isn't bundled here.
32
37
  /^@copilotkit\/core(\/.*)?$/,
33
38
  // Keep the shared MCP Apps host + its subpaths external. The root entry
@@ -38,7 +43,8 @@ export default defineConfig({
38
43
  // statically for activity registration.
39
44
  /^@copilotkit\/mcp-apps-renderer(\/.*)?$/,
40
45
  "@copilotkit/shared",
41
- "@copilotkit/web-inspector",
46
+ // The Inspector and its `/mount` subpath stay runtime imports.
47
+ /^@copilotkit\/web-inspector(\/.*)?$/,
42
48
  // Keep @copilotkit/web-components (the Lit drawer element) + its subpaths
43
49
  // external. It's a runtime dependency loaded via the drawer wrapper's
44
50
  // client-only dynamic import; bundling it inline would ship a duplicate
@@ -46,10 +52,7 @@ export default defineConfig({
46
52
  // (duplicate top-level lit binding → "Identifier 'h' has already been
47
53
  // declared") and risks double custom-element registration.
48
54
  /^@copilotkit\/web-components(\/.*)?$/,
49
- "@jetbrains/websandbox",
50
- "lucide-vue-next",
51
55
  "zod",
52
- "zod-to-json-schema",
53
56
  ],
54
57
  output: {
55
58
  globals: { vue: "Vue" },
package/vitest.config.ts CHANGED
@@ -12,12 +12,17 @@ export default defineConfig({
12
12
  reporters: [["default", { summary: false }]],
13
13
  },
14
14
  resolve: {
15
- alias: {
16
- "@": resolve(__dirname, "./src"),
17
- "@copilotkit/web-inspector": resolve(
18
- __dirname,
19
- "./src/v2/__tests__/mocks/web-inspector.ts",
20
- ),
21
- },
15
+ // Exact match, so the real `@copilotkit/web-inspector/mount` subpath
16
+ // still resolves while the Inspector bundle itself is mocked.
17
+ alias: [
18
+ { find: "@", replacement: resolve(__dirname, "./src") },
19
+ {
20
+ find: /^@copilotkit\/web-inspector$/,
21
+ replacement: resolve(
22
+ __dirname,
23
+ "./src/v2/__tests__/mocks/web-inspector.ts",
24
+ ),
25
+ },
26
+ ],
22
27
  },
23
28
  });
@@ -1,9 +0,0 @@
1
- type __VLS_Props = {
2
- content: string;
3
- isStreaming?: boolean;
4
- };
5
- declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
6
- isStreaming: boolean;
7
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
- export default _default;
9
- //# sourceMappingURL=BasicMarkdown.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BasicMarkdown.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/chat/BasicMarkdown.vue"],"names":[],"mappings":"AAuKA,KAAK,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;;iBAAV,OAAO;;AAiM3D,wBAOG"}
@@ -1,3 +0,0 @@
1
- export type AutoScrollMode = "pin-to-bottom" | "pin-to-send" | "none";
2
- export declare function normalizeAutoScroll(value: AutoScrollMode | boolean | undefined): AutoScrollMode;
3
- //# sourceMappingURL=normalize-auto-scroll.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalize-auto-scroll.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/chat/normalize-auto-scroll.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG,aAAa,GAAG,MAAM,CAAC;AAQtE,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,GAAG,OAAO,GAAG,SAAS,GAC1C,cAAc,CAMhB"}
@@ -1,115 +0,0 @@
1
- import type { Message, ToolCall, ToolMessage } from "@ag-ui/core";
2
- /**
3
- * How the chat shows tool calls.
4
- *
5
- * - `"grouped"` (default): calls made in a row share one card, collapsed to a
6
- * summary ("Used 3 tools") that opens to a row per call.
7
- * - `"line"`: the same grouping as a quiet line of text, like the reasoning
8
- * message's "Thought for 4 seconds".
9
- * - `"stacked"`: the latest call on top of a stack of the earlier ones; click
10
- * to fan the stack out into its cards.
11
- * - `"turn"`: the agent works in the open (narration, then a row per call),
12
- * and when the reply is done everything before it folds into "Worked for 9s".
13
- * - `"separate"`: every call gets its own card, as before grouping existed.
14
- *
15
- * Only calls drawn by a renderer that opts into grouping (`group: true`) are
16
- * grouped; CopilotKit's built-in card from `useDefaultRenderTool()` does. Any
17
- * other call always shows on its own and splits the group around it.
18
- */
19
- export type CopilotChatToolCallDisplay = "grouped" | "line" | "stacked" | "turn" | "separate";
20
- /** One tool call and, once it has finished, the message carrying its result. */
21
- export interface ToolCallEntry {
22
- toolCall: ToolCall;
23
- toolMessage?: ToolMessage;
24
- }
25
- export type ToolCallSegment =
26
- /** Consecutive calls drawn by renderers that opted into grouping. */
27
- {
28
- kind: "group";
29
- id: string;
30
- calls: ToolCallEntry[];
31
- /** Nothing renders after this group yet, so a running agent may add to it. */
32
- trailing: boolean;
33
- }
34
- /**
35
- * A call drawn by a renderer that didn't opt into grouping, or with no
36
- * renderer at all. The latter renders nothing (and warns in development)
37
- * without breaking a group.
38
- */
39
- | {
40
- kind: "call";
41
- id: string;
42
- call: ToolCallEntry;
43
- rendered: boolean;
44
- };
45
- /** What one assistant message's tool-call area renders. */
46
- export interface ToolCallLayout {
47
- segments: ToolCallSegment[];
48
- /** Changes whenever anything this layout renders changes; for memoization. */
49
- signature: string;
50
- }
51
- /** Which tool-call renderers are registered. */
52
- export interface ToolCallRendererNames {
53
- /** Tool names with a renderer of their own. */
54
- named: ReadonlySet<string>;
55
- /** Of those, the ones whose renderer opted into grouping. */
56
- groupedNames: ReadonlySet<string>;
57
- /** A wildcard (`"*"`) renderer is registered. */
58
- wildcard: boolean;
59
- /** The wildcard renderer opted into grouping (the built-in card does). */
60
- wildcardGroups: boolean;
61
- }
62
- /** Index of tool results by the call they answer. */
63
- export declare function getToolResults(messages: Message[]): Map<string, ToolMessage>;
64
- /**
65
- * Lays out the tool calls of every assistant message in `rendered`.
66
- *
67
- * Calls drawn by a renderer that opted into grouping join the group that's
68
- * open; anything else that shows between them closes it: assistant text, a
69
- * user, reasoning or activity message, or a call drawn by any other renderer. A group belongs to
70
- * the message where it starts, so later messages whose calls joined it render
71
- * no tool calls themselves.
72
- *
73
- * @param rendered - The messages as the chat renders them, in order.
74
- * @param all - Every message, for finding tool results (a transform may hide them).
75
- * @param renderers - The registered renderers.
76
- */
77
- export declare function getToolCallLayouts(rendered: Message[], all: Message[], renderers: ToolCallRendererNames): Map<string, ToolCallLayout>;
78
- /**
79
- * Which renderers draw tool calls, from the registered renderers and the
80
- * view's tool-call slots. A slot wins over a registered renderer and never
81
- * groups, since the chat can't tell what it draws: `#tool-call-<name>` takes
82
- * that tool, and `#tool-call` takes every tool.
83
- *
84
- * @param renderers - The registered renderers (`copilotkit.renderToolCalls`).
85
- * @param slotNames - The names of the slots the view was given.
86
- */
87
- export declare function getToolCallRendererNames(renderers: readonly {
88
- name: string;
89
- group?: boolean;
90
- }[], slotNames?: readonly string[]): ToolCallRendererNames;
91
- /** A reply's working phase, for the `"turn"` display. */
92
- export interface TurnWork {
93
- /** Stable across the turn's life: the id of the user message it answers. */
94
- key: string;
95
- /** The first assistant-side message, where the "Worked for" line goes. */
96
- firstMessageId: string;
97
- /** Everything up to and including the last message with a tool call. */
98
- workMessageIds: ReadonlySet<string>;
99
- /**
100
- * The reply's last assistant message, when it has text and is part of the
101
- * work (it also calls a tool). Its text is the answer, so it stays out.
102
- */
103
- replyTextMessageId?: string;
104
- calls: ToolCallEntry[];
105
- /** No user message follows, so the agent may still be working on it. */
106
- isLatest: boolean;
107
- }
108
- /**
109
- * Finds the working phase of every reply in `rendered`: its messages up to the
110
- * last one that calls a tool. Text in there was narration; what follows is the
111
- * reply itself. Replies that called no tools are omitted, except the latest,
112
- * which may be about to.
113
- */
114
- export declare function getTurnWork(rendered: Message[], layouts: ReadonlyMap<string, ToolCallLayout>): Map<string, TurnWork>;
115
- //# sourceMappingURL=tool-call-layout.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-call-layout.d.ts","sourceRoot":"","sources":["../../../../src/v2/components/chat/tool-call-layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAElE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,0BAA0B,GAClC,SAAS,GACT,MAAM,GACN,SAAS,GACT,MAAM,GACN,UAAU,CAAC;AAEf,gFAAgF;AAChF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,MAAM,eAAe;AACzB,qEAAqE;AACnE;IACE,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,8EAA8E;IAC9E,QAAQ,EAAE,OAAO,CAAC;CACnB;AACH;;;;GAIG;GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC;AAEzE,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC,+CAA+C;IAC/C,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,6DAA6D;IAC7D,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,iDAAiD;IACjD,QAAQ,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,cAAc,EAAE,OAAO,CAAC;CACzB;AA4BD,qDAAqD;AACrD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAM5E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,OAAO,EAAE,EACnB,GAAG,EAAE,OAAO,EAAE,EACd,SAAS,EAAE,qBAAqB,GAC/B,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAuD7B;AAID;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,EACvD,SAAS,GAAE,SAAS,MAAM,EAAO,GAChC,qBAAqB,CAuBvB;AAED,yDAAyD;AACzD,MAAM,WAAW,QAAQ;IACvB,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,cAAc,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,wEAAwE;IACxE,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,GAC3C,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CA6DvB"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Media query for the mobile breakpoint, shared so the string literal isn't
3
- * duplicated across call sites within this package (e.g. `CopilotModalHeader`,
4
- * which needs a live `matchMedia` change-listener and so can't call
5
- * `isMobileViewport()` directly).
6
- */
7
- export declare const MOBILE_MAX_WIDTH_QUERY = "(max-width: 767px)";
8
- /**
9
- * Reports whether the viewport is in the mobile range (`<768px`), where the
10
- * drawer and chat modal are mutually exclusive. SSR-safe (returns `false`
11
- * when `window` is absent) and guards environments where `window` exists but
12
- * `window.matchMedia` does not (some test runners, embedded webviews).
13
- */
14
- export declare function isMobileViewport(): boolean;
15
- //# sourceMappingURL=is-mobile-viewport.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-mobile-viewport.d.ts","sourceRoot":"","sources":["../../../src/v2/lib/is-mobile-viewport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAE3D;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAQ1C"}
@@ -1,33 +0,0 @@
1
- import type { AssistantMessage } from "@ag-ui/core";
2
- import type { CopilotKitCore } from "@copilotkit/core";
3
- /** Trajectory event name for a rating of one assistant message. */
4
- export declare const MESSAGE_FEEDBACK_EVENT_NAME = "message.feedback";
5
- /** Longest comment kept, in characters; the rest is cut so the event stays small. */
6
- export declare const MESSAGE_FEEDBACK_MAX_COMMENT_LENGTH = 1000;
7
- export type MessageFeedbackRating = "up" | "down";
8
- /** The rating this page gave one assistant message. */
9
- export interface MessageFeedback {
10
- readonly rating: MessageFeedbackRating;
11
- readonly comment?: string;
12
- }
13
- /** The rating this page gave one message, if any. */
14
- export declare function getMessageFeedback(agentId: string, threadId: string, messageId: string): MessageFeedback | undefined;
15
- /** Calls `listener` whenever a rating in this Thread changes. */
16
- export declare function subscribeToMessageFeedback(agentId: string, threadId: string, listener: () => void): () => void;
17
- /**
18
- * Sets (or, with `null`, clears) this page's rating of one message and sends
19
- * it to the active Trajectory. Every change is a new event; the newest event
20
- * for a `feedbackId` is the current one. Like any Trajectory event, a change
21
- * made while no Trajectory captures, for example during a reconnect, is not
22
- * sent; the page still shows it.
23
- */
24
- export declare function setMessageFeedback(params: {
25
- copilotkit: CopilotKitCore;
26
- agentId: string;
27
- threadId: string;
28
- message: AssistantMessage;
29
- feedback: MessageFeedback | null;
30
- }): void;
31
- /** @internal Forgets every rating, so each test starts empty. */
32
- export declare function ɵresetMessageFeedbackCache(): void;
33
- //# sourceMappingURL=message-feedback.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message-feedback.d.ts","sourceRoot":"","sources":["../../../src/v2/lib/message-feedback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,mEAAmE;AACnE,eAAO,MAAM,2BAA2B,qBAAqB,CAAC;AAE9D,qFAAqF;AACrF,eAAO,MAAM,mCAAmC,OAAO,CAAC;AAKxD,MAAM,MAAM,qBAAqB,GAAG,IAAI,GAAG,MAAM,CAAC;AAElD,uDAAuD;AACvD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AA2BD,qDAAqD;AACrD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,eAAe,GAAG,SAAS,CAE7B;AAED,iEAAiE;AACjE,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,IAAI,GACnB,MAAM,IAAI,CAYZ;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;CAClC,GAAG,IAAI,CA4BP;AAED,iEAAiE;AACjE,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD"}