import type { AgentDefinition } from '../types.js'; /** * 加载指定角色的定义 * @param agentsDir agency-agents 的 agents 目录路径 * @param rolePath 角色路径,如 "engineering/engineering-sre" */ export declare function loadAgent(agentsDir: string, rolePath: string): AgentDefinition; /** * 列出所有可用角色 */ export declare function listAgents(agentsDir: string): AgentDefinition[]; /** * 轻量列出所有角色路径(如 "engineering/engineering-sre"),不解析文件内容。 * 用于 validate 报错时给"你是不是想用 X"建议,避免 listAgents 全量解析的开销。 */ export declare function listRolePaths(agentsDir: string): string[]; /** * 在给定的候选路径集合里,找出最接近 badPath 的若干个(纯函数,不读盘)。 * 优先子串包含(按 leaf 名匹配),再按编辑距离兜底;只返回足够接近的。 * 供 compose 复用——它要在"实际提供给 LLM 的目录"里建议,而非全盘所有角色。 */ export declare function suggestFromPaths(badPath: string, allPaths: string[], limit?: number): string[]; /** * 给一个拼错的角色路径,返回最接近的若干真实角色("你是不是想用…")。 */ export declare function suggestRoles(badPath: string, agentsDir: string, limit?: number): string[]; /** * 按关键词过滤角色:匹配 rolePath / name / description(不区分大小写)。 * 空关键词返回原列表。供 `ao roles ` 使用,方便手动找专家。 */ export declare function filterAgentsByKeyword(agents: T[], keyword: string): T[];