@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,190 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Hook for fetching and managing projects.
7
+ *
8
+ * Projects are backed by the Spacer service as spaces with type_s="project".
9
+ * Projects persist forever — only agents can terminate.
10
+ *
11
+ * Free tier limits: max 3 projects per user.
12
+ *
13
+ * @module hooks/useProjects
14
+ */
15
+ import { useMemo, useCallback } from 'react';
16
+ import { useCache } from '@datalayer/core/lib/hooks/useCache';
17
+ /** The space type value used to identify project spaces in Solr */
18
+ export const PROJECT_SPACE_VARIANT = 'project';
19
+ const normalizeProjectItems = (items) => {
20
+ if (Array.isArray(items)) {
21
+ return items;
22
+ }
23
+ if (items && typeof items === 'object') {
24
+ return [items];
25
+ }
26
+ return [];
27
+ };
28
+ const isProjectSpace = (space) => {
29
+ const variant = space?.variant ?? space?.variant_s;
30
+ if (variant !== PROJECT_SPACE_VARIANT) {
31
+ return false;
32
+ }
33
+ const items = normalizeProjectItems(space?.items);
34
+ if (items.length === 0) {
35
+ return true;
36
+ }
37
+ const hasNotebook = items.some(item => (item?.type_s ?? item?.type) === 'notebook');
38
+ const hasDocument = items.some(item => {
39
+ const type = item?.type_s ?? item?.type;
40
+ return type === 'document' || type === 'lexical';
41
+ });
42
+ return hasNotebook && hasDocument;
43
+ };
44
+ /**
45
+ * Hook to fetch user's projects (spaces with type "project").
46
+ *
47
+ * Uses the spacer service's spaces endpoint filtered by type.
48
+ */
49
+ export function useProjects() {
50
+ const { useUserSpaces } = useCache();
51
+ const { data: allSpaces, ...rest } = useUserSpaces();
52
+ // Filter to only project-type spaces
53
+ const projects = useMemo(() => {
54
+ if (!allSpaces)
55
+ return [];
56
+ return allSpaces
57
+ .filter((space) => isProjectSpace(space))
58
+ .map((space) => ({
59
+ uid: space.uid,
60
+ id: space.id ?? space.uid,
61
+ handle: space.handle ?? space.handle_s,
62
+ name: space.name ?? space.name_t,
63
+ description: space.description ?? space.description_t ?? '',
64
+ createdAt: space.created_at ? new Date(space.created_at) : new Date(),
65
+ isPublic: space.public ?? space.public_b ?? false,
66
+ attachedAgentPodName: space.attached_agent_pod_name_s || undefined,
67
+ attachedAgentSpecId: space.attached_agent_spec_id_s || undefined,
68
+ }));
69
+ }, [allSpaces]);
70
+ return { data: projects, ...rest };
71
+ }
72
+ /**
73
+ * Hook to fetch a single project by UID.
74
+ */
75
+ export function useProject(uid) {
76
+ const { useSpace } = useCache();
77
+ // useSpace requires a string – pass empty string when uid is undefined
78
+ // (the query is disabled when spaceId is falsy inside useCache)
79
+ const { data: space, ...rest } = useSpace(uid ?? '');
80
+ const project = useMemo(() => {
81
+ if (!space)
82
+ return undefined;
83
+ const s = space;
84
+ return {
85
+ uid: s.uid,
86
+ id: s.id ?? s.uid,
87
+ handle: s.handle ?? s.handle_s,
88
+ name: s.name ?? s.name_t,
89
+ description: s.description ?? s.description_t ?? '',
90
+ createdAt: s.created_at ? new Date(s.created_at) : new Date(),
91
+ isPublic: s.public ?? s.public_b ?? false,
92
+ attachedAgentPodName: s.attached_agent_pod_name_s || undefined,
93
+ attachedAgentSpecId: s.attached_agent_spec_id_s || undefined,
94
+ };
95
+ }, [space]);
96
+ return { data: project, ...rest };
97
+ }
98
+ /**
99
+ * Hook to create a new project.
100
+ * Creates a space with type "project" via the spacer service.
101
+ */
102
+ export function useCreateProject() {
103
+ const { useCreateSpace } = useCache();
104
+ const createSpaceMutation = useCreateSpace();
105
+ const createProject = useCallback(async (request) => {
106
+ const spaceHandle = request.name
107
+ .toLowerCase()
108
+ .replace(/[^a-z0-9]+/g, '-')
109
+ .replace(/^-|-$/g, '');
110
+ return createSpaceMutation.mutateAsync({
111
+ space: {
112
+ name: request.name,
113
+ description: request.description || '',
114
+ handle: spaceHandle || `project-${Date.now()}`,
115
+ variant: PROJECT_SPACE_VARIANT,
116
+ public: false,
117
+ },
118
+ });
119
+ }, [createSpaceMutation]);
120
+ return {
121
+ ...createSpaceMutation,
122
+ createProject,
123
+ };
124
+ }
125
+ /**
126
+ * Hook to update a project (e.g. persist the attached agent pod name).
127
+ * Uses the spacer PUT endpoint via useUpdateSpace.
128
+ */
129
+ export function useUpdateProject() {
130
+ const { useUpdateSpace } = useCache();
131
+ const updateSpaceMutation = useUpdateSpace();
132
+ /** Assign an agent runtime to the project */
133
+ const assignAgent = useCallback(async (project, agentPodName, agentSpecId) => {
134
+ return updateSpaceMutation.mutateAsync({
135
+ id: project.id,
136
+ name: project.name,
137
+ description: project.description,
138
+ attached_agent_pod_name_s: agentPodName,
139
+ attached_agent_spec_id_s: agentSpecId || '',
140
+ });
141
+ }, [updateSpaceMutation]);
142
+ /** Rename a project */
143
+ const renameProject = useCallback(async (project, newName) => {
144
+ return updateSpaceMutation.mutateAsync({
145
+ id: project.id,
146
+ name: newName,
147
+ description: project.description,
148
+ });
149
+ }, [updateSpaceMutation]);
150
+ /** Remove the agent assignment from the project */
151
+ const unassignAgent = useCallback(async (project) => {
152
+ return updateSpaceMutation.mutateAsync({
153
+ id: project.id,
154
+ name: project.name,
155
+ description: project.description,
156
+ attached_agent_pod_name_s: '',
157
+ attached_agent_spec_id_s: '',
158
+ });
159
+ }, [updateSpaceMutation]);
160
+ return {
161
+ ...updateSpaceMutation,
162
+ assignAgent,
163
+ unassignAgent,
164
+ renameProject,
165
+ };
166
+ }
167
+ /**
168
+ * Hook to refresh the projects list.
169
+ */
170
+ export function useRefreshProjects() {
171
+ const { useRefreshUserSpaces } = useCache();
172
+ return useRefreshUserSpaces();
173
+ }
174
+ /**
175
+ * Hook to delete a project (space) and all its contents.
176
+ */
177
+ export function useDeleteProject() {
178
+ const { useDeleteSpace } = useCache();
179
+ return useDeleteSpace();
180
+ }
181
+ /**
182
+ * Hook to fetch the default notebook and document UIDs for a project.
183
+ *
184
+ * This calls the spacer `GET /spaces/:uid/default-items` endpoint which
185
+ * returns the UID of the first notebook and first document in the space.
186
+ */
187
+ export function useProjectDefaultItems(projectUid) {
188
+ const { useSpaceDefaultItems } = useCache();
189
+ return useSpaceDefaultItems(projectUid);
190
+ }
@@ -0,0 +1,5 @@
1
+ export declare const useRuntimes: () => {
2
+ mountLocalFolder: (kernelId: string) => void;
3
+ unmountLocalFolder: (kernelId: string) => void;
4
+ };
5
+ export default useRuntimes;
@@ -0,0 +1,34 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ import { requestJupyterKernelsExtension } from '../jupyter/kernelsHandler';
6
+ export const useRuntimes = () => {
7
+ // Folder Mounting ----------------------------------------------------------
8
+ const mountLocalFolder = (kernelId) => {
9
+ requestJupyterKernelsExtension(`jump/${kernelId}`)
10
+ .then(data => {
11
+ // console.log('--- Mount Local Folder', data);
12
+ })
13
+ .catch(reason => {
14
+ console.error(`Error while accessing the jupyter server jupyter_kernels extension.\n${reason}`);
15
+ });
16
+ };
17
+ const unmountLocalFolder = (kernelId) => {
18
+ requestJupyterKernelsExtension(`jump/${kernelId}`, {
19
+ method: 'DELETE',
20
+ })
21
+ .then(data => {
22
+ // console.log('--- Unmount Local Folder', data);
23
+ })
24
+ .catch(reason => {
25
+ console.error(`Error while accessing the jupyter server jupyter_kernels extension.\n${reason}`);
26
+ });
27
+ };
28
+ // --------------------------------------------------------------------------
29
+ return {
30
+ mountLocalFolder,
31
+ unmountLocalFolder,
32
+ };
33
+ };
34
+ export default useRuntimes;
@@ -18,6 +18,14 @@ export type ApprovalRecord = {
18
18
  toolArgs: Record<string, unknown>;
19
19
  status: string;
20
20
  note?: string | null;
21
+ requester_uid?: string;
22
+ requesterUid?: string;
23
+ requested_by?: string;
24
+ requestedBy?: string;
25
+ resolved_by?: string;
26
+ resolvedBy?: string;
27
+ resolved_at?: string;
28
+ resolvedAt?: string;
21
29
  created_at: string;
22
30
  createdAt: string;
23
31
  updated_at?: string;
@@ -39,10 +47,10 @@ interface MutationResult {
39
47
  note?: string;
40
48
  }) => Promise<void>;
41
49
  }
42
- export declare function useToolApprovalsQuery(filters?: ToolApprovalFilters): import("@tanstack/react-query").UseQueryResult<ApprovalsQueryData, Error>;
43
- export declare function usePendingApprovalCount(): import("@tanstack/react-query").UseQueryResult<{
50
+ export declare function useToolApprovalsQuery(filters?: ToolApprovalFilters): import("@tanstack/react-query").UseQueryResult<NoInfer<ApprovalsQueryData>, Error>;
51
+ export declare function usePendingApprovalCount(): import("@tanstack/react-query").UseQueryResult<NoInfer<{
44
52
  count: number;
45
- }, Error>;
53
+ }>, Error>;
46
54
  export declare function useApproveToolRequest(): MutationResult;
47
55
  export declare function useRejectToolRequest(): MutationResult;
48
56
  export declare function useMarkToolApprovalRead(): MutationResult;
@@ -56,10 +64,10 @@ export declare function useMarkToolApprovalUnread(): MutationResult;
56
64
  */
57
65
  export declare function useDeleteToolApproval(): MutationResult;
58
66
  export declare function useToolApprovals(filters?: ToolApprovalFilters): {
59
- approvalsQuery: import("@tanstack/react-query").UseQueryResult<ApprovalsQueryData, Error>;
60
- pendingCountQuery: import("@tanstack/react-query").UseQueryResult<{
67
+ approvalsQuery: import("@tanstack/react-query").UseQueryResult<NoInfer<ApprovalsQueryData>, Error>;
68
+ pendingCountQuery: import("@tanstack/react-query").UseQueryResult<NoInfer<{
61
69
  count: number;
62
- }, Error>;
70
+ }>, Error>;
63
71
  approve: MutationResult;
64
72
  reject: MutationResult;
65
73
  markRead: MutationResult;
@@ -42,6 +42,17 @@ function normalizeApproval(raw) {
42
42
  {};
43
43
  const created = str(rec.created_at ?? rec.createdAt);
44
44
  const updated = str(rec.updated_at ?? rec.updatedAt);
45
+ const resolvedBy = str(rec.resolved_by ?? rec.resolvedBy);
46
+ const requesterUid = str(rec.requester_uid ?? rec.requesterUid);
47
+ const requestedBy = str(rec.requested_by ?? rec.requestedBy);
48
+ const resolvedAtRaw = str(rec.resolved_at ?? rec.resolvedAt);
49
+ const status = str(rec.status ?? 'pending');
50
+ // Keep reviewer metadata from WS payloads. If this is dropped during
51
+ // normalization, downstream pages receive status=approved/rejected but no
52
+ // reviewer/timestamp context and can incorrectly render "review pending".
53
+ // Some producers only set updated_at on decision; for non-pending statuses,
54
+ // fall back to updated_at so UI can still show a decision time.
55
+ const resolvedAt = resolvedAtRaw || (status !== 'pending' ? updated || undefined : undefined);
45
56
  return {
46
57
  id,
47
58
  agent_id: agent,
@@ -54,12 +65,20 @@ function normalizeApproval(raw) {
54
65
  toolCallId: typeof toolCall === 'string' ? toolCall : undefined,
55
66
  tool_args: args,
56
67
  toolArgs: args,
57
- status: str(rec.status ?? 'pending'),
68
+ status,
58
69
  note: typeof rec.note === 'string'
59
70
  ? rec.note
60
71
  : rec.note === null
61
72
  ? null
62
73
  : undefined,
74
+ requester_uid: requesterUid || undefined,
75
+ requesterUid: requesterUid || undefined,
76
+ requested_by: requestedBy || undefined,
77
+ requestedBy: requestedBy || undefined,
78
+ resolved_by: resolvedBy || undefined,
79
+ resolvedBy: resolvedBy || undefined,
80
+ resolved_at: resolvedAt,
81
+ resolvedAt: resolvedAt,
63
82
  created_at: created,
64
83
  createdAt: created,
65
84
  updated_at: updated || undefined,
package/lib/index.d.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  export * from './chat';
2
2
  export * from './client';
3
+ export * from './collaboration';
3
4
  export * from './components';
4
5
  export * from './mcp';
5
6
  export * from './stores';
6
7
  export * from './identity';
7
8
  export * from './config';
8
9
  export * from './specs';
9
- export type { AgentRuntimeData, AgentSpec, BenchmarkSpec, ChatCommonProps, TeamSpec, GuardrailSpec, EvalSpec, TriggerSpec, OutputSpec, NotificationChannelSpec, MCPServer, SkillSpec, SkillInfo, SkillStatus, EnvvarSpec, ToolCallStartContext, ToolCallCompleteContext, } from './types';
10
+ export type { AgentRuntimeData, Agentspec, BenchmarkSpec, ChatCommonProps, TeamSpec, GuardrailSpec, EvalSpec, TriggerSpec, OutputSpec, NotificationChannelSpec, MCPServer, SkillSpec, SkillInfo, SkillStatus, EnvvarSpec, ToolCallStartContext, ToolCallCompleteContext, } from './types';
package/lib/index.js CHANGED
@@ -4,6 +4,7 @@
4
4
  */
5
5
  export * from './chat';
6
6
  export * from './client';
7
+ export * from './collaboration';
7
8
  export * from './components';
8
9
  export * from './mcp';
9
10
  export * from './stores';
@@ -0,0 +1,5 @@
1
+ export declare function listVariables(): string;
2
+ export declare function saveVariables(variables: string[]): string;
3
+ export declare function loadVariables(variables: string): string;
4
+ export declare function changeCurrentWorkingDirectory(path: string): string;
5
+ export declare function getOutputCandidates(code: string): string[];
@@ -0,0 +1,100 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ export function listVariables() {
6
+ return `
7
+ def _list_variables():
8
+ import json
9
+ from types import BuiltinFunctionType, BuiltinMethodType, FunctionType, MethodType, MethodWrapperType, ModuleType, TracebackType
10
+
11
+ _FORBIDDEN_TYPES = [type, BuiltinFunctionType, BuiltinMethodType, FunctionType, MethodType, MethodWrapperType, ModuleType, TracebackType]
12
+ try:
13
+ from IPython.core.autocall import ExitAutocall
14
+ _FORBIDDEN_TYPES.append(ExitAutocall)
15
+ except ImportError:
16
+ pass
17
+ _exclude = tuple(_FORBIDDEN_TYPES)
18
+
19
+ _all = frozenset(globals())
20
+ _vars = {}
21
+ for _n in _all:
22
+ _v = globals()[_n]
23
+
24
+ if not (
25
+ _n.startswith('_') or
26
+ isinstance(_v, _exclude) or
27
+ # Special IPython variables
28
+ (_n == 'In' and isinstance(_v, list)) or
29
+ (_n == 'Out' and isinstance(_v, dict))
30
+ ):
31
+ _vars[_n] = type(_v).__qualname__
32
+
33
+ return json.dumps(_vars)
34
+
35
+ _list_variables()`;
36
+ }
37
+ export function saveVariables(variables) {
38
+ return `
39
+ def _pickle_variables():
40
+ from base64 import encodebytes
41
+ import json
42
+ import pickle
43
+ _names = {${variables.map(v => `"${v}"`).join(',')}}
44
+ _data = {}
45
+ for _n in _names:
46
+ try:
47
+ _v = globals()[_n]
48
+ dump = pickle.dumps(_v)
49
+ _data[_n] = encodebytes(dump).decode("ascii")
50
+ except:
51
+ ...
52
+
53
+ return json.dumps(_data)
54
+
55
+ _pickle_variables()
56
+ `;
57
+ }
58
+ export function loadVariables(variables) {
59
+ return `
60
+ def _load_variables():
61
+ from base64 import decodebytes
62
+ import json
63
+ import pickle
64
+ _data = json.loads(${variables})
65
+ _loaded = []
66
+ for _n, _v in _data.items():
67
+ try:
68
+ dump = decodebytes(_v.encode("ascii"))
69
+ globals()[_n] = pickle.loads(dump)
70
+ _loaded.append(_n)
71
+ except:
72
+ ...
73
+ return json.dumps(_loaded)
74
+
75
+ _load_variables()
76
+ `;
77
+ }
78
+ export function changeCurrentWorkingDirectory(path) {
79
+ const formattedPath = path
80
+ .split('/')
81
+ .map(seg => `"${seg}"`)
82
+ .join(' / ');
83
+ return `
84
+ def _change_current_directory():
85
+ import os
86
+ from pathlib import Path
87
+ _local_content_mount_point = Path(Path.home() / ${formattedPath})
88
+ _local_content_mount_point.mkdir(parents=True, exist_ok=True)
89
+ os.chdir(_local_content_mount_point)
90
+
91
+ assert Path.cwd() == _local_content_mount_point
92
+
93
+ _change_current_directory()
94
+ `;
95
+ }
96
+ export function getOutputCandidates(code) {
97
+ return Array.from(code.matchAll(/^((?<output>[A-z][\w]*)\s*=[^=]|\((?<walrus>[A-z][\w]*)\s*:=[^=)]+\))/gm))
98
+ .map(match => match.groups?.output ?? match.groups?.walrus ?? '')
99
+ .filter(n => !!n);
100
+ }
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Runtime snippets.
3
+ */
4
+ export interface IRuntimeSnippets {
5
+ /**
6
+ * Code snippet to change the current working directory.
7
+ *
8
+ * @param path New current directory
9
+ * @returns The code snippet
10
+ */
11
+ changeCurrentWorkingDirectory(path: string): string;
12
+ /**
13
+ * Code snippet to list the transferable kernel variables.
14
+ *
15
+ * @returns The code snippet
16
+ */
17
+ listVariables(): string;
18
+ /**
19
+ * Code snippet to load kernel variables.
20
+ *
21
+ * @param variables Serialized-JSON dictionary (<variable name>, <variable value blob>)
22
+ * @returns The code snippet
23
+ */
24
+ loadVariables(variables: string): string;
25
+ /**
26
+ * Code snippet to save kernel variables.
27
+ *
28
+ * @param variables Variable names.
29
+ * @returns The code snippet
30
+ */
31
+ saveVariables(variables: string[]): string;
32
+ /**
33
+ * Extract output variables candidates by parsing the cell content.
34
+ *
35
+ * @param code Cell code source
36
+ * @returns The output variable candidates
37
+ */
38
+ getOutputCandidates(code: string): string[];
39
+ }
40
+ /**
41
+ * Facade to interact with kernels by requesting code execution.
42
+ */
43
+ export declare class RuntimeSnippetsFacade {
44
+ private static $language;
45
+ /**
46
+ * Register a facade for a given language
47
+ *
48
+ * @param language Kernel language
49
+ * @param API Kernel API
50
+ */
51
+ static register(language: string, API: IRuntimeSnippets): void;
52
+ /**
53
+ * Whether there is an API for the given kernel language
54
+ *
55
+ * @param language Kernel language
56
+ */
57
+ static supports(language: string): boolean;
58
+ private _language;
59
+ /**
60
+ * Create a kernel snippet generator for a given kernel language.
61
+ *
62
+ * @param language Kernel language
63
+ */
64
+ constructor(language: string);
65
+ /**
66
+ * Kernel language
67
+ */
68
+ get language(): string;
69
+ /**
70
+ * Code snippet to change the current working directory.
71
+ *
72
+ * The code snippet has no returned value.
73
+ *
74
+ * @param path New current directory
75
+ * @returns The code snippet
76
+ */
77
+ changeCurrentWorkingDirectory(path: string): string;
78
+ /**
79
+ * Code snippet to list the transferable kernel variables.
80
+ *
81
+ * @returns The code snippet
82
+ */
83
+ listVariables(): string;
84
+ /**
85
+ * Code snippet to load kernel variables.
86
+ *
87
+ * @param variables Serialized-JSON dictionary (<variable name>, <variable value blob>)
88
+ * @returns The code snippet
89
+ */
90
+ loadVariables(variables: string): string;
91
+ /**
92
+ * Code snippet to save kernel variables.
93
+ *
94
+ * @param variables Variable names.
95
+ * @returns The code snippet
96
+ */
97
+ saveVariables(variables: string[]): string;
98
+ /**
99
+ * Extract output variables candidates by parsing the cell content.
100
+ *
101
+ * @param code Cell code source
102
+ * @returns The output variable candidates
103
+ */
104
+ getOutputCandidates(code: string): string[];
105
+ }
@@ -0,0 +1,101 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ import * as Python from './Python';
6
+ /**
7
+ * Facade to interact with kernels by requesting code execution.
8
+ */
9
+ export class RuntimeSnippetsFacade {
10
+ static $language = new Map();
11
+ /**
12
+ * Register a facade for a given language
13
+ *
14
+ * @param language Kernel language
15
+ * @param API Kernel API
16
+ */
17
+ static register(language, API) {
18
+ this.$language.set(language, API);
19
+ }
20
+ /**
21
+ * Whether there is an API for the given kernel language
22
+ *
23
+ * @param language Kernel language
24
+ */
25
+ static supports(language) {
26
+ return this.$language.has(language);
27
+ }
28
+ _language;
29
+ /**
30
+ * Create a kernel snippet generator for a given kernel language.
31
+ *
32
+ * @param language Kernel language
33
+ */
34
+ constructor(language) {
35
+ if (!RuntimeSnippetsFacade.$language.has(language)) {
36
+ throw new Error(`${language} is not supported.`);
37
+ }
38
+ this._language = language;
39
+ }
40
+ /**
41
+ * Kernel language
42
+ */
43
+ get language() {
44
+ return this._language;
45
+ }
46
+ /**
47
+ * Code snippet to change the current working directory.
48
+ *
49
+ * The code snippet has no returned value.
50
+ *
51
+ * @param path New current directory
52
+ * @returns The code snippet
53
+ */
54
+ changeCurrentWorkingDirectory(path) {
55
+ return RuntimeSnippetsFacade.$language
56
+ .get(this.language)
57
+ .changeCurrentWorkingDirectory(path);
58
+ }
59
+ /**
60
+ * Code snippet to list the transferable kernel variables.
61
+ *
62
+ * @returns The code snippet
63
+ */
64
+ listVariables() {
65
+ return RuntimeSnippetsFacade.$language.get(this.language).listVariables();
66
+ }
67
+ /**
68
+ * Code snippet to load kernel variables.
69
+ *
70
+ * @param variables Serialized-JSON dictionary (<variable name>, <variable value blob>)
71
+ * @returns The code snippet
72
+ */
73
+ loadVariables(variables) {
74
+ return RuntimeSnippetsFacade.$language
75
+ .get(this.language)
76
+ .loadVariables(variables);
77
+ }
78
+ /**
79
+ * Code snippet to save kernel variables.
80
+ *
81
+ * @param variables Variable names.
82
+ * @returns The code snippet
83
+ */
84
+ saveVariables(variables) {
85
+ return RuntimeSnippetsFacade.$language
86
+ .get(this.language)
87
+ .saveVariables(variables);
88
+ }
89
+ /**
90
+ * Extract output variables candidates by parsing the cell content.
91
+ *
92
+ * @param code Cell code source
93
+ * @returns The output variable candidates
94
+ */
95
+ getOutputCandidates(code) {
96
+ return RuntimeSnippetsFacade.$language
97
+ .get(this.language)
98
+ .getOutputCandidates(code);
99
+ }
100
+ }
101
+ RuntimeSnippetsFacade.register('python', Python);
@@ -0,0 +1,2 @@
1
+ export * from './Python';
2
+ export * from './Snippets';
@@ -0,0 +1,6 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ export * from './Python';
6
+ export * from './Snippets';
@@ -0,0 +1,2 @@
1
+ export * from './exec';
2
+ export * from './kernelsHandler';
@@ -0,0 +1,6 @@
1
+ /*
2
+ * Copyright (c) 2025-2026 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ export * from './exec';
6
+ export * from './kernelsHandler';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Call the jupyter_kernels extension
3
+ *
4
+ * @param endPoint API REST end point for the extension
5
+ * @param init Initial values for the request
6
+ * @returns The response body interpreted as JSON
7
+ */
8
+ export declare function requestJupyterKernelsExtension<T>(endPoint?: string, init?: RequestInit): Promise<T>;