@datalayer/core 1.0.24 → 1.1.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/README.md +35 -24
  2. package/lib/api/constants.d.ts +3 -0
  3. package/lib/api/constants.js +3 -0
  4. package/lib/api/index.d.ts +0 -8
  5. package/lib/api/index.js +0 -8
  6. package/lib/cli-login.js +167 -0
  7. package/lib/client/base.d.ts +0 -3
  8. package/lib/client/base.js +0 -2
  9. package/lib/client/index.d.ts +10 -98
  10. package/lib/client/index.js +12 -21
  11. package/lib/components/avatars/UserAvatar.d.ts +16 -0
  12. package/lib/components/avatars/UserAvatar.js +47 -0
  13. package/lib/components/avatars/index.d.ts +1 -0
  14. package/lib/components/avatars/index.js +1 -0
  15. package/lib/components/billing/BillableAccountSelect.js +4 -0
  16. package/lib/components/billing/index.js +4 -0
  17. package/lib/components/checkout/StripeCheckout.js +48 -2
  18. package/lib/components/context/index.d.ts +0 -1
  19. package/lib/components/context/index.js +0 -1
  20. package/lib/components/display/DisplayHandle.d.ts +12 -0
  21. package/lib/components/display/DisplayHandle.js +11 -0
  22. package/lib/components/display/LiveRelativeTime.d.ts +1 -10
  23. package/lib/components/display/LiveRelativeTime.js +5 -16
  24. package/lib/components/display/index.d.ts +1 -0
  25. package/lib/components/display/index.js +1 -0
  26. package/lib/components/flashes/index.d.ts +0 -1
  27. package/lib/components/flashes/index.js +0 -1
  28. package/lib/components/index.d.ts +2 -0
  29. package/lib/components/index.js +2 -0
  30. package/lib/components/principal/Principal.d.ts +7 -0
  31. package/lib/components/principal/Principal.js +153 -16
  32. package/lib/components/principal/PrincipalAvatar.d.ts +1 -1
  33. package/lib/components/principal/PrincipalAvatar.js +4 -28
  34. package/lib/components/principal/PrincipalBadge.js +4 -4
  35. package/lib/components/principal/PrincipalDetailsOverlay.d.ts +4 -2
  36. package/lib/components/principal/PrincipalDetailsOverlay.js +27 -7
  37. package/lib/components/principal/PrincipalSwitcherMenu.js +76 -39
  38. package/lib/components/progress/index.d.ts +0 -1
  39. package/lib/components/progress/index.js +0 -1
  40. package/lib/components/sharing/ShareAccessComponent.d.ts +3 -2
  41. package/lib/components/sharing/ShareAccessComponent.js +180 -133
  42. package/lib/components/sharing/SharingEditor.js +4 -0
  43. package/lib/components/snippets/index.d.ts +1 -1
  44. package/lib/components/snippets/index.js +1 -1
  45. package/lib/components/students/StudentResultCircle.d.ts +21 -0
  46. package/lib/components/students/StudentResultCircle.js +59 -0
  47. package/lib/components/students/index.d.ts +1 -1
  48. package/lib/components/students/index.js +1 -1
  49. package/lib/components/time/LiveRelativeTime.d.ts +14 -0
  50. package/lib/components/time/LiveRelativeTime.js +43 -0
  51. package/lib/components/time/index.d.ts +1 -0
  52. package/lib/components/time/index.js +9 -0
  53. package/lib/components/timeline/Timeline.d.ts +20 -0
  54. package/lib/components/timeline/Timeline.js +90 -0
  55. package/lib/components/timeline/index.d.ts +1 -0
  56. package/lib/components/timeline/index.js +9 -0
  57. package/lib/components/tokens/index.d.ts +1 -1
  58. package/lib/components/tokens/index.js +1 -1
  59. package/lib/components/toolbars/index.d.ts +1 -3
  60. package/lib/components/toolbars/index.js +1 -3
  61. package/lib/hooks/cacheConverters.d.ts +21 -0
  62. package/lib/hooks/cacheConverters.js +110 -0
  63. package/lib/hooks/index.d.ts +0 -2
  64. package/lib/hooks/index.js +0 -2
  65. package/lib/hooks/useCache.d.ts +65 -36
  66. package/lib/hooks/useCache.js +424 -65
  67. package/lib/hooks/useDatalayer.js +3 -1
  68. package/lib/hooks/useIAM.js +1 -3
  69. package/lib/hooks/useLocationHandles.d.ts +3 -1
  70. package/lib/hooks/useLocationHandles.js +2 -1
  71. package/lib/hooks/usePrincipalStore.d.ts +2 -2
  72. package/lib/hooks/usePrincipalStore.js +97 -14
  73. package/lib/hooks/useProjectStore.d.ts +1 -1
  74. package/lib/hooks/useSelectedPrincipal.js +1 -1
  75. package/lib/hooks/useUser.js +19 -2
  76. package/lib/index.d.ts +1 -6
  77. package/lib/index.js +1 -13
  78. package/lib/main.js +3 -3
  79. package/lib/mocks/index.js +1 -1
  80. package/lib/mocks/models/index.d.ts +0 -1
  81. package/lib/mocks/models/index.js +0 -1
  82. package/lib/models/Datasource.d.ts +2 -2
  83. package/lib/models/IAM.d.ts +1 -1
  84. package/lib/models/IAMToken.d.ts +1 -1
  85. package/lib/models/School.d.ts +12 -3
  86. package/lib/models/Secret.d.ts +2 -2
  87. package/lib/models/Student.d.ts +13 -3
  88. package/lib/models/Usage.d.ts +11 -1
  89. package/lib/models/UserDTO.d.ts +2 -2
  90. package/lib/models/index.d.ts +0 -30
  91. package/lib/models/index.js +0 -30
  92. package/lib/routes/index.d.ts +1 -0
  93. package/lib/routes/index.js +1 -0
  94. package/lib/routes/publicPaths.d.ts +23 -0
  95. package/lib/routes/publicPaths.js +74 -0
  96. package/lib/state/State.d.ts +0 -12
  97. package/lib/state/State.js +0 -12
  98. package/lib/state/substates/CoreState.js +1 -1
  99. package/lib/state/substates/LayoutState.d.ts +12 -1
  100. package/lib/state/substates/index.d.ts +0 -7
  101. package/lib/state/substates/index.js +0 -7
  102. package/lib/utils/Date.d.ts +7 -0
  103. package/lib/utils/Date.js +43 -10
  104. package/lib/utils/Handles.js +3 -1
  105. package/lib/utils/index.d.ts +1 -1
  106. package/lib/utils/index.js +1 -1
  107. package/lib/views/api-keys/APIKeyEdit.d.ts +8 -0
  108. package/lib/views/{iam-tokens/IAMTokenEdit.js → api-keys/APIKeyEdit.js} +31 -31
  109. package/lib/views/api-keys/APIKeyNew.d.ts +8 -0
  110. package/lib/views/api-keys/APIKeyNew.js +143 -0
  111. package/lib/views/api-keys/APIKeys.d.ts +12 -0
  112. package/lib/views/api-keys/APIKeys.js +128 -0
  113. package/lib/views/api-keys/APIKeysStandalone.d.ts +2 -0
  114. package/lib/views/api-keys/APIKeysStandalone.js +117 -0
  115. package/lib/views/api-keys/index.d.ts +3 -0
  116. package/lib/{mocks/jupyter → views/api-keys}/index.js +3 -1
  117. package/lib/views/datasources/DatasourceDetail.d.ts +1 -1
  118. package/lib/views/datasources/DatasourceNew.d.ts +1 -1
  119. package/lib/views/datasources/Datasources.d.ts +1 -1
  120. package/lib/views/datasources/Datasources.js +12 -3
  121. package/lib/views/iam/SignInSimple.d.ts +37 -1
  122. package/lib/views/iam/SignInSimple.js +110 -12
  123. package/package.json +5 -3
  124. package/lib/App.css +0 -47
  125. package/lib/App.d.ts +0 -3
  126. package/lib/App.js +0 -21
  127. package/lib/api/runtimes/checkpoints.d.ts +0 -122
  128. package/lib/api/runtimes/checkpoints.js +0 -118
  129. package/lib/api/runtimes/environments.d.ts +0 -9
  130. package/lib/api/runtimes/environments.js +0 -29
  131. package/lib/api/runtimes/healthz.d.ts +0 -15
  132. package/lib/api/runtimes/healthz.js +0 -44
  133. package/lib/api/runtimes/index.d.ts +0 -12
  134. package/lib/api/runtimes/index.js +0 -16
  135. package/lib/api/runtimes/runtimes.d.ts +0 -138
  136. package/lib/api/runtimes/runtimes.js +0 -230
  137. package/lib/api/runtimes/snapshots.d.ts +0 -38
  138. package/lib/api/runtimes/snapshots.js +0 -82
  139. package/lib/api/spacer/documents.d.ts +0 -12
  140. package/lib/api/spacer/documents.js +0 -43
  141. package/lib/api/spacer/healthz.d.ts +0 -15
  142. package/lib/api/spacer/healthz.js +0 -44
  143. package/lib/api/spacer/index.d.ts +0 -15
  144. package/lib/api/spacer/index.js +0 -19
  145. package/lib/api/spacer/items.d.ts +0 -25
  146. package/lib/api/spacer/items.js +0 -55
  147. package/lib/api/spacer/lexicals.d.ts +0 -34
  148. package/lib/api/spacer/lexicals.js +0 -89
  149. package/lib/api/spacer/notebooks.d.ts +0 -34
  150. package/lib/api/spacer/notebooks.js +0 -89
  151. package/lib/api/spacer/spaces.d.ts +0 -84
  152. package/lib/api/spacer/spaces.js +0 -170
  153. package/lib/api/spacer/users.d.ts +0 -9
  154. package/lib/api/spacer/users.js +0 -29
  155. package/lib/client/mixins/RuntimesMixin.d.ts +0 -93
  156. package/lib/client/mixins/RuntimesMixin.js +0 -229
  157. package/lib/client/mixins/SpacerMixin.d.ts +0 -210
  158. package/lib/client/mixins/SpacerMixin.js +0 -615
  159. package/lib/client/utils/spacerUtils.d.ts +0 -18
  160. package/lib/client/utils/spacerUtils.js +0 -32
  161. package/lib/collaboration/DatalayerCollaboration.d.ts +0 -13
  162. package/lib/collaboration/DatalayerCollaboration.js +0 -28
  163. package/lib/collaboration/DatalayerCollaborationProvider.d.ts +0 -60
  164. package/lib/collaboration/DatalayerCollaborationProvider.js +0 -163
  165. package/lib/collaboration/index.d.ts +0 -2
  166. package/lib/collaboration/index.js +0 -6
  167. package/lib/components/context/SpaceSelect.d.ts +0 -2
  168. package/lib/components/context/SpaceSelect.js +0 -42
  169. package/lib/components/flashes/FlashDisclaimer.d.ts +0 -2
  170. package/lib/components/flashes/FlashDisclaimer.js +0 -17
  171. package/lib/components/icons/ArtifactIcon.d.ts +0 -10
  172. package/lib/components/icons/ArtifactIcon.js +0 -58
  173. package/lib/components/icons/index.d.ts +0 -1
  174. package/lib/components/icons/index.js +0 -5
  175. package/lib/components/nbgrader/NbGradesDetails.d.ts +0 -5
  176. package/lib/components/nbgrader/NbGradesDetails.js +0 -14
  177. package/lib/components/nbgrader/index.d.ts +0 -1
  178. package/lib/components/nbgrader/index.js +0 -5
  179. package/lib/components/progress/CreditsIndicator.d.ts +0 -33
  180. package/lib/components/progress/CreditsIndicator.js +0 -23
  181. package/lib/components/runtimes/RuntimeCellVariables.d.ts +0 -39
  182. package/lib/components/runtimes/RuntimeCellVariables.js +0 -172
  183. package/lib/components/runtimes/RuntimeCellVariablesDialog.d.ts +0 -37
  184. package/lib/components/runtimes/RuntimeCellVariablesDialog.js +0 -101
  185. package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +0 -57
  186. package/lib/components/runtimes/RuntimeLauncherDialog.js +0 -275
  187. package/lib/components/runtimes/RuntimePickerBase.d.ts +0 -69
  188. package/lib/components/runtimes/RuntimePickerBase.js +0 -122
  189. package/lib/components/runtimes/RuntimePickerCell.d.ts +0 -34
  190. package/lib/components/runtimes/RuntimePickerCell.js +0 -104
  191. package/lib/components/runtimes/RuntimePickerNotebook.d.ts +0 -42
  192. package/lib/components/runtimes/RuntimePickerNotebook.js +0 -232
  193. package/lib/components/runtimes/RuntimeReservationControl.d.ts +0 -47
  194. package/lib/components/runtimes/RuntimeReservationControl.js +0 -42
  195. package/lib/components/runtimes/RuntimeSimplePicker.d.ts +0 -38
  196. package/lib/components/runtimes/RuntimeSimplePicker.js +0 -155
  197. package/lib/components/runtimes/RuntimeTransfer.d.ts +0 -16
  198. package/lib/components/runtimes/RuntimeTransfer.js +0 -5
  199. package/lib/components/runtimes/RuntimeUtils.d.ts +0 -17
  200. package/lib/components/runtimes/RuntimeUtils.js +0 -178
  201. package/lib/components/runtimes/RuntimeVariables.d.ts +0 -38
  202. package/lib/components/runtimes/RuntimeVariables.js +0 -75
  203. package/lib/components/runtimes/index.d.ts +0 -11
  204. package/lib/components/runtimes/index.js +0 -15
  205. package/lib/components/snapshots/SandboxSnapshotMenu.d.ts +0 -33
  206. package/lib/components/snapshots/SandboxSnapshotMenu.js +0 -169
  207. package/lib/components/snapshots/index.d.ts +0 -1
  208. package/lib/components/snapshots/index.js +0 -5
  209. package/lib/components/snippets/SnippetDialog.d.ts +0 -42
  210. package/lib/components/snippets/SnippetDialog.js +0 -42
  211. package/lib/components/students/StudentItemStatus.d.ts +0 -7
  212. package/lib/components/students/StudentItemStatus.js +0 -66
  213. package/lib/components/tokens/SpaceVariantToken.d.ts +0 -5
  214. package/lib/components/tokens/SpaceVariantToken.js +0 -23
  215. package/lib/components/toolbars/AssignmentEditorToolbar.d.ts +0 -4
  216. package/lib/components/toolbars/AssignmentEditorToolbar.js +0 -18
  217. package/lib/components/toolbars/DocumentEditorToolbar.d.ts +0 -2
  218. package/lib/components/toolbars/DocumentEditorToolbar.js +0 -12
  219. package/lib/components/toolbars/NotebookEditorToolbar.d.ts +0 -29
  220. package/lib/components/toolbars/NotebookEditorToolbar.js +0 -30
  221. package/lib/examples/CellExample.d.ts +0 -6
  222. package/lib/examples/CellExample.js +0 -20
  223. package/lib/examples/NotebookExample.d.ts +0 -6
  224. package/lib/examples/NotebookExample.js +0 -19
  225. package/lib/examples/lexical-theme.css +0 -436
  226. package/lib/examples/notebooks/IPyWidgetsExample.ipynb.json +0 -101
  227. package/lib/examples/notebooks/IPyWidgetsExampleWithState.ipynb.json +0 -112
  228. package/lib/examples/notebooks/Lite.ipynb.json +0 -128
  229. package/lib/examples/notebooks/Matplotlib.ipynb.json +0 -137
  230. package/lib/examples/notebooks/NotebookExample1.ipynb.json +0 -126
  231. package/lib/examples/notebooks/NotebookExample2.ipynb.json +0 -48
  232. package/lib/examples/notebooks/NotebookOutputs.ipynb.json +0 -49
  233. package/lib/examples/notebooks/NotebookToCExample.ipynb.json +0 -102
  234. package/lib/examples/notebooks/PyGWalker.ipynb.json +0 -55
  235. package/lib/hooks/useCellOutputshot.d.ts +0 -4
  236. package/lib/hooks/useCellOutputshot.js +0 -25
  237. package/lib/hooks/useProjects.d.ts +0 -628
  238. package/lib/hooks/useProjects.js +0 -190
  239. package/lib/hooks/useRuntimes.d.ts +0 -5
  240. package/lib/hooks/useRuntimes.js +0 -34
  241. package/lib/mocks/models/CourseMock.d.ts +0 -6
  242. package/lib/mocks/models/CourseMock.js +0 -29
  243. package/lib/mocks/models/SpaceMock.d.ts +0 -6
  244. package/lib/mocks/models/SpaceMock.js +0 -25
  245. package/lib/models/Assignment.d.ts +0 -7
  246. package/lib/models/Assignment.js +0 -5
  247. package/lib/models/Cell.d.ts +0 -8
  248. package/lib/models/Cell.js +0 -5
  249. package/lib/models/CodeBlock.d.ts +0 -10
  250. package/lib/models/CodeBlock.js +0 -5
  251. package/lib/models/CodeSandboxSnapshot.d.ts +0 -92
  252. package/lib/models/CodeSandboxSnapshot.js +0 -13
  253. package/lib/models/CodeSandboxSnapshotDTO.d.ts +0 -173
  254. package/lib/models/CodeSandboxSnapshotDTO.js +0 -139
  255. package/lib/models/CodefeedBlocks.d.ts +0 -7
  256. package/lib/models/CodefeedBlocks.js +0 -5
  257. package/lib/models/Content.d.ts +0 -5
  258. package/lib/models/Content.js +0 -5
  259. package/lib/models/Course.d.ts +0 -17
  260. package/lib/models/Course.js +0 -5
  261. package/lib/models/Dataset.d.ts +0 -16
  262. package/lib/models/Dataset.js +0 -5
  263. package/lib/models/Document.d.ts +0 -8
  264. package/lib/models/Document.js +0 -5
  265. package/lib/models/Environment.d.ts +0 -86
  266. package/lib/models/Environment.js +0 -5
  267. package/lib/models/EnvironmentDTO.d.ts +0 -125
  268. package/lib/models/EnvironmentDTO.js +0 -88
  269. package/lib/models/Exercise.d.ts +0 -16
  270. package/lib/models/Exercise.js +0 -5
  271. package/lib/models/Item.d.ts +0 -20
  272. package/lib/models/Item.js +0 -5
  273. package/lib/models/ItemDTO.d.ts +0 -74
  274. package/lib/models/ItemDTO.js +0 -186
  275. package/lib/models/ItemType.d.ts +0 -2
  276. package/lib/models/ItemType.js +0 -5
  277. package/lib/models/Lesson.d.ts +0 -5
  278. package/lib/models/Lesson.js +0 -5
  279. package/lib/models/LexicalDTO.d.ts +0 -155
  280. package/lib/models/LexicalDTO.js +0 -157
  281. package/lib/models/Library.d.ts +0 -10
  282. package/lib/models/Library.js +0 -5
  283. package/lib/models/Notebook.d.ts +0 -11
  284. package/lib/models/Notebook.js +0 -5
  285. package/lib/models/NotebookDTO.d.ts +0 -96
  286. package/lib/models/NotebookDTO.js +0 -153
  287. package/lib/models/Page.d.ts +0 -41
  288. package/lib/models/Page.js +0 -25
  289. package/lib/models/PageTag.d.ts +0 -19
  290. package/lib/models/PageTag.js +0 -94
  291. package/lib/models/ProjectDTO.d.ts +0 -89
  292. package/lib/models/ProjectDTO.js +0 -131
  293. package/lib/models/Runtime.d.ts +0 -123
  294. package/lib/models/Runtime.js +0 -18
  295. package/lib/models/RuntimeDTO.d.ts +0 -191
  296. package/lib/models/RuntimeDTO.js +0 -204
  297. package/lib/models/Space.d.ts +0 -35
  298. package/lib/models/Space.js +0 -66
  299. package/lib/models/SpaceDTO.d.ts +0 -334
  300. package/lib/models/SpaceDTO.js +0 -244
  301. package/lib/models/SpaceItem.d.ts +0 -10
  302. package/lib/models/SpaceItem.js +0 -5
  303. package/lib/models/SpaceMember.d.ts +0 -6
  304. package/lib/models/SpaceMember.js +0 -5
  305. package/lib/models/StudentItem.d.ts +0 -21
  306. package/lib/models/StudentItem.js +0 -5
  307. package/lib/services/DatalayerServiceManager.d.ts +0 -22
  308. package/lib/services/DatalayerServiceManager.js +0 -69
  309. package/lib/services/index.d.ts +0 -4
  310. package/lib/services/index.js +0 -7
  311. package/lib/services/reconnectToRuntime.d.ts +0 -32
  312. package/lib/services/reconnectToRuntime.js +0 -59
  313. package/lib/state/substates/CellState.d.ts +0 -12
  314. package/lib/state/substates/CellState.js +0 -22
  315. package/lib/state/substates/DocumentState.d.ts +0 -10
  316. package/lib/state/substates/DocumentState.js +0 -14
  317. package/lib/state/substates/GradeState.d.ts +0 -10
  318. package/lib/state/substates/GradeState.js +0 -14
  319. package/lib/state/substates/JupyterLabState.d.ts +0 -16
  320. package/lib/state/substates/JupyterLabState.js +0 -17
  321. package/lib/state/substates/NbformatState.d.ts +0 -13
  322. package/lib/state/substates/NbformatState.js +0 -16
  323. package/lib/state/substates/RuntimesState.d.ts +0 -79
  324. package/lib/state/substates/RuntimesState.js +0 -180
  325. package/lib/state/substates/SpaceState.d.ts +0 -11
  326. package/lib/state/substates/SpaceState.js +0 -16
  327. package/lib/stateful/index.d.ts +0 -2
  328. package/lib/stateful/index.js +0 -6
  329. package/lib/stateful/jupyter/exec/Python.d.ts +0 -5
  330. package/lib/stateful/jupyter/exec/Python.js +0 -100
  331. package/lib/stateful/jupyter/exec/Snippets.d.ts +0 -105
  332. package/lib/stateful/jupyter/exec/Snippets.js +0 -101
  333. package/lib/stateful/jupyter/exec/index.d.ts +0 -2
  334. package/lib/stateful/jupyter/exec/index.js +0 -6
  335. package/lib/stateful/jupyter/index.d.ts +0 -2
  336. package/lib/stateful/jupyter/index.js +0 -6
  337. package/lib/stateful/jupyter/kernelsHandler.d.ts +0 -8
  338. package/lib/stateful/jupyter/kernelsHandler.js +0 -39
  339. package/lib/stateful/runtimes/actions.d.ts +0 -102
  340. package/lib/stateful/runtimes/actions.js +0 -249
  341. package/lib/stateful/runtimes/apis.d.ts +0 -273
  342. package/lib/stateful/runtimes/apis.js +0 -5
  343. package/lib/stateful/runtimes/index.d.ts +0 -5
  344. package/lib/stateful/runtimes/index.js +0 -9
  345. package/lib/stateful/runtimes/settings.d.ts +0 -15
  346. package/lib/stateful/runtimes/settings.js +0 -31
  347. package/lib/stateful/runtimes/snapshots.d.ts +0 -25
  348. package/lib/stateful/runtimes/snapshots.js +0 -150
  349. package/lib/stateful/runtimes/utils.d.ts +0 -7
  350. package/lib/stateful/runtimes/utils.js +0 -14
  351. package/lib/utils/Cells.d.ts +0 -2
  352. package/lib/utils/Cells.js +0 -28
  353. package/lib/views/iam-tokens/IAMTokenEdit.d.ts +0 -6
  354. package/lib/views/iam-tokens/IAMTokenNew.d.ts +0 -8
  355. package/lib/views/iam-tokens/IAMTokenNew.js +0 -118
  356. package/lib/views/iam-tokens/IAMTokens.d.ts +0 -12
  357. package/lib/views/iam-tokens/IAMTokens.js +0 -87
  358. package/lib/views/iam-tokens/Tokens.d.ts +0 -2
  359. package/lib/views/iam-tokens/Tokens.js +0 -85
  360. package/lib/views/iam-tokens/index.d.ts +0 -3
  361. package/lib/views/iam-tokens/index.js +0 -7
  362. /package/lib/{mocks/jupyter/index.d.ts → cli-login.d.ts} +0 -0
  363. /package/lib/utils/{logger.d.ts → Logger.d.ts} +0 -0
  364. /package/lib/utils/{logger.js → Logger.js} +0 -0
@@ -1,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 agent spec 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 agent spec 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
- }