@elevasis/ui 1.20.1 → 1.21.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 (58) hide show
  1. package/dist/charts/index.js +3 -2
  2. package/dist/{chunk-COTI2QPO.js → chunk-2WLVOFK7.js} +1 -1
  3. package/dist/chunk-3KMDHCAR.js +52 -0
  4. package/dist/chunk-AWT255UH.js +255 -0
  5. package/dist/{chunk-AWMZCYKH.js → chunk-BC6TJEON.js} +2 -45
  6. package/dist/{chunk-VLTVZXP6.js → chunk-CRFV2TVK.js} +1 -1
  7. package/dist/{chunk-EMN755L5.js → chunk-CTF6FS2M.js} +10 -216
  8. package/dist/{chunk-4SY4EQSK.js → chunk-CYJILY7M.js} +3 -3
  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-ERVB3QJQ.js → chunk-FVBYSDM4.js} +1 -1
  12. package/dist/{chunk-OFAXUZPZ.js → chunk-MOBXWBES.js} +212 -67
  13. package/dist/{chunk-JIABC3AE.js → chunk-NL6EFQYE.js} +515 -265
  14. package/dist/chunk-ROSMICXG.js +668 -0
  15. package/dist/{chunk-C7AD6N23.js → chunk-ST2RSBQ3.js} +364 -364
  16. package/dist/{chunk-JZEXFQ6N.js → chunk-UZWZY7TJ.js} +2 -2
  17. package/dist/{chunk-UMFPUM7Q.js → chunk-V422ET6W.js} +12 -12
  18. package/dist/components/chat/index.d.ts +202 -0
  19. package/dist/components/chat/index.js +2 -0
  20. package/dist/components/index.js +2651 -2899
  21. package/dist/features/dashboard/index.js +8 -7
  22. package/dist/features/monitoring/index.js +9 -8
  23. package/dist/features/operations/index.d.ts +245 -10
  24. package/dist/features/operations/index.js +1114 -168
  25. package/dist/features/settings/index.js +8 -7
  26. package/dist/hooks/index.css +68 -0
  27. package/dist/hooks/index.d.ts +1164 -3
  28. package/dist/hooks/index.js +4 -4
  29. package/dist/hooks/published.css +68 -0
  30. package/dist/hooks/published.d.ts +1164 -3
  31. package/dist/hooks/published.js +3 -3
  32. package/dist/index.css +68 -0
  33. package/dist/index.d.ts +1165 -4
  34. package/dist/index.js +5 -5
  35. package/dist/layout/index.d.ts +3 -3
  36. package/dist/layout/index.js +2 -2
  37. package/dist/provider/index.d.ts +1 -1
  38. package/dist/provider/index.js +2 -2
  39. package/dist/provider/published.d.ts +1 -1
  40. package/dist/theme/index.d.ts +1 -1
  41. package/dist/theme/index.js +2 -2
  42. package/dist/theme/presets/synapse.d.ts +10 -0
  43. package/dist/theme/presets/synapse.d.ts.map +1 -0
  44. package/dist/theme/presets/synapse.js +75 -0
  45. package/package.json +7 -2
  46. package/dist/chunk-JFRG2JJE.js +0 -47
  47. package/dist/theme/presets/__tests__/getPreset.test.d.ts +0 -2
  48. package/dist/theme/presets/__tests__/getPreset.test.d.ts.map +0 -1
  49. package/dist/theme/presets/__tests__/getPreset.test.js +0 -92
  50. package/dist/theme/presets/cyber-volt.d.ts +0 -12
  51. package/dist/theme/presets/cyber-volt.d.ts.map +0 -1
  52. package/dist/theme/presets/cyber-volt.js +0 -70
  53. package/dist/theme/presets/regal.d.ts +0 -8
  54. package/dist/theme/presets/regal.d.ts.map +0 -1
  55. package/dist/theme/presets/regal.js +0 -69
  56. package/dist/theme/presets/rose-gold.d.ts +0 -12
  57. package/dist/theme/presets/rose-gold.d.ts.map +0 -1
  58. package/dist/theme/presets/rose-gold.js +0 -76
@@ -1,8 +1,8 @@
1
1
  import { FilterBar } from './chunk-PDHTXPSF.js';
2
2
  import { CustomModal } from './chunk-GBMNCNHX.js';
3
- import { ListSkeleton, EmptyState, PageTitleCaption, CardHeader, APIErrorAlert } from './chunk-AWMZCYKH.js';
3
+ import { ListSkeleton, EmptyState, PageTitleCaption, CardHeader, APIErrorAlert } from './chunk-BC6TJEON.js';
4
4
  import { AppShellLoader } from './chunk-WWEMNIHW.js';
5
- import { useDeleteCredential, useCreateCredential, useCredentials, MEMBERSHIP_STATUS_COLORS, transformMembershipToTableRow, CredentialSchemas } from './chunk-XOTN3X3Z.js';
5
+ import { useDeleteCredential, useCreateCredential, useCredentials, MEMBERSHIP_STATUS_COLORS, transformMembershipToTableRow, CredentialSchemas } from './chunk-FATKFO7X.js';
6
6
  import { formatDateTime } from './chunk-IOKL7BKE.js';
7
7
  import { useInitialization } from './chunk-TUXTSEAF.js';
8
8
  import { useState, useEffect } from 'react';
@@ -1,7 +1,7 @@
1
1
  import { FilterBar } from './chunk-PDHTXPSF.js';
2
- import { CyberAreaChart } from './chunk-ERVB3QJQ.js';
3
- import { APIErrorAlert, CardHeader, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, EmptyState } from './chunk-AWMZCYKH.js';
4
- import { useResolveError, useResolveAllErrors, usePaginationState, useErrorDetails, useMarkAsRead } from './chunk-AQ5MQDSS.js';
2
+ import { CyberAreaChart } from './chunk-FVBYSDM4.js';
3
+ import { APIErrorAlert, CardHeader, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, EmptyState } from './chunk-BC6TJEON.js';
4
+ import { useResolveError, useResolveAllErrors, usePaginationState, useErrorDetails, useMarkAsRead } from './chunk-EDAYKRPJ.js';
5
5
  import { formatBucketTime } from './chunk-LXHZYSMQ.js';
6
6
  import { formatDuration } from './chunk-XA34RETF.js';
7
7
  import { PAGE_SIZE_DEFAULT } from './chunk-IOKL7BKE.js';
@@ -1221,6 +1221,15 @@ function ErrorBreakdownTable({ startDate, endDate, onErrorClick }) {
1221
1221
  totalPages(total) > 1 && /* @__PURE__ */ jsx(Group, { justify: "flex-start", children: /* @__PURE__ */ jsx(Pagination, { total: totalPages(total), value: page, onChange: setPage, size: "sm", boundaries: 1 }) })
1222
1222
  ] }) });
1223
1223
  }
1224
+ function NotificationList({ notifications, isLoading, onClose, onNavigate }) {
1225
+ if (isLoading) {
1226
+ return /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Loader, { size: "sm" }) });
1227
+ }
1228
+ if (notifications.length === 0) {
1229
+ return /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "No notifications" }) });
1230
+ }
1231
+ return /* @__PURE__ */ jsx(Stack, { gap: 0, children: notifications.map((notification) => /* @__PURE__ */ jsx(NotificationItem, { notification, onClose, onNavigate }, notification.id)) });
1232
+ }
1224
1233
  var categoryColors = {
1225
1234
  info: "blue",
1226
1235
  queue: "cyan",
@@ -1268,14 +1277,5 @@ function NotificationItem({ notification, onClose, onNavigate }) {
1268
1277
  }
1269
1278
  );
1270
1279
  }
1271
- function NotificationList({ notifications, isLoading, onClose, onNavigate }) {
1272
- if (isLoading) {
1273
- return /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Loader, { size: "sm" }) });
1274
- }
1275
- if (notifications.length === 0) {
1276
- return /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "No notifications" }) });
1277
- }
1278
- return /* @__PURE__ */ jsx(Stack, { gap: 0, children: notifications.map((notification) => /* @__PURE__ */ jsx(NotificationItem, { notification, onClose, onNavigate }, notification.id)) });
1279
- }
1280
1280
 
1281
1281
  export { ActivityCard, ActivityFilters, ActivityTable, BusinessImpactCard, CostBreakdownCard, CostByModelTable, CostMetricsCard, ErrorAnalysisCard, ErrorBreakdownTable, ExecutionBreakdownTable, ExecutionHealthCard, ExecutionLogsFilters, ExecutionLogsTable, NotificationItem, NotificationList };
@@ -0,0 +1,202 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { ReactNode } from 'react';
4
+
5
+ interface ChatSidebarProps {
6
+ /**
7
+ * Whether the sidebar is open
8
+ */
9
+ isOpen: boolean;
10
+ /**
11
+ * Optional title for the sidebar header
12
+ * @default 'Details'
13
+ */
14
+ title?: string;
15
+ /**
16
+ * Sidebar content
17
+ */
18
+ children: ReactNode;
19
+ /**
20
+ * Optional fixed width in pixels
21
+ * @default 320
22
+ */
23
+ width?: number;
24
+ /**
25
+ * Optional z-index for layering
26
+ * @default 10
27
+ */
28
+ zIndex?: number;
29
+ }
30
+ /**
31
+ * Shared chat sidebar component
32
+ *
33
+ * Provides a sliding sidebar panel that animates from the right side.
34
+ * Used across AI Studio sessions and Agent Chat for displaying contextual details.
35
+ *
36
+ * Features:
37
+ * - Smooth transform-based sliding animation
38
+ * - Fixed width with absolute positioning
39
+ * - Theme-aware styling with CSS variables
40
+ * - Customizable header with optional actions
41
+ * - Flexible content area via children prop
42
+ *
43
+ * Layout Pattern:
44
+ * Parent container must have `position: relative` and the content area should
45
+ * adjust its `marginRight` to match the sidebar width when open.
46
+ *
47
+ * @example
48
+ * ```tsx
49
+ * <div style={{ position: 'relative', height: '100vh' }}>
50
+ * <div style={{
51
+ * marginRight: isSidebarOpen ? '320px' : '0',
52
+ * transition: 'margin-right 0.3s cubic-bezier(0.4, 0, 0.2, 1)'
53
+ * }}>
54
+ * // Main content
55
+ * </div>
56
+ * <ChatSidebar isOpen={isSidebarOpen} onClose={() => setIsOpen(false)}>
57
+ * // Sidebar content
58
+ * </ChatSidebar>
59
+ * </div>
60
+ * ```
61
+ */
62
+ declare function ChatSidebar({ isOpen, title, children, width, zIndex }: ChatSidebarProps): react_jsx_runtime.JSX.Element;
63
+
64
+ interface ChatHeaderProps {
65
+ title: string;
66
+ status?: {
67
+ label: string;
68
+ color: 'green' | 'gray' | 'red' | 'yellow' | 'blue';
69
+ };
70
+ contextUsage?: {
71
+ used: number;
72
+ total: number;
73
+ };
74
+ sidebarIcon?: ReactNode;
75
+ onToggleSidebar?: () => void;
76
+ isSidebarOpen?: boolean;
77
+ sidebarTooltip?: string;
78
+ }
79
+ /**
80
+ * Shared chat header component
81
+ * Displays title, status badge, context usage, and optional sidebar toggle
82
+ */
83
+ declare function ChatHeader({ title, status, contextUsage, sidebarIcon, onToggleSidebar, isSidebarOpen, sidebarTooltip }: ChatHeaderProps): react_jsx_runtime.JSX.Element;
84
+
85
+ interface ChatInputAreaProps {
86
+ input: string;
87
+ onInputChange: (value: string) => void;
88
+ onSend: () => void;
89
+ isDisabled?: boolean;
90
+ isProcessing?: boolean;
91
+ isConnected?: boolean;
92
+ placeholder?: string;
93
+ }
94
+ /**
95
+ * Tactical chat input area with focus glow and accent send button.
96
+ */
97
+ declare const ChatInputArea: react.NamedExoticComponent<ChatInputAreaProps>;
98
+
99
+ type MessageType = MessageEvent['type'];
100
+ interface ChatMessage {
101
+ id: string;
102
+ role: 'user' | 'assistant';
103
+ messageType: MessageType;
104
+ text: string;
105
+ metadata?: MessageEvent;
106
+ turnNumber: number;
107
+ messageIndex?: number;
108
+ createdAt: Date;
109
+ }
110
+
111
+ /**
112
+ * Base Execution Engine type definitions
113
+ * Core types shared across all Execution Engine resources
114
+ */
115
+
116
+ /**
117
+ * Unified message event type - covers all message types in sessions
118
+ * Replaces separate SessionTurnMessages and AgentActivityEvent mechanisms
119
+ */
120
+ /**
121
+ * Structured action metadata attached to assistant messages.
122
+ * Frontend reads this instead of parsing text prefixes.
123
+ */
124
+ type AssistantAction = {
125
+ kind: 'navigate';
126
+ path: string;
127
+ reason: string;
128
+ } | {
129
+ kind: 'update_filters';
130
+ timeRange: string | null;
131
+ statusFilter: string | null;
132
+ searchQuery: string | null;
133
+ };
134
+ type MessageEvent = {
135
+ type: 'user_message';
136
+ text: string;
137
+ } | {
138
+ type: 'assistant_message';
139
+ text: string;
140
+ _action?: AssistantAction;
141
+ } | {
142
+ type: 'agent:started';
143
+ } | {
144
+ type: 'agent:completed';
145
+ } | {
146
+ type: 'agent:error';
147
+ error: string;
148
+ } | {
149
+ type: 'agent:reasoning';
150
+ iteration: number;
151
+ reasoning: string;
152
+ } | {
153
+ type: 'agent:tool_call';
154
+ toolName: string;
155
+ args: Record<string, unknown>;
156
+ } | {
157
+ type: 'agent:tool_result';
158
+ toolName: string;
159
+ success: boolean;
160
+ result?: unknown;
161
+ error?: string;
162
+ };
163
+
164
+ interface ChatInterfaceProps {
165
+ messages: ChatMessage[];
166
+ input: string;
167
+ onInputChange: (value: string) => void;
168
+ onSendMessage: () => void;
169
+ isProcessing?: boolean;
170
+ isConnected?: boolean;
171
+ error?: string | null;
172
+ onClearError?: () => void;
173
+ emptyStateText?: string;
174
+ emptyStateSubtext?: string;
175
+ placeholder?: string;
176
+ }
177
+ /**
178
+ * Shared chat interface component
179
+ * Used across ai studio sessions and production agent chat
180
+ * Handles message display, auto-scroll, and input area
181
+ */
182
+ declare function ChatInterface({ messages, input, onInputChange, onSendMessage, isProcessing, isConnected, error, onClearError, emptyStateText, emptyStateSubtext, placeholder }: ChatInterfaceProps): react_jsx_runtime.JSX.Element;
183
+
184
+ interface MessageBubbleProps {
185
+ message: ChatMessage;
186
+ }
187
+ /**
188
+ * Shared chat message bubble component
189
+ * Used across all chat interfaces in the monorepo
190
+ * Supports all 8 message types including agent activity
191
+ */
192
+ declare const MessageBubble: react.NamedExoticComponent<MessageBubbleProps>;
193
+
194
+ /**
195
+ * Animated processing indicator with a light streak effect.
196
+ * Each letter brightens sequentially, creating the illusion
197
+ * of a streak of light sweeping across the text.
198
+ */
199
+ declare function ProcessingIndicator(): react_jsx_runtime.JSX.Element;
200
+
201
+ export { ChatHeader, ChatInputArea, ChatInterface, ChatSidebar, MessageBubble, ProcessingIndicator };
202
+ export type { ChatHeaderProps, ChatInputAreaProps, ChatInterfaceProps, ChatSidebarProps, MessageBubbleProps };
@@ -0,0 +1,2 @@
1
+ export { ChatHeader, ChatInputArea, ChatInterface, ChatSidebar, MessageBubble, ProcessingIndicator } from '../../chunk-ROSMICXG.js';
2
+ import '../../chunk-3KMDHCAR.js';