 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>
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import State from "../tokenizer/state";
 | |
| import {charCodes} from "../util/charcodes";
 | |
| 
 | |
| export let isJSXEnabled;
 | |
| export let isTypeScriptEnabled;
 | |
| export let isFlowEnabled;
 | |
| export let state;
 | |
| export let input;
 | |
| export let nextContextId;
 | |
| 
 | |
| export function getNextContextId() {
 | |
|   return nextContextId++;
 | |
| }
 | |
| 
 | |
| // eslint-disable-next-line @typescript-eslint/no-explicit-any
 | |
| export function augmentError(error) {
 | |
|   if ("pos" in error) {
 | |
|     const loc = locationForIndex(error.pos);
 | |
|     error.message += ` (${loc.line}:${loc.column})`;
 | |
|     error.loc = loc;
 | |
|   }
 | |
|   return error;
 | |
| }
 | |
| 
 | |
| export class Loc {
 | |
|   
 | |
|   
 | |
|   constructor(line, column) {
 | |
|     this.line = line;
 | |
|     this.column = column;
 | |
|   }
 | |
| }
 | |
| 
 | |
| export function locationForIndex(pos) {
 | |
|   let line = 1;
 | |
|   let column = 1;
 | |
|   for (let i = 0; i < pos; i++) {
 | |
|     if (input.charCodeAt(i) === charCodes.lineFeed) {
 | |
|       line++;
 | |
|       column = 1;
 | |
|     } else {
 | |
|       column++;
 | |
|     }
 | |
|   }
 | |
|   return new Loc(line, column);
 | |
| }
 | |
| 
 | |
| export function initParser(
 | |
|   inputCode,
 | |
|   isJSXEnabledArg,
 | |
|   isTypeScriptEnabledArg,
 | |
|   isFlowEnabledArg,
 | |
| ) {
 | |
|   input = inputCode;
 | |
|   state = new State();
 | |
|   nextContextId = 1;
 | |
|   isJSXEnabled = isJSXEnabledArg;
 | |
|   isTypeScriptEnabled = isTypeScriptEnabledArg;
 | |
|   isFlowEnabled = isFlowEnabledArg;
 | |
| }
 |