1#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3pub struct Blob {
4 #[prost(bytes = "vec", tag = "1")]
5 pub data: ::prost::alloc::vec::Vec<u8>,
6 #[prost(string, tag = "2")]
7 pub media_type: ::prost::alloc::string::String,
8}
9#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10pub struct TreeEntry {
11 #[prost(string, tag = "1")]
12 pub name: ::prost::alloc::string::String,
13 #[prost(uint32, tag = "2")]
14 pub mode: u32,
15 #[prost(message, optional, tag = "3")]
16 pub object_id: ::core::option::Option<super::common::ObjectId>,
17}
18#[derive(Clone, PartialEq, ::prost::Message)]
19pub struct Tree {
20 #[prost(message, repeated, tag = "1")]
21 pub entries: ::prost::alloc::vec::Vec<TreeEntry>,
22}
23#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
24pub struct PatchOp {
25 #[prost(string, tag = "1")]
26 pub address: ::prost::alloc::string::String,
27 #[prost(string, tag = "2")]
28 pub op_type: ::prost::alloc::string::String,
29 #[prost(bytes = "vec", tag = "3")]
30 pub old_data: ::prost::alloc::vec::Vec<u8>,
31 #[prost(bytes = "vec", tag = "4")]
32 pub new_data: ::prost::alloc::vec::Vec<u8>,
33 #[prost(uint64, tag = "5")]
34 pub context_hash: u64,
35}
36#[derive(Clone, PartialEq, ::prost::Message)]
37pub struct Patch {
38 #[prost(string, tag = "1")]
39 pub target_path: ::prost::alloc::string::String,
40 #[prost(string, tag = "2")]
41 pub codec_id: ::prost::alloc::string::String,
42 #[prost(message, optional, tag = "3")]
43 pub base_object: ::core::option::Option<super::common::ObjectId>,
44 #[prost(message, optional, tag = "4")]
45 pub result_object: ::core::option::Option<super::common::ObjectId>,
46 #[prost(message, repeated, tag = "5")]
47 pub ops: ::prost::alloc::vec::Vec<PatchOp>,
48 #[prost(bytes = "vec", tag = "6")]
49 pub codec_payload: ::prost::alloc::vec::Vec<u8>,
50}
51#[derive(Clone, PartialEq, ::prost::Message)]
52pub struct Revision {
53 #[prost(message, optional, tag = "1")]
54 pub change_id: ::core::option::Option<super::common::Ulid>,
55 #[prost(message, repeated, tag = "2")]
56 pub parents: ::prost::alloc::vec::Vec<super::common::ObjectId>,
57 #[prost(message, repeated, tag = "3")]
58 pub patches: ::prost::alloc::vec::Vec<super::common::ObjectId>,
59 #[prost(message, optional, tag = "4")]
60 pub snapshot_base: ::core::option::Option<super::common::ObjectId>,
61 #[prost(message, optional, tag = "5")]
62 pub tree: ::core::option::Option<super::common::ObjectId>,
63 #[prost(message, optional, tag = "6")]
64 pub capsule_id: ::core::option::Option<super::common::ObjectId>,
65 #[prost(string, tag = "7")]
66 pub author: ::prost::alloc::string::String,
67 #[prost(uint64, tag = "8")]
68 pub created_at_ms: u64,
69 #[prost(string, tag = "9")]
70 pub summary: ::prost::alloc::string::String,
71 #[prost(string, repeated, tag = "10")]
72 pub policy_evidence: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
73}
74#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
75pub struct Snapshot {
76 #[prost(message, optional, tag = "1")]
77 pub tree_root: ::core::option::Option<super::common::ObjectId>,
78 #[prost(message, optional, tag = "2")]
79 pub revision_id: ::core::option::Option<super::common::ObjectId>,
80 #[prost(uint64, tag = "3")]
81 pub created_at_ms: u64,
82}
83#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
84pub struct Intent {
85 #[prost(message, optional, tag = "1")]
86 pub id: ::core::option::Option<super::common::Ulid>,
87 #[prost(string, tag = "2")]
88 pub title: ::prost::alloc::string::String,
89 #[prost(string, tag = "3")]
90 pub goal: ::prost::alloc::string::String,
91 #[prost(string, repeated, tag = "4")]
92 pub constraints: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
93 #[prost(string, repeated, tag = "5")]
94 pub acceptance_tests: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
95 #[prost(string, repeated, tag = "6")]
96 pub links: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
97 #[prost(string, repeated, tag = "7")]
98 pub policy_refs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
99 #[prost(string, repeated, tag = "8")]
100 pub agents: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
101 #[prost(string, repeated, tag = "9")]
102 pub change_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
103 #[prost(string, repeated, tag = "10")]
104 pub depends_on: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
105 #[prost(string, repeated, tag = "11")]
106 pub supersedes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
107 #[prost(string, tag = "12")]
108 pub status: ::prost::alloc::string::String,
109 #[prost(uint64, tag = "13")]
110 pub created_at_ms: u64,
111 #[prost(uint64, tag = "14")]
112 pub updated_at_ms: u64,
113}
114#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
115pub struct Change {
116 #[prost(message, optional, tag = "1")]
117 pub id: ::core::option::Option<super::common::Ulid>,
118 #[prost(message, optional, tag = "2")]
119 pub intent_id: ::core::option::Option<super::common::Ulid>,
120 #[prost(message, optional, tag = "3")]
121 pub head_revision: ::core::option::Option<super::common::ObjectId>,
122 #[prost(string, tag = "4")]
123 pub workstream_id: ::prost::alloc::string::String,
124 #[prost(string, tag = "5")]
125 pub status: ::prost::alloc::string::String,
126 #[prost(uint64, tag = "6")]
127 pub created_at_ms: u64,
128 #[prost(uint64, tag = "7")]
129 pub updated_at_ms: u64,
130}
131#[derive(Clone, PartialEq, ::prost::Message)]
132pub struct Conflict {
133 #[prost(message, optional, tag = "1")]
134 pub base_revision: ::core::option::Option<super::common::ObjectId>,
135 #[prost(message, optional, tag = "2")]
136 pub left_revision: ::core::option::Option<super::common::ObjectId>,
137 #[prost(message, optional, tag = "3")]
138 pub right_revision: ::core::option::Option<super::common::ObjectId>,
139 #[prost(string, tag = "4")]
140 pub file_path: ::prost::alloc::string::String,
141 #[prost(string, tag = "5")]
142 pub codec_id: ::prost::alloc::string::String,
143 #[prost(message, repeated, tag = "6")]
144 pub left_patch_ids: ::prost::alloc::vec::Vec<super::common::ObjectId>,
145 #[prost(message, repeated, tag = "7")]
146 pub right_patch_ids: ::prost::alloc::vec::Vec<super::common::ObjectId>,
147 #[prost(message, repeated, tag = "8")]
148 pub resolution_patch_ids: ::prost::alloc::vec::Vec<super::common::ObjectId>,
149 #[prost(string, tag = "9")]
150 pub status: ::prost::alloc::string::String,
151 #[prost(uint64, tag = "10")]
152 pub created_at_ms: u64,
153}
154#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
155pub struct Evidence {
156 #[prost(string, tag = "1")]
157 pub name: ::prost::alloc::string::String,
158 #[prost(string, tag = "2")]
159 pub status: ::prost::alloc::string::String,
160 #[prost(uint64, tag = "3")]
161 pub duration_ms: u64,
162 #[prost(string, repeated, tag = "4")]
163 pub artifact_refs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
164 #[prost(string, tag = "5")]
165 pub summary: ::prost::alloc::string::String,
166 #[prost(message, optional, tag = "6")]
167 pub revision_id: ::core::option::Option<super::common::ObjectId>,
168 #[prost(string, optional, tag = "7")]
169 pub command: ::core::option::Option<::prost::alloc::string::String>,
170 #[prost(int32, optional, tag = "8")]
171 pub exit_code: ::core::option::Option<i32>,
172 #[prost(uint64, optional, tag = "9")]
173 pub started_at_ms: ::core::option::Option<u64>,
174 #[prost(uint64, optional, tag = "10")]
175 pub ended_at_ms: ::core::option::Option<u64>,
176 #[prost(string, optional, tag = "11")]
177 pub environment_digest: ::core::option::Option<::prost::alloc::string::String>,
178 #[prost(string, optional, tag = "12")]
179 pub runner_identity: ::core::option::Option<::prost::alloc::string::String>,
180 #[prost(string, optional, tag = "13")]
181 pub log_digest: ::core::option::Option<::prost::alloc::string::String>,
182 #[prost(string, optional, tag = "14")]
183 pub artifact_digest: ::core::option::Option<::prost::alloc::string::String>,
184 #[prost(uint64, optional, tag = "15")]
185 pub expires_at_ms: ::core::option::Option<u64>,
186 #[prost(string, optional, tag = "16")]
187 pub trust_domain: ::core::option::Option<::prost::alloc::string::String>,
188 #[prost(bytes = "vec", optional, tag = "17")]
189 pub signature: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
190}
191#[derive(Clone, PartialEq, ::prost::Message)]
192pub struct CapsulePublic {
193 #[prost(string, tag = "1")]
194 pub agent_id: ::prost::alloc::string::String,
195 #[prost(string, tag = "2")]
196 pub agent_version: ::prost::alloc::string::String,
197 #[prost(string, tag = "3")]
198 pub toolchain_digest: ::prost::alloc::string::String,
199 #[prost(string, tag = "4")]
200 pub env_fingerprint: ::prost::alloc::string::String,
201 #[prost(message, repeated, tag = "5")]
202 pub evidence: ::prost::alloc::vec::Vec<Evidence>,
203}
204#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
205pub struct CapsuleSignature {
206 #[prost(string, tag = "1")]
207 pub signer_id: ::prost::alloc::string::String,
208 #[prost(bytes = "vec", tag = "2")]
209 pub signature: ::prost::alloc::vec::Vec<u8>,
210}
211#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
212pub struct CapsuleRecipient {
213 #[prost(string, tag = "1")]
214 pub recipient_id: ::prost::alloc::string::String,
215 #[prost(string, tag = "2")]
216 pub key_id: ::prost::alloc::string::String,
217 #[prost(string, tag = "3")]
218 pub algorithm: ::prost::alloc::string::String,
219 #[prost(bytes = "vec", tag = "4")]
220 pub ephemeral_public_key: ::prost::alloc::vec::Vec<u8>,
221 #[prost(bytes = "vec", tag = "5")]
222 pub encrypted_content_key: ::prost::alloc::vec::Vec<u8>,
223}
224#[derive(Clone, PartialEq, ::prost::Message)]
225pub struct Capsule {
226 #[prost(message, optional, tag = "1")]
227 pub revision_id: ::core::option::Option<super::common::ObjectId>,
228 #[prost(message, optional, tag = "2")]
229 pub public_fields: ::core::option::Option<CapsulePublic>,
230 #[prost(bytes = "vec", tag = "3")]
231 pub encrypted_private: ::prost::alloc::vec::Vec<u8>,
232 #[prost(string, tag = "4")]
233 pub encryption: ::prost::alloc::string::String,
234 #[prost(string, tag = "5")]
235 pub key_id: ::prost::alloc::string::String,
236 #[prost(message, repeated, tag = "6")]
237 pub signatures: ::prost::alloc::vec::Vec<CapsuleSignature>,
238 #[prost(message, repeated, tag = "7")]
239 pub recipients: ::prost::alloc::vec::Vec<CapsuleRecipient>,
240}
241#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
242pub struct EvidencePolicy {
243 #[prost(bool, tag = "1")]
244 pub require_fresh_evidence: bool,
245 #[prost(bool, tag = "2")]
246 pub require_revision_match: bool,
247 #[prost(bool, tag = "3")]
248 pub require_evidence_after_revision: bool,
249 #[prost(bool, tag = "4")]
250 pub require_expires_at: bool,
251 #[prost(bool, tag = "5")]
252 pub require_runner_identity: bool,
253 #[prost(bool, tag = "6")]
254 pub require_command: bool,
255 #[prost(bool, tag = "7")]
256 pub require_exit_code: bool,
257 #[prost(bool, tag = "8")]
258 pub require_log_or_artifact_digest: bool,
259 #[prost(bool, tag = "9")]
260 pub require_environment_digest: bool,
261 #[prost(uint64, optional, tag = "10")]
262 pub max_age_ms: ::core::option::Option<u64>,
263 #[prost(string, repeated, tag = "11")]
264 pub trusted_runner_identities: ::prost::alloc::vec::Vec<
265 ::prost::alloc::string::String,
266 >,
267}
268#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
269pub struct Policy {
270 #[prost(string, tag = "1")]
271 pub policy_id: ::prost::alloc::string::String,
272 #[prost(string, repeated, tag = "2")]
273 pub required_checks: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
274 #[prost(string, repeated, tag = "3")]
275 pub required_reviewers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
276 #[prost(string, repeated, tag = "4")]
277 pub sensitive_paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
278 #[prost(bool, tag = "5")]
279 pub quarantine_lane: bool,
280 #[prost(string, tag = "6")]
281 pub min_trust_score: ::prost::alloc::string::String,
282 #[prost(string, tag = "7")]
283 pub visibility: ::prost::alloc::string::String,
284 #[prost(string, repeated, tag = "8")]
285 pub authorized_recipients: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
286 #[prost(message, optional, tag = "9")]
287 pub evidence_policy: ::core::option::Option<EvidencePolicy>,
288 #[prost(string, repeated, tag = "10")]
289 pub revoked_recipients: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
290}
291#[derive(Clone, PartialEq, ::prost::Message)]
292pub struct Workstream {
293 #[prost(string, tag = "1")]
294 pub workstream_id: ::prost::alloc::string::String,
295 #[prost(message, repeated, tag = "2")]
296 pub change_stack: ::prost::alloc::vec::Vec<super::common::Ulid>,
297}
298#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
299pub struct RefLogEntry {
300 #[prost(message, optional, tag = "1")]
301 pub old_target: ::core::option::Option<super::common::ObjectId>,
302 #[prost(message, optional, tag = "2")]
303 pub new_target: ::core::option::Option<super::common::ObjectId>,
304 #[prost(string, tag = "3")]
305 pub author: ::prost::alloc::string::String,
306 #[prost(string, tag = "4")]
307 pub message: ::prost::alloc::string::String,
308 #[prost(uint64, tag = "5")]
309 pub timestamp: u64,
310}
311#[derive(Clone, PartialEq, ::prost::Message)]
312pub struct RefLog {
313 #[prost(string, tag = "1")]
314 pub ref_name: ::prost::alloc::string::String,
315 #[prost(message, repeated, tag = "2")]
316 pub entries: ::prost::alloc::vec::Vec<RefLogEntry>,
317}