@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
@@ -0,0 +1,63 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Evaluation runs API functions.
7
+ *
8
+ * Provides functions for triggering, listing, and retrieving
9
+ * evaluation reports for agents.
10
+ *
11
+ * @module api/evals
12
+ */
13
+ import { requestDatalayerAPI } from '@datalayer/core/lib/api/DatalayerApi';
14
+ import { API_BASE_PATHS, DEFAULT_SERVICE_URLS, } from '@datalayer/core/lib/api/constants';
15
+ import { validateToken } from '@datalayer/core/lib/api/utils/validation';
16
+ /**
17
+ * Trigger an evaluation run for the specified agent.
18
+ * @param token - Authentication token
19
+ * @param agentId - Agent ID
20
+ * @param request - Eval run request body
21
+ * @param baseUrl - Base URL
22
+ * @returns Promise resolving to the eval report
23
+ */
24
+ export const runEvals = async (token, agentId, request, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
25
+ validateToken(token);
26
+ return requestDatalayerAPI({
27
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(agentId)}/evals/run`,
28
+ method: 'POST',
29
+ token,
30
+ body: request,
31
+ });
32
+ };
33
+ /**
34
+ * List past evaluation runs for an agent.
35
+ * @param token - Authentication token
36
+ * @param agentId - Agent ID
37
+ * @param baseUrl - Base URL
38
+ * @returns Promise resolving to list of eval reports
39
+ */
40
+ export const listEvals = async (token, agentId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
41
+ validateToken(token);
42
+ return requestDatalayerAPI({
43
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(agentId)}/evals`,
44
+ method: 'GET',
45
+ token,
46
+ });
47
+ };
48
+ /**
49
+ * Get a specific evaluation report.
50
+ * @param token - Authentication token
51
+ * @param agentId - Agent ID
52
+ * @param evalId - Eval run ID
53
+ * @param baseUrl - Base URL
54
+ * @returns Promise resolving to the eval report
55
+ */
56
+ export const getEval = async (token, agentId, evalId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
57
+ validateToken(token);
58
+ return requestDatalayerAPI({
59
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(agentId)}/evals/${encodeURIComponent(evalId)}`,
60
+ method: 'GET',
61
+ token,
62
+ });
63
+ };
@@ -0,0 +1,17 @@
1
+ import type { AgentEvent, CreateAgentEventRequest, GetAgentEventResponse, ListAgentEventsParams, ListAgentEventsResponse, UpdateAgentEventRequest } from '../types';
2
+ export declare const createEvent: (token: string, data: CreateAgentEventRequest, baseUrl?: string) => Promise<{
3
+ success: boolean;
4
+ event: AgentEvent;
5
+ }>;
6
+ export declare const listEvents: (token: string, agentId: string, params?: Omit<ListAgentEventsParams, "agent_id">, baseUrl?: string) => Promise<ListAgentEventsResponse>;
7
+ export declare const getEvent: (token: string, agentId: string, eventId: string, baseUrl?: string) => Promise<GetAgentEventResponse>;
8
+ export declare const updateEvent: (token: string, agentId: string, eventId: string, data: UpdateAgentEventRequest, baseUrl?: string) => Promise<GetAgentEventResponse>;
9
+ export declare const deleteEvent: (token: string, agentId: string, eventId: string, baseUrl?: string) => Promise<{
10
+ success: boolean;
11
+ }>;
12
+ export declare const markEventRead: (token: string, agentId: string, eventId: string, baseUrl?: string) => Promise<GetAgentEventResponse>;
13
+ export declare const markEventUnread: (token: string, agentId: string, eventId: string, baseUrl?: string) => Promise<GetAgentEventResponse>;
14
+ /**
15
+ * List events across all agents for the authenticated user.
16
+ */
17
+ export declare const listAllEvents: (token: string, params?: Omit<ListAgentEventsParams, "agent_id">, baseUrl?: string) => Promise<ListAgentEventsResponse>;
@@ -0,0 +1,93 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Agent events API functions.
7
+ *
8
+ * Provides CRUD operations for agent event records.
9
+ *
10
+ * @module api/events
11
+ */
12
+ import { requestDatalayerAPI } from '@datalayer/core/lib/api/DatalayerApi';
13
+ import { API_BASE_PATHS, DEFAULT_SERVICE_URLS, } from '@datalayer/core/lib/api/constants';
14
+ import { validateToken, validateRequiredString, } from '@datalayer/core/lib/api/utils/validation';
15
+ const toQueryString = (params) => {
16
+ const searchParams = new URLSearchParams();
17
+ Object.entries(params).forEach(([k, v]) => {
18
+ if (v !== undefined && v !== null && v !== '') {
19
+ searchParams.append(k, String(v));
20
+ }
21
+ });
22
+ const query = searchParams.toString();
23
+ return query ? `?${query}` : '';
24
+ };
25
+ const agentEventsPath = (agentId) => `${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(agentId)}/events`;
26
+ export const createEvent = async (token, data, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
27
+ validateToken(token);
28
+ validateRequiredString(data.agent_id, 'agent_id');
29
+ validateRequiredString(data.title, 'title');
30
+ return requestDatalayerAPI({
31
+ url: `${baseUrl}${agentEventsPath(data.agent_id)}`,
32
+ method: 'POST',
33
+ token,
34
+ body: data,
35
+ });
36
+ };
37
+ export const listEvents = async (token, agentId, params = {}, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
38
+ validateToken(token);
39
+ validateRequiredString(agentId, 'agentId');
40
+ return requestDatalayerAPI({
41
+ url: `${baseUrl}${agentEventsPath(agentId)}${toQueryString(params)}`,
42
+ method: 'GET',
43
+ token,
44
+ });
45
+ };
46
+ export const getEvent = async (token, agentId, eventId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
47
+ validateToken(token);
48
+ validateRequiredString(agentId, 'agentId');
49
+ validateRequiredString(eventId, 'eventId');
50
+ return requestDatalayerAPI({
51
+ url: `${baseUrl}${agentEventsPath(agentId)}/${encodeURIComponent(eventId)}`,
52
+ method: 'GET',
53
+ token,
54
+ });
55
+ };
56
+ export const updateEvent = async (token, agentId, eventId, data, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
57
+ validateToken(token);
58
+ validateRequiredString(agentId, 'agentId');
59
+ validateRequiredString(eventId, 'eventId');
60
+ return requestDatalayerAPI({
61
+ url: `${baseUrl}${agentEventsPath(agentId)}/${encodeURIComponent(eventId)}`,
62
+ method: 'PATCH',
63
+ token,
64
+ body: data,
65
+ });
66
+ };
67
+ export const deleteEvent = async (token, agentId, eventId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
68
+ validateToken(token);
69
+ validateRequiredString(agentId, 'agentId');
70
+ validateRequiredString(eventId, 'eventId');
71
+ return requestDatalayerAPI({
72
+ url: `${baseUrl}${agentEventsPath(agentId)}/${encodeURIComponent(eventId)}`,
73
+ method: 'DELETE',
74
+ token,
75
+ });
76
+ };
77
+ export const markEventRead = async (token, agentId, eventId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
78
+ return updateEvent(token, agentId, eventId, { read: true }, baseUrl);
79
+ };
80
+ export const markEventUnread = async (token, agentId, eventId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
81
+ return updateEvent(token, agentId, eventId, { read: false }, baseUrl);
82
+ };
83
+ /**
84
+ * List events across all agents for the authenticated user.
85
+ */
86
+ export const listAllEvents = async (token, params = {}, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
87
+ validateToken(token);
88
+ return requestDatalayerAPI({
89
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/events${toQueryString(params)}`,
90
+ method: 'GET',
91
+ token,
92
+ });
93
+ };
@@ -6,7 +6,7 @@
6
6
  * Simple API request handler.
7
7
  * Helper function to make API requests to the Simple server.
8
8
  *
9
- * @module components/chat/handler
9
+ * @module api/handler
10
10
  */
11
11
  import { URLExt } from '@jupyterlab/coreutils';
12
12
  import { ServerConnection } from '@jupyterlab/services';
@@ -0,0 +1,15 @@
1
+ /**
2
+ * API client functions for the agents backend.
3
+ *
4
+ * Provides functions to create, list, and manage agents
5
+ * via the agent-runtimes REST API.
6
+ *
7
+ * @module api
8
+ */
9
+ export * as agents from './agents';
10
+ export * as context from './context';
11
+ export * as evals from './evals';
12
+ export * as events from './events';
13
+ export * as notifications from './notifications';
14
+ export * as output from './output';
15
+ export * as toolApprovals from './tool-approvals';
@@ -0,0 +1,20 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * API client functions for the agents backend.
7
+ *
8
+ * Provides functions to create, list, and manage agents
9
+ * via the agent-runtimes REST API.
10
+ *
11
+ * @module api
12
+ */
13
+ // Agents Service API (agents, tool-approvals, notifications, etc.)
14
+ export * as agents from './agents';
15
+ export * as context from './context';
16
+ export * as evals from './evals';
17
+ export * as events from './events';
18
+ export * as notifications from './notifications';
19
+ export * as output from './output';
20
+ export * as toolApprovals from './tool-approvals';
@@ -0,0 +1,39 @@
1
+ import type { AgentNotification, NotificationFilters } from '../types';
2
+ /**
3
+ * List agent notifications with optional filters.
4
+ * @param token - Authentication token
5
+ * @param filters - Optional filters (agentId, level, unreadOnly, category, limit, offset)
6
+ * @param baseUrl - Base URL
7
+ * @returns Promise resolving to list of notifications
8
+ */
9
+ export declare const getNotifications: (token: string, filters?: NotificationFilters, baseUrl?: string) => Promise<AgentNotification[]>;
10
+ /**
11
+ * Get a specific notification by ID.
12
+ * @param token - Authentication token
13
+ * @param id - Notification ID
14
+ * @param baseUrl - Base URL
15
+ */
16
+ export declare const getNotification: (token: string, id: string, baseUrl?: string) => Promise<AgentNotification>;
17
+ /**
18
+ * Mark a notification as read.
19
+ * @param token - Authentication token
20
+ * @param id - Notification ID
21
+ * @param baseUrl - Base URL
22
+ */
23
+ export declare const markNotificationRead: (token: string, id: string, baseUrl?: string) => Promise<void>;
24
+ /**
25
+ * Mark all notifications as read.
26
+ * @param token - Authentication token
27
+ * @param agentId - Optional: only for a specific agent
28
+ * @param baseUrl - Base URL
29
+ */
30
+ export declare const markAllRead: (token: string, agentId?: string, baseUrl?: string) => Promise<void>;
31
+ /**
32
+ * Get count of unread notifications.
33
+ * @param token - Authentication token
34
+ * @param baseUrl - Base URL
35
+ * @returns Promise resolving to unread count
36
+ */
37
+ export declare const getUnreadCount: (token: string, baseUrl?: string) => Promise<{
38
+ count: number;
39
+ }>;
@@ -0,0 +1,103 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Agent notifications API functions.
7
+ *
8
+ * Provides CRUD operations for agent-generated notifications.
9
+ * Agents emit notifications for guardrail events, budget warnings,
10
+ * task completions, and other notable events.
11
+ *
12
+ * @module api/notifications
13
+ */
14
+ import { requestDatalayerAPI } from '@datalayer/core/lib/api/DatalayerApi';
15
+ import { API_BASE_PATHS, DEFAULT_SERVICE_URLS, } from '@datalayer/core/lib/api/constants';
16
+ import { validateToken } from '@datalayer/core/lib/api/utils/validation';
17
+ /**
18
+ * List agent notifications with optional filters.
19
+ * @param token - Authentication token
20
+ * @param filters - Optional filters (agentId, level, unreadOnly, category, limit, offset)
21
+ * @param baseUrl - Base URL
22
+ * @returns Promise resolving to list of notifications
23
+ */
24
+ export const getNotifications = async (token, filters, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
25
+ validateToken(token);
26
+ const params = new URLSearchParams();
27
+ if (filters?.agentId)
28
+ params.set('agent_id', filters.agentId);
29
+ if (filters?.level)
30
+ params.set('level', filters.level);
31
+ if (filters?.unreadOnly)
32
+ params.set('unread_only', 'true');
33
+ if (filters?.category)
34
+ params.set('category', filters.category);
35
+ if (filters?.limit)
36
+ params.set('limit', String(filters.limit));
37
+ if (filters?.offset)
38
+ params.set('offset', String(filters.offset));
39
+ const query = params.toString() ? `?${params.toString()}` : '';
40
+ return requestDatalayerAPI({
41
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/notifications${query}`,
42
+ method: 'GET',
43
+ token,
44
+ });
45
+ };
46
+ /**
47
+ * Get a specific notification by ID.
48
+ * @param token - Authentication token
49
+ * @param id - Notification ID
50
+ * @param baseUrl - Base URL
51
+ */
52
+ export const getNotification = async (token, id, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
53
+ validateToken(token);
54
+ return requestDatalayerAPI({
55
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/notifications/${encodeURIComponent(id)}`,
56
+ method: 'GET',
57
+ token,
58
+ });
59
+ };
60
+ /**
61
+ * Mark a notification as read.
62
+ * @param token - Authentication token
63
+ * @param id - Notification ID
64
+ * @param baseUrl - Base URL
65
+ */
66
+ export const markNotificationRead = async (token, id, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
67
+ validateToken(token);
68
+ await requestDatalayerAPI({
69
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/notifications/${encodeURIComponent(id)}/read`,
70
+ method: 'POST',
71
+ token,
72
+ });
73
+ };
74
+ /**
75
+ * Mark all notifications as read.
76
+ * @param token - Authentication token
77
+ * @param agentId - Optional: only for a specific agent
78
+ * @param baseUrl - Base URL
79
+ */
80
+ export const markAllRead = async (token, agentId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
81
+ validateToken(token);
82
+ const body = agentId ? { agent_id: agentId } : {};
83
+ await requestDatalayerAPI({
84
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/notifications/read-all`,
85
+ method: 'POST',
86
+ body,
87
+ token,
88
+ });
89
+ };
90
+ /**
91
+ * Get count of unread notifications.
92
+ * @param token - Authentication token
93
+ * @param baseUrl - Base URL
94
+ * @returns Promise resolving to unread count
95
+ */
96
+ export const getUnreadCount = async (token, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
97
+ validateToken(token);
98
+ return requestDatalayerAPI({
99
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/notifications/unread/count`,
100
+ method: 'GET',
101
+ token,
102
+ });
103
+ };
@@ -0,0 +1,28 @@
1
+ import type { OutputArtifact } from '../types';
2
+ /**
3
+ * List output artifacts for an agent.
4
+ * @param token - Authentication token
5
+ * @param agentId - Agent ID
6
+ * @param baseUrl - Base URL
7
+ * @returns Promise resolving to list of output artifacts
8
+ */
9
+ export declare const getAgentOutputs: (token: string, agentId: string, baseUrl?: string) => Promise<OutputArtifact[]>;
10
+ /**
11
+ * Get a specific output artifact.
12
+ * @param token - Authentication token
13
+ * @param agentId - Agent ID
14
+ * @param artifactId - Artifact ID
15
+ * @param baseUrl - Base URL
16
+ * @returns Promise resolving to artifact details
17
+ */
18
+ export declare const getAgentOutput: (token: string, agentId: string, artifactId: string, baseUrl?: string) => Promise<OutputArtifact>;
19
+ /**
20
+ * Generate a new output artifact for an agent.
21
+ * @param token - Authentication token
22
+ * @param agentId - Agent ID
23
+ * @param format - Output format (e.g. 'pdf')
24
+ * @param options - Additional generation options
25
+ * @param baseUrl - Base URL
26
+ * @returns Promise resolving to the generated artifact
27
+ */
28
+ export declare const generateAgentOutput: (token: string, agentId: string, format?: string, options?: Record<string, unknown>, baseUrl?: string) => Promise<OutputArtifact>;
@@ -0,0 +1,64 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Output artifacts API functions.
7
+ *
8
+ * Provides functions for listing and downloading agent-generated
9
+ * output artifacts (PDFs, reports, etc.).
10
+ *
11
+ * @module api/output
12
+ */
13
+ import { requestDatalayerAPI } from '@datalayer/core/lib/api/DatalayerApi';
14
+ import { API_BASE_PATHS, DEFAULT_SERVICE_URLS, } from '@datalayer/core/lib/api/constants';
15
+ import { validateToken } from '@datalayer/core/lib/api/utils/validation';
16
+ /**
17
+ * List output artifacts for an agent.
18
+ * @param token - Authentication token
19
+ * @param agentId - Agent ID
20
+ * @param baseUrl - Base URL
21
+ * @returns Promise resolving to list of output artifacts
22
+ */
23
+ export const getAgentOutputs = async (token, agentId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
24
+ validateToken(token);
25
+ return requestDatalayerAPI({
26
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(agentId)}/output`,
27
+ method: 'GET',
28
+ token,
29
+ });
30
+ };
31
+ /**
32
+ * Get a specific output artifact.
33
+ * @param token - Authentication token
34
+ * @param agentId - Agent ID
35
+ * @param artifactId - Artifact ID
36
+ * @param baseUrl - Base URL
37
+ * @returns Promise resolving to artifact details
38
+ */
39
+ export const getAgentOutput = async (token, agentId, artifactId, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
40
+ validateToken(token);
41
+ return requestDatalayerAPI({
42
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(agentId)}/output/${encodeURIComponent(artifactId)}`,
43
+ method: 'GET',
44
+ token,
45
+ });
46
+ };
47
+ /**
48
+ * Generate a new output artifact for an agent.
49
+ * @param token - Authentication token
50
+ * @param agentId - Agent ID
51
+ * @param format - Output format (e.g. 'pdf')
52
+ * @param options - Additional generation options
53
+ * @param baseUrl - Base URL
54
+ * @returns Promise resolving to the generated artifact
55
+ */
56
+ export const generateAgentOutput = async (token, agentId, format = 'pdf', options, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
57
+ validateToken(token);
58
+ return requestDatalayerAPI({
59
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/agents/${encodeURIComponent(agentId)}/output/generate`,
60
+ method: 'POST',
61
+ token,
62
+ body: { format, ...options },
63
+ });
64
+ };
@@ -0,0 +1,62 @@
1
+ import type { ToolApproval, ToolApprovalFilters } from '../types';
2
+ /**
3
+ * List tool approvals with optional filters.
4
+ * @param token - Authentication token
5
+ * @param filters - Optional filters (agentId, status, toolName, limit, offset)
6
+ * @param baseUrl - Base URL
7
+ * @returns Promise resolving to list of tool approvals
8
+ */
9
+ export declare const getToolApprovals: (token: string, filters?: ToolApprovalFilters, baseUrl?: string) => Promise<ToolApproval[]>;
10
+ /**
11
+ * Get a specific tool approval by ID.
12
+ * @param token - Authentication token
13
+ * @param id - Tool approval ID
14
+ * @param baseUrl - Base URL
15
+ */
16
+ export declare const getToolApproval: (token: string, id: string, baseUrl?: string) => Promise<ToolApproval>;
17
+ /**
18
+ * Approve a pending tool request.
19
+ * @param token - Authentication token
20
+ * @param id - Tool approval ID
21
+ * @param note - Optional note explaining the approval
22
+ * @param baseUrl - Base URL
23
+ */
24
+ export declare const approveToolRequest: (token: string, id: string, note?: string, baseUrl?: string) => Promise<void>;
25
+ /**
26
+ * Reject a pending tool request.
27
+ * @param token - Authentication token
28
+ * @param id - Tool approval ID
29
+ * @param note - Optional note explaining the rejection
30
+ * @param baseUrl - Base URL
31
+ */
32
+ export declare const rejectToolRequest: (token: string, id: string, note?: string, baseUrl?: string) => Promise<void>;
33
+ /**
34
+ * Mark a tool approval as read.
35
+ * @param token - Authentication token
36
+ * @param id - Tool approval ID
37
+ * @param baseUrl - Base URL
38
+ */
39
+ export declare const markToolApprovalRead: (token: string, id: string, baseUrl?: string) => Promise<void>;
40
+ /**
41
+ * Mark a tool approval as unread.
42
+ * @param token - Authentication token
43
+ * @param id - Tool approval ID
44
+ * @param baseUrl - Base URL
45
+ */
46
+ export declare const markToolApprovalUnread: (token: string, id: string, baseUrl?: string) => Promise<void>;
47
+ /**
48
+ * Delete a tool approval.
49
+ * @param token - Authentication token
50
+ * @param id - Tool approval ID
51
+ * @param baseUrl - Base URL
52
+ */
53
+ export declare const deleteToolApproval: (token: string, id: string, baseUrl?: string) => Promise<void>;
54
+ /**
55
+ * Get count of pending tool approvals.
56
+ * @param token - Authentication token
57
+ * @param baseUrl - Base URL
58
+ * @returns Promise resolving to pending count
59
+ */
60
+ export declare const getPendingApprovalCount: (token: string, baseUrl?: string) => Promise<{
61
+ count: number;
62
+ }>;
@@ -0,0 +1,145 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Tool approvals API functions.
7
+ *
8
+ * Provides CRUD operations for agent tool approval requests.
9
+ * When an agent encounters a tool that requires human approval,
10
+ * a ToolApproval record is created that the user can approve or reject.
11
+ *
12
+ * @module api/tool-approvals
13
+ */
14
+ import { requestDatalayerAPI } from '@datalayer/core/lib/api/DatalayerApi';
15
+ import { API_BASE_PATHS, DEFAULT_SERVICE_URLS, } from '@datalayer/core/lib/api/constants';
16
+ import { validateToken } from '@datalayer/core/lib/api/utils/validation';
17
+ /**
18
+ * List tool approvals with optional filters.
19
+ * @param token - Authentication token
20
+ * @param filters - Optional filters (agentId, status, toolName, limit, offset)
21
+ * @param baseUrl - Base URL
22
+ * @returns Promise resolving to list of tool approvals
23
+ */
24
+ export const getToolApprovals = async (token, filters, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
25
+ validateToken(token);
26
+ const params = new URLSearchParams();
27
+ if (filters?.agentId)
28
+ params.set('agent_id', filters.agentId);
29
+ if (filters?.status)
30
+ params.set('status', filters.status);
31
+ if (filters?.toolName)
32
+ params.set('tool_name', filters.toolName);
33
+ if (filters?.limit)
34
+ params.set('limit', String(filters.limit));
35
+ if (filters?.offset)
36
+ params.set('offset', String(filters.offset));
37
+ const query = params.toString() ? `?${params.toString()}` : '';
38
+ return requestDatalayerAPI({
39
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/tool-approvals${query}`,
40
+ method: 'GET',
41
+ token,
42
+ });
43
+ };
44
+ /**
45
+ * Get a specific tool approval by ID.
46
+ * @param token - Authentication token
47
+ * @param id - Tool approval ID
48
+ * @param baseUrl - Base URL
49
+ */
50
+ export const getToolApproval = async (token, id, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
51
+ validateToken(token);
52
+ return requestDatalayerAPI({
53
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/tool-approvals/${encodeURIComponent(id)}`,
54
+ method: 'GET',
55
+ token,
56
+ });
57
+ };
58
+ /**
59
+ * Approve a pending tool request.
60
+ * @param token - Authentication token
61
+ * @param id - Tool approval ID
62
+ * @param note - Optional note explaining the approval
63
+ * @param baseUrl - Base URL
64
+ */
65
+ export const approveToolRequest = async (token, id, note, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
66
+ validateToken(token);
67
+ await requestDatalayerAPI({
68
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/tool-approvals/${encodeURIComponent(id)}/approve`,
69
+ method: 'POST',
70
+ body: { note },
71
+ token,
72
+ });
73
+ };
74
+ /**
75
+ * Reject a pending tool request.
76
+ * @param token - Authentication token
77
+ * @param id - Tool approval ID
78
+ * @param note - Optional note explaining the rejection
79
+ * @param baseUrl - Base URL
80
+ */
81
+ export const rejectToolRequest = async (token, id, note, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
82
+ validateToken(token);
83
+ await requestDatalayerAPI({
84
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/tool-approvals/${encodeURIComponent(id)}/reject`,
85
+ method: 'POST',
86
+ body: { note },
87
+ token,
88
+ });
89
+ };
90
+ /**
91
+ * Mark a tool approval as read.
92
+ * @param token - Authentication token
93
+ * @param id - Tool approval ID
94
+ * @param baseUrl - Base URL
95
+ */
96
+ export const markToolApprovalRead = async (token, id, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
97
+ validateToken(token);
98
+ await requestDatalayerAPI({
99
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/tool-approvals/${encodeURIComponent(id)}/mark-read`,
100
+ method: 'POST',
101
+ token,
102
+ });
103
+ };
104
+ /**
105
+ * Mark a tool approval as unread.
106
+ * @param token - Authentication token
107
+ * @param id - Tool approval ID
108
+ * @param baseUrl - Base URL
109
+ */
110
+ export const markToolApprovalUnread = async (token, id, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
111
+ validateToken(token);
112
+ await requestDatalayerAPI({
113
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/tool-approvals/${encodeURIComponent(id)}/mark-unread`,
114
+ method: 'POST',
115
+ token,
116
+ });
117
+ };
118
+ /**
119
+ * Delete a tool approval.
120
+ * @param token - Authentication token
121
+ * @param id - Tool approval ID
122
+ * @param baseUrl - Base URL
123
+ */
124
+ export const deleteToolApproval = async (token, id, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
125
+ validateToken(token);
126
+ await requestDatalayerAPI({
127
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/tool-approvals/${encodeURIComponent(id)}`,
128
+ method: 'DELETE',
129
+ token,
130
+ });
131
+ };
132
+ /**
133
+ * Get count of pending tool approvals.
134
+ * @param token - Authentication token
135
+ * @param baseUrl - Base URL
136
+ * @returns Promise resolving to pending count
137
+ */
138
+ export const getPendingApprovalCount = async (token, baseUrl = DEFAULT_SERVICE_URLS.AI_AGENTS) => {
139
+ validateToken(token);
140
+ return requestDatalayerAPI({
141
+ url: `${baseUrl}${API_BASE_PATHS.AI_AGENTS}/tool-approvals/pending/count`,
142
+ method: 'GET',
143
+ token,
144
+ });
145
+ };