"""DataKnobs Bots - Configuration-driven AI agents."""

from .bot import (
    PROVIDER_ROLE_EXTRACTION,
    PROVIDER_ROLE_KB_EMBEDDING,
    PROVIDER_ROLE_MAIN,
    PROVIDER_ROLE_MEMORY_EMBEDDING,
    PROVIDER_ROLE_SUMMARY_LLM,
    BotContext,
    BotManager,
    BotRegistry,
    DynaBot,
    UndoResult,
    normalize_wizard_state,
)
from .config import (
    ConfigDraftManager,
    ConfigTemplate,
    ConfigTemplateRegistry,
    ConfigValidator,
    DraftMetadata,
    DynaBotConfigBuilder,
    DynaBotConfigSchema,
    TemplateVariable,
    ToolCatalog,
    ToolEntry,
    ValidationResult,
    create_default_catalog,
    default_catalog,
)
from .knowledge import RAGKnowledgeBase, create_knowledge_base_from_config
from .memory import BufferMemory, CompositeMemory, Memory, SummaryMemory, VectorMemory, create_memory_from_config
from .middleware import CostTrackingMiddleware, LoggingMiddleware, Middleware
from .reasoning import (
    ReActReasoning,
    ReasoningStrategy,
    SimpleReasoning,
    create_reasoning_from_config,
)
from .testing import BotTestHarness, CaptureReplay, TurnResult, WizardConfigBuilder, inject_providers
from .tools import (
    AddKBResourceTool,
    CheckKnowledgeSourceTool,
    GetTemplateDetailsTool,
    IngestKnowledgeBaseTool,
    KnowledgeSearchTool,
    ListAvailableToolsTool,
    ListKBResourcesTool,
    ListTemplatesTool,
    PreviewConfigTool,
    RemoveKBResourceTool,
    SaveConfigTool,
    ValidateConfigTool,
)

__version__ = "0.6.8"

__all__ = [
    "AddKBResourceTool",
    "BotContext",
    "BotManager",
    "BotRegistry",
    "BotTestHarness",
    "BufferMemory",
    "CaptureReplay",
    "CompositeMemory",
    "CheckKnowledgeSourceTool",
    "ConfigDraftManager",
    "ConfigTemplate",
    "ConfigTemplateRegistry",
    "ConfigValidator",
    "CostTrackingMiddleware",
    "DraftMetadata",
    "DynaBot",
    "DynaBotConfigBuilder",
    "DynaBotConfigSchema",
    "GetTemplateDetailsTool",
    "IngestKnowledgeBaseTool",
    "KnowledgeSearchTool",
    "ListAvailableToolsTool",
    "ListKBResourcesTool",
    "ListTemplatesTool",
    "LoggingMiddleware",
    "Memory",
    "Middleware",
    "PROVIDER_ROLE_EXTRACTION",
    "PROVIDER_ROLE_KB_EMBEDDING",
    "PROVIDER_ROLE_MAIN",
    "PROVIDER_ROLE_MEMORY_EMBEDDING",
    "PROVIDER_ROLE_SUMMARY_LLM",
    "PreviewConfigTool",
    "RAGKnowledgeBase",
    "ReActReasoning",
    "ReasoningStrategy",
    "RemoveKBResourceTool",
    "SaveConfigTool",
    "SimpleReasoning",
    "SummaryMemory",
    "TemplateVariable",
    "UndoResult",
    "ToolCatalog",
    "ToolEntry",
    "TurnResult",
    "ValidationResult",
    "VectorMemory",
    "WizardConfigBuilder",
    "create_default_catalog",
    "create_knowledge_base_from_config",
    "create_memory_from_config",
    "create_reasoning_from_config",
    "default_catalog",
    "inject_providers",
    "normalize_wizard_state",
]
