 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>
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import { Scalar } from '../../nodes/Scalar.js';
 | |
| import { stringifyNumber } from '../../stringify/stringifyNumber.js';
 | |
| 
 | |
| const floatNaN = {
 | |
|     identify: value => typeof value === 'number',
 | |
|     default: true,
 | |
|     tag: 'tag:yaml.org,2002:float',
 | |
|     test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
 | |
|     resolve: (str) => str.slice(-3).toLowerCase() === 'nan'
 | |
|         ? NaN
 | |
|         : str[0] === '-'
 | |
|             ? Number.NEGATIVE_INFINITY
 | |
|             : Number.POSITIVE_INFINITY,
 | |
|     stringify: stringifyNumber
 | |
| };
 | |
| const floatExp = {
 | |
|     identify: value => typeof value === 'number',
 | |
|     default: true,
 | |
|     tag: 'tag:yaml.org,2002:float',
 | |
|     format: 'EXP',
 | |
|     test: /^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,
 | |
|     resolve: (str) => parseFloat(str.replace(/_/g, '')),
 | |
|     stringify(node) {
 | |
|         const num = Number(node.value);
 | |
|         return isFinite(num) ? num.toExponential() : stringifyNumber(node);
 | |
|     }
 | |
| };
 | |
| const float = {
 | |
|     identify: value => typeof value === 'number',
 | |
|     default: true,
 | |
|     tag: 'tag:yaml.org,2002:float',
 | |
|     test: /^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,
 | |
|     resolve(str) {
 | |
|         const node = new Scalar(parseFloat(str.replace(/_/g, '')));
 | |
|         const dot = str.indexOf('.');
 | |
|         if (dot !== -1) {
 | |
|             const f = str.substring(dot + 1).replace(/_/g, '');
 | |
|             if (f[f.length - 1] === '0')
 | |
|                 node.minFractionDigits = f.length;
 | |
|         }
 | |
|         return node;
 | |
|     },
 | |
|     stringify: stringifyNumber
 | |
| };
 | |
| 
 | |
| export { float, floatExp, floatNaN };
 |