@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
package/lib/hooks/useProjects.js
DELETED
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
-
* Distributed under the terms of the Modified BSD License.
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Hook for fetching and managing projects.
|
|
7
|
-
*
|
|
8
|
-
* Projects are backed by the Spacer service as spaces with type_s="project".
|
|
9
|
-
* Projects persist forever — only agents can terminate.
|
|
10
|
-
*
|
|
11
|
-
* Free tier limits: max 3 projects per user.
|
|
12
|
-
*
|
|
13
|
-
* @module hooks/useProjects
|
|
14
|
-
*/
|
|
15
|
-
import { useMemo, useCallback } from 'react';
|
|
16
|
-
import { useCache } from './useCache.js';
|
|
17
|
-
/** The space type value used to identify project spaces in Solr */
|
|
18
|
-
export const PROJECT_SPACE_VARIANT = 'project';
|
|
19
|
-
const normalizeProjectItems = (items) => {
|
|
20
|
-
if (Array.isArray(items)) {
|
|
21
|
-
return items;
|
|
22
|
-
}
|
|
23
|
-
if (items && typeof items === 'object') {
|
|
24
|
-
return [items];
|
|
25
|
-
}
|
|
26
|
-
return [];
|
|
27
|
-
};
|
|
28
|
-
const isProjectSpace = (space) => {
|
|
29
|
-
const variant = space?.variant ?? space?.variant_s;
|
|
30
|
-
if (variant !== PROJECT_SPACE_VARIANT) {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
const items = normalizeProjectItems(space?.items);
|
|
34
|
-
if (items.length === 0) {
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
37
|
-
const hasNotebook = items.some(item => (item?.type_s ?? item?.type) === 'notebook');
|
|
38
|
-
const hasDocument = items.some(item => {
|
|
39
|
-
const type = item?.type_s ?? item?.type;
|
|
40
|
-
return type === 'document' || type === 'lexical';
|
|
41
|
-
});
|
|
42
|
-
return hasNotebook && hasDocument;
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* Hook to fetch user's projects (spaces with type "project").
|
|
46
|
-
*
|
|
47
|
-
* Uses the spacer service's spaces endpoint filtered by type.
|
|
48
|
-
*/
|
|
49
|
-
export function useProjects() {
|
|
50
|
-
const { useUserSpaces } = useCache();
|
|
51
|
-
const { data: allSpaces, ...rest } = useUserSpaces();
|
|
52
|
-
// Filter to only project-type spaces
|
|
53
|
-
const projects = useMemo(() => {
|
|
54
|
-
if (!allSpaces)
|
|
55
|
-
return [];
|
|
56
|
-
return allSpaces
|
|
57
|
-
.filter((space) => isProjectSpace(space))
|
|
58
|
-
.map((space) => ({
|
|
59
|
-
uid: space.uid,
|
|
60
|
-
id: space.id ?? space.uid,
|
|
61
|
-
handle: space.handle ?? space.handle_s,
|
|
62
|
-
name: space.name ?? space.name_t,
|
|
63
|
-
description: space.description ?? space.description_t ?? '',
|
|
64
|
-
createdAt: space.created_at ? new Date(space.created_at) : new Date(),
|
|
65
|
-
isPublic: space.public ?? space.public_b ?? false,
|
|
66
|
-
attachedAgentPodName: space.attached_agent_pod_name_s || undefined,
|
|
67
|
-
attachedAgentSpecId: space.attached_agent_spec_id_s || undefined,
|
|
68
|
-
}));
|
|
69
|
-
}, [allSpaces]);
|
|
70
|
-
return { data: projects, ...rest };
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Hook to fetch a single project by UID.
|
|
74
|
-
*/
|
|
75
|
-
export function useProject(uid) {
|
|
76
|
-
const { useSpace } = useCache();
|
|
77
|
-
// useSpace requires a string – pass empty string when uid is undefined
|
|
78
|
-
// (the query is disabled when spaceId is falsy inside useCache)
|
|
79
|
-
const { data: space, ...rest } = useSpace(uid ?? '');
|
|
80
|
-
const project = useMemo(() => {
|
|
81
|
-
if (!space)
|
|
82
|
-
return undefined;
|
|
83
|
-
const s = space;
|
|
84
|
-
return {
|
|
85
|
-
uid: s.uid,
|
|
86
|
-
id: s.id ?? s.uid,
|
|
87
|
-
handle: s.handle ?? s.handle_s,
|
|
88
|
-
name: s.name ?? s.name_t,
|
|
89
|
-
description: s.description ?? s.description_t ?? '',
|
|
90
|
-
createdAt: s.created_at ? new Date(s.created_at) : new Date(),
|
|
91
|
-
isPublic: s.public ?? s.public_b ?? false,
|
|
92
|
-
attachedAgentPodName: s.attached_agent_pod_name_s || undefined,
|
|
93
|
-
attachedAgentSpecId: s.attached_agent_spec_id_s || undefined,
|
|
94
|
-
};
|
|
95
|
-
}, [space]);
|
|
96
|
-
return { data: project, ...rest };
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Hook to create a new project.
|
|
100
|
-
* Creates a space with type "project" via the spacer service.
|
|
101
|
-
*/
|
|
102
|
-
export function useCreateProject() {
|
|
103
|
-
const { useCreateSpace } = useCache();
|
|
104
|
-
const createSpaceMutation = useCreateSpace();
|
|
105
|
-
const createProject = useCallback(async (request) => {
|
|
106
|
-
const spaceHandle = request.name
|
|
107
|
-
.toLowerCase()
|
|
108
|
-
.replace(/[^a-z0-9]+/g, '-')
|
|
109
|
-
.replace(/^-|-$/g, '');
|
|
110
|
-
return createSpaceMutation.mutateAsync({
|
|
111
|
-
space: {
|
|
112
|
-
name: request.name,
|
|
113
|
-
description: request.description || '',
|
|
114
|
-
handle: spaceHandle || `project-${Date.now()}`,
|
|
115
|
-
variant: PROJECT_SPACE_VARIANT,
|
|
116
|
-
public: false,
|
|
117
|
-
},
|
|
118
|
-
});
|
|
119
|
-
}, [createSpaceMutation]);
|
|
120
|
-
return {
|
|
121
|
-
...createSpaceMutation,
|
|
122
|
-
createProject,
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Hook to update a project (e.g. persist the attached agent pod name).
|
|
127
|
-
* Uses the spacer PUT endpoint via useUpdateSpace.
|
|
128
|
-
*/
|
|
129
|
-
export function useUpdateProject() {
|
|
130
|
-
const { useUpdateSpace } = useCache();
|
|
131
|
-
const updateSpaceMutation = useUpdateSpace();
|
|
132
|
-
/** Assign an agent runtime to the project */
|
|
133
|
-
const assignAgent = useCallback(async (project, agentPodName, agentSpecId) => {
|
|
134
|
-
return updateSpaceMutation.mutateAsync({
|
|
135
|
-
id: project.id,
|
|
136
|
-
name: project.name,
|
|
137
|
-
description: project.description,
|
|
138
|
-
attached_agent_pod_name_s: agentPodName,
|
|
139
|
-
attached_agent_spec_id_s: agentSpecId || '',
|
|
140
|
-
});
|
|
141
|
-
}, [updateSpaceMutation]);
|
|
142
|
-
/** Rename a project */
|
|
143
|
-
const renameProject = useCallback(async (project, newName) => {
|
|
144
|
-
return updateSpaceMutation.mutateAsync({
|
|
145
|
-
id: project.id,
|
|
146
|
-
name: newName,
|
|
147
|
-
description: project.description,
|
|
148
|
-
});
|
|
149
|
-
}, [updateSpaceMutation]);
|
|
150
|
-
/** Remove the agent assignment from the project */
|
|
151
|
-
const unassignAgent = useCallback(async (project) => {
|
|
152
|
-
return updateSpaceMutation.mutateAsync({
|
|
153
|
-
id: project.id,
|
|
154
|
-
name: project.name,
|
|
155
|
-
description: project.description,
|
|
156
|
-
attached_agent_pod_name_s: '',
|
|
157
|
-
attached_agent_spec_id_s: '',
|
|
158
|
-
});
|
|
159
|
-
}, [updateSpaceMutation]);
|
|
160
|
-
return {
|
|
161
|
-
...updateSpaceMutation,
|
|
162
|
-
assignAgent,
|
|
163
|
-
unassignAgent,
|
|
164
|
-
renameProject,
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Hook to refresh the projects list.
|
|
169
|
-
*/
|
|
170
|
-
export function useRefreshProjects() {
|
|
171
|
-
const { useRefreshUserSpaces } = useCache();
|
|
172
|
-
return useRefreshUserSpaces();
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Hook to delete a project (space) and all its contents.
|
|
176
|
-
*/
|
|
177
|
-
export function useDeleteProject() {
|
|
178
|
-
const { useDeleteSpace } = useCache();
|
|
179
|
-
return useDeleteSpace();
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* Hook to fetch the default notebook and document UIDs for a project.
|
|
183
|
-
*
|
|
184
|
-
* This calls the spacer `GET /spaces/:uid/default-items` endpoint which
|
|
185
|
-
* returns the UID of the first notebook and first document in the space.
|
|
186
|
-
*/
|
|
187
|
-
export function useProjectDefaultItems(projectUid) {
|
|
188
|
-
const { useSpaceDefaultItems } = useCache();
|
|
189
|
-
return useSpaceDefaultItems(projectUid);
|
|
190
|
-
}
|
package/lib/hooks/useRuntimes.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
-
* Distributed under the terms of the Modified BSD License.
|
|
4
|
-
*/
|
|
5
|
-
import { requestJupyterKernelsExtension } from '../stateful/jupyter/kernelsHandler.js';
|
|
6
|
-
export const useRuntimes = () => {
|
|
7
|
-
// Folder Mounting ----------------------------------------------------------
|
|
8
|
-
const mountLocalFolder = (kernelId) => {
|
|
9
|
-
requestJupyterKernelsExtension(`jump/${kernelId}`)
|
|
10
|
-
.then(data => {
|
|
11
|
-
// console.log('--- Mount Local Folder', data);
|
|
12
|
-
})
|
|
13
|
-
.catch(reason => {
|
|
14
|
-
console.error(`Error while accessing the jupyter server jupyter_kernels extension.\n${reason}`);
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
|
-
const unmountLocalFolder = (kernelId) => {
|
|
18
|
-
requestJupyterKernelsExtension(`jump/${kernelId}`, {
|
|
19
|
-
method: 'DELETE',
|
|
20
|
-
})
|
|
21
|
-
.then(data => {
|
|
22
|
-
// console.log('--- Unmount Local Folder', data);
|
|
23
|
-
})
|
|
24
|
-
.catch(reason => {
|
|
25
|
-
console.error(`Error while accessing the jupyter server jupyter_kernels extension.\n${reason}`);
|
|
26
|
-
});
|
|
27
|
-
};
|
|
28
|
-
// --------------------------------------------------------------------------
|
|
29
|
-
return {
|
|
30
|
-
mountLocalFolder,
|
|
31
|
-
unmountLocalFolder,
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
export default useRuntimes;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { ICourse } from '../../models/Course';
|
|
2
|
-
export declare const newCourseMock: (name: string) => ICourse;
|
|
3
|
-
export declare const COURSE_1_MOCK: ICourse;
|
|
4
|
-
export declare const COURSE_2_MOCK: ICourse;
|
|
5
|
-
export declare const COURSE_3_MOCK: ICourse;
|
|
6
|
-
export declare const COURSES_MOCK: ICourse[];
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
-
* Distributed under the terms of the Modified BSD License.
|
|
4
|
-
*/
|
|
5
|
-
import { uniqueNamesGenerator, names } from 'unique-names-generator';
|
|
6
|
-
import { newUlid } from '../../utils/index.js';
|
|
7
|
-
import { newSpaceMock } from './SpaceMock.js';
|
|
8
|
-
import { newUserMock } from './UserMock.js';
|
|
9
|
-
export const newCourseMock = (name) => {
|
|
10
|
-
const course = {
|
|
11
|
-
id: newUlid(),
|
|
12
|
-
owner: newUserMock(uniqueNamesGenerator({ dictionaries: [names] }), uniqueNamesGenerator({ dictionaries: [names] })),
|
|
13
|
-
handle: newUlid(),
|
|
14
|
-
type: 'space',
|
|
15
|
-
variant: 'course',
|
|
16
|
-
name: name,
|
|
17
|
-
description: name + ' description.',
|
|
18
|
-
public: false,
|
|
19
|
-
creationDate: new Date(),
|
|
20
|
-
items: [],
|
|
21
|
-
itemIds: [],
|
|
22
|
-
seedSpace: newSpaceMock('space content'),
|
|
23
|
-
};
|
|
24
|
-
return course;
|
|
25
|
-
};
|
|
26
|
-
export const COURSE_1_MOCK = newCourseMock('Course 1');
|
|
27
|
-
export const COURSE_2_MOCK = newCourseMock('Course 2');
|
|
28
|
-
export const COURSE_3_MOCK = newCourseMock('Course 3');
|
|
29
|
-
export const COURSES_MOCK = [COURSE_1_MOCK, COURSE_2_MOCK, COURSE_3_MOCK];
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { ISpace } from '../../models/Space';
|
|
2
|
-
export declare const newSpaceMock: (name: string) => ISpace;
|
|
3
|
-
export declare const SPACE_1_MOCK: ISpace;
|
|
4
|
-
export declare const SPACE_2_MOCK: ISpace;
|
|
5
|
-
export declare const SPACE_3: ISpace;
|
|
6
|
-
export declare const SPACES_MOCK: ISpace[];
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
-
* Distributed under the terms of the Modified BSD License.
|
|
4
|
-
*/
|
|
5
|
-
import { uniqueNamesGenerator, names } from 'unique-names-generator';
|
|
6
|
-
import { newUlid } from '../../utils/index.js';
|
|
7
|
-
import { newUserMock } from './UserMock.js';
|
|
8
|
-
export const newSpaceMock = (name) => {
|
|
9
|
-
const space = {
|
|
10
|
-
id: newUlid(),
|
|
11
|
-
owner: newUserMock(uniqueNamesGenerator({ dictionaries: [names] }), uniqueNamesGenerator({ dictionaries: [names] })),
|
|
12
|
-
handle: newUlid(),
|
|
13
|
-
type: 'space',
|
|
14
|
-
variant: 'default',
|
|
15
|
-
name: name,
|
|
16
|
-
description: name + ' description.',
|
|
17
|
-
public: false,
|
|
18
|
-
creationDate: new Date(),
|
|
19
|
-
};
|
|
20
|
-
return space;
|
|
21
|
-
};
|
|
22
|
-
export const SPACE_1_MOCK = newSpaceMock('Space 1');
|
|
23
|
-
export const SPACE_2_MOCK = newSpaceMock('Space 2');
|
|
24
|
-
export const SPACE_3 = newSpaceMock('Space 3');
|
|
25
|
-
export const SPACES_MOCK = [SPACE_1_MOCK, SPACE_2_MOCK, SPACE_3];
|
package/lib/models/Assignment.js
DELETED
package/lib/models/Cell.d.ts
DELETED
package/lib/models/Cell.js
DELETED
package/lib/models/CodeBlock.js
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Code Sandbox snapshot from API.
|
|
3
|
-
*/
|
|
4
|
-
export interface IAPICodeSandboxSnapshot {
|
|
5
|
-
/**
|
|
6
|
-
* Snapshot UID
|
|
7
|
-
*/
|
|
8
|
-
uid: string;
|
|
9
|
-
/**
|
|
10
|
-
* Snapshot name
|
|
11
|
-
*/
|
|
12
|
-
name: string;
|
|
13
|
-
/**
|
|
14
|
-
* Snapshot description
|
|
15
|
-
*/
|
|
16
|
-
description: string;
|
|
17
|
-
/**
|
|
18
|
-
* Snapshot environment
|
|
19
|
-
*/
|
|
20
|
-
environment: string;
|
|
21
|
-
/**
|
|
22
|
-
* Snapshot metadata
|
|
23
|
-
*/
|
|
24
|
-
metadata: Record<string, any>;
|
|
25
|
-
/**
|
|
26
|
-
* Snapshot size in bytes
|
|
27
|
-
*/
|
|
28
|
-
size: number;
|
|
29
|
-
/**
|
|
30
|
-
* Latest update time of the snapshot
|
|
31
|
-
*/
|
|
32
|
-
updated_at: string;
|
|
33
|
-
/**
|
|
34
|
-
* Snapshot format
|
|
35
|
-
*/
|
|
36
|
-
format: string;
|
|
37
|
-
/**
|
|
38
|
-
* Snapshot format version
|
|
39
|
-
*/
|
|
40
|
-
format_version: string;
|
|
41
|
-
/**
|
|
42
|
-
* Snapshot status
|
|
43
|
-
*/
|
|
44
|
-
status: string;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Code Sandbox snapshot model.
|
|
48
|
-
*/
|
|
49
|
-
export interface ICodeSandboxSnapshot {
|
|
50
|
-
/**
|
|
51
|
-
* Snapshot UID
|
|
52
|
-
*/
|
|
53
|
-
id: string;
|
|
54
|
-
/**
|
|
55
|
-
* Snapshot name
|
|
56
|
-
*/
|
|
57
|
-
name: string;
|
|
58
|
-
/**
|
|
59
|
-
* Snapshot description
|
|
60
|
-
*/
|
|
61
|
-
description: string;
|
|
62
|
-
/**
|
|
63
|
-
* Snapshot environment
|
|
64
|
-
*/
|
|
65
|
-
environment: string;
|
|
66
|
-
/**
|
|
67
|
-
* Snapshot metadata
|
|
68
|
-
*/
|
|
69
|
-
metadata: Record<string, any>;
|
|
70
|
-
/**
|
|
71
|
-
* Snapshot size in bytes
|
|
72
|
-
*/
|
|
73
|
-
size: number;
|
|
74
|
-
/**
|
|
75
|
-
* Latest update time of the snapshot
|
|
76
|
-
*/
|
|
77
|
-
updatedAt: Date;
|
|
78
|
-
/**
|
|
79
|
-
* Snapshot format
|
|
80
|
-
*/
|
|
81
|
-
format: string;
|
|
82
|
-
/**
|
|
83
|
-
* Snapshot format version
|
|
84
|
-
*/
|
|
85
|
-
formatVersion: string;
|
|
86
|
-
/**
|
|
87
|
-
|
|
88
|
-
* Snapshot status
|
|
89
|
-
*/
|
|
90
|
-
status: string;
|
|
91
|
-
}
|
|
92
|
-
export declare function asCodeSandboxSnapshot(s: IAPICodeSandboxSnapshot): ICodeSandboxSnapshot;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
-
* Distributed under the terms of the Modified BSD License.
|
|
4
|
-
*/
|
|
5
|
-
export function asCodeSandboxSnapshot(s) {
|
|
6
|
-
const { uid, updated_at, format_version, ...others } = s;
|
|
7
|
-
return {
|
|
8
|
-
...others,
|
|
9
|
-
id: uid,
|
|
10
|
-
updatedAt: new Date(updated_at),
|
|
11
|
-
formatVersion: format_version,
|
|
12
|
-
};
|
|
13
|
-
}
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Snapshot domain model for the Datalayer Client.
|
|
3
|
-
*
|
|
4
|
-
* @module models/CodeSandboxSnapshotDTO
|
|
5
|
-
*/
|
|
6
|
-
import type { DatalayerClient } from '../index';
|
|
7
|
-
import { RuntimeDTO } from './RuntimeDTO';
|
|
8
|
-
/**
|
|
9
|
-
* Represents a runthime snapshot of a runtime's state and files.
|
|
10
|
-
* @interface CodeSandboxSnapshotData
|
|
11
|
-
*/
|
|
12
|
-
export interface CodeSandboxSnapshotData {
|
|
13
|
-
/** Unique identifier for the snapshot */
|
|
14
|
-
uid: string;
|
|
15
|
-
/** Name of the snapshot */
|
|
16
|
-
name: string;
|
|
17
|
-
/** Optional description of the snapshot */
|
|
18
|
-
description?: string;
|
|
19
|
-
/** Name of the environment used by the runtime */
|
|
20
|
-
environment: string;
|
|
21
|
-
/** Metadata associated with the snapshot */
|
|
22
|
-
metadata?: {
|
|
23
|
-
version?: string;
|
|
24
|
-
language_info?: any;
|
|
25
|
-
[key: string]: any;
|
|
26
|
-
};
|
|
27
|
-
/** Size of the snapshot in bytes */
|
|
28
|
-
size?: number;
|
|
29
|
-
/** Format of the snapshot */
|
|
30
|
-
format?: string;
|
|
31
|
-
/** Format version of the snapshot */
|
|
32
|
-
format_version?: string;
|
|
33
|
-
/** Status of the snapshot */
|
|
34
|
-
status?: string;
|
|
35
|
-
/** ISO 8601 timestamp when the snapshot was last updated */
|
|
36
|
-
updated_at: string;
|
|
37
|
-
/** List of files included in the snapshot */
|
|
38
|
-
files?: any[];
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Stable public interface for Snapshot data.
|
|
42
|
-
* This is the contract that Client consumers can rely on.
|
|
43
|
-
* The raw API may change, but this interface remains stable.
|
|
44
|
-
*/
|
|
45
|
-
export interface CodeSandboxSnapshotJSON {
|
|
46
|
-
/** Unique identifier for the snapshot */
|
|
47
|
-
uid: string;
|
|
48
|
-
/** Name of the snapshot */
|
|
49
|
-
name: string;
|
|
50
|
-
/** Optional description of the snapshot */
|
|
51
|
-
description?: string;
|
|
52
|
-
/** Name of the environment used by the runtime */
|
|
53
|
-
environment: string;
|
|
54
|
-
/** ISO 8601 timestamp when the snapshot was last updated */
|
|
55
|
-
updatedAt: string;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Request payload for creating a code sandbox snapshot
|
|
59
|
-
* @interface CreateCodeSandboxSnapshotRequest
|
|
60
|
-
*/
|
|
61
|
-
export interface CreateCodeSandboxSnapshotRequest {
|
|
62
|
-
/** Pod name of the runtime to snapshot */
|
|
63
|
-
pod_name: string;
|
|
64
|
-
/** Name for the snapshot */
|
|
65
|
-
name: string;
|
|
66
|
-
/** Description of the snapshot */
|
|
67
|
-
description: string;
|
|
68
|
-
/** Whether to stop the runtime after creating snapshot */
|
|
69
|
-
stop: boolean;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Response for getting a specific code snapshot snapshot
|
|
73
|
-
* @interface GetCodeSandboxSnapshotResponse
|
|
74
|
-
*/
|
|
75
|
-
export interface GetCodeSandboxSnapshotResponse {
|
|
76
|
-
/** Indicates if the request was successful */
|
|
77
|
-
success: boolean;
|
|
78
|
-
/** Response message */
|
|
79
|
-
message: string;
|
|
80
|
-
/** The snapshot details */
|
|
81
|
-
snapshot: CodeSandboxSnapshotData;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Response for creating a code sandbox snapshot
|
|
85
|
-
* @interface CreateCodeSandboxSnapshotResponse
|
|
86
|
-
*/
|
|
87
|
-
export interface CreateCodeSandboxSnapshotResponse {
|
|
88
|
-
/** Indicates if the request was successful */
|
|
89
|
-
success: boolean;
|
|
90
|
-
/** Response message */
|
|
91
|
-
message: string;
|
|
92
|
-
/** The created snapshot details */
|
|
93
|
-
snapshot: CodeSandboxSnapshotData;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Response from listing code sandbox snapshots
|
|
97
|
-
* @interface ListCodeSandboxSnapshotsResponse
|
|
98
|
-
*/
|
|
99
|
-
export interface ListCodeSandboxSnapshotsResponse {
|
|
100
|
-
/** Whether the request was successful */
|
|
101
|
-
success: boolean;
|
|
102
|
-
/** Response message from the server */
|
|
103
|
-
message: string;
|
|
104
|
-
/** Array of code sandbox snapshots */
|
|
105
|
-
snapshots: CodeSandboxSnapshotData[];
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Snapshot domain model that wraps API responses with convenient methods.
|
|
109
|
-
* Provides code sandbox snapshot management with data refresh and lifecycle operations.
|
|
110
|
-
*
|
|
111
|
-
* @example
|
|
112
|
-
* ```typescript
|
|
113
|
-
* const snapshot = await runtime.createSnapshot('my-checkpoint');
|
|
114
|
-
* const runtime = await snapshot.restore();
|
|
115
|
-
* ```
|
|
116
|
-
*/
|
|
117
|
-
export declare class CodeSandboxSnapshotDTO {
|
|
118
|
-
protected _data: CodeSandboxSnapshotData;
|
|
119
|
-
private _client;
|
|
120
|
-
private _deleted;
|
|
121
|
-
/**
|
|
122
|
-
* Create a Code Sandbox Snapshot instance.
|
|
123
|
-
*
|
|
124
|
-
* @param data - Snapshot data from API
|
|
125
|
-
* @param client - Client instance
|
|
126
|
-
*/
|
|
127
|
-
constructor(data: CodeSandboxSnapshotData, client: DatalayerClient);
|
|
128
|
-
/**
|
|
129
|
-
* Check if this snapshot has been deleted and throw error if so.
|
|
130
|
-
* @throws Error if deleted
|
|
131
|
-
*/
|
|
132
|
-
private _checkDeleted;
|
|
133
|
-
/** Unique identifier for the snapshot. */
|
|
134
|
-
get uid(): string;
|
|
135
|
-
/** Name of the snapshot. */
|
|
136
|
-
get name(): string;
|
|
137
|
-
/** Description of the snapshot. */
|
|
138
|
-
get description(): string;
|
|
139
|
-
/** Name of the environment used by the runtime. */
|
|
140
|
-
get environment(): string;
|
|
141
|
-
/** When the snapshot was last updated. */
|
|
142
|
-
get updatedAt(): Date;
|
|
143
|
-
/**
|
|
144
|
-
* Delete this snapshot permanently.
|
|
145
|
-
* After deletion, subsequent calls to dynamic methods will throw errors.
|
|
146
|
-
*/
|
|
147
|
-
delete(): Promise<void>;
|
|
148
|
-
/**
|
|
149
|
-
* Create a code sandbox from this snapshot (restore functionality).
|
|
150
|
-
*
|
|
151
|
-
* @param minutesLimit - Time limit in minutes for the restored runtime
|
|
152
|
-
* @returns Created Runtime instance
|
|
153
|
-
*/
|
|
154
|
-
restore(minutesLimit: number): Promise<RuntimeDTO>;
|
|
155
|
-
/**
|
|
156
|
-
* Get code snapshot snapshot data in camelCase format.
|
|
157
|
-
* Returns only the core fields that consumers need.
|
|
158
|
-
* This provides a stable interface regardless of API changes.
|
|
159
|
-
* Note: Returns current cached state - call getStatus() first if you need fresh data.
|
|
160
|
-
*
|
|
161
|
-
* @returns Core code snapshot snapshot data with camelCase properties
|
|
162
|
-
*/
|
|
163
|
-
toJSON(): CodeSandboxSnapshotJSON;
|
|
164
|
-
/**
|
|
165
|
-
* Get the raw snapshot data exactly as received from the API.
|
|
166
|
-
* This preserves the original snake_case naming from the API response.
|
|
167
|
-
*
|
|
168
|
-
* @returns Raw snapshot data from API
|
|
169
|
-
*/
|
|
170
|
-
rawData(): CodeSandboxSnapshotData;
|
|
171
|
-
/** String representation of the snapshot. */
|
|
172
|
-
toString(): string;
|
|
173
|
-
}
|