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