@elevasis/ui 2.38.1 → 2.39.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 (78) hide show
  1. package/dist/{CoreAuthKitInner-QC62UHTZ.js → CoreAuthKitInner-PSTKG4B3.js} +3 -1
  2. package/dist/api/index.js +4 -2
  3. package/dist/app/index.d.ts +12 -0
  4. package/dist/app/index.js +17 -14
  5. package/dist/auth/context.d.ts +7 -1
  6. package/dist/auth/index.d.ts +80 -74
  7. package/dist/auth/index.js +10 -7
  8. package/dist/charts/index.js +13 -10
  9. package/dist/{chunk-C6BDBZRO.js → chunk-23YQ2WH5.js} +2 -1
  10. package/dist/{chunk-KJ3QUBNU.js → chunk-2FTX4WO2.js} +2 -2
  11. package/dist/chunk-43ZU647H.js +612 -0
  12. package/dist/{chunk-4UCAUBOL.js → chunk-5GZVSTVH.js} +2 -2
  13. package/dist/{chunk-7ZWXTH5J.js → chunk-5JYKCULK.js} +1 -1
  14. package/dist/{chunk-533DUEQY.js → chunk-6DO4PE3O.js} +1 -1
  15. package/dist/{chunk-PGWANFNE.js → chunk-CXLDZSAQ.js} +6 -6
  16. package/dist/{chunk-Y3JQBSKQ.js → chunk-FAO7SWSL.js} +1 -1
  17. package/dist/{chunk-566XWGPP.js → chunk-GLBPGEDD.js} +53 -611
  18. package/dist/{chunk-P34FFSOX.js → chunk-HOAMD35V.js} +2 -1
  19. package/dist/{chunk-JXVNHVK7.js → chunk-K7E352VG.js} +1 -1
  20. package/dist/{chunk-H2MEFUQD.js → chunk-L2H5CIQF.js} +25 -22
  21. package/dist/chunk-MQZE7SUI.js +9 -0
  22. package/dist/{chunk-7GQFIWP4.js → chunk-O53S32QR.js} +3 -3
  23. package/dist/{chunk-LWDVD3XR.js → chunk-PVXM4O6V.js} +309 -187
  24. package/dist/{chunk-I53EX4VU.js → chunk-RG2S6NIU.js} +1 -1
  25. package/dist/{chunk-JBWJ6WHZ.js → chunk-SJHM4WDG.js} +1 -1
  26. package/dist/{chunk-M7Q4UBRY.js → chunk-SNDRAYMF.js} +1 -1
  27. package/dist/chunk-TVTSASST.js +28 -0
  28. package/dist/{chunk-2Q2JQSQO.js → chunk-W2SFTXMT.js} +1 -1
  29. package/dist/chunk-ZJ3FG7FE.js +801 -0
  30. package/dist/{chunk-YGUNUIME.js → chunk-ZRZYRDXX.js} +5 -4
  31. package/dist/components/index.d.ts +12 -0
  32. package/dist/components/index.js +20 -17
  33. package/dist/components/navigation/index.js +4 -3
  34. package/dist/features/auth/index.js +21 -18
  35. package/dist/features/clients/index.js +20 -17
  36. package/dist/features/crm/index.js +20 -17
  37. package/dist/features/dashboard/index.d.ts +12 -0
  38. package/dist/features/dashboard/index.js +20 -17
  39. package/dist/features/delivery/index.js +20 -17
  40. package/dist/features/knowledge/index.js +4 -3
  41. package/dist/features/lead-gen/index.d.ts +58 -12
  42. package/dist/features/lead-gen/index.js +20 -17
  43. package/dist/features/monitoring/index.js +20 -17
  44. package/dist/features/monitoring/requests/index.js +20 -17
  45. package/dist/features/notes/index.js +6 -4
  46. package/dist/features/operations/index.d.ts +12 -0
  47. package/dist/features/operations/index.js +20 -17
  48. package/dist/features/settings/index.js +20 -17
  49. package/dist/hooks/access/index.js +9 -6
  50. package/dist/hooks/delivery/index.js +20 -17
  51. package/dist/hooks/index.d.ts +260 -203
  52. package/dist/hooks/index.js +20 -17
  53. package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +12 -0
  54. package/dist/hooks/published.d.ts +260 -203
  55. package/dist/hooks/published.js +20 -17
  56. package/dist/hooks/user-notes/index.js +4 -2
  57. package/dist/index.d.ts +147 -87
  58. package/dist/index.js +20 -17
  59. package/dist/initialization/index.js +6 -4
  60. package/dist/knowledge/index.d.ts +12 -0
  61. package/dist/knowledge/index.js +5 -4
  62. package/dist/organization/index.d.ts +50 -13
  63. package/dist/organization/index.js +20 -17
  64. package/dist/profile/index.js +4 -2
  65. package/dist/provider/ElevasisServiceContext.d.ts +13 -4
  66. package/dist/provider/ElevasisServiceContext.js +3 -1
  67. package/dist/provider/index.d.ts +25 -4
  68. package/dist/provider/index.js +16 -13
  69. package/dist/provider/published.d.ts +25 -4
  70. package/dist/provider/published.js +14 -11
  71. package/dist/test-utils/index.d.ts +13 -4
  72. package/dist/test-utils/index.js +6 -3
  73. package/dist/theme/index.js +1 -1
  74. package/dist/types/index.d.ts +12 -0
  75. package/dist/utils/index.d.ts +12 -0
  76. package/dist/utils/index.js +3 -1
  77. package/package.json +5 -5
  78. package/dist/chunk-X66MVMZT.js +0 -373
@@ -1,42 +1,45 @@
1
1
  import { useAvailablePresets } from './chunk-B2DZLPDL.js';
2
2
  import { useSupabase } from './chunk-BRXELOHC.js';
3
- import { useBreadcrumbs } from './chunk-M7Q4UBRY.js';
3
+ import { useBreadcrumbs } from './chunk-SNDRAYMF.js';
4
4
  import { ChatHeader, ChatSidebar } from './chunk-CXY7FMUM.js';
5
- import { observabilityKeys, useCyberColors, CyberLegendItem, CyberAreaChart, CyberDonut, HeroStatsRow, CostTrendChart, ActivityTrendChart } from './chunk-7GQFIWP4.js';
5
+ import { observabilityKeys, useCyberColors, CyberLegendItem, CyberAreaChart, CyberDonut, HeroStatsRow, CostTrendChart, ActivityTrendChart } from './chunk-O53S32QR.js';
6
6
  import { DEFAULT_ORGANIZATION_GRAPH_FILTERS, ORGANIZATION_GRAPH_NODE_KIND_ORDER, ORGANIZATION_GRAPH_NODE_KIND_LABELS, ORGANIZATION_GRAPH_EDGE_KIND_LABELS, ORGANIZATION_GRAPH_NODE_KIND_DETAIL_LABELS, ORGANIZATION_GRAPH_NODE_KIND_MEANINGS, ORGANIZATION_GRAPH_EDGE_KIND_MEANINGS } from './chunk-5EYJ2GIN.js';
7
7
  import { AppShellLoader, SubshellSidebarLoader, PageContainer, SubshellLoader, AppShellCenteredContainer } from './chunk-DA6I5VEY.js';
8
8
  import { SubshellNavItem } from './chunk-X4WBGKJQ.js';
9
9
  import { SubshellSidebarSection } from './chunk-IIMU5YAJ.js';
10
10
  import { Graph_module_css_default, useDirectedChainHighlighting, useNodeSelection, useFitViewTrigger, useGraphHighlighting, calculateGraphHeight, GRAPH_CONSTANTS } from './chunk-HENXLGVD.js';
11
11
  import { STATUS_COLORS, getStatusIcon, formatDuration, getStatusColors, AGENT_CONSTANTS, shouldAnimateEdge, TIMELINE_CONSTANTS, calculateBarPosition, CONTAINER_CONSTANTS, useExecutionPath, useUnifiedWorkflowLayout, WORKFLOW_CONSTANTS, useReactFlowAgent, getResourceStatusColor, useMergedExecution, useTimelineData, useAgentIterationData } from './chunk-7FPLLSHN.js';
12
- import { glassBase } from './chunk-7ZWXTH5J.js';
13
- import { useNotificationAdapter, useCrmActions, useListActions } from './chunk-H2MEFUQD.js';
14
- import { EmptyState, CenteredErrorState, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, GlowDot, JsonViewer, ListSkeleton, PageTitleCaption, StatCard, APIErrorAlert, CollapsibleSection, ActivityTimeline, ContextViewer, StatusBadge, TabCountBadge, ResourceCard } from './chunk-I53EX4VU.js';
12
+ import { glassBase } from './chunk-5JYKCULK.js';
13
+ import { useNotificationAdapter, useCrmActions, useListActions } from './chunk-L2H5CIQF.js';
14
+ import { EmptyState, CenteredErrorState, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, GlowDot, JsonViewer, ListSkeleton, PageTitleCaption, StatCard, APIErrorAlert, CollapsibleSection, ActivityTimeline, ContextViewer, StatusBadge, TabCountBadge, ResourceCard } from './chunk-RG2S6NIU.js';
15
15
  import { StyledMarkdown } from './chunk-3KMDHCAR.js';
16
16
  import { CardHeader } from './chunk-S3XR4II4.js';
17
17
  import { useAppearance, SubshellContentContainer } from './chunk-A7IG36LB.js';
18
- import { HTTP_HEADERS } from './chunk-Y3JQBSKQ.js';
18
+ import { HTTP_HEADERS } from './chunk-FAO7SWSL.js';
19
19
  import { topbarHeight } from './chunk-DT3QYZVU.js';
20
20
  import { useRouterContext } from './chunk-Q7DJKLEN.js';
21
- import { ResourceTypeSchema, NonEmptyStringSchema, OriginResourceTypeSchema, UuidSchema, CredentialNameSchema, getErrorInfo, formatErrorMessage, getErrorTitle, isAPIClientError, getTimeRangeDates, formatBucketTime, PAGE_SIZE_DEFAULT, REFETCH_INTERVAL_DASHBOARD, REFETCH_INTERVAL_RUNNING, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, APIClientError, formatDateTime, getResourceIcon, formatTimeAgo, formatDate, formatRelativeTime, debounce, OAUTH_FLOW_TIMEOUT } from './chunk-X66MVMZT.js';
21
+ import { getErrorInfo, formatErrorMessage, getErrorTitle, isAPIClientError, getTimeRangeDates, formatBucketTime, PAGE_SIZE_DEFAULT, REFETCH_INTERVAL_DASHBOARD, REFETCH_INTERVAL_RUNNING, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, APIClientError, formatDateTime, getResourceIcon, formatTimeAgo, LEAD_GEN_API_INTERFACE, computeInterfaceReadiness, formatDate, formatRelativeTime, debounce, OAUTH_FLOW_TIMEOUT } from './chunk-ZJ3FG7FE.js';
22
22
  import { ResourceStatusColors, toWorkflowLogMessages } from './chunk-KRWALB24.js';
23
- import { useStableAccessToken } from './chunk-4UCAUBOL.js';
24
- import { useAccess, AccessKeys } from './chunk-YGUNUIME.js';
25
- import { useOptionalElevasisSystems, useElevasisSystems } from './chunk-C6BDBZRO.js';
26
- import { useInitialization } from './chunk-533DUEQY.js';
27
- import { defineEntities, OrgKnowledgeNodeSchema, defineResources, defineActions, defineTopology, topologyRef, resolveOrganizationModel, listAllSystems, projectOrganizationSurfaces, topologyRelationship, PROJECTS_VIEW_ACTION_ID, resolveSemanticIconComponent, getAllBuildTemplates, getLeadGenStageCatalog, buildOrganizationGraph, getResourcesForSystem, getSystem, SemanticIcon, compileOrganizationOntology, getSystemAncestors } from './chunk-566XWGPP.js';
23
+ import { useStableAccessToken } from './chunk-5GZVSTVH.js';
24
+ import { useAccess, AccessKeys } from './chunk-ZRZYRDXX.js';
25
+ import { useOptionalElevasisSystems, useElevasisSystems } from './chunk-23YQ2WH5.js';
26
+ import { useInitialization } from './chunk-6DO4PE3O.js';
27
+ import { defineEntities, OrgKnowledgeNodeSchema, defineResources, defineActions, defineTopology, topologyRef, topologyRelationship, resolveOrganizationModel, projectOrganizationSurfaces, PROJECTS_VIEW_ACTION_ID, resolveSemanticIconComponent, buildOrganizationGraph, SemanticIcon } from './chunk-GLBPGEDD.js';
28
28
  import { useOrganization } from './chunk-DD3CCMCZ.js';
29
- import { useUserProfile } from './chunk-2Q2JQSQO.js';
29
+ import { useUserProfile } from './chunk-W2SFTXMT.js';
30
30
  import { STALE_TIME_MONITORING, STALE_TIME_DEFAULT, STALE_TIME_ADMIN, GC_TIME_MEDIUM, GC_TIME_SHORT } from './chunk-6ROXVZ3L.js';
31
- import { useElevasisServices } from './chunk-KJ3QUBNU.js';
31
+ import { listAllSystems, getSystem, getAllBuildTemplates, getLeadGenStageCatalog, getResourcesForSystem, compileOrganizationOntology, getSystemAncestors } from './chunk-43ZU647H.js';
32
+ import { useElevasisServices } from './chunk-2FTX4WO2.js';
33
+ import { brandWorkOsOrgId, brandSupabaseOrgId } from './chunk-MQZE7SUI.js';
34
+ import { ResourceTypeSchema, NonEmptyStringSchema, OriginResourceTypeSchema, UuidSchema, CredentialNameSchema } from './chunk-TVTSASST.js';
32
35
  import { useAuthContext } from './chunk-BRJ3QZ4E.js';
36
+ import { z } from 'zod';
33
37
  import { memo, useMemo, useRef, useEffect, cloneElement, useState, useCallback, useId, Fragment as Fragment$1, useDeferredValue, useEffectEvent } from 'react';
34
38
  import { createUseExternalEvents, Paper, Stack, Text, Group, Badge, Box, useComputedColorScheme, Card, Title, Checkbox, Tooltip, Center, Modal, TextInput, Textarea, Loader, Alert, Button, Space, Table, Select, ActionIcon, SegmentedControl, NumberFormatter, Switch, Pagination, UnstyledButton, Divider, ScrollArea, Popover, Indicator, Collapse, ThemeIcon, SimpleGrid, Code, CopyButton, PasswordInput, Anchor, Menu, Timeline, useMantineTheme, RangeSlider, Progress, Tabs, Breadcrumbs as Breadcrumbs$1, NumberInput, ColorSwatch, RingProgress, Grid, LoadingOverlay, Accordion, MultiSelect, Radio, Pill, Drawer, Chip, JsonInput, TagsInput } from '@mantine/core';
35
39
  import { IconPlayerPlay, IconPlayerStop, IconArrowsSplit, IconSquare, IconBrain, IconFileText, IconLayoutGrid, IconColumns, IconFileInvoice, IconNotes, IconBriefcase, IconChecklist, IconFlag, IconList, IconBuilding, IconAddressBook, IconMail, IconSend, IconClock, IconArrowUp, IconMessageCircle, IconRocket, IconEye, IconEdit, IconAlertTriangle, IconRefresh, IconX, IconCheck, IconTarget, IconActivity, IconCode, IconSettings, IconLock, IconShieldOff, IconChevronUp, IconChevronDown, IconSelector, IconTrash, IconChartBar, IconCircleCheck, IconThumbDown, IconThumbUp, IconCircleX, IconSearch, IconFilterOff, IconArrowUpRight, IconAlertCircle, IconExternalLink, IconChartPie, IconHeartbeat, IconDownload, IconCpu, IconTrendingUp, IconCash, IconInfoCircle, IconExclamationCircle, IconBug, IconChecks, IconCircle, IconCircleFilled, IconBell, IconFocus2, IconChevronRight, IconTool, IconClockHour4, IconVersions, IconNetwork, IconSitemap, IconPencil, IconKey, IconCalendar, IconExclamationMark, IconShieldLock, IconCopy, IconPlus, IconPower, IconTag, IconUsers, IconWebhook, IconReload, IconTerminal2, IconMessage, IconArrowLeft, IconCalendarRepeat, IconCalendarEvent, IconCalendarTime, IconRobot, IconGitBranch, IconDotsVertical, IconPlayerPause, IconCalendarDue, IconCalendarStats, IconCalendarOff, IconListCheck, IconFilter, IconCategory, IconDatabase, IconTrophy, IconClockExclamation, IconUser, IconHistory, IconCurrencyDollar, IconTargetArrow, IconMessages, IconInbox, IconBolt, IconRestore, IconArrowRight, IconSparkles, IconListDetails, IconLayoutDashboard, IconBuildingFactory2, IconFileDescription, IconApps, IconRoute, IconHandStop, IconAdjustmentsHorizontal, IconCircleDashed, IconFolders, IconBraces, IconTopologyStar3, IconLayoutSidebarRightExpand, IconNote, IconArchive, IconTimeline, IconPalette, IconBrandDropbox, IconBrandGoogleDrive, IconPlug, IconMailForward, IconArrowDown, IconUserX, IconUserCheck, IconFileOff, IconCheckbox, IconPhone, IconActivityHeartbeat, IconClockPause, IconArrowsMaximize, IconShare2, IconFolder, IconScript, IconPlugConnected } from '@tabler/icons-react';
36
40
  import * as runtime from 'react/jsx-runtime';
37
41
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
38
42
  import { useForm } from '@mantine/form';
39
- import { z } from 'zod';
40
43
  import { useDisclosure, useClipboard, randomId } from '@mantine/hooks';
41
44
  import { notifications } from '@mantine/notifications';
42
45
  import { useQueryClient, useMutation, useQuery, useQueries } from '@tanstack/react-query';
@@ -59,111 +62,6 @@ import '@mantine/charts/styles.css';
59
62
  import cytoscape from 'cytoscape';
60
63
  import { useAuth } from '@workos-inc/authkit-react';
61
64
 
62
- function RoleBadge({ name, isSystem }) {
63
- return /* @__PURE__ */ jsx(Badge, { color: isSystem ? "gray" : "primary", variant: "light", children: /* @__PURE__ */ jsxs(Group, { gap: 4, wrap: "nowrap", children: [
64
- isSystem && /* @__PURE__ */ jsx(IconLock, { size: 10 }),
65
- name
66
- ] }) });
67
- }
68
- function groupByDomain(catalog) {
69
- const groups = /* @__PURE__ */ new Map();
70
- for (const row of catalog) {
71
- const domain = row.key.split(".")[0] ?? row.key;
72
- const existing = groups.get(domain);
73
- if (existing) {
74
- existing.push(row);
75
- } else {
76
- groups.set(domain, [row]);
77
- }
78
- }
79
- return groups;
80
- }
81
- var DOMAIN_LABELS = {
82
- org: "Organization",
83
- members: "Members",
84
- roles: "Roles",
85
- secrets: "Secrets",
86
- operations: "Operations",
87
- work: "Work"
88
- };
89
- function domainLabel(domain) {
90
- return DOMAIN_LABELS[domain] ?? domain.charAt(0).toUpperCase() + domain.slice(1);
91
- }
92
- function PermissionMatrix({ catalog, selectedKeys, onChange, systemLocked }) {
93
- const groups = groupByDomain(catalog);
94
- const isDisplayOnly = !onChange || systemLocked;
95
- function handleToggle(key, checked) {
96
- if (!onChange || systemLocked) return;
97
- if (checked) {
98
- onChange([...selectedKeys, key]);
99
- } else {
100
- onChange(selectedKeys.filter((k) => k !== key));
101
- }
102
- }
103
- return /* @__PURE__ */ jsx(Stack, { gap: "md", children: Array.from(groups.entries()).map(([domain, rows]) => /* @__PURE__ */ jsxs(Card, { withBorder: true, padding: "md", children: [
104
- /* @__PURE__ */ jsx(Title, { order: 5, mb: "sm", style: { textTransform: "capitalize" }, children: domainLabel(domain) }),
105
- /* @__PURE__ */ jsx(Stack, { gap: "xs", children: rows.map((row) => {
106
- const isLocked = !row.isOrgGrantable;
107
- const isChecked = selectedKeys.includes(row.key);
108
- const isDisabled = isDisplayOnly || isLocked;
109
- const checkbox = /* @__PURE__ */ jsx(
110
- Checkbox,
111
- {
112
- checked: isChecked,
113
- disabled: isDisabled,
114
- onChange: (e) => handleToggle(row.key, e.currentTarget.checked),
115
- label: /* @__PURE__ */ jsxs(Group, { gap: 6, wrap: "nowrap", children: [
116
- /* @__PURE__ */ jsx(Text, { size: "sm", ff: "monospace", c: isLocked ? "var(--color-text-subtle)" : void 0, children: row.key }),
117
- isLocked && /* @__PURE__ */ jsx(IconLock, { size: 14, style: { color: "var(--color-text-subtle)", flexShrink: 0 } }),
118
- /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: row.description })
119
- ] })
120
- },
121
- row.key
122
- );
123
- if (isLocked) {
124
- return /* @__PURE__ */ jsx(Tooltip, { label: "Reserved for built-in roles", position: "right", children: /* @__PURE__ */ jsx("div", { children: checkbox }) }, row.key);
125
- }
126
- return checkbox;
127
- }) })
128
- ] }, domain)) });
129
- }
130
- function NoAccessState() {
131
- return /* @__PURE__ */ jsx(Center, { style: { flex: 1, minHeight: "100%", width: "100%", padding: 24 }, children: /* @__PURE__ */ jsxs(Stack, { align: "center", gap: "xs", style: { maxWidth: 480, textAlign: "center" }, children: [
132
- /* @__PURE__ */ jsx(IconLock, { size: 44, stroke: 1.8, color: "var(--color-text-subtle)" }),
133
- /* @__PURE__ */ jsx(Title, { order: 3, children: "Access restricted" }),
134
- /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "You don't have permission to view this page. Contact an org admin if you need access." })
135
- ] }) });
136
- }
137
- var [useModalsEvents, createEvent] = createUseExternalEvents("mantine-modals");
138
- var openModal = (payload) => {
139
- const id = payload.modalId || randomId();
140
- createEvent("openModal")({ ...payload, modalId: id });
141
- return id;
142
- };
143
- var openConfirmModal = (payload) => {
144
- const id = payload.modalId || randomId();
145
- createEvent("openConfirmModal")({ ...payload, modalId: id });
146
- return id;
147
- };
148
- var openContextModal = (payload) => {
149
- const id = payload.modalId || randomId();
150
- createEvent("openContextModal")({ ...payload, modalId: id });
151
- return id;
152
- };
153
- var closeModal = createEvent("closeModal");
154
- var closeAllModals = createEvent("closeAllModals");
155
- var updateModal = (payload) => createEvent("updateModal")(payload);
156
- var updateContextModal = (payload) => createEvent("updateContextModal")(payload);
157
- var modals = {
158
- open: openModal,
159
- close: closeModal,
160
- closeAll: closeAllModals,
161
- openConfirmModal,
162
- openContextModal,
163
- updateModal,
164
- updateContextModal
165
- };
166
-
167
65
  // ../core/src/auth/multi-tenancy/memberships/membership.ts
168
66
  function transformMembershipToTableRow(membership) {
169
67
  return {
@@ -792,8 +690,110 @@ var CredentialSchemas = {
792
690
  VerifyParams: VerifyCredentialParamsSchema,
793
691
  VerifyResponse: VerifyCredentialResponseSchema
794
692
  };
795
-
796
- // src/components/notify.tsx
693
+ function RoleBadge({ name, isSystem }) {
694
+ return /* @__PURE__ */ jsx(Badge, { color: isSystem ? "gray" : "primary", variant: "light", children: /* @__PURE__ */ jsxs(Group, { gap: 4, wrap: "nowrap", children: [
695
+ isSystem && /* @__PURE__ */ jsx(IconLock, { size: 10 }),
696
+ name
697
+ ] }) });
698
+ }
699
+ function groupByDomain(catalog) {
700
+ const groups = /* @__PURE__ */ new Map();
701
+ for (const row of catalog) {
702
+ const domain = row.key.split(".")[0] ?? row.key;
703
+ const existing = groups.get(domain);
704
+ if (existing) {
705
+ existing.push(row);
706
+ } else {
707
+ groups.set(domain, [row]);
708
+ }
709
+ }
710
+ return groups;
711
+ }
712
+ var DOMAIN_LABELS = {
713
+ org: "Organization",
714
+ members: "Members",
715
+ roles: "Roles",
716
+ secrets: "Secrets",
717
+ operations: "Operations",
718
+ work: "Work"
719
+ };
720
+ function domainLabel(domain) {
721
+ return DOMAIN_LABELS[domain] ?? domain.charAt(0).toUpperCase() + domain.slice(1);
722
+ }
723
+ function PermissionMatrix({ catalog, selectedKeys, onChange, systemLocked }) {
724
+ const groups = groupByDomain(catalog);
725
+ const isDisplayOnly = !onChange || systemLocked;
726
+ function handleToggle(key, checked) {
727
+ if (!onChange || systemLocked) return;
728
+ if (checked) {
729
+ onChange([...selectedKeys, key]);
730
+ } else {
731
+ onChange(selectedKeys.filter((k) => k !== key));
732
+ }
733
+ }
734
+ return /* @__PURE__ */ jsx(Stack, { gap: "md", children: Array.from(groups.entries()).map(([domain, rows]) => /* @__PURE__ */ jsxs(Card, { withBorder: true, padding: "md", children: [
735
+ /* @__PURE__ */ jsx(Title, { order: 5, mb: "sm", style: { textTransform: "capitalize" }, children: domainLabel(domain) }),
736
+ /* @__PURE__ */ jsx(Stack, { gap: "xs", children: rows.map((row) => {
737
+ const isLocked = !row.isOrgGrantable;
738
+ const isChecked = selectedKeys.includes(row.key);
739
+ const isDisabled = isDisplayOnly || isLocked;
740
+ const checkbox = /* @__PURE__ */ jsx(
741
+ Checkbox,
742
+ {
743
+ checked: isChecked,
744
+ disabled: isDisabled,
745
+ onChange: (e) => handleToggle(row.key, e.currentTarget.checked),
746
+ label: /* @__PURE__ */ jsxs(Group, { gap: 6, wrap: "nowrap", children: [
747
+ /* @__PURE__ */ jsx(Text, { size: "sm", ff: "monospace", c: isLocked ? "var(--color-text-subtle)" : void 0, children: row.key }),
748
+ isLocked && /* @__PURE__ */ jsx(IconLock, { size: 14, style: { color: "var(--color-text-subtle)", flexShrink: 0 } }),
749
+ /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: row.description })
750
+ ] })
751
+ },
752
+ row.key
753
+ );
754
+ if (isLocked) {
755
+ return /* @__PURE__ */ jsx(Tooltip, { label: "Reserved for built-in roles", position: "right", children: /* @__PURE__ */ jsx("div", { children: checkbox }) }, row.key);
756
+ }
757
+ return checkbox;
758
+ }) })
759
+ ] }, domain)) });
760
+ }
761
+ function NoAccessState() {
762
+ return /* @__PURE__ */ jsx(Center, { style: { flex: 1, minHeight: "100%", width: "100%", padding: 24 }, children: /* @__PURE__ */ jsxs(Stack, { align: "center", gap: "xs", style: { maxWidth: 480, textAlign: "center" }, children: [
763
+ /* @__PURE__ */ jsx(IconLock, { size: 44, stroke: 1.8, color: "var(--color-text-subtle)" }),
764
+ /* @__PURE__ */ jsx(Title, { order: 3, children: "Access restricted" }),
765
+ /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "You don't have permission to view this page. Contact an org admin if you need access." })
766
+ ] }) });
767
+ }
768
+ var [useModalsEvents, createEvent] = createUseExternalEvents("mantine-modals");
769
+ var openModal = (payload) => {
770
+ const id = payload.modalId || randomId();
771
+ createEvent("openModal")({ ...payload, modalId: id });
772
+ return id;
773
+ };
774
+ var openConfirmModal = (payload) => {
775
+ const id = payload.modalId || randomId();
776
+ createEvent("openConfirmModal")({ ...payload, modalId: id });
777
+ return id;
778
+ };
779
+ var openContextModal = (payload) => {
780
+ const id = payload.modalId || randomId();
781
+ createEvent("openContextModal")({ ...payload, modalId: id });
782
+ return id;
783
+ };
784
+ var closeModal = createEvent("closeModal");
785
+ var closeAllModals = createEvent("closeAllModals");
786
+ var updateModal = (payload) => createEvent("updateModal")(payload);
787
+ var updateContextModal = (payload) => createEvent("updateContextModal")(payload);
788
+ var modals = {
789
+ open: openModal,
790
+ close: closeModal,
791
+ closeAll: closeAllModals,
792
+ openConfirmModal,
793
+ openContextModal,
794
+ updateModal,
795
+ updateContextModal
796
+ };
797
797
  var showInfoNotification = (message) => {
798
798
  notifications.show({
799
799
  title: "Info",
@@ -2621,7 +2621,12 @@ var executionsKeys = {
2621
2621
  resources: (orgId) => [...executionsKeys.all, "resources", orgId],
2622
2622
  resourceDefinition: (orgId, resourceId) => [...executionsKeys.all, "definition", orgId, resourceId],
2623
2623
  executionsListBase: (orgId, resourceId) => [...executionsKeys.all, "list", orgId, resourceId],
2624
- executions: (orgId, resourceId, resourceStatus, limit, offset) => [...executionsKeys.executionsListBase(orgId, resourceId), resourceStatus ?? "all", limit ?? null, offset ?? 0],
2624
+ executions: (orgId, resourceId, resourceStatus, limit, offset) => [
2625
+ ...executionsKeys.executionsListBase(orgId, resourceId),
2626
+ resourceStatus ?? "all",
2627
+ limit ?? null,
2628
+ offset ?? 0
2629
+ ],
2625
2630
  execution: (orgId, resourceId, executionId) => [...executionsKeys.all, "execution", orgId, resourceId, executionId]
2626
2631
  };
2627
2632
  function useExecutions(resourceId, resourceStatus, limit, offset) {
@@ -3015,7 +3020,8 @@ function useExecutionSSE(resourceId, options = {}) {
3015
3020
  const disabledManager = useMemo(() => createDisabledManager(), []);
3016
3021
  const apiUrl = apiUrlOverride ?? systems?.operationsApiUrl;
3017
3022
  const manager = managerOverride ?? systems?.operationsSSEManager ?? disabledManager;
3018
- const workOSOrganizationId = currentMembership?.organization?.workos_org_id ?? serviceWorkOSOrganizationId;
3023
+ const membershipWorkOsOrgId = currentMembership?.organization?.workos_org_id;
3024
+ const workOSOrganizationId = membershipWorkOsOrgId ? brandWorkOsOrgId(membershipWorkOsOrgId) : serviceWorkOSOrganizationId;
3019
3025
  const connectionKey = `execution-sse-${workOSOrganizationId ?? "unknown"}-${resourceId}`;
3020
3026
  const headers = useMemo(() => {
3021
3027
  if (!workOSOrganizationId) return {};
@@ -4328,10 +4334,9 @@ var sessionsKeys = {
4328
4334
  };
4329
4335
  function useSessions(params, options) {
4330
4336
  const { apiRequest, isReady } = useElevasisServices();
4331
- const { currentMembership } = useOrganization();
4332
- const organizationName = currentMembership?.organization?.name;
4337
+ const { currentSupabaseOrganizationId } = useOrganization();
4333
4338
  return useQuery({
4334
- queryKey: sessionsKeys.sessions(organizationName || "", params),
4339
+ queryKey: sessionsKeys.sessions(currentSupabaseOrganizationId, params),
4335
4340
  queryFn: async () => {
4336
4341
  const service = new OperationsService(apiRequest);
4337
4342
  return service.listSessions(params);
@@ -4341,10 +4346,9 @@ function useSessions(params, options) {
4341
4346
  }
4342
4347
  function useSession(sessionId) {
4343
4348
  const { apiRequest, isReady } = useElevasisServices();
4344
- const { currentMembership } = useOrganization();
4345
- const organizationName = currentMembership?.organization?.name;
4349
+ const { currentSupabaseOrganizationId } = useOrganization();
4346
4350
  return useQuery({
4347
- queryKey: sessionsKeys.session(organizationName || "", sessionId),
4351
+ queryKey: sessionsKeys.session(currentSupabaseOrganizationId, sessionId),
4348
4352
  queryFn: () => {
4349
4353
  const service = new OperationsService(apiRequest);
4350
4354
  return service.getSession(sessionId);
@@ -4354,8 +4358,7 @@ function useSession(sessionId) {
4354
4358
  }
4355
4359
  function useCreateSession() {
4356
4360
  const { apiRequest } = useElevasisServices();
4357
- const { currentMembership } = useOrganization();
4358
- const organizationName = currentMembership?.organization?.name;
4361
+ const { currentSupabaseOrganizationId } = useOrganization();
4359
4362
  const queryClient = useQueryClient();
4360
4363
  return useMutation({
4361
4364
  mutationFn: async (resourceId) => {
@@ -4363,14 +4366,13 @@ function useCreateSession() {
4363
4366
  return service.createSession(resourceId);
4364
4367
  },
4365
4368
  onSuccess: () => {
4366
- queryClient.invalidateQueries({ queryKey: sessionsKeys.sessions(organizationName || "") });
4369
+ queryClient.invalidateQueries({ queryKey: sessionsKeys.sessions(currentSupabaseOrganizationId) });
4367
4370
  }
4368
4371
  });
4369
4372
  }
4370
4373
  function useDeleteSession() {
4371
4374
  const { apiRequest } = useElevasisServices();
4372
- const { currentMembership } = useOrganization();
4373
- const organizationName = currentMembership?.organization?.name;
4375
+ const { currentSupabaseOrganizationId } = useOrganization();
4374
4376
  const queryClient = useQueryClient();
4375
4377
  return useMutation({
4376
4378
  mutationFn: async (sessionId) => {
@@ -4381,18 +4383,17 @@ function useDeleteSession() {
4381
4383
  },
4382
4384
  onSuccess: (_, sessionId) => {
4383
4385
  queryClient.removeQueries({
4384
- queryKey: sessionsKeys.session(organizationName || "", sessionId)
4386
+ queryKey: sessionsKeys.session(currentSupabaseOrganizationId, sessionId)
4385
4387
  });
4386
4388
  queryClient.invalidateQueries({
4387
- queryKey: sessionsKeys.sessions(organizationName || "")
4389
+ queryKey: sessionsKeys.sessions(currentSupabaseOrganizationId)
4388
4390
  });
4389
4391
  }
4390
4392
  });
4391
4393
  }
4392
4394
  function useArchiveSession() {
4393
4395
  const { apiRequest } = useElevasisServices();
4394
- const { currentMembership } = useOrganization();
4395
- const organizationName = currentMembership?.organization?.name;
4396
+ const { currentSupabaseOrganizationId } = useOrganization();
4396
4397
  const queryClient = useQueryClient();
4397
4398
  return useMutation({
4398
4399
  mutationFn: (sessionId) => {
@@ -4400,7 +4401,7 @@ function useArchiveSession() {
4400
4401
  return service.archiveSession(sessionId);
4401
4402
  },
4402
4403
  onSuccess: () => {
4403
- queryClient.invalidateQueries({ queryKey: sessionsKeys.sessions(organizationName || "") });
4404
+ queryClient.invalidateQueries({ queryKey: sessionsKeys.sessions(currentSupabaseOrganizationId) });
4404
4405
  }
4405
4406
  });
4406
4407
  }
@@ -4408,7 +4409,7 @@ function useSessionExecutions(sessionId) {
4408
4409
  const { apiRequest, isReady } = useElevasisServices();
4409
4410
  const { currentSupabaseOrganizationId } = useOrganization();
4410
4411
  return useQuery({
4411
- queryKey: sessionsKeys.executions(currentSupabaseOrganizationId || "", sessionId),
4412
+ queryKey: sessionsKeys.executions(currentSupabaseOrganizationId, sessionId),
4412
4413
  queryFn: async () => {
4413
4414
  SessionIdParamSchema.parse({ sessionId });
4414
4415
  return apiRequest(`/sessions/${sessionId}/executions`, {
@@ -4423,7 +4424,7 @@ function useSessionExecution(sessionId, executionId) {
4423
4424
  const { apiRequest, isReady } = useElevasisServices();
4424
4425
  const { currentSupabaseOrganizationId } = useOrganization();
4425
4426
  return useQuery({
4426
- queryKey: sessionsKeys.execution(currentSupabaseOrganizationId || "", sessionId, executionId),
4427
+ queryKey: sessionsKeys.execution(currentSupabaseOrganizationId, sessionId, executionId),
4427
4428
  queryFn: async () => {
4428
4429
  ExecutionIdParamsSchema.parse({ sessionId, executionId });
4429
4430
  return apiRequest(`/sessions/${sessionId}/executions/${executionId}`, {
@@ -4442,7 +4443,7 @@ function useSessionMessages(sessionId) {
4442
4443
  const { apiRequest, isReady } = useElevasisServices();
4443
4444
  const { currentSupabaseOrganizationId } = useOrganization();
4444
4445
  return useQuery({
4445
- queryKey: sessionsKeys.messages(currentSupabaseOrganizationId || "", sessionId),
4446
+ queryKey: sessionsKeys.messages(currentSupabaseOrganizationId, sessionId),
4446
4447
  queryFn: async () => {
4447
4448
  SessionIdParamSchema.parse({ sessionId });
4448
4449
  const response = await apiRequest(`/sessions/${sessionId}/messages`, {
@@ -14385,7 +14386,7 @@ var ENTITY_ENTRY_INPUTS = [
14385
14386
  id: "delivery.project",
14386
14387
  order: 60,
14387
14388
  label: "Project",
14388
- description: "A client delivery project.",
14389
+ description: "A project.",
14389
14390
  ownedBySystemId: "projects",
14390
14391
  table: "projects",
14391
14392
  links: [
@@ -14397,7 +14398,7 @@ var ENTITY_ENTRY_INPUTS = [
14397
14398
  id: "delivery.milestone",
14398
14399
  order: 70,
14399
14400
  label: "Milestone",
14400
- description: "A delivery checkpoint within a project.",
14401
+ description: "A checkpoint within a project.",
14401
14402
  ownedBySystemId: "projects",
14402
14403
  table: "project_milestones",
14403
14404
  links: [
@@ -14409,7 +14410,7 @@ var ENTITY_ENTRY_INPUTS = [
14409
14410
  id: "delivery.task",
14410
14411
  order: 80,
14411
14412
  label: "Task",
14412
- description: "A delivery task that can move through the task status catalog.",
14413
+ description: "A task that can move through the task status catalog.",
14413
14414
  ownedBySystemId: "projects",
14414
14415
  table: "project_tasks",
14415
14416
  stateCatalogId: "delivery.task",
@@ -15907,10 +15908,12 @@ var leadGenCampaign = "sales.lead-gen:object/campaign";
15907
15908
  var leadGenCompanyStage = "sales.lead-gen:catalog/company-stage";
15908
15909
  var leadGenContactStage = "sales.lead-gen:catalog/contact-stage";
15909
15910
  var leadGenBuildTemplate = "sales.lead-gen:catalog/build-template";
15911
+ var leadGenLocalServicesTemplateStep = "sales.lead-gen:catalog/template-step.local-services";
15912
+ var leadGenDtcSubscriptionTemplateStep = "sales.lead-gen:catalog/template-step.dtc-subscription";
15910
15913
  var leadGenCampaignStatus = "sales.lead-gen:catalog/campaign-status";
15911
15914
  var crmDeal = "sales.crm:object/deal";
15912
15915
  var crmContact = "sales.crm:object/contact";
15913
- var crmPipeline = "sales.crm:catalog/pipeline";
15916
+ var crmPipeline = "sales.crm:catalog/crm.pipeline";
15914
15917
  var clientSupportIssue = "clients:object/support-issue";
15915
15918
  var clientSupportIssueSeverity = "clients:catalog/support-issue-severity";
15916
15919
  var workflowOntologyBindingsByBuildActionKey = {
@@ -15918,13 +15921,13 @@ var workflowOntologyBindingsByBuildActionKey = {
15918
15921
  actions: ["sales.lead-gen:action/company.source"],
15919
15922
  primaryAction: "sales.lead-gen:action/company.source",
15920
15923
  writes: [leadGenCompany],
15921
- usesCatalogs: [leadGenBuildTemplate]
15924
+ usesCatalogs: [leadGenBuildTemplate, leadGenLocalServicesTemplateStep]
15922
15925
  },
15923
15926
  "lead-gen.company.apollo-import": {
15924
15927
  actions: ["sales.lead-gen:action/company.source"],
15925
15928
  primaryAction: "sales.lead-gen:action/company.source",
15926
15929
  writes: [leadGenCompany, leadGenContact],
15927
- usesCatalogs: [leadGenBuildTemplate]
15930
+ usesCatalogs: [leadGenBuildTemplate, leadGenDtcSubscriptionTemplateStep]
15928
15931
  },
15929
15932
  "lead-gen.company.apify-crawl": {
15930
15933
  actions: ["sales.lead-gen:action/company.website-extract"],
@@ -15951,7 +15954,7 @@ var workflowOntologyBindingsByBuildActionKey = {
15951
15954
  primaryAction: "sales.lead-gen:action/company.qualify",
15952
15955
  reads: [leadGenCompany],
15953
15956
  writes: [leadGenCompany],
15954
- usesCatalogs: [leadGenCompanyStage],
15957
+ usesCatalogs: [leadGenCompanyStage, leadGenDtcSubscriptionTemplateStep],
15955
15958
  emits: ["sales.lead-gen:event/company.qualified"]
15956
15959
  },
15957
15960
  "lead-gen.contact.discover": {
@@ -15994,9 +15997,16 @@ var workflowOntologyBindingsByBuildActionKey = {
15994
15997
  "lead-gen.export.list": {
15995
15998
  actions: ["sales.lead-gen:action/export.list"],
15996
15999
  primaryAction: "sales.lead-gen:action/export.list",
15997
- reads: [leadGenContact, leadGenList],
16000
+ reads: [leadGenCompany, leadGenContact, leadGenList],
15998
16001
  writes: [leadGenList],
15999
- usesCatalogs: [leadGenBuildTemplate],
16002
+ usesCatalogs: [
16003
+ leadGenBuildTemplate,
16004
+ leadGenLocalServicesTemplateStep,
16005
+ leadGenDtcSubscriptionTemplateStep,
16006
+ leadGenCompanyStage,
16007
+ leadGenContactStage,
16008
+ crmPipeline
16009
+ ],
16000
16010
  emits: ["sales.lead-gen:event/list.exported"]
16001
16011
  },
16002
16012
  "campaign.create": {
@@ -17368,6 +17378,13 @@ var platformSystems = {
17368
17378
  surfaces: [],
17369
17379
  icon: "settings"
17370
17380
  },
17381
+ config: {
17382
+ onboarding: {
17383
+ welcomeFlow: {
17384
+ enabled: false
17385
+ }
17386
+ }
17387
+ },
17371
17388
  ontology: {}
17372
17389
  },
17373
17390
  clients: {
@@ -17464,6 +17481,18 @@ var platformSystems = {
17464
17481
  governedByKnowledge: [],
17465
17482
  drivesGoals: [],
17466
17483
  lifecycle: "active",
17484
+ apiInterface: {
17485
+ lifecycle: "active",
17486
+ readinessProfile: "sales.lead-gen.api",
17487
+ resourceIds: [
17488
+ "lgn-import-workflow",
17489
+ "lgn-02-website-extract-workflow",
17490
+ "lgn-03-company-qualification-workflow",
17491
+ "lgn-04-email-discovery-workflow",
17492
+ "lgn-05-email-verification-workflow",
17493
+ "lgn-06-export-list-workflow"
17494
+ ]
17495
+ },
17467
17496
  actions: Object.values(LEAD_GEN_ACTION_ENTRIES).map((action) => ({
17468
17497
  actionId: action.id,
17469
17498
  intent: "exposes"
@@ -17678,11 +17707,7 @@ var platformSystems = {
17678
17707
  label: "Sync campaign list",
17679
17708
  description: "Create or update the lead list associated with an Instantly campaign.",
17680
17709
  ownerSystemId: "sales.lead-gen",
17681
- actsOn: [
17682
- "sales.lead-gen:object/campaign",
17683
- "sales.lead-gen:object/list",
17684
- "sales.lead-gen:object/contact"
17685
- ],
17710
+ actsOn: ["sales.lead-gen:object/campaign", "sales.lead-gen:object/list", "sales.lead-gen:object/contact"],
17686
17711
  effects: [{ kind: "write", objectType: "sales.lead-gen:object/list" }]
17687
17712
  }
17688
17713
  },
@@ -18048,6 +18073,17 @@ var platformSystems = {
18048
18073
  governedByKnowledge: [],
18049
18074
  drivesGoals: [],
18050
18075
  lifecycle: "active",
18076
+ apiInterface: {
18077
+ lifecycle: "active",
18078
+ readinessProfile: "sales.crm.api",
18079
+ resourceIds: [
18080
+ "crm-send-reply-workflow",
18081
+ "crm-send-booking-link-workflow",
18082
+ "crm-send-nudge-workflow",
18083
+ "crm-rebook-workflow",
18084
+ "move_to_proposal-workflow"
18085
+ ]
18086
+ },
18051
18087
  actions: Object.values(CRM_ACTION_ENTRIES).map((action) => ({
18052
18088
  actionId: action.id,
18053
18089
  intent: "exposes"
@@ -18240,7 +18276,7 @@ var platformSystems = {
18240
18276
  id: "projects",
18241
18277
  order: 90,
18242
18278
  label: "Projects",
18243
- description: "Projects, milestones, and client work execution.",
18279
+ description: "Projects, milestones, and work execution.",
18244
18280
  kind: "operational",
18245
18281
  governedByKnowledge: [],
18246
18282
  drivesGoals: [],
@@ -18260,7 +18296,7 @@ var platformSystems = {
18260
18296
  "projects:object/project": {
18261
18297
  id: "projects:object/project",
18262
18298
  label: "Project",
18263
- description: "A client or internal delivery initiative tracked from active work through completion.",
18299
+ description: "A project tracked from active work through completion.",
18264
18300
  ownerSystemId: "projects",
18265
18301
  properties: {
18266
18302
  id: { valueType: "global:value-type/uuid", identity: true },
@@ -18270,7 +18306,7 @@ var platformSystems = {
18270
18306
  "projects:object/milestone": {
18271
18307
  id: "projects:object/milestone",
18272
18308
  label: "Milestone",
18273
- description: "A major project checkpoint used to coordinate delivery progress.",
18309
+ description: "A major project checkpoint used to coordinate progress.",
18274
18310
  ownerSystemId: "projects",
18275
18311
  properties: {
18276
18312
  id: { valueType: "global:value-type/uuid", identity: true },
@@ -18494,6 +18530,27 @@ var platformTopology = defineTopology(
18494
18530
  triggersWorkflow("lgn-apollo-decision-maker-triggers-email-verification", resource("lgn-04b-apollo-decision-maker-enrich-workflow"), "lgn-05-email-verification-workflow"),
18495
18531
  triggersWorkflow("lgn-company-qualification-triggers-email-discovery", resource("lgn-03-company-qualification-workflow"), "lgn-04-email-discovery-workflow"),
18496
18532
  triggersWorkflow("lgn-email-discovery-triggers-email-verification", resource("lgn-04-email-discovery-workflow"), "lgn-05-email-verification-workflow"),
18533
+ [
18534
+ "lgn-export-list-grants-crm-handoff",
18535
+ topologyRelationship.uses(resource("lgn-06-export-list-workflow"), resource("move_to_proposal-workflow"), {
18536
+ required: true,
18537
+ systemPath: "sales.lead-gen",
18538
+ metadata: {
18539
+ systemInterfaceGrant: {
18540
+ consumer: {
18541
+ systemPath: "sales.lead-gen",
18542
+ interfaceKey: "crm-handoff"
18543
+ },
18544
+ provider: {
18545
+ systemPath: "sales.crm",
18546
+ interfaceKey: "api"
18547
+ },
18548
+ resourceIds: ["lgn-06-export-list-workflow"],
18549
+ ontologyIds: ["sales.crm:catalog/crm.pipeline"]
18550
+ }
18551
+ }
18552
+ })
18553
+ ],
18497
18554
  triggersWorkflow("ist-campaign-create-triggers-personalization", resource("ist-campaign-create-workflow"), "ist-personalization-workflow"),
18498
18555
  triggersWorkflow("ist-personalization-triggers-upload-contacts", resource("ist-personalization-workflow"), "ist-upload-contacts-workflow"),
18499
18556
  triggersWorkflow("ist-upload-contacts-triggers-analytics", resource("ist-upload-contacts-workflow"), "ist-analytics-workflow"),
@@ -18557,7 +18614,7 @@ var canonicalOrganizationModel = resolveOrganizationModel(
18557
18614
  entities: { version: 1, lastModified: "2026-05-11" },
18558
18615
  policies: { version: 1, lastModified: "2026-05-11" },
18559
18616
  knowledge: { version: 1, lastModified: "2026-05-11" },
18560
- topology: { version: 1, lastModified: "2026-05-14" }
18617
+ topology: { version: 1, lastModified: "2026-05-24" }
18561
18618
  },
18562
18619
  branding: platformBranding,
18563
18620
  navigation: platformNavigation,
@@ -21190,11 +21247,48 @@ function getDefaultBuildSteps(templates, defaultBuildTemplateId) {
21190
21247
  const template = templates.find((item) => item.id === defaultBuildTemplateId) ?? templates[0];
21191
21248
  return template?.steps.map((step) => toBuildStepDefinition(step)) ?? [];
21192
21249
  }
21250
+ function summarizeReadinessIssues(issues) {
21251
+ return issues[0]?.message;
21252
+ }
21253
+ function getLeadGenApiInterfaceReadiness(model) {
21254
+ if (!model) {
21255
+ return {
21256
+ systemPath: LEAD_GEN_API_INTERFACE.systemPath,
21257
+ interfaceKey: LEAD_GEN_API_INTERFACE.interfaceKey,
21258
+ readinessProfile: LEAD_GEN_API_INTERFACE.readinessProfile,
21259
+ declared: false,
21260
+ ready: false,
21261
+ reason: "No Organization Model is available for lead-gen System Interface readiness.",
21262
+ issues: [
21263
+ {
21264
+ family: "SYSTEM_INTERFACE_MISSING",
21265
+ code: "missing-organization-model",
21266
+ message: "No Organization Model is available for lead-gen System Interface readiness."
21267
+ }
21268
+ ]
21269
+ };
21270
+ }
21271
+ const readiness = computeInterfaceReadiness(model, LEAD_GEN_API_INTERFACE);
21272
+ return {
21273
+ systemPath: LEAD_GEN_API_INTERFACE.systemPath,
21274
+ interfaceKey: LEAD_GEN_API_INTERFACE.interfaceKey,
21275
+ readinessProfile: readiness.readinessProfile,
21276
+ declared: getSystem(model, LEAD_GEN_API_INTERFACE.systemPath)?.apiInterface !== void 0,
21277
+ ready: readiness.ready,
21278
+ reason: summarizeReadinessIssues(readiness.issues),
21279
+ issues: readiness.issues
21280
+ };
21281
+ }
21193
21282
  function useLeadGenConfig() {
21194
21283
  const systems = useOptionalElevasisSystems();
21195
21284
  const organizationModel2 = systems?.organizationModel;
21196
21285
  return useMemo(() => {
21197
- if (!organizationModel2) return {};
21286
+ const leadGenApiInterface = getLeadGenApiInterfaceReadiness(organizationModel2);
21287
+ const interfaceState = {
21288
+ leadGenApiInterface,
21289
+ canUseLeadGenApiActions: leadGenApiInterface.ready
21290
+ };
21291
+ if (!organizationModel2) return interfaceState;
21198
21292
  const buildTemplates = getAllBuildTemplates(organizationModel2);
21199
21293
  const defaultBuildTemplateId = getDefaultBuildTemplateId(organizationModel2, buildTemplates);
21200
21294
  return {
@@ -21202,7 +21296,8 @@ function useLeadGenConfig() {
21202
21296
  exportWorkflowId: getLeadGenExportWorkflowId(organizationModel2),
21203
21297
  defaultBuildTemplateId,
21204
21298
  defaultBuildSteps: getDefaultBuildSteps(buildTemplates, defaultBuildTemplateId),
21205
- buildTemplates
21299
+ buildTemplates,
21300
+ ...interfaceState
21206
21301
  };
21207
21302
  }, [organizationModel2]);
21208
21303
  }
@@ -21534,6 +21629,9 @@ function LeadGenListsPage() {
21534
21629
  const selection = useTableSelection(paginatedLists, sortedLists);
21535
21630
  const selectedBuildTemplateId = newBuildTemplateId || defaultBuildTemplateId;
21536
21631
  const selectedBuildTemplate = leadGenConfig.buildTemplates?.find((template) => template.id === selectedBuildTemplateId);
21632
+ const canUseApiActions = leadGenConfig.canUseLeadGenApiActions;
21633
+ const apiDisabledReason = leadGenConfig.leadGenApiInterface.reason;
21634
+ const canCreateOrDeleteLists = canManageLeadGen.allowed && canUseApiActions;
21537
21635
  function resetCreateListModal() {
21538
21636
  setNewListName("");
21539
21637
  setNewListDescription("");
@@ -21542,7 +21640,7 @@ function LeadGenListsPage() {
21542
21640
  setShowCreateList(false);
21543
21641
  }
21544
21642
  function handleCreateList() {
21545
- if (!canManageLeadGen.allowed) return;
21643
+ if (!canCreateOrDeleteLists) return;
21546
21644
  const trimmedName = newListName.trim();
21547
21645
  if (!trimmedName) return;
21548
21646
  const body = {
@@ -21573,11 +21671,14 @@ function LeadGenListsPage() {
21573
21671
  onClick: () => setShowCreateList(true),
21574
21672
  variant: "light",
21575
21673
  size: "xs",
21674
+ disabled: !canUseApiActions,
21675
+ title: !canUseApiActions ? apiDisabledReason : void 0,
21576
21676
  children: "New List"
21577
21677
  }
21578
21678
  ) : null
21579
21679
  }
21580
21680
  ) }),
21681
+ !canUseApiActions ? /* @__PURE__ */ jsx(Alert, { icon: /* @__PURE__ */ jsx(IconAlertTriangle, { size: 16 }), color: "yellow", variant: "light", children: /* @__PURE__ */ jsx(Text, { size: "sm", children: "Lead-gen API actions are disabled until System Interface readiness passes. Existing list data can still be reviewed when available." }) }) : null,
21581
21682
  /* @__PURE__ */ jsx(Paper, { children: /* @__PURE__ */ jsxs(Stack, { children: [
21582
21683
  /* @__PURE__ */ jsxs(
21583
21684
  FilterBar,
@@ -21586,7 +21687,7 @@ function LeadGenListsPage() {
21586
21687
  TableSelectionToolbar,
21587
21688
  {
21588
21689
  selectedCount: selection.selectedCount,
21589
- onDelete: canManageLeadGen.allowed ? () => setShowBatchDelete(true) : void 0,
21690
+ onDelete: canCreateOrDeleteLists ? () => setShowBatchDelete(true) : void 0,
21590
21691
  isDeleting: deleteListsMutation.isPending
21591
21692
  }
21592
21693
  ),
@@ -21620,8 +21721,8 @@ function LeadGenListsPage() {
21620
21721
  {
21621
21722
  icon: IconList,
21622
21723
  title: searchQuery.trim() || statusFilter ? "No lists match your filters" : "No lists yet",
21623
- description: searchQuery.trim() || statusFilter ? void 0 : "Create one to get started.",
21624
- action: searchQuery.trim() || statusFilter || !canManageLeadGen.allowed ? void 0 : {
21724
+ description: searchQuery.trim() || statusFilter ? void 0 : !canUseApiActions ? "Lead-gen System Interface readiness is missing, so list creation is disabled." : "Create one to get started.",
21725
+ action: searchQuery.trim() || statusFilter || !canCreateOrDeleteLists ? void 0 : {
21625
21726
  label: "Create List",
21626
21727
  onClick: () => setShowCreateList(true),
21627
21728
  icon: /* @__PURE__ */ jsx(IconPlus, { size: 16 })
@@ -21772,7 +21873,15 @@ function LeadGenListsPage() {
21772
21873
  /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "The list will open in draft mode after creation so you can review configuration and run build steps from the list workspace." }),
21773
21874
  /* @__PURE__ */ jsxs(Group, { justify: "flex-end", children: [
21774
21875
  /* @__PURE__ */ jsx(Button, { variant: "light", onClick: resetCreateListModal, disabled: createListMutation.isPending, children: "Cancel" }),
21775
- /* @__PURE__ */ jsx(Button, { onClick: handleCreateList, loading: createListMutation.isPending, disabled: !newListName.trim(), children: "Create List" })
21876
+ /* @__PURE__ */ jsx(
21877
+ Button,
21878
+ {
21879
+ onClick: handleCreateList,
21880
+ loading: createListMutation.isPending,
21881
+ disabled: !newListName.trim() || !canCreateOrDeleteLists,
21882
+ children: "Create List"
21883
+ }
21884
+ )
21776
21885
  ] })
21777
21886
  ] })
21778
21887
  }
@@ -21816,9 +21925,9 @@ function LeadGenListsPage() {
21816
21925
  {
21817
21926
  color: "red",
21818
21927
  loading: deleteListsMutation.isPending,
21819
- disabled: !canManageLeadGen.allowed,
21928
+ disabled: !canCreateOrDeleteLists,
21820
21929
  onClick: () => {
21821
- if (!canManageLeadGen.allowed) return;
21930
+ if (!canCreateOrDeleteLists) return;
21822
21931
  deleteListsMutation.mutate([...selection.selectedIds], {
21823
21932
  onSuccess: () => {
21824
21933
  setShowBatchDelete(false);
@@ -21888,7 +21997,8 @@ function ArtifactsPanel({ listMemberId }) {
21888
21997
  ] }) }, artifact.id)) });
21889
21998
  }
21890
21999
  function ListMemberDrawerContent({ member, listId }) {
21891
- const { stageCatalog = {} } = useLeadGenConfig();
22000
+ const leadGenConfig = useLeadGenConfig();
22001
+ const { stageCatalog = {} } = leadGenConfig;
21892
22002
  const transitionMember = useTransitionListMember();
21893
22003
  const statefulItem = useMemo(
21894
22004
  () => ({
@@ -21926,7 +22036,9 @@ function ListMemberDrawerContent({ member, listId }) {
21926
22036
  variant: "light",
21927
22037
  size: "xs",
21928
22038
  loading: transitionMember.isPending,
22039
+ disabled: !leadGenConfig.canUseLeadGenApiActions,
21929
22040
  onClick: () => {
22041
+ if (!leadGenConfig.canUseLeadGenApiActions) return;
21930
22042
  transitionMember.mutate({
21931
22043
  memberId: member.id,
21932
22044
  listId,
@@ -21941,6 +22053,7 @@ function ListMemberDrawerContent({ member, listId }) {
21941
22053
  },
21942
22054
  action.key
21943
22055
  )) }),
22056
+ derivedActions.length > 0 && !leadGenConfig.canUseLeadGenApiActions ? /* @__PURE__ */ jsx(Alert, { icon: /* @__PURE__ */ jsx(IconAlertCircle, { size: 16 }), color: "yellow", variant: "light", children: "API-backed member actions require System Interface readiness." }) : null,
21944
22057
  /* @__PURE__ */ jsx(ArtifactsPanel, { listMemberId: member.id })
21945
22058
  ] });
21946
22059
  }
@@ -24124,8 +24237,11 @@ function LeadGenListDetailPage({ listId }) {
24124
24237
  const buildResolution = resolveBuildState(list, businessProgress, actions, leadGenConfig);
24125
24238
  const buildSteps = buildResolution.steps;
24126
24239
  const recommendedBuildStep = buildResolution.recommendedStep;
24240
+ const canUseApiActions = leadGenConfig.canUseLeadGenApiActions;
24241
+ const apiDisabledReason = leadGenConfig.leadGenApiInterface.reason;
24242
+ const canManageLeadGenApi = canManageLeadGen.allowed && canUseApiActions;
24127
24243
  const runStep = async (step, inputAtSubmit) => {
24128
- if (!canManageLeadGen.allowed) return null;
24244
+ if (!canManageLeadGenApi) return null;
24129
24245
  const resourceId = step.action?.resourceId;
24130
24246
  if (!resourceId) return null;
24131
24247
  try {
@@ -24162,7 +24278,7 @@ function LeadGenListDetailPage({ listId }) {
24162
24278
  showSuccessNotification("Copied list command to clipboard");
24163
24279
  };
24164
24280
  const handleDeleteList = () => {
24165
- if (!canManageLeadGen.allowed) return;
24281
+ if (!canManageLeadGenApi) return;
24166
24282
  deleteListMutation.mutate(list.id, {
24167
24283
  onSuccess: () => {
24168
24284
  setDeleteModalOpen(false);
@@ -24200,7 +24316,7 @@ function LeadGenListDetailPage({ listId }) {
24200
24316
  color: "red",
24201
24317
  size: "sm",
24202
24318
  "aria-label": "Delete list",
24203
- disabled: !canManageLeadGen.allowed,
24319
+ disabled: !canManageLeadGenApi,
24204
24320
  loading: deleteListMutation.isPending,
24205
24321
  onClick: () => setDeleteModalOpen(true),
24206
24322
  children: /* @__PURE__ */ jsx(IconTrash, { size: 14 })
@@ -24209,6 +24325,10 @@ function LeadGenListDetailPage({ listId }) {
24209
24325
  backButton
24210
24326
  ] })
24211
24327
  ] }),
24328
+ !canUseApiActions ? /* @__PURE__ */ jsxs(Alert, { icon: /* @__PURE__ */ jsx(IconAlertCircle, { size: 16 }), color: "yellow", variant: "light", children: [
24329
+ "Lead-gen API actions are disabled until System Interface readiness passes. Read-only list detail can still render when data is available.",
24330
+ apiDisabledReason ? ` ${apiDisabledReason}` : ""
24331
+ ] }) : null,
24212
24332
  /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsxs(Tabs, { value: activeTab, onChange: setActiveTab, keepMounted: false, children: [
24213
24333
  /* @__PURE__ */ jsxs(Tabs.List, { children: [
24214
24334
  /* @__PURE__ */ jsx(Tabs.Tab, { value: "overview", leftSection: /* @__PURE__ */ jsx(IconBuilding, { size: 14 }), children: "Overview" }),
@@ -24221,7 +24341,7 @@ function LeadGenListDetailPage({ listId }) {
24221
24341
  {
24222
24342
  list,
24223
24343
  progress: businessProgress,
24224
- canManage: canManageLeadGen.allowed,
24344
+ canManage: canManageLeadGenApi,
24225
24345
  leadGenConfig
24226
24346
  }
24227
24347
  ) }),
@@ -24244,7 +24364,7 @@ function LeadGenListDetailPage({ listId }) {
24244
24364
  optimisticRuns,
24245
24365
  exportWorkflowId: leadGenConfig.exportWorkflowId,
24246
24366
  stageCatalog,
24247
- canManage: canManageLeadGen.allowed,
24367
+ canManage: canManageLeadGenApi,
24248
24368
  onRunStep: runStep,
24249
24369
  onRetryStep: runStep,
24250
24370
  onViewRunLog: (resourceId, executionId) => {
@@ -24294,7 +24414,7 @@ function LeadGenListDetailPage({ listId }) {
24294
24414
  {
24295
24415
  color: "red",
24296
24416
  loading: deleteListMutation.isPending,
24297
- disabled: !canManageLeadGen.allowed,
24417
+ disabled: !canManageLeadGenApi,
24298
24418
  onClick: handleDeleteList,
24299
24419
  children: "Delete"
24300
24420
  }
@@ -25824,7 +25944,7 @@ function ProjectsListPage({ onProjectClick } = {}) {
25824
25944
  };
25825
25945
  return /* @__PURE__ */ jsxs(SubshellContentContainer, { children: [
25826
25946
  /* @__PURE__ */ jsxs(PageContainer, { children: [
25827
- /* @__PURE__ */ jsx(Stack, { children: /* @__PURE__ */ jsx(PageTitleCaption, { title: "Projects", caption: "Client delivery tracking and milestone management" }) }),
25947
+ /* @__PURE__ */ jsx(Stack, { children: /* @__PURE__ */ jsx(PageTitleCaption, { title: "Projects", caption: "Project tracking and milestone management" }) }),
25828
25948
  /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsxs(Stack, { children: [
25829
25949
  /* @__PURE__ */ jsxs(
25830
25950
  FilterBar,
@@ -39295,7 +39415,7 @@ var createOrganizationsSlice = (set, _get, _store) => ({
39295
39415
  set(
39296
39416
  (state) => {
39297
39417
  state.organizations.currentMembership = membership;
39298
- state.organizations.currentSupabaseOrganizationId = membership?.organization?.id || null;
39418
+ state.organizations.currentSupabaseOrganizationId = brandSupabaseOrgId(membership?.organization?.id ?? null);
39299
39419
  },
39300
39420
  void 0,
39301
39421
  "organizations/setCurrentMembership"
@@ -39373,20 +39493,20 @@ function createUseOrgInitialization(useOrganizations, useApiClient) {
39373
39493
  const selectOrganization = useCallback(
39374
39494
  async (data) => {
39375
39495
  let selectedMembership = null;
39376
- if (profile?.last_visited_org) {
39496
+ if (workosOrgId) {
39497
+ selectedMembership = data.find((m) => m.organization?.workos_org_id === workosOrgId) || null;
39498
+ }
39499
+ if (!selectedMembership && profile?.last_visited_org) {
39377
39500
  const supabaseLastVisitedOrgId = profile.last_visited_org;
39378
39501
  selectedMembership = data.find((m) => m.organizationId === supabaseLastVisitedOrgId) || null;
39379
39502
  }
39380
- if (!selectedMembership && workosOrgId) {
39381
- selectedMembership = data.find((m) => m.organization?.workos_org_id === workosOrgId) || null;
39382
- }
39383
39503
  if (!selectedMembership && data.length > 0) {
39384
39504
  selectedMembership = data[0];
39385
39505
  }
39386
39506
  if (selectedMembership) {
39387
39507
  const workosSelectedOrgId = selectedMembership.organization?.workos_org_id;
39388
39508
  if (workosSelectedOrgId) {
39389
- setCurrentWorkOSOrganizationId(workosSelectedOrgId);
39509
+ setCurrentWorkOSOrganizationId(brandWorkOsOrgId(workosSelectedOrgId));
39390
39510
  setCurrentMembership(selectedMembership);
39391
39511
  }
39392
39512
  }
@@ -39404,7 +39524,7 @@ function createUseOrgInitialization(useOrganizations, useApiClient) {
39404
39524
  const fallbackOrg = data[0];
39405
39525
  const workosFallbackOrgId = fallbackOrg.organization?.workos_org_id;
39406
39526
  if (workosFallbackOrgId) {
39407
- setCurrentWorkOSOrganizationId(workosFallbackOrgId);
39527
+ setCurrentWorkOSOrganizationId(brandWorkOsOrgId(workosFallbackOrgId));
39408
39528
  setCurrentMembership(fallbackOrg);
39409
39529
  }
39410
39530
  }
@@ -39437,7 +39557,9 @@ function createUseOrgInitialization(useOrganizations, useApiClient) {
39437
39557
  }
39438
39558
  setMemberships(data);
39439
39559
  if (data.length === 0) {
39440
- setOrganizationsError("No organization memberships found. Please contact your administrator or try refreshing the page.");
39560
+ setOrganizationsError(
39561
+ "No organization memberships found. Please contact your administrator or try refreshing the page."
39562
+ );
39441
39563
  hasInitializedRef.current = true;
39442
39564
  return;
39443
39565
  }
@@ -39509,4 +39631,4 @@ function createUseOrgInitialization(useOrganizations, useApiClient) {
39509
39631
  };
39510
39632
  }
39511
39633
 
39512
- export { AbsoluteScheduleForm, AccountSettings, ActionModal, ActivityCard, ActivityFeed, ActivityFeedWidget, ActivityFilters, ActivityLog, ActivityTable, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionPanel, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, AgentSessionGroup, AllTasksPage, ApiKeyDisplayModal, ApiKeyList, ApiKeyService, ApiKeySettings, AppearanceSettings, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CRM_ITEMS, Checklist, CheckpointGroup, CollapsibleJsonSection, CommandQueueDetailPage, CommandQueuePage, CommandQueueShell, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CommandViewPage, CompanyDetailPage, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContactDetailPage, ContentSections, ContextUsageBadge, ContractDisplay, ConversationThread, CostAnalytics, CostBreakdownCard, CostByModelTable, CostMetricsCard, CreateApiKeyModal, CreateCredentialModal, CreateDeliveryEntityModal, CreateRoleModal, CreateScheduleModal, CreateWebhookEndpointModal, CredentialList, CredentialService, CredentialSettings, CrmOverview, CrmSettingsPage, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, DEAL_STAGES, DEAL_STAGE_COLORS, DEAL_STAGE_OPTIONS, DEFAULT_KANBAN_CONFIG, DELIVERY_COMMUNICATION_ITEMS, DELIVERY_PROJECT_ITEMS, DELIVERY_WORK_ITEMS, Dashboard, DashboardOperationsOverview, DealDetailPage, DealKanbanCard, DealsListPage, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentService, DeploymentSettings, DeploymentStatusBadge, EditApiKeyModal, EditCredentialModal, EditWebhookEndpointModal, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorDetailsModal, ExecuteWorkflowModal, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealth, ExecutionHealthCard, ExecutionLogsFilters, ExecutionLogsPage, ExecutionLogsTable, ExecutionPanel, ExecutionStats, ExecutionStatusBadge, FilterBar, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, KanbanBoard, LEAD_GEN_ITEMS, LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, ListBuilderIndexPage, ListBuilderPage, LogEntry, LogGroup, MdxRenderer, MemberAccessModal, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyTasksPanel, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NoAccessState, NotificationBell, NotificationCenter, NotificationItem, NotificationList, NotificationPanel, OAuthConnectModal, OAuthIntegrationsCard, ORPHAN_STAGE_ORDER, OperationsOverview, OperationsService, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrgMembersList, OrganizationGraphPage, OrganizationMembershipService, OrganizationMembershipsList, OrganizationSettings, OrganizationSwitcher, OrganizationSwitcherConnected, PIPELINE_FUNNEL_ORDER, PermissionMatrix, PipelineFunnelWidget, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, QuickCreateActions, RecentExecutionsByResource, RecurringScheduleForm, RelativeScheduleForm, ResourceDefinitionSection, ResourceDetailPage, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, ResourceOverview, ResourcesPage, ResourcesSidebar, RichTextEditor, RoleBadge, RunResourceButton, SAVED_VIEW_PRESETS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SessionChatArea, SessionChatInterface, SessionChatPage, SessionDetailsSidebar, SessionExecutionLogs, SessionHeader, SessionListItem, SessionMemory, SessionsPage, SessionsSidebar, SortableHeader, StepConfigForm, SystemOpsView, TabSection, TableSelectionToolbar, TaskCard, TaskScheduler, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UnresolvedErrorsTeaser, UpcomingMilestonesPage, VisualizerContainer, WebhookEndpointList, WebhookEndpointService, WebhookEndpointSettings, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionPanel, WorkflowExecutionTimeline, ZodFormRenderer, acquisitionListKeys, aggregateSystemMetrics, calculateProgress, clientsKeys, collectResourceFilterFacets, companyKeys, contactKeys, createOrganizationsSlice, createUseOrgInitialization, createUseOrganizations, crmManifest, crmPrioritySettingsKeys, dealKeys, dealNoteKeys, dealTaskKeys, deliveryManifest, deriveBusinessProgress, executionsKeys, filterByDomainFilters, formatDate3 as formatDate, formatDealStageLabel, formatResourceAttribution, formatStatusLabel, getEnrichmentColor, getEnrichmentStatus, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getLeadGenExportWorkflowId, getLogLevelConfig, getResourceFilterFacetIds, getStateKeyColor, getStatusColor4 as getStatusColor, getStepActionLabel, iconMap, isLeadGenExportAction, isSessionCapable, labelResourceFilterFacet, leadGenArtifactKeys, leadGenListCompanyKeys, leadGenListMemberKeys, leadGenManifest, mdxComponents, milestoneKeys, milestoneStatusColors, monitoringManifest, noteKeys, noteTypeColors, operationsKeys, operationsManifest, projectActivityKeys, projectKeys, projectStatusColors, requestsKeys, resolveBuildPlanSteps, resolveBuildState, scheduleKeys, sessionsKeys, settingsManifest, showApiErrorNotification, showAuthError, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, sortData, sortStageKeys, taskKeys, taskStatusColors, taskTypeColors, useActivateDeployment, useActivities, useActivitiesRealtime, useActivityFilters, useActivityTrend, useAddCompaniesToList, useAddContactsToList, useArchiveSession, useArchivedLogs, useArtifacts, useAssignRole, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useClient, useClientStatus, useClients, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewDomainFilters, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompanyFacets, useCompleteDealTask, useContact, useContacts, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateApiKey, useCreateArtifact, useCreateClient, useCreateCompany, useCreateContact, useCreateCredential, useCreateDealNote, useCreateDealTask, useCreateList, useCreateMilestone, useCreateNote, useCreateOrgRole, useCreateProject, useCreateSchedule, useCreateSession, useCreateTask, useCreateWebhookEndpoint, useCredentials, useCrmPipelineSummary, useCrmPrioritySettings, useCrmQuickMetrics, useDashboardMetrics, useDeactivateDeployment, useDeactivateMembership, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDealsLookup, useDealsSummary, useDeleteApiKey, useDeleteClient, useDeleteCompanies, useDeleteContacts, useDeleteCredential, useDeleteDeal, useDeleteDeployment, useDeleteExecution, useDeleteList, useDeleteLists, useDeleteMilestone, useDeleteOrgRole, useDeleteProject, useDeleteRequest, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeleteTask2, useDeleteWebhookEndpoint, useDeriveActions, useEffectivePermissions, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAction, useExecuteAsync, useExecuteResource, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionLogsFilters, useExecutionPanelState, useExecutionSSE, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphBackgroundStyles, useGraphTheme, useInFlightExecutions, useLeadGenConfig, useList, useListApiKeys, useListDeployments, useListExecutions, useListMember, useListMembers, useListProgress, useListRecords, useListSchedules, useListWebhookEndpoints, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useMilestones, useNewKnowledgeMapLayout, useNotificationCount, useNotifications, useOrgRoles, useOrganizationMembers, usePaginationState, usePatchTask, usePauseSchedule, usePermissionCatalog, useProject, useProjectActivities, useProjectMilestones, useProjectNotes, useProjectRealtime, useProjectTasks, useProjects, useReactivateMembership, useRecentCrmActivity, useRecentExecutionsByResource, useRemoveCompaniesFromList, useRequest, useRequestsList, useResetCrmPrioritySettings, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResourceSearch, useResources, useResourcesDomainFilters, useResourcesHealth, useResumeSchedule, useRetryExecution, useRevokeRole, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useStatusFilter, useSubmitAction, useSuccessNotification, useSystemHealth, useTableSelection, useTableSort, useTasks, useTestNotification, useTimeRangeDates, useTopFailingResources, useTransitionItem, useTransitionListCompany, useTransitionListMember, useTransitionState, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateApiKey, useUpdateClient, useUpdateCompany, useUpdateContact, useUpdateCredential, useUpdateCrmPrioritySettings, useUpdateList, useUpdateListConfig, useUpdateListStatus, useUpdateMilestone, useUpdateOrgRole, useUpdateProject, useUpdateRequestStatus, useUpdateSchedule, useUpdateTask, useUpdateWebhookEndpoint, useUserMemberships, useVerifyCredential, useVisibleResources, useWarningNotification, useWorkflowExecution };
39634
+ export { AbsoluteScheduleForm, AccountSettings, ActionModal, ActivityCard, ActivityFeed, ActivityFeedWidget, ActivityFilters, ActivityLog, ActivityTable, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionPanel, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, AgentSessionGroup, AllTasksPage, ApiKeyDisplayModal, ApiKeyList, ApiKeyService, ApiKeySettings, AppearanceSettings, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CRM_ITEMS, Checklist, CheckpointGroup, CollapsibleJsonSection, CommandQueueDetailPage, CommandQueuePage, CommandQueueShell, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CommandViewPage, CompanyDetailPage, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContactDetailPage, ContentSections, ContextUsageBadge, ContractDisplay, ConversationThread, CostAnalytics, CostBreakdownCard, CostByModelTable, CostMetricsCard, CreateApiKeyModal, CreateCredentialModal, CreateDeliveryEntityModal, CreateRoleModal, CreateScheduleModal, CreateWebhookEndpointModal, CredentialList, CredentialService, CredentialSettings, CrmOverview, CrmSettingsPage, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, DEAL_STAGES, DEAL_STAGE_COLORS, DEAL_STAGE_OPTIONS, DEFAULT_KANBAN_CONFIG, DELIVERY_COMMUNICATION_ITEMS, DELIVERY_PROJECT_ITEMS, DELIVERY_WORK_ITEMS, Dashboard, DashboardOperationsOverview, DealDetailPage, DealKanbanCard, DealsListPage, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentService, DeploymentSettings, DeploymentStatusBadge, EditApiKeyModal, EditCredentialModal, EditWebhookEndpointModal, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorDetailsModal, ExecuteWorkflowModal, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealth, ExecutionHealthCard, ExecutionLogsFilters, ExecutionLogsPage, ExecutionLogsTable, ExecutionPanel, ExecutionStats, ExecutionStatusBadge, FilterBar, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, KanbanBoard, LEAD_GEN_ITEMS, LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, ListBuilderIndexPage, ListBuilderPage, LogEntry, LogGroup, MdxRenderer, MemberAccessModal, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyTasksPanel, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NoAccessState, NotificationBell, NotificationCenter, NotificationItem, NotificationList, NotificationPanel, OAuthConnectModal, OAuthIntegrationsCard, ORPHAN_STAGE_ORDER, OperationsOverview, OperationsService, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrgMembersList, OrganizationGraphPage, OrganizationMembershipService, OrganizationMembershipsList, OrganizationSettings, OrganizationSwitcher, OrganizationSwitcherConnected, PIPELINE_FUNNEL_ORDER, PermissionMatrix, PipelineFunnelWidget, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, QuickCreateActions, RecentExecutionsByResource, RecurringScheduleForm, RelativeScheduleForm, ResourceDefinitionSection, ResourceDetailPage, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, ResourceOverview, ResourcesPage, ResourcesSidebar, RichTextEditor, RoleBadge, RunResourceButton, SAVED_VIEW_PRESETS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SessionChatArea, SessionChatInterface, SessionChatPage, SessionDetailsSidebar, SessionExecutionLogs, SessionHeader, SessionListItem, SessionMemory, SessionsPage, SessionsSidebar, SortableHeader, StepConfigForm, SystemOpsView, TabSection, TableSelectionToolbar, TaskCard, TaskScheduler, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UnresolvedErrorsTeaser, UpcomingMilestonesPage, VisualizerContainer, WebhookEndpointList, WebhookEndpointService, WebhookEndpointSettings, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionPanel, WorkflowExecutionTimeline, ZodFormRenderer, acquisitionListKeys, aggregateSystemMetrics, calculateProgress, clientsKeys, collectResourceFilterFacets, companyKeys, contactKeys, createOrganizationsSlice, createUseOrgInitialization, createUseOrganizations, crmManifest, crmPrioritySettingsKeys, dealKeys, dealNoteKeys, dealTaskKeys, deliveryManifest, deriveBusinessProgress, executionsKeys, filterByDomainFilters, formatDate3 as formatDate, formatDealStageLabel, formatResourceAttribution, formatStatusLabel, getEnrichmentColor, getEnrichmentStatus, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getLeadGenApiInterfaceReadiness, getLeadGenExportWorkflowId, getLogLevelConfig, getResourceFilterFacetIds, getStateKeyColor, getStatusColor4 as getStatusColor, getStepActionLabel, iconMap, isLeadGenExportAction, isSessionCapable, labelResourceFilterFacet, leadGenArtifactKeys, leadGenListCompanyKeys, leadGenListMemberKeys, leadGenManifest, mdxComponents, milestoneKeys, milestoneStatusColors, monitoringManifest, noteKeys, noteTypeColors, operationsKeys, operationsManifest, projectActivityKeys, projectKeys, projectStatusColors, requestsKeys, resolveBuildPlanSteps, resolveBuildState, scheduleKeys, sessionsKeys, settingsManifest, showApiErrorNotification, showAuthError, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, sortData, sortStageKeys, taskKeys, taskStatusColors, taskTypeColors, useActivateDeployment, useActivities, useActivitiesRealtime, useActivityFilters, useActivityTrend, useAddCompaniesToList, useAddContactsToList, useArchiveSession, useArchivedLogs, useArtifacts, useAssignRole, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useClient, useClientStatus, useClients, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewDomainFilters, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompanyFacets, useCompleteDealTask, useContact, useContacts, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateApiKey, useCreateArtifact, useCreateClient, useCreateCompany, useCreateContact, useCreateCredential, useCreateDealNote, useCreateDealTask, useCreateList, useCreateMilestone, useCreateNote, useCreateOrgRole, useCreateProject, useCreateSchedule, useCreateSession, useCreateTask, useCreateWebhookEndpoint, useCredentials, useCrmPipelineSummary, useCrmPrioritySettings, useCrmQuickMetrics, useDashboardMetrics, useDeactivateDeployment, useDeactivateMembership, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDealsLookup, useDealsSummary, useDeleteApiKey, useDeleteClient, useDeleteCompanies, useDeleteContacts, useDeleteCredential, useDeleteDeal, useDeleteDeployment, useDeleteExecution, useDeleteList, useDeleteLists, useDeleteMilestone, useDeleteOrgRole, useDeleteProject, useDeleteRequest, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeleteTask2, useDeleteWebhookEndpoint, useDeriveActions, useEffectivePermissions, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAction, useExecuteAsync, useExecuteResource, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionLogsFilters, useExecutionPanelState, useExecutionSSE, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphBackgroundStyles, useGraphTheme, useInFlightExecutions, useLeadGenConfig, useList, useListApiKeys, useListDeployments, useListExecutions, useListMember, useListMembers, useListProgress, useListRecords, useListSchedules, useListWebhookEndpoints, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useMilestones, useNewKnowledgeMapLayout, useNotificationCount, useNotifications, useOrgRoles, useOrganizationMembers, usePaginationState, usePatchTask, usePauseSchedule, usePermissionCatalog, useProject, useProjectActivities, useProjectMilestones, useProjectNotes, useProjectRealtime, useProjectTasks, useProjects, useReactivateMembership, useRecentCrmActivity, useRecentExecutionsByResource, useRemoveCompaniesFromList, useRequest, useRequestsList, useResetCrmPrioritySettings, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResourceSearch, useResources, useResourcesDomainFilters, useResourcesHealth, useResumeSchedule, useRetryExecution, useRevokeRole, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useStatusFilter, useSubmitAction, useSuccessNotification, useSystemHealth, useTableSelection, useTableSort, useTasks, useTestNotification, useTimeRangeDates, useTopFailingResources, useTransitionItem, useTransitionListCompany, useTransitionListMember, useTransitionState, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateApiKey, useUpdateClient, useUpdateCompany, useUpdateContact, useUpdateCredential, useUpdateCrmPrioritySettings, useUpdateList, useUpdateListConfig, useUpdateListStatus, useUpdateMilestone, useUpdateOrgRole, useUpdateProject, useUpdateRequestStatus, useUpdateSchedule, useUpdateTask, useUpdateWebhookEndpoint, useUserMemberships, useVerifyCredential, useVisibleResources, useWarningNotification, useWorkflowExecution };