@datalayer/core 1.0.25 → 1.1.43

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