@elevasis/ui 2.23.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 (57) hide show
  1. package/dist/app/index.d.ts +2915 -0
  2. package/dist/app/index.js +5 -4
  3. package/dist/{chunk-7PGEGSUM.js → chunk-7D2HSSIW.js} +2 -2
  4. package/dist/{chunk-YU6MBDVO.js → chunk-ABV5LDDC.js} +4 -68
  5. package/dist/chunk-AZXSFDG2.js +474 -0
  6. package/dist/{chunk-6IA2OMAE.js → chunk-HC2KV6BU.js} +9 -0
  7. package/dist/{chunk-PXGSJNBH.js → chunk-HVC2BTFO.js} +783 -374
  8. package/dist/{chunk-3HEUGBOT.js → chunk-LK4MPIMK.js} +2 -2
  9. package/dist/{chunk-XOTJNW4Q.js → chunk-QIW6OCEI.js} +18 -1
  10. package/dist/{chunk-GUJUK6EH.js → chunk-QJLRDTYS.js} +198 -2
  11. package/dist/{chunk-QZJM3RYI.js → chunk-SNHGSCKH.js} +1 -1
  12. package/dist/{chunk-FXWETLEB.js → chunk-V3UOW2HG.js} +1 -1
  13. package/dist/{chunk-N6WLOWOD.js → chunk-WSC5LU3U.js} +3 -12
  14. package/dist/{chunk-EPV7NU2E.js → chunk-WWVSPOJY.js} +385 -188
  15. package/dist/{chunk-SQ5JGELM.js → chunk-ZDKQNQ4X.js} +19 -1
  16. package/dist/{chunk-PTUOINQ2.js → chunk-ZGZZIR6K.js} +3 -3
  17. package/dist/{chunk-D3KQAABP.js → chunk-ZMXZ476Y.js} +1 -1
  18. package/dist/components/index.d.ts +488 -452
  19. package/dist/components/index.js +127 -22
  20. package/dist/components/navigation/index.js +2 -2
  21. package/dist/features/auth/index.d.ts +463 -377
  22. package/dist/features/crm/index.d.ts +459 -379
  23. package/dist/features/crm/index.js +8 -8
  24. package/dist/features/dashboard/index.js +8 -8
  25. package/dist/features/delivery/index.d.ts +457 -371
  26. package/dist/features/delivery/index.js +8 -8
  27. package/dist/features/lead-gen/index.d.ts +225 -65
  28. package/dist/features/lead-gen/index.js +8 -8
  29. package/dist/features/monitoring/index.js +9 -9
  30. package/dist/features/monitoring/requests/index.js +7 -7
  31. package/dist/features/operations/index.js +10 -10
  32. package/dist/features/settings/index.d.ts +463 -377
  33. package/dist/features/settings/index.js +9 -9
  34. package/dist/hooks/delivery/index.d.ts +457 -371
  35. package/dist/hooks/index.d.ts +957 -718
  36. package/dist/hooks/index.js +7 -7
  37. package/dist/hooks/published.d.ts +957 -718
  38. package/dist/hooks/published.js +7 -7
  39. package/dist/index.d.ts +1327 -1020
  40. package/dist/index.js +8 -8
  41. package/dist/initialization/index.d.ts +463 -377
  42. package/dist/organization/index.d.ts +11 -1
  43. package/dist/organization/index.js +2 -2
  44. package/dist/profile/index.d.ts +463 -377
  45. package/dist/provider/index.d.ts +3132 -169
  46. package/dist/provider/index.js +6 -6
  47. package/dist/provider/published.d.ts +3098 -168
  48. package/dist/provider/published.js +3 -3
  49. package/dist/supabase/index.d.ts +559 -389
  50. package/dist/test-utils/index.d.ts +21 -1
  51. package/dist/test-utils/index.js +13 -4
  52. package/dist/theme/index.js +2 -2
  53. package/dist/types/index.d.ts +463 -377
  54. package/package.json +2 -2
  55. package/src/test-utils/README.md +2 -0
  56. package/dist/chunk-LVUCBY7X.js +0 -127
  57. /package/dist/{chunk-ZBCTB5CA.js → chunk-EIOJNUPL.js} +0 -0
@@ -1,6 +1,6 @@
1
- import { PRESETS, getPreset, generateShades, mantineThemeOverride, createCssVariablesResolver, PresetsProvider } from './chunk-XOTJNW4Q.js';
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-LVUCBY7X.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';
@@ -1,7 +1,7 @@
1
1
  import { AppBackground, AmbientBloomGrid, CyberBackground, FloatingMotes, WaveBackground } from './chunk-WLOQ4IBG.js';
2
2
  import { createElement, Fragment, createContext, useRef, useEffect, useContext } from 'react';
3
3
  import { jsxs, Fragment as Fragment$1, jsx } from 'react/jsx-runtime';
4
- import { Tooltip, Text, Tabs, Table, Stack, SimpleGrid, Select, Combobox, SegmentedControl, ScrollArea, Paper, Popover, Notification, Modal, Menu, Input, HoverCard, Group, Grid, Flex, Code, Divider, Card, Button, Accordion, createTheme } from '@mantine/core';
4
+ import { Tooltip, Text, Tabs, Table, Stack, SimpleGrid, Select, Combobox, SegmentedControl, ScrollArea, Paper, Popover, Notification, Modal, Menu, Input, HoverCard, Group, Grid, Flex, Drawer, Code, Divider, Card, Button, Accordion, createTheme } from '@mantine/core';
5
5
 
6
6
  // src/theme/presets/utils.ts
7
7
  function hexToRgb(hex) {
@@ -2574,6 +2574,23 @@ var componentThemes = {
2574
2574
  }
2575
2575
  }
2576
2576
  }),
2577
+ Drawer: Drawer.extend({
2578
+ styles: {
2579
+ header: {
2580
+ backgroundColor: "transparent"
2581
+ },
2582
+ title: {
2583
+ fontFamily: "var(--font-sans, var(--mantine-font-family))",
2584
+ fontSize: "var(--mantine-font-size-xl)",
2585
+ fontWeight: 600,
2586
+ color: "var(--color-text)"
2587
+ },
2588
+ content: {
2589
+ backgroundColor: "var(--color-elevated, var(--color-background))",
2590
+ ...glassBase
2591
+ }
2592
+ }
2593
+ }),
2577
2594
  Flex: Flex.extend({
2578
2595
  defaultProps: {
2579
2596
  gap: DEFAULT_SIZE
@@ -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 } from './chunk-LVUCBY7X.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],
@@ -2871,6 +2897,155 @@ function useDeleteContacts() {
2871
2897
  }
2872
2898
  });
2873
2899
  }
2900
+ var leadGenArtifactKeys = {
2901
+ all: ["lead-gen-artifacts"],
2902
+ list: (organizationId, ownerKind, ownerId) => [...leadGenArtifactKeys.all, organizationId, ownerKind, ownerId]
2903
+ };
2904
+ function useArtifacts({ ownerKind, ownerId }) {
2905
+ const { apiRequest, isReady, organizationId } = useElevasisServices();
2906
+ return useQuery({
2907
+ queryKey: leadGenArtifactKeys.list(organizationId, ownerKind, ownerId),
2908
+ queryFn: () => apiRequest(
2909
+ `/acquisition/artifacts?ownerKind=${encodeURIComponent(ownerKind)}&ownerId=${encodeURIComponent(ownerId)}`
2910
+ ),
2911
+ enabled: isReady && !!ownerId
2912
+ });
2913
+ }
2914
+ function useCreateArtifact() {
2915
+ const { apiRequest, organizationId } = useElevasisServices();
2916
+ const queryClient = useQueryClient();
2917
+ return useMutation({
2918
+ mutationFn: (body) => apiRequest("/acquisition/artifacts", {
2919
+ method: "POST",
2920
+ body: JSON.stringify(body)
2921
+ }),
2922
+ onSuccess: (_, variables) => {
2923
+ queryClient.invalidateQueries({
2924
+ queryKey: leadGenArtifactKeys.list(organizationId, variables.ownerKind, variables.ownerId)
2925
+ });
2926
+ showSuccessNotification("Artifact created");
2927
+ },
2928
+ onError: (error) => {
2929
+ showApiErrorNotification(error);
2930
+ }
2931
+ });
2932
+ }
2933
+ var leadGenListMemberKeys = {
2934
+ all: ["lead-gen-list-members"],
2935
+ list: (organizationId, listId) => [...leadGenListMemberKeys.all, organizationId, "list", listId],
2936
+ detail: (organizationId, memberId) => [...leadGenListMemberKeys.all, organizationId, "detail", memberId]
2937
+ };
2938
+ function useListMembers({ listId }) {
2939
+ const { apiRequest, isReady, organizationId } = useElevasisServices();
2940
+ return useQuery({
2941
+ queryKey: leadGenListMemberKeys.list(organizationId, listId),
2942
+ queryFn: () => apiRequest(`/acquisition/lists/${listId}/members`),
2943
+ enabled: isReady && !!listId
2944
+ });
2945
+ }
2946
+ function useListMember(memberId) {
2947
+ const { apiRequest, isReady, organizationId } = useElevasisServices();
2948
+ return useQuery({
2949
+ queryKey: leadGenListMemberKeys.detail(organizationId, memberId),
2950
+ queryFn: () => apiRequest(`/acquisition/list-members/${memberId}`),
2951
+ enabled: isReady && !!memberId
2952
+ });
2953
+ }
2954
+ function useTransitionListMember() {
2955
+ const { apiRequest, organizationId } = useElevasisServices();
2956
+ const queryClient = useQueryClient();
2957
+ return useMutation({
2958
+ mutationFn: async (input) => {
2959
+ const { memberId, pipelineKey, stageKey, stateKey, reason, expectedUpdatedAt } = input;
2960
+ await apiRequest(`/acquisition/list-members/${memberId}/transition`, {
2961
+ method: "PATCH",
2962
+ body: JSON.stringify({
2963
+ pipelineKey,
2964
+ stageKey,
2965
+ ...stateKey !== void 0 ? { stateKey } : {},
2966
+ ...reason !== void 0 ? { reason } : {},
2967
+ ...expectedUpdatedAt !== void 0 ? { expectedUpdatedAt } : {}
2968
+ })
2969
+ });
2970
+ },
2971
+ onSuccess: (_, variables) => {
2972
+ queryClient.invalidateQueries({ queryKey: leadGenListMemberKeys.detail(organizationId, variables.memberId) });
2973
+ if (variables.listId) {
2974
+ queryClient.invalidateQueries({ queryKey: leadGenListMemberKeys.list(organizationId, variables.listId) });
2975
+ }
2976
+ },
2977
+ onError: (error) => {
2978
+ queryClient.invalidateQueries({ queryKey: leadGenListMemberKeys.all });
2979
+ showApiErrorNotification(error);
2980
+ }
2981
+ });
2982
+ }
2983
+ var leadGenListCompanyKeys = {
2984
+ all: ["lead-gen-list-companies"],
2985
+ detail: (organizationId, listCompanyId) => [...leadGenListCompanyKeys.all, organizationId, "detail", listCompanyId]
2986
+ };
2987
+ function useTransitionListCompany() {
2988
+ const { apiRequest, organizationId } = useElevasisServices();
2989
+ const queryClient = useQueryClient();
2990
+ return useMutation({
2991
+ mutationFn: async (input) => {
2992
+ const { listCompanyId, pipelineKey, stageKey, stateKey, reason, expectedUpdatedAt } = input;
2993
+ await apiRequest(`/acquisition/list-companies/${listCompanyId}/transition`, {
2994
+ method: "PATCH",
2995
+ body: JSON.stringify({
2996
+ pipelineKey,
2997
+ stageKey,
2998
+ ...stateKey !== void 0 ? { stateKey } : {},
2999
+ ...reason !== void 0 ? { reason } : {},
3000
+ ...expectedUpdatedAt !== void 0 ? { expectedUpdatedAt } : {}
3001
+ })
3002
+ });
3003
+ },
3004
+ onSuccess: (_, variables) => {
3005
+ queryClient.invalidateQueries({
3006
+ queryKey: leadGenListCompanyKeys.detail(organizationId, variables.listCompanyId)
3007
+ });
3008
+ if (variables.listId) {
3009
+ queryClient.invalidateQueries({ queryKey: acquisitionListKeys.telemetry(organizationId) });
3010
+ queryClient.invalidateQueries({ queryKey: acquisitionListKeys.detail(organizationId, variables.listId) });
3011
+ }
3012
+ },
3013
+ onError: (error) => {
3014
+ queryClient.invalidateQueries({ queryKey: leadGenListCompanyKeys.all });
3015
+ showApiErrorNotification(error);
3016
+ }
3017
+ });
3018
+ }
3019
+ function useDeriveActions(item) {
3020
+ return useMemo(() => {
3021
+ if (!item) return [];
3022
+ if (item.pipeline_key !== "lead-gen") {
3023
+ return deriveActions(item);
3024
+ }
3025
+ return [];
3026
+ }, [item]);
3027
+ }
3028
+ function useUpdateListStatus() {
3029
+ const { apiRequest, organizationId } = useElevasisServices();
3030
+ const queryClient = useQueryClient();
3031
+ return useMutation({
3032
+ mutationFn: async (input) => {
3033
+ await apiRequest(`/acquisition/lists/${input.listId}/status`, {
3034
+ method: "PATCH",
3035
+ body: JSON.stringify({ status: input.status })
3036
+ });
3037
+ },
3038
+ onSuccess: (_, variables) => {
3039
+ queryClient.invalidateQueries({ queryKey: acquisitionListKeys.list(organizationId) });
3040
+ queryClient.invalidateQueries({ queryKey: acquisitionListKeys.detail(organizationId, variables.listId) });
3041
+ queryClient.invalidateQueries({ queryKey: acquisitionListKeys.telemetry(organizationId) });
3042
+ },
3043
+ onError: (error) => {
3044
+ queryClient.invalidateQueries({ queryKey: acquisitionListKeys.all });
3045
+ showApiErrorNotification(error);
3046
+ }
3047
+ });
3048
+ }
2874
3049
  var projectActivityKeys = {
2875
3050
  all: ["project-activities"],
2876
3051
  list: (projectId) => [...projectActivityKeys.all, "list", projectId]
@@ -4328,6 +4503,27 @@ function useDealDetail(acqDealId) {
4328
4503
  enabled: isReady && !!acqDealId
4329
4504
  });
4330
4505
  }
4506
+ function useExecuteAction({ dealId }) {
4507
+ const { apiRequest, organizationId } = useElevasisServices();
4508
+ const queryClient = useQueryClient();
4509
+ return useMutation({
4510
+ mutationFn: async ({ key, payload }) => {
4511
+ await apiRequest(`/deals/${dealId}/actions/${encodeURIComponent(key)}`, {
4512
+ method: "POST",
4513
+ body: JSON.stringify({ payload })
4514
+ });
4515
+ },
4516
+ onSuccess: () => {
4517
+ queryClient.invalidateQueries({ queryKey: dealKeys.lists() });
4518
+ queryClient.invalidateQueries({ queryKey: dealKeys.summaries() });
4519
+ queryClient.invalidateQueries({ queryKey: ["deal-detail", organizationId, dealId] });
4520
+ },
4521
+ onError: (error) => {
4522
+ queryClient.invalidateQueries({ queryKey: dealKeys.all });
4523
+ showApiErrorNotification(error);
4524
+ }
4525
+ });
4526
+ }
4331
4527
 
4332
4528
  // src/hooks/acquisition/useBatchTelemetry.ts
4333
4529
  function useBatchTelemetry() {
@@ -4884,4 +5080,4 @@ function useProjectRealtime(projectId) {
4884
5080
  });
4885
5081
  }
4886
5082
 
4887
- 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, operationsKeys, projectActivityKeys, requestsKeys, scheduleKeys, sessionsKeys, sortData, transformMembershipToTableRow, useActivateDeployment, useActivities, useActivitiesRealtime, useActivityFilters, useActivityTrend, useArchiveSession, useArchivedLogs, 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, 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, useEffectivePermissions, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAsync, useExecuteResource, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionLogsFilters, useExecutionPanelState, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphStats, useHasPermission, useList, useListApiKeys, useListDeployments, useListExecutions, 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, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateApiKey, useUpdateCompany, useUpdateContact, useUpdateCredential, useUpdateList, useUpdateListConfig, 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 };
@@ -1,4 +1,4 @@
1
- import { usePresetsContext } from './chunk-XOTJNW4Q.js';
1
+ import { usePresetsContext } from './chunk-QIW6OCEI.js';
2
2
  import { useMemo } from 'react';
3
3
 
4
4
  var BUILT_IN_NAMES = /* @__PURE__ */ new Set([
@@ -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-GUJUK6EH.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-GUJUK6EH.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';
@@ -1097,10 +1097,9 @@ function renderMilestoneBullet(status) {
1097
1097
  function getMilestoneSurfaceStyles(status) {
1098
1098
  const normalizedStatus = status ?? "upcoming";
1099
1099
  const accent = normalizedStatus === "completed" ? "var(--color-primary)" : normalizedStatus === "in_progress" ? "color-mix(in srgb, var(--color-primary) 72%, white)" : "color-mix(in srgb, var(--color-primary) 36%, var(--color-border))";
1100
- const background = normalizedStatus === "completed" ? "linear-gradient(180deg, color-mix(in srgb, var(--color-primary) 1.5%, transparent) 0%, transparent 100%)" : normalizedStatus === "in_progress" ? "linear-gradient(180deg, color-mix(in srgb, var(--color-primary) 3%, transparent) 0%, transparent 100%)" : "linear-gradient(180deg, color-mix(in srgb, var(--color-primary) 1.5%, transparent) 0%, transparent 100%)";
1101
1100
  return {
1102
1101
  accent,
1103
- background
1102
+ background: "transparent"
1104
1103
  };
1105
1104
  }
1106
1105
  function MilestoneChecklist({ milestone }) {
@@ -1477,15 +1476,7 @@ function ProjectDetailPage({ projectId, onBack, backLabel = "Projects" }) {
1477
1476
  /* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-start", wrap: "wrap", children: [
1478
1477
  /* @__PURE__ */ jsxs(Stack, { gap: 6, style: { flex: 1, minWidth: 260 }, children: [
1479
1478
  /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "wrap", children: [
1480
- /* @__PURE__ */ jsx(
1481
- Text,
1482
- {
1483
- fw: 700,
1484
- size: "lg",
1485
- c: "var(--color-text)",
1486
- children: milestone.name
1487
- }
1488
- ),
1479
+ /* @__PURE__ */ jsx(Text, { fw: 700, size: "lg", c: "var(--color-text)", children: milestone.name }),
1489
1480
  /* @__PURE__ */ jsx(
1490
1481
  Badge,
1491
1482
  {