@elevasis/ui 1.20.1 → 1.22.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 (66) hide show
  1. package/dist/charts/index.js +3 -2
  2. package/dist/chunk-3KMDHCAR.js +52 -0
  3. package/dist/{chunk-4SY4EQSK.js → chunk-5266RV46.js} +3 -3
  4. package/dist/{chunk-UMFPUM7Q.js → chunk-7TLPKXC2.js} +12 -12
  5. package/dist/{chunk-OFAXUZPZ.js → chunk-AJPFSMEH.js} +528 -336
  6. package/dist/chunk-AWT255UH.js +255 -0
  7. package/dist/{chunk-EMN755L5.js → chunk-CTF6FS2M.js} +10 -216
  8. package/dist/{chunk-C7AD6N23.js → chunk-DLI3F5IV.js} +364 -364
  9. package/dist/{chunk-AQ5MQDSS.js → chunk-EDAYKRPJ.js} +404 -2
  10. package/dist/{chunk-XOTN3X3Z.js → chunk-FATKFO7X.js} +3 -54
  11. package/dist/{chunk-JZEXFQ6N.js → chunk-HOYZWSNV.js} +91 -80
  12. package/dist/{chunk-AWMZCYKH.js → chunk-IAZT3VO6.js} +158 -82
  13. package/dist/{chunk-ERVB3QJQ.js → chunk-N5SDJP44.js} +1 -1
  14. package/dist/{chunk-3DIU726S.js → chunk-NVSKJG3L.js} +25 -4
  15. package/dist/{chunk-VLTVZXP6.js → chunk-QZS5FOIR.js} +2 -2
  16. package/dist/chunk-ROSMICXG.js +668 -0
  17. package/dist/{chunk-JIABC3AE.js → chunk-WAEKXBP3.js} +516 -266
  18. package/dist/{chunk-COTI2QPO.js → chunk-ZHJGTOXP.js} +4 -3
  19. package/dist/components/chat/index.d.ts +202 -0
  20. package/dist/components/chat/index.js +2 -0
  21. package/dist/components/index.css +0 -3
  22. package/dist/components/index.d.ts +37 -37
  23. package/dist/components/index.js +2652 -2902
  24. package/dist/features/auth/index.css +0 -3
  25. package/dist/features/dashboard/index.css +0 -3
  26. package/dist/features/dashboard/index.js +9 -9
  27. package/dist/features/monitoring/index.css +0 -3
  28. package/dist/features/monitoring/index.js +10 -10
  29. package/dist/features/operations/index.css +0 -3
  30. package/dist/features/operations/index.d.ts +245 -10
  31. package/dist/features/operations/index.js +1115 -170
  32. package/dist/features/settings/index.css +0 -3
  33. package/dist/features/settings/index.js +9 -9
  34. package/dist/hooks/index.css +68 -3
  35. package/dist/hooks/index.d.ts +1165 -4
  36. package/dist/hooks/index.js +5 -6
  37. package/dist/hooks/published.css +68 -3
  38. package/dist/hooks/published.d.ts +1165 -4
  39. package/dist/hooks/published.js +4 -5
  40. package/dist/index.css +68 -3
  41. package/dist/index.d.ts +1166 -5
  42. package/dist/index.js +6 -7
  43. package/dist/layout/index.d.ts +4 -4
  44. package/dist/layout/index.js +3 -4
  45. package/dist/provider/index.css +0 -3
  46. package/dist/provider/index.d.ts +1 -1
  47. package/dist/provider/index.js +3 -4
  48. package/dist/provider/published.d.ts +1 -1
  49. package/dist/theme/index.d.ts +1 -1
  50. package/dist/theme/index.js +3 -3
  51. package/dist/types/index.d.ts +1 -1
  52. package/package.json +7 -2
  53. package/dist/chunk-JFRG2JJE.js +0 -47
  54. package/dist/chunk-R3R367QY.js +0 -14
  55. package/dist/theme/presets/__tests__/getPreset.test.d.ts +0 -2
  56. package/dist/theme/presets/__tests__/getPreset.test.d.ts.map +0 -1
  57. package/dist/theme/presets/__tests__/getPreset.test.js +0 -92
  58. package/dist/theme/presets/cyber-volt.d.ts +0 -12
  59. package/dist/theme/presets/cyber-volt.d.ts.map +0 -1
  60. package/dist/theme/presets/cyber-volt.js +0 -70
  61. package/dist/theme/presets/regal.d.ts +0 -8
  62. package/dist/theme/presets/regal.d.ts.map +0 -1
  63. package/dist/theme/presets/regal.js +0 -69
  64. package/dist/theme/presets/rose-gold.d.ts +0 -12
  65. package/dist/theme/presets/rose-gold.d.ts.map +0 -1
  66. package/dist/theme/presets/rose-gold.js +0 -76
@@ -158,9 +158,6 @@
158
158
  ::-webkit-scrollbar-thumb:hover {
159
159
  background: var(--color-text-subtle);
160
160
  }
161
- .mantine-Skeleton-root[data-visible]::after {
162
- background-color: color-mix(in srgb, var(--color-text-subtle) 30%, var(--color-surface)) !important;
163
- }
164
161
  .mantine-Checkbox-input {
165
162
  background-color: var(--color-surface);
166
163
  border-color: var(--color-border);
@@ -158,9 +158,6 @@
158
158
  ::-webkit-scrollbar-thumb:hover {
159
159
  background: var(--color-text-subtle);
160
160
  }
161
- .mantine-Skeleton-root[data-visible]::after {
162
- background-color: color-mix(in srgb, var(--color-text-subtle) 30%, var(--color-surface)) !important;
163
- }
164
161
  .mantine-Checkbox-input {
165
162
  background-color: var(--color-surface);
166
163
  border-color: var(--color-border);
@@ -1,12 +1,13 @@
1
1
  import { ResourceHealthChart } from '../../chunk-LGKLC5MG.js';
2
- import { ExecutionStats } from '../../chunk-C7AD6N23.js';
3
- import { HeroStatsRow, useCyberColors } from '../../chunk-ERVB3QJQ.js';
4
- import { CardHeader, EmptyState, PageTitleCaption, TabCountBadge, GlowDot } from '../../chunk-AWMZCYKH.js';
2
+ import { ExecutionStats } from '../../chunk-DLI3F5IV.js';
3
+ import { HeroStatsRow, useCyberColors } from '../../chunk-N5SDJP44.js';
4
+ import { CardHeader, EmptyState, PageTitleCaption, TabCountBadge, GlowDot } from '../../chunk-IAZT3VO6.js';
5
+ import '../../chunk-3KMDHCAR.js';
5
6
  import '../../chunk-NNKKBSJN.js';
6
7
  import { AppShellCenteredContainer, AppShellLoader } from '../../chunk-WWEMNIHW.js';
7
8
  import '../../chunk-QJ2S46NI.js';
8
- import { useTimeRangeDates } from '../../chunk-XOTN3X3Z.js';
9
- import { useDashboardMetrics, useResources, useUnresolvedErrors, useRecentExecutionsByResource, useCommandQueue, useScheduledTasks, useResourcesHealth } from '../../chunk-AQ5MQDSS.js';
9
+ import { useTimeRangeDates } from '../../chunk-FATKFO7X.js';
10
+ import { useDashboardMetrics, useResources, useUnresolvedErrors, useRecentExecutionsByResource, useCommandQueue, useScheduledTasks, useResourcesHealth } from '../../chunk-EDAYKRPJ.js';
10
11
  import '../../chunk-NJJ3NQ7B.js';
11
12
  import { getTimeRangeDates } from '../../chunk-LXHZYSMQ.js';
12
13
  import '../../chunk-MHW43EOH.js';
@@ -16,11 +17,10 @@ import { ResourceStatusColors } from '../../chunk-ELJIFLCB.js';
16
17
  import '../../chunk-L4XXM55J.js';
17
18
  import '../../chunk-SLVC5OJ2.js';
18
19
  import '../../chunk-RNP5R5I3.js';
19
- import '../../chunk-VLTVZXP6.js';
20
- import '../../chunk-R3R367QY.js';
20
+ import '../../chunk-QZS5FOIR.js';
21
21
  import '../../chunk-SZHARWKU.js';
22
- import '../../chunk-OFAXUZPZ.js';
23
- import '../../chunk-3DIU726S.js';
22
+ import '../../chunk-AJPFSMEH.js';
23
+ import '../../chunk-NVSKJG3L.js';
24
24
  import '../../chunk-R7WLWGPO.js';
25
25
  import '../../chunk-NVOCKXUQ.js';
26
26
  import '../../chunk-V7XHGJQZ.js';
@@ -31,9 +31,6 @@
31
31
  ::-webkit-scrollbar-thumb:hover {
32
32
  background: var(--color-text-subtle);
33
33
  }
34
- .mantine-Skeleton-root[data-visible]::after {
35
- background-color: color-mix(in srgb, var(--color-text-subtle) 30%, var(--color-surface)) !important;
36
- }
37
34
  .mantine-Checkbox-input {
38
35
  background-color: var(--color-surface);
39
36
  border-color: var(--color-border);
@@ -1,15 +1,16 @@
1
- import { ExecutionLogsFilters, ExecutionLogsTable, ExecutionHealthCard, ErrorBreakdownTable, ErrorAnalysisCard, CostByModelTable, ActivityFilters, ActivityTable, ActivityCard, NotificationList } from '../../chunk-UMFPUM7Q.js';
1
+ import { ExecutionLogsFilters, ExecutionLogsTable, ExecutionHealthCard, ErrorBreakdownTable, ErrorAnalysisCard, CostByModelTable, ActivityFilters, ActivityTable, ActivityCard, NotificationList } from '../../chunk-7TLPKXC2.js';
2
2
  import '../../chunk-PDHTXPSF.js';
3
3
  import '../../chunk-LGKLC5MG.js';
4
- import '../../chunk-4SY4EQSK.js';
4
+ import '../../chunk-5266RV46.js';
5
5
  import { CustomModal } from '../../chunk-GBMNCNHX.js';
6
- import { CostTrendChart, ActivityTrendChart } from '../../chunk-ERVB3QJQ.js';
7
- import { PageTitleCaption, JsonViewer, EmptyState } from '../../chunk-AWMZCYKH.js';
6
+ import { CostTrendChart, ActivityTrendChart } from '../../chunk-N5SDJP44.js';
7
+ import { PageTitleCaption, JsonViewer, EmptyState } from '../../chunk-IAZT3VO6.js';
8
+ import '../../chunk-3KMDHCAR.js';
8
9
  import '../../chunk-NNKKBSJN.js';
9
10
  import { AppShellLoader } from '../../chunk-WWEMNIHW.js';
10
11
  import '../../chunk-QJ2S46NI.js';
11
- import { useExecutionLogsFilters, useTimeRangeDates, useActivityFilters } from '../../chunk-XOTN3X3Z.js';
12
- import { usePaginationState, useExecutionLogs, useExecutionHealth, useErrorAnalysis, useErrorDetail, useResolveErrorsByExecution, useResources, useCostTrends, useCostSummary, useCostByModel, useActivityTrend, useActivities, useNotifications, useMarkAllAsRead, useTestNotification } from '../../chunk-AQ5MQDSS.js';
12
+ import { useExecutionLogsFilters, useTimeRangeDates, useActivityFilters } from '../../chunk-FATKFO7X.js';
13
+ import { usePaginationState, useExecutionLogs, useExecutionHealth, useErrorAnalysis, useErrorDetail, useResolveErrorsByExecution, useResources, useCostTrends, useCostSummary, useCostByModel, useActivityTrend, useActivities, useNotifications, useMarkAllAsRead, useTestNotification } from '../../chunk-EDAYKRPJ.js';
13
14
  import '../../chunk-NJJ3NQ7B.js';
14
15
  import { getTimeRangeDates } from '../../chunk-LXHZYSMQ.js';
15
16
  import '../../chunk-MHW43EOH.js';
@@ -18,11 +19,10 @@ import '../../chunk-XA34RETF.js';
18
19
  import '../../chunk-ELJIFLCB.js';
19
20
  import '../../chunk-L4XXM55J.js';
20
21
  import '../../chunk-RNP5R5I3.js';
21
- import '../../chunk-VLTVZXP6.js';
22
- import '../../chunk-R3R367QY.js';
22
+ import '../../chunk-QZS5FOIR.js';
23
23
  import '../../chunk-SZHARWKU.js';
24
- import '../../chunk-OFAXUZPZ.js';
25
- import '../../chunk-3DIU726S.js';
24
+ import '../../chunk-AJPFSMEH.js';
25
+ import '../../chunk-NVSKJG3L.js';
26
26
  import '../../chunk-R7WLWGPO.js';
27
27
  import '../../chunk-NVOCKXUQ.js';
28
28
  import '../../chunk-V7XHGJQZ.js';
@@ -158,9 +158,6 @@
158
158
  ::-webkit-scrollbar-thumb:hover {
159
159
  background: var(--color-text-subtle);
160
160
  }
161
- .mantine-Skeleton-root[data-visible]::after {
162
- background-color: color-mix(in srgb, var(--color-text-subtle) 30%, var(--color-surface)) !important;
163
- }
164
161
  .mantine-Checkbox-input {
165
162
  background-color: var(--color-surface);
166
163
  border-color: var(--color-border);
@@ -1044,6 +1044,26 @@ interface IterationContext {
1044
1044
  knowledgeMap?: KnowledgeMap;
1045
1045
  }
1046
1046
 
1047
+ /**
1048
+ * Session Data Transfer Object (DTO)
1049
+ * Transform type for API responses (snake_case DB → camelCase frontend)
1050
+ * Used by frontend apps to display session data
1051
+ */
1052
+ interface SessionDTO {
1053
+ sessionId: string;
1054
+ resourceId: string;
1055
+ organizationId: string;
1056
+ userId?: string | null;
1057
+ turnCount: number;
1058
+ isEnded: boolean;
1059
+ title?: string | null;
1060
+ memorySnapshot?: AgentMemory;
1061
+ metadata?: Record<string, unknown> | null;
1062
+ createdAt: Date;
1063
+ updatedAt: Date;
1064
+ endedAt?: Date | null;
1065
+ }
1066
+
1047
1067
  /**
1048
1068
  * MetricsCollector
1049
1069
  * Tracks execution timing and ROI metrics
@@ -1726,15 +1746,32 @@ interface CalibrationRunDetailPageProps {
1726
1746
  renderSessionComparison?: (args: {
1727
1747
  run: CalibrationRun;
1728
1748
  }) => ReactNode;
1729
- /**
1730
- * Render-prop slot for the live progress panel shown during execution.
1731
- * Required because CalibrationProgress uses CC-local useCalibrationSSE.
1732
- */
1733
- renderProgressPanel?: (args: {
1734
- runId: string;
1735
- }) => ReactNode;
1749
+ /** SSE connection manager instance for live calibration progress updates. */
1750
+ manager: SSEConnectionManager;
1751
+ /** Base API URL used by CalibrationProgress to connect to the SSE endpoint. */
1752
+ apiUrl: string;
1753
+ }
1754
+ declare function CalibrationRunDetailPage({ runId, onNavigateToProject, renderSessionComparison, manager, apiUrl }: CalibrationRunDetailPageProps): react_jsx_runtime.JSX.Element | null;
1755
+
1756
+ interface CalibrationProgressProps {
1757
+ runId: string;
1758
+ manager: SSEConnectionManager;
1759
+ apiUrl: string;
1736
1760
  }
1737
- declare function CalibrationRunDetailPage({ runId, onNavigateToProject, renderSessionComparison, renderProgressPanel }: CalibrationRunDetailPageProps): react_jsx_runtime.JSX.Element | null;
1761
+ declare function CalibrationProgress({ runId, manager, apiUrl }: CalibrationProgressProps): react_jsx_runtime.JSX.Element;
1762
+
1763
+ interface CalibrationSidebarProps {
1764
+ currentProjectId: string | undefined;
1765
+ currentRunId: string | undefined;
1766
+ currentPath: string;
1767
+ onProjectClick: (projectId: string) => void;
1768
+ onRunClick: (runId: string) => void;
1769
+ }
1770
+ /**
1771
+ * Calibration sidebar - displays projects and runs for navigation.
1772
+ * Uses shared CollapsibleSidebarGroup and SidebarListItem components.
1773
+ */
1774
+ declare function CalibrationSidebar({ currentProjectId, currentRunId, currentPath, onProjectClick, onRunClick }: CalibrationSidebarProps): react_jsx_runtime.JSX.Element;
1738
1775
 
1739
1776
  interface ExecutionPanelProps {
1740
1777
  resourceId: string;
@@ -1767,5 +1804,203 @@ interface AgentExecutionPanelProps {
1767
1804
  }
1768
1805
  declare function AgentExecutionPanel({ resourceId, resourceDefinition, sseManager, apiUrl, onConnectionStatus }: AgentExecutionPanelProps): react_jsx_runtime.JSX.Element;
1769
1806
 
1770
- export { AgentExecutionPanel, CalibrationPage, CalibrationProjectDetailPage, CalibrationProjectsPage, CalibrationRunDetailPage, CommandQueueDetailPage, CommandQueuePage, CommandViewPage, CommandViewSidebarContent, ExecutionPanel, ResourceDetailPage, ResourcesPage, ResourcesSidebar, WorkflowExecutionPanel };
1771
- export type { AgentExecutionPanelProps, CalibrationPageProps, CalibrationProjectDetailPageProps, CalibrationProjectDetailPageRenderCreateModalArgs, CalibrationProjectDetailPageRenderRunCardArgs, CalibrationProjectsPageProps, CalibrationRunDetailPageProps, CommandQueueDetailPageProps, CommandQueueDetailPageRichTextArgs, CommandQueuePageProps, CommandViewPageProps, CommandViewSidebarContentProps, ExecutionPanelProps, ResourceDetailPageProps, ResourceDetailPageRenderExecutionPanelArgs, ResourcesPageProps, ResourcesSidebarProps, WorkflowExecutionPanelProps };
1807
+ interface SessionsPageProps {
1808
+ /** Whether the organization context is ready; blocks render until true */
1809
+ isReady: boolean;
1810
+ /** The currently selected agent resource ID (from URL search param) */
1811
+ agentParam?: string;
1812
+ /** Builds the URL for a session detail page */
1813
+ buildSessionDetailUrl: (sessionId: string) => string;
1814
+ /** Builds the URL for the sessions list with an agent pre-selected */
1815
+ buildSessionListUrl: (agentId: string) => string;
1816
+ /** Imperative navigation handler; receives a fully-built URL string */
1817
+ onNavigate: (to: string) => void;
1818
+ }
1819
+ /**
1820
+ * Sessions page — agent grid + selected-agent session list.
1821
+ * Agent card selection, new-session creation, and navigation are delegated
1822
+ * to DI props so this component has no CC router dependency.
1823
+ */
1824
+ declare function SessionsPage({ isReady, agentParam, buildSessionDetailUrl, buildSessionListUrl, onNavigate }: SessionsPageProps): react_jsx_runtime.JSX.Element;
1825
+
1826
+ interface SessionListItem$1 {
1827
+ sessionId: string;
1828
+ resourceId: string;
1829
+ turnCount: number;
1830
+ isEnded: boolean;
1831
+ createdAt: Date;
1832
+ updatedAt: Date;
1833
+ }
1834
+ interface SessionGroup {
1835
+ resourceId: string;
1836
+ agentName: string;
1837
+ sessions: SessionListItem$1[];
1838
+ isExpanded: boolean;
1839
+ }
1840
+ /**
1841
+ * WebSocket connection state
1842
+ */
1843
+ interface WebSocketState {
1844
+ isConnected: boolean;
1845
+ isProcessing: boolean;
1846
+ error: string | null;
1847
+ }
1848
+
1849
+ interface ConversationViewSlotArgs {
1850
+ sessionId: string;
1851
+ onConnectionStateChange?: (state: WebSocketState) => void;
1852
+ emptyStateText?: string;
1853
+ emptyStateSubtext?: string;
1854
+ placeholder?: string;
1855
+ }
1856
+ interface SessionChatInterfaceProps {
1857
+ sessionId: string;
1858
+ onConnectionStateChange?: (state: WebSocketState) => void;
1859
+ renderConversationView: (args: ConversationViewSlotArgs) => ReactNode;
1860
+ }
1861
+ /**
1862
+ * Session chat interface for the session detail page.
1863
+ * Thin wrapper that delegates rendering to a render-prop slot,
1864
+ * allowing CC-local ConversationView (WebSocket-backed) to be injected
1865
+ * without coupling @repo/ui to CC-specific infrastructure.
1866
+ */
1867
+ declare function SessionChatInterface({ sessionId, onConnectionStateChange, renderConversationView }: SessionChatInterfaceProps): react_jsx_runtime.JSX.Element;
1868
+
1869
+ interface SessionChatPageProps {
1870
+ /** Session ID sourced from the URL param; host extracts it from the router */
1871
+ sessionId: string;
1872
+ /** Whether the organization context is ready; blocks render until true */
1873
+ isReady: boolean;
1874
+ /** Render-prop that injects the CC-local WebSocket-backed ConversationView */
1875
+ renderConversationView: (args: ConversationViewSlotArgs) => ReactNode;
1876
+ /** Builds the URL for an execution detail page; forwarded to SessionExecutionLogs */
1877
+ buildExecutionUrl: (executionId: string) => string;
1878
+ /** Builds the URL to navigate back to the sessions list */
1879
+ buildSessionListUrl: () => string;
1880
+ /** Organization name used for CLI copy strings in the session sidebar */
1881
+ organizationName: string;
1882
+ }
1883
+ /**
1884
+ * Session chat detail page.
1885
+ * Guards on isReady + session load, then renders the full chat layout
1886
+ * (header, chat area, execution logs, memory snapshot).
1887
+ * WebSocket connectivity is injected via renderConversationView.
1888
+ */
1889
+ declare function SessionChatPage({ sessionId, isReady, renderConversationView, buildExecutionUrl, buildSessionListUrl: _buildSessionListUrl, organizationName }: SessionChatPageProps): react_jsx_runtime.JSX.Element;
1890
+
1891
+ interface SessionChatAreaProps {
1892
+ sessionId: string;
1893
+ session: SessionDTO;
1894
+ organizationName: string;
1895
+ onDeleted?: () => void;
1896
+ renderConversationView: (args: {
1897
+ sessionId: string;
1898
+ onConnectionStateChange?: (state: WebSocketState) => void;
1899
+ emptyStateText?: string;
1900
+ emptyStateSubtext?: string;
1901
+ placeholder?: string;
1902
+ }) => ReactNode;
1903
+ }
1904
+ /**
1905
+ * Consolidated chat area component with header, chat interface, and sidebar.
1906
+ * Handles sidebar state and layout transitions.
1907
+ */
1908
+ declare function SessionChatArea({ sessionId, session, organizationName, onDeleted, renderConversationView }: SessionChatAreaProps): react_jsx_runtime.JSX.Element;
1909
+
1910
+ interface SessionHeaderProps {
1911
+ session: SessionDTO;
1912
+ connectionState: WebSocketState;
1913
+ onToggleSidebar: () => void;
1914
+ isSidebarOpen: boolean;
1915
+ tokenUsage?: {
1916
+ used: number;
1917
+ total: number;
1918
+ };
1919
+ }
1920
+ /**
1921
+ * Header component for session chat page.
1922
+ * Displays session title, connection status, turn count, and sidebar toggle.
1923
+ */
1924
+ declare function SessionHeader({ session: _session, connectionState, onToggleSidebar, isSidebarOpen, tokenUsage }: SessionHeaderProps): react_jsx_runtime.JSX.Element;
1925
+
1926
+ interface SessionDetailsSidebarProps {
1927
+ session: SessionDTO;
1928
+ isOpen: boolean;
1929
+ onClose: () => void;
1930
+ /** Organization name for CLI copy string */
1931
+ organizationName: string;
1932
+ /** Called after a successful session delete; wrapper should navigate away */
1933
+ onDeleted?: () => void;
1934
+ }
1935
+ /**
1936
+ * Floating sidebar that displays session details.
1937
+ * Slides in from the right, only as tall as the chat interface section.
1938
+ */
1939
+ declare function SessionDetailsSidebar({ session, isOpen, onClose, organizationName, onDeleted }: SessionDetailsSidebarProps): react_jsx_runtime.JSX.Element;
1940
+
1941
+ interface SessionListItemProps {
1942
+ session: SessionListItem$1;
1943
+ /** Called when the session row is clicked; host is responsible for navigation */
1944
+ onClick: (sessionId: string) => void;
1945
+ /** Whether this session is the currently selected one (drives highlight styles) */
1946
+ isSelected?: boolean;
1947
+ /** Called after a successful delete; host should navigate away if needed */
1948
+ onDeleted?: (sessionId: string) => void;
1949
+ }
1950
+ /**
1951
+ * A single session row for use in session lists and sidebars.
1952
+ * Displays turn count, last activity time, and an inline delete action.
1953
+ * Navigation is delegated via the `onClick` DI prop.
1954
+ */
1955
+ declare function SessionListItem({ session, onClick, isSelected, onDeleted }: SessionListItemProps): react_jsx_runtime.JSX.Element;
1956
+
1957
+ interface SessionExecutionLogsProps {
1958
+ sessionId: string;
1959
+ session: SessionDTO;
1960
+ /** Builds the URL for an execution detail page; opens in a new tab */
1961
+ buildExecutionUrl: (executionId: string) => string;
1962
+ }
1963
+ /**
1964
+ * Displays execution summary for all turns in a session.
1965
+ * Clicking an execution opens the full execution log page in a new tab.
1966
+ */
1967
+ declare function SessionExecutionLogs({ sessionId, session, buildExecutionUrl }: SessionExecutionLogsProps): react_jsx_runtime.JSX.Element;
1968
+
1969
+ interface AgentSessionGroupProps {
1970
+ group: SessionGroup;
1971
+ /** Called when the agent header label is clicked; host is responsible for navigation */
1972
+ onAgentClick: (agentId: string) => void;
1973
+ /** Called when a session row is clicked; forwarded to SessionListItem */
1974
+ onSessionClick: (sessionId: string) => void;
1975
+ /** Currently selected session ID, forwarded to SessionListItem for highlight */
1976
+ selectedSessionId?: string;
1977
+ /** Called after a session is deleted; host should navigate away if the deleted session was selected */
1978
+ onSessionDeleted?: (sessionId: string) => void;
1979
+ }
1980
+ /**
1981
+ * Collapsible session group for the sessions sidebar.
1982
+ * Displays an agent header with a badge count, and a collapsible list of sessions beneath it.
1983
+ */
1984
+ declare function AgentSessionGroup({ group, onAgentClick, onSessionClick, selectedSessionId, onSessionDeleted }: AgentSessionGroupProps): react_jsx_runtime.JSX.Element;
1985
+
1986
+ interface SessionsSidebarProps {
1987
+ /** Whether the organization context is ready; blocks render until true */
1988
+ isReady: boolean;
1989
+ /** Called when an agent list item is clicked; host is responsible for navigation */
1990
+ onAgentClick: (agentId: string) => void;
1991
+ /** Builds the URL for a session detail page; forwarded to SessionListItem */
1992
+ buildSessionDetailUrl: (sessionId: string) => string;
1993
+ /** Current session ID from URL params — undefined when on the list view */
1994
+ sessionId?: string;
1995
+ /** Current agent param from URL search — undefined when no agent is selected */
1996
+ agentParam?: string;
1997
+ }
1998
+ /**
1999
+ * Sessions sidebar — context-aware navigation panel.
2000
+ * Shows an agents list on the list view, or a flat sessions list when viewing a specific session.
2001
+ * Router-state (sessionId, agentParam) is injected as DI props.
2002
+ */
2003
+ declare function SessionsSidebar({ isReady, onAgentClick, buildSessionDetailUrl, sessionId, agentParam }: SessionsSidebarProps): react_jsx_runtime.JSX.Element;
2004
+
2005
+ export { AgentExecutionPanel, AgentSessionGroup, CalibrationPage, CalibrationProgress, CalibrationProjectDetailPage, CalibrationProjectsPage, CalibrationRunDetailPage, CalibrationSidebar, CommandQueueDetailPage, CommandQueuePage, CommandViewPage, CommandViewSidebarContent, ExecutionPanel, ResourceDetailPage, ResourcesPage, ResourcesSidebar, SessionChatArea, SessionChatInterface, SessionChatPage, SessionDetailsSidebar, SessionExecutionLogs, SessionHeader, SessionListItem, SessionsPage, SessionsSidebar, WorkflowExecutionPanel };
2006
+ export type { AgentExecutionPanelProps, AgentSessionGroupProps, CalibrationPageProps, CalibrationProgressProps, CalibrationProjectDetailPageProps, CalibrationProjectDetailPageRenderCreateModalArgs, CalibrationProjectDetailPageRenderRunCardArgs, CalibrationProjectsPageProps, CalibrationRunDetailPageProps, CalibrationSidebarProps, CommandQueueDetailPageProps, CommandQueueDetailPageRichTextArgs, CommandQueuePageProps, CommandViewPageProps, CommandViewSidebarContentProps, ConversationViewSlotArgs, ExecutionPanelProps, ResourceDetailPageProps, ResourceDetailPageRenderExecutionPanelArgs, ResourcesPageProps, ResourcesSidebarProps, SessionChatAreaProps, SessionChatInterfaceProps, SessionChatPageProps, SessionDetailsSidebarProps, SessionExecutionLogsProps, SessionHeaderProps, SessionListItemProps, SessionsPageProps, SessionsSidebarProps, WorkflowExecutionPanelProps };