 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>
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import { url } from "./url.js";
 | |
| import { Manager } from "./manager.js";
 | |
| import { Socket } from "./socket.js";
 | |
| /**
 | |
|  * Managers cache.
 | |
|  */
 | |
| const cache = {};
 | |
| function lookup(uri, opts) {
 | |
|     if (typeof uri === "object") {
 | |
|         opts = uri;
 | |
|         uri = undefined;
 | |
|     }
 | |
|     opts = opts || {};
 | |
|     const parsed = url(uri, opts.path || "/socket.io");
 | |
|     const source = parsed.source;
 | |
|     const id = parsed.id;
 | |
|     const path = parsed.path;
 | |
|     const sameNamespace = cache[id] && path in cache[id]["nsps"];
 | |
|     const newConnection = opts.forceNew ||
 | |
|         opts["force new connection"] ||
 | |
|         false === opts.multiplex ||
 | |
|         sameNamespace;
 | |
|     let io;
 | |
|     if (newConnection) {
 | |
|         io = new Manager(source, opts);
 | |
|     }
 | |
|     else {
 | |
|         if (!cache[id]) {
 | |
|             cache[id] = new Manager(source, opts);
 | |
|         }
 | |
|         io = cache[id];
 | |
|     }
 | |
|     if (parsed.query && !opts.query) {
 | |
|         opts.query = parsed.queryKey;
 | |
|     }
 | |
|     return io.socket(parsed.path, opts);
 | |
| }
 | |
| // so that "lookup" can be used both as a function (e.g. `io(...)`) and as a
 | |
| // namespace (e.g. `io.connect(...)`), for backward compatibility
 | |
| Object.assign(lookup, {
 | |
|     Manager,
 | |
|     Socket,
 | |
|     io: lookup,
 | |
|     connect: lookup,
 | |
| });
 | |
| /**
 | |
|  * Protocol version.
 | |
|  *
 | |
|  * @public
 | |
|  */
 | |
| export { protocol } from "socket.io-parser";
 | |
| /**
 | |
|  * Expose constructors for standalone build.
 | |
|  *
 | |
|  * @public
 | |
|  */
 | |
| export { Manager, Socket, lookup as io, lookup as connect, lookup as default, };
 | |
| export { Fetch, NodeXHR, XHR, NodeWebSocket, WebSocket, WebTransport, } from "engine.io-client";
 |