@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,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;