@datalayer/core 1.0.3 → 1.0.11
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/lib/api/constants.d.ts +3 -0
- package/lib/api/constants.js +3 -0
- package/lib/api/runtimes/checkpoints.d.ts +122 -0
- package/lib/api/runtimes/checkpoints.js +118 -0
- package/lib/api/runtimes/index.d.ts +1 -0
- package/lib/api/runtimes/index.js +1 -0
- package/lib/api/runtimes/runtimes.d.ts +84 -0
- package/lib/api/runtimes/runtimes.js +50 -0
- package/lib/components/auth/Login.js +1 -1
- package/lib/components/display/BusyDots.d.ts +9 -0
- package/lib/components/display/BusyDots.js +31 -0
- package/lib/components/display/LiveRelativeTime.d.ts +10 -0
- package/lib/components/display/LiveRelativeTime.js +21 -0
- package/lib/components/display/index.d.ts +2 -0
- package/lib/components/display/index.js +2 -0
- package/lib/components/flashes/FlashSurveys.js +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.js +1 -0
- package/lib/components/navbar/SubdomainNavBar.js +1 -1
- package/lib/components/progress/ConsumptionBar.js +6 -7
- package/lib/components/progress/CreditsIndicator.js +2 -2
- package/lib/components/progress/consumption.d.ts +12 -0
- package/lib/components/progress/consumption.js +31 -0
- package/lib/components/progress/index.d.ts +1 -0
- package/lib/components/progress/index.js +1 -0
- package/lib/components/sparklines/Sparklines.d.ts +16 -0
- package/lib/components/sparklines/Sparklines.js +65 -0
- package/lib/components/sparklines/SparklinesLine.d.ts +8 -0
- package/lib/components/sparklines/SparklinesLine.js +37 -0
- package/lib/components/sparklines/dataProcessing.d.ts +25 -0
- package/lib/components/sparklines/dataProcessing.js +35 -0
- package/lib/components/sparklines/index.d.ts +4 -0
- package/lib/components/sparklines/index.js +7 -0
- package/lib/components/sparklines/types.d.ts +36 -0
- package/lib/components/sparklines/types.js +5 -0
- package/lib/components/storage/ContentsBrowser.js +17 -1
- package/lib/components/subnav/SubNav.js +1 -1
- package/lib/hooks/useCache.d.ts +5 -67
- package/lib/hooks/useCache.js +15 -213
- package/lib/hooks/useProjects.d.ts +1 -1
- package/lib/models/ItemDTO.js +1 -1
- package/lib/models/RolesPlatform.js +2 -2
- package/lib/models/User.d.ts +2 -0
- package/lib/models/User.js +4 -1
- package/lib/otel/client/OtelClient.d.ts +93 -0
- package/lib/otel/client/OtelClient.js +232 -0
- package/lib/otel/client/index.d.ts +2 -0
- package/lib/otel/client/index.js +5 -0
- package/lib/otel/{hooks.d.ts → hooks/index.d.ts} +15 -1
- package/lib/otel/{hooks.js → hooks/index.js} +58 -16
- package/lib/otel/index.d.ts +29 -20
- package/lib/otel/index.js +19 -15
- package/lib/otel/{OtelLive.d.ts → views/OtelLive.d.ts} +1 -1
- package/lib/otel/{OtelLive.js → views/OtelLive.js} +22 -4
- package/lib/otel/{OtelLogsList.d.ts → views/OtelLogsList.d.ts} +1 -1
- package/lib/otel/{OtelLogsList.js → views/OtelLogsList.js} +1 -1
- package/lib/otel/{OtelMetricsChart.d.ts → views/OtelMetricsChart.d.ts} +1 -1
- package/lib/otel/{OtelMetricsList.d.ts → views/OtelMetricsList.d.ts} +1 -1
- package/lib/otel/{OtelMetricsList.js → views/OtelMetricsList.js} +1 -1
- package/lib/otel/{OtelSearchBar.d.ts → views/OtelSearchBar.d.ts} +1 -1
- package/lib/otel/{OtelSpanDetail.d.ts → views/OtelSpanDetail.d.ts} +1 -1
- package/lib/otel/{OtelSpanDetail.js → views/OtelSpanDetail.js} +1 -1
- package/lib/otel/{OtelSpanTree.d.ts → views/OtelSpanTree.d.ts} +1 -1
- package/lib/otel/{OtelSpanTree.js → views/OtelSpanTree.js} +1 -1
- package/lib/otel/{OtelSqlView.js → views/OtelSqlView.js} +1 -1
- package/lib/otel/{OtelSystemView.js → views/OtelSystemView.js} +1 -1
- package/lib/otel/{OtelTimeline.d.ts → views/OtelTimeline.d.ts} +1 -1
- package/lib/otel/{OtelTimeline.js → views/OtelTimeline.js} +1 -1
- package/lib/otel/{OtelTimelineRangeSlider.d.ts → views/OtelTimelineRangeSlider.d.ts} +1 -1
- package/lib/otel/{OtelTracesList.d.ts → views/OtelTracesList.d.ts} +1 -1
- package/lib/otel/{OtelTracesList.js → views/OtelTracesList.js} +1 -1
- package/lib/otel/views/index.d.ts +20 -0
- package/lib/otel/views/index.js +21 -0
- package/lib/state/substates/CoreState.js +6 -6
- package/lib/utils/Date.d.ts +6 -0
- package/lib/utils/Date.js +37 -0
- package/lib/views/iam/SignInSimple.d.ts +5 -0
- package/lib/views/iam/SignInSimple.js +39 -6
- package/lib/views/iam-tokens/IAMTokenEdit.d.ts +5 -1
- package/lib/views/iam-tokens/IAMTokenEdit.js +3 -3
- package/lib/views/iam-tokens/IAMTokenNew.js +2 -2
- package/lib/views/iam-tokens/IAMTokens.d.ts +4 -2
- package/lib/views/iam-tokens/IAMTokens.js +4 -4
- package/lib/views/index.d.ts +1 -0
- package/lib/views/index.js +1 -0
- package/lib/views/otel/DashboardView.d.ts +16 -0
- package/lib/views/otel/DashboardView.js +4 -0
- package/lib/views/otel/LogsView.d.ts +12 -0
- package/lib/views/otel/LogsView.js +4 -0
- package/lib/views/otel/MetricsView.d.ts +12 -0
- package/lib/views/otel/MetricsView.js +4 -0
- package/lib/views/otel/OtelHeader.d.ts +33 -0
- package/lib/views/otel/OtelHeader.js +105 -0
- package/lib/views/otel/SqlView.d.ts +9 -0
- package/lib/views/otel/SqlView.js +4 -0
- package/lib/views/otel/SystemView.d.ts +9 -0
- package/lib/views/otel/SystemView.js +4 -0
- package/lib/views/otel/TracesView.d.ts +12 -0
- package/lib/views/otel/TracesView.js +4 -0
- package/lib/views/otel/index.d.ts +16 -0
- package/lib/views/otel/index.js +12 -0
- package/lib/views/otel/simpleAuthStore.d.ts +21 -0
- package/lib/views/otel/simpleAuthStore.js +22 -0
- package/lib/views/profile/UserBadge.d.ts +2 -0
- package/lib/views/profile/UserBadge.js +3 -3
- package/package.json +1 -26
- /package/lib/otel/{OtelMetricsChart.js → views/OtelMetricsChart.js} +0 -0
- /package/lib/otel/{OtelSearchBar.js → views/OtelSearchBar.js} +0 -0
- /package/lib/otel/{OtelSqlView.d.ts → views/OtelSqlView.d.ts} +0 -0
- /package/lib/otel/{OtelSystemView.d.ts → views/OtelSystemView.d.ts} +0 -0
- /package/lib/otel/{OtelTimelineRangeSlider.js → views/OtelTimelineRangeSlider.js} +0 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Compute the total consumption duration in seconds.
|
|
7
|
+
* When `expiredAt` is undefined, duration is elapsed time since `startedAt`.
|
|
8
|
+
*/
|
|
9
|
+
export function getConsumptionDuration(startedAt, expiredAt, nowSeconds = Date.now() / 1000) {
|
|
10
|
+
if (expiredAt !== undefined) {
|
|
11
|
+
return Math.max(0, expiredAt - startedAt);
|
|
12
|
+
}
|
|
13
|
+
return Math.max(0, nowSeconds - startedAt);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Compute credit consumption progress (0-100).
|
|
17
|
+
* Mirrors ConsumptionBar logic:
|
|
18
|
+
* - if no `expiredAt`, progress is 100
|
|
19
|
+
* - otherwise progress is elapsed / duration clamped to [0, 100]
|
|
20
|
+
*/
|
|
21
|
+
export function getConsumptionProgress(startedAt, expiredAt, nowSeconds = Date.now() / 1000) {
|
|
22
|
+
if (expiredAt === undefined) {
|
|
23
|
+
return 100;
|
|
24
|
+
}
|
|
25
|
+
const duration = getConsumptionDuration(startedAt, expiredAt, nowSeconds);
|
|
26
|
+
if (duration <= 0) {
|
|
27
|
+
return 100;
|
|
28
|
+
}
|
|
29
|
+
const progress = ((nowSeconds - startedAt) / duration) * 100;
|
|
30
|
+
return Math.min(Math.max(0, progress), 100);
|
|
31
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { SparklinesProps } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Sparklines Component
|
|
5
|
+
*
|
|
6
|
+
* A lightweight, composable sparkline chart component.
|
|
7
|
+
* Renders an SVG container and processes data into points for child components.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* <Sparklines data={[1, 2, 3, 4, 5]} width={100} height={30}>
|
|
12
|
+
* <SparklinesLine color="#0969da" />
|
|
13
|
+
* </Sparklines>
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare const Sparklines: React.FC<SparklinesProps>;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
4
|
+
* Distributed under the terms of the Modified BSD License.
|
|
5
|
+
*/
|
|
6
|
+
import React, { useMemo } from 'react';
|
|
7
|
+
import { dataToPoints } from './dataProcessing';
|
|
8
|
+
/**
|
|
9
|
+
* Sparklines Component
|
|
10
|
+
*
|
|
11
|
+
* A lightweight, composable sparkline chart component.
|
|
12
|
+
* Renders an SVG container and processes data into points for child components.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* <Sparklines data={[1, 2, 3, 4, 5]} width={100} height={30}>
|
|
17
|
+
* <SparklinesLine color="#0969da" />
|
|
18
|
+
* </Sparklines>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export const Sparklines = ({ data = [], width = 240, height = 60, svgWidth, svgHeight, preserveAspectRatio = 'none', margin = 2, style, min, max, limit, children, }) => {
|
|
22
|
+
// Convert data to points
|
|
23
|
+
const points = useMemo(() => {
|
|
24
|
+
if (data.length === 0) {
|
|
25
|
+
return [];
|
|
26
|
+
}
|
|
27
|
+
return dataToPoints({
|
|
28
|
+
data,
|
|
29
|
+
limit,
|
|
30
|
+
width,
|
|
31
|
+
height,
|
|
32
|
+
margin,
|
|
33
|
+
max,
|
|
34
|
+
min,
|
|
35
|
+
});
|
|
36
|
+
}, [data, limit, width, height, margin, max, min]);
|
|
37
|
+
if (data.length === 0) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
// Build SVG props
|
|
41
|
+
const svgProps = {
|
|
42
|
+
style,
|
|
43
|
+
viewBox: `0 0 ${width} ${height}`,
|
|
44
|
+
preserveAspectRatio,
|
|
45
|
+
};
|
|
46
|
+
if (svgWidth && svgWidth > 0) {
|
|
47
|
+
svgProps.width = svgWidth;
|
|
48
|
+
}
|
|
49
|
+
if (svgHeight && svgHeight > 0) {
|
|
50
|
+
svgProps.height = svgHeight;
|
|
51
|
+
}
|
|
52
|
+
return (_jsx("svg", { ...svgProps, children: React.Children.map(children, child => {
|
|
53
|
+
if (React.isValidElement(child)) {
|
|
54
|
+
return React.cloneElement(child, {
|
|
55
|
+
data,
|
|
56
|
+
points,
|
|
57
|
+
width,
|
|
58
|
+
height,
|
|
59
|
+
margin,
|
|
60
|
+
...child.props,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return child;
|
|
64
|
+
}) }));
|
|
65
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Sparklines Line Component
|
|
4
|
+
*
|
|
5
|
+
* Renders a line chart within a Sparklines container.
|
|
6
|
+
*/
|
|
7
|
+
export const SparklinesLine = ({ points = [], height = 60, margin = 2, color = '#0969da', style = {}, }) => {
|
|
8
|
+
if (!points || points.length === 0) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
// Convert points to polyline format
|
|
12
|
+
const linePoints = points.map(p => `${p.x},${p.y}`).join(' ');
|
|
13
|
+
// Create fill area by closing the path
|
|
14
|
+
const closePolyPoints = [
|
|
15
|
+
{ x: points[points.length - 1].x, y: height - margin },
|
|
16
|
+
{ x: margin, y: height - margin },
|
|
17
|
+
{ x: margin, y: points[0].y },
|
|
18
|
+
];
|
|
19
|
+
const fillPoints = points
|
|
20
|
+
.concat(closePolyPoints)
|
|
21
|
+
.map(p => `${p.x},${p.y}`)
|
|
22
|
+
.join(' ');
|
|
23
|
+
const lineStyle = {
|
|
24
|
+
stroke: color || style.stroke || 'slategray',
|
|
25
|
+
strokeWidth: style.strokeWidth || '1.5',
|
|
26
|
+
strokeLinejoin: 'round',
|
|
27
|
+
strokeLinecap: 'round',
|
|
28
|
+
fill: 'none',
|
|
29
|
+
};
|
|
30
|
+
const fillStyle = {
|
|
31
|
+
stroke: 'none',
|
|
32
|
+
strokeWidth: '0',
|
|
33
|
+
fillOpacity: style.fillOpacity || '0.1',
|
|
34
|
+
fill: style.fill || color || 'slategray',
|
|
35
|
+
};
|
|
36
|
+
return (_jsxs("g", { children: [_jsx("polyline", { points: fillPoints, style: fillStyle }), _jsx("polyline", { points: linePoints, style: lineStyle })] }));
|
|
37
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get minimum value from array
|
|
3
|
+
*/
|
|
4
|
+
export declare const min: (data: number[]) => number;
|
|
5
|
+
/**
|
|
6
|
+
* Get maximum value from array
|
|
7
|
+
*/
|
|
8
|
+
export declare const max: (data: number[]) => number;
|
|
9
|
+
/**
|
|
10
|
+
* Convert data array to SVG points
|
|
11
|
+
*/
|
|
12
|
+
export interface DataToPointsOptions {
|
|
13
|
+
data: number[];
|
|
14
|
+
limit?: number;
|
|
15
|
+
width?: number;
|
|
16
|
+
height?: number;
|
|
17
|
+
margin?: number;
|
|
18
|
+
max?: number;
|
|
19
|
+
min?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface Point {
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
}
|
|
25
|
+
export declare const dataToPoints: ({ data, limit, width, height, margin, max: maxVal, min: minVal, }: DataToPointsOptions) => Point[];
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Get minimum value from array
|
|
7
|
+
*/
|
|
8
|
+
export const min = (data) => {
|
|
9
|
+
return Math.min(...data);
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Get maximum value from array
|
|
13
|
+
*/
|
|
14
|
+
export const max = (data) => {
|
|
15
|
+
return Math.max(...data);
|
|
16
|
+
};
|
|
17
|
+
export const dataToPoints = ({ data, limit, width = 1, height = 1, margin = 0, max: maxVal, min: minVal, }) => {
|
|
18
|
+
let processedData = [...data];
|
|
19
|
+
const len = processedData.length;
|
|
20
|
+
// Limit data if specified
|
|
21
|
+
if (limit && limit < len) {
|
|
22
|
+
processedData = processedData.slice(len - limit);
|
|
23
|
+
}
|
|
24
|
+
// Calculate min/max if not provided
|
|
25
|
+
const dataMax = maxVal ?? max(processedData);
|
|
26
|
+
const dataMin = minVal ?? min(processedData);
|
|
27
|
+
// Calculate scaling factors
|
|
28
|
+
const vfactor = (height - margin * 2) / (dataMax - dataMin || 2);
|
|
29
|
+
const hfactor = (width - margin * 2) / ((limit || len) - (len > 1 ? 1 : 0));
|
|
30
|
+
// Map data to points
|
|
31
|
+
return processedData.map((d, i) => ({
|
|
32
|
+
x: i * hfactor + margin,
|
|
33
|
+
y: (dataMax === dataMin ? 1 : dataMax - d) * vfactor + margin,
|
|
34
|
+
}));
|
|
35
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
export { Sparklines } from './Sparklines';
|
|
6
|
+
export { SparklinesLine } from './SparklinesLine';
|
|
7
|
+
export { dataToPoints, min, max } from './dataProcessing';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Point interface for sparkline coordinates
|
|
3
|
+
*/
|
|
4
|
+
export interface Point {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Sparklines component props
|
|
10
|
+
*/
|
|
11
|
+
export interface SparklinesProps {
|
|
12
|
+
data: number[];
|
|
13
|
+
width?: number;
|
|
14
|
+
height?: number;
|
|
15
|
+
svgWidth?: number;
|
|
16
|
+
svgHeight?: number;
|
|
17
|
+
preserveAspectRatio?: string;
|
|
18
|
+
margin?: number;
|
|
19
|
+
style?: React.CSSProperties;
|
|
20
|
+
min?: number;
|
|
21
|
+
max?: number;
|
|
22
|
+
limit?: number;
|
|
23
|
+
children?: React.ReactNode;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Sparklines Line component props
|
|
27
|
+
*/
|
|
28
|
+
export interface SparklinesLineProps {
|
|
29
|
+
data?: number[];
|
|
30
|
+
points?: Point[];
|
|
31
|
+
width?: number;
|
|
32
|
+
height?: number;
|
|
33
|
+
margin?: number;
|
|
34
|
+
color?: string;
|
|
35
|
+
style?: React.CSSProperties;
|
|
36
|
+
}
|
|
@@ -209,7 +209,23 @@ export function ContentsBrowser(props) {
|
|
|
209
209
|
const onSelect = useCallback((item, refresh) => {
|
|
210
210
|
setSelectedItem(item.path === selectedItem?.path ? null : { ...item, refresh });
|
|
211
211
|
}, [selectedItem]);
|
|
212
|
-
return (_jsxs(Box, { sx: {
|
|
212
|
+
return (_jsxs(Box, { sx: {
|
|
213
|
+
display: 'grid',
|
|
214
|
+
gridTemplateAreas: `"header" "content"`,
|
|
215
|
+
overflow: 'hidden',
|
|
216
|
+
}, children: [_jsxs(Box, { sx: {
|
|
217
|
+
gridArea: 'header',
|
|
218
|
+
display: 'flex',
|
|
219
|
+
alignItems: 'center',
|
|
220
|
+
minWidth: 0,
|
|
221
|
+
overflow: 'hidden',
|
|
222
|
+
}, children: [_jsx(Box, { sx: { flex: '1 1 auto', minWidth: 0, overflow: 'hidden' }, children: title }), _jsxs(Box, { sx: {
|
|
223
|
+
display: 'flex',
|
|
224
|
+
flexDirection: 'row',
|
|
225
|
+
alignItems: 'center',
|
|
226
|
+
flexWrap: 'nowrap',
|
|
227
|
+
flexShrink: 0,
|
|
228
|
+
}, children: [_jsx(IconButton, { variant: "invisible", "aria-label": 'Refresh contents browser.', title: 'Refresh contents browser.', icon: CounterClockWiseIcon, onClick: refresh }), _jsx(UploadIconButton, { label: 'Upload a file', multiple: true, upload: upload })] })] }), isLoading ? (_jsx(Box, { sx: {
|
|
213
229
|
gridArea: 'content',
|
|
214
230
|
display: 'flex',
|
|
215
231
|
alignItems: 'center',
|
|
@@ -152,7 +152,7 @@ const _SubNavRoot = memo(({ id, children, className, 'data-testid': testId, full
|
|
|
152
152
|
activeLink.props.children?.[1];
|
|
153
153
|
return (_jsx("div", { className: clsx(styles['SubNav__container'], hasAnchoredNav && styles['SubNav__container--with-anchor-nav']), children: _jsx(SubNavProvider, { children: _jsx("nav", { ref: navRef, id: id, className: clsx(styles.SubNav, isOpenAtNarrow && styles['SubNav--open'], hasShadow && styles['SubNav--has-shadow'], fullWidth && styles['SubNav--full-width'], className), "data-testid": testId || testIds.root, children: _jsxs("div", { ref: rootRef, className: styles['SubNav--header-container-outer'], children: [_jsxs("div", { className: styles['SubNav__header-container'], children: [HeadingChild && (_jsx("div", { className: styles['SubNav__heading-container'], children: HeadingChild })), !isLarge && (_jsxs("button", { className: clsx(styles['SubNav__overlay-toggle'], isOpenAtNarrow && styles['SubNav__overlay-toggle--open']), "data-testid": testIds.button, onClick: isOpenAtNarrow ? closeMenuCallback : handleMenuToggle, "aria-expanded": isOpenAtNarrow ? 'true' : 'false', "aria-controls": idForLinkContainer, children: [activeLinklabel && (_jsxs("span", { className: "visually-hidden", children: ["Navigation menu. Current page:", ' '] })), _jsxs("span", { className: clsx(styles['SubNav__overlay-toggle-content'], !activeLinklabel &&
|
|
154
154
|
styles['SubNav__overlay-toggle-content--end']), children: [activeLinklabel && (_jsx(Text, { as: "span", size: "200", children: activeLinklabel })), isOpenAtNarrow ? (_jsx(ChevronUpIcon, { className: styles['SubNav__overlay-toggle-icon'], size: 24 })) : (_jsx(ChevronDownIcon, { className: styles['SubNav__overlay-toggle-icon'], size: 24 }))] })] })), MaybeSubNav && MaybeSubNav] }), LinkChildren.length && (_jsxs("ul", { ref: overlayRef, id: idForLinkContainer, className: clsx(styles['SubNav__links-overlay'], isOpenAtNarrow && styles['SubNav__links-overlay--open']), "data-testid": testIds.overlay, children: [ActionChild ? (_jsx("li", { className: styles['SubNav__action-container'], children: ActionChild })) : (_jsx("li", { className: styles['SubNav__action-container'] })), LinkChildren, _jsx(ButtonGroup, { buttonSize: "small", children: _jsx(Button, { href: "#", onClick: e => {
|
|
155
|
-
window.location.assign('https://datalayer.
|
|
155
|
+
window.location.assign('https://datalayer.ai');
|
|
156
156
|
}, hasArrow: true, variant: "subtle", children: "Login" }) })] }))] }) }) }) }));
|
|
157
157
|
});
|
|
158
158
|
const SubNavHeading = ({ href, children, className, 'data-testid': testID, ...props }) => {
|
package/lib/hooks/useCache.d.ts
CHANGED
|
@@ -45,18 +45,6 @@ export type ISearchOpts = {
|
|
|
45
45
|
max: number;
|
|
46
46
|
public: boolean;
|
|
47
47
|
};
|
|
48
|
-
/** Request payload for creating a new agent runtime. */
|
|
49
|
-
export type CreateAgentRuntimeRequest = {
|
|
50
|
-
environmentName?: string;
|
|
51
|
-
givenName?: string;
|
|
52
|
-
creditsLimit?: number;
|
|
53
|
-
type?: string;
|
|
54
|
-
/** 'none', 'notebook', or 'document' */
|
|
55
|
-
editorVariant?: string;
|
|
56
|
-
enableCodemode?: boolean;
|
|
57
|
-
/** ID of the agent spec used to create this runtime */
|
|
58
|
-
agentSpecId?: string;
|
|
59
|
-
};
|
|
60
48
|
/**
|
|
61
49
|
* Centralized query key factories for all entities
|
|
62
50
|
* Following TanStack Query best practices for key structure
|
|
@@ -224,12 +212,6 @@ export declare const queryKeys: {
|
|
|
224
212
|
readonly bySpace: (spaceId: string) => readonly ["items", "space", string];
|
|
225
213
|
readonly search: (opts: ISearchOpts) => readonly ["items", "search", ISearchOpts];
|
|
226
214
|
};
|
|
227
|
-
readonly agentRuntimes: {
|
|
228
|
-
readonly all: () => readonly ["agentRuntimes"];
|
|
229
|
-
readonly lists: () => readonly ["agentRuntimes", "list"];
|
|
230
|
-
readonly details: () => readonly ["agentRuntimes", "detail"];
|
|
231
|
-
readonly detail: (podName: string) => readonly ["agentRuntimes", "detail", string];
|
|
232
|
-
};
|
|
233
215
|
readonly layout: {
|
|
234
216
|
readonly byAccount: (accountHandle: string, spaceHandle?: string) => readonly ["layout", string, string] | readonly ["layout", string];
|
|
235
217
|
};
|
|
@@ -310,6 +292,11 @@ export declare const useCache: ({ loginRoute }?: CacheProps) => {
|
|
|
310
292
|
password: string;
|
|
311
293
|
passwordConfirm: string;
|
|
312
294
|
}, unknown>;
|
|
295
|
+
useCreateUrlForPasswordChange: () => import("@tanstack/react-query").UseMutationResult<any, Error, {
|
|
296
|
+
handle: string;
|
|
297
|
+
password: string;
|
|
298
|
+
passwordConfirm: string;
|
|
299
|
+
}, unknown>;
|
|
313
300
|
useConfirmPasswordWithToken: () => import("@tanstack/react-query").UseMutationResult<any, Error, {
|
|
314
301
|
userHandle: string;
|
|
315
302
|
token: string;
|
|
@@ -492,49 +479,6 @@ export declare const useCache: ({ loginRoute }?: CacheProps) => {
|
|
|
492
479
|
spaceHandle?: string;
|
|
493
480
|
}, unknown>;
|
|
494
481
|
useExportSpace: () => import("@tanstack/react-query").UseMutationResult<any, Error, string, unknown>;
|
|
495
|
-
useAgentRuntime: (podName: string | undefined) => import("@tanstack/react-query").UseQueryResult<{
|
|
496
|
-
status: "running" | "paused" | "starting" | "terminated" | "archived";
|
|
497
|
-
name: string;
|
|
498
|
-
id: string;
|
|
499
|
-
url: string | undefined;
|
|
500
|
-
messageCount: number;
|
|
501
|
-
agent_spec_id: string | undefined;
|
|
502
|
-
pod_name: string;
|
|
503
|
-
environment_name: string;
|
|
504
|
-
environment_title?: string;
|
|
505
|
-
given_name: string;
|
|
506
|
-
phase?: string;
|
|
507
|
-
type: string;
|
|
508
|
-
started_at?: string;
|
|
509
|
-
expired_at?: string;
|
|
510
|
-
burning_rate?: number;
|
|
511
|
-
ingress?: string;
|
|
512
|
-
token?: string;
|
|
513
|
-
agentSpec?: any;
|
|
514
|
-
}, Error>;
|
|
515
|
-
useAgentRuntimes: () => import("@tanstack/react-query").UseQueryResult<{
|
|
516
|
-
status: "running" | "paused" | "starting" | "terminated" | "archived";
|
|
517
|
-
name: string;
|
|
518
|
-
id: string;
|
|
519
|
-
url: string | undefined;
|
|
520
|
-
messageCount: number;
|
|
521
|
-
agent_spec_id: string | undefined;
|
|
522
|
-
pod_name: string;
|
|
523
|
-
environment_name: string;
|
|
524
|
-
environment_title?: string;
|
|
525
|
-
given_name: string;
|
|
526
|
-
phase?: string;
|
|
527
|
-
type: string;
|
|
528
|
-
started_at?: string;
|
|
529
|
-
expired_at?: string;
|
|
530
|
-
burning_rate?: number;
|
|
531
|
-
ingress?: string;
|
|
532
|
-
token?: string;
|
|
533
|
-
agentSpec?: any;
|
|
534
|
-
}[], Error>;
|
|
535
|
-
useCreateAgentRuntime: () => import("@tanstack/react-query").UseMutationResult<any, Error, CreateAgentRuntimeRequest, unknown>;
|
|
536
|
-
useDeleteAgentRuntime: () => import("@tanstack/react-query").UseMutationResult<any, Error, string, unknown>;
|
|
537
|
-
useRefreshAgentRuntimes: () => () => void;
|
|
538
482
|
useCourse: (courseId: string) => import("@tanstack/react-query").UseQueryResult<ICourse | undefined, Error>;
|
|
539
483
|
useUpdateCourse: () => import("@tanstack/react-query").UseMutationResult<any, Error, {
|
|
540
484
|
courseId: string;
|
|
@@ -1019,12 +963,6 @@ export declare const useCache: ({ loginRoute }?: CacheProps) => {
|
|
|
1019
963
|
readonly bySpace: (spaceId: string) => readonly ["items", "space", string];
|
|
1020
964
|
readonly search: (opts: ISearchOpts) => readonly ["items", "search", ISearchOpts];
|
|
1021
965
|
};
|
|
1022
|
-
readonly agentRuntimes: {
|
|
1023
|
-
readonly all: () => readonly ["agentRuntimes"];
|
|
1024
|
-
readonly lists: () => readonly ["agentRuntimes", "list"];
|
|
1025
|
-
readonly details: () => readonly ["agentRuntimes", "detail"];
|
|
1026
|
-
readonly detail: (podName: string) => readonly ["agentRuntimes", "detail", string];
|
|
1027
|
-
};
|
|
1028
966
|
readonly layout: {
|
|
1029
967
|
readonly byAccount: (accountHandle: string, spaceHandle?: string) => readonly ["layout", string, string] | readonly ["layout", string];
|
|
1030
968
|
};
|