@datalayer/core 0.0.1 → 0.0.3
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.
- package/README.md +187 -7
- package/lib/App.css +47 -0
- package/lib/App.d.ts +3 -0
- package/lib/App.js +21 -5
- package/lib/__tests__/App.test.d.ts +1 -0
- package/lib/__tests__/App.test.js +17 -0
- package/lib/__tests__/hooks.test.d.ts +1 -0
- package/lib/__tests__/hooks.test.js +19 -0
- package/lib/__tests__/index.test.d.ts +1 -0
- package/lib/__tests__/index.test.js +27 -0
- package/lib/__tests__/integration.test.d.ts +1 -0
- package/lib/__tests__/integration.test.js +57 -0
- package/lib/__tests__/utils.test.d.ts +1 -0
- package/lib/__tests__/utils.test.js +59 -0
- package/lib/api/DatalayerApi.d.ts +75 -0
- package/lib/api/DatalayerApi.js +145 -0
- package/lib/api/index.d.ts +3 -0
- package/lib/api/index.js +7 -0
- package/lib/api/jupyter/exec/Python.d.ts +5 -0
- package/lib/api/jupyter/exec/Python.js +100 -0
- package/lib/api/jupyter/exec/Snippets.d.ts +145 -0
- package/lib/api/jupyter/exec/Snippets.js +120 -0
- package/lib/api/jupyter/exec/index.d.ts +2 -0
- package/lib/api/jupyter/exec/index.js +6 -0
- package/lib/api/jupyter/index.d.ts +2 -0
- package/lib/api/jupyter/index.js +6 -0
- package/lib/api/jupyter/kernelsHandler.d.ts +8 -0
- package/lib/api/jupyter/kernelsHandler.js +39 -0
- package/lib/api/runtimes/actions.d.ts +102 -0
- package/lib/api/runtimes/actions.js +264 -0
- package/lib/api/runtimes/apis.d.ts +273 -0
- package/lib/api/runtimes/apis.js +5 -0
- package/lib/api/runtimes/index.d.ts +5 -0
- package/lib/api/runtimes/index.js +9 -0
- package/lib/api/runtimes/settings.d.ts +15 -0
- package/lib/api/runtimes/settings.js +31 -0
- package/lib/api/runtimes/snapshots.d.ts +25 -0
- package/lib/api/runtimes/snapshots.js +150 -0
- package/lib/api/runtimes/utils.d.ts +7 -0
- package/lib/api/runtimes/utils.js +17 -0
- package/lib/assets/react.svg +1 -0
- package/lib/components/avatars/BoringAvatar.d.ts +19 -0
- package/lib/components/avatars/BoringAvatar.js +44 -0
- package/lib/components/avatars/BoringAvatar.stories.d.ts +27 -0
- package/lib/components/avatars/BoringAvatar.stories.js +23 -0
- package/lib/components/avatars/UserProfileAvatar.d.ts +13 -0
- package/lib/components/avatars/UserProfileAvatar.js +32 -0
- package/lib/components/avatars/index.d.ts +2 -0
- package/lib/components/avatars/index.js +6 -0
- package/lib/components/banners/NoAutomationBanner.d.ts +2 -0
- package/lib/components/banners/NoAutomationBanner.js +13 -0
- package/lib/components/banners/index.d.ts +1 -0
- package/lib/components/banners/index.js +5 -0
- package/lib/components/buttons/DownloadCSVButton.d.ts +13 -0
- package/lib/components/buttons/DownloadCSVButton.js +16 -0
- package/lib/components/buttons/DownloadJsonButton.d.ts +16 -0
- package/lib/components/buttons/DownloadJsonButton.js +18 -0
- package/lib/components/buttons/LongActionButton.d.ts +28 -0
- package/lib/components/buttons/LongActionButton.js +24 -0
- package/lib/components/buttons/UploadButton.d.ts +37 -0
- package/lib/components/buttons/UploadButton.js +43 -0
- package/lib/components/buttons/VariantType.d.ts +1 -0
- package/lib/components/buttons/VariantType.js +5 -0
- package/lib/components/buttons/index.d.ts +5 -0
- package/lib/components/buttons/index.js +9 -0
- package/lib/components/checkout/StripeCheckout.d.ts +32 -0
- package/lib/components/checkout/StripeCheckout.js +95 -0
- package/lib/components/checkout/index.d.ts +1 -0
- package/lib/components/checkout/index.js +5 -0
- package/lib/components/confetti/ConfettiSuccess.d.ts +2 -0
- package/lib/components/confetti/ConfettiSuccess.js +12 -0
- package/lib/components/confetti/index.d.ts +1 -0
- package/lib/components/confetti/index.js +5 -0
- package/lib/components/context/OrganizationSelect.d.ts +2 -0
- package/lib/components/context/OrganizationSelect.js +35 -0
- package/lib/components/context/SpaceSelect.d.ts +2 -0
- package/lib/components/context/SpaceSelect.js +43 -0
- package/lib/components/context/index.d.ts +2 -0
- package/lib/components/context/index.js +6 -0
- package/lib/components/display/AvatarSkeleton.d.ts +5 -0
- package/lib/components/display/AvatarSkeleton.js +11 -0
- package/lib/components/display/CenteredSpinner.d.ts +14 -0
- package/lib/components/display/CenteredSpinner.js +20 -0
- package/lib/components/display/CodePreview.d.ts +4 -0
- package/lib/components/display/CodePreview.js +15 -0
- package/lib/components/display/DatalayerBox.d.ts +8 -0
- package/lib/components/display/DatalayerBox.js +28 -0
- package/lib/components/display/HorizontalCenter.d.ts +9 -0
- package/lib/components/display/HorizontalCenter.js +14 -0
- package/lib/components/display/JupyterDialog.d.ts +69 -0
- package/lib/components/display/JupyterDialog.js +115 -0
- package/lib/components/display/Markdown.d.ts +23 -0
- package/lib/components/display/Markdown.js +20 -0
- package/lib/components/display/NavLink.d.ts +9 -0
- package/lib/components/display/NavLink.js +17 -0
- package/lib/components/display/NotebookSkeleton.d.ts +2 -0
- package/lib/components/display/NotebookSkeleton.js +11 -0
- package/lib/components/display/Placeholder.d.ts +2 -0
- package/lib/components/display/Placeholder.js +9 -0
- package/lib/components/display/ToTopBranded.d.ts +2 -0
- package/lib/components/display/ToTopBranded.js +11 -0
- package/lib/components/display/VisuallyHidden.d.ts +5 -0
- package/lib/components/display/VisuallyHidden.js +24 -0
- package/lib/components/display/index.d.ts +12 -0
- package/lib/components/display/index.js +16 -0
- package/lib/components/echarts/EChartsReact.d.ts +11 -0
- package/lib/components/echarts/EChartsReact.js +53 -0
- package/lib/components/echarts/index.d.ts +1 -0
- package/lib/components/echarts/index.js +5 -0
- package/lib/components/flashes/FlashClosable.d.ts +22 -0
- package/lib/components/flashes/FlashClosable.js +64 -0
- package/lib/components/flashes/FlashDisclaimer.d.ts +2 -0
- package/lib/components/flashes/FlashDisclaimer.js +18 -0
- package/lib/components/flashes/FlashGuest.d.ts +2 -0
- package/lib/components/flashes/FlashGuest.js +30 -0
- package/lib/components/flashes/FlashSurveys.d.ts +6 -0
- package/lib/components/flashes/FlashSurveys.js +36 -0
- package/lib/components/flashes/FlashUnauthorized.d.ts +2 -0
- package/lib/components/flashes/FlashUnauthorized.js +18 -0
- package/lib/components/flashes/index.d.ts +6 -0
- package/lib/components/flashes/index.js +10 -0
- package/lib/components/flashes/surveys/Survey2025_1.d.ts +3 -0
- package/lib/components/flashes/surveys/Survey2025_1.js +129 -0
- package/lib/components/flashes/surveys/SurveyProps.d.ts +6 -0
- package/lib/components/flashes/surveys/SurveyProps.js +5 -0
- package/lib/components/flashes/surveys/index.d.ts +2 -0
- package/lib/components/flashes/surveys/index.js +6 -0
- package/lib/components/iam/ExternalTokenSilentLogin.d.ts +5 -0
- package/lib/components/iam/ExternalTokenSilentLogin.js +33 -0
- package/lib/components/iam/index.d.ts +1 -0
- package/lib/components/iam/index.js +5 -0
- package/lib/components/icons/ArtifactIcon.d.ts +10 -0
- package/lib/components/icons/ArtifactIcon.js +58 -0
- package/lib/components/icons/index.d.ts +1 -0
- package/lib/components/icons/index.js +5 -0
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.js +5 -0
- package/lib/components/labels/VisibilityLabel.d.ts +4 -0
- package/lib/components/labels/VisibilityLabel.js +17 -0
- package/lib/components/labels/index.d.ts +1 -0
- package/lib/components/labels/index.js +5 -0
- package/lib/components/landings/StepBlock.d.ts +11 -0
- package/lib/components/landings/StepBlock.js +12 -0
- package/lib/components/landings/index.d.ts +1 -0
- package/lib/components/landings/index.js +5 -0
- package/lib/components/navbar/NavigationVisbilityObserver.d.ts +5 -0
- package/lib/components/navbar/NavigationVisbilityObserver.js +58 -0
- package/lib/components/navbar/SubdomainNavBar.d.ts +81 -0
- package/lib/components/navbar/SubdomainNavBar.js +235 -0
- package/lib/components/navbar/SubdomainNavBar.module.css +718 -0
- package/lib/components/navbar/index.d.ts +2 -0
- package/lib/components/navbar/index.js +6 -0
- package/lib/components/nbgrader/NbGradesDetails.d.ts +5 -0
- package/lib/components/nbgrader/NbGradesDetails.js +17 -0
- package/lib/components/nbgrader/index.d.ts +1 -0
- package/lib/components/nbgrader/index.js +5 -0
- package/lib/components/notebooks/JupyterNotebook.d.ts +12 -0
- package/lib/components/notebooks/JupyterNotebook.js +36 -0
- package/lib/components/notebooks/JupyterNotebookToolbar.d.ts +2 -0
- package/lib/components/notebooks/JupyterNotebookToolbar.js +39 -0
- package/lib/components/notebooks/index.d.ts +2 -0
- package/lib/components/notebooks/index.js +6 -0
- package/lib/components/primer/Helper.d.ts +32 -0
- package/lib/components/primer/Helper.js +19 -0
- package/lib/components/primer/Portals.d.ts +9 -0
- package/lib/components/primer/Portals.js +26 -0
- package/lib/components/primer/Styles.d.ts +2 -0
- package/lib/components/primer/Styles.js +11 -0
- package/lib/components/primer/index.d.ts +2 -0
- package/lib/components/primer/index.js +6 -0
- package/lib/components/progress/ConsumptionBar.d.ts +40 -0
- package/lib/components/progress/ConsumptionBar.js +49 -0
- package/lib/components/progress/CreditsIndicator.d.ts +27 -0
- package/lib/components/progress/CreditsIndicator.js +24 -0
- package/lib/components/progress/ProgressBar.d.ts +2 -0
- package/lib/components/progress/ProgressBar.js +21 -0
- package/lib/components/progress/ProgressRing.d.ts +36 -0
- package/lib/components/progress/ProgressRing.js +31 -0
- package/lib/components/progress/Timer.d.ts +9 -0
- package/lib/components/progress/Timer.js +28 -0
- package/lib/components/progress/index.d.ts +5 -0
- package/lib/components/progress/index.js +9 -0
- package/lib/components/runtimes/RuntimeCellVariables.d.ts +39 -0
- package/lib/components/runtimes/RuntimeCellVariables.js +172 -0
- package/lib/components/runtimes/RuntimeCellVariablesDialog.d.ts +37 -0
- package/lib/components/runtimes/RuntimeCellVariablesDialog.js +101 -0
- package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +53 -0
- package/lib/components/runtimes/RuntimeLauncherDialog.js +250 -0
- package/lib/components/runtimes/RuntimePickerBase.d.ts +69 -0
- package/lib/components/runtimes/RuntimePickerBase.js +109 -0
- package/lib/components/runtimes/RuntimePickerCell.d.ts +34 -0
- package/lib/components/runtimes/RuntimePickerCell.js +106 -0
- package/lib/components/runtimes/RuntimePickerNotebook.d.ts +42 -0
- package/lib/components/runtimes/RuntimePickerNotebook.js +168 -0
- package/lib/components/runtimes/RuntimeReservationControl.d.ts +47 -0
- package/lib/components/runtimes/RuntimeReservationControl.js +38 -0
- package/lib/components/runtimes/RuntimeSimplePicker.d.ts +34 -0
- package/lib/components/runtimes/RuntimeSimplePicker.js +156 -0
- package/lib/components/runtimes/RuntimeTransfer.d.ts +16 -0
- package/lib/components/runtimes/RuntimeTransfer.js +5 -0
- package/lib/components/runtimes/RuntimeUtils.d.ts +17 -0
- package/lib/components/runtimes/RuntimeUtils.js +168 -0
- package/lib/components/runtimes/RuntimeVariables.d.ts +38 -0
- package/lib/components/runtimes/RuntimeVariables.js +75 -0
- package/lib/components/runtimes/index.d.ts +11 -0
- package/lib/components/runtimes/index.js +15 -0
- package/lib/components/screenshot/ScreenCapture.d.ts +38 -0
- package/lib/components/screenshot/ScreenCapture.js +174 -0
- package/lib/components/screenshot/ScreenCaptureButton.d.ts +3 -0
- package/lib/components/screenshot/ScreenCaptureButton.js +21 -0
- package/lib/components/screenshot/index.d.ts +2 -0
- package/lib/components/screenshot/index.js +6 -0
- package/lib/components/snapshots/RuntimeSnapshotMenu.d.ts +36 -0
- package/lib/components/snapshots/RuntimeSnapshotMenu.js +164 -0
- package/lib/components/snapshots/index.d.ts +1 -0
- package/lib/components/snapshots/index.js +5 -0
- package/lib/components/snippets/SnippetDialog.d.ts +42 -0
- package/lib/components/snippets/SnippetDialog.js +42 -0
- package/lib/components/snippets/index.d.ts +1 -0
- package/lib/components/snippets/index.js +5 -0
- package/lib/components/storage/ContentsBrowser.d.ts +32 -0
- package/lib/components/storage/ContentsBrowser.js +255 -0
- package/lib/components/storage/ContentsItems.d.ts +58 -0
- package/lib/components/storage/ContentsItems.js +78 -0
- package/lib/components/storage/index.d.ts +2 -0
- package/lib/components/storage/index.js +6 -0
- package/lib/components/students/StudentItemStatus.d.ts +7 -0
- package/lib/components/students/StudentItemStatus.js +47 -0
- package/lib/components/students/index.d.ts +1 -0
- package/lib/components/students/index.js +5 -0
- package/lib/components/subnav/SubNav.d.ts +84 -0
- package/lib/components/subnav/SubNav.js +265 -0
- package/lib/components/subnav/SubNav.module.css +683 -0
- package/lib/components/subnav/index.d.ts +1 -0
- package/lib/components/subnav/index.js +5 -0
- package/lib/components/tables/DataTable.d.ts +5 -0
- package/lib/components/tables/DataTable.js +19 -0
- package/lib/components/tables/index.d.ts +1 -0
- package/lib/components/tables/index.js +5 -0
- package/lib/components/text-reveal/TextRevealAnimation.d.ts +6 -0
- package/lib/components/text-reveal/TextRevealAnimation.js +49 -0
- package/lib/components/text-reveal/TextRevealAnimation.module.css +43 -0
- package/lib/components/text-reveal/index.d.ts +1 -0
- package/lib/components/text-reveal/index.js +5 -0
- package/lib/components/text-reveal/useTextRevealAnimationLines.d.ts +4 -0
- package/lib/components/text-reveal/useTextRevealAnimationLines.js +47 -0
- package/lib/components/tokens/SpaceVariantToken.d.ts +5 -0
- package/lib/components/tokens/SpaceVariantToken.js +20 -0
- package/lib/components/tokens/index.d.ts +1 -0
- package/lib/components/tokens/index.js +5 -0
- package/lib/components/toolbars/AssignmentEditorToolbar.d.ts +4 -0
- package/lib/components/toolbars/AssignmentEditorToolbar.js +18 -0
- package/lib/components/toolbars/DocumentEditorToolbar.d.ts +2 -0
- package/lib/components/toolbars/DocumentEditorToolbar.js +12 -0
- package/lib/components/toolbars/NotebookEditorToolbar.d.ts +29 -0
- package/lib/components/toolbars/NotebookEditorToolbar.js +30 -0
- package/lib/components/toolbars/index.d.ts +3 -0
- package/lib/components/toolbars/index.js +7 -0
- package/lib/components/users/PeerIndicator.d.ts +18 -0
- package/lib/components/users/PeerIndicator.js +100 -0
- package/lib/components/users/index.d.ts +1 -0
- package/lib/components/users/index.js +5 -0
- package/lib/config/Configuration.d.ts +111 -0
- package/lib/config/Configuration.js +25 -0
- package/lib/config/index.d.ts +2 -0
- package/lib/config/index.js +6 -0
- package/lib/config/integrations/Loom.d.ts +1 -0
- package/lib/config/integrations/Loom.js +16 -0
- package/lib/config/integrations/index.d.ts +1 -0
- package/lib/config/integrations/index.js +5 -0
- package/lib/examples/CellExample.d.ts +6 -0
- package/lib/examples/CellExample.js +24 -0
- package/lib/examples/NotebookExample.d.ts +8 -0
- package/lib/examples/NotebookExample.js +22 -0
- package/lib/examples/NotebookExample1.ipynb.json +136 -0
- package/lib/hooks/assets/OutputshotPlaceholders.d.ts +19 -0
- package/lib/hooks/assets/OutputshotPlaceholders.js +23 -0
- package/lib/hooks/assets/index.d.ts +1 -0
- package/lib/hooks/assets/index.js +5 -0
- package/lib/hooks/index.d.ts +28 -0
- package/lib/hooks/index.js +33 -0
- package/lib/hooks/layouts/LayoutBackdrop.d.ts +2 -0
- package/lib/hooks/layouts/LayoutBackdrop.js +30 -0
- package/lib/hooks/layouts/LayoutScreenshot.css +58 -0
- package/lib/hooks/layouts/LayoutScreenshot.d.ts +3 -0
- package/lib/hooks/layouts/LayoutScreenshot.js +44 -0
- package/lib/hooks/layouts/index.d.ts +2 -0
- package/lib/hooks/layouts/index.js +6 -0
- package/lib/hooks/useAIAgents.d.ts +13 -0
- package/lib/hooks/useAIAgents.js +72 -0
- package/lib/hooks/useAuthorization.d.ts +19 -0
- package/lib/hooks/useAuthorization.js +124 -0
- package/lib/hooks/useBackdrop.d.ts +28 -0
- package/lib/hooks/useBackdrop.js +100 -0
- package/lib/hooks/useBackdropJupyterLab.d.ts +15 -0
- package/lib/hooks/useBackdropJupyterLab.js +51 -0
- package/lib/hooks/useCache.d.ts +306 -0
- package/lib/hooks/useCache.js +3098 -0
- package/lib/hooks/useCellOutputshot.d.ts +4 -0
- package/lib/hooks/useCellOutputshot.js +28 -0
- package/lib/hooks/useContainsFocus.d.ts +9 -0
- package/lib/hooks/useContainsFocus.js +43 -0
- package/lib/hooks/useDatalayer.d.ts +21 -0
- package/lib/hooks/useDatalayer.js +81 -0
- package/lib/hooks/useError.d.ts +9 -0
- package/lib/hooks/useError.js +26 -0
- package/lib/hooks/useExternalScript.d.ts +2 -0
- package/lib/hooks/useExternalScript.js +17 -0
- package/lib/hooks/useFocusTrap.d.ts +30 -0
- package/lib/hooks/useFocusTrap.js +48 -0
- package/lib/hooks/useIAM.d.ts +14 -0
- package/lib/hooks/useIAM.js +93 -0
- package/lib/hooks/useId.d.ts +19 -0
- package/lib/hooks/useId.js +100 -0
- package/lib/hooks/useIsomorphicLayoutEffect.d.ts +3 -0
- package/lib/hooks/useIsomorphicLayoutEffect.js +11 -0
- package/lib/hooks/useJupyterLabTheme.d.ts +6 -0
- package/lib/hooks/useJupyterLabTheme.js +24 -0
- package/lib/hooks/useKeyboardEscape.d.ts +1 -0
- package/lib/hooks/useKeyboardEscape.js +18 -0
- package/lib/hooks/useLocationHandles.d.ts +10 -0
- package/lib/hooks/useLocationHandles.js +22 -0
- package/lib/hooks/useNavigate.d.ts +2 -0
- package/lib/hooks/useNavigate.js +24 -0
- package/lib/hooks/useNotebookAIAgent.d.ts +8 -0
- package/lib/hooks/useNotebookAIAgent.js +54 -0
- package/lib/hooks/useOnClickOutside.d.ts +1 -0
- package/lib/hooks/useOnClickOutside.js +29 -0
- package/lib/hooks/useRef.d.ts +10 -0
- package/lib/hooks/useRef.js +17 -0
- package/lib/hooks/useRuntimes.d.ts +5 -0
- package/lib/hooks/useRuntimes.js +34 -0
- package/lib/hooks/useScreenshot.d.ts +21 -0
- package/lib/hooks/useScreenshot.js +60 -0
- package/lib/hooks/useToast.d.ts +42 -0
- package/lib/hooks/useToast.js +141 -0
- package/lib/hooks/useUpload.d.ts +7 -0
- package/lib/hooks/useUpload.js +46 -0
- package/lib/hooks/useUser.d.ts +3 -0
- package/lib/hooks/useUser.js +22 -0
- package/lib/hooks/useVisibilityObserver.d.ts +5 -0
- package/lib/hooks/useVisibilityObserver.js +42 -0
- package/lib/hooks/useWindowSize.d.ts +21 -0
- package/lib/hooks/useWindowSize.js +74 -0
- package/lib/i18n/Labels.d.ts +1 -0
- package/lib/i18n/Labels.js +5 -0
- package/lib/i18n/index.d.ts +1 -0
- package/lib/i18n/index.js +5 -0
- package/lib/index.css +73 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +6 -0
- package/lib/main.d.ts +1 -0
- package/lib/main.js +5 -2
- package/lib/mocks/components/FlashMock.d.ts +2 -0
- package/lib/mocks/components/FlashMock.js +13 -0
- package/lib/mocks/components/index.d.ts +1 -0
- package/lib/mocks/components/index.js +5 -0
- package/lib/mocks/hooks/index.d.ts +1 -0
- package/lib/mocks/hooks/index.js +5 -0
- package/lib/mocks/hooks/rests/index.d.ts +1 -0
- package/lib/mocks/hooks/rests/index.js +5 -0
- package/lib/mocks/hooks/rests/rests.d.ts +22 -0
- package/lib/mocks/hooks/rests/rests.js +32 -0
- package/lib/mocks/hooks/useDatalayerMock.d.ts +6 -0
- package/lib/mocks/hooks/useDatalayerMock.js +78 -0
- package/lib/mocks/index.d.ts +4 -0
- package/lib/mocks/index.js +9 -0
- package/lib/mocks/jupyter/index.d.ts +1 -0
- package/lib/mocks/jupyter/index.js +5 -0
- package/lib/mocks/models/CodeBlockMock.d.ts +1 -0
- package/lib/mocks/models/CodeBlockMock.js +5 -0
- package/lib/mocks/models/CodelineMock.d.ts +1 -0
- package/lib/mocks/models/CodelineMock.js +5 -0
- package/lib/mocks/models/CourseMock.d.ts +6 -0
- package/lib/mocks/models/CourseMock.js +29 -0
- package/lib/mocks/models/InviteMock.d.ts +6 -0
- package/lib/mocks/models/InviteMock.js +22 -0
- package/lib/mocks/models/JupyterLabUserMock.d.ts +2 -0
- package/lib/mocks/models/JupyterLabUserMock.js +17 -0
- package/lib/mocks/models/OrganisationMock.d.ts +5 -0
- package/lib/mocks/models/OrganisationMock.js +24 -0
- package/lib/mocks/models/SchoolMock.d.ts +6 -0
- package/lib/mocks/models/SchoolMock.js +25 -0
- package/lib/mocks/models/SpaceMock.d.ts +6 -0
- package/lib/mocks/models/SpaceMock.js +25 -0
- package/lib/mocks/models/TeamMock.d.ts +5 -0
- package/lib/mocks/models/TeamMock.js +26 -0
- package/lib/mocks/models/UserMock.d.ts +2 -0
- package/lib/mocks/models/UserMock.js +29 -0
- package/lib/mocks/models/index.d.ts +9 -0
- package/lib/mocks/models/index.js +13 -0
- package/lib/mocks/views/ActionMenuMock.d.ts +5 -0
- package/lib/mocks/views/ActionMenuMock.js +12 -0
- package/lib/mocks/views/ChartMock.d.ts +5 -0
- package/lib/mocks/views/ChartMock.js +15 -0
- package/lib/mocks/views/ChartMockOptions.d.ts +92 -0
- package/lib/mocks/views/ChartMockOptions.js +102 -0
- package/lib/mocks/views/DashboardMock.d.ts +2 -0
- package/lib/mocks/views/DashboardMock.js +118 -0
- package/lib/mocks/views/FormMock.d.ts +5 -0
- package/lib/mocks/views/FormMock.js +28 -0
- package/lib/mocks/views/TableMock.d.ts +5 -0
- package/lib/mocks/views/TableMock.js +155 -0
- package/lib/mocks/views/WipMock.d.ts +5 -0
- package/lib/mocks/views/WipMock.js +12 -0
- package/lib/mocks/views/index.d.ts +7 -0
- package/lib/mocks/views/index.js +11 -0
- package/lib/models/AIAgent.d.ts +17 -0
- package/lib/models/AIAgent.js +5 -0
- package/lib/models/Account.d.ts +4 -0
- package/lib/models/Account.js +5 -0
- package/lib/models/Assignment.d.ts +7 -0
- package/lib/models/Assignment.js +5 -0
- package/lib/models/Base.d.ts +16 -0
- package/lib/models/Base.js +5 -0
- package/lib/models/Cell.d.ts +8 -0
- package/lib/models/Cell.js +5 -0
- package/lib/models/CodeBlock.d.ts +10 -0
- package/lib/models/CodeBlock.js +5 -0
- package/lib/models/CodefeedBlocks.d.ts +7 -0
- package/lib/models/CodefeedBlocks.js +5 -0
- package/lib/models/Contact.d.ts +73 -0
- package/lib/models/Contact.js +90 -0
- package/lib/models/ContactEvent.d.ts +10 -0
- package/lib/models/ContactEvent.js +14 -0
- package/lib/models/ContactIAMProvider.d.ts +12 -0
- package/lib/models/ContactIAMProvider.js +20 -0
- package/lib/models/ContactTags.d.ts +23 -0
- package/lib/models/ContactTags.js +73 -0
- package/lib/models/Content.d.ts +5 -0
- package/lib/models/Content.js +5 -0
- package/lib/models/Course.d.ts +17 -0
- package/lib/models/Course.js +5 -0
- package/lib/models/Credits.d.ts +76 -0
- package/lib/models/Credits.js +11 -0
- package/lib/models/Dataset.d.ts +16 -0
- package/lib/models/Dataset.js +5 -0
- package/lib/models/Datasource.d.ts +11 -0
- package/lib/models/Datasource.js +14 -0
- package/lib/models/Dean.d.ts +3 -0
- package/lib/models/Dean.js +5 -0
- package/lib/models/Document.d.ts +8 -0
- package/lib/models/Document.js +5 -0
- package/lib/models/Environment.d.ts +82 -0
- package/lib/models/Environment.js +5 -0
- package/lib/models/Errors.d.ts +6 -0
- package/lib/models/Errors.js +13 -0
- package/lib/models/Exercise.d.ts +16 -0
- package/lib/models/Exercise.js +5 -0
- package/lib/models/GrowthKPI.d.ts +5 -0
- package/lib/models/GrowthKPI.js +9 -0
- package/lib/models/IAMProviderLinked.d.ts +9 -0
- package/lib/models/IAMProviderLinked.js +13 -0
- package/lib/models/IAMProviderPost.d.ts +8 -0
- package/lib/models/IAMProviderPost.js +22 -0
- package/lib/models/IAMProviderUsers.d.ts +49 -0
- package/lib/models/IAMProviderUsers.js +29 -0
- package/lib/models/IAMProvidersSpecs.d.ts +22 -0
- package/lib/models/IAMProvidersSpecs.js +72 -0
- package/lib/models/IAMToken.d.ts +11 -0
- package/lib/models/IAMToken.js +14 -0
- package/lib/models/Inbound.d.ts +25 -0
- package/lib/models/Inbound.js +29 -0
- package/lib/models/Instructor.d.ts +3 -0
- package/lib/models/Instructor.js +5 -0
- package/lib/models/Invite.d.ts +14 -0
- package/lib/models/Invite.js +24 -0
- package/lib/models/Item.d.ts +20 -0
- package/lib/models/Item.js +5 -0
- package/lib/models/ItemType.d.ts +2 -0
- package/lib/models/ItemType.js +5 -0
- package/lib/models/LandingRoles.d.ts +3 -0
- package/lib/models/LandingRoles.js +27 -0
- package/lib/models/Lesson.d.ts +5 -0
- package/lib/models/Lesson.js +5 -0
- package/lib/models/Library.d.ts +10 -0
- package/lib/models/Library.js +5 -0
- package/lib/models/Member.d.ts +3 -0
- package/lib/models/Member.js +5 -0
- package/lib/models/Notebook.d.ts +11 -0
- package/lib/models/Notebook.js +5 -0
- package/lib/models/Organization.d.ts +27 -0
- package/lib/models/Organization.js +36 -0
- package/lib/models/OrganizationMember.d.ts +6 -0
- package/lib/models/OrganizationMember.js +5 -0
- package/lib/models/Outbound.d.ts +41 -0
- package/lib/models/Outbound.js +45 -0
- package/lib/models/Page.d.ts +36 -0
- package/lib/models/Page.js +23 -0
- package/lib/models/PageTag.d.ts +19 -0
- package/lib/models/PageTag.js +26 -0
- package/lib/models/Profile.d.ts +1 -0
- package/lib/models/Profile.js +5 -0
- package/lib/models/Role.d.ts +9 -0
- package/lib/models/Role.js +5 -0
- package/lib/models/RolesOrganization.d.ts +9 -0
- package/lib/models/RolesOrganization.js +58 -0
- package/lib/models/RolesPlatform.d.ts +16 -0
- package/lib/models/RolesPlatform.js +142 -0
- package/lib/models/RolesTeam.d.ts +7 -0
- package/lib/models/RolesTeam.js +34 -0
- package/lib/models/Runtime.d.ts +123 -0
- package/lib/models/Runtime.js +18 -0
- package/lib/models/RuntimeSnapshot.d.ts +92 -0
- package/lib/models/RuntimeSnapshot.js +13 -0
- package/lib/models/School.d.ts +11 -0
- package/lib/models/School.js +5 -0
- package/lib/models/Secret.d.ts +10 -0
- package/lib/models/Secret.js +13 -0
- package/lib/models/Space.d.ts +34 -0
- package/lib/models/Space.js +39 -0
- package/lib/models/SpaceItem.d.ts +10 -0
- package/lib/models/SpaceItem.js +5 -0
- package/lib/models/SpaceMember.d.ts +6 -0
- package/lib/models/SpaceMember.js +5 -0
- package/lib/models/Student.d.ts +6 -0
- package/lib/models/Student.js +5 -0
- package/lib/models/StudentItem.d.ts +21 -0
- package/lib/models/StudentItem.js +5 -0
- package/lib/models/Survey.d.ts +20 -0
- package/lib/models/Survey.js +14 -0
- package/lib/models/Team.d.ts +22 -0
- package/lib/models/Team.js +32 -0
- package/lib/models/TeamMember.d.ts +6 -0
- package/lib/models/TeamMember.js +5 -0
- package/lib/models/URN.d.ts +63 -0
- package/lib/models/URN.js +40 -0
- package/lib/models/Usage.d.ts +46 -0
- package/lib/models/Usage.js +21 -0
- package/lib/models/User.d.ts +71 -0
- package/lib/models/User.js +98 -0
- package/lib/models/UserEvent.d.ts +10 -0
- package/lib/models/UserEvent.js +14 -0
- package/lib/models/UserOnboarding.d.ts +14 -0
- package/lib/models/UserOnboarding.js +19 -0
- package/lib/models/UserSettings.d.ts +16 -0
- package/lib/models/UserSettings.js +27 -0
- package/lib/models/WaitingListFormData.d.ts +6 -0
- package/lib/models/WaitingListFormData.js +5 -0
- package/lib/models/index.d.ts +65 -0
- package/lib/models/index.js +69 -0
- package/lib/routes/Routes.d.ts +3 -0
- package/lib/routes/Routes.js +7 -0
- package/lib/routes/index.d.ts +1 -0
- package/lib/routes/index.js +5 -0
- package/lib/state/State.d.ts +33 -0
- package/lib/state/State.js +44 -0
- package/lib/state/index.d.ts +3 -0
- package/lib/state/index.js +7 -0
- package/lib/state/storage/IAMStorage.d.ts +33 -0
- package/lib/state/storage/IAMStorage.js +76 -0
- package/lib/state/storage/index.d.ts +1 -0
- package/lib/state/storage/index.js +5 -0
- package/lib/state/substates/AIAgentState.d.ts +11 -0
- package/lib/state/substates/AIAgentState.js +40 -0
- package/lib/state/substates/CellState.d.ts +12 -0
- package/lib/state/substates/CellState.js +21 -0
- package/lib/state/substates/CoreState.d.ts +25 -0
- package/lib/state/substates/CoreState.js +88 -0
- package/lib/state/substates/DatasourceState.d.ts +11 -0
- package/lib/state/substates/DatasourceState.js +16 -0
- package/lib/state/substates/DocumentState.d.ts +10 -0
- package/lib/state/substates/DocumentState.js +14 -0
- package/lib/state/substates/GradeState.d.ts +10 -0
- package/lib/state/substates/GradeState.js +14 -0
- package/lib/state/substates/IAMState.d.ts +75 -0
- package/lib/state/substates/IAMState.js +291 -0
- package/lib/state/substates/JupyterLabState.d.ts +16 -0
- package/lib/state/substates/JupyterLabState.js +17 -0
- package/lib/state/substates/LayoutState.d.ts +62 -0
- package/lib/state/substates/LayoutState.js +74 -0
- package/lib/state/substates/NbformatState.d.ts +13 -0
- package/lib/state/substates/NbformatState.js +16 -0
- package/lib/state/substates/OrganizationState.d.ts +11 -0
- package/lib/state/substates/OrganizationState.js +16 -0
- package/lib/state/substates/RuntimesState.d.ts +88 -0
- package/lib/state/substates/RuntimesState.js +178 -0
- package/lib/state/substates/SpaceState.d.ts +11 -0
- package/lib/state/substates/SpaceState.js +16 -0
- package/lib/state/substates/SurveysState.d.ts +14 -0
- package/lib/state/substates/SurveysState.js +98 -0
- package/lib/state/substates/TeamState.d.ts +11 -0
- package/lib/state/substates/TeamState.js +17 -0
- package/lib/state/substates/index.d.ts +15 -0
- package/lib/state/substates/index.js +19 -0
- package/lib/stories/assets/accessibility.png +0 -0
- package/lib/stories/assets/accessibility.svg +1 -0
- package/lib/stories/assets/addon-library.png +0 -0
- package/lib/stories/assets/assets.png +0 -0
- package/lib/stories/assets/context.png +0 -0
- package/lib/stories/assets/discord.svg +1 -0
- package/lib/stories/assets/docs.png +0 -0
- package/lib/stories/assets/figma-plugin.png +0 -0
- package/lib/stories/assets/github.svg +1 -0
- package/lib/stories/assets/share.png +0 -0
- package/lib/stories/assets/styling.png +0 -0
- package/lib/stories/assets/testing.png +0 -0
- package/lib/stories/assets/theming.png +0 -0
- package/lib/stories/assets/tutorials.svg +1 -0
- package/lib/stories/assets/youtube.svg +1 -0
- package/lib/stories/button.css +35 -0
- package/lib/stories/header.css +37 -0
- package/lib/stories/page.css +73 -0
- package/lib/test-setup.d.ts +1 -0
- package/lib/test-setup.js +57 -0
- package/lib/theme/DatalayerTheme.d.ts +37 -0
- package/lib/theme/DatalayerTheme.js +62 -0
- package/lib/theme/DatalayerThemeProvider.d.ts +17 -0
- package/lib/theme/DatalayerThemeProvider.js +69 -0
- package/lib/theme/Palette.d.ts +5 -0
- package/lib/theme/Palette.js +22 -0
- package/lib/theme/index.d.ts +3 -0
- package/lib/theme/index.js +7 -0
- package/lib/utils/Array.d.ts +2 -0
- package/lib/utils/Array.js +16 -0
- package/lib/utils/Avatar.d.ts +9 -0
- package/lib/utils/Avatar.js +34 -0
- package/lib/utils/Browser.d.ts +3 -0
- package/lib/utils/Browser.js +63 -0
- package/lib/utils/Cells.d.ts +2 -0
- package/lib/utils/Cells.js +28 -0
- package/lib/utils/Cookie.d.ts +12 -0
- package/lib/utils/Cookie.js +48 -0
- package/lib/utils/Date.d.ts +2 -0
- package/lib/utils/Date.js +60 -0
- package/lib/utils/Download.d.ts +3 -0
- package/lib/utils/Download.js +48 -0
- package/lib/utils/DownloadFile.d.ts +10 -0
- package/lib/utils/DownloadFile.js +36 -0
- package/lib/utils/Env.d.ts +1 -0
- package/lib/utils/Env.js +7 -0
- package/lib/utils/File.d.ts +7 -0
- package/lib/utils/File.js +16 -0
- package/lib/utils/Format.d.ts +17 -0
- package/lib/utils/Format.js +54 -0
- package/lib/utils/Ids.d.ts +2 -0
- package/lib/utils/Ids.js +12 -0
- package/lib/utils/Jupyter.d.ts +1 -0
- package/lib/utils/Jupyter.js +12 -0
- package/lib/utils/Lazy.d.ts +8 -0
- package/lib/utils/Lazy.js +23 -0
- package/lib/utils/Msc.d.ts +16 -0
- package/lib/utils/Msc.js +28 -0
- package/lib/utils/Name.d.ts +7 -0
- package/lib/utils/Name.js +34 -0
- package/lib/utils/Notebook.d.ts +19 -0
- package/lib/utils/Notebook.js +37 -0
- package/lib/utils/Number.d.ts +1 -0
- package/lib/utils/Number.js +21 -0
- package/lib/utils/Plots.d.ts +16 -0
- package/lib/utils/Plots.js +56 -0
- package/lib/utils/Random.d.ts +1 -0
- package/lib/utils/Random.js +7 -0
- package/lib/utils/Screenshot.d.ts +1 -0
- package/lib/utils/Screenshot.js +27 -0
- package/lib/utils/Scroll.d.ts +2 -0
- package/lib/utils/Scroll.js +32 -0
- package/lib/utils/Sleep.d.ts +2 -0
- package/lib/utils/Sleep.js +8 -0
- package/lib/utils/Snapshot.d.ts +7 -0
- package/lib/utils/Snapshot.js +21 -0
- package/lib/utils/String.d.ts +1 -0
- package/lib/utils/String.js +13 -0
- package/lib/utils/Uri.d.ts +2 -0
- package/lib/utils/Uri.js +26 -0
- package/lib/utils/Validator.d.ts +12 -0
- package/lib/utils/Validator.js +44 -0
- package/lib/utils/WithSuspense.d.ts +2 -0
- package/lib/utils/WithSuspense.js +21 -0
- package/lib/utils/index.d.ts +26 -0
- package/lib/utils/index.js +31 -0
- package/package.json +86 -17
- package/style/animation/Animation.module.css +174 -0
- package/style/base.css +62 -3
- package/style/index.css +2 -3
- package/style/index.js +0 -7
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { IRuntimeOptions } from '..';
|
|
2
|
+
import type { IRuntimeSnapshot, IDatalayerEnvironment, IRuntimePod } from '../../models';
|
|
3
|
+
/**
|
|
4
|
+
* Get available Environments.
|
|
5
|
+
*/
|
|
6
|
+
export declare function getEnvironments(): Promise<IDatalayerEnvironment[]>;
|
|
7
|
+
/**
|
|
8
|
+
* Create a Runtime.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createRuntime(options: IRuntimeOptions): Promise<IRuntimePod>;
|
|
11
|
+
/**
|
|
12
|
+
* Get the Runtimes.
|
|
13
|
+
*/
|
|
14
|
+
export declare function getRuntimes(): Promise<IRuntimePod[]>;
|
|
15
|
+
/**
|
|
16
|
+
* Delete a Runtime
|
|
17
|
+
*/
|
|
18
|
+
export declare function deleteRuntime(options: {
|
|
19
|
+
/**
|
|
20
|
+
* Runtime ID
|
|
21
|
+
*/
|
|
22
|
+
id: string;
|
|
23
|
+
/**
|
|
24
|
+
* Deletion reason
|
|
25
|
+
*/
|
|
26
|
+
reason?: string;
|
|
27
|
+
}): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Snapshot a Runtime.
|
|
30
|
+
*/
|
|
31
|
+
export declare function snapshotRuntime(options: {
|
|
32
|
+
/**
|
|
33
|
+
* Runtime ID.
|
|
34
|
+
*/
|
|
35
|
+
id: string;
|
|
36
|
+
/**
|
|
37
|
+
* Snapshot name.
|
|
38
|
+
*/
|
|
39
|
+
name?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Snapshot description.
|
|
42
|
+
*/
|
|
43
|
+
description?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Whether to stop the kernel after the snapshot completion or not.
|
|
46
|
+
*/
|
|
47
|
+
stop?: boolean;
|
|
48
|
+
}): Promise<IRuntimeSnapshot>;
|
|
49
|
+
/**
|
|
50
|
+
* Get Runtime Snapshots.
|
|
51
|
+
*/
|
|
52
|
+
export declare function getRuntimeSnapshots(): Promise<IRuntimeSnapshot[]>;
|
|
53
|
+
/**
|
|
54
|
+
* Load a Runtime Snapshot within a kernel.
|
|
55
|
+
*/
|
|
56
|
+
export declare function loadRuntimeSnapshot(options: {
|
|
57
|
+
/**
|
|
58
|
+
* Runtime ID
|
|
59
|
+
*/
|
|
60
|
+
id: string;
|
|
61
|
+
/**
|
|
62
|
+
* Snapshot UID
|
|
63
|
+
*/
|
|
64
|
+
from: string;
|
|
65
|
+
}): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Returns the Runtime Snapshot download URL.
|
|
68
|
+
*
|
|
69
|
+
* @param id Snapshot UID to download
|
|
70
|
+
* @returns The download URL
|
|
71
|
+
*/
|
|
72
|
+
export declare function createRuntimeSnapshotDownloadURL(id: string): string;
|
|
73
|
+
/**
|
|
74
|
+
* Export a Runtime Snapshot.
|
|
75
|
+
*
|
|
76
|
+
* @param id Runtime snapshot UID to download
|
|
77
|
+
*/
|
|
78
|
+
export declare function exportRuntimeSnapshot(id: string): void;
|
|
79
|
+
/**
|
|
80
|
+
* Delete a Runtime Snapshot.
|
|
81
|
+
*/
|
|
82
|
+
export declare function deleteRuntimeSnapshot(id: string): Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* Update Runtime Snapshot metadata.
|
|
85
|
+
*/
|
|
86
|
+
export declare function updateRuntimeSnapshot(id: string, metadata: {
|
|
87
|
+
name?: string;
|
|
88
|
+
description?: string;
|
|
89
|
+
}): Promise<void>;
|
|
90
|
+
/**
|
|
91
|
+
* Upload a Runtime Snapshot.
|
|
92
|
+
*
|
|
93
|
+
* Note: The promise will be rejected if the runtime state is empty.
|
|
94
|
+
*/
|
|
95
|
+
export declare function uploadRuntimeSnapshot(options: {
|
|
96
|
+
file: File | Blob;
|
|
97
|
+
metadata: {
|
|
98
|
+
filename: string;
|
|
99
|
+
[key: string]: string;
|
|
100
|
+
};
|
|
101
|
+
onProgress?: (bytesUploaded: number, bytesTotal: number) => void;
|
|
102
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Runtimes APIs.
|
|
7
|
+
*/
|
|
8
|
+
import { URLExt } from '@jupyterlab/coreutils';
|
|
9
|
+
import { PromiseDelegate } from '@lumino/coreutils';
|
|
10
|
+
import { Upload } from 'tus-js-client';
|
|
11
|
+
import { requestDatalayerAPI } from '..';
|
|
12
|
+
import { asRuntimeSnapshot } from '../../models';
|
|
13
|
+
import { iamStore, runtimesStore } from '../../state';
|
|
14
|
+
import { sleep } from '../../utils';
|
|
15
|
+
/**
|
|
16
|
+
* Get available Environments.
|
|
17
|
+
*/
|
|
18
|
+
export async function getEnvironments() {
|
|
19
|
+
const data = await requestDatalayerAPI({
|
|
20
|
+
url: URLExt.join(runtimesStore.getState().runtimesRunUrl, 'api/runtimes/v1/environments'),
|
|
21
|
+
token: iamStore.getState().token
|
|
22
|
+
});
|
|
23
|
+
if (!data.success) {
|
|
24
|
+
console.error('Failed to fetch available environments.', data);
|
|
25
|
+
return [];
|
|
26
|
+
}
|
|
27
|
+
return data.environments ?? [];
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Create a Runtime.
|
|
31
|
+
*/
|
|
32
|
+
export async function createRuntime(options) {
|
|
33
|
+
const { externalToken, token } = iamStore.getState();
|
|
34
|
+
const body = {
|
|
35
|
+
environment_name: options.environmentName,
|
|
36
|
+
type: options.type ?? 'notebook',
|
|
37
|
+
given_name: options.givenName,
|
|
38
|
+
credits_limit: options.creditsLimit
|
|
39
|
+
};
|
|
40
|
+
if (options.capabilities) {
|
|
41
|
+
body['capabilities'] = options.capabilities;
|
|
42
|
+
}
|
|
43
|
+
if (options.snapshot) {
|
|
44
|
+
body['from'] = options.snapshot;
|
|
45
|
+
}
|
|
46
|
+
const data = await requestDatalayerAPI({
|
|
47
|
+
url: URLExt.join(runtimesStore.getState().runtimesRunUrl, `api/runtimes/v1/runtimes`),
|
|
48
|
+
method: 'POST',
|
|
49
|
+
body,
|
|
50
|
+
token: token,
|
|
51
|
+
// externalToken may be needed for addons (like credits...).
|
|
52
|
+
headers: externalToken ?
|
|
53
|
+
{
|
|
54
|
+
'X-External-Token': externalToken
|
|
55
|
+
}
|
|
56
|
+
: undefined
|
|
57
|
+
});
|
|
58
|
+
if (!data.success || !data.runtime) {
|
|
59
|
+
const msg = `Failed to create a kernel for the environment ${options.environmentName}.`;
|
|
60
|
+
console.error(msg, data);
|
|
61
|
+
throw new Error(msg);
|
|
62
|
+
}
|
|
63
|
+
return data.runtime;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Get the Runtimes.
|
|
67
|
+
*/
|
|
68
|
+
export async function getRuntimes() {
|
|
69
|
+
const data = await requestDatalayerAPI({
|
|
70
|
+
url: URLExt.join(runtimesStore.getState().runtimesRunUrl, 'api/runtimes/v1/runtimes'),
|
|
71
|
+
token: iamStore.getState().token
|
|
72
|
+
});
|
|
73
|
+
if (!data.success) {
|
|
74
|
+
const msg = 'Failed to list the running kernels.';
|
|
75
|
+
console.error(msg, data);
|
|
76
|
+
throw new Error(msg);
|
|
77
|
+
}
|
|
78
|
+
return data.runtimes ?? [];
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Delete a Runtime
|
|
82
|
+
*/
|
|
83
|
+
export async function deleteRuntime(options) {
|
|
84
|
+
const externalToken = iamStore.getState().externalToken;
|
|
85
|
+
await requestDatalayerAPI({
|
|
86
|
+
url: URLExt.join(runtimesStore.getState().runtimesRunUrl, `api/runtimes/v1/runtimes/${options.id}`) +
|
|
87
|
+
URLExt.objectToQueryString(options.reason ? { reason: options.reason } : {}),
|
|
88
|
+
method: 'DELETE',
|
|
89
|
+
token: iamStore.getState().token,
|
|
90
|
+
// externalToken may be needed for addons (like credits...).
|
|
91
|
+
headers: externalToken ?
|
|
92
|
+
{
|
|
93
|
+
'X-External-Token': externalToken
|
|
94
|
+
}
|
|
95
|
+
:
|
|
96
|
+
undefined
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Snapshot a Runtime.
|
|
101
|
+
*/
|
|
102
|
+
export async function snapshotRuntime(options) {
|
|
103
|
+
const data = await requestDatalayerAPI({
|
|
104
|
+
url: URLExt.join(runtimesStore.getState().runtimesRunUrl, 'api/runtimes/v1/runtime-snapshots'),
|
|
105
|
+
method: 'POST',
|
|
106
|
+
body: {
|
|
107
|
+
pod_name: options.id,
|
|
108
|
+
name: options.name,
|
|
109
|
+
description: options.description,
|
|
110
|
+
stop: options.stop
|
|
111
|
+
},
|
|
112
|
+
token: iamStore.getState().token
|
|
113
|
+
});
|
|
114
|
+
if (!data.success || !data.snapshot) {
|
|
115
|
+
throw new Error(`Failed to pause the kernel snapshot ${options.id} - ${data}`);
|
|
116
|
+
}
|
|
117
|
+
return asRuntimeSnapshot(data.snapshot);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Get Runtime Snapshots.
|
|
121
|
+
*/
|
|
122
|
+
export async function getRuntimeSnapshots() {
|
|
123
|
+
const data = await requestDatalayerAPI({
|
|
124
|
+
url: URLExt.join(runtimesStore.getState().runtimesRunUrl, 'api/runtimes/v1/runtime-snapshots'),
|
|
125
|
+
token: iamStore.getState().token
|
|
126
|
+
});
|
|
127
|
+
if (!data.success) {
|
|
128
|
+
console.error('Failed to fetch kernel snapshots.', data);
|
|
129
|
+
return [];
|
|
130
|
+
}
|
|
131
|
+
return (data.snapshots ?? []).map(asRuntimeSnapshot);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Load a Runtime Snapshot within a kernel.
|
|
135
|
+
*/
|
|
136
|
+
export async function loadRuntimeSnapshot(options) {
|
|
137
|
+
const data = await requestDatalayerAPI({
|
|
138
|
+
url: URLExt.join(runtimesStore.getState().runtimesRunUrl, 'api/runtimes/v1/runtimes', options.id),
|
|
139
|
+
method: 'PUT',
|
|
140
|
+
body: {
|
|
141
|
+
from: options.from
|
|
142
|
+
},
|
|
143
|
+
token: iamStore.getState().token
|
|
144
|
+
});
|
|
145
|
+
if (!data.success) {
|
|
146
|
+
throw new Error(`Failed to load the kernel snapshot; ${data.message}`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Returns the Runtime Snapshot download URL.
|
|
151
|
+
*
|
|
152
|
+
* @param id Snapshot UID to download
|
|
153
|
+
* @returns The download URL
|
|
154
|
+
*/
|
|
155
|
+
export function createRuntimeSnapshotDownloadURL(id) {
|
|
156
|
+
return (URLExt.join(runtimesStore.getState().runtimesRunUrl, `api/runtimes/v1/runtime-snapshots/${id}`) +
|
|
157
|
+
URLExt.objectToQueryString({
|
|
158
|
+
download: '1',
|
|
159
|
+
token: iamStore.getState().token ?? ''
|
|
160
|
+
}));
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Export a Runtime Snapshot.
|
|
164
|
+
*
|
|
165
|
+
* @param id Runtime snapshot UID to download
|
|
166
|
+
*/
|
|
167
|
+
export function exportRuntimeSnapshot(id) {
|
|
168
|
+
const url = createRuntimeSnapshotDownloadURL(id);
|
|
169
|
+
const element = document.createElement('a');
|
|
170
|
+
element.href = url;
|
|
171
|
+
element.download = '';
|
|
172
|
+
document.body.appendChild(element);
|
|
173
|
+
element.click();
|
|
174
|
+
document.body.removeChild(element);
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Delete a Runtime Snapshot.
|
|
178
|
+
*/
|
|
179
|
+
export async function deleteRuntimeSnapshot(id) {
|
|
180
|
+
await requestDatalayerAPI({
|
|
181
|
+
url: URLExt.join(runtimesStore.getState().runtimesRunUrl, `api/runtimes/v1/runtime-snapshots/${id}`),
|
|
182
|
+
method: 'DELETE',
|
|
183
|
+
token: iamStore.getState().token
|
|
184
|
+
});
|
|
185
|
+
// Poll Runtime Snapshot state up-to its deletion
|
|
186
|
+
try {
|
|
187
|
+
let sleepTimeout = 1000;
|
|
188
|
+
while (true) {
|
|
189
|
+
await sleep(sleepTimeout);
|
|
190
|
+
sleepTimeout *= 2;
|
|
191
|
+
const response = await requestDatalayerAPI({
|
|
192
|
+
url: URLExt.join(runtimesStore.getState().runtimesRunUrl, `api/runtimes/v1/runtime-snapshots/${id}`),
|
|
193
|
+
token: iamStore.getState().token
|
|
194
|
+
});
|
|
195
|
+
if (response.success === false) {
|
|
196
|
+
throw new Error(response.message);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
if (error.name === 'RunResponseError' &&
|
|
202
|
+
error.response.status === 404) {
|
|
203
|
+
// Expected not found
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
throw error;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Update Runtime Snapshot metadata.
|
|
212
|
+
*/
|
|
213
|
+
export async function updateRuntimeSnapshot(id, metadata) {
|
|
214
|
+
if (metadata.name || metadata.description) {
|
|
215
|
+
await requestDatalayerAPI({
|
|
216
|
+
url: URLExt.join(runtimesStore.getState().runtimesRunUrl, `api/runtimes/v1/runtime-snapshots/${id}`),
|
|
217
|
+
method: 'PATCH',
|
|
218
|
+
body: { ...metadata },
|
|
219
|
+
token: iamStore.getState().token
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Upload a Runtime Snapshot.
|
|
225
|
+
*
|
|
226
|
+
* Note: The promise will be rejected if the runtime state is empty.
|
|
227
|
+
*/
|
|
228
|
+
export async function uploadRuntimeSnapshot(options) {
|
|
229
|
+
if (options.file.size === 0) {
|
|
230
|
+
return Promise.reject('Empty Runtime Snapshot.');
|
|
231
|
+
}
|
|
232
|
+
const tracker = new PromiseDelegate();
|
|
233
|
+
// Create a new tus upload.
|
|
234
|
+
const upload = new Upload(options.file, {
|
|
235
|
+
// Endpoint is the upload creation URL from your tus server.
|
|
236
|
+
endpoint: `${runtimesStore.getState().runtimesRunUrl}/api/runtimes/v1/runtime-snapshots/upload`,
|
|
237
|
+
headers: { Authorization: `Bearer ${iamStore.getState().token}` },
|
|
238
|
+
// Retry delays will enable tus-js-client to automatically retry on errors.
|
|
239
|
+
// retryDelays: [0, 3000, 5000, 10000, 20000],
|
|
240
|
+
retryDelays: null,
|
|
241
|
+
// Attach additional meta data about the file for the server.
|
|
242
|
+
metadata: options.metadata,
|
|
243
|
+
// Callback for errors which cannot be fixed using retries.
|
|
244
|
+
onError: error => {
|
|
245
|
+
console.error(`Failed to upload ${options.metadata.filename}.`, error);
|
|
246
|
+
tracker.reject(error);
|
|
247
|
+
},
|
|
248
|
+
// Callback for reporting upload progress.
|
|
249
|
+
onProgress: options.onProgress,
|
|
250
|
+
// Callback for once the upload is completed.
|
|
251
|
+
onSuccess: () => {
|
|
252
|
+
tracker.resolve();
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
// Check if there are any previous uploads to continue then start the upload.
|
|
256
|
+
const previousUploads = await upload.findPreviousUploads();
|
|
257
|
+
// Found previous uploads so we select the first one.
|
|
258
|
+
if (previousUploads.length) {
|
|
259
|
+
upload.resumeFromPreviousUpload(previousUploads[0]);
|
|
260
|
+
}
|
|
261
|
+
// Start the upload.
|
|
262
|
+
upload.start();
|
|
263
|
+
return tracker.promise;
|
|
264
|
+
}
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtimes APIs.
|
|
3
|
+
*/
|
|
4
|
+
import { ISessionContext } from '@jupyterlab/apputils';
|
|
5
|
+
import { ServiceManager, Kernel, ServerConnection } from '@jupyterlab/services';
|
|
6
|
+
import { IDisposable } from '@lumino/disposable';
|
|
7
|
+
import { ISignal } from '@lumino/signaling';
|
|
8
|
+
import type { IRuntimeSnapshot, IRuntimeCapabilities, IRuntimeModel, IDatalayerEnvironment, IRuntimeType, IRuntimeLocation } from '../../models';
|
|
9
|
+
/**
|
|
10
|
+
* Abstract interface for the Datalayer session context.
|
|
11
|
+
* It extends the JupyterLab session context
|
|
12
|
+
* to include the runtime location.
|
|
13
|
+
*/
|
|
14
|
+
export interface IDatalayerSessionContext extends ISessionContext {
|
|
15
|
+
get location(): IRuntimeLocation;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Runtime creation options
|
|
19
|
+
*/
|
|
20
|
+
export interface IRuntimeOptions {
|
|
21
|
+
/**
|
|
22
|
+
* Environment name
|
|
23
|
+
*/
|
|
24
|
+
environmentName: string;
|
|
25
|
+
/**
|
|
26
|
+
* Credits limit to be consumed by the kernel
|
|
27
|
+
*/
|
|
28
|
+
creditsLimit: number;
|
|
29
|
+
/**
|
|
30
|
+
* Runtime type
|
|
31
|
+
*/
|
|
32
|
+
type?: IRuntimeType;
|
|
33
|
+
/**
|
|
34
|
+
* Runtime given name
|
|
35
|
+
*/
|
|
36
|
+
givenName?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Kernel capabilities
|
|
39
|
+
*/
|
|
40
|
+
capabilities?: IRuntimeCapabilities[];
|
|
41
|
+
/**
|
|
42
|
+
* Kernel snapshot to restore
|
|
43
|
+
*/
|
|
44
|
+
snapshot?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Interface for the Environments Manager
|
|
48
|
+
*/
|
|
49
|
+
export interface IEnvironmentsManager extends IDisposable {
|
|
50
|
+
/**
|
|
51
|
+
* Signal emitted when the environments changes.
|
|
52
|
+
*/
|
|
53
|
+
readonly changed: ISignal<IEnvironmentsManager, readonly IDatalayerEnvironment[]>;
|
|
54
|
+
/**
|
|
55
|
+
* A signal emitted when there is a connection failure.
|
|
56
|
+
*/
|
|
57
|
+
readonly connectionFailure: ISignal<IEnvironmentsManager, Error>;
|
|
58
|
+
/**
|
|
59
|
+
* Test whether the manager is ready.
|
|
60
|
+
*/
|
|
61
|
+
readonly isReady: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* A promise that fulfills when the manager is ready.
|
|
64
|
+
*/
|
|
65
|
+
readonly ready: Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Get the list of environments.
|
|
68
|
+
*/
|
|
69
|
+
get(): readonly IDatalayerEnvironment[];
|
|
70
|
+
/**
|
|
71
|
+
* Refresh the environment list.
|
|
72
|
+
*/
|
|
73
|
+
refresh(): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Refresh the environments.
|
|
76
|
+
*/
|
|
77
|
+
refreshEnvironments(): Promise<void>;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Interface for the Remote Runtimes Manager
|
|
81
|
+
*/
|
|
82
|
+
export interface IRemoteRuntimesManager extends IDisposable {
|
|
83
|
+
/**
|
|
84
|
+
* A signal emitted when there is a connection failure.
|
|
85
|
+
*/
|
|
86
|
+
readonly connectionFailure: ISignal<IRemoteRuntimesManager, Error>;
|
|
87
|
+
/**
|
|
88
|
+
* Test whether the manager is ready.
|
|
89
|
+
*/
|
|
90
|
+
readonly isReady: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* A promise that fulfills when the manager is ready.
|
|
93
|
+
*/
|
|
94
|
+
readonly ready: Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* Remote kernels changed
|
|
97
|
+
*/
|
|
98
|
+
readonly changed: ISignal<IRemoteRuntimesManager, readonly IRuntimeModel[]>;
|
|
99
|
+
/**
|
|
100
|
+
* The server settings.
|
|
101
|
+
*/
|
|
102
|
+
readonly serverSettings: ServerConnection.ISettings;
|
|
103
|
+
/**
|
|
104
|
+
* Get the list of remote kernels.
|
|
105
|
+
*/
|
|
106
|
+
get(): readonly IRuntimeModel[];
|
|
107
|
+
/**
|
|
108
|
+
* Get the service manager for a remote server
|
|
109
|
+
*
|
|
110
|
+
* @param serverName Remote kernel server name
|
|
111
|
+
* @returns Service manager for the remote server
|
|
112
|
+
*/
|
|
113
|
+
getServices(serverName: string): any | undefined;
|
|
114
|
+
/**
|
|
115
|
+
* Refresh the environment list
|
|
116
|
+
*/
|
|
117
|
+
refresh(): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* Launch a Kernel.
|
|
120
|
+
*
|
|
121
|
+
* @param createOptions - The kernel creation options
|
|
122
|
+
*
|
|
123
|
+
* @param connectOptions - The kernel connection options
|
|
124
|
+
*
|
|
125
|
+
* @returns A promise that resolves with the kernel connection.
|
|
126
|
+
*/
|
|
127
|
+
startNew(createOptions: IRuntimeOptions, connectOptions?: Omit<Kernel.IKernelConnection.IOptions, 'model' | 'serverSettings'>): Promise<Kernel.IKernelConnection>;
|
|
128
|
+
/**
|
|
129
|
+
* Find a kernel by id.
|
|
130
|
+
*
|
|
131
|
+
* @param id - The id of the target kernel.
|
|
132
|
+
*
|
|
133
|
+
* @returns A promise that resolves with the kernel's model, or undefined if not found.
|
|
134
|
+
*/
|
|
135
|
+
findById(id: string): Promise<IRuntimeModel | undefined>;
|
|
136
|
+
/**
|
|
137
|
+
* Connect to an existing kernel.
|
|
138
|
+
*
|
|
139
|
+
* @param options - The connection options.
|
|
140
|
+
*
|
|
141
|
+
* @returns A promise that resolves with the new kernel instance.
|
|
142
|
+
*/
|
|
143
|
+
connectTo(options: Kernel.IKernelConnection.IOptions): Kernel.IKernelConnection;
|
|
144
|
+
/**
|
|
145
|
+
* Shut down a kernel by id.
|
|
146
|
+
*
|
|
147
|
+
* @param id - The id of the target kernel.
|
|
148
|
+
*
|
|
149
|
+
* @returns A promise that resolves when the operation is complete.
|
|
150
|
+
*/
|
|
151
|
+
shutdown(id: string): Promise<void>;
|
|
152
|
+
/**
|
|
153
|
+
* Shut down all kernels.
|
|
154
|
+
*
|
|
155
|
+
* @returns A promise that resolves when all of the kernels are shut down.
|
|
156
|
+
*/
|
|
157
|
+
shutdownAll(): Promise<void>;
|
|
158
|
+
/**
|
|
159
|
+
* @deprecated Use {@link refresh} instead.
|
|
160
|
+
*/
|
|
161
|
+
refreshKernels(): Promise<void>;
|
|
162
|
+
/**
|
|
163
|
+
* Snapshot a remote kernel
|
|
164
|
+
*
|
|
165
|
+
* The remote kernel may be given by its `id` or `podName`.
|
|
166
|
+
* A custom description for the snapshot can be provided.
|
|
167
|
+
*
|
|
168
|
+
* @returns The snapshot description
|
|
169
|
+
*/
|
|
170
|
+
snapshot(options: {
|
|
171
|
+
/**
|
|
172
|
+
* The kernel id to snapshot
|
|
173
|
+
*/
|
|
174
|
+
id?: string;
|
|
175
|
+
/**
|
|
176
|
+
* The kernel pod name to snapshot
|
|
177
|
+
*/
|
|
178
|
+
podName?: string;
|
|
179
|
+
/**
|
|
180
|
+
* The snapshot name
|
|
181
|
+
*/
|
|
182
|
+
name?: string;
|
|
183
|
+
/**
|
|
184
|
+
* The snapshot description
|
|
185
|
+
*/
|
|
186
|
+
description?: string;
|
|
187
|
+
/**
|
|
188
|
+
* Whether to stop the kernel after the snapshot completion or not.
|
|
189
|
+
*/
|
|
190
|
+
stop?: boolean;
|
|
191
|
+
}): Promise<IRuntimeSnapshot | undefined>;
|
|
192
|
+
/**
|
|
193
|
+
* Load a snapshot within a remote kernel
|
|
194
|
+
*
|
|
195
|
+
* The remote kernel may be given by its `id` or `podName`.
|
|
196
|
+
*/
|
|
197
|
+
loadSnapshot(options: {
|
|
198
|
+
/**
|
|
199
|
+
* The kernel id
|
|
200
|
+
*/
|
|
201
|
+
id?: string;
|
|
202
|
+
/**
|
|
203
|
+
* The kernel pod name
|
|
204
|
+
*/
|
|
205
|
+
podName?: string;
|
|
206
|
+
/**
|
|
207
|
+
* The snapshot UID
|
|
208
|
+
*/
|
|
209
|
+
snapshot: string;
|
|
210
|
+
}): Promise<void>;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Interface for the Remote Services Manager
|
|
214
|
+
*/
|
|
215
|
+
export interface IRemoteServicesManager extends IDisposable {
|
|
216
|
+
/**
|
|
217
|
+
* The environments manager.
|
|
218
|
+
*/
|
|
219
|
+
readonly environments: IEnvironmentsManager;
|
|
220
|
+
/**
|
|
221
|
+
* The remote runtimes manager.
|
|
222
|
+
*/
|
|
223
|
+
readonly runtimesManager: IRemoteRuntimesManager;
|
|
224
|
+
/**
|
|
225
|
+
* The server settings.
|
|
226
|
+
*/
|
|
227
|
+
readonly serverSettings: ServerConnection.ISettings;
|
|
228
|
+
/**
|
|
229
|
+
* A signal emitted when there is a connection failure with the kernel.
|
|
230
|
+
*/
|
|
231
|
+
readonly connectionFailure: ISignal<IRemoteServicesManager, Error>;
|
|
232
|
+
/**
|
|
233
|
+
* Test whether the service manager is disposed.
|
|
234
|
+
*/
|
|
235
|
+
readonly isDisposed: boolean;
|
|
236
|
+
/**
|
|
237
|
+
* Whether the remote manager is ready or not.
|
|
238
|
+
*/
|
|
239
|
+
readonly isReady: boolean;
|
|
240
|
+
/**
|
|
241
|
+
* Wait for the remote manager to be ready.
|
|
242
|
+
*/
|
|
243
|
+
readonly ready: Promise<void>;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Interface for the Service Manager that manages multiple Jupyter service managers.
|
|
247
|
+
*/
|
|
248
|
+
export interface IMultiServiceManager extends ServiceManager.IManager {
|
|
249
|
+
/**
|
|
250
|
+
* Service manager for browser kernels.
|
|
251
|
+
*
|
|
252
|
+
* The kernels managed by this service manager
|
|
253
|
+
* are fully executed in a service worker with
|
|
254
|
+
* browser.
|
|
255
|
+
*/
|
|
256
|
+
browser: ServiceManager.IManager | undefined;
|
|
257
|
+
/**
|
|
258
|
+
* Signal emitted when the browser services changes.
|
|
259
|
+
*/
|
|
260
|
+
readonly browserChanged: ISignal<ServiceManager.IManager, ServiceManager.IManager | undefined>;
|
|
261
|
+
/**
|
|
262
|
+
* Classical Service manager on the Local Jupyter server.
|
|
263
|
+
*/
|
|
264
|
+
readonly local: ServiceManager.IManager;
|
|
265
|
+
/**
|
|
266
|
+
* Service manager on a Remote Jupyter server.
|
|
267
|
+
*/
|
|
268
|
+
remote: IRemoteServicesManager | undefined;
|
|
269
|
+
/**
|
|
270
|
+
* Signal emitted when the remote services changes.
|
|
271
|
+
*/
|
|
272
|
+
readonly remoteChanged: ISignal<ServiceManager.IManager, IRemoteServicesManager | undefined>;
|
|
273
|
+
}
|
|
@@ -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,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
import { ServerConnection } from '@jupyterlab/services';
|
|
6
|
+
/**
|
|
7
|
+
* Create a settings object given a subset of options.
|
|
8
|
+
*
|
|
9
|
+
* TODO This is already present somewhere else?
|
|
10
|
+
*
|
|
11
|
+
* @param options - An optional partial set of options.
|
|
12
|
+
*
|
|
13
|
+
* @returns The full settings object.
|
|
14
|
+
*/
|
|
15
|
+
export function makeDatalayerSettings(baseUrl, token, wsUrl) {
|
|
16
|
+
const serverSettings = ServerConnection.makeSettings({
|
|
17
|
+
baseUrl,
|
|
18
|
+
wsUrl: wsUrl || baseUrl.replace(/^http/, 'ws'),
|
|
19
|
+
token,
|
|
20
|
+
appendToken: true,
|
|
21
|
+
init: {
|
|
22
|
+
mode: 'cors',
|
|
23
|
+
credentials: 'include',
|
|
24
|
+
cache: 'no-store'
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return serverSettings;
|
|
28
|
+
}
|
|
29
|
+
export default {
|
|
30
|
+
makeDatalayerSettings
|
|
31
|
+
};
|