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