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>
102 lines
3.5 KiB
TypeScript
102 lines
3.5 KiB
TypeScript
import { Properties as CSSProperties } from 'csstype';
|
|
|
|
export = goober;
|
|
|
|
export as namespace goober;
|
|
|
|
declare namespace goober {
|
|
interface DefaultTheme {}
|
|
|
|
type Theme<T extends object> = keyof T extends never ? T : { theme: T };
|
|
|
|
interface StyledFunction {
|
|
// used when creating a styled component from a native HTML element
|
|
<T extends keyof React.JSX.IntrinsicElements, P extends Object = {}>(
|
|
tag: T,
|
|
forwardRef?: ForwardRefFunction
|
|
): Tagged<
|
|
React.JSX.LibraryManagedAttributes<T, React.JSX.IntrinsicElements[T]> &
|
|
P &
|
|
Theme<DefaultTheme>
|
|
>;
|
|
|
|
// used to extend other styled components. Inherits props from the extended component
|
|
<PP extends Object = {}, P extends Object = {}>(
|
|
tag: StyledVNode<PP>,
|
|
forwardRef?: ForwardRefFunction
|
|
): Tagged<PP & P & Theme<DefaultTheme>>;
|
|
|
|
// used when creating a component from a string (html native) but using a non HTML standard
|
|
// component, such as when you want to style web components
|
|
<P extends Object = {}>(tag: string): Tagged<
|
|
P & Partial<React.JSX.ElementChildrenAttribute>
|
|
>;
|
|
|
|
// used to create a styled component from a JSX element (both functional and class-based)
|
|
<T extends React.JSX.Element | React.JSX.ElementClass, P extends Object = {}>(
|
|
tag: T,
|
|
forwardRef?: ForwardRefFunction
|
|
): Tagged<P>;
|
|
}
|
|
|
|
// used when creating a styled component from a native HTML element with the babel-plugin-transform-goober parser
|
|
type BabelPluginTransformGooberStyledFunction = {
|
|
[T in keyof React.JSX.IntrinsicElements]: Tagged<
|
|
React.JSX.LibraryManagedAttributes<T, React.JSX.IntrinsicElements[T]> &
|
|
Theme<DefaultTheme>
|
|
>;
|
|
};
|
|
|
|
type ForwardRefFunction = {
|
|
(props: any, ref: any): any;
|
|
};
|
|
|
|
type ForwardPropsFunction = (props: object) => void;
|
|
|
|
const styled: StyledFunction & BabelPluginTransformGooberStyledFunction;
|
|
function setup<T>(
|
|
val: T,
|
|
prefixer?: (key: string, val: any) => string,
|
|
theme?: Function,
|
|
forwardProps?: ForwardPropsFunction
|
|
): void;
|
|
function extractCss(target?: Element): string;
|
|
function glob(
|
|
tag: CSSAttribute | TemplateStringsArray | string,
|
|
...props: Array<string | number>
|
|
): void;
|
|
function css(
|
|
tag: CSSAttribute | TemplateStringsArray | string,
|
|
...props: Array<string | number>
|
|
): string;
|
|
function keyframes(
|
|
tag: CSSAttribute | TemplateStringsArray | string,
|
|
...props: Array<string | number>
|
|
): string;
|
|
|
|
type StyledVNode<T> = ((props: T, ...args: any[]) => any) & {
|
|
defaultProps?: T;
|
|
displayName?: string;
|
|
};
|
|
|
|
type StylesGenerator<P extends Object = {}> = (props: P) => CSSAttribute | string;
|
|
|
|
type Tagged<P extends Object = {}> = <PP extends Object = { as?: any }>(
|
|
tag:
|
|
| CSSAttribute
|
|
| (CSSAttribute | StylesGenerator<P & PP>)[]
|
|
| TemplateStringsArray
|
|
| string
|
|
| StylesGenerator<P & PP>,
|
|
...props: Array<
|
|
| string
|
|
| number
|
|
| ((props: P & PP) => CSSAttribute | string | number | false | undefined)
|
|
>
|
|
) => StyledVNode<Omit<P & PP, keyof Theme<DefaultTheme>>>;
|
|
|
|
interface CSSAttribute extends CSSProperties {
|
|
[key: string]: CSSAttribute | string | number | undefined | null;
|
|
}
|
|
}
|