 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>
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // YAML error class. http://stackoverflow.com/questions/8458984
 | |
| //
 | |
| 'use strict';
 | |
| 
 | |
| 
 | |
| function formatError(exception, compact) {
 | |
|   var where = '', message = exception.reason || '(unknown reason)';
 | |
| 
 | |
|   if (!exception.mark) return message;
 | |
| 
 | |
|   if (exception.mark.name) {
 | |
|     where += 'in "' + exception.mark.name + '" ';
 | |
|   }
 | |
| 
 | |
|   where += '(' + (exception.mark.line + 1) + ':' + (exception.mark.column + 1) + ')';
 | |
| 
 | |
|   if (!compact && exception.mark.snippet) {
 | |
|     where += '\n\n' + exception.mark.snippet;
 | |
|   }
 | |
| 
 | |
|   return message + ' ' + where;
 | |
| }
 | |
| 
 | |
| 
 | |
| function YAMLException(reason, mark) {
 | |
|   // Super constructor
 | |
|   Error.call(this);
 | |
| 
 | |
|   this.name = 'YAMLException';
 | |
|   this.reason = reason;
 | |
|   this.mark = mark;
 | |
|   this.message = formatError(this, false);
 | |
| 
 | |
|   // Include stack trace in error object
 | |
|   if (Error.captureStackTrace) {
 | |
|     // Chrome and NodeJS
 | |
|     Error.captureStackTrace(this, this.constructor);
 | |
|   } else {
 | |
|     // FF, IE 10+ and Safari 6+. Fallback for others
 | |
|     this.stack = (new Error()).stack || '';
 | |
|   }
 | |
| }
 | |
| 
 | |
| 
 | |
| // Inherit from Error
 | |
| YAMLException.prototype = Object.create(Error.prototype);
 | |
| YAMLException.prototype.constructor = YAMLException;
 | |
| 
 | |
| 
 | |
| YAMLException.prototype.toString = function toString(compact) {
 | |
|   return this.name + ': ' + formatError(this, compact);
 | |
| };
 | |
| 
 | |
| 
 | |
| module.exports = YAMLException;
 |