@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
@@ -0,0 +1,252 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /*
3
+ * Copyright (c) 2025-2026 Datalayer, Inc.
4
+ * Distributed under the terms of the Modified BSD License.
5
+ */
6
+ /**
7
+ * EphemeralNotebook — an in-memory Jupyter notebook rendered next to the chat.
8
+ *
9
+ * The notebook model lives purely in memory (the `nbformat` content below is
10
+ * never persisted to a file) and is backed by a sandbox kernel obtained via
11
+ * `useJupyter`. This mirrors the pattern used by the notebook editor and the
12
+ * `NotebookNbformat` example, so the agent can drive the notebook through the
13
+ * registered notebook frontend tools while nothing is written to disk.
14
+ *
15
+ * The container structure (relative wrapper + absolutely positioned inner box
16
+ * + `#dla-Jupyter-Notebook` overrides) is copied from the notebook editor
17
+ * (`NotebookEditorPanel`) so the cells get a resolved height and actually
18
+ * render — a plain `height: 100%` collapses to zero inside a flex parent.
19
+ *
20
+ * @module chat/notebook/EphemeralNotebook
21
+ */
22
+ import { useEffect, useMemo, useRef, useState } from 'react';
23
+ import { ServerConnection, ServiceManager } from '@jupyterlab/services';
24
+ import { Box, DatalayerThemeProvider, getThemeConfig, useSystemColorMode, useThemeStore, } from '@datalayer/primer-addons';
25
+ import { Notebook, NotebookToolbar, CellSidebarExtension, CellSidebarButton, JupyterReactTheme, notebookStore, disposeServiceManager, } from '@datalayer/jupyter-react';
26
+ import { useAgentsRuntimes } from '../../hooks/useAgentRuntimes';
27
+ import { registerSandboxServiceManager } from '../../services/sandboxServiceManagers';
28
+ import { useProgressTask } from '../../hooks/useProgressTask';
29
+ /**
30
+ * Minimal in-memory notebook content. A single empty code cell is provided so
31
+ * the notebook renders immediately and the agent can insert/update cells.
32
+ */
33
+ const EPHEMERAL_NOTEBOOK_CONTENT = {
34
+ cells: [
35
+ {
36
+ cell_type: 'code',
37
+ source: [''],
38
+ metadata: {},
39
+ outputs: [],
40
+ execution_count: null,
41
+ },
42
+ ],
43
+ metadata: {
44
+ kernelspec: {
45
+ display_name: 'Python 3',
46
+ language: 'python',
47
+ name: 'python3',
48
+ },
49
+ language_info: { name: 'python' },
50
+ },
51
+ nbformat: 4,
52
+ nbformat_minor: 5,
53
+ };
54
+ /**
55
+ * Renders an in-memory notebook backed by a sandbox kernel.
56
+ */
57
+ export function EphemeralNotebook({ notebookId, runtimePodName, cellSidebarMargin = 120, nbformat, onNbformatChange, toolbarComponent, }) {
58
+ // The `nbformat` passed to the `Notebook` component MUST stay a stable
59
+ // reference for the lifetime of a given `notebookId`: the underlying
60
+ // `useNotebookModel` hook rebuilds the notebook model (and its context /
61
+ // adapter) every time the `nbformat` reference changes. Feeding the live
62
+ // model back into this prop would thrash the notebook and can persist
63
+ // transient/empty content. So we capture the initial/restore content ONCE
64
+ // per `notebookId` and never mutate it from the live model.
65
+ const initialNbformatRef = useRef(nbformat ?? EPHEMERAL_NOTEBOOK_CONTENT);
66
+ const initialNotebookIdRef = useRef(notebookId);
67
+ if (initialNotebookIdRef.current !== notebookId) {
68
+ // Notebook scope changed (e.g. switching agents) — reset the restore seed.
69
+ initialNotebookIdRef.current = notebookId;
70
+ initialNbformatRef.current = nbformat ?? EPHEMERAL_NOTEBOOK_CONTENT;
71
+ }
72
+ const initialNbformat = initialNbformatRef.current;
73
+ // Hash of the last content we persisted, so the poll only writes on change.
74
+ const lastSavedHashRef = useRef(JSON.stringify(initialNbformat));
75
+ // Resolve the runtime sandbox strictly by its assigned pod name. There is
76
+ // deliberately NO fallback to "first running" or `runtimes[0]`: the ephemeral
77
+ // notebook must bind to exactly the runtime assigned to this agent, or to
78
+ // none at all (straight path).
79
+ const { runtimes, refetchRuntimes } = useAgentsRuntimes();
80
+ const selectedRuntime = useMemo(() => {
81
+ const preferredPod = String(runtimePodName || '').trim();
82
+ if (!preferredPod) {
83
+ return undefined;
84
+ }
85
+ return runtimes.find(rt => String(rt?.pod_name || '') === preferredPod);
86
+ }, [runtimePodName, runtimes]);
87
+ // While the assigned pod has not yet appeared in the runtimes list, poll the
88
+ // list quickly instead of waiting for the default (10s) refresh interval.
89
+ // This is what makes the "Starting notebook…" state clear promptly once the
90
+ // agent runtime is ready, rather than lingering for several seconds.
91
+ const needsRuntimeLookup = Boolean(String(runtimePodName || '').trim() && !selectedRuntime);
92
+ useEffect(() => {
93
+ if (!needsRuntimeLookup) {
94
+ return;
95
+ }
96
+ void refetchRuntimes();
97
+ const intervalId = window.setInterval(() => {
98
+ void refetchRuntimes();
99
+ }, 1000);
100
+ return () => {
101
+ window.clearInterval(intervalId);
102
+ };
103
+ }, [needsRuntimeLookup, refetchRuntimes]);
104
+ const [runtimeServiceManager, setRuntimeServiceManager] = useState(null);
105
+ const [runtimeKernelId, setRuntimeKernelId] = useState(undefined);
106
+ const [runtimeStartDefaultKernel, setRuntimeStartDefaultKernel] = useState(false);
107
+ useEffect(() => {
108
+ let cancelled = false;
109
+ let manager = null;
110
+ let unregisterManager = null;
111
+ const connectRuntime = async () => {
112
+ const baseUrl = String(selectedRuntime?.url || '').trim();
113
+ if (!baseUrl) {
114
+ if (!cancelled) {
115
+ setRuntimeServiceManager(null);
116
+ setRuntimeKernelId(undefined);
117
+ setRuntimeStartDefaultKernel(false);
118
+ }
119
+ return;
120
+ }
121
+ try {
122
+ const token = String(selectedRuntime?.token || '').trim();
123
+ const serverSettings = ServerConnection.makeSettings({
124
+ baseUrl,
125
+ wsUrl: baseUrl.replace(/^http/, 'ws'),
126
+ token,
127
+ appendToken: true,
128
+ });
129
+ manager = new ServiceManager({ serverSettings });
130
+ // Central sandbox registry: runtime terminate/pause disposes this
131
+ // manager immediately so its pollers cannot hit the dead pod ingress.
132
+ unregisterManager = registerSandboxServiceManager(String(selectedRuntime?.pod_name || ''), manager);
133
+ await manager.ready;
134
+ await manager.kernels.refreshRunning();
135
+ const runningKernel = [...manager.kernels.running()][0];
136
+ if (!cancelled) {
137
+ setRuntimeServiceManager(manager);
138
+ setRuntimeKernelId(runningKernel?.id);
139
+ setRuntimeStartDefaultKernel(!runningKernel);
140
+ }
141
+ }
142
+ catch {
143
+ if (!cancelled) {
144
+ setRuntimeServiceManager(null);
145
+ setRuntimeKernelId(undefined);
146
+ setRuntimeStartDefaultKernel(false);
147
+ }
148
+ }
149
+ };
150
+ connectRuntime();
151
+ return () => {
152
+ cancelled = true;
153
+ unregisterManager?.();
154
+ if (manager) {
155
+ disposeServiceManager(manager);
156
+ }
157
+ };
158
+ }, [selectedRuntime?.pod_name, selectedRuntime?.url, selectedRuntime?.token]);
159
+ // Bind strictly to the agent runtime sandbox; there is NO local fallback
160
+ // kernel. The notebook executes on the agent's runtime or shows a waiting
161
+ // state until the runtime is ready.
162
+ const activeServiceManager = runtimeServiceManager;
163
+ const activeKernelId = runtimeKernelId;
164
+ const activeStartDefaultKernel = runtimeStartDefaultKernel;
165
+ const ToolbarComponent = toolbarComponent || NotebookToolbar;
166
+ const isRuntimeStarting = Boolean(String(runtimePodName || '').trim() && !activeServiceManager);
167
+ useProgressTask(`ephemeral-notebook-start-${notebookId}`, isRuntimeStarting);
168
+ useEffect(() => {
169
+ // Read the CURRENT live notebook model straight from the notebook store.
170
+ // The `NotebookAdapter` exposes `notebook` (the widget, whose `.model` is
171
+ // the `INotebookModel`) and `panel` (`panel.content.model`). There is NO
172
+ // `notebookPanel` getter, so we read through those real accessors.
173
+ const readLiveModel = () => {
174
+ const notebook = notebookStore.getState().selectNotebook(notebookId);
175
+ const adapter = notebook?.adapter;
176
+ const model = adapter?.notebook?.model ?? adapter?.panel?.content?.model ?? null;
177
+ const modelJson = model?.toJSON?.();
178
+ return modelJson ?? null;
179
+ };
180
+ // Persist the current model to the store, but only when it actually
181
+ // changed. This never feeds back into the `nbformat` prop, so the live
182
+ // notebook is not rebuilt.
183
+ const persistLiveModel = () => {
184
+ const model = readLiveModel();
185
+ if (!model || !Array.isArray(model.cells)) {
186
+ return;
187
+ }
188
+ const nextHash = JSON.stringify(model);
189
+ if (nextHash === lastSavedHashRef.current) {
190
+ return;
191
+ }
192
+ lastSavedHashRef.current = nextHash;
193
+ onNbformatChange?.(model);
194
+ };
195
+ const intervalId = window.setInterval(persistLiveModel, 500);
196
+ return () => {
197
+ window.clearInterval(intervalId);
198
+ // Capture the final model on unmount (navigating away) so the very last
199
+ // edits are persisted before the notebook adapter is disposed.
200
+ persistLiveModel();
201
+ };
202
+ }, [activeServiceManager, notebookId, onNbformatChange]);
203
+ // Resolve the active theme/color-mode exactly like the notebook editor
204
+ // (NotebookEditorPanel) so the notebook honours dark / branded themes
205
+ // instead of always rendering light.
206
+ const { colorMode, theme: themeVariant } = useThemeStore();
207
+ const systemMode = useSystemColorMode();
208
+ const themeConfig = getThemeConfig(themeVariant);
209
+ const resolvedMode = colorMode === 'auto' ? systemMode : colorMode;
210
+ const modeStyles = resolvedMode === 'dark'
211
+ ? themeConfig.themeStyles.dark
212
+ : themeConfig.themeStyles.light;
213
+ const themeBackground = modeStyles.backgroundColor ?? '';
214
+ const extensions = useMemo(() => [new CellSidebarExtension({ factory: CellSidebarButton })], []);
215
+ return (_jsx(Box, { sx: {
216
+ flex: 1,
217
+ minHeight: 0,
218
+ height: '100%',
219
+ position: 'relative',
220
+ overflow: 'hidden',
221
+ bg: 'canvas.default',
222
+ }, children: activeServiceManager ? (_jsx(DatalayerThemeProvider, { colorMode: colorMode, theme: themeConfig.primerTheme, themeStyles: themeConfig.themeStyles, children: _jsx(JupyterReactTheme, { colormode: resolvedMode, backgroundColor: themeBackground, children: _jsx(Box, { sx: {
223
+ position: 'absolute',
224
+ inset: 0,
225
+ display: 'flex',
226
+ flexDirection: 'column',
227
+ overflow: 'hidden',
228
+ overscrollBehaviorY: 'contain',
229
+ overflowAnchor: 'none',
230
+ padding: 2,
231
+ // Give the notebook a resolved height so cells render. The
232
+ // Jupyter Notebook component renders its outer container with
233
+ // id "dla-Jupyter-Notebook"; pin its toolbar and let the cell
234
+ // area grow to fill the remaining space.
235
+ '& #dla-Jupyter-Notebook': {
236
+ display: 'flex',
237
+ flexDirection: 'column',
238
+ },
239
+ '& #dla-Jupyter-Notebook > :first-of-type': {
240
+ position: 'sticky',
241
+ top: 0,
242
+ zIndex: 2,
243
+ flex: '0 0 auto',
244
+ background: 'var(--jp-layout-color0, transparent)',
245
+ },
246
+ '& #dla-Jupyter-Notebook > .dla-Box-Notebook': {
247
+ flex: '1 1 auto',
248
+ minHeight: 0,
249
+ },
250
+ }, children: _jsx(Notebook, { nbformat: initialNbformat, id: notebookId, serviceManager: activeServiceManager, startDefaultKernel: activeStartDefaultKernel, kernelId: activeKernelId, height: "100%", cellSidebarMargin: cellSidebarMargin, extensions: extensions, Toolbar: ToolbarComponent }) }) }) })) : null }));
251
+ }
252
+ export default EphemeralNotebook;
@@ -27,7 +27,7 @@ export function InputToolbar({ input, setInput, isLoading, kernelStatus, connect
27
27
  const hasSelectorsContent = hasConfigData || hasSkillsData;
28
28
  // Show token usage when we have valid context data
29
29
  const hasContext = Boolean(agentUsage && !agentUsage.error && agentUsage.totalTokens > 0);
30
- return (_jsxs(Box, { children: [_jsx(InputPrompt, { placeholder: placeholder || 'Type a message...', isLoading: isLoading, isKernelBusy: isKernelBusy, disabled: disableInputPrompt, readOnly: !connectionConfirmed, onSend: onSend, onStop: onStop, autoFocus: autoFocus, focusTrigger: focusTrigger, padding: padding, value: input, onChange: setInput, footerRightContent: _jsxs(_Fragment, { children: [_jsx(McpStatusIndicator, { apiBase: apiBase, authToken: authToken, data: mcpStatusData }), _jsx(SkillsStatusIndicator, { skillsCount: skills.length, enabledCount: enabledSkills.size, loading: skillsLoading })] }) }), showTokenUsage && (_jsx(Box, { sx: { minHeight: hasContext && agentUsage ? 28 : 8 }, children: hasContext && agentUsage ? (_jsx(TokenUsageBar, { agentUsage: agentUsage, padding: padding })) : null })), showSelectorsBar && (_jsx(Box, { sx: {
30
+ return (_jsxs(Box, { children: [_jsx(InputPrompt, { placeholder: placeholder || 'Type a message...', isLoading: isLoading, isKernelBusy: isKernelBusy, disabled: disableInputPrompt, readOnly: !connectionConfirmed, onSend: onSend, onStop: onStop, autoFocus: autoFocus, focusTrigger: focusTrigger, padding: padding, value: input, onChange: setInput, footerRightContent: _jsxs(_Fragment, { children: [_jsx(McpStatusIndicator, { apiBase: apiBase, authToken: authToken, data: mcpStatusData }), _jsx(SkillsStatusIndicator, { skillsCount: skills.length, enabledCount: enabledSkills.size, loading: skillsLoading })] }) }), showTokenUsage && (_jsx(Box, { sx: { minHeight: hasContext && agentUsage ? 28 : 8 }, children: hasContext && agentUsage ? (_jsx(TokenUsageBar, { agentUsage: agentUsage, padding: padding })) : null })), showSelectorsBar && (_jsx(Box, { "aria-disabled": disableInputPrompt || undefined, sx: {
31
31
  display: 'flex',
32
32
  gap: 2,
33
33
  px: padding,
@@ -37,6 +37,9 @@ export function InputToolbar({ input, setInput, isLoading, kernelStatus, connect
37
37
  borderColor: 'border.default',
38
38
  alignItems: 'center',
39
39
  bg: 'canvas.subtle',
40
+ ...(disableInputPrompt
41
+ ? { opacity: 0.5, pointerEvents: 'none', filter: 'grayscale(1)' }
42
+ : null),
40
43
  }, children: hasSelectorsContent ? (_jsxs(_Fragment, { children: [showToolsMenu && (_jsx(ToolsMenu, { codemodeEnabled: codemodeEnabled, onToggleCodemode: onToggleCodemode, mcpServers: mcpServers, enabledMcpTools: enabledMcpTools, enabledMcpToolCount: enabledMcpToolCount, onToggleMcpTool: onToggleMcpTool, onToggleAllMcpServerTools: onToggleAllMcpServerTools, approvedMcpTools: approvedMcpTools, onToggleMcpToolApproval: onToggleMcpToolApproval, availableTools: availableTools })), showSkillsMenu && (_jsx(SkillsMenu, { skills: skills, skillsLoading: skillsLoading, enabledSkills: enabledSkills, onToggleSkill: onToggleSkill, onToggleAllSkills: onToggleAllSkills, approvedSkills: approvedSkills, onToggleSkillApproval: onToggleSkillApproval })), showModelSelector && models.length > 0 && selectedModel && (_jsx(ModelSelector, { models: models, selectedModel: selectedModel, onModelSelect: onModelSelect, isA2AProtocol: isA2AProtocol }))] })) : (_jsx(Text, { sx: { fontSize: 0, color: 'fg.muted' }, children: "Loading controls..." })) }))] }));
41
44
  }
42
45
  // ---------------------------------------------------------------------------
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Agent Runtimes client: extends the core Datalayer client (IAM / plans) with
3
+ * runtime and workspace/content (Spacer) capabilities.
4
+ *
5
+ * @module client/AgentRuntimesClient
6
+ */
7
+ import { DatalayerCoreClient, type DatalayerClientConfig } from '@datalayer/core/lib/client';
8
+ import type { HealthCheck } from '@datalayer/core/lib/models/HealthCheck';
9
+ import type { RuntimeDTO } from '../models/RuntimeDTO';
10
+ import type { EnvironmentDTO } from '../models/EnvironmentDTO';
11
+ import type { CodeSandboxSnapshotDTO } from '../models/CodeSandboxSnapshotDTO';
12
+ import type { SpaceDTO, UpdateSpaceRequest } from '../models/SpaceDTO';
13
+ import type { NotebookDTO } from '../models/NotebookDTO';
14
+ import type { LexicalDTO } from '../models/LexicalDTO';
15
+ import type { ProjectDTO, ProjectDefaultItems } from '../models/ProjectDTO';
16
+ declare const AgentRuntimesClientWithMixins: {
17
+ new (...args: any[]): {
18
+ getMySpaces(): Promise<SpaceDTO[]>;
19
+ createSpace(name: string, description: string, variant: string, spaceHandle: string, organizationId: string, seedSpaceId: string, isPublic: boolean): Promise<SpaceDTO>;
20
+ createNotebook(spaceId: string, name: string, description: string, file?: File | Blob): Promise<NotebookDTO>;
21
+ getNotebook(id: string): Promise<NotebookDTO>;
22
+ updateNotebook(id: string, name?: string, description?: string): Promise<NotebookDTO>;
23
+ createLexical(spaceId: string, name: string, description: string, file?: File | Blob): Promise<LexicalDTO>;
24
+ getLexical(id: string): Promise<LexicalDTO>;
25
+ updateLexical(id: string, name?: string, description?: string): Promise<LexicalDTO>;
26
+ getSpaceItems(spaceId: string): Promise<(NotebookDTO | LexicalDTO)[]>;
27
+ getSpaceItem(itemId: string): Promise<NotebookDTO | LexicalDTO>;
28
+ deleteSpaceItem(itemId: string): Promise<void>;
29
+ getContent(itemId: string): Promise<any>;
30
+ checkSpacerHealth(): Promise<HealthCheck>;
31
+ getCollaborationSessionId(documentId: string): Promise<string>;
32
+ getSpace(uid: string): Promise<SpaceDTO>;
33
+ updateSpace(uid: string, data: UpdateSpaceRequest): Promise<SpaceDTO>;
34
+ updateUserSpace(uid: string, userId: string, data: UpdateSpaceRequest): Promise<SpaceDTO>;
35
+ deleteSpace(uid: string): Promise<void>;
36
+ makeSpacePublic(uid: string): Promise<SpaceDTO>;
37
+ makeSpacePrivate(uid: string): Promise<SpaceDTO>;
38
+ exportSpace(uid: string): Promise<any>;
39
+ cloneNotebook(id: string): Promise<NotebookDTO>;
40
+ cloneLexical(id: string): Promise<LexicalDTO>;
41
+ getProjects(): Promise<ProjectDTO[]>;
42
+ getProject(uid: string): Promise<ProjectDTO>;
43
+ createProject(name: string, description?: string): Promise<ProjectDTO>;
44
+ updateProject(uid: string, data: UpdateSpaceRequest): Promise<ProjectDTO>;
45
+ renameProject(uid: string, newName: string, description?: string): Promise<ProjectDTO>;
46
+ getProjectDefaultItems(uid: string): Promise<ProjectDefaultItems>;
47
+ };
48
+ } & {
49
+ new (...args: any[]): {
50
+ _extractRuntimePodName(runtimePodNameOrInstance: string | RuntimeDTO): string;
51
+ _extractSnapshotId(snapshotIdOrInstance: string | CodeSandboxSnapshotDTO): string;
52
+ listEnvironments(): Promise<EnvironmentDTO[]>;
53
+ createRuntime(environmentName: string, type: "notebook" | "terminal" | "job", givenName: string, minutesLimit: number, fromSnapshotId?: string): Promise<RuntimeDTO>;
54
+ listRuntimes(): Promise<RuntimeDTO[]>;
55
+ getRuntime(podName: string): Promise<RuntimeDTO>;
56
+ deleteRuntime(podName: string): Promise<void>;
57
+ terminateAllRuntimes(): Promise<PromiseSettledResult<void>[]>;
58
+ createSnapshot(podName: string, name: string, description: string, stop?: boolean): Promise<CodeSandboxSnapshotDTO>;
59
+ listSnapshots(): Promise<CodeSandboxSnapshotDTO[]>;
60
+ getSnapshot(id: string): Promise<CodeSandboxSnapshotDTO>;
61
+ deleteSnapshot(id: string): Promise<void>;
62
+ checkRuntimesHealth(): Promise<HealthCheck>;
63
+ };
64
+ } & typeof DatalayerCoreClient;
65
+ /**
66
+ * Full Datalayer client for agent runtimes: identity/plans (from core) plus
67
+ * runtime and workspace/content operations.
68
+ *
69
+ * @example
70
+ * ```typescript
71
+ * const client = new AgentRuntimesClient({ token: 'your-token' });
72
+ * const user = await client.whoami();
73
+ * const runtime = await client.createRuntime('env', 'notebook', 'name', 10);
74
+ * ```
75
+ */
76
+ export declare class AgentRuntimesClient extends AgentRuntimesClientWithMixins {
77
+ /**
78
+ * Create an AgentRuntimesClient instance.
79
+ *
80
+ * @param config - Client configuration options.
81
+ */
82
+ constructor(config: DatalayerClientConfig);
83
+ }
84
+ export interface AgentRuntimesClient extends DatalayerCoreClient {
85
+ listEnvironments(): Promise<EnvironmentDTO[]>;
86
+ ensureRuntime(environmentName?: string, creditsLimit?: number, waitForReady?: boolean, maxWaitTime?: number, reuseExisting?: boolean, snapshotId?: string): Promise<RuntimeDTO>;
87
+ createRuntime(environmentName: string, type: 'notebook' | 'terminal' | 'job', givenName: string, minutesLimit: number, fromSnapshotId?: string): Promise<RuntimeDTO>;
88
+ listRuntimes(): Promise<RuntimeDTO[]>;
89
+ getRuntime(podName: string): Promise<RuntimeDTO>;
90
+ deleteRuntime(podName: string): Promise<void>;
91
+ terminateAllRuntimes(): Promise<PromiseSettledResult<void>[]>;
92
+ createSnapshot(podName: string, name: string, description: string, stop?: boolean): Promise<CodeSandboxSnapshotDTO>;
93
+ listSnapshots(): Promise<CodeSandboxSnapshotDTO[]>;
94
+ getSnapshot(id: string): Promise<CodeSandboxSnapshotDTO>;
95
+ deleteSnapshot(id: string): Promise<void>;
96
+ checkRuntimesHealth(): Promise<HealthCheck>;
97
+ getMySpaces(): Promise<SpaceDTO[]>;
98
+ createSpace(name: string, description: string, variant: string, spaceHandle: string, organizationId: string, seedSpaceId: string, isPublic: boolean): Promise<SpaceDTO>;
99
+ createNotebook(spaceId: string, name: string, description: string, file?: File | Blob): Promise<NotebookDTO>;
100
+ getNotebook(id: string): Promise<NotebookDTO>;
101
+ updateNotebook(id: string, name?: string, description?: string): Promise<NotebookDTO>;
102
+ createLexical(spaceId: string, name: string, description: string, file?: File | Blob): Promise<LexicalDTO>;
103
+ getLexical(id: string): Promise<LexicalDTO>;
104
+ updateLexical(id: string, name?: string, description?: string): Promise<LexicalDTO>;
105
+ getSpaceItems(spaceId: string): Promise<(NotebookDTO | LexicalDTO)[]>;
106
+ getSpaceItem(itemId: string): Promise<NotebookDTO | LexicalDTO>;
107
+ deleteSpaceItem(itemId: string): Promise<void>;
108
+ getCollaborationSessionId(documentId: string): Promise<string>;
109
+ getContent(itemId: string): Promise<any>;
110
+ checkSpacerHealth(): Promise<HealthCheck>;
111
+ getSpace(uid: string): Promise<SpaceDTO>;
112
+ updateSpace(uid: string, data: UpdateSpaceRequest): Promise<SpaceDTO>;
113
+ updateUserSpace(uid: string, userId: string, data: UpdateSpaceRequest): Promise<SpaceDTO>;
114
+ deleteSpace(uid: string): Promise<void>;
115
+ makeSpacePublic(uid: string): Promise<SpaceDTO>;
116
+ makeSpacePrivate(uid: string): Promise<SpaceDTO>;
117
+ exportSpace(uid: string): Promise<any>;
118
+ cloneNotebook(id: string): Promise<NotebookDTO>;
119
+ cloneLexical(id: string): Promise<LexicalDTO>;
120
+ getProjects(): Promise<ProjectDTO[]>;
121
+ getProject(uid: string): Promise<ProjectDTO>;
122
+ createProject(name: string, description?: string): Promise<ProjectDTO>;
123
+ updateProject(uid: string, data: UpdateSpaceRequest): Promise<ProjectDTO>;
124
+ renameProject(uid: string, newName: string, description?: string): Promise<ProjectDTO>;
125
+ getProjectDefaultItems(uid: string): Promise<ProjectDefaultItems>;
126
+ }
127
+ export {};
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Agent Runtimes client: extends the core Datalayer client (IAM / plans) with
7
+ * runtime and workspace/content (Spacer) capabilities.
8
+ *
9
+ * @module client/AgentRuntimesClient
10
+ */
11
+ import { DatalayerCoreClient, } from '@datalayer/core/lib/client';
12
+ import { RuntimesMixin } from './mixins/RuntimesMixin';
13
+ import { SpacerMixin } from './mixins/SpacerMixin';
14
+ // Apply the runtime + content mixins on top of the core client.
15
+ const AgentRuntimesClientWithMixins = SpacerMixin(RuntimesMixin(DatalayerCoreClient));
16
+ /**
17
+ * Full Datalayer client for agent runtimes: identity/plans (from core) plus
18
+ * runtime and workspace/content operations.
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * const client = new AgentRuntimesClient({ token: 'your-token' });
23
+ * const user = await client.whoami();
24
+ * const runtime = await client.createRuntime('env', 'notebook', 'name', 10);
25
+ * ```
26
+ */
27
+ export class AgentRuntimesClient extends AgentRuntimesClientWithMixins {
28
+ /**
29
+ * Create an AgentRuntimesClient instance.
30
+ *
31
+ * @param config - Client configuration options.
32
+ */
33
+ constructor(config) {
34
+ super(config);
35
+ }
36
+ }
@@ -11,7 +11,7 @@
11
11
  * @module client/AgentsMixin
12
12
  */
13
13
  import type { Constructor } from '@datalayer/core/lib/client/utils/mixins';
14
- import type { AgentEvent, CreateAgentEventRequest, GetAgentEventResponse, ListAgentEventsParams, ListAgentEventsResponse, UpdateAgentEventRequest, RunningAgent, AgentUsageSummary, ConversationCheckpoint, AgentNotification, NotificationFilters, OutputArtifact, EvalReport, RunEvalsRequest, ContextUsage, CostUsage, AgentSpec } from '../types';
14
+ import type { AgentEvent, CreateAgentEventRequest, GetAgentEventResponse, ListAgentEventsParams, ListAgentEventsResponse, UpdateAgentEventRequest, RunningAgent, AgentUsageSummary, ConversationCheckpoint, AgentNotification, NotificationFilters, OutputArtifact, EvalReport, RunEvalsRequest, ContextUsage, CostUsage, Agentspec } from '../types';
15
15
  import type { CreateAgentRuntimeRequest, CreateRuntimeApiResponse } from '../types/agents-lifecycle';
16
16
  /** Agents mixin providing durable agent management. */
17
17
  export declare function AgentsMixin<TBase extends Constructor>(Base: TBase): {
@@ -153,19 +153,19 @@ export declare function AgentsMixin<TBase extends Constructor>(Base: TBase): {
153
153
  * @param agentSpecId - Agent spec identifier.
154
154
  * @returns The agent spec, or undefined if not found.
155
155
  */
156
- getAgentSpec(agentSpecId: string): AgentSpec | undefined;
156
+ getAgentspec(agentSpecId: string): Agentspec | undefined;
157
157
  /**
158
158
  * List all available agent specifications.
159
159
  * @param prefix - If provided, only return specs whose ID starts with this prefix.
160
160
  * @returns Array of agent specifications.
161
161
  */
162
- listAgentSpecs(prefix?: string): AgentSpec[];
162
+ listAgentspecs(prefix?: string): Agentspec[];
163
163
  /**
164
164
  * Get required environment variables for an agent spec.
165
165
  * @param spec - The agent specification.
166
166
  * @returns Deduplicated array of required environment variable names.
167
167
  */
168
- getAgentSpecRequiredEnvVars(spec: AgentSpec): string[];
168
+ getAgentspecRequiredEnvVars(spec: Agentspec): string[];
169
169
  /**
170
170
  * Assign an agent runtime to a project.
171
171
  * @param projectUid - Project UID.