@datalayer/agent-runtimes 1.0.2 → 1.0.3

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 (615) hide show
  1. package/README.md +1 -1
  2. package/lib/Agent.js +2 -2
  3. package/lib/AgentLexical.d.ts +1 -12
  4. package/lib/AgentLexical.js +3 -14
  5. package/lib/AgentNotebook.js +3 -3
  6. package/lib/App.js +2 -2
  7. package/lib/{components/chat/components → agents}/AgentDetails.d.ts +13 -2
  8. package/lib/{components/chat/components → agents}/AgentDetails.js +6 -12
  9. package/lib/api/agents.d.ts +47 -0
  10. package/lib/api/agents.js +106 -0
  11. package/lib/api/context.d.ts +17 -0
  12. package/lib/api/context.js +45 -0
  13. package/lib/api/evals.d.ts +27 -0
  14. package/lib/api/evals.js +63 -0
  15. package/lib/api/events.d.ts +17 -0
  16. package/lib/api/events.js +93 -0
  17. package/lib/{components/chat → api}/handler.js +1 -1
  18. package/lib/api/index.d.ts +15 -0
  19. package/lib/api/index.js +20 -0
  20. package/lib/api/notifications.d.ts +39 -0
  21. package/lib/api/notifications.js +103 -0
  22. package/lib/api/output.d.ts +28 -0
  23. package/lib/api/output.js +64 -0
  24. package/lib/api/tool-approvals.d.ts +62 -0
  25. package/lib/api/tool-approvals.js +145 -0
  26. package/lib/{components/chat/components → chat}/Chat.d.ts +24 -15
  27. package/lib/{components/chat/components → chat}/Chat.js +16 -16
  28. package/lib/{components/chat/components → chat}/ChatFloating.d.ts +17 -9
  29. package/lib/{components/chat/components → chat}/ChatFloating.js +17 -9
  30. package/lib/{components/chat/components → chat}/ChatInline.d.ts +2 -2
  31. package/lib/{components/chat/components → chat}/ChatInline.js +8 -6
  32. package/lib/{components/chat/components → chat}/ChatPopupStandalone.d.ts +3 -4
  33. package/lib/{components/chat/components → chat}/ChatPopupStandalone.js +6 -6
  34. package/lib/{components/chat/components → chat}/ChatSidebar.d.ts +14 -5
  35. package/lib/{components/chat/components → chat}/ChatSidebar.js +48 -26
  36. package/lib/{components/chat/components → chat}/ChatStandalone.d.ts +3 -4
  37. package/lib/{components/chat/components → chat}/ChatStandalone.js +5 -5
  38. package/lib/chat/base/ChatBase.d.ts +6 -0
  39. package/lib/chat/base/ChatBase.js +1287 -0
  40. package/lib/chat/display/EmptyState.d.ts +27 -0
  41. package/lib/chat/display/EmptyState.js +41 -0
  42. package/lib/{components/chat/components/elements → chat/display}/FloatingBrandButton.d.ts +1 -1
  43. package/lib/{components/chat/components/elements → chat/display}/FloatingBrandButton.js +1 -1
  44. package/lib/{components/chat/components/elements → chat/display}/PoweredByTag.d.ts +1 -1
  45. package/lib/{components/chat/components/elements → chat/header}/ChatHeader.d.ts +1 -4
  46. package/lib/{components/chat/components/elements → chat/header}/ChatHeader.js +1 -1
  47. package/lib/chat/header/ChatHeaderBase.d.ts +38 -0
  48. package/lib/chat/header/ChatHeaderBase.js +83 -0
  49. package/lib/chat/index.d.ts +66 -0
  50. package/lib/chat/index.js +74 -0
  51. package/lib/chat/indicators/McpStatusIndicator.d.ts +9 -0
  52. package/lib/chat/indicators/McpStatusIndicator.js +128 -0
  53. package/lib/chat/indicators/SandboxStatusIndicator.d.ts +10 -0
  54. package/lib/chat/indicators/SandboxStatusIndicator.js +175 -0
  55. package/lib/chat/indicators/index.d.ts +17 -0
  56. package/lib/chat/indicators/index.js +19 -0
  57. package/lib/chat/messages/ChatMessageList.d.ts +49 -0
  58. package/lib/chat/messages/ChatMessageList.js +319 -0
  59. package/lib/{components/chat/components/elements → chat/messages}/ChatMessages.d.ts +2 -2
  60. package/lib/{components/chat/components/elements → chat/messages}/ChatMessages.js +6 -4
  61. package/lib/{components/chat/components → chat}/parts/DynamicToolPart.d.ts +1 -1
  62. package/lib/{components/chat/components/elements → chat/parts}/MessagePart.d.ts +1 -1
  63. package/lib/{components/chat/components/elements → chat/parts}/MessagePart.js +4 -4
  64. package/lib/{components/chat/components → chat}/parts/ReasoningPart.js +1 -1
  65. package/lib/{components/chat/components → chat}/parts/TextPart.d.ts +1 -1
  66. package/lib/{components/chat/components → chat}/parts/ToolPart.js +1 -1
  67. package/lib/{components/chat/components → chat}/parts/index.d.ts +2 -1
  68. package/lib/{components/chat/components → chat}/parts/index.js +2 -1
  69. package/lib/chat/prompt/InputFooter.d.ts +43 -0
  70. package/lib/chat/prompt/InputFooter.js +135 -0
  71. package/lib/chat/prompt/InputPrompt.d.ts +60 -0
  72. package/lib/chat/prompt/InputPrompt.js +83 -0
  73. package/lib/chat/prompt/InputPromptFooter.d.ts +25 -0
  74. package/lib/chat/prompt/InputPromptFooter.js +15 -0
  75. package/lib/chat/prompt/InputPromptHeader.d.ts +15 -0
  76. package/lib/chat/prompt/InputPromptHeader.js +15 -0
  77. package/lib/chat/prompt/InputPromptLexical.d.ts +16 -0
  78. package/lib/chat/prompt/InputPromptLexical.js +122 -0
  79. package/lib/chat/prompt/InputPromptText.d.ts +24 -0
  80. package/lib/chat/prompt/InputPromptText.js +66 -0
  81. package/lib/chat/prompt/index.d.ts +11 -0
  82. package/lib/chat/prompt/index.js +15 -0
  83. package/lib/{components/chat/components → chat}/styles/streamdownStyles.d.ts +1 -1
  84. package/lib/chat/tools/ToolApprovalBanner.d.ts +31 -0
  85. package/lib/chat/tools/ToolApprovalBanner.js +62 -0
  86. package/lib/{components/chat/components/elements → chat/tools}/ToolApprovalDialog.js +1 -1
  87. package/lib/{components/chat/components/display → chat/tools}/ToolCallDisplay.d.ts +13 -4
  88. package/lib/{components/chat/components/display → chat/tools}/ToolCallDisplay.js +18 -8
  89. package/lib/chat/tools/index.d.ts +8 -0
  90. package/lib/{components/chat/components/display → chat/tools}/index.js +3 -1
  91. package/lib/chat/usage/TokenUsageBar.d.ts +8 -0
  92. package/lib/chat/usage/TokenUsageBar.js +213 -0
  93. package/lib/client/AgentsMixin.d.ts +169 -0
  94. package/lib/client/AgentsMixin.js +279 -0
  95. package/lib/client/index.d.ts +6 -0
  96. package/lib/client/index.js +10 -0
  97. package/lib/components/NotificationEventCard.d.ts +8 -0
  98. package/lib/components/NotificationEventCard.js +152 -0
  99. package/lib/components/OutputCard.d.ts +8 -0
  100. package/lib/components/OutputCard.js +80 -0
  101. package/lib/components/ToolApprovalCard.d.ts +33 -0
  102. package/lib/components/ToolApprovalCard.js +60 -0
  103. package/lib/components/index.d.ts +3 -7
  104. package/lib/components/index.js +3 -4
  105. package/lib/{components → config}/AgentConfiguration.d.ts +43 -21
  106. package/lib/{components → config}/AgentConfiguration.js +48 -28
  107. package/lib/config/index.d.ts +2 -0
  108. package/lib/config/index.js +1 -0
  109. package/lib/{components/chat/components → context}/ContextInspector.js +38 -8
  110. package/lib/{components/chat/components → context}/ContextPanel.js +27 -6
  111. package/lib/context/CostTracker.d.ts +37 -0
  112. package/lib/context/CostTracker.js +124 -0
  113. package/lib/context/TokenUsageChart.d.ts +10 -0
  114. package/lib/context/TokenUsageChart.js +288 -0
  115. package/lib/examples/A2UiComponentGalleryExample.d.ts +20 -0
  116. package/lib/examples/A2UiComponentGalleryExample.js +568 -0
  117. package/lib/examples/A2UiContactCardExample.d.ts +21 -0
  118. package/lib/examples/A2UiContactCardExample.js +432 -0
  119. package/lib/examples/A2UiRestaurantExample.d.ts +11 -3
  120. package/lib/examples/A2UiRestaurantExample.js +63 -98
  121. package/lib/examples/A2UiViewerExample.d.ts +21 -0
  122. package/lib/examples/A2UiViewerExample.js +563 -0
  123. package/lib/examples/AgUiAgenticExample.js +3 -3
  124. package/lib/examples/AgUiBackendToolRenderingExample.js +3 -3
  125. package/lib/examples/{AgUiHaikuGenUIExample.d.ts → AgUiHaikuGenUiExample.d.ts} +4 -4
  126. package/lib/examples/{AgUiHaikuGenUIExample.js → AgUiHaikuGenUiExample.js} +7 -7
  127. package/lib/examples/AgUiHumanInTheLoopExample.js +3 -3
  128. package/lib/examples/AgUiSharedStateExample.js +3 -3
  129. package/lib/examples/{AgUiToolsBasedGenUIExample.d.ts → AgUiToolsBasedGenUiExample.d.ts} +4 -4
  130. package/lib/examples/{AgUiToolsBasedGenUIExample.js → AgUiToolsBasedGenUiExample.js} +7 -7
  131. package/lib/examples/AgentCheckpointsExample.d.ts +19 -0
  132. package/lib/examples/AgentCheckpointsExample.js +506 -0
  133. package/lib/examples/AgentCodemodeExample.d.ts +14 -0
  134. package/lib/examples/AgentCodemodeExample.js +262 -0
  135. package/lib/examples/AgentEvalsExample.d.ts +14 -0
  136. package/lib/examples/AgentEvalsExample.js +216 -0
  137. package/lib/examples/AgentGuardrailsExample.d.ts +14 -0
  138. package/lib/examples/AgentGuardrailsExample.js +218 -0
  139. package/lib/examples/AgentMemoryExample.d.ts +14 -0
  140. package/lib/examples/AgentMemoryExample.js +234 -0
  141. package/lib/examples/AgentMonitoringExample.d.ts +13 -0
  142. package/lib/examples/AgentMonitoringExample.js +311 -0
  143. package/lib/examples/AgentNotificationsExample.d.ts +14 -0
  144. package/lib/examples/AgentNotificationsExample.js +273 -0
  145. package/lib/examples/AgentOtelExample.d.ts +25 -0
  146. package/lib/examples/AgentOtelExample.js +281 -0
  147. package/lib/examples/AgentOutputsExample.d.ts +14 -0
  148. package/lib/examples/AgentOutputsExample.js +211 -0
  149. package/lib/examples/AgentSandboxExample.d.ts +17 -0
  150. package/lib/examples/AgentSandboxExample.js +496 -0
  151. package/lib/examples/AgentSkillsExample.d.ts +3 -0
  152. package/lib/examples/AgentSkillsExample.js +290 -0
  153. package/lib/examples/AgentToolApprovalsExample.d.ts +3 -0
  154. package/lib/examples/AgentToolApprovalsExample.js +672 -0
  155. package/lib/examples/AgentTriggersExample.d.ts +14 -0
  156. package/lib/examples/AgentTriggersExample.js +523 -0
  157. package/lib/examples/{AgentRuntimeFormExample.d.ts → AgentspecExample.d.ts} +3 -4
  158. package/lib/examples/{AgentRuntimeFormExample.js → AgentspecExample.js} +92 -34
  159. package/lib/examples/{JupyterCellExample.js → CellSimpleExample.js} +1 -1
  160. package/lib/examples/{AgentRuntimeCustomExample.js → ChatCustomExample.js} +3 -3
  161. package/lib/examples/{AgentRuntimeChatExample.js → ChatExample.js} +4 -4
  162. package/lib/examples/{AgentRuntimeStandaloneExample.js → ChatStandaloneExample.js} +2 -2
  163. package/lib/examples/CopilotKitLexicalExample.d.ts +3 -14
  164. package/lib/examples/CopilotKitLexicalExample.js +4 -15
  165. package/lib/examples/CopilotKitNotebookExample.js +4 -6
  166. package/lib/examples/DatalayerNotebookExample.js +2 -2
  167. package/lib/examples/{AgentRuntimeLexical2Example.d.ts → Lexical2Example.d.ts} +2 -13
  168. package/lib/examples/{AgentRuntimeLexical2Example.js → Lexical2Example.js} +8 -17
  169. package/lib/examples/{AgentRuntimeLexicalExample.d.ts → LexicalExample.d.ts} +1 -12
  170. package/lib/examples/{AgentRuntimeLexicalExample.js → LexicalExample.js} +28 -27
  171. package/lib/examples/{AgentRuntimeLexicalSidebarExample.d.ts → LexicalSidebarExample.d.ts} +2 -13
  172. package/lib/examples/{AgentRuntimeLexicalSidebarExample.js → LexicalSidebarExample.js} +6 -18
  173. package/lib/examples/{AgentRuntimeNotebookExample.js → NotebookExample.js} +14 -10
  174. package/lib/examples/{AgentRuntimeNotebookSidebarExample.js → NotebookSidebarExample.js} +5 -8
  175. package/lib/examples/{JupyterNotebookExample.js → NotebookSimpleExample.js} +2 -2
  176. package/lib/examples/ag-ui/weather/InlineWeatherCard.js +1 -1
  177. package/lib/examples/components/ExampleWrapper.d.ts +12 -0
  178. package/lib/examples/components/ExampleWrapper.js +16 -0
  179. package/lib/examples/components/Header.d.ts +2 -2
  180. package/lib/examples/components/HeaderControls.js +1 -1
  181. package/lib/examples/components/LexicalEditor.d.ts +1 -12
  182. package/lib/examples/components/LexicalEditor.js +1 -12
  183. package/lib/examples/components/MainContent.d.ts +4 -11
  184. package/lib/examples/components/MainContent.js +6 -60
  185. package/lib/examples/components/index.d.ts +1 -0
  186. package/lib/examples/components/index.js +1 -0
  187. package/lib/examples/example-selector.d.ts +1 -1
  188. package/lib/examples/example-selector.js +35 -22
  189. package/lib/examples/index.d.ts +26 -13
  190. package/lib/examples/index.js +26 -12
  191. package/lib/examples/main.d.ts +6 -0
  192. package/lib/examples/main.js +20 -43
  193. package/lib/examples/utils/examplesStore.d.ts +4 -0
  194. package/lib/examples/{stores → utils}/examplesStore.js +1 -1
  195. package/lib/examples/utils/notebooks/Empty.ipynb.json +33 -0
  196. package/lib/examples/utils/notebooks/NotebookExample2.ipynb.json +48 -0
  197. package/lib/examples/utils/themeStore.d.ts +8 -0
  198. package/lib/examples/utils/themeStore.js +14 -0
  199. package/lib/extensions/A2UIExtension.d.ts +65 -0
  200. package/lib/extensions/A2UIExtension.js +202 -0
  201. package/lib/{components/chat/extensions → extensions}/ExtensionRegistry.d.ts +2 -3
  202. package/lib/{components/chat/extensions → extensions}/ExtensionRegistry.js +0 -2
  203. package/lib/{components/chat/extensions → extensions}/MCPUIExtension.d.ts +2 -2
  204. package/lib/{components/chat/extensions → extensions}/MCPUIExtension.js +1 -1
  205. package/lib/extensions/index.d.ts +9 -0
  206. package/lib/{components/chat/extensions → extensions}/index.js +2 -2
  207. package/lib/hooks/index.d.ts +33 -16
  208. package/lib/hooks/index.js +33 -16
  209. package/lib/hooks/useAIAgentsWebSocket.d.ts +29 -0
  210. package/lib/hooks/useAIAgentsWebSocket.js +136 -0
  211. package/lib/hooks/{useAGUI.d.ts → useAgUi.d.ts} +2 -2
  212. package/lib/hooks/{useAGUI.js → useAgUi.js} +2 -2
  213. package/lib/hooks/useAgents.d.ts +150 -11
  214. package/lib/hooks/useAgents.js +623 -61
  215. package/lib/hooks/{useAgentStore.d.ts → useAgentsCatalog.d.ts} +3 -8
  216. package/lib/hooks/{useAgentStore.js → useAgentsCatalog.js} +9 -3
  217. package/lib/hooks/useAgentsRegistry.d.ts +10 -0
  218. package/lib/hooks/useAgentsRegistry.js +20 -0
  219. package/lib/hooks/useAgentsService.d.ts +22 -0
  220. package/lib/hooks/useAgentsService.js +146 -0
  221. package/lib/hooks/useChat.d.ts +2 -2
  222. package/lib/hooks/useChat.js +14 -8
  223. package/lib/hooks/useCheckpoints.d.ts +176 -0
  224. package/lib/hooks/useCheckpoints.js +466 -0
  225. package/lib/hooks/useConfig.d.ts +11 -0
  226. package/lib/hooks/useConfig.js +46 -0
  227. package/lib/hooks/useContextSnapshot.d.ts +11 -0
  228. package/lib/hooks/useContextSnapshot.js +44 -0
  229. package/lib/hooks/useMonitoring.d.ts +24 -0
  230. package/lib/hooks/useMonitoring.js +111 -0
  231. package/lib/hooks/useNotifications.d.ts +67 -0
  232. package/lib/hooks/useNotifications.js +208 -0
  233. package/lib/hooks/useSandbox.d.ts +12 -0
  234. package/lib/hooks/useSandbox.js +49 -0
  235. package/lib/hooks/useSkills.d.ts +13 -0
  236. package/lib/hooks/useSkills.js +46 -0
  237. package/lib/hooks/useToolApprovals.d.ts +45 -0
  238. package/lib/hooks/useToolApprovals.js +126 -0
  239. package/lib/hooks/useTools.d.ts +4 -4
  240. package/lib/hooks/useTools.js +2 -2
  241. package/lib/hooks/{useVercelChat.d.ts → useVercelAI.d.ts} +3 -3
  242. package/lib/hooks/{useVercelChat.js → useVercelAI.js} +2 -2
  243. package/lib/{components/chat/components → identity}/AgentIdentity.d.ts +1 -1
  244. package/lib/{components/chat/components → identity}/AgentIdentity.js +4 -3
  245. package/lib/identity/index.d.ts +1 -0
  246. package/lib/identity/index.js +2 -0
  247. package/lib/index.d.ts +4 -3
  248. package/lib/index.js +3 -2
  249. package/lib/{components/chat/inference → inference}/BaseInferenceProvider.d.ts +3 -3
  250. package/lib/{components/chat/inference → inference}/DatalayerInferenceProvider.d.ts +3 -3
  251. package/lib/{components/chat/inference → inference}/DatalayerInferenceProvider.js +1 -1
  252. package/lib/{components/chat/inference → inference}/SelfHostedInferenceProvider.d.ts +2 -2
  253. package/lib/{components/chat/inference → inference}/SelfHostedInferenceProvider.js +1 -1
  254. package/lib/{components/chat/inference → inference}/index.d.ts +1 -1
  255. package/lib/{components/chat/inference → inference}/index.js +1 -1
  256. package/lib/lexical/ChatInlinePlugin.d.ts +1 -1
  257. package/lib/lexical/ChatInlinePlugin.js +1 -1
  258. package/lib/{components → mcp}/McpServerManager.d.ts +1 -2
  259. package/lib/mcp/index.d.ts +1 -0
  260. package/lib/{specs/agents/codeai → mcp}/index.js +1 -1
  261. package/lib/{components/chat/middleware → middleware}/MiddlewarePipeline.d.ts +3 -3
  262. package/lib/{components/chat/middleware → middleware}/index.d.ts +1 -1
  263. package/lib/{components/chat/middleware → middleware}/index.js +1 -1
  264. package/lib/{components/chat/protocols → protocols}/A2AAdapter.d.ts +6 -6
  265. package/lib/{components/chat/protocols → protocols}/A2AAdapter.js +3 -3
  266. package/lib/{components/chat/protocols → protocols}/ACPAdapter.d.ts +6 -6
  267. package/lib/{components/chat/protocols → protocols}/ACPAdapter.js +4 -4
  268. package/lib/{components/chat/protocols → protocols}/AGUIAdapter.d.ts +14 -6
  269. package/lib/{components/chat/protocols → protocols}/AGUIAdapter.js +72 -10
  270. package/lib/{components/chat/protocols → protocols}/BaseProtocolAdapter.d.ts +6 -6
  271. package/lib/{components/chat/protocols → protocols}/BaseProtocolAdapter.js +1 -1
  272. package/lib/{components/chat/protocols → protocols}/VercelAIAdapter.d.ts +31 -7
  273. package/lib/protocols/VercelAIAdapter.js +682 -0
  274. package/lib/{components/chat/protocols → protocols}/index.d.ts +1 -2
  275. package/lib/{components/chat/protocols → protocols}/index.js +1 -1
  276. package/lib/specs/agents/agents.d.ts +54 -0
  277. package/lib/specs/agents/{mocks/agents.js → agents.js} +1144 -799
  278. package/lib/specs/agents/index.js +14 -9
  279. package/lib/specs/envvars.d.ts +11 -19
  280. package/lib/specs/envvars.js +42 -21
  281. package/lib/specs/evals.d.ts +20 -0
  282. package/lib/specs/evals.js +133 -0
  283. package/lib/specs/events.d.ts +18 -0
  284. package/lib/specs/events.js +182 -0
  285. package/lib/specs/frontendTools.d.ts +14 -0
  286. package/lib/specs/frontendTools.js +53 -0
  287. package/lib/specs/guardrails.d.ts +22 -0
  288. package/lib/specs/guardrails.js +391 -0
  289. package/lib/specs/index.d.ts +15 -2
  290. package/lib/specs/index.js +15 -2
  291. package/lib/specs/mcpServers.d.ts +13 -11
  292. package/lib/specs/mcpServers.js +82 -28
  293. package/lib/specs/memory.d.ts +34 -0
  294. package/lib/specs/memory.js +99 -0
  295. package/lib/specs/models.d.ts +21 -34
  296. package/lib/specs/models.js +61 -41
  297. package/lib/specs/notifications.d.ts +17 -0
  298. package/lib/specs/notifications.js +187 -0
  299. package/lib/specs/outputs.d.ts +19 -0
  300. package/lib/specs/outputs.js +112 -0
  301. package/lib/specs/skills.d.ts +7 -16
  302. package/lib/specs/skills.js +89 -12
  303. package/lib/specs/teams/index.d.ts +17 -0
  304. package/lib/specs/teams/index.js +37 -0
  305. package/lib/specs/teams/teams.d.ts +27 -0
  306. package/lib/specs/teams/teams.js +1120 -0
  307. package/lib/specs/tools.d.ts +15 -0
  308. package/lib/specs/tools.js +83 -0
  309. package/lib/specs/triggers.d.ts +15 -0
  310. package/lib/specs/triggers.js +117 -0
  311. package/lib/stores/agentsStore.d.ts +123 -0
  312. package/lib/stores/agentsStore.js +270 -0
  313. package/lib/{components/chat/store → stores}/chatStore.d.ts +3 -2
  314. package/lib/{components/chat/store → stores}/chatStore.js +2 -2
  315. package/lib/{components/chat/store → stores}/conversationStore.d.ts +1 -1
  316. package/lib/{components/chat/store → stores}/conversationStore.js +1 -1
  317. package/lib/{components/chat/store → stores}/index.d.ts +3 -2
  318. package/lib/{components/chat/store → stores}/index.js +3 -2
  319. package/lib/{components/chat/tools → tools}/ToolExecutor.d.ts +2 -2
  320. package/lib/{components/chat/tools → tools}/ToolExecutor.js +1 -1
  321. package/lib/tools/adapters/agent-runtimes/AgentRuntimesToolAdapter.d.ts +1 -1
  322. package/lib/tools/adapters/agent-runtimes/lexicalHooks.d.ts +14 -10
  323. package/lib/tools/adapters/agent-runtimes/lexicalHooks.js +31 -21
  324. package/lib/tools/adapters/agent-runtimes/notebookHooks.d.ts +1 -1
  325. package/lib/tools/index.d.ts +3 -0
  326. package/lib/tools/index.js +3 -7
  327. package/lib/types/a2a.d.ts +39 -0
  328. package/lib/types/acp.d.ts +21 -0
  329. package/lib/types/ag-ui.d.ts +25 -0
  330. package/lib/types/agents-lifecycle.d.ts +36 -0
  331. package/lib/types/agents.d.ts +80 -0
  332. package/lib/types/agents.js +22 -0
  333. package/lib/types/agentspecs.d.ts +90 -0
  334. package/lib/{components/chat/components/base/ChatBase.d.ts → types/chat.d.ts} +59 -99
  335. package/lib/types/checkpoints.d.ts +32 -0
  336. package/lib/types/checkpoints.js +5 -0
  337. package/lib/types/config.d.ts +67 -0
  338. package/lib/{runtime/types.js → types/config.js} +2 -2
  339. package/lib/types/connection.d.ts +31 -0
  340. package/lib/types/connection.js +5 -0
  341. package/lib/types/context.d.ts +67 -0
  342. package/lib/types/context.js +5 -0
  343. package/lib/types/cost.d.ts +42 -0
  344. package/lib/types/cost.js +5 -0
  345. package/lib/types/envvars.d.ts +21 -0
  346. package/lib/types/envvars.js +5 -0
  347. package/lib/types/evals.d.ts +66 -0
  348. package/lib/types/evals.js +5 -0
  349. package/lib/types/events.d.ts +49 -0
  350. package/lib/types/events.js +5 -0
  351. package/lib/types/eventspecs.d.ts +39 -0
  352. package/lib/types/eventspecs.js +5 -0
  353. package/lib/types/examples.d.ts +31 -0
  354. package/lib/types/examples.js +5 -0
  355. package/lib/{components/chat/types → types}/execution.d.ts +10 -1
  356. package/lib/{components/chat/types/extension.d.ts → types/extensions.d.ts} +3 -3
  357. package/lib/types/guardrails.d.ts +106 -0
  358. package/lib/types/guardrails.js +5 -0
  359. package/lib/types/index.d.ts +36 -2
  360. package/lib/types/index.js +35 -2
  361. package/lib/{components/chat/types → types}/inference.d.ts +3 -3
  362. package/lib/types/inference.js +5 -0
  363. package/lib/types/mcp.d.ts +117 -0
  364. package/lib/types/mcp.js +27 -0
  365. package/lib/types/memory.d.ts +23 -0
  366. package/lib/types/memory.js +5 -0
  367. package/lib/{components/chat/types/message.d.ts → types/messages.d.ts} +20 -1
  368. package/lib/{components/chat/types → types}/middleware.d.ts +3 -3
  369. package/lib/types/models.d.ts +63 -0
  370. package/lib/types/models.js +5 -0
  371. package/lib/types/notifications.d.ts +85 -0
  372. package/lib/types/notifications.js +5 -0
  373. package/lib/types/outputs.d.ts +51 -0
  374. package/lib/types/outputs.js +5 -0
  375. package/lib/{components/chat/types → types}/protocol.d.ts +37 -99
  376. package/lib/types/protocol.js +5 -0
  377. package/lib/types/sandbox.d.ts +27 -0
  378. package/lib/types/sandbox.js +24 -0
  379. package/lib/types/skills.d.ts +74 -0
  380. package/lib/types/skills.js +5 -0
  381. package/lib/types/teams.d.ts +133 -0
  382. package/lib/types/teams.js +5 -0
  383. package/lib/types/tool-approvals.d.ts +39 -0
  384. package/lib/types/tool-approvals.js +5 -0
  385. package/lib/{components/chat/types/tool.d.ts → types/tools.d.ts} +59 -4
  386. package/lib/types/triggers.d.ts +48 -0
  387. package/lib/types/triggers.js +5 -0
  388. package/lib/types/usage.d.ts +36 -0
  389. package/lib/types/usage.js +5 -0
  390. package/lib/utils/index.d.ts +1 -0
  391. package/lib/utils/index.js +5 -0
  392. package/lib/utils/utils.d.ts +60 -0
  393. package/lib/utils/utils.js +205 -0
  394. package/package.json +13 -14
  395. package/scripts/codegen/__pycache__/generate_agents.cpython-313.pyc +0 -0
  396. package/scripts/codegen/__pycache__/generate_envvars.cpython-313.pyc +0 -0
  397. package/scripts/codegen/__pycache__/generate_evals.cpython-313.pyc +0 -0
  398. package/scripts/codegen/__pycache__/generate_guardrails.cpython-313.pyc +0 -0
  399. package/scripts/codegen/__pycache__/generate_mcp_servers.cpython-313.pyc +0 -0
  400. package/scripts/codegen/__pycache__/generate_memory.cpython-313.pyc +0 -0
  401. package/scripts/codegen/__pycache__/generate_models.cpython-313.pyc +0 -0
  402. package/scripts/codegen/__pycache__/generate_notifications.cpython-313.pyc +0 -0
  403. package/scripts/codegen/__pycache__/generate_outputs.cpython-313.pyc +0 -0
  404. package/scripts/codegen/__pycache__/generate_skills.cpython-313.pyc +0 -0
  405. package/scripts/codegen/__pycache__/generate_teams.cpython-313.pyc +0 -0
  406. package/scripts/codegen/__pycache__/generate_tools.cpython-313.pyc +0 -0
  407. package/scripts/codegen/__pycache__/generate_triggers.cpython-313.pyc +0 -0
  408. package/scripts/codegen/__pycache__/versioning.cpython-313.pyc +0 -0
  409. package/scripts/codegen/generate_agents.py +373 -60
  410. package/scripts/codegen/generate_envvars.py +36 -35
  411. package/scripts/codegen/generate_evals.py +279 -0
  412. package/scripts/codegen/generate_events.py +312 -0
  413. package/scripts/codegen/generate_frontend_tools.py +266 -0
  414. package/scripts/codegen/generate_guardrails.py +475 -0
  415. package/scripts/codegen/generate_mcp_servers.py +36 -9
  416. package/scripts/codegen/generate_memory.py +468 -0
  417. package/scripts/codegen/generate_models.py +22 -46
  418. package/scripts/codegen/generate_notifications.py +309 -0
  419. package/scripts/codegen/generate_outputs.py +267 -0
  420. package/scripts/codegen/generate_skills.py +108 -51
  421. package/scripts/codegen/generate_teams.py +922 -0
  422. package/scripts/codegen/generate_tools.py +326 -0
  423. package/scripts/codegen/generate_triggers.py +295 -0
  424. package/scripts/codegen/versioning.py +53 -0
  425. package/lib/components/chat/components/base/ChatBase.js +0 -2242
  426. package/lib/components/chat/components/base/InputPrompt.d.ts +0 -42
  427. package/lib/components/chat/components/base/InputPrompt.js +0 -131
  428. package/lib/components/chat/components/display/index.d.ts +0 -6
  429. package/lib/components/chat/components/index.d.ts +0 -26
  430. package/lib/components/chat/components/index.js +0 -39
  431. package/lib/components/chat/extensions/A2UIExtension.d.ts +0 -87
  432. package/lib/components/chat/extensions/A2UIExtension.js +0 -312
  433. package/lib/components/chat/extensions/index.d.ts +0 -10
  434. package/lib/components/chat/index.d.ts +0 -61
  435. package/lib/components/chat/index.js +0 -76
  436. package/lib/components/chat/protocols/VercelAIAdapter.js +0 -315
  437. package/lib/components/chat/tools/index.d.ts +0 -8
  438. package/lib/components/chat/tools/index.js +0 -11
  439. package/lib/components/chat/types/index.d.ts +0 -12
  440. package/lib/components/chat/types/index.js +0 -17
  441. package/lib/components/sparklines/Sparklines.d.ts +0 -16
  442. package/lib/components/sparklines/Sparklines.js +0 -65
  443. package/lib/components/sparklines/SparklinesLine.d.ts +0 -8
  444. package/lib/components/sparklines/SparklinesLine.js +0 -37
  445. package/lib/components/sparklines/dataProcessing.d.ts +0 -25
  446. package/lib/components/sparklines/dataProcessing.js +0 -35
  447. package/lib/components/sparklines/index.d.ts +0 -4
  448. package/lib/components/sparklines/index.js +0 -7
  449. package/lib/components/sparklines/types.d.ts +0 -36
  450. package/lib/examples/stores/examplesStore.d.ts +0 -5
  451. package/lib/examples/stores/notebooks/Empty.ipynb.json +0 -33
  452. package/lib/examples/stores/notebooks/NotebookExample2.ipynb.json +0 -48
  453. package/lib/examples/stores/themeStore.d.ts +0 -33
  454. package/lib/examples/stores/themeStore.js +0 -38
  455. package/lib/hooks/useAgentRuntimes.d.ts +0 -350
  456. package/lib/hooks/useAgentRuntimes.js +0 -78
  457. package/lib/hooks/useKeyboardShortcuts.d.ts +0 -47
  458. package/lib/hooks/useKeyboardShortcuts.js +0 -153
  459. package/lib/hooks/useMobile.d.ts +0 -1
  460. package/lib/hooks/useMobile.js +0 -19
  461. package/lib/hooks/useNotebookAIAgent.d.ts +0 -8
  462. package/lib/hooks/useNotebookAIAgent.js +0 -73
  463. package/lib/renderers/a2ui/components/A2UIRenderer.d.ts +0 -7
  464. package/lib/renderers/a2ui/components/A2UIRenderer.js +0 -102
  465. package/lib/renderers/a2ui/components/SurfaceRenderer.d.ts +0 -7
  466. package/lib/renderers/a2ui/components/SurfaceRenderer.js +0 -101
  467. package/lib/renderers/a2ui/components/content/AudioPlayer.d.ts +0 -9
  468. package/lib/renderers/a2ui/components/content/AudioPlayer.js +0 -38
  469. package/lib/renderers/a2ui/components/content/Divider.d.ts +0 -9
  470. package/lib/renderers/a2ui/components/content/Divider.js +0 -35
  471. package/lib/renderers/a2ui/components/content/Icon.d.ts +0 -9
  472. package/lib/renderers/a2ui/components/content/Icon.js +0 -110
  473. package/lib/renderers/a2ui/components/content/Image.d.ts +0 -9
  474. package/lib/renderers/a2ui/components/content/Image.js +0 -61
  475. package/lib/renderers/a2ui/components/content/Text.d.ts +0 -9
  476. package/lib/renderers/a2ui/components/content/Text.js +0 -64
  477. package/lib/renderers/a2ui/components/content/Video.d.ts +0 -9
  478. package/lib/renderers/a2ui/components/content/Video.js +0 -37
  479. package/lib/renderers/a2ui/components/content/index.d.ts +0 -6
  480. package/lib/renderers/a2ui/components/content/index.js +0 -25
  481. package/lib/renderers/a2ui/components/index.d.ts +0 -5
  482. package/lib/renderers/a2ui/components/index.js +0 -24
  483. package/lib/renderers/a2ui/components/interactive/Button.d.ts +0 -11
  484. package/lib/renderers/a2ui/components/interactive/Button.js +0 -71
  485. package/lib/renderers/a2ui/components/interactive/CheckBox.d.ts +0 -9
  486. package/lib/renderers/a2ui/components/interactive/CheckBox.js +0 -48
  487. package/lib/renderers/a2ui/components/interactive/DateTimeInput.d.ts +0 -9
  488. package/lib/renderers/a2ui/components/interactive/DateTimeInput.js +0 -62
  489. package/lib/renderers/a2ui/components/interactive/MultipleChoice.d.ts +0 -9
  490. package/lib/renderers/a2ui/components/interactive/MultipleChoice.js +0 -73
  491. package/lib/renderers/a2ui/components/interactive/Slider.d.ts +0 -9
  492. package/lib/renderers/a2ui/components/interactive/Slider.js +0 -53
  493. package/lib/renderers/a2ui/components/interactive/TextField.d.ts +0 -9
  494. package/lib/renderers/a2ui/components/interactive/TextField.js +0 -72
  495. package/lib/renderers/a2ui/components/interactive/index.d.ts +0 -6
  496. package/lib/renderers/a2ui/components/interactive/index.js +0 -25
  497. package/lib/renderers/a2ui/components/layout/Card.d.ts +0 -11
  498. package/lib/renderers/a2ui/components/layout/Card.js +0 -30
  499. package/lib/renderers/a2ui/components/layout/Column.d.ts +0 -11
  500. package/lib/renderers/a2ui/components/layout/Column.js +0 -65
  501. package/lib/renderers/a2ui/components/layout/List.d.ts +0 -11
  502. package/lib/renderers/a2ui/components/layout/List.js +0 -55
  503. package/lib/renderers/a2ui/components/layout/Modal.d.ts +0 -11
  504. package/lib/renderers/a2ui/components/layout/Modal.js +0 -58
  505. package/lib/renderers/a2ui/components/layout/Row.d.ts +0 -11
  506. package/lib/renderers/a2ui/components/layout/Row.js +0 -65
  507. package/lib/renderers/a2ui/components/layout/Tabs.d.ts +0 -11
  508. package/lib/renderers/a2ui/components/layout/Tabs.js +0 -48
  509. package/lib/renderers/a2ui/components/layout/index.d.ts +0 -6
  510. package/lib/renderers/a2ui/components/layout/index.js +0 -25
  511. package/lib/renderers/a2ui/context/A2UIContext.d.ts +0 -17
  512. package/lib/renderers/a2ui/context/A2UIContext.js +0 -54
  513. package/lib/renderers/a2ui/context/ThemeContext.d.ts +0 -20
  514. package/lib/renderers/a2ui/context/ThemeContext.js +0 -333
  515. package/lib/renderers/a2ui/hooks/useA2UI.d.ts +0 -36
  516. package/lib/renderers/a2ui/hooks/useA2UI.js +0 -62
  517. package/lib/renderers/a2ui/hooks/useDataBinding.d.ts +0 -8
  518. package/lib/renderers/a2ui/hooks/useDataBinding.js +0 -83
  519. package/lib/renderers/a2ui/index.d.ts +0 -9
  520. package/lib/renderers/a2ui/index.js +0 -28
  521. package/lib/renderers/a2ui/lib/utils.d.ts +0 -11
  522. package/lib/renderers/a2ui/lib/utils.js +0 -38
  523. package/lib/renderers/a2ui/types/index.d.ts +0 -17
  524. package/lib/runtime/index.d.ts +0 -38
  525. package/lib/runtime/index.js +0 -40
  526. package/lib/runtime/runtimeStore.d.ts +0 -76
  527. package/lib/runtime/runtimeStore.js +0 -184
  528. package/lib/runtime/types.d.ts +0 -84
  529. package/lib/runtime/useAgentConnection.d.ts +0 -45
  530. package/lib/runtime/useAgentConnection.js +0 -112
  531. package/lib/runtime/useAgentRuntime.d.ts +0 -93
  532. package/lib/runtime/useAgentRuntime.js +0 -125
  533. package/lib/specs/agents/codeai/agents.d.ts +0 -28
  534. package/lib/specs/agents/codeai/agents.js +0 -179
  535. package/lib/specs/agents/codeai/index.d.ts +0 -1
  536. package/lib/specs/agents/codemode-paper/agents.d.ts +0 -31
  537. package/lib/specs/agents/codemode-paper/agents.js +0 -378
  538. package/lib/specs/agents/codemode-paper/index.d.ts +0 -1
  539. package/lib/specs/agents/codemode-paper/index.js +0 -5
  540. package/lib/specs/agents/datalayer-ai/agents.d.ts +0 -31
  541. package/lib/specs/agents/datalayer-ai/agents.js +0 -352
  542. package/lib/specs/agents/datalayer-ai/index.d.ts +0 -1
  543. package/lib/specs/agents/datalayer-ai/index.js +0 -5
  544. package/lib/specs/agents/mocks/agents.d.ts +0 -43
  545. package/lib/specs/agents/mocks/index.d.ts +0 -1
  546. package/lib/specs/agents/mocks/index.js +0 -5
  547. package/lib/state/index.d.ts +0 -1
  548. package/lib/state/index.js +0 -5
  549. package/lib/state/substates/AIAgentState.d.ts +0 -80
  550. package/lib/state/substates/AIAgentState.js +0 -108
  551. package/lib/state/substates/index.d.ts +0 -1
  552. package/lib/state/substates/index.js +0 -5
  553. package/lib/types/AIAgent.d.ts +0 -17
  554. package/lib/types/Types.d.ts +0 -217
  555. /package/lib/{components/chat → api}/handler.d.ts +0 -0
  556. /package/lib/{renderers/index.d.ts → api/utils.d.ts} +0 -0
  557. /package/lib/{renderers/index.js → api/utils.js} +0 -0
  558. /package/lib/{components/chat/components/elements → chat/display}/PoweredByTag.js +0 -0
  559. /package/lib/{components/chat/components → chat}/parts/DynamicToolPart.js +0 -0
  560. /package/lib/{components/chat/components → chat}/parts/ReasoningPart.d.ts +0 -0
  561. /package/lib/{components/chat/components → chat}/parts/TextPart.js +0 -0
  562. /package/lib/{components/chat/components → chat}/parts/ToolPart.d.ts +0 -0
  563. /package/lib/{components/chat/components → chat}/styles/streamdownStyles.js +0 -0
  564. /package/lib/{components/chat/components/elements → chat/tools}/ToolApprovalDialog.d.ts +0 -0
  565. /package/lib/{components/chat/components → context}/ContextDistribution.d.ts +0 -0
  566. /package/lib/{components/chat/components → context}/ContextDistribution.js +0 -0
  567. /package/lib/{components/chat/components → context}/ContextInspector.d.ts +0 -0
  568. /package/lib/{components/chat/components → context}/ContextPanel.d.ts +0 -0
  569. /package/lib/{components/chat/components → context}/ContextUsage.d.ts +0 -0
  570. /package/lib/{components/chat/components → context}/ContextUsage.js +0 -0
  571. /package/lib/examples/{JupyterCellExample.d.ts → CellSimpleExample.d.ts} +0 -0
  572. /package/lib/examples/{AgentRuntimeCustomExample.d.ts → ChatCustomExample.d.ts} +0 -0
  573. /package/lib/examples/{AgentRuntimeChatExample.d.ts → ChatExample.d.ts} +0 -0
  574. /package/lib/examples/{AgentRuntimeStandaloneExample.d.ts → ChatStandaloneExample.d.ts} +0 -0
  575. /package/lib/examples/{AgentRuntimeNotebookExample.d.ts → NotebookExample.d.ts} +0 -0
  576. /package/lib/examples/{AgentRuntimeNotebookSidebarExample.d.ts → NotebookSidebarExample.d.ts} +0 -0
  577. /package/lib/examples/{JupyterNotebookExample.d.ts → NotebookSimpleExample.d.ts} +0 -0
  578. /package/lib/examples/{stores → utils}/agents/earthquake-detector.ipynb.json +0 -0
  579. /package/lib/examples/{stores → utils}/agents/earthquake-detector.json +0 -0
  580. /package/lib/examples/{stores → utils}/agents/earthquake-detector.lexical.json +0 -0
  581. /package/lib/examples/{stores → utils}/agents/sales-forecaster.ipynb.json +0 -0
  582. /package/lib/examples/{stores → utils}/agents/sales-forecaster.json +0 -0
  583. /package/lib/examples/{stores → utils}/agents/sales-forecaster.lexical.json +0 -0
  584. /package/lib/examples/{stores → utils}/agents/social-post-generator.ipynb.json +0 -0
  585. /package/lib/examples/{stores → utils}/agents/social-post-generator.json +0 -0
  586. /package/lib/examples/{stores → utils}/agents/social-post-generator.lexical.json +0 -0
  587. /package/lib/examples/{stores → utils}/agents/stock-market.ipynb.json +0 -0
  588. /package/lib/examples/{stores → utils}/agents/stock-market.json +0 -0
  589. /package/lib/examples/{stores → utils}/agents/stock-market.lexical.json +0 -0
  590. /package/lib/examples/{stores → utils}/notebooks/IPyWidgetsExample.ipynb.json +0 -0
  591. /package/lib/examples/{stores → utils}/notebooks/IPyWidgetsExampleWithState.ipynb.json +0 -0
  592. /package/lib/examples/{stores → utils}/notebooks/Lite.ipynb.json +0 -0
  593. /package/lib/examples/{stores → utils}/notebooks/Matplotlib.ipynb.json +0 -0
  594. /package/lib/examples/{stores → utils}/notebooks/NotebookExample1.ipynb.json +0 -0
  595. /package/lib/examples/{stores → utils}/notebooks/NotebookOutputs.ipynb.json +0 -0
  596. /package/lib/examples/{stores → utils}/notebooks/NotebookToCExample.ipynb.json +0 -0
  597. /package/lib/examples/{stores → utils}/notebooks/OutputIPyWidgetsExample.d.ts +0 -0
  598. /package/lib/examples/{stores → utils}/notebooks/OutputIPyWidgetsExample.js +0 -0
  599. /package/lib/examples/{stores → utils}/notebooks/PyGWalker.ipynb.json +0 -0
  600. /package/lib/examples/{stores → utils}/themedProvider.d.ts +0 -0
  601. /package/lib/examples/{stores → utils}/themedProvider.js +0 -0
  602. /package/lib/{components/chat/inference → inference}/BaseInferenceProvider.js +0 -0
  603. /package/lib/{components → mcp}/McpServerManager.js +0 -0
  604. /package/lib/{components/chat/middleware → middleware}/MiddlewarePipeline.js +0 -0
  605. /package/lib/{components/chat/types/inference.js → types/a2a.js} +0 -0
  606. /package/lib/{components/chat/types/protocol.js → types/acp.js} +0 -0
  607. /package/lib/{components/sparklines/types.js → types/ag-ui.js} +0 -0
  608. /package/lib/{renderers/a2ui/types/index.js → types/agents-lifecycle.js} +0 -0
  609. /package/lib/types/{AIAgent.js → agentspecs.js} +0 -0
  610. /package/lib/types/{Types.js → chat.js} +0 -0
  611. /package/lib/{components/chat/types → types}/execution.js +0 -0
  612. /package/lib/{components/chat/types/extension.js → types/extensions.js} +0 -0
  613. /package/lib/{components/chat/types/message.js → types/messages.js} +0 -0
  614. /package/lib/{components/chat/types → types}/middleware.js +0 -0
  615. /package/lib/{components/chat/types/tool.js → types/tools.js} +0 -0
@@ -1,5 +1,5 @@
1
- import { type ToolCallState } from '../components/chat/store';
2
- import type { ToolParameter, ToolRenderProps, ToolRenderAndWaitProps, ToolLocation } from '../components/chat/types/tool';
1
+ import { type ToolCallState } from '../stores';
2
+ import type { ToolParameter, ToolRenderProps, ToolRenderAndWaitProps, ToolLocation } from '../types/tools';
3
3
  /**
4
4
  * Type signature for useFrontendTool hook
5
5
  * Compatible with CopilotKit's interface
@@ -69,11 +69,11 @@ export declare function useBackendTool(tool: {
69
69
  /**
70
70
  * Hook to get registered tools
71
71
  */
72
- export declare function useRegisteredTools(): import("..").ToolDefinition[];
72
+ export declare function useRegisteredTools(): import("../types").ToolDefinition[];
73
73
  /**
74
74
  * Hook to get a specific tool by name
75
75
  */
76
- export declare function useTool(name: string): import("..").ToolRegistryEntry | undefined;
76
+ export declare function useTool(name: string): import("../types").ToolRegistryEntry | undefined;
77
77
  /**
78
78
  * Hook to get pending tool calls
79
79
  */
@@ -6,10 +6,10 @@
6
6
  * React hooks for chat tool registration and usage.
7
7
  * Compatible with CopilotKit's useFrontendTool pattern.
8
8
  *
9
- * @module components/chat/hooks/useTools
9
+ * @module components/hooks/useTools
10
10
  */
11
11
  import { useEffect, useMemo } from 'react';
12
- import { useChatStore } from '../components/chat/store';
12
+ import { useChatStore } from '../stores';
13
13
  /**
14
14
  * Hook to register a frontend tool
15
15
  * Compatible with CopilotKit's useFrontendTool
@@ -4,7 +4,7 @@ export interface Message {
4
4
  role: 'user' | 'assistant' | 'system';
5
5
  content: string;
6
6
  }
7
- export interface UseVercelChatOptions {
7
+ export interface UseVercelAIOptions {
8
8
  /**
9
9
  * Base URL for the Vercel AI endpoint (e.g., 'http://localhost:8000')
10
10
  */
@@ -36,10 +36,10 @@ export interface UseVercelChatOptions {
36
36
  *
37
37
  * Example:
38
38
  * ```tsx
39
- * const { messages, sendMessage, isLoading } = useVercelChat({
39
+ * const { messages, sendMessage, isLoading } = useVercelAI({
40
40
  * baseUrl: 'http://localhost:8888',
41
41
  * agentId: 'demo-agent',
42
42
  * });
43
43
  * ```
44
44
  */
45
- export declare function useVercelChat(options?: UseVercelChatOptions): UseChatHelpers<UIMessage>;
45
+ export declare function useVercelAI(options?: UseVercelAIOptions): UseChatHelpers<UIMessage>;
@@ -19,13 +19,13 @@ import { DefaultChatTransport } from 'ai';
19
19
  *
20
20
  * Example:
21
21
  * ```tsx
22
- * const { messages, sendMessage, isLoading } = useVercelChat({
22
+ * const { messages, sendMessage, isLoading } = useVercelAI({
23
23
  * baseUrl: 'http://localhost:8888',
24
24
  * agentId: 'demo-agent',
25
25
  * });
26
26
  * ```
27
27
  */
28
- export function useVercelChat(options = {}) {
28
+ export function useVercelAI(options = {}) {
29
29
  const { baseUrl = 'http://localhost:8888', agentId = 'demo-agent', onMessageSent, } = options;
30
30
  // Construct the chat endpoint URL
31
31
  const apiEndpoint = `${baseUrl}/api/v1/vercel-ai/chat`;
@@ -1,4 +1,4 @@
1
- import type { OAuthProvider, OAuthProviderConfig, Identity } from '../../../identity';
1
+ import type { OAuthProvider, OAuthProviderConfig, Identity } from './types';
2
2
  /**
3
3
  * Token status information
4
4
  */
@@ -7,13 +7,14 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
7
  * AgentIdentity component - Shows connected identity providers with token status.
8
8
  * Displays expiration details and allows reconnection if token expired.
9
9
  *
10
- * @module components/chat/components/AgentIdentity
10
+ * @module components/identity/AgentIdentity
11
11
  */
12
12
  import React, { useCallback, useMemo } from 'react';
13
13
  import { Box, Text, Button, Label, Avatar, Flash, Tooltip, } from '@primer/react';
14
14
  import { MarkGithubIcon, LinkIcon, UnlinkIcon, CheckCircleFillIcon, AlertIcon, ClockIcon, SyncIcon, KeyIcon, } from '@primer/octicons-react';
15
- import { useIdentity, IdentityButton } from '../../../identity';
16
- import { GITHUB_PROVIDER, GOOGLE_PROVIDER, KAGGLE_PROVIDER, } from '../../../identity';
15
+ import { useIdentity } from './useIdentity';
16
+ import { IdentityButton } from './IdentityConnect';
17
+ import { GITHUB_PROVIDER, GOOGLE_PROVIDER, KAGGLE_PROVIDER } from './types';
17
18
  const PROVIDER_DISPLAY = {
18
19
  github: {
19
20
  name: 'GitHub',
@@ -43,4 +43,5 @@ export { discoverAuthorizationServer, supportsDCR, registerClient, updateClientR
43
43
  export { useIdentityStore, useConnectedIdentities, useConnectedProviders, useIdentity as useIdentitySelector, useIsProviderConnected, usePendingAuthorization, useIdentityLoading, useIdentityError, configureBuiltinProviders, } from './identityStore';
44
44
  export { useIdentity, type UseIdentityOptions, type UseIdentityReturn, } from './useIdentity';
45
45
  export { IdentityButton, IdentityConnect, IdentityMenu, type IdentityButtonProps, type IdentityConnectProps, type IdentityMenuProps, } from './IdentityConnect';
46
+ export { AgentIdentity, IdentityCard, getTokenStatus, formatDuration, formatExpirationStatus, type AgentIdentityProps, type IdentityCardProps, type TokenStatus, } from './AgentIdentity';
46
47
  export { OAuthCallback, type OAuthCallbackProps } from './OAuthCallback';
@@ -13,5 +13,7 @@ export { useIdentityStore, useConnectedIdentities, useConnectedProviders, useIde
13
13
  export { useIdentity, } from './useIdentity';
14
14
  // UI Components
15
15
  export { IdentityButton, IdentityConnect, IdentityMenu, } from './IdentityConnect';
16
+ // Agent identity status UI
17
+ export { AgentIdentity, IdentityCard, getTokenStatus, formatDuration, formatExpirationStatus, } from './AgentIdentity';
16
18
  // OAuth Callback
17
19
  export { OAuthCallback } from './OAuthCallback';
package/lib/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
+ export * from './chat';
1
2
  export * from './components';
2
- export * from './state';
3
- export * from './runtime';
3
+ export * from './mcp';
4
+ export * from './stores';
4
5
  export * from './identity';
5
6
  export * from './config';
6
7
  export * from './specs';
7
- export type { ConversationEntry, MCPServer, AgentSkillSpec, AgentSpec, AIModelRuntime, FrontendConfig, BuiltinTool, MCPServerTool, } from './types/Types';
8
+ export type { AgentRuntimeData, AgentSpec, TeamSpec, GuardrailSpec, EvalSpec, TriggerSpec, OutputSpec, NotificationChannelSpec, MCPServer, SkillSpec, EnvvarSpec, } from './types';
package/lib/index.js CHANGED
@@ -2,9 +2,10 @@
2
2
  * Copyright (c) 2025-2026 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
+ export * from './chat';
5
6
  export * from './components';
6
- export * from './state';
7
- export * from './runtime';
7
+ export * from './mcp';
8
+ export * from './stores';
8
9
  export * from './identity';
9
10
  export * from './config';
10
11
  export * from './specs';
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * Base inference provider class with common functionality.
3
3
  *
4
- * @module components/chat/inference/BaseInferenceProvider
4
+ * @module inference/BaseInferenceProvider
5
5
  */
6
6
  import type { InferenceProvider, InferenceProviderConfig, InferenceRequestOptions, InferenceResponse, StreamEventHandler } from '../types';
7
- import type { ChatMessage } from '../types/message';
8
- import type { ToolExecutionResult } from '../types/tool';
7
+ import type { ChatMessage } from '../types/messages';
8
+ import type { ToolExecutionResult } from '../types/tools';
9
9
  /**
10
10
  * Abstract base class for inference providers
11
11
  */
@@ -2,11 +2,11 @@
2
2
  * Datalayer inference provider implementation.
3
3
  * Uses Datalayer's API for LLM inference.
4
4
  *
5
- * @module components/chat/inference/DatalayerInferenceProvider
5
+ * @module inference/DatalayerInferenceProvider
6
6
  */
7
7
  import type { InferenceProviderConfig, InferenceRequestOptions, InferenceResponse, StreamEventHandler } from '../types';
8
- import type { ChatMessage } from '../types/message';
9
- import type { ToolExecutionResult } from '../types/tool';
8
+ import type { ChatMessage } from '../types/messages';
9
+ import type { ToolExecutionResult } from '../types/tools';
10
10
  import { BaseInferenceProvider } from './BaseInferenceProvider';
11
11
  /**
12
12
  * Finish reason type for inference responses
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) 2025-2026 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- import { generateMessageId, createAssistantMessage } from '../types/message';
5
+ import { generateMessageId, createAssistantMessage } from '../types/messages';
6
6
  import { BaseInferenceProvider } from './BaseInferenceProvider';
7
7
  /**
8
8
  * Datalayer inference provider
@@ -2,10 +2,10 @@
2
2
  * Self-hosted inference provider for custom endpoints.
3
3
  * Supports OpenAI-compatible APIs.
4
4
  *
5
- * @module components/chat/inference/SelfHostedInferenceProvider
5
+ * @module inference/SelfHostedInferenceProvider
6
6
  */
7
7
  import type { InferenceProviderConfig, InferenceRequestOptions, InferenceResponse, StreamEventHandler } from '../types';
8
- import type { ChatMessage } from '../types/message';
8
+ import type { ChatMessage } from '../types/messages';
9
9
  import { BaseInferenceProvider } from './BaseInferenceProvider';
10
10
  /**
11
11
  * Self-hosted provider configuration
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) 2025-2026 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- import { generateMessageId, createAssistantMessage } from '../types/message';
5
+ import { generateMessageId, createAssistantMessage } from '../types/messages';
6
6
  import { BaseInferenceProvider } from './BaseInferenceProvider';
7
7
  /**
8
8
  * Self-hosted inference provider for custom OpenAI-compatible endpoints
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Inference provider exports for chat component.
3
3
  *
4
- * @module components/chat/inference
4
+ * @module inference
5
5
  */
6
6
  export { BaseInferenceProvider } from './BaseInferenceProvider';
7
7
  export { DatalayerInferenceProvider, type DatalayerInferenceConfig, } from './DatalayerInferenceProvider';
@@ -5,7 +5,7 @@
5
5
  /**
6
6
  * Inference provider exports for chat component.
7
7
  *
8
- * @module components/chat/inference
8
+ * @module inference
9
9
  */
10
10
  export { BaseInferenceProvider } from './BaseInferenceProvider';
11
11
  export { DatalayerInferenceProvider, } from './DatalayerInferenceProvider';
@@ -1,5 +1,5 @@
1
1
  import { type LexicalCommand } from 'lexical';
2
- import { type ChatInlineProtocolConfig } from '../components/chat/components/ChatInline';
2
+ import { type ChatInlineProtocolConfig } from '../chat/ChatInline';
3
3
  /**
4
4
  * Lexical commands for selection preservation
5
5
  */
@@ -41,7 +41,7 @@ import { $getSelection, $isRangeSelection, $createParagraphNode, $createTextNode
41
41
  import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
42
42
  import { autoUpdate, hide, limitShift, offset, shift, size, useFloating, } from '@floating-ui/react-dom';
43
43
  import { Box } from '@primer/react';
44
- import { ChatInline, } from '../components/chat/components/ChatInline';
44
+ import { ChatInline } from '../chat/ChatInline';
45
45
  // Margin from editor edges
46
46
  const MARGIN_X = 32;
47
47
  /**
@@ -1,5 +1,4 @@
1
- import type { McpServerSelection } from './chat/types';
2
- export type { McpServerSelection };
1
+ import type { McpServerSelection } from '../types';
3
2
  export interface McpServerManagerProps {
4
3
  /** Base URL for the API */
5
4
  baseUrl: string;
@@ -0,0 +1 @@
1
+ export { McpServerManager } from './McpServerManager';
@@ -2,4 +2,4 @@
2
2
  * Copyright (c) 2025-2026 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- export * from './agents';
5
+ export { McpServerManager } from './McpServerManager';
@@ -2,11 +2,11 @@
2
2
  * Middleware pipeline for chat component.
3
3
  * Provides hooks for intercepting and modifying chat operations.
4
4
  *
5
- * @module components/chat/middleware/MiddlewarePipeline
5
+ * @module middleware/MiddlewarePipeline
6
6
  */
7
7
  import type { ChatMiddleware, MiddlewareContext, BeforeRequestMiddleware, AfterRequestMiddleware, ToolCallMiddleware, ErrorMiddleware } from '../types/middleware';
8
- import type { ChatMessage } from '../types/message';
9
- import type { ToolDefinition, ToolCallRequest, ToolExecutionResult } from '../types/tool';
8
+ import type { ChatMessage } from '../types/messages';
9
+ import type { ToolDefinition, ToolCallRequest, ToolExecutionResult } from '../types/tools';
10
10
  import type { InferenceRequestOptions, InferenceResponse } from '../types/inference';
11
11
  /**
12
12
  * Request context for before-request middleware
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Middleware exports for chat component.
3
3
  *
4
- * @module components/chat/middleware
4
+ * @module middleware
5
5
  */
6
6
  export { MiddlewarePipeline, createMiddleware, loggingMiddleware, createHITLMiddleware, type RequestContext, type ResponseContext, } from './MiddlewarePipeline';
7
7
  export type { ChatMiddleware, MiddlewareContext } from '../types/middleware';
@@ -5,6 +5,6 @@
5
5
  /**
6
6
  * Middleware exports for chat component.
7
7
  *
8
- * @module components/chat/middleware
8
+ * @module middleware
9
9
  */
10
10
  export { MiddlewarePipeline, createMiddleware, loggingMiddleware, createHITLMiddleware, } from './MiddlewarePipeline';
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * A2A (Agent-to-Agent) protocol adapter using SSE transport.
3
3
  *
4
- * @module components/chat/protocols/A2AAdapter
4
+ * @module protocols/A2AAdapter
5
5
  */
6
- import type { ProtocolAdapterConfig, AgentCard } from '../types/protocol';
7
- import type { ChatMessage } from '../types/message';
8
- import type { ToolDefinition, ToolExecutionResult } from '../types/tool';
6
+ import type { ChatMessage } from '../types/messages';
7
+ import type { ProtocolAdapterConfig, AgentCard } from '../types';
8
+ import type { ToolDefinition, ToolExecutionResult } from '../types/tools';
9
9
  import { BaseProtocolAdapter } from './BaseProtocolAdapter';
10
10
  /**
11
11
  * A2A specific configuration
@@ -21,8 +21,8 @@ export interface A2AAdapterConfig extends ProtocolAdapterConfig {
21
21
  * Uses JSON-RPC 2.0 with SSE streaming for responses
22
22
  */
23
23
  export declare class A2AAdapter extends BaseProtocolAdapter {
24
- readonly type: "a2a";
25
- readonly transport: "sse";
24
+ readonly protocol: "a2a";
25
+ readonly protocolTransport: "sse";
26
26
  private a2aConfig;
27
27
  private abortController;
28
28
  private agentCard;
@@ -2,15 +2,15 @@
2
2
  * Copyright (c) 2025-2026 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- import { generateMessageId, createAssistantMessage } from '../types/message';
5
+ import { generateMessageId, createAssistantMessage } from '../types/messages';
6
6
  import { BaseProtocolAdapter } from './BaseProtocolAdapter';
7
7
  /**
8
8
  * A2A protocol adapter
9
9
  * Uses JSON-RPC 2.0 with SSE streaming for responses
10
10
  */
11
11
  export class A2AAdapter extends BaseProtocolAdapter {
12
- type = 'a2a';
13
- transport = 'sse';
12
+ protocol = 'a2a';
13
+ protocolTransport = 'sse';
14
14
  a2aConfig;
15
15
  abortController = null;
16
16
  agentCard = null;
@@ -11,12 +11,12 @@
11
11
  * - Session updates via session/update notifications
12
12
  * - Permission handling via session/request_permission
13
13
  *
14
- * @module components/chat/protocols/ACPAdapter
14
+ * @module protocols/ACPAdapter
15
15
  */
16
16
  import { type PermissionOption, type ToolCallUpdate } from '@agentclientprotocol/sdk';
17
- import type { ProtocolAdapterConfig } from '../types/protocol';
18
- import type { ChatMessage } from '../types/message';
19
- import type { ToolDefinition, ToolExecutionResult } from '../types/tool';
17
+ import type { ProtocolAdapterConfig } from '../types';
18
+ import type { ChatMessage } from '../types/messages';
19
+ import type { ToolDefinition, ToolExecutionResult } from '../types/tools';
20
20
  import { BaseProtocolAdapter } from './BaseProtocolAdapter';
21
21
  /**
22
22
  * ACP session tracking
@@ -71,8 +71,8 @@ export interface ACPAdapterConfig extends ProtocolAdapterConfig {
71
71
  * Uses WebSocket with JSON-RPC 2.0 for bidirectional communication
72
72
  */
73
73
  export declare class ACPAdapter extends BaseProtocolAdapter {
74
- readonly type: "acp";
75
- readonly transport: "websocket";
74
+ readonly protocol: "acp";
75
+ readonly protocolTransport: "websocket";
76
76
  private acpConfig;
77
77
  private ws;
78
78
  private session;
@@ -15,18 +15,18 @@
15
15
  * - Session updates via session/update notifications
16
16
  * - Permission handling via session/request_permission
17
17
  *
18
- * @module components/chat/protocols/ACPAdapter
18
+ * @module protocols/ACPAdapter
19
19
  */
20
20
  import { PROTOCOL_VERSION as ACP_PROTOCOL_VERSION, AGENT_METHODS, CLIENT_METHODS, } from '@agentclientprotocol/sdk';
21
- import { generateMessageId, createAssistantMessage } from '../types/message';
21
+ import { generateMessageId, createAssistantMessage } from '../types/messages';
22
22
  import { BaseProtocolAdapter } from './BaseProtocolAdapter';
23
23
  /**
24
24
  * ACP protocol adapter
25
25
  * Uses WebSocket with JSON-RPC 2.0 for bidirectional communication
26
26
  */
27
27
  export class ACPAdapter extends BaseProtocolAdapter {
28
- type = 'acp';
29
- transport = 'websocket';
28
+ protocol = 'acp';
29
+ protocolTransport = 'websocket';
30
30
  acpConfig;
31
31
  ws = null;
32
32
  session = null;
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * AG-UI protocol adapter using SSE transport.
3
3
  *
4
- * @module components/chat/protocols/AGUIAdapter
4
+ * @module protocols/AGUIAdapter
5
5
  */
6
- import type { ProtocolAdapterConfig } from '../types/protocol';
7
- import type { ChatMessage } from '../types/message';
8
- import type { ToolDefinition, ToolExecutionResult } from '../types/tool';
6
+ import type { ProtocolAdapterConfig } from '../types';
7
+ import type { ChatMessage } from '../types/messages';
8
+ import type { ToolDefinition, ToolExecutionResult } from '../types/tools';
9
9
  import { BaseProtocolAdapter } from './BaseProtocolAdapter';
10
10
  /**
11
11
  * AG-UI specific configuration
@@ -19,8 +19,8 @@ export interface AGUIAdapterConfig extends ProtocolAdapterConfig {
19
19
  * Uses HTTP POST with SSE streaming for responses
20
20
  */
21
21
  export declare class AGUIAdapter extends BaseProtocolAdapter {
22
- readonly type: "ag-ui";
23
- readonly transport: "sse";
22
+ readonly protocol: "ag-ui";
23
+ readonly protocolTransport: "sse";
24
24
  private aguiConfig;
25
25
  private abortController;
26
26
  private currentThreadId;
@@ -31,6 +31,9 @@ export declare class AGUIAdapter extends BaseProtocolAdapter {
31
31
  private lastTurnContent;
32
32
  private lastTools;
33
33
  private isContinuation;
34
+ private _streamParsingDepth;
35
+ private _streamDonePromise;
36
+ private _streamDoneResolve;
34
37
  constructor(config: AGUIAdapterConfig);
35
38
  /**
36
39
  * Connect to AG-UI endpoint (SSE doesn't require persistent connection)
@@ -78,6 +81,11 @@ export declare class AGUIAdapter extends BaseProtocolAdapter {
78
81
  * shared state, and duplicate agent responses.
79
82
  */
80
83
  sendToolResult(toolCallId: string, result: ToolExecutionResult): Promise<void>;
84
+ /**
85
+ * Stop generation / abort the in-flight SSE stream without tearing down
86
+ * the adapter connection.
87
+ */
88
+ stopGeneration(): void;
81
89
  /**
82
90
  * Check feature support
83
91
  */
@@ -2,15 +2,15 @@
2
2
  * Copyright (c) 2025-2026 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- import { generateMessageId, createAssistantMessage } from '../types/message';
5
+ import { generateMessageId, createAssistantMessage } from '../types/messages';
6
6
  import { BaseProtocolAdapter } from './BaseProtocolAdapter';
7
7
  /**
8
8
  * AG-UI protocol adapter
9
9
  * Uses HTTP POST with SSE streaming for responses
10
10
  */
11
11
  export class AGUIAdapter extends BaseProtocolAdapter {
12
- type = 'ag-ui';
13
- transport = 'sse';
12
+ protocol = 'ag-ui';
13
+ protocolTransport = 'sse';
14
14
  aguiConfig;
15
15
  abortController = null;
16
16
  currentThreadId = null;
@@ -34,6 +34,15 @@ export class AGUIAdapter extends BaseProtocolAdapter {
34
34
  // Continuation tracking — each continuation creates a new message bubble
35
35
  // that appears after the tool calls in the chat display.
36
36
  isContinuation = false;
37
+ // Stream parsing depth counter — prevents premature continuations.
38
+ // When parseSSEStream is active (depth > 0), the SSE stream may still
39
+ // emit more tool calls. A fast tool handler could resolve between
40
+ // reader.read() yields, causing sendToolResult to see allResolved=true
41
+ // when only a subset of tool calls have been dispatched. This counter
42
+ // lets sendToolResult defer the continuation until parsing finishes.
43
+ _streamParsingDepth = 0;
44
+ _streamDonePromise = null;
45
+ _streamDoneResolve = null;
37
46
  constructor(config) {
38
47
  super(config);
39
48
  // Ensure baseUrl ends with trailing slash (required for mounted Starlette apps)
@@ -243,11 +252,26 @@ export class AGUIAdapter extends BaseProtocolAdapter {
243
252
  result,
244
253
  });
245
254
  // 4. Check whether ALL pending tool calls now have results
246
- const allResolved = Array.from(this.pendingToolCalls.keys()).every(id => this.collectedToolResults.has(id));
255
+ let allResolved = Array.from(this.pendingToolCalls.keys()).every(id => this.collectedToolResults.has(id));
247
256
  if (!allResolved) {
248
257
  // Other tool calls are still executing — wait for them
249
258
  return;
250
259
  }
260
+ // 4b. Guard against premature continuations. If the SSE stream is
261
+ // still being parsed, more TOOL_CALL events may arrive. A fast
262
+ // tool handler can resolve between reader.read() yields, causing
263
+ // allResolved=true when only a subset of tool calls have been
264
+ // dispatched. We wait for the current stream to finish, then
265
+ // re-check — by then all tool calls from this stream are in
266
+ // pendingToolCalls.
267
+ if (this._streamParsingDepth > 0 && this._streamDonePromise) {
268
+ await this._streamDonePromise;
269
+ // Re-check: the stream may have emitted additional tool calls
270
+ allResolved = Array.from(this.pendingToolCalls.keys()).every(id => this.collectedToolResults.has(id));
271
+ if (!allResolved) {
272
+ return;
273
+ }
274
+ }
251
275
  // ── All tool results collected — build ONE combined continuation ──
252
276
  // 5. Build a single assistant message containing ALL tool calls
253
277
  const toolCalls = Array.from(this.collectedToolResults.values()).map(tr => ({
@@ -317,6 +341,14 @@ export class AGUIAdapter extends BaseProtocolAdapter {
317
341
  threadId: this.currentThreadId || undefined,
318
342
  });
319
343
  }
344
+ /**
345
+ * Stop generation / abort the in-flight SSE stream without tearing down
346
+ * the adapter connection.
347
+ */
348
+ stopGeneration() {
349
+ this.abortController?.abort();
350
+ this.abortController = null;
351
+ }
320
352
  /**
321
353
  * Check feature support
322
354
  */
@@ -351,6 +383,14 @@ export class AGUIAdapter extends BaseProtocolAdapter {
351
383
  let currentTurnContent = '';
352
384
  // Consume the flag — it was set by sendToolResult for this call only
353
385
  this.isContinuation = false;
386
+ // Track stream parsing depth so that sendToolResult can defer
387
+ // premature continuations while the stream is still emitting events.
388
+ if (this._streamParsingDepth === 0) {
389
+ this._streamDonePromise = new Promise(resolve => {
390
+ this._streamDoneResolve = resolve;
391
+ });
392
+ }
393
+ this._streamParsingDepth++;
354
394
  try {
355
395
  while (true) {
356
396
  const { done, value } = await reader.read();
@@ -397,6 +437,15 @@ export class AGUIAdapter extends BaseProtocolAdapter {
397
437
  }
398
438
  finally {
399
439
  reader.releaseLock();
440
+ this._streamParsingDepth--;
441
+ if (this._streamParsingDepth === 0) {
442
+ // All stream parsing is done — wake up any sendToolResult callers
443
+ // that deferred their continuation because the stream was still active.
444
+ const resolve = this._streamDoneResolve;
445
+ this._streamDonePromise = null;
446
+ this._streamDoneResolve = null;
447
+ resolve?.();
448
+ }
400
449
  }
401
450
  }
402
451
  /**
@@ -422,12 +471,15 @@ export class AGUIAdapter extends BaseProtocolAdapter {
422
471
  break;
423
472
  case 'TEXT_MESSAGE_START': {
424
473
  const messageId = event.messageId;
425
- if (!context.getCurrentMessageId()) {
426
- context.setCurrentMessageId(messageId || generateMessageId());
427
- }
428
- if (!context.getCurrentContent()) {
429
- context.resetContent();
430
- }
474
+ // Always generate a fresh message ID and reset content for each
475
+ // TEXT_MESSAGE_START. When backend tools execute, the entire flow
476
+ // (pre-tool text → tool call → post-tool text) happens in a single
477
+ // SSE stream. Without resetting here, the post-tool text would
478
+ // reuse the same message ID and update IN PLACE at the original
479
+ // position BEFORE the tool call indicators, instead of appearing
480
+ // as a new message AFTER them.
481
+ context.setCurrentMessageId(messageId || generateMessageId());
482
+ context.resetContent();
431
483
  break;
432
484
  }
433
485
  case 'TEXT_MESSAGE_CONTENT': {
@@ -621,6 +673,16 @@ export class AGUIAdapter extends BaseProtocolAdapter {
621
673
  timestamp: new Date(),
622
674
  });
623
675
  }
676
+ // Signal that this run is done. If there are pending frontend
677
+ // tool calls the continuation triggered by sendToolResult will
678
+ // start a new run — the 'done' event will be emitted at the end
679
+ // of that final run instead.
680
+ if (this.pendingToolCalls.size === 0) {
681
+ this.emit({
682
+ type: 'done',
683
+ timestamp: new Date(),
684
+ });
685
+ }
624
686
  break;
625
687
  }
626
688
  case 'RUN_ERROR': {
@@ -1,17 +1,17 @@
1
1
  /**
2
2
  * Base protocol adapter class with common functionality.
3
3
  *
4
- * @module components/chat/protocols/BaseProtocolAdapter
4
+ * @module protocols/BaseProtocolAdapter
5
5
  */
6
- import type { ProtocolAdapter, ProtocolAdapterConfig, TransportType, ProtocolTransport, ProtocolConnectionState, ProtocolEvent, ProtocolEventHandler, AgentCard } from '../types/protocol';
7
- import type { ChatMessage } from '../types/message';
8
- import type { ToolDefinition, ToolExecutionResult } from '../types/tool';
6
+ import type { ProtocolAdapter, ProtocolAdapterConfig, Protocol, ProtocolTransport, ProtocolConnectionState, ProtocolEvent, ProtocolEventHandler, AgentCard } from '../types';
7
+ import type { ChatMessage } from '../types/messages';
8
+ import type { ToolDefinition, ToolExecutionResult } from '../types/tools';
9
9
  /**
10
10
  * Abstract base class for protocol adapters
11
11
  */
12
12
  export declare abstract class BaseProtocolAdapter implements ProtocolAdapter {
13
- abstract readonly type: TransportType;
14
- abstract readonly transport: ProtocolTransport;
13
+ abstract readonly protocol: Protocol;
14
+ abstract readonly protocolTransport: ProtocolTransport;
15
15
  protected config: ProtocolAdapterConfig;
16
16
  protected _connectionState: ProtocolConnectionState;
17
17
  protected eventHandlers: Set<ProtocolEventHandler>;
@@ -53,7 +53,7 @@ export class BaseProtocolAdapter {
53
53
  handler(event);
54
54
  }
55
55
  catch (error) {
56
- console.error(`[${this.type}] Error in event handler:`, error);
56
+ console.error(`[${this.protocol}] Error in event handler:`, error);
57
57
  }
58
58
  }
59
59
  }