 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>
		
			
				
	
	
		
			33 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| 
 | |
| var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
 | |
| Object.defineProperty(exports, "__esModule", {
 | |
|   value: true
 | |
| });
 | |
| exports.assertType = assertType;
 | |
| exports.generateOffset = generateOffset;
 | |
| exports.resetDefaultOptions = resetDefaultOptions;
 | |
| var _index = _interopRequireDefault(require("../addLeadingZeros/index.js"));
 | |
| var _index2 = require("../defaultOptions/index.js");
 | |
| function assertType(_) {}
 | |
| function resetDefaultOptions() {
 | |
|   (0, _index2.setDefaultOptions)({});
 | |
| }
 | |
| 
 | |
| // This makes sure we create the consistent offsets across timezones, no matter where these tests are ran.
 | |
| function generateOffset(originalDate) {
 | |
|   // Add the timezone.
 | |
|   var offset = '';
 | |
|   var tzOffset = originalDate.getTimezoneOffset();
 | |
|   if (tzOffset !== 0) {
 | |
|     var absoluteOffset = Math.abs(tzOffset);
 | |
|     var hourOffset = (0, _index.default)(Math.floor(absoluteOffset / 60), 2);
 | |
|     var minuteOffset = (0, _index.default)(absoluteOffset % 60, 2);
 | |
|     // If less than 0, the sign is +, because it is ahead of time.
 | |
|     var sign = tzOffset < 0 ? '+' : '-';
 | |
|     offset = "".concat(sign).concat(hourOffset, ":").concat(minuteOffset);
 | |
|   } else {
 | |
|     offset = 'Z';
 | |
|   }
 | |
|   return offset;
 | |
| } |