@datalayer/agent-runtimes 1.0.2 → 1.0.4

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 (608) hide show
  1. package/README.md +14 -132
  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 +26 -15
  27. package/lib/{components/chat/components → chat}/Chat.js +16 -16
  28. package/lib/{components/chat/components → chat}/ChatFloating.d.ts +17 -9
  29. package/lib/{components/chat/components → chat}/ChatFloating.js +17 -9
  30. package/lib/{components/chat/components → chat}/ChatInline.d.ts +2 -2
  31. package/lib/{components/chat/components → chat}/ChatInline.js +8 -6
  32. package/lib/{components/chat/components → chat}/ChatPopupStandalone.d.ts +3 -4
  33. package/lib/{components/chat/components → chat}/ChatPopupStandalone.js +6 -6
  34. package/lib/{components/chat/components → chat}/ChatSidebar.d.ts +14 -5
  35. package/lib/{components/chat/components → chat}/ChatSidebar.js +48 -26
  36. package/lib/{components/chat/components → chat}/ChatStandalone.d.ts +3 -4
  37. package/lib/{components/chat/components → chat}/ChatStandalone.js +5 -5
  38. package/lib/chat/base/ChatBase.d.ts +6 -0
  39. package/lib/chat/base/ChatBase.js +1338 -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 +332 -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 +216 -0
  94. package/lib/client/AgentsMixin.js +388 -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 +177 -0
  99. package/lib/components/OutputCard.d.ts +8 -0
  100. package/lib/components/OutputCard.js +94 -0
  101. package/lib/components/ToolApprovalCard.d.ts +33 -0
  102. package/lib/components/ToolApprovalCard.js +78 -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 +500 -0
  133. package/lib/examples/AgentCodemodeExample.d.ts +14 -0
  134. package/lib/examples/AgentCodemodeExample.js +256 -0
  135. package/lib/examples/AgentEvalsExample.d.ts +14 -0
  136. package/lib/examples/AgentEvalsExample.js +210 -0
  137. package/lib/examples/AgentGuardrailsExample.d.ts +14 -0
  138. package/lib/examples/AgentGuardrailsExample.js +212 -0
  139. package/lib/examples/AgentMemoryExample.d.ts +14 -0
  140. package/lib/examples/AgentMemoryExample.js +228 -0
  141. package/lib/examples/AgentMonitoringExample.d.ts +13 -0
  142. package/lib/examples/AgentMonitoringExample.js +305 -0
  143. package/lib/examples/AgentNotificationsExample.d.ts +14 -0
  144. package/lib/examples/AgentNotificationsExample.js +267 -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 +205 -0
  149. package/lib/examples/AgentSandboxExample.d.ts +17 -0
  150. package/lib/examples/AgentSandboxExample.js +490 -0
  151. package/lib/examples/AgentSkillsExample.d.ts +3 -0
  152. package/lib/examples/AgentSkillsExample.js +284 -0
  153. package/lib/examples/AgentToolApprovalsExample.d.ts +3 -0
  154. package/lib/examples/AgentToolApprovalsExample.js +737 -0
  155. package/lib/examples/AgentTriggersExample.d.ts +14 -0
  156. package/lib/examples/AgentTriggersExample.js +1090 -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} +6 -14
  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/ErrorView.d.ts +14 -0
  178. package/lib/examples/components/ErrorView.js +20 -0
  179. package/lib/examples/components/ExampleWrapper.d.ts +12 -0
  180. package/lib/examples/components/ExampleWrapper.js +16 -0
  181. package/lib/examples/components/Header.d.ts +2 -2
  182. package/lib/examples/components/HeaderControls.js +1 -1
  183. package/lib/examples/components/LexicalEditor.d.ts +1 -12
  184. package/lib/examples/components/LexicalEditor.js +1 -12
  185. package/lib/examples/components/MainContent.d.ts +4 -11
  186. package/lib/examples/components/MainContent.js +6 -60
  187. package/lib/examples/components/index.d.ts +3 -0
  188. package/lib/examples/components/index.js +2 -0
  189. package/lib/examples/example-selector.d.ts +1 -1
  190. package/lib/examples/example-selector.js +35 -22
  191. package/lib/examples/index.d.ts +26 -13
  192. package/lib/examples/index.js +26 -12
  193. package/lib/examples/main.d.ts +7 -0
  194. package/lib/examples/main.js +21 -43
  195. package/lib/examples/utils/examplesStore.d.ts +4 -0
  196. package/lib/examples/{stores → utils}/examplesStore.js +1 -1
  197. package/lib/examples/utils/notebooks/Empty.ipynb.json +33 -0
  198. package/lib/examples/utils/notebooks/NotebookExample2.ipynb.json +48 -0
  199. package/lib/examples/utils/themeStore.d.ts +8 -0
  200. package/lib/examples/utils/themeStore.js +14 -0
  201. package/lib/extensions/A2UIExtension.d.ts +65 -0
  202. package/lib/extensions/A2UIExtension.js +202 -0
  203. package/lib/{components/chat/extensions → extensions}/ExtensionRegistry.d.ts +2 -3
  204. package/lib/{components/chat/extensions → extensions}/ExtensionRegistry.js +0 -2
  205. package/lib/{components/chat/extensions → extensions}/MCPUIExtension.d.ts +2 -2
  206. package/lib/{components/chat/extensions → extensions}/MCPUIExtension.js +1 -1
  207. package/lib/extensions/index.d.ts +9 -0
  208. package/lib/{components/chat/extensions → extensions}/index.js +2 -2
  209. package/lib/hooks/index.d.ts +33 -16
  210. package/lib/hooks/index.js +33 -16
  211. package/lib/hooks/useAIAgentsWebSocket.d.ts +29 -0
  212. package/lib/hooks/useAIAgentsWebSocket.js +136 -0
  213. package/lib/hooks/{useAGUI.d.ts → useAgUi.d.ts} +2 -2
  214. package/lib/hooks/{useAGUI.js → useAgUi.js} +2 -2
  215. package/lib/hooks/useAgents.d.ts +150 -11
  216. package/lib/hooks/useAgents.js +623 -61
  217. package/lib/hooks/{useAgentStore.d.ts → useAgentsCatalog.d.ts} +3 -8
  218. package/lib/hooks/{useAgentStore.js → useAgentsCatalog.js} +9 -3
  219. package/lib/hooks/useAgentsRegistry.d.ts +10 -0
  220. package/lib/hooks/useAgentsRegistry.js +20 -0
  221. package/lib/hooks/useAgentsService.d.ts +22 -0
  222. package/lib/hooks/useAgentsService.js +146 -0
  223. package/lib/hooks/useChat.d.ts +2 -2
  224. package/lib/hooks/useChat.js +14 -8
  225. package/lib/hooks/useCheckpoints.d.ts +176 -0
  226. package/lib/hooks/useCheckpoints.js +466 -0
  227. package/lib/hooks/useConfig.d.ts +11 -0
  228. package/lib/hooks/useConfig.js +46 -0
  229. package/lib/hooks/useContextSnapshot.d.ts +11 -0
  230. package/lib/hooks/useContextSnapshot.js +44 -0
  231. package/lib/hooks/useMonitoring.d.ts +24 -0
  232. package/lib/hooks/useMonitoring.js +111 -0
  233. package/lib/hooks/useNotifications.d.ts +67 -0
  234. package/lib/hooks/useNotifications.js +208 -0
  235. package/lib/hooks/useSandbox.d.ts +12 -0
  236. package/lib/hooks/useSandbox.js +49 -0
  237. package/lib/hooks/useSkills.d.ts +13 -0
  238. package/lib/hooks/useSkills.js +46 -0
  239. package/lib/hooks/useToolApprovals.d.ts +45 -0
  240. package/lib/hooks/useToolApprovals.js +126 -0
  241. package/lib/hooks/useTools.d.ts +4 -4
  242. package/lib/hooks/useTools.js +2 -2
  243. package/lib/hooks/{useVercelChat.d.ts → useVercelAI.d.ts} +3 -3
  244. package/lib/hooks/{useVercelChat.js → useVercelAI.js} +2 -2
  245. package/lib/{components/chat/components → identity}/AgentIdentity.d.ts +1 -1
  246. package/lib/{components/chat/components → identity}/AgentIdentity.js +4 -3
  247. package/lib/identity/index.d.ts +1 -0
  248. package/lib/identity/index.js +2 -0
  249. package/lib/index.d.ts +4 -3
  250. package/lib/index.js +3 -2
  251. package/lib/{components/chat/inference → inference}/BaseInferenceProvider.d.ts +3 -3
  252. package/lib/{components/chat/inference → inference}/DatalayerInferenceProvider.d.ts +3 -3
  253. package/lib/{components/chat/inference → inference}/DatalayerInferenceProvider.js +1 -1
  254. package/lib/{components/chat/inference → inference}/SelfHostedInferenceProvider.d.ts +2 -2
  255. package/lib/{components/chat/inference → inference}/SelfHostedInferenceProvider.js +1 -1
  256. package/lib/{components/chat/inference → inference}/index.d.ts +1 -1
  257. package/lib/{components/chat/inference → inference}/index.js +1 -1
  258. package/lib/lexical/ChatInlinePlugin.d.ts +1 -1
  259. package/lib/lexical/ChatInlinePlugin.js +1 -1
  260. package/lib/{components → mcp}/McpServerManager.d.ts +1 -2
  261. package/lib/mcp/index.d.ts +1 -0
  262. package/lib/{specs/agents/codeai → mcp}/index.js +1 -1
  263. package/lib/{components/chat/middleware → middleware}/MiddlewarePipeline.d.ts +3 -3
  264. package/lib/{components/chat/middleware → middleware}/index.d.ts +1 -1
  265. package/lib/{components/chat/middleware → middleware}/index.js +1 -1
  266. package/lib/{components/chat/protocols → protocols}/A2AAdapter.d.ts +6 -6
  267. package/lib/{components/chat/protocols → protocols}/A2AAdapter.js +3 -3
  268. package/lib/{components/chat/protocols → protocols}/ACPAdapter.d.ts +6 -6
  269. package/lib/{components/chat/protocols → protocols}/ACPAdapter.js +4 -4
  270. package/lib/{components/chat/protocols → protocols}/AGUIAdapter.d.ts +14 -6
  271. package/lib/{components/chat/protocols → protocols}/AGUIAdapter.js +72 -10
  272. package/lib/{components/chat/protocols → protocols}/BaseProtocolAdapter.d.ts +6 -6
  273. package/lib/{components/chat/protocols → protocols}/BaseProtocolAdapter.js +1 -1
  274. package/lib/{components/chat/protocols → protocols}/VercelAIAdapter.d.ts +33 -7
  275. package/lib/protocols/VercelAIAdapter.js +748 -0
  276. package/lib/{components/chat/protocols → protocols}/index.d.ts +1 -2
  277. package/lib/{components/chat/protocols → protocols}/index.js +1 -1
  278. package/lib/shims/json5.d.ts +4 -0
  279. package/lib/shims/json5.js +8 -0
  280. package/lib/specs/agents/agents.d.ts +54 -0
  281. package/lib/specs/agents/agents.js +1489 -0
  282. package/lib/specs/agents/index.js +15 -12
  283. package/lib/specs/envvars.d.ts +11 -19
  284. package/lib/specs/envvars.js +52 -38
  285. package/lib/specs/evals.d.ts +20 -0
  286. package/lib/specs/evals.js +133 -0
  287. package/lib/specs/events.d.ts +26 -0
  288. package/lib/specs/events.js +140 -0
  289. package/lib/specs/frontendTools.d.ts +14 -0
  290. package/lib/specs/frontendTools.js +53 -0
  291. package/lib/specs/guardrails.d.ts +29 -0
  292. package/lib/specs/guardrails.js +310 -0
  293. package/lib/specs/index.d.ts +15 -2
  294. package/lib/specs/index.js +15 -2
  295. package/lib/specs/mcpServers.d.ts +13 -11
  296. package/lib/specs/mcpServers.js +75 -50
  297. package/lib/specs/memory.d.ts +36 -0
  298. package/lib/specs/memory.js +112 -0
  299. package/lib/specs/models.d.ts +21 -34
  300. package/lib/specs/models.js +66 -66
  301. package/lib/specs/notifications.d.ts +17 -0
  302. package/lib/specs/notifications.js +103 -0
  303. package/lib/specs/outputs.d.ts +19 -0
  304. package/lib/specs/outputs.js +106 -0
  305. package/lib/specs/skills.d.ts +7 -16
  306. package/lib/specs/skills.js +95 -18
  307. package/lib/specs/teams/index.d.ts +17 -0
  308. package/lib/specs/teams/index.js +35 -0
  309. package/lib/specs/teams/teams.d.ts +27 -0
  310. package/lib/specs/teams/teams.js +1000 -0
  311. package/lib/specs/tools.d.ts +15 -0
  312. package/lib/specs/tools.js +86 -0
  313. package/lib/specs/triggers.d.ts +15 -0
  314. package/lib/specs/triggers.js +67 -0
  315. package/lib/stores/agentsStore.d.ts +123 -0
  316. package/lib/stores/agentsStore.js +270 -0
  317. package/lib/{components/chat/store → stores}/chatStore.d.ts +3 -2
  318. package/lib/{components/chat/store → stores}/chatStore.js +2 -2
  319. package/lib/{components/chat/store → stores}/conversationStore.d.ts +1 -1
  320. package/lib/{components/chat/store → stores}/conversationStore.js +1 -1
  321. package/lib/{components/chat/store → stores}/index.d.ts +3 -2
  322. package/lib/{components/chat/store → stores}/index.js +3 -2
  323. package/lib/{components/chat/tools → tools}/ToolExecutor.d.ts +2 -2
  324. package/lib/{components/chat/tools → tools}/ToolExecutor.js +1 -1
  325. package/lib/tools/adapters/agent-runtimes/AgentRuntimesToolAdapter.d.ts +1 -1
  326. package/lib/tools/adapters/agent-runtimes/lexicalHooks.d.ts +14 -10
  327. package/lib/tools/adapters/agent-runtimes/lexicalHooks.js +31 -21
  328. package/lib/tools/adapters/agent-runtimes/notebookHooks.d.ts +1 -1
  329. package/lib/tools/index.d.ts +3 -0
  330. package/lib/tools/index.js +3 -7
  331. package/lib/types/a2a.d.ts +39 -0
  332. package/lib/types/acp.d.ts +21 -0
  333. package/lib/types/ag-ui.d.ts +25 -0
  334. package/lib/types/agents-lifecycle.d.ts +36 -0
  335. package/lib/types/agents.d.ts +80 -0
  336. package/lib/types/agents.js +22 -0
  337. package/lib/types/agentspecs.d.ts +90 -0
  338. package/lib/{components/chat/components/base/ChatBase.d.ts → types/chat.d.ts} +59 -99
  339. package/lib/types/checkpoints.d.ts +32 -0
  340. package/lib/types/checkpoints.js +5 -0
  341. package/lib/types/config.d.ts +67 -0
  342. package/lib/{runtime/types.js → types/config.js} +2 -2
  343. package/lib/types/connection.d.ts +31 -0
  344. package/lib/types/connection.js +5 -0
  345. package/lib/types/context.d.ts +67 -0
  346. package/lib/types/context.js +5 -0
  347. package/lib/types/cost.d.ts +42 -0
  348. package/lib/types/cost.js +5 -0
  349. package/lib/types/envvars.d.ts +21 -0
  350. package/lib/types/envvars.js +5 -0
  351. package/lib/types/evals.d.ts +66 -0
  352. package/lib/types/evals.js +5 -0
  353. package/lib/types/events.d.ts +49 -0
  354. package/lib/types/events.js +5 -0
  355. package/lib/types/eventspecs.d.ts +39 -0
  356. package/lib/types/eventspecs.js +5 -0
  357. package/lib/types/examples.d.ts +31 -0
  358. package/lib/types/examples.js +5 -0
  359. package/lib/{components/chat/types → types}/execution.d.ts +10 -1
  360. package/lib/{components/chat/types/extension.d.ts → types/extensions.d.ts} +3 -3
  361. package/lib/types/guardrails.d.ts +106 -0
  362. package/lib/types/guardrails.js +5 -0
  363. package/lib/types/index.d.ts +36 -2
  364. package/lib/types/index.js +35 -2
  365. package/lib/{components/chat/types → types}/inference.d.ts +3 -3
  366. package/lib/types/inference.js +5 -0
  367. package/lib/types/mcp.d.ts +117 -0
  368. package/lib/types/mcp.js +27 -0
  369. package/lib/types/memory.d.ts +23 -0
  370. package/lib/types/memory.js +5 -0
  371. package/lib/{components/chat/types/message.d.ts → types/messages.d.ts} +20 -1
  372. package/lib/{components/chat/types → types}/middleware.d.ts +3 -3
  373. package/lib/types/models.d.ts +63 -0
  374. package/lib/types/models.js +5 -0
  375. package/lib/types/notifications.d.ts +85 -0
  376. package/lib/types/notifications.js +5 -0
  377. package/lib/types/outputs.d.ts +51 -0
  378. package/lib/types/outputs.js +5 -0
  379. package/lib/{components/chat/types → types}/protocol.d.ts +37 -99
  380. package/lib/types/protocol.js +5 -0
  381. package/lib/types/sandbox.d.ts +27 -0
  382. package/lib/types/sandbox.js +24 -0
  383. package/lib/types/skills.d.ts +74 -0
  384. package/lib/types/skills.js +5 -0
  385. package/lib/types/teams.d.ts +133 -0
  386. package/lib/types/teams.js +5 -0
  387. package/lib/types/tool-approvals.d.ts +39 -0
  388. package/lib/types/tool-approvals.js +5 -0
  389. package/lib/{components/chat/types/tool.d.ts → types/tools.d.ts} +61 -4
  390. package/lib/types/triggers.d.ts +48 -0
  391. package/lib/types/triggers.js +5 -0
  392. package/lib/types/usage.d.ts +36 -0
  393. package/lib/types/usage.js +5 -0
  394. package/lib/utils/index.d.ts +1 -0
  395. package/lib/utils/index.js +5 -0
  396. package/lib/utils/utils.d.ts +60 -0
  397. package/lib/utils/utils.js +205 -0
  398. package/package.json +13 -14
  399. package/scripts/codegen/__pycache__/versioning.cpython-313.pyc +0 -0
  400. package/scripts/codegen/generate_agents.py +377 -61
  401. package/scripts/codegen/generate_envvars.py +36 -35
  402. package/scripts/codegen/generate_evals.py +279 -0
  403. package/scripts/codegen/generate_events.py +320 -0
  404. package/scripts/codegen/generate_frontend_tools.py +266 -0
  405. package/scripts/codegen/generate_guardrails.py +475 -0
  406. package/scripts/codegen/generate_mcp_servers.py +36 -9
  407. package/scripts/codegen/generate_memory.py +468 -0
  408. package/scripts/codegen/generate_models.py +22 -46
  409. package/scripts/codegen/generate_notifications.py +309 -0
  410. package/scripts/codegen/generate_outputs.py +267 -0
  411. package/scripts/codegen/generate_skills.py +108 -51
  412. package/scripts/codegen/generate_teams.py +922 -0
  413. package/scripts/codegen/generate_tools.py +346 -0
  414. package/scripts/codegen/generate_triggers.py +295 -0
  415. package/scripts/codegen/versioning.py +53 -0
  416. package/style/primer-primitives.css +1 -6
  417. package/lib/components/chat/components/base/ChatBase.js +0 -2242
  418. package/lib/components/chat/components/base/InputPrompt.d.ts +0 -42
  419. package/lib/components/chat/components/base/InputPrompt.js +0 -131
  420. package/lib/components/chat/components/display/index.d.ts +0 -6
  421. package/lib/components/chat/components/index.d.ts +0 -26
  422. package/lib/components/chat/components/index.js +0 -39
  423. package/lib/components/chat/extensions/A2UIExtension.d.ts +0 -87
  424. package/lib/components/chat/extensions/A2UIExtension.js +0 -312
  425. package/lib/components/chat/extensions/index.d.ts +0 -10
  426. package/lib/components/chat/index.d.ts +0 -61
  427. package/lib/components/chat/index.js +0 -76
  428. package/lib/components/chat/protocols/VercelAIAdapter.js +0 -315
  429. package/lib/components/chat/tools/index.d.ts +0 -8
  430. package/lib/components/chat/tools/index.js +0 -11
  431. package/lib/components/chat/types/index.d.ts +0 -12
  432. package/lib/components/chat/types/index.js +0 -17
  433. package/lib/components/sparklines/Sparklines.d.ts +0 -16
  434. package/lib/components/sparklines/Sparklines.js +0 -65
  435. package/lib/components/sparklines/SparklinesLine.d.ts +0 -8
  436. package/lib/components/sparklines/SparklinesLine.js +0 -37
  437. package/lib/components/sparklines/dataProcessing.d.ts +0 -25
  438. package/lib/components/sparklines/dataProcessing.js +0 -35
  439. package/lib/components/sparklines/index.d.ts +0 -4
  440. package/lib/components/sparklines/index.js +0 -7
  441. package/lib/components/sparklines/types.d.ts +0 -36
  442. package/lib/examples/stores/examplesStore.d.ts +0 -5
  443. package/lib/examples/stores/notebooks/Empty.ipynb.json +0 -33
  444. package/lib/examples/stores/notebooks/NotebookExample2.ipynb.json +0 -48
  445. package/lib/examples/stores/themeStore.d.ts +0 -33
  446. package/lib/examples/stores/themeStore.js +0 -38
  447. package/lib/hooks/useAgentRuntimes.d.ts +0 -350
  448. package/lib/hooks/useAgentRuntimes.js +0 -78
  449. package/lib/hooks/useKeyboardShortcuts.d.ts +0 -47
  450. package/lib/hooks/useKeyboardShortcuts.js +0 -153
  451. package/lib/hooks/useMobile.d.ts +0 -1
  452. package/lib/hooks/useMobile.js +0 -19
  453. package/lib/hooks/useNotebookAIAgent.d.ts +0 -8
  454. package/lib/hooks/useNotebookAIAgent.js +0 -73
  455. package/lib/renderers/a2ui/components/A2UIRenderer.d.ts +0 -7
  456. package/lib/renderers/a2ui/components/A2UIRenderer.js +0 -102
  457. package/lib/renderers/a2ui/components/SurfaceRenderer.d.ts +0 -7
  458. package/lib/renderers/a2ui/components/SurfaceRenderer.js +0 -101
  459. package/lib/renderers/a2ui/components/content/AudioPlayer.d.ts +0 -9
  460. package/lib/renderers/a2ui/components/content/AudioPlayer.js +0 -38
  461. package/lib/renderers/a2ui/components/content/Divider.d.ts +0 -9
  462. package/lib/renderers/a2ui/components/content/Divider.js +0 -35
  463. package/lib/renderers/a2ui/components/content/Icon.d.ts +0 -9
  464. package/lib/renderers/a2ui/components/content/Icon.js +0 -110
  465. package/lib/renderers/a2ui/components/content/Image.d.ts +0 -9
  466. package/lib/renderers/a2ui/components/content/Image.js +0 -61
  467. package/lib/renderers/a2ui/components/content/Text.d.ts +0 -9
  468. package/lib/renderers/a2ui/components/content/Text.js +0 -64
  469. package/lib/renderers/a2ui/components/content/Video.d.ts +0 -9
  470. package/lib/renderers/a2ui/components/content/Video.js +0 -37
  471. package/lib/renderers/a2ui/components/content/index.d.ts +0 -6
  472. package/lib/renderers/a2ui/components/content/index.js +0 -25
  473. package/lib/renderers/a2ui/components/index.d.ts +0 -5
  474. package/lib/renderers/a2ui/components/index.js +0 -24
  475. package/lib/renderers/a2ui/components/interactive/Button.d.ts +0 -11
  476. package/lib/renderers/a2ui/components/interactive/Button.js +0 -71
  477. package/lib/renderers/a2ui/components/interactive/CheckBox.d.ts +0 -9
  478. package/lib/renderers/a2ui/components/interactive/CheckBox.js +0 -48
  479. package/lib/renderers/a2ui/components/interactive/DateTimeInput.d.ts +0 -9
  480. package/lib/renderers/a2ui/components/interactive/DateTimeInput.js +0 -62
  481. package/lib/renderers/a2ui/components/interactive/MultipleChoice.d.ts +0 -9
  482. package/lib/renderers/a2ui/components/interactive/MultipleChoice.js +0 -73
  483. package/lib/renderers/a2ui/components/interactive/Slider.d.ts +0 -9
  484. package/lib/renderers/a2ui/components/interactive/Slider.js +0 -53
  485. package/lib/renderers/a2ui/components/interactive/TextField.d.ts +0 -9
  486. package/lib/renderers/a2ui/components/interactive/TextField.js +0 -72
  487. package/lib/renderers/a2ui/components/interactive/index.d.ts +0 -6
  488. package/lib/renderers/a2ui/components/interactive/index.js +0 -25
  489. package/lib/renderers/a2ui/components/layout/Card.d.ts +0 -11
  490. package/lib/renderers/a2ui/components/layout/Card.js +0 -30
  491. package/lib/renderers/a2ui/components/layout/Column.d.ts +0 -11
  492. package/lib/renderers/a2ui/components/layout/Column.js +0 -65
  493. package/lib/renderers/a2ui/components/layout/List.d.ts +0 -11
  494. package/lib/renderers/a2ui/components/layout/List.js +0 -55
  495. package/lib/renderers/a2ui/components/layout/Modal.d.ts +0 -11
  496. package/lib/renderers/a2ui/components/layout/Modal.js +0 -58
  497. package/lib/renderers/a2ui/components/layout/Row.d.ts +0 -11
  498. package/lib/renderers/a2ui/components/layout/Row.js +0 -65
  499. package/lib/renderers/a2ui/components/layout/Tabs.d.ts +0 -11
  500. package/lib/renderers/a2ui/components/layout/Tabs.js +0 -48
  501. package/lib/renderers/a2ui/components/layout/index.d.ts +0 -6
  502. package/lib/renderers/a2ui/components/layout/index.js +0 -25
  503. package/lib/renderers/a2ui/context/A2UIContext.d.ts +0 -17
  504. package/lib/renderers/a2ui/context/A2UIContext.js +0 -54
  505. package/lib/renderers/a2ui/context/ThemeContext.d.ts +0 -20
  506. package/lib/renderers/a2ui/context/ThemeContext.js +0 -333
  507. package/lib/renderers/a2ui/hooks/useA2UI.d.ts +0 -36
  508. package/lib/renderers/a2ui/hooks/useA2UI.js +0 -62
  509. package/lib/renderers/a2ui/hooks/useDataBinding.d.ts +0 -8
  510. package/lib/renderers/a2ui/hooks/useDataBinding.js +0 -83
  511. package/lib/renderers/a2ui/index.d.ts +0 -9
  512. package/lib/renderers/a2ui/index.js +0 -28
  513. package/lib/renderers/a2ui/lib/utils.d.ts +0 -11
  514. package/lib/renderers/a2ui/lib/utils.js +0 -38
  515. package/lib/renderers/a2ui/types/index.d.ts +0 -17
  516. package/lib/runtime/index.d.ts +0 -38
  517. package/lib/runtime/index.js +0 -40
  518. package/lib/runtime/runtimeStore.d.ts +0 -76
  519. package/lib/runtime/runtimeStore.js +0 -184
  520. package/lib/runtime/types.d.ts +0 -84
  521. package/lib/runtime/useAgentConnection.d.ts +0 -45
  522. package/lib/runtime/useAgentConnection.js +0 -112
  523. package/lib/runtime/useAgentRuntime.d.ts +0 -93
  524. package/lib/runtime/useAgentRuntime.js +0 -125
  525. package/lib/specs/agents/codeai/agents.d.ts +0 -28
  526. package/lib/specs/agents/codeai/agents.js +0 -179
  527. package/lib/specs/agents/codeai/index.d.ts +0 -1
  528. package/lib/specs/agents/codemode-paper/agents.d.ts +0 -31
  529. package/lib/specs/agents/codemode-paper/agents.js +0 -378
  530. package/lib/specs/agents/codemode-paper/index.d.ts +0 -1
  531. package/lib/specs/agents/codemode-paper/index.js +0 -5
  532. package/lib/specs/agents/datalayer-ai/agents.d.ts +0 -31
  533. package/lib/specs/agents/datalayer-ai/agents.js +0 -352
  534. package/lib/specs/agents/datalayer-ai/index.d.ts +0 -1
  535. package/lib/specs/agents/datalayer-ai/index.js +0 -5
  536. package/lib/specs/agents/mocks/agents.d.ts +0 -43
  537. package/lib/specs/agents/mocks/agents.js +0 -2293
  538. package/lib/specs/agents/mocks/index.d.ts +0 -1
  539. package/lib/specs/agents/mocks/index.js +0 -5
  540. package/lib/state/index.d.ts +0 -1
  541. package/lib/state/index.js +0 -5
  542. package/lib/state/substates/AIAgentState.d.ts +0 -80
  543. package/lib/state/substates/AIAgentState.js +0 -108
  544. package/lib/state/substates/index.d.ts +0 -1
  545. package/lib/state/substates/index.js +0 -5
  546. package/lib/types/AIAgent.d.ts +0 -17
  547. package/lib/types/Types.d.ts +0 -217
  548. /package/lib/{components/chat → api}/handler.d.ts +0 -0
  549. /package/lib/{renderers/index.d.ts → api/utils.d.ts} +0 -0
  550. /package/lib/{renderers/index.js → api/utils.js} +0 -0
  551. /package/lib/{components/chat/components/elements → chat/display}/PoweredByTag.js +0 -0
  552. /package/lib/{components/chat/components → chat}/parts/DynamicToolPart.js +0 -0
  553. /package/lib/{components/chat/components → chat}/parts/ReasoningPart.d.ts +0 -0
  554. /package/lib/{components/chat/components → chat}/parts/TextPart.js +0 -0
  555. /package/lib/{components/chat/components → chat}/parts/ToolPart.d.ts +0 -0
  556. /package/lib/{components/chat/components → chat}/styles/streamdownStyles.js +0 -0
  557. /package/lib/{components/chat/components/elements → chat/tools}/ToolApprovalDialog.d.ts +0 -0
  558. /package/lib/{components/chat/components → context}/ContextDistribution.d.ts +0 -0
  559. /package/lib/{components/chat/components → context}/ContextDistribution.js +0 -0
  560. /package/lib/{components/chat/components → context}/ContextInspector.d.ts +0 -0
  561. /package/lib/{components/chat/components → context}/ContextPanel.d.ts +0 -0
  562. /package/lib/{components/chat/components → context}/ContextUsage.d.ts +0 -0
  563. /package/lib/{components/chat/components → context}/ContextUsage.js +0 -0
  564. /package/lib/examples/{JupyterCellExample.d.ts → CellSimpleExample.d.ts} +0 -0
  565. /package/lib/examples/{AgentRuntimeCustomExample.d.ts → ChatCustomExample.d.ts} +0 -0
  566. /package/lib/examples/{AgentRuntimeChatExample.d.ts → ChatExample.d.ts} +0 -0
  567. /package/lib/examples/{AgentRuntimeStandaloneExample.d.ts → ChatStandaloneExample.d.ts} +0 -0
  568. /package/lib/examples/{AgentRuntimeNotebookExample.d.ts → NotebookExample.d.ts} +0 -0
  569. /package/lib/examples/{AgentRuntimeNotebookSidebarExample.d.ts → NotebookSidebarExample.d.ts} +0 -0
  570. /package/lib/examples/{JupyterNotebookExample.d.ts → NotebookSimpleExample.d.ts} +0 -0
  571. /package/lib/examples/{stores → utils}/agents/earthquake-detector.ipynb.json +0 -0
  572. /package/lib/examples/{stores → utils}/agents/earthquake-detector.json +0 -0
  573. /package/lib/examples/{stores → utils}/agents/earthquake-detector.lexical.json +0 -0
  574. /package/lib/examples/{stores → utils}/agents/sales-forecaster.ipynb.json +0 -0
  575. /package/lib/examples/{stores → utils}/agents/sales-forecaster.json +0 -0
  576. /package/lib/examples/{stores → utils}/agents/sales-forecaster.lexical.json +0 -0
  577. /package/lib/examples/{stores → utils}/agents/social-post-generator.ipynb.json +0 -0
  578. /package/lib/examples/{stores → utils}/agents/social-post-generator.json +0 -0
  579. /package/lib/examples/{stores → utils}/agents/social-post-generator.lexical.json +0 -0
  580. /package/lib/examples/{stores → utils}/agents/stock-market.ipynb.json +0 -0
  581. /package/lib/examples/{stores → utils}/agents/stock-market.json +0 -0
  582. /package/lib/examples/{stores → utils}/agents/stock-market.lexical.json +0 -0
  583. /package/lib/examples/{stores → utils}/notebooks/IPyWidgetsExample.ipynb.json +0 -0
  584. /package/lib/examples/{stores → utils}/notebooks/IPyWidgetsExampleWithState.ipynb.json +0 -0
  585. /package/lib/examples/{stores → utils}/notebooks/Lite.ipynb.json +0 -0
  586. /package/lib/examples/{stores → utils}/notebooks/Matplotlib.ipynb.json +0 -0
  587. /package/lib/examples/{stores → utils}/notebooks/NotebookExample1.ipynb.json +0 -0
  588. /package/lib/examples/{stores → utils}/notebooks/NotebookOutputs.ipynb.json +0 -0
  589. /package/lib/examples/{stores → utils}/notebooks/NotebookToCExample.ipynb.json +0 -0
  590. /package/lib/examples/{stores → utils}/notebooks/OutputIPyWidgetsExample.d.ts +0 -0
  591. /package/lib/examples/{stores → utils}/notebooks/OutputIPyWidgetsExample.js +0 -0
  592. /package/lib/examples/{stores → utils}/notebooks/PyGWalker.ipynb.json +0 -0
  593. /package/lib/examples/{stores → utils}/themedProvider.d.ts +0 -0
  594. /package/lib/examples/{stores → utils}/themedProvider.js +0 -0
  595. /package/lib/{components/chat/inference → inference}/BaseInferenceProvider.js +0 -0
  596. /package/lib/{components → mcp}/McpServerManager.js +0 -0
  597. /package/lib/{components/chat/middleware → middleware}/MiddlewarePipeline.js +0 -0
  598. /package/lib/{components/chat/types/inference.js → types/a2a.js} +0 -0
  599. /package/lib/{components/chat/types/protocol.js → types/acp.js} +0 -0
  600. /package/lib/{components/sparklines/types.js → types/ag-ui.js} +0 -0
  601. /package/lib/{renderers/a2ui/types/index.js → types/agents-lifecycle.js} +0 -0
  602. /package/lib/types/{AIAgent.js → agentspecs.js} +0 -0
  603. /package/lib/types/{Types.js → chat.js} +0 -0
  604. /package/lib/{components/chat/types → types}/execution.js +0 -0
  605. /package/lib/{components/chat/types/extension.js → types/extensions.js} +0 -0
  606. /package/lib/{components/chat/types/message.js → types/messages.js} +0 -0
  607. /package/lib/{components/chat/types → types}/middleware.js +0 -0
  608. /package/lib/{components/chat/types/tool.js → types/tools.js} +0 -0
@@ -1,47 +0,0 @@
1
- /**
2
- * Keyboard shortcut configuration
3
- */
4
- export interface KeyboardShortcut {
5
- /** Key to press (e.g., 'k', 'Escape') */
6
- key: string;
7
- /** Whether Ctrl (or Cmd on Mac) is required */
8
- ctrlOrCmd?: boolean;
9
- /** Whether Shift is required */
10
- shift?: boolean;
11
- /** Whether Alt is required */
12
- alt?: boolean;
13
- /** Callback when shortcut is triggered */
14
- handler: () => void;
15
- /** Description for accessibility */
16
- description?: string;
17
- /** Whether shortcut works in input fields */
18
- allowInInput?: boolean;
19
- }
20
- /**
21
- * Hook options
22
- */
23
- export interface UseKeyboardShortcutsOptions {
24
- /** Whether shortcuts are enabled */
25
- enabled?: boolean;
26
- /** Shortcuts to register */
27
- shortcuts: KeyboardShortcut[];
28
- }
29
- /**
30
- * Hook to handle keyboard shortcuts
31
- */
32
- export declare function useKeyboardShortcuts({ enabled, shortcuts, }: UseKeyboardShortcutsOptions): void;
33
- /**
34
- * Default chat shortcuts
35
- */
36
- export declare function useChatKeyboardShortcuts({ onToggle, onNewChat, onClear, onFocusInput, enabled, }: {
37
- onToggle?: () => void;
38
- onNewChat?: () => void;
39
- onClear?: () => void;
40
- onFocusInput?: () => void;
41
- enabled?: boolean;
42
- }): void;
43
- /**
44
- * Get shortcut display string
45
- */
46
- export declare function getShortcutDisplay(shortcut: KeyboardShortcut): string;
47
- export default useKeyboardShortcuts;
@@ -1,153 +0,0 @@
1
- /*
2
- * Copyright (c) 2025-2026 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- /**
6
- * Keyboard shortcuts hook for Chat.
7
- * Provides keyboard shortcut handling for the chat interface.
8
- *
9
- * @module components/chat/hooks/useKeyboardShortcuts
10
- */
11
- import { useEffect, useCallback } from 'react';
12
- /**
13
- * Platform detection - check if running on macOS
14
- */
15
- function isMacOS() {
16
- if (typeof navigator === 'undefined')
17
- return false;
18
- return /Mac|iPod|iPhone|iPad/.test(navigator.platform);
19
- }
20
- /**
21
- * Hook to handle keyboard shortcuts
22
- */
23
- export function useKeyboardShortcuts({ enabled = true, shortcuts, }) {
24
- const handleKeyDown = useCallback((event) => {
25
- if (!enabled)
26
- return;
27
- const target = event.target;
28
- const isInInput = target.tagName === 'INPUT' ||
29
- target.tagName === 'SELECT' ||
30
- target.tagName === 'TEXTAREA' ||
31
- target.isContentEditable;
32
- for (const shortcut of shortcuts) {
33
- // Skip if in input and not allowed
34
- if (isInInput && !shortcut.allowInInput) {
35
- // Exception: always allow Escape
36
- if (shortcut.key !== 'Escape') {
37
- continue;
38
- }
39
- }
40
- // Check key match
41
- if (event.key.toLowerCase() !== shortcut.key.toLowerCase()) {
42
- continue;
43
- }
44
- // Check modifiers
45
- const ctrlOrCmdPressed = isMacOS() ? event.metaKey : event.ctrlKey;
46
- if (shortcut.ctrlOrCmd && !ctrlOrCmdPressed) {
47
- continue;
48
- }
49
- if (!shortcut.ctrlOrCmd &&
50
- ctrlOrCmdPressed &&
51
- shortcut.key !== 'Escape') {
52
- continue;
53
- }
54
- if (shortcut.shift && !event.shiftKey) {
55
- continue;
56
- }
57
- if (shortcut.alt && !event.altKey) {
58
- continue;
59
- }
60
- // Prevent default and execute handler
61
- event.preventDefault();
62
- event.stopPropagation();
63
- shortcut.handler();
64
- break;
65
- }
66
- }, [enabled, shortcuts]);
67
- useEffect(() => {
68
- if (!enabled)
69
- return;
70
- document.addEventListener('keydown', handleKeyDown);
71
- return () => {
72
- document.removeEventListener('keydown', handleKeyDown);
73
- };
74
- }, [enabled, handleKeyDown]);
75
- }
76
- /**
77
- * Default chat shortcuts
78
- */
79
- export function useChatKeyboardShortcuts({ onToggle, onNewChat, onClear, onFocusInput, enabled = true, }) {
80
- const shortcuts = [];
81
- // Toggle chat: Ctrl/Cmd + K
82
- if (onToggle) {
83
- shortcuts.push({
84
- key: 'k',
85
- ctrlOrCmd: true,
86
- handler: onToggle,
87
- description: 'Toggle chat sidebar',
88
- });
89
- }
90
- // New chat: Ctrl/Cmd + Shift + N
91
- if (onNewChat) {
92
- shortcuts.push({
93
- key: 'n',
94
- ctrlOrCmd: true,
95
- shift: true,
96
- handler: onNewChat,
97
- description: 'Start new chat',
98
- });
99
- }
100
- // Clear: Ctrl/Cmd + Shift + Delete
101
- if (onClear) {
102
- shortcuts.push({
103
- key: 'Backspace',
104
- ctrlOrCmd: true,
105
- shift: true,
106
- handler: onClear,
107
- description: 'Clear chat messages',
108
- });
109
- }
110
- // Focus input: /
111
- if (onFocusInput) {
112
- shortcuts.push({
113
- key: '/',
114
- handler: onFocusInput,
115
- description: 'Focus chat input',
116
- });
117
- }
118
- // Close on Escape
119
- if (onToggle) {
120
- shortcuts.push({
121
- key: 'Escape',
122
- handler: onToggle,
123
- description: 'Close chat sidebar',
124
- allowInInput: true,
125
- });
126
- }
127
- useKeyboardShortcuts({ enabled, shortcuts });
128
- }
129
- /**
130
- * Get shortcut display string
131
- */
132
- export function getShortcutDisplay(shortcut) {
133
- const parts = [];
134
- const isMac = isMacOS();
135
- if (shortcut.ctrlOrCmd) {
136
- parts.push(isMac ? '⌘' : 'Ctrl');
137
- }
138
- if (shortcut.shift) {
139
- parts.push(isMac ? '⇧' : 'Shift');
140
- }
141
- if (shortcut.alt) {
142
- parts.push(isMac ? '⌥' : 'Alt');
143
- }
144
- // Format key name
145
- let keyDisplay = shortcut.key.toUpperCase();
146
- if (shortcut.key === 'Escape')
147
- keyDisplay = 'Esc';
148
- if (shortcut.key === 'Backspace')
149
- keyDisplay = isMac ? '⌫' : 'Del';
150
- parts.push(keyDisplay);
151
- return parts.join(isMac ? '' : '+');
152
- }
153
- export default useKeyboardShortcuts;
@@ -1 +0,0 @@
1
- export declare function useIsMobile(): boolean;
@@ -1,19 +0,0 @@
1
- /*
2
- * Copyright (c) 2025-2026 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- import * as React from 'react';
6
- const MOBILE_BREAKPOINT = 768;
7
- export function useIsMobile() {
8
- const [isMobile, setIsMobile] = React.useState(undefined);
9
- React.useEffect(() => {
10
- const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
11
- const onChange = () => {
12
- setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
13
- };
14
- mql.addEventListener('change', onChange);
15
- setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
16
- return () => mql.removeEventListener('change', onChange);
17
- }, []);
18
- return !!isMobile;
19
- }
@@ -1,8 +0,0 @@
1
- import type { Agent } from '../state';
2
- /**
3
- * Get the document AI Agent if any.
4
- *
5
- * It handles checking the AI Agent is alive so it should only be use once per document.
6
- */
7
- export declare function useNotebookAIAgent(notebookId: string): Agent | undefined;
8
- export default useNotebookAIAgent;
@@ -1,73 +0,0 @@
1
- /*
2
- * Copyright (c) 2025-2026 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- import { useEffect } from 'react';
6
- import { useAgentStore } from '../state';
7
- import { useAIAgents } from './useAgents';
8
- /**
9
- * Get the document AI Agent if any.
10
- *
11
- * It handles checking the AI Agent is alive so it should only be use once per document.
12
- */
13
- export function useNotebookAIAgent(notebookId) {
14
- const { getAIAgent } = useAIAgents();
15
- const agents = useAgentStore(state => state.agents);
16
- const upsertAgent = useAgentStore(state => state.upsertAgent);
17
- const deleteAgent = useAgentStore(state => state.deleteAgent);
18
- const getAgentById = useAgentStore(state => state.getAgentById);
19
- // Check AI Agent is alive.
20
- useEffect(() => {
21
- let abortController;
22
- const refreshAIAgent = async () => {
23
- abortController = new AbortController();
24
- try {
25
- const response = await getAIAgent(notebookId, {
26
- signal: abortController.signal,
27
- });
28
- if (!response.success) {
29
- deleteAgent(notebookId);
30
- return;
31
- }
32
- const currentAgent = getAgentById(notebookId);
33
- const runtimeId = response.agent.runtime?.id;
34
- if (currentAgent) {
35
- // Update existing agent if runtime changed
36
- if (currentAgent.runtimeId !== runtimeId) {
37
- upsertAgent({
38
- id: notebookId,
39
- baseUrl: currentAgent.baseUrl,
40
- transport: currentAgent.transport,
41
- runtimeId,
42
- status: 'running',
43
- });
44
- }
45
- }
46
- else {
47
- // Add new agent - assume it's a notebook agent with document tracking
48
- upsertAgent({
49
- id: notebookId,
50
- name: `Notebook ${notebookId}`,
51
- description: 'AI agent for notebook',
52
- baseUrl: '', // Will be set by the actual agent implementation
53
- transport: 'vercel-ai', // Default transport for notebook agents
54
- documentId: notebookId,
55
- runtimeId,
56
- status: 'running',
57
- });
58
- }
59
- }
60
- catch (r) {
61
- deleteAgent(notebookId);
62
- }
63
- };
64
- const refreshInterval = setInterval(refreshAIAgent, 60_000);
65
- return () => {
66
- abortController?.abort('Component unmounted');
67
- clearInterval(refreshInterval);
68
- };
69
- }, [agents, notebookId, getAIAgent, deleteAgent, getAgentById, upsertAgent]);
70
- const aiAgent = getAgentById(notebookId);
71
- return aiAgent;
72
- }
73
- export default useNotebookAIAgent;
@@ -1,7 +0,0 @@
1
- import { type ReactNode } from 'react';
2
- export interface A2UIRendererProps {
3
- surfaceId: string;
4
- className?: string;
5
- fallback?: ReactNode;
6
- }
7
- export declare function A2UIRenderer({ surfaceId, className, fallback, }: A2UIRendererProps): import("react/jsx-runtime").JSX.Element;
@@ -1,102 +0,0 @@
1
- import { Fragment as _Fragment, 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
- /*
7
- Copyright 2025 Google LLC
8
-
9
- Licensed under the Apache License, Version 2.0 (the "License");
10
- you may not use this file except in compliance with the License.
11
- You may obtain a copy of the License at
12
-
13
- https://www.apache.org/licenses/LICENSE-2.0
14
-
15
- Unless required by applicable law or agreed to in writing, software
16
- distributed under the License is distributed on an "AS IS" BASIS,
17
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
- See the License for the specific language governing permissions and
19
- limitations under the License.
20
- */
21
- import { useMemo } from 'react';
22
- import { useA2UI } from '../hooks/useA2UI.js';
23
- import { cn } from '../lib/utils.js';
24
- import { Text, Image, Icon, Video, AudioPlayer, Divider, } from './content/index.js';
25
- import { Row, Column, List, Card, Tabs, Modal } from './layout/index.js';
26
- import { Button, CheckBox, TextField, DateTimeInput, MultipleChoice, Slider, } from './interactive/index.js';
27
- export function A2UIRenderer({ surfaceId, className, fallback = null, }) {
28
- const { getSurface } = useA2UI();
29
- const surface = getSurface(surfaceId);
30
- const componentTree = surface?.componentTree;
31
- if (!componentTree) {
32
- return _jsx(_Fragment, { children: fallback });
33
- }
34
- return (_jsx("div", { className: cn('a2ui-surface', className), children: _jsx(ComponentRenderer, { node: componentTree, surfaceId: surfaceId }) }));
35
- }
36
- function ComponentRenderer({ node, surfaceId }) {
37
- const renderChild = useMemo(() => (childNode) => (_jsx(ComponentRenderer, { node: childNode, surfaceId: surfaceId }, childNode.id)), [surfaceId]);
38
- const children = useMemo(() => {
39
- const props = node.properties;
40
- if (props.children && Array.isArray(props.children)) {
41
- return props.children.map(child => child ? (_jsx(ComponentWrapper, { node: child, children: _jsx(ComponentRenderer, { node: child, surfaceId: surfaceId }) }, child.id)) : null);
42
- }
43
- if (props.child) {
44
- return (_jsx(ComponentWrapper, { node: props.child, children: _jsx(ComponentRenderer, { node: props.child, surfaceId: surfaceId }) }, props.child.id));
45
- }
46
- return null;
47
- }, [node.properties, surfaceId]);
48
- switch (node.type) {
49
- case 'Text':
50
- return (_jsx(Text, { node: node, surfaceId: surfaceId }));
51
- case 'Image':
52
- return (_jsx(Image, { node: node, surfaceId: surfaceId }));
53
- case 'Icon':
54
- return (_jsx(Icon, { node: node, surfaceId: surfaceId }));
55
- case 'Video':
56
- return (_jsx(Video, { node: node, surfaceId: surfaceId }));
57
- case 'AudioPlayer':
58
- return (_jsx(AudioPlayer, { node: node, surfaceId: surfaceId }));
59
- case 'Divider':
60
- return (_jsx(Divider, { node: node, surfaceId: surfaceId }));
61
- case 'Row':
62
- return (_jsx(Row, { node: node, surfaceId: surfaceId, children: children }));
63
- case 'Column':
64
- return (_jsx(Column, { node: node, surfaceId: surfaceId, children: children }));
65
- case 'List':
66
- return (_jsx(List, { node: node, surfaceId: surfaceId, children: children }));
67
- case 'Card':
68
- return (_jsx(Card, { node: node, surfaceId: surfaceId, children: children }));
69
- case 'Tabs':
70
- return (_jsx(Tabs, { node: node, surfaceId: surfaceId, renderChild: renderChild }));
71
- case 'Modal':
72
- return (_jsx(Modal, { node: node, surfaceId: surfaceId, renderChild: renderChild }));
73
- case 'Button':
74
- return (_jsx(Button, { node: node, surfaceId: surfaceId, children: children }));
75
- case 'CheckBox':
76
- return (_jsx(CheckBox, { node: node, surfaceId: surfaceId }));
77
- case 'TextField':
78
- return (_jsx(TextField, { node: node, surfaceId: surfaceId }));
79
- case 'DateTimeInput':
80
- return (_jsx(DateTimeInput, { node: node, surfaceId: surfaceId }));
81
- case 'MultipleChoice':
82
- return (_jsx(MultipleChoice, { node: node, surfaceId: surfaceId }));
83
- case 'Slider':
84
- return (_jsx(Slider, { node: node, surfaceId: surfaceId }));
85
- default:
86
- console.warn(`Unknown component type: ${node.type}`);
87
- return null;
88
- }
89
- }
90
- function ComponentWrapper({ node, children, }) {
91
- const style = useMemo(() => {
92
- const weight = node.weight;
93
- if (typeof weight !== 'number') {
94
- return undefined;
95
- }
96
- return { flex: weight };
97
- }, [node.weight]);
98
- if (!style) {
99
- return _jsx(_Fragment, { children: children });
100
- }
101
- return _jsx("div", { style: style, children: children });
102
- }
@@ -1,7 +0,0 @@
1
- import { Types } from '@a2ui/lit/0.8';
2
- export interface SurfaceRendererProps {
3
- surfaceId: string;
4
- surface: Types.Surface;
5
- className?: string;
6
- }
7
- export declare function SurfaceRenderer({ surfaceId, surface, className, }: SurfaceRendererProps): import("react/jsx-runtime").JSX.Element | null;
@@ -1,101 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
- /*
3
- * Copyright (c) 2025-2026 Datalayer, Inc.
4
- * Distributed under the terms of the Modified BSD License.
5
- */
6
- /*
7
- Copyright 2025 Google LLC
8
-
9
- Licensed under the Apache License, Version 2.0 (the "License");
10
- you may not use this file except in compliance with the License.
11
- You may obtain a copy of the License at
12
-
13
- https://www.apache.org/licenses/LICENSE-2.0
14
-
15
- Unless required by applicable law or agreed to in writing, software
16
- distributed under the License is distributed on an "AS IS" BASIS,
17
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
- See the License for the specific language governing permissions and
19
- limitations under the License.
20
- */
21
- import { useMemo } from 'react';
22
- import { cn } from '../lib/utils.js';
23
- import { Text, Image, Icon, Video, AudioPlayer, Divider, } from './content/index.js';
24
- import { Row, Column, List, Card, Tabs, Modal } from './layout/index.js';
25
- import { Button, CheckBox, TextField, DateTimeInput, MultipleChoice, Slider, } from './interactive/index.js';
26
- export function SurfaceRenderer({ surfaceId, surface, className, }) {
27
- const componentTree = surface?.componentTree;
28
- if (!componentTree) {
29
- return null;
30
- }
31
- return (_jsx("div", { className: cn('a2ui-surface', className), children: _jsx(ComponentRenderer, { node: componentTree, surfaceId: surfaceId }) }));
32
- }
33
- function ComponentRenderer({ node, surfaceId }) {
34
- const renderChild = useMemo(() => (childNode) => (_jsx(ComponentRenderer, { node: childNode, surfaceId: surfaceId }, childNode.id)), [surfaceId]);
35
- const children = useMemo(() => {
36
- const props = node.properties;
37
- if (props.children && Array.isArray(props.children)) {
38
- return props.children.map(child => child ? (_jsx(ComponentWrapper, { node: child, children: _jsx(ComponentRenderer, { node: child, surfaceId: surfaceId }) }, child.id)) : null);
39
- }
40
- if (props.child) {
41
- return (_jsx(ComponentWrapper, { node: props.child, children: _jsx(ComponentRenderer, { node: props.child, surfaceId: surfaceId }) }, props.child.id));
42
- }
43
- return null;
44
- }, [node.properties, surfaceId]);
45
- switch (node.type) {
46
- case 'Text':
47
- return (_jsx(Text, { node: node, surfaceId: surfaceId }));
48
- case 'Heading':
49
- return (_jsx(Text, { node: node, surfaceId: surfaceId }));
50
- case 'Image':
51
- return (_jsx(Image, { node: node, surfaceId: surfaceId }));
52
- case 'Icon':
53
- return (_jsx(Icon, { node: node, surfaceId: surfaceId }));
54
- case 'Video':
55
- return (_jsx(Video, { node: node, surfaceId: surfaceId }));
56
- case 'AudioPlayer':
57
- return (_jsx(AudioPlayer, { node: node, surfaceId: surfaceId }));
58
- case 'Divider':
59
- return (_jsx(Divider, { node: node, surfaceId: surfaceId }));
60
- case 'Row':
61
- return (_jsx(Row, { node: node, surfaceId: surfaceId, children: children }));
62
- case 'Column':
63
- return (_jsx(Column, { node: node, surfaceId: surfaceId, children: children }));
64
- case 'List':
65
- return (_jsx(List, { node: node, surfaceId: surfaceId, children: children }));
66
- case 'Card':
67
- return (_jsx(Card, { node: node, surfaceId: surfaceId, children: children }));
68
- case 'Tabs':
69
- return (_jsx(Tabs, { node: node, surfaceId: surfaceId, renderChild: renderChild }));
70
- case 'Modal':
71
- return (_jsx(Modal, { node: node, surfaceId: surfaceId, renderChild: renderChild }));
72
- case 'Button':
73
- return (_jsx(Button, { node: node, surfaceId: surfaceId, children: children }));
74
- case 'CheckBox':
75
- return (_jsx(CheckBox, { node: node, surfaceId: surfaceId }));
76
- case 'TextField':
77
- return (_jsx(TextField, { node: node, surfaceId: surfaceId }));
78
- case 'DateTimeInput':
79
- return (_jsx(DateTimeInput, { node: node, surfaceId: surfaceId }));
80
- case 'MultipleChoice':
81
- return (_jsx(MultipleChoice, { node: node, surfaceId: surfaceId }));
82
- case 'Slider':
83
- return (_jsx(Slider, { node: node, surfaceId: surfaceId }));
84
- default:
85
- console.warn(`Unknown component type: ${node.type}`);
86
- return null;
87
- }
88
- }
89
- function ComponentWrapper({ node, children, }) {
90
- const style = useMemo(() => {
91
- const weight = node.weight;
92
- if (typeof weight !== 'number') {
93
- return undefined;
94
- }
95
- return { flex: weight };
96
- }, [node.weight]);
97
- if (!style) {
98
- return _jsx(_Fragment, { children: children });
99
- }
100
- return _jsx("div", { style: style, children: children });
101
- }
@@ -1,9 +0,0 @@
1
- import { Types } from '@a2ui/lit/0.8';
2
- import type { A2UIComponentProps } from '../../types/index.js';
3
- interface AudioPlayerProps extends A2UIComponentProps {
4
- node: Types.AnyComponentNode & {
5
- type: 'AudioPlayer';
6
- };
7
- }
8
- export declare function AudioPlayer({ node, surfaceId }: AudioPlayerProps): import("react/jsx-runtime").JSX.Element | null;
9
- export {};
@@ -1,38 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /*
3
- * Copyright (c) 2025-2026 Datalayer, Inc.
4
- * Distributed under the terms of the Modified BSD License.
5
- */
6
- /*
7
- Copyright 2025 Google LLC
8
-
9
- Licensed under the Apache License, Version 2.0 (the "License");
10
- you may not use this file except in compliance with the License.
11
- You may obtain a copy of the License at
12
-
13
- https://www.apache.org/licenses/LICENSE-2.0
14
-
15
- Unless required by applicable law or agreed to in writing, software
16
- distributed under the License is distributed on an "AS IS" BASIS,
17
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
- See the License for the specific language governing permissions and
19
- limitations under the License.
20
- */
21
- import { useMemo } from 'react';
22
- import { useDataBinding } from '../../hooks/useDataBinding.js';
23
- import { useTheme } from '../../context/ThemeContext.js';
24
- import { cn, classMapToString } from '../../lib/utils.js';
25
- export function AudioPlayer({ node, surfaceId }) {
26
- const theme = useTheme();
27
- const { resolveString } = useDataBinding(node, surfaceId);
28
- const properties = node.properties;
29
- const url = resolveString(properties.url ?? null) ?? '';
30
- const description = resolveString(properties.description ?? null);
31
- const themeClasses = useMemo(() => {
32
- return classMapToString(theme.components.AudioPlayer);
33
- }, [theme]);
34
- if (!url) {
35
- return null;
36
- }
37
- return (_jsxs("div", { className: cn('flex flex-col gap-2', themeClasses), children: [description && (_jsx("p", { className: "text-sm text-muted-foreground", children: description })), _jsx("audio", { src: url, controls: true, className: "w-full", preload: "metadata" })] }));
38
- }
@@ -1,9 +0,0 @@
1
- import { Types } from '@a2ui/lit/0.8';
2
- import type { A2UIComponentProps } from '../../types/index.js';
3
- interface DividerProps extends A2UIComponentProps {
4
- node: Types.AnyComponentNode & {
5
- type: 'Divider';
6
- };
7
- }
8
- export declare function Divider({ node }: DividerProps): import("react/jsx-runtime").JSX.Element;
9
- export {};
@@ -1,35 +0,0 @@
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
- /*
7
- Copyright 2025 Google LLC
8
-
9
- Licensed under the Apache License, Version 2.0 (the "License");
10
- you may not use this file except in compliance with the License.
11
- You may obtain a copy of the License at
12
-
13
- https://www.apache.org/licenses/LICENSE-2.0
14
-
15
- Unless required by applicable law or agreed to in writing, software
16
- distributed under the License is distributed on an "AS IS" BASIS,
17
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
- See the License for the specific language governing permissions and
19
- limitations under the License.
20
- */
21
- import { useMemo } from 'react';
22
- import { useTheme } from '../../context/ThemeContext.js';
23
- import { cn, classMapToString } from '../../lib/utils.js';
24
- export function Divider({ node }) {
25
- const theme = useTheme();
26
- const properties = node.properties;
27
- const axis = properties.axis ?? 'horizontal';
28
- const themeClasses = useMemo(() => {
29
- return classMapToString(theme.components.Divider);
30
- }, [theme]);
31
- const orientationClasses = useMemo(() => {
32
- return axis === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]';
33
- }, [axis]);
34
- return (_jsx("div", { role: "separator", "aria-orientation": axis, className: cn(themeClasses, orientationClasses) }));
35
- }
@@ -1,9 +0,0 @@
1
- import { Types } from '@a2ui/lit/0.8';
2
- import type { A2UIComponentProps } from '../../types/index.js';
3
- interface IconProps extends A2UIComponentProps {
4
- node: Types.AnyComponentNode & {
5
- type: 'Icon';
6
- };
7
- }
8
- export declare function Icon({ node, surfaceId }: IconProps): import("react/jsx-runtime").JSX.Element;
9
- export {};