"""Observability domain models for CleverAgents.

Provides the ``LLMTrace`` model for recording LLM call telemetry and
the ``OperationalMetricKey`` enum plus ``MetricEntry`` / ``MetricCollector``
for aggregated plan-level operational metrics.

``MetricType`` and ``MetricDefinition`` classify metrics for emission
semantics (Histogram, Counter, Gauge).

Based on Forgejo issues #500 / #579.
"""

from __future__ import annotations

from cleveragents.domain.models.observability.llm_trace import (
    LLMTrace,
    LLMTraceQuery,
)
from cleveragents.domain.models.observability.metrics import (
    METRIC_DEFINITIONS,
    MetricCollector,
    MetricDefinition,
    MetricEntry,
    MetricType,
    OperationalMetricKey,
)

__all__ = [
    "METRIC_DEFINITIONS",
    "LLMTrace",
    "LLMTraceQuery",
    "MetricCollector",
    "MetricDefinition",
    "MetricEntry",
    "MetricType",
    "OperationalMetricKey",
]
