@datalayer/agent-runtimes 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (610) hide show
  1. package/README.md +1 -1
  2. package/lib/Agent.js +2 -2
  3. package/lib/AgentLexical.d.ts +1 -12
  4. package/lib/AgentLexical.js +3 -14
  5. package/lib/AgentNotebook.js +3 -3
  6. package/lib/App.js +2 -2
  7. package/lib/{components/chat/components → agents}/AgentDetails.d.ts +13 -2
  8. package/lib/{components/chat/components → agents}/AgentDetails.js +6 -12
  9. package/lib/api/agents.d.ts +47 -0
  10. package/lib/api/agents.js +106 -0
  11. package/lib/api/context.d.ts +17 -0
  12. package/lib/api/context.js +45 -0
  13. package/lib/api/evals.d.ts +27 -0
  14. package/lib/api/evals.js +63 -0
  15. package/lib/api/events.d.ts +17 -0
  16. package/lib/api/events.js +93 -0
  17. package/lib/{components/chat → api}/handler.js +1 -1
  18. package/lib/api/index.d.ts +15 -0
  19. package/lib/api/index.js +20 -0
  20. package/lib/api/notifications.d.ts +39 -0
  21. package/lib/api/notifications.js +103 -0
  22. package/lib/api/output.d.ts +28 -0
  23. package/lib/api/output.js +64 -0
  24. package/lib/api/tool-approvals.d.ts +62 -0
  25. package/lib/api/tool-approvals.js +145 -0
  26. package/lib/{components/chat/components → chat}/Chat.d.ts +25 -16
  27. package/lib/{components/chat/components → chat}/Chat.js +16 -16
  28. package/lib/{components/chat/components → chat}/ChatFloating.d.ts +17 -9
  29. package/lib/{components/chat/components → chat}/ChatFloating.js +17 -9
  30. package/lib/{components/chat/components → chat}/ChatInline.d.ts +2 -2
  31. package/lib/{components/chat/components → chat}/ChatInline.js +8 -6
  32. package/lib/{components/chat/components → chat}/ChatPopupStandalone.d.ts +3 -4
  33. package/lib/{components/chat/components → chat}/ChatPopupStandalone.js +6 -6
  34. package/lib/{components/chat/components → chat}/ChatSidebar.d.ts +14 -5
  35. package/lib/{components/chat/components → chat}/ChatSidebar.js +48 -26
  36. package/lib/{components/chat/components → chat}/ChatStandalone.d.ts +3 -4
  37. package/lib/{components/chat/components → chat}/ChatStandalone.js +5 -5
  38. package/lib/chat/base/ChatBase.d.ts +6 -0
  39. package/lib/chat/base/ChatBase.js +1287 -0
  40. package/lib/chat/display/EmptyState.d.ts +27 -0
  41. package/lib/chat/display/EmptyState.js +41 -0
  42. package/lib/{components/chat/components/elements → chat/display}/FloatingBrandButton.d.ts +1 -1
  43. package/lib/{components/chat/components/elements → chat/display}/FloatingBrandButton.js +1 -1
  44. package/lib/{components/chat/components/elements → chat/display}/PoweredByTag.d.ts +1 -1
  45. package/lib/{components/chat/components/elements → chat/header}/ChatHeader.d.ts +1 -4
  46. package/lib/{components/chat/components/elements → chat/header}/ChatHeader.js +1 -1
  47. package/lib/chat/header/ChatHeaderBase.d.ts +38 -0
  48. package/lib/chat/header/ChatHeaderBase.js +83 -0
  49. package/lib/chat/index.d.ts +66 -0
  50. package/lib/chat/index.js +74 -0
  51. package/lib/chat/indicators/McpStatusIndicator.d.ts +9 -0
  52. package/lib/chat/indicators/McpStatusIndicator.js +128 -0
  53. package/lib/chat/indicators/SandboxStatusIndicator.d.ts +10 -0
  54. package/lib/chat/indicators/SandboxStatusIndicator.js +175 -0
  55. package/lib/chat/indicators/index.d.ts +17 -0
  56. package/lib/chat/indicators/index.js +19 -0
  57. package/lib/chat/messages/ChatMessageList.d.ts +49 -0
  58. package/lib/chat/messages/ChatMessageList.js +319 -0
  59. package/lib/{components/chat/components/elements → chat/messages}/ChatMessages.d.ts +2 -2
  60. package/lib/{components/chat/components/elements → chat/messages}/ChatMessages.js +6 -4
  61. package/lib/{components/chat/components → chat}/parts/DynamicToolPart.d.ts +1 -1
  62. package/lib/{components/chat/components/elements → chat/parts}/MessagePart.d.ts +1 -1
  63. package/lib/{components/chat/components/elements → chat/parts}/MessagePart.js +4 -4
  64. package/lib/{components/chat/components → chat}/parts/ReasoningPart.js +1 -1
  65. package/lib/{components/chat/components → chat}/parts/TextPart.d.ts +1 -1
  66. package/lib/{components/chat/components → chat}/parts/ToolPart.js +1 -1
  67. package/lib/{components/chat/components → chat}/parts/index.d.ts +2 -1
  68. package/lib/{components/chat/components → chat}/parts/index.js +2 -1
  69. package/lib/chat/prompt/InputFooter.d.ts +43 -0
  70. package/lib/chat/prompt/InputFooter.js +135 -0
  71. package/lib/chat/prompt/InputPrompt.d.ts +60 -0
  72. package/lib/chat/prompt/InputPrompt.js +83 -0
  73. package/lib/chat/prompt/InputPromptFooter.d.ts +25 -0
  74. package/lib/chat/prompt/InputPromptFooter.js +15 -0
  75. package/lib/chat/prompt/InputPromptHeader.d.ts +15 -0
  76. package/lib/chat/prompt/InputPromptHeader.js +15 -0
  77. package/lib/chat/prompt/InputPromptLexical.d.ts +16 -0
  78. package/lib/chat/prompt/InputPromptLexical.js +122 -0
  79. package/lib/chat/prompt/InputPromptText.d.ts +24 -0
  80. package/lib/chat/prompt/InputPromptText.js +66 -0
  81. package/lib/chat/prompt/index.d.ts +11 -0
  82. package/lib/chat/prompt/index.js +15 -0
  83. package/lib/{components/chat/components → chat}/styles/streamdownStyles.d.ts +1 -1
  84. package/lib/chat/tools/ToolApprovalBanner.d.ts +31 -0
  85. package/lib/chat/tools/ToolApprovalBanner.js +62 -0
  86. package/lib/{components/chat/components/elements → chat/tools}/ToolApprovalDialog.js +1 -1
  87. package/lib/{components/chat/components/display → chat/tools}/ToolCallDisplay.d.ts +13 -4
  88. package/lib/{components/chat/components/display → chat/tools}/ToolCallDisplay.js +18 -8
  89. package/lib/chat/tools/index.d.ts +8 -0
  90. package/lib/{components/chat/components/display → chat/tools}/index.js +3 -1
  91. package/lib/chat/usage/TokenUsageBar.d.ts +8 -0
  92. package/lib/chat/usage/TokenUsageBar.js +213 -0
  93. package/lib/client/AgentsMixin.d.ts +169 -0
  94. package/lib/client/AgentsMixin.js +279 -0
  95. package/lib/client/index.d.ts +6 -0
  96. package/lib/client/index.js +10 -0
  97. package/lib/components/NotificationEventCard.d.ts +8 -0
  98. package/lib/components/NotificationEventCard.js +152 -0
  99. package/lib/components/OutputCard.d.ts +8 -0
  100. package/lib/components/OutputCard.js +80 -0
  101. package/lib/components/ToolApprovalCard.d.ts +33 -0
  102. package/lib/components/ToolApprovalCard.js +60 -0
  103. package/lib/components/index.d.ts +3 -7
  104. package/lib/components/index.js +3 -4
  105. package/lib/{components → config}/AgentConfiguration.d.ts +43 -21
  106. package/lib/{components → config}/AgentConfiguration.js +48 -28
  107. package/lib/config/index.d.ts +2 -0
  108. package/lib/config/index.js +1 -0
  109. package/lib/{components/chat/components → context}/ContextInspector.js +38 -8
  110. package/lib/{components/chat/components → context}/ContextPanel.js +27 -6
  111. package/lib/context/CostTracker.d.ts +37 -0
  112. package/lib/context/CostTracker.js +124 -0
  113. package/lib/context/TokenUsageChart.d.ts +10 -0
  114. package/lib/context/TokenUsageChart.js +288 -0
  115. package/lib/examples/A2UiComponentGalleryExample.d.ts +20 -0
  116. package/lib/examples/A2UiComponentGalleryExample.js +568 -0
  117. package/lib/examples/A2UiContactCardExample.d.ts +21 -0
  118. package/lib/examples/A2UiContactCardExample.js +432 -0
  119. package/lib/examples/A2UiRestaurantExample.d.ts +11 -3
  120. package/lib/examples/A2UiRestaurantExample.js +63 -98
  121. package/lib/examples/A2UiViewerExample.d.ts +21 -0
  122. package/lib/examples/A2UiViewerExample.js +563 -0
  123. package/lib/examples/AgUiAgenticExample.js +3 -3
  124. package/lib/examples/AgUiBackendToolRenderingExample.js +3 -3
  125. package/lib/examples/{AgUiHaikuGenUIExample.d.ts → AgUiHaikuGenUiExample.d.ts} +4 -4
  126. package/lib/examples/{AgUiHaikuGenUIExample.js → AgUiHaikuGenUiExample.js} +7 -7
  127. package/lib/examples/AgUiHumanInTheLoopExample.js +3 -3
  128. package/lib/examples/AgUiSharedStateExample.js +3 -3
  129. package/lib/examples/{AgUiToolsBasedGenUIExample.d.ts → AgUiToolsBasedGenUiExample.d.ts} +4 -4
  130. package/lib/examples/{AgUiToolsBasedGenUIExample.js → AgUiToolsBasedGenUiExample.js} +7 -7
  131. package/lib/examples/AgentCheckpointsExample.d.ts +19 -0
  132. package/lib/examples/AgentCheckpointsExample.js +506 -0
  133. package/lib/examples/AgentCodemodeExample.d.ts +14 -0
  134. package/lib/examples/AgentCodemodeExample.js +262 -0
  135. package/lib/examples/AgentEvalsExample.d.ts +14 -0
  136. package/lib/examples/AgentEvalsExample.js +216 -0
  137. package/lib/examples/AgentGuardrailsExample.d.ts +14 -0
  138. package/lib/examples/AgentGuardrailsExample.js +218 -0
  139. package/lib/examples/AgentMemoryExample.d.ts +14 -0
  140. package/lib/examples/AgentMemoryExample.js +234 -0
  141. package/lib/examples/AgentMonitoringExample.d.ts +13 -0
  142. package/lib/examples/AgentMonitoringExample.js +311 -0
  143. package/lib/examples/AgentNotificationsExample.d.ts +14 -0
  144. package/lib/examples/AgentNotificationsExample.js +273 -0
  145. package/lib/examples/AgentOtelExample.d.ts +25 -0
  146. package/lib/examples/AgentOtelExample.js +281 -0
  147. package/lib/examples/AgentOutputsExample.d.ts +14 -0
  148. package/lib/examples/AgentOutputsExample.js +211 -0
  149. package/lib/examples/AgentSandboxExample.d.ts +17 -0
  150. package/lib/examples/AgentSandboxExample.js +496 -0
  151. package/lib/examples/AgentSkillsExample.d.ts +3 -0
  152. package/lib/examples/AgentSkillsExample.js +290 -0
  153. package/lib/examples/AgentToolApprovalsExample.d.ts +3 -0
  154. package/lib/examples/AgentToolApprovalsExample.js +672 -0
  155. package/lib/examples/AgentTriggersExample.d.ts +14 -0
  156. package/lib/examples/AgentTriggersExample.js +523 -0
  157. package/lib/examples/{AgentRuntimeFormExample.d.ts → AgentspecExample.d.ts} +3 -4
  158. package/lib/examples/{AgentRuntimeFormExample.js → AgentspecExample.js} +92 -34
  159. package/lib/examples/{JupyterCellExample.js → CellSimpleExample.js} +1 -1
  160. package/lib/examples/{AgentRuntimeCustomExample.js → ChatCustomExample.js} +3 -3
  161. package/lib/examples/{AgentRuntimeChatExample.js → ChatExample.js} +4 -4
  162. package/lib/examples/{AgentRuntimeStandaloneExample.js → ChatStandaloneExample.js} +2 -2
  163. package/lib/examples/CopilotKitLexicalExample.d.ts +3 -14
  164. package/lib/examples/CopilotKitLexicalExample.js +4 -15
  165. package/lib/examples/CopilotKitNotebookExample.js +4 -6
  166. package/lib/examples/DatalayerNotebookExample.js +2 -2
  167. package/lib/examples/{AgentRuntimeLexical2Example.d.ts → Lexical2Example.d.ts} +2 -13
  168. package/lib/examples/{AgentRuntimeLexical2Example.js → Lexical2Example.js} +8 -17
  169. package/lib/examples/{AgentRuntimeLexicalExample.d.ts → LexicalExample.d.ts} +1 -12
  170. package/lib/examples/{AgentRuntimeLexicalExample.js → LexicalExample.js} +28 -27
  171. package/lib/examples/{AgentRuntimeLexicalSidebarExample.d.ts → LexicalSidebarExample.d.ts} +2 -13
  172. package/lib/examples/{AgentRuntimeLexicalSidebarExample.js → LexicalSidebarExample.js} +6 -18
  173. package/lib/examples/{AgentRuntimeNotebookExample.js → NotebookExample.js} +14 -10
  174. package/lib/examples/{AgentRuntimeNotebookSidebarExample.js → NotebookSidebarExample.js} +5 -8
  175. package/lib/examples/{JupyterNotebookExample.js → NotebookSimpleExample.js} +2 -2
  176. package/lib/examples/ag-ui/weather/InlineWeatherCard.js +1 -1
  177. package/lib/examples/components/ExampleWrapper.d.ts +12 -0
  178. package/lib/examples/components/ExampleWrapper.js +16 -0
  179. package/lib/examples/components/Header.d.ts +2 -2
  180. package/lib/examples/components/HeaderControls.js +1 -1
  181. package/lib/examples/components/LexicalEditor.d.ts +1 -12
  182. package/lib/examples/components/LexicalEditor.js +1 -12
  183. package/lib/examples/components/MainContent.d.ts +4 -11
  184. package/lib/examples/components/MainContent.js +6 -60
  185. package/lib/examples/components/index.d.ts +1 -0
  186. package/lib/examples/components/index.js +1 -0
  187. package/lib/examples/example-selector.d.ts +1 -1
  188. package/lib/examples/example-selector.js +35 -22
  189. package/lib/examples/index.d.ts +26 -13
  190. package/lib/examples/index.js +26 -12
  191. package/lib/examples/main.d.ts +6 -0
  192. package/lib/examples/main.js +20 -43
  193. package/lib/examples/utils/examplesStore.d.ts +4 -0
  194. package/lib/examples/{stores → utils}/examplesStore.js +1 -1
  195. package/lib/examples/utils/notebooks/Empty.ipynb.json +33 -0
  196. package/lib/examples/utils/notebooks/NotebookExample2.ipynb.json +48 -0
  197. package/lib/examples/utils/themeStore.d.ts +8 -0
  198. package/lib/examples/utils/themeStore.js +14 -0
  199. package/lib/extensions/A2UIExtension.d.ts +65 -0
  200. package/lib/extensions/A2UIExtension.js +202 -0
  201. package/lib/{components/chat/extensions → extensions}/ExtensionRegistry.d.ts +2 -3
  202. package/lib/{components/chat/extensions → extensions}/ExtensionRegistry.js +0 -2
  203. package/lib/{components/chat/extensions → extensions}/MCPUIExtension.d.ts +2 -2
  204. package/lib/{components/chat/extensions → extensions}/MCPUIExtension.js +1 -1
  205. package/lib/extensions/index.d.ts +9 -0
  206. package/lib/{components/chat/extensions → extensions}/index.js +2 -2
  207. package/lib/hooks/index.d.ts +37 -12
  208. package/lib/hooks/index.js +37 -12
  209. package/lib/hooks/useAIAgentsWebSocket.d.ts +29 -0
  210. package/lib/hooks/useAIAgentsWebSocket.js +136 -0
  211. package/lib/hooks/{useAGUI.d.ts → useAgUi.d.ts} +2 -2
  212. package/lib/hooks/{useAGUI.js → useAgUi.js} +2 -2
  213. package/lib/hooks/useAgents.d.ts +150 -11
  214. package/lib/hooks/useAgents.js +623 -61
  215. package/lib/hooks/useAgentsCatalog.d.ts +25 -0
  216. package/lib/hooks/useAgentsCatalog.js +28 -0
  217. package/lib/hooks/useAgentsRegistry.d.ts +10 -0
  218. package/lib/hooks/useAgentsRegistry.js +20 -0
  219. package/lib/hooks/useAgentsService.d.ts +22 -0
  220. package/lib/hooks/useAgentsService.js +146 -0
  221. package/lib/hooks/useChat.d.ts +2 -2
  222. package/lib/hooks/useChat.js +14 -8
  223. package/lib/hooks/useCheckpoints.d.ts +176 -0
  224. package/lib/hooks/useCheckpoints.js +466 -0
  225. package/lib/hooks/useConfig.d.ts +11 -0
  226. package/lib/hooks/useConfig.js +46 -0
  227. package/lib/hooks/useContextSnapshot.d.ts +11 -0
  228. package/lib/hooks/useContextSnapshot.js +44 -0
  229. package/lib/hooks/useMonitoring.d.ts +24 -0
  230. package/lib/hooks/useMonitoring.js +111 -0
  231. package/lib/hooks/useNotifications.d.ts +67 -0
  232. package/lib/hooks/useNotifications.js +208 -0
  233. package/lib/hooks/useSandbox.d.ts +12 -0
  234. package/lib/hooks/useSandbox.js +49 -0
  235. package/lib/hooks/useSkills.d.ts +13 -0
  236. package/lib/hooks/useSkills.js +46 -0
  237. package/lib/hooks/useToolApprovals.d.ts +45 -0
  238. package/lib/hooks/useToolApprovals.js +126 -0
  239. package/lib/hooks/useTools.d.ts +4 -4
  240. package/lib/hooks/useTools.js +2 -2
  241. package/lib/hooks/{useVercelChat.d.ts → useVercelAI.d.ts} +3 -3
  242. package/lib/hooks/{useVercelChat.js → useVercelAI.js} +2 -2
  243. package/lib/{components/chat/components → identity}/AgentIdentity.d.ts +1 -1
  244. package/lib/{components/chat/components → identity}/AgentIdentity.js +4 -3
  245. package/lib/identity/index.d.ts +1 -0
  246. package/lib/identity/index.js +2 -0
  247. package/lib/index.d.ts +4 -3
  248. package/lib/index.js +3 -2
  249. package/lib/{components/chat/inference → inference}/BaseInferenceProvider.d.ts +3 -3
  250. package/lib/{components/chat/inference → inference}/DatalayerInferenceProvider.d.ts +3 -3
  251. package/lib/{components/chat/inference → inference}/DatalayerInferenceProvider.js +1 -1
  252. package/lib/{components/chat/inference → inference}/SelfHostedInferenceProvider.d.ts +2 -2
  253. package/lib/{components/chat/inference → inference}/SelfHostedInferenceProvider.js +1 -1
  254. package/lib/{components/chat/inference → inference}/index.d.ts +1 -1
  255. package/lib/{components/chat/inference → inference}/index.js +1 -1
  256. package/lib/lexical/ChatInlinePlugin.d.ts +1 -1
  257. package/lib/lexical/ChatInlinePlugin.js +1 -1
  258. package/lib/{components → mcp}/McpServerManager.d.ts +2 -3
  259. package/lib/{components → mcp}/McpServerManager.js +1 -1
  260. package/lib/mcp/index.d.ts +1 -0
  261. package/lib/{specs/agents/codeai → mcp}/index.js +1 -1
  262. package/lib/{components/chat/middleware → middleware}/MiddlewarePipeline.d.ts +3 -3
  263. package/lib/{components/chat/middleware → middleware}/index.d.ts +1 -1
  264. package/lib/{components/chat/middleware → middleware}/index.js +1 -1
  265. package/lib/{components/chat/protocols → protocols}/A2AAdapter.d.ts +6 -6
  266. package/lib/{components/chat/protocols → protocols}/A2AAdapter.js +3 -3
  267. package/lib/{components/chat/protocols → protocols}/ACPAdapter.d.ts +6 -6
  268. package/lib/{components/chat/protocols → protocols}/ACPAdapter.js +4 -4
  269. package/lib/{components/chat/protocols → protocols}/AGUIAdapter.d.ts +14 -6
  270. package/lib/{components/chat/protocols → protocols}/AGUIAdapter.js +72 -10
  271. package/lib/{components/chat/protocols → protocols}/BaseProtocolAdapter.d.ts +6 -6
  272. package/lib/{components/chat/protocols → protocols}/BaseProtocolAdapter.js +1 -1
  273. package/lib/{components/chat/protocols → protocols}/VercelAIAdapter.d.ts +31 -7
  274. package/lib/protocols/VercelAIAdapter.js +682 -0
  275. package/lib/{components/chat/protocols → protocols}/index.d.ts +1 -2
  276. package/lib/{components/chat/protocols → protocols}/index.js +1 -1
  277. package/lib/specs/agents/agents.d.ts +54 -0
  278. package/lib/specs/agents/agents.js +2638 -0
  279. package/lib/specs/agents/index.js +14 -7
  280. package/lib/specs/envvars.d.ts +11 -19
  281. package/lib/specs/envvars.js +42 -21
  282. package/lib/specs/evals.d.ts +20 -0
  283. package/lib/specs/evals.js +133 -0
  284. package/lib/specs/events.d.ts +18 -0
  285. package/lib/specs/events.js +182 -0
  286. package/lib/specs/frontendTools.d.ts +14 -0
  287. package/lib/specs/frontendTools.js +53 -0
  288. package/lib/specs/guardrails.d.ts +22 -0
  289. package/lib/specs/guardrails.js +391 -0
  290. package/lib/specs/index.d.ts +15 -2
  291. package/lib/specs/index.js +15 -2
  292. package/lib/specs/mcpServers.d.ts +13 -10
  293. package/lib/specs/mcpServers.js +95 -25
  294. package/lib/specs/memory.d.ts +34 -0
  295. package/lib/specs/memory.js +99 -0
  296. package/lib/specs/models.d.ts +22 -35
  297. package/lib/specs/models.js +64 -44
  298. package/lib/specs/notifications.d.ts +17 -0
  299. package/lib/specs/notifications.js +187 -0
  300. package/lib/specs/outputs.d.ts +19 -0
  301. package/lib/specs/outputs.js +112 -0
  302. package/lib/specs/skills.d.ts +7 -16
  303. package/lib/specs/skills.js +89 -12
  304. package/lib/specs/teams/index.d.ts +17 -0
  305. package/lib/specs/teams/index.js +37 -0
  306. package/lib/specs/teams/teams.d.ts +27 -0
  307. package/lib/specs/teams/teams.js +1120 -0
  308. package/lib/specs/tools.d.ts +15 -0
  309. package/lib/specs/tools.js +83 -0
  310. package/lib/specs/triggers.d.ts +15 -0
  311. package/lib/specs/triggers.js +117 -0
  312. package/lib/stores/agentsStore.d.ts +123 -0
  313. package/lib/stores/agentsStore.js +270 -0
  314. package/lib/{components/chat/store → stores}/chatStore.d.ts +3 -2
  315. package/lib/{components/chat/store → stores}/chatStore.js +2 -2
  316. package/lib/{components/chat/store → stores}/conversationStore.d.ts +2 -2
  317. package/lib/{components/chat/store → stores}/conversationStore.js +3 -3
  318. package/lib/{components/chat/store → stores}/index.d.ts +3 -2
  319. package/lib/{components/chat/store → stores}/index.js +3 -2
  320. package/lib/{components/chat/tools → tools}/ToolExecutor.d.ts +2 -2
  321. package/lib/{components/chat/tools → tools}/ToolExecutor.js +1 -1
  322. package/lib/tools/adapters/agent-runtimes/AgentRuntimesToolAdapter.d.ts +1 -1
  323. package/lib/tools/adapters/agent-runtimes/lexicalHooks.d.ts +14 -10
  324. package/lib/tools/adapters/agent-runtimes/lexicalHooks.js +31 -21
  325. package/lib/tools/adapters/agent-runtimes/notebookHooks.d.ts +1 -1
  326. package/lib/tools/index.d.ts +3 -0
  327. package/lib/tools/index.js +3 -7
  328. package/lib/types/a2a.d.ts +39 -0
  329. package/lib/types/acp.d.ts +21 -0
  330. package/lib/types/ag-ui.d.ts +25 -0
  331. package/lib/types/agents-lifecycle.d.ts +36 -0
  332. package/lib/types/agents.d.ts +80 -0
  333. package/lib/types/agents.js +22 -0
  334. package/lib/types/agentspecs.d.ts +90 -0
  335. package/lib/{components/chat/components/base/ChatBase.d.ts → types/chat.d.ts} +60 -100
  336. package/lib/types/checkpoints.d.ts +32 -0
  337. package/lib/types/checkpoints.js +5 -0
  338. package/lib/types/config.d.ts +67 -0
  339. package/lib/{runtime/types.js → types/config.js} +2 -2
  340. package/lib/types/connection.d.ts +31 -0
  341. package/lib/types/connection.js +5 -0
  342. package/lib/types/context.d.ts +67 -0
  343. package/lib/types/context.js +5 -0
  344. package/lib/types/cost.d.ts +42 -0
  345. package/lib/types/cost.js +5 -0
  346. package/lib/types/envvars.d.ts +21 -0
  347. package/lib/types/envvars.js +5 -0
  348. package/lib/types/evals.d.ts +66 -0
  349. package/lib/types/evals.js +5 -0
  350. package/lib/types/events.d.ts +49 -0
  351. package/lib/types/events.js +5 -0
  352. package/lib/types/eventspecs.d.ts +39 -0
  353. package/lib/types/eventspecs.js +5 -0
  354. package/lib/types/examples.d.ts +31 -0
  355. package/lib/types/examples.js +5 -0
  356. package/lib/{components/chat/types → types}/execution.d.ts +10 -1
  357. package/lib/{components/chat/types/extension.d.ts → types/extensions.d.ts} +3 -3
  358. package/lib/types/guardrails.d.ts +106 -0
  359. package/lib/types/guardrails.js +5 -0
  360. package/lib/types/index.d.ts +36 -2
  361. package/lib/types/index.js +35 -2
  362. package/lib/{components/chat/types → types}/inference.d.ts +3 -3
  363. package/lib/types/inference.js +5 -0
  364. package/lib/types/mcp.d.ts +117 -0
  365. package/lib/types/mcp.js +27 -0
  366. package/lib/types/memory.d.ts +23 -0
  367. package/lib/types/memory.js +5 -0
  368. package/lib/{components/chat/types/message.d.ts → types/messages.d.ts} +20 -1
  369. package/lib/{components/chat/types → types}/middleware.d.ts +3 -3
  370. package/lib/types/models.d.ts +63 -0
  371. package/lib/types/models.js +5 -0
  372. package/lib/types/notifications.d.ts +85 -0
  373. package/lib/types/notifications.js +5 -0
  374. package/lib/types/outputs.d.ts +51 -0
  375. package/lib/types/outputs.js +5 -0
  376. package/lib/{components/chat/types → types}/protocol.d.ts +37 -99
  377. package/lib/types/protocol.js +5 -0
  378. package/lib/types/sandbox.d.ts +27 -0
  379. package/lib/types/sandbox.js +24 -0
  380. package/lib/types/skills.d.ts +74 -0
  381. package/lib/types/skills.js +5 -0
  382. package/lib/types/teams.d.ts +133 -0
  383. package/lib/types/teams.js +5 -0
  384. package/lib/types/tool-approvals.d.ts +39 -0
  385. package/lib/types/tool-approvals.js +5 -0
  386. package/lib/{components/chat/types/tool.d.ts → types/tools.d.ts} +59 -4
  387. package/lib/types/triggers.d.ts +48 -0
  388. package/lib/types/triggers.js +5 -0
  389. package/lib/types/usage.d.ts +36 -0
  390. package/lib/types/usage.js +5 -0
  391. package/lib/utils/index.d.ts +1 -0
  392. package/lib/utils/index.js +5 -0
  393. package/lib/utils/utils.d.ts +60 -0
  394. package/lib/utils/utils.js +205 -0
  395. package/package.json +13 -14
  396. package/scripts/codegen/__pycache__/generate_agents.cpython-313.pyc +0 -0
  397. package/scripts/codegen/__pycache__/generate_envvars.cpython-313.pyc +0 -0
  398. package/scripts/codegen/__pycache__/generate_evals.cpython-313.pyc +0 -0
  399. package/scripts/codegen/__pycache__/generate_guardrails.cpython-313.pyc +0 -0
  400. package/scripts/codegen/__pycache__/generate_mcp_servers.cpython-313.pyc +0 -0
  401. package/scripts/codegen/__pycache__/generate_memory.cpython-313.pyc +0 -0
  402. package/scripts/codegen/__pycache__/generate_models.cpython-313.pyc +0 -0
  403. package/scripts/codegen/__pycache__/generate_notifications.cpython-313.pyc +0 -0
  404. package/scripts/codegen/__pycache__/generate_outputs.cpython-313.pyc +0 -0
  405. package/scripts/codegen/__pycache__/generate_skills.cpython-313.pyc +0 -0
  406. package/scripts/codegen/__pycache__/generate_teams.cpython-313.pyc +0 -0
  407. package/scripts/codegen/__pycache__/generate_tools.cpython-313.pyc +0 -0
  408. package/scripts/codegen/__pycache__/generate_triggers.cpython-313.pyc +0 -0
  409. package/scripts/codegen/__pycache__/versioning.cpython-313.pyc +0 -0
  410. package/scripts/codegen/generate_agents.py +464 -58
  411. package/scripts/codegen/generate_envvars.py +36 -35
  412. package/scripts/codegen/generate_evals.py +279 -0
  413. package/scripts/codegen/generate_events.py +312 -0
  414. package/scripts/codegen/generate_frontend_tools.py +266 -0
  415. package/scripts/codegen/generate_guardrails.py +475 -0
  416. package/scripts/codegen/generate_mcp_servers.py +36 -9
  417. package/scripts/codegen/generate_memory.py +468 -0
  418. package/scripts/codegen/generate_models.py +22 -46
  419. package/scripts/codegen/generate_notifications.py +309 -0
  420. package/scripts/codegen/generate_outputs.py +267 -0
  421. package/scripts/codegen/generate_skills.py +108 -51
  422. package/scripts/codegen/generate_teams.py +922 -0
  423. package/scripts/codegen/generate_tools.py +326 -0
  424. package/scripts/codegen/generate_triggers.py +295 -0
  425. package/scripts/codegen/versioning.py +53 -0
  426. package/lib/components/chat/components/base/ChatBase.js +0 -2240
  427. package/lib/components/chat/components/base/InputPrompt.d.ts +0 -42
  428. package/lib/components/chat/components/base/InputPrompt.js +0 -131
  429. package/lib/components/chat/components/display/index.d.ts +0 -6
  430. package/lib/components/chat/components/index.d.ts +0 -26
  431. package/lib/components/chat/components/index.js +0 -39
  432. package/lib/components/chat/extensions/A2UIExtension.d.ts +0 -87
  433. package/lib/components/chat/extensions/A2UIExtension.js +0 -312
  434. package/lib/components/chat/extensions/index.d.ts +0 -10
  435. package/lib/components/chat/index.d.ts +0 -61
  436. package/lib/components/chat/index.js +0 -76
  437. package/lib/components/chat/protocols/VercelAIAdapter.js +0 -315
  438. package/lib/components/chat/tools/index.d.ts +0 -8
  439. package/lib/components/chat/tools/index.js +0 -11
  440. package/lib/components/chat/types/index.d.ts +0 -12
  441. package/lib/components/chat/types/index.js +0 -17
  442. package/lib/components/sparklines/Sparklines.d.ts +0 -16
  443. package/lib/components/sparklines/Sparklines.js +0 -65
  444. package/lib/components/sparklines/SparklinesLine.d.ts +0 -8
  445. package/lib/components/sparklines/SparklinesLine.js +0 -37
  446. package/lib/components/sparklines/dataProcessing.d.ts +0 -25
  447. package/lib/components/sparklines/dataProcessing.js +0 -35
  448. package/lib/components/sparklines/index.d.ts +0 -4
  449. package/lib/components/sparklines/index.js +0 -7
  450. package/lib/components/sparklines/types.d.ts +0 -36
  451. package/lib/examples/stores/examplesStore.d.ts +0 -5
  452. package/lib/examples/stores/notebooks/Empty.ipynb.json +0 -33
  453. package/lib/examples/stores/notebooks/NotebookExample2.ipynb.json +0 -48
  454. package/lib/examples/stores/themeStore.d.ts +0 -33
  455. package/lib/examples/stores/themeStore.js +0 -38
  456. package/lib/hooks/useKeyboardShortcuts.d.ts +0 -47
  457. package/lib/hooks/useKeyboardShortcuts.js +0 -153
  458. package/lib/hooks/useMobile.d.ts +0 -1
  459. package/lib/hooks/useMobile.js +0 -19
  460. package/lib/hooks/useNotebookAIAgent.d.ts +0 -8
  461. package/lib/hooks/useNotebookAIAgent.js +0 -73
  462. package/lib/renderers/a2ui/components/A2UIRenderer.d.ts +0 -7
  463. package/lib/renderers/a2ui/components/A2UIRenderer.js +0 -102
  464. package/lib/renderers/a2ui/components/SurfaceRenderer.d.ts +0 -7
  465. package/lib/renderers/a2ui/components/SurfaceRenderer.js +0 -101
  466. package/lib/renderers/a2ui/components/content/AudioPlayer.d.ts +0 -9
  467. package/lib/renderers/a2ui/components/content/AudioPlayer.js +0 -38
  468. package/lib/renderers/a2ui/components/content/Divider.d.ts +0 -9
  469. package/lib/renderers/a2ui/components/content/Divider.js +0 -35
  470. package/lib/renderers/a2ui/components/content/Icon.d.ts +0 -9
  471. package/lib/renderers/a2ui/components/content/Icon.js +0 -110
  472. package/lib/renderers/a2ui/components/content/Image.d.ts +0 -9
  473. package/lib/renderers/a2ui/components/content/Image.js +0 -61
  474. package/lib/renderers/a2ui/components/content/Text.d.ts +0 -9
  475. package/lib/renderers/a2ui/components/content/Text.js +0 -64
  476. package/lib/renderers/a2ui/components/content/Video.d.ts +0 -9
  477. package/lib/renderers/a2ui/components/content/Video.js +0 -37
  478. package/lib/renderers/a2ui/components/content/index.d.ts +0 -6
  479. package/lib/renderers/a2ui/components/content/index.js +0 -25
  480. package/lib/renderers/a2ui/components/index.d.ts +0 -5
  481. package/lib/renderers/a2ui/components/index.js +0 -24
  482. package/lib/renderers/a2ui/components/interactive/Button.d.ts +0 -11
  483. package/lib/renderers/a2ui/components/interactive/Button.js +0 -71
  484. package/lib/renderers/a2ui/components/interactive/CheckBox.d.ts +0 -9
  485. package/lib/renderers/a2ui/components/interactive/CheckBox.js +0 -48
  486. package/lib/renderers/a2ui/components/interactive/DateTimeInput.d.ts +0 -9
  487. package/lib/renderers/a2ui/components/interactive/DateTimeInput.js +0 -62
  488. package/lib/renderers/a2ui/components/interactive/MultipleChoice.d.ts +0 -9
  489. package/lib/renderers/a2ui/components/interactive/MultipleChoice.js +0 -73
  490. package/lib/renderers/a2ui/components/interactive/Slider.d.ts +0 -9
  491. package/lib/renderers/a2ui/components/interactive/Slider.js +0 -53
  492. package/lib/renderers/a2ui/components/interactive/TextField.d.ts +0 -9
  493. package/lib/renderers/a2ui/components/interactive/TextField.js +0 -72
  494. package/lib/renderers/a2ui/components/interactive/index.d.ts +0 -6
  495. package/lib/renderers/a2ui/components/interactive/index.js +0 -25
  496. package/lib/renderers/a2ui/components/layout/Card.d.ts +0 -11
  497. package/lib/renderers/a2ui/components/layout/Card.js +0 -30
  498. package/lib/renderers/a2ui/components/layout/Column.d.ts +0 -11
  499. package/lib/renderers/a2ui/components/layout/Column.js +0 -65
  500. package/lib/renderers/a2ui/components/layout/List.d.ts +0 -11
  501. package/lib/renderers/a2ui/components/layout/List.js +0 -55
  502. package/lib/renderers/a2ui/components/layout/Modal.d.ts +0 -11
  503. package/lib/renderers/a2ui/components/layout/Modal.js +0 -58
  504. package/lib/renderers/a2ui/components/layout/Row.d.ts +0 -11
  505. package/lib/renderers/a2ui/components/layout/Row.js +0 -65
  506. package/lib/renderers/a2ui/components/layout/Tabs.d.ts +0 -11
  507. package/lib/renderers/a2ui/components/layout/Tabs.js +0 -48
  508. package/lib/renderers/a2ui/components/layout/index.d.ts +0 -6
  509. package/lib/renderers/a2ui/components/layout/index.js +0 -25
  510. package/lib/renderers/a2ui/context/A2UIContext.d.ts +0 -17
  511. package/lib/renderers/a2ui/context/A2UIContext.js +0 -54
  512. package/lib/renderers/a2ui/context/ThemeContext.d.ts +0 -20
  513. package/lib/renderers/a2ui/context/ThemeContext.js +0 -333
  514. package/lib/renderers/a2ui/hooks/useA2UI.d.ts +0 -36
  515. package/lib/renderers/a2ui/hooks/useA2UI.js +0 -62
  516. package/lib/renderers/a2ui/hooks/useDataBinding.d.ts +0 -8
  517. package/lib/renderers/a2ui/hooks/useDataBinding.js +0 -83
  518. package/lib/renderers/a2ui/index.d.ts +0 -9
  519. package/lib/renderers/a2ui/index.js +0 -28
  520. package/lib/renderers/a2ui/lib/utils.d.ts +0 -11
  521. package/lib/renderers/a2ui/lib/utils.js +0 -38
  522. package/lib/renderers/a2ui/types/index.d.ts +0 -17
  523. package/lib/runtime/index.d.ts +0 -38
  524. package/lib/runtime/index.js +0 -40
  525. package/lib/runtime/runtimeStore.d.ts +0 -76
  526. package/lib/runtime/runtimeStore.js +0 -184
  527. package/lib/runtime/types.d.ts +0 -84
  528. package/lib/runtime/useAgentConnection.d.ts +0 -45
  529. package/lib/runtime/useAgentConnection.js +0 -112
  530. package/lib/runtime/useAgentRuntime.d.ts +0 -93
  531. package/lib/runtime/useAgentRuntime.js +0 -125
  532. package/lib/specs/agents/codeai/agents.d.ts +0 -28
  533. package/lib/specs/agents/codeai/agents.js +0 -151
  534. package/lib/specs/agents/codeai/index.d.ts +0 -1
  535. package/lib/specs/agents/codemode-paper/agents.d.ts +0 -31
  536. package/lib/specs/agents/codemode-paper/agents.js +0 -308
  537. package/lib/specs/agents/codemode-paper/index.d.ts +0 -1
  538. package/lib/specs/agents/codemode-paper/index.js +0 -5
  539. package/lib/specs/agents/datalayer-ai/agents.d.ts +0 -31
  540. package/lib/specs/agents/datalayer-ai/agents.js +0 -282
  541. package/lib/specs/agents/datalayer-ai/index.d.ts +0 -1
  542. package/lib/specs/agents/datalayer-ai/index.js +0 -5
  543. package/lib/state/index.d.ts +0 -1
  544. package/lib/state/index.js +0 -5
  545. package/lib/state/substates/AIAgentState.d.ts +0 -80
  546. package/lib/state/substates/AIAgentState.js +0 -108
  547. package/lib/state/substates/index.d.ts +0 -1
  548. package/lib/state/substates/index.js +0 -5
  549. package/lib/types/AIAgent.d.ts +0 -17
  550. package/lib/types/Types.d.ts +0 -189
  551. /package/lib/{components/chat → api}/handler.d.ts +0 -0
  552. /package/lib/{renderers/index.d.ts → api/utils.d.ts} +0 -0
  553. /package/lib/{renderers/index.js → api/utils.js} +0 -0
  554. /package/lib/{components/chat/components/elements → chat/display}/PoweredByTag.js +0 -0
  555. /package/lib/{components/chat/components → chat}/parts/DynamicToolPart.js +0 -0
  556. /package/lib/{components/chat/components → chat}/parts/ReasoningPart.d.ts +0 -0
  557. /package/lib/{components/chat/components → chat}/parts/TextPart.js +0 -0
  558. /package/lib/{components/chat/components → chat}/parts/ToolPart.d.ts +0 -0
  559. /package/lib/{components/chat/components → chat}/styles/streamdownStyles.js +0 -0
  560. /package/lib/{components/chat/components/elements → chat/tools}/ToolApprovalDialog.d.ts +0 -0
  561. /package/lib/{components/chat/components → context}/ContextDistribution.d.ts +0 -0
  562. /package/lib/{components/chat/components → context}/ContextDistribution.js +0 -0
  563. /package/lib/{components/chat/components → context}/ContextInspector.d.ts +0 -0
  564. /package/lib/{components/chat/components → context}/ContextPanel.d.ts +0 -0
  565. /package/lib/{components/chat/components → context}/ContextUsage.d.ts +0 -0
  566. /package/lib/{components/chat/components → context}/ContextUsage.js +0 -0
  567. /package/lib/examples/{JupyterCellExample.d.ts → CellSimpleExample.d.ts} +0 -0
  568. /package/lib/examples/{AgentRuntimeCustomExample.d.ts → ChatCustomExample.d.ts} +0 -0
  569. /package/lib/examples/{AgentRuntimeChatExample.d.ts → ChatExample.d.ts} +0 -0
  570. /package/lib/examples/{AgentRuntimeStandaloneExample.d.ts → ChatStandaloneExample.d.ts} +0 -0
  571. /package/lib/examples/{AgentRuntimeNotebookExample.d.ts → NotebookExample.d.ts} +0 -0
  572. /package/lib/examples/{AgentRuntimeNotebookSidebarExample.d.ts → NotebookSidebarExample.d.ts} +0 -0
  573. /package/lib/examples/{JupyterNotebookExample.d.ts → NotebookSimpleExample.d.ts} +0 -0
  574. /package/lib/examples/{stores → utils}/agents/earthquake-detector.ipynb.json +0 -0
  575. /package/lib/examples/{stores → utils}/agents/earthquake-detector.json +0 -0
  576. /package/lib/examples/{stores → utils}/agents/earthquake-detector.lexical.json +0 -0
  577. /package/lib/examples/{stores → utils}/agents/sales-forecaster.ipynb.json +0 -0
  578. /package/lib/examples/{stores → utils}/agents/sales-forecaster.json +0 -0
  579. /package/lib/examples/{stores → utils}/agents/sales-forecaster.lexical.json +0 -0
  580. /package/lib/examples/{stores → utils}/agents/social-post-generator.ipynb.json +0 -0
  581. /package/lib/examples/{stores → utils}/agents/social-post-generator.json +0 -0
  582. /package/lib/examples/{stores → utils}/agents/social-post-generator.lexical.json +0 -0
  583. /package/lib/examples/{stores → utils}/agents/stock-market.ipynb.json +0 -0
  584. /package/lib/examples/{stores → utils}/agents/stock-market.json +0 -0
  585. /package/lib/examples/{stores → utils}/agents/stock-market.lexical.json +0 -0
  586. /package/lib/examples/{stores → utils}/notebooks/IPyWidgetsExample.ipynb.json +0 -0
  587. /package/lib/examples/{stores → utils}/notebooks/IPyWidgetsExampleWithState.ipynb.json +0 -0
  588. /package/lib/examples/{stores → utils}/notebooks/Lite.ipynb.json +0 -0
  589. /package/lib/examples/{stores → utils}/notebooks/Matplotlib.ipynb.json +0 -0
  590. /package/lib/examples/{stores → utils}/notebooks/NotebookExample1.ipynb.json +0 -0
  591. /package/lib/examples/{stores → utils}/notebooks/NotebookOutputs.ipynb.json +0 -0
  592. /package/lib/examples/{stores → utils}/notebooks/NotebookToCExample.ipynb.json +0 -0
  593. /package/lib/examples/{stores → utils}/notebooks/OutputIPyWidgetsExample.d.ts +0 -0
  594. /package/lib/examples/{stores → utils}/notebooks/OutputIPyWidgetsExample.js +0 -0
  595. /package/lib/examples/{stores → utils}/notebooks/PyGWalker.ipynb.json +0 -0
  596. /package/lib/examples/{stores → utils}/themedProvider.d.ts +0 -0
  597. /package/lib/examples/{stores → utils}/themedProvider.js +0 -0
  598. /package/lib/{components/chat/inference → inference}/BaseInferenceProvider.js +0 -0
  599. /package/lib/{components/chat/middleware → middleware}/MiddlewarePipeline.js +0 -0
  600. /package/lib/{components/chat/types/inference.js → types/a2a.js} +0 -0
  601. /package/lib/{components/chat/types/protocol.js → types/acp.js} +0 -0
  602. /package/lib/{components/sparklines/types.js → types/ag-ui.js} +0 -0
  603. /package/lib/{renderers/a2ui/types/index.js → types/agents-lifecycle.js} +0 -0
  604. /package/lib/types/{AIAgent.js → agentspecs.js} +0 -0
  605. /package/lib/types/{Types.js → chat.js} +0 -0
  606. /package/lib/{components/chat/types → types}/execution.js +0 -0
  607. /package/lib/{components/chat/types/extension.js → types/extensions.js} +0 -0
  608. /package/lib/{components/chat/types/message.js → types/messages.js} +0 -0
  609. /package/lib/{components/chat/types → types}/middleware.js +0 -0
  610. /package/lib/{components/chat/types/tool.js → types/tools.js} +0 -0
@@ -15,18 +15,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
15
15
  *
16
16
  * @module examples/AgentRuntimeLexicalExample
17
17
  */
18
- import 'prismjs';
19
- import 'prismjs/components/prism-clike';
20
- import 'prismjs/components/prism-javascript';
21
- import 'prismjs/components/prism-markup';
22
- import 'prismjs/components/prism-markdown';
23
- import 'prismjs/components/prism-c';
24
- import 'prismjs/components/prism-css';
25
- import 'prismjs/components/prism-objectivec';
26
- import 'prismjs/components/prism-sql';
27
- import 'prismjs/components/prism-python';
28
- import 'prismjs/components/prism-rust';
29
- import 'prismjs/components/prism-swift';
18
+ import '@datalayer/jupyter-react/lib/css/PrismCss';
30
19
  import React, { useCallback, useEffect, useRef, useState } from 'react';
31
20
  import { $getRoot, $createParagraphNode } from 'lexical';
32
21
  import { LexicalComposer } from '@lexical/react/LexicalComposer';
@@ -45,14 +34,15 @@ import { CheckListPlugin } from '@lexical/react/LexicalCheckListPlugin';
45
34
  import { LinkPlugin } from '@lexical/react/LexicalLinkPlugin';
46
35
  import { Box } from '@datalayer/primer-addons';
47
36
  import { useJupyter } from '@datalayer/jupyter-react';
48
- import { ThemedJupyterProvider } from './stores/themedProvider';
37
+ import { ThemedJupyterProvider } from './utils/themedProvider';
49
38
  import { ComponentPickerMenuPlugin, JupyterCellPlugin, JupyterInputOutputPlugin, DraggableBlockPlugin, ImagesPlugin, HorizontalRulePlugin, EquationsPlugin, YouTubePlugin, ExcalidrawPlugin, CollapsiblePlugin, AutoLinkPlugin, AutoEmbedPlugin, LexicalConfigProvider, LexicalStatePlugin, FloatingTextFormatToolbarPlugin, CodeActionMenuPlugin, ListMaxIndentLevelPlugin, TableCellResizerPlugin, TablePlugin, } from '@datalayer/jupyter-lexical';
50
39
  // Agent-runtimes imports
51
- import { ChatFloating } from '../components/chat';
40
+ import { ChatFloating } from '../chat';
52
41
  import { ChatInlinePlugin } from '../lexical/ChatInlinePlugin';
53
42
  import { useChatInlineToolbarItems } from '../lexical/useChatInlineToolbarItems';
54
43
  import { useLexicalTools } from '../tools/adapters/agent-runtimes/lexicalHooks';
55
44
  import { editorConfig } from './lexical/editorConfig';
45
+ import { DEFAULT_MODEL } from '../specs';
56
46
  import '@datalayer/jupyter-lexical/style/index.css';
57
47
  import './lexical/lexical-theme.css';
58
48
  // Fixed lexical document ID
@@ -60,8 +50,8 @@ const LEXICAL_ID = 'agui-lexical-example';
60
50
  // Base URL for agent-runtimes server
61
51
  const BASE_URL = 'http://localhost:8765';
62
52
  const AGENT_ID = 'lexical-agent-runtime-example';
63
- // AG-UI endpoint for lexical operations (trailing slash required for mounted Starlette apps)
64
- const AG_UI_ENDPOINT = `${BASE_URL}/api/v1/ag-ui/${AGENT_ID}/`;
53
+ // Vercel AI endpoint for lexical operations
54
+ const VERCEL_AI_ENDPOINT = `${BASE_URL}/api/v1/vercel-ai/${AGENT_ID}`;
65
55
  /**
66
56
  * Hook to ensure the demo-agent exists on the server.
67
57
  * Creates it if it doesn't exist.
@@ -83,8 +73,8 @@ function useEnsureAgent(agentId, baseUrl) {
83
73
  name: agentId,
84
74
  description: 'Demo agent for lexical example',
85
75
  agent_library: 'pydantic-ai',
86
- transport: 'ag-ui',
87
- model: 'openai:gpt-4o-mini',
76
+ transport: 'vercel-ai',
77
+ model: DEFAULT_MODEL,
88
78
  system_prompt: 'You are a helpful AI assistant that helps users work with documents. You can help with writing, editing, and formatting content.',
89
79
  }),
90
80
  });
@@ -169,9 +159,14 @@ function CodeHighlightPlugin() {
169
159
  }
170
160
  /**
171
161
  * Wrapper component for kernel-dependent Simple plugins.
162
+ * Accepts a serviceManager so it can initialise a Jupyter kernel
163
+ * (mirrors how the Notebook component bootstraps its runtime).
172
164
  */
173
- function SimpleKernelPluginsInner() {
174
- const { defaultKernel } = useJupyter();
165
+ function SimpleKernelPluginsInner({ serviceManager, }) {
166
+ const { defaultKernel } = useJupyter({
167
+ serviceManager,
168
+ startDefaultKernel: !!serviceManager,
169
+ });
175
170
  return (_jsxs(_Fragment, { children: [_jsx(ComponentPickerMenuPlugin, { kernel: defaultKernel }), _jsx(JupyterInputOutputPlugin, { kernel: defaultKernel })] }));
176
171
  }
177
172
  /**
@@ -216,9 +211,9 @@ const LexicalUI = React.memo(function LexicalUI({ content = INITIAL_CONTENT, ser
216
211
  padding: 3,
217
212
  backgroundColor: 'canvas.default',
218
213
  minHeight: '600px',
219
- }, children: _jsxs(LexicalConfigProvider, { lexicalId: LEXICAL_ID, serviceManager: serviceManager, children: [_jsx(LexicalToolsPlugin, { onToolsReady: onToolsReady }), _jsx(LexicalComposer, { initialConfig: editorConfig, children: _jsxs("div", { className: "lexical-editor-inner", ref: onRef, children: [_jsx(LexicalStatePlugin, {}), _jsx(RichTextPlugin, { contentEditable: _jsx(ContentEditable, { className: "lexical-editor-content", "aria-label": "Lexical Editor" }), ErrorBoundary: LexicalErrorBoundary }), _jsx(OnChangePlugin, { onChange: handleChange }), _jsx(HistoryPlugin, {}), _jsx(AutoFocusPlugin, {}), _jsx(ListPlugin, {}), _jsx(CheckListPlugin, {}), _jsx(LinkPlugin, {}), _jsx(AutoLinkPlugin, {}), _jsx(ListMaxIndentLevelPlugin, { maxDepth: 7 }), _jsx(MarkdownShortcutPlugin, { transformers: TRANSFORMERS }), _jsx(LoadContentPlugin, { content: content }), _jsx(CodeHighlightPlugin, {}), _jsx(ImagesPlugin, { captionsEnabled: false }), _jsx(HorizontalRulePlugin, {}), _jsx(EquationsPlugin, {}), _jsx(YouTubePlugin, {}), _jsx(ExcalidrawPlugin, {}), _jsx(CollapsiblePlugin, {}), _jsx(AutoEmbedPlugin, {}), _jsx(TablePlugin, {}), _jsx(TableCellResizerPlugin, {}), _jsx(JupyterCellPlugin, {}), _jsx(ThemedJupyterProvider, { children: _jsx(SimpleKernelPluginsInner, {}) }), floatingAnchorElem && (_jsxs(_Fragment, { children: [_jsx(DraggableBlockPlugin, { anchorElem: floatingAnchorElem }), _jsx(FloatingTextFormatToolbarPlugin, { anchorElem: floatingAnchorElem, setIsLinkEditMode: setIsLinkEditMode, extraItems: toolbarItems }), _jsx(CodeActionMenuPlugin, { anchorElem: floatingAnchorElem })] })), _jsx(ChatInlinePlugin, { protocol: {
220
- type: 'ag-ui',
221
- endpoint: AG_UI_ENDPOINT,
214
+ }, children: _jsxs(LexicalConfigProvider, { lexicalId: LEXICAL_ID, serviceManager: serviceManager, children: [_jsx(LexicalToolsPlugin, { onToolsReady: onToolsReady }), _jsx(LexicalComposer, { initialConfig: editorConfig, children: _jsxs("div", { className: "lexical-editor-inner", ref: onRef, children: [_jsx(LexicalStatePlugin, {}), _jsx(RichTextPlugin, { contentEditable: _jsx(ContentEditable, { className: "lexical-editor-content", "aria-label": "Lexical Editor" }), ErrorBoundary: LexicalErrorBoundary }), _jsx(OnChangePlugin, { onChange: handleChange }), _jsx(HistoryPlugin, {}), _jsx(AutoFocusPlugin, {}), _jsx(ListPlugin, {}), _jsx(CheckListPlugin, {}), _jsx(LinkPlugin, {}), _jsx(AutoLinkPlugin, {}), _jsx(ListMaxIndentLevelPlugin, { maxDepth: 7 }), _jsx(MarkdownShortcutPlugin, { transformers: TRANSFORMERS }), _jsx(LoadContentPlugin, { content: content }), _jsx(CodeHighlightPlugin, {}), _jsx(ImagesPlugin, { captionsEnabled: false }), _jsx(HorizontalRulePlugin, {}), _jsx(EquationsPlugin, {}), _jsx(YouTubePlugin, {}), _jsx(ExcalidrawPlugin, {}), _jsx(CollapsiblePlugin, {}), _jsx(AutoEmbedPlugin, {}), _jsx(TablePlugin, {}), _jsx(TableCellResizerPlugin, {}), _jsx(JupyterCellPlugin, {}), _jsx(ThemedJupyterProvider, { children: _jsx(SimpleKernelPluginsInner, { serviceManager: serviceManager }) }), floatingAnchorElem && (_jsxs(_Fragment, { children: [_jsx(DraggableBlockPlugin, { anchorElem: floatingAnchorElem }), _jsx(FloatingTextFormatToolbarPlugin, { anchorElem: floatingAnchorElem, setIsLinkEditMode: setIsLinkEditMode, extraItems: toolbarItems }), _jsx(CodeActionMenuPlugin, { anchorElem: floatingAnchorElem })] })), _jsx(ChatInlinePlugin, { protocol: {
215
+ type: 'vercel-ai',
216
+ endpoint: VERCEL_AI_ENDPOINT,
222
217
  }, isOpen: isAiOpen, onClose: closeAi, pendingPrompt: pendingPrompt, onPendingPromptConsumed: clearPendingPrompt })] }) })] }) })] }));
223
218
  });
224
219
  function LexicalWithChat({ content, serviceManager, }) {
@@ -226,12 +221,14 @@ function LexicalWithChat({ content, serviceManager, }) {
226
221
  const { isReady, error } = useEnsureAgent(AGENT_ID, BASE_URL);
227
222
  // State to hold tools - populated by LexicalToolsPlugin inside the context
228
223
  const [tools, setTools] = useState([]);
229
- const [toolsKey, setToolsKey] = useState(0);
230
224
  // Stable callback for receiving tools from LexicalToolsPlugin
225
+ // NOTE: Do NOT use a key={...} on ChatFloating to force re-render on tool changes.
226
+ // Changing the key remounts the entire chat component, resetting all state (including isLoading),
227
+ // which causes the run/pause button to flip to "send" mid-conversation.
228
+ // React will naturally pass updated frontendTools prop without remounting.
231
229
  const handleToolsReady = useCallback((newTools) => {
232
230
  console.log('[LexicalWithChat] 🔄 Tools received, updating state');
233
231
  setTools(newTools);
234
- setToolsKey(prev => prev + 1); // Force ChatFloating to see new tools
235
232
  }, []);
236
233
  return (_jsxs(Box, { sx: {
237
234
  height: '100vh',
@@ -247,7 +244,7 @@ function LexicalWithChat({ content, serviceManager, }) {
247
244
  color: 'danger.fg',
248
245
  borderRadius: 2,
249
246
  maxWidth: 300,
250
- }, children: [_jsx("strong", { children: "Error:" }), " ", error] })), isReady && (_jsx(ChatFloating, { endpoint: AG_UI_ENDPOINT, title: "Lexical AI Agent Runtime", description: "Hi! I can help you edit documents. Try: 'Insert a heading', 'Add a code block', or 'Create a list'", defaultOpen: true, defaultViewMode: "panel", position: "bottom-right", frontendTools: tools, useStore: false, showModelSelector: true, showToolsMenu: true, showSkillsMenu: true, suggestions: [
247
+ }, children: [_jsx("strong", { children: "Error:" }), " ", error] })), isReady && (_jsx(ChatFloating, { protocol: "vercel-ai", endpoint: VERCEL_AI_ENDPOINT, title: "Lexical AI Agent Runtime", description: "Hi! I can help you edit documents. Try: 'Insert a heading', 'Add a code block', or 'Create a list'", defaultOpen: true, defaultViewMode: "panel", position: "bottom-right", frontendTools: tools, useStore: false, showModelSelector: true, showToolsMenu: true, showSkillsMenu: true, suggestions: [
251
248
  {
252
249
  title: 'Insert heading',
253
250
  message: 'Insert a heading that says "Welcome"',
@@ -260,7 +257,11 @@ function LexicalWithChat({ content, serviceManager, }) {
260
257
  title: 'Create list',
261
258
  message: 'Create a bullet list with three items about Jupyter',
262
259
  },
263
- ] }, `chat-${toolsKey}`))] }));
260
+ {
261
+ title: 'Analyze Titanic',
262
+ message: 'Analyze the Titanic dataset and provide insights about the passengers and survival rates',
263
+ },
264
+ ] }))] }));
264
265
  }
265
266
  function AgentRuntimeLexicalExample({ content, serviceManager, }) {
266
267
  return _jsx(LexicalWithChat, { content: content, serviceManager: serviceManager });
@@ -8,22 +8,11 @@
8
8
  * - Middleware and extensions
9
9
  *
10
10
  * To run this example, create a .env file with:
11
- * - VITE_DATALAYER_API_TOKEN: Get from https://datalayer.app/settings/iam/tokens
11
+ * - VITE_DATALAYER_API_KEY: Get from https://datalayer.app/settings/iam/tokens
12
12
  *
13
13
  * @module examples/ChatLexicalExample
14
14
  */
15
- import 'prismjs';
16
- import 'prismjs/components/prism-clike';
17
- import 'prismjs/components/prism-javascript';
18
- import 'prismjs/components/prism-markup';
19
- import 'prismjs/components/prism-markdown';
20
- import 'prismjs/components/prism-c';
21
- import 'prismjs/components/prism-css';
22
- import 'prismjs/components/prism-objectivec';
23
- import 'prismjs/components/prism-sql';
24
- import 'prismjs/components/prism-python';
25
- import 'prismjs/components/prism-rust';
26
- import 'prismjs/components/prism-swift';
15
+ import '@datalayer/jupyter-react/lib/css/PrismCss';
27
16
  import type { ServiceManager } from '@jupyterlab/services';
28
17
  import '@datalayer/jupyter-lexical/style/index.css';
29
18
  import './lexical/lexical-theme.css';
@@ -13,22 +13,11 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
13
13
  * - Middleware and extensions
14
14
  *
15
15
  * To run this example, create a .env file with:
16
- * - VITE_DATALAYER_API_TOKEN: Get from https://datalayer.app/settings/iam/tokens
16
+ * - VITE_DATALAYER_API_KEY: Get from https://datalayer.app/settings/iam/tokens
17
17
  *
18
18
  * @module examples/ChatLexicalExample
19
19
  */
20
- import 'prismjs';
21
- import 'prismjs/components/prism-clike';
22
- import 'prismjs/components/prism-javascript';
23
- import 'prismjs/components/prism-markup';
24
- import 'prismjs/components/prism-markdown';
25
- import 'prismjs/components/prism-c';
26
- import 'prismjs/components/prism-css';
27
- import 'prismjs/components/prism-objectivec';
28
- import 'prismjs/components/prism-sql';
29
- import 'prismjs/components/prism-python';
30
- import 'prismjs/components/prism-rust';
31
- import 'prismjs/components/prism-swift';
20
+ import '@datalayer/jupyter-react/lib/css/PrismCss';
32
21
  import { useCallback, useEffect, useMemo, useState } from 'react';
33
22
  import { LexicalComposer } from '@lexical/react/LexicalComposer';
34
23
  import { RichTextPlugin } from '@lexical/react/LexicalRichTextPlugin';
@@ -46,10 +35,9 @@ import { CheckListPlugin } from '@lexical/react/LexicalCheckListPlugin';
46
35
  import { LinkPlugin } from '@lexical/react/LexicalLinkPlugin';
47
36
  import { Box } from '@datalayer/primer-addons';
48
37
  import { useJupyter } from '@datalayer/jupyter-react';
49
- import { ThemedJupyterProvider } from './stores/themedProvider';
38
+ import { ThemedJupyterProvider } from './utils/themedProvider';
50
39
  import { ComponentPickerMenuPlugin, JupyterCellPlugin, JupyterInputOutputPlugin, DraggableBlockPlugin, ImagesPlugin, HorizontalRulePlugin, EquationsPlugin, YouTubePlugin, ExcalidrawPlugin, CollapsiblePlugin, AutoLinkPlugin, AutoEmbedPlugin, FloatingTextFormatToolbarPlugin, CodeActionMenuPlugin, ListMaxIndentLevelPlugin, LexicalConfigProvider, LexicalStatePlugin, TableCellResizerPlugin, TablePlugin, } from '@datalayer/jupyter-lexical';
51
- // Import Chat components
52
- import { ChatSidebar, } from '../components/chat';
40
+ import { ChatSidebar } from '../chat';
53
41
  import { ChatInlinePlugin } from '../lexical/ChatInlinePlugin';
54
42
  import { useChatInlineToolbarItems } from '../lexical/useChatInlineToolbarItems';
55
43
  import { useLexicalTools } from '../tools/adapters/agent-runtimes/lexicalHooks';
@@ -119,7 +107,7 @@ export function ChatLexicalExampleInner({ serviceManager, }) {
119
107
  };
120
108
  }, []);
121
109
  return (_jsx(_Fragment, { children: _jsxs(Box, { sx: {
122
- height: '100vh',
110
+ height: 'calc(100vh - 70px)',
123
111
  width: '100vw',
124
112
  display: 'flex',
125
113
  overflow: 'hidden',
@@ -138,7 +126,7 @@ export function ChatLexicalExampleInner({ serviceManager, }) {
138
126
  display: 'flex',
139
127
  overflow: 'hidden',
140
128
  bg: 'canvas.default',
141
- }, children: _jsx(LexicalEditor, { serviceManager: serviceManager }) })] }), _jsx(ChatSidebar, { title: "AI Assistant", position: "right", width: 400, showNewChatButton: true, showClearButton: true, showSettingsButton: true, defaultOpen: true, panelProps: {
129
+ }, children: _jsx(LexicalEditor, { serviceManager: serviceManager }) })] }), _jsx(ChatSidebar, { title: "AI Assistant", protocol: protocolConfig, position: "right", width: 400, showNewChatButton: true, showClearButton: true, showSettingsButton: true, defaultOpen: true, panelProps: {
142
130
  protocol: protocolConfig,
143
131
  frontendTools: tools,
144
132
  useStore: true,
@@ -13,17 +13,17 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  * 1. Start the agent-runtimes server: `npm run start:server`
14
14
  * 2. Start the frontend: `npm run dev`
15
15
  *
16
- * @module examples/AgentRuntimeNotebookExample
16
+ * @module examples/NotebookExample
17
17
  */
18
18
  import React, { useEffect, useState } from 'react';
19
19
  import { Box } from '@datalayer/primer-addons';
20
20
  import { Notebook } from '@datalayer/jupyter-react';
21
- import { ThemedJupyterProvider } from './stores/themedProvider';
21
+ import { ThemedJupyterProvider } from './utils/themedProvider';
22
22
  // Agent-runtimes imports
23
- import { ChatFloating } from '../components/chat';
23
+ import { ChatFloating } from '../chat';
24
24
  import { useNotebookTools } from '../tools/adapters/agent-runtimes/notebookHooks';
25
25
  // Import Matplotlib notebook
26
- import MatplotlibNotebook from './stores/notebooks/Matplotlib.ipynb.json';
26
+ import MatplotlibNotebook from './utils/notebooks/Matplotlib.ipynb.json';
27
27
  import { DEFAULT_MODEL } from '../specs';
28
28
  // Fixed notebook ID
29
29
  const NOTEBOOK_ID = 'agui-notebook-example';
@@ -32,8 +32,8 @@ const NOTEBOOK_CONTENT = MatplotlibNotebook;
32
32
  // Base URL for agent-runtimes server
33
33
  const BASE_URL = 'http://localhost:8765';
34
34
  const AGENT_ID = 'notebook-agent-runtime-example';
35
- // AG-UI endpoint for notebook operations (trailing slash required for mounted Starlette apps)
36
- const AG_UI_ENDPOINT = `${BASE_URL}/api/v1/ag-ui/${AGENT_ID}/`;
35
+ // Vercel AI endpoint
36
+ const VERCEL_AI_ENDPOINT = `${BASE_URL}/api/v1/vercel-ai/${AGENT_ID}`;
37
37
  /**
38
38
  * Hook to ensure the demo-agent exists on the server.
39
39
  * Creates it if it doesn't exist.
@@ -55,7 +55,7 @@ function useEnsureAgent(agentId, baseUrl) {
55
55
  name: agentId,
56
56
  description: 'Demo agent for notebook example',
57
57
  agent_library: 'pydantic-ai',
58
- transport: 'ag-ui',
58
+ transport: 'vercel-ai',
59
59
  model: DEFAULT_MODEL,
60
60
  system_prompt: 'You are a helpful AI assistant that helps users work with Jupyter notebooks. You can help with code, explanations, and data analysis.',
61
61
  }),
@@ -102,13 +102,13 @@ const NotebookUI = React.memo(function NotebookUI({ serviceManager, }) {
102
102
  paddingBottom: 3,
103
103
  borderBottom: '1px solid',
104
104
  borderColor: 'border.default',
105
- }, children: [_jsx(Box, { as: "h1", children: "Agent Runtime Notebook Example" }), _jsx("p", { children: "Platform-agnostic tool usage with agent-runtimes integration. Use the AI copilot to manipulate the notebook." })] }), _jsx(Box, { sx: {
105
+ }, children: [_jsx(Box, { as: "h1", sx: { margin: 0 }, children: "Agent Runtime Notebook Example" }), _jsx("p", { children: "Platform-agnostic tool usage with agent-runtimes integration. Use the AI copilot to manipulate the notebook." })] }), _jsx(Box, { sx: {
106
106
  border: '1px solid',
107
107
  borderColor: 'border.default',
108
108
  borderRadius: 2,
109
109
  padding: 3,
110
110
  backgroundColor: 'canvas.default',
111
- }, children: serviceManager ? (_jsx(ThemedJupyterProvider, { children: _jsx(Notebook, { nbformat: NOTEBOOK_CONTENT, id: NOTEBOOK_ID, serviceManager: serviceManager, height: "600px", cellSidebarMargin: 120, startDefaultKernel: true }) })) : (_jsx(Box, { sx: { padding: 3 }, children: _jsx("p", { children: "Loading service manager..." }) })) })] }));
111
+ }, children: serviceManager ? (_jsx(ThemedJupyterProvider, { children: _jsx(Notebook, { nbformat: NOTEBOOK_CONTENT, id: NOTEBOOK_ID, serviceManager: serviceManager, height: "calc(100vh - 300px)", cellSidebarMargin: 120, startDefaultKernel: true }) })) : (_jsx(Box, { sx: { padding: 3 }, children: _jsx("p", { children: "Loading service manager..." }) })) })] }));
112
112
  });
113
113
  function NotebookWithChat({ serviceManager, }) {
114
114
  // Ensure the agent exists before rendering chat
@@ -129,7 +129,7 @@ function NotebookWithChat({ serviceManager, }) {
129
129
  color: 'danger.fg',
130
130
  borderRadius: 2,
131
131
  maxWidth: 300,
132
- }, children: [_jsx("strong", { children: "Error:" }), " ", error] })), isReady && (_jsx(ChatFloating, { endpoint: AG_UI_ENDPOINT, title: "Notebook AI Agent Runtime", description: "Hi! I can help you edit notebook cells. Try: 'Add a new code cell', 'Run cell 1', or 'Delete the last cell'", defaultOpen: true, defaultViewMode: "panel", position: "bottom-right", frontendTools: frontendTools, useStore: false, showModelSelector: true, showToolsMenu: true, showSkillsMenu: true, suggestions: [
132
+ }, children: [_jsx("strong", { children: "Error:" }), " ", error] })), isReady && (_jsx(ChatFloating, { protocol: "vercel-ai", endpoint: VERCEL_AI_ENDPOINT, title: "Notebook AI Agent Runtime", description: "Hi! I can help you edit notebook cells. Try: 'Add a new code cell', 'Run cell 1', or 'Delete the last cell'", defaultOpen: true, defaultViewMode: "panel", position: "bottom-right", frontendTools: frontendTools, useStore: false, showModelSelector: true, showToolsMenu: true, showSkillsMenu: true, suggestions: [
133
133
  {
134
134
  title: 'Add a cell',
135
135
  message: 'Insert a random cell to the notebook',
@@ -142,6 +142,10 @@ function NotebookWithChat({ serviceManager, }) {
142
142
  title: 'Show cells',
143
143
  message: 'Show the notebook cells content and compute the number of cells',
144
144
  },
145
+ {
146
+ title: 'Analyze Titanic',
147
+ message: 'Analyze the Titanic dataset and provide insights about the passengers and survival rates',
148
+ },
145
149
  ] }))] }));
146
150
  }
147
151
  function AgentRuntimeNotebookExample({ serviceManager, }) {
@@ -21,13 +21,10 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
21
21
  import { useMemo } from 'react';
22
22
  import { Box } from '@datalayer/primer-addons';
23
23
  import { Notebook, useJupyter } from '@datalayer/jupyter-react';
24
- import { ThemedJupyterProvider } from './stores/themedProvider';
25
- // Import Chat components
26
- import { ChatSidebar, } from '../components/chat';
27
- // Import agent-runtimes notebook tools
28
24
  import { useNotebookTools } from '../tools/adapters/agent-runtimes/notebookHooks';
29
- // Import sample notebook
30
- import MatplotlibNotebook from './stores/notebooks/Matplotlib.ipynb.json';
25
+ import { ThemedJupyterProvider } from './utils/themedProvider';
26
+ import { ChatSidebar } from '../chat';
27
+ import MatplotlibNotebook from './utils/notebooks/Matplotlib.ipynb.json';
31
28
  // Fixed notebook ID
32
29
  const NOTEBOOK_ID = 'chat-notebook-example';
33
30
  // Use the imported Matplotlib notebook
@@ -59,7 +56,7 @@ export function AgentRuntimeNotebookExampleInner({ serviceManager, }) {
59
56
  };
60
57
  }, []);
61
58
  return (_jsx(_Fragment, { children: _jsxs(Box, { sx: {
62
- height: '100vh',
59
+ height: 'calc(100vh - 70px)',
63
60
  width: '100vw',
64
61
  display: 'flex',
65
62
  overflow: 'hidden',
@@ -85,7 +82,7 @@ export function AgentRuntimeNotebookExampleInner({ serviceManager, }) {
85
82
  borderColor: 'border.default',
86
83
  borderRadius: 2,
87
84
  overflow: 'hidden',
88
- }, children: _jsx(NotebookUI, { serviceManager: serviceManager }) }) })] }), _jsx(ChatSidebar, { title: "AI Assistant", position: "right", width: 400, showNewChatButton: true, showClearButton: true, showSettingsButton: true, defaultOpen: true, panelProps: {
85
+ }, children: _jsx(NotebookUI, { serviceManager: serviceManager }) }) })] }), _jsx(ChatSidebar, { title: "AI Assistant", protocol: protocolConfig, position: "right", width: 400, showNewChatButton: true, showClearButton: true, showSettingsButton: true, defaultOpen: true, panelProps: {
89
86
  protocol: protocolConfig,
90
87
  frontendTools: tools,
91
88
  useStore: true,
@@ -11,8 +11,8 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
11
11
  import { useMemo } from 'react';
12
12
  import { Box } from '@datalayer/primer-addons';
13
13
  import { Notebook, NotebookToolbar, CellSidebarExtension, CellSidebarButton, } from '@datalayer/jupyter-react';
14
- import { ThemedJupyterProvider } from './stores/themedProvider';
15
- import nbformatExample from './stores/notebooks/NotebookExample1.ipynb.json';
14
+ import { ThemedJupyterProvider } from './utils/themedProvider';
15
+ import nbformatExample from './utils/notebooks/NotebookExample1.ipynb.json';
16
16
  const NOTEBOOK_ID = 'notebook-example-1';
17
17
  export const JupyterNotebookExample = (props) => {
18
18
  const { serviceManager } = props;
@@ -9,7 +9,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  * Inspired by the AG-UI Dojo implementation, this component renders weather
10
10
  * data with dynamic theming based on weather conditions.
11
11
  *
12
- * @module components/chat/components/InlineWeatherCard
12
+ * @module chat/InlineWeatherCard
13
13
  */
14
14
  import { Spinner } from '@primer/react';
15
15
  /**
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ /**
3
+ * ExampleWrapper
4
+ *
5
+ * Wraps every example in a fixed-height container that accounts for
6
+ * the 60 px header bar. Examples inside can use `100vh` or `100%`
7
+ * freely — the wrapper clips and scrolls as needed.
8
+ */
9
+ export declare const ExampleWrapper: React.FC<{
10
+ children: React.ReactNode;
11
+ }>;
12
+ export default ExampleWrapper;
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box } from '@datalayer/primer-addons';
3
+ /**
4
+ * ExampleWrapper
5
+ *
6
+ * Wraps every example in a fixed-height container that accounts for
7
+ * the 60 px header bar. Examples inside can use `100vh` or `100%`
8
+ * freely — the wrapper clips and scrolls as needed.
9
+ */
10
+ export const ExampleWrapper = ({ children, }) => (_jsx(Box, { sx: {
11
+ height: 'calc(100vh - 60px)',
12
+ width: '100%',
13
+ overflow: 'auto',
14
+ position: 'relative',
15
+ }, children: children }));
16
+ export default ExampleWrapper;
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
- import type { AgentStatus } from '../../types/Types';
2
+ import type { ExampleAgentStatus } from '../../types';
3
3
  export interface HeaderProps {
4
4
  activeSession: string;
5
5
  agentName?: string;
6
6
  agentDescription?: string;
7
- agentStatus?: AgentStatus;
7
+ agentStatus?: ExampleAgentStatus;
8
8
  showContextTree: boolean;
9
9
  isNewAgent?: boolean;
10
10
  isConfigured?: boolean;
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Box } from '@datalayer/primer-addons';
3
- import { Sparklines, SparklinesLine } from '../../components/sparklines';
3
+ import { Sparklines, SparklinesLine, } from '@datalayer/core/lib/components/sparklines';
4
4
  /**
5
5
  * Header Controls Component
6
6
  *
@@ -1,15 +1,4 @@
1
- import 'prismjs';
2
- import 'prismjs/components/prism-clike';
3
- import 'prismjs/components/prism-javascript';
4
- import 'prismjs/components/prism-markup';
5
- import 'prismjs/components/prism-markdown';
6
- import 'prismjs/components/prism-c';
7
- import 'prismjs/components/prism-css';
8
- import 'prismjs/components/prism-objectivec';
9
- import 'prismjs/components/prism-sql';
10
- import 'prismjs/components/prism-python';
11
- import 'prismjs/components/prism-rust';
12
- import 'prismjs/components/prism-swift';
1
+ import '@datalayer/jupyter-react/lib/css/PrismCss';
13
2
  import React from 'react';
14
3
  import type { ServiceManager } from '@jupyterlab/services';
15
4
  import type { ToolbarItem } from '@datalayer/primer-addons';
@@ -3,18 +3,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
3
3
  * Copyright (c) 2025-2026 Datalayer, Inc.
4
4
  * Distributed under the terms of the Modified BSD License.
5
5
  */
6
- import 'prismjs';
7
- import 'prismjs/components/prism-clike';
8
- import 'prismjs/components/prism-javascript';
9
- import 'prismjs/components/prism-markup';
10
- import 'prismjs/components/prism-markdown';
11
- import 'prismjs/components/prism-c';
12
- import 'prismjs/components/prism-css';
13
- import 'prismjs/components/prism-objectivec';
14
- import 'prismjs/components/prism-sql';
15
- import 'prismjs/components/prism-python';
16
- import 'prismjs/components/prism-rust';
17
- import 'prismjs/components/prism-swift';
6
+ import '@datalayer/jupyter-react/lib/css/PrismCss';
18
7
  import { useCallback, useEffect, useRef, useState } from 'react';
19
8
  import { $getRoot, $createParagraphNode } from 'lexical';
20
9
  import { LexicalComposer } from '@lexical/react/LexicalComposer';
@@ -1,15 +1,8 @@
1
1
  import React from 'react';
2
- import type { ServiceManager } from '@jupyterlab/services';
3
- import { type McpServerSelection } from '../../components/McpServerManager';
2
+ import { McpServerSelection } from '../../types';
4
3
  export interface MainContentProps {
5
- showNotebook: boolean;
6
- timeTravel: number;
7
- onTimeTravelChange: (value: number) => void;
8
- richEditor: boolean;
9
- notebookFile?: string;
10
- lexicalFile?: string;
11
- isNewAgent?: boolean;
12
- serviceManager?: ServiceManager.IManager;
4
+ /** Whether to show the welcome message */
5
+ showWelcomeMessage?: boolean;
13
6
  /** Base URL for MCP API */
14
7
  baseUrl?: string;
15
8
  /** Agent ID for updating the running agent */
@@ -28,7 +21,7 @@ export interface MainContentProps {
28
21
  /**
29
22
  * Main Content Component
30
23
  *
31
- * Displays the main content area with Simple notebook viewer or Lexical editor and time travel.
24
+ * Displays the main content area with a welcome message.
32
25
  * When an agent is running (isConfigured=true), also shows the MCP Server Manager for runtime management.
33
26
  */
34
27
  export declare const MainContent: React.FC<MainContentProps>;
@@ -1,68 +1,14 @@
1
- import { jsx as _jsx, Fragment as _Fragment, 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
- import React from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
2
  import { Text } from '@primer/react';
8
3
  import { Box } from '@datalayer/primer-addons';
9
- import { JupyterReactTheme, Viewer } from '@datalayer/jupyter-react';
10
- import { TimeTravel } from './TimeTravel';
11
- import { LexicalEditor } from './LexicalEditor';
12
- import { McpServerManager, } from '../../components/McpServerManager';
13
- import matplotlib from '../stores/notebooks/NotebookExample2.ipynb.json';
14
- import emptyNotebook from '../stores/notebooks/Empty.ipynb.json';
4
+ import { McpServerManager } from '../../mcp/McpServerManager';
15
5
  /**
16
6
  * Main Content Component
17
7
  *
18
- * Displays the main content area with Simple notebook viewer or Lexical editor and time travel.
8
+ * Displays the main content area with a welcome message.
19
9
  * When an agent is running (isConfigured=true), also shows the MCP Server Manager for runtime management.
20
10
  */
21
- export const MainContent = ({ showNotebook, timeTravel, onTimeTravelChange, richEditor, notebookFile, lexicalFile, isNewAgent, serviceManager, baseUrl, agentId, enableCodemode, selectedMcpServers, onSelectedMcpServersChange, onMcpServersChange, isConfigured, }) => {
22
- // Use the provided notebook or fall back to matplotlib demo
23
- const [notebookData, setNotebookData] = React.useState(matplotlib);
24
- const [lexicalContent, setLexicalContent] = React.useState(undefined);
25
- React.useEffect(() => {
26
- if (isNewAgent) {
27
- // Use empty notebook for new agent
28
- setNotebookData(emptyNotebook);
29
- setLexicalContent(undefined);
30
- }
31
- else if (notebookFile) {
32
- // Dynamically import the notebook based on the file name
33
- import(
34
- /* webpackIgnore: true */ /* @vite-ignore */ `../stores/agents/${notebookFile}`)
35
- .then(module => {
36
- setNotebookData(module.default);
37
- })
38
- .catch(() => {
39
- // If the file doesn't exist, use matplotlib as fallback
40
- setNotebookData(matplotlib);
41
- });
42
- }
43
- else {
44
- setNotebookData(matplotlib);
45
- }
46
- }, [notebookFile, isNewAgent]);
47
- React.useEffect(() => {
48
- if (lexicalFile && !isNewAgent) {
49
- // Dynamically import the lexical file based on the file name
50
- import(
51
- /* webpackIgnore: true */ /* @vite-ignore */ `../stores/agents/${lexicalFile}`)
52
- .then(module => {
53
- // Convert the JSON to a string if needed
54
- setLexicalContent(typeof module.default === 'string'
55
- ? module.default
56
- : JSON.stringify(module.default));
57
- })
58
- .catch(() => {
59
- setLexicalContent(undefined);
60
- });
61
- }
62
- else {
63
- setLexicalContent(undefined);
64
- }
65
- }, [lexicalFile, isNewAgent]);
11
+ export const MainContent = ({ showWelcomeMessage = true, baseUrl, agentId, enableCodemode, selectedMcpServers, onSelectedMcpServersChange, onMcpServersChange, isConfigured, }) => {
66
12
  return (_jsxs(Box, { sx: { height: '100%', overflow: 'auto', padding: 3 }, children: [isConfigured && baseUrl && (_jsx(Box, { sx: {
67
13
  mb: 4,
68
14
  p: 3,
@@ -70,10 +16,10 @@ export const MainContent = ({ showNotebook, timeTravel, onTimeTravelChange, rich
70
16
  borderRadius: 2,
71
17
  border: '1px solid',
72
18
  borderColor: 'border.default',
73
- }, children: _jsx(McpServerManager, { baseUrl: baseUrl, agentId: agentId, enableCodemode: enableCodemode, selectedServers: selectedMcpServers, onSelectedServersChange: onSelectedMcpServersChange, onServersChange: onMcpServersChange, disabled: false }) })), showNotebook ? (_jsxs(_Fragment, { children: [richEditor ? (_jsx(LexicalEditor, { serviceManager: serviceManager, content: lexicalContent })) : (_jsx(JupyterReactTheme, { children: _jsx(Viewer, { nbformat: notebookData, outputs: true }) })), !isNewAgent && (_jsx(TimeTravel, { value: timeTravel, onChange: onTimeTravelChange }))] })) : (_jsx(Box, { sx: {
19
+ }, children: _jsx(McpServerManager, { baseUrl: baseUrl, agentId: agentId, enableCodemode: enableCodemode, selectedServers: selectedMcpServers, onSelectedServersChange: onSelectedMcpServersChange, onServersChange: onMcpServersChange, disabled: false }) })), showWelcomeMessage && (_jsx(Box, { sx: {
74
20
  display: 'flex',
75
21
  alignItems: 'center',
76
22
  justifyContent: 'center',
77
23
  height: '100%',
78
- }, children: _jsx(Text, { sx: { color: 'fg.muted' }, children: "Select a file to view or create a new notebook" }) }))] }));
24
+ }, children: _jsx(Text, { sx: { color: 'fg.muted', fontSize: 1 }, children: "Configure your agent and start a conversation using the chat panel." }) }))] }));
79
25
  };
@@ -14,3 +14,4 @@ export { TimeTravel } from './TimeTravel';
14
14
  export type { TimeTravelProps } from './TimeTravel';
15
15
  export { LexicalEditor } from './LexicalEditor';
16
16
  export type { LexicalEditorProps } from './LexicalEditor';
17
+ export { ExampleWrapper } from './ExampleWrapper';
@@ -11,3 +11,4 @@ export { HeaderControls } from './HeaderControls';
11
11
  export { FooterMetrics } from './FooterMetrics';
12
12
  export { TimeTravel } from './TimeTravel';
13
13
  export { LexicalEditor } from './LexicalEditor';
14
+ export { ExampleWrapper } from './ExampleWrapper';
@@ -11,7 +11,7 @@ export declare const EXAMPLES: Record<string, () => Promise<{
11
11
  export declare function getExampleNames(): string[];
12
12
  /**
13
13
  * Get the selected example based on environment variable
14
- * Falls back to 'JupyterNotebookExample' if not specified or invalid
14
+ * Falls back to 'NotebookExample' if not specified or invalid
15
15
  */
16
16
  export declare function getSelectedExample(): () => Promise<{
17
17
  default: React.ComponentType;