llmrix-rust-sdk 1.0.0

Official Rust SDK for the llmrix AI Agent Platform API
Documentation
use serde::{Deserialize, Serialize};

/// A scheduled cron task.
#[derive(Debug, Clone, Deserialize, Default)]
pub struct CronTask {
    pub id: String,
    pub name: String,
    pub prompt: String,
    pub schedule_type: String,
    pub schedule_expr: String,
    pub status: String,
    pub thread_id: String,
    pub user_id: String,
    pub channel: String,
    pub last_run: f64,
    pub last_run_error: String,
    pub last_run_output: String,
    pub next_run: f64,
    pub created_at: f64,
    pub updated_at: f64,
}

/// Request body for creating a cron task.
#[derive(Debug, Serialize)]
pub struct CronCreateRequest {
    pub name: String,
    pub prompt: String,
    /// Defaults to `"cron"` if omitted.
    #[serde(skip_serializing_if = "Option::is_none")]
    pub schedule_type: Option<String>,
    pub schedule_expr: String,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub channel: Option<String>,
}

/// Request body for updating a cron task (all fields optional).
#[derive(Debug, Default, Serialize)]
pub struct CronUpdateRequest {
    #[serde(skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub prompt: Option<String>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub schedule_type: Option<String>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub schedule_expr: Option<String>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub channel: Option<String>,
}