@elevasis/ui 2.0.3 → 2.2.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.
@@ -2,8 +2,8 @@ import { FilterBar } from './chunk-PDHTXPSF.js';
2
2
  import { CustomModal } from './chunk-GBMNCNHX.js';
3
3
  import { CyberAreaChart, CostTrendChart, ActivityTrendChart } from './chunk-KFICYU6S.js';
4
4
  import { AppShellLoader } from './chunk-YEX4MQSY.js';
5
- import { useExecutionLogsFilters, useTimeRangeDates, useActivityFilters } from './chunk-PRLXFMNP.js';
6
- import { useResolveError, useResolveAllErrors, usePaginationState, useErrorDetails, useMarkAsRead, useExecutionLogs, useExecutionHealth, useErrorAnalysis, useErrorDetail, useResolveErrorsByExecution, useResources, useCostTrends, useCostSummary, useCostByModel, useCostBreakdown, useActivityTrend, useActivities, useNotifications, useMarkAllAsRead, useTestNotification } from './chunk-TZOGB3X4.js';
5
+ import { useExecutionLogsFilters, useTimeRangeDates, useActivityFilters } from './chunk-JT3FN6TE.js';
6
+ import { useResolveError, useResolveAllErrors, usePaginationState, useErrorDetails, useMarkAsRead, useExecutionLogs, useExecutionHealth, useErrorAnalysis, useErrorDetail, useResolveErrorsByExecution, useResources, useCostTrends, useCostSummary, useCostByModel, useCostBreakdown, useActivityTrend, useActivities, useNotifications, useMarkAllAsRead, useTestNotification } from './chunk-J5TBNCMD.js';
7
7
  import { formatBucketTime, getTimeRangeDates } from './chunk-LXHZYSMQ.js';
8
8
  import { formatDuration } from './chunk-XA34RETF.js';
9
9
  import { CenteredErrorState, CardHeader, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, EmptyState, PageTitleCaption, JsonViewer } from './chunk-Y3D3WFJG.js';
@@ -1,12 +1,12 @@
1
1
  import { ChatHeader, ChatSidebar } from './chunk-ROSMICXG.js';
2
2
  import { SubshellSidebarSection, SubshellLoader, PageContainer, CollapsibleSidebarGroup, SubshellNavItem } from './chunk-OCP2MBTY.js';
3
- import { ResourceHealthPanel } from './chunk-OKKGD3S6.js';
3
+ import { ResourceHealthPanel } from './chunk-PFONCU6C.js';
4
4
  import { CustomModal, ConfirmationModal } from './chunk-GBMNCNHX.js';
5
- import { BaseNode, useGraphTheme, BaseEdge, GraphBackground, GraphLegend, GraphFitViewButton, ExecutionStats, UnifiedWorkflowGraph, WorkflowExecutionTimeline, AgentExecutionVisualizer, AgentExecutionTimeline, GraphFitViewHandler } from './chunk-PQNEE57X.js';
5
+ import { BaseNode, useGraphTheme, BaseEdge, GraphBackground, GraphLegend, GraphFitViewButton, ExecutionStats, UnifiedWorkflowGraph, WorkflowExecutionTimeline, AgentExecutionVisualizer, AgentExecutionTimeline, GraphFitViewHandler } from './chunk-BIZNOFO4.js';
6
6
  import { useCyberColors, CyberDonut } from './chunk-KFICYU6S.js';
7
7
  import { AppShellLoader } from './chunk-YEX4MQSY.js';
8
- import { useStatusFilter, useResourceSearch, useResourcesDomainFilters, filterByDomainFilters, useCommandViewDomainFilters } from './chunk-PRLXFMNP.js';
9
- import { useCommandViewLayout, useErrorDetail, useExecution, useArchivedLogs, useDeleteExecution, useRetryExecution, useCancelExecution, useCommandQueueTotals, usePaginationState, useResources, useRecentExecutionsByResource, useExecuteAsync, useResourceDefinition, isSessionCapable, useDeleteTask, useCommandQueue, useSubmitAction, useCommandViewData, useCommandViewStore, useCommandViewStats, useCalibrationProjects, useCalibrationProject, useAllCalibrationProjects, useResourceExecutions, useCheckpointTasks, useCalibrationSSE, useCalibrationRunFull, useExecuteRun, useGradeRun, useCalibrationRuns, useExecutionPanelState, useDeleteSession, useCreateSession, useSessions, useSessionExecutions, useSession, showApiErrorNotification, showSuccessNotification, calibrationKeys, useDeleteProject, useCreateProject, useBulkDeleteExecutions } from './chunk-TZOGB3X4.js';
8
+ import { useStatusFilter, useResourceSearch, useResourcesDomainFilters, filterByDomainFilters, useCommandViewDomainFilters } from './chunk-JT3FN6TE.js';
9
+ import { useCommandViewLayout, useErrorDetail, useExecution, useArchivedLogs, useDeleteExecution, useRetryExecution, useCancelExecution, useCommandQueueTotals, usePaginationState, useResources, useRecentExecutionsByResource, useExecuteAsync, useResourceDefinition, isSessionCapable, useDeleteTask, useCommandQueue, useSubmitAction, useCommandViewData, useCommandViewStore, useCommandViewStats, useCalibrationProjects, useCalibrationProject, useAllCalibrationProjects, useResourceExecutions, useCheckpointTasks, useCalibrationSSE, useCalibrationRunFull, useExecuteRun, useGradeRun, useCalibrationRuns, useExecutionPanelState, useDeleteSession, useCreateSession, useSessions, useSessionExecutions, useSession, showApiErrorNotification, showSuccessNotification, calibrationKeys, useDeleteProject, useCreateProject, useBulkDeleteExecutions } from './chunk-J5TBNCMD.js';
10
10
  import { Graph_module_css_default, useDirectedChainHighlighting, useNodeSelection, GRAPH_CONSTANTS, useGraphHighlighting, calculateGraphHeight } from './chunk-F6RBK7NJ.js';
11
11
  import { getResourceStatusColor, useMergedExecution, useTimelineData, useAgentIterationData, getStatusIcon } from './chunk-XA34RETF.js';
12
12
  import { useOptionalElevasisFeatures, useElevasisFeatures } from './chunk-MZPVNRPL.js';
@@ -1,8 +1,8 @@
1
1
  import { ResourceHealthChart } from './chunk-LGKLC5MG.js';
2
2
  import { useCyberColors, HeroStatsRow } from './chunk-KFICYU6S.js';
3
3
  import { AppShellCenteredContainer, AppShellLoader } from './chunk-YEX4MQSY.js';
4
- import { useTimeRangeDates } from './chunk-PRLXFMNP.js';
5
- import { useDashboardMetrics, useResources, useUnresolvedErrors, useRecentExecutionsByResource, useCommandQueue, useScheduledTasks, useResourcesHealth } from './chunk-TZOGB3X4.js';
4
+ import { useTimeRangeDates } from './chunk-JT3FN6TE.js';
5
+ import { useDashboardMetrics, useResources, useUnresolvedErrors, useRecentExecutionsByResource, useCommandQueue, useScheduledTasks, useResourcesHealth } from './chunk-J5TBNCMD.js';
6
6
  import { getTimeRangeDates } from './chunk-LXHZYSMQ.js';
7
7
  import { Graph_module_css_default, useDirectedChainHighlighting, useNodeSelection, useFitViewTrigger } from './chunk-F6RBK7NJ.js';
8
8
  import { STATUS_COLORS, getStatusIcon, formatDuration, getStatusColors, AGENT_CONSTANTS, shouldAnimateEdge, TIMELINE_CONSTANTS, calculateBarPosition, CONTAINER_CONSTANTS, useExecutionPath, useUnifiedWorkflowLayout, WORKFLOW_CONSTANTS, useReactFlowAgent } from './chunk-XA34RETF.js';
@@ -3253,6 +3253,255 @@ function useDeleteList() {
3253
3253
  function useBatchTelemetry() {
3254
3254
  return useListsTelemetry();
3255
3255
  }
3256
+ var companyKeys = {
3257
+ all: ["acquisition-companies"],
3258
+ list: (organizationId, filters) => [...companyKeys.all, "list", organizationId, filters],
3259
+ detail: (organizationId, companyId) => [...companyKeys.all, "detail", organizationId, companyId]
3260
+ };
3261
+ function buildQueryString(params) {
3262
+ const searchParams = new URLSearchParams();
3263
+ for (const [key, value] of Object.entries(params)) {
3264
+ if (value === void 0) continue;
3265
+ searchParams.set(key, String(value));
3266
+ }
3267
+ const queryString = searchParams.toString();
3268
+ return queryString ? `?${queryString}` : "";
3269
+ }
3270
+ function useCompanies(filters = {}) {
3271
+ const { apiRequest, isReady, organizationId } = useElevasisServices();
3272
+ return useQuery({
3273
+ queryKey: companyKeys.list(organizationId, filters),
3274
+ queryFn: async () => {
3275
+ const queryString = buildQueryString({
3276
+ listId: filters.listId,
3277
+ search: filters.search,
3278
+ domain: filters.domain,
3279
+ website: filters.website,
3280
+ segment: filters.segment,
3281
+ category: filters.category,
3282
+ batchId: filters.batchId,
3283
+ status: filters.status
3284
+ });
3285
+ const [companies, contacts] = await Promise.all([
3286
+ apiRequest(`/acquisition/companies${queryString}`),
3287
+ apiRequest("/acquisition/contacts?limit=5000&offset=0")
3288
+ ]);
3289
+ const contactCountByCompanyId = /* @__PURE__ */ new Map();
3290
+ for (const contact of contacts.data) {
3291
+ if (!contact.companyId) continue;
3292
+ contactCountByCompanyId.set(contact.companyId, (contactCountByCompanyId.get(contact.companyId) ?? 0) + 1);
3293
+ }
3294
+ return companies.map((company) => ({
3295
+ ...company,
3296
+ contactCount: contactCountByCompanyId.get(company.id) ?? 0
3297
+ }));
3298
+ },
3299
+ enabled: isReady && !!organizationId
3300
+ });
3301
+ }
3302
+ function useCompany(companyId) {
3303
+ const { apiRequest, isReady, organizationId } = useElevasisServices();
3304
+ return useQuery({
3305
+ queryKey: companyKeys.detail(organizationId, companyId),
3306
+ queryFn: async () => {
3307
+ if (!companyId) return null;
3308
+ return apiRequest(`/acquisition/companies/${companyId}`);
3309
+ },
3310
+ enabled: isReady && !!organizationId && !!companyId
3311
+ });
3312
+ }
3313
+ function useCreateCompany() {
3314
+ const { apiRequest } = useElevasisServices();
3315
+ const queryClient = useQueryClient();
3316
+ return useMutation({
3317
+ mutationFn: (body) => apiRequest("/acquisition/companies", {
3318
+ method: "POST",
3319
+ body: JSON.stringify(body)
3320
+ }),
3321
+ onSuccess: () => {
3322
+ queryClient.invalidateQueries({ queryKey: companyKeys.all });
3323
+ queryClient.invalidateQueries({ queryKey: ["acquisition-contacts"] });
3324
+ queryClient.invalidateQueries({ queryKey: acquisitionListKeys.all });
3325
+ showSuccessNotification("Company created");
3326
+ },
3327
+ onError: (error) => {
3328
+ showApiErrorNotification(error);
3329
+ }
3330
+ });
3331
+ }
3332
+ function useUpdateCompany(companyId) {
3333
+ const { apiRequest } = useElevasisServices();
3334
+ const queryClient = useQueryClient();
3335
+ return useMutation({
3336
+ mutationFn: (body) => apiRequest(`/acquisition/companies/${companyId}`, {
3337
+ method: "PATCH",
3338
+ body: JSON.stringify(body)
3339
+ }),
3340
+ onSuccess: () => {
3341
+ queryClient.invalidateQueries({ queryKey: companyKeys.all });
3342
+ queryClient.invalidateQueries({ queryKey: ["acquisition-contacts"] });
3343
+ queryClient.invalidateQueries({ queryKey: acquisitionListKeys.all });
3344
+ showSuccessNotification("Company updated");
3345
+ },
3346
+ onError: (error) => {
3347
+ showApiErrorNotification(error);
3348
+ }
3349
+ });
3350
+ }
3351
+ function useDeleteCompanies() {
3352
+ const { apiRequest } = useElevasisServices();
3353
+ const queryClient = useQueryClient();
3354
+ return useMutation({
3355
+ mutationFn: async (companyIds) => {
3356
+ const uniqueIds = [...new Set(companyIds)].filter(Boolean);
3357
+ if (uniqueIds.length === 0) return;
3358
+ await Promise.all(
3359
+ uniqueIds.map(
3360
+ (companyId) => apiRequest(`/acquisition/companies/${companyId}`, {
3361
+ method: "DELETE"
3362
+ })
3363
+ )
3364
+ );
3365
+ },
3366
+ onSuccess: () => {
3367
+ queryClient.invalidateQueries({ queryKey: companyKeys.all });
3368
+ queryClient.invalidateQueries({ queryKey: ["acquisition-contacts"] });
3369
+ queryClient.invalidateQueries({ queryKey: acquisitionListKeys.all });
3370
+ showSuccessNotification("Companies deleted");
3371
+ },
3372
+ onError: (error) => {
3373
+ showApiErrorNotification(error);
3374
+ }
3375
+ });
3376
+ }
3377
+ var contactKeys = {
3378
+ all: ["acquisition-contacts"],
3379
+ list: (organizationId, filters) => [...contactKeys.all, "list", organizationId, filters],
3380
+ detail: (organizationId, contactId) => [...contactKeys.all, "detail", organizationId, contactId]
3381
+ };
3382
+ function buildQueryString2(params) {
3383
+ const searchParams = new URLSearchParams();
3384
+ for (const [key, value] of Object.entries(params)) {
3385
+ if (value === void 0) continue;
3386
+ searchParams.set(key, String(value));
3387
+ }
3388
+ const queryString = searchParams.toString();
3389
+ return queryString ? `?${queryString}` : "";
3390
+ }
3391
+ function useContacts(filters = {}) {
3392
+ const { apiRequest, isReady, organizationId } = useElevasisServices();
3393
+ return useQuery({
3394
+ queryKey: contactKeys.list(organizationId, filters),
3395
+ queryFn: async () => {
3396
+ const queryString = buildQueryString2({
3397
+ listId: filters.listId,
3398
+ search: filters.search,
3399
+ openingLineIsNull: filters.openingLineIsNull,
3400
+ batchId: filters.batchId,
3401
+ contactStatus: filters.contactStatus,
3402
+ limit: filters.limit ?? 5e3,
3403
+ offset: filters.offset ?? 0
3404
+ });
3405
+ const [contacts, companies] = await Promise.all([
3406
+ apiRequest(`/acquisition/contacts${queryString}`),
3407
+ apiRequest("/acquisition/companies?includeAll=true")
3408
+ ]);
3409
+ const companyById = /* @__PURE__ */ new Map();
3410
+ for (const company of companies) {
3411
+ companyById.set(company.id, company);
3412
+ }
3413
+ return contacts.data.map((contact) => ({
3414
+ ...contact,
3415
+ company: contact.companyId ? companyById.get(contact.companyId) ?? null : null
3416
+ }));
3417
+ },
3418
+ enabled: isReady && !!organizationId
3419
+ });
3420
+ }
3421
+ function useContact(contactId) {
3422
+ const { apiRequest, isReady, organizationId } = useElevasisServices();
3423
+ return useQuery({
3424
+ queryKey: contactKeys.detail(organizationId, contactId),
3425
+ queryFn: async () => {
3426
+ if (!contactId) return null;
3427
+ const contact = await apiRequest(`/acquisition/contacts/${contactId}`);
3428
+ const companies = await apiRequest("/acquisition/companies?includeAll=true");
3429
+ const companyById = /* @__PURE__ */ new Map();
3430
+ for (const company of companies) {
3431
+ companyById.set(company.id, company);
3432
+ }
3433
+ return {
3434
+ ...contact,
3435
+ company: contact.companyId ? companyById.get(contact.companyId) ?? null : null
3436
+ };
3437
+ },
3438
+ enabled: isReady && !!organizationId && !!contactId
3439
+ });
3440
+ }
3441
+ function useCreateContact() {
3442
+ const { apiRequest } = useElevasisServices();
3443
+ const queryClient = useQueryClient();
3444
+ return useMutation({
3445
+ mutationFn: (body) => apiRequest("/acquisition/contacts", {
3446
+ method: "POST",
3447
+ body: JSON.stringify(body)
3448
+ }),
3449
+ onSuccess: () => {
3450
+ queryClient.invalidateQueries({ queryKey: contactKeys.all });
3451
+ queryClient.invalidateQueries({ queryKey: ["acquisition-companies"] });
3452
+ queryClient.invalidateQueries({ queryKey: acquisitionListKeys.all });
3453
+ showSuccessNotification("Contact created");
3454
+ },
3455
+ onError: (error) => {
3456
+ showApiErrorNotification(error);
3457
+ }
3458
+ });
3459
+ }
3460
+ function useUpdateContact(contactId) {
3461
+ const { apiRequest } = useElevasisServices();
3462
+ const queryClient = useQueryClient();
3463
+ return useMutation({
3464
+ mutationFn: (body) => apiRequest(`/acquisition/contacts/${contactId}`, {
3465
+ method: "PATCH",
3466
+ body: JSON.stringify(body)
3467
+ }),
3468
+ onSuccess: () => {
3469
+ queryClient.invalidateQueries({ queryKey: contactKeys.all });
3470
+ queryClient.invalidateQueries({ queryKey: ["acquisition-companies"] });
3471
+ queryClient.invalidateQueries({ queryKey: acquisitionListKeys.all });
3472
+ showSuccessNotification("Contact updated");
3473
+ },
3474
+ onError: (error) => {
3475
+ showApiErrorNotification(error);
3476
+ }
3477
+ });
3478
+ }
3479
+ function useDeleteContacts() {
3480
+ const { apiRequest } = useElevasisServices();
3481
+ const queryClient = useQueryClient();
3482
+ return useMutation({
3483
+ mutationFn: async (contactIds) => {
3484
+ const uniqueIds = [...new Set(contactIds)].filter(Boolean);
3485
+ if (uniqueIds.length === 0) return;
3486
+ await Promise.all(
3487
+ uniqueIds.map(
3488
+ (contactId) => apiRequest(`/acquisition/contacts/${contactId}`, {
3489
+ method: "DELETE"
3490
+ })
3491
+ )
3492
+ );
3493
+ },
3494
+ onSuccess: () => {
3495
+ queryClient.invalidateQueries({ queryKey: contactKeys.all });
3496
+ queryClient.invalidateQueries({ queryKey: ["acquisition-companies"] });
3497
+ queryClient.invalidateQueries({ queryKey: acquisitionListKeys.all });
3498
+ showSuccessNotification("Contacts deleted");
3499
+ },
3500
+ onError: (error) => {
3501
+ showApiErrorNotification(error);
3502
+ }
3503
+ });
3504
+ }
3256
3505
 
3257
3506
  // src/hooks/acquisition/useDeals.ts
3258
3507
  var dealKeys = {
@@ -3293,4 +3542,4 @@ function useDeleteDeal() {
3293
3542
  });
3294
3543
  }
3295
3544
 
3296
- export { CredentialNameSchema, OperationsService, UuidSchema, acquisitionListKeys, calibrationKeys, dealKeys, dealNoteKeys, dealTaskKeys, executionsKeys, isSessionCapable, operationsKeys, scheduleKeys, sessionsKeys, showApiErrorNotification, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, sortData, useActivities, useActivityTrend, useAllCalibrationProjects, useArchiveSession, useArchivedLogs, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCalibrationProject, useCalibrationProjects, useCalibrationRun, useCalibrationRunFull, useCalibrationRuns, useCalibrationSSE, useCancelExecution, useCancelSchedule, useCheckpointTasks, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewLayout, useCommandViewStats, useCommandViewStore, useCompleteDealTask, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateDealNote, useCreateDealTask, useCreateList, useCreateProject, useCreateRun, useCreateSchedule, useCreateSession, useDashboardMetrics, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDeleteDeal, useDeleteExecution, useDeleteList, useDeleteProject, useDeleteRun, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeploymentDocs, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAsync, useExecuteRun, useExecuteWorkflow, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionPanelState, useExecutions, useGetExecutionHistory, useGetSchedule, useGradeRun, useGraphStats, useList, useListExecutions, useListProgress, useListSchedules, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useNotificationCount, useNotifications, usePaginationState, usePatchTask, usePauseSchedule, useRecentExecutionsByResource, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResources, useResourcesHealth, useResumeSchedule, useRetryExecution, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useSubmitAction, useSuccessNotification, useSyncDealStage, useTableSelection, useTableSort, useTestNotification, useTopFailingResources, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateList, useUpdateListConfig, useUpdateProject, useUpdateSchedule, useWarningNotification };
3545
+ export { CredentialNameSchema, OperationsService, UuidSchema, acquisitionListKeys, calibrationKeys, companyKeys, contactKeys, dealKeys, dealNoteKeys, dealTaskKeys, executionsKeys, isSessionCapable, operationsKeys, scheduleKeys, sessionsKeys, showApiErrorNotification, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, sortData, useActivities, useActivityTrend, useAllCalibrationProjects, useArchiveSession, useArchivedLogs, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCalibrationProject, useCalibrationProjects, useCalibrationRun, useCalibrationRunFull, useCalibrationRuns, useCalibrationSSE, useCancelExecution, useCancelSchedule, useCheckpointTasks, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewLayout, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompleteDealTask, useContact, useContacts, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateCompany, useCreateContact, useCreateDealNote, useCreateDealTask, useCreateList, useCreateProject, useCreateRun, useCreateSchedule, useCreateSession, useDashboardMetrics, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDeleteCompanies, useDeleteContacts, useDeleteDeal, useDeleteExecution, useDeleteList, useDeleteProject, useDeleteRun, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeploymentDocs, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAsync, useExecuteRun, useExecuteWorkflow, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionPanelState, useExecutions, useGetExecutionHistory, useGetSchedule, useGradeRun, useGraphStats, useList, useListExecutions, useListProgress, useListSchedules, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useNotificationCount, useNotifications, usePaginationState, usePatchTask, usePauseSchedule, useRecentExecutionsByResource, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResources, useResourcesHealth, useResumeSchedule, useRetryExecution, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useSubmitAction, useSuccessNotification, useSyncDealStage, useTableSelection, useTableSort, useTestNotification, useTopFailingResources, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateCompany, useUpdateContact, useUpdateList, useUpdateListConfig, useUpdateProject, useUpdateSchedule, useWarningNotification };
@@ -1,4 +1,4 @@
1
- import { CredentialNameSchema, UuidSchema, useErrorNotification, showApiErrorNotification } from './chunk-TZOGB3X4.js';
1
+ import { CredentialNameSchema, UuidSchema, useErrorNotification, showApiErrorNotification } from './chunk-J5TBNCMD.js';
2
2
  import { getTimeRangeDates } from './chunk-LXHZYSMQ.js';
3
3
  import { useNotificationAdapter } from './chunk-MZPVNRPL.js';
4
4
  import { GC_TIME_SHORT, STALE_TIME_MONITORING, GC_TIME_MEDIUM, STALE_TIME_DEFAULT } from './chunk-IOKL7BKE.js';
@@ -2,8 +2,8 @@ import { FilterBar } from './chunk-PDHTXPSF.js';
2
2
  import { CustomModal } from './chunk-GBMNCNHX.js';
3
3
  import { AppShellLoader } from './chunk-YEX4MQSY.js';
4
4
  import { useAvailablePresets } from './chunk-35QO7M43.js';
5
- import { useDeleteCredential, useCreateCredential, useCredentials, MEMBERSHIP_STATUS_COLORS, transformMembershipToTableRow, useUserMemberships, useUpdateWebhookEndpoint, useDeleteWebhookEndpoint, useCreateWebhookEndpoint, useListWebhookEndpoints, useUpdateMemberConfig, useOrganizationMembers, useUpdateCredential, CredentialSchemas } from './chunk-PRLXFMNP.js';
6
- import { useResources, showErrorNotification } from './chunk-TZOGB3X4.js';
5
+ import { useDeleteCredential, useCreateCredential, useCredentials, MEMBERSHIP_STATUS_COLORS, transformMembershipToTableRow, useUserMemberships, useUpdateWebhookEndpoint, useDeleteWebhookEndpoint, useCreateWebhookEndpoint, useListWebhookEndpoints, useUpdateMemberConfig, useOrganizationMembers, useUpdateCredential, CredentialSchemas } from './chunk-JT3FN6TE.js';
6
+ import { useResources, showErrorNotification } from './chunk-J5TBNCMD.js';
7
7
  import { ListSkeleton, EmptyState, PageTitleCaption, CardHeader, APIErrorAlert, StatCard } from './chunk-Y3D3WFJG.js';
8
8
  import { formatDateTime, OAUTH_POPUP_CHECK_INTERVAL, OAUTH_FLOW_TIMEOUT } from './chunk-IOKL7BKE.js';
9
9
  import { useInitialization } from './chunk-TUXTSEAF.js';
@@ -1,5 +1,5 @@
1
1
  import { useCyberColors, CyberLegendItem, CyberAreaChart } from './chunk-KFICYU6S.js';
2
- import { useResourcesHealth } from './chunk-TZOGB3X4.js';
2
+ import { useResourcesHealth } from './chunk-J5TBNCMD.js';
3
3
  import { getTimeRangeDates, formatBucketTime } from './chunk-LXHZYSMQ.js';
4
4
  import { CardHeader, EmptyState } from './chunk-Y3D3WFJG.js';
5
5
  import { Paper, Center, Loader, Group } from '@mantine/core';
@@ -8,6 +8,7 @@ import { UseFormReturnType } from '@mantine/form';
8
8
  import { NodeProps, Node, EdgeProps, Edge } from '@xyflow/react';
9
9
  export { default as graphStyles } from '../graph/Graph.module.css';
10
10
  import { z } from 'zod';
11
+ import * as _tanstack_react_query from '@tanstack/react-query';
11
12
 
12
13
  interface EmptyStateProps {
13
14
  /** Icon component to display (e.g., IconKey from @tabler/icons-react) */
@@ -3770,6 +3771,7 @@ interface DealFilters {
3770
3771
  interface DealListItem extends AcqDealRow {
3771
3772
  contact: DealContact | null;
3772
3773
  }
3774
+ type DealDetail = DealListItem;
3773
3775
 
3774
3776
  /**
3775
3777
  * Multi-tenancy configuration types
@@ -4210,6 +4212,53 @@ interface Deployment {
4210
4212
  updatedAt: string;
4211
4213
  }
4212
4214
 
4215
+ /**
4216
+ * Full ListConfig shape. `qualification` is required; everything else optional.
4217
+ * Matches `acq_lists.config` jsonb and ListConfig type in types.ts.
4218
+ */
4219
+ declare const ListConfigSchema: z.ZodObject<{
4220
+ qualification: z.ZodObject<{
4221
+ targetDescription: z.ZodString;
4222
+ minReviewCount: z.ZodNumber;
4223
+ minRating: z.ZodNumber;
4224
+ excludeFranchises: z.ZodBoolean;
4225
+ customRules: z.ZodString;
4226
+ }, z.core.$strip>;
4227
+ enrichment: z.ZodOptional<z.ZodObject<{
4228
+ emailDiscovery: z.ZodOptional<z.ZodObject<{
4229
+ primary: z.ZodEnum<{
4230
+ tomba: "tomba";
4231
+ anymailfinder: "anymailfinder";
4232
+ }>;
4233
+ credentialName: z.ZodOptional<z.ZodString>;
4234
+ }, z.core.$strip>>;
4235
+ emailVerification: z.ZodOptional<z.ZodObject<{
4236
+ provider: z.ZodLiteral<"millionverifier">;
4237
+ threshold: z.ZodOptional<z.ZodEnum<{
4238
+ ok: "ok";
4239
+ "ok+catch_all": "ok+catch_all";
4240
+ }>>;
4241
+ }, z.core.$strip>>;
4242
+ }, z.core.$strip>>;
4243
+ personalization: z.ZodOptional<z.ZodObject<{
4244
+ industryContext: z.ZodOptional<z.ZodString>;
4245
+ emailBody: z.ZodOptional<z.ZodString>;
4246
+ creativeDirection: z.ZodOptional<z.ZodString>;
4247
+ exclusionRules: z.ZodOptional<z.ZodArray<z.ZodString>>;
4248
+ }, z.core.$strip>>;
4249
+ pipeline: z.ZodOptional<z.ZodObject<{
4250
+ steps: z.ZodArray<z.ZodObject<{
4251
+ key: z.ZodString;
4252
+ label: z.ZodString;
4253
+ resourceId: z.ZodString;
4254
+ inputTemplate: z.ZodRecord<z.ZodString, z.ZodUnknown>;
4255
+ enabled: z.ZodBoolean;
4256
+ order: z.ZodNumber;
4257
+ }, z.core.$strip>>;
4258
+ }, z.core.$strip>>;
4259
+ }, z.core.$strip>;
4260
+ type ListConfigInput = z.infer<typeof ListConfigSchema>;
4261
+
4213
4262
  interface TimeRangeSelectorProps {
4214
4263
  value: TimeRange;
4215
4264
  onChange: (value: TimeRange) => void;
@@ -8714,6 +8763,15 @@ interface FeatureModule {
8714
8763
 
8715
8764
  declare const crmManifest: FeatureModule;
8716
8765
 
8766
+ declare function DealsListPage(): react_jsx_runtime.JSX.Element;
8767
+
8768
+ interface DealDetailPageProps {
8769
+ dealId: string;
8770
+ renderActions?: (deal: DealDetail) => ReactNode;
8771
+ onDealLoaded?: (deal: DealDetail) => void;
8772
+ }
8773
+ declare function DealDetailPage({ dealId, renderActions, onDealLoaded }: DealDetailPageProps): react_jsx_runtime.JSX.Element;
8774
+
8717
8775
  declare const LeadGenSidebar: () => react_jsx_runtime.JSX.Element;
8718
8776
 
8719
8777
  declare const LeadGenSidebarTop: () => react_jsx_runtime.JSX.Element;
@@ -8722,6 +8780,54 @@ declare const LeadGenSidebarMiddle: () => react_jsx_runtime.JSX.Element;
8722
8780
 
8723
8781
  declare const leadGenManifest: FeatureModule;
8724
8782
 
8783
+ interface LeadGenRouteLink {
8784
+ label: string;
8785
+ to: string;
8786
+ }
8787
+ declare const LEAD_GEN_ROUTE_LINKS: LeadGenRouteLink[];
8788
+ declare function LeadGenRouteShell({ title, caption, body, links }: {
8789
+ title: string;
8790
+ caption: string;
8791
+ body: ReactNode;
8792
+ links?: LeadGenRouteLink[];
8793
+ }): react_jsx_runtime.JSX.Element;
8794
+ declare function getStatusColor(status: string | null): "green" | "red" | "gray";
8795
+ declare function getEnrichmentColor(status: string): "green" | "red" | "gray" | "yellow";
8796
+ declare const LIST_TEMPLATE_OPTIONS: readonly [{
8797
+ readonly value: "blank";
8798
+ readonly label: "Blank";
8799
+ readonly description: "Create an empty draft list with qualification defaults and no pipeline steps.";
8800
+ }, {
8801
+ readonly value: "full_pipeline";
8802
+ readonly label: "Full 6-Stage";
8803
+ readonly description: "Create a complete lead-gen pipeline from scrape through personalization.";
8804
+ }, {
8805
+ readonly value: "personalize_only";
8806
+ readonly label: "Personalize Only";
8807
+ readonly description: "Start with personalization and upload-focused steps for already-prepared contacts.";
8808
+ }, {
8809
+ readonly value: "email_refresh";
8810
+ readonly label: "Email Refresh";
8811
+ readonly description: "Run discovery, verification, and personalization for an existing company set.";
8812
+ }];
8813
+ type LeadGenListTemplateValue = (typeof LIST_TEMPLATE_OPTIONS)[number]['value'];
8814
+ declare function buildListConfig(template: LeadGenListTemplateValue, targetDescription: string): ListConfigInput;
8815
+
8816
+ declare function useDeleteLists(): _tanstack_react_query.UseMutationResult<void, Error, string[], unknown>;
8817
+
8818
+ declare function LeadGenOverviewPage(): react_jsx_runtime.JSX.Element;
8819
+ declare function LeadGenDeliverabilityPage(): react_jsx_runtime.JSX.Element;
8820
+
8821
+ declare function LeadGenListsPage(): react_jsx_runtime.JSX.Element;
8822
+
8823
+ declare function LeadGenListDetailPage({ listId }: {
8824
+ listId: string;
8825
+ }): react_jsx_runtime.JSX.Element;
8826
+
8827
+ declare function LeadGenCompaniesPage(): react_jsx_runtime.JSX.Element;
8828
+
8829
+ declare function LeadGenContactsPage(): react_jsx_runtime.JSX.Element;
8830
+
8725
8831
  declare const SEOSidebar: () => react_jsx_runtime.JSX.Element;
8726
8832
 
8727
8833
  declare const SEOSidebarTop: () => react_jsx_runtime.JSX.Element;
@@ -8764,6 +8870,11 @@ declare const ProjectsSidebarMiddle: ({ currentPath, onNavigate }?: ProjectsSide
8764
8870
 
8765
8871
  declare const deliveryManifest: FeatureModule;
8766
8872
 
8873
+ interface ProjectsListPageProps {
8874
+ onProjectClick?: (projectId: string) => void;
8875
+ }
8876
+ declare function ProjectsListPage({ onProjectClick }?: ProjectsListPageProps): react_jsx_runtime.JSX.Element;
8877
+
8767
8878
  declare const projectStatusColors: Record<string, string>;
8768
8879
  declare const milestoneStatusColors: Record<string, string>;
8769
8880
  declare const taskStatusColors: Record<string, string>;
@@ -8790,5 +8901,5 @@ declare const OperationsSidebarMiddle: () => react_jsx_runtime.JSX.Element;
8790
8901
 
8791
8902
  declare const operationsManifest: FeatureModule;
8792
8903
 
8793
- export { APIErrorAlert, AbsoluteScheduleForm, ActionModal, ActivityCard, ActivityFeedWidget, ActivityFilters as ActivityFiltersBar, ActivityTable, ActivityTimeline, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, ApiKeyDisplayModal, ApiKeyList, ApiKeySettings, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CONTAINER_CONSTANTS, CardHeader, CenteredErrorState, CheckpointGroup, CollapsibleJsonSection, CollapsibleSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CommandViewEdge, CommandViewGraph, CommandViewNode, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContentSections, ContextUsageBadge, ContextViewer, ContractDisplay, CostBreakdownCard, CostByModelTable, CostMetricsCard, CrashErrorFallback, CreateApiKeyModal, CreateCredentialModal, CreateScheduleModal, CredentialList, CredentialSettings, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, CustomSelector, DEAL_STAGES, DEFAULT_KANBAN_CONFIG, DealDrawer, DealKanbanCard, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentSettings, DeploymentStatusBadge, DetailCardSkeleton, DocTreeNav, EditApiKeyModal, ElevasisLoader, EmptyState, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorReportCard, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, ExecutionStats, ExecutionStatusBadge, FeatureUnavailableState, FilterBar, FormFieldRenderer, GlowDot, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, JsonViewer, KanbanBoard, KnowledgeBasePage, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, ListSkeleton, LogEntry, LogGroup, MdxRenderer, MembershipFeaturePanel, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyTasksPanel, NavigationButton, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NotificationBell, NotificationItem, NotificationList, NotificationPanel, OAuthConnectModal, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrganizationMembershipsList, PIPELINE_FUNNEL_ORDER, PageNotFound, PageTitleCaption, PipelineFunnelWidget, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, QuickCreateActions, RecurringScheduleForm, RelativeScheduleForm, ResourceCard, ResourceDefinitionSection, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, RichTextEditor, SAVED_VIEW_PRESETS, SEOSidebar, SEOSidebarMiddle, SEOSidebarTop, SHARED_VIZ_CONSTANTS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SessionMemory, SortableHeader, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, StyledMarkdown, TabCountBadge, TableSelectionToolbar, TaskCard, TaskScheduler, TasksDueWidget, TimeRangeSelector, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, TrendIndicator, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, VisualizerContainer, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionTimeline, buildErrorReport, calculateProgress, catalogItemToResourceDefinition, crmManifest, dashboardManifest, deliveryManifest, formatStatusLabel, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getLogLevelConfig, iconMap, leadGenManifest, mdxComponents, milestoneStatusColors, monitoringManifest, noteTypeColors, operationsManifest, projectStatusColors, seoManifest, settingsManifest, showApiErrorNotification, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, taskStatusColors, taskTypeColors, useCrmPipelineSummary, useCrmQuickMetrics, useGraphBackgroundStyles, useGraphTheme, useNewKnowledgeMapLayout, useRecentCrmActivity };
8904
+ export { APIErrorAlert, AbsoluteScheduleForm, ActionModal, ActivityCard, ActivityFeedWidget, ActivityFilters as ActivityFiltersBar, ActivityTable, ActivityTimeline, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, ApiKeyDisplayModal, ApiKeyList, ApiKeySettings, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CONTAINER_CONSTANTS, CardHeader, CenteredErrorState, CheckpointGroup, CollapsibleJsonSection, CollapsibleSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CommandViewEdge, CommandViewGraph, CommandViewNode, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContentSections, ContextUsageBadge, ContextViewer, ContractDisplay, CostBreakdownCard, CostByModelTable, CostMetricsCard, CrashErrorFallback, CreateApiKeyModal, CreateCredentialModal, CreateScheduleModal, CredentialList, CredentialSettings, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, CustomSelector, DEAL_STAGES, DEFAULT_KANBAN_CONFIG, DealDetailPage, DealDrawer, DealKanbanCard, DealsListPage, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentSettings, DeploymentStatusBadge, DetailCardSkeleton, DocTreeNav, EditApiKeyModal, ElevasisLoader, EmptyState, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorReportCard, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, ExecutionStats, ExecutionStatusBadge, FeatureUnavailableState, FilterBar, FormFieldRenderer, GlowDot, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, JsonViewer, KanbanBoard, KnowledgeBasePage, LEAD_GEN_ROUTE_LINKS, LIST_TEMPLATE_OPTIONS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenDeliverabilityPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, ListSkeleton, LogEntry, LogGroup, MdxRenderer, MembershipFeaturePanel, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyTasksPanel, NavigationButton, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NotificationBell, NotificationItem, NotificationList, NotificationPanel, OAuthConnectModal, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrganizationMembershipsList, PIPELINE_FUNNEL_ORDER, PageNotFound, PageTitleCaption, PipelineFunnelWidget, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, QuickCreateActions, RecurringScheduleForm, RelativeScheduleForm, ResourceCard, ResourceDefinitionSection, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, RichTextEditor, SAVED_VIEW_PRESETS, SEOSidebar, SEOSidebarMiddle, SEOSidebarTop, SHARED_VIZ_CONSTANTS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SessionMemory, SortableHeader, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, StyledMarkdown, TabCountBadge, TableSelectionToolbar, TaskCard, TaskScheduler, TasksDueWidget, TimeRangeSelector, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, TrendIndicator, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, VisualizerContainer, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionTimeline, buildErrorReport, buildListConfig, calculateProgress, catalogItemToResourceDefinition, crmManifest, dashboardManifest, deliveryManifest, formatStatusLabel, getEnrichmentColor, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getLogLevelConfig, getStatusColor, iconMap, leadGenManifest, mdxComponents, milestoneStatusColors, monitoringManifest, noteTypeColors, operationsManifest, projectStatusColors, seoManifest, settingsManifest, showApiErrorNotification, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, taskStatusColors, taskTypeColors, useCrmPipelineSummary, useCrmQuickMetrics, useDeleteLists, useGraphBackgroundStyles, useGraphTheme, useNewKnowledgeMapLayout, useRecentCrmActivity };
8794
8905
  export type { ActivityEntry, ActivityFiltersProps, ActivityTableProps, BaseEdgeProps, BaseExecutionLogsProps, BreadcrumbsProps, CommandViewGraphRef, ContextViewerProps, CostByModelTableProps, CrashErrorFallbackProps, CrmOverviewProps, DealDrawerProps, DealKanbanCardProps, ErrorAnalysisCardProps, ErrorReportCardProps, ExecutionBreakdownTableProps, ExecutionHealthCardProps, ExecutionLogEntry, ExecutionLogsFiltersProps, ExecutionLogsTableProps, FeatureUnavailableStateProps, FitViewButtonVariant, FormFieldRendererProps, GraphFitViewHandlerProps, JsonViewerProps, KanbanBoardProps, KnowledgeMapEdgeData, KnowledgeMapNodeData, LogLevel, MdxRendererProps, NavigationButtonProps, ProjectsSidebarMiddleProps, ResourceHealthPanelProps, RichTextEditorProps, SavedViewPreset, ScheduleType, SerializedKnowledgeMap, SerializedKnowledgeNode, StatCardProps, StyledMarkdownProps, TaskFilterStatus, TrendIndicatorProps };