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 };
|