@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,153 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- import * as notebooks from '../api/spacer/notebooks.js';
6
- import { ItemDTO } from './ItemDTO.js';
7
- import { ItemTypes } from '../client/constants.js';
8
- import { validateJSON } from '../api/utils/validation.js';
9
- /**
10
- * Notebook domain model that extends the base Item class.
11
- * Provides notebook-specific functionality for managing Jupyter notebooks.
12
- *
13
- * @example
14
- * ```typescript
15
- * const notebook = await client.createNotebook(formData);
16
- * const kernelSpec = await notebook.getKernelSpec();
17
- * ```
18
- */
19
- export class NotebookDTO extends ItemDTO {
20
- /**
21
- * Create a Notebook instance.
22
- *
23
- * @param data - Notebook data from API
24
- * @param client - Client instance
25
- */
26
- constructor(data, client) {
27
- super(data, client);
28
- }
29
- // ========================================================================
30
- // Abstract Method Implementations
31
- // ========================================================================
32
- /** Document type identifier. */
33
- get type() {
34
- this._checkDeleted();
35
- return ItemTypes.NOTEBOOK;
36
- }
37
- /** The cached name of the notebook. */
38
- get name() {
39
- this._checkDeleted();
40
- return (this._data.name_t ||
41
- this._data.notebook_name_s ||
42
- this._data.name ||
43
- '');
44
- }
45
- /** The cached content. */
46
- get content() {
47
- this._checkDeleted();
48
- if (!this._data.content && this._data.model_s) {
49
- try {
50
- return JSON.parse(this._data.model_s);
51
- }
52
- catch {
53
- return this._data.model_s;
54
- }
55
- }
56
- return this._data.content;
57
- }
58
- /** Get the current name from API. */
59
- async getName() {
60
- this._checkDeleted();
61
- // For now, return cached value - implement API call if needed
62
- return this.name;
63
- }
64
- /** Get when the notebook was last updated from API. */
65
- async getUpdatedAt() {
66
- this._checkDeleted();
67
- const dateStr = this._data.updated_at || this._data.update_ts_dt;
68
- if (!dateStr) {
69
- throw new Error('No update timestamp available for notebook');
70
- }
71
- return new Date(dateStr);
72
- }
73
- /** Update the notebook. */
74
- async update(name, description) {
75
- // FIXME: check if both are needed, and use the existing values if only one provided
76
- this._checkDeleted();
77
- const token = this._client.getToken();
78
- const spacerRunUrl = this._client.getSpacerRunUrl();
79
- const updateData = {};
80
- if (name !== undefined)
81
- updateData.name = name;
82
- if (description !== undefined)
83
- updateData.description = description;
84
- await notebooks.updateNotebook(token, this.uid, updateData, spacerRunUrl);
85
- // FIXME: handle partial updates
86
- return this;
87
- }
88
- // ========================================================================
89
- // Notebook-specific Properties
90
- // ========================================================================
91
- /** File path within the space. */
92
- get path() {
93
- this._checkDeleted();
94
- return this._data.path || '';
95
- }
96
- /** Version number. */
97
- get version() {
98
- this._checkDeleted();
99
- return this._data.version || 0;
100
- }
101
- /** Notebook metadata. */
102
- get metadata() {
103
- this._checkDeleted();
104
- return this._data.metadata || {};
105
- }
106
- /** Kernel specification (cached). */
107
- get kernelSpec() {
108
- this._checkDeleted();
109
- return this._data.kernel_spec;
110
- }
111
- /** Description of the notebook. */
112
- get description() {
113
- this._checkDeleted();
114
- return this._data.description_t || '';
115
- }
116
- /** Get the notebook extension. */
117
- get extension() {
118
- this._checkDeleted();
119
- const ext = this._data.notebook_extension_s;
120
- return ext ? (ext.startsWith('.') ? ext : `.${ext}`) : '.ipynb';
121
- }
122
- /**
123
- * Get notebook data in camelCase format.
124
- * Returns only the core fields that consumers need.
125
- * This provides a stable interface regardless of API changes.
126
- *
127
- * @returns Core notebook data with camelCase properties
128
- */
129
- toJSON() {
130
- this._checkDeleted();
131
- const obj = {
132
- id: this.id,
133
- uid: this.uid,
134
- name: this.name,
135
- description: this.description,
136
- type: this.type,
137
- extension: this.extension,
138
- cdnUrl: this._data.cdn_url_s,
139
- };
140
- validateJSON(obj, 'Notebook');
141
- return obj;
142
- }
143
- /**
144
- * Get the raw notebook data exactly as received from the API.
145
- * This preserves the original snake_case naming from the API response.
146
- *
147
- * @returns Raw notebook data from API
148
- */
149
- rawData() {
150
- this._checkDeleted();
151
- return this._data;
152
- }
153
- }
@@ -1,41 +0,0 @@
1
- import { INotebookContent } from '@jupyterlab/nbformat';
2
- import { IUser } from './User';
3
- import { PageTagName } from './PageTag';
4
- import { ICodeSandboxSnapshot } from './CodeSandboxSnapshot';
5
- export type PageTheme = 'default';
6
- export type PageVariant = 'document' | 'cell' | 'notebook';
7
- /**
8
- * Page attributes.
9
- *
10
- * - Notebook
11
- * - Screen Capture
12
- * - Theme
13
- * - Tags
14
- * - Video Explainer
15
- * - Kernel Launcher Button
16
- * - Kernel Snapshot
17
- * - Share Button
18
- * - Stars Counter - 1 ⭐ -> 1 Credit
19
- */
20
- export type IPage = {
21
- id: string;
22
- variant: PageVariant;
23
- type: 'page';
24
- name: string;
25
- description: string;
26
- theme: PageTheme;
27
- tags: Array<PageTagName>;
28
- nbformat: INotebookContent;
29
- screenCapture?: string;
30
- creator?: IUser;
31
- creatorId?: string;
32
- selectedPrincipalUid?: string;
33
- selectedPrincipalKind?: 'user' | 'organization' | 'team';
34
- selectedOrganizationUid?: string;
35
- kernelSnapshot?: ICodeSandboxSnapshot;
36
- kernelSnapshotId?: string;
37
- createdAt?: string;
38
- updatedAt?: string;
39
- };
40
- export declare const asPage: (s: any) => IPage;
41
- export default IPage;
@@ -1,25 +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 { asCodeSandboxSnapshot, } from './CodeSandboxSnapshot.js';
7
- export const asPage = (s) => {
8
- return {
9
- id: s.uid,
10
- type: 'page',
11
- variant: s.variant_s,
12
- name: s.name_t,
13
- description: s.description_t,
14
- theme: s.theme_s,
15
- nbformat: s.nbformat_s ? JSON.parse(s.nbformat_s) : undefined,
16
- screenCapture: s.screen_capture_cdn_url_s || s.screen_capture_s,
17
- tags: s.tags_ss ?? [],
18
- creator: s.creator ? asUser(s.creator) : undefined,
19
- creatorId: s.creator_uid,
20
- kernelSnapshot: s.kernel_snapshot
21
- ? asCodeSandboxSnapshot(s.kernel_snapshot)
22
- : undefined,
23
- kernelSnapshotId: s.kernel_snapshot_uid,
24
- };
25
- };
@@ -1,19 +0,0 @@
1
- import { CardIconColors } from '@primer/react-brand';
2
- import { Icon } from '@primer/octicons-react';
3
- type CardIconColorsType = (typeof CardIconColors)[number];
4
- export type PageTagMetadata = {
5
- fillColor: React.CSSProperties['backgroundColor'];
6
- };
7
- export type PageTagName = 'agent' | 'ai' | 'ai-agent' | 'deep-learning' | 'example' | 'llm' | 'notebook' | 'python' | 'pytorch' | 'spatial' | 'tutorial';
8
- export type PageTag = {
9
- id: string;
10
- text?: PageTagName;
11
- color: CardIconColorsType;
12
- Icon: Icon;
13
- metadata?: PageTagMetadata;
14
- };
15
- export declare const PAGE_TAGE_NONE: PageTag;
16
- export declare const PAGE_TAGS: PageTag[];
17
- export declare const PAGE_TAGS_BY_NAME_MAP: Map<PageTagName | undefined, PageTag>;
18
- export declare const PAGE_TAGS_BY_COLOR_MAP: Map<"blue" | "coral" | "gray" | "green" | "indigo" | "lime" | "orange" | "pink" | "purple" | "red" | "teal" | "yellow" | "default" | "lemon", PageTag>;
19
- export {};
@@ -1,94 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- import { CopilotIcon, ZapIcon } from '@primer/octicons-react';
6
- export const PAGE_TAGE_NONE = {
7
- id: '0',
8
- text: undefined,
9
- Icon: CopilotIcon,
10
- color: 'pink',
11
- };
12
- const PAGE_TAGE_AGENT = {
13
- id: '9',
14
- text: 'agent',
15
- Icon: CopilotIcon,
16
- color: 'teal',
17
- };
18
- const PAGE_TAGE_AI = {
19
- id: '1',
20
- text: 'ai',
21
- Icon: CopilotIcon,
22
- color: 'pink',
23
- };
24
- const PAGE_TAGE_AI_AGENT = {
25
- id: '10',
26
- text: 'ai-agent',
27
- Icon: CopilotIcon,
28
- color: 'purple',
29
- };
30
- const PAGE_TAGE_DEEP_LEARNING = {
31
- id: '2',
32
- text: 'deep-learning',
33
- Icon: ZapIcon,
34
- color: 'blue',
35
- };
36
- const PAGE_TAGE_EXAMPLE = {
37
- id: '3',
38
- text: 'example',
39
- Icon: CopilotIcon,
40
- color: 'lime',
41
- };
42
- const PAGE_TAGE_LLM = {
43
- id: '4',
44
- text: 'llm',
45
- Icon: CopilotIcon,
46
- color: 'coral',
47
- };
48
- const PAGE_TAGE_NOTEBOOK = {
49
- id: '11',
50
- text: 'notebook',
51
- Icon: CopilotIcon,
52
- color: 'blue',
53
- };
54
- const PAGE_TAGE_PYTHON = {
55
- id: '5',
56
- text: 'python',
57
- Icon: CopilotIcon,
58
- color: 'gray',
59
- metadata: { fillColor: 'var(--base-color-green-0)' },
60
- };
61
- const PAGE_TAGE_PYTORCH = {
62
- id: '6',
63
- text: 'pytorch',
64
- Icon: CopilotIcon,
65
- color: 'green',
66
- };
67
- const PAGE_TAGE_SPATIAL = {
68
- id: '7',
69
- text: 'spatial',
70
- Icon: CopilotIcon,
71
- color: 'lemon',
72
- };
73
- const PAGE_TAGE_TUTORIAL = {
74
- id: '8',
75
- text: 'tutorial',
76
- Icon: CopilotIcon,
77
- color: 'orange',
78
- metadata: { fillColor: 'yellow' },
79
- };
80
- export const PAGE_TAGS = [
81
- PAGE_TAGE_AGENT,
82
- PAGE_TAGE_AI,
83
- PAGE_TAGE_AI_AGENT,
84
- PAGE_TAGE_DEEP_LEARNING,
85
- PAGE_TAGE_EXAMPLE,
86
- PAGE_TAGE_LLM,
87
- PAGE_TAGE_NOTEBOOK,
88
- PAGE_TAGE_PYTHON,
89
- PAGE_TAGE_PYTORCH,
90
- PAGE_TAGE_SPATIAL,
91
- PAGE_TAGE_TUTORIAL,
92
- ];
93
- export const PAGE_TAGS_BY_NAME_MAP = new Map(PAGE_TAGS.map(t => [t.text, t]));
94
- export const PAGE_TAGS_BY_COLOR_MAP = new Map(PAGE_TAGS.map(t => [t.color, t]));
@@ -1,89 +0,0 @@
1
- /**
2
- * Project domain model for the Datalayer Client.
3
- *
4
- * Projects are spaces with variant='project' that can have attached agents.
5
- * This is a standalone model (no inheritance from SpaceDTO) to avoid
6
- * circular dependency issues in the module graph.
7
- *
8
- * @module models/ProjectDTO
9
- */
10
- import type { SpaceData } from './SpaceDTO';
11
- /**
12
- * Stable public interface for Project data.
13
- */
14
- export interface ProjectJSON {
15
- uid: string;
16
- id: string;
17
- handle: string;
18
- name: string;
19
- description: string;
20
- variant: string;
21
- isPublic: boolean;
22
- createdAt: string;
23
- attachedAgentPodName: string | null;
24
- attachedAgentSpecId: string | null;
25
- attachedAgentGivenName: string | null;
26
- hasAgent: boolean;
27
- }
28
- /**
29
- * Default items (notebook UID and document UID) for a project.
30
- */
31
- export interface ProjectDefaultItems {
32
- defaultNotebookUid: string | null;
33
- defaultDocumentUid: string | null;
34
- }
35
- /**
36
- * Project domain model wrapping raw space data with project-specific accessors.
37
- *
38
- * @example
39
- * ```typescript
40
- * const projects = await client.getProjects();
41
- * const project = projects[0];
42
- * console.log(project.hasAgent); // false
43
- * await client.assignAgent(project.uid, 'my-agent-pod');
44
- * ```
45
- */
46
- export declare class ProjectDTO {
47
- private _data;
48
- private _deleted;
49
- private _createdAt;
50
- constructor(data: SpaceData);
51
- /** Unique identifier for the project. */
52
- get uid(): string;
53
- /** Internal numeric/string ID from the backend. Falls back to UID when not present. SDK client methods accept `uid` directly. */
54
- get id(): string;
55
- /** URL-friendly handle. */
56
- get handle(): string;
57
- /** Project name. */
58
- get name(): string;
59
- /** Project description. */
60
- get description(): string;
61
- /** Space variant (should be 'project'). */
62
- get variant(): string;
63
- /** Whether the project is public. */
64
- get isPublic(): boolean;
65
- /** Creation date (stable across calls). */
66
- get createdAt(): Date;
67
- /** Attached agent runtime pod name, if any. */
68
- get attachedAgentPodName(): string | undefined;
69
- /** Attached agentspec ID (e.g., 'data-acquisition'), if any. */
70
- get attachedAgentSpecId(): string | undefined;
71
- /** Human-readable name of the attached agent runtime, if any. */
72
- get attachedAgentGivenName(): string | undefined;
73
- /** Whether an agent is currently attached to this project. */
74
- get hasAgent(): boolean;
75
- /** Mark this project as deleted. */
76
- markDeleted(): void;
77
- /** Whether this project has been deleted. */
78
- get isDeleted(): boolean;
79
- /**
80
- * Get project data in camelCase format.
81
- * @returns Project data with camelCase properties
82
- */
83
- toJSON(): ProjectJSON;
84
- /** Get raw space data as received from the API. */
85
- rawData(): SpaceData;
86
- /** String representation of the project. */
87
- toString(): string;
88
- private _checkDeleted;
89
- }
@@ -1,131 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- /**
6
- * Project domain model wrapping raw space data with project-specific accessors.
7
- *
8
- * @example
9
- * ```typescript
10
- * const projects = await client.getProjects();
11
- * const project = projects[0];
12
- * console.log(project.hasAgent); // false
13
- * await client.assignAgent(project.uid, 'my-agent-pod');
14
- * ```
15
- */
16
- export class ProjectDTO {
17
- _data;
18
- _deleted = false;
19
- _createdAt;
20
- constructor(data) {
21
- this._data = data;
22
- // Cache creation date at construction to ensure stable value
23
- this._createdAt = data.creation_ts_dt
24
- ? new Date(data.creation_ts_dt)
25
- : new Date();
26
- }
27
- /** Unique identifier for the project. */
28
- get uid() {
29
- this._checkDeleted();
30
- return this._data.uid;
31
- }
32
- /** Internal numeric/string ID from the backend. Falls back to UID when not present. SDK client methods accept `uid` directly. */
33
- get id() {
34
- this._checkDeleted();
35
- return this._data.id ?? this._data.uid;
36
- }
37
- /** URL-friendly handle. */
38
- get handle() {
39
- this._checkDeleted();
40
- return this._data.handle_s;
41
- }
42
- /** Project name. */
43
- get name() {
44
- this._checkDeleted();
45
- return this._data.name_t;
46
- }
47
- /** Project description. */
48
- get description() {
49
- this._checkDeleted();
50
- return this._data.description_t ?? '';
51
- }
52
- /** Space variant (should be 'project'). */
53
- get variant() {
54
- this._checkDeleted();
55
- return this._data.variant_s;
56
- }
57
- /** Whether the project is public. */
58
- get isPublic() {
59
- this._checkDeleted();
60
- return this._data.public_b ?? false;
61
- }
62
- /** Creation date (stable across calls). */
63
- get createdAt() {
64
- this._checkDeleted();
65
- return this._createdAt;
66
- }
67
- /** Attached agent runtime pod name, if any. */
68
- get attachedAgentPodName() {
69
- this._checkDeleted();
70
- return this._data.attached_agent_pod_name_s || undefined;
71
- }
72
- /** Attached agentspec ID (e.g., 'data-acquisition'), if any. */
73
- get attachedAgentSpecId() {
74
- this._checkDeleted();
75
- return this._data.attached_agent_spec_id_s || undefined;
76
- }
77
- /** Human-readable name of the attached agent runtime, if any. */
78
- get attachedAgentGivenName() {
79
- this._checkDeleted();
80
- return this._data.attached_agent_given_name_s || undefined;
81
- }
82
- /** Whether an agent is currently attached to this project. */
83
- get hasAgent() {
84
- this._checkDeleted();
85
- return !!this._data.attached_agent_pod_name_s;
86
- }
87
- /** Mark this project as deleted. */
88
- markDeleted() {
89
- this._deleted = true;
90
- }
91
- /** Whether this project has been deleted. */
92
- get isDeleted() {
93
- return this._deleted;
94
- }
95
- /**
96
- * Get project data in camelCase format.
97
- * @returns Project data with camelCase properties
98
- */
99
- toJSON() {
100
- this._checkDeleted();
101
- return {
102
- uid: this.uid,
103
- id: this.id,
104
- handle: this.handle,
105
- name: this.name,
106
- description: this.description,
107
- variant: this.variant,
108
- isPublic: this.isPublic,
109
- createdAt: this.createdAt.toISOString(),
110
- attachedAgentPodName: this.attachedAgentPodName ?? null,
111
- attachedAgentSpecId: this.attachedAgentSpecId ?? null,
112
- attachedAgentGivenName: this.attachedAgentGivenName ?? null,
113
- hasAgent: this.hasAgent,
114
- };
115
- }
116
- /** Get raw space data as received from the API. */
117
- rawData() {
118
- this._checkDeleted();
119
- return this._data;
120
- }
121
- /** String representation of the project. */
122
- toString() {
123
- this._checkDeleted();
124
- return `Project(${this._data.uid}, ${this._data.name_t})`;
125
- }
126
- _checkDeleted() {
127
- if (this._deleted) {
128
- throw new Error(`Project ${this._data.uid} has been deleted and no longer exists`);
129
- }
130
- }
131
- }
@@ -1,123 +0,0 @@
1
- import { Kernel } from '@jupyterlab/services';
2
- export declare const BACKWARDS_COMPATIBLE_KERNEL_TYPES_MAP: {
3
- default: IRuntimeType;
4
- snippet: IRuntimeType;
5
- notebook: IRuntimeType;
6
- cell: IRuntimeType;
7
- };
8
- /**
9
- * Error thrown when a runtime has been created
10
- * but it can ont be reached.
11
- */
12
- export declare class RuntimeUnreachable extends Error {
13
- name: string;
14
- }
15
- /**
16
- * Runtime location.
17
- */
18
- export type IRuntimeLocation = 'browser' | 'local' | string;
19
- /**
20
- * Runtime model.
21
- */
22
- export interface IRuntimeModel extends IRuntimePod, Kernel.IModel {
23
- }
24
- /**
25
- * Runtime pod.
26
- */
27
- export interface IRuntimePod {
28
- /**
29
- * Environment display name
30
- */
31
- environment_title: string;
32
- /**
33
- * Environment name
34
- */
35
- environment_name: string;
36
- /**
37
- * Runtime name
38
- */
39
- pod_name: string;
40
- /**
41
- * Runtime ingress URL
42
- */
43
- ingress: string;
44
- /**
45
- * Runtime user given name
46
- */
47
- given_name: string;
48
- /**
49
- * Runtime type
50
- */
51
- type: IRuntimeType;
52
- /**
53
- * Server authentication token
54
- */
55
- token: string;
56
- /**
57
- * Credits burning rate per second
58
- */
59
- burning_rate: number;
60
- /**
61
- * Kernel reservation ID
62
- */
63
- reservation_id?: string;
64
- /**
65
- * Runtime usage starting timestamp
66
- */
67
- started_at: string;
68
- /**
69
- * Runtime credits reservation expiration timestamp
70
- */
71
- expired_at?: string;
72
- }
73
- /**
74
- * Runtime description.
75
- */
76
- export interface IRuntimeDesc {
77
- /**
78
- * Runtime ID.
79
- */
80
- id?: string;
81
- /**
82
- * Runtime Kernel ID.
83
- */
84
- kernelId?: string;
85
- /**
86
- * Runtime name.
87
- */
88
- name: string;
89
- /**
90
- * Runtime language.
91
- */
92
- language: string;
93
- /**
94
- * Runtime location.
95
- */
96
- location: IRuntimeLocation;
97
- /**
98
- * Runtime display name.
99
- */
100
- displayName?: string;
101
- /**
102
- * Runtime parameters.
103
- */
104
- params?: Record<string, any>;
105
- /**
106
- * Runtime credits burning rate.
107
- */
108
- burningRate?: number;
109
- /**
110
- * Runtime Pod name (if applicable).
111
- */
112
- podName?: string;
113
- }
114
- /**
115
- * Runtime type.
116
- *
117
- * TODO refactor with type `IRuntimeLocation`
118
- */
119
- export type IRuntimeType = 'notebook' | 'cell';
120
- /**
121
- * Runtime optional capabilities.
122
- */
123
- export type IRuntimeCapabilities = 'user_storage';
@@ -1,18 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- export const BACKWARDS_COMPATIBLE_KERNEL_TYPES_MAP = {
6
- // Backwards compatible mapping.
7
- default: 'notebook',
8
- snippet: 'cell',
9
- notebook: 'notebook',
10
- cell: 'cell',
11
- };
12
- /**
13
- * Error thrown when a runtime has been created
14
- * but it can ont be reached.
15
- */
16
- export class RuntimeUnreachable extends Error {
17
- name = 'RuntimeUnreachable';
18
- }