"""
LockStock FastAPI Integration
------------------------------
Production-ready middleware for FastAPI inference servers.

Two middleware options:

1. LockStockThinMiddleware (Recommended for SaaS)
   - No daemon required, no local crypto
   - Calls /v1/stamp API, server handles everything
   - Supports SSE streaming (pure ASGI, no buffering)

2. LockStockMiddleware (Legacy, requires Guard daemon)
   - Local chain computation via Guard daemon
   - Two-party verification protocol
   - Higher security guarantees

Usage (Thin - Recommended):
    from fastapi import FastAPI
    from lockstock_fastapi import LockStockThinMiddleware

    app = FastAPI()
    app.add_middleware(
        LockStockThinMiddleware,
        agent_id="agent_xxx_name",
        api_key="lsk_admin_...",
        path_tasks={"/v1/chat/completions": "chatcompletion"},
    )

Usage (Legacy with Guard daemon):
    from fastapi import FastAPI
    from lockstock_fastapi import LockStockMiddleware

    app = FastAPI()
    app.add_middleware(
        LockStockMiddleware,
        agent_id="agent_abc123",
        guard_socket="/var/run/lockstock-guard/guard.sock"
    )
"""

from .middleware import LockStockMiddleware
from .thin import LockStockThinMiddleware, StampResult

__all__ = ["LockStockMiddleware", "LockStockThinMiddleware", "StampResult"]
