/** * agent-types.ts — Unified agent type registry. * * Tracks user-defined agents from .pi/agents/*.md. * Disabled agents are kept but excluded from spawning. */ import type { AgentConfig } from "./types.js"; declare const TOOL_FACTORIES: { read: (cwd: string) => import("@earendil-works/pi-agent-core").AgentTool; limit: import("typebox").TOptional; }>, any>; bash: (cwd: string) => import("@earendil-works/pi-agent-core").AgentTool; }>, any>; edit: (cwd: string) => import("@earendil-works/pi-agent-core").AgentTool>; }>, any>; write: (cwd: string) => import("@earendil-works/pi-agent-core").AgentTool, any>; grep: (cwd: string) => import("@earendil-works/pi-agent-core").AgentTool; glob: import("typebox").TOptional; ignoreCase: import("typebox").TOptional; literal: import("typebox").TOptional; context: import("typebox").TOptional; limit: import("typebox").TOptional; }>, any>; find: (cwd: string) => import("@earendil-works/pi-agent-core").AgentTool; limit: import("typebox").TOptional; }>, any>; ls: (cwd: string) => import("@earendil-works/pi-agent-core").AgentTool; limit: import("typebox").TOptional; }>, any>; }; type BuiltinToolName = keyof typeof TOOL_FACTORIES; type BuiltinTool = ReturnType<(typeof TOOL_FACTORIES)[BuiltinToolName]>; /** All known built-in tool names, derived from the factory registry. */ export declare const BUILTIN_TOOL_NAMES: BuiltinToolName[]; /** * Register user-defined agents into the unified registry. * Disabled agents (enabled === false) are kept in the registry but excluded from spawning. */ export declare function registerAgents(userAgents: Map): void; /** Resolve a type name case-insensitively. Returns the canonical key or undefined. */ export declare function resolveType(name: string): string | undefined; /** Get the agent config for a type (case-insensitive). */ export declare function getAgentConfig(name: string): AgentConfig | undefined; /** Get all enabled type names (for spawning and tool descriptions). */ export declare function getAvailableTypes(): string[]; /** Get all type names including disabled (for UI listing). */ export declare function getAllTypes(): string[]; /** Get names of user-defined agents currently in the registry. */ export declare function getUserAgentNames(): string[]; /** Check if a type is valid and enabled (case-insensitive). */ export declare function isValidType(type: string): boolean; /** * Get the tools needed for memory management (read, write, edit). * Only returns tools that are NOT already in the provided set. */ export declare function getMemoryTools(cwd: string, existingToolNames: Set): BuiltinTool[]; /** * Get only the read tool for read-only memory access. * Only returns tools that are NOT already in the provided set. */ export declare function getReadOnlyMemoryTools(cwd: string, existingToolNames: Set): BuiltinTool[]; /** Get built-in tools for a type (case-insensitive). */ export declare function getToolsForType(type: string, cwd: string): BuiltinTool[]; /** Get config for a type (case-insensitive, returns a SubagentTypeConfig-compatible object). */ export declare function getConfig(type: string): { displayName: string; description: string; builtinToolNames: string[]; extensions: true | string[] | false; skills: true | string[] | false; promptMode: "replace" | "append"; }; export {};