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>
34 lines
997 B
JavaScript
34 lines
997 B
JavaScript
import { allSignals } from './all-signals.js';
|
|
/**
|
|
* Starts forwarding signals to `child` through `parent`.
|
|
*/
|
|
export const proxySignals = (child) => {
|
|
const listeners = new Map();
|
|
for (const sig of allSignals) {
|
|
const listener = () => {
|
|
// some signals can only be received, not sent
|
|
try {
|
|
child.kill(sig);
|
|
/* c8 ignore start */
|
|
}
|
|
catch (_) { }
|
|
/* c8 ignore stop */
|
|
};
|
|
try {
|
|
// if it's a signal this system doesn't recognize, skip it
|
|
process.on(sig, listener);
|
|
listeners.set(sig, listener);
|
|
/* c8 ignore start */
|
|
}
|
|
catch (_) { }
|
|
/* c8 ignore stop */
|
|
}
|
|
const unproxy = () => {
|
|
for (const [sig, listener] of listeners) {
|
|
process.removeListener(sig, listener);
|
|
}
|
|
};
|
|
child.on('exit', unproxy);
|
|
return unproxy;
|
|
};
|
|
//# sourceMappingURL=proxy-signals.js.map
|