Add comprehensive frontend UI and distributed infrastructure

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>
This commit is contained in:
anthonyrawlins
2025-07-10 08:41:59 +10:00
parent fc0eec91ef
commit 85bf1341f3
28348 changed files with 2646896 additions and 69 deletions

View File

@@ -0,0 +1,33 @@
import glob from 'fast-glob';
import { readFileSync, writeFileSync } from 'node:fs';
import { join } from 'node:path';
const IMPORT_STATEMENT_REGEXP =
/import([ \n\t]*(?:[^ \n\t\{\}]+[ \n\t]*,?)?(?:[ \n\t]*\{(?:[ \n\t]*[^ \n\t"'\{\}]+[ \n\t]*,?)+\})?[ \n\t]*)from[ \n\t]*(['"])([^'"\n]+)(?:['"])/g;
const EXPORT_STATEMENT_REGEXP =
/export([ \n\t]*(?:[^ \n\t\{\}]+[ \n\t]*,?)?(?:[ \n\t]*\{(?:[ \n\t]*[^ \n\t"'\{\}]+[ \n\t]*,?)+\})?[ \n\t]*)from[ \n\t]*(['"])([^'"\n]+)(?:['"])/g;
const files = glob.sync(
join(import.meta.dirname, '..', 'dist', '*', 'types', '*.d.ts'),
);
function getReplacement(type) {
return function (line, dependencies, _quoteType, location) {
const extension = line.startsWith(`${type} type`) ? 'd.ts' : 'ts';
return `${type}${dependencies}from '${location}.${extension}'`;
};
}
function getReplacedContents(contents) {
return contents
.replaceAll(IMPORT_STATEMENT_REGEXP, getReplacement('import'))
.replaceAll(EXPORT_STATEMENT_REGEXP, getReplacement('export'));
}
for (const file of files) {
const contents = readFileSync(file, 'utf-8');
writeFileSync(file, getReplacedContents(contents), 'utf-8');
}

View File

@@ -0,0 +1,64 @@
import fs from 'node:fs';
import path from 'node:path';
const METHODS = `
/**
* Whether the values passed are strictly equal or both NaN.
*/
export declare const sameValueZeroEqual: <A, B>(a: A, b: B) => boolean;
/**
* Whether the items passed are deeply-equal in value.
*/
export declare const deepEqual: <A, B>(a: A, b: B) => boolean;
/**
* Whether the items passed are deeply-equal in value based on strict comparison.
*/
export declare const strictDeepEqual: <A, B>(a: A, b: B) => boolean;
/**
* Whether the items passed are deeply-equal in value, including circular references.
*/
export declare const circularDeepEqual: <A, B>(a: A, b: B) => boolean;
/**
* Whether the items passed are deeply-equal in value, including circular references,
* based on strict comparison.
*/
export declare const strictCircularDeepEqual: <A, B>(a: A, b: B) => boolean;
/**
* Whether the items passed are shallowly-equal in value.
*/
export declare const shallowEqual: <A, B>(a: A, b: B) => boolean;
/**
* Whether the items passed are shallowly-equal in value based on strict comparison
*/
export declare const strictShallowEqual: <A, B>(a: A, b: B) => boolean;
/**
* Whether the items passed are shallowly-equal in value, including circular references.
*/
export declare const circularShallowEqual: <A, B>(a: A, b: B) => boolean;
/**
* Whether the items passed are shallowly-equal in value, including circular references,
* based on strict comparison.
*/
export declare const strictCircularShallowEqual: <A, B>(a: A, b: B) => boolean;
/**
* Create a custom equality comparison method.
*
* This can be done to create very targeted comparisons in extreme hot-path scenarios
* where the standard methods are not performant enough, but can also be used to provide
* support for legacy environments that cannot polyfill for modern features expected by
* \`fast-equals\`, such as \`WeakMap\` or \`RegExp.prototype.flags\`.
*/
export declare function createCustomEqual<Meta = undefined>(
options?: CustomEqualCreatorOptions<Meta>,
): <A, B>(a: A, b: B) => boolean;
`;
const INTERNAL_TYPES = fs.readFileSync(
path.join(import.meta.dirname, '..', 'src', 'internalTypes.ts'),
);
const OUTPUT = `${INTERNAL_TYPES}\n${METHODS}`.trim();
const OUTPUT_DESTINATION = path.join(import.meta.dirname, '..', 'index.d.ts');
fs.writeFileSync(OUTPUT_DESTINATION, OUTPUT, 'utf-8');