@datalayer/core 1.0.24 → 1.1.41

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 (364) hide show
  1. package/README.md +35 -24
  2. package/lib/api/constants.d.ts +3 -0
  3. package/lib/api/constants.js +3 -0
  4. package/lib/api/index.d.ts +0 -8
  5. package/lib/api/index.js +0 -8
  6. package/lib/cli-login.js +167 -0
  7. package/lib/client/base.d.ts +0 -3
  8. package/lib/client/base.js +0 -2
  9. package/lib/client/index.d.ts +10 -98
  10. package/lib/client/index.js +12 -21
  11. package/lib/components/avatars/UserAvatar.d.ts +16 -0
  12. package/lib/components/avatars/UserAvatar.js +47 -0
  13. package/lib/components/avatars/index.d.ts +1 -0
  14. package/lib/components/avatars/index.js +1 -0
  15. package/lib/components/billing/BillableAccountSelect.js +4 -0
  16. package/lib/components/billing/index.js +4 -0
  17. package/lib/components/checkout/StripeCheckout.js +48 -2
  18. package/lib/components/context/index.d.ts +0 -1
  19. package/lib/components/context/index.js +0 -1
  20. package/lib/components/display/DisplayHandle.d.ts +12 -0
  21. package/lib/components/display/DisplayHandle.js +11 -0
  22. package/lib/components/display/LiveRelativeTime.d.ts +1 -10
  23. package/lib/components/display/LiveRelativeTime.js +5 -16
  24. package/lib/components/display/index.d.ts +1 -0
  25. package/lib/components/display/index.js +1 -0
  26. package/lib/components/flashes/index.d.ts +0 -1
  27. package/lib/components/flashes/index.js +0 -1
  28. package/lib/components/index.d.ts +2 -0
  29. package/lib/components/index.js +2 -0
  30. package/lib/components/principal/Principal.d.ts +7 -0
  31. package/lib/components/principal/Principal.js +153 -16
  32. package/lib/components/principal/PrincipalAvatar.d.ts +1 -1
  33. package/lib/components/principal/PrincipalAvatar.js +4 -28
  34. package/lib/components/principal/PrincipalBadge.js +4 -4
  35. package/lib/components/principal/PrincipalDetailsOverlay.d.ts +4 -2
  36. package/lib/components/principal/PrincipalDetailsOverlay.js +27 -7
  37. package/lib/components/principal/PrincipalSwitcherMenu.js +76 -39
  38. package/lib/components/progress/index.d.ts +0 -1
  39. package/lib/components/progress/index.js +0 -1
  40. package/lib/components/sharing/ShareAccessComponent.d.ts +3 -2
  41. package/lib/components/sharing/ShareAccessComponent.js +180 -133
  42. package/lib/components/sharing/SharingEditor.js +4 -0
  43. package/lib/components/snippets/index.d.ts +1 -1
  44. package/lib/components/snippets/index.js +1 -1
  45. package/lib/components/students/StudentResultCircle.d.ts +21 -0
  46. package/lib/components/students/StudentResultCircle.js +59 -0
  47. package/lib/components/students/index.d.ts +1 -1
  48. package/lib/components/students/index.js +1 -1
  49. package/lib/components/time/LiveRelativeTime.d.ts +14 -0
  50. package/lib/components/time/LiveRelativeTime.js +43 -0
  51. package/lib/components/time/index.d.ts +1 -0
  52. package/lib/components/time/index.js +9 -0
  53. package/lib/components/timeline/Timeline.d.ts +20 -0
  54. package/lib/components/timeline/Timeline.js +90 -0
  55. package/lib/components/timeline/index.d.ts +1 -0
  56. package/lib/components/timeline/index.js +9 -0
  57. package/lib/components/tokens/index.d.ts +1 -1
  58. package/lib/components/tokens/index.js +1 -1
  59. package/lib/components/toolbars/index.d.ts +1 -3
  60. package/lib/components/toolbars/index.js +1 -3
  61. package/lib/hooks/cacheConverters.d.ts +21 -0
  62. package/lib/hooks/cacheConverters.js +110 -0
  63. package/lib/hooks/index.d.ts +0 -2
  64. package/lib/hooks/index.js +0 -2
  65. package/lib/hooks/useCache.d.ts +65 -36
  66. package/lib/hooks/useCache.js +424 -65
  67. package/lib/hooks/useDatalayer.js +3 -1
  68. package/lib/hooks/useIAM.js +1 -3
  69. package/lib/hooks/useLocationHandles.d.ts +3 -1
  70. package/lib/hooks/useLocationHandles.js +2 -1
  71. package/lib/hooks/usePrincipalStore.d.ts +2 -2
  72. package/lib/hooks/usePrincipalStore.js +97 -14
  73. package/lib/hooks/useProjectStore.d.ts +1 -1
  74. package/lib/hooks/useSelectedPrincipal.js +1 -1
  75. package/lib/hooks/useUser.js +19 -2
  76. package/lib/index.d.ts +1 -6
  77. package/lib/index.js +1 -13
  78. package/lib/main.js +3 -3
  79. package/lib/mocks/index.js +1 -1
  80. package/lib/mocks/models/index.d.ts +0 -1
  81. package/lib/mocks/models/index.js +0 -1
  82. package/lib/models/Datasource.d.ts +2 -2
  83. package/lib/models/IAM.d.ts +1 -1
  84. package/lib/models/IAMToken.d.ts +1 -1
  85. package/lib/models/School.d.ts +12 -3
  86. package/lib/models/Secret.d.ts +2 -2
  87. package/lib/models/Student.d.ts +13 -3
  88. package/lib/models/Usage.d.ts +11 -1
  89. package/lib/models/UserDTO.d.ts +2 -2
  90. package/lib/models/index.d.ts +0 -30
  91. package/lib/models/index.js +0 -30
  92. package/lib/routes/index.d.ts +1 -0
  93. package/lib/routes/index.js +1 -0
  94. package/lib/routes/publicPaths.d.ts +23 -0
  95. package/lib/routes/publicPaths.js +74 -0
  96. package/lib/state/State.d.ts +0 -12
  97. package/lib/state/State.js +0 -12
  98. package/lib/state/substates/CoreState.js +1 -1
  99. package/lib/state/substates/LayoutState.d.ts +12 -1
  100. package/lib/state/substates/index.d.ts +0 -7
  101. package/lib/state/substates/index.js +0 -7
  102. package/lib/utils/Date.d.ts +7 -0
  103. package/lib/utils/Date.js +43 -10
  104. package/lib/utils/Handles.js +3 -1
  105. package/lib/utils/index.d.ts +1 -1
  106. package/lib/utils/index.js +1 -1
  107. package/lib/views/api-keys/APIKeyEdit.d.ts +8 -0
  108. package/lib/views/{iam-tokens/IAMTokenEdit.js → api-keys/APIKeyEdit.js} +31 -31
  109. package/lib/views/api-keys/APIKeyNew.d.ts +8 -0
  110. package/lib/views/api-keys/APIKeyNew.js +143 -0
  111. package/lib/views/api-keys/APIKeys.d.ts +12 -0
  112. package/lib/views/api-keys/APIKeys.js +128 -0
  113. package/lib/views/api-keys/APIKeysStandalone.d.ts +2 -0
  114. package/lib/views/api-keys/APIKeysStandalone.js +117 -0
  115. package/lib/views/api-keys/index.d.ts +3 -0
  116. package/lib/{mocks/jupyter → views/api-keys}/index.js +3 -1
  117. package/lib/views/datasources/DatasourceDetail.d.ts +1 -1
  118. package/lib/views/datasources/DatasourceNew.d.ts +1 -1
  119. package/lib/views/datasources/Datasources.d.ts +1 -1
  120. package/lib/views/datasources/Datasources.js +12 -3
  121. package/lib/views/iam/SignInSimple.d.ts +37 -1
  122. package/lib/views/iam/SignInSimple.js +110 -12
  123. package/package.json +5 -3
  124. package/lib/App.css +0 -47
  125. package/lib/App.d.ts +0 -3
  126. package/lib/App.js +0 -21
  127. package/lib/api/runtimes/checkpoints.d.ts +0 -122
  128. package/lib/api/runtimes/checkpoints.js +0 -118
  129. package/lib/api/runtimes/environments.d.ts +0 -9
  130. package/lib/api/runtimes/environments.js +0 -29
  131. package/lib/api/runtimes/healthz.d.ts +0 -15
  132. package/lib/api/runtimes/healthz.js +0 -44
  133. package/lib/api/runtimes/index.d.ts +0 -12
  134. package/lib/api/runtimes/index.js +0 -16
  135. package/lib/api/runtimes/runtimes.d.ts +0 -138
  136. package/lib/api/runtimes/runtimes.js +0 -230
  137. package/lib/api/runtimes/snapshots.d.ts +0 -38
  138. package/lib/api/runtimes/snapshots.js +0 -82
  139. package/lib/api/spacer/documents.d.ts +0 -12
  140. package/lib/api/spacer/documents.js +0 -43
  141. package/lib/api/spacer/healthz.d.ts +0 -15
  142. package/lib/api/spacer/healthz.js +0 -44
  143. package/lib/api/spacer/index.d.ts +0 -15
  144. package/lib/api/spacer/index.js +0 -19
  145. package/lib/api/spacer/items.d.ts +0 -25
  146. package/lib/api/spacer/items.js +0 -55
  147. package/lib/api/spacer/lexicals.d.ts +0 -34
  148. package/lib/api/spacer/lexicals.js +0 -89
  149. package/lib/api/spacer/notebooks.d.ts +0 -34
  150. package/lib/api/spacer/notebooks.js +0 -89
  151. package/lib/api/spacer/spaces.d.ts +0 -84
  152. package/lib/api/spacer/spaces.js +0 -170
  153. package/lib/api/spacer/users.d.ts +0 -9
  154. package/lib/api/spacer/users.js +0 -29
  155. package/lib/client/mixins/RuntimesMixin.d.ts +0 -93
  156. package/lib/client/mixins/RuntimesMixin.js +0 -229
  157. package/lib/client/mixins/SpacerMixin.d.ts +0 -210
  158. package/lib/client/mixins/SpacerMixin.js +0 -615
  159. package/lib/client/utils/spacerUtils.d.ts +0 -18
  160. package/lib/client/utils/spacerUtils.js +0 -32
  161. package/lib/collaboration/DatalayerCollaboration.d.ts +0 -13
  162. package/lib/collaboration/DatalayerCollaboration.js +0 -28
  163. package/lib/collaboration/DatalayerCollaborationProvider.d.ts +0 -60
  164. package/lib/collaboration/DatalayerCollaborationProvider.js +0 -163
  165. package/lib/collaboration/index.d.ts +0 -2
  166. package/lib/collaboration/index.js +0 -6
  167. package/lib/components/context/SpaceSelect.d.ts +0 -2
  168. package/lib/components/context/SpaceSelect.js +0 -42
  169. package/lib/components/flashes/FlashDisclaimer.d.ts +0 -2
  170. package/lib/components/flashes/FlashDisclaimer.js +0 -17
  171. package/lib/components/icons/ArtifactIcon.d.ts +0 -10
  172. package/lib/components/icons/ArtifactIcon.js +0 -58
  173. package/lib/components/icons/index.d.ts +0 -1
  174. package/lib/components/icons/index.js +0 -5
  175. package/lib/components/nbgrader/NbGradesDetails.d.ts +0 -5
  176. package/lib/components/nbgrader/NbGradesDetails.js +0 -14
  177. package/lib/components/nbgrader/index.d.ts +0 -1
  178. package/lib/components/nbgrader/index.js +0 -5
  179. package/lib/components/progress/CreditsIndicator.d.ts +0 -33
  180. package/lib/components/progress/CreditsIndicator.js +0 -23
  181. package/lib/components/runtimes/RuntimeCellVariables.d.ts +0 -39
  182. package/lib/components/runtimes/RuntimeCellVariables.js +0 -172
  183. package/lib/components/runtimes/RuntimeCellVariablesDialog.d.ts +0 -37
  184. package/lib/components/runtimes/RuntimeCellVariablesDialog.js +0 -101
  185. package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +0 -57
  186. package/lib/components/runtimes/RuntimeLauncherDialog.js +0 -275
  187. package/lib/components/runtimes/RuntimePickerBase.d.ts +0 -69
  188. package/lib/components/runtimes/RuntimePickerBase.js +0 -122
  189. package/lib/components/runtimes/RuntimePickerCell.d.ts +0 -34
  190. package/lib/components/runtimes/RuntimePickerCell.js +0 -104
  191. package/lib/components/runtimes/RuntimePickerNotebook.d.ts +0 -42
  192. package/lib/components/runtimes/RuntimePickerNotebook.js +0 -232
  193. package/lib/components/runtimes/RuntimeReservationControl.d.ts +0 -47
  194. package/lib/components/runtimes/RuntimeReservationControl.js +0 -42
  195. package/lib/components/runtimes/RuntimeSimplePicker.d.ts +0 -38
  196. package/lib/components/runtimes/RuntimeSimplePicker.js +0 -155
  197. package/lib/components/runtimes/RuntimeTransfer.d.ts +0 -16
  198. package/lib/components/runtimes/RuntimeTransfer.js +0 -5
  199. package/lib/components/runtimes/RuntimeUtils.d.ts +0 -17
  200. package/lib/components/runtimes/RuntimeUtils.js +0 -178
  201. package/lib/components/runtimes/RuntimeVariables.d.ts +0 -38
  202. package/lib/components/runtimes/RuntimeVariables.js +0 -75
  203. package/lib/components/runtimes/index.d.ts +0 -11
  204. package/lib/components/runtimes/index.js +0 -15
  205. package/lib/components/snapshots/SandboxSnapshotMenu.d.ts +0 -33
  206. package/lib/components/snapshots/SandboxSnapshotMenu.js +0 -169
  207. package/lib/components/snapshots/index.d.ts +0 -1
  208. package/lib/components/snapshots/index.js +0 -5
  209. package/lib/components/snippets/SnippetDialog.d.ts +0 -42
  210. package/lib/components/snippets/SnippetDialog.js +0 -42
  211. package/lib/components/students/StudentItemStatus.d.ts +0 -7
  212. package/lib/components/students/StudentItemStatus.js +0 -66
  213. package/lib/components/tokens/SpaceVariantToken.d.ts +0 -5
  214. package/lib/components/tokens/SpaceVariantToken.js +0 -23
  215. package/lib/components/toolbars/AssignmentEditorToolbar.d.ts +0 -4
  216. package/lib/components/toolbars/AssignmentEditorToolbar.js +0 -18
  217. package/lib/components/toolbars/DocumentEditorToolbar.d.ts +0 -2
  218. package/lib/components/toolbars/DocumentEditorToolbar.js +0 -12
  219. package/lib/components/toolbars/NotebookEditorToolbar.d.ts +0 -29
  220. package/lib/components/toolbars/NotebookEditorToolbar.js +0 -30
  221. package/lib/examples/CellExample.d.ts +0 -6
  222. package/lib/examples/CellExample.js +0 -20
  223. package/lib/examples/NotebookExample.d.ts +0 -6
  224. package/lib/examples/NotebookExample.js +0 -19
  225. package/lib/examples/lexical-theme.css +0 -436
  226. package/lib/examples/notebooks/IPyWidgetsExample.ipynb.json +0 -101
  227. package/lib/examples/notebooks/IPyWidgetsExampleWithState.ipynb.json +0 -112
  228. package/lib/examples/notebooks/Lite.ipynb.json +0 -128
  229. package/lib/examples/notebooks/Matplotlib.ipynb.json +0 -137
  230. package/lib/examples/notebooks/NotebookExample1.ipynb.json +0 -126
  231. package/lib/examples/notebooks/NotebookExample2.ipynb.json +0 -48
  232. package/lib/examples/notebooks/NotebookOutputs.ipynb.json +0 -49
  233. package/lib/examples/notebooks/NotebookToCExample.ipynb.json +0 -102
  234. package/lib/examples/notebooks/PyGWalker.ipynb.json +0 -55
  235. package/lib/hooks/useCellOutputshot.d.ts +0 -4
  236. package/lib/hooks/useCellOutputshot.js +0 -25
  237. package/lib/hooks/useProjects.d.ts +0 -628
  238. package/lib/hooks/useProjects.js +0 -190
  239. package/lib/hooks/useRuntimes.d.ts +0 -5
  240. package/lib/hooks/useRuntimes.js +0 -34
  241. package/lib/mocks/models/CourseMock.d.ts +0 -6
  242. package/lib/mocks/models/CourseMock.js +0 -29
  243. package/lib/mocks/models/SpaceMock.d.ts +0 -6
  244. package/lib/mocks/models/SpaceMock.js +0 -25
  245. package/lib/models/Assignment.d.ts +0 -7
  246. package/lib/models/Assignment.js +0 -5
  247. package/lib/models/Cell.d.ts +0 -8
  248. package/lib/models/Cell.js +0 -5
  249. package/lib/models/CodeBlock.d.ts +0 -10
  250. package/lib/models/CodeBlock.js +0 -5
  251. package/lib/models/CodeSandboxSnapshot.d.ts +0 -92
  252. package/lib/models/CodeSandboxSnapshot.js +0 -13
  253. package/lib/models/CodeSandboxSnapshotDTO.d.ts +0 -173
  254. package/lib/models/CodeSandboxSnapshotDTO.js +0 -139
  255. package/lib/models/CodefeedBlocks.d.ts +0 -7
  256. package/lib/models/CodefeedBlocks.js +0 -5
  257. package/lib/models/Content.d.ts +0 -5
  258. package/lib/models/Content.js +0 -5
  259. package/lib/models/Course.d.ts +0 -17
  260. package/lib/models/Course.js +0 -5
  261. package/lib/models/Dataset.d.ts +0 -16
  262. package/lib/models/Dataset.js +0 -5
  263. package/lib/models/Document.d.ts +0 -8
  264. package/lib/models/Document.js +0 -5
  265. package/lib/models/Environment.d.ts +0 -86
  266. package/lib/models/Environment.js +0 -5
  267. package/lib/models/EnvironmentDTO.d.ts +0 -125
  268. package/lib/models/EnvironmentDTO.js +0 -88
  269. package/lib/models/Exercise.d.ts +0 -16
  270. package/lib/models/Exercise.js +0 -5
  271. package/lib/models/Item.d.ts +0 -20
  272. package/lib/models/Item.js +0 -5
  273. package/lib/models/ItemDTO.d.ts +0 -74
  274. package/lib/models/ItemDTO.js +0 -186
  275. package/lib/models/ItemType.d.ts +0 -2
  276. package/lib/models/ItemType.js +0 -5
  277. package/lib/models/Lesson.d.ts +0 -5
  278. package/lib/models/Lesson.js +0 -5
  279. package/lib/models/LexicalDTO.d.ts +0 -155
  280. package/lib/models/LexicalDTO.js +0 -157
  281. package/lib/models/Library.d.ts +0 -10
  282. package/lib/models/Library.js +0 -5
  283. package/lib/models/Notebook.d.ts +0 -11
  284. package/lib/models/Notebook.js +0 -5
  285. package/lib/models/NotebookDTO.d.ts +0 -96
  286. package/lib/models/NotebookDTO.js +0 -153
  287. package/lib/models/Page.d.ts +0 -41
  288. package/lib/models/Page.js +0 -25
  289. package/lib/models/PageTag.d.ts +0 -19
  290. package/lib/models/PageTag.js +0 -94
  291. package/lib/models/ProjectDTO.d.ts +0 -89
  292. package/lib/models/ProjectDTO.js +0 -131
  293. package/lib/models/Runtime.d.ts +0 -123
  294. package/lib/models/Runtime.js +0 -18
  295. package/lib/models/RuntimeDTO.d.ts +0 -191
  296. package/lib/models/RuntimeDTO.js +0 -204
  297. package/lib/models/Space.d.ts +0 -35
  298. package/lib/models/Space.js +0 -66
  299. package/lib/models/SpaceDTO.d.ts +0 -334
  300. package/lib/models/SpaceDTO.js +0 -244
  301. package/lib/models/SpaceItem.d.ts +0 -10
  302. package/lib/models/SpaceItem.js +0 -5
  303. package/lib/models/SpaceMember.d.ts +0 -6
  304. package/lib/models/SpaceMember.js +0 -5
  305. package/lib/models/StudentItem.d.ts +0 -21
  306. package/lib/models/StudentItem.js +0 -5
  307. package/lib/services/DatalayerServiceManager.d.ts +0 -22
  308. package/lib/services/DatalayerServiceManager.js +0 -69
  309. package/lib/services/index.d.ts +0 -4
  310. package/lib/services/index.js +0 -7
  311. package/lib/services/reconnectToRuntime.d.ts +0 -32
  312. package/lib/services/reconnectToRuntime.js +0 -59
  313. package/lib/state/substates/CellState.d.ts +0 -12
  314. package/lib/state/substates/CellState.js +0 -22
  315. package/lib/state/substates/DocumentState.d.ts +0 -10
  316. package/lib/state/substates/DocumentState.js +0 -14
  317. package/lib/state/substates/GradeState.d.ts +0 -10
  318. package/lib/state/substates/GradeState.js +0 -14
  319. package/lib/state/substates/JupyterLabState.d.ts +0 -16
  320. package/lib/state/substates/JupyterLabState.js +0 -17
  321. package/lib/state/substates/NbformatState.d.ts +0 -13
  322. package/lib/state/substates/NbformatState.js +0 -16
  323. package/lib/state/substates/RuntimesState.d.ts +0 -79
  324. package/lib/state/substates/RuntimesState.js +0 -180
  325. package/lib/state/substates/SpaceState.d.ts +0 -11
  326. package/lib/state/substates/SpaceState.js +0 -16
  327. package/lib/stateful/index.d.ts +0 -2
  328. package/lib/stateful/index.js +0 -6
  329. package/lib/stateful/jupyter/exec/Python.d.ts +0 -5
  330. package/lib/stateful/jupyter/exec/Python.js +0 -100
  331. package/lib/stateful/jupyter/exec/Snippets.d.ts +0 -105
  332. package/lib/stateful/jupyter/exec/Snippets.js +0 -101
  333. package/lib/stateful/jupyter/exec/index.d.ts +0 -2
  334. package/lib/stateful/jupyter/exec/index.js +0 -6
  335. package/lib/stateful/jupyter/index.d.ts +0 -2
  336. package/lib/stateful/jupyter/index.js +0 -6
  337. package/lib/stateful/jupyter/kernelsHandler.d.ts +0 -8
  338. package/lib/stateful/jupyter/kernelsHandler.js +0 -39
  339. package/lib/stateful/runtimes/actions.d.ts +0 -102
  340. package/lib/stateful/runtimes/actions.js +0 -249
  341. package/lib/stateful/runtimes/apis.d.ts +0 -273
  342. package/lib/stateful/runtimes/apis.js +0 -5
  343. package/lib/stateful/runtimes/index.d.ts +0 -5
  344. package/lib/stateful/runtimes/index.js +0 -9
  345. package/lib/stateful/runtimes/settings.d.ts +0 -15
  346. package/lib/stateful/runtimes/settings.js +0 -31
  347. package/lib/stateful/runtimes/snapshots.d.ts +0 -25
  348. package/lib/stateful/runtimes/snapshots.js +0 -150
  349. package/lib/stateful/runtimes/utils.d.ts +0 -7
  350. package/lib/stateful/runtimes/utils.js +0 -14
  351. package/lib/utils/Cells.d.ts +0 -2
  352. package/lib/utils/Cells.js +0 -28
  353. package/lib/views/iam-tokens/IAMTokenEdit.d.ts +0 -6
  354. package/lib/views/iam-tokens/IAMTokenNew.d.ts +0 -8
  355. package/lib/views/iam-tokens/IAMTokenNew.js +0 -118
  356. package/lib/views/iam-tokens/IAMTokens.d.ts +0 -12
  357. package/lib/views/iam-tokens/IAMTokens.js +0 -87
  358. package/lib/views/iam-tokens/Tokens.d.ts +0 -2
  359. package/lib/views/iam-tokens/Tokens.js +0 -85
  360. package/lib/views/iam-tokens/index.d.ts +0 -3
  361. package/lib/views/iam-tokens/index.js +0 -7
  362. /package/lib/{mocks/jupyter/index.d.ts → cli-login.d.ts} +0 -0
  363. /package/lib/utils/{logger.d.ts → Logger.d.ts} +0 -0
  364. /package/lib/utils/{logger.js → Logger.js} +0 -0
@@ -1,69 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- import { ServerConnection, ServiceManager } from '@jupyterlab/services';
6
- import { coreStore } from '../state/substates/CoreState.js';
7
- import { DEFAULT_DATALAYER_CONFIG } from '../config/Configuration.js';
8
- import { createRuntime } from '../stateful/runtimes/actions.js';
9
- /**
10
- * Creates a ServiceManager configured for Datalayer.
11
- *
12
- * This function requests a new kernel from Datalayer's platform and
13
- * returns a configured ServiceManager that connects to the allocated
14
- * Jupyter server instance.
15
- *
16
- * @param environmentName - The name of the Datalayer environment to use
17
- * @param credits - The credit limit for this kernel session
18
- * @returns A configured ServiceManager instance
19
- * @throws Error if the kernel request fails or configuration is missing
20
- *
21
- * @example
22
- * ```typescript
23
- * const serviceManager = await createDatalayerServiceManager('ai-agents-env', 100);
24
- * await serviceManager.ready;
25
- * // Use the service manager with notebooks
26
- * ```
27
- */
28
- export const createDatalayerServiceManager = async (environmentName, credits) => {
29
- const { configuration } = coreStore.getState();
30
- const token = configuration?.token || '';
31
- // Use provided values or fall back to config or defaults
32
- const actualEnvironmentName = environmentName ||
33
- configuration?.cpuEnvironment ||
34
- DEFAULT_DATALAYER_CONFIG.cpuEnvironment;
35
- const actualCredits = credits ?? configuration?.credits ?? DEFAULT_DATALAYER_CONFIG.credits;
36
- if (!token) {
37
- throw new Error('Datalayer API token is required to create a service manager');
38
- }
39
- try {
40
- // Use the existing createRuntime function which handles auth properly
41
- const runtime = await createRuntime({
42
- environmentName: actualEnvironmentName,
43
- type: 'notebook',
44
- givenName: `Jupyter React Kernel - ${new Date().toISOString()}`,
45
- creditsLimit: actualCredits,
46
- capabilities: [],
47
- });
48
- const serverSettings = ServerConnection.makeSettings({
49
- baseUrl: runtime.ingress,
50
- wsUrl: runtime.ingress.replace(/^http/, 'ws'),
51
- token: runtime.token,
52
- appendToken: true,
53
- });
54
- const serviceManager = new ServiceManager({ serverSettings });
55
- console.log('Created Datalayer service manager:', {
56
- environmentName: actualEnvironmentName,
57
- credits: actualCredits,
58
- reservationId: runtime.reservation_id,
59
- podName: runtime.pod_name,
60
- ingress: runtime.ingress,
61
- });
62
- return serviceManager;
63
- }
64
- catch (error) {
65
- console.error('Error creating Datalayer service manager:', error);
66
- throw error;
67
- }
68
- };
69
- export default createDatalayerServiceManager;
@@ -1,4 +0,0 @@
1
- export { createDatalayerServiceManager } from './DatalayerServiceManager';
2
- export { reconnectToRuntime } from './reconnectToRuntime';
3
- export type { RuntimeInfo } from './reconnectToRuntime';
4
- export { default as DatalayerServiceManager } from './DatalayerServiceManager';
@@ -1,7 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- export { createDatalayerServiceManager } from './DatalayerServiceManager.js';
6
- export { reconnectToRuntime } from './reconnectToRuntime.js';
7
- export { default as DatalayerServiceManager } from './DatalayerServiceManager.js';
@@ -1,32 +0,0 @@
1
- import { ServiceManager } from '@jupyterlab/services';
2
- export interface RuntimeInfo {
3
- runtimeId: string;
4
- podName: string;
5
- ingress: string;
6
- token: string;
7
- environmentName?: string;
8
- }
9
- /**
10
- * Reconnects to an existing Datalayer runtime
11
- *
12
- * This function creates a ServiceManager that connects to an already
13
- * allocated Jupyter server instance using stored runtime information.
14
- *
15
- * @param runtimeInfo - The stored runtime information
16
- * @returns A configured ServiceManager instance
17
- * @throws Error if the reconnection fails
18
- *
19
- * @example
20
- * ```typescript
21
- * const runtimeInfo = {
22
- * runtimeId: 'abc123',
23
- * podName: 'jupyter-pod-xyz',
24
- * ingress: 'https://jupyter.example.com',
25
- * token: 'secret-token'
26
- * };
27
- * const serviceManager = await reconnectToRuntime(runtimeInfo);
28
- * await serviceManager.ready;
29
- * ```
30
- */
31
- export declare const reconnectToRuntime: (runtimeInfo: RuntimeInfo) => Promise<ServiceManager.IManager>;
32
- export default reconnectToRuntime;
@@ -1,59 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- import { ServerConnection, ServiceManager } from '@jupyterlab/services';
6
- /**
7
- * Reconnects to an existing Datalayer runtime
8
- *
9
- * This function creates a ServiceManager that connects to an already
10
- * allocated Jupyter server instance using stored runtime information.
11
- *
12
- * @param runtimeInfo - The stored runtime information
13
- * @returns A configured ServiceManager instance
14
- * @throws Error if the reconnection fails
15
- *
16
- * @example
17
- * ```typescript
18
- * const runtimeInfo = {
19
- * runtimeId: 'abc123',
20
- * podName: 'jupyter-pod-xyz',
21
- * ingress: 'https://jupyter.example.com',
22
- * token: 'secret-token'
23
- * };
24
- * const serviceManager = await reconnectToRuntime(runtimeInfo);
25
- * await serviceManager.ready;
26
- * ```
27
- */
28
- export const reconnectToRuntime = async (runtimeInfo) => {
29
- try {
30
- const serverSettings = ServerConnection.makeSettings({
31
- baseUrl: runtimeInfo.ingress,
32
- wsUrl: runtimeInfo.ingress.replace(/^http/, 'ws'),
33
- token: runtimeInfo.token,
34
- appendToken: true,
35
- });
36
- const serviceManager = new ServiceManager({ serverSettings });
37
- // Store runtime info on the serviceManager instance for access
38
- serviceManager.__datalayerRuntime = {
39
- environmentName: runtimeInfo.environmentName || 'unknown',
40
- credits: 0,
41
- reservationId: runtimeInfo.runtimeId,
42
- podName: runtimeInfo.podName,
43
- ingress: runtimeInfo.ingress,
44
- token: runtimeInfo.token,
45
- createdAt: new Date().toISOString(),
46
- };
47
- console.log('Reconnected to existing runtime:', {
48
- runtimeId: runtimeInfo.runtimeId,
49
- podName: runtimeInfo.podName,
50
- ingress: runtimeInfo.ingress,
51
- });
52
- return serviceManager;
53
- }
54
- catch (error) {
55
- console.error('Error reconnecting to runtime:', error);
56
- throw error;
57
- }
58
- };
59
- export default reconnectToRuntime;
@@ -1,12 +0,0 @@
1
- import { ICell } from '../../models';
2
- export type ICellState = {
3
- cell?: ICell;
4
- };
5
- export type CellState = ICellState & {
6
- create: (cell: ICell) => void;
7
- update: (cell: Partial<ICell>) => void;
8
- };
9
- export declare const cellStore: import("zustand").StoreApi<CellState>;
10
- export declare function useCellStore(): CellState;
11
- export declare function useCellStore<T>(selector: (state: CellState) => T): T;
12
- export default useCellStore;
@@ -1,22 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- import { createStore } from 'zustand/vanilla';
6
- import { useStore } from 'zustand';
7
- export const cellStore = createStore((set, get) => ({
8
- cell: undefined,
9
- create: (cell) => set((state) => ({ cell })),
10
- update: (cell) => set((state) => ({
11
- cell: cell
12
- ? {
13
- ...state.cell,
14
- ...cell,
15
- }
16
- : undefined,
17
- })),
18
- }));
19
- export function useCellStore(selector) {
20
- return useStore(cellStore, selector);
21
- }
22
- export default useCellStore;
@@ -1,10 +0,0 @@
1
- export interface IDocumentState {
2
- documentSaveRequest?: Date;
3
- }
4
- export type DocumentState = IDocumentState & {
5
- save: (documentSaveRequest: Date) => void;
6
- };
7
- export declare const documentStore: import("zustand").StoreApi<DocumentState>;
8
- export declare function useDocumentStore(): DocumentState;
9
- export declare function useDocumentStore<T>(selector: (state: DocumentState) => T): T;
10
- export default useDocumentStore;
@@ -1,14 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- import { createStore } from 'zustand/vanilla';
6
- import { useStore } from 'zustand';
7
- export const documentStore = createStore((set, get) => ({
8
- documentSaveRequest: undefined,
9
- save: (documentSaveRequest) => set((state) => ({ documentSaveRequest })),
10
- }));
11
- export function useDocumentStore(selector) {
12
- return useStore(documentStore, selector);
13
- }
14
- export default useDocumentStore;
@@ -1,10 +0,0 @@
1
- export type IGradeState = {
2
- gradeRequest?: Date;
3
- };
4
- export type GradeState = IGradeState & {
5
- grade: (gradeRequest: Date) => void;
6
- };
7
- export declare const gradeStore: import("zustand").StoreApi<GradeState>;
8
- export declare function useGradeStore(): GradeState;
9
- export declare function useGradeStore<T>(selector: (state: GradeState) => T): T;
10
- export default useGradeStore;
@@ -1,14 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- import { createStore } from 'zustand/vanilla';
6
- import { useStore } from 'zustand';
7
- export const gradeStore = createStore((set, get) => ({
8
- gradeRequest: undefined,
9
- grade: (gradeRequest) => set((state) => ({ gradeRequest })),
10
- }));
11
- export function useGradeStore(selector) {
12
- return useStore(gradeStore, selector);
13
- }
14
- export default useGradeStore;
@@ -1,16 +0,0 @@
1
- import { JupyterLabAppAdapter } from '@datalayer/jupyter-react';
2
- import { JupyterFrontEndPlugin } from '@jupyterlab/application';
3
- export type Plugin = JupyterFrontEndPlugin<any, any, any> & {
4
- service: any;
5
- };
6
- export type IJupyterLabState = {
7
- jupyterLabAdapter?: JupyterLabAppAdapter;
8
- };
9
- export type JupyterLabState = IJupyterLabState & {
10
- setJupyterLabAdapter: (jupyterLabAdapter?: JupyterLabAppAdapter) => void;
11
- plugin: (id: string) => Plugin | undefined;
12
- };
13
- export declare const jupyterLabStore: import("zustand").StoreApi<JupyterLabState>;
14
- export declare function useJupyterLabStore(): JupyterLabState;
15
- export declare function useJupyterLabStore<T>(selector: (state: JupyterLabState) => T): T;
16
- export default useJupyterLabStore;
@@ -1,17 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- import { createStore } from 'zustand/vanilla';
6
- import { useStore } from 'zustand';
7
- export const jupyterLabStore = createStore((set, get) => ({
8
- jupyterLabAdapter: undefined,
9
- setJupyterLabAdapter: (jupyterLabAdapter) => set((state) => ({ jupyterLabAdapter })),
10
- plugin: (id) => {
11
- return get().jupyterLabAdapter?.plugin(id);
12
- },
13
- }));
14
- export function useJupyterLabStore(selector) {
15
- return useStore(jupyterLabStore, selector);
16
- }
17
- export default useJupyterLabStore;
@@ -1,13 +0,0 @@
1
- export type SaveRequest = {
2
- counter: number;
3
- };
4
- export type INbformatState = {
5
- saveRequest: SaveRequest;
6
- };
7
- export type NbformatState = INbformatState & {
8
- save: (saveRequest: SaveRequest) => void;
9
- };
10
- export declare const nbformatStore: import("zustand").StoreApi<NbformatState>;
11
- export declare function useNbformatStore(): NbformatState;
12
- export declare function useNbformatStore<T>(selector: (state: NbformatState) => T): T;
13
- export default useNbformatStore;
@@ -1,16 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- import { createStore } from 'zustand/vanilla';
6
- import { useStore } from 'zustand';
7
- export const nbformatStore = createStore((set, get) => ({
8
- saveRequest: {
9
- counter: -1,
10
- },
11
- save: (saveRequest) => set((state) => ({ saveRequest })),
12
- }));
13
- export function useNbformatStore(selector) {
14
- return useStore(nbformatStore, selector);
15
- }
16
- export default useNbformatStore;
@@ -1,79 +0,0 @@
1
- import type { IMultiServiceManager } from '../../stateful/runtimes';
2
- import type { IRuntimesConfiguration } from '../../config';
3
- import type { IRuntimePod, ICodeSandboxSnapshot, IRuntimeModel } from '../../models';
4
- /**
5
- * Datalayer Runtimes state.
6
- */
7
- export type RuntimesState = {
8
- /**
9
- * Runtimes configuration
10
- */
11
- configuration: IRuntimesConfiguration;
12
- setConfiguration: (config: IRuntimesConfiguration) => void;
13
- /**
14
- * Runtimes RUN URL.
15
- */
16
- runtimesRunUrl: string;
17
- tab: number;
18
- getIntTab: () => number;
19
- setTab: (tab: number) => void;
20
- /**
21
- * Runtime pods.
22
- */
23
- runtimePods: IRuntimePod[];
24
- /**
25
- * Refresh the runtime pods.
26
- */
27
- refreshRuntimePods: () => Promise<void>;
28
- /**
29
- * Cached runtime models.
30
- */
31
- runtimeModels: readonly IRuntimeModel[];
32
- /**
33
- * Add a runtime model.
34
- */
35
- addRuntimeModel: (model: IRuntimeModel) => void;
36
- /**
37
- * Remove a runtime model by ID.
38
- */
39
- removeRuntimeModel: (id: string) => void;
40
- /**
41
- * Set the runtimes models list.
42
- */
43
- setRuntimeModels: (models: readonly IRuntimeModel[]) => void;
44
- /**
45
- * Jupyter service manager.
46
- */
47
- multiServiceManager?: IMultiServiceManager;
48
- setMultiServiceManager: (multiServiceManager: IMultiServiceManager) => void;
49
- showDisclaimer: boolean;
50
- setShowDisclaimer: (showDisclaimer: boolean) => void;
51
- /**
52
- * Code Sandbox snapshots.
53
- */
54
- runtimeSnapshots: readonly ICodeSandboxSnapshot[];
55
- /**
56
- * Add a code sandbox snapshot.
57
- */
58
- addSandboxSnapshot: (snapshot: ICodeSandboxSnapshot) => void;
59
- /**
60
- * Remove a Code Sandbox Snapshot.
61
- */
62
- removeSandboxSnapshot: (id: string) => void;
63
- /**
64
- * Set Code Sandbox Snapshots.
65
- */
66
- setSandboxSnapshots: (snapshots: ICodeSandboxSnapshot[]) => void;
67
- /**
68
- * Package version.
69
- */
70
- version: string;
71
- setVersion: (version: string) => void;
72
- };
73
- /**
74
- * Kernel store
75
- */
76
- export declare const runtimesStore: import("zustand").StoreApi<RuntimesState>;
77
- export declare function useRuntimesStore(): RuntimesState;
78
- export declare function useRuntimesStore<T>(selector: (state: RuntimesState) => T): T;
79
- export default useRuntimesStore;
@@ -1,180 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- import { useStore } from 'zustand';
6
- import { createStore } from 'zustand/vanilla';
7
- import { JSONExt } from '@lumino/coreutils';
8
- import { Poll } from '@lumino/polling';
9
- import { getRuntimes } from '../../stateful/runtimes/index.js';
10
- import { coreStore } from './CoreState.js';
11
- import { iamStore } from './IAMState.js';
12
- /**
13
- * Kernel store
14
- */
15
- export const runtimesStore = createStore((set, get) => {
16
- return {
17
- configuration: {
18
- maxNotebookRuntimes: 5,
19
- maxCellRuntimes: 3,
20
- },
21
- setConfiguration: (configuration) => {
22
- set(state => JSONExt.deepEqual(state.configuration, configuration)
23
- ? {}
24
- : { configuration: { ...configuration } });
25
- },
26
- runtimesRunUrl: coreStore.getState().configuration?.runtimesRunUrl,
27
- tab: 0.0,
28
- getIntTab: () => Math.floor(get().tab),
29
- setTab: (tab) => set(state => ({ tab })),
30
- /**
31
- * Remote runtime pods.
32
- */
33
- runtimePods: [],
34
- /**
35
- * Refresh the runtime pods.
36
- */
37
- refreshRuntimePods: async () => {
38
- const servers = await getRuntimes();
39
- // Update the state with the Remote Kernels.
40
- if (!JSONExt.deepEqual(get().runtimePods, servers)) {
41
- set({ runtimePods: [...servers] });
42
- }
43
- },
44
- /**
45
- * Cached runtime models.
46
- */
47
- runtimeModels: [],
48
- /**
49
- * Add a runtime model
50
- */
51
- addRuntimeModel: (model) => {
52
- const kernels = get().runtimeModels;
53
- // TODO
54
- // We need to review the IRuntimeModel/IRuntimePod/Kernel.IModel and their id/uid handling.
55
- // The id is the kernel id, which is no more always present for some reasons.
56
- // So we need to also check the uid of the model.
57
- const index = kernels.findIndex(m => (model.id === m.id || model.uid === m.uid) ?? -1);
58
- if (index < 0) {
59
- set({ runtimeModels: [...kernels, model] });
60
- }
61
- },
62
- /**
63
- * Remove a runtime model by ID.
64
- */
65
- removeRuntimeModel: (id) => {
66
- const kernels = [...get().runtimeModels];
67
- const index = kernels?.findIndex(model => id === model.id) ?? -1;
68
- if (index >= 0) {
69
- kernels.splice(index, 1);
70
- set({ runtimeModels: kernels });
71
- }
72
- },
73
- setRuntimeModels: (models) => {
74
- if (!JSONExt.deepEqual(get().runtimeModels, models)) {
75
- set({ runtimeModels: [...models] });
76
- }
77
- },
78
- multiServiceManager: undefined,
79
- setMultiServiceManager: multiServiceManager => {
80
- set(state => ({ multiServiceManager }));
81
- },
82
- showDisclaimer: false,
83
- setShowDisclaimer: showDisclaimer => {
84
- set(state => ({ showDisclaimer }));
85
- },
86
- /**
87
- * Kernel Snapshots.
88
- */
89
- runtimeSnapshots: [],
90
- /**
91
- * Add a Kernel Snapshot
92
- */
93
- addSandboxSnapshot: (snapshot) => {
94
- const snapshots = get().runtimeSnapshots;
95
- const index = snapshots.findIndex(s => s.id === snapshot.id);
96
- if (index < 0) {
97
- const kernelSnapshots = [...snapshots, snapshot];
98
- set({ runtimeSnapshots: kernelSnapshots });
99
- }
100
- else if (!JSONExt.deepEqual(snapshots[index], snapshot)) {
101
- const kernelSnapshots = [...snapshots];
102
- kernelSnapshots.splice(index, 1, snapshot);
103
- set({ runtimeSnapshots: kernelSnapshots });
104
- }
105
- },
106
- /**
107
- * Remove a Kernel Snapshot.
108
- */
109
- removeSandboxSnapshot: (id) => {
110
- const snapshots = get().runtimeSnapshots;
111
- const index = snapshots.findIndex(s => s.id === id);
112
- if (index >= 0) {
113
- const kernelSnapshots = [...snapshots];
114
- kernelSnapshots.splice(index, 1);
115
- set({ runtimeSnapshots: kernelSnapshots });
116
- }
117
- },
118
- /**
119
- * Set Kernel Snapshots.
120
- */
121
- setSandboxSnapshots: (snapshots) => {
122
- if (!JSONExt.deepEqual(get().runtimeSnapshots, snapshots)) {
123
- set({ runtimeSnapshots: [...snapshots] });
124
- }
125
- },
126
- version: '',
127
- setVersion: version => {
128
- if (version && !get().version) {
129
- set(state => ({ version }));
130
- }
131
- },
132
- };
133
- });
134
- // Poll remote kernels
135
- const kernelsPoll = new Poll({
136
- auto: true,
137
- factory: () => runtimesStore.getState().refreshRuntimePods(),
138
- frequency: {
139
- interval: 61 * 1000,
140
- backoff: true,
141
- max: 300 * 1000,
142
- },
143
- name: '@datalayer/jupyter-kernels:KernelsManager#kernels',
144
- standby: () => iamStore.getState().token || runtimesStore.getState().runtimesRunUrl
145
- ? 'when-hidden'
146
- : true,
147
- });
148
- // Force refresh at expiration date if next tick is after it.
149
- runtimesStore.subscribe((state, prevState) => {
150
- if (!JSONExt.deepEqual(state.runtimePods, prevState.runtimePods)) {
151
- const now = Date.now();
152
- const minExpiredAt = Math.min(...state.runtimePods.map(kernel => kernel.expired_at ? parseFloat(kernel.expired_at) : Infinity)) * 1_000;
153
- // Refresh 2 sec after the closest expiration time
154
- // to let some times to the system to dispose the resources.
155
- if (now + kernelsPoll.frequency.interval > minExpiredAt + 2_000) {
156
- setTimeout(() => {
157
- kernelsPoll.refresh();
158
- }, minExpiredAt + 2_000 - now);
159
- }
160
- }
161
- });
162
- coreStore.subscribe((state, prevState) => {
163
- if (state.configuration.runtimesRunUrl &&
164
- state.configuration.runtimesRunUrl !==
165
- prevState.configuration.runtimesRunUrl) {
166
- const runtimesRunUrl = state.configuration.runtimesRunUrl;
167
- console.log(`Updating runtimesRunUrl with new value ${runtimesRunUrl}`);
168
- runtimesStore.setState({ runtimesRunUrl });
169
- kernelsPoll
170
- .refresh()
171
- .then(() => kernelsPoll.tick)
172
- .catch(reason => {
173
- console.error('Failed to refresh kernel servers list following service URL changed.', reason);
174
- });
175
- }
176
- });
177
- export function useRuntimesStore(selector) {
178
- return useStore(runtimesStore, selector);
179
- }
180
- export default useRuntimesStore;
@@ -1,11 +0,0 @@
1
- import { IBaseSpace } from '../../models';
2
- export type ISpaceState = {
3
- spaces: IBaseSpace[];
4
- };
5
- export type SpaceState = ISpaceState & {
6
- updateSpaces: (spaces: IBaseSpace[]) => void;
7
- };
8
- export declare const spaceStore: import("zustand").StoreApi<SpaceState>;
9
- export declare function useSpaceStore(): SpaceState;
10
- export declare function useSpaceStore<T>(selector: (state: SpaceState) => T): T;
11
- export default useSpaceStore;
@@ -1,16 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- import { createStore } from 'zustand/vanilla';
6
- import { useStore } from 'zustand';
7
- export const spaceStore = createStore((set, get) => ({
8
- spaces: [],
9
- updateSpaces: (spaces) => set((state) => ({
10
- spaces,
11
- })),
12
- }));
13
- export function useSpaceStore(selector) {
14
- return useStore(spaceStore, selector);
15
- }
16
- export default useSpaceStore;
@@ -1,2 +0,0 @@
1
- export * from './jupyter';
2
- export * from './runtimes';
@@ -1,6 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- export * from './jupyter/index.js';
6
- export * from './runtimes/index.js';
@@ -1,5 +0,0 @@
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[];