"""Pori - A simple, extensible AI agent framework for all ."""

__version__ = "1.0"
__author__ = "Aloy Sathekge"
__email__ = "sathekgealoy@gmail.com"

# Main exports from the agent framework
from .agent import Agent, AgentOutput, AgentSettings, AgentState
from .evaluation import ActionResult, Evaluator
from .hitl import (
    AutoApproveHandler,
    CLIHITLHandler,
    HITLConfig,
    HITLHandler,
    InterruptConfig,
)
from .memory import (
    AgentMemory,
    AgentMessage,
    Block,
    CoreMemory,
    SimpleMemory,
    TaskState,
    ToolCallRecord,
)
from .orchestrator import Orchestrator
from .tools.registry import ToolExecutor, ToolInfo, ToolRegistry, tool_registry

# Tool registrations
from .tools.standard import register_all_tools

__all__ = [
    # Core agent classes
    "Agent",
    "AgentSettings",
    "AgentState",
    "AgentOutput",
    # Memory system
    "AgentMemory",
    "SimpleMemory",  # Backwards compatibility
    "TaskState",
    "ToolCallRecord",
    "AgentMessage",
    "Block",
    "CoreMemory",
    # Tools system
    "ToolRegistry",
    "ToolExecutor",
    "ToolInfo",
    "tool_registry",
    "register_all_tools",
    # Evaluation
    "ActionResult",
    "Evaluator",
    # Orchestration
    "Orchestrator",
    # HITL
    "HITLConfig",
    "HITLHandler",
    "CLIHITLHandler",
    "AutoApproveHandler",
    "InterruptConfig",
]
