@gen3/workspaces 0.12.47 → 0.12.48
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/components/CompactDictionaryPanel/CompactDictionaryPanel.d.ts.map +1 -1
- package/dist/dts/components/CompactDictionaryPanel/CompactDictionaryPanel.js +6 -2
- package/dist/dts/components/CompactDictionaryPanel/CompactDictionaryPanel.js.map +1 -1
- package/dist/dts/components/KernelLifecyclePanel/KernelSelector.js +2 -2
- package/dist/dts/components/KernelLifecyclePanel/KernelSelector.js.map +1 -1
- package/dist/dts/config.d.ts +0 -2
- package/dist/dts/config.d.ts.map +1 -1
- package/dist/dts/config.js +0 -34
- package/dist/dts/config.js.map +1 -1
- package/dist/dts/pages/WorkspacesCenter/data.d.ts.map +1 -1
- package/dist/dts/pages/WorkspacesCenter/data.js +42 -3
- package/dist/dts/pages/WorkspacesCenter/data.js.map +1 -1
- package/dist/dts/server/workspaceAssetsHandler.d.ts.map +1 -1
- package/dist/dts/server/workspaceAssetsHandler.js +0 -1
- package/dist/dts/server/workspaceAssetsHandler.js.map +1 -1
- package/dist/dts/workspace/WorkspaceCenter.js +2 -2
- package/dist/dts/workspace/WorkspaceCenter.js.map +1 -1
- package/dist/dts/workspace/WorkspaceLayout/SettingsPanel.d.ts +1 -1
- package/dist/dts/workspace/WorkspaceLayout/SettingsPanel.d.ts.map +1 -1
- package/dist/dts/workspace/WorkspaceLayout/SettingsPanel.js +2 -2
- package/dist/dts/workspace/WorkspaceLayout/SettingsPanel.js.map +1 -1
- package/dist/dts/workspace/WorkspaceLayout/ToolsPanel.d.ts +2 -1
- package/dist/dts/workspace/WorkspaceLayout/ToolsPanel.d.ts.map +1 -1
- package/dist/dts/workspace/WorkspaceLayout/ToolsPanel.js +2 -2
- package/dist/dts/workspace/WorkspaceLayout/ToolsPanel.js.map +1 -1
- package/dist/dts/workspace/WorkspaceLayout/WorkspaceLayout.d.ts +3 -1
- package/dist/dts/workspace/WorkspaceLayout/WorkspaceLayout.d.ts.map +1 -1
- package/dist/dts/workspace/WorkspaceLayout/WorkspaceLayout.js +2 -3
- package/dist/dts/workspace/WorkspaceLayout/WorkspaceLayout.js.map +1 -1
- package/dist/dts/workspace/tiers/types.d.ts +4 -2
- package/dist/dts/workspace/tiers/types.d.ts.map +1 -1
- package/dist/dts/workspace/types.d.ts +1 -0
- package/dist/dts/workspace/types.d.ts.map +1 -1
- package/dist/index/cjs/index.js +100 -68
- package/dist/index/cjs/index.js.map +1 -1
- package/dist/index/esm/index.js +101 -69
- package/dist/index/esm/index.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/server/cjs/server.js +0 -1
- package/dist/server/cjs/server.js.map +1 -1
- package/dist/server/esm/server.js +0 -1
- package/dist/server/esm/server.js.map +1 -1
- package/package.json +4 -4
package/dist/index/cjs/index.js
CHANGED
|
@@ -12,6 +12,7 @@ var hooks = require('@mantine/hooks');
|
|
|
12
12
|
var io5 = require('react-icons/io5');
|
|
13
13
|
var bs = require('react-icons/bs');
|
|
14
14
|
var md = require('react-icons/md');
|
|
15
|
+
var lodash = require('lodash');
|
|
15
16
|
|
|
16
17
|
const WorkspaceTierCard = ({ label, description, tier, features = [], tooltip = 'Launch workspace', buttonLabel = 'Launch', onSelectTier, baseColor })=>{
|
|
17
18
|
const handleClick = React.useCallback(()=>onSelectTier(tier), [
|
|
@@ -1850,7 +1851,7 @@ const KernelSelector = ({ handleLaunchKernel, isLaunchingLoading, onKernelSelect
|
|
|
1850
1851
|
id: "klp-kernel-spec",
|
|
1851
1852
|
value: selectedKernelName,
|
|
1852
1853
|
onChange: (value)=>setSelectedKernelName(value),
|
|
1853
|
-
disabled: disabled,
|
|
1854
|
+
disabled: disabled || isError,
|
|
1854
1855
|
data: kernelSpecs?.length === 0 ? [
|
|
1855
1856
|
{
|
|
1856
1857
|
value: 'python3',
|
|
@@ -1891,7 +1892,7 @@ const KernelSelector = ({ handleLaunchKernel, isLaunchingLoading, onKernelSelect
|
|
|
1891
1892
|
onClick: ()=>handleLaunchKernel(selectedKernelName || 'python3'),
|
|
1892
1893
|
loading: isLaunchingLoading,
|
|
1893
1894
|
fullWidth: true,
|
|
1894
|
-
disabled: disabled,
|
|
1895
|
+
disabled: disabled || isError,
|
|
1895
1896
|
children: isLaunchingLoading ? 'Working...' : 'Launch Kernel'
|
|
1896
1897
|
})
|
|
1897
1898
|
]
|
|
@@ -2202,7 +2203,7 @@ function HorizontalAccordion({ label, expanded, setExpanded, children, expandedW
|
|
|
2202
2203
|
});
|
|
2203
2204
|
}
|
|
2204
2205
|
|
|
2205
|
-
const SettingsPanel = ({ showKernels, expanded, setExpanded })=>{
|
|
2206
|
+
const SettingsPanel = ({ showKernels, expanded, setExpanded, width = 380 })=>{
|
|
2206
2207
|
const currentTier = core$1.useCoreSelector(core$1.selectWorkspaceTier);
|
|
2207
2208
|
const coreDispatch = core$1.useCoreDispatch();
|
|
2208
2209
|
const onUpgradeToRemote = React.useCallback(()=>{
|
|
@@ -2215,7 +2216,7 @@ const SettingsPanel = ({ showKernels, expanded, setExpanded })=>{
|
|
|
2215
2216
|
expanded: expanded,
|
|
2216
2217
|
setExpanded: setExpanded,
|
|
2217
2218
|
rightSide: true,
|
|
2218
|
-
expandedWidth:
|
|
2219
|
+
expandedWidth: width,
|
|
2219
2220
|
children: /*#__PURE__*/ jsxRuntime.jsxs(core.Stack, {
|
|
2220
2221
|
gap: "sm",
|
|
2221
2222
|
className: PanelStyle,
|
|
@@ -2364,41 +2365,6 @@ const WorkspaceToolbar = ({ toolbarConfiguration })=>{
|
|
|
2364
2365
|
});
|
|
2365
2366
|
};
|
|
2366
2367
|
|
|
2367
|
-
const WORKSPACE_TIER_INFORMATION = {
|
|
2368
|
-
free: {
|
|
2369
|
-
tier: 'free',
|
|
2370
|
-
toolbar: {
|
|
2371
|
-
label: 'JupyterLite',
|
|
2372
|
-
description: 'Running via JupyterLite',
|
|
2373
|
-
showStop: false,
|
|
2374
|
-
showStatus: false
|
|
2375
|
-
},
|
|
2376
|
-
settings: {
|
|
2377
|
-
showKernels: false
|
|
2378
|
-
},
|
|
2379
|
-
dataAndTools: {
|
|
2380
|
-
enabled: true,
|
|
2381
|
-
tabs: []
|
|
2382
|
-
}
|
|
2383
|
-
},
|
|
2384
|
-
remote: {
|
|
2385
|
-
tier: 'remote',
|
|
2386
|
-
toolbar: {
|
|
2387
|
-
label: 'Remote Compute Environment',
|
|
2388
|
-
description: 'Running with Remote Kernels',
|
|
2389
|
-
showStop: true,
|
|
2390
|
-
showStatus: true
|
|
2391
|
-
},
|
|
2392
|
-
settings: {
|
|
2393
|
-
showKernels: true
|
|
2394
|
-
},
|
|
2395
|
-
dataAndTools: {
|
|
2396
|
-
enabled: true,
|
|
2397
|
-
tabs: []
|
|
2398
|
-
}
|
|
2399
|
-
}
|
|
2400
|
-
};
|
|
2401
|
-
|
|
2402
2368
|
// Streaming LLM client — OpenAI, Anthropic, Gemini, Ollama
|
|
2403
2369
|
// All requests go directly from the browser to provider APIs (no backend proxy).
|
|
2404
2370
|
const DEFAULT_OLLAMA_URL = 'http://localhost:11434';
|
|
@@ -3553,6 +3519,9 @@ const FieldLinkCountBadge = ({ fieldsCount, linksCount })=>{
|
|
|
3553
3519
|
};
|
|
3554
3520
|
|
|
3555
3521
|
const CompactDictionaryPanel = ({ schemaUrl = '_dictionary/_all' })=>{
|
|
3522
|
+
const { ref, width } = hooks.useElementSize();
|
|
3523
|
+
const isNarrow = width > 0 && width < 280;
|
|
3524
|
+
const isCompact = width > 0 && width < 360;
|
|
3556
3525
|
const [nodes, setNodes] = React.useState([]);
|
|
3557
3526
|
const [search, setSearch] = React.useState('');
|
|
3558
3527
|
const [expandedId, setExpandedId] = React.useState(null);
|
|
@@ -3585,7 +3554,8 @@ const CompactDictionaryPanel = ({ schemaUrl = '_dictionary/_all' })=>{
|
|
|
3585
3554
|
});
|
|
3586
3555
|
}
|
|
3587
3556
|
return /*#__PURE__*/ jsxRuntime.jsxs("div", {
|
|
3588
|
-
|
|
3557
|
+
ref: ref,
|
|
3558
|
+
className: "relative flex h-full flex-col gap-2 overflow-hidden bg-base-lightest p-2",
|
|
3589
3559
|
children: [
|
|
3590
3560
|
/*#__PURE__*/ jsxRuntime.jsx(core.LoadingOverlay, {
|
|
3591
3561
|
visible: isFetching
|
|
@@ -3605,7 +3575,7 @@ const CompactDictionaryPanel = ({ schemaUrl = '_dictionary/_all' })=>{
|
|
|
3605
3575
|
]
|
|
3606
3576
|
}),
|
|
3607
3577
|
/*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
3608
|
-
className: "flex flex-col gap-0.5",
|
|
3578
|
+
className: "flex min-h-0 flex-1 flex-col gap-0.5 overflow-y-auto",
|
|
3609
3579
|
children: filtered.map((node)=>{
|
|
3610
3580
|
const isExpanded = expandedId === node.id;
|
|
3611
3581
|
const propCount = Object.keys(node.properties).length;
|
|
@@ -3616,27 +3586,45 @@ const CompactDictionaryPanel = ({ schemaUrl = '_dictionary/_all' })=>{
|
|
|
3616
3586
|
/*#__PURE__*/ jsxRuntime.jsxs("button", {
|
|
3617
3587
|
type: "button",
|
|
3618
3588
|
onClick: ()=>setExpandedId(isExpanded ? null : node.id),
|
|
3619
|
-
className: "flex w-full
|
|
3589
|
+
className: "flex w-full flex-col px-2.5 py-2 text-left hover:bg-base-lightest hover:bg-opacity-50",
|
|
3620
3590
|
"aria-label": `Expand description for ${node.title}`,
|
|
3621
3591
|
"aria-expanded": isExpanded,
|
|
3622
3592
|
children: [
|
|
3623
|
-
isExpanded ? /*#__PURE__*/ jsxRuntime.jsx(md.MdKeyboardArrowDown, {}) : /*#__PURE__*/ jsxRuntime.jsx(md.MdKeyboardArrowRight, {}),
|
|
3624
3593
|
/*#__PURE__*/ jsxRuntime.jsxs("div", {
|
|
3625
|
-
className: "
|
|
3594
|
+
className: "flex w-full items-center gap-2",
|
|
3626
3595
|
children: [
|
|
3627
|
-
/*#__PURE__*/ jsxRuntime.jsx(
|
|
3628
|
-
|
|
3629
|
-
|
|
3596
|
+
isExpanded ? /*#__PURE__*/ jsxRuntime.jsx(md.MdKeyboardArrowDown, {}) : /*#__PURE__*/ jsxRuntime.jsx(md.MdKeyboardArrowRight, {}),
|
|
3597
|
+
/*#__PURE__*/ jsxRuntime.jsxs("div", {
|
|
3598
|
+
className: "min-w-0 flex-1",
|
|
3599
|
+
children: [
|
|
3600
|
+
/*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
3601
|
+
className: "truncate text-xs font-semibold text-base-darkest",
|
|
3602
|
+
children: node.title
|
|
3603
|
+
}),
|
|
3604
|
+
!isNarrow && node.category && /*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
3605
|
+
className: "truncate text-sm text-base-darker",
|
|
3606
|
+
children: node.category
|
|
3607
|
+
})
|
|
3608
|
+
]
|
|
3630
3609
|
}),
|
|
3631
|
-
|
|
3632
|
-
|
|
3633
|
-
|
|
3610
|
+
!isNarrow && /*#__PURE__*/ jsxRuntime.jsx(FieldLinkCountBadge, {
|
|
3611
|
+
fieldsCount: propCount,
|
|
3612
|
+
linksCount: linkCount
|
|
3634
3613
|
})
|
|
3635
3614
|
]
|
|
3636
3615
|
}),
|
|
3637
|
-
/*#__PURE__*/ jsxRuntime.
|
|
3638
|
-
|
|
3639
|
-
|
|
3616
|
+
isNarrow && /*#__PURE__*/ jsxRuntime.jsxs("div", {
|
|
3617
|
+
className: "flex w-full items-center justify-between pl-5 pt-0.5",
|
|
3618
|
+
children: [
|
|
3619
|
+
node.category && /*#__PURE__*/ jsxRuntime.jsx("span", {
|
|
3620
|
+
className: "truncate text-xs text-base-darker",
|
|
3621
|
+
children: node.category
|
|
3622
|
+
}),
|
|
3623
|
+
/*#__PURE__*/ jsxRuntime.jsx(FieldLinkCountBadge, {
|
|
3624
|
+
fieldsCount: propCount,
|
|
3625
|
+
linksCount: linkCount
|
|
3626
|
+
})
|
|
3627
|
+
]
|
|
3640
3628
|
})
|
|
3641
3629
|
]
|
|
3642
3630
|
}),
|
|
@@ -3658,7 +3646,7 @@ const CompactDictionaryPanel = ({ schemaUrl = '_dictionary/_all' })=>{
|
|
|
3658
3646
|
/*#__PURE__*/ jsxRuntime.jsx(core.Table.Th, {
|
|
3659
3647
|
children: "Type"
|
|
3660
3648
|
}),
|
|
3661
|
-
/*#__PURE__*/ jsxRuntime.jsx(core.Table.Th, {})
|
|
3649
|
+
!isCompact && /*#__PURE__*/ jsxRuntime.jsx(core.Table.Th, {})
|
|
3662
3650
|
]
|
|
3663
3651
|
})
|
|
3664
3652
|
}),
|
|
@@ -3679,8 +3667,9 @@ const CompactDictionaryPanel = ({ schemaUrl = '_dictionary/_all' })=>{
|
|
|
3679
3667
|
children: info.type
|
|
3680
3668
|
})
|
|
3681
3669
|
}),
|
|
3682
|
-
/*#__PURE__*/ jsxRuntime.jsx(core.Table.Td, {
|
|
3670
|
+
!isCompact && /*#__PURE__*/ jsxRuntime.jsx(core.Table.Td, {
|
|
3683
3671
|
children: info.enum && /*#__PURE__*/ jsxRuntime.jsx(core.Scroller, {
|
|
3672
|
+
draggable: true,
|
|
3684
3673
|
children: /*#__PURE__*/ jsxRuntime.jsx(core.Group, {
|
|
3685
3674
|
gap: "xs",
|
|
3686
3675
|
wrap: "nowrap",
|
|
@@ -3692,6 +3681,7 @@ const CompactDictionaryPanel = ({ schemaUrl = '_dictionary/_all' })=>{
|
|
|
3692
3681
|
label: value,
|
|
3693
3682
|
className: "font-bold text-secondary-contrast",
|
|
3694
3683
|
color: "accent-light",
|
|
3684
|
+
noTruncate: true,
|
|
3695
3685
|
children: value
|
|
3696
3686
|
})
|
|
3697
3687
|
}, value))
|
|
@@ -3807,17 +3797,17 @@ const DataToolsPanel = ({ schemaUrl = DEFAULT_DICTIONARY_SCHEMA_URL, kbUrl })=>{
|
|
|
3807
3797
|
});
|
|
3808
3798
|
};
|
|
3809
3799
|
|
|
3810
|
-
const ToolsPanel = ({ expanded = true, setExpanded = ()=>{} })=>{
|
|
3800
|
+
const ToolsPanel = ({ expanded = true, setExpanded = ()=>{}, width = 310 })=>{
|
|
3811
3801
|
return /*#__PURE__*/ jsxRuntime.jsx(HorizontalAccordion, {
|
|
3812
3802
|
label: "Data & Tools",
|
|
3813
3803
|
expanded: expanded,
|
|
3814
3804
|
setExpanded: setExpanded,
|
|
3815
|
-
expandedWidth:
|
|
3805
|
+
expandedWidth: width,
|
|
3816
3806
|
children: /*#__PURE__*/ jsxRuntime.jsx(DataToolsPanel, {})
|
|
3817
3807
|
});
|
|
3818
3808
|
};
|
|
3819
3809
|
|
|
3820
|
-
const WorkspaceLayout = ({ children })=>{
|
|
3810
|
+
const WorkspaceLayout = ({ children, tierConfiguration })=>{
|
|
3821
3811
|
const workspaceTier = core$1.useCoreSelector((state)=>core$1.selectWorkspaceTier(state));
|
|
3822
3812
|
const [toolsExpanded, { set: setToolsExpanded }] = hooks.useDisclosure(true);
|
|
3823
3813
|
const [settingsExpanded, { set: setSettingsExpanded }] = hooks.useDisclosure(true);
|
|
@@ -3827,20 +3817,22 @@ const WorkspaceLayout = ({ children })=>{
|
|
|
3827
3817
|
className: "flex flex-col w-full grow",
|
|
3828
3818
|
children: [
|
|
3829
3819
|
/*#__PURE__*/ jsxRuntime.jsx(WorkspaceToolbar, {
|
|
3830
|
-
toolbarConfiguration:
|
|
3820
|
+
toolbarConfiguration: tierConfiguration.toolbar
|
|
3831
3821
|
}),
|
|
3832
3822
|
/*#__PURE__*/ jsxRuntime.jsxs("div", {
|
|
3833
3823
|
className: "flex w-full grow",
|
|
3834
3824
|
children: [
|
|
3835
|
-
|
|
3825
|
+
tierConfiguration.dataAndTools.enabled && /*#__PURE__*/ jsxRuntime.jsx(ToolsPanel, {
|
|
3836
3826
|
expanded: toolsExpanded && !isFullScreen,
|
|
3837
|
-
setExpanded: setToolsExpanded
|
|
3827
|
+
setExpanded: setToolsExpanded,
|
|
3828
|
+
width: tierConfiguration.dataAndTools.width
|
|
3838
3829
|
}),
|
|
3839
3830
|
children,
|
|
3840
3831
|
/*#__PURE__*/ jsxRuntime.jsx(SettingsPanel, {
|
|
3841
|
-
showKernels:
|
|
3832
|
+
showKernels: tierConfiguration.settings.showKernels,
|
|
3842
3833
|
expanded: settingsExpanded && !isFullScreen,
|
|
3843
|
-
setExpanded: setSettingsExpanded
|
|
3834
|
+
setExpanded: setSettingsExpanded,
|
|
3835
|
+
width: tierConfiguration.settings.width
|
|
3844
3836
|
})
|
|
3845
3837
|
]
|
|
3846
3838
|
})
|
|
@@ -3894,6 +3886,7 @@ const WorkspaceCenter = ({ workspaces, landingPage, tierConfiguration })=>{
|
|
|
3894
3886
|
}
|
|
3895
3887
|
if (workspaceTier === 'free') {
|
|
3896
3888
|
return /*#__PURE__*/ jsxRuntime.jsx(WorkspaceLayout, {
|
|
3889
|
+
tierConfiguration: tierConfiguration.free,
|
|
3897
3890
|
children: /*#__PURE__*/ jsxRuntime.jsx(FreeWorkspace, {})
|
|
3898
3891
|
});
|
|
3899
3892
|
}
|
|
@@ -3902,6 +3895,7 @@ const WorkspaceCenter = ({ workspaces, landingPage, tierConfiguration })=>{
|
|
|
3902
3895
|
children: /*#__PURE__*/ jsxRuntime.jsx(MicroContainerReduxProvider, {
|
|
3903
3896
|
enabled: true,
|
|
3904
3897
|
children: /*#__PURE__*/ jsxRuntime.jsx(WorkspaceLayout, {
|
|
3898
|
+
tierConfiguration: tierConfiguration.remote,
|
|
3905
3899
|
children: /*#__PURE__*/ jsxRuntime.jsx(RemoteComputeWorkspace, {
|
|
3906
3900
|
tenantId: authContext?.tenantId || 'default',
|
|
3907
3901
|
workspaceId: authContext?.workspaceId || 'workspace-default',
|
|
@@ -3945,22 +3939,60 @@ const DEFAULT_WORKSPACES_CONFIGURATION = {
|
|
|
3945
3939
|
workspaces: {},
|
|
3946
3940
|
tierConfiguration: {
|
|
3947
3941
|
free: {
|
|
3948
|
-
baseUrl: process.env.FREE_WORKSPACE_ASSETS_BASE_URL ?? '/api/workspace-assets/free'
|
|
3942
|
+
baseUrl: process.env.FREE_WORKSPACE_ASSETS_BASE_URL ?? '/api/workspace-assets/free',
|
|
3943
|
+
toolbar: {
|
|
3944
|
+
label: 'JupyterLite',
|
|
3945
|
+
description: 'Running via JupyterLite',
|
|
3946
|
+
showStop: false,
|
|
3947
|
+
showStatus: false
|
|
3948
|
+
},
|
|
3949
|
+
settings: {
|
|
3950
|
+
showKernels: false
|
|
3951
|
+
},
|
|
3952
|
+
dataAndTools: {
|
|
3953
|
+
enabled: true,
|
|
3954
|
+
tabs: [
|
|
3955
|
+
{
|
|
3956
|
+
label: 'Dictionary',
|
|
3957
|
+
description: 'Data Dictionary',
|
|
3958
|
+
app: 'dictionary'
|
|
3959
|
+
}
|
|
3960
|
+
],
|
|
3961
|
+
width: 300
|
|
3962
|
+
}
|
|
3949
3963
|
},
|
|
3950
3964
|
remote: {
|
|
3951
|
-
baseUrl: process.env.REMOTE_COMPUTE_WORKSPACE_ASSETS_BASE_URL ?? '/api/workspace-assets/remote'
|
|
3965
|
+
baseUrl: process.env.REMOTE_COMPUTE_WORKSPACE_ASSETS_BASE_URL ?? '/api/workspace-assets/remote',
|
|
3966
|
+
toolbar: {
|
|
3967
|
+
label: 'Remote Compute Environment',
|
|
3968
|
+
description: 'Running with Remote Kernels',
|
|
3969
|
+
showStop: true,
|
|
3970
|
+
showStatus: true
|
|
3971
|
+
},
|
|
3972
|
+
settings: {
|
|
3973
|
+
showKernels: true
|
|
3974
|
+
},
|
|
3975
|
+
dataAndTools: {
|
|
3976
|
+
enabled: true,
|
|
3977
|
+
tabs: [
|
|
3978
|
+
{
|
|
3979
|
+
label: 'Dictionary',
|
|
3980
|
+
description: 'Data Dictionary',
|
|
3981
|
+
app: 'dictionary'
|
|
3982
|
+
}
|
|
3983
|
+
]
|
|
3984
|
+
}
|
|
3952
3985
|
}
|
|
3953
3986
|
}
|
|
3954
3987
|
};
|
|
3955
3988
|
const WorkspacesCenterPageGetServerSideProps = async ()=>{
|
|
3956
3989
|
try {
|
|
3957
3990
|
const workspacesCenterConfiguration = await frontend.ContentSource.getContentDatabase().get(`${core$1.GEN3_COMMONS_NAME}/workspaces.json`);
|
|
3991
|
+
const mergedConfiguration = lodash.merge({}, DEFAULT_WORKSPACES_CONFIGURATION, workspacesCenterConfiguration);
|
|
3958
3992
|
return {
|
|
3959
3993
|
props: {
|
|
3960
3994
|
...await frontend.getNavPageLayoutPropsFromConfig(),
|
|
3961
|
-
configuration:
|
|
3962
|
-
...workspacesCenterConfiguration
|
|
3963
|
-
}
|
|
3995
|
+
configuration: mergedConfiguration
|
|
3964
3996
|
}
|
|
3965
3997
|
};
|
|
3966
3998
|
} catch (error) {
|