@datalayer/agent-runtimes 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (571) hide show
  1. package/LICENSE +32 -0
  2. package/README.md +56 -0
  3. package/lib/App.css +47 -0
  4. package/lib/App.d.ts +3 -0
  5. package/lib/App.js +18 -0
  6. package/lib/components/chat/components/AgentDetails.d.ts +19 -0
  7. package/lib/components/chat/components/AgentDetails.js +170 -0
  8. package/lib/components/chat/components/Chat.d.ts +105 -0
  9. package/lib/components/chat/components/Chat.js +275 -0
  10. package/lib/components/chat/components/ChatFloating.d.ts +146 -0
  11. package/lib/components/chat/components/ChatFloating.js +381 -0
  12. package/lib/components/chat/components/ChatInline.d.ts +42 -0
  13. package/lib/components/chat/components/ChatInline.js +327 -0
  14. package/lib/components/chat/components/ChatPopupStandalone.d.ts +110 -0
  15. package/lib/components/chat/components/ChatPopupStandalone.js +422 -0
  16. package/lib/components/chat/components/ChatSidebar.d.ts +78 -0
  17. package/lib/components/chat/components/ChatSidebar.js +224 -0
  18. package/lib/components/chat/components/ChatStandalone.d.ts +105 -0
  19. package/lib/components/chat/components/ChatStandalone.js +320 -0
  20. package/lib/components/chat/components/base/ChatBase.d.ts +285 -0
  21. package/lib/components/chat/components/base/ChatBase.js +1192 -0
  22. package/lib/components/chat/components/display/ToolCallDisplay.d.ts +26 -0
  23. package/lib/components/chat/components/display/ToolCallDisplay.js +225 -0
  24. package/lib/components/chat/components/display/index.d.ts +6 -0
  25. package/lib/components/chat/components/display/index.js +10 -0
  26. package/lib/components/chat/components/elements/ChatHeader.d.ts +43 -0
  27. package/lib/components/chat/components/elements/ChatHeader.js +67 -0
  28. package/lib/components/chat/components/elements/ChatInputPrompt.d.ts +26 -0
  29. package/lib/components/chat/components/elements/ChatInputPrompt.js +145 -0
  30. package/lib/components/chat/components/elements/ChatMessages.d.ts +36 -0
  31. package/lib/components/chat/components/elements/ChatMessages.js +195 -0
  32. package/lib/components/chat/components/elements/FloatingBrandButton.d.ts +34 -0
  33. package/lib/components/chat/components/elements/FloatingBrandButton.js +88 -0
  34. package/lib/components/chat/components/elements/MessagePart.d.ts +50 -0
  35. package/lib/components/chat/components/elements/MessagePart.js +48 -0
  36. package/lib/components/chat/components/elements/PoweredByTag.d.ts +26 -0
  37. package/lib/components/chat/components/elements/PoweredByTag.js +33 -0
  38. package/lib/components/chat/components/elements/ToolApprovalDialog.d.ts +42 -0
  39. package/lib/components/chat/components/elements/ToolApprovalDialog.js +96 -0
  40. package/lib/components/chat/components/index.d.ts +21 -0
  41. package/lib/components/chat/components/index.js +34 -0
  42. package/lib/components/chat/components/parts/DynamicToolPart.d.ts +20 -0
  43. package/lib/components/chat/components/parts/DynamicToolPart.js +13 -0
  44. package/lib/components/chat/components/parts/ReasoningPart.d.ts +17 -0
  45. package/lib/components/chat/components/parts/ReasoningPart.js +69 -0
  46. package/lib/components/chat/components/parts/TextPart.d.ts +28 -0
  47. package/lib/components/chat/components/parts/TextPart.js +103 -0
  48. package/lib/components/chat/components/parts/ToolPart.d.ts +17 -0
  49. package/lib/components/chat/components/parts/ToolPart.js +163 -0
  50. package/lib/components/chat/components/parts/index.d.ts +9 -0
  51. package/lib/components/chat/components/parts/index.js +13 -0
  52. package/lib/components/chat/extensions/A2UIExtension.d.ts +87 -0
  53. package/lib/components/chat/extensions/A2UIExtension.js +312 -0
  54. package/lib/components/chat/extensions/ExtensionRegistry.d.ts +66 -0
  55. package/lib/components/chat/extensions/ExtensionRegistry.js +128 -0
  56. package/lib/components/chat/extensions/MCPUIExtension.d.ts +77 -0
  57. package/lib/components/chat/extensions/MCPUIExtension.js +212 -0
  58. package/lib/components/chat/extensions/index.d.ts +9 -0
  59. package/lib/components/chat/extensions/index.js +12 -0
  60. package/lib/components/chat/handler.d.ts +20 -0
  61. package/lib/components/chat/handler.js +56 -0
  62. package/lib/components/chat/index.d.ts +61 -0
  63. package/lib/components/chat/index.js +76 -0
  64. package/lib/components/chat/inference/BaseInferenceProvider.d.ts +57 -0
  65. package/lib/components/chat/inference/BaseInferenceProvider.js +69 -0
  66. package/lib/components/chat/inference/DatalayerInferenceProvider.d.ts +83 -0
  67. package/lib/components/chat/inference/DatalayerInferenceProvider.js +305 -0
  68. package/lib/components/chat/inference/SelfHostedInferenceProvider.d.ts +54 -0
  69. package/lib/components/chat/inference/SelfHostedInferenceProvider.js +246 -0
  70. package/lib/components/chat/inference/index.d.ts +9 -0
  71. package/lib/components/chat/inference/index.js +12 -0
  72. package/lib/components/chat/middleware/MiddlewarePipeline.d.ts +118 -0
  73. package/lib/components/chat/middleware/MiddlewarePipeline.js +255 -0
  74. package/lib/components/chat/middleware/index.d.ts +7 -0
  75. package/lib/components/chat/middleware/index.js +10 -0
  76. package/lib/components/chat/protocols/A2AAdapter.d.ts +79 -0
  77. package/lib/components/chat/protocols/A2AAdapter.js +388 -0
  78. package/lib/components/chat/protocols/ACPAdapter.d.ts +161 -0
  79. package/lib/components/chat/protocols/ACPAdapter.js +504 -0
  80. package/lib/components/chat/protocols/AGUIAdapter.d.ts +82 -0
  81. package/lib/components/chat/protocols/AGUIAdapter.js +518 -0
  82. package/lib/components/chat/protocols/BaseProtocolAdapter.d.ts +75 -0
  83. package/lib/components/chat/protocols/BaseProtocolAdapter.js +119 -0
  84. package/lib/components/chat/protocols/VercelAIAdapter.d.ts +77 -0
  85. package/lib/components/chat/protocols/VercelAIAdapter.js +252 -0
  86. package/lib/components/chat/protocols/index.d.ts +11 -0
  87. package/lib/components/chat/protocols/index.js +14 -0
  88. package/lib/components/chat/store/chatStore.d.ts +158 -0
  89. package/lib/components/chat/store/chatStore.js +313 -0
  90. package/lib/components/chat/store/index.d.ts +6 -0
  91. package/lib/components/chat/store/index.js +10 -0
  92. package/lib/components/chat/tools/ToolExecutor.d.ts +49 -0
  93. package/lib/components/chat/tools/ToolExecutor.js +151 -0
  94. package/lib/components/chat/tools/index.d.ts +8 -0
  95. package/lib/components/chat/tools/index.js +11 -0
  96. package/lib/components/chat/types/extension.d.ts +181 -0
  97. package/lib/components/chat/types/extension.js +46 -0
  98. package/lib/components/chat/types/index.d.ts +11 -0
  99. package/lib/components/chat/types/index.js +16 -0
  100. package/lib/components/chat/types/inference.d.ts +117 -0
  101. package/lib/components/chat/types/inference.js +5 -0
  102. package/lib/components/chat/types/message.d.ts +117 -0
  103. package/lib/components/chat/types/message.js +50 -0
  104. package/lib/components/chat/types/middleware.d.ts +153 -0
  105. package/lib/components/chat/types/middleware.js +32 -0
  106. package/lib/components/chat/types/protocol.d.ts +209 -0
  107. package/lib/components/chat/types/protocol.js +5 -0
  108. package/lib/components/chat/types/tool.d.ts +140 -0
  109. package/lib/components/chat/types/tool.js +23 -0
  110. package/lib/components/index.d.ts +1 -0
  111. package/lib/components/index.js +6 -0
  112. package/lib/components/sparklines/Sparklines.d.ts +16 -0
  113. package/lib/components/sparklines/Sparklines.js +65 -0
  114. package/lib/components/sparklines/SparklinesLine.d.ts +8 -0
  115. package/lib/components/sparklines/SparklinesLine.js +37 -0
  116. package/lib/components/sparklines/dataProcessing.d.ts +25 -0
  117. package/lib/components/sparklines/dataProcessing.js +35 -0
  118. package/lib/components/sparklines/index.d.ts +4 -0
  119. package/lib/components/sparklines/index.js +7 -0
  120. package/lib/components/sparklines/types.d.ts +36 -0
  121. package/lib/components/sparklines/types.js +5 -0
  122. package/lib/components/ui/accordion.d.ts +7 -0
  123. package/lib/components/ui/accordion.js +22 -0
  124. package/lib/components/ui/alert-dialog.d.ts +14 -0
  125. package/lib/components/ui/alert-dialog.js +43 -0
  126. package/lib/components/ui/alert.d.ts +9 -0
  127. package/lib/components/ui/alert.js +24 -0
  128. package/lib/components/ui/aspect-ratio.d.ts +3 -0
  129. package/lib/components/ui/aspect-ratio.js +11 -0
  130. package/lib/components/ui/avatar.d.ts +6 -0
  131. package/lib/components/ui/avatar.js +18 -0
  132. package/lib/components/ui/badge.d.ts +9 -0
  133. package/lib/components/ui/badge.js +22 -0
  134. package/lib/components/ui/breadcrumb.d.ts +11 -0
  135. package/lib/components/ui/breadcrumb.js +27 -0
  136. package/lib/components/ui/button-group.d.ts +11 -0
  137. package/lib/components/ui/button-group.js +31 -0
  138. package/lib/components/ui/button.d.ts +13 -0
  139. package/lib/components/ui/button.js +39 -0
  140. package/lib/components/ui/calendar.d.ts +8 -0
  141. package/lib/components/ui/calendar.js +80 -0
  142. package/lib/components/ui/card.d.ts +9 -0
  143. package/lib/components/ui/card.js +24 -0
  144. package/lib/components/ui/carousel.d.ts +19 -0
  145. package/lib/components/ui/carousel.js +95 -0
  146. package/lib/components/ui/chart.d.ts +53 -0
  147. package/lib/components/ui/chart.js +136 -0
  148. package/lib/components/ui/checkbox.d.ts +4 -0
  149. package/lib/components/ui/checkbox.js +13 -0
  150. package/lib/components/ui/collapsible.d.ts +5 -0
  151. package/lib/components/ui/collapsible.js +17 -0
  152. package/lib/components/ui/command.d.ts +18 -0
  153. package/lib/components/ui/command.js +38 -0
  154. package/lib/components/ui/context-menu.d.ts +25 -0
  155. package/lib/components/ui/context-menu.js +55 -0
  156. package/lib/components/ui/dialog.d.ts +15 -0
  157. package/lib/components/ui/dialog.js +40 -0
  158. package/lib/components/ui/drawer.d.ts +13 -0
  159. package/lib/components/ui/drawer.js +39 -0
  160. package/lib/components/ui/dropdown-menu.d.ts +25 -0
  161. package/lib/components/ui/dropdown-menu.js +55 -0
  162. package/lib/components/ui/empty.d.ts +11 -0
  163. package/lib/components/ui/empty.js +37 -0
  164. package/lib/components/ui/field.d.ts +24 -0
  165. package/lib/components/ui/field.js +80 -0
  166. package/lib/components/ui/form.d.ts +24 -0
  167. package/lib/components/ui/form.js +63 -0
  168. package/lib/components/ui/hover-card.d.ts +6 -0
  169. package/lib/components/ui/hover-card.js +18 -0
  170. package/lib/components/ui/input-group.d.ts +19 -0
  171. package/lib/components/ui/input-group.js +69 -0
  172. package/lib/components/ui/input-otp.d.ts +11 -0
  173. package/lib/components/ui/input-otp.js +25 -0
  174. package/lib/components/ui/input.d.ts +3 -0
  175. package/lib/components/ui/input.js +6 -0
  176. package/lib/components/ui/item.d.ts +23 -0
  177. package/lib/components/ui/item.js +66 -0
  178. package/lib/components/ui/kbd.d.ts +3 -0
  179. package/lib/components/ui/kbd.js +13 -0
  180. package/lib/components/ui/label.d.ts +4 -0
  181. package/lib/components/ui/label.js +12 -0
  182. package/lib/components/ui/menubar.d.ts +26 -0
  183. package/lib/components/ui/menubar.js +58 -0
  184. package/lib/components/ui/navigation-menu.d.ts +14 -0
  185. package/lib/components/ui/navigation-menu.js +31 -0
  186. package/lib/components/ui/pagination.d.ts +13 -0
  187. package/lib/components/ui/pagination.js +29 -0
  188. package/lib/components/ui/popover.d.ts +7 -0
  189. package/lib/components/ui/popover.js +21 -0
  190. package/lib/components/ui/progress.d.ts +4 -0
  191. package/lib/components/ui/progress.js +12 -0
  192. package/lib/components/ui/radio-group.d.ts +5 -0
  193. package/lib/components/ui/radio-group.js +16 -0
  194. package/lib/components/ui/resizable.d.ts +8 -0
  195. package/lib/components/ui/resizable.js +19 -0
  196. package/lib/components/ui/scroll-area.d.ts +5 -0
  197. package/lib/components/ui/scroll-area.js +17 -0
  198. package/lib/components/ui/select.d.ts +15 -0
  199. package/lib/components/ui/select.js +42 -0
  200. package/lib/components/ui/separator.d.ts +4 -0
  201. package/lib/components/ui/separator.js +12 -0
  202. package/lib/components/ui/sheet.d.ts +13 -0
  203. package/lib/components/ui/sheet.js +44 -0
  204. package/lib/components/ui/sidebar.d.ts +69 -0
  205. package/lib/components/ui/sidebar.js +216 -0
  206. package/lib/components/ui/skeleton.d.ts +2 -0
  207. package/lib/components/ui/skeleton.js +10 -0
  208. package/lib/components/ui/slider.d.ts +4 -0
  209. package/lib/components/ui/slider.js +18 -0
  210. package/lib/components/ui/sonner.d.ts +3 -0
  211. package/lib/components/ui/sonner.js +25 -0
  212. package/lib/components/ui/spinner.d.ts +2 -0
  213. package/lib/components/ui/spinner.js +11 -0
  214. package/lib/components/ui/switch.d.ts +4 -0
  215. package/lib/components/ui/switch.js +12 -0
  216. package/lib/components/ui/table.d.ts +10 -0
  217. package/lib/components/ui/table.js +32 -0
  218. package/lib/components/ui/tabs.d.ts +7 -0
  219. package/lib/components/ui/tabs.js +21 -0
  220. package/lib/components/ui/textarea.d.ts +3 -0
  221. package/lib/components/ui/textarea.js +6 -0
  222. package/lib/components/ui/toast.d.ts +15 -0
  223. package/lib/components/ui/toast.js +38 -0
  224. package/lib/components/ui/toaster.d.ts +1 -0
  225. package/lib/components/ui/toaster.js +14 -0
  226. package/lib/components/ui/toggle-group.d.ts +9 -0
  227. package/lib/components/ui/toggle-group.js +26 -0
  228. package/lib/components/ui/toggle.d.ts +9 -0
  229. package/lib/components/ui/toggle.js +30 -0
  230. package/lib/components/ui/tooltip.d.ts +7 -0
  231. package/lib/components/ui/tooltip.js +21 -0
  232. package/lib/components/vercel-ai-elements/artifact.d.ts +23 -0
  233. package/lib/components/vercel-ai-elements/artifact.js +24 -0
  234. package/lib/components/vercel-ai-elements/code-block.d.ts +17 -0
  235. package/lib/components/vercel-ai-elements/code-block.js +94 -0
  236. package/lib/components/vercel-ai-elements/conversation.d.ts +15 -0
  237. package/lib/components/vercel-ai-elements/conversation.js +21 -0
  238. package/lib/components/vercel-ai-elements/loader.d.ts +5 -0
  239. package/lib/components/vercel-ai-elements/loader.js +8 -0
  240. package/lib/components/vercel-ai-elements/message.d.ts +46 -0
  241. package/lib/components/vercel-ai-elements/message.js +109 -0
  242. package/lib/components/vercel-ai-elements/model-selector.d.ts +35 -0
  243. package/lib/components/vercel-ai-elements/model-selector.js +22 -0
  244. package/lib/components/vercel-ai-elements/prompt-input.d.ts +195 -0
  245. package/lib/components/vercel-ai-elements/prompt-input.js +589 -0
  246. package/lib/components/vercel-ai-elements/reasoning.d.ts +26 -0
  247. package/lib/components/vercel-ai-elements/reasoning.js +80 -0
  248. package/lib/components/vercel-ai-elements/shimmer.d.ts +9 -0
  249. package/lib/components/vercel-ai-elements/shimmer.js +22 -0
  250. package/lib/components/vercel-ai-elements/sources.d.ts +12 -0
  251. package/lib/components/vercel-ai-elements/sources.js +13 -0
  252. package/lib/components/vercel-ai-elements/suggestion.d.ts +10 -0
  253. package/lib/components/vercel-ai-elements/suggestion.js +16 -0
  254. package/lib/components/vercel-ai-elements/tool.d.ts +23 -0
  255. package/lib/components/vercel-ai-elements/tool.js +52 -0
  256. package/lib/examples/A2UiRestaurantExample.d.ts +25 -0
  257. package/lib/examples/A2UiRestaurantExample.js +305 -0
  258. package/lib/examples/AgUiAgenticExample.d.ts +25 -0
  259. package/lib/examples/AgUiAgenticExample.js +63 -0
  260. package/lib/examples/AgUiBackendToolRenderingExample.d.ts +30 -0
  261. package/lib/examples/AgUiBackendToolRenderingExample.js +103 -0
  262. package/lib/examples/AgUiHaikuGenUIExample.d.ts +44 -0
  263. package/lib/examples/AgUiHaikuGenUIExample.js +151 -0
  264. package/lib/examples/AgUiHumanInTheLoopExample.d.ts +26 -0
  265. package/lib/examples/AgUiHumanInTheLoopExample.js +220 -0
  266. package/lib/examples/AgUiSharedStateExample.d.ts +25 -0
  267. package/lib/examples/AgUiSharedStateExample.js +181 -0
  268. package/lib/examples/AgUiToolsBasedGenUIExample.d.ts +25 -0
  269. package/lib/examples/AgUiToolsBasedGenUIExample.js +257 -0
  270. package/lib/examples/AgentRuntimeCustomExample.d.ts +9 -0
  271. package/lib/examples/AgentRuntimeCustomExample.js +68 -0
  272. package/lib/examples/AgentRuntimeLexical2Example.d.ts +42 -0
  273. package/lib/examples/AgentRuntimeLexical2Example.js +236 -0
  274. package/lib/examples/AgentRuntimeLexicalExample.d.ts +36 -0
  275. package/lib/examples/AgentRuntimeLexicalExample.js +260 -0
  276. package/lib/examples/AgentRuntimeLexicalSidebarExample.d.ts +41 -0
  277. package/lib/examples/AgentRuntimeLexicalSidebarExample.js +166 -0
  278. package/lib/examples/AgentRuntimeNotebookExample.d.ts +9 -0
  279. package/lib/examples/AgentRuntimeNotebookExample.js +148 -0
  280. package/lib/examples/AgentRuntimeNotebookSidebarExample.d.ts +13 -0
  281. package/lib/examples/AgentRuntimeNotebookSidebarExample.js +121 -0
  282. package/lib/examples/AgentRuntimeStandaloneExample.d.ts +21 -0
  283. package/lib/examples/AgentRuntimeStandaloneExample.js +158 -0
  284. package/lib/examples/AgentSpaceFormExample.d.ts +22 -0
  285. package/lib/examples/AgentSpaceFormExample.js +296 -0
  286. package/lib/examples/AgentSpaceHomeExample.d.ts +8 -0
  287. package/lib/examples/AgentSpaceHomeExample.js +171 -0
  288. package/lib/examples/CopilotKitLexicalExample.d.ts +38 -0
  289. package/lib/examples/CopilotKitLexicalExample.js +161 -0
  290. package/lib/examples/CopilotKitNotebookExample.d.ts +11 -0
  291. package/lib/examples/CopilotKitNotebookExample.js +70 -0
  292. package/lib/examples/DatalayerNotebookExample.d.ts +16 -0
  293. package/lib/examples/DatalayerNotebookExample.js +99 -0
  294. package/lib/examples/JupyterCellExample.d.ts +6 -0
  295. package/lib/examples/JupyterCellExample.js +19 -0
  296. package/lib/examples/JupyterNotebookExample.d.ts +6 -0
  297. package/lib/examples/JupyterNotebookExample.js +21 -0
  298. package/lib/examples/ag-ui/haiku/HaikuDisplay.d.ts +18 -0
  299. package/lib/examples/ag-ui/haiku/HaikuDisplay.js +110 -0
  300. package/lib/examples/ag-ui/haiku/InlineHaikuCard.d.ts +39 -0
  301. package/lib/examples/ag-ui/haiku/InlineHaikuCard.js +117 -0
  302. package/lib/examples/ag-ui/haiku/index.d.ts +11 -0
  303. package/lib/examples/ag-ui/haiku/index.js +15 -0
  304. package/lib/examples/ag-ui/index.d.ts +10 -0
  305. package/lib/examples/ag-ui/index.js +16 -0
  306. package/lib/examples/ag-ui/weather/InlineWeatherCard.d.ts +43 -0
  307. package/lib/examples/ag-ui/weather/InlineWeatherCard.js +180 -0
  308. package/lib/examples/ag-ui/weather/index.d.ts +9 -0
  309. package/lib/examples/ag-ui/weather/index.js +13 -0
  310. package/lib/examples/components/AgentConfiguration.d.ts +50 -0
  311. package/lib/examples/components/AgentConfiguration.js +115 -0
  312. package/lib/examples/components/AgentsDataTable.d.ts +13 -0
  313. package/lib/examples/components/AgentsDataTable.js +74 -0
  314. package/lib/examples/components/FooterMetrics.d.ts +12 -0
  315. package/lib/examples/components/FooterMetrics.js +17 -0
  316. package/lib/examples/components/Header.d.ts +27 -0
  317. package/lib/examples/components/Header.js +294 -0
  318. package/lib/examples/components/HeaderControls.d.ts +11 -0
  319. package/lib/examples/components/HeaderControls.js +24 -0
  320. package/lib/examples/components/LexicalEditor.d.ts +27 -0
  321. package/lib/examples/components/LexicalEditor.js +118 -0
  322. package/lib/examples/components/MainContent.d.ts +19 -0
  323. package/lib/examples/components/MainContent.js +68 -0
  324. package/lib/examples/components/MockFileBrowser.d.ts +12 -0
  325. package/lib/examples/components/MockFileBrowser.js +131 -0
  326. package/lib/examples/components/Rating.d.ts +14 -0
  327. package/lib/examples/components/Rating.js +12 -0
  328. package/lib/examples/components/SessionTabs.d.ts +21 -0
  329. package/lib/examples/components/SessionTabs.js +11 -0
  330. package/lib/examples/components/TimeTravel.d.ts +15 -0
  331. package/lib/examples/components/TimeTravel.js +23 -0
  332. package/lib/examples/components/index.d.ts +11 -0
  333. package/lib/examples/components/index.js +14 -0
  334. package/lib/examples/example-selector.d.ts +22 -0
  335. package/lib/examples/example-selector.js +62 -0
  336. package/lib/examples/index.d.ts +21 -0
  337. package/lib/examples/index.js +25 -0
  338. package/lib/examples/lexical/editorConfig.d.ts +76 -0
  339. package/lib/examples/lexical/editorConfig.js +55 -0
  340. package/lib/examples/lexical/lexical-theme.css +436 -0
  341. package/lib/examples/lexical/theme.d.ts +61 -0
  342. package/lib/examples/lexical/theme.js +72 -0
  343. package/lib/examples/main.d.ts +2 -0
  344. package/lib/examples/main.js +334 -0
  345. package/lib/examples/stores/agents/earthquake-detector.ipynb.json +111 -0
  346. package/lib/examples/stores/agents/earthquake-detector.json +13 -0
  347. package/lib/examples/stores/agents/earthquake-detector.lexical.json +2988 -0
  348. package/lib/examples/stores/agents/sales-forecaster.ipynb.json +111 -0
  349. package/lib/examples/stores/agents/sales-forecaster.json +13 -0
  350. package/lib/examples/stores/agents/sales-forecaster.lexical.json +2988 -0
  351. package/lib/examples/stores/agents/social-post-generator.ipynb.json +111 -0
  352. package/lib/examples/stores/agents/social-post-generator.json +13 -0
  353. package/lib/examples/stores/agents/social-post-generator.lexical.json +2988 -0
  354. package/lib/examples/stores/agents/stock-market.ipynb.json +56 -0
  355. package/lib/examples/stores/agents/stock-market.json +13 -0
  356. package/lib/examples/stores/agents/stock-market.lexical.json +1026 -0
  357. package/lib/examples/stores/examplesStore.d.ts +26 -0
  358. package/lib/examples/stores/examplesStore.js +60 -0
  359. package/lib/examples/stores/notebooks/Empty.ipynb.json +33 -0
  360. package/lib/examples/stores/notebooks/IPyWidgetsExample.ipynb.json +101 -0
  361. package/lib/examples/stores/notebooks/IPyWidgetsExampleWithState.ipynb.json +112 -0
  362. package/lib/examples/stores/notebooks/Lite.ipynb.json +128 -0
  363. package/lib/examples/stores/notebooks/Matplotlib.ipynb.json +137 -0
  364. package/lib/examples/stores/notebooks/NotebookExample1.ipynb.json +126 -0
  365. package/lib/examples/stores/notebooks/NotebookExample2.ipynb.json +48 -0
  366. package/lib/examples/stores/notebooks/NotebookOutputs.ipynb.json +49 -0
  367. package/lib/examples/stores/notebooks/NotebookToCExample.ipynb.json +102 -0
  368. package/lib/examples/stores/notebooks/OutputIPyWidgetsExample.d.ts +145 -0
  369. package/lib/examples/stores/notebooks/OutputIPyWidgetsExample.js +153 -0
  370. package/lib/examples/stores/notebooks/PyGWalker.ipynb.json +55 -0
  371. package/lib/examples/vercel-ai-elements/VercelAiElementsShowcase.d.ts +12 -0
  372. package/lib/examples/vercel-ai-elements/VercelAiElementsShowcase.js +69 -0
  373. package/lib/examples/vercel-ai-elements/components/ArtifactShowcase.d.ts +1 -0
  374. package/lib/examples/vercel-ai-elements/components/ArtifactShowcase.js +85 -0
  375. package/lib/examples/vercel-ai-elements/components/CodeBlockShowcase.d.ts +1 -0
  376. package/lib/examples/vercel-ai-elements/components/CodeBlockShowcase.js +62 -0
  377. package/lib/examples/vercel-ai-elements/components/ConversationShowcase.d.ts +1 -0
  378. package/lib/examples/vercel-ai-elements/components/ConversationShowcase.js +51 -0
  379. package/lib/examples/vercel-ai-elements/components/LoaderShowcase.d.ts +1 -0
  380. package/lib/examples/vercel-ai-elements/components/LoaderShowcase.js +9 -0
  381. package/lib/examples/vercel-ai-elements/components/MessageShowcase.d.ts +1 -0
  382. package/lib/examples/vercel-ai-elements/components/MessageShowcase.js +56 -0
  383. package/lib/examples/vercel-ai-elements/components/ModelSelectorShowcase.d.ts +1 -0
  384. package/lib/examples/vercel-ai-elements/components/ModelSelectorShowcase.js +50 -0
  385. package/lib/examples/vercel-ai-elements/components/PromptInputShowcase.d.ts +1 -0
  386. package/lib/examples/vercel-ai-elements/components/PromptInputShowcase.js +16 -0
  387. package/lib/examples/vercel-ai-elements/components/ReasoningShowcase.d.ts +1 -0
  388. package/lib/examples/vercel-ai-elements/components/ReasoningShowcase.js +72 -0
  389. package/lib/examples/vercel-ai-elements/components/ShimmerShowcase.d.ts +1 -0
  390. package/lib/examples/vercel-ai-elements/components/ShimmerShowcase.js +9 -0
  391. package/lib/examples/vercel-ai-elements/components/SourcesShowcase.d.ts +1 -0
  392. package/lib/examples/vercel-ai-elements/components/SourcesShowcase.js +43 -0
  393. package/lib/examples/vercel-ai-elements/components/SuggestionShowcase.d.ts +1 -0
  394. package/lib/examples/vercel-ai-elements/components/SuggestionShowcase.js +31 -0
  395. package/lib/examples/vercel-ai-elements/components/ToolShowcase.d.ts +1 -0
  396. package/lib/examples/vercel-ai-elements/components/ToolShowcase.js +54 -0
  397. package/lib/examples/vercel-ai-elements/index.d.ts +13 -0
  398. package/lib/examples/vercel-ai-elements/index.js +17 -0
  399. package/lib/examples/vercel-ai-elements/main.d.ts +1 -0
  400. package/lib/examples/vercel-ai-elements/main.js +9 -0
  401. package/lib/examples/vercel-ai-elements/showcase.css +128 -0
  402. package/lib/hooks/index.d.ts +68 -0
  403. package/lib/hooks/index.js +81 -0
  404. package/lib/hooks/useA2A.d.ts +75 -0
  405. package/lib/hooks/useA2A.js +368 -0
  406. package/lib/hooks/useAGUI.d.ts +63 -0
  407. package/lib/hooks/useAGUI.js +162 -0
  408. package/lib/hooks/useAcp.d.ts +121 -0
  409. package/lib/hooks/useAcp.js +459 -0
  410. package/lib/hooks/useAgents.d.ts +13 -0
  411. package/lib/hooks/useAgents.js +71 -0
  412. package/lib/hooks/useChat.d.ts +62 -0
  413. package/lib/hooks/useChat.js +363 -0
  414. package/lib/hooks/useKeyboardShortcuts.d.ts +47 -0
  415. package/lib/hooks/useKeyboardShortcuts.js +153 -0
  416. package/lib/hooks/useMobile.d.ts +1 -0
  417. package/lib/hooks/useMobile.js +19 -0
  418. package/lib/hooks/useNotebookAIAgent.d.ts +8 -0
  419. package/lib/hooks/useNotebookAIAgent.js +56 -0
  420. package/lib/hooks/useToast.d.ts +44 -0
  421. package/lib/hooks/useToast.js +128 -0
  422. package/lib/hooks/useTools.d.ts +107 -0
  423. package/lib/hooks/useTools.js +130 -0
  424. package/lib/hooks/useVercelChat.d.ts +45 -0
  425. package/lib/hooks/useVercelChat.js +62 -0
  426. package/lib/index.css +73 -0
  427. package/lib/index.d.ts +1 -0
  428. package/lib/index.js +5 -0
  429. package/lib/lexical/ChatInlinePlugin.d.ts +21 -0
  430. package/lib/lexical/ChatInlinePlugin.js +379 -0
  431. package/lib/lexical/index.d.ts +6 -0
  432. package/lib/lexical/index.js +10 -0
  433. package/lib/lib/utils.d.ts +2 -0
  434. package/lib/lib/utils.js +9 -0
  435. package/lib/main.d.ts +1 -0
  436. package/lib/main.js +12 -0
  437. package/lib/models/AIAgent.d.ts +17 -0
  438. package/lib/models/AIAgent.js +5 -0
  439. package/lib/models/index.d.ts +1 -0
  440. package/lib/models/index.js +5 -0
  441. package/lib/renderers/a2ui/components/A2UIRenderer.d.ts +7 -0
  442. package/lib/renderers/a2ui/components/A2UIRenderer.js +102 -0
  443. package/lib/renderers/a2ui/components/SurfaceRenderer.d.ts +7 -0
  444. package/lib/renderers/a2ui/components/SurfaceRenderer.js +101 -0
  445. package/lib/renderers/a2ui/components/content/AudioPlayer.d.ts +9 -0
  446. package/lib/renderers/a2ui/components/content/AudioPlayer.js +38 -0
  447. package/lib/renderers/a2ui/components/content/Divider.d.ts +9 -0
  448. package/lib/renderers/a2ui/components/content/Divider.js +35 -0
  449. package/lib/renderers/a2ui/components/content/Icon.d.ts +9 -0
  450. package/lib/renderers/a2ui/components/content/Icon.js +110 -0
  451. package/lib/renderers/a2ui/components/content/Image.d.ts +9 -0
  452. package/lib/renderers/a2ui/components/content/Image.js +61 -0
  453. package/lib/renderers/a2ui/components/content/Text.d.ts +9 -0
  454. package/lib/renderers/a2ui/components/content/Text.js +64 -0
  455. package/lib/renderers/a2ui/components/content/Video.d.ts +9 -0
  456. package/lib/renderers/a2ui/components/content/Video.js +37 -0
  457. package/lib/renderers/a2ui/components/content/index.d.ts +6 -0
  458. package/lib/renderers/a2ui/components/content/index.js +25 -0
  459. package/lib/renderers/a2ui/components/index.d.ts +5 -0
  460. package/lib/renderers/a2ui/components/index.js +24 -0
  461. package/lib/renderers/a2ui/components/interactive/Button.d.ts +11 -0
  462. package/lib/renderers/a2ui/components/interactive/Button.js +71 -0
  463. package/lib/renderers/a2ui/components/interactive/CheckBox.d.ts +9 -0
  464. package/lib/renderers/a2ui/components/interactive/CheckBox.js +48 -0
  465. package/lib/renderers/a2ui/components/interactive/DateTimeInput.d.ts +9 -0
  466. package/lib/renderers/a2ui/components/interactive/DateTimeInput.js +62 -0
  467. package/lib/renderers/a2ui/components/interactive/MultipleChoice.d.ts +9 -0
  468. package/lib/renderers/a2ui/components/interactive/MultipleChoice.js +73 -0
  469. package/lib/renderers/a2ui/components/interactive/Slider.d.ts +9 -0
  470. package/lib/renderers/a2ui/components/interactive/Slider.js +53 -0
  471. package/lib/renderers/a2ui/components/interactive/TextField.d.ts +9 -0
  472. package/lib/renderers/a2ui/components/interactive/TextField.js +72 -0
  473. package/lib/renderers/a2ui/components/interactive/index.d.ts +6 -0
  474. package/lib/renderers/a2ui/components/interactive/index.js +25 -0
  475. package/lib/renderers/a2ui/components/layout/Card.d.ts +11 -0
  476. package/lib/renderers/a2ui/components/layout/Card.js +30 -0
  477. package/lib/renderers/a2ui/components/layout/Column.d.ts +11 -0
  478. package/lib/renderers/a2ui/components/layout/Column.js +65 -0
  479. package/lib/renderers/a2ui/components/layout/List.d.ts +11 -0
  480. package/lib/renderers/a2ui/components/layout/List.js +55 -0
  481. package/lib/renderers/a2ui/components/layout/Modal.d.ts +11 -0
  482. package/lib/renderers/a2ui/components/layout/Modal.js +58 -0
  483. package/lib/renderers/a2ui/components/layout/Row.d.ts +11 -0
  484. package/lib/renderers/a2ui/components/layout/Row.js +65 -0
  485. package/lib/renderers/a2ui/components/layout/Tabs.d.ts +11 -0
  486. package/lib/renderers/a2ui/components/layout/Tabs.js +48 -0
  487. package/lib/renderers/a2ui/components/layout/index.d.ts +6 -0
  488. package/lib/renderers/a2ui/components/layout/index.js +25 -0
  489. package/lib/renderers/a2ui/context/A2UIContext.d.ts +17 -0
  490. package/lib/renderers/a2ui/context/A2UIContext.js +54 -0
  491. package/lib/renderers/a2ui/context/ThemeContext.d.ts +20 -0
  492. package/lib/renderers/a2ui/context/ThemeContext.js +333 -0
  493. package/lib/renderers/a2ui/hooks/useA2UI.d.ts +36 -0
  494. package/lib/renderers/a2ui/hooks/useA2UI.js +62 -0
  495. package/lib/renderers/a2ui/hooks/useDataBinding.d.ts +8 -0
  496. package/lib/renderers/a2ui/hooks/useDataBinding.js +83 -0
  497. package/lib/renderers/a2ui/index.d.ts +9 -0
  498. package/lib/renderers/a2ui/index.js +28 -0
  499. package/lib/renderers/a2ui/lib/utils.d.ts +11 -0
  500. package/lib/renderers/a2ui/lib/utils.js +38 -0
  501. package/lib/renderers/a2ui/types/index.d.ts +17 -0
  502. package/lib/renderers/a2ui/types/index.js +5 -0
  503. package/lib/renderers/index.d.ts +1 -0
  504. package/lib/renderers/index.js +5 -0
  505. package/lib/state/index.d.ts +1 -0
  506. package/lib/state/index.js +5 -0
  507. package/lib/state/substates/AIAgentState.d.ts +11 -0
  508. package/lib/state/substates/AIAgentState.js +42 -0
  509. package/lib/state/substates/index.d.ts +1 -0
  510. package/lib/state/substates/index.js +5 -0
  511. package/lib/stories/Button.d.ts +15 -0
  512. package/lib/stories/Button.js +13 -0
  513. package/lib/stories/Button.stories.d.ts +23 -0
  514. package/lib/stories/Button.stories.js +48 -0
  515. package/lib/stories/Cell.stories.d.ts +12 -0
  516. package/lib/stories/Cell.stories.js +123 -0
  517. package/lib/stories/Header.d.ts +12 -0
  518. package/lib/stories/Header.js +8 -0
  519. package/lib/stories/Header.stories.d.ts +18 -0
  520. package/lib/stories/Header.stories.js +30 -0
  521. package/lib/stories/Page.d.ts +3 -0
  522. package/lib/stories/Page.js +12 -0
  523. package/lib/stories/Page.stories.d.ts +12 -0
  524. package/lib/stories/Page.stories.js +28 -0
  525. package/lib/stories/assets/accessibility.png +0 -0
  526. package/lib/stories/assets/accessibility.svg +1 -0
  527. package/lib/stories/assets/addon-library.png +0 -0
  528. package/lib/stories/assets/assets.png +0 -0
  529. package/lib/stories/assets/context.png +0 -0
  530. package/lib/stories/assets/discord.svg +1 -0
  531. package/lib/stories/assets/docs.png +0 -0
  532. package/lib/stories/assets/figma-plugin.png +0 -0
  533. package/lib/stories/assets/github.svg +1 -0
  534. package/lib/stories/assets/share.png +0 -0
  535. package/lib/stories/assets/styling.png +0 -0
  536. package/lib/stories/assets/testing.png +0 -0
  537. package/lib/stories/assets/theming.png +0 -0
  538. package/lib/stories/assets/tutorials.svg +1 -0
  539. package/lib/stories/assets/youtube.svg +1 -0
  540. package/lib/stories/button.css +35 -0
  541. package/lib/stories/header.css +37 -0
  542. package/lib/stories/page.css +73 -0
  543. package/lib/test-setup.d.ts +1 -0
  544. package/lib/test-setup.js +80 -0
  545. package/lib/tools/adapters/agent-runtimes/AgentRuntimesToolAdapter.d.ts +40 -0
  546. package/lib/tools/adapters/agent-runtimes/AgentRuntimesToolAdapter.js +110 -0
  547. package/lib/tools/adapters/agent-runtimes/index.d.ts +9 -0
  548. package/lib/tools/adapters/agent-runtimes/index.js +13 -0
  549. package/lib/tools/adapters/agent-runtimes/lexicalHooks.d.ts +24 -0
  550. package/lib/tools/adapters/agent-runtimes/lexicalHooks.js +50 -0
  551. package/lib/tools/adapters/agent-runtimes/notebookHooks.d.ts +24 -0
  552. package/lib/tools/adapters/agent-runtimes/notebookHooks.js +51 -0
  553. package/lib/tools/adapters/copilotkit/CopilotKitToolAdapter.d.ts +73 -0
  554. package/lib/tools/adapters/copilotkit/CopilotKitToolAdapter.js +244 -0
  555. package/lib/tools/adapters/copilotkit/index.d.ts +10 -0
  556. package/lib/tools/adapters/copilotkit/index.js +14 -0
  557. package/lib/tools/adapters/copilotkit/lexicalHooks.d.ts +27 -0
  558. package/lib/tools/adapters/copilotkit/lexicalHooks.js +59 -0
  559. package/lib/tools/adapters/copilotkit/notebookHooks.d.ts +27 -0
  560. package/lib/tools/adapters/copilotkit/notebookHooks.js +58 -0
  561. package/lib/tools/adapters/index.d.ts +1 -0
  562. package/lib/tools/adapters/index.js +5 -0
  563. package/lib/tools/index.d.ts +6 -0
  564. package/lib/tools/index.js +18 -0
  565. package/lib/types.d.ts +5 -0
  566. package/lib/types.js +5 -0
  567. package/package.json +327 -0
  568. package/style/animation/Animation.module.css +174 -0
  569. package/style/base.css +204 -0
  570. package/style/index.css +6 -0
  571. package/style/showcase-vercel-ai.css +137 -0
@@ -0,0 +1,117 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /*
3
+ * Copyright (c) 2025-2026 Datalayer, Inc.
4
+ * Distributed under the terms of the Modified BSD License.
5
+ */
6
+ /**
7
+ * InlineHaikuCard - A beautiful haiku card component for inline rendering.
8
+ *
9
+ * Inspired by the AG-UI Dojo implementation, this component renders haiku
10
+ * poetry with gradient backgrounds and Japanese/English text.
11
+ *
12
+ * @module examples/ag-ui/haiku/InlineHaikuCard
13
+ */
14
+ import { Spinner } from '@primer/react';
15
+ /**
16
+ * Default gradient if none specified
17
+ */
18
+ const DEFAULT_GRADIENT = 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)';
19
+ /**
20
+ * InlineHaikuCard Component
21
+ *
22
+ * Renders a beautiful haiku card inline in the chat or in a display area with:
23
+ * - Custom gradient background
24
+ * - Japanese text (decorative, larger)
25
+ * - English translation (below)
26
+ * - Decorative corner accents
27
+ */
28
+ export function InlineHaikuCard({ haiku, status, error, size = 'normal', }) {
29
+ const isLarge = size === 'large';
30
+ const cardWidth = isLarge ? 400 : 300;
31
+ const japaneseSize = isLarge ? 24 : 18;
32
+ const englishSize = isLarge ? 14 : 12;
33
+ const padding = isLarge ? 24 : 16;
34
+ // Show loading state for inProgress or executing
35
+ if (status === 'inProgress' || status === 'executing' || !haiku) {
36
+ return (_jsxs("div", { style: {
37
+ background: DEFAULT_GRADIENT,
38
+ borderRadius: 12,
39
+ padding: padding,
40
+ marginTop: 12,
41
+ marginBottom: 8,
42
+ maxWidth: cardWidth,
43
+ width: '100%',
44
+ display: 'flex',
45
+ alignItems: 'center',
46
+ gap: 8,
47
+ }, children: [_jsx(Spinner, { size: "small" }), _jsx("span", { style: { color: 'white', fontSize: 14 }, children: status === 'inProgress'
48
+ ? 'Composing haiku...'
49
+ : 'Generating haiku...' })] }));
50
+ }
51
+ // Show error state
52
+ if (status === 'error') {
53
+ return (_jsx("div", { style: {
54
+ backgroundColor: '#E53E3E',
55
+ borderRadius: 12,
56
+ padding: padding,
57
+ marginTop: 12,
58
+ marginBottom: 8,
59
+ maxWidth: cardWidth,
60
+ width: '100%',
61
+ }, children: _jsxs("span", { style: { color: 'white', fontSize: 14 }, children: ["Error: ", error || 'Failed to generate haiku'] }) }));
62
+ }
63
+ const gradient = haiku.gradient || DEFAULT_GRADIENT;
64
+ return (_jsxs("div", { "data-testid": "haiku-card", style: {
65
+ background: gradient,
66
+ borderRadius: 12,
67
+ marginTop: 12,
68
+ marginBottom: 8,
69
+ maxWidth: cardWidth,
70
+ width: '100%',
71
+ overflow: 'hidden',
72
+ position: 'relative',
73
+ }, children: [_jsx("div", { style: {
74
+ position: 'absolute',
75
+ top: 0,
76
+ right: 0,
77
+ width: 60,
78
+ height: 60,
79
+ background: 'rgba(255, 255, 255, 0.1)',
80
+ borderBottomLeftRadius: '100%',
81
+ } }), _jsx("div", { style: {
82
+ position: 'absolute',
83
+ bottom: 0,
84
+ left: 0,
85
+ width: 40,
86
+ height: 40,
87
+ background: 'rgba(255, 255, 255, 0.08)',
88
+ borderTopRightRadius: '100%',
89
+ } }), _jsxs("div", { style: {
90
+ padding: padding,
91
+ position: 'relative',
92
+ zIndex: 1,
93
+ }, children: [_jsx("div", { "data-testid": "haiku-japanese", style: {
94
+ marginBottom: isLarge ? 20 : 16,
95
+ }, children: haiku.japanese.map((line, index) => (_jsx("p", { style: {
96
+ color: 'white',
97
+ fontSize: japaneseSize,
98
+ fontWeight: 500,
99
+ margin: 0,
100
+ marginBottom: index < haiku.japanese.length - 1 ? 4 : 0,
101
+ textShadow: '0 1px 2px rgba(0, 0, 0, 0.2)',
102
+ lineHeight: 1.4,
103
+ }, children: line }, `jp-${index}`))) }), _jsx("div", { style: {
104
+ width: 40,
105
+ height: 2,
106
+ background: 'rgba(255, 255, 255, 0.4)',
107
+ marginBottom: isLarge ? 16 : 12,
108
+ } }), _jsx("div", { "data-testid": "haiku-english", children: haiku.english.map((line, index) => (_jsx("p", { style: {
109
+ color: 'rgba(255, 255, 255, 0.85)',
110
+ fontSize: englishSize,
111
+ fontStyle: 'italic',
112
+ margin: 0,
113
+ marginBottom: index < haiku.english.length - 1 ? 2 : 0,
114
+ lineHeight: 1.5,
115
+ }, children: line }, `en-${index}`))) })] })] }));
116
+ }
117
+ export default InlineHaikuCard;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Haiku example components for AG-UI tool-based generative UI.
3
+ *
4
+ * This folder contains haiku-specific components that demonstrate
5
+ * tool-based generative UI where the backend generates haiku content
6
+ * that is rendered both inline in chat and in a main display area.
7
+ *
8
+ * @module examples/ag-ui/haiku
9
+ */
10
+ export { InlineHaikuCard, type InlineHaikuCardProps, type HaikuResult, } from './InlineHaikuCard';
11
+ export { HaikuDisplay, type HaikuDisplayProps } from './HaikuDisplay';
@@ -0,0 +1,15 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Haiku example components for AG-UI tool-based generative UI.
7
+ *
8
+ * This folder contains haiku-specific components that demonstrate
9
+ * tool-based generative UI where the backend generates haiku content
10
+ * that is rendered both inline in chat and in a main display area.
11
+ *
12
+ * @module examples/ag-ui/haiku
13
+ */
14
+ export { InlineHaikuCard, } from './InlineHaikuCard';
15
+ export { HaikuDisplay } from './HaikuDisplay';
@@ -0,0 +1,10 @@
1
+ /**
2
+ * AG-UI example components.
3
+ *
4
+ * This folder contains components that demonstrate various AG-UI patterns
5
+ * including weather cards, haiku generation, and other tool-based UIs.
6
+ *
7
+ * @module examples/ag-ui
8
+ */
9
+ export { InlineWeatherCard, type InlineWeatherCardProps, type WeatherResult, } from './weather';
10
+ export { InlineHaikuCard, HaikuDisplay, type InlineHaikuCardProps, type HaikuDisplayProps, type HaikuResult, } from './haiku';
@@ -0,0 +1,16 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * AG-UI example components.
7
+ *
8
+ * This folder contains components that demonstrate various AG-UI patterns
9
+ * including weather cards, haiku generation, and other tool-based UIs.
10
+ *
11
+ * @module examples/ag-ui
12
+ */
13
+ // Weather components
14
+ export { InlineWeatherCard, } from './weather';
15
+ // Haiku components
16
+ export { InlineHaikuCard, HaikuDisplay, } from './haiku';
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Weather data structure returned by the backend tool
3
+ */
4
+ export interface WeatherResult {
5
+ temperature: number;
6
+ feelsLike: number;
7
+ humidity: number;
8
+ windSpeed: number;
9
+ windGust?: number;
10
+ conditions: string;
11
+ location: string;
12
+ }
13
+ /**
14
+ * Props for InlineWeatherCard
15
+ * Status aligned with CopilotKit's useRenderToolCall pattern
16
+ */
17
+ export interface InlineWeatherCardProps {
18
+ /** Location being queried */
19
+ location?: string;
20
+ /** Weather result data */
21
+ result?: WeatherResult;
22
+ /**
23
+ * Current status:
24
+ * - 'inProgress': Arguments are being streamed
25
+ * - 'executing': Tool is executing on backend
26
+ * - 'complete': Tool completed successfully
27
+ * - 'error': Tool execution failed
28
+ */
29
+ status: 'inProgress' | 'executing' | 'complete' | 'error';
30
+ /** Error message if status is 'error' */
31
+ error?: string;
32
+ }
33
+ /**
34
+ * InlineWeatherCard Component
35
+ *
36
+ * Renders a beautiful weather card inline in the chat with:
37
+ * - Dynamic background color based on weather conditions
38
+ * - Weather icon (sun, rain, cloud)
39
+ * - Temperature in both Celsius and Fahrenheit
40
+ * - Humidity, wind speed, and feels like temperature
41
+ */
42
+ export declare function InlineWeatherCard({ location, result, status, error, }: InlineWeatherCardProps): import("react/jsx-runtime").JSX.Element;
43
+ export default InlineWeatherCard;
@@ -0,0 +1,180 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /*
3
+ * Copyright (c) 2025-2026 Datalayer, Inc.
4
+ * Distributed under the terms of the Modified BSD License.
5
+ */
6
+ /**
7
+ * InlineWeatherCard - A beautiful weather card component for inline rendering.
8
+ *
9
+ * Inspired by the AG-UI Dojo implementation, this component renders weather
10
+ * data with dynamic theming based on weather conditions.
11
+ *
12
+ * @module components/chat/components/InlineWeatherCard
13
+ */
14
+ import { Spinner } from '@primer/react';
15
+ /**
16
+ * Get theme color based on weather conditions
17
+ */
18
+ function getThemeColor(conditions) {
19
+ const conditionLower = conditions.toLowerCase();
20
+ if (conditionLower.includes('clear') || conditionLower.includes('sunny')) {
21
+ return '#667eea'; // Purple-blue for clear
22
+ }
23
+ if (conditionLower.includes('rain') ||
24
+ conditionLower.includes('storm') ||
25
+ conditionLower.includes('drizzle')) {
26
+ return '#4A5568'; // Gray for rain
27
+ }
28
+ if (conditionLower.includes('cloud') || conditionLower.includes('overcast')) {
29
+ return '#718096'; // Slate for clouds
30
+ }
31
+ if (conditionLower.includes('snow') || conditionLower.includes('frost')) {
32
+ return '#63B3ED'; // Light blue for snow
33
+ }
34
+ if (conditionLower.includes('fog') || conditionLower.includes('mist')) {
35
+ return '#A0AEC0'; // Light gray for fog
36
+ }
37
+ return '#764ba2'; // Default purple
38
+ }
39
+ /**
40
+ * Sun icon SVG
41
+ */
42
+ function SunIcon() {
43
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", style: { width: 56, height: 56, color: '#FED7AA' }, children: [_jsx("circle", { cx: "12", cy: "12", r: "5" }), _jsx("path", { d: "M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42", strokeWidth: "2", stroke: "currentColor" })] }));
44
+ }
45
+ /**
46
+ * Rain icon SVG
47
+ */
48
+ function RainIcon() {
49
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", style: { width: 56, height: 56, color: '#90CDF4' }, children: [_jsx("path", { d: "M12 4C8.68629 4 6 6.68629 6 10C6 10.5523 5.55228 11 5 11C4.44772 11 4 10.5523 4 10C4 5.58172 7.58172 2 12 2C16.4183 2 20 5.58172 20 10C20 10.5523 19.5523 11 19 11C18.4477 11 18 10.5523 18 10C18 6.68629 15.3137 4 12 4Z" }), _jsx("path", { d: "M8 14L6 22M12 14L10 22M16 14L14 22", strokeWidth: "2", stroke: "currentColor", fill: "none", strokeLinecap: "round" })] }));
50
+ }
51
+ /**
52
+ * Cloud icon SVG
53
+ */
54
+ function CloudIcon() {
55
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", style: { width: 56, height: 56, color: '#E2E8F0' }, children: _jsx("path", { d: "M6.5 19C3.46243 19 1 16.5376 1 13.5C1 10.4624 3.46243 8 6.5 8C6.66896 8 6.83618 8.00748 7.00129 8.02216C8.04619 5.61876 10.3459 4 13 4C16.3137 4 19 6.68629 19 10C19 10.0736 18.9983 10.1469 18.9948 10.2198C21.2505 10.6646 23 12.6392 23 15C23 17.7614 20.7614 20 18 20H6.5C6.5 20 6.5 19 6.5 19Z" }) }));
56
+ }
57
+ /**
58
+ * Get weather icon based on conditions
59
+ */
60
+ function WeatherIcon({ conditions }) {
61
+ if (!conditions)
62
+ return _jsx(CloudIcon, {});
63
+ const conditionLower = conditions.toLowerCase();
64
+ if (conditionLower.includes('clear') || conditionLower.includes('sunny')) {
65
+ return _jsx(SunIcon, {});
66
+ }
67
+ if (conditionLower.includes('rain') ||
68
+ conditionLower.includes('drizzle') ||
69
+ conditionLower.includes('snow') ||
70
+ conditionLower.includes('thunderstorm')) {
71
+ return _jsx(RainIcon, {});
72
+ }
73
+ return _jsx(CloudIcon, {});
74
+ }
75
+ /**
76
+ * InlineWeatherCard Component
77
+ *
78
+ * Renders a beautiful weather card inline in the chat with:
79
+ * - Dynamic background color based on weather conditions
80
+ * - Weather icon (sun, rain, cloud)
81
+ * - Temperature in both Celsius and Fahrenheit
82
+ * - Humidity, wind speed, and feels like temperature
83
+ */
84
+ export function InlineWeatherCard({ location, result, status, error, }) {
85
+ // Show loading state for inProgress or executing (or when result not yet available)
86
+ if (status === 'inProgress' || status === 'executing' || !result) {
87
+ const themeColor = '#667eea';
88
+ const message = status === 'inProgress'
89
+ ? `Preparing to fetch weather${location ? ` for ${location}` : ''}...`
90
+ : `Fetching weather for ${location || 'location'}...`;
91
+ return (_jsxs("div", { style: {
92
+ backgroundColor: themeColor,
93
+ borderRadius: 12,
94
+ padding: 16,
95
+ marginTop: 12,
96
+ marginBottom: 8,
97
+ maxWidth: 320,
98
+ width: '100%',
99
+ display: 'flex',
100
+ alignItems: 'center',
101
+ gap: 8,
102
+ }, children: [_jsx(Spinner, { size: "small" }), _jsx("span", { style: { color: 'white', fontSize: 14 }, children: message })] }));
103
+ }
104
+ // Show error state
105
+ if (status === 'error') {
106
+ return (_jsx("div", { style: {
107
+ backgroundColor: '#E53E3E',
108
+ borderRadius: 12,
109
+ padding: 16,
110
+ marginTop: 12,
111
+ marginBottom: 8,
112
+ maxWidth: 320,
113
+ width: '100%',
114
+ }, children: _jsxs("span", { style: { color: 'white', fontSize: 14 }, children: ["Error: ", error || 'Failed to fetch weather'] }) }));
115
+ }
116
+ const themeColor = getThemeColor(result.conditions);
117
+ const celsiusTemp = result.temperature;
118
+ const fahrenheitTemp = ((celsiusTemp * 9) / 5 + 32).toFixed(1);
119
+ return (_jsx("div", { "data-testid": "weather-card", style: {
120
+ backgroundColor: themeColor,
121
+ borderRadius: 12,
122
+ marginTop: 12,
123
+ marginBottom: 8,
124
+ maxWidth: 320,
125
+ width: '100%',
126
+ overflow: 'hidden',
127
+ }, children: _jsxs("div", { style: {
128
+ backgroundColor: 'rgba(255, 255, 255, 0.2)',
129
+ padding: 16,
130
+ width: '100%',
131
+ }, children: [_jsxs("div", { style: {
132
+ display: 'flex',
133
+ alignItems: 'center',
134
+ justifyContent: 'space-between',
135
+ }, children: [_jsxs("div", { children: [_jsx("h3", { "data-testid": "weather-city", style: {
136
+ fontSize: 18,
137
+ fontWeight: 'bold',
138
+ color: 'white',
139
+ margin: 0,
140
+ textTransform: 'capitalize',
141
+ }, children: result.location || location }), _jsx("p", { style: { color: 'white', margin: 0, fontSize: 14, marginTop: 4 }, children: "Current Weather" })] }), _jsx(WeatherIcon, { conditions: result.conditions })] }), _jsxs("div", { style: {
142
+ marginTop: 16,
143
+ display: 'flex',
144
+ alignItems: 'flex-end',
145
+ justifyContent: 'space-between',
146
+ }, children: [_jsxs("div", { style: { fontSize: 32, fontWeight: 'bold', color: 'white' }, children: [_jsxs("span", { children: [celsiusTemp, "\u00B0 C"] }), _jsxs("span", { style: {
147
+ fontSize: 14,
148
+ color: 'rgba(255, 255, 255, 0.6)',
149
+ marginLeft: 8,
150
+ }, children: ["/ ", fahrenheitTemp, "\u00B0 F"] })] }), _jsx("div", { style: {
151
+ fontSize: 14,
152
+ color: 'white',
153
+ textTransform: 'capitalize',
154
+ }, children: result.conditions })] }), _jsx("div", { style: {
155
+ marginTop: 16,
156
+ paddingTop: 16,
157
+ borderTop: '1px solid rgba(255, 255, 255, 0.3)',
158
+ }, children: _jsxs("div", { style: {
159
+ display: 'grid',
160
+ gridTemplateColumns: '1fr 1fr 1fr',
161
+ gap: 8,
162
+ textAlign: 'center',
163
+ }, children: [_jsxs("div", { "data-testid": "weather-humidity", children: [_jsx("p", { style: { color: 'white', fontSize: 12, margin: 0 }, children: "Humidity" }), _jsxs("p", { style: {
164
+ color: 'white',
165
+ fontWeight: 500,
166
+ margin: 0,
167
+ marginTop: 4,
168
+ }, children: [result.humidity, "%"] })] }), _jsxs("div", { "data-testid": "weather-wind", children: [_jsx("p", { style: { color: 'white', fontSize: 12, margin: 0 }, children: "Wind" }), _jsxs("p", { style: {
169
+ color: 'white',
170
+ fontWeight: 500,
171
+ margin: 0,
172
+ marginTop: 4,
173
+ }, children: [result.windSpeed, " km/h"] })] }), _jsxs("div", { "data-testid": "weather-feels-like", children: [_jsx("p", { style: { color: 'white', fontSize: 12, margin: 0 }, children: "Feels Like" }), _jsxs("p", { style: {
174
+ color: 'white',
175
+ fontWeight: 500,
176
+ margin: 0,
177
+ marginTop: 4,
178
+ }, children: [result.feelsLike, "\u00B0"] })] })] }) })] }) }));
179
+ }
180
+ export default InlineWeatherCard;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Weather example components for AG-UI backend tool rendering.
3
+ *
4
+ * This folder contains weather-specific components that demonstrate
5
+ * inline tool rendering similar to CopilotKit's useCopilotAction pattern.
6
+ *
7
+ * @module examples/ag-ui/weather
8
+ */
9
+ export { InlineWeatherCard, type InlineWeatherCardProps, type WeatherResult, } from './InlineWeatherCard';
@@ -0,0 +1,13 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Weather example components for AG-UI backend tool rendering.
7
+ *
8
+ * This folder contains weather-specific components that demonstrate
9
+ * inline tool rendering similar to CopilotKit's useCopilotAction pattern.
10
+ *
11
+ * @module examples/ag-ui/weather
12
+ */
13
+ export { InlineWeatherCard, } from './InlineWeatherCard';
@@ -0,0 +1,50 @@
1
+ import React from 'react';
2
+ import type { Agent } from '../stores/examplesStore';
3
+ import type { Transport, Extension } from '../../components/chat';
4
+ type AgentLibrary = 'pydantic-ai' | 'langchain' | 'jupyter-ai';
5
+ export type { AgentLibrary };
6
+ export type { Transport };
7
+ export type { Extension };
8
+ declare const AGENT_LIBRARIES: {
9
+ value: AgentLibrary;
10
+ label: string;
11
+ description: string;
12
+ disabled?: boolean;
13
+ }[];
14
+ declare const TRANSPORTS: {
15
+ value: Transport;
16
+ label: string;
17
+ description: string;
18
+ }[];
19
+ declare const EXTENSIONS: {
20
+ value: Extension;
21
+ label: string;
22
+ description: string;
23
+ }[];
24
+ interface AgentConfigurationProps {
25
+ agentLibrary: AgentLibrary;
26
+ transport: Transport;
27
+ extensions: Extension[];
28
+ wsUrl: string;
29
+ baseUrl: string;
30
+ agentName: string;
31
+ agents: readonly Agent[];
32
+ selectedAgentId: string;
33
+ isCreatingAgent?: boolean;
34
+ createError?: string | null;
35
+ onAgentLibraryChange: (library: AgentLibrary) => void;
36
+ onTransportChange: (transport: Transport) => void;
37
+ onExtensionsChange: (extensions: Extension[]) => void;
38
+ onWsUrlChange: (url: string) => void;
39
+ onBaseUrlChange: (url: string) => void;
40
+ onAgentNameChange: (name: string) => void;
41
+ onAgentSelect: (agentId: string) => void;
42
+ onConnect: () => void;
43
+ }
44
+ /**
45
+ * Agent Configuration Component
46
+ *
47
+ * Form for configuring agent connection settings.
48
+ */
49
+ export declare const AgentConfiguration: React.FC<AgentConfigurationProps>;
50
+ export { AGENT_LIBRARIES, TRANSPORTS, EXTENSIONS };
@@ -0,0 +1,115 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Text, TextInput, Button, FormControl, Select, CheckboxGroup, Checkbox, Spinner, Flash, } from '@primer/react';
3
+ import { Box } from '@datalayer/primer-addons';
4
+ const AGENT_LIBRARIES = [
5
+ {
6
+ value: 'pydantic-ai',
7
+ label: 'Pydantic AI',
8
+ description: 'Type-safe agents with Pydantic models',
9
+ },
10
+ {
11
+ value: 'langchain',
12
+ label: 'LangChain',
13
+ description: 'Complex chains and agent workflows',
14
+ disabled: true,
15
+ },
16
+ {
17
+ value: 'jupyter-ai',
18
+ label: 'Simple AI',
19
+ description: 'Simple notebook integration',
20
+ disabled: true,
21
+ },
22
+ ];
23
+ const TRANSPORTS = [
24
+ {
25
+ value: 'ag-ui',
26
+ label: 'AG-UI',
27
+ description: 'Pydantic AI native UI transport',
28
+ },
29
+ {
30
+ value: 'acp',
31
+ label: 'ACP (Agent Client Protocol)',
32
+ description: 'Standard WebSocket-based transport',
33
+ },
34
+ {
35
+ value: 'vercel-ai',
36
+ label: 'Vercel AI',
37
+ description: 'HTTP streaming with Vercel AI',
38
+ },
39
+ {
40
+ value: 'vercel-ai-jupyter',
41
+ label: 'Vercel AI (Jupyter)',
42
+ description: 'Vercel AI via Jupyter server endpoint',
43
+ },
44
+ {
45
+ value: 'a2a',
46
+ label: 'A2A (Agent-to-Agent)',
47
+ description: 'Inter-agent communication',
48
+ },
49
+ ];
50
+ const EXTENSIONS = [
51
+ {
52
+ value: 'mcp-ui',
53
+ label: 'MCP-UI',
54
+ description: 'MCP UI resources extension',
55
+ },
56
+ {
57
+ value: 'a2ui',
58
+ label: 'A2UI',
59
+ description: 'Agent-to-UI extension',
60
+ },
61
+ ];
62
+ /**
63
+ * Agent Configuration Component
64
+ *
65
+ * Form for configuring agent connection settings.
66
+ */
67
+ export const AgentConfiguration = ({ agentLibrary, transport, extensions, wsUrl, baseUrl, agentName, agents, selectedAgentId, isCreatingAgent = false, createError = null, onAgentLibraryChange, onTransportChange, onExtensionsChange, onWsUrlChange, onBaseUrlChange, onAgentNameChange, onAgentSelect, onConnect, }) => {
68
+ // Determine which extensions are enabled based on transport
69
+ const isExtensionEnabled = (ext) => {
70
+ if (selectedAgentId !== 'new-agent')
71
+ return false;
72
+ if (transport === 'ag-ui')
73
+ return true; // Both mcp-ui and a2ui enabled
74
+ if (transport === 'a2a')
75
+ return ext === 'a2ui'; // Only a2ui enabled
76
+ return false; // All others disabled
77
+ };
78
+ // Handle extension checkbox change
79
+ const handleExtensionChange = (ext, checked) => {
80
+ if (checked) {
81
+ onExtensionsChange([...extensions, ext]);
82
+ }
83
+ else {
84
+ onExtensionsChange(extensions.filter(e => e !== ext));
85
+ }
86
+ };
87
+ return (_jsxs(Box, { sx: {
88
+ padding: 3,
89
+ border: '1px solid',
90
+ borderColor: 'border.default',
91
+ borderRadius: 2,
92
+ backgroundColor: 'canvas.subtle',
93
+ }, children: [_jsx(Text, { sx: {
94
+ fontSize: 2,
95
+ fontWeight: 'bold',
96
+ display: 'block',
97
+ marginBottom: 3,
98
+ }, children: "Connection Settings" }), _jsxs(FormControl, { sx: { marginBottom: 3 }, children: [_jsx(FormControl.Label, { children: "Available Agents" }), _jsxs(Select, { value: selectedAgentId, onChange: e => onAgentSelect(e.target.value), sx: { width: '100%' }, children: [_jsx(Select.Option, { value: "new-agent", children: "+ New Agent..." }), agents.map(agent => (_jsxs(Select.Option, { value: agent.id, children: [agent.status === 'running' && '● ', agent.name] }, agent.id)))] }), _jsx(FormControl.Caption, { children: selectedAgentId === 'new-agent'
99
+ ? 'Configure a new custom agent'
100
+ : 'Selected agent - form fields below are disabled' })] }), _jsxs(Box, { sx: { display: 'flex', gap: 3, marginBottom: 3 }, children: [_jsxs(FormControl, { sx: { flex: 1 }, children: [_jsx(FormControl.Label, { children: "Agent Library" }), _jsx(Select, { value: agentLibrary, onChange: e => onAgentLibraryChange(e.target.value), disabled: selectedAgentId !== 'new-agent', sx: { width: '100%' }, children: AGENT_LIBRARIES.map(lib => (_jsxs(Select.Option, { value: lib.value, disabled: lib.disabled, children: [lib.label, lib.disabled && ' (Coming Soon)'] }, lib.value))) })] }), _jsxs(FormControl, { sx: { flex: 1 }, children: [_jsx(FormControl.Label, { children: "Transport" }), _jsx(Select, { value: transport, onChange: e => onTransportChange(e.target.value), disabled: selectedAgentId !== 'new-agent', sx: { width: '100%' }, children: TRANSPORTS.map(t => (_jsx(Select.Option, { value: t.value, children: t.label }, t.value))) })] }), _jsxs(FormControl, { sx: { flex: 1 }, children: [_jsx(FormControl.Label, { children: "Extensions" }), _jsx(Box, { sx: { display: 'flex', flexDirection: 'column', gap: 2 }, children: EXTENSIONS.map(ext => (_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 2 }, children: [_jsx(Checkbox, { value: ext.value, checked: extensions.includes(ext.value), disabled: !isExtensionEnabled(ext.value), onChange: e => handleExtensionChange(ext.value, e.target.checked) }), _jsx(Text, { children: ext.label })] }, ext.value))) })] })] }), _jsxs(FormControl, { sx: { marginBottom: 3 }, children: [_jsx(FormControl.Label, { children: transport === 'acp' ? 'WebSocket URL' : 'Base URL' }), _jsx(TextInput, { value: transport === 'acp' ? wsUrl : baseUrl, onChange: e => transport === 'acp'
101
+ ? onWsUrlChange(e.target.value)
102
+ : onBaseUrlChange(e.target.value), disabled: selectedAgentId !== 'new-agent', placeholder: transport === 'acp'
103
+ ? 'ws://localhost:8000/api/v1/acp/ws'
104
+ : 'http://localhost:8000', sx: { width: '100%' } }), _jsx(FormControl.Caption, { children: transport === 'acp'
105
+ ? 'The WebSocket endpoint of your agent-runtimes server'
106
+ : 'The base URL of your agent-runtimes server' })] }), _jsxs(FormControl, { sx: { marginBottom: 3 }, children: [_jsx(FormControl.Label, { children: "Agent Name" }), _jsx(TextInput, { value: agentName, onChange: e => onAgentNameChange(e.target.value), disabled: selectedAgentId !== 'new-agent', placeholder: "demo-agent", sx: { width: '100%' } }), _jsx(FormControl.Caption, { children: "The name of the agent to connect to" })] }), _jsxs(CheckboxGroup, { sx: { marginBottom: 3 }, disabled: true, children: [_jsx(CheckboxGroup.Label, { children: "MCP Servers (Coming Soon)" }), _jsx(CheckboxGroup.Caption, { children: "Select MCP servers to connect to" }), _jsxs(FormControl, { disabled: true, children: [_jsx(Checkbox, { value: "github", defaultChecked: true, disabled: true }), _jsx(FormControl.Label, { children: "GitHub" })] }), _jsxs(FormControl, { disabled: true, children: [_jsx(Checkbox, { value: "anaconda", disabled: true }), _jsx(FormControl.Label, { children: "Anaconda" })] }), _jsxs(FormControl, { disabled: true, children: [_jsx(Checkbox, { value: "tavily", disabled: true }), _jsx(FormControl.Label, { children: "Tavily" })] })] }), createError && (_jsx(Flash, { variant: "danger", sx: { marginBottom: 3 }, children: createError })), _jsx(Button, { variant: "primary", onClick: onConnect, disabled: isCreatingAgent ||
107
+ !agentName ||
108
+ (transport === 'acp' ? !wsUrl : !baseUrl), sx: { width: '100%' }, children: isCreatingAgent ? (_jsxs(Box, { sx: {
109
+ display: 'flex',
110
+ alignItems: 'center',
111
+ justifyContent: 'center',
112
+ gap: 2,
113
+ }, children: [_jsx(Spinner, { size: "small" }), _jsx("span", { children: "Creating Agent..." })] })) : selectedAgentId === 'new-agent' ? ('Create the Agent') : agents.find(a => a.id === selectedAgentId)?.status === 'running' ? ('Connect to the Agent') : ('Start and Connect to the Agent') })] }));
114
+ };
115
+ export { AGENT_LIBRARIES, TRANSPORTS, EXTENSIONS };
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ interface AgentsDataTableProps {
3
+ onToggleStatus?: (agentId: string) => void;
4
+ showAuthor?: boolean;
5
+ showLastEdited?: boolean;
6
+ }
7
+ /**
8
+ * Agents Data Table Component
9
+ *
10
+ * Displays agents in a table format with status controls.
11
+ */
12
+ export declare const AgentsDataTable: React.FC<AgentsDataTableProps>;
13
+ export {};