@datalayer/core 1.0.25 → 1.1.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/README.md +14 -26
  2. package/lib/api/index.d.ts +0 -9
  3. package/lib/api/index.js +0 -9
  4. package/lib/cli-login.js +167 -0
  5. package/lib/client/base.d.ts +0 -3
  6. package/lib/client/base.js +0 -2
  7. package/lib/client/index.d.ts +10 -98
  8. package/lib/client/index.js +12 -21
  9. package/lib/components/avatars/UserAvatar.d.ts +16 -0
  10. package/lib/components/avatars/UserAvatar.js +47 -0
  11. package/lib/components/avatars/index.d.ts +1 -0
  12. package/lib/components/avatars/index.js +1 -0
  13. package/lib/components/billing/BillableAccountSelect.js +4 -0
  14. package/lib/components/billing/index.js +4 -0
  15. package/lib/components/context/index.d.ts +0 -1
  16. package/lib/components/context/index.js +0 -1
  17. package/lib/components/display/DisplayHandle.d.ts +12 -0
  18. package/lib/components/display/DisplayHandle.js +11 -0
  19. package/lib/components/display/LiveRelativeTime.js +4 -0
  20. package/lib/components/display/index.d.ts +1 -0
  21. package/lib/components/display/index.js +1 -0
  22. package/lib/components/flashes/index.d.ts +0 -1
  23. package/lib/components/flashes/index.js +0 -1
  24. package/lib/components/index.d.ts +0 -1
  25. package/lib/components/index.js +0 -1
  26. package/lib/components/principal/Principal.d.ts +7 -0
  27. package/lib/components/principal/Principal.js +153 -16
  28. package/lib/components/principal/PrincipalAvatar.d.ts +1 -1
  29. package/lib/components/principal/PrincipalAvatar.js +4 -28
  30. package/lib/components/principal/PrincipalBadge.js +4 -4
  31. package/lib/components/principal/PrincipalDetailsOverlay.d.ts +4 -2
  32. package/lib/components/principal/PrincipalDetailsOverlay.js +27 -7
  33. package/lib/components/principal/PrincipalSwitcherMenu.js +76 -39
  34. package/lib/components/progress/index.d.ts +0 -1
  35. package/lib/components/progress/index.js +0 -1
  36. package/lib/components/sharing/ShareAccessComponent.d.ts +3 -2
  37. package/lib/components/sharing/ShareAccessComponent.js +180 -133
  38. package/lib/components/sharing/SharingEditor.js +4 -0
  39. package/lib/components/snippets/index.d.ts +1 -1
  40. package/lib/components/snippets/index.js +1 -1
  41. package/lib/components/students/StudentResultCircle.d.ts +21 -0
  42. package/lib/components/students/StudentResultCircle.js +59 -0
  43. package/lib/components/students/index.d.ts +1 -1
  44. package/lib/components/students/index.js +1 -1
  45. package/lib/components/time/LiveRelativeTime.js +4 -0
  46. package/lib/components/time/index.js +4 -0
  47. package/lib/components/timeline/index.js +4 -0
  48. package/lib/components/tokens/index.d.ts +1 -1
  49. package/lib/components/tokens/index.js +1 -1
  50. package/lib/components/toolbars/index.d.ts +1 -3
  51. package/lib/components/toolbars/index.js +1 -3
  52. package/lib/hooks/cacheConverters.d.ts +21 -0
  53. package/lib/hooks/cacheConverters.js +110 -0
  54. package/lib/hooks/index.d.ts +0 -2
  55. package/lib/hooks/index.js +0 -2
  56. package/lib/hooks/useCache.d.ts +64 -35
  57. package/lib/hooks/useCache.js +407 -52
  58. package/lib/hooks/useDatalayer.js +3 -1
  59. package/lib/hooks/useIAM.js +1 -3
  60. package/lib/hooks/useLocationHandles.d.ts +3 -1
  61. package/lib/hooks/useLocationHandles.js +2 -1
  62. package/lib/hooks/usePrincipalStore.d.ts +2 -2
  63. package/lib/hooks/usePrincipalStore.js +97 -14
  64. package/lib/hooks/useSelectedPrincipal.js +1 -1
  65. package/lib/hooks/useUser.js +19 -2
  66. package/lib/index.d.ts +1 -6
  67. package/lib/index.js +1 -13
  68. package/lib/main.js +3 -3
  69. package/lib/mocks/index.js +1 -1
  70. package/lib/mocks/models/index.d.ts +0 -1
  71. package/lib/mocks/models/index.js +0 -1
  72. package/lib/models/Datasource.d.ts +2 -2
  73. package/lib/models/IAM.d.ts +1 -1
  74. package/lib/models/School.d.ts +12 -3
  75. package/lib/models/Secret.d.ts +2 -2
  76. package/lib/models/Student.d.ts +13 -3
  77. package/lib/models/Usage.d.ts +11 -1
  78. package/lib/models/UserDTO.d.ts +2 -2
  79. package/lib/models/index.d.ts +0 -30
  80. package/lib/models/index.js +0 -30
  81. package/lib/routes/index.d.ts +1 -0
  82. package/lib/routes/index.js +1 -0
  83. package/lib/routes/publicPaths.d.ts +23 -0
  84. package/lib/routes/publicPaths.js +74 -0
  85. package/lib/state/State.d.ts +0 -12
  86. package/lib/state/State.js +0 -12
  87. package/lib/state/substates/LayoutState.d.ts +12 -1
  88. package/lib/state/substates/index.d.ts +0 -7
  89. package/lib/state/substates/index.js +0 -7
  90. package/lib/utils/Handles.js +3 -1
  91. package/lib/utils/index.d.ts +0 -1
  92. package/lib/utils/index.js +0 -1
  93. package/lib/views/api-keys/APIKeys.js +12 -3
  94. package/lib/views/datasources/DatasourceDetail.d.ts +1 -1
  95. package/lib/views/datasources/DatasourceNew.d.ts +1 -1
  96. package/lib/views/datasources/Datasources.d.ts +1 -1
  97. package/lib/views/datasources/Datasources.js +12 -3
  98. package/lib/views/iam/SignInSimple.d.ts +37 -1
  99. package/lib/views/iam/SignInSimple.js +110 -12
  100. package/package.json +5 -3
  101. package/lib/App.css +0 -47
  102. package/lib/App.d.ts +0 -3
  103. package/lib/App.js +0 -21
  104. package/lib/api/runtimes/checkpoints.d.ts +0 -122
  105. package/lib/api/runtimes/checkpoints.js +0 -118
  106. package/lib/api/runtimes/environments.d.ts +0 -9
  107. package/lib/api/runtimes/environments.js +0 -29
  108. package/lib/api/runtimes/healthz.d.ts +0 -15
  109. package/lib/api/runtimes/healthz.js +0 -44
  110. package/lib/api/runtimes/index.d.ts +0 -12
  111. package/lib/api/runtimes/index.js +0 -16
  112. package/lib/api/runtimes/runtimes.d.ts +0 -138
  113. package/lib/api/runtimes/runtimes.js +0 -230
  114. package/lib/api/runtimes/snapshots.d.ts +0 -38
  115. package/lib/api/runtimes/snapshots.js +0 -82
  116. package/lib/api/scheduler/index.d.ts +0 -6
  117. package/lib/api/scheduler/index.js +0 -10
  118. package/lib/api/scheduler/schedules.d.ts +0 -85
  119. package/lib/api/scheduler/schedules.js +0 -78
  120. package/lib/api/spacer/documents.d.ts +0 -12
  121. package/lib/api/spacer/documents.js +0 -43
  122. package/lib/api/spacer/healthz.d.ts +0 -15
  123. package/lib/api/spacer/healthz.js +0 -44
  124. package/lib/api/spacer/index.d.ts +0 -15
  125. package/lib/api/spacer/index.js +0 -19
  126. package/lib/api/spacer/items.d.ts +0 -25
  127. package/lib/api/spacer/items.js +0 -55
  128. package/lib/api/spacer/lexicals.d.ts +0 -34
  129. package/lib/api/spacer/lexicals.js +0 -89
  130. package/lib/api/spacer/notebooks.d.ts +0 -34
  131. package/lib/api/spacer/notebooks.js +0 -89
  132. package/lib/api/spacer/spaces.d.ts +0 -84
  133. package/lib/api/spacer/spaces.js +0 -170
  134. package/lib/api/spacer/users.d.ts +0 -9
  135. package/lib/api/spacer/users.js +0 -29
  136. package/lib/client/mixins/RuntimesMixin.d.ts +0 -93
  137. package/lib/client/mixins/RuntimesMixin.js +0 -229
  138. package/lib/client/mixins/SpacerMixin.d.ts +0 -210
  139. package/lib/client/mixins/SpacerMixin.js +0 -615
  140. package/lib/client/utils/spacerUtils.d.ts +0 -18
  141. package/lib/client/utils/spacerUtils.js +0 -32
  142. package/lib/collaboration/DatalayerCollaboration.d.ts +0 -13
  143. package/lib/collaboration/DatalayerCollaboration.js +0 -28
  144. package/lib/collaboration/DatalayerCollaborationProvider.d.ts +0 -60
  145. package/lib/collaboration/DatalayerCollaborationProvider.js +0 -163
  146. package/lib/collaboration/index.d.ts +0 -2
  147. package/lib/collaboration/index.js +0 -6
  148. package/lib/components/context/SpaceSelect.d.ts +0 -2
  149. package/lib/components/context/SpaceSelect.js +0 -42
  150. package/lib/components/flashes/FlashDisclaimer.d.ts +0 -2
  151. package/lib/components/flashes/FlashDisclaimer.js +0 -17
  152. package/lib/components/icons/ArtifactIcon.d.ts +0 -10
  153. package/lib/components/icons/ArtifactIcon.js +0 -58
  154. package/lib/components/icons/index.d.ts +0 -1
  155. package/lib/components/icons/index.js +0 -5
  156. package/lib/components/nbgrader/NbGradesDetails.d.ts +0 -5
  157. package/lib/components/nbgrader/NbGradesDetails.js +0 -14
  158. package/lib/components/nbgrader/index.d.ts +0 -1
  159. package/lib/components/nbgrader/index.js +0 -5
  160. package/lib/components/progress/CreditsIndicator.d.ts +0 -33
  161. package/lib/components/progress/CreditsIndicator.js +0 -23
  162. package/lib/components/runtimes/RuntimeCellVariables.d.ts +0 -39
  163. package/lib/components/runtimes/RuntimeCellVariables.js +0 -172
  164. package/lib/components/runtimes/RuntimeCellVariablesDialog.d.ts +0 -37
  165. package/lib/components/runtimes/RuntimeCellVariablesDialog.js +0 -101
  166. package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +0 -57
  167. package/lib/components/runtimes/RuntimeLauncherDialog.js +0 -275
  168. package/lib/components/runtimes/RuntimePickerBase.d.ts +0 -69
  169. package/lib/components/runtimes/RuntimePickerBase.js +0 -122
  170. package/lib/components/runtimes/RuntimePickerCell.d.ts +0 -34
  171. package/lib/components/runtimes/RuntimePickerCell.js +0 -104
  172. package/lib/components/runtimes/RuntimePickerNotebook.d.ts +0 -42
  173. package/lib/components/runtimes/RuntimePickerNotebook.js +0 -232
  174. package/lib/components/runtimes/RuntimeReservationControl.d.ts +0 -47
  175. package/lib/components/runtimes/RuntimeReservationControl.js +0 -42
  176. package/lib/components/runtimes/RuntimeSimplePicker.d.ts +0 -38
  177. package/lib/components/runtimes/RuntimeSimplePicker.js +0 -155
  178. package/lib/components/runtimes/RuntimeTransfer.d.ts +0 -16
  179. package/lib/components/runtimes/RuntimeTransfer.js +0 -5
  180. package/lib/components/runtimes/RuntimeUtils.d.ts +0 -17
  181. package/lib/components/runtimes/RuntimeUtils.js +0 -178
  182. package/lib/components/runtimes/RuntimeVariables.d.ts +0 -38
  183. package/lib/components/runtimes/RuntimeVariables.js +0 -75
  184. package/lib/components/runtimes/index.d.ts +0 -11
  185. package/lib/components/runtimes/index.js +0 -15
  186. package/lib/components/scheduler/ScheduleMenu.d.ts +0 -54
  187. package/lib/components/scheduler/ScheduleMenu.js +0 -154
  188. package/lib/components/scheduler/index.d.ts +0 -1
  189. package/lib/components/scheduler/index.js +0 -5
  190. package/lib/components/snapshots/SandboxSnapshotMenu.d.ts +0 -33
  191. package/lib/components/snapshots/SandboxSnapshotMenu.js +0 -169
  192. package/lib/components/snapshots/index.d.ts +0 -1
  193. package/lib/components/snapshots/index.js +0 -5
  194. package/lib/components/snippets/SnippetDialog.d.ts +0 -42
  195. package/lib/components/snippets/SnippetDialog.js +0 -42
  196. package/lib/components/students/StudentItemStatus.d.ts +0 -7
  197. package/lib/components/students/StudentItemStatus.js +0 -66
  198. package/lib/components/tokens/SpaceVariantToken.d.ts +0 -5
  199. package/lib/components/tokens/SpaceVariantToken.js +0 -23
  200. package/lib/components/toolbars/AssignmentEditorToolbar.d.ts +0 -4
  201. package/lib/components/toolbars/AssignmentEditorToolbar.js +0 -18
  202. package/lib/components/toolbars/DocumentEditorToolbar.d.ts +0 -2
  203. package/lib/components/toolbars/DocumentEditorToolbar.js +0 -12
  204. package/lib/components/toolbars/NotebookEditorToolbar.d.ts +0 -29
  205. package/lib/components/toolbars/NotebookEditorToolbar.js +0 -30
  206. package/lib/examples/CellExample.d.ts +0 -6
  207. package/lib/examples/CellExample.js +0 -20
  208. package/lib/examples/NotebookExample.d.ts +0 -6
  209. package/lib/examples/NotebookExample.js +0 -19
  210. package/lib/examples/lexical-theme.css +0 -436
  211. package/lib/examples/notebooks/IPyWidgetsExample.ipynb.json +0 -101
  212. package/lib/examples/notebooks/IPyWidgetsExampleWithState.ipynb.json +0 -112
  213. package/lib/examples/notebooks/Lite.ipynb.json +0 -128
  214. package/lib/examples/notebooks/Matplotlib.ipynb.json +0 -137
  215. package/lib/examples/notebooks/NotebookExample1.ipynb.json +0 -126
  216. package/lib/examples/notebooks/NotebookExample2.ipynb.json +0 -48
  217. package/lib/examples/notebooks/NotebookOutputs.ipynb.json +0 -49
  218. package/lib/examples/notebooks/NotebookToCExample.ipynb.json +0 -102
  219. package/lib/examples/notebooks/PyGWalker.ipynb.json +0 -55
  220. package/lib/hooks/useCellOutputshot.d.ts +0 -4
  221. package/lib/hooks/useCellOutputshot.js +0 -25
  222. package/lib/hooks/useProjects.d.ts +0 -628
  223. package/lib/hooks/useProjects.js +0 -190
  224. package/lib/hooks/useRuntimes.d.ts +0 -5
  225. package/lib/hooks/useRuntimes.js +0 -34
  226. package/lib/mocks/jupyter/index.js +0 -5
  227. package/lib/mocks/models/CourseMock.d.ts +0 -6
  228. package/lib/mocks/models/CourseMock.js +0 -29
  229. package/lib/mocks/models/SpaceMock.d.ts +0 -6
  230. package/lib/mocks/models/SpaceMock.js +0 -25
  231. package/lib/models/Assignment.d.ts +0 -7
  232. package/lib/models/Assignment.js +0 -5
  233. package/lib/models/Cell.d.ts +0 -8
  234. package/lib/models/Cell.js +0 -5
  235. package/lib/models/CodeBlock.d.ts +0 -10
  236. package/lib/models/CodeBlock.js +0 -5
  237. package/lib/models/CodeSandboxSnapshot.d.ts +0 -92
  238. package/lib/models/CodeSandboxSnapshot.js +0 -13
  239. package/lib/models/CodeSandboxSnapshotDTO.d.ts +0 -173
  240. package/lib/models/CodeSandboxSnapshotDTO.js +0 -139
  241. package/lib/models/CodefeedBlocks.d.ts +0 -7
  242. package/lib/models/CodefeedBlocks.js +0 -5
  243. package/lib/models/Content.d.ts +0 -5
  244. package/lib/models/Content.js +0 -5
  245. package/lib/models/Course.d.ts +0 -17
  246. package/lib/models/Course.js +0 -5
  247. package/lib/models/Dataset.d.ts +0 -16
  248. package/lib/models/Dataset.js +0 -5
  249. package/lib/models/Document.d.ts +0 -8
  250. package/lib/models/Document.js +0 -5
  251. package/lib/models/Environment.d.ts +0 -86
  252. package/lib/models/Environment.js +0 -5
  253. package/lib/models/EnvironmentDTO.d.ts +0 -125
  254. package/lib/models/EnvironmentDTO.js +0 -88
  255. package/lib/models/Exercise.d.ts +0 -16
  256. package/lib/models/Exercise.js +0 -5
  257. package/lib/models/Item.d.ts +0 -20
  258. package/lib/models/Item.js +0 -5
  259. package/lib/models/ItemDTO.d.ts +0 -74
  260. package/lib/models/ItemDTO.js +0 -186
  261. package/lib/models/ItemType.d.ts +0 -2
  262. package/lib/models/ItemType.js +0 -5
  263. package/lib/models/Lesson.d.ts +0 -5
  264. package/lib/models/Lesson.js +0 -5
  265. package/lib/models/LexicalDTO.d.ts +0 -155
  266. package/lib/models/LexicalDTO.js +0 -157
  267. package/lib/models/Library.d.ts +0 -10
  268. package/lib/models/Library.js +0 -5
  269. package/lib/models/Notebook.d.ts +0 -11
  270. package/lib/models/Notebook.js +0 -5
  271. package/lib/models/NotebookDTO.d.ts +0 -96
  272. package/lib/models/NotebookDTO.js +0 -153
  273. package/lib/models/Page.d.ts +0 -41
  274. package/lib/models/Page.js +0 -25
  275. package/lib/models/PageTag.d.ts +0 -19
  276. package/lib/models/PageTag.js +0 -94
  277. package/lib/models/ProjectDTO.d.ts +0 -89
  278. package/lib/models/ProjectDTO.js +0 -131
  279. package/lib/models/Runtime.d.ts +0 -123
  280. package/lib/models/Runtime.js +0 -18
  281. package/lib/models/RuntimeDTO.d.ts +0 -191
  282. package/lib/models/RuntimeDTO.js +0 -204
  283. package/lib/models/Space.d.ts +0 -35
  284. package/lib/models/Space.js +0 -66
  285. package/lib/models/SpaceDTO.d.ts +0 -334
  286. package/lib/models/SpaceDTO.js +0 -244
  287. package/lib/models/SpaceItem.d.ts +0 -10
  288. package/lib/models/SpaceItem.js +0 -5
  289. package/lib/models/SpaceMember.d.ts +0 -6
  290. package/lib/models/SpaceMember.js +0 -5
  291. package/lib/models/StudentItem.d.ts +0 -21
  292. package/lib/models/StudentItem.js +0 -5
  293. package/lib/services/DatalayerServiceManager.d.ts +0 -22
  294. package/lib/services/DatalayerServiceManager.js +0 -69
  295. package/lib/services/index.d.ts +0 -4
  296. package/lib/services/index.js +0 -7
  297. package/lib/services/reconnectToRuntime.d.ts +0 -32
  298. package/lib/services/reconnectToRuntime.js +0 -59
  299. package/lib/state/substates/CellState.d.ts +0 -12
  300. package/lib/state/substates/CellState.js +0 -22
  301. package/lib/state/substates/DocumentState.d.ts +0 -10
  302. package/lib/state/substates/DocumentState.js +0 -14
  303. package/lib/state/substates/GradeState.d.ts +0 -10
  304. package/lib/state/substates/GradeState.js +0 -14
  305. package/lib/state/substates/JupyterLabState.d.ts +0 -16
  306. package/lib/state/substates/JupyterLabState.js +0 -17
  307. package/lib/state/substates/NbformatState.d.ts +0 -13
  308. package/lib/state/substates/NbformatState.js +0 -16
  309. package/lib/state/substates/RuntimesState.d.ts +0 -79
  310. package/lib/state/substates/RuntimesState.js +0 -180
  311. package/lib/state/substates/SpaceState.d.ts +0 -11
  312. package/lib/state/substates/SpaceState.js +0 -16
  313. package/lib/stateful/index.d.ts +0 -2
  314. package/lib/stateful/index.js +0 -6
  315. package/lib/stateful/jupyter/exec/Python.d.ts +0 -5
  316. package/lib/stateful/jupyter/exec/Python.js +0 -100
  317. package/lib/stateful/jupyter/exec/Snippets.d.ts +0 -105
  318. package/lib/stateful/jupyter/exec/Snippets.js +0 -101
  319. package/lib/stateful/jupyter/exec/index.d.ts +0 -2
  320. package/lib/stateful/jupyter/exec/index.js +0 -6
  321. package/lib/stateful/jupyter/index.d.ts +0 -2
  322. package/lib/stateful/jupyter/index.js +0 -6
  323. package/lib/stateful/jupyter/kernelsHandler.d.ts +0 -8
  324. package/lib/stateful/jupyter/kernelsHandler.js +0 -39
  325. package/lib/stateful/runtimes/actions.d.ts +0 -102
  326. package/lib/stateful/runtimes/actions.js +0 -249
  327. package/lib/stateful/runtimes/apis.d.ts +0 -273
  328. package/lib/stateful/runtimes/apis.js +0 -5
  329. package/lib/stateful/runtimes/index.d.ts +0 -5
  330. package/lib/stateful/runtimes/index.js +0 -9
  331. package/lib/stateful/runtimes/settings.d.ts +0 -15
  332. package/lib/stateful/runtimes/settings.js +0 -31
  333. package/lib/stateful/runtimes/snapshots.d.ts +0 -25
  334. package/lib/stateful/runtimes/snapshots.js +0 -150
  335. package/lib/stateful/runtimes/utils.d.ts +0 -7
  336. package/lib/stateful/runtimes/utils.js +0 -14
  337. package/lib/utils/Cells.d.ts +0 -2
  338. package/lib/utils/Cells.js +0 -28
  339. /package/lib/{mocks/jupyter/index.d.ts → cli-login.d.ts} +0 -0
@@ -1,28 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- /**
6
- * Fetch the session ID of a collaborative documents from Datalayer.
7
- */
8
- export async function requestDatalayerCollaborationSessionId({ url, token, fetchFn = fetch, }) {
9
- const headers = {
10
- Accept: 'application/json',
11
- };
12
- if (token) {
13
- headers['Authorization'] = `Bearer ${token}`;
14
- }
15
- const response = await fetchFn(url, {
16
- method: 'GET',
17
- headers,
18
- credentials: token ? 'include' : 'omit',
19
- mode: 'cors',
20
- cache: 'no-store',
21
- });
22
- if (response.ok) {
23
- const content = await response.json();
24
- return content['sessionId'];
25
- }
26
- console.error('Failed to fetch session ID.', response);
27
- throw new Error('Failed to fetch session ID.');
28
- }
@@ -1,60 +0,0 @@
1
- import { WebsocketProvider } from 'y-websocket';
2
- import type { ICollaborationProvider, ICollaborationProviderEvents } from '@datalayer/jupyter-react';
3
- export declare enum CollaborationStatus {
4
- Disconnected = "disconnected",
5
- Connecting = "connecting",
6
- Connected = "connected",
7
- Error = "error"
8
- }
9
- type SharedModel = Parameters<ICollaborationProvider['connect']>[0];
10
- type ConnectOptions = Parameters<ICollaborationProvider['connect']>[2];
11
- /**
12
- * Configuration for Datalayer collaboration provider
13
- */
14
- export interface IDatalayerCollaborationConfig {
15
- /**
16
- * Base URL for the Datalayer server (optional, uses config from store if not provided)
17
- */
18
- runUrl?: string;
19
- /**
20
- * Authentication token (optional, uses config from store if not provided)
21
- */
22
- token?: string;
23
- /**
24
- * Custom fetch function to use for HTTP requests.
25
- * Useful for proxying requests in environments with CORS restrictions (e.g., VS Code webviews).
26
- */
27
- fetchFn?: typeof fetch;
28
- }
29
- /**
30
- * Datalayer collaboration provider
31
- *
32
- * This provider connects to Datalayer's collaboration service using WebSockets.
33
- */
34
- export declare class DatalayerCollaborationProvider implements ICollaborationProvider {
35
- readonly type = "datalayer";
36
- private _status;
37
- private _provider;
38
- private _sharedModel;
39
- private _statusChanged;
40
- private _errorOccurred;
41
- private _syncStateChanged;
42
- private _isDisposed;
43
- private _config;
44
- private _onSync;
45
- private _onConnectionClose;
46
- constructor(config: IDatalayerCollaborationConfig);
47
- get status(): CollaborationStatus;
48
- get isConnected(): boolean;
49
- get isDisposed(): boolean;
50
- get events(): ICollaborationProviderEvents;
51
- private setStatus;
52
- connect(sharedModel: SharedModel, documentId: string, options?: ConnectOptions): Promise<void>;
53
- disconnect(): void;
54
- getProvider(): WebsocketProvider | null;
55
- getSharedModel(): SharedModel | null;
56
- handleConnectionClose(event: CloseEvent): void;
57
- handleSync(isSynced: boolean): void;
58
- dispose(): void;
59
- }
60
- export default DatalayerCollaborationProvider;
@@ -1,163 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- import { WebsocketProvider } from 'y-websocket';
6
- import { URLExt } from '@jupyterlab/coreutils';
7
- import { Signal } from '@lumino/signaling';
8
- // Import CollaborationStatus enum separately since it's exported
9
- export var CollaborationStatus;
10
- (function (CollaborationStatus) {
11
- CollaborationStatus["Disconnected"] = "disconnected";
12
- CollaborationStatus["Connecting"] = "connecting";
13
- CollaborationStatus["Connected"] = "connected";
14
- CollaborationStatus["Error"] = "error";
15
- })(CollaborationStatus || (CollaborationStatus = {}));
16
- import { requestDatalayerCollaborationSessionId } from './DatalayerCollaboration.js';
17
- /**
18
- * Datalayer collaboration provider
19
- *
20
- * This provider connects to Datalayer's collaboration service using WebSockets.
21
- */
22
- export class DatalayerCollaborationProvider {
23
- type = 'datalayer';
24
- _status = CollaborationStatus.Disconnected;
25
- _provider = null;
26
- _sharedModel = null;
27
- _statusChanged = new Signal(this);
28
- _errorOccurred = new Signal(this);
29
- _syncStateChanged = new Signal(this);
30
- _isDisposed = false;
31
- _config;
32
- _onSync = null;
33
- _onConnectionClose = null;
34
- constructor(config) {
35
- this._config = config;
36
- }
37
- get status() {
38
- return this._status;
39
- }
40
- get isConnected() {
41
- return this._status === CollaborationStatus.Connected;
42
- }
43
- get isDisposed() {
44
- return this._isDisposed;
45
- }
46
- get events() {
47
- return {
48
- statusChanged: this._statusChanged,
49
- errorOccurred: this._errorOccurred,
50
- syncStateChanged: this._syncStateChanged,
51
- };
52
- }
53
- setStatus(status) {
54
- if (this._status !== status) {
55
- this._status = status;
56
- this._statusChanged.emit(status);
57
- }
58
- }
59
- async connect(sharedModel, documentId, options) {
60
- if (this.isConnected) {
61
- console.warn('Already connected to Datalayer collaboration service');
62
- return;
63
- }
64
- this.setStatus(CollaborationStatus.Connecting);
65
- try {
66
- // Use ONLY explicitly provided configuration
67
- // NO fallback to coreStore - if config is wrong, we want to fail fast
68
- // This is critical for VS Code extension where config must come from settings
69
- const runUrl = this._config.runUrl;
70
- const token = this._config.token;
71
- if (!runUrl) {
72
- throw new Error('Datalayer runUrl is not configured - must be explicitly provided in DatalayerCollaborationProvider config');
73
- }
74
- if (!token) {
75
- throw new Error('Datalayer token is not configured - must be explicitly provided in DatalayerCollaborationProvider config');
76
- }
77
- const { ydoc, awareness } = sharedModel;
78
- // Build URLs.
79
- const documentURL = URLExt.join(runUrl, '/api/spacer/v1/documents');
80
- const wsUrl = URLExt.join(runUrl, '/api/spacer/v1/documents/ws').replace(/^http/, 'ws');
81
- // Request collaboration session from Datalayer
82
- const sessionId = await requestDatalayerCollaborationSessionId({
83
- url: URLExt.join(documentURL, documentId),
84
- token,
85
- fetchFn: this._config.fetchFn,
86
- });
87
- // Create WebSocket provider
88
- this._provider = new WebsocketProvider(wsUrl, documentId, ydoc, {
89
- disableBc: true,
90
- params: {
91
- sessionId,
92
- token,
93
- },
94
- awareness,
95
- ...options,
96
- });
97
- this._sharedModel = sharedModel;
98
- // Set up event handlers
99
- this._onSync = (isSynced) => {
100
- this.handleSync(isSynced);
101
- };
102
- this._onConnectionClose = (event) => {
103
- if (event) {
104
- this.handleConnectionClose(event);
105
- }
106
- };
107
- this._provider.on('sync', this._onSync);
108
- this._provider.on('connection-close', this._onConnectionClose);
109
- console.log('Connected to Datalayer collaboration service');
110
- }
111
- catch (error) {
112
- this.setStatus(CollaborationStatus.Error);
113
- this._errorOccurred.emit(error);
114
- throw error;
115
- }
116
- }
117
- disconnect() {
118
- if (this._provider) {
119
- if (this._onSync) {
120
- this._provider.off('sync', this._onSync);
121
- }
122
- if (this._onConnectionClose) {
123
- this._provider.off('connection-close', this._onConnectionClose);
124
- }
125
- this._provider.disconnect();
126
- this._provider = null;
127
- }
128
- this._sharedModel = null;
129
- this.setStatus(CollaborationStatus.Disconnected);
130
- }
131
- getProvider() {
132
- return this._provider;
133
- }
134
- getSharedModel() {
135
- return this._sharedModel;
136
- }
137
- handleConnectionClose(event) {
138
- console.warn('Collaboration connection closed:', event);
139
- this.setStatus(CollaborationStatus.Disconnected);
140
- // Handle session expiration (code 4002)
141
- if (event.code === 4002) {
142
- console.warn('Datalayer collaboration session expired');
143
- // Attempt to reconnect could be implemented here
144
- }
145
- }
146
- handleSync(isSynced) {
147
- this._syncStateChanged.emit(isSynced);
148
- if (isSynced) {
149
- this.setStatus(CollaborationStatus.Connected);
150
- }
151
- }
152
- dispose() {
153
- if (this._isDisposed) {
154
- return;
155
- }
156
- this.disconnect();
157
- // Signals don't need explicit disposal in Lumino
158
- // They are cleaned up when the object is garbage collected
159
- this._isDisposed = true;
160
- }
161
- }
162
- // Export the provider for direct instantiation
163
- export default DatalayerCollaborationProvider;
@@ -1,2 +0,0 @@
1
- export * from './DatalayerCollaboration';
2
- export * from './DatalayerCollaborationProvider';
@@ -1,6 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- export * from './DatalayerCollaboration.js';
6
- export * from './DatalayerCollaborationProvider.js';
@@ -1,2 +0,0 @@
1
- export declare const SpaceSelect: () => import("react/jsx-runtime").JSX.Element;
2
- export default SpaceSelect;
@@ -1,42 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- /*
3
- * Copyright (c) 2023-2025 Datalayer, Inc.
4
- * Distributed under the terms of the Modified BSD License.
5
- */
6
- import { useCallback, useEffect } from 'react';
7
- import { FormControl, Select } from '@primer/react';
8
- import { Box } from '@datalayer/primer-addons';
9
- import { useCache, useUser } from './../../hooks/index.js';
10
- import { useLayoutStore } from '../../state/index.js';
11
- export const SpaceSelect = () => {
12
- const user = useUser();
13
- const { organization, space, updateLayoutSpace } = useLayoutStore();
14
- const { useRefreshUserSpaces, useUserSpaces, useRefreshOrganizationSpaces, useOrganizationSpaces, } = useCache();
15
- const { mutate: refreshUserSpacesMutate } = useRefreshUserSpaces();
16
- const { mutate: refreshOrganizationSpacesMutate } = useRefreshOrganizationSpaces();
17
- const { data: organizationSpaces = [] } = useOrganizationSpaces(organization?.id ?? '');
18
- const { data: userSpaces = [] } = useUserSpaces();
19
- const spaces = organization ? organizationSpaces : userSpaces;
20
- useEffect(() => {
21
- if (organization?.id) {
22
- refreshOrganizationSpacesMutate(organization.id);
23
- }
24
- else if (user) {
25
- refreshUserSpacesMutate();
26
- }
27
- }, [
28
- organization?.id,
29
- refreshOrganizationSpacesMutate,
30
- refreshUserSpacesMutate,
31
- user,
32
- ]);
33
- const onSelectionChange = useCallback((event) => {
34
- const selectedSpaceIndex = Number.parseInt(event.target.value, 10);
35
- const selectedSpace = Number.isNaN(selectedSpaceIndex) || selectedSpaceIndex < 0
36
- ? undefined
37
- : spaces[selectedSpaceIndex];
38
- updateLayoutSpace(selectedSpace);
39
- }, [spaces, updateLayoutSpace]);
40
- return (_jsx(_Fragment, { children: _jsx(Box, { as: "form", children: _jsxs(FormControl, { children: [_jsx(FormControl.Label, { children: "Select a space" }), _jsx(FormControl.Caption, { children: "This will go with you while you navigate" }), _jsx(Select, { block: true, width: "medium", onChange: onSelectionChange, placeholder: "Please select an space...", children: spaces.map((sp, index) => (_jsx(Select.Option, { value: `${index}`, selected: sp.id === space?.id, children: sp.name }, sp.id))) })] }) }) }));
41
- };
42
- export default SpaceSelect;
@@ -1,2 +0,0 @@
1
- export declare const FlashDisclaimer: () => import("react/jsx-runtime").JSX.Element;
2
- export default FlashDisclaimer;
@@ -1,17 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- /*
3
- * Copyright (c) 2023-2025 Datalayer, Inc.
4
- * Distributed under the terms of the Modified BSD License.
5
- */
6
- import { Label, Link } from '@primer/react';
7
- import { Box } from '@datalayer/primer-addons';
8
- import { Banner } from '@primer/react/experimental';
9
- import { useCoreStore, useRuntimesStore } from '../../state/index.js';
10
- import { useNavigate } from '../../hooks/index.js';
11
- export const FlashDisclaimer = () => {
12
- const { configuration } = useCoreStore();
13
- const { showDisclaimer, setShowDisclaimer } = useRuntimesStore();
14
- const navigate = useNavigate();
15
- return (_jsx(_Fragment, { children: configuration?.whiteLabel === false && showDisclaimer && (_jsx(Banner, { variant: "info", title: "AI Agents for Data Analysis", description: _jsxs(Box, { children: [_jsx(Label, { style: { marginRight: 10 }, children: "PRIVATE BETA" }), "Create Kernels and use them from your JupyterLab, VS Code or CLI. Read the", ' ', _jsx(Link, { href: "javascript: return false;", onClick: e => navigate('/docs', e), children: "documentation" }), ' ', "for any question or", ' ', _jsx(Link, { href: "javascript: return false;", onClick: e => navigate('/support/request', e), children: "contact us for support" }), "."] }), onDismiss: () => setShowDisclaimer(false) })) }));
16
- };
17
- export default FlashDisclaimer;
@@ -1,10 +0,0 @@
1
- import { Icon } from '@primer/octicons-react';
2
- import { IAnyItem, IItemType } from '../../models';
3
- type IArtifactIconClassProp = {
4
- item?: IAnyItem;
5
- type?: IItemType;
6
- size?: number | 'small' | 'medium' | 'large';
7
- };
8
- export declare const ArtifactIconClass: (props: IArtifactIconClassProp) => Icon;
9
- export declare function ArtifactIcon(props: IArtifactIconClassProp): JSX.Element;
10
- export default ArtifactIcon;
@@ -1,58 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- import { createElement } from 'react';
6
- import { DatabaseIcon, RowsIcon, BookIcon, DiffModifiedIcon, PencilIcon, FeedIssueDraftIcon, FeedRocketIcon, MilestoneIcon, OrganizationIcon, PeopleIcon, RocketIcon, FileIcon, StackIcon, GearIcon, GraphIcon, NumberIcon, PaperAirplaneIcon, ArchiveIcon, TagIcon, MortarBoardIcon, ContainerIcon, HomeIcon, ShareIcon, FileDirectoryIcon, TrophyIcon, QuestionIcon, PersonIcon, MailIcon, ZapIcon, } from '@primer/octicons-react';
7
- import { GalileoIcon, CircleWhiteIcon, BookOpenIcon, CameraIcon, CellIcon, NotebookOutlineIcon, } from '@datalayer/icons-react';
8
- const ARTIFACT_ICONS = new Map([
9
- ['assignment', MilestoneIcon],
10
- ['authoring', PencilIcon],
11
- ['cell', CellIcon],
12
- ['content', ArchiveIcon],
13
- ['credits', NumberIcon],
14
- ['dataset', StackIcon],
15
- ['datasource', DatabaseIcon],
16
- ['document', FileIcon],
17
- ['documentation', BookOpenIcon],
18
- ['environment', ContainerIcon],
19
- ['exercise', DiffModifiedIcon],
20
- ['growth', FeedRocketIcon],
21
- ['home', HomeIcon],
22
- ['invite', PaperAirplaneIcon],
23
- ['runtime', RocketIcon],
24
- ['runtime-snapshot', CameraIcon],
25
- ['library', BookIcon],
26
- ['lesson', MortarBoardIcon],
27
- ['mail', MailIcon],
28
- ['management', FeedIssueDraftIcon],
29
- ['notebook', RowsIcon],
30
- ['organization', OrganizationIcon],
31
- ['onboarding', ZapIcon],
32
- ['page', NotebookOutlineIcon],
33
- ['settings', GearIcon],
34
- ['share', ShareIcon],
35
- ['space', GalileoIcon],
36
- ['success', TrophyIcon],
37
- ['support', QuestionIcon],
38
- ['storage', FileDirectoryIcon],
39
- ['tag', TagIcon],
40
- ['team', PeopleIcon],
41
- ['usage', GraphIcon],
42
- ['user', PersonIcon],
43
- ['undefined', CircleWhiteIcon],
44
- ]);
45
- export const ArtifactIconClass = (props) => {
46
- const { item, type } = props;
47
- const itemType = item?.type ?? type ?? 'undefined';
48
- const icon = ARTIFACT_ICONS.get(itemType);
49
- return icon ?? CircleWhiteIcon;
50
- };
51
- export function ArtifactIcon(props) {
52
- const { size } = props;
53
- const artifactIconClass = ArtifactIconClass(props);
54
- return createElement(artifactIconClass, {
55
- size: size ?? 16,
56
- });
57
- }
58
- export default ArtifactIcon;
@@ -1 +0,0 @@
1
- export * from './ArtifactIcon';
@@ -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 * from './ArtifactIcon.js';
@@ -1,5 +0,0 @@
1
- import { IStudentItem } from '../../models';
2
- export declare const NbGradesDetails: (props: {
3
- studentItem?: IStudentItem;
4
- }) => import("react/jsx-runtime").JSX.Element;
5
- export default NbGradesDetails;
@@ -1,14 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /*
3
- * Copyright (c) 2023-2025 Datalayer, Inc.
4
- * Distributed under the terms of the Modified BSD License.
5
- */
6
- import { Heading, Text } from '@primer/react';
7
- import { Box } from '@datalayer/primer-addons';
8
- export const NbGradesDetails = (props) => {
9
- const { studentItem } = props;
10
- return studentItem && studentItem?.nbgrades ? (_jsxs(Box, { children: [_jsx(Box, { children: _jsx(Heading, { sx: { fontSize: 1 }, children: "Grades" }) }), _jsx(Box, { mt: 3, children: studentItem?.nbgrades.map(nb => {
11
- return (_jsx(Box, { children: _jsxs(Text, { sx: { fontSize: 'small' }, children: [nb.grade_id_s, ": ", nb.score_f] }) }));
12
- }) }), _jsx(Box, { mt: 3, children: _jsx(Heading, { sx: { fontSize: 1 }, children: "Total" }) }), _jsxs(Box, { mt: 3, children: [studentItem?.nbgradesTotalScore, " / ", studentItem?.nbgradesTotalPoints] })] })) : (_jsxs(Box, { children: [_jsx(Box, { children: _jsx(Heading, { sx: { fontSize: 1 }, children: "Grades" }) }), _jsx(Box, { mt: 3, children: "Please grade your assignment." })] }));
13
- };
14
- export default NbGradesDetails;
@@ -1 +0,0 @@
1
- export * from './NbGradesDetails';
@@ -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 * from './NbGradesDetails.js';
@@ -1,33 +0,0 @@
1
- import type { IRemoteServicesManager } from '../../stateful/runtimes';
2
- type ICreditsIndicatorProps = {
3
- /**
4
- * Kernel service manager
5
- */
6
- serviceManager: IRemoteServicesManager;
7
- /**
8
- * Kernel ID
9
- */
10
- kernelId: string;
11
- /**
12
- * Route to navigate to when the indicator is clicked.
13
- * Ignored if `onClick` is provided.
14
- */
15
- navigateTo?: string;
16
- /**
17
- * Callback on progress bar click event.
18
- * Takes precedence over `navigateTo`.
19
- */
20
- onClick?: () => void;
21
- /**
22
- * Callback on progress update.
23
- *
24
- * Progress is a percentage between 0 and 100.
25
- * Duration is the kernel max duration
26
- */
27
- onUpdate?: (progress: number, duration: number) => void;
28
- };
29
- /**
30
- * Credits indicator component.
31
- */
32
- export declare function CreditsIndicator(props: ICreditsIndicatorProps): JSX.Element | null;
33
- export {};
@@ -1,23 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
- /*
3
- * Copyright (c) 2023-2025 Datalayer, Inc.
4
- * Distributed under the terms of the Modified BSD License.
5
- */
6
- import { useState, useEffect } from 'react';
7
- import { Box } from '@datalayer/primer-addons';
8
- import { useNavigate } from '../../hooks/useNavigate.js';
9
- import { ConsumptionBar } from './ConsumptionBar.js';
10
- /**
11
- * Credits indicator component.
12
- */
13
- export function CreditsIndicator(props) {
14
- const { serviceManager, kernelId, navigateTo, onClick, onUpdate } = props;
15
- const navigate = useNavigate();
16
- const [model, setModel] = useState();
17
- useEffect(() => {
18
- serviceManager.runtimesManager.findById(kernelId).then(model => {
19
- setModel(model);
20
- });
21
- }, [kernelId, serviceManager]);
22
- return model ? (_jsx(Box, { display: "flex", style: { alignItems: 'center' }, children: _jsx(ConsumptionBar, { startedAt: parseFloat(model.started_at), expiredAt: model.expired_at ? parseFloat(model.expired_at) : undefined, burningRate: model.burning_rate, onClick: onClick ?? (navigateTo ? () => navigate(navigateTo) : undefined), onUpdate: onUpdate, style: { cursor: 'pointer' } }) })) : (_jsx(_Fragment, {}));
23
- }
@@ -1,39 +0,0 @@
1
- import { ITranslator } from '@jupyterlab/translation';
2
- /**
3
- * {@link RuntimeCellVariables} properties
4
- */
5
- interface IRuntimeCellVariablesProps {
6
- /**
7
- * Variable names to be imported
8
- */
9
- inputs: string[];
10
- /**
11
- * Importable variable names
12
- */
13
- getInputOptions?: () => Promise<string[]>;
14
- /**
15
- * Set the variable names to be imported
16
- */
17
- setInputs: (values: string[]) => void;
18
- /**
19
- * Variable name to be exported
20
- */
21
- output?: string;
22
- /**
23
- * Exportable variable names
24
- */
25
- getOutputOptions?: () => Promise<string[]>;
26
- /**
27
- * Set the variable name to be exported
28
- */
29
- setOutput: (value?: string) => void;
30
- /**
31
- * Application translator object
32
- */
33
- translator?: ITranslator;
34
- }
35
- /**
36
- * Runtime Cell Variables Picker.
37
- */
38
- export declare function RuntimeCellVariables(props: IRuntimeCellVariablesProps): JSX.Element;
39
- export default RuntimeCellVariables;