@elevasis/ui 2.60.0 → 2.61.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.
Files changed (49) 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-7Q5THR43.js → chunk-DRQA53N4.js} +1 -1
  8. package/dist/{chunk-4N5GYO6R.js → chunk-WFX6ERBL.js} +231 -166
  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/public-agent-chat/index.js +29 -8
  27. package/dist/features/settings/index.js +3 -3
  28. package/dist/hooks/access/index.js +3 -3
  29. package/dist/hooks/delivery/index.js +3 -3
  30. package/dist/hooks/index.d.ts +13 -15
  31. package/dist/hooks/index.js +3 -3
  32. package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +6 -5
  33. package/dist/hooks/published.d.ts +13 -15
  34. package/dist/hooks/published.js +3 -3
  35. package/dist/index.d.ts +188 -28
  36. package/dist/index.js +4 -4
  37. package/dist/knowledge/index.d.ts +6 -5
  38. package/dist/knowledge/index.js +4 -4
  39. package/dist/layout/index.js +3 -3
  40. package/dist/organization/index.js +3 -3
  41. package/dist/provider/index.d.ts +59 -6
  42. package/dist/provider/index.js +3 -3
  43. package/dist/provider/published.d.ts +6 -5
  44. package/dist/provider/published.js +3 -3
  45. package/dist/test-utils/index.js +3 -3
  46. package/dist/types/index.d.ts +6 -5
  47. package/dist/utils/index.d.ts +6 -5
  48. package/dist/utils/index.js +1 -1
  49. package/package.json +4 -4
@@ -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';
@@ -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
  }
@@ -29769,7 +29808,7 @@ function getPrimaryAction({
29769
29808
  tone: "gray"
29770
29809
  };
29771
29810
  }
29772
- function LeadGenOverviewPage() {
29811
+ function LeadGenOverviewPage({ headerActions, tabs, footer } = {}) {
29773
29812
  const navigate = useNavigate();
29774
29813
  const telemetryQuery = useListsTelemetry();
29775
29814
  const listsQuery = useLists();
@@ -29840,98 +29879,103 @@ function LeadGenOverviewPage() {
29840
29879
  if (aBacklog !== bBacklog) return bBacklog - aBacklog;
29841
29880
  return b.totalContacts - a.totalContacts;
29842
29881
  }) ?? [];
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" })
29882
+ return /* @__PURE__ */ jsxs(SubshellContentContainer, { children: [
29883
+ /* @__PURE__ */ jsx(PageContainer, { children: /* @__PURE__ */ jsxs(Stack, { children: [
29884
+ /* @__PURE__ */ jsx(PageTitleCaption, { title: "Lead Gen Overview", caption: summaryLine }),
29885
+ headerActions ? /* @__PURE__ */ jsx(Group, { gap: "xs", children: headerActions }) : null,
29886
+ tabs ?? null,
29887
+ 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: [
29888
+ /* @__PURE__ */ jsxs(SimpleGrid, { cols: { base: 1, sm: 3 }, children: [
29889
+ /* @__PURE__ */ jsx(StatCard, { variant: "hero", icon: IconPlayerPlay, value: totalLists, label: "Total Lists" }),
29890
+ /* @__PURE__ */ jsx(StatCard, { variant: "hero", icon: IconArrowRight, value: uploadBacklog, label: "Ready Contacts" }),
29891
+ /* @__PURE__ */ jsx(StatCard, { variant: "hero", icon: IconAlertCircle, value: deliverabilityRiskCount, label: "At Risk" })
29892
+ ] }),
29893
+ /* @__PURE__ */ jsx(Paper, { withBorder: true, p: "md", children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
29894
+ /* @__PURE__ */ jsx(CardHeader, { icon: /* @__PURE__ */ jsx(IconSparkles, { size: 18 }), title: "Next Action", subtitle: primaryAction.title }),
29895
+ /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", maw: 620, children: primaryAction.detail }),
29896
+ /* @__PURE__ */ jsxs(SimpleGrid, { cols: { base: 1, md: 2 }, children: [
29897
+ /* @__PURE__ */ jsxs(Card, { withBorder: true, p: "sm", children: [
29898
+ /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, children: "Verification" }),
29899
+ /* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-end", mt: 6, children: [
29900
+ /* @__PURE__ */ jsx(Title, { order: 4, children: verificationBacklog }),
29901
+ /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "waiting" })
29902
+ ] })
29903
+ ] }),
29904
+ /* @__PURE__ */ jsxs(Card, { withBorder: true, p: "sm", children: [
29905
+ /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", tt: "uppercase", fw: 600, children: "Personalization" }),
29906
+ /* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-end", mt: 6, children: [
29907
+ /* @__PURE__ */ jsx(Title, { order: 4, children: personalizationBacklog }),
29908
+ /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "ready" })
29909
+ ] })
29860
29910
  ] })
29911
+ ] })
29912
+ ] }) }),
29913
+ /* @__PURE__ */ jsx(Paper, { withBorder: true, p: "md", children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
29914
+ /* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-start", gap: "md", children: [
29915
+ /* @__PURE__ */ jsx(
29916
+ CardHeader,
29917
+ {
29918
+ icon: /* @__PURE__ */ jsx(IconListDetails, { size: 18 }),
29919
+ title: "List Snapshot",
29920
+ subtitle: "Ranked to surface active work first, then the largest unresolved backlogs."
29921
+ }
29922
+ ),
29923
+ canManageLeadGen.allowed ? /* @__PURE__ */ jsx(
29924
+ Button,
29925
+ {
29926
+ leftSection: /* @__PURE__ */ jsx(IconPlus, { size: 16 }),
29927
+ onClick: () => setShowCreateList(true),
29928
+ size: "xs",
29929
+ disabled: !canUseApiActions,
29930
+ title: !canUseApiActions ? apiDisabledReason : void 0,
29931
+ children: "Create List"
29932
+ }
29933
+ ) : null
29861
29934
  ] }),
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
- ] })
29935
+ /* @__PURE__ */ jsxs(Table, { children: [
29936
+ /* @__PURE__ */ jsx(Table.Thead, { children: /* @__PURE__ */ jsxs(Table.Tr, { children: [
29937
+ /* @__PURE__ */ jsx(Table.Th, { children: "List" }),
29938
+ /* @__PURE__ */ jsx(Table.Th, { children: "Companies" }),
29939
+ /* @__PURE__ */ jsx(Table.Th, { children: "Contacts" }),
29940
+ /* @__PURE__ */ jsx(Table.Th, { children: "Next Focus" }),
29941
+ /* @__PURE__ */ jsx(Table.Th, { children: "Status" })
29942
+ ] }) }),
29943
+ /* @__PURE__ */ jsx(Table.Tbody, { children: overviewRows.map((list) => /* @__PURE__ */ jsxs(
29944
+ Table.Tr,
29945
+ {
29946
+ style: { cursor: "pointer" },
29947
+ onClick: () => navigate({ to: "/lead-gen/lists/$listId", params: { listId: list.listId } }),
29948
+ children: [
29949
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsxs(Stack, { gap: 2, children: [
29950
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, children: list.name }),
29951
+ /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: list.listId })
29952
+ ] }) }),
29953
+ /* @__PURE__ */ jsx(Table.Td, { children: list.totalCompanies }),
29954
+ /* @__PURE__ */ jsx(Table.Td, { children: list.totalContacts }),
29955
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsxs(Stack, { gap: 2, children: [
29956
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, children: list.nextFocus.label }),
29957
+ /* @__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` })
29958
+ ] }) }),
29959
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Badge, { size: "sm", variant: "light", color: list.status.color, children: list.status.label }) })
29960
+ ]
29961
+ },
29962
+ list.listId
29963
+ )) })
29868
29964
  ] })
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
- ] }) }) });
29965
+ ] }) })
29966
+ ] }),
29967
+ /* @__PURE__ */ jsx(
29968
+ CreateListModal,
29969
+ {
29970
+ opened: showCreateList,
29971
+ onClose: () => setShowCreateList(false),
29972
+ canCreate: canCreateLists,
29973
+ onCreated: (list) => navigate({ to: "/lead-gen/lists/$listId", params: { listId: list.id } })
29974
+ }
29975
+ )
29976
+ ] }) }),
29977
+ footer ?? null
29978
+ ] });
29935
29979
  }
29936
29980
  var PAGE_SIZE_DEFAULT2 = 20;
29937
29981
  var STATUS_FILTER_OPTIONS = [
@@ -30370,6 +30414,16 @@ function ListMemberDrawer({ memberId, memberKind, listId, onClose }) {
30370
30414
  }
30371
30415
  );
30372
30416
  }
30417
+ function LeadGenReadinessAlert({
30418
+ canUseApiActions,
30419
+ reason
30420
+ }) {
30421
+ if (canUseApiActions) return null;
30422
+ return /* @__PURE__ */ jsxs(Alert, { icon: /* @__PURE__ */ jsx(IconAlertCircle, { size: 16 }), color: "yellow", variant: "light", children: [
30423
+ "Lead-gen API actions are disabled until System Interface readiness passes. Read-only list detail can still render when data is available.",
30424
+ reason ? ` ${reason}` : ""
30425
+ ] });
30426
+ }
30373
30427
  var panelStyle = {
30374
30428
  flex: 1,
30375
30429
  minHeight: 0,
@@ -31560,9 +31614,6 @@ function getSelectedCredential(credentials, selections, requirement) {
31560
31614
  const selectedId = selections[requirement.key];
31561
31615
  return credentials.find((credential) => credential.id === selectedId) ?? null;
31562
31616
  }
31563
- function getClickUpRequirement(step) {
31564
- return step.credentialRequirements?.find((requirement) => requirement.provider === "clickup") ?? null;
31565
- }
31566
31617
  function filterCredentialRequirementFields(layout, requirements) {
31567
31618
  if (!layout || requirements.length === 0) return layout;
31568
31619
  const credentialInputPaths = new Set(requirements.map((requirement) => requirement.inputPath).filter(Boolean));
@@ -31878,7 +31929,6 @@ function BuildTab({
31878
31929
  const [activeRightColumnTab, setActiveRightColumnTab] = useState("configuration");
31879
31930
  const [credentialSelections, setCredentialSelections] = useState({});
31880
31931
  const [credentialVerificationById, setCredentialVerificationById] = useState({});
31881
- const [clickupListId, setClickupListId] = useState("");
31882
31932
  const [reviewExportApprovals, setReviewExportApprovals] = useState({});
31883
31933
  const [runningResources, setRunningResources] = useState({});
31884
31934
  const lastObservedTerminalRunRef = useRef(null);
@@ -31935,16 +31985,12 @@ function BuildTab({
31935
31985
  });
31936
31986
  const approvedCompanyIds = Object.entries(reviewExportApprovals).filter(([, status]) => status === "approved").map(([companyId]) => companyId);
31937
31987
  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;
31988
+ const canExportSelectedRecords = selectedStepIsReviewExport && activeRightColumnTab === "records" && approvedCompanyIds.length > 0;
31989
+ const selectedExportDisabledReason = !selectedStepIsReviewExport || activeRightColumnTab !== "records" ? null : approvedCompanyIds.length === 0 ? "Approve records" : null;
31944
31990
  const canRunSelectedAction = !!selectedStep?.action && (selectedActionKind === "retry_failed" || selectedActionKind === "run_next_batch");
31945
31991
  const selectedResourceIsRunning = selectedResourceId ? (runningResources[selectedResourceId] ?? false) || runningResourceIds.has(selectedResourceId) : false;
31946
31992
  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);
31993
+ const selectedActionLabel = selectedResourceIsRunning ? "Running..." : selectedStepIsReviewExport && activeRightColumnTab !== "records" ? "Approve records" : selectedStepIsReviewExport ? selectedExportDisabledReason ?? "Export approved" : selectedActionKind === "none" ? "No action" : getStepActionLabel(selectedActionKind);
31948
31994
  const selectedActionIcon = selectedStepIsReviewExport && activeRightColumnTab !== "records" ? /* @__PURE__ */ jsx(IconAddressBook, { size: 14 }) : selectedActionKind === "retry_failed" ? /* @__PURE__ */ jsx(IconRefresh, { size: 14 }) : /* @__PURE__ */ jsx(IconPlayerPlay, { size: 14 });
31949
31995
  const handleResourceRunningChange = useCallback((resourceId, isRunning) => {
31950
31996
  setRunningResources((current) => {
@@ -32021,12 +32067,6 @@ function BuildTab({
32021
32067
  }
32022
32068
  });
32023
32069
  };
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
32070
  const handleReviewExportApprovalChange = (companyId, status) => {
32031
32071
  if (!canManage) return;
32032
32072
  setReviewExportApprovals((current) => ({ ...current, [companyId]: status }));
@@ -32040,11 +32080,6 @@ function BuildTab({
32040
32080
  listId: list.id,
32041
32081
  mode: "export",
32042
32082
  approved: true,
32043
- ...isSelectedClickUpExportPath ? {
32044
- destination: "clickup",
32045
- clickupCredential: selectedClickupCredential?.name,
32046
- clickupListId: normalizedClickupListId
32047
- } : {},
32048
32083
  approvedCompanyIds,
32049
32084
  rejectedCompanyIds
32050
32085
  }
@@ -32219,18 +32254,7 @@ function BuildTab({
32219
32254
  onSelect: handleCredentialSelect,
32220
32255
  onVerify: handleVerifyCredential
32221
32256
  }
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
32257
+ )
32234
32258
  ] }),
32235
32259
  advanced: showAdvancedStepConfig && visibleStepLayout ? /* @__PURE__ */ jsx(
32236
32260
  StepConfigForm,
@@ -32417,7 +32441,12 @@ function ListDetailHeader({
32417
32441
  }) {
32418
32442
  return /* @__PURE__ */ jsx(PageTitleCaption, { title, caption, rightSection });
32419
32443
  }
32420
- function LeadGenListDetailPage({ listId }) {
32444
+ function LeadGenListDetailPage({
32445
+ listId,
32446
+ headerActions,
32447
+ tabs,
32448
+ footer
32449
+ }) {
32421
32450
  const navigate = useNavigate();
32422
32451
  const actions = useListActions();
32423
32452
  const leadGenConfig = useLeadGenConfig();
@@ -32617,10 +32646,8 @@ function LeadGenListDetailPage({ listId }) {
32617
32646
  backButton
32618
32647
  ] })
32619
32648
  ] }),
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,
32649
+ /* @__PURE__ */ jsx(LeadGenReadinessAlert, { canUseApiActions, reason: apiDisabledReason }),
32650
+ headerActions ? /* @__PURE__ */ jsx(Group, { gap: "xs", children: headerActions }) : null,
32624
32651
  /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsxs(Tabs, { value: activeTab, onChange: handleTabChange, keepMounted: false, children: [
32625
32652
  /* @__PURE__ */ jsxs(Tabs.List, { children: [
32626
32653
  /* @__PURE__ */ jsx(Tabs.Tab, { value: "overview", leftSection: /* @__PURE__ */ jsx(IconBuilding, { size: 14 }), children: "Overview" }),
@@ -32628,6 +32655,7 @@ function LeadGenListDetailPage({ listId }) {
32628
32655
  /* @__PURE__ */ jsx(Tabs.Tab, { value: "build", leftSection: /* @__PURE__ */ jsx(IconBolt, { size: 14 }), children: "Build" }),
32629
32656
  /* @__PURE__ */ jsx(Tabs.Tab, { value: "runs", leftSection: /* @__PURE__ */ jsx(IconPlayerPlay, { size: 14 }), children: "Runs" })
32630
32657
  ] }),
32658
+ tabs ?? null,
32631
32659
  /* @__PURE__ */ jsx(Tabs.Panel, { value: "overview", pt: "sm", children: /* @__PURE__ */ jsx(
32632
32660
  OverviewTab,
32633
32661
  {
@@ -32714,7 +32742,8 @@ function LeadGenListDetailPage({ listId }) {
32714
32742
  ] })
32715
32743
  ] })
32716
32744
  }
32717
- )
32745
+ ),
32746
+ footer ?? null
32718
32747
  ] });
32719
32748
  }
32720
32749
  function ListBuilderIndexPage() {
@@ -33261,7 +33290,19 @@ function ListBuilderPage({ listId }) {
33261
33290
  ] }) }) });
33262
33291
  }
33263
33292
  var PAGE_SIZE_DEFAULT3 = 20;
33264
- function LeadGenCompaniesPage() {
33293
+ function getValueAtPath(source, path) {
33294
+ return path.split(".").reduce((current, segment) => {
33295
+ if (current == null || typeof current !== "object") return void 0;
33296
+ return current[segment];
33297
+ }, source);
33298
+ }
33299
+ function renderExtraColumnValue(value, column) {
33300
+ if (value === null || value === void 0 || value === "") return "-";
33301
+ if (column.renderType === "count" && Array.isArray(value)) return String(value.length);
33302
+ if (Array.isArray(value)) return value.map(String).join(", ");
33303
+ return String(value);
33304
+ }
33305
+ function LeadGenCompaniesPage({ extraColumns, replaceDefaultColumns } = {}) {
33265
33306
  const [companySearch, setCompanySearch] = useState("");
33266
33307
  const [segmentFilter, setSegmentFilter] = useState(null);
33267
33308
  const [categoryFilter, setCategoryFilter] = useState(null);
@@ -33376,13 +33417,16 @@ function LeadGenCompaniesPage() {
33376
33417
  onChange: selection.togglePage
33377
33418
  }
33378
33419
  ) }),
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" })
33420
+ !replaceDefaultColumns ? /* @__PURE__ */ jsxs(Fragment, { children: [
33421
+ /* @__PURE__ */ jsx(Table.Th, { children: "Company" }),
33422
+ /* @__PURE__ */ jsx(Table.Th, { children: "Domain" }),
33423
+ /* @__PURE__ */ jsx(Table.Th, { children: "Segment" }),
33424
+ /* @__PURE__ */ jsx(Table.Th, { children: "Category" }),
33425
+ /* @__PURE__ */ jsx(Table.Th, { children: "Employees" }),
33426
+ /* @__PURE__ */ jsx(Table.Th, { children: "Enrichment" }),
33427
+ /* @__PURE__ */ jsx(Table.Th, { children: "Contacts" })
33428
+ ] }) : null,
33429
+ (extraColumns ?? []).map((column) => /* @__PURE__ */ jsx(Table.Th, { style: column.width ? { width: column.width } : void 0, children: column.label }, column.key))
33386
33430
  ] }) }),
33387
33431
  /* @__PURE__ */ jsx(Table.Tbody, { children: companyRows.map((company) => {
33388
33432
  const enrichStatus = getEnrichmentStatus(company.enrichmentData);
@@ -33409,13 +33453,16 @@ function LeadGenCompaniesPage() {
33409
33453
  )
33410
33454
  }
33411
33455
  ),
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 })
33456
+ !replaceDefaultColumns ? /* @__PURE__ */ jsxs(Fragment, { children: [
33457
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { fw: 500, children: company.name }) }),
33458
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: company.domain || "-" }) }),
33459
+ /* @__PURE__ */ jsx(Table.Td, { children: company.segment || "-" }),
33460
+ /* @__PURE__ */ jsx(Table.Td, { children: company.category || "-" }),
33461
+ /* @__PURE__ */ jsx(Table.Td, { children: company.numEmployees || "-" }),
33462
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Badge, { variant: "light", color: getEnrichmentColor(enrichStatus), size: "sm", children: enrichStatus }) }),
33463
+ /* @__PURE__ */ jsx(Table.Td, { children: company.contactCount })
33464
+ ] }) : null,
33465
+ (extraColumns ?? []).map((column) => /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", children: renderExtraColumnValue(getValueAtPath(company, column.path), column) }) }, column.key))
33419
33466
  ]
33420
33467
  },
33421
33468
  company.id
@@ -33450,7 +33497,19 @@ function LeadGenCompaniesPage() {
33450
33497
  ] }) });
33451
33498
  }
33452
33499
  var PAGE_SIZE_DEFAULT4 = 20;
33453
- function LeadGenContactsPage() {
33500
+ function getValueAtPath2(source, path) {
33501
+ return path.split(".").reduce((current, segment) => {
33502
+ if (current == null || typeof current !== "object") return void 0;
33503
+ return current[segment];
33504
+ }, source);
33505
+ }
33506
+ function renderExtraColumnValue2(value, column) {
33507
+ if (value === null || value === void 0 || value === "") return "-";
33508
+ if (column.renderType === "count" && Array.isArray(value)) return String(value.length);
33509
+ if (Array.isArray(value)) return value.map(String).join(", ");
33510
+ return String(value);
33511
+ }
33512
+ function LeadGenContactsPage({ extraColumns, replaceDefaultColumns } = {}) {
33454
33513
  const [contactSearch, setContactSearch] = useState("");
33455
33514
  const [statusFilter, setStatusFilter] = useState(null);
33456
33515
  const [listFilter, setListFilter] = useState(null);
@@ -33551,12 +33610,15 @@ function LeadGenContactsPage() {
33551
33610
  onChange: selection.togglePage
33552
33611
  }
33553
33612
  ) }),
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" })
33613
+ !replaceDefaultColumns ? /* @__PURE__ */ jsxs(Fragment, { children: [
33614
+ /* @__PURE__ */ jsx(Table.Th, { children: "Name" }),
33615
+ /* @__PURE__ */ jsx(Table.Th, { children: "Email" }),
33616
+ /* @__PURE__ */ jsx(Table.Th, { children: "Company" }),
33617
+ /* @__PURE__ */ jsx(Table.Th, { children: "Title" }),
33618
+ /* @__PURE__ */ jsx(Table.Th, { children: "Status" }),
33619
+ /* @__PURE__ */ jsx(Table.Th, { children: "Personalized" })
33620
+ ] }) : null,
33621
+ (extraColumns ?? []).map((column) => /* @__PURE__ */ jsx(Table.Th, { style: column.width ? { width: column.width } : void 0, children: column.label }, column.key))
33560
33622
  ] }) }),
33561
33623
  /* @__PURE__ */ jsx(Table.Tbody, { children: contactRows.map((contact) => {
33562
33624
  const fullName = [contact.firstName, contact.lastName].filter(Boolean).join(" ") || contact.email;
@@ -33584,12 +33646,15 @@ function LeadGenContactsPage() {
33584
33646
  )
33585
33647
  }
33586
33648
  ),
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" }) })
33649
+ !replaceDefaultColumns ? /* @__PURE__ */ jsxs(Fragment, { children: [
33650
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { fw: 500, children: fullName }) }),
33651
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: contact.email }) }),
33652
+ /* @__PURE__ */ jsx(Table.Td, { children: contact.company?.name || "-" }),
33653
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: contact.title || "-" }) }),
33654
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Badge, { variant: "light", color: getStatusColor4(contact.status), size: "sm", children: contact.status || "unknown" }) }),
33655
+ /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Badge, { variant: "light", color: hasPersonalization ? "green" : "gray", size: "sm", children: hasPersonalization ? "Yes" : "No" }) })
33656
+ ] }) : null,
33657
+ (extraColumns ?? []).map((column) => /* @__PURE__ */ jsx(Table.Td, { children: /* @__PURE__ */ jsx(Text, { size: "sm", children: renderExtraColumnValue2(getValueAtPath2(contact, column.path), column) }) }, column.key))
33593
33658
  ]
33594
33659
  },
33595
33660
  contact.id
@@ -51580,4 +51645,4 @@ function useAccess(key) {
51580
51645
  };
51581
51646
  }
51582
51647
 
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 };
51648
+ 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 };