@datalayer/agent-runtimes 1.0.10 → 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 (448) 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 +429 -39
  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.js +28 -28
  65. package/lib/client/SdkAgentRuntimesClient.d.ts +1 -1
  66. package/lib/client/SdkAgentRuntimesClient.js +1 -1
  67. package/lib/client/mixins/RuntimesMixin.d.ts +93 -0
  68. package/lib/client/mixins/RuntimesMixin.js +229 -0
  69. package/lib/client/mixins/SpacerMixin.d.ts +210 -0
  70. package/lib/client/mixins/SpacerMixin.js +615 -0
  71. package/lib/client/utils/spacerUtils.d.ts +18 -0
  72. package/lib/client/utils/spacerUtils.js +32 -0
  73. package/lib/collaboration/DatalayerCollaboration.d.ts +13 -0
  74. package/lib/collaboration/DatalayerCollaboration.js +28 -0
  75. package/lib/collaboration/DatalayerCollaborationProvider.d.ts +58 -0
  76. package/lib/collaboration/DatalayerCollaborationProvider.js +148 -0
  77. package/lib/collaboration/index.d.ts +2 -0
  78. package/lib/collaboration/index.js +6 -0
  79. package/lib/components/AgentSummary.d.ts +19 -0
  80. package/lib/components/AgentSummary.js +89 -0
  81. package/lib/components/a2ui/A2uiSurfaceComposed.d.ts +13 -0
  82. package/lib/components/a2ui/A2uiSurfaceComposed.js +110 -0
  83. package/lib/components/a2ui/index.d.ts +2 -0
  84. package/lib/components/a2ui/index.js +6 -0
  85. package/lib/components/a2ui/styles.d.ts +14 -0
  86. package/lib/components/a2ui/styles.js +142 -0
  87. package/lib/components/context/SpaceSelect.d.ts +2 -0
  88. package/lib/components/context/SpaceSelect.js +42 -0
  89. package/lib/components/flashes/FlashDisclaimer.d.ts +2 -0
  90. package/lib/components/flashes/FlashDisclaimer.js +17 -0
  91. package/lib/components/icons/ArtifactIcon.d.ts +10 -0
  92. package/lib/components/icons/ArtifactIcon.js +58 -0
  93. package/lib/components/icons/index.d.ts +1 -0
  94. package/lib/components/icons/index.js +5 -0
  95. package/lib/components/index.d.ts +5 -0
  96. package/lib/components/index.js +5 -0
  97. package/lib/components/nbgrader/NbGradesDetails.d.ts +5 -0
  98. package/lib/components/nbgrader/NbGradesDetails.js +19 -0
  99. package/lib/components/nbgrader/index.d.ts +1 -0
  100. package/lib/components/nbgrader/index.js +5 -0
  101. package/lib/components/progress/CreditsIndicator.d.ts +33 -0
  102. package/lib/components/progress/CreditsIndicator.js +23 -0
  103. package/lib/components/progress/index.d.ts +2 -0
  104. package/lib/components/progress/index.js +6 -0
  105. package/lib/components/runtimes/RuntimeCellVariables.d.ts +39 -0
  106. package/lib/components/runtimes/RuntimeCellVariables.js +172 -0
  107. package/lib/components/runtimes/RuntimeCellVariablesDialog.d.ts +37 -0
  108. package/lib/components/runtimes/RuntimeCellVariablesDialog.js +101 -0
  109. package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +57 -0
  110. package/lib/components/runtimes/RuntimeLauncherDialog.js +275 -0
  111. package/lib/components/runtimes/RuntimePickerBase.d.ts +69 -0
  112. package/lib/components/runtimes/RuntimePickerBase.js +122 -0
  113. package/lib/components/runtimes/RuntimePickerCell.d.ts +34 -0
  114. package/lib/components/runtimes/RuntimePickerCell.js +104 -0
  115. package/lib/components/runtimes/RuntimePickerNotebook.d.ts +42 -0
  116. package/lib/components/runtimes/RuntimePickerNotebook.js +232 -0
  117. package/lib/components/runtimes/RuntimeReservationControl.d.ts +47 -0
  118. package/lib/components/runtimes/RuntimeReservationControl.js +42 -0
  119. package/lib/components/runtimes/RuntimeSimplePicker.d.ts +38 -0
  120. package/lib/components/runtimes/RuntimeSimplePicker.js +155 -0
  121. package/lib/components/runtimes/RuntimeTransfer.d.ts +16 -0
  122. package/lib/components/runtimes/RuntimeTransfer.js +5 -0
  123. package/lib/components/runtimes/RuntimeUtils.d.ts +17 -0
  124. package/lib/components/runtimes/RuntimeUtils.js +178 -0
  125. package/lib/components/runtimes/RuntimeVariables.d.ts +38 -0
  126. package/lib/components/runtimes/RuntimeVariables.js +75 -0
  127. package/lib/components/runtimes/index.d.ts +11 -0
  128. package/lib/components/runtimes/index.js +15 -0
  129. package/lib/components/scheduler/ScheduleMenu.d.ts +54 -0
  130. package/lib/components/scheduler/ScheduleMenu.js +154 -0
  131. package/lib/components/scheduler/index.d.ts +1 -0
  132. package/lib/components/scheduler/index.js +5 -0
  133. package/lib/components/snapshots/SandboxSnapshotMenu.d.ts +33 -0
  134. package/lib/components/snapshots/SandboxSnapshotMenu.js +169 -0
  135. package/lib/components/snapshots/index.d.ts +1 -0
  136. package/lib/components/snapshots/index.js +5 -0
  137. package/lib/components/snippets/SnippetDialog.d.ts +42 -0
  138. package/lib/components/snippets/SnippetDialog.js +42 -0
  139. package/lib/components/students/StudentItemStatus.d.ts +7 -0
  140. package/lib/components/students/StudentItemStatus.js +68 -0
  141. package/lib/components/students/index.d.ts +1 -0
  142. package/lib/components/students/index.js +5 -0
  143. package/lib/components/tokens/SpaceVariantToken.d.ts +5 -0
  144. package/lib/components/tokens/SpaceVariantToken.js +23 -0
  145. package/lib/components/tokens/index.d.ts +1 -0
  146. package/lib/components/tokens/index.js +5 -0
  147. package/lib/components/toolbars/AssignmentEditorToolbar.d.ts +4 -0
  148. package/lib/components/toolbars/AssignmentEditorToolbar.js +18 -0
  149. package/lib/components/toolbars/DocumentEditorToolbar.d.ts +2 -0
  150. package/lib/components/toolbars/DocumentEditorToolbar.js +12 -0
  151. package/lib/components/toolbars/NotebookEditorToolbar.d.ts +29 -0
  152. package/lib/components/toolbars/NotebookEditorToolbar.js +30 -0
  153. package/lib/context/ContextInspector.d.ts +1 -14
  154. package/lib/context/ContextInspector.js +3 -73
  155. package/lib/context/CostUsageChart.d.ts +4 -3
  156. package/lib/context/CostUsageChart.js +236 -35
  157. package/lib/context/MessageHistory.d.ts +30 -0
  158. package/lib/context/MessageHistory.js +129 -0
  159. package/lib/context/TokenUsageChart.d.ts +4 -3
  160. package/lib/context/TokenUsageChart.js +180 -30
  161. package/lib/context/TurnGraphChart.d.ts +1 -1
  162. package/lib/context/TurnGraphChart.js +6 -6
  163. package/lib/examples/A2UiAgentExample.d.ts +22 -0
  164. package/lib/examples/A2UiAgentExample.js +442 -0
  165. package/lib/examples/A2UiComponentsGalleryExample.d.ts +3 -0
  166. package/lib/examples/A2UiComponentsGalleryExample.js +863 -0
  167. package/lib/examples/A2UiContactCardExample.js +9 -5
  168. package/lib/examples/A2UiRestaurantExample.js +23 -8
  169. package/lib/examples/A2UiViewerExample.js +75 -3
  170. package/lib/examples/AgUiAgenticExample.d.ts +1 -12
  171. package/lib/examples/AgUiAgenticExample.js +52 -8
  172. package/lib/examples/AgUiBackendToolRenderingExample.d.ts +1 -16
  173. package/lib/examples/AgUiBackendToolRenderingExample.js +32 -17
  174. package/lib/examples/AgUiHaikuGenUiExample.d.ts +1 -17
  175. package/lib/examples/AgUiHaikuGenUiExample.js +49 -33
  176. package/lib/examples/AgUiHumanInTheLoopExample.d.ts +1 -12
  177. package/lib/examples/AgUiHumanInTheLoopExample.js +21 -6
  178. package/lib/examples/AgUiSharedStateExample.d.ts +1 -14
  179. package/lib/examples/AgUiSharedStateExample.js +21 -6
  180. package/lib/examples/AgUiToolsBasedGenUiExample.d.ts +1 -14
  181. package/lib/examples/AgUiToolsBasedGenUiExample.js +21 -6
  182. package/lib/examples/AgentCheckpointsExample.d.ts +1 -1
  183. package/lib/examples/AgentCheckpointsExample.js +9 -10
  184. package/lib/examples/AgentCodemodeExample.js +3 -3
  185. package/lib/examples/AgentEvalsExample.js +5 -5
  186. package/lib/examples/AgentGuardrailsExample.js +17 -12
  187. package/lib/examples/AgentHooksExample.js +14 -55
  188. package/lib/examples/AgentInferenceProviderExample.js +4 -4
  189. package/lib/examples/AgentLoopExample.d.ts +10 -0
  190. package/lib/examples/AgentLoopExample.js +304 -0
  191. package/lib/examples/AgentMCPExample.js +7 -7
  192. package/lib/examples/AgentMemoryExample.js +4 -4
  193. package/lib/examples/AgentMonitoringExample.js +114 -44
  194. package/lib/examples/AgentNotificationsExample.js +4 -4
  195. package/lib/examples/AgentOtelExample.d.ts +3 -3
  196. package/lib/examples/AgentOtelExample.js +15 -10
  197. package/lib/examples/AgentOutputsExample.js +6 -6
  198. package/lib/examples/AgentParametersExample.js +21 -33
  199. package/lib/examples/AgentSandboxExample.js +5 -5
  200. package/lib/examples/AgentSkillsExample.js +7 -7
  201. package/lib/examples/AgentSubagentsExample.js +4 -4
  202. package/lib/examples/AgentToolApprovalsExample.js +5 -5
  203. package/lib/examples/AgentTriggersExample.js +9 -9
  204. package/lib/examples/AgentspecsExample.js +63 -41
  205. package/lib/examples/ChatCustomExample.js +23 -77
  206. package/lib/examples/ChatExample.js +13 -44
  207. package/lib/examples/LexicalAgentExample.js +43 -91
  208. package/lib/examples/LexicalAgentSidebarExample.js +45 -73
  209. package/lib/examples/NotebookAgentExample.js +52 -81
  210. package/lib/examples/NotebookAgentSidebarExample.js +43 -71
  211. package/lib/examples/NotebookCollaborationExample.js +11 -9
  212. package/lib/examples/NotebookExample.js +5 -2
  213. package/lib/examples/components/AuthRequiredView.js +1 -1
  214. package/lib/examples/components/ExampleErrorBoundary.d.ts +46 -0
  215. package/lib/examples/components/ExampleErrorBoundary.js +67 -0
  216. package/lib/examples/components/haiku/haiku-card.css +11 -0
  217. package/lib/examples/components/weather/weather-card.css +11 -0
  218. package/lib/examples/example-selector.js +3 -1
  219. package/lib/examples/hooks/useExampleAgentRuntime.d.ts +35 -0
  220. package/lib/examples/hooks/useExampleAgentRuntime.js +82 -0
  221. package/lib/examples/hooks/useSpecRenderToolResult.d.ts +30 -0
  222. package/lib/examples/hooks/useSpecRenderToolResult.js +61 -0
  223. package/lib/examples/index.d.ts +3 -1
  224. package/lib/examples/index.js +3 -1
  225. package/lib/examples/main.js +340 -93
  226. package/lib/examples/utils/a2ui.d.ts +2 -0
  227. package/lib/examples/utils/a2ui.js +97 -2
  228. package/lib/examples/utils/agentSummaryStore.d.ts +21 -0
  229. package/lib/examples/utils/agentSummaryStore.js +23 -0
  230. package/lib/examples/utils/notebooks/Empty.ipynb.json +30 -30
  231. package/lib/examples/utils/runtimeTargetStore.d.ts +9 -0
  232. package/lib/examples/utils/runtimeTargetStore.js +27 -0
  233. package/lib/examples/utils/teardownAgents.d.ts +13 -0
  234. package/lib/examples/utils/teardownAgents.js +78 -0
  235. package/lib/examples/utils/useExampleAgentRuntimesUrl.d.ts +2 -0
  236. package/lib/examples/utils/useExampleAgentRuntimesUrl.js +26 -7
  237. package/lib/examples2/CellExample.d.ts +6 -0
  238. package/lib/examples2/CellExample.js +20 -0
  239. package/lib/examples2/DatalayerNotebookExample.d.ts +16 -0
  240. package/lib/examples2/DatalayerNotebookExample.js +109 -0
  241. package/lib/examples2/NativeNavigationExample.d.ts +8 -0
  242. package/lib/examples2/NativeNavigationExample.js +97 -0
  243. package/lib/examples2/NotebookExample.d.ts +6 -0
  244. package/lib/examples2/NotebookExample.js +19 -0
  245. package/lib/examples2/NotebookMutationsKernel.d.ts +2 -0
  246. package/lib/examples2/NotebookMutationsKernel.js +105 -0
  247. package/lib/examples2/NotebookMutationsServiceManager.d.ts +2 -0
  248. package/lib/examples2/NotebookMutationsServiceManager.js +109 -0
  249. package/lib/examples2/ReactRouterExample.d.ts +6 -0
  250. package/lib/examples2/ReactRouterExample.js +175 -0
  251. package/lib/examples2/example-selector.d.ts +22 -0
  252. package/lib/examples2/example-selector.js +45 -0
  253. package/lib/examples2/index.d.ts +2 -0
  254. package/lib/examples2/index.js +6 -0
  255. package/lib/examples2/lexical-theme.css +436 -0
  256. package/lib/examples2/main.d.ts +2 -0
  257. package/lib/examples2/main.js +330 -0
  258. package/lib/examples2/notebooks/IPyWidgetsExample.ipynb.json +101 -0
  259. package/lib/examples2/notebooks/IPyWidgetsExampleWithState.ipynb.json +112 -0
  260. package/lib/examples2/notebooks/Lite.ipynb.json +128 -0
  261. package/lib/examples2/notebooks/Matplotlib.ipynb.json +137 -0
  262. package/lib/examples2/notebooks/NotebookExample1.ipynb.json +126 -0
  263. package/lib/examples2/notebooks/NotebookExample2.ipynb.json +48 -0
  264. package/lib/examples2/notebooks/NotebookOutputs.ipynb.json +49 -0
  265. package/lib/examples2/notebooks/NotebookToCExample.ipynb.json +102 -0
  266. package/lib/examples2/notebooks/OutputIPyWidgetsExample.d.ts +145 -0
  267. package/lib/examples2/notebooks/OutputIPyWidgetsExample.js +153 -0
  268. package/lib/examples2/notebooks/PyGWalker.ipynb.json +55 -0
  269. package/lib/hooks/index.d.ts +9 -1
  270. package/lib/hooks/index.js +13 -1
  271. package/lib/hooks/useAIAgentsWebSocket.d.ts +1 -1
  272. package/lib/hooks/useAIAgentsWebSocket.js +39 -3
  273. package/lib/hooks/useAgentRuntimes.d.ts +15 -3
  274. package/lib/hooks/useAgentRuntimes.js +186 -27
  275. package/lib/hooks/useAgentsService.js +5 -5
  276. package/lib/hooks/useCellOutputshot.d.ts +4 -0
  277. package/lib/hooks/useCellOutputshot.js +25 -0
  278. package/lib/hooks/useCheckpoints.d.ts +8 -8
  279. package/lib/hooks/useCheckpoints.js +36 -26
  280. package/lib/hooks/useConfig.d.ts +1 -1
  281. package/lib/hooks/useMonitoring.d.ts +7 -5
  282. package/lib/hooks/useMonitoring.js +16 -10
  283. package/lib/hooks/useNotifications.d.ts +11 -11
  284. package/lib/hooks/useNotifications.js +1 -1
  285. package/lib/hooks/useProgressStore.d.ts +25 -0
  286. package/lib/hooks/useProgressStore.js +58 -0
  287. package/lib/hooks/useProgressTask.d.ts +9 -0
  288. package/lib/hooks/useProgressTask.js +41 -0
  289. package/lib/hooks/useProjects.d.ts +628 -0
  290. package/lib/hooks/useProjects.js +190 -0
  291. package/lib/hooks/useRuntimes.d.ts +5 -0
  292. package/lib/hooks/useRuntimes.js +34 -0
  293. package/lib/hooks/useToolApprovals.d.ts +6 -6
  294. package/lib/index.d.ts +1 -0
  295. package/lib/index.js +1 -0
  296. package/lib/jupyter/exec/Python.d.ts +5 -0
  297. package/lib/jupyter/exec/Python.js +100 -0
  298. package/lib/jupyter/exec/Snippets.d.ts +105 -0
  299. package/lib/jupyter/exec/Snippets.js +101 -0
  300. package/lib/jupyter/exec/index.d.ts +2 -0
  301. package/lib/jupyter/exec/index.js +6 -0
  302. package/lib/jupyter/index.d.ts +2 -0
  303. package/lib/jupyter/index.js +6 -0
  304. package/lib/jupyter/kernelsHandler.d.ts +8 -0
  305. package/lib/jupyter/kernelsHandler.js +39 -0
  306. package/lib/mocks/models/CourseMock.d.ts +6 -0
  307. package/lib/mocks/models/CourseMock.js +29 -0
  308. package/lib/mocks/models/SpaceMock.d.ts +6 -0
  309. package/lib/mocks/models/SpaceMock.js +25 -0
  310. package/lib/models/Assignment.d.ts +7 -0
  311. package/lib/models/Assignment.js +5 -0
  312. package/lib/models/Cell.d.ts +8 -0
  313. package/lib/models/Cell.js +5 -0
  314. package/lib/models/CodeBlock.d.ts +10 -0
  315. package/lib/models/CodeBlock.js +5 -0
  316. package/lib/models/CodeSandboxSnapshot.d.ts +92 -0
  317. package/lib/models/CodeSandboxSnapshot.js +13 -0
  318. package/lib/models/CodeSandboxSnapshotDTO.d.ts +173 -0
  319. package/lib/models/CodeSandboxSnapshotDTO.js +139 -0
  320. package/lib/models/CodefeedBlocks.d.ts +7 -0
  321. package/lib/models/CodefeedBlocks.js +5 -0
  322. package/lib/models/Content.d.ts +5 -0
  323. package/lib/models/Content.js +5 -0
  324. package/lib/models/Course.d.ts +17 -0
  325. package/lib/models/Course.js +5 -0
  326. package/lib/models/Dataset.d.ts +16 -0
  327. package/lib/models/Dataset.js +5 -0
  328. package/lib/models/Document.d.ts +8 -0
  329. package/lib/models/Document.js +5 -0
  330. package/lib/models/Environment.d.ts +86 -0
  331. package/lib/models/Environment.js +5 -0
  332. package/lib/models/EnvironmentDTO.d.ts +125 -0
  333. package/lib/models/EnvironmentDTO.js +88 -0
  334. package/lib/models/Exercise.d.ts +16 -0
  335. package/lib/models/Exercise.js +5 -0
  336. package/lib/models/Item.d.ts +20 -0
  337. package/lib/models/Item.js +5 -0
  338. package/lib/models/ItemDTO.d.ts +74 -0
  339. package/lib/models/ItemDTO.js +186 -0
  340. package/lib/models/ItemType.d.ts +2 -0
  341. package/lib/models/ItemType.js +5 -0
  342. package/lib/models/Lesson.d.ts +5 -0
  343. package/lib/models/Lesson.js +5 -0
  344. package/lib/models/LexicalDTO.d.ts +155 -0
  345. package/lib/models/LexicalDTO.js +157 -0
  346. package/lib/models/Library.d.ts +10 -0
  347. package/lib/models/Library.js +5 -0
  348. package/lib/models/Notebook.d.ts +11 -0
  349. package/lib/models/Notebook.js +5 -0
  350. package/lib/models/NotebookDTO.d.ts +96 -0
  351. package/lib/models/NotebookDTO.js +153 -0
  352. package/lib/models/Page.d.ts +41 -0
  353. package/lib/models/Page.js +25 -0
  354. package/lib/models/PageTag.d.ts +19 -0
  355. package/lib/models/PageTag.js +94 -0
  356. package/lib/models/ProjectDTO.d.ts +89 -0
  357. package/lib/models/ProjectDTO.js +131 -0
  358. package/lib/models/Runtime.d.ts +160 -0
  359. package/lib/models/Runtime.js +18 -0
  360. package/lib/models/RuntimeDTO.d.ts +172 -0
  361. package/lib/models/RuntimeDTO.js +204 -0
  362. package/lib/models/Space.d.ts +35 -0
  363. package/lib/models/Space.js +66 -0
  364. package/lib/models/SpaceDTO.d.ts +334 -0
  365. package/lib/models/SpaceDTO.js +244 -0
  366. package/lib/models/SpaceItem.d.ts +10 -0
  367. package/lib/models/SpaceItem.js +5 -0
  368. package/lib/models/SpaceMember.d.ts +6 -0
  369. package/lib/models/SpaceMember.js +5 -0
  370. package/lib/models/StudentItem.d.ts +21 -0
  371. package/lib/models/StudentItem.js +5 -0
  372. package/lib/models/index.d.ts +32 -0
  373. package/lib/models/index.js +39 -0
  374. package/lib/protocols/AGUIAdapter.js +1 -1
  375. package/lib/runtimes/actions.d.ts +102 -0
  376. package/lib/runtimes/actions.js +249 -0
  377. package/lib/runtimes/apis.d.ts +273 -0
  378. package/lib/runtimes/apis.js +5 -0
  379. package/lib/runtimes/index.d.ts +5 -0
  380. package/lib/runtimes/index.js +9 -0
  381. package/lib/runtimes/settings.d.ts +15 -0
  382. package/lib/runtimes/settings.js +31 -0
  383. package/lib/runtimes/snapshots.d.ts +25 -0
  384. package/lib/runtimes/snapshots.js +150 -0
  385. package/lib/runtimes/utils.d.ts +7 -0
  386. package/lib/runtimes/utils.js +14 -0
  387. package/lib/services/DatalayerServiceManager.d.ts +23 -0
  388. package/lib/services/DatalayerServiceManager.js +90 -0
  389. package/lib/services/reconnectToRuntime.d.ts +32 -0
  390. package/lib/services/reconnectToRuntime.js +59 -0
  391. package/lib/services/sandboxServiceManagers.d.ts +31 -0
  392. package/lib/services/sandboxServiceManagers.js +57 -0
  393. package/lib/specs/agents/agents.d.ts +70 -26
  394. package/lib/specs/agents/agents.js +3994 -1639
  395. package/lib/specs/index.d.ts +1 -0
  396. package/lib/specs/index.js +1 -0
  397. package/lib/specs/loops.d.ts +34 -0
  398. package/lib/specs/loops.js +188 -0
  399. package/lib/specs/mcpServers.d.ts +1 -0
  400. package/lib/specs/mcpServers.js +17 -0
  401. package/lib/specs/models.d.ts +4 -0
  402. package/lib/specs/models.js +30 -0
  403. package/lib/specs/skills.d.ts +1 -0
  404. package/lib/specs/skills.js +18 -0
  405. package/lib/specs/tools.d.ts +15 -0
  406. package/lib/specs/tools.js +285 -0
  407. package/lib/state/index.d.ts +4 -0
  408. package/lib/state/index.js +10 -0
  409. package/lib/state/substates/CellState.d.ts +12 -0
  410. package/lib/state/substates/CellState.js +22 -0
  411. package/lib/state/substates/DocumentState.d.ts +10 -0
  412. package/lib/state/substates/DocumentState.js +14 -0
  413. package/lib/state/substates/GradeState.d.ts +10 -0
  414. package/lib/state/substates/GradeState.js +14 -0
  415. package/lib/state/substates/JupyterLabState.d.ts +16 -0
  416. package/lib/state/substates/JupyterLabState.js +17 -0
  417. package/lib/state/substates/NbformatState.d.ts +13 -0
  418. package/lib/state/substates/NbformatState.js +16 -0
  419. package/lib/state/substates/RuntimesState.d.ts +87 -0
  420. package/lib/state/substates/RuntimesState.js +192 -0
  421. package/lib/state/substates/SpaceState.d.ts +11 -0
  422. package/lib/state/substates/SpaceState.js +16 -0
  423. package/lib/state/substates/index.d.ts +8 -0
  424. package/lib/state/substates/index.js +14 -0
  425. package/lib/stores/agentRuntimeStore.d.ts +25 -2
  426. package/lib/stores/agentRuntimeStore.js +114 -19
  427. package/lib/stories/Button.stories.d.ts +1 -1
  428. package/lib/stories/Header.stories.d.ts +3 -3
  429. package/lib/test-setup.js +10 -0
  430. package/lib/types/agents-lifecycle.d.ts +5 -5
  431. package/lib/types/agents.d.ts +3 -3
  432. package/lib/types/agentspecs.d.ts +3 -1
  433. package/lib/types/chat.d.ts +135 -3
  434. package/lib/types/config.d.ts +19 -1
  435. package/lib/types/index.d.ts +1 -0
  436. package/lib/types/index.js +1 -0
  437. package/lib/types/loops.d.ts +64 -0
  438. package/lib/types/loops.js +5 -0
  439. package/lib/types/tools.d.ts +16 -0
  440. package/lib/utils/Cells.d.ts +2 -0
  441. package/lib/utils/Cells.js +28 -0
  442. package/package.json +24 -18
  443. package/scripts/codegen/__pycache__/versioning.cpython-313.pyc +0 -0
  444. package/scripts/codegen/generate_agents.py +21 -4
  445. package/scripts/codegen/generate_loops.py +443 -0
  446. package/lib/examples/A2UiComponentGalleryExample.d.ts +0 -3
  447. package/lib/examples/A2UiComponentGalleryExample.js +0 -361
  448. /package/lib/{agent-lexical-main.d.ts → agent-document-main.d.ts} +0 -0
@@ -12,3 +12,15 @@ export * as evals from './evals';
12
12
  export * as events from './events';
13
13
  export * as notifications from './notifications';
14
14
  export * as output from './output';
15
+ export * from '../runtimes';
16
+ import type { ListEnvironmentsResponse } from '../models/EnvironmentDTO';
17
+ import type { CreateCodeSandboxSnapshotRequest, CodeSandboxSnapshotData } from '../models/CodeSandboxSnapshotDTO';
18
+ import { type ICodeSandboxSnapshot } from '../models/CodeSandboxSnapshot';
19
+ export declare function getEnvironments(token?: string, baseUrl?: string): Promise<ListEnvironmentsResponse['environments']>;
20
+ export declare function getSandboxSnapshots(token?: string, baseUrl?: string): Promise<ICodeSandboxSnapshot[]>;
21
+ export declare function createSandboxSnapshot(data: CreateCodeSandboxSnapshotRequest | Record<string, any>, token?: string, baseUrl?: string): Promise<CodeSandboxSnapshotData | Record<string, any>>;
22
+ export declare function deleteCodeSandboxSnapshot(snapshotId: string, token?: string, baseUrl?: string): Promise<void>;
23
+ export declare function exportCodeSandboxSnapshot(..._args: any[]): Promise<never>;
24
+ export declare function updateCodeSandboxSnapshot(..._args: any[]): Promise<never>;
25
+ export declare function uploadCodeSandboxSnapshot(..._args: any[]): Promise<never>;
26
+ export * from '@datalayer/core/lib/api';
package/lib/api/index.js CHANGED
@@ -20,3 +20,49 @@ export * as evals from './evals';
20
20
  export * as events from './events';
21
21
  export * as notifications from './notifications';
22
22
  export * as output from './output';
23
+ export * from '../runtimes';
24
+ import { iamStore } from '@datalayer/core/lib/state';
25
+ import { listEnvironments } from './runtimes/environments';
26
+ import { listSnapshots, createSnapshot, deleteSnapshot, } from './runtimes/snapshots';
27
+ import { asCodeSandboxSnapshot, } from '../models/CodeSandboxSnapshot';
28
+ function resolveToken(token) {
29
+ const resolved = token ?? iamStore.getState()?.token;
30
+ if (!resolved) {
31
+ throw new Error('Authentication token is required');
32
+ }
33
+ return resolved;
34
+ }
35
+ export async function getEnvironments(token, baseUrl) {
36
+ const response = await listEnvironments(resolveToken(token), baseUrl);
37
+ return (response.environments ?? []).map(environment => ({
38
+ ...environment,
39
+ burningRate: environment.burningRate ?? environment.burning_rate,
40
+ }));
41
+ }
42
+ export async function getSandboxSnapshots(token, baseUrl) {
43
+ const response = await listSnapshots(resolveToken(token), baseUrl);
44
+ return (response.snapshots ?? []).map(snapshot => asCodeSandboxSnapshot(snapshot));
45
+ }
46
+ export async function createSandboxSnapshot(data, token, baseUrl) {
47
+ // Legacy browser snapshots pass a rich object (connection, metadata, callbacks)
48
+ // that is handled client-side. Keep compatibility by returning early.
49
+ if (!('pod_name' in data)) {
50
+ return data;
51
+ }
52
+ const response = await createSnapshot(resolveToken(token), data, baseUrl);
53
+ return response.snapshot;
54
+ }
55
+ export async function deleteCodeSandboxSnapshot(snapshotId, token, baseUrl) {
56
+ return deleteSnapshot(resolveToken(token), snapshotId, baseUrl);
57
+ }
58
+ export async function exportCodeSandboxSnapshot(..._args) {
59
+ throw new Error('exportCodeSandboxSnapshot is not implemented in @datalayer/agent-runtimes/api yet.');
60
+ }
61
+ export async function updateCodeSandboxSnapshot(..._args) {
62
+ throw new Error('updateCodeSandboxSnapshot is not implemented in @datalayer/agent-runtimes/api yet.');
63
+ }
64
+ export async function uploadCodeSandboxSnapshot(..._args) {
65
+ throw new Error('uploadCodeSandboxSnapshot is not implemented in @datalayer/agent-runtimes/api yet.');
66
+ }
67
+ // Re-export core API endpoints for IAM/plans/account features.
68
+ export * from '@datalayer/core/lib/api';
@@ -0,0 +1,122 @@
1
+ /**
2
+ * A single runtime checkpoint record.
3
+ */
4
+ export interface RuntimeCheckpointData {
5
+ /** Unique identifier (ULID) */
6
+ id: string;
7
+ /** Human-readable name */
8
+ name: string;
9
+ /** Checkpoint description */
10
+ description: string;
11
+ /** Runtime that was checkpointed */
12
+ runtime_uid: string;
13
+ /** Agentspec identifier (e.g. "mocks/monitor-sales-kpis") */
14
+ agent_spec_id: string;
15
+ /** Full agentspec payload */
16
+ agentspec: Record<string, any>;
17
+ /** Additional metadata */
18
+ metadata: Record<string, any>;
19
+ /** Checkpoint mode: criu (full) or light (history-only) */
20
+ checkpoint_mode?: 'criu' | 'light';
21
+ /** Lightweight checkpoint message history */
22
+ messages?: string[];
23
+ /** Status: requested | created | failed | deleted */
24
+ status: string;
25
+ /** Human-readable details about the current status (e.g. error message) */
26
+ status_message?: string;
27
+ /** ISO 8601 timestamp */
28
+ updated_at: string;
29
+ }
30
+ /**
31
+ * Request payload for creating a checkpoint.
32
+ */
33
+ export interface CreateRuntimeCheckpointRequest {
34
+ /** Runtime UID of the runtime that was checkpointed */
35
+ runtime_uid: string;
36
+ /** Human-readable name */
37
+ name?: string;
38
+ /** Checkpoint description */
39
+ description?: string;
40
+ /** Agentspec identifier */
41
+ agentspec_id?: string;
42
+ /** Full agentspec payload to persist */
43
+ agentspec?: Record<string, any>;
44
+ /** Additional metadata */
45
+ metadata?: Record<string, any>;
46
+ }
47
+ /**
48
+ * Response for listing checkpoints.
49
+ */
50
+ export interface ListRuntimeCheckpointsResponse {
51
+ success: boolean;
52
+ message: string;
53
+ checkpoints: RuntimeCheckpointData[];
54
+ }
55
+ /**
56
+ * Response for getting a single checkpoint.
57
+ */
58
+ export interface GetRuntimeCheckpointResponse {
59
+ success: boolean;
60
+ message: string;
61
+ checkpoint: RuntimeCheckpointData;
62
+ }
63
+ /**
64
+ * Response for creating a checkpoint.
65
+ */
66
+ export interface CreateRuntimeCheckpointResponse {
67
+ success: boolean;
68
+ message: string;
69
+ checkpoint: RuntimeCheckpointData;
70
+ }
71
+ /**
72
+ * List runtime checkpoints for a specific runtime.
73
+ * @param token - Authentication token
74
+ * @param baseUrl - Base URL for the runtimes API
75
+ * @param runtimeUid - Runtime UID to list checkpoints for
76
+ * @returns Promise resolving to list of checkpoints
77
+ */
78
+ export declare const listCheckpoints: (token: string, baseUrl?: string, runtimeUid?: string) => Promise<ListRuntimeCheckpointsResponse>;
79
+ /**
80
+ * Get a single runtime checkpoint by ID.
81
+ * @param token - Authentication token
82
+ * @param runtimeUid - The runtime UID
83
+ * @param checkpointId - The checkpoint ID (ULID)
84
+ * @param baseUrl - Base URL for the runtimes API
85
+ * @returns Promise resolving to checkpoint details
86
+ */
87
+ export declare const getCheckpoint: (token: string, runtimeUid: string, checkpointId: string, baseUrl?: string) => Promise<GetRuntimeCheckpointResponse>;
88
+ /**
89
+ * Create a checkpoint record (after a CRIU checkpoint has been taken).
90
+ * @param token - Authentication token
91
+ * @param data - Checkpoint creation payload (runtime_uid, agentspec, etc.)
92
+ * @param baseUrl - Base URL for the runtimes API
93
+ * @returns Promise resolving to the created checkpoint
94
+ */
95
+ export declare const createCheckpoint: (token: string, data: CreateRuntimeCheckpointRequest, baseUrl?: string) => Promise<CreateRuntimeCheckpointResponse>;
96
+ /**
97
+ * Poll a checkpoint until it reaches one of the target statuses.
98
+ *
99
+ * Useful for waiting until an async pause (status "paused")
100
+ * completes before proceeding. Checkpoint status stays "paused"
101
+ * during resume — only the agent runtime status transitions.
102
+ *
103
+ * @param token - Authentication token
104
+ * @param runtimeUid - The runtime UID that owns the checkpoint
105
+ * @param checkpointId - The checkpoint ID (ULID) to poll
106
+ * @param targetStatuses - Set of statuses that signal completion (e.g. ["paused", "failed"])
107
+ * @param baseUrl - Base URL for the runtimes API
108
+ * @param intervalMs - Polling interval in milliseconds (default: 2000)
109
+ * @param timeoutMs - Maximum wait time in milliseconds (default: 600000 = 10 min)
110
+ * @returns Promise resolving to the checkpoint data once a target status is reached
111
+ * @throws {Error} If polling times out or the request fails
112
+ */
113
+ export declare const waitForCheckpointStatus: (token: string, runtimeUid: string, checkpointId: string, targetStatuses: string[], baseUrl?: string, intervalMs?: number, timeoutMs?: number) => Promise<RuntimeCheckpointData>;
114
+ /**
115
+ * Delete a runtime checkpoint.
116
+ * @param token - Authentication token
117
+ * @param runtimeUid - The runtime UID that owns the checkpoint
118
+ * @param checkpointId - The checkpoint ID (ULID) to delete
119
+ * @param baseUrl - Base URL for the runtimes API
120
+ * @returns Promise resolving when deletion is complete
121
+ */
122
+ export declare const deleteCheckpoint: (token: string, runtimeUid: string, checkpointId: string, baseUrl?: string) => Promise<void>;
@@ -0,0 +1,118 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Runtime checkpoints API functions for the Datalayer platform.
7
+ *
8
+ * Provides functions for managing CRIU full-pod checkpoints.
9
+ * These are distinct from code sandbox snapshots (Jupyter sandbox snapshots).
10
+ *
11
+ * @module api/runtimes/checkpoints
12
+ */
13
+ import { requestDatalayerAPI } from '@datalayer/core/lib/api/DatalayerApi';
14
+ import { API_BASE_PATHS, DEFAULT_SERVICE_URLS, } from '@datalayer/core/lib/api/constants';
15
+ import { validateToken, validateRequiredString, } from '@datalayer/core/lib/api/utils/validation';
16
+ // ─── API Functions ─────────────────────────────────────────────────────────
17
+ /**
18
+ * List runtime checkpoints for a specific runtime.
19
+ * @param token - Authentication token
20
+ * @param baseUrl - Base URL for the runtimes API
21
+ * @param runtimeUid - Runtime UID to list checkpoints for
22
+ * @returns Promise resolving to list of checkpoints
23
+ */
24
+ export const listCheckpoints = async (token, baseUrl = DEFAULT_SERVICE_URLS.RUNTIMES, runtimeUid) => {
25
+ validateToken(token);
26
+ if (!runtimeUid) {
27
+ throw new Error('runtimeUid is required to list checkpoints');
28
+ }
29
+ return requestDatalayerAPI({
30
+ url: `${baseUrl}${API_BASE_PATHS.RUNTIMES}/runtime-checkpoints/${encodeURIComponent(runtimeUid)}`,
31
+ method: 'GET',
32
+ token,
33
+ });
34
+ };
35
+ /**
36
+ * Get a single runtime checkpoint by ID.
37
+ * @param token - Authentication token
38
+ * @param runtimeUid - The runtime UID
39
+ * @param checkpointId - The checkpoint ID (ULID)
40
+ * @param baseUrl - Base URL for the runtimes API
41
+ * @returns Promise resolving to checkpoint details
42
+ */
43
+ export const getCheckpoint = async (token, runtimeUid, checkpointId, baseUrl = DEFAULT_SERVICE_URLS.RUNTIMES) => {
44
+ validateToken(token);
45
+ validateRequiredString(runtimeUid, 'Runtime UID');
46
+ validateRequiredString(checkpointId, 'Checkpoint ID');
47
+ return requestDatalayerAPI({
48
+ url: `${baseUrl}${API_BASE_PATHS.RUNTIMES}/runtime-checkpoints/${encodeURIComponent(runtimeUid)}/${checkpointId}`,
49
+ method: 'GET',
50
+ token,
51
+ });
52
+ };
53
+ /**
54
+ * Create a checkpoint record (after a CRIU checkpoint has been taken).
55
+ * @param token - Authentication token
56
+ * @param data - Checkpoint creation payload (runtime_uid, agentspec, etc.)
57
+ * @param baseUrl - Base URL for the runtimes API
58
+ * @returns Promise resolving to the created checkpoint
59
+ */
60
+ export const createCheckpoint = async (token, data, baseUrl = DEFAULT_SERVICE_URLS.RUNTIMES) => {
61
+ validateToken(token);
62
+ return requestDatalayerAPI({
63
+ url: `${baseUrl}${API_BASE_PATHS.RUNTIMES}/runtime-checkpoints`,
64
+ method: 'POST',
65
+ token,
66
+ body: data,
67
+ });
68
+ };
69
+ /**
70
+ * Poll a checkpoint until it reaches one of the target statuses.
71
+ *
72
+ * Useful for waiting until an async pause (status "paused")
73
+ * completes before proceeding. Checkpoint status stays "paused"
74
+ * during resume — only the agent runtime status transitions.
75
+ *
76
+ * @param token - Authentication token
77
+ * @param runtimeUid - The runtime UID that owns the checkpoint
78
+ * @param checkpointId - The checkpoint ID (ULID) to poll
79
+ * @param targetStatuses - Set of statuses that signal completion (e.g. ["paused", "failed"])
80
+ * @param baseUrl - Base URL for the runtimes API
81
+ * @param intervalMs - Polling interval in milliseconds (default: 2000)
82
+ * @param timeoutMs - Maximum wait time in milliseconds (default: 600000 = 10 min)
83
+ * @returns Promise resolving to the checkpoint data once a target status is reached
84
+ * @throws {Error} If polling times out or the request fails
85
+ */
86
+ export const waitForCheckpointStatus = async (token, runtimeUid, checkpointId, targetStatuses, baseUrl = DEFAULT_SERVICE_URLS.RUNTIMES, intervalMs = 2000, timeoutMs = 600_000) => {
87
+ validateToken(token);
88
+ validateRequiredString(runtimeUid, 'Runtime UID');
89
+ validateRequiredString(checkpointId, 'Checkpoint ID');
90
+ const deadline = Date.now() + timeoutMs;
91
+ while (Date.now() < deadline) {
92
+ const resp = await getCheckpoint(token, runtimeUid, checkpointId, baseUrl);
93
+ if (targetStatuses.includes(resp.checkpoint.status)) {
94
+ return resp.checkpoint;
95
+ }
96
+ // Wait before next poll
97
+ await new Promise(resolve => setTimeout(resolve, intervalMs));
98
+ }
99
+ throw new Error(`Checkpoint ${checkpointId} did not reach status [${targetStatuses.join(', ')}] within ${timeoutMs / 1000}s`);
100
+ };
101
+ /**
102
+ * Delete a runtime checkpoint.
103
+ * @param token - Authentication token
104
+ * @param runtimeUid - The runtime UID that owns the checkpoint
105
+ * @param checkpointId - The checkpoint ID (ULID) to delete
106
+ * @param baseUrl - Base URL for the runtimes API
107
+ * @returns Promise resolving when deletion is complete
108
+ */
109
+ export const deleteCheckpoint = async (token, runtimeUid, checkpointId, baseUrl = DEFAULT_SERVICE_URLS.RUNTIMES) => {
110
+ validateToken(token);
111
+ validateRequiredString(runtimeUid, 'Runtime UID');
112
+ validateRequiredString(checkpointId, 'Checkpoint ID');
113
+ return requestDatalayerAPI({
114
+ url: `${baseUrl}${API_BASE_PATHS.RUNTIMES}/runtime-checkpoints/${encodeURIComponent(runtimeUid)}/${checkpointId}`,
115
+ method: 'DELETE',
116
+ token,
117
+ });
118
+ };
@@ -0,0 +1,9 @@
1
+ import { ListEnvironmentsResponse } from '../../models/EnvironmentDTO';
2
+ /**
3
+ * List all available computing environments.
4
+ * @param token - Authentication token
5
+ * @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
6
+ * @returns Promise resolving to list of available environments
7
+ * @throws {Error} If authentication token is missing or invalid
8
+ */
9
+ export declare const listEnvironments: (token: string, baseUrl?: string) => Promise<ListEnvironmentsResponse>;
@@ -0,0 +1,29 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Computing environments API functions for the Datalayer platform.
7
+ *
8
+ * Provides functions for managing computing environment configurations.
9
+ *
10
+ * @module api/runtimes/environments
11
+ */
12
+ import { requestDatalayerAPI } from '@datalayer/core/lib/api/DatalayerApi';
13
+ import { API_BASE_PATHS, DEFAULT_SERVICE_URLS, } from '@datalayer/core/lib/api/constants';
14
+ import { validateToken } from '@datalayer/core/lib/api/utils/validation';
15
+ /**
16
+ * List all available computing environments.
17
+ * @param token - Authentication token
18
+ * @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
19
+ * @returns Promise resolving to list of available environments
20
+ * @throws {Error} If authentication token is missing or invalid
21
+ */
22
+ export const listEnvironments = async (token, baseUrl = DEFAULT_SERVICE_URLS.RUNTIMES) => {
23
+ validateToken(token);
24
+ return requestDatalayerAPI({
25
+ url: `${baseUrl}${API_BASE_PATHS.RUNTIMES}/environments`,
26
+ method: 'GET',
27
+ token,
28
+ });
29
+ };
@@ -0,0 +1,15 @@
1
+ import type { HealthzPingResponse } from '@datalayer/core/lib/models/Common';
2
+ /**
3
+ * Health check ping endpoint for Runtimes service
4
+ * @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
5
+ * @returns Health check response
6
+ * @throws {Error} If the health check fails
7
+ *
8
+ * @remarks
9
+ * This endpoint provides a basic health check for the Runtimes service.
10
+ * It returns the current status of the service.
11
+ *
12
+ * Expected status codes:
13
+ * - 200: Service is healthy
14
+ */
15
+ export declare const ping: (baseUrl?: string) => Promise<HealthzPingResponse>;
@@ -0,0 +1,44 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Health check API functions for the Datalayer Runtimes service.
7
+ *
8
+ * Provides functions for checking the health status of the Runtimes service.
9
+ *
10
+ * @module api/runtimes/healthz
11
+ */
12
+ import { requestDatalayerAPI } from '@datalayer/core/lib/api/DatalayerApi';
13
+ import { API_BASE_PATHS, DEFAULT_SERVICE_URLS, } from '@datalayer/core/lib/api/constants';
14
+ /**
15
+ * Health check ping endpoint for Runtimes service
16
+ * @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
17
+ * @returns Health check response
18
+ * @throws {Error} If the health check fails
19
+ *
20
+ * @remarks
21
+ * This endpoint provides a basic health check for the Runtimes service.
22
+ * It returns the current status of the service.
23
+ *
24
+ * Expected status codes:
25
+ * - 200: Service is healthy
26
+ */
27
+ export const ping = async (baseUrl = DEFAULT_SERVICE_URLS.RUNTIMES) => {
28
+ try {
29
+ const response = await requestDatalayerAPI({
30
+ url: `${baseUrl}${API_BASE_PATHS.RUNTIMES}/ping`,
31
+ method: 'GET',
32
+ });
33
+ return response;
34
+ }
35
+ catch (error) {
36
+ // Check if it's a response error with status code information
37
+ if (error.response) {
38
+ const status = error.response.status;
39
+ throw new Error(`Health check failed: Service unhealthy (status ${status}) - ${error.message}`);
40
+ }
41
+ // Re-throw other errors (network errors, etc.)
42
+ throw new Error(`Health check failed: ${error.message}`);
43
+ }
44
+ };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Runtimes API exports.
3
+ *
4
+ * Provides organized access to runtime management functionality.
5
+ *
6
+ * @module api/runtimes
7
+ */
8
+ export * as environments from './environments';
9
+ export * as healthz from './healthz';
10
+ export * as runtimes from './runtimes';
11
+ export * as snapshots from './snapshots';
12
+ export * as checkpoints from './checkpoints';
@@ -0,0 +1,16 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Runtimes API exports.
7
+ *
8
+ * Provides organized access to runtime management functionality.
9
+ *
10
+ * @module api/runtimes
11
+ */
12
+ export * as environments from './environments';
13
+ export * as healthz from './healthz';
14
+ export * as runtimes from './runtimes';
15
+ export * as snapshots from './snapshots';
16
+ export * as checkpoints from './checkpoints';
@@ -0,0 +1,138 @@
1
+ import { RuntimeData, CreateRuntimeRequest, CreateRuntimeResponse, ListRuntimesResponse } from '../../models/RuntimeDTO';
2
+ /**
3
+ * Create a new runtime instance.
4
+ * @param token - Authentication token
5
+ * @param data - Runtime creation configuration
6
+ * @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
7
+ * @returns Promise resolving to the created runtime details
8
+ * @throws {Error} If authentication token is missing or invalid
9
+ * @throws {Error} With status 404 if the environment is not found
10
+ * @throws {Error} With status 503 if no runtime is available
11
+ */
12
+ export declare const createRuntime: (token: string, data: CreateRuntimeRequest, baseUrl?: string) => Promise<CreateRuntimeResponse>;
13
+ /**
14
+ * List all runtime instances.
15
+ * @param token - Authentication token
16
+ * @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
17
+ * @returns Promise resolving to list of runtime instances
18
+ * @throws {Error} If authentication token is missing or invalid
19
+ */
20
+ export declare const listRuntimes: (token: string, baseUrl?: string) => Promise<ListRuntimesResponse>;
21
+ /**
22
+ * Get details for a specific runtime instance.
23
+ * @param token - Authentication token
24
+ * @param podName - The unique pod name of the runtime
25
+ * @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
26
+ * @returns Promise resolving to runtime details
27
+ * @throws {Error} If authentication token is missing or invalid
28
+ * @throws {Error} If pod name is missing or invalid
29
+ * @throws {Error} With status 404 if the runtime is not found
30
+ */
31
+ export declare const getRuntime: (token: string, podName: string, baseUrl?: string) => Promise<RuntimeData>;
32
+ /**
33
+ * Delete a runtime instance.
34
+ * @param token - Authentication token
35
+ * @param podName - The unique pod name of the runtime to delete
36
+ * @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
37
+ * @returns Promise resolving when deletion is complete
38
+ * @throws {Error} If authentication token is missing or invalid
39
+ * @throws {Error} If pod name is missing or invalid
40
+ * @throws {Error} With status 404 if the runtime is not found
41
+ */
42
+ export declare const deleteRuntime: (token: string, podName: string, baseUrl?: string) => Promise<void>;
43
+ /**
44
+ * Update a runtime instance.
45
+ * @param token - Authentication token
46
+ * @param podName - The unique pod name of the runtime
47
+ * @param from - The source to update from
48
+ * @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
49
+ * @returns Promise resolving to updated runtime details
50
+ * @throws {Error} If authentication token is missing or invalid
51
+ * @throws {Error} If pod name is missing or invalid
52
+ * @throws {Error} With status 404 if the runtime is not found
53
+ */
54
+ export declare const updateRuntime: (token: string, podName: string, from: string, baseUrl?: string) => Promise<RuntimeData>;
55
+ /**
56
+ * Response from the pause/resume runtime endpoints.
57
+ * The server returns 202 Accepted and provides a checkpoint UID
58
+ * that can be polled for status updates.
59
+ */
60
+ export interface PauseResumeResponse {
61
+ success: boolean;
62
+ message: string;
63
+ checkpoint_id: string | null;
64
+ }
65
+ /**
66
+ * Optional body for the pause endpoint.
67
+ * Metadata is stored in the checkpoint Solr record created by the backend.
68
+ */
69
+ export interface PauseRuntimeBody {
70
+ /** Checkpoint mode: 'criu' (full) or 'light' (history-only) */
71
+ checkpoint_mode?: 'criu' | 'light';
72
+ /** Human-readable checkpoint name */
73
+ name?: string;
74
+ /** Checkpoint description */
75
+ description?: string;
76
+ /** Agentspec identifier */
77
+ agent_spec_id?: string;
78
+ /** Full agentspec payload to persist with the checkpoint */
79
+ agentspec?: Record<string, any>;
80
+ /** Additional metadata */
81
+ metadata?: Record<string, any>;
82
+ /** Lightweight checkpoint message history */
83
+ messages?: string[];
84
+ }
85
+ /**
86
+ * Pause a runtime by creating a checkpoint (async, light mode by default).
87
+ *
88
+ * Returns immediately with a 202 Accepted response. The actual checkpoint
89
+ * process runs in the background. Use the returned `checkpoint_id` to
90
+ * poll for status via the runtime-checkpoints API.
91
+ *
92
+ * @param token - Authentication token
93
+ * @param podName - The unique pod name of the runtime to pause
94
+ * @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
95
+ * @param body - Optional metadata to store in the checkpoint record
96
+ * @returns Promise resolving with the checkpoint ID for status tracking
97
+ * @throws {Error} If authentication token is missing or invalid
98
+ * @throws {Error} If pod name is missing or invalid
99
+ */
100
+ export declare const pauseRuntime: (token: string, podName: string, baseUrl?: string, body?: PauseRuntimeBody) => Promise<PauseResumeResponse>;
101
+ /**
102
+ * Optional body for the resume endpoint.
103
+ * Contains information needed by the operator to restore from a checkpoint.
104
+ */
105
+ export interface ResumeRuntimeBody {
106
+ /** Checkpoint mode to resume from: 'criu' or 'light' */
107
+ checkpoint_mode?: 'criu' | 'light';
108
+ /** Explicit checkpoint identifier */
109
+ checkpoint_id?: string;
110
+ /** Agentspec identifier (required by the operator for restore) */
111
+ agent_spec_id?: string;
112
+ /** Specific checkpoint timestamp to restore from */
113
+ checkpoint_timestamp?: string;
114
+ /** Environment name override */
115
+ environment_name?: string;
116
+ /** Container image override */
117
+ container_image?: string;
118
+ /** Target node name */
119
+ node_name?: string;
120
+ /** Additional metadata */
121
+ metadata?: Record<string, any>;
122
+ }
123
+ /**
124
+ * Resume a paused runtime by restoring from a checkpoint (async).
125
+ *
126
+ * Returns immediately with a 202 Accepted response. The actual restore
127
+ * process runs in the background. Use the returned `checkpoint_id` to
128
+ * poll for status.
129
+ *
130
+ * @param token - Authentication token
131
+ * @param podName - The unique pod name of the runtime to resume
132
+ * @param baseUrl - Base URL for the API (defaults to production Runtimes URL)
133
+ * @param body - Optional body with agent_spec_id and restore options
134
+ * @returns Promise resolving with the checkpoint ID for status tracking
135
+ * @throws {Error} If authentication token is missing or invalid
136
+ * @throws {Error} If pod name is missing or invalid
137
+ */
138
+ export declare const resumeRuntime: (token: string, podName: string, baseUrl?: string, body?: ResumeRuntimeBody) => Promise<PauseResumeResponse>;