langfuse-client-base 0.12.0

Auto-generated Langfuse API client from OpenAPI specification
Documentation
/*
 * langfuse
 *
 * ## Authentication  Authenticate with the API using [Basic Auth](https://en.wikipedia.org/wiki/Basic_access_authentication), get API keys in the project settings:  - username: Langfuse Public Key - password: Langfuse Secret Key  ## Exports  - OpenAPI spec: https://cloud.langfuse.com/generated/api/openapi.yml
 *
 * The version of the OpenAPI document:
 *
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ObservationType {
    #[serde(rename = "SPAN")]
    Span,
    #[serde(rename = "GENERATION")]
    Generation,
    #[serde(rename = "EVENT")]
    Event,
    #[serde(rename = "AGENT")]
    Agent,
    #[serde(rename = "TOOL")]
    Tool,
    #[serde(rename = "CHAIN")]
    Chain,
    #[serde(rename = "RETRIEVER")]
    Retriever,
    #[serde(rename = "EVALUATOR")]
    Evaluator,
    #[serde(rename = "EMBEDDING")]
    Embedding,
    #[serde(rename = "GUARDRAIL")]
    Guardrail,
}

impl std::fmt::Display for ObservationType {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::Span => write!(f, "SPAN"),
            Self::Generation => write!(f, "GENERATION"),
            Self::Event => write!(f, "EVENT"),
            Self::Agent => write!(f, "AGENT"),
            Self::Tool => write!(f, "TOOL"),
            Self::Chain => write!(f, "CHAIN"),
            Self::Retriever => write!(f, "RETRIEVER"),
            Self::Evaluator => write!(f, "EVALUATOR"),
            Self::Embedding => write!(f, "EMBEDDING"),
            Self::Guardrail => write!(f, "GUARDRAIL"),
        }
    }
}

impl Default for ObservationType {
    fn default() -> ObservationType {
        Self::Span
    }
}