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, tag = "1")]
1247 pub pointer: ::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")]
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 }
1277}
1278#[derive(Clone, PartialEq, ::prost::Message)]
1279pub struct CodeExecutionCitation {
1280 #[prost(string, tag = "1")]
1281 pub code: ::prost::alloc::string::String,
1282 #[prost(string, tag = "2")]
1283 pub output: ::prost::alloc::string::String,
1284 #[prost(string, optional, tag = "3")]
1285 pub error: ::core::option::Option<::prost::alloc::string::String>,
1286 #[prost(message, repeated, tag = "4")]
1287 pub calls: ::prost::alloc::vec::Vec<CodeExecutionCall>,
1288 #[prost(uint32, tag = "5")]
1289 pub omitted_calls: u32,
1290}
1291#[derive(Clone, PartialEq, ::prost::Message)]
1292pub struct CodeExecutionCall {
1293 #[prost(string, tag = "1")]
1294 pub method: ::prost::alloc::string::String,
1295 #[prost(string, optional, tag = "2")]
1296 pub arguments_json: ::core::option::Option<::prost::alloc::string::String>,
1297 #[prost(enumeration = "CodeExecutionCallOutcome", tag = "3")]
1298 pub outcome: i32,
1299 #[prost(string, optional, tag = "4")]
1300 pub error_code: ::core::option::Option<::prost::alloc::string::String>,
1301 #[prost(message, repeated, tag = "5")]
1302 pub sources: ::prost::alloc::vec::Vec<CodeExecutionSource>,
1303}
1304#[derive(Clone, PartialEq, ::prost::Message)]
1305pub struct CodeExecutionSource {
1306 #[prost(string, tag = "1")]
1307 pub label: ::prost::alloc::string::String,
1308 #[prost(oneof = "code_execution_source::Source", tags = "2, 3")]
1309 pub source: ::core::option::Option<code_execution_source::Source>,
1310}
1311pub mod code_execution_source {
1313 #[derive(Clone, PartialEq, ::prost::Oneof)]
1314 pub enum Source {
1315 #[prost(message, tag = "2")]
1316 Telemetry(super::TelemetryCitation),
1317 #[prost(message, tag = "3")]
1318 File(super::DriveFileCitation),
1319 }
1320}
1321#[derive(Clone, PartialEq, ::prost::Message)]
1322pub struct TelemetryCitation {
1323 #[prost(oneof = "telemetry_citation::Version", tags = "1")]
1324 pub version: ::core::option::Option<telemetry_citation::Version>,
1325}
1326pub mod telemetry_citation {
1328 #[derive(Clone, PartialEq, ::prost::Oneof)]
1329 pub enum Version {
1330 #[prost(message, tag = "1")]
1331 V1(super::ComputeProvenanceV1),
1332 }
1333}
1334#[derive(Clone, PartialEq, ::prost::Message)]
1335pub struct DriveFileCitation {
1336 #[prost(string, tag = "1")]
1337 pub file_revision_rid: ::prost::alloc::string::String,
1338 #[prost(message, optional, tag = "2")]
1339 pub file_identity: ::core::option::Option<
1340 super::super::file_store::v1::LogicalFileIdentity,
1341 >,
1342 #[prost(string, tag = "3")]
1343 pub drive_rid: ::prost::alloc::string::String,
1344 #[prost(uint64, tag = "4")]
1345 pub total_size_bytes: u64,
1346 #[prost(oneof = "drive_file_citation::Kind", tags = "5, 6")]
1347 pub kind: ::core::option::Option<drive_file_citation::Kind>,
1348}
1349pub mod drive_file_citation {
1351 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
1352 pub enum Kind {
1353 #[prost(message, tag = "5")]
1354 Text(super::TextFileCitation),
1355 #[prost(message, tag = "6")]
1356 Pdf(super::PdfFileCitation),
1357 }
1358}
1359#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1360pub struct TextFileCitation {
1361 #[prost(message, optional, tag = "1")]
1362 pub byte_range: ::core::option::Option<ByteRange>,
1363}
1364#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1365pub struct PdfFileCitation {
1366 #[prost(uint32, tag = "1")]
1367 pub first_page: u32,
1368 #[prost(uint32, tag = "2")]
1369 pub page_count: u32,
1370 #[prost(uint32, tag = "3")]
1371 pub total_page_count: u32,
1372}
1373#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1374pub struct ByteRange {
1375 #[prost(uint64, tag = "1")]
1376 pub offset: u64,
1377 #[prost(uint64, tag = "2")]
1378 pub length: u64,
1379}
1380#[derive(Clone, PartialEq, ::prost::Message)]
1381pub struct BatchGetCitationsRequest {
1382 #[prost(string, tag = "1")]
1383 pub conversation_rid: ::prost::alloc::string::String,
1384 #[prost(string, repeated, tag = "2")]
1385 pub refs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1386}
1387#[derive(Clone, PartialEq, ::prost::Message)]
1388pub struct BatchGetCitationsResponse {
1389 #[prost(message, repeated, tag = "1")]
1390 pub citations: ::prost::alloc::vec::Vec<Citation>,
1391 #[prost(message, repeated, tag = "2")]
1392 pub errors: ::prost::alloc::vec::Vec<GetCitationResponseError>,
1393}
1394#[derive(Clone, PartialEq, ::prost::Message)]
1395pub struct GetCitationResponseError {
1396 #[prost(string, tag = "1")]
1397 pub r#ref: ::prost::alloc::string::String,
1398 #[prost(enumeration = "get_citation_response_error::Reason", tag = "2")]
1399 pub reason: i32,
1400}
1401pub mod get_citation_response_error {
1403 #[derive(
1404 Clone,
1405 Copy,
1406 Debug,
1407 PartialEq,
1408 Eq,
1409 Hash,
1410 PartialOrd,
1411 Ord,
1412 ::prost::Enumeration
1413 )]
1414 #[repr(i32)]
1415 pub enum Reason {
1416 Unspecified = 0,
1417 NotFound = 1,
1418 }
1419 impl Reason {
1420 pub fn as_str_name(&self) -> &'static str {
1425 match self {
1426 Self::Unspecified => "REASON_UNSPECIFIED",
1427 Self::NotFound => "REASON_NOT_FOUND",
1428 }
1429 }
1430 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1432 match value {
1433 "REASON_UNSPECIFIED" => Some(Self::Unspecified),
1434 "REASON_NOT_FOUND" => Some(Self::NotFound),
1435 _ => None,
1436 }
1437 }
1438 }
1439}
1440#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1441#[repr(i32)]
1442pub enum FeedbackVote {
1443 Unspecified = 0,
1444 ThumbsUp = 1,
1445 ThumbsDown = 2,
1446}
1447impl FeedbackVote {
1448 pub fn as_str_name(&self) -> &'static str {
1453 match self {
1454 Self::Unspecified => "FEEDBACK_VOTE_UNSPECIFIED",
1455 Self::ThumbsUp => "FEEDBACK_VOTE_THUMBS_UP",
1456 Self::ThumbsDown => "FEEDBACK_VOTE_THUMBS_DOWN",
1457 }
1458 }
1459 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1461 match value {
1462 "FEEDBACK_VOTE_UNSPECIFIED" => Some(Self::Unspecified),
1463 "FEEDBACK_VOTE_THUMBS_UP" => Some(Self::ThumbsUp),
1464 "FEEDBACK_VOTE_THUMBS_DOWN" => Some(Self::ThumbsDown),
1465 _ => None,
1466 }
1467 }
1468}
1469#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1470#[repr(i32)]
1471pub enum ShouldKnowAnswer {
1472 Unspecified = 0,
1473 LearnMore = 1,
1474 KnewIt = 2,
1475 NotNow = 3,
1476 Understood = 4,
1477 Chat = 5,
1478 Dismissed = 6,
1479 Helpful = 7,
1480 NotRelevant = 8,
1481 NotUnderstood = 9,
1482 IgnoredSubmit = 10,
1483 IgnoredTimeout = 11,
1484}
1485impl ShouldKnowAnswer {
1486 pub fn as_str_name(&self) -> &'static str {
1491 match self {
1492 Self::Unspecified => "SHOULD_KNOW_ANSWER_UNSPECIFIED",
1493 Self::LearnMore => "SHOULD_KNOW_ANSWER_LEARN_MORE",
1494 Self::KnewIt => "SHOULD_KNOW_ANSWER_KNEW_IT",
1495 Self::NotNow => "SHOULD_KNOW_ANSWER_NOT_NOW",
1496 Self::Understood => "SHOULD_KNOW_ANSWER_UNDERSTOOD",
1497 Self::Chat => "SHOULD_KNOW_ANSWER_CHAT",
1498 Self::Dismissed => "SHOULD_KNOW_ANSWER_DISMISSED",
1499 Self::Helpful => "SHOULD_KNOW_ANSWER_HELPFUL",
1500 Self::NotRelevant => "SHOULD_KNOW_ANSWER_NOT_RELEVANT",
1501 Self::NotUnderstood => "SHOULD_KNOW_ANSWER_NOT_UNDERSTOOD",
1502 Self::IgnoredSubmit => "SHOULD_KNOW_ANSWER_IGNORED_SUBMIT",
1503 Self::IgnoredTimeout => "SHOULD_KNOW_ANSWER_IGNORED_TIMEOUT",
1504 }
1505 }
1506 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1508 match value {
1509 "SHOULD_KNOW_ANSWER_UNSPECIFIED" => Some(Self::Unspecified),
1510 "SHOULD_KNOW_ANSWER_LEARN_MORE" => Some(Self::LearnMore),
1511 "SHOULD_KNOW_ANSWER_KNEW_IT" => Some(Self::KnewIt),
1512 "SHOULD_KNOW_ANSWER_NOT_NOW" => Some(Self::NotNow),
1513 "SHOULD_KNOW_ANSWER_UNDERSTOOD" => Some(Self::Understood),
1514 "SHOULD_KNOW_ANSWER_CHAT" => Some(Self::Chat),
1515 "SHOULD_KNOW_ANSWER_DISMISSED" => Some(Self::Dismissed),
1516 "SHOULD_KNOW_ANSWER_HELPFUL" => Some(Self::Helpful),
1517 "SHOULD_KNOW_ANSWER_NOT_RELEVANT" => Some(Self::NotRelevant),
1518 "SHOULD_KNOW_ANSWER_NOT_UNDERSTOOD" => Some(Self::NotUnderstood),
1519 "SHOULD_KNOW_ANSWER_IGNORED_SUBMIT" => Some(Self::IgnoredSubmit),
1520 "SHOULD_KNOW_ANSWER_IGNORED_TIMEOUT" => Some(Self::IgnoredTimeout),
1521 _ => None,
1522 }
1523 }
1524}
1525#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1526#[repr(i32)]
1527pub enum AgentRunExecutionMode {
1528 Unspecified = 0,
1529 Inline = 1,
1530 Durable = 2,
1531}
1532impl AgentRunExecutionMode {
1533 pub fn as_str_name(&self) -> &'static str {
1538 match self {
1539 Self::Unspecified => "AGENT_RUN_EXECUTION_MODE_UNSPECIFIED",
1540 Self::Inline => "AGENT_RUN_EXECUTION_MODE_INLINE",
1541 Self::Durable => "AGENT_RUN_EXECUTION_MODE_DURABLE",
1542 }
1543 }
1544 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1546 match value {
1547 "AGENT_RUN_EXECUTION_MODE_UNSPECIFIED" => Some(Self::Unspecified),
1548 "AGENT_RUN_EXECUTION_MODE_INLINE" => Some(Self::Inline),
1549 "AGENT_RUN_EXECUTION_MODE_DURABLE" => Some(Self::Durable),
1550 _ => None,
1551 }
1552 }
1553}
1554#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1555#[repr(i32)]
1556pub enum ConversationSandboxStatus {
1557 Unspecified = 0,
1558 Running = 1,
1559 Idle = 2,
1560 Resuming = 3,
1561}
1562impl ConversationSandboxStatus {
1563 pub fn as_str_name(&self) -> &'static str {
1568 match self {
1569 Self::Unspecified => "CONVERSATION_SANDBOX_STATUS_UNSPECIFIED",
1570 Self::Running => "CONVERSATION_SANDBOX_STATUS_RUNNING",
1571 Self::Idle => "CONVERSATION_SANDBOX_STATUS_IDLE",
1572 Self::Resuming => "CONVERSATION_SANDBOX_STATUS_RESUMING",
1573 }
1574 }
1575 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1577 match value {
1578 "CONVERSATION_SANDBOX_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
1579 "CONVERSATION_SANDBOX_STATUS_RUNNING" => Some(Self::Running),
1580 "CONVERSATION_SANDBOX_STATUS_IDLE" => Some(Self::Idle),
1581 "CONVERSATION_SANDBOX_STATUS_RESUMING" => Some(Self::Resuming),
1582 _ => None,
1583 }
1584 }
1585}
1586#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1587#[repr(i32)]
1588pub enum ShouldKnowTag {
1589 Unspecified = 0,
1590 YouShouldKnow = 1,
1591 HeadsUp = 2,
1592}
1593impl ShouldKnowTag {
1594 pub fn as_str_name(&self) -> &'static str {
1599 match self {
1600 Self::Unspecified => "SHOULD_KNOW_TAG_UNSPECIFIED",
1601 Self::YouShouldKnow => "SHOULD_KNOW_TAG_YOU_SHOULD_KNOW",
1602 Self::HeadsUp => "SHOULD_KNOW_TAG_HEADS_UP",
1603 }
1604 }
1605 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1607 match value {
1608 "SHOULD_KNOW_TAG_UNSPECIFIED" => Some(Self::Unspecified),
1609 "SHOULD_KNOW_TAG_YOU_SHOULD_KNOW" => Some(Self::YouShouldKnow),
1610 "SHOULD_KNOW_TAG_HEADS_UP" => Some(Self::HeadsUp),
1611 _ => None,
1612 }
1613 }
1614}
1615#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1616#[repr(i32)]
1617pub enum ToolCallStatus {
1618 Unspecified = 0,
1619 Approved = 1,
1620 Denied = 2,
1621 AwaitingApproval = 3,
1622}
1623impl ToolCallStatus {
1624 pub fn as_str_name(&self) -> &'static str {
1629 match self {
1630 Self::Unspecified => "TOOL_CALL_STATUS_UNSPECIFIED",
1631 Self::Approved => "TOOL_CALL_STATUS_APPROVED",
1632 Self::Denied => "TOOL_CALL_STATUS_DENIED",
1633 Self::AwaitingApproval => "TOOL_CALL_STATUS_AWAITING_APPROVAL",
1634 }
1635 }
1636 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1638 match value {
1639 "TOOL_CALL_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
1640 "TOOL_CALL_STATUS_APPROVED" => Some(Self::Approved),
1641 "TOOL_CALL_STATUS_DENIED" => Some(Self::Denied),
1642 "TOOL_CALL_STATUS_AWAITING_APPROVAL" => Some(Self::AwaitingApproval),
1643 _ => None,
1644 }
1645 }
1646}
1647#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1648#[repr(i32)]
1649pub enum UserQuestionState {
1650 Unspecified = 0,
1651 Pending = 1,
1652 Answered = 2,
1653 Declined = 3,
1654}
1655impl UserQuestionState {
1656 pub fn as_str_name(&self) -> &'static str {
1661 match self {
1662 Self::Unspecified => "USER_QUESTION_STATE_UNSPECIFIED",
1663 Self::Pending => "USER_QUESTION_STATE_PENDING",
1664 Self::Answered => "USER_QUESTION_STATE_ANSWERED",
1665 Self::Declined => "USER_QUESTION_STATE_DECLINED",
1666 }
1667 }
1668 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1670 match value {
1671 "USER_QUESTION_STATE_UNSPECIFIED" => Some(Self::Unspecified),
1672 "USER_QUESTION_STATE_PENDING" => Some(Self::Pending),
1673 "USER_QUESTION_STATE_ANSWERED" => Some(Self::Answered),
1674 "USER_QUESTION_STATE_DECLINED" => Some(Self::Declined),
1675 _ => None,
1676 }
1677 }
1678}
1679#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1680#[repr(i32)]
1681pub enum ResourceChangeType {
1682 Unspecified = 0,
1683 Created = 1,
1684 Updated = 2,
1685 Archived = 3,
1686}
1687impl ResourceChangeType {
1688 pub fn as_str_name(&self) -> &'static str {
1693 match self {
1694 Self::Unspecified => "RESOURCE_CHANGE_TYPE_UNSPECIFIED",
1695 Self::Created => "RESOURCE_CHANGE_TYPE_CREATED",
1696 Self::Updated => "RESOURCE_CHANGE_TYPE_UPDATED",
1697 Self::Archived => "RESOURCE_CHANGE_TYPE_ARCHIVED",
1698 }
1699 }
1700 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1702 match value {
1703 "RESOURCE_CHANGE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
1704 "RESOURCE_CHANGE_TYPE_CREATED" => Some(Self::Created),
1705 "RESOURCE_CHANGE_TYPE_UPDATED" => Some(Self::Updated),
1706 "RESOURCE_CHANGE_TYPE_ARCHIVED" => Some(Self::Archived),
1707 _ => None,
1708 }
1709 }
1710}
1711#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1712#[repr(i32)]
1713pub enum TimeRangeType {
1714 Unspecified = 0,
1715 Absolute = 1,
1716 Relative = 2,
1717}
1718impl TimeRangeType {
1719 pub fn as_str_name(&self) -> &'static str {
1724 match self {
1725 Self::Unspecified => "TIME_RANGE_TYPE_UNSPECIFIED",
1726 Self::Absolute => "TIME_RANGE_TYPE_ABSOLUTE",
1727 Self::Relative => "TIME_RANGE_TYPE_RELATIVE",
1728 }
1729 }
1730 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1732 match value {
1733 "TIME_RANGE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
1734 "TIME_RANGE_TYPE_ABSOLUTE" => Some(Self::Absolute),
1735 "TIME_RANGE_TYPE_RELATIVE" => Some(Self::Relative),
1736 _ => None,
1737 }
1738 }
1739}
1740#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1741#[repr(i32)]
1742pub enum ComputeOutputType {
1743 Unspecified = 0,
1744 RangeSeries = 1,
1745 NumericSeries = 2,
1746 NumericArraySeries = 3,
1747 EnumSeries = 4,
1748 EnumArraySeries = 5,
1749 LogSeries = 6,
1750 StructSeries = 7,
1751 VideoSeries = 8,
1752 UntypedSeries = 9,
1753 GroupedSeries = 10,
1754 LastPoint = 11,
1755 LastRange = 12,
1756 CartesianPoints = 13,
1757 Cartesian3dPoints = 14,
1758 Multivariate = 15,
1759 NumericHistogram = 16,
1760 FrequencyDomain = 17,
1761 FrequencyDomainV2 = 18,
1762 BucketedFrequencyDomain = 19,
1763 NumericRangeAggregate = 20,
1764 CurveFit = 21,
1765 CurveV2 = 22,
1766}
1767impl ComputeOutputType {
1768 pub fn as_str_name(&self) -> &'static str {
1773 match self {
1774 Self::Unspecified => "COMPUTE_OUTPUT_TYPE_UNSPECIFIED",
1775 Self::RangeSeries => "COMPUTE_OUTPUT_TYPE_RANGE_SERIES",
1776 Self::NumericSeries => "COMPUTE_OUTPUT_TYPE_NUMERIC_SERIES",
1777 Self::NumericArraySeries => "COMPUTE_OUTPUT_TYPE_NUMERIC_ARRAY_SERIES",
1778 Self::EnumSeries => "COMPUTE_OUTPUT_TYPE_ENUM_SERIES",
1779 Self::EnumArraySeries => "COMPUTE_OUTPUT_TYPE_ENUM_ARRAY_SERIES",
1780 Self::LogSeries => "COMPUTE_OUTPUT_TYPE_LOG_SERIES",
1781 Self::StructSeries => "COMPUTE_OUTPUT_TYPE_STRUCT_SERIES",
1782 Self::VideoSeries => "COMPUTE_OUTPUT_TYPE_VIDEO_SERIES",
1783 Self::UntypedSeries => "COMPUTE_OUTPUT_TYPE_UNTYPED_SERIES",
1784 Self::GroupedSeries => "COMPUTE_OUTPUT_TYPE_GROUPED_SERIES",
1785 Self::LastPoint => "COMPUTE_OUTPUT_TYPE_LAST_POINT",
1786 Self::LastRange => "COMPUTE_OUTPUT_TYPE_LAST_RANGE",
1787 Self::CartesianPoints => "COMPUTE_OUTPUT_TYPE_CARTESIAN_POINTS",
1788 Self::Cartesian3dPoints => "COMPUTE_OUTPUT_TYPE_CARTESIAN_3D_POINTS",
1789 Self::Multivariate => "COMPUTE_OUTPUT_TYPE_MULTIVARIATE",
1790 Self::NumericHistogram => "COMPUTE_OUTPUT_TYPE_NUMERIC_HISTOGRAM",
1791 Self::FrequencyDomain => "COMPUTE_OUTPUT_TYPE_FREQUENCY_DOMAIN",
1792 Self::FrequencyDomainV2 => "COMPUTE_OUTPUT_TYPE_FREQUENCY_DOMAIN_V2",
1793 Self::BucketedFrequencyDomain => {
1794 "COMPUTE_OUTPUT_TYPE_BUCKETED_FREQUENCY_DOMAIN"
1795 }
1796 Self::NumericRangeAggregate => "COMPUTE_OUTPUT_TYPE_NUMERIC_RANGE_AGGREGATE",
1797 Self::CurveFit => "COMPUTE_OUTPUT_TYPE_CURVE_FIT",
1798 Self::CurveV2 => "COMPUTE_OUTPUT_TYPE_CURVE_V2",
1799 }
1800 }
1801 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1803 match value {
1804 "COMPUTE_OUTPUT_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
1805 "COMPUTE_OUTPUT_TYPE_RANGE_SERIES" => Some(Self::RangeSeries),
1806 "COMPUTE_OUTPUT_TYPE_NUMERIC_SERIES" => Some(Self::NumericSeries),
1807 "COMPUTE_OUTPUT_TYPE_NUMERIC_ARRAY_SERIES" => Some(Self::NumericArraySeries),
1808 "COMPUTE_OUTPUT_TYPE_ENUM_SERIES" => Some(Self::EnumSeries),
1809 "COMPUTE_OUTPUT_TYPE_ENUM_ARRAY_SERIES" => Some(Self::EnumArraySeries),
1810 "COMPUTE_OUTPUT_TYPE_LOG_SERIES" => Some(Self::LogSeries),
1811 "COMPUTE_OUTPUT_TYPE_STRUCT_SERIES" => Some(Self::StructSeries),
1812 "COMPUTE_OUTPUT_TYPE_VIDEO_SERIES" => Some(Self::VideoSeries),
1813 "COMPUTE_OUTPUT_TYPE_UNTYPED_SERIES" => Some(Self::UntypedSeries),
1814 "COMPUTE_OUTPUT_TYPE_GROUPED_SERIES" => Some(Self::GroupedSeries),
1815 "COMPUTE_OUTPUT_TYPE_LAST_POINT" => Some(Self::LastPoint),
1816 "COMPUTE_OUTPUT_TYPE_LAST_RANGE" => Some(Self::LastRange),
1817 "COMPUTE_OUTPUT_TYPE_CARTESIAN_POINTS" => Some(Self::CartesianPoints),
1818 "COMPUTE_OUTPUT_TYPE_CARTESIAN_3D_POINTS" => Some(Self::Cartesian3dPoints),
1819 "COMPUTE_OUTPUT_TYPE_MULTIVARIATE" => Some(Self::Multivariate),
1820 "COMPUTE_OUTPUT_TYPE_NUMERIC_HISTOGRAM" => Some(Self::NumericHistogram),
1821 "COMPUTE_OUTPUT_TYPE_FREQUENCY_DOMAIN" => Some(Self::FrequencyDomain),
1822 "COMPUTE_OUTPUT_TYPE_FREQUENCY_DOMAIN_V2" => Some(Self::FrequencyDomainV2),
1823 "COMPUTE_OUTPUT_TYPE_BUCKETED_FREQUENCY_DOMAIN" => {
1824 Some(Self::BucketedFrequencyDomain)
1825 }
1826 "COMPUTE_OUTPUT_TYPE_NUMERIC_RANGE_AGGREGATE" => {
1827 Some(Self::NumericRangeAggregate)
1828 }
1829 "COMPUTE_OUTPUT_TYPE_CURVE_FIT" => Some(Self::CurveFit),
1830 "COMPUTE_OUTPUT_TYPE_CURVE_V2" => Some(Self::CurveV2),
1831 _ => None,
1832 }
1833 }
1834}
1835#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1836#[repr(i32)]
1837pub enum CodeExecutionCallOutcome {
1838 Unspecified = 0,
1839 Succeeded = 1,
1840 Failed = 2,
1841 Denied = 3,
1842}
1843impl CodeExecutionCallOutcome {
1844 pub fn as_str_name(&self) -> &'static str {
1849 match self {
1850 Self::Unspecified => "CODE_EXECUTION_CALL_OUTCOME_UNSPECIFIED",
1851 Self::Succeeded => "CODE_EXECUTION_CALL_OUTCOME_SUCCEEDED",
1852 Self::Failed => "CODE_EXECUTION_CALL_OUTCOME_FAILED",
1853 Self::Denied => "CODE_EXECUTION_CALL_OUTCOME_DENIED",
1854 }
1855 }
1856 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1858 match value {
1859 "CODE_EXECUTION_CALL_OUTCOME_UNSPECIFIED" => Some(Self::Unspecified),
1860 "CODE_EXECUTION_CALL_OUTCOME_SUCCEEDED" => Some(Self::Succeeded),
1861 "CODE_EXECUTION_CALL_OUTCOME_FAILED" => Some(Self::Failed),
1862 "CODE_EXECUTION_CALL_OUTCOME_DENIED" => Some(Self::Denied),
1863 _ => None,
1864 }
1865 }
1866}
1867pub mod ai_agent_service_client {
1869 #![allow(
1870 unused_variables,
1871 dead_code,
1872 missing_docs,
1873 clippy::wildcard_imports,
1874 clippy::let_unit_value,
1875 )]
1876 use tonic::codegen::*;
1877 use tonic::codegen::http::Uri;
1878 #[derive(Debug, Clone)]
1879 pub struct AiAgentServiceClient<T> {
1880 inner: tonic::client::Grpc<T>,
1881 }
1882 impl AiAgentServiceClient<tonic::transport::Channel> {
1883 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
1885 where
1886 D: TryInto<tonic::transport::Endpoint>,
1887 D::Error: Into<StdError>,
1888 {
1889 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
1890 Ok(Self::new(conn))
1891 }
1892 }
1893 impl<T> AiAgentServiceClient<T>
1894 where
1895 T: tonic::client::GrpcService<tonic::body::Body>,
1896 T::Error: Into<StdError>,
1897 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
1898 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
1899 {
1900 pub fn new(inner: T) -> Self {
1901 let inner = tonic::client::Grpc::new(inner);
1902 Self { inner }
1903 }
1904 pub fn with_origin(inner: T, origin: Uri) -> Self {
1905 let inner = tonic::client::Grpc::with_origin(inner, origin);
1906 Self { inner }
1907 }
1908 pub fn with_interceptor<F>(
1909 inner: T,
1910 interceptor: F,
1911 ) -> AiAgentServiceClient<InterceptedService<T, F>>
1912 where
1913 F: tonic::service::Interceptor,
1914 T::ResponseBody: Default,
1915 T: tonic::codegen::Service<
1916 http::Request<tonic::body::Body>,
1917 Response = http::Response<
1918 <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
1919 >,
1920 >,
1921 <T as tonic::codegen::Service<
1922 http::Request<tonic::body::Body>,
1923 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
1924 {
1925 AiAgentServiceClient::new(InterceptedService::new(inner, interceptor))
1926 }
1927 #[must_use]
1932 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
1933 self.inner = self.inner.send_compressed(encoding);
1934 self
1935 }
1936 #[must_use]
1938 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
1939 self.inner = self.inner.accept_compressed(encoding);
1940 self
1941 }
1942 #[must_use]
1946 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
1947 self.inner = self.inner.max_decoding_message_size(limit);
1948 self
1949 }
1950 #[must_use]
1954 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
1955 self.inner = self.inner.max_encoding_message_size(limit);
1956 self
1957 }
1958 pub async fn list_models(
1959 &mut self,
1960 request: impl tonic::IntoRequest<super::ListModelsRequest>,
1961 ) -> std::result::Result<
1962 tonic::Response<super::ListModelsResponse>,
1963 tonic::Status,
1964 > {
1965 self.inner
1966 .ready()
1967 .await
1968 .map_err(|e| {
1969 tonic::Status::unknown(
1970 format!("Service was not ready: {}", e.into()),
1971 )
1972 })?;
1973 let codec = tonic::codec::ProstCodec::default();
1974 let path = http::uri::PathAndQuery::from_static(
1975 "/nominal.ai.v1.AIAgentService/ListModels",
1976 );
1977 let mut req = request.into_request();
1978 req.extensions_mut()
1979 .insert(GrpcMethod::new("nominal.ai.v1.AIAgentService", "ListModels"));
1980 self.inner.unary(req, path, codec).await
1981 }
1982 pub async fn stream_chat(
1983 &mut self,
1984 request: impl tonic::IntoRequest<super::StreamChatRequest>,
1985 ) -> std::result::Result<
1986 tonic::Response<tonic::codec::Streaming<super::StreamChatResponse>>,
1987 tonic::Status,
1988 > {
1989 self.inner
1990 .ready()
1991 .await
1992 .map_err(|e| {
1993 tonic::Status::unknown(
1994 format!("Service was not ready: {}", e.into()),
1995 )
1996 })?;
1997 let codec = tonic::codec::ProstCodec::default();
1998 let path = http::uri::PathAndQuery::from_static(
1999 "/nominal.ai.v1.AIAgentService/StreamChat",
2000 );
2001 let mut req = request.into_request();
2002 req.extensions_mut()
2003 .insert(GrpcMethod::new("nominal.ai.v1.AIAgentService", "StreamChat"));
2004 self.inner.server_streaming(req, path, codec).await
2005 }
2006 #[deprecated]
2007 pub async fn get_conversation(
2008 &mut self,
2009 request: impl tonic::IntoRequest<super::GetConversationRequest>,
2010 ) -> std::result::Result<
2011 tonic::Response<super::GetConversationResponse>,
2012 tonic::Status,
2013 > {
2014 self.inner
2015 .ready()
2016 .await
2017 .map_err(|e| {
2018 tonic::Status::unknown(
2019 format!("Service was not ready: {}", e.into()),
2020 )
2021 })?;
2022 let codec = tonic::codec::ProstCodec::default();
2023 let path = http::uri::PathAndQuery::from_static(
2024 "/nominal.ai.v1.AIAgentService/GetConversation",
2025 );
2026 let mut req = request.into_request();
2027 req.extensions_mut()
2028 .insert(
2029 GrpcMethod::new("nominal.ai.v1.AIAgentService", "GetConversation"),
2030 );
2031 self.inner.unary(req, path, codec).await
2032 }
2033 pub async fn get_conversation_metadata(
2034 &mut self,
2035 request: impl tonic::IntoRequest<super::GetConversationMetadataRequest>,
2036 ) -> std::result::Result<
2037 tonic::Response<super::GetConversationMetadataResponse>,
2038 tonic::Status,
2039 > {
2040 self.inner
2041 .ready()
2042 .await
2043 .map_err(|e| {
2044 tonic::Status::unknown(
2045 format!("Service was not ready: {}", e.into()),
2046 )
2047 })?;
2048 let codec = tonic::codec::ProstCodec::default();
2049 let path = http::uri::PathAndQuery::from_static(
2050 "/nominal.ai.v1.AIAgentService/GetConversationMetadata",
2051 );
2052 let mut req = request.into_request();
2053 req.extensions_mut()
2054 .insert(
2055 GrpcMethod::new(
2056 "nominal.ai.v1.AIAgentService",
2057 "GetConversationMetadata",
2058 ),
2059 );
2060 self.inner.unary(req, path, codec).await
2061 }
2062 pub async fn get_conversation_messages(
2063 &mut self,
2064 request: impl tonic::IntoRequest<super::GetConversationMessagesRequest>,
2065 ) -> std::result::Result<
2066 tonic::Response<super::GetConversationMessagesResponse>,
2067 tonic::Status,
2068 > {
2069 self.inner
2070 .ready()
2071 .await
2072 .map_err(|e| {
2073 tonic::Status::unknown(
2074 format!("Service was not ready: {}", e.into()),
2075 )
2076 })?;
2077 let codec = tonic::codec::ProstCodec::default();
2078 let path = http::uri::PathAndQuery::from_static(
2079 "/nominal.ai.v1.AIAgentService/GetConversationMessages",
2080 );
2081 let mut req = request.into_request();
2082 req.extensions_mut()
2083 .insert(
2084 GrpcMethod::new(
2085 "nominal.ai.v1.AIAgentService",
2086 "GetConversationMessages",
2087 ),
2088 );
2089 self.inner.unary(req, path, codec).await
2090 }
2091 pub async fn list_conversations(
2092 &mut self,
2093 request: impl tonic::IntoRequest<super::ListConversationsRequest>,
2094 ) -> std::result::Result<
2095 tonic::Response<super::ListConversationsResponse>,
2096 tonic::Status,
2097 > {
2098 self.inner
2099 .ready()
2100 .await
2101 .map_err(|e| {
2102 tonic::Status::unknown(
2103 format!("Service was not ready: {}", e.into()),
2104 )
2105 })?;
2106 let codec = tonic::codec::ProstCodec::default();
2107 let path = http::uri::PathAndQuery::from_static(
2108 "/nominal.ai.v1.AIAgentService/ListConversations",
2109 );
2110 let mut req = request.into_request();
2111 req.extensions_mut()
2112 .insert(
2113 GrpcMethod::new("nominal.ai.v1.AIAgentService", "ListConversations"),
2114 );
2115 self.inner.unary(req, path, codec).await
2116 }
2117 pub async fn batch_get_conversation_active_runs(
2118 &mut self,
2119 request: impl tonic::IntoRequest<
2120 super::BatchGetConversationActiveRunsRequest,
2121 >,
2122 ) -> std::result::Result<
2123 tonic::Response<super::BatchGetConversationActiveRunsResponse>,
2124 tonic::Status,
2125 > {
2126 self.inner
2127 .ready()
2128 .await
2129 .map_err(|e| {
2130 tonic::Status::unknown(
2131 format!("Service was not ready: {}", e.into()),
2132 )
2133 })?;
2134 let codec = tonic::codec::ProstCodec::default();
2135 let path = http::uri::PathAndQuery::from_static(
2136 "/nominal.ai.v1.AIAgentService/BatchGetConversationActiveRuns",
2137 );
2138 let mut req = request.into_request();
2139 req.extensions_mut()
2140 .insert(
2141 GrpcMethod::new(
2142 "nominal.ai.v1.AIAgentService",
2143 "BatchGetConversationActiveRuns",
2144 ),
2145 );
2146 self.inner.unary(req, path, codec).await
2147 }
2148 pub async fn batch_get_conversation_sandboxes(
2149 &mut self,
2150 request: impl tonic::IntoRequest<super::BatchGetConversationSandboxesRequest>,
2151 ) -> std::result::Result<
2152 tonic::Response<super::BatchGetConversationSandboxesResponse>,
2153 tonic::Status,
2154 > {
2155 self.inner
2156 .ready()
2157 .await
2158 .map_err(|e| {
2159 tonic::Status::unknown(
2160 format!("Service was not ready: {}", e.into()),
2161 )
2162 })?;
2163 let codec = tonic::codec::ProstCodec::default();
2164 let path = http::uri::PathAndQuery::from_static(
2165 "/nominal.ai.v1.AIAgentService/BatchGetConversationSandboxes",
2166 );
2167 let mut req = request.into_request();
2168 req.extensions_mut()
2169 .insert(
2170 GrpcMethod::new(
2171 "nominal.ai.v1.AIAgentService",
2172 "BatchGetConversationSandboxes",
2173 ),
2174 );
2175 self.inner.unary(req, path, codec).await
2176 }
2177 pub async fn resume_conversation_sandbox(
2178 &mut self,
2179 request: impl tonic::IntoRequest<super::ResumeConversationSandboxRequest>,
2180 ) -> std::result::Result<
2181 tonic::Response<super::ResumeConversationSandboxResponse>,
2182 tonic::Status,
2183 > {
2184 self.inner
2185 .ready()
2186 .await
2187 .map_err(|e| {
2188 tonic::Status::unknown(
2189 format!("Service was not ready: {}", e.into()),
2190 )
2191 })?;
2192 let codec = tonic::codec::ProstCodec::default();
2193 let path = http::uri::PathAndQuery::from_static(
2194 "/nominal.ai.v1.AIAgentService/ResumeConversationSandbox",
2195 );
2196 let mut req = request.into_request();
2197 req.extensions_mut()
2198 .insert(
2199 GrpcMethod::new(
2200 "nominal.ai.v1.AIAgentService",
2201 "ResumeConversationSandbox",
2202 ),
2203 );
2204 self.inner.unary(req, path, codec).await
2205 }
2206 pub async fn create_conversation(
2207 &mut self,
2208 request: impl tonic::IntoRequest<super::CreateConversationRequest>,
2209 ) -> std::result::Result<
2210 tonic::Response<super::CreateConversationResponse>,
2211 tonic::Status,
2212 > {
2213 self.inner
2214 .ready()
2215 .await
2216 .map_err(|e| {
2217 tonic::Status::unknown(
2218 format!("Service was not ready: {}", e.into()),
2219 )
2220 })?;
2221 let codec = tonic::codec::ProstCodec::default();
2222 let path = http::uri::PathAndQuery::from_static(
2223 "/nominal.ai.v1.AIAgentService/CreateConversation",
2224 );
2225 let mut req = request.into_request();
2226 req.extensions_mut()
2227 .insert(
2228 GrpcMethod::new("nominal.ai.v1.AIAgentService", "CreateConversation"),
2229 );
2230 self.inner.unary(req, path, codec).await
2231 }
2232 pub async fn update_conversation_metadata(
2233 &mut self,
2234 request: impl tonic::IntoRequest<super::UpdateConversationMetadataRequest>,
2235 ) -> std::result::Result<
2236 tonic::Response<super::UpdateConversationMetadataResponse>,
2237 tonic::Status,
2238 > {
2239 self.inner
2240 .ready()
2241 .await
2242 .map_err(|e| {
2243 tonic::Status::unknown(
2244 format!("Service was not ready: {}", e.into()),
2245 )
2246 })?;
2247 let codec = tonic::codec::ProstCodec::default();
2248 let path = http::uri::PathAndQuery::from_static(
2249 "/nominal.ai.v1.AIAgentService/UpdateConversationMetadata",
2250 );
2251 let mut req = request.into_request();
2252 req.extensions_mut()
2253 .insert(
2254 GrpcMethod::new(
2255 "nominal.ai.v1.AIAgentService",
2256 "UpdateConversationMetadata",
2257 ),
2258 );
2259 self.inner.unary(req, path, codec).await
2260 }
2261 pub async fn delete_conversation(
2262 &mut self,
2263 request: impl tonic::IntoRequest<super::DeleteConversationRequest>,
2264 ) -> std::result::Result<
2265 tonic::Response<super::DeleteConversationResponse>,
2266 tonic::Status,
2267 > {
2268 self.inner
2269 .ready()
2270 .await
2271 .map_err(|e| {
2272 tonic::Status::unknown(
2273 format!("Service was not ready: {}", e.into()),
2274 )
2275 })?;
2276 let codec = tonic::codec::ProstCodec::default();
2277 let path = http::uri::PathAndQuery::from_static(
2278 "/nominal.ai.v1.AIAgentService/DeleteConversation",
2279 );
2280 let mut req = request.into_request();
2281 req.extensions_mut()
2282 .insert(
2283 GrpcMethod::new("nominal.ai.v1.AIAgentService", "DeleteConversation"),
2284 );
2285 self.inner.unary(req, path, codec).await
2286 }
2287 pub async fn archive_conversation(
2288 &mut self,
2289 request: impl tonic::IntoRequest<super::ArchiveConversationRequest>,
2290 ) -> std::result::Result<
2291 tonic::Response<super::ArchiveConversationResponse>,
2292 tonic::Status,
2293 > {
2294 self.inner
2295 .ready()
2296 .await
2297 .map_err(|e| {
2298 tonic::Status::unknown(
2299 format!("Service was not ready: {}", e.into()),
2300 )
2301 })?;
2302 let codec = tonic::codec::ProstCodec::default();
2303 let path = http::uri::PathAndQuery::from_static(
2304 "/nominal.ai.v1.AIAgentService/ArchiveConversation",
2305 );
2306 let mut req = request.into_request();
2307 req.extensions_mut()
2308 .insert(
2309 GrpcMethod::new(
2310 "nominal.ai.v1.AIAgentService",
2311 "ArchiveConversation",
2312 ),
2313 );
2314 self.inner.unary(req, path, codec).await
2315 }
2316 pub async fn unarchive_conversation(
2317 &mut self,
2318 request: impl tonic::IntoRequest<super::UnarchiveConversationRequest>,
2319 ) -> std::result::Result<
2320 tonic::Response<super::UnarchiveConversationResponse>,
2321 tonic::Status,
2322 > {
2323 self.inner
2324 .ready()
2325 .await
2326 .map_err(|e| {
2327 tonic::Status::unknown(
2328 format!("Service was not ready: {}", e.into()),
2329 )
2330 })?;
2331 let codec = tonic::codec::ProstCodec::default();
2332 let path = http::uri::PathAndQuery::from_static(
2333 "/nominal.ai.v1.AIAgentService/UnarchiveConversation",
2334 );
2335 let mut req = request.into_request();
2336 req.extensions_mut()
2337 .insert(
2338 GrpcMethod::new(
2339 "nominal.ai.v1.AIAgentService",
2340 "UnarchiveConversation",
2341 ),
2342 );
2343 self.inner.unary(req, path, codec).await
2344 }
2345 pub async fn get_snapshot_rid_by_user_message_id(
2346 &mut self,
2347 request: impl tonic::IntoRequest<super::GetSnapshotRidByUserMessageIdRequest>,
2348 ) -> std::result::Result<
2349 tonic::Response<super::GetSnapshotRidByUserMessageIdResponse>,
2350 tonic::Status,
2351 > {
2352 self.inner
2353 .ready()
2354 .await
2355 .map_err(|e| {
2356 tonic::Status::unknown(
2357 format!("Service was not ready: {}", e.into()),
2358 )
2359 })?;
2360 let codec = tonic::codec::ProstCodec::default();
2361 let path = http::uri::PathAndQuery::from_static(
2362 "/nominal.ai.v1.AIAgentService/GetSnapshotRidByUserMessageId",
2363 );
2364 let mut req = request.into_request();
2365 req.extensions_mut()
2366 .insert(
2367 GrpcMethod::new(
2368 "nominal.ai.v1.AIAgentService",
2369 "GetSnapshotRidByUserMessageId",
2370 ),
2371 );
2372 self.inner.unary(req, path, codec).await
2373 }
2374 pub async fn compact_conversation(
2375 &mut self,
2376 request: impl tonic::IntoRequest<super::CompactConversationRequest>,
2377 ) -> std::result::Result<
2378 tonic::Response<super::CompactConversationResponse>,
2379 tonic::Status,
2380 > {
2381 self.inner
2382 .ready()
2383 .await
2384 .map_err(|e| {
2385 tonic::Status::unknown(
2386 format!("Service was not ready: {}", e.into()),
2387 )
2388 })?;
2389 let codec = tonic::codec::ProstCodec::default();
2390 let path = http::uri::PathAndQuery::from_static(
2391 "/nominal.ai.v1.AIAgentService/CompactConversation",
2392 );
2393 let mut req = request.into_request();
2394 req.extensions_mut()
2395 .insert(
2396 GrpcMethod::new(
2397 "nominal.ai.v1.AIAgentService",
2398 "CompactConversation",
2399 ),
2400 );
2401 self.inner.unary(req, path, codec).await
2402 }
2403 pub async fn submit_message_feedback(
2404 &mut self,
2405 request: impl tonic::IntoRequest<super::SubmitMessageFeedbackRequest>,
2406 ) -> std::result::Result<
2407 tonic::Response<super::SubmitMessageFeedbackResponse>,
2408 tonic::Status,
2409 > {
2410 self.inner
2411 .ready()
2412 .await
2413 .map_err(|e| {
2414 tonic::Status::unknown(
2415 format!("Service was not ready: {}", e.into()),
2416 )
2417 })?;
2418 let codec = tonic::codec::ProstCodec::default();
2419 let path = http::uri::PathAndQuery::from_static(
2420 "/nominal.ai.v1.AIAgentService/SubmitMessageFeedback",
2421 );
2422 let mut req = request.into_request();
2423 req.extensions_mut()
2424 .insert(
2425 GrpcMethod::new(
2426 "nominal.ai.v1.AIAgentService",
2427 "SubmitMessageFeedback",
2428 ),
2429 );
2430 self.inner.unary(req, path, codec).await
2431 }
2432 pub async fn update_conversation_resources(
2433 &mut self,
2434 request: impl tonic::IntoRequest<super::UpdateConversationResourcesRequest>,
2435 ) -> std::result::Result<
2436 tonic::Response<super::UpdateConversationResourcesResponse>,
2437 tonic::Status,
2438 > {
2439 self.inner
2440 .ready()
2441 .await
2442 .map_err(|e| {
2443 tonic::Status::unknown(
2444 format!("Service was not ready: {}", e.into()),
2445 )
2446 })?;
2447 let codec = tonic::codec::ProstCodec::default();
2448 let path = http::uri::PathAndQuery::from_static(
2449 "/nominal.ai.v1.AIAgentService/UpdateConversationResources",
2450 );
2451 let mut req = request.into_request();
2452 req.extensions_mut()
2453 .insert(
2454 GrpcMethod::new(
2455 "nominal.ai.v1.AIAgentService",
2456 "UpdateConversationResources",
2457 ),
2458 );
2459 self.inner.unary(req, path, codec).await
2460 }
2461 pub async fn cancel_agent_run(
2462 &mut self,
2463 request: impl tonic::IntoRequest<super::CancelAgentRunRequest>,
2464 ) -> std::result::Result<
2465 tonic::Response<super::CancelAgentRunResponse>,
2466 tonic::Status,
2467 > {
2468 self.inner
2469 .ready()
2470 .await
2471 .map_err(|e| {
2472 tonic::Status::unknown(
2473 format!("Service was not ready: {}", e.into()),
2474 )
2475 })?;
2476 let codec = tonic::codec::ProstCodec::default();
2477 let path = http::uri::PathAndQuery::from_static(
2478 "/nominal.ai.v1.AIAgentService/CancelAgentRun",
2479 );
2480 let mut req = request.into_request();
2481 req.extensions_mut()
2482 .insert(
2483 GrpcMethod::new("nominal.ai.v1.AIAgentService", "CancelAgentRun"),
2484 );
2485 self.inner.unary(req, path, codec).await
2486 }
2487 pub async fn steer_agent_run(
2488 &mut self,
2489 request: impl tonic::IntoRequest<super::SteerAgentRunRequest>,
2490 ) -> std::result::Result<
2491 tonic::Response<super::SteerAgentRunResponse>,
2492 tonic::Status,
2493 > {
2494 self.inner
2495 .ready()
2496 .await
2497 .map_err(|e| {
2498 tonic::Status::unknown(
2499 format!("Service was not ready: {}", e.into()),
2500 )
2501 })?;
2502 let codec = tonic::codec::ProstCodec::default();
2503 let path = http::uri::PathAndQuery::from_static(
2504 "/nominal.ai.v1.AIAgentService/SteerAgentRun",
2505 );
2506 let mut req = request.into_request();
2507 req.extensions_mut()
2508 .insert(
2509 GrpcMethod::new("nominal.ai.v1.AIAgentService", "SteerAgentRun"),
2510 );
2511 self.inner.unary(req, path, codec).await
2512 }
2513 pub async fn batch_get_citations(
2514 &mut self,
2515 request: impl tonic::IntoRequest<super::BatchGetCitationsRequest>,
2516 ) -> std::result::Result<
2517 tonic::Response<super::BatchGetCitationsResponse>,
2518 tonic::Status,
2519 > {
2520 self.inner
2521 .ready()
2522 .await
2523 .map_err(|e| {
2524 tonic::Status::unknown(
2525 format!("Service was not ready: {}", e.into()),
2526 )
2527 })?;
2528 let codec = tonic::codec::ProstCodec::default();
2529 let path = http::uri::PathAndQuery::from_static(
2530 "/nominal.ai.v1.AIAgentService/BatchGetCitations",
2531 );
2532 let mut req = request.into_request();
2533 req.extensions_mut()
2534 .insert(
2535 GrpcMethod::new("nominal.ai.v1.AIAgentService", "BatchGetCitations"),
2536 );
2537 self.inner.unary(req, path, codec).await
2538 }
2539 pub async fn answer_should_know_offer(
2540 &mut self,
2541 request: impl tonic::IntoRequest<super::AnswerShouldKnowOfferRequest>,
2542 ) -> std::result::Result<
2543 tonic::Response<super::AnswerShouldKnowOfferResponse>,
2544 tonic::Status,
2545 > {
2546 self.inner
2547 .ready()
2548 .await
2549 .map_err(|e| {
2550 tonic::Status::unknown(
2551 format!("Service was not ready: {}", e.into()),
2552 )
2553 })?;
2554 let codec = tonic::codec::ProstCodec::default();
2555 let path = http::uri::PathAndQuery::from_static(
2556 "/nominal.ai.v1.AIAgentService/AnswerShouldKnowOffer",
2557 );
2558 let mut req = request.into_request();
2559 req.extensions_mut()
2560 .insert(
2561 GrpcMethod::new(
2562 "nominal.ai.v1.AIAgentService",
2563 "AnswerShouldKnowOffer",
2564 ),
2565 );
2566 self.inner.unary(req, path, codec).await
2567 }
2568 pub async fn create_experiment_event(
2569 &mut self,
2570 request: impl tonic::IntoRequest<super::CreateExperimentEventRequest>,
2571 ) -> std::result::Result<
2572 tonic::Response<super::CreateExperimentEventResponse>,
2573 tonic::Status,
2574 > {
2575 self.inner
2576 .ready()
2577 .await
2578 .map_err(|e| {
2579 tonic::Status::unknown(
2580 format!("Service was not ready: {}", e.into()),
2581 )
2582 })?;
2583 let codec = tonic::codec::ProstCodec::default();
2584 let path = http::uri::PathAndQuery::from_static(
2585 "/nominal.ai.v1.AIAgentService/CreateExperimentEvent",
2586 );
2587 let mut req = request.into_request();
2588 req.extensions_mut()
2589 .insert(
2590 GrpcMethod::new(
2591 "nominal.ai.v1.AIAgentService",
2592 "CreateExperimentEvent",
2593 ),
2594 );
2595 self.inner.unary(req, path, codec).await
2596 }
2597 }
2598}
2599#[derive(Clone, PartialEq, ::prost::Message)]
2600pub struct ClassifyErrorRequest {
2601 #[prost(string, tag = "1")]
2602 pub error_message: ::prost::alloc::string::String,
2603}
2604#[derive(Clone, PartialEq, ::prost::Message)]
2605pub struct ClassifyErrorResponse {
2606 #[prost(enumeration = "ErrorClassification", tag = "1")]
2607 pub classification: i32,
2608 #[prost(string, tag = "2")]
2609 pub reason: ::prost::alloc::string::String,
2610}
2611#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2612#[repr(i32)]
2613pub enum ErrorClassification {
2614 Unspecified = 0,
2615 Client = 1,
2616 Server = 2,
2617}
2618impl ErrorClassification {
2619 pub fn as_str_name(&self) -> &'static str {
2624 match self {
2625 Self::Unspecified => "ERROR_CLASSIFICATION_UNSPECIFIED",
2626 Self::Client => "ERROR_CLASSIFICATION_CLIENT",
2627 Self::Server => "ERROR_CLASSIFICATION_SERVER",
2628 }
2629 }
2630 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2632 match value {
2633 "ERROR_CLASSIFICATION_UNSPECIFIED" => Some(Self::Unspecified),
2634 "ERROR_CLASSIFICATION_CLIENT" => Some(Self::Client),
2635 "ERROR_CLASSIFICATION_SERVER" => Some(Self::Server),
2636 _ => None,
2637 }
2638 }
2639}
2640pub mod data_ingestion_error_classifier_service_client {
2642 #![allow(
2643 unused_variables,
2644 dead_code,
2645 missing_docs,
2646 clippy::wildcard_imports,
2647 clippy::let_unit_value,
2648 )]
2649 use tonic::codegen::*;
2650 use tonic::codegen::http::Uri;
2651 #[derive(Debug, Clone)]
2652 pub struct DataIngestionErrorClassifierServiceClient<T> {
2653 inner: tonic::client::Grpc<T>,
2654 }
2655 impl DataIngestionErrorClassifierServiceClient<tonic::transport::Channel> {
2656 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
2658 where
2659 D: TryInto<tonic::transport::Endpoint>,
2660 D::Error: Into<StdError>,
2661 {
2662 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
2663 Ok(Self::new(conn))
2664 }
2665 }
2666 impl<T> DataIngestionErrorClassifierServiceClient<T>
2667 where
2668 T: tonic::client::GrpcService<tonic::body::Body>,
2669 T::Error: Into<StdError>,
2670 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
2671 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
2672 {
2673 pub fn new(inner: T) -> Self {
2674 let inner = tonic::client::Grpc::new(inner);
2675 Self { inner }
2676 }
2677 pub fn with_origin(inner: T, origin: Uri) -> Self {
2678 let inner = tonic::client::Grpc::with_origin(inner, origin);
2679 Self { inner }
2680 }
2681 pub fn with_interceptor<F>(
2682 inner: T,
2683 interceptor: F,
2684 ) -> DataIngestionErrorClassifierServiceClient<InterceptedService<T, F>>
2685 where
2686 F: tonic::service::Interceptor,
2687 T::ResponseBody: Default,
2688 T: tonic::codegen::Service<
2689 http::Request<tonic::body::Body>,
2690 Response = http::Response<
2691 <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
2692 >,
2693 >,
2694 <T as tonic::codegen::Service<
2695 http::Request<tonic::body::Body>,
2696 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
2697 {
2698 DataIngestionErrorClassifierServiceClient::new(
2699 InterceptedService::new(inner, interceptor),
2700 )
2701 }
2702 #[must_use]
2707 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
2708 self.inner = self.inner.send_compressed(encoding);
2709 self
2710 }
2711 #[must_use]
2713 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
2714 self.inner = self.inner.accept_compressed(encoding);
2715 self
2716 }
2717 #[must_use]
2721 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
2722 self.inner = self.inner.max_decoding_message_size(limit);
2723 self
2724 }
2725 #[must_use]
2729 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
2730 self.inner = self.inner.max_encoding_message_size(limit);
2731 self
2732 }
2733 pub async fn classify_error(
2734 &mut self,
2735 request: impl tonic::IntoRequest<super::ClassifyErrorRequest>,
2736 ) -> std::result::Result<
2737 tonic::Response<super::ClassifyErrorResponse>,
2738 tonic::Status,
2739 > {
2740 self.inner
2741 .ready()
2742 .await
2743 .map_err(|e| {
2744 tonic::Status::unknown(
2745 format!("Service was not ready: {}", e.into()),
2746 )
2747 })?;
2748 let codec = tonic::codec::ProstCodec::default();
2749 let path = http::uri::PathAndQuery::from_static(
2750 "/nominal.ai.v1.DataIngestionErrorClassifierService/ClassifyError",
2751 );
2752 let mut req = request.into_request();
2753 req.extensions_mut()
2754 .insert(
2755 GrpcMethod::new(
2756 "nominal.ai.v1.DataIngestionErrorClassifierService",
2757 "ClassifyError",
2758 ),
2759 );
2760 self.inner.unary(req, path, codec).await
2761 }
2762 }
2763}
2764#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2765pub struct GetProviderStatusRequest {}
2766#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2767pub struct GetProviderStatusResponse {
2768 #[prost(message, optional, tag = "1")]
2769 pub timestamp: ::core::option::Option<
2770 super::super::super::google::protobuf::Timestamp,
2771 >,
2772 #[prost(message, optional, tag = "2")]
2773 pub last_status: ::core::option::Option<ProviderStatus>,
2774 #[deprecated]
2775 #[prost(message, optional, tag = "3")]
2776 pub aggregated_status_over_last_30m: ::core::option::Option<ProviderStatus>,
2777 #[prost(message, optional, tag = "4")]
2778 pub aggregated_status: ::core::option::Option<ProviderStatus>,
2779}
2780#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2781pub struct ProviderStatus {
2782 #[prost(oneof = "provider_status::Status", tags = "1, 2")]
2783 pub status: ::core::option::Option<provider_status::Status>,
2784}
2785pub mod provider_status {
2787 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
2788 pub enum Status {
2789 #[prost(message, tag = "1")]
2790 Healthy(super::Healthy),
2791 #[prost(message, tag = "2")]
2792 Degraded(super::Degraded),
2793 }
2794}
2795#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2796pub struct Healthy {}
2797#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2798pub struct Degraded {
2799 #[prost(enumeration = "DegradationReason", tag = "1")]
2800 pub reason: i32,
2801}
2802#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2803pub struct ProviderMetrics {
2804 #[prost(int32, tag = "1")]
2805 pub time_to_first_token_ms: i32,
2806 #[prost(int32, tag = "2")]
2807 pub total_time_ms: i32,
2808}
2809#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2810#[repr(i32)]
2811pub enum DegradationReason {
2812 Unspecified = 0,
2813 HighLatency = 1,
2814 Failures = 2,
2815 HighLatencyAndFailures = 3,
2816 Unavailable = 4,
2817}
2818impl DegradationReason {
2819 pub fn as_str_name(&self) -> &'static str {
2824 match self {
2825 Self::Unspecified => "DEGRADATION_REASON_UNSPECIFIED",
2826 Self::HighLatency => "DEGRADATION_REASON_HIGH_LATENCY",
2827 Self::Failures => "DEGRADATION_REASON_FAILURES",
2828 Self::HighLatencyAndFailures => {
2829 "DEGRADATION_REASON_HIGH_LATENCY_AND_FAILURES"
2830 }
2831 Self::Unavailable => "DEGRADATION_REASON_UNAVAILABLE",
2832 }
2833 }
2834 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2836 match value {
2837 "DEGRADATION_REASON_UNSPECIFIED" => Some(Self::Unspecified),
2838 "DEGRADATION_REASON_HIGH_LATENCY" => Some(Self::HighLatency),
2839 "DEGRADATION_REASON_FAILURES" => Some(Self::Failures),
2840 "DEGRADATION_REASON_HIGH_LATENCY_AND_FAILURES" => {
2841 Some(Self::HighLatencyAndFailures)
2842 }
2843 "DEGRADATION_REASON_UNAVAILABLE" => Some(Self::Unavailable),
2844 _ => None,
2845 }
2846 }
2847}
2848pub mod model_provider_health_service_client {
2850 #![allow(
2851 unused_variables,
2852 dead_code,
2853 missing_docs,
2854 clippy::wildcard_imports,
2855 clippy::let_unit_value,
2856 )]
2857 use tonic::codegen::*;
2858 use tonic::codegen::http::Uri;
2859 #[derive(Debug, Clone)]
2860 pub struct ModelProviderHealthServiceClient<T> {
2861 inner: tonic::client::Grpc<T>,
2862 }
2863 impl ModelProviderHealthServiceClient<tonic::transport::Channel> {
2864 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
2866 where
2867 D: TryInto<tonic::transport::Endpoint>,
2868 D::Error: Into<StdError>,
2869 {
2870 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
2871 Ok(Self::new(conn))
2872 }
2873 }
2874 impl<T> ModelProviderHealthServiceClient<T>
2875 where
2876 T: tonic::client::GrpcService<tonic::body::Body>,
2877 T::Error: Into<StdError>,
2878 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
2879 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
2880 {
2881 pub fn new(inner: T) -> Self {
2882 let inner = tonic::client::Grpc::new(inner);
2883 Self { inner }
2884 }
2885 pub fn with_origin(inner: T, origin: Uri) -> Self {
2886 let inner = tonic::client::Grpc::with_origin(inner, origin);
2887 Self { inner }
2888 }
2889 pub fn with_interceptor<F>(
2890 inner: T,
2891 interceptor: F,
2892 ) -> ModelProviderHealthServiceClient<InterceptedService<T, F>>
2893 where
2894 F: tonic::service::Interceptor,
2895 T::ResponseBody: Default,
2896 T: tonic::codegen::Service<
2897 http::Request<tonic::body::Body>,
2898 Response = http::Response<
2899 <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
2900 >,
2901 >,
2902 <T as tonic::codegen::Service<
2903 http::Request<tonic::body::Body>,
2904 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
2905 {
2906 ModelProviderHealthServiceClient::new(
2907 InterceptedService::new(inner, interceptor),
2908 )
2909 }
2910 #[must_use]
2915 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
2916 self.inner = self.inner.send_compressed(encoding);
2917 self
2918 }
2919 #[must_use]
2921 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
2922 self.inner = self.inner.accept_compressed(encoding);
2923 self
2924 }
2925 #[must_use]
2929 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
2930 self.inner = self.inner.max_decoding_message_size(limit);
2931 self
2932 }
2933 #[must_use]
2937 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
2938 self.inner = self.inner.max_encoding_message_size(limit);
2939 self
2940 }
2941 pub async fn get_provider_status(
2942 &mut self,
2943 request: impl tonic::IntoRequest<super::GetProviderStatusRequest>,
2944 ) -> std::result::Result<
2945 tonic::Response<super::GetProviderStatusResponse>,
2946 tonic::Status,
2947 > {
2948 self.inner
2949 .ready()
2950 .await
2951 .map_err(|e| {
2952 tonic::Status::unknown(
2953 format!("Service was not ready: {}", e.into()),
2954 )
2955 })?;
2956 let codec = tonic::codec::ProstCodec::default();
2957 let path = http::uri::PathAndQuery::from_static(
2958 "/nominal.ai.v1.ModelProviderHealthService/GetProviderStatus",
2959 );
2960 let mut req = request.into_request();
2961 req.extensions_mut()
2962 .insert(
2963 GrpcMethod::new(
2964 "nominal.ai.v1.ModelProviderHealthService",
2965 "GetProviderStatus",
2966 ),
2967 );
2968 self.inner.unary(req, path, codec).await
2969 }
2970 }
2971}