@elevasis/ui 1.14.0 → 1.14.2
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/charts/index.js +2 -2
- package/dist/{chunk-LP6CQOHV.js → chunk-AMLON3UW.js} +14 -15
- package/dist/{chunk-ZVVYGKE4.js → chunk-E72FC2ZF.js} +1 -1
- package/dist/{chunk-RM6ACTB3.js → chunk-HGUJ6SSM.js} +4 -3
- package/dist/{chunk-YHTK43DV.js → chunk-MYRCM7VD.js} +25 -8
- package/dist/{chunk-F5BVI434.js → chunk-QDHIJVQ2.js} +1 -1
- package/dist/{chunk-MJ7SDCIL.js → chunk-VPQU5BRN.js} +1 -1
- package/dist/{chunk-M3WZAG5D.js → chunk-YKHTHRLN.js} +16 -21
- package/dist/components/index.d.ts +6 -12
- package/dist/components/index.js +12 -20
- package/dist/hooks/index.d.ts +9 -17
- package/dist/hooks/index.js +4 -4
- package/dist/hooks/published.d.ts +9 -17
- package/dist/hooks/published.js +3 -3
- package/dist/index.d.ts +9 -17
- package/dist/index.js +5 -5
- package/dist/initialization/index.d.ts +5 -10
- package/dist/layout/index.d.ts +28 -1
- package/dist/layout/index.js +2 -2
- package/dist/organization/index.d.ts +5 -10
- package/dist/provider/index.js +2 -2
- package/dist/theme/index.js +2 -2
- package/dist/types/index.d.ts +6 -11
- package/package.json +1 -1
- package/dist/{chunk-WNRHQAJA.js → chunk-6ZNKDPAO.js} +10 -10
package/dist/charts/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { ActivityTrendChart, CombinedTrendChart, CostTrendChart, CyberAreaChart, CyberDonut, CyberDonutTooltip, CyberLegendItem, HeroStatsRow, getSeriesColor, useCyberColors } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { ActivityTrendChart, CombinedTrendChart, CostTrendChart, CyberAreaChart, CyberDonut, CyberDonutTooltip, CyberLegendItem, HeroStatsRow, getSeriesColor, useCyberColors } from '../chunk-HGUJ6SSM.js';
|
|
2
|
+
import '../chunk-MYRCM7VD.js';
|
|
3
3
|
import '../chunk-EQNXEBGZ.js';
|
|
4
4
|
import '../chunk-LHQTTUL2.js';
|
|
5
5
|
import '../chunk-ELJIFLCB.js';
|
|
@@ -1117,13 +1117,17 @@ function useResolveErrorsByExecution() {
|
|
|
1117
1117
|
}
|
|
1118
1118
|
});
|
|
1119
1119
|
}
|
|
1120
|
-
function
|
|
1120
|
+
function getGranularityFromTimeRange(timeRange) {
|
|
1121
|
+
return timeRange === "1h" || timeRange === "24h" ? "hour" : "day";
|
|
1122
|
+
}
|
|
1123
|
+
function useCostTrends(timeRange, granularity) {
|
|
1124
|
+
const resolvedGranularity = granularity ?? getGranularityFromTimeRange(timeRange);
|
|
1121
1125
|
const { apiRequest, isReady, organizationId } = useElevasisServices();
|
|
1122
1126
|
return useQuery({
|
|
1123
|
-
queryKey: observabilityKeys.costTrends(organizationId, timeRange,
|
|
1127
|
+
queryKey: observabilityKeys.costTrends(organizationId, timeRange, resolvedGranularity),
|
|
1124
1128
|
queryFn: async () => {
|
|
1125
1129
|
const { startDate, endDate } = getTimeRangeDates(timeRange);
|
|
1126
|
-
const params = new URLSearchParams({ startDate, endDate, granularity });
|
|
1130
|
+
const params = new URLSearchParams({ startDate, endDate, granularity: resolvedGranularity });
|
|
1127
1131
|
return apiRequest(`/observability/cost-trends?${params.toString()}`);
|
|
1128
1132
|
},
|
|
1129
1133
|
enabled: isReady,
|
|
@@ -1949,8 +1953,7 @@ function useSortedData(data, defaultColumn, accessors, defaultDirection = "desc"
|
|
|
1949
1953
|
}
|
|
1950
1954
|
function createUseFeatureAccess({
|
|
1951
1955
|
useInitialization,
|
|
1952
|
-
useOrganization: useOrganization2
|
|
1953
|
-
optInFeatures = []
|
|
1956
|
+
useOrganization: useOrganization2
|
|
1954
1957
|
}) {
|
|
1955
1958
|
return function useFeatureAccess() {
|
|
1956
1959
|
const { profile, organizationReady } = useInitialization();
|
|
@@ -1964,18 +1967,14 @@ function createUseFeatureAccess({
|
|
|
1964
1967
|
const checkFeature = useCallback(
|
|
1965
1968
|
(featureKey) => {
|
|
1966
1969
|
const key = featureKey;
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
const membershipValue = membershipConfig?.features?.[key];
|
|
1970
|
-
if (membershipValue === false) return { allowed: false, restrictedBy: "membership" };
|
|
1971
|
-
if (membershipValue === true) return { allowed: true, restrictedBy: null };
|
|
1972
|
-
}
|
|
1973
|
-
if (optInFeatures.includes(featureKey)) {
|
|
1974
|
-
return orgValue === true ? { allowed: true, restrictedBy: null } : { allowed: false, restrictedBy: "org" };
|
|
1970
|
+
if (profile?.is_platform_admin) {
|
|
1971
|
+
return { allowed: true, restrictedBy: null };
|
|
1975
1972
|
}
|
|
1976
|
-
|
|
1973
|
+
const membershipValue = membershipConfig?.features?.[key];
|
|
1974
|
+
if (membershipValue === false) return { allowed: false, restrictedBy: "membership" };
|
|
1975
|
+
return { allowed: true, restrictedBy: null };
|
|
1977
1976
|
},
|
|
1978
|
-
[profile?.is_platform_admin, membershipConfig
|
|
1977
|
+
[profile?.is_platform_admin, membershipConfig]
|
|
1979
1978
|
);
|
|
1980
1979
|
const hasFeature = useCallback((featureKey) => checkFeature(featureKey).allowed, [checkFeature]);
|
|
1981
1980
|
return {
|
|
@@ -1236,17 +1236,18 @@ function groupTimestampsByTime(timestamps, timeRange) {
|
|
|
1236
1236
|
const { size: bucketSize, count: bucketCount } = BUCKET_CONFIG[timeRange];
|
|
1237
1237
|
const granularity = GRANULARITY_MAP[timeRange];
|
|
1238
1238
|
const now = /* @__PURE__ */ new Date();
|
|
1239
|
+
const flooredNow = new Date(now.getTime() - now.getTime() % bucketSize);
|
|
1239
1240
|
const buckets = /* @__PURE__ */ new Map();
|
|
1240
1241
|
for (let i = bucketCount - 1; i >= 0; i--) {
|
|
1241
|
-
const bucketTime = new Date(
|
|
1242
|
+
const bucketTime = new Date(flooredNow.getTime() - i * bucketSize);
|
|
1242
1243
|
const label = formatBucketTime(bucketTime.toISOString(), granularity);
|
|
1243
1244
|
buckets.set(label, 0);
|
|
1244
1245
|
}
|
|
1245
1246
|
timestamps.forEach((occurredAt) => {
|
|
1246
|
-
const timeDiff =
|
|
1247
|
+
const timeDiff = flooredNow.getTime() - occurredAt.getTime();
|
|
1247
1248
|
const bucketIndex = Math.floor(timeDiff / bucketSize);
|
|
1248
1249
|
if (bucketIndex >= 0 && bucketIndex < bucketCount) {
|
|
1249
|
-
const bucketTime = new Date(
|
|
1250
|
+
const bucketTime = new Date(flooredNow.getTime() - bucketIndex * bucketSize);
|
|
1250
1251
|
const label = formatBucketTime(bucketTime.toISOString(), granularity);
|
|
1251
1252
|
buckets.set(label, (buckets.get(label) || 0) + 1);
|
|
1252
1253
|
}
|
|
@@ -2,7 +2,25 @@ import { UnstyledButton, Group, Box, ThemeIcon } from '@mantine/core';
|
|
|
2
2
|
import { IconChevronRight } from '@tabler/icons-react';
|
|
3
3
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
4
|
|
|
5
|
-
// src/components/
|
|
5
|
+
// src/components/layout/constants.ts
|
|
6
|
+
var sidebarWidth = 240;
|
|
7
|
+
var sidebarCollapsedWidth = 72;
|
|
8
|
+
var sidebarTransitionDuration = 200;
|
|
9
|
+
var sidebarHoverDelay = 100;
|
|
10
|
+
var topbarHeight = 54;
|
|
11
|
+
var sidebarItemHeight = 42;
|
|
12
|
+
var sidebarItemPadding = 10;
|
|
13
|
+
var sidebarItemGap = 4;
|
|
14
|
+
var sidebarSectionPadding = "var(--mantine-spacing-sm)";
|
|
15
|
+
var sidebarSubLinkIndent = 44;
|
|
16
|
+
var sidebarIconSize = 24;
|
|
17
|
+
var sidebarIconStroke = 1.6;
|
|
18
|
+
var sidebarIconInnerSize = 20;
|
|
19
|
+
var sidebarToggleIconSize = 20;
|
|
20
|
+
var sidebarSubLinkPaddingY = 6;
|
|
21
|
+
var sidebarSubLinkPaddingX = 10;
|
|
22
|
+
var sidebarGroupChevronSize = 14;
|
|
23
|
+
var sidebarListItemIconSize = 14;
|
|
6
24
|
var NavigationButton = ({
|
|
7
25
|
icon: Icon,
|
|
8
26
|
label,
|
|
@@ -27,14 +45,14 @@ var NavigationButton = ({
|
|
|
27
45
|
onClick?.();
|
|
28
46
|
},
|
|
29
47
|
style: {
|
|
30
|
-
height:
|
|
48
|
+
height: sidebarItemHeight,
|
|
31
49
|
display: "flex",
|
|
32
50
|
alignItems: "center",
|
|
33
51
|
width: "100%",
|
|
34
|
-
padding:
|
|
52
|
+
padding: sidebarItemPadding,
|
|
35
53
|
color: textColor,
|
|
36
54
|
backgroundColor: bgColor,
|
|
37
|
-
transition: `all
|
|
55
|
+
transition: `all ${transitionDuration}ms var(--easing)`,
|
|
38
56
|
cursor: "pointer",
|
|
39
57
|
overflow: "hidden",
|
|
40
58
|
borderRadius: "var(--mantine-radius-default)",
|
|
@@ -57,7 +75,6 @@ var NavigationButton = ({
|
|
|
57
75
|
style: {
|
|
58
76
|
display: "flex",
|
|
59
77
|
alignItems: "center",
|
|
60
|
-
justifyContent: "flex-start",
|
|
61
78
|
flex: hasSubItems && !isCollapsed ? 1 : "initial",
|
|
62
79
|
minWidth: 0,
|
|
63
80
|
overflow: "hidden"
|
|
@@ -67,7 +84,7 @@ var NavigationButton = ({
|
|
|
67
84
|
ThemeIcon,
|
|
68
85
|
{
|
|
69
86
|
variant: "light",
|
|
70
|
-
size:
|
|
87
|
+
size: sidebarIconSize,
|
|
71
88
|
style: {
|
|
72
89
|
backgroundColor: isActive ? activeColor : "var(--color-surface)",
|
|
73
90
|
color: isActive ? "white" : activeColor,
|
|
@@ -75,7 +92,7 @@ var NavigationButton = ({
|
|
|
75
92
|
transition: `margin ${transitionDuration}ms var(--easing)`,
|
|
76
93
|
flexShrink: 0
|
|
77
94
|
},
|
|
78
|
-
children: /* @__PURE__ */ jsx(Icon, { size:
|
|
95
|
+
children: /* @__PURE__ */ jsx(Icon, { size: sidebarIconInnerSize, stroke: sidebarIconStroke })
|
|
79
96
|
}
|
|
80
97
|
),
|
|
81
98
|
!isCollapsed && /* @__PURE__ */ jsx(
|
|
@@ -116,4 +133,4 @@ var NavigationButton = ({
|
|
|
116
133
|
);
|
|
117
134
|
};
|
|
118
135
|
|
|
119
|
-
export { NavigationButton };
|
|
136
|
+
export { NavigationButton, sidebarCollapsedWidth, sidebarGroupChevronSize, sidebarHoverDelay, sidebarIconInnerSize, sidebarIconSize, sidebarIconStroke, sidebarItemGap, sidebarItemHeight, sidebarItemPadding, sidebarListItemIconSize, sidebarSectionPadding, sidebarSubLinkIndent, sidebarSubLinkPaddingX, sidebarSubLinkPaddingY, sidebarToggleIconSize, sidebarTransitionDuration, sidebarWidth, topbarHeight };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PRESETS, getPreset, generateShades, mantineThemeOverride, createCssVariablesResolver, PresetsProvider } from './chunk-
|
|
1
|
+
import { PRESETS, getPreset, generateShades, mantineThemeOverride, createCssVariablesResolver, PresetsProvider } from './chunk-6ZNKDPAO.js';
|
|
2
2
|
import { AppBackground } from './chunk-TBRTRBJV.js';
|
|
3
3
|
import { ElevasisLoader } from './chunk-SZHARWKU.js';
|
|
4
4
|
import { ElevasisCoreProvider } from './chunk-BUN337J3.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CredentialNameSchema, UuidSchema, useErrorNotification } from './chunk-
|
|
1
|
+
import { CredentialNameSchema, UuidSchema, useErrorNotification } from './chunk-AMLON3UW.js';
|
|
2
2
|
import { getTimeRangeDates } from './chunk-EQNXEBGZ.js';
|
|
3
3
|
import { useNotificationAdapter } from './chunk-BUN337J3.js';
|
|
4
4
|
import { GC_TIME_SHORT, STALE_TIME_MONITORING, GC_TIME_MEDIUM, STALE_TIME_DEFAULT, getErrorInfo, formatErrorMessage, getErrorTitle } from './chunk-FCFLBMVI.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NavigationButton } from './chunk-
|
|
1
|
+
import { sidebarItemGap, sidebarSubLinkPaddingY, sidebarSubLinkPaddingX, sidebarSubLinkIndent, sidebarHoverDelay, sidebarTransitionDuration, sidebarCollapsedWidth, sidebarWidth, topbarHeight, sidebarToggleIconSize, sidebarSectionPadding, NavigationButton, sidebarGroupChevronSize, sidebarIconInnerSize, sidebarListItemIconSize } from './chunk-MYRCM7VD.js';
|
|
2
2
|
import { ElevasisLoader } from './chunk-SZHARWKU.js';
|
|
3
3
|
import { useAppearance } from './chunk-QJ2KCHKX.js';
|
|
4
4
|
import { useRouterContext } from './chunk-Q7DJKLEN.js';
|
|
@@ -7,12 +7,6 @@ import { Collapse, HoverCard, Stack, Group, Text, UnstyledButton, Tooltip, Scrol
|
|
|
7
7
|
import { IconLayoutSidebarLeftExpand, IconLayoutSidebarLeftCollapse, IconUser, IconLogout, IconAlertCircle, IconChevronDown, IconChevronRight, IconMoonStars, IconSun } from '@tabler/icons-react';
|
|
8
8
|
import { createContext, memo, useEffect, createElement, useContext, useState } from 'react';
|
|
9
9
|
|
|
10
|
-
// src/components/layout/constants.ts
|
|
11
|
-
var sidebarWidth = 240;
|
|
12
|
-
var sidebarCollapsedWidth = 72;
|
|
13
|
-
var sidebarTransitionDuration = 200;
|
|
14
|
-
var sidebarHoverDelay = 100;
|
|
15
|
-
var topbarHeight = 54;
|
|
16
10
|
function Vignette({ strength = 0.35, className }) {
|
|
17
11
|
return /* @__PURE__ */ jsx(
|
|
18
12
|
"div",
|
|
@@ -230,7 +224,7 @@ var SubLinkItem = ({ linkItem, currentPath }) => {
|
|
|
230
224
|
fontSize: "var(--mantine-font-size-sm)",
|
|
231
225
|
color: isActive ? activeColor3 : defaultColor2,
|
|
232
226
|
backgroundColor: isActive ? activeColorBg : "transparent",
|
|
233
|
-
padding:
|
|
227
|
+
padding: `${sidebarSubLinkPaddingY}px ${sidebarSubLinkPaddingX}px ${sidebarSubLinkPaddingY}px ${sidebarSubLinkIndent}px`,
|
|
234
228
|
borderRadius: "var(--mantine-radius-xs)",
|
|
235
229
|
transition: `all var(--duration-fast) var(--easing)`,
|
|
236
230
|
fontWeight: isActive ? 600 : 400
|
|
@@ -278,7 +272,7 @@ var MainButton = ({
|
|
|
278
272
|
transitionDuration: sidebarTransitionDuration
|
|
279
273
|
}
|
|
280
274
|
);
|
|
281
|
-
const wrapperStyle = { marginBottom:
|
|
275
|
+
const wrapperStyle = { marginBottom: `${sidebarItemGap}px` };
|
|
282
276
|
if (noWrapper) {
|
|
283
277
|
return button;
|
|
284
278
|
}
|
|
@@ -439,7 +433,7 @@ var LinksGroup = memo(function LinksGroup2({
|
|
|
439
433
|
noWrapper: true
|
|
440
434
|
}
|
|
441
435
|
);
|
|
442
|
-
return /* @__PURE__ */ jsx("div", { style: { marginBottom:
|
|
436
|
+
return /* @__PURE__ */ jsx("div", { style: { marginBottom: `${sidebarItemGap}px` }, children: /* @__PURE__ */ jsx(CollapsedWithHoverCard, { label, icon: Icon, links, currentPath, children: mainButtonNoWrapper }) });
|
|
443
437
|
}
|
|
444
438
|
if (isCollapsed && !hasLinks) {
|
|
445
439
|
const mainButtonNoWrapper = /* @__PURE__ */ jsx(
|
|
@@ -457,7 +451,7 @@ var LinksGroup = memo(function LinksGroup2({
|
|
|
457
451
|
noWrapper: true
|
|
458
452
|
}
|
|
459
453
|
);
|
|
460
|
-
return /* @__PURE__ */ jsx("div", { style: { marginBottom:
|
|
454
|
+
return /* @__PURE__ */ jsx("div", { style: { marginBottom: `${sidebarItemGap}px` }, children: /* @__PURE__ */ jsx(CollapsedWithTooltip, { label, children: mainButtonNoWrapper }) });
|
|
461
455
|
}
|
|
462
456
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
463
457
|
mainButton,
|
|
@@ -575,7 +569,7 @@ var SidebarTopSection = ({ logo }) => {
|
|
|
575
569
|
children: isCollapsed ? /* @__PURE__ */ jsx(
|
|
576
570
|
IconLayoutSidebarLeftExpand,
|
|
577
571
|
{
|
|
578
|
-
size:
|
|
572
|
+
size: sidebarToggleIconSize,
|
|
579
573
|
stroke: 1.5,
|
|
580
574
|
style: {
|
|
581
575
|
transition: `transform ${sidebarTransitionDuration}ms var(--easing)`
|
|
@@ -584,7 +578,7 @@ var SidebarTopSection = ({ logo }) => {
|
|
|
584
578
|
) : /* @__PURE__ */ jsx(
|
|
585
579
|
IconLayoutSidebarLeftCollapse,
|
|
586
580
|
{
|
|
587
|
-
size:
|
|
581
|
+
size: sidebarToggleIconSize,
|
|
588
582
|
stroke: 1.5,
|
|
589
583
|
style: {
|
|
590
584
|
transition: `transform ${sidebarTransitionDuration}ms var(--easing)`
|
|
@@ -597,7 +591,7 @@ var SidebarTopSection = ({ logo }) => {
|
|
|
597
591
|
}
|
|
598
592
|
);
|
|
599
593
|
};
|
|
600
|
-
var SidebarBottomSection = ({ user, onLogout }) => {
|
|
594
|
+
var SidebarBottomSection = ({ user, onLogout, onAccountClick }) => {
|
|
601
595
|
const { isCollapsed } = useSidebar();
|
|
602
596
|
if (!user) {
|
|
603
597
|
return null;
|
|
@@ -705,7 +699,7 @@ var SidebarBottomSection = ({ user, onLogout }) => {
|
|
|
705
699
|
}
|
|
706
700
|
) }),
|
|
707
701
|
/* @__PURE__ */ jsxs(Menu.Dropdown, { children: [
|
|
708
|
-
/* @__PURE__ */ jsx(Menu.Item, { leftSection: /* @__PURE__ */ jsx(IconUser, { size: 14 }), children: "Account" }),
|
|
702
|
+
/* @__PURE__ */ jsx(Menu.Item, { leftSection: /* @__PURE__ */ jsx(IconUser, { size: 14 }), onClick: onAccountClick, children: "Account" }),
|
|
709
703
|
onLogout && /* @__PURE__ */ jsx(Menu.Item, { leftSection: /* @__PURE__ */ jsx(IconLogout, { size: 14 }), onClick: onLogout, children: "Logout" })
|
|
710
704
|
] })
|
|
711
705
|
] })
|
|
@@ -718,7 +712,7 @@ var SidebarMiddleSection = ({ linkElements }) => {
|
|
|
718
712
|
{
|
|
719
713
|
style: {
|
|
720
714
|
flex: 1,
|
|
721
|
-
padding:
|
|
715
|
+
padding: sidebarSectionPadding,
|
|
722
716
|
transition: `padding ${sidebarTransitionDuration}ms var(--easing)`
|
|
723
717
|
},
|
|
724
718
|
children: /* @__PURE__ */ jsx("div", { style: { paddingBottom: "var(--mantine-spacing-sm)" }, children: linkElements })
|
|
@@ -729,6 +723,7 @@ var Sidebar = memo(function Sidebar2({
|
|
|
729
723
|
links = [],
|
|
730
724
|
user,
|
|
731
725
|
onLogout,
|
|
726
|
+
onAccountClick,
|
|
732
727
|
className = "",
|
|
733
728
|
logo
|
|
734
729
|
}) {
|
|
@@ -758,7 +753,7 @@ var Sidebar = memo(function Sidebar2({
|
|
|
758
753
|
return /* @__PURE__ */ jsxs(SidebarContainer, { className, children: [
|
|
759
754
|
/* @__PURE__ */ jsx(SidebarTopSection, { logo }),
|
|
760
755
|
/* @__PURE__ */ jsx(SidebarMiddleSection, { linkElements }),
|
|
761
|
-
/* @__PURE__ */ jsx(SidebarBottomSection, { user, onLogout })
|
|
756
|
+
/* @__PURE__ */ jsx(SidebarBottomSection, { user, onLogout, onAccountClick })
|
|
762
757
|
] });
|
|
763
758
|
});
|
|
764
759
|
var activeColor = "var(--color-primary)";
|
|
@@ -816,13 +811,13 @@ var CollapsibleSidebarGroup = ({
|
|
|
816
811
|
}
|
|
817
812
|
},
|
|
818
813
|
children: /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "nowrap", style: { width: "100%" }, children: [
|
|
819
|
-
/* @__PURE__ */ jsx(Box, { style: { flexShrink: 0, color: iconColor }, children: isExpanded ? /* @__PURE__ */ jsx(IconChevronDown, { size:
|
|
814
|
+
/* @__PURE__ */ jsx(Box, { style: { flexShrink: 0, color: iconColor }, children: isExpanded ? /* @__PURE__ */ jsx(IconChevronDown, { size: sidebarGroupChevronSize }) : /* @__PURE__ */ jsx(IconChevronRight, { size: sidebarGroupChevronSize }) }),
|
|
820
815
|
/* @__PURE__ */ jsx(
|
|
821
816
|
Box,
|
|
822
817
|
{
|
|
823
818
|
style: { flexShrink: 0, color: iconColor, cursor: onLabelClick ? "pointer" : "inherit" },
|
|
824
819
|
onClick: onLabelClick ? handleLabelClick : void 0,
|
|
825
|
-
children: /* @__PURE__ */ jsx(Icon, { size:
|
|
820
|
+
children: /* @__PURE__ */ jsx(Icon, { size: sidebarIconInnerSize, color: activeColor })
|
|
826
821
|
}
|
|
827
822
|
),
|
|
828
823
|
/* @__PURE__ */ jsx(
|
|
@@ -914,7 +909,7 @@ var SidebarListItem = ({
|
|
|
914
909
|
/* @__PURE__ */ jsx(
|
|
915
910
|
Icon,
|
|
916
911
|
{
|
|
917
|
-
size:
|
|
912
|
+
size: sidebarListItemIconSize,
|
|
918
913
|
style: {
|
|
919
914
|
flexShrink: 0,
|
|
920
915
|
opacity: isActive ? 1 : 0.6,
|
|
@@ -1168,4 +1163,4 @@ var Topbar = ({ version, leftContent, children }) => {
|
|
|
1168
1163
|
] });
|
|
1169
1164
|
};
|
|
1170
1165
|
|
|
1171
|
-
export { AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, CollapsibleSidebarGroup, LinksGroup, PageContainer, Sidebar, SidebarListItem, SidebarProvider, SubshellContainer, SubshellContentContainer, SubshellLoader, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarSection, Topbar, TopbarContainer, Vignette,
|
|
1166
|
+
export { AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, CollapsibleSidebarGroup, LinksGroup, PageContainer, Sidebar, SidebarListItem, SidebarProvider, SubshellContainer, SubshellContentContainer, SubshellLoader, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarSection, Topbar, TopbarContainer, Vignette, subsidebarWidth, useSidebar, useSidebarCollapse };
|
|
@@ -3467,16 +3467,16 @@ interface NotificationDTO {
|
|
|
3467
3467
|
* Multi-tenancy configuration types
|
|
3468
3468
|
*
|
|
3469
3469
|
* Config is stored in dedicated `config` columns (NOT nested in metadata):
|
|
3470
|
-
* - organizations.config: Org-level feature
|
|
3470
|
+
* - organizations.config: Org-level config (no feature toggles -- all features available by default)
|
|
3471
3471
|
* - org_memberships.config: Per-user-per-org feature overrides
|
|
3472
3472
|
* - users.config: User-global config
|
|
3473
3473
|
*/
|
|
3474
3474
|
/**
|
|
3475
|
-
*
|
|
3476
|
-
* Controls which features
|
|
3475
|
+
* Per-user-per-org config (stored in org_memberships.config)
|
|
3476
|
+
* Controls which features a specific member can access within their org
|
|
3477
3477
|
* Valid feature keys: operations, monitoring, acquisition, calibration, seo
|
|
3478
3478
|
*/
|
|
3479
|
-
interface
|
|
3479
|
+
interface MembershipFeatureConfig {
|
|
3480
3480
|
features?: {
|
|
3481
3481
|
operations?: boolean;
|
|
3482
3482
|
monitoring?: boolean;
|
|
@@ -3485,11 +3485,6 @@ interface OrgFeatureConfig {
|
|
|
3485
3485
|
seo?: boolean;
|
|
3486
3486
|
};
|
|
3487
3487
|
}
|
|
3488
|
-
/**
|
|
3489
|
-
* Per-user-per-org config (stored in org_memberships.config)
|
|
3490
|
-
* Overrides org-level feature config for specific users
|
|
3491
|
-
*/
|
|
3492
|
-
type MembershipFeatureConfig = OrgFeatureConfig;
|
|
3493
3488
|
|
|
3494
3489
|
/**
|
|
3495
3490
|
* Memberships Domain - Zod Validation Schemas
|
|
@@ -3548,7 +3543,7 @@ interface MembershipWithDetails extends OrganizationMembership {
|
|
|
3548
3543
|
is_test?: boolean;
|
|
3549
3544
|
status?: string;
|
|
3550
3545
|
metadata?: Record<string, unknown>;
|
|
3551
|
-
config?:
|
|
3546
|
+
config?: Record<string, unknown>;
|
|
3552
3547
|
};
|
|
3553
3548
|
config?: MembershipFeatureConfig;
|
|
3554
3549
|
}
|
|
@@ -5591,11 +5586,10 @@ declare function DeploymentStatusBadge({ status }: DeploymentStatusBadgeProps):
|
|
|
5591
5586
|
|
|
5592
5587
|
interface MembershipFeaturePanelProps {
|
|
5593
5588
|
currentConfig?: MembershipFeatureConfig;
|
|
5594
|
-
orgConfig?: OrgFeatureConfig;
|
|
5595
5589
|
onConfigChange: (config: MembershipFeatureConfig) => void;
|
|
5596
5590
|
disabled?: boolean;
|
|
5597
5591
|
}
|
|
5598
|
-
declare function MembershipFeaturePanel({ currentConfig,
|
|
5592
|
+
declare function MembershipFeaturePanel({ currentConfig, onConfigChange, disabled }: MembershipFeaturePanelProps): react_jsx_runtime.JSX.Element;
|
|
5599
5593
|
|
|
5600
5594
|
interface MembershipStatusBadgeProps {
|
|
5601
5595
|
status: MembershipStatus;
|
package/dist/components/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { useCyberColors, EmptyState, CyberLegendItem, CyberAreaChart, APIErrorAlert, CardHeader, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, ContextViewer, JsonViewer, StyledMarkdown, PageTitleCaption, StatCard, CyberDonut, CollapsibleSection, ListSkeleton } from '../chunk-
|
|
2
|
-
export { APIErrorAlert, CardHeader, CollapsibleSection, ContextViewer, CustomSelector, DetailCardSkeleton, EmptyState, JsonViewer, ListSkeleton, PageNotFound, PageTitleCaption, ResourceCard, StatCard, StatCardSkeleton, StatsCardSkeleton, StyledMarkdown, TabCountBadge, TimeRangeSelector, TrendIndicator, catalogItemToResourceDefinition } from '../chunk-
|
|
3
|
-
import { SubshellLoader, SubshellContainer, SubshellSidebar, SubshellRightSideContainer, SubshellContentContainer, PageContainer, AppShellLoader, SubshellSidebarSection, CollapsibleSidebarGroup, SidebarListItem } from '../chunk-
|
|
4
|
-
export { NavigationButton } from '../chunk-
|
|
5
|
-
import { useUpdateApiKey, useDeleteApiKey, useCreateApiKey, useListApiKeys, useDeleteCredential, useCreateCredential, useCredentials, useActivateDeployment, useDeactivateDeployment, useDeleteDeployment, useListDeployments, MEMBERSHIP_STATUS_COLORS, transformMembershipToTableRow, showApiErrorNotification, showSuccessNotification, CredentialSchemas, showErrorNotification } from '../chunk-
|
|
6
|
-
export { showApiErrorNotification, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification } from '../chunk-
|
|
7
|
-
import { useCommandViewLayout, useResourcesHealth, useResolveError, useResolveAllErrors, usePaginationState, useErrorDetails, useMarkAsRead, useMarkAllAsRead, useNotificationCount, useNotifications, useSubmitAction, useDeleteTask, useErrorDetail, useExecution, useArchivedLogs, useDeleteExecution, useRetryExecution, useCancelExecution, useDeploymentDocs, useResources, useCreateSchedule, useListSchedules, usePauseSchedule, useResumeSchedule, useCancelSchedule, useDeleteSchedule, useCommandQueueTotals } from '../chunk-
|
|
1
|
+
import { useCyberColors, EmptyState, CyberLegendItem, CyberAreaChart, APIErrorAlert, CardHeader, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, ContextViewer, JsonViewer, StyledMarkdown, PageTitleCaption, StatCard, CyberDonut, CollapsibleSection, ListSkeleton } from '../chunk-HGUJ6SSM.js';
|
|
2
|
+
export { APIErrorAlert, CardHeader, CollapsibleSection, ContextViewer, CustomSelector, DetailCardSkeleton, EmptyState, JsonViewer, ListSkeleton, PageNotFound, PageTitleCaption, ResourceCard, StatCard, StatCardSkeleton, StatsCardSkeleton, StyledMarkdown, TabCountBadge, TimeRangeSelector, TrendIndicator, catalogItemToResourceDefinition } from '../chunk-HGUJ6SSM.js';
|
|
3
|
+
import { SubshellLoader, SubshellContainer, SubshellSidebar, SubshellRightSideContainer, SubshellContentContainer, PageContainer, AppShellLoader, SubshellSidebarSection, CollapsibleSidebarGroup, SidebarListItem } from '../chunk-YKHTHRLN.js';
|
|
4
|
+
export { NavigationButton } from '../chunk-MYRCM7VD.js';
|
|
5
|
+
import { useUpdateApiKey, useDeleteApiKey, useCreateApiKey, useListApiKeys, useDeleteCredential, useCreateCredential, useCredentials, useActivateDeployment, useDeactivateDeployment, useDeleteDeployment, useListDeployments, MEMBERSHIP_STATUS_COLORS, transformMembershipToTableRow, showApiErrorNotification, showSuccessNotification, CredentialSchemas, showErrorNotification } from '../chunk-VPQU5BRN.js';
|
|
6
|
+
export { showApiErrorNotification, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification } from '../chunk-VPQU5BRN.js';
|
|
7
|
+
import { useCommandViewLayout, useResourcesHealth, useResolveError, useResolveAllErrors, usePaginationState, useErrorDetails, useMarkAsRead, useMarkAllAsRead, useNotificationCount, useNotifications, useSubmitAction, useDeleteTask, useErrorDetail, useExecution, useArchivedLogs, useDeleteExecution, useRetryExecution, useCancelExecution, useDeploymentDocs, useResources, useCreateSchedule, useListSchedules, usePauseSchedule, useResumeSchedule, useCancelSchedule, useDeleteSchedule, useCommandQueueTotals } from '../chunk-AMLON3UW.js';
|
|
8
8
|
import { getTimeRangeDates, formatBucketTime } from '../chunk-EQNXEBGZ.js';
|
|
9
9
|
import '../chunk-NJJ3NQ7B.js';
|
|
10
10
|
import '../chunk-LHQTTUL2.js';
|
|
@@ -16,8 +16,8 @@ import { ResourceStatusColors, toWorkflowLogMessages } from '../chunk-ELJIFLCB.j
|
|
|
16
16
|
import '../chunk-GU46QC4Z.js';
|
|
17
17
|
import '../chunk-CKFTPEBC.js';
|
|
18
18
|
import '../chunk-RNP5R5I3.js';
|
|
19
|
-
import '../chunk-
|
|
20
|
-
import '../chunk-
|
|
19
|
+
import '../chunk-QDHIJVQ2.js';
|
|
20
|
+
import '../chunk-6ZNKDPAO.js';
|
|
21
21
|
import '../chunk-TBRTRBJV.js';
|
|
22
22
|
import { ElevasisLoader } from '../chunk-SZHARWKU.js';
|
|
23
23
|
export { ElevasisLoader } from '../chunk-SZHARWKU.js';
|
|
@@ -25,7 +25,7 @@ import '../chunk-BUN337J3.js';
|
|
|
25
25
|
import { useAppearance } from '../chunk-QJ2KCHKX.js';
|
|
26
26
|
import '../chunk-HGNP6EVB.js';
|
|
27
27
|
import '../chunk-RULQSZYX.js';
|
|
28
|
-
import { getResourceIcon, getResourceColor,
|
|
28
|
+
import { getResourceIcon, getResourceColor, PAGE_SIZE_DEFAULT, getErrorInfo, formatErrorMessage, formatDateTime } from '../chunk-FCFLBMVI.js';
|
|
29
29
|
import '../chunk-V5GGPIDD.js';
|
|
30
30
|
import '../chunk-ALA56RGZ.js';
|
|
31
31
|
import { useInitialization } from '../chunk-3VTC7OWU.js';
|
|
@@ -883,7 +883,7 @@ function ExecutionHealthCard({ data, isLoading, error }) {
|
|
|
883
883
|
const failedCount = data?.statusCounts.failed ?? 0;
|
|
884
884
|
const warningCount = data?.statusCounts.warning ?? 0;
|
|
885
885
|
const trendData = data?.trendData.map((d) => ({
|
|
886
|
-
hour:
|
|
886
|
+
hour: formatBucketTime(d.time, data?.granularity ?? "hour"),
|
|
887
887
|
errors: d.errorCount,
|
|
888
888
|
warnings: d.warningCount
|
|
889
889
|
})) ?? [];
|
|
@@ -8792,7 +8792,6 @@ var FEATURES = [
|
|
|
8792
8792
|
];
|
|
8793
8793
|
function MembershipFeaturePanel({
|
|
8794
8794
|
currentConfig,
|
|
8795
|
-
orgConfig,
|
|
8796
8795
|
onConfigChange,
|
|
8797
8796
|
disabled = false
|
|
8798
8797
|
}) {
|
|
@@ -8807,15 +8806,8 @@ function MembershipFeaturePanel({
|
|
|
8807
8806
|
onConfigChange(newConfig);
|
|
8808
8807
|
};
|
|
8809
8808
|
return /* @__PURE__ */ jsx(Card, { withBorder: true, children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
|
|
8810
|
-
/* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "Toggle features this member can access.
|
|
8809
|
+
/* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "Toggle features this member can access." }),
|
|
8811
8810
|
FEATURES.map(({ key, label }) => {
|
|
8812
|
-
const orgHasFeature = orgConfig?.features?.[key] === true;
|
|
8813
|
-
if (!orgHasFeature) {
|
|
8814
|
-
return /* @__PURE__ */ jsxs(Group, { justify: "space-between", wrap: "nowrap", children: [
|
|
8815
|
-
/* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: label }),
|
|
8816
|
-
/* @__PURE__ */ jsx(Badge, { color: "gray", variant: "light", children: "Not available" })
|
|
8817
|
-
] }, key);
|
|
8818
|
-
}
|
|
8819
8811
|
const isEnabled = currentConfig?.features?.[key] !== false;
|
|
8820
8812
|
return /* @__PURE__ */ jsxs(Group, { justify: "space-between", wrap: "nowrap", children: [
|
|
8821
8813
|
/* @__PURE__ */ jsx(Text, { size: "sm", children: label }),
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -3171,16 +3171,16 @@ interface SessionTokenUsage {
|
|
|
3171
3171
|
* Multi-tenancy configuration types
|
|
3172
3172
|
*
|
|
3173
3173
|
* Config is stored in dedicated `config` columns (NOT nested in metadata):
|
|
3174
|
-
* - organizations.config: Org-level feature
|
|
3174
|
+
* - organizations.config: Org-level config (no feature toggles -- all features available by default)
|
|
3175
3175
|
* - org_memberships.config: Per-user-per-org feature overrides
|
|
3176
3176
|
* - users.config: User-global config
|
|
3177
3177
|
*/
|
|
3178
3178
|
/**
|
|
3179
|
-
*
|
|
3180
|
-
* Controls which features
|
|
3179
|
+
* Per-user-per-org config (stored in org_memberships.config)
|
|
3180
|
+
* Controls which features a specific member can access within their org
|
|
3181
3181
|
* Valid feature keys: operations, monitoring, acquisition, calibration, seo
|
|
3182
3182
|
*/
|
|
3183
|
-
interface
|
|
3183
|
+
interface MembershipFeatureConfig {
|
|
3184
3184
|
features?: {
|
|
3185
3185
|
operations?: boolean;
|
|
3186
3186
|
monitoring?: boolean;
|
|
@@ -3189,11 +3189,6 @@ interface OrgFeatureConfig {
|
|
|
3189
3189
|
seo?: boolean;
|
|
3190
3190
|
};
|
|
3191
3191
|
}
|
|
3192
|
-
/**
|
|
3193
|
-
* Per-user-per-org config (stored in org_memberships.config)
|
|
3194
|
-
* Overrides org-level feature config for specific users
|
|
3195
|
-
*/
|
|
3196
|
-
type MembershipFeatureConfig = OrgFeatureConfig;
|
|
3197
3192
|
/**
|
|
3198
3193
|
* User-global config (stored in users.config)
|
|
3199
3194
|
* Theme and onboarding are user-specific, NOT org-specific
|
|
@@ -3305,7 +3300,7 @@ interface MembershipWithDetails extends OrganizationMembership {
|
|
|
3305
3300
|
is_test?: boolean;
|
|
3306
3301
|
status?: string;
|
|
3307
3302
|
metadata?: Record<string, unknown>;
|
|
3308
|
-
config?:
|
|
3303
|
+
config?: Record<string, unknown>;
|
|
3309
3304
|
};
|
|
3310
3305
|
config?: MembershipFeatureConfig;
|
|
3311
3306
|
}
|
|
@@ -5512,7 +5507,7 @@ interface OrganizationContextValue {
|
|
|
5512
5507
|
retry: () => Promise<void>;
|
|
5513
5508
|
}
|
|
5514
5509
|
|
|
5515
|
-
type RestrictionSource = '
|
|
5510
|
+
type RestrictionSource = 'membership' | null;
|
|
5516
5511
|
interface FeatureAccessResult {
|
|
5517
5512
|
allowed: boolean;
|
|
5518
5513
|
restrictedBy: RestrictionSource;
|
|
@@ -5523,7 +5518,6 @@ interface FeatureAccessResult {
|
|
|
5523
5518
|
*
|
|
5524
5519
|
* @param useInitialization - Initialization hook providing `profile` and `organizationReady`
|
|
5525
5520
|
* @param useOrganization - Organization hook providing `currentMembership`
|
|
5526
|
-
* @param optInFeatures - Feature keys that are disabled by default (must be explicitly enabled)
|
|
5527
5521
|
*
|
|
5528
5522
|
* @example
|
|
5529
5523
|
* ```typescript
|
|
@@ -5535,17 +5529,15 @@ interface FeatureAccessResult {
|
|
|
5535
5529
|
* export const useFeatureAccess = createUseFeatureAccess({
|
|
5536
5530
|
* useInitialization,
|
|
5537
5531
|
* useOrganization,
|
|
5538
|
-
* optInFeatures: ['acquisition', 'calibration'],
|
|
5539
5532
|
* })
|
|
5540
5533
|
* ```
|
|
5541
5534
|
*/
|
|
5542
|
-
declare function createUseFeatureAccess({ useInitialization, useOrganization
|
|
5535
|
+
declare function createUseFeatureAccess({ useInitialization, useOrganization }: {
|
|
5543
5536
|
useInitialization: () => Pick<AppInitializationState, 'profile' | 'organizationReady'>;
|
|
5544
5537
|
useOrganization: () => Pick<OrganizationContextValue, 'currentMembership'>;
|
|
5545
|
-
optInFeatures?: string[];
|
|
5546
5538
|
}): () => {
|
|
5547
|
-
orgConfig:
|
|
5548
|
-
membershipConfig:
|
|
5539
|
+
orgConfig: Record<string, unknown> | undefined;
|
|
5540
|
+
membershipConfig: MembershipFeatureConfig | undefined;
|
|
5549
5541
|
userConfig: UserConfig | undefined;
|
|
5550
5542
|
hasFeature: (featureKey: string) => boolean;
|
|
5551
5543
|
checkFeature: (featureKey: string) => FeatureAccessResult;
|
package/dist/hooks/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export { ApiKeyService, CredentialService, DeploymentService, OrganizationMembershipService, WebhookEndpointService, filterByDomainFilters, useActivateDeployment, useActivityFilters, useCommandViewDomainFilters, useCreateApiKey, useCreateCredential, useCreateWebhookEndpoint, useCredentials, useDeactivateDeployment, useDeactivateMembership, useDeleteApiKey, useDeleteCredential, useDeleteDeployment, useDeleteWebhookEndpoint, useExecutionLogsFilters, useListApiKeys, useListDeployments, useListWebhookEndpoints, useOrganizationMembers, useReactivateMembership, useResourceSearch, useResourcesDomainFilters, useStatusFilter, useTimeRangeDates, useUpdateApiKey, useUpdateCredential, useUpdateMemberConfig, useUpdateWebhookEndpoint, useUserMemberships, useVisibleResources } from '../chunk-
|
|
2
|
-
export { OperationsService, createUseFeatureAccess, executionsKeys, isSessionCapable, operationsKeys, scheduleKeys, sessionsKeys, sortData, useActivities, useActivityTrend, useArchiveSession, useArchivedLogs, useBatchDelete, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewLayout, useCommandViewStats, useCommandViewStore, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateSchedule, useCreateSession, useDashboardMetrics, useDeleteExecution, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeploymentDocs, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAsync, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionPanelState, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphStats, useListSchedules, useMarkAllAsRead, useMarkAsRead, useNotificationCount, useNotifications, usePaginationState, usePatchTask, usePauseSchedule, useRecentExecutionsByResource, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResources, useResourcesHealth, useResumeSchedule, useRetryExecution, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useSubmitAction, useSuccessNotification, useTableSelection, useTableSort, useTestNotification, useTopFailingResources, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateSchedule, useWarningNotification } from '../chunk-
|
|
1
|
+
export { ApiKeyService, CredentialService, DeploymentService, OrganizationMembershipService, WebhookEndpointService, filterByDomainFilters, useActivateDeployment, useActivityFilters, useCommandViewDomainFilters, useCreateApiKey, useCreateCredential, useCreateWebhookEndpoint, useCredentials, useDeactivateDeployment, useDeactivateMembership, useDeleteApiKey, useDeleteCredential, useDeleteDeployment, useDeleteWebhookEndpoint, useExecutionLogsFilters, useListApiKeys, useListDeployments, useListWebhookEndpoints, useOrganizationMembers, useReactivateMembership, useResourceSearch, useResourcesDomainFilters, useStatusFilter, useTimeRangeDates, useUpdateApiKey, useUpdateCredential, useUpdateMemberConfig, useUpdateWebhookEndpoint, useUserMemberships, useVisibleResources } from '../chunk-VPQU5BRN.js';
|
|
2
|
+
export { OperationsService, createUseFeatureAccess, executionsKeys, isSessionCapable, operationsKeys, scheduleKeys, sessionsKeys, sortData, useActivities, useActivityTrend, useArchiveSession, useArchivedLogs, useBatchDelete, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewLayout, useCommandViewStats, useCommandViewStore, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateSchedule, useCreateSession, useDashboardMetrics, useDeleteExecution, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeploymentDocs, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAsync, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionPanelState, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphStats, useListSchedules, useMarkAllAsRead, useMarkAsRead, useNotificationCount, useNotifications, usePaginationState, usePatchTask, usePauseSchedule, useRecentExecutionsByResource, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResources, useResourcesHealth, useResumeSchedule, useRetryExecution, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useSubmitAction, useSuccessNotification, useTableSelection, useTableSort, useTestNotification, useTopFailingResources, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateSchedule, useWarningNotification } from '../chunk-AMLON3UW.js';
|
|
3
3
|
export { observabilityKeys, useErrorTrends } from '../chunk-EQNXEBGZ.js';
|
|
4
4
|
import '../chunk-NJJ3NQ7B.js';
|
|
5
5
|
import '../chunk-F6RBK7NJ.js';
|
|
6
6
|
import '../chunk-GU46QC4Z.js';
|
|
7
7
|
import '../chunk-RNP5R5I3.js';
|
|
8
|
-
import '../chunk-
|
|
9
|
-
import '../chunk-
|
|
8
|
+
import '../chunk-QDHIJVQ2.js';
|
|
9
|
+
import '../chunk-6ZNKDPAO.js';
|
|
10
10
|
import '../chunk-TBRTRBJV.js';
|
|
11
11
|
import '../chunk-SZHARWKU.js';
|
|
12
12
|
import '../chunk-BUN337J3.js';
|
|
@@ -3600,16 +3600,16 @@ interface SessionTokenUsage {
|
|
|
3600
3600
|
* Multi-tenancy configuration types
|
|
3601
3601
|
*
|
|
3602
3602
|
* Config is stored in dedicated `config` columns (NOT nested in metadata):
|
|
3603
|
-
* - organizations.config: Org-level feature
|
|
3603
|
+
* - organizations.config: Org-level config (no feature toggles -- all features available by default)
|
|
3604
3604
|
* - org_memberships.config: Per-user-per-org feature overrides
|
|
3605
3605
|
* - users.config: User-global config
|
|
3606
3606
|
*/
|
|
3607
3607
|
/**
|
|
3608
|
-
*
|
|
3609
|
-
* Controls which features
|
|
3608
|
+
* Per-user-per-org config (stored in org_memberships.config)
|
|
3609
|
+
* Controls which features a specific member can access within their org
|
|
3610
3610
|
* Valid feature keys: operations, monitoring, acquisition, calibration, seo
|
|
3611
3611
|
*/
|
|
3612
|
-
interface
|
|
3612
|
+
interface MembershipFeatureConfig {
|
|
3613
3613
|
features?: {
|
|
3614
3614
|
operations?: boolean;
|
|
3615
3615
|
monitoring?: boolean;
|
|
@@ -3618,11 +3618,6 @@ interface OrgFeatureConfig {
|
|
|
3618
3618
|
seo?: boolean;
|
|
3619
3619
|
};
|
|
3620
3620
|
}
|
|
3621
|
-
/**
|
|
3622
|
-
* Per-user-per-org config (stored in org_memberships.config)
|
|
3623
|
-
* Overrides org-level feature config for specific users
|
|
3624
|
-
*/
|
|
3625
|
-
type MembershipFeatureConfig = OrgFeatureConfig;
|
|
3626
3621
|
/**
|
|
3627
3622
|
* User-global config (stored in users.config)
|
|
3628
3623
|
* Theme and onboarding are user-specific, NOT org-specific
|
|
@@ -3681,7 +3676,7 @@ interface MembershipWithDetails extends OrganizationMembership {
|
|
|
3681
3676
|
is_test?: boolean;
|
|
3682
3677
|
status?: string;
|
|
3683
3678
|
metadata?: Record<string, unknown>;
|
|
3684
|
-
config?:
|
|
3679
|
+
config?: Record<string, unknown>;
|
|
3685
3680
|
};
|
|
3686
3681
|
config?: MembershipFeatureConfig;
|
|
3687
3682
|
}
|
|
@@ -5256,7 +5251,7 @@ interface OrganizationContextValue {
|
|
|
5256
5251
|
retry: () => Promise<void>;
|
|
5257
5252
|
}
|
|
5258
5253
|
|
|
5259
|
-
type RestrictionSource = '
|
|
5254
|
+
type RestrictionSource = 'membership' | null;
|
|
5260
5255
|
interface FeatureAccessResult {
|
|
5261
5256
|
allowed: boolean;
|
|
5262
5257
|
restrictedBy: RestrictionSource;
|
|
@@ -5267,7 +5262,6 @@ interface FeatureAccessResult {
|
|
|
5267
5262
|
*
|
|
5268
5263
|
* @param useInitialization - Initialization hook providing `profile` and `organizationReady`
|
|
5269
5264
|
* @param useOrganization - Organization hook providing `currentMembership`
|
|
5270
|
-
* @param optInFeatures - Feature keys that are disabled by default (must be explicitly enabled)
|
|
5271
5265
|
*
|
|
5272
5266
|
* @example
|
|
5273
5267
|
* ```typescript
|
|
@@ -5279,17 +5273,15 @@ interface FeatureAccessResult {
|
|
|
5279
5273
|
* export const useFeatureAccess = createUseFeatureAccess({
|
|
5280
5274
|
* useInitialization,
|
|
5281
5275
|
* useOrganization,
|
|
5282
|
-
* optInFeatures: ['acquisition', 'calibration'],
|
|
5283
5276
|
* })
|
|
5284
5277
|
* ```
|
|
5285
5278
|
*/
|
|
5286
|
-
declare function createUseFeatureAccess({ useInitialization, useOrganization
|
|
5279
|
+
declare function createUseFeatureAccess({ useInitialization, useOrganization }: {
|
|
5287
5280
|
useInitialization: () => Pick<AppInitializationState, 'profile' | 'organizationReady'>;
|
|
5288
5281
|
useOrganization: () => Pick<OrganizationContextValue, 'currentMembership'>;
|
|
5289
|
-
optInFeatures?: string[];
|
|
5290
5282
|
}): () => {
|
|
5291
|
-
orgConfig:
|
|
5292
|
-
membershipConfig:
|
|
5283
|
+
orgConfig: Record<string, unknown> | undefined;
|
|
5284
|
+
membershipConfig: MembershipFeatureConfig | undefined;
|
|
5293
5285
|
userConfig: UserConfig | undefined;
|
|
5294
5286
|
hasFeature: (featureKey: string) => boolean;
|
|
5295
5287
|
checkFeature: (featureKey: string) => FeatureAccessResult;
|
package/dist/hooks/published.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { OperationsService, createUseFeatureAccess, executionsKeys, isSessionCapable, operationsKeys, scheduleKeys, sessionsKeys, sortData, useActivities, useActivityTrend, useArchiveSession, useArchivedLogs, useBatchDelete, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewLayout, useCommandViewStats, useCommandViewStore, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateSchedule, useCreateSession, useDashboardMetrics, useDeleteExecution, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeploymentDocs, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAsync, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionPanelState, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphStats, useListSchedules, useMarkAllAsRead, useMarkAsRead, useNotificationCount, useNotifications, usePaginationState, usePatchTask, usePauseSchedule, useRecentExecutionsByResource, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResources, useResourcesHealth, useResumeSchedule, useRetryExecution, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useSubmitAction, useSuccessNotification, useTableSelection, useTableSort, useTestNotification, useTopFailingResources, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateSchedule, useWarningNotification } from '../chunk-
|
|
1
|
+
export { OperationsService, createUseFeatureAccess, executionsKeys, isSessionCapable, operationsKeys, scheduleKeys, sessionsKeys, sortData, useActivities, useActivityTrend, useArchiveSession, useArchivedLogs, useBatchDelete, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewLayout, useCommandViewStats, useCommandViewStore, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateSchedule, useCreateSession, useDashboardMetrics, useDeleteExecution, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeploymentDocs, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAsync, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionPanelState, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphStats, useListSchedules, useMarkAllAsRead, useMarkAsRead, useNotificationCount, useNotifications, usePaginationState, usePatchTask, usePauseSchedule, useRecentExecutionsByResource, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResources, useResourcesHealth, useResumeSchedule, useRetryExecution, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useSubmitAction, useSuccessNotification, useTableSelection, useTableSort, useTestNotification, useTopFailingResources, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateSchedule, useWarningNotification } from '../chunk-AMLON3UW.js';
|
|
2
2
|
export { observabilityKeys, useErrorTrends } from '../chunk-EQNXEBGZ.js';
|
|
3
3
|
import '../chunk-NJJ3NQ7B.js';
|
|
4
4
|
import '../chunk-F6RBK7NJ.js';
|
|
5
5
|
import '../chunk-GU46QC4Z.js';
|
|
6
6
|
import '../chunk-RNP5R5I3.js';
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-QDHIJVQ2.js';
|
|
8
|
+
import '../chunk-6ZNKDPAO.js';
|
|
9
9
|
import '../chunk-TBRTRBJV.js';
|
|
10
10
|
import '../chunk-SZHARWKU.js';
|
|
11
11
|
import '../chunk-BUN337J3.js';
|
package/dist/index.d.ts
CHANGED
|
@@ -3619,16 +3619,16 @@ interface SessionTokenUsage {
|
|
|
3619
3619
|
* Multi-tenancy configuration types
|
|
3620
3620
|
*
|
|
3621
3621
|
* Config is stored in dedicated `config` columns (NOT nested in metadata):
|
|
3622
|
-
* - organizations.config: Org-level feature
|
|
3622
|
+
* - organizations.config: Org-level config (no feature toggles -- all features available by default)
|
|
3623
3623
|
* - org_memberships.config: Per-user-per-org feature overrides
|
|
3624
3624
|
* - users.config: User-global config
|
|
3625
3625
|
*/
|
|
3626
3626
|
/**
|
|
3627
|
-
*
|
|
3628
|
-
* Controls which features
|
|
3627
|
+
* Per-user-per-org config (stored in org_memberships.config)
|
|
3628
|
+
* Controls which features a specific member can access within their org
|
|
3629
3629
|
* Valid feature keys: operations, monitoring, acquisition, calibration, seo
|
|
3630
3630
|
*/
|
|
3631
|
-
interface
|
|
3631
|
+
interface MembershipFeatureConfig {
|
|
3632
3632
|
features?: {
|
|
3633
3633
|
operations?: boolean;
|
|
3634
3634
|
monitoring?: boolean;
|
|
@@ -3637,11 +3637,6 @@ interface OrgFeatureConfig {
|
|
|
3637
3637
|
seo?: boolean;
|
|
3638
3638
|
};
|
|
3639
3639
|
}
|
|
3640
|
-
/**
|
|
3641
|
-
* Per-user-per-org config (stored in org_memberships.config)
|
|
3642
|
-
* Overrides org-level feature config for specific users
|
|
3643
|
-
*/
|
|
3644
|
-
type MembershipFeatureConfig = OrgFeatureConfig;
|
|
3645
3640
|
/**
|
|
3646
3641
|
* User-global config (stored in users.config)
|
|
3647
3642
|
* Theme and onboarding are user-specific, NOT org-specific
|
|
@@ -3753,7 +3748,7 @@ interface MembershipWithDetails extends OrganizationMembership {
|
|
|
3753
3748
|
is_test?: boolean;
|
|
3754
3749
|
status?: string;
|
|
3755
3750
|
metadata?: Record<string, unknown>;
|
|
3756
|
-
config?:
|
|
3751
|
+
config?: Record<string, unknown>;
|
|
3757
3752
|
};
|
|
3758
3753
|
config?: MembershipFeatureConfig;
|
|
3759
3754
|
}
|
|
@@ -6940,7 +6935,7 @@ interface OrganizationContextValue {
|
|
|
6940
6935
|
*/
|
|
6941
6936
|
declare function useOrganization(): OrganizationContextValue;
|
|
6942
6937
|
|
|
6943
|
-
type RestrictionSource = '
|
|
6938
|
+
type RestrictionSource = 'membership' | null;
|
|
6944
6939
|
interface FeatureAccessResult {
|
|
6945
6940
|
allowed: boolean;
|
|
6946
6941
|
restrictedBy: RestrictionSource;
|
|
@@ -6951,7 +6946,6 @@ interface FeatureAccessResult {
|
|
|
6951
6946
|
*
|
|
6952
6947
|
* @param useInitialization - Initialization hook providing `profile` and `organizationReady`
|
|
6953
6948
|
* @param useOrganization - Organization hook providing `currentMembership`
|
|
6954
|
-
* @param optInFeatures - Feature keys that are disabled by default (must be explicitly enabled)
|
|
6955
6949
|
*
|
|
6956
6950
|
* @example
|
|
6957
6951
|
* ```typescript
|
|
@@ -6963,17 +6957,15 @@ interface FeatureAccessResult {
|
|
|
6963
6957
|
* export const useFeatureAccess = createUseFeatureAccess({
|
|
6964
6958
|
* useInitialization,
|
|
6965
6959
|
* useOrganization,
|
|
6966
|
-
* optInFeatures: ['acquisition', 'calibration'],
|
|
6967
6960
|
* })
|
|
6968
6961
|
* ```
|
|
6969
6962
|
*/
|
|
6970
|
-
declare function createUseFeatureAccess({ useInitialization, useOrganization
|
|
6963
|
+
declare function createUseFeatureAccess({ useInitialization, useOrganization }: {
|
|
6971
6964
|
useInitialization: () => Pick<AppInitializationState, 'profile' | 'organizationReady'>;
|
|
6972
6965
|
useOrganization: () => Pick<OrganizationContextValue, 'currentMembership'>;
|
|
6973
|
-
optInFeatures?: string[];
|
|
6974
6966
|
}): () => {
|
|
6975
|
-
orgConfig:
|
|
6976
|
-
membershipConfig:
|
|
6967
|
+
orgConfig: Record<string, unknown> | undefined;
|
|
6968
|
+
membershipConfig: MembershipFeatureConfig | undefined;
|
|
6977
6969
|
userConfig: UserConfig | undefined;
|
|
6978
6970
|
hasFeature: (featureKey: string) => boolean;
|
|
6979
6971
|
checkFeature: (featureKey: string) => FeatureAccessResult;
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { useAvailablePresets } from './chunk-
|
|
1
|
+
export { useAvailablePresets } from './chunk-E72FC2ZF.js';
|
|
2
2
|
import './chunk-XCYKC6OZ.js';
|
|
3
|
-
export { ApiKeyService, CredentialService, DeploymentService, OrganizationMembershipService, WebhookEndpointService, filterByDomainFilters, useActivateDeployment, useActivityFilters, useCommandViewDomainFilters, useCreateApiKey, useCreateCredential, useCreateWebhookEndpoint, useCredentials, useDeactivateDeployment, useDeactivateMembership, useDeleteApiKey, useDeleteCredential, useDeleteDeployment, useDeleteWebhookEndpoint, useExecutionLogsFilters, useListApiKeys, useListDeployments, useListWebhookEndpoints, useOrganizationMembers, useReactivateMembership, useResourceSearch, useResourcesDomainFilters, useStatusFilter, useTimeRangeDates, useUpdateApiKey, useUpdateCredential, useUpdateMemberConfig, useUpdateWebhookEndpoint, useUserMemberships, useVisibleResources } from './chunk-
|
|
4
|
-
export { OperationsService, createUseFeatureAccess, executionsKeys, isSessionCapable, operationsKeys, scheduleKeys, sessionsKeys, sortData, useActivities, useActivityTrend, useArchiveSession, useArchivedLogs, useBatchDelete, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewLayout, useCommandViewStats, useCommandViewStore, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateSchedule, useCreateSession, useDashboardMetrics, useDeleteExecution, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeploymentDocs, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAsync, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionPanelState, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphStats, useListSchedules, useMarkAllAsRead, useMarkAsRead, useNotificationCount, useNotifications, usePaginationState, usePatchTask, usePauseSchedule, useRecentExecutionsByResource, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResources, useResourcesHealth, useResumeSchedule, useRetryExecution, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useSubmitAction, useSuccessNotification, useTableSelection, useTableSort, useTestNotification, useTopFailingResources, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateSchedule, useWarningNotification } from './chunk-
|
|
3
|
+
export { ApiKeyService, CredentialService, DeploymentService, OrganizationMembershipService, WebhookEndpointService, filterByDomainFilters, useActivateDeployment, useActivityFilters, useCommandViewDomainFilters, useCreateApiKey, useCreateCredential, useCreateWebhookEndpoint, useCredentials, useDeactivateDeployment, useDeactivateMembership, useDeleteApiKey, useDeleteCredential, useDeleteDeployment, useDeleteWebhookEndpoint, useExecutionLogsFilters, useListApiKeys, useListDeployments, useListWebhookEndpoints, useOrganizationMembers, useReactivateMembership, useResourceSearch, useResourcesDomainFilters, useStatusFilter, useTimeRangeDates, useUpdateApiKey, useUpdateCredential, useUpdateMemberConfig, useUpdateWebhookEndpoint, useUserMemberships, useVisibleResources } from './chunk-VPQU5BRN.js';
|
|
4
|
+
export { OperationsService, createUseFeatureAccess, executionsKeys, isSessionCapable, operationsKeys, scheduleKeys, sessionsKeys, sortData, useActivities, useActivityTrend, useArchiveSession, useArchivedLogs, useBatchDelete, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewLayout, useCommandViewStats, useCommandViewStore, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateSchedule, useCreateSession, useDashboardMetrics, useDeleteExecution, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeploymentDocs, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAsync, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionPanelState, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphStats, useListSchedules, useMarkAllAsRead, useMarkAsRead, useNotificationCount, useNotifications, usePaginationState, usePatchTask, usePauseSchedule, useRecentExecutionsByResource, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResources, useResourcesHealth, useResumeSchedule, useRetryExecution, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useSubmitAction, useSuccessNotification, useTableSelection, useTableSort, useTestNotification, useTopFailingResources, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateSchedule, useWarningNotification } from './chunk-AMLON3UW.js';
|
|
5
5
|
export { observabilityKeys, useErrorTrends } from './chunk-EQNXEBGZ.js';
|
|
6
6
|
import './chunk-NJJ3NQ7B.js';
|
|
7
7
|
export { TanStackRouterBridge } from './chunk-LHQTTUL2.js';
|
|
@@ -11,8 +11,8 @@ import './chunk-ELJIFLCB.js';
|
|
|
11
11
|
export { createOrganizationsSlice, createUseOrgInitialization, createUseOrganizations } from './chunk-GU46QC4Z.js';
|
|
12
12
|
export { createUseAppInitialization } from './chunk-CKFTPEBC.js';
|
|
13
13
|
import './chunk-RNP5R5I3.js';
|
|
14
|
-
export { ElevasisUIProvider } from './chunk-
|
|
15
|
-
export { PresetsProvider, TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, generateShades, getPreset, mantineThemeOverride, PRESETS as presets, usePresetsContext } from './chunk-
|
|
14
|
+
export { ElevasisUIProvider } from './chunk-QDHIJVQ2.js';
|
|
15
|
+
export { PresetsProvider, TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, generateShades, getPreset, mantineThemeOverride, PRESETS as presets, usePresetsContext } from './chunk-6ZNKDPAO.js';
|
|
16
16
|
import './chunk-TBRTRBJV.js';
|
|
17
17
|
import './chunk-SZHARWKU.js';
|
|
18
18
|
export { ElevasisCoreProvider, NotificationProvider, useNotificationAdapter } from './chunk-BUN337J3.js';
|
|
@@ -2349,16 +2349,16 @@ type SupabaseUserProfile = Tables<'users'>;
|
|
|
2349
2349
|
* Multi-tenancy configuration types
|
|
2350
2350
|
*
|
|
2351
2351
|
* Config is stored in dedicated `config` columns (NOT nested in metadata):
|
|
2352
|
-
* - organizations.config: Org-level feature
|
|
2352
|
+
* - organizations.config: Org-level config (no feature toggles -- all features available by default)
|
|
2353
2353
|
* - org_memberships.config: Per-user-per-org feature overrides
|
|
2354
2354
|
* - users.config: User-global config
|
|
2355
2355
|
*/
|
|
2356
2356
|
/**
|
|
2357
|
-
*
|
|
2358
|
-
* Controls which features
|
|
2357
|
+
* Per-user-per-org config (stored in org_memberships.config)
|
|
2358
|
+
* Controls which features a specific member can access within their org
|
|
2359
2359
|
* Valid feature keys: operations, monitoring, acquisition, calibration, seo
|
|
2360
2360
|
*/
|
|
2361
|
-
interface
|
|
2361
|
+
interface MembershipFeatureConfig {
|
|
2362
2362
|
features?: {
|
|
2363
2363
|
operations?: boolean;
|
|
2364
2364
|
monitoring?: boolean;
|
|
@@ -2367,11 +2367,6 @@ interface OrgFeatureConfig {
|
|
|
2367
2367
|
seo?: boolean;
|
|
2368
2368
|
};
|
|
2369
2369
|
}
|
|
2370
|
-
/**
|
|
2371
|
-
* Per-user-per-org config (stored in org_memberships.config)
|
|
2372
|
-
* Overrides org-level feature config for specific users
|
|
2373
|
-
*/
|
|
2374
|
-
type MembershipFeatureConfig = OrgFeatureConfig;
|
|
2375
2370
|
|
|
2376
2371
|
/**
|
|
2377
2372
|
* Organization Membership types based on WorkOS API
|
|
@@ -2407,7 +2402,7 @@ interface MembershipWithDetails extends OrganizationMembership {
|
|
|
2407
2402
|
is_test?: boolean;
|
|
2408
2403
|
status?: string;
|
|
2409
2404
|
metadata?: Record<string, unknown>;
|
|
2410
|
-
config?:
|
|
2405
|
+
config?: Record<string, unknown>;
|
|
2411
2406
|
};
|
|
2412
2407
|
config?: MembershipFeatureConfig;
|
|
2413
2408
|
}
|
package/dist/layout/index.d.ts
CHANGED
|
@@ -6,6 +6,32 @@ declare const sidebarCollapsedWidth = 72;
|
|
|
6
6
|
declare const sidebarTransitionDuration = 200;
|
|
7
7
|
declare const sidebarHoverDelay = 100;
|
|
8
8
|
declare const topbarHeight = 54;
|
|
9
|
+
/** Height of a main navigation button (px) */
|
|
10
|
+
declare const sidebarItemHeight = 42;
|
|
11
|
+
/** Padding inside main navigation buttons (px) */
|
|
12
|
+
declare const sidebarItemPadding = 10;
|
|
13
|
+
/** Vertical gap between main navigation items (px) */
|
|
14
|
+
declare const sidebarItemGap = 4;
|
|
15
|
+
/** Padding around the nav links scroll area (Mantine spacing token) */
|
|
16
|
+
declare const sidebarSectionPadding = "var(--mantine-spacing-sm)";
|
|
17
|
+
/** Left indent for sub-link items (px) */
|
|
18
|
+
declare const sidebarSubLinkIndent = 44;
|
|
19
|
+
/** ThemeIcon container size in main nav buttons (px) */
|
|
20
|
+
declare const sidebarIconSize = 24;
|
|
21
|
+
/** Icon stroke width inside nav buttons */
|
|
22
|
+
declare const sidebarIconStroke = 1.6;
|
|
23
|
+
/** Actual icon size inside the ThemeIcon (px) */
|
|
24
|
+
declare const sidebarIconInnerSize = 20;
|
|
25
|
+
/** Collapse/expand toggle icon size (px) */
|
|
26
|
+
declare const sidebarToggleIconSize = 20;
|
|
27
|
+
/** Vertical padding for sub-link items (px) */
|
|
28
|
+
declare const sidebarSubLinkPaddingY = 6;
|
|
29
|
+
/** Horizontal padding for sub-link items (px) */
|
|
30
|
+
declare const sidebarSubLinkPaddingX = 10;
|
|
31
|
+
/** Icon size in CollapsibleSidebarGroup chevrons (px) */
|
|
32
|
+
declare const sidebarGroupChevronSize = 14;
|
|
33
|
+
/** Icon size in SidebarListItem (px) */
|
|
34
|
+
declare const sidebarListItemIconSize = 14;
|
|
9
35
|
|
|
10
36
|
declare function AppBackground({ children }: {
|
|
11
37
|
children?: ReactNode;
|
|
@@ -136,6 +162,7 @@ interface SidebarNestedProps {
|
|
|
136
162
|
profilePictureUrl?: string | null;
|
|
137
163
|
};
|
|
138
164
|
onLogout?: () => void;
|
|
165
|
+
onAccountClick?: () => void;
|
|
139
166
|
className?: string;
|
|
140
167
|
logo?: string;
|
|
141
168
|
}
|
|
@@ -330,5 +357,5 @@ declare const TopbarContainer: ({ children }: {
|
|
|
330
357
|
children: React.ReactNode;
|
|
331
358
|
}) => react_jsx_runtime.JSX.Element;
|
|
332
359
|
|
|
333
|
-
export { AppBackground, AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, CollapsibleSidebarGroup, FilmGrain, FloatingOrbs, LinksGroup, PageContainer, PerspectiveGrid, RadiantGlow, Sidebar, SidebarListItem, SidebarProvider, SubshellContainer, SubshellContentContainer, SubshellLoader, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarSection, Topbar, TopbarContainer, Vignette, sidebarCollapsedWidth, sidebarHoverDelay, sidebarTransitionDuration, sidebarWidth, subsidebarWidth, topbarHeight, useSidebar, useSidebarCollapse };
|
|
360
|
+
export { AppBackground, AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, CollapsibleSidebarGroup, FilmGrain, FloatingOrbs, LinksGroup, PageContainer, PerspectiveGrid, RadiantGlow, Sidebar, SidebarListItem, SidebarProvider, SubshellContainer, SubshellContentContainer, SubshellLoader, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarSection, Topbar, TopbarContainer, Vignette, sidebarCollapsedWidth, sidebarGroupChevronSize, sidebarHoverDelay, sidebarIconInnerSize, sidebarIconSize, sidebarIconStroke, sidebarItemGap, sidebarItemHeight, sidebarItemPadding, sidebarListItemIconSize, sidebarSectionPadding, sidebarSubLinkIndent, sidebarSubLinkPaddingX, sidebarSubLinkPaddingY, sidebarToggleIconSize, sidebarTransitionDuration, sidebarWidth, subsidebarWidth, topbarHeight, useSidebar, useSidebarCollapse };
|
|
334
361
|
export type { CollapsibleSidebarGroupProps, LinkItem, LinksGroupProps, SidebarListItemProps, SidebarNestedProps, SubshellContainerProps, SubshellContentContainerProps, SubshellRightSideContainerProps, SubshellSidebarContainerProps, SubshellSidebarProps, SubshellSidebarSectionProps, TopbarProps };
|
package/dist/layout/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, CollapsibleSidebarGroup, LinksGroup, PageContainer, Sidebar, SidebarListItem, SidebarProvider, SubshellContainer, SubshellContentContainer, SubshellLoader, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarSection, Topbar, TopbarContainer, Vignette,
|
|
2
|
-
|
|
1
|
+
export { AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, CollapsibleSidebarGroup, LinksGroup, PageContainer, Sidebar, SidebarListItem, SidebarProvider, SubshellContainer, SubshellContentContainer, SubshellLoader, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarSection, Topbar, TopbarContainer, Vignette, subsidebarWidth, useSidebar, useSidebarCollapse } from '../chunk-YKHTHRLN.js';
|
|
2
|
+
export { sidebarCollapsedWidth, sidebarGroupChevronSize, sidebarHoverDelay, sidebarIconInnerSize, sidebarIconSize, sidebarIconStroke, sidebarItemGap, sidebarItemHeight, sidebarItemPadding, sidebarListItemIconSize, sidebarSectionPadding, sidebarSubLinkIndent, sidebarSubLinkPaddingX, sidebarSubLinkPaddingY, sidebarToggleIconSize, sidebarTransitionDuration, sidebarWidth, topbarHeight } from '../chunk-MYRCM7VD.js';
|
|
3
3
|
import '../chunk-LHQTTUL2.js';
|
|
4
4
|
export { AppBackground, FilmGrain, FloatingOrbs, PerspectiveGrid, RadiantGlow } from '../chunk-TBRTRBJV.js';
|
|
5
5
|
import '../chunk-SZHARWKU.js';
|
|
@@ -6,16 +6,16 @@ import { UseBoundStore, StoreApi } from 'zustand';
|
|
|
6
6
|
* Multi-tenancy configuration types
|
|
7
7
|
*
|
|
8
8
|
* Config is stored in dedicated `config` columns (NOT nested in metadata):
|
|
9
|
-
* - organizations.config: Org-level feature
|
|
9
|
+
* - organizations.config: Org-level config (no feature toggles -- all features available by default)
|
|
10
10
|
* - org_memberships.config: Per-user-per-org feature overrides
|
|
11
11
|
* - users.config: User-global config
|
|
12
12
|
*/
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
15
|
-
* Controls which features
|
|
14
|
+
* Per-user-per-org config (stored in org_memberships.config)
|
|
15
|
+
* Controls which features a specific member can access within their org
|
|
16
16
|
* Valid feature keys: operations, monitoring, acquisition, calibration, seo
|
|
17
17
|
*/
|
|
18
|
-
interface
|
|
18
|
+
interface MembershipFeatureConfig {
|
|
19
19
|
features?: {
|
|
20
20
|
operations?: boolean;
|
|
21
21
|
monitoring?: boolean;
|
|
@@ -24,11 +24,6 @@ interface OrgFeatureConfig {
|
|
|
24
24
|
seo?: boolean;
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
/**
|
|
28
|
-
* Per-user-per-org config (stored in org_memberships.config)
|
|
29
|
-
* Overrides org-level feature config for specific users
|
|
30
|
-
*/
|
|
31
|
-
type MembershipFeatureConfig = OrgFeatureConfig;
|
|
32
27
|
|
|
33
28
|
/**
|
|
34
29
|
* Organization Membership types based on WorkOS API
|
|
@@ -64,7 +59,7 @@ interface MembershipWithDetails extends OrganizationMembership {
|
|
|
64
59
|
is_test?: boolean;
|
|
65
60
|
status?: string;
|
|
66
61
|
metadata?: Record<string, unknown>;
|
|
67
|
-
config?:
|
|
62
|
+
config?: Record<string, unknown>;
|
|
68
63
|
};
|
|
69
64
|
config?: MembershipFeatureConfig;
|
|
70
65
|
}
|
package/dist/provider/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { ElevasisUIProvider } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { ElevasisUIProvider } from '../chunk-QDHIJVQ2.js';
|
|
2
|
+
import '../chunk-6ZNKDPAO.js';
|
|
3
3
|
import '../chunk-TBRTRBJV.js';
|
|
4
4
|
import '../chunk-SZHARWKU.js';
|
|
5
5
|
export { ElevasisCoreProvider, NotificationProvider, useNotificationAdapter } from '../chunk-BUN337J3.js';
|
package/dist/theme/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { useAvailablePresets } from '../chunk-
|
|
2
|
-
export { PresetsProvider, TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, generateShades, getPreset, mantineThemeOverride, PRESETS as presets, usePresetsContext } from '../chunk-
|
|
1
|
+
export { useAvailablePresets } from '../chunk-E72FC2ZF.js';
|
|
2
|
+
export { PresetsProvider, TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, generateShades, getPreset, mantineThemeOverride, PRESETS as presets, usePresetsContext } from '../chunk-6ZNKDPAO.js';
|
package/dist/types/index.d.ts
CHANGED
|
@@ -2915,16 +2915,16 @@ interface SessionTokenUsage {
|
|
|
2915
2915
|
* Multi-tenancy configuration types
|
|
2916
2916
|
*
|
|
2917
2917
|
* Config is stored in dedicated `config` columns (NOT nested in metadata):
|
|
2918
|
-
* - organizations.config: Org-level feature
|
|
2918
|
+
* - organizations.config: Org-level config (no feature toggles -- all features available by default)
|
|
2919
2919
|
* - org_memberships.config: Per-user-per-org feature overrides
|
|
2920
2920
|
* - users.config: User-global config
|
|
2921
2921
|
*/
|
|
2922
2922
|
/**
|
|
2923
|
-
*
|
|
2924
|
-
* Controls which features
|
|
2923
|
+
* Per-user-per-org config (stored in org_memberships.config)
|
|
2924
|
+
* Controls which features a specific member can access within their org
|
|
2925
2925
|
* Valid feature keys: operations, monitoring, acquisition, calibration, seo
|
|
2926
2926
|
*/
|
|
2927
|
-
interface
|
|
2927
|
+
interface MembershipFeatureConfig {
|
|
2928
2928
|
features?: {
|
|
2929
2929
|
operations?: boolean;
|
|
2930
2930
|
monitoring?: boolean;
|
|
@@ -2933,11 +2933,6 @@ interface OrgFeatureConfig {
|
|
|
2933
2933
|
seo?: boolean;
|
|
2934
2934
|
};
|
|
2935
2935
|
}
|
|
2936
|
-
/**
|
|
2937
|
-
* Per-user-per-org config (stored in org_memberships.config)
|
|
2938
|
-
* Overrides org-level feature config for specific users
|
|
2939
|
-
*/
|
|
2940
|
-
type MembershipFeatureConfig = OrgFeatureConfig;
|
|
2941
2936
|
/**
|
|
2942
2937
|
* User-global config (stored in users.config)
|
|
2943
2938
|
* Theme and onboarding are user-specific, NOT org-specific
|
|
@@ -3028,7 +3023,7 @@ interface MembershipWithDetails extends OrganizationMembership {
|
|
|
3028
3023
|
is_test?: boolean;
|
|
3029
3024
|
status?: string;
|
|
3030
3025
|
metadata?: Record<string, unknown>;
|
|
3031
|
-
config?:
|
|
3026
|
+
config?: Record<string, unknown>;
|
|
3032
3027
|
};
|
|
3033
3028
|
config?: MembershipFeatureConfig;
|
|
3034
3029
|
}
|
|
@@ -7109,4 +7104,4 @@ interface CommandViewStatsResponse {
|
|
|
7109
7104
|
generatedAt: string
|
|
7110
7105
|
}
|
|
7111
7106
|
|
|
7112
|
-
export type { AIResourceDefinition, APIExecutionDetail, APIExecutionListResponse, APIExecutionSummary, AbsoluteScheduleConfig, AbsoluteScheduleItem, ActionConfig, Activity, ActivitySSEEvent, ActivityStatus, ActivityType, AgentIterationData, AgentMemory, ApiKeyListItem, BusinessImpactMetrics, CalibrationProject, CalibrationRun, CalibrationRunWithFullData, CalibrationSSEEvent, ChatMessage, CheckpointListResponse, CommandQueueSSEEvent, CommandViewAgent, CommandViewData, CommandViewNode, CommandViewNodeType, CommandViewStatsResponse, CommandViewWorkflow, ConfigVariant, CostBreakdownMetrics, CostByModelResponse, CostSummaryResponse, CostTrendsResponse, CreateCalibrationProjectInput, CreateCalibrationRunInput, CreateWebhookEndpointRequest, CredentialListItem, DashboardMetrics, Deployment, DeploymentStatus, DomainDefinition, ErrorAnalysisMetrics, ErrorDetailFull, ErrorDetailResponse, ErrorTrend, ExecutionHealthMetrics, ExecutionHistoryItem, ExecutionHistoryResponse, ExecutionLog, ExecutionLogMessage, ExecutionMetricsDetail, ExecutionSSEEvent, ExecutionStatus$1 as ExecutionStatus, ExecutionSummary, FailingResource, GradingRubric, HumanCheckpointDefinition, HumanCheckpointStats, ListMembershipsParams, MembershipFeatureConfig, MembershipStatus, MembershipWithDetails, MessageEvent$1 as MessageEvent, MessageType, ModelConfig, NotificationDTO, NotificationSSEEvent,
|
|
7107
|
+
export type { AIResourceDefinition, APIExecutionDetail, APIExecutionListResponse, APIExecutionSummary, AbsoluteScheduleConfig, AbsoluteScheduleItem, ActionConfig, Activity, ActivitySSEEvent, ActivityStatus, ActivityType, AgentIterationData, AgentMemory, ApiKeyListItem, BusinessImpactMetrics, CalibrationProject, CalibrationRun, CalibrationRunWithFullData, CalibrationSSEEvent, ChatMessage, CheckpointListResponse, CommandQueueSSEEvent, CommandViewAgent, CommandViewData, CommandViewNode, CommandViewNodeType, CommandViewStatsResponse, CommandViewWorkflow, ConfigVariant, CostBreakdownMetrics, CostByModelResponse, CostSummaryResponse, CostTrendsResponse, CreateCalibrationProjectInput, CreateCalibrationRunInput, CreateWebhookEndpointRequest, CredentialListItem, DashboardMetrics, Deployment, DeploymentStatus, DomainDefinition, ErrorAnalysisMetrics, ErrorDetailFull, ErrorDetailResponse, ErrorTrend, ExecutionHealthMetrics, ExecutionHistoryItem, ExecutionHistoryResponse, ExecutionLog, ExecutionLogMessage, ExecutionMetricsDetail, ExecutionSSEEvent, ExecutionStatus$1 as ExecutionStatus, ExecutionSummary, FailingResource, GradingRubric, HumanCheckpointDefinition, HumanCheckpointStats, ListMembershipsParams, MembershipFeatureConfig, MembershipStatus, MembershipWithDetails, MessageEvent$1 as MessageEvent, MessageType, ModelConfig, NotificationDTO, NotificationSSEEvent, PatchTaskParams, RecentExecutionsByResourceResponse, RecurringScheduleConfig, RelativeScheduleConfig, RelativeScheduleItem, ResourceDefinition$1 as ResourceDefinition, ResourceDomain, ResourceErrorsResponse, ResourceExecutionSummary, ResourceExecutionsResponse, ResourceHealth, ResourceIdentifier, ResourceStats, ResourceStatus$1 as ResourceStatus, ResourceType$1 as ResourceType, ResourcesHealthResponse, SerializedAgentDefinition, SerializedExecutionInterface, SerializedWorkflowDefinition, SessionCalibrationResult, SessionDTO, SessionTokenUsage, SingleCalibrationResult, StatsTimeRange, SupabaseUserProfile, Task, TaskSchedule, TaskScheduleConfig, TaskStatus, TimeRange, WorkflowNodeVisualizerData as TimelineData, UpdateCalibrationProjectInput, UpdateWebhookEndpointRequest, UserConfig, WebhookEndpoint, WebhookEndpointResponse };
|
package/package.json
CHANGED
|
@@ -1121,11 +1121,11 @@ var PRESETS = {
|
|
|
1121
1121
|
description: "Regal black and gold aesthetic",
|
|
1122
1122
|
colors: ["#D4A843", "#080604", "#F5F0E8"]
|
|
1123
1123
|
},
|
|
1124
|
-
|
|
1125
|
-
...
|
|
1126
|
-
label: "
|
|
1127
|
-
description: "
|
|
1128
|
-
colors: ["#
|
|
1124
|
+
slate: {
|
|
1125
|
+
...slatePreset,
|
|
1126
|
+
label: "Slate",
|
|
1127
|
+
description: "Industrial precision",
|
|
1128
|
+
colors: ["#7B9EBC", "#0C1016", "#ECEEF0"]
|
|
1129
1129
|
},
|
|
1130
1130
|
aurora: {
|
|
1131
1131
|
...auroraPreset,
|
|
@@ -1175,11 +1175,11 @@ var PRESETS = {
|
|
|
1175
1175
|
description: "Lush forest grounding",
|
|
1176
1176
|
colors: ["#4AA860", "#080F0A", "#EDF3EE"]
|
|
1177
1177
|
},
|
|
1178
|
-
|
|
1179
|
-
...
|
|
1180
|
-
label: "
|
|
1181
|
-
description: "
|
|
1182
|
-
colors: ["#
|
|
1178
|
+
"cyber-volt": {
|
|
1179
|
+
...cyberVoltPreset,
|
|
1180
|
+
label: "Cyber-Volt",
|
|
1181
|
+
description: "Neon-soaked sci-fi interface",
|
|
1182
|
+
colors: ["#00E5FF", "#0A0E14", "#E8EDF2"]
|
|
1183
1183
|
},
|
|
1184
1184
|
"cyber-strike": {
|
|
1185
1185
|
...cyberStrikePreset,
|