/** * @license * Copyright 2025 Vybestack LLC * SPDX-License-Identifier: Apache-2.0 */ import { type SubagentConfig } from '../config/types.js'; import { ProfileManager } from './profileManager.js'; /** * Manages subagent configuration files in ~/.llxprt/subagents/ * * @plan:PLAN-20250117-SUBAGENTCONFIG.P05 * @requirement:REQ-002 * * Pattern: Follows ProfileManager design * Storage: JSON files in baseDir directory * Naming: .json */ export declare class SubagentManager { private readonly baseDir; private readonly profileManager; /** * @param baseDir Directory where subagent configs are stored (e.g., ~/.llxprt/subagents/) * @param profileManager ProfileManager instance for validation * * @plan:PLAN-20250117-SUBAGENTCONFIG.P05 * @requirement:REQ-002 * @pseudocode SubagentManager.md lines 1-8 */ constructor(baseDir: string, profileManager: ProfileManager); /** * Save or update a subagent configuration * * @plan:PLAN-20250117-SUBAGENTCONFIG.P05 * @requirement:REQ-002 * @pseudocode SubagentManager.md lines 61-128 */ saveSubagent(name: string, profile: string, systemPrompt: string): Promise; /** * Load a subagent configuration from disk * * @plan:PLAN-20250117-SUBAGENTCONFIG.P05 * @requirement:REQ-002 * @pseudocode SubagentManager.md lines 129-180 */ loadSubagent(name: string): Promise; /** * List all subagent names * * @plan:PLAN-20250117-SUBAGENTCONFIG.P05 * @requirement:REQ-002 * @pseudocode SubagentManager.md lines 181-209 */ listSubagents(): Promise; /** * Delete a subagent configuration * * @plan:PLAN-20250117-SUBAGENTCONFIG.P05 * @requirement:REQ-002 * @pseudocode SubagentManager.md lines 210-236 * * @returns true if deleted, false if not found */ deleteSubagent(name: string): Promise; /** * Check if a subagent configuration exists * * @plan:PLAN-20250117-SUBAGENTCONFIG.P05 * @requirement:REQ-002 * @pseudocode SubagentManager.md lines 237-262 */ subagentExists(name: string): Promise; /** * Validate that a profile exists in ProfileManager * * @plan:PLAN-20250117-SUBAGENTCONFIG.P05 * @requirement:REQ-002 * @pseudocode SubagentManager.md lines 263-281 */ validateProfileReference(profileName: string): Promise; /** * Get full path to subagent config file * * @plan:PLAN-20250117-SUBAGENTCONFIG.P05 * @requirement:REQ-002 * @pseudocode SubagentManager.md lines 9-43 */ private getSubagentPath; /** * Ensure subagent directory exists, create if not * * @plan:PLAN-20250117-SUBAGENTCONFIG.P05 * @requirement:REQ-002 * @pseudocode SubagentManager.md lines 45-60 */ private ensureDirectory; }