@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,32 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Helper to create a simple before-request middleware
7
+ */
8
+ export function createBeforeRequestMiddleware(name, handler) {
9
+ return {
10
+ name,
11
+ beforeRequest: handler,
12
+ };
13
+ }
14
+ /**
15
+ * Helper to create a simple after-request middleware
16
+ */
17
+ export function createAfterRequestMiddleware(name, handler) {
18
+ return {
19
+ name,
20
+ afterRequest: handler,
21
+ };
22
+ }
23
+ /**
24
+ * Helper to create a tool call middleware
25
+ */
26
+ export function createToolCallMiddleware(name, onToolCall, onToolResult) {
27
+ return {
28
+ name,
29
+ onToolCall,
30
+ onToolResult,
31
+ };
32
+ }
@@ -0,0 +1,209 @@
1
+ /**
2
+ * Protocol adapter types for chat component.
3
+ * Supports AG-UI (SSE), A2A (SSE), ACP (WebSocket), MCP-UI.
4
+ *
5
+ * @module components/chat/types/protocol
6
+ */
7
+ import type { ChatMessage } from './message';
8
+ import type { ToolDefinition, ToolCallRequest, ToolExecutionResult } from './tool';
9
+ /**
10
+ * Supported transport types (communication transports)
11
+ */
12
+ export type TransportType = 'ag-ui' | 'a2a' | 'acp' | 'vercel-ai';
13
+ /**
14
+ * UI format for interactive elements
15
+ */
16
+ export type Extension = 'mcp-ui' | 'a2ui';
17
+ /**
18
+ * Protocol transport mechanism
19
+ */
20
+ export type ProtocolTransport = 'sse' | 'websocket' | 'http';
21
+ /**
22
+ * Protocol connection state
23
+ */
24
+ export type ProtocolConnectionState = 'disconnected' | 'connecting' | 'connected' | 'error' | 'reconnecting';
25
+ /**
26
+ * Transport adapter configuration
27
+ */
28
+ export interface ProtocolAdapterConfig {
29
+ /** Transport type */
30
+ type: TransportType;
31
+ /** Base URL for the protocol endpoint */
32
+ baseUrl: string;
33
+ /** Authentication token/key */
34
+ authToken?: string;
35
+ /** Agent ID or name */
36
+ agentId?: string;
37
+ /** Auto-reconnect on disconnect */
38
+ autoReconnect?: boolean;
39
+ /** Reconnect delay in milliseconds */
40
+ reconnectDelay?: number;
41
+ /** Max reconnection attempts */
42
+ maxReconnectAttempts?: number;
43
+ /** Request timeout in milliseconds */
44
+ timeout?: number;
45
+ /** Additional protocol-specific options */
46
+ options?: Record<string, unknown>;
47
+ }
48
+ /**
49
+ * Protocol event types
50
+ */
51
+ export type ProtocolEventType = 'connected' | 'disconnected' | 'message' | 'tool-call' | 'tool-result' | 'activity' | 'state-update' | 'error';
52
+ /**
53
+ * Protocol event
54
+ */
55
+ export interface ProtocolEvent {
56
+ type: ProtocolEventType;
57
+ data?: unknown;
58
+ message?: ChatMessage;
59
+ toolCall?: ToolCallRequest;
60
+ toolResult?: ToolExecutionResult;
61
+ activity?: {
62
+ type: string;
63
+ data: unknown;
64
+ };
65
+ error?: Error;
66
+ timestamp: Date;
67
+ }
68
+ /**
69
+ * Callback for handling protocol events
70
+ */
71
+ export type ProtocolEventHandler = (event: ProtocolEvent) => void;
72
+ /**
73
+ * Agent card for A2A protocol
74
+ */
75
+ export interface AgentCard {
76
+ name: string;
77
+ description?: string;
78
+ url: string;
79
+ version?: string;
80
+ capabilities?: {
81
+ streaming?: boolean;
82
+ extensions?: string[];
83
+ };
84
+ skills?: Array<{
85
+ id: string;
86
+ name: string;
87
+ description?: string;
88
+ examples?: string[];
89
+ }>;
90
+ }
91
+ /**
92
+ * Abstract protocol adapter interface
93
+ */
94
+ export interface ProtocolAdapter {
95
+ /** Transport type */
96
+ readonly type: TransportType;
97
+ /** Transport mechanism used */
98
+ readonly transport: ProtocolTransport;
99
+ /** Current connection state */
100
+ readonly connectionState: ProtocolConnectionState;
101
+ /**
102
+ * Connect to the protocol endpoint
103
+ */
104
+ connect(): Promise<void>;
105
+ /**
106
+ * Disconnect from the endpoint
107
+ */
108
+ disconnect(): void;
109
+ /**
110
+ * Send a message through the protocol
111
+ */
112
+ sendMessage(message: ChatMessage, options?: {
113
+ tools?: ToolDefinition[];
114
+ threadId?: string;
115
+ metadata?: Record<string, unknown>;
116
+ /** Full conversation history to send with the message */
117
+ messages?: ChatMessage[];
118
+ }): Promise<void>;
119
+ /**
120
+ * Send tool execution result back
121
+ */
122
+ sendToolResult(toolCallId: string, result: ToolExecutionResult): Promise<void>;
123
+ /**
124
+ * Subscribe to protocol events
125
+ */
126
+ subscribe(handler: ProtocolEventHandler): () => void;
127
+ /**
128
+ * Get agent card (for A2A protocol)
129
+ */
130
+ getAgentCard?(): Promise<AgentCard | null>;
131
+ /**
132
+ * Check if protocol supports a specific feature
133
+ */
134
+ supportsFeature(feature: string): boolean;
135
+ }
136
+ /**
137
+ * Factory function type for creating protocol adapters
138
+ */
139
+ export type ProtocolAdapterFactory = (config: ProtocolAdapterConfig) => ProtocolAdapter;
140
+ /**
141
+ * Protocol-specific message format converters
142
+ */
143
+ export interface ProtocolMessageConverter {
144
+ /** Convert internal message to protocol format */
145
+ toProtocol(message: ChatMessage): unknown;
146
+ /** Convert protocol message to internal format */
147
+ fromProtocol(data: unknown): ChatMessage | null;
148
+ }
149
+ /**
150
+ * AG-UI specific types
151
+ */
152
+ export declare namespace AGUI {
153
+ interface RunAgentInput {
154
+ threadId: string;
155
+ runId: string;
156
+ messages: ChatMessage[];
157
+ state: Record<string, unknown> | null;
158
+ tools: ToolDefinition[];
159
+ context: Array<{
160
+ type: string;
161
+ content: string;
162
+ }>;
163
+ forwardedProps: Record<string, unknown> | null;
164
+ }
165
+ interface Event {
166
+ type: string;
167
+ data?: unknown;
168
+ }
169
+ }
170
+ /**
171
+ * A2A specific types
172
+ */
173
+ export declare namespace A2A {
174
+ interface Task {
175
+ id: string;
176
+ status: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
177
+ messages: ChatMessage[];
178
+ result?: unknown;
179
+ }
180
+ interface Message {
181
+ role: string;
182
+ parts: Array<{
183
+ type: string;
184
+ text?: string;
185
+ data?: unknown;
186
+ }>;
187
+ }
188
+ }
189
+ /**
190
+ * ACP specific types (WebSocket-based)
191
+ */
192
+ export declare namespace ACP {
193
+ interface JsonRpcRequest {
194
+ jsonrpc: '2.0';
195
+ method: string;
196
+ params?: unknown;
197
+ id: string | number;
198
+ }
199
+ interface JsonRpcResponse {
200
+ jsonrpc: '2.0';
201
+ result?: unknown;
202
+ error?: {
203
+ code: number;
204
+ message: string;
205
+ data?: unknown;
206
+ };
207
+ id: string | number;
208
+ }
209
+ }
@@ -0,0 +1,5 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ export {};
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Tool types for chat component.
3
+ * Supports hybrid execution (frontend + backend) with per-tool annotation.
4
+ *
5
+ * @module components/chat/types/tool
6
+ */
7
+ import type { ReactNode } from 'react';
8
+ /**
9
+ * Tool execution location
10
+ * - 'frontend': Executes in browser (default if not specified)
11
+ * - 'backend': Executes on server via inference provider
12
+ */
13
+ export type ToolLocation = 'frontend' | 'backend';
14
+ /**
15
+ * Tool parameter definition (CopilotKit-compatible format)
16
+ */
17
+ export interface ToolParameter {
18
+ name: string;
19
+ type?: 'string' | 'number' | 'boolean' | 'object' | 'object[]' | 'string[]' | 'number[]';
20
+ description?: string;
21
+ required?: boolean;
22
+ attributes?: ToolParameter[];
23
+ enum?: string[];
24
+ default?: unknown;
25
+ }
26
+ /**
27
+ * Tool call status for render props
28
+ */
29
+ export type ToolRenderStatus = 'inProgress' | 'executing' | 'complete' | 'failed';
30
+ /**
31
+ * Props passed to tool render function
32
+ */
33
+ export interface ToolRenderProps<TArgs = Record<string, unknown>, TResult = unknown> {
34
+ /** Current execution status */
35
+ status: ToolRenderStatus;
36
+ /** Tool arguments from the LLM */
37
+ args: TArgs;
38
+ /** Result after execution (only when status is 'complete') */
39
+ result?: TResult;
40
+ /** Error message (only when status is 'failed') */
41
+ error?: string;
42
+ }
43
+ /**
44
+ * Props passed to renderAndWaitForResponse (HITL pattern)
45
+ */
46
+ export interface ToolRenderAndWaitProps<TArgs = Record<string, unknown>, TResult = unknown> extends ToolRenderProps<TArgs, TResult> {
47
+ /** Call this to respond with a result (for HITL approval) */
48
+ respond: (result: TResult) => Promise<void>;
49
+ }
50
+ /**
51
+ * Frontend tool definition (compatible with CopilotKit useFrontendTool)
52
+ */
53
+ export interface FrontendToolDefinition<TArgs = Record<string, unknown>, TResult = unknown> {
54
+ /** Unique tool name */
55
+ name: string;
56
+ /** Description for the LLM */
57
+ description: string;
58
+ /** Parameter definitions */
59
+ parameters: ToolParameter[];
60
+ /**
61
+ * Execution location
62
+ * @default 'frontend'
63
+ */
64
+ location?: ToolLocation;
65
+ /**
66
+ * Handler function for frontend execution
67
+ * Required when location is 'frontend' (default)
68
+ */
69
+ handler?: (args: TArgs) => Promise<TResult>;
70
+ /**
71
+ * Optional render function for custom UI during execution
72
+ */
73
+ render?: (props: ToolRenderProps<TArgs, TResult>) => ReactNode;
74
+ /**
75
+ * Render function that waits for user response (HITL pattern)
76
+ * Mutually exclusive with 'render'
77
+ */
78
+ renderAndWaitForResponse?: (props: ToolRenderAndWaitProps<TArgs, TResult>) => ReactNode;
79
+ }
80
+ /**
81
+ * Backend tool definition (tool runs on server)
82
+ */
83
+ export interface BackendToolDefinition {
84
+ /** Unique tool name */
85
+ name: string;
86
+ /** Description for the LLM */
87
+ description: string;
88
+ /** Parameter definitions */
89
+ parameters: ToolParameter[];
90
+ /** Must be 'backend' */
91
+ location: 'backend';
92
+ /**
93
+ * Optional render function for custom UI during execution
94
+ */
95
+ render?: (props: ToolRenderProps) => ReactNode;
96
+ }
97
+ /**
98
+ * Union type for all tool definitions
99
+ */
100
+ export type ToolDefinition = FrontendToolDefinition | BackendToolDefinition;
101
+ /**
102
+ * Tool execution result
103
+ */
104
+ export interface ToolExecutionResult<T = unknown> {
105
+ /** Tool call ID from the original request */
106
+ toolCallId?: string;
107
+ success: boolean;
108
+ result?: T;
109
+ error?: string;
110
+ executionTime?: number;
111
+ }
112
+ /**
113
+ * Tool call request (from LLM)
114
+ */
115
+ export interface ToolCallRequest {
116
+ toolCallId: string;
117
+ toolName: string;
118
+ args: Record<string, unknown>;
119
+ }
120
+ /**
121
+ * Tool registry entry (internal)
122
+ */
123
+ export interface ToolRegistryEntry {
124
+ definition: ToolDefinition;
125
+ registeredAt: Date;
126
+ }
127
+ /**
128
+ * Type guard to check if tool is frontend tool
129
+ */
130
+ export declare function isFrontendTool(tool: ToolDefinition): tool is FrontendToolDefinition;
131
+ /**
132
+ * Type guard to check if tool is backend tool
133
+ */
134
+ export declare function isBackendTool(tool: ToolDefinition): tool is BackendToolDefinition;
135
+ /**
136
+ * Type guard to check if tool has HITL render
137
+ */
138
+ export declare function hasHitlRender(tool: ToolDefinition): tool is FrontendToolDefinition & {
139
+ renderAndWaitForResponse: NonNullable<FrontendToolDefinition['renderAndWaitForResponse']>;
140
+ };
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Type guard to check if tool is frontend tool
7
+ */
8
+ export function isFrontendTool(tool) {
9
+ return tool.location !== 'backend';
10
+ }
11
+ /**
12
+ * Type guard to check if tool is backend tool
13
+ */
14
+ export function isBackendTool(tool) {
15
+ return tool.location === 'backend';
16
+ }
17
+ /**
18
+ * Type guard to check if tool has HITL render
19
+ */
20
+ export function hasHitlRender(tool) {
21
+ return ('renderAndWaitForResponse' in tool &&
22
+ tool.renderAndWaitForResponse !== undefined);
23
+ }
@@ -0,0 +1 @@
1
+ export * from './chat';
@@ -0,0 +1,6 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ // Primary exports from chat (next-gen chat component)
6
+ export * from './chat';
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import type { SparklinesProps } from './types';
3
+ /**
4
+ * Sparklines Component
5
+ *
6
+ * A lightweight, composable sparkline chart component.
7
+ * Renders an SVG container and processes data into points for child components.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * <Sparklines data={[1, 2, 3, 4, 5]} width={100} height={30}>
12
+ * <SparklinesLine color="#0969da" />
13
+ * </Sparklines>
14
+ * ```
15
+ */
16
+ export declare const Sparklines: React.FC<SparklinesProps>;
@@ -0,0 +1,65 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /*
3
+ * Copyright (c) 2025-2026 Datalayer, Inc.
4
+ * Distributed under the terms of the Modified BSD License.
5
+ */
6
+ import React, { useMemo } from 'react';
7
+ import { dataToPoints } from './dataProcessing';
8
+ /**
9
+ * Sparklines Component
10
+ *
11
+ * A lightweight, composable sparkline chart component.
12
+ * Renders an SVG container and processes data into points for child components.
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * <Sparklines data={[1, 2, 3, 4, 5]} width={100} height={30}>
17
+ * <SparklinesLine color="#0969da" />
18
+ * </Sparklines>
19
+ * ```
20
+ */
21
+ export const Sparklines = ({ data = [], width = 240, height = 60, svgWidth, svgHeight, preserveAspectRatio = 'none', margin = 2, style, min, max, limit, children, }) => {
22
+ // Convert data to points
23
+ const points = useMemo(() => {
24
+ if (data.length === 0) {
25
+ return [];
26
+ }
27
+ return dataToPoints({
28
+ data,
29
+ limit,
30
+ width,
31
+ height,
32
+ margin,
33
+ max,
34
+ min,
35
+ });
36
+ }, [data, limit, width, height, margin, max, min]);
37
+ if (data.length === 0) {
38
+ return null;
39
+ }
40
+ // Build SVG props
41
+ const svgProps = {
42
+ style,
43
+ viewBox: `0 0 ${width} ${height}`,
44
+ preserveAspectRatio,
45
+ };
46
+ if (svgWidth && svgWidth > 0) {
47
+ svgProps.width = svgWidth;
48
+ }
49
+ if (svgHeight && svgHeight > 0) {
50
+ svgProps.height = svgHeight;
51
+ }
52
+ return (_jsx("svg", { ...svgProps, children: React.Children.map(children, child => {
53
+ if (React.isValidElement(child)) {
54
+ return React.cloneElement(child, {
55
+ data,
56
+ points,
57
+ width,
58
+ height,
59
+ margin,
60
+ ...child.props,
61
+ });
62
+ }
63
+ return child;
64
+ }) }));
65
+ };
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { SparklinesLineProps } from './types';
3
+ /**
4
+ * Sparklines Line Component
5
+ *
6
+ * Renders a line chart within a Sparklines container.
7
+ */
8
+ export declare const SparklinesLine: React.FC<SparklinesLineProps>;
@@ -0,0 +1,37 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * Sparklines Line Component
4
+ *
5
+ * Renders a line chart within a Sparklines container.
6
+ */
7
+ export const SparklinesLine = ({ points = [], height = 60, margin = 2, color = '#0969da', style = {}, }) => {
8
+ if (!points || points.length === 0) {
9
+ return null;
10
+ }
11
+ // Convert points to polyline format
12
+ const linePoints = points.map(p => `${p.x},${p.y}`).join(' ');
13
+ // Create fill area by closing the path
14
+ const closePolyPoints = [
15
+ { x: points[points.length - 1].x, y: height - margin },
16
+ { x: margin, y: height - margin },
17
+ { x: margin, y: points[0].y },
18
+ ];
19
+ const fillPoints = points
20
+ .concat(closePolyPoints)
21
+ .map(p => `${p.x},${p.y}`)
22
+ .join(' ');
23
+ const lineStyle = {
24
+ stroke: color || style.stroke || 'slategray',
25
+ strokeWidth: style.strokeWidth || '1.5',
26
+ strokeLinejoin: 'round',
27
+ strokeLinecap: 'round',
28
+ fill: 'none',
29
+ };
30
+ const fillStyle = {
31
+ stroke: 'none',
32
+ strokeWidth: '0',
33
+ fillOpacity: style.fillOpacity || '0.1',
34
+ fill: style.fill || color || 'slategray',
35
+ };
36
+ return (_jsxs("g", { children: [_jsx("polyline", { points: fillPoints, style: fillStyle }), _jsx("polyline", { points: linePoints, style: lineStyle })] }));
37
+ };
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Get minimum value from array
3
+ */
4
+ export declare const min: (data: number[]) => number;
5
+ /**
6
+ * Get maximum value from array
7
+ */
8
+ export declare const max: (data: number[]) => number;
9
+ /**
10
+ * Convert data array to SVG points
11
+ */
12
+ export interface DataToPointsOptions {
13
+ data: number[];
14
+ limit?: number;
15
+ width?: number;
16
+ height?: number;
17
+ margin?: number;
18
+ max?: number;
19
+ min?: number;
20
+ }
21
+ export interface Point {
22
+ x: number;
23
+ y: number;
24
+ }
25
+ export declare const dataToPoints: ({ data, limit, width, height, margin, max: maxVal, min: minVal, }: DataToPointsOptions) => Point[];
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Get minimum value from array
7
+ */
8
+ export const min = (data) => {
9
+ return Math.min(...data);
10
+ };
11
+ /**
12
+ * Get maximum value from array
13
+ */
14
+ export const max = (data) => {
15
+ return Math.max(...data);
16
+ };
17
+ export const dataToPoints = ({ data, limit, width = 1, height = 1, margin = 0, max: maxVal, min: minVal, }) => {
18
+ let processedData = [...data];
19
+ const len = processedData.length;
20
+ // Limit data if specified
21
+ if (limit && limit < len) {
22
+ processedData = processedData.slice(len - limit);
23
+ }
24
+ // Calculate min/max if not provided
25
+ const dataMax = maxVal ?? max(processedData);
26
+ const dataMin = minVal ?? min(processedData);
27
+ // Calculate scaling factors
28
+ const vfactor = (height - margin * 2) / (dataMax - dataMin || 2);
29
+ const hfactor = (width - margin * 2) / ((limit || len) - (len > 1 ? 1 : 0));
30
+ // Map data to points
31
+ return processedData.map((d, i) => ({
32
+ x: i * hfactor + margin,
33
+ y: (dataMax === dataMin ? 1 : dataMax - d) * vfactor + margin,
34
+ }));
35
+ };
@@ -0,0 +1,4 @@
1
+ export { Sparklines } from './Sparklines';
2
+ export { SparklinesLine } from './SparklinesLine';
3
+ export type { SparklinesProps, SparklinesLineProps, Point } from './types';
4
+ export { dataToPoints, min, max } from './dataProcessing';
@@ -0,0 +1,7 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ export { Sparklines } from './Sparklines';
6
+ export { SparklinesLine } from './SparklinesLine';
7
+ export { dataToPoints, min, max } from './dataProcessing';
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Point interface for sparkline coordinates
3
+ */
4
+ export interface Point {
5
+ x: number;
6
+ y: number;
7
+ }
8
+ /**
9
+ * Sparklines component props
10
+ */
11
+ export interface SparklinesProps {
12
+ data: number[];
13
+ width?: number;
14
+ height?: number;
15
+ svgWidth?: number;
16
+ svgHeight?: number;
17
+ preserveAspectRatio?: string;
18
+ margin?: number;
19
+ style?: React.CSSProperties;
20
+ min?: number;
21
+ max?: number;
22
+ limit?: number;
23
+ children?: React.ReactNode;
24
+ }
25
+ /**
26
+ * Sparklines Line component props
27
+ */
28
+ export interface SparklinesLineProps {
29
+ data?: number[];
30
+ points?: Point[];
31
+ width?: number;
32
+ height?: number;
33
+ margin?: number;
34
+ color?: string;
35
+ style?: React.CSSProperties;
36
+ }
@@ -0,0 +1,5 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ export {};
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
3
+ declare function Accordion({ ...props }: React.ComponentProps<typeof AccordionPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function AccordionItem({ className, ...props }: React.ComponentProps<typeof AccordionPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
5
+ declare function AccordionTrigger({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
6
+ declare function AccordionContent({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
7
+ export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };