babelforce-manager-sdk 0.46.0

Rust SDK for the babelforce manager APIs — auth, user & agent management, call reporting, metrics, and task automations.
Documentation
/*
 * Manager API
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 0.0.0-dev
 * Contact: support@babelforce.com
 * Generated by: https://openapi-generator.tech
 */

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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AgenticApplicationUltimateProviderSettings {
    #[serde(rename = "providerName")]
    pub provider_name: ProviderName,
    #[serde(rename = "botId")]
    pub bot_id: String,
    /// Custom key/value metadata forwarded to the chatbot provider
    #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
    pub metadata: Option<Vec<models::AgenticProviderMetadata>>,
    /// Only forward the last recognized message to the provider
    #[serde(rename = "lastMessageOnly", skip_serializing_if = "Option::is_none")]
    pub last_message_only: Option<bool>,
}

impl AgenticApplicationUltimateProviderSettings {
    pub fn new(
        provider_name: ProviderName,
        bot_id: String,
    ) -> AgenticApplicationUltimateProviderSettings {
        AgenticApplicationUltimateProviderSettings {
            provider_name,
            bot_id,
            metadata: None,
            last_message_only: None,
        }
    }
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ProviderName {
    #[serde(rename = "ultimate")]
    Ultimate,
}

impl Default for ProviderName {
    fn default() -> ProviderName {
        Self::Ultimate
    }
}