mnemos-coder
Version:
CLI-based coding agent with graph-based execution loop and terminal UI
85 lines • 2.18 kB
TypeScript
/**
* SubagentRegistry - Centralized metadata management for subagents
*
* This class provides a unified interface for managing subagent configurations,
* generating dynamic tool specifications, and building system prompts.
*/
import { SubagentsConfigFile } from './types.js';
export interface ToolSpec {
name: string;
description: string;
parameters: {
type: string;
properties: {
[key: string]: {
type: string;
description: string;
enum?: string[];
};
};
required?: string[];
};
}
export interface SubagentMetadata {
name: string;
description: string;
tools: string[];
llmProfile?: string;
enabled: boolean;
}
export declare class SubagentRegistry {
private config;
private subagents;
private taskToolSpec;
private systemPromptTemplate;
constructor(config: SubagentsConfigFile);
/**
* Build the registry from configuration
*/
private buildRegistry;
/**
* Generate dynamic Task tool specification
*/
private buildTaskToolSpec;
/**
* Build system prompt template with dynamic subagent information
*/
private buildSystemPromptTemplate;
/**
* Get all available subagents
*/
getAvailableSubagents(): SubagentMetadata[];
/**
* Get a specific subagent by name
*/
getSubagent(name: string): SubagentMetadata | undefined;
/**
* Check if a subagent exists
*/
hasSubagent(name: string): boolean;
/**
* Get the dynamic Task tool specification
*/
getTaskToolSpec(): ToolSpec;
/**
* Get the system prompt with dynamic subagent information
*/
getSystemPromptFragment(): string;
/**
* Get subagent count
*/
getSubagentCount(): number;
/**
* Get subagent names as array
*/
getSubagentNames(): string[];
/**
* Validate if a subagent name is valid
*/
validateSubagentName(name: string): boolean;
/**
* Get debug information about the registry
*/
getDebugInfo(): object;
}
//# sourceMappingURL=SubagentRegistry.d.ts.map