Skip to main content

artificial_types/outputs/
result.rs

1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, JsonSchema, Deserialize, Clone)]
5#[serde(deny_unknown_fields)]
6pub struct ThinkResult<T> {
7    /// Status of the request.
8    pub status: ThinkStatus,
9    /// Reason about the status conclusion.
10    pub reasoning: String,
11    /// Confidence rating from 0.0 to 1.0.
12    pub confidence: f32,
13    /// Result data of the operation.
14    #[schemars(required)]
15    pub data: Option<T>,
16}
17
18#[derive(Debug, Clone, JsonSchema, Serialize, Deserialize, PartialEq, Eq)]
19#[serde(rename_all = "snake_case")]
20pub enum ThinkStatus {
21    Succeed,
22    Error,
23}