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.3 KiB
JavaScript
47 lines
1.3 KiB
JavaScript
/**
|
|
* @fileoverview Module for loading rules from files and directories.
|
|
* @author Michael Ficarra
|
|
*/
|
|
|
|
"use strict";
|
|
|
|
//------------------------------------------------------------------------------
|
|
// Requirements
|
|
//------------------------------------------------------------------------------
|
|
|
|
const fs = require("fs"),
|
|
path = require("path");
|
|
|
|
const rulesDirCache = {};
|
|
|
|
//------------------------------------------------------------------------------
|
|
// Public Interface
|
|
//------------------------------------------------------------------------------
|
|
|
|
/**
|
|
* Load all rule modules from specified directory.
|
|
* @param {string} relativeRulesDir Path to rules directory, may be relative.
|
|
* @param {string} cwd Current working directory
|
|
* @returns {Object} Loaded rule modules.
|
|
*/
|
|
module.exports = function(relativeRulesDir, cwd) {
|
|
const rulesDir = path.resolve(cwd, relativeRulesDir);
|
|
|
|
// cache will help performance as IO operation are expensive
|
|
if (rulesDirCache[rulesDir]) {
|
|
return rulesDirCache[rulesDir];
|
|
}
|
|
|
|
const rules = Object.create(null);
|
|
|
|
fs.readdirSync(rulesDir).forEach(file => {
|
|
if (path.extname(file) !== ".js") {
|
|
return;
|
|
}
|
|
rules[file.slice(0, -3)] = require(path.join(rulesDir, file));
|
|
});
|
|
rulesDirCache[rulesDir] = rules;
|
|
|
|
return rules;
|
|
};
|