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>
32 lines
1022 B
JavaScript
32 lines
1022 B
JavaScript
import React, { Children } from 'react';
|
|
import { TransitionGroup } from 'react-transition-group';
|
|
import PropTypes from 'prop-types';
|
|
import AnimateGroupChild from './AnimateGroupChild';
|
|
function AnimateGroup(props) {
|
|
var component = props.component,
|
|
children = props.children,
|
|
appear = props.appear,
|
|
enter = props.enter,
|
|
leave = props.leave;
|
|
return /*#__PURE__*/React.createElement(TransitionGroup, {
|
|
component: component
|
|
}, Children.map(children, function (child, index) {
|
|
return /*#__PURE__*/React.createElement(AnimateGroupChild, {
|
|
appearOptions: appear,
|
|
enterOptions: enter,
|
|
leaveOptions: leave,
|
|
key: "child-".concat(index) // eslint-disable-line
|
|
}, child);
|
|
}));
|
|
}
|
|
AnimateGroup.propTypes = {
|
|
appear: PropTypes.object,
|
|
enter: PropTypes.object,
|
|
leave: PropTypes.object,
|
|
children: PropTypes.oneOfType([PropTypes.array, PropTypes.element]),
|
|
component: PropTypes.any
|
|
};
|
|
AnimateGroup.defaultProps = {
|
|
component: 'span'
|
|
};
|
|
export default AnimateGroup; |