"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
# @generated-id: 471fb1e10716

from __future__ import annotations
from .scalarmetric import ScalarMetric, ScalarMetricTypedDict
from .timeseriesmetric import TimeSeriesMetric, TimeSeriesMetricTypedDict
from mistralai.client.types import BaseModel
from typing_extensions import TypedDict


class WorkflowMetricsTypedDict(TypedDict):
    r"""Complete metrics for a specific workflow.

    This type combines all metric categories.
    """

    execution_count: ScalarMetricTypedDict
    r"""Scalar metric with a single value."""
    success_count: ScalarMetricTypedDict
    r"""Scalar metric with a single value."""
    error_count: ScalarMetricTypedDict
    r"""Scalar metric with a single value."""
    average_latency_ms: ScalarMetricTypedDict
    r"""Scalar metric with a single value."""
    latency_over_time: TimeSeriesMetricTypedDict
    r"""Time-series metric with timestamp-value pairs."""
    retry_rate: ScalarMetricTypedDict
    r"""Scalar metric with a single value."""


class WorkflowMetrics(BaseModel):
    r"""Complete metrics for a specific workflow.

    This type combines all metric categories.
    """

    execution_count: ScalarMetric
    r"""Scalar metric with a single value."""

    success_count: ScalarMetric
    r"""Scalar metric with a single value."""

    error_count: ScalarMetric
    r"""Scalar metric with a single value."""

    average_latency_ms: ScalarMetric
    r"""Scalar metric with a single value."""

    latency_over_time: TimeSeriesMetric
    r"""Time-series metric with timestamp-value pairs."""

    retry_rate: ScalarMetric
    r"""Scalar metric with a single value."""
