@elevasis/ui 2.12.0 → 2.14.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 (53) hide show
  1. package/dist/app/index.js +5 -5
  2. package/dist/chunk-442LZPIR.js +5 -0
  3. package/dist/{chunk-PXFV47B3.js → chunk-5IBTTMWX.js} +3 -3
  4. package/dist/{chunk-ETWKPFOO.js → chunk-6RWMRQN5.js} +1 -1
  5. package/dist/{chunk-F6SMVMFC.js → chunk-A7346I7H.js} +3 -3
  6. package/dist/{chunk-ZKCQEHEJ.js → chunk-C56A2MAS.js} +357 -26
  7. package/dist/{chunk-ISVFJCPP.js → chunk-ETQRV5A6.js} +1 -1
  8. package/dist/{chunk-V7XHGJQZ.js → chunk-FL67C3WY.js} +6 -1
  9. package/dist/{chunk-235RO24Z.js → chunk-IO75JNQE.js} +8 -3
  10. package/dist/{chunk-WM7JTTPX.js → chunk-JAUU6TZU.js} +74 -6
  11. package/dist/{chunk-YEX4MQSY.js → chunk-M25JL54Z.js} +3 -3
  12. package/dist/{chunk-MISBW6WW.js → chunk-PPKJKM3U.js} +1 -1
  13. package/dist/{chunk-7PLBPEBW.js → chunk-QFBENUS2.js} +2 -2
  14. package/dist/{chunk-TXZXMTZB.js → chunk-QFEQWAPQ.js} +7 -4
  15. package/dist/{chunk-TYWZABTP.js → chunk-R73EHHPN.js} +89 -46
  16. package/dist/{chunk-GHCYUZZE.js → chunk-TAUPDLQ7.js} +3 -3
  17. package/dist/{chunk-F4TPY6YL.js → chunk-WLOQ4IBG.js} +9 -3
  18. package/dist/{chunk-R7WLWGPO.js → chunk-ZB5GAV7J.js} +1 -1
  19. package/dist/components/index.d.ts +16 -10
  20. package/dist/components/index.js +20 -20
  21. package/dist/features/auth/index.d.ts +7 -4
  22. package/dist/features/auth/index.js +2 -2
  23. package/dist/features/crm/index.d.ts +7 -4
  24. package/dist/features/crm/index.js +7 -7
  25. package/dist/features/dashboard/index.js +8 -8
  26. package/dist/features/delivery/index.d.ts +7 -4
  27. package/dist/features/delivery/index.js +8 -8
  28. package/dist/features/lead-gen/index.js +12 -12
  29. package/dist/features/monitoring/index.js +9 -9
  30. package/dist/features/monitoring/requests/index.d.ts +125 -0
  31. package/dist/features/operations/index.js +11 -11
  32. package/dist/features/settings/index.d.ts +7 -4
  33. package/dist/features/settings/index.js +9 -9
  34. package/dist/hooks/index.d.ts +137 -17
  35. package/dist/hooks/index.js +6 -6
  36. package/dist/hooks/published.d.ts +137 -17
  37. package/dist/hooks/published.js +6 -6
  38. package/dist/index.d.ts +182 -16
  39. package/dist/index.js +7 -7
  40. package/dist/initialization/index.d.ts +7 -4
  41. package/dist/layout/index.d.ts +9 -2
  42. package/dist/layout/index.js +2 -2
  43. package/dist/organization/index.js +1 -1
  44. package/dist/profile/index.d.ts +7 -4
  45. package/dist/provider/index.d.ts +47 -1
  46. package/dist/provider/index.js +5 -5
  47. package/dist/provider/published.d.ts +47 -1
  48. package/dist/provider/published.js +2 -2
  49. package/dist/supabase/index.d.ts +14 -8
  50. package/dist/theme/index.js +3 -3
  51. package/dist/types/index.d.ts +10 -7
  52. package/package.json +6 -2
  53. package/dist/chunk-G2TDX3W6.js +0 -5
@@ -1,7 +1,7 @@
1
1
  import { getTimeRangeDates, observabilityKeys } from './chunk-LXHZYSMQ.js';
2
2
  import { useSupabase } from './chunk-BRXELOHC.js';
3
3
  import { GRAPH_CONSTANTS } from './chunk-22UVE3RA.js';
4
- import { useNotificationAdapter } from './chunk-R7WLWGPO.js';
4
+ import { useNotificationAdapter } from './chunk-ZB5GAV7J.js';
5
5
  import { HTTP_HEADERS } from './chunk-NVOCKXUQ.js';
6
6
  import { REFETCH_INTERVAL_DASHBOARD, STALE_TIME_MONITORING, REFETCH_INTERVAL_RUNNING, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, STALE_TIME_DEFAULT, STALE_TIME_ADMIN, getErrorInfo, formatErrorMessage, getErrorTitle, APIClientError, GC_TIME_MEDIUM, GC_TIME_SHORT } from './chunk-IOKL7BKE.js';
7
7
  import { useStableAccessToken } from './chunk-MTJ43R2E.js';
@@ -2182,7 +2182,18 @@ function useCommandQueue({
2182
2182
  } = {}) {
2183
2183
  const { apiRequest, isReady, organizationId } = useElevasisServices();
2184
2184
  return useQuery({
2185
- queryKey: ["command-queue", "list", organizationId, status, humanCheckpoint, timeRange, priorityMin, priorityMax, limit, offset],
2185
+ queryKey: [
2186
+ "command-queue",
2187
+ "list",
2188
+ organizationId,
2189
+ status,
2190
+ humanCheckpoint,
2191
+ timeRange,
2192
+ priorityMin,
2193
+ priorityMax,
2194
+ limit,
2195
+ offset
2196
+ ],
2186
2197
  queryFn: async () => {
2187
2198
  const params = new URLSearchParams();
2188
2199
  if (status) params.set("status", status);
@@ -2192,9 +2203,7 @@ function useCommandQueue({
2192
2203
  if (priorityMax !== void 0) params.set("priorityMax", String(priorityMax));
2193
2204
  if (limit !== void 0) params.set("limit", String(limit));
2194
2205
  if (offset !== void 0) params.set("offset", String(offset));
2195
- const response = await apiRequest(
2196
- `/command-queue?${params.toString()}`
2197
- );
2206
+ const response = await apiRequest(`/command-queue?${params.toString()}`);
2198
2207
  return response.tasks.map((task) => ({
2199
2208
  ...task,
2200
2209
  createdAt: new Date(task.createdAt),
@@ -2335,6 +2344,65 @@ function usePatchTask() {
2335
2344
  }
2336
2345
  });
2337
2346
  }
2347
+
2348
+ // src/hooks/requests/queryKeys.ts
2349
+ var requestsKeys = {
2350
+ all: ["requests"],
2351
+ lists: () => [...requestsKeys.all, "list"],
2352
+ list: (organizationId, filters) => [...requestsKeys.lists(), organizationId, filters],
2353
+ details: () => [...requestsKeys.all, "detail"],
2354
+ detail: (organizationId, id) => [...requestsKeys.details(), organizationId, id]
2355
+ };
2356
+ function useRequestsList(filters = {}) {
2357
+ const { apiRequest, isReady, organizationId } = useElevasisServices();
2358
+ const { type, severity, status, source, limit, offset } = filters;
2359
+ return useQuery({
2360
+ queryKey: requestsKeys.list(organizationId ?? void 0, filters),
2361
+ queryFn: async () => {
2362
+ const params = new URLSearchParams();
2363
+ if (type) params.set("type", type);
2364
+ if (severity) params.set("severity", severity);
2365
+ if (status) params.set("status", status);
2366
+ if (source) params.set("source", source);
2367
+ if (limit !== void 0) params.set("limit", String(limit));
2368
+ if (offset !== void 0) params.set("offset", String(offset));
2369
+ const query = params.toString();
2370
+ const { requests } = await apiRequest(`/requests${query ? "?" + query : ""}`);
2371
+ return requests;
2372
+ },
2373
+ enabled: isReady
2374
+ });
2375
+ }
2376
+ function useRequest(id) {
2377
+ const { apiRequest, isReady, organizationId } = useElevasisServices();
2378
+ return useQuery({
2379
+ queryKey: requestsKeys.detail(organizationId ?? void 0, id),
2380
+ queryFn: async () => {
2381
+ const { request } = await apiRequest(`/requests/${id}`);
2382
+ return request;
2383
+ },
2384
+ enabled: isReady && !!id
2385
+ });
2386
+ }
2387
+ function useUpdateRequestStatus() {
2388
+ const { apiRequest, organizationId } = useElevasisServices();
2389
+ const queryClient = useQueryClient();
2390
+ return useMutation({
2391
+ mutationFn: async ({ id, status }) => {
2392
+ const { request } = await apiRequest(`/requests/${id}`, {
2393
+ method: "PATCH",
2394
+ body: JSON.stringify({ status })
2395
+ });
2396
+ return request;
2397
+ },
2398
+ onSuccess: (_data, { id }) => {
2399
+ queryClient.invalidateQueries({ queryKey: requestsKeys.lists() });
2400
+ queryClient.invalidateQueries({
2401
+ queryKey: requestsKeys.detail(organizationId ?? void 0, id)
2402
+ });
2403
+ }
2404
+ });
2405
+ }
2338
2406
  function useExecutionPanelState({
2339
2407
  resourceId,
2340
2408
  manager,
@@ -4666,4 +4734,4 @@ function useDeleteTask2() {
4666
4734
  });
4667
4735
  }
4668
4736
 
4669
- export { ApiKeyService, CredentialSchemas, CredentialService, DeploymentService, MEMBERSHIP_STATUS_COLORS, OperationsService, OrganizationMembershipService, WebhookEndpointService, acquisitionListKeys, companyKeys, contactKeys, dealKeys, dealNoteKeys, dealTaskKeys, executionsKeys, filterByDomainFilters, isSessionCapable, milestoneKeys, noteKeys, operationsKeys, projectActivityKeys, projectKeys, scheduleKeys, sessionsKeys, showApiErrorNotification, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, sortData, taskKeys, transformMembershipToTableRow, useActivateDeployment, useActivities, useActivitiesRealtime, useActivityFilters, useActivityTrend, useArchiveSession, useArchivedLogs, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewDomainFilters, useCommandViewLayout, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompleteDealTask, useContact, useContacts, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateApiKey, useCreateCompany, useCreateContact, useCreateCredential, useCreateDealNote, useCreateDealTask, useCreateList, useCreateMilestone, useCreateNote, useCreateProject, useCreateSchedule, useCreateSession, useCreateTask, useCreateWebhookEndpoint, useCredentials, useDashboardMetrics, useDeactivateDeployment, useDeactivateMembership, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDeleteApiKey, useDeleteCompanies, useDeleteContacts, useDeleteCredential, useDeleteDeal, useDeleteDeployment, useDeleteExecution, useDeleteList, useDeleteMilestone, useDeleteProject, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeleteTask2, useDeleteWebhookEndpoint, useDeploymentDocs, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAsync, useExecuteResource, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionLogsFilters, useExecutionPanelState, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphStats, useList, useListApiKeys, useListDeployments, useListExecutions, useListProgress, useListSchedules, useListWebhookEndpoints, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useMilestones, useNotificationCount, useNotifications, useOrganizationMembers, usePaginationState, usePatchTask, usePauseSchedule, useProject, useProjectActivities, useProjectMilestones, useProjectNotes, useProjectRealtime, useProjectTasks, useProjects, useReactivateMembership, useRecentExecutionsByResource, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResourceSearch, useResources, useResourcesDomainFilters, useResourcesHealth, useResumeSchedule, useRetryExecution, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useStatusFilter, useSubmitAction, useSuccessNotification, useSyncDealStage, useTableSelection, useTableSort, useTasks, useTestNotification, useTimeRangeDates, useTopFailingResources, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateApiKey, useUpdateCompany, useUpdateContact, useUpdateCredential, useUpdateList, useUpdateListConfig, useUpdateMemberConfig, useUpdateMilestone, useUpdateProject, useUpdateSchedule, useUpdateTask, useUpdateWebhookEndpoint, useUserMemberships, useVisibleResources, useWarningNotification };
4737
+ export { ApiKeyService, CredentialSchemas, CredentialService, DeploymentService, MEMBERSHIP_STATUS_COLORS, OperationsService, OrganizationMembershipService, WebhookEndpointService, acquisitionListKeys, companyKeys, contactKeys, dealKeys, dealNoteKeys, dealTaskKeys, executionsKeys, filterByDomainFilters, isSessionCapable, milestoneKeys, noteKeys, operationsKeys, projectActivityKeys, projectKeys, requestsKeys, scheduleKeys, sessionsKeys, showApiErrorNotification, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, sortData, taskKeys, transformMembershipToTableRow, useActivateDeployment, useActivities, useActivitiesRealtime, useActivityFilters, useActivityTrend, useArchiveSession, useArchivedLogs, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewDomainFilters, useCommandViewLayout, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompleteDealTask, useContact, useContacts, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateApiKey, useCreateCompany, useCreateContact, useCreateCredential, useCreateDealNote, useCreateDealTask, useCreateList, useCreateMilestone, useCreateNote, useCreateProject, useCreateSchedule, useCreateSession, useCreateTask, useCreateWebhookEndpoint, useCredentials, useDashboardMetrics, useDeactivateDeployment, useDeactivateMembership, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDeleteApiKey, useDeleteCompanies, useDeleteContacts, useDeleteCredential, useDeleteDeal, useDeleteDeployment, useDeleteExecution, useDeleteList, useDeleteMilestone, useDeleteProject, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeleteTask2, useDeleteWebhookEndpoint, useDeploymentDocs, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAsync, useExecuteResource, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionLogsFilters, useExecutionPanelState, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphStats, useList, useListApiKeys, useListDeployments, useListExecutions, useListProgress, useListSchedules, useListWebhookEndpoints, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useMilestones, useNotificationCount, useNotifications, useOrganizationMembers, usePaginationState, usePatchTask, usePauseSchedule, useProject, useProjectActivities, useProjectMilestones, useProjectNotes, useProjectRealtime, useProjectTasks, useProjects, useReactivateMembership, useRecentExecutionsByResource, useRequest, useRequestsList, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResourceSearch, useResources, useResourcesDomainFilters, useResourcesHealth, useResumeSchedule, useRetryExecution, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useStatusFilter, useSubmitAction, useSuccessNotification, useSyncDealStage, useTableSelection, useTableSort, useTasks, useTestNotification, useTimeRangeDates, useTopFailingResources, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateApiKey, useUpdateCompany, useUpdateContact, useUpdateCredential, useUpdateList, useUpdateListConfig, useUpdateMemberConfig, useUpdateMilestone, useUpdateProject, useUpdateRequestStatus, useUpdateSchedule, useUpdateTask, useUpdateWebhookEndpoint, useUserMemberships, useVisibleResources, useWarningNotification };
@@ -1,6 +1,6 @@
1
1
  import { useAppearance } from './chunk-QJ2KCHKX.js';
2
2
  import { topbarHeight } from './chunk-DT3QYZVU.js';
3
- import { Title, Button } from '@mantine/core';
3
+ import { Stack, Title, Button } from '@mantine/core';
4
4
  import { IconAlertCircle } from '@tabler/icons-react';
5
5
  import { jsx, jsxs } from 'react/jsx-runtime';
6
6
 
@@ -27,11 +27,11 @@ var AppShellLoader = () => {
27
27
  return /* @__PURE__ */ jsx(AppShellCenteredContainer, { children: loader });
28
28
  };
29
29
  var AppShellError = ({ message, retry }) => {
30
- return /* @__PURE__ */ jsxs(AppShellCenteredContainer, { children: [
30
+ return /* @__PURE__ */ jsx(AppShellCenteredContainer, { children: /* @__PURE__ */ jsxs(Stack, { align: "center", gap: "md", children: [
31
31
  /* @__PURE__ */ jsx(IconAlertCircle, { size: 48, color: "var(--color-error)" }),
32
32
  /* @__PURE__ */ jsx(Title, { order: 3, c: "dimmed", children: message }),
33
33
  retry && /* @__PURE__ */ jsx(Button, { onClick: retry, children: "Retry" })
34
- ] });
34
+ ] }) });
35
35
  };
36
36
 
37
37
  export { AppShellCenteredContainer, AppShellError, AppShellLoader };
@@ -4,7 +4,7 @@ import { SubshellNavItem } from './chunk-CEWTOKE7.js';
4
4
  import { SubshellSidebarSection } from './chunk-IIMU5YAJ.js';
5
5
  import { FilterBar } from './chunk-PDHTXPSF.js';
6
6
  import { CustomModal } from './chunk-GBMNCNHX.js';
7
- import { useDealTasksDue, useDeals, useCreateDealTask, useDeleteDeal, useTableSort, sortData, usePaginationState, useTableSelection, useDealDetail, useCompany } from './chunk-WM7JTTPX.js';
7
+ import { useDealTasksDue, useDeals, useCreateDealTask, useDeleteDeal, useTableSort, sortData, usePaginationState, useTableSelection, useDealDetail, useCompany } from './chunk-JAUU6TZU.js';
8
8
  import { SubshellContentContainer } from './chunk-RX4UWZZR.js';
9
9
  import { CenteredErrorState, CardHeader, PageTitleCaption, EmptyState, ActivityTimeline } from './chunk-SQQGLGHW.js';
10
10
  import { PAGE_SIZE_DEFAULT, formatTimeAgo } from './chunk-IOKL7BKE.js';
@@ -1,11 +1,11 @@
1
- import { ResourceExecuteDialog } from './chunk-ZKCQEHEJ.js';
1
+ import { ResourceExecuteDialog } from './chunk-C56A2MAS.js';
2
2
  import { TableSelectionToolbar, SortableHeader } from './chunk-TUMSNGTX.js';
3
3
  import { PageContainer } from './chunk-BZZCNLT6.js';
4
4
  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-GBMNCNHX.js';
8
- import { showApiErrorNotification, acquisitionListKeys, showSuccessNotification, useListsTelemetry, useLists, useCreateList, useTableSort, sortData, usePaginationState, useTableSelection, useList, useListProgress, useListExecutions, useResourceDefinition, useCompanies, useDeleteCompanies, useContacts, useDeleteContacts } from './chunk-WM7JTTPX.js';
8
+ import { showApiErrorNotification, acquisitionListKeys, showSuccessNotification, useListsTelemetry, useLists, useCreateList, useTableSort, sortData, usePaginationState, useTableSelection, useList, useListProgress, useListExecutions, useResourceDefinition, useCompanies, useDeleteCompanies, useContacts, useDeleteContacts } from './chunk-JAUU6TZU.js';
9
9
  import { SubshellContentContainer } from './chunk-RX4UWZZR.js';
10
10
  import { PageTitleCaption, CenteredErrorState, StatCard, EmptyState } from './chunk-SQQGLGHW.js';
11
11
  import { useElevasisServices } from './chunk-QEPXAWE2.js';
@@ -1,11 +1,11 @@
1
- import { DELIVERY_PROJECTS_VIEW_CAPABILITY_ID, PROJECTS_FEATURE_ID } from './chunk-G2TDX3W6.js';
1
+ import { PROJECTS_VIEW_CAPABILITY_ID, PROJECTS_FEATURE_ID } from './chunk-442LZPIR.js';
2
2
  import { TableSelectionToolbar, SortableHeader } from './chunk-TUMSNGTX.js';
3
3
  import { PageContainer } from './chunk-BZZCNLT6.js';
4
4
  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-GBMNCNHX.js';
8
- import { useCreateTask, useCreateMilestone, useProjectMilestones, useUpdateTask, useProjects, useDeleteProject, useTableSort, sortData, usePaginationState, useTableSelection, useProjectRealtime, useProject, useProjectTasks, useProjectNotes, useUpdateMilestone, useProjectActivities, useCreateNote, showApiErrorNotification, projectKeys } from './chunk-WM7JTTPX.js';
8
+ import { useCreateTask, useCreateMilestone, useProjectMilestones, useUpdateTask, useProjects, useDeleteProject, useTableSort, sortData, usePaginationState, useTableSelection, useProjectRealtime, useProject, useProjectTasks, useProjectNotes, useUpdateMilestone, useProjectActivities, useCreateNote, showApiErrorNotification, projectKeys } from './chunk-JAUU6TZU.js';
9
9
  import { SubshellContentContainer } from './chunk-RX4UWZZR.js';
10
10
  import { StatusBadge, EmptyState, PageTitleCaption, CenteredErrorState, StatCard } from './chunk-SQQGLGHW.js';
11
11
  import { PAGE_SIZE_DEFAULT, formatTimeAgo, formatDate, formatRelativeTime } from './chunk-IOKL7BKE.js';
@@ -542,7 +542,7 @@ var ProjectsSidebar = ({ children } = {}) => {
542
542
  var deliveryManifest = {
543
543
  key: "delivery",
544
544
  featureId: PROJECTS_FEATURE_ID,
545
- capabilityIds: [DELIVERY_PROJECTS_VIEW_CAPABILITY_ID],
545
+ capabilityIds: [PROJECTS_VIEW_CAPABILITY_ID],
546
546
  navEntry: {
547
547
  label: "Projects",
548
548
  icon: IconBriefcase,
@@ -617,7 +617,10 @@ function ProjectsListPage({ onProjectClick } = {}) {
617
617
  }),
618
618
  []
619
619
  );
620
- const sortedProjects = useMemo(() => sortData(filteredProjects, sort, sortAccessors), [filteredProjects, sort, sortAccessors]);
620
+ const sortedProjects = useMemo(
621
+ () => sortData(filteredProjects, sort, sortAccessors),
622
+ [filteredProjects, sort, sortAccessors]
623
+ );
621
624
  const pagination = usePaginationState(PAGE_SIZE_DEFAULT, [statusFilter, searchQuery], sortedProjects.length);
622
625
  const paginatedProjects = useMemo(
623
626
  () => sortedProjects.slice(pagination.offset, pagination.offset + PAGE_SIZE_DEFAULT),
@@ -1,4 +1,4 @@
1
- import { AppBackground, AmbientBloomGrid, CyberBackground, FloatingMotes, WaveBackground } from './chunk-F4TPY6YL.js';
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
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';
@@ -108,14 +108,14 @@ var defaultPreset = {
108
108
  text: "#ffffff",
109
109
  textDimmed: "#c1c2c5",
110
110
  textSubtle: "#ABABAB",
111
- border: "rgba(255, 255, 255, 0.07)",
111
+ border: "rgba(255, 255, 255, 0.06)",
112
112
  error: "#ff5252",
113
113
  warning: "#ff9800",
114
114
  success: "#4caf50",
115
115
  glassBackground: "rgba(15, 15, 17, 0.55)",
116
116
  glassBlur: "blur(22px) saturate(160%)",
117
117
  shadow: "0px 1px 2px rgba(0, 0, 0, 0.5), 0px 8px 24px -8px rgba(0, 0, 0, 0.5), 0px 20px 48px -16px rgba(0, 0, 0, 0.35)",
118
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.02), inset 0 0 0 1px rgba(255, 255, 255, 0.02), 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)",
118
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.1), inset 0 0 0 1px rgba(255, 255, 255, 0.02), 0 2px 8px rgba(0, 0, 0, 0.5), 0 12px 32px -8px rgba(0, 0, 0, 0.4), 0 32px 64px -16px rgba(0, 0, 0, 0.3)",
119
119
  durationFast: "150ms",
120
120
  durationNormal: "250ms",
121
121
  easing: "cubic-bezier(0.4, 0, 0.2, 1)",
@@ -128,7 +128,10 @@ var tacticalPreset = {
128
128
  background: createElement(
129
129
  Fragment,
130
130
  null,
131
- createElement(AppBackground),
131
+ createElement(AppBackground, {
132
+ gridGlowColor: "color-mix(in srgb, #5A6070 30%, transparent)",
133
+ gridGlowIntensity: 50
134
+ }),
132
135
  createElement(AmbientBloomGrid, { intensity: 0.07, color: "#5A6070", size: 1.2 })
133
136
  ),
134
137
  light: {
@@ -173,7 +176,7 @@ var tacticalPreset = {
173
176
  glassBackground: "rgba(15, 16, 18, 0.55)",
174
177
  glassBlur: "blur(24px) saturate(170%)",
175
178
  shadow: "0px 1px 2px rgba(0, 0, 0, 0.5), 0px 12px 32px -8px rgba(0, 0, 0, 0.6)",
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)",
179
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.1), inset 0 0 8px -6px rgba(255, 255, 255, 0.1), 0 2px 8px rgba(0, 0, 0, 0.5), 0 12px 32px -8px rgba(0, 0, 0, 0.5), 0 22px 24px -16px rgba(0, 0, 0, 0.3)",
177
180
  durationFast: "100ms",
178
181
  durationNormal: "180ms",
179
182
  easing: "cubic-bezier(0.22, 0, 0.1, 1)",
@@ -225,7 +228,7 @@ var regalPreset = {
225
228
  primary: "#C0A558",
226
229
  primaryContrast: "#0A0A0A",
227
230
  background: "#020203",
228
- surface: "rgba(16, 17, 20, 0)",
231
+ surface: "rgba(16, 17, 20, .2)",
229
232
  surfaceHover: "rgba(180, 180, 188, 0.08)",
230
233
  elevatedSurface: "rgba(16, 16, 19, 0.85)",
231
234
  text: "#F0F0F2",
@@ -238,7 +241,7 @@ var regalPreset = {
238
241
  glassBackground: "rgba(16, 17, 20, 0.45)",
239
242
  glassBlur: "blur(18px) saturate(180%)",
240
243
  shadow: "0px 1px 2px rgba(0, 0, 0, 0.5), 0px 8px 24px -8px rgba(0, 0, 0, 0.5), 0px 20px 48px -16px rgba(0, 0, 0, 0.35)",
241
- cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.03), inset 0 0 0 1px rgba(255, 255, 255, 0.02), 0 2px 8px rgba(0, 0, 0, 0.3), 0 12px 32px -8px rgba(0, 0, 0, 0.4), 0 32px 40px -16px rgba(0, 0, 0, 0.2)",
244
+ cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.1), inset 0 0 0 1px rgba(255, 255, 255, 0.01), 0 2px 8px rgba(0, 0, 0, 0.5), 0 12px 32px -8px rgba(0, 0, 0, 0.4), 0 32px 40px -16px rgba(0, 0, 0, 0.2)",
242
245
  durationFast: "180ms",
243
246
  durationNormal: "320ms",
244
247
  easing: "cubic-bezier(0.25, 0.1, 0.25, 1)",
@@ -300,7 +303,7 @@ var cyberVoltPreset = {
300
303
  dark: {
301
304
  primary: "#00A8BD",
302
305
  primaryContrast: "#001418",
303
- background: "#050708",
306
+ background: "#040607",
304
307
  surface: "rgba(0, 60, 80, 0.03)",
305
308
  surfaceHover: "rgba(0, 229, 255, 0.06)",
306
309
  elevatedSurface: "rgba(16, 19, 21, 0.85)",
@@ -823,8 +826,8 @@ var midnightPreset = {
823
826
  fontSans: '"Inter", sans-serif'
824
827
  },
825
828
  dark: {
826
- primary: "#7888A8",
827
- primaryContrast: "#F1F5F9",
829
+ primary: "#4E6288",
830
+ primaryContrast: "#ffffff",
828
831
  background: "#0A0E18",
829
832
  surface: "rgba(138, 130, 169, 0.0)",
830
833
  surfaceHover: "rgba(120, 136, 168, 0.09)",
@@ -871,7 +874,7 @@ var titaniumPreset = {
871
874
  }
872
875
  }),
873
876
  light: {
874
- primary: "#6B7280",
877
+ primary: "#4A5260",
875
878
  primaryContrast: "#ffffff",
876
879
  background: "#F1F2F4",
877
880
  surface: "transparent",
@@ -896,8 +899,8 @@ var titaniumPreset = {
896
899
  fontSans: '"DM Sans", sans-serif'
897
900
  },
898
901
  dark: {
899
- primary: "#A8B0BC",
900
- primaryContrast: "#0E0F11",
902
+ primary: "#5A6472",
903
+ primaryContrast: "#ffffff",
901
904
  background: "#0C0D0F",
902
905
  surface: "rgba(20, 22, 26, 0)",
903
906
  surfaceHover: "rgba(168, 176, 188, 0.10)",
@@ -1149,7 +1152,7 @@ var slatePreset = {
1149
1152
  glassBackground: "rgba(14, 17, 22, 0.58)",
1150
1153
  glassBlur: "blur(22px) saturate(160%)",
1151
1154
  shadow: "0px 1px 2px rgba(0, 0, 0, 0.5), 0px 12px 32px -8px rgba(0, 0, 0, 0.6)",
1152
- cardShadow: "inset 0 1px 0 rgba(123, 158, 188, 0.08), inset 0 0 0 1px rgba(123, 158, 188, 0.04), 0 2px 8px rgba(0, 0, 0, 0.4), 0 12px 32px -8px rgba(0, 0, 0, 0.5), 0 32px 64px -16px rgba(0, 0, 0, 0.4)",
1155
+ cardShadow: "inset 0 1px 0 rgba(123, 158, 188, 0.1), inset 0 0 0 1px rgba(123, 158, 188, 0.04), 0 2px 8px rgba(0, 0, 0, 0.5), 0 12px 32px -8px rgba(0, 0, 0, 0.5), 0 32px 64px -16px rgba(0, 0, 0, 0.4)",
1153
1156
  durationFast: "110ms",
1154
1157
  durationNormal: "200ms",
1155
1158
  easing: "cubic-bezier(0.22, 0, 0.1, 1)",
@@ -1177,7 +1180,7 @@ var cyberStrikePreset = {
1177
1180
  createElement(CyberBackground, {
1178
1181
  variant: "strike",
1179
1182
  perspectiveGridRadialGlowIntensity: 4,
1180
- perspectiveGridLineIntensity: 80
1183
+ perspectiveGridLineIntensity: 55
1181
1184
  }),
1182
1185
  createElement(AmbientBloomGrid, { intensity: 0.06, size: 1.3 })
1183
1186
  ),
@@ -1209,18 +1212,18 @@ var cyberStrikePreset = {
1209
1212
  dark: {
1210
1213
  primary: "#D41840",
1211
1214
  primaryContrast: "#ffffff",
1212
- background: "#070303",
1213
- surface: "rgba(80, 20, 30, 0.04)",
1215
+ background: "#060303",
1216
+ surface: "rgba(80, 20, 30, 0.06)",
1214
1217
  surfaceHover: "rgba(212, 24, 64, 0.06)",
1215
1218
  elevatedSurface: "rgba(16, 12, 12, 0.82)",
1216
1219
  text: "#FAE0E4",
1217
1220
  textDimmed: "#F0A0B0",
1218
1221
  textSubtle: "#C99CA4",
1219
- border: "rgba(230, 165, 170, 0.09)",
1222
+ border: "rgba(230, 165, 170, 0.12)",
1220
1223
  error: "#D41840",
1221
1224
  warning: "#FF9100",
1222
1225
  success: "#00E676",
1223
- glassBackground: "rgba(19, 20, 21, 0.32)",
1226
+ glassBackground: "rgba(18, 19, 20, 0.36)",
1224
1227
  glassBlur: "blur(16px) saturate(190%)",
1225
1228
  shadow: "0 1px 2px rgba(0, 0, 0, 0.5), 0 8px 24px -8px rgba(0, 0, 0, 0.5), 0 20px 48px -16px rgba(0, 0, 0, 0.4)",
1226
1229
  cardShadow: "inset 0 1px 0 rgba(230, 200, 210, 0.1), inset 0 0 0 1px rgba(255, 255, 255, 0.03), 0 4px 6px rgba(0, 0, 0, 0.45), 0 10px 24px -10px rgba(0, 0, 0, .6), 0 20px 20px -16px rgba(0, 0, 0, 0.25)",
@@ -1295,7 +1298,7 @@ var cyberChromePreset = {
1295
1298
  error: "#FF1744",
1296
1299
  warning: "#FF9100",
1297
1300
  success: "#00E676",
1298
- glassBackground: "rgba(22, 26, 32, 0.28)",
1301
+ glassBackground: "rgba(20, 24, 30, 0.3)",
1299
1302
  glassBlur: "blur(12px) saturate(185%)",
1300
1303
  shadow: "0 1px 2px rgba(0, 0, 0, 0.4), 0 4px 12px rgba(0, 0, 0, 0.3), 0 16px 36px -14px rgba(0, 0, 0, 0.4)",
1301
1304
  cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.1), inset 0 0 0 1px rgba(122, 142, 166, 0.04), 0 1px 2px rgba(0, 0, 0, 0.6), 0 4px 10px rgba(0, 0, 0, 0.45), 0 14px 20px -10px rgba(0, 0, 0, 0.45), 0 24px 28px -18px rgba(0, 0, 0, 0.25)",
@@ -1364,8 +1367,8 @@ var cyberVoidPreset = {
1364
1367
  dark: {
1365
1368
  primary: "#2468E0",
1366
1369
  primaryContrast: "#ffffff",
1367
- background: "#050709",
1368
- surface: "rgba(30, 55, 120, 0.02)",
1370
+ background: "#040608",
1371
+ surface: "rgba(30, 55, 130, 0.04)",
1369
1372
  surfaceHover: "rgba(36, 104, 224, 0.08)",
1370
1373
  elevatedSurface: "rgba(16, 19, 24, 0.85)",
1371
1374
  text: "#E0EAFA",
@@ -1375,7 +1378,7 @@ var cyberVoidPreset = {
1375
1378
  error: "#FF1744",
1376
1379
  warning: "#FF9100",
1377
1380
  success: "#00E676",
1378
- glassBackground: "rgba(21, 23, 23, 0.3)",
1381
+ glassBackground: "rgba(19, 21, 21, 0.34)",
1379
1382
  glassBlur: "blur(14px) saturate(180%)",
1380
1383
  shadow: "0 1px 2px rgba(0, 0, 0, 0.4), 0 4px 12px rgba(0, 0, 0, 0.3), 0 16px 36px -14px rgba(0, 0, 0, 0.4)",
1381
1384
  cardShadow: "inset 0 1px 0 rgba(255, 255, 255, 0.1), inset 0 0 0 1px rgba(36, 104, 224, 0.06), 0 4px 4px rgba(0, 0, 0, 0.4), 0 4px 10px rgba(0, 0, 0, 0.45), 0 14px 28px -10px rgba(0, 0, 0, 0.5), 0 24px 20px -16px rgba(0, 0, 0, 0.2)",
@@ -1603,7 +1606,8 @@ function ConstellationBackground({
1603
1606
  lightPalette = LIGHT_PALETTE,
1604
1607
  particles = true,
1605
1608
  count = 140,
1606
- scale = 1
1609
+ scale = 1,
1610
+ brightness = 1
1607
1611
  } = {}) {
1608
1612
  const canvasRef = useRef(null);
1609
1613
  const darkPaletteRef = useRef(darkPalette);
@@ -1611,11 +1615,13 @@ function ConstellationBackground({
1611
1615
  const showParticlesRef = useRef(particles);
1612
1616
  const countRef = useRef(count);
1613
1617
  const scaleRef = useRef(scale);
1618
+ const brightnessRef = useRef(brightness);
1614
1619
  darkPaletteRef.current = darkPalette;
1615
1620
  lightPaletteRef.current = lightPalette;
1616
1621
  showParticlesRef.current = particles;
1617
1622
  countRef.current = count;
1618
1623
  scaleRef.current = scale;
1624
+ brightnessRef.current = brightness;
1619
1625
  const redrawRef = useRef(null);
1620
1626
  useEffect(() => {
1621
1627
  const canvas = canvasRef.current;
@@ -1673,6 +1679,10 @@ function ConstellationBackground({
1673
1679
  ctx.fillStyle = gradient;
1674
1680
  ctx.fillRect(0, 0, width, height);
1675
1681
  if (!showParticlesRef.current) return;
1682
+ const br = brightnessRef.current;
1683
+ const lineOpacity = palette.lineOpacity * br;
1684
+ const haloOpacity = palette.haloOpacity * br;
1685
+ const coreOpacity = palette.coreOpacity * br;
1676
1686
  ctx.globalCompositeOperation = palette.compositeOp;
1677
1687
  for (const p of pool) {
1678
1688
  p.x += p.vx;
@@ -1693,7 +1703,7 @@ function ConstellationBackground({
1693
1703
  if (distSq < CONNECTION_DISTANCE * CONNECTION_DISTANCE) {
1694
1704
  const dist = Math.sqrt(distSq);
1695
1705
  const t = 1 - dist / CONNECTION_DISTANCE;
1696
- const opacity = t * t * palette.lineOpacity;
1706
+ const opacity = t * t * lineOpacity;
1697
1707
  const [r, g, bl] = lerpColor((a.hueShift + b.hueShift) / 2);
1698
1708
  ctx.beginPath();
1699
1709
  ctx.strokeStyle = `rgba(${r | 0}, ${g | 0}, ${bl | 0}, ${opacity})`;
@@ -1714,8 +1724,8 @@ function ConstellationBackground({
1714
1724
  const gi = g | 0;
1715
1725
  const bi = bl | 0;
1716
1726
  const haloGradient = ctx.createRadialGradient(p.x, p.y, 0, p.x, p.y, glowRadius);
1717
- haloGradient.addColorStop(0, `rgba(${ri}, ${gi}, ${bi}, ${palette.haloOpacity})`);
1718
- haloGradient.addColorStop(0.4, `rgba(${ri}, ${gi}, ${bi}, ${palette.haloOpacity * 0.35})`);
1727
+ haloGradient.addColorStop(0, `rgba(${ri}, ${gi}, ${bi}, ${haloOpacity})`);
1728
+ haloGradient.addColorStop(0.4, `rgba(${ri}, ${gi}, ${bi}, ${haloOpacity * 0.35})`);
1719
1729
  haloGradient.addColorStop(1, `rgba(${ri}, ${gi}, ${bi}, 0)`);
1720
1730
  ctx.fillStyle = haloGradient;
1721
1731
  ctx.beginPath();
@@ -1724,7 +1734,7 @@ function ConstellationBackground({
1724
1734
  const cr = Math.max(0, Math.min(255, r + palette.coreBrightenR)) | 0;
1725
1735
  const cg = Math.max(0, Math.min(255, g + palette.coreBrightenG)) | 0;
1726
1736
  const cb = Math.max(0, Math.min(255, bl + palette.coreBrightenB)) | 0;
1727
- ctx.fillStyle = `rgba(${cr}, ${cg}, ${cb}, ${palette.coreOpacity})`;
1737
+ ctx.fillStyle = `rgba(${cr}, ${cg}, ${cb}, ${coreOpacity})`;
1728
1738
  ctx.beginPath();
1729
1739
  ctx.arc(p.x, p.y, scaledRadius * pulseScale, 0, Math.PI * 2);
1730
1740
  ctx.fill();
@@ -1794,7 +1804,7 @@ var synapsePreset = {
1794
1804
  ],
1795
1805
  colors: ["#22D3EE", "#020305", "#F0FAFB"],
1796
1806
  background: /* @__PURE__ */ jsxs(Fragment$1, { children: [
1797
- /* @__PURE__ */ jsx(ConstellationBackground, {}),
1807
+ /* @__PURE__ */ jsx(ConstellationBackground, { count: 35, brightness: 1 }),
1798
1808
  /* @__PURE__ */ jsx(FloatingMotes, {}),
1799
1809
  /* @__PURE__ */ jsx(AmbientBloom, { intensity: 0.12 })
1800
1810
  ] }),
@@ -1865,9 +1875,9 @@ var CORTEX_DARK = {
1865
1875
  // lighter slate-blue
1866
1876
  paletteC: [60, 130, 175],
1867
1877
  // muted teal-blue
1868
- lineOpacity: 0.22,
1869
- haloOpacity: 0.22,
1870
- coreOpacity: 0.8,
1878
+ lineOpacity: 0.42,
1879
+ haloOpacity: 0.4,
1880
+ coreOpacity: 0.92,
1871
1881
  compositeOp: "lighter",
1872
1882
  coreBrightenR: 10,
1873
1883
  coreBrightenG: 15,
@@ -1897,7 +1907,16 @@ var cortexPreset = {
1897
1907
  ],
1898
1908
  colors: ["#5A78B4", "#02050E", "#F3F5FA"],
1899
1909
  background: /* @__PURE__ */ jsxs(Fragment$1, { children: [
1900
- /* @__PURE__ */ jsx(ConstellationBackground, { darkPalette: CORTEX_DARK, lightPalette: CORTEX_LIGHT, count: 80, scale: 0.85 }),
1910
+ /* @__PURE__ */ jsx(
1911
+ ConstellationBackground,
1912
+ {
1913
+ darkPalette: CORTEX_DARK,
1914
+ lightPalette: CORTEX_LIGHT,
1915
+ count: 35,
1916
+ scale: 0.85,
1917
+ brightness: 1
1918
+ }
1919
+ ),
1901
1920
  /* @__PURE__ */ jsx(FloatingMotes, {}),
1902
1921
  /* @__PURE__ */ jsx(AmbientBloom, { intensity: 0.12 })
1903
1922
  ] }),
@@ -1927,10 +1946,10 @@ var cortexPreset = {
1927
1946
  fontSans: '"Inter", sans-serif'
1928
1947
  },
1929
1948
  dark: {
1930
- primary: "#6282A8",
1931
- primaryContrast: "#F1F5F9",
1949
+ primary: "#3F5C84",
1950
+ primaryContrast: "#ffffff",
1932
1951
  background: "#000000",
1933
- surface: "rgba(10, 14, 20, 0)",
1952
+ surface: "rgba(12, 16, 22, 0.04)",
1934
1953
  surfaceHover: "rgba(98, 130, 168, 0.09)",
1935
1954
  elevatedSurface: "rgba(12, 18, 32, 0.82)",
1936
1955
  text: "#EBF4FF",
@@ -1940,10 +1959,10 @@ var cortexPreset = {
1940
1959
  error: "#F87171",
1941
1960
  warning: "#FBBF24",
1942
1961
  success: "#4ADE80",
1943
- glassBackground: "rgba(10, 14, 20, 0.18)",
1962
+ glassBackground: "rgba(12, 16, 22, 0.18)",
1944
1963
  glassBlur: "blur(15px) saturate(195%)",
1945
1964
  shadow: "0 1px 2px rgba(0, 0, 0, 0.4), 0 4px 12px rgba(0, 0, 0, 0.3), 0 16px 36px -14px rgba(0, 0, 0, 0.4)",
1946
- cardShadow: "inset 0 1px 0 rgba(180, 200, 230, 0.04), inset 0 0 0 1px rgba(148, 163, 184, 0.04), 0 1px 2px rgba(0, 0, 0, 0.4), 0 4px 10px rgba(0, 0, 0, 0.3), 0 14px 28px -10px rgba(0, 0, 0, 0.4), 0 24px 48px -18px rgba(0, 0, 0, 0.25)",
1965
+ cardShadow: "inset 0 1px 0 rgba(180, 200, 230, 0.1), inset 0 0 0 1px rgba(148, 163, 184, 0.04), 0 1px 2px rgba(0, 0, 0, 0.4), 0 4px 10px rgba(0, 0, 0, 0.35), 0 14px 28px -10px rgba(0, 0, 0, 0.4), 0 24px 28px -16px rgba(0, 0, 0, 0.25)",
1947
1966
  durationFast: "120ms",
1948
1967
  durationNormal: "220ms",
1949
1968
  easing: "cubic-bezier(0.22, 0, 0.1, 1)",
@@ -1968,9 +1987,9 @@ var HELIOS_DARK = {
1968
1987
  // pale warm yellow
1969
1988
  paletteC: [205, 180, 110],
1970
1989
  // muted honey (not brown)
1971
- lineOpacity: 0.22,
1972
- haloOpacity: 0.22,
1973
- coreOpacity: 0.8,
1990
+ lineOpacity: 0.38,
1991
+ haloOpacity: 0.36,
1992
+ coreOpacity: 0.9,
1974
1993
  compositeOp: "lighter",
1975
1994
  coreBrightenR: 25,
1976
1995
  coreBrightenG: 22,
@@ -2000,7 +2019,16 @@ var heliosPreset = {
2000
2019
  ],
2001
2020
  colors: ["#D4B456", "#0A0805", "#FAF7F0"],
2002
2021
  background: /* @__PURE__ */ jsxs(Fragment$1, { children: [
2003
- /* @__PURE__ */ jsx(ConstellationBackground, { darkPalette: HELIOS_DARK, lightPalette: HELIOS_LIGHT, count: 90, scale: 0.9 }),
2022
+ /* @__PURE__ */ jsx(
2023
+ ConstellationBackground,
2024
+ {
2025
+ darkPalette: HELIOS_DARK,
2026
+ lightPalette: HELIOS_LIGHT,
2027
+ count: 35,
2028
+ scale: 0.9,
2029
+ brightness: 1
2030
+ }
2031
+ ),
2004
2032
  /* @__PURE__ */ jsx(FloatingMotes, {}),
2005
2033
  /* @__PURE__ */ jsx(AmbientBloom, { intensity: 0.07 })
2006
2034
  ] }),
@@ -2071,9 +2099,9 @@ var GRAPHITE_DARK = {
2071
2099
  // gray-300
2072
2100
  paletteC: [107, 114, 128],
2073
2101
  // gray-500
2074
- lineOpacity: 0.2,
2075
- haloOpacity: 0.18,
2076
- coreOpacity: 0.75,
2102
+ lineOpacity: 0.52,
2103
+ haloOpacity: 0.48,
2104
+ coreOpacity: 0.94,
2077
2105
  compositeOp: "lighter",
2078
2106
  coreBrightenR: 12,
2079
2107
  coreBrightenG: 12,
@@ -2103,7 +2131,16 @@ var graphitePreset = {
2103
2131
  ],
2104
2132
  colors: ["#9CA3AF", "#08090B", "#F8F9FA"],
2105
2133
  background: /* @__PURE__ */ jsxs(Fragment$1, { children: [
2106
- /* @__PURE__ */ jsx(ConstellationBackground, { darkPalette: GRAPHITE_DARK, lightPalette: GRAPHITE_LIGHT, count: 60, scale: 0.7 }),
2134
+ /* @__PURE__ */ jsx(
2135
+ ConstellationBackground,
2136
+ {
2137
+ darkPalette: GRAPHITE_DARK,
2138
+ lightPalette: GRAPHITE_LIGHT,
2139
+ count: 35,
2140
+ scale: 0.7,
2141
+ brightness: 1
2142
+ }
2143
+ ),
2107
2144
  /* @__PURE__ */ jsx(FloatingMotes, {}),
2108
2145
  /* @__PURE__ */ jsx(AmbientBloom, { intensity: 0.1 })
2109
2146
  ] }),
@@ -2359,6 +2396,12 @@ var PRESETS = {
2359
2396
  description: "Aggressive dystopian neon",
2360
2397
  colors: ["#FF1744", "#140A0C", "#F2E8EA"]
2361
2398
  }
2399
+ // 'cyber-jade': {
2400
+ // ...cyberJadePreset,
2401
+ // label: 'Cyber-Jade',
2402
+ // description: 'Phosphor-green terminal HUD',
2403
+ // colors: ['#3DF58A', '#040907', '#F2F8F4']
2404
+ // }
2362
2405
  // honey: {
2363
2406
  // ...honeyPreset,
2364
2407
  // label: 'Honey',
@@ -1,11 +1,11 @@
1
1
  import { ResourceHealthChart } from './chunk-LGKLC5MG.js';
2
2
  import { useCyberColors, HeroStatsRow } from './chunk-STZJ7SY5.js';
3
- import { AppShellCenteredContainer, AppShellLoader } from './chunk-YEX4MQSY.js';
3
+ import { AppShellCenteredContainer, AppShellLoader } from './chunk-M25JL54Z.js';
4
4
  import { STATUS_COLORS, getStatusIcon, formatDuration, getStatusColors, AGENT_CONSTANTS, shouldAnimateEdge, TIMELINE_CONSTANTS, calculateBarPosition, CONTAINER_CONSTANTS, useExecutionPath, useUnifiedWorkflowLayout, WORKFLOW_CONSTANTS, useReactFlowAgent } from './chunk-GHIPBT5V.js';
5
- import { useExecuteResource, useDashboardMetrics, useResources, useTimeRangeDates, useUnresolvedErrors, useRecentExecutionsByResource, useCommandQueue, useScheduledTasks, useResourcesHealth } from './chunk-WM7JTTPX.js';
5
+ import { useExecuteResource, useDashboardMetrics, useResources, useTimeRangeDates, useUnresolvedErrors, useRecentExecutionsByResource, useCommandQueue, useScheduledTasks, useResourcesHealth } from './chunk-JAUU6TZU.js';
6
6
  import { getTimeRangeDates } from './chunk-LXHZYSMQ.js';
7
7
  import { Graph_module_css_default, useDirectedChainHighlighting, useNodeSelection, useFitViewTrigger } from './chunk-22UVE3RA.js';
8
- import { glassBase } from './chunk-TYWZABTP.js';
8
+ import { glassBase } from './chunk-R73EHHPN.js';
9
9
  import { GlowDot, CardHeader, EmptyState, PageTitleCaption, TabCountBadge } from './chunk-SQQGLGHW.js';
10
10
  import { ResourceStatusColors } from './chunk-ELJIFLCB.js';
11
11
  import { formatTimeAgo, formatRelativeTime } from './chunk-IOKL7BKE.js';
@@ -120,11 +120,13 @@ function PerspectiveGrid({
120
120
  lineColor: lineColorProp,
121
121
  prominentGlow = false,
122
122
  lineIntensity = 100,
123
+ glowIntensity = 100,
123
124
  className
124
125
  }) {
125
126
  const rawLineColor = lineColorProp ?? "color-mix(in srgb, var(--color-text-subtle) 7%, transparent)";
126
127
  const lineColor = lineIntensity < 100 ? `color-mix(in srgb, ${rawLineColor} ${lineIntensity}%, transparent)` : rawLineColor;
127
- const glowColor = glowColorProp ?? (prominentGlow ? PROMINENT_DEFAULT_GLOW : SUBTLE_DEFAULT_GLOW);
128
+ const rawGlowColor = glowColorProp ?? (prominentGlow ? PROMINENT_DEFAULT_GLOW : SUBTLE_DEFAULT_GLOW);
129
+ const glowColor = glowIntensity < 100 ? `color-mix(in srgb, ${rawGlowColor} ${glowIntensity}%, transparent)` : rawGlowColor;
128
130
  const glowHeight = prominentGlow ? "70%" : "60%";
129
131
  const glowGradient = prominentGlow ? `radial-gradient(ellipse 100% 80% at 50% 110%, ${glowColor} -10%, transparent 50%)` : `radial-gradient(ellipse 90% 75% at 50% 112%, ${glowColor} -15%, transparent 45%)`;
130
132
  return /* @__PURE__ */ jsxs(
@@ -389,9 +391,13 @@ function FilmGrain({ darkOpacity = 0.02, lightOpacity = 0.06, className }) {
389
391
  }
390
392
  );
391
393
  }
392
- function AppBackground({ children }) {
394
+ function AppBackground({
395
+ children,
396
+ gridGlowColor,
397
+ gridGlowIntensity
398
+ }) {
393
399
  return /* @__PURE__ */ jsxs(Fragment, { children: [
394
- /* @__PURE__ */ jsx(PerspectiveGrid, {}),
400
+ /* @__PURE__ */ jsx(PerspectiveGrid, { glowColor: gridGlowColor, glowIntensity: gridGlowIntensity }),
395
401
  /* @__PURE__ */ jsx(RadiantGlow, {}),
396
402
  /* @__PURE__ */ jsx(FloatingOrbs, {}),
397
403
  /* @__PURE__ */ jsx(FilmGrain, {}),
@@ -1,5 +1,5 @@
1
1
  import { ApiClientProvider, useApiClient } from './chunk-NVOCKXUQ.js';
2
- import { OrganizationProvider } from './chunk-V7XHGJQZ.js';
2
+ import { OrganizationProvider } from './chunk-FL67C3WY.js';
3
3
  import { getErrorInfo, getErrorTitle, formatErrorMessage } from './chunk-IOKL7BKE.js';
4
4
  import { InitializationProvider } from './chunk-TUXTSEAF.js';
5
5
  import { useOrganization } from './chunk-DD3CCMCZ.js';