"""EdgeOne Agent Python Observability.

Public API:
    setup(entry_names)          → AgentTracer
    get_tracer()                → AgentTracer | None
    start_request_span(name)    → (Span, Context)
    end_request_span(span)      → None
    shutdown()                   → None
"""
from __future__ import annotations

from .bootstrap import setup, get_tracer, start_request_span, end_request_span, shutdown
from .tracer import AgentTracer, NoOpTracer
from .context_patches import set_request_context, clear_request_context
from .context_propagator import (
    set_agent_conversation_id,
    reset_agent_conversation_id,
)

__all__ = [
    "setup",
    "get_tracer",
    "start_request_span",
    "end_request_span",
    "shutdown",
    "AgentTracer",
    "NoOpTracer",
    "set_request_context",
    "clear_request_context",
    "set_agent_conversation_id",
    "reset_agent_conversation_id",
]
