"""
Agent Trust LangChain Integration

Provides tools, callbacks, loaders, and retrievers for AI agent security
within LangChain workflows.

Usage:
    # Basic verification tools
    from agent_trust_langchain import AgentTrustTool, TrustVerificationCallback
    
    tool = AgentTrustTool()
    callback = TrustVerificationCallback(block_on_threat=True)
    
    # TrustGuard integration for content protection
    from agent_trust_langchain import TrustGuardLoader, TrustGuardRetriever
    
    # Wrap a document loader
    loader = TrustGuardLoader(base_loader, api_key="ta_xxx...", on_threat="filter")
    docs = loader.load()  # Only returns safe documents
    
    # Wrap a retriever for RAG protection
    retriever = TrustGuardRetriever(base_retriever, api_key="ta_xxx...")
    docs = retriever.invoke("my query")
"""

from .tool import AgentTrustTool, AgentVerifyTool, MessageScanTool
from .callback import TrustVerificationCallback, ThreatDetectedError
from .chain import TrustGatedChain
from .guard import (
    TrustGuardLoader,
    TrustGuardRetriever,
    TrustGuardCallback,
    ThreatInDocumentError,
)

__version__ = "0.2.0"
__all__ = [
    # Tools
    "AgentTrustTool",
    "AgentVerifyTool",
    "MessageScanTool",
    # Callbacks
    "TrustVerificationCallback",
    "TrustGuardCallback",
    # Chain
    "TrustGatedChain",
    # Guard integration
    "TrustGuardLoader",
    "TrustGuardRetriever",
    # Errors
    "ThreatDetectedError",
    "ThreatInDocumentError",
]
