@elevasis/ui 2.38.0 → 2.38.2

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 (37) hide show
  1. package/dist/app/index.js +5 -5
  2. package/dist/auth/index.d.ts +4 -0
  3. package/dist/auth/index.js +2 -2
  4. package/dist/charts/index.js +2 -2
  5. package/dist/{chunk-7YXZFS56.js → chunk-4UCAUBOL.js} +1 -1
  6. package/dist/{chunk-7ZWXTH5J.js → chunk-5JYKCULK.js} +1 -1
  7. package/dist/{chunk-PGWANFNE.js → chunk-AUB3T7OY.js} +2 -2
  8. package/dist/{chunk-H2MEFUQD.js → chunk-BEVGBPHW.js} +14 -12
  9. package/dist/{chunk-Q64E2TZY.js → chunk-OPKXEGE4.js} +77 -24
  10. package/dist/{chunk-4O3VAALW.js → chunk-YGUNUIME.js} +7 -0
  11. package/dist/components/index.d.ts +1 -0
  12. package/dist/components/index.js +6 -6
  13. package/dist/features/auth/index.js +7 -7
  14. package/dist/features/clients/index.js +6 -6
  15. package/dist/features/crm/index.js +6 -6
  16. package/dist/features/dashboard/index.js +6 -6
  17. package/dist/features/delivery/index.js +6 -6
  18. package/dist/features/lead-gen/index.js +6 -6
  19. package/dist/features/monitoring/index.js +6 -6
  20. package/dist/features/monitoring/requests/index.js +6 -6
  21. package/dist/features/operations/index.js +6 -6
  22. package/dist/features/settings/index.js +6 -6
  23. package/dist/hooks/access/index.d.ts +4 -0
  24. package/dist/hooks/access/index.js +1 -1
  25. package/dist/hooks/delivery/index.js +6 -6
  26. package/dist/hooks/index.d.ts +5 -0
  27. package/dist/hooks/index.js +6 -6
  28. package/dist/hooks/published.d.ts +5 -0
  29. package/dist/hooks/published.js +6 -6
  30. package/dist/index.d.ts +11 -3
  31. package/dist/index.js +6 -6
  32. package/dist/organization/index.d.ts +6 -3
  33. package/dist/organization/index.js +6 -6
  34. package/dist/provider/index.js +5 -5
  35. package/dist/provider/published.js +3 -3
  36. package/dist/theme/index.js +1 -1
  37. package/package.json +5 -5
package/dist/app/index.js CHANGED
@@ -4,12 +4,12 @@ import { SidebarProvider, AppShellContainer, Sidebar, AppShellRightSideContainer
4
4
  import '../chunk-X4WBGKJQ.js';
5
5
  import '../chunk-IIMU5YAJ.js';
6
6
  import '../chunk-RNP5R5I3.js';
7
- import { ElevasisUIProvider } from '../chunk-PGWANFNE.js';
8
- import '../chunk-7ZWXTH5J.js';
7
+ import { ElevasisUIProvider } from '../chunk-AUB3T7OY.js';
8
+ import '../chunk-5JYKCULK.js';
9
9
  import '../chunk-6D4LCJ52.js';
10
10
  import '../chunk-WF7CONXF.js';
11
11
  import '../chunk-WLOQ4IBG.js';
12
- import { SystemShell } from '../chunk-H2MEFUQD.js';
12
+ import { SystemShell } from '../chunk-BEVGBPHW.js';
13
13
  import '../chunk-I53EX4VU.js';
14
14
  import '../chunk-3KMDHCAR.js';
15
15
  import '../chunk-S3XR4II4.js';
@@ -21,8 +21,8 @@ import { TanStackRouterBridge, ScrollToTop } from '../chunk-2IFYDILW.js';
21
21
  import '../chunk-Q7DJKLEN.js';
22
22
  import '../chunk-X66MVMZT.js';
23
23
  import '../chunk-KRWALB24.js';
24
- import { useSessionCheck } from '../chunk-7YXZFS56.js';
25
- import '../chunk-4O3VAALW.js';
24
+ import { useSessionCheck } from '../chunk-4UCAUBOL.js';
25
+ import '../chunk-YGUNUIME.js';
26
26
  import { ElevasisSystemsProvider, useElevasisSystems } from '../chunk-C6BDBZRO.js';
27
27
  import { useInitialization } from '../chunk-533DUEQY.js';
28
28
  import { listAllSystems } from '../chunk-566XWGPP.js';
@@ -115,6 +115,10 @@ declare const AccessKeys: {
115
115
  readonly systemPath: "permission.operations";
116
116
  readonly action: "manage";
117
117
  };
118
+ readonly leadGenManage: {
119
+ readonly systemPath: "sales.lead-gen";
120
+ readonly action: "manage";
121
+ };
118
122
  readonly acquisitionManage: {
119
123
  readonly systemPath: "permission.acquisition";
120
124
  readonly action: "manage";
@@ -1,5 +1,5 @@
1
- export { AccessGuard, ProtectedRoute, useSessionCheck as useRefocusSessionCheck, useSessionCheck, useStableAccessToken } from '../chunk-7YXZFS56.js';
2
- export { AccessKeys } from '../chunk-4O3VAALW.js';
1
+ export { AccessGuard, ProtectedRoute, useSessionCheck as useRefocusSessionCheck, useSessionCheck, useStableAccessToken } from '../chunk-4UCAUBOL.js';
2
+ export { AccessKeys } from '../chunk-YGUNUIME.js';
3
3
  import '../chunk-C6BDBZRO.js';
4
4
  import '../chunk-533DUEQY.js';
5
5
  import '../chunk-566XWGPP.js';
@@ -8,8 +8,8 @@ import '../chunk-2IFYDILW.js';
8
8
  import '../chunk-Q7DJKLEN.js';
9
9
  import '../chunk-X66MVMZT.js';
10
10
  import '../chunk-KRWALB24.js';
11
- import '../chunk-7YXZFS56.js';
12
- import '../chunk-4O3VAALW.js';
11
+ import '../chunk-4UCAUBOL.js';
12
+ import '../chunk-YGUNUIME.js';
13
13
  import '../chunk-C6BDBZRO.js';
14
14
  import '../chunk-533DUEQY.js';
15
15
  import '../chunk-566XWGPP.js';
@@ -1,4 +1,4 @@
1
- import { useAccess } from './chunk-4O3VAALW.js';
1
+ import { useAccess } from './chunk-YGUNUIME.js';
2
2
  import { useInitialization } from './chunk-533DUEQY.js';
3
3
  import { useAuthContext } from './chunk-BRJ3QZ4E.js';
4
4
  import { useRef, useCallback, useEffect } from 'react';
@@ -258,7 +258,7 @@ var componentThemes = {
258
258
  Notification: Notification.extend({
259
259
  styles: {
260
260
  root: {
261
- backgroundColor: "color-mix(in srgb, var(--color-surface) 90%, transparent)",
261
+ backgroundColor: "var(--glass-background)",
262
262
  ...glassBase
263
263
  }
264
264
  }
@@ -1,8 +1,8 @@
1
- import { mantineThemeOverride, createCssVariablesResolver } from './chunk-7ZWXTH5J.js';
1
+ import { mantineThemeOverride, createCssVariablesResolver } from './chunk-5JYKCULK.js';
2
2
  import { PresetsProvider } from './chunk-6D4LCJ52.js';
3
3
  import { PRESETS, getPreset, generateShades } from './chunk-WF7CONXF.js';
4
4
  import { AppBackground } from './chunk-WLOQ4IBG.js';
5
- import { ElevasisCoreProvider } from './chunk-H2MEFUQD.js';
5
+ import { ElevasisCoreProvider } from './chunk-BEVGBPHW.js';
6
6
  import { ElevasisLoader } from './chunk-I53EX4VU.js';
7
7
  import { AppearanceProvider } from './chunk-A7IG36LB.js';
8
8
  import { getErrorInfo, formatErrorMessage, getErrorTitle } from './chunk-X66MVMZT.js';
@@ -57,12 +57,12 @@ function OrganizationProvider({ apiRequest, children }) {
57
57
  const selectOrganization = useCallback(
58
58
  (data) => {
59
59
  let selected = null;
60
- if (profile?.last_visited_org) {
61
- selected = data.find((m) => m.organizationId === profile.last_visited_org) ?? null;
62
- }
63
- if (!selected && workosOrgId) {
60
+ if (workosOrgId) {
64
61
  selected = data.find((m) => m.organization?.workos_org_id === workosOrgId) ?? null;
65
62
  }
63
+ if (!selected && profile?.last_visited_org) {
64
+ selected = data.find((m) => m.organizationId === profile.last_visited_org) ?? null;
65
+ }
66
66
  if (!selected && data.length > 0) {
67
67
  selected = data[0];
68
68
  }
@@ -130,18 +130,20 @@ function OrganizationProvider({ apiRequest, children }) {
130
130
  void queryClient.invalidateQueries();
131
131
  }, [workosOrgId, currentWorkOSOrganizationId, memberships, applyMembership, queryClient]);
132
132
  const switchOrganization = useCallback(
133
- (workosOrgId2) => {
133
+ (workosOrgId2, options) => {
134
134
  const target = memberships.find((m) => m.organization?.workos_org_id === workosOrgId2);
135
135
  if (!target) return;
136
136
  applyMembership(target);
137
137
  void queryClient.invalidateQueries();
138
- void apiRequest("/users/me", {
139
- method: "PATCH",
140
- headers: { "Content-Type": "application/json" },
141
- body: JSON.stringify({ last_visited_org: target.organizationId })
142
- }).catch((err) => {
143
- console.warn("Failed to persist last_visited_org preference:", err);
144
- });
138
+ if (options?.persist !== false) {
139
+ void apiRequest("/users/me", {
140
+ method: "PATCH",
141
+ headers: { "Content-Type": "application/json" },
142
+ body: JSON.stringify({ lastVisitedOrg: target.organizationId })
143
+ }).catch((err) => {
144
+ console.warn("Failed to persist last_visited_org preference:", err);
145
+ });
146
+ }
145
147
  },
146
148
  [memberships, applyMembership, queryClient, apiRequest]
147
149
  );
@@ -9,8 +9,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';
12
+ import { glassBase } from './chunk-5JYKCULK.js';
13
+ import { useNotificationAdapter, useCrmActions, useListActions } from './chunk-BEVGBPHW.js';
14
14
  import { EmptyState, CenteredErrorState, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, GlowDot, JsonViewer, ListSkeleton, PageTitleCaption, StatCard, APIErrorAlert, CollapsibleSection, ActivityTimeline, ContextViewer, StatusBadge, TabCountBadge, ResourceCard } from './chunk-I53EX4VU.js';
15
15
  import { StyledMarkdown } from './chunk-3KMDHCAR.js';
16
16
  import { CardHeader } from './chunk-S3XR4II4.js';
@@ -20,8 +20,8 @@ import { topbarHeight } from './chunk-DT3QYZVU.js';
20
20
  import { useRouterContext } from './chunk-Q7DJKLEN.js';
21
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';
22
22
  import { ResourceStatusColors, toWorkflowLogMessages } from './chunk-KRWALB24.js';
23
- import { useStableAccessToken } from './chunk-7YXZFS56.js';
24
- import { useAccess, AccessKeys } from './chunk-4O3VAALW.js';
23
+ import { useStableAccessToken } from './chunk-4UCAUBOL.js';
24
+ import { useAccess, AccessKeys } from './chunk-YGUNUIME.js';
25
25
  import { useOptionalElevasisSystems, useElevasisSystems } from './chunk-C6BDBZRO.js';
26
26
  import { useInitialization } from './chunk-533DUEQY.js';
27
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';
@@ -17368,6 +17368,13 @@ var platformSystems = {
17368
17368
  surfaces: [],
17369
17369
  icon: "settings"
17370
17370
  },
17371
+ config: {
17372
+ onboarding: {
17373
+ welcomeFlow: {
17374
+ enabled: false
17375
+ }
17376
+ }
17377
+ },
17371
17378
  ontology: {}
17372
17379
  },
17373
17380
  clients: {
@@ -21494,6 +21501,7 @@ function LeadGenListsPage() {
21494
21501
  const [showBatchDelete, setShowBatchDelete] = useState(false);
21495
21502
  const { data: lists, isLoading: listsLoading } = useLists();
21496
21503
  const { data: telemetry, isLoading: telemetryLoading } = useListsTelemetry();
21504
+ const canManageLeadGen = useAccess(AccessKeys.leadGenManage);
21497
21505
  const createListMutation = useCreateList();
21498
21506
  const deleteListsMutation = useDeleteLists();
21499
21507
  const { sort, toggleSort } = useTableSort("created");
@@ -21541,6 +21549,7 @@ function LeadGenListsPage() {
21541
21549
  setShowCreateList(false);
21542
21550
  }
21543
21551
  function handleCreateList() {
21552
+ if (!canManageLeadGen.allowed) return;
21544
21553
  const trimmedName = newListName.trim();
21545
21554
  if (!trimmedName) return;
21546
21555
  const body = {
@@ -21564,7 +21573,7 @@ function LeadGenListsPage() {
21564
21573
  {
21565
21574
  title: "Lists",
21566
21575
  caption: "Lead lists and contact organization",
21567
- rightSection: /* @__PURE__ */ jsx(
21576
+ rightSection: canManageLeadGen.allowed ? /* @__PURE__ */ jsx(
21568
21577
  Button,
21569
21578
  {
21570
21579
  leftSection: /* @__PURE__ */ jsx(IconPlus, { size: 16 }),
@@ -21573,7 +21582,7 @@ function LeadGenListsPage() {
21573
21582
  size: "xs",
21574
21583
  children: "New List"
21575
21584
  }
21576
- )
21585
+ ) : null
21577
21586
  }
21578
21587
  ) }),
21579
21588
  /* @__PURE__ */ jsx(Paper, { children: /* @__PURE__ */ jsxs(Stack, { children: [
@@ -21584,7 +21593,7 @@ function LeadGenListsPage() {
21584
21593
  TableSelectionToolbar,
21585
21594
  {
21586
21595
  selectedCount: selection.selectedCount,
21587
- onDelete: () => setShowBatchDelete(true),
21596
+ onDelete: canManageLeadGen.allowed ? () => setShowBatchDelete(true) : void 0,
21588
21597
  isDeleting: deleteListsMutation.isPending
21589
21598
  }
21590
21599
  ),
@@ -21619,7 +21628,7 @@ function LeadGenListsPage() {
21619
21628
  icon: IconList,
21620
21629
  title: searchQuery.trim() || statusFilter ? "No lists match your filters" : "No lists yet",
21621
21630
  description: searchQuery.trim() || statusFilter ? void 0 : "Create one to get started.",
21622
- action: searchQuery.trim() || statusFilter ? void 0 : {
21631
+ action: searchQuery.trim() || statusFilter || !canManageLeadGen.allowed ? void 0 : {
21623
21632
  label: "Create List",
21624
21633
  onClick: () => setShowCreateList(true),
21625
21634
  icon: /* @__PURE__ */ jsx(IconPlus, { size: 16 })
@@ -21814,7 +21823,9 @@ function LeadGenListsPage() {
21814
21823
  {
21815
21824
  color: "red",
21816
21825
  loading: deleteListsMutation.isPending,
21826
+ disabled: !canManageLeadGen.allowed,
21817
21827
  onClick: () => {
21828
+ if (!canManageLeadGen.allowed) return;
21818
21829
  deleteListsMutation.mutate([...selection.selectedIds], {
21819
21830
  onSuccess: () => {
21820
21831
  setShowBatchDelete(false);
@@ -22919,7 +22930,7 @@ function PipelineStagesCard({
22919
22930
  ] })
22920
22931
  ] }) });
22921
22932
  }
22922
- function ListConfigCard({ list }) {
22933
+ function ListConfigCard({ list, canManage }) {
22923
22934
  const updateListConfig = useUpdateListConfig(list.id);
22924
22935
  const icp = list.icp ?? {};
22925
22936
  const scraping = list.scrapingConfig ?? {};
@@ -22927,6 +22938,7 @@ function ListConfigCard({ list }) {
22927
22938
  const hasScraping = Object.values(scraping).some((v) => v !== void 0 && v !== null && v !== "");
22928
22939
  const dataMode = getListDataMode(list);
22929
22940
  const handleDataModeChange = (value) => {
22941
+ if (!canManage) return;
22930
22942
  if (value !== "mock" && value !== "live") return;
22931
22943
  if (value === dataMode) return;
22932
22944
  updateListConfig.mutate({
@@ -22948,7 +22960,7 @@ function ListConfigCard({ list }) {
22948
22960
  data: DATA_MODE_OPTIONS2,
22949
22961
  value: dataMode,
22950
22962
  onChange: handleDataModeChange,
22951
- disabled: updateListConfig.isPending,
22963
+ disabled: !canManage || updateListConfig.isPending,
22952
22964
  w: 180,
22953
22965
  size: "xs"
22954
22966
  }
@@ -23013,6 +23025,7 @@ function ListConfigCard({ list }) {
23013
23025
  function OverviewTab({
23014
23026
  list,
23015
23027
  progress,
23028
+ canManage,
23016
23029
  leadGenConfig
23017
23030
  }) {
23018
23031
  const hasMetadata = list.metadata && Object.keys(list.metadata).length > 0;
@@ -23028,7 +23041,7 @@ function OverviewTab({
23028
23041
  /* @__PURE__ */ jsx(StatCard, { label: "Members", value: progress.totalMembers, icon: IconUsers })
23029
23042
  ] }),
23030
23043
  /* @__PURE__ */ jsx(PipelineStagesCard, { list, progress, leadGenConfig }),
23031
- /* @__PURE__ */ jsx(ListConfigCard, { list }),
23044
+ /* @__PURE__ */ jsx(ListConfigCard, { list, canManage }),
23032
23045
  hasMetadata && /* @__PURE__ */ jsx(Card, { withBorder: true, children: /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
23033
23046
  /* @__PURE__ */ jsx(Title, { order: 5, children: "Metadata" }),
23034
23047
  /* @__PURE__ */ jsx(JsonViewer, { data: list.metadata, maxHeight: 320 })
@@ -23206,6 +23219,7 @@ function CredentialRequirementsPanel({
23206
23219
  selections,
23207
23220
  verificationByCredentialId,
23208
23221
  verifyingCredentialId,
23222
+ disabled,
23209
23223
  onSelect,
23210
23224
  onVerify
23211
23225
  }) {
@@ -23233,7 +23247,7 @@ function CredentialRequirementsPanel({
23233
23247
  onSelect(requirement, credentials.find((credential) => credential.id === credentialId) ?? null);
23234
23248
  },
23235
23249
  required: requirement.required,
23236
- disabled: credentialsLoading || credentialsUnavailable || credentials.length === 0,
23250
+ disabled: disabled || credentialsLoading || credentialsUnavailable || credentials.length === 0,
23237
23251
  style: { flex: 1 }
23238
23252
  }
23239
23253
  ),
@@ -23242,7 +23256,7 @@ function CredentialRequirementsPanel({
23242
23256
  {
23243
23257
  size: "xs",
23244
23258
  variant: "light",
23245
- disabled: !selectedCredential,
23259
+ disabled: disabled || !selectedCredential,
23246
23260
  loading: selectedCredential ? verifyingCredentialId === selectedCredential.id : false,
23247
23261
  onClick: () => selectedCredential && onVerify(selectedCredential),
23248
23262
  children: "Test credential"
@@ -23332,6 +23346,7 @@ function StepRecordsPanel({
23332
23346
  exportWorkflowId,
23333
23347
  stageCatalog,
23334
23348
  approvalByCompanyId,
23349
+ canManage,
23335
23350
  onApprovalChange
23336
23351
  }) {
23337
23352
  const [page, setPage] = useState(1);
@@ -23411,8 +23426,10 @@ function StepRecordsPanel({
23411
23426
  size: "compact-xs",
23412
23427
  variant: approvalByCompanyId[companyId] === "approved" ? "filled" : "light",
23413
23428
  color: "green",
23429
+ disabled: !canManage,
23414
23430
  onClick: (event) => {
23415
23431
  event.stopPropagation();
23432
+ if (!canManage) return;
23416
23433
  setApproval(companyId, "approved");
23417
23434
  },
23418
23435
  children: "Approve"
@@ -23424,8 +23441,10 @@ function StepRecordsPanel({
23424
23441
  size: "compact-xs",
23425
23442
  variant: approvalByCompanyId[companyId] === "rejected" ? "filled" : "light",
23426
23443
  color: "red",
23444
+ disabled: !canManage,
23427
23445
  onClick: (event) => {
23428
23446
  event.stopPropagation();
23447
+ if (!canManage) return;
23429
23448
  setApproval(companyId, "rejected");
23430
23449
  },
23431
23450
  children: "Reject"
@@ -23467,6 +23486,7 @@ function BuildTab({
23467
23486
  optimisticRuns,
23468
23487
  exportWorkflowId,
23469
23488
  stageCatalog,
23489
+ canManage,
23470
23490
  onRunStep,
23471
23491
  onRetryStep,
23472
23492
  onViewRunLog
@@ -23545,7 +23565,7 @@ function BuildTab({
23545
23565
  const selectedExportDisabledReason = !selectedStepIsReviewExport || activeRightColumnTab !== "records" ? null : approvedCompanyIds.length === 0 ? "Approve records" : isSelectedClickUpExportPath && !selectedClickupCredential ? "Select ClickUp credential" : isSelectedClickUpExportPath && !normalizedClickupListId ? "Enter ClickUp List ID" : null;
23546
23566
  const canRunSelectedAction = !!selectedStep?.action && (selectedActionKind === "retry_failed" || selectedActionKind === "run_next_batch");
23547
23567
  const selectedResourceIsRunning = selectedResourceId ? (runningResources[selectedResourceId] ?? false) || runningResourceIds.has(selectedResourceId) : false;
23548
- const selectedActionDisabled = selectedStepIsReviewExport && activeRightColumnTab !== "records" ? false : selectedStepIsReviewExport ? !canExportSelectedRecords || exportExecution.isPending : !canRunSelectedAction || selectedResourceIsRunning;
23568
+ const selectedActionDisabled = !canManage ? true : selectedStepIsReviewExport && activeRightColumnTab !== "records" ? false : selectedStepIsReviewExport ? !canExportSelectedRecords || exportExecution.isPending : !canRunSelectedAction || selectedResourceIsRunning;
23549
23569
  const selectedActionLabel = selectedResourceIsRunning ? "Running..." : selectedStepIsReviewExport && activeRightColumnTab !== "records" ? "Approve records" : selectedStepIsReviewExport ? selectedExportDisabledReason ?? (isSelectedClickUpExportPath ? "Export to ClickUp" : "Export approved") : selectedActionKind === "none" ? "No action" : getStepActionLabel(selectedActionKind);
23550
23570
  const selectedActionIcon = selectedStepIsReviewExport && activeRightColumnTab !== "records" ? /* @__PURE__ */ jsx(IconAddressBook, { size: 14 }) : selectedActionKind === "retry_failed" ? /* @__PURE__ */ jsx(IconRefresh, { size: 14 }) : /* @__PURE__ */ jsx(IconPlayerPlay, { size: 14 });
23551
23571
  const handleResourceRunningChange = useCallback((resourceId, isRunning) => {
@@ -23585,10 +23605,12 @@ function BuildTab({
23585
23605
  setStepInputInitialized(true);
23586
23606
  }, [stepInputInitialized, recentRunsQuery.isLoading, recentRuns, selectedCapabilityKey]);
23587
23607
  const handleStepInputChange = (next) => {
23608
+ if (!canManage) return;
23588
23609
  setStepInputFormState(next);
23589
23610
  if (stepInputError) setStepInputError(null);
23590
23611
  };
23591
23612
  const handleCredentialSelect = (requirement, credential) => {
23613
+ if (!canManage) return;
23592
23614
  setCredentialSelections((current) => ({
23593
23615
  ...current,
23594
23616
  [requirement.key]: credential?.id ?? null
@@ -23597,6 +23619,7 @@ function BuildTab({
23597
23619
  if (stepInputError) setStepInputError(null);
23598
23620
  };
23599
23621
  const handleVerifyCredential = (credential) => {
23622
+ if (!canManage) return;
23600
23623
  verifyCredential.mutate(credential.id, {
23601
23624
  onSuccess: (result) => {
23602
23625
  setCredentialVerificationById((current) => ({
@@ -23621,15 +23644,18 @@ function BuildTab({
23621
23644
  });
23622
23645
  };
23623
23646
  const handleClickupListIdChange = (value) => {
23647
+ if (!canManage) return;
23624
23648
  setClickupListId(value);
23625
23649
  setStepInputFormState((current) => setValueAtInputPath(current, "clickupListId", value));
23626
23650
  if (stepInputError) setStepInputError(null);
23627
23651
  };
23628
23652
  const handleReviewExportApprovalChange = (companyId, status) => {
23653
+ if (!canManage) return;
23629
23654
  setReviewExportApprovals((current) => ({ ...current, [companyId]: status }));
23630
23655
  if (stepInputError) setStepInputError(null);
23631
23656
  };
23632
23657
  const exportApprovedRecords = async () => {
23658
+ if (!canManage) return;
23633
23659
  try {
23634
23660
  const result = await exportExecution.execute({
23635
23661
  input: {
@@ -23652,6 +23678,7 @@ function BuildTab({
23652
23678
  }
23653
23679
  };
23654
23680
  const handleSelectedAction = async () => {
23681
+ if (!canManage) return;
23655
23682
  if (!selectedStep || selectedActionDisabled) return;
23656
23683
  if (selectedStepIsReviewExport && activeRightColumnTab !== "records") {
23657
23684
  setActiveRightColumnTab("records");
@@ -23686,6 +23713,7 @@ function BuildTab({
23686
23713
  }
23687
23714
  };
23688
23715
  const loadRecentRunInput = (run2) => {
23716
+ if (!canManage) return;
23689
23717
  setStepInputFormState(sanitizeStepInput(asRecord2(getRunInput(run2)), selectedCapabilityKey));
23690
23718
  setStepInputResetKey((k) => k + 1);
23691
23719
  setActiveRightColumnTab("configuration");
@@ -23795,7 +23823,7 @@ function BuildTab({
23795
23823
  layout: visibleStepLayout,
23796
23824
  value: stepInputFormState,
23797
23825
  onChange: (v) => handleStepInputChange(asRecord2(v) ?? {}),
23798
- disabled: !canRunSelectedAction
23826
+ disabled: !canManage || !canRunSelectedAction
23799
23827
  },
23800
23828
  `${selectedResourceId ?? "none"}-main-${stepInputResetKey}`
23801
23829
  ) : !credentialRequirements.length ? /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: "No configuration for this step." }) : null,
@@ -23809,6 +23837,7 @@ function BuildTab({
23809
23837
  selections: credentialSelections,
23810
23838
  verificationByCredentialId: credentialVerificationById,
23811
23839
  verifyingCredentialId: verifyCredential.isPending ? verifyCredential.variables ?? null : null,
23840
+ disabled: !canManage,
23812
23841
  onSelect: handleCredentialSelect,
23813
23842
  onVerify: handleVerifyCredential
23814
23843
  }
@@ -23820,7 +23849,8 @@ function BuildTab({
23820
23849
  description: "Destination List ID for approved company tasks.",
23821
23850
  placeholder: "123456789",
23822
23851
  value: clickupListId,
23823
- onChange: (event) => handleClickupListIdChange(event.currentTarget.value)
23852
+ onChange: (event) => handleClickupListIdChange(event.currentTarget.value),
23853
+ disabled: !canManage
23824
23854
  }
23825
23855
  ) : null
23826
23856
  ] }),
@@ -23832,7 +23862,7 @@ function BuildTab({
23832
23862
  layout: visibleStepLayout,
23833
23863
  value: stepInputFormState,
23834
23864
  onChange: (v) => handleStepInputChange(asRecord2(v) ?? {}),
23835
- disabled: !canRunSelectedAction
23865
+ disabled: !canManage || !canRunSelectedAction
23836
23866
  },
23837
23867
  `${selectedResourceId ?? "none"}-advanced-${stepInputResetKey}`
23838
23868
  ) : void 0,
@@ -23844,6 +23874,7 @@ function BuildTab({
23844
23874
  exportWorkflowId,
23845
23875
  stageCatalog,
23846
23876
  approvalByCompanyId: reviewExportApprovals,
23877
+ canManage,
23847
23878
  onApprovalChange: handleReviewExportApprovalChange
23848
23879
  },
23849
23880
  selectedStep.id
@@ -23885,7 +23916,7 @@ function BuildTab({
23885
23916
  size: "xs",
23886
23917
  variant: "subtle",
23887
23918
  leftSection: /* @__PURE__ */ jsx(IconSettings, { size: 12 }),
23888
- disabled: !canUseSettings,
23919
+ disabled: !canManage || !canUseSettings,
23889
23920
  onClick: () => loadRecentRunInput(run2),
23890
23921
  children: "Use settings"
23891
23922
  }
@@ -24032,6 +24063,7 @@ function LeadGenListDetailPage({ listId }) {
24032
24063
  const listQuery = useList(listId);
24033
24064
  const progressQuery = useListProgress(listId);
24034
24065
  const executionsQuery = useListExecutions(listId);
24066
+ const canManageLeadGen = useAccess(AccessKeys.leadGenManage);
24035
24067
  const deleteListMutation = useDeleteList();
24036
24068
  const executeAsync = useExecuteAsync();
24037
24069
  const queryClient = useQueryClient();
@@ -24100,6 +24132,7 @@ function LeadGenListDetailPage({ listId }) {
24100
24132
  const buildSteps = buildResolution.steps;
24101
24133
  const recommendedBuildStep = buildResolution.recommendedStep;
24102
24134
  const runStep = async (step, inputAtSubmit) => {
24135
+ if (!canManageLeadGen.allowed) return null;
24103
24136
  const resourceId = step.action?.resourceId;
24104
24137
  if (!resourceId) return null;
24105
24138
  try {
@@ -24136,6 +24169,7 @@ function LeadGenListDetailPage({ listId }) {
24136
24169
  showSuccessNotification("Copied list command to clipboard");
24137
24170
  };
24138
24171
  const handleDeleteList = () => {
24172
+ if (!canManageLeadGen.allowed) return;
24139
24173
  deleteListMutation.mutate(list.id, {
24140
24174
  onSuccess: () => {
24141
24175
  setDeleteModalOpen(false);
@@ -24173,6 +24207,7 @@ function LeadGenListDetailPage({ listId }) {
24173
24207
  color: "red",
24174
24208
  size: "sm",
24175
24209
  "aria-label": "Delete list",
24210
+ disabled: !canManageLeadGen.allowed,
24176
24211
  loading: deleteListMutation.isPending,
24177
24212
  onClick: () => setDeleteModalOpen(true),
24178
24213
  children: /* @__PURE__ */ jsx(IconTrash, { size: 14 })
@@ -24188,7 +24223,15 @@ function LeadGenListDetailPage({ listId }) {
24188
24223
  /* @__PURE__ */ jsx(Tabs.Tab, { value: "build", leftSection: /* @__PURE__ */ jsx(IconBolt, { size: 14 }), children: "Build" }),
24189
24224
  /* @__PURE__ */ jsx(Tabs.Tab, { value: "runs", leftSection: /* @__PURE__ */ jsx(IconPlayerPlay, { size: 14 }), children: "Runs" })
24190
24225
  ] }),
24191
- /* @__PURE__ */ jsx(Tabs.Panel, { value: "overview", pt: "sm", children: /* @__PURE__ */ jsx(OverviewTab, { list, progress: businessProgress, leadGenConfig }) }),
24226
+ /* @__PURE__ */ jsx(Tabs.Panel, { value: "overview", pt: "sm", children: /* @__PURE__ */ jsx(
24227
+ OverviewTab,
24228
+ {
24229
+ list,
24230
+ progress: businessProgress,
24231
+ canManage: canManageLeadGen.allowed,
24232
+ leadGenConfig
24233
+ }
24234
+ ) }),
24192
24235
  /* @__PURE__ */ jsx(Tabs.Panel, { value: "members", pt: "sm", children: /* @__PURE__ */ jsx(
24193
24236
  MembersTab,
24194
24237
  {
@@ -24208,6 +24251,7 @@ function LeadGenListDetailPage({ listId }) {
24208
24251
  optimisticRuns,
24209
24252
  exportWorkflowId: leadGenConfig.exportWorkflowId,
24210
24253
  stageCatalog,
24254
+ canManage: canManageLeadGen.allowed,
24211
24255
  onRunStep: runStep,
24212
24256
  onRetryStep: runStep,
24213
24257
  onViewRunLog: (resourceId, executionId) => {
@@ -24252,7 +24296,16 @@ function LeadGenListDetailPage({ listId }) {
24252
24296
  /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "This removes the list and its list membership links. Companies and contacts remain in the shared lead-gen database." }),
24253
24297
  /* @__PURE__ */ jsxs(Group, { justify: "flex-end", mt: "md", children: [
24254
24298
  /* @__PURE__ */ jsx(Button, { variant: "light", onClick: () => setDeleteModalOpen(false), disabled: deleteListMutation.isPending, children: "Cancel" }),
24255
- /* @__PURE__ */ jsx(Button, { color: "red", loading: deleteListMutation.isPending, onClick: handleDeleteList, children: "Delete" })
24299
+ /* @__PURE__ */ jsx(
24300
+ Button,
24301
+ {
24302
+ color: "red",
24303
+ loading: deleteListMutation.isPending,
24304
+ disabled: !canManageLeadGen.allowed,
24305
+ onClick: handleDeleteList,
24306
+ children: "Delete"
24307
+ }
24308
+ )
24256
24309
  ] })
24257
24310
  ] })
24258
24311
  }
@@ -39327,13 +39380,13 @@ function createUseOrgInitialization(useOrganizations, useApiClient) {
39327
39380
  const selectOrganization = useCallback(
39328
39381
  async (data) => {
39329
39382
  let selectedMembership = null;
39330
- if (profile?.last_visited_org) {
39383
+ if (workosOrgId) {
39384
+ selectedMembership = data.find((m) => m.organization?.workos_org_id === workosOrgId) || null;
39385
+ }
39386
+ if (!selectedMembership && profile?.last_visited_org) {
39331
39387
  const supabaseLastVisitedOrgId = profile.last_visited_org;
39332
39388
  selectedMembership = data.find((m) => m.organizationId === supabaseLastVisitedOrgId) || null;
39333
39389
  }
39334
- if (!selectedMembership && workosOrgId) {
39335
- selectedMembership = data.find((m) => m.organization?.workos_org_id === workosOrgId) || null;
39336
- }
39337
39390
  if (!selectedMembership && data.length > 0) {
39338
39391
  selectedMembership = data[0];
39339
39392
  }
@@ -18,6 +18,7 @@ var PERMISSIONS = {
18
18
  SECRETS_MANAGE: "secrets.manage",
19
19
  OPERATIONS_READ: "operations.read",
20
20
  OPERATIONS_MANAGE: "operations.manage",
21
+ SALES_LEAD_GEN_MANAGE: "sales.lead-gen.manage",
21
22
  ACQUISITION_MANAGE: "acquisition.manage",
22
23
  PROJECTS_MANAGE: "projects.manage",
23
24
  CLIENTS_MANAGE: "clients.manage"
@@ -63,6 +64,11 @@ var PERMISSION_CATALOG = [
63
64
  description: "Run and modify executions, sessions, schedules, queue",
64
65
  isOrgGrantable: true
65
66
  },
67
+ {
68
+ key: "sales.lead-gen.manage",
69
+ description: "Operate Lead Gen lists and list-builder workflows",
70
+ isOrgGrantable: true
71
+ },
66
72
  {
67
73
  key: "acquisition.manage",
68
74
  description: "Create, update, and delete acquisition records (acq_companies, acq_contacts, acq_deals, acq_lists*, acq_content*, acquisition storage files)",
@@ -104,6 +110,7 @@ var AccessKeys = {
104
110
  secretsManage: { systemPath: "permission.secrets", action: "manage" },
105
111
  operationsRead: { systemPath: "permission.operations", action: DEFAULT_ACCESS_ACTION },
106
112
  operationsManage: { systemPath: "permission.operations", action: "manage" },
113
+ leadGenManage: { systemPath: "sales.lead-gen", action: "manage" },
107
114
  acquisitionManage: { systemPath: "permission.acquisition", action: "manage" },
108
115
  projectsManage: { systemPath: "permission.projects", action: "manage" },
109
116
  clientsManage: { systemPath: "permission.clients", action: "manage" },
@@ -4616,6 +4616,7 @@ declare const PERMISSIONS: {
4616
4616
  readonly SECRETS_MANAGE: "secrets.manage";
4617
4617
  readonly OPERATIONS_READ: "operations.read";
4618
4618
  readonly OPERATIONS_MANAGE: "operations.manage";
4619
+ readonly SALES_LEAD_GEN_MANAGE: "sales.lead-gen.manage";
4619
4620
  readonly ACQUISITION_MANAGE: "acquisition.manage";
4620
4621
  readonly PROJECTS_MANAGE: "projects.manage";
4621
4622
  readonly CLIENTS_MANAGE: "clients.manage";
@@ -1,4 +1,4 @@
1
- export { AbsoluteScheduleForm, ActionModal, ActivityCard, ActivityFeedWidget, ActivityFilters as ActivityFiltersBar, ActivityTable, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, AllTasksPage, ApiKeyDisplayModal, ApiKeyList, ApiKeySettings, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CheckpointGroup, CollapsibleJsonSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CompanyDetailPage, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContactDetailPage, ContentSections, ContextUsageBadge, ContractDisplay, CostBreakdownCard, CostByModelTable, CostMetricsCard, CreateApiKeyModal, CreateCredentialModal, CreateRoleModal, CreateScheduleModal, CredentialList, CredentialSettings, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, DEAL_STAGES, DEFAULT_KANBAN_CONFIG, DealDetailPage, DealKanbanCard, DealsListPage, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentSettings, DeploymentStatusBadge, EditApiKeyModal, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, ExecutionStats, ExecutionStatusBadge, FilterBar, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, KanbanBoard, LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, LogEntry, LogGroup, MdxRenderer, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyTasksPanel, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NoAccessState, NotificationBell, NotificationItem, NotificationList, NotificationPanel, OAuthConnectModal, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrganizationMembershipsList, PIPELINE_FUNNEL_ORDER, PermissionMatrix, PipelineFunnelWidget, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, QuickCreateActions, RecurringScheduleForm, RelativeScheduleForm, ResourceDefinitionSection, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, RichTextEditor, RoleBadge, RunResourceButton, SAVED_VIEW_PRESETS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SessionMemory, SortableHeader, StepConfigForm, TabSection, TableSelectionToolbar, TaskCard, TaskScheduler, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UpcomingMilestonesPage, VisualizerContainer, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionTimeline, ZodFormRenderer, calculateProgress, crmManifest, deliveryManifest, formatStatusLabel, getEnrichmentColor, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getLogLevelConfig, getStatusColor, iconMap, leadGenManifest, mdxComponents, milestoneStatusColors, monitoringManifest, noteTypeColors, operationsManifest, projectStatusColors, settingsManifest, showApiErrorNotification, showAuthError, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, taskStatusColors, taskTypeColors, useCrmPipelineSummary, useCrmQuickMetrics, useDeleteLists, useGraphBackgroundStyles, useGraphTheme, useNewKnowledgeMapLayout, useRecentCrmActivity } from '../chunk-Q64E2TZY.js';
1
+ export { AbsoluteScheduleForm, ActionModal, ActivityCard, ActivityFeedWidget, ActivityFilters as ActivityFiltersBar, ActivityTable, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, AllTasksPage, ApiKeyDisplayModal, ApiKeyList, ApiKeySettings, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CheckpointGroup, CollapsibleJsonSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CompanyDetailPage, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContactDetailPage, ContentSections, ContextUsageBadge, ContractDisplay, CostBreakdownCard, CostByModelTable, CostMetricsCard, CreateApiKeyModal, CreateCredentialModal, CreateRoleModal, CreateScheduleModal, CredentialList, CredentialSettings, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, DEAL_STAGES, DEFAULT_KANBAN_CONFIG, DealDetailPage, DealKanbanCard, DealsListPage, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentSettings, DeploymentStatusBadge, EditApiKeyModal, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, ExecutionStats, ExecutionStatusBadge, FilterBar, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, KanbanBoard, LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, LogEntry, LogGroup, MdxRenderer, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyTasksPanel, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NoAccessState, NotificationBell, NotificationItem, NotificationList, NotificationPanel, OAuthConnectModal, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrganizationMembershipsList, PIPELINE_FUNNEL_ORDER, PermissionMatrix, PipelineFunnelWidget, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, QuickCreateActions, RecurringScheduleForm, RelativeScheduleForm, ResourceDefinitionSection, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, RichTextEditor, RoleBadge, RunResourceButton, SAVED_VIEW_PRESETS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SessionMemory, SortableHeader, StepConfigForm, TabSection, TableSelectionToolbar, TaskCard, TaskScheduler, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UpcomingMilestonesPage, VisualizerContainer, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionTimeline, ZodFormRenderer, calculateProgress, crmManifest, deliveryManifest, formatStatusLabel, getEnrichmentColor, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getLogLevelConfig, getStatusColor, iconMap, leadGenManifest, mdxComponents, milestoneStatusColors, monitoringManifest, noteTypeColors, operationsManifest, projectStatusColors, settingsManifest, showApiErrorNotification, showAuthError, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, taskStatusColors, taskTypeColors, useCrmPipelineSummary, useCrmQuickMetrics, useDeleteLists, useGraphBackgroundStyles, useGraphTheme, useNewKnowledgeMapLayout, useRecentCrmActivity } from '../chunk-OPKXEGE4.js';
2
2
  import '../chunk-B2DZLPDL.js';
3
3
  export { AppErrorBoundary, CrashErrorFallback, ErrorReportCard, buildErrorReport } from '../chunk-SHZT7ULK.js';
4
4
  import '../chunk-AUDNF2Q7.js';
@@ -18,12 +18,12 @@ import '../chunk-IIMU5YAJ.js';
18
18
  export { Graph_module_css_default as graphStyles } from '../chunk-HENXLGVD.js';
19
19
  export { CONTAINER_CONSTANTS, SHARED_VIZ_CONSTANTS } from '../chunk-7FPLLSHN.js';
20
20
  import '../chunk-RNP5R5I3.js';
21
- import '../chunk-PGWANFNE.js';
22
- import '../chunk-7ZWXTH5J.js';
21
+ import '../chunk-AUB3T7OY.js';
22
+ import '../chunk-5JYKCULK.js';
23
23
  import '../chunk-6D4LCJ52.js';
24
24
  import '../chunk-WF7CONXF.js';
25
25
  import '../chunk-WLOQ4IBG.js';
26
- import '../chunk-H2MEFUQD.js';
26
+ import '../chunk-BEVGBPHW.js';
27
27
  export { APIErrorAlert, ActivityTimeline, CenteredErrorState, CollapsibleSection, ContextViewer, CustomSelector, DetailCardSkeleton, ElevasisLoader, EmptyState, FeatureUnavailableState, GlowDot, JsonViewer, ListSkeleton, PageNotFound, PageTitleCaption, ResourceCard, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, TabCountBadge, TimeRangeSelector, TrendIndicator } from '../chunk-I53EX4VU.js';
28
28
  export { StyledMarkdown } from '../chunk-3KMDHCAR.js';
29
29
  export { CardHeader } from '../chunk-S3XR4II4.js';
@@ -35,8 +35,8 @@ import '../chunk-2IFYDILW.js';
35
35
  import '../chunk-Q7DJKLEN.js';
36
36
  import '../chunk-X66MVMZT.js';
37
37
  import '../chunk-KRWALB24.js';
38
- import '../chunk-7YXZFS56.js';
39
- import '../chunk-4O3VAALW.js';
38
+ import '../chunk-4UCAUBOL.js';
39
+ import '../chunk-YGUNUIME.js';
40
40
  import '../chunk-C6BDBZRO.js';
41
41
  import '../chunk-533DUEQY.js';
42
42
  import '../chunk-566XWGPP.js';