@elevasis/ui 2.33.1 → 2.34.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 (73) hide show
  1. package/dist/api/index.d.ts +9 -2
  2. package/dist/api/index.js +1 -1
  3. package/dist/app/index.css +452 -0
  4. package/dist/app/index.d.ts +1250 -3
  5. package/dist/app/index.js +144 -8
  6. package/dist/charts/index.js +2 -3
  7. package/dist/{chunk-3YZRKADM.js → chunk-3AJVNMY5.js} +45 -28
  8. package/dist/chunk-3QXJK5IY.js +25 -0
  9. package/dist/chunk-4O4MII5S.js +4716 -0
  10. package/dist/{chunk-KW7ZNQD7.js → chunk-5EYJ2GIN.js} +4 -8
  11. package/dist/{chunk-53436UTQ.js → chunk-BPQVTIUP.js} +12 -3
  12. package/dist/{chunk-DYIDXUJS.js → chunk-DTFKWZ7A.js} +1098 -2280
  13. package/dist/{chunk-EPTHX4VZ.js → chunk-HRWLKKWM.js} +11 -2
  14. package/dist/{chunk-SWMQTF2H.js → chunk-IGDYWFNE.js} +2 -2
  15. package/dist/{chunk-QVTIOT73.js → chunk-IVGI4GDL.js} +3 -3
  16. package/dist/{chunk-4DYOXEH6.js → chunk-LAWLB6CT.js} +1 -1
  17. package/dist/{chunk-UYRT7SPM.js → chunk-LRWTWOGP.js} +3 -3
  18. package/dist/{chunk-2VYMDNJ3.js → chunk-MP3GPBPX.js} +3 -3
  19. package/dist/{chunk-YENKDBUU.js → chunk-NLBQTDOW.js} +12 -17
  20. package/dist/{chunk-WJOE76FI.js → chunk-O6JXQ6UQ.js} +5 -4
  21. package/dist/{chunk-F3MXFE72.js → chunk-OBBQ2JCM.js} +3 -3
  22. package/dist/{chunk-WGUEIGPC.js → chunk-PLP3NYPL.js} +80 -171
  23. package/dist/{chunk-AV2TKVVV.js → chunk-RIAXZ6AH.js} +5 -6
  24. package/dist/chunk-SDXSB3HN.js +425 -0
  25. package/dist/{chunk-JA5ECJJB.js → chunk-VTXTZXAU.js} +156 -4
  26. package/dist/{chunk-H6EFQP2P.js → chunk-W73ZABT6.js} +1 -1
  27. package/dist/{chunk-UNVRVCXZ.js → chunk-WU4FNWCW.js} +3 -3
  28. package/dist/{chunk-NCEQGEW5.js → chunk-YNWZIWJL.js} +4 -5
  29. package/dist/components/index.d.ts +0 -23
  30. package/dist/components/index.js +27 -448
  31. package/dist/components/navigation/index.js +4 -6
  32. package/dist/features/clients/index.js +7 -12
  33. package/dist/features/crm/index.js +9 -14
  34. package/dist/features/dashboard/index.d.ts +0 -23
  35. package/dist/features/dashboard/index.js +9 -14
  36. package/dist/features/delivery/index.js +8 -13
  37. package/dist/features/knowledge/index.js +5 -7
  38. package/dist/features/lead-gen/index.js +9 -14
  39. package/dist/features/monitoring/index.js +10 -15
  40. package/dist/features/monitoring/requests/index.js +7 -12
  41. package/dist/features/operations/index.d.ts +44 -35
  42. package/dist/features/operations/index.js +12 -17
  43. package/dist/features/settings/index.js +8 -13
  44. package/dist/hooks/index.d.ts +20 -27
  45. package/dist/hooks/index.js +7 -12
  46. package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +20 -27
  47. package/dist/hooks/published.d.ts +20 -27
  48. package/dist/hooks/published.js +7 -12
  49. package/dist/index.d.ts +54 -39
  50. package/dist/index.js +8 -13
  51. package/dist/knowledge/index.d.ts +30 -38
  52. package/dist/knowledge/index.js +37 -201
  53. package/dist/{knowledge-search-index-P7PR626V.js → knowledge-search-index-ORIJCEZX.js} +142 -150
  54. package/dist/organization/index.js +1 -2
  55. package/dist/provider/index.d.ts +25 -32
  56. package/dist/provider/index.js +6 -11
  57. package/dist/provider/published.d.ts +25 -32
  58. package/dist/provider/published.js +5 -9
  59. package/dist/test-utils/index.d.ts +2 -0
  60. package/dist/test-utils/index.js +14 -2
  61. package/dist/test-utils/setup.js +38 -0
  62. package/dist/types/index.d.ts +20 -27
  63. package/dist/utils/index.d.ts +0 -23
  64. package/dist/zustand/index.d.ts +15 -2
  65. package/dist/zustand/index.js +35 -1
  66. package/package.json +5 -5
  67. package/dist/chunk-4AAZXKLL.js +0 -347
  68. package/dist/chunk-DWXDNT7P.js +0 -145
  69. package/dist/chunk-FOUYP4JX.js +0 -13
  70. package/dist/chunk-HUJCU55S.js +0 -159
  71. package/dist/chunk-PIS24NIV.js +0 -29
  72. package/dist/chunk-SZHARWKU.js +0 -15
  73. package/dist/chunk-XCYKC6OZ.js +0 -1
@@ -6,7 +6,7 @@ import { useAuthContext } from './chunk-BRJ3QZ4E.js';
6
6
  import { Center, Stack, Title, Text, Button, Box, Loader, Badge, Group, Collapse, ScrollArea, Card, Select, Alert, Code, ThemeIcon, Paper, Grid, Timeline, Space } from '@mantine/core';
7
7
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
8
  import { IconMinus, IconTrendingUp, IconTrendingDown, IconChevronUp, IconChevronDown, IconAlertCircle, IconClock, IconInfoCircle, IconBan, IconChevronRight, IconInbox, IconHeartHandshake, IconUserOff, IconMailForward, IconBell, IconCalendarEvent, IconCalendarCancel, IconMessageReply, IconCircleCheck, IconCreditCard, IconX, IconEye, IconSend, IconFileText, IconArrowRight, IconPlus, IconActivity } from '@tabler/icons-react';
9
- import { useState } from 'react';
9
+ import { forwardRef, useState } from 'react';
10
10
  import { Prism } from 'react-syntax-highlighter';
11
11
  import { oneDark } from 'react-syntax-highlighter/dist/esm/styles/prism';
12
12
 
@@ -650,6 +650,15 @@ function CardHeader({
650
650
  rightSection
651
651
  ] });
652
652
  }
653
+
654
+ // src/components/display/ElevasisLoader.module.css.js
655
+ var ElevasisLoader_module_css_default = { "wrapper": "wrapper", "loader": "loader", "chevron": "chevron", "c1": "c1", "c2": "c2", "c3": "c3" };
656
+ var ElevasisLoader = forwardRef(({ style, className, ...others }, ref) => /* @__PURE__ */ jsx("div", { ref, style, className: `${ElevasisLoader_module_css_default.wrapper} ${className ?? ""}`, ...others, children: /* @__PURE__ */ jsxs("svg", { className: ElevasisLoader_module_css_default.loader, viewBox: "-10 -5 60 50", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
657
+ /* @__PURE__ */ jsx("polyline", { className: `${ElevasisLoader_module_css_default.chevron} ${ElevasisLoader_module_css_default.c1}`, points: "5,36 20,25 35,36" }),
658
+ /* @__PURE__ */ jsx("polyline", { className: `${ElevasisLoader_module_css_default.chevron} ${ElevasisLoader_module_css_default.c2}`, points: "9,23 20,14 31,23" }),
659
+ /* @__PURE__ */ jsx("polyline", { className: `${ElevasisLoader_module_css_default.chevron} ${ElevasisLoader_module_css_default.c3}`, points: "13,11 20,5 27,11" })
660
+ ] }) }));
661
+ ElevasisLoader.displayName = "ElevasisLoader";
653
662
  var SIZE_MAP = {
654
663
  sm: { dot: 7, inner: 6, outer: 12 },
655
664
  md: { dot: 10, inner: 8, outer: 16 },
@@ -746,4 +755,4 @@ function ActivityTimeline({ activities }) {
746
755
  }) }) });
747
756
  }
748
757
 
749
- export { APIErrorAlert, ActivityTimeline, CardHeader, CenteredErrorState, CollapsibleSection, ContextViewer, CustomSelector, DetailCardSkeleton, EmptyState, FeatureUnavailableState, GlowDot, JsonViewer, ListSkeleton, PageNotFound, PageTitleCaption, ResourceCard, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, TabCountBadge, TimeRangeSelector, TrendIndicator };
758
+ export { APIErrorAlert, ActivityTimeline, CardHeader, CenteredErrorState, CollapsibleSection, ContextViewer, CustomSelector, DetailCardSkeleton, ElevasisLoader, EmptyState, FeatureUnavailableState, GlowDot, JsonViewer, ListSkeleton, PageNotFound, PageTitleCaption, ResourceCard, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, TabCountBadge, TimeRangeSelector, TrendIndicator };
@@ -1,8 +1,8 @@
1
1
  import { observabilityKeys } from './chunk-VNAZTCHA.js';
2
2
  import { showApiErrorNotification, showSuccessNotification, projectKeys, noteKeys, taskKeys, milestoneKeys } from './chunk-XZGSCABI.js';
3
3
  import { useSupabase } from './chunk-BRXELOHC.js';
4
- import { useNotificationAdapter, deriveActions } from './chunk-WGUEIGPC.js';
5
- import { useOptionalElevasisSystems } from './chunk-WJOE76FI.js';
4
+ import { useNotificationAdapter, deriveActions } from './chunk-PLP3NYPL.js';
5
+ import { useOptionalElevasisSystems } from './chunk-O6JXQ6UQ.js';
6
6
  import { HTTP_HEADERS } from './chunk-ND5TDV2J.js';
7
7
  import { ResourceTypeSchema, NonEmptyStringSchema, OriginResourceTypeSchema, UuidSchema, CredentialNameSchema, STALE_TIME_DEFAULT, REFETCH_INTERVAL_DASHBOARD, STALE_TIME_MONITORING, getTimeRangeDates, REFETCH_INTERVAL_RUNNING, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, STALE_TIME_ADMIN, APIClientError, GC_TIME_MEDIUM, GC_TIME_SHORT } from './chunk-2RJMVWFJ.js';
8
8
  import { useStableAccessToken } from './chunk-VKIZUUPM.js';
@@ -5,11 +5,11 @@ import { PageContainer } from './chunk-BZZCNLT6.js';
5
5
  import { TableSelectionToolbar, SortableHeader } from './chunk-TUMSNGTX.js';
6
6
  import { FilterBar } from './chunk-PDHTXPSF.js';
7
7
  import { CustomModal } from './chunk-R66W5UDG.js';
8
- import { useProjectRealtime, useTableSort, sortData, usePaginationState, useTableSelection, useProjectActivities } from './chunk-SWMQTF2H.js';
8
+ import { useProjectRealtime, useTableSort, sortData, usePaginationState, useTableSelection, useProjectActivities } from './chunk-IGDYWFNE.js';
9
9
  import { useCreateTask, useCreateMilestone, useProjectMilestones, useUpdateTask, useProjects, useDeleteProject, useProject, useProjectNotes, useUpdateMilestone, useCreateNote, showApiErrorNotification, projectKeys } from './chunk-XZGSCABI.js';
10
- import { StatusBadge, EmptyState, PageTitleCaption, CenteredErrorState, StatCard, CardHeader } from './chunk-EPTHX4VZ.js';
10
+ import { StatusBadge, EmptyState, PageTitleCaption, CenteredErrorState, StatCard, CardHeader } from './chunk-HRWLKKWM.js';
11
11
  import { SubshellContentContainer } from './chunk-TKAYX2SP.js';
12
- import { PROJECTS_VIEW_ACTION_ID } from './chunk-DYIDXUJS.js';
12
+ import { PROJECTS_VIEW_ACTION_ID } from './chunk-DTFKWZ7A.js';
13
13
  import { useRouterContext } from './chunk-Q7DJKLEN.js';
14
14
  import { PAGE_SIZE_DEFAULT, formatTimeAgo, formatDate, formatRelativeTime } from './chunk-2RJMVWFJ.js';
15
15
  import { useElevasisServices } from './chunk-KJ3QUBNU.js';
@@ -1,5 +1,5 @@
1
1
  import { useErrorTrends } from './chunk-VNAZTCHA.js';
2
- import { CardHeader, CenteredErrorState, TrendIndicator, EmptyState, StatCard } from './chunk-EPTHX4VZ.js';
2
+ import { CardHeader, CenteredErrorState, TrendIndicator, EmptyState, StatCard } from './chunk-HRWLKKWM.js';
3
3
  import { getTimeRangeLabel, getTimeRangeDates, formatBucketTime } from './chunk-2RJMVWFJ.js';
4
4
  import { useRef, useState, useLayoutEffect, useEffect, useMemo, useCallback } from 'react';
5
5
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -1,10 +1,10 @@
1
- import { CyberAreaChart, CostTrendChart, ActivityTrendChart } from './chunk-4DYOXEH6.js';
1
+ import { CyberAreaChart, CostTrendChart, ActivityTrendChart } from './chunk-LAWLB6CT.js';
2
2
  import { AppShellLoader } from './chunk-RYTEQBAO.js';
3
3
  import { FilterBar } from './chunk-PDHTXPSF.js';
4
4
  import { CustomModal } from './chunk-R66W5UDG.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 } from './chunk-SWMQTF2H.js';
7
- import { CenteredErrorState, CardHeader, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, EmptyState, PageTitleCaption, JsonViewer } from './chunk-EPTHX4VZ.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 } from './chunk-IGDYWFNE.js';
7
+ import { CenteredErrorState, CardHeader, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, EmptyState, PageTitleCaption, JsonViewer } from './chunk-HRWLKKWM.js';
8
8
  import { useRouterContext } from './chunk-Q7DJKLEN.js';
9
9
  import { formatBucketTime, PAGE_SIZE_DEFAULT, getTimeRangeDates } from './chunk-2RJMVWFJ.js';
10
10
  import { useState, useMemo, useCallback } from 'react';
@@ -1,12 +1,12 @@
1
1
  import { ZodFormRenderer } from './chunk-3MEXPLWT.js';
2
2
  import { ResourceHealthChart } from './chunk-LGKLC5MG.js';
3
- import { useCyberColors, HeroStatsRow } from './chunk-4DYOXEH6.js';
3
+ import { useCyberColors, HeroStatsRow } from './chunk-LAWLB6CT.js';
4
4
  import { AppShellCenteredContainer, AppShellLoader } from './chunk-RYTEQBAO.js';
5
5
  import { Graph_module_css_default, useDirectedChainHighlighting, useNodeSelection, useFitViewTrigger } from './chunk-22UVE3RA.js';
6
6
  import { STATUS_COLORS, getStatusIcon, formatDuration, getStatusColors, AGENT_CONSTANTS, shouldAnimateEdge, TIMELINE_CONSTANTS, calculateBarPosition, CONTAINER_CONSTANTS, useExecutionPath, useUnifiedWorkflowLayout, WORKFLOW_CONSTANTS, useReactFlowAgent } from './chunk-E4WQGJNS.js';
7
- import { useExecuteResource, useDashboardMetrics, useResources, useTimeRangeDates, useUnresolvedErrors, useRecentExecutionsByResource, useCommandQueue, useScheduledTasks, useResourcesHealth } from './chunk-SWMQTF2H.js';
7
+ import { useExecuteResource, useDashboardMetrics, useResources, useTimeRangeDates, useUnresolvedErrors, useRecentExecutionsByResource, useCommandQueue, useScheduledTasks, useResourcesHealth } from './chunk-IGDYWFNE.js';
8
8
  import { glassBase } from './chunk-RQA2EVN3.js';
9
- import { GlowDot, CardHeader, EmptyState, PageTitleCaption, TabCountBadge } from './chunk-EPTHX4VZ.js';
9
+ import { GlowDot, CardHeader, EmptyState, PageTitleCaption, TabCountBadge } from './chunk-HRWLKKWM.js';
10
10
  import { formatTimeAgo, getTimeRangeDates, formatRelativeTime } from './chunk-2RJMVWFJ.js';
11
11
  import { ResourceStatusColors } from './chunk-KRWALB24.js';
12
12
  import { useInitialization } from './chunk-533DUEQY.js';
@@ -1,10 +1,10 @@
1
1
  import { ChatHeader, ChatSidebar } from './chunk-CXY7FMUM.js';
2
- import { DEFAULT_ORGANIZATION_GRAPH_FILTERS, ORGANIZATION_GRAPH_NODE_KIND_ORDER, ORGANIZATION_GRAPH_NODE_KIND_LABELS, ORGANIZATION_GRAPH_EDGE_KIND_LABELS, ORGANIZATION_GRAPH_NODE_KIND_DETAIL_LABELS, ORGANIZATION_GRAPH_NODE_KIND_MEANINGS, ORGANIZATION_GRAPH_EDGE_KIND_MEANINGS } from './chunk-KW7ZNQD7.js';
2
+ import { DEFAULT_ORGANIZATION_GRAPH_FILTERS, ORGANIZATION_GRAPH_NODE_KIND_ORDER, ORGANIZATION_GRAPH_NODE_KIND_LABELS, ORGANIZATION_GRAPH_EDGE_KIND_LABELS, ORGANIZATION_GRAPH_NODE_KIND_DETAIL_LABELS, ORGANIZATION_GRAPH_NODE_KIND_MEANINGS, ORGANIZATION_GRAPH_EDGE_KIND_MEANINGS } from './chunk-5EYJ2GIN.js';
3
3
  import { SubshellSidebarLoader, SubshellLoader } from './chunk-N55DVMAG.js';
4
- import { BaseNode, useGraphTheme, BaseEdge, ExecutionStats, UnifiedWorkflowGraph, WorkflowExecutionTimeline, AgentExecutionVisualizer, AgentExecutionTimeline, GraphBackground, GraphFitViewButton, GraphFitViewHandler } from './chunk-2VYMDNJ3.js';
4
+ import { BaseNode, useGraphTheme, BaseEdge, ExecutionStats, UnifiedWorkflowGraph, WorkflowExecutionTimeline, AgentExecutionVisualizer, AgentExecutionTimeline, GraphBackground, GraphFitViewButton, GraphFitViewHandler } from './chunk-MP3GPBPX.js';
5
5
  import { FormFieldRenderer } from './chunk-3MEXPLWT.js';
6
- import { ResourceHealthPanel } from './chunk-F3MXFE72.js';
7
- import { useCyberColors, CyberDonut } from './chunk-4DYOXEH6.js';
6
+ import { ResourceHealthPanel } from './chunk-OBBQ2JCM.js';
7
+ import { useCyberColors, CyberDonut } from './chunk-LAWLB6CT.js';
8
8
  import { ConfirmationModal } from './chunk-VNFR57DF.js';
9
9
  import { SubshellSidebarSection } from './chunk-IIMU5YAJ.js';
10
10
  import { AppShellLoader } from './chunk-RYTEQBAO.js';
@@ -12,15 +12,14 @@ import { PageContainer } from './chunk-BZZCNLT6.js';
12
12
  import { CustomModal } from './chunk-R66W5UDG.js';
13
13
  import { useGraphHighlighting, calculateGraphHeight, Graph_module_css_default, GRAPH_CONSTANTS } from './chunk-22UVE3RA.js';
14
14
  import { getResourceStatusColor, useTimelineData, useAgentIterationData, getStatusIcon } from './chunk-E4WQGJNS.js';
15
- import { useErrorDetail, useExecution, useArchivedLogs, useDeleteExecution, useRetryExecution, useCancelExecution, useCommandQueueTotals, useStatusFilter, useResourceSearch, useResourcesDomainFilters, usePaginationState, useResources, useRecentExecutionsByResource, filterByDomainFilters, collectResourceFilterFacets, useResourceDefinition, isSessionCapable, useDeleteTask, useCommandQueue, useSubmitAction, useCommandViewData, useCommandViewStats, useCommandViewStore, useResourceExecutions, useCheckpointTasks, useExecutionPanelState, useDeleteSession, useCreateSession, useSessions, useSessionExecutions, useSession, useBulkDeleteExecutions, useSystemHealth } from './chunk-SWMQTF2H.js';
15
+ import { useErrorDetail, useExecution, useArchivedLogs, useDeleteExecution, useRetryExecution, useCancelExecution, useCommandQueueTotals, useStatusFilter, useResourceSearch, useResourcesDomainFilters, usePaginationState, useResources, useRecentExecutionsByResource, filterByDomainFilters, collectResourceFilterFacets, useResourceDefinition, isSessionCapable, useDeleteTask, useCommandQueue, useSubmitAction, useCommandViewData, useCommandViewStats, useCommandViewStore, useResourceExecutions, useCheckpointTasks, useExecutionPanelState, useDeleteSession, useCreateSession, useSessions, useSessionExecutions, useSession, useBulkDeleteExecutions, useSystemHealth } from './chunk-IGDYWFNE.js';
16
16
  import { showApiErrorNotification, showSuccessNotification } from './chunk-XZGSCABI.js';
17
17
  import { useMergedExecution } from './chunk-3ZMAGTWF.js';
18
- import { JsonViewer, CardHeader, PageTitleCaption, CollapsibleSection, TabCountBadge, ResourceCard, ContextViewer, EmptyState, APIErrorAlert } from './chunk-EPTHX4VZ.js';
18
+ import { JsonViewer, CardHeader, PageTitleCaption, CollapsibleSection, TabCountBadge, ResourceCard, ContextViewer, EmptyState, APIErrorAlert } from './chunk-HRWLKKWM.js';
19
19
  import { StyledMarkdown } from './chunk-3KMDHCAR.js';
20
- import { useOptionalElevasisSystems, useElevasisSystems } from './chunk-WJOE76FI.js';
20
+ import { useOptionalElevasisSystems, useElevasisSystems } from './chunk-O6JXQ6UQ.js';
21
21
  import { SubshellContentContainer } from './chunk-TKAYX2SP.js';
22
- import { resolveSemanticIconComponent, SemanticIcon } from './chunk-DWXDNT7P.js';
23
- import { buildOrganizationGraph, getResourcesForSystem, resolveOrganizationModel, listAllSystems, getSystem, compileOrganizationOntology, getSystemAncestors } from './chunk-DYIDXUJS.js';
22
+ import { resolveSemanticIconComponent, buildOrganizationGraph, getResourcesForSystem, SemanticIcon, resolveOrganizationModel, listAllSystems, getSystem, compileOrganizationOntology, getSystemAncestors } from './chunk-DTFKWZ7A.js';
24
23
  import { useRouterContext } from './chunk-Q7DJKLEN.js';
25
24
  import { useAppearance } from './chunk-E565XMTQ.js';
26
25
  import { topbarHeight } from './chunk-DT3QYZVU.js';
@@ -5750,8 +5749,7 @@ var COMMAND_VIEW_NODE_KINDS = [
5750
5749
  "offering",
5751
5750
  "goal",
5752
5751
  "surface",
5753
- "navigation-group",
5754
- "content-node"
5752
+ "navigation-group"
5755
5753
  ];
5756
5754
  function getOrganizationGraphLensConfig(lens) {
5757
5755
  if (lens === "command-view") {
@@ -6079,8 +6077,7 @@ var NODE_KIND_ORDER = {
6079
6077
  goal: 12,
6080
6078
  surface: 13,
6081
6079
  "navigation-group": 14,
6082
- ontology: 15,
6083
- "content-node": 16
6080
+ ontology: 15
6084
6081
  };
6085
6082
  function getNodeLabel(node) {
6086
6083
  return node.label || node.sourceId || node.id;
@@ -6311,8 +6308,7 @@ var ORG_MODEL_ROOT_KINDS = /* @__PURE__ */ new Set([
6311
6308
  "offering",
6312
6309
  "goal",
6313
6310
  "surface",
6314
- "navigation-group",
6315
- "content-node"
6311
+ "navigation-group"
6316
6312
  ]);
6317
6313
  var PRESET_EDGE_KINDS = {
6318
6314
  coverage: ["contains", "governs", "maps_to", "references", "uses", "affects", "links", "applies_to", "effects"],
@@ -7498,8 +7494,7 @@ function getNodeThemeByKind(tokens) {
7498
7494
  goal: mixColors(tokens.primary, tokens.error, 0.5),
7499
7495
  surface: mixColors(tokens.primary, tokens.success, 0.55),
7500
7496
  "navigation-group": mixColors(tokens.primary, tokens.text, 0.45),
7501
- ontology: mixColors(tokens.primary, tokens.warning, 0.44),
7502
- "content-node": mixColors(tokens.primary, tokens.success, 0.3)
7497
+ ontology: mixColors(tokens.primary, tokens.warning, 0.44)
7503
7498
  };
7504
7499
  return Object.fromEntries(
7505
7500
  Object.entries(accentByKind).map(([kind, accent]) => {
@@ -1,5 +1,4 @@
1
- import { getSemanticIconComponent } from './chunk-DWXDNT7P.js';
2
- import { devOnlyFor, requiresAdminFor, topLevel, parentOf, ancestorsOf, childrenOf, findById, findByPath, listAllSystems, defaultPathFor, getSortedSidebarEntries } from './chunk-DYIDXUJS.js';
1
+ import { devOnlyFor, requiresAdminFor, topLevel, parentOf, ancestorsOf, childrenOf, findById, findByPath, listAllSystems, defaultPathFor, getSortedSidebarEntries, getSemanticIconComponent } from './chunk-DTFKWZ7A.js';
3
2
  import { useInitialization } from './chunk-533DUEQY.js';
4
3
  import { useOrganization } from './chunk-DD3CCMCZ.js';
5
4
  import { createContext, useMemo, useCallback, useContext } from 'react';
@@ -254,7 +253,7 @@ function resolveSystemModules(systems, isSystemEnabled) {
254
253
  ...system,
255
254
  systemId,
256
255
  access: {
257
- featureKey: system.key,
256
+ systemKey: system.key,
258
257
  systemId,
259
258
  enabled: isSystemEnabled(accessKey)
260
259
  },
@@ -332,7 +331,9 @@ function resolveRoute(systems, shellModel, currentPath, disabledSubsectionPaths)
332
331
  node
333
332
  };
334
333
  }
335
- const system = systems.find((candidate) => ownsNode(candidate, node)) ?? systems.filter((candidate) => ownsRoutePrefix(candidate, normalizedPath)).sort((a, b) => Math.max(...(b.routePrefixes ?? []).map((prefix) => prefix.length)) - Math.max(...(a.routePrefixes ?? []).map((prefix) => prefix.length)))[0];
334
+ const system = systems.find((candidate) => ownsNode(candidate, node)) ?? systems.filter((candidate) => ownsRoutePrefix(candidate, normalizedPath)).sort(
335
+ (a, b) => Math.max(...(b.routePrefixes ?? []).map((prefix) => prefix.length)) - Math.max(...(a.routePrefixes ?? []).map((prefix) => prefix.length))
336
+ )[0];
336
337
  if (!system) {
337
338
  return {
338
339
  status: "unmatched",
@@ -1,6 +1,6 @@
1
- import { useCyberColors, CyberLegendItem, CyberAreaChart } from './chunk-4DYOXEH6.js';
2
- import { useResourcesHealth } from './chunk-SWMQTF2H.js';
3
- import { CardHeader, EmptyState } from './chunk-EPTHX4VZ.js';
1
+ import { useCyberColors, CyberLegendItem, CyberAreaChart } from './chunk-LAWLB6CT.js';
2
+ import { useResourcesHealth } from './chunk-IGDYWFNE.js';
3
+ import { CardHeader, EmptyState } from './chunk-HRWLKKWM.js';
4
4
  import { getTimeRangeDates, formatBucketTime } from './chunk-2RJMVWFJ.js';
5
5
  import { Paper, Center, Loader, Group } from '@mantine/core';
6
6
  import { IconActivity, IconChartBar } from '@tabler/icons-react';
@@ -1,6 +1,10 @@
1
- import { formatOntologyId, DEFAULT_ORGANIZATION_MODEL, CRM_DISCOVERY_NUDGING_STATE, compileOrganizationOntology, CRM_DISCOVERY_REPLIED_STATE, CRM_DISCOVERY_LINK_SENT_STATE, CRM_DISCOVERY_BOOKING_CANCELLED_STATE, CRM_PIPELINE_DEFINITION, LEAD_GEN_STAGE_CATALOG } from './chunk-DYIDXUJS.js';
1
+ import { FeatureUnavailableState } from './chunk-HRWLKKWM.js';
2
+ import { useElevasisSystems } from './chunk-O6JXQ6UQ.js';
3
+ import { SubshellContainer, SubshellSidebar, SubshellRightSideContainer } from './chunk-TKAYX2SP.js';
4
+ import { CRM_DISCOVERY_NUDGING_STATE, CRM_DISCOVERY_REPLIED_STATE, CRM_DISCOVERY_LINK_SENT_STATE, CRM_DISCOVERY_BOOKING_CANCELLED_STATE } from './chunk-DTFKWZ7A.js';
2
5
  import { ApiClientProvider, useApiClient } from './chunk-ND5TDV2J.js';
3
- import { OrganizationProvider } from './chunk-HUJCU55S.js';
6
+ import { useRouterContext } from './chunk-Q7DJKLEN.js';
7
+ import { OrganizationProvider } from './chunk-VTXTZXAU.js';
4
8
  import { getErrorInfo, getErrorTitle, formatErrorMessage } from './chunk-2RJMVWFJ.js';
5
9
  import { InitializationProvider } from './chunk-533DUEQY.js';
6
10
  import { useOrganization } from './chunk-DD3CCMCZ.js';
@@ -8,7 +12,7 @@ import { ProfileProvider } from './chunk-2Q2JQSQO.js';
8
12
  import { ElevasisServiceProvider } from './chunk-KJ3QUBNU.js';
9
13
  import { useAuthContext } from './chunk-BRJ3QZ4E.js';
10
14
  import { createContext, lazy, useContext, Suspense, useRef } from 'react';
11
- import { jsx } from 'react/jsx-runtime';
15
+ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
12
16
  import { z } from 'zod';
13
17
  import { QueryClientProvider, QueryClient } from '@tanstack/react-query';
14
18
 
@@ -40,169 +44,6 @@ function useNotificationAdapter() {
40
44
  return useContext(NotificationContext);
41
45
  }
42
46
 
43
- // ../core/src/business/acquisition/ontology-validation.ts
44
- var CRM_PIPELINE_CATALOG_ONTOLOGY_ID = formatOntologyId({
45
- scope: "sales.crm",
46
- kind: "catalog",
47
- localId: "crm.pipeline"
48
- });
49
- var LEAD_GEN_STAGE_CATALOG_ONTOLOGY_ID = formatOntologyId({
50
- scope: "sales.lead-gen",
51
- kind: "catalog",
52
- localId: "lead-gen.stage-catalog"
53
- });
54
- var CRM_DEAL_OBJECT_ONTOLOGY_ID = formatOntologyId({
55
- scope: "sales.crm",
56
- kind: "object",
57
- localId: "crm.deal"
58
- });
59
- function createCrmPipelineCatalog() {
60
- return {
61
- id: CRM_PIPELINE_CATALOG_ONTOLOGY_ID,
62
- label: CRM_PIPELINE_DEFINITION.label,
63
- ownerSystemId: "sales.crm",
64
- kind: "pipeline",
65
- appliesTo: CRM_DEAL_OBJECT_ONTOLOGY_ID,
66
- entries: Object.fromEntries(
67
- CRM_PIPELINE_DEFINITION.stages.map((stage, index) => [
68
- stage.stageKey,
69
- {
70
- key: stage.stageKey,
71
- label: stage.label,
72
- order: (index + 1) * 10,
73
- ...stage.color !== void 0 ? { color: stage.color } : {},
74
- states: stage.states.map((state) => ({ ...state }))
75
- }
76
- ])
77
- ),
78
- legacyPipelineKey: CRM_PIPELINE_DEFINITION.pipelineKey,
79
- legacyEntityKey: CRM_PIPELINE_DEFINITION.entityKey
80
- };
81
- }
82
- function createLeadGenStageCatalog() {
83
- return {
84
- id: LEAD_GEN_STAGE_CATALOG_ONTOLOGY_ID,
85
- label: "Lead Gen Processing Stages",
86
- ownerSystemId: "sales.lead-gen",
87
- kind: "processing-stage-catalog",
88
- entries: Object.fromEntries(
89
- Object.entries(LEAD_GEN_STAGE_CATALOG).map(([key, entry]) => [
90
- key,
91
- {
92
- ...entry
93
- }
94
- ])
95
- ),
96
- legacyCatalogKey: "LEAD_GEN_STAGE_CATALOG"
97
- };
98
- }
99
- function isPlainRecord(value) {
100
- return Boolean(value) && typeof value === "object" && !Array.isArray(value);
101
- }
102
- function mergeBridgeCatalogs(model) {
103
- const baseCatalogTypes = model.ontology?.catalogTypes ?? {};
104
- const bridgeCatalogTypes = {};
105
- if (baseCatalogTypes[CRM_PIPELINE_CATALOG_ONTOLOGY_ID] === void 0) {
106
- bridgeCatalogTypes[CRM_PIPELINE_CATALOG_ONTOLOGY_ID] = createCrmPipelineCatalog();
107
- }
108
- if (baseCatalogTypes[LEAD_GEN_STAGE_CATALOG_ONTOLOGY_ID] === void 0) {
109
- bridgeCatalogTypes[LEAD_GEN_STAGE_CATALOG_ONTOLOGY_ID] = createLeadGenStageCatalog();
110
- }
111
- if (Object.keys(bridgeCatalogTypes).length === 0) return model;
112
- return {
113
- ...model,
114
- ontology: {
115
- ...model.ontology ?? {},
116
- catalogTypes: {
117
- ...baseCatalogTypes,
118
- ...bridgeCatalogTypes
119
- }
120
- }
121
- };
122
- }
123
- function compileBusinessOntologyValidationIndex(model = DEFAULT_ORGANIZATION_MODEL) {
124
- const compilation = compileOrganizationOntology(mergeBridgeCatalogs(model));
125
- if (compilation.diagnostics.length > 0) {
126
- const summary = compilation.diagnostics.map((diagnostic) => diagnostic.message).join("; ");
127
- throw new Error(`Business ontology validation index failed to compile: ${summary}`);
128
- }
129
- const crmPipelineCatalog = compilation.ontology.catalogTypes[CRM_PIPELINE_CATALOG_ONTOLOGY_ID];
130
- const leadGenStageCatalog = compilation.ontology.catalogTypes[LEAD_GEN_STAGE_CATALOG_ONTOLOGY_ID];
131
- if (crmPipelineCatalog === void 0 || leadGenStageCatalog === void 0) {
132
- throw new Error("Business ontology validation index is missing CRM or lead-gen catalog bridge records");
133
- }
134
- return {
135
- ontology: compilation.ontology,
136
- crmPipelineCatalog,
137
- leadGenStageCatalog,
138
- actionTypesByLegacyId: indexActionTypesByLegacyId(compilation.ontology.actionTypes)
139
- };
140
- }
141
- function indexActionTypesByLegacyId(actionTypes) {
142
- const byLegacyId = {};
143
- for (const actionType of Object.values(actionTypes)) {
144
- const legacyActionId = actionType["legacyActionId"];
145
- if (typeof legacyActionId === "string") {
146
- byLegacyId[legacyActionId] = actionType;
147
- }
148
- }
149
- return byLegacyId;
150
- }
151
- var BUSINESS_ONTOLOGY_VALIDATION_INDEX = compileBusinessOntologyValidationIndex();
152
- function getCatalogEntries(catalog) {
153
- return isPlainRecord(catalog.entries) ? catalog.entries : {};
154
- }
155
- function asCrmStageEntry(key, value) {
156
- const record = isPlainRecord(value) ? value : {};
157
- const label = typeof record.label === "string" ? record.label : key;
158
- const order = typeof record.order === "number" ? record.order : 0;
159
- const color = typeof record.color === "string" ? record.color : void 0;
160
- const rawStates = Array.isArray(record.states) ? record.states : [];
161
- const states = rawStates.flatMap((state) => {
162
- if (!isPlainRecord(state) || typeof state.stateKey !== "string") return [];
163
- return [
164
- {
165
- stateKey: state.stateKey,
166
- label: typeof state.label === "string" ? state.label : state.stateKey
167
- }
168
- ];
169
- });
170
- return {
171
- key,
172
- label,
173
- order,
174
- ...color !== void 0 ? { color } : {},
175
- states
176
- };
177
- }
178
- var CRM_STAGE_KEYS_FROM_ONTOLOGY = Object.keys(
179
- getCatalogEntries(BUSINESS_ONTOLOGY_VALIDATION_INDEX.crmPipelineCatalog)
180
- );
181
- Object.values(
182
- getCatalogEntries(BUSINESS_ONTOLOGY_VALIDATION_INDEX.crmPipelineCatalog)
183
- ).flatMap((entry, index) => {
184
- const stageKey = CRM_STAGE_KEYS_FROM_ONTOLOGY[index];
185
- if (stageKey === void 0) return [];
186
- return asCrmStageEntry(stageKey, entry).states.map((state) => state.stateKey);
187
- });
188
- Object.keys(
189
- getCatalogEntries(BUSINESS_ONTOLOGY_VALIDATION_INDEX.leadGenStageCatalog)
190
- );
191
- function getActionMetadata(actionKey) {
192
- const actionType = BUSINESS_ONTOLOGY_VALIDATION_INDEX.actionTypesByLegacyId[actionKey];
193
- if (actionType === void 0) return void 0;
194
- const resourceId = actionType["resourceId"];
195
- return {
196
- id: actionKey,
197
- label: actionType.label ?? actionKey,
198
- ...typeof resourceId === "string" ? { resourceId } : {}
199
- };
200
- }
201
- function getCrmActionMetadata(actionKey) {
202
- const actionType = BUSINESS_ONTOLOGY_VALIDATION_INDEX.actionTypesByLegacyId[actionKey];
203
- return actionType?.ownerSystemId === "sales.crm" ? getActionMetadata(actionKey) : void 0;
204
- }
205
-
206
47
  // ../core/src/business/acquisition/deal-ownership.ts
207
48
  var INBOUND_EVENT_TYPES = ["reply_received"];
208
49
  var OUTBOUND_EVENT_TYPES = [
@@ -261,15 +102,62 @@ function parseMs(value) {
261
102
  var SendReplyActionPayloadSchema = z.object({
262
103
  replyBody: z.string().trim().min(1).max(1e4)
263
104
  }).strict();
105
+ var CRM_RUNTIME_ACTION_METADATA = {
106
+ move_to_proposal: {
107
+ key: "move_to_proposal",
108
+ label: "Move to Proposal",
109
+ workflowId: "move_to_proposal-workflow"
110
+ },
111
+ move_to_closing: {
112
+ key: "move_to_closing",
113
+ label: "Move to Closing",
114
+ workflowId: "move_to_closing-workflow"
115
+ },
116
+ move_to_closed_won: {
117
+ key: "move_to_closed_won",
118
+ label: "Close Won",
119
+ workflowId: "move_to_closed_won-workflow"
120
+ },
121
+ move_to_closed_lost: {
122
+ key: "move_to_closed_lost",
123
+ label: "Close Lost",
124
+ workflowId: "move_to_closed_lost-workflow"
125
+ },
126
+ move_to_nurturing: {
127
+ key: "move_to_nurturing",
128
+ label: "Move to Nurturing",
129
+ workflowId: "move_to_nurturing-workflow"
130
+ },
131
+ send_reply: {
132
+ key: "send_reply",
133
+ label: "Send Reply",
134
+ workflowId: "crm-send-reply-workflow"
135
+ },
136
+ send_link: {
137
+ key: "send_link",
138
+ label: "Send Booking Link",
139
+ workflowId: "crm-send-booking-link-workflow"
140
+ },
141
+ send_nudge: {
142
+ key: "send_nudge",
143
+ label: "Send Nudge",
144
+ workflowId: "crm-send-nudge-workflow"
145
+ },
146
+ rebook: {
147
+ key: "rebook",
148
+ label: "Rebook",
149
+ workflowId: "crm-rebook-workflow"
150
+ }
151
+ };
264
152
  function crmAction(actionId, runtime) {
265
- const metadata = getCrmActionMetadata(actionId);
266
- if (!metadata?.resourceId) {
153
+ const metadata = CRM_RUNTIME_ACTION_METADATA[actionId];
154
+ if (!metadata?.workflowId) {
267
155
  throw new Error(`CRM action metadata for "${actionId}" must define resourceId`);
268
156
  }
269
157
  return {
270
- key: metadata.id,
158
+ key: metadata.key,
271
159
  label: metadata.label,
272
- workflowId: metadata.resourceId,
160
+ workflowId: metadata.workflowId,
273
161
  ...runtime
274
162
  };
275
163
  }
@@ -443,5 +331,26 @@ function OrgServiceBridge({
443
331
  }
444
332
  );
445
333
  }
334
+ var defaultSystemSidebarWidth = 250;
335
+ function SystemShell({ children }) {
336
+ const { shellRuntime } = useElevasisSystems();
337
+ const { currentPath } = useRouterContext();
338
+ const routeMatch = shellRuntime.resolveRoute(currentPath);
339
+ if (routeMatch.status === "hidden") {
340
+ return /* @__PURE__ */ jsx(FeatureUnavailableState, { path: currentPath });
341
+ }
342
+ if (routeMatch.status !== "matched" || !routeMatch.system?.sidebar) {
343
+ return /* @__PURE__ */ jsx(Fragment, { children });
344
+ }
345
+ const SidebarComponent = routeMatch.system.sidebar;
346
+ const sidebarWidth = typeof routeMatch.system.sidebarWidth === "function" ? routeMatch.system.sidebarWidth({ currentPath }) : routeMatch.system.sidebarWidth ?? defaultSystemSidebarWidth;
347
+ if (sidebarWidth === 0) {
348
+ return /* @__PURE__ */ jsx(Fragment, { children });
349
+ }
350
+ return /* @__PURE__ */ jsxs(SubshellContainer, { children: [
351
+ /* @__PURE__ */ jsx(SubshellSidebar, { width: sidebarWidth, children: /* @__PURE__ */ jsx(SidebarComponent, {}) }),
352
+ /* @__PURE__ */ jsx(SubshellRightSideContainer, { children })
353
+ ] });
354
+ }
446
355
 
447
- export { CrmActionsProvider, EMPTY_LIST_ACTIONS, ElevasisCoreProvider, ListActionsProvider, NotificationProvider, deriveActions, findListActionByAction, getListActionWorkflowId, useCrmActions, useListActions, useNotificationAdapter };
356
+ export { CrmActionsProvider, EMPTY_LIST_ACTIONS, ElevasisCoreProvider, ListActionsProvider, NotificationProvider, SystemShell, deriveActions, findListActionByAction, getListActionWorkflowId, useCrmActions, useListActions, useNotificationAdapter };
@@ -1,5 +1,4 @@
1
- import { SemanticIcon } from './chunk-DWXDNT7P.js';
2
- import { buildOrganizationGraph, projectOrganizationSurfaces, compileOrganizationOntology, getSortedSidebarEntries, parseOntologyId, getSystem, resolveSystemConfig } from './chunk-DYIDXUJS.js';
1
+ import { buildOrganizationGraph, projectOrganizationSurfaces, compileOrganizationOntology, SemanticIcon, getSortedSidebarEntries, parseOntologyId, getSystem, resolveSystemConfig } from './chunk-DTFKWZ7A.js';
3
2
  import { useMemo, useState, useRef, useEffect } from 'react';
4
3
  import { useTree, Text, Tree, UnstyledButton, Group, TextInput } from '@mantine/core';
5
4
  import { useClipboard } from '@mantine/hooks';
@@ -255,16 +254,16 @@ function normalizeKnowledgeNodeId(nodeId) {
255
254
  return nodeId.startsWith("knowledge:") ? nodeId.slice("knowledge:".length) : nodeId;
256
255
  }
257
256
  function getKnowledgeNodeReadCommand(nodeId) {
258
- return `/knowledge read ${normalizeKnowledgeNodeId(nodeId)}`;
257
+ return `/om read ${normalizeKnowledgeNodeId(nodeId)}`;
259
258
  }
260
259
  function getKnowledgeNodeReadCommands(nodeIds) {
261
260
  return [...new Set(nodeIds)].map(getKnowledgeNodeReadCommand).join("\n");
262
261
  }
263
262
  function getKnowledgeFolderCommand(kind, id) {
264
- return `/knowledge read-folder ${kind}:${id}`;
263
+ return `/om read-folder ${kind}:${id}`;
265
264
  }
266
265
  function getKnowledgeTreeFolderCommand(treeValue) {
267
- return `/knowledge read-folder ${treeValue}`;
266
+ return `/om read-folder ${treeValue}`;
268
267
  }
269
268
  function getKnowledgeDomainFolderCommand(domainKey) {
270
269
  return getKnowledgeFolderCommand("domain", domainKey);
@@ -2046,7 +2045,7 @@ function TrailingCopySlot({ command, label, showCopy, favorite, hovered }) {
2046
2045
  var indexPromise = null;
2047
2046
  function loadSearchIndex() {
2048
2047
  if (!indexPromise) {
2049
- indexPromise = import('./knowledge-search-index-P7PR626V.js').then(
2048
+ indexPromise = import('./knowledge-search-index-ORIJCEZX.js').then(
2050
2049
  (mod) => buildSearchIndex(mod.default ?? mod)
2051
2050
  );
2052
2051
  }