@datalayer/core 1.0.25 → 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 (339) hide show
  1. package/README.md +14 -26
  2. package/lib/api/index.d.ts +0 -9
  3. package/lib/api/index.js +0 -9
  4. package/lib/cli-login.js +167 -0
  5. package/lib/client/base.d.ts +0 -3
  6. package/lib/client/base.js +0 -2
  7. package/lib/client/index.d.ts +10 -98
  8. package/lib/client/index.js +12 -21
  9. package/lib/components/avatars/UserAvatar.d.ts +16 -0
  10. package/lib/components/avatars/UserAvatar.js +47 -0
  11. package/lib/components/avatars/index.d.ts +1 -0
  12. package/lib/components/avatars/index.js +1 -0
  13. package/lib/components/billing/BillableAccountSelect.js +4 -0
  14. package/lib/components/billing/index.js +4 -0
  15. package/lib/components/context/index.d.ts +0 -1
  16. package/lib/components/context/index.js +0 -1
  17. package/lib/components/display/DisplayHandle.d.ts +12 -0
  18. package/lib/components/display/DisplayHandle.js +11 -0
  19. package/lib/components/display/LiveRelativeTime.js +4 -0
  20. package/lib/components/display/index.d.ts +1 -0
  21. package/lib/components/display/index.js +1 -0
  22. package/lib/components/flashes/index.d.ts +0 -1
  23. package/lib/components/flashes/index.js +0 -1
  24. package/lib/components/index.d.ts +0 -1
  25. package/lib/components/index.js +0 -1
  26. package/lib/components/principal/Principal.d.ts +7 -0
  27. package/lib/components/principal/Principal.js +153 -16
  28. package/lib/components/principal/PrincipalAvatar.d.ts +1 -1
  29. package/lib/components/principal/PrincipalAvatar.js +4 -28
  30. package/lib/components/principal/PrincipalBadge.js +4 -4
  31. package/lib/components/principal/PrincipalDetailsOverlay.d.ts +4 -2
  32. package/lib/components/principal/PrincipalDetailsOverlay.js +27 -7
  33. package/lib/components/principal/PrincipalSwitcherMenu.js +76 -39
  34. package/lib/components/progress/index.d.ts +0 -1
  35. package/lib/components/progress/index.js +0 -1
  36. package/lib/components/sharing/ShareAccessComponent.d.ts +3 -2
  37. package/lib/components/sharing/ShareAccessComponent.js +180 -133
  38. package/lib/components/sharing/SharingEditor.js +4 -0
  39. package/lib/components/snippets/index.d.ts +1 -1
  40. package/lib/components/snippets/index.js +1 -1
  41. package/lib/components/students/StudentResultCircle.d.ts +21 -0
  42. package/lib/components/students/StudentResultCircle.js +59 -0
  43. package/lib/components/students/index.d.ts +1 -1
  44. package/lib/components/students/index.js +1 -1
  45. package/lib/components/time/LiveRelativeTime.js +4 -0
  46. package/lib/components/time/index.js +4 -0
  47. package/lib/components/timeline/index.js +4 -0
  48. package/lib/components/tokens/index.d.ts +1 -1
  49. package/lib/components/tokens/index.js +1 -1
  50. package/lib/components/toolbars/index.d.ts +1 -3
  51. package/lib/components/toolbars/index.js +1 -3
  52. package/lib/hooks/cacheConverters.d.ts +21 -0
  53. package/lib/hooks/cacheConverters.js +110 -0
  54. package/lib/hooks/index.d.ts +0 -2
  55. package/lib/hooks/index.js +0 -2
  56. package/lib/hooks/useCache.d.ts +64 -35
  57. package/lib/hooks/useCache.js +407 -52
  58. package/lib/hooks/useDatalayer.js +3 -1
  59. package/lib/hooks/useIAM.js +1 -3
  60. package/lib/hooks/useLocationHandles.d.ts +3 -1
  61. package/lib/hooks/useLocationHandles.js +2 -1
  62. package/lib/hooks/usePrincipalStore.d.ts +2 -2
  63. package/lib/hooks/usePrincipalStore.js +97 -14
  64. package/lib/hooks/useSelectedPrincipal.js +1 -1
  65. package/lib/hooks/useUser.js +19 -2
  66. package/lib/index.d.ts +1 -6
  67. package/lib/index.js +1 -13
  68. package/lib/main.js +3 -3
  69. package/lib/mocks/index.js +1 -1
  70. package/lib/mocks/models/index.d.ts +0 -1
  71. package/lib/mocks/models/index.js +0 -1
  72. package/lib/models/Datasource.d.ts +2 -2
  73. package/lib/models/IAM.d.ts +1 -1
  74. package/lib/models/School.d.ts +12 -3
  75. package/lib/models/Secret.d.ts +2 -2
  76. package/lib/models/Student.d.ts +13 -3
  77. package/lib/models/Usage.d.ts +11 -1
  78. package/lib/models/UserDTO.d.ts +2 -2
  79. package/lib/models/index.d.ts +0 -30
  80. package/lib/models/index.js +0 -30
  81. package/lib/routes/index.d.ts +1 -0
  82. package/lib/routes/index.js +1 -0
  83. package/lib/routes/publicPaths.d.ts +23 -0
  84. package/lib/routes/publicPaths.js +74 -0
  85. package/lib/state/State.d.ts +0 -12
  86. package/lib/state/State.js +0 -12
  87. package/lib/state/substates/LayoutState.d.ts +12 -1
  88. package/lib/state/substates/index.d.ts +0 -7
  89. package/lib/state/substates/index.js +0 -7
  90. package/lib/utils/Handles.js +3 -1
  91. package/lib/utils/index.d.ts +0 -1
  92. package/lib/utils/index.js +0 -1
  93. package/lib/views/api-keys/APIKeys.js +12 -3
  94. package/lib/views/datasources/DatasourceDetail.d.ts +1 -1
  95. package/lib/views/datasources/DatasourceNew.d.ts +1 -1
  96. package/lib/views/datasources/Datasources.d.ts +1 -1
  97. package/lib/views/datasources/Datasources.js +12 -3
  98. package/lib/views/iam/SignInSimple.d.ts +37 -1
  99. package/lib/views/iam/SignInSimple.js +110 -12
  100. package/package.json +5 -3
  101. package/lib/App.css +0 -47
  102. package/lib/App.d.ts +0 -3
  103. package/lib/App.js +0 -21
  104. package/lib/api/runtimes/checkpoints.d.ts +0 -122
  105. package/lib/api/runtimes/checkpoints.js +0 -118
  106. package/lib/api/runtimes/environments.d.ts +0 -9
  107. package/lib/api/runtimes/environments.js +0 -29
  108. package/lib/api/runtimes/healthz.d.ts +0 -15
  109. package/lib/api/runtimes/healthz.js +0 -44
  110. package/lib/api/runtimes/index.d.ts +0 -12
  111. package/lib/api/runtimes/index.js +0 -16
  112. package/lib/api/runtimes/runtimes.d.ts +0 -138
  113. package/lib/api/runtimes/runtimes.js +0 -230
  114. package/lib/api/runtimes/snapshots.d.ts +0 -38
  115. package/lib/api/runtimes/snapshots.js +0 -82
  116. package/lib/api/scheduler/index.d.ts +0 -6
  117. package/lib/api/scheduler/index.js +0 -10
  118. package/lib/api/scheduler/schedules.d.ts +0 -85
  119. package/lib/api/scheduler/schedules.js +0 -78
  120. package/lib/api/spacer/documents.d.ts +0 -12
  121. package/lib/api/spacer/documents.js +0 -43
  122. package/lib/api/spacer/healthz.d.ts +0 -15
  123. package/lib/api/spacer/healthz.js +0 -44
  124. package/lib/api/spacer/index.d.ts +0 -15
  125. package/lib/api/spacer/index.js +0 -19
  126. package/lib/api/spacer/items.d.ts +0 -25
  127. package/lib/api/spacer/items.js +0 -55
  128. package/lib/api/spacer/lexicals.d.ts +0 -34
  129. package/lib/api/spacer/lexicals.js +0 -89
  130. package/lib/api/spacer/notebooks.d.ts +0 -34
  131. package/lib/api/spacer/notebooks.js +0 -89
  132. package/lib/api/spacer/spaces.d.ts +0 -84
  133. package/lib/api/spacer/spaces.js +0 -170
  134. package/lib/api/spacer/users.d.ts +0 -9
  135. package/lib/api/spacer/users.js +0 -29
  136. package/lib/client/mixins/RuntimesMixin.d.ts +0 -93
  137. package/lib/client/mixins/RuntimesMixin.js +0 -229
  138. package/lib/client/mixins/SpacerMixin.d.ts +0 -210
  139. package/lib/client/mixins/SpacerMixin.js +0 -615
  140. package/lib/client/utils/spacerUtils.d.ts +0 -18
  141. package/lib/client/utils/spacerUtils.js +0 -32
  142. package/lib/collaboration/DatalayerCollaboration.d.ts +0 -13
  143. package/lib/collaboration/DatalayerCollaboration.js +0 -28
  144. package/lib/collaboration/DatalayerCollaborationProvider.d.ts +0 -60
  145. package/lib/collaboration/DatalayerCollaborationProvider.js +0 -163
  146. package/lib/collaboration/index.d.ts +0 -2
  147. package/lib/collaboration/index.js +0 -6
  148. package/lib/components/context/SpaceSelect.d.ts +0 -2
  149. package/lib/components/context/SpaceSelect.js +0 -42
  150. package/lib/components/flashes/FlashDisclaimer.d.ts +0 -2
  151. package/lib/components/flashes/FlashDisclaimer.js +0 -17
  152. package/lib/components/icons/ArtifactIcon.d.ts +0 -10
  153. package/lib/components/icons/ArtifactIcon.js +0 -58
  154. package/lib/components/icons/index.d.ts +0 -1
  155. package/lib/components/icons/index.js +0 -5
  156. package/lib/components/nbgrader/NbGradesDetails.d.ts +0 -5
  157. package/lib/components/nbgrader/NbGradesDetails.js +0 -14
  158. package/lib/components/nbgrader/index.d.ts +0 -1
  159. package/lib/components/nbgrader/index.js +0 -5
  160. package/lib/components/progress/CreditsIndicator.d.ts +0 -33
  161. package/lib/components/progress/CreditsIndicator.js +0 -23
  162. package/lib/components/runtimes/RuntimeCellVariables.d.ts +0 -39
  163. package/lib/components/runtimes/RuntimeCellVariables.js +0 -172
  164. package/lib/components/runtimes/RuntimeCellVariablesDialog.d.ts +0 -37
  165. package/lib/components/runtimes/RuntimeCellVariablesDialog.js +0 -101
  166. package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +0 -57
  167. package/lib/components/runtimes/RuntimeLauncherDialog.js +0 -275
  168. package/lib/components/runtimes/RuntimePickerBase.d.ts +0 -69
  169. package/lib/components/runtimes/RuntimePickerBase.js +0 -122
  170. package/lib/components/runtimes/RuntimePickerCell.d.ts +0 -34
  171. package/lib/components/runtimes/RuntimePickerCell.js +0 -104
  172. package/lib/components/runtimes/RuntimePickerNotebook.d.ts +0 -42
  173. package/lib/components/runtimes/RuntimePickerNotebook.js +0 -232
  174. package/lib/components/runtimes/RuntimeReservationControl.d.ts +0 -47
  175. package/lib/components/runtimes/RuntimeReservationControl.js +0 -42
  176. package/lib/components/runtimes/RuntimeSimplePicker.d.ts +0 -38
  177. package/lib/components/runtimes/RuntimeSimplePicker.js +0 -155
  178. package/lib/components/runtimes/RuntimeTransfer.d.ts +0 -16
  179. package/lib/components/runtimes/RuntimeTransfer.js +0 -5
  180. package/lib/components/runtimes/RuntimeUtils.d.ts +0 -17
  181. package/lib/components/runtimes/RuntimeUtils.js +0 -178
  182. package/lib/components/runtimes/RuntimeVariables.d.ts +0 -38
  183. package/lib/components/runtimes/RuntimeVariables.js +0 -75
  184. package/lib/components/runtimes/index.d.ts +0 -11
  185. package/lib/components/runtimes/index.js +0 -15
  186. package/lib/components/scheduler/ScheduleMenu.d.ts +0 -54
  187. package/lib/components/scheduler/ScheduleMenu.js +0 -154
  188. package/lib/components/scheduler/index.d.ts +0 -1
  189. package/lib/components/scheduler/index.js +0 -5
  190. package/lib/components/snapshots/SandboxSnapshotMenu.d.ts +0 -33
  191. package/lib/components/snapshots/SandboxSnapshotMenu.js +0 -169
  192. package/lib/components/snapshots/index.d.ts +0 -1
  193. package/lib/components/snapshots/index.js +0 -5
  194. package/lib/components/snippets/SnippetDialog.d.ts +0 -42
  195. package/lib/components/snippets/SnippetDialog.js +0 -42
  196. package/lib/components/students/StudentItemStatus.d.ts +0 -7
  197. package/lib/components/students/StudentItemStatus.js +0 -66
  198. package/lib/components/tokens/SpaceVariantToken.d.ts +0 -5
  199. package/lib/components/tokens/SpaceVariantToken.js +0 -23
  200. package/lib/components/toolbars/AssignmentEditorToolbar.d.ts +0 -4
  201. package/lib/components/toolbars/AssignmentEditorToolbar.js +0 -18
  202. package/lib/components/toolbars/DocumentEditorToolbar.d.ts +0 -2
  203. package/lib/components/toolbars/DocumentEditorToolbar.js +0 -12
  204. package/lib/components/toolbars/NotebookEditorToolbar.d.ts +0 -29
  205. package/lib/components/toolbars/NotebookEditorToolbar.js +0 -30
  206. package/lib/examples/CellExample.d.ts +0 -6
  207. package/lib/examples/CellExample.js +0 -20
  208. package/lib/examples/NotebookExample.d.ts +0 -6
  209. package/lib/examples/NotebookExample.js +0 -19
  210. package/lib/examples/lexical-theme.css +0 -436
  211. package/lib/examples/notebooks/IPyWidgetsExample.ipynb.json +0 -101
  212. package/lib/examples/notebooks/IPyWidgetsExampleWithState.ipynb.json +0 -112
  213. package/lib/examples/notebooks/Lite.ipynb.json +0 -128
  214. package/lib/examples/notebooks/Matplotlib.ipynb.json +0 -137
  215. package/lib/examples/notebooks/NotebookExample1.ipynb.json +0 -126
  216. package/lib/examples/notebooks/NotebookExample2.ipynb.json +0 -48
  217. package/lib/examples/notebooks/NotebookOutputs.ipynb.json +0 -49
  218. package/lib/examples/notebooks/NotebookToCExample.ipynb.json +0 -102
  219. package/lib/examples/notebooks/PyGWalker.ipynb.json +0 -55
  220. package/lib/hooks/useCellOutputshot.d.ts +0 -4
  221. package/lib/hooks/useCellOutputshot.js +0 -25
  222. package/lib/hooks/useProjects.d.ts +0 -628
  223. package/lib/hooks/useProjects.js +0 -190
  224. package/lib/hooks/useRuntimes.d.ts +0 -5
  225. package/lib/hooks/useRuntimes.js +0 -34
  226. package/lib/mocks/jupyter/index.js +0 -5
  227. package/lib/mocks/models/CourseMock.d.ts +0 -6
  228. package/lib/mocks/models/CourseMock.js +0 -29
  229. package/lib/mocks/models/SpaceMock.d.ts +0 -6
  230. package/lib/mocks/models/SpaceMock.js +0 -25
  231. package/lib/models/Assignment.d.ts +0 -7
  232. package/lib/models/Assignment.js +0 -5
  233. package/lib/models/Cell.d.ts +0 -8
  234. package/lib/models/Cell.js +0 -5
  235. package/lib/models/CodeBlock.d.ts +0 -10
  236. package/lib/models/CodeBlock.js +0 -5
  237. package/lib/models/CodeSandboxSnapshot.d.ts +0 -92
  238. package/lib/models/CodeSandboxSnapshot.js +0 -13
  239. package/lib/models/CodeSandboxSnapshotDTO.d.ts +0 -173
  240. package/lib/models/CodeSandboxSnapshotDTO.js +0 -139
  241. package/lib/models/CodefeedBlocks.d.ts +0 -7
  242. package/lib/models/CodefeedBlocks.js +0 -5
  243. package/lib/models/Content.d.ts +0 -5
  244. package/lib/models/Content.js +0 -5
  245. package/lib/models/Course.d.ts +0 -17
  246. package/lib/models/Course.js +0 -5
  247. package/lib/models/Dataset.d.ts +0 -16
  248. package/lib/models/Dataset.js +0 -5
  249. package/lib/models/Document.d.ts +0 -8
  250. package/lib/models/Document.js +0 -5
  251. package/lib/models/Environment.d.ts +0 -86
  252. package/lib/models/Environment.js +0 -5
  253. package/lib/models/EnvironmentDTO.d.ts +0 -125
  254. package/lib/models/EnvironmentDTO.js +0 -88
  255. package/lib/models/Exercise.d.ts +0 -16
  256. package/lib/models/Exercise.js +0 -5
  257. package/lib/models/Item.d.ts +0 -20
  258. package/lib/models/Item.js +0 -5
  259. package/lib/models/ItemDTO.d.ts +0 -74
  260. package/lib/models/ItemDTO.js +0 -186
  261. package/lib/models/ItemType.d.ts +0 -2
  262. package/lib/models/ItemType.js +0 -5
  263. package/lib/models/Lesson.d.ts +0 -5
  264. package/lib/models/Lesson.js +0 -5
  265. package/lib/models/LexicalDTO.d.ts +0 -155
  266. package/lib/models/LexicalDTO.js +0 -157
  267. package/lib/models/Library.d.ts +0 -10
  268. package/lib/models/Library.js +0 -5
  269. package/lib/models/Notebook.d.ts +0 -11
  270. package/lib/models/Notebook.js +0 -5
  271. package/lib/models/NotebookDTO.d.ts +0 -96
  272. package/lib/models/NotebookDTO.js +0 -153
  273. package/lib/models/Page.d.ts +0 -41
  274. package/lib/models/Page.js +0 -25
  275. package/lib/models/PageTag.d.ts +0 -19
  276. package/lib/models/PageTag.js +0 -94
  277. package/lib/models/ProjectDTO.d.ts +0 -89
  278. package/lib/models/ProjectDTO.js +0 -131
  279. package/lib/models/Runtime.d.ts +0 -123
  280. package/lib/models/Runtime.js +0 -18
  281. package/lib/models/RuntimeDTO.d.ts +0 -191
  282. package/lib/models/RuntimeDTO.js +0 -204
  283. package/lib/models/Space.d.ts +0 -35
  284. package/lib/models/Space.js +0 -66
  285. package/lib/models/SpaceDTO.d.ts +0 -334
  286. package/lib/models/SpaceDTO.js +0 -244
  287. package/lib/models/SpaceItem.d.ts +0 -10
  288. package/lib/models/SpaceItem.js +0 -5
  289. package/lib/models/SpaceMember.d.ts +0 -6
  290. package/lib/models/SpaceMember.js +0 -5
  291. package/lib/models/StudentItem.d.ts +0 -21
  292. package/lib/models/StudentItem.js +0 -5
  293. package/lib/services/DatalayerServiceManager.d.ts +0 -22
  294. package/lib/services/DatalayerServiceManager.js +0 -69
  295. package/lib/services/index.d.ts +0 -4
  296. package/lib/services/index.js +0 -7
  297. package/lib/services/reconnectToRuntime.d.ts +0 -32
  298. package/lib/services/reconnectToRuntime.js +0 -59
  299. package/lib/state/substates/CellState.d.ts +0 -12
  300. package/lib/state/substates/CellState.js +0 -22
  301. package/lib/state/substates/DocumentState.d.ts +0 -10
  302. package/lib/state/substates/DocumentState.js +0 -14
  303. package/lib/state/substates/GradeState.d.ts +0 -10
  304. package/lib/state/substates/GradeState.js +0 -14
  305. package/lib/state/substates/JupyterLabState.d.ts +0 -16
  306. package/lib/state/substates/JupyterLabState.js +0 -17
  307. package/lib/state/substates/NbformatState.d.ts +0 -13
  308. package/lib/state/substates/NbformatState.js +0 -16
  309. package/lib/state/substates/RuntimesState.d.ts +0 -79
  310. package/lib/state/substates/RuntimesState.js +0 -180
  311. package/lib/state/substates/SpaceState.d.ts +0 -11
  312. package/lib/state/substates/SpaceState.js +0 -16
  313. package/lib/stateful/index.d.ts +0 -2
  314. package/lib/stateful/index.js +0 -6
  315. package/lib/stateful/jupyter/exec/Python.d.ts +0 -5
  316. package/lib/stateful/jupyter/exec/Python.js +0 -100
  317. package/lib/stateful/jupyter/exec/Snippets.d.ts +0 -105
  318. package/lib/stateful/jupyter/exec/Snippets.js +0 -101
  319. package/lib/stateful/jupyter/exec/index.d.ts +0 -2
  320. package/lib/stateful/jupyter/exec/index.js +0 -6
  321. package/lib/stateful/jupyter/index.d.ts +0 -2
  322. package/lib/stateful/jupyter/index.js +0 -6
  323. package/lib/stateful/jupyter/kernelsHandler.d.ts +0 -8
  324. package/lib/stateful/jupyter/kernelsHandler.js +0 -39
  325. package/lib/stateful/runtimes/actions.d.ts +0 -102
  326. package/lib/stateful/runtimes/actions.js +0 -249
  327. package/lib/stateful/runtimes/apis.d.ts +0 -273
  328. package/lib/stateful/runtimes/apis.js +0 -5
  329. package/lib/stateful/runtimes/index.d.ts +0 -5
  330. package/lib/stateful/runtimes/index.js +0 -9
  331. package/lib/stateful/runtimes/settings.d.ts +0 -15
  332. package/lib/stateful/runtimes/settings.js +0 -31
  333. package/lib/stateful/runtimes/snapshots.d.ts +0 -25
  334. package/lib/stateful/runtimes/snapshots.js +0 -150
  335. package/lib/stateful/runtimes/utils.d.ts +0 -7
  336. package/lib/stateful/runtimes/utils.js +0 -14
  337. package/lib/utils/Cells.d.ts +0 -2
  338. package/lib/utils/Cells.js +0 -28
  339. /package/lib/{mocks/jupyter/index.d.ts → cli-login.d.ts} +0 -0
@@ -1,139 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- import { snapshots } from '../api/runtimes/index.js';
6
- import { validateJSON } from '../api/utils/validation.js';
7
- /**
8
- * Snapshot domain model that wraps API responses with convenient methods.
9
- * Provides code sandbox snapshot management with data refresh and lifecycle operations.
10
- *
11
- * @example
12
- * ```typescript
13
- * const snapshot = await runtime.createSnapshot('my-checkpoint');
14
- * const runtime = await snapshot.restore();
15
- * ```
16
- */
17
- export class CodeSandboxSnapshotDTO {
18
- _data;
19
- _client;
20
- _deleted = false;
21
- /**
22
- * Create a Code Sandbox Snapshot instance.
23
- *
24
- * @param data - Snapshot data from API
25
- * @param client - Client instance
26
- */
27
- constructor(data, client) {
28
- this._data = data;
29
- this._client = client;
30
- }
31
- // ========================================================================
32
- // Helper Methods
33
- // ========================================================================
34
- /**
35
- * Check if this snapshot has been deleted and throw error if so.
36
- * @throws Error if deleted
37
- */
38
- _checkDeleted() {
39
- if (this._deleted) {
40
- throw new Error(`Snapshot ${this._data.uid} has been deleted and no longer exists`);
41
- }
42
- }
43
- // ========================================================================
44
- // Static Properties (set at creation, never change)
45
- // ========================================================================
46
- /** Unique identifier for the snapshot. */
47
- get uid() {
48
- this._checkDeleted();
49
- return this._data.uid;
50
- }
51
- /** Name of the snapshot. */
52
- get name() {
53
- this._checkDeleted();
54
- return this._data.name;
55
- }
56
- /** Description of the snapshot. */
57
- get description() {
58
- this._checkDeleted();
59
- return this._data.description || '';
60
- }
61
- /** Name of the environment used by the runtime. */
62
- get environment() {
63
- this._checkDeleted();
64
- return this._data.environment;
65
- }
66
- /** When the snapshot was last updated. */
67
- get updatedAt() {
68
- this._checkDeleted();
69
- return new Date(this._data.updated_at);
70
- }
71
- // ========================================================================
72
- // Action Methods
73
- // ========================================================================
74
- /**
75
- * Delete this snapshot permanently.
76
- * After deletion, subsequent calls to dynamic methods will throw errors.
77
- */
78
- async delete() {
79
- this._checkDeleted();
80
- const token = this._client.getToken();
81
- const runtimesRunUrl = this._client.getRuntimesRunUrl();
82
- await snapshots.deleteSnapshot(token, this.uid, runtimesRunUrl);
83
- this._deleted = true;
84
- }
85
- /**
86
- * Create a code sandbox from this snapshot (restore functionality).
87
- *
88
- * @param minutesLimit - Time limit in minutes for the restored runtime
89
- * @returns Created Runtime instance
90
- */
91
- async restore(minutesLimit) {
92
- this._checkDeleted();
93
- return await this._client.createRuntime({
94
- environmentName: this.environment,
95
- type: 'notebook',
96
- givenName: `Restored from ${this.name}`,
97
- minutesLimit: minutesLimit,
98
- fromSnapshotId: this.uid,
99
- });
100
- }
101
- // ========================================================================
102
- // Utility Methods
103
- // ========================================================================
104
- /**
105
- * Get code snapshot snapshot data in camelCase format.
106
- * Returns only the core fields that consumers need.
107
- * This provides a stable interface regardless of API changes.
108
- * Note: Returns current cached state - call getStatus() first if you need fresh data.
109
- *
110
- * @returns Core code snapshot snapshot data with camelCase properties
111
- */
112
- toJSON() {
113
- this._checkDeleted();
114
- const obj = {
115
- uid: this.uid,
116
- name: this.name,
117
- description: this.description,
118
- environment: this.environment,
119
- updatedAt: this.updatedAt.toISOString(),
120
- };
121
- validateJSON(obj, 'Snapshot');
122
- return obj;
123
- }
124
- /**
125
- * Get the raw snapshot data exactly as received from the API.
126
- * This preserves the original snake_case naming from the API response.
127
- *
128
- * @returns Raw snapshot data from API
129
- */
130
- rawData() {
131
- this._checkDeleted();
132
- return this._data;
133
- }
134
- /** String representation of the snapshot. */
135
- toString() {
136
- this._checkDeleted();
137
- return `Snapshot(${this.uid}, ${this.name})`;
138
- }
139
- }
@@ -1,7 +0,0 @@
1
- import { CodeBlock } from './CodeBlock';
2
- export type ICodefeedBlocks = {
3
- id: string;
4
- type: 'codefeed';
5
- blocks: CodeBlock[];
6
- };
7
- export default ICodefeedBlocks;
@@ -1,5 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- export {};
@@ -1,5 +0,0 @@
1
- export interface IContent {
2
- name: string;
3
- mount: string;
4
- }
5
- export default IContent;
@@ -1,5 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- export {};
@@ -1,17 +0,0 @@
1
- import { IBaseSpace } from './Space';
2
- import { Instructor } from './Instructor';
3
- import { IStudent } from './Student';
4
- import { ISchool } from './School';
5
- import { ISpace } from './Space';
6
- import { ISpaceItem } from './SpaceItem';
7
- export type ICourse = IBaseSpace & {
8
- type: 'space';
9
- variant: 'course';
10
- seedSpace?: ISpace;
11
- school?: ISchool;
12
- instructor?: Instructor;
13
- students?: Map<string, IStudent>;
14
- items: Array<ISpaceItem>;
15
- itemIds: Array<string>;
16
- };
17
- export default ICourse;
@@ -1,5 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- export {};
@@ -1,16 +0,0 @@
1
- import { IItem } from './Item';
2
- export type IDataset = IItem & {
3
- type: 'dataset';
4
- fileName: string;
5
- datasetExtension: string;
6
- contentLength: number;
7
- contentType: string;
8
- mimeType: string;
9
- mimeTypeParams?: object;
10
- bucketName?: string;
11
- path?: string;
12
- creationDate: Date;
13
- lastPublicationDate?: Date;
14
- cdnUrl: string;
15
- };
16
- export default IDataset;
@@ -1,5 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- export {};
@@ -1,8 +0,0 @@
1
- import { IItem } from './Item';
2
- export type IBaseDocument = IItem & {
3
- model?: any;
4
- };
5
- export type IDocument = IBaseDocument & {
6
- type: 'document';
7
- };
8
- export default IDocument;
@@ -1,5 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- export {};
@@ -1,86 +0,0 @@
1
- import { IContent } from './Content';
2
- import { IItem } from './Item';
3
- export type IEnvironment = IItem & {
4
- type: 'environment';
5
- };
6
- export interface IResources {
7
- cpu: string;
8
- memory: string;
9
- 'nvidia.com/gpu'?: string;
10
- }
11
- /**
12
- * Code snippet
13
- */
14
- export interface ISnippet {
15
- /**
16
- * Snippet summary
17
- */
18
- title: string;
19
- /**
20
- * Snippet long description
21
- */
22
- description?: string;
23
- /**
24
- * Code snippet
25
- */
26
- code: string;
27
- }
28
- /**
29
- * Datalayer environment
30
- */
31
- export interface IDatalayerEnvironment {
32
- /**
33
- * Name
34
- */
35
- name: string;
36
- /**
37
- * Title
38
- */
39
- title: string;
40
- /**
41
- * Description
42
- */
43
- description: string;
44
- /**
45
- * Icon key (e.g. ai-agent -> AiAgentIcon)
46
- */
47
- icon?: string;
48
- /**
49
- * Execution language
50
- */
51
- language: string;
52
- /**
53
- * Docker image
54
- */
55
- dockerImage: string;
56
- /**
57
- * Example notebook URL
58
- */
59
- example?: string;
60
- /**
61
- * Example code snippets
62
- */
63
- snippets?: ISnippet[];
64
- /**
65
- * Associate kernel attributes
66
- */
67
- runtime?: {
68
- /**
69
- * Proposed display name
70
- */
71
- givenNameTemplate?: string;
72
- };
73
- /**
74
- * Environment credits burning rate
75
- */
76
- burning_rate: number;
77
- /**
78
- * Environment server resources
79
- */
80
- resources?: IResources;
81
- /**
82
- * Environment contents.
83
- */
84
- contents?: IContent[];
85
- }
86
- export default IEnvironment;
@@ -1,5 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- export {};
@@ -1,125 +0,0 @@
1
- /**
2
- * Environment domain model for the Datalayer Client.
3
- *
4
- * @module models/EnvironmentDTO
5
- */
6
- import type { DatalayerClient } from '../index';
7
- /**
8
- * Represents a computing environment available in the Datalayer platform.
9
- * @interface EnvironmentData
10
- */
11
- export interface EnvironmentData {
12
- /** Human-readable title for the environment */
13
- title: string;
14
- /** Detailed description of the environment */
15
- description: string;
16
- /** Docker image used for this environment */
17
- dockerImage: string;
18
- /** Example usage or description */
19
- example?: string;
20
- /** Code snippets for this environment */
21
- snippets?: any[];
22
- /** Content mounts for this environment */
23
- contents?: any[];
24
- /** Kernel configuration */
25
- runtime?: {
26
- /** Template for kernel naming */
27
- givenNameTemplate?: string;
28
- };
29
- /** Programming language (e.g., "python", "r") */
30
- language: string;
31
- /** Resource ranges configuration */
32
- resourcesRanges?: any;
33
- /** Credits consumed per hour when running */
34
- burning_rate: number;
35
- /** Simple resource specification */
36
- resources?: any;
37
- /** Name identifier for the environment */
38
- name: string;
39
- /** Docker registry for the image */
40
- dockerRegistry?: string;
41
- /** Icon or avatar URL for the environment */
42
- icon?: string;
43
- /** Whether the environment is enabled */
44
- enabled?: boolean;
45
- /** Tags associated with the environment */
46
- tags?: string[];
47
- }
48
- /**
49
- * Stable public interface for Environment data.
50
- * This is the contract that Client consumers can rely on.
51
- * The raw API may change, but this interface remains stable.
52
- */
53
- export interface EnvironmentJSON {
54
- /** Human-readable title for the environment */
55
- title: string;
56
- /** Unique name identifier for the environment */
57
- name: string;
58
- /** Credits consumed per hour for this environment */
59
- burningRate: number;
60
- /** Description of the environment (contains HTML markup) */
61
- description: string;
62
- /** Rich description of the environment (contains HTML markup) */
63
- richDescription: string;
64
- }
65
- /**
66
- * Response from listing available environments
67
- * @interface ListEnvironmentsResponse
68
- */
69
- export interface ListEnvironmentsResponse {
70
- /** Whether the request was successful */
71
- success: boolean;
72
- /** Response message from the server */
73
- message: string;
74
- /** Array of available environments */
75
- environments: EnvironmentData[];
76
- }
77
- /**
78
- * Environment domain model that wraps API responses with convenient methods.
79
- * Provides information about available computational environments.
80
- *
81
- * @example
82
- * ```typescript
83
- * const environments = await client.listEnvironments();
84
- * const aiEnv = environments.find(env => env.name === 'ai-env');
85
- * console.log(aiEnv.title); // "AI Environment"
86
- * ```
87
- */
88
- export declare class EnvironmentDTO {
89
- /** @internal */
90
- _data: EnvironmentData;
91
- /**
92
- * Create an Environment instance.
93
- *
94
- * @param data - Environment data from API
95
- * @param _client - Client instance (not currently used but kept for consistency)
96
- */
97
- constructor(data: EnvironmentData, _client: DatalayerClient);
98
- /** Human-readable title for the environment (e.g., 'AI Environment', 'Python CPU Environment'). */
99
- get title(): string;
100
- /** Unique name identifier for the environment (e.g., 'ai-env', 'ai-agents-env'). */
101
- get name(): string;
102
- /** Credits consumed per hour for this environment. */
103
- get burningRate(): number;
104
- /** Rich description of the environment (contains HTML markup). */
105
- get richDescription(): string;
106
- /** Clean description without HTML tags. */
107
- get description(): string;
108
- /**
109
- * Get environment data in camelCase format.
110
- * Returns only the core fields that consumers need.
111
- * This provides a stable interface regardless of API changes.
112
- *
113
- * @returns Core environment data with camelCase properties
114
- */
115
- toJSON(): EnvironmentJSON;
116
- /**
117
- * Get the raw environment data exactly as received from the API.
118
- * This preserves the original snake_case naming from the API response.
119
- *
120
- * @returns Raw environment data from API
121
- */
122
- rawData(): EnvironmentData;
123
- /** String representation of the environment. */
124
- toString(): string;
125
- }
@@ -1,88 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- import { validateJSON } from '../api/utils/validation.js';
6
- /**
7
- * Environment domain model that wraps API responses with convenient methods.
8
- * Provides information about available computational environments.
9
- *
10
- * @example
11
- * ```typescript
12
- * const environments = await client.listEnvironments();
13
- * const aiEnv = environments.find(env => env.name === 'ai-env');
14
- * console.log(aiEnv.title); // "AI Environment"
15
- * ```
16
- */
17
- export class EnvironmentDTO {
18
- /** @internal */
19
- _data;
20
- /**
21
- * Create an Environment instance.
22
- *
23
- * @param data - Environment data from API
24
- * @param _client - Client instance (not currently used but kept for consistency)
25
- */
26
- constructor(data, _client) {
27
- this._data = data;
28
- // Client instance not currently used but kept for future extensibility
29
- }
30
- // ========================================================================
31
- // Properties
32
- // ========================================================================
33
- /** Human-readable title for the environment (e.g., 'AI Environment', 'Python CPU Environment'). */
34
- get title() {
35
- return this._data.title;
36
- }
37
- /** Unique name identifier for the environment (e.g., 'ai-env', 'ai-agents-env'). */
38
- get name() {
39
- return this._data.name;
40
- }
41
- /** Credits consumed per hour for this environment. */
42
- get burningRate() {
43
- return this._data.burning_rate;
44
- }
45
- /** Rich description of the environment (contains HTML markup). */
46
- get richDescription() {
47
- return this._data.description;
48
- }
49
- /** Clean description without HTML tags. */
50
- get description() {
51
- // Simple HTML tag removal
52
- return this._data.description.replace(/<[^>]*>/g, '').trim();
53
- }
54
- // ========================================================================
55
- // Utility Methods
56
- // ========================================================================
57
- /**
58
- * Get environment data in camelCase format.
59
- * Returns only the core fields that consumers need.
60
- * This provides a stable interface regardless of API changes.
61
- *
62
- * @returns Core environment data with camelCase properties
63
- */
64
- toJSON() {
65
- const obj = {
66
- title: this.title,
67
- name: this.name,
68
- burningRate: this.burningRate,
69
- description: this.description,
70
- richDescription: this.richDescription,
71
- };
72
- validateJSON(obj, 'Environment');
73
- return obj;
74
- }
75
- /**
76
- * Get the raw environment data exactly as received from the API.
77
- * This preserves the original snake_case naming from the API response.
78
- *
79
- * @returns Raw environment data from API
80
- */
81
- rawData() {
82
- return this._data;
83
- }
84
- /** String representation of the environment. */
85
- toString() {
86
- return `Environment(${this.name}, ${this.title})`;
87
- }
88
- }
@@ -1,16 +0,0 @@
1
- import { IDataset } from './Dataset';
2
- import { IItem } from './Item';
3
- export type ICode = string;
4
- export type IHelp = string;
5
- export type IExercise = IItem & {
6
- type: 'exercise';
7
- help: IHelp;
8
- codePre: ICode;
9
- codeSolution: ICode;
10
- codeQuestion: ICode;
11
- codeTest: ICode;
12
- datasets: Array<IDataset>;
13
- lastUpdateDate?: Date;
14
- lastPublicationDate?: Date;
15
- };
16
- export default IExercise;
@@ -1,5 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- export {};
@@ -1,20 +0,0 @@
1
- import { ISpaceItem } from './SpaceItem';
2
- import { IUser } from './User';
3
- import { IAnyOrganization } from './Organization';
4
- import { IAnySpace } from './Space';
5
- import { IItemType } from './ItemType';
6
- export type IAnyItem = ISpaceItem;
7
- export type IItem = {
8
- id: string;
9
- type: IItemType;
10
- name: string;
11
- description: string;
12
- public: boolean;
13
- creationDate: Date;
14
- lastUpdateDate?: Date;
15
- lastPublicationDate?: Date;
16
- owner: IUser;
17
- space: Partial<IAnySpace>;
18
- organization: Partial<IAnyOrganization>;
19
- };
20
- export default IItem;
@@ -1,5 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- export {};
@@ -1,74 +0,0 @@
1
- /**
2
- * Abstract base class for all Datalayer content items.
3
- *
4
- * @module models/ItemDTO
5
- */
6
- import type { DatalayerClient } from '../index';
7
- /**
8
- * Abstract base class for all Datalayer content items.
9
- * Provides common functionality for content management including lifecycle tracking.
10
- *
11
- * @template TData - Raw data type from API
12
- * @template TUpdateRequest - Update request type for API
13
- */
14
- export declare abstract class ItemDTO<TData> {
15
- protected _data: TData;
16
- private _client;
17
- private _deleted;
18
- /**
19
- * Create an Item instance.
20
- * @param data - Item data from API
21
- * @param client - Client instance
22
- */
23
- constructor(data: TData, client: DatalayerClient);
24
- /** Check if this item has been deleted. */
25
- get isDeleted(): boolean;
26
- /**
27
- * Check if this item has been deleted and throw error if so.
28
- * @throws Error if deleted
29
- */
30
- protected _checkDeleted(): void;
31
- /** Item ID. */
32
- get id(): string;
33
- /** Unique identifier for the item. */
34
- get uid(): string;
35
- /** Parent space ID. */
36
- get spaceId(): string;
37
- /** Owner user ID. */
38
- get ownerId(): string;
39
- /** When the item was created. */
40
- get createdAt(): Date;
41
- /** The cached update time. */
42
- get updatedAt(): Date;
43
- /** Get the item type identifier. */
44
- abstract get type(): string;
45
- /** The cached name. */
46
- abstract get name(): string;
47
- /** Get the current name from API. */
48
- abstract getName(): Promise<string>;
49
- /** The cached content. */
50
- abstract get content(): any;
51
- /** Get when the item was last updated from API. */
52
- abstract getUpdatedAt(): Promise<Date>;
53
- /** Update the item. */
54
- abstract update(...args: any[]): Promise<this>;
55
- /**
56
- * Delete this item permanently.
57
- * After deletion, all subsequent method calls will throw errors.
58
- */
59
- delete(): Promise<void>;
60
- /** Get the document content from API. */
61
- getContent(): Promise<any>;
62
- /** Get raw item data object. */
63
- rawData(): TData;
64
- /** Convert to JSON representation - must be implemented by subclasses. */
65
- abstract toJSON(): any;
66
- /** String representation of the item. */
67
- toString(): string;
68
- /** Get Client token for API calls. */
69
- protected _getToken(): string;
70
- /** Get spacer API URL for API calls. */
71
- protected _getSpacerRunUrl(): string;
72
- /** Update internal data after API call. */
73
- protected _updateData(newData: TData): void;
74
- }