@elevasis/ui 2.73.0 → 2.74.0
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.d.ts +58 -0
- package/dist/app/index.js +9 -10
- package/dist/auth/index.js +5 -6
- package/dist/charts/index.js +5 -6
- package/dist/chunk-2GIJBHZT.js +60 -0
- package/dist/{chunk-ETN3TTRT.js → chunk-2MRRDF32.js} +115 -8
- package/dist/chunk-3LOKYZJC.js +231 -0
- package/dist/chunk-3QHX4ZKV.js +224 -0
- package/dist/chunk-43LC6XAX.js +69 -0
- package/dist/chunk-4M2BSHVT.js +116 -0
- package/dist/{chunk-SWKAH2YM.js → chunk-4MXNHJTA.js} +63 -30
- package/dist/{chunk-LZT2H2MA.js → chunk-5A6KCFS5.js} +36 -43
- package/dist/{chunk-OCVSPAKM.js → chunk-6JN2TLV2.js} +1150 -4346
- package/dist/{chunk-JYBJMVNY.js → chunk-7ARBBELS.js} +1 -1
- package/dist/{chunk-AJOVWB47.js → chunk-7RJ7P6S6.js} +6 -3
- package/dist/chunk-ARAFQBNI.js +515 -0
- package/dist/{chunk-Z4ICFQXG.js → chunk-BA3AZJUR.js} +1 -1
- package/dist/chunk-BRTGCFBH.js +305 -0
- package/dist/{chunk-IGBPWD6S.js → chunk-CQPULKKL.js} +5 -3
- package/dist/chunk-CRA7WQZH.js +49 -0
- package/dist/{chunk-U2H3TIHD.js → chunk-DCQKTDIG.js} +2 -52
- package/dist/{chunk-3TS5U5BL.js → chunk-E6YGA5WH.js} +1 -1
- package/dist/chunk-FA7LMNQO.js +439 -0
- package/dist/chunk-FZSG6M6W.js +45 -0
- package/dist/chunk-GDOR57D7.js +165 -0
- package/dist/{chunk-CJ2232PQ.js → chunk-GO4XJ5D4.js} +1 -1
- package/dist/chunk-GPQQGQGT.js +645 -0
- package/dist/chunk-HYQOGRWG.js +54 -0
- package/dist/{chunk-LEPYXLJ2.js → chunk-LN4UW6S4.js} +1 -1
- package/dist/chunk-N6K2Q5BM.js +393 -0
- package/dist/{chunk-NHNTX6ZL.js → chunk-O32UQ26A.js} +3 -2
- package/dist/{chunk-M7WWRZ5Z.js → chunk-QFGNRKIE.js} +1 -78
- package/dist/{chunk-IBCEAVB2.js → chunk-R5UGIFYU.js} +41 -5
- package/dist/{chunk-5B2ZFO44.js → chunk-RFNJ2PTO.js} +1 -1
- package/dist/chunk-VM2OWOXL.js +24 -0
- package/dist/{chunk-ZDKPHFTH.js → chunk-W2QRBQQA.js} +5 -3
- package/dist/chunk-WDBNW44Z.js +49 -0
- package/dist/{chunk-4CW2C5BD.js → chunk-WZU3MCKI.js} +1 -1
- package/dist/chunk-YQQ5GRUR.js +21 -0
- package/dist/{chunk-PQ4B62HH.js → chunk-ZFA56VSR.js} +2 -2
- package/dist/{chunk-NI37YNRP.js → chunk-ZWI62BQ6.js} +7 -4
- package/dist/chunk-ZYNVCWDZ.js +286 -0
- package/dist/components/index.d.ts +187 -2
- package/dist/components/index.js +44 -34
- package/dist/components/navigation/index.js +6 -7
- package/dist/features/auth/index.d.ts +78 -2
- package/dist/features/auth/index.js +18 -9
- package/dist/features/clients/index.js +7 -7
- package/dist/features/content/index.d.ts +226 -5
- package/dist/features/content/index.js +263 -15
- package/dist/features/crm/index.d.ts +58 -0
- package/dist/features/crm/index.js +10 -8
- package/dist/features/dashboard/index.js +9 -8
- package/dist/features/delivery/index.d.ts +58 -0
- package/dist/features/delivery/index.js +23 -7
- package/dist/features/knowledge/index.js +5 -6
- package/dist/features/lead-gen/index.d.ts +9 -15
- package/dist/features/lead-gen/index.js +12 -8
- package/dist/features/monitoring/index.js +11 -9
- package/dist/features/monitoring/requests/index.js +8 -7
- package/dist/features/operations/index.js +15 -11
- package/dist/features/public-agent-chat/index.js +3 -1
- package/dist/features/settings/index.d.ts +58 -0
- package/dist/features/settings/index.js +9 -8
- package/dist/hooks/access/index.js +5 -6
- package/dist/hooks/delivery/index.d.ts +58 -0
- package/dist/hooks/delivery/index.js +3 -2
- package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +1 -1
- package/dist/hooks/published.d.ts +175 -3
- package/dist/hooks/published.js +22 -6
- package/dist/initialization/index.d.ts +58 -0
- package/dist/knowledge/index.js +167 -11
- package/dist/{knowledge-search-index-RZLIVWPJ.js → knowledge-search-index-6GQK55IQ.js} +1 -1
- package/dist/layout/index.js +8 -9
- package/dist/profile/index.d.ts +58 -0
- package/dist/provider/index.d.ts +77 -1
- package/dist/provider/index.js +5 -6
- package/dist/provider/published.d.ts +105 -1
- package/dist/provider/published.js +5 -6
- package/dist/test-utils/index.d.ts +16 -5
- package/dist/test-utils/index.js +17 -18
- package/dist/types/index.d.ts +59 -1
- package/dist/utils/index.d.ts +83 -3
- package/dist/utils/index.js +1 -1
- package/package.json +6 -5
- package/dist/chunk-6M6OLGQY.js +0 -36
- package/dist/chunk-MKH2KOAO.js +0 -39
- package/dist/hooks/index.css +0 -659
- package/dist/hooks/index.d.ts +0 -14073
- package/dist/hooks/index.js +0 -27
- package/dist/supabase/index.d.ts +0 -7118
- package/dist/supabase/index.js +0 -3
- package/dist/typeform/index.d.ts +0 -462
- package/dist/typeform/index.js +0 -2051
- package/dist/typeform/schemas.d.ts +0 -67
- package/dist/typeform/schemas.js +0 -2
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { useState, useMemo, useEffect, useCallback } from 'react';
|
|
2
|
+
|
|
3
|
+
// src/hooks/table/useTableSelection.ts
|
|
4
|
+
function useTableSelection(items, allItems) {
|
|
5
|
+
const [selectedIds, setSelectedIds] = useState(/* @__PURE__ */ new Set());
|
|
6
|
+
const pageIds = useMemo(() => new Set(items.map((i) => i.id)), [items]);
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
setSelectedIds((prev) => {
|
|
9
|
+
const validIds = allItems ? new Set(allItems.map((i) => i.id)) : pageIds;
|
|
10
|
+
const next = new Set([...prev].filter((id) => validIds.has(id)));
|
|
11
|
+
return next.size === prev.size ? prev : next;
|
|
12
|
+
});
|
|
13
|
+
}, [allItems, pageIds]);
|
|
14
|
+
const toggle = useCallback((id) => {
|
|
15
|
+
setSelectedIds((prev) => {
|
|
16
|
+
const next = new Set(prev);
|
|
17
|
+
if (next.has(id)) next.delete(id);
|
|
18
|
+
else next.add(id);
|
|
19
|
+
return next;
|
|
20
|
+
});
|
|
21
|
+
}, []);
|
|
22
|
+
const togglePage = useCallback(() => {
|
|
23
|
+
setSelectedIds((prev) => {
|
|
24
|
+
const allPageSelected = items.every((i) => prev.has(i.id));
|
|
25
|
+
const next = new Set(prev);
|
|
26
|
+
if (allPageSelected) {
|
|
27
|
+
for (const item of items) next.delete(item.id);
|
|
28
|
+
} else {
|
|
29
|
+
for (const item of items) next.add(item.id);
|
|
30
|
+
}
|
|
31
|
+
return next;
|
|
32
|
+
});
|
|
33
|
+
}, [items]);
|
|
34
|
+
const clear = useCallback(() => setSelectedIds(/* @__PURE__ */ new Set()), []);
|
|
35
|
+
const isPageAllSelected = items.length > 0 && items.every((i) => selectedIds.has(i.id));
|
|
36
|
+
const isPagePartiallySelected = !isPageAllSelected && items.some((i) => selectedIds.has(i.id));
|
|
37
|
+
return {
|
|
38
|
+
selectedIds,
|
|
39
|
+
toggle,
|
|
40
|
+
togglePage,
|
|
41
|
+
clear,
|
|
42
|
+
isPageAllSelected,
|
|
43
|
+
isPagePartiallySelected,
|
|
44
|
+
selectedCount: selectedIds.size,
|
|
45
|
+
isSelected: (id) => selectedIds.has(id)
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export { useTableSelection };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useCyberColors, useResourcesHealth, EmptyState, CyberLegendItem, CyberAreaChart } from './chunk-
|
|
1
|
+
import { useCyberColors, useResourcesHealth, EmptyState, CyberLegendItem, CyberAreaChart } from './chunk-6JN2TLV2.js';
|
|
2
2
|
import { CardHeader } from './chunk-62GVNH5U.js';
|
|
3
3
|
import { getTimeRangeDates, formatBucketTime } from './chunk-Y6I3IC45.js';
|
|
4
4
|
import { Paper, Center, Loader, Group } from '@mantine/core';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
|
|
3
|
+
// src/hooks/useTimeRangeDates.ts
|
|
4
|
+
var RANGE_MS = {
|
|
5
|
+
"1h": 60 * 60 * 1e3,
|
|
6
|
+
"24h": 24 * 60 * 60 * 1e3,
|
|
7
|
+
"7d": 7 * 24 * 60 * 60 * 1e3,
|
|
8
|
+
"30d": 30 * 24 * 60 * 60 * 1e3
|
|
9
|
+
};
|
|
10
|
+
function useTimeRangeDates(timeRange) {
|
|
11
|
+
return useMemo(() => {
|
|
12
|
+
const now = /* @__PURE__ */ new Date();
|
|
13
|
+
const start = new Date(now.getTime() - RANGE_MS[timeRange]);
|
|
14
|
+
return {
|
|
15
|
+
startDate: start.toISOString(),
|
|
16
|
+
endDate: now.toISOString()
|
|
17
|
+
};
|
|
18
|
+
}, [timeRange]);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { useTimeRangeDates };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { getLeadGenStageCatalog } from './chunk-
|
|
2
|
-
import { SYSTEM_INTERFACE_PROFILES, formatOntologyId, registerBuiltInReadinessProfile, registerReadinessInterfaceMarker, requireContractReadiness, computeInterfaceReadiness, addReadinessIssue, formatInterfaceIdentity, resourceBindingIds, requireCatalogReadiness, requireScopedBinding } from './chunk-
|
|
1
|
+
import { getLeadGenStageCatalog } from './chunk-6JN2TLV2.js';
|
|
2
|
+
import { SYSTEM_INTERFACE_PROFILES, formatOntologyId, registerBuiltInReadinessProfile, registerReadinessInterfaceMarker, requireContractReadiness, computeInterfaceReadiness, addReadinessIssue, formatInterfaceIdentity, resourceBindingIds, requireCatalogReadiness, requireScopedBinding } from './chunk-R5UGIFYU.js';
|
|
3
3
|
|
|
4
4
|
// ../core/src/business/acquisition/ontology-validation.ts
|
|
5
5
|
var LEAD_GEN_API_INTERFACE = SYSTEM_INTERFACE_PROFILES[0];
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useDealDetail, useExecuteAction } from './chunk-FZSG6M6W.js';
|
|
2
|
+
import { CRM_API_INTERFACE } from './chunk-ZFA56VSR.js';
|
|
3
|
+
import { useTableSort, sortData, useCompany, useContact, deriveActions } from './chunk-ZYNVCWDZ.js';
|
|
4
|
+
import { useTableSelection } from './chunk-WDBNW44Z.js';
|
|
2
5
|
import { PageContainer } from './chunk-BZZCNLT6.js';
|
|
3
6
|
import { TableSelectionToolbar, SortableHeader } from './chunk-TUMSNGTX.js';
|
|
4
7
|
import { FilterBar } from './chunk-PDHTXPSF.js';
|
|
5
|
-
import { CrmSidebarMiddle, useDealsSummary, useOptionalElevasisSystems, getCrmPipelineCatalog, CenteredErrorState, StatCard, PageTitleCaption, useDeleteDeal, usePaginationState, useDeals,
|
|
6
|
-
import { showApiErrorNotification, showSuccessNotification } from './chunk-
|
|
8
|
+
import { CrmSidebarMiddle, useDealsSummary, useOptionalElevasisSystems, getCrmPipelineCatalog, CenteredErrorState, StatCard, PageTitleCaption, useDeleteDeal, usePaginationState, useDeals, SubshellContentContainer, EmptyState, CustomModal, useCrmActions, ActivityTimeline, ContextViewer, JsonViewer, dealKeys } from './chunk-6JN2TLV2.js';
|
|
9
|
+
import { showApiErrorNotification, showSuccessNotification } from './chunk-HYQOGRWG.js';
|
|
7
10
|
import { SubshellSidebarSection } from './chunk-MISHPEJX.js';
|
|
8
11
|
import { CardHeader } from './chunk-62GVNH5U.js';
|
|
9
|
-
import { computeInterfaceReadiness, getSystem, PAGE_SIZE_DEFAULT, formatTimeAgo } from './chunk-
|
|
12
|
+
import { computeInterfaceReadiness, getSystem, PAGE_SIZE_DEFAULT, formatTimeAgo } from './chunk-R5UGIFYU.js';
|
|
10
13
|
import { useElevasisServices } from './chunk-BI5VDO2K.js';
|
|
11
14
|
import { Stack, Paper, Center, Loader, Group, Box, Text, Alert, Table, SimpleGrid, Button, Select, TextInput, Tabs, Checkbox, Badge, Tooltip, Pagination, Title, Code, Card, SegmentedControl, Switch, NumberInput, ColorSwatch, Popover, ActionIcon, Anchor, CopyButton, Divider, Textarea } from '@mantine/core';
|
|
12
15
|
import { IconAddressBook, IconColumns, IconHistory, IconAlertCircle, IconCurrencyDollar, IconChartBar, IconBriefcase, IconTrophy, IconSearch, IconTargetArrow, IconAlertTriangle, IconMessages, IconArrowLeft, IconFileText, IconInbox, IconUser, IconBolt, IconBuilding, IconSettings, IconRestore, IconInfoCircle, IconMailForward, IconPlus, IconArrowRight, IconNote, IconCheck, IconCopy } from '@tabler/icons-react';
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
import { acquisitionListKeys } from './chunk-6JN2TLV2.js';
|
|
2
|
+
import { showApiErrorNotification, showSuccessNotification } from './chunk-HYQOGRWG.js';
|
|
3
|
+
import { APIClientError } from './chunk-R5UGIFYU.js';
|
|
4
|
+
import { useElevasisServices } from './chunk-BI5VDO2K.js';
|
|
5
|
+
import { useQuery, useQueryClient, useMutation } from '@tanstack/react-query';
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
import { useState, useCallback, useMemo } from 'react';
|
|
8
|
+
|
|
9
|
+
z.object({
|
|
10
|
+
replyBody: z.string().trim().min(1).max(1e4)
|
|
11
|
+
}).strict();
|
|
12
|
+
function deriveActions(deal, actions = []) {
|
|
13
|
+
return actions.filter((a) => a.isAvailableFor(deal)).map(({ key, label, payloadSchema }) => ({ key, label, payloadSchema }));
|
|
14
|
+
}
|
|
15
|
+
function useTableSort(defaultColumn, defaultDirection = "desc") {
|
|
16
|
+
const [sort, setSort] = useState({ column: defaultColumn, direction: defaultDirection });
|
|
17
|
+
const toggleSort = useCallback((column) => {
|
|
18
|
+
setSort((prev) => {
|
|
19
|
+
if (prev.column === column) {
|
|
20
|
+
return { column, direction: prev.direction === "asc" ? "desc" : "asc" };
|
|
21
|
+
}
|
|
22
|
+
return { column, direction: "desc" };
|
|
23
|
+
});
|
|
24
|
+
}, []);
|
|
25
|
+
return { sort, toggleSort };
|
|
26
|
+
}
|
|
27
|
+
function sortData(data, sort, accessors) {
|
|
28
|
+
const accessor = accessors[sort.column];
|
|
29
|
+
if (!accessor) return data;
|
|
30
|
+
return [...data].sort((a, b) => {
|
|
31
|
+
const aVal = accessor(a);
|
|
32
|
+
const bVal = accessor(b);
|
|
33
|
+
if (aVal == null && bVal == null) return 0;
|
|
34
|
+
if (aVal == null) return 1;
|
|
35
|
+
if (bVal == null) return -1;
|
|
36
|
+
let comparison = 0;
|
|
37
|
+
if (typeof aVal === "string" && typeof bVal === "string") {
|
|
38
|
+
comparison = aVal.localeCompare(bVal);
|
|
39
|
+
} else if (typeof aVal === "number" && typeof bVal === "number") {
|
|
40
|
+
comparison = aVal - bVal;
|
|
41
|
+
} else {
|
|
42
|
+
comparison = String(aVal).localeCompare(String(bVal));
|
|
43
|
+
}
|
|
44
|
+
return sort.direction === "asc" ? comparison : -comparison;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
function useSortedData(data, defaultColumn, accessors, defaultDirection = "desc") {
|
|
48
|
+
const { sort, toggleSort } = useTableSort(defaultColumn, defaultDirection);
|
|
49
|
+
const sorted = useMemo(() => sortData(data, sort, accessors), [data, sort, accessors]);
|
|
50
|
+
return { sorted, sort, toggleSort };
|
|
51
|
+
}
|
|
52
|
+
var contactKeys = {
|
|
53
|
+
all: ["acquisition-contacts"],
|
|
54
|
+
list: (organizationId, filters) => [...contactKeys.all, "list", organizationId, filters],
|
|
55
|
+
detail: (organizationId, contactId) => [...contactKeys.all, "detail", organizationId, contactId]
|
|
56
|
+
};
|
|
57
|
+
function buildQueryString(params) {
|
|
58
|
+
const searchParams = new URLSearchParams();
|
|
59
|
+
for (const [key, value] of Object.entries(params)) {
|
|
60
|
+
if (value === void 0) continue;
|
|
61
|
+
searchParams.set(key, String(value));
|
|
62
|
+
}
|
|
63
|
+
const queryString = searchParams.toString();
|
|
64
|
+
return queryString ? `?${queryString}` : "";
|
|
65
|
+
}
|
|
66
|
+
function useContacts(filters = {}) {
|
|
67
|
+
const { apiRequest, isReady, workOSOrganizationId } = useElevasisServices();
|
|
68
|
+
return useQuery({
|
|
69
|
+
queryKey: contactKeys.list(workOSOrganizationId, filters),
|
|
70
|
+
queryFn: async () => {
|
|
71
|
+
const queryString = buildQueryString({
|
|
72
|
+
listId: filters.listId,
|
|
73
|
+
search: filters.search,
|
|
74
|
+
openingLineIsNull: filters.openingLineIsNull,
|
|
75
|
+
batchId: filters.batchId,
|
|
76
|
+
contactStatus: filters.contactStatus,
|
|
77
|
+
limit: filters.limit,
|
|
78
|
+
offset: filters.offset
|
|
79
|
+
});
|
|
80
|
+
return apiRequest(`/acquisition/contacts${queryString}`);
|
|
81
|
+
},
|
|
82
|
+
enabled: isReady && !!workOSOrganizationId,
|
|
83
|
+
retry: (_failureCount, error) => !(error instanceof APIClientError && error.statusCode === 401)
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
function useContact(contactId) {
|
|
87
|
+
const { apiRequest, isReady, workOSOrganizationId } = useElevasisServices();
|
|
88
|
+
return useQuery({
|
|
89
|
+
queryKey: contactKeys.detail(workOSOrganizationId, contactId),
|
|
90
|
+
queryFn: async () => {
|
|
91
|
+
if (!contactId) return null;
|
|
92
|
+
return apiRequest(`/acquisition/contacts/${contactId}`);
|
|
93
|
+
},
|
|
94
|
+
enabled: isReady && !!workOSOrganizationId && !!contactId
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
function useCreateContact() {
|
|
98
|
+
const { apiRequest } = useElevasisServices();
|
|
99
|
+
const queryClient = useQueryClient();
|
|
100
|
+
return useMutation({
|
|
101
|
+
mutationFn: (body) => apiRequest("/acquisition/contacts", {
|
|
102
|
+
method: "POST",
|
|
103
|
+
body: JSON.stringify(body)
|
|
104
|
+
}),
|
|
105
|
+
onSuccess: () => {
|
|
106
|
+
queryClient.invalidateQueries({ queryKey: contactKeys.all });
|
|
107
|
+
queryClient.invalidateQueries({ queryKey: ["acquisition-companies"] });
|
|
108
|
+
queryClient.invalidateQueries({ queryKey: acquisitionListKeys.all });
|
|
109
|
+
showSuccessNotification("Contact created");
|
|
110
|
+
},
|
|
111
|
+
onError: (error) => {
|
|
112
|
+
showApiErrorNotification(error);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
function useUpdateContact(contactId) {
|
|
117
|
+
const { apiRequest } = useElevasisServices();
|
|
118
|
+
const queryClient = useQueryClient();
|
|
119
|
+
return useMutation({
|
|
120
|
+
mutationFn: (body) => apiRequest(`/acquisition/contacts/${contactId}`, {
|
|
121
|
+
method: "PATCH",
|
|
122
|
+
body: JSON.stringify(body)
|
|
123
|
+
}),
|
|
124
|
+
onSuccess: () => {
|
|
125
|
+
queryClient.invalidateQueries({ queryKey: contactKeys.all });
|
|
126
|
+
queryClient.invalidateQueries({ queryKey: ["acquisition-companies"] });
|
|
127
|
+
queryClient.invalidateQueries({ queryKey: acquisitionListKeys.all });
|
|
128
|
+
showSuccessNotification("Contact updated");
|
|
129
|
+
},
|
|
130
|
+
onError: (error) => {
|
|
131
|
+
showApiErrorNotification(error);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
function useDeleteContacts() {
|
|
136
|
+
const { apiRequest } = useElevasisServices();
|
|
137
|
+
const queryClient = useQueryClient();
|
|
138
|
+
return useMutation({
|
|
139
|
+
mutationFn: async (contactIds) => {
|
|
140
|
+
const uniqueIds = [...new Set(contactIds)].filter(Boolean);
|
|
141
|
+
if (uniqueIds.length === 0) return;
|
|
142
|
+
await Promise.all(
|
|
143
|
+
uniqueIds.map(
|
|
144
|
+
(contactId) => apiRequest(`/acquisition/contacts/${contactId}`, {
|
|
145
|
+
method: "DELETE"
|
|
146
|
+
})
|
|
147
|
+
)
|
|
148
|
+
);
|
|
149
|
+
},
|
|
150
|
+
onSuccess: () => {
|
|
151
|
+
queryClient.invalidateQueries({ queryKey: contactKeys.all });
|
|
152
|
+
queryClient.invalidateQueries({ queryKey: ["acquisition-companies"] });
|
|
153
|
+
queryClient.invalidateQueries({ queryKey: acquisitionListKeys.all });
|
|
154
|
+
showSuccessNotification("Contacts deleted");
|
|
155
|
+
},
|
|
156
|
+
onError: (error) => {
|
|
157
|
+
showApiErrorNotification(error);
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
// src/hooks/acquisition/useCompanies.ts
|
|
163
|
+
var companyKeys = {
|
|
164
|
+
all: ["acquisition-companies"],
|
|
165
|
+
list: (organizationId, filters) => [...companyKeys.all, "list", organizationId, filters],
|
|
166
|
+
facets: (organizationId) => [...companyKeys.all, "facets", organizationId],
|
|
167
|
+
detail: (organizationId, companyId) => [...companyKeys.all, "detail", organizationId, companyId]
|
|
168
|
+
};
|
|
169
|
+
function buildQueryString2(params) {
|
|
170
|
+
const searchParams = new URLSearchParams();
|
|
171
|
+
for (const [key, value] of Object.entries(params)) {
|
|
172
|
+
if (value === void 0) continue;
|
|
173
|
+
searchParams.set(key, String(value));
|
|
174
|
+
}
|
|
175
|
+
const queryString = searchParams.toString();
|
|
176
|
+
return queryString ? `?${queryString}` : "";
|
|
177
|
+
}
|
|
178
|
+
function useCompanies(filters = {}) {
|
|
179
|
+
const { apiRequest, isReady, workOSOrganizationId } = useElevasisServices();
|
|
180
|
+
return useQuery({
|
|
181
|
+
queryKey: companyKeys.list(workOSOrganizationId, filters),
|
|
182
|
+
queryFn: async () => {
|
|
183
|
+
const queryString = buildQueryString2({
|
|
184
|
+
listId: filters.listId,
|
|
185
|
+
search: filters.search,
|
|
186
|
+
domain: filters.domain,
|
|
187
|
+
website: filters.website,
|
|
188
|
+
segment: filters.segment,
|
|
189
|
+
category: filters.category,
|
|
190
|
+
batchId: filters.batchId,
|
|
191
|
+
status: filters.status,
|
|
192
|
+
includeAll: filters.includeAll,
|
|
193
|
+
limit: filters.limit,
|
|
194
|
+
offset: filters.offset
|
|
195
|
+
});
|
|
196
|
+
return apiRequest(`/acquisition/companies${queryString}`);
|
|
197
|
+
},
|
|
198
|
+
enabled: isReady && !!workOSOrganizationId,
|
|
199
|
+
retry: (_failureCount, error) => !(error instanceof APIClientError && error.statusCode === 401)
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
function useCompanyFacets() {
|
|
203
|
+
const { apiRequest, isReady, workOSOrganizationId } = useElevasisServices();
|
|
204
|
+
return useQuery({
|
|
205
|
+
queryKey: companyKeys.facets(workOSOrganizationId),
|
|
206
|
+
queryFn: () => apiRequest("/acquisition/companies/facets"),
|
|
207
|
+
enabled: isReady && !!workOSOrganizationId
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
function useCompany(companyId) {
|
|
211
|
+
const { apiRequest, isReady, workOSOrganizationId } = useElevasisServices();
|
|
212
|
+
return useQuery({
|
|
213
|
+
queryKey: companyKeys.detail(workOSOrganizationId, companyId),
|
|
214
|
+
queryFn: async () => {
|
|
215
|
+
if (!companyId) return null;
|
|
216
|
+
return apiRequest(`/acquisition/companies/${companyId}`);
|
|
217
|
+
},
|
|
218
|
+
enabled: isReady && !!workOSOrganizationId && !!companyId
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
function useCreateCompany() {
|
|
222
|
+
const { apiRequest } = useElevasisServices();
|
|
223
|
+
const queryClient = useQueryClient();
|
|
224
|
+
return useMutation({
|
|
225
|
+
mutationFn: (body) => apiRequest("/acquisition/companies", {
|
|
226
|
+
method: "POST",
|
|
227
|
+
body: JSON.stringify(body)
|
|
228
|
+
}),
|
|
229
|
+
onSuccess: () => {
|
|
230
|
+
queryClient.invalidateQueries({ queryKey: companyKeys.all });
|
|
231
|
+
queryClient.invalidateQueries({ queryKey: ["acquisition-contacts"] });
|
|
232
|
+
queryClient.invalidateQueries({ queryKey: acquisitionListKeys.all });
|
|
233
|
+
showSuccessNotification("Company created");
|
|
234
|
+
},
|
|
235
|
+
onError: (error) => {
|
|
236
|
+
showApiErrorNotification(error);
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
function useUpdateCompany(companyId) {
|
|
241
|
+
const { apiRequest } = useElevasisServices();
|
|
242
|
+
const queryClient = useQueryClient();
|
|
243
|
+
return useMutation({
|
|
244
|
+
mutationFn: (body) => apiRequest(`/acquisition/companies/${companyId}`, {
|
|
245
|
+
method: "PATCH",
|
|
246
|
+
body: JSON.stringify(body)
|
|
247
|
+
}),
|
|
248
|
+
onSuccess: () => {
|
|
249
|
+
queryClient.invalidateQueries({ queryKey: companyKeys.all });
|
|
250
|
+
queryClient.invalidateQueries({ queryKey: ["acquisition-contacts"] });
|
|
251
|
+
queryClient.invalidateQueries({ queryKey: acquisitionListKeys.all });
|
|
252
|
+
showSuccessNotification("Company updated");
|
|
253
|
+
},
|
|
254
|
+
onError: (error) => {
|
|
255
|
+
showApiErrorNotification(error);
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
function useDeleteCompanies() {
|
|
260
|
+
const { apiRequest } = useElevasisServices();
|
|
261
|
+
const queryClient = useQueryClient();
|
|
262
|
+
return useMutation({
|
|
263
|
+
mutationFn: async (companyIds) => {
|
|
264
|
+
const uniqueIds = [...new Set(companyIds)].filter(Boolean);
|
|
265
|
+
if (uniqueIds.length === 0) return;
|
|
266
|
+
await Promise.all(
|
|
267
|
+
uniqueIds.map(
|
|
268
|
+
(companyId) => apiRequest(`/acquisition/companies/${companyId}`, {
|
|
269
|
+
method: "DELETE"
|
|
270
|
+
})
|
|
271
|
+
)
|
|
272
|
+
);
|
|
273
|
+
},
|
|
274
|
+
onSuccess: () => {
|
|
275
|
+
queryClient.invalidateQueries({ queryKey: companyKeys.all });
|
|
276
|
+
queryClient.invalidateQueries({ queryKey: ["acquisition-contacts"] });
|
|
277
|
+
queryClient.invalidateQueries({ queryKey: acquisitionListKeys.all });
|
|
278
|
+
showSuccessNotification("Companies deleted");
|
|
279
|
+
},
|
|
280
|
+
onError: (error) => {
|
|
281
|
+
showApiErrorNotification(error);
|
|
282
|
+
}
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
export { companyKeys, contactKeys, deriveActions, sortData, useCompanies, useCompany, useCompanyFacets, useContact, useContacts, useCreateCompany, useCreateContact, useDeleteCompanies, useDeleteContacts, useSortedData, useTableSort, useUpdateCompany, useUpdateContact };
|
|
@@ -1895,6 +1895,64 @@ type Database = {
|
|
|
1895
1895
|
}
|
|
1896
1896
|
];
|
|
1897
1897
|
};
|
|
1898
|
+
content_distribution_metrics: {
|
|
1899
|
+
Row: {
|
|
1900
|
+
captured_at: string;
|
|
1901
|
+
created_at: string;
|
|
1902
|
+
distribution_id: string;
|
|
1903
|
+
id: string;
|
|
1904
|
+
metrics: Json;
|
|
1905
|
+
organization_id: string;
|
|
1906
|
+
raw: Json;
|
|
1907
|
+
source: string;
|
|
1908
|
+
source_execution_id: string | null;
|
|
1909
|
+
};
|
|
1910
|
+
Insert: {
|
|
1911
|
+
captured_at?: string;
|
|
1912
|
+
created_at?: string;
|
|
1913
|
+
distribution_id: string;
|
|
1914
|
+
id?: string;
|
|
1915
|
+
metrics?: Json;
|
|
1916
|
+
organization_id: string;
|
|
1917
|
+
raw?: Json;
|
|
1918
|
+
source: string;
|
|
1919
|
+
source_execution_id?: string | null;
|
|
1920
|
+
};
|
|
1921
|
+
Update: {
|
|
1922
|
+
captured_at?: string;
|
|
1923
|
+
created_at?: string;
|
|
1924
|
+
distribution_id?: string;
|
|
1925
|
+
id?: string;
|
|
1926
|
+
metrics?: Json;
|
|
1927
|
+
organization_id?: string;
|
|
1928
|
+
raw?: Json;
|
|
1929
|
+
source?: string;
|
|
1930
|
+
source_execution_id?: string | null;
|
|
1931
|
+
};
|
|
1932
|
+
Relationships: [
|
|
1933
|
+
{
|
|
1934
|
+
foreignKeyName: "content_distribution_metrics_distribution_fkey";
|
|
1935
|
+
columns: ["distribution_id", "organization_id"];
|
|
1936
|
+
isOneToOne: false;
|
|
1937
|
+
referencedRelation: "content_distributions";
|
|
1938
|
+
referencedColumns: ["id", "organization_id"];
|
|
1939
|
+
},
|
|
1940
|
+
{
|
|
1941
|
+
foreignKeyName: "content_distribution_metrics_organization_id_fkey";
|
|
1942
|
+
columns: ["organization_id"];
|
|
1943
|
+
isOneToOne: false;
|
|
1944
|
+
referencedRelation: "organizations";
|
|
1945
|
+
referencedColumns: ["id"];
|
|
1946
|
+
},
|
|
1947
|
+
{
|
|
1948
|
+
foreignKeyName: "content_distribution_metrics_source_execution_id_fkey";
|
|
1949
|
+
columns: ["source_execution_id"];
|
|
1950
|
+
isOneToOne: false;
|
|
1951
|
+
referencedRelation: "execution_logs";
|
|
1952
|
+
referencedColumns: ["execution_id"];
|
|
1953
|
+
}
|
|
1954
|
+
];
|
|
1955
|
+
};
|
|
1898
1956
|
content_distributions: {
|
|
1899
1957
|
Row: {
|
|
1900
1958
|
adapted_body: string | null;
|
|
@@ -4709,6 +4767,45 @@ declare const LinkSchema: z.ZodObject<{
|
|
|
4709
4767
|
}, z.core.$strip>;
|
|
4710
4768
|
type Link = z.infer<typeof LinkSchema>;
|
|
4711
4769
|
|
|
4770
|
+
/**
|
|
4771
|
+
* Registration surface for the generic readiness engine (`./engine`).
|
|
4772
|
+
*
|
|
4773
|
+
* This module owns two independent extension points so `./engine` never has
|
|
4774
|
+
* to import anything from `business/**`:
|
|
4775
|
+
*
|
|
4776
|
+
* - `registerBuiltInReadinessProfile` — a profile id (e.g. `sales.lead-gen.api`)
|
|
4777
|
+
* maps to structural validation logic plus an optional model-preparation
|
|
4778
|
+
* hook run before ontology compilation (e.g. injecting a derived catalog).
|
|
4779
|
+
* This is the ONE readiness-profile registry (`_builtInProfileValidators`
|
|
4780
|
+
* below) — `../domains/systems`'s `isBuiltInReadinessProfile` /
|
|
4781
|
+
* `lookupReadinessProfile` read it directly via `getBuiltInReadinessProfile`
|
|
4782
|
+
* rather than mirroring registrations into a second map, so a profile id
|
|
4783
|
+
* can never read as built-in without an actual registered validator.
|
|
4784
|
+
* - `registerReadinessInterfaceMarker` — a `(systemPath, interfaceKey)` pair
|
|
4785
|
+
* maps to a synthesized interface marker for interfaces that are not
|
|
4786
|
+
* authored on `system.apiInterface` (e.g. the lead-gen/CRM handoff bridge,
|
|
4787
|
+
* which is derived from scoped resources rather than declared directly).
|
|
4788
|
+
*
|
|
4789
|
+
* `business/acquisition/ontology-validation.ts` calls both at module load to
|
|
4790
|
+
* register its three built-in profiles. Both registries are module-level
|
|
4791
|
+
* mutable maps with no reset function. Reachable by a tenant via the
|
|
4792
|
+
* `./organization-model/readiness` subpath (see `./index`).
|
|
4793
|
+
*/
|
|
4794
|
+
|
|
4795
|
+
type SystemInterfaceReadinessIssueFamily = 'SYSTEM_INTERFACE_MISSING' | 'SYSTEM_INTERFACE_DISABLED' | 'SYSTEM_INTERFACE_INVALID' | 'SYSTEM_INTERFACE_NOT_READY' | 'SYSTEM_BRIDGE_NOT_READY'
|
|
4796
|
+
/**
|
|
4797
|
+
* The deployed OM snapshot hash does not match the canonical source hash.
|
|
4798
|
+
* Redeploy with `pnpm operations:deploy` to refresh the snapshot.
|
|
4799
|
+
*/
|
|
4800
|
+
| 'STALE_OM_SNAPSHOT';
|
|
4801
|
+
interface SystemInterfaceReadinessIssue {
|
|
4802
|
+
family: SystemInterfaceReadinessIssueFamily;
|
|
4803
|
+
code: string;
|
|
4804
|
+
path?: string;
|
|
4805
|
+
ref?: string;
|
|
4806
|
+
message: string;
|
|
4807
|
+
}
|
|
4808
|
+
|
|
4712
4809
|
declare const OrganizationModelSchema: z.ZodObject<{
|
|
4713
4810
|
version: z.ZodDefault<z.ZodLiteral<1>>;
|
|
4714
4811
|
snapshotHash: z.ZodOptional<z.ZodString>;
|
|
@@ -6335,6 +6432,17 @@ interface PermissionDescriptor {
|
|
|
6335
6432
|
isOrgGrantable: boolean;
|
|
6336
6433
|
}
|
|
6337
6434
|
|
|
6435
|
+
declare const AccessKeyInputSchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
6436
|
+
systemPath: z.ZodString;
|
|
6437
|
+
action: z.ZodDefault<z.ZodEnum<{
|
|
6438
|
+
view: "view";
|
|
6439
|
+
manage: "manage";
|
|
6440
|
+
}>>;
|
|
6441
|
+
}, z.core.$strict>]>;
|
|
6442
|
+
type AccessKeyInput = z.input<typeof AccessKeyInputSchema>;
|
|
6443
|
+
|
|
6444
|
+
type AccessReason = 'allowed' | 'platform-admin-bypass' | 'invalid-access-key' | 'unknown-access-key' | 'organization-mismatch' | 'missing-membership' | 'system-not-active' | 'role-permission-denied' | 'diagnostic-key-not-allowed';
|
|
6445
|
+
|
|
6338
6446
|
/**
|
|
6339
6447
|
* Deployment types — browser-safe
|
|
6340
6448
|
*
|
|
@@ -6861,6 +6969,26 @@ interface FeatureUnavailableStateProps {
|
|
|
6861
6969
|
}
|
|
6862
6970
|
declare function FeatureUnavailableState({ path }: FeatureUnavailableStateProps): react_jsx_runtime.JSX.Element;
|
|
6863
6971
|
|
|
6972
|
+
interface SystemUnavailableStateProps {
|
|
6973
|
+
/** The access key the guard evaluated -- used to resolve the System's id, label, and lifecycle. */
|
|
6974
|
+
accessKey: AccessKeyInput;
|
|
6975
|
+
/** The denial reason returned by `checkAccess` / `useAccess`. */
|
|
6976
|
+
reason: AccessReason;
|
|
6977
|
+
}
|
|
6978
|
+
/**
|
|
6979
|
+
* Route-level denial state for a System `AccessGuard`. Unlike the guard's own
|
|
6980
|
+
* `fallback = null` default (never changed -- see access-model.ts), this
|
|
6981
|
+
* component turns the specific {@link AccessReason} `checkAccess` already
|
|
6982
|
+
* computed into a message that names the System instead of rendering a blank
|
|
6983
|
+
* pane. `unknown-access-key` and `system-not-active` get a dedicated message
|
|
6984
|
+
* because they are configuration problems (the System isn't declared, or
|
|
6985
|
+
* isn't in an accessible lifecycle state) rather than a per-user permission
|
|
6986
|
+
* gap; every other denial reason falls through to the shared
|
|
6987
|
+
* {@link NoAccessState}, which already covers "you personally can't see
|
|
6988
|
+
* this."
|
|
6989
|
+
*/
|
|
6990
|
+
declare function SystemUnavailableState({ accessKey, reason }: SystemUnavailableStateProps): react_jsx_runtime.JSX.Element;
|
|
6991
|
+
|
|
6864
6992
|
interface ResourceCardProps {
|
|
6865
6993
|
resource: ResourceDefinition;
|
|
6866
6994
|
onClick: (resource: ResourceDefinition) => void;
|
|
@@ -6930,6 +7058,63 @@ interface ActivityTimelineProps {
|
|
|
6930
7058
|
}
|
|
6931
7059
|
declare function ActivityTimeline({ activities }: ActivityTimelineProps): react_jsx_runtime.JSX.Element;
|
|
6932
7060
|
|
|
7061
|
+
/**
|
|
7062
|
+
* The structured 503 payload a System Interface readiness failure carries
|
|
7063
|
+
* (`APIErrorResponse.details` shape produced by `createInterfaceReadinessApiError`
|
|
7064
|
+
* in `apps/api/src/platform/organization-model/interface-readiness.ts`). Pass
|
|
7065
|
+
* this when a caller catches a server-side readiness failure rather than
|
|
7066
|
+
* computing readiness from the local Organization Model.
|
|
7067
|
+
*
|
|
7068
|
+
* `readinessCode: 'STALE_OM_SNAPSHOT'` is the one family the server already
|
|
7069
|
+
* turns into an actionable redeploy message; this alert renders that same
|
|
7070
|
+
* hint from the structured field rather than depending on parsed message text.
|
|
7071
|
+
*/
|
|
7072
|
+
interface SystemReadinessServerErrorDetails {
|
|
7073
|
+
systemPath: string;
|
|
7074
|
+
interfaceKey: string;
|
|
7075
|
+
readinessProfile?: string;
|
|
7076
|
+
readinessCode: SystemInterfaceReadinessIssueFamily;
|
|
7077
|
+
issues: SystemInterfaceReadinessIssue[];
|
|
7078
|
+
}
|
|
7079
|
+
interface SystemReadinessAlertProps {
|
|
7080
|
+
/**
|
|
7081
|
+
* Whether the System's API interface readiness check has passed. Renders
|
|
7082
|
+
* nothing when `true` and no `serverError` is supplied.
|
|
7083
|
+
*/
|
|
7084
|
+
ready: boolean;
|
|
7085
|
+
/**
|
|
7086
|
+
* Label for what is disabled while readiness has not passed, e.g.
|
|
7087
|
+
* "Lead-gen API actions". Used to build the default message.
|
|
7088
|
+
*/
|
|
7089
|
+
actionLabel: string;
|
|
7090
|
+
/**
|
|
7091
|
+
* Optional note appended after the disabled-actions message describing
|
|
7092
|
+
* what still works, e.g. "Read-only list detail can still render when
|
|
7093
|
+
* data is available."
|
|
7094
|
+
*/
|
|
7095
|
+
fallbackNote?: string;
|
|
7096
|
+
/**
|
|
7097
|
+
* Reason string from a local (client-side) readiness computation, e.g.
|
|
7098
|
+
* `useLeadGenConfig().leadGenApiInterface.reason`.
|
|
7099
|
+
*/
|
|
7100
|
+
reason?: string;
|
|
7101
|
+
/**
|
|
7102
|
+
* Structured 503 payload from a server-side readiness failure. When
|
|
7103
|
+
* provided, its `issues[]` render as a list and its redeploy hint (for
|
|
7104
|
+
* `STALE_OM_SNAPSHOT`) renders below them.
|
|
7105
|
+
*/
|
|
7106
|
+
serverError?: SystemReadinessServerErrorDetails;
|
|
7107
|
+
}
|
|
7108
|
+
/**
|
|
7109
|
+
* Displays a warning alert when a System's API interface readiness check has
|
|
7110
|
+
* not passed. Generalized from the lead-gen-only `LeadGenReadinessAlert` so
|
|
7111
|
+
* any System can reuse the same rendering for both a local-model readiness
|
|
7112
|
+
* failure (`reason`) and a structured server 503 (`serverError`).
|
|
7113
|
+
*
|
|
7114
|
+
* Renders nothing when `ready` is `true` and no `serverError` is supplied.
|
|
7115
|
+
*/
|
|
7116
|
+
declare function SystemReadinessAlert({ ready, actionLabel, fallbackNote, reason, serverError }: SystemReadinessAlertProps): react_jsx_runtime.JSX.Element | null;
|
|
7117
|
+
|
|
6933
7118
|
interface ICustomModalProps {
|
|
6934
7119
|
opened: boolean;
|
|
6935
7120
|
onClose: () => void;
|
|
@@ -9134,5 +9319,5 @@ declare const OperationsSidebarMiddle: () => react_jsx_runtime.JSX.Element;
|
|
|
9134
9319
|
|
|
9135
9320
|
declare const operationsManifest: SystemModule;
|
|
9136
9321
|
|
|
9137
|
-
export { APIErrorAlert, AbsoluteScheduleForm, ActionModal, ActivityCard, ActivityFeedWidget, ActivityFilters as ActivityFiltersBar, ActivityTable, ActivityTimeline, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationDetailPanel, AgentIterationEdge, AgentIterationNode, AllTasksPage, ApiKeyDisplayModal, ApiKeyList, ApiKeySettings, AppErrorBoundary, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CONTAINER_CONSTANTS, CardHeader, CenteredErrorState, CheckpointGroup, CloudStorageBrowser, CloudStorageFileCard, CloudStorageFileGrid, CloudStorageFolderTree, CollapsibleJsonSection, CollapsibleSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CompanyDetailPage, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContactDetailPage, ContentSections, ContextUsageBadge, ContextViewer, ContractDisplay, CostBreakdownCard, CostByModelTable, CostMetricsCard, CrashErrorFallback, CreateApiKeyModal, CreateCredentialModal, CreateRoleModal, CreateScheduleModal, CredentialList, CredentialSettings, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, CustomSelector, DEAL_STAGES, DEFAULT_KANBAN_CONFIG, DealDetailPage, DealKanbanCard, DealsListPage, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentSettings, DeploymentStatusBadge, DetailCardSkeleton, EditApiKeyModal, ElevasisLoader, EmptyState, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorReportCard, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, ExecutionStats, ExecutionStatusBadge, FeatureUnavailableState, FilterBar, GlowDot, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, JsonViewer, KanbanBoard, LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, ListSkeleton, LogEntry, LogGroup, MdxRenderer, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyTasksPanel, NavigationButton, NoAccessState, NotificationBell, NotificationItem, NotificationList, NotificationPanel, OAuthConnectModal, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrganizationMembershipsList, OrganizationModelDriftActionIcon, PIPELINE_FUNNEL_ORDER, PageNotFound, PageTitleCaption, PermissionMatrix, PipelineFunnelWidget, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, ProvisioningStateBadge, QuickCreateActions, RecurringScheduleForm, RelativeScheduleForm, ResourceCard, ResourceDefinitionSection, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, RichTextEditor, RoleBadge, RunResourceButton, SAVED_VIEW_PRESETS, SEOSidebar, SEOSidebarMiddle, SEOSidebarTop, SHARED_VIZ_CONSTANTS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SessionMemory, SortableHeader, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, StepConfigForm, StyledMarkdown, TabCountBadge, TabSection, TableSelectionToolbar, TaskCard, TaskScheduler, TimeRangeSelector, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, TrendIndicator, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UpcomingMilestonesPage, VisualizerContainer, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionTimeline, ZodFormRenderer, buildErrorReport, calculateProgress, crmManifest, deliveryManifest, formatStatusLabel, getEnrichmentColor, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getLogLevelConfig, getStatusColor, iconMap, leadGenManifest, mdxComponents, milestoneStatusColors, monitoringManifest, noteTypeColors, operationsManifest, projectStatusColors, seoManifest, settingsManifest, showApiErrorNotification, showAuthError, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, taskStatusColors, taskTypeColors, useCrmPipelineSummary, useCrmQuickMetrics, useDeleteLists, useGraphBackgroundStyles, useGraphTheme, useRecentCrmActivity };
|
|
9138
|
-
export type { ActivityEntry, ActivityFiltersProps, ActivityTableProps, AgentIterationTotals, AppErrorBoundaryProps, BaseEdgeProps, BaseExecutionLogsProps, BreadcrumbsProps, CloudStorageBrowserProps, CloudStorageFileCardProps, CloudStorageFileGridProps, CloudStorageFolderNode, CloudStorageFolderTreeProps, CloudStorageGridItem, CloudStorageItemDecoration, CompanyDetailPageProps, ContactDetailPageProps, ContextViewerProps, CostByModelTableProps, CrashErrorFallbackProps, CreateRoleModalProps, CrmOverviewProps, DealKanbanCardProps, ErrorAnalysisCardProps, ErrorReportCardProps, ExecutionBreakdownTableProps, ExecutionHealthCardProps, ExecutionLogEntry, ExecutionLogsFiltersProps, ExecutionLogsTableProps, FeatureUnavailableStateProps, FieldPath, FitViewButtonVariant, GraphFitViewHandlerProps, JsonViewerProps, KanbanBoardProps, LogLevel, MdxRendererProps, NavigationButtonProps, PermissionRow, ProjectsSidebarMiddleProps, ResourceHealthPanelProps, RichTextEditorProps, RunResourceButtonProps, RunResourceInputResolver, SavedViewPreset, ScheduleType, StatCardProps, StepConfigComponent, StepConfigFieldHint, StepConfigFormProps, StepConfigLayout, StepConfigSection, StyledMarkdownProps, TabSectionProps, TaskFilterStatus, TrendIndicatorProps, ZodFormRendererProps };
|
|
9322
|
+
export { APIErrorAlert, AbsoluteScheduleForm, ActionModal, ActivityCard, ActivityFeedWidget, ActivityFilters as ActivityFiltersBar, ActivityTable, ActivityTimeline, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationDetailPanel, AgentIterationEdge, AgentIterationNode, AllTasksPage, ApiKeyDisplayModal, ApiKeyList, ApiKeySettings, AppErrorBoundary, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CONTAINER_CONSTANTS, CardHeader, CenteredErrorState, CheckpointGroup, CloudStorageBrowser, CloudStorageFileCard, CloudStorageFileGrid, CloudStorageFolderTree, CollapsibleJsonSection, CollapsibleSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CompanyDetailPage, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContactDetailPage, ContentSections, ContextUsageBadge, ContextViewer, ContractDisplay, CostBreakdownCard, CostByModelTable, CostMetricsCard, CrashErrorFallback, CreateApiKeyModal, CreateCredentialModal, CreateRoleModal, CreateScheduleModal, CredentialList, CredentialSettings, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, CustomSelector, DEAL_STAGES, DEFAULT_KANBAN_CONFIG, DealDetailPage, DealKanbanCard, DealsListPage, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentSettings, DeploymentStatusBadge, DetailCardSkeleton, EditApiKeyModal, ElevasisLoader, EmptyState, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorReportCard, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, ExecutionStats, ExecutionStatusBadge, FeatureUnavailableState, FilterBar, GlowDot, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, JsonViewer, KanbanBoard, LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, ListSkeleton, LogEntry, LogGroup, MdxRenderer, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyTasksPanel, NavigationButton, NoAccessState, NotificationBell, NotificationItem, NotificationList, NotificationPanel, OAuthConnectModal, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrganizationMembershipsList, OrganizationModelDriftActionIcon, PIPELINE_FUNNEL_ORDER, PageNotFound, PageTitleCaption, PermissionMatrix, PipelineFunnelWidget, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, ProvisioningStateBadge, QuickCreateActions, RecurringScheduleForm, RelativeScheduleForm, ResourceCard, ResourceDefinitionSection, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, RichTextEditor, RoleBadge, RunResourceButton, SAVED_VIEW_PRESETS, SEOSidebar, SEOSidebarMiddle, SEOSidebarTop, SHARED_VIZ_CONSTANTS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SessionMemory, SortableHeader, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, StepConfigForm, StyledMarkdown, SystemReadinessAlert, SystemUnavailableState, TabCountBadge, TabSection, TableSelectionToolbar, TaskCard, TaskScheduler, TimeRangeSelector, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, TrendIndicator, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UpcomingMilestonesPage, VisualizerContainer, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionTimeline, ZodFormRenderer, buildErrorReport, calculateProgress, crmManifest, deliveryManifest, formatStatusLabel, getEnrichmentColor, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getLogLevelConfig, getStatusColor, iconMap, leadGenManifest, mdxComponents, milestoneStatusColors, monitoringManifest, noteTypeColors, operationsManifest, projectStatusColors, seoManifest, settingsManifest, showApiErrorNotification, showAuthError, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, taskStatusColors, taskTypeColors, useCrmPipelineSummary, useCrmQuickMetrics, useDeleteLists, useGraphBackgroundStyles, useGraphTheme, useRecentCrmActivity };
|
|
9323
|
+
export type { ActivityEntry, ActivityFiltersProps, ActivityTableProps, AgentIterationTotals, AppErrorBoundaryProps, BaseEdgeProps, BaseExecutionLogsProps, BreadcrumbsProps, CloudStorageBrowserProps, CloudStorageFileCardProps, CloudStorageFileGridProps, CloudStorageFolderNode, CloudStorageFolderTreeProps, CloudStorageGridItem, CloudStorageItemDecoration, CompanyDetailPageProps, ContactDetailPageProps, ContextViewerProps, CostByModelTableProps, CrashErrorFallbackProps, CreateRoleModalProps, CrmOverviewProps, DealKanbanCardProps, ErrorAnalysisCardProps, ErrorReportCardProps, ExecutionBreakdownTableProps, ExecutionHealthCardProps, ExecutionLogEntry, ExecutionLogsFiltersProps, ExecutionLogsTableProps, FeatureUnavailableStateProps, FieldPath, FitViewButtonVariant, GraphFitViewHandlerProps, JsonViewerProps, KanbanBoardProps, LogLevel, MdxRendererProps, NavigationButtonProps, PermissionRow, ProjectsSidebarMiddleProps, ResourceHealthPanelProps, RichTextEditorProps, RunResourceButtonProps, RunResourceInputResolver, SavedViewPreset, ScheduleType, StatCardProps, StepConfigComponent, StepConfigFieldHint, StepConfigFormProps, StepConfigLayout, StepConfigSection, StyledMarkdownProps, SystemReadinessAlertProps, SystemReadinessServerErrorDetails, SystemUnavailableStateProps, TabSectionProps, TaskFilterStatus, TrendIndicatorProps, ZodFormRendererProps };
|