@elevasis/ui 2.60.1 → 2.61.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.
Files changed (48) hide show
  1. package/dist/api/index.js +3 -3
  2. package/dist/app/index.d.ts +6 -5
  3. package/dist/app/index.js +3 -3
  4. package/dist/auth/index.js +3 -3
  5. package/dist/charts/index.js +3 -3
  6. package/dist/{chunk-XOPLS4S6.js → chunk-774JOHIM.js} +60 -20
  7. package/dist/{chunk-4N5GYO6R.js → chunk-BUVFSG7A.js} +214 -250
  8. package/dist/{chunk-7Q5THR43.js → chunk-DRQA53N4.js} +1 -1
  9. package/dist/{chunk-4UA62IDF.js → chunk-YM6LMYOE.js} +1 -1
  10. package/dist/components/index.d.ts +128 -17
  11. package/dist/components/index.js +3 -3
  12. package/dist/components/navigation/index.js +3 -3
  13. package/dist/features/auth/index.js +4 -4
  14. package/dist/features/clients/index.js +3 -3
  15. package/dist/features/crm/index.js +3 -3
  16. package/dist/features/dashboard/index.d.ts +6 -5
  17. package/dist/features/dashboard/index.js +3 -3
  18. package/dist/features/delivery/index.js +3 -3
  19. package/dist/features/knowledge/index.js +3 -3
  20. package/dist/features/lead-gen/index.d.ts +189 -18
  21. package/dist/features/lead-gen/index.js +3 -3
  22. package/dist/features/monitoring/index.js +3 -3
  23. package/dist/features/monitoring/requests/index.js +4 -4
  24. package/dist/features/operations/index.d.ts +6 -5
  25. package/dist/features/operations/index.js +3 -3
  26. package/dist/features/settings/index.js +3 -3
  27. package/dist/hooks/access/index.js +3 -3
  28. package/dist/hooks/delivery/index.js +3 -3
  29. package/dist/hooks/index.d.ts +13 -15
  30. package/dist/hooks/index.js +3 -3
  31. package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +6 -5
  32. package/dist/hooks/published.d.ts +13 -15
  33. package/dist/hooks/published.js +3 -3
  34. package/dist/index.d.ts +188 -28
  35. package/dist/index.js +4 -4
  36. package/dist/knowledge/index.d.ts +6 -5
  37. package/dist/knowledge/index.js +4 -4
  38. package/dist/layout/index.js +3 -3
  39. package/dist/organization/index.js +3 -3
  40. package/dist/provider/index.d.ts +59 -6
  41. package/dist/provider/index.js +3 -3
  42. package/dist/provider/published.d.ts +6 -5
  43. package/dist/provider/published.js +3 -3
  44. package/dist/test-utils/index.js +3 -3
  45. package/dist/types/index.d.ts +6 -5
  46. package/dist/utils/index.d.ts +6 -5
  47. package/dist/utils/index.js +1 -1
  48. package/package.json +5 -5
@@ -1,7 +1,7 @@
1
1
  import { glassBase, mantineThemeOverride, createCssVariablesResolver, PresetsProvider, useAvailablePresets } from './chunk-NZ2F5RQ4.js';
2
2
  import { PRESETS, getPreset, AppBackground, generateShades } from './chunk-OJJK27GC.js';
3
3
  import { useSupabase } from './chunk-MKH2KOAO.js';
4
- import { HTTP_HEADERS, ApiClientProvider, useApiClient } from './chunk-7Q5THR43.js';
4
+ import { HTTP_HEADERS, ApiClientProvider, useApiClient } from './chunk-DRQA53N4.js';
5
5
  import { sidebarItemGap, sidebarSubLinkPaddingY, sidebarSubLinkPaddingX, sidebarSubLinkIndent, sidebarHoverDelay, sidebarTransitionDuration, sidebarCollapsedWidth, sidebarWidth, topbarHeight, sidebarToggleIconSize, sidebarSectionPadding, sidebarItemPadding, sidebarItemHeight, sidebarIconSize, sidebarIconStroke, sidebarIconInnerSize, sidebarBottomSectionHeight, SubshellNavItem, sidebarGroupChevronSize, SubshellSidebarSection } from './chunk-GMXGDO3I.js';
6
6
  import { CardHeader } from './chunk-S3XR4II4.js';
7
7
  import { useInitialization, InitializationContext, InitializationProvider } from './chunk-LO7GWG24.js';
@@ -12,7 +12,7 @@ import { useRouterContext } from './chunk-Q7DJKLEN.js';
12
12
  import { Graph_module_css_default, useDirectedChainHighlighting, useNodeSelection, useFitViewTrigger, useGraphHighlighting, calculateGraphHeight, GRAPH_CONSTANTS } from './chunk-HENXLGVD.js';
13
13
  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-I3CFGE3N.js';
14
14
  import { useProfile, useUserProfile, ProfileProvider } from './chunk-EIXSQONC.js';
15
- import { LabelSchema, DescriptionSchema, PathSchema, ModelIdSchema, IconNameSchema, SystemLifecycleSchema, OntologyIdSchema, SystemPathSchema, ActionInvocationSchema, SystemIdSchema, NodeIdStringSchema, JsonValueSchema, SystemInterfaceRefSchema, EntitiesDomainSchema, ActionsDomainSchema, DEFAULT_ORGANIZATION_MODEL_ACTIONS, OntologyScopeSchema, DEFAULT_ONTOLOGY_SCOPE, SystemsDomainSchema, DEFAULT_ORGANIZATION_MODEL_SYSTEMS, defineEntities, defineActions, listAllSystems, listResolvedOntologyRecords, getErrorInfo, getErrorTitle, formatErrorMessage, getSystem, compileOrganizationOntology, isAPIClientError, getResourceIcon, formatTimeAgo, PAGE_SIZE_DEFAULT, STALE_TIME_MONITORING, STALE_TIME_DEFAULT, STALE_TIME_ADMIN, APIClientError, GC_TIME_MEDIUM, GC_TIME_SHORT, formatDateTime, LEAD_GEN_API_INTERFACE, computeInterfaceReadiness, getAllBuildTemplates, getLeadGenStageCatalog, formatDate, formatRelativeTime, getResourcesForSystem, ontologyGraphNodeId, parseOntologyId, getAllProspectingStages, getAllPipelines, getAllProjectStatuses, OAUTH_FLOW_TIMEOUT, devOnlyFor, requiresAdminFor, topLevel, parentOf, ancestorsOf, childrenOf, findById, findByPath, getSystemAncestors, resolveSystemConfig, defaultPathFor } from './chunk-XOPLS4S6.js';
15
+ import { LabelSchema, DescriptionSchema, PathSchema, ModelIdSchema, IconNameSchema, SystemLifecycleSchema, OntologyIdSchema, SystemPathSchema, ActionInvocationSchema, SystemIdSchema, NodeIdStringSchema, JsonValueSchema, SystemInterfaceRefSchema, EntitiesDomainSchema, ActionsDomainSchema, DEFAULT_ORGANIZATION_MODEL_ACTIONS, OntologyScopeSchema, DEFAULT_ONTOLOGY_SCOPE, SystemsDomainSchema, DEFAULT_ORGANIZATION_MODEL_SYSTEMS, defineEntities, defineActions, listAllSystems, listResolvedOntologyRecords, getErrorInfo, getErrorTitle, formatErrorMessage, getSystem, compileOrganizationOntology, isAPIClientError, getResourceIcon, formatTimeAgo, PAGE_SIZE_DEFAULT, STALE_TIME_MONITORING, STALE_TIME_DEFAULT, STALE_TIME_ADMIN, APIClientError, GC_TIME_MEDIUM, GC_TIME_SHORT, formatDateTime, LEAD_GEN_API_INTERFACE, computeInterfaceReadiness, getAllBuildTemplates, getLeadGenStageCatalog, formatDate, formatRelativeTime, getResourcesForSystem, ontologyGraphNodeId, parseOntologyId, getAllProspectingStages, getAllPipelines, getAllProjectStatuses, OAUTH_FLOW_TIMEOUT, devOnlyFor, requiresAdminFor, topLevel, parentOf, ancestorsOf, childrenOf, findById, findByPath, getSystemAncestors, resolveSystemConfig, defaultPathFor } from './chunk-774JOHIM.js';
16
16
  import { getTimeRangeLabel, getTimeRangeDates, formatBucketTime, REFETCH_INTERVAL_DASHBOARD, REFETCH_INTERVAL_RUNNING, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, debounce } from './chunk-FVOMKZ7S.js';
17
17
  import { ResourceStatusColors, toWorkflowLogMessages } from './chunk-KRWALB24.js';
18
18
  import { useElevasisServices, ElevasisServiceContext, ElevasisServiceProvider } from './chunk-BI5VDO2K.js';
@@ -22,7 +22,7 @@ import { useAuthContext } from './chunk-BRJ3QZ4E.js';
22
22
  import { createContext, forwardRef, lazy, memo, useEffect, useRef, createElement, useContext, useLayoutEffect, useMemo, useState, cloneElement, useCallback, useId, Fragment as Fragment$1, Component, useDeferredValue, useEffectEvent, Suspense } from 'react';
23
23
  import { useQueryClient, useMutation, useQuery, QueryClientProvider, useQueries, QueryClient } from '@tanstack/react-query';
24
24
  import { z } from 'zod';
25
- import { IconPlayerPlay, IconPlayerStop, IconArrowsSplit, IconSquare, IconBrain, IconFileText, IconLayoutSidebarLeftExpand, IconLayoutSidebarLeftCollapse, IconUser, IconLogout, IconChevronRight, IconLayoutGrid, IconColumns, IconFileInvoice, IconMail, IconSend, IconClock, IconArrowUp, IconMessageCircle, IconRocket, IconEye, IconEdit, IconAlertTriangle, IconRefresh, IconX, IconCheck, IconShieldLock, IconActivity, IconTopologyStar3, IconApps, IconBriefcase, IconBuilding, IconBolt, IconSearch, IconChartBar, IconUsers, IconInfoCircle, IconMessagePlus, IconDatabase, IconGitBranch, IconDashboard, IconBuildingStore, IconPlug, IconTargetArrow, IconBook, IconArchive, IconSettings, IconTool, IconCalendar, IconNotes, IconChecklist, IconFlag, IconList, IconAddressBook, IconTarget, IconCode, IconLock, IconShieldOff, IconChevronUp, IconChevronDown, IconSelector, IconTrash, IconMinus, IconTrendingUp, IconTrendingDown, IconAlertCircle, IconBan, IconInbox, IconHeartHandshake, IconUserOff, IconMailForward, IconBell, IconCalendarEvent, IconCalendarCancel, IconMessageReply, IconCircleCheck, IconCreditCard, IconArrowRight, IconPlus, IconDownload, IconChartLine, IconThumbDown, IconThumbUp, IconCircleX, IconFilterOff, IconArrowUpRight, IconExternalLink, IconChartPie, IconHeartbeat, IconCpu, IconCash, IconExclamationCircle, IconBug, IconChecks, IconCircle, IconCircleFilled, IconMoonStars, IconSun, IconFocus2, IconClockHour4, IconVersions, IconNetwork, IconSitemap, IconPencil, IconKey, IconExclamationMark, IconCopy, IconPower, IconTag, IconWebhook, IconReload, IconTerminal2, IconMessage, IconArrowLeft, IconCalendarRepeat, IconCalendarTime, IconRobot, IconDotsVertical, IconPlayerPause, IconCalendarDue, IconCalendarStats, IconCalendarOff, IconListCheck, IconFilter, IconCategory, IconHistory, IconCurrencyDollar, IconTrophy, IconMessages, IconRestore, IconSparkles, IconListDetails, IconLayoutDashboard, IconBuildingFactory2, IconFileDescription, IconRoute, IconHandStop, IconAdjustmentsHorizontal, IconCircleDashed, IconFolders, IconBraces, IconTimeline, IconNote, IconPalette, IconStar, IconUserCog, IconUsersGroup, IconBrandDropbox, IconBrandGoogleDrive, IconClockExclamation, IconArrowDown, IconUserX, IconUserCheck, IconFileOff, IconActivityHeartbeat, IconClockPause, IconArrowsMaximize, IconShare2, IconFolder, IconCheckbox, IconPhone, IconStarFilled, IconWand, IconScript, IconPlugConnected, IconCircleCheckFilled } from '@tabler/icons-react';
25
+ import { IconPlayerPlay, IconPlayerStop, IconArrowsSplit, IconSquare, IconBrain, IconFileText, IconLayoutSidebarLeftExpand, IconLayoutSidebarLeftCollapse, IconUser, IconLogout, IconChevronRight, IconLayoutGrid, IconColumns, IconFileInvoice, IconMail, IconSend, IconClock, IconArrowUp, IconMessageCircle, IconRocket, IconEye, IconEdit, IconAlertTriangle, IconRefresh, IconX, IconCheck, IconShieldLock, IconActivity, IconTopologyStar3, IconApps, IconBriefcase, IconBuilding, IconBolt, IconSearch, IconChartBar, IconUsers, IconInfoCircle, IconMessagePlus, IconDatabase, IconGitBranch, IconDashboard, IconBuildingStore, IconPlug, IconTargetArrow, IconBook, IconArchive, IconSettings, IconTool, IconCalendar, IconNotes, IconChecklist, IconFlag, IconList, IconAddressBook, IconTarget, IconCode, IconLock, IconShieldOff, IconChevronUp, IconChevronDown, IconSelector, IconTrash, IconMinus, IconTrendingUp, IconTrendingDown, IconAlertCircle, IconBan, IconInbox, IconHeartHandshake, IconUserOff, IconMailForward, IconBell, IconCalendarEvent, IconCalendarCancel, IconMessageReply, IconCircleCheck, IconCreditCard, IconArrowRight, IconPlus, IconDownload, IconChartLine, IconThumbDown, IconThumbUp, IconCircleX, IconFilterOff, IconArrowUpRight, IconExternalLink, IconChartPie, IconHeartbeat, IconCpu, IconCash, IconExclamationCircle, IconBug, IconChecks, IconCircle, IconCircleFilled, IconMoonStars, IconSun, IconFocus2, IconClockHour4, IconVersions, IconNetwork, IconSitemap, IconPencil, IconKey, IconExclamationMark, IconCopy, IconPower, IconTag, IconWebhook, IconReload, IconTerminal2, IconMessage, IconArrowLeft, IconCalendarRepeat, IconCalendarTime, IconRobot, IconDotsVertical, IconPlayerPause, IconCalendarDue, IconCalendarStats, IconCalendarOff, IconListCheck, IconFilter, IconCategory, IconHistory, IconCurrencyDollar, IconTrophy, IconMessages, IconRestore, IconListDetails, IconLayoutDashboard, IconBuildingFactory2, IconFileDescription, IconRoute, IconHandStop, IconAdjustmentsHorizontal, IconCircleDashed, IconFolders, IconBraces, IconTimeline, IconNote, IconPalette, IconSparkles, IconStar, IconUserCog, IconUsersGroup, IconBrandDropbox, IconBrandGoogleDrive, IconClockExclamation, IconArrowDown, IconUserX, IconUserCheck, IconFileOff, IconActivityHeartbeat, IconClockPause, IconArrowsMaximize, IconShare2, IconFolder, IconCheckbox, IconPhone, IconStarFilled, IconWand, IconScript, IconPlugConnected, IconCircleCheckFilled } from '@tabler/icons-react';
26
26
  import * as runtime from 'react/jsx-runtime';
27
27
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
28
28
  import { createUseExternalEvents, Collapse, Paper, Stack, Text, Group, Badge, Box, HoverCard, UnstyledButton, Tooltip, ScrollArea, Menu, Avatar, useComputedColorScheme, ThemeIcon, Center, Card, Title, Checkbox, Modal, TextInput, Textarea, Loader, Alert, Button, Space, Table, Select, Code, Grid, Timeline, NumberFormatter, SimpleGrid, SegmentedControl, ActionIcon, Switch, Pagination, mergeThemeOverrides, MantineProvider, Divider, Popover, Indicator, Container, useMantineColorScheme, CopyButton, PasswordInput, Anchor, useMantineTheme, RangeSlider, Progress, Tabs, Breadcrumbs as Breadcrumbs$1, NumberInput, ColorSwatch, RingProgress, LoadingOverlay, Accordion, MultiSelect, useTree, Tree, Radio, Pill, Drawer, Chip, JsonInput, TagsInput, List } from '@mantine/core';
@@ -9142,16 +9142,43 @@ function useCrmActions() {
9142
9142
  return useContext(CrmActionsContext);
9143
9143
  }
9144
9144
  var EMPTY_LIST_ACTIONS = Object.freeze([]);
9145
+ var EMPTY_ACTION_REGISTRY = Object.freeze({
9146
+ listActions: EMPTY_LIST_ACTIONS,
9147
+ headerActions: Object.freeze([]),
9148
+ rowActions: Object.freeze([]),
9149
+ bulkActions: Object.freeze([])
9150
+ });
9145
9151
  var ListActionsContext = createContext(EMPTY_LIST_ACTIONS);
9152
+ var ActionRegistryContext = createContext(EMPTY_ACTION_REGISTRY);
9146
9153
  function ListActionsProvider({
9147
9154
  registry = EMPTY_LIST_ACTIONS,
9155
+ actionRegistry,
9148
9156
  children
9149
9157
  }) {
9150
- return /* @__PURE__ */ jsx(ListActionsContext.Provider, { value: registry, children });
9158
+ const resolvedListActions = actionRegistry?.listActions ?? registry;
9159
+ const resolvedActionRegistry = actionRegistry ?? {
9160
+ listActions: resolvedListActions,
9161
+ headerActions: EMPTY_ACTION_REGISTRY.headerActions,
9162
+ rowActions: EMPTY_ACTION_REGISTRY.rowActions,
9163
+ bulkActions: EMPTY_ACTION_REGISTRY.bulkActions
9164
+ };
9165
+ return /* @__PURE__ */ jsx(ActionRegistryContext.Provider, { value: resolvedActionRegistry, children: /* @__PURE__ */ jsx(ListActionsContext.Provider, { value: resolvedListActions, children }) });
9151
9166
  }
9152
9167
  function useListActions() {
9153
9168
  return useContext(ListActionsContext);
9154
9169
  }
9170
+ function useLeadGenActionRegistry() {
9171
+ return useContext(ActionRegistryContext);
9172
+ }
9173
+ function useLeadGenHeaderActions() {
9174
+ return useContext(ActionRegistryContext).headerActions ?? EMPTY_ACTION_REGISTRY.headerActions;
9175
+ }
9176
+ function useLeadGenRowActions() {
9177
+ return useContext(ActionRegistryContext).rowActions ?? EMPTY_ACTION_REGISTRY.rowActions;
9178
+ }
9179
+ function useLeadGenBulkActions() {
9180
+ return useContext(ActionRegistryContext).bulkActions ?? EMPTY_ACTION_REGISTRY.bulkActions;
9181
+ }
9155
9182
  function findListActionByAction(registry, actionKey) {
9156
9183
  return registry.find((action) => action.actionKey === actionKey);
9157
9184
  }
@@ -24625,7 +24652,19 @@ var platformSystems = {
24625
24652
  "lgn-04-email-discovery-workflow",
24626
24653
  "lgn-05-email-verification-workflow",
24627
24654
  "lgn-06-export-list-workflow"
24628
- ]
24655
+ ],
24656
+ readinessContract: {
24657
+ requiredObjects: [
24658
+ "sales.lead-gen:object/list",
24659
+ "sales.lead-gen:object/company",
24660
+ "sales.lead-gen:object/contact"
24661
+ ],
24662
+ requiredCatalogs: [
24663
+ "sales.lead-gen:catalog/build-template",
24664
+ "sales.lead-gen:catalog/company-stage",
24665
+ "sales.lead-gen:catalog/contact-stage"
24666
+ ]
24667
+ }
24629
24668
  },
24630
24669
  actions: Object.values(LEAD_GEN_ACTION_ENTRIES).map((action) => ({
24631
24670
  actionId: action.id,
@@ -24860,9 +24899,9 @@ var platformSystems = {
24860
24899
  order: 10,
24861
24900
  stepCatalog: "sales.lead-gen:catalog/template-step.local-services"
24862
24901
  },
24863
- "dtc-subscription-apollo-clickup": {
24864
- label: "DTC Subscription (Apollo + ClickUp)",
24865
- description: "Import DTC brand leads from Apollo, crawl their websites, score fit, enrich contacts, and export via ClickUp.",
24902
+ "dtc-subscription-apollo-file": {
24903
+ label: "DTC Subscription (Apollo + File Export)",
24904
+ description: "Import DTC brand leads from Apollo, crawl their websites, score fit, enrich contacts, and export as a CSV/XLSX file.",
24866
24905
  order: 20,
24867
24906
  stepCatalog: "sales.lead-gen:catalog/template-step.dtc-subscription"
24868
24907
  }
@@ -29699,77 +29738,7 @@ function getNextFocus(list) {
29699
29738
  function formatCountLabel(value, noun) {
29700
29739
  return `${value} ${noun}${value === 1 ? "" : "s"}`;
29701
29740
  }
29702
- function getPrimaryAction({
29703
- uploadBacklog,
29704
- personalizationBacklog,
29705
- verificationBacklog,
29706
- deliverabilityRiskCount,
29707
- activeListCount,
29708
- totalLists
29709
- }) {
29710
- if (uploadBacklog > 0) {
29711
- return {
29712
- title: `Upload ${formatCountLabel(uploadBacklog, "personalized contact")}`,
29713
- detail: "No verification blockers are left on the contacts already ready for outreach.",
29714
- buttonLabel: "Review lists",
29715
- buttonTo: "/lead-gen/lists",
29716
- tone: "blue"
29717
- };
29718
- }
29719
- if (personalizationBacklog > 0) {
29720
- return {
29721
- title: `Personalize ${formatCountLabel(personalizationBacklog, "verified contact")}`,
29722
- detail: "Verification is done. The next bottleneck is drafting outreach copy.",
29723
- buttonLabel: "Open lists",
29724
- buttonTo: "/lead-gen/lists",
29725
- tone: "blue"
29726
- };
29727
- }
29728
- if (verificationBacklog > 0) {
29729
- return {
29730
- title: `Verify ${formatCountLabel(verificationBacklog, "discovered contact")}`,
29731
- detail: "Email validation is the main blocker before personalization can continue.",
29732
- buttonLabel: "Open lists",
29733
- buttonTo: "/lead-gen/lists",
29734
- tone: "orange"
29735
- };
29736
- }
29737
- if (deliverabilityRiskCount > 0) {
29738
- return {
29739
- title: `Resolve ${formatCountLabel(deliverabilityRiskCount, "deliverability risk")}`,
29740
- detail: "Risky, invalid, or bounced records are the main campaign health issue right now.",
29741
- buttonLabel: "Review lists",
29742
- buttonTo: "/lead-gen/lists",
29743
- tone: "orange"
29744
- };
29745
- }
29746
- if (activeListCount > 0) {
29747
- return {
29748
- title: `Monitor ${formatCountLabel(activeListCount, "active list")}`,
29749
- detail: "Workflows are running and there are no immediate contact-stage backlogs to clear.",
29750
- buttonLabel: "Open lists",
29751
- buttonTo: "/lead-gen/lists",
29752
- tone: "green"
29753
- };
29754
- }
29755
- if (totalLists > 0) {
29756
- return {
29757
- title: "No blockers right now",
29758
- detail: "Lists are idle and the current pipeline does not show an urgent follow-up step.",
29759
- buttonLabel: "Review lists",
29760
- buttonTo: "/lead-gen/lists",
29761
- tone: "gray"
29762
- };
29763
- }
29764
- return {
29765
- title: "Create your first list",
29766
- detail: "Lead gen telemetry will appear here once a list starts moving through the pipeline.",
29767
- buttonLabel: "Open lists",
29768
- buttonTo: "/lead-gen/lists",
29769
- tone: "gray"
29770
- };
29771
- }
29772
- function LeadGenOverviewPage() {
29741
+ function LeadGenOverviewPage({ headerActions, tabs, footer } = {}) {
29773
29742
  const navigate = useNavigate();
29774
29743
  const telemetryQuery = useListsTelemetry();
29775
29744
  const listsQuery = useLists();
@@ -29789,7 +29758,7 @@ function LeadGenOverviewPage() {
29789
29758
  uploaded: acc.uploaded + list.stageCounts.uploaded
29790
29759
  }),
29791
29760
  { populated: 0, extracted: 0, qualified: 0, discovered: 0, verified: 0, personalized: 0, uploaded: 0 }
29792
- ) ?? { discovered: 0, verified: 0, personalized: 0, uploaded: 0 };
29761
+ ) ?? { personalized: 0, uploaded: 0 };
29793
29762
  const deliverabilityTotals = data?.reduce(
29794
29763
  (acc, list) => ({
29795
29764
  valid: acc.valid + list.deliverability.valid,
@@ -29800,9 +29769,6 @@ function LeadGenOverviewPage() {
29800
29769
  }),
29801
29770
  { valid: 0, risky: 0, invalid: 0, unknown: 0, bounced: 0 }
29802
29771
  ) ?? { risky: 0, invalid: 0, bounced: 0 };
29803
- const activeListCount = data?.filter((list) => (list.activeWorkflows?.length ?? 0) > 0).length ?? 0;
29804
- const verificationBacklog = computeBacklog(stageTotals.discovered, stageTotals.verified);
29805
- const personalizationBacklog = computeBacklog(stageTotals.verified, stageTotals.personalized);
29806
29772
  const uploadBacklog = computeBacklog(stageTotals.personalized, stageTotals.uploaded);
29807
29773
  const deliverabilityRiskCount = deliverabilityTotals.risky + deliverabilityTotals.invalid + deliverabilityTotals.bounced;
29808
29774
  const totalLists = data?.length ?? 0;
@@ -29814,14 +29780,6 @@ function LeadGenOverviewPage() {
29814
29780
  `${formatCountLabel(uploadBacklog, "contact")} ready for upload`,
29815
29781
  deliverabilityRiskCount === 0 ? "no risks" : `${formatCountLabel(deliverabilityRiskCount, "risk")}`
29816
29782
  ].join(" | ");
29817
- const primaryAction = getPrimaryAction({
29818
- uploadBacklog,
29819
- personalizationBacklog,
29820
- verificationBacklog,
29821
- deliverabilityRiskCount,
29822
- activeListCount,
29823
- totalLists
29824
- });
29825
29783
  const overviewRows = data?.map((list) => {
29826
29784
  const listMeta = listMetaById.get(list.listId);
29827
29785
  const nextFocus = getNextFocus(list);
@@ -29840,98 +29798,83 @@ function LeadGenOverviewPage() {
29840
29798
  if (aBacklog !== bBacklog) return bBacklog - aBacklog;
29841
29799
  return b.totalContacts - a.totalContacts;
29842
29800
  }) ?? [];
29843
- return /* @__PURE__ */ jsx(SubshellContentContainer, { children: /* @__PURE__ */ jsx(PageContainer, { children: /* @__PURE__ */ jsxs(Stack, { children: [
29844
- /* @__PURE__ */ jsx(PageTitleCaption, { title: "Lead Gen Overview", caption: summaryLine }),
29845
- telemetryQuery.isLoading ? /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Loader, {}) }) }) : telemetryQuery.isError ? /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(CenteredErrorState, { error: telemetryQuery.error, title: "Failed to load list telemetry" }) }) : !data?.length ? /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(Center, { h: 300, children: /* @__PURE__ */ jsx(Alert, { icon: /* @__PURE__ */ jsx(IconAlertCircle, { size: 16 }), color: "gray", variant: "light", children: "No lists yet." }) }) }) : /* @__PURE__ */ jsxs(Fragment, { children: [
29846
- /* @__PURE__ */ jsxs(SimpleGrid, { cols: { base: 1, sm: 3 }, children: [
29847
- /* @__PURE__ */ jsx(StatCard, { variant: "hero", icon: IconPlayerPlay, value: totalLists, label: "Total Lists" }),
29848
- /* @__PURE__ */ jsx(StatCard, { variant: "hero", icon: IconArrowRight, value: uploadBacklog, label: "Ready Contacts" }),
29849
- /* @__PURE__ */ jsx(StatCard, { variant: "hero", icon: IconAlertCircle, value: deliverabilityRiskCount, label: "At Risk" })
29850
- ] }),
29851
- /* @__PURE__ */ jsx(Paper, { withBorder: true, p: "md", children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
29852
- /* @__PURE__ */ jsx(CardHeader, { icon: /* @__PURE__ */ jsx(IconSparkles, { size: 18 }), title: "Next Action", subtitle: primaryAction.title }),
29853
- /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", maw: 620, children: primaryAction.detail }),
29854
- /* @__PURE__ */ jsxs(SimpleGrid, { cols: { base: 1, md: 2 }, children: [
29855
- /* @__PURE__ */ jsxs(Card, { withBorder: true, p: "sm", children: [
29856
- /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, children: "Verification" }),
29857
- /* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-end", mt: 6, children: [
29858
- /* @__PURE__ */ jsx(Title, { order: 4, children: verificationBacklog }),
29859
- /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "waiting" })
29860
- ] })
29801
+ return /* @__PURE__ */ jsxs(SubshellContentContainer, { children: [
29802
+ /* @__PURE__ */ jsx(PageContainer, { children: /* @__PURE__ */ jsxs(Stack, { children: [
29803
+ /* @__PURE__ */ jsx(PageTitleCaption, { title: "Lead Gen Overview", caption: summaryLine }),
29804
+ headerActions ? /* @__PURE__ */ jsx(Group, { gap: "xs", children: headerActions }) : null,
29805
+ tabs ?? null,
29806
+ telemetryQuery.isLoading ? /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Loader, {}) }) }) : telemetryQuery.isError ? /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(CenteredErrorState, { error: telemetryQuery.error, title: "Failed to load list telemetry" }) }) : !data?.length ? /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsx(Center, { h: 300, children: /* @__PURE__ */ jsx(Alert, { icon: /* @__PURE__ */ jsx(IconAlertCircle, { size: 16 }), color: "gray", variant: "light", children: "No lists yet." }) }) }) : /* @__PURE__ */ jsxs(Fragment, { children: [
29807
+ /* @__PURE__ */ jsxs(SimpleGrid, { cols: { base: 1, sm: 3 }, children: [
29808
+ /* @__PURE__ */ jsx(StatCard, { variant: "hero", icon: IconPlayerPlay, value: totalLists, label: "Total Lists" }),
29809
+ /* @__PURE__ */ jsx(StatCard, { variant: "hero", icon: IconArrowRight, value: uploadBacklog, label: "Ready Contacts" }),
29810
+ /* @__PURE__ */ jsx(StatCard, { variant: "hero", icon: IconAlertCircle, value: deliverabilityRiskCount, label: "At Risk" })
29811
+ ] }),
29812
+ /* @__PURE__ */ jsx(Paper, { withBorder: true, p: "md", children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
29813
+ /* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-start", gap: "md", children: [
29814
+ /* @__PURE__ */ jsx(
29815
+ CardHeader,
29816
+ {
29817
+ icon: /* @__PURE__ */ jsx(IconListDetails, { size: 18 }),
29818
+ title: "List Snapshot",
29819
+ subtitle: "Ranked to surface active work first, then the largest unresolved backlogs."
29820
+ }
29821
+ ),
29822
+ canManageLeadGen.allowed ? /* @__PURE__ */ jsx(
29823
+ Button,
29824
+ {
29825
+ leftSection: /* @__PURE__ */ jsx(IconPlus, { size: 16 }),
29826
+ onClick: () => setShowCreateList(true),
29827
+ size: "xs",
29828
+ disabled: !canUseApiActions,
29829
+ title: !canUseApiActions ? apiDisabledReason : void 0,
29830
+ children: "Create List"
29831
+ }
29832
+ ) : null
29861
29833
  ] }),
29862
- /* @__PURE__ */ jsxs(Card, { withBorder: true, p: "sm", children: [
29863
- /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, children: "Personalization" }),
29864
- /* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-end", mt: 6, children: [
29865
- /* @__PURE__ */ jsx(Title, { order: 4, children: personalizationBacklog }),
29866
- /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "ready" })
29867
- ] })
29834
+ /* @__PURE__ */ jsxs(Table, { children: [
29835
+ /* @__PURE__ */ jsx(Table.Thead, { children: /* @__PURE__ */ jsxs(Table.Tr, { children: [
29836
+ /* @__PURE__ */ jsx(Table.Th, { children: "List" }),
29837
+ /* @__PURE__ */ jsx(Table.Th, { children: "Companies" }),
29838
+ /* @__PURE__ */ jsx(Table.Th, { children: "Contacts" }),
29839
+ /* @__PURE__ */ jsx(Table.Th, { children: "Next Focus" }),
29840
+ /* @__PURE__ */ jsx(Table.Th, { children: "Status" })
29841
+ ] }) }),
29842
+ /* @__PURE__ */ jsx(Table.Tbody, { children: overviewRows.map((list) => /* @__PURE__ */ jsxs(
29843
+ Table.Tr,
29844
+ {
29845
+ style: { cursor: "pointer" },
29846
+ onClick: () => navigate({ to: "/lead-gen/lists/$listId", params: { listId: list.listId } }),
29847
+ children: [
29848
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsxs(Stack, { gap: 2, children: [
29849
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, children: list.name }),
29850
+ /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: list.listId })
29851
+ ] }) }),
29852
+ /* @__PURE__ */ jsx(Table.Td, { children: list.totalCompanies }),
29853
+ /* @__PURE__ */ jsx(Table.Td, { children: list.totalContacts }),
29854
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsxs(Stack, { gap: 2, children: [
29855
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, children: list.nextFocus.label }),
29856
+ /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: list.nextFocus.count == null ? "No outstanding count" : `${list.nextFocus.count} item${list.nextFocus.count === 1 ? "" : "s"} queued` })
29857
+ ] }) }),
29858
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Badge, { size: "sm", variant: "light", color: list.status.color, children: list.status.label }) })
29859
+ ]
29860
+ },
29861
+ list.listId
29862
+ )) })
29868
29863
  ] })
29869
- ] })
29870
- ] }) }),
29871
- /* @__PURE__ */ jsx(Paper, { withBorder: true, p: "md", children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
29872
- /* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-start", gap: "md", children: [
29873
- /* @__PURE__ */ jsx(
29874
- CardHeader,
29875
- {
29876
- icon: /* @__PURE__ */ jsx(IconListDetails, { size: 18 }),
29877
- title: "List Snapshot",
29878
- subtitle: "Ranked to surface active work first, then the largest unresolved backlogs."
29879
- }
29880
- ),
29881
- canManageLeadGen.allowed ? /* @__PURE__ */ jsx(
29882
- Button,
29883
- {
29884
- leftSection: /* @__PURE__ */ jsx(IconPlus, { size: 16 }),
29885
- onClick: () => setShowCreateList(true),
29886
- size: "xs",
29887
- disabled: !canUseApiActions,
29888
- title: !canUseApiActions ? apiDisabledReason : void 0,
29889
- children: "Create List"
29890
- }
29891
- ) : null
29892
- ] }),
29893
- /* @__PURE__ */ jsxs(Table, { children: [
29894
- /* @__PURE__ */ jsx(Table.Thead, { children: /* @__PURE__ */ jsxs(Table.Tr, { children: [
29895
- /* @__PURE__ */ jsx(Table.Th, { children: "List" }),
29896
- /* @__PURE__ */ jsx(Table.Th, { children: "Companies" }),
29897
- /* @__PURE__ */ jsx(Table.Th, { children: "Contacts" }),
29898
- /* @__PURE__ */ jsx(Table.Th, { children: "Next Focus" }),
29899
- /* @__PURE__ */ jsx(Table.Th, { children: "Status" })
29900
- ] }) }),
29901
- /* @__PURE__ */ jsx(Table.Tbody, { children: overviewRows.map((list) => /* @__PURE__ */ jsxs(
29902
- Table.Tr,
29903
- {
29904
- style: { cursor: "pointer" },
29905
- onClick: () => navigate({ to: "/lead-gen/lists/$listId", params: { listId: list.listId } }),
29906
- children: [
29907
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsxs(Stack, { gap: 2, children: [
29908
- /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, children: list.name }),
29909
- /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: list.listId })
29910
- ] }) }),
29911
- /* @__PURE__ */ jsx(Table.Td, { children: list.totalCompanies }),
29912
- /* @__PURE__ */ jsx(Table.Td, { children: list.totalContacts }),
29913
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsxs(Stack, { gap: 2, children: [
29914
- /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, children: list.nextFocus.label }),
29915
- /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: list.nextFocus.count == null ? "No outstanding count" : `${list.nextFocus.count} item${list.nextFocus.count === 1 ? "" : "s"} queued` })
29916
- ] }) }),
29917
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Badge, { size: "sm", variant: "light", color: list.status.color, children: list.status.label }) })
29918
- ]
29919
- },
29920
- list.listId
29921
- )) })
29922
- ] })
29923
- ] }) })
29924
- ] }),
29925
- /* @__PURE__ */ jsx(
29926
- CreateListModal,
29927
- {
29928
- opened: showCreateList,
29929
- onClose: () => setShowCreateList(false),
29930
- canCreate: canCreateLists,
29931
- onCreated: (list) => navigate({ to: "/lead-gen/lists/$listId", params: { listId: list.id } })
29932
- }
29933
- )
29934
- ] }) }) });
29864
+ ] }) })
29865
+ ] }),
29866
+ /* @__PURE__ */ jsx(
29867
+ CreateListModal,
29868
+ {
29869
+ opened: showCreateList,
29870
+ onClose: () => setShowCreateList(false),
29871
+ canCreate: canCreateLists,
29872
+ onCreated: (list) => navigate({ to: "/lead-gen/lists/$listId", params: { listId: list.id } })
29873
+ }
29874
+ )
29875
+ ] }) }),
29876
+ footer ?? null
29877
+ ] });
29935
29878
  }
29936
29879
  var PAGE_SIZE_DEFAULT2 = 20;
29937
29880
  var STATUS_FILTER_OPTIONS = [
@@ -30370,6 +30313,16 @@ function ListMemberDrawer({ memberId, memberKind, listId, onClose }) {
30370
30313
  }
30371
30314
  );
30372
30315
  }
30316
+ function LeadGenReadinessAlert({
30317
+ canUseApiActions,
30318
+ reason
30319
+ }) {
30320
+ if (canUseApiActions) return null;
30321
+ return /* @__PURE__ */ jsxs(Alert, { icon: /* @__PURE__ */ jsx(IconAlertCircle, { size: 16 }), color: "yellow", variant: "light", children: [
30322
+ "Lead-gen API actions are disabled until System Interface readiness passes. Read-only list detail can still render when data is available.",
30323
+ reason ? ` ${reason}` : ""
30324
+ ] });
30325
+ }
30373
30326
  var panelStyle = {
30374
30327
  flex: 1,
30375
30328
  minHeight: 0,
@@ -31560,9 +31513,6 @@ function getSelectedCredential(credentials, selections, requirement) {
31560
31513
  const selectedId = selections[requirement.key];
31561
31514
  return credentials.find((credential) => credential.id === selectedId) ?? null;
31562
31515
  }
31563
- function getClickUpRequirement(step) {
31564
- return step.credentialRequirements?.find((requirement) => requirement.provider === "clickup") ?? null;
31565
- }
31566
31516
  function filterCredentialRequirementFields(layout, requirements) {
31567
31517
  if (!layout || requirements.length === 0) return layout;
31568
31518
  const credentialInputPaths = new Set(requirements.map((requirement) => requirement.inputPath).filter(Boolean));
@@ -31878,7 +31828,6 @@ function BuildTab({
31878
31828
  const [activeRightColumnTab, setActiveRightColumnTab] = useState("configuration");
31879
31829
  const [credentialSelections, setCredentialSelections] = useState({});
31880
31830
  const [credentialVerificationById, setCredentialVerificationById] = useState({});
31881
- const [clickupListId, setClickupListId] = useState("");
31882
31831
  const [reviewExportApprovals, setReviewExportApprovals] = useState({});
31883
31832
  const [runningResources, setRunningResources] = useState({});
31884
31833
  const lastObservedTerminalRunRef = useRef(null);
@@ -31935,16 +31884,12 @@ function BuildTab({
31935
31884
  });
31936
31885
  const approvedCompanyIds = Object.entries(reviewExportApprovals).filter(([, status]) => status === "approved").map(([companyId]) => companyId);
31937
31886
  const rejectedCompanyIds = Object.entries(reviewExportApprovals).filter(([, status]) => status === "rejected").map(([companyId]) => companyId);
31938
- const selectedClickupRequirement = selectedStep ? getClickUpRequirement(selectedStep) : null;
31939
- const selectedClickupCredential = selectedClickupRequirement ? getSelectedCredential(credentials, credentialSelections, selectedClickupRequirement) : null;
31940
- const isSelectedClickUpExportPath = selectedStepIsReviewExport && Boolean(selectedClickupRequirement);
31941
- const normalizedClickupListId = clickupListId.trim();
31942
- const canExportSelectedRecords = selectedStepIsReviewExport && activeRightColumnTab === "records" && approvedCompanyIds.length > 0 && (!isSelectedClickUpExportPath || Boolean(selectedClickupCredential) && normalizedClickupListId.length > 0);
31943
- const selectedExportDisabledReason = !selectedStepIsReviewExport || activeRightColumnTab !== "records" ? null : approvedCompanyIds.length === 0 ? "Approve records" : isSelectedClickUpExportPath && !selectedClickupCredential ? "Select ClickUp credential" : isSelectedClickUpExportPath && !normalizedClickupListId ? "Enter ClickUp List ID" : null;
31887
+ const canExportSelectedRecords = selectedStepIsReviewExport && activeRightColumnTab === "records" && approvedCompanyIds.length > 0;
31888
+ const selectedExportDisabledReason = !selectedStepIsReviewExport || activeRightColumnTab !== "records" ? null : approvedCompanyIds.length === 0 ? "Approve records" : null;
31944
31889
  const canRunSelectedAction = !!selectedStep?.action && (selectedActionKind === "retry_failed" || selectedActionKind === "run_next_batch");
31945
31890
  const selectedResourceIsRunning = selectedResourceId ? (runningResources[selectedResourceId] ?? false) || runningResourceIds.has(selectedResourceId) : false;
31946
31891
  const selectedActionDisabled = !canManage ? true : selectedStepIsReviewExport && activeRightColumnTab !== "records" ? false : selectedStepIsReviewExport ? !canExportSelectedRecords || exportExecution.isPending : !canRunSelectedAction || selectedResourceIsRunning;
31947
- const selectedActionLabel = selectedResourceIsRunning ? "Running..." : selectedStepIsReviewExport && activeRightColumnTab !== "records" ? "Approve records" : selectedStepIsReviewExport ? selectedExportDisabledReason ?? (isSelectedClickUpExportPath ? "Export to ClickUp" : "Export approved") : selectedActionKind === "none" ? "No action" : getStepActionLabel(selectedActionKind);
31892
+ const selectedActionLabel = selectedResourceIsRunning ? "Running..." : selectedStepIsReviewExport && activeRightColumnTab !== "records" ? "Approve records" : selectedStepIsReviewExport ? selectedExportDisabledReason ?? "Export approved" : selectedActionKind === "none" ? "No action" : getStepActionLabel(selectedActionKind);
31948
31893
  const selectedActionIcon = selectedStepIsReviewExport && activeRightColumnTab !== "records" ? /* @__PURE__ */ jsx(IconAddressBook, { size: 14 }) : selectedActionKind === "retry_failed" ? /* @__PURE__ */ jsx(IconRefresh, { size: 14 }) : /* @__PURE__ */ jsx(IconPlayerPlay, { size: 14 });
31949
31894
  const handleResourceRunningChange = useCallback((resourceId, isRunning) => {
31950
31895
  setRunningResources((current) => {
@@ -32021,12 +31966,6 @@ function BuildTab({
32021
31966
  }
32022
31967
  });
32023
31968
  };
32024
- const handleClickupListIdChange = (value) => {
32025
- if (!canManage) return;
32026
- setClickupListId(value);
32027
- setStepInputFormState((current) => setValueAtInputPath(current, "clickupListId", value));
32028
- if (stepInputError) setStepInputError(null);
32029
- };
32030
31969
  const handleReviewExportApprovalChange = (companyId, status) => {
32031
31970
  if (!canManage) return;
32032
31971
  setReviewExportApprovals((current) => ({ ...current, [companyId]: status }));
@@ -32040,11 +31979,6 @@ function BuildTab({
32040
31979
  listId: list.id,
32041
31980
  mode: "export",
32042
31981
  approved: true,
32043
- ...isSelectedClickUpExportPath ? {
32044
- destination: "clickup",
32045
- clickupCredential: selectedClickupCredential?.name,
32046
- clickupListId: normalizedClickupListId
32047
- } : {},
32048
31982
  approvedCompanyIds,
32049
31983
  rejectedCompanyIds
32050
31984
  }
@@ -32219,18 +32153,7 @@ function BuildTab({
32219
32153
  onSelect: handleCredentialSelect,
32220
32154
  onVerify: handleVerifyCredential
32221
32155
  }
32222
- ),
32223
- isLeadGenExportAction(selectedStep.actionKey) || getClickUpRequirement(selectedStep) ? /* @__PURE__ */ jsx(
32224
- TextInput,
32225
- {
32226
- label: "ClickUp List ID",
32227
- description: "Destination List ID for approved company tasks.",
32228
- placeholder: "123456789",
32229
- value: clickupListId,
32230
- onChange: (event) => handleClickupListIdChange(event.currentTarget.value),
32231
- disabled: !canManage
32232
- }
32233
- ) : null
32156
+ )
32234
32157
  ] }),
32235
32158
  advanced: showAdvancedStepConfig && visibleStepLayout ? /* @__PURE__ */ jsx(
32236
32159
  StepConfigForm,
@@ -32417,7 +32340,12 @@ function ListDetailHeader({
32417
32340
  }) {
32418
32341
  return /* @__PURE__ */ jsx(PageTitleCaption, { title, caption, rightSection });
32419
32342
  }
32420
- function LeadGenListDetailPage({ listId }) {
32343
+ function LeadGenListDetailPage({
32344
+ listId,
32345
+ headerActions,
32346
+ tabs,
32347
+ footer
32348
+ }) {
32421
32349
  const navigate = useNavigate();
32422
32350
  const actions = useListActions();
32423
32351
  const leadGenConfig = useLeadGenConfig();
@@ -32617,10 +32545,8 @@ function LeadGenListDetailPage({ listId }) {
32617
32545
  backButton
32618
32546
  ] })
32619
32547
  ] }),
32620
- !canUseApiActions ? /* @__PURE__ */ jsxs(Alert, { icon: /* @__PURE__ */ jsx(IconAlertCircle, { size: 16 }), color: "yellow", variant: "light", children: [
32621
- "Lead-gen API actions are disabled until System Interface readiness passes. Read-only list detail can still render when data is available.",
32622
- apiDisabledReason ? ` ${apiDisabledReason}` : ""
32623
- ] }) : null,
32548
+ /* @__PURE__ */ jsx(LeadGenReadinessAlert, { canUseApiActions, reason: apiDisabledReason }),
32549
+ headerActions ? /* @__PURE__ */ jsx(Group, { gap: "xs", children: headerActions }) : null,
32624
32550
  /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsxs(Tabs, { value: activeTab, onChange: handleTabChange, keepMounted: false, children: [
32625
32551
  /* @__PURE__ */ jsxs(Tabs.List, { children: [
32626
32552
  /* @__PURE__ */ jsx(Tabs.Tab, { value: "overview", leftSection: /* @__PURE__ */ jsx(IconBuilding, { size: 14 }), children: "Overview" }),
@@ -32628,6 +32554,7 @@ function LeadGenListDetailPage({ listId }) {
32628
32554
  /* @__PURE__ */ jsx(Tabs.Tab, { value: "build", leftSection: /* @__PURE__ */ jsx(IconBolt, { size: 14 }), children: "Build" }),
32629
32555
  /* @__PURE__ */ jsx(Tabs.Tab, { value: "runs", leftSection: /* @__PURE__ */ jsx(IconPlayerPlay, { size: 14 }), children: "Runs" })
32630
32556
  ] }),
32557
+ tabs ?? null,
32631
32558
  /* @__PURE__ */ jsx(Tabs.Panel, { value: "overview", pt: "sm", children: /* @__PURE__ */ jsx(
32632
32559
  OverviewTab,
32633
32560
  {
@@ -32714,7 +32641,8 @@ function LeadGenListDetailPage({ listId }) {
32714
32641
  ] })
32715
32642
  ] })
32716
32643
  }
32717
- )
32644
+ ),
32645
+ footer ?? null
32718
32646
  ] });
32719
32647
  }
32720
32648
  function ListBuilderIndexPage() {
@@ -33261,7 +33189,19 @@ function ListBuilderPage({ listId }) {
33261
33189
  ] }) }) });
33262
33190
  }
33263
33191
  var PAGE_SIZE_DEFAULT3 = 20;
33264
- function LeadGenCompaniesPage() {
33192
+ function getValueAtPath(source, path) {
33193
+ return path.split(".").reduce((current, segment) => {
33194
+ if (current == null || typeof current !== "object") return void 0;
33195
+ return current[segment];
33196
+ }, source);
33197
+ }
33198
+ function renderExtraColumnValue(value, column) {
33199
+ if (value === null || value === void 0 || value === "") return "-";
33200
+ if (column.renderType === "count" && Array.isArray(value)) return String(value.length);
33201
+ if (Array.isArray(value)) return value.map(String).join(", ");
33202
+ return String(value);
33203
+ }
33204
+ function LeadGenCompaniesPage({ extraColumns, replaceDefaultColumns } = {}) {
33265
33205
  const [companySearch, setCompanySearch] = useState("");
33266
33206
  const [segmentFilter, setSegmentFilter] = useState(null);
33267
33207
  const [categoryFilter, setCategoryFilter] = useState(null);
@@ -33376,13 +33316,16 @@ function LeadGenCompaniesPage() {
33376
33316
  onChange: selection.togglePage
33377
33317
  }
33378
33318
  ) }),
33379
- /* @__PURE__ */ jsx(Table.Th, { children: "Company" }),
33380
- /* @__PURE__ */ jsx(Table.Th, { children: "Domain" }),
33381
- /* @__PURE__ */ jsx(Table.Th, { children: "Segment" }),
33382
- /* @__PURE__ */ jsx(Table.Th, { children: "Category" }),
33383
- /* @__PURE__ */ jsx(Table.Th, { children: "Employees" }),
33384
- /* @__PURE__ */ jsx(Table.Th, { children: "Enrichment" }),
33385
- /* @__PURE__ */ jsx(Table.Th, { children: "Contacts" })
33319
+ !replaceDefaultColumns ? /* @__PURE__ */ jsxs(Fragment, { children: [
33320
+ /* @__PURE__ */ jsx(Table.Th, { children: "Company" }),
33321
+ /* @__PURE__ */ jsx(Table.Th, { children: "Domain" }),
33322
+ /* @__PURE__ */ jsx(Table.Th, { children: "Segment" }),
33323
+ /* @__PURE__ */ jsx(Table.Th, { children: "Category" }),
33324
+ /* @__PURE__ */ jsx(Table.Th, { children: "Employees" }),
33325
+ /* @__PURE__ */ jsx(Table.Th, { children: "Enrichment" }),
33326
+ /* @__PURE__ */ jsx(Table.Th, { children: "Contacts" })
33327
+ ] }) : null,
33328
+ (extraColumns ?? []).map((column) => /* @__PURE__ */ jsx(Table.Th, { style: column.width ? { width: column.width } : void 0, children: column.label }, column.key))
33386
33329
  ] }) }),
33387
33330
  /* @__PURE__ */ jsx(Table.Tbody, { children: companyRows.map((company) => {
33388
33331
  const enrichStatus = getEnrichmentStatus(company.enrichmentData);
@@ -33409,13 +33352,16 @@ function LeadGenCompaniesPage() {
33409
33352
  )
33410
33353
  }
33411
33354
  ),
33412
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { fw: 500, children: company.name }) }),
33413
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: company.domain || "-" }) }),
33414
- /* @__PURE__ */ jsx(Table.Td, { children: company.segment || "-" }),
33415
- /* @__PURE__ */ jsx(Table.Td, { children: company.category || "-" }),
33416
- /* @__PURE__ */ jsx(Table.Td, { children: company.numEmployees || "-" }),
33417
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Badge, { variant: "light", color: getEnrichmentColor(enrichStatus), size: "sm", children: enrichStatus }) }),
33418
- /* @__PURE__ */ jsx(Table.Td, { children: company.contactCount })
33355
+ !replaceDefaultColumns ? /* @__PURE__ */ jsxs(Fragment, { children: [
33356
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { fw: 500, children: company.name }) }),
33357
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: company.domain || "-" }) }),
33358
+ /* @__PURE__ */ jsx(Table.Td, { children: company.segment || "-" }),
33359
+ /* @__PURE__ */ jsx(Table.Td, { children: company.category || "-" }),
33360
+ /* @__PURE__ */ jsx(Table.Td, { children: company.numEmployees || "-" }),
33361
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Badge, { variant: "light", color: getEnrichmentColor(enrichStatus), size: "sm", children: enrichStatus }) }),
33362
+ /* @__PURE__ */ jsx(Table.Td, { children: company.contactCount })
33363
+ ] }) : null,
33364
+ (extraColumns ?? []).map((column) => /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", children: renderExtraColumnValue(getValueAtPath(company, column.path), column) }) }, column.key))
33419
33365
  ]
33420
33366
  },
33421
33367
  company.id
@@ -33450,7 +33396,19 @@ function LeadGenCompaniesPage() {
33450
33396
  ] }) });
33451
33397
  }
33452
33398
  var PAGE_SIZE_DEFAULT4 = 20;
33453
- function LeadGenContactsPage() {
33399
+ function getValueAtPath2(source, path) {
33400
+ return path.split(".").reduce((current, segment) => {
33401
+ if (current == null || typeof current !== "object") return void 0;
33402
+ return current[segment];
33403
+ }, source);
33404
+ }
33405
+ function renderExtraColumnValue2(value, column) {
33406
+ if (value === null || value === void 0 || value === "") return "-";
33407
+ if (column.renderType === "count" && Array.isArray(value)) return String(value.length);
33408
+ if (Array.isArray(value)) return value.map(String).join(", ");
33409
+ return String(value);
33410
+ }
33411
+ function LeadGenContactsPage({ extraColumns, replaceDefaultColumns } = {}) {
33454
33412
  const [contactSearch, setContactSearch] = useState("");
33455
33413
  const [statusFilter, setStatusFilter] = useState(null);
33456
33414
  const [listFilter, setListFilter] = useState(null);
@@ -33551,12 +33509,15 @@ function LeadGenContactsPage() {
33551
33509
  onChange: selection.togglePage
33552
33510
  }
33553
33511
  ) }),
33554
- /* @__PURE__ */ jsx(Table.Th, { children: "Name" }),
33555
- /* @__PURE__ */ jsx(Table.Th, { children: "Email" }),
33556
- /* @__PURE__ */ jsx(Table.Th, { children: "Company" }),
33557
- /* @__PURE__ */ jsx(Table.Th, { children: "Title" }),
33558
- /* @__PURE__ */ jsx(Table.Th, { children: "Status" }),
33559
- /* @__PURE__ */ jsx(Table.Th, { children: "Personalized" })
33512
+ !replaceDefaultColumns ? /* @__PURE__ */ jsxs(Fragment, { children: [
33513
+ /* @__PURE__ */ jsx(Table.Th, { children: "Name" }),
33514
+ /* @__PURE__ */ jsx(Table.Th, { children: "Email" }),
33515
+ /* @__PURE__ */ jsx(Table.Th, { children: "Company" }),
33516
+ /* @__PURE__ */ jsx(Table.Th, { children: "Title" }),
33517
+ /* @__PURE__ */ jsx(Table.Th, { children: "Status" }),
33518
+ /* @__PURE__ */ jsx(Table.Th, { children: "Personalized" })
33519
+ ] }) : null,
33520
+ (extraColumns ?? []).map((column) => /* @__PURE__ */ jsx(Table.Th, { style: column.width ? { width: column.width } : void 0, children: column.label }, column.key))
33560
33521
  ] }) }),
33561
33522
  /* @__PURE__ */ jsx(Table.Tbody, { children: contactRows.map((contact) => {
33562
33523
  const fullName = [contact.firstName, contact.lastName].filter(Boolean).join(" ") || contact.email;
@@ -33584,12 +33545,15 @@ function LeadGenContactsPage() {
33584
33545
  )
33585
33546
  }
33586
33547
  ),
33587
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { fw: 500, children: fullName }) }),
33588
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: contact.email }) }),
33589
- /* @__PURE__ */ jsx(Table.Td, { children: contact.company?.name || "-" }),
33590
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: contact.title || "-" }) }),
33591
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Badge, { variant: "light", color: getStatusColor4(contact.status), size: "sm", children: contact.status || "unknown" }) }),
33592
- /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Badge, { variant: "light", color: hasPersonalization ? "green" : "gray", size: "sm", children: hasPersonalization ? "Yes" : "No" }) })
33548
+ !replaceDefaultColumns ? /* @__PURE__ */ jsxs(Fragment, { children: [
33549
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { fw: 500, children: fullName }) }),
33550
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: contact.email }) }),
33551
+ /* @__PURE__ */ jsx(Table.Td, { children: contact.company?.name || "-" }),
33552
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: contact.title || "-" }) }),
33553
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Badge, { variant: "light", color: getStatusColor4(contact.status), size: "sm", children: contact.status || "unknown" }) }),
33554
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Badge, { variant: "light", color: hasPersonalization ? "green" : "gray", size: "sm", children: hasPersonalization ? "Yes" : "No" }) })
33555
+ ] }) : null,
33556
+ (extraColumns ?? []).map((column) => /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", children: renderExtraColumnValue2(getValueAtPath2(contact, column.path), column) }) }, column.key))
33593
33557
  ]
33594
33558
  },
33595
33559
  contact.id
@@ -51580,4 +51544,4 @@ function useAccess(key) {
51580
51544
  };
51581
51545
  }
51582
51546
 
51583
- export { APIErrorAlert, AbsoluteScheduleForm, AccessGuard, AccessKeys, AccountSettings, ActionModal, ActivityCard, ActivityFeed, ActivityFeedWidget, ActivityFilters, ActivityLog, ActivityTable, ActivityTimeline, ActivityTrendChart, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionPanel, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationDetailPanel, AgentIterationEdge, AgentIterationNode, AgentResourceEntrySchema, AgentSessionGroup, AllTasksPage, ApiKeyDisplayModal, ApiKeyList, ApiKeyService, ApiKeySettings, AppErrorBoundary, AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, AppearanceContext, AppearanceProvider, AppearanceSettings, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CRM_ITEMS, CenteredErrorState, ChartFrame, Checklist, CheckpointGroup, CollapsibleJsonSection, CollapsibleSection, CollapsibleSidebarGroup, CombinedTrendChart, CommandQueueDetailPage, CommandQueuePage, CommandQueueShell, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CommandViewPage, CompanyDetailPage, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContactDetailPage, ContentSections, ContextUsageBadge, ContextViewer, ContractDisplay, ConversationThread, CostAnalytics, CostBreakdownCard, CostByModelTable, CostMetricsCard, CostTrendChart, CrashErrorFallback, CreateApiKeyModal, CreateCredentialModal, CreateDeliveryEntityModal, CreateRoleModal, CreateScheduleModal, CreateWebhookEndpointModal, CredentialList, CredentialService, CredentialSettings, CrmActionsProvider, CrmOverview, CrmSettingsPage, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, CustomSelector, CyberAreaChart, CyberDonut, CyberDonutTooltip, CyberLegendItem, CyberParticles, DEAL_STAGES, DEAL_STAGE_COLORS, DEAL_STAGE_OPTIONS, DEFAULT_KANBAN_CONFIG, DEFAULT_SEMANTIC_ICON_REGISTRY, DELIVERY_COMMUNICATION_ITEMS, DELIVERY_PROJECT_ITEMS, DELIVERY_WORK_ITEMS, Dashboard, DashboardOperationsOverview, DealDetailPage, DealKanbanCard, DealsListPage, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentService, DeploymentSettings, DeploymentStatusBadge, DetailCardSkeleton, EMPTY_LIST_ACTIONS, EditApiKeyModal, EditCredentialModal, EditWebhookEndpointModal, ElevasisCoreProvider, ElevasisLoader, ElevasisSystemsProvider, ElevasisUIProvider, EmptyState, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorDetailsModal, ErrorReportCard, ExecuteWorkflowModal, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealth, ExecutionHealthCard, ExecutionLogsFilters, ExecutionLogsPage, ExecutionLogsTable, ExecutionPanel, ExecutionStats, ExecutionStatusBadge, FILTERABLE_DOMAIN_KEYS, FeatureUnavailableState, FilterBar, GlowDot, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, HeroStatsRow, IdentityDomainSchema, IntegrationResourceEntrySchema, JsonViewer, KNOWLEDGE_DOMAINS_WITH_PANELS, KNOWLEDGE_ICON_TOKEN_BY_KIND, KanbanBoard, KnowledgeSearchBar, KnowledgeTree, LEAD_GEN_ITEMS, LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, LinksGroup, ListActionsProvider, ListBuilderIndexPage, ListBuilderPage, ListSkeleton, LogEntry, LogGroup, MdxRenderer, MemberAccessModal, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyRolesPage, MyTasksPanel, NavigationButton, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NoAccessState, NotificationBell, NotificationCenter, NotificationItem, NotificationList, NotificationPanel, NotificationProvider, OAuthConnectModal, OAuthIntegrationsCard, OM_NESTED_TREE_GROUPS, OM_TREE_GROUPS, ORPHAN_STAGE_ORDER, OperationsOverview, OperationsService, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrgMembersList, OrganizationGraphPage, OrganizationMembershipService, OrganizationMembershipsList, OrganizationProvider, OrganizationSettings, OrganizationSwitcher, OrganizationSwitcherConnected, PIPELINE_FUNNEL_ORDER, PageContainer, PageNotFound, PageTitleCaption, PermissionMatrix, PipelineFunnelWidget, PolicySchema, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, ProtectedRoute, QuickCreateActions, RecentExecutionsByResource, RecurringScheduleForm, RelativeScheduleForm, RequestActionIcon, RequestModal, ResourceCard, ResourceDefinitionSection, ResourceDetailPage, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, ResourceOverview, ResourcesPage, ResourcesSidebar, RichTextEditor, RoleBadge, RoleSchema, RunResourceButton, SAVED_VIEW_PRESETS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, ScriptResourceEntrySchema, SemanticIcon, SessionChatArea, SessionChatInterface, SessionChatPage, SessionConversationView, SessionDetailsPanel, SessionExecutionLogs, SessionHeader, SessionListItem, SessionMemory, SessionsPage, SessionsSidebar, Sidebar, SidebarContext, SidebarProvider, SortableHeader, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, StepConfigForm, SubshellContainer, SubshellContentContainer, SubshellLoader, SubshellNavList, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarLoader, SurfaceDefinitionSchema, SystemOpsView, SystemShell, TabCountBadge, TabSection, TableSelectionToolbar, TaskCard, TaskScheduler, TimeRangeSelector, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, Topbar, TopbarActions, TopbarContainer, TrendIndicator, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UnresolvedErrorsTeaser, UpcomingMilestonesPage, Vignette, VisualizerContainer, WebhookEndpointList, WebhookEndpointService, WebhookEndpointSettings, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionPanel, WorkflowExecutionTimeline, WorkflowResourceEntrySchema, ZodFormRenderer, acquisitionListKeys, aggregateSystemMetrics, buildErrorReport, buildKnowledgeOmTreeData, calculateProgress, clientsKeys, collectResourceFilterFacets, companyKeys, contactKeys, createOrganizationsSlice, createTestSystemsProvider, createUseOrgInitialization, createUseOrganizations, crmManifest, crmPrioritySettingsKeys, dealKeys, dealNoteKeys, dealTaskKeys, deliveryManifest, deriveBusinessProgress, executionsKeys, extendSemanticIconRegistry, filterByDomainFilters, findKnowledgeTreeNodeByValue, findListActionByAction, findOmTreeGroup, formatDate3 as formatDate, formatDealStageLabel, formatResourceAttribution, formatStatusLabel, getConceptDefinition, getEnrichmentColor, getEnrichmentStatus, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getKnowledgeDomainFolderCommand, getKnowledgeGraphNodeCommand, getKnowledgeIconToken, getKnowledgeNodeReadCommand, getKnowledgeOntologyProjection, getKnowledgeTreeFolderCommand, getLeadGenApiInterfaceReadiness, getLeadGenExportWorkflowId, getListActionWorkflowId, getLogLevelConfig, getOntologyDomainLabel, getPrimaryOntologyItemsForDomain, getResourceFilterFacetIds, getSemanticIconComponent, getSeriesColor, getSharedOrganizationGraph, getStateKeyColor, getStatusColor4 as getStatusColor, getStepActionLabel, iconMap, isLeadGenExportAction, isSessionCapable, knowledgeManifest, labelResourceFilterFacet, leadGenArtifactKeys, leadGenListCompanyKeys, leadGenListMemberKeys, leadGenManifest, mdxComponents, milestoneKeys, milestoneStatusColors, monitoringManifest, normaliseConceptKey, noteKeys, noteTypeColors, observabilityKeys, operationsKeys, operationsManifest, projectActivityKeys, projectKeys, projectNavigationGroups, projectNavigationSurfaces, projectStatusColors, requestTopbarActionManifest, requestsKeys, resolveBuildPlanSteps, resolveBuildState, resolveSemanticIconComponent, scheduleKeys, sessionsKeys, settingsManifest, showApiErrorNotification, showAuthError, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, sortData, sortStageKeys, subsidebarWidth, taskKeys, taskStatusColors, taskTypeColors, useAccess, useActivateDeployment, useActivities, useActivitiesRealtime, useActivityFilters, useActivityTrend, useAddCompaniesToList, useAddContactsToList, useAppearance, useArchiveSession, useArchivedLogs, useArtifacts, useAssignRole, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBreadcrumbs, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useClient, useClientStatus, useClients, useCommandQueue, useCommandQueueTask, 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, useCrmActions, useCrmPipelineSummary, useCrmPrioritySettings, useCrmQuickMetrics, useCyberColors, 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, useElevasisSystems, useEndSession, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useErrorTrends, useExecuteAction, useExecuteAsync, useExecuteResource, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionLogsFilters, useExecutionPanelState, useExecutionSSE, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphBackgroundStyles, useGraphTheme, useInFlightExecutions, useLeadGenConfig, useList, useListActions, useListApiKeys, useListDeployments, useListExecutions, useListMember, useListMembers, useListProgress, useListRecords, useListSchedules, useListWebhookEndpoints, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useMilestones, useNewKnowledgeMapLayout, useNotificationAdapter, useNotificationCount, useNotifications, useOptionalElevasisSystems, useOrgRoles, useOrganizationMembers, usePaginationState, usePatchTask, usePauseSchedule, usePermissionCatalog, useProject, useProjectActivities, useProjectMilestones, useProjectNotes, useProjectRealtime, useProjectTasks, useProjects, useReactivateMembership, useRecentCrmActivity, useRecentExecutionsByResource, useRemoveCompaniesFromList, useRequest, useRequestsList, useResetCrmPrioritySettings, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResolvedOrganizationModel, useResourceDefinition, useResourceErrors, useResourceExecutions, useResourceSearch, useResources, useResourcesDomainFilters, useResourcesHealth, useResumeSchedule, useRetryExecution, useRevokeRole, useSSEConnection, useScheduledTasks, useSession, useSessionCheck, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSidebar, useSidebarCollapse, useSortedData, useStableAccessToken, useStatusFilter, useSubmitAction, useSubmitRequest, 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 };
51547
+ export { APIErrorAlert, AbsoluteScheduleForm, AccessGuard, AccessKeys, AccountSettings, ActionModal, ActivityCard, ActivityFeed, ActivityFeedWidget, ActivityFilters, ActivityLog, ActivityTable, ActivityTimeline, ActivityTrendChart, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionPanel, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationDetailPanel, AgentIterationEdge, AgentIterationNode, AgentResourceEntrySchema, AgentSessionGroup, AllTasksPage, ApiKeyDisplayModal, ApiKeyList, ApiKeyService, ApiKeySettings, AppErrorBoundary, AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, AppearanceContext, AppearanceProvider, AppearanceSettings, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CRM_ITEMS, CenteredErrorState, ChartFrame, Checklist, CheckpointGroup, CollapsibleJsonSection, CollapsibleSection, CollapsibleSidebarGroup, CombinedTrendChart, CommandQueueDetailPage, CommandQueuePage, CommandQueueShell, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CommandViewPage, CompanyDetailPage, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContactDetailPage, ContentSections, ContextUsageBadge, ContextViewer, ContractDisplay, ConversationThread, CostAnalytics, CostBreakdownCard, CostByModelTable, CostMetricsCard, CostTrendChart, CrashErrorFallback, CreateApiKeyModal, CreateCredentialModal, CreateDeliveryEntityModal, CreateRoleModal, CreateScheduleModal, CreateWebhookEndpointModal, CredentialList, CredentialService, CredentialSettings, CrmActionsProvider, CrmOverview, CrmSettingsPage, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, CustomSelector, CyberAreaChart, CyberDonut, CyberDonutTooltip, CyberLegendItem, CyberParticles, DEAL_STAGES, DEAL_STAGE_COLORS, DEAL_STAGE_OPTIONS, DEFAULT_KANBAN_CONFIG, DEFAULT_SEMANTIC_ICON_REGISTRY, DELIVERY_COMMUNICATION_ITEMS, DELIVERY_PROJECT_ITEMS, DELIVERY_WORK_ITEMS, Dashboard, DashboardOperationsOverview, DealDetailPage, DealKanbanCard, DealsListPage, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentService, DeploymentSettings, DeploymentStatusBadge, DetailCardSkeleton, EMPTY_LIST_ACTIONS, EditApiKeyModal, EditCredentialModal, EditWebhookEndpointModal, ElevasisCoreProvider, ElevasisLoader, ElevasisSystemsProvider, ElevasisUIProvider, EmptyState, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorDetailsModal, ErrorReportCard, ExecuteWorkflowModal, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealth, ExecutionHealthCard, ExecutionLogsFilters, ExecutionLogsPage, ExecutionLogsTable, ExecutionPanel, ExecutionStats, ExecutionStatusBadge, FILTERABLE_DOMAIN_KEYS, FeatureUnavailableState, FilterBar, GlowDot, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, HeroStatsRow, IdentityDomainSchema, IntegrationResourceEntrySchema, JsonViewer, KNOWLEDGE_DOMAINS_WITH_PANELS, KNOWLEDGE_ICON_TOKEN_BY_KIND, KanbanBoard, KnowledgeSearchBar, KnowledgeTree, LEAD_GEN_ITEMS, LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenReadinessAlert, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, LinksGroup, ListActionsProvider, ListBuilderIndexPage, ListBuilderPage, ListSkeleton, LogEntry, LogGroup, MdxRenderer, MemberAccessModal, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyRolesPage, MyTasksPanel, NavigationButton, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NoAccessState, NotificationBell, NotificationCenter, NotificationItem, NotificationList, NotificationPanel, NotificationProvider, OAuthConnectModal, OAuthIntegrationsCard, OM_NESTED_TREE_GROUPS, OM_TREE_GROUPS, ORPHAN_STAGE_ORDER, OperationsOverview, OperationsService, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrgMembersList, OrganizationGraphPage, OrganizationMembershipService, OrganizationMembershipsList, OrganizationProvider, OrganizationSettings, OrganizationSwitcher, OrganizationSwitcherConnected, PIPELINE_FUNNEL_ORDER, PageContainer, PageNotFound, PageTitleCaption, PermissionMatrix, PipelineFunnelWidget, PolicySchema, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, ProtectedRoute, QuickCreateActions, RecentExecutionsByResource, RecurringScheduleForm, RelativeScheduleForm, RequestActionIcon, RequestModal, ResourceCard, ResourceDefinitionSection, ResourceDetailPage, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, ResourceOverview, ResourcesPage, ResourcesSidebar, RichTextEditor, RoleBadge, RoleSchema, RunResourceButton, SAVED_VIEW_PRESETS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, ScriptResourceEntrySchema, SemanticIcon, SessionChatArea, SessionChatInterface, SessionChatPage, SessionConversationView, SessionDetailsPanel, SessionExecutionLogs, SessionHeader, SessionListItem, SessionMemory, SessionsPage, SessionsSidebar, Sidebar, SidebarContext, SidebarProvider, SortableHeader, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, StepConfigForm, SubshellContainer, SubshellContentContainer, SubshellLoader, SubshellNavList, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarLoader, SurfaceDefinitionSchema, SystemOpsView, SystemShell, TabCountBadge, TabSection, TableSelectionToolbar, TaskCard, TaskScheduler, TimeRangeSelector, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, Topbar, TopbarActions, TopbarContainer, TrendIndicator, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UnresolvedErrorsTeaser, UpcomingMilestonesPage, Vignette, VisualizerContainer, WebhookEndpointList, WebhookEndpointService, WebhookEndpointSettings, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionPanel, WorkflowExecutionTimeline, WorkflowResourceEntrySchema, ZodFormRenderer, acquisitionListKeys, aggregateSystemMetrics, buildErrorReport, buildKnowledgeOmTreeData, calculateProgress, clientsKeys, collectResourceFilterFacets, companyKeys, contactKeys, createOrganizationsSlice, createTestSystemsProvider, createUseOrgInitialization, createUseOrganizations, crmManifest, crmPrioritySettingsKeys, dealKeys, dealNoteKeys, dealTaskKeys, deliveryManifest, deriveBusinessProgress, executionsKeys, extendSemanticIconRegistry, filterByDomainFilters, findKnowledgeTreeNodeByValue, findListActionByAction, findOmTreeGroup, formatDate3 as formatDate, formatDealStageLabel, formatResourceAttribution, formatStatusLabel, getConceptDefinition, getEnrichmentColor, getEnrichmentStatus, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getKnowledgeDomainFolderCommand, getKnowledgeGraphNodeCommand, getKnowledgeIconToken, getKnowledgeNodeReadCommand, getKnowledgeOntologyProjection, getKnowledgeTreeFolderCommand, getLeadGenApiInterfaceReadiness, getLeadGenExportWorkflowId, getListActionWorkflowId, getLogLevelConfig, getOntologyDomainLabel, getPrimaryOntologyItemsForDomain, getResourceFilterFacetIds, getSemanticIconComponent, getSeriesColor, getSharedOrganizationGraph, getStateKeyColor, getStatusColor4 as getStatusColor, getStepActionLabel, iconMap, isLeadGenExportAction, isSessionCapable, knowledgeManifest, labelResourceFilterFacet, leadGenArtifactKeys, leadGenListCompanyKeys, leadGenListMemberKeys, leadGenManifest, mdxComponents, milestoneKeys, milestoneStatusColors, monitoringManifest, normaliseConceptKey, noteKeys, noteTypeColors, observabilityKeys, operationsKeys, operationsManifest, projectActivityKeys, projectKeys, projectNavigationGroups, projectNavigationSurfaces, projectStatusColors, requestTopbarActionManifest, requestsKeys, resolveBuildPlanSteps, resolveBuildState, resolveSemanticIconComponent, scheduleKeys, sessionsKeys, settingsManifest, showApiErrorNotification, showAuthError, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, sortData, sortStageKeys, subsidebarWidth, taskKeys, taskStatusColors, taskTypeColors, useAccess, useActivateDeployment, useActivities, useActivitiesRealtime, useActivityFilters, useActivityTrend, useAddCompaniesToList, useAddContactsToList, useAppearance, useArchiveSession, useArchivedLogs, useArtifacts, useAssignRole, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBreadcrumbs, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useClient, useClientStatus, useClients, useCommandQueue, useCommandQueueTask, 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, useCrmActions, useCrmPipelineSummary, useCrmPrioritySettings, useCrmQuickMetrics, useCyberColors, 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, useElevasisSystems, useEndSession, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useErrorTrends, useExecuteAction, useExecuteAsync, useExecuteResource, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionLogsFilters, useExecutionPanelState, useExecutionSSE, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphBackgroundStyles, useGraphTheme, useInFlightExecutions, useLeadGenActionRegistry, useLeadGenBulkActions, useLeadGenConfig, useLeadGenHeaderActions, useLeadGenRowActions, useList, useListActions, useListApiKeys, useListDeployments, useListExecutions, useListMember, useListMembers, useListProgress, useListRecords, useListSchedules, useListWebhookEndpoints, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useMilestones, useNewKnowledgeMapLayout, useNotificationAdapter, useNotificationCount, useNotifications, useOptionalElevasisSystems, useOrgRoles, useOrganizationMembers, usePaginationState, usePatchTask, usePauseSchedule, usePermissionCatalog, useProject, useProjectActivities, useProjectMilestones, useProjectNotes, useProjectRealtime, useProjectTasks, useProjects, useReactivateMembership, useRecentCrmActivity, useRecentExecutionsByResource, useRemoveCompaniesFromList, useRequest, useRequestsList, useResetCrmPrioritySettings, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResolvedOrganizationModel, useResourceDefinition, useResourceErrors, useResourceExecutions, useResourceSearch, useResources, useResourcesDomainFilters, useResourcesHealth, useResumeSchedule, useRetryExecution, useRevokeRole, useSSEConnection, useScheduledTasks, useSession, useSessionCheck, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSidebar, useSidebarCollapse, useSortedData, useStableAccessToken, useStatusFilter, useSubmitAction, useSubmitRequest, 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 };