1#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct SubmitMessageFeedbackRequest {
4 #[prost(string, tag = "1")]
5 pub conversation_rid: ::prost::alloc::string::String,
6 #[prost(string, tag = "2")]
7 pub message_id: ::prost::alloc::string::String,
8 #[prost(enumeration = "FeedbackVote", tag = "3")]
9 pub vote: i32,
10 #[prost(string, optional, tag = "4")]
11 pub comment: ::core::option::Option<::prost::alloc::string::String>,
12 #[prost(string, repeated, tag = "5")]
13 pub issue_types: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
14}
15#[derive(Clone, Copy, PartialEq, ::prost::Message)]
16pub struct SubmitMessageFeedbackResponse {}
17#[derive(Clone, PartialEq, ::prost::Message)]
18pub struct CancelAgentRunRequest {
19 #[prost(string, tag = "1")]
20 pub conversation_rid: ::prost::alloc::string::String,
21 #[prost(string, tag = "2")]
22 pub agent_run_id: ::prost::alloc::string::String,
23}
24#[derive(Clone, Copy, PartialEq, ::prost::Message)]
25pub struct CancelAgentRunResponse {}
26#[derive(Clone, PartialEq, ::prost::Message)]
27pub struct SteerAgentRunRequest {
28 #[prost(string, tag = "1")]
29 pub conversation_rid: ::prost::alloc::string::String,
30 #[prost(string, tag = "2")]
31 pub agent_run_id: ::prost::alloc::string::String,
32 #[prost(string, tag = "3")]
33 pub client_message_id: ::prost::alloc::string::String,
34 #[prost(string, tag = "4")]
35 pub text: ::prost::alloc::string::String,
36}
37#[derive(Clone, Copy, PartialEq, ::prost::Message)]
38pub struct SteerAgentRunResponse {}
39#[derive(Clone, PartialEq, ::prost::Message)]
40pub struct AnswerShouldKnowOfferRequest {
41 #[prost(string, tag = "1")]
42 pub offer_id: ::prost::alloc::string::String,
43 #[prost(enumeration = "ShouldKnowAnswer", tag = "2")]
44 pub answer: i32,
45}
46#[derive(Clone, Copy, PartialEq, ::prost::Message)]
47pub struct AnswerShouldKnowOfferResponse {}
48#[derive(Clone, PartialEq, ::prost::Message)]
49pub struct ExperimentEvent {
50 #[prost(string, tag = "1")]
51 pub experiment: ::prost::alloc::string::String,
52 #[prost(string, tag = "2")]
53 pub action: ::prost::alloc::string::String,
54 #[prost(string, tag = "3")]
55 pub subject_id: ::prost::alloc::string::String,
56 #[prost(map = "string, message", tag = "4")]
57 pub properties: ::std::collections::HashMap<
58 ::prost::alloc::string::String,
59 ExperimentEventValue,
60 >,
61 #[prost(string, tag = "5")]
62 pub arm: ::prost::alloc::string::String,
63}
64#[derive(Clone, PartialEq, ::prost::Message)]
65pub struct ExperimentEventValue {
66 #[prost(oneof = "experiment_event_value::Value", tags = "1, 2, 3")]
67 pub value: ::core::option::Option<experiment_event_value::Value>,
68}
69pub mod experiment_event_value {
71 #[derive(Clone, PartialEq, ::prost::Oneof)]
72 pub enum Value {
73 #[prost(int64, tag = "1")]
74 IntValue(i64),
75 #[prost(bool, tag = "2")]
76 BoolValue(bool),
77 #[prost(string, tag = "3")]
78 EnumValue(::prost::alloc::string::String),
79 }
80}
81#[derive(Clone, PartialEq, ::prost::Message)]
82pub struct CreateExperimentEventRequest {
83 #[prost(message, optional, tag = "1")]
84 pub experiment_event: ::core::option::Option<ExperimentEvent>,
85}
86#[derive(Clone, PartialEq, ::prost::Message)]
87pub struct CreateExperimentEventResponse {
88 #[prost(message, optional, tag = "1")]
89 pub experiment_event: ::core::option::Option<ExperimentEvent>,
90}
91#[derive(Clone, PartialEq, ::prost::Message)]
92pub struct GetSnapshotRidByUserMessageIdRequest {
93 #[prost(string, tag = "1")]
94 pub conversation_rid: ::prost::alloc::string::String,
95 #[prost(string, tag = "2")]
96 pub message_id: ::prost::alloc::string::String,
97}
98#[derive(Clone, PartialEq, ::prost::Message)]
99pub struct GetSnapshotRidByUserMessageIdResponse {
100 #[prost(
101 oneof = "get_snapshot_rid_by_user_message_id_response::RestorePoint",
102 tags = "1, 2"
103 )]
104 pub restore_point: ::core::option::Option<
105 get_snapshot_rid_by_user_message_id_response::RestorePoint,
106 >,
107}
108pub mod get_snapshot_rid_by_user_message_id_response {
110 #[derive(Clone, PartialEq, ::prost::Oneof)]
111 pub enum RestorePoint {
112 #[prost(string, tag = "1")]
113 SnapshotRid(::prost::alloc::string::String),
114 #[prost(string, tag = "2")]
115 CommitId(::prost::alloc::string::String),
116 }
117}
118#[derive(Clone, Copy, PartialEq, ::prost::Message)]
119pub struct ReadOnlyMode {}
120#[derive(Clone, Copy, PartialEq, ::prost::Message)]
121pub struct EditMode {
122 #[prost(bool, optional, tag = "1")]
123 pub auto_accept: ::core::option::Option<bool>,
124}
125#[derive(Clone, Copy, PartialEq, ::prost::Message)]
126pub struct ConversationMode {
127 #[prost(oneof = "conversation_mode::Mode", tags = "1, 2")]
128 pub mode: ::core::option::Option<conversation_mode::Mode>,
129}
130pub mod conversation_mode {
132 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
133 pub enum Mode {
134 #[prost(message, tag = "1")]
135 ReadOnly(super::ReadOnlyMode),
136 #[prost(message, tag = "2")]
137 Edit(super::EditMode),
138 }
139}
140#[derive(Clone, PartialEq, ::prost::Message)]
141pub struct ToolApprovalResult {
142 #[prost(string, tag = "1")]
143 pub tool_call_id: ::prost::alloc::string::String,
144 #[prost(oneof = "tool_approval_result::Response", tags = "2, 3")]
145 pub response: ::core::option::Option<tool_approval_result::Response>,
146}
147pub mod tool_approval_result {
149 #[derive(Clone, PartialEq, ::prost::Oneof)]
150 pub enum Response {
151 #[prost(message, tag = "2")]
152 Approved(super::ToolApprovedResponse),
153 #[prost(message, tag = "3")]
154 Denied(super::ToolDeniedResponse),
155 }
156}
157#[derive(Clone, PartialEq, ::prost::Message)]
158pub struct ToolApprovedResponse {
159 #[prost(string, optional, tag = "1")]
160 pub override_args: ::core::option::Option<::prost::alloc::string::String>,
161}
162#[derive(Clone, PartialEq, ::prost::Message)]
163pub struct ToolDeniedResponse {
164 #[prost(string, tag = "2")]
165 pub denial_reason: ::prost::alloc::string::String,
166}
167#[derive(Clone, Copy, PartialEq, ::prost::Message)]
168pub struct RetryRequest {}
169#[derive(Clone, PartialEq, ::prost::Message)]
170pub struct UserPromptRequest {
171 #[prost(message, optional, tag = "1")]
172 pub message: ::core::option::Option<UserModelMessage>,
173 #[deprecated]
174 #[prost(message, repeated, tag = "2")]
175 pub images: ::prost::alloc::vec::Vec<ImagePart>,
176}
177#[derive(Clone, PartialEq, ::prost::Message)]
178pub struct ToolApprovalRequest {
179 #[prost(message, repeated, tag = "1")]
180 pub tool_approvals: ::prost::alloc::vec::Vec<ToolApprovalResult>,
181}
182#[derive(Clone, PartialEq, ::prost::Message)]
183pub struct UserQuestionAnswer {
184 #[prost(uint32, tag = "1")]
185 pub question_index: u32,
186 #[prost(string, repeated, tag = "2")]
187 pub selected_labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
188 #[prost(string, optional, tag = "3")]
189 pub other_text: ::core::option::Option<::prost::alloc::string::String>,
190}
191#[derive(Clone, Copy, PartialEq, ::prost::Message)]
192pub struct UserQuestionDeclined {}
193#[derive(Clone, PartialEq, ::prost::Message)]
194pub struct UserQuestionResponseRequest {
195 #[prost(string, tag = "1")]
196 pub tool_call_id: ::prost::alloc::string::String,
197 #[prost(uint32, tag = "2")]
198 pub question_index: u32,
199 #[prost(uint64, tag = "3")]
200 pub version: u64,
201 #[prost(oneof = "user_question_response_request::Response", tags = "4, 5")]
202 pub response: ::core::option::Option<user_question_response_request::Response>,
203}
204pub mod user_question_response_request {
206 #[derive(Clone, PartialEq, ::prost::Oneof)]
207 pub enum Response {
208 #[prost(message, tag = "4")]
209 Answered(super::UserQuestionAnswer),
210 #[prost(message, tag = "5")]
211 Declined(super::UserQuestionDeclined),
212 }
213}
214#[derive(Clone, PartialEq, ::prost::Message)]
215pub struct StreamChatRequest {
216 #[prost(string, tag = "1")]
217 pub conversation_rid: ::prost::alloc::string::String,
218 #[deprecated]
219 #[prost(message, optional, tag = "2")]
220 pub message: ::core::option::Option<UserModelMessage>,
221 #[deprecated]
222 #[prost(message, repeated, tag = "3")]
223 pub images: ::prost::alloc::vec::Vec<ImagePart>,
224 #[deprecated]
225 #[prost(message, repeated, tag = "6")]
226 pub tool_approvals: ::prost::alloc::vec::Vec<ToolApprovalResult>,
227 #[prost(bool, tag = "13")]
228 pub detach_on_disconnect: bool,
229 #[prost(bool, tag = "14")]
230 pub reattach_only: bool,
231 #[prost(message, optional, tag = "15")]
232 pub model_selection: ::core::option::Option<ModelSelection>,
233 #[prost(message, optional, tag = "16")]
234 pub page_context: ::core::option::Option<PageContext>,
235 #[prost(int64, optional, tag = "17")]
236 pub resume_after_offset: ::core::option::Option<i64>,
237 #[prost(string, optional, tag = "18")]
238 pub resume_epoch: ::core::option::Option<::prost::alloc::string::String>,
239 #[prost(oneof = "stream_chat_request::RequestType", tags = "7, 8, 9, 12")]
240 pub request_type: ::core::option::Option<stream_chat_request::RequestType>,
241 #[prost(oneof = "stream_chat_request::Context", tags = "4, 5, 10, 11")]
242 pub context: ::core::option::Option<stream_chat_request::Context>,
243}
244pub mod stream_chat_request {
246 #[derive(Clone, PartialEq, ::prost::Oneof)]
247 pub enum RequestType {
248 #[prost(message, tag = "7")]
249 Retry(super::RetryRequest),
250 #[prost(message, tag = "8")]
251 UserPrompt(super::UserPromptRequest),
252 #[prost(message, tag = "9")]
253 ToolApproval(super::ToolApprovalRequest),
254 #[prost(message, tag = "12")]
255 UserQuestionResponse(super::UserQuestionResponseRequest),
256 }
257 #[derive(Clone, PartialEq, ::prost::Oneof)]
258 pub enum Context {
259 #[prost(message, tag = "4")]
260 Workbook(super::WorkbookContext),
261 #[prost(message, tag = "5")]
262 Global(super::GlobalContext),
263 #[prost(message, tag = "10")]
264 Checklist(super::ChecklistContext),
265 #[prost(message, tag = "11")]
266 Template(super::TemplateContext),
267 }
268}
269#[derive(Clone, PartialEq, ::prost::Message)]
270pub struct ComputeFunctionEditorContext {
271 #[prost(string, tag = "1")]
272 pub workbook_rid: ::prost::alloc::string::String,
273 #[prost(string, tag = "2")]
274 pub name: ::prost::alloc::string::String,
275}
276#[derive(Clone, PartialEq, ::prost::Message)]
277pub struct SqlEditorContext {
278 #[prost(string, tag = "1")]
279 pub active_tab_id: ::prost::alloc::string::String,
280 #[prost(string, tag = "2")]
281 pub editor_id: ::prost::alloc::string::String,
282}
283#[derive(Clone, PartialEq, ::prost::Message)]
284pub struct DraftEditorContext {
285 #[prost(string, tag = "1")]
286 pub branch_name: ::prost::alloc::string::String,
287 #[prost(string, tag = "2")]
288 pub reference_rid: ::prost::alloc::string::String,
289}
290#[derive(Clone, PartialEq, ::prost::Message)]
291pub struct PageContext {
292 #[prost(string, tag = "1")]
293 pub url: ::prost::alloc::string::String,
294 #[prost(string, optional, tag = "2")]
295 pub primary_rid: ::core::option::Option<::prost::alloc::string::String>,
296 #[prost(message, optional, tag = "4")]
297 pub compute_function_editor: ::core::option::Option<ComputeFunctionEditorContext>,
298 #[prost(message, optional, tag = "5")]
299 pub sql_editor: ::core::option::Option<SqlEditorContext>,
300 #[prost(message, optional, tag = "6")]
301 pub draft_editor: ::core::option::Option<DraftEditorContext>,
302 #[prost(string, repeated, tag = "3")]
303 pub in_view_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
304}
305#[derive(Clone, PartialEq, ::prost::Message)]
306pub struct ModelSelection {
307 #[prost(string, tag = "1")]
308 pub model_id: ::prost::alloc::string::String,
309 #[prost(string, optional, tag = "2")]
310 pub thinking_effort: ::core::option::Option<::prost::alloc::string::String>,
311 #[prost(uint32, optional, tag = "3")]
312 pub context_window_tokens: ::core::option::Option<u32>,
313 #[prost(uint32, optional, tag = "4")]
314 pub max_output_tokens: ::core::option::Option<u32>,
315}
316#[derive(Clone, PartialEq, ::prost::Message)]
317pub struct ThinkingEffortOption {
318 #[prost(string, tag = "1")]
319 pub effort: ::prost::alloc::string::String,
320 #[prost(uint32, tag = "2")]
321 pub default_output_tokens: u32,
322}
323#[derive(Clone, PartialEq, ::prost::Message)]
324pub struct ModelOption {
325 #[prost(string, tag = "1")]
326 pub model_id: ::prost::alloc::string::String,
327 #[prost(string, tag = "2")]
328 pub label: ::prost::alloc::string::String,
329 #[prost(string, repeated, tag = "3")]
330 pub thinking_efforts: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
331 #[prost(uint32, tag = "4")]
332 pub min_context_window_tokens: u32,
333 #[prost(uint32, tag = "5")]
334 pub max_context_window_tokens: u32,
335 #[prost(uint32, tag = "6")]
336 pub default_context_window_tokens: u32,
337 #[prost(uint32, repeated, tag = "7")]
338 pub context_window_presets: ::prost::alloc::vec::Vec<u32>,
339 #[prost(uint32, tag = "8")]
340 pub min_output_tokens: u32,
341 #[prost(uint32, tag = "9")]
342 pub max_output_tokens: u32,
343 #[prost(uint32, tag = "10")]
344 pub default_output_tokens: u32,
345 #[prost(message, repeated, tag = "11")]
346 pub thinking_effort_options: ::prost::alloc::vec::Vec<ThinkingEffortOption>,
347 #[prost(bool, tag = "12")]
348 pub supports_image_input: bool,
349 #[prost(string, optional, tag = "13")]
350 pub default_thinking_effort: ::core::option::Option<::prost::alloc::string::String>,
351}
352#[derive(Clone, Copy, PartialEq, ::prost::Message)]
353pub struct ListModelsRequest {}
354#[derive(Clone, PartialEq, ::prost::Message)]
355pub struct ListModelsResponse {
356 #[prost(message, repeated, tag = "1")]
357 pub models: ::prost::alloc::vec::Vec<ModelOption>,
358}
359#[derive(Clone, PartialEq, ::prost::Message)]
360pub struct WorkbookContext {
361 #[prost(string, tag = "1")]
362 pub workbook_rid: ::prost::alloc::string::String,
363 #[deprecated]
364 #[prost(message, optional, tag = "2")]
365 pub user_presence: ::core::option::Option<WorkbookUserPresence>,
366 #[prost(string, optional, tag = "3")]
367 pub active_tab_id: ::core::option::Option<::prost::alloc::string::String>,
368 #[prost(message, optional, tag = "5")]
369 pub visible_time_range: ::core::option::Option<TimeRange>,
370}
371#[derive(Clone, PartialEq, ::prost::Message)]
372pub struct ChecklistContext {
373 #[prost(string, tag = "1")]
374 pub checklist_rid: ::prost::alloc::string::String,
375 #[prost(string, tag = "2")]
376 pub branch_name: ::prost::alloc::string::String,
377 #[prost(oneof = "checklist_context::ReferenceRid", tags = "3, 4")]
378 pub reference_rid: ::core::option::Option<checklist_context::ReferenceRid>,
379}
380pub mod checklist_context {
382 #[derive(Clone, PartialEq, ::prost::Oneof)]
383 pub enum ReferenceRid {
384 #[prost(string, tag = "3")]
385 Asset(::prost::alloc::string::String),
386 #[prost(string, tag = "4")]
387 Run(::prost::alloc::string::String),
388 }
389}
390#[derive(Clone, PartialEq, ::prost::Message)]
391pub struct TemplateContext {
392 #[prost(string, tag = "1")]
393 pub template_rid: ::prost::alloc::string::String,
394 #[prost(string, tag = "2")]
395 pub branch_name: ::prost::alloc::string::String,
396 #[prost(oneof = "template_context::ReferenceRid", tags = "3, 4")]
397 pub reference_rid: ::core::option::Option<template_context::ReferenceRid>,
398}
399pub mod template_context {
401 #[derive(Clone, PartialEq, ::prost::Oneof)]
402 pub enum ReferenceRid {
403 #[prost(string, tag = "3")]
404 Asset(::prost::alloc::string::String),
405 #[prost(string, tag = "4")]
406 Run(::prost::alloc::string::String),
407 }
408}
409#[derive(Clone, Copy, PartialEq, ::prost::Message)]
410pub struct GlobalContext {}
411#[derive(Clone, Copy, PartialEq, ::prost::Message)]
412pub struct WorkbookUserPresence {
413 #[prost(int32, tag = "1")]
414 pub tab_index: i32,
415 #[prost(message, optional, tag = "2")]
416 pub range: ::core::option::Option<TimeRange>,
417}
418#[derive(Clone, PartialEq, ::prost::Message)]
419pub struct CreateConversationRequest {
420 #[prost(string, tag = "1")]
421 pub title: ::prost::alloc::string::String,
422 #[prost(string, tag = "2")]
423 pub workspace_rid: ::prost::alloc::string::String,
424 #[prost(string, optional, tag = "3")]
425 pub old_conversation_rid: ::core::option::Option<::prost::alloc::string::String>,
426 #[prost(string, optional, tag = "4")]
427 pub previous_message_id: ::core::option::Option<::prost::alloc::string::String>,
428 #[prost(message, optional, tag = "5")]
429 pub conversation_mode: ::core::option::Option<ConversationMode>,
430 #[prost(string, optional, tag = "6")]
431 pub backing_workbook_rid: ::core::option::Option<::prost::alloc::string::String>,
432 #[prost(message, repeated, tag = "7")]
433 pub resources: ::prost::alloc::vec::Vec<ConversationResource>,
434}
435#[derive(Clone, PartialEq, ::prost::Message)]
436pub struct CreateConversationResponse {
437 #[prost(string, tag = "1")]
438 pub new_conversation_rid: ::prost::alloc::string::String,
439}
440#[derive(Clone, PartialEq, ::prost::Message)]
441pub struct UpdateConversationMetadataRequest {
442 #[prost(string, optional, tag = "1")]
443 pub title: ::core::option::Option<::prost::alloc::string::String>,
444 #[prost(string, tag = "2")]
445 pub conversation_rid: ::prost::alloc::string::String,
446 #[prost(message, optional, tag = "3")]
447 pub conversation_mode: ::core::option::Option<ConversationMode>,
448}
449#[derive(Clone, Copy, PartialEq, ::prost::Message)]
450pub struct UpdateConversationMetadataResponse {}
451#[derive(Clone, PartialEq, ::prost::Message)]
452pub struct DeleteConversationRequest {
453 #[prost(string, tag = "1")]
454 pub conversation_rid: ::prost::alloc::string::String,
455}
456#[derive(Clone, Copy, PartialEq, ::prost::Message)]
457pub struct DeleteConversationResponse {}
458#[derive(Clone, PartialEq, ::prost::Message)]
459pub struct ArchiveConversationRequest {
460 #[prost(string, tag = "1")]
461 pub conversation_rid: ::prost::alloc::string::String,
462}
463#[derive(Clone, PartialEq, ::prost::Message)]
464pub struct ArchiveConversationResponse {
465 #[prost(message, optional, tag = "1")]
466 pub conversation: ::core::option::Option<ConversationMetadata>,
467}
468#[derive(Clone, PartialEq, ::prost::Message)]
469pub struct UnarchiveConversationRequest {
470 #[prost(string, tag = "1")]
471 pub conversation_rid: ::prost::alloc::string::String,
472}
473#[derive(Clone, PartialEq, ::prost::Message)]
474pub struct UnarchiveConversationResponse {
475 #[prost(message, optional, tag = "1")]
476 pub conversation: ::core::option::Option<ConversationMetadata>,
477}
478#[derive(Clone, PartialEq, ::prost::Message)]
479pub struct GetConversationRequest {
480 #[prost(string, tag = "1")]
481 pub conversation_rid: ::prost::alloc::string::String,
482 #[prost(string, optional, tag = "2")]
483 pub page_start_message_id: ::core::option::Option<::prost::alloc::string::String>,
484 #[prost(int32, optional, tag = "3")]
485 pub max_message_count: ::core::option::Option<i32>,
486}
487#[derive(Clone, PartialEq, ::prost::Message)]
488pub struct CompactConversationRequest {
489 #[prost(string, tag = "1")]
490 pub conversation_rid: ::prost::alloc::string::String,
491}
492#[derive(Clone, Copy, PartialEq, ::prost::Message)]
493pub struct CompactConversationResponse {
494 #[prost(message, optional, tag = "1")]
495 pub context: ::core::option::Option<ContextStatus>,
496}
497#[derive(Clone, PartialEq, ::prost::Message)]
498pub struct ModelMessageWithId {
499 #[prost(string, tag = "3")]
500 pub message_id: ::prost::alloc::string::String,
501 #[prost(message, repeated, tag = "5")]
502 pub tool_approval_requests: ::prost::alloc::vec::Vec<ToolCallDescription>,
503 #[prost(message, repeated, tag = "8")]
504 pub user_question_calls: ::prost::alloc::vec::Vec<UserQuestionCall>,
505 #[prost(message, optional, tag = "9")]
506 pub created_at: ::core::option::Option<
507 super::super::super::google::protobuf::Timestamp,
508 >,
509 #[prost(double, optional, tag = "10")]
510 pub turn_duration_s: ::core::option::Option<f64>,
511 #[prost(oneof = "model_message_with_id::Content", tags = "1, 2, 6")]
512 pub content: ::core::option::Option<model_message_with_id::Content>,
513 #[prost(oneof = "model_message_with_id::RestorePoint", tags = "4, 7")]
514 pub restore_point: ::core::option::Option<model_message_with_id::RestorePoint>,
515}
516pub mod model_message_with_id {
518 #[derive(Clone, PartialEq, ::prost::Oneof)]
519 pub enum Content {
520 #[prost(message, tag = "1")]
521 Message(super::ModelMessage),
522 #[prost(message, tag = "2")]
523 ToolAction(super::ToolAction),
524 #[prost(message, tag = "6")]
525 ToolActionConfirmation(super::ToolActionConfirmation),
526 }
527 #[derive(Clone, PartialEq, ::prost::Oneof)]
528 pub enum RestorePoint {
529 #[prost(string, tag = "4")]
530 SnapshotRid(::prost::alloc::string::String),
531 #[prost(string, tag = "7")]
532 CommitId(::prost::alloc::string::String),
533 }
534}
535#[derive(Clone, PartialEq, ::prost::Message)]
536pub struct GetConversationResponse {
537 #[prost(message, repeated, tag = "1")]
538 pub ordered_messages: ::prost::alloc::vec::Vec<ModelMessageWithId>,
539 #[prost(message, optional, tag = "2")]
540 pub conversation_metadata: ::core::option::Option<ConversationMetadata>,
541}
542#[derive(Clone, PartialEq, ::prost::Message)]
543pub struct GetConversationMetadataRequest {
544 #[prost(string, tag = "1")]
545 pub conversation_rid: ::prost::alloc::string::String,
546}
547#[derive(Clone, PartialEq, ::prost::Message)]
548pub struct GetConversationMetadataResponse {
549 #[prost(message, optional, tag = "1")]
550 pub conversation_metadata: ::core::option::Option<ConversationMetadata>,
551 #[prost(message, optional, tag = "2")]
552 pub active_run: ::core::option::Option<ActiveAgentRun>,
553}
554#[derive(Clone, PartialEq, ::prost::Message)]
555pub struct ActiveAgentRun {
556 #[prost(string, tag = "1")]
557 pub agent_run_id: ::prost::alloc::string::String,
558 #[prost(message, optional, tag = "2")]
559 pub started_at: ::core::option::Option<
560 super::super::super::google::protobuf::Timestamp,
561 >,
562 #[prost(enumeration = "AgentRunExecutionMode", tag = "3")]
563 pub execution_mode: i32,
564}
565#[derive(Clone, PartialEq, ::prost::Message)]
566pub struct GetConversationMessagesRequest {
567 #[prost(string, tag = "1")]
568 pub conversation_rid: ::prost::alloc::string::String,
569 #[prost(string, optional, tag = "2")]
570 pub page_start_message_id: ::core::option::Option<::prost::alloc::string::String>,
571 #[prost(int32, optional, tag = "3")]
572 pub max_message_count: ::core::option::Option<i32>,
573}
574#[derive(Clone, PartialEq, ::prost::Message)]
575pub struct GetConversationMessagesResponse {
576 #[prost(message, repeated, tag = "1")]
577 pub ordered_messages: ::prost::alloc::vec::Vec<ModelMessageWithId>,
578 #[prost(string, optional, tag = "2")]
579 pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
580}
581#[derive(Clone, PartialEq, ::prost::Message)]
582pub struct ListConversationsRequest {
583 #[prost(string, tag = "1")]
584 pub workspace_rid: ::prost::alloc::string::String,
585 #[prost(string, optional, tag = "2")]
586 pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
587 #[prost(int32, optional, tag = "3")]
588 pub page_size: ::core::option::Option<i32>,
589 #[prost(string, optional, tag = "4")]
590 pub title_query: ::core::option::Option<::prost::alloc::string::String>,
591 #[prost(bool, tag = "6")]
592 pub include_archived: bool,
593}
594#[derive(Clone, PartialEq, ::prost::Message)]
595pub struct ConversationResource {
596 #[prost(string, tag = "1")]
597 pub rid: ::prost::alloc::string::String,
598}
599#[derive(Clone, PartialEq, ::prost::Message)]
600pub struct UpdateConversationResourcesRequest {
601 #[prost(string, tag = "1")]
602 pub conversation_rid: ::prost::alloc::string::String,
603 #[prost(string, repeated, tag = "2")]
604 pub add_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
605 #[prost(string, repeated, tag = "3")]
606 pub remove_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
607}
608#[derive(Clone, PartialEq, ::prost::Message)]
609pub struct UpdateConversationResourcesResponse {
610 #[prost(message, repeated, tag = "1")]
611 pub resources: ::prost::alloc::vec::Vec<ConversationResource>,
612}
613#[derive(Clone, PartialEq, ::prost::Message)]
614pub struct ConversationMetadata {
615 #[prost(string, tag = "1")]
616 pub conversation_rid: ::prost::alloc::string::String,
617 #[prost(string, tag = "2")]
618 pub title: ::prost::alloc::string::String,
619 #[prost(message, optional, tag = "3")]
620 pub created_at: ::core::option::Option<
621 super::super::super::google::protobuf::Timestamp,
622 >,
623 #[prost(message, optional, tag = "4")]
624 pub last_updated_at: ::core::option::Option<
625 super::super::super::google::protobuf::Timestamp,
626 >,
627 #[prost(message, optional, tag = "5")]
628 pub mode: ::core::option::Option<ConversationMode>,
629 #[prost(message, optional, tag = "6")]
630 pub current_context: ::core::option::Option<ContextStatus>,
631 #[prost(string, optional, tag = "7")]
632 pub backing_workbook_rid: ::core::option::Option<::prost::alloc::string::String>,
633 #[prost(message, repeated, tag = "8")]
634 pub resources: ::prost::alloc::vec::Vec<ConversationResource>,
635 #[prost(message, optional, tag = "9")]
636 pub active_run: ::core::option::Option<ActiveAgentRun>,
637 #[prost(message, optional, tag = "10")]
638 pub archived_at: ::core::option::Option<
639 super::super::super::google::protobuf::Timestamp,
640 >,
641}
642#[derive(Clone, PartialEq, ::prost::Message)]
643pub struct ListConversationsResponse {
644 #[prost(message, repeated, tag = "1")]
645 pub conversations: ::prost::alloc::vec::Vec<ConversationMetadata>,
646 #[prost(string, optional, tag = "2")]
647 pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
648}
649#[derive(Clone, PartialEq, ::prost::Message)]
650pub struct BatchGetConversationActiveRunsRequest {
651 #[prost(string, tag = "1")]
652 pub workspace_rid: ::prost::alloc::string::String,
653 #[prost(string, repeated, tag = "2")]
654 pub conversation_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
655}
656#[derive(Clone, PartialEq, ::prost::Message)]
657pub struct BatchGetConversationActiveRunsResponse {
658 #[prost(message, repeated, tag = "1")]
659 pub active_runs: ::prost::alloc::vec::Vec<ConversationActiveRun>,
660}
661#[derive(Clone, PartialEq, ::prost::Message)]
662pub struct ConversationActiveRun {
663 #[prost(string, tag = "1")]
664 pub conversation_rid: ::prost::alloc::string::String,
665 #[prost(message, optional, tag = "2")]
666 pub active_run: ::core::option::Option<ActiveAgentRun>,
667}
668#[derive(Clone, PartialEq, ::prost::Message)]
669pub struct BatchGetConversationSandboxesRequest {
670 #[prost(string, repeated, tag = "1")]
671 pub conversation_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
672 #[prost(string, tag = "2")]
673 pub workspace_rid: ::prost::alloc::string::String,
674}
675#[derive(Clone, PartialEq, ::prost::Message)]
676pub struct BatchGetConversationSandboxesResponse {
677 #[prost(message, repeated, tag = "1")]
678 pub conversation_sandboxes: ::prost::alloc::vec::Vec<ConversationSandbox>,
679}
680#[derive(Clone, PartialEq, ::prost::Message)]
681pub struct ResumeConversationSandboxRequest {
682 #[prost(string, tag = "1")]
683 pub workspace_rid: ::prost::alloc::string::String,
684 #[prost(string, tag = "2")]
685 pub conversation_rid: ::prost::alloc::string::String,
686}
687#[derive(Clone, Copy, PartialEq, ::prost::Message)]
688pub struct ResumeConversationSandboxResponse {}
689#[derive(Clone, PartialEq, ::prost::Message)]
690pub struct ConversationSandbox {
691 #[prost(string, tag = "1")]
692 pub conversation_rid: ::prost::alloc::string::String,
693 #[prost(enumeration = "ConversationSandboxStatus", tag = "2")]
694 pub status: i32,
695}
696#[derive(Clone, Copy, PartialEq, ::prost::Message)]
697pub struct TimeRange {
698 #[prost(message, optional, tag = "1")]
699 pub range_start: ::core::option::Option<Timestamp>,
700 #[prost(message, optional, tag = "2")]
701 pub range_end: ::core::option::Option<Timestamp>,
702}
703#[derive(Clone, Copy, PartialEq, ::prost::Message)]
704pub struct Timestamp {
705 #[prost(int32, tag = "1")]
706 pub seconds: i32,
707 #[prost(int32, tag = "2")]
708 pub nanoseconds: i32,
709}
710#[derive(Clone, PartialEq, ::prost::Message)]
711pub struct ModelMessage {
712 #[prost(oneof = "model_message::Kind", tags = "1, 2")]
713 pub kind: ::core::option::Option<model_message::Kind>,
714}
715pub mod model_message {
717 #[derive(Clone, PartialEq, ::prost::Oneof)]
718 pub enum Kind {
719 #[prost(message, tag = "1")]
720 User(super::UserModelMessage),
721 #[prost(message, tag = "2")]
722 Assistant(super::AssistantModelMessage),
723 }
724}
725#[derive(Clone, PartialEq, ::prost::Message)]
726pub struct UserModelMessage {
727 #[prost(message, repeated, tag = "1")]
728 pub text: ::prost::alloc::vec::Vec<UserContentPart>,
729}
730#[derive(Clone, PartialEq, ::prost::Message)]
731pub struct AssistantModelMessage {
732 #[prost(message, repeated, tag = "1")]
733 pub content_parts: ::prost::alloc::vec::Vec<AssistantContentPart>,
734}
735#[derive(Clone, PartialEq, ::prost::Message)]
736pub struct UserContentPart {
737 #[prost(oneof = "user_content_part::Part", tags = "1, 2, 3")]
738 pub part: ::core::option::Option<user_content_part::Part>,
739}
740pub mod user_content_part {
742 #[derive(Clone, PartialEq, ::prost::Oneof)]
743 pub enum Part {
744 #[prost(message, tag = "1")]
745 Text(super::TextPart),
746 #[prost(message, tag = "2")]
747 Image(super::ImagePart),
748 #[prost(message, tag = "3")]
749 Attachment(super::AttachmentPart),
750 }
751}
752#[derive(Clone, PartialEq, ::prost::Message)]
753pub struct AssistantContentPart {
754 #[prost(oneof = "assistant_content_part::Part", tags = "1, 2")]
755 pub part: ::core::option::Option<assistant_content_part::Part>,
756}
757pub mod assistant_content_part {
759 #[derive(Clone, PartialEq, ::prost::Oneof)]
760 pub enum Part {
761 #[prost(message, tag = "1")]
762 Text(super::TextPart),
763 #[prost(message, tag = "2")]
764 Reasoning(super::ReasoningPart),
765 }
766}
767#[derive(Clone, PartialEq, ::prost::Message)]
768pub struct TextPart {
769 #[prost(string, tag = "1")]
770 pub text: ::prost::alloc::string::String,
771}
772#[derive(Clone, PartialEq, ::prost::Message)]
773pub struct ImagePart {
774 #[prost(string, tag = "2")]
775 pub media_type: ::prost::alloc::string::String,
776 #[prost(string, tag = "4")]
777 pub attachment_rid: ::prost::alloc::string::String,
778 #[prost(string, tag = "5")]
779 pub filename: ::prost::alloc::string::String,
780}
781#[derive(Clone, PartialEq, ::prost::Message)]
782pub struct AttachmentPart {
783 #[prost(string, tag = "1")]
784 pub attachment_rid: ::prost::alloc::string::String,
785 #[prost(string, tag = "2")]
786 pub media_type: ::prost::alloc::string::String,
787}
788#[derive(Clone, PartialEq, ::prost::Message)]
789pub struct ReasoningPart {
790 #[prost(string, tag = "1")]
791 pub reasoning: ::prost::alloc::string::String,
792 #[prost(double, optional, tag = "2")]
793 pub duration_s: ::core::option::Option<f64>,
794}
795#[derive(Clone, PartialEq, ::prost::Message)]
796pub struct StreamChatResponse {
797 #[prost(int64, optional, tag = "18")]
798 pub stream_offset: ::core::option::Option<i64>,
799 #[prost(string, optional, tag = "19")]
800 pub stream_epoch: ::core::option::Option<::prost::alloc::string::String>,
801 #[prost(
802 oneof = "stream_chat_response::Response",
803 tags = "1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21"
804 )]
805 pub response: ::core::option::Option<stream_chat_response::Response>,
806}
807pub mod stream_chat_response {
809 #[derive(Clone, PartialEq, ::prost::Oneof)]
810 pub enum Response {
811 #[prost(message, tag = "1")]
812 Finish(super::Finish),
813 #[prost(message, tag = "2")]
814 Error(super::Error),
815 #[prost(message, tag = "3")]
816 TextStart(super::TextStart),
817 #[prost(message, tag = "4")]
818 TextDelta(super::TextDelta),
819 #[prost(message, tag = "5")]
820 TextEnd(super::TextEnd),
821 #[prost(message, tag = "6")]
822 ReasoningStart(super::ReasoningStart),
823 #[prost(message, tag = "7")]
824 ReasoningDelta(super::ReasoningDelta),
825 #[prost(message, tag = "8")]
826 ReasoningEnd(super::ReasoningEnd),
827 #[prost(message, tag = "10")]
828 ToolAction(super::ToolAction),
829 #[prost(message, tag = "11")]
830 ToolActionConfirmation(super::ToolActionConfirmation),
831 #[prost(message, tag = "12")]
832 StepStart(super::StepStart),
833 #[prost(message, tag = "13")]
834 StepEnd(super::StepEnd),
835 #[prost(message, tag = "14")]
836 ClientDirective(super::ClientDirective),
837 #[prost(message, tag = "15")]
838 CompactionNotice(super::CompactionNotice),
839 #[prost(message, tag = "16")]
840 StreamReset(super::StreamReset),
841 #[prost(message, tag = "17")]
842 SteeringMessage(super::SteeringMessage),
843 #[prost(message, tag = "20")]
844 ShouldKnowOffer(super::ShouldKnowOffer),
845 #[prost(message, tag = "21")]
846 ToolCallProgress(super::ToolCallProgress),
847 }
848}
849#[derive(Clone, PartialEq, ::prost::Message)]
850pub struct ToolCallProgress {
851 #[prost(string, tag = "1")]
852 pub tool_call_id: ::prost::alloc::string::String,
853 #[prost(string, tag = "2")]
854 pub status: ::prost::alloc::string::String,
855}
856#[derive(Clone, PartialEq, ::prost::Message)]
857pub struct SteeringMessage {
858 #[prost(string, tag = "1")]
859 pub client_message_id: ::prost::alloc::string::String,
860 #[prost(string, tag = "2")]
861 pub text: ::prost::alloc::string::String,
862}
863#[derive(Clone, PartialEq, ::prost::Message)]
864pub struct ShouldKnowOffer {
865 #[prost(string, tag = "1")]
866 pub id: ::prost::alloc::string::String,
867 #[prost(enumeration = "ShouldKnowTag", tag = "2")]
868 pub tag: i32,
869 #[prost(string, tag = "3")]
870 pub line: ::prost::alloc::string::String,
871 #[prost(string, tag = "4")]
872 pub explanation_markdown: ::prost::alloc::string::String,
873}
874#[derive(Clone, Copy, PartialEq, ::prost::Message)]
875pub struct StreamReset {}
876#[derive(Clone, Copy, PartialEq, ::prost::Message)]
877pub struct StepStart {}
878#[derive(Clone, Copy, PartialEq, ::prost::Message)]
879pub struct StepEnd {}
880#[derive(Clone, Copy, PartialEq, ::prost::Message)]
881pub struct CompactionNotice {
882 #[prost(int32, tag = "1")]
883 pub tokens_before: i32,
884 #[prost(int32, tag = "2")]
885 pub estimated_checkpoint_tokens: i32,
886 #[prost(enumeration = "compaction_notice::Trigger", tag = "3")]
887 pub trigger: i32,
888}
889pub mod compaction_notice {
891 #[derive(
892 Clone,
893 Copy,
894 Debug,
895 PartialEq,
896 Eq,
897 Hash,
898 PartialOrd,
899 Ord,
900 ::prost::Enumeration
901 )]
902 #[repr(i32)]
903 pub enum Trigger {
904 Unspecified = 0,
905 PreTurn = 1,
906 MidRun = 2,
907 }
908 impl Trigger {
909 pub fn as_str_name(&self) -> &'static str {
914 match self {
915 Self::Unspecified => "TRIGGER_UNSPECIFIED",
916 Self::PreTurn => "TRIGGER_PRE_TURN",
917 Self::MidRun => "TRIGGER_MID_RUN",
918 }
919 }
920 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
922 match value {
923 "TRIGGER_UNSPECIFIED" => Some(Self::Unspecified),
924 "TRIGGER_PRE_TURN" => Some(Self::PreTurn),
925 "TRIGGER_MID_RUN" => Some(Self::MidRun),
926 _ => None,
927 }
928 }
929 }
930}
931#[derive(Clone, PartialEq, ::prost::Message)]
932pub struct ToolCallDescription {
933 #[prost(string, tag = "1")]
934 pub tool_call_id: ::prost::alloc::string::String,
935 #[prost(string, tag = "2")]
936 pub tool_name: ::prost::alloc::string::String,
937 #[prost(string, tag = "3")]
938 pub tool_args_json_string: ::prost::alloc::string::String,
939 #[prost(enumeration = "ToolCallStatus", tag = "4")]
940 pub status: i32,
941}
942#[derive(Clone, PartialEq, ::prost::Message)]
943pub struct UserQuestionCall {
944 #[prost(message, optional, tag = "1")]
945 pub tool_call: ::core::option::Option<ToolCallDescription>,
946 #[prost(uint32, tag = "2")]
947 pub current_question_index: u32,
948 #[prost(message, repeated, tag = "3")]
949 pub answers: ::prost::alloc::vec::Vec<UserQuestionAnswer>,
950 #[prost(enumeration = "UserQuestionState", tag = "4")]
951 pub state: i32,
952 #[prost(uint64, tag = "5")]
953 pub version: u64,
954}
955#[derive(Clone, PartialEq, ::prost::Message)]
956pub struct Finish {
957 #[prost(string, repeated, tag = "1")]
958 pub ordered_message_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
959 #[prost(string, optional, tag = "2")]
960 pub new_title: ::core::option::Option<::prost::alloc::string::String>,
961 #[prost(message, repeated, tag = "3")]
962 pub tool_approval_requests: ::prost::alloc::vec::Vec<ToolCallDescription>,
963 #[prost(message, optional, tag = "4")]
964 pub updated_context: ::core::option::Option<ContextStatus>,
965 #[prost(string, optional, tag = "5")]
966 pub turn_rid: ::core::option::Option<::prost::alloc::string::String>,
967 #[prost(message, repeated, tag = "6")]
968 pub user_question_calls: ::prost::alloc::vec::Vec<UserQuestionCall>,
969 #[prost(double, optional, tag = "7")]
970 pub duration_s: ::core::option::Option<f64>,
971}
972#[derive(Clone, PartialEq, ::prost::Message)]
973pub struct Error {
974 #[prost(string, tag = "1")]
975 pub message: ::prost::alloc::string::String,
976}
977#[derive(Clone, PartialEq, ::prost::Message)]
978pub struct TextStart {
979 #[prost(string, tag = "1")]
980 pub id: ::prost::alloc::string::String,
981}
982#[derive(Clone, PartialEq, ::prost::Message)]
983pub struct TextDelta {
984 #[prost(string, tag = "1")]
985 pub id: ::prost::alloc::string::String,
986 #[prost(string, tag = "2")]
987 pub delta: ::prost::alloc::string::String,
988}
989#[derive(Clone, PartialEq, ::prost::Message)]
990pub struct TextEnd {
991 #[prost(string, tag = "1")]
992 pub id: ::prost::alloc::string::String,
993}
994#[derive(Clone, PartialEq, ::prost::Message)]
995pub struct ReasoningStart {
996 #[prost(string, tag = "1")]
997 pub id: ::prost::alloc::string::String,
998}
999#[derive(Clone, PartialEq, ::prost::Message)]
1000pub struct ReasoningDelta {
1001 #[prost(string, tag = "1")]
1002 pub id: ::prost::alloc::string::String,
1003 #[prost(string, tag = "2")]
1004 pub delta: ::prost::alloc::string::String,
1005}
1006#[derive(Clone, PartialEq, ::prost::Message)]
1007pub struct ReasoningEnd {
1008 #[prost(string, tag = "1")]
1009 pub id: ::prost::alloc::string::String,
1010 #[prost(double, tag = "2")]
1011 pub duration_s: f64,
1012}
1013#[derive(Clone, PartialEq, ::prost::Message)]
1014pub struct ToolAction {
1015 #[prost(string, tag = "2")]
1016 pub tool_action_verb: ::prost::alloc::string::String,
1017 #[prost(string, optional, tag = "3")]
1018 pub tool_target: ::core::option::Option<::prost::alloc::string::String>,
1019 #[prost(message, optional, tag = "5")]
1020 pub tool_call_description: ::core::option::Option<ToolCallDescription>,
1021 #[deprecated]
1022 #[prost(string, tag = "1")]
1023 pub id: ::prost::alloc::string::String,
1024 #[deprecated]
1025 #[prost(string, tag = "4")]
1026 pub tool_name: ::prost::alloc::string::String,
1027}
1028#[derive(Clone, PartialEq, ::prost::Message)]
1029pub struct ToolActionConfirmation {
1030 #[prost(string, tag = "1")]
1031 pub id: ::prost::alloc::string::String,
1032 #[prost(double, optional, tag = "4")]
1033 pub duration_s: ::core::option::Option<f64>,
1034 #[prost(oneof = "tool_action_confirmation::Outcome", tags = "2, 3")]
1035 pub outcome: ::core::option::Option<tool_action_confirmation::Outcome>,
1036}
1037pub mod tool_action_confirmation {
1039 #[derive(Clone, PartialEq, ::prost::Oneof)]
1040 pub enum Outcome {
1041 #[prost(message, tag = "2")]
1042 Success(super::ToolActionSuccess),
1043 #[prost(message, tag = "3")]
1044 Failure(super::ToolActionFailure),
1045 }
1046}
1047#[derive(Clone, PartialEq, ::prost::Message)]
1048pub struct ToolActionSuccess {
1049 #[prost(string, tag = "1")]
1050 pub tool_success_message: ::prost::alloc::string::String,
1051 #[prost(message, optional, tag = "2")]
1052 pub code_cell: ::core::option::Option<CodeCellOutputs>,
1053}
1054#[derive(Clone, PartialEq, ::prost::Message)]
1055pub struct CodeCellOutputs {
1056 #[prost(message, repeated, tag = "1")]
1057 pub outputs: ::prost::alloc::vec::Vec<CodeCellOutput>,
1058 #[prost(bool, tag = "2")]
1059 pub truncated: bool,
1060 #[prost(message, repeated, tag = "3")]
1061 pub files: ::prost::alloc::vec::Vec<CodeCellFile>,
1062}
1063#[derive(Clone, PartialEq, ::prost::Message)]
1064pub struct CodeCellFile {
1065 #[prost(string, tag = "1")]
1066 pub attachment_rid: ::prost::alloc::string::String,
1067 #[prost(string, tag = "2")]
1068 pub media_type: ::prost::alloc::string::String,
1069 #[prost(string, tag = "3")]
1070 pub name: ::prost::alloc::string::String,
1071 #[prost(uint64, tag = "4")]
1072 pub size_bytes: u64,
1073}
1074#[derive(Clone, PartialEq, ::prost::Message)]
1075pub struct CodeCellOutput {
1076 #[prost(oneof = "code_cell_output::Output", tags = "1, 2, 3")]
1077 pub output: ::core::option::Option<code_cell_output::Output>,
1078}
1079pub mod code_cell_output {
1081 #[derive(Clone, PartialEq, ::prost::Message)]
1082 pub struct Stream {
1083 #[prost(enumeration = "StreamName", tag = "1")]
1084 pub name: i32,
1085 #[prost(string, tag = "2")]
1086 pub text: ::prost::alloc::string::String,
1087 }
1088 #[derive(Clone, PartialEq, ::prost::Message)]
1089 pub struct Data {
1090 #[prost(string, tag = "1")]
1091 pub text_plain: ::prost::alloc::string::String,
1092 }
1093 #[derive(Clone, PartialEq, ::prost::Message)]
1094 pub struct Error {
1095 #[prost(string, tag = "1")]
1096 pub ename: ::prost::alloc::string::String,
1097 #[prost(string, tag = "2")]
1098 pub evalue: ::prost::alloc::string::String,
1099 #[prost(string, repeated, tag = "3")]
1100 pub traceback: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1101 }
1102 #[derive(
1103 Clone,
1104 Copy,
1105 Debug,
1106 PartialEq,
1107 Eq,
1108 Hash,
1109 PartialOrd,
1110 Ord,
1111 ::prost::Enumeration
1112 )]
1113 #[repr(i32)]
1114 pub enum StreamName {
1115 Unspecified = 0,
1116 Stdout = 1,
1117 Stderr = 2,
1118 }
1119 impl StreamName {
1120 pub fn as_str_name(&self) -> &'static str {
1125 match self {
1126 Self::Unspecified => "STREAM_NAME_UNSPECIFIED",
1127 Self::Stdout => "STREAM_NAME_STDOUT",
1128 Self::Stderr => "STREAM_NAME_STDERR",
1129 }
1130 }
1131 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1133 match value {
1134 "STREAM_NAME_UNSPECIFIED" => Some(Self::Unspecified),
1135 "STREAM_NAME_STDOUT" => Some(Self::Stdout),
1136 "STREAM_NAME_STDERR" => Some(Self::Stderr),
1137 _ => None,
1138 }
1139 }
1140 }
1141 #[derive(Clone, PartialEq, ::prost::Oneof)]
1142 pub enum Output {
1143 #[prost(message, tag = "1")]
1144 Stream(Stream),
1145 #[prost(message, tag = "2")]
1146 Data(Data),
1147 #[prost(message, tag = "3")]
1148 Error(Error),
1149 }
1150}
1151#[derive(Clone, PartialEq, ::prost::Message)]
1152pub struct ToolActionFailure {
1153 #[prost(string, tag = "1")]
1154 pub tool_error_message: ::prost::alloc::string::String,
1155}
1156#[derive(Clone, PartialEq, ::prost::Message)]
1157pub struct ClientDirective {
1158 #[prost(oneof = "client_directive::Version", tags = "1")]
1159 pub version: ::core::option::Option<client_directive::Version>,
1160}
1161pub mod client_directive {
1163 #[derive(Clone, PartialEq, ::prost::Oneof)]
1164 pub enum Version {
1165 #[prost(message, tag = "1")]
1166 V1(super::ClientDirectiveV1),
1167 }
1168}
1169#[derive(Clone, PartialEq, ::prost::Message)]
1170pub struct ClientDirectiveV1 {
1171 #[prost(string, tag = "1")]
1172 pub id: ::prost::alloc::string::String,
1173 #[prost(oneof = "client_directive_v1::Kind", tags = "2, 3, 4, 5")]
1174 pub kind: ::core::option::Option<client_directive_v1::Kind>,
1175}
1176pub mod client_directive_v1 {
1178 #[derive(Clone, PartialEq, ::prost::Oneof)]
1179 pub enum Kind {
1180 #[prost(message, tag = "2")]
1181 ResourceEdited(super::ResourceEditedDirective),
1182 #[prost(message, tag = "3")]
1183 SetTimeRange(super::SetTimeRangeDirective),
1184 #[prost(message, tag = "4")]
1185 ResourceChanged(super::ResourceChangedDirective),
1186 #[prost(message, tag = "5")]
1187 SandboxStatus(super::SandboxStatusDirective),
1188 }
1189}
1190#[derive(Clone, PartialEq, ::prost::Message)]
1191pub struct SandboxStatusDirective {
1192 #[prost(string, tag = "1")]
1193 pub conversation_rid: ::prost::alloc::string::String,
1194 #[prost(enumeration = "ConversationSandboxStatus", tag = "2")]
1195 pub status: i32,
1196}
1197#[derive(Clone, PartialEq, ::prost::Message)]
1198pub struct ResourceEditedDirective {
1199 #[prost(oneof = "resource_edited_directive::Resource", tags = "1, 2, 3")]
1200 pub resource: ::core::option::Option<resource_edited_directive::Resource>,
1201}
1202pub mod resource_edited_directive {
1204 #[derive(Clone, PartialEq, ::prost::Oneof)]
1205 pub enum Resource {
1206 #[prost(message, tag = "1")]
1207 Checklist(super::ChecklistEdited),
1208 #[prost(message, tag = "2")]
1209 Template(super::TemplateEdited),
1210 #[prost(message, tag = "3")]
1211 Workbook(super::WorkbookEdited),
1212 }
1213}
1214#[derive(Clone, PartialEq, ::prost::Message)]
1215pub struct ChecklistEdited {
1216 #[prost(string, tag = "1")]
1217 pub checklist_rid: ::prost::alloc::string::String,
1218 #[prost(string, tag = "2")]
1219 pub branch_name: ::prost::alloc::string::String,
1220 #[prost(string, optional, tag = "3")]
1221 pub check_id: ::core::option::Option<::prost::alloc::string::String>,
1222 #[prost(string, optional, tag = "4")]
1223 pub commit_id: ::core::option::Option<::prost::alloc::string::String>,
1224 #[prost(message, optional, tag = "5")]
1225 pub committed_at: ::core::option::Option<
1226 super::super::super::google::protobuf::Timestamp,
1227 >,
1228}
1229#[derive(Clone, PartialEq, ::prost::Message)]
1230pub struct TemplateEdited {
1231 #[prost(string, tag = "1")]
1232 pub template_rid: ::prost::alloc::string::String,
1233 #[prost(string, tag = "2")]
1234 pub branch_name: ::prost::alloc::string::String,
1235 #[prost(string, optional, tag = "3")]
1236 pub commit_id: ::core::option::Option<::prost::alloc::string::String>,
1237 #[prost(message, optional, tag = "4")]
1238 pub committed_at: ::core::option::Option<
1239 super::super::super::google::protobuf::Timestamp,
1240 >,
1241}
1242#[derive(Clone, PartialEq, ::prost::Message)]
1243pub struct WorkbookEdited {
1244 #[prost(string, tag = "1")]
1245 pub workbook_rid: ::prost::alloc::string::String,
1246}
1247#[derive(Clone, PartialEq, ::prost::Message)]
1248pub struct ResourceChangedDirective {
1249 #[prost(string, tag = "1")]
1250 pub resource_rid: ::prost::alloc::string::String,
1251 #[prost(enumeration = "ResourceChangeType", tag = "2")]
1252 pub change: i32,
1253 #[prost(string, optional, tag = "3")]
1254 pub branch_name: ::core::option::Option<::prost::alloc::string::String>,
1255 #[prost(string, optional, tag = "4")]
1256 pub commit_id: ::core::option::Option<::prost::alloc::string::String>,
1257 #[prost(string, repeated, tag = "5")]
1258 pub related_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1259}
1260#[derive(Clone, PartialEq, ::prost::Message)]
1261pub struct SetTimeRangeDirective {
1262 #[prost(string, tag = "1")]
1263 pub workbook_rid: ::prost::alloc::string::String,
1264 #[prost(message, optional, tag = "2")]
1265 pub start: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
1266 #[prost(message, optional, tag = "3")]
1267 pub end: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
1268 #[prost(enumeration = "TimeRangeType", tag = "4")]
1269 pub time_range_type: i32,
1270}
1271#[derive(Clone, PartialEq, ::prost::Message)]
1272pub struct ResourceMarkup {
1273 #[prost(oneof = "resource_markup::Kind", tags = "1, 2")]
1274 pub kind: ::core::option::Option<resource_markup::Kind>,
1275}
1276pub mod resource_markup {
1278 #[derive(Clone, PartialEq, ::prost::Oneof)]
1279 pub enum Kind {
1280 #[prost(message, tag = "1")]
1281 Rid(super::RidResourceMarkup),
1282 #[prost(message, tag = "2")]
1283 RidList(super::RidListResourceMarkup),
1284 }
1285}
1286#[derive(Clone, PartialEq, ::prost::Message)]
1287pub struct RidResourceMarkup {
1288 #[prost(string, tag = "1")]
1289 pub rid: ::prost::alloc::string::String,
1290 #[prost(string, optional, tag = "2")]
1291 pub label: ::core::option::Option<::prost::alloc::string::String>,
1292}
1293#[derive(Clone, PartialEq, ::prost::Message)]
1294pub struct RidListResourceMarkup {
1295 #[prost(string, repeated, tag = "1")]
1296 pub rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1297 #[prost(string, optional, tag = "2")]
1298 pub label: ::core::option::Option<::prost::alloc::string::String>,
1299}
1300#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1301pub struct ContextStatus {
1302 #[prost(int32, tag = "1")]
1303 pub curr_token_count: i32,
1304 #[prost(int32, tag = "2")]
1305 pub model_context_limit: i32,
1306}
1307#[derive(Clone, PartialEq, ::prost::Message)]
1308pub struct ComputeProvenanceV1 {
1309 #[prost(string, tag = "1")]
1310 pub compute_request_json: ::prost::alloc::string::String,
1311 #[prost(string, tag = "2")]
1312 pub label: ::prost::alloc::string::String,
1313 #[prost(string, optional, tag = "3")]
1314 pub code: ::core::option::Option<::prost::alloc::string::String>,
1315 #[prost(enumeration = "ComputeOutputType", tag = "4")]
1316 pub output_type: i32,
1317}
1318#[derive(Clone, PartialEq, ::prost::Message)]
1319pub struct ComputeProvenanceListV1 {
1320 #[prost(message, repeated, tag = "1")]
1321 pub entries: ::prost::alloc::vec::Vec<ComputeProvenanceEntryV1>,
1322}
1323#[derive(Clone, PartialEq, ::prost::Message)]
1324pub struct ComputeProvenanceEntryV1 {
1325 #[prost(string, tag = "1")]
1326 pub pointer: ::prost::alloc::string::String,
1327 #[prost(message, optional, tag = "2")]
1328 pub provenance: ::core::option::Option<ComputeProvenanceV1>,
1329}
1330#[derive(Clone, PartialEq, ::prost::Message)]
1331pub struct Citation {
1332 #[prost(string, tag = "1")]
1333 pub r#ref: ::prost::alloc::string::String,
1334 #[prost(string, tag = "2")]
1335 pub label: ::prost::alloc::string::String,
1336 #[prost(message, optional, tag = "3")]
1337 pub retrieved_at: ::core::option::Option<
1338 super::super::super::google::protobuf::Timestamp,
1339 >,
1340 #[prost(uint32, optional, tag = "5")]
1341 pub number: ::core::option::Option<u32>,
1342 #[prost(oneof = "citation::Payload", tags = "4, 6, 7")]
1343 pub payload: ::core::option::Option<citation::Payload>,
1344}
1345pub mod citation {
1347 #[derive(Clone, PartialEq, ::prost::Oneof)]
1348 pub enum Payload {
1349 #[prost(message, tag = "4")]
1350 Telemetry(super::TelemetryCitation),
1351 #[prost(message, tag = "6")]
1352 File(super::DriveFileCitation),
1353 #[prost(message, tag = "7")]
1354 CodeExecution(super::CodeExecutionCitation),
1355 }
1356}
1357#[derive(Clone, PartialEq, ::prost::Message)]
1358pub struct CodeExecutionCitation {
1359 #[prost(string, tag = "1")]
1360 pub code: ::prost::alloc::string::String,
1361 #[prost(string, tag = "2")]
1362 pub output: ::prost::alloc::string::String,
1363 #[prost(string, optional, tag = "3")]
1364 pub error: ::core::option::Option<::prost::alloc::string::String>,
1365 #[prost(message, repeated, tag = "4")]
1366 pub calls: ::prost::alloc::vec::Vec<CodeExecutionCall>,
1367 #[prost(uint32, tag = "5")]
1368 pub omitted_calls: u32,
1369}
1370#[derive(Clone, PartialEq, ::prost::Message)]
1371pub struct CodeExecutionCall {
1372 #[prost(string, tag = "1")]
1373 pub method: ::prost::alloc::string::String,
1374 #[prost(string, optional, tag = "2")]
1375 pub arguments_json: ::core::option::Option<::prost::alloc::string::String>,
1376 #[prost(enumeration = "CodeExecutionCallOutcome", tag = "3")]
1377 pub outcome: i32,
1378 #[prost(string, optional, tag = "4")]
1379 pub error_code: ::core::option::Option<::prost::alloc::string::String>,
1380 #[prost(message, repeated, tag = "5")]
1381 pub sources: ::prost::alloc::vec::Vec<CodeExecutionSource>,
1382}
1383#[derive(Clone, PartialEq, ::prost::Message)]
1384pub struct CodeExecutionSource {
1385 #[prost(string, tag = "1")]
1386 pub label: ::prost::alloc::string::String,
1387 #[prost(oneof = "code_execution_source::Source", tags = "2, 3")]
1388 pub source: ::core::option::Option<code_execution_source::Source>,
1389}
1390pub mod code_execution_source {
1392 #[derive(Clone, PartialEq, ::prost::Oneof)]
1393 pub enum Source {
1394 #[prost(message, tag = "2")]
1395 Telemetry(super::TelemetryCitation),
1396 #[prost(message, tag = "3")]
1397 File(super::DriveFileCitation),
1398 }
1399}
1400#[derive(Clone, PartialEq, ::prost::Message)]
1401pub struct TelemetryCitation {
1402 #[prost(oneof = "telemetry_citation::Version", tags = "1")]
1403 pub version: ::core::option::Option<telemetry_citation::Version>,
1404}
1405pub mod telemetry_citation {
1407 #[derive(Clone, PartialEq, ::prost::Oneof)]
1408 pub enum Version {
1409 #[prost(message, tag = "1")]
1410 V1(super::ComputeProvenanceV1),
1411 }
1412}
1413#[derive(Clone, PartialEq, ::prost::Message)]
1414pub struct DriveFileCitation {
1415 #[prost(string, tag = "1")]
1416 pub file_revision_rid: ::prost::alloc::string::String,
1417 #[prost(message, optional, tag = "2")]
1418 pub file_identity: ::core::option::Option<
1419 super::super::file_store::v1::LogicalFileIdentity,
1420 >,
1421 #[prost(string, tag = "3")]
1422 pub drive_rid: ::prost::alloc::string::String,
1423 #[prost(uint64, tag = "4")]
1424 pub total_size_bytes: u64,
1425 #[prost(oneof = "drive_file_citation::Kind", tags = "5, 6")]
1426 pub kind: ::core::option::Option<drive_file_citation::Kind>,
1427}
1428pub mod drive_file_citation {
1430 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
1431 pub enum Kind {
1432 #[prost(message, tag = "5")]
1433 Text(super::TextFileCitation),
1434 #[prost(message, tag = "6")]
1435 Pdf(super::PdfFileCitation),
1436 }
1437}
1438#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1439pub struct TextFileCitation {
1440 #[prost(message, optional, tag = "1")]
1441 pub byte_range: ::core::option::Option<ByteRange>,
1442}
1443#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1444pub struct PdfFileCitation {
1445 #[prost(uint32, tag = "1")]
1446 pub first_page: u32,
1447 #[prost(uint32, tag = "2")]
1448 pub page_count: u32,
1449 #[prost(uint32, tag = "3")]
1450 pub total_page_count: u32,
1451}
1452#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1453pub struct ByteRange {
1454 #[prost(uint64, tag = "1")]
1455 pub offset: u64,
1456 #[prost(uint64, tag = "2")]
1457 pub length: u64,
1458}
1459#[derive(Clone, PartialEq, ::prost::Message)]
1460pub struct BatchGetCitationsRequest {
1461 #[prost(string, tag = "1")]
1462 pub conversation_rid: ::prost::alloc::string::String,
1463 #[prost(string, repeated, tag = "2")]
1464 pub refs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1465}
1466#[derive(Clone, PartialEq, ::prost::Message)]
1467pub struct BatchGetCitationsResponse {
1468 #[prost(message, repeated, tag = "1")]
1469 pub citations: ::prost::alloc::vec::Vec<Citation>,
1470 #[prost(message, repeated, tag = "2")]
1471 pub errors: ::prost::alloc::vec::Vec<GetCitationResponseError>,
1472}
1473#[derive(Clone, PartialEq, ::prost::Message)]
1474pub struct GetCitationResponseError {
1475 #[prost(string, tag = "1")]
1476 pub r#ref: ::prost::alloc::string::String,
1477 #[prost(enumeration = "get_citation_response_error::Reason", tag = "2")]
1478 pub reason: i32,
1479}
1480pub mod get_citation_response_error {
1482 #[derive(
1483 Clone,
1484 Copy,
1485 Debug,
1486 PartialEq,
1487 Eq,
1488 Hash,
1489 PartialOrd,
1490 Ord,
1491 ::prost::Enumeration
1492 )]
1493 #[repr(i32)]
1494 pub enum Reason {
1495 Unspecified = 0,
1496 NotFound = 1,
1497 }
1498 impl Reason {
1499 pub fn as_str_name(&self) -> &'static str {
1504 match self {
1505 Self::Unspecified => "REASON_UNSPECIFIED",
1506 Self::NotFound => "REASON_NOT_FOUND",
1507 }
1508 }
1509 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1511 match value {
1512 "REASON_UNSPECIFIED" => Some(Self::Unspecified),
1513 "REASON_NOT_FOUND" => Some(Self::NotFound),
1514 _ => None,
1515 }
1516 }
1517 }
1518}
1519#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1520#[repr(i32)]
1521pub enum FeedbackVote {
1522 Unspecified = 0,
1523 ThumbsUp = 1,
1524 ThumbsDown = 2,
1525}
1526impl FeedbackVote {
1527 pub fn as_str_name(&self) -> &'static str {
1532 match self {
1533 Self::Unspecified => "FEEDBACK_VOTE_UNSPECIFIED",
1534 Self::ThumbsUp => "FEEDBACK_VOTE_THUMBS_UP",
1535 Self::ThumbsDown => "FEEDBACK_VOTE_THUMBS_DOWN",
1536 }
1537 }
1538 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1540 match value {
1541 "FEEDBACK_VOTE_UNSPECIFIED" => Some(Self::Unspecified),
1542 "FEEDBACK_VOTE_THUMBS_UP" => Some(Self::ThumbsUp),
1543 "FEEDBACK_VOTE_THUMBS_DOWN" => Some(Self::ThumbsDown),
1544 _ => None,
1545 }
1546 }
1547}
1548#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1549#[repr(i32)]
1550pub enum ShouldKnowAnswer {
1551 Unspecified = 0,
1552 LearnMore = 1,
1553 KnewIt = 2,
1554 NotNow = 3,
1555 Understood = 4,
1556 Chat = 5,
1557 Dismissed = 6,
1558 Helpful = 7,
1559 NotRelevant = 8,
1560 NotUnderstood = 9,
1561 IgnoredSubmit = 10,
1562 IgnoredTimeout = 11,
1563}
1564impl ShouldKnowAnswer {
1565 pub fn as_str_name(&self) -> &'static str {
1570 match self {
1571 Self::Unspecified => "SHOULD_KNOW_ANSWER_UNSPECIFIED",
1572 Self::LearnMore => "SHOULD_KNOW_ANSWER_LEARN_MORE",
1573 Self::KnewIt => "SHOULD_KNOW_ANSWER_KNEW_IT",
1574 Self::NotNow => "SHOULD_KNOW_ANSWER_NOT_NOW",
1575 Self::Understood => "SHOULD_KNOW_ANSWER_UNDERSTOOD",
1576 Self::Chat => "SHOULD_KNOW_ANSWER_CHAT",
1577 Self::Dismissed => "SHOULD_KNOW_ANSWER_DISMISSED",
1578 Self::Helpful => "SHOULD_KNOW_ANSWER_HELPFUL",
1579 Self::NotRelevant => "SHOULD_KNOW_ANSWER_NOT_RELEVANT",
1580 Self::NotUnderstood => "SHOULD_KNOW_ANSWER_NOT_UNDERSTOOD",
1581 Self::IgnoredSubmit => "SHOULD_KNOW_ANSWER_IGNORED_SUBMIT",
1582 Self::IgnoredTimeout => "SHOULD_KNOW_ANSWER_IGNORED_TIMEOUT",
1583 }
1584 }
1585 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1587 match value {
1588 "SHOULD_KNOW_ANSWER_UNSPECIFIED" => Some(Self::Unspecified),
1589 "SHOULD_KNOW_ANSWER_LEARN_MORE" => Some(Self::LearnMore),
1590 "SHOULD_KNOW_ANSWER_KNEW_IT" => Some(Self::KnewIt),
1591 "SHOULD_KNOW_ANSWER_NOT_NOW" => Some(Self::NotNow),
1592 "SHOULD_KNOW_ANSWER_UNDERSTOOD" => Some(Self::Understood),
1593 "SHOULD_KNOW_ANSWER_CHAT" => Some(Self::Chat),
1594 "SHOULD_KNOW_ANSWER_DISMISSED" => Some(Self::Dismissed),
1595 "SHOULD_KNOW_ANSWER_HELPFUL" => Some(Self::Helpful),
1596 "SHOULD_KNOW_ANSWER_NOT_RELEVANT" => Some(Self::NotRelevant),
1597 "SHOULD_KNOW_ANSWER_NOT_UNDERSTOOD" => Some(Self::NotUnderstood),
1598 "SHOULD_KNOW_ANSWER_IGNORED_SUBMIT" => Some(Self::IgnoredSubmit),
1599 "SHOULD_KNOW_ANSWER_IGNORED_TIMEOUT" => Some(Self::IgnoredTimeout),
1600 _ => None,
1601 }
1602 }
1603}
1604#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1605#[repr(i32)]
1606pub enum AgentRunExecutionMode {
1607 Unspecified = 0,
1608 Inline = 1,
1609 Durable = 2,
1610}
1611impl AgentRunExecutionMode {
1612 pub fn as_str_name(&self) -> &'static str {
1617 match self {
1618 Self::Unspecified => "AGENT_RUN_EXECUTION_MODE_UNSPECIFIED",
1619 Self::Inline => "AGENT_RUN_EXECUTION_MODE_INLINE",
1620 Self::Durable => "AGENT_RUN_EXECUTION_MODE_DURABLE",
1621 }
1622 }
1623 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1625 match value {
1626 "AGENT_RUN_EXECUTION_MODE_UNSPECIFIED" => Some(Self::Unspecified),
1627 "AGENT_RUN_EXECUTION_MODE_INLINE" => Some(Self::Inline),
1628 "AGENT_RUN_EXECUTION_MODE_DURABLE" => Some(Self::Durable),
1629 _ => None,
1630 }
1631 }
1632}
1633#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1634#[repr(i32)]
1635pub enum ConversationSandboxStatus {
1636 Unspecified = 0,
1637 Running = 1,
1638 Idle = 2,
1639 Resuming = 3,
1640}
1641impl ConversationSandboxStatus {
1642 pub fn as_str_name(&self) -> &'static str {
1647 match self {
1648 Self::Unspecified => "CONVERSATION_SANDBOX_STATUS_UNSPECIFIED",
1649 Self::Running => "CONVERSATION_SANDBOX_STATUS_RUNNING",
1650 Self::Idle => "CONVERSATION_SANDBOX_STATUS_IDLE",
1651 Self::Resuming => "CONVERSATION_SANDBOX_STATUS_RESUMING",
1652 }
1653 }
1654 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1656 match value {
1657 "CONVERSATION_SANDBOX_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
1658 "CONVERSATION_SANDBOX_STATUS_RUNNING" => Some(Self::Running),
1659 "CONVERSATION_SANDBOX_STATUS_IDLE" => Some(Self::Idle),
1660 "CONVERSATION_SANDBOX_STATUS_RESUMING" => Some(Self::Resuming),
1661 _ => None,
1662 }
1663 }
1664}
1665#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1666#[repr(i32)]
1667pub enum ShouldKnowTag {
1668 Unspecified = 0,
1669 YouShouldKnow = 1,
1670 HeadsUp = 2,
1671}
1672impl ShouldKnowTag {
1673 pub fn as_str_name(&self) -> &'static str {
1678 match self {
1679 Self::Unspecified => "SHOULD_KNOW_TAG_UNSPECIFIED",
1680 Self::YouShouldKnow => "SHOULD_KNOW_TAG_YOU_SHOULD_KNOW",
1681 Self::HeadsUp => "SHOULD_KNOW_TAG_HEADS_UP",
1682 }
1683 }
1684 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1686 match value {
1687 "SHOULD_KNOW_TAG_UNSPECIFIED" => Some(Self::Unspecified),
1688 "SHOULD_KNOW_TAG_YOU_SHOULD_KNOW" => Some(Self::YouShouldKnow),
1689 "SHOULD_KNOW_TAG_HEADS_UP" => Some(Self::HeadsUp),
1690 _ => None,
1691 }
1692 }
1693}
1694#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1695#[repr(i32)]
1696pub enum ToolCallStatus {
1697 Unspecified = 0,
1698 Approved = 1,
1699 Denied = 2,
1700 AwaitingApproval = 3,
1701}
1702impl ToolCallStatus {
1703 pub fn as_str_name(&self) -> &'static str {
1708 match self {
1709 Self::Unspecified => "TOOL_CALL_STATUS_UNSPECIFIED",
1710 Self::Approved => "TOOL_CALL_STATUS_APPROVED",
1711 Self::Denied => "TOOL_CALL_STATUS_DENIED",
1712 Self::AwaitingApproval => "TOOL_CALL_STATUS_AWAITING_APPROVAL",
1713 }
1714 }
1715 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1717 match value {
1718 "TOOL_CALL_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
1719 "TOOL_CALL_STATUS_APPROVED" => Some(Self::Approved),
1720 "TOOL_CALL_STATUS_DENIED" => Some(Self::Denied),
1721 "TOOL_CALL_STATUS_AWAITING_APPROVAL" => Some(Self::AwaitingApproval),
1722 _ => None,
1723 }
1724 }
1725}
1726#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1727#[repr(i32)]
1728pub enum UserQuestionState {
1729 Unspecified = 0,
1730 Pending = 1,
1731 Answered = 2,
1732 Declined = 3,
1733}
1734impl UserQuestionState {
1735 pub fn as_str_name(&self) -> &'static str {
1740 match self {
1741 Self::Unspecified => "USER_QUESTION_STATE_UNSPECIFIED",
1742 Self::Pending => "USER_QUESTION_STATE_PENDING",
1743 Self::Answered => "USER_QUESTION_STATE_ANSWERED",
1744 Self::Declined => "USER_QUESTION_STATE_DECLINED",
1745 }
1746 }
1747 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1749 match value {
1750 "USER_QUESTION_STATE_UNSPECIFIED" => Some(Self::Unspecified),
1751 "USER_QUESTION_STATE_PENDING" => Some(Self::Pending),
1752 "USER_QUESTION_STATE_ANSWERED" => Some(Self::Answered),
1753 "USER_QUESTION_STATE_DECLINED" => Some(Self::Declined),
1754 _ => None,
1755 }
1756 }
1757}
1758#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1759#[repr(i32)]
1760pub enum ResourceChangeType {
1761 Unspecified = 0,
1762 Created = 1,
1763 Updated = 2,
1764 Archived = 3,
1765}
1766impl ResourceChangeType {
1767 pub fn as_str_name(&self) -> &'static str {
1772 match self {
1773 Self::Unspecified => "RESOURCE_CHANGE_TYPE_UNSPECIFIED",
1774 Self::Created => "RESOURCE_CHANGE_TYPE_CREATED",
1775 Self::Updated => "RESOURCE_CHANGE_TYPE_UPDATED",
1776 Self::Archived => "RESOURCE_CHANGE_TYPE_ARCHIVED",
1777 }
1778 }
1779 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1781 match value {
1782 "RESOURCE_CHANGE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
1783 "RESOURCE_CHANGE_TYPE_CREATED" => Some(Self::Created),
1784 "RESOURCE_CHANGE_TYPE_UPDATED" => Some(Self::Updated),
1785 "RESOURCE_CHANGE_TYPE_ARCHIVED" => Some(Self::Archived),
1786 _ => None,
1787 }
1788 }
1789}
1790#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1791#[repr(i32)]
1792pub enum TimeRangeType {
1793 Unspecified = 0,
1794 Absolute = 1,
1795 Relative = 2,
1796}
1797impl TimeRangeType {
1798 pub fn as_str_name(&self) -> &'static str {
1803 match self {
1804 Self::Unspecified => "TIME_RANGE_TYPE_UNSPECIFIED",
1805 Self::Absolute => "TIME_RANGE_TYPE_ABSOLUTE",
1806 Self::Relative => "TIME_RANGE_TYPE_RELATIVE",
1807 }
1808 }
1809 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1811 match value {
1812 "TIME_RANGE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
1813 "TIME_RANGE_TYPE_ABSOLUTE" => Some(Self::Absolute),
1814 "TIME_RANGE_TYPE_RELATIVE" => Some(Self::Relative),
1815 _ => None,
1816 }
1817 }
1818}
1819#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1820#[repr(i32)]
1821pub enum ComputeOutputType {
1822 Unspecified = 0,
1823 RangeSeries = 1,
1824 NumericSeries = 2,
1825 NumericArraySeries = 3,
1826 EnumSeries = 4,
1827 EnumArraySeries = 5,
1828 LogSeries = 6,
1829 StructSeries = 7,
1830 VideoSeries = 8,
1831 UntypedSeries = 9,
1832 GroupedSeries = 10,
1833 LastPoint = 11,
1834 LastRange = 12,
1835 CartesianPoints = 13,
1836 Cartesian3dPoints = 14,
1837 Multivariate = 15,
1838 NumericHistogram = 16,
1839 FrequencyDomain = 17,
1840 FrequencyDomainV2 = 18,
1841 BucketedFrequencyDomain = 19,
1842 NumericRangeAggregate = 20,
1843 CurveFit = 21,
1844 CurveV2 = 22,
1845}
1846impl ComputeOutputType {
1847 pub fn as_str_name(&self) -> &'static str {
1852 match self {
1853 Self::Unspecified => "COMPUTE_OUTPUT_TYPE_UNSPECIFIED",
1854 Self::RangeSeries => "COMPUTE_OUTPUT_TYPE_RANGE_SERIES",
1855 Self::NumericSeries => "COMPUTE_OUTPUT_TYPE_NUMERIC_SERIES",
1856 Self::NumericArraySeries => "COMPUTE_OUTPUT_TYPE_NUMERIC_ARRAY_SERIES",
1857 Self::EnumSeries => "COMPUTE_OUTPUT_TYPE_ENUM_SERIES",
1858 Self::EnumArraySeries => "COMPUTE_OUTPUT_TYPE_ENUM_ARRAY_SERIES",
1859 Self::LogSeries => "COMPUTE_OUTPUT_TYPE_LOG_SERIES",
1860 Self::StructSeries => "COMPUTE_OUTPUT_TYPE_STRUCT_SERIES",
1861 Self::VideoSeries => "COMPUTE_OUTPUT_TYPE_VIDEO_SERIES",
1862 Self::UntypedSeries => "COMPUTE_OUTPUT_TYPE_UNTYPED_SERIES",
1863 Self::GroupedSeries => "COMPUTE_OUTPUT_TYPE_GROUPED_SERIES",
1864 Self::LastPoint => "COMPUTE_OUTPUT_TYPE_LAST_POINT",
1865 Self::LastRange => "COMPUTE_OUTPUT_TYPE_LAST_RANGE",
1866 Self::CartesianPoints => "COMPUTE_OUTPUT_TYPE_CARTESIAN_POINTS",
1867 Self::Cartesian3dPoints => "COMPUTE_OUTPUT_TYPE_CARTESIAN_3D_POINTS",
1868 Self::Multivariate => "COMPUTE_OUTPUT_TYPE_MULTIVARIATE",
1869 Self::NumericHistogram => "COMPUTE_OUTPUT_TYPE_NUMERIC_HISTOGRAM",
1870 Self::FrequencyDomain => "COMPUTE_OUTPUT_TYPE_FREQUENCY_DOMAIN",
1871 Self::FrequencyDomainV2 => "COMPUTE_OUTPUT_TYPE_FREQUENCY_DOMAIN_V2",
1872 Self::BucketedFrequencyDomain => {
1873 "COMPUTE_OUTPUT_TYPE_BUCKETED_FREQUENCY_DOMAIN"
1874 }
1875 Self::NumericRangeAggregate => "COMPUTE_OUTPUT_TYPE_NUMERIC_RANGE_AGGREGATE",
1876 Self::CurveFit => "COMPUTE_OUTPUT_TYPE_CURVE_FIT",
1877 Self::CurveV2 => "COMPUTE_OUTPUT_TYPE_CURVE_V2",
1878 }
1879 }
1880 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1882 match value {
1883 "COMPUTE_OUTPUT_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
1884 "COMPUTE_OUTPUT_TYPE_RANGE_SERIES" => Some(Self::RangeSeries),
1885 "COMPUTE_OUTPUT_TYPE_NUMERIC_SERIES" => Some(Self::NumericSeries),
1886 "COMPUTE_OUTPUT_TYPE_NUMERIC_ARRAY_SERIES" => Some(Self::NumericArraySeries),
1887 "COMPUTE_OUTPUT_TYPE_ENUM_SERIES" => Some(Self::EnumSeries),
1888 "COMPUTE_OUTPUT_TYPE_ENUM_ARRAY_SERIES" => Some(Self::EnumArraySeries),
1889 "COMPUTE_OUTPUT_TYPE_LOG_SERIES" => Some(Self::LogSeries),
1890 "COMPUTE_OUTPUT_TYPE_STRUCT_SERIES" => Some(Self::StructSeries),
1891 "COMPUTE_OUTPUT_TYPE_VIDEO_SERIES" => Some(Self::VideoSeries),
1892 "COMPUTE_OUTPUT_TYPE_UNTYPED_SERIES" => Some(Self::UntypedSeries),
1893 "COMPUTE_OUTPUT_TYPE_GROUPED_SERIES" => Some(Self::GroupedSeries),
1894 "COMPUTE_OUTPUT_TYPE_LAST_POINT" => Some(Self::LastPoint),
1895 "COMPUTE_OUTPUT_TYPE_LAST_RANGE" => Some(Self::LastRange),
1896 "COMPUTE_OUTPUT_TYPE_CARTESIAN_POINTS" => Some(Self::CartesianPoints),
1897 "COMPUTE_OUTPUT_TYPE_CARTESIAN_3D_POINTS" => Some(Self::Cartesian3dPoints),
1898 "COMPUTE_OUTPUT_TYPE_MULTIVARIATE" => Some(Self::Multivariate),
1899 "COMPUTE_OUTPUT_TYPE_NUMERIC_HISTOGRAM" => Some(Self::NumericHistogram),
1900 "COMPUTE_OUTPUT_TYPE_FREQUENCY_DOMAIN" => Some(Self::FrequencyDomain),
1901 "COMPUTE_OUTPUT_TYPE_FREQUENCY_DOMAIN_V2" => Some(Self::FrequencyDomainV2),
1902 "COMPUTE_OUTPUT_TYPE_BUCKETED_FREQUENCY_DOMAIN" => {
1903 Some(Self::BucketedFrequencyDomain)
1904 }
1905 "COMPUTE_OUTPUT_TYPE_NUMERIC_RANGE_AGGREGATE" => {
1906 Some(Self::NumericRangeAggregate)
1907 }
1908 "COMPUTE_OUTPUT_TYPE_CURVE_FIT" => Some(Self::CurveFit),
1909 "COMPUTE_OUTPUT_TYPE_CURVE_V2" => Some(Self::CurveV2),
1910 _ => None,
1911 }
1912 }
1913}
1914#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1915#[repr(i32)]
1916pub enum CodeExecutionCallOutcome {
1917 Unspecified = 0,
1918 Succeeded = 1,
1919 Failed = 2,
1920 Denied = 3,
1921}
1922impl CodeExecutionCallOutcome {
1923 pub fn as_str_name(&self) -> &'static str {
1928 match self {
1929 Self::Unspecified => "CODE_EXECUTION_CALL_OUTCOME_UNSPECIFIED",
1930 Self::Succeeded => "CODE_EXECUTION_CALL_OUTCOME_SUCCEEDED",
1931 Self::Failed => "CODE_EXECUTION_CALL_OUTCOME_FAILED",
1932 Self::Denied => "CODE_EXECUTION_CALL_OUTCOME_DENIED",
1933 }
1934 }
1935 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1937 match value {
1938 "CODE_EXECUTION_CALL_OUTCOME_UNSPECIFIED" => Some(Self::Unspecified),
1939 "CODE_EXECUTION_CALL_OUTCOME_SUCCEEDED" => Some(Self::Succeeded),
1940 "CODE_EXECUTION_CALL_OUTCOME_FAILED" => Some(Self::Failed),
1941 "CODE_EXECUTION_CALL_OUTCOME_DENIED" => Some(Self::Denied),
1942 _ => None,
1943 }
1944 }
1945}
1946pub mod ai_agent_service_client {
1948 #![allow(
1949 unused_variables,
1950 dead_code,
1951 missing_docs,
1952 clippy::wildcard_imports,
1953 clippy::let_unit_value,
1954 )]
1955 use tonic::codegen::*;
1956 use tonic::codegen::http::Uri;
1957 #[derive(Debug, Clone)]
1958 pub struct AiAgentServiceClient<T> {
1959 inner: tonic::client::Grpc<T>,
1960 }
1961 impl AiAgentServiceClient<tonic::transport::Channel> {
1962 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
1964 where
1965 D: TryInto<tonic::transport::Endpoint>,
1966 D::Error: Into<StdError>,
1967 {
1968 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
1969 Ok(Self::new(conn))
1970 }
1971 }
1972 impl<T> AiAgentServiceClient<T>
1973 where
1974 T: tonic::client::GrpcService<tonic::body::Body>,
1975 T::Error: Into<StdError>,
1976 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
1977 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
1978 {
1979 pub fn new(inner: T) -> Self {
1980 let inner = tonic::client::Grpc::new(inner);
1981 Self { inner }
1982 }
1983 pub fn with_origin(inner: T, origin: Uri) -> Self {
1984 let inner = tonic::client::Grpc::with_origin(inner, origin);
1985 Self { inner }
1986 }
1987 pub fn with_interceptor<F>(
1988 inner: T,
1989 interceptor: F,
1990 ) -> AiAgentServiceClient<InterceptedService<T, F>>
1991 where
1992 F: tonic::service::Interceptor,
1993 T::ResponseBody: Default,
1994 T: tonic::codegen::Service<
1995 http::Request<tonic::body::Body>,
1996 Response = http::Response<
1997 <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
1998 >,
1999 >,
2000 <T as tonic::codegen::Service<
2001 http::Request<tonic::body::Body>,
2002 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
2003 {
2004 AiAgentServiceClient::new(InterceptedService::new(inner, interceptor))
2005 }
2006 #[must_use]
2011 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
2012 self.inner = self.inner.send_compressed(encoding);
2013 self
2014 }
2015 #[must_use]
2017 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
2018 self.inner = self.inner.accept_compressed(encoding);
2019 self
2020 }
2021 #[must_use]
2025 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
2026 self.inner = self.inner.max_decoding_message_size(limit);
2027 self
2028 }
2029 #[must_use]
2033 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
2034 self.inner = self.inner.max_encoding_message_size(limit);
2035 self
2036 }
2037 pub async fn list_models(
2038 &mut self,
2039 request: impl tonic::IntoRequest<super::ListModelsRequest>,
2040 ) -> std::result::Result<
2041 tonic::Response<super::ListModelsResponse>,
2042 tonic::Status,
2043 > {
2044 self.inner
2045 .ready()
2046 .await
2047 .map_err(|e| {
2048 tonic::Status::unknown(
2049 format!("Service was not ready: {}", e.into()),
2050 )
2051 })?;
2052 let codec = tonic::codec::ProstCodec::default();
2053 let path = http::uri::PathAndQuery::from_static(
2054 "/nominal.ai.v1.AIAgentService/ListModels",
2055 );
2056 let mut req = request.into_request();
2057 req.extensions_mut()
2058 .insert(GrpcMethod::new("nominal.ai.v1.AIAgentService", "ListModels"));
2059 self.inner.unary(req, path, codec).await
2060 }
2061 pub async fn stream_chat(
2062 &mut self,
2063 request: impl tonic::IntoRequest<super::StreamChatRequest>,
2064 ) -> std::result::Result<
2065 tonic::Response<tonic::codec::Streaming<super::StreamChatResponse>>,
2066 tonic::Status,
2067 > {
2068 self.inner
2069 .ready()
2070 .await
2071 .map_err(|e| {
2072 tonic::Status::unknown(
2073 format!("Service was not ready: {}", e.into()),
2074 )
2075 })?;
2076 let codec = tonic::codec::ProstCodec::default();
2077 let path = http::uri::PathAndQuery::from_static(
2078 "/nominal.ai.v1.AIAgentService/StreamChat",
2079 );
2080 let mut req = request.into_request();
2081 req.extensions_mut()
2082 .insert(GrpcMethod::new("nominal.ai.v1.AIAgentService", "StreamChat"));
2083 self.inner.server_streaming(req, path, codec).await
2084 }
2085 #[deprecated]
2086 pub async fn get_conversation(
2087 &mut self,
2088 request: impl tonic::IntoRequest<super::GetConversationRequest>,
2089 ) -> std::result::Result<
2090 tonic::Response<super::GetConversationResponse>,
2091 tonic::Status,
2092 > {
2093 self.inner
2094 .ready()
2095 .await
2096 .map_err(|e| {
2097 tonic::Status::unknown(
2098 format!("Service was not ready: {}", e.into()),
2099 )
2100 })?;
2101 let codec = tonic::codec::ProstCodec::default();
2102 let path = http::uri::PathAndQuery::from_static(
2103 "/nominal.ai.v1.AIAgentService/GetConversation",
2104 );
2105 let mut req = request.into_request();
2106 req.extensions_mut()
2107 .insert(
2108 GrpcMethod::new("nominal.ai.v1.AIAgentService", "GetConversation"),
2109 );
2110 self.inner.unary(req, path, codec).await
2111 }
2112 pub async fn get_conversation_metadata(
2113 &mut self,
2114 request: impl tonic::IntoRequest<super::GetConversationMetadataRequest>,
2115 ) -> std::result::Result<
2116 tonic::Response<super::GetConversationMetadataResponse>,
2117 tonic::Status,
2118 > {
2119 self.inner
2120 .ready()
2121 .await
2122 .map_err(|e| {
2123 tonic::Status::unknown(
2124 format!("Service was not ready: {}", e.into()),
2125 )
2126 })?;
2127 let codec = tonic::codec::ProstCodec::default();
2128 let path = http::uri::PathAndQuery::from_static(
2129 "/nominal.ai.v1.AIAgentService/GetConversationMetadata",
2130 );
2131 let mut req = request.into_request();
2132 req.extensions_mut()
2133 .insert(
2134 GrpcMethod::new(
2135 "nominal.ai.v1.AIAgentService",
2136 "GetConversationMetadata",
2137 ),
2138 );
2139 self.inner.unary(req, path, codec).await
2140 }
2141 pub async fn get_conversation_messages(
2142 &mut self,
2143 request: impl tonic::IntoRequest<super::GetConversationMessagesRequest>,
2144 ) -> std::result::Result<
2145 tonic::Response<super::GetConversationMessagesResponse>,
2146 tonic::Status,
2147 > {
2148 self.inner
2149 .ready()
2150 .await
2151 .map_err(|e| {
2152 tonic::Status::unknown(
2153 format!("Service was not ready: {}", e.into()),
2154 )
2155 })?;
2156 let codec = tonic::codec::ProstCodec::default();
2157 let path = http::uri::PathAndQuery::from_static(
2158 "/nominal.ai.v1.AIAgentService/GetConversationMessages",
2159 );
2160 let mut req = request.into_request();
2161 req.extensions_mut()
2162 .insert(
2163 GrpcMethod::new(
2164 "nominal.ai.v1.AIAgentService",
2165 "GetConversationMessages",
2166 ),
2167 );
2168 self.inner.unary(req, path, codec).await
2169 }
2170 pub async fn list_conversations(
2171 &mut self,
2172 request: impl tonic::IntoRequest<super::ListConversationsRequest>,
2173 ) -> std::result::Result<
2174 tonic::Response<super::ListConversationsResponse>,
2175 tonic::Status,
2176 > {
2177 self.inner
2178 .ready()
2179 .await
2180 .map_err(|e| {
2181 tonic::Status::unknown(
2182 format!("Service was not ready: {}", e.into()),
2183 )
2184 })?;
2185 let codec = tonic::codec::ProstCodec::default();
2186 let path = http::uri::PathAndQuery::from_static(
2187 "/nominal.ai.v1.AIAgentService/ListConversations",
2188 );
2189 let mut req = request.into_request();
2190 req.extensions_mut()
2191 .insert(
2192 GrpcMethod::new("nominal.ai.v1.AIAgentService", "ListConversations"),
2193 );
2194 self.inner.unary(req, path, codec).await
2195 }
2196 pub async fn batch_get_conversation_active_runs(
2197 &mut self,
2198 request: impl tonic::IntoRequest<
2199 super::BatchGetConversationActiveRunsRequest,
2200 >,
2201 ) -> std::result::Result<
2202 tonic::Response<super::BatchGetConversationActiveRunsResponse>,
2203 tonic::Status,
2204 > {
2205 self.inner
2206 .ready()
2207 .await
2208 .map_err(|e| {
2209 tonic::Status::unknown(
2210 format!("Service was not ready: {}", e.into()),
2211 )
2212 })?;
2213 let codec = tonic::codec::ProstCodec::default();
2214 let path = http::uri::PathAndQuery::from_static(
2215 "/nominal.ai.v1.AIAgentService/BatchGetConversationActiveRuns",
2216 );
2217 let mut req = request.into_request();
2218 req.extensions_mut()
2219 .insert(
2220 GrpcMethod::new(
2221 "nominal.ai.v1.AIAgentService",
2222 "BatchGetConversationActiveRuns",
2223 ),
2224 );
2225 self.inner.unary(req, path, codec).await
2226 }
2227 pub async fn batch_get_conversation_sandboxes(
2228 &mut self,
2229 request: impl tonic::IntoRequest<super::BatchGetConversationSandboxesRequest>,
2230 ) -> std::result::Result<
2231 tonic::Response<super::BatchGetConversationSandboxesResponse>,
2232 tonic::Status,
2233 > {
2234 self.inner
2235 .ready()
2236 .await
2237 .map_err(|e| {
2238 tonic::Status::unknown(
2239 format!("Service was not ready: {}", e.into()),
2240 )
2241 })?;
2242 let codec = tonic::codec::ProstCodec::default();
2243 let path = http::uri::PathAndQuery::from_static(
2244 "/nominal.ai.v1.AIAgentService/BatchGetConversationSandboxes",
2245 );
2246 let mut req = request.into_request();
2247 req.extensions_mut()
2248 .insert(
2249 GrpcMethod::new(
2250 "nominal.ai.v1.AIAgentService",
2251 "BatchGetConversationSandboxes",
2252 ),
2253 );
2254 self.inner.unary(req, path, codec).await
2255 }
2256 pub async fn resume_conversation_sandbox(
2257 &mut self,
2258 request: impl tonic::IntoRequest<super::ResumeConversationSandboxRequest>,
2259 ) -> std::result::Result<
2260 tonic::Response<super::ResumeConversationSandboxResponse>,
2261 tonic::Status,
2262 > {
2263 self.inner
2264 .ready()
2265 .await
2266 .map_err(|e| {
2267 tonic::Status::unknown(
2268 format!("Service was not ready: {}", e.into()),
2269 )
2270 })?;
2271 let codec = tonic::codec::ProstCodec::default();
2272 let path = http::uri::PathAndQuery::from_static(
2273 "/nominal.ai.v1.AIAgentService/ResumeConversationSandbox",
2274 );
2275 let mut req = request.into_request();
2276 req.extensions_mut()
2277 .insert(
2278 GrpcMethod::new(
2279 "nominal.ai.v1.AIAgentService",
2280 "ResumeConversationSandbox",
2281 ),
2282 );
2283 self.inner.unary(req, path, codec).await
2284 }
2285 pub async fn create_conversation(
2286 &mut self,
2287 request: impl tonic::IntoRequest<super::CreateConversationRequest>,
2288 ) -> std::result::Result<
2289 tonic::Response<super::CreateConversationResponse>,
2290 tonic::Status,
2291 > {
2292 self.inner
2293 .ready()
2294 .await
2295 .map_err(|e| {
2296 tonic::Status::unknown(
2297 format!("Service was not ready: {}", e.into()),
2298 )
2299 })?;
2300 let codec = tonic::codec::ProstCodec::default();
2301 let path = http::uri::PathAndQuery::from_static(
2302 "/nominal.ai.v1.AIAgentService/CreateConversation",
2303 );
2304 let mut req = request.into_request();
2305 req.extensions_mut()
2306 .insert(
2307 GrpcMethod::new("nominal.ai.v1.AIAgentService", "CreateConversation"),
2308 );
2309 self.inner.unary(req, path, codec).await
2310 }
2311 pub async fn update_conversation_metadata(
2312 &mut self,
2313 request: impl tonic::IntoRequest<super::UpdateConversationMetadataRequest>,
2314 ) -> std::result::Result<
2315 tonic::Response<super::UpdateConversationMetadataResponse>,
2316 tonic::Status,
2317 > {
2318 self.inner
2319 .ready()
2320 .await
2321 .map_err(|e| {
2322 tonic::Status::unknown(
2323 format!("Service was not ready: {}", e.into()),
2324 )
2325 })?;
2326 let codec = tonic::codec::ProstCodec::default();
2327 let path = http::uri::PathAndQuery::from_static(
2328 "/nominal.ai.v1.AIAgentService/UpdateConversationMetadata",
2329 );
2330 let mut req = request.into_request();
2331 req.extensions_mut()
2332 .insert(
2333 GrpcMethod::new(
2334 "nominal.ai.v1.AIAgentService",
2335 "UpdateConversationMetadata",
2336 ),
2337 );
2338 self.inner.unary(req, path, codec).await
2339 }
2340 pub async fn delete_conversation(
2341 &mut self,
2342 request: impl tonic::IntoRequest<super::DeleteConversationRequest>,
2343 ) -> std::result::Result<
2344 tonic::Response<super::DeleteConversationResponse>,
2345 tonic::Status,
2346 > {
2347 self.inner
2348 .ready()
2349 .await
2350 .map_err(|e| {
2351 tonic::Status::unknown(
2352 format!("Service was not ready: {}", e.into()),
2353 )
2354 })?;
2355 let codec = tonic::codec::ProstCodec::default();
2356 let path = http::uri::PathAndQuery::from_static(
2357 "/nominal.ai.v1.AIAgentService/DeleteConversation",
2358 );
2359 let mut req = request.into_request();
2360 req.extensions_mut()
2361 .insert(
2362 GrpcMethod::new("nominal.ai.v1.AIAgentService", "DeleteConversation"),
2363 );
2364 self.inner.unary(req, path, codec).await
2365 }
2366 pub async fn archive_conversation(
2367 &mut self,
2368 request: impl tonic::IntoRequest<super::ArchiveConversationRequest>,
2369 ) -> std::result::Result<
2370 tonic::Response<super::ArchiveConversationResponse>,
2371 tonic::Status,
2372 > {
2373 self.inner
2374 .ready()
2375 .await
2376 .map_err(|e| {
2377 tonic::Status::unknown(
2378 format!("Service was not ready: {}", e.into()),
2379 )
2380 })?;
2381 let codec = tonic::codec::ProstCodec::default();
2382 let path = http::uri::PathAndQuery::from_static(
2383 "/nominal.ai.v1.AIAgentService/ArchiveConversation",
2384 );
2385 let mut req = request.into_request();
2386 req.extensions_mut()
2387 .insert(
2388 GrpcMethod::new(
2389 "nominal.ai.v1.AIAgentService",
2390 "ArchiveConversation",
2391 ),
2392 );
2393 self.inner.unary(req, path, codec).await
2394 }
2395 pub async fn unarchive_conversation(
2396 &mut self,
2397 request: impl tonic::IntoRequest<super::UnarchiveConversationRequest>,
2398 ) -> std::result::Result<
2399 tonic::Response<super::UnarchiveConversationResponse>,
2400 tonic::Status,
2401 > {
2402 self.inner
2403 .ready()
2404 .await
2405 .map_err(|e| {
2406 tonic::Status::unknown(
2407 format!("Service was not ready: {}", e.into()),
2408 )
2409 })?;
2410 let codec = tonic::codec::ProstCodec::default();
2411 let path = http::uri::PathAndQuery::from_static(
2412 "/nominal.ai.v1.AIAgentService/UnarchiveConversation",
2413 );
2414 let mut req = request.into_request();
2415 req.extensions_mut()
2416 .insert(
2417 GrpcMethod::new(
2418 "nominal.ai.v1.AIAgentService",
2419 "UnarchiveConversation",
2420 ),
2421 );
2422 self.inner.unary(req, path, codec).await
2423 }
2424 pub async fn get_snapshot_rid_by_user_message_id(
2425 &mut self,
2426 request: impl tonic::IntoRequest<super::GetSnapshotRidByUserMessageIdRequest>,
2427 ) -> std::result::Result<
2428 tonic::Response<super::GetSnapshotRidByUserMessageIdResponse>,
2429 tonic::Status,
2430 > {
2431 self.inner
2432 .ready()
2433 .await
2434 .map_err(|e| {
2435 tonic::Status::unknown(
2436 format!("Service was not ready: {}", e.into()),
2437 )
2438 })?;
2439 let codec = tonic::codec::ProstCodec::default();
2440 let path = http::uri::PathAndQuery::from_static(
2441 "/nominal.ai.v1.AIAgentService/GetSnapshotRidByUserMessageId",
2442 );
2443 let mut req = request.into_request();
2444 req.extensions_mut()
2445 .insert(
2446 GrpcMethod::new(
2447 "nominal.ai.v1.AIAgentService",
2448 "GetSnapshotRidByUserMessageId",
2449 ),
2450 );
2451 self.inner.unary(req, path, codec).await
2452 }
2453 pub async fn compact_conversation(
2454 &mut self,
2455 request: impl tonic::IntoRequest<super::CompactConversationRequest>,
2456 ) -> std::result::Result<
2457 tonic::Response<super::CompactConversationResponse>,
2458 tonic::Status,
2459 > {
2460 self.inner
2461 .ready()
2462 .await
2463 .map_err(|e| {
2464 tonic::Status::unknown(
2465 format!("Service was not ready: {}", e.into()),
2466 )
2467 })?;
2468 let codec = tonic::codec::ProstCodec::default();
2469 let path = http::uri::PathAndQuery::from_static(
2470 "/nominal.ai.v1.AIAgentService/CompactConversation",
2471 );
2472 let mut req = request.into_request();
2473 req.extensions_mut()
2474 .insert(
2475 GrpcMethod::new(
2476 "nominal.ai.v1.AIAgentService",
2477 "CompactConversation",
2478 ),
2479 );
2480 self.inner.unary(req, path, codec).await
2481 }
2482 pub async fn submit_message_feedback(
2483 &mut self,
2484 request: impl tonic::IntoRequest<super::SubmitMessageFeedbackRequest>,
2485 ) -> std::result::Result<
2486 tonic::Response<super::SubmitMessageFeedbackResponse>,
2487 tonic::Status,
2488 > {
2489 self.inner
2490 .ready()
2491 .await
2492 .map_err(|e| {
2493 tonic::Status::unknown(
2494 format!("Service was not ready: {}", e.into()),
2495 )
2496 })?;
2497 let codec = tonic::codec::ProstCodec::default();
2498 let path = http::uri::PathAndQuery::from_static(
2499 "/nominal.ai.v1.AIAgentService/SubmitMessageFeedback",
2500 );
2501 let mut req = request.into_request();
2502 req.extensions_mut()
2503 .insert(
2504 GrpcMethod::new(
2505 "nominal.ai.v1.AIAgentService",
2506 "SubmitMessageFeedback",
2507 ),
2508 );
2509 self.inner.unary(req, path, codec).await
2510 }
2511 pub async fn update_conversation_resources(
2512 &mut self,
2513 request: impl tonic::IntoRequest<super::UpdateConversationResourcesRequest>,
2514 ) -> std::result::Result<
2515 tonic::Response<super::UpdateConversationResourcesResponse>,
2516 tonic::Status,
2517 > {
2518 self.inner
2519 .ready()
2520 .await
2521 .map_err(|e| {
2522 tonic::Status::unknown(
2523 format!("Service was not ready: {}", e.into()),
2524 )
2525 })?;
2526 let codec = tonic::codec::ProstCodec::default();
2527 let path = http::uri::PathAndQuery::from_static(
2528 "/nominal.ai.v1.AIAgentService/UpdateConversationResources",
2529 );
2530 let mut req = request.into_request();
2531 req.extensions_mut()
2532 .insert(
2533 GrpcMethod::new(
2534 "nominal.ai.v1.AIAgentService",
2535 "UpdateConversationResources",
2536 ),
2537 );
2538 self.inner.unary(req, path, codec).await
2539 }
2540 pub async fn cancel_agent_run(
2541 &mut self,
2542 request: impl tonic::IntoRequest<super::CancelAgentRunRequest>,
2543 ) -> std::result::Result<
2544 tonic::Response<super::CancelAgentRunResponse>,
2545 tonic::Status,
2546 > {
2547 self.inner
2548 .ready()
2549 .await
2550 .map_err(|e| {
2551 tonic::Status::unknown(
2552 format!("Service was not ready: {}", e.into()),
2553 )
2554 })?;
2555 let codec = tonic::codec::ProstCodec::default();
2556 let path = http::uri::PathAndQuery::from_static(
2557 "/nominal.ai.v1.AIAgentService/CancelAgentRun",
2558 );
2559 let mut req = request.into_request();
2560 req.extensions_mut()
2561 .insert(
2562 GrpcMethod::new("nominal.ai.v1.AIAgentService", "CancelAgentRun"),
2563 );
2564 self.inner.unary(req, path, codec).await
2565 }
2566 pub async fn steer_agent_run(
2567 &mut self,
2568 request: impl tonic::IntoRequest<super::SteerAgentRunRequest>,
2569 ) -> std::result::Result<
2570 tonic::Response<super::SteerAgentRunResponse>,
2571 tonic::Status,
2572 > {
2573 self.inner
2574 .ready()
2575 .await
2576 .map_err(|e| {
2577 tonic::Status::unknown(
2578 format!("Service was not ready: {}", e.into()),
2579 )
2580 })?;
2581 let codec = tonic::codec::ProstCodec::default();
2582 let path = http::uri::PathAndQuery::from_static(
2583 "/nominal.ai.v1.AIAgentService/SteerAgentRun",
2584 );
2585 let mut req = request.into_request();
2586 req.extensions_mut()
2587 .insert(
2588 GrpcMethod::new("nominal.ai.v1.AIAgentService", "SteerAgentRun"),
2589 );
2590 self.inner.unary(req, path, codec).await
2591 }
2592 pub async fn batch_get_citations(
2593 &mut self,
2594 request: impl tonic::IntoRequest<super::BatchGetCitationsRequest>,
2595 ) -> std::result::Result<
2596 tonic::Response<super::BatchGetCitationsResponse>,
2597 tonic::Status,
2598 > {
2599 self.inner
2600 .ready()
2601 .await
2602 .map_err(|e| {
2603 tonic::Status::unknown(
2604 format!("Service was not ready: {}", e.into()),
2605 )
2606 })?;
2607 let codec = tonic::codec::ProstCodec::default();
2608 let path = http::uri::PathAndQuery::from_static(
2609 "/nominal.ai.v1.AIAgentService/BatchGetCitations",
2610 );
2611 let mut req = request.into_request();
2612 req.extensions_mut()
2613 .insert(
2614 GrpcMethod::new("nominal.ai.v1.AIAgentService", "BatchGetCitations"),
2615 );
2616 self.inner.unary(req, path, codec).await
2617 }
2618 pub async fn answer_should_know_offer(
2619 &mut self,
2620 request: impl tonic::IntoRequest<super::AnswerShouldKnowOfferRequest>,
2621 ) -> std::result::Result<
2622 tonic::Response<super::AnswerShouldKnowOfferResponse>,
2623 tonic::Status,
2624 > {
2625 self.inner
2626 .ready()
2627 .await
2628 .map_err(|e| {
2629 tonic::Status::unknown(
2630 format!("Service was not ready: {}", e.into()),
2631 )
2632 })?;
2633 let codec = tonic::codec::ProstCodec::default();
2634 let path = http::uri::PathAndQuery::from_static(
2635 "/nominal.ai.v1.AIAgentService/AnswerShouldKnowOffer",
2636 );
2637 let mut req = request.into_request();
2638 req.extensions_mut()
2639 .insert(
2640 GrpcMethod::new(
2641 "nominal.ai.v1.AIAgentService",
2642 "AnswerShouldKnowOffer",
2643 ),
2644 );
2645 self.inner.unary(req, path, codec).await
2646 }
2647 pub async fn create_experiment_event(
2648 &mut self,
2649 request: impl tonic::IntoRequest<super::CreateExperimentEventRequest>,
2650 ) -> std::result::Result<
2651 tonic::Response<super::CreateExperimentEventResponse>,
2652 tonic::Status,
2653 > {
2654 self.inner
2655 .ready()
2656 .await
2657 .map_err(|e| {
2658 tonic::Status::unknown(
2659 format!("Service was not ready: {}", e.into()),
2660 )
2661 })?;
2662 let codec = tonic::codec::ProstCodec::default();
2663 let path = http::uri::PathAndQuery::from_static(
2664 "/nominal.ai.v1.AIAgentService/CreateExperimentEvent",
2665 );
2666 let mut req = request.into_request();
2667 req.extensions_mut()
2668 .insert(
2669 GrpcMethod::new(
2670 "nominal.ai.v1.AIAgentService",
2671 "CreateExperimentEvent",
2672 ),
2673 );
2674 self.inner.unary(req, path, codec).await
2675 }
2676 }
2677}
2678#[derive(Clone, PartialEq, ::prost::Message)]
2679pub struct ClassifyErrorRequest {
2680 #[prost(string, tag = "1")]
2681 pub error_message: ::prost::alloc::string::String,
2682}
2683#[derive(Clone, PartialEq, ::prost::Message)]
2684pub struct ClassifyErrorResponse {
2685 #[prost(enumeration = "ErrorClassification", tag = "1")]
2686 pub classification: i32,
2687 #[prost(string, tag = "2")]
2688 pub reason: ::prost::alloc::string::String,
2689}
2690#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2691#[repr(i32)]
2692pub enum ErrorClassification {
2693 Unspecified = 0,
2694 Client = 1,
2695 Server = 2,
2696}
2697impl ErrorClassification {
2698 pub fn as_str_name(&self) -> &'static str {
2703 match self {
2704 Self::Unspecified => "ERROR_CLASSIFICATION_UNSPECIFIED",
2705 Self::Client => "ERROR_CLASSIFICATION_CLIENT",
2706 Self::Server => "ERROR_CLASSIFICATION_SERVER",
2707 }
2708 }
2709 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2711 match value {
2712 "ERROR_CLASSIFICATION_UNSPECIFIED" => Some(Self::Unspecified),
2713 "ERROR_CLASSIFICATION_CLIENT" => Some(Self::Client),
2714 "ERROR_CLASSIFICATION_SERVER" => Some(Self::Server),
2715 _ => None,
2716 }
2717 }
2718}
2719pub mod data_ingestion_error_classifier_service_client {
2721 #![allow(
2722 unused_variables,
2723 dead_code,
2724 missing_docs,
2725 clippy::wildcard_imports,
2726 clippy::let_unit_value,
2727 )]
2728 use tonic::codegen::*;
2729 use tonic::codegen::http::Uri;
2730 #[derive(Debug, Clone)]
2731 pub struct DataIngestionErrorClassifierServiceClient<T> {
2732 inner: tonic::client::Grpc<T>,
2733 }
2734 impl DataIngestionErrorClassifierServiceClient<tonic::transport::Channel> {
2735 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
2737 where
2738 D: TryInto<tonic::transport::Endpoint>,
2739 D::Error: Into<StdError>,
2740 {
2741 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
2742 Ok(Self::new(conn))
2743 }
2744 }
2745 impl<T> DataIngestionErrorClassifierServiceClient<T>
2746 where
2747 T: tonic::client::GrpcService<tonic::body::Body>,
2748 T::Error: Into<StdError>,
2749 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
2750 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
2751 {
2752 pub fn new(inner: T) -> Self {
2753 let inner = tonic::client::Grpc::new(inner);
2754 Self { inner }
2755 }
2756 pub fn with_origin(inner: T, origin: Uri) -> Self {
2757 let inner = tonic::client::Grpc::with_origin(inner, origin);
2758 Self { inner }
2759 }
2760 pub fn with_interceptor<F>(
2761 inner: T,
2762 interceptor: F,
2763 ) -> DataIngestionErrorClassifierServiceClient<InterceptedService<T, F>>
2764 where
2765 F: tonic::service::Interceptor,
2766 T::ResponseBody: Default,
2767 T: tonic::codegen::Service<
2768 http::Request<tonic::body::Body>,
2769 Response = http::Response<
2770 <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
2771 >,
2772 >,
2773 <T as tonic::codegen::Service<
2774 http::Request<tonic::body::Body>,
2775 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
2776 {
2777 DataIngestionErrorClassifierServiceClient::new(
2778 InterceptedService::new(inner, interceptor),
2779 )
2780 }
2781 #[must_use]
2786 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
2787 self.inner = self.inner.send_compressed(encoding);
2788 self
2789 }
2790 #[must_use]
2792 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
2793 self.inner = self.inner.accept_compressed(encoding);
2794 self
2795 }
2796 #[must_use]
2800 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
2801 self.inner = self.inner.max_decoding_message_size(limit);
2802 self
2803 }
2804 #[must_use]
2808 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
2809 self.inner = self.inner.max_encoding_message_size(limit);
2810 self
2811 }
2812 pub async fn classify_error(
2813 &mut self,
2814 request: impl tonic::IntoRequest<super::ClassifyErrorRequest>,
2815 ) -> std::result::Result<
2816 tonic::Response<super::ClassifyErrorResponse>,
2817 tonic::Status,
2818 > {
2819 self.inner
2820 .ready()
2821 .await
2822 .map_err(|e| {
2823 tonic::Status::unknown(
2824 format!("Service was not ready: {}", e.into()),
2825 )
2826 })?;
2827 let codec = tonic::codec::ProstCodec::default();
2828 let path = http::uri::PathAndQuery::from_static(
2829 "/nominal.ai.v1.DataIngestionErrorClassifierService/ClassifyError",
2830 );
2831 let mut req = request.into_request();
2832 req.extensions_mut()
2833 .insert(
2834 GrpcMethod::new(
2835 "nominal.ai.v1.DataIngestionErrorClassifierService",
2836 "ClassifyError",
2837 ),
2838 );
2839 self.inner.unary(req, path, codec).await
2840 }
2841 }
2842}
2843#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2844pub struct GetProviderStatusRequest {}
2845#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2846pub struct GetProviderStatusResponse {
2847 #[prost(message, optional, tag = "1")]
2848 pub timestamp: ::core::option::Option<
2849 super::super::super::google::protobuf::Timestamp,
2850 >,
2851 #[prost(message, optional, tag = "2")]
2852 pub last_status: ::core::option::Option<ProviderStatus>,
2853 #[deprecated]
2854 #[prost(message, optional, tag = "3")]
2855 pub aggregated_status_over_last_30m: ::core::option::Option<ProviderStatus>,
2856 #[prost(message, optional, tag = "4")]
2857 pub aggregated_status: ::core::option::Option<ProviderStatus>,
2858}
2859#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2860pub struct ProviderStatus {
2861 #[prost(oneof = "provider_status::Status", tags = "1, 2")]
2862 pub status: ::core::option::Option<provider_status::Status>,
2863}
2864pub mod provider_status {
2866 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
2867 pub enum Status {
2868 #[prost(message, tag = "1")]
2869 Healthy(super::Healthy),
2870 #[prost(message, tag = "2")]
2871 Degraded(super::Degraded),
2872 }
2873}
2874#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2875pub struct Healthy {}
2876#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2877pub struct Degraded {
2878 #[prost(enumeration = "DegradationReason", tag = "1")]
2879 pub reason: i32,
2880}
2881#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2882pub struct ProviderMetrics {
2883 #[prost(int32, tag = "1")]
2884 pub time_to_first_token_ms: i32,
2885 #[prost(int32, tag = "2")]
2886 pub total_time_ms: i32,
2887}
2888#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2889#[repr(i32)]
2890pub enum DegradationReason {
2891 Unspecified = 0,
2892 HighLatency = 1,
2893 Failures = 2,
2894 HighLatencyAndFailures = 3,
2895 Unavailable = 4,
2896}
2897impl DegradationReason {
2898 pub fn as_str_name(&self) -> &'static str {
2903 match self {
2904 Self::Unspecified => "DEGRADATION_REASON_UNSPECIFIED",
2905 Self::HighLatency => "DEGRADATION_REASON_HIGH_LATENCY",
2906 Self::Failures => "DEGRADATION_REASON_FAILURES",
2907 Self::HighLatencyAndFailures => {
2908 "DEGRADATION_REASON_HIGH_LATENCY_AND_FAILURES"
2909 }
2910 Self::Unavailable => "DEGRADATION_REASON_UNAVAILABLE",
2911 }
2912 }
2913 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2915 match value {
2916 "DEGRADATION_REASON_UNSPECIFIED" => Some(Self::Unspecified),
2917 "DEGRADATION_REASON_HIGH_LATENCY" => Some(Self::HighLatency),
2918 "DEGRADATION_REASON_FAILURES" => Some(Self::Failures),
2919 "DEGRADATION_REASON_HIGH_LATENCY_AND_FAILURES" => {
2920 Some(Self::HighLatencyAndFailures)
2921 }
2922 "DEGRADATION_REASON_UNAVAILABLE" => Some(Self::Unavailable),
2923 _ => None,
2924 }
2925 }
2926}
2927pub mod model_provider_health_service_client {
2929 #![allow(
2930 unused_variables,
2931 dead_code,
2932 missing_docs,
2933 clippy::wildcard_imports,
2934 clippy::let_unit_value,
2935 )]
2936 use tonic::codegen::*;
2937 use tonic::codegen::http::Uri;
2938 #[derive(Debug, Clone)]
2939 pub struct ModelProviderHealthServiceClient<T> {
2940 inner: tonic::client::Grpc<T>,
2941 }
2942 impl ModelProviderHealthServiceClient<tonic::transport::Channel> {
2943 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
2945 where
2946 D: TryInto<tonic::transport::Endpoint>,
2947 D::Error: Into<StdError>,
2948 {
2949 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
2950 Ok(Self::new(conn))
2951 }
2952 }
2953 impl<T> ModelProviderHealthServiceClient<T>
2954 where
2955 T: tonic::client::GrpcService<tonic::body::Body>,
2956 T::Error: Into<StdError>,
2957 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
2958 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
2959 {
2960 pub fn new(inner: T) -> Self {
2961 let inner = tonic::client::Grpc::new(inner);
2962 Self { inner }
2963 }
2964 pub fn with_origin(inner: T, origin: Uri) -> Self {
2965 let inner = tonic::client::Grpc::with_origin(inner, origin);
2966 Self { inner }
2967 }
2968 pub fn with_interceptor<F>(
2969 inner: T,
2970 interceptor: F,
2971 ) -> ModelProviderHealthServiceClient<InterceptedService<T, F>>
2972 where
2973 F: tonic::service::Interceptor,
2974 T::ResponseBody: Default,
2975 T: tonic::codegen::Service<
2976 http::Request<tonic::body::Body>,
2977 Response = http::Response<
2978 <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
2979 >,
2980 >,
2981 <T as tonic::codegen::Service<
2982 http::Request<tonic::body::Body>,
2983 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
2984 {
2985 ModelProviderHealthServiceClient::new(
2986 InterceptedService::new(inner, interceptor),
2987 )
2988 }
2989 #[must_use]
2994 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
2995 self.inner = self.inner.send_compressed(encoding);
2996 self
2997 }
2998 #[must_use]
3000 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
3001 self.inner = self.inner.accept_compressed(encoding);
3002 self
3003 }
3004 #[must_use]
3008 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
3009 self.inner = self.inner.max_decoding_message_size(limit);
3010 self
3011 }
3012 #[must_use]
3016 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
3017 self.inner = self.inner.max_encoding_message_size(limit);
3018 self
3019 }
3020 pub async fn get_provider_status(
3021 &mut self,
3022 request: impl tonic::IntoRequest<super::GetProviderStatusRequest>,
3023 ) -> std::result::Result<
3024 tonic::Response<super::GetProviderStatusResponse>,
3025 tonic::Status,
3026 > {
3027 self.inner
3028 .ready()
3029 .await
3030 .map_err(|e| {
3031 tonic::Status::unknown(
3032 format!("Service was not ready: {}", e.into()),
3033 )
3034 })?;
3035 let codec = tonic::codec::ProstCodec::default();
3036 let path = http::uri::PathAndQuery::from_static(
3037 "/nominal.ai.v1.ModelProviderHealthService/GetProviderStatus",
3038 );
3039 let mut req = request.into_request();
3040 req.extensions_mut()
3041 .insert(
3042 GrpcMethod::new(
3043 "nominal.ai.v1.ModelProviderHealthService",
3044 "GetProviderStatus",
3045 ),
3046 );
3047 self.inner.unary(req, path, codec).await
3048 }
3049 }
3050}