UNPKG

mnemos-coder

Version:

CLI-based coding agent with graph-based execution loop and terminal UI

85 lines 2.18 kB
/** * 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