 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>
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| var KEYWORDS = [
 | |
|   'multipleOf',
 | |
|   'maximum',
 | |
|   'exclusiveMaximum',
 | |
|   'minimum',
 | |
|   'exclusiveMinimum',
 | |
|   'maxLength',
 | |
|   'minLength',
 | |
|   'pattern',
 | |
|   'additionalItems',
 | |
|   'maxItems',
 | |
|   'minItems',
 | |
|   'uniqueItems',
 | |
|   'maxProperties',
 | |
|   'minProperties',
 | |
|   'required',
 | |
|   'additionalProperties',
 | |
|   'enum',
 | |
|   'format',
 | |
|   'const'
 | |
| ];
 | |
| 
 | |
| module.exports = function (metaSchema, keywordsJsonPointers) {
 | |
|   for (var i=0; i<keywordsJsonPointers.length; i++) {
 | |
|     metaSchema = JSON.parse(JSON.stringify(metaSchema));
 | |
|     var segments = keywordsJsonPointers[i].split('/');
 | |
|     var keywords = metaSchema;
 | |
|     var j;
 | |
|     for (j=1; j<segments.length; j++)
 | |
|       keywords = keywords[segments[j]];
 | |
| 
 | |
|     for (j=0; j<KEYWORDS.length; j++) {
 | |
|       var key = KEYWORDS[j];
 | |
|       var schema = keywords[key];
 | |
|       if (schema) {
 | |
|         keywords[key] = {
 | |
|           anyOf: [
 | |
|             schema,
 | |
|             { $ref: 'https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#' }
 | |
|           ]
 | |
|         };
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   return metaSchema;
 | |
| };
 |