hanzo_client/models/screen_result.rs
1/*
2 * Hanzo Cloud API
3 *
4 * The Hanzo Cloud API as a customer calls it: every operation under /v1/ except the operator's admin product, relay routes, legacy spellings and capabilities still reached by flag. Tagged by product: the first path segment after /v1/.
5 *
6 * The version of the OpenAPI document: v1
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ScreenResult {
16 /// DraftReply is a suggested email reply for staff to edit and send.
17 #[serde(rename = "draftReply", skip_serializing_if = "Option::is_none")]
18 pub draft_reply: Option<String>,
19 /// Error says why a failed screen failed — no AI gateway configured, a gateway error, or a reply that carried no parseable JSON. Absent on success.
20 #[serde(rename = "error", skip_serializing_if = "Option::is_none")]
21 pub error: Option<String>,
22 /// Model is the LLM the screen ran on.
23 #[serde(rename = "model", skip_serializing_if = "Option::is_none")]
24 pub model: Option<String>,
25 /// Score is the model's 0..100 fit score, clamped to that range.
26 #[serde(rename = "score", skip_serializing_if = "Option::is_none")]
27 pub score: Option<i32>,
28 /// ScreenedAt is the unix second the screen finished (0 while pending).
29 #[serde(rename = "screenedAt", skip_serializing_if = "Option::is_none")]
30 pub screened_at: Option<i32>,
31 /// Status is the screen's state: pending | done | failed.
32 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
33 pub status: Option<String>,
34 /// SuggestedCredits is the recommended credit grant in USD, snapped to the nearest allowed rung: 0 | 5000 | 25000 | 50000 | 150000.
35 #[serde(rename = "suggestedCredits", skip_serializing_if = "Option::is_none")]
36 pub suggested_credits: Option<i32>,
37 /// Summary is the model's short assessment of the application.
38 #[serde(rename = "summary", skip_serializing_if = "Option::is_none")]
39 pub summary: Option<String>,
40 /// Tier1Backed is the model's read on tier-1 backing, normalized to \"yes\", \"no\" or \"unclear\" (anything it cannot resolve reads \"unclear\").
41 #[serde(rename = "tier1Backed", skip_serializing_if = "Option::is_none")]
42 pub tier1_backed: Option<String>,
43}
44
45impl ScreenResult {
46 pub fn new() -> ScreenResult {
47 ScreenResult {
48 draft_reply: None,
49 error: None,
50 model: None,
51 score: None,
52 screened_at: None,
53 status: None,
54 suggested_credits: None,
55 summary: None,
56 tier1_backed: None,
57 }
58 }
59}
60