@elevasis/ui 2.24.0 → 2.25.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 (33) hide show
  1. package/dist/app/index.js +2 -2
  2. package/dist/{chunk-FUEXGRFR.js → chunk-7D2HSSIW.js} +1 -1
  3. package/dist/{chunk-KCJ6VATY.js → chunk-ABV5LDDC.js} +4 -4
  4. package/dist/chunk-AZXSFDG2.js +474 -0
  5. package/dist/{chunk-M2HWJY6O.js → chunk-HVC2BTFO.js} +92 -12
  6. package/dist/{chunk-2WZ635SS.js → chunk-LK4MPIMK.js} +1 -1
  7. package/dist/{chunk-QULLZ5PE.js → chunk-QJLRDTYS.js} +28 -2
  8. package/dist/{chunk-KLFIJDTD.js → chunk-V3UOW2HG.js} +1 -1
  9. package/dist/{chunk-MTR6AN2C.js → chunk-WSC5LU3U.js} +1 -1
  10. package/dist/{chunk-VGNAV3TH.js → chunk-WWVSPOJY.js} +2 -2
  11. package/dist/{chunk-YBZT7MJR.js → chunk-ZGZZIR6K.js} +1 -1
  12. package/dist/{chunk-4NWNS7TX.js → chunk-ZMXZ476Y.js} +1 -1
  13. package/dist/components/index.js +85 -16
  14. package/dist/features/crm/index.js +4 -4
  15. package/dist/features/dashboard/index.js +4 -4
  16. package/dist/features/delivery/index.js +4 -4
  17. package/dist/features/lead-gen/index.d.ts +14 -2
  18. package/dist/features/lead-gen/index.js +4 -5
  19. package/dist/features/monitoring/index.js +5 -5
  20. package/dist/features/monitoring/requests/index.js +3 -3
  21. package/dist/features/operations/index.js +6 -7
  22. package/dist/features/settings/index.js +4 -4
  23. package/dist/hooks/index.d.ts +25 -4
  24. package/dist/hooks/index.js +3 -3
  25. package/dist/hooks/published.d.ts +25 -4
  26. package/dist/hooks/published.js +3 -3
  27. package/dist/index.d.ts +25 -4
  28. package/dist/index.js +3 -3
  29. package/dist/provider/index.js +2 -2
  30. package/dist/provider/published.js +1 -1
  31. package/package.json +4 -4
  32. package/dist/chunk-OWHQ65EQ.js +0 -211
  33. package/dist/chunk-UDJE54WN.js +0 -209
@@ -1,18 +1,18 @@
1
- import { LEAD_GEN_STAGE_CATALOG, LEAD_GEN_PIPELINE_DEFINITIONS, findPipeline } from './chunk-OWHQ65EQ.js';
2
1
  import { PageContainer } from './chunk-BZZCNLT6.js';
3
2
  import { TableSelectionToolbar, SortableHeader } from './chunk-TUMSNGTX.js';
4
3
  import { SubshellNavItem } from './chunk-CEWTOKE7.js';
5
4
  import { SubshellSidebarSection } from './chunk-IIMU5YAJ.js';
6
5
  import { FilterBar } from './chunk-PDHTXPSF.js';
7
6
  import { CustomModal } from './chunk-KVJ3LFH2.js';
8
- import { acquisitionListKeys, useListsTelemetry, useLists, useCreateList, useTableSort, sortData, usePaginationState, useTableSelection, useList, useListProgress, useListExecutions, useCompanyFacets, useCompanies, useDeleteCompanies, useContacts, useDeleteContacts, useArtifacts, useListMembers, useListMember, useTransitionListMember, useDeriveActions } from './chunk-QULLZ5PE.js';
7
+ import { acquisitionListKeys, useListsTelemetry, useLists, useCreateList, useTableSort, sortData, usePaginationState, useTableSelection, useList, useListProgress, useListExecutions, useDeleteList, useCompanyFacets, useCompanies, useDeleteCompanies, useContacts, useDeleteContacts, useArtifacts, useListMembers, useListMember, useTransitionListMember, useDeriveActions } from './chunk-QJLRDTYS.js';
9
8
  import { showApiErrorNotification, showSuccessNotification } from './chunk-Z6FAH4XV.js';
9
+ import { LEAD_GEN_STAGE_CATALOG, LEAD_GEN_PIPELINE_DEFINITIONS, findPipeline } from './chunk-AZXSFDG2.js';
10
10
  import { SubshellContentContainer } from './chunk-TKAYX2SP.js';
11
11
  import { PageTitleCaption, CenteredErrorState, StatCard, CardHeader, EmptyState, JsonViewer } from './chunk-XUYBOO32.js';
12
12
  import { useRouterContext } from './chunk-Q7DJKLEN.js';
13
13
  import { useElevasisServices } from './chunk-IRW7JMQ4.js';
14
- import { Stack, Paper, Text, Anchor, Group, Title, ActionIcon, Divider, Box, SimpleGrid, Badge, Card, Button, Center, Loader, Alert, Table, TextInput, Select, Checkbox, Pagination, Textarea, Tabs, SegmentedControl, Drawer, Progress } from '@mantine/core';
15
- import { IconLayoutGrid, IconList, IconBuilding, IconAddressBook, IconTarget, IconExternalLink, IconX, IconAlertCircle, IconPlayerPlay, IconArrowRight, IconSparkles, IconListDetails, IconPlus, IconSearch, IconAlertTriangle, IconCopy, IconUsers, IconDatabase, IconBuildingFactory2, IconArrowLeft, IconChevronRight, IconMail, IconUser } from '@tabler/icons-react';
14
+ import { Stack, Paper, Text, Anchor, Group, Title, ActionIcon, Divider, Box, SimpleGrid, Badge, Card, Button, Center, Loader, Alert, Table, TextInput, Select, Checkbox, Pagination, Textarea, Tooltip, Tabs, SegmentedControl, Drawer } from '@mantine/core';
15
+ import { IconLayoutGrid, IconList, IconBuilding, IconAddressBook, IconTarget, IconExternalLink, IconX, IconAlertCircle, IconPlayerPlay, IconArrowRight, IconSparkles, IconListDetails, IconPlus, IconSearch, IconAlertTriangle, IconCopy, IconTrash, IconUsers, IconDatabase, IconBuildingFactory2, IconArrowLeft, IconChevronRight, IconMail, IconUser } from '@tabler/icons-react';
16
16
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
17
17
  import { Link, useNavigate, useSearch } from '@tanstack/react-router';
18
18
  import { useQueryClient, useMutation } from '@tanstack/react-query';
@@ -1111,23 +1111,55 @@ function PipelineSection({
1111
1111
  /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, children: title }),
1112
1112
  orderedKeys.length === 0 ? /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: emptyText }) : /* @__PURE__ */ jsx(Stack, { gap: "xs", children: orderedKeys.map((key) => {
1113
1113
  const entry = byStage[key];
1114
- const done = entry?.done ?? 0;
1115
1114
  const total = entry?.total ?? 0;
1116
- const percent = total > 0 ? Math.round(done / total * 100) : 0;
1115
+ const attempted = entry?.attempted ?? 0;
1116
+ const percent = total > 0 ? Math.round(attempted / total * 100) : 0;
1117
1117
  const label = LEAD_GEN_STAGE_CATALOG[key]?.label ?? key;
1118
+ const segments = [
1119
+ { key: "success", value: entry?.success ?? 0, color: "var(--mantine-color-green-6)" },
1120
+ { key: "noResult", value: entry?.noResult ?? 0, color: "var(--mantine-color-gray-6)" },
1121
+ { key: "skipped", value: entry?.skipped ?? 0, color: "var(--mantine-color-yellow-6)" },
1122
+ { key: "error", value: entry?.error ?? 0, color: "var(--mantine-color-red-6)" },
1123
+ { key: "other", value: entry?.other ?? 0, color: "var(--mantine-color-blue-6)" }
1124
+ ].filter((segment) => segment.value > 0);
1125
+ const statusSummary = [
1126
+ `${entry?.success ?? 0} success`,
1127
+ `${entry?.noResult ?? 0} no result`,
1128
+ `${entry?.skipped ?? 0} skipped`,
1129
+ `${entry?.error ?? 0} errors`,
1130
+ (entry?.other ?? 0) > 0 ? `${entry?.other ?? 0} other` : null,
1131
+ (entry?.notAttempted ?? 0) > 0 ? `${entry?.notAttempted ?? 0} not attempted` : null
1132
+ ].filter(Boolean);
1118
1133
  return /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
1119
1134
  /* @__PURE__ */ jsxs(Group, { justify: "space-between", gap: "xs", children: [
1120
1135
  /* @__PURE__ */ jsx(Text, { size: "sm", children: label }),
1121
1136
  /* @__PURE__ */ jsxs(Text, { size: "xs", c: "dimmed", children: [
1122
- done,
1137
+ attempted,
1123
1138
  " / ",
1124
1139
  total,
1125
- " (",
1140
+ " attempted (",
1126
1141
  percent,
1127
1142
  "%)"
1128
1143
  ] })
1129
1144
  ] }),
1130
- /* @__PURE__ */ jsx(Progress, { value: percent, size: "sm", color: getMemberStateColor2(key) })
1145
+ /* @__PURE__ */ jsx(
1146
+ Box,
1147
+ {
1148
+ h: 8,
1149
+ bg: "var(--mantine-color-dark-4)",
1150
+ style: { borderRadius: 999, display: "flex", overflow: "hidden" },
1151
+ children: segments.map((segment) => /* @__PURE__ */ jsx(
1152
+ Box,
1153
+ {
1154
+ h: "100%",
1155
+ w: `${total > 0 ? segment.value / total * 100 : 0}%`,
1156
+ bg: segment.color
1157
+ },
1158
+ segment.key
1159
+ ))
1160
+ }
1161
+ ),
1162
+ /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: statusSummary.join(" \xB7 ") })
1131
1163
  ] }, key);
1132
1164
  }) })
1133
1165
  ] });
@@ -1240,12 +1272,12 @@ function ListConfigCard({ list }) {
1240
1272
  function OverviewTab({ list, progress }) {
1241
1273
  const hasMetadata = list.metadata && Object.keys(list.metadata).length > 0;
1242
1274
  return /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
1243
- /* @__PURE__ */ jsx(PipelineStagesCard, { list, progress }),
1244
- /* @__PURE__ */ jsx(ListConfigCard, { list }),
1245
1275
  /* @__PURE__ */ jsxs(SimpleGrid, { cols: { base: 1, sm: 2 }, children: [
1246
1276
  /* @__PURE__ */ jsx(StatCard, { label: "Companies", value: progress.totalCompanies, icon: IconBuilding }),
1247
1277
  /* @__PURE__ */ jsx(StatCard, { label: "Members", value: progress.totalMembers, icon: IconUsers })
1248
1278
  ] }),
1279
+ /* @__PURE__ */ jsx(PipelineStagesCard, { list, progress }),
1280
+ /* @__PURE__ */ jsx(ListConfigCard, { list }),
1249
1281
  hasMetadata && /* @__PURE__ */ jsx(Card, { withBorder: true, children: /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
1250
1282
  /* @__PURE__ */ jsx(Title, { order: 5, children: "Metadata / Qualification Signals" }),
1251
1283
  /* @__PURE__ */ jsx(JsonViewer, { data: list.metadata, maxHeight: 320 })
@@ -1412,6 +1444,8 @@ function LeadGenListDetailPage({ listId }) {
1412
1444
  const listQuery = useList(listId);
1413
1445
  const progressQuery = useListProgress(listId);
1414
1446
  const executionsQuery = useListExecutions(listId);
1447
+ const deleteListMutation = useDeleteList();
1448
+ const [deleteModalOpen, setDeleteModalOpen] = useState(false);
1415
1449
  const isLoading = listQuery.isLoading || progressQuery.isLoading || executionsQuery.isLoading;
1416
1450
  const error = listQuery.error ?? progressQuery.error ?? executionsQuery.error;
1417
1451
  const backButton = /* @__PURE__ */ jsx(
@@ -1470,6 +1504,14 @@ function LeadGenListDetailPage({ listId }) {
1470
1504
  void navigator.clipboard.writeText(`/acquisition --lead-gen list ${list.id}`);
1471
1505
  showSuccessNotification("Copied list command to clipboard");
1472
1506
  };
1507
+ const handleDeleteList = () => {
1508
+ deleteListMutation.mutate(list.id, {
1509
+ onSuccess: () => {
1510
+ setDeleteModalOpen(false);
1511
+ void navigate({ to: "/lead-gen/lists" });
1512
+ }
1513
+ });
1514
+ };
1473
1515
  return /* @__PURE__ */ jsxs(SubshellContentContainer, { children: [
1474
1516
  /* @__PURE__ */ jsx(PageContainer, { children: /* @__PURE__ */ jsxs(Stack, { children: [
1475
1517
  /* @__PURE__ */ jsx(
@@ -1492,6 +1534,18 @@ function LeadGenListDetailPage({ listId }) {
1492
1534
  /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", ff: "monospace", children: list.id }),
1493
1535
  /* @__PURE__ */ jsx(ActionIcon, { variant: "subtle", size: "sm", "aria-label": "Copy list command", children: /* @__PURE__ */ jsx(IconCopy, { size: 14 }) })
1494
1536
  ] }),
1537
+ /* @__PURE__ */ jsx(Tooltip, { label: "Delete list", children: /* @__PURE__ */ jsx(
1538
+ ActionIcon,
1539
+ {
1540
+ variant: "subtle",
1541
+ color: "red",
1542
+ size: "sm",
1543
+ "aria-label": "Delete list",
1544
+ loading: deleteListMutation.isPending,
1545
+ onClick: () => setDeleteModalOpen(true),
1546
+ children: /* @__PURE__ */ jsx(IconTrash, { size: 14 })
1547
+ }
1548
+ ) }),
1495
1549
  backButton
1496
1550
  ] })
1497
1551
  ] }),
@@ -1510,7 +1564,33 @@ function LeadGenListDetailPage({ listId }) {
1510
1564
  /* @__PURE__ */ jsx(ExecutionHistorySection, { executions })
1511
1565
  ] })
1512
1566
  ] }) }),
1513
- /* @__PURE__ */ jsx(ListMemberDrawer, { memberId, memberKind, listId, onClose: handleDrawerClose })
1567
+ /* @__PURE__ */ jsx(ListMemberDrawer, { memberId, memberKind, listId, onClose: handleDrawerClose }),
1568
+ /* @__PURE__ */ jsx(
1569
+ CustomModal,
1570
+ {
1571
+ opened: deleteModalOpen,
1572
+ onClose: () => !deleteListMutation.isPending && setDeleteModalOpen(false),
1573
+ size: "sm",
1574
+ loading: deleteListMutation.isPending,
1575
+ children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
1576
+ /* @__PURE__ */ jsxs(Group, { gap: "sm", children: [
1577
+ /* @__PURE__ */ jsx(IconTrash, { size: 22, color: "var(--color-error)" }),
1578
+ /* @__PURE__ */ jsx(Title, { order: 4, children: "Delete list" })
1579
+ ] }),
1580
+ /* @__PURE__ */ jsxs(Text, { size: "sm", children: [
1581
+ "Are you sure you want to delete",
1582
+ " ",
1583
+ /* @__PURE__ */ jsx(Text, { span: true, fw: 600, children: list.name }),
1584
+ "?"
1585
+ ] }),
1586
+ /* @__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." }),
1587
+ /* @__PURE__ */ jsxs(Group, { justify: "flex-end", mt: "md", children: [
1588
+ /* @__PURE__ */ jsx(Button, { variant: "light", onClick: () => setDeleteModalOpen(false), disabled: deleteListMutation.isPending, children: "Cancel" }),
1589
+ /* @__PURE__ */ jsx(Button, { color: "red", loading: deleteListMutation.isPending, onClick: handleDeleteList, children: "Delete" })
1590
+ ] })
1591
+ ] })
1592
+ }
1593
+ )
1514
1594
  ] });
1515
1595
  }
1516
1596
  var PAGE_SIZE_DEFAULT2 = 20;
@@ -1,6 +1,6 @@
1
1
  import { PRESETS, getPreset, generateShades, mantineThemeOverride, createCssVariablesResolver, PresetsProvider } from './chunk-QIW6OCEI.js';
2
2
  import { AppBackground } from './chunk-WLOQ4IBG.js';
3
- import { ElevasisCoreProvider } from './chunk-UDJE54WN.js';
3
+ import { ElevasisCoreProvider } from './chunk-AZXSFDG2.js';
4
4
  import { ElevasisLoader } from './chunk-SZHARWKU.js';
5
5
  import { AppearanceProvider } from './chunk-QJ2KCHKX.js';
6
6
  import { getErrorInfo, formatErrorMessage, getErrorTitle } from './chunk-SGXXJE52.js';
@@ -2,7 +2,7 @@ import { useSupabase } from './chunk-BRXELOHC.js';
2
2
  import { observabilityKeys } from './chunk-QSTH6T77.js';
3
3
  import { showApiErrorNotification, showSuccessNotification, projectKeys, noteKeys, taskKeys, milestoneKeys } from './chunk-Z6FAH4XV.js';
4
4
  import { GRAPH_CONSTANTS } from './chunk-22UVE3RA.js';
5
- import { useNotificationAdapter, deriveActions } from './chunk-UDJE54WN.js';
5
+ import { useNotificationAdapter, deriveActions } from './chunk-AZXSFDG2.js';
6
6
  import { useOptionalElevasisFeatures } from './chunk-LJWV4TWV.js';
7
7
  import { HTTP_HEADERS } from './chunk-T6INEVX6.js';
8
8
  import { ResourceTypeSchema, NonEmptyStringSchema, OriginResourceTypeSchema, UuidSchema, CredentialNameSchema, STALE_TIME_DEFAULT, REFETCH_INTERVAL_DASHBOARD, STALE_TIME_MONITORING, STALE_TIME_ADMIN, getTimeRangeDates, REFETCH_INTERVAL_RUNNING, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, APIClientError, GC_TIME_MEDIUM, GC_TIME_SHORT } from './chunk-SGXXJE52.js';
@@ -2445,6 +2445,32 @@ function useCreateDealNote() {
2445
2445
  }
2446
2446
  });
2447
2447
  }
2448
+ function useTransitionState() {
2449
+ const { apiRequest, organizationId } = useElevasisServices();
2450
+ const queryClient = useQueryClient();
2451
+ return useMutation({
2452
+ mutationFn: async (input) => {
2453
+ const { dealId, stateKey, reason, expectedUpdatedAt } = input;
2454
+ await apiRequest(`/deals/${dealId}/state`, {
2455
+ method: "PATCH",
2456
+ body: JSON.stringify({
2457
+ stateKey,
2458
+ ...reason !== void 0 ? { reason } : {},
2459
+ ...expectedUpdatedAt !== void 0 ? { expectedUpdatedAt } : {}
2460
+ })
2461
+ });
2462
+ },
2463
+ onSuccess: (_, variables) => {
2464
+ queryClient.invalidateQueries({ queryKey: dealKeys.lists() });
2465
+ queryClient.invalidateQueries({ queryKey: dealKeys.summaries() });
2466
+ queryClient.invalidateQueries({ queryKey: ["deal-detail", organizationId, variables.dealId] });
2467
+ },
2468
+ onError: (error) => {
2469
+ queryClient.invalidateQueries({ queryKey: dealKeys.all });
2470
+ showApiErrorNotification(error);
2471
+ }
2472
+ });
2473
+ }
2448
2474
  var dealTaskKeys = {
2449
2475
  all: ["deal-tasks"],
2450
2476
  list: (orgId, dealId) => ["deal-tasks", orgId, dealId],
@@ -5054,4 +5080,4 @@ function useProjectRealtime(projectId) {
5054
5080
  });
5055
5081
  }
5056
5082
 
5057
- export { ApiKeyService, COMMAND_VIEW_VISUALIZATION_MODES, CredentialSchemas, CredentialService, DeploymentService, MEMBERSHIP_STATUS_COLORS, OperationsService, OrganizationMembershipService, WebhookEndpointService, acquisitionListKeys, collectResourceFilterFacets, companyKeys, contactKeys, dealKeys, dealNoteKeys, dealTaskKeys, executionsKeys, filterByDomainFilters, getCommandViewGraphPositions, getResourceFilterFacetIds, isSessionCapable, labelResourceFilterFacet, leadGenArtifactKeys, leadGenListCompanyKeys, leadGenListMemberKeys, operationsKeys, projectActivityKeys, requestsKeys, scheduleKeys, sessionsKeys, sortData, transformMembershipToTableRow, useActivateDeployment, useActivities, useActivitiesRealtime, useActivityFilters, useActivityTrend, useArchiveSession, useArchivedLogs, useArtifacts, useAssignRole, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewDomainFilters, useCommandViewLayout, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompanyFacets, useCompleteDealTask, useContact, useContacts, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateApiKey, useCreateArtifact, useCreateCompany, useCreateContact, useCreateCredential, useCreateDealNote, useCreateDealTask, useCreateList, useCreateOrgRole, useCreateSchedule, useCreateSession, useCreateWebhookEndpoint, useCredentials, useDashboardMetrics, useDeactivateDeployment, useDeactivateMembership, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDealsLookup, useDealsSummary, useDeleteApiKey, useDeleteCompanies, useDeleteContacts, useDeleteCredential, useDeleteDeal, useDeleteDeployment, useDeleteExecution, useDeleteList, useDeleteOrgRole, useDeleteRequest, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeleteWebhookEndpoint, useDeriveActions, useEffectivePermissions, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAction, useExecuteAsync, useExecuteResource, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionLogsFilters, useExecutionPanelState, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphStats, useHasPermission, useList, useListApiKeys, useListDeployments, useListExecutions, useListMember, useListMembers, useListProgress, useListSchedules, useListWebhookEndpoints, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useNotificationCount, useNotifications, useOrgRoles, useOrganizationMembers, useOrganizationPermissions, usePaginationState, usePatchTask, usePauseSchedule, usePermissionCatalog, useProjectActivities, useProjectRealtime, useReactivateMembership, useRecentExecutionsByResource, useRequest, useRequestsList, 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, useTableSelection, useTableSort, useTestNotification, useTimeRangeDates, useTopFailingResources, useTransitionItem, useTransitionListCompany, useTransitionListMember, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateApiKey, useUpdateCompany, useUpdateContact, useUpdateCredential, useUpdateList, useUpdateListConfig, useUpdateListStatus, useUpdateMemberConfig, useUpdateOrgRole, useUpdateRequestStatus, useUpdateSchedule, useUpdateWebhookEndpoint, useUserMemberships, useVisibleResources, useWarningNotification };
5083
+ export { ApiKeyService, COMMAND_VIEW_VISUALIZATION_MODES, CredentialSchemas, CredentialService, DeploymentService, MEMBERSHIP_STATUS_COLORS, OperationsService, OrganizationMembershipService, WebhookEndpointService, acquisitionListKeys, collectResourceFilterFacets, companyKeys, contactKeys, dealKeys, dealNoteKeys, dealTaskKeys, executionsKeys, filterByDomainFilters, getCommandViewGraphPositions, getResourceFilterFacetIds, isSessionCapable, labelResourceFilterFacet, leadGenArtifactKeys, leadGenListCompanyKeys, leadGenListMemberKeys, operationsKeys, projectActivityKeys, requestsKeys, scheduleKeys, sessionsKeys, sortData, transformMembershipToTableRow, useActivateDeployment, useActivities, useActivitiesRealtime, useActivityFilters, useActivityTrend, useArchiveSession, useArchivedLogs, useArtifacts, useAssignRole, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewDomainFilters, useCommandViewLayout, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompanyFacets, useCompleteDealTask, useContact, useContacts, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateApiKey, useCreateArtifact, useCreateCompany, useCreateContact, useCreateCredential, useCreateDealNote, useCreateDealTask, useCreateList, useCreateOrgRole, useCreateSchedule, useCreateSession, useCreateWebhookEndpoint, useCredentials, useDashboardMetrics, useDeactivateDeployment, useDeactivateMembership, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDealsLookup, useDealsSummary, useDeleteApiKey, useDeleteCompanies, useDeleteContacts, useDeleteCredential, useDeleteDeal, useDeleteDeployment, useDeleteExecution, useDeleteList, useDeleteOrgRole, useDeleteRequest, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeleteWebhookEndpoint, useDeriveActions, useEffectivePermissions, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAction, useExecuteAsync, useExecuteResource, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionLogsFilters, useExecutionPanelState, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphStats, useHasPermission, useList, useListApiKeys, useListDeployments, useListExecutions, useListMember, useListMembers, useListProgress, useListSchedules, useListWebhookEndpoints, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useNotificationCount, useNotifications, useOrgRoles, useOrganizationMembers, useOrganizationPermissions, usePaginationState, usePatchTask, usePauseSchedule, usePermissionCatalog, useProjectActivities, useProjectRealtime, useReactivateMembership, useRecentExecutionsByResource, useRequest, useRequestsList, 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, useTableSelection, useTableSort, useTestNotification, useTimeRangeDates, useTopFailingResources, useTransitionItem, useTransitionListCompany, useTransitionListMember, useTransitionState, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateApiKey, useUpdateCompany, useUpdateContact, useUpdateCredential, useUpdateList, useUpdateListConfig, useUpdateListStatus, useUpdateMemberConfig, useUpdateOrgRole, useUpdateRequestStatus, useUpdateSchedule, useUpdateWebhookEndpoint, useUserMemberships, useVisibleResources, useWarningNotification };
@@ -3,7 +3,7 @@ import { AppShellLoader } from './chunk-M25JL54Z.js';
3
3
  import { FilterBar } from './chunk-PDHTXPSF.js';
4
4
  import { CustomModal } from './chunk-KVJ3LFH2.js';
5
5
  import { formatDuration } from './chunk-E4WQGJNS.js';
6
- import { useResolveError, useResolveAllErrors, usePaginationState, useErrorDetails, useMarkAsRead, useExecutionLogsFilters, useExecutionLogs, useExecutionHealth, useErrorAnalysis, useTimeRangeDates, useErrorDetail, useResolveErrorsByExecution, useResources, useCostTrends, useCostSummary, useCostByModel, useCostBreakdown, useActivityFilters, useActivityTrend, useActivities, useNotifications, useMarkAllAsRead, useTestNotification } from './chunk-QULLZ5PE.js';
6
+ import { useResolveError, useResolveAllErrors, usePaginationState, useErrorDetails, useMarkAsRead, useExecutionLogsFilters, useExecutionLogs, useExecutionHealth, useErrorAnalysis, useTimeRangeDates, useErrorDetail, useResolveErrorsByExecution, useResources, useCostTrends, useCostSummary, useCostByModel, useCostBreakdown, useActivityFilters, useActivityTrend, useActivities, useNotifications, useMarkAllAsRead, useTestNotification } from './chunk-QJLRDTYS.js';
7
7
  import { CenteredErrorState, CardHeader, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, EmptyState, PageTitleCaption, JsonViewer } from './chunk-XUYBOO32.js';
8
8
  import { useRouterContext } from './chunk-Q7DJKLEN.js';
9
9
  import { formatBucketTime, PAGE_SIZE_DEFAULT, getTimeRangeDates } from './chunk-SGXXJE52.js';
@@ -5,7 +5,7 @@ import { SubshellNavItem } from './chunk-CEWTOKE7.js';
5
5
  import { SubshellSidebarSection } from './chunk-IIMU5YAJ.js';
6
6
  import { FilterBar } from './chunk-PDHTXPSF.js';
7
7
  import { CustomModal } from './chunk-KVJ3LFH2.js';
8
- import { useProjectRealtime, useTableSort, sortData, usePaginationState, useTableSelection, useProjectActivities } from './chunk-QULLZ5PE.js';
8
+ import { useProjectRealtime, useTableSort, sortData, usePaginationState, useTableSelection, useProjectActivities } from './chunk-QJLRDTYS.js';
9
9
  import { useCreateTask, useCreateMilestone, useProjectMilestones, useUpdateTask, useProjects, useDeleteProject, useProject, useProjectNotes, useUpdateMilestone, useCreateNote, showApiErrorNotification, projectKeys } from './chunk-Z6FAH4XV.js';
10
10
  import { SubshellContentContainer } from './chunk-TKAYX2SP.js';
11
11
  import { StatusBadge, EmptyState, PageTitleCaption, CenteredErrorState, StatCard, CardHeader } from './chunk-XUYBOO32.js';
@@ -4,8 +4,8 @@ import { SubshellNavItem } from './chunk-CEWTOKE7.js';
4
4
  import { SubshellSidebarSection } from './chunk-IIMU5YAJ.js';
5
5
  import { FilterBar } from './chunk-PDHTXPSF.js';
6
6
  import { CustomModal } from './chunk-KVJ3LFH2.js';
7
- import { useExecuteAction, useDealTasksDue, useDealsLookup, useCreateDealTask, useDealsSummary, useDeleteDeal, usePaginationState, useDeals, useTableSort, sortData, useTableSelection, useDealDetail, useCompany } from './chunk-QULLZ5PE.js';
8
- import { useCrmActions, deriveActions } from './chunk-UDJE54WN.js';
7
+ import { useExecuteAction, useDealTasksDue, useDealsLookup, useCreateDealTask, useDealsSummary, useDeleteDeal, usePaginationState, useDeals, useTableSort, sortData, useTableSelection, useDealDetail, useCompany } from './chunk-QJLRDTYS.js';
8
+ import { useCrmActions, deriveActions } from './chunk-AZXSFDG2.js';
9
9
  import { SubshellContentContainer } from './chunk-TKAYX2SP.js';
10
10
  import { CenteredErrorState, CardHeader, PageTitleCaption, EmptyState, ActivityTimeline } from './chunk-XUYBOO32.js';
11
11
  import { useRouterContext } from './chunk-Q7DJKLEN.js';
@@ -2,7 +2,7 @@ import { AppShellLoader } from './chunk-M25JL54Z.js';
2
2
  import { FilterBar } from './chunk-PDHTXPSF.js';
3
3
  import { CustomModal } from './chunk-KVJ3LFH2.js';
4
4
  import { useAvailablePresets } from './chunk-SNHGSCKH.js';
5
- import { useDeleteCredential, useCreateCredential, useCredentials, MEMBERSHIP_STATUS_COLORS, transformMembershipToTableRow, useUserMemberships, useUpdateWebhookEndpoint, useResources, useDeleteWebhookEndpoint, useCreateWebhookEndpoint, useListWebhookEndpoints, useOrgRoles, useAssignRole, useRevokeRole, useHasPermission, useUpdateMemberConfig, useOrganizationMembers, useUpdateCredential, CredentialSchemas } from './chunk-QULLZ5PE.js';
5
+ import { useDeleteCredential, useCreateCredential, useCredentials, MEMBERSHIP_STATUS_COLORS, transformMembershipToTableRow, useUserMemberships, useUpdateWebhookEndpoint, useResources, useDeleteWebhookEndpoint, useCreateWebhookEndpoint, useListWebhookEndpoints, useOrgRoles, useAssignRole, useRevokeRole, useHasPermission, useUpdateMemberConfig, useOrganizationMembers, useUpdateCredential, CredentialSchemas } from './chunk-QJLRDTYS.js';
6
6
  import { showApiErrorNotification, showErrorNotification, showSuccessNotification } from './chunk-Z6FAH4XV.js';
7
7
  import { ListSkeleton, EmptyState, PageTitleCaption, CardHeader, APIErrorAlert, StatCard } from './chunk-XUYBOO32.js';
8
8
  import { RoleBadge } from './chunk-ZDKQNQ4X.js';
@@ -1,5 +1,5 @@
1
1
  import { useCyberColors, CyberLegendItem, CyberAreaChart } from './chunk-TSSKOQBX.js';
2
- import { useResourcesHealth } from './chunk-QULLZ5PE.js';
2
+ import { useResourcesHealth } from './chunk-QJLRDTYS.js';
3
3
  import { CardHeader, EmptyState } from './chunk-XUYBOO32.js';
4
4
  import { getTimeRangeDates, formatBucketTime } from './chunk-SGXXJE52.js';
5
5
  import { Paper, Center, Loader, Group } from '@mantine/core';
@@ -1,26 +1,25 @@
1
1
  import { useBreadcrumbs } from '../chunk-DDZOHLHB.js';
2
2
  import '../chunk-6Z3G4U2R.js';
3
- export { AllTasksPage, HealthStatusCard, MilestoneTimeline, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, TaskCard, UpcomingMilestonesPage, calculateProgress, deliveryManifest, formatStatusLabel, milestoneStatusColors, noteTypeColors, projectStatusColors, taskStatusColors, taskTypeColors } from '../chunk-MTR6AN2C.js';
4
- export { LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, getEnrichmentColor, getStatusColor, leadGenManifest, useDeleteLists } from '../chunk-M2HWJY6O.js';
5
- export { ActionModal, AgentDefinitionDisplay, AgentExecutionLogs, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, CheckpointGroup, CollapsibleJsonSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, ConfigCard, ContentSections, ContextUsageBadge, ContractDisplay, ExecutionErrorSection, LogEntry, LogGroup, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, ResourceDefinitionSection, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceNotFoundState, SessionMemory, ToolsListDisplay, WorkflowDefinitionDisplay, WorkflowExecutionLogs, getExecutionStatusConfig, getIcon, getLogLevelConfig, iconMap, operationsManifest, useNewKnowledgeMapLayout } from '../chunk-KCJ6VATY.js';
3
+ export { AllTasksPage, HealthStatusCard, MilestoneTimeline, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, TaskCard, UpcomingMilestonesPage, calculateProgress, deliveryManifest, formatStatusLabel, milestoneStatusColors, noteTypeColors, projectStatusColors, taskStatusColors, taskTypeColors } from '../chunk-WSC5LU3U.js';
4
+ export { LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, getEnrichmentColor, getStatusColor, leadGenManifest, useDeleteLists } from '../chunk-HVC2BTFO.js';
5
+ export { ActionModal, AgentDefinitionDisplay, AgentExecutionLogs, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, CheckpointGroup, CollapsibleJsonSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, ConfigCard, ContentSections, ContextUsageBadge, ContractDisplay, ExecutionErrorSection, LogEntry, LogGroup, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, ResourceDefinitionSection, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceNotFoundState, SessionMemory, ToolsListDisplay, WorkflowDefinitionDisplay, WorkflowExecutionLogs, getExecutionStatusConfig, getIcon, getLogLevelConfig, iconMap, operationsManifest, useNewKnowledgeMapLayout } from '../chunk-ABV5LDDC.js';
6
6
  import '../chunk-ROSMICXG.js';
7
7
  import '../chunk-3JCMO7SD.js';
8
8
  import '../chunk-ZTWA5H77.js';
9
- import { BaseNode, useGraphTheme, BaseEdge, GraphBackground, GraphLegend, GraphFitViewButton } from '../chunk-FUEXGRFR.js';
10
- export { AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, BaseEdge, BaseNode, EmptyVisualizer, ExecutionStats, ExecutionStatusBadge, FormFieldRenderer, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, RunResourceButton, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, VisualizerContainer, WorkflowExecutionTimeline, ZodFormRenderer, getGraphBackgroundStyles, useGraphBackgroundStyles, useGraphTheme } from '../chunk-FUEXGRFR.js';
9
+ import { BaseNode, useGraphTheme, BaseEdge, GraphBackground, GraphLegend, GraphFitViewButton } from '../chunk-7D2HSSIW.js';
10
+ export { AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, BaseEdge, BaseNode, EmptyVisualizer, ExecutionStats, ExecutionStatusBadge, FormFieldRenderer, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, RunResourceButton, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, VisualizerContainer, WorkflowExecutionTimeline, ZodFormRenderer, getGraphBackgroundStyles, useGraphBackgroundStyles, useGraphTheme } from '../chunk-7D2HSSIW.js';
11
11
  import '../chunk-442LZPIR.js';
12
- import '../chunk-OWHQ65EQ.js';
13
- import { NotificationList } from '../chunk-KLFIJDTD.js';
14
- export { ActivityCard, ActivityFilters as ActivityFiltersBar, ActivityTable, BusinessImpactCard, CostBreakdownCard, CostByModelTable, CostMetricsCard, ErrorAnalysisCard, ErrorBreakdownTable, ExecutionBreakdownTable, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, NotificationItem, NotificationList, monitoringManifest } from '../chunk-KLFIJDTD.js';
15
- export { ResourceHealthPanel } from '../chunk-4NWNS7TX.js';
12
+ import { NotificationList } from '../chunk-V3UOW2HG.js';
13
+ export { ActivityCard, ActivityFilters as ActivityFiltersBar, ActivityTable, BusinessImpactCard, CostBreakdownCard, CostByModelTable, CostMetricsCard, ErrorAnalysisCard, ErrorBreakdownTable, ExecutionBreakdownTable, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, NotificationItem, NotificationList, monitoringManifest } from '../chunk-V3UOW2HG.js';
14
+ export { ResourceHealthPanel } from '../chunk-ZMXZ476Y.js';
16
15
  export { ResourceHealthChart, getHealthColor } from '../chunk-LGKLC5MG.js';
17
16
  import '../chunk-TSSKOQBX.js';
18
17
  export { SEOSidebar, SEOSidebarMiddle, SEOSidebarTop, seoManifest } from '../chunk-BIWHHWCJ.js';
19
- import { showAuthError } from '../chunk-YBZT7MJR.js';
20
- export { CreateCredentialModal, CredentialList, CredentialSettings, MembershipFeaturePanel, MembershipStatusBadge, OAuthConnectModal, OrganizationMembershipsList, WebhookUrlDisplayModal, settingsManifest, showAuthError } from '../chunk-YBZT7MJR.js';
18
+ import { showAuthError } from '../chunk-ZGZZIR6K.js';
19
+ export { CreateCredentialModal, CredentialList, CredentialSettings, MembershipFeaturePanel, MembershipStatusBadge, OAuthConnectModal, OrganizationMembershipsList, WebhookUrlDisplayModal, settingsManifest, showAuthError } from '../chunk-ZGZZIR6K.js';
21
20
  import { AppShellLoader } from '../chunk-M25JL54Z.js';
22
- import { ActionFormButton, ActionButton } from '../chunk-VGNAV3TH.js';
23
- export { ActivityFeedWidget, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, DealDetailPage, DealsListPage, MetricsStrip, MyTasksPanel, PIPELINE_FUNNEL_ORDER, PipelineFunnelWidget, QuickCreateActions, SAVED_VIEW_PRESETS, SavedViewsPanel, crmManifest, useCrmPipelineSummary, useCrmQuickMetrics, useRecentCrmActivity } from '../chunk-VGNAV3TH.js';
21
+ import { ActionFormButton, ActionButton } from '../chunk-WWVSPOJY.js';
22
+ export { ActivityFeedWidget, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, DealDetailPage, DealsListPage, MetricsStrip, MyTasksPanel, PIPELINE_FUNNEL_ORDER, PipelineFunnelWidget, QuickCreateActions, SAVED_VIEW_PRESETS, SavedViewsPanel, crmManifest, useCrmPipelineSummary, useCrmQuickMetrics, useRecentCrmActivity } from '../chunk-WWVSPOJY.js';
24
23
  import '../chunk-BZZCNLT6.js';
25
24
  export { SortableHeader, TableSelectionToolbar } from '../chunk-TUMSNGTX.js';
26
25
  import '../chunk-CEWTOKE7.js';
@@ -32,7 +31,7 @@ export { ConfirmationInputModal, ConfirmationModal, CustomModal } from '../chunk
32
31
  import '../chunk-SNHGSCKH.js';
33
32
  export { CONTAINER_CONSTANTS, SHARED_VIZ_CONSTANTS } from '../chunk-E4WQGJNS.js';
34
33
  import '../chunk-7M2VOCYN.js';
35
- import { useCommandViewLayout, useOrganizationPermissions, useCreateOrgRole, usePermissionCatalog, useUpdateApiKey, useDeleteApiKey, useCreateApiKey, useListApiKeys, usePaginationState, useActivateDeployment, useDeactivateDeployment, useDeleteDeployment, useListDeployments, useResources, useCreateSchedule, useListSchedules, usePauseSchedule, useResumeSchedule, useCancelSchedule, useDeleteSchedule, useDealNotes, useCreateDealNote, useDeals, useTransitionItem, dealKeys, useMarkAllAsRead, useNotifications } from '../chunk-QULLZ5PE.js';
34
+ import { useCommandViewLayout, useOrganizationPermissions, useCreateOrgRole, usePermissionCatalog, useUpdateApiKey, useDeleteApiKey, useCreateApiKey, useListApiKeys, usePaginationState, useActivateDeployment, useDeactivateDeployment, useDeleteDeployment, useListDeployments, useResources, useCreateSchedule, useListSchedules, usePauseSchedule, useResumeSchedule, useCancelSchedule, useDeleteSchedule, useDealNotes, useCreateDealNote, useTransitionState, useTransitionItem, useDeals, dealKeys, useMarkAllAsRead, useNotifications } from '../chunk-QJLRDTYS.js';
36
35
  import '../chunk-BRXELOHC.js';
37
36
  import '../chunk-QSTH6T77.js';
38
37
  import { showSuccessNotification, showErrorNotification, showApiErrorNotification } from '../chunk-Z6FAH4XV.js';
@@ -41,11 +40,11 @@ import { Graph_module_css_default, useDirectedChainHighlighting, useNodeSelectio
41
40
  export { Graph_module_css_default as graphStyles } from '../chunk-22UVE3RA.js';
42
41
  import '../chunk-3ZMAGTWF.js';
43
42
  import '../chunk-EIOJNUPL.js';
44
- import '../chunk-2WZ635SS.js';
43
+ import '../chunk-LK4MPIMK.js';
45
44
  import '../chunk-QIW6OCEI.js';
46
45
  import '../chunk-WLOQ4IBG.js';
47
46
  import '../chunk-AXXTN44Z.js';
48
- import { useCrmActions, deriveActions } from '../chunk-UDJE54WN.js';
47
+ import { useCrmActions, deriveActions, CRM_PIPELINE_DEFINITION, getValidStatesForStage } from '../chunk-AZXSFDG2.js';
49
48
  import '../chunk-LJWV4TWV.js';
50
49
  import { SubshellContentContainer } from '../chunk-TKAYX2SP.js';
51
50
  import { ListSkeleton, EmptyState, PageTitleCaption, StatCard, CenteredErrorState, CardHeader, ActivityTimeline } from '../chunk-XUYBOO32.js';
@@ -3355,10 +3354,14 @@ function formatStageLabel(stage) {
3355
3354
  }
3356
3355
  function DealDrawer({ deal, config, opened, onClose, renderActions }) {
3357
3356
  const [noteBody, setNoteBody] = useState("");
3357
+ const [stagingStage, setStagingStage] = useState("interested");
3358
+ const [stagingState, setStagingState] = useState(null);
3358
3359
  const { data: notes, isLoading: notesLoading } = useDealNotes(deal?.id ?? "");
3359
3360
  const createNote = useCreateDealNote();
3360
3361
  const crmActions = useCrmActions();
3361
3362
  const actions = useMemo(() => deal ? deriveActions(deal, crmActions) : [], [deal, crmActions]);
3363
+ const transitionState = useTransitionState();
3364
+ const transitionItem = useTransitionItem();
3362
3365
  if (!deal) return null;
3363
3366
  const contactFirstName = deal.contact?.first_name || "";
3364
3367
  const contactLastName = deal.contact?.last_name || "";
@@ -3424,6 +3427,72 @@ function DealDrawer({ deal, config, opened, onClose, renderActions }) {
3424
3427
  ] })
3425
3428
  ] })
3426
3429
  ] }),
3430
+ deal.stage_key === null ? /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
3431
+ /* @__PURE__ */ jsx(Title, { order: 5, children: "Stage this deal" }),
3432
+ /* @__PURE__ */ jsx(
3433
+ Select,
3434
+ {
3435
+ label: "Stage",
3436
+ data: CRM_PIPELINE_DEFINITION.stages.map((s) => ({
3437
+ value: s.stageKey,
3438
+ label: s.label
3439
+ })),
3440
+ value: stagingStage,
3441
+ onChange: (val) => {
3442
+ setStagingStage(val ?? "interested");
3443
+ setStagingState(null);
3444
+ }
3445
+ }
3446
+ ),
3447
+ getValidStatesForStage(CRM_PIPELINE_DEFINITION, stagingStage).length > 0 && /* @__PURE__ */ jsx(
3448
+ Select,
3449
+ {
3450
+ label: "State",
3451
+ clearable: true,
3452
+ data: getValidStatesForStage(CRM_PIPELINE_DEFINITION, stagingStage).map((s) => ({
3453
+ value: s.stateKey,
3454
+ label: s.label
3455
+ })),
3456
+ value: stagingState,
3457
+ onChange: (val) => setStagingState(val)
3458
+ }
3459
+ ),
3460
+ /* @__PURE__ */ jsx(Group, { justify: "flex-end", children: /* @__PURE__ */ jsx(
3461
+ Button,
3462
+ {
3463
+ size: "xs",
3464
+ variant: "light",
3465
+ loading: transitionItem.isPending,
3466
+ onClick: () => transitionItem.mutate({
3467
+ dealId: deal.id,
3468
+ pipelineKey: "crm",
3469
+ stageKey: stagingStage,
3470
+ stateKey: stagingState ?? void 0,
3471
+ expectedUpdatedAt: deal.updated_at
3472
+ }),
3473
+ children: "Stage deal"
3474
+ }
3475
+ ) })
3476
+ ] }) : (() => {
3477
+ const validStates = getValidStatesForStage(CRM_PIPELINE_DEFINITION, deal.stage_key);
3478
+ return validStates.length > 0 ? /* @__PURE__ */ jsx(
3479
+ Select,
3480
+ {
3481
+ label: "State",
3482
+ data: validStates.map((s) => ({ value: s.stateKey, label: s.label })),
3483
+ value: deal.state_key ?? null,
3484
+ disabled: transitionState.isPending,
3485
+ onChange: (val) => {
3486
+ if (val)
3487
+ transitionState.mutate({
3488
+ dealId: deal.id,
3489
+ stateKey: val,
3490
+ expectedUpdatedAt: deal.updated_at
3491
+ });
3492
+ }
3493
+ }
3494
+ ) : null;
3495
+ })(),
3427
3496
  (actions.length > 0 || renderActions) && /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
3428
3497
  /* @__PURE__ */ jsx(Title, { order: 5, children: "Actions" }),
3429
3498
  actions.length > 0 && /* @__PURE__ */ jsx(Group, { gap: "xs", wrap: "wrap", children: actions.map(
@@ -1,4 +1,4 @@
1
- export { ActivityFeedWidget, CRM_ITEMS, CompanyDetailPage, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, DEAL_STAGE_COLORS, DEAL_STAGE_OPTIONS, DealDetailPage, DealsListPage, MetricsStrip, MyTasksPanel, PIPELINE_FUNNEL_ORDER, PipelineFunnelWidget, QuickCreateActions, SAVED_VIEW_PRESETS, SavedViewsPanel, crmManifest, formatDealStageLabel, useCrmPipelineSummary, useCrmQuickMetrics, useRecentCrmActivity } from '../../chunk-VGNAV3TH.js';
1
+ export { ActivityFeedWidget, CRM_ITEMS, CompanyDetailPage, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, DEAL_STAGE_COLORS, DEAL_STAGE_OPTIONS, DealDetailPage, DealsListPage, MetricsStrip, MyTasksPanel, PIPELINE_FUNNEL_ORDER, PipelineFunnelWidget, QuickCreateActions, SAVED_VIEW_PRESETS, SavedViewsPanel, crmManifest, formatDealStageLabel, useCrmPipelineSummary, useCrmQuickMetrics, useRecentCrmActivity } from '../../chunk-WWVSPOJY.js';
2
2
  import '../../chunk-BZZCNLT6.js';
3
3
  import '../../chunk-TUMSNGTX.js';
4
4
  import '../../chunk-CEWTOKE7.js';
@@ -6,18 +6,18 @@ import '../../chunk-IIMU5YAJ.js';
6
6
  import '../../chunk-PDHTXPSF.js';
7
7
  import '../../chunk-KVJ3LFH2.js';
8
8
  import '../../chunk-7M2VOCYN.js';
9
- import '../../chunk-QULLZ5PE.js';
9
+ import '../../chunk-QJLRDTYS.js';
10
10
  import '../../chunk-BRXELOHC.js';
11
11
  import '../../chunk-QSTH6T77.js';
12
12
  import '../../chunk-Z6FAH4XV.js';
13
13
  import '../../chunk-22UVE3RA.js';
14
14
  import '../../chunk-3ZMAGTWF.js';
15
15
  import '../../chunk-EIOJNUPL.js';
16
- import '../../chunk-2WZ635SS.js';
16
+ import '../../chunk-LK4MPIMK.js';
17
17
  import '../../chunk-QIW6OCEI.js';
18
18
  import '../../chunk-WLOQ4IBG.js';
19
19
  import '../../chunk-AXXTN44Z.js';
20
- import '../../chunk-UDJE54WN.js';
20
+ import '../../chunk-AZXSFDG2.js';
21
21
  import '../../chunk-LJWV4TWV.js';
22
22
  import '../../chunk-TKAYX2SP.js';
23
23
  import '../../chunk-XUYBOO32.js';
@@ -1,21 +1,21 @@
1
- export { Dashboard, OperationsOverview, RecentExecutionsByResource, ResourceOverview, UnresolvedErrorsTeaser } from '../../chunk-FUEXGRFR.js';
1
+ export { Dashboard, OperationsOverview, RecentExecutionsByResource, ResourceOverview, UnresolvedErrorsTeaser } from '../../chunk-7D2HSSIW.js';
2
2
  import '../../chunk-LGKLC5MG.js';
3
3
  import '../../chunk-TSSKOQBX.js';
4
4
  import '../../chunk-M25JL54Z.js';
5
5
  import '../../chunk-E4WQGJNS.js';
6
6
  import '../../chunk-7M2VOCYN.js';
7
- import '../../chunk-QULLZ5PE.js';
7
+ import '../../chunk-QJLRDTYS.js';
8
8
  import '../../chunk-BRXELOHC.js';
9
9
  import '../../chunk-QSTH6T77.js';
10
10
  import '../../chunk-Z6FAH4XV.js';
11
11
  import '../../chunk-22UVE3RA.js';
12
12
  import '../../chunk-3ZMAGTWF.js';
13
13
  import '../../chunk-EIOJNUPL.js';
14
- import '../../chunk-2WZ635SS.js';
14
+ import '../../chunk-LK4MPIMK.js';
15
15
  import '../../chunk-QIW6OCEI.js';
16
16
  import '../../chunk-WLOQ4IBG.js';
17
17
  import '../../chunk-AXXTN44Z.js';
18
- import '../../chunk-UDJE54WN.js';
18
+ import '../../chunk-AZXSFDG2.js';
19
19
  import '../../chunk-LJWV4TWV.js';
20
20
  import '../../chunk-TKAYX2SP.js';
21
21
  import '../../chunk-XUYBOO32.js';
@@ -1,4 +1,4 @@
1
- export { AllTasksPage, Checklist, CreateDeliveryEntityModal, DELIVERY_COMMUNICATION_ITEMS, DELIVERY_PROJECT_ITEMS, DELIVERY_WORK_ITEMS, HealthStatusCard, MilestoneTimeline, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, TaskCard, UpcomingMilestonesPage, calculateProgress, deliveryManifest, formatStatusLabel, milestoneStatusColors, noteTypeColors, projectStatusColors, taskStatusColors, taskTypeColors } from '../../chunk-MTR6AN2C.js';
1
+ export { AllTasksPage, Checklist, CreateDeliveryEntityModal, DELIVERY_COMMUNICATION_ITEMS, DELIVERY_PROJECT_ITEMS, DELIVERY_WORK_ITEMS, HealthStatusCard, MilestoneTimeline, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, TaskCard, UpcomingMilestonesPage, calculateProgress, deliveryManifest, formatStatusLabel, milestoneStatusColors, noteTypeColors, projectStatusColors, taskStatusColors, taskTypeColors } from '../../chunk-WSC5LU3U.js';
2
2
  import '../../chunk-442LZPIR.js';
3
3
  import '../../chunk-BZZCNLT6.js';
4
4
  import '../../chunk-TUMSNGTX.js';
@@ -7,18 +7,18 @@ import '../../chunk-IIMU5YAJ.js';
7
7
  import '../../chunk-PDHTXPSF.js';
8
8
  import '../../chunk-KVJ3LFH2.js';
9
9
  import '../../chunk-7M2VOCYN.js';
10
- import '../../chunk-QULLZ5PE.js';
10
+ import '../../chunk-QJLRDTYS.js';
11
11
  import '../../chunk-BRXELOHC.js';
12
12
  import '../../chunk-QSTH6T77.js';
13
13
  import '../../chunk-Z6FAH4XV.js';
14
14
  import '../../chunk-22UVE3RA.js';
15
15
  import '../../chunk-3ZMAGTWF.js';
16
16
  import '../../chunk-EIOJNUPL.js';
17
- import '../../chunk-2WZ635SS.js';
17
+ import '../../chunk-LK4MPIMK.js';
18
18
  import '../../chunk-QIW6OCEI.js';
19
19
  import '../../chunk-WLOQ4IBG.js';
20
20
  import '../../chunk-AXXTN44Z.js';
21
- import '../../chunk-UDJE54WN.js';
21
+ import '../../chunk-AZXSFDG2.js';
22
22
  import '../../chunk-LJWV4TWV.js';
23
23
  import '../../chunk-TKAYX2SP.js';
24
24
  import '../../chunk-XUYBOO32.js';
@@ -748,12 +748,24 @@ declare function useListProgress(listId: string): _tanstack_react_query.UseQuery
748
748
  totalMembers: number;
749
749
  totalCompanies: number;
750
750
  byCompanyStage: Record<string, {
751
- done: number;
752
751
  total: number;
752
+ attempted: number;
753
+ success: number;
754
+ noResult: number;
755
+ skipped: number;
756
+ error: number;
757
+ other: number;
758
+ notAttempted: number;
753
759
  }>;
754
760
  byContactStage: Record<string, {
755
- done: number;
756
761
  total: number;
762
+ attempted: number;
763
+ success: number;
764
+ noResult: number;
765
+ skipped: number;
766
+ error: number;
767
+ other: number;
768
+ notAttempted: number;
757
769
  }>;
758
770
  }, Error>;
759
771
 
@@ -1,5 +1,4 @@
1
- export { CompanyDetailModal, ContactDetailModal, LEAD_GEN_ITEMS, LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, formatDate, getEnrichmentColor, getEnrichmentStatus, getStateKeyColor, getStatusColor, leadGenManifest, useDeleteLists } from '../../chunk-M2HWJY6O.js';
2
- import '../../chunk-OWHQ65EQ.js';
1
+ export { CompanyDetailModal, ContactDetailModal, LEAD_GEN_ITEMS, LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, formatDate, getEnrichmentColor, getEnrichmentStatus, getStateKeyColor, getStatusColor, leadGenManifest, useDeleteLists } from '../../chunk-HVC2BTFO.js';
3
2
  import '../../chunk-BZZCNLT6.js';
4
3
  import '../../chunk-TUMSNGTX.js';
5
4
  import '../../chunk-CEWTOKE7.js';
@@ -7,18 +6,18 @@ import '../../chunk-IIMU5YAJ.js';
7
6
  import '../../chunk-PDHTXPSF.js';
8
7
  import '../../chunk-KVJ3LFH2.js';
9
8
  import '../../chunk-7M2VOCYN.js';
10
- export { companyKeys as acquisitionCompanyKeys, contactKeys as acquisitionContactKeys, companyKeys, contactKeys, leadGenArtifactKeys, leadGenListCompanyKeys, leadGenListMemberKeys, useArtifacts, useCompanies, useCompany, useCompanyFacets, useContact, useContacts, useCreateArtifact, useCreateCompany, useCreateContact, useDeleteCompanies, useDeleteContacts, useDeriveActions, useListMember, useListMembers, useListProgress, useTransitionListCompany, useTransitionListMember, useUpdateCompany, useUpdateContact, useUpdateListStatus } from '../../chunk-QULLZ5PE.js';
9
+ export { companyKeys as acquisitionCompanyKeys, contactKeys as acquisitionContactKeys, companyKeys, contactKeys, leadGenArtifactKeys, leadGenListCompanyKeys, leadGenListMemberKeys, useArtifacts, useCompanies, useCompany, useCompanyFacets, useContact, useContacts, useCreateArtifact, useCreateCompany, useCreateContact, useDeleteCompanies, useDeleteContacts, useDeriveActions, useListMember, useListMembers, useListProgress, useTransitionListCompany, useTransitionListMember, useUpdateCompany, useUpdateContact, useUpdateListStatus } from '../../chunk-QJLRDTYS.js';
11
10
  import '../../chunk-BRXELOHC.js';
12
11
  import '../../chunk-QSTH6T77.js';
13
12
  import '../../chunk-Z6FAH4XV.js';
14
13
  import '../../chunk-22UVE3RA.js';
15
14
  import '../../chunk-3ZMAGTWF.js';
16
15
  import '../../chunk-EIOJNUPL.js';
17
- import '../../chunk-2WZ635SS.js';
16
+ import '../../chunk-LK4MPIMK.js';
18
17
  import '../../chunk-QIW6OCEI.js';
19
18
  import '../../chunk-WLOQ4IBG.js';
20
19
  import '../../chunk-AXXTN44Z.js';
21
- import '../../chunk-UDJE54WN.js';
20
+ import '../../chunk-AZXSFDG2.js';
22
21
  import '../../chunk-LJWV4TWV.js';
23
22
  import '../../chunk-TKAYX2SP.js';
24
23
  import '../../chunk-XUYBOO32.js';