@elevasis/ui 2.20.0 → 2.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.
- package/dist/api/index.js +2 -2
- package/dist/app/index.js +5 -5
- package/dist/charts/index.js +3 -3
- package/dist/{chunk-TO7QXDBX.js → chunk-3HEUGBOT.js} +3 -3
- package/dist/chunk-AXXTN44Z.js +26 -0
- package/dist/{chunk-FMFX4K6E.js → chunk-B4FHWKEF.js} +3390 -2929
- package/dist/{chunk-AL23U6C3.js → chunk-BIWHHWCJ.js} +1 -2
- package/dist/{chunk-MZFJWCPH.js → chunk-BSZRKBAW.js} +277 -92
- package/dist/{chunk-GP3AFJYG.js → chunk-COG4ABRI.js} +8 -13
- package/dist/chunk-DDZOHLHB.js +48 -0
- package/dist/{chunk-ZE2KQSHL.js → chunk-GJ7EIABJ.js} +4 -4
- package/dist/{chunk-YP6T426C.js → chunk-IBUYJXA3.js} +1326 -1110
- package/dist/{chunk-2CFOFSSG.js → chunk-IOTLB6ND.js} +8 -13
- package/dist/{chunk-GBMNCNHX.js → chunk-KVJ3LFH2.js} +3 -1
- package/dist/chunk-LJWV4TWV.js +335 -0
- package/dist/{chunk-PJVG3ISO.js → chunk-LKVBEE63.js} +7 -9
- package/dist/{chunk-JR5WNTLA.js → chunk-LVJGPE6H.js} +11 -24
- package/dist/{chunk-OUYH2SBS.js → chunk-LVUCBY7X.js} +2 -2
- package/dist/{chunk-TIIPYB2Z.js → chunk-QZJM3RYI.js} +1 -1
- package/dist/{chunk-OD7GWIZS.js → chunk-SGXXJE52.js} +1 -121
- package/dist/{chunk-7YQKVWSD.js → chunk-SQ5JGELM.js} +25 -5
- package/dist/{chunk-R7OJCNL3.js → chunk-T6INEVX6.js} +1 -1
- package/dist/{chunk-RX4UWZZR.js → chunk-TKAYX2SP.js} +8 -3
- package/dist/{chunk-CTTY6FUT.js → chunk-TSSKOQBX.js} +2 -2
- package/dist/{chunk-GTYUP7MB.js → chunk-WWJ6S2HQ.js} +10 -22
- package/dist/{chunk-Q5HC6ENG.js → chunk-XOTJNW4Q.js} +1 -1
- package/dist/{chunk-BHR7IV72.js → chunk-XUYBOO32.js} +1 -1
- package/dist/{chunk-M7W7CGPL.js → chunk-Z6FAH4XV.js} +1 -1
- package/dist/{chunk-Q4QJOSVS.js → chunk-ZBCTB5CA.js} +1 -1
- package/dist/components/index.css +85 -85
- package/dist/components/index.d.ts +970 -746
- package/dist/components/index.js +246 -39
- package/dist/components/navigation/index.css +589 -0
- package/dist/components/navigation/index.d.ts +1 -13
- package/dist/components/navigation/index.js +11 -1
- package/dist/execution/index.d.ts +27 -0
- package/dist/features/auth/index.css +2 -2
- package/dist/features/auth/index.d.ts +184 -3
- package/dist/features/crm/index.css +2 -2
- package/dist/features/crm/index.d.ts +201 -38
- package/dist/features/crm/index.js +15 -14
- package/dist/features/dashboard/index.css +2 -2
- package/dist/features/dashboard/index.d.ts +25 -27
- package/dist/features/dashboard/index.js +15 -14
- package/dist/features/delivery/index.css +85 -85
- package/dist/features/delivery/index.d.ts +201 -38
- package/dist/features/delivery/index.js +15 -14
- package/dist/features/lead-gen/index.css +2 -2
- package/dist/features/lead-gen/index.d.ts +19 -37
- package/dist/features/lead-gen/index.js +15 -14
- package/dist/features/monitoring/index.css +85 -85
- package/dist/features/monitoring/index.d.ts +18 -36
- package/dist/features/monitoring/index.js +17 -16
- package/dist/features/monitoring/requests/index.css +2 -2
- package/dist/features/monitoring/requests/index.d.ts +18 -36
- package/dist/features/monitoring/requests/index.js +15 -14
- package/dist/features/operations/index.css +2 -2
- package/dist/features/operations/index.d.ts +49 -67
- package/dist/features/operations/index.js +18 -17
- package/dist/features/seo/index.d.ts +17 -35
- package/dist/features/seo/index.js +1 -1
- package/dist/features/settings/index.css +2 -2
- package/dist/features/settings/index.d.ts +222 -44
- package/dist/features/settings/index.js +16 -15
- package/dist/graph/index.css +2 -2
- package/dist/hooks/delivery/index.css +2 -2
- package/dist/hooks/delivery/index.d.ts +184 -3
- package/dist/hooks/delivery/index.js +2 -2
- package/dist/hooks/index.css +85 -85
- package/dist/hooks/index.d.ts +1862 -1582
- package/dist/hooks/index.js +13 -12
- package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +92 -121
- package/dist/hooks/published.css +85 -85
- package/dist/hooks/published.d.ts +1862 -1582
- package/dist/hooks/published.js +13 -12
- package/dist/index.css +12 -12
- package/dist/index.d.ts +689 -470
- package/dist/index.js +14 -13
- package/dist/initialization/index.d.ts +184 -3
- package/dist/layout/index.js +2 -2
- package/dist/organization/index.css +589 -0
- package/dist/organization/index.js +1 -1
- package/dist/profile/index.d.ts +184 -3
- package/dist/provider/index.css +384 -0
- package/dist/provider/index.d.ts +68 -125
- package/dist/provider/index.js +11 -10
- package/dist/provider/published.css +463 -0
- package/dist/provider/published.d.ts +68 -125
- package/dist/provider/published.js +8 -7
- package/dist/supabase/index.d.ts +359 -6
- package/dist/test-utils/index.d.ts +46 -2
- package/dist/test-utils/index.js +104 -3
- package/dist/theme/index.js +2 -2
- package/dist/types/index.d.ts +303 -141
- package/dist/utils/index.d.ts +26 -59
- package/dist/utils/index.js +1 -1
- package/package.json +4 -4
- package/dist/chunk-LR5CRY5A.js +0 -514
- package/dist/chunk-MG3NF7QL.js +0 -63
- /package/dist/{chunk-6GUW5GGF.js → chunk-6Z3G4U2R.js} +0 -0
|
@@ -1,552 +1,164 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { MantineSpacing, MantineColor, MantineLoaderComponent, BadgeProps } from '@mantine/core';
|
|
3
2
|
import * as React$1 from 'react';
|
|
4
|
-
import React__default, {
|
|
3
|
+
import React__default, { ReactNode, ComponentType, CSSProperties, ReactElement } from 'react';
|
|
4
|
+
import { MantineSpacing, MantineColor, MantineLoaderComponent, BadgeProps } from '@mantine/core';
|
|
5
5
|
import { Icon, IconCheck } from '@tabler/icons-react';
|
|
6
6
|
import { Components } from 'react-markdown';
|
|
7
|
-
import { UseFormReturnType } from '@mantine/form';
|
|
8
7
|
import { z } from 'zod';
|
|
8
|
+
import { UseFormReturnType } from '@mantine/form';
|
|
9
9
|
import { NodeProps, Node, EdgeProps, Edge } from '@xyflow/react';
|
|
10
10
|
export { default as graphStyles } from '../graph/Graph.module.css';
|
|
11
11
|
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
12
12
|
|
|
13
|
-
interface EmptyStateProps {
|
|
14
|
-
/** Icon component to display (e.g., IconKey from @tabler/icons-react) */
|
|
15
|
-
icon: ComponentType<{
|
|
16
|
-
size: number;
|
|
17
|
-
style?: React.CSSProperties;
|
|
18
|
-
}>;
|
|
19
|
-
/** Main title text */
|
|
20
|
-
title: string;
|
|
21
|
-
/** Description text shown below title */
|
|
22
|
-
description?: string;
|
|
23
|
-
/** Optional action button */
|
|
24
|
-
action?: {
|
|
25
|
-
label: string;
|
|
26
|
-
onClick: () => void;
|
|
27
|
-
icon?: ReactNode;
|
|
28
|
-
};
|
|
29
|
-
/** Vertical padding - defaults to 'xl' */
|
|
30
|
-
py?: MantineSpacing;
|
|
31
|
-
}
|
|
32
13
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* Consolidates the Center + Stack + Icon + Text pattern used across:
|
|
36
|
-
* - ApiKeyList.tsx
|
|
37
|
-
* - CredentialList.tsx
|
|
38
|
-
* - Various other list components
|
|
39
|
-
*
|
|
40
|
-
* @example
|
|
41
|
-
* ```tsx
|
|
42
|
-
* <EmptyState
|
|
43
|
-
* icon={IconKey}
|
|
44
|
-
* title="No API keys yet"
|
|
45
|
-
* description="Create your first API key to enable external integrations"
|
|
46
|
-
* action={{ label: "Create API Key", onClick: handleCreate }}
|
|
47
|
-
* />
|
|
48
|
-
* ```
|
|
14
|
+
* Workflow-specific logging types and utilities
|
|
49
15
|
*/
|
|
50
|
-
declare function EmptyState({ icon: Icon, title, description, action, py }: EmptyStateProps): react_jsx_runtime.JSX.Element;
|
|
51
16
|
|
|
52
|
-
interface
|
|
53
|
-
|
|
54
|
-
|
|
17
|
+
interface WorkflowExecutionContext {
|
|
18
|
+
type: 'workflow';
|
|
19
|
+
contextType: 'workflow-execution';
|
|
20
|
+
executionId: string;
|
|
21
|
+
workflowId: string;
|
|
22
|
+
workflowName?: string;
|
|
23
|
+
organizationId: string;
|
|
24
|
+
executionPath?: string[];
|
|
25
|
+
}
|
|
26
|
+
interface WorkflowFailureContext {
|
|
27
|
+
type: 'workflow';
|
|
28
|
+
contextType: 'workflow-failure';
|
|
29
|
+
executionId: string;
|
|
30
|
+
workflowId: string;
|
|
31
|
+
error: string;
|
|
32
|
+
}
|
|
33
|
+
interface StepStartedContext {
|
|
34
|
+
type: 'workflow';
|
|
35
|
+
contextType: 'step-started';
|
|
36
|
+
stepId: string;
|
|
37
|
+
stepStatus: 'started';
|
|
38
|
+
input: unknown;
|
|
39
|
+
startTime: number;
|
|
40
|
+
}
|
|
41
|
+
interface StepCompletedContext {
|
|
42
|
+
type: 'workflow';
|
|
43
|
+
contextType: 'step-completed';
|
|
44
|
+
stepId: string;
|
|
45
|
+
stepStatus: 'completed';
|
|
46
|
+
output: unknown;
|
|
47
|
+
duration: number;
|
|
48
|
+
isTerminal: boolean;
|
|
49
|
+
startTime: number;
|
|
50
|
+
endTime: number;
|
|
51
|
+
}
|
|
52
|
+
interface StepFailedContext {
|
|
53
|
+
type: 'workflow';
|
|
54
|
+
contextType: 'step-failed';
|
|
55
|
+
stepId: string;
|
|
56
|
+
stepStatus: 'failed';
|
|
57
|
+
error: string;
|
|
58
|
+
duration: number;
|
|
59
|
+
startTime: number;
|
|
60
|
+
endTime: number;
|
|
61
|
+
}
|
|
62
|
+
interface ConditionalRouteContext {
|
|
63
|
+
type: 'workflow';
|
|
64
|
+
contextType: 'conditional-route';
|
|
65
|
+
stepId: string;
|
|
66
|
+
target: string;
|
|
67
|
+
error?: string;
|
|
68
|
+
}
|
|
69
|
+
interface ExecutionPathContext {
|
|
70
|
+
type: 'workflow';
|
|
71
|
+
contextType: 'execution-path';
|
|
72
|
+
executionPath: string[];
|
|
73
|
+
}
|
|
74
|
+
type WorkflowLogContext = WorkflowExecutionContext | WorkflowFailureContext | StepStartedContext | StepCompletedContext | StepFailedContext | ConditionalRouteContext | ExecutionPathContext;
|
|
75
|
+
interface WorkflowLogMessage {
|
|
76
|
+
level: ExecutionLogLevel;
|
|
77
|
+
message: string;
|
|
78
|
+
timestamp: number;
|
|
79
|
+
context?: WorkflowLogContext;
|
|
55
80
|
}
|
|
81
|
+
|
|
56
82
|
/**
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
83
|
+
* Agent-specific logging types
|
|
84
|
+
* Simplified 2-event model: lifecycle, iteration
|
|
85
|
+
*
|
|
86
|
+
* Design Philosophy:
|
|
87
|
+
* - LIFECYCLE EVENTS: Structural checkpoints (initialization, iteration, completion)
|
|
88
|
+
* - ITERATION EVENTS: Execution activities (reasoning, actions during iterations)
|
|
60
89
|
*/
|
|
61
|
-
declare function TabCountBadge({ count, isLoading }: TabCountBadgeProps): react_jsx_runtime.JSX.Element;
|
|
62
90
|
|
|
63
91
|
/**
|
|
64
|
-
*
|
|
65
|
-
*
|
|
92
|
+
* Agent lifecycle stages
|
|
93
|
+
* Universal checkpoints that apply to all agent executions
|
|
66
94
|
*/
|
|
67
|
-
|
|
68
|
-
/** Current value */
|
|
69
|
-
current: number;
|
|
70
|
-
/** Previous value to compare against */
|
|
71
|
-
previous: number;
|
|
72
|
-
/** Optional formatter for the value (not used in display but kept for API compatibility) */
|
|
73
|
-
formatter?: (value: number) => string;
|
|
74
|
-
/** If true, negative change is considered positive (e.g., for costs) */
|
|
75
|
-
inverse?: boolean;
|
|
76
|
-
}
|
|
95
|
+
type AgentLifecycle = 'initialization' | 'iteration' | 'completion';
|
|
77
96
|
/**
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
* @example
|
|
81
|
-
* // Positive trend (green when going up)
|
|
82
|
-
* <TrendIndicator current={100} previous={80} />
|
|
83
|
-
*
|
|
84
|
-
* @example
|
|
85
|
-
* // Inverse trend (green when going down, useful for costs)
|
|
86
|
-
* <TrendIndicator current={100} previous={120} inverse />
|
|
97
|
+
* Iteration event types
|
|
98
|
+
* Activities that occur during agent iterations
|
|
87
99
|
*/
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
maxHeight?: number;
|
|
100
|
+
type IterationEventType = 'reasoning' | 'action' | 'tool-call';
|
|
101
|
+
/**
|
|
102
|
+
* Base fields shared by all lifecycle events
|
|
103
|
+
*/
|
|
104
|
+
interface AgentLifecycleEventBase {
|
|
105
|
+
type: 'agent';
|
|
106
|
+
agentId: string;
|
|
107
|
+
lifecycle: AgentLifecycle;
|
|
108
|
+
sessionId?: string;
|
|
98
109
|
}
|
|
99
110
|
/**
|
|
100
|
-
*
|
|
101
|
-
*
|
|
111
|
+
* Lifecycle started event - emitted when a phase begins
|
|
112
|
+
* REQUIRED: startTime (phase has started, no end yet)
|
|
102
113
|
*/
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
caption?: string;
|
|
108
|
-
rightSection?: ReactNode;
|
|
114
|
+
interface AgentLifecycleStartedEvent extends AgentLifecycleEventBase {
|
|
115
|
+
stage: 'started';
|
|
116
|
+
startTime: number;
|
|
117
|
+
iteration?: number;
|
|
109
118
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
+
/**
|
|
120
|
+
* Lifecycle completed event - emitted when a phase succeeds
|
|
121
|
+
* REQUIRED: startTime, endTime, duration (phase has finished successfully)
|
|
122
|
+
*/
|
|
123
|
+
interface AgentLifecycleCompletedEvent extends AgentLifecycleEventBase {
|
|
124
|
+
stage: 'completed';
|
|
125
|
+
startTime: number;
|
|
126
|
+
endTime: number;
|
|
127
|
+
duration: number;
|
|
128
|
+
iteration?: number;
|
|
129
|
+
attempts?: number;
|
|
130
|
+
memorySize?: {
|
|
131
|
+
sessionMemoryKeys: number;
|
|
132
|
+
historyEntries: number;
|
|
133
|
+
};
|
|
119
134
|
}
|
|
120
135
|
/**
|
|
121
|
-
*
|
|
122
|
-
*
|
|
123
|
-
* Used across:
|
|
124
|
-
* - ExecutionHealthCard.tsx
|
|
125
|
-
* - CostMetricsCard.tsx
|
|
126
|
-
* - ThroughputCard.tsx
|
|
127
|
-
* - BusinessImpactCard.tsx
|
|
136
|
+
* Lifecycle failed event - emitted when a phase fails
|
|
137
|
+
* REQUIRED: startTime, endTime, duration, error (phase has finished with error)
|
|
128
138
|
*/
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
139
|
+
interface AgentLifecycleFailedEvent extends AgentLifecycleEventBase {
|
|
140
|
+
stage: 'failed';
|
|
141
|
+
startTime: number;
|
|
142
|
+
endTime: number;
|
|
143
|
+
duration: number;
|
|
144
|
+
error: string;
|
|
145
|
+
iteration?: number;
|
|
135
146
|
}
|
|
136
147
|
/**
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
* Used across:
|
|
140
|
-
* - ApiKeyList.tsx
|
|
141
|
-
* - CredentialList.tsx
|
|
142
|
-
* - DeploymentList.tsx
|
|
143
|
-
* - WebhookEndpointList.tsx
|
|
148
|
+
* Union type for all lifecycle events
|
|
149
|
+
* Discriminated by 'stage' field for type narrowing
|
|
144
150
|
*/
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
151
|
+
type AgentLifecycleEvent = AgentLifecycleStartedEvent | AgentLifecycleCompletedEvent | AgentLifecycleFailedEvent;
|
|
152
|
+
/**
|
|
153
|
+
* Placeholder data for MVP
|
|
154
|
+
* Will be typed per actionType in future
|
|
155
|
+
*/
|
|
156
|
+
interface ActionPlaceholderData {
|
|
157
|
+
message: string;
|
|
149
158
|
}
|
|
150
159
|
/**
|
|
151
|
-
*
|
|
152
|
-
*
|
|
153
|
-
* Used for cards like CostBreakdownCard
|
|
154
|
-
*/
|
|
155
|
-
declare function DetailCardSkeleton({ rows }: DetailCardSkeletonProps): react_jsx_runtime.JSX.Element;
|
|
156
|
-
|
|
157
|
-
interface NavigationButtonProps {
|
|
158
|
-
/** Icon component to display */
|
|
159
|
-
icon: React__default.ComponentType<{
|
|
160
|
-
size?: number;
|
|
161
|
-
stroke?: number;
|
|
162
|
-
}>;
|
|
163
|
-
/** Button label text */
|
|
164
|
-
label: string;
|
|
165
|
-
/** Whether the button is in collapsed state (hides text) */
|
|
166
|
-
isCollapsed?: boolean;
|
|
167
|
-
/** Whether this button has sub-items/links */
|
|
168
|
-
hasSubItems?: boolean;
|
|
169
|
-
/** Whether sub-items are expanded (controls chevron rotation) */
|
|
170
|
-
isExpanded?: boolean;
|
|
171
|
-
/** Whether the icon and text should be styled as active */
|
|
172
|
-
isActive?: boolean;
|
|
173
|
-
/** Whether the background should be styled as active */
|
|
174
|
-
hasActiveBackground?: boolean;
|
|
175
|
-
/** Click handler */
|
|
176
|
-
onClick?: () => void;
|
|
177
|
-
/** Additional styles for the button container */
|
|
178
|
-
style?: React__default.CSSProperties;
|
|
179
|
-
/** Custom transition duration in ms */
|
|
180
|
-
transitionDuration?: number;
|
|
181
|
-
}
|
|
182
|
-
declare const NavigationButton: React__default.FC<NavigationButtonProps>;
|
|
183
|
-
|
|
184
|
-
interface CustomSelectorProps {
|
|
185
|
-
value: string | null;
|
|
186
|
-
onChange: (value: string | null) => void;
|
|
187
|
-
data: {
|
|
188
|
-
value: string;
|
|
189
|
-
label: string;
|
|
190
|
-
}[] | readonly {
|
|
191
|
-
value: string;
|
|
192
|
-
label: string;
|
|
193
|
-
}[];
|
|
194
|
-
leftSection?: ReactNode;
|
|
195
|
-
placeholder?: string;
|
|
196
|
-
w?: number | string;
|
|
197
|
-
withCheckIcon?: boolean;
|
|
198
|
-
disabled?: boolean;
|
|
199
|
-
}
|
|
200
|
-
declare function CustomSelector({ value, onChange, data, leftSection, placeholder, w, withCheckIcon, disabled }: CustomSelectorProps): react_jsx_runtime.JSX.Element;
|
|
201
|
-
|
|
202
|
-
interface APIErrorAlertProps {
|
|
203
|
-
/**
|
|
204
|
-
* The error to display. Can be an APIClientError, generic Error, or any unknown value.
|
|
205
|
-
*/
|
|
206
|
-
error: unknown;
|
|
207
|
-
/**
|
|
208
|
-
* Optional title override. If not provided, uses getErrorTitle() based on error code.
|
|
209
|
-
*/
|
|
210
|
-
title?: string;
|
|
211
|
-
/**
|
|
212
|
-
* Whether to show the request ID (if available). Defaults to true.
|
|
213
|
-
*/
|
|
214
|
-
showRequestId?: boolean;
|
|
215
|
-
/**
|
|
216
|
-
* Optional custom icon. Defaults to IconAlertCircle.
|
|
217
|
-
*/
|
|
218
|
-
icon?: React.ReactNode;
|
|
219
|
-
/**
|
|
220
|
-
* Alert color. Defaults to 'red'.
|
|
221
|
-
*/
|
|
222
|
-
color?: string;
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Alert component for displaying API errors with type-safe error handling.
|
|
226
|
-
*
|
|
227
|
-
* Automatically extracts error message, code, and request ID from APIClientError
|
|
228
|
-
* or falls back to generic Error handling.
|
|
229
|
-
*
|
|
230
|
-
* @example
|
|
231
|
-
* ```tsx
|
|
232
|
-
* const { data, error } = useQuery(...)
|
|
233
|
-
*
|
|
234
|
-
* if (error) {
|
|
235
|
-
* return <APIErrorAlert error={error} />
|
|
236
|
-
* }
|
|
237
|
-
* ```
|
|
238
|
-
*
|
|
239
|
-
* @example With custom title
|
|
240
|
-
* ```tsx
|
|
241
|
-
* <APIErrorAlert
|
|
242
|
-
* error={error}
|
|
243
|
-
* title="Failed to load resources"
|
|
244
|
-
* />
|
|
245
|
-
* ```
|
|
246
|
-
*
|
|
247
|
-
* @example Without request ID
|
|
248
|
-
* ```tsx
|
|
249
|
-
* <APIErrorAlert
|
|
250
|
-
* error={error}
|
|
251
|
-
* showRequestId={false}
|
|
252
|
-
* />
|
|
253
|
-
* ```
|
|
254
|
-
*/
|
|
255
|
-
declare function APIErrorAlert({ error, title, showRequestId, icon, color }: APIErrorAlertProps): react_jsx_runtime.JSX.Element;
|
|
256
|
-
|
|
257
|
-
interface CenteredErrorStateProps {
|
|
258
|
-
error: unknown;
|
|
259
|
-
title?: string;
|
|
260
|
-
/** Minimum height of the centering container. Defaults to 300. */
|
|
261
|
-
h?: number | string;
|
|
262
|
-
/** Vertical padding (used when h is not set). */
|
|
263
|
-
py?: MantineSpacing;
|
|
264
|
-
}
|
|
265
|
-
/**
|
|
266
|
-
* CenteredErrorState - Displays an error centered inside its container.
|
|
267
|
-
*
|
|
268
|
-
* The caller is responsible for providing the container (e.g. `<Paper withBorder>`).
|
|
269
|
-
* This component only handles centering + rendering the error alert.
|
|
270
|
-
*
|
|
271
|
-
* @example
|
|
272
|
-
* ```tsx
|
|
273
|
-
* if (error) {
|
|
274
|
-
* return (
|
|
275
|
-
* <Paper withBorder>
|
|
276
|
-
* <CenteredErrorState error={error} title="Failed to load trends" />
|
|
277
|
-
* </Paper>
|
|
278
|
-
* )
|
|
279
|
-
* }
|
|
280
|
-
* ```
|
|
281
|
-
*/
|
|
282
|
-
declare function CenteredErrorState({ error, title, h, py }: CenteredErrorStateProps): react_jsx_runtime.JSX.Element;
|
|
283
|
-
|
|
284
|
-
interface StatCardBaseProps {
|
|
285
|
-
/** The label/description text */
|
|
286
|
-
label: string;
|
|
287
|
-
/** The value to display (number or formatted string) */
|
|
288
|
-
value: string | number;
|
|
289
|
-
/** Tabler icon component */
|
|
290
|
-
icon: Icon;
|
|
291
|
-
/** Optional extra content rendered below the label */
|
|
292
|
-
children?: ReactNode;
|
|
293
|
-
}
|
|
294
|
-
interface StatCardDefaultProps extends StatCardBaseProps {
|
|
295
|
-
variant?: 'default';
|
|
296
|
-
/** Theme color for the icon (defaults to theme primary) */
|
|
297
|
-
color?: MantineColor;
|
|
298
|
-
isLoading?: never;
|
|
299
|
-
valueColor?: never;
|
|
300
|
-
}
|
|
301
|
-
interface StatCardHeroProps extends StatCardBaseProps {
|
|
302
|
-
variant: 'hero';
|
|
303
|
-
/** Whether data is loading */
|
|
304
|
-
isLoading?: boolean;
|
|
305
|
-
/** Custom color for the value text */
|
|
306
|
-
valueColor?: string;
|
|
307
|
-
/** Card sizing — 'sm' (default) for compact layouts, 'md' for spacious layouts */
|
|
308
|
-
size?: 'sm' | 'md';
|
|
309
|
-
color?: never;
|
|
310
|
-
}
|
|
311
|
-
type StatCardProps = StatCardDefaultProps | StatCardHeroProps;
|
|
312
|
-
/**
|
|
313
|
-
* StatCard - Stat display card with icon, label, and value.
|
|
314
|
-
*
|
|
315
|
-
* Supports two variants:
|
|
316
|
-
* - `default`: Compact card with ThemeIcon (used in admin overviews)
|
|
317
|
-
* - `hero`: Glass card with glowing icon ring (used on dashboards)
|
|
318
|
-
*
|
|
319
|
-
* @example
|
|
320
|
-
* ```tsx
|
|
321
|
-
* // Default variant
|
|
322
|
-
* <StatCard label="Total Executions" value={150} icon={IconPlayerPlay} color="blue" />
|
|
323
|
-
*
|
|
324
|
-
* // Hero variant
|
|
325
|
-
* <StatCard variant="hero" label="Executions" value={43} icon={IconPlayerPlay} isLoading={false} />
|
|
326
|
-
* ```
|
|
327
|
-
*/
|
|
328
|
-
declare function StatCard(props: StatCardProps): react_jsx_runtime.JSX.Element;
|
|
329
|
-
/**
|
|
330
|
-
* StatCardSkeleton - Loading skeleton for StatCard (default variant)
|
|
331
|
-
*/
|
|
332
|
-
declare function StatCardSkeleton(): react_jsx_runtime.JSX.Element;
|
|
333
|
-
|
|
334
|
-
interface StyledMarkdownProps {
|
|
335
|
-
/** Markdown content to render */
|
|
336
|
-
children: string;
|
|
337
|
-
/** Custom component overrides */
|
|
338
|
-
components?: Partial<Components>;
|
|
339
|
-
/** Additional class name */
|
|
340
|
-
className?: string;
|
|
341
|
-
/** Inline styles for the wrapper div */
|
|
342
|
-
style?: React.CSSProperties;
|
|
343
|
-
}
|
|
344
|
-
/**
|
|
345
|
-
* Styled markdown renderer with Mantine components and syntax highlighting
|
|
346
|
-
*
|
|
347
|
-
* Features:
|
|
348
|
-
* - Colored headings using theme primary color
|
|
349
|
-
* - Syntax-highlighted code blocks (oneDark theme, no token backgrounds)
|
|
350
|
-
* - Styled inline code with Mantine Code component
|
|
351
|
-
* - Styled blockquotes with left border
|
|
352
|
-
* - Proper list styling
|
|
353
|
-
*
|
|
354
|
-
* @example
|
|
355
|
-
* ```tsx
|
|
356
|
-
* import { StyledMarkdown } from '@repo/ui'
|
|
357
|
-
*
|
|
358
|
-
* <StyledMarkdown>{markdownContent}</StyledMarkdown>
|
|
359
|
-
* ```
|
|
360
|
-
*/
|
|
361
|
-
declare function StyledMarkdown({ children, components, className, style }: StyledMarkdownProps): react_jsx_runtime.JSX.Element;
|
|
362
|
-
|
|
363
|
-
interface JsonViewerProps {
|
|
364
|
-
/** JSON data to display (will be stringified) or pre-formatted JSON string */
|
|
365
|
-
data: unknown;
|
|
366
|
-
/** Maximum height with scroll (e.g., '300px'). If not set, expands to content */
|
|
367
|
-
maxHeight?: string | number;
|
|
368
|
-
/** Font size override */
|
|
369
|
-
fontSize?: string | number;
|
|
370
|
-
}
|
|
371
|
-
/**
|
|
372
|
-
* Syntax-highlighted JSON viewer component
|
|
373
|
-
*
|
|
374
|
-
* @example
|
|
375
|
-
* ```tsx
|
|
376
|
-
* import { JsonViewer } from '@repo/ui'
|
|
377
|
-
*
|
|
378
|
-
* <JsonViewer data={{ foo: 'bar', count: 42 }} />
|
|
379
|
-
* <JsonViewer data={apiResponse} maxHeight={300} />
|
|
380
|
-
* ```
|
|
381
|
-
*/
|
|
382
|
-
declare function JsonViewer({ data, maxHeight, fontSize }: JsonViewerProps): react_jsx_runtime.JSX.Element;
|
|
383
|
-
|
|
384
|
-
interface ContextViewerProps {
|
|
385
|
-
/** Any JSON-serializable data to display in a human-readable format */
|
|
386
|
-
data: unknown;
|
|
387
|
-
}
|
|
388
|
-
/**
|
|
389
|
-
* Auto-formats any JSON context into a human-readable layout.
|
|
390
|
-
*
|
|
391
|
-
* - Strings → rendered as markdown (supports formatting, lists, tables)
|
|
392
|
-
* - Flat key-value objects → labeled field list
|
|
393
|
-
* - Nested objects → indented subsections with left border
|
|
394
|
-
* - Arrays → bulleted lists or bordered cards
|
|
395
|
-
* - null/undefined/boolean/number → inline text
|
|
396
|
-
*
|
|
397
|
-
* No display configuration needed — the component infers layout from data shape.
|
|
398
|
-
*/
|
|
399
|
-
declare function ContextViewer({ data }: ContextViewerProps): react_jsx_runtime.JSX.Element;
|
|
400
|
-
|
|
401
|
-
/**
|
|
402
|
-
* Workflow-specific logging types and utilities
|
|
403
|
-
*/
|
|
404
|
-
|
|
405
|
-
interface WorkflowExecutionContext {
|
|
406
|
-
type: 'workflow';
|
|
407
|
-
contextType: 'workflow-execution';
|
|
408
|
-
executionId: string;
|
|
409
|
-
workflowId: string;
|
|
410
|
-
workflowName?: string;
|
|
411
|
-
organizationId: string;
|
|
412
|
-
executionPath?: string[];
|
|
413
|
-
}
|
|
414
|
-
interface WorkflowFailureContext {
|
|
415
|
-
type: 'workflow';
|
|
416
|
-
contextType: 'workflow-failure';
|
|
417
|
-
executionId: string;
|
|
418
|
-
workflowId: string;
|
|
419
|
-
error: string;
|
|
420
|
-
}
|
|
421
|
-
interface StepStartedContext {
|
|
422
|
-
type: 'workflow';
|
|
423
|
-
contextType: 'step-started';
|
|
424
|
-
stepId: string;
|
|
425
|
-
stepStatus: 'started';
|
|
426
|
-
input: unknown;
|
|
427
|
-
startTime: number;
|
|
428
|
-
}
|
|
429
|
-
interface StepCompletedContext {
|
|
430
|
-
type: 'workflow';
|
|
431
|
-
contextType: 'step-completed';
|
|
432
|
-
stepId: string;
|
|
433
|
-
stepStatus: 'completed';
|
|
434
|
-
output: unknown;
|
|
435
|
-
duration: number;
|
|
436
|
-
isTerminal: boolean;
|
|
437
|
-
startTime: number;
|
|
438
|
-
endTime: number;
|
|
439
|
-
}
|
|
440
|
-
interface StepFailedContext {
|
|
441
|
-
type: 'workflow';
|
|
442
|
-
contextType: 'step-failed';
|
|
443
|
-
stepId: string;
|
|
444
|
-
stepStatus: 'failed';
|
|
445
|
-
error: string;
|
|
446
|
-
duration: number;
|
|
447
|
-
startTime: number;
|
|
448
|
-
endTime: number;
|
|
449
|
-
}
|
|
450
|
-
interface ConditionalRouteContext {
|
|
451
|
-
type: 'workflow';
|
|
452
|
-
contextType: 'conditional-route';
|
|
453
|
-
stepId: string;
|
|
454
|
-
target: string;
|
|
455
|
-
error?: string;
|
|
456
|
-
}
|
|
457
|
-
interface ExecutionPathContext {
|
|
458
|
-
type: 'workflow';
|
|
459
|
-
contextType: 'execution-path';
|
|
460
|
-
executionPath: string[];
|
|
461
|
-
}
|
|
462
|
-
type WorkflowLogContext = WorkflowExecutionContext | WorkflowFailureContext | StepStartedContext | StepCompletedContext | StepFailedContext | ConditionalRouteContext | ExecutionPathContext;
|
|
463
|
-
interface WorkflowLogMessage {
|
|
464
|
-
level: ExecutionLogLevel;
|
|
465
|
-
message: string;
|
|
466
|
-
timestamp: number;
|
|
467
|
-
context?: WorkflowLogContext;
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
/**
|
|
471
|
-
* Agent-specific logging types
|
|
472
|
-
* Simplified 2-event model: lifecycle, iteration
|
|
473
|
-
*
|
|
474
|
-
* Design Philosophy:
|
|
475
|
-
* - LIFECYCLE EVENTS: Structural checkpoints (initialization, iteration, completion)
|
|
476
|
-
* - ITERATION EVENTS: Execution activities (reasoning, actions during iterations)
|
|
477
|
-
*/
|
|
478
|
-
|
|
479
|
-
/**
|
|
480
|
-
* Agent lifecycle stages
|
|
481
|
-
* Universal checkpoints that apply to all agent executions
|
|
482
|
-
*/
|
|
483
|
-
type AgentLifecycle = 'initialization' | 'iteration' | 'completion';
|
|
484
|
-
/**
|
|
485
|
-
* Iteration event types
|
|
486
|
-
* Activities that occur during agent iterations
|
|
487
|
-
*/
|
|
488
|
-
type IterationEventType = 'reasoning' | 'action' | 'tool-call';
|
|
489
|
-
/**
|
|
490
|
-
* Base fields shared by all lifecycle events
|
|
491
|
-
*/
|
|
492
|
-
interface AgentLifecycleEventBase {
|
|
493
|
-
type: 'agent';
|
|
494
|
-
agentId: string;
|
|
495
|
-
lifecycle: AgentLifecycle;
|
|
496
|
-
sessionId?: string;
|
|
497
|
-
}
|
|
498
|
-
/**
|
|
499
|
-
* Lifecycle started event - emitted when a phase begins
|
|
500
|
-
* REQUIRED: startTime (phase has started, no end yet)
|
|
501
|
-
*/
|
|
502
|
-
interface AgentLifecycleStartedEvent extends AgentLifecycleEventBase {
|
|
503
|
-
stage: 'started';
|
|
504
|
-
startTime: number;
|
|
505
|
-
iteration?: number;
|
|
506
|
-
}
|
|
507
|
-
/**
|
|
508
|
-
* Lifecycle completed event - emitted when a phase succeeds
|
|
509
|
-
* REQUIRED: startTime, endTime, duration (phase has finished successfully)
|
|
510
|
-
*/
|
|
511
|
-
interface AgentLifecycleCompletedEvent extends AgentLifecycleEventBase {
|
|
512
|
-
stage: 'completed';
|
|
513
|
-
startTime: number;
|
|
514
|
-
endTime: number;
|
|
515
|
-
duration: number;
|
|
516
|
-
iteration?: number;
|
|
517
|
-
attempts?: number;
|
|
518
|
-
memorySize?: {
|
|
519
|
-
sessionMemoryKeys: number;
|
|
520
|
-
historyEntries: number;
|
|
521
|
-
};
|
|
522
|
-
}
|
|
523
|
-
/**
|
|
524
|
-
* Lifecycle failed event - emitted when a phase fails
|
|
525
|
-
* REQUIRED: startTime, endTime, duration, error (phase has finished with error)
|
|
526
|
-
*/
|
|
527
|
-
interface AgentLifecycleFailedEvent extends AgentLifecycleEventBase {
|
|
528
|
-
stage: 'failed';
|
|
529
|
-
startTime: number;
|
|
530
|
-
endTime: number;
|
|
531
|
-
duration: number;
|
|
532
|
-
error: string;
|
|
533
|
-
iteration?: number;
|
|
534
|
-
}
|
|
535
|
-
/**
|
|
536
|
-
* Union type for all lifecycle events
|
|
537
|
-
* Discriminated by 'stage' field for type narrowing
|
|
538
|
-
*/
|
|
539
|
-
type AgentLifecycleEvent = AgentLifecycleStartedEvent | AgentLifecycleCompletedEvent | AgentLifecycleFailedEvent;
|
|
540
|
-
/**
|
|
541
|
-
* Placeholder data for MVP
|
|
542
|
-
* Will be typed per actionType in future
|
|
543
|
-
*/
|
|
544
|
-
interface ActionPlaceholderData {
|
|
545
|
-
message: string;
|
|
546
|
-
}
|
|
547
|
-
/**
|
|
548
|
-
* Iteration event - captures activities during agent iterations
|
|
549
|
-
* Consolidates reasoning (LLM thought process) and actions (tool use, memory ops, etc.)
|
|
160
|
+
* Iteration event - captures activities during agent iterations
|
|
161
|
+
* Consolidates reasoning (LLM thought process) and actions (tool use, memory ops, etc.)
|
|
550
162
|
*/
|
|
551
163
|
interface AgentIterationEvent {
|
|
552
164
|
type: 'agent';
|
|
@@ -731,6 +343,8 @@ interface SerializedAgentDefinition {
|
|
|
731
343
|
version: string;
|
|
732
344
|
type: 'agent';
|
|
733
345
|
status: 'dev' | 'prod';
|
|
346
|
+
links?: ResourceLink[];
|
|
347
|
+
category?: ResourceCategory;
|
|
734
348
|
/** Whether this resource is archived and should be excluded from registration and deployment */
|
|
735
349
|
archived?: boolean;
|
|
736
350
|
systemPrompt: string;
|
|
@@ -786,6 +400,8 @@ interface SerializedWorkflowDefinition {
|
|
|
786
400
|
version: string;
|
|
787
401
|
type: 'workflow';
|
|
788
402
|
status: 'dev' | 'prod';
|
|
403
|
+
links?: ResourceLink[];
|
|
404
|
+
category?: ResourceCategory;
|
|
789
405
|
/** Whether this resource is archived and should be excluded from registration and deployment */
|
|
790
406
|
archived?: boolean;
|
|
791
407
|
};
|
|
@@ -2551,6 +2167,7 @@ type Database = {
|
|
|
2551
2167
|
Row: {
|
|
2552
2168
|
config: Json;
|
|
2553
2169
|
created_at: string | null;
|
|
2170
|
+
effective_permissions: string[];
|
|
2554
2171
|
id: string;
|
|
2555
2172
|
membership_status: string | null;
|
|
2556
2173
|
organization_id: string;
|
|
@@ -2562,6 +2179,7 @@ type Database = {
|
|
|
2562
2179
|
Insert: {
|
|
2563
2180
|
config?: Json;
|
|
2564
2181
|
created_at?: string | null;
|
|
2182
|
+
effective_permissions?: string[];
|
|
2565
2183
|
id?: string;
|
|
2566
2184
|
membership_status?: string | null;
|
|
2567
2185
|
organization_id: string;
|
|
@@ -2573,6 +2191,7 @@ type Database = {
|
|
|
2573
2191
|
Update: {
|
|
2574
2192
|
config?: Json;
|
|
2575
2193
|
created_at?: string | null;
|
|
2194
|
+
effective_permissions?: string[];
|
|
2576
2195
|
id?: string;
|
|
2577
2196
|
membership_status?: string | null;
|
|
2578
2197
|
organization_id?: string;
|
|
@@ -2583,21 +2202,162 @@ type Database = {
|
|
|
2583
2202
|
};
|
|
2584
2203
|
Relationships: [
|
|
2585
2204
|
{
|
|
2586
|
-
foreignKeyName: "org_memberships_organization_id_fkey";
|
|
2205
|
+
foreignKeyName: "org_memberships_organization_id_fkey";
|
|
2206
|
+
columns: ["organization_id"];
|
|
2207
|
+
isOneToOne: false;
|
|
2208
|
+
referencedRelation: "organizations";
|
|
2209
|
+
referencedColumns: ["id"];
|
|
2210
|
+
},
|
|
2211
|
+
{
|
|
2212
|
+
foreignKeyName: "org_memberships_user_id_fkey";
|
|
2213
|
+
columns: ["user_id"];
|
|
2214
|
+
isOneToOne: false;
|
|
2215
|
+
referencedRelation: "users";
|
|
2216
|
+
referencedColumns: ["id"];
|
|
2217
|
+
}
|
|
2218
|
+
];
|
|
2219
|
+
};
|
|
2220
|
+
org_rol_assignments: {
|
|
2221
|
+
Row: {
|
|
2222
|
+
granted_at: string;
|
|
2223
|
+
granted_by: string | null;
|
|
2224
|
+
membership_id: string;
|
|
2225
|
+
role_id: string;
|
|
2226
|
+
};
|
|
2227
|
+
Insert: {
|
|
2228
|
+
granted_at?: string;
|
|
2229
|
+
granted_by?: string | null;
|
|
2230
|
+
membership_id: string;
|
|
2231
|
+
role_id: string;
|
|
2232
|
+
};
|
|
2233
|
+
Update: {
|
|
2234
|
+
granted_at?: string;
|
|
2235
|
+
granted_by?: string | null;
|
|
2236
|
+
membership_id?: string;
|
|
2237
|
+
role_id?: string;
|
|
2238
|
+
};
|
|
2239
|
+
Relationships: [
|
|
2240
|
+
{
|
|
2241
|
+
foreignKeyName: "org_rol_assignments_granted_by_fkey";
|
|
2242
|
+
columns: ["granted_by"];
|
|
2243
|
+
isOneToOne: false;
|
|
2244
|
+
referencedRelation: "users";
|
|
2245
|
+
referencedColumns: ["id"];
|
|
2246
|
+
},
|
|
2247
|
+
{
|
|
2248
|
+
foreignKeyName: "org_rol_assignments_membership_id_fkey";
|
|
2249
|
+
columns: ["membership_id"];
|
|
2250
|
+
isOneToOne: false;
|
|
2251
|
+
referencedRelation: "org_memberships";
|
|
2252
|
+
referencedColumns: ["id"];
|
|
2253
|
+
},
|
|
2254
|
+
{
|
|
2255
|
+
foreignKeyName: "org_rol_assignments_role_id_fkey";
|
|
2256
|
+
columns: ["role_id"];
|
|
2257
|
+
isOneToOne: false;
|
|
2258
|
+
referencedRelation: "org_rol_definitions";
|
|
2259
|
+
referencedColumns: ["id"];
|
|
2260
|
+
}
|
|
2261
|
+
];
|
|
2262
|
+
};
|
|
2263
|
+
org_rol_definitions: {
|
|
2264
|
+
Row: {
|
|
2265
|
+
created_at: string;
|
|
2266
|
+
description: string | null;
|
|
2267
|
+
id: string;
|
|
2268
|
+
is_system: boolean;
|
|
2269
|
+
name: string;
|
|
2270
|
+
organization_id: string | null;
|
|
2271
|
+
slug: string;
|
|
2272
|
+
updated_at: string;
|
|
2273
|
+
};
|
|
2274
|
+
Insert: {
|
|
2275
|
+
created_at?: string;
|
|
2276
|
+
description?: string | null;
|
|
2277
|
+
id?: string;
|
|
2278
|
+
is_system?: boolean;
|
|
2279
|
+
name: string;
|
|
2280
|
+
organization_id?: string | null;
|
|
2281
|
+
slug: string;
|
|
2282
|
+
updated_at?: string;
|
|
2283
|
+
};
|
|
2284
|
+
Update: {
|
|
2285
|
+
created_at?: string;
|
|
2286
|
+
description?: string | null;
|
|
2287
|
+
id?: string;
|
|
2288
|
+
is_system?: boolean;
|
|
2289
|
+
name?: string;
|
|
2290
|
+
organization_id?: string | null;
|
|
2291
|
+
slug?: string;
|
|
2292
|
+
updated_at?: string;
|
|
2293
|
+
};
|
|
2294
|
+
Relationships: [
|
|
2295
|
+
{
|
|
2296
|
+
foreignKeyName: "org_rol_definitions_organization_id_fkey";
|
|
2587
2297
|
columns: ["organization_id"];
|
|
2588
2298
|
isOneToOne: false;
|
|
2589
2299
|
referencedRelation: "organizations";
|
|
2590
2300
|
referencedColumns: ["id"];
|
|
2301
|
+
}
|
|
2302
|
+
];
|
|
2303
|
+
};
|
|
2304
|
+
org_rol_grants: {
|
|
2305
|
+
Row: {
|
|
2306
|
+
granted_at: string;
|
|
2307
|
+
permission_key: string;
|
|
2308
|
+
role_id: string;
|
|
2309
|
+
};
|
|
2310
|
+
Insert: {
|
|
2311
|
+
granted_at?: string;
|
|
2312
|
+
permission_key: string;
|
|
2313
|
+
role_id: string;
|
|
2314
|
+
};
|
|
2315
|
+
Update: {
|
|
2316
|
+
granted_at?: string;
|
|
2317
|
+
permission_key?: string;
|
|
2318
|
+
role_id?: string;
|
|
2319
|
+
};
|
|
2320
|
+
Relationships: [
|
|
2321
|
+
{
|
|
2322
|
+
foreignKeyName: "org_rol_grants_permission_key_fkey";
|
|
2323
|
+
columns: ["permission_key"];
|
|
2324
|
+
isOneToOne: false;
|
|
2325
|
+
referencedRelation: "org_rol_permissions";
|
|
2326
|
+
referencedColumns: ["key"];
|
|
2591
2327
|
},
|
|
2592
2328
|
{
|
|
2593
|
-
foreignKeyName: "
|
|
2594
|
-
columns: ["
|
|
2329
|
+
foreignKeyName: "org_rol_grants_role_id_fkey";
|
|
2330
|
+
columns: ["role_id"];
|
|
2595
2331
|
isOneToOne: false;
|
|
2596
|
-
referencedRelation: "
|
|
2332
|
+
referencedRelation: "org_rol_definitions";
|
|
2597
2333
|
referencedColumns: ["id"];
|
|
2598
2334
|
}
|
|
2599
2335
|
];
|
|
2600
2336
|
};
|
|
2337
|
+
org_rol_permissions: {
|
|
2338
|
+
Row: {
|
|
2339
|
+
created_at: string;
|
|
2340
|
+
description: string;
|
|
2341
|
+
is_org_grantable: boolean;
|
|
2342
|
+
key: string;
|
|
2343
|
+
updated_at: string;
|
|
2344
|
+
};
|
|
2345
|
+
Insert: {
|
|
2346
|
+
created_at?: string;
|
|
2347
|
+
description: string;
|
|
2348
|
+
is_org_grantable?: boolean;
|
|
2349
|
+
key: string;
|
|
2350
|
+
updated_at?: string;
|
|
2351
|
+
};
|
|
2352
|
+
Update: {
|
|
2353
|
+
created_at?: string;
|
|
2354
|
+
description?: string;
|
|
2355
|
+
is_org_grantable?: boolean;
|
|
2356
|
+
key?: string;
|
|
2357
|
+
updated_at?: string;
|
|
2358
|
+
};
|
|
2359
|
+
Relationships: [];
|
|
2360
|
+
};
|
|
2601
2361
|
organizations: {
|
|
2602
2362
|
Row: {
|
|
2603
2363
|
config: Json;
|
|
@@ -3355,7 +3115,8 @@ type Database = {
|
|
|
3355
3115
|
created_at: string;
|
|
3356
3116
|
description: string | null;
|
|
3357
3117
|
id: string;
|
|
3358
|
-
|
|
3118
|
+
key_hash: string;
|
|
3119
|
+
key_prefix: string | null;
|
|
3359
3120
|
last_triggered_at: string | null;
|
|
3360
3121
|
name: string;
|
|
3361
3122
|
organization_id: string;
|
|
@@ -3368,7 +3129,8 @@ type Database = {
|
|
|
3368
3129
|
created_at?: string;
|
|
3369
3130
|
description?: string | null;
|
|
3370
3131
|
id?: string;
|
|
3371
|
-
|
|
3132
|
+
key_hash: string;
|
|
3133
|
+
key_prefix?: string | null;
|
|
3372
3134
|
last_triggered_at?: string | null;
|
|
3373
3135
|
name: string;
|
|
3374
3136
|
organization_id: string;
|
|
@@ -3381,7 +3143,8 @@ type Database = {
|
|
|
3381
3143
|
created_at?: string;
|
|
3382
3144
|
description?: string | null;
|
|
3383
3145
|
id?: string;
|
|
3384
|
-
|
|
3146
|
+
key_hash?: string;
|
|
3147
|
+
key_prefix?: string | null;
|
|
3385
3148
|
last_triggered_at?: string | null;
|
|
3386
3149
|
name?: string;
|
|
3387
3150
|
organization_id?: string;
|
|
@@ -3427,6 +3190,13 @@ type Database = {
|
|
|
3427
3190
|
Args: never;
|
|
3428
3191
|
Returns: string;
|
|
3429
3192
|
};
|
|
3193
|
+
can_assign_role_in_org: {
|
|
3194
|
+
Args: {
|
|
3195
|
+
p_role_id: string;
|
|
3196
|
+
p_target_membership_id: string;
|
|
3197
|
+
};
|
|
3198
|
+
Returns: boolean;
|
|
3199
|
+
};
|
|
3430
3200
|
current_user_is_platform_admin: {
|
|
3431
3201
|
Args: never;
|
|
3432
3202
|
Returns: boolean;
|
|
@@ -3456,6 +3226,10 @@ type Database = {
|
|
|
3456
3226
|
user_id: string;
|
|
3457
3227
|
}[];
|
|
3458
3228
|
};
|
|
3229
|
+
get_platform_credential_kek: {
|
|
3230
|
+
Args: never;
|
|
3231
|
+
Returns: string;
|
|
3232
|
+
};
|
|
3459
3233
|
get_storage_org_id: {
|
|
3460
3234
|
Args: {
|
|
3461
3235
|
file_path: string;
|
|
@@ -3466,6 +3240,13 @@ type Database = {
|
|
|
3466
3240
|
Args: never;
|
|
3467
3241
|
Returns: string;
|
|
3468
3242
|
};
|
|
3243
|
+
has_org_permission: {
|
|
3244
|
+
Args: {
|
|
3245
|
+
org_id: string;
|
|
3246
|
+
perm_key: string;
|
|
3247
|
+
};
|
|
3248
|
+
Returns: boolean;
|
|
3249
|
+
};
|
|
3469
3250
|
is_org_admin: {
|
|
3470
3251
|
Args: {
|
|
3471
3252
|
org_id: string;
|
|
@@ -3498,6 +3279,22 @@ type Database = {
|
|
|
3498
3279
|
Args: never;
|
|
3499
3280
|
Returns: Json;
|
|
3500
3281
|
};
|
|
3282
|
+
recompute_all_memberships: {
|
|
3283
|
+
Args: never;
|
|
3284
|
+
Returns: undefined;
|
|
3285
|
+
};
|
|
3286
|
+
sync_all_memberships_with_role: {
|
|
3287
|
+
Args: {
|
|
3288
|
+
p_role_id: string;
|
|
3289
|
+
};
|
|
3290
|
+
Returns: undefined;
|
|
3291
|
+
};
|
|
3292
|
+
sync_one_membership: {
|
|
3293
|
+
Args: {
|
|
3294
|
+
p_membership_id: string;
|
|
3295
|
+
};
|
|
3296
|
+
Returns: undefined;
|
|
3297
|
+
};
|
|
3501
3298
|
upsert_user_profile: {
|
|
3502
3299
|
Args: never;
|
|
3503
3300
|
Returns: {
|
|
@@ -4129,212 +3926,675 @@ interface CostSummaryResponse {
|
|
|
4129
3926
|
};
|
|
4130
3927
|
}
|
|
4131
3928
|
/**
|
|
4132
|
-
* Cost by model data for model-level breakdown
|
|
3929
|
+
* Cost by model data for model-level breakdown
|
|
3930
|
+
*/
|
|
3931
|
+
interface CostByModelData {
|
|
3932
|
+
model: string;
|
|
3933
|
+
totalCostUsd: number;
|
|
3934
|
+
callCount: number;
|
|
3935
|
+
totalInputTokens: number;
|
|
3936
|
+
totalOutputTokens: number;
|
|
3937
|
+
avgCostPerCall: number;
|
|
3938
|
+
}
|
|
3939
|
+
/**
|
|
3940
|
+
* Cost by model response
|
|
3941
|
+
*/
|
|
3942
|
+
interface CostByModelResponse {
|
|
3943
|
+
models: CostByModelData[];
|
|
3944
|
+
totalCostUsd: number;
|
|
3945
|
+
totalCallCount: number;
|
|
3946
|
+
}
|
|
3947
|
+
|
|
3948
|
+
/**
|
|
3949
|
+
* Base Execution Engine type definitions
|
|
3950
|
+
* Core types shared across all Execution Engine resources
|
|
3951
|
+
*/
|
|
3952
|
+
|
|
3953
|
+
/**
|
|
3954
|
+
* NOTE: AIResource interface has been removed and replaced with ResourceDefinition
|
|
3955
|
+
* from registry/types.ts. All resources (executable and non-executable) now extend
|
|
3956
|
+
* the unified ResourceDefinition base interface.
|
|
3957
|
+
*
|
|
3958
|
+
* AgentConfig and WorkflowConfig now extend ResourceDefinition directly.
|
|
3959
|
+
* See packages/core/src/registry/types.ts for the base interface definition.
|
|
3960
|
+
*/
|
|
3961
|
+
type AIResourceDefinition = SerializedWorkflowDefinition | SerializedAgentDefinition;
|
|
3962
|
+
|
|
3963
|
+
/**
|
|
3964
|
+
* Resource Registry type definitions
|
|
3965
|
+
*/
|
|
3966
|
+
|
|
3967
|
+
/**
|
|
3968
|
+
* Environment/deployment status for resources
|
|
3969
|
+
*/
|
|
3970
|
+
type ResourceStatus = 'dev' | 'prod';
|
|
3971
|
+
/**
|
|
3972
|
+
* All resource types in the platform
|
|
3973
|
+
* Used as the discriminator field in ResourceDefinition
|
|
3974
|
+
*/
|
|
3975
|
+
type ResourceType = 'agent' | 'workflow' | 'trigger' | 'integration' | 'external' | 'human';
|
|
3976
|
+
/**
|
|
3977
|
+
* Base interface for ALL platform resources
|
|
3978
|
+
* Shared by both executable (agents, workflows) and non-executable (triggers, integrations, etc.) resources
|
|
3979
|
+
*/
|
|
3980
|
+
interface ResourceDefinition {
|
|
3981
|
+
/** Unique resource identifier */
|
|
3982
|
+
resourceId: string;
|
|
3983
|
+
/** Display name */
|
|
3984
|
+
name: string;
|
|
3985
|
+
/** Purpose and functionality description */
|
|
3986
|
+
description: string;
|
|
3987
|
+
/** Version for change tracking and evolution */
|
|
3988
|
+
version: string;
|
|
3989
|
+
/** Resource type discriminator */
|
|
3990
|
+
type: ResourceType;
|
|
3991
|
+
/** Environment/deployment status */
|
|
3992
|
+
status: ResourceStatus;
|
|
3993
|
+
/** Graph links to Organization Model nodes */
|
|
3994
|
+
links?: ResourceLink[];
|
|
3995
|
+
/** Infrastructure category for filtering */
|
|
3996
|
+
category?: ResourceCategory;
|
|
3997
|
+
/** Whether the agent supports multi-turn sessions (agents only) */
|
|
3998
|
+
sessionCapable?: boolean;
|
|
3999
|
+
/** Whether the resource is local (monorepo) or remote (externally deployed) */
|
|
4000
|
+
origin?: 'local' | 'remote';
|
|
4001
|
+
/** Whether this resource is archived and should be excluded from registration and deployment */
|
|
4002
|
+
archived?: boolean;
|
|
4003
|
+
}
|
|
4004
|
+
|
|
4005
|
+
declare const LinkSchema: z.ZodObject<{
|
|
4006
|
+
nodeId: z.ZodString;
|
|
4007
|
+
kind: z.ZodEnum<{
|
|
4008
|
+
contains: "contains";
|
|
4009
|
+
references: "references";
|
|
4010
|
+
exposes: "exposes";
|
|
4011
|
+
maps_to: "maps_to";
|
|
4012
|
+
"operates-on": "operates-on";
|
|
4013
|
+
uses: "uses";
|
|
4014
|
+
}>;
|
|
4015
|
+
}, z.core.$strip>;
|
|
4016
|
+
type Link = z.infer<typeof LinkSchema>;
|
|
4017
|
+
|
|
4018
|
+
declare const ResourceCategorySchema: z.ZodEnum<{
|
|
4019
|
+
production: "production";
|
|
4020
|
+
diagnostic: "diagnostic";
|
|
4021
|
+
internal: "internal";
|
|
4022
|
+
testing: "testing";
|
|
4023
|
+
}>;
|
|
4024
|
+
type ResourceCategory = z.infer<typeof ResourceCategorySchema>;
|
|
4025
|
+
type ResourceLink = Link;
|
|
4026
|
+
|
|
4027
|
+
type ExecutionStatus = 'pending' | 'running' | 'completed' | 'failed' | 'warning';
|
|
4028
|
+
interface APIExecutionSummary {
|
|
4029
|
+
id: string;
|
|
4030
|
+
status: ExecutionStatus;
|
|
4031
|
+
startTime: number;
|
|
4032
|
+
endTime?: number;
|
|
4033
|
+
resourceStatus?: ResourceStatus;
|
|
4034
|
+
}
|
|
4035
|
+
interface APIExecutionDetail extends APIExecutionSummary {
|
|
4036
|
+
executionLogs: ExecutionLogMessage[];
|
|
4037
|
+
input?: unknown;
|
|
4038
|
+
result?: unknown;
|
|
4039
|
+
error?: string;
|
|
4040
|
+
resourceStatus: ResourceStatus;
|
|
4041
|
+
apiVersion?: string | null;
|
|
4042
|
+
resourceVersion?: string | null;
|
|
4043
|
+
sdkVersion?: string | null;
|
|
4044
|
+
isArchived?: boolean;
|
|
4045
|
+
archivedLogCount?: number;
|
|
4046
|
+
}
|
|
4047
|
+
|
|
4048
|
+
/**
|
|
4049
|
+
* Resource Type Metadata
|
|
4050
|
+
*
|
|
4051
|
+
* Centralized metadata for ResourceDefinition types including icon names and colors.
|
|
4052
|
+
* Icon names reference @tabler/icons-react - UI layer maps these to actual components.
|
|
4053
|
+
*/
|
|
4054
|
+
|
|
4055
|
+
/**
|
|
4056
|
+
* Node color types for graph visualization
|
|
4057
|
+
* Used by both @repo/core (metadata) and @repo/ui (components)
|
|
4058
|
+
*/
|
|
4059
|
+
type NodeColorType = 'violet' | 'blue' | 'orange' | 'teal' | 'gray' | 'yellow';
|
|
4060
|
+
|
|
4061
|
+
type ActivityType = 'workflow_execution' | 'agent_run' | 'hitl_action' | 'webhook_received' | 'webhook_executed' | 'webhook_failed' | 'credential_change' | 'credential_read' | 'api_key_change' | 'deployment_change' | 'membership_change';
|
|
4062
|
+
type ActivityStatus = 'success' | 'failure' | 'pending' | 'approved' | 'rejected' | 'completed';
|
|
4063
|
+
interface Activity {
|
|
4064
|
+
id: string;
|
|
4065
|
+
organizationId: string;
|
|
4066
|
+
activityType: ActivityType;
|
|
4067
|
+
status: ActivityStatus;
|
|
4068
|
+
title: string;
|
|
4069
|
+
description: string | null;
|
|
4070
|
+
entityType: string;
|
|
4071
|
+
entityId: string;
|
|
4072
|
+
entityName: string | null;
|
|
4073
|
+
metadata: Record<string, unknown> | null;
|
|
4074
|
+
actorId: string | null;
|
|
4075
|
+
actorType: string | null;
|
|
4076
|
+
occurredAt: Date;
|
|
4077
|
+
createdAt: Date;
|
|
4078
|
+
}
|
|
4079
|
+
|
|
4080
|
+
/**
|
|
4081
|
+
* Canonical permission catalog.
|
|
4082
|
+
*
|
|
4083
|
+
* Source of truth for the permission keys used by:
|
|
4084
|
+
* - RLS policies in Supabase (via has_org_permission(org_id, key))
|
|
4085
|
+
* - API middleware (via requireOrganizationPermission(key))
|
|
4086
|
+
* - UI hooks (via useOrganizationPermissions().hasPermission(key))
|
|
4087
|
+
*
|
|
4088
|
+
* The DB table `org_rol_permissions` mirrors this constant. Reconciliation
|
|
4089
|
+
* runs at API boot (insert-or-update only — never auto-delete; see the
|
|
4090
|
+
* deletion runbook in the auth-role-system-redesign doc).
|
|
4091
|
+
*
|
|
4092
|
+
* Adding a permission:
|
|
4093
|
+
* 1. Add an entry below.
|
|
4094
|
+
* 2. Add a row to the migration / via reconcilePermissionCatalog at boot.
|
|
4095
|
+
* 3. Reference it in RLS / middleware as needed.
|
|
4096
|
+
* 4. Optionally grant it to one or more system roles in org_rol_grants.
|
|
4097
|
+
*
|
|
4098
|
+
* Removing a permission: follow the deletion runbook — never just delete
|
|
4099
|
+
* the entry. Existing role grants and policy references must be cleared first.
|
|
4100
|
+
*/
|
|
4101
|
+
declare const PERMISSIONS: {
|
|
4102
|
+
readonly ORG_READ: "org.read";
|
|
4103
|
+
readonly ORG_MANAGE: "org.manage";
|
|
4104
|
+
readonly ORG_DELETE: "org.delete";
|
|
4105
|
+
readonly MEMBERS_MANAGE: "members.manage";
|
|
4106
|
+
readonly ROLES_MANAGE: "roles.manage";
|
|
4107
|
+
readonly SECRETS_MANAGE: "secrets.manage";
|
|
4108
|
+
readonly OPERATIONS_READ: "operations.read";
|
|
4109
|
+
readonly OPERATIONS_MANAGE: "operations.manage";
|
|
4110
|
+
readonly WORK_MANAGE: "work.manage";
|
|
4111
|
+
};
|
|
4112
|
+
type PermissionKey = (typeof PERMISSIONS)[keyof typeof PERMISSIONS];
|
|
4113
|
+
/**
|
|
4114
|
+
* Static metadata for each permission. Mirrored into org_rol_permissions on
|
|
4115
|
+
* boot reconciliation. is_org_grantable=false means the permission is reserved
|
|
4116
|
+
* to system roles only — custom roles cannot include it (privilege-escalation guard).
|
|
4117
|
+
*/
|
|
4118
|
+
interface PermissionDescriptor {
|
|
4119
|
+
key: PermissionKey;
|
|
4120
|
+
description: string;
|
|
4121
|
+
isOrgGrantable: boolean;
|
|
4122
|
+
}
|
|
4123
|
+
|
|
4124
|
+
/**
|
|
4125
|
+
* Execution Runner Types
|
|
4126
|
+
*
|
|
4127
|
+
* Shared types for the Execution Runner UI feature.
|
|
4128
|
+
* Used by both API (apps/api) and frontend (apps/command-center).
|
|
4129
|
+
*/
|
|
4130
|
+
|
|
4131
|
+
interface ExecutionRunnerCatalogItem {
|
|
4132
|
+
resourceId: string;
|
|
4133
|
+
resourceName: string;
|
|
4134
|
+
resourceType: 'workflow' | 'agent';
|
|
4135
|
+
description?: string;
|
|
4136
|
+
status: 'dev' | 'prod';
|
|
4137
|
+
version: string;
|
|
4138
|
+
interface: SerializedExecutionInterface;
|
|
4139
|
+
}
|
|
4140
|
+
|
|
4141
|
+
/**
|
|
4142
|
+
* Deployment types — browser-safe
|
|
4143
|
+
*
|
|
4144
|
+
* Canonical API response types for the deployment resource.
|
|
4145
|
+
* The API's transformRow converts snake_case DB columns to these camelCase fields.
|
|
4146
|
+
*/
|
|
4147
|
+
type DeploymentStatus = 'deploying' | 'active' | 'failed' | 'rolled_back' | 'stopped';
|
|
4148
|
+
interface Deployment {
|
|
4149
|
+
id: string;
|
|
4150
|
+
organizationId: string;
|
|
4151
|
+
status: DeploymentStatus;
|
|
4152
|
+
sdkVersion: string;
|
|
4153
|
+
deploymentVersion: string | null;
|
|
4154
|
+
port: number | null;
|
|
4155
|
+
pid: number | null;
|
|
4156
|
+
tarballPath: string | null;
|
|
4157
|
+
errorMessage: string | null;
|
|
4158
|
+
createdAt: string;
|
|
4159
|
+
updatedAt: string;
|
|
4160
|
+
}
|
|
4161
|
+
|
|
4162
|
+
/**
|
|
4163
|
+
* GET /api/credentials - List credentials
|
|
4164
|
+
*/
|
|
4165
|
+
declare const ListCredentialsResponseSchema: z.ZodObject<{
|
|
4166
|
+
credentials: z.ZodArray<z.ZodObject<{
|
|
4167
|
+
id: z.ZodString;
|
|
4168
|
+
name: z.ZodString;
|
|
4169
|
+
type: z.ZodString;
|
|
4170
|
+
provider: z.ZodNullable<z.ZodString>;
|
|
4171
|
+
createdAt: z.ZodString;
|
|
4172
|
+
}, z.core.$strip>>;
|
|
4173
|
+
}, z.core.$strip>;
|
|
4174
|
+
/** API response type for a single credential list item */
|
|
4175
|
+
type CredentialListItem = z.infer<typeof ListCredentialsResponseSchema>['credentials'][number];
|
|
4176
|
+
|
|
4177
|
+
type Props$2 = {
|
|
4178
|
+
permission: PermissionKey | string;
|
|
4179
|
+
fallback?: ReactNode;
|
|
4180
|
+
children: ReactNode;
|
|
4181
|
+
};
|
|
4182
|
+
declare function Can({ permission, fallback, children }: Props$2): react_jsx_runtime.JSX.Element | null;
|
|
4183
|
+
|
|
4184
|
+
type Props$1 = {
|
|
4185
|
+
slug: string;
|
|
4186
|
+
name: string;
|
|
4187
|
+
isSystem: boolean;
|
|
4188
|
+
};
|
|
4189
|
+
declare function RoleBadge({ name, isSystem }: Props$1): react_jsx_runtime.JSX.Element;
|
|
4190
|
+
|
|
4191
|
+
type PermissionRow = PermissionDescriptor;
|
|
4192
|
+
type Props = {
|
|
4193
|
+
catalog: PermissionRow[];
|
|
4194
|
+
selectedKeys: string[];
|
|
4195
|
+
onChange?: (keys: string[]) => void;
|
|
4196
|
+
systemLocked?: boolean;
|
|
4197
|
+
};
|
|
4198
|
+
declare function PermissionMatrix({ catalog, selectedKeys, onChange, systemLocked }: Props): react_jsx_runtime.JSX.Element;
|
|
4199
|
+
|
|
4200
|
+
declare function NoAccessState(): react_jsx_runtime.JSX.Element;
|
|
4201
|
+
|
|
4202
|
+
type CreateRoleModalProps = {
|
|
4203
|
+
opened: boolean;
|
|
4204
|
+
onClose: () => void;
|
|
4205
|
+
onCreated?: (roleId: string) => void;
|
|
4206
|
+
};
|
|
4207
|
+
declare function CreateRoleModal({ opened, onClose, onCreated }: CreateRoleModalProps): react_jsx_runtime.JSX.Element;
|
|
4208
|
+
|
|
4209
|
+
declare function showAuthError(error: unknown): void;
|
|
4210
|
+
|
|
4211
|
+
interface EmptyStateProps {
|
|
4212
|
+
/** Icon component to display (e.g., IconKey from @tabler/icons-react) */
|
|
4213
|
+
icon: ComponentType<{
|
|
4214
|
+
size: number;
|
|
4215
|
+
style?: React.CSSProperties;
|
|
4216
|
+
}>;
|
|
4217
|
+
/** Main title text */
|
|
4218
|
+
title: string;
|
|
4219
|
+
/** Description text shown below title */
|
|
4220
|
+
description?: string;
|
|
4221
|
+
/** Optional action button */
|
|
4222
|
+
action?: {
|
|
4223
|
+
label: string;
|
|
4224
|
+
onClick: () => void;
|
|
4225
|
+
icon?: ReactNode;
|
|
4226
|
+
};
|
|
4227
|
+
/** Vertical padding - defaults to 'xl' */
|
|
4228
|
+
py?: MantineSpacing;
|
|
4229
|
+
}
|
|
4230
|
+
/**
|
|
4231
|
+
* EmptyState - Reusable empty state component for lists and tables
|
|
4232
|
+
*
|
|
4233
|
+
* Consolidates the Center + Stack + Icon + Text pattern used across:
|
|
4234
|
+
* - ApiKeyList.tsx
|
|
4235
|
+
* - CredentialList.tsx
|
|
4236
|
+
* - Various other list components
|
|
4237
|
+
*
|
|
4238
|
+
* @example
|
|
4239
|
+
* ```tsx
|
|
4240
|
+
* <EmptyState
|
|
4241
|
+
* icon={IconKey}
|
|
4242
|
+
* title="No API keys yet"
|
|
4243
|
+
* description="Create your first API key to enable external integrations"
|
|
4244
|
+
* action={{ label: "Create API Key", onClick: handleCreate }}
|
|
4245
|
+
* />
|
|
4246
|
+
* ```
|
|
4133
4247
|
*/
|
|
4134
|
-
|
|
4135
|
-
|
|
4136
|
-
|
|
4137
|
-
|
|
4138
|
-
|
|
4139
|
-
totalOutputTokens: number;
|
|
4140
|
-
avgCostPerCall: number;
|
|
4248
|
+
declare function EmptyState({ icon: Icon, title, description, action, py }: EmptyStateProps): react_jsx_runtime.JSX.Element;
|
|
4249
|
+
|
|
4250
|
+
interface TabCountBadgeProps {
|
|
4251
|
+
count: number;
|
|
4252
|
+
isLoading?: boolean;
|
|
4141
4253
|
}
|
|
4142
4254
|
/**
|
|
4143
|
-
*
|
|
4255
|
+
* A badge that displays a count in tabs with consistent sizing.
|
|
4256
|
+
* Uses a fixed-width container to prevent layout shift when switching
|
|
4257
|
+
* between the loading spinner and the count badge.
|
|
4144
4258
|
*/
|
|
4145
|
-
|
|
4146
|
-
models: CostByModelData[];
|
|
4147
|
-
totalCostUsd: number;
|
|
4148
|
-
totalCallCount: number;
|
|
4149
|
-
}
|
|
4259
|
+
declare function TabCountBadge({ count, isLoading }: TabCountBadgeProps): react_jsx_runtime.JSX.Element;
|
|
4150
4260
|
|
|
4151
4261
|
/**
|
|
4152
|
-
*
|
|
4153
|
-
*
|
|
4262
|
+
* TrendIndicator - Reusable component for showing percentage change trends
|
|
4263
|
+
* Displays up/down/flat arrow with colored badge
|
|
4154
4264
|
*/
|
|
4155
|
-
|
|
4265
|
+
interface TrendIndicatorProps {
|
|
4266
|
+
/** Current value */
|
|
4267
|
+
current: number;
|
|
4268
|
+
/** Previous value to compare against */
|
|
4269
|
+
previous: number;
|
|
4270
|
+
/** Optional formatter for the value (not used in display but kept for API compatibility) */
|
|
4271
|
+
formatter?: (value: number) => string;
|
|
4272
|
+
/** If true, negative change is considered positive (e.g., for costs) */
|
|
4273
|
+
inverse?: boolean;
|
|
4274
|
+
}
|
|
4156
4275
|
/**
|
|
4157
|
-
*
|
|
4158
|
-
* from registry/types.ts. All resources (executable and non-executable) now extend
|
|
4159
|
-
* the unified ResourceDefinition base interface.
|
|
4276
|
+
* Shows a trend indicator with arrow icon and percentage change badge
|
|
4160
4277
|
*
|
|
4161
|
-
*
|
|
4162
|
-
*
|
|
4278
|
+
* @example
|
|
4279
|
+
* // Positive trend (green when going up)
|
|
4280
|
+
* <TrendIndicator current={100} previous={80} />
|
|
4281
|
+
*
|
|
4282
|
+
* @example
|
|
4283
|
+
* // Inverse trend (green when going down, useful for costs)
|
|
4284
|
+
* <TrendIndicator current={100} previous={120} inverse />
|
|
4163
4285
|
*/
|
|
4164
|
-
|
|
4286
|
+
declare function TrendIndicator({ current, previous, inverse }: TrendIndicatorProps): react_jsx_runtime.JSX.Element;
|
|
4165
4287
|
|
|
4288
|
+
interface CollapsibleSectionProps {
|
|
4289
|
+
title: string | ReactNode;
|
|
4290
|
+
count?: number;
|
|
4291
|
+
countLabel?: string;
|
|
4292
|
+
children: ReactNode;
|
|
4293
|
+
emptyMessage?: string;
|
|
4294
|
+
defaultExpanded?: boolean;
|
|
4295
|
+
maxHeight?: number;
|
|
4296
|
+
}
|
|
4166
4297
|
/**
|
|
4167
|
-
*
|
|
4298
|
+
* Reusable collapsible section with header, badge, and scroll area
|
|
4299
|
+
* Used for expandable content like memory sections, logs, etc.
|
|
4168
4300
|
*/
|
|
4301
|
+
declare function CollapsibleSection({ title, count, countLabel, children, emptyMessage, defaultExpanded, maxHeight }: CollapsibleSectionProps): react_jsx_runtime.JSX.Element;
|
|
4169
4302
|
|
|
4303
|
+
interface PageTitleCaptionProps {
|
|
4304
|
+
title: string;
|
|
4305
|
+
caption?: string;
|
|
4306
|
+
rightSection?: ReactNode;
|
|
4307
|
+
}
|
|
4308
|
+
declare const PageTitleCaption: ({ title, caption, rightSection }: PageTitleCaptionProps) => react_jsx_runtime.JSX.Element;
|
|
4309
|
+
|
|
4310
|
+
interface StatsCardSkeletonProps {
|
|
4311
|
+
/** Height of the loader area - defaults to 200 */
|
|
4312
|
+
chartHeight?: number;
|
|
4313
|
+
/** Kept for API compat, unused */
|
|
4314
|
+
withChart?: boolean;
|
|
4315
|
+
/** Kept for API compat, unused */
|
|
4316
|
+
statCount?: 2 | 3;
|
|
4317
|
+
}
|
|
4170
4318
|
/**
|
|
4171
|
-
*
|
|
4319
|
+
* StatsCardSkeleton - Loading state for dashboard metric cards
|
|
4320
|
+
*
|
|
4321
|
+
* Used across:
|
|
4322
|
+
* - ExecutionHealthCard.tsx
|
|
4323
|
+
* - CostMetricsCard.tsx
|
|
4324
|
+
* - ThroughputCard.tsx
|
|
4325
|
+
* - BusinessImpactCard.tsx
|
|
4172
4326
|
*/
|
|
4173
|
-
|
|
4327
|
+
declare function StatsCardSkeleton({ chartHeight }: StatsCardSkeletonProps): react_jsx_runtime.JSX.Element;
|
|
4328
|
+
interface ListSkeletonProps {
|
|
4329
|
+
/** Number of rows (used to calculate height) - defaults to 3 */
|
|
4330
|
+
rows?: number;
|
|
4331
|
+
/** Height of each row - defaults to 50 */
|
|
4332
|
+
rowHeight?: number;
|
|
4333
|
+
}
|
|
4174
4334
|
/**
|
|
4175
|
-
*
|
|
4176
|
-
*
|
|
4335
|
+
* ListSkeleton - Loading state for table/list content
|
|
4336
|
+
*
|
|
4337
|
+
* Used across:
|
|
4338
|
+
* - ApiKeyList.tsx
|
|
4339
|
+
* - CredentialList.tsx
|
|
4340
|
+
* - DeploymentList.tsx
|
|
4341
|
+
* - WebhookEndpointList.tsx
|
|
4177
4342
|
*/
|
|
4178
|
-
|
|
4343
|
+
declare function ListSkeleton({ rows, rowHeight }: ListSkeletonProps): react_jsx_runtime.JSX.Element;
|
|
4344
|
+
interface DetailCardSkeletonProps {
|
|
4345
|
+
/** Number of detail rows (used to calculate height) - defaults to 3 */
|
|
4346
|
+
rows?: number;
|
|
4347
|
+
}
|
|
4179
4348
|
/**
|
|
4180
|
-
*
|
|
4181
|
-
*
|
|
4349
|
+
* DetailCardSkeleton - Loading state for cards with list of detail items
|
|
4350
|
+
*
|
|
4351
|
+
* Used for cards like CostBreakdownCard
|
|
4182
4352
|
*/
|
|
4183
|
-
|
|
4184
|
-
|
|
4185
|
-
|
|
4186
|
-
/**
|
|
4187
|
-
|
|
4188
|
-
|
|
4189
|
-
|
|
4190
|
-
|
|
4191
|
-
|
|
4192
|
-
|
|
4193
|
-
|
|
4194
|
-
|
|
4195
|
-
|
|
4196
|
-
|
|
4197
|
-
|
|
4198
|
-
|
|
4199
|
-
|
|
4200
|
-
|
|
4201
|
-
|
|
4202
|
-
|
|
4203
|
-
|
|
4353
|
+
declare function DetailCardSkeleton({ rows }: DetailCardSkeletonProps): react_jsx_runtime.JSX.Element;
|
|
4354
|
+
|
|
4355
|
+
interface NavigationButtonProps {
|
|
4356
|
+
/** Icon component to display */
|
|
4357
|
+
icon: React__default.ComponentType<{
|
|
4358
|
+
size?: number;
|
|
4359
|
+
stroke?: number;
|
|
4360
|
+
}>;
|
|
4361
|
+
/** Button label text */
|
|
4362
|
+
label: string;
|
|
4363
|
+
/** Whether the button is in collapsed state (hides text) */
|
|
4364
|
+
isCollapsed?: boolean;
|
|
4365
|
+
/** Whether this button has sub-items/links */
|
|
4366
|
+
hasSubItems?: boolean;
|
|
4367
|
+
/** Whether sub-items are expanded (controls chevron rotation) */
|
|
4368
|
+
isExpanded?: boolean;
|
|
4369
|
+
/** Whether the icon and text should be styled as active */
|
|
4370
|
+
isActive?: boolean;
|
|
4371
|
+
/** Whether the background should be styled as active */
|
|
4372
|
+
hasActiveBackground?: boolean;
|
|
4373
|
+
/** Click handler */
|
|
4374
|
+
onClick?: () => void;
|
|
4375
|
+
/** Additional styles for the button container */
|
|
4376
|
+
style?: React__default.CSSProperties;
|
|
4377
|
+
/** Custom transition duration in ms */
|
|
4378
|
+
transitionDuration?: number;
|
|
4379
|
+
}
|
|
4380
|
+
declare const NavigationButton: React__default.FC<NavigationButtonProps>;
|
|
4381
|
+
|
|
4382
|
+
interface CustomSelectorProps {
|
|
4383
|
+
value: string | null;
|
|
4384
|
+
onChange: (value: string | null) => void;
|
|
4385
|
+
data: {
|
|
4386
|
+
value: string;
|
|
4387
|
+
label: string;
|
|
4388
|
+
}[] | readonly {
|
|
4389
|
+
value: string;
|
|
4390
|
+
label: string;
|
|
4391
|
+
}[];
|
|
4392
|
+
leftSection?: ReactNode;
|
|
4393
|
+
placeholder?: string;
|
|
4394
|
+
w?: number | string;
|
|
4395
|
+
withCheckIcon?: boolean;
|
|
4396
|
+
disabled?: boolean;
|
|
4397
|
+
}
|
|
4398
|
+
declare function CustomSelector({ value, onChange, data, leftSection, placeholder, w, withCheckIcon, disabled }: CustomSelectorProps): react_jsx_runtime.JSX.Element;
|
|
4399
|
+
|
|
4400
|
+
interface APIErrorAlertProps {
|
|
4401
|
+
/**
|
|
4402
|
+
* The error to display. Can be an APIClientError, generic Error, or any unknown value.
|
|
4403
|
+
*/
|
|
4404
|
+
error: unknown;
|
|
4405
|
+
/**
|
|
4406
|
+
* Optional title override. If not provided, uses getErrorTitle() based on error code.
|
|
4407
|
+
*/
|
|
4408
|
+
title?: string;
|
|
4409
|
+
/**
|
|
4410
|
+
* Whether to show the request ID (if available). Defaults to true.
|
|
4411
|
+
*/
|
|
4412
|
+
showRequestId?: boolean;
|
|
4413
|
+
/**
|
|
4414
|
+
* Optional custom icon. Defaults to IconAlertCircle.
|
|
4415
|
+
*/
|
|
4416
|
+
icon?: React.ReactNode;
|
|
4417
|
+
/**
|
|
4418
|
+
* Alert color. Defaults to 'red'.
|
|
4419
|
+
*/
|
|
4420
|
+
color?: string;
|
|
4204
4421
|
}
|
|
4205
|
-
|
|
4206
4422
|
/**
|
|
4207
|
-
*
|
|
4208
|
-
*
|
|
4423
|
+
* Alert component for displaying API errors with type-safe error handling.
|
|
4424
|
+
*
|
|
4425
|
+
* Automatically extracts error message, code, and request ID from APIClientError
|
|
4426
|
+
* or falls back to generic Error handling.
|
|
4427
|
+
*
|
|
4428
|
+
* @example
|
|
4429
|
+
* ```tsx
|
|
4430
|
+
* const { data, error } = useQuery(...)
|
|
4431
|
+
*
|
|
4432
|
+
* if (error) {
|
|
4433
|
+
* return <APIErrorAlert error={error} />
|
|
4434
|
+
* }
|
|
4435
|
+
* ```
|
|
4436
|
+
*
|
|
4437
|
+
* @example With custom title
|
|
4438
|
+
* ```tsx
|
|
4439
|
+
* <APIErrorAlert
|
|
4440
|
+
* error={error}
|
|
4441
|
+
* title="Failed to load resources"
|
|
4442
|
+
* />
|
|
4443
|
+
* ```
|
|
4444
|
+
*
|
|
4445
|
+
* @example Without request ID
|
|
4446
|
+
* ```tsx
|
|
4447
|
+
* <APIErrorAlert
|
|
4448
|
+
* error={error}
|
|
4449
|
+
* showRequestId={false}
|
|
4450
|
+
* />
|
|
4451
|
+
* ```
|
|
4209
4452
|
*/
|
|
4453
|
+
declare function APIErrorAlert({ error, title, showRequestId, icon, color }: APIErrorAlertProps): react_jsx_runtime.JSX.Element;
|
|
4210
4454
|
|
|
4211
|
-
|
|
4212
|
-
|
|
4213
|
-
|
|
4214
|
-
|
|
4215
|
-
|
|
4216
|
-
|
|
4217
|
-
|
|
4218
|
-
|
|
4219
|
-
readonly EXECUTIVE: "executive";
|
|
4220
|
-
readonly INSTANTLY: "instantly";
|
|
4221
|
-
readonly TESTING: "testing";
|
|
4222
|
-
readonly INTERNAL: "internal";
|
|
4223
|
-
readonly INTEGRATION: "integration";
|
|
4224
|
-
readonly UTILITY: "utility";
|
|
4225
|
-
readonly DIAGNOSTIC: "diagnostic";
|
|
4226
|
-
};
|
|
4455
|
+
interface CenteredErrorStateProps {
|
|
4456
|
+
error: unknown;
|
|
4457
|
+
title?: string;
|
|
4458
|
+
/** Minimum height of the centering container. Defaults to 300. */
|
|
4459
|
+
h?: number | string;
|
|
4460
|
+
/** Vertical padding (used when h is not set). */
|
|
4461
|
+
py?: MantineSpacing;
|
|
4462
|
+
}
|
|
4227
4463
|
/**
|
|
4228
|
-
*
|
|
4229
|
-
*
|
|
4464
|
+
* CenteredErrorState - Displays an error centered inside its container.
|
|
4465
|
+
*
|
|
4466
|
+
* The caller is responsible for providing the container (e.g. `<Paper withBorder>`).
|
|
4467
|
+
* This component only handles centering + rendering the error alert.
|
|
4468
|
+
*
|
|
4469
|
+
* @example
|
|
4470
|
+
* ```tsx
|
|
4471
|
+
* if (error) {
|
|
4472
|
+
* return (
|
|
4473
|
+
* <Paper withBorder>
|
|
4474
|
+
* <CenteredErrorState error={error} title="Failed to load trends" />
|
|
4475
|
+
* </Paper>
|
|
4476
|
+
* )
|
|
4477
|
+
* }
|
|
4478
|
+
* ```
|
|
4230
4479
|
*/
|
|
4231
|
-
|
|
4480
|
+
declare function CenteredErrorState({ error, title, h, py }: CenteredErrorStateProps): react_jsx_runtime.JSX.Element;
|
|
4232
4481
|
|
|
4233
|
-
|
|
4234
|
-
|
|
4235
|
-
|
|
4236
|
-
|
|
4237
|
-
|
|
4238
|
-
|
|
4239
|
-
|
|
4482
|
+
interface StatCardBaseProps {
|
|
4483
|
+
/** The label/description text */
|
|
4484
|
+
label: string;
|
|
4485
|
+
/** The value to display (number or formatted string) */
|
|
4486
|
+
value: string | number;
|
|
4487
|
+
/** Tabler icon component */
|
|
4488
|
+
icon: Icon;
|
|
4489
|
+
/** Optional extra content rendered below the label */
|
|
4490
|
+
children?: ReactNode;
|
|
4240
4491
|
}
|
|
4241
|
-
interface
|
|
4242
|
-
|
|
4243
|
-
|
|
4244
|
-
|
|
4245
|
-
|
|
4246
|
-
|
|
4247
|
-
apiVersion?: string | null;
|
|
4248
|
-
resourceVersion?: string | null;
|
|
4249
|
-
sdkVersion?: string | null;
|
|
4250
|
-
isArchived?: boolean;
|
|
4251
|
-
archivedLogCount?: number;
|
|
4492
|
+
interface StatCardDefaultProps extends StatCardBaseProps {
|
|
4493
|
+
variant?: 'default';
|
|
4494
|
+
/** Theme color for the icon (defaults to theme primary) */
|
|
4495
|
+
color?: MantineColor;
|
|
4496
|
+
isLoading?: never;
|
|
4497
|
+
valueColor?: never;
|
|
4252
4498
|
}
|
|
4253
|
-
|
|
4499
|
+
interface StatCardHeroProps extends StatCardBaseProps {
|
|
4500
|
+
variant: 'hero';
|
|
4501
|
+
/** Whether data is loading */
|
|
4502
|
+
isLoading?: boolean;
|
|
4503
|
+
/** Custom color for the value text */
|
|
4504
|
+
valueColor?: string;
|
|
4505
|
+
/** Card sizing — 'sm' (default) for compact layouts, 'md' for spacious layouts */
|
|
4506
|
+
size?: 'sm' | 'md';
|
|
4507
|
+
color?: never;
|
|
4508
|
+
}
|
|
4509
|
+
type StatCardProps = StatCardDefaultProps | StatCardHeroProps;
|
|
4254
4510
|
/**
|
|
4255
|
-
*
|
|
4511
|
+
* StatCard - Stat display card with icon, label, and value.
|
|
4256
4512
|
*
|
|
4257
|
-
*
|
|
4258
|
-
*
|
|
4513
|
+
* Supports two variants:
|
|
4514
|
+
* - `default`: Compact card with ThemeIcon (used in admin overviews)
|
|
4515
|
+
* - `hero`: Glass card with glowing icon ring (used on dashboards)
|
|
4516
|
+
*
|
|
4517
|
+
* @example
|
|
4518
|
+
* ```tsx
|
|
4519
|
+
* // Default variant
|
|
4520
|
+
* <StatCard label="Total Executions" value={150} icon={IconPlayerPlay} color="blue" />
|
|
4521
|
+
*
|
|
4522
|
+
* // Hero variant
|
|
4523
|
+
* <StatCard variant="hero" label="Executions" value={43} icon={IconPlayerPlay} isLoading={false} />
|
|
4524
|
+
* ```
|
|
4259
4525
|
*/
|
|
4260
|
-
|
|
4526
|
+
declare function StatCard(props: StatCardProps): react_jsx_runtime.JSX.Element;
|
|
4261
4527
|
/**
|
|
4262
|
-
*
|
|
4263
|
-
* Used by both @repo/core (metadata) and @repo/ui (components)
|
|
4528
|
+
* StatCardSkeleton - Loading skeleton for StatCard (default variant)
|
|
4264
4529
|
*/
|
|
4265
|
-
|
|
4530
|
+
declare function StatCardSkeleton(): react_jsx_runtime.JSX.Element;
|
|
4266
4531
|
|
|
4267
|
-
|
|
4268
|
-
|
|
4269
|
-
|
|
4270
|
-
|
|
4271
|
-
|
|
4272
|
-
|
|
4273
|
-
|
|
4274
|
-
|
|
4275
|
-
|
|
4276
|
-
entityType: string;
|
|
4277
|
-
entityId: string;
|
|
4278
|
-
entityName: string | null;
|
|
4279
|
-
metadata: Record<string, unknown> | null;
|
|
4280
|
-
actorId: string | null;
|
|
4281
|
-
actorType: string | null;
|
|
4282
|
-
occurredAt: Date;
|
|
4283
|
-
createdAt: Date;
|
|
4532
|
+
interface StyledMarkdownProps {
|
|
4533
|
+
/** Markdown content to render */
|
|
4534
|
+
children: string;
|
|
4535
|
+
/** Custom component overrides */
|
|
4536
|
+
components?: Partial<Components>;
|
|
4537
|
+
/** Additional class name */
|
|
4538
|
+
className?: string;
|
|
4539
|
+
/** Inline styles for the wrapper div */
|
|
4540
|
+
style?: React.CSSProperties;
|
|
4284
4541
|
}
|
|
4285
|
-
|
|
4286
4542
|
/**
|
|
4287
|
-
*
|
|
4543
|
+
* Styled markdown renderer with Mantine components and syntax highlighting
|
|
4288
4544
|
*
|
|
4289
|
-
*
|
|
4290
|
-
*
|
|
4545
|
+
* Features:
|
|
4546
|
+
* - Colored headings using theme primary color
|
|
4547
|
+
* - Syntax-highlighted code blocks (oneDark theme, no token backgrounds)
|
|
4548
|
+
* - Styled inline code with Mantine Code component
|
|
4549
|
+
* - Styled blockquotes with left border
|
|
4550
|
+
* - Proper list styling
|
|
4551
|
+
*
|
|
4552
|
+
* @example
|
|
4553
|
+
* ```tsx
|
|
4554
|
+
* import { StyledMarkdown } from '@repo/ui'
|
|
4555
|
+
*
|
|
4556
|
+
* <StyledMarkdown>{markdownContent}</StyledMarkdown>
|
|
4557
|
+
* ```
|
|
4291
4558
|
*/
|
|
4559
|
+
declare function StyledMarkdown({ children, components, className, style }: StyledMarkdownProps): react_jsx_runtime.JSX.Element;
|
|
4292
4560
|
|
|
4293
|
-
interface
|
|
4294
|
-
|
|
4295
|
-
|
|
4296
|
-
|
|
4297
|
-
|
|
4298
|
-
|
|
4299
|
-
|
|
4300
|
-
interface: SerializedExecutionInterface;
|
|
4561
|
+
interface JsonViewerProps {
|
|
4562
|
+
/** JSON data to display (will be stringified) or pre-formatted JSON string */
|
|
4563
|
+
data: unknown;
|
|
4564
|
+
/** Maximum height with scroll (e.g., '300px'). If not set, expands to content */
|
|
4565
|
+
maxHeight?: string | number;
|
|
4566
|
+
/** Font size override */
|
|
4567
|
+
fontSize?: string | number;
|
|
4301
4568
|
}
|
|
4302
|
-
|
|
4303
4569
|
/**
|
|
4304
|
-
*
|
|
4570
|
+
* Syntax-highlighted JSON viewer component
|
|
4305
4571
|
*
|
|
4306
|
-
*
|
|
4307
|
-
*
|
|
4572
|
+
* @example
|
|
4573
|
+
* ```tsx
|
|
4574
|
+
* import { JsonViewer } from '@repo/ui'
|
|
4575
|
+
*
|
|
4576
|
+
* <JsonViewer data={{ foo: 'bar', count: 42 }} />
|
|
4577
|
+
* <JsonViewer data={apiResponse} maxHeight={300} />
|
|
4578
|
+
* ```
|
|
4308
4579
|
*/
|
|
4309
|
-
|
|
4310
|
-
interface Deployment {
|
|
4311
|
-
id: string;
|
|
4312
|
-
organizationId: string;
|
|
4313
|
-
status: DeploymentStatus;
|
|
4314
|
-
sdkVersion: string;
|
|
4315
|
-
deploymentVersion: string | null;
|
|
4316
|
-
port: number | null;
|
|
4317
|
-
pid: number | null;
|
|
4318
|
-
tarballPath: string | null;
|
|
4319
|
-
errorMessage: string | null;
|
|
4320
|
-
createdAt: string;
|
|
4321
|
-
updatedAt: string;
|
|
4322
|
-
}
|
|
4580
|
+
declare function JsonViewer({ data, maxHeight, fontSize }: JsonViewerProps): react_jsx_runtime.JSX.Element;
|
|
4323
4581
|
|
|
4582
|
+
interface ContextViewerProps {
|
|
4583
|
+
/** Any JSON-serializable data to display in a human-readable format */
|
|
4584
|
+
data: unknown;
|
|
4585
|
+
}
|
|
4324
4586
|
/**
|
|
4325
|
-
*
|
|
4587
|
+
* Auto-formats any JSON context into a human-readable layout.
|
|
4588
|
+
*
|
|
4589
|
+
* - Strings → rendered as markdown (supports formatting, lists, tables)
|
|
4590
|
+
* - Flat key-value objects → labeled field list
|
|
4591
|
+
* - Nested objects → indented subsections with left border
|
|
4592
|
+
* - Arrays → bulleted lists or bordered cards
|
|
4593
|
+
* - null/undefined/boolean/number → inline text
|
|
4594
|
+
*
|
|
4595
|
+
* No display configuration needed — the component infers layout from data shape.
|
|
4326
4596
|
*/
|
|
4327
|
-
declare
|
|
4328
|
-
credentials: z.ZodArray<z.ZodObject<{
|
|
4329
|
-
id: z.ZodString;
|
|
4330
|
-
name: z.ZodString;
|
|
4331
|
-
type: z.ZodString;
|
|
4332
|
-
provider: z.ZodNullable<z.ZodString>;
|
|
4333
|
-
createdAt: z.ZodString;
|
|
4334
|
-
}, z.core.$strip>>;
|
|
4335
|
-
}, z.core.$strip>;
|
|
4336
|
-
/** API response type for a single credential list item */
|
|
4337
|
-
type CredentialListItem = z.infer<typeof ListCredentialsResponseSchema>['credentials'][number];
|
|
4597
|
+
declare function ContextViewer({ data }: ContextViewerProps): react_jsx_runtime.JSX.Element;
|
|
4338
4598
|
|
|
4339
4599
|
interface TimeRangeSelectorProps {
|
|
4340
4600
|
value: TimeRange;
|
|
@@ -4445,7 +4705,7 @@ interface ICustomModalProps {
|
|
|
4445
4705
|
children: React__default.ReactNode | React__default.ReactNode[] | string;
|
|
4446
4706
|
loading?: boolean;
|
|
4447
4707
|
style?: React__default.CSSProperties;
|
|
4448
|
-
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
4708
|
+
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full' | string;
|
|
4449
4709
|
}
|
|
4450
4710
|
declare const CustomModal: ({ children, opened, onClose, loading, style, size }: ICustomModalProps) => react_jsx_runtime.JSX.Element;
|
|
4451
4711
|
|
|
@@ -4632,7 +4892,8 @@ interface CreateCredentialResponse {
|
|
|
4632
4892
|
declare const WebhookEndpointResponseSchema: z.ZodObject<{
|
|
4633
4893
|
id: z.ZodString;
|
|
4634
4894
|
organizationId: z.ZodString;
|
|
4635
|
-
key: z.ZodString
|
|
4895
|
+
key: z.ZodOptional<z.ZodString>;
|
|
4896
|
+
keyPrefix: z.ZodNullable<z.ZodString>;
|
|
4636
4897
|
name: z.ZodString;
|
|
4637
4898
|
description: z.ZodNullable<z.ZodString>;
|
|
4638
4899
|
resourceId: z.ZodNullable<z.ZodString>;
|
|
@@ -5198,13 +5459,6 @@ interface RunResourceButtonProps {
|
|
|
5198
5459
|
label?: string;
|
|
5199
5460
|
icon?: ReactNode;
|
|
5200
5461
|
color?: string;
|
|
5201
|
-
organizationModel?: {
|
|
5202
|
-
resourceMappings?: Array<{
|
|
5203
|
-
resourceId: string;
|
|
5204
|
-
label?: string;
|
|
5205
|
-
color?: string;
|
|
5206
|
-
}>;
|
|
5207
|
-
};
|
|
5208
5462
|
onSuccess?: (result: ExecuteAsyncResult) => void;
|
|
5209
5463
|
onError?: (error: Error) => void;
|
|
5210
5464
|
}
|
|
@@ -5214,9 +5468,9 @@ interface RunResourceButtonProps {
|
|
|
5214
5468
|
* - If getInput() returns a plain object, executes immediately.
|
|
5215
5469
|
* - If getInput() returns { schema, defaults? }, opens a modal with ZodFormRenderer.
|
|
5216
5470
|
*
|
|
5217
|
-
* Label and color resolve from
|
|
5471
|
+
* Label and color resolve from explicit props, then defaults.
|
|
5218
5472
|
*/
|
|
5219
|
-
declare function RunResourceButton({ resourceId, resourceType, getInput, label, icon, color,
|
|
5473
|
+
declare function RunResourceButton({ resourceId, resourceType, getInput, label, icon, color, onSuccess, onError }: RunResourceButtonProps): react_jsx_runtime.JSX.Element;
|
|
5220
5474
|
|
|
5221
5475
|
/**
|
|
5222
5476
|
* Graph Component Types
|
|
@@ -6109,23 +6363,11 @@ declare function MdxRenderer({ compiledSource }: MdxRendererProps): react_jsx_ru
|
|
|
6109
6363
|
declare const mdxComponents: Record<string, React.ComponentType<Record<string, unknown>>>;
|
|
6110
6364
|
|
|
6111
6365
|
interface UseBreadcrumbsOptions {
|
|
6112
|
-
|
|
6113
|
-
navItems?: Array<{
|
|
6114
|
-
label: string;
|
|
6115
|
-
link?: string;
|
|
6116
|
-
links?: Array<{
|
|
6117
|
-
label: string;
|
|
6118
|
-
link?: string;
|
|
6119
|
-
links?: Array<{
|
|
6120
|
-
label: string;
|
|
6121
|
-
link: string;
|
|
6122
|
-
}>;
|
|
6123
|
-
}>;
|
|
6124
|
-
}>;
|
|
6366
|
+
labelsByPath?: Record<string, string>;
|
|
6125
6367
|
}
|
|
6126
6368
|
|
|
6127
6369
|
type BreadcrumbsProps = UseBreadcrumbsOptions;
|
|
6128
|
-
declare const Breadcrumbs: (
|
|
6370
|
+
declare const Breadcrumbs: (props: BreadcrumbsProps) => react_jsx_runtime.JSX.Element;
|
|
6129
6371
|
|
|
6130
6372
|
interface KanbanBoardProps {
|
|
6131
6373
|
/** Required column configuration. If omitted or empty, the board shows a configuration-required state. */
|
|
@@ -6309,50 +6551,32 @@ interface QuickCreateActionsProps {
|
|
|
6309
6551
|
}
|
|
6310
6552
|
declare function QuickCreateActions({ showSectionLabel }: QuickCreateActionsProps): react_jsx_runtime.JSX.Element;
|
|
6311
6553
|
|
|
6312
|
-
interface FeatureNavLink {
|
|
6313
|
-
label: string;
|
|
6314
|
-
link: string;
|
|
6315
|
-
featureKey?: string;
|
|
6316
|
-
onClick?: () => void;
|
|
6317
|
-
links?: FeatureNavLink[];
|
|
6318
|
-
}
|
|
6319
|
-
interface FeatureNavEntry {
|
|
6320
|
-
label: string;
|
|
6321
|
-
icon: ComponentType;
|
|
6322
|
-
link?: string;
|
|
6323
|
-
featureKey?: string;
|
|
6324
|
-
requiresAdmin?: boolean;
|
|
6325
|
-
dataOnboardingTourId?: string;
|
|
6326
|
-
links?: FeatureNavLink[];
|
|
6327
|
-
}
|
|
6328
6554
|
type FeatureSidebarComponent = ComponentType;
|
|
6555
|
+
type FeatureIconComponent = ComponentType<{
|
|
6556
|
+
size?: number;
|
|
6557
|
+
stroke?: number;
|
|
6558
|
+
}>;
|
|
6559
|
+
type FeatureSidebarWidthResolver = number | ((context: {
|
|
6560
|
+
currentPath: string;
|
|
6561
|
+
}) => number);
|
|
6329
6562
|
interface FeatureModule {
|
|
6330
|
-
/** Unique stable identifier for this feature
|
|
6563
|
+
/** Unique stable identifier for this feature module. */
|
|
6331
6564
|
key: string;
|
|
6332
|
-
/**
|
|
6565
|
+
/** Organization Model feature id this module presents. */
|
|
6333
6566
|
featureId: string;
|
|
6334
|
-
/**
|
|
6335
|
-
* Capability identifiers contributed by this feature.
|
|
6336
|
-
* Merged into `ResolvedFeatureSemantics.capabilityIds` at resolution time.
|
|
6337
|
-
* Not queried at runtime — kept for semantic graph completeness so that
|
|
6338
|
-
* capability membership is fully represented in the resolved model even when
|
|
6339
|
-
* a surface does not declare it directly.
|
|
6340
|
-
*/
|
|
6567
|
+
/** Capability identifiers contributed by this feature module. */
|
|
6341
6568
|
capabilityIds?: string[];
|
|
6342
|
-
/**
|
|
6343
|
-
|
|
6344
|
-
/** Sidebar component rendered when
|
|
6569
|
+
/** Icon used when this feature node appears in shell navigation. */
|
|
6570
|
+
icon?: FeatureIconComponent;
|
|
6571
|
+
/** Sidebar component rendered when this feature's subtree route is active. */
|
|
6345
6572
|
sidebar?: FeatureSidebarComponent;
|
|
6346
|
-
/**
|
|
6347
|
-
|
|
6348
|
-
/**
|
|
6349
|
-
* Operations-only bridge surface connecting this feature to the organization graph.
|
|
6350
|
-
* Ignored by all other features. Only one manifest in the registry should set this.
|
|
6351
|
-
*/
|
|
6573
|
+
/** Optional shell sidebar width override. Defaults to 250px. */
|
|
6574
|
+
sidebarWidth?: FeatureSidebarWidthResolver;
|
|
6575
|
+
/** Operations-only bridge connecting this feature to the organization graph node. */
|
|
6352
6576
|
organizationGraph?: OrganizationGraphFeatureBridge;
|
|
6353
6577
|
}
|
|
6354
6578
|
interface OrganizationGraphFeatureBridge {
|
|
6355
|
-
|
|
6579
|
+
featureId: string;
|
|
6356
6580
|
}
|
|
6357
6581
|
|
|
6358
6582
|
declare const crmManifest: FeatureModule;
|
|
@@ -6394,7 +6618,7 @@ declare function LeadGenRouteShell({ title, caption, body, links }: {
|
|
|
6394
6618
|
links?: LeadGenRouteLink[];
|
|
6395
6619
|
}): react_jsx_runtime.JSX.Element;
|
|
6396
6620
|
declare function getStatusColor(status: string | null): "green" | "red" | "gray";
|
|
6397
|
-
declare function getEnrichmentColor(status: string): "
|
|
6621
|
+
declare function getEnrichmentColor(status: string): "yellow" | "green" | "red" | "gray";
|
|
6398
6622
|
declare const LIST_TEMPLATE_OPTIONS: readonly [{
|
|
6399
6623
|
readonly value: "blank";
|
|
6400
6624
|
readonly label: "Blank";
|
|
@@ -6517,5 +6741,5 @@ declare const OperationsSidebarMiddle: () => react_jsx_runtime.JSX.Element;
|
|
|
6517
6741
|
|
|
6518
6742
|
declare const operationsManifest: FeatureModule;
|
|
6519
6743
|
|
|
6520
|
-
export { APIErrorAlert, AbsoluteScheduleForm, ActionModal, ActivityCard, ActivityFeedWidget, ActivityFilters as ActivityFiltersBar, ActivityTable, ActivityTimeline, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, AllTasksPage, ApiKeyDisplayModal, ApiKeyList, ApiKeySettings, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CONTAINER_CONSTANTS, CardHeader, CenteredErrorState, CheckpointGroup, CollapsibleJsonSection, CollapsibleSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CommandViewEdge, CommandViewGraph, CommandViewNode, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContentSections, ContextUsageBadge, ContextViewer, ContractDisplay, CostBreakdownCard, CostByModelTable, CostMetricsCard, CrashErrorFallback, CreateApiKeyModal, CreateCredentialModal, CreateScheduleModal, CredentialList, CredentialSettings, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, CustomSelector, DEAL_STAGES, DEFAULT_KANBAN_CONFIG, DealDetailPage, DealDrawer, DealKanbanCard, DealsListPage, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentSettings, DeploymentStatusBadge, DetailCardSkeleton, EditApiKeyModal, ElevasisLoader, EmptyState, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorReportCard, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, ExecutionStats, ExecutionStatusBadge, FeatureUnavailableState, FilterBar, FormFieldRenderer, GlowDot, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, JsonViewer, KanbanBoard, LEAD_GEN_ROUTE_LINKS, LIST_TEMPLATE_OPTIONS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, ListSkeleton, LogEntry, LogGroup, MdxRenderer, MembershipFeaturePanel, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyTasksPanel, NavigationButton, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NotificationBell, NotificationItem, NotificationList, NotificationPanel, OAuthConnectModal, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrganizationMembershipsList, PIPELINE_FUNNEL_ORDER, PageNotFound, PageTitleCaption, PipelineFunnelWidget, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, QuickCreateActions, RecurringScheduleForm, RelativeScheduleForm, ResourceCard, ResourceDefinitionSection, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, RichTextEditor, RunResourceButton, SAVED_VIEW_PRESETS, SEOSidebar, SEOSidebarMiddle, SEOSidebarTop, SHARED_VIZ_CONSTANTS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SessionMemory, SortableHeader, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, StyledMarkdown, TabCountBadge, TableSelectionToolbar, TaskCard, TaskScheduler, TasksDueWidget, TimeRangeSelector, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, TrendIndicator, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UpcomingMilestonesPage, VisualizerContainer, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionTimeline, ZodFormRenderer, buildErrorReport, buildListConfig, calculateProgress, catalogItemToResourceDefinition, crmManifest, deliveryManifest, formatStatusLabel, getEnrichmentColor, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getLogLevelConfig, getStatusColor, iconMap, leadGenManifest, mdxComponents, milestoneStatusColors, monitoringManifest, noteTypeColors, operationsManifest, projectStatusColors, seoManifest, settingsManifest, showApiErrorNotification, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, taskStatusColors, taskTypeColors, useCrmPipelineSummary, useCrmQuickMetrics, useDeleteLists, useGraphBackgroundStyles, useGraphTheme, useNewKnowledgeMapLayout, useRecentCrmActivity };
|
|
6521
|
-
export type { ActivityEntry, ActivityFiltersProps, ActivityTableProps, BaseEdgeProps, BaseExecutionLogsProps, BreadcrumbsProps, CommandViewGraphRef, ContextViewerProps, CostByModelTableProps, CrashErrorFallbackProps, CrmOverviewProps, DealDrawerProps, DealKanbanCardProps, ErrorAnalysisCardProps, ErrorReportCardProps, ExecutionBreakdownTableProps, ExecutionHealthCardProps, ExecutionLogEntry, ExecutionLogsFiltersProps, ExecutionLogsTableProps, FeatureUnavailableStateProps, FitViewButtonVariant, FormFieldRendererProps, GraphFitViewHandlerProps, JsonViewerProps, KanbanBoardProps, KnowledgeMapEdgeData, KnowledgeMapNodeData, LogLevel, MdxRendererProps, NavigationButtonProps, ProjectsSidebarMiddleProps, ResourceHealthPanelProps, RichTextEditorProps, RunResourceButtonProps, RunResourceInputResolver, SavedViewPreset, ScheduleType, SerializedKnowledgeMap, SerializedKnowledgeNode, StatCardProps, StyledMarkdownProps, TaskFilterStatus, TrendIndicatorProps, ZodFormRendererProps };
|
|
6744
|
+
export { APIErrorAlert, AbsoluteScheduleForm, ActionModal, ActivityCard, ActivityFeedWidget, ActivityFilters as ActivityFiltersBar, ActivityTable, ActivityTimeline, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, AllTasksPage, ApiKeyDisplayModal, ApiKeyList, ApiKeySettings, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CONTAINER_CONSTANTS, Can, CardHeader, CenteredErrorState, CheckpointGroup, CollapsibleJsonSection, CollapsibleSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CommandViewEdge, CommandViewGraph, CommandViewNode, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContentSections, ContextUsageBadge, ContextViewer, ContractDisplay, CostBreakdownCard, CostByModelTable, CostMetricsCard, CrashErrorFallback, CreateApiKeyModal, CreateCredentialModal, CreateRoleModal, CreateScheduleModal, CredentialList, CredentialSettings, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, CustomSelector, DEAL_STAGES, DEFAULT_KANBAN_CONFIG, DealDetailPage, DealDrawer, DealKanbanCard, DealsListPage, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentSettings, DeploymentStatusBadge, DetailCardSkeleton, EditApiKeyModal, ElevasisLoader, EmptyState, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorReportCard, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, ExecutionStats, ExecutionStatusBadge, FeatureUnavailableState, FilterBar, FormFieldRenderer, GlowDot, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, JsonViewer, KanbanBoard, LEAD_GEN_ROUTE_LINKS, LIST_TEMPLATE_OPTIONS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, ListSkeleton, LogEntry, LogGroup, MdxRenderer, MembershipFeaturePanel, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyTasksPanel, NavigationButton, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NoAccessState, NotificationBell, NotificationItem, NotificationList, NotificationPanel, OAuthConnectModal, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrganizationMembershipsList, PIPELINE_FUNNEL_ORDER, PageNotFound, PageTitleCaption, PermissionMatrix, PipelineFunnelWidget, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, QuickCreateActions, RecurringScheduleForm, RelativeScheduleForm, ResourceCard, ResourceDefinitionSection, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, RichTextEditor, RoleBadge, RunResourceButton, SAVED_VIEW_PRESETS, SEOSidebar, SEOSidebarMiddle, SEOSidebarTop, SHARED_VIZ_CONSTANTS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SessionMemory, SortableHeader, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, StyledMarkdown, TabCountBadge, TableSelectionToolbar, TaskCard, TaskScheduler, TasksDueWidget, TimeRangeSelector, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, TrendIndicator, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UpcomingMilestonesPage, VisualizerContainer, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionTimeline, ZodFormRenderer, buildErrorReport, buildListConfig, calculateProgress, catalogItemToResourceDefinition, crmManifest, deliveryManifest, formatStatusLabel, getEnrichmentColor, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getLogLevelConfig, getStatusColor, iconMap, leadGenManifest, mdxComponents, milestoneStatusColors, monitoringManifest, noteTypeColors, operationsManifest, projectStatusColors, seoManifest, settingsManifest, showApiErrorNotification, showAuthError, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, taskStatusColors, taskTypeColors, useCrmPipelineSummary, useCrmQuickMetrics, useDeleteLists, useGraphBackgroundStyles, useGraphTheme, useNewKnowledgeMapLayout, useRecentCrmActivity };
|
|
6745
|
+
export type { ActivityEntry, ActivityFiltersProps, ActivityTableProps, BaseEdgeProps, BaseExecutionLogsProps, BreadcrumbsProps, CommandViewGraphRef, ContextViewerProps, CostByModelTableProps, CrashErrorFallbackProps, CreateRoleModalProps, CrmOverviewProps, DealDrawerProps, DealKanbanCardProps, ErrorAnalysisCardProps, ErrorReportCardProps, ExecutionBreakdownTableProps, ExecutionHealthCardProps, ExecutionLogEntry, ExecutionLogsFiltersProps, ExecutionLogsTableProps, FeatureUnavailableStateProps, FitViewButtonVariant, FormFieldRendererProps, GraphFitViewHandlerProps, JsonViewerProps, KanbanBoardProps, KnowledgeMapEdgeData, KnowledgeMapNodeData, LogLevel, MdxRendererProps, NavigationButtonProps, PermissionRow, ProjectsSidebarMiddleProps, ResourceHealthPanelProps, RichTextEditorProps, RunResourceButtonProps, RunResourceInputResolver, SavedViewPreset, ScheduleType, SerializedKnowledgeMap, SerializedKnowledgeNode, StatCardProps, StyledMarkdownProps, TaskFilterStatus, TrendIndicatorProps, ZodFormRendererProps };
|