"""
AIPTX Specialized Agents

Domain-specific agents for different testing aspects:
- ReconAgent: Reconnaissance and information gathering
- SASTAgent: Static Application Security Testing
- DASTAgent: Dynamic Application Security Testing
- BusinessLogicAgent: Business logic flaw testing
- WebSocketAgent: WebSocket security testing
- DistributedPATAgent: PayloadsAllTheThings-based distributed scanning
"""

from aipt_v2.agents.specialized.base_specialized import (
    SpecializedAgent,
    AgentCapability,
    AgentConfig,
)
from aipt_v2.agents.specialized.recon_agent import ReconAgent
from aipt_v2.agents.specialized.sast_agent import SASTAgent
from aipt_v2.agents.specialized.dast_agent import DASTAgent
from aipt_v2.agents.specialized.business_logic_agent import BusinessLogicAgent
from aipt_v2.agents.specialized.websocket_agent import WebSocketAgent
from aipt_v2.agents.specialized.pat_agent import (
    DistributedPATAgent,
    PATAgentConfig,
    PATCoordinator,
    create_pat_agent,
)

__all__ = [
    # Base
    "SpecializedAgent",
    "AgentCapability",
    "AgentConfig",
    # Specialized Agents
    "ReconAgent",
    "SASTAgent",
    "DASTAgent",
    "BusinessLogicAgent",
    "WebSocketAgent",
    # PAT Agent
    "DistributedPATAgent",
    "PATAgentConfig",
    "PATCoordinator",
    "create_pat_agent",
]
