@datalayer/core 1.0.25 → 1.1.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -134
- package/lib/api/index.d.ts +0 -9
- package/lib/api/index.js +0 -9
- package/lib/cli-login.js +167 -0
- package/lib/client/auth/AuthenticationManager.d.ts +3 -3
- package/lib/client/auth/AuthenticationManager.js +13 -13
- package/lib/client/auth/strategies.d.ts +2 -2
- package/lib/client/auth/strategies.js +6 -6
- package/lib/client/base.d.ts +9 -12
- package/lib/client/base.js +17 -19
- package/lib/client/index.d.ts +10 -98
- package/lib/client/index.js +12 -21
- package/lib/client/mixins/IAMMixin.js +26 -26
- package/lib/components/auth/Login.js +2 -2
- package/lib/components/avatars/UserAvatar.d.ts +16 -0
- package/lib/components/avatars/UserAvatar.js +47 -0
- package/lib/components/avatars/index.d.ts +1 -0
- package/lib/components/avatars/index.js +1 -0
- package/lib/components/billing/BillableAccountSelect.js +4 -0
- package/lib/components/billing/index.js +4 -0
- package/lib/components/context/index.d.ts +0 -1
- package/lib/components/context/index.js +0 -1
- package/lib/components/display/DisplayHandle.d.ts +12 -0
- package/lib/components/display/DisplayHandle.js +11 -0
- package/lib/components/display/LiveRelativeTime.js +4 -0
- package/lib/components/display/index.d.ts +1 -0
- package/lib/components/display/index.js +1 -0
- package/lib/components/flashes/index.d.ts +0 -1
- package/lib/components/flashes/index.js +0 -1
- package/lib/components/index.d.ts +0 -1
- package/lib/components/index.js +0 -1
- package/lib/components/principal/Principal.d.ts +7 -0
- package/lib/components/principal/Principal.js +153 -16
- package/lib/components/principal/PrincipalAvatar.d.ts +1 -1
- package/lib/components/principal/PrincipalAvatar.js +4 -28
- package/lib/components/principal/PrincipalBadge.js +4 -4
- package/lib/components/principal/PrincipalDetailsOverlay.d.ts +4 -2
- package/lib/components/principal/PrincipalDetailsOverlay.js +27 -7
- package/lib/components/principal/PrincipalSwitcherMenu.js +79 -42
- package/lib/components/progress/index.d.ts +0 -1
- package/lib/components/progress/index.js +0 -1
- package/lib/components/sharing/ShareAccessComponent.d.ts +3 -2
- package/lib/components/sharing/ShareAccessComponent.js +194 -147
- package/lib/components/sharing/SharingEditor.js +4 -0
- package/lib/components/snippets/index.d.ts +1 -1
- package/lib/components/snippets/index.js +1 -1
- package/lib/components/students/StudentResultCircle.d.ts +21 -0
- package/lib/components/students/StudentResultCircle.js +59 -0
- package/lib/components/students/index.d.ts +1 -1
- package/lib/components/students/index.js +1 -1
- package/lib/components/time/LiveRelativeTime.js +4 -0
- package/lib/components/time/index.js +4 -0
- package/lib/components/timeline/index.js +4 -0
- package/lib/components/tokens/index.d.ts +1 -1
- package/lib/components/tokens/index.js +1 -1
- package/lib/components/toolbars/index.d.ts +1 -3
- package/lib/components/toolbars/index.js +1 -3
- package/lib/config/Configuration.d.ts +13 -13
- package/lib/config/Configuration.js +5 -5
- package/lib/hooks/cacheConverters.d.ts +21 -0
- package/lib/hooks/cacheConverters.js +110 -0
- package/lib/hooks/index.d.ts +0 -2
- package/lib/hooks/index.js +0 -2
- package/lib/hooks/useCache.d.ts +64 -35
- package/lib/hooks/useCache.js +661 -306
- package/lib/hooks/useDatalayer.js +3 -1
- package/lib/hooks/useIAM.js +2 -4
- package/lib/hooks/useLocationHandles.d.ts +3 -1
- package/lib/hooks/useLocationHandles.js +2 -1
- package/lib/hooks/usePrincipalStore.d.ts +2 -2
- package/lib/hooks/usePrincipalStore.js +97 -14
- package/lib/hooks/useSelectedPrincipal.js +1 -1
- package/lib/hooks/useUser.js +19 -2
- package/lib/index.d.ts +1 -6
- package/lib/index.js +1 -13
- package/lib/main.js +3 -3
- package/lib/mocks/index.js +1 -1
- package/lib/mocks/models/index.d.ts +0 -1
- package/lib/mocks/models/index.js +0 -1
- package/lib/models/Datasource.d.ts +2 -2
- package/lib/models/IAM.d.ts +1 -1
- package/lib/models/School.d.ts +12 -3
- package/lib/models/Secret.d.ts +2 -2
- package/lib/models/Student.d.ts +13 -3
- package/lib/models/Usage.d.ts +11 -1
- package/lib/models/UserDTO.d.ts +2 -2
- package/lib/models/UserSettings.d.ts +1 -1
- package/lib/models/UserSettings.js +1 -1
- package/lib/models/index.d.ts +0 -30
- package/lib/models/index.js +0 -30
- package/lib/otel/client/OtelClient.d.ts +2 -2
- package/lib/otel/client/OtelClient.js +2 -2
- package/lib/otel/hooks/index.js +5 -5
- package/lib/otel/types.d.ts +1 -1
- package/lib/otel/views/OtelLive.js +1 -1
- package/lib/routes/index.d.ts +1 -0
- package/lib/routes/index.js +1 -0
- package/lib/routes/publicPaths.d.ts +23 -0
- package/lib/routes/publicPaths.js +74 -0
- package/lib/state/State.d.ts +0 -12
- package/lib/state/State.js +0 -12
- package/lib/state/substates/CoreState.js +13 -13
- package/lib/state/substates/IAMState.d.ts +1 -1
- package/lib/state/substates/IAMState.js +14 -14
- package/lib/state/substates/LayoutState.d.ts +12 -1
- package/lib/state/substates/SurveysState.d.ts +1 -1
- package/lib/state/substates/SurveysState.js +10 -10
- package/lib/state/substates/index.d.ts +0 -7
- package/lib/state/substates/index.js +0 -7
- package/lib/utils/Handles.js +3 -1
- package/lib/utils/index.d.ts +0 -1
- package/lib/utils/index.js +0 -1
- package/lib/views/api-keys/APIKeys.js +12 -3
- package/lib/views/datasources/DatasourceDetail.d.ts +1 -1
- package/lib/views/datasources/DatasourceNew.d.ts +1 -1
- package/lib/views/datasources/Datasources.d.ts +1 -1
- package/lib/views/datasources/Datasources.js +12 -3
- package/lib/views/iam/SignInSimple.d.ts +37 -1
- package/lib/views/iam/SignInSimple.js +111 -13
- package/package.json +5 -3
- package/lib/App.css +0 -47
- package/lib/App.d.ts +0 -3
- package/lib/App.js +0 -21
- package/lib/api/runtimes/checkpoints.d.ts +0 -122
- package/lib/api/runtimes/checkpoints.js +0 -118
- package/lib/api/runtimes/environments.d.ts +0 -9
- package/lib/api/runtimes/environments.js +0 -29
- package/lib/api/runtimes/healthz.d.ts +0 -15
- package/lib/api/runtimes/healthz.js +0 -44
- package/lib/api/runtimes/index.d.ts +0 -12
- package/lib/api/runtimes/index.js +0 -16
- package/lib/api/runtimes/runtimes.d.ts +0 -138
- package/lib/api/runtimes/runtimes.js +0 -230
- package/lib/api/runtimes/snapshots.d.ts +0 -38
- package/lib/api/runtimes/snapshots.js +0 -82
- package/lib/api/scheduler/index.d.ts +0 -6
- package/lib/api/scheduler/index.js +0 -10
- package/lib/api/scheduler/schedules.d.ts +0 -85
- package/lib/api/scheduler/schedules.js +0 -78
- package/lib/api/spacer/documents.d.ts +0 -12
- package/lib/api/spacer/documents.js +0 -43
- package/lib/api/spacer/healthz.d.ts +0 -15
- package/lib/api/spacer/healthz.js +0 -44
- package/lib/api/spacer/index.d.ts +0 -15
- package/lib/api/spacer/index.js +0 -19
- package/lib/api/spacer/items.d.ts +0 -25
- package/lib/api/spacer/items.js +0 -55
- package/lib/api/spacer/lexicals.d.ts +0 -34
- package/lib/api/spacer/lexicals.js +0 -89
- package/lib/api/spacer/notebooks.d.ts +0 -34
- package/lib/api/spacer/notebooks.js +0 -89
- package/lib/api/spacer/spaces.d.ts +0 -84
- package/lib/api/spacer/spaces.js +0 -170
- package/lib/api/spacer/users.d.ts +0 -9
- package/lib/api/spacer/users.js +0 -29
- package/lib/client/mixins/RuntimesMixin.d.ts +0 -93
- package/lib/client/mixins/RuntimesMixin.js +0 -229
- package/lib/client/mixins/SpacerMixin.d.ts +0 -210
- package/lib/client/mixins/SpacerMixin.js +0 -615
- package/lib/client/utils/spacerUtils.d.ts +0 -18
- package/lib/client/utils/spacerUtils.js +0 -32
- package/lib/collaboration/DatalayerCollaboration.d.ts +0 -13
- package/lib/collaboration/DatalayerCollaboration.js +0 -28
- package/lib/collaboration/DatalayerCollaborationProvider.d.ts +0 -60
- package/lib/collaboration/DatalayerCollaborationProvider.js +0 -163
- package/lib/collaboration/index.d.ts +0 -2
- package/lib/collaboration/index.js +0 -6
- package/lib/components/context/SpaceSelect.d.ts +0 -2
- package/lib/components/context/SpaceSelect.js +0 -42
- package/lib/components/flashes/FlashDisclaimer.d.ts +0 -2
- package/lib/components/flashes/FlashDisclaimer.js +0 -17
- package/lib/components/icons/ArtifactIcon.d.ts +0 -10
- package/lib/components/icons/ArtifactIcon.js +0 -58
- package/lib/components/icons/index.d.ts +0 -1
- package/lib/components/icons/index.js +0 -5
- package/lib/components/nbgrader/NbGradesDetails.d.ts +0 -5
- package/lib/components/nbgrader/NbGradesDetails.js +0 -14
- package/lib/components/nbgrader/index.d.ts +0 -1
- package/lib/components/nbgrader/index.js +0 -5
- package/lib/components/progress/CreditsIndicator.d.ts +0 -33
- package/lib/components/progress/CreditsIndicator.js +0 -23
- package/lib/components/runtimes/RuntimeCellVariables.d.ts +0 -39
- package/lib/components/runtimes/RuntimeCellVariables.js +0 -172
- package/lib/components/runtimes/RuntimeCellVariablesDialog.d.ts +0 -37
- package/lib/components/runtimes/RuntimeCellVariablesDialog.js +0 -101
- package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +0 -57
- package/lib/components/runtimes/RuntimeLauncherDialog.js +0 -275
- package/lib/components/runtimes/RuntimePickerBase.d.ts +0 -69
- package/lib/components/runtimes/RuntimePickerBase.js +0 -122
- package/lib/components/runtimes/RuntimePickerCell.d.ts +0 -34
- package/lib/components/runtimes/RuntimePickerCell.js +0 -104
- package/lib/components/runtimes/RuntimePickerNotebook.d.ts +0 -42
- package/lib/components/runtimes/RuntimePickerNotebook.js +0 -232
- package/lib/components/runtimes/RuntimeReservationControl.d.ts +0 -47
- package/lib/components/runtimes/RuntimeReservationControl.js +0 -42
- package/lib/components/runtimes/RuntimeSimplePicker.d.ts +0 -38
- package/lib/components/runtimes/RuntimeSimplePicker.js +0 -155
- package/lib/components/runtimes/RuntimeTransfer.d.ts +0 -16
- package/lib/components/runtimes/RuntimeTransfer.js +0 -5
- package/lib/components/runtimes/RuntimeUtils.d.ts +0 -17
- package/lib/components/runtimes/RuntimeUtils.js +0 -178
- package/lib/components/runtimes/RuntimeVariables.d.ts +0 -38
- package/lib/components/runtimes/RuntimeVariables.js +0 -75
- package/lib/components/runtimes/index.d.ts +0 -11
- package/lib/components/runtimes/index.js +0 -15
- package/lib/components/scheduler/ScheduleMenu.d.ts +0 -54
- package/lib/components/scheduler/ScheduleMenu.js +0 -154
- package/lib/components/scheduler/index.d.ts +0 -1
- package/lib/components/scheduler/index.js +0 -5
- package/lib/components/snapshots/SandboxSnapshotMenu.d.ts +0 -33
- package/lib/components/snapshots/SandboxSnapshotMenu.js +0 -169
- package/lib/components/snapshots/index.d.ts +0 -1
- package/lib/components/snapshots/index.js +0 -5
- package/lib/components/snippets/SnippetDialog.d.ts +0 -42
- package/lib/components/snippets/SnippetDialog.js +0 -42
- package/lib/components/students/StudentItemStatus.d.ts +0 -7
- package/lib/components/students/StudentItemStatus.js +0 -66
- package/lib/components/tokens/SpaceVariantToken.d.ts +0 -5
- package/lib/components/tokens/SpaceVariantToken.js +0 -23
- package/lib/components/toolbars/AssignmentEditorToolbar.d.ts +0 -4
- package/lib/components/toolbars/AssignmentEditorToolbar.js +0 -18
- package/lib/components/toolbars/DocumentEditorToolbar.d.ts +0 -2
- package/lib/components/toolbars/DocumentEditorToolbar.js +0 -12
- package/lib/components/toolbars/NotebookEditorToolbar.d.ts +0 -29
- package/lib/components/toolbars/NotebookEditorToolbar.js +0 -30
- package/lib/examples/CellExample.d.ts +0 -6
- package/lib/examples/CellExample.js +0 -20
- package/lib/examples/NotebookExample.d.ts +0 -6
- package/lib/examples/NotebookExample.js +0 -19
- package/lib/examples/lexical-theme.css +0 -436
- package/lib/examples/notebooks/IPyWidgetsExample.ipynb.json +0 -101
- package/lib/examples/notebooks/IPyWidgetsExampleWithState.ipynb.json +0 -112
- package/lib/examples/notebooks/Lite.ipynb.json +0 -128
- package/lib/examples/notebooks/Matplotlib.ipynb.json +0 -137
- package/lib/examples/notebooks/NotebookExample1.ipynb.json +0 -126
- package/lib/examples/notebooks/NotebookExample2.ipynb.json +0 -48
- package/lib/examples/notebooks/NotebookOutputs.ipynb.json +0 -49
- package/lib/examples/notebooks/NotebookToCExample.ipynb.json +0 -102
- package/lib/examples/notebooks/PyGWalker.ipynb.json +0 -55
- package/lib/hooks/useCellOutputshot.d.ts +0 -4
- package/lib/hooks/useCellOutputshot.js +0 -25
- package/lib/hooks/useProjects.d.ts +0 -628
- package/lib/hooks/useProjects.js +0 -190
- package/lib/hooks/useRuntimes.d.ts +0 -5
- package/lib/hooks/useRuntimes.js +0 -34
- package/lib/mocks/jupyter/index.js +0 -5
- package/lib/mocks/models/CourseMock.d.ts +0 -6
- package/lib/mocks/models/CourseMock.js +0 -29
- package/lib/mocks/models/SpaceMock.d.ts +0 -6
- package/lib/mocks/models/SpaceMock.js +0 -25
- package/lib/models/Assignment.d.ts +0 -7
- package/lib/models/Assignment.js +0 -5
- package/lib/models/Cell.d.ts +0 -8
- package/lib/models/Cell.js +0 -5
- package/lib/models/CodeBlock.d.ts +0 -10
- package/lib/models/CodeBlock.js +0 -5
- package/lib/models/CodeSandboxSnapshot.d.ts +0 -92
- package/lib/models/CodeSandboxSnapshot.js +0 -13
- package/lib/models/CodeSandboxSnapshotDTO.d.ts +0 -173
- package/lib/models/CodeSandboxSnapshotDTO.js +0 -139
- package/lib/models/CodefeedBlocks.d.ts +0 -7
- package/lib/models/CodefeedBlocks.js +0 -5
- package/lib/models/Content.d.ts +0 -5
- package/lib/models/Content.js +0 -5
- package/lib/models/Course.d.ts +0 -17
- package/lib/models/Course.js +0 -5
- package/lib/models/Dataset.d.ts +0 -16
- package/lib/models/Dataset.js +0 -5
- package/lib/models/Document.d.ts +0 -8
- package/lib/models/Document.js +0 -5
- package/lib/models/Environment.d.ts +0 -86
- package/lib/models/Environment.js +0 -5
- package/lib/models/EnvironmentDTO.d.ts +0 -125
- package/lib/models/EnvironmentDTO.js +0 -88
- package/lib/models/Exercise.d.ts +0 -16
- package/lib/models/Exercise.js +0 -5
- package/lib/models/Item.d.ts +0 -20
- package/lib/models/Item.js +0 -5
- package/lib/models/ItemDTO.d.ts +0 -74
- package/lib/models/ItemDTO.js +0 -186
- package/lib/models/ItemType.d.ts +0 -2
- package/lib/models/ItemType.js +0 -5
- package/lib/models/Lesson.d.ts +0 -5
- package/lib/models/Lesson.js +0 -5
- package/lib/models/LexicalDTO.d.ts +0 -155
- package/lib/models/LexicalDTO.js +0 -157
- package/lib/models/Library.d.ts +0 -10
- package/lib/models/Library.js +0 -5
- package/lib/models/Notebook.d.ts +0 -11
- package/lib/models/Notebook.js +0 -5
- package/lib/models/NotebookDTO.d.ts +0 -96
- package/lib/models/NotebookDTO.js +0 -153
- package/lib/models/Page.d.ts +0 -41
- package/lib/models/Page.js +0 -25
- package/lib/models/PageTag.d.ts +0 -19
- package/lib/models/PageTag.js +0 -94
- package/lib/models/ProjectDTO.d.ts +0 -89
- package/lib/models/ProjectDTO.js +0 -131
- package/lib/models/Runtime.d.ts +0 -123
- package/lib/models/Runtime.js +0 -18
- package/lib/models/RuntimeDTO.d.ts +0 -191
- package/lib/models/RuntimeDTO.js +0 -204
- package/lib/models/Space.d.ts +0 -35
- package/lib/models/Space.js +0 -66
- package/lib/models/SpaceDTO.d.ts +0 -334
- package/lib/models/SpaceDTO.js +0 -244
- package/lib/models/SpaceItem.d.ts +0 -10
- package/lib/models/SpaceItem.js +0 -5
- package/lib/models/SpaceMember.d.ts +0 -6
- package/lib/models/SpaceMember.js +0 -5
- package/lib/models/StudentItem.d.ts +0 -21
- package/lib/models/StudentItem.js +0 -5
- package/lib/services/DatalayerServiceManager.d.ts +0 -22
- package/lib/services/DatalayerServiceManager.js +0 -69
- package/lib/services/index.d.ts +0 -4
- package/lib/services/index.js +0 -7
- package/lib/services/reconnectToRuntime.d.ts +0 -32
- package/lib/services/reconnectToRuntime.js +0 -59
- package/lib/state/substates/CellState.d.ts +0 -12
- package/lib/state/substates/CellState.js +0 -22
- package/lib/state/substates/DocumentState.d.ts +0 -10
- package/lib/state/substates/DocumentState.js +0 -14
- package/lib/state/substates/GradeState.d.ts +0 -10
- package/lib/state/substates/GradeState.js +0 -14
- package/lib/state/substates/JupyterLabState.d.ts +0 -16
- package/lib/state/substates/JupyterLabState.js +0 -17
- package/lib/state/substates/NbformatState.d.ts +0 -13
- package/lib/state/substates/NbformatState.js +0 -16
- package/lib/state/substates/RuntimesState.d.ts +0 -79
- package/lib/state/substates/RuntimesState.js +0 -180
- package/lib/state/substates/SpaceState.d.ts +0 -11
- package/lib/state/substates/SpaceState.js +0 -16
- package/lib/stateful/index.d.ts +0 -2
- package/lib/stateful/index.js +0 -6
- package/lib/stateful/jupyter/exec/Python.d.ts +0 -5
- package/lib/stateful/jupyter/exec/Python.js +0 -100
- package/lib/stateful/jupyter/exec/Snippets.d.ts +0 -105
- package/lib/stateful/jupyter/exec/Snippets.js +0 -101
- package/lib/stateful/jupyter/exec/index.d.ts +0 -2
- package/lib/stateful/jupyter/exec/index.js +0 -6
- package/lib/stateful/jupyter/index.d.ts +0 -2
- package/lib/stateful/jupyter/index.js +0 -6
- package/lib/stateful/jupyter/kernelsHandler.d.ts +0 -8
- package/lib/stateful/jupyter/kernelsHandler.js +0 -39
- package/lib/stateful/runtimes/actions.d.ts +0 -102
- package/lib/stateful/runtimes/actions.js +0 -249
- package/lib/stateful/runtimes/apis.d.ts +0 -273
- package/lib/stateful/runtimes/apis.js +0 -5
- package/lib/stateful/runtimes/index.d.ts +0 -5
- package/lib/stateful/runtimes/index.js +0 -9
- package/lib/stateful/runtimes/settings.d.ts +0 -15
- package/lib/stateful/runtimes/settings.js +0 -31
- package/lib/stateful/runtimes/snapshots.d.ts +0 -25
- package/lib/stateful/runtimes/snapshots.js +0 -150
- package/lib/stateful/runtimes/utils.d.ts +0 -7
- package/lib/stateful/runtimes/utils.js +0 -14
- package/lib/utils/Cells.d.ts +0 -2
- package/lib/utils/Cells.js +0 -28
- /package/lib/{mocks/jupyter/index.d.ts → cli-login.d.ts} +0 -0
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
import type { DatalayerClient } from '../index';
|
|
2
|
-
import { CodeSandboxSnapshotDTO } from './CodeSandboxSnapshotDTO';
|
|
3
|
-
/**
|
|
4
|
-
* Represents a running instance of a computing environment.
|
|
5
|
-
* @interface RuntimeData
|
|
6
|
-
*/
|
|
7
|
-
export interface RuntimeData {
|
|
8
|
-
/** Kubernetes pod name for the runtime instance */
|
|
9
|
-
pod_name: string;
|
|
10
|
-
/** Unique identifier for the runtime */
|
|
11
|
-
uid: string;
|
|
12
|
-
/** Name of the environment this runtime is based on */
|
|
13
|
-
environment_name: string;
|
|
14
|
-
/** Title of the environment for display */
|
|
15
|
-
environment_title: string;
|
|
16
|
-
/** Type of runtime - notebook, terminal, or job */
|
|
17
|
-
type: string;
|
|
18
|
-
/** Credits consumed per second */
|
|
19
|
-
burning_rate: number;
|
|
20
|
-
/** User-friendly name for the runtime */
|
|
21
|
-
given_name: string;
|
|
22
|
-
/** Authentication token for accessing the runtime */
|
|
23
|
-
token: string;
|
|
24
|
-
/** Ingress URL for accessing the runtime */
|
|
25
|
-
ingress: string;
|
|
26
|
-
/** ISO 8601 timestamp of when the runtime started */
|
|
27
|
-
started_at: string;
|
|
28
|
-
/** ISO 8601 timestamp of when the runtime will expire */
|
|
29
|
-
expired_at: string;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Stable public interface for Runtime data.
|
|
33
|
-
* This is the contract that Client consumers can rely on.
|
|
34
|
-
* The raw API may change, but this interface remains stable.
|
|
35
|
-
*/
|
|
36
|
-
export interface RuntimeJSON {
|
|
37
|
-
/** ulid for the runtime */
|
|
38
|
-
uid: string;
|
|
39
|
-
/** Kubernetes pod name for the runtime instance */
|
|
40
|
-
podName: string;
|
|
41
|
-
/** User-friendly name for the runtime */
|
|
42
|
-
givenName: string;
|
|
43
|
-
/** Name of the environment this runtime is based on */
|
|
44
|
-
environmentName: string;
|
|
45
|
-
/** Title of the environment for display */
|
|
46
|
-
environmentTitle: string;
|
|
47
|
-
/** Type of runtime - notebook, terminal, or job */
|
|
48
|
-
type: string;
|
|
49
|
-
/** Credits consumed per second */
|
|
50
|
-
burningRate: number;
|
|
51
|
-
/** Credits allocated/available to this runtime */
|
|
52
|
-
ingress: string;
|
|
53
|
-
/** Authentication token for accessing the runtime */
|
|
54
|
-
token: string;
|
|
55
|
-
/** When the runtime was started */
|
|
56
|
-
startedAt: string;
|
|
57
|
-
/** When the runtime will expire */
|
|
58
|
-
expiredAt: string;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Request payload for creating a new runtime
|
|
62
|
-
* @interface CreateRuntimeRequest
|
|
63
|
-
*/
|
|
64
|
-
export interface CreateRuntimeRequest {
|
|
65
|
-
/** Name of the environment to use */
|
|
66
|
-
environment_name: string;
|
|
67
|
-
/** Type of runtime (e.g., 'notebook', 'terminal', 'job') */
|
|
68
|
-
type?: 'notebook' | 'terminal' | 'job';
|
|
69
|
-
/** Optional given name for the runtime */
|
|
70
|
-
given_name?: string;
|
|
71
|
-
/** Maximum credits this runtime can consume */
|
|
72
|
-
credits_limit?: number;
|
|
73
|
-
/** Optional capabilities for the runtime */
|
|
74
|
-
capabilities?: string[];
|
|
75
|
-
/** Optional source to create runtime from (e.g., snapshot ID) */
|
|
76
|
-
from?: string;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Response from creating a new runtime
|
|
80
|
-
* @interface CreateRuntimeResponse
|
|
81
|
-
*/
|
|
82
|
-
export interface CreateRuntimeResponse {
|
|
83
|
-
/** Whether the request was successful */
|
|
84
|
-
success: boolean;
|
|
85
|
-
/** Response message from the server */
|
|
86
|
-
message: string;
|
|
87
|
-
/** The created runtime instance */
|
|
88
|
-
runtime: RuntimeData;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Response from listing runtimes
|
|
92
|
-
* @interface ListRuntimesResponse
|
|
93
|
-
*/
|
|
94
|
-
export interface ListRuntimesResponse {
|
|
95
|
-
/** Whether the request was successful */
|
|
96
|
-
success: boolean;
|
|
97
|
-
/** Response message from the server */
|
|
98
|
-
message: string;
|
|
99
|
-
/** Array of runtime instances */
|
|
100
|
-
runtimes: RuntimeData[];
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Runtime domain model that wraps API responses with convenient methods.
|
|
104
|
-
* Provides state management and lifecycle operations for computational runtimes.
|
|
105
|
-
*
|
|
106
|
-
* @example
|
|
107
|
-
* ```typescript
|
|
108
|
-
* const runtime = await client.createRuntime({ environment_name: 'python-cpu' });
|
|
109
|
-
* await runtime.waitUntilReady();
|
|
110
|
-
* ```
|
|
111
|
-
*/
|
|
112
|
-
export declare class RuntimeDTO {
|
|
113
|
-
/** @internal */
|
|
114
|
-
_data: RuntimeData;
|
|
115
|
-
private _client;
|
|
116
|
-
private _deleted;
|
|
117
|
-
/**
|
|
118
|
-
* Create a Runtime instance.
|
|
119
|
-
*
|
|
120
|
-
* @param data - Runtime data from API
|
|
121
|
-
* @param client - Client instance
|
|
122
|
-
*/
|
|
123
|
-
constructor(data: RuntimeData, client: DatalayerClient);
|
|
124
|
-
/**
|
|
125
|
-
* Check if this runtime has been deleted and throw error if so.
|
|
126
|
-
* @throws Error if deleted
|
|
127
|
-
*/
|
|
128
|
-
private _checkDeleted;
|
|
129
|
-
/** Kubernetes pod name for the runtime instance. */
|
|
130
|
-
get podName(): string;
|
|
131
|
-
/** Unique identifier for the runtime. */
|
|
132
|
-
get uid(): string;
|
|
133
|
-
/** Name of the environment this runtime is based on. */
|
|
134
|
-
get environmentName(): string;
|
|
135
|
-
/** Ingress URL for accessing the runtime. */
|
|
136
|
-
get ingress(): string;
|
|
137
|
-
/** Authentication token for accessing the runtime. */
|
|
138
|
-
get token(): string;
|
|
139
|
-
/** Credits consumed per second. */
|
|
140
|
-
get burningRate(): number;
|
|
141
|
-
/** User-friendly name for the runtime. */
|
|
142
|
-
get givenName(): string;
|
|
143
|
-
/** Type of runtime (notebook, terminal, or job). */
|
|
144
|
-
get type(): string;
|
|
145
|
-
/** When the runtime started. */
|
|
146
|
-
get startedAt(): Date;
|
|
147
|
-
/** When the runtime will expire. */
|
|
148
|
-
get expiredAt(): Date;
|
|
149
|
-
/** Environment title for display. */
|
|
150
|
-
get environmentTitle(): string;
|
|
151
|
-
/**
|
|
152
|
-
* Delete this runtime permanently.
|
|
153
|
-
* After deletion, subsequent calls to dynamic methods will throw errors.
|
|
154
|
-
*/
|
|
155
|
-
delete(): Promise<void>;
|
|
156
|
-
/**
|
|
157
|
-
* Update runtime from a snapshot.
|
|
158
|
-
*
|
|
159
|
-
* @param from - Snapshot identifier to restore from
|
|
160
|
-
* @returns Updated Runtime instance
|
|
161
|
-
*/
|
|
162
|
-
update(from: string): Promise<RuntimeDTO>;
|
|
163
|
-
/**
|
|
164
|
-
* Create a snapshot of this runtime.
|
|
165
|
-
*
|
|
166
|
-
* @param name - Name for the snapshot
|
|
167
|
-
* @param description - Optional description
|
|
168
|
-
* @param stop - Whether to stop runtime after snapshotting
|
|
169
|
-
* @returns Created Snapshot instance
|
|
170
|
-
*/
|
|
171
|
-
createSnapshot(name: string, description?: string, stop?: boolean): Promise<CodeSandboxSnapshotDTO>;
|
|
172
|
-
/**
|
|
173
|
-
* Get runtime data in camelCase format.
|
|
174
|
-
* Returns only the core fields that consumers need.
|
|
175
|
-
* This provides a stable interface regardless of API changes.
|
|
176
|
-
* Returns the current cached state - call getState() first if you need fresh data.
|
|
177
|
-
*
|
|
178
|
-
* @returns Core runtime data with camelCase properties
|
|
179
|
-
*/
|
|
180
|
-
toJSON(): RuntimeJSON;
|
|
181
|
-
/**
|
|
182
|
-
* Get the raw runtime data exactly as received from the API.
|
|
183
|
-
* This preserves the original snake_case naming from the API response.
|
|
184
|
-
* Returns the current cached state - call getState() first if you need fresh data.
|
|
185
|
-
*
|
|
186
|
-
* @returns Raw runtime data from API
|
|
187
|
-
*/
|
|
188
|
-
rawData(): RuntimeData;
|
|
189
|
-
/** String representation of the runtime. */
|
|
190
|
-
toString(): string;
|
|
191
|
-
}
|
package/lib/models/RuntimeDTO.js
DELETED
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
-
* Distributed under the terms of the Modified BSD License.
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Runtime domain model for the Datalayer Client.
|
|
7
|
-
*
|
|
8
|
-
* @module models/RuntimeDTO
|
|
9
|
-
*/
|
|
10
|
-
import { updateRuntime } from '../api/runtimes/runtimes.js';
|
|
11
|
-
import { validateJSON } from '../api/utils/validation.js';
|
|
12
|
-
/**
|
|
13
|
-
* Runtime domain model that wraps API responses with convenient methods.
|
|
14
|
-
* Provides state management and lifecycle operations for computational runtimes.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```typescript
|
|
18
|
-
* const runtime = await client.createRuntime({ environment_name: 'python-cpu' });
|
|
19
|
-
* await runtime.waitUntilReady();
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
export class RuntimeDTO {
|
|
23
|
-
/** @internal */
|
|
24
|
-
_data;
|
|
25
|
-
_client;
|
|
26
|
-
_deleted = false;
|
|
27
|
-
/**
|
|
28
|
-
* Create a Runtime instance.
|
|
29
|
-
*
|
|
30
|
-
* @param data - Runtime data from API
|
|
31
|
-
* @param client - Client instance
|
|
32
|
-
*/
|
|
33
|
-
constructor(data, client) {
|
|
34
|
-
this._data = data;
|
|
35
|
-
this._client = client;
|
|
36
|
-
}
|
|
37
|
-
// ========================================================================
|
|
38
|
-
// Helper Methods
|
|
39
|
-
// ========================================================================
|
|
40
|
-
/**
|
|
41
|
-
* Check if this runtime has been deleted and throw error if so.
|
|
42
|
-
* @throws Error if deleted
|
|
43
|
-
*/
|
|
44
|
-
_checkDeleted() {
|
|
45
|
-
if (this._deleted) {
|
|
46
|
-
throw new Error(`Runtime ${this._data.pod_name} has been deleted and no longer exists`);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
// ========================================================================
|
|
50
|
-
// Static Properties (set at creation, never change)
|
|
51
|
-
// ========================================================================
|
|
52
|
-
/** Kubernetes pod name for the runtime instance. */
|
|
53
|
-
get podName() {
|
|
54
|
-
this._checkDeleted();
|
|
55
|
-
return this._data.pod_name;
|
|
56
|
-
}
|
|
57
|
-
/** Unique identifier for the runtime. */
|
|
58
|
-
get uid() {
|
|
59
|
-
this._checkDeleted();
|
|
60
|
-
return this._data.uid;
|
|
61
|
-
}
|
|
62
|
-
/** Name of the environment this runtime is based on. */
|
|
63
|
-
get environmentName() {
|
|
64
|
-
this._checkDeleted();
|
|
65
|
-
return this._data.environment_name;
|
|
66
|
-
}
|
|
67
|
-
/** Ingress URL for accessing the runtime. */
|
|
68
|
-
get ingress() {
|
|
69
|
-
this._checkDeleted();
|
|
70
|
-
return this._data.ingress;
|
|
71
|
-
}
|
|
72
|
-
/** Authentication token for accessing the runtime. */
|
|
73
|
-
get token() {
|
|
74
|
-
this._checkDeleted();
|
|
75
|
-
return this._data.token;
|
|
76
|
-
}
|
|
77
|
-
/** Credits consumed per second. */
|
|
78
|
-
get burningRate() {
|
|
79
|
-
this._checkDeleted();
|
|
80
|
-
return this._data.burning_rate;
|
|
81
|
-
}
|
|
82
|
-
/** User-friendly name for the runtime. */
|
|
83
|
-
get givenName() {
|
|
84
|
-
this._checkDeleted();
|
|
85
|
-
return this._data.given_name;
|
|
86
|
-
}
|
|
87
|
-
/** Type of runtime (notebook, terminal, or job). */
|
|
88
|
-
get type() {
|
|
89
|
-
this._checkDeleted();
|
|
90
|
-
return this._data.type;
|
|
91
|
-
}
|
|
92
|
-
/** When the runtime started. */
|
|
93
|
-
get startedAt() {
|
|
94
|
-
this._checkDeleted();
|
|
95
|
-
return new Date(Number(this._data.started_at) * 1000);
|
|
96
|
-
}
|
|
97
|
-
/** When the runtime will expire. */
|
|
98
|
-
get expiredAt() {
|
|
99
|
-
this._checkDeleted();
|
|
100
|
-
return new Date(Number(this._data.expired_at) * 1000);
|
|
101
|
-
}
|
|
102
|
-
/** Environment title for display. */
|
|
103
|
-
get environmentTitle() {
|
|
104
|
-
this._checkDeleted();
|
|
105
|
-
return this._data.environment_title || '';
|
|
106
|
-
}
|
|
107
|
-
// ========================================================================
|
|
108
|
-
// Action Methods
|
|
109
|
-
// ========================================================================
|
|
110
|
-
/**
|
|
111
|
-
* Delete this runtime permanently.
|
|
112
|
-
* After deletion, subsequent calls to dynamic methods will throw errors.
|
|
113
|
-
*/
|
|
114
|
-
async delete() {
|
|
115
|
-
await this._client.deleteRuntime(this.podName);
|
|
116
|
-
this._deleted = true;
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Update runtime from a snapshot.
|
|
120
|
-
*
|
|
121
|
-
* @param from - Snapshot identifier to restore from
|
|
122
|
-
* @returns Updated Runtime instance
|
|
123
|
-
*/
|
|
124
|
-
async update(from) {
|
|
125
|
-
this._checkDeleted();
|
|
126
|
-
const updated = await updateRuntime(this._client.getToken(), this.podName, from, this._client.getRuntimesRunUrl());
|
|
127
|
-
return new RuntimeDTO(updated, this._client);
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Create a snapshot of this runtime.
|
|
131
|
-
*
|
|
132
|
-
* @param name - Name for the snapshot
|
|
133
|
-
* @param description - Optional description
|
|
134
|
-
* @param stop - Whether to stop runtime after snapshotting
|
|
135
|
-
* @returns Created Snapshot instance
|
|
136
|
-
*/
|
|
137
|
-
async createSnapshot(name, description, stop) {
|
|
138
|
-
this._checkDeleted();
|
|
139
|
-
return await this._client.createSnapshot(this.podName, name, description, stop);
|
|
140
|
-
}
|
|
141
|
-
// ========================================================================
|
|
142
|
-
// Utility Methods
|
|
143
|
-
// ========================================================================
|
|
144
|
-
/**
|
|
145
|
-
* Get runtime data in camelCase format.
|
|
146
|
-
* Returns only the core fields that consumers need.
|
|
147
|
-
* This provides a stable interface regardless of API changes.
|
|
148
|
-
* Returns the current cached state - call getState() first if you need fresh data.
|
|
149
|
-
*
|
|
150
|
-
* @returns Core runtime data with camelCase properties
|
|
151
|
-
*/
|
|
152
|
-
toJSON() {
|
|
153
|
-
this._checkDeleted();
|
|
154
|
-
// Safely convert dates to ISO strings, handling invalid dates
|
|
155
|
-
const safeToISO = (date) => {
|
|
156
|
-
try {
|
|
157
|
-
const iso = date.toISOString();
|
|
158
|
-
return iso;
|
|
159
|
-
}
|
|
160
|
-
catch {
|
|
161
|
-
// If date is invalid, return empty string or current time
|
|
162
|
-
return new Date().toISOString();
|
|
163
|
-
}
|
|
164
|
-
};
|
|
165
|
-
const obj = {
|
|
166
|
-
// Core identifiers
|
|
167
|
-
uid: this.uid,
|
|
168
|
-
podName: this.podName,
|
|
169
|
-
givenName: this.givenName,
|
|
170
|
-
// Environment info
|
|
171
|
-
environmentName: this.environmentName,
|
|
172
|
-
environmentTitle: this.environmentTitle,
|
|
173
|
-
// State and type
|
|
174
|
-
type: this.type,
|
|
175
|
-
// Burning
|
|
176
|
-
burningRate: this.burningRate,
|
|
177
|
-
// URLs and tokens
|
|
178
|
-
// FIXME: Consider renaming? jupyterServerUrl and jupyterServerToken
|
|
179
|
-
ingress: this.ingress,
|
|
180
|
-
token: this.token,
|
|
181
|
-
// Timing
|
|
182
|
-
startedAt: safeToISO(this.startedAt),
|
|
183
|
-
expiredAt: safeToISO(this.expiredAt),
|
|
184
|
-
};
|
|
185
|
-
validateJSON(obj, 'Runtime');
|
|
186
|
-
return obj;
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Get the raw runtime data exactly as received from the API.
|
|
190
|
-
* This preserves the original snake_case naming from the API response.
|
|
191
|
-
* Returns the current cached state - call getState() first if you need fresh data.
|
|
192
|
-
*
|
|
193
|
-
* @returns Raw runtime data from API
|
|
194
|
-
*/
|
|
195
|
-
rawData() {
|
|
196
|
-
this._checkDeleted();
|
|
197
|
-
return this._data;
|
|
198
|
-
}
|
|
199
|
-
/** String representation of the runtime. */
|
|
200
|
-
toString() {
|
|
201
|
-
this._checkDeleted();
|
|
202
|
-
return `Runtime(${this.podName}, ${this.environmentName})`;
|
|
203
|
-
}
|
|
204
|
-
}
|
package/lib/models/Space.d.ts
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { SpaceMember } from './SpaceMember';
|
|
2
|
-
import { ISpaceItem } from './SpaceItem';
|
|
3
|
-
import { ICourse as ICourse } from './Course';
|
|
4
|
-
import { IOrganization } from './Organization';
|
|
5
|
-
import { IUser } from './User';
|
|
6
|
-
/**
|
|
7
|
-
* Convert the raw space object to {@link ISpace}.
|
|
8
|
-
*
|
|
9
|
-
* @param user Raw space object from DB
|
|
10
|
-
* @returns Space
|
|
11
|
-
*/
|
|
12
|
-
export declare const asSpace: (raw_space: any) => ISpace;
|
|
13
|
-
export type ISpaceVariant = 'default' | 'course' | 'project';
|
|
14
|
-
export type IAnySpace = ISpace | ICourse;
|
|
15
|
-
export type IBaseSpace = {
|
|
16
|
-
id: string;
|
|
17
|
-
handle: string;
|
|
18
|
-
type: string;
|
|
19
|
-
variant: ISpaceVariant;
|
|
20
|
-
name: string;
|
|
21
|
-
description: string;
|
|
22
|
-
creationDate: Date;
|
|
23
|
-
public: boolean;
|
|
24
|
-
owner: IUser;
|
|
25
|
-
organization?: Partial<IOrganization>;
|
|
26
|
-
members?: SpaceMember[];
|
|
27
|
-
sharedOwnerUserUids?: string[];
|
|
28
|
-
};
|
|
29
|
-
export type ISpace = IBaseSpace & {
|
|
30
|
-
type: 'space';
|
|
31
|
-
variant: 'default';
|
|
32
|
-
items?: Array<ISpaceItem>;
|
|
33
|
-
itemIds?: Array<string>;
|
|
34
|
-
};
|
|
35
|
-
export default ISpace;
|
package/lib/models/Space.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
-
* Distributed under the terms of the Modified BSD License.
|
|
4
|
-
*/
|
|
5
|
-
import { asUser } from './User.js';
|
|
6
|
-
import { asArray } from '../utils/index.js';
|
|
7
|
-
/**
|
|
8
|
-
* Convert the raw space object to {@link ISpace}.
|
|
9
|
-
*
|
|
10
|
-
* @param user Raw space object from DB
|
|
11
|
-
* @returns Space
|
|
12
|
-
*/
|
|
13
|
-
export const asSpace = (raw_space) => {
|
|
14
|
-
const sharedOwnerUserUids = asArray(raw_space?.shared_owner_user_uids_ss ||
|
|
15
|
-
raw_space?.shared_ower_user_uids_ss ||
|
|
16
|
-
[]).filter((uid) => typeof uid === 'string' && uid.length > 0);
|
|
17
|
-
// The backend resolves the canonical (friendly) account handles and exposes
|
|
18
|
-
// them as `space.owner` and `space.organization`. Trust those single sources
|
|
19
|
-
// of truth; do not invent fallbacks here.
|
|
20
|
-
const organizationHandle = raw_space?.organization?.handle;
|
|
21
|
-
const owner = raw_space?.owner
|
|
22
|
-
? asUser(raw_space.owner)
|
|
23
|
-
: {
|
|
24
|
-
id: '',
|
|
25
|
-
handle: '',
|
|
26
|
-
email: '',
|
|
27
|
-
firstName: '',
|
|
28
|
-
lastName: '',
|
|
29
|
-
initials: '',
|
|
30
|
-
displayName: '',
|
|
31
|
-
roles: [],
|
|
32
|
-
iamProviders: [],
|
|
33
|
-
setRoles: () => { },
|
|
34
|
-
unsubscribedFromOutbounds: false,
|
|
35
|
-
onboarding: {},
|
|
36
|
-
events: [],
|
|
37
|
-
settings: {},
|
|
38
|
-
};
|
|
39
|
-
let members = new Array();
|
|
40
|
-
if (raw_space.members) {
|
|
41
|
-
members = asArray(raw_space.members).map(m => {
|
|
42
|
-
const member = asUser(m);
|
|
43
|
-
return member;
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
const space = {
|
|
47
|
-
id: raw_space.uid,
|
|
48
|
-
handle: raw_space.handle_s,
|
|
49
|
-
type: 'space',
|
|
50
|
-
variant: raw_space.variant_s,
|
|
51
|
-
name: raw_space.name_t,
|
|
52
|
-
description: raw_space.description_t,
|
|
53
|
-
public: raw_space.public_b,
|
|
54
|
-
members,
|
|
55
|
-
creationDate: new Date(raw_space.creation_ts_dt),
|
|
56
|
-
owner,
|
|
57
|
-
organization: organizationHandle
|
|
58
|
-
? { handle: organizationHandle }
|
|
59
|
-
: undefined,
|
|
60
|
-
sharedOwnerUserUids,
|
|
61
|
-
// Preserve raw Solr fields so consumers can access dynamic fields
|
|
62
|
-
// (e.g. attached_agent_pod_name_s for project-agent assignment)
|
|
63
|
-
...raw_space,
|
|
64
|
-
};
|
|
65
|
-
return space;
|
|
66
|
-
};
|