@gen3/workspaces 0.12.62 → 0.12.64
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/dist/dts/api/workspaceAssetsApi.js +1 -1
- package/dist/dts/api/workspaceAssetsApi.js.map +1 -1
- package/dist/dts/components/MicroContainerPanel.stories.d.ts +6 -2
- package/dist/dts/components/MicroContainerPanel.stories.d.ts.map +1 -1
- package/dist/dts/components/MicroContainerPanel.stories.js +1 -1
- package/dist/dts/components/MicroContainerPanel.stories.js.map +1 -1
- package/dist/dts/components/MicroContainerReduxPanel.d.ts +3 -5
- package/dist/dts/components/MicroContainerReduxPanel.d.ts.map +1 -1
- package/dist/dts/components/MicroContainerReduxPanel.js +32 -6
- package/dist/dts/components/MicroContainerReduxPanel.js.map +1 -1
- package/dist/dts/pages/WorkspacesCenter/data.d.ts.map +1 -1
- package/dist/dts/pages/WorkspacesCenter/data.js +4 -1
- package/dist/dts/pages/WorkspacesCenter/data.js.map +1 -1
- package/dist/dts/providers/types.d.ts +1 -1
- package/dist/dts/providers/types.d.ts.map +1 -1
- package/dist/dts/providers/useMicroContainerRedux.d.ts.map +1 -1
- package/dist/dts/providers/useMicroContainerRedux.js +8 -2
- package/dist/dts/providers/useMicroContainerRedux.js.map +1 -1
- package/dist/dts/workspace/WorkspaceCenter.d.ts.map +1 -1
- package/dist/dts/workspace/WorkspaceCenter.js +1 -1
- package/dist/dts/workspace/WorkspaceCenter.js.map +1 -1
- package/dist/dts/workspace/WorkspaceLayout/WorkspaceLayout.d.ts.map +1 -1
- package/dist/dts/workspace/WorkspaceLayout/WorkspaceLayout.js +1 -1
- package/dist/dts/workspace/WorkspaceLayout/WorkspaceLayout.js.map +1 -1
- package/dist/dts/workspace/tiers/RemoteComputeWorkspace.d.ts +1 -0
- package/dist/dts/workspace/tiers/RemoteComputeWorkspace.d.ts.map +1 -1
- package/dist/dts/workspace/tiers/RemoteComputeWorkspace.js +2 -2
- package/dist/dts/workspace/tiers/RemoteComputeWorkspace.js.map +1 -1
- package/dist/dts/workspace/tiers/types.d.ts +2 -0
- package/dist/dts/workspace/tiers/types.d.ts.map +1 -1
- package/dist/index/cjs/index.js +97 -25
- package/dist/index/cjs/index.js.map +1 -1
- package/dist/index/esm/index.js +98 -26
- package/dist/index/esm/index.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/jupyterlite-builds/free-private/overrides.json +1 -0
- package/dist/jupyterlite-builds/remote-private/overrides.json +26 -0
- package/dist/jupyterlite-builds/scripts/build-gen3sdk-lite_v2.sh +310 -0
- package/dist/jupyterlite-builds/scripts/build-jupyterlite.sh +9 -0
- package/dist/jupyterlite-builds/scripts/build-jupyterlite_v2.sh +111 -0
- package/dist/server/cjs/server.js +1 -1
- package/dist/server/cjs/server.js.map +1 -1
- package/dist/server/esm/server.js +1 -1
- package/dist/server/esm/server.js.map +1 -1
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/aiofiles-25.1.0-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/backoff-2.2.1-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/cdislogging-1.2.0-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/comm-0.2.3-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/dataclasses_json-0.5.9-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/dictionaryutils-4.0.0-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/drsclient-0.4.0-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/fastavro-1.12.2-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/gen3-4.28.3-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/gen3dictionary-3.0.0-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/gen3users-1.1.1-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/humanfriendly-10.0-py2.py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/importlib_metadata-8.9.0-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/indexclient-6.3.0-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/ipykernel-6.9.2-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/ipython_pygments_lexers-1.1.1-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/marshmallow-3.26.2-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/marshmallow_enum-1.5.1-py2.py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/mypy_extensions-1.1.0-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/piplite-0.8.5-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/pyodide_http-0.2.2-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/pyodide_kernel-0.8.5-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/pypfb-0.6.2-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/python_dateutil-2.9.0.post0-py2.py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/python_json_logger-4.2.0-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/typing_inspect-0.9.0-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/xmltodict-0.13.0-py2.py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_uv_wheels/zipp-4.1.0-py3-none-any.whl +0 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_work/constraints.txt +354 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_work/excludes.txt +3 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_work/pylock.toml +347 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/_work/requirements.in +26 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/patched-pyodide-lock.json +1 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/pyodide-lock.json +1 -0
- package/jupyterlite-builds/free-private/.cache/pyodide-lock/remote-pyodide-lock.json +1 -0
- package/jupyterlite-builds/free-private/.cache/wheels/aiofiles-25.1.0-py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/backoff-2.2.1-py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/cdislogging-1.2.0-py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/dataclasses_json-0.5.9-py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/dictionaryutils-4.0.0-py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/drsclient-0.4.0-py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/fastavro-1.12.2-py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/gen3-4.28.3-py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/gen3dictionary-3.0.0-py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/gen3users-1.1.1-py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/humanfriendly-10.0-py2.py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/importlib_metadata-8.9.0-py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/indexclient-6.3.0-py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/marshmallow-3.26.2-py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/marshmallow_enum-1.5.1-py2.py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/mypy_extensions-1.1.0-py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/pypfb-0.6.2-py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/python_dateutil-2.9.0.post0-py2.py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/python_json_logger-4.2.0-py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/typing_inspect-0.9.0-py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/xmltodict-0.13.0-py2.py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/.cache/wheels/zipp-4.1.0-py3-none-any.whl.meta.json +24 -0
- package/jupyterlite-builds/free-private/cockle-config.json +71 -0
- package/jupyterlite-builds/free-private/cockle_wasm_env/.mambarc +1 -0
- package/jupyterlite-builds/free-private/cockle_wasm_env/bin/coreutils.js +5421 -0
- package/jupyterlite-builds/free-private/cockle_wasm_env/bin/coreutils.wasm +0 -0
- package/jupyterlite-builds/free-private/cockle_wasm_env/bin/fs.d.ts +375 -0
- package/jupyterlite-builds/free-private/cockle_wasm_env/bin/fs.js +3401 -0
- package/jupyterlite-builds/free-private/cockle_wasm_env/bin/fs.wasm +0 -0
- package/jupyterlite-builds/free-private/cockle_wasm_env/bin/grep.js +3839 -0
- package/jupyterlite-builds/free-private/cockle_wasm_env/bin/grep.wasm +0 -0
- package/jupyterlite-builds/free-private/cockle_wasm_env/bin/less.data +0 -0
- package/jupyterlite-builds/free-private/cockle_wasm_env/bin/less.js +5060 -0
- package/jupyterlite-builds/free-private/cockle_wasm_env/bin/less.wasm +0 -0
- package/jupyterlite-builds/free-private/cockle_wasm_env/bin/sed.js +3843 -0
- package/jupyterlite-builds/free-private/cockle_wasm_env/bin/sed.wasm +0 -0
- package/jupyterlite-builds/free-private/cockle_wasm_env/conda-meta/cockle_fs-0.3.0-h27506cd_2.json +60 -0
- package/jupyterlite-builds/free-private/cockle_wasm_env/conda-meta/coreutils-9.10-h072c4ef_3.json +52 -0
- package/jupyterlite-builds/free-private/cockle_wasm_env/conda-meta/emscripten-abi-4.0.9-h267e887_9.json +31 -0
- package/jupyterlite-builds/free-private/cockle_wasm_env/conda-meta/grep-3.12-h8b79025_0.json +52 -0
- package/jupyterlite-builds/free-private/cockle_wasm_env/conda-meta/history +10 -0
- package/jupyterlite-builds/free-private/cockle_wasm_env/conda-meta/less-693-hf259948_0.json +60 -0
- package/jupyterlite-builds/free-private/cockle_wasm_env/conda-meta/sed-4.9-h072c4ef_0.json +52 -0
- package/jupyterlite-builds/free-private/overrides.json +1 -0
- package/jupyterlite-builds/remote-private/overrides.json +26 -0
- package/package.json +5 -6
- package/rollup.config.mjs +1 -1
- package/scripts/aiohttp-3.13.5-cp314-cp314-pyemscripten_2026_0_wasm32.whl +0 -0
- package/scripts/build-gen3sdk-lite_v2.sh +310 -0
- package/scripts/build-jupyterlite.sh +9 -0
- package/scripts/build-jupyterlite_v2.sh +111 -0
- package/LICENSE +0 -201
package/dist/index/esm/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import React, { useCallback, useMemo, useState, useRef, useEffect, createContext, useImperativeHandle, forwardRef } from 'react';
|
|
3
3
|
import { mergeDefaultTailwindClassnames, ACTIVITY_CHANNEL, convertSecondsToMilliseconds, InfoRolloverButton, OverflowTooltippedLabel, PanelErrorBoundary, ProtectedContent, FixedNavPageLayout, ContentSource, getNavPageLayoutPropsFromConfig } from '@gen3/frontend';
|
|
4
|
-
import { Card, Stack, Badge, Text, List, Group, Tooltip, Button, Container, SimpleGrid, LoadingOverlay, Alert,
|
|
4
|
+
import { Card, Stack, Badge, Text, List, Group, Tooltip, Button, Container, SimpleGrid, LoadingOverlay, Loader, Alert, Select, Divider, ActionIcon, TextInput, Textarea, Table, Scroller, Tabs, Center } from '@mantine/core';
|
|
5
5
|
import { Icon } from '@iconify-icon/react';
|
|
6
6
|
import { useInterval, useElementSize, useDisclosure, useResizeObserver } from '@mantine/hooks';
|
|
7
7
|
import { GEN3_API, GEN3_WORKSPACE_API, gen3Api, useCoreSelector, selectJEGActiveWorkspaceStatus, useCoreDispatch, setJEGActiveWorkspaceStatus, WorkspaceStatus, setJEGRequestedWorkspaceStatus, RequestedWorkspaceStatus, setJEGActiveWorkspaceId, isFetchBaseQueryError, selectJEGRequestedWorkspaceStatus, selectJEGRequestedWorkspaceStatusTimestamp, isTimeGreaterThan, formatUptimeInMinutes, selectJEGKernelIds, removeManyJEGActiveKernels, upsertManyJEGActiveKernels, normalizeRtkError, selectAllJEGKernels, addJEGActiveKernel, selectWorkspaceTier, setWorkspaceTier, selectWorkspaceFullscreen, setWorkspaceFullscreen, useGetDictionaryFromUrlQuery, useUserAuth, GEN3_COMMONS_NAME } from '@gen3/core';
|
|
8
8
|
import { useDeepCompareEffect } from 'use-deep-compare';
|
|
9
9
|
import { notifications } from '@mantine/notifications';
|
|
10
|
+
import { MdExpandMore, MdKeyboardArrowDown, MdKeyboardArrowRight } from 'react-icons/md';
|
|
10
11
|
import { IoSettingsSharp } from 'react-icons/io5';
|
|
11
12
|
import { BsFillInfoCircleFill } from 'react-icons/bs';
|
|
12
|
-
import { MdKeyboardArrowDown, MdKeyboardArrowRight } from 'react-icons/md';
|
|
13
13
|
import { merge } from 'lodash';
|
|
14
14
|
|
|
15
15
|
const WorkspaceTierCard = ({ label, description, tier, tierLabel = undefined, features = [], tooltip = 'Launch workspace', buttonLabel = 'Launch', onSelectTier, baseColor })=>{
|
|
@@ -619,12 +619,18 @@ const { useDoesHatcheryOptionExistsQuery, useHatcheryOptionsQuery, useLazyHatche
|
|
|
619
619
|
isWorkspaceLaunchError,
|
|
620
620
|
isTerminateError
|
|
621
621
|
]);
|
|
622
|
-
const launch = useCallback(async ()=>{
|
|
622
|
+
const launch = useCallback(async (tag)=>{
|
|
623
623
|
if (!enabled || workspaceContainerStatus === WorkspaceStatus.Launching || workspaceContainerStatus === WorkspaceStatus.Running) return; // already running or launching so ignore
|
|
624
|
+
const isTagString = tag && typeof tag === 'string';
|
|
625
|
+
if (isTagString) {
|
|
626
|
+
// set hash to passed in tag
|
|
627
|
+
setContainerHash(tag);
|
|
628
|
+
}
|
|
624
629
|
try {
|
|
625
630
|
coreDispatch(setJEGRequestedWorkspaceStatus(RequestedWorkspaceStatus.Launch));
|
|
626
631
|
coreDispatch(setJEGActiveWorkspaceStatus(WorkspaceStatus.Launching));
|
|
627
|
-
|
|
632
|
+
// use tag if provided to prevent race condition with setContainerHash
|
|
633
|
+
const query = isTagString ? encodeURIComponent(tag) : containerHash ? encodeURIComponent(containerHash) : '';
|
|
628
634
|
const launchResults = await launchTrigger(query).unwrap();
|
|
629
635
|
if (!launchResults) {
|
|
630
636
|
// launch error, will show error message and then reset
|
|
@@ -945,8 +951,10 @@ const icon = /*#__PURE__*/ jsx(Icon, {
|
|
|
945
951
|
* The iframe and KernelLifecyclePanel are rendered by the PARENT only when
|
|
946
952
|
* status === 'running' && useJupyterReady.ready === true.
|
|
947
953
|
*/ const PanelStyle$2 = 'h-full w-full flex flex-col items-center justify-start gap-6 px-6 mt-20';
|
|
948
|
-
const MicroContainerReduxPanel = ()=>{
|
|
949
|
-
const { launch, terminate } = useMicroContainerReduxContext();
|
|
954
|
+
const MicroContainerReduxPanel = ({ enableOptions = false })=>{
|
|
955
|
+
const { launch, terminate, containerHash } = useMicroContainerReduxContext();
|
|
956
|
+
const { data: hatcheryOptions, isLoading: isHatcheryOptionsLoading, isError: isHatcheryOptionsError } = useHatcheryOptionsQuery();
|
|
957
|
+
const [workspaceOptionSelected, setWorkspaceOptionSelected] = useState(null);
|
|
950
958
|
const status = useCoreSelector(selectJEGActiveWorkspaceStatus);
|
|
951
959
|
const requestedStatusTimestamp = useCoreSelector(selectJEGRequestedWorkspaceStatusTimestamp);
|
|
952
960
|
const coreDispatch = useCoreDispatch();
|
|
@@ -980,6 +988,72 @@ const MicroContainerReduxPanel = ()=>{
|
|
|
980
988
|
status,
|
|
981
989
|
resetStatus
|
|
982
990
|
]);
|
|
991
|
+
const simpleLaunchWorkspaceBtn = /*#__PURE__*/ jsx(Button, {
|
|
992
|
+
variant: "outline",
|
|
993
|
+
color: "accent.3",
|
|
994
|
+
onClick: ()=>launch(),
|
|
995
|
+
children: "Launch Workspace"
|
|
996
|
+
});
|
|
997
|
+
const launchWorkspaceBtn = useMemo(()=>{
|
|
998
|
+
if (isHatcheryOptionsLoading) {
|
|
999
|
+
return /*#__PURE__*/ jsx(Loader, {
|
|
1000
|
+
size: 24
|
|
1001
|
+
});
|
|
1002
|
+
}
|
|
1003
|
+
if (isHatcheryOptionsError) {
|
|
1004
|
+
return /*#__PURE__*/ jsx(Alert, {
|
|
1005
|
+
variant: "light",
|
|
1006
|
+
color: "accentWarm.4",
|
|
1007
|
+
title: "Options API Error",
|
|
1008
|
+
icon: icon,
|
|
1009
|
+
children: "Failed to Fetch Options"
|
|
1010
|
+
});
|
|
1011
|
+
}
|
|
1012
|
+
if (hatcheryOptions && hatcheryOptions.length > 1) {
|
|
1013
|
+
const workspaceOptionLaunch = ()=>{
|
|
1014
|
+
if (workspaceOptionSelected?.value) {
|
|
1015
|
+
launch(workspaceOptionSelected.value);
|
|
1016
|
+
}
|
|
1017
|
+
};
|
|
1018
|
+
const hatcheryOptionForSelect = hatcheryOptions.map((obj)=>({
|
|
1019
|
+
label: obj.name,
|
|
1020
|
+
value: obj.id
|
|
1021
|
+
}));
|
|
1022
|
+
return /*#__PURE__*/ jsxs("div", {
|
|
1023
|
+
className: "flex",
|
|
1024
|
+
children: [
|
|
1025
|
+
/*#__PURE__*/ jsx(Select, {
|
|
1026
|
+
rightSection: /*#__PURE__*/ jsx(MdExpandMore, {
|
|
1027
|
+
className: "text-accent",
|
|
1028
|
+
size: "1.5em",
|
|
1029
|
+
"aria-hidden": true
|
|
1030
|
+
}),
|
|
1031
|
+
withCheckIcon: false,
|
|
1032
|
+
data: hatcheryOptionForSelect,
|
|
1033
|
+
value: workspaceOptionSelected ? workspaceOptionSelected.value : null,
|
|
1034
|
+
placeholder: "-- Select workspace type --",
|
|
1035
|
+
onChange: (_value, option)=>setWorkspaceOptionSelected(option),
|
|
1036
|
+
classNames: {
|
|
1037
|
+
input: 'rounded-r-none'
|
|
1038
|
+
},
|
|
1039
|
+
color: "accent.3"
|
|
1040
|
+
}),
|
|
1041
|
+
/*#__PURE__*/ jsx(Button, {
|
|
1042
|
+
onClick: workspaceOptionLaunch,
|
|
1043
|
+
className: "rounded-l-none w-64 disabled:bg-accent-lighter disabled:text-accent-contrast",
|
|
1044
|
+
disabled: !workspaceOptionSelected?.value,
|
|
1045
|
+
color: "accent.3",
|
|
1046
|
+
children: "Launch Workspace"
|
|
1047
|
+
})
|
|
1048
|
+
]
|
|
1049
|
+
});
|
|
1050
|
+
}
|
|
1051
|
+
return simpleLaunchWorkspaceBtn;
|
|
1052
|
+
}, [
|
|
1053
|
+
isHatcheryOptionsLoading,
|
|
1054
|
+
workspaceOptionSelected,
|
|
1055
|
+
containerHash
|
|
1056
|
+
]);
|
|
983
1057
|
if (status === WorkspaceStatus.StatusError) {
|
|
984
1058
|
return /*#__PURE__*/ jsx("div", {
|
|
985
1059
|
className: PanelStyle$2,
|
|
@@ -1001,25 +1075,17 @@ const MicroContainerReduxPanel = ()=>{
|
|
|
1001
1075
|
children: [
|
|
1002
1076
|
/*#__PURE__*/ jsx(Icon, {
|
|
1003
1077
|
icon: "gen3:run",
|
|
1004
|
-
width:
|
|
1005
|
-
height:
|
|
1006
|
-
className: "text-
|
|
1007
|
-
}),
|
|
1008
|
-
/*#__PURE__*/ jsx("p", {
|
|
1009
|
-
className: "mt-2 max-w-sm text-sm text-base-darker",
|
|
1010
|
-
children: "Start your personal micro compute environment. Use it for light analysis — upgrade to a GPU kernel when you need to run large workflows."
|
|
1078
|
+
width: 60,
|
|
1079
|
+
height: 60,
|
|
1080
|
+
className: "text-accent"
|
|
1011
1081
|
}),
|
|
1012
1082
|
/*#__PURE__*/ jsx("p", {
|
|
1013
|
-
className: "mt-
|
|
1014
|
-
children: "
|
|
1083
|
+
className: "mt-2 max-w-lg text-sm text-base-darker",
|
|
1084
|
+
children: "Start your personal micro compute environment. Use it for light analysis, upgrade to a GPU kernel when you need to run large workflows."
|
|
1015
1085
|
})
|
|
1016
1086
|
]
|
|
1017
1087
|
}),
|
|
1018
|
-
|
|
1019
|
-
variant: "outline",
|
|
1020
|
-
onClick: launch,
|
|
1021
|
-
children: "Launch Workspace"
|
|
1022
|
-
})
|
|
1088
|
+
enableOptions ? launchWorkspaceBtn : simpleLaunchWorkspaceBtn
|
|
1023
1089
|
]
|
|
1024
1090
|
});
|
|
1025
1091
|
}
|
|
@@ -1109,7 +1175,7 @@ const MicroContainerReduxPanel = ()=>{
|
|
|
1109
1175
|
children: "Terminate"
|
|
1110
1176
|
}),
|
|
1111
1177
|
/*#__PURE__*/ jsx(Button, {
|
|
1112
|
-
onClick: launch,
|
|
1178
|
+
onClick: ()=>launch(),
|
|
1113
1179
|
variant: "default",
|
|
1114
1180
|
children: "Retry"
|
|
1115
1181
|
})
|
|
@@ -1152,7 +1218,7 @@ const MicroContainerReduxPanel = ()=>{
|
|
|
1152
1218
|
|
|
1153
1219
|
/**
|
|
1154
1220
|
* Handle a Jupyter Enterprise Gateway session.
|
|
1155
|
-
*/ const RemoteComputeWorkspace = /*#__PURE__*/ React.memo(/*#__PURE__*/ React.forwardRef(({ assetBaseUrl = '/api/workspace-assets/remote', tenantId, workspaceId, userId, notebookName = 'remote-workspace', onReady = ()=>{}, onError = ()=>{} }, ref)=>{
|
|
1221
|
+
*/ const RemoteComputeWorkspace = /*#__PURE__*/ React.memo(/*#__PURE__*/ React.forwardRef(({ assetBaseUrl = '/api/workspace-assets/remote', enableOptions = false, tenantId, workspaceId, userId, notebookName = 'remote-workspace', onReady = ()=>{}, onError = ()=>{} }, ref)=>{
|
|
1156
1222
|
const [loading, setLoading] = useState(true);
|
|
1157
1223
|
const [loadError, setLoadError] = useState(false);
|
|
1158
1224
|
const [retryCount, setRetryCount] = useState(0);
|
|
@@ -1371,7 +1437,9 @@ const MicroContainerReduxPanel = ()=>{
|
|
|
1371
1437
|
if (status !== WorkspaceStatus.Running) {
|
|
1372
1438
|
return /*#__PURE__*/ jsx("div", {
|
|
1373
1439
|
className: "w-full flex flex-col grow",
|
|
1374
|
-
children: /*#__PURE__*/ jsx(MicroContainerReduxPanel, {
|
|
1440
|
+
children: /*#__PURE__*/ jsx(MicroContainerReduxPanel, {
|
|
1441
|
+
enableOptions: enableOptions
|
|
1442
|
+
})
|
|
1375
1443
|
});
|
|
1376
1444
|
}
|
|
1377
1445
|
return /*#__PURE__*/ jsxs("div", {
|
|
@@ -3951,7 +4019,7 @@ const WorkspaceLayout = ({ children, tierConfiguration })=>{
|
|
|
3951
4019
|
width: tierConfiguration.dataAndTools.width
|
|
3952
4020
|
}),
|
|
3953
4021
|
children,
|
|
3954
|
-
/*#__PURE__*/ jsx(SettingsPanel, {
|
|
4022
|
+
tierConfiguration.settings.enabled && /*#__PURE__*/ jsx(SettingsPanel, {
|
|
3955
4023
|
showKernels: tierConfiguration.settings.showKernels,
|
|
3956
4024
|
expanded: settingsExpanded,
|
|
3957
4025
|
setExpanded: setSettingsExpanded,
|
|
@@ -4024,7 +4092,8 @@ const WorkspaceCenter = ({ workspaces, landingPage, tierConfiguration })=>{
|
|
|
4024
4092
|
children: /*#__PURE__*/ jsx(RemoteComputeWorkspace, {
|
|
4025
4093
|
tenantId: authContext?.tenantId || 'default',
|
|
4026
4094
|
workspaceId: authContext?.workspaceId || 'workspace-default',
|
|
4027
|
-
userId: authContext?.username || 'anonymous'
|
|
4095
|
+
userId: authContext?.username || 'anonymous',
|
|
4096
|
+
enableOptions: config?.enableOptions
|
|
4028
4097
|
})
|
|
4029
4098
|
})
|
|
4030
4099
|
})
|
|
@@ -4072,6 +4141,7 @@ const DEFAULT_WORKSPACES_CONFIGURATION = {
|
|
|
4072
4141
|
showStatus: false
|
|
4073
4142
|
},
|
|
4074
4143
|
settings: {
|
|
4144
|
+
enabled: true,
|
|
4075
4145
|
showKernels: false
|
|
4076
4146
|
},
|
|
4077
4147
|
dataAndTools: {
|
|
@@ -4088,13 +4158,15 @@ const DEFAULT_WORKSPACES_CONFIGURATION = {
|
|
|
4088
4158
|
},
|
|
4089
4159
|
remote: {
|
|
4090
4160
|
baseUrl: process.env.REMOTE_COMPUTE_WORKSPACE_ASSETS_BASE_URL ?? '/api/workspace-assets/remote',
|
|
4161
|
+
enableOptions: false,
|
|
4091
4162
|
toolbar: {
|
|
4092
|
-
label: '
|
|
4163
|
+
label: 'Trusted Research Environment',
|
|
4093
4164
|
description: 'Running with Remote Kernels',
|
|
4094
4165
|
showStop: true,
|
|
4095
4166
|
showStatus: true
|
|
4096
4167
|
},
|
|
4097
4168
|
settings: {
|
|
4169
|
+
enabled: true,
|
|
4098
4170
|
showKernels: true
|
|
4099
4171
|
},
|
|
4100
4172
|
dataAndTools: {
|