@elevasis/ui 2.27.0 → 2.28.1
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 +2 -2
- package/dist/app/index.d.ts +6 -12
- package/dist/app/index.js +4 -4
- package/dist/charts/index.js +3 -3
- package/dist/{chunk-YO2YORW4.js → chunk-3HCTCMAS.js} +3 -3
- package/dist/{chunk-LWKZ3BCC.js → chunk-5R27NFOI.js} +4 -4
- package/dist/{chunk-JPGX3533.js → chunk-AYSO5A3R.js} +2 -2
- package/dist/{chunk-ONFKASZI.js → chunk-CT5IR4ZA.js} +1 -1
- package/dist/{chunk-RIFTUOPE.js → chunk-GJXAAYZ3.js} +1 -1
- package/dist/{chunk-OGXKOMUT.js → chunk-HNN3QALL.js} +2 -2
- package/dist/{chunk-KEFWANZY.js → chunk-JCGD4GM6.js} +5 -1
- package/dist/chunk-JS7VBTC4.js +250 -0
- package/dist/{chunk-G66QFZXD.js → chunk-K4Q5QUHZ.js} +15 -9
- package/dist/{chunk-UPMX5GJI.js → chunk-M6OJ43NL.js} +32 -5
- package/dist/{chunk-WUVR4QY6.js → chunk-MCRKFDKB.js} +4 -4
- package/dist/{chunk-ZFLM2YVW.js → chunk-MJMFIWEB.js} +1 -1
- package/dist/{chunk-G26INIF3.js → chunk-MZCDRBSI.js} +1 -1
- package/dist/{chunk-YHBPR67D.js → chunk-N63RKL3L.js} +4 -4
- package/dist/{chunk-W2ZTLH7Y.js → chunk-NU5FNTOB.js} +29 -21
- package/dist/{chunk-OHXU5WWK.js → chunk-PBNIW7KV.js} +12 -6
- package/dist/{chunk-QD4X4H5A.js → chunk-SRNIHB7Y.js} +1 -1
- package/dist/{chunk-XZSEPJZQ.js → chunk-TVJROM2V.js} +5 -5
- package/dist/{chunk-JKBGDFX2.js → chunk-UOHOKDKL.js} +378 -254
- package/dist/{chunk-UY5I2KOZ.js → chunk-YNYGUVGW.js} +8 -8
- package/dist/{chunk-SGS4CQ2B.js → chunk-ZPXV5KI3.js} +1 -1
- package/dist/components/index.d.ts +16 -14
- package/dist/components/index.js +25 -25
- package/dist/features/auth/index.d.ts +6 -12
- package/dist/features/auth/index.js +1 -0
- package/dist/features/crm/index.d.ts +16 -14
- package/dist/features/crm/index.js +9 -9
- package/dist/features/dashboard/index.d.ts +16 -3
- package/dist/features/dashboard/index.js +10 -10
- package/dist/features/delivery/index.d.ts +6 -12
- package/dist/features/delivery/index.js +9 -9
- package/dist/features/knowledge/index.js +20 -12
- package/dist/features/lead-gen/index.d.ts +171 -24
- package/dist/features/lead-gen/index.js +10 -10
- package/dist/features/monitoring/index.js +11 -11
- package/dist/features/monitoring/requests/index.js +8 -8
- package/dist/features/operations/index.d.ts +16 -3
- package/dist/features/operations/index.js +15 -15
- package/dist/features/settings/index.d.ts +6 -12
- package/dist/features/settings/index.js +9 -9
- package/dist/hooks/delivery/index.d.ts +6 -12
- package/dist/hooks/delivery/index.js +2 -2
- package/dist/hooks/index.d.ts +110 -28
- package/dist/hooks/index.js +8 -8
- package/dist/hooks/published.d.ts +110 -28
- package/dist/hooks/published.js +8 -8
- package/dist/index.d.ts +148 -28
- package/dist/index.js +8 -8
- package/dist/initialization/index.d.ts +6 -12
- package/dist/knowledge/index.d.ts +43 -0
- package/dist/knowledge/index.js +49 -12
- package/dist/profile/index.d.ts +6 -12
- package/dist/provider/index.d.ts +44 -12
- package/dist/provider/index.js +6 -6
- package/dist/provider/published.d.ts +44 -12
- package/dist/provider/published.js +5 -5
- package/dist/supabase/index.d.ts +12 -24
- package/dist/test-utils/index.js +2 -2
- package/dist/typeform/index.d.ts +5 -1
- package/dist/typeform/index.js +52 -7
- package/dist/types/index.d.ts +7 -13
- package/dist/utils/index.js +1 -1
- package/package.json +5 -5
- package/dist/chunk-4KTLOK7K.js +0 -230
package/dist/api/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import '../chunk-XCYKC6OZ.js';
|
|
2
|
-
export { ApiClientProvider, useApiClient, useApiClientContext } from '../chunk-
|
|
3
|
-
import '../chunk-
|
|
2
|
+
export { ApiClientProvider, useApiClient, useApiClientContext } from '../chunk-ZPXV5KI3.js';
|
|
3
|
+
import '../chunk-SRNIHB7Y.js';
|
|
4
4
|
import '../chunk-KRWALB24.js';
|
|
5
5
|
import '../chunk-DD3CCMCZ.js';
|
|
6
6
|
import '../chunk-I2KLQ2HA.js';
|
package/dist/app/index.d.ts
CHANGED
|
@@ -78,7 +78,7 @@ type Database = {
|
|
|
78
78
|
name: string;
|
|
79
79
|
num_employees: number | null;
|
|
80
80
|
organization_id: string;
|
|
81
|
-
|
|
81
|
+
processing_state: Json;
|
|
82
82
|
qualification_rubric_key: string | null;
|
|
83
83
|
qualification_score: number | null;
|
|
84
84
|
qualification_signals: Json | null;
|
|
@@ -104,7 +104,7 @@ type Database = {
|
|
|
104
104
|
name: string;
|
|
105
105
|
num_employees?: number | null;
|
|
106
106
|
organization_id: string;
|
|
107
|
-
|
|
107
|
+
processing_state?: Json;
|
|
108
108
|
qualification_rubric_key?: string | null;
|
|
109
109
|
qualification_score?: number | null;
|
|
110
110
|
qualification_signals?: Json | null;
|
|
@@ -130,7 +130,7 @@ type Database = {
|
|
|
130
130
|
name?: string;
|
|
131
131
|
num_employees?: number | null;
|
|
132
132
|
organization_id?: string;
|
|
133
|
-
|
|
133
|
+
processing_state?: Json;
|
|
134
134
|
qualification_rubric_key?: string | null;
|
|
135
135
|
qualification_score?: number | null;
|
|
136
136
|
qualification_signals?: Json | null;
|
|
@@ -169,7 +169,7 @@ type Database = {
|
|
|
169
169
|
nurture: boolean;
|
|
170
170
|
opening_line: string | null;
|
|
171
171
|
organization_id: string;
|
|
172
|
-
|
|
172
|
+
processing_state: Json;
|
|
173
173
|
qualification_rubric_key: string | null;
|
|
174
174
|
qualification_score: number | null;
|
|
175
175
|
qualification_signals: Json | null;
|
|
@@ -197,7 +197,7 @@ type Database = {
|
|
|
197
197
|
nurture?: boolean;
|
|
198
198
|
opening_line?: string | null;
|
|
199
199
|
organization_id: string;
|
|
200
|
-
|
|
200
|
+
processing_state?: Json;
|
|
201
201
|
qualification_rubric_key?: string | null;
|
|
202
202
|
qualification_score?: number | null;
|
|
203
203
|
qualification_signals?: Json | null;
|
|
@@ -225,7 +225,7 @@ type Database = {
|
|
|
225
225
|
nurture?: boolean;
|
|
226
226
|
opening_line?: string | null;
|
|
227
227
|
organization_id?: string;
|
|
228
|
-
|
|
228
|
+
processing_state?: Json;
|
|
229
229
|
qualification_rubric_key?: string | null;
|
|
230
230
|
qualification_score?: number | null;
|
|
231
231
|
qualification_signals?: Json | null;
|
|
@@ -621,7 +621,6 @@ type Database = {
|
|
|
621
621
|
id: string;
|
|
622
622
|
list_id: string;
|
|
623
623
|
pipeline_key: string;
|
|
624
|
-
processing_state: Json;
|
|
625
624
|
source_execution_id: string | null;
|
|
626
625
|
source_input_hash: string | null;
|
|
627
626
|
source_resource_id: string | null;
|
|
@@ -636,7 +635,6 @@ type Database = {
|
|
|
636
635
|
id?: string;
|
|
637
636
|
list_id: string;
|
|
638
637
|
pipeline_key?: string;
|
|
639
|
-
processing_state?: Json;
|
|
640
638
|
source_execution_id?: string | null;
|
|
641
639
|
source_input_hash?: string | null;
|
|
642
640
|
source_resource_id?: string | null;
|
|
@@ -651,7 +649,6 @@ type Database = {
|
|
|
651
649
|
id?: string;
|
|
652
650
|
list_id?: string;
|
|
653
651
|
pipeline_key?: string;
|
|
654
|
-
processing_state?: Json;
|
|
655
652
|
source_execution_id?: string | null;
|
|
656
653
|
source_input_hash?: string | null;
|
|
657
654
|
source_resource_id?: string | null;
|
|
@@ -730,7 +727,6 @@ type Database = {
|
|
|
730
727
|
id: string;
|
|
731
728
|
list_id: string;
|
|
732
729
|
pipeline_key: string;
|
|
733
|
-
processing_state: Json;
|
|
734
730
|
source_execution_id: string | null;
|
|
735
731
|
source_input_hash: string | null;
|
|
736
732
|
source_resource_id: string | null;
|
|
@@ -745,7 +741,6 @@ type Database = {
|
|
|
745
741
|
id?: string;
|
|
746
742
|
list_id: string;
|
|
747
743
|
pipeline_key?: string;
|
|
748
|
-
processing_state?: Json;
|
|
749
744
|
source_execution_id?: string | null;
|
|
750
745
|
source_input_hash?: string | null;
|
|
751
746
|
source_resource_id?: string | null;
|
|
@@ -760,7 +755,6 @@ type Database = {
|
|
|
760
755
|
id?: string;
|
|
761
756
|
list_id?: string;
|
|
762
757
|
pipeline_key?: string;
|
|
763
|
-
processing_state?: Json;
|
|
764
758
|
source_execution_id?: string | null;
|
|
765
759
|
source_input_hash?: string | null;
|
|
766
760
|
source_resource_id?: string | null;
|
package/dist/app/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { ElevasisUIProvider } from '../chunk-
|
|
1
|
+
import { ElevasisUIProvider } from '../chunk-AYSO5A3R.js';
|
|
2
2
|
import '../chunk-LH4GPYDX.js';
|
|
3
3
|
import '../chunk-HLFFKKT3.js';
|
|
4
4
|
import '../chunk-WLOQ4IBG.js';
|
|
5
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-NU5FNTOB.js';
|
|
6
6
|
import '../chunk-SZHARWKU.js';
|
|
7
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-ZPXV5KI3.js';
|
|
8
8
|
import '../chunk-HOIT677G.js';
|
|
9
9
|
import '../chunk-E565XMTQ.js';
|
|
10
|
-
import '../chunk-
|
|
10
|
+
import '../chunk-SRNIHB7Y.js';
|
|
11
11
|
import '../chunk-KRWALB24.js';
|
|
12
12
|
import { useInitialization } from '../chunk-WKJ47GIW.js';
|
|
13
13
|
import '../chunk-DD3CCMCZ.js';
|
package/dist/charts/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export { ActivityTrendChart, ChartFrame, CombinedTrendChart, CostTrendChart, HeroStatsRow } from '../chunk-
|
|
1
|
+
export { ActivityTrendChart, ChartFrame, CombinedTrendChart, CostTrendChart, HeroStatsRow } from '../chunk-HNN3QALL.js';
|
|
2
2
|
export { CyberAreaChart, CyberDonut, CyberDonutTooltip, CyberLegendItem, getSeriesColor, useCyberColors } from '../chunk-CW3UNAF2.js';
|
|
3
3
|
import '../chunk-VKMNWHTL.js';
|
|
4
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-GJXAAYZ3.js';
|
|
5
5
|
import '../chunk-3KMDHCAR.js';
|
|
6
6
|
import '../chunk-SZHARWKU.js';
|
|
7
7
|
import '../chunk-NYBEU5TE.js';
|
|
8
8
|
import '../chunk-2IFYDILW.js';
|
|
9
9
|
import '../chunk-Q7DJKLEN.js';
|
|
10
10
|
import '../chunk-DT3QYZVU.js';
|
|
11
|
-
import '../chunk-
|
|
11
|
+
import '../chunk-SRNIHB7Y.js';
|
|
12
12
|
import '../chunk-KRWALB24.js';
|
|
13
13
|
import '../chunk-WFTNY755.js';
|
|
14
14
|
import '../chunk-WKJ47GIW.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useCyberColors, CyberLegendItem, CyberAreaChart } from './chunk-CW3UNAF2.js';
|
|
2
|
-
import { useResourcesHealth } from './chunk-
|
|
3
|
-
import { CardHeader, EmptyState } from './chunk-
|
|
4
|
-
import { getTimeRangeDates, formatBucketTime } from './chunk-
|
|
2
|
+
import { useResourcesHealth } from './chunk-N63RKL3L.js';
|
|
3
|
+
import { CardHeader, EmptyState } from './chunk-GJXAAYZ3.js';
|
|
4
|
+
import { getTimeRangeDates, formatBucketTime } from './chunk-SRNIHB7Y.js';
|
|
5
5
|
import { Paper, Center, Loader, Group } from '@mantine/core';
|
|
6
6
|
import { IconActivity, IconChartBar } from '@tabler/icons-react';
|
|
7
7
|
import { useMemo } from 'react';
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { CostTrendChart, ActivityTrendChart } from './chunk-
|
|
1
|
+
import { CostTrendChart, ActivityTrendChart } from './chunk-HNN3QALL.js';
|
|
2
2
|
import { CyberAreaChart } from './chunk-CW3UNAF2.js';
|
|
3
3
|
import { AppShellLoader } from './chunk-RYTEQBAO.js';
|
|
4
4
|
import { FilterBar } from './chunk-PDHTXPSF.js';
|
|
5
5
|
import { CustomModal } from './chunk-KVJ3LFH2.js';
|
|
6
6
|
import { formatDuration } from './chunk-E4WQGJNS.js';
|
|
7
|
-
import { useResolveError, useResolveAllErrors, usePaginationState, useErrorDetails, useMarkAsRead, useExecutionLogsFilters, useExecutionLogs, useExecutionHealth, useErrorAnalysis, useTimeRangeDates, useErrorDetail, useResolveErrorsByExecution, useResources, useCostTrends, useCostSummary, useCostByModel, useCostBreakdown, useActivityFilters, useActivityTrend, useActivities, useNotifications, useMarkAllAsRead, useTestNotification } from './chunk-
|
|
8
|
-
import { CenteredErrorState, CardHeader, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, EmptyState, PageTitleCaption, JsonViewer } from './chunk-
|
|
7
|
+
import { useResolveError, useResolveAllErrors, usePaginationState, useErrorDetails, useMarkAsRead, useExecutionLogsFilters, useExecutionLogs, useExecutionHealth, useErrorAnalysis, useTimeRangeDates, useErrorDetail, useResolveErrorsByExecution, useResources, useCostTrends, useCostSummary, useCostByModel, useCostBreakdown, useActivityFilters, useActivityTrend, useActivities, useNotifications, useMarkAllAsRead, useTestNotification } from './chunk-N63RKL3L.js';
|
|
8
|
+
import { CenteredErrorState, CardHeader, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, EmptyState, PageTitleCaption, JsonViewer } from './chunk-GJXAAYZ3.js';
|
|
9
9
|
import { useRouterContext } from './chunk-Q7DJKLEN.js';
|
|
10
|
-
import { formatBucketTime, PAGE_SIZE_DEFAULT, getTimeRangeDates } from './chunk-
|
|
10
|
+
import { formatBucketTime, PAGE_SIZE_DEFAULT, getTimeRangeDates } from './chunk-SRNIHB7Y.js';
|
|
11
11
|
import { useState, useMemo, useCallback } from 'react';
|
|
12
12
|
import { Table, Text, Badge, Tooltip, Card, Group, Select, SegmentedControl, Button, TextInput, Stack, Paper, Center, Loader, ActionIcon, NumberFormatter, Box, Alert, Switch, Pagination, UnstyledButton, Title, Divider, Code, CopyButton, Accordion } from '@mantine/core';
|
|
13
13
|
import { IconActivity, IconFilterOff, IconCircleCheck, IconThumbDown, IconThumbUp, IconClock, IconCircleX, IconSearch, IconArrowUpRight, IconAlertTriangle, IconAlertCircle, IconExternalLink, IconChartPie, IconHeartbeat, IconDownload, IconCpu, IconTrendingUp, IconChartBar, IconCash, IconInfoCircle, IconExclamationCircle, IconBug, IconChecks, IconCircle, IconCircleFilled, IconCheck, IconCopy, IconCircleDashed, IconPlus, IconArrowUp, IconArrowDown, IconFileOff, IconRobot, IconKey, IconUser } from '@tabler/icons-react';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { mantineThemeOverride, createCssVariablesResolver, PresetsProvider } from './chunk-LH4GPYDX.js';
|
|
2
2
|
import { PRESETS, getPreset, generateShades } from './chunk-HLFFKKT3.js';
|
|
3
3
|
import { AppBackground } from './chunk-WLOQ4IBG.js';
|
|
4
|
-
import { ElevasisCoreProvider } from './chunk-
|
|
4
|
+
import { ElevasisCoreProvider } from './chunk-NU5FNTOB.js';
|
|
5
5
|
import { ElevasisLoader } from './chunk-SZHARWKU.js';
|
|
6
6
|
import { AppearanceProvider } from './chunk-E565XMTQ.js';
|
|
7
|
-
import { getErrorInfo, formatErrorMessage, getErrorTitle } from './chunk-
|
|
7
|
+
import { getErrorInfo, formatErrorMessage, getErrorTitle } from './chunk-SRNIHB7Y.js';
|
|
8
8
|
import { useMemo, useEffect } from 'react';
|
|
9
9
|
import { Loader, mergeThemeOverrides, MantineProvider } from '@mantine/core';
|
|
10
10
|
import '@mantine/core/styles.css';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SemanticIcon } from './chunk-
|
|
1
|
+
import { SemanticIcon } from './chunk-JCGD4GM6.js';
|
|
2
2
|
import { Stack, Group, Title, Text, Box, Divider, useTree, Tree, UnstyledButton, TextInput } from '@mantine/core';
|
|
3
3
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
4
4
|
import { useMemo, useState, useRef, useEffect } from 'react';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { StyledMarkdown } from './chunk-3KMDHCAR.js';
|
|
2
2
|
import { useRouterContext } from './chunk-Q7DJKLEN.js';
|
|
3
|
-
import { getErrorInfo, getErrorTitle, getResourceIcon, formatTimeAgo } from './chunk-
|
|
3
|
+
import { getErrorInfo, getErrorTitle, getResourceIcon, formatTimeAgo } from './chunk-SRNIHB7Y.js';
|
|
4
4
|
import { ResourceStatusColors } from './chunk-KRWALB24.js';
|
|
5
5
|
import { useAuthContext } from './chunk-BRJ3QZ4E.js';
|
|
6
6
|
import { Center, Stack, Title, Text, Button, Box, Loader, Badge, Group, Collapse, ScrollArea, Card, Select, Alert, Code, ThemeIcon, Paper, Grid, Timeline, Space } from '@mantine/core';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CyberAreaChart, useCyberColors, CyberLegendItem } from './chunk-CW3UNAF2.js';
|
|
2
2
|
import { useErrorTrends } from './chunk-VKMNWHTL.js';
|
|
3
|
-
import { CardHeader, CenteredErrorState, TrendIndicator, EmptyState, StatCard } from './chunk-
|
|
4
|
-
import { getTimeRangeLabel, getTimeRangeDates, formatBucketTime } from './chunk-
|
|
3
|
+
import { CardHeader, CenteredErrorState, TrendIndicator, EmptyState, StatCard } from './chunk-GJXAAYZ3.js';
|
|
4
|
+
import { getTimeRangeLabel, getTimeRangeDates, formatBucketTime } from './chunk-SRNIHB7Y.js';
|
|
5
5
|
import { useRef, useState, useLayoutEffect, useEffect, useMemo, useCallback } from 'react';
|
|
6
6
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
7
|
import { Center, Loader, Paper, Button, Group, Text, NumberFormatter, Badge, Space, Tooltip, SimpleGrid, Alert, SegmentedControl, Box } from '@mantine/core';
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { IconMail, IconSend, IconFileText, IconClock, IconArrowUp, IconMessageCircle, IconRocket, IconEye, IconEdit, IconAlertTriangle, IconRefresh, IconX, IconCheck, IconArchive, IconShieldLock, IconSettings, IconBrain, IconChartBar, IconTool, IconBriefcase, IconLayoutGrid, IconTargetArrow, IconBuildingStore, IconDashboard, IconInfoCircle, IconDatabase, IconGitBranch, IconTopologyStar3, IconUsers, IconUser, IconPlug, IconBook } from '@tabler/icons-react';
|
|
1
|
+
import { IconMail, IconSend, IconFileText, IconClock, IconArrowUp, IconMessageCircle, IconRocket, IconEye, IconEdit, IconAlertTriangle, IconRefresh, IconX, IconCheck, IconArchive, IconShieldLock, IconSettings, IconBrain, IconChartBar, IconTool, IconBriefcase, IconLayoutGrid, IconTargetArrow, IconBuildingStore, IconCalendar, IconDashboard, IconInfoCircle, IconDatabase, IconGitBranch, IconTopologyStar3, IconUsers, IconUser, IconPlug, IconBook } from '@tabler/icons-react';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
|
|
4
4
|
// src/icons/registry.tsx
|
|
5
5
|
var DEFAULT_SEMANTIC_ICON_REGISTRY = {
|
|
6
6
|
"nav.dashboard": IconDashboard,
|
|
7
|
+
"nav.calendar": IconCalendar,
|
|
7
8
|
"nav.sales": IconChartBar,
|
|
8
9
|
"nav.crm": IconBuildingStore,
|
|
9
10
|
"nav.lead-gen": IconTargetArrow,
|
|
@@ -15,6 +16,7 @@ var DEFAULT_SEMANTIC_ICON_REGISTRY = {
|
|
|
15
16
|
"nav.admin": IconShieldLock,
|
|
16
17
|
"nav.archive": IconArchive,
|
|
17
18
|
"feature.dashboard": IconDashboard,
|
|
19
|
+
"feature.calendar": IconCalendar,
|
|
18
20
|
"feature.sales": IconChartBar,
|
|
19
21
|
"feature.crm": IconBuildingStore,
|
|
20
22
|
"feature.finance": IconChartBar,
|
|
@@ -41,6 +43,7 @@ var DEFAULT_SEMANTIC_ICON_REGISTRY = {
|
|
|
41
43
|
"integration.google-sheets": IconDatabase,
|
|
42
44
|
"integration.attio": IconBuildingStore,
|
|
43
45
|
"surface.dashboard": IconDashboard,
|
|
46
|
+
"surface.calendar": IconCalendar,
|
|
44
47
|
"surface.overview": IconDashboard,
|
|
45
48
|
"surface.command-view": IconTopologyStar3,
|
|
46
49
|
"surface.command-queue": IconSend,
|
|
@@ -66,6 +69,7 @@ var DEFAULT_SEMANTIC_ICON_REGISTRY = {
|
|
|
66
69
|
"status.info": IconInfoCircle,
|
|
67
70
|
// Compatibility aliases for pre-semantic template/navigation payloads.
|
|
68
71
|
dashboard: IconDashboard,
|
|
72
|
+
calendar: IconCalendar,
|
|
69
73
|
sales: IconChartBar,
|
|
70
74
|
crm: IconBuildingStore,
|
|
71
75
|
finance: IconChartBar,
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import { DisplayMetadataSchema, ModelIdSchema, DescriptionSchema, LEAD_GEN_STAGE_CATALOG } from './chunk-NU5FNTOB.js';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
|
|
4
|
+
var ProspectingLifecycleStageSchema = DisplayMetadataSchema.extend({
|
|
5
|
+
id: ModelIdSchema,
|
|
6
|
+
order: z.number().int().min(0)
|
|
7
|
+
});
|
|
8
|
+
var ProspectingBuildTemplateStepSchema = DisplayMetadataSchema.extend({
|
|
9
|
+
id: ModelIdSchema,
|
|
10
|
+
primaryEntity: z.enum(["company", "contact"]),
|
|
11
|
+
outputs: z.array(z.enum(["company", "contact", "export"])).min(1),
|
|
12
|
+
stageKey: ModelIdSchema,
|
|
13
|
+
dependsOn: z.array(ModelIdSchema).optional(),
|
|
14
|
+
dependencyMode: z.literal("per-record-eligibility"),
|
|
15
|
+
capabilityKey: ModelIdSchema,
|
|
16
|
+
defaultBatchSize: z.number().int().positive(),
|
|
17
|
+
maxBatchSize: z.number().int().positive()
|
|
18
|
+
}).refine((step) => step.defaultBatchSize <= step.maxBatchSize, {
|
|
19
|
+
message: "defaultBatchSize must be less than or equal to maxBatchSize",
|
|
20
|
+
path: ["defaultBatchSize"]
|
|
21
|
+
});
|
|
22
|
+
var ProspectingBuildTemplateSchema = DisplayMetadataSchema.extend({
|
|
23
|
+
id: ModelIdSchema,
|
|
24
|
+
steps: z.array(ProspectingBuildTemplateStepSchema).min(1)
|
|
25
|
+
});
|
|
26
|
+
var PROSPECTING_STEPS = {
|
|
27
|
+
localServices: {
|
|
28
|
+
sourceCompanies: {
|
|
29
|
+
id: "source-companies",
|
|
30
|
+
label: "Companies found",
|
|
31
|
+
primaryEntity: "company",
|
|
32
|
+
outputs: ["company"],
|
|
33
|
+
stageKey: "populated",
|
|
34
|
+
dependencyMode: "per-record-eligibility",
|
|
35
|
+
capabilityKey: "lead-gen.company.source",
|
|
36
|
+
defaultBatchSize: 100,
|
|
37
|
+
maxBatchSize: 250
|
|
38
|
+
},
|
|
39
|
+
analyzeWebsites: {
|
|
40
|
+
id: "analyze-websites",
|
|
41
|
+
label: "Websites analyzed",
|
|
42
|
+
primaryEntity: "company",
|
|
43
|
+
outputs: ["company"],
|
|
44
|
+
stageKey: "extracted",
|
|
45
|
+
dependsOn: ["source-companies"],
|
|
46
|
+
dependencyMode: "per-record-eligibility",
|
|
47
|
+
capabilityKey: "lead-gen.company.website-extract",
|
|
48
|
+
defaultBatchSize: 50,
|
|
49
|
+
maxBatchSize: 100
|
|
50
|
+
},
|
|
51
|
+
qualifyCompanies: {
|
|
52
|
+
id: "qualify-companies",
|
|
53
|
+
label: "Companies qualified",
|
|
54
|
+
primaryEntity: "company",
|
|
55
|
+
outputs: ["company"],
|
|
56
|
+
stageKey: "qualified",
|
|
57
|
+
dependsOn: ["analyze-websites"],
|
|
58
|
+
dependencyMode: "per-record-eligibility",
|
|
59
|
+
capabilityKey: "lead-gen.company.qualify",
|
|
60
|
+
defaultBatchSize: 100,
|
|
61
|
+
maxBatchSize: 250
|
|
62
|
+
},
|
|
63
|
+
findContacts: {
|
|
64
|
+
id: "find-contacts",
|
|
65
|
+
label: "Decision-makers found",
|
|
66
|
+
primaryEntity: "contact",
|
|
67
|
+
outputs: ["contact"],
|
|
68
|
+
stageKey: "discovered",
|
|
69
|
+
dependsOn: ["qualify-companies"],
|
|
70
|
+
dependencyMode: "per-record-eligibility",
|
|
71
|
+
capabilityKey: "lead-gen.contact.discover",
|
|
72
|
+
defaultBatchSize: 50,
|
|
73
|
+
maxBatchSize: 100
|
|
74
|
+
},
|
|
75
|
+
verifyEmails: {
|
|
76
|
+
id: "verify-emails",
|
|
77
|
+
label: "Emails verified",
|
|
78
|
+
primaryEntity: "contact",
|
|
79
|
+
outputs: ["contact"],
|
|
80
|
+
stageKey: "verified",
|
|
81
|
+
dependsOn: ["find-contacts"],
|
|
82
|
+
dependencyMode: "per-record-eligibility",
|
|
83
|
+
capabilityKey: "lead-gen.contact.verify-email",
|
|
84
|
+
defaultBatchSize: 100,
|
|
85
|
+
maxBatchSize: 500
|
|
86
|
+
},
|
|
87
|
+
personalize: {
|
|
88
|
+
id: "personalize",
|
|
89
|
+
label: "Personalize",
|
|
90
|
+
primaryEntity: "contact",
|
|
91
|
+
outputs: ["contact"],
|
|
92
|
+
stageKey: "personalized",
|
|
93
|
+
dependsOn: ["verify-emails"],
|
|
94
|
+
dependencyMode: "per-record-eligibility",
|
|
95
|
+
capabilityKey: "lead-gen.contact.personalize",
|
|
96
|
+
defaultBatchSize: 25,
|
|
97
|
+
maxBatchSize: 100
|
|
98
|
+
},
|
|
99
|
+
review: {
|
|
100
|
+
id: "review",
|
|
101
|
+
label: "Reviewed and exported",
|
|
102
|
+
primaryEntity: "contact",
|
|
103
|
+
outputs: ["export"],
|
|
104
|
+
stageKey: "uploaded",
|
|
105
|
+
dependsOn: ["personalize"],
|
|
106
|
+
dependencyMode: "per-record-eligibility",
|
|
107
|
+
capabilityKey: "lead-gen.review.outreach-ready",
|
|
108
|
+
defaultBatchSize: 25,
|
|
109
|
+
maxBatchSize: 100
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
dtcApolloClickup: {
|
|
113
|
+
importApolloSearch: {
|
|
114
|
+
id: "import-apollo-search",
|
|
115
|
+
label: "Companies found",
|
|
116
|
+
description: "Pull companies and seed contact data from a predefined Apollo search or list.",
|
|
117
|
+
primaryEntity: "company",
|
|
118
|
+
outputs: ["company", "contact"],
|
|
119
|
+
stageKey: "populated",
|
|
120
|
+
dependencyMode: "per-record-eligibility",
|
|
121
|
+
capabilityKey: "lead-gen.company.apollo-import",
|
|
122
|
+
defaultBatchSize: 250,
|
|
123
|
+
maxBatchSize: 1e3
|
|
124
|
+
},
|
|
125
|
+
analyzeWebsites: {
|
|
126
|
+
id: "analyze-websites",
|
|
127
|
+
label: "Websites analyzed",
|
|
128
|
+
description: "Extract subscription, product, retention, and tech-stack signals from each brand website.",
|
|
129
|
+
primaryEntity: "company",
|
|
130
|
+
outputs: ["company"],
|
|
131
|
+
stageKey: "extracted",
|
|
132
|
+
dependsOn: ["import-apollo-search"],
|
|
133
|
+
dependencyMode: "per-record-eligibility",
|
|
134
|
+
capabilityKey: "lead-gen.company.website-extract",
|
|
135
|
+
defaultBatchSize: 50,
|
|
136
|
+
maxBatchSize: 100
|
|
137
|
+
},
|
|
138
|
+
scoreDtcFit: {
|
|
139
|
+
id: "score-dtc-fit",
|
|
140
|
+
label: "Companies qualified",
|
|
141
|
+
description: "Classify subscription potential, consumable-product fit, retention maturity, and disqualifiers.",
|
|
142
|
+
primaryEntity: "company",
|
|
143
|
+
outputs: ["company"],
|
|
144
|
+
stageKey: "qualified",
|
|
145
|
+
dependsOn: ["analyze-websites"],
|
|
146
|
+
dependencyMode: "per-record-eligibility",
|
|
147
|
+
capabilityKey: "lead-gen.company.dtc-subscription-qualify",
|
|
148
|
+
defaultBatchSize: 100,
|
|
149
|
+
maxBatchSize: 250
|
|
150
|
+
},
|
|
151
|
+
enrichDecisionMakers: {
|
|
152
|
+
id: "enrich-decision-makers",
|
|
153
|
+
label: "Decision-makers found",
|
|
154
|
+
description: "Use Apollo to find qualified contacts at qualified companies - founders, retention leads, lifecycle leads, and marketing owners.",
|
|
155
|
+
primaryEntity: "company",
|
|
156
|
+
outputs: ["contact"],
|
|
157
|
+
stageKey: "decision-makers-enriched",
|
|
158
|
+
dependsOn: ["score-dtc-fit"],
|
|
159
|
+
dependencyMode: "per-record-eligibility",
|
|
160
|
+
capabilityKey: "lead-gen.contact.apollo-decision-maker-enrich",
|
|
161
|
+
defaultBatchSize: 100,
|
|
162
|
+
maxBatchSize: 250
|
|
163
|
+
},
|
|
164
|
+
verifyEmails: {
|
|
165
|
+
id: "verify-emails",
|
|
166
|
+
label: "Emails verified",
|
|
167
|
+
description: "Verify deliverability before the QC and handoff step.",
|
|
168
|
+
primaryEntity: "contact",
|
|
169
|
+
outputs: ["contact"],
|
|
170
|
+
stageKey: "verified",
|
|
171
|
+
dependsOn: ["enrich-decision-makers"],
|
|
172
|
+
dependencyMode: "per-record-eligibility",
|
|
173
|
+
capabilityKey: "lead-gen.contact.verify-email",
|
|
174
|
+
defaultBatchSize: 250,
|
|
175
|
+
maxBatchSize: 500
|
|
176
|
+
},
|
|
177
|
+
reviewAndExport: {
|
|
178
|
+
id: "review-and-export",
|
|
179
|
+
label: "Reviewed and exported",
|
|
180
|
+
description: "Operator QC approves or rejects leads, then approved records are exported as a lead list.",
|
|
181
|
+
primaryEntity: "company",
|
|
182
|
+
outputs: ["export"],
|
|
183
|
+
stageKey: "uploaded",
|
|
184
|
+
dependsOn: ["verify-emails"],
|
|
185
|
+
dependencyMode: "per-record-eligibility",
|
|
186
|
+
capabilityKey: "lead-gen.export.list",
|
|
187
|
+
defaultBatchSize: 100,
|
|
188
|
+
maxBatchSize: 250
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
var OrganizationModelProspectingSchema = z.object({
|
|
193
|
+
listEntityId: ModelIdSchema,
|
|
194
|
+
companyEntityId: ModelIdSchema,
|
|
195
|
+
contactEntityId: ModelIdSchema,
|
|
196
|
+
description: DescriptionSchema.optional(),
|
|
197
|
+
companyStages: z.array(ProspectingLifecycleStageSchema).min(1),
|
|
198
|
+
contactStages: z.array(ProspectingLifecycleStageSchema).min(1),
|
|
199
|
+
defaultBuildTemplateId: ModelIdSchema,
|
|
200
|
+
buildTemplates: z.array(ProspectingBuildTemplateSchema).min(1)
|
|
201
|
+
});
|
|
202
|
+
function toProspectingLifecycleStage(stage) {
|
|
203
|
+
return {
|
|
204
|
+
id: stage.key,
|
|
205
|
+
label: stage.label,
|
|
206
|
+
order: stage.order
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
function leadGenStagesForEntity(entity) {
|
|
210
|
+
return Object.values(LEAD_GEN_STAGE_CATALOG).filter((stage) => stage.entity === entity).sort((a, b) => a.order - b.order).map(toProspectingLifecycleStage);
|
|
211
|
+
}
|
|
212
|
+
var DEFAULT_ORGANIZATION_MODEL_PROSPECTING = {
|
|
213
|
+
listEntityId: "leadgen.list",
|
|
214
|
+
companyEntityId: "leadgen.company",
|
|
215
|
+
contactEntityId: "leadgen.contact",
|
|
216
|
+
companyStages: leadGenStagesForEntity("company"),
|
|
217
|
+
contactStages: leadGenStagesForEntity("contact"),
|
|
218
|
+
defaultBuildTemplateId: "local-services",
|
|
219
|
+
buildTemplates: [
|
|
220
|
+
{
|
|
221
|
+
id: "local-services",
|
|
222
|
+
label: "Local Services Prospecting",
|
|
223
|
+
description: "Curated local-services list build using company sourcing, website analysis, qualification, contact discovery, verification, personalization, and review.",
|
|
224
|
+
steps: [
|
|
225
|
+
PROSPECTING_STEPS.localServices.sourceCompanies,
|
|
226
|
+
PROSPECTING_STEPS.localServices.analyzeWebsites,
|
|
227
|
+
PROSPECTING_STEPS.localServices.qualifyCompanies,
|
|
228
|
+
PROSPECTING_STEPS.localServices.findContacts,
|
|
229
|
+
PROSPECTING_STEPS.localServices.verifyEmails,
|
|
230
|
+
PROSPECTING_STEPS.localServices.personalize,
|
|
231
|
+
PROSPECTING_STEPS.localServices.review
|
|
232
|
+
]
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
id: "dtc-subscription-apollo-clickup",
|
|
236
|
+
label: "DTC Subscription Apollo Export",
|
|
237
|
+
description: "Prospecting pipeline for DTC subscription or subscription-ready brands where Apollo is the source and contact-enrichment layer, Elevasis handles company research and fit scoring, and approved leads export as an approved lead list.",
|
|
238
|
+
steps: [
|
|
239
|
+
PROSPECTING_STEPS.dtcApolloClickup.importApolloSearch,
|
|
240
|
+
PROSPECTING_STEPS.dtcApolloClickup.analyzeWebsites,
|
|
241
|
+
PROSPECTING_STEPS.dtcApolloClickup.scoreDtcFit,
|
|
242
|
+
PROSPECTING_STEPS.dtcApolloClickup.enrichDecisionMakers,
|
|
243
|
+
PROSPECTING_STEPS.dtcApolloClickup.verifyEmails,
|
|
244
|
+
PROSPECTING_STEPS.dtcApolloClickup.reviewAndExport
|
|
245
|
+
]
|
|
246
|
+
}
|
|
247
|
+
]
|
|
248
|
+
};
|
|
249
|
+
|
|
250
|
+
export { DEFAULT_ORGANIZATION_MODEL_PROSPECTING, OrganizationModelProspectingSchema, PROSPECTING_STEPS };
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { ZodFormRenderer } from './chunk-3MEXPLWT.js';
|
|
2
2
|
import { ResourceHealthChart } from './chunk-LGKLC5MG.js';
|
|
3
|
-
import { HeroStatsRow } from './chunk-
|
|
3
|
+
import { HeroStatsRow } from './chunk-HNN3QALL.js';
|
|
4
4
|
import { useCyberColors } from './chunk-CW3UNAF2.js';
|
|
5
5
|
import { AppShellCenteredContainer, AppShellLoader } from './chunk-RYTEQBAO.js';
|
|
6
6
|
import { Graph_module_css_default, useDirectedChainHighlighting, useNodeSelection, useFitViewTrigger } from './chunk-22UVE3RA.js';
|
|
7
7
|
import { STATUS_COLORS, getStatusIcon, formatDuration, getStatusColors, AGENT_CONSTANTS, shouldAnimateEdge, TIMELINE_CONSTANTS, calculateBarPosition, CONTAINER_CONSTANTS, useExecutionPath, useUnifiedWorkflowLayout, WORKFLOW_CONSTANTS, useReactFlowAgent } from './chunk-E4WQGJNS.js';
|
|
8
|
-
import { useExecuteResource, useDashboardMetrics, useResources, useTimeRangeDates, useUnresolvedErrors, useRecentExecutionsByResource, useCommandQueue, useScheduledTasks, useResourcesHealth } from './chunk-
|
|
8
|
+
import { useExecuteResource, useDashboardMetrics, useResources, useTimeRangeDates, useUnresolvedErrors, useRecentExecutionsByResource, useCommandQueue, useScheduledTasks, useResourcesHealth } from './chunk-N63RKL3L.js';
|
|
9
9
|
import { glassBase } from './chunk-LH4GPYDX.js';
|
|
10
|
-
import { GlowDot, CardHeader, EmptyState, PageTitleCaption, TabCountBadge } from './chunk-
|
|
11
|
-
import { formatTimeAgo, getTimeRangeDates, formatRelativeTime } from './chunk-
|
|
10
|
+
import { GlowDot, CardHeader, EmptyState, PageTitleCaption, TabCountBadge } from './chunk-GJXAAYZ3.js';
|
|
11
|
+
import { formatTimeAgo, getTimeRangeDates, formatRelativeTime } from './chunk-SRNIHB7Y.js';
|
|
12
12
|
import { ResourceStatusColors } from './chunk-KRWALB24.js';
|
|
13
13
|
import { useInitialization } from './chunk-WKJ47GIW.js';
|
|
14
14
|
import { memo, useMemo, useEffect, useState, useCallback, Fragment } from 'react';
|
|
@@ -1406,7 +1406,8 @@ function OperationsOverview({
|
|
|
1406
1406
|
onErrorsNavigate,
|
|
1407
1407
|
onCommandQueueNavigate,
|
|
1408
1408
|
onScheduledTasksNavigate,
|
|
1409
|
-
renderTrendChart
|
|
1409
|
+
renderTrendChart,
|
|
1410
|
+
renderOperationalOverview
|
|
1410
1411
|
}) {
|
|
1411
1412
|
const { organizationReady, error: initError } = useInitialization();
|
|
1412
1413
|
const { data: dashboardDataRaw, isLoading, error } = useDashboardMetrics(timeRange);
|
|
@@ -1454,8 +1455,13 @@ function OperationsOverview({
|
|
|
1454
1455
|
}) : void 0
|
|
1455
1456
|
}
|
|
1456
1457
|
),
|
|
1457
|
-
|
|
1458
|
-
|
|
1458
|
+
renderOperationalOverview ? renderOperationalOverview({
|
|
1459
|
+
timeRange,
|
|
1460
|
+
onErrorsNavigate,
|
|
1461
|
+
onCommandQueueNavigate,
|
|
1462
|
+
onScheduledTasksNavigate
|
|
1463
|
+
}) : /* @__PURE__ */ jsx(
|
|
1464
|
+
DashboardOperationsOverview,
|
|
1459
1465
|
{
|
|
1460
1466
|
timeRange,
|
|
1461
1467
|
onErrorsNavigate,
|
|
@@ -1466,7 +1472,7 @@ function OperationsOverview({
|
|
|
1466
1472
|
] });
|
|
1467
1473
|
}
|
|
1468
1474
|
var Dashboard = OperationsOverview;
|
|
1469
|
-
function
|
|
1475
|
+
function DashboardOperationsOverview({
|
|
1470
1476
|
timeRange,
|
|
1471
1477
|
onErrorsNavigate,
|
|
1472
1478
|
onCommandQueueNavigate,
|
|
@@ -1866,4 +1872,4 @@ function UnresolvedErrorsTeaser({ timeRange, onNavigateToAllErrors }) {
|
|
|
1866
1872
|
);
|
|
1867
1873
|
}
|
|
1868
1874
|
|
|
1869
|
-
export { AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, BaseEdge, BaseNode, Dashboard, EmptyVisualizer, ExecutionStats, ExecutionStatusBadge, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, OperationsOverview, RecentExecutionsByResource, ResourceOverview, RunResourceButton, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UnresolvedErrorsTeaser, VisualizerContainer, WorkflowExecutionTimeline, getGraphBackgroundStyles, useGraphBackgroundStyles, useGraphTheme };
|
|
1875
|
+
export { AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, BaseEdge, BaseNode, Dashboard, DashboardOperationsOverview, EmptyVisualizer, ExecutionStats, ExecutionStatusBadge, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, OperationsOverview, RecentExecutionsByResource, ResourceOverview, RunResourceButton, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UnresolvedErrorsTeaser, VisualizerContainer, WorkflowExecutionTimeline, getGraphBackgroundStyles, useGraphBackgroundStyles, useGraphTheme };
|
|
@@ -2,12 +2,13 @@ import { AppShellLoader } from './chunk-RYTEQBAO.js';
|
|
|
2
2
|
import { FilterBar } from './chunk-PDHTXPSF.js';
|
|
3
3
|
import { CustomModal } from './chunk-KVJ3LFH2.js';
|
|
4
4
|
import { useAvailablePresets } from './chunk-XBMCDGHA.js';
|
|
5
|
-
import { useDeleteCredential, useCreateCredential, useCredentials, MEMBERSHIP_STATUS_COLORS, transformMembershipToTableRow, useUserMemberships, useUpdateWebhookEndpoint, useResources, useDeleteWebhookEndpoint, useCreateWebhookEndpoint, useListWebhookEndpoints, useOrgRoles, useAssignRole, useRevokeRole, useHasPermission, useUpdateMemberConfig, useOrganizationMembers, useUpdateCredential, CredentialSchemas } from './chunk-
|
|
6
|
-
import { showApiErrorNotification, showErrorNotification, showSuccessNotification } from './chunk-
|
|
7
|
-
import { ListSkeleton, EmptyState, PageTitleCaption, CardHeader, APIErrorAlert, StatCard } from './chunk-
|
|
5
|
+
import { useDeleteCredential, useCreateCredential, useCredentials, MEMBERSHIP_STATUS_COLORS, transformMembershipToTableRow, useUserMemberships, useUpdateWebhookEndpoint, useResources, useDeleteWebhookEndpoint, useCreateWebhookEndpoint, useListWebhookEndpoints, useOrgRoles, useAssignRole, useRevokeRole, useHasPermission, useUpdateMemberConfig, useOrganizationMembers, useUpdateCredential, CredentialSchemas } from './chunk-N63RKL3L.js';
|
|
6
|
+
import { showApiErrorNotification, showErrorNotification, showSuccessNotification } from './chunk-MZCDRBSI.js';
|
|
7
|
+
import { ListSkeleton, EmptyState, PageTitleCaption, CardHeader, APIErrorAlert, StatCard } from './chunk-GJXAAYZ3.js';
|
|
8
8
|
import { RoleBadge } from './chunk-GESXCQWY.js';
|
|
9
|
-
import { isAPIClientError, formatDateTime, OAUTH_POPUP_CHECK_INTERVAL, OAUTH_FLOW_TIMEOUT } from './chunk-
|
|
9
|
+
import { isAPIClientError, formatDateTime, OAUTH_POPUP_CHECK_INTERVAL, OAUTH_FLOW_TIMEOUT } from './chunk-SRNIHB7Y.js';
|
|
10
10
|
import { useInitialization } from './chunk-WKJ47GIW.js';
|
|
11
|
+
import { useOrganization } from './chunk-DD3CCMCZ.js';
|
|
11
12
|
import { useElevasisServices } from './chunk-5WWZXCS5.js';
|
|
12
13
|
import { createUseExternalEvents, Text, Table, Group, Tooltip, ActionIcon, Stack, Title, Button, Select, TextInput, Alert, PasswordInput, Anchor, Paper, Card, Switch, Badge, Center, Loader, Box, Code, CopyButton, ThemeIcon, SimpleGrid, UnstyledButton, Divider, Textarea, Tabs, MultiSelect } from '@mantine/core';
|
|
13
14
|
import { IconSettings, IconShieldOff, IconKey, IconCalendar, IconPencil, IconTrash, IconAlertTriangle, IconInfoCircle, IconExclamationMark, IconPlus, IconAlertCircle, IconUsers, IconSearch, IconBuilding, IconWebhook, IconCheck, IconCopy, IconUser, IconMail, IconRefresh, IconPalette, IconEye, IconSparkles, IconTrendingUp, IconClock, IconPlayerPause, IconPlayerPlay, IconActivity, IconShieldLock, IconAdjustments, IconBrandDropbox, IconBrandGoogleDrive, IconPlug, IconEdit, IconUserX, IconUserCheck } from '@tabler/icons-react';
|
|
@@ -36,6 +37,20 @@ var OAUTH_PROVIDERS = {
|
|
|
36
37
|
tokenExchange: "form-encoded",
|
|
37
38
|
scopes: ["https://www.googleapis.com/auth/spreadsheets"]
|
|
38
39
|
},
|
|
40
|
+
"google-calendar": {
|
|
41
|
+
id: "google-calendar",
|
|
42
|
+
name: "Google Calendar",
|
|
43
|
+
authUrl: "https://accounts.google.com/o/oauth2/v2/auth",
|
|
44
|
+
tokenUrl: "https://oauth2.googleapis.com/token",
|
|
45
|
+
authParams: {
|
|
46
|
+
access_type: "offline",
|
|
47
|
+
// Required for refresh token
|
|
48
|
+
prompt: "consent"
|
|
49
|
+
// Force consent to get refresh token on reconnect
|
|
50
|
+
},
|
|
51
|
+
tokenExchange: "form-encoded",
|
|
52
|
+
scopes: ["https://www.googleapis.com/auth/calendar.readonly"]
|
|
53
|
+
},
|
|
39
54
|
dropbox: {
|
|
40
55
|
id: "dropbox",
|
|
41
56
|
name: "Dropbox",
|
|
@@ -1862,7 +1877,8 @@ function MemberConfigModal({ opened, onClose, member }) {
|
|
|
1862
1877
|
function useOAuthFlow({ apiUrl }) {
|
|
1863
1878
|
const [isAuthorizing, setIsAuthorizing] = useState(false);
|
|
1864
1879
|
const [error, setError] = useState(null);
|
|
1865
|
-
const {
|
|
1880
|
+
const { isReady } = useElevasisServices();
|
|
1881
|
+
const { currentSupabaseOrganizationId: organizationId } = useOrganization();
|
|
1866
1882
|
const authorize = useCallback(
|
|
1867
1883
|
async (provider, credentialName) => {
|
|
1868
1884
|
if (!isReady || !organizationId) {
|
|
@@ -2141,6 +2157,17 @@ function OAuthIntegrationsCard({ apiUrl }) {
|
|
|
2141
2157
|
setSelectedProviderId(providerId);
|
|
2142
2158
|
setModalOpened(true);
|
|
2143
2159
|
};
|
|
2160
|
+
useEffect(() => {
|
|
2161
|
+
const params = new URLSearchParams(window.location.search);
|
|
2162
|
+
const requested = params.get("connect");
|
|
2163
|
+
if (requested && OAUTH_PROVIDERS[requested]) {
|
|
2164
|
+
handleOpenModal(requested);
|
|
2165
|
+
params.delete("connect");
|
|
2166
|
+
const remaining = params.toString();
|
|
2167
|
+
const newUrl = window.location.pathname + (remaining ? `?${remaining}` : "") + window.location.hash;
|
|
2168
|
+
window.history.replaceState({}, "", newUrl);
|
|
2169
|
+
}
|
|
2170
|
+
}, []);
|
|
2144
2171
|
const providers = Object.values(OAUTH_PROVIDERS);
|
|
2145
2172
|
const selectedProvider = selectedProviderId ? OAUTH_PROVIDERS[selectedProviderId] : null;
|
|
2146
2173
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|