@elevasis/ui 2.39.1 → 2.39.3
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/api/index.js +3 -3
- package/dist/app/index.css +12 -2
- package/dist/app/index.d.ts +18 -0
- package/dist/app/index.js +10 -10
- package/dist/auth/index.js +5 -5
- package/dist/charts/index.js +8 -8
- package/dist/{chunk-N4IO4CQO.js → chunk-4DRI3G36.js} +2 -2
- package/dist/{chunk-D3EWFGLF.js → chunk-7MTWRSUZ.js} +3 -3
- package/dist/{chunk-GTTMOKIB.js → chunk-7PHY5ONQ.js} +1 -1
- package/dist/{chunk-AIP3GC2N.js → chunk-CTJBPF3Z.js} +1 -1
- package/dist/{chunk-MEOXQKW6.js → chunk-EEG6ALQR.js} +270 -213
- package/dist/{chunk-AVQPF7PE.js → chunk-IUQAP4IO.js} +2 -2
- package/dist/{chunk-2XBCYJS3.js → chunk-J3FLIZY4.js} +2 -2
- package/dist/{chunk-FZIPSE3S.js → chunk-K7GKKETO.js} +1 -1
- package/dist/{chunk-MWRFFGOH.js → chunk-LJDYY3XB.js} +1 -1
- package/dist/{chunk-PRMWQA5R.js → chunk-LY3YTQC6.js} +4 -4
- package/dist/{chunk-ZPRCGNZT.js → chunk-NKEXXL4O.js} +5 -5
- package/dist/{chunk-PE3FAAW3.js → chunk-RH5VWWSC.js} +3 -1
- package/dist/{chunk-PFPM654Z.js → chunk-RXH4D6TY.js} +1 -1
- package/dist/{chunk-IOSJHARH.js → chunk-TE4P6OSJ.js} +1 -1
- package/dist/components/index.css +12 -2
- package/dist/components/index.d.ts +18 -0
- package/dist/components/index.js +13 -13
- package/dist/components/navigation/index.js +4 -4
- package/dist/features/auth/index.css +12 -2
- package/dist/features/auth/index.d.ts +18 -0
- package/dist/features/auth/index.js +14 -14
- package/dist/features/clients/index.css +12 -2
- package/dist/features/clients/index.js +13 -13
- package/dist/features/crm/index.css +12 -2
- package/dist/features/crm/index.d.ts +18 -0
- package/dist/features/crm/index.js +13 -13
- package/dist/features/dashboard/index.css +12 -2
- package/dist/features/dashboard/index.js +13 -13
- package/dist/features/delivery/index.css +12 -2
- package/dist/features/delivery/index.d.ts +18 -0
- package/dist/features/delivery/index.js +13 -13
- package/dist/features/knowledge/index.js +4 -4
- package/dist/features/lead-gen/index.css +12 -2
- package/dist/features/lead-gen/index.js +13 -13
- package/dist/features/monitoring/index.css +12 -2
- package/dist/features/monitoring/index.js +13 -13
- package/dist/features/monitoring/requests/index.css +12 -2
- package/dist/features/monitoring/requests/index.js +13 -13
- package/dist/features/operations/index.css +12 -2
- package/dist/features/operations/index.js +13 -13
- package/dist/features/settings/index.css +12 -2
- package/dist/features/settings/index.d.ts +27 -3
- package/dist/features/settings/index.js +13 -13
- package/dist/hooks/access/index.js +4 -4
- package/dist/hooks/delivery/index.css +12 -2
- package/dist/hooks/delivery/index.d.ts +18 -0
- package/dist/hooks/delivery/index.js +13 -13
- package/dist/hooks/index.css +12 -2
- package/dist/hooks/index.d.ts +18 -0
- package/dist/hooks/index.js +13 -13
- package/dist/hooks/published.css +12 -2
- package/dist/hooks/published.d.ts +18 -0
- package/dist/hooks/published.js +13 -13
- package/dist/index.css +12 -2
- package/dist/index.d.ts +18 -0
- package/dist/index.js +13 -13
- package/dist/initialization/index.d.ts +18 -0
- package/dist/knowledge/index.js +5 -5
- package/dist/organization/index.css +12 -2
- package/dist/organization/index.js +13 -13
- package/dist/profile/index.d.ts +18 -0
- package/dist/provider/index.css +12 -2
- package/dist/provider/index.d.ts +18 -0
- package/dist/provider/index.js +10 -10
- package/dist/provider/published.d.ts +18 -0
- package/dist/provider/published.js +9 -9
- package/dist/supabase/index.d.ts +36 -0
- package/dist/test-utils/index.js +3 -3
- package/dist/types/index.d.ts +18 -0
- package/dist/utils/index.js +2 -2
- package/package.json +4 -4
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useAvailablePresets } from './chunk-B2DZLPDL.js';
|
|
2
2
|
import { useSupabase } from './chunk-BRXELOHC.js';
|
|
3
|
-
import { useBreadcrumbs } from './chunk-
|
|
3
|
+
import { useBreadcrumbs } from './chunk-7PHY5ONQ.js';
|
|
4
4
|
import { ChatHeader, ChatSidebar } from './chunk-CXY7FMUM.js';
|
|
5
|
-
import { observabilityKeys, useCyberColors, CyberLegendItem, CyberAreaChart, CyberDonut, HeroStatsRow, CostTrendChart, ActivityTrendChart } from './chunk-
|
|
5
|
+
import { observabilityKeys, useCyberColors, CyberLegendItem, CyberAreaChart, CyberDonut, HeroStatsRow, CostTrendChart, ActivityTrendChart } from './chunk-4DRI3G36.js';
|
|
6
6
|
import { DEFAULT_ORGANIZATION_GRAPH_FILTERS, ORGANIZATION_GRAPH_NODE_KIND_ORDER, ORGANIZATION_GRAPH_NODE_KIND_LABELS, ORGANIZATION_GRAPH_EDGE_KIND_LABELS, ORGANIZATION_GRAPH_NODE_KIND_DETAIL_LABELS, ORGANIZATION_GRAPH_NODE_KIND_MEANINGS, ORGANIZATION_GRAPH_EDGE_KIND_MEANINGS } from './chunk-5EYJ2GIN.js';
|
|
7
7
|
import { AppShellLoader, SubshellSidebarLoader, PageContainer, SubshellLoader, AppShellCenteredContainer } from './chunk-DA6I5VEY.js';
|
|
8
8
|
import { SubshellNavItem } from './chunk-X4WBGKJQ.js';
|
|
@@ -10,25 +10,25 @@ import { SubshellSidebarSection } from './chunk-IIMU5YAJ.js';
|
|
|
10
10
|
import { Graph_module_css_default, useDirectedChainHighlighting, useNodeSelection, useFitViewTrigger, useGraphHighlighting, calculateGraphHeight, GRAPH_CONSTANTS } from './chunk-HENXLGVD.js';
|
|
11
11
|
import { STATUS_COLORS, getStatusIcon, formatDuration, getStatusColors, AGENT_CONSTANTS, shouldAnimateEdge, TIMELINE_CONSTANTS, calculateBarPosition, CONTAINER_CONSTANTS, useExecutionPath, useUnifiedWorkflowLayout, WORKFLOW_CONSTANTS, useReactFlowAgent, getResourceStatusColor, useMergedExecution, useTimelineData, useAgentIterationData } from './chunk-7FPLLSHN.js';
|
|
12
12
|
import { glassBase } from './chunk-5JYKCULK.js';
|
|
13
|
-
import { useNotificationAdapter, useCrmActions, useListActions } from './chunk-
|
|
14
|
-
import { EmptyState, CenteredErrorState, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, GlowDot, JsonViewer, ListSkeleton, PageTitleCaption, StatCard, APIErrorAlert, CollapsibleSection, ActivityTimeline, ContextViewer, StatusBadge, TabCountBadge, ResourceCard } from './chunk-
|
|
13
|
+
import { useNotificationAdapter, useCrmActions, useListActions } from './chunk-LY3YTQC6.js';
|
|
14
|
+
import { EmptyState, CenteredErrorState, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, GlowDot, JsonViewer, ListSkeleton, PageTitleCaption, StatCard, APIErrorAlert, CollapsibleSection, ActivityTimeline, ContextViewer, StatusBadge, TabCountBadge, ResourceCard } from './chunk-CTJBPF3Z.js';
|
|
15
15
|
import { StyledMarkdown } from './chunk-3KMDHCAR.js';
|
|
16
16
|
import { CardHeader } from './chunk-S3XR4II4.js';
|
|
17
17
|
import { useAppearance, SubshellContentContainer } from './chunk-A7IG36LB.js';
|
|
18
|
-
import { HTTP_HEADERS } from './chunk-
|
|
18
|
+
import { HTTP_HEADERS } from './chunk-TE4P6OSJ.js';
|
|
19
19
|
import { topbarHeight } from './chunk-DT3QYZVU.js';
|
|
20
20
|
import { useRouterContext } from './chunk-Q7DJKLEN.js';
|
|
21
|
-
import { getErrorInfo, formatErrorMessage, getErrorTitle, isAPIClientError, getTimeRangeDates, formatBucketTime, PAGE_SIZE_DEFAULT, REFETCH_INTERVAL_DASHBOARD, REFETCH_INTERVAL_RUNNING, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, APIClientError, formatDateTime, getResourceIcon, formatTimeAgo, LEAD_GEN_API_INTERFACE, computeInterfaceReadiness, formatDate, formatRelativeTime, debounce, OAUTH_FLOW_TIMEOUT } from './chunk-
|
|
21
|
+
import { getErrorInfo, formatErrorMessage, getErrorTitle, isAPIClientError, getTimeRangeDates, formatBucketTime, PAGE_SIZE_DEFAULT, REFETCH_INTERVAL_DASHBOARD, REFETCH_INTERVAL_RUNNING, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, APIClientError, formatDateTime, getResourceIcon, formatTimeAgo, LEAD_GEN_API_INTERFACE, computeInterfaceReadiness, formatDate, formatRelativeTime, debounce, OAUTH_FLOW_TIMEOUT } from './chunk-RXH4D6TY.js';
|
|
22
22
|
import { ResourceStatusColors, toWorkflowLogMessages } from './chunk-KRWALB24.js';
|
|
23
|
-
import { useStableAccessToken } from './chunk-
|
|
24
|
-
import { useAccess, AccessKeys } from './chunk-
|
|
25
|
-
import { useOptionalElevasisSystems, useElevasisSystems } from './chunk-
|
|
23
|
+
import { useStableAccessToken, AccessGuard } from './chunk-LJDYY3XB.js';
|
|
24
|
+
import { useAccess, AccessKeys } from './chunk-7MTWRSUZ.js';
|
|
25
|
+
import { useOptionalElevasisSystems, useElevasisSystems } from './chunk-J3FLIZY4.js';
|
|
26
26
|
import { useInitialization } from './chunk-6DO4PE3O.js';
|
|
27
|
-
import { defineEntities, OrgKnowledgeNodeSchema, defineResources, defineActions, defineTopology, topologyRef, topologyRelationship, resolveOrganizationModel, projectOrganizationSurfaces, PROJECTS_VIEW_ACTION_ID, resolveSemanticIconComponent, buildOrganizationGraph, SemanticIcon } from './chunk-
|
|
27
|
+
import { defineEntities, OrgKnowledgeNodeSchema, defineResources, defineActions, defineTopology, topologyRef, topologyRelationship, resolveOrganizationModel, projectOrganizationSurfaces, PROJECTS_VIEW_ACTION_ID, resolveSemanticIconComponent, buildOrganizationGraph, SemanticIcon } from './chunk-K7GKKETO.js';
|
|
28
28
|
import { useOrganization } from './chunk-DD3CCMCZ.js';
|
|
29
29
|
import { useUserProfile } from './chunk-W2SFTXMT.js';
|
|
30
30
|
import { STALE_TIME_MONITORING, STALE_TIME_DEFAULT, STALE_TIME_ADMIN, GC_TIME_MEDIUM, GC_TIME_SHORT } from './chunk-6ROXVZ3L.js';
|
|
31
|
-
import { listAllSystems, getSystem, getAllBuildTemplates, getLeadGenStageCatalog, getResourcesForSystem, compileOrganizationOntology, getSystemAncestors } from './chunk-
|
|
31
|
+
import { listAllSystems, getSystem, getAllBuildTemplates, getLeadGenStageCatalog, getResourcesForSystem, compileOrganizationOntology, getSystemAncestors } from './chunk-RH5VWWSC.js';
|
|
32
32
|
import { useElevasisServices } from './chunk-2FTX4WO2.js';
|
|
33
33
|
import { brandWorkOsOrgId, brandSupabaseOrgId } from './chunk-MQZE7SUI.js';
|
|
34
34
|
import { ResourceTypeSchema, NonEmptyStringSchema, OriginResourceTypeSchema, UuidSchema, CredentialNameSchema } from './chunk-TVTSASST.js';
|
|
@@ -36,7 +36,7 @@ import { useAuthContext } from './chunk-BRJ3QZ4E.js';
|
|
|
36
36
|
import { z } from 'zod';
|
|
37
37
|
import { memo, useMemo, useRef, useEffect, cloneElement, useState, useCallback, useId, Fragment as Fragment$1, useDeferredValue, useEffectEvent } from 'react';
|
|
38
38
|
import { createUseExternalEvents, Paper, Stack, Text, Group, Badge, Box, useComputedColorScheme, Card, Title, Checkbox, Tooltip, Center, Modal, TextInput, Textarea, Loader, Alert, Button, Space, Table, Select, ActionIcon, SegmentedControl, NumberFormatter, Switch, Pagination, UnstyledButton, Divider, ScrollArea, Popover, Indicator, Collapse, ThemeIcon, SimpleGrid, Code, CopyButton, PasswordInput, Anchor, Menu, Timeline, useMantineTheme, RangeSlider, Progress, Tabs, Breadcrumbs as Breadcrumbs$1, NumberInput, ColorSwatch, RingProgress, Grid, LoadingOverlay, Accordion, MultiSelect, Radio, Pill, Drawer, Chip, JsonInput, TagsInput } from '@mantine/core';
|
|
39
|
-
import { IconPlayerPlay, IconPlayerStop, IconArrowsSplit, IconSquare, IconBrain, IconFileText, IconLayoutGrid, IconColumns, IconFileInvoice, IconNotes, IconBriefcase, IconChecklist, IconFlag, IconList, IconBuilding, IconAddressBook, IconMail, IconSend, IconClock, IconArrowUp, IconMessageCircle, IconRocket, IconEye, IconEdit, IconAlertTriangle, IconRefresh, IconX, IconCheck, IconTarget, IconActivity, IconCode, IconSettings, IconLock, IconShieldOff, IconChevronUp, IconChevronDown, IconSelector, IconTrash, IconChartBar, IconCircleCheck, IconThumbDown, IconThumbUp, IconCircleX, IconSearch, IconFilterOff, IconArrowUpRight, IconAlertCircle, IconExternalLink, IconChartPie, IconHeartbeat, IconDownload, IconCpu, IconTrendingUp, IconCash, IconInfoCircle, IconExclamationCircle, IconBug, IconChecks, IconCircle, IconCircleFilled, IconBell, IconFocus2, IconChevronRight, IconTool, IconClockHour4, IconVersions, IconNetwork, IconSitemap, IconPencil, IconKey, IconCalendar, IconExclamationMark, IconShieldLock, IconCopy, IconPlus, IconPower, IconTag, IconUsers, IconWebhook, IconReload, IconTerminal2, IconMessage, IconArrowLeft, IconCalendarRepeat, IconCalendarEvent, IconCalendarTime, IconRobot, IconGitBranch, IconDotsVertical, IconPlayerPause, IconCalendarDue, IconCalendarStats, IconCalendarOff, IconListCheck, IconFilter, IconCategory, IconDatabase, IconTrophy, IconClockExclamation, IconUser, IconHistory, IconCurrencyDollar, IconTargetArrow, IconMessages, IconInbox, IconBolt, IconRestore, IconArrowRight, IconSparkles, IconListDetails, IconLayoutDashboard, IconBuildingFactory2, IconFileDescription, IconApps, IconRoute, IconHandStop, IconAdjustmentsHorizontal, IconCircleDashed, IconFolders, IconBraces, IconTopologyStar3, IconLayoutSidebarRightExpand, IconNote, IconArchive, IconTimeline, IconPalette, IconBrandDropbox, IconBrandGoogleDrive, IconPlug, IconMailForward, IconArrowDown, IconUserX, IconUserCheck, IconFileOff, IconCheckbox, IconPhone, IconActivityHeartbeat, IconClockPause, IconArrowsMaximize, IconShare2, IconFolder, IconScript, IconPlugConnected } from '@tabler/icons-react';
|
|
39
|
+
import { IconPlayerPlay, IconPlayerStop, IconArrowsSplit, IconSquare, IconBrain, IconFileText, IconLayoutGrid, IconColumns, IconFileInvoice, IconNotes, IconBriefcase, IconChecklist, IconFlag, IconList, IconBuilding, IconAddressBook, IconMail, IconSend, IconClock, IconArrowUp, IconMessageCircle, IconRocket, IconEye, IconEdit, IconAlertTriangle, IconRefresh, IconX, IconCheck, IconTarget, IconActivity, IconCode, IconSettings, IconLock, IconShieldOff, IconChevronUp, IconChevronDown, IconSelector, IconTrash, IconChartBar, IconCircleCheck, IconThumbDown, IconThumbUp, IconCircleX, IconSearch, IconFilterOff, IconArrowUpRight, IconAlertCircle, IconExternalLink, IconChartPie, IconHeartbeat, IconDownload, IconCpu, IconTrendingUp, IconCash, IconInfoCircle, IconExclamationCircle, IconBug, IconChecks, IconCircle, IconCircleFilled, IconBell, IconFocus2, IconChevronRight, IconTool, IconClockHour4, IconVersions, IconNetwork, IconSitemap, IconPencil, IconKey, IconCalendar, IconExclamationMark, IconShieldLock, IconCopy, IconPlus, IconPower, IconTag, IconUsers, IconWebhook, IconReload, IconTerminal2, IconMessage, IconArrowLeft, IconCalendarRepeat, IconCalendarEvent, IconCalendarTime, IconRobot, IconGitBranch, IconDotsVertical, IconPlayerPause, IconCalendarDue, IconCalendarStats, IconCalendarOff, IconListCheck, IconFilter, IconCategory, IconDatabase, IconTrophy, IconClockExclamation, IconUser, IconHistory, IconCurrencyDollar, IconTargetArrow, IconMessages, IconInbox, IconBolt, IconRestore, IconArrowRight, IconSparkles, IconListDetails, IconLayoutDashboard, IconBuildingFactory2, IconFileDescription, IconApps, IconRoute, IconHandStop, IconAdjustmentsHorizontal, IconCircleDashed, IconFolders, IconBraces, IconTopologyStar3, IconLayoutSidebarRightExpand, IconNote, IconArchive, IconTimeline, IconPalette, IconStar, IconUserCog, IconUsersGroup, IconBrandDropbox, IconBrandGoogleDrive, IconPlug, IconMailForward, IconArrowDown, IconUserX, IconUserCheck, IconFileOff, IconCheckbox, IconPhone, IconActivityHeartbeat, IconClockPause, IconArrowsMaximize, IconShare2, IconFolder, IconScript, IconPlugConnected } from '@tabler/icons-react';
|
|
40
40
|
import * as runtime from 'react/jsx-runtime';
|
|
41
41
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
42
42
|
import { useForm } from '@mantine/form';
|
|
@@ -382,6 +382,8 @@ function getProspectingBuildTemplateOptions(templates) {
|
|
|
382
382
|
}));
|
|
383
383
|
}
|
|
384
384
|
function createBuildPlanSnapshotFromTemplate(template) {
|
|
385
|
+
const stepIdByStageKey = new Map(template.steps.map((step) => [step.stageKey, step.id]));
|
|
386
|
+
const stepIds = new Set(template.steps.map((step) => step.id));
|
|
385
387
|
return {
|
|
386
388
|
templateId: template.id,
|
|
387
389
|
templateLabel: template.label,
|
|
@@ -401,7 +403,11 @@ function createBuildPlanSnapshotFromTemplate(template) {
|
|
|
401
403
|
};
|
|
402
404
|
if (step.description) snapshotStep.description = step.description;
|
|
403
405
|
if (step.recordEntity) snapshotStep.recordEntity = step.recordEntity;
|
|
404
|
-
if (step.dependsOn?.length)
|
|
406
|
+
if (step.dependsOn?.length) {
|
|
407
|
+
snapshotStep.dependsOn = step.dependsOn.map(
|
|
408
|
+
(dependency) => stepIds.has(dependency) ? dependency : stepIdByStageKey.get(dependency) ?? dependency
|
|
409
|
+
);
|
|
410
|
+
}
|
|
405
411
|
if (step.credentialRequirements?.length) {
|
|
406
412
|
snapshotStep.credentialRequirements = step.credentialRequirements.map((requirement) => ({
|
|
407
413
|
...requirement
|
|
@@ -7535,18 +7541,18 @@ function NotificationItem({ notification, onClose, onNavigate }) {
|
|
|
7535
7541
|
}
|
|
7536
7542
|
);
|
|
7537
7543
|
}
|
|
7538
|
-
function NotificationList({ notifications:
|
|
7544
|
+
function NotificationList({ notifications: notifications14, isLoading, onClose, onNavigate }) {
|
|
7539
7545
|
if (isLoading) {
|
|
7540
7546
|
return /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Loader, { size: "sm" }) });
|
|
7541
7547
|
}
|
|
7542
|
-
if (
|
|
7548
|
+
if (notifications14.length === 0) {
|
|
7543
7549
|
return /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "No notifications" }) });
|
|
7544
7550
|
}
|
|
7545
|
-
return /* @__PURE__ */ jsx(Stack, { gap: 0, children:
|
|
7551
|
+
return /* @__PURE__ */ jsx(Stack, { gap: 0, children: notifications14.map((notification) => /* @__PURE__ */ jsx(NotificationItem, { notification, onClose, onNavigate }, notification.id)) });
|
|
7546
7552
|
}
|
|
7547
|
-
function NotificationPanel({ notifications:
|
|
7553
|
+
function NotificationPanel({ notifications: notifications14, isLoading, onClose, onNavigate }) {
|
|
7548
7554
|
const markAllAsRead = useMarkAllAsRead();
|
|
7549
|
-
const hasUnread =
|
|
7555
|
+
const hasUnread = notifications14.some((n) => !n.read);
|
|
7550
7556
|
const handleMarkAllAsRead = async () => {
|
|
7551
7557
|
await markAllAsRead.mutateAsync();
|
|
7552
7558
|
};
|
|
@@ -7559,7 +7565,7 @@ function NotificationPanel({ notifications: notifications15, isLoading, onClose,
|
|
|
7559
7565
|
/* @__PURE__ */ jsx(ScrollArea, { h: 400, type: "auto", children: /* @__PURE__ */ jsx(
|
|
7560
7566
|
NotificationList,
|
|
7561
7567
|
{
|
|
7562
|
-
notifications:
|
|
7568
|
+
notifications: notifications14,
|
|
7563
7569
|
isLoading,
|
|
7564
7570
|
onClose,
|
|
7565
7571
|
onNavigate
|
|
@@ -7580,14 +7586,14 @@ function NotificationBell({ unreadCount, onNavigate }) {
|
|
|
7580
7586
|
staleTime: 3e4
|
|
7581
7587
|
});
|
|
7582
7588
|
const { data, isLoading } = useNotifications({ limit: 20 });
|
|
7583
|
-
const
|
|
7589
|
+
const notifications14 = data?.notifications ?? [];
|
|
7584
7590
|
const count = unreadCount ?? apiCount;
|
|
7585
7591
|
return /* @__PURE__ */ jsxs(Popover, { opened, onChange: toggle, position: "bottom-end", width: 400, children: [
|
|
7586
7592
|
/* @__PURE__ */ jsx(Tooltip, { label: "Notifications", disabled: opened, children: /* @__PURE__ */ jsx(Popover.Target, { children: /* @__PURE__ */ jsx(Indicator, { label: count > 99 ? "99+" : count, disabled: count === 0, size: 16, offset: 4, children: /* @__PURE__ */ jsx(ActionIcon, { variant: "subtle", size: "lg", onClick: toggle, children: /* @__PURE__ */ jsx(IconBell, { size: 20, color: "var(--color-text-subtle)" }) }) }) }) }),
|
|
7587
7593
|
/* @__PURE__ */ jsx(Popover.Dropdown, { p: 0, children: /* @__PURE__ */ jsx(
|
|
7588
7594
|
NotificationPanel,
|
|
7589
7595
|
{
|
|
7590
|
-
notifications:
|
|
7596
|
+
notifications: notifications14,
|
|
7591
7597
|
isLoading,
|
|
7592
7598
|
onClose: close,
|
|
7593
7599
|
onNavigate
|
|
@@ -21301,6 +21307,127 @@ function useLeadGenConfig() {
|
|
|
21301
21307
|
};
|
|
21302
21308
|
}, [organizationModel2]);
|
|
21303
21309
|
}
|
|
21310
|
+
var DATA_MODE_OPTIONS = [
|
|
21311
|
+
{ value: "mock", label: "Mock data" },
|
|
21312
|
+
{ value: "live", label: "Live data" }
|
|
21313
|
+
];
|
|
21314
|
+
function CreateListModal({ opened, onClose, canCreate, onCreated }) {
|
|
21315
|
+
const leadGenConfig = useLeadGenConfig();
|
|
21316
|
+
const createListMutation = useCreateList();
|
|
21317
|
+
const buildTemplateOptions = useMemo(
|
|
21318
|
+
() => getProspectingBuildTemplateOptions(leadGenConfig.buildTemplates ?? []).map((template) => ({
|
|
21319
|
+
value: template.id,
|
|
21320
|
+
label: template.label
|
|
21321
|
+
})),
|
|
21322
|
+
[leadGenConfig.buildTemplates]
|
|
21323
|
+
);
|
|
21324
|
+
const defaultBuildTemplateId = leadGenConfig.defaultBuildTemplateId ?? buildTemplateOptions[0]?.value ?? "";
|
|
21325
|
+
const [newListName, setNewListName] = useState("");
|
|
21326
|
+
const [newListDescription, setNewListDescription] = useState("");
|
|
21327
|
+
const [newBuildTemplateId, setNewBuildTemplateId] = useState("");
|
|
21328
|
+
const [newDataMode, setNewDataMode] = useState("mock");
|
|
21329
|
+
const selectedBuildTemplateId = newBuildTemplateId || defaultBuildTemplateId;
|
|
21330
|
+
const selectedBuildTemplate = leadGenConfig.buildTemplates?.find((template) => template.id === selectedBuildTemplateId);
|
|
21331
|
+
function resetForm() {
|
|
21332
|
+
setNewListName("");
|
|
21333
|
+
setNewListDescription("");
|
|
21334
|
+
setNewBuildTemplateId("");
|
|
21335
|
+
setNewDataMode("mock");
|
|
21336
|
+
}
|
|
21337
|
+
function handleClose() {
|
|
21338
|
+
if (createListMutation.isPending) return;
|
|
21339
|
+
resetForm();
|
|
21340
|
+
onClose();
|
|
21341
|
+
}
|
|
21342
|
+
function handleCreateList() {
|
|
21343
|
+
if (!canCreate) return;
|
|
21344
|
+
const trimmedName = newListName.trim();
|
|
21345
|
+
if (!trimmedName) return;
|
|
21346
|
+
const body = {
|
|
21347
|
+
name: trimmedName,
|
|
21348
|
+
description: newListDescription.trim() || null,
|
|
21349
|
+
...selectedBuildTemplateId ? { buildTemplateId: selectedBuildTemplateId } : {},
|
|
21350
|
+
pipelineConfig: {
|
|
21351
|
+
dataMode: newDataMode
|
|
21352
|
+
}
|
|
21353
|
+
};
|
|
21354
|
+
createListMutation.mutate(body, {
|
|
21355
|
+
onSuccess: (list) => {
|
|
21356
|
+
resetForm();
|
|
21357
|
+
onClose();
|
|
21358
|
+
onCreated?.(list);
|
|
21359
|
+
}
|
|
21360
|
+
});
|
|
21361
|
+
}
|
|
21362
|
+
return /* @__PURE__ */ jsx(CustomModal, { opened, onClose: handleClose, size: "md", loading: createListMutation.isPending, children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
|
|
21363
|
+
/* @__PURE__ */ jsxs(Group, { gap: "sm", children: [
|
|
21364
|
+
/* @__PURE__ */ jsx(IconSparkles, { size: 24 }),
|
|
21365
|
+
/* @__PURE__ */ jsx(Title, { order: 4, children: "Create List" })
|
|
21366
|
+
] }),
|
|
21367
|
+
/* @__PURE__ */ jsx(
|
|
21368
|
+
TextInput,
|
|
21369
|
+
{
|
|
21370
|
+
label: "List Name",
|
|
21371
|
+
placeholder: "e.g. Orange County Vets Q2",
|
|
21372
|
+
value: newListName,
|
|
21373
|
+
onChange: (event) => setNewListName(event.currentTarget.value),
|
|
21374
|
+
disabled: createListMutation.isPending,
|
|
21375
|
+
required: true
|
|
21376
|
+
}
|
|
21377
|
+
),
|
|
21378
|
+
/* @__PURE__ */ jsx(
|
|
21379
|
+
Textarea,
|
|
21380
|
+
{
|
|
21381
|
+
label: "Description",
|
|
21382
|
+
placeholder: "Optional context for this list",
|
|
21383
|
+
value: newListDescription,
|
|
21384
|
+
onChange: (event) => setNewListDescription(event.currentTarget.value),
|
|
21385
|
+
disabled: createListMutation.isPending,
|
|
21386
|
+
minRows: 3
|
|
21387
|
+
}
|
|
21388
|
+
),
|
|
21389
|
+
/* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
|
|
21390
|
+
/* @__PURE__ */ jsx(
|
|
21391
|
+
Select,
|
|
21392
|
+
{
|
|
21393
|
+
label: "Build Pipeline",
|
|
21394
|
+
description: "Choose the sequence this list should follow.",
|
|
21395
|
+
data: buildTemplateOptions,
|
|
21396
|
+
value: selectedBuildTemplateId || null,
|
|
21397
|
+
onChange: (value) => setNewBuildTemplateId(value ?? ""),
|
|
21398
|
+
disabled: createListMutation.isPending || buildTemplateOptions.length === 0,
|
|
21399
|
+
required: true
|
|
21400
|
+
}
|
|
21401
|
+
),
|
|
21402
|
+
selectedBuildTemplate?.description ? /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: selectedBuildTemplate.description }) : null
|
|
21403
|
+
] }),
|
|
21404
|
+
/* @__PURE__ */ jsx(
|
|
21405
|
+
Select,
|
|
21406
|
+
{
|
|
21407
|
+
label: "Data Mode",
|
|
21408
|
+
description: "Choose whether sourcing and enrichment use demo fixtures or live providers.",
|
|
21409
|
+
data: DATA_MODE_OPTIONS,
|
|
21410
|
+
value: newDataMode,
|
|
21411
|
+
onChange: (value) => setNewDataMode(value ?? "mock"),
|
|
21412
|
+
disabled: createListMutation.isPending,
|
|
21413
|
+
required: true
|
|
21414
|
+
}
|
|
21415
|
+
),
|
|
21416
|
+
/* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "The list will open in draft mode after creation so you can review configuration and run build steps from the list workspace." }),
|
|
21417
|
+
/* @__PURE__ */ jsxs(Group, { justify: "flex-end", children: [
|
|
21418
|
+
/* @__PURE__ */ jsx(Button, { variant: "light", onClick: handleClose, disabled: createListMutation.isPending, children: "Cancel" }),
|
|
21419
|
+
/* @__PURE__ */ jsx(
|
|
21420
|
+
Button,
|
|
21421
|
+
{
|
|
21422
|
+
onClick: handleCreateList,
|
|
21423
|
+
loading: createListMutation.isPending,
|
|
21424
|
+
disabled: !newListName.trim() || !canCreate,
|
|
21425
|
+
children: "Create List"
|
|
21426
|
+
}
|
|
21427
|
+
)
|
|
21428
|
+
] })
|
|
21429
|
+
] }) });
|
|
21430
|
+
}
|
|
21304
21431
|
function computeBacklog(current, completed) {
|
|
21305
21432
|
return Math.max(current - completed, 0);
|
|
21306
21433
|
}
|
|
@@ -21423,6 +21550,9 @@ function LeadGenOverviewPage() {
|
|
|
21423
21550
|
const navigate = useNavigate();
|
|
21424
21551
|
const telemetryQuery = useListsTelemetry();
|
|
21425
21552
|
const listsQuery = useLists();
|
|
21553
|
+
const leadGenConfig = useLeadGenConfig();
|
|
21554
|
+
const canManageLeadGen = useAccess(AccessKeys.leadGenManage);
|
|
21555
|
+
const [showCreateList, setShowCreateList] = useState(false);
|
|
21426
21556
|
const data = telemetryQuery.data;
|
|
21427
21557
|
const listMetaById = new Map((listsQuery.data ?? []).map((list) => [list.id, list]));
|
|
21428
21558
|
const stageTotals = data?.reduce(
|
|
@@ -21453,6 +21583,9 @@ function LeadGenOverviewPage() {
|
|
|
21453
21583
|
const uploadBacklog = computeBacklog(stageTotals.personalized, stageTotals.uploaded);
|
|
21454
21584
|
const deliverabilityRiskCount = deliverabilityTotals.risky + deliverabilityTotals.invalid + deliverabilityTotals.bounced;
|
|
21455
21585
|
const totalLists = data?.length ?? 0;
|
|
21586
|
+
const canUseApiActions = leadGenConfig.canUseLeadGenApiActions;
|
|
21587
|
+
const canCreateLists = canManageLeadGen.allowed && canUseApiActions;
|
|
21588
|
+
const apiDisabledReason = leadGenConfig.leadGenApiInterface.reason;
|
|
21456
21589
|
const summaryLine = [
|
|
21457
21590
|
`${totalLists} total ${totalLists === 1 ? "list" : "lists"}`,
|
|
21458
21591
|
`${formatCountLabel(uploadBacklog, "contact")} ready for upload`,
|
|
@@ -21513,14 +21646,27 @@ function LeadGenOverviewPage() {
|
|
|
21513
21646
|
] })
|
|
21514
21647
|
] }) }),
|
|
21515
21648
|
/* @__PURE__ */ jsx(Paper, { withBorder: true, p: "md", children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
|
|
21516
|
-
/* @__PURE__ */
|
|
21517
|
-
|
|
21518
|
-
|
|
21519
|
-
|
|
21520
|
-
|
|
21521
|
-
|
|
21522
|
-
|
|
21523
|
-
|
|
21649
|
+
/* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-start", gap: "md", children: [
|
|
21650
|
+
/* @__PURE__ */ jsx(
|
|
21651
|
+
CardHeader,
|
|
21652
|
+
{
|
|
21653
|
+
icon: /* @__PURE__ */ jsx(IconListDetails, { size: 18 }),
|
|
21654
|
+
title: "List Snapshot",
|
|
21655
|
+
subtitle: "Ranked to surface active work first, then the largest unresolved backlogs."
|
|
21656
|
+
}
|
|
21657
|
+
),
|
|
21658
|
+
canManageLeadGen.allowed ? /* @__PURE__ */ jsx(
|
|
21659
|
+
Button,
|
|
21660
|
+
{
|
|
21661
|
+
leftSection: /* @__PURE__ */ jsx(IconPlus, { size: 16 }),
|
|
21662
|
+
onClick: () => setShowCreateList(true),
|
|
21663
|
+
size: "xs",
|
|
21664
|
+
disabled: !canUseApiActions,
|
|
21665
|
+
title: !canUseApiActions ? apiDisabledReason : void 0,
|
|
21666
|
+
children: "Create List"
|
|
21667
|
+
}
|
|
21668
|
+
) : null
|
|
21669
|
+
] }),
|
|
21524
21670
|
/* @__PURE__ */ jsxs(Table, { children: [
|
|
21525
21671
|
/* @__PURE__ */ jsx(Table.Thead, { children: /* @__PURE__ */ jsxs(Table.Tr, { children: [
|
|
21526
21672
|
/* @__PURE__ */ jsx(Table.Th, { children: "List" }),
|
|
@@ -21552,14 +21698,19 @@ function LeadGenOverviewPage() {
|
|
|
21552
21698
|
)) })
|
|
21553
21699
|
] })
|
|
21554
21700
|
] }) })
|
|
21555
|
-
] })
|
|
21701
|
+
] }),
|
|
21702
|
+
/* @__PURE__ */ jsx(
|
|
21703
|
+
CreateListModal,
|
|
21704
|
+
{
|
|
21705
|
+
opened: showCreateList,
|
|
21706
|
+
onClose: () => setShowCreateList(false),
|
|
21707
|
+
canCreate: canCreateLists,
|
|
21708
|
+
onCreated: (list) => navigate({ to: "/lead-gen/lists/$listId", params: { listId: list.id } })
|
|
21709
|
+
}
|
|
21710
|
+
)
|
|
21556
21711
|
] }) }) });
|
|
21557
21712
|
}
|
|
21558
21713
|
var PAGE_SIZE_DEFAULT2 = 20;
|
|
21559
|
-
var DATA_MODE_OPTIONS = [
|
|
21560
|
-
{ value: "mock", label: "Mock data" },
|
|
21561
|
-
{ value: "live", label: "Live data" }
|
|
21562
|
-
];
|
|
21563
21714
|
var STATUS_FILTER_OPTIONS = [
|
|
21564
21715
|
{ value: "", label: "All statuses" },
|
|
21565
21716
|
{ value: "draft", label: "Draft" },
|
|
@@ -21571,26 +21722,13 @@ var STATUS_FILTER_OPTIONS = [
|
|
|
21571
21722
|
function LeadGenListsPage() {
|
|
21572
21723
|
const navigate = useNavigate();
|
|
21573
21724
|
const leadGenConfig = useLeadGenConfig();
|
|
21574
|
-
const buildTemplateOptions = useMemo(
|
|
21575
|
-
() => getProspectingBuildTemplateOptions(leadGenConfig.buildTemplates ?? []).map((template) => ({
|
|
21576
|
-
value: template.id,
|
|
21577
|
-
label: template.label
|
|
21578
|
-
})),
|
|
21579
|
-
[leadGenConfig.buildTemplates]
|
|
21580
|
-
);
|
|
21581
|
-
const defaultBuildTemplateId = leadGenConfig.defaultBuildTemplateId ?? buildTemplateOptions[0]?.value ?? "";
|
|
21582
21725
|
const [searchQuery, setSearchQuery] = useState("");
|
|
21583
21726
|
const [statusFilter, setStatusFilter] = useState("");
|
|
21584
21727
|
const [showCreateList, setShowCreateList] = useState(false);
|
|
21585
|
-
const [newListName, setNewListName] = useState("");
|
|
21586
|
-
const [newListDescription, setNewListDescription] = useState("");
|
|
21587
|
-
const [newBuildTemplateId, setNewBuildTemplateId] = useState("");
|
|
21588
|
-
const [newDataMode, setNewDataMode] = useState("mock");
|
|
21589
21728
|
const [showBatchDelete, setShowBatchDelete] = useState(false);
|
|
21590
21729
|
const { data: lists, isLoading: listsLoading } = useLists();
|
|
21591
21730
|
const { data: telemetry, isLoading: telemetryLoading } = useListsTelemetry();
|
|
21592
21731
|
const canManageLeadGen = useAccess(AccessKeys.leadGenManage);
|
|
21593
|
-
const createListMutation = useCreateList();
|
|
21594
21732
|
const deleteListsMutation = useDeleteLists();
|
|
21595
21733
|
const { sort, toggleSort } = useTableSort("created");
|
|
21596
21734
|
const contactCountByListId = useMemo(
|
|
@@ -21627,37 +21765,9 @@ function LeadGenListsPage() {
|
|
|
21627
21765
|
[sortedLists, pagination.offset]
|
|
21628
21766
|
);
|
|
21629
21767
|
const selection = useTableSelection(paginatedLists, sortedLists);
|
|
21630
|
-
const selectedBuildTemplateId = newBuildTemplateId || defaultBuildTemplateId;
|
|
21631
|
-
const selectedBuildTemplate = leadGenConfig.buildTemplates?.find((template) => template.id === selectedBuildTemplateId);
|
|
21632
21768
|
const canUseApiActions = leadGenConfig.canUseLeadGenApiActions;
|
|
21633
21769
|
const apiDisabledReason = leadGenConfig.leadGenApiInterface.reason;
|
|
21634
21770
|
const canCreateOrDeleteLists = canManageLeadGen.allowed && canUseApiActions;
|
|
21635
|
-
function resetCreateListModal() {
|
|
21636
|
-
setNewListName("");
|
|
21637
|
-
setNewListDescription("");
|
|
21638
|
-
setNewBuildTemplateId("");
|
|
21639
|
-
setNewDataMode("mock");
|
|
21640
|
-
setShowCreateList(false);
|
|
21641
|
-
}
|
|
21642
|
-
function handleCreateList() {
|
|
21643
|
-
if (!canCreateOrDeleteLists) return;
|
|
21644
|
-
const trimmedName = newListName.trim();
|
|
21645
|
-
if (!trimmedName) return;
|
|
21646
|
-
const body = {
|
|
21647
|
-
name: trimmedName,
|
|
21648
|
-
description: newListDescription.trim() || null,
|
|
21649
|
-
...selectedBuildTemplateId ? { buildTemplateId: selectedBuildTemplateId } : {},
|
|
21650
|
-
pipelineConfig: {
|
|
21651
|
-
dataMode: newDataMode
|
|
21652
|
-
}
|
|
21653
|
-
};
|
|
21654
|
-
createListMutation.mutate(body, {
|
|
21655
|
-
onSuccess: (list) => {
|
|
21656
|
-
resetCreateListModal();
|
|
21657
|
-
navigate({ to: "/lead-gen/lists/$listId", params: { listId: list.id } });
|
|
21658
|
-
}
|
|
21659
|
-
});
|
|
21660
|
-
}
|
|
21661
21771
|
return /* @__PURE__ */ jsx(SubshellContentContainer, { children: /* @__PURE__ */ jsxs(PageContainer, { children: [
|
|
21662
21772
|
/* @__PURE__ */ jsx(Stack, { children: /* @__PURE__ */ jsx(
|
|
21663
21773
|
PageTitleCaption,
|
|
@@ -21810,80 +21920,12 @@ function LeadGenListsPage() {
|
|
|
21810
21920
|
) })
|
|
21811
21921
|
] }) }),
|
|
21812
21922
|
/* @__PURE__ */ jsx(
|
|
21813
|
-
|
|
21923
|
+
CreateListModal,
|
|
21814
21924
|
{
|
|
21815
21925
|
opened: showCreateList,
|
|
21816
|
-
onClose: () =>
|
|
21817
|
-
|
|
21818
|
-
|
|
21819
|
-
children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
|
|
21820
|
-
/* @__PURE__ */ jsxs(Group, { gap: "sm", children: [
|
|
21821
|
-
/* @__PURE__ */ jsx(IconSparkles, { size: 24 }),
|
|
21822
|
-
/* @__PURE__ */ jsx(Title, { order: 4, children: "Create List" })
|
|
21823
|
-
] }),
|
|
21824
|
-
/* @__PURE__ */ jsx(
|
|
21825
|
-
TextInput,
|
|
21826
|
-
{
|
|
21827
|
-
label: "List Name",
|
|
21828
|
-
placeholder: "e.g. Orange County Vets Q2",
|
|
21829
|
-
value: newListName,
|
|
21830
|
-
onChange: (event) => setNewListName(event.currentTarget.value),
|
|
21831
|
-
disabled: createListMutation.isPending,
|
|
21832
|
-
required: true
|
|
21833
|
-
}
|
|
21834
|
-
),
|
|
21835
|
-
/* @__PURE__ */ jsx(
|
|
21836
|
-
Textarea,
|
|
21837
|
-
{
|
|
21838
|
-
label: "Description",
|
|
21839
|
-
placeholder: "Optional context for this list",
|
|
21840
|
-
value: newListDescription,
|
|
21841
|
-
onChange: (event) => setNewListDescription(event.currentTarget.value),
|
|
21842
|
-
disabled: createListMutation.isPending,
|
|
21843
|
-
minRows: 3
|
|
21844
|
-
}
|
|
21845
|
-
),
|
|
21846
|
-
/* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
|
|
21847
|
-
/* @__PURE__ */ jsx(
|
|
21848
|
-
Select,
|
|
21849
|
-
{
|
|
21850
|
-
label: "Build Pipeline",
|
|
21851
|
-
description: "Choose the sequence this list should follow.",
|
|
21852
|
-
data: buildTemplateOptions,
|
|
21853
|
-
value: selectedBuildTemplateId || null,
|
|
21854
|
-
onChange: (value) => setNewBuildTemplateId(value ?? ""),
|
|
21855
|
-
disabled: createListMutation.isPending || buildTemplateOptions.length === 0,
|
|
21856
|
-
required: true
|
|
21857
|
-
}
|
|
21858
|
-
),
|
|
21859
|
-
selectedBuildTemplate?.description ? /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: selectedBuildTemplate.description }) : null
|
|
21860
|
-
] }),
|
|
21861
|
-
/* @__PURE__ */ jsx(
|
|
21862
|
-
Select,
|
|
21863
|
-
{
|
|
21864
|
-
label: "Data Mode",
|
|
21865
|
-
description: "Choose whether sourcing and enrichment use demo fixtures or live providers.",
|
|
21866
|
-
data: DATA_MODE_OPTIONS,
|
|
21867
|
-
value: newDataMode,
|
|
21868
|
-
onChange: (value) => setNewDataMode(value ?? "mock"),
|
|
21869
|
-
disabled: createListMutation.isPending,
|
|
21870
|
-
required: true
|
|
21871
|
-
}
|
|
21872
|
-
),
|
|
21873
|
-
/* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "The list will open in draft mode after creation so you can review configuration and run build steps from the list workspace." }),
|
|
21874
|
-
/* @__PURE__ */ jsxs(Group, { justify: "flex-end", children: [
|
|
21875
|
-
/* @__PURE__ */ jsx(Button, { variant: "light", onClick: resetCreateListModal, disabled: createListMutation.isPending, children: "Cancel" }),
|
|
21876
|
-
/* @__PURE__ */ jsx(
|
|
21877
|
-
Button,
|
|
21878
|
-
{
|
|
21879
|
-
onClick: handleCreateList,
|
|
21880
|
-
loading: createListMutation.isPending,
|
|
21881
|
-
disabled: !newListName.trim() || !canCreateOrDeleteLists,
|
|
21882
|
-
children: "Create List"
|
|
21883
|
-
}
|
|
21884
|
-
)
|
|
21885
|
-
] })
|
|
21886
|
-
] })
|
|
21926
|
+
onClose: () => setShowCreateList(false),
|
|
21927
|
+
canCreate: canCreateOrDeleteLists,
|
|
21928
|
+
onCreated: (list) => navigate({ to: "/lead-gen/lists/$listId", params: { listId: list.id } })
|
|
21887
21929
|
}
|
|
21888
21930
|
),
|
|
21889
21931
|
/* @__PURE__ */ jsx(
|
|
@@ -37872,15 +37914,15 @@ function ActivityFeed({
|
|
|
37872
37914
|
function NotificationCenter({ pageSize = 20 }) {
|
|
37873
37915
|
const { page, setPage, offset, totalPages } = usePaginationState(pageSize);
|
|
37874
37916
|
const { data, isLoading } = useNotifications({ limit: pageSize, offset });
|
|
37875
|
-
const
|
|
37917
|
+
const notifications14 = data?.notifications ?? [];
|
|
37876
37918
|
const markAllAsRead = useMarkAllAsRead();
|
|
37877
|
-
const hasUnread =
|
|
37919
|
+
const hasUnread = notifications14.some((n) => !n.read);
|
|
37878
37920
|
const handleMarkAllAsRead = async () => {
|
|
37879
37921
|
await markAllAsRead.mutateAsync();
|
|
37880
37922
|
};
|
|
37881
37923
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
37882
37924
|
hasUnread && /* @__PURE__ */ jsx(Group, { justify: "flex-end", children: /* @__PURE__ */ jsx(Button, { variant: "light", size: "sm", onClick: handleMarkAllAsRead, loading: markAllAsRead.isPending, children: "Mark all as read" }) }),
|
|
37883
|
-
/* @__PURE__ */ jsx(Paper, { children: /* @__PURE__ */ jsx(NotificationList, { notifications:
|
|
37925
|
+
/* @__PURE__ */ jsx(Paper, { children: /* @__PURE__ */ jsx(NotificationList, { notifications: notifications14, isLoading }) }),
|
|
37884
37926
|
totalPages(data?.total ?? 0) > 1 && /* @__PURE__ */ jsx(Group, { justify: "flex-start", children: /* @__PURE__ */ jsx(Pagination, { value: page, onChange: setPage, total: totalPages(data?.total ?? 0), size: "sm", boundaries: 1 }) })
|
|
37885
37927
|
] });
|
|
37886
37928
|
}
|
|
@@ -37890,49 +37932,12 @@ var monitoringManifest = {
|
|
|
37890
37932
|
icon: IconActivity
|
|
37891
37933
|
};
|
|
37892
37934
|
function AccountSettings({
|
|
37893
|
-
user
|
|
37894
|
-
userProfile,
|
|
37895
|
-
profileLoading,
|
|
37896
|
-
onRefetchProfile,
|
|
37897
|
-
onNavigate
|
|
37935
|
+
user
|
|
37936
|
+
// userProfile,
|
|
37937
|
+
// profileLoading,
|
|
37938
|
+
// onRefetchProfile,
|
|
37939
|
+
// onNavigate
|
|
37898
37940
|
}) {
|
|
37899
|
-
const { apiRequest } = useElevasisServices();
|
|
37900
|
-
const userConfig = userProfile?.config;
|
|
37901
|
-
const hasCompletedOnboarding = userConfig?.onboarding?.completed;
|
|
37902
|
-
const resetWelcomeFlow = useMutation({
|
|
37903
|
-
mutationFn: async () => {
|
|
37904
|
-
return apiRequest("/users/me", {
|
|
37905
|
-
method: "PATCH",
|
|
37906
|
-
body: JSON.stringify({
|
|
37907
|
-
config: {
|
|
37908
|
-
onboarding: {
|
|
37909
|
-
completed: false,
|
|
37910
|
-
completedAt: null,
|
|
37911
|
-
role: null,
|
|
37912
|
-
primaryUseCase: null,
|
|
37913
|
-
experienceLevel: null
|
|
37914
|
-
}
|
|
37915
|
-
}
|
|
37916
|
-
})
|
|
37917
|
-
});
|
|
37918
|
-
},
|
|
37919
|
-
onSuccess: async () => {
|
|
37920
|
-
notifications.show({
|
|
37921
|
-
title: "Welcome Flow Reset",
|
|
37922
|
-
message: "Redirecting to the welcome flow...",
|
|
37923
|
-
color: "teal"
|
|
37924
|
-
});
|
|
37925
|
-
await onRefetchProfile();
|
|
37926
|
-
onNavigate("/welcome");
|
|
37927
|
-
},
|
|
37928
|
-
onError: (err) => {
|
|
37929
|
-
notifications.show({
|
|
37930
|
-
title: "Error",
|
|
37931
|
-
message: err instanceof Error ? err.message : "Failed to reset welcome flow",
|
|
37932
|
-
color: "red"
|
|
37933
|
-
});
|
|
37934
|
-
}
|
|
37935
|
-
});
|
|
37936
37941
|
const { data: memberships = [], isLoading, error } = useUserMemberships(user?.id || "");
|
|
37937
37942
|
return /* @__PURE__ */ jsxs(Stack, { children: [
|
|
37938
37943
|
/* @__PURE__ */ jsx(PageTitleCaption, { title: "Account Settings", caption: "Manage your account and organization memberships" }),
|
|
@@ -37967,26 +37972,6 @@ function AccountSettings({
|
|
|
37967
37972
|
/* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: "Email" }),
|
|
37968
37973
|
/* @__PURE__ */ jsx(Text, { size: "lg", fw: 600, style: { fontFamily: "var(--elevasis-font-family-subtitle)" }, children: user.email })
|
|
37969
37974
|
] })
|
|
37970
|
-
] }),
|
|
37971
|
-
/* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "center", children: [
|
|
37972
|
-
/* @__PURE__ */ jsxs(Group, { gap: "sm", children: [
|
|
37973
|
-
/* @__PURE__ */ jsx(ThemeIcon, { size: "lg", variant: "light", color: "teal", children: /* @__PURE__ */ jsx(IconRefresh, { size: 18 }) }),
|
|
37974
|
-
/* @__PURE__ */ jsxs(Stack, { gap: 2, children: [
|
|
37975
|
-
/* @__PURE__ */ jsx(Text, { fw: 600, children: "Welcome Flow" }),
|
|
37976
|
-
/* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: hasCompletedOnboarding ? "Re-run the onboarding flow to update your preferences" : "You have not completed the welcome flow yet" })
|
|
37977
|
-
] })
|
|
37978
|
-
] }),
|
|
37979
|
-
/* @__PURE__ */ jsx(
|
|
37980
|
-
Button,
|
|
37981
|
-
{
|
|
37982
|
-
variant: "light",
|
|
37983
|
-
leftSection: profileLoading ? void 0 : /* @__PURE__ */ jsx(IconRefresh, { size: 16 }),
|
|
37984
|
-
onClick: () => resetWelcomeFlow.mutate(),
|
|
37985
|
-
loading: profileLoading || resetWelcomeFlow.isPending,
|
|
37986
|
-
disabled: profileLoading,
|
|
37987
|
-
children: profileLoading ? "" : hasCompletedOnboarding ? "Reset & Redo" : "Start"
|
|
37988
|
-
}
|
|
37989
|
-
)
|
|
37990
37975
|
] })
|
|
37991
37976
|
] }) }),
|
|
37992
37977
|
/* @__PURE__ */ jsx(OrganizationMembershipsList, { memberships, loading: isLoading, error }),
|
|
@@ -38889,6 +38874,78 @@ function OrganizationSettings({ user, currentMembership, isOrgAdmin }) {
|
|
|
38889
38874
|
] }) })
|
|
38890
38875
|
] });
|
|
38891
38876
|
}
|
|
38877
|
+
function capitalize(value) {
|
|
38878
|
+
return value.charAt(0).toUpperCase() + value.slice(1);
|
|
38879
|
+
}
|
|
38880
|
+
function MyRolesPage({ onManageMembers, onManageOrganizationRoles }) {
|
|
38881
|
+
const { currentMembership } = useOrganization();
|
|
38882
|
+
const orgName = currentMembership?.organization?.name ?? "this organization";
|
|
38883
|
+
const access = useAccess("platform");
|
|
38884
|
+
const { permissions, isReady: permissionsReady, isPlatformAdmin } = access;
|
|
38885
|
+
const catalogQuery = usePermissionCatalog();
|
|
38886
|
+
const catalogMap = new Map(
|
|
38887
|
+
(catalogQuery.data?.permissions ?? []).map((permission) => [permission.key, permission.description])
|
|
38888
|
+
);
|
|
38889
|
+
const roleSlug = currentMembership?.role?.slug ?? null;
|
|
38890
|
+
const isLoading = !permissionsReady || catalogQuery.isLoading;
|
|
38891
|
+
const showManagePanel = Boolean(onManageMembers || onManageOrganizationRoles);
|
|
38892
|
+
const groupedPermissions = permissions.reduce((groups, key) => {
|
|
38893
|
+
const domain = key.split(".")[0] ?? "general";
|
|
38894
|
+
groups[domain] ??= [];
|
|
38895
|
+
groups[domain].push(key);
|
|
38896
|
+
return groups;
|
|
38897
|
+
}, {});
|
|
38898
|
+
return /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
|
|
38899
|
+
/* @__PURE__ */ jsx(PageTitleCaption, { title: "My Roles", caption: `Roles assigned to you in ${orgName} and what each one lets you do.` }),
|
|
38900
|
+
/* @__PURE__ */ jsx(Paper, { withBorder: true, p: "md", children: /* @__PURE__ */ jsxs(Stack, { children: [
|
|
38901
|
+
/* @__PURE__ */ jsx(
|
|
38902
|
+
CardHeader,
|
|
38903
|
+
{
|
|
38904
|
+
icon: /* @__PURE__ */ jsx(IconShieldLock, { size: 18 }),
|
|
38905
|
+
title: "Your roles",
|
|
38906
|
+
subtitle: `Roles assigned to your membership in ${orgName}.`
|
|
38907
|
+
}
|
|
38908
|
+
),
|
|
38909
|
+
/* @__PURE__ */ jsxs(Group, { gap: "xs", children: [
|
|
38910
|
+
roleSlug ? /* @__PURE__ */ jsx(RoleBadge, { slug: roleSlug, name: capitalize(roleSlug), isSystem: true }) : /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "No roles assigned yet." }),
|
|
38911
|
+
isPlatformAdmin && /* @__PURE__ */ jsx(Badge, { color: "grape", variant: "light", leftSection: /* @__PURE__ */ jsx(IconStar, { size: 12 }), children: "Platform admin" })
|
|
38912
|
+
] }),
|
|
38913
|
+
isPlatformAdmin && /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: "Platform admin bypasses every org-level permission check; you have full access regardless of role." })
|
|
38914
|
+
] }) }),
|
|
38915
|
+
/* @__PURE__ */ jsx(Paper, { withBorder: true, p: "md", children: /* @__PURE__ */ jsxs(Stack, { children: [
|
|
38916
|
+
/* @__PURE__ */ jsx(
|
|
38917
|
+
CardHeader,
|
|
38918
|
+
{
|
|
38919
|
+
icon: /* @__PURE__ */ jsx(IconCheck, { size: 18 }),
|
|
38920
|
+
title: "What you can do",
|
|
38921
|
+
subtitle: isPlatformAdmin ? "Showing all platform permissions (platform admin bypass)." : "Permissions granted by your assigned roles."
|
|
38922
|
+
}
|
|
38923
|
+
),
|
|
38924
|
+
isLoading ? /* @__PURE__ */ jsx(Center, { children: /* @__PURE__ */ jsx(Loader, {}) }) : permissions.length === 0 ? /* @__PURE__ */ jsx(Alert, { color: "yellow", children: "You don't have any permissions in this organization yet. Ask an admin to assign you a role." }) : /* @__PURE__ */ jsx(Stack, { gap: "md", children: Object.entries(groupedPermissions).map(([domain, keys]) => /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
|
|
38925
|
+
/* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, children: capitalize(domain) }),
|
|
38926
|
+
keys.map((key) => /* @__PURE__ */ jsxs(Group, { gap: "xs", children: [
|
|
38927
|
+
/* @__PURE__ */ jsx(IconCheck, { size: 14, color: "var(--color-success)" }),
|
|
38928
|
+
/* @__PURE__ */ jsx(Code, { children: key }),
|
|
38929
|
+
/* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: catalogMap.get(key) ?? "" })
|
|
38930
|
+
] }, key))
|
|
38931
|
+
] }, domain)) })
|
|
38932
|
+
] }) }),
|
|
38933
|
+
showManagePanel && /* @__PURE__ */ jsx(AccessGuard, { accessKey: AccessKeys.membersManage, children: /* @__PURE__ */ jsx(Paper, { withBorder: true, p: "md", children: /* @__PURE__ */ jsxs(Stack, { children: [
|
|
38934
|
+
/* @__PURE__ */ jsx(
|
|
38935
|
+
CardHeader,
|
|
38936
|
+
{
|
|
38937
|
+
icon: /* @__PURE__ */ jsx(IconUserCog, { size: 18 }),
|
|
38938
|
+
title: "Manage roles & members",
|
|
38939
|
+
subtitle: "Assign roles to members, create custom roles, and edit permission sets."
|
|
38940
|
+
}
|
|
38941
|
+
),
|
|
38942
|
+
/* @__PURE__ */ jsxs(Group, { children: [
|
|
38943
|
+
onManageMembers ? /* @__PURE__ */ jsx(Button, { variant: "light", leftSection: /* @__PURE__ */ jsx(IconUsersGroup, { size: 14 }), onClick: onManageMembers, children: "Members" }) : null,
|
|
38944
|
+
onManageOrganizationRoles ? /* @__PURE__ */ jsx(AccessGuard, { accessKey: AccessKeys.organizationManage, children: /* @__PURE__ */ jsx(Button, { variant: "light", leftSection: /* @__PURE__ */ jsx(IconShieldLock, { size: 14 }), onClick: onManageOrganizationRoles, children: "Organization roles" }) }) : null
|
|
38945
|
+
] })
|
|
38946
|
+
] }) }) })
|
|
38947
|
+
] });
|
|
38948
|
+
}
|
|
38892
38949
|
var OAUTH_COMPLETION_CHANNEL = "elevasis-oauth";
|
|
38893
38950
|
var OAUTH_COMPLETION_STORAGE_KEY = "elevasis:oauth-complete";
|
|
38894
38951
|
function useOAuthFlow({ apiUrl }) {
|
|
@@ -39631,4 +39688,4 @@ function createUseOrgInitialization(useOrganizations, useApiClient) {
|
|
|
39631
39688
|
};
|
|
39632
39689
|
}
|
|
39633
39690
|
|
|
39634
|
-
export { AbsoluteScheduleForm, AccountSettings, ActionModal, ActivityCard, ActivityFeed, ActivityFeedWidget, ActivityFilters, ActivityLog, ActivityTable, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionPanel, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, AgentSessionGroup, AllTasksPage, ApiKeyDisplayModal, ApiKeyList, ApiKeyService, ApiKeySettings, AppearanceSettings, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CRM_ITEMS, Checklist, CheckpointGroup, CollapsibleJsonSection, CommandQueueDetailPage, CommandQueuePage, CommandQueueShell, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CommandViewPage, CompanyDetailPage, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContactDetailPage, ContentSections, ContextUsageBadge, ContractDisplay, ConversationThread, CostAnalytics, CostBreakdownCard, CostByModelTable, CostMetricsCard, CreateApiKeyModal, CreateCredentialModal, CreateDeliveryEntityModal, CreateRoleModal, CreateScheduleModal, CreateWebhookEndpointModal, CredentialList, CredentialService, CredentialSettings, CrmOverview, CrmSettingsPage, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, DEAL_STAGES, DEAL_STAGE_COLORS, DEAL_STAGE_OPTIONS, DEFAULT_KANBAN_CONFIG, DELIVERY_COMMUNICATION_ITEMS, DELIVERY_PROJECT_ITEMS, DELIVERY_WORK_ITEMS, Dashboard, DashboardOperationsOverview, DealDetailPage, DealKanbanCard, DealsListPage, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentService, DeploymentSettings, DeploymentStatusBadge, EditApiKeyModal, EditCredentialModal, EditWebhookEndpointModal, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorDetailsModal, ExecuteWorkflowModal, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealth, ExecutionHealthCard, ExecutionLogsFilters, ExecutionLogsPage, ExecutionLogsTable, ExecutionPanel, ExecutionStats, ExecutionStatusBadge, FilterBar, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, KanbanBoard, LEAD_GEN_ITEMS, LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, ListBuilderIndexPage, ListBuilderPage, LogEntry, LogGroup, MdxRenderer, MemberAccessModal, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyTasksPanel, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NoAccessState, NotificationBell, NotificationCenter, NotificationItem, NotificationList, NotificationPanel, OAuthConnectModal, OAuthIntegrationsCard, ORPHAN_STAGE_ORDER, OperationsOverview, OperationsService, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrgMembersList, OrganizationGraphPage, OrganizationMembershipService, OrganizationMembershipsList, OrganizationSettings, OrganizationSwitcher, OrganizationSwitcherConnected, PIPELINE_FUNNEL_ORDER, PermissionMatrix, PipelineFunnelWidget, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, QuickCreateActions, RecentExecutionsByResource, RecurringScheduleForm, RelativeScheduleForm, ResourceDefinitionSection, ResourceDetailPage, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, ResourceOverview, ResourcesPage, ResourcesSidebar, RichTextEditor, RoleBadge, RunResourceButton, SAVED_VIEW_PRESETS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SessionChatArea, SessionChatInterface, SessionChatPage, SessionDetailsSidebar, SessionExecutionLogs, SessionHeader, SessionListItem, SessionMemory, SessionsPage, SessionsSidebar, SortableHeader, StepConfigForm, SystemOpsView, TabSection, TableSelectionToolbar, TaskCard, TaskScheduler, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UnresolvedErrorsTeaser, UpcomingMilestonesPage, VisualizerContainer, WebhookEndpointList, WebhookEndpointService, WebhookEndpointSettings, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionPanel, WorkflowExecutionTimeline, ZodFormRenderer, acquisitionListKeys, aggregateSystemMetrics, calculateProgress, clientsKeys, collectResourceFilterFacets, companyKeys, contactKeys, createOrganizationsSlice, createUseOrgInitialization, createUseOrganizations, crmManifest, crmPrioritySettingsKeys, dealKeys, dealNoteKeys, dealTaskKeys, deliveryManifest, deriveBusinessProgress, executionsKeys, filterByDomainFilters, formatDate3 as formatDate, formatDealStageLabel, formatResourceAttribution, formatStatusLabel, getEnrichmentColor, getEnrichmentStatus, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getLeadGenApiInterfaceReadiness, getLeadGenExportWorkflowId, getLogLevelConfig, getResourceFilterFacetIds, getStateKeyColor, getStatusColor4 as getStatusColor, getStepActionLabel, iconMap, isLeadGenExportAction, isSessionCapable, labelResourceFilterFacet, leadGenArtifactKeys, leadGenListCompanyKeys, leadGenListMemberKeys, leadGenManifest, mdxComponents, milestoneKeys, milestoneStatusColors, monitoringManifest, noteKeys, noteTypeColors, operationsKeys, operationsManifest, projectActivityKeys, projectKeys, projectStatusColors, requestsKeys, resolveBuildPlanSteps, resolveBuildState, scheduleKeys, sessionsKeys, settingsManifest, showApiErrorNotification, showAuthError, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, sortData, sortStageKeys, taskKeys, taskStatusColors, taskTypeColors, useActivateDeployment, useActivities, useActivitiesRealtime, useActivityFilters, useActivityTrend, useAddCompaniesToList, useAddContactsToList, useArchiveSession, useArchivedLogs, useArtifacts, useAssignRole, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useClient, useClientStatus, useClients, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewDomainFilters, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompanyFacets, useCompleteDealTask, useContact, useContacts, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateApiKey, useCreateArtifact, useCreateClient, useCreateCompany, useCreateContact, useCreateCredential, useCreateDealNote, useCreateDealTask, useCreateList, useCreateMilestone, useCreateNote, useCreateOrgRole, useCreateProject, useCreateSchedule, useCreateSession, useCreateTask, useCreateWebhookEndpoint, useCredentials, useCrmPipelineSummary, useCrmPrioritySettings, useCrmQuickMetrics, useDashboardMetrics, useDeactivateDeployment, useDeactivateMembership, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDealsLookup, useDealsSummary, useDeleteApiKey, useDeleteClient, useDeleteCompanies, useDeleteContacts, useDeleteCredential, useDeleteDeal, useDeleteDeployment, useDeleteExecution, useDeleteList, useDeleteLists, useDeleteMilestone, useDeleteOrgRole, useDeleteProject, useDeleteRequest, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeleteTask2, useDeleteWebhookEndpoint, useDeriveActions, useEffectivePermissions, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAction, useExecuteAsync, useExecuteResource, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionLogsFilters, useExecutionPanelState, useExecutionSSE, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphBackgroundStyles, useGraphTheme, useInFlightExecutions, useLeadGenConfig, useList, useListApiKeys, useListDeployments, useListExecutions, useListMember, useListMembers, useListProgress, useListRecords, useListSchedules, useListWebhookEndpoints, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useMilestones, useNewKnowledgeMapLayout, useNotificationCount, useNotifications, useOrgRoles, useOrganizationMembers, usePaginationState, usePatchTask, usePauseSchedule, usePermissionCatalog, useProject, useProjectActivities, useProjectMilestones, useProjectNotes, useProjectRealtime, useProjectTasks, useProjects, useReactivateMembership, useRecentCrmActivity, useRecentExecutionsByResource, useRemoveCompaniesFromList, useRequest, useRequestsList, useResetCrmPrioritySettings, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResourceSearch, useResources, useResourcesDomainFilters, useResourcesHealth, useResumeSchedule, useRetryExecution, useRevokeRole, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useStatusFilter, useSubmitAction, useSuccessNotification, useSystemHealth, useTableSelection, useTableSort, useTasks, useTestNotification, useTimeRangeDates, useTopFailingResources, useTransitionItem, useTransitionListCompany, useTransitionListMember, useTransitionState, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateApiKey, useUpdateClient, useUpdateCompany, useUpdateContact, useUpdateCredential, useUpdateCrmPrioritySettings, useUpdateList, useUpdateListConfig, useUpdateListStatus, useUpdateMilestone, useUpdateOrgRole, useUpdateProject, useUpdateRequestStatus, useUpdateSchedule, useUpdateTask, useUpdateWebhookEndpoint, useUserMemberships, useVerifyCredential, useVisibleResources, useWarningNotification, useWorkflowExecution };
|
|
39691
|
+
export { AbsoluteScheduleForm, AccountSettings, ActionModal, ActivityCard, ActivityFeed, ActivityFeedWidget, ActivityFilters, ActivityLog, ActivityTable, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionPanel, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, AgentSessionGroup, AllTasksPage, ApiKeyDisplayModal, ApiKeyList, ApiKeyService, ApiKeySettings, AppearanceSettings, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CRM_ITEMS, Checklist, CheckpointGroup, CollapsibleJsonSection, CommandQueueDetailPage, CommandQueuePage, CommandQueueShell, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CommandViewPage, CompanyDetailPage, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContactDetailPage, ContentSections, ContextUsageBadge, ContractDisplay, ConversationThread, CostAnalytics, CostBreakdownCard, CostByModelTable, CostMetricsCard, CreateApiKeyModal, CreateCredentialModal, CreateDeliveryEntityModal, CreateRoleModal, CreateScheduleModal, CreateWebhookEndpointModal, CredentialList, CredentialService, CredentialSettings, CrmOverview, CrmSettingsPage, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, DEAL_STAGES, DEAL_STAGE_COLORS, DEAL_STAGE_OPTIONS, DEFAULT_KANBAN_CONFIG, DELIVERY_COMMUNICATION_ITEMS, DELIVERY_PROJECT_ITEMS, DELIVERY_WORK_ITEMS, Dashboard, DashboardOperationsOverview, DealDetailPage, DealKanbanCard, DealsListPage, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentService, DeploymentSettings, DeploymentStatusBadge, EditApiKeyModal, EditCredentialModal, EditWebhookEndpointModal, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorDetailsModal, ExecuteWorkflowModal, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealth, ExecutionHealthCard, ExecutionLogsFilters, ExecutionLogsPage, ExecutionLogsTable, ExecutionPanel, ExecutionStats, ExecutionStatusBadge, FilterBar, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, KanbanBoard, LEAD_GEN_ITEMS, LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, ListBuilderIndexPage, ListBuilderPage, LogEntry, LogGroup, MdxRenderer, MemberAccessModal, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyRolesPage, MyTasksPanel, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NoAccessState, NotificationBell, NotificationCenter, NotificationItem, NotificationList, NotificationPanel, OAuthConnectModal, OAuthIntegrationsCard, ORPHAN_STAGE_ORDER, OperationsOverview, OperationsService, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrgMembersList, OrganizationGraphPage, OrganizationMembershipService, OrganizationMembershipsList, OrganizationSettings, OrganizationSwitcher, OrganizationSwitcherConnected, PIPELINE_FUNNEL_ORDER, PermissionMatrix, PipelineFunnelWidget, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, QuickCreateActions, RecentExecutionsByResource, RecurringScheduleForm, RelativeScheduleForm, ResourceDefinitionSection, ResourceDetailPage, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, ResourceOverview, ResourcesPage, ResourcesSidebar, RichTextEditor, RoleBadge, RunResourceButton, SAVED_VIEW_PRESETS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SessionChatArea, SessionChatInterface, SessionChatPage, SessionDetailsSidebar, SessionExecutionLogs, SessionHeader, SessionListItem, SessionMemory, SessionsPage, SessionsSidebar, SortableHeader, StepConfigForm, SystemOpsView, TabSection, TableSelectionToolbar, TaskCard, TaskScheduler, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UnresolvedErrorsTeaser, UpcomingMilestonesPage, VisualizerContainer, WebhookEndpointList, WebhookEndpointService, WebhookEndpointSettings, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionPanel, WorkflowExecutionTimeline, ZodFormRenderer, acquisitionListKeys, aggregateSystemMetrics, calculateProgress, clientsKeys, collectResourceFilterFacets, companyKeys, contactKeys, createOrganizationsSlice, createUseOrgInitialization, createUseOrganizations, crmManifest, crmPrioritySettingsKeys, dealKeys, dealNoteKeys, dealTaskKeys, deliveryManifest, deriveBusinessProgress, executionsKeys, filterByDomainFilters, formatDate3 as formatDate, formatDealStageLabel, formatResourceAttribution, formatStatusLabel, getEnrichmentColor, getEnrichmentStatus, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getLeadGenApiInterfaceReadiness, getLeadGenExportWorkflowId, getLogLevelConfig, getResourceFilterFacetIds, getStateKeyColor, getStatusColor4 as getStatusColor, getStepActionLabel, iconMap, isLeadGenExportAction, isSessionCapable, labelResourceFilterFacet, leadGenArtifactKeys, leadGenListCompanyKeys, leadGenListMemberKeys, leadGenManifest, mdxComponents, milestoneKeys, milestoneStatusColors, monitoringManifest, noteKeys, noteTypeColors, operationsKeys, operationsManifest, projectActivityKeys, projectKeys, projectStatusColors, requestsKeys, resolveBuildPlanSteps, resolveBuildState, scheduleKeys, sessionsKeys, settingsManifest, showApiErrorNotification, showAuthError, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, sortData, sortStageKeys, taskKeys, taskStatusColors, taskTypeColors, useActivateDeployment, useActivities, useActivitiesRealtime, useActivityFilters, useActivityTrend, useAddCompaniesToList, useAddContactsToList, useArchiveSession, useArchivedLogs, useArtifacts, useAssignRole, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useClient, useClientStatus, useClients, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewDomainFilters, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompanyFacets, useCompleteDealTask, useContact, useContacts, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateApiKey, useCreateArtifact, useCreateClient, useCreateCompany, useCreateContact, useCreateCredential, useCreateDealNote, useCreateDealTask, useCreateList, useCreateMilestone, useCreateNote, useCreateOrgRole, useCreateProject, useCreateSchedule, useCreateSession, useCreateTask, useCreateWebhookEndpoint, useCredentials, useCrmPipelineSummary, useCrmPrioritySettings, useCrmQuickMetrics, useDashboardMetrics, useDeactivateDeployment, useDeactivateMembership, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDealsLookup, useDealsSummary, useDeleteApiKey, useDeleteClient, useDeleteCompanies, useDeleteContacts, useDeleteCredential, useDeleteDeal, useDeleteDeployment, useDeleteExecution, useDeleteList, useDeleteLists, useDeleteMilestone, useDeleteOrgRole, useDeleteProject, useDeleteRequest, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeleteTask2, useDeleteWebhookEndpoint, useDeriveActions, useEffectivePermissions, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAction, useExecuteAsync, useExecuteResource, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionLogsFilters, useExecutionPanelState, useExecutionSSE, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphBackgroundStyles, useGraphTheme, useInFlightExecutions, useLeadGenConfig, useList, useListApiKeys, useListDeployments, useListExecutions, useListMember, useListMembers, useListProgress, useListRecords, useListSchedules, useListWebhookEndpoints, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useMilestones, useNewKnowledgeMapLayout, useNotificationCount, useNotifications, useOrgRoles, useOrganizationMembers, usePaginationState, usePatchTask, usePauseSchedule, usePermissionCatalog, useProject, useProjectActivities, useProjectMilestones, useProjectNotes, useProjectRealtime, useProjectTasks, useProjects, useReactivateMembership, useRecentCrmActivity, useRecentExecutionsByResource, useRemoveCompaniesFromList, useRequest, useRequestsList, useResetCrmPrioritySettings, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResourceSearch, useResources, useResourcesDomainFilters, useResourcesHealth, useResumeSchedule, useRetryExecution, useRevokeRole, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useStatusFilter, useSubmitAction, useSuccessNotification, useSystemHealth, useTableSelection, useTableSort, useTasks, useTestNotification, useTimeRangeDates, useTopFailingResources, useTransitionItem, useTransitionListCompany, useTransitionListMember, useTransitionState, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateApiKey, useUpdateClient, useUpdateCompany, useUpdateContact, useUpdateCredential, useUpdateCrmPrioritySettings, useUpdateList, useUpdateListConfig, useUpdateListStatus, useUpdateMilestone, useUpdateOrgRole, useUpdateProject, useUpdateRequestStatus, useUpdateSchedule, useUpdateTask, useUpdateWebhookEndpoint, useUserMemberships, useVerifyCredential, useVisibleResources, useWarningNotification, useWorkflowExecution };
|