@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,334 +0,0 @@
1
- import type { DatalayerClient } from '../index';
2
- import { NotebookDTO, type NotebookJSON } from './NotebookDTO';
3
- import { NotebookData } from './NotebookDTO';
4
- import { LexicalDTO, type LexicalJSON } from './LexicalDTO';
5
- /**
6
- * Represents a workspace or project space in Datalayer
7
- * @interface SpaceData
8
- */
9
- export interface SpaceData {
10
- uid: string;
11
- id?: string;
12
- name_t: string;
13
- handle_s: string;
14
- variant_s: string;
15
- description_t: string;
16
- tags_ss?: string[];
17
- members?: any[];
18
- items?: any[];
19
- public_b?: boolean;
20
- creation_ts_dt?: string;
21
- attached_agent_pod_name_s?: string;
22
- attached_agent_spec_id_s?: string;
23
- attached_agent_given_name_s?: string;
24
- shared_owner_user_uids_ss?: string[];
25
- shared_ower_user_uids_ss?: string[];
26
- }
27
- /**
28
- * Stable public interface for Space data.
29
- * This is the contract that Client consumers can rely on.
30
- * The raw API may change, but this interface remains stable.
31
- */
32
- export interface SpaceJSON {
33
- /** ulid for the space */
34
- uid: string;
35
- /** Name of the space */
36
- name: string;
37
- /** Handle for the space */
38
- handle: string;
39
- /** Variant of the space */
40
- variant: string;
41
- /** Description of the space */
42
- description: string;
43
- /** Items contained in the space (as JSON) */
44
- items: Array<NotebookJSON | LexicalJSON>;
45
- /** Owner user UIDs for this space */
46
- ownerUserUids?: string[];
47
- }
48
- /**
49
- * Space domain model that wraps API responses with convenient methods.
50
- * Provides workspace management with data refresh and content creation operations.
51
- *
52
- * @example
53
- * ```typescript
54
- * const space = spaces[0];
55
- * const items = await space.getItems();
56
- * const notebook = await space.createNotebook({ name: 'Analysis' });
57
- * ```
58
- */
59
- export declare class SpaceDTO {
60
- protected _data: SpaceData;
61
- private _client;
62
- private _items;
63
- private _deleted;
64
- /**
65
- * Create a Space instance.
66
- *
67
- * @param data - Space data from API
68
- * @param client - Client instance
69
- */
70
- constructor(data: SpaceData, client: DatalayerClient);
71
- /**
72
- * Check if this space has been deleted and throw error if so.
73
- * @throws Error if deleted
74
- */
75
- private _checkDeleted;
76
- /**
77
- * Refresh space data from the API by fetching user's spaces.
78
- */
79
- refresh(): Promise<void>;
80
- /** Unique identifier for the space. */
81
- get uid(): string;
82
- /** URL-friendly handle for the space. */
83
- get handle(): string;
84
- /** Space variant type. */
85
- get variant(): string;
86
- /**
87
- * The name of the space.
88
- */
89
- get name(): string;
90
- /**
91
- * The description of the space.
92
- */
93
- get description(): string;
94
- /**
95
- * Helper method to create items in this space.
96
- *
97
- * @param itemType - Type of item to create
98
- * @param data - Creation configuration
99
- * @returns Created model instance
100
- * @internal
101
- */
102
- private _createItem;
103
- /**
104
- * Get all items in this space as model instances.
105
- *
106
- * @returns Array of Notebook and Lexical model instances
107
- */
108
- getItems(): Promise<(NotebookDTO | LexicalDTO)[]>;
109
- /**
110
- * Create a new notebook in this space.
111
- *
112
- * @param data - Notebook creation configuration
113
- * @returns Created Notebook instance
114
- */
115
- createNotebook(data: {
116
- name: string;
117
- description: string;
118
- file?: File | Blob;
119
- }): Promise<NotebookDTO>;
120
- /**
121
- * Create a new lexical document in this space.
122
- *
123
- * @param data - Lexical creation configuration
124
- * @returns Created Lexical instance
125
- */
126
- createLexical(data: {
127
- name: string;
128
- description: string;
129
- file?: File | Blob;
130
- }): Promise<LexicalDTO>;
131
- /**
132
- * Get raw space data object.
133
- * Returns cached data without refreshing.
134
- *
135
- * @returns Raw space data object
136
- */
137
- /**
138
- * Get space data in camelCase format.
139
- * Returns only the core fields that consumers need.
140
- * This provides a stable interface regardless of API changes.
141
- *
142
- * @returns Core space data with camelCase properties
143
- */
144
- toJSON(): SpaceJSON;
145
- /**
146
- * Get the raw space data exactly as received from the API.
147
- * This preserves the original snake_case naming from the API response.
148
- *
149
- * @returns Raw space data from API
150
- */
151
- rawData(): SpaceData;
152
- /** String representation of the space. */
153
- toString(): string;
154
- }
155
- /**
156
- * Request payload for creating a new space
157
- * @interface CreateSpaceRequest
158
- */
159
- export interface CreateSpaceRequest {
160
- name: string;
161
- description: string;
162
- variant: string;
163
- spaceHandle: string;
164
- organizationId: string;
165
- seedSpaceId: string;
166
- public: boolean;
167
- }
168
- /**
169
- * Response from getting a collaboration session ID
170
- * @interface CollaborationSessionResponse
171
- */
172
- export interface CollaborationSessionResponse {
173
- success: boolean;
174
- sessionId?: string;
175
- error?: string;
176
- }
177
- /**
178
- * Response from creating a space
179
- * @interface CreateSpaceResponse
180
- */
181
- export interface CreateSpaceResponse {
182
- success: boolean;
183
- message: string;
184
- space?: SpaceData;
185
- }
186
- /**
187
- * Request payload for creating a new notebook (multipart/form-data)
188
- * @interface CreateNotebookRequest
189
- */
190
- export interface CreateNotebookRequest {
191
- spaceId: string;
192
- notebookType: string;
193
- name: string;
194
- description: string;
195
- file?: File | Blob;
196
- }
197
- /**
198
- * Response from creating a notebook
199
- * @interface CreateNotebookResponse
200
- */
201
- export interface CreateNotebookResponse {
202
- success: boolean;
203
- message: string;
204
- notebook?: NotebookData;
205
- }
206
- /**
207
- * Response from getting a notebook
208
- * @interface GetNotebookResponse
209
- */
210
- export interface GetNotebookResponse {
211
- success: boolean;
212
- message: string;
213
- notebook?: NotebookData;
214
- }
215
- /**
216
- * Request payload for updating a notebook
217
- * @interface UpdateNotebookRequest
218
- */
219
- export interface UpdateNotebookRequest {
220
- name?: string;
221
- description?: string;
222
- }
223
- /**
224
- * Response from updating a notebook
225
- * @interface UpdateNotebookResponse
226
- */
227
- export interface UpdateNotebookResponse {
228
- success: boolean;
229
- message: string;
230
- notebook?: NotebookData;
231
- }
232
- /**
233
- * Represents an item within a space
234
- * @interface SpaceItem
235
- */
236
- export interface SpaceItem {
237
- id: string;
238
- type_s: 'notebook' | 'lexical';
239
- space_id: string;
240
- item_id: string;
241
- name: string;
242
- created_at: string;
243
- updated_at?: string;
244
- }
245
- /**
246
- * Response from getting space items
247
- * @interface GetSpaceItemsResponse
248
- */
249
- export interface GetSpaceItemsResponse {
250
- success: boolean;
251
- message: string;
252
- items: SpaceItem[];
253
- }
254
- /**
255
- * Response from deleting a space item
256
- * @interface DeleteSpaceItemResponse
257
- */
258
- export interface DeleteSpaceItemResponse {
259
- success: boolean;
260
- message: string;
261
- }
262
- /**
263
- * Response from getting a single space item
264
- * @interface GetSpaceItemResponse
265
- */
266
- export interface GetSpaceItemResponse {
267
- success: boolean;
268
- message: string;
269
- item?: any;
270
- }
271
- /**
272
- * Response from getting spaces for a user
273
- * @interface SpacesForUserResponse
274
- */
275
- export interface SpacesForUserResponse {
276
- success: boolean;
277
- message: string;
278
- spaces: SpaceData[];
279
- }
280
- /**
281
- * Request payload for updating a space.
282
- * Supports arbitrary Solr fields via index signature.
283
- * @interface UpdateSpaceRequest
284
- */
285
- export interface UpdateSpaceRequest {
286
- name?: string;
287
- description?: string;
288
- [key: string]: unknown;
289
- }
290
- /**
291
- * Response from getting a space by ID
292
- * @interface GetSpaceResponse
293
- */
294
- export interface GetSpaceResponse {
295
- success: boolean;
296
- message: string;
297
- space?: SpaceData;
298
- }
299
- /**
300
- * Response from updating a space
301
- * @interface UpdateSpaceResponse
302
- */
303
- export interface UpdateSpaceResponse {
304
- success: boolean;
305
- message: string;
306
- space?: SpaceData;
307
- }
308
- /**
309
- * Response from deleting a space
310
- * @interface DeleteSpaceResponse
311
- */
312
- export interface DeleteSpaceResponse {
313
- success: boolean;
314
- message: string;
315
- }
316
- /**
317
- * Response from getting default items for a space
318
- * @interface GetSpaceDefaultItemsResponse
319
- */
320
- export interface GetSpaceDefaultItemsResponse {
321
- success: boolean;
322
- message: string;
323
- default_notebook_uid: string | null;
324
- default_document_uid: string | null;
325
- }
326
- /**
327
- * Response from getting spaces by type
328
- * @interface GetSpacesByTypeResponse
329
- */
330
- export interface GetSpacesByTypeResponse {
331
- success: boolean;
332
- message: string;
333
- spaces: SpaceData[];
334
- }
@@ -1,244 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- /**
6
- * Space domain model for the Datalayer Client.
7
- *
8
- * @module models/SpaceDTO
9
- */
10
- import * as users from '../api/spacer/users.js';
11
- import * as items from '../api/spacer/items.js';
12
- import * as notebooks from '../api/spacer/notebooks.js';
13
- import * as lexicals from '../api/spacer/lexicals.js';
14
- import { NotebookDTO } from './NotebookDTO.js';
15
- import { LexicalDTO } from './LexicalDTO.js';
16
- import { ItemTypes } from '../client/constants.js';
17
- import { convertSpaceItemsToModels } from '../client/utils/spacerUtils.js';
18
- import { validateJSON } from '../api/utils/validation.js';
19
- /**
20
- * Space domain model that wraps API responses with convenient methods.
21
- * Provides workspace management with data refresh and content creation operations.
22
- *
23
- * @example
24
- * ```typescript
25
- * const space = spaces[0];
26
- * const items = await space.getItems();
27
- * const notebook = await space.createNotebook({ name: 'Analysis' });
28
- * ```
29
- */
30
- export class SpaceDTO {
31
- _data;
32
- _client;
33
- _items = null;
34
- _deleted = false;
35
- /**
36
- * Create a Space instance.
37
- *
38
- * @param data - Space data from API
39
- * @param client - Client instance
40
- */
41
- constructor(data, client) {
42
- this._data = data;
43
- this._client = client;
44
- }
45
- // ========================================================================
46
- // Helper Methods
47
- // ========================================================================
48
- /**
49
- * Check if this space has been deleted and throw error if so.
50
- * @throws Error if deleted
51
- */
52
- _checkDeleted() {
53
- if (this._deleted) {
54
- throw new Error(`Space ${this._data.uid} has been deleted and no longer exists`);
55
- }
56
- }
57
- /**
58
- * Refresh space data from the API by fetching user's spaces.
59
- */
60
- async refresh() {
61
- const token = this._client.getToken();
62
- const spacerRunUrl = this._client.getSpacerRunUrl();
63
- const response = await users.getMySpaces(token, spacerRunUrl);
64
- const freshSpace = response.spaces.find(s => s.uid === this.uid);
65
- if (freshSpace) {
66
- this._data = freshSpace;
67
- }
68
- }
69
- // ========================================================================
70
- // Static Properties (set at creation, never change)
71
- // ========================================================================
72
- /** Unique identifier for the space. */
73
- get uid() {
74
- this._checkDeleted();
75
- return this._data.uid;
76
- }
77
- /** URL-friendly handle for the space. */
78
- get handle() {
79
- this._checkDeleted();
80
- return this._data.handle_s;
81
- }
82
- /** Space variant type. */
83
- get variant() {
84
- this._checkDeleted();
85
- return this._data.variant_s;
86
- }
87
- /**
88
- * The name of the space.
89
- */
90
- get name() {
91
- return this._data.name_t;
92
- }
93
- /**
94
- * The description of the space.
95
- */
96
- get description() {
97
- return this._data.description_t;
98
- }
99
- // ========================================================================
100
- // Space-specific Methods
101
- // ========================================================================
102
- /**
103
- * Helper method to create items in this space.
104
- *
105
- * @param itemType - Type of item to create
106
- * @param data - Creation configuration
107
- * @returns Created model instance
108
- * @internal
109
- */
110
- async _createItem(data) {
111
- this._checkDeleted();
112
- // Get necessary configuration from Client
113
- const token = this._client.getToken();
114
- const spacerRunUrl = this._client.getSpacerRunUrl();
115
- if (data.type === ItemTypes.NOTEBOOK) {
116
- const requestData = {
117
- spaceId: this.uid,
118
- name: data.name,
119
- description: data.description,
120
- notebookType: data.type,
121
- file: data.file,
122
- };
123
- const response = await notebooks.createNotebook(token, requestData, spacerRunUrl);
124
- if (!response.notebook) {
125
- throw new Error('Failed to create notebook: No notebook returned');
126
- }
127
- else {
128
- return new NotebookDTO(response.notebook, this._client);
129
- }
130
- }
131
- else if (data.type === ItemTypes.LEXICAL) {
132
- const requestData = {
133
- spaceId: this.uid,
134
- name: data.name,
135
- description: data.description,
136
- documentType: data.type,
137
- file: data.file,
138
- };
139
- const response = await lexicals.createLexical(token, requestData, spacerRunUrl);
140
- if (!response.document) {
141
- throw new Error('Failed to create lexical document: No document returned');
142
- }
143
- else {
144
- return new LexicalDTO(response.document, this._client);
145
- }
146
- }
147
- else {
148
- throw new Error(`Unsupported item type: ${data.type}`);
149
- }
150
- }
151
- /**
152
- * Get all items in this space as model instances.
153
- *
154
- * @returns Array of Notebook and Lexical model instances
155
- */
156
- async getItems() {
157
- this._checkDeleted();
158
- const token = this._client.getToken();
159
- const spacerRunUrl = this._client.getSpacerRunUrl();
160
- const response = await items.getSpaceItems(token, this.uid, spacerRunUrl);
161
- // Use shared utility function to convert items to model instances
162
- this._items = convertSpaceItemsToModels(response.items || [], this._client);
163
- return this._items;
164
- }
165
- /**
166
- * Create a new notebook in this space.
167
- *
168
- * @param data - Notebook creation configuration
169
- * @returns Created Notebook instance
170
- */
171
- async createNotebook(data) {
172
- return this._createItem({
173
- name: data.name,
174
- type: ItemTypes.NOTEBOOK,
175
- description: data.description,
176
- file: data.file,
177
- });
178
- }
179
- /**
180
- * Create a new lexical document in this space.
181
- *
182
- * @param data - Lexical creation configuration
183
- * @returns Created Lexical instance
184
- */
185
- async createLexical(data) {
186
- return this._createItem({
187
- name: data.name,
188
- type: ItemTypes.LEXICAL,
189
- description: data.description,
190
- file: data.file,
191
- });
192
- }
193
- // ========================================================================
194
- // Utility Methods
195
- // ========================================================================
196
- /**
197
- * Get raw space data object.
198
- * Returns cached data without refreshing.
199
- *
200
- * @returns Raw space data object
201
- */
202
- /**
203
- * Get space data in camelCase format.
204
- * Returns only the core fields that consumers need.
205
- * This provides a stable interface regardless of API changes.
206
- *
207
- * @returns Core space data with camelCase properties
208
- */
209
- toJSON() {
210
- this._checkDeleted();
211
- const ownerUserUids = Array.from(new Set([
212
- ...(this._data.shared_owner_user_uids_ss || []),
213
- ...(this._data.shared_ower_user_uids_ss || []),
214
- ].filter(uid => typeof uid === 'string' && uid.length > 0)));
215
- const obj = {
216
- uid: this.uid,
217
- name: this.name,
218
- description: this.description,
219
- variant: this.variant,
220
- handle: this.handle,
221
- ownerUserUids,
222
- items: this._data.items
223
- ? convertSpaceItemsToModels(this._data.items, this._client).map(item => item.toJSON())
224
- : [],
225
- };
226
- validateJSON(obj, 'Space');
227
- return obj;
228
- }
229
- /**
230
- * Get the raw space data exactly as received from the API.
231
- * This preserves the original snake_case naming from the API response.
232
- *
233
- * @returns Raw space data from API
234
- */
235
- rawData() {
236
- this._checkDeleted();
237
- return this._data;
238
- }
239
- /** String representation of the space. */
240
- toString() {
241
- this._checkDeleted();
242
- return `Space(${this.uid}, ${this.name})`;
243
- }
244
- }
@@ -1,10 +0,0 @@
1
- import { INotebook } from './Notebook';
2
- import { IDocument } from './Document';
3
- import { ICell } from './Cell';
4
- import { IDataset } from './Dataset';
5
- import { IEnvironment } from './Environment';
6
- import { ILesson } from './Lesson';
7
- import { IExercise } from './Exercise';
8
- import { IAssignment } from './Assignment';
9
- export type ISpaceItem = IDataset | INotebook | ICell | IEnvironment | ILesson | IExercise | IAssignment | IDocument;
10
- export default ISpaceItem;
@@ -1,5 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- export {};
@@ -1,6 +0,0 @@
1
- import { Member } from './Member';
2
- import { ISpace } from './Space';
3
- export type SpaceMember = Member & {
4
- space?: ISpace;
5
- };
6
- export default SpaceMember;
@@ -1,5 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- export {};
@@ -1,21 +0,0 @@
1
- import { IItemType } from './ItemType';
2
- import { IStudent } from './Student';
3
- import { ISpaceItem } from './SpaceItem';
4
- export type IStudentItem = {
5
- id: string;
6
- type: 'student_item';
7
- student?: IStudent;
8
- item?: ISpaceItem;
9
- itemId: string;
10
- itemType: IItemType;
11
- points?: number;
12
- nbgrades?: any;
13
- nbgradesTotalPoints?: number;
14
- nbgradesTotalScore?: number;
15
- completed?: boolean;
16
- codeStudent?: string;
17
- pass?: boolean;
18
- invalid?: boolean;
19
- invalidReason?: string;
20
- };
21
- export default IStudentItem;
@@ -1,5 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- export {};
@@ -1,22 +0,0 @@
1
- import { ServiceManager } from '@jupyterlab/services';
2
- /**
3
- * Creates a ServiceManager configured for Datalayer.
4
- *
5
- * This function requests a new kernel from Datalayer's platform and
6
- * returns a configured ServiceManager that connects to the allocated
7
- * Jupyter server instance.
8
- *
9
- * @param environmentName - The name of the Datalayer environment to use
10
- * @param credits - The credit limit for this kernel session
11
- * @returns A configured ServiceManager instance
12
- * @throws Error if the kernel request fails or configuration is missing
13
- *
14
- * @example
15
- * ```typescript
16
- * const serviceManager = await createDatalayerServiceManager('ai-agents-env', 100);
17
- * await serviceManager.ready;
18
- * // Use the service manager with notebooks
19
- * ```
20
- */
21
- export declare const createDatalayerServiceManager: (environmentName?: string, credits?: number) => Promise<ServiceManager.IManager>;
22
- export default createDatalayerServiceManager;