"""Agent package - Persistent AI entities with identity, memory, and capabilities.

Core abstractions:
- Agent: Persistent AI entity with persona, goals, and cognitive style
- Skill: Discrete capability an agent can invoke
- SkillBundle: Collection of related skills

Cognitive modes:
- ReasoningMode: How the agent thinks (reactive/deliberative/reflective)
- OrationMode: How the agent communicates (concise/conversational/elaborate/socratic/formal)
- SupervisionMode: How the agent coordinates (autonomous/collaborative/delegating/orchestrating)
"""

from .cognitive import (
    ReasoningMode,
    OrationMode,
    SupervisionMode,
    CognitiveStyle,
    CognitivePresets,
)
from .memory import MemoryScope, AgentMemoryConfig
from .capabilities import AgentCapabilities, ProactiveTrigger
from .state import AgentState
from .core import Agent
from .builder import AgentBuilder, agent_builder
from .skill import (
    Skill,
    SkillTrigger,
    SkillBundle,
    SkillBuilder,
    BundleBuilder,
    skill_builder,
    bundle_builder,
)

__all__ = [
    # Agent
    "Agent",
    "AgentBuilder",
    "agent_builder",
    # Skills
    "Skill",
    "SkillTrigger",
    "SkillBundle",
    "SkillBuilder",
    "BundleBuilder",
    "skill_builder",
    "bundle_builder",
    # Cognitive
    "ReasoningMode",
    "OrationMode",
    "SupervisionMode",
    "CognitiveStyle",
    "CognitivePresets",
    # Memory
    "MemoryScope",
    "AgentMemoryConfig",
    # Capabilities
    "AgentCapabilities",
    "ProactiveTrigger",
    # State
    "AgentState",
]
