@mdxui/do 2.1.1 → 4.0.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 (75) hide show
  1. package/README.md +115 -323
  2. package/dist/{agents-xcIn2dUB.d.ts → agents-2_r9e9i7.d.ts} +213 -2
  3. package/dist/app/index.d.ts +347 -0
  4. package/dist/app/index.js +14 -0
  5. package/dist/app/index.js.map +1 -0
  6. package/dist/breadcrumbs-C9Qn3S7d.d.ts +81 -0
  7. package/dist/capnweb-client-Bq78FtEA.d.ts +229 -0
  8. package/dist/chunk-3XKYQRXY.js +192 -0
  9. package/dist/chunk-3XKYQRXY.js.map +1 -0
  10. package/dist/chunk-4KXVN3EQ.js +56 -0
  11. package/dist/chunk-4KXVN3EQ.js.map +1 -0
  12. package/dist/chunk-5SHZZC7L.js +234 -0
  13. package/dist/chunk-5SHZZC7L.js.map +1 -0
  14. package/dist/chunk-7UFINK3Q.js +1994 -0
  15. package/dist/chunk-7UFINK3Q.js.map +1 -0
  16. package/dist/chunk-JJLAES6W.js +76 -0
  17. package/dist/chunk-JJLAES6W.js.map +1 -0
  18. package/dist/chunk-KT52UU3U.js +985 -0
  19. package/dist/chunk-KT52UU3U.js.map +1 -0
  20. package/dist/chunk-LJIWB7KE.js +95 -0
  21. package/dist/chunk-LJIWB7KE.js.map +1 -0
  22. package/dist/chunk-NA652ART.js +596 -0
  23. package/dist/chunk-NA652ART.js.map +1 -0
  24. package/dist/chunk-OVLO7UOH.js +1071 -0
  25. package/dist/chunk-OVLO7UOH.js.map +1 -0
  26. package/dist/chunk-VRLUXCLD.js +31 -0
  27. package/dist/chunk-VRLUXCLD.js.map +1 -0
  28. package/dist/chunk-WMNT4OIE.js +249 -0
  29. package/dist/chunk-WMNT4OIE.js.map +1 -0
  30. package/dist/chunk-Y52IEYVM.js +131 -0
  31. package/dist/chunk-Y52IEYVM.js.map +1 -0
  32. package/dist/components/index.d.ts +14 -732
  33. package/dist/components/index.js +3 -6
  34. package/dist/config-CxvpD8Y6.d.ts +111 -0
  35. package/dist/{do-CaQVueZw.d.ts → do-D27i5bU0.d.ts} +32 -33
  36. package/dist/errors-DratdVIz.d.ts +346 -0
  37. package/dist/hooks/index.d.ts +450 -691
  38. package/dist/hooks/index.js +6 -4
  39. package/dist/hooks/things/index.d.ts +298 -0
  40. package/dist/hooks/things/index.js +8 -0
  41. package/dist/hooks/things/index.js.map +1 -0
  42. package/dist/index.d.ts +62 -989
  43. package/dist/index.js +12 -839
  44. package/dist/index.js.map +1 -1
  45. package/dist/lib/index.d.ts +798 -0
  46. package/dist/lib/index.js +6 -0
  47. package/dist/lib/index.js.map +1 -0
  48. package/dist/providers/index.d.ts +130 -34
  49. package/dist/providers/index.js +3 -2
  50. package/dist/query-keys-CZNFikIi.d.ts +153 -0
  51. package/dist/schemas/index.d.ts +5 -5
  52. package/dist/schemas/index.js +2 -2
  53. package/dist/schemas/index.js.map +1 -1
  54. package/dist/{thing-DtI25yZh.d.ts → thing-BF25aUtJ.d.ts} +72 -72
  55. package/dist/types/index.d.ts +693 -658
  56. package/dist/types/index.js +1 -2
  57. package/dist/views/index.d.ts +131 -0
  58. package/dist/views/index.js +11 -0
  59. package/dist/views/index.js.map +1 -0
  60. package/package.json +39 -17
  61. package/dist/__test-utils__/index.d.ts +0 -399
  62. package/dist/__test-utils__/index.js +0 -34641
  63. package/dist/__test-utils__/index.js.map +0 -1
  64. package/dist/chunk-EEDMN7UF.js +0 -1351
  65. package/dist/chunk-EEDMN7UF.js.map +0 -1
  66. package/dist/chunk-G3PMV62Z.js +0 -33
  67. package/dist/chunk-G3PMV62Z.js.map +0 -1
  68. package/dist/chunk-NXPXL5NA.js +0 -3789
  69. package/dist/chunk-NXPXL5NA.js.map +0 -1
  70. package/dist/chunk-PC5FJY6M.js +0 -20
  71. package/dist/chunk-PC5FJY6M.js.map +0 -1
  72. package/dist/chunk-XF6LKY2M.js +0 -445
  73. package/dist/chunk-XF6LKY2M.js.map +0 -1
  74. package/dist/magic-string.es-J7BYFTTJ.js +0 -1307
  75. package/dist/magic-string.es-J7BYFTTJ.js.map +0 -1
@@ -1,741 +1,23 @@
1
+ export { a as BreadcrumbItemConfig, B as BreadcrumbLinkProps, c as Breadcrumbs, b as BreadcrumbsProps } from '../breadcrumbs-C9Qn3S7d.js';
1
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
3
  import * as React from 'react';
3
- import { LucideIcon } from 'lucide-react';
4
- import { T as Thing, c as ThingFilter, d as ThingSort, e as ThingPagination } from '../thing-DtI25yZh.js';
5
- import { a as Workflow, q as WorkflowFilter, m as WorkflowExecution, s as Agent, U as AgentFilter, F as AgentExecution, Q as AgentFeedback } from '../agents-xcIn2dUB.js';
6
- import 'zod';
7
- import '../schemas/index.js';
8
4
 
9
- /**
10
- * Props for DOShell
11
- */
12
- interface DOShellProps {
13
- /** Sidebar content */
14
- sidebar?: React.ReactNode;
15
- /** Header content */
16
- header?: React.ReactNode;
17
- /** Main content */
18
- children: React.ReactNode;
19
- /** Default sidebar open state */
20
- defaultSidebarOpen?: boolean;
21
- /** Controlled sidebar open state */
22
- sidebarOpen?: boolean;
23
- /** Callback when sidebar state changes */
24
- onSidebarOpenChange?: (open: boolean) => void;
25
- /** Additional class name */
26
- className?: string;
27
- }
28
- /**
29
- * Shell context
30
- */
31
- interface ShellContextValue {
32
- sidebarOpen: boolean;
33
- setSidebarOpen: (open: boolean) => void;
34
- toggleSidebar: () => void;
35
- }
36
- declare function useShell(): ShellContextValue;
37
- /**
38
- * DOShell - Main layout shell for the admin interface
39
- *
40
- * Provides:
41
- * - Collapsible sidebar
42
- * - Header area
43
- * - Main content area with proper scrolling
44
- *
45
- * @example
46
- * ```tsx
47
- * <DOShell
48
- * sidebar={<DOSidebar />}
49
- * header={<DOHeader />}
50
- * >
51
- * <ThingsBrowser />
52
- * </DOShell>
53
- * ```
54
- */
55
- declare function DOShell({ sidebar, header, children, defaultSidebarOpen, sidebarOpen: controlledSidebarOpen, onSidebarOpenChange, className, }: DOShellProps): react_jsx_runtime.JSX.Element;
56
-
57
- /**
58
- * Navigation item definition
59
- */
60
- interface NavItem {
61
- /** Item ID */
62
- id: string;
63
- /** Item label */
64
- label: string;
65
- /** Item icon */
66
- icon?: LucideIcon;
67
- /** URL to navigate to */
68
- href?: string;
69
- /** Child items */
70
- children?: NavItem[];
71
- /** Is this item active? */
72
- active?: boolean;
73
- /** Badge content */
74
- badge?: string | number;
75
- /** Is this item disabled? */
76
- disabled?: boolean;
77
- }
78
- /**
79
- * Props for DOSidebar
80
- */
81
- interface DOSidebarProps {
82
- /** Header content (logo, title) */
83
- header?: React.ReactNode;
84
- /** Navigation items */
85
- items?: NavItem[];
86
- /** Currently active item ID */
87
- activeItem?: string;
88
- /** Footer content */
89
- footer?: React.ReactNode;
90
- /** Callback when item is clicked */
91
- onItemClick?: (item: NavItem) => void;
92
- /** Additional class name */
93
- className?: string;
94
- }
95
- /**
96
- * Default navigation items for DO admin
97
- */
98
- declare const defaultNavItems: NavItem[];
99
- /**
100
- * DOSidebar - Navigation sidebar for the admin interface
101
- */
102
- declare function DOSidebar({ header, items, activeItem, footer, onItemClick, className, }: DOSidebarProps): react_jsx_runtime.JSX.Element;
103
- /**
104
- * DOSidebarHeader - Logo and title for sidebar
105
- */
106
- interface DOSidebarHeaderProps {
107
- /** Logo element or URL */
108
- logo?: React.ReactNode | string;
109
- /** Title */
110
- title?: string;
111
- /** Subtitle */
112
- subtitle?: string;
113
- /** Additional class name */
114
- className?: string;
115
- }
116
- declare function DOSidebarHeader({ logo, title, subtitle, className }: DOSidebarHeaderProps): react_jsx_runtime.JSX.Element;
117
-
118
- /**
119
- * Props for DOHeader
120
- */
121
- interface DOHeaderProps {
122
- /** Title to display */
123
- title?: string;
124
- /** Breadcrumbs */
125
- breadcrumbs?: Array<{
126
- label: string;
127
- href?: string;
128
- }>;
129
- /** Show search input */
130
- showSearch?: boolean;
131
- /** Search placeholder */
132
- searchPlaceholder?: string;
133
- /** Search value */
134
- searchValue?: string;
135
- /** Callback when search changes */
136
- onSearchChange?: (value: string) => void;
137
- /** Actions to show on the right */
138
- actions?: React.ReactNode;
139
- /** User info */
140
- user?: {
141
- name: string;
142
- email?: string;
143
- avatar?: string;
144
- };
145
- /** Callback when user menu item is clicked */
146
- onUserMenuClick?: (action: 'profile' | 'settings' | 'logout') => void;
147
- /** Additional class name */
148
- className?: string;
149
- }
150
- /**
151
- * DOHeader - Header bar for the admin interface
152
- */
153
- declare function DOHeader({ title, breadcrumbs, showSearch, searchPlaceholder, searchValue, onSearchChange, actions, user, onUserMenuClick, className, }: DOHeaderProps): react_jsx_runtime.JSX.Element;
154
-
155
- /**
156
- * Sync state values for the SyncStatusIndicator component
157
- *
158
- * Note: This is separate from the SyncStatus type in types/do.ts which
159
- * represents backend sync states. This type is for the UI indicator component.
160
- */
161
- type SyncIndicatorState = 'connected' | 'disconnected' | 'syncing';
162
- /**
163
- * Props for SyncStatusIndicator
164
- */
165
- interface SyncStatusIndicatorProps {
166
- /** Current sync state */
167
- state?: SyncIndicatorState;
168
- /** Whether to show label text */
169
- showLabel?: boolean;
170
- /** Label text override */
171
- label?: string;
172
- /** Additional class name */
173
- className?: string;
174
- }
175
- /**
176
- * SyncStatusIndicator - Connection/sync status indicator
177
- *
178
- * Displays the current connection state with appropriate icon and color.
179
- * Used in the header to show real-time sync status.
180
- *
181
- * @example
182
- * ```tsx
183
- * <SyncStatusIndicator state="connected" />
184
- * <SyncStatusIndicator state="syncing" showLabel />
185
- * <SyncStatusIndicator state="disconnected" label="Offline" />
186
- * ```
187
- */
188
- declare function SyncStatusIndicator({ state, showLabel, label, className, }: SyncStatusIndicatorProps): react_jsx_runtime.JSX.Element;
189
-
190
- /**
191
- * Stat card data
192
- */
193
- interface StatCardData {
194
- /** Card title */
195
- title: string;
196
- /** Current value */
197
- value: number;
198
- /** Previous value (for trend calculation) */
199
- previousValue?: number;
200
- /** Icon */
201
- icon?: LucideIcon;
202
- /** Card color */
203
- color?: 'default' | 'primary' | 'success' | 'warning' | 'destructive';
204
- /** Link */
205
- href?: string;
206
- }
207
- /**
208
- * Props for StatsCards
209
- */
210
- interface StatsCardsProps {
211
- /** Stats to display */
212
- stats: StatCardData[];
213
- /** Loading state */
214
- loading?: boolean;
215
- /** Callback when card is clicked */
216
- onCardClick?: (stat: StatCardData) => void;
217
- /** Additional class name */
218
- className?: string;
219
- }
220
- /**
221
- * Default stats for DO admin dashboard
222
- */
223
- declare const defaultStats: StatCardData[];
224
- /**
225
- * StatsCards - Dashboard statistics cards
226
- */
227
- declare function StatsCards({ stats, loading, onCardClick, className }: StatsCardsProps): react_jsx_runtime.JSX.Element;
228
-
229
- /**
230
- * Props for ThingsList
231
- */
232
- interface ThingsListProps {
233
- /** Things to display */
234
- things: Thing[];
235
- /** Total count */
236
- total: number;
237
- /** Loading state */
238
- loading?: boolean;
239
- /** Selected thing IDs */
240
- selectedIds?: string[];
241
- /** Current filter */
242
- filter?: ThingFilter;
243
- /** Current sort */
244
- sort?: ThingSort;
245
- /** Current pagination */
246
- pagination?: ThingPagination;
247
- /** Available types for filtering */
248
- availableTypes?: string[];
249
- /** Callback when filter changes */
250
- onFilterChange?: (filter: ThingFilter) => void;
251
- /** Callback when sort changes */
252
- onSortChange?: (sort: ThingSort) => void;
253
- /** Callback when pagination changes */
254
- onPaginationChange?: (pagination: ThingPagination) => void;
255
- /** Callback when thing is clicked */
256
- onThingClick?: (thing: Thing) => void;
257
- /** Callback when thing is double-clicked (edit shortcut) */
258
- onThingDoubleClick?: (thing: Thing) => void;
259
- /** Callback when thing is selected */
260
- onThingSelect?: (thing: Thing, selected: boolean) => void;
261
- /** Callback for action */
262
- onAction?: (thing: Thing, action: 'view' | 'edit' | 'delete' | 'history') => void;
263
- /** Callback to create new thing */
264
- onCreate?: () => void;
265
- /** Additional class name */
266
- className?: string;
267
- }
268
- /**
269
- * ThingsList - List view for Things
270
- *
271
- * A data table for displaying and managing Things with search, filter,
272
- * pagination, and row actions. Includes proper data-testid attributes
273
- * for Playwright E2E testing.
274
- *
275
- * @example
276
- * ```tsx
277
- * <ThingsList
278
- * things={thingsData}
279
- * total={100}
280
- * onCreate={() => openCreateDialog()}
281
- * onAction={(thing, action) => handleAction(thing, action)}
282
- * />
283
- * ```
284
- */
285
- declare function ThingsList({ things, total, loading, selectedIds, filter, sort, pagination, availableTypes, onFilterChange, onSortChange, onPaginationChange, onThingClick, onThingDoubleClick, onThingSelect, onAction, onCreate, className, }: ThingsListProps): react_jsx_runtime.JSX.Element;
286
-
287
- /**
288
- * Form data for creating or updating a Thing
289
- */
290
- interface ThingFormData {
291
- type: string;
292
- name: string;
293
- description: string;
294
- }
295
- /**
296
- * Validation errors for form fields
297
- */
298
- interface ThingFormErrors {
299
- type?: string;
300
- name?: string;
301
- description?: string;
302
- }
303
- /**
304
- * Props for ThingForm component
305
- */
306
- interface ThingFormProps {
307
- /** Existing thing for edit mode (undefined = create mode) */
308
- thing?: Thing;
309
- /** Called when form is submitted with valid data */
310
- onSubmit: (data: ThingFormData) => void | Promise<void>;
311
- /** Called when cancel button is clicked */
312
- onCancel: () => void;
313
- /** Whether form is currently submitting */
314
- isSubmitting?: boolean;
315
- /** Additional class name */
316
- className?: string;
317
- }
318
- /**
319
- * ThingForm - Form for creating or editing Things
320
- *
321
- * Provides validated input fields for Thing data with proper test IDs
322
- * for Playwright E2E testing.
323
- *
324
- * @example
325
- * ```tsx
326
- * <ThingForm
327
- * onSubmit={(data) => createThing(data)}
328
- * onCancel={() => closeDialog()}
329
- * />
330
- * ```
331
- */
332
- declare function ThingForm({ thing, onSubmit, onCancel, isSubmitting, className, }: ThingFormProps): react_jsx_runtime.JSX.Element;
333
-
334
- /**
335
- * Props for ThingFormDialog component
336
- */
337
- interface ThingFormDialogProps {
338
- /** Whether the dialog is open */
339
- open: boolean;
340
- /** The thing being edited (undefined = create mode) */
341
- thing?: Thing;
342
- /** Called when dialog should close (cancel, escape, submit success) */
343
- onClose: () => void;
344
- /** Called when form is submitted with valid data */
345
- onSubmit: (data: ThingFormData) => void | Promise<void>;
346
- /** Whether form is currently submitting */
347
- isSubmitting?: boolean;
348
- }
349
- /**
350
- * ThingFormDialog - Dialog wrapper for ThingForm
351
- *
352
- * Provides a modal dialog for creating or editing Things with proper
353
- * accessibility and test IDs for Playwright E2E testing.
354
- *
355
- * @example
356
- * ```tsx
357
- * <ThingFormDialog
358
- * open={isDialogOpen}
359
- * onClose={() => setIsDialogOpen(false)}
360
- * onSubmit={async (data) => {
361
- * await createThing(data)
362
- * setIsDialogOpen(false)
363
- * }}
364
- * />
365
- * ```
366
- */
367
- declare function ThingFormDialog({ open, thing, onClose, onSubmit, isSubmitting, }: ThingFormDialogProps): react_jsx_runtime.JSX.Element | null;
368
-
369
- /**
370
- * Props for ConfirmDialog component
371
- */
372
- interface ConfirmDialogProps {
373
- /** Whether the dialog is open */
374
- open: boolean;
375
- /** Dialog title */
376
- title: string;
377
- /** Dialog message/description */
378
- message: string;
379
- /** Text for the confirm button */
380
- confirmText?: string;
381
- /** Text for the cancel button */
382
- cancelText?: string;
383
- /** Whether the action is destructive (shows red confirm button) */
384
- destructive?: boolean;
385
- /** Called when confirm button is clicked */
386
- onConfirm: () => void | Promise<void>;
387
- /** Called when cancel button is clicked or dialog is dismissed */
388
- onCancel: () => void;
389
- /** Whether the confirm action is in progress */
390
- isConfirming?: boolean;
391
- }
392
- /**
393
- * ConfirmDialog - Reusable confirmation dialog
394
- *
395
- * A modal dialog for confirming destructive or important actions.
396
- * Provides proper accessibility and test IDs for Playwright E2E testing.
397
- *
398
- * @example
399
- * ```tsx
400
- * <ConfirmDialog
401
- * open={isDeleteDialogOpen}
402
- * title="Delete Thing"
403
- * message="Are you sure you want to delete this Thing? This action cannot be undone."
404
- * confirmText="Delete"
405
- * destructive
406
- * onConfirm={async () => {
407
- * await deleteThing()
408
- * setIsDeleteDialogOpen(false)
409
- * }}
410
- * onCancel={() => setIsDeleteDialogOpen(false)}
411
- * />
412
- * ```
413
- */
414
- declare function ConfirmDialog({ open, title, message, confirmText, cancelText, destructive, onConfirm, onCancel, isConfirming, }: ConfirmDialogProps): react_jsx_runtime.JSX.Element | null;
415
-
416
- /**
417
- * Toast type for different notification styles
418
- */
419
- type ToastType = 'success' | 'error' | 'info' | 'warning';
420
- /**
421
- * Toast notification data
422
- */
423
- interface Toast {
424
- id: string;
425
- type: ToastType;
426
- message: string;
427
- duration?: number;
428
- action?: {
429
- label: string;
430
- onClick: () => void;
431
- };
432
- }
433
- /**
434
- * Props for ToastNotification component
435
- */
436
- interface ToastNotificationProps {
437
- toast: Toast;
438
- onDismiss: (id: string) => void;
439
- }
440
- /**
441
- * Props for ToastContainer component
442
- */
443
- interface ToastContainerProps {
444
- toasts: Toast[];
445
- onDismiss: (id: string) => void;
446
- position?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top-center';
447
- }
448
- /**
449
- * ToastContainer - Container for displaying toast notifications
450
- *
451
- * @example
452
- * ```tsx
453
- * const [toasts, setToasts] = useState<Toast[]>([])
454
- *
455
- * const addToast = (type: ToastType, message: string) => {
456
- * const id = crypto.randomUUID()
457
- * setToasts((prev) => [...prev, { id, type, message }])
458
- * setTimeout(() => removeToast(id), 5000)
459
- * }
460
- *
461
- * const removeToast = (id: string) => {
462
- * setToasts((prev) => prev.filter((t) => t.id !== id))
463
- * }
464
- *
465
- * return (
466
- * <>
467
- * <button onClick={() => addToast('success', 'Created!')}>
468
- * Create
469
- * </button>
470
- * <ToastContainer toasts={toasts} onDismiss={removeToast} />
471
- * </>
472
- * )
473
- * ```
474
- */
475
- declare function ToastContainer({ toasts, onDismiss, position, }: ToastContainerProps): react_jsx_runtime.JSX.Element | null;
476
- /**
477
- * Toast context for global toast management
478
- */
479
- interface ToastContextValue {
480
- addToast: (type: ToastType, message: string, options?: {
481
- duration?: number;
482
- action?: Toast['action'];
483
- }) => void;
484
- removeToast: (id: string) => void;
485
- }
486
- /**
487
- * useToast hook for accessing toast functions
488
- */
489
- declare function useToast(): ToastContextValue;
490
- /**
491
- * Props for ToastProvider
492
- */
493
- interface ToastProviderProps {
494
- children: React.ReactNode;
495
- position?: ToastContainerProps['position'];
496
- defaultDuration?: number;
497
- }
498
- /**
499
- * ToastProvider - Provides toast context to children
500
- *
501
- * @example
502
- * ```tsx
503
- * function App() {
504
- * return (
505
- * <ToastProvider>
506
- * <MyComponent />
507
- * </ToastProvider>
508
- * )
509
- * }
510
- *
511
- * function MyComponent() {
512
- * const { addToast } = useToast()
513
- *
514
- * return (
515
- * <button onClick={() => addToast('success', 'Saved!')}>
516
- * Save
517
- * </button>
518
- * )
519
- * }
520
- * ```
521
- */
522
- declare function ToastProvider({ children, position, defaultDuration, }: ToastProviderProps): react_jsx_runtime.JSX.Element;
523
-
524
- /**
525
- * Props for ThingsPage component
526
- */
527
- interface ThingsPageProps {
528
- /** Initial filter */
529
- initialFilter?: ThingFilter;
530
- /** Initial sort */
531
- initialSort?: ThingSort;
532
- /** Initial pagination */
533
- initialPagination?: ThingPagination;
534
- /** Available types for filtering */
535
- availableTypes?: string[];
536
- /** Callback when URL params should change (for routing) */
537
- onParamsChange?: (params: {
538
- filter?: ThingFilter;
539
- sort?: ThingSort;
540
- pagination?: ThingPagination;
541
- }) => void;
542
- /** Additional class name */
543
- className?: string;
544
- }
545
- /**
546
- * ThingsPage - Complete Things management page with CRUD operations
547
- *
548
- * A connected component that wires up ThingsList with create/edit/delete
549
- * dialogs and toast notifications. Uses the Things hooks for data fetching
550
- * and mutations.
551
- *
552
- * @example
553
- * ```tsx
554
- * // Basic usage
555
- * <ThingsPage />
556
- *
557
- * // With initial filter
558
- * <ThingsPage
559
- * initialFilter={{ type: 'Task' }}
560
- * onParamsChange={(params) => updateURL(params)}
561
- * />
562
- * ```
563
- */
564
- declare function ThingsPage(props: ThingsPageProps): react_jsx_runtime.JSX.Element;
565
-
566
- /**
567
- * Props for WorkflowsList
568
- */
569
- interface WorkflowsListProps {
570
- /** Workflows to display */
571
- workflows: Workflow[];
572
- /** Total count */
573
- total: number;
574
- /** Loading state */
575
- loading?: boolean;
576
- /** Current filter */
577
- filter?: WorkflowFilter;
578
- /** Callback when filter changes */
579
- onFilterChange?: (filter: WorkflowFilter) => void;
580
- /** Callback when workflow is clicked */
581
- onWorkflowClick?: (workflow: Workflow) => void;
582
- /** Callback when trigger button is clicked */
583
- onTriggerWorkflow?: (workflow: Workflow) => void;
584
- /** Callback to create new workflow */
585
- onCreate?: () => void;
586
- /** Additional class name */
587
- className?: string;
588
- }
589
- /**
590
- * WorkflowsList - List view for Workflows
591
- */
592
- declare function WorkflowsList({ workflows, total, loading, filter, onFilterChange, onWorkflowClick, onTriggerWorkflow, onCreate, className, }: WorkflowsListProps): react_jsx_runtime.JSX.Element;
593
-
594
- /**
595
- * Props for WorkflowExecutionView
596
- */
597
- interface WorkflowExecutionViewProps {
598
- /** The workflow being executed */
599
- workflow: Workflow;
600
- /** Current execution (if viewing a specific one) */
601
- execution?: WorkflowExecution | null;
602
- /** List of executions for the workflow */
603
- executions?: WorkflowExecution[];
604
- /** Loading state */
605
- loading?: boolean;
606
- /** Selected tab */
607
- activeTab?: 'details' | 'executions';
608
- /** Callback when tab changes */
609
- onTabChange?: (tab: 'details' | 'executions') => void;
610
- /** Callback when execution is clicked */
611
- onExecutionClick?: (execution: WorkflowExecution) => void;
612
- /** Callback to cancel execution */
613
- onCancelExecution?: (executionId: string) => void;
614
- /** Callback to retry execution */
615
- onRetryExecution?: (execution: WorkflowExecution) => void;
616
- /** Additional class name */
617
- className?: string;
618
- }
619
- /**
620
- * WorkflowExecutionView - View for workflow executions
621
- */
622
- declare function WorkflowExecutionView({ workflow, execution, executions, loading, activeTab, onTabChange, onExecutionClick, onCancelExecution, onRetryExecution, className, }: WorkflowExecutionViewProps): react_jsx_runtime.JSX.Element;
623
-
624
- /**
625
- * Props for TriggerWorkflowDialog
626
- */
627
- interface TriggerWorkflowDialogProps {
628
- /** The workflow to trigger */
629
- workflow: Workflow;
630
- /** Whether the dialog is open */
631
- open: boolean;
632
- /** Loading state (while triggering) */
633
- loading?: boolean;
634
- /** Callback to close the dialog */
635
- onClose: () => void;
636
- /** Callback to trigger the workflow */
637
- onTrigger: (input?: Record<string, unknown>) => void;
638
- /** Additional class name */
639
- className?: string;
640
- }
641
- /**
642
- * TriggerWorkflowDialog - Dialog for manually triggering a workflow
643
- */
644
- declare function TriggerWorkflowDialog({ workflow, open, loading, onClose, onTrigger, className, }: TriggerWorkflowDialogProps): react_jsx_runtime.JSX.Element | null;
645
-
646
- /**
647
- * Props for AgentsGrid
648
- */
649
- interface AgentsGridProps {
650
- /** Agents to display */
651
- agents: Agent[];
652
- /** Total count */
653
- total: number;
654
- /** Loading state */
655
- loading?: boolean;
656
- /** Current filter */
657
- filter?: AgentFilter;
658
- /** Callback when filter changes */
659
- onFilterChange?: (filter: AgentFilter) => void;
660
- /** Callback when agent card is clicked */
661
- onAgentClick?: (agent: Agent) => void;
662
- /** Callback to create new agent */
663
- onCreate?: () => void;
664
- /** Additional class name */
665
- className?: string;
666
- }
667
- /**
668
- * AgentsGrid - Grid view for Agents
669
- */
670
- declare function AgentsGrid({ agents, total, loading, filter, onFilterChange, onAgentClick, onCreate, className, }: AgentsGridProps): react_jsx_runtime.JSX.Element;
671
-
672
- /**
673
- * Props for AgentExecutePanel
674
- */
675
- interface AgentExecutePanelProps {
676
- /** The agent to execute */
677
- agent: Agent;
678
- /** Whether execution is in progress */
679
- executing?: boolean;
680
- /** Current execution result */
681
- execution?: AgentExecution | null;
682
- /** Error message */
683
- error?: string | null;
684
- /** Callback to execute the agent */
685
- onExecute: (task: string, context?: Record<string, unknown>) => void;
686
- /** Callback to clear results */
687
- onClear?: () => void;
688
- /** Additional class name */
689
- className?: string;
690
- }
691
- /**
692
- * AgentExecutePanel - Panel for executing an agent
693
- */
694
- declare function AgentExecutePanel({ agent, executing, execution, error, onExecute, onClear, className, }: AgentExecutePanelProps): react_jsx_runtime.JSX.Element;
695
-
696
- /**
697
- * Props for AgentFeedbackPanel
698
- */
699
- interface AgentFeedbackPanelProps {
700
- /** The execution to provide feedback for */
701
- execution: AgentExecution;
702
- /** Whether feedback is being submitted */
703
- submitting?: boolean;
704
- /** Callback to submit feedback */
705
- onSubmitFeedback: (feedback: Omit<AgentFeedback, 'submittedAt' | 'submittedBy'>) => void;
706
- /** Additional class name */
707
- className?: string;
708
- }
709
- /**
710
- * AgentFeedbackPanel - Panel for submitting feedback on agent executions
711
- */
712
- declare function AgentFeedbackPanel({ execution, submitting, onSubmitFeedback, className, }: AgentFeedbackPanelProps): react_jsx_runtime.JSX.Element;
713
-
714
- /**
715
- * Props for AgentHistoryTable
716
- */
717
- interface AgentHistoryTableProps {
718
- /** Executions to display */
719
- executions: AgentExecution[];
720
- /** Total count */
721
- total: number;
722
- /** Loading state */
723
- loading?: boolean;
724
- /** Current page */
725
- page?: number;
726
- /** Items per page */
727
- perPage?: number;
728
- /** Callback when execution is clicked */
729
- onExecutionClick?: (execution: AgentExecution) => void;
730
- /** Callback when page changes */
731
- onPageChange?: (page: number) => void;
732
- /** Additional class name */
5
+ interface EndpointSelectorProps {
6
+ /** Current endpoint URL */
7
+ endpoint: string;
8
+ /** Callback when endpoint changes */
9
+ onEndpointChange: (endpoint: string) => void;
10
+ /** Recent endpoints for quick selection */
11
+ recentEndpoints?: string[];
12
+ /** Placeholder text for the trigger input */
13
+ placeholder?: string;
14
+ /** Additional class name for the trigger */
733
15
  className?: string;
734
16
  }
735
17
  /**
736
- * AgentHistoryTable - Table view for agent execution history
18
+ * EndpointSelector - Search-like input that opens a command palette for endpoint selection
737
19
  */
738
- declare function AgentHistoryTable({ executions, total, loading, page, perPage, onExecutionClick, onPageChange, className, }: AgentHistoryTableProps): react_jsx_runtime.JSX.Element;
20
+ declare function EndpointSelector({ endpoint, onEndpointChange, recentEndpoints, placeholder, className, }: EndpointSelectorProps): react_jsx_runtime.JSX.Element;
739
21
 
740
22
  /**
741
23
  * Error Boundary Component for @mdxui/do
@@ -810,4 +92,4 @@ declare function useErrorBoundary(): {
810
92
  showBoundary: React.Dispatch<React.SetStateAction<Error | null>>;
811
93
  };
812
94
 
813
- export { AgentExecutePanel, type AgentExecutePanelProps, AgentFeedbackPanel, type AgentFeedbackPanelProps, AgentHistoryTable, type AgentHistoryTableProps, AgentsGrid, type AgentsGridProps, ConfirmDialog, type ConfirmDialogProps, DOErrorBoundary, type DOErrorBoundaryProps, DOHeader, type DOHeaderProps, DOShell, type DOShellProps, DOSidebar, DOSidebarHeader, type DOSidebarHeaderProps, type DOSidebarProps, type NavItem, type StatCardData, StatsCards, type StatsCardsProps, type SyncIndicatorState, SyncStatusIndicator, type SyncStatusIndicatorProps, ThingForm, type ThingFormData, ThingFormDialog, type ThingFormDialogProps, type ThingFormErrors, type ThingFormProps, ThingsList, type ThingsListProps, ThingsPage, type ThingsPageProps, type Toast, ToastContainer, type ToastContainerProps, type ToastNotificationProps, ToastProvider, type ToastProviderProps, type ToastType, TriggerWorkflowDialog, type TriggerWorkflowDialogProps, WorkflowExecutionView, type WorkflowExecutionViewProps, WorkflowsList, type WorkflowsListProps, defaultNavItems, defaultStats, useErrorBoundary, useShell, useToast };
95
+ export { DOErrorBoundary, type DOErrorBoundaryProps, EndpointSelector, type EndpointSelectorProps, useErrorBoundary };