 85bf1341f3
			
		
	
	85bf1341f3
	
	
	
		
			
			Frontend Enhancements: - Complete React TypeScript frontend with modern UI components - Distributed workflows management interface with real-time updates - Socket.IO integration for live agent status monitoring - Agent management dashboard with cluster visualization - Project management interface with metrics and task tracking - Responsive design with proper error handling and loading states Backend Infrastructure: - Distributed coordinator for multi-agent workflow orchestration - Cluster management API with comprehensive agent operations - Enhanced database models for agents and projects - Project service for filesystem-based project discovery - Performance monitoring and metrics collection - Comprehensive API documentation and error handling Documentation: - Complete distributed development guide (README_DISTRIBUTED.md) - Comprehensive development report with architecture insights - System configuration templates and deployment guides The platform now provides a complete web interface for managing the distributed AI cluster with real-time monitoring, workflow orchestration, and agent coordination capabilities. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			86 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { CSSProperties } from 'react';
 | |
| 
 | |
| type ToastType = 'success' | 'error' | 'loading' | 'blank' | 'custom';
 | |
| type ToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
 | |
| type Renderable = React.ReactElement | string | null;
 | |
| interface IconTheme {
 | |
|     primary: string;
 | |
|     secondary: string;
 | |
| }
 | |
| type ValueFunction<TValue, TArg> = (arg: TArg) => TValue;
 | |
| type ValueOrFunction<TValue, TArg> = TValue | ValueFunction<TValue, TArg>;
 | |
| declare const resolveValue: <TValue, TArg>(valOrFunction: ValueOrFunction<TValue, TArg>, arg: TArg) => TValue;
 | |
| interface Toast {
 | |
|     type: ToastType;
 | |
|     id: string;
 | |
|     message: ValueOrFunction<Renderable, Toast>;
 | |
|     icon?: Renderable;
 | |
|     duration?: number;
 | |
|     pauseDuration: number;
 | |
|     position?: ToastPosition;
 | |
|     removeDelay?: number;
 | |
|     ariaProps: {
 | |
|         role: 'status' | 'alert';
 | |
|         'aria-live': 'assertive' | 'off' | 'polite';
 | |
|     };
 | |
|     style?: CSSProperties;
 | |
|     className?: string;
 | |
|     iconTheme?: IconTheme;
 | |
|     createdAt: number;
 | |
|     visible: boolean;
 | |
|     dismissed: boolean;
 | |
|     height?: number;
 | |
| }
 | |
| type ToastOptions = Partial<Pick<Toast, 'id' | 'icon' | 'duration' | 'ariaProps' | 'className' | 'style' | 'position' | 'iconTheme' | 'removeDelay'>>;
 | |
| type DefaultToastOptions = ToastOptions & {
 | |
|     [key in ToastType]?: ToastOptions;
 | |
| };
 | |
| interface ToasterProps {
 | |
|     position?: ToastPosition;
 | |
|     toastOptions?: DefaultToastOptions;
 | |
|     reverseOrder?: boolean;
 | |
|     gutter?: number;
 | |
|     containerStyle?: React.CSSProperties;
 | |
|     containerClassName?: string;
 | |
|     children?: (toast: Toast) => React.ReactElement;
 | |
| }
 | |
| 
 | |
| type Message = ValueOrFunction<Renderable, Toast>;
 | |
| type ToastHandler = (message: Message, options?: ToastOptions) => string;
 | |
| declare const toast: {
 | |
|     (message: Message, opts?: ToastOptions): string;
 | |
|     error: ToastHandler;
 | |
|     success: ToastHandler;
 | |
|     loading: ToastHandler;
 | |
|     custom: ToastHandler;
 | |
|     dismiss(toastId?: string): void;
 | |
|     remove(toastId?: string): void;
 | |
|     promise<T>(promise: Promise<T> | (() => Promise<T>), msgs: {
 | |
|         loading: Renderable;
 | |
|         success?: ValueOrFunction<Renderable, T>;
 | |
|         error?: ValueOrFunction<Renderable, any>;
 | |
|     }, opts?: DefaultToastOptions): Promise<T>;
 | |
| };
 | |
| 
 | |
| declare const useToaster: (toastOptions?: DefaultToastOptions) => {
 | |
|     toasts: Toast[];
 | |
|     handlers: {
 | |
|         updateHeight: (toastId: string, height: number) => void;
 | |
|         startPause: () => void;
 | |
|         endPause: () => void;
 | |
|         calculateOffset: (toast: Toast, opts?: {
 | |
|             reverseOrder?: boolean;
 | |
|             gutter?: number;
 | |
|             defaultPosition?: ToastPosition;
 | |
|         }) => number;
 | |
|     };
 | |
| };
 | |
| 
 | |
| interface State {
 | |
|     toasts: Toast[];
 | |
|     pausedAt: number | undefined;
 | |
| }
 | |
| declare const useStore: (toastOptions?: DefaultToastOptions) => State;
 | |
| 
 | |
| export { DefaultToastOptions, IconTheme, Renderable, Toast, ToastOptions, ToastPosition, ToastType, ToasterProps, ValueFunction, ValueOrFunction, toast as default, resolveValue, toast, useToaster, useStore as useToasterStore };
 |