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