@datalayer/agent-runtimes 1.0.9 → 1.0.17

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 (462) hide show
  1. package/README.md +82 -1
  2. package/lib/{AgentLexical.d.ts → AgentDocument.d.ts} +5 -5
  3. package/lib/{AgentLexical.js → AgentDocument.js} +156 -26
  4. package/lib/AgentNode.js +32 -31
  5. package/lib/AgentNotebook.js +172 -17
  6. package/lib/AppExamples2.css +47 -0
  7. package/lib/AppExamples2.d.ts +3 -0
  8. package/lib/AppExamples2.js +21 -0
  9. package/lib/{agent-lexical-main.js → agent-document-main.js} +2 -2
  10. package/lib/agents/AgentRuntimeChat.d.ts +73 -0
  11. package/lib/agents/AgentRuntimeChat.js +198 -0
  12. package/lib/api/index.d.ts +12 -0
  13. package/lib/api/index.js +46 -0
  14. package/lib/api/runtimes/checkpoints.d.ts +122 -0
  15. package/lib/api/runtimes/checkpoints.js +118 -0
  16. package/lib/api/runtimes/environments.d.ts +9 -0
  17. package/lib/api/runtimes/environments.js +29 -0
  18. package/lib/api/runtimes/healthz.d.ts +15 -0
  19. package/lib/api/runtimes/healthz.js +44 -0
  20. package/lib/api/runtimes/index.d.ts +12 -0
  21. package/lib/api/runtimes/index.js +16 -0
  22. package/lib/api/runtimes/runtimes.d.ts +138 -0
  23. package/lib/api/runtimes/runtimes.js +230 -0
  24. package/lib/api/runtimes/snapshots.d.ts +38 -0
  25. package/lib/api/runtimes/snapshots.js +82 -0
  26. package/lib/api/scheduler/index.d.ts +6 -0
  27. package/lib/api/scheduler/index.js +10 -0
  28. package/lib/api/scheduler/schedules.d.ts +85 -0
  29. package/lib/api/scheduler/schedules.js +78 -0
  30. package/lib/api/spacer/documents.d.ts +12 -0
  31. package/lib/api/spacer/documents.js +43 -0
  32. package/lib/api/spacer/healthz.d.ts +15 -0
  33. package/lib/api/spacer/healthz.js +44 -0
  34. package/lib/api/spacer/index.d.ts +15 -0
  35. package/lib/api/spacer/index.js +19 -0
  36. package/lib/api/spacer/items.d.ts +25 -0
  37. package/lib/api/spacer/items.js +55 -0
  38. package/lib/api/spacer/lexicals.d.ts +34 -0
  39. package/lib/api/spacer/lexicals.js +89 -0
  40. package/lib/api/spacer/notebooks.d.ts +34 -0
  41. package/lib/api/spacer/notebooks.js +89 -0
  42. package/lib/api/spacer/spaces.d.ts +84 -0
  43. package/lib/api/spacer/spaces.js +170 -0
  44. package/lib/api/spacer/users.d.ts +9 -0
  45. package/lib/api/spacer/users.js +29 -0
  46. package/lib/chat/Chat.d.ts +1 -1
  47. package/lib/chat/Chat.js +54 -54
  48. package/lib/chat/ChatFloating.d.ts +2 -2
  49. package/lib/chat/ChatFloating.js +136 -25
  50. package/lib/chat/ChatSidebar.js +20 -22
  51. package/lib/chat/base/ChatBase.js +468 -40
  52. package/lib/chat/display/EmptyState.js +21 -21
  53. package/lib/chat/document/EphemeralDocument.d.ts +23 -0
  54. package/lib/chat/document/EphemeralDocument.js +270 -0
  55. package/lib/chat/header/ChatHeaderBase.d.ts +12 -2
  56. package/lib/chat/header/ChatHeaderBase.js +78 -23
  57. package/lib/chat/index.d.ts +1 -0
  58. package/lib/chat/index.js +2 -0
  59. package/lib/chat/notebook/EphemeralNotebook.d.ts +24 -0
  60. package/lib/chat/notebook/EphemeralNotebook.js +252 -0
  61. package/lib/chat/prompt/InputFooter.js +4 -1
  62. package/lib/client/AgentRuntimesClient.d.ts +127 -0
  63. package/lib/client/AgentRuntimesClient.js +36 -0
  64. package/lib/client/AgentsMixin.d.ts +4 -4
  65. package/lib/client/AgentsMixin.js +35 -35
  66. package/lib/client/SdkAgentRuntimesClient.d.ts +1 -1
  67. package/lib/client/SdkAgentRuntimesClient.js +1 -1
  68. package/lib/client/mixins/RuntimesMixin.d.ts +93 -0
  69. package/lib/client/mixins/RuntimesMixin.js +229 -0
  70. package/lib/client/mixins/SpacerMixin.d.ts +210 -0
  71. package/lib/client/mixins/SpacerMixin.js +615 -0
  72. package/lib/client/utils/spacerUtils.d.ts +18 -0
  73. package/lib/client/utils/spacerUtils.js +32 -0
  74. package/lib/collaboration/DatalayerCollaboration.d.ts +13 -0
  75. package/lib/collaboration/DatalayerCollaboration.js +28 -0
  76. package/lib/collaboration/DatalayerCollaborationProvider.d.ts +58 -0
  77. package/lib/collaboration/DatalayerCollaborationProvider.js +148 -0
  78. package/lib/collaboration/index.d.ts +2 -0
  79. package/lib/collaboration/index.js +6 -0
  80. package/lib/components/AgentSummary.d.ts +19 -0
  81. package/lib/components/AgentSummary.js +89 -0
  82. package/lib/components/ToolApprovalCard.js +13 -3
  83. package/lib/components/a2ui/A2uiSurfaceComposed.d.ts +13 -0
  84. package/lib/components/a2ui/A2uiSurfaceComposed.js +110 -0
  85. package/lib/components/a2ui/index.d.ts +2 -0
  86. package/lib/components/a2ui/index.js +6 -0
  87. package/lib/components/a2ui/styles.d.ts +14 -0
  88. package/lib/components/a2ui/styles.js +142 -0
  89. package/lib/components/context/SpaceSelect.d.ts +2 -0
  90. package/lib/components/context/SpaceSelect.js +42 -0
  91. package/lib/components/flashes/FlashDisclaimer.d.ts +2 -0
  92. package/lib/components/flashes/FlashDisclaimer.js +17 -0
  93. package/lib/components/icons/ArtifactIcon.d.ts +10 -0
  94. package/lib/components/icons/ArtifactIcon.js +58 -0
  95. package/lib/components/icons/index.d.ts +1 -0
  96. package/lib/components/icons/index.js +5 -0
  97. package/lib/components/index.d.ts +5 -0
  98. package/lib/components/index.js +5 -0
  99. package/lib/components/nbgrader/NbGradesDetails.d.ts +5 -0
  100. package/lib/components/nbgrader/NbGradesDetails.js +19 -0
  101. package/lib/components/nbgrader/index.d.ts +1 -0
  102. package/lib/components/nbgrader/index.js +5 -0
  103. package/lib/components/progress/CreditsIndicator.d.ts +33 -0
  104. package/lib/components/progress/CreditsIndicator.js +23 -0
  105. package/lib/components/progress/index.d.ts +2 -0
  106. package/lib/components/progress/index.js +6 -0
  107. package/lib/components/runtimes/RuntimeCellVariables.d.ts +39 -0
  108. package/lib/components/runtimes/RuntimeCellVariables.js +172 -0
  109. package/lib/components/runtimes/RuntimeCellVariablesDialog.d.ts +37 -0
  110. package/lib/components/runtimes/RuntimeCellVariablesDialog.js +101 -0
  111. package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +57 -0
  112. package/lib/components/runtimes/RuntimeLauncherDialog.js +275 -0
  113. package/lib/components/runtimes/RuntimePickerBase.d.ts +69 -0
  114. package/lib/components/runtimes/RuntimePickerBase.js +122 -0
  115. package/lib/components/runtimes/RuntimePickerCell.d.ts +34 -0
  116. package/lib/components/runtimes/RuntimePickerCell.js +104 -0
  117. package/lib/components/runtimes/RuntimePickerNotebook.d.ts +42 -0
  118. package/lib/components/runtimes/RuntimePickerNotebook.js +232 -0
  119. package/lib/components/runtimes/RuntimeReservationControl.d.ts +47 -0
  120. package/lib/components/runtimes/RuntimeReservationControl.js +42 -0
  121. package/lib/components/runtimes/RuntimeSimplePicker.d.ts +38 -0
  122. package/lib/components/runtimes/RuntimeSimplePicker.js +155 -0
  123. package/lib/components/runtimes/RuntimeTransfer.d.ts +16 -0
  124. package/lib/components/runtimes/RuntimeTransfer.js +5 -0
  125. package/lib/components/runtimes/RuntimeUtils.d.ts +17 -0
  126. package/lib/components/runtimes/RuntimeUtils.js +178 -0
  127. package/lib/components/runtimes/RuntimeVariables.d.ts +38 -0
  128. package/lib/components/runtimes/RuntimeVariables.js +75 -0
  129. package/lib/components/runtimes/index.d.ts +11 -0
  130. package/lib/components/runtimes/index.js +15 -0
  131. package/lib/components/scheduler/ScheduleMenu.d.ts +54 -0
  132. package/lib/components/scheduler/ScheduleMenu.js +154 -0
  133. package/lib/components/scheduler/index.d.ts +1 -0
  134. package/lib/components/scheduler/index.js +5 -0
  135. package/lib/components/snapshots/SandboxSnapshotMenu.d.ts +33 -0
  136. package/lib/components/snapshots/SandboxSnapshotMenu.js +169 -0
  137. package/lib/components/snapshots/index.d.ts +1 -0
  138. package/lib/components/snapshots/index.js +5 -0
  139. package/lib/components/snippets/SnippetDialog.d.ts +42 -0
  140. package/lib/components/snippets/SnippetDialog.js +42 -0
  141. package/lib/components/students/StudentItemStatus.d.ts +7 -0
  142. package/lib/components/students/StudentItemStatus.js +68 -0
  143. package/lib/components/students/index.d.ts +1 -0
  144. package/lib/components/students/index.js +5 -0
  145. package/lib/components/tokens/SpaceVariantToken.d.ts +5 -0
  146. package/lib/components/tokens/SpaceVariantToken.js +23 -0
  147. package/lib/components/tokens/index.d.ts +1 -0
  148. package/lib/components/tokens/index.js +5 -0
  149. package/lib/components/toolbars/AssignmentEditorToolbar.d.ts +4 -0
  150. package/lib/components/toolbars/AssignmentEditorToolbar.js +18 -0
  151. package/lib/components/toolbars/DocumentEditorToolbar.d.ts +2 -0
  152. package/lib/components/toolbars/DocumentEditorToolbar.js +12 -0
  153. package/lib/components/toolbars/NotebookEditorToolbar.d.ts +29 -0
  154. package/lib/components/toolbars/NotebookEditorToolbar.js +30 -0
  155. package/lib/config/AgentConfiguration.d.ts +2 -2
  156. package/lib/config/index.d.ts +1 -1
  157. package/lib/context/ContextInspector.d.ts +1 -14
  158. package/lib/context/ContextInspector.js +3 -73
  159. package/lib/context/CostUsageChart.d.ts +4 -3
  160. package/lib/context/CostUsageChart.js +236 -35
  161. package/lib/context/MessageHistory.d.ts +30 -0
  162. package/lib/context/MessageHistory.js +129 -0
  163. package/lib/context/TokenUsageChart.d.ts +4 -3
  164. package/lib/context/TokenUsageChart.js +180 -30
  165. package/lib/context/TurnGraphChart.d.ts +1 -1
  166. package/lib/context/TurnGraphChart.js +6 -6
  167. package/lib/examples/A2UiAgentExample.d.ts +22 -0
  168. package/lib/examples/A2UiAgentExample.js +442 -0
  169. package/lib/examples/A2UiComponentsGalleryExample.d.ts +3 -0
  170. package/lib/examples/A2UiComponentsGalleryExample.js +863 -0
  171. package/lib/examples/A2UiContactCardExample.js +9 -5
  172. package/lib/examples/A2UiRestaurantExample.js +23 -8
  173. package/lib/examples/A2UiViewerExample.js +75 -3
  174. package/lib/examples/AgUiAgenticExample.d.ts +1 -12
  175. package/lib/examples/AgUiAgenticExample.js +52 -8
  176. package/lib/examples/AgUiBackendToolRenderingExample.d.ts +1 -16
  177. package/lib/examples/AgUiBackendToolRenderingExample.js +32 -17
  178. package/lib/examples/AgUiHaikuGenUiExample.d.ts +1 -17
  179. package/lib/examples/AgUiHaikuGenUiExample.js +49 -33
  180. package/lib/examples/AgUiHumanInTheLoopExample.d.ts +1 -12
  181. package/lib/examples/AgUiHumanInTheLoopExample.js +21 -6
  182. package/lib/examples/AgUiSharedStateExample.d.ts +1 -14
  183. package/lib/examples/AgUiSharedStateExample.js +21 -6
  184. package/lib/examples/AgUiToolsBasedGenUiExample.d.ts +1 -14
  185. package/lib/examples/AgUiToolsBasedGenUiExample.js +21 -6
  186. package/lib/examples/AgentCheckpointsExample.d.ts +1 -1
  187. package/lib/examples/AgentCheckpointsExample.js +21 -22
  188. package/lib/examples/AgentCodemodeExample.js +3 -3
  189. package/lib/examples/AgentEvalsExample.js +8 -8
  190. package/lib/examples/AgentGuardrailsExample.js +22 -17
  191. package/lib/examples/AgentHooksExample.js +16 -57
  192. package/lib/examples/AgentInferenceProviderExample.js +8 -8
  193. package/lib/examples/AgentLoopExample.d.ts +10 -0
  194. package/lib/examples/AgentLoopExample.js +304 -0
  195. package/lib/examples/AgentMCPExample.js +9 -9
  196. package/lib/examples/AgentMemoryExample.js +6 -6
  197. package/lib/examples/AgentMonitoringExample.js +116 -46
  198. package/lib/examples/AgentNotificationsExample.js +6 -6
  199. package/lib/examples/AgentOtelExample.d.ts +3 -3
  200. package/lib/examples/AgentOtelExample.js +20 -15
  201. package/lib/examples/AgentOutputsExample.js +8 -8
  202. package/lib/examples/AgentParametersExample.js +24 -36
  203. package/lib/examples/AgentSandboxExample.js +7 -7
  204. package/lib/examples/AgentSkillsExample.js +9 -9
  205. package/lib/examples/AgentSubagentsExample.js +6 -6
  206. package/lib/examples/AgentToolApprovalsExample.js +37 -11
  207. package/lib/examples/AgentTriggersExample.js +12 -12
  208. package/lib/examples/AgentspecsExample.js +63 -41
  209. package/lib/examples/ChatCustomExample.js +23 -77
  210. package/lib/examples/ChatExample.js +15 -46
  211. package/lib/examples/LexicalAgentExample.js +43 -91
  212. package/lib/examples/LexicalAgentSidebarExample.js +45 -73
  213. package/lib/examples/NotebookAgentExample.js +52 -81
  214. package/lib/examples/NotebookAgentSidebarExample.js +43 -71
  215. package/lib/examples/NotebookCollaborationExample.js +11 -9
  216. package/lib/examples/NotebookExample.js +5 -2
  217. package/lib/examples/components/AuthRequiredView.js +1 -1
  218. package/lib/examples/components/ExampleErrorBoundary.d.ts +46 -0
  219. package/lib/examples/components/ExampleErrorBoundary.js +67 -0
  220. package/lib/examples/components/haiku/haiku-card.css +11 -0
  221. package/lib/examples/components/weather/weather-card.css +11 -0
  222. package/lib/examples/example-selector.js +3 -1
  223. package/lib/examples/hooks/useExampleAgentRuntime.d.ts +35 -0
  224. package/lib/examples/hooks/useExampleAgentRuntime.js +82 -0
  225. package/lib/examples/hooks/useSpecRenderToolResult.d.ts +30 -0
  226. package/lib/examples/hooks/useSpecRenderToolResult.js +61 -0
  227. package/lib/examples/index.d.ts +3 -1
  228. package/lib/examples/index.js +3 -1
  229. package/lib/examples/main.js +340 -93
  230. package/lib/examples/utils/a2ui.d.ts +2 -0
  231. package/lib/examples/utils/a2ui.js +97 -2
  232. package/lib/examples/utils/agentSummaryStore.d.ts +21 -0
  233. package/lib/examples/utils/agentSummaryStore.js +23 -0
  234. package/lib/examples/utils/notebooks/Empty.ipynb.json +30 -30
  235. package/lib/examples/utils/runtimeTargetStore.d.ts +9 -0
  236. package/lib/examples/utils/runtimeTargetStore.js +27 -0
  237. package/lib/examples/utils/teardownAgents.d.ts +13 -0
  238. package/lib/examples/utils/teardownAgents.js +78 -0
  239. package/lib/examples/utils/useExampleAgentRuntimesUrl.d.ts +2 -0
  240. package/lib/examples/utils/useExampleAgentRuntimesUrl.js +26 -7
  241. package/lib/examples2/CellExample.d.ts +6 -0
  242. package/lib/examples2/CellExample.js +20 -0
  243. package/lib/examples2/DatalayerNotebookExample.d.ts +16 -0
  244. package/lib/examples2/DatalayerNotebookExample.js +109 -0
  245. package/lib/examples2/NativeNavigationExample.d.ts +8 -0
  246. package/lib/examples2/NativeNavigationExample.js +97 -0
  247. package/lib/examples2/NotebookExample.d.ts +6 -0
  248. package/lib/examples2/NotebookExample.js +19 -0
  249. package/lib/examples2/NotebookMutationsKernel.d.ts +2 -0
  250. package/lib/examples2/NotebookMutationsKernel.js +105 -0
  251. package/lib/examples2/NotebookMutationsServiceManager.d.ts +2 -0
  252. package/lib/examples2/NotebookMutationsServiceManager.js +109 -0
  253. package/lib/examples2/ReactRouterExample.d.ts +6 -0
  254. package/lib/examples2/ReactRouterExample.js +175 -0
  255. package/lib/examples2/example-selector.d.ts +22 -0
  256. package/lib/examples2/example-selector.js +45 -0
  257. package/lib/examples2/index.d.ts +2 -0
  258. package/lib/examples2/index.js +6 -0
  259. package/lib/examples2/lexical-theme.css +436 -0
  260. package/lib/examples2/main.d.ts +2 -0
  261. package/lib/examples2/main.js +330 -0
  262. package/lib/examples2/notebooks/IPyWidgetsExample.ipynb.json +101 -0
  263. package/lib/examples2/notebooks/IPyWidgetsExampleWithState.ipynb.json +112 -0
  264. package/lib/examples2/notebooks/Lite.ipynb.json +128 -0
  265. package/lib/examples2/notebooks/Matplotlib.ipynb.json +137 -0
  266. package/lib/examples2/notebooks/NotebookExample1.ipynb.json +126 -0
  267. package/lib/examples2/notebooks/NotebookExample2.ipynb.json +48 -0
  268. package/lib/examples2/notebooks/NotebookOutputs.ipynb.json +49 -0
  269. package/lib/examples2/notebooks/NotebookToCExample.ipynb.json +102 -0
  270. package/lib/examples2/notebooks/OutputIPyWidgetsExample.d.ts +145 -0
  271. package/lib/examples2/notebooks/OutputIPyWidgetsExample.js +153 -0
  272. package/lib/examples2/notebooks/PyGWalker.ipynb.json +55 -0
  273. package/lib/hooks/index.d.ts +9 -1
  274. package/lib/hooks/index.js +13 -1
  275. package/lib/hooks/useAIAgentsWebSocket.d.ts +1 -1
  276. package/lib/hooks/useAIAgentsWebSocket.js +39 -3
  277. package/lib/hooks/useAgentRuntimes.d.ts +15 -3
  278. package/lib/hooks/useAgentRuntimes.js +188 -29
  279. package/lib/hooks/useAgentsCatalog.d.ts +3 -3
  280. package/lib/hooks/useAgentsCatalog.js +4 -4
  281. package/lib/hooks/useAgentsService.js +5 -5
  282. package/lib/hooks/useCellOutputshot.d.ts +4 -0
  283. package/lib/hooks/useCellOutputshot.js +25 -0
  284. package/lib/hooks/useCheckpoints.d.ts +8 -8
  285. package/lib/hooks/useCheckpoints.js +38 -28
  286. package/lib/hooks/useConfig.d.ts +1 -1
  287. package/lib/hooks/useMonitoring.d.ts +7 -5
  288. package/lib/hooks/useMonitoring.js +16 -10
  289. package/lib/hooks/useNotifications.d.ts +11 -11
  290. package/lib/hooks/useNotifications.js +1 -1
  291. package/lib/hooks/useProgressStore.d.ts +25 -0
  292. package/lib/hooks/useProgressStore.js +58 -0
  293. package/lib/hooks/useProgressTask.d.ts +9 -0
  294. package/lib/hooks/useProgressTask.js +41 -0
  295. package/lib/hooks/useProjects.d.ts +628 -0
  296. package/lib/hooks/useProjects.js +190 -0
  297. package/lib/hooks/useRuntimes.d.ts +5 -0
  298. package/lib/hooks/useRuntimes.js +34 -0
  299. package/lib/hooks/useToolApprovals.d.ts +14 -6
  300. package/lib/hooks/useToolApprovals.js +20 -1
  301. package/lib/index.d.ts +2 -1
  302. package/lib/index.js +1 -0
  303. package/lib/jupyter/exec/Python.d.ts +5 -0
  304. package/lib/jupyter/exec/Python.js +100 -0
  305. package/lib/jupyter/exec/Snippets.d.ts +105 -0
  306. package/lib/jupyter/exec/Snippets.js +101 -0
  307. package/lib/jupyter/exec/index.d.ts +2 -0
  308. package/lib/jupyter/exec/index.js +6 -0
  309. package/lib/jupyter/index.d.ts +2 -0
  310. package/lib/jupyter/index.js +6 -0
  311. package/lib/jupyter/kernelsHandler.d.ts +8 -0
  312. package/lib/jupyter/kernelsHandler.js +39 -0
  313. package/lib/mocks/models/CourseMock.d.ts +6 -0
  314. package/lib/mocks/models/CourseMock.js +29 -0
  315. package/lib/mocks/models/SpaceMock.d.ts +6 -0
  316. package/lib/mocks/models/SpaceMock.js +25 -0
  317. package/lib/models/Assignment.d.ts +7 -0
  318. package/lib/models/Assignment.js +5 -0
  319. package/lib/models/Cell.d.ts +8 -0
  320. package/lib/models/Cell.js +5 -0
  321. package/lib/models/CodeBlock.d.ts +10 -0
  322. package/lib/models/CodeBlock.js +5 -0
  323. package/lib/models/CodeSandboxSnapshot.d.ts +92 -0
  324. package/lib/models/CodeSandboxSnapshot.js +13 -0
  325. package/lib/models/CodeSandboxSnapshotDTO.d.ts +173 -0
  326. package/lib/models/CodeSandboxSnapshotDTO.js +139 -0
  327. package/lib/models/CodefeedBlocks.d.ts +7 -0
  328. package/lib/models/CodefeedBlocks.js +5 -0
  329. package/lib/models/Content.d.ts +5 -0
  330. package/lib/models/Content.js +5 -0
  331. package/lib/models/Course.d.ts +17 -0
  332. package/lib/models/Course.js +5 -0
  333. package/lib/models/Dataset.d.ts +16 -0
  334. package/lib/models/Dataset.js +5 -0
  335. package/lib/models/Document.d.ts +8 -0
  336. package/lib/models/Document.js +5 -0
  337. package/lib/models/Environment.d.ts +86 -0
  338. package/lib/models/Environment.js +5 -0
  339. package/lib/models/EnvironmentDTO.d.ts +125 -0
  340. package/lib/models/EnvironmentDTO.js +88 -0
  341. package/lib/models/Exercise.d.ts +16 -0
  342. package/lib/models/Exercise.js +5 -0
  343. package/lib/models/Item.d.ts +20 -0
  344. package/lib/models/Item.js +5 -0
  345. package/lib/models/ItemDTO.d.ts +74 -0
  346. package/lib/models/ItemDTO.js +186 -0
  347. package/lib/models/ItemType.d.ts +2 -0
  348. package/lib/models/ItemType.js +5 -0
  349. package/lib/models/Lesson.d.ts +5 -0
  350. package/lib/models/Lesson.js +5 -0
  351. package/lib/models/LexicalDTO.d.ts +155 -0
  352. package/lib/models/LexicalDTO.js +157 -0
  353. package/lib/models/Library.d.ts +10 -0
  354. package/lib/models/Library.js +5 -0
  355. package/lib/models/Notebook.d.ts +11 -0
  356. package/lib/models/Notebook.js +5 -0
  357. package/lib/models/NotebookDTO.d.ts +96 -0
  358. package/lib/models/NotebookDTO.js +153 -0
  359. package/lib/models/Page.d.ts +41 -0
  360. package/lib/models/Page.js +25 -0
  361. package/lib/models/PageTag.d.ts +19 -0
  362. package/lib/models/PageTag.js +94 -0
  363. package/lib/models/ProjectDTO.d.ts +89 -0
  364. package/lib/models/ProjectDTO.js +131 -0
  365. package/lib/models/Runtime.d.ts +160 -0
  366. package/lib/models/Runtime.js +18 -0
  367. package/lib/models/RuntimeDTO.d.ts +172 -0
  368. package/lib/models/RuntimeDTO.js +204 -0
  369. package/lib/models/Space.d.ts +35 -0
  370. package/lib/models/Space.js +66 -0
  371. package/lib/models/SpaceDTO.d.ts +334 -0
  372. package/lib/models/SpaceDTO.js +244 -0
  373. package/lib/models/SpaceItem.d.ts +10 -0
  374. package/lib/models/SpaceItem.js +5 -0
  375. package/lib/models/SpaceMember.d.ts +6 -0
  376. package/lib/models/SpaceMember.js +5 -0
  377. package/lib/models/StudentItem.d.ts +21 -0
  378. package/lib/models/StudentItem.js +5 -0
  379. package/lib/models/index.d.ts +32 -0
  380. package/lib/models/index.js +39 -0
  381. package/lib/protocols/AGUIAdapter.js +1 -1
  382. package/lib/runtimes/actions.d.ts +102 -0
  383. package/lib/runtimes/actions.js +249 -0
  384. package/lib/runtimes/apis.d.ts +273 -0
  385. package/lib/runtimes/apis.js +5 -0
  386. package/lib/runtimes/index.d.ts +5 -0
  387. package/lib/runtimes/index.js +9 -0
  388. package/lib/runtimes/settings.d.ts +15 -0
  389. package/lib/runtimes/settings.js +31 -0
  390. package/lib/runtimes/snapshots.d.ts +25 -0
  391. package/lib/runtimes/snapshots.js +150 -0
  392. package/lib/runtimes/utils.d.ts +7 -0
  393. package/lib/runtimes/utils.js +14 -0
  394. package/lib/services/DatalayerServiceManager.d.ts +23 -0
  395. package/lib/services/DatalayerServiceManager.js +90 -0
  396. package/lib/services/reconnectToRuntime.d.ts +32 -0
  397. package/lib/services/reconnectToRuntime.js +59 -0
  398. package/lib/services/sandboxServiceManagers.d.ts +31 -0
  399. package/lib/services/sandboxServiceManagers.js +57 -0
  400. package/lib/specs/agents/agents.d.ts +95 -50
  401. package/lib/specs/agents/agents.js +4037 -1669
  402. package/lib/specs/agents/index.d.ts +5 -5
  403. package/lib/specs/agents/index.js +9 -9
  404. package/lib/specs/index.d.ts +1 -0
  405. package/lib/specs/index.js +1 -0
  406. package/lib/specs/loops.d.ts +34 -0
  407. package/lib/specs/loops.js +188 -0
  408. package/lib/specs/mcpServers.d.ts +1 -0
  409. package/lib/specs/mcpServers.js +17 -0
  410. package/lib/specs/models.d.ts +4 -0
  411. package/lib/specs/models.js +30 -0
  412. package/lib/specs/skills.d.ts +1 -0
  413. package/lib/specs/skills.js +18 -0
  414. package/lib/specs/tools.d.ts +15 -0
  415. package/lib/specs/tools.js +285 -0
  416. package/lib/state/index.d.ts +4 -0
  417. package/lib/state/index.js +10 -0
  418. package/lib/state/substates/CellState.d.ts +12 -0
  419. package/lib/state/substates/CellState.js +22 -0
  420. package/lib/state/substates/DocumentState.d.ts +10 -0
  421. package/lib/state/substates/DocumentState.js +14 -0
  422. package/lib/state/substates/GradeState.d.ts +10 -0
  423. package/lib/state/substates/GradeState.js +14 -0
  424. package/lib/state/substates/JupyterLabState.d.ts +16 -0
  425. package/lib/state/substates/JupyterLabState.js +17 -0
  426. package/lib/state/substates/NbformatState.d.ts +13 -0
  427. package/lib/state/substates/NbformatState.js +16 -0
  428. package/lib/state/substates/RuntimesState.d.ts +87 -0
  429. package/lib/state/substates/RuntimesState.js +192 -0
  430. package/lib/state/substates/SpaceState.d.ts +11 -0
  431. package/lib/state/substates/SpaceState.js +16 -0
  432. package/lib/state/substates/index.d.ts +8 -0
  433. package/lib/state/substates/index.js +14 -0
  434. package/lib/stores/agentRuntimeStore.d.ts +25 -2
  435. package/lib/stores/agentRuntimeStore.js +114 -19
  436. package/lib/stories/Button.stories.d.ts +1 -1
  437. package/lib/stories/Header.stories.d.ts +3 -3
  438. package/lib/test-setup.js +10 -0
  439. package/lib/types/agents-lifecycle.d.ts +5 -5
  440. package/lib/types/agents.d.ts +6 -6
  441. package/lib/types/agentspecs.d.ts +8 -4
  442. package/lib/types/chat.d.ts +135 -3
  443. package/lib/types/config.d.ts +19 -1
  444. package/lib/types/index.d.ts +1 -0
  445. package/lib/types/index.js +1 -0
  446. package/lib/types/loops.d.ts +64 -0
  447. package/lib/types/loops.js +5 -0
  448. package/lib/types/teams.d.ts +2 -2
  449. package/lib/types/tools.d.ts +16 -0
  450. package/lib/utils/Cells.d.ts +2 -0
  451. package/lib/utils/Cells.js +28 -0
  452. package/package.json +24 -18
  453. package/scripts/codegen/generate_agents.py +96 -61
  454. package/scripts/codegen/generate_loops.py +443 -0
  455. package/scripts/codegen/generate_teams.py +4 -4
  456. package/lib/examples/A2UiComponentGalleryExample.d.ts +0 -3
  457. package/lib/examples/A2UiComponentGalleryExample.js +0 -361
  458. package/scripts/codegen/__pycache__/generate_agents.cpython-313.pyc +0 -0
  459. package/scripts/codegen/__pycache__/generate_benchmarks.cpython-313.pyc +0 -0
  460. package/scripts/codegen/__pycache__/generate_evals.cpython-313.pyc +0 -0
  461. package/scripts/codegen/__pycache__/generate_events.cpython-313.pyc +0 -0
  462. /package/lib/{agent-lexical-main.d.ts → agent-document-main.d.ts} +0 -0
@@ -14,7 +14,8 @@ import { useMemo, useState, useCallback } from 'react';
14
14
  import { useQuery, useQueryClient, useMutation } from '@tanstack/react-query';
15
15
  import { useIAMStore } from '@datalayer/core/lib/state';
16
16
  import { useCoreStore, useDatalayer } from '@datalayer/core';
17
- import { agentQueryKeys, AGENT_QUERY_OPTIONS } from './useAgentRuntimes';
17
+ import { agentQueryKeys, AGENT_QUERY_OPTIONS, clearRuntimePodDeleted, } from './useAgentRuntimes';
18
+ import { disposeSandboxServiceManagers } from '../services/sandboxServiceManagers';
18
19
  // ═══════════════════════════════════════════════════════════════════════════
19
20
  // Query hooks
20
21
  // ═══════════════════════════════════════════════════════════════════════════
@@ -32,7 +33,7 @@ export function useCheckpointsQuery() {
32
33
  queryKey: agentQueryKeys.checkpoints.lists(),
33
34
  queryFn: async () => {
34
35
  const resp = await requestDatalayer({
35
- url: `${configuration.runtimesRunUrl}/api/runtimes/v1/runtime-checkpoints`,
36
+ url: `${configuration.runtimesUrl}/api/runtimes/v1/runtime-checkpoints`,
36
37
  method: 'GET',
37
38
  });
38
39
  if (resp.success && resp.checkpoints) {
@@ -71,7 +72,7 @@ export function useDeletePausedAgentRuntime() {
71
72
  return useMutation({
72
73
  mutationFn: async (podName) => {
73
74
  return requestDatalayer({
74
- url: `${configuration.runtimesRunUrl}/api/runtimes/v1/runtimes/${podName}/paused`,
75
+ url: `${configuration.runtimesUrl}/api/runtimes/v1/runtimes/${podName}/paused`,
75
76
  method: 'DELETE',
76
77
  });
77
78
  },
@@ -101,11 +102,14 @@ export function useResumePausedAgentRuntime() {
101
102
  return useMutation({
102
103
  mutationFn: async (podName) => {
103
104
  return requestDatalayer({
104
- url: `${configuration.runtimesRunUrl}/api/runtimes/v1/runtimes/${podName}/resume`,
105
+ url: `${configuration.runtimesUrl}/api/runtimes/v1/runtimes/${podName}/resume`,
105
106
  method: 'POST',
106
107
  });
107
108
  },
108
- onSuccess: () => {
109
+ onSuccess: (_data, podName) => {
110
+ // The pod can come back under the same name — drop any delete tombstone
111
+ // so the runtimes queries do not filter the resumed runtime out.
112
+ clearRuntimePodDeleted(podName);
109
113
  queryClient.invalidateQueries({
110
114
  queryKey: agentQueryKeys.agentRuntimes.all(),
111
115
  });
@@ -131,10 +135,10 @@ export function usePauseAgent() {
131
135
  mutationFn: async (params) => {
132
136
  const { iamStore, coreStore } = await import('@datalayer/core/lib/state');
133
137
  const token = iamStore.getState().token || '';
134
- const runtimesRunUrl = coreStore.getState().configuration?.runtimesRunUrl || '';
135
- const { pauseRuntime } = await import('@datalayer/core/lib/api/runtimes/runtimes');
138
+ const runtimesUrl = coreStore.getState().configuration?.runtimesUrl || '';
139
+ const { pauseRuntime } = await import('../api/runtimes/runtimes');
136
140
  const mode = params.mode || 'light';
137
- const resp = await pauseRuntime(token, params.podName, runtimesRunUrl, {
141
+ const resp = await pauseRuntime(token, params.podName, runtimesUrl, {
138
142
  agent_spec_id: params.agentSpecId,
139
143
  checkpoint_mode: mode,
140
144
  ...(params.messages && mode === 'light'
@@ -143,15 +147,18 @@ export function usePauseAgent() {
143
147
  ...(params.agentSpec ? { agentspec: params.agentSpec } : {}),
144
148
  });
145
149
  if (resp.checkpoint_id) {
146
- const { waitForCheckpointStatus } = await import('@datalayer/core/lib/api/runtimes/checkpoints');
147
- const ckpt = await waitForCheckpointStatus(token, params.podName, resp.checkpoint_id, ['paused', 'failed'], runtimesRunUrl);
150
+ const { waitForCheckpointStatus } = await import('../api/runtimes/checkpoints');
151
+ const ckpt = await waitForCheckpointStatus(token, params.podName, resp.checkpoint_id, ['paused', 'failed'], runtimesUrl);
148
152
  if (ckpt.status === 'failed') {
149
153
  throw new Error(`Checkpoint ${resp.checkpoint_id} failed during ${mode.toUpperCase()} pause`);
150
154
  }
151
155
  }
152
156
  return resp;
153
157
  },
154
- onSuccess: () => {
158
+ onSuccess: (_data, params) => {
159
+ // Pausing tears the pod down: dispose every ServiceManager any surface
160
+ // opened against the sandbox so their pollers stop immediately.
161
+ disposeSandboxServiceManagers(params.podName);
155
162
  queryClient.invalidateQueries({
156
163
  queryKey: agentQueryKeys.agentRuntimes.all(),
157
164
  });
@@ -173,15 +180,18 @@ export function useResumeAgent() {
173
180
  mutationFn: async (params) => {
174
181
  const { iamStore, coreStore } = await import('@datalayer/core/lib/state');
175
182
  const token = iamStore.getState().token || '';
176
- const runtimesRunUrl = coreStore.getState().configuration?.runtimesRunUrl || '';
177
- const { resumeRuntime } = await import('@datalayer/core/lib/api/runtimes/runtimes');
178
- return resumeRuntime(token, params.podName, runtimesRunUrl, {
183
+ const runtimesUrl = coreStore.getState().configuration?.runtimesUrl || '';
184
+ const { resumeRuntime } = await import('../api/runtimes/runtimes');
185
+ return resumeRuntime(token, params.podName, runtimesUrl, {
179
186
  agent_spec_id: params.agentSpecId,
180
187
  ...(params.mode ? { checkpoint_mode: params.mode } : {}),
181
188
  ...(params.checkpointId ? { checkpoint_id: params.checkpointId } : {}),
182
189
  });
183
190
  },
184
- onSuccess: () => {
191
+ onSuccess: (_data, params) => {
192
+ // The pod can come back under the same name — drop any delete tombstone
193
+ // so the runtimes queries do not filter the resumed runtime out.
194
+ clearRuntimePodDeleted(params.podName);
185
195
  queryClient.invalidateQueries({
186
196
  queryKey: agentQueryKeys.agentRuntimes.all(),
187
197
  });
@@ -203,11 +213,11 @@ export function useCheckpointAgent() {
203
213
  mutationFn: async (params) => {
204
214
  const { iamStore, coreStore } = await import('@datalayer/core/lib/state');
205
215
  const token = iamStore.getState().token || '';
206
- const runtimesRunUrl = coreStore.getState().configuration?.runtimesRunUrl || '';
207
- const { pauseRuntime } = await import('@datalayer/core/lib/api/runtimes/runtimes');
208
- const { waitForCheckpointStatus } = await import('@datalayer/core/lib/api/runtimes/checkpoints');
216
+ const runtimesUrl = coreStore.getState().configuration?.runtimesUrl || '';
217
+ const { pauseRuntime } = await import('../api/runtimes/runtimes');
218
+ const { waitForCheckpointStatus } = await import('../api/runtimes/checkpoints');
209
219
  const mode = params.mode || 'criu';
210
- const pauseResp = await pauseRuntime(token, params.podName, runtimesRunUrl, {
220
+ const pauseResp = await pauseRuntime(token, params.podName, runtimesUrl, {
211
221
  name: params.name || `checkpoint-${Date.now()}`,
212
222
  description: `${mode.toUpperCase()} checkpoint for ${params.agentSpecId}`,
213
223
  checkpoint_mode: mode,
@@ -221,7 +231,7 @@ export function useCheckpointAgent() {
221
231
  if (!checkpointId) {
222
232
  throw new Error('Pause did not return a checkpoint_id');
223
233
  }
224
- const ckpt = await waitForCheckpointStatus(token, params.podName, checkpointId, ['paused', 'failed'], runtimesRunUrl);
234
+ const ckpt = await waitForCheckpointStatus(token, params.podName, checkpointId, ['paused', 'failed'], runtimesUrl);
225
235
  if (ckpt.status === 'failed') {
226
236
  throw new Error(`Checkpoint ${checkpointId} failed during ${mode.toUpperCase()} pause`);
227
237
  }
@@ -249,9 +259,9 @@ export function useTerminateAgent() {
249
259
  mutationFn: async (params) => {
250
260
  const { iamStore, coreStore } = await import('@datalayer/core/lib/state');
251
261
  const token = iamStore.getState().token || '';
252
- const runtimesRunUrl = coreStore.getState().configuration?.runtimesRunUrl || '';
253
- const { deleteRuntime } = await import('@datalayer/core/lib/api/runtimes/runtimes');
254
- return deleteRuntime(token, params.podName, runtimesRunUrl);
262
+ const runtimesUrl = coreStore.getState().configuration?.runtimesUrl || '';
263
+ const { deleteRuntime } = await import('../api/runtimes/runtimes');
264
+ return deleteRuntime(token, params.podName, runtimesUrl);
255
265
  },
256
266
  onSuccess: () => {
257
267
  queryClient.invalidateQueries({
@@ -330,9 +340,9 @@ export function useAgentLifecycle(options) {
330
340
  try {
331
341
  const { iamStore, coreStore } = await import('@datalayer/core/lib/state');
332
342
  const token = iamStore.getState().token || '';
333
- const runtimesRunUrl = coreStore.getState().configuration?.runtimesRunUrl || '';
334
- const { listRuntimes } = await import('@datalayer/core/lib/api/runtimes/runtimes');
335
- const runtimesResponse = await listRuntimes(token, runtimesRunUrl);
343
+ const runtimesUrl = coreStore.getState().configuration?.runtimesUrl || '';
344
+ const { listRuntimes } = await import('../api/runtimes/runtimes');
345
+ const runtimesResponse = await listRuntimes(token, runtimesUrl);
336
346
  const runtimes = runtimesResponse.runtimes || [];
337
347
  const aiAgentRuntimes = runtimes.filter(rt => {
338
348
  if (rt.environment_name !== 'ai-agents-env') {
@@ -341,9 +351,9 @@ export function useAgentLifecycle(options) {
341
351
  if (!agentSpecId) {
342
352
  return true;
343
353
  }
344
- const runtimeAgentSpecId = rt
354
+ const runtimeAgentspecId = rt
345
355
  .agent_spec_id;
346
- return runtimeAgentSpecId === agentSpecId;
356
+ return runtimeAgentspecId === agentSpecId;
347
357
  });
348
358
  const latestRuntime = aiAgentRuntimes.slice().sort((a, b) => {
349
359
  const aTs = Number(a.started_at || 0);
@@ -3,7 +3,7 @@ import type { RemoteConfig } from '../types/config';
3
3
  * Hook to safely use query when QueryClient is available.
4
4
  * Returns a mock result if no QueryClientProvider is present.
5
5
  */
6
- export declare function useConfig(enabled: boolean, configEndpoint?: string, authToken?: string, agentId?: string): import("@tanstack/query-core").QueryObserverRefetchErrorResult<RemoteConfig, Error> | import("@tanstack/query-core").QueryObserverSuccessResult<RemoteConfig, Error> | import("@tanstack/query-core").QueryObserverLoadingErrorResult<RemoteConfig, Error> | import("@tanstack/query-core").QueryObserverPendingResult<RemoteConfig, Error> | import("@tanstack/query-core").QueryObserverPlaceholderResult<RemoteConfig, Error> | {
6
+ export declare function useConfig(enabled: boolean, configEndpoint?: string, authToken?: string, agentId?: string): import("@tanstack/query-core").QueryObserverRefetchErrorResult<NoInfer<RemoteConfig>, Error> | import("@tanstack/query-core").QueryObserverSuccessResult<NoInfer<RemoteConfig>, Error> | import("@tanstack/query-core").QueryObserverLoadingErrorResult<NoInfer<RemoteConfig>, Error> | import("@tanstack/query-core").QueryObserverPendingResult<NoInfer<RemoteConfig>, Error> | import("@tanstack/query-core").QueryObserverPlaceholderResult<NoInfer<RemoteConfig>, Error> | {
7
7
  data: undefined;
8
8
  isLoading: boolean;
9
9
  isError: boolean;
@@ -1,9 +1,10 @@
1
1
  export interface OtelQueryOptions {
2
2
  metric: string;
3
3
  serviceName?: string;
4
- runUrl?: string;
4
+ datalayerUrl?: string;
5
5
  apiKey?: string;
6
6
  limit?: number;
7
+ accountUid?: string;
7
8
  }
8
9
  interface MetricValueRow {
9
10
  value?: unknown;
@@ -11,14 +12,15 @@ interface MetricValueRow {
11
12
  value_int?: unknown;
12
13
  }
13
14
  export declare function toMetricValue(row: MetricValueRow): number;
14
- export declare function fetchOtelMetricRows({ metric, serviceName, runUrl, apiKey, limit, }: OtelQueryOptions): Promise<MetricValueRow[]>;
15
+ export declare function fetchOtelMetricRows({ metric, serviceName, datalayerUrl, apiKey, limit, accountUid, }: OtelQueryOptions): Promise<MetricValueRow[]>;
15
16
  export declare function fetchOtelMetricTotal(options: OtelQueryOptions): Promise<number>;
16
17
  export interface OtelTotalTokensOptions {
17
18
  serviceName?: string;
18
- runUrl?: string;
19
+ datalayerUrl?: string;
19
20
  apiKey?: string;
20
21
  limit?: number;
22
+ accountUid?: string;
21
23
  }
22
- export declare function fetchOtelTotalTokens({ serviceName, runUrl, apiKey, limit, }: OtelTotalTokensOptions): Promise<number>;
23
- export declare function useOtelTotalTokens({ serviceName, runUrl, apiKey, limit, }: OtelTotalTokensOptions): string;
24
+ export declare function fetchOtelTotalTokens({ serviceName, datalayerUrl, apiKey, limit, accountUid, }: OtelTotalTokensOptions): Promise<number>;
25
+ export declare function useOtelTotalTokens({ serviceName, datalayerUrl, apiKey, limit, accountUid, }: OtelTotalTokensOptions): string;
24
26
  export {};
@@ -24,18 +24,19 @@ export function toMetricValue(row) {
24
24
  }
25
25
  return 0;
26
26
  }
27
- export async function fetchOtelMetricRows({ metric, serviceName, runUrl, apiKey, limit = 500, }) {
28
- if (!runUrl || !apiKey) {
27
+ export async function fetchOtelMetricRows({ metric, serviceName, datalayerUrl, apiKey, limit = 500, accountUid, }) {
28
+ if (!datalayerUrl || !apiKey) {
29
29
  return [];
30
30
  }
31
31
  const client = createOtelClient({
32
- baseUrl: runUrl,
32
+ baseUrl: datalayerUrl,
33
33
  token: apiKey,
34
34
  });
35
35
  const filtered = await client.fetchMetrics({
36
36
  metricName: metric,
37
37
  serviceName,
38
38
  limit,
39
+ accountUid,
39
40
  });
40
41
  if (filtered.data.length > 0 || !serviceName) {
41
42
  return filtered.data;
@@ -43,6 +44,7 @@ export async function fetchOtelMetricRows({ metric, serviceName, runUrl, apiKey,
43
44
  const fallback = await client.fetchMetrics({
44
45
  metricName: metric,
45
46
  limit,
47
+ accountUid,
46
48
  });
47
49
  return fallback.data;
48
50
  }
@@ -50,13 +52,14 @@ export async function fetchOtelMetricTotal(options) {
50
52
  const rows = await fetchOtelMetricRows(options);
51
53
  return rows.reduce((sum, row) => sum + toMetricValue(row), 0);
52
54
  }
53
- export async function fetchOtelTotalTokens({ serviceName, runUrl, apiKey, limit = 500, }) {
55
+ export async function fetchOtelTotalTokens({ serviceName, datalayerUrl, apiKey, limit = 500, accountUid, }) {
54
56
  const total = await fetchOtelMetricTotal({
55
57
  metric: 'agent_runtimes.prompt.turn.total_tokens',
56
58
  serviceName,
57
- runUrl,
59
+ datalayerUrl,
58
60
  apiKey,
59
61
  limit,
62
+ accountUid,
60
63
  });
61
64
  if (total > 0) {
62
65
  return total;
@@ -64,20 +67,22 @@ export async function fetchOtelTotalTokens({ serviceName, runUrl, apiKey, limit
64
67
  const prompt = await fetchOtelMetricTotal({
65
68
  metric: 'agent_runtimes.prompt.turn.prompt_tokens',
66
69
  serviceName,
67
- runUrl,
70
+ datalayerUrl,
68
71
  apiKey,
69
72
  limit,
73
+ accountUid,
70
74
  });
71
75
  const completion = await fetchOtelMetricTotal({
72
76
  metric: 'agent_runtimes.prompt.turn.completion_tokens',
73
77
  serviceName,
74
- runUrl,
78
+ datalayerUrl,
75
79
  apiKey,
76
80
  limit,
81
+ accountUid,
77
82
  });
78
83
  return prompt + completion;
79
84
  }
80
- export function useOtelTotalTokens({ serviceName, runUrl, apiKey, limit = 500, }) {
85
+ export function useOtelTotalTokens({ serviceName, datalayerUrl, apiKey, limit = 500, accountUid, }) {
81
86
  const [tokensLabel, setTokensLabel] = useState('-');
82
87
  useEffect(() => {
83
88
  let cancelled = false;
@@ -85,9 +90,10 @@ export function useOtelTotalTokens({ serviceName, runUrl, apiKey, limit = 500, }
85
90
  try {
86
91
  const total = await fetchOtelTotalTokens({
87
92
  serviceName,
88
- runUrl,
93
+ datalayerUrl,
89
94
  apiKey,
90
95
  limit,
96
+ accountUid,
91
97
  });
92
98
  if (cancelled) {
93
99
  return;
@@ -109,6 +115,6 @@ export function useOtelTotalTokens({ serviceName, runUrl, apiKey, limit = 500, }
109
115
  return () => {
110
116
  cancelled = true;
111
117
  };
112
- }, [apiKey, limit, runUrl, serviceName]);
118
+ }, [apiKey, limit, datalayerUrl, serviceName, accountUid]);
113
119
  return tokensLabel;
114
120
  }
@@ -1,16 +1,16 @@
1
1
  import type { NotificationFilters, ListAgentEventsParams, CreateAgentEventRequest, UpdateAgentEventRequest } from '../types';
2
- export declare function useFilteredNotifications(filters?: NotificationFilters): import("@tanstack/react-query").UseQueryResult<import("../types").AgentNotification[], Error>;
3
- export declare function useUnreadNotificationCount(): import("@tanstack/react-query").UseQueryResult<{
2
+ export declare function useFilteredNotifications(filters?: NotificationFilters): import("@tanstack/react-query").UseQueryResult<NoInfer<import("../types").AgentNotification[]>, Error>;
3
+ export declare function useUnreadNotificationCount(): import("@tanstack/react-query").UseQueryResult<NoInfer<{
4
4
  count: number;
5
- }, Error>;
5
+ }>, Error>;
6
6
  export declare function useMarkNotificationRead(): import("@tanstack/react-query").UseMutationResult<void, Error, string, unknown>;
7
7
  export declare function useMarkAllNotificationsRead(): import("@tanstack/react-query").UseMutationResult<void, Error, void, unknown>;
8
8
  /**
9
9
  * List events across all agents for the authenticated user.
10
10
  */
11
- export declare function useAllAgentEvents(params?: Omit<ListAgentEventsParams, 'agent_id'>, enabled?: boolean): import("@tanstack/react-query").UseQueryResult<import("../types").ListAgentEventsResponse, Error>;
12
- export declare function useAgentEvents(agentId: string, params?: Omit<ListAgentEventsParams, 'agent_id'>, enabled?: boolean): import("@tanstack/react-query").UseQueryResult<import("../types").ListAgentEventsResponse, Error>;
13
- export declare function useAgentEvent(agentId: string, eventId?: string): import("@tanstack/react-query").UseQueryResult<import("../types").GetAgentEventResponse, Error>;
11
+ export declare function useAllAgentEvents(params?: Omit<ListAgentEventsParams, 'agent_id'>, enabled?: boolean): import("@tanstack/react-query").UseQueryResult<NoInfer<import("../types").ListAgentEventsResponse>, Error>;
12
+ export declare function useAgentEvents(agentId: string, params?: Omit<ListAgentEventsParams, 'agent_id'>, enabled?: boolean): import("@tanstack/react-query").UseQueryResult<NoInfer<import("../types").ListAgentEventsResponse>, Error>;
13
+ export declare function useAgentEvent(agentId: string, eventId?: string): import("@tanstack/react-query").UseQueryResult<NoInfer<import("../types").GetAgentEventResponse>, Error>;
14
14
  export declare function useCreateAgentEvent(): import("@tanstack/react-query").UseMutationResult<{
15
15
  success: boolean;
16
16
  event: import("../types").AgentEvent;
@@ -34,14 +34,14 @@ export declare function useMarkEventUnread(agentId: string): import("@tanstack/r
34
34
  eventAgentId?: string;
35
35
  }, unknown>;
36
36
  export declare function useNotifications(agentId: string, filters?: NotificationFilters, eventParams?: Omit<ListAgentEventsParams, 'agent_id'>, eventId?: string): {
37
- notificationsQuery: import("@tanstack/react-query").UseQueryResult<import("../types").AgentNotification[], Error>;
38
- unreadCountQuery: import("@tanstack/react-query").UseQueryResult<{
37
+ notificationsQuery: import("@tanstack/react-query").UseQueryResult<NoInfer<import("../types").AgentNotification[]>, Error>;
38
+ unreadCountQuery: import("@tanstack/react-query").UseQueryResult<NoInfer<{
39
39
  count: number;
40
- }, Error>;
40
+ }>, Error>;
41
41
  markRead: import("@tanstack/react-query").UseMutationResult<void, Error, string, unknown>;
42
42
  markAllRead: import("@tanstack/react-query").UseMutationResult<void, Error, void, unknown>;
43
- eventsQuery: import("@tanstack/react-query").UseQueryResult<import("../types").ListAgentEventsResponse, Error>;
44
- eventQuery: import("@tanstack/react-query").UseQueryResult<import("../types").GetAgentEventResponse, Error>;
43
+ eventsQuery: import("@tanstack/react-query").UseQueryResult<NoInfer<import("../types").ListAgentEventsResponse>, Error>;
44
+ eventQuery: import("@tanstack/react-query").UseQueryResult<NoInfer<import("../types").GetAgentEventResponse>, Error>;
45
45
  createEvent: import("@tanstack/react-query").UseMutationResult<{
46
46
  success: boolean;
47
47
  event: import("../types").AgentEvent;
@@ -19,7 +19,7 @@ function useAuthToken() {
19
19
  }
20
20
  function useBaseUrl() {
21
21
  const config = useCoreStore((s) => s.configuration);
22
- return config?.aiagentsRunUrl ?? DEFAULT_SERVICE_URLS.AI_AGENTS;
22
+ return config?.aiAgentsUrl ?? DEFAULT_SERVICE_URLS.AI_AGENTS;
23
23
  }
24
24
  // ─── Base hooks ──────────────────────────────────────────────────────
25
25
  export function useFilteredNotifications(filters) {
@@ -0,0 +1,25 @@
1
+ /**
2
+ * State shape for the global top progress bar.
3
+ */
4
+ export type ProgressState = {
5
+ /** Map of currently-active task ids. */
6
+ tasks: Record<string, true>;
7
+ /** True while at least one task is active. */
8
+ isActive: boolean;
9
+ /**
10
+ * Mark a task as active. Returns the task id so callers can stop it later.
11
+ * When no id is supplied a unique one is generated.
12
+ */
13
+ startTask: (id?: string) => string;
14
+ /** Mark a task as no longer active. */
15
+ stopTask: (id: string) => void;
16
+ /**
17
+ * Bind the bar to a boolean loading flag for a given task id. Convenient
18
+ * inside effects: `setTaskActive('volumes', volumesLoading)`.
19
+ */
20
+ setTaskActive: (id: string, active: boolean) => void;
21
+ /** Clear every active task (hides the bar). */
22
+ reset: () => void;
23
+ };
24
+ export declare const useProgressStore: import("zustand").UseBoundStore<import("zustand").StoreApi<ProgressState>>;
25
+ export default useProgressStore;
@@ -0,0 +1,58 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Global "top progress bar" store.
7
+ *
8
+ * Drives a single, app-wide GitHub-style indeterminate progress bar rendered
9
+ * at the bottom edge of a view header. Any UI component can signal that
10
+ * background work is happening without owning its own spinner.
11
+ *
12
+ * Concurrency is handled by reference-counting active tasks keyed by an
13
+ * arbitrary id, so multiple overlapping loads keep the bar visible until the
14
+ * last one finishes. Use {@link ProgressState.setTaskActive} to bind the bar
15
+ * to a boolean loading flag, or {@link ProgressState.startTask} /
16
+ * {@link ProgressState.stopTask} for imperative start/stop pairs. The
17
+ * {@link useProgressTask} hook wraps this store for the common effect-driven
18
+ * case.
19
+ *
20
+ * @module hooks/useProgressStore
21
+ */
22
+ import { create } from 'zustand';
23
+ const computeActive = (tasks) => Object.keys(tasks).length > 0;
24
+ export const useProgressStore = create((set, get) => ({
25
+ tasks: {},
26
+ isActive: false,
27
+ startTask: id => {
28
+ const taskId = id || `progress-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
29
+ set(state => {
30
+ if (state.tasks[taskId]) {
31
+ return state;
32
+ }
33
+ const tasks = { ...state.tasks, [taskId]: true };
34
+ return { tasks, isActive: computeActive(tasks) };
35
+ });
36
+ return taskId;
37
+ },
38
+ stopTask: id => {
39
+ set(state => {
40
+ if (!state.tasks[id]) {
41
+ return state;
42
+ }
43
+ const tasks = { ...state.tasks };
44
+ delete tasks[id];
45
+ return { tasks, isActive: computeActive(tasks) };
46
+ });
47
+ },
48
+ setTaskActive: (id, active) => {
49
+ if (active) {
50
+ get().startTask(id);
51
+ }
52
+ else {
53
+ get().stopTask(id);
54
+ }
55
+ },
56
+ reset: () => set({ tasks: {}, isActive: false }),
57
+ }));
58
+ export default useProgressStore;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Drive the shared top progress bar from a boolean loading flag.
3
+ *
4
+ * @param id - Stable, unique task id (e.g. `'volumes'`). Distinct ids let
5
+ * concurrent loads coexist without prematurely hiding the bar.
6
+ * @param active - Whether the task is currently in progress.
7
+ */
8
+ export declare function useProgressTask(id: string, active: boolean): void;
9
+ export default useProgressTask;
@@ -0,0 +1,41 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Reusable hook that binds a boolean loading flag to the global top progress
7
+ * bar ({@link useProgressStore}). While `active` is true the shared bar shows
8
+ * activity; it is automatically released when `active` turns false or the
9
+ * component unmounts.
10
+ *
11
+ * Because the bar reference-counts tasks by id, multiple overlapping loads
12
+ * (across any views) keep the single app-wide bar visible until the last one
13
+ * completes.
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * const { isPending } = useVolumes();
18
+ * useProgressTask('volumes', isPending);
19
+ * ```
20
+ *
21
+ * @module hooks/useProgressTask
22
+ */
23
+ import { useEffect } from 'react';
24
+ import { useProgressStore } from './useProgressStore';
25
+ /**
26
+ * Drive the shared top progress bar from a boolean loading flag.
27
+ *
28
+ * @param id - Stable, unique task id (e.g. `'volumes'`). Distinct ids let
29
+ * concurrent loads coexist without prematurely hiding the bar.
30
+ * @param active - Whether the task is currently in progress.
31
+ */
32
+ export function useProgressTask(id, active) {
33
+ const setTaskActive = useProgressStore(state => state.setTaskActive);
34
+ useEffect(() => {
35
+ setTaskActive(id, active);
36
+ return () => {
37
+ setTaskActive(id, false);
38
+ };
39
+ }, [id, active, setTaskActive]);
40
+ }
41
+ export default useProgressTask;