 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>
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';
 | |
| 
 | |
| const _navigator = typeof navigator === 'object' && navigator || undefined;
 | |
| 
 | |
| /**
 | |
|  * Determine if we're running in a standard browser environment
 | |
|  *
 | |
|  * This allows axios to run in a web worker, and react-native.
 | |
|  * Both environments support XMLHttpRequest, but not fully standard globals.
 | |
|  *
 | |
|  * web workers:
 | |
|  *  typeof window -> undefined
 | |
|  *  typeof document -> undefined
 | |
|  *
 | |
|  * react-native:
 | |
|  *  navigator.product -> 'ReactNative'
 | |
|  * nativescript
 | |
|  *  navigator.product -> 'NativeScript' or 'NS'
 | |
|  *
 | |
|  * @returns {boolean}
 | |
|  */
 | |
| const hasStandardBrowserEnv = hasBrowserEnv &&
 | |
|   (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);
 | |
| 
 | |
| /**
 | |
|  * Determine if we're running in a standard browser webWorker environment
 | |
|  *
 | |
|  * Although the `isStandardBrowserEnv` method indicates that
 | |
|  * `allows axios to run in a web worker`, the WebWorker will still be
 | |
|  * filtered out due to its judgment standard
 | |
|  * `typeof window !== 'undefined' && typeof document !== 'undefined'`.
 | |
|  * This leads to a problem when axios post `FormData` in webWorker
 | |
|  */
 | |
| const hasStandardBrowserWebWorkerEnv = (() => {
 | |
|   return (
 | |
|     typeof WorkerGlobalScope !== 'undefined' &&
 | |
|     // eslint-disable-next-line no-undef
 | |
|     self instanceof WorkerGlobalScope &&
 | |
|     typeof self.importScripts === 'function'
 | |
|   );
 | |
| })();
 | |
| 
 | |
| const origin = hasBrowserEnv && window.location.href || 'http://localhost';
 | |
| 
 | |
| export {
 | |
|   hasBrowserEnv,
 | |
|   hasStandardBrowserWebWorkerEnv,
 | |
|   hasStandardBrowserEnv,
 | |
|   _navigator as navigator,
 | |
|   origin
 | |
| }
 |