/**
 * Agent 业务模块接入入口 — 业务模块的**唯一允许 import 路径**。
 *
 * 用法 (详 docs/standards/21-agent-business-module-integration.md §2):
 *
 *   import {
 *     AgentTool,
 *     AgentContext,
 *     AgentToolResult,
 *     AgentToolsModule,
 *   } from '@modules/agent/registry';
 *
 * **CI lint** (PR-A 后续 commit 范围):
 *   业务模块 (backend/src/{modules,engines}/<其他>/) 只能 import '@modules/agent/registry',
 *   禁 import '@modules/agent/{services,tools,providers,...}' — ESLint 卡漂移。
 */

// 装饰器
export { AgentTool } from './agent-tool.decorator';

// Module 静态方法
export { AgentToolsModule } from './agent-tools.module';

// Internal services (registry 自身 + agent.module 内部用; 业务模块不应消费)
export { AgentToolsCollector } from './agent-tools-collector.service';
export { AgentToolBootstrap } from './agent-tool-bootstrap.service';

// 类型
export type {
  AgentContext,
  AgentToolResult,
  ToolDescriptor,
  AgentToolMetadata,
} from './types';

// 内部 export (registry 内部用,业务模块不应消费;仅 ToolRegistry 在 onApplicationBootstrap
// 扫描时通过这两个常量读元数据)
export {
  AGENT_TOOL_METADATA,
  AGENT_TOOL_METHODS,
  getAgentToolMethods,
  getAgentToolMetadata,
} from './agent-tool.decorator';
