/**
 * Agents exports - Agent framework, Orchestrator, Experts
 * Split from index.ts for file size compliance (Issue #285)
 */

export {
  // Base agent
  BaseAgent,
  TaskSchema,
  AgentMessageSchema,
  BaseAgentOptionsSchema,
  type BaseAgentOptions,
  // Simple agent
  SimpleAgent,
  // Orchestrator (preferred name - Issue #759)
  Orchestrator,
  createOrchestrator,
  type ExecutionPlan,
  // Orchestrator types
  type SubTask,
  type TaskAnalysis,
  type TaskCommitment,
  type ExpertAssignment,
  type SynthesizedResult,
  type ResultSummary,
  type Conflict,
  type OrchestratorOptions,
  type SubtaskPriority,
  type SubtaskStatus,
  SubTaskSchema,
  TaskAnalysisSchema,
  ExpertAssignmentSchema,
  SynthesizedResultSchema,
  OrchestratorOptionsSchema,
  SubtaskPrioritySchema,
  SubtaskStatusSchema,
  EXPERT_CAPABILITIES,
  TASK_TYPE_EXPERTS,
  // State machine
  AgentStateMachine,
  createStateMachine,
  type StateTransitionEvent,
  type StateTransition,
  type StateChangeCallback,
  type TransitionErrorCallback,
  type StateMachineOptions,
  // Context management
  ContextManager,
  ContentPriority,
  DEFAULT_BUDGET,
  ContextBudgetSchema,
  ContextManagerConfigSchema,
  type ContextBudget,
  type ContextItem,
  type ContextManagerConfig,
  type ContextStats,
  // Context pruning
  ContextPruner,
  PruningStrategy,
  ContextPrunerConfigSchema,
  type ContextPrunerConfig,
  type PruneOptions,
  type PruneResult,
  // Expert system
  type ExpertConfig,
  type ModelPreference,
  type BuiltInExpertType,
  ExpertConfigSchema,
  ModelPreferenceSchema,
  BuiltInExpertTypeSchema,
  BUILT_IN_EXPERTS,
  EXPERT_TYPE_TO_ROLE,
  validateExpertConfig,
  safeValidateExpertConfig,
  ExpertFactory,
  Expert,
  FactoryError,
  type CreateExpertOptions,
  ExpertRegistry,
  RegistryError,
  getExpertRegistry,
  type RegisterOptions as ExpertRegisterOptions,
  type QueryOptions,
  type RegistryStats,
  // Expert selection
  selectExperts,
  quickSelect,
  createDefaultRegistry,
  SelectionError,
  ExpertCollaborationPattern,
  type ExpertCollaborationPatternType,
  ScoreBreakdownSchema,
  ExpertMatchSchema,
  SelectionResultSchema,
  SelectionOptionsSchema,
  type ExpertDefinition,
  type ExpertMatch,
  type ScoreBreakdown,
  type SelectionResult,
  type SelectionOptions,
  type SelectionExpertRegistry,
  // Expert types
  type ExpertDomain,
  type ExpertOptions,
  type ExpertOutput,
  type CodeAnalysisResult,
  type CodeChange,
  type SecurityAnalysisResult,
  type Vulnerability,
  type ComplianceStatus,
  type ArchitectureAnalysisResult,
  type ArchitecturePattern,
  type ArchitectureDecision,
  type SystemComponent,
  type TestingAnalysisResult,
  type GeneratedTest,
  type CoverageMetrics,
  type TestQuality,
  type DocumentationResult,
  type DocumentationSection,
  type ApiDocumentation,
  type ApiEndpoint,
  type ApiType,
  ExpertDomainSchema,
  ExpertOptionsSchema,
  ExpertOutputSchema,
  VulnerabilitySeveritySchema,
  VulnerabilitySchema,
  CodeChangeSchema,
  GeneratedTestSchema,
  CoverageMetricsSchema,
  EXPERT_DEFAULT_TEMPERATURES,
  EXPERT_DEFAULT_CAPABILITIES,
  // Specialized experts
  CodeExpert,
  createCodeExpert,
  type CodeExpertOptions,
  SecurityExpert,
  createSecurityExpert,
  type SecurityExpertOptions,
  type SecurityFocusArea,
  ArchitectureExpert,
  createArchitectureExpert,
  type ArchitectureExpertOptions,
  type ArchitectureStyle,
  type QualityAttribute,
  TestingExpert,
  createTestingExpert,
  type TestingExpertOptions,
  DocumentationExpert,
  createDocumentationExpert,
  type DocumentationExpertOptions,
  // Collaboration
  type CollaborationPattern,
  type SessionStatus,
  type VoteDecision,
  type CollaborationConfig,
  type ExpertParticipation,
  type CollaborationMessage,
  type TaskAssignmentMessage,
  type ResultSubmissionMessage,
  type ReviewRequestMessage,
  type ReviewResponseMessage,
  type FeedbackMessage,
  type VoteMessage,
  type StatusUpdateMessage,
  type SessionState,
  type CollaborationResult,
  type ExpertResultSummary,
  type AggregatedResult,
  type ResultConflict,
  type AggregationMetadata,
  CollaborationPatternSchema,
  SessionStatusSchema,
  VoteDecisionSchema,
  CollaborationConfigSchema,
  ExpertParticipationSchema,
  VoteMessageSchema,
  ReviewResponseMessageSchema,
  DEFAULT_TIMEOUTS,
  DEFAULT_MAX_RETRIES,
  MIN_EXPERTS_FOR_PATTERN,
  CollaborationSession,
  createCollaborationSession,
  type CollaborationSessionOptions,
  type SessionEvent,
  SequentialProtocol,
  ParallelProtocol,
  ReviewProtocol,
  ConsensusProtocol,
  ProtocolFactory,
  createProtocolFactory,
  type ICollaborationProtocol,
  type ProtocolOptions,
  ResultAggregator,
  createResultAggregator,
  aggregateResults,
  type AggregationStrategy,
  type AggregatorOptions,
  type AggregatorInput,
  type ExpertResult,
  type ConflictResolver,
  type QualityScorer,
  // TRINITY Thinker/Worker/Verifier coordinator (Source: Issue #141, arxiv:2512.04695)
  type TrinityRole,
  type TrinityRoleConfig,
  type TrinityPhase,
  type TrinityPhaseResult,
  type ThinkerOutput,
  type WorkerOutput,
  type VerifierOutput,
  type TrinityConfig,
  type TrinityResult,
  TRINITY_ROLE_PROMPTS,
  TRINITY_ROLE_TEMPERATURES,
  TRINITY_ROLE_MAX_TOKENS,
  DEFAULT_TRINITY_CONFIG,
  TrinityRoleSchema,
  TrinityPhaseSchema,
  VerifierVerdictSchema,
  TrinityConfigSchema,
  TrinityStopReasonSchema,
  TrinityCoordinator,
  createTrinityCoordinator,
  type TrinityExecuteOptions,
  // Forest-of-Thought reasoning (Source: Issue #331, arXiv:2412.09078)
  // Node types
  type NodeId,
  type TreeId,
  type ForestId,
  type NodeState,
  type ReasoningStepType,
  type ReasoningNode,
  type ReasoningNodeMetadata,
  type CreateNodeInput,
  NodeStateSchema,
  ReasoningStepTypeSchema,
  ReasoningNodeMetadataSchema,
  ReasoningNodeSchema,
  // Tree types
  type TreeState,
  type PathScore,
  type PathScoreBreakdown,
  type PathScoringOptions,
  type TreeStatistics,
  type ReasoningTree,
  type CreateTreeInput,
  TreeStateSchema,
  PathScoreSchema,
  PathScoreBreakdownSchema,
  TreeStatisticsSchema,
  ReasoningTreeSchema,
  DEFAULT_PATH_SCORING_OPTIONS,
  // Configuration types
  type ActivationStrategy,
  type CrossTreeStrategy,
  type ForestPruningStrategy,
  type ForestConfig,
  type ActivationOptions,
  ActivationStrategySchema,
  CrossTreeStrategySchema,
  ForestPruningStrategySchema,
  ForestConfigSchema,
  DEFAULT_FOREST_CONFIG,
  DEFAULT_ACTIVATION_OPTIONS,
  // Forest types
  type ForestState,
  type SharedConclusion,
  type SharedInsight,
  type FailurePattern,
  type CrossTreeInfo,
  type ForestStatistics,
  type Forest,
  type CreateForestInput,
  ForestStateSchema,
  SharedConclusionSchema,
  SharedInsightSchema,
  FailurePatternSchema,
  CrossTreeInfoSchema,
  ForestStatisticsSchema,
  // Result types
  type TerminationReason,
  type BestSolution,
  type ExplorationEventType,
  type ExplorationEvent,
  type ForestResult,
  TerminationReasonSchema,
  BestSolutionSchema,
  ExplorationEventTypeSchema,
  ExplorationEventSchema,
  ForestResultSchema,
  // Wave Scheduler (Issue #769 - bounded parallel subagent execution)
  WaveScheduler,
  createWaveScheduler,
  chunkByDirectory,
  DEFAULT_WAVE_CONFIG,
  type WaveSchedulerConfig,
  type WaveTask,
  type WaveTaskResult,
  type WaveResult,
  type WaveExecutionResult,
  type WorkChunk,
  type WaveTaskExecutor,
  // Agentic adapter (#2529) — multi-turn tool-use loop primitive
  AgenticAdapter,
  createAgenticAdapter,
  type AgenticAdapterOptions,
  type AgentRunResult,
  type AgentStopReason,
  type AgentTurn,
  type IAgenticAdapter,
  type RunAgentArgs,
  type ToolCall as AgenticToolCall,
  type ToolResult as AgenticToolResult,
} from '../agents/index.js';

// Skills module exports: agents-skills.ts
