Skip to main content

nominal_api_proto/proto/
nominal.ai.eval.v1.rs

1// This file is @generated by prost-build.
2#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct EvalContribution {
4    #[prost(string, tag = "1")]
5    pub contribution_rid: ::prost::alloc::string::String,
6    #[prost(string, tag = "2")]
7    pub workspace_rid: ::prost::alloc::string::String,
8    #[prost(enumeration = "ContributionSource", tag = "3")]
9    pub source: i32,
10    #[prost(string, tag = "4")]
11    pub use_case: ::prost::alloc::string::String,
12    #[prost(string, tag = "5")]
13    pub expected_behavior: ::prost::alloc::string::String,
14    #[prost(string, optional, tag = "6")]
15    pub scenario_hint: ::core::option::Option<::prost::alloc::string::String>,
16    #[prost(string, repeated, tag = "7")]
17    pub capability_labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
18    #[prost(string, repeated, tag = "8")]
19    pub failure_labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
20    #[prost(string, repeated, tag = "9")]
21    pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
22    #[prost(string, tag = "10")]
23    pub owner_user_rid: ::prost::alloc::string::String,
24    #[prost(string, tag = "11")]
25    pub created_by_user_rid: ::prost::alloc::string::String,
26    #[prost(enumeration = "ContributionLifecycle", tag = "12")]
27    pub lifecycle: i32,
28    #[prost(int64, tag = "13")]
29    pub revision: i64,
30    #[prost(string, optional, tag = "14")]
31    pub latest_brief_digest: ::core::option::Option<::prost::alloc::string::String>,
32    #[prost(message, optional, tag = "15")]
33    pub needs_input: ::core::option::Option<NeedsInput>,
34    #[prost(string, optional, tag = "16")]
35    pub closed_reason: ::core::option::Option<::prost::alloc::string::String>,
36    #[prost(message, optional, tag = "17")]
37    pub created_at: ::core::option::Option<
38        super::super::super::super::google::protobuf::Timestamp,
39    >,
40    #[prost(message, optional, tag = "18")]
41    pub updated_at: ::core::option::Option<
42        super::super::super::super::google::protobuf::Timestamp,
43    >,
44}
45#[derive(Clone, PartialEq, ::prost::Message)]
46pub struct NeedsInput {
47    #[prost(string, tag = "1")]
48    pub reason: ::prost::alloc::string::String,
49    #[prost(string, tag = "2")]
50    pub requested_from: ::prost::alloc::string::String,
51    #[prost(string, tag = "3")]
52    pub resume_action: ::prost::alloc::string::String,
53    #[prost(enumeration = "ContributionLifecycle", tag = "4")]
54    pub resume_lifecycle: i32,
55}
56#[derive(Clone, PartialEq, ::prost::Message)]
57pub struct EvidenceReference {
58    #[prost(string, tag = "1")]
59    pub evidence_reference_rid: ::prost::alloc::string::String,
60    #[prost(string, tag = "2")]
61    pub contribution_rid: ::prost::alloc::string::String,
62    #[prost(string, tag = "3")]
63    pub kind: ::prost::alloc::string::String,
64    #[prost(bool, tag = "4")]
65    pub is_synthetic: bool,
66    #[prost(string, tag = "5")]
67    pub created_by_user_rid: ::prost::alloc::string::String,
68    #[prost(message, optional, tag = "6")]
69    pub created_at: ::core::option::Option<
70        super::super::super::super::google::protobuf::Timestamp,
71    >,
72}
73#[derive(Clone, PartialEq, ::prost::Message)]
74pub struct BehaviorBriefRevision {
75    #[prost(string, tag = "1")]
76    pub behavior_brief_revision_rid: ::prost::alloc::string::String,
77    #[prost(string, tag = "2")]
78    pub contribution_rid: ::prost::alloc::string::String,
79    #[prost(int32, tag = "3")]
80    pub revision_number: i32,
81    #[prost(string, tag = "4")]
82    pub digest: ::prost::alloc::string::String,
83    #[prost(string, tag = "5")]
84    pub summary: ::prost::alloc::string::String,
85    #[prost(string, tag = "6")]
86    pub expected_response: ::prost::alloc::string::String,
87    #[prost(string, tag = "7")]
88    pub expected_persisted_state: ::prost::alloc::string::String,
89    #[prost(string, tag = "8")]
90    pub expected_trajectory: ::prost::alloc::string::String,
91    #[prost(string, tag = "9")]
92    pub expected_interaction: ::prost::alloc::string::String,
93    #[prost(string, tag = "10")]
94    pub provenance_kind: ::prost::alloc::string::String,
95    #[prost(string, optional, tag = "11")]
96    pub generator_provider: ::core::option::Option<::prost::alloc::string::String>,
97    #[prost(string, optional, tag = "12")]
98    pub generator_model: ::core::option::Option<::prost::alloc::string::String>,
99    #[prost(string, optional, tag = "13")]
100    pub generator_prompt_version: ::core::option::Option<::prost::alloc::string::String>,
101    #[prost(string, tag = "14")]
102    pub created_by_user_rid: ::prost::alloc::string::String,
103    #[prost(message, optional, tag = "15")]
104    pub created_at: ::core::option::Option<
105        super::super::super::super::google::protobuf::Timestamp,
106    >,
107}
108#[derive(Clone, PartialEq, ::prost::Message)]
109pub struct Decision {
110    #[prost(string, tag = "1")]
111    pub decision_rid: ::prost::alloc::string::String,
112    #[prost(string, tag = "2")]
113    pub contribution_rid: ::prost::alloc::string::String,
114    #[prost(enumeration = "DecisionKind", tag = "3")]
115    pub kind: i32,
116    #[prost(string, tag = "4")]
117    pub subject_digest: ::prost::alloc::string::String,
118    #[prost(string, tag = "5")]
119    pub actor_user_rid: ::prost::alloc::string::String,
120    #[prost(message, optional, tag = "6")]
121    pub created_at: ::core::option::Option<
122        super::super::super::super::google::protobuf::Timestamp,
123    >,
124}
125#[derive(Clone, PartialEq, ::prost::Message)]
126pub struct LifecycleEvent {
127    #[prost(string, tag = "1")]
128    pub lifecycle_event_rid: ::prost::alloc::string::String,
129    #[prost(string, tag = "2")]
130    pub contribution_rid: ::prost::alloc::string::String,
131    #[prost(string, tag = "3")]
132    pub kind: ::prost::alloc::string::String,
133    #[prost(enumeration = "ContributionLifecycle", optional, tag = "4")]
134    pub from_lifecycle: ::core::option::Option<i32>,
135    #[prost(enumeration = "ContributionLifecycle", optional, tag = "5")]
136    pub to_lifecycle: ::core::option::Option<i32>,
137    #[prost(string, tag = "6")]
138    pub actor_user_rid: ::prost::alloc::string::String,
139    #[prost(string, optional, tag = "7")]
140    pub reason: ::core::option::Option<::prost::alloc::string::String>,
141    #[prost(message, optional, tag = "8")]
142    pub created_at: ::core::option::Option<
143        super::super::super::super::google::protobuf::Timestamp,
144    >,
145}
146#[derive(Clone, PartialEq, ::prost::Message)]
147pub struct WorkflowJobFailure {
148    #[prost(string, tag = "1")]
149    pub code: ::prost::alloc::string::String,
150    #[prost(string, tag = "2")]
151    pub safe_message: ::prost::alloc::string::String,
152}
153#[derive(Clone, PartialEq, ::prost::Message)]
154pub struct WorkflowJob {
155    #[prost(string, tag = "1")]
156    pub workflow_job_rid: ::prost::alloc::string::String,
157    #[prost(string, tag = "2")]
158    pub contribution_rid: ::prost::alloc::string::String,
159    #[prost(string, tag = "3")]
160    pub kind: ::prost::alloc::string::String,
161    #[prost(string, tag = "4")]
162    pub input_reference_rid: ::prost::alloc::string::String,
163    #[prost(string, tag = "5")]
164    pub input_digest: ::prost::alloc::string::String,
165    #[prost(enumeration = "WorkflowJobStatus", tag = "6")]
166    pub status: i32,
167    #[prost(int32, tag = "7")]
168    pub attempt_count: i32,
169    #[prost(string, optional, tag = "8")]
170    pub provider: ::core::option::Option<::prost::alloc::string::String>,
171    #[prost(string, optional, tag = "9")]
172    pub prompt_version: ::core::option::Option<::prost::alloc::string::String>,
173    #[prost(string, optional, tag = "10")]
174    pub model: ::core::option::Option<::prost::alloc::string::String>,
175    #[prost(string, optional, tag = "11")]
176    pub tool_contract_version: ::core::option::Option<::prost::alloc::string::String>,
177    #[prost(message, optional, tag = "12")]
178    pub failure: ::core::option::Option<WorkflowJobFailure>,
179    #[prost(string, optional, tag = "13")]
180    pub output_reference: ::core::option::Option<::prost::alloc::string::String>,
181    #[prost(message, optional, tag = "14")]
182    pub available_at: ::core::option::Option<
183        super::super::super::super::google::protobuf::Timestamp,
184    >,
185    #[prost(message, optional, tag = "15")]
186    pub claimed_at: ::core::option::Option<
187        super::super::super::super::google::protobuf::Timestamp,
188    >,
189    #[prost(message, optional, tag = "16")]
190    pub created_at: ::core::option::Option<
191        super::super::super::super::google::protobuf::Timestamp,
192    >,
193    #[prost(message, optional, tag = "17")]
194    pub updated_at: ::core::option::Option<
195        super::super::super::super::google::protobuf::Timestamp,
196    >,
197    #[prost(string, tag = "18")]
198    pub idempotency_key: ::prost::alloc::string::String,
199    #[prost(int64, tag = "19")]
200    pub revision: i64,
201    #[prost(string, optional, tag = "20")]
202    pub output_digest: ::core::option::Option<::prost::alloc::string::String>,
203}
204#[derive(Clone, PartialEq, ::prost::Message)]
205pub struct EvalContributionDetail {
206    #[prost(message, optional, tag = "1")]
207    pub contribution: ::core::option::Option<EvalContribution>,
208    #[prost(message, repeated, tag = "2")]
209    pub evidence_references: ::prost::alloc::vec::Vec<EvidenceReference>,
210    #[prost(message, repeated, tag = "3")]
211    pub behavior_brief_revisions: ::prost::alloc::vec::Vec<BehaviorBriefRevision>,
212    #[prost(message, repeated, tag = "4")]
213    pub decisions: ::prost::alloc::vec::Vec<Decision>,
214    #[prost(message, repeated, tag = "5")]
215    pub lifecycle_events: ::prost::alloc::vec::Vec<LifecycleEvent>,
216    #[prost(message, repeated, tag = "6")]
217    pub workflow_jobs: ::prost::alloc::vec::Vec<WorkflowJob>,
218    #[prost(bool, tag = "7")]
219    pub related_records_truncated: bool,
220}
221#[derive(Clone, PartialEq, ::prost::Message)]
222pub struct ScratchContributionDraft {
223    #[prost(string, tag = "1")]
224    pub use_case: ::prost::alloc::string::String,
225    #[prost(string, tag = "2")]
226    pub expected_behavior: ::prost::alloc::string::String,
227    #[prost(string, optional, tag = "3")]
228    pub scenario_hint: ::core::option::Option<::prost::alloc::string::String>,
229    #[prost(string, repeated, tag = "4")]
230    pub capability_labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
231    #[prost(string, repeated, tag = "5")]
232    pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
233}
234#[derive(Clone, PartialEq, ::prost::Message)]
235pub struct CreateEvalContributionRequest {
236    #[prost(string, tag = "1")]
237    pub workspace_rid: ::prost::alloc::string::String,
238    #[prost(string, tag = "2")]
239    pub idempotency_key: ::prost::alloc::string::String,
240    #[prost(message, optional, tag = "3")]
241    pub scratch: ::core::option::Option<ScratchContributionDraft>,
242}
243#[derive(Clone, PartialEq, ::prost::Message)]
244pub struct CreateEvalContributionResponse {
245    #[prost(message, optional, tag = "1")]
246    pub detail: ::core::option::Option<EvalContributionDetail>,
247}
248#[derive(Clone, PartialEq, ::prost::Message)]
249pub struct ListEvalContributionsRequest {
250    #[prost(string, tag = "1")]
251    pub workspace_rid: ::prost::alloc::string::String,
252    #[prost(
253        enumeration = "ContributionLifecycle",
254        repeated,
255        packed = "false",
256        tag = "2"
257    )]
258    pub lifecycle: ::prost::alloc::vec::Vec<i32>,
259    #[prost(enumeration = "ContributionSource", repeated, packed = "false", tag = "3")]
260    pub source: ::prost::alloc::vec::Vec<i32>,
261    #[prost(string, optional, tag = "4")]
262    pub owner_user_rid: ::core::option::Option<::prost::alloc::string::String>,
263    #[prost(string, optional, tag = "5")]
264    pub capability_label: ::core::option::Option<::prost::alloc::string::String>,
265    #[prost(string, optional, tag = "6")]
266    pub failure_label: ::core::option::Option<::prost::alloc::string::String>,
267    #[prost(int32, optional, tag = "7")]
268    pub page_size: ::core::option::Option<i32>,
269    #[prost(string, optional, tag = "8")]
270    pub page_token: ::core::option::Option<::prost::alloc::string::String>,
271}
272#[derive(Clone, PartialEq, ::prost::Message)]
273pub struct ListEvalContributionsResponse {
274    #[prost(message, repeated, tag = "1")]
275    pub contributions: ::prost::alloc::vec::Vec<EvalContribution>,
276    #[prost(string, optional, tag = "2")]
277    pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
278}
279#[derive(Clone, PartialEq, ::prost::Message)]
280pub struct GetEvalContributionRequest {
281    #[prost(string, tag = "1")]
282    pub workspace_rid: ::prost::alloc::string::String,
283    #[prost(string, tag = "2")]
284    pub contribution_rid: ::prost::alloc::string::String,
285}
286#[derive(Clone, PartialEq, ::prost::Message)]
287pub struct GetEvalContributionResponse {
288    #[prost(message, optional, tag = "1")]
289    pub detail: ::core::option::Option<EvalContributionDetail>,
290}
291#[derive(Clone, PartialEq, ::prost::Message)]
292pub struct BehaviorBriefDraft {
293    #[prost(string, tag = "1")]
294    pub summary: ::prost::alloc::string::String,
295    #[prost(string, tag = "2")]
296    pub expected_response: ::prost::alloc::string::String,
297    #[prost(string, tag = "3")]
298    pub expected_persisted_state: ::prost::alloc::string::String,
299    #[prost(string, tag = "4")]
300    pub expected_trajectory: ::prost::alloc::string::String,
301    #[prost(string, tag = "5")]
302    pub expected_interaction: ::prost::alloc::string::String,
303}
304#[derive(Clone, PartialEq, ::prost::Message)]
305pub struct CreateBehaviorBriefRevisionRequest {
306    #[prost(string, tag = "1")]
307    pub workspace_rid: ::prost::alloc::string::String,
308    #[prost(string, tag = "2")]
309    pub contribution_rid: ::prost::alloc::string::String,
310    #[prost(string, tag = "3")]
311    pub idempotency_key: ::prost::alloc::string::String,
312    #[prost(int64, tag = "4")]
313    pub expected_contribution_revision: i64,
314    #[prost(string, optional, tag = "5")]
315    pub expected_previous_brief_digest: ::core::option::Option<
316        ::prost::alloc::string::String,
317    >,
318    #[prost(message, optional, tag = "6")]
319    pub behavior_brief: ::core::option::Option<BehaviorBriefDraft>,
320}
321#[derive(Clone, PartialEq, ::prost::Message)]
322pub struct CreateBehaviorBriefRevisionResponse {
323    #[prost(message, optional, tag = "1")]
324    pub contribution: ::core::option::Option<EvalContribution>,
325    #[prost(message, optional, tag = "2")]
326    pub behavior_brief_revision: ::core::option::Option<BehaviorBriefRevision>,
327}
328#[derive(Clone, PartialEq, ::prost::Message)]
329pub struct ConfirmBehaviorBriefRequest {
330    #[prost(string, tag = "1")]
331    pub workspace_rid: ::prost::alloc::string::String,
332    #[prost(string, tag = "2")]
333    pub contribution_rid: ::prost::alloc::string::String,
334    #[prost(string, tag = "3")]
335    pub idempotency_key: ::prost::alloc::string::String,
336    #[prost(int64, tag = "4")]
337    pub expected_contribution_revision: i64,
338    #[prost(string, tag = "5")]
339    pub behavior_brief_digest: ::prost::alloc::string::String,
340}
341#[derive(Clone, PartialEq, ::prost::Message)]
342pub struct ConfirmBehaviorBriefResponse {
343    #[prost(message, optional, tag = "1")]
344    pub contribution: ::core::option::Option<EvalContribution>,
345    #[prost(message, optional, tag = "2")]
346    pub decision: ::core::option::Option<Decision>,
347}
348#[derive(Clone, PartialEq, ::prost::Message)]
349pub struct AcceptBehaviorBriefForPlanningRequest {
350    #[prost(string, tag = "1")]
351    pub workspace_rid: ::prost::alloc::string::String,
352    #[prost(string, tag = "2")]
353    pub contribution_rid: ::prost::alloc::string::String,
354    #[prost(string, tag = "3")]
355    pub idempotency_key: ::prost::alloc::string::String,
356    #[prost(int64, tag = "4")]
357    pub expected_contribution_revision: i64,
358    #[prost(string, tag = "5")]
359    pub behavior_brief_digest: ::prost::alloc::string::String,
360}
361#[derive(Clone, PartialEq, ::prost::Message)]
362pub struct AcceptBehaviorBriefForPlanningResponse {
363    #[prost(message, optional, tag = "1")]
364    pub contribution: ::core::option::Option<EvalContribution>,
365    #[prost(message, optional, tag = "2")]
366    pub decision: ::core::option::Option<Decision>,
367}
368#[derive(Clone, PartialEq, ::prost::Message)]
369pub struct RequestEvalContributionInputRequest {
370    #[prost(string, tag = "1")]
371    pub workspace_rid: ::prost::alloc::string::String,
372    #[prost(string, tag = "2")]
373    pub contribution_rid: ::prost::alloc::string::String,
374    #[prost(string, tag = "3")]
375    pub idempotency_key: ::prost::alloc::string::String,
376    #[prost(int64, tag = "4")]
377    pub expected_contribution_revision: i64,
378    #[prost(string, tag = "5")]
379    pub reason: ::prost::alloc::string::String,
380    #[prost(string, tag = "6")]
381    pub requested_from: ::prost::alloc::string::String,
382    #[prost(string, tag = "7")]
383    pub resume_action: ::prost::alloc::string::String,
384}
385#[derive(Clone, PartialEq, ::prost::Message)]
386pub struct RequestEvalContributionInputResponse {
387    #[prost(message, optional, tag = "1")]
388    pub contribution: ::core::option::Option<EvalContribution>,
389}
390#[derive(Clone, PartialEq, ::prost::Message)]
391pub struct ResolveEvalContributionInputRequest {
392    #[prost(string, tag = "1")]
393    pub workspace_rid: ::prost::alloc::string::String,
394    #[prost(string, tag = "2")]
395    pub contribution_rid: ::prost::alloc::string::String,
396    #[prost(string, tag = "3")]
397    pub idempotency_key: ::prost::alloc::string::String,
398    #[prost(int64, tag = "4")]
399    pub expected_contribution_revision: i64,
400}
401#[derive(Clone, PartialEq, ::prost::Message)]
402pub struct ResolveEvalContributionInputResponse {
403    #[prost(message, optional, tag = "1")]
404    pub contribution: ::core::option::Option<EvalContribution>,
405}
406#[derive(Clone, PartialEq, ::prost::Message)]
407pub struct CloseEvalContributionRequest {
408    #[prost(string, tag = "1")]
409    pub workspace_rid: ::prost::alloc::string::String,
410    #[prost(string, tag = "2")]
411    pub contribution_rid: ::prost::alloc::string::String,
412    #[prost(string, tag = "3")]
413    pub idempotency_key: ::prost::alloc::string::String,
414    #[prost(int64, tag = "4")]
415    pub expected_contribution_revision: i64,
416    #[prost(string, tag = "5")]
417    pub reason: ::prost::alloc::string::String,
418}
419#[derive(Clone, PartialEq, ::prost::Message)]
420pub struct CloseEvalContributionResponse {
421    #[prost(message, optional, tag = "1")]
422    pub contribution: ::core::option::Option<EvalContribution>,
423}
424#[derive(Clone, PartialEq, ::prost::Message)]
425pub struct ReopenEvalContributionRequest {
426    #[prost(string, tag = "1")]
427    pub workspace_rid: ::prost::alloc::string::String,
428    #[prost(string, tag = "2")]
429    pub contribution_rid: ::prost::alloc::string::String,
430    #[prost(string, tag = "3")]
431    pub idempotency_key: ::prost::alloc::string::String,
432    #[prost(int64, tag = "4")]
433    pub expected_contribution_revision: i64,
434}
435#[derive(Clone, PartialEq, ::prost::Message)]
436pub struct ReopenEvalContributionResponse {
437    #[prost(message, optional, tag = "1")]
438    pub contribution: ::core::option::Option<EvalContribution>,
439}
440#[derive(Clone, PartialEq, ::prost::Message)]
441pub struct RetryEvalWorkflowJobRequest {
442    #[prost(string, tag = "1")]
443    pub workspace_rid: ::prost::alloc::string::String,
444    #[prost(string, tag = "2")]
445    pub contribution_rid: ::prost::alloc::string::String,
446    #[prost(string, tag = "3")]
447    pub workflow_job_rid: ::prost::alloc::string::String,
448    #[prost(string, tag = "4")]
449    pub idempotency_key: ::prost::alloc::string::String,
450    #[prost(int64, tag = "5")]
451    pub expected_contribution_revision: i64,
452    #[prost(int64, tag = "6")]
453    pub expected_workflow_job_revision: i64,
454}
455#[derive(Clone, PartialEq, ::prost::Message)]
456pub struct RetryEvalWorkflowJobResponse {
457    #[prost(message, optional, tag = "1")]
458    pub contribution: ::core::option::Option<EvalContribution>,
459    #[prost(message, optional, tag = "2")]
460    pub workflow_job: ::core::option::Option<WorkflowJob>,
461}
462#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
463#[repr(i32)]
464pub enum ContributionSource {
465    Unspecified = 0,
466    WorkbenchScratch = 1,
467}
468impl ContributionSource {
469    /// String value of the enum field names used in the ProtoBuf definition.
470    ///
471    /// The values are not transformed in any way and thus are considered stable
472    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
473    pub fn as_str_name(&self) -> &'static str {
474        match self {
475            Self::Unspecified => "CONTRIBUTION_SOURCE_UNSPECIFIED",
476            Self::WorkbenchScratch => "CONTRIBUTION_SOURCE_WORKBENCH_SCRATCH",
477        }
478    }
479    /// Creates an enum from field names used in the ProtoBuf definition.
480    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
481        match value {
482            "CONTRIBUTION_SOURCE_UNSPECIFIED" => Some(Self::Unspecified),
483            "CONTRIBUTION_SOURCE_WORKBENCH_SCRATCH" => Some(Self::WorkbenchScratch),
484            _ => None,
485        }
486    }
487}
488#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
489#[repr(i32)]
490pub enum ContributionLifecycle {
491    Unspecified = 0,
492    NeedsBehaviorReview = 1,
493    NeedsProposalReview = 2,
494    PrOpen = 3,
495    AddedToEvalSet = 4,
496    NeedsInput = 5,
497    Closed = 6,
498}
499impl ContributionLifecycle {
500    /// String value of the enum field names used in the ProtoBuf definition.
501    ///
502    /// The values are not transformed in any way and thus are considered stable
503    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
504    pub fn as_str_name(&self) -> &'static str {
505        match self {
506            Self::Unspecified => "CONTRIBUTION_LIFECYCLE_UNSPECIFIED",
507            Self::NeedsBehaviorReview => "CONTRIBUTION_LIFECYCLE_NEEDS_BEHAVIOR_REVIEW",
508            Self::NeedsProposalReview => "CONTRIBUTION_LIFECYCLE_NEEDS_PROPOSAL_REVIEW",
509            Self::PrOpen => "CONTRIBUTION_LIFECYCLE_PR_OPEN",
510            Self::AddedToEvalSet => "CONTRIBUTION_LIFECYCLE_ADDED_TO_EVAL_SET",
511            Self::NeedsInput => "CONTRIBUTION_LIFECYCLE_NEEDS_INPUT",
512            Self::Closed => "CONTRIBUTION_LIFECYCLE_CLOSED",
513        }
514    }
515    /// Creates an enum from field names used in the ProtoBuf definition.
516    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
517        match value {
518            "CONTRIBUTION_LIFECYCLE_UNSPECIFIED" => Some(Self::Unspecified),
519            "CONTRIBUTION_LIFECYCLE_NEEDS_BEHAVIOR_REVIEW" => {
520                Some(Self::NeedsBehaviorReview)
521            }
522            "CONTRIBUTION_LIFECYCLE_NEEDS_PROPOSAL_REVIEW" => {
523                Some(Self::NeedsProposalReview)
524            }
525            "CONTRIBUTION_LIFECYCLE_PR_OPEN" => Some(Self::PrOpen),
526            "CONTRIBUTION_LIFECYCLE_ADDED_TO_EVAL_SET" => Some(Self::AddedToEvalSet),
527            "CONTRIBUTION_LIFECYCLE_NEEDS_INPUT" => Some(Self::NeedsInput),
528            "CONTRIBUTION_LIFECYCLE_CLOSED" => Some(Self::Closed),
529            _ => None,
530        }
531    }
532}
533#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
534#[repr(i32)]
535pub enum DecisionKind {
536    Unspecified = 0,
537    ConfirmBrief = 1,
538    AcceptForPlanning = 2,
539    ApproveForPublication = 3,
540}
541impl DecisionKind {
542    /// String value of the enum field names used in the ProtoBuf definition.
543    ///
544    /// The values are not transformed in any way and thus are considered stable
545    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
546    pub fn as_str_name(&self) -> &'static str {
547        match self {
548            Self::Unspecified => "DECISION_KIND_UNSPECIFIED",
549            Self::ConfirmBrief => "DECISION_KIND_CONFIRM_BRIEF",
550            Self::AcceptForPlanning => "DECISION_KIND_ACCEPT_FOR_PLANNING",
551            Self::ApproveForPublication => "DECISION_KIND_APPROVE_FOR_PUBLICATION",
552        }
553    }
554    /// Creates an enum from field names used in the ProtoBuf definition.
555    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
556        match value {
557            "DECISION_KIND_UNSPECIFIED" => Some(Self::Unspecified),
558            "DECISION_KIND_CONFIRM_BRIEF" => Some(Self::ConfirmBrief),
559            "DECISION_KIND_ACCEPT_FOR_PLANNING" => Some(Self::AcceptForPlanning),
560            "DECISION_KIND_APPROVE_FOR_PUBLICATION" => Some(Self::ApproveForPublication),
561            _ => None,
562        }
563    }
564}
565#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
566#[repr(i32)]
567pub enum WorkflowJobStatus {
568    Unspecified = 0,
569    Pending = 1,
570    Running = 2,
571    Succeeded = 3,
572    Failed = 4,
573}
574impl WorkflowJobStatus {
575    /// String value of the enum field names used in the ProtoBuf definition.
576    ///
577    /// The values are not transformed in any way and thus are considered stable
578    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
579    pub fn as_str_name(&self) -> &'static str {
580        match self {
581            Self::Unspecified => "WORKFLOW_JOB_STATUS_UNSPECIFIED",
582            Self::Pending => "WORKFLOW_JOB_STATUS_PENDING",
583            Self::Running => "WORKFLOW_JOB_STATUS_RUNNING",
584            Self::Succeeded => "WORKFLOW_JOB_STATUS_SUCCEEDED",
585            Self::Failed => "WORKFLOW_JOB_STATUS_FAILED",
586        }
587    }
588    /// Creates an enum from field names used in the ProtoBuf definition.
589    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
590        match value {
591            "WORKFLOW_JOB_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
592            "WORKFLOW_JOB_STATUS_PENDING" => Some(Self::Pending),
593            "WORKFLOW_JOB_STATUS_RUNNING" => Some(Self::Running),
594            "WORKFLOW_JOB_STATUS_SUCCEEDED" => Some(Self::Succeeded),
595            "WORKFLOW_JOB_STATUS_FAILED" => Some(Self::Failed),
596            _ => None,
597        }
598    }
599}
600/// Generated client implementations.
601pub mod eval_contribution_service_client {
602    #![allow(
603        unused_variables,
604        dead_code,
605        missing_docs,
606        clippy::wildcard_imports,
607        clippy::let_unit_value,
608    )]
609    use tonic::codegen::*;
610    use tonic::codegen::http::Uri;
611    #[derive(Debug, Clone)]
612    pub struct EvalContributionServiceClient<T> {
613        inner: tonic::client::Grpc<T>,
614    }
615    impl EvalContributionServiceClient<tonic::transport::Channel> {
616        /// Attempt to create a new client by connecting to a given endpoint.
617        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
618        where
619            D: TryInto<tonic::transport::Endpoint>,
620            D::Error: Into<StdError>,
621        {
622            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
623            Ok(Self::new(conn))
624        }
625    }
626    impl<T> EvalContributionServiceClient<T>
627    where
628        T: tonic::client::GrpcService<tonic::body::Body>,
629        T::Error: Into<StdError>,
630        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
631        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
632    {
633        pub fn new(inner: T) -> Self {
634            let inner = tonic::client::Grpc::new(inner);
635            Self { inner }
636        }
637        pub fn with_origin(inner: T, origin: Uri) -> Self {
638            let inner = tonic::client::Grpc::with_origin(inner, origin);
639            Self { inner }
640        }
641        pub fn with_interceptor<F>(
642            inner: T,
643            interceptor: F,
644        ) -> EvalContributionServiceClient<InterceptedService<T, F>>
645        where
646            F: tonic::service::Interceptor,
647            T::ResponseBody: Default,
648            T: tonic::codegen::Service<
649                http::Request<tonic::body::Body>,
650                Response = http::Response<
651                    <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
652                >,
653            >,
654            <T as tonic::codegen::Service<
655                http::Request<tonic::body::Body>,
656            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
657        {
658            EvalContributionServiceClient::new(
659                InterceptedService::new(inner, interceptor),
660            )
661        }
662        /// Compress requests with the given encoding.
663        ///
664        /// This requires the server to support it otherwise it might respond with an
665        /// error.
666        #[must_use]
667        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
668            self.inner = self.inner.send_compressed(encoding);
669            self
670        }
671        /// Enable decompressing responses.
672        #[must_use]
673        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
674            self.inner = self.inner.accept_compressed(encoding);
675            self
676        }
677        /// Limits the maximum size of a decoded message.
678        ///
679        /// Default: `4MB`
680        #[must_use]
681        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
682            self.inner = self.inner.max_decoding_message_size(limit);
683            self
684        }
685        /// Limits the maximum size of an encoded message.
686        ///
687        /// Default: `usize::MAX`
688        #[must_use]
689        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
690            self.inner = self.inner.max_encoding_message_size(limit);
691            self
692        }
693        pub async fn create_eval_contribution(
694            &mut self,
695            request: impl tonic::IntoRequest<super::CreateEvalContributionRequest>,
696        ) -> std::result::Result<
697            tonic::Response<super::CreateEvalContributionResponse>,
698            tonic::Status,
699        > {
700            self.inner
701                .ready()
702                .await
703                .map_err(|e| {
704                    tonic::Status::unknown(
705                        format!("Service was not ready: {}", e.into()),
706                    )
707                })?;
708            let codec = tonic::codec::ProstCodec::default();
709            let path = http::uri::PathAndQuery::from_static(
710                "/nominal.ai.eval.v1.EvalContributionService/CreateEvalContribution",
711            );
712            let mut req = request.into_request();
713            req.extensions_mut()
714                .insert(
715                    GrpcMethod::new(
716                        "nominal.ai.eval.v1.EvalContributionService",
717                        "CreateEvalContribution",
718                    ),
719                );
720            self.inner.unary(req, path, codec).await
721        }
722        pub async fn list_eval_contributions(
723            &mut self,
724            request: impl tonic::IntoRequest<super::ListEvalContributionsRequest>,
725        ) -> std::result::Result<
726            tonic::Response<super::ListEvalContributionsResponse>,
727            tonic::Status,
728        > {
729            self.inner
730                .ready()
731                .await
732                .map_err(|e| {
733                    tonic::Status::unknown(
734                        format!("Service was not ready: {}", e.into()),
735                    )
736                })?;
737            let codec = tonic::codec::ProstCodec::default();
738            let path = http::uri::PathAndQuery::from_static(
739                "/nominal.ai.eval.v1.EvalContributionService/ListEvalContributions",
740            );
741            let mut req = request.into_request();
742            req.extensions_mut()
743                .insert(
744                    GrpcMethod::new(
745                        "nominal.ai.eval.v1.EvalContributionService",
746                        "ListEvalContributions",
747                    ),
748                );
749            self.inner.unary(req, path, codec).await
750        }
751        pub async fn get_eval_contribution(
752            &mut self,
753            request: impl tonic::IntoRequest<super::GetEvalContributionRequest>,
754        ) -> std::result::Result<
755            tonic::Response<super::GetEvalContributionResponse>,
756            tonic::Status,
757        > {
758            self.inner
759                .ready()
760                .await
761                .map_err(|e| {
762                    tonic::Status::unknown(
763                        format!("Service was not ready: {}", e.into()),
764                    )
765                })?;
766            let codec = tonic::codec::ProstCodec::default();
767            let path = http::uri::PathAndQuery::from_static(
768                "/nominal.ai.eval.v1.EvalContributionService/GetEvalContribution",
769            );
770            let mut req = request.into_request();
771            req.extensions_mut()
772                .insert(
773                    GrpcMethod::new(
774                        "nominal.ai.eval.v1.EvalContributionService",
775                        "GetEvalContribution",
776                    ),
777                );
778            self.inner.unary(req, path, codec).await
779        }
780        pub async fn create_behavior_brief_revision(
781            &mut self,
782            request: impl tonic::IntoRequest<super::CreateBehaviorBriefRevisionRequest>,
783        ) -> std::result::Result<
784            tonic::Response<super::CreateBehaviorBriefRevisionResponse>,
785            tonic::Status,
786        > {
787            self.inner
788                .ready()
789                .await
790                .map_err(|e| {
791                    tonic::Status::unknown(
792                        format!("Service was not ready: {}", e.into()),
793                    )
794                })?;
795            let codec = tonic::codec::ProstCodec::default();
796            let path = http::uri::PathAndQuery::from_static(
797                "/nominal.ai.eval.v1.EvalContributionService/CreateBehaviorBriefRevision",
798            );
799            let mut req = request.into_request();
800            req.extensions_mut()
801                .insert(
802                    GrpcMethod::new(
803                        "nominal.ai.eval.v1.EvalContributionService",
804                        "CreateBehaviorBriefRevision",
805                    ),
806                );
807            self.inner.unary(req, path, codec).await
808        }
809        pub async fn confirm_behavior_brief(
810            &mut self,
811            request: impl tonic::IntoRequest<super::ConfirmBehaviorBriefRequest>,
812        ) -> std::result::Result<
813            tonic::Response<super::ConfirmBehaviorBriefResponse>,
814            tonic::Status,
815        > {
816            self.inner
817                .ready()
818                .await
819                .map_err(|e| {
820                    tonic::Status::unknown(
821                        format!("Service was not ready: {}", e.into()),
822                    )
823                })?;
824            let codec = tonic::codec::ProstCodec::default();
825            let path = http::uri::PathAndQuery::from_static(
826                "/nominal.ai.eval.v1.EvalContributionService/ConfirmBehaviorBrief",
827            );
828            let mut req = request.into_request();
829            req.extensions_mut()
830                .insert(
831                    GrpcMethod::new(
832                        "nominal.ai.eval.v1.EvalContributionService",
833                        "ConfirmBehaviorBrief",
834                    ),
835                );
836            self.inner.unary(req, path, codec).await
837        }
838        pub async fn accept_behavior_brief_for_planning(
839            &mut self,
840            request: impl tonic::IntoRequest<
841                super::AcceptBehaviorBriefForPlanningRequest,
842            >,
843        ) -> std::result::Result<
844            tonic::Response<super::AcceptBehaviorBriefForPlanningResponse>,
845            tonic::Status,
846        > {
847            self.inner
848                .ready()
849                .await
850                .map_err(|e| {
851                    tonic::Status::unknown(
852                        format!("Service was not ready: {}", e.into()),
853                    )
854                })?;
855            let codec = tonic::codec::ProstCodec::default();
856            let path = http::uri::PathAndQuery::from_static(
857                "/nominal.ai.eval.v1.EvalContributionService/AcceptBehaviorBriefForPlanning",
858            );
859            let mut req = request.into_request();
860            req.extensions_mut()
861                .insert(
862                    GrpcMethod::new(
863                        "nominal.ai.eval.v1.EvalContributionService",
864                        "AcceptBehaviorBriefForPlanning",
865                    ),
866                );
867            self.inner.unary(req, path, codec).await
868        }
869        pub async fn request_eval_contribution_input(
870            &mut self,
871            request: impl tonic::IntoRequest<super::RequestEvalContributionInputRequest>,
872        ) -> std::result::Result<
873            tonic::Response<super::RequestEvalContributionInputResponse>,
874            tonic::Status,
875        > {
876            self.inner
877                .ready()
878                .await
879                .map_err(|e| {
880                    tonic::Status::unknown(
881                        format!("Service was not ready: {}", e.into()),
882                    )
883                })?;
884            let codec = tonic::codec::ProstCodec::default();
885            let path = http::uri::PathAndQuery::from_static(
886                "/nominal.ai.eval.v1.EvalContributionService/RequestEvalContributionInput",
887            );
888            let mut req = request.into_request();
889            req.extensions_mut()
890                .insert(
891                    GrpcMethod::new(
892                        "nominal.ai.eval.v1.EvalContributionService",
893                        "RequestEvalContributionInput",
894                    ),
895                );
896            self.inner.unary(req, path, codec).await
897        }
898        pub async fn resolve_eval_contribution_input(
899            &mut self,
900            request: impl tonic::IntoRequest<super::ResolveEvalContributionInputRequest>,
901        ) -> std::result::Result<
902            tonic::Response<super::ResolveEvalContributionInputResponse>,
903            tonic::Status,
904        > {
905            self.inner
906                .ready()
907                .await
908                .map_err(|e| {
909                    tonic::Status::unknown(
910                        format!("Service was not ready: {}", e.into()),
911                    )
912                })?;
913            let codec = tonic::codec::ProstCodec::default();
914            let path = http::uri::PathAndQuery::from_static(
915                "/nominal.ai.eval.v1.EvalContributionService/ResolveEvalContributionInput",
916            );
917            let mut req = request.into_request();
918            req.extensions_mut()
919                .insert(
920                    GrpcMethod::new(
921                        "nominal.ai.eval.v1.EvalContributionService",
922                        "ResolveEvalContributionInput",
923                    ),
924                );
925            self.inner.unary(req, path, codec).await
926        }
927        pub async fn close_eval_contribution(
928            &mut self,
929            request: impl tonic::IntoRequest<super::CloseEvalContributionRequest>,
930        ) -> std::result::Result<
931            tonic::Response<super::CloseEvalContributionResponse>,
932            tonic::Status,
933        > {
934            self.inner
935                .ready()
936                .await
937                .map_err(|e| {
938                    tonic::Status::unknown(
939                        format!("Service was not ready: {}", e.into()),
940                    )
941                })?;
942            let codec = tonic::codec::ProstCodec::default();
943            let path = http::uri::PathAndQuery::from_static(
944                "/nominal.ai.eval.v1.EvalContributionService/CloseEvalContribution",
945            );
946            let mut req = request.into_request();
947            req.extensions_mut()
948                .insert(
949                    GrpcMethod::new(
950                        "nominal.ai.eval.v1.EvalContributionService",
951                        "CloseEvalContribution",
952                    ),
953                );
954            self.inner.unary(req, path, codec).await
955        }
956        pub async fn reopen_eval_contribution(
957            &mut self,
958            request: impl tonic::IntoRequest<super::ReopenEvalContributionRequest>,
959        ) -> std::result::Result<
960            tonic::Response<super::ReopenEvalContributionResponse>,
961            tonic::Status,
962        > {
963            self.inner
964                .ready()
965                .await
966                .map_err(|e| {
967                    tonic::Status::unknown(
968                        format!("Service was not ready: {}", e.into()),
969                    )
970                })?;
971            let codec = tonic::codec::ProstCodec::default();
972            let path = http::uri::PathAndQuery::from_static(
973                "/nominal.ai.eval.v1.EvalContributionService/ReopenEvalContribution",
974            );
975            let mut req = request.into_request();
976            req.extensions_mut()
977                .insert(
978                    GrpcMethod::new(
979                        "nominal.ai.eval.v1.EvalContributionService",
980                        "ReopenEvalContribution",
981                    ),
982                );
983            self.inner.unary(req, path, codec).await
984        }
985        pub async fn retry_eval_workflow_job(
986            &mut self,
987            request: impl tonic::IntoRequest<super::RetryEvalWorkflowJobRequest>,
988        ) -> std::result::Result<
989            tonic::Response<super::RetryEvalWorkflowJobResponse>,
990            tonic::Status,
991        > {
992            self.inner
993                .ready()
994                .await
995                .map_err(|e| {
996                    tonic::Status::unknown(
997                        format!("Service was not ready: {}", e.into()),
998                    )
999                })?;
1000            let codec = tonic::codec::ProstCodec::default();
1001            let path = http::uri::PathAndQuery::from_static(
1002                "/nominal.ai.eval.v1.EvalContributionService/RetryEvalWorkflowJob",
1003            );
1004            let mut req = request.into_request();
1005            req.extensions_mut()
1006                .insert(
1007                    GrpcMethod::new(
1008                        "nominal.ai.eval.v1.EvalContributionService",
1009                        "RetryEvalWorkflowJob",
1010                    ),
1011                );
1012            self.inner.unary(req, path, codec).await
1013        }
1014    }
1015}