@datalayer/core 0.0.2 → 0.0.4

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 (474) hide show
  1. package/README.md +124 -2
  2. package/lib/App.css +47 -0
  3. package/lib/App.js +14 -2
  4. package/lib/__tests__/index.test.js +7 -6
  5. package/lib/api/{RunApi.d.ts → DatalayerApi.d.ts} +4 -4
  6. package/lib/api/{RunApi.js → DatalayerApi.js} +6 -11
  7. package/lib/api/index.d.ts +3 -2
  8. package/lib/api/index.js +3 -7
  9. package/lib/api/{runtimes → jupyter}/exec/Python.js +0 -5
  10. package/lib/api/{runtimes → jupyter}/exec/Snippets.js +0 -5
  11. package/lib/api/{runtimes → jupyter}/exec/index.js +0 -5
  12. package/lib/api/jupyter/index.d.ts +2 -0
  13. package/lib/api/jupyter/index.js +6 -0
  14. package/lib/api/{runtimes → jupyter}/kernelsHandler.d.ts +1 -1
  15. package/lib/api/{runtimes → jupyter}/kernelsHandler.js +1 -6
  16. package/lib/api/runtimes/actions.d.ts +102 -0
  17. package/lib/api/runtimes/{runtimesApi.js → actions.js} +47 -53
  18. package/lib/api/runtimes/{runtimesApi.d.ts → apis.d.ts} +8 -105
  19. package/lib/api/runtimes/apis.js +5 -0
  20. package/lib/api/runtimes/index.d.ts +2 -4
  21. package/lib/api/runtimes/index.js +2 -9
  22. package/lib/api/runtimes/settings.js +3 -8
  23. package/lib/api/runtimes/snapshots.d.ts +1 -1
  24. package/lib/api/runtimes/snapshots.js +8 -13
  25. package/lib/api/runtimes/utils.js +1 -9
  26. package/lib/assets/react.svg +1 -0
  27. package/lib/collaboration/DatalayerCollaboration.d.ts +9 -0
  28. package/lib/collaboration/DatalayerCollaboration.js +28 -0
  29. package/lib/collaboration/DatalayerCollaborationProvider.d.ts +54 -0
  30. package/lib/collaboration/DatalayerCollaborationProvider.js +162 -0
  31. package/lib/collaboration/index.d.ts +2 -0
  32. package/lib/collaboration/index.js +6 -0
  33. package/lib/components/avatars/BoringAvatar.d.ts +2 -3
  34. package/lib/components/avatars/BoringAvatar.js +14 -9
  35. package/lib/components/avatars/BoringAvatar.stories.d.ts +27 -0
  36. package/lib/components/avatars/BoringAvatar.stories.js +23 -0
  37. package/lib/components/avatars/UserProfileAvatar.js +2 -14
  38. package/lib/components/avatars/index.js +0 -5
  39. package/lib/components/banners/NoAutomationBanner.js +4 -9
  40. package/lib/components/banners/index.js +0 -5
  41. package/lib/components/buttons/DownloadCSVButton.d.ts +1 -1
  42. package/lib/components/buttons/DownloadCSVButton.js +1 -6
  43. package/lib/components/buttons/DownloadJsonButton.d.ts +1 -1
  44. package/lib/components/buttons/DownloadJsonButton.js +0 -5
  45. package/lib/components/buttons/LongActionButton.js +0 -5
  46. package/lib/components/buttons/UploadButton.js +1 -6
  47. package/lib/components/buttons/index.js +0 -5
  48. package/lib/components/checkout/StripeCheckout.d.ts +1 -1
  49. package/lib/components/checkout/StripeCheckout.js +6 -11
  50. package/lib/components/checkout/index.js +0 -5
  51. package/lib/components/confetti/ConfettiSuccess.js +1 -6
  52. package/lib/components/confetti/index.js +0 -5
  53. package/lib/components/context/OrganizationSelect.js +5 -10
  54. package/lib/components/context/SpaceSelect.js +7 -12
  55. package/lib/components/context/index.js +0 -5
  56. package/lib/components/display/AvatarSkeleton.js +1 -6
  57. package/lib/components/display/CenteredSpinner.js +4 -9
  58. package/lib/components/display/CodePreview.js +4 -9
  59. package/lib/components/display/DatalayerBox.js +13 -19
  60. package/lib/components/display/HorizontalCenter.d.ts +1 -1
  61. package/lib/components/display/HorizontalCenter.js +1 -1
  62. package/lib/components/display/JupyterDialog.js +17 -20
  63. package/lib/components/display/NavLink.d.ts +4 -2
  64. package/lib/components/display/NavLink.js +6 -9
  65. package/lib/components/display/NotebookSkeleton.js +2 -7
  66. package/lib/components/display/Placeholder.js +1 -6
  67. package/lib/components/display/ToTopBranded.js +1 -6
  68. package/lib/components/display/VisuallyHidden.js +0 -5
  69. package/lib/components/display/index.js +0 -5
  70. package/lib/components/echarts/EChartsReact.d.ts +1 -1
  71. package/lib/components/echarts/EChartsReact.js +7 -7
  72. package/lib/components/echarts/index.js +0 -5
  73. package/lib/components/flashes/FlashClosable.js +11 -16
  74. package/lib/components/flashes/FlashDisclaimer.js +2 -8
  75. package/lib/components/flashes/FlashGuest.js +3 -9
  76. package/lib/components/flashes/FlashSurveys.js +3 -9
  77. package/lib/components/flashes/FlashUnauthorized.js +2 -7
  78. package/lib/components/flashes/index.js +0 -5
  79. package/lib/components/flashes/surveys/Survey2025_1.d.ts +1 -1
  80. package/lib/components/flashes/surveys/Survey2025_1.js +62 -90
  81. package/lib/components/flashes/surveys/index.js +0 -5
  82. package/lib/components/iam/ExternalTokenSilentLogin.js +6 -9
  83. package/lib/components/iam/index.js +0 -5
  84. package/lib/components/icons/ArtifactIcon.d.ts +2 -2
  85. package/lib/components/icons/ArtifactIcon.js +39 -44
  86. package/lib/components/icons/index.js +0 -5
  87. package/lib/components/index.js +1 -6
  88. package/lib/components/labels/VisibilityLabel.js +2 -10
  89. package/lib/components/labels/index.js +0 -5
  90. package/lib/components/landings/StepBlock.d.ts +1 -1
  91. package/lib/components/landings/StepBlock.js +1 -6
  92. package/lib/components/landings/index.js +0 -5
  93. package/lib/components/navbar/NavigationVisbilityObserver.js +2 -7
  94. package/lib/components/navbar/SubdomainNavBar.js +46 -29
  95. package/lib/components/navbar/SubdomainNavBar.module.css +737 -0
  96. package/lib/components/navbar/index.js +0 -5
  97. package/lib/components/nbgrader/NbGradesDetails.d.ts +1 -1
  98. package/lib/components/nbgrader/NbGradesDetails.js +5 -13
  99. package/lib/components/nbgrader/index.js +0 -5
  100. package/lib/components/notebooks/JupyterNotebook.js +5 -10
  101. package/lib/components/notebooks/JupyterNotebookToolbar.js +3 -8
  102. package/lib/components/notebooks/index.js +0 -5
  103. package/lib/components/primer/Helper.d.ts +1 -1
  104. package/lib/components/primer/Helper.js +5 -3
  105. package/lib/components/primer/Portals.d.ts +1 -1
  106. package/lib/components/primer/Portals.js +2 -7
  107. package/lib/components/primer/Styles.js +1 -6
  108. package/lib/components/primer/index.js +0 -5
  109. package/lib/components/progress/ConsumptionBar.js +2 -7
  110. package/lib/components/progress/CreditsIndicator.d.ts +1 -1
  111. package/lib/components/progress/CreditsIndicator.js +4 -13
  112. package/lib/components/progress/ProgressBar.js +0 -5
  113. package/lib/components/progress/ProgressRing.js +2 -2
  114. package/lib/components/progress/Timer.js +0 -5
  115. package/lib/components/progress/index.js +0 -5
  116. package/lib/components/runtimes/RuntimeCellVariables.js +9 -14
  117. package/lib/components/runtimes/RuntimeCellVariablesDialog.js +7 -12
  118. package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +1 -2
  119. package/lib/components/runtimes/RuntimeLauncherDialog.js +32 -40
  120. package/lib/components/runtimes/RuntimePickerBase.d.ts +1 -1
  121. package/lib/components/runtimes/RuntimePickerBase.js +42 -36
  122. package/lib/components/runtimes/RuntimePickerCell.js +9 -17
  123. package/lib/components/runtimes/RuntimePickerNotebook.d.ts +1 -2
  124. package/lib/components/runtimes/RuntimePickerNotebook.js +45 -50
  125. package/lib/components/runtimes/RuntimeReservationControl.js +10 -20
  126. package/lib/components/runtimes/RuntimeSimplePicker.d.ts +1 -1
  127. package/lib/components/runtimes/RuntimeSimplePicker.js +44 -52
  128. package/lib/components/runtimes/RuntimeUtils.d.ts +1 -1
  129. package/lib/components/runtimes/RuntimeUtils.js +22 -17
  130. package/lib/components/runtimes/RuntimeVariables.js +7 -12
  131. package/lib/components/runtimes/index.js +0 -5
  132. package/lib/components/screenshot/ScreenCapture.js +10 -19
  133. package/lib/components/screenshot/ScreenCaptureButton.d.ts +1 -1
  134. package/lib/components/screenshot/ScreenCaptureButton.js +14 -8
  135. package/lib/components/screenshot/index.js +0 -5
  136. package/lib/components/snapshots/RuntimeSnapshotMenu.js +19 -22
  137. package/lib/components/snapshots/index.js +0 -5
  138. package/lib/components/snippets/SnippetDialog.js +5 -10
  139. package/lib/components/snippets/index.js +0 -5
  140. package/lib/components/storage/ContentsBrowser.js +75 -63
  141. package/lib/components/storage/ContentsItems.js +10 -13
  142. package/lib/components/storage/index.js +0 -5
  143. package/lib/components/students/StudentItemStatus.d.ts +1 -1
  144. package/lib/components/students/StudentItemStatus.js +38 -21
  145. package/lib/components/students/index.js +0 -5
  146. package/lib/components/subnav/SubNav.d.ts +3 -3
  147. package/lib/components/subnav/SubNav.js +34 -24
  148. package/lib/components/subnav/SubNav.module.css +717 -0
  149. package/lib/components/subnav/index.js +0 -5
  150. package/lib/components/tables/DataTable.js +1 -9
  151. package/lib/components/tables/index.js +0 -5
  152. package/lib/components/text-reveal/TextRevealAnimation.js +7 -8
  153. package/lib/components/text-reveal/TextRevealAnimation.module.css +45 -0
  154. package/lib/components/text-reveal/index.js +0 -5
  155. package/lib/components/text-reveal/useTextRevealAnimationLines.js +0 -5
  156. package/lib/components/tokens/SpaceVariantToken.d.ts +1 -1
  157. package/lib/components/tokens/SpaceVariantToken.js +5 -10
  158. package/lib/components/tokens/index.js +0 -5
  159. package/lib/components/toolbars/AssignmentEditorToolbar.js +1 -8
  160. package/lib/components/toolbars/DocumentEditorToolbar.js +0 -5
  161. package/lib/components/toolbars/NotebookEditorToolbar.d.ts +1 -1
  162. package/lib/components/toolbars/NotebookEditorToolbar.js +0 -5
  163. package/lib/components/toolbars/index.js +0 -5
  164. package/lib/components/users/PeerIndicator.d.ts +1 -1
  165. package/lib/components/users/PeerIndicator.js +5 -10
  166. package/lib/components/users/index.js +0 -5
  167. package/lib/config/Configuration.d.ts +48 -0
  168. package/lib/config/Configuration.js +42 -5
  169. package/lib/config/index.js +0 -5
  170. package/lib/config/integrations/Loom.js +3 -8
  171. package/lib/config/integrations/index.js +0 -5
  172. package/lib/examples/CellExample.d.ts +6 -0
  173. package/lib/examples/CellExample.js +55 -0
  174. package/lib/examples/DatalayerNotebookExample.d.ts +16 -0
  175. package/lib/examples/DatalayerNotebookExample.js +75 -0
  176. package/lib/examples/NativeNavigationExample.d.ts +8 -0
  177. package/lib/examples/NativeNavigationExample.js +97 -0
  178. package/lib/examples/NotebookExample.d.ts +6 -0
  179. package/lib/examples/NotebookExample.js +24 -0
  180. package/lib/examples/NotebookMutationsKernel.d.ts +2 -0
  181. package/lib/examples/NotebookMutationsKernel.js +115 -0
  182. package/lib/examples/NotebookMutationsServiceManager.d.ts +2 -0
  183. package/lib/examples/NotebookMutationsServiceManager.js +107 -0
  184. package/lib/examples/ReactRouterExample.d.ts +6 -0
  185. package/lib/examples/ReactRouterExample.js +175 -0
  186. package/lib/examples/example-selector.d.ts +22 -0
  187. package/lib/examples/example-selector.js +45 -0
  188. package/lib/examples/index.d.ts +2 -0
  189. package/lib/examples/index.js +6 -0
  190. package/lib/examples/main.js +153 -0
  191. package/lib/examples/notebooks/IPyWidgetsExample.ipynb.json +101 -0
  192. package/lib/examples/notebooks/IPyWidgetsExampleWithState.ipynb.json +112 -0
  193. package/lib/examples/notebooks/Lite.ipynb.json +128 -0
  194. package/lib/examples/notebooks/Matplotlib.ipynb.json +137 -0
  195. package/lib/examples/notebooks/NotebookExample1.ipynb.json +126 -0
  196. package/lib/examples/notebooks/NotebookExample2.ipynb.json +48 -0
  197. package/lib/examples/notebooks/NotebookOutputs.ipynb.json +49 -0
  198. package/lib/examples/notebooks/NotebookToCExample.ipynb.json +102 -0
  199. package/lib/examples/notebooks/OutputIPyWidgetsExample.d.ts +145 -0
  200. package/lib/examples/notebooks/OutputIPyWidgetsExample.js +153 -0
  201. package/lib/examples/notebooks/PyGWalker.ipynb.json +55 -0
  202. package/lib/hooks/assets/OutputshotPlaceholders.d.ts +10 -10
  203. package/lib/hooks/assets/OutputshotPlaceholders.js +9 -14
  204. package/lib/hooks/assets/index.js +0 -5
  205. package/lib/hooks/index.d.ts +29 -28
  206. package/lib/hooks/index.js +29 -33
  207. package/lib/hooks/layouts/LayoutBackdrop.js +3 -11
  208. package/lib/hooks/layouts/LayoutScreenshot.css +58 -0
  209. package/lib/hooks/layouts/LayoutScreenshot.d.ts +1 -0
  210. package/lib/hooks/layouts/LayoutScreenshot.js +7 -11
  211. package/lib/hooks/layouts/index.js +0 -5
  212. package/lib/hooks/useAIAgents.d.ts +1 -1
  213. package/lib/hooks/useAIAgents.js +13 -18
  214. package/lib/hooks/useAuthorization.js +4 -10
  215. package/lib/hooks/useBackdrop.js +7 -12
  216. package/lib/hooks/useBackdropJupyterLab.d.ts +1 -1
  217. package/lib/hooks/useBackdropJupyterLab.js +4 -9
  218. package/lib/hooks/useCache.d.ts +8 -4
  219. package/lib/hooks/useCache.js +410 -361
  220. package/lib/hooks/useCellOutputshot.js +3 -11
  221. package/lib/hooks/useContainsFocus.js +2 -6
  222. package/lib/hooks/useDatalayer.d.ts +21 -0
  223. package/lib/hooks/{useRun.js → useDatalayer.js} +16 -18
  224. package/lib/hooks/useError.d.ts +1 -1
  225. package/lib/hooks/useError.js +2 -7
  226. package/lib/hooks/useExternalScript.js +4 -9
  227. package/lib/hooks/useFocusTrap.d.ts +1 -1
  228. package/lib/hooks/useFocusTrap.js +3 -7
  229. package/lib/hooks/useIAM.js +6 -12
  230. package/lib/hooks/useId.js +6 -11
  231. package/lib/hooks/useIsomorphicLayoutEffect.js +0 -5
  232. package/lib/hooks/useJupyterLabTheme.js +3 -6
  233. package/lib/hooks/useKeyboardEscape.js +0 -5
  234. package/lib/hooks/useLocation.d.ts +22 -0
  235. package/lib/hooks/useLocation.js +149 -0
  236. package/lib/hooks/useLocationHandles.d.ts +2 -2
  237. package/lib/hooks/useLocationHandles.js +6 -9
  238. package/lib/hooks/useNavigate.d.ts +5 -1
  239. package/lib/hooks/useNavigate.js +62 -12
  240. package/lib/hooks/useNotebookAIAgent.js +3 -6
  241. package/lib/hooks/useOnClickOutside.js +0 -5
  242. package/lib/hooks/useParams.d.ts +5 -0
  243. package/lib/hooks/useParams.js +152 -0
  244. package/lib/hooks/useRef.js +0 -5
  245. package/lib/hooks/useRuntimes.js +2 -7
  246. package/lib/hooks/useScreenshot.js +5 -10
  247. package/lib/hooks/useToast.js +21 -21
  248. package/lib/hooks/useUpload.js +9 -14
  249. package/lib/hooks/useUser.js +1 -1
  250. package/lib/hooks/useVisibilityObserver.js +0 -5
  251. package/lib/hooks/useWindowSize.js +0 -6
  252. package/lib/i18n/Labels.js +0 -5
  253. package/lib/i18n/index.js +0 -5
  254. package/lib/index.css +73 -0
  255. package/lib/index.d.ts +6 -3
  256. package/lib/index.js +7 -3
  257. package/lib/main.js +1 -2
  258. package/lib/mocks/components/FlashMock.js +4 -9
  259. package/lib/mocks/components/index.js +0 -5
  260. package/lib/mocks/hooks/index.d.ts +1 -1
  261. package/lib/mocks/hooks/index.js +1 -6
  262. package/lib/mocks/hooks/rests/index.js +0 -5
  263. package/lib/mocks/hooks/rests/rests.js +15 -23
  264. package/lib/mocks/hooks/useDatalayerMock.d.ts +6 -0
  265. package/lib/mocks/hooks/{useRunMock.js → useDatalayerMock.js} +9 -14
  266. package/lib/mocks/index.js +0 -5
  267. package/lib/mocks/jupyter/index.js +1 -6
  268. package/lib/mocks/models/CodeBlockMock.js +1 -6
  269. package/lib/mocks/models/CodelineMock.js +1 -6
  270. package/lib/mocks/models/CourseMock.d.ts +1 -1
  271. package/lib/mocks/models/CourseMock.js +10 -15
  272. package/lib/mocks/models/InviteMock.d.ts +1 -1
  273. package/lib/mocks/models/InviteMock.js +21 -11
  274. package/lib/mocks/models/JupyterLabUserMock.js +2 -2
  275. package/lib/mocks/models/OrganisationMock.d.ts +1 -1
  276. package/lib/mocks/models/OrganisationMock.js +11 -7
  277. package/lib/mocks/models/SchoolMock.d.ts +1 -1
  278. package/lib/mocks/models/SchoolMock.js +6 -6
  279. package/lib/mocks/models/SpaceMock.d.ts +1 -1
  280. package/lib/mocks/models/SpaceMock.js +9 -14
  281. package/lib/mocks/models/TeamMock.d.ts +1 -1
  282. package/lib/mocks/models/TeamMock.js +6 -6
  283. package/lib/mocks/models/UserMock.d.ts +1 -1
  284. package/lib/mocks/models/UserMock.js +4 -11
  285. package/lib/mocks/models/index.js +0 -5
  286. package/lib/mocks/views/ActionMenuMock.js +1 -6
  287. package/lib/mocks/views/ChartMock.js +3 -8
  288. package/lib/mocks/views/ChartMockOptions.js +24 -29
  289. package/lib/mocks/views/DashboardMock.js +74 -79
  290. package/lib/mocks/views/FormMock.js +1 -6
  291. package/lib/mocks/views/TableMock.js +1 -6
  292. package/lib/mocks/views/WipMock.js +0 -5
  293. package/lib/mocks/views/index.js +0 -5
  294. package/lib/models/Account.d.ts +2 -2
  295. package/lib/models/Assignment.d.ts +2 -2
  296. package/lib/models/Cell.d.ts +1 -1
  297. package/lib/models/CodeBlock.d.ts +1 -1
  298. package/lib/models/CodefeedBlocks.d.ts +2 -2
  299. package/lib/models/Contact.d.ts +1 -1
  300. package/lib/models/Contact.js +14 -19
  301. package/lib/models/ContactEvent.js +0 -5
  302. package/lib/models/ContactIAMProvider.js +2 -2
  303. package/lib/models/Course.d.ts +7 -7
  304. package/lib/models/Credits.js +0 -5
  305. package/lib/models/Dataset.d.ts +2 -2
  306. package/lib/models/Datasource.js +0 -5
  307. package/lib/models/Dean.d.ts +1 -1
  308. package/lib/models/Document.d.ts +1 -1
  309. package/lib/models/Environment.d.ts +2 -2
  310. package/lib/models/Errors.js +0 -5
  311. package/lib/models/Exercise.d.ts +1 -1
  312. package/lib/models/GrowthKPI.js +0 -5
  313. package/lib/models/IAMProviderLinked.js +1 -1
  314. package/lib/models/IAMProviderUsers.js +0 -5
  315. package/lib/models/IAMToken.js +0 -5
  316. package/lib/models/Inbound.js +0 -5
  317. package/lib/models/Instructor.d.ts +1 -1
  318. package/lib/models/Invite.d.ts +2 -2
  319. package/lib/models/Invite.js +1 -1
  320. package/lib/models/Item.d.ts +5 -5
  321. package/lib/models/LandingRoles.js +18 -23
  322. package/lib/models/Lesson.d.ts +1 -1
  323. package/lib/models/Member.d.ts +1 -1
  324. package/lib/models/Notebook.d.ts +1 -1
  325. package/lib/models/Organization.d.ts +4 -4
  326. package/lib/models/Organization.js +2 -7
  327. package/lib/models/OrganizationMember.d.ts +2 -2
  328. package/lib/models/Outbound.js +7 -12
  329. package/lib/models/Page.js +4 -2
  330. package/lib/models/PageTag.d.ts +2 -2
  331. package/lib/models/PageTag.js +56 -9
  332. package/lib/models/Profile.d.ts +1 -1
  333. package/lib/models/RolesOrganization.d.ts +1 -1
  334. package/lib/models/RolesOrganization.js +4 -17
  335. package/lib/models/RolesPlatform.d.ts +1 -1
  336. package/lib/models/RolesPlatform.js +12 -39
  337. package/lib/models/RolesTeam.d.ts +1 -1
  338. package/lib/models/RolesTeam.js +3 -15
  339. package/lib/models/Runtime.d.ts +59 -1
  340. package/lib/models/Runtime.js +11 -9
  341. package/lib/models/RuntimeSnapshot.js +1 -1
  342. package/lib/models/School.d.ts +4 -4
  343. package/lib/models/Secret.js +0 -5
  344. package/lib/models/Space.d.ts +5 -5
  345. package/lib/models/Space.js +3 -3
  346. package/lib/models/SpaceItem.d.ts +8 -8
  347. package/lib/models/SpaceMember.d.ts +2 -2
  348. package/lib/models/Student.d.ts +2 -2
  349. package/lib/models/StudentItem.d.ts +3 -3
  350. package/lib/models/Survey.js +0 -5
  351. package/lib/models/Team.d.ts +3 -3
  352. package/lib/models/Team.js +2 -7
  353. package/lib/models/TeamMember.d.ts +2 -2
  354. package/lib/models/URN.js +1 -6
  355. package/lib/models/User.d.ts +2 -2
  356. package/lib/models/User.js +7 -10
  357. package/lib/models/UserEvent.js +0 -5
  358. package/lib/models/UserOnboarding.d.ts +1 -1
  359. package/lib/models/UserOnboarding.js +7 -12
  360. package/lib/models/UserSettings.js +2 -7
  361. package/lib/models/index.d.ts +2 -2
  362. package/lib/models/index.js +2 -7
  363. package/lib/navigation/adapters/native.d.ts +11 -0
  364. package/lib/navigation/adapters/native.js +48 -0
  365. package/lib/navigation/adapters/nextjs.d.ts +9 -0
  366. package/lib/navigation/adapters/nextjs.js +35 -0
  367. package/lib/navigation/adapters/react-router.d.ts +4 -0
  368. package/lib/navigation/adapters/react-router.js +12 -0
  369. package/lib/navigation/components.d.ts +20 -0
  370. package/lib/navigation/components.js +36 -0
  371. package/lib/navigation/index.d.ts +4 -0
  372. package/lib/navigation/index.js +12 -0
  373. package/lib/routes/Routes.js +0 -5
  374. package/lib/routes/index.d.ts +1 -1
  375. package/lib/routes/index.js +1 -6
  376. package/lib/services/DatalayerServiceManager.d.ts +22 -0
  377. package/lib/services/DatalayerServiceManager.js +79 -0
  378. package/lib/services/index.d.ts +4 -0
  379. package/lib/services/index.js +7 -0
  380. package/lib/services/reconnectToRuntime.d.ts +32 -0
  381. package/lib/services/reconnectToRuntime.js +59 -0
  382. package/lib/state/State.d.ts +1 -1
  383. package/lib/state/State.js +1 -6
  384. package/lib/state/index.d.ts +1 -1
  385. package/lib/state/index.js +1 -6
  386. package/lib/state/storage/IAMStorage.js +14 -7
  387. package/lib/state/storage/index.d.ts +1 -1
  388. package/lib/state/storage/index.js +1 -6
  389. package/lib/state/substates/AIAgentState.js +4 -7
  390. package/lib/state/substates/CellState.js +6 -10
  391. package/lib/state/substates/CoreState.d.ts +1 -1
  392. package/lib/state/substates/CoreState.js +23 -20
  393. package/lib/state/substates/DatasourceState.js +1 -6
  394. package/lib/state/substates/DocumentState.js +0 -5
  395. package/lib/state/substates/GradeState.js +0 -5
  396. package/lib/state/substates/IAMState.d.ts +5 -1
  397. package/lib/state/substates/IAMState.js +88 -72
  398. package/lib/state/substates/JupyterLabState.js +1 -6
  399. package/lib/state/substates/LayoutState.d.ts +2 -2
  400. package/lib/state/substates/LayoutState.js +41 -28
  401. package/lib/state/substates/NbformatState.js +0 -5
  402. package/lib/state/substates/OrganizationState.js +1 -6
  403. package/lib/state/substates/RuntimesState.d.ts +2 -2
  404. package/lib/state/substates/RuntimesState.js +6 -10
  405. package/lib/state/substates/SpaceState.js +1 -6
  406. package/lib/state/substates/SurveysState.js +7 -12
  407. package/lib/state/substates/TeamState.js +1 -6
  408. package/lib/state/substates/index.js +0 -5
  409. package/lib/stories/assets/accessibility.png +0 -0
  410. package/lib/stories/assets/accessibility.svg +1 -0
  411. package/lib/stories/assets/addon-library.png +0 -0
  412. package/lib/stories/assets/assets.png +0 -0
  413. package/lib/stories/assets/context.png +0 -0
  414. package/lib/stories/assets/discord.svg +1 -0
  415. package/lib/stories/assets/docs.png +0 -0
  416. package/lib/stories/assets/figma-plugin.png +0 -0
  417. package/lib/stories/assets/github.svg +1 -0
  418. package/lib/stories/assets/share.png +0 -0
  419. package/lib/stories/assets/styling.png +0 -0
  420. package/lib/stories/assets/testing.png +0 -0
  421. package/lib/stories/assets/theming.png +0 -0
  422. package/lib/stories/assets/tutorials.svg +1 -0
  423. package/lib/stories/assets/youtube.svg +1 -0
  424. package/lib/stories/button.css +35 -0
  425. package/lib/stories/header.css +37 -0
  426. package/lib/stories/page.css +73 -0
  427. package/lib/test-setup.js +73 -1
  428. package/lib/theme/DatalayerTheme.js +1 -6
  429. package/lib/theme/DatalayerThemeProvider.js +17 -19
  430. package/lib/theme/Palette.js +1 -6
  431. package/lib/theme/index.js +0 -5
  432. package/lib/utils/Array.js +0 -5
  433. package/lib/utils/Avatar.js +2 -7
  434. package/lib/utils/Browser.js +6 -11
  435. package/lib/utils/Cells.d.ts +1 -1
  436. package/lib/utils/Cookie.js +1 -6
  437. package/lib/utils/Date.js +5 -10
  438. package/lib/utils/Download.js +5 -8
  439. package/lib/utils/DownloadFile.js +4 -7
  440. package/lib/utils/Env.js +2 -6
  441. package/lib/utils/File.js +0 -5
  442. package/lib/utils/Ids.js +0 -5
  443. package/lib/utils/Jupyter.js +0 -5
  444. package/lib/utils/Lazy.d.ts +1 -1
  445. package/lib/utils/Lazy.js +2 -8
  446. package/lib/utils/Name.js +10 -13
  447. package/lib/utils/Notebook.d.ts +1 -1
  448. package/lib/utils/Notebook.js +3 -3
  449. package/lib/utils/Number.js +13 -14
  450. package/lib/utils/Plots.d.ts +1 -1
  451. package/lib/utils/Plots.js +5 -5
  452. package/lib/utils/Random.js +0 -5
  453. package/lib/utils/Screenshot.js +1 -6
  454. package/lib/utils/Scroll.js +3 -7
  455. package/lib/utils/Sleep.js +1 -6
  456. package/lib/utils/Snapshot.js +2 -7
  457. package/lib/utils/String.js +2 -7
  458. package/lib/utils/Uri.js +2 -7
  459. package/lib/utils/Validator.js +0 -5
  460. package/lib/utils/WithSuspense.js +3 -11
  461. package/lib/utils/index.js +0 -5
  462. package/package.json +96 -30
  463. package/style/animation/Animation.module.css +174 -0
  464. package/style/base.css +64 -0
  465. package/style/index.css +6 -0
  466. package/lib/__tests__/App.test.js +0 -17
  467. package/lib/api/runtimes/models.d.ts +0 -59
  468. package/lib/api/runtimes/models.js +0 -11
  469. package/lib/hooks/useRun.d.ts +0 -21
  470. package/lib/mocks/hooks/useRunMock.d.ts +0 -6
  471. /package/lib/api/{runtimes → jupyter}/exec/Python.d.ts +0 -0
  472. /package/lib/api/{runtimes → jupyter}/exec/Snippets.d.ts +0 -0
  473. /package/lib/api/{runtimes → jupyter}/exec/index.d.ts +0 -0
  474. /package/lib/{__tests__/App.test.d.ts → examples/main.d.ts} +0 -0
@@ -6,7 +6,7 @@ export function asIAMProviderLinked(iamProvider) {
6
6
  const info = iamProvider.linkedAccount.replaceAll("'", '"');
7
7
  return {
8
8
  iamProviderName: iamProvider.iam_ProviderName,
9
- linkedAccount: JSON.parse(info === "" ? "{}" : info),
9
+ linkedAccount: JSON.parse(info === '' ? '{}' : info),
10
10
  linkedAccountUrl: iamProvider.linkedAccountUrl,
11
11
  linkedAccountId: iamProvider.linkedAccountId,
12
12
  };
@@ -2,11 +2,6 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
5
  import { asDisplayName } from '../utils';
11
6
  export class LinkedInUser {
12
7
  iamProvider = 'linkedin';
@@ -2,11 +2,6 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
5
  export const asToken = (s) => {
11
6
  return {
12
7
  id: s.uid,
@@ -2,11 +2,6 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
5
  export class Inbound {
11
6
  id;
12
7
  subType;
@@ -1,3 +1,3 @@
1
- import { IUser } from "./User";
1
+ import { IUser } from './User';
2
2
  export type Instructor = IUser & {};
3
3
  export default Instructor;
@@ -1,5 +1,5 @@
1
- import { IUser } from "./User";
2
- import { IContact } from "./Contact";
1
+ import { IUser } from './User';
2
+ import { IContact } from './Contact';
3
3
  export declare const asInvite: (i: any) => IInvite;
4
4
  export type IInvite = {
5
5
  id: string;
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- import { asDisplayName, namesAsInitials } from "../utils";
5
+ import { asDisplayName, namesAsInitials } from '../utils';
6
6
  export const asInvite = (i) => {
7
7
  const to = {
8
8
  id: i.to_contact_uid,
@@ -1,8 +1,8 @@
1
- import { ISpaceItem } from "./SpaceItem";
2
- import { IUser } from "./User";
3
- import { IAnyOrganization } from "./Organization";
4
- import { IAnySpace } from "./Space";
5
- import { IItemType } from "./ItemType";
1
+ import { ISpaceItem } from './SpaceItem';
2
+ import { IUser } from './User';
3
+ import { IAnyOrganization } from './Organization';
4
+ import { IAnySpace } from './Space';
5
+ import { IItemType } from './ItemType';
6
6
  export type IAnyItem = ISpaceItem;
7
7
  export type IItem = {
8
8
  id: string;
@@ -2,31 +2,26 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
5
  export const LANDING_ANIMATION_DELAY_SEC = 3;
11
6
  export const LANDING_ROLES = [
12
- "✨ AI Engineers",
13
- "🧑‍💻 Data Scientists",
14
- "🤖 ML Developers",
15
- "🌎 Earth Scientists",
16
- "⚗️ Biochemists",
17
- "📊 Data Analysts",
18
- "🗺️ GIS Specialists",
19
- "🧪 Biophysicists",
20
- "🛰️ EO Researchers",
21
- "🚀 Geospatial Engineers",
22
- "🧬 Computational Biologists",
23
- "🌐 Geospatial Scientists",
7
+ '✨ AI Engineers',
8
+ '🧑‍💻 Data Scientists',
9
+ '🤖 ML Developers',
10
+ '🌎 Earth Scientists',
11
+ '⚗️ Biochemists',
12
+ '📊 Data Analysts',
13
+ '🗺️ GIS Specialists',
14
+ '🧪 Biophysicists',
15
+ '🛰️ EO Researchers',
16
+ '🚀 Geospatial Engineers',
17
+ '🧬 Computational Biologists',
18
+ '🌐 Geospatial Scientists',
24
19
  ];
25
20
  export const LANDING_STUDIO_EASES = [
26
- "🧑‍💻 real-time editing",
27
- "✨ AI-powered content",
28
- "🤖 version control efficiency",
29
- "🌎 real-time synchronisation",
30
- "⚗️ amazing content experience",
31
- "📊 whiteboard collaboration",
21
+ '🧑‍💻 real-time editing',
22
+ '✨ AI-powered content',
23
+ '🤖 version control efficiency',
24
+ '🌎 real-time synchronisation',
25
+ '⚗️ amazing content experience',
26
+ '📊 whiteboard collaboration',
32
27
  ];
@@ -1,4 +1,4 @@
1
- import { IBaseNotebook } from "./Notebook";
1
+ import { IBaseNotebook } from './Notebook';
2
2
  export type ILesson = IBaseNotebook & {
3
3
  type: 'lesson';
4
4
  };
@@ -1,3 +1,3 @@
1
- import { IUser } from "./User";
1
+ import { IUser } from './User';
2
2
  export type Member = IUser & {};
3
3
  export default Member;
@@ -1,5 +1,5 @@
1
1
  import { INotebookContent } from '@jupyterlab/nbformat';
2
- import { IItem } from "./Item";
2
+ import { IItem } from './Item';
3
3
  import { IDataset } from './Dataset';
4
4
  export type IBaseNotebook = IItem & {
5
5
  nbformat?: INotebookContent;
@@ -1,6 +1,6 @@
1
- import { ITeam } from "./Team";
2
- import { ISchool } from "./School";
3
- import { IOrganizationMember } from "./OrganizationMember";
1
+ import { ITeam } from './Team';
2
+ import { ISchool } from './School';
3
+ import { IOrganizationMember } from './OrganizationMember';
4
4
  /**
5
5
  * Convert the raw user object to {@link IOrganization}.
6
6
  *
@@ -21,7 +21,7 @@ export type IBaseOrganization = {
21
21
  setMembers: (members: IOrganizationMember[]) => void;
22
22
  };
23
23
  export type IOrganization = IBaseOrganization & {
24
- type: "organization";
24
+ type: 'organization';
25
25
  teams: ITeam[];
26
26
  };
27
27
  export default IOrganization;
@@ -2,13 +2,8 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
- import { asArray } from "../utils";
11
- import { asUser } from "./User";
5
+ import { asArray } from '../utils';
6
+ import { asUser } from './User';
12
7
  /**
13
8
  * Convert the raw user object to {@link IOrganization}.
14
9
  *
@@ -1,5 +1,5 @@
1
- import { Member } from "./Member";
2
- import { IOrganization } from "./Organization";
1
+ import { Member } from './Member';
2
+ import { IOrganization } from './Organization';
3
3
  export type IOrganizationMember = Member & {
4
4
  organization?: IOrganization;
5
5
  };
@@ -2,11 +2,6 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
5
  export class Outbound {
11
6
  id;
12
7
  subType;
@@ -25,13 +20,13 @@ export class Outbound {
25
20
  constructor(u) {
26
21
  this.id = u.uid;
27
22
  this.subType = u.subType;
28
- this.name = u.name,
29
- this.description = u.description,
30
- this.tags = u.tags ?? [],
31
- this.status = u.status,
32
- this.emailSubject = u.emailSubject,
33
- this.emailContent = u.emailContent,
34
- this.senderUid = u.senderUid;
23
+ this.name = u.name;
24
+ this.description = u.description;
25
+ this.tags = u.tags ?? [];
26
+ this.status = u.status;
27
+ this.emailSubject = u.emailSubject;
28
+ this.emailContent = u.emailContent;
29
+ this.senderUid = u.senderUid;
35
30
  this.senderDisplayName = u.senderDisplayName;
36
31
  this.recipients = u.recipients;
37
32
  this.creationDate = new Date(u.creationDate);
@@ -14,10 +14,12 @@ export const asPage = (s) => {
14
14
  theme: s.theme_s,
15
15
  nbformat: s.nbformat_s ? JSON.parse(s.nbformat_s) : undefined,
16
16
  screenCapture: s.screen_capture_s,
17
- tags: (s.tags_ss ?? []),
17
+ tags: s.tags_ss ?? [],
18
18
  creator: s.creator ? asUser(s.creator) : undefined,
19
19
  creatorId: s.creator_uid,
20
- kernelSnapshot: s.kernel_snapshot ? asRuntimeSnapshot(s.kernel_snapshot) : undefined,
20
+ kernelSnapshot: s.kernel_snapshot
21
+ ? asRuntimeSnapshot(s.kernel_snapshot)
22
+ : undefined,
21
23
  kernelSnapshotId: s.kernel_snapshot_uid,
22
24
  };
23
25
  };
@@ -1,6 +1,6 @@
1
1
  import { CardIconColors } from '@primer/react-brand';
2
2
  import { Icon } from '@primer/octicons-react';
3
- type CardIconColorsType = typeof CardIconColors[number];
3
+ type CardIconColorsType = (typeof CardIconColors)[number];
4
4
  export type PageTagMetadata = {
5
5
  fillColor: React.CSSProperties['backgroundColor'];
6
6
  };
@@ -15,5 +15,5 @@ export type PageTag = {
15
15
  export declare const PAGE_TAGE_NONE: PageTag;
16
16
  export declare const PAGE_TAGS: PageTag[];
17
17
  export declare const PAGE_TAGS_BY_NAME_MAP: Map<PageTagName | undefined, PageTag>;
18
- export declare const PAGE_TAGS_BY_COLOR_MAP: Map<"default" | "yellow" | "blue" | "coral" | "green" | "gray" | "indigo" | "lemon" | "lime" | "orange" | "pink" | "purple" | "red" | "teal", PageTag>;
18
+ export declare const PAGE_TAGS_BY_COLOR_MAP: Map<"blue" | "coral" | "gray" | "green" | "indigo" | "lime" | "orange" | "pink" | "purple" | "red" | "teal" | "yellow" | "default" | "lemon", PageTag>;
19
19
  export {};
@@ -3,15 +3,62 @@
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
5
  import { CopilotIcon, ZapIcon } from '@primer/octicons-react';
6
- export const PAGE_TAGE_NONE = { id: '0', text: undefined, Icon: CopilotIcon, color: 'pink' };
7
- const PAGE_TAGE_AI = { id: '1', text: 'ai', Icon: CopilotIcon, color: 'pink' };
8
- const PAGE_TAGE_DEEP_LEARNING = { id: '2', text: 'deep-learning', Icon: ZapIcon, color: 'blue' };
9
- const PAGE_TAGE_EXAMPLE = { id: '3', text: 'example', Icon: CopilotIcon, color: 'lime' };
10
- const PAGE_TAGE_LLM = { id: '4', text: 'llm', Icon: CopilotIcon, color: 'coral' };
11
- const PAGE_TAGE_PYTHON = { id: '5', text: 'python', Icon: CopilotIcon, color: 'gray', metadata: { fillColor: 'var(--base-color-green-0)' } };
12
- const PAGE_TAGE_PYTORCH = { id: '6', text: 'pytorch', Icon: CopilotIcon, color: 'green' };
13
- const PAGE_TAGE_SPATIAL = { id: '7', text: 'spatial', Icon: CopilotIcon, color: 'lemon' };
14
- const PAGE_TAGE_TUTORIAL = { id: '8', text: 'tutorial', Icon: CopilotIcon, color: 'orange', metadata: { fillColor: 'yellow' } };
6
+ export const PAGE_TAGE_NONE = {
7
+ id: '0',
8
+ text: undefined,
9
+ Icon: CopilotIcon,
10
+ color: 'pink',
11
+ };
12
+ const PAGE_TAGE_AI = {
13
+ id: '1',
14
+ text: 'ai',
15
+ Icon: CopilotIcon,
16
+ color: 'pink',
17
+ };
18
+ const PAGE_TAGE_DEEP_LEARNING = {
19
+ id: '2',
20
+ text: 'deep-learning',
21
+ Icon: ZapIcon,
22
+ color: 'blue',
23
+ };
24
+ const PAGE_TAGE_EXAMPLE = {
25
+ id: '3',
26
+ text: 'example',
27
+ Icon: CopilotIcon,
28
+ color: 'lime',
29
+ };
30
+ const PAGE_TAGE_LLM = {
31
+ id: '4',
32
+ text: 'llm',
33
+ Icon: CopilotIcon,
34
+ color: 'coral',
35
+ };
36
+ const PAGE_TAGE_PYTHON = {
37
+ id: '5',
38
+ text: 'python',
39
+ Icon: CopilotIcon,
40
+ color: 'gray',
41
+ metadata: { fillColor: 'var(--base-color-green-0)' },
42
+ };
43
+ const PAGE_TAGE_PYTORCH = {
44
+ id: '6',
45
+ text: 'pytorch',
46
+ Icon: CopilotIcon,
47
+ color: 'green',
48
+ };
49
+ const PAGE_TAGE_SPATIAL = {
50
+ id: '7',
51
+ text: 'spatial',
52
+ Icon: CopilotIcon,
53
+ color: 'lemon',
54
+ };
55
+ const PAGE_TAGE_TUTORIAL = {
56
+ id: '8',
57
+ text: 'tutorial',
58
+ Icon: CopilotIcon,
59
+ color: 'orange',
60
+ metadata: { fillColor: 'yellow' },
61
+ };
15
62
  export const PAGE_TAGS = [
16
63
  PAGE_TAGE_AI,
17
64
  PAGE_TAGE_DEEP_LEARNING,
@@ -1 +1 @@
1
- export type IProfileType = "user" | "organization" | undefined;
1
+ export type IProfileType = 'user' | 'organization' | undefined;
@@ -1,4 +1,4 @@
1
- import { IRole } from "./Role";
1
+ import { IRole } from './Role';
2
2
  export declare class OrganizationRoles {
3
3
  private constructor();
4
4
  static readonly Member: IRole;
@@ -2,24 +2,11 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
5
  import { AlienIcon } from '@datalayer/icons-react';
11
- const ORGANIZATION_MEMBER_PERMSSIONS = [
12
- "invite_users",
13
- ];
14
- const ORGANIZATION_SECURITY_AUDITOR_PERMSSIONS = [
15
- "view_landings",
16
- ];
17
- const ORGANIZATION_USAGE_REVIEWER_PERMSSIONS = [
18
- "view_users",
19
- ];
20
- const ORGANIZATION_ADMIN_PERMSSIONS = ORGANIZATION_MEMBER_PERMSSIONS.concat(...[
21
- "manage_users",
22
- ]);
6
+ const ORGANIZATION_MEMBER_PERMSSIONS = ['invite_users'];
7
+ const ORGANIZATION_SECURITY_AUDITOR_PERMSSIONS = ['view_landings'];
8
+ const ORGANIZATION_USAGE_REVIEWER_PERMSSIONS = ['view_users'];
9
+ const ORGANIZATION_ADMIN_PERMSSIONS = ORGANIZATION_MEMBER_PERMSSIONS.concat(...['manage_users']);
23
10
  export class OrganizationRoles {
24
11
  constructor() { }
25
12
  static Member = {
@@ -1,4 +1,4 @@
1
- import { IRole } from "./Role";
1
+ import { IRole } from './Role';
2
2
  export declare class PlatformRoles {
3
3
  private constructor();
4
4
  static readonly Anonymous: IRole;
@@ -2,45 +2,18 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
- import { AlienIcon, UserIcon, PersonIcon, PassportControlIcon } from '@datalayer/icons-react';
11
- const PLATFORM_ANONYMOUS_PERMSSIONS = [
12
- "view_landings",
13
- ];
14
- const PLATFORM_SECURITY_AUDITOR_PERMSSIONS = [
15
- "view_landings",
16
- ];
17
- const PLATFORM_USAGE_REVIEWER_PERMSSIONS = [
18
- "view_landings",
19
- ];
20
- const PLATFORM_FEATURES_PREVIEWER_PERMSSIONS = [
21
- "view_landings",
22
- ];
23
- const PLATFORM_GUEST_PERMSSIONS = PLATFORM_ANONYMOUS_PERMSSIONS.concat(...[
24
- "view_users",
25
- ]);
26
- const PLATFORM_MEMBER_PERMSSIONS = PLATFORM_GUEST_PERMSSIONS.concat(...[
27
- "invite_users",
28
- ]);
29
- const PLATFORM_SUPPORT_MANAGER_PERMSSIONS = PLATFORM_GUEST_PERMSSIONS.concat(...[
30
- "invite_users",
31
- ]);
32
- const PLATFORM_GROWTH_MANAGER_PERMSSIONS = PLATFORM_GUEST_PERMSSIONS.concat(...[
33
- "invite_users",
34
- ]);
35
- const PLATFORM_SUCCESS_MANAGER_PERMSSIONS = PLATFORM_GUEST_PERMSSIONS.concat(...[
36
- "invite_users",
37
- ]);
38
- const PLATFORM_IAM_TOKEN_PERMSSIONS = PLATFORM_MEMBER_PERMSSIONS.concat(...[
39
- "invite_users",
40
- ]);
41
- const PLATFORM_ADMIN_PERMSSIONS = PLATFORM_MEMBER_PERMSSIONS.concat(...[
42
- "manage_users",
43
- ]);
5
+ import { AlienIcon, UserIcon, PersonIcon, PassportControlIcon, } from '@datalayer/icons-react';
6
+ const PLATFORM_ANONYMOUS_PERMSSIONS = ['view_landings'];
7
+ const PLATFORM_SECURITY_AUDITOR_PERMSSIONS = ['view_landings'];
8
+ const PLATFORM_USAGE_REVIEWER_PERMSSIONS = ['view_landings'];
9
+ const PLATFORM_FEATURES_PREVIEWER_PERMSSIONS = ['view_landings'];
10
+ const PLATFORM_GUEST_PERMSSIONS = PLATFORM_ANONYMOUS_PERMSSIONS.concat(...['view_users']);
11
+ const PLATFORM_MEMBER_PERMSSIONS = PLATFORM_GUEST_PERMSSIONS.concat(...['invite_users']);
12
+ const PLATFORM_SUPPORT_MANAGER_PERMSSIONS = PLATFORM_GUEST_PERMSSIONS.concat(...['invite_users']);
13
+ const PLATFORM_GROWTH_MANAGER_PERMSSIONS = PLATFORM_GUEST_PERMSSIONS.concat(...['invite_users']);
14
+ const PLATFORM_SUCCESS_MANAGER_PERMSSIONS = PLATFORM_GUEST_PERMSSIONS.concat(...['invite_users']);
15
+ const PLATFORM_IAM_TOKEN_PERMSSIONS = PLATFORM_MEMBER_PERMSSIONS.concat(...['invite_users']);
16
+ const PLATFORM_ADMIN_PERMSSIONS = PLATFORM_MEMBER_PERMSSIONS.concat(...['manage_users']);
44
17
  export class PlatformRoles {
45
18
  constructor() { }
46
19
  static Anonymous = {
@@ -1,4 +1,4 @@
1
- import { IRole } from "./Role";
1
+ import { IRole } from './Role';
2
2
  export declare class TeamRoles {
3
3
  private constructor();
4
4
  static readonly Member: IRole;
@@ -2,18 +2,9 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
5
  import { AlienIcon } from '@datalayer/icons-react';
11
- const TEAM_MEMBER_PERMSSIONS = [
12
- "view_team",
13
- ];
14
- const TEAM_OWNER_PERMSSIONS = TEAM_MEMBER_PERMSSIONS.concat(...[
15
- "assign_team_user",
16
- ]);
6
+ const TEAM_MEMBER_PERMSSIONS = ['view_team'];
7
+ const TEAM_OWNER_PERMSSIONS = TEAM_MEMBER_PERMSSIONS.concat(...['assign_team_user']);
17
8
  export class TeamRoles {
18
9
  constructor() { }
19
10
  static Member = {
@@ -32,8 +23,5 @@ export class TeamRoles {
32
23
  permissions: TEAM_OWNER_PERMSSIONS,
33
24
  icon: AlienIcon,
34
25
  };
35
- static ALL_ROLES = [
36
- TeamRoles.Member,
37
- TeamRoles.Owner,
38
- ];
26
+ static ALL_ROLES = [TeamRoles.Member, TeamRoles.Owner];
39
27
  }
@@ -1,9 +1,67 @@
1
+ import { Kernel } from '@jupyterlab/services';
1
2
  export declare const BACKWARDS_COMPATIBLE_KERNEL_TYPES_MAP: {
2
3
  default: IRuntimeType;
3
4
  snippet: IRuntimeType;
4
5
  notebook: IRuntimeType;
5
6
  cell: IRuntimeType;
6
7
  };
8
+ /**
9
+ * Error thrown when a runtime has been created
10
+ * but it can ont be reached.
11
+ */
12
+ export declare class RuntimeUnreachable extends Error {
13
+ name: string;
14
+ }
15
+ /**
16
+ * Runtime location.
17
+ */
18
+ export type IRuntimeLocation = 'browser' | 'local' | string;
19
+ /**
20
+ * Runtime model.
21
+ */
22
+ export interface IRuntimeModel extends IRuntimePod, Kernel.IModel {
23
+ }
24
+ /**
25
+ * Runtime description.
26
+ */
27
+ export interface IRuntimeDesc {
28
+ /**
29
+ * Runtime ID.
30
+ */
31
+ id?: string;
32
+ /**
33
+ * Runtime Kernel ID.
34
+ */
35
+ kernelId?: string;
36
+ /**
37
+ * Runtime name.
38
+ */
39
+ name: string;
40
+ /**
41
+ * Runtime language.
42
+ */
43
+ language: string;
44
+ /**
45
+ * Runtime location.
46
+ */
47
+ location: IRuntimeLocation;
48
+ /**
49
+ * Runtime display name.
50
+ */
51
+ displayName?: string;
52
+ /**
53
+ * Runtime parameters.
54
+ */
55
+ params?: Record<string, any>;
56
+ /**
57
+ * Runtime credits burning rate.
58
+ */
59
+ burningRate?: number;
60
+ /**
61
+ * Runtime Pod name (if applicable).
62
+ */
63
+ podName?: string;
64
+ }
7
65
  /**
8
66
  * Runtime type.
9
67
  *
@@ -15,7 +73,7 @@ export type IRuntimeType = 'notebook' | 'cell';
15
73
  */
16
74
  export type IRuntimeCapabilities = 'user_storage';
17
75
  /**
18
- * User Kernel Jupyter server metadata
76
+ * Runtime pod.
19
77
  */
20
78
  export interface IRuntimePod {
21
79
  /**
@@ -2,15 +2,17 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
5
  export const BACKWARDS_COMPATIBLE_KERNEL_TYPES_MAP = {
11
6
  // Backwards compatible mapping.
12
- 'default': 'notebook',
13
- 'snippet': 'cell',
14
- 'notebook': 'notebook',
15
- 'cell': 'cell',
7
+ default: 'notebook',
8
+ snippet: 'cell',
9
+ notebook: 'notebook',
10
+ cell: 'cell',
16
11
  };
12
+ /**
13
+ * Error thrown when a runtime has been created
14
+ * but it can ont be reached.
15
+ */
16
+ export class RuntimeUnreachable extends Error {
17
+ name = 'RuntimeUnreachable';
18
+ }
@@ -8,6 +8,6 @@ export function asRuntimeSnapshot(s) {
8
8
  ...others,
9
9
  id: uid,
10
10
  updatedAt: new Date(updated_at),
11
- formatVersion: format_version
11
+ formatVersion: format_version,
12
12
  };
13
13
  }
@@ -1,7 +1,7 @@
1
- import { IDean } from "./Dean";
2
- import { IStudent } from "./Student";
3
- import { ICourse } from "./Course";
4
- import { IBaseOrganization } from "./Organization";
1
+ import { IDean } from './Dean';
2
+ import { IStudent } from './Student';
3
+ import { ICourse } from './Course';
4
+ import { IBaseOrganization } from './Organization';
5
5
  export type ISchool = IBaseOrganization & {
6
6
  type: 'school';
7
7
  dean?: IDean;
@@ -2,11 +2,6 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
5
  export const asSecret = (s) => {
11
6
  return {
12
7
  id: s.uid,
@@ -1,8 +1,8 @@
1
- import { SpaceMember } from "./SpaceMember";
2
- import { ISpaceItem } from "./SpaceItem";
3
- import { ICourse as ICourse } from "./Course";
4
- import { IOrganization } from "./Organization";
5
- import { IUser } from "./User";
1
+ import { SpaceMember } from './SpaceMember';
2
+ import { ISpaceItem } from './SpaceItem';
3
+ import { ICourse as ICourse } from './Course';
4
+ import { IOrganization } from './Organization';
5
+ import { IUser } from './User';
6
6
  /**
7
7
  * Convert the raw space object to {@link ISpace}.
8
8
  *