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