origin-asset 0.1.0

Rust SDK for Origin platform — asset generation, AI search, and knowledge graph services
Documentation
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum SearchMode {
    Fast,
    Deep,
    Answer,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SearchResult {
    pub title: Option<String>,
    pub url: Option<String>,
    pub snippet: Option<String>,
    pub source: Option<String>,
    pub score: Option<f64>,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SubQueryResult {
    pub sub_query: String,
    pub content: String,
    pub providers: Vec<String>,
    pub results: Vec<SearchResult>,
    pub tokens: u32,
    pub answer: Option<String>,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SearchResponse {
    pub query: String,
    pub mode: String,
    pub model: Option<String>,
    pub content: String,
    pub providers: Vec<String>,
    pub results: Vec<SearchResult>,
    pub tokens: u32,
    pub answer: Option<String>,
    pub intent: Option<String>,
    pub sub_results: Option<Vec<SubQueryResult>>,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SearchOptions {
    pub mode: Option<SearchMode>,
    pub model: Option<String>,
    pub split: Option<u32>,
    pub num: Option<u32>,
}