langgraph-api 0.1.1

Rust Client API of LangGraph
Documentation
/*
 * LangSmith Deployment
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 0.1.0
 *
 * Generated by: https://openapi-generator.tech
 */

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

/// AssistantSearchRequest : Payload for listing assistants.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AssistantSearchRequest {
    /// Metadata to filter by. Exact match filter for each KV pair.
    #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
    pub metadata: Option<serde_json::Value>,
    /// The ID of the graph to filter by. The graph ID is normally set in your langgraph.json configuration.
    #[serde(rename = "graph_id", skip_serializing_if = "Option::is_none")]
    pub graph_id: Option<String>,
    /// Name of the assistant to filter by. The filtering logic will match (case insensitive) assistants where 'name' is a substring of the assistant name.
    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    /// The maximum number of results to return.
    #[serde(rename = "limit", skip_serializing_if = "Option::is_none")]
    pub limit: Option<i32>,
    /// The number of results to skip.
    #[serde(rename = "offset", skip_serializing_if = "Option::is_none")]
    pub offset: Option<i32>,
    /// The field to sort by.
    #[serde(rename = "sort_by", skip_serializing_if = "Option::is_none")]
    pub sort_by: Option<SortBy>,
    /// The order to sort by.
    #[serde(rename = "sort_order", skip_serializing_if = "Option::is_none")]
    pub sort_order: Option<SortOrder>,
    /// Specify which fields to return. If not provided, all fields are returned.
    #[serde(rename = "select", skip_serializing_if = "Option::is_none")]
    pub select: Option<Vec<Select>>,
}

impl AssistantSearchRequest {
    /// Payload for listing assistants.
    pub fn new() -> AssistantSearchRequest {
        AssistantSearchRequest {
            metadata: None,
            graph_id: None,
            name: None,
            limit: None,
            offset: None,
            sort_by: None,
            sort_order: None,
            select: None,
        }
    }
}
/// The field to sort by.
#[derive(
    Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize,
)]
pub enum SortBy {
    #[serde(rename = "assistant_id")]
    #[default]
    AssistantId,
    #[serde(rename = "created_at")]
    CreatedAt,
    #[serde(rename = "updated_at")]
    UpdatedAt,
    #[serde(rename = "name")]
    Name,
    #[serde(rename = "graph_id")]
    GraphId,
}
/// The order to sort by.
#[derive(
    Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize,
)]
pub enum SortOrder {
    #[serde(rename = "asc")]
    #[default]
    Asc,
    #[serde(rename = "desc")]
    Desc,
}
/// Specify which fields to return. If not provided, all fields are returned.
#[derive(
    Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize,
)]
pub enum Select {
    #[serde(rename = "assistant_id")]
    #[default]
    AssistantId,
    #[serde(rename = "graph_id")]
    GraphId,
    #[serde(rename = "name")]
    Name,
    #[serde(rename = "description")]
    Description,
    #[serde(rename = "config")]
    Config,
    #[serde(rename = "context")]
    Context,
    #[serde(rename = "created_at")]
    CreatedAt,
    #[serde(rename = "updated_at")]
    UpdatedAt,
    #[serde(rename = "metadata")]
    Metadata,
    #[serde(rename = "version")]
    Version,
}