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