outfox_openai/spec/evals/
api.rs1use derive_builder::Builder;
2use serde::{Deserialize, Serialize};
3
4use crate::error::OpenAIError;
5
6#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
8#[serde(rename_all = "lowercase")]
9pub enum ListEvalsOrder {
10 Asc,
12 Desc,
14}
15
16#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
18#[serde(rename_all = "snake_case")]
19pub enum ListEvalsOrderBy {
20 CreatedAt,
22 UpdatedAt,
24}
25
26#[derive(Debug, Serialize, Default, Clone, Builder, PartialEq)]
28#[builder(name = "ListEvalsQueryArgs")]
29#[builder(pattern = "mutable")]
30#[builder(setter(into, strip_option), default)]
31#[builder(derive(Debug))]
32#[builder(build_fn(error = "OpenAIError"))]
33pub struct ListEvalsQuery {
34 #[serde(skip_serializing_if = "Option::is_none")]
36 pub after: Option<String>,
37 #[serde(skip_serializing_if = "Option::is_none")]
39 pub limit: Option<u32>,
40 #[serde(skip_serializing_if = "Option::is_none")]
43 pub order: Option<ListEvalsOrder>,
44 #[serde(skip_serializing_if = "Option::is_none")]
47 pub order_by: Option<ListEvalsOrderBy>,
48}
49
50#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
52#[serde(rename_all = "lowercase")]
53pub enum GetEvalRunsOrder {
54 Asc,
56 Desc,
58}
59
60#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
62#[serde(rename_all = "snake_case")]
63pub enum GetEvalRunsStatus {
64 Queued,
66 InProgress,
68 Completed,
70 Canceled,
72 Failed,
74}
75
76#[derive(Debug, Serialize, Default, Clone, Builder, PartialEq)]
78#[builder(name = "GetEvalRunsQueryArgs")]
79#[builder(pattern = "mutable")]
80#[builder(setter(into, strip_option), default)]
81#[builder(derive(Debug))]
82#[builder(build_fn(error = "OpenAIError"))]
83pub struct GetEvalRunsQuery {
84 #[serde(skip_serializing_if = "Option::is_none")]
86 pub after: Option<String>,
87 #[serde(skip_serializing_if = "Option::is_none")]
89 pub limit: Option<u32>,
90 #[serde(skip_serializing_if = "Option::is_none")]
93 pub order: Option<GetEvalRunsOrder>,
94 #[serde(skip_serializing_if = "Option::is_none")]
97 pub status: Option<GetEvalRunsStatus>,
98}
99
100#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
102#[serde(rename_all = "lowercase")]
103pub enum GetEvalRunOutputItemsOrder {
104 Asc,
106 Desc,
108}
109
110#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
112#[serde(rename_all = "lowercase")]
113pub enum GetEvalRunOutputItemsStatus {
114 Fail,
116 Pass,
118}
119
120#[derive(Debug, Serialize, Default, Clone, Builder, PartialEq)]
122#[builder(name = "GetEvalRunOutputItemsQueryArgs")]
123#[builder(pattern = "mutable")]
124#[builder(setter(into, strip_option), default)]
125#[builder(derive(Debug))]
126#[builder(build_fn(error = "OpenAIError"))]
127pub struct GetEvalRunOutputItemsQuery {
128 #[serde(skip_serializing_if = "Option::is_none")]
130 pub after: Option<String>,
131 #[serde(skip_serializing_if = "Option::is_none")]
133 pub limit: Option<u32>,
134 #[serde(skip_serializing_if = "Option::is_none")]
137 pub status: Option<GetEvalRunOutputItemsStatus>,
138 #[serde(skip_serializing_if = "Option::is_none")]
141 pub order: Option<GetEvalRunOutputItemsOrder>,
142}