@elevasis/ui 2.1.0 → 2.2.1

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';
@@ -159,7 +159,7 @@ var tacticalPreset = {
159
159
  dark: {
160
160
  primary: "#0099ff",
161
161
  primaryContrast: "#ffffff",
162
- background: "#030304",
162
+ background: "#020203",
163
163
  surface: "rgba(18, 19, 21, 0.3)",
164
164
  surfaceHover: "rgba(32, 33, 36, 0.5)",
165
165
  elevatedSurface: "rgba(18, 21, 27, 0.85)",
@@ -170,7 +170,7 @@ var tacticalPreset = {
170
170
  error: "#FF4757",
171
171
  warning: "#FFA502",
172
172
  success: "#2ED573",
173
- glassBackground: "rgba(14, 15, 17, 0.6)",
173
+ glassBackground: "rgba(14, 15, 17, 0.55)",
174
174
  glassBlur: "blur(24px) saturate(170%)",
175
175
  shadow: "0px 1px 2px rgba(0, 0, 0, 0.5), 0px 12px 32px -8px rgba(0, 0, 0, 0.6)",
176
176
  cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.04), inset 0 0 8px -6px rgba(255, 255, 255, 0.1), 0 2px 8px rgba(0, 0, 0, 0.3), 0 12px 32px -8px rgba(0, 0, 0, 0.4), 0 32px 64px -16px rgba(0, 0, 0, 0.3)",
@@ -1,9 +1,9 @@
1
1
  import { FilterBar } from './chunk-PDHTXPSF.js';
2
2
  import { CustomModal } from './chunk-GBMNCNHX.js';
3
3
  import { AppShellLoader } from './chunk-YEX4MQSY.js';
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';
4
+ import { useAvailablePresets } from './chunk-M66JAN7R.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';
@@ -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';
@@ -1,4 +1,4 @@
1
- import { PRESETS, getPreset, generateShades, mantineThemeOverride, createCssVariablesResolver, PresetsProvider } from './chunk-RB34YOIX.js';
1
+ import { PRESETS, getPreset, generateShades, mantineThemeOverride, createCssVariablesResolver, PresetsProvider } from './chunk-3WMJWXZY.js';
2
2
  import { AppBackground } from './chunk-CYXZHBP4.js';
3
3
  import { ElevasisCoreProvider } from './chunk-MZPVNRPL.js';
4
4
  import { ElevasisLoader } from './chunk-Y3D3WFJG.js';
@@ -1,4 +1,4 @@
1
- import { usePresetsContext } from './chunk-RB34YOIX.js';
1
+ import { usePresetsContext } from './chunk-3WMJWXZY.js';
2
2
  import { useMemo } from 'react';
3
3
 
4
4
  var BUILT_IN_NAMES = /* @__PURE__ */ new Set([
@@ -1,12 +1,12 @@
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';
9
- import { glassBase } from './chunk-RB34YOIX.js';
9
+ import { glassBase } from './chunk-3WMJWXZY.js';
10
10
  import { GlowDot, CardHeader, EmptyState, PageTitleCaption, TabCountBadge } from './chunk-Y3D3WFJG.js';
11
11
  import { ResourceStatusColors } from './chunk-ELJIFLCB.js';
12
12
  import { formatTimeAgo, formatRelativeTime } from './chunk-IOKL7BKE.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';
@@ -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-O6KZ46EJ.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';
@@ -8587,8 +8587,8 @@ type BreadcrumbsProps = UseBreadcrumbsOptions;
8587
8587
  declare const Breadcrumbs: ({ navItems }: BreadcrumbsProps) => react_jsx_runtime.JSX.Element;
8588
8588
 
8589
8589
  interface KanbanBoardProps {
8590
- /** Stage color and label overrides. Falls back to DEFAULT_KANBAN_CONFIG. */
8591
- config?: KanbanBoardConfig;
8590
+ /** Required column configuration. If omitted or empty, the board shows a configuration-required state. */
8591
+ config: KanbanBoardConfig | null | undefined;
8592
8592
  /**
8593
8593
  * Optional render-prop forwarded to the DealDrawer action slot.
8594
8594
  * Use this to inject consumer-specific actions (e.g. a revision trigger button).
@@ -8616,6 +8616,7 @@ declare const DEFAULT_KANBAN_CONFIG: KanbanBoardConfig;
8616
8616
 
8617
8617
  interface DealDrawerProps {
8618
8618
  deal: DealListItem | null;
8619
+ config: KanbanBoardConfig | null | undefined;
8619
8620
  opened: boolean;
8620
8621
  onClose: () => void;
8621
8622
  /**
@@ -8624,7 +8625,7 @@ interface DealDrawerProps {
8624
8625
  */
8625
8626
  renderActions?: () => ReactNode;
8626
8627
  }
8627
- declare function DealDrawer({ deal, opened, onClose, renderActions }: DealDrawerProps): react_jsx_runtime.JSX.Element | null;
8628
+ declare function DealDrawer({ deal, config, opened, onClose, renderActions }: DealDrawerProps): react_jsx_runtime.JSX.Element | null;
8628
8629
 
8629
8630
  declare const CrmSidebar: () => react_jsx_runtime.JSX.Element;
8630
8631
 
@@ -8825,6 +8826,7 @@ declare function LeadGenListDetailPage({ listId }: {
8825
8826
  }): react_jsx_runtime.JSX.Element;
8826
8827
 
8827
8828
  declare function LeadGenCompaniesPage(): react_jsx_runtime.JSX.Element;
8829
+
8828
8830
  declare function LeadGenContactsPage(): react_jsx_runtime.JSX.Element;
8829
8831
 
8830
8832
  declare const SEOSidebar: () => react_jsx_runtime.JSX.Element;