tapes_client/core/models/
raw_turn.rs1use serde::{Deserialize, Serialize};
8use serde_json::Value;
9
10use super::ContractModel;
11
12#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
17#[serde(default)]
18#[non_exhaustive]
19pub struct RawTurnHeaderItem {
20 pub agent_name: String,
22
23 pub id: i64,
25
26 pub meta: Value,
28
29 pub provider: String,
31
32 pub received_at: String,
34
35 pub request_bytes: i64,
37
38 pub request_id: String,
40
41 pub response_bytes: i64,
43
44 pub source: String,
46}
47
48impl ContractModel for RawTurnHeaderItem {
49 const SCHEMA: &'static str = "RawTurnHeaderItem";
50}
51
52#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
56#[serde(default)]
57#[non_exhaustive]
58pub struct RawTurnListResponse {
59 #[serde(deserialize_with = "super::null_default")]
61 pub items: Vec<RawTurnHeaderItem>,
62}
63
64impl ContractModel for RawTurnListResponse {
65 const SCHEMA: &'static str = "RawTurnListResponse";
66}
67
68#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
73#[serde(default)]
74#[non_exhaustive]
75pub struct RawTurnAttribution {
76 pub harness_id: String,
78
79 pub harness_session_id: String,
81
82 pub parent_harness_session_id: String,
84
85 pub raw_turn_id: i64,
87
88 pub thread_id: String,
90}
91
92impl ContractModel for RawTurnAttribution {
93 const SCHEMA: &'static str = "RawTurnAttribution";
94}
95
96#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
102#[serde(default)]
103pub struct RawTurnAttributionRepairRequest {
104 pub harness_id: String,
106
107 pub harness_session_id: String,
109
110 pub paper_proxy_request_id: String,
112
113 pub parent_harness_session_id: String,
115
116 pub raw_turn_id: i64,
118
119 pub reason: String,
121
122 pub thread_id: String,
124}
125
126impl ContractModel for RawTurnAttributionRepairRequest {
127 const SCHEMA: &'static str = "RawTurnAttributionRepairRequest";
128}
129
130#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
135#[serde(default)]
136#[non_exhaustive]
137pub struct RawTurnAttributionRepairResult {
138 #[serde(deserialize_with = "super::null_default")]
140 pub effective: RawTurnAttribution,
141
142 #[serde(deserialize_with = "super::null_default")]
144 pub previous: RawTurnAttribution,
145
146 #[serde(deserialize_with = "super::null_default")]
149 pub projections_pending: Vec<RepairPendingSession>,
150
151 pub recorded: bool,
153
154 pub source_cleanup_pending: bool,
158}
159
160impl ContractModel for RawTurnAttributionRepairResult {
161 const SCHEMA: &'static str = "RawTurnAttributionRepairResult";
162}
163
164#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
169#[serde(default)]
170#[non_exhaustive]
171pub struct RepairPendingSession {
172 pub harness_id: String,
174
175 pub harness_session_id: String,
177}
178
179impl ContractModel for RepairPendingSession {
180 const SCHEMA: &'static str = "RepairPendingSession";
181}