 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>
		
			
				
	
	
		
			166 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			166 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| //#region src/composable-filters.d.ts
 | |
| type StringOrRegExp = string | RegExp;
 | |
| // Inline this type to avoid import it from `rolldown`.
 | |
| // The only downside is we need to keep it in sync with `rolldown` manually,
 | |
| // it is alright since it is pretty stable now.
 | |
| type PluginModuleType = "js" | "jsx" | "ts" | "tsx" | "json" | "text" | "base64" | "dataurl" | "binary" | "empty" | (string & {});
 | |
| type FilterExpressionKind = FilterExpression["kind"];
 | |
| type FilterExpression = And | Or | Not | Id | ModuleType | Code | Query;
 | |
| type TopLevelFilterExpression = Include | Exclude;
 | |
| declare class And {
 | |
|   kind: "and";
 | |
|   args: FilterExpression[];
 | |
|   constructor(...args: FilterExpression[]);
 | |
| }
 | |
| declare class Or {
 | |
|   kind: "or";
 | |
|   args: FilterExpression[];
 | |
|   constructor(...args: FilterExpression[]);
 | |
| }
 | |
| declare class Not {
 | |
|   kind: "not";
 | |
|   expr: FilterExpression;
 | |
|   constructor(expr: FilterExpression);
 | |
| }
 | |
| interface QueryFilterObject {
 | |
|   [key: string]: StringOrRegExp | boolean;
 | |
| }
 | |
| interface IdParams {
 | |
|   cleanUrl?: boolean;
 | |
| }
 | |
| declare class Id {
 | |
|   kind: "id";
 | |
|   pattern: StringOrRegExp;
 | |
|   params: IdParams;
 | |
|   constructor(pattern: StringOrRegExp, params?: IdParams);
 | |
| }
 | |
| declare class ModuleType {
 | |
|   kind: "moduleType";
 | |
|   pattern: PluginModuleType;
 | |
|   constructor(pattern: PluginModuleType);
 | |
| }
 | |
| declare class Code {
 | |
|   kind: "code";
 | |
|   pattern: StringOrRegExp;
 | |
|   constructor(expr: StringOrRegExp);
 | |
| }
 | |
| declare class Query {
 | |
|   kind: "query";
 | |
|   key: string;
 | |
|   pattern: StringOrRegExp | boolean;
 | |
|   constructor(key: string, pattern: StringOrRegExp | boolean);
 | |
| }
 | |
| declare class Include {
 | |
|   kind: "include";
 | |
|   expr: FilterExpression;
 | |
|   constructor(expr: FilterExpression);
 | |
| }
 | |
| declare class Exclude {
 | |
|   kind: "exclude";
 | |
|   expr: FilterExpression;
 | |
|   constructor(expr: FilterExpression);
 | |
| }
 | |
| declare function and(...args: FilterExpression[]): And;
 | |
| declare function or(...args: FilterExpression[]): Or;
 | |
| declare function not(expr: FilterExpression): Not;
 | |
| declare function id(pattern: StringOrRegExp, params?: IdParams): Id;
 | |
| declare function moduleType(pattern: PluginModuleType): ModuleType;
 | |
| declare function code(pattern: StringOrRegExp): Code;
 | |
| /*
 | |
| * There are three kinds of conditions are supported:
 | |
| * 1. `boolean`: if the value is `true`, the key must exist and be truthy. if the value is `false`, the key must not exist or be falsy.
 | |
| * 2. `string`: the key must exist and be equal to the value.
 | |
| * 3. `RegExp`: the key must exist and match the value.
 | |
| */
 | |
| declare function query(key: string, pattern: StringOrRegExp | boolean): Query;
 | |
| declare function include(expr: FilterExpression): Include;
 | |
| declare function exclude(expr: FilterExpression): Exclude;
 | |
| /**
 | |
| * convert a queryObject to FilterExpression like
 | |
| * ```js
 | |
| *   and(query(k1, v1), query(k2, v2))
 | |
| * ```
 | |
| * @param queryFilterObject The query filter object needs to be matched.
 | |
| * @returns a `And` FilterExpression
 | |
| */
 | |
| declare function queries(queryFilter: QueryFilterObject): And;
 | |
| declare function interpreter(exprs: TopLevelFilterExpression | TopLevelFilterExpression[], code?: string, id?: string, moduleType?: PluginModuleType): boolean;
 | |
| interface InterpreterCtx {
 | |
|   urlSearchParamsCache?: URLSearchParams;
 | |
| }
 | |
| declare function interpreterImpl(expr: TopLevelFilterExpression[], code?: string, id?: string, moduleType?: PluginModuleType, ctx?: InterpreterCtx): boolean;
 | |
| declare function exprInterpreter(expr: FilterExpression, code?: string, id?: string, moduleType?: PluginModuleType, ctx?: InterpreterCtx): boolean;
 | |
| //#endregion
 | |
| //#region src/simple-filters.d.ts
 | |
| /**
 | |
| * Constructs a RegExp that matches the exact string specified.
 | |
| *
 | |
| * This is useful for plugin hook filters.
 | |
| *
 | |
| * @param str the string to match.
 | |
| * @param flags flags for the RegExp.
 | |
| *
 | |
| * @example
 | |
| * ```ts
 | |
| * import { exactRegex } from '@rolldown/pluginutils';
 | |
| * const plugin = {
 | |
| *   name: 'plugin',
 | |
| *   resolveId: {
 | |
| *     filter: { id: exactRegex('foo') },
 | |
| *     handler(id) {} // will only be called for `foo`
 | |
| *   }
 | |
| * }
 | |
| * ```
 | |
| */
 | |
| declare function exactRegex(str: string, flags?: string): RegExp;
 | |
| /**
 | |
| * Constructs a RegExp that matches a value that has the specified prefix.
 | |
| *
 | |
| * This is useful for plugin hook filters.
 | |
| *
 | |
| * @param str the string to match.
 | |
| * @param flags flags for the RegExp.
 | |
| *
 | |
| * @example
 | |
| * ```ts
 | |
| * import { prefixRegex } from '@rolldown/pluginutils';
 | |
| * const plugin = {
 | |
| *   name: 'plugin',
 | |
| *   resolveId: {
 | |
| *     filter: { id: prefixRegex('foo') },
 | |
| *     handler(id) {} // will only be called for IDs starting with `foo`
 | |
| *   }
 | |
| * }
 | |
| * ```
 | |
| */
 | |
| declare function prefixRegex(str: string, flags?: string): RegExp;
 | |
| type WidenString<T> = T extends string ? string : T;
 | |
| /**
 | |
| * Converts a id filter to match with an id with a query.
 | |
| *
 | |
| * @param input the id filters to convert.
 | |
| *
 | |
| * @example
 | |
| * ```ts
 | |
| * import { makeIdFiltersToMatchWithQuery } from '@rolldown/pluginutils';
 | |
| * const plugin = {
 | |
| *   name: 'plugin',
 | |
| *   transform: {
 | |
| *     filter: { id: makeIdFiltersToMatchWithQuery(['**' + '/*.js', /\.ts$/]) },
 | |
| *     // The handler will be called for IDs like:
 | |
| *     // - foo.js
 | |
| *     // - foo.js?foo
 | |
| *     // - foo.txt?foo.js
 | |
| *     // - foo.ts
 | |
| *     // - foo.ts?foo
 | |
| *     // - foo.txt?foo.ts
 | |
| *     handler(code, id) {}
 | |
| *   }
 | |
| * }
 | |
| * ```
 | |
| */
 | |
| declare function makeIdFiltersToMatchWithQuery<T extends string | RegExp>(input: T): WidenString<T>;
 | |
| declare function makeIdFiltersToMatchWithQuery<T extends string | RegExp>(input: readonly T[]): WidenString<T>[];
 | |
| declare function makeIdFiltersToMatchWithQuery(input: string | RegExp | readonly (string | RegExp)[]): string | RegExp | (string | RegExp)[];
 | |
| //#endregion
 | |
| export { FilterExpression, FilterExpressionKind, QueryFilterObject, TopLevelFilterExpression, and, code, exactRegex, exclude, exprInterpreter, id, include, interpreter, interpreterImpl, makeIdFiltersToMatchWithQuery, moduleType, not, or, prefixRegex, queries, query }; |