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