@datalayer/core 1.0.25 → 1.1.43

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 (359) hide show
  1. package/README.md +11 -134
  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/auth/AuthenticationManager.d.ts +3 -3
  6. package/lib/client/auth/AuthenticationManager.js +13 -13
  7. package/lib/client/auth/strategies.d.ts +2 -2
  8. package/lib/client/auth/strategies.js +6 -6
  9. package/lib/client/base.d.ts +9 -12
  10. package/lib/client/base.js +17 -19
  11. package/lib/client/index.d.ts +10 -98
  12. package/lib/client/index.js +12 -21
  13. package/lib/client/mixins/IAMMixin.js +26 -26
  14. package/lib/components/auth/Login.js +2 -2
  15. package/lib/components/avatars/UserAvatar.d.ts +16 -0
  16. package/lib/components/avatars/UserAvatar.js +47 -0
  17. package/lib/components/avatars/index.d.ts +1 -0
  18. package/lib/components/avatars/index.js +1 -0
  19. package/lib/components/billing/BillableAccountSelect.js +4 -0
  20. package/lib/components/billing/index.js +4 -0
  21. package/lib/components/context/index.d.ts +0 -1
  22. package/lib/components/context/index.js +0 -1
  23. package/lib/components/display/DisplayHandle.d.ts +12 -0
  24. package/lib/components/display/DisplayHandle.js +11 -0
  25. package/lib/components/display/LiveRelativeTime.js +4 -0
  26. package/lib/components/display/index.d.ts +1 -0
  27. package/lib/components/display/index.js +1 -0
  28. package/lib/components/flashes/index.d.ts +0 -1
  29. package/lib/components/flashes/index.js +0 -1
  30. package/lib/components/index.d.ts +0 -1
  31. package/lib/components/index.js +0 -1
  32. package/lib/components/principal/Principal.d.ts +7 -0
  33. package/lib/components/principal/Principal.js +153 -16
  34. package/lib/components/principal/PrincipalAvatar.d.ts +1 -1
  35. package/lib/components/principal/PrincipalAvatar.js +4 -28
  36. package/lib/components/principal/PrincipalBadge.js +4 -4
  37. package/lib/components/principal/PrincipalDetailsOverlay.d.ts +4 -2
  38. package/lib/components/principal/PrincipalDetailsOverlay.js +27 -7
  39. package/lib/components/principal/PrincipalSwitcherMenu.js +79 -42
  40. package/lib/components/progress/index.d.ts +0 -1
  41. package/lib/components/progress/index.js +0 -1
  42. package/lib/components/sharing/ShareAccessComponent.d.ts +3 -2
  43. package/lib/components/sharing/ShareAccessComponent.js +194 -147
  44. package/lib/components/sharing/SharingEditor.js +4 -0
  45. package/lib/components/snippets/index.d.ts +1 -1
  46. package/lib/components/snippets/index.js +1 -1
  47. package/lib/components/students/StudentResultCircle.d.ts +21 -0
  48. package/lib/components/students/StudentResultCircle.js +59 -0
  49. package/lib/components/students/index.d.ts +1 -1
  50. package/lib/components/students/index.js +1 -1
  51. package/lib/components/time/LiveRelativeTime.js +4 -0
  52. package/lib/components/time/index.js +4 -0
  53. package/lib/components/timeline/index.js +4 -0
  54. package/lib/components/tokens/index.d.ts +1 -1
  55. package/lib/components/tokens/index.js +1 -1
  56. package/lib/components/toolbars/index.d.ts +1 -3
  57. package/lib/components/toolbars/index.js +1 -3
  58. package/lib/config/Configuration.d.ts +13 -13
  59. package/lib/config/Configuration.js +5 -5
  60. package/lib/hooks/cacheConverters.d.ts +21 -0
  61. package/lib/hooks/cacheConverters.js +110 -0
  62. package/lib/hooks/index.d.ts +0 -2
  63. package/lib/hooks/index.js +0 -2
  64. package/lib/hooks/useCache.d.ts +64 -35
  65. package/lib/hooks/useCache.js +661 -306
  66. package/lib/hooks/useDatalayer.js +3 -1
  67. package/lib/hooks/useIAM.js +2 -4
  68. package/lib/hooks/useLocationHandles.d.ts +3 -1
  69. package/lib/hooks/useLocationHandles.js +2 -1
  70. package/lib/hooks/usePrincipalStore.d.ts +2 -2
  71. package/lib/hooks/usePrincipalStore.js +97 -14
  72. package/lib/hooks/useSelectedPrincipal.js +1 -1
  73. package/lib/hooks/useUser.js +19 -2
  74. package/lib/index.d.ts +1 -6
  75. package/lib/index.js +1 -13
  76. package/lib/main.js +3 -3
  77. package/lib/mocks/index.js +1 -1
  78. package/lib/mocks/models/index.d.ts +0 -1
  79. package/lib/mocks/models/index.js +0 -1
  80. package/lib/models/Datasource.d.ts +2 -2
  81. package/lib/models/IAM.d.ts +1 -1
  82. package/lib/models/School.d.ts +12 -3
  83. package/lib/models/Secret.d.ts +2 -2
  84. package/lib/models/Student.d.ts +13 -3
  85. package/lib/models/Usage.d.ts +11 -1
  86. package/lib/models/UserDTO.d.ts +2 -2
  87. package/lib/models/UserSettings.d.ts +1 -1
  88. package/lib/models/UserSettings.js +1 -1
  89. package/lib/models/index.d.ts +0 -30
  90. package/lib/models/index.js +0 -30
  91. package/lib/otel/client/OtelClient.d.ts +2 -2
  92. package/lib/otel/client/OtelClient.js +2 -2
  93. package/lib/otel/hooks/index.js +5 -5
  94. package/lib/otel/types.d.ts +1 -1
  95. package/lib/otel/views/OtelLive.js +1 -1
  96. package/lib/routes/index.d.ts +1 -0
  97. package/lib/routes/index.js +1 -0
  98. package/lib/routes/publicPaths.d.ts +23 -0
  99. package/lib/routes/publicPaths.js +74 -0
  100. package/lib/state/State.d.ts +0 -12
  101. package/lib/state/State.js +0 -12
  102. package/lib/state/substates/CoreState.js +13 -13
  103. package/lib/state/substates/IAMState.d.ts +1 -1
  104. package/lib/state/substates/IAMState.js +14 -14
  105. package/lib/state/substates/LayoutState.d.ts +12 -1
  106. package/lib/state/substates/SurveysState.d.ts +1 -1
  107. package/lib/state/substates/SurveysState.js +10 -10
  108. package/lib/state/substates/index.d.ts +0 -7
  109. package/lib/state/substates/index.js +0 -7
  110. package/lib/utils/Handles.js +3 -1
  111. package/lib/utils/index.d.ts +0 -1
  112. package/lib/utils/index.js +0 -1
  113. package/lib/views/api-keys/APIKeys.js +12 -3
  114. package/lib/views/datasources/DatasourceDetail.d.ts +1 -1
  115. package/lib/views/datasources/DatasourceNew.d.ts +1 -1
  116. package/lib/views/datasources/Datasources.d.ts +1 -1
  117. package/lib/views/datasources/Datasources.js +12 -3
  118. package/lib/views/iam/SignInSimple.d.ts +37 -1
  119. package/lib/views/iam/SignInSimple.js +111 -13
  120. package/package.json +5 -3
  121. package/lib/App.css +0 -47
  122. package/lib/App.d.ts +0 -3
  123. package/lib/App.js +0 -21
  124. package/lib/api/runtimes/checkpoints.d.ts +0 -122
  125. package/lib/api/runtimes/checkpoints.js +0 -118
  126. package/lib/api/runtimes/environments.d.ts +0 -9
  127. package/lib/api/runtimes/environments.js +0 -29
  128. package/lib/api/runtimes/healthz.d.ts +0 -15
  129. package/lib/api/runtimes/healthz.js +0 -44
  130. package/lib/api/runtimes/index.d.ts +0 -12
  131. package/lib/api/runtimes/index.js +0 -16
  132. package/lib/api/runtimes/runtimes.d.ts +0 -138
  133. package/lib/api/runtimes/runtimes.js +0 -230
  134. package/lib/api/runtimes/snapshots.d.ts +0 -38
  135. package/lib/api/runtimes/snapshots.js +0 -82
  136. package/lib/api/scheduler/index.d.ts +0 -6
  137. package/lib/api/scheduler/index.js +0 -10
  138. package/lib/api/scheduler/schedules.d.ts +0 -85
  139. package/lib/api/scheduler/schedules.js +0 -78
  140. package/lib/api/spacer/documents.d.ts +0 -12
  141. package/lib/api/spacer/documents.js +0 -43
  142. package/lib/api/spacer/healthz.d.ts +0 -15
  143. package/lib/api/spacer/healthz.js +0 -44
  144. package/lib/api/spacer/index.d.ts +0 -15
  145. package/lib/api/spacer/index.js +0 -19
  146. package/lib/api/spacer/items.d.ts +0 -25
  147. package/lib/api/spacer/items.js +0 -55
  148. package/lib/api/spacer/lexicals.d.ts +0 -34
  149. package/lib/api/spacer/lexicals.js +0 -89
  150. package/lib/api/spacer/notebooks.d.ts +0 -34
  151. package/lib/api/spacer/notebooks.js +0 -89
  152. package/lib/api/spacer/spaces.d.ts +0 -84
  153. package/lib/api/spacer/spaces.js +0 -170
  154. package/lib/api/spacer/users.d.ts +0 -9
  155. package/lib/api/spacer/users.js +0 -29
  156. package/lib/client/mixins/RuntimesMixin.d.ts +0 -93
  157. package/lib/client/mixins/RuntimesMixin.js +0 -229
  158. package/lib/client/mixins/SpacerMixin.d.ts +0 -210
  159. package/lib/client/mixins/SpacerMixin.js +0 -615
  160. package/lib/client/utils/spacerUtils.d.ts +0 -18
  161. package/lib/client/utils/spacerUtils.js +0 -32
  162. package/lib/collaboration/DatalayerCollaboration.d.ts +0 -13
  163. package/lib/collaboration/DatalayerCollaboration.js +0 -28
  164. package/lib/collaboration/DatalayerCollaborationProvider.d.ts +0 -60
  165. package/lib/collaboration/DatalayerCollaborationProvider.js +0 -163
  166. package/lib/collaboration/index.d.ts +0 -2
  167. package/lib/collaboration/index.js +0 -6
  168. package/lib/components/context/SpaceSelect.d.ts +0 -2
  169. package/lib/components/context/SpaceSelect.js +0 -42
  170. package/lib/components/flashes/FlashDisclaimer.d.ts +0 -2
  171. package/lib/components/flashes/FlashDisclaimer.js +0 -17
  172. package/lib/components/icons/ArtifactIcon.d.ts +0 -10
  173. package/lib/components/icons/ArtifactIcon.js +0 -58
  174. package/lib/components/icons/index.d.ts +0 -1
  175. package/lib/components/icons/index.js +0 -5
  176. package/lib/components/nbgrader/NbGradesDetails.d.ts +0 -5
  177. package/lib/components/nbgrader/NbGradesDetails.js +0 -14
  178. package/lib/components/nbgrader/index.d.ts +0 -1
  179. package/lib/components/nbgrader/index.js +0 -5
  180. package/lib/components/progress/CreditsIndicator.d.ts +0 -33
  181. package/lib/components/progress/CreditsIndicator.js +0 -23
  182. package/lib/components/runtimes/RuntimeCellVariables.d.ts +0 -39
  183. package/lib/components/runtimes/RuntimeCellVariables.js +0 -172
  184. package/lib/components/runtimes/RuntimeCellVariablesDialog.d.ts +0 -37
  185. package/lib/components/runtimes/RuntimeCellVariablesDialog.js +0 -101
  186. package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +0 -57
  187. package/lib/components/runtimes/RuntimeLauncherDialog.js +0 -275
  188. package/lib/components/runtimes/RuntimePickerBase.d.ts +0 -69
  189. package/lib/components/runtimes/RuntimePickerBase.js +0 -122
  190. package/lib/components/runtimes/RuntimePickerCell.d.ts +0 -34
  191. package/lib/components/runtimes/RuntimePickerCell.js +0 -104
  192. package/lib/components/runtimes/RuntimePickerNotebook.d.ts +0 -42
  193. package/lib/components/runtimes/RuntimePickerNotebook.js +0 -232
  194. package/lib/components/runtimes/RuntimeReservationControl.d.ts +0 -47
  195. package/lib/components/runtimes/RuntimeReservationControl.js +0 -42
  196. package/lib/components/runtimes/RuntimeSimplePicker.d.ts +0 -38
  197. package/lib/components/runtimes/RuntimeSimplePicker.js +0 -155
  198. package/lib/components/runtimes/RuntimeTransfer.d.ts +0 -16
  199. package/lib/components/runtimes/RuntimeTransfer.js +0 -5
  200. package/lib/components/runtimes/RuntimeUtils.d.ts +0 -17
  201. package/lib/components/runtimes/RuntimeUtils.js +0 -178
  202. package/lib/components/runtimes/RuntimeVariables.d.ts +0 -38
  203. package/lib/components/runtimes/RuntimeVariables.js +0 -75
  204. package/lib/components/runtimes/index.d.ts +0 -11
  205. package/lib/components/runtimes/index.js +0 -15
  206. package/lib/components/scheduler/ScheduleMenu.d.ts +0 -54
  207. package/lib/components/scheduler/ScheduleMenu.js +0 -154
  208. package/lib/components/scheduler/index.d.ts +0 -1
  209. package/lib/components/scheduler/index.js +0 -5
  210. package/lib/components/snapshots/SandboxSnapshotMenu.d.ts +0 -33
  211. package/lib/components/snapshots/SandboxSnapshotMenu.js +0 -169
  212. package/lib/components/snapshots/index.d.ts +0 -1
  213. package/lib/components/snapshots/index.js +0 -5
  214. package/lib/components/snippets/SnippetDialog.d.ts +0 -42
  215. package/lib/components/snippets/SnippetDialog.js +0 -42
  216. package/lib/components/students/StudentItemStatus.d.ts +0 -7
  217. package/lib/components/students/StudentItemStatus.js +0 -66
  218. package/lib/components/tokens/SpaceVariantToken.d.ts +0 -5
  219. package/lib/components/tokens/SpaceVariantToken.js +0 -23
  220. package/lib/components/toolbars/AssignmentEditorToolbar.d.ts +0 -4
  221. package/lib/components/toolbars/AssignmentEditorToolbar.js +0 -18
  222. package/lib/components/toolbars/DocumentEditorToolbar.d.ts +0 -2
  223. package/lib/components/toolbars/DocumentEditorToolbar.js +0 -12
  224. package/lib/components/toolbars/NotebookEditorToolbar.d.ts +0 -29
  225. package/lib/components/toolbars/NotebookEditorToolbar.js +0 -30
  226. package/lib/examples/CellExample.d.ts +0 -6
  227. package/lib/examples/CellExample.js +0 -20
  228. package/lib/examples/NotebookExample.d.ts +0 -6
  229. package/lib/examples/NotebookExample.js +0 -19
  230. package/lib/examples/lexical-theme.css +0 -436
  231. package/lib/examples/notebooks/IPyWidgetsExample.ipynb.json +0 -101
  232. package/lib/examples/notebooks/IPyWidgetsExampleWithState.ipynb.json +0 -112
  233. package/lib/examples/notebooks/Lite.ipynb.json +0 -128
  234. package/lib/examples/notebooks/Matplotlib.ipynb.json +0 -137
  235. package/lib/examples/notebooks/NotebookExample1.ipynb.json +0 -126
  236. package/lib/examples/notebooks/NotebookExample2.ipynb.json +0 -48
  237. package/lib/examples/notebooks/NotebookOutputs.ipynb.json +0 -49
  238. package/lib/examples/notebooks/NotebookToCExample.ipynb.json +0 -102
  239. package/lib/examples/notebooks/PyGWalker.ipynb.json +0 -55
  240. package/lib/hooks/useCellOutputshot.d.ts +0 -4
  241. package/lib/hooks/useCellOutputshot.js +0 -25
  242. package/lib/hooks/useProjects.d.ts +0 -628
  243. package/lib/hooks/useProjects.js +0 -190
  244. package/lib/hooks/useRuntimes.d.ts +0 -5
  245. package/lib/hooks/useRuntimes.js +0 -34
  246. package/lib/mocks/jupyter/index.js +0 -5
  247. package/lib/mocks/models/CourseMock.d.ts +0 -6
  248. package/lib/mocks/models/CourseMock.js +0 -29
  249. package/lib/mocks/models/SpaceMock.d.ts +0 -6
  250. package/lib/mocks/models/SpaceMock.js +0 -25
  251. package/lib/models/Assignment.d.ts +0 -7
  252. package/lib/models/Assignment.js +0 -5
  253. package/lib/models/Cell.d.ts +0 -8
  254. package/lib/models/Cell.js +0 -5
  255. package/lib/models/CodeBlock.d.ts +0 -10
  256. package/lib/models/CodeBlock.js +0 -5
  257. package/lib/models/CodeSandboxSnapshot.d.ts +0 -92
  258. package/lib/models/CodeSandboxSnapshot.js +0 -13
  259. package/lib/models/CodeSandboxSnapshotDTO.d.ts +0 -173
  260. package/lib/models/CodeSandboxSnapshotDTO.js +0 -139
  261. package/lib/models/CodefeedBlocks.d.ts +0 -7
  262. package/lib/models/CodefeedBlocks.js +0 -5
  263. package/lib/models/Content.d.ts +0 -5
  264. package/lib/models/Content.js +0 -5
  265. package/lib/models/Course.d.ts +0 -17
  266. package/lib/models/Course.js +0 -5
  267. package/lib/models/Dataset.d.ts +0 -16
  268. package/lib/models/Dataset.js +0 -5
  269. package/lib/models/Document.d.ts +0 -8
  270. package/lib/models/Document.js +0 -5
  271. package/lib/models/Environment.d.ts +0 -86
  272. package/lib/models/Environment.js +0 -5
  273. package/lib/models/EnvironmentDTO.d.ts +0 -125
  274. package/lib/models/EnvironmentDTO.js +0 -88
  275. package/lib/models/Exercise.d.ts +0 -16
  276. package/lib/models/Exercise.js +0 -5
  277. package/lib/models/Item.d.ts +0 -20
  278. package/lib/models/Item.js +0 -5
  279. package/lib/models/ItemDTO.d.ts +0 -74
  280. package/lib/models/ItemDTO.js +0 -186
  281. package/lib/models/ItemType.d.ts +0 -2
  282. package/lib/models/ItemType.js +0 -5
  283. package/lib/models/Lesson.d.ts +0 -5
  284. package/lib/models/Lesson.js +0 -5
  285. package/lib/models/LexicalDTO.d.ts +0 -155
  286. package/lib/models/LexicalDTO.js +0 -157
  287. package/lib/models/Library.d.ts +0 -10
  288. package/lib/models/Library.js +0 -5
  289. package/lib/models/Notebook.d.ts +0 -11
  290. package/lib/models/Notebook.js +0 -5
  291. package/lib/models/NotebookDTO.d.ts +0 -96
  292. package/lib/models/NotebookDTO.js +0 -153
  293. package/lib/models/Page.d.ts +0 -41
  294. package/lib/models/Page.js +0 -25
  295. package/lib/models/PageTag.d.ts +0 -19
  296. package/lib/models/PageTag.js +0 -94
  297. package/lib/models/ProjectDTO.d.ts +0 -89
  298. package/lib/models/ProjectDTO.js +0 -131
  299. package/lib/models/Runtime.d.ts +0 -123
  300. package/lib/models/Runtime.js +0 -18
  301. package/lib/models/RuntimeDTO.d.ts +0 -191
  302. package/lib/models/RuntimeDTO.js +0 -204
  303. package/lib/models/Space.d.ts +0 -35
  304. package/lib/models/Space.js +0 -66
  305. package/lib/models/SpaceDTO.d.ts +0 -334
  306. package/lib/models/SpaceDTO.js +0 -244
  307. package/lib/models/SpaceItem.d.ts +0 -10
  308. package/lib/models/SpaceItem.js +0 -5
  309. package/lib/models/SpaceMember.d.ts +0 -6
  310. package/lib/models/SpaceMember.js +0 -5
  311. package/lib/models/StudentItem.d.ts +0 -21
  312. package/lib/models/StudentItem.js +0 -5
  313. package/lib/services/DatalayerServiceManager.d.ts +0 -22
  314. package/lib/services/DatalayerServiceManager.js +0 -69
  315. package/lib/services/index.d.ts +0 -4
  316. package/lib/services/index.js +0 -7
  317. package/lib/services/reconnectToRuntime.d.ts +0 -32
  318. package/lib/services/reconnectToRuntime.js +0 -59
  319. package/lib/state/substates/CellState.d.ts +0 -12
  320. package/lib/state/substates/CellState.js +0 -22
  321. package/lib/state/substates/DocumentState.d.ts +0 -10
  322. package/lib/state/substates/DocumentState.js +0 -14
  323. package/lib/state/substates/GradeState.d.ts +0 -10
  324. package/lib/state/substates/GradeState.js +0 -14
  325. package/lib/state/substates/JupyterLabState.d.ts +0 -16
  326. package/lib/state/substates/JupyterLabState.js +0 -17
  327. package/lib/state/substates/NbformatState.d.ts +0 -13
  328. package/lib/state/substates/NbformatState.js +0 -16
  329. package/lib/state/substates/RuntimesState.d.ts +0 -79
  330. package/lib/state/substates/RuntimesState.js +0 -180
  331. package/lib/state/substates/SpaceState.d.ts +0 -11
  332. package/lib/state/substates/SpaceState.js +0 -16
  333. package/lib/stateful/index.d.ts +0 -2
  334. package/lib/stateful/index.js +0 -6
  335. package/lib/stateful/jupyter/exec/Python.d.ts +0 -5
  336. package/lib/stateful/jupyter/exec/Python.js +0 -100
  337. package/lib/stateful/jupyter/exec/Snippets.d.ts +0 -105
  338. package/lib/stateful/jupyter/exec/Snippets.js +0 -101
  339. package/lib/stateful/jupyter/exec/index.d.ts +0 -2
  340. package/lib/stateful/jupyter/exec/index.js +0 -6
  341. package/lib/stateful/jupyter/index.d.ts +0 -2
  342. package/lib/stateful/jupyter/index.js +0 -6
  343. package/lib/stateful/jupyter/kernelsHandler.d.ts +0 -8
  344. package/lib/stateful/jupyter/kernelsHandler.js +0 -39
  345. package/lib/stateful/runtimes/actions.d.ts +0 -102
  346. package/lib/stateful/runtimes/actions.js +0 -249
  347. package/lib/stateful/runtimes/apis.d.ts +0 -273
  348. package/lib/stateful/runtimes/apis.js +0 -5
  349. package/lib/stateful/runtimes/index.d.ts +0 -5
  350. package/lib/stateful/runtimes/index.js +0 -9
  351. package/lib/stateful/runtimes/settings.d.ts +0 -15
  352. package/lib/stateful/runtimes/settings.js +0 -31
  353. package/lib/stateful/runtimes/snapshots.d.ts +0 -25
  354. package/lib/stateful/runtimes/snapshots.js +0 -150
  355. package/lib/stateful/runtimes/utils.d.ts +0 -7
  356. package/lib/stateful/runtimes/utils.js +0 -14
  357. package/lib/utils/Cells.d.ts +0 -2
  358. package/lib/utils/Cells.js +0 -28
  359. /package/lib/{mocks/jupyter/index.d.ts → cli-login.d.ts} +0 -0
@@ -1,191 +0,0 @@
1
- import type { DatalayerClient } from '../index';
2
- import { CodeSandboxSnapshotDTO } from './CodeSandboxSnapshotDTO';
3
- /**
4
- * Represents a running instance of a computing environment.
5
- * @interface RuntimeData
6
- */
7
- export interface RuntimeData {
8
- /** Kubernetes pod name for the runtime instance */
9
- pod_name: string;
10
- /** Unique identifier for the runtime */
11
- uid: string;
12
- /** Name of the environment this runtime is based on */
13
- environment_name: string;
14
- /** Title of the environment for display */
15
- environment_title: string;
16
- /** Type of runtime - notebook, terminal, or job */
17
- type: string;
18
- /** Credits consumed per second */
19
- burning_rate: number;
20
- /** User-friendly name for the runtime */
21
- given_name: string;
22
- /** Authentication token for accessing the runtime */
23
- token: string;
24
- /** Ingress URL for accessing the runtime */
25
- ingress: string;
26
- /** ISO 8601 timestamp of when the runtime started */
27
- started_at: string;
28
- /** ISO 8601 timestamp of when the runtime will expire */
29
- expired_at: string;
30
- }
31
- /**
32
- * Stable public interface for Runtime data.
33
- * This is the contract that Client consumers can rely on.
34
- * The raw API may change, but this interface remains stable.
35
- */
36
- export interface RuntimeJSON {
37
- /** ulid for the runtime */
38
- uid: string;
39
- /** Kubernetes pod name for the runtime instance */
40
- podName: string;
41
- /** User-friendly name for the runtime */
42
- givenName: string;
43
- /** Name of the environment this runtime is based on */
44
- environmentName: string;
45
- /** Title of the environment for display */
46
- environmentTitle: string;
47
- /** Type of runtime - notebook, terminal, or job */
48
- type: string;
49
- /** Credits consumed per second */
50
- burningRate: number;
51
- /** Credits allocated/available to this runtime */
52
- ingress: string;
53
- /** Authentication token for accessing the runtime */
54
- token: string;
55
- /** When the runtime was started */
56
- startedAt: string;
57
- /** When the runtime will expire */
58
- expiredAt: string;
59
- }
60
- /**
61
- * Request payload for creating a new runtime
62
- * @interface CreateRuntimeRequest
63
- */
64
- export interface CreateRuntimeRequest {
65
- /** Name of the environment to use */
66
- environment_name: string;
67
- /** Type of runtime (e.g., 'notebook', 'terminal', 'job') */
68
- type?: 'notebook' | 'terminal' | 'job';
69
- /** Optional given name for the runtime */
70
- given_name?: string;
71
- /** Maximum credits this runtime can consume */
72
- credits_limit?: number;
73
- /** Optional capabilities for the runtime */
74
- capabilities?: string[];
75
- /** Optional source to create runtime from (e.g., snapshot ID) */
76
- from?: string;
77
- }
78
- /**
79
- * Response from creating a new runtime
80
- * @interface CreateRuntimeResponse
81
- */
82
- export interface CreateRuntimeResponse {
83
- /** Whether the request was successful */
84
- success: boolean;
85
- /** Response message from the server */
86
- message: string;
87
- /** The created runtime instance */
88
- runtime: RuntimeData;
89
- }
90
- /**
91
- * Response from listing runtimes
92
- * @interface ListRuntimesResponse
93
- */
94
- export interface ListRuntimesResponse {
95
- /** Whether the request was successful */
96
- success: boolean;
97
- /** Response message from the server */
98
- message: string;
99
- /** Array of runtime instances */
100
- runtimes: RuntimeData[];
101
- }
102
- /**
103
- * Runtime domain model that wraps API responses with convenient methods.
104
- * Provides state management and lifecycle operations for computational runtimes.
105
- *
106
- * @example
107
- * ```typescript
108
- * const runtime = await client.createRuntime({ environment_name: 'python-cpu' });
109
- * await runtime.waitUntilReady();
110
- * ```
111
- */
112
- export declare class RuntimeDTO {
113
- /** @internal */
114
- _data: RuntimeData;
115
- private _client;
116
- private _deleted;
117
- /**
118
- * Create a Runtime instance.
119
- *
120
- * @param data - Runtime data from API
121
- * @param client - Client instance
122
- */
123
- constructor(data: RuntimeData, client: DatalayerClient);
124
- /**
125
- * Check if this runtime has been deleted and throw error if so.
126
- * @throws Error if deleted
127
- */
128
- private _checkDeleted;
129
- /** Kubernetes pod name for the runtime instance. */
130
- get podName(): string;
131
- /** Unique identifier for the runtime. */
132
- get uid(): string;
133
- /** Name of the environment this runtime is based on. */
134
- get environmentName(): string;
135
- /** Ingress URL for accessing the runtime. */
136
- get ingress(): string;
137
- /** Authentication token for accessing the runtime. */
138
- get token(): string;
139
- /** Credits consumed per second. */
140
- get burningRate(): number;
141
- /** User-friendly name for the runtime. */
142
- get givenName(): string;
143
- /** Type of runtime (notebook, terminal, or job). */
144
- get type(): string;
145
- /** When the runtime started. */
146
- get startedAt(): Date;
147
- /** When the runtime will expire. */
148
- get expiredAt(): Date;
149
- /** Environment title for display. */
150
- get environmentTitle(): string;
151
- /**
152
- * Delete this runtime permanently.
153
- * After deletion, subsequent calls to dynamic methods will throw errors.
154
- */
155
- delete(): Promise<void>;
156
- /**
157
- * Update runtime from a snapshot.
158
- *
159
- * @param from - Snapshot identifier to restore from
160
- * @returns Updated Runtime instance
161
- */
162
- update(from: string): Promise<RuntimeDTO>;
163
- /**
164
- * Create a snapshot of this runtime.
165
- *
166
- * @param name - Name for the snapshot
167
- * @param description - Optional description
168
- * @param stop - Whether to stop runtime after snapshotting
169
- * @returns Created Snapshot instance
170
- */
171
- createSnapshot(name: string, description?: string, stop?: boolean): Promise<CodeSandboxSnapshotDTO>;
172
- /**
173
- * Get runtime data in camelCase format.
174
- * Returns only the core fields that consumers need.
175
- * This provides a stable interface regardless of API changes.
176
- * Returns the current cached state - call getState() first if you need fresh data.
177
- *
178
- * @returns Core runtime data with camelCase properties
179
- */
180
- toJSON(): RuntimeJSON;
181
- /**
182
- * Get the raw runtime data exactly as received from the API.
183
- * This preserves the original snake_case naming from the API response.
184
- * Returns the current cached state - call getState() first if you need fresh data.
185
- *
186
- * @returns Raw runtime data from API
187
- */
188
- rawData(): RuntimeData;
189
- /** String representation of the runtime. */
190
- toString(): string;
191
- }
@@ -1,204 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- /**
6
- * Runtime domain model for the Datalayer Client.
7
- *
8
- * @module models/RuntimeDTO
9
- */
10
- import { updateRuntime } from '../api/runtimes/runtimes.js';
11
- import { validateJSON } from '../api/utils/validation.js';
12
- /**
13
- * Runtime domain model that wraps API responses with convenient methods.
14
- * Provides state management and lifecycle operations for computational runtimes.
15
- *
16
- * @example
17
- * ```typescript
18
- * const runtime = await client.createRuntime({ environment_name: 'python-cpu' });
19
- * await runtime.waitUntilReady();
20
- * ```
21
- */
22
- export class RuntimeDTO {
23
- /** @internal */
24
- _data;
25
- _client;
26
- _deleted = false;
27
- /**
28
- * Create a Runtime instance.
29
- *
30
- * @param data - Runtime data from API
31
- * @param client - Client instance
32
- */
33
- constructor(data, client) {
34
- this._data = data;
35
- this._client = client;
36
- }
37
- // ========================================================================
38
- // Helper Methods
39
- // ========================================================================
40
- /**
41
- * Check if this runtime has been deleted and throw error if so.
42
- * @throws Error if deleted
43
- */
44
- _checkDeleted() {
45
- if (this._deleted) {
46
- throw new Error(`Runtime ${this._data.pod_name} has been deleted and no longer exists`);
47
- }
48
- }
49
- // ========================================================================
50
- // Static Properties (set at creation, never change)
51
- // ========================================================================
52
- /** Kubernetes pod name for the runtime instance. */
53
- get podName() {
54
- this._checkDeleted();
55
- return this._data.pod_name;
56
- }
57
- /** Unique identifier for the runtime. */
58
- get uid() {
59
- this._checkDeleted();
60
- return this._data.uid;
61
- }
62
- /** Name of the environment this runtime is based on. */
63
- get environmentName() {
64
- this._checkDeleted();
65
- return this._data.environment_name;
66
- }
67
- /** Ingress URL for accessing the runtime. */
68
- get ingress() {
69
- this._checkDeleted();
70
- return this._data.ingress;
71
- }
72
- /** Authentication token for accessing the runtime. */
73
- get token() {
74
- this._checkDeleted();
75
- return this._data.token;
76
- }
77
- /** Credits consumed per second. */
78
- get burningRate() {
79
- this._checkDeleted();
80
- return this._data.burning_rate;
81
- }
82
- /** User-friendly name for the runtime. */
83
- get givenName() {
84
- this._checkDeleted();
85
- return this._data.given_name;
86
- }
87
- /** Type of runtime (notebook, terminal, or job). */
88
- get type() {
89
- this._checkDeleted();
90
- return this._data.type;
91
- }
92
- /** When the runtime started. */
93
- get startedAt() {
94
- this._checkDeleted();
95
- return new Date(Number(this._data.started_at) * 1000);
96
- }
97
- /** When the runtime will expire. */
98
- get expiredAt() {
99
- this._checkDeleted();
100
- return new Date(Number(this._data.expired_at) * 1000);
101
- }
102
- /** Environment title for display. */
103
- get environmentTitle() {
104
- this._checkDeleted();
105
- return this._data.environment_title || '';
106
- }
107
- // ========================================================================
108
- // Action Methods
109
- // ========================================================================
110
- /**
111
- * Delete this runtime permanently.
112
- * After deletion, subsequent calls to dynamic methods will throw errors.
113
- */
114
- async delete() {
115
- await this._client.deleteRuntime(this.podName);
116
- this._deleted = true;
117
- }
118
- /**
119
- * Update runtime from a snapshot.
120
- *
121
- * @param from - Snapshot identifier to restore from
122
- * @returns Updated Runtime instance
123
- */
124
- async update(from) {
125
- this._checkDeleted();
126
- const updated = await updateRuntime(this._client.getToken(), this.podName, from, this._client.getRuntimesRunUrl());
127
- return new RuntimeDTO(updated, this._client);
128
- }
129
- /**
130
- * Create a snapshot of this runtime.
131
- *
132
- * @param name - Name for the snapshot
133
- * @param description - Optional description
134
- * @param stop - Whether to stop runtime after snapshotting
135
- * @returns Created Snapshot instance
136
- */
137
- async createSnapshot(name, description, stop) {
138
- this._checkDeleted();
139
- return await this._client.createSnapshot(this.podName, name, description, stop);
140
- }
141
- // ========================================================================
142
- // Utility Methods
143
- // ========================================================================
144
- /**
145
- * Get runtime data in camelCase format.
146
- * Returns only the core fields that consumers need.
147
- * This provides a stable interface regardless of API changes.
148
- * Returns the current cached state - call getState() first if you need fresh data.
149
- *
150
- * @returns Core runtime data with camelCase properties
151
- */
152
- toJSON() {
153
- this._checkDeleted();
154
- // Safely convert dates to ISO strings, handling invalid dates
155
- const safeToISO = (date) => {
156
- try {
157
- const iso = date.toISOString();
158
- return iso;
159
- }
160
- catch {
161
- // If date is invalid, return empty string or current time
162
- return new Date().toISOString();
163
- }
164
- };
165
- const obj = {
166
- // Core identifiers
167
- uid: this.uid,
168
- podName: this.podName,
169
- givenName: this.givenName,
170
- // Environment info
171
- environmentName: this.environmentName,
172
- environmentTitle: this.environmentTitle,
173
- // State and type
174
- type: this.type,
175
- // Burning
176
- burningRate: this.burningRate,
177
- // URLs and tokens
178
- // FIXME: Consider renaming? jupyterServerUrl and jupyterServerToken
179
- ingress: this.ingress,
180
- token: this.token,
181
- // Timing
182
- startedAt: safeToISO(this.startedAt),
183
- expiredAt: safeToISO(this.expiredAt),
184
- };
185
- validateJSON(obj, 'Runtime');
186
- return obj;
187
- }
188
- /**
189
- * Get the raw runtime data exactly as received from the API.
190
- * This preserves the original snake_case naming from the API response.
191
- * Returns the current cached state - call getState() first if you need fresh data.
192
- *
193
- * @returns Raw runtime data from API
194
- */
195
- rawData() {
196
- this._checkDeleted();
197
- return this._data;
198
- }
199
- /** String representation of the runtime. */
200
- toString() {
201
- this._checkDeleted();
202
- return `Runtime(${this.podName}, ${this.environmentName})`;
203
- }
204
- }
@@ -1,35 +0,0 @@
1
- import { SpaceMember } from './SpaceMember';
2
- import { ISpaceItem } from './SpaceItem';
3
- import { ICourse as ICourse } from './Course';
4
- import { IOrganization } from './Organization';
5
- import { IUser } from './User';
6
- /**
7
- * Convert the raw space object to {@link ISpace}.
8
- *
9
- * @param user Raw space object from DB
10
- * @returns Space
11
- */
12
- export declare const asSpace: (raw_space: any) => ISpace;
13
- export type ISpaceVariant = 'default' | 'course' | 'project';
14
- export type IAnySpace = ISpace | ICourse;
15
- export type IBaseSpace = {
16
- id: string;
17
- handle: string;
18
- type: string;
19
- variant: ISpaceVariant;
20
- name: string;
21
- description: string;
22
- creationDate: Date;
23
- public: boolean;
24
- owner: IUser;
25
- organization?: Partial<IOrganization>;
26
- members?: SpaceMember[];
27
- sharedOwnerUserUids?: string[];
28
- };
29
- export type ISpace = IBaseSpace & {
30
- type: 'space';
31
- variant: 'default';
32
- items?: Array<ISpaceItem>;
33
- itemIds?: Array<string>;
34
- };
35
- export default ISpace;
@@ -1,66 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- import { asUser } from './User.js';
6
- import { asArray } from '../utils/index.js';
7
- /**
8
- * Convert the raw space object to {@link ISpace}.
9
- *
10
- * @param user Raw space object from DB
11
- * @returns Space
12
- */
13
- export const asSpace = (raw_space) => {
14
- const sharedOwnerUserUids = asArray(raw_space?.shared_owner_user_uids_ss ||
15
- raw_space?.shared_ower_user_uids_ss ||
16
- []).filter((uid) => typeof uid === 'string' && uid.length > 0);
17
- // The backend resolves the canonical (friendly) account handles and exposes
18
- // them as `space.owner` and `space.organization`. Trust those single sources
19
- // of truth; do not invent fallbacks here.
20
- const organizationHandle = raw_space?.organization?.handle;
21
- const owner = raw_space?.owner
22
- ? asUser(raw_space.owner)
23
- : {
24
- id: '',
25
- handle: '',
26
- email: '',
27
- firstName: '',
28
- lastName: '',
29
- initials: '',
30
- displayName: '',
31
- roles: [],
32
- iamProviders: [],
33
- setRoles: () => { },
34
- unsubscribedFromOutbounds: false,
35
- onboarding: {},
36
- events: [],
37
- settings: {},
38
- };
39
- let members = new Array();
40
- if (raw_space.members) {
41
- members = asArray(raw_space.members).map(m => {
42
- const member = asUser(m);
43
- return member;
44
- });
45
- }
46
- const space = {
47
- id: raw_space.uid,
48
- handle: raw_space.handle_s,
49
- type: 'space',
50
- variant: raw_space.variant_s,
51
- name: raw_space.name_t,
52
- description: raw_space.description_t,
53
- public: raw_space.public_b,
54
- members,
55
- creationDate: new Date(raw_space.creation_ts_dt),
56
- owner,
57
- organization: organizationHandle
58
- ? { handle: organizationHandle }
59
- : undefined,
60
- sharedOwnerUserUids,
61
- // Preserve raw Solr fields so consumers can access dynamic fields
62
- // (e.g. attached_agent_pod_name_s for project-agent assignment)
63
- ...raw_space,
64
- };
65
- return space;
66
- };