@datalayer/core 0.0.1 → 0.0.2

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 (641) hide show
  1. package/README.md +176 -7
  2. package/lib/App.d.ts +3 -0
  3. package/lib/App.js +4 -0
  4. package/lib/__tests__/App.test.d.ts +1 -0
  5. package/lib/__tests__/App.test.js +17 -0
  6. package/lib/__tests__/hooks.test.d.ts +1 -0
  7. package/lib/__tests__/hooks.test.js +19 -0
  8. package/lib/__tests__/index.test.d.ts +1 -0
  9. package/lib/__tests__/index.test.js +26 -0
  10. package/lib/__tests__/integration.test.d.ts +1 -0
  11. package/lib/__tests__/integration.test.js +57 -0
  12. package/lib/__tests__/utils.test.d.ts +1 -0
  13. package/lib/__tests__/utils.test.js +59 -0
  14. package/lib/api/RunApi.d.ts +75 -0
  15. package/lib/api/RunApi.js +150 -0
  16. package/lib/api/index.d.ts +2 -0
  17. package/lib/api/index.js +11 -0
  18. package/lib/api/runtimes/exec/Python.d.ts +5 -0
  19. package/lib/api/runtimes/exec/Python.js +105 -0
  20. package/lib/api/runtimes/exec/Snippets.d.ts +145 -0
  21. package/lib/api/runtimes/exec/Snippets.js +125 -0
  22. package/lib/api/runtimes/exec/index.d.ts +2 -0
  23. package/lib/api/runtimes/exec/index.js +11 -0
  24. package/lib/api/runtimes/index.d.ts +7 -0
  25. package/lib/api/runtimes/index.js +16 -0
  26. package/lib/api/runtimes/kernelsHandler.d.ts +8 -0
  27. package/lib/api/runtimes/kernelsHandler.js +44 -0
  28. package/lib/api/runtimes/models.d.ts +59 -0
  29. package/lib/api/runtimes/models.js +11 -0
  30. package/lib/api/runtimes/runtimesApi.d.ts +370 -0
  31. package/lib/api/runtimes/runtimesApi.js +269 -0
  32. package/lib/api/runtimes/settings.d.ts +15 -0
  33. package/lib/api/runtimes/settings.js +36 -0
  34. package/lib/api/runtimes/snapshots.d.ts +25 -0
  35. package/lib/api/runtimes/snapshots.js +155 -0
  36. package/lib/api/runtimes/utils.d.ts +7 -0
  37. package/lib/api/runtimes/utils.js +22 -0
  38. package/lib/components/avatars/BoringAvatar.d.ts +20 -0
  39. package/lib/components/avatars/BoringAvatar.js +39 -0
  40. package/lib/components/avatars/UserProfileAvatar.d.ts +13 -0
  41. package/lib/components/avatars/UserProfileAvatar.js +37 -0
  42. package/lib/components/avatars/index.d.ts +2 -0
  43. package/lib/components/avatars/index.js +11 -0
  44. package/lib/components/banners/NoAutomationBanner.d.ts +2 -0
  45. package/lib/components/banners/NoAutomationBanner.js +18 -0
  46. package/lib/components/banners/index.d.ts +1 -0
  47. package/lib/components/banners/index.js +10 -0
  48. package/lib/components/buttons/DownloadCSVButton.d.ts +13 -0
  49. package/lib/components/buttons/DownloadCSVButton.js +21 -0
  50. package/lib/components/buttons/DownloadJsonButton.d.ts +16 -0
  51. package/lib/components/buttons/DownloadJsonButton.js +23 -0
  52. package/lib/components/buttons/LongActionButton.d.ts +28 -0
  53. package/lib/components/buttons/LongActionButton.js +29 -0
  54. package/lib/components/buttons/UploadButton.d.ts +37 -0
  55. package/lib/components/buttons/UploadButton.js +48 -0
  56. package/lib/components/buttons/VariantType.d.ts +1 -0
  57. package/lib/components/buttons/VariantType.js +5 -0
  58. package/lib/components/buttons/index.d.ts +5 -0
  59. package/lib/components/buttons/index.js +14 -0
  60. package/lib/components/checkout/StripeCheckout.d.ts +32 -0
  61. package/lib/components/checkout/StripeCheckout.js +100 -0
  62. package/lib/components/checkout/index.d.ts +1 -0
  63. package/lib/components/checkout/index.js +10 -0
  64. package/lib/components/confetti/ConfettiSuccess.d.ts +2 -0
  65. package/lib/components/confetti/ConfettiSuccess.js +17 -0
  66. package/lib/components/confetti/index.d.ts +1 -0
  67. package/lib/components/confetti/index.js +10 -0
  68. package/lib/components/context/OrganizationSelect.d.ts +2 -0
  69. package/lib/components/context/OrganizationSelect.js +40 -0
  70. package/lib/components/context/SpaceSelect.d.ts +2 -0
  71. package/lib/components/context/SpaceSelect.js +48 -0
  72. package/lib/components/context/index.d.ts +2 -0
  73. package/lib/components/context/index.js +11 -0
  74. package/lib/components/display/AvatarSkeleton.d.ts +5 -0
  75. package/lib/components/display/AvatarSkeleton.js +16 -0
  76. package/lib/components/display/CenteredSpinner.d.ts +14 -0
  77. package/lib/components/display/CenteredSpinner.js +25 -0
  78. package/lib/components/display/CodePreview.d.ts +4 -0
  79. package/lib/components/display/CodePreview.js +20 -0
  80. package/lib/components/display/DatalayerBox.d.ts +8 -0
  81. package/lib/components/display/DatalayerBox.js +33 -0
  82. package/lib/components/display/HorizontalCenter.d.ts +9 -0
  83. package/lib/components/display/HorizontalCenter.js +14 -0
  84. package/lib/components/display/JupyterDialog.d.ts +69 -0
  85. package/lib/components/display/JupyterDialog.js +120 -0
  86. package/lib/components/display/Markdown.d.ts +23 -0
  87. package/lib/components/display/Markdown.js +20 -0
  88. package/lib/components/display/NavLink.d.ts +9 -0
  89. package/lib/components/display/NavLink.js +22 -0
  90. package/lib/components/display/NotebookSkeleton.d.ts +2 -0
  91. package/lib/components/display/NotebookSkeleton.js +16 -0
  92. package/lib/components/display/Placeholder.d.ts +2 -0
  93. package/lib/components/display/Placeholder.js +14 -0
  94. package/lib/components/display/ToTopBranded.d.ts +2 -0
  95. package/lib/components/display/ToTopBranded.js +16 -0
  96. package/lib/components/display/VisuallyHidden.d.ts +5 -0
  97. package/lib/components/display/VisuallyHidden.js +29 -0
  98. package/lib/components/display/index.d.ts +12 -0
  99. package/lib/components/display/index.js +21 -0
  100. package/lib/components/echarts/EChartsReact.d.ts +11 -0
  101. package/lib/components/echarts/EChartsReact.js +53 -0
  102. package/lib/components/echarts/index.d.ts +1 -0
  103. package/lib/components/echarts/index.js +10 -0
  104. package/lib/components/flashes/FlashClosable.d.ts +22 -0
  105. package/lib/components/flashes/FlashClosable.js +69 -0
  106. package/lib/components/flashes/FlashDisclaimer.d.ts +2 -0
  107. package/lib/components/flashes/FlashDisclaimer.js +23 -0
  108. package/lib/components/flashes/FlashGuest.d.ts +2 -0
  109. package/lib/components/flashes/FlashGuest.js +35 -0
  110. package/lib/components/flashes/FlashSurveys.d.ts +6 -0
  111. package/lib/components/flashes/FlashSurveys.js +41 -0
  112. package/lib/components/flashes/FlashUnauthorized.d.ts +2 -0
  113. package/lib/components/flashes/FlashUnauthorized.js +23 -0
  114. package/lib/components/flashes/index.d.ts +6 -0
  115. package/lib/components/flashes/index.js +15 -0
  116. package/lib/components/flashes/surveys/Survey2025_1.d.ts +3 -0
  117. package/lib/components/flashes/surveys/Survey2025_1.js +134 -0
  118. package/lib/components/flashes/surveys/SurveyProps.d.ts +6 -0
  119. package/lib/components/flashes/surveys/SurveyProps.js +5 -0
  120. package/lib/components/flashes/surveys/index.d.ts +2 -0
  121. package/lib/components/flashes/surveys/index.js +11 -0
  122. package/lib/components/iam/ExternalTokenSilentLogin.d.ts +5 -0
  123. package/lib/components/iam/ExternalTokenSilentLogin.js +38 -0
  124. package/lib/components/iam/index.d.ts +1 -0
  125. package/lib/components/iam/index.js +10 -0
  126. package/lib/components/icons/ArtifactIcon.d.ts +10 -0
  127. package/lib/components/icons/ArtifactIcon.js +63 -0
  128. package/lib/components/icons/index.d.ts +1 -0
  129. package/lib/components/icons/index.js +10 -0
  130. package/lib/components/index.d.ts +1 -0
  131. package/lib/components/index.js +10 -0
  132. package/lib/components/labels/VisibilityLabel.d.ts +4 -0
  133. package/lib/components/labels/VisibilityLabel.js +22 -0
  134. package/lib/components/labels/index.d.ts +1 -0
  135. package/lib/components/labels/index.js +10 -0
  136. package/lib/components/landings/StepBlock.d.ts +11 -0
  137. package/lib/components/landings/StepBlock.js +17 -0
  138. package/lib/components/landings/index.d.ts +1 -0
  139. package/lib/components/landings/index.js +10 -0
  140. package/lib/components/navbar/NavigationVisbilityObserver.d.ts +5 -0
  141. package/lib/components/navbar/NavigationVisbilityObserver.js +63 -0
  142. package/lib/components/navbar/SubdomainNavBar.d.ts +81 -0
  143. package/lib/components/navbar/SubdomainNavBar.js +240 -0
  144. package/lib/components/navbar/index.d.ts +2 -0
  145. package/lib/components/navbar/index.js +11 -0
  146. package/lib/components/nbgrader/NbGradesDetails.d.ts +5 -0
  147. package/lib/components/nbgrader/NbGradesDetails.js +22 -0
  148. package/lib/components/nbgrader/index.d.ts +1 -0
  149. package/lib/components/nbgrader/index.js +10 -0
  150. package/lib/components/notebooks/JupyterNotebook.d.ts +12 -0
  151. package/lib/components/notebooks/JupyterNotebook.js +41 -0
  152. package/lib/components/notebooks/JupyterNotebookToolbar.d.ts +2 -0
  153. package/lib/components/notebooks/JupyterNotebookToolbar.js +44 -0
  154. package/lib/components/notebooks/index.d.ts +2 -0
  155. package/lib/components/notebooks/index.js +11 -0
  156. package/lib/components/primer/Helper.d.ts +32 -0
  157. package/lib/components/primer/Helper.js +19 -0
  158. package/lib/components/primer/Portals.d.ts +9 -0
  159. package/lib/components/primer/Portals.js +31 -0
  160. package/lib/components/primer/Styles.d.ts +2 -0
  161. package/lib/components/primer/Styles.js +16 -0
  162. package/lib/components/primer/index.d.ts +2 -0
  163. package/lib/components/primer/index.js +11 -0
  164. package/lib/components/progress/ConsumptionBar.d.ts +40 -0
  165. package/lib/components/progress/ConsumptionBar.js +54 -0
  166. package/lib/components/progress/CreditsIndicator.d.ts +27 -0
  167. package/lib/components/progress/CreditsIndicator.js +30 -0
  168. package/lib/components/progress/ProgressBar.d.ts +2 -0
  169. package/lib/components/progress/ProgressBar.js +26 -0
  170. package/lib/components/progress/ProgressRing.d.ts +36 -0
  171. package/lib/components/progress/ProgressRing.js +31 -0
  172. package/lib/components/progress/Timer.d.ts +9 -0
  173. package/lib/components/progress/Timer.js +33 -0
  174. package/lib/components/progress/index.d.ts +5 -0
  175. package/lib/components/progress/index.js +14 -0
  176. package/lib/components/runtimes/RuntimeCellVariables.d.ts +39 -0
  177. package/lib/components/runtimes/RuntimeCellVariables.js +177 -0
  178. package/lib/components/runtimes/RuntimeCellVariablesDialog.d.ts +37 -0
  179. package/lib/components/runtimes/RuntimeCellVariablesDialog.js +106 -0
  180. package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +54 -0
  181. package/lib/components/runtimes/RuntimeLauncherDialog.js +254 -0
  182. package/lib/components/runtimes/RuntimePickerBase.d.ts +69 -0
  183. package/lib/components/runtimes/RuntimePickerBase.js +114 -0
  184. package/lib/components/runtimes/RuntimePickerCell.d.ts +34 -0
  185. package/lib/components/runtimes/RuntimePickerCell.js +111 -0
  186. package/lib/components/runtimes/RuntimePickerNotebook.d.ts +43 -0
  187. package/lib/components/runtimes/RuntimePickerNotebook.js +173 -0
  188. package/lib/components/runtimes/RuntimeReservationControl.d.ts +47 -0
  189. package/lib/components/runtimes/RuntimeReservationControl.js +43 -0
  190. package/lib/components/runtimes/RuntimeSimplePicker.d.ts +34 -0
  191. package/lib/components/runtimes/RuntimeSimplePicker.js +161 -0
  192. package/lib/components/runtimes/RuntimeTransfer.d.ts +16 -0
  193. package/lib/components/runtimes/RuntimeTransfer.js +5 -0
  194. package/lib/components/runtimes/RuntimeUtils.d.ts +17 -0
  195. package/lib/components/runtimes/RuntimeUtils.js +173 -0
  196. package/lib/components/runtimes/RuntimeVariables.d.ts +38 -0
  197. package/lib/components/runtimes/RuntimeVariables.js +80 -0
  198. package/lib/components/runtimes/index.d.ts +11 -0
  199. package/lib/components/runtimes/index.js +20 -0
  200. package/lib/components/screenshot/ScreenCapture.d.ts +38 -0
  201. package/lib/components/screenshot/ScreenCapture.js +179 -0
  202. package/lib/components/screenshot/ScreenCaptureButton.d.ts +3 -0
  203. package/lib/components/screenshot/ScreenCaptureButton.js +21 -0
  204. package/lib/components/screenshot/index.d.ts +2 -0
  205. package/lib/components/screenshot/index.js +11 -0
  206. package/lib/components/snapshots/RuntimeSnapshotMenu.d.ts +36 -0
  207. package/lib/components/snapshots/RuntimeSnapshotMenu.js +169 -0
  208. package/lib/components/snapshots/index.d.ts +1 -0
  209. package/lib/components/snapshots/index.js +10 -0
  210. package/lib/components/snippets/SnippetDialog.d.ts +42 -0
  211. package/lib/components/snippets/SnippetDialog.js +47 -0
  212. package/lib/components/snippets/index.d.ts +1 -0
  213. package/lib/components/snippets/index.js +10 -0
  214. package/lib/components/storage/ContentsBrowser.d.ts +32 -0
  215. package/lib/components/storage/ContentsBrowser.js +250 -0
  216. package/lib/components/storage/ContentsItems.d.ts +58 -0
  217. package/lib/components/storage/ContentsItems.js +83 -0
  218. package/lib/components/storage/index.d.ts +2 -0
  219. package/lib/components/storage/index.js +11 -0
  220. package/lib/components/students/StudentItemStatus.d.ts +7 -0
  221. package/lib/components/students/StudentItemStatus.js +49 -0
  222. package/lib/components/students/index.d.ts +1 -0
  223. package/lib/components/students/index.js +10 -0
  224. package/lib/components/subnav/SubNav.d.ts +84 -0
  225. package/lib/components/subnav/SubNav.js +270 -0
  226. package/lib/components/subnav/index.d.ts +1 -0
  227. package/lib/components/subnav/index.js +10 -0
  228. package/lib/components/tables/DataTable.d.ts +5 -0
  229. package/lib/components/tables/DataTable.js +24 -0
  230. package/lib/components/tables/index.d.ts +1 -0
  231. package/lib/components/tables/index.js +10 -0
  232. package/lib/components/text-reveal/TextRevealAnimation.d.ts +6 -0
  233. package/lib/components/text-reveal/TextRevealAnimation.js +55 -0
  234. package/lib/components/text-reveal/index.d.ts +1 -0
  235. package/lib/components/text-reveal/index.js +10 -0
  236. package/lib/components/text-reveal/useTextRevealAnimationLines.d.ts +4 -0
  237. package/lib/components/text-reveal/useTextRevealAnimationLines.js +52 -0
  238. package/lib/components/tokens/SpaceVariantToken.d.ts +5 -0
  239. package/lib/components/tokens/SpaceVariantToken.js +25 -0
  240. package/lib/components/tokens/index.d.ts +1 -0
  241. package/lib/components/tokens/index.js +10 -0
  242. package/lib/components/toolbars/AssignmentEditorToolbar.d.ts +4 -0
  243. package/lib/components/toolbars/AssignmentEditorToolbar.js +23 -0
  244. package/lib/components/toolbars/DocumentEditorToolbar.d.ts +2 -0
  245. package/lib/components/toolbars/DocumentEditorToolbar.js +17 -0
  246. package/lib/components/toolbars/NotebookEditorToolbar.d.ts +29 -0
  247. package/lib/components/toolbars/NotebookEditorToolbar.js +35 -0
  248. package/lib/components/toolbars/index.d.ts +3 -0
  249. package/lib/components/toolbars/index.js +12 -0
  250. package/lib/components/users/PeerIndicator.d.ts +18 -0
  251. package/lib/components/users/PeerIndicator.js +105 -0
  252. package/lib/components/users/index.d.ts +1 -0
  253. package/lib/components/users/index.js +10 -0
  254. package/lib/config/Configuration.d.ts +111 -0
  255. package/lib/config/Configuration.js +30 -0
  256. package/lib/config/index.d.ts +2 -0
  257. package/lib/config/index.js +11 -0
  258. package/lib/config/integrations/Loom.d.ts +1 -0
  259. package/lib/config/integrations/Loom.js +21 -0
  260. package/lib/config/integrations/index.d.ts +1 -0
  261. package/lib/config/integrations/index.js +10 -0
  262. package/lib/hooks/assets/OutputshotPlaceholders.d.ts +19 -0
  263. package/lib/hooks/assets/OutputshotPlaceholders.js +28 -0
  264. package/lib/hooks/assets/index.d.ts +1 -0
  265. package/lib/hooks/assets/index.js +10 -0
  266. package/lib/hooks/index.d.ts +28 -0
  267. package/lib/hooks/index.js +38 -0
  268. package/lib/hooks/layouts/LayoutBackdrop.d.ts +2 -0
  269. package/lib/hooks/layouts/LayoutBackdrop.js +35 -0
  270. package/lib/hooks/layouts/LayoutScreenshot.d.ts +2 -0
  271. package/lib/hooks/layouts/LayoutScreenshot.js +48 -0
  272. package/lib/hooks/layouts/index.d.ts +2 -0
  273. package/lib/hooks/layouts/index.js +11 -0
  274. package/lib/hooks/useAIAgents.d.ts +13 -0
  275. package/lib/hooks/useAIAgents.js +77 -0
  276. package/lib/hooks/useAuthorization.d.ts +19 -0
  277. package/lib/hooks/useAuthorization.js +130 -0
  278. package/lib/hooks/useBackdrop.d.ts +28 -0
  279. package/lib/hooks/useBackdrop.js +105 -0
  280. package/lib/hooks/useBackdropJupyterLab.d.ts +15 -0
  281. package/lib/hooks/useBackdropJupyterLab.js +56 -0
  282. package/lib/hooks/useCache.d.ts +306 -0
  283. package/lib/hooks/useCache.js +3103 -0
  284. package/lib/hooks/useCellOutputshot.d.ts +4 -0
  285. package/lib/hooks/useCellOutputshot.js +33 -0
  286. package/lib/hooks/useContainsFocus.d.ts +9 -0
  287. package/lib/hooks/useContainsFocus.js +48 -0
  288. package/lib/hooks/useError.d.ts +9 -0
  289. package/lib/hooks/useError.js +31 -0
  290. package/lib/hooks/useExternalScript.d.ts +2 -0
  291. package/lib/hooks/useExternalScript.js +22 -0
  292. package/lib/hooks/useFocusTrap.d.ts +30 -0
  293. package/lib/hooks/useFocusTrap.js +53 -0
  294. package/lib/hooks/useIAM.d.ts +14 -0
  295. package/lib/hooks/useIAM.js +98 -0
  296. package/lib/hooks/useId.d.ts +19 -0
  297. package/lib/hooks/useId.js +105 -0
  298. package/lib/hooks/useIsomorphicLayoutEffect.d.ts +3 -0
  299. package/lib/hooks/useIsomorphicLayoutEffect.js +16 -0
  300. package/lib/hooks/useJupyterLabTheme.d.ts +6 -0
  301. package/lib/hooks/useJupyterLabTheme.js +29 -0
  302. package/lib/hooks/useKeyboardEscape.d.ts +1 -0
  303. package/lib/hooks/useKeyboardEscape.js +23 -0
  304. package/lib/hooks/useLocationHandles.d.ts +10 -0
  305. package/lib/hooks/useLocationHandles.js +27 -0
  306. package/lib/hooks/useNavigate.d.ts +2 -0
  307. package/lib/hooks/useNavigate.js +29 -0
  308. package/lib/hooks/useNotebookAIAgent.d.ts +8 -0
  309. package/lib/hooks/useNotebookAIAgent.js +59 -0
  310. package/lib/hooks/useOnClickOutside.d.ts +1 -0
  311. package/lib/hooks/useOnClickOutside.js +34 -0
  312. package/lib/hooks/useRef.d.ts +10 -0
  313. package/lib/hooks/useRef.js +22 -0
  314. package/lib/hooks/useRun.d.ts +21 -0
  315. package/lib/hooks/useRun.js +85 -0
  316. package/lib/hooks/useRuntimes.d.ts +5 -0
  317. package/lib/hooks/useRuntimes.js +39 -0
  318. package/lib/hooks/useScreenshot.d.ts +21 -0
  319. package/lib/hooks/useScreenshot.js +65 -0
  320. package/lib/hooks/useToast.d.ts +42 -0
  321. package/lib/hooks/useToast.js +143 -0
  322. package/lib/hooks/useUpload.d.ts +7 -0
  323. package/lib/hooks/useUpload.js +51 -0
  324. package/lib/hooks/useUser.d.ts +3 -0
  325. package/lib/hooks/useUser.js +22 -0
  326. package/lib/hooks/useVisibilityObserver.d.ts +5 -0
  327. package/lib/hooks/useVisibilityObserver.js +47 -0
  328. package/lib/hooks/useWindowSize.d.ts +21 -0
  329. package/lib/hooks/useWindowSize.js +80 -0
  330. package/lib/i18n/Labels.d.ts +1 -0
  331. package/lib/i18n/Labels.js +10 -0
  332. package/lib/i18n/index.d.ts +1 -0
  333. package/lib/i18n/index.js +10 -0
  334. package/lib/index.d.ts +3 -0
  335. package/lib/index.js +6 -0
  336. package/lib/main.d.ts +1 -0
  337. package/lib/main.js +4 -0
  338. package/lib/mocks/components/FlashMock.d.ts +2 -0
  339. package/lib/mocks/components/FlashMock.js +18 -0
  340. package/lib/mocks/components/index.d.ts +1 -0
  341. package/lib/mocks/components/index.js +10 -0
  342. package/lib/mocks/hooks/index.d.ts +1 -0
  343. package/lib/mocks/hooks/index.js +10 -0
  344. package/lib/mocks/hooks/rests/index.d.ts +1 -0
  345. package/lib/mocks/hooks/rests/index.js +10 -0
  346. package/lib/mocks/hooks/rests/rests.d.ts +22 -0
  347. package/lib/mocks/hooks/rests/rests.js +37 -0
  348. package/lib/mocks/hooks/useRunMock.d.ts +6 -0
  349. package/lib/mocks/hooks/useRunMock.js +83 -0
  350. package/lib/mocks/index.d.ts +4 -0
  351. package/lib/mocks/index.js +14 -0
  352. package/lib/mocks/jupyter/index.d.ts +1 -0
  353. package/lib/mocks/jupyter/index.js +10 -0
  354. package/lib/mocks/models/CodeBlockMock.d.ts +1 -0
  355. package/lib/mocks/models/CodeBlockMock.js +10 -0
  356. package/lib/mocks/models/CodelineMock.d.ts +1 -0
  357. package/lib/mocks/models/CodelineMock.js +10 -0
  358. package/lib/mocks/models/CourseMock.d.ts +6 -0
  359. package/lib/mocks/models/CourseMock.js +34 -0
  360. package/lib/mocks/models/InviteMock.d.ts +6 -0
  361. package/lib/mocks/models/InviteMock.js +27 -0
  362. package/lib/mocks/models/JupyterLabUserMock.d.ts +2 -0
  363. package/lib/mocks/models/JupyterLabUserMock.js +17 -0
  364. package/lib/mocks/models/OrganisationMock.d.ts +5 -0
  365. package/lib/mocks/models/OrganisationMock.js +24 -0
  366. package/lib/mocks/models/SchoolMock.d.ts +6 -0
  367. package/lib/mocks/models/SchoolMock.js +25 -0
  368. package/lib/mocks/models/SpaceMock.d.ts +6 -0
  369. package/lib/mocks/models/SpaceMock.js +30 -0
  370. package/lib/mocks/models/TeamMock.d.ts +5 -0
  371. package/lib/mocks/models/TeamMock.js +26 -0
  372. package/lib/mocks/models/UserMock.d.ts +2 -0
  373. package/lib/mocks/models/UserMock.js +34 -0
  374. package/lib/mocks/models/index.d.ts +9 -0
  375. package/lib/mocks/models/index.js +18 -0
  376. package/lib/mocks/views/ActionMenuMock.d.ts +5 -0
  377. package/lib/mocks/views/ActionMenuMock.js +17 -0
  378. package/lib/mocks/views/ChartMock.d.ts +5 -0
  379. package/lib/mocks/views/ChartMock.js +20 -0
  380. package/lib/mocks/views/ChartMockOptions.d.ts +92 -0
  381. package/lib/mocks/views/ChartMockOptions.js +107 -0
  382. package/lib/mocks/views/DashboardMock.d.ts +2 -0
  383. package/lib/mocks/views/DashboardMock.js +123 -0
  384. package/lib/mocks/views/FormMock.d.ts +5 -0
  385. package/lib/mocks/views/FormMock.js +33 -0
  386. package/lib/mocks/views/TableMock.d.ts +5 -0
  387. package/lib/mocks/views/TableMock.js +160 -0
  388. package/lib/mocks/views/WipMock.d.ts +5 -0
  389. package/lib/mocks/views/WipMock.js +17 -0
  390. package/lib/mocks/views/index.d.ts +7 -0
  391. package/lib/mocks/views/index.js +16 -0
  392. package/lib/models/AIAgent.d.ts +17 -0
  393. package/lib/models/AIAgent.js +5 -0
  394. package/lib/models/Account.d.ts +4 -0
  395. package/lib/models/Account.js +5 -0
  396. package/lib/models/Assignment.d.ts +7 -0
  397. package/lib/models/Assignment.js +5 -0
  398. package/lib/models/Base.d.ts +16 -0
  399. package/lib/models/Base.js +5 -0
  400. package/lib/models/Cell.d.ts +8 -0
  401. package/lib/models/Cell.js +5 -0
  402. package/lib/models/CodeBlock.d.ts +10 -0
  403. package/lib/models/CodeBlock.js +5 -0
  404. package/lib/models/CodefeedBlocks.d.ts +7 -0
  405. package/lib/models/CodefeedBlocks.js +5 -0
  406. package/lib/models/Contact.d.ts +73 -0
  407. package/lib/models/Contact.js +95 -0
  408. package/lib/models/ContactEvent.d.ts +10 -0
  409. package/lib/models/ContactEvent.js +19 -0
  410. package/lib/models/ContactIAMProvider.d.ts +12 -0
  411. package/lib/models/ContactIAMProvider.js +20 -0
  412. package/lib/models/ContactTags.d.ts +23 -0
  413. package/lib/models/ContactTags.js +73 -0
  414. package/lib/models/Content.d.ts +5 -0
  415. package/lib/models/Content.js +5 -0
  416. package/lib/models/Course.d.ts +17 -0
  417. package/lib/models/Course.js +5 -0
  418. package/lib/models/Credits.d.ts +76 -0
  419. package/lib/models/Credits.js +16 -0
  420. package/lib/models/Dataset.d.ts +16 -0
  421. package/lib/models/Dataset.js +5 -0
  422. package/lib/models/Datasource.d.ts +11 -0
  423. package/lib/models/Datasource.js +19 -0
  424. package/lib/models/Dean.d.ts +3 -0
  425. package/lib/models/Dean.js +5 -0
  426. package/lib/models/Document.d.ts +8 -0
  427. package/lib/models/Document.js +5 -0
  428. package/lib/models/Environment.d.ts +82 -0
  429. package/lib/models/Environment.js +5 -0
  430. package/lib/models/Errors.d.ts +6 -0
  431. package/lib/models/Errors.js +18 -0
  432. package/lib/models/Exercise.d.ts +16 -0
  433. package/lib/models/Exercise.js +5 -0
  434. package/lib/models/GrowthKPI.d.ts +5 -0
  435. package/lib/models/GrowthKPI.js +14 -0
  436. package/lib/models/IAMProviderLinked.d.ts +9 -0
  437. package/lib/models/IAMProviderLinked.js +13 -0
  438. package/lib/models/IAMProviderPost.d.ts +8 -0
  439. package/lib/models/IAMProviderPost.js +22 -0
  440. package/lib/models/IAMProviderUsers.d.ts +49 -0
  441. package/lib/models/IAMProviderUsers.js +34 -0
  442. package/lib/models/IAMProvidersSpecs.d.ts +22 -0
  443. package/lib/models/IAMProvidersSpecs.js +72 -0
  444. package/lib/models/IAMToken.d.ts +11 -0
  445. package/lib/models/IAMToken.js +19 -0
  446. package/lib/models/Inbound.d.ts +25 -0
  447. package/lib/models/Inbound.js +34 -0
  448. package/lib/models/Instructor.d.ts +3 -0
  449. package/lib/models/Instructor.js +5 -0
  450. package/lib/models/Invite.d.ts +14 -0
  451. package/lib/models/Invite.js +24 -0
  452. package/lib/models/Item.d.ts +20 -0
  453. package/lib/models/Item.js +5 -0
  454. package/lib/models/ItemType.d.ts +2 -0
  455. package/lib/models/ItemType.js +5 -0
  456. package/lib/models/LandingRoles.d.ts +3 -0
  457. package/lib/models/LandingRoles.js +32 -0
  458. package/lib/models/Lesson.d.ts +5 -0
  459. package/lib/models/Lesson.js +5 -0
  460. package/lib/models/Library.d.ts +10 -0
  461. package/lib/models/Library.js +5 -0
  462. package/lib/models/Member.d.ts +3 -0
  463. package/lib/models/Member.js +5 -0
  464. package/lib/models/Notebook.d.ts +11 -0
  465. package/lib/models/Notebook.js +5 -0
  466. package/lib/models/Organization.d.ts +27 -0
  467. package/lib/models/Organization.js +41 -0
  468. package/lib/models/OrganizationMember.d.ts +6 -0
  469. package/lib/models/OrganizationMember.js +5 -0
  470. package/lib/models/Outbound.d.ts +41 -0
  471. package/lib/models/Outbound.js +50 -0
  472. package/lib/models/Page.d.ts +36 -0
  473. package/lib/models/Page.js +23 -0
  474. package/lib/models/PageTag.d.ts +19 -0
  475. package/lib/models/PageTag.js +26 -0
  476. package/lib/models/Profile.d.ts +1 -0
  477. package/lib/models/Profile.js +5 -0
  478. package/lib/models/Role.d.ts +9 -0
  479. package/lib/models/Role.js +5 -0
  480. package/lib/models/RolesOrganization.d.ts +9 -0
  481. package/lib/models/RolesOrganization.js +63 -0
  482. package/lib/models/RolesPlatform.d.ts +16 -0
  483. package/lib/models/RolesPlatform.js +147 -0
  484. package/lib/models/RolesTeam.d.ts +7 -0
  485. package/lib/models/RolesTeam.js +39 -0
  486. package/lib/models/Runtime.d.ts +65 -0
  487. package/lib/models/Runtime.js +16 -0
  488. package/lib/models/RuntimeSnapshot.d.ts +92 -0
  489. package/lib/models/RuntimeSnapshot.js +13 -0
  490. package/lib/models/School.d.ts +11 -0
  491. package/lib/models/School.js +5 -0
  492. package/lib/models/Secret.d.ts +10 -0
  493. package/lib/models/Secret.js +18 -0
  494. package/lib/models/Space.d.ts +34 -0
  495. package/lib/models/Space.js +39 -0
  496. package/lib/models/SpaceItem.d.ts +10 -0
  497. package/lib/models/SpaceItem.js +5 -0
  498. package/lib/models/SpaceMember.d.ts +6 -0
  499. package/lib/models/SpaceMember.js +5 -0
  500. package/lib/models/Student.d.ts +6 -0
  501. package/lib/models/Student.js +5 -0
  502. package/lib/models/StudentItem.d.ts +21 -0
  503. package/lib/models/StudentItem.js +5 -0
  504. package/lib/models/Survey.d.ts +20 -0
  505. package/lib/models/Survey.js +19 -0
  506. package/lib/models/Team.d.ts +22 -0
  507. package/lib/models/Team.js +37 -0
  508. package/lib/models/TeamMember.d.ts +6 -0
  509. package/lib/models/TeamMember.js +5 -0
  510. package/lib/models/URN.d.ts +63 -0
  511. package/lib/models/URN.js +45 -0
  512. package/lib/models/Usage.d.ts +46 -0
  513. package/lib/models/Usage.js +21 -0
  514. package/lib/models/User.d.ts +71 -0
  515. package/lib/models/User.js +103 -0
  516. package/lib/models/UserEvent.d.ts +10 -0
  517. package/lib/models/UserEvent.js +19 -0
  518. package/lib/models/UserOnboarding.d.ts +14 -0
  519. package/lib/models/UserOnboarding.js +24 -0
  520. package/lib/models/UserSettings.d.ts +16 -0
  521. package/lib/models/UserSettings.js +32 -0
  522. package/lib/models/WaitingListFormData.d.ts +6 -0
  523. package/lib/models/WaitingListFormData.js +5 -0
  524. package/lib/models/index.d.ts +65 -0
  525. package/lib/models/index.js +74 -0
  526. package/lib/routes/Routes.d.ts +3 -0
  527. package/lib/routes/Routes.js +12 -0
  528. package/lib/routes/index.d.ts +1 -0
  529. package/lib/routes/index.js +10 -0
  530. package/lib/state/State.d.ts +33 -0
  531. package/lib/state/State.js +49 -0
  532. package/lib/state/index.d.ts +3 -0
  533. package/lib/state/index.js +12 -0
  534. package/lib/state/storage/IAMStorage.d.ts +33 -0
  535. package/lib/state/storage/IAMStorage.js +81 -0
  536. package/lib/state/storage/index.d.ts +1 -0
  537. package/lib/state/storage/index.js +10 -0
  538. package/lib/state/substates/AIAgentState.d.ts +11 -0
  539. package/lib/state/substates/AIAgentState.js +45 -0
  540. package/lib/state/substates/CellState.d.ts +12 -0
  541. package/lib/state/substates/CellState.js +26 -0
  542. package/lib/state/substates/CoreState.d.ts +25 -0
  543. package/lib/state/substates/CoreState.js +93 -0
  544. package/lib/state/substates/DatasourceState.d.ts +11 -0
  545. package/lib/state/substates/DatasourceState.js +21 -0
  546. package/lib/state/substates/DocumentState.d.ts +10 -0
  547. package/lib/state/substates/DocumentState.js +19 -0
  548. package/lib/state/substates/GradeState.d.ts +10 -0
  549. package/lib/state/substates/GradeState.js +19 -0
  550. package/lib/state/substates/IAMState.d.ts +75 -0
  551. package/lib/state/substates/IAMState.js +294 -0
  552. package/lib/state/substates/JupyterLabState.d.ts +16 -0
  553. package/lib/state/substates/JupyterLabState.js +22 -0
  554. package/lib/state/substates/LayoutState.d.ts +62 -0
  555. package/lib/state/substates/LayoutState.js +74 -0
  556. package/lib/state/substates/NbformatState.d.ts +13 -0
  557. package/lib/state/substates/NbformatState.js +21 -0
  558. package/lib/state/substates/OrganizationState.d.ts +11 -0
  559. package/lib/state/substates/OrganizationState.js +21 -0
  560. package/lib/state/substates/RuntimesState.d.ts +88 -0
  561. package/lib/state/substates/RuntimesState.js +183 -0
  562. package/lib/state/substates/SpaceState.d.ts +11 -0
  563. package/lib/state/substates/SpaceState.js +21 -0
  564. package/lib/state/substates/SurveysState.d.ts +14 -0
  565. package/lib/state/substates/SurveysState.js +103 -0
  566. package/lib/state/substates/TeamState.d.ts +11 -0
  567. package/lib/state/substates/TeamState.js +22 -0
  568. package/lib/state/substates/index.d.ts +15 -0
  569. package/lib/state/substates/index.js +24 -0
  570. package/lib/test-setup.d.ts +1 -0
  571. package/lib/test-setup.js +7 -0
  572. package/lib/theme/DatalayerTheme.d.ts +37 -0
  573. package/lib/theme/DatalayerTheme.js +67 -0
  574. package/lib/theme/DatalayerThemeProvider.d.ts +17 -0
  575. package/lib/theme/DatalayerThemeProvider.js +74 -0
  576. package/lib/theme/Palette.d.ts +5 -0
  577. package/lib/theme/Palette.js +27 -0
  578. package/lib/theme/index.d.ts +3 -0
  579. package/lib/theme/index.js +12 -0
  580. package/lib/utils/Array.d.ts +2 -0
  581. package/lib/utils/Array.js +21 -0
  582. package/lib/utils/Avatar.d.ts +9 -0
  583. package/lib/utils/Avatar.js +39 -0
  584. package/lib/utils/Browser.d.ts +3 -0
  585. package/lib/utils/Browser.js +68 -0
  586. package/lib/utils/Cells.d.ts +2 -0
  587. package/lib/utils/Cells.js +28 -0
  588. package/lib/utils/Cookie.d.ts +12 -0
  589. package/lib/utils/Cookie.js +53 -0
  590. package/lib/utils/Date.d.ts +2 -0
  591. package/lib/utils/Date.js +65 -0
  592. package/lib/utils/Download.d.ts +3 -0
  593. package/lib/utils/Download.js +53 -0
  594. package/lib/utils/DownloadFile.d.ts +10 -0
  595. package/lib/utils/DownloadFile.js +41 -0
  596. package/lib/utils/Env.d.ts +1 -0
  597. package/lib/utils/Env.js +12 -0
  598. package/lib/utils/File.d.ts +7 -0
  599. package/lib/utils/File.js +21 -0
  600. package/lib/utils/Format.d.ts +17 -0
  601. package/lib/utils/Format.js +54 -0
  602. package/lib/utils/Ids.d.ts +2 -0
  603. package/lib/utils/Ids.js +17 -0
  604. package/lib/utils/Jupyter.d.ts +1 -0
  605. package/lib/utils/Jupyter.js +17 -0
  606. package/lib/utils/Lazy.d.ts +8 -0
  607. package/lib/utils/Lazy.js +29 -0
  608. package/lib/utils/Msc.d.ts +16 -0
  609. package/lib/utils/Msc.js +28 -0
  610. package/lib/utils/Name.d.ts +7 -0
  611. package/lib/utils/Name.js +39 -0
  612. package/lib/utils/Notebook.d.ts +19 -0
  613. package/lib/utils/Notebook.js +37 -0
  614. package/lib/utils/Number.d.ts +1 -0
  615. package/lib/utils/Number.js +26 -0
  616. package/lib/utils/Plots.d.ts +16 -0
  617. package/lib/utils/Plots.js +56 -0
  618. package/lib/utils/Random.d.ts +1 -0
  619. package/lib/utils/Random.js +12 -0
  620. package/lib/utils/Screenshot.d.ts +1 -0
  621. package/lib/utils/Screenshot.js +32 -0
  622. package/lib/utils/Scroll.d.ts +2 -0
  623. package/lib/utils/Scroll.js +36 -0
  624. package/lib/utils/Sleep.d.ts +2 -0
  625. package/lib/utils/Sleep.js +13 -0
  626. package/lib/utils/Snapshot.d.ts +7 -0
  627. package/lib/utils/Snapshot.js +26 -0
  628. package/lib/utils/String.d.ts +1 -0
  629. package/lib/utils/String.js +18 -0
  630. package/lib/utils/Uri.d.ts +2 -0
  631. package/lib/utils/Uri.js +31 -0
  632. package/lib/utils/Validator.d.ts +12 -0
  633. package/lib/utils/Validator.js +49 -0
  634. package/lib/utils/WithSuspense.d.ts +2 -0
  635. package/lib/utils/WithSuspense.js +26 -0
  636. package/lib/utils/index.d.ts +26 -0
  637. package/lib/utils/index.js +36 -0
  638. package/package.json +43 -4
  639. package/style/base.css +0 -5
  640. package/style/index.css +0 -7
  641. package/style/index.js +0 -7
@@ -0,0 +1,370 @@
1
+ import { ISessionContext } from '@jupyterlab/apputils';
2
+ import { ServiceManager, Kernel, ServerConnection } from '@jupyterlab/services';
3
+ import { IDisposable } from '@lumino/disposable';
4
+ import { ISignal } from '@lumino/signaling';
5
+ import type { IRuntimeSnapshot, IRuntimeCapabilities } from '../../models';
6
+ import { IDatalayerEnvironment, IRuntimePod, IRuntimeType } from '../../models';
7
+ import type { IRuntimeModel, RuntimeLocation } from './models';
8
+ /**
9
+ *
10
+ */
11
+ export interface IDatalayerSessionContext extends ISessionContext {
12
+ get location(): RuntimeLocation;
13
+ }
14
+ /**
15
+ * Runtime creation options
16
+ */
17
+ export interface IRuntimeOptions {
18
+ /**
19
+ * Environment name
20
+ */
21
+ environmentName: string;
22
+ /**
23
+ * Credits limit to be consumed by the kernel
24
+ */
25
+ creditsLimit: number;
26
+ /**
27
+ * Runtime type
28
+ */
29
+ type?: IRuntimeType;
30
+ /**
31
+ * Runtime given name
32
+ */
33
+ givenName?: string;
34
+ /**
35
+ * Kernel capabilities
36
+ */
37
+ capabilities?: IRuntimeCapabilities[];
38
+ /**
39
+ * Kernel snapshot to restore
40
+ */
41
+ snapshot?: string;
42
+ }
43
+ /**
44
+ * Interface for the Environments Manager
45
+ */
46
+ export interface IEnvironmentsManager extends IDisposable {
47
+ /**
48
+ * Signal emitted when the environments changes.
49
+ */
50
+ readonly changed: ISignal<IEnvironmentsManager, readonly IDatalayerEnvironment[]>;
51
+ /**
52
+ * A signal emitted when there is a connection failure.
53
+ */
54
+ readonly connectionFailure: ISignal<IEnvironmentsManager, Error>;
55
+ /**
56
+ * Test whether the manager is ready.
57
+ */
58
+ readonly isReady: boolean;
59
+ /**
60
+ * A promise that fulfills when the manager is ready.
61
+ */
62
+ readonly ready: Promise<void>;
63
+ /**
64
+ * Get the list of environments.
65
+ */
66
+ get(): readonly IDatalayerEnvironment[];
67
+ /**
68
+ * Refresh the environment list.
69
+ */
70
+ refresh(): Promise<void>;
71
+ /**
72
+ * Refresh the environments.
73
+ */
74
+ refreshEnvironments(): Promise<void>;
75
+ }
76
+ /**
77
+ * Interface for the Remote Runtimes Manager
78
+ */
79
+ export interface IRemoteRuntimesManager extends IDisposable {
80
+ /**
81
+ * A signal emitted when there is a connection failure.
82
+ */
83
+ readonly connectionFailure: ISignal<IRemoteRuntimesManager, Error>;
84
+ /**
85
+ * Test whether the manager is ready.
86
+ */
87
+ readonly isReady: boolean;
88
+ /**
89
+ * A promise that fulfills when the manager is ready.
90
+ */
91
+ readonly ready: Promise<void>;
92
+ /**
93
+ * Remote kernels changed
94
+ */
95
+ readonly changed: ISignal<IRemoteRuntimesManager, readonly IRuntimeModel[]>;
96
+ /**
97
+ * The server settings.
98
+ */
99
+ readonly serverSettings: ServerConnection.ISettings;
100
+ /**
101
+ * Get the list of remote kernels.
102
+ */
103
+ get(): readonly IRuntimeModel[];
104
+ /**
105
+ * Get the service manager for a remote server
106
+ *
107
+ * @param serverName Remote kernel server name
108
+ * @returns Service manager for the remote server
109
+ */
110
+ getServices(serverName: string): any | undefined;
111
+ /**
112
+ * Refresh the environment list
113
+ */
114
+ refresh(): Promise<void>;
115
+ /**
116
+ * Launch a Kernel.
117
+ *
118
+ * @param createOptions - The kernel creation options
119
+ *
120
+ * @param connectOptions - The kernel connection options
121
+ *
122
+ * @returns A promise that resolves with the kernel connection.
123
+ */
124
+ startNew(createOptions: IRuntimeOptions, connectOptions?: Omit<Kernel.IKernelConnection.IOptions, 'model' | 'serverSettings'>): Promise<Kernel.IKernelConnection>;
125
+ /**
126
+ * Find a kernel by id.
127
+ *
128
+ * @param id - The id of the target kernel.
129
+ *
130
+ * @returns A promise that resolves with the kernel's model, or undefined if not found.
131
+ */
132
+ findById(id: string): Promise<IRuntimeModel | undefined>;
133
+ /**
134
+ * Connect to an existing kernel.
135
+ *
136
+ * @param options - The connection options.
137
+ *
138
+ * @returns A promise that resolves with the new kernel instance.
139
+ */
140
+ connectTo(options: Kernel.IKernelConnection.IOptions): Kernel.IKernelConnection;
141
+ /**
142
+ * Shut down a kernel by id.
143
+ *
144
+ * @param id - The id of the target kernel.
145
+ *
146
+ * @returns A promise that resolves when the operation is complete.
147
+ */
148
+ shutdown(id: string): Promise<void>;
149
+ /**
150
+ * Shut down all kernels.
151
+ *
152
+ * @returns A promise that resolves when all of the kernels are shut down.
153
+ */
154
+ shutdownAll(): Promise<void>;
155
+ /**
156
+ * @deprecated Use {@link refresh} instead.
157
+ */
158
+ refreshKernels(): Promise<void>;
159
+ /**
160
+ * Snapshot a remote kernel
161
+ *
162
+ * The remote kernel may be given by its `id` or `podName`.
163
+ * A custom description for the snapshot can be provided.
164
+ *
165
+ * @returns The snapshot description
166
+ */
167
+ snapshot(options: {
168
+ /**
169
+ * The kernel id to snapshot
170
+ */
171
+ id?: string;
172
+ /**
173
+ * The kernel pod name to snapshot
174
+ */
175
+ podName?: string;
176
+ /**
177
+ * The snapshot name
178
+ */
179
+ name?: string;
180
+ /**
181
+ * The snapshot description
182
+ */
183
+ description?: string;
184
+ /**
185
+ * Whether to stop the kernel after the snapshot completion or not.
186
+ */
187
+ stop?: boolean;
188
+ }): Promise<IRuntimeSnapshot | undefined>;
189
+ /**
190
+ * Load a snapshot within a remote kernel
191
+ *
192
+ * The remote kernel may be given by its `id` or `podName`.
193
+ */
194
+ loadSnapshot(options: {
195
+ /**
196
+ * The kernel id
197
+ */
198
+ id?: string;
199
+ /**
200
+ * The kernel pod name
201
+ */
202
+ podName?: string;
203
+ /**
204
+ * The snapshot UID
205
+ */
206
+ snapshot: string;
207
+ }): Promise<void>;
208
+ }
209
+ /**
210
+ * Interface for the Remote Services Manager
211
+ */
212
+ export interface IRemoteServicesManager extends IDisposable {
213
+ /**
214
+ * The environments manager.
215
+ */
216
+ readonly environments: IEnvironmentsManager;
217
+ /**
218
+ * The remote runtimes manager.
219
+ */
220
+ readonly runtimesManager: IRemoteRuntimesManager;
221
+ /**
222
+ * The server settings.
223
+ */
224
+ readonly serverSettings: ServerConnection.ISettings;
225
+ /**
226
+ * A signal emitted when there is a connection failure with the kernel.
227
+ */
228
+ readonly connectionFailure: ISignal<IRemoteServicesManager, Error>;
229
+ /**
230
+ * Test whether the service manager is disposed.
231
+ */
232
+ readonly isDisposed: boolean;
233
+ /**
234
+ * Whether the remote manager is ready or not.
235
+ */
236
+ readonly isReady: boolean;
237
+ /**
238
+ * Wait for the remote manager to be ready.
239
+ */
240
+ readonly ready: Promise<void>;
241
+ }
242
+ /**
243
+ * Interface for the Service Manager that manages multiple Jupyter service managers.
244
+ */
245
+ export interface IMultiServiceManager extends ServiceManager.IManager {
246
+ /**
247
+ * Service manager for browser kernels.
248
+ *
249
+ * The kernels managed by this service manager
250
+ * are fully executed in a service worker with
251
+ * browser.
252
+ */
253
+ browser: ServiceManager.IManager | undefined;
254
+ /**
255
+ * Signal emitted when the browser services changes.
256
+ */
257
+ readonly browserChanged: ISignal<ServiceManager.IManager, ServiceManager.IManager | undefined>;
258
+ /**
259
+ * Classical Service manager on the Local Jupyter server.
260
+ */
261
+ readonly local: ServiceManager.IManager;
262
+ /**
263
+ * Service manager on a Remote Jupyter server.
264
+ */
265
+ remote: IRemoteServicesManager | undefined;
266
+ /**
267
+ * Signal emitted when the remote services changes.
268
+ */
269
+ readonly remoteChanged: ISignal<ServiceManager.IManager, IRemoteServicesManager | undefined>;
270
+ }
271
+ /**
272
+ * Get available environments.
273
+ */
274
+ export declare function getEnvironments(): Promise<IDatalayerEnvironment[]>;
275
+ /**
276
+ * Create a Kernel.
277
+ */
278
+ export declare function createRuntime(options: IRuntimeOptions): Promise<IRuntimePod>;
279
+ /**
280
+ * List Runtimes
281
+ */
282
+ export declare function getRuntimes(): Promise<IRuntimePod[]>;
283
+ /**
284
+ * Remove a Kernel
285
+ */
286
+ export declare function deleteRuntime(options: {
287
+ /**
288
+ * Kernel ID
289
+ */
290
+ id: string;
291
+ /**
292
+ * Deletion reason
293
+ */
294
+ reason?: string;
295
+ }): Promise<void>;
296
+ /**
297
+ * Snapshot a Kernel.
298
+ */
299
+ export declare function snapshotRuntime(options: {
300
+ /**
301
+ * Kernel ID.
302
+ */
303
+ id: string;
304
+ /**
305
+ * Snapshot name.
306
+ */
307
+ name?: string;
308
+ /**
309
+ * Snapshot description.
310
+ */
311
+ description?: string;
312
+ /**
313
+ * Whether to stop the kernel after the snapshot completion or not.
314
+ */
315
+ stop?: boolean;
316
+ }): Promise<IRuntimeSnapshot>;
317
+ /**
318
+ * Get Kernel Snapshots.
319
+ */
320
+ export declare function getRuntimeSnapshots(): Promise<IRuntimeSnapshot[]>;
321
+ /**
322
+ * Load a kernel snapshot within a kernel.
323
+ */
324
+ export declare function loadRuntimeSnapshot(options: {
325
+ /**
326
+ * Kernel ID
327
+ */
328
+ id: string;
329
+ /**
330
+ * Snapshot UID
331
+ */
332
+ from: string;
333
+ }): Promise<void>;
334
+ /**
335
+ * Returns the runtime snapshot download URL.
336
+ *
337
+ * @param id Snapshot UID to download
338
+ * @returns The download URL
339
+ */
340
+ export declare function createRuntimeSnapshotDownloadURL(id: string): string;
341
+ /**
342
+ * Export runtime snapshot.
343
+ *
344
+ * @param id Runtime snapshot UID to download
345
+ */
346
+ export declare function exportRuntimeSnapshot(id: string): void;
347
+ /**
348
+ * Delete runtime snapshot.
349
+ */
350
+ export declare function deleteRuntimeSnapshot(id: string): Promise<void>;
351
+ /**
352
+ * Update runtime snapshot metadata.
353
+ */
354
+ export declare function updateRuntimeSnapshot(id: string, metadata: {
355
+ name?: string;
356
+ description?: string;
357
+ }): Promise<void>;
358
+ /**
359
+ * Upload a runtime snapshot.
360
+ *
361
+ * Note: The promise will be rejected if the runtime state is empty.
362
+ */
363
+ export declare function uploadRuntimeSnapshot(options: {
364
+ file: File | Blob;
365
+ metadata: {
366
+ filename: string;
367
+ [key: string]: string;
368
+ };
369
+ onProgress?: (bytesUploaded: number, bytesTotal: number) => void;
370
+ }): Promise<void>;
@@ -0,0 +1,269 @@
1
+ /*
2
+ * Copyright (c) 2023-2025 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /*
6
+ * Copyright (c) 2021-2024 Datalayer, Inc.
7
+ *
8
+ * Datalayer License
9
+ */
10
+ /**
11
+ * Datalayer Jupyter API interface.
12
+ */
13
+ import { URLExt } from '@jupyterlab/coreutils';
14
+ import { PromiseDelegate } from '@lumino/coreutils';
15
+ import { Upload } from 'tus-js-client';
16
+ import { requestRunAPI } from '..';
17
+ import { asRuntimeSnapshot } from '../../models';
18
+ import { iamStore, runtimesStore } from '../../state';
19
+ import { sleep } from '../../utils';
20
+ /**
21
+ * Get available environments.
22
+ */
23
+ export async function getEnvironments() {
24
+ const data = await requestRunAPI({
25
+ url: URLExt.join(runtimesStore.getState().runtimesRunUrl, 'api/runtimes/v1/environments'),
26
+ token: iamStore.getState().token
27
+ });
28
+ if (!data.success) {
29
+ console.error('Failed to fetch available environments.', data);
30
+ return [];
31
+ }
32
+ return data.environments ?? [];
33
+ }
34
+ /**
35
+ * Create a Kernel.
36
+ */
37
+ export async function createRuntime(options) {
38
+ const { externalToken, token } = iamStore.getState();
39
+ const body = {
40
+ environment_name: options.environmentName,
41
+ type: options.type ?? 'notebook',
42
+ given_name: options.givenName,
43
+ credits_limit: options.creditsLimit
44
+ };
45
+ if (options.capabilities) {
46
+ body['capabilities'] = options.capabilities;
47
+ }
48
+ if (options.snapshot) {
49
+ body['from'] = options.snapshot;
50
+ }
51
+ const data = await requestRunAPI({
52
+ url: URLExt.join(runtimesStore.getState().runtimesRunUrl, `api/runtimes/v1/runtimes`),
53
+ method: 'POST',
54
+ body,
55
+ token: token,
56
+ // externalToken may be needed for addons (like credits...).
57
+ headers: externalToken ?
58
+ {
59
+ 'X-External-Token': externalToken
60
+ }
61
+ : undefined
62
+ });
63
+ if (!data.success || !data.runtime) {
64
+ const msg = `Failed to create a kernel for the environment ${options.environmentName}.`;
65
+ console.error(msg, data);
66
+ throw new Error(msg);
67
+ }
68
+ return data.runtime;
69
+ }
70
+ /**
71
+ * List Runtimes
72
+ */
73
+ export async function getRuntimes() {
74
+ const data = await requestRunAPI({
75
+ url: URLExt.join(runtimesStore.getState().runtimesRunUrl, 'api/runtimes/v1/runtimes'),
76
+ token: iamStore.getState().token
77
+ });
78
+ if (!data.success) {
79
+ const msg = 'Failed to list the running kernels.';
80
+ console.error(msg, data);
81
+ throw new Error(msg);
82
+ }
83
+ return data.runtimes ?? [];
84
+ }
85
+ /**
86
+ * Remove a Kernel
87
+ */
88
+ export async function deleteRuntime(options) {
89
+ const externalToken = iamStore.getState().externalToken;
90
+ await requestRunAPI({
91
+ url: URLExt.join(runtimesStore.getState().runtimesRunUrl, `api/runtimes/v1/runtimes/${options.id}`) +
92
+ URLExt.objectToQueryString(options.reason ? { reason: options.reason } : {}),
93
+ method: 'DELETE',
94
+ token: iamStore.getState().token,
95
+ // externalToken may be needed for addons (like credits...).
96
+ headers: externalToken ?
97
+ {
98
+ 'X-External-Token': externalToken
99
+ }
100
+ :
101
+ undefined
102
+ });
103
+ }
104
+ /**
105
+ * Snapshot a Kernel.
106
+ */
107
+ export async function snapshotRuntime(options) {
108
+ const data = await requestRunAPI({
109
+ url: URLExt.join(runtimesStore.getState().runtimesRunUrl, 'api/runtimes/v1/runtime-snapshots'),
110
+ method: 'POST',
111
+ body: {
112
+ pod_name: options.id,
113
+ name: options.name,
114
+ description: options.description,
115
+ stop: options.stop
116
+ },
117
+ token: iamStore.getState().token
118
+ });
119
+ if (!data.success || !data.snapshot) {
120
+ throw new Error(`Failed to pause the kernel snapshot ${options.id} - ${data}`);
121
+ }
122
+ return asRuntimeSnapshot(data.snapshot);
123
+ }
124
+ /**
125
+ * Get Kernel Snapshots.
126
+ */
127
+ export async function getRuntimeSnapshots() {
128
+ const data = await requestRunAPI({
129
+ url: URLExt.join(runtimesStore.getState().runtimesRunUrl, 'api/runtimes/v1/runtime-snapshots'),
130
+ token: iamStore.getState().token
131
+ });
132
+ if (!data.success) {
133
+ console.error('Failed to fetch kernel snapshots.', data);
134
+ return [];
135
+ }
136
+ return (data.snapshots ?? []).map(asRuntimeSnapshot);
137
+ }
138
+ /**
139
+ * Load a kernel snapshot within a kernel.
140
+ */
141
+ export async function loadRuntimeSnapshot(options) {
142
+ const data = await requestRunAPI({
143
+ url: URLExt.join(runtimesStore.getState().runtimesRunUrl, 'api/runtimes/v1/runtimes', options.id),
144
+ method: 'PUT',
145
+ body: {
146
+ from: options.from
147
+ },
148
+ token: iamStore.getState().token
149
+ });
150
+ if (!data.success) {
151
+ throw new Error(`Failed to load the kernel snapshot; ${data.message}`);
152
+ }
153
+ }
154
+ /**
155
+ * Returns the runtime snapshot download URL.
156
+ *
157
+ * @param id Snapshot UID to download
158
+ * @returns The download URL
159
+ */
160
+ export function createRuntimeSnapshotDownloadURL(id) {
161
+ return (URLExt.join(runtimesStore.getState().runtimesRunUrl, `api/runtimes/v1/runtime-snapshots/${id}`) +
162
+ URLExt.objectToQueryString({
163
+ download: '1',
164
+ token: iamStore.getState().token ?? ''
165
+ }));
166
+ }
167
+ /**
168
+ * Export runtime snapshot.
169
+ *
170
+ * @param id Runtime snapshot UID to download
171
+ */
172
+ export function exportRuntimeSnapshot(id) {
173
+ const url = createRuntimeSnapshotDownloadURL(id);
174
+ const element = document.createElement('a');
175
+ element.href = url;
176
+ element.download = '';
177
+ document.body.appendChild(element);
178
+ element.click();
179
+ document.body.removeChild(element);
180
+ }
181
+ /**
182
+ * Delete runtime snapshot.
183
+ */
184
+ export async function deleteRuntimeSnapshot(id) {
185
+ await requestRunAPI({
186
+ url: URLExt.join(runtimesStore.getState().runtimesRunUrl, `api/runtimes/v1/runtime-snapshots/${id}`),
187
+ method: 'DELETE',
188
+ token: iamStore.getState().token
189
+ });
190
+ // Poll runtime snapshot state upto its deletion
191
+ try {
192
+ let sleepTimeout = 1000;
193
+ while (true) {
194
+ await sleep(sleepTimeout);
195
+ sleepTimeout *= 2;
196
+ const response = await requestRunAPI({
197
+ url: URLExt.join(runtimesStore.getState().runtimesRunUrl, `api/runtimes/v1/runtime-snapshots/${id}`),
198
+ token: iamStore.getState().token
199
+ });
200
+ if (response.success === false) {
201
+ throw new Error(response.message);
202
+ }
203
+ }
204
+ }
205
+ catch (error) {
206
+ if (error.name === 'RunResponseError' &&
207
+ error.response.status === 404) {
208
+ // Expected not found
209
+ }
210
+ else {
211
+ throw error;
212
+ }
213
+ }
214
+ }
215
+ /**
216
+ * Update runtime snapshot metadata.
217
+ */
218
+ export async function updateRuntimeSnapshot(id, metadata) {
219
+ if (metadata.name || metadata.description) {
220
+ await requestRunAPI({
221
+ url: URLExt.join(runtimesStore.getState().runtimesRunUrl, `api/runtimes/v1/runtime-snapshots/${id}`),
222
+ method: 'PATCH',
223
+ body: { ...metadata },
224
+ token: iamStore.getState().token
225
+ });
226
+ }
227
+ }
228
+ /**
229
+ * Upload a runtime snapshot.
230
+ *
231
+ * Note: The promise will be rejected if the runtime state is empty.
232
+ */
233
+ export async function uploadRuntimeSnapshot(options) {
234
+ if (options.file.size === 0) {
235
+ return Promise.reject('Empty runtime snapshot');
236
+ }
237
+ const tracker = new PromiseDelegate();
238
+ // Create a new tus upload.
239
+ const upload = new Upload(options.file, {
240
+ // Endpoint is the upload creation URL from your tus server.
241
+ endpoint: `${runtimesStore.getState().runtimesRunUrl}/api/runtimes/v1/runtime-snapshots/upload`,
242
+ headers: { Authorization: `Bearer ${iamStore.getState().token}` },
243
+ // Retry delays will enable tus-js-client to automatically retry on errors.
244
+ // retryDelays: [0, 3000, 5000, 10000, 20000],
245
+ retryDelays: null,
246
+ // Attach additional meta data about the file for the server.
247
+ metadata: options.metadata,
248
+ // Callback for errors which cannot be fixed using retries.
249
+ onError: error => {
250
+ console.error(`Failed to upload ${options.metadata.filename}.`, error);
251
+ tracker.reject(error);
252
+ },
253
+ // Callback for reporting upload progress.
254
+ onProgress: options.onProgress,
255
+ // Callback for once the upload is completed.
256
+ onSuccess: () => {
257
+ tracker.resolve();
258
+ }
259
+ });
260
+ // Check if there are any previous uploads to continue then start the upload.
261
+ const previousUploads = await upload.findPreviousUploads();
262
+ // Found previous uploads so we select the first one.
263
+ if (previousUploads.length) {
264
+ upload.resumeFromPreviousUpload(previousUploads[0]);
265
+ }
266
+ // Start the upload.
267
+ upload.start();
268
+ return tracker.promise;
269
+ }
@@ -0,0 +1,15 @@
1
+ import { ServerConnection } from '@jupyterlab/services';
2
+ /**
3
+ * Create a settings object given a subset of options.
4
+ *
5
+ * TODO This is already present somewhere else?
6
+ *
7
+ * @param options - An optional partial set of options.
8
+ *
9
+ * @returns The full settings object.
10
+ */
11
+ export declare function makeDatalayerSettings(baseUrl: string, token: string, wsUrl?: string): ServerConnection.ISettings;
12
+ declare const _default: {
13
+ makeDatalayerSettings: typeof makeDatalayerSettings;
14
+ };
15
+ export default _default;
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Copyright (c) 2023-2025 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /*
6
+ * Copyright (c) 2021-2024 Datalayer, Inc.
7
+ *
8
+ * Datalayer License
9
+ */
10
+ import { ServerConnection } from '@jupyterlab/services';
11
+ /**
12
+ * Create a settings object given a subset of options.
13
+ *
14
+ * TODO This is already present somewhere else?
15
+ *
16
+ * @param options - An optional partial set of options.
17
+ *
18
+ * @returns The full settings object.
19
+ */
20
+ export function makeDatalayerSettings(baseUrl, token, wsUrl) {
21
+ const serverSettings = ServerConnection.makeSettings({
22
+ baseUrl,
23
+ wsUrl: wsUrl || baseUrl.replace(/^http/, 'ws'),
24
+ token,
25
+ appendToken: true,
26
+ init: {
27
+ mode: 'cors',
28
+ credentials: 'include',
29
+ cache: 'no-store'
30
+ }
31
+ });
32
+ return serverSettings;
33
+ }
34
+ export default {
35
+ makeDatalayerSettings
36
+ };